/** This file is used to define the hardware parameters of the whole board and thus replacing the following files : ScreenConfig.h, SDcardConfig.h, PinMapping.h It contains parameters Pins parameters, I2C addresses and more. **/ #ifndef BOARDCONFIG_H #define BOARDCONFIG_H #include "definition.h" #include class BoardConfig { public: BoardConfig(const uint16_t I2C_screenAddress = 0x3C, const uint16_t screenWidth = 128, const uint16_t screenHeight = 64, const uint16_t I2C_IOExpanderAddress = 0x27, const uint16_t _I2C_RTCFlashAddress = 0x0, const Pin SPI_SDCard_cs = GPIO_2, const Pin I2C_sda = GPIO_4_SDA, const Pin I2C_scl = GPIO_5_SCL, const Pin SPI_mosi = GPIO_13_MOSI, const Pin SPI_miso = GPIO_12_MISO, const Pin SPI_clk = GPIO_14_CLK, const SPISettings spiSpeed = SPI_FULL_SPEED ); Pin getI2C_sda() const; Pin getI2C_scl() const; Pin getSPI_mosi() const; Pin getSPI_miso() const; Pin getSPI_clk() const; Pin getSPI_SDCard_cs() const; uint16_t getI2C_screenAddress() const; uint16_t getI2C_IOExpanderAddress() const; uint16_t getRTCFlashAddress() const; SPISettings getSPISpeed() const; uint16_t getScreenWidth() const; uint16_t getScreenHeight() const; protected: private: //1) Pins const Pin _I2C_sda; const Pin _I2C_scl; const Pin _SPI_mosi; const Pin _SPI_miso; const Pin _SPI_clk; const Pin _SPI_SDCard_cs; //2) I2C Addresses const uint16_t _I2C_screenAddress; const uint16_t _I2C_IOExpanderAddress; const uint16_t _I2C_RTCFlashAddress; //3) SPI Speed const SPISettings _SPISpeed; //4) Miscellaneous const uint16_t _screenWidth; const uint16_t _screenHeight; }; #endif //BOARDCONFIG_H