From 0d157d680d5a1f0f4d9181dc58fe43cb2ee2bb96 Mon Sep 17 00:00:00 2001 From: anschrammh Date: Sun, 28 Apr 2019 15:37:49 +0200 Subject: [PATCH] Added new api call to get the board power info --- src/app/webApi.cpp | 23 ++++++++++++++--------- src/app/webApi.h | 2 +- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/app/webApi.cpp b/src/app/webApi.cpp index 2842796..5ae4818 100644 --- a/src/app/webApi.cpp +++ b/src/app/webApi.cpp @@ -160,20 +160,13 @@ boolean sdCardSizeApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, vo return true; } -boolean powerInfoApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) -{ - SAB *p = (SAB *)pData; - - return true; -} - boolean staWifiInfoApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) { SAB *p = (SAB *)pData; char buffer[300]; IPAddress IP = p->getConnectivityManager().localIP(); - sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"RSSI\" : \"%d\", \"local IP\" : \"%u.%u.%u.%u\", \"mac\" : \"%s\" }", p->getConnectivityManager().RSSI(), IP[0], IP[1], IP[2], IP[3], p->getConnectivityManager().macAddress().c_str()); + sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"RSSI\" : \"%d\", \"RSSI2\" : \"%d\", \"local IP\" : \"%u.%u.%u.%u\", \"mac\" : \"%s\" }", p->getConnectivityManager().RSSI(), p->getConnectivityManager().RSSIPercent(), IP[0], IP[1], IP[2], IP[3], p->getConnectivityManager().macAddress().c_str()); wc->print(buffer); return true; @@ -187,7 +180,19 @@ boolean systemInfoApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, vo uint16_t biggestContigMemBlock; uint8_t frag; ESP.getHeapStats(&freeMem, &biggestContigMemBlock, &frag); - sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"CPU freq\" : \"%u\", \"free RAM\" : \"%u\", \"heap frag\" : \"%u\", \"max block\" : \"%u\", \"nb views\" : \"%u\" }",ESP.getCpuFreqMHz(), freeMem, frag, biggestContigMemBlock, p->getScreenManager().getViewCount()); + sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"CPU freq\" : \"%u\", \"free RAM\" : \"%u\", \"heap frag\" : \"%u\", \"max block\" : \"%u\", \"nb views\" : \"%u\" }", ESP.getCpuFreqMHz(), freeMem, frag, biggestContigMemBlock, p->getScreenManager().getViewCount()); + + wc->print(buffer); + return true; +} + +boolean powerInfoApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) +{ + SAB *p = (SAB *)pData; + char buffer[300]; + PowerInfo pi = p->getPowerInfo(); + + sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"power type\" : \"%s\", \"level\" : \"%u\", \"unit\" : \"%%\" }", pi.powerType == USB ? "USB" : "BAT", pi.level); wc->print(buffer); return true; diff --git a/src/app/webApi.h b/src/app/webApi.h index d2e7cf3..3ece181 100644 --- a/src/app/webApi.h +++ b/src/app/webApi.h @@ -19,12 +19,12 @@ typedef struct sdCardApiPacket boolean sdCardUnmountApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean sdCardMountApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); -boolean powerInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean staWifiInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean apWifiInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean espRestartApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean espResetApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean systemInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); +boolean powerInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean ioGetLevelApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean ioSetLevelApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean ioGetModeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);