Migrate ES3C35P to latest main firmware

This commit is contained in:
Adolfo Reyna
2026-09-10 13:31:10 -04:00
parent 8556103eb1
commit 310b955652
51 changed files with 6873 additions and 181 deletions
@@ -32,6 +32,8 @@
#include "app/manager.h"
#ifdef ESP_PLATFORM
#include <Tactility/mcp/McpSystem.h>
#include <Tactility/settings/McpSettings.h>
#include <esp_chip_info.h>
#include <esp_flash.h>
#include <esp_heap_caps.h>
@@ -213,7 +215,7 @@ bool WebServerService::onStart(ServiceContext& service) {
lock.lock();
g_cachedSettings = settings::webserver::loadOrGetDefault();
g_settingsCached = true;
serverEnabled = g_cachedSettings.webServerEnabled;
serverEnabled = g_cachedSettings.webServerEnabled || settings::mcp::loadOrGetDefault().mcpEnabled;
}
// Subscribe to settings change events to refresh cache
settingsEventSubscription = pubsub->subscribe([](WebServerEvent event) {
@@ -222,6 +224,10 @@ bool WebServerService::onStart(ServiceContext& service) {
lock.lock();
g_cachedSettings = settings::webserver::loadOrGetDefault();
g_settingsCached = true;
const bool enabled = g_cachedSettings.webServerEnabled || settings::mcp::loadOrGetDefault().mcpEnabled;
if (g_webServerInstance.load() != nullptr) {
g_webServerInstance.load()->setEnabled(enabled);
}
}
});
@@ -481,6 +487,21 @@ bool WebServerService::startServer() {
.callback = handleAdminPost,
.user_ctx = ctx
},
#ifdef ESP_PLATFORM
// MCP is LAN-local and is enabled whenever the web server is enabled.
{
.uri = "/api/mcp",
.method = HTTP_METHOD_POST,
.callback = handleApiMcp,
.user_ctx = ctx
},
{
.uri = "/api/screen/raw",
.method = HTTP_METHOD_POST,
.callback = handleApiScreenRaw,
.user_ctx = ctx
},
#endif
// API endpoints for system info, apps, wifi, etc
{
.uri = "/api/*",
@@ -528,6 +549,12 @@ bool WebServerService::startServer() {
LOG_I(TAG, "HTTP server started successfully on port %u", (unsigned)settings.webServerPort);
publish_event(this, WebServerEvent::WebServerStarted);
#ifdef ESP_PLATFORM
if (settings::mcp::loadOrGetDefault().mcpEnabled) {
mcp::startVideoStreamServer();
}
#endif
// Show statusbar icon
if (statusbarIconId >= 0) {
lvgl::statusbar_icon_set_image(statusbarIconId, LVGL_ICON_STATUSBAR_CLOUD);
@@ -544,6 +571,9 @@ void WebServerService::stopServer() {
return;
}
#ifdef ESP_PLATFORM
mcp::stopVideoStreamServer();
#endif
http_server_free(httpServer);
httpServer = nullptr;