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
}