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),
_rtc(),
_rtcManager(_rtc),
_connectivityManager(NULL),
//_webServerManager(80, &_sdCardManager),
_connectivityManager(_sdCardManager),
_webServer(80, &_sdCardManager, 10),
_ftpServer(21, &_sdCardManager, "ESP8266", "12345678", 10),
_dbWSServer(81),
_pcf(_boardConfig.getI2C_IOExpanderAddress(), Wire),
_ioManager(_pcf),
_taskSchedulerManager(_rtcManager),
_error(0)
_taskSchedulerManager(_rtcManager)
{
initCommonConfig();
}
@ -29,15 +27,13 @@ _display(_boardConfig.getScreenWidth(), _boardConfig.getScreenHeight(), &Wire),
_screenManager(_display, &_sdCardManager),
_rtc(),
_rtcManager(_rtc),
_connectivityManager(NULL),
//_webServerManager(webServerPort, &_sdCardManager),
_connectivityManager(_sdCardManager),
_webServer(webServerPort, &_sdCardManager, 10),
_ftpServer(ftpServerPort, &_sdCardManager, "ESP8266", "12345678", 10),
_dbWSServer(81),
_pcf(_boardConfig.getI2C_IOExpanderAddress(), Wire),
_ioManager(_pcf),
_taskSchedulerManager(_rtcManager),
_error(0)
_taskSchedulerManager(_rtcManager)
{
initCommonConfig();
}
@ -58,13 +54,19 @@ void SAB::initCommonConfig()
SAB::_rtcManagerP = &_rtcManager;
}
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
{
_sdCardManager.setTimeCallback(&(SAB::myTimeCallback));
}
_screenManager.init();
_connectivityManager = new ConnectivityManager(_sdCardManager);
if(!_connectivityManager.connect()){ _error |= CONNECT_ERR;}
if(!_pcf.begin()){_error |= IO_INIT_ERR;}
_powerUpTime = _rtcManager.getDateTime();
@ -107,14 +109,9 @@ SDCardManager& SAB::getSdCardManager()
ConnectivityManager& SAB::getConnectivityManager()
{
return *_connectivityManager;
return _connectivityManager;
}
/*WEBServerManager& SAB::getWebServerManager()
{
return _webServerManager;
}*/
WEBServer<WEBClient>& SAB::getWebServer()
{
return _webServer;
@ -155,7 +152,7 @@ const char *SAB::getSoftVersion() const
return SOFT_VERSION;
}
unsigned char SAB::getError() const
uint8_t SAB::getError() const
{
return _error;
}

View File

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