자동로깅 추가, usb port추가

This commit is contained in:
2026-02-27 08:54:14 +00:00
parent 7e0e65297b
commit 961680e5ec
7 changed files with 291 additions and 21 deletions

View File

@@ -172,11 +172,29 @@ void handleWsMessage(uint8_t num, const char *message) {
resp["dataBits"] = serialDataBits;
resp["parity"] = String((char)serialParity);
resp["stopBits"] = serialStopBits;
resp["port"] = serialPort; // 0=UART2, 1=USB
String json;
serializeJson(resp, json);
webSocket.sendTXT(num, json);
}
// --- Switch Serial Port ---
else if (strcmp(cmd, "switch_port") == 0) {
uint8_t port = doc["port"] | 0;
switchSerialPort(port);
StaticJsonDocument<256> resp;
resp["type"] = "serial_config";
resp["baud"] = (uint32_t)serialBaud;
resp["dataBits"] = serialDataBits;
resp["parity"] = String((char)serialParity);
resp["stopBits"] = serialStopBits;
resp["port"] = serialPort;
String json;
serializeJson(resp, json);
webSocket.broadcastTXT(json);
}
// --- System Info (includes RTC + WiFi status) ---
else if (strcmp(cmd, "sysinfo") == 0) {
StaticJsonDocument<768> resp;
@@ -291,6 +309,42 @@ void handleWsMessage(uint8_t num, const char *message) {
serializeJson(resp, json);
webSocket.sendTXT(num, json);
}
// --- Toggle Autostart (persistent logging) ---
else if (strcmp(cmd, "toggle_autostart") == 0) {
bool newState = !sdAutoStart;
sdSetAutoStart(newState);
// If just enabled and not already logging, start now
if (newState && !sdLoggingActive) {
sdStartLogging();
// Also send log_status update
StaticJsonDocument<256> logResp;
logResp["type"] = "log_status";
logResp["active"] = sdLoggingActive;
logResp["file"] = currentLogFileName;
String logJson;
serializeJson(logResp, logJson);
webSocket.broadcastTXT(logJson);
}
StaticJsonDocument<128> resp;
resp["type"] = "autostart_status";
resp["enabled"] = (bool)sdAutoStart;
String json;
serializeJson(resp, json);
webSocket.broadcastTXT(json);
}
// --- Get Autostart Status ---
else if (strcmp(cmd, "get_autostart") == 0) {
StaticJsonDocument<128> resp;
resp["type"] = "autostart_status";
resp["enabled"] = (bool)sdAutoStart;
String json;
serializeJson(resp, json);
webSocket.sendTXT(num, json);
}
}
// ============================================================