fixed ws ping timer

This commit is contained in:
2026-04-21 23:30:08 +02:00
parent a9d5bcfd66
commit dc56990f1e
2 changed files with 9 additions and 6 deletions

View File

@@ -9,7 +9,7 @@ void on_ping(TimerHandle_t xTimer)
ws->cleanupClients(); ws->cleanupClients();
} }
AstroWebServer::AstroWebServer(const uint8_t port, fs::FS &filesystem) : m_port(port), m_webserver(AsyncWebServer(port)), m_websocket(AsyncWebSocket("/ws")), m_filesystem(filesystem) AstroWebServer::AstroWebServer(const uint8_t port, fs::FS &filesystem) : c_port(port), m_webserver(AsyncWebServer(port)), m_websocket(AsyncWebSocket("/ws")), m_filesystem(filesystem)
{ {
LOG_DEBUG("Initializing Web Server"); LOG_DEBUG("Initializing Web Server");
m_websocket.onEvent([this](AsyncWebSocket *server, AsyncWebSocketClient *client, m_websocket.onEvent([this](AsyncWebSocket *server, AsyncWebSocketClient *client,
@@ -26,7 +26,8 @@ AstroWebServer::AstroWebServer(const uint8_t port, fs::FS &filesystem) : m_port(
m_webserver.begin(); m_webserver.begin();
m_websocket.enable(true); m_websocket.enable(true);
m_pingTimer = xTimerCreate("wsPingTimer", pdMS_TO_TICKS(2000), pdTRUE, (void *)&m_websocket, on_ping); m_pingTimer = xTimerCreate("wsPingTimer", pdMS_TO_TICKS(c_pingTime), pdTRUE, (void *)&m_websocket, on_ping);
xTimerStart(m_pingTimer, pdMS_TO_TICKS(10));
registerWsCommand("setTime", [this](const ArduinoJson::JsonDocument &doc) registerWsCommand("setTime", [this](const ArduinoJson::JsonDocument &doc)
{ onSetTme(doc); }); { onSetTme(doc); });
@@ -36,6 +37,7 @@ AstroWebServer::AstroWebServer(const uint8_t port, fs::FS &filesystem) : m_port(
AstroWebServer::~AstroWebServer() AstroWebServer::~AstroWebServer()
{ {
xTimerStop(m_pingTimer, 0);
xTimerDelete(m_pingTimer, pdMS_TO_TICKS(10)); xTimerDelete(m_pingTimer, pdMS_TO_TICKS(10));
m_webserver.removeHandler(&m_websocket); m_webserver.removeHandler(&m_websocket);
m_webserver.end(); m_webserver.end();

View File

@@ -35,7 +35,8 @@ private:
void onSetTme(const ArduinoJson::JsonDocument &doc); void onSetTme(const ArduinoJson::JsonDocument &doc);
private: private:
const uint8_t m_port = 80; const uint8_t c_port = 80;
const uint32_t c_pingTime = 5000;
fs::FS &m_filesystem; fs::FS &m_filesystem;
AsyncWebServer m_webserver; AsyncWebServer m_webserver;
AsyncWebSocket m_websocket; AsyncWebSocket m_websocket;