#ifndef SAB_H #define SAB_H #include "PinMapping.h" #include "ScreenConfig.h" #include "SDCardConfig.h" #include "RtcManager.h" #include "ScreenManager.h" #include "SDCardManager.h" #include "ConnectivityManager.h" //#include "WEBServerManager.h" #include "WEBClient.h" //includes WEBServer internally #include "IOManager.h" #include "TaskSchedulerManager.h" #include "PowerManager.h" #include "versions.h" #include #include #include class SAB { public: enum Error {RTC_BEGIN_ERR = 1, DISP_BEGIN_ERR = 2, SDCARD_INIT_ERR = 4, IO_INIT_ERR = 8}; SAB(); SAB(const PinMapping pinConfig, const ScreenConfig screenConfig, const SDCardConfig sdCardConfig, const unsigned int webServerPort); ~SAB() { delete _connectivityManager; } ScreenManager& getScreenManager(); RtcManager& getRtcManager(); SDCardManager& getSdCardManager(); ConnectivityManager& getConnectivityManager(); //WEBServerManager& getWebServerManager(); WEBServer& getWebServer(); IOManager& getIoManager(); TaskSchedulerManager& getTaskSchedulerManager(); PowerManager& getPowerManager(); ScreenConfig getScreenConfig() const; PinMapping getPinConfig() const; SDCardConfig getSdCardConfig() const; const char *getSoftVersion() const; unsigned char getError() const; private: void initGPIO(); const PinMapping _pinConfig; const ScreenConfig _screenConfig; const SDCardConfig _sdCardConfig; Adafruit_SSD1306 _display; ScreenManager _screenManager; RTC_DS3231 _rtc; RtcManager _rtcManager; SDCardManager _sdCardManager; ConnectivityManager *_connectivityManager; //WEBServerManager _webServerManager; WEBServer _webServer; PCF8574 _pcf; IOManager _ioManager; TaskSchedulerManager _taskSchedulerManager; PowerManager _powerManager; uint8_t _error; }; #endif //SAB_H