Migrate WebApi to TaskScheduler
This commit is contained in:
parent
ab8679e7b9
commit
80d534e045
@ -22,12 +22,12 @@
|
||||
#include "WebApi_ws_console.h"
|
||||
#include "WebApi_ws_live.h"
|
||||
#include <ESPAsyncWebServer.h>
|
||||
#include <TaskSchedulerDeclarations.h>
|
||||
|
||||
class WebApiClass {
|
||||
public:
|
||||
WebApiClass();
|
||||
void init();
|
||||
void loop();
|
||||
void init(Scheduler* scheduler);
|
||||
|
||||
static bool checkCredentials(AsyncWebServerRequest* request);
|
||||
static bool checkCredentialsReadonly(AsyncWebServerRequest* request);
|
||||
@ -35,6 +35,10 @@ public:
|
||||
static void sendTooManyRequests(AsyncWebServerRequest* request);
|
||||
|
||||
private:
|
||||
void loop();
|
||||
|
||||
Task _loopTask;
|
||||
|
||||
AsyncWebServer _server;
|
||||
AsyncEventSource _events;
|
||||
|
||||
|
||||
@ -13,7 +13,7 @@ WebApiClass::WebApiClass()
|
||||
{
|
||||
}
|
||||
|
||||
void WebApiClass::init()
|
||||
void WebApiClass::init(Scheduler* scheduler)
|
||||
{
|
||||
_server.addHandler(&_events);
|
||||
|
||||
@ -39,6 +39,11 @@ void WebApiClass::init()
|
||||
_webApiWsLive.init(&_server);
|
||||
|
||||
_server.begin();
|
||||
|
||||
scheduler->addTask(_loopTask);
|
||||
_loopTask.setCallback(std::bind(&WebApiClass::loop, this));
|
||||
_loopTask.setIterations(TASK_FOREVER);
|
||||
_loopTask.enable();
|
||||
}
|
||||
|
||||
void WebApiClass::loop()
|
||||
|
||||
@ -108,7 +108,7 @@ void setup()
|
||||
|
||||
// Initialize WebApi
|
||||
MessageOutput.print("Initialize WebApi... ");
|
||||
WebApi.init();
|
||||
WebApi.init(&scheduler);
|
||||
MessageOutput.println("done");
|
||||
|
||||
// Initialize Display
|
||||
@ -154,7 +154,4 @@ void setup()
|
||||
void loop()
|
||||
{
|
||||
scheduler.execute();
|
||||
|
||||
WebApi.loop();
|
||||
yield();
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user