From c25efac0c181de4ce6956e7d2b09192801e344c5 Mon Sep 17 00:00:00 2001 From: Kevin Hester Date: Sun, 7 Feb 2021 09:17:46 +0800 Subject: [PATCH] portduino wip --- .vscode/settings.json | 3 ++- src/main.cpp | 8 ++++++++ src/mesh/http/WiFiAPClient.cpp | 11 +---------- src/mesh/wifi/WiFiServerAPI.cpp | 11 +++++++++++ src/mesh/wifi/WiFiServerAPI.h | 2 ++ 5 files changed, 24 insertions(+), 11 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index f78fe51b8..13d59f6dd 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -68,5 +68,6 @@ "protobufs", "wifi" ], - "C_Cpp.dimInactiveRegions": true + "C_Cpp.dimInactiveRegions": true, + "cmake.configureOnOpen": true } \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index aa7b191d9..d54de075e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -32,6 +32,10 @@ #include "nimble/BluetoothUtil.h" #endif +#ifdef PORTDUINO +#include "mesh/wifi/WiFiServerAPI.h" +#endif + #include "RF95Interface.h" #include "SX1262Interface.h" @@ -524,6 +528,10 @@ void setup() webServerThread = new WebServerThread(); #endif +#ifdef PORTDUINO + initApiServer(); +#endif + // Start airtime logger thread. airTime = new AirTime(); diff --git a/src/mesh/http/WiFiAPClient.cpp b/src/mesh/http/WiFiAPClient.cpp index 3ecd7235d..bf8ee9624 100644 --- a/src/mesh/http/WiFiAPClient.cpp +++ b/src/mesh/http/WiFiAPClient.cpp @@ -14,8 +14,6 @@ static void WiFiEvent(WiFiEvent_t event); // DNS Server for the Captive Portal DNSServer dnsServer; -static WiFiServerPort *apiPort; - uint8_t wifiDisconnectReason = 0; // Stores our hostname @@ -180,14 +178,7 @@ void initWifi(bool forceSoftAP) DEBUG_MSG("Not using WIFI\n"); } -static void initApiServer() -{ - // Start API server on port 4403 - if (!apiPort) { - apiPort = new WiFiServerPort(); - apiPort->init(); - } -} + // Called by the Espressif SDK to static void WiFiEvent(WiFiEvent_t event) diff --git a/src/mesh/wifi/WiFiServerAPI.cpp b/src/mesh/wifi/WiFiServerAPI.cpp index 1f087cc10..cbf919b33 100644 --- a/src/mesh/wifi/WiFiServerAPI.cpp +++ b/src/mesh/wifi/WiFiServerAPI.cpp @@ -3,6 +3,17 @@ #include "configuration.h" #include +static WiFiServerPort *apiPort; + +void initApiServer() +{ + // Start API server on port 4403 + if (!apiPort) { + apiPort = new WiFiServerPort(); + apiPort->init(); + } +} + WiFiServerAPI::WiFiServerAPI(WiFiClient &_client) : StreamAPI(&client), client(_client) { DEBUG_MSG("Incoming wifi connection\n"); diff --git a/src/mesh/wifi/WiFiServerAPI.h b/src/mesh/wifi/WiFiServerAPI.h index 963800203..46e2fad93 100644 --- a/src/mesh/wifi/WiFiServerAPI.h +++ b/src/mesh/wifi/WiFiServerAPI.h @@ -48,3 +48,5 @@ class WiFiServerPort : public WiFiServer, private concurrency::OSThread int32_t runOnce(); }; + +void initApiServer();