11
2- // sfeTkBusSPI .cpp - Arduino SPI implementation for the toolkit
2+ // sfeTkArdSPI .cpp - Arduino SPI implementation for the toolkit
33
44/*
55The MIT License (MIT)
@@ -22,9 +22,8 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2222
2323*/
2424
25- #pragma once
26-
27- #include " sfeTkArdSPI.h "
25+ #include " sfeTkArdSPI.h"
26+ #include < Arduino.h>
2827
2928// Note: A leading "1" must be added to transfer with register to indicate a "read"
3029// Note to our future selves:
@@ -38,7 +37,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
3837//
3938// Arduino version of init. Will take in a defined SPI port/settings
4039//
41- bool sfeTkBusSPI ::init (SPIClass &spiPort, SPISettings &busSPISettings, uint8_t csPin, bool bInit)
40+ bool sfeTkArdSPI ::init (SPIClass &spiPort, SPISettings &busSPISettings, uint8_t csPin, bool bInit)
4241{
4342 // if we don't have a SPI port already
4443 if (!_spiPort)
@@ -62,10 +61,10 @@ bool sfeTkBusSPI::init(SPIClass &spiPort, SPISettings &busSPISettings, uint8_t c
6261//
6362// Arduino version of init.
6463//
65- bool sfeTkBusSPI ::init (uint8_t csPin, bool bInit)
64+ bool sfeTkArdSPI ::init (uint8_t csPin, bool bInit)
6665{
6766 // If the transaction settings are not provided by the user they are built here.
68- SPISettings spiSettings = SPISettings (3000000 , MSBFIRST , SPI_MODE3);
67+ SPISettings spiSettings = SPISettings (3000000 , SPI_MSBFIRST , SPI_MODE3);
6968
7069 // In addition of the port is not provided by the user, it defaults to SPI here.
7170 return init (SPI, spiSettings, csPin, bInit);
@@ -76,7 +75,7 @@ bool sfeTkBusSPI::init(uint8_t csPin, bool bInit)
7675//
7776// Arduino version of init.
7877//
79- bool sfeTkBusSPI ::init (bool bInit)
78+ bool sfeTkArdSPI ::init (bool bInit)
8079{
8180 return init (cs (), bInit);
8281}
@@ -88,7 +87,7 @@ bool sfeTkBusSPI::init(bool bInit)
8887//
8988// Returns true on success, false on failure
9089//
91- bool sfeTkBusSPI ::writeRegisterByte (uint8_t devReg, uint8_t dataToWrite)
90+ bool sfeTkArdSPI ::writeRegisterByte (uint8_t devReg, uint8_t dataToWrite)
9291{
9392
9493 if (!_spiPort)
@@ -115,11 +114,9 @@ bool sfeTkBusSPI::writeRegisterByte(uint8_t devReg, uint8_t dataToWrite)
115114//
116115// Returns true on success, false on failure
117116//
118- bool sfeTkBusSPI ::writeRegisterWord (uint8_t devReg, uint8_t dataToWrite)
117+ bool sfeTkArdSPI ::writeRegisterWord (uint8_t devReg, uint16_t dataToWrite)
119118{
120-
121- return writeRegisterRegion (defReg, &dataToWrite, sizeof (uint8_t )) > 0 ;
122- ;
119+ return writeRegisterRegion (devReg, (uint8_t *)&dataToWrite, sizeof (uint8_t )) > 0 ;
123120}
124121// ---------------------------------------------------------------------------------
125122// writeRegisterRegion()
@@ -128,7 +125,7 @@ bool sfeTkBusSPI::writeRegisterWord(uint8_t devReg, uint8_t dataToWrite)
128125//
129126// Returns the number of bytes written, < 0 is an error
130127//
131- virtual int sfeTkBusSPI ::writeRegisterRegion (uint8_t devReg, const uint8_t *data, uint16_t length)
128+ int sfeTkArdSPI ::writeRegisterRegion (uint8_t devReg, const uint8_t *data, size_t length)
132129{
133130 if (!_spiPort)
134131 return -1 ;
@@ -150,14 +147,14 @@ virtual int sfeTkBusSPI::writeRegisterRegion(uint8_t devReg, const uint8_t *data
150147 return length;
151148}
152149
153- bool sfeTkBusSPI ::readRegisterByte (uint8_t devReg, uint8_t &data)
150+ bool sfeTkArdSPI ::readRegisterByte (uint8_t devReg, uint8_t &data)
154151{
155- return readRegisterRegion (devReg, &data) == 1 ;
152+ return readRegisterRegion (devReg, &data, sizeof (data) ) == 1 ;
156153}
157154
158- bool sfeTkBusSPI ::readRegisterWord (uint8_t devReg, uint16_t &data)
155+ bool sfeTkArdSPI ::readRegisterWord (uint8_t devReg, uint16_t &data)
159156{
160- return readRegisterRegion (devReg, &data) == 2 ;
157+ return readRegisterRegion (devReg, ( uint8_t *) &data, sizeof (data) ) == 2 ;
161158}
162159// ---------------------------------------------------------------------------------
163160// readRegisterRegion()
@@ -166,7 +163,7 @@ bool sfeTkBusSPI::readRegisterWord(uint8_t devReg, uint16_t &data)
166163//
167164// Returns the number of bytes read, < 0 is an error
168165//
169- virtual int sfeTkBusSPI ::readRegisterRegion (uint8_t devReg, uint8_t *data, uint16_t numBytes)
166+ int sfeTkArdSPI ::readRegisterRegion (uint8_t devReg, uint8_t *data, size_t numBytes)
170167{
171168 if (!_spiPort)
172169 return -1 ;
@@ -187,5 +184,5 @@ virtual int sfeTkBusSPI::readRegisterRegion(uint8_t devReg, uint8_t *data, uint1
187184 digitalWrite (cs (), HIGH);
188185 _spiPort->endTransaction ();
189186
190- return numByte ;
187+ return numBytes ;
191188}
0 commit comments