Reworked the reset and restart api calls

This commit is contained in:
anschrammh 2019-09-01 21:35:52 +02:00
parent 9c030518c5
commit 6c06233dd6

View File

@ -1,5 +1,6 @@
#include "SAB.h"
#include "webApi.h"
#include "tasks.h"
boolean apiTesterApi(WEBServerManager::HttpRequestData &HRD, WiFiClient* wc, void* pData)
{
@ -134,16 +135,28 @@ boolean sdCardMountApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, v
boolean espRestartApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
{
ESP.restart();
SAB *sab = (SAB*)pData;
char buffer[200];
sprintf(buffer,"HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"message\" : \"module restarting in 10 seconds\" }");
wc->print(buffer);
unsigned int id = sab->getTaskSchedulerManager().taskCount()+1;
sab->getTaskSchedulerManager().addTask(id, TaskSchedulerManagerHelper::Schedule::scheduleBuilder()
->setSeconds(10)
->setTriggerType(TaskSchedulerManagerHelper::Schedule::TRIGGER_ONCE_AND_DELETE)
->setTriggerRightAway(false), &(task_esp_reset_restart), NULL);
Serial.print(F("Task id : "));Serial.println(id);
return true;
}
boolean espResetApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)
{
ESP.restart();
return true;
return espRestartApi(HRD, wc, pData);
}
boolean sdCardSizeApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData)