add demo project implementation

This commit is contained in:
Rick Watson
2019-08-09 15:53:39 +01:00
parent aeea0d9aa6
commit df06e58fb0
12 changed files with 182 additions and 34 deletions

View File

@ -1,23 +1,35 @@
#ifndef DemoProject_h
#define DemoProject_h
#include <ESPAsyncWebServer.h>
#include <SecurityManager.h>
#include <SettingsService.h>
class DemoProject {
#define BLINK_LED 2
#define MAX_DELAY 1000
#define DEFAULT_BLINK_SPEED 100
#define DEMO_SETTINGS_FILE "/config/demoSettings.json"
#define DEMO_SETTINGS_PATH "/rest/demoSettings"
class DemoProject : public AdminSettingsService {
public:
DemoProject(AsyncWebServer *server, SecurityManager* securityManager) : _server(server), _securityManager(securityManager) {}
DemoProject(FS* fs, SecurityManager* securityManager) : AdminSettingsService(fs, securityManager, DEMO_SETTINGS_PATH, DEMO_SETTINGS_FILE) {}
~DemoProject() {}
void begin();
void init(AsyncWebServer* server);
void loop();
private:
AsyncWebServer* _server;
SecurityManager* _securityManager;
unsigned long _lastBlink = 0;
uint8_t _blinkSpeed = 255;
protected:
void readFromJsonObject(JsonObject& root);
void writeToJsonObject(JsonObject& root);
};
#endif