feat: integrate MCP and ES3C28P audio support with upstream compatibility updates

This commit is contained in:
Adolfo Reyna
2026-07-04 15:41:37 -04:00
parent b8bf59fedf
commit 300ddb3a7f
21 changed files with 1260 additions and 33 deletions
@@ -6,6 +6,7 @@
#include <Tactility/service/ServiceManifest.h>
#include <Tactility/settings/WebServerSettings.h>
#include <Tactility/settings/McpSettings.h>
#include <Tactility/mcp/McpSystem.h>
#include <Tactility/MountPoints.h>
#include <Tactility/file/File.h>
#include <Tactility/Logger.h>
@@ -510,7 +511,7 @@ bool WebServerService::startServer() {
settings.webServerPort,
"0.0.0.0",
handlers,
16384 // Stack size
12288 // Stack size (forces allocation in internal SRAM instead of PSRAM)
);
httpServer->start();
@@ -531,6 +532,11 @@ bool WebServerService::startServer() {
settings.wifiMode == settings::webserver::WiFiMode::AccessPoint ? "AP" : "Station");
}
auto mcpSettings = settings::mcp::loadOrGetDefault();
if (mcpSettings.mcpEnabled) {
mcp::startVideoStreamServer();
}
return true;
}
@@ -542,6 +548,8 @@ void WebServerService::stopServer() {
httpServer->stop();
httpServer.reset();
mcp::stopVideoStreamServer();
// Stop AP mode WiFi if we started it
if (apWifiInitialized || apNetif != nullptr) {
stopApMode();