diff --git a/src/app/SAB.cpp b/src/app/SAB.cpp index 74744f9..777c7c6 100644 --- a/src/app/SAB.cpp +++ b/src/app/SAB.cpp @@ -1,6 +1,6 @@ #include "SAB.h" -SAB::SAB() : _screenConfig(128, 64, 0x3C), _sdCardConfig(SPI_FULL_SPEED), _display(_screenConfig.getWidth(), _screenConfig.getHeight(), &Wire), _screenManager(_display), _rtc(), _rtcManager(_rtc), _sdCardManager(), _error(0) +SAB::SAB() : _screenConfig(128, 64, 0x3C), _sdCardConfig(SPI_FULL_SPEED), _display(_screenConfig.getWidth(), _screenConfig.getHeight(), &Wire), _screenManager(_display), _rtc(), _rtcManager(_rtc), _sdCardManager(), _connectivityManager(NULL), _error(0) { Serial.begin(9600); delay(200); @@ -10,9 +10,10 @@ SAB::SAB() : _screenConfig(128, 64, 0x3C), _sdCardConfig(SPI_FULL_SPEED), _displ if(!_rtc.begin()) _error |= RTC_BEGIN_ERR; if(!_display.begin(SSD1306_SWITCHCAPVCC, _screenConfig.getAddress())){ _error |= DISP_BEGIN_ERR; } if(!_sdCardManager.begin(_sdCardConfig.getSPISpeed(), _pinConfig.getSPI_sdCard_cs())){ _error |= SDCARD_INIT_ERR; } + _connectivityManager = new ConnectivityManager(&_sdCardManager); } -SAB::SAB(const PinMapping pinConfig, const ScreenConfig screenConfig, const SDCardConfig sdCardConfig) : _pinConfig(pinConfig), _screenConfig(screenConfig), _sdCardConfig(sdCardConfig), _display(_screenConfig.getWidth(), _screenConfig.getHeight(), &Wire), _screenManager(_display), _rtc(), _rtcManager(_rtc), _sdCardManager(), _error(0) +SAB::SAB(const PinMapping pinConfig, const ScreenConfig screenConfig, const SDCardConfig sdCardConfig) : _pinConfig(pinConfig), _screenConfig(screenConfig), _sdCardConfig(sdCardConfig), _display(_screenConfig.getWidth(), _screenConfig.getHeight(), &Wire), _screenManager(_display), _rtc(), _rtcManager(_rtc), _sdCardManager(), _connectivityManager(NULL), _error(0) { Serial.begin(9600); delay(200); @@ -22,6 +23,7 @@ SAB::SAB(const PinMapping pinConfig, const ScreenConfig screenConfig, const SDCa if(!_rtc.begin()) _error |= RTC_BEGIN_ERR; if(!_display.begin(SSD1306_SWITCHCAPVCC, _screenConfig.getAddress())) _error |= DISP_BEGIN_ERR; if(!_sdCardManager.begin(_sdCardConfig.getSPISpeed(), _pinConfig.getSPI_sdCard_cs())){ _error |= SDCARD_INIT_ERR;} + _connectivityManager = new ConnectivityManager(&_sdCardManager); } ScreenManager& SAB::getScreenManager() @@ -41,7 +43,7 @@ SDCardManager& SAB::getSdCardManager() ConnectivityManager& SAB::getConnectivityManager() { - return _connectivityManager; + return *_connectivityManager; } ScreenConfig SAB::getScreenConfig() const diff --git a/src/app/SAB.h b/src/app/SAB.h index 047c4bd..3eedfe3 100644 --- a/src/app/SAB.h +++ b/src/app/SAB.h @@ -16,6 +16,10 @@ class SAB public: SAB(); SAB(const PinMapping pinConfig, const ScreenConfig screenConfig, const SDCardConfig sdCardConfig); + ~SAB() + { + delete _connectivityManager; + } ScreenManager& getScreenManager(); RtcManager& getRtcManager(); @@ -34,13 +38,10 @@ class SAB Adafruit_SSD1306 _display; ScreenManager _screenManager; - RTC_DS3231 _rtc; RtcManager _rtcManager; - SDCardManager _sdCardManager; - - ConnectivityManager _connectivityManager; + ConnectivityManager *_connectivityManager; unsigned char _error; };