mirror of
https://github.com/btclock/btclock_v3.git
synced 2024-11-19 06:20:02 +01:00
WiFi reconnect improvement
This commit is contained in:
parent
43b0e9718d
commit
efed8bee5c
2
data
2
data
@ -1 +1 @@
|
|||||||
Subproject commit 3eaf897dbb6d1597ec71b4323ae0d68a02dee9c9
|
Subproject commit d25284e3a47a9efe6c0a8877e8abeac098ced8af
|
@ -49,7 +49,7 @@ void setup()
|
|||||||
|
|
||||||
void tryImprovSetup()
|
void tryImprovSetup()
|
||||||
{
|
{
|
||||||
//WiFi.onEvent(WiFiEvent);
|
WiFi.onEvent(WiFiEvent);
|
||||||
|
|
||||||
if (!preferences.getBool("wifiConfigured", false))
|
if (!preferences.getBool("wifiConfigured", false))
|
||||||
{
|
{
|
||||||
@ -228,7 +228,8 @@ void setupHardware()
|
|||||||
{
|
{
|
||||||
Serial.println(F("An Error has occurred while mounting LittleFS"));
|
Serial.println(F("An Error has occurred while mounting LittleFS"));
|
||||||
}
|
}
|
||||||
if(!LittleFS.open("/index.html", "r")) {
|
|
||||||
|
if(!LittleFS.open("/index.html.gz", "r")) {
|
||||||
Serial.println("Error loading WebUI");
|
Serial.println("Error loading WebUI");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -474,8 +475,10 @@ void improv_set_error(improv::Error error)
|
|||||||
Serial.write(data.data(), data.size());
|
Serial.write(data.data(), data.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
void WiFiEvent(WiFiEvent_t event)
|
void WiFiEvent(WiFiEvent_t event, WiFiEventInfo_t info)
|
||||||
{
|
{
|
||||||
|
static bool first_connect = true;
|
||||||
|
|
||||||
Serial.printf("[WiFi-event] event: %d\n", event);
|
Serial.printf("[WiFi-event] event: %d\n", event);
|
||||||
|
|
||||||
switch (event)
|
switch (event)
|
||||||
@ -496,19 +499,32 @@ void WiFiEvent(WiFiEvent_t event)
|
|||||||
Serial.println("Connected to access point");
|
Serial.println("Connected to access point");
|
||||||
break;
|
break;
|
||||||
case ARDUINO_EVENT_WIFI_STA_DISCONNECTED:
|
case ARDUINO_EVENT_WIFI_STA_DISCONNECTED:
|
||||||
Serial.println("Disconnected from WiFi access point");
|
{
|
||||||
queueLedEffect(LED_EFFECT_WIFI_CONNECT_ERROR);
|
if (!first_connect) {
|
||||||
break;
|
Serial.println("Disconnected from WiFi access point");
|
||||||
|
queueLedEffect(LED_EFFECT_WIFI_CONNECT_ERROR);
|
||||||
|
uint8_t reason = info.wifi_sta_disconnected.reason;
|
||||||
|
if(reason)
|
||||||
|
Serial.printf("Disconnect reason: %s, ", WiFi.disconnectReasonName((wifi_err_reason_t)reason));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case ARDUINO_EVENT_WIFI_STA_AUTHMODE_CHANGE:
|
case ARDUINO_EVENT_WIFI_STA_AUTHMODE_CHANGE:
|
||||||
Serial.println("Authentication mode of access point has changed");
|
Serial.println("Authentication mode of access point has changed");
|
||||||
break;
|
break;
|
||||||
case ARDUINO_EVENT_WIFI_STA_GOT_IP:
|
case ARDUINO_EVENT_WIFI_STA_GOT_IP:
|
||||||
|
{
|
||||||
Serial.print("Obtained IP address: ");
|
Serial.print("Obtained IP address: ");
|
||||||
Serial.println(WiFi.localIP());
|
Serial.println(WiFi.localIP());
|
||||||
|
if (!first_connect)
|
||||||
|
queueLedEffect(LED_EFFECT_WIFI_CONNECT_SUCCESS);
|
||||||
|
first_connect = false;
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case ARDUINO_EVENT_WIFI_STA_LOST_IP:
|
case ARDUINO_EVENT_WIFI_STA_LOST_IP:
|
||||||
Serial.println("Lost IP address and IP address is reset to 0");
|
Serial.println("Lost IP address and IP address is reset to 0");
|
||||||
queueLedEffect(LED_EFFECT_WIFI_CONNECT_ERROR);
|
queueLedEffect(LED_EFFECT_WIFI_CONNECT_ERROR);
|
||||||
|
WiFi.reconnect();
|
||||||
break;
|
break;
|
||||||
case ARDUINO_EVENT_WIFI_AP_START:
|
case ARDUINO_EVENT_WIFI_AP_START:
|
||||||
Serial.println("WiFi access point started");
|
Serial.println("WiFi access point started");
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
#include "lib/button_handler.hpp"
|
#include "lib/button_handler.hpp"
|
||||||
#include "lib/led_handler.hpp"
|
#include "lib/led_handler.hpp"
|
||||||
|
|
||||||
|
|
||||||
#define NTP_SERVER "pool.ntp.org"
|
#define NTP_SERVER "pool.ntp.org"
|
||||||
#define DEFAULT_MEMPOOL_INSTANCE "mempool.space"
|
#define DEFAULT_MEMPOOL_INSTANCE "mempool.space"
|
||||||
#define TIME_OFFSET_SECONDS 3600
|
#define TIME_OFFSET_SECONDS 3600
|
||||||
@ -34,11 +33,6 @@
|
|||||||
#define DEFAULT_FG_COLOR GxEPD_WHITE
|
#define DEFAULT_FG_COLOR GxEPD_WHITE
|
||||||
#define DEFAULT_BG_COLOR GxEPD_BLACK
|
#define DEFAULT_BG_COLOR GxEPD_BLACK
|
||||||
|
|
||||||
#define BITCOIND_HOST ""
|
|
||||||
#define BITCOIND_PORT 8332
|
|
||||||
#define BITCOIND_RPC_USER ""
|
|
||||||
#define BITCOIND_RPC_PASS ""
|
|
||||||
|
|
||||||
void setup();
|
void setup();
|
||||||
void setupTime();
|
void setupTime();
|
||||||
void setupPreferences();
|
void setupPreferences();
|
||||||
@ -58,4 +52,4 @@ void improv_set_state(improv::State state);
|
|||||||
void improv_send_response(std::vector<uint8_t> &response);
|
void improv_send_response(std::vector<uint8_t> &response);
|
||||||
void improv_set_error(improv::Error error);
|
void improv_set_error(improv::Error error);
|
||||||
|
|
||||||
void WiFiEvent(WiFiEvent_t event);
|
void WiFiEvent(WiFiEvent_t event, WiFiEventInfo_t info);
|
@ -28,7 +28,7 @@ void ledTask(void *parameter)
|
|||||||
pixels.clear();
|
pixels.clear();
|
||||||
break;
|
break;
|
||||||
case LED_EFFECT_WIFI_CONNECT_ERROR:
|
case LED_EFFECT_WIFI_CONNECT_ERROR:
|
||||||
blinkDelayTwoColor(100, 1, pixels.Color(8, 161, 236), pixels.Color(255, 0, 0));
|
blinkDelayTwoColor(100, 3, pixels.Color(8, 161, 236), pixels.Color(255, 0, 0));
|
||||||
break;
|
break;
|
||||||
case LED_FLASH_ERROR:
|
case LED_FLASH_ERROR:
|
||||||
blinkDelayColor(250, 3, 255, 0, 0);
|
blinkDelayColor(250, 3, 255, 0, 0);
|
||||||
|
@ -26,6 +26,10 @@ extern "C" void app_main()
|
|||||||
if (eventSourceTaskHandle != NULL)
|
if (eventSourceTaskHandle != NULL)
|
||||||
xTaskNotifyGive(eventSourceTaskHandle);
|
xTaskNotifyGive(eventSourceTaskHandle);
|
||||||
|
|
||||||
|
if (!WiFi.isConnected()) {
|
||||||
|
WiFi.begin();
|
||||||
|
}
|
||||||
|
|
||||||
vTaskDelay(pdMS_TO_TICKS(5000));
|
vTaskDelay(pdMS_TO_TICKS(5000));
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user