Эх сурвалжийг харах

Merge pull request #21 from debsahu/master

Added Support for AsyncDNSServer
Alan Steremberg 7 жил өмнө
parent
commit
d29a81834a

+ 12 - 2
ESPAsyncWiFiManager.cpp

@@ -61,7 +61,11 @@ const char* AsyncWiFiManagerParameter::getCustomHTML() {
   return _customHTML;
 }
 
+#ifdef USE_EADNS
+AsyncWiFiManager::AsyncWiFiManager(AsyncWebServer *server, AsyncDNSServer *dns) :server(server), dnsServer(dns) {
+#else
 AsyncWiFiManager::AsyncWiFiManager(AsyncWebServer *server, DNSServer *dns) :server(server), dnsServer(dns) {
+#endif
   wifiSSIDs = NULL;
   wifiSSIDscan=true;
   _modeless=false;
@@ -415,7 +419,9 @@ void AsyncWiFiManager::criticalLoop(){
  * Anything that doesn't access WiFi, ESP or EEPROM can go here
  */
 void AsyncWiFiManager::safeLoop(){
+  #ifndef USE_EADNS	
   dnsServer->processNextRequest();
+  #endif
 }
 
 boolean  AsyncWiFiManager::startConfigPortal(char const *apName, char const *apPassword) {
@@ -436,7 +442,7 @@ boolean  AsyncWiFiManager::startConfigPortal(char const *apName, char const *apP
   scannow= -1 ;
   while (_configPortalTimeout == 0 || millis() < _configPortalStart + _configPortalTimeout) {
     //DNS
-    dnsServer->processNextRequest();
+    //dnsServer->processNextRequest();
 
     //
     //  we should do a scan every so often here
@@ -482,8 +488,12 @@ boolean  AsyncWiFiManager::startConfigPortal(char const *apName, char const *apP
     yield();
   }
 
-  dnsServer=(new DNSServer());
   server->reset();
+  #ifdef USE_EADNS
+  *dnsServer=AsyncDNSServer();
+  #else
+  *dnsServer=DNSServer();
+  #endif
 
   return  WiFi.status() == WL_CONNECTED;
 }

+ 15 - 0
ESPAsyncWiFiManager.h

@@ -22,7 +22,14 @@
 #define ESP_WPS_MODE WPS_TYPE_PBC
 #endif
 #include <ESPAsyncWebServer.h>
+
+//#define USE_EADNS               //Uncomment to use ESPAsyncDNSServer
+#ifdef USE_EADNS
+#include <ESPAsyncDNSServer.h>    //https://github.com/devyte/ESPAsyncDNSServer
+                                  //https://github.com/me-no-dev/ESPAsyncUDP
+#else
 #include <DNSServer.h>
+#endif
 #include <memory>
 
 #if defined(ESP8266)
@@ -93,7 +100,11 @@ public:
 class AsyncWiFiManager
 {
 public:
+  #ifdef USE_EADNS
+  AsyncWiFiManager(AsyncWebServer * server, AsyncDNSServer *dns);
+  #else
   AsyncWiFiManager(AsyncWebServer * server, DNSServer *dns);
+  #endif
 
   void          scan();
   String        scanModal();
@@ -147,7 +158,11 @@ public:
   void          setRemoveDuplicateAPs(boolean removeDuplicates);
 
 private:
+  #ifdef USE_EADNS
+  AsyncDNSServer      *dnsServer;
+  #else
   DNSServer      *dnsServer;
+  #endif
   AsyncWebServer *server;
 
 

+ 0 - 1
examples/AutoConnect/AutoConnect.ino

@@ -5,7 +5,6 @@
 #endif
 
 //needed for library
-#include <DNSServer.h>
 #include <ESPAsyncWebServer.h>
 #include <ESPAsyncWiFiManager.h>         //https://github.com/tzapu/WiFiManager
 

+ 0 - 1
examples/AutoConnectWithFSParameters/AutoConnectWithFSParameters.ino

@@ -7,7 +7,6 @@
 #endif
 
 //needed for library
-#include <DNSServer.h>
 #include <ESPAsyncWebServer.h>
 #include <ESPAsyncWiFiManager.h>         //https://github.com/tzapu/WiFiManager
 

+ 0 - 1
examples/AutoConnectWithFSParametersAndCustomIP/AutoConnectWithFSParametersAndCustomIP.ino

@@ -7,7 +7,6 @@
 #endif
 
 //needed for library
-#include <DNSServer.h>
 #include <ESPAsyncWebServer.h>
 #include <ESPAsyncWiFiManager.h>         //https://github.com/tzapu/WiFiManager
 

+ 0 - 1
examples/AutoConnectWithFeedback/AutoConnectWithFeedback.ino

@@ -5,7 +5,6 @@
 #endif
 
 //needed for library
-#include <DNSServer.h>
 #include <ESPAsyncWebServer.h>
 #include <ESPAsyncWiFiManager.h>         //https://github.com/tzapu/WiFiManager
 

+ 0 - 1
examples/AutoConnectWithFeedbackLED/AutoConnectWithFeedbackLED.ino

@@ -5,7 +5,6 @@
 #endif
 
 //needed for library
-#include <DNSServer.h>
 #include <ESPAsyncWebServer.h>
 #include <ESPAsyncWiFiManager.h>         //https://github.com/tzapu/WiFiManager
 

+ 0 - 1
examples/AutoConnectWithReset/AutoConnectWithReset.ino

@@ -7,7 +7,6 @@
 #endif
 
 //needed for library
-#include <DNSServer.h>
 #include <ESPAsyncWebServer.h>
 #include <ESPAsyncWiFiManager.h>         //https://github.com/tzapu/WiFiManager
 

+ 0 - 1
examples/AutoConnectWithStaticIP/AutoConnectWithStaticIP.ino

@@ -7,7 +7,6 @@
 #endif
 
 //needed for library
-#include <DNSServer.h>
 #include <ESPAsyncWebServer.h>
 #include <ESPAsyncWiFiManager.h>         //https://github.com/tzapu/WiFiManager
 

+ 0 - 1
examples/AutoConnectWithTimeout/AutoConnectWithTimeout.ino

@@ -5,7 +5,6 @@
 #endif
 
 //needed for library
-#include <DNSServer.h>
 #include <ESPAsyncWebServer.h>
 #include <ESPAsyncWiFiManager.h>         //https://github.com/tzapu/WiFiManager
 

+ 0 - 1
examples/ModelessConnect/ModelessConnect.ino

@@ -5,7 +5,6 @@
 #endif
 
 //needed for library
-#include <DNSServer.h>
 #include <ESPAsyncWebServer.h>
 #include <ESPAsyncWiFiManager.h>         //https://github.com/tzapu/WiFiManager
 

+ 0 - 2
examples/ModelessWithInterrupts/ModelessWithInterrupts.ino

@@ -5,7 +5,6 @@
 #endif
 
 //needed for library
-#include <DNSServer.h>
 #include <ESPAsyncWebServer.h>
 #include <ESPAsyncWiFiManager.h>         //https://github.com/tzapu/WiFiManager
 
@@ -71,7 +70,6 @@ void setup() {
 	timer0_isr_init();
 	timer0_attachInterrupt(interruptFunction);
 	timer0_write(ESP.getCycleCount() + ESP.getCpuFreqMHz() * 1024);	// Wait 2 seconds before displaying
-	updateDisplay = false;
 }
 
 void loop() {

+ 0 - 1
examples/OnDemandConfigPortal/OnDemandConfigPortal.ino

@@ -5,7 +5,6 @@
 #endif
 
 //needed for library
-#include <DNSServer.h>
 #include <ESPAsyncWebServer.h>
 #include <ESPAsyncWiFiManager.h>         //https://github.com/tzapu/WiFiManager
 

+ 1 - 1
library.json

@@ -9,5 +9,5 @@
   },
   "frameworks": "arduino",
   "platforms": ["espressif8266", "espressif32"],
-  "version": "0.14"
+  "version": "0.15"
 }