diff --git a/src/app/SAB.cpp b/src/app/SAB.cpp index 65df6a4..96e8ea0 100644 --- a/src/app/SAB.cpp +++ b/src/app/SAB.cpp @@ -7,7 +7,8 @@ _screenConfig.getHeight(), &Wire), _screenManager(_display), _rtc(), _rtcManager(_rtc), _sdCardManager(), _connectivityManager(NULL), -_webServerManager(80, &_sdCardManager), +//_webServerManager(80, &_sdCardManager), +_webServer(80, &_sdCardManager), _pcf(0x27, Wire), _ioManager(_pcf), _taskSchedulerManager(_rtcManager), @@ -37,7 +38,8 @@ _rtc(), _rtcManager(_rtc), _sdCardManager(), _connectivityManager(NULL), -_webServerManager(webServerPort, &_sdCardManager), +//_webServerManager(webServerPort, &_sdCardManager), +_webServer(webServerPort, &_sdCardManager), _pcf(0x27, Wire), _ioManager(_pcf), _taskSchedulerManager(_rtcManager), @@ -82,9 +84,14 @@ ConnectivityManager& SAB::getConnectivityManager() return *_connectivityManager; } -WEBServerManager& SAB::getWebServerManager() +/*WEBServerManager& SAB::getWebServerManager() { return _webServerManager; +}*/ + +WEBServer& SAB::getWebServer() +{ + return _webServer; } IOManager& SAB::getIoManager() diff --git a/src/app/SAB.h b/src/app/SAB.h index ba508e7..e306f79 100644 --- a/src/app/SAB.h +++ b/src/app/SAB.h @@ -7,7 +7,8 @@ #include "ScreenManager.h" #include "SDCardManager.h" #include "ConnectivityManager.h" -#include "WEBServerManager.h" +//#include "WEBServerManager.h" +#include "WEBClient.h" //includes WEBServer internally #include "IOManager.h" #include "TaskSchedulerManager.h" #include "PowerManager.h" @@ -32,7 +33,8 @@ class SAB RtcManager& getRtcManager(); SDCardManager& getSdCardManager(); ConnectivityManager& getConnectivityManager(); - WEBServerManager& getWebServerManager(); + //WEBServerManager& getWebServerManager(); + WEBServer& getWebServer(); IOManager& getIoManager(); TaskSchedulerManager& getTaskSchedulerManager(); PowerManager& getPowerManager(); @@ -53,7 +55,8 @@ class SAB RtcManager _rtcManager; SDCardManager _sdCardManager; ConnectivityManager *_connectivityManager; - WEBServerManager _webServerManager; + //WEBServerManager _webServerManager; + WEBServer _webServer; PCF8574 _pcf; IOManager _ioManager; TaskSchedulerManager _taskSchedulerManager; diff --git a/src/app/app.ino b/src/app/app.ino index 038a6ac..0aeb04d 100644 --- a/src/app/app.ino +++ b/src/app/app.ino @@ -54,25 +54,25 @@ void setup() sab.getRtcManager().setDateTime(DateTime(F(__DATE__), F(__TIME__))); } - sab.getWebServerManager().addApiRoutine("/sab/web/apitester", &(apiTesterApi), NULL); - sab.getWebServerManager().addApiRoutine("/sab/view/next", &(nextViewApi), &sab, WEBServerManager::GET); - sab.getWebServerManager().addApiRoutine("/sab/view", &(viewByUIDApi), &sab, WEBServerManager::GET); - sab.getWebServerManager().addApiRoutine("/sab/rtc/get/datetime", &(rtcGetTimeApi), &sab, WEBServerManager::GET); - sab.getWebServerManager().addApiRoutine("/sab/rtc/set/datetime", &(rtcSetTimeApi), &sab, WEBServerManager::GET); - sab.getWebServerManager().addApiRoutine("/sab/sdcard/size", &(sdCardSizeApi), &sab, WEBServerManager::GET); + sab.getWebServer().addApiRoutine("/sab/web/apitester", &(apiTesterApi), NULL); + sab.getWebServer().addApiRoutine("/sab/view/next", &(nextViewApi), &sab, WEBServer::GET); + sab.getWebServer().addApiRoutine("/sab/view", &(viewByUIDApi), &sab, WEBServer::GET); + sab.getWebServer().addApiRoutine("/sab/rtc/get/datetime", &(rtcGetTimeApi), &sab, WEBServer::GET); + sab.getWebServer().addApiRoutine("/sab/rtc/set/datetime", &(rtcSetTimeApi), &sab, WEBServer::GET); + sab.getWebServer().addApiRoutine("/sab/sdcard/size", &(sdCardSizeApi), &sab, WEBServer::GET); sdCardApiPacket.pSab = &sab;sdCardApiPacket.pView = &v1p; - sab.getWebServerManager().addApiRoutine("/sab/sdcard/unmount", &(sdCardUnmountApi), &sdCardApiPacket, WEBServerManager::GET); - sab.getWebServerManager().addApiRoutine("/sab/sdcard/mount", &(sdCardMountApi), &sdCardApiPacket, WEBServerManager::GET); + sab.getWebServer().addApiRoutine("/sab/sdcard/unmount", &(sdCardUnmountApi), &sdCardApiPacket, WEBServer::GET); + sab.getWebServer().addApiRoutine("/sab/sdcard/mount", &(sdCardMountApi), &sdCardApiPacket, WEBServer::GET); - sab.getWebServerManager().addApiRoutine("/esp/restart", &(espRestartApi), &sab, WEBServerManager::GET); - sab.getWebServerManager().addApiRoutine("/esp/reset", &(espResetApi), &sab, WEBServerManager::GET); - sab.getWebServerManager().addApiRoutine("/sab/wifi/stainfo", &(staWifiInfoApi), &sab, WEBServerManager::GET); - sab.getWebServerManager().addApiRoutine("/sab/systeminfo", &(systemInfoApi), &sab, WEBServerManager::GET); - sab.getWebServerManager().addApiRoutine("/sab/power/info", &(powerInfoApi), &sab, WEBServerManager::GET); - sab.getWebServerManager().addApiRoutine("/sab/io/get/level", &(ioGetLevelApi), vio.ioState, WEBServerManager::GET); - sab.getWebServerManager().addApiRoutine("/sab/io/set/level", &(ioSetLevelApi), &sab, WEBServerManager::GET); - sab.getWebServerManager().addApiRoutine("/sab/io/get/mode", &(ioGetModeApi), &sab, WEBServerManager::GET); - sab.getWebServerManager().addApiRoutine("/sab/io/set/mode", &(ioSetModeApi), &sab, WEBServerManager::GET); + sab.getWebServer().addApiRoutine("/esp/restart", &(espRestartApi), &sab, WEBServer::GET); + sab.getWebServer().addApiRoutine("/esp/reset", &(espResetApi), &sab, WEBServer::GET); + sab.getWebServer().addApiRoutine("/sab/wifi/stainfo", &(staWifiInfoApi), &sab, WEBServer::GET); + sab.getWebServer().addApiRoutine("/sab/systeminfo", &(systemInfoApi), &sab, WEBServer::GET); + sab.getWebServer().addApiRoutine("/sab/power/info", &(powerInfoApi), &sab, WEBServer::GET); + sab.getWebServer().addApiRoutine("/sab/io/get/level", &(ioGetLevelApi), vio.ioState, WEBServer::GET); + sab.getWebServer().addApiRoutine("/sab/io/set/level", &(ioSetLevelApi), &sab, WEBServer::GET); + sab.getWebServer().addApiRoutine("/sab/io/get/mode", &(ioGetModeApi), &sab, WEBServer::GET); + sab.getWebServer().addApiRoutine("/sab/io/set/mode", &(ioSetModeApi), &sab, WEBServer::GET); sab.getIoManager().setISROnIOChange(&(ioISR), GPIO_3_RX); @@ -119,7 +119,7 @@ void loop() } //Run the webServer - sab.getWebServerManager().runServer(); + sab.getWebServer().runServer(); sab.getTaskSchedulerManager().runTaskScheduler(); } diff --git a/src/app/definition.h b/src/app/definition.h index ebdffc4..85b90b3 100644 --- a/src/app/definition.h +++ b/src/app/definition.h @@ -18,8 +18,6 @@ typedef enum { GPIO_0 = 0, GPIO_16 = 16, ADC = A0, DEFAULT_PIN = -1 } Pin; - -#define MALLOC_ERR B00000001 #define AP_AND_STA_ENABLED_ERR B00000001 #define AP_SETUP_ERR B00000010 diff --git a/src/app/versions.h b/src/app/versions.h index 9a429c8..c69a3f8 100644 --- a/src/app/versions.h +++ b/src/app/versions.h @@ -14,5 +14,7 @@ #define SOFT_VERSION "1.1.3" //TaskSchedulerManager added millis rollover #define SOFT_VERSION "1.1.4" //Cleaned AP and STA wifi start #define SOFT_VERSION "1.2.0" //Added new PowerManager class +#define SOFT_VERSION "1.2.1" //Corrected a bug in the TaskSchedulerManager class +#define SOFT_VERSION "1.3.0" //Implemented multi-client non blocking webserver #endif //VERSIONS_H diff --git a/src/app/webApi.cpp b/src/app/webApi.cpp index 7fcb4bf..75b5514 100644 --- a/src/app/webApi.cpp +++ b/src/app/webApi.cpp @@ -2,13 +2,13 @@ #include "webApi.h" #include "tasks.h" -boolean apiTesterApi(WEBServerManager::HttpRequestData &HRD, WiFiClient* wc, void* pData) +boolean apiTesterApi(WEBServer::HttpRequestData &HRD, WiFiClient* wc, void* pData) { wc->print(F("HTTP/1.1 200 OK\r\nContent-Type: application/json\r\n\r\n{ \"status\" : \"ok\", \"API\" : \"available\" }")); return true; } -boolean viewByUIDApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) +boolean viewByUIDApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { SAB *p = (SAB *)pData; char buffer[200]; @@ -31,7 +31,7 @@ boolean viewByUIDApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, voi return true; } -boolean nextViewApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) +boolean nextViewApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { SAB *p = (SAB *)pData; char buffer[200]; @@ -43,7 +43,7 @@ boolean nextViewApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void return true; } -boolean rtcGetTimeApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) +boolean rtcGetTimeApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { SAB *p = (SAB *)pData; char buffer[200]; @@ -53,7 +53,7 @@ boolean rtcGetTimeApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, vo return true; } -boolean rtcSetTimeApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) +boolean rtcSetTimeApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { SAB *p = (SAB *)pData; char buffer[200]; @@ -101,7 +101,7 @@ boolean rtcSetTimeApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, vo return true; } -boolean sdCardUnmountApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) +boolean sdCardUnmountApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { SdCardApiPacket *pV = (SdCardApiPacket*)pData; SAB *p = (SAB *)pV->pSab; @@ -114,7 +114,7 @@ boolean sdCardUnmountApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, return true; } -boolean sdCardMountApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) +boolean sdCardMountApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { SdCardApiPacket *pV = (SdCardApiPacket*)pData; SAB *p = (SAB *)pV->pSab; @@ -133,7 +133,7 @@ boolean sdCardMountApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, v return true; } -boolean espRestartApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) +boolean espRestartApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { SAB *sab = (SAB*)pData; char buffer[200]; @@ -149,12 +149,12 @@ boolean espRestartApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, vo return true; } -boolean espResetApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) +boolean espResetApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { return espRestartApi(HRD, wc, pData); } -boolean sdCardSizeApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) +boolean sdCardSizeApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { SAB *p = (SAB *)pData; char buffer[200]; @@ -168,7 +168,7 @@ boolean sdCardSizeApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, vo return true; } -boolean staWifiInfoApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) +boolean staWifiInfoApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { SAB *p = (SAB *)pData; char buffer[300]; @@ -180,7 +180,7 @@ boolean staWifiInfoApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, v return true; } -boolean systemInfoApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) +boolean systemInfoApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { SAB *p = (SAB *)pData; char buffer[300]; @@ -194,7 +194,7 @@ boolean systemInfoApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, vo return true; } -boolean powerInfoApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) +boolean powerInfoApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { SAB *p = (SAB *)pData; char buffer[300]; @@ -206,7 +206,7 @@ boolean powerInfoApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, voi return true; } -boolean ioGetLevelApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) +boolean ioGetLevelApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { boolean *ioState = (boolean *)pData; char buffer[300] = ""; @@ -266,7 +266,7 @@ boolean ioGetLevelApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, vo return true; } -boolean ioSetLevelApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) +boolean ioSetLevelApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { SAB *p = (SAB *)pData; char buffer[300] = ""; @@ -312,7 +312,7 @@ boolean ioSetLevelApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, vo return true; } -boolean ioGetModeApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) +boolean ioGetModeApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { SAB *p = (SAB *)pData; boolean ioMode[8] = {0}; @@ -375,7 +375,7 @@ boolean ioGetModeApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, voi return true; } -boolean ioSetModeApi(WEBServerManager::HttpRequestData &HRD, WiFiClient *wc, void *pData) +boolean ioSetModeApi(WEBServer::HttpRequestData &HRD, WiFiClient *wc, void *pData) { SAB *p = (SAB *)pData; char buffer[300] = ""; diff --git a/src/app/webApi.h b/src/app/webApi.h index 3ece181..34aeaa9 100644 --- a/src/app/webApi.h +++ b/src/app/webApi.h @@ -1,33 +1,33 @@ #ifndef WEBAPI_H #define WEBAPI_H -#include "WebServerManager.h" +//#include "WebServerManager.h" #include "SAB.h" #include "views.h" -boolean apiTesterApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); -boolean nextViewApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); -boolean viewByUIDApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); -boolean rtcGetTimeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); -boolean rtcSetTimeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); -boolean sdCardSizeApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); +boolean apiTesterApi(WEBServer::HttpRequestData&, WiFiClient*, void*); +boolean nextViewApi(WEBServer::HttpRequestData&, WiFiClient*, void*); +boolean viewByUIDApi(WEBServer::HttpRequestData&, WiFiClient*, void*); +boolean rtcGetTimeApi(WEBServer::HttpRequestData&, WiFiClient*, void*); +boolean rtcSetTimeApi(WEBServer::HttpRequestData&, WiFiClient*, void*); +boolean sdCardSizeApi(WEBServer::HttpRequestData&, WiFiClient*, void*); typedef struct sdCardApiPacket { SAB *pSab; View1Packet *pView; } SdCardApiPacket; -boolean sdCardUnmountApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); -boolean sdCardMountApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); +boolean sdCardUnmountApi(WEBServer::HttpRequestData&, WiFiClient*, void*); +boolean sdCardMountApi(WEBServer::HttpRequestData&, WiFiClient*, void*); -boolean staWifiInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); -boolean apWifiInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); -boolean espRestartApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); -boolean espResetApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); -boolean systemInfoApi(WEBServerManager::HttpRequestData&, WiFiClient*, void*); -boolean powerInfoApi(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*); +boolean staWifiInfoApi(WEBServer::HttpRequestData&, WiFiClient*, void*); +boolean apWifiInfoApi(WEBServer::HttpRequestData&, WiFiClient*, void*); +boolean espRestartApi(WEBServer::HttpRequestData&, WiFiClient*, void*); +boolean espResetApi(WEBServer::HttpRequestData&, WiFiClient*, void*); +boolean systemInfoApi(WEBServer::HttpRequestData&, WiFiClient*, void*); +boolean powerInfoApi(WEBServer::HttpRequestData&, WiFiClient*, void*); +boolean ioGetLevelApi(WEBServer::HttpRequestData&, WiFiClient*, void*); +boolean ioSetLevelApi(WEBServer::HttpRequestData&, WiFiClient*, void*); +boolean ioGetModeApi(WEBServer::HttpRequestData&, WiFiClient*, void*); +boolean ioSetModeApi(WEBServer::HttpRequestData&, WiFiClient*, void*); #endif