2 Commits

Author SHA1 Message Date
Obbart dc56990f1e fixed ws ping timer 2026-04-21 23:30:08 +02:00
Obbart a9d5bcfd66 fixed pinmap 2026-04-21 23:29:48 +02:00
4 changed files with 16 additions and 12 deletions
+1
View File
@@ -35,6 +35,7 @@ build_flags =
-DCONFIG_ASYNC_TCP_QUEUE_SIZE=64 -DCONFIG_ASYNC_TCP_QUEUE_SIZE=64
-DCONFIG_ASYNC_TCP_RUNNING_CORE=1 -DCONFIG_ASYNC_TCP_RUNNING_CORE=1
-DCONFIG_ASYNC_TCP_STACK_SIZE=4096 -DCONFIG_ASYNC_TCP_STACK_SIZE=4096
-fstack-protector-strong
[env:esp32-s3-devkitc1-n16r8-debug] [env:esp32-s3-devkitc1-n16r8-debug]
board = ${env:esp32-s3-devkitc1-n16r8.board} board = ${env:esp32-s3-devkitc1-n16r8.board}
+6 -6
View File
@@ -41,7 +41,7 @@
// I2C BUS (PCA9555) // I2C BUS (PCA9555)
// ===================== // =====================
#define SDA 21 #define SDA 21
#define SCL 38 #define SCL 47
// ===================== // =====================
// ADC CONTROL // ADC CONTROL
@@ -50,7 +50,7 @@
#define ADC_A_DRDY 13 #define ADC_A_DRDY 13
#define ADC_B_CS 3 #define ADC_B_CS 3
#define ADC_B_DRDY 9 #define ADC_B_DRDY 46
// ===================== // =====================
// TRIGGER INPUT INTERRUPTS // TRIGGER INPUT INTERRUPTS
@@ -85,7 +85,7 @@
// ===================== // =====================
// PCA9555 I/O EXPANDER BOX_A (OUT) // PCA9555 I/O EXPANDER BOX_A (OUT)
// ===================== // =====================
#define EXPANDER_A_OUT_ADDR 0xFF #define EXPANDER_A_OUT_ADDR 0x7F
// --- DIGITAL POT CHIP SELECT LINES --- // --- DIGITAL POT CHIP SELECT LINES ---
#define POT_CS_A12 PIN2ADDR(0, EXPANDER_A_OUT_ADDR) #define POT_CS_A12 PIN2ADDR(0, EXPANDER_A_OUT_ADDR)
@@ -111,7 +111,7 @@
// ===================== // =====================
// PCA9555 I/O EXPANDER BOX_A (IN) // PCA9555 I/O EXPANDER BOX_A (IN)
// ===================== // =====================
#define EXPANDER_A_IN_ADDR 0xFF #define EXPANDER_A_IN_ADDR 0x7F
#define SS_A12_ON PIN2ADDR(0, EXPANDER_A_IN_ADDR) #define SS_A12_ON PIN2ADDR(0, EXPANDER_A_IN_ADDR)
#define SS_A12_OFF PIN2ADDR(1, EXPANDER_A_IN_ADDR) #define SS_A12_OFF PIN2ADDR(1, EXPANDER_A_IN_ADDR)
@@ -121,7 +121,7 @@
// ===================== // =====================
// PCA9555 I/O EXPANDER BOX_B (OUT) // PCA9555 I/O EXPANDER BOX_B (OUT)
// ===================== // =====================
#define EXPANDER_B_OUT_ADDR 0xFF #define EXPANDER_B_OUT_ADDR 0x7F
// --- DIGITAL POT CHIP SELECT LINES --- // --- DIGITAL POT CHIP SELECT LINES ---
#define POT_CS_B12 PIN2ADDR(0, EXPANDER_B_OUT_ADDR) #define POT_CS_B12 PIN2ADDR(0, EXPANDER_B_OUT_ADDR)
@@ -147,7 +147,7 @@
// ===================== // =====================
// PCA9555 I/O EXPANDER BOX_B (IN) // PCA9555 I/O EXPANDER BOX_B (IN)
// ===================== // =====================
#define EXPANDER_B_IN_ADDR 0xFF #define EXPANDER_B_IN_ADDR 0x7F
#define SS_B12_ON PIN2ADDR(0, EXPANDER_B_IN_ADDR) #define SS_B12_ON PIN2ADDR(0, EXPANDER_B_IN_ADDR)
#define SS_B12_OFF PIN2ADDR(1, EXPANDER_B_IN_ADDR) #define SS_B12_OFF PIN2ADDR(1, EXPANDER_B_IN_ADDR)
+7 -5
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();
@@ -69,13 +71,13 @@ void AstroWebServer::onWsEvent(AsyncWebSocket *server, AsyncWebSocketClient *cli
switch (type) switch (type)
{ {
case WS_EVT_CONNECT: case WS_EVT_CONNECT:
LOG_DEBUG("WS client IP[", client->remoteIP().toString().c_str(), "]-ID[", client->id(), "] CONNECTED"); LOG_DEBUG("WS client IP [", client->remoteIP().toString().c_str(), "]-ID [", client->id(), "] CONNECTED");
break; break;
case WS_EVT_DISCONNECT: case WS_EVT_DISCONNECT:
LOG_DEBUG("WS client IP[", client->remoteIP().toString().c_str(), "]-ID[", client->id(), "] DISCONNECTED"); LOG_DEBUG("WS client IP [", client->remoteIP().toString().c_str(), "]-ID [", client->id(), "] DISCONNECTED");
break; break;
case WS_EVT_PONG: case WS_EVT_PONG:
LOG_DEBUG("WS client IP[", client->remoteIP().toString().c_str(), "]-ID[", client->id(), "] PONG"); LOG_DEBUG("WS client IP [", client->remoteIP().toString().c_str(), "]-ID [", client->id(), "] PONG");
break; break;
case WS_EVT_DATA: case WS_EVT_DATA:
{ {
+2 -1
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;