Minor changes due to IOManager

This commit is contained in:
anschrammh 2019-04-23 08:02:54 +02:00
parent efd4ec5fd5
commit b3bf8d7f0c
2 changed files with 32 additions and 6 deletions

View File

@ -8,9 +8,14 @@ _screenManager(_display), _rtc(),
_rtcManager(_rtc), _sdCardManager(), _rtcManager(_rtc), _sdCardManager(),
_connectivityManager(NULL), _connectivityManager(NULL),
_webServerManager(80, &_sdCardManager), _webServerManager(80, &_sdCardManager),
_pcf(0x27, Wire),
_ioManager(_pcf),
_error(0) _error(0)
{ {
Serial.begin(9600); //We set the gpio up
initGPIO();
//Serial.begin(9600);
Serial.begin(9600, SERIAL_8N1, SERIAL_TX_ONLY);
delay(200); delay(200);
//We initialize the pins for the I2C communication //We initialize the pins for the I2C communication
@ -19,6 +24,7 @@ _error(0)
if(!_display.begin(SSD1306_SWITCHCAPVCC, _screenConfig.getAddress())){ _error |= DISP_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; Serial.print("Failed to init SDCard : SPI_SPEED : "); Serial.print(_sdCardConfig.getSPISpeed()); Serial.print(" CS PIN : "); Serial.println(_pinConfig.getSPI_sdCard_cs());} if(!_sdCardManager.begin(_sdCardConfig.getSPISpeed(), _pinConfig.getSPI_sdCard_cs())){ _error |= SDCARD_INIT_ERR; Serial.print("Failed to init SDCard : SPI_SPEED : "); Serial.print(_sdCardConfig.getSPISpeed()); Serial.print(" CS PIN : "); Serial.println(_pinConfig.getSPI_sdCard_cs());}
_connectivityManager = new ConnectivityManager(&_sdCardManager); _connectivityManager = new ConnectivityManager(&_sdCardManager);
if(!_pcf.begin()){_error |= IO_INIT_ERR;}
} }
SAB::SAB(const PinMapping pinConfig, const ScreenConfig screenConfig, const SDCardConfig sdCardConfig, const unsigned int webServerPort) : _pinConfig(pinConfig), SAB::SAB(const PinMapping pinConfig, const ScreenConfig screenConfig, const SDCardConfig sdCardConfig, const unsigned int webServerPort) : _pinConfig(pinConfig),
@ -31,17 +37,27 @@ _rtcManager(_rtc),
_sdCardManager(), _sdCardManager(),
_connectivityManager(NULL), _connectivityManager(NULL),
_webServerManager(webServerPort, &_sdCardManager), _webServerManager(webServerPort, &_sdCardManager),
_pcf(0x27, Wire),
_ioManager(_pcf),
_error(0) _error(0)
{ {
Serial.begin(9600); //We set the gpio up
initGPIO();
//Serial.begin(9600);
Serial.begin(9600, SERIAL_8N1, SERIAL_TX_ONLY);
delay(200); delay(200);
//We initialize the pins for the I2C communication //We initialize the pins for the I2C communication
Wire.begin(_pinConfig.getI2C_sda(), _pinConfig.getI2C_scl()); Wire.begin(_pinConfig.getI2C_sda(), _pinConfig.getI2C_scl());
if(!_rtc.begin()) _error |= RTC_BEGIN_ERR; if(!_rtc.begin()) _error |= RTC_BEGIN_ERR;
if(!_display.begin(SSD1306_SWITCHCAPVCC, _screenConfig.getAddress())) _error |= DISP_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; Serial.print("Failed to init SDCard : SPI_SPEED : "); Serial.print(_sdCardConfig.getSPISpeed()); Serial.print(" CS PIN : "); Serial.println(_pinConfig.getSPI_sdCard_cs());} if(!_sdCardManager.begin(_sdCardConfig.getSPISpeed(), _pinConfig.getSPI_sdCard_cs())){ _error |= SDCARD_INIT_ERR; Serial.print("Failed to init SDCard : SPI_SPEED : "); Serial.print(_sdCardConfig.getSPISpeed()); Serial.print(" CS PIN : "); Serial.println(_pinConfig.getSPI_sdCard_cs());}
_connectivityManager = new ConnectivityManager(&_sdCardManager); _connectivityManager = new ConnectivityManager(&_sdCardManager);
if(!_pcf.begin()){_error |= IO_INIT_ERR;}
}
void SAB::initGPIO()
{
pinMode(GPIO_0, INPUT);
} }
ScreenManager& SAB::getScreenManager() ScreenManager& SAB::getScreenManager()
@ -69,6 +85,11 @@ WEBServerManager& SAB::getWebServerManager()
return _webServerManager; return _webServerManager;
} }
IOManager& SAB::getIoManager()
{
return _ioManager;
}
ScreenConfig SAB::getScreenConfig() const ScreenConfig SAB::getScreenConfig() const
{ {
return _screenConfig; return _screenConfig;

View File

@ -8,6 +8,7 @@
#include "SDCardManager.h" #include "SDCardManager.h"
#include "ConnectivityManager.h" #include "ConnectivityManager.h"
#include "WEBServerManager.h" #include "WEBServerManager.h"
#include "IOManager.h"
#include <Adafruit_SSD1306.h> #include <Adafruit_SSD1306.h>
#include <RTClib.h> #include <RTClib.h>
#include <SD.h> #include <SD.h>
@ -27,6 +28,7 @@ class SAB
SDCardManager& getSdCardManager(); SDCardManager& getSdCardManager();
ConnectivityManager& getConnectivityManager(); ConnectivityManager& getConnectivityManager();
WEBServerManager& getWebServerManager(); WEBServerManager& getWebServerManager();
IOManager& getIoManager();
ScreenConfig getScreenConfig() const; ScreenConfig getScreenConfig() const;
PinMapping getPinConfig() const; PinMapping getPinConfig() const;
SDCardConfig getSdCardConfig() const; SDCardConfig getSdCardConfig() const;
@ -34,6 +36,7 @@ class SAB
PowerInfo getPowerInfo(const unsigned char nbOfMeasures = 5) const; PowerInfo getPowerInfo(const unsigned char nbOfMeasures = 5) const;
unsigned char getError() const; unsigned char getError() const;
private: private:
void initGPIO();
const PinMapping _pinConfig; const PinMapping _pinConfig;
const ScreenConfig _screenConfig; const ScreenConfig _screenConfig;
const SDCardConfig _sdCardConfig; const SDCardConfig _sdCardConfig;
@ -45,6 +48,8 @@ class SAB
SDCardManager _sdCardManager; SDCardManager _sdCardManager;
ConnectivityManager *_connectivityManager; ConnectivityManager *_connectivityManager;
WEBServerManager _webServerManager; WEBServerManager _webServerManager;
PCF8574 _pcf;
IOManager _ioManager;
unsigned char _error; unsigned char _error;
}; };