Added new api requests

This commit is contained in:
anschrammh 2019-04-17 22:43:17 +02:00
parent 8cae58706f
commit 4f143d7bb8
2 changed files with 44 additions and 7 deletions

View File

@ -7,7 +7,7 @@ boolean apiTesterApi(WEBServerManager::HttpRequestData &HRD, WiFiClient* wc, voi
return true; return true;
} }
boolean ViewByUIDApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) boolean viewByUIDApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
{ {
SAB *p = (SAB *)pData; SAB *p = (SAB *)pData;
char buffer[200]; char buffer[200];
@ -102,9 +102,12 @@ boolean rtcSetTimeApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, vo
boolean sdCardUnmountApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) boolean sdCardUnmountApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
{ {
SAB *p = (SAB *)pData; SdCardApiPacket *pV = (SdCardApiPacket*)pData;
SAB *p = (SAB *)pV->pSab;
float *sdCardSize = (float *) &pV->pView->sdCardSize;
char buffer[200]; char buffer[200];
p->getSdCardManager().end(); p->getSdCardManager().end();
*sdCardSize = 0.0;
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"card\" : \"unmounted\" }"); sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"card\" : \"unmounted\" }");
wc->print(buffer); wc->print(buffer);
return true; return true;
@ -112,11 +115,16 @@ boolean sdCardUnmountApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc,
boolean sdCardMountApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) boolean sdCardMountApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
{ {
SAB *p = (SAB *)pData; SdCardApiPacket *pV = (SdCardApiPacket*)pData;
SAB *p = (SAB *)pV->pSab;
float *sdCardSize = (float *) &pV->pView->sdCardSize;
char buffer[200]; char buffer[200];
if(p->getSdCardManager().begin(p->getSdCardConfig().getSPISpeed(), p->getPinConfig().getSPI_sdCard_cs())) if(p->getSdCardManager().begin(p->getSdCardConfig().getSPISpeed(), p->getPinConfig().getSPI_sdCard_cs()))
{
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"card\" : \"mounted\" }"); sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"card\" : \"mounted\" }");
*sdCardSize = p->getSdCardManager().getSize(GBYTE);
}
else else
sprintf(buffer,"HTTP/1.1 500 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"error\", \"message\" : \"begin failed\" }"); sprintf(buffer,"HTTP/1.1 500 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"error\", \"message\" : \"begin failed\" }");
@ -159,10 +167,28 @@ boolean powerInfoApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, voi
return true; return true;
} }
boolean wifiInfoApi(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[200];
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());
wc->print(buffer);
return true; return true;
} }
boolean systemInfoApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
{
SAB *p = (SAB *)pData;
char buffer[200];
uint32_t freeMem;
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());
wc->print(buffer);
return true;
}

View File

@ -1,18 +1,29 @@
#ifndef WEBAPI_H #ifndef WEBAPI_H
#define WEBAPI_H #define WEBAPI_H
#include "WebServerManager.h" #include "WebServerManager.h"
#include "SAB.h"
#include "views.h"
boolean apiTesterApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean apiTesterApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean nextViewApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean nextViewApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean ViewByUIDApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean viewByUIDApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean rtcGetTimeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean rtcGetTimeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean rtcSetTimeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean rtcSetTimeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean sdCardSizeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean sdCardSizeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
typedef struct sdCardApiPacket
{
SAB *pSab;
View1Packet *pView;
} 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 powerInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
boolean wifiInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); boolean staWifiInfoApi(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*);
#endif #endif