diff --git a/src/graphics/Screen.cpp b/src/graphics/Screen.cpp index b9243d3d..246fcea5 100644 --- a/src/graphics/Screen.cpp +++ b/src/graphics/Screen.cpp @@ -27,20 +27,20 @@ along with this program. If not, see . #include "NodeDB.h" #include "Screen.h" #include "fonts.h" +#include "gps/GeoCoord.h" #include "gps/RTC.h" #include "graphics/images.h" #include "main.h" #include "mesh-pb-constants.h" #include "mesh/Channels.h" #include "plugins/TextMessagePlugin.h" +#include "sleep.h" #include "target_specific.h" #include "utils.h" -#include "gps/GeoCoord.h" -#include "sleep.h" #ifndef NO_ESP32 -#include "mesh/http/WiFiAPClient.h" #include "esp_task_wdt.h" +#include "mesh/http/WiFiAPClient.h" #endif using namespace meshtastic; /** @todo remove */ @@ -253,10 +253,10 @@ static void drawCriticalFaultFrame(OLEDDisplay *display, OLEDDisplayUiState *sta } // Ignore messages orginating from phone (from the current node 0x0) unless range test or store and forward plugin are enabled -static bool shouldDrawMessage(const MeshPacket *packet) { - return packet->from != 0 && - !radioConfig.preferences.range_test_plugin_enabled && - !radioConfig.preferences.store_forward_plugin_enabled; +static bool shouldDrawMessage(const MeshPacket *packet) +{ + return packet->from != 0 && !radioConfig.preferences.range_test_plugin_enabled && + !radioConfig.preferences.store_forward_plugin_enabled; } /// Draw the last text message we received @@ -445,18 +445,19 @@ static void drawGPScoordinates(OLEDDisplay *display, int16_t x, int16_t y, const sprintf(coordinateLine, "%2i%1c %06i %07i", geoCoord.getUTMZone(), geoCoord.getUTMBand(), geoCoord.getUTMEasting(), geoCoord.getUTMNorthing()); } else if (gpsFormat == GpsCoordinateFormat_GpsFormatMGRS) { // Military Grid Reference System - sprintf(coordinateLine, "%2i%1c %1c%1c %05i %05i", geoCoord.getMGRSZone(), geoCoord.getMGRSBand(), geoCoord.getMGRSEast100k(), - geoCoord.getMGRSNorth100k(), geoCoord.getMGRSEasting(), geoCoord.getMGRSNorthing()); + sprintf(coordinateLine, "%2i%1c %1c%1c %05i %05i", geoCoord.getMGRSZone(), geoCoord.getMGRSBand(), + geoCoord.getMGRSEast100k(), geoCoord.getMGRSNorth100k(), geoCoord.getMGRSEasting(), + geoCoord.getMGRSNorthing()); } else if (gpsFormat == GpsCoordinateFormat_GpsFormatOLC) { // Open Location Code geoCoord.getOLCCode(coordinateLine); - } else if (gpsFormat == GpsCoordinateFormat_GpsFormatOSGR) { // Ordnance Survey Grid Reference + } else if (gpsFormat == GpsCoordinateFormat_GpsFormatOSGR) { // Ordnance Survey Grid Reference if (geoCoord.getOSGRE100k() == 'I' || geoCoord.getOSGRN100k() == 'I') // OSGR is only valid around the UK region sprintf(coordinateLine, "%s", "Out of Boundary"); else - sprintf(coordinateLine, "%1c%1c %05i %05i", geoCoord.getOSGRE100k(),geoCoord.getOSGRN100k(), + sprintf(coordinateLine, "%1c%1c %05i %05i", geoCoord.getOSGRE100k(), geoCoord.getOSGRN100k(), geoCoord.getOSGREasting(), geoCoord.getOSGRNorthing()); } - + // If fixed position, display text "Fixed GPS" alternating with the coordinates. if (radioConfig.preferences.fixed_position) { if ((millis() / 10000) % 2) { @@ -473,7 +474,7 @@ static void drawGPScoordinates(OLEDDisplay *display, int16_t x, int16_t y, const char lonLine[22]; sprintf(latLine, "%2i° %2i' %2.4f\" %1c", geoCoord.getDMSLatDeg(), geoCoord.getDMSLatMin(), geoCoord.getDMSLatSec(), geoCoord.getDMSLatCP()); - sprintf(lonLine, "%3i° %2i' %2.4f\" %1c", geoCoord.getDMSLonDeg(), geoCoord.getDMSLonMin(), geoCoord.getDMSLonSec(), + sprintf(lonLine, "%3i° %2i' %2.4f\" %1c", geoCoord.getDMSLonDeg(), geoCoord.getDMSLonMin(), geoCoord.getDMSLonSec(), geoCoord.getDMSLonCP()); display->drawString(x + (SCREEN_WIDTH - (display->getStringWidth(latLine))) / 2, y - FONT_HEIGHT_SMALL * 1, latLine); display->drawString(x + (SCREEN_WIDTH - (display->getStringWidth(lonLine))) / 2, y, lonLine); @@ -665,7 +666,8 @@ static void drawNodeInfo(OLEDDisplay *display, OLEDDisplayUiState *state, int16_ // display direction toward node hasNodeHeading = true; Position &p = node->position; - float d = GeoCoord::latLongToMeter(DegD(p.latitude_i), DegD(p.longitude_i), DegD(op.latitude_i), DegD(op.longitude_i)); + float d = + GeoCoord::latLongToMeter(DegD(p.latitude_i), DegD(p.longitude_i), DegD(op.latitude_i), DegD(op.longitude_i)); if (d < 2000) snprintf(distStr, sizeof(distStr), "%.0f m", d); else @@ -673,7 +675,8 @@ static void drawNodeInfo(OLEDDisplay *display, OLEDDisplayUiState *state, int16_ // FIXME, also keep the guess at the operators heading and add/substract // it. currently we don't do this and instead draw north up only. - float bearingToOther = GeoCoord::bearing(DegD(p.latitude_i), DegD(p.longitude_i), DegD(op.latitude_i), DegD(op.longitude_i)); + float bearingToOther = + GeoCoord::bearing(DegD(p.latitude_i), DegD(p.longitude_i), DegD(op.latitude_i), DegD(op.longitude_i)); headingRadian = bearingToOther - myHeading; drawNodeHeading(display, compassX, compassY, headingRadian); } @@ -915,13 +918,13 @@ int32_t Screen::runOnce() // standard screen switching is stopped. if (showingNormalScreen) { // standard screen loop handling here - if (radioConfig.preferences.auto_screen_carousel_secs > 0 && + if (radioConfig.preferences.auto_screen_carousel_secs > 0 && (millis() - lastScreenTransition) > (radioConfig.preferences.auto_screen_carousel_secs * 1000)) { DEBUG_MSG("LastScreenTransition exceeded %ums transitioning to next frame\n", (millis() - lastScreenTransition)); handleOnPress(); } } - + // DEBUG_MSG("want fps %d, fixed=%d\n", targetFramerate, // ui.getUiState()->frameState); If we are scrolling we need to be called // soon, otherwise just 1 fps (to save CPU) We also ask to be called twice @@ -1087,7 +1090,7 @@ void Screen::handlePrint(const char *text) } void Screen::handleOnPress() -{ +{ // If screen was off, just wake it, otherwise advance to next frame // If we are in a transition, the press must have bounced, drop it. if (ui.getUiState()->frameState == FIXED) { @@ -1450,7 +1453,8 @@ int Screen::handleStatusUpdate(const meshtastic::Status *arg) return 0; } -int Screen::handleTextMessage(const MeshPacket *packet) { +int Screen::handleTextMessage(const MeshPacket *packet) +{ if (showingNormalScreen) { setFrames(); // Regen the list of screens (will show new text message) } diff --git a/src/mesh/http/ContentHandler.cpp b/src/mesh/http/ContentHandler.cpp index 5f9ef803..4174c0a2 100644 --- a/src/mesh/http/ContentHandler.cpp +++ b/src/mesh/http/ContentHandler.cpp @@ -74,7 +74,7 @@ void registerHandlers(HTTPServer *insecureServer, HTTPSServer *secureServer) ResourceNode *nodeJsonReport = new ResourceNode("/json/report", "GET", &handleReport); ResourceNode *nodeJsonSpiffsBrowseStatic = new ResourceNode("/json/spiffs/browse/static", "GET", &handleSpiffsBrowseStatic); ResourceNode *nodeJsonDelete = new ResourceNode("/json/spiffs/delete/static", "DELETE", &handleSpiffsDeleteStatic); - + ResourceNode *nodeRoot = new ResourceNode("/*", "GET", &handleStatic); // Secure nodes @@ -106,7 +106,6 @@ void registerHandlers(HTTPServer *insecureServer, HTTPSServer *secureServer) insecureServer->registerNode(nodeJsonDelete); insecureServer->registerNode(nodeJsonReport); insecureServer->registerNode(nodeRoot); - } void handleAPIv1FromRadio(HTTPRequest *req, HTTPResponse *res) @@ -176,7 +175,6 @@ void handleAPIv1ToRadio(HTTPRequest *req, HTTPResponse *res) res->setHeader("Access-Control-Allow-Methods", "PUT, OPTIONS"); res->setHeader("X-Protobuf-Schema", "https://raw.githubusercontent.com/meshtastic/Meshtastic-protobufs/master/mesh.proto"); - if (req->getMethod() == "OPTIONS") { res->setStatusCode(204); // Success with no content // res->print(""); @todo remove @@ -285,7 +283,6 @@ void handleStatic(HTTPRequest *req, HTTPResponse *res) std::string filename = "/static/" + parameter1; std::string filenameGzip = "/static/" + parameter1 + ".gz"; - // Try to open the file from SPIFFS File file; diff --git a/src/mesh/http/ContentHelper.h b/src/mesh/http/ContentHelper.h index ca3fee3c..a80c39f4 100644 --- a/src/mesh/http/ContentHelper.h +++ b/src/mesh/http/ContentHelper.h @@ -3,6 +3,4 @@ #define BoolToString(x) ((x) ? "true" : "false") - void replaceAll(std::string &str, const std::string &from, const std::string &to); - diff --git a/src/mesh/http/WebServer.cpp b/src/mesh/http/WebServer.cpp index 500af510..a900cfa9 100644 --- a/src/mesh/http/WebServer.cpp +++ b/src/mesh/http/WebServer.cpp @@ -1,13 +1,12 @@ -#include "main.h" #include "mesh/http/WebServer.h" #include "NodeDB.h" +#include "graphics/Screen.h" +#include "main.h" #include "mesh/http/WiFiAPClient.h" +#include "sleep.h" #include #include #include -#include "sleep.h" -#include "graphics/Screen.h" - #include #include @@ -60,10 +59,9 @@ static void handleWebResponse() // will be ignored by the NRF boards. handleDNSResponse(); - if(secureServer) + if (secureServer) secureServer->loop(); insecureServer->loop(); - } } } @@ -72,7 +70,6 @@ static void taskCreateCert(void *parameter) { prefs.begin("MeshtasticHTTPS", false); - #if 0 // Delete the saved certs (used in debugging) DEBUG_MSG("Deleting any saved SSL keys ...\n"); @@ -81,7 +78,6 @@ static void taskCreateCert(void *parameter) prefs.remove("cert"); #endif - DEBUG_MSG("Checking if we have a previously saved SSL Certificate.\n"); size_t pkLen = prefs.getBytesLength("PK"); @@ -152,11 +148,11 @@ void createSSLCert() // jm@casler.org (Oct 2020) xTaskCreate(taskCreateCert, /* Task function. */ "createCert", /* String with name of task. */ - //16384, /* Stack size in bytes. */ - 8192, /* Stack size in bytes. */ - NULL, /* Parameter passed as input of the task */ - 16, /* Priority of the task. */ - NULL); /* Task handle. */ + // 16384, /* Stack size in bytes. */ + 8192, /* Stack size in bytes. */ + NULL, /* Parameter passed as input of the task */ + 16, /* Priority of the task. */ + NULL); /* Task handle. */ DEBUG_MSG("Waiting for SSL Cert to be generated.\n"); while (!isCertReady) { @@ -167,8 +163,8 @@ void createSSLCert() yield(); esp_task_wdt_reset(); - if (millis() / 1000 >= 3) { - screen->setSSLFrames(); + if (millis() / 1000 >= 3) { + screen->setSSLFrames(); } } runLoop = false; @@ -203,11 +199,11 @@ void initWebServer() registerHandlers(insecureServer, secureServer); - if(secureServer) { + if (secureServer) { DEBUG_MSG("Starting Secure Web Server...\n"); secureServer->start(); } - DEBUG_MSG("Starting Insecure Web Server...\n"); + DEBUG_MSG("Starting Insecure Web Server...\n"); insecureServer->start(); if (insecureServer->isRunning()) { DEBUG_MSG("Web Servers Ready! :-) \n"); diff --git a/src/mesh/http/WebServer.h b/src/mesh/http/WebServer.h index 74b299dc..63a61367 100644 --- a/src/mesh/http/WebServer.h +++ b/src/mesh/http/WebServer.h @@ -15,7 +15,6 @@ class WebServerThread : private concurrency::OSThread WebServerThread(); protected: - virtual int32_t runOnce(); }; diff --git a/src/mesh/http/WiFiAPClient.h b/src/mesh/http/WiFiAPClient.h index acbbdb19..fa9be8fe 100644 --- a/src/mesh/http/WiFiAPClient.h +++ b/src/mesh/http/WiFiAPClient.h @@ -21,4 +21,3 @@ void handleDNSResponse(); bool isSoftAPForced(); uint8_t getWifiDisconnectReason(); -