Release v0.4.0: complete rewrite #1

Merged
admar merged 13 commits from Plus-Claire into main 2024-09-24 21:54:12 +02:00
3 changed files with 58 additions and 18 deletions
Showing only changes of commit 93d5240443 - Show all commits

View file

@ -7,8 +7,21 @@
#define TICKER_RATE_CONFIG 0.2
#define TICKER_RATE_ERASE 0.05
#ifndef LED_BUILTIN
#define LED_BUILTIN 2
#endif
#ifndef BUTTON_BUILTIN
#define BUTTON_BUILTIN 0
#endif
#define CONNECT_BUTTON BUTTON_BUILTIN
void wifiManagerCb(WiFiManager::Status status);
void set_blink_rate(float interval);
void connect();
void resetSettings();
#endif // __WIFIHANDLER_HPP__

View file

@ -15,39 +15,38 @@ static void tick(void) {
}
}
void wifiManagerCb(WiFiManager::Status status) {
void set_blink_rate(float interval) {
if (ticker.active()) {
ticker.detach();
}
if (interval > 0.0f) {
ticker.attach(interval, tick);
}
}
void wifiManagerCb(WiFiManager::Status status) {
if (status.mode == WiFiManager::Mode::CONNECTING) {
ticker.attach(TICKER_RATE_CONNECTING, tick);
Serial.println("CONNECTING");
set_blink_rate(TICKER_RATE_CONNECTING);
} else if (status.mode == WiFiManager::Mode::SCANNING) {
ticker.attach(TICKER_RATE_CONNECTING, tick);
Serial.println("SCANNING");
set_blink_rate(TICKER_RATE_CONNECTING);
} else if (status.mode == WiFiManager::Mode::PORTAL) {
ticker.attach(TICKER_RATE_CONFIG, tick);
Serial.println("PORTAL");
set_blink_rate(TICKER_RATE_CONFIG);
} else if (status.mode == WiFiManager::Mode::ERASING) {
ticker.attach(TICKER_RATE_ERASE, tick);
Serial.println("ERASING");
set_blink_rate(TICKER_RATE_ERASE);
} else if (status.mode == WiFiManager::Mode::CONNECTED) {
set_blink_rate(0.0f);
digitalWrite(LED_BUILTIN, HIGH);
Serial.println("CONNECTED");
} else if (status.mode == WiFiManager::Mode::DISCONNECTED) {
set_blink_rate(0.0f);
digitalWrite(LED_BUILTIN, LOW);
Serial.println("DISCONNECTED");
}
}
void connect() {
Serial.begin(115200);
// wifiManager.resetSettings();
// wifiManager.configure("esp32-", true, LED_BUILTIN, true, BUTTON_BUILTIN,
// false);
wifiManager.configure("Claire", true, wifiManagerCb, BUTTON_BUILTIN, false);
wifiManager.configure("Claire", wifiManagerCb);
// fetches ssid and pass and tries to connect
// if it does not connect it starts an access point
@ -64,5 +63,19 @@ void connect() {
Serial.println(WiFi.localIP());
// keep LED on
digitalWrite(LED_BUILTIN, LED_ON_VALUE_DEFAULT);
digitalWrite(LED_BUILTIN, HIGH);
}
void resetSettings() {
WiFiManager::Status status = {.wifi_status = 0U, .mode = WiFiManager::Mode::ERASING};
Serial.println("resetting wifi settings...");
wifiManagerCb(status);
wifiManager.resetSettings();
delay(1000);
status.mode = WiFiManager::Mode::DISCONNECTED;
wifiManagerCb(status);
return;
}

View file

@ -7,6 +7,21 @@ DESPatch dESPatch;
void setup() {
Serial.begin(115200);
pinMode(LED_BUILTIN, OUTPUT);
set_blink_rate(TICKER_RATE_CONNECTING);
pinMode(CONNECT_BUTTON, INPUT);
if (CONNECT_BUTTON >= 0) {
// Give user 3 second chance to press button and reset settings
Serial.println("Waiting 3 seconds to check if user presses the button");
delay(3000);
if (not digitalRead(CONNECT_BUTTON)) {
resetSettings();
}
}
connect();
const char url[] =
@ -18,11 +33,10 @@ void setup() {
Serial.print("dESPatch.configure() returned with code ");
Serial.println(x);
Serial.println(":-)");
}
void loop(void) {
Serial.println("hello :-)");
dESPatch.checkForUpdate(true);
delay(500);
delay(5000);
}