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