Skip to content
This repository was archived by the owner on Feb 4, 2023. It is now read-only.

Commit edfaa5e

Browse files
authored
v1.1.1
### Releases v1.1.1 1. Clean-up all compiler warnings possible. 2. Add Table of Contents 3. Modify Version String
1 parent 98d6397 commit edfaa5e

File tree

7 files changed

+878
-113
lines changed

7 files changed

+878
-113
lines changed

README.md

Lines changed: 212 additions & 40 deletions
Large diffs are not rendered by default.
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/****************************************************************************************************************************
2+
Async_ConfigOnDoubleReset_minimal.ino
3+
For ESP8266 / ESP32 boards
4+
Built by Khoi Hoang https://github.com/khoih-prog/ESP_WiFiManager
5+
Licensed under MIT license
6+
*****************************************************************************************************************************/
7+
#if defined(ESP32)
8+
#define USE_SPIFFS true
9+
#define ESP_DRD_USE_EEPROM true
10+
#else
11+
#error This code is intended to run on the ESP32 platform! Please check your Tools->Board setting.
12+
#endif
13+
#include <ESP_WiFiManager.h> //https://github.com/khoih-prog/ESP_WiFiManager
14+
#define DRD_TIMEOUT 10
15+
#define DRD_ADDRESS 0
16+
#include <ESP_DoubleResetDetector.h> //https://github.com/khoih-prog/ESP_DoubleResetDetector
17+
DoubleResetDetector* drd;
18+
const int PIN_LED = 2;
19+
bool initialConfig = false;
20+
21+
void setup() {
22+
pinMode(PIN_LED, OUTPUT);
23+
Serial.begin(115200); while (!Serial); delay(200);
24+
Serial.print(F("\nStarting ConfigOnDoubleReset_minimal on ")); Serial.println(ARDUINO_BOARD);
25+
Serial.println(ESP_WIFIMANAGER_VERSION);
26+
drd = new DoubleResetDetector(DRD_TIMEOUT, DRD_ADDRESS);
27+
if (drd->detectDoubleReset()) { Serial.println(F("DRD")); initialConfig = true; }
28+
ESP_WiFiManager ESP_wifiManager("ConfigOnDoubleReset");
29+
if (ESP_wifiManager.WiFi_SSID() == "") { Serial.println(F("No AP credentials")); initialConfig = true; }
30+
if (initialConfig) {
31+
Serial.println(F("Starting Config Portal")); digitalWrite(PIN_LED, HIGH);
32+
if (!ESP_wifiManager.startConfigPortal()) { Serial.println(F("Not connected to WiFi")); }
33+
else { Serial.println(F("connected")); }
34+
}
35+
else { WiFi.mode(WIFI_STA); WiFi.begin(); }
36+
unsigned long startedAt = millis();
37+
digitalWrite(PIN_LED, LOW); Serial.print(F("After waiting "));
38+
int connRes = WiFi.waitForConnectResult();
39+
float waited = (millis() - startedAt);
40+
Serial.print(waited / 1000); Serial.print(F(" secs , Connection result is ")); Serial.println(connRes);
41+
if (WiFi.status() != WL_CONNECTED) { Serial.println(F("Failed to connect")); }
42+
else { Serial.print(F("Local IP: ")); Serial.println(WiFi.localIP()); }
43+
}
44+
void loop() { drd->loop(); }
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/****************************************************************************************************************************
2+
Async_ConfigOnDoubleReset_minimal.ino
3+
For ESP8266 / ESP32 boards
4+
Built by Khoi Hoang https://github.com/khoih-prog/ESP_WiFiManager
5+
Licensed under MIT license
6+
*****************************************************************************************************************************/
7+
#if defined(ESP8266)
8+
#define USE_LITTLEFS true
9+
#define ESP_DRD_USE_LITTLEFS true
10+
#else
11+
#error This code is intended to run on the ESP8266 or ESP32 platform! Please check your Tools->Board setting.
12+
#endif
13+
#include <ESP_WiFiManager.h> //https://github.com/khoih-prog/ESP_WiFiManager
14+
#define DRD_TIMEOUT 10
15+
#define DRD_ADDRESS 0
16+
#include <ESP_DoubleResetDetector.h> //https://github.com/khoih-prog/ESP_DoubleResetDetector
17+
DoubleResetDetector* drd;
18+
const int PIN_LED = 2;
19+
bool initialConfig = false;
20+
21+
void setup() {
22+
pinMode(PIN_LED, OUTPUT);
23+
Serial.begin(115200); while (!Serial); delay(200);
24+
Serial.print(F("\nStarting ConfigOnDoubleReset_minimal on ")); Serial.println(ARDUINO_BOARD);
25+
Serial.println(ESP_WIFIMANAGER_VERSION);
26+
if (WiFi.SSID() == "") { Serial.println(F("No AP credentials")); initialConfig = true; }
27+
drd = new DoubleResetDetector(DRD_TIMEOUT, DRD_ADDRESS);
28+
if (drd->detectDoubleReset()) { Serial.println(F("DRD")); initialConfig = true; }
29+
if (initialConfig) {
30+
Serial.println(F("Starting Config Portal")); digitalWrite(PIN_LED, LOW);
31+
ESP_WiFiManager ESP_wifiManager("ConfigOnDoubleReset");
32+
ESP_wifiManager.setConfigPortalTimeout(0);
33+
if (!ESP_wifiManager.startConfigPortal()) { Serial.println(F("Not connected to WiFi")); }
34+
else { Serial.println(F("connected")); }
35+
}
36+
digitalWrite(PIN_LED, HIGH); Serial.print(F("After waiting ")); //WiFi.mode(WIFI_STA);
37+
unsigned long startedAt = millis();
38+
int connRes = WiFi.waitForConnectResult();
39+
float waited = (millis() - startedAt);
40+
Serial.print(waited / 1000); Serial.print(F(" secs , Connection result is ")); Serial.println(connRes);
41+
if (WiFi.status() != WL_CONNECTED) { Serial.println(F("Failed to connect")); }
42+
else { Serial.print(F("Local IP: ")); Serial.println(WiFi.localIP()); }
43+
}
44+
void loop() { drd->loop(); }

0 commit comments

Comments
 (0)