Changed the way the ConnectivityManager is instantiated, it is no more newed and deleted

This commit is contained in:
Th3maz1ng 2022-04-17 21:52:02 +02:00
parent 1e453eb5d8
commit 16f917a0b2
2 changed files with 18 additions and 23 deletions

View File

@ -10,15 +10,13 @@ _display(_boardConfig.getScreenWidth(),_boardConfig.getScreenHeight(), &Wire),
_screenManager(_display, &_sdCardManager), _screenManager(_display, &_sdCardManager),
_rtc(), _rtc(),
_rtcManager(_rtc), _rtcManager(_rtc),
_connectivityManager(NULL), _connectivityManager(_sdCardManager),
//_webServerManager(80, &_sdCardManager),
_webServer(80, &_sdCardManager, 10), _webServer(80, &_sdCardManager, 10),
_ftpServer(21, &_sdCardManager, "ESP8266", "12345678", 10), _ftpServer(21, &_sdCardManager, "ESP8266", "12345678", 10),
_dbWSServer(81), _dbWSServer(81),
_pcf(_boardConfig.getI2C_IOExpanderAddress(), Wire), _pcf(_boardConfig.getI2C_IOExpanderAddress(), Wire),
_ioManager(_pcf), _ioManager(_pcf),
_taskSchedulerManager(_rtcManager), _taskSchedulerManager(_rtcManager)
_error(0)
{ {
initCommonConfig(); initCommonConfig();
} }
@ -29,15 +27,13 @@ _display(_boardConfig.getScreenWidth(), _boardConfig.getScreenHeight(), &Wire),
_screenManager(_display, &_sdCardManager), _screenManager(_display, &_sdCardManager),
_rtc(), _rtc(),
_rtcManager(_rtc), _rtcManager(_rtc),
_connectivityManager(NULL), _connectivityManager(_sdCardManager),
//_webServerManager(webServerPort, &_sdCardManager),
_webServer(webServerPort, &_sdCardManager, 10), _webServer(webServerPort, &_sdCardManager, 10),
_ftpServer(ftpServerPort, &_sdCardManager, "ESP8266", "12345678", 10), _ftpServer(ftpServerPort, &_sdCardManager, "ESP8266", "12345678", 10),
_dbWSServer(81), _dbWSServer(81),
_pcf(_boardConfig.getI2C_IOExpanderAddress(), Wire), _pcf(_boardConfig.getI2C_IOExpanderAddress(), Wire),
_ioManager(_pcf), _ioManager(_pcf),
_taskSchedulerManager(_rtcManager), _taskSchedulerManager(_rtcManager)
_error(0)
{ {
initCommonConfig(); initCommonConfig();
} }
@ -58,13 +54,19 @@ void SAB::initCommonConfig()
SAB::_rtcManagerP = &_rtcManager; SAB::_rtcManagerP = &_rtcManager;
} }
if(!_display.begin(SSD1306_SWITCHCAPVCC, _boardConfig.getI2C_screenAddress())){ _error |= DISP_BEGIN_ERR;} if(!_display.begin(SSD1306_SWITCHCAPVCC, _boardConfig.getI2C_screenAddress())){ _error |= DISP_BEGIN_ERR;}
if(!_sdCardManager.mountSD()){ _error |= SDCARD_INIT_ERR; Serial.print("Failed to init SDCard : SPI_SPEED : "); Serial.print(8000000); Serial.print(" CS PIN : "); Serial.println(_boardConfig.getSPI_SDCard_cs());} if(!_sdCardManager.mountSD())
{
_error |= SDCARD_INIT_ERR;
Serial.printf_P(PSTR("Failed to init SDCard :\n\tSpeed -> %u\n\tCS Pin -> %u\n"),
_boardConfig.getSPISpeed(),
_boardConfig.getSPI_SDCard_cs());
}
else else
{ {
_sdCardManager.setTimeCallback(&(SAB::myTimeCallback)); _sdCardManager.setTimeCallback(&(SAB::myTimeCallback));
} }
_screenManager.init(); _screenManager.init();
_connectivityManager = new ConnectivityManager(_sdCardManager); if(!_connectivityManager.connect()){ _error |= CONNECT_ERR;}
if(!_pcf.begin()){_error |= IO_INIT_ERR;} if(!_pcf.begin()){_error |= IO_INIT_ERR;}
_powerUpTime = _rtcManager.getDateTime(); _powerUpTime = _rtcManager.getDateTime();
@ -107,14 +109,9 @@ SDCardManager& SAB::getSdCardManager()
ConnectivityManager& SAB::getConnectivityManager() ConnectivityManager& SAB::getConnectivityManager()
{ {
return *_connectivityManager; return _connectivityManager;
} }
/*WEBServerManager& SAB::getWebServerManager()
{
return _webServerManager;
}*/
WEBServer<WEBClient>& SAB::getWebServer() WEBServer<WEBClient>& SAB::getWebServer()
{ {
return _webServer; return _webServer;
@ -155,7 +152,7 @@ const char *SAB::getSoftVersion() const
return SOFT_VERSION; return SOFT_VERSION;
} }
unsigned char SAB::getError() const uint8_t SAB::getError() const
{ {
return _error; return _error;
} }

