diff --git a/platformio.ini b/platformio.ini
index 67199199..1f962a8d 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 e9c192fb..a276be59 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 0d5e8307..2b530c0c 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 97b24df3..6f022943 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 605b9196..b63c193a 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 a2a1e316..dc13bc42 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 96dec5d9..249dcbde 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 8eb88808..1c1b5a82 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 32989b2b..3ecd7235 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 86cd2074..f5f1f77e 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;