Added new api call to get the board power info

This commit is contained in:
anschrammh 2019-04-28 15:37:49 +02:00
parent 59b9ae757f
commit 0d157d680d
2 changed files with 15 additions and 10 deletions

View File

@ -160,20 +160,13 @@ boolean sdCardSizeApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, vo
return true; 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) boolean staWifiInfoApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
{ {
SAB *p = (SAB *)pData; SAB *p = (SAB *)pData;
char buffer[300]; char buffer[300];
IPAddress IP = p->getConnectivityManager().localIP(); 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); wc->print(buffer);
return true; return true;
@ -187,7 +180,19 @@ boolean systemInfoApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, vo
uint16_t biggestContigMemBlock; uint16_t biggestContigMemBlock;
uint8_t frag; uint8_t frag;
ESP.getHeapStats(&freeMem, &biggestContigMemBlock, &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); wc->print(buffer);
return true; return true;

View File

@ -19,12 +19,12 @@ typedef struct sdCardApiPacket
boolean sdCardUnmountApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean sdCardUnmountApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean sdCardMountApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean sdCardMountApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean powerInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean staWifiInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean staWifiInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean apWifiInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean apWifiInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean espRestartApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean espRestartApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean espResetApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean espResetApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean systemInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean systemInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean powerInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean ioGetLevelApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean ioGetLevelApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean ioSetLevelApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean ioSetLevelApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean ioGetModeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean ioGetModeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);