View File

@ -6,7 +6,6 @@
#include "ScreenManager.h" #include "ScreenManager.h"
#include "SDCardManager.h" #include "SDCardManager.h"
#include "ConnectivityManager.h" #include "ConnectivityManager.h"
//#include "WEBServerManager.h"
#include "WEBClient.h" //includes WEBServer internally #include "WEBClient.h" //includes WEBServer internally
#include "FTPClient.h" //includes FTPServer internally #include "FTPClient.h" //includes FTPServer internally
#include "DashboardWSServer.h" #include "DashboardWSServer.h"
@ -21,13 +20,12 @@
class SAB class SAB
{ {
public: public:
enum Error {RTC_BEGIN_ERR = 1, DISP_BEGIN_ERR = 2, SDCARD_INIT_ERR = 4, IO_INIT_ERR = 8}; enum Error {RTC_BEGIN_ERR = 1, DISP_BEGIN_ERR = 2, SDCARD_INIT_ERR = 4, IO_INIT_ERR = 8, CONNECT_ERR = 16};
SAB(); SAB();
SAB(const BoardConfig boardConfig, const unsigned int webServerPort = 80, const unsigned int ftpServerPort = 21); SAB(const BoardConfig boardConfig, const unsigned int webServerPort = 80, const unsigned int ftpServerPort = 21);
~SAB() ~SAB()
{ {
delete _connectivityManager;
} }
ScreenManager& getScreenManager(); ScreenManager& getScreenManager();
@ -45,7 +43,7 @@ class SAB
void run(); void run();
const char *getSoftVersion() const; const char *getSoftVersion() const;
unsigned char getError() const; uint8_t getError() const;
private: private:
void initGPIO(); void initGPIO();
static time_t myTimeCallback(); static time_t myTimeCallback();
@ -58,7 +56,7 @@ class SAB
RTC_DS3231 _rtc; RTC_DS3231 _rtc;
RtcManager _rtcManager; RtcManager _rtcManager;
static RtcManager *_rtcManagerP; static RtcManager *_rtcManagerP;
ConnectivityManager *_connectivityManager; ConnectivityManager _connectivityManager;
//WEBServerManager _webServerManager; //WEBServerManager _webServerManager;
WEBServer<WEBClient> _webServer; WEBServer<WEBClient> _webServer;
FTPServer<FTPClient> _ftpServer; FTPServer<FTPClient> _ftpServer;
@ -68,7 +66,7 @@ class SAB
TaskSchedulerManager _taskSchedulerManager; TaskSchedulerManager _taskSchedulerManager;
PowerManager _powerManager; PowerManager _powerManager;
DateTime _powerUpTime; DateTime _powerUpTime;
uint8_t _error; uint8_t _error = NO_ERROR;
}; };
#endif //SAB_H #endif //SAB_H