Added new api calls inrelation to the IO's
This commit is contained in:
parent
81056624b5
commit
8fe8d077bf
@ -170,7 +170,7 @@ boolean powerInfoApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, voi
|
|||||||
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[200];
|
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\", \"local IP\" : \"%u.%u.%u.%u\", \"mac\" : \"%s\" }", p->getConnectivityManager().RSSI(), IP[0], IP[1], IP[2], IP[3], p->getConnectivityManager().macAddress().c_str());
|
||||||
@ -182,7 +182,7 @@ boolean staWifiInfoApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, v
|
|||||||
boolean systemInfoApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
|
boolean systemInfoApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
|
||||||
{
|
{
|
||||||
SAB *p = (SAB *)pData;
|
SAB *p = (SAB *)pData;
|
||||||
char buffer[200];
|
char buffer[300];
|
||||||
uint32_t freeMem;
|
uint32_t freeMem;
|
||||||
uint16_t biggestContigMemBlock;
|
uint16_t biggestContigMemBlock;
|
||||||
uint8_t frag;
|
uint8_t frag;
|
||||||
@ -192,3 +192,221 @@ boolean systemInfoApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, vo
|
|||||||
wc->print(buffer);
|
wc->print(buffer);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
boolean ioGetLevelApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
|
||||||
|
{
|
||||||
|
SAB *p = (SAB *)pData;
|
||||||
|
boolean ioState[8] = {0};
|
||||||
|
char buffer[300] = "";
|
||||||
|
char helperBuffer[20] = "";
|
||||||
|
|
||||||
|
p->getIoManager().getPcf().digitalReadAll(ioState);//We retrieve the IO state
|
||||||
|
|
||||||
|
if(HRD.getParams.count() == 0)//We send every IO state
|
||||||
|
{
|
||||||
|
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"P0\" : \"%d\", \"P1\" : \"%d\", \"P2\" : \"%d\", \"P3\" : \"%d\", \"P4\" : \"%d\", \"P5\" : \"%d\", \"P6\" : \"%d\", \"P7\" : \"%d\" }",ioState[0],ioState[1],ioState[2],ioState[3],ioState[4],ioState[5],ioState[6],ioState[7]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
strcpy(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\"");
|
||||||
|
if(HRD.getParams("P0") != NULL)
|
||||||
|
{
|
||||||
|
sprintf(helperBuffer,", \"P0\" : \"%d\"",ioState[0]);
|
||||||
|
strcat(buffer,helperBuffer);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P1") != NULL)
|
||||||
|
{
|
||||||
|
sprintf(helperBuffer,", \"P1\" : \"%d\"",ioState[1]);
|
||||||
|
strcat(buffer,helperBuffer);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P2") != NULL)
|
||||||
|
{
|
||||||
|
sprintf(helperBuffer,", \"P2\" : \"%d\"",ioState[2]);
|
||||||
|
strcat(buffer,helperBuffer);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P3") != NULL)
|
||||||
|
{
|
||||||
|
sprintf(helperBuffer,", \"P3\" : \"%d\"",ioState[3]);
|
||||||
|
strcat(buffer,helperBuffer);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P4") != NULL)
|
||||||
|
{
|
||||||
|
sprintf(helperBuffer,", \"P4\" : \"%d\"",ioState[4]);
|
||||||
|
strcat(buffer,helperBuffer);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P5") != NULL)
|
||||||
|
{
|
||||||
|
sprintf(helperBuffer,", \"P5\" : \"%d\"",ioState[5]);
|
||||||
|
strcat(buffer,helperBuffer);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P6") != NULL)
|
||||||
|
{
|
||||||
|
sprintf(helperBuffer,", \"P6\" : \"%d\"",ioState[6]);
|
||||||
|
strcat(buffer,helperBuffer);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P7") != NULL)
|
||||||
|
{
|
||||||
|
sprintf(helperBuffer,", \"P7\" : \"%d\"",ioState[7]);
|
||||||
|
strcat(buffer,helperBuffer);
|
||||||
|
}
|
||||||
|
strcat(buffer," }");
|
||||||
|
}
|
||||||
|
|
||||||
|
wc->print(buffer);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean ioSetLevelApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
|
||||||
|
{
|
||||||
|
SAB *p = (SAB *)pData;
|
||||||
|
char buffer[300] = "";
|
||||||
|
boolean ioState[8] = {0};
|
||||||
|
|
||||||
|
if(HRD.getParams("P0") != NULL)
|
||||||
|
{
|
||||||
|
p->getIoManager().getPcf().digitalWrite(PCF8574::P0,atoi(HRD.getParams("P0")->getString()));
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P1") != NULL)
|
||||||
|
{
|
||||||
|
p->getIoManager().getPcf().digitalWrite(PCF8574::P1,atoi(HRD.getParams("P1")->getString()));
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P2") != NULL)
|
||||||
|
{
|
||||||
|
p->getIoManager().getPcf().digitalWrite(PCF8574::P2,atoi(HRD.getParams("P2")->getString()));
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P3") != NULL)
|
||||||
|
{
|
||||||
|
p->getIoManager().getPcf().digitalWrite(PCF8574::P3,atoi(HRD.getParams("P3")->getString()));
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P4") != NULL)
|
||||||
|
{
|
||||||
|
p->getIoManager().getPcf().digitalWrite(PCF8574::P4,atoi(HRD.getParams("P4")->getString()));
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P5") != NULL)
|
||||||
|
{
|
||||||
|
p->getIoManager().getPcf().digitalWrite(PCF8574::P5,atoi(HRD.getParams("P5")->getString()));
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P6") != NULL)
|
||||||
|
{
|
||||||
|
p->getIoManager().getPcf().digitalWrite(PCF8574::P6,atoi(HRD.getParams("P6")->getString()));
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P7") != NULL)
|
||||||
|
{
|
||||||
|
p->getIoManager().getPcf().digitalWrite(PCF8574::P7,atoi(HRD.getParams("P7")->getString()));
|
||||||
|
}
|
||||||
|
|
||||||
|
p->getIoManager().getPcf().digitalReadAll(ioState);//We retrieve the IO state
|
||||||
|
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"P0\" : \"%d\", \"P1\" : \"%d\", \"P2\" : \"%d\", \"P3\" : \"%d\", \"P4\" : \"%d\", \"P5\" : \"%d\", \"P6\" : \"%d\", \"P7\" : \"%d\" }",ioState[0],ioState[1],ioState[2],ioState[3],ioState[4],ioState[5],ioState[6],ioState[7]);
|
||||||
|
|
||||||
|
wc->print(buffer);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean ioGetModeApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
|
||||||
|
{
|
||||||
|
SAB *p = (SAB *)pData;
|
||||||
|
boolean ioMode[8] = {0};
|
||||||
|
char buffer[300] = "";
|
||||||
|
char helperBuffer[20] = "";
|
||||||
|
|
||||||
|
p->getIoManager().getPcf().getPinModeAll(ioMode);//We retrieve the IO modes aka INPUT or OUTPUT
|
||||||
|
|
||||||
|
if(HRD.getParams.count() == 0)//We send every IO mode
|
||||||
|
{
|
||||||
|
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"P0\" : \"%s\", \"P1\" : \"%s\", \"P2\" : \"%s\", \"P3\" : \"%s\", \"P4\" : \"%s\", \"P5\" : \"%s\", \"P6\" : \"%s\", \"P7\" : \"%s\" }",ioMode[0] ? "OUT":"IN",ioMode[1] ? "OUT":"IN",ioMode[2] ? "OUT":"IN",ioMode[3] ? "OUT":"IN",ioMode[4] ? "OUT":"IN",ioMode[5] ? "OUT":"IN",ioMode[6] ? "OUT":"IN",ioMode[7] ? "OUT":"IN");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
strcpy(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\"");
|
||||||
|
if(HRD.getParams("P0") != NULL)
|
||||||
|
{
|
||||||
|
sprintf(helperBuffer,", \"P0\" : \"%s\"",ioMode[0] ? "OUT":"IN");
|
||||||
|
strcat(buffer,helperBuffer);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P1") != NULL)
|
||||||
|
{
|
||||||
|
sprintf(helperBuffer,", \"P1\" : \"%s\"",ioMode[1] ? "OUT":"IN");
|
||||||
|
strcat(buffer,helperBuffer);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P2") != NULL)
|
||||||
|
{
|
||||||
|
sprintf(helperBuffer,", \"P2\" : \"%s\"",ioMode[2] ? "OUT":"IN");
|
||||||
|
strcat(buffer,helperBuffer);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P3") != NULL)
|
||||||
|
{
|
||||||
|
sprintf(helperBuffer,", \"P3\" : \"%s\"",ioMode[3] ? "OUT":"IN");
|
||||||
|
strcat(buffer,helperBuffer);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P4") != NULL)
|
||||||
|
{
|
||||||
|
sprintf(helperBuffer,", \"P4\" : \"%s\"",ioMode[4] ? "OUT":"IN");
|
||||||
|
strcat(buffer,helperBuffer);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P5") != NULL)
|
||||||
|
{
|
||||||
|
sprintf(helperBuffer,", \"P5\" : \"%s\"",ioMode[5] ? "OUT":"IN");
|
||||||
|
strcat(buffer,helperBuffer);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P6") != NULL)
|
||||||
|
{
|
||||||
|
sprintf(helperBuffer,", \"P6\" : \"%s\"",ioMode[6] ? "OUT":"IN");
|
||||||
|
strcat(buffer,helperBuffer);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P7") != NULL)
|
||||||
|
{
|
||||||
|
sprintf(helperBuffer,", \"P7\" : \"%s\"",ioMode[7] ? "OUT":"IN");
|
||||||
|
strcat(buffer,helperBuffer);
|
||||||
|
}
|
||||||
|
strcat(buffer," }");
|
||||||
|
}
|
||||||
|
|
||||||
|
wc->print(buffer);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean ioSetModeApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
|
||||||
|
{
|
||||||
|
SAB *p = (SAB *)pData;
|
||||||
|
char buffer[300] = "";
|
||||||
|
boolean ioMode[8] = {0};
|
||||||
|
|
||||||
|
if(HRD.getParams("P0") != NULL)
|
||||||
|
{
|
||||||
|
p->getIoManager().getPcf().pinMode(PCF8574::P0,strcmp(HRD.getParams("P0")->getString(), "IN") == 0 ? INPUT:OUTPUT);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P1") != NULL)
|
||||||
|
{
|
||||||
|
p->getIoManager().getPcf().pinMode(PCF8574::P1,strcmp(HRD.getParams("P1")->getString(), "IN") == 0 ? INPUT:OUTPUT);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P2") != NULL)
|
||||||
|
{
|
||||||
|
p->getIoManager().getPcf().pinMode(PCF8574::P2,strcmp(HRD.getParams("P2")->getString(), "IN") == 0 ? INPUT:OUTPUT);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P3") != NULL)
|
||||||
|
{
|
||||||
|
p->getIoManager().getPcf().pinMode(PCF8574::P3,strcmp(HRD.getParams("P3")->getString(), "IN") == 0 ? INPUT:OUTPUT);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P4") != NULL)
|
||||||
|
{
|
||||||
|
p->getIoManager().getPcf().pinMode(PCF8574::P4,strcmp(HRD.getParams("P4")->getString(), "IN") == 0 ? INPUT:OUTPUT);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P5") != NULL)
|
||||||
|
{
|
||||||
|
p->getIoManager().getPcf().pinMode(PCF8574::P5,strcmp(HRD.getParams("P5")->getString(), "IN") == 0 ? INPUT:OUTPUT);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P6") != NULL)
|
||||||
|
{
|
||||||
|
p->getIoManager().getPcf().pinMode(PCF8574::P6,strcmp(HRD.getParams("P6")->getString(), "IN") == 0 ? INPUT:OUTPUT);
|
||||||
|
}
|
||||||
|
if(HRD.getParams("P7") != NULL)
|
||||||
|
{
|
||||||
|
p->getIoManager().getPcf().pinMode(PCF8574::P7,strcmp(HRD.getParams("P7")->getString(), "IN") == 0 ? INPUT:OUTPUT);
|
||||||
|
}
|
||||||
|
|
||||||
|
p->getIoManager().getPcf().getPinModeAll(ioMode);//We retrieve the IO modes aka INPUT or OUTPUT
|
||||||
|
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"P0\" : \"%s\", \"P1\" : \"%s\", \"P2\" : \"%s\", \"P3\" : \"%s\", \"P4\" : \"%s\", \"P5\" : \"%s\", \"P6\" : \"%s\", \"P7\" : \"%s\" }",ioMode[0] ? "OUT":"IN",ioMode[1] ? "OUT":"IN",ioMode[2] ? "OUT":"IN",ioMode[3] ? "OUT":"IN",ioMode[4] ? "OUT":"IN",ioMode[5] ? "OUT":"IN",ioMode[6] ? "OUT":"IN",ioMode[7] ? "OUT":"IN");
|
||||||
|
|
||||||
|
wc->print(buffer);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
@ -25,5 +25,9 @@ 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 ioGetLevelApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
|
||||||
|
boolean ioSetLevelApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
|
||||||
|
boolean ioGetModeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
|
||||||
|
boolean ioSetModeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user