From b3bf8d7f0c2f1df833426814a2091f8416dad9bf Mon Sep 17 00:00:00 2001 From: anschrammh Date: Tue, 23 Apr 2019 08:02:54 +0200 Subject: [PATCH] Minor changes due to IOManager --- src/app/SAB.cpp | 33 +++++++++++++++++++++++++++------ src/app/SAB.h | 5 +++++ 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/src/app/SAB.cpp b/src/app/SAB.cpp index a14f25d..9975bba 100644 --- a/src/app/SAB.cpp +++ b/src/app/SAB.cpp @@ -7,10 +7,15 @@ _screenConfig.getHeight(), &Wire), _screenManager(_display), _rtc(), _rtcManager(_rtc), _sdCardManager(), _connectivityManager(NULL), -_webServerManager(80, &_sdCardManager), +_webServerManager(80, &_sdCardManager), +_pcf(0x27, Wire), +_ioManager(_pcf), _error(0) -{ - Serial.begin(9600); +{ + //We set the gpio up + initGPIO(); + //Serial.begin(9600); + Serial.begin(9600, SERIAL_8N1, SERIAL_TX_ONLY); delay(200); //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(!_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); + if(!_pcf.begin()){_error |= IO_INIT_ERR;} } SAB::SAB(const PinMapping pinConfig, const ScreenConfig screenConfig, const SDCardConfig sdCardConfig, const unsigned int webServerPort) : _pinConfig(pinConfig), @@ -30,18 +36,28 @@ _rtc(), _rtcManager(_rtc), _sdCardManager(), _connectivityManager(NULL), -_webServerManager(webServerPort, &_sdCardManager), +_webServerManager(webServerPort, &_sdCardManager), +_pcf(0x27, Wire), +_ioManager(_pcf), _error(0) { - Serial.begin(9600); + //We set the gpio up + initGPIO(); + //Serial.begin(9600); + Serial.begin(9600, SERIAL_8N1, SERIAL_TX_ONLY); delay(200); - //We initialize the pins for the I2C communication Wire.begin(_pinConfig.getI2C_sda(), _pinConfig.getI2C_scl()); 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; 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); + if(!_pcf.begin()){_error |= IO_INIT_ERR;} +} + +void SAB::initGPIO() +{ + pinMode(GPIO_0, INPUT); } ScreenManager& SAB::getScreenManager() @@ -69,6 +85,11 @@ WEBServerManager& SAB::getWebServerManager() return _webServerManager; } +IOManager& SAB::getIoManager() +{ + return _ioManager; +} + ScreenConfig SAB::getScreenConfig() const { return _screenConfig; diff --git a/src/app/SAB.h b/src/app/SAB.h index 4b1347b..b51601a 100644 --- a/src/app/SAB.h +++ b/src/app/SAB.h @@ -8,6 +8,7 @@ #include "SDCardManager.h" #include "ConnectivityManager.h" #include "WEBServerManager.h" +#include "IOManager.h" #include #include #include @@ -27,6 +28,7 @@ class SAB SDCardManager& getSdCardManager(); ConnectivityManager& getConnectivityManager(); WEBServerManager& getWebServerManager(); + IOManager& getIoManager(); ScreenConfig getScreenConfig() const; PinMapping getPinConfig() const; SDCardConfig getSdCardConfig() const; @@ -34,6 +36,7 @@ class SAB PowerInfo getPowerInfo(const unsigned char nbOfMeasures = 5) const; unsigned char getError() const; private: + void initGPIO(); const PinMapping _pinConfig; const ScreenConfig _screenConfig; const SDCardConfig _sdCardConfig; @@ -45,6 +48,8 @@ class SAB SDCardManager _sdCardManager; ConnectivityManager *_connectivityManager; WEBServerManager _webServerManager; + PCF8574 _pcf; + IOManager _ioManager; unsigned char _error; };