Added SPISettings to Module constructor

This commit is contained in:
jgromes 2019-05-19 16:16:24 +02:00
parent 975e6e116c
commit 5c206310ab
2 changed files with 7 additions and 3 deletions

View file

@ -10,13 +10,14 @@ Module::Module(int rx, int tx) {
ModuleSerial = new SoftwareSerial(_rx, _tx); ModuleSerial = new SoftwareSerial(_rx, _tx);
} }
Module::Module(int cs, int int0, int int1, SPIClass& spi) { Module::Module(int cs, int int0, int int1, SPIClass& spi, SPISettings spiSettings) {
_cs = cs; _cs = cs;
_rx = -1; _rx = -1;
_tx = -1; _tx = -1;
_int0 = int0; _int0 = int0;
_int1 = int1; _int1 = int1;
_spi = &spi; _spi = &spi;
_spiSettings = spiSettings;
} }
Module::Module(int cs, int int0, int int1, int rx, int tx, SPIClass& spi) { Module::Module(int cs, int int0, int int1, int rx, int tx, SPIClass& spi) {
@ -188,7 +189,8 @@ void Module::SPIwriteRegister(uint8_t reg, uint8_t data) {
void Module::SPItransfer(uint8_t cmd, uint8_t reg, uint8_t* dataOut, uint8_t* dataIn, uint8_t numBytes) { void Module::SPItransfer(uint8_t cmd, uint8_t reg, uint8_t* dataOut, uint8_t* dataIn, uint8_t numBytes) {
// start SPI transaction // start SPI transaction
_spi->beginTransaction(SPISettings(2000000, MSBFIRST, SPI_MODE0)); //_spi->beginTransaction(SPISettings(2000000, MSBFIRST, SPI_MODE0));
_spi->beginTransaction(_spiSettings);
// pull CS low // pull CS low
digitalWrite(_cs, LOW); digitalWrite(_cs, LOW);

View file

@ -10,7 +10,7 @@
class Module { class Module {
public: public:
Module(int tx, int rx); Module(int tx, int rx);
Module(int cs, int int0, int int1, SPIClass& spi = SPI); Module(int cs, int int0, int int1, SPIClass& spi = SPI, SPISettings spiSettings = SPISettings(2000000, MSBFIRST, SPI_MODE0));
Module(int cs, int int0, int int1, int rx, int tx, SPIClass& spi = SPI); Module(int cs, int int0, int int1, int rx, int tx, SPIClass& spi = SPI);
SoftwareSerial* ModuleSerial; SoftwareSerial* ModuleSerial;
@ -46,6 +46,7 @@ class Module {
int getRx() const { return(_rx); } int getRx() const { return(_rx); }
int getTx() const { return(_tx); } int getTx() const { return(_tx); }
SPIClass* getSpi() const { return(_spi); } SPIClass* getSpi() const { return(_spi); }
SPISettings getSpiSettings() const { return(_spiSettings); }
private: private:
int _cs; int _cs;
@ -55,6 +56,7 @@ class Module {
int _int1; int _int1;
SPIClass* _spi; SPIClass* _spi;
SPISettings _spiSettings;
uint32_t _ATtimeout = 15000; uint32_t _ATtimeout = 15000;
}; };