Merge pull request #7 from meshtastic/dev-wifi

Bringing in the API changes
This commit is contained in:
Jm Casler 2020-09-19 17:27:29 -07:00 committed by GitHub
commit 468ad39a94
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 35 additions and 5 deletions

2
proto

@ -1 +1 @@
Subproject commit ce422b7c448906c6fee3eef64bbd41adfbc990f0 Subproject commit 4e431c841015edfdde925acf5ee4ac0a2272edff

View File

@ -44,7 +44,7 @@ WiFiServerPort::WiFiServerPort() : WiFiServer(MESHTASTIC_PORTNUM) {}
void WiFiServerPort::init() void WiFiServerPort::init()
{ {
DEBUG_MSG("Listening on TCP port %d\n", MESHTASTIC_PORTNUM); DEBUG_MSG("API server sistening on TCP port %d\n", MESHTASTIC_PORTNUM);
begin(); begin();
} }

View File

@ -37,12 +37,12 @@
#include "SPILock.h" #include "SPILock.h"
#include "graphics/Screen.h" #include "graphics/Screen.h"
#include "main.h" #include "main.h"
#include "meshwifi/meshhttp.h"
#include "meshwifi/meshwifi.h"
#include "sleep.h" #include "sleep.h"
#include "timing.h" #include "timing.h"
#include <OneButton.h> #include <OneButton.h>
#include <Wire.h> #include <Wire.h>
#include "meshwifi/meshwifi.h"
#include "meshwifi/meshhttp.h"
// #include <driver/rtc_io.h> // #include <driver/rtc_io.h>
#ifndef NO_ESP32 #ifndef NO_ESP32
@ -395,6 +395,8 @@ void loop()
userButtonAlt.tick(); userButtonAlt.tick();
#endif #endif
loopWifi();
// Show boot screen for first 3 seconds, then switch to normal operation. // Show boot screen for first 3 seconds, then switch to normal operation.
static bool showingBootScreen = true; static bool showingBootScreen = true;
if (showingBootScreen && (timing::millis() > 3000)) { if (showingBootScreen && (timing::millis() > 3000)) {

View File

@ -1,5 +1,6 @@
#include "meshwifi.h" #include "meshwifi.h"
#include "NodeDB.h" #include "NodeDB.h"
#include "WiFiServerAPI.h"
#include "configuration.h" #include "configuration.h"
#include "main.h" #include "main.h"
#include "meshwifi/meshhttp.h" #include "meshwifi/meshhttp.h"
@ -9,6 +10,7 @@
static void WiFiEvent(WiFiEvent_t event); static void WiFiEvent(WiFiEvent_t event);
DNSServer dnsServer; DNSServer dnsServer;
static WiFiServerPort *apiPort;
bool isWifiAvailable() bool isWifiAvailable()
{ {
@ -96,6 +98,23 @@ void initWifi()
DEBUG_MSG("Not using WIFI\n"); DEBUG_MSG("Not using WIFI\n");
} }
/// Perform idle loop processing required by the wifi layer
void loopWifi()
{
// FIXME, once we have coroutines - just use a coroutine instead of this nasty loopWifi()
if (apiPort)
apiPort->loop();
}
static void initApiServer()
{
// Start API server on port 4403
if (!apiPort) {
apiPort = new WiFiServerPort();
apiPort->init();
}
}
static void WiFiEvent(WiFiEvent_t event) static void WiFiEvent(WiFiEvent_t event)
{ {
DEBUG_MSG("************ [WiFi-event] event: %d ************\n", event); DEBUG_MSG("************ [WiFi-event] event: %d ************\n", event);
@ -131,6 +150,7 @@ static void WiFiEvent(WiFiEvent_t event)
// Start web server // Start web server
initWebServer(); initWebServer();
initApiServer();
break; break;
case SYSTEM_EVENT_STA_LOST_IP: case SYSTEM_EVENT_STA_LOST_IP:
@ -154,6 +174,7 @@ static void WiFiEvent(WiFiEvent_t event)
// Start web server // Start web server
initWebServer(); initWebServer();
initApiServer();
break; break;
case SYSTEM_EVENT_AP_STOP: case SYSTEM_EVENT_AP_STOP:

View File

@ -11,6 +11,10 @@
void initWifi(); void initWifi();
void deinitWifi(); void deinitWifi();
/// Perform idle loop processing required by the wifi layer
void loopWifi();
bool isWifiAvailable(); bool isWifiAvailable();
void handleDNSResponse(); void handleDNSResponse();

View File

@ -11,3 +11,6 @@ bool isWifiAvailable()
} }
void handleWebResponse() {} void handleWebResponse() {}
/// Perform idle loop processing required by the wifi layer
void loopWifi() {}