diff --git a/platformio.ini b/platformio.ini index 671991990..1f962a8d9 100644 --- a/platformio.ini +++ b/platformio.ini @@ -188,7 +188,7 @@ build_flags = -Isdk-nrfxlib/crypto/nrf_oberon/include -Lsdk-nrfxlib/crypto/nrf_oberon/lib/cortex-m4/hard-float/ -lliboberon_3.0.3 ;-DCFG_DEBUG=3 src_filter = - ${arduino_base.src_filter} - - - - + ${arduino_base.src_filter} - - - - lib_ignore = BluetoothOTA monitor_port = /dev/ttyACM1 @@ -315,7 +315,7 @@ lib_deps = ; The Portduino based sim environment on top of linux [env:linux] platform = https://github.com/geeksville/platform-portduino.git -src_filter = ${env.src_filter} - - - - +src_filter = ${env.src_filter} - - - - build_flags = ${arduino_base.build_flags} -O0 framework = arduino board = linux_x86_64 diff --git a/src/PowerStatus.h b/src/PowerStatus.h index e9c192fb8..a276be59b 100644 --- a/src/PowerStatus.h +++ b/src/PowerStatus.h @@ -11,7 +11,7 @@ namespace meshtastic */ enum OptionalBool { OptFalse = 0, OptTrue = 1, OptUnknown = 2 }; -/// Describes the state of the GPS system. +/// Describes the state of the Power system. class PowerStatus : public Status { diff --git a/src/graphics/EInkDisplay.cpp b/src/graphics/EInkDisplay.cpp index 0d5e8307f..2b530c0cb 100644 --- a/src/graphics/EInkDisplay.cpp +++ b/src/graphics/EInkDisplay.cpp @@ -4,7 +4,6 @@ #include "EInkDisplay.h" #include "SPILock.h" #include "epd1in54.h" // Screen specific library -#include "graphics/configs.h" #include #include // Graphics library and Sprite class diff --git a/src/graphics/Screen.cpp b/src/graphics/Screen.cpp index 97b24df3f..6f022943f 100644 --- a/src/graphics/Screen.cpp +++ b/src/graphics/Screen.cpp @@ -36,7 +36,7 @@ along with this program. If not, see . #include "utils.h" #ifndef NO_ESP32 -#include "mesh/wifi/WiFiAPClient.h" +#include "mesh/http/WiFiAPClient.h" #endif using namespace meshtastic; /** @todo remove */ diff --git a/src/main.cpp b/src/main.cpp index 605b91963..b63c193ab 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -27,8 +27,8 @@ // #include #ifndef NO_ESP32 -#include "mesh/wifi/WebServer.h" -#include "mesh/wifi/WiFiAPClient.h" +#include "mesh/http/WebServer.h" +#include "mesh/http/WiFiAPClient.h" #include "nimble/BluetoothUtil.h" #endif diff --git a/src/mesh/NodeDB.cpp b/src/mesh/NodeDB.cpp index a2a1e3160..dc13bc423 100644 --- a/src/mesh/NodeDB.cpp +++ b/src/mesh/NodeDB.cpp @@ -20,7 +20,7 @@ #include #ifndef NO_ESP32 -#include "mesh/wifi/WiFiAPClient.h" +#include "mesh/http/WiFiAPClient.h" #endif NodeDB nodeDB; diff --git a/src/mesh/wifi/ContentHelper.cpp b/src/mesh/http/ContentHelper.cpp similarity index 91% rename from src/mesh/wifi/ContentHelper.cpp rename to src/mesh/http/ContentHelper.cpp index 96dec5d92..249dcbde6 100644 --- a/src/mesh/wifi/ContentHelper.cpp +++ b/src/mesh/http/ContentHelper.cpp @@ -1,4 +1,4 @@ -#include "mesh/wifi/ContentHelper.h" +#include "mesh/http/ContentHelper.h" //#include //#include "main.h" diff --git a/src/mesh/wifi/ContentHelper.h b/src/mesh/http/ContentHelper.h similarity index 100% rename from src/mesh/wifi/ContentHelper.h rename to src/mesh/http/ContentHelper.h diff --git a/src/mesh/wifi/ContentStatic.h b/src/mesh/http/ContentStatic.h similarity index 100% rename from src/mesh/wifi/ContentStatic.h rename to src/mesh/http/ContentStatic.h diff --git a/src/mesh/wifi/WebServer.cpp b/src/mesh/http/WebServer.cpp similarity index 98% rename from src/mesh/wifi/WebServer.cpp rename to src/mesh/http/WebServer.cpp index 8eb888087..1c1b5a825 100644 --- a/src/mesh/wifi/WebServer.cpp +++ b/src/mesh/http/WebServer.cpp @@ -1,11 +1,11 @@ -#include "mesh/wifi/WebServer.h" +#include "mesh/http/WebServer.h" #include "NodeDB.h" #include "PowerFSM.h" #include "airtime.h" #include "main.h" -#include "mesh/wifi/ContentHelper.h" -#include "mesh/wifi/ContentStatic.h" -#include "mesh/wifi/WiFiAPClient.h" +#include "mesh/http/ContentHelper.h" +#include "mesh/http/ContentStatic.h" +#include "mesh/http/WiFiAPClient.h" #include "sleep.h" #include #include @@ -1110,13 +1110,13 @@ void handleReport(HTTPRequest *req, HTTPResponse *res) res->println("\"airtime\": {"); - uint16_t *logArray; + uint32_t *logArray; res->print("\"tx_log\": ["); logArray = airtimeReport(TX_LOG); for (int i = 0; i < getPeriodsToLog(); i++) { - uint16_t tmp; + uint32_t tmp; tmp = *(logArray + i); res->printf("%d", tmp); if (i != getPeriodsToLog() - 1) { @@ -1129,7 +1129,7 @@ void handleReport(HTTPRequest *req, HTTPResponse *res) logArray = airtimeReport(RX_LOG); for (int i = 0; i < getPeriodsToLog(); i++) { - uint16_t tmp; + uint32_t tmp; tmp = *(logArray + i); res->printf("%d", tmp); if (i != getPeriodsToLog() - 1) { @@ -1142,7 +1142,7 @@ void handleReport(HTTPRequest *req, HTTPResponse *res) logArray = airtimeReport(RX_ALL_LOG); for (int i = 0; i < getPeriodsToLog(); i++) { - uint16_t tmp; + uint32_t tmp; tmp = *(logArray + i); res->printf("%d", tmp); if (i != getPeriodsToLog() - 1) { @@ -1169,7 +1169,14 @@ void handleReport(HTTPRequest *req, HTTPResponse *res) res->println("},"); - res->println("\"test\": 123"); + res->println("\"power\": {"); +#define BoolToString(x) ((x)?"true":"false") + res->printf("\"battery_percent\": %u,\n", powerStatus->getBatteryChargePercent()); + res->printf("\"battery_voltage_mv\": %u,\n", powerStatus->getBatteryVoltageMv()); + res->printf("\"has_battery\": %s,\n", BoolToString(powerStatus->getHasBattery())); + res->printf("\"has_usb\": %s,\n", BoolToString(powerStatus->getHasUSB())); + res->printf("\"is_charging\": %s\n", BoolToString(powerStatus->getIsCharging())); + res->println("}"); res->println("},"); diff --git a/src/mesh/wifi/WebServer.h b/src/mesh/http/WebServer.h similarity index 100% rename from src/mesh/wifi/WebServer.h rename to src/mesh/http/WebServer.h diff --git a/src/mesh/wifi/WiFiAPClient.cpp b/src/mesh/http/WiFiAPClient.cpp similarity index 99% rename from src/mesh/wifi/WiFiAPClient.cpp rename to src/mesh/http/WiFiAPClient.cpp index 32989b2b8..3ecd7235d 100644 --- a/src/mesh/wifi/WiFiAPClient.cpp +++ b/src/mesh/http/WiFiAPClient.cpp @@ -1,9 +1,9 @@ -#include "mesh/wifi/WiFiAPClient.h" +#include "mesh/http/WiFiAPClient.h" #include "NodeDB.h" -#include "mesh/wifi/WiFiServerAPI.h" #include "configuration.h" #include "main.h" -#include "mesh/wifi/WebServer.h" +#include "mesh/http/WebServer.h" +#include "mesh/wifi/WiFiServerAPI.h" #include "target_specific.h" #include #include diff --git a/src/mesh/wifi/WiFiAPClient.h b/src/mesh/http/WiFiAPClient.h similarity index 100% rename from src/mesh/wifi/WiFiAPClient.h rename to src/mesh/http/WiFiAPClient.h diff --git a/src/nimble/BluetoothUtil.cpp b/src/nimble/BluetoothUtil.cpp index 86cd20744..f5f1f77ec 100644 --- a/src/nimble/BluetoothUtil.cpp +++ b/src/nimble/BluetoothUtil.cpp @@ -14,7 +14,7 @@ #include #ifndef NO_ESP32 -#include "mesh/wifi/WiFiAPClient.h" +#include "mesh/http/WiFiAPClient.h" #endif static bool pinShowing; diff --git a/src/plugins/SerialPlugin.cpp b/src/plugins/SerialPlugin.cpp index cc355c066..82c8baf83 100644 --- a/src/plugins/SerialPlugin.cpp +++ b/src/plugins/SerialPlugin.cpp @@ -37,6 +37,7 @@ to your device. TODO (in this order): + * Add check for esp32 and only build code sections for esp32. * Once protobufs regenerated with the new port, update SerialPlugin.h * Ensure this works on a tbeam * Define a verbose RX mode to report on mesh and packet infomration. @@ -45,6 +46,7 @@ KNOWN PROBLEMS * Until the plugin is initilized by the startup sequence, the TX pin is in a floating state. Device connected to that pin may see this as "noise". + * This will not work on the NRF or Linux target. */ @@ -55,7 +57,7 @@ #define SERIALPLUGIN_STRING_MAX Constants_DATA_PAYLOAD_LEN #define SERIALPLUGIN_TIMEOUT 250 #define SERIALPLUGIN_BAUD 38400 -#define SERIALPLUGIN_ENABLED 1 +#define SERIALPLUGIN_ENABLED 0 #define SERIALPLUGIN_ECHO 0 #define SERIALPLUGIN_ACK 0 @@ -68,6 +70,7 @@ char serialStringChar[Constants_DATA_PAYLOAD_LEN]; int32_t SerialPlugin::runOnce() { +#ifdef NO_ESP32 #if SERIALPLUGIN_ENABLED == 1 @@ -103,6 +106,8 @@ int32_t SerialPlugin::runOnce() return (INT32_MAX); #endif + +#endif } MeshPacket *SerialPluginRadio::allocReply() @@ -129,6 +134,11 @@ void SerialPluginRadio::sendPayload(NodeNum dest, bool wantReplies) bool SerialPluginRadio::handleReceived(const MeshPacket &mp) { + +#ifdef NO_ESP32 + +#if SERIALPLUGIN_ENABLED == 1 + auto &p = mp.decoded.data; // DEBUG_MSG("Received text msg self=0x%0x, from=0x%0x, to=0x%0x, id=%d, msg=%.*s\n", nodeDB.getNodeNum(), // mp.from, mp.to, mp.id, p.payload.size, p.payload.bytes); @@ -157,5 +167,12 @@ bool SerialPluginRadio::handleReceived(const MeshPacket &mp) Serial2.printf("%s", p.payload.bytes); } +#else + DEBUG_MSG("Serial Plugin Disabled\n"); + +#endif + +#endif + return true; // Let others look at this message also if they want }