SparkFun Toolkit  v1.0.5-6-g34ffa30
Core Functionality Library
Loading...
Searching...
No Matches
sfTkArdSPI Class Reference

This class implements the IBus interface for an SPI Implementation on Arduino. More...

#include <sfTkArdSPI.h>

Inheritance diagram for sfTkArdSPI:

Public Member Functions

 sfTkArdSPI (void)
 Constructor for Arduino SPI bus object of the toolkit. More...
 
 sfTkArdSPI (uint8_t csPin)
 Constructor for Arduino SPI bus object of the toolkit. More...
 
 sfTkArdSPI (sfTkArdSPI const &rhs)
 Copy constructor for Arduino SPI bus object of the toolkit. More...
 
sfTkArdSPIoperator= (const sfTkArdSPI &rhs)
 Assignment copy operator for Arduino SPI bus object of the toolkit. More...
 
sfTkError_t init (bool bInit=false)
 Method sets up the required SPI settings. More...
 
sfTkError_t init (uint8_t csPin, bool bInit=false)
 Method sets up the required SPI settings. More...
 
sfTkError_t init (SPIClass &spiPort, SPISettings &busSPISettings, uint8_t csPin, bool bInit=false)
 Method sets up the required SPI settings. More...
 
sfTkError_t writeRegion (const uint8_t *data, size_t length)
 Write an array of data to the device without indexing to a register. More...
 
sfTkError_t writeRegister (uint8_t *devReg, size_t regLength, const uint8_t *data, size_t length)
 Writes a number of bytes starting at the given register's address. More...
 
sfTkError_t writeRegister (uint16_t devReg, const uint8_t *data, size_t length)
 Writes a number of bytes starting at the given register's address. More...
 
sfTkError_t writeRegister (uint16_t devReg, const uint16_t *data, size_t length)
 Writes a number of uint16s starting at the given register's address. More...
 
sfTkError_t readRegister (uint8_t *devReg, size_t regLength, uint8_t *data, size_t numBytes, size_t &readBytes, uint32_t read_delay=0)
 Reads data from a specified register of an I2C device. More...
 
virtual sfTkError_t readRegister (uint16_t reg, uint8_t *data, size_t numBytes, size_t &readBytes)
 Reads a block of data from the given register. More...
 
virtual sfTkError_t readRegister (uint16_t reg, uint16_t *data, size_t length, size_t &readWords)
 Reads a block of data from the given register. More...
 
virtual sfTkError_t readRegister (uint8_t *devReg, size_t regLength, uint8_t *data, size_t numBytes, size_t &readBytes, uint32_t read_delay=0)=0
 Reads an array of bytes to a register on the target address. Supports any address size. More...
 
virtual sfTkError_t readRegister (uint8_t devReg, uint8_t &data)
 Read a single byte from the given register. More...
 
virtual sfTkError_t readRegister (uint8_t devReg, uint16_t &data)
 Read a single word (16 bit) from the given register. More...
 
virtual sfTkError_t readRegister (uint8_t devReg, uint32_t &data)
 Read a 32 bit value from the given register. More...
 
virtual sfTkError_t readRegister (uint8_t devReg, uint8_t *data, size_t numBytes, size_t &readBytes)
 Reads data from a specified register. More...
 
virtual sfTkError_t readRegister (uint16_t reg, uint8_t &value)
 Overloaded function to read a 8-bit value from the given 16-bit register address. More...
 
virtual sfTkError_t readRegister (uint16_t reg, uint16_t &value)
 Overloaded function to read a 16-bit value from the given 16-bit register address. More...
 
virtual sfTkError_t readRegister (uint16_t reg, uint32_t &value)
 Overloaded function to read a 32-bit value from the given 16-bit register address. More...
 
sfTkError_t readRegister (uint16_t devReg, uint8_t *data, size_t numBytes, size_t &readBytes)
 Reads a specified number of bytes from a given register with a 16bit address. More...
 
virtual sfTkError_t readRegister (uint16_t reg, uint16_t *data, size_t length, size_t &read16)
 Reads a 16-bit block of data from the given 16-bit register address. More...
 
virtual sfTkError_t writeRegister (uint8_t *devReg, size_t regLength, const uint8_t *data, size_t length)=0
 Writes an array of bytes to a register on the target address. Supports any address size. More...
 
sfTkError_t writeRegister (uint8_t devReg, uint8_t data)
 Write a single byte (8 bit) to the given register. More...
 
virtual sfTkError_t writeRegister (uint8_t devReg, const uint16_t data)
 Write a single word (16 bit) to the given register. More...
 
virtual sfTkError_t writeRegister (uint8_t devReg, const uint32_t data)
 Writes a 32-bit data value to a specified device register. More...
 
virtual sfTkError_t writeRegister (uint8_t devReg, const uint8_t *data, size_t length)
 Writes a number of bytes starting at the given register's address. More...
 
virtual sfTkError_t writeRegister (uint16_t devReg, const uint8_t *data, size_t length)
 Writes a number of bytes starting at the given register's 16-bit address. More...
 
virtual sfTkError_t writeRegister (uint16_t devReg, const uint8_t data)
 Writes a 8-bit data value to a specified device register. More...
 
virtual sfTkError_t writeRegister (uint16_t devReg, const uint16_t data)
 Writes a 16-bit data value to a specified device 16bit register. More...
 
virtual sfTkError_t writeRegister (uint16_t devReg, const uint32_t data)
 Writes a 32-bit data value to a specified device register. More...
 
virtual sfTkError_t writeRegister (uint16_t devReg, const uint16_t *data, size_t length)
 Writes a number of uint16's starting at the given register's 16-bit address. More...
 
- Public Member Functions inherited from sfTkISPI
 sfTkISPI ()
 Constructor for the SPI bus. More...
 
 sfTkISPI (uint8_t csPin)
 Constructor for the SPI bus. More...
 
virtual void setCS (uint8_t devCS)
 setter for the CS Pin More...
 
virtual uint8_t cs (void)
 getter for the cs pin More...
 
virtual uint8_t type (void)
 Get the type of the object. More...
 
- Public Member Functions inherited from sfTkIBus
 sfTkIBus ()
 Constructor. More...
 
virtual sfTkError_t writeRegister (uint8_t *devReg, size_t regLength, const uint8_t *data, size_t length)=0
 Writes an array of bytes to a register on the target address. Supports any address size. More...
 
virtual sfTkError_t writeData (uint8_t data)
 Writes a 8-bit data value. More...
 
sfTkError_t writeUInt8 (uint8_t data)
 Writes a 8-bit data value. More...
 
virtual sfTkError_t writeData (uint16_t data)
 Send a 16 bit value to the device. More...
 
sfTkError_t writeUInt16 (uint16_t data)
 Send a 16 bit value to the device. More...
 
virtual sfTkError_t writeData (uint32_t data)
 Writes a 32-bit data value. More...
 
sfTkError_t writeUInt32 (uint32_t data)
 Writes a 32-bit data value. More...
 
virtual sfTkError_t writeData (const uint8_t *data, size_t length)
 Writes an array. More...
 
sfTkError_t writeRegister (uint8_t devReg, uint8_t data)
 Write a single byte (8 bit) to the given register. More...
 
sfTkError_t writeRegisterUInt8 (uint8_t reg, uint8_t data)
 Write a single byte (8 bit) to the given register. More...
 
virtual sfTkError_t writeRegister (uint8_t devReg, const uint16_t data)
 Write a single word (16 bit) to the given register. More...
 
sfTkError_t writeRegisterUInt16 (uint8_t reg, uint16_t data)
 Write a single word (16 bit) to the given register. More...
 
virtual sfTkError_t writeRegister (uint8_t devReg, const uint32_t data)
 Writes a 32-bit data value to a specified device register. More...
 
sfTkError_t writeRegisterUInt32 (uint8_t reg, uint32_t data)
 Writes a 32-bit data value to a specified device register. More...
 
virtual sfTkError_t writeRegister (uint8_t devReg, const uint8_t *data, size_t length)
 Writes a number of bytes starting at the given register's address. More...
 
virtual sfTkError_t writeRegister (uint16_t devReg, const uint8_t *data, size_t length)
 Writes a number of bytes starting at the given register's 16-bit address. More...
 
virtual sfTkError_t writeRegister (uint16_t devReg, const uint8_t data)
 Writes a 8-bit data value to a specified device register. More...
 
sfTkError_t writeRegisterUInt8 (uint16_t reg, const uint8_t data)
 Writes a 8-bit data value to a specified device register. More...
 
virtual sfTkError_t writeRegister (uint16_t devReg, const uint16_t data)
 Writes a 16-bit data value to a specified device 16bit register. More...
 
sfTkError_t writeRegisterUInt16 (uint16_t reg, const uint16_t data)
 Writes a 16-bit data value to a specified device 16bit register. More...
 
virtual sfTkError_t writeRegister (uint16_t devReg, const uint32_t data)
 Writes a 32-bit data value to a specified device register. More...
 
sfTkError_t writeRegisterUInt32 (uint16_t reg, const uint32_t data)
 Writes a 32-bit data value to a specified device register. More...
 
virtual sfTkError_t writeRegister (uint16_t devReg, const uint16_t *data, size_t length)
 Writes a number of uint16's starting at the given register's 16-bit address. More...
 
virtual sfTkError_t readRegister (uint8_t *devReg, size_t regLength, uint8_t *data, size_t numBytes, size_t &readBytes, uint32_t read_delay=0)=0
 Reads an array of bytes to a register on the target address. Supports any address size. More...
 
virtual sfTkError_t readRegister (uint8_t devReg, uint8_t &data)
 Read a single byte from the given register. More...
 
sfTkError_t readRegisterUInt8 (uint8_t devReg, uint8_t &data)
 Read a single byte from the given register. More...
 
virtual sfTkError_t readRegister (uint8_t devReg, uint16_t &data)
 Read a single word (16 bit) from the given register. More...
 
sfTkError_t readRegisterUInt16 (uint8_t devReg, uint16_t &data)
 Read a single word (16 bit) from the given register. More...
 
virtual sfTkError_t readRegister (uint8_t devReg, uint32_t &data)
 Read a 32 bit value from the given register. More...
 
sfTkError_t readRegisterUInt32 (uint8_t devReg, uint32_t &data)
 Read a 32 bit value from the given register. More...
 
virtual sfTkError_t readRegister (uint8_t devReg, uint8_t *data, size_t numBytes, size_t &readBytes)
 Reads data from a specified register. More...
 
virtual sfTkError_t readRegister (uint16_t reg, uint8_t &value)
 Overloaded function to read a 8-bit value from the given 16-bit register address. More...
 
sfTkError_t readRegisterUInt8 (uint16_t devReg, uint8_t &data)
 Overloaded function to read a 8-bit value from the given 16-bit register address. More...
 
virtual sfTkError_t readRegister (uint16_t reg, uint16_t &value)
 Overloaded function to read a 16-bit value from the given 16-bit register address. More...
 
sfTkError_t readRegisterUInt16 (uint16_t devReg, uint16_t &data)
 Overloaded function to read a 16-bit value from the given 16-bit register address. More...
 
virtual sfTkError_t readRegister (uint16_t reg, uint32_t &value)
 Overloaded function to read a 32-bit value from the given 16-bit register address. More...
 
sfTkError_t readRegisterUInt32 (uint16_t devReg, uint32_t &data)
 Overloaded function to read a 32-bit value from the given 16-bit register address. More...
 
sfTkError_t readRegister (uint16_t devReg, uint8_t *data, size_t numBytes, size_t &readBytes)
 Reads a specified number of bytes from a given register with a 16bit address. More...
 
virtual sfTkError_t readRegister (uint16_t reg, uint16_t *data, size_t length, size_t &read16)
 Reads a 16-bit block of data from the given 16-bit register address. More...
 
virtual uint8_t type (void)
 Get the type of the object. More...
 
void setByteOrder (sfTkByteOrder order)
 Set the byte order for multi-byte data transfers. More...
 
sfTkByteOrder byteOrder (void)
 Get the current byte order. More...
 

Protected Attributes

SPIClass * _spiPort
 
SPISettings _sfeSPISettings
 
- Protected Attributes inherited from sfTkIBus
sfTkByteOrder _byteOrder
 

Additional Inherited Members

- Static Public Attributes inherited from sfTkISPI
static constexpr uint8_t kNoCSPin = 0
 A constant for no CS pin. More...
 

Detailed Description

This class implements the IBus interface for an SPI Implementation on Arduino.

Constructor & Destructor Documentation

◆ sfTkArdSPI() [1/3]

sfTkArdSPI::sfTkArdSPI ( void  )
inline

Constructor for Arduino SPI bus object of the toolkit.

◆ sfTkArdSPI() [2/3]

sfTkArdSPI::sfTkArdSPI ( uint8_t  csPin)
inline

Constructor for Arduino SPI bus object of the toolkit.

Parameters
csPinThe CS Pin for the device

◆ sfTkArdSPI() [3/3]

sfTkArdSPI::sfTkArdSPI ( sfTkArdSPI const &  rhs)
inline

Copy constructor for Arduino SPI bus object of the toolkit.

Parameters
rhssource of the copy operation

Member Function Documentation

◆ init() [1/3]

sfTkError_t sfTkArdSPI::init ( bool  bInit = false)

Method sets up the required SPI settings.

Note
This function provides a default SPI Port.
Parameters
bInitInit the device - default is false.
Return values
sfTkError_t- ksfTkErrOk on success

◆ init() [2/3]

sfTkError_t sfTkArdSPI::init ( SPIClass &  spiPort,
SPISettings &  busSPISettings,
uint8_t  csPin,
bool  bInit = false 
)

Method sets up the required SPI settings.

Parameters
spiPortPort for SPI communication.
busSPISettingsSettings for speed, endianness, and spi mode of the SPI bus.
csPinThe CS Pin for the device
bInitThis flag tracks whether the bus has been initialized.
Return values
sfTkError_t- ksfTkErrOk on success

◆ init() [3/3]

sfTkError_t sfTkArdSPI::init ( uint8_t  csPin,
bool  bInit = false 
)

Method sets up the required SPI settings.

Note
This function provides a default SPI Port.
Parameters
csPinThe CS Pin for the device
bInitInit the device - default is false.
Return values
sfTkError_t- ksfTkErrOk on success

◆ operator=()

sfTkArdSPI & sfTkArdSPI::operator= ( const sfTkArdSPI rhs)
inline

Assignment copy operator for Arduino SPI bus object of the toolkit.

Parameters
rhsThe right hand side of the assignment.
Returns
sfTkArdSPI& - The left hand side of the assignment.

◆ readRegister() [1/13]

sfTkError_t sfTkIBus::readRegister ( uint16_t  devReg,
uint8_t *  data,
size_t  numBytes,
size_t &  readBytes 
)
inline

Reads a specified number of bytes from a given register with a 16bit address.

This function reads data from a 16-bit register and stores it in the provided buffer.

Parameters
devRegThe 16-bit register address to read from. Byteswapped if needed.
dataPointer to the buffer where the read data will be stored.
numBytesThe number of bytes to read from the register.
readBytesReference to a variable where the number of bytes actually read will be stored.
Returns
sfTkError_t Error code indicating the success or failure of the read operation.

◆ readRegister() [2/13]

virtual sfTkError_t sfTkIBus::readRegister ( uint16_t  reg,
uint16_t &  value 
)
inlinevirtual

Overloaded function to read a 16-bit value from the given 16-bit register address.

This function reads a 16-bit value from the specified 16-bit register address.

Parameters
regThe device's 16-bit register's address. The address is byteswapped if needed.
[out]valueThe 16-bit value read from the register. The value is byte swapped if needed.
Returns
sfTkError_t Returns ksfTkErrOk on success, or an error code on failure.

Reimplemented from sfTkIBus.

◆ readRegister() [3/13]

virtual sfTkError_t sfTkIBus::readRegister ( uint16_t  reg,
uint16_t *  data,
size_t  length,
size_t &  read16 
)
inlinevirtual

Reads a 16-bit block of data from the given 16-bit register address.


Parameters
regThe device's 16 bit register's address. Byteswapped if needed
dataData area to read into - byteswapped if needed
length- length of data (16 bit element count)
[out]read16- number of 16 bit words read
Return values
intreturns ksfTkErrOk on success, or ksfTkErrFail code

Reimplemented from sfTkIBus.

◆ readRegister() [4/13]

sfTkError_t sfTkArdSPI::readRegister ( uint16_t  reg,
uint16_t *  data,
size_t  length,
size_t &  readWords 
)
virtual

Reads a block of data from the given register.

Note
This method is virtual to allow it to be overridden to support a device that requires a unique impl
Parameters
regThe device's register's 16 bit address.
[out]dataData buffer to read into
length- Length of data to read/size of data buffer
[out]readWords- Number of words read
Return values
sfTkError_t- true on success

Reimplemented from sfTkIBus.

◆ readRegister() [5/13]

virtual sfTkError_t sfTkIBus::readRegister ( uint16_t  reg,
uint32_t &  value 
)
inlinevirtual

Overloaded function to read a 32-bit value from the given 16-bit register address.

This function reads a 32-bit value from the specified 16-bit register address.

Parameters
regThe device's 16-bit register's address. The address is byteswapped if needed.
[out]valueThe 32-bit value read from the register. The value is byte swapped if needed.
Returns
sfTkError_t Returns ksfTkErrOk on success, or an error code on failure.

Reimplemented from sfTkIBus.

◆ readRegister() [6/13]

virtual sfTkError_t sfTkIBus::readRegister ( uint16_t  reg,
uint8_t &  value 
)
inlinevirtual

Overloaded function to read a 8-bit value from the given 16-bit register address.

This function reads a 8-bit value from the specified 16-bit register address.

Parameters
regThe device's 16-bit register's address. The address is byteswapped if needed
[out]valueThe 8-bit value read from the register.
Returns
sfTkError_t Returns ksfTkErrOk on success, or an error code on failure.

Reimplemented from sfTkIBus.

◆ readRegister() [7/13]

sfTkError_t sfTkArdSPI::readRegister ( uint16_t  reg,
uint8_t *  data,
size_t  numBytes,
size_t &  readBytes 
)
virtual

Reads a block of data from the given register.

Note
This method is virtual to allow it to be overridden to support a device that requires a unique impl
Parameters
regThe device's register's 16 bit address.
[out]dataData buffer to read into
numBytes- Length of data to read/size of data buffer
[out]readBytes- Number of bytes read
Return values
sfTkError_t- true on success

◆ readRegister() [8/13]

sfTkError_t sfTkArdSPI::readRegister ( uint8_t *  devReg,
size_t  regLength,
uint8_t *  data,
size_t  numBytes,
size_t &  readBytes,
uint32_t  read_delay = 0 
)
virtual

Reads data from a specified register of an I2C device.

Parameters
devRegPointer to the register address to read from.
regLengthLength of the register address.
dataPointer to the buffer where the read data will be stored.
numBytesNumber of bytes to read from the register.
readBytesReference to a variable where the number of bytes actually read will be stored.
read_delayAfter sending the address, delay in milliseconds before reading the data
Returns
sfTkError_t Error code indicating the success or failure of the read operation.

Implements sfTkIBus.

◆ readRegister() [9/13]

virtual sfTkError_t sfTkIBus::readRegister ( uint8_t *  devReg,
size_t  regLength,
uint8_t *  data,
size_t  numBytes,
size_t &  readBytes,
uint32_t  read_delay = 0 
)
virtual

Reads an array of bytes to a register on the target address. Supports any address size.

Parameters
devRegThe device's register's address - can be any size
regLengthThe length of the register address
dataThe data to buffer to read into
numBytesThe length of the data buffer
readBytes[out]The number of bytes read
read_delayAfter sending the address, delay in milliseconds before reading the data
Returns
sfTkError_t Returns ksfTkErrOk on success, or ksfTkErrFail code

Implements sfTkIBus.

◆ readRegister() [10/13]

virtual sfTkError_t sfTkIBus::readRegister ( uint8_t  devReg,
uint16_t &  data 
)
inlinevirtual

Read a single word (16 bit) from the given register.


Parameters
devRegThe device's register's address.
dataData to read.– the data value is byteswapped if needed
Return values
sfTkError_t- ksfTkErrOk on successful execution.

Reimplemented from sfTkIBus.

◆ readRegister() [11/13]

virtual sfTkError_t sfTkIBus::readRegister ( uint8_t  devReg,
uint32_t &  data 
)
inlinevirtual

Read a 32 bit value from the given register.


Parameters
devRegThe device's register's address.
dataData to read. The data value is byteswapped if needed
Return values
sfTkError_t- ksfTkErrOk on successful execution.

Reimplemented from sfTkIBus.

◆ readRegister() [12/13]

virtual sfTkError_t sfTkIBus::readRegister ( uint8_t  devReg,
uint8_t &  data 
)
inlinevirtual

Read a single byte from the given register.


Parameters
devRegThe device's register's address.
dataData to read.
Return values
sfTkError_t- ksfTkErrOk on successful execution.

Reimplemented from sfTkIBus.

◆ readRegister() [13/13]

virtual sfTkError_t sfTkIBus::readRegister ( uint8_t  devReg,
uint8_t *  data,
size_t  numBytes,
size_t &  readBytes 
)
inlinevirtual

Reads data from a specified register.

This function reads a specified number of bytes from a given register and stores the data in the provided buffer.

Parameters
devRegThe register address to read from.
dataPointer to the buffer where the read data will be stored.
numBytesThe number of bytes to read from the register.
readBytesReference to a variable where the number of bytes actually read will be stored.
Returns
sfTkError_t Error code indicating the success or failure of the read operation.

Reimplemented from sfTkIBus.

◆ writeRegion()

sfTkError_t sfTkArdSPI::writeRegion ( const uint8_t *  data,
size_t  length 
)

Write an array of data to the device without indexing to a register.

Parameters
dataData to write
lengthLength of Data
Return values
sfTkError_t- ksfTkErrOk on success

◆ writeRegister() [1/13]

sfTkError_t sfTkArdSPI::writeRegister ( uint16_t  devReg,
const uint16_t *  data,
size_t  length 
)
virtual

Writes a number of uint16s starting at the given register's address.

Note
This method is virtual to allow it to be overridden to support a device that requires a unique impl
Parameters
devRegThe device's register's address.
dataData to write.
length- length of data
Return values
sfTkError_t- ksfTkErrOk on success

Reimplemented from sfTkIBus.

◆ writeRegister() [2/13]

virtual sfTkError_t sfTkIBus::writeRegister ( uint16_t  devReg,
const uint16_t *  data,
size_t  length 
)
inlinevirtual

Writes a number of uint16's starting at the given register's 16-bit address.


Parameters
devRegThe device's register's address.
data16 bit Data to write. This value is byteswapped if the byteorder set is different than the systems byteorder
length- length of data
Return values
sfTkError_tksfTkErrOk on successful execution

Reimplemented from sfTkIBus.

◆ writeRegister() [3/13]

virtual sfTkError_t sfTkIBus::writeRegister ( uint16_t  devReg,
const uint16_t  data 
)
inlinevirtual

Writes a 16-bit data value to a specified device 16bit register.

This function writes a 16-bit data value to a specified device register. If the system byte order differs from the byte order expected by the device, the data value is byte-swapped before being written.

Parameters
devRegThe 16 bit register address to write to.
dataThe 16-bit data value to write.
Returns
sfTkError_t Error code indicating the success or failure of the operation.

Reimplemented from sfTkIBus.

◆ writeRegister() [4/13]

virtual sfTkError_t sfTkIBus::writeRegister ( uint16_t  devReg,
const uint32_t  data 
)
inlinevirtual

Writes a 32-bit data value to a specified device register.

This function writes a 32-bit data value to a specified device register. If the system byte order differs from the byte order expected by the device, the data value is byte-swapped before being written.

Parameters
devRegThe register address to write to.
dataThe 32-bit data value to write. This value is byteswapped if the byteorder set is different that the systems byteorder
Returns
sfTkError_t Error code indicating the success or failure of the operation.

Reimplemented from sfTkIBus.

◆ writeRegister() [5/13]

sfTkError_t sfTkArdSPI::writeRegister ( uint16_t  devReg,
const uint8_t *  data,
size_t  length 
)
virtual

Writes a number of bytes starting at the given register's address.

Note
This method is virtual to allow it to be overridden to support a device that requires a unique impl
Parameters
devRegThe device's register's address.
dataData to write.
length- length of data
Return values
sfTkError_t- ksfTkErrOk on success

Reimplemented from sfTkIBus.

◆ writeRegister() [6/13]

virtual sfTkError_t sfTkIBus::writeRegister ( uint16_t  devReg,
const uint8_t *  data,
size_t  length 
)
inlinevirtual

Writes a number of bytes starting at the given register's 16-bit address.


Parameters
devRegThe device's register's 16 bit address. If the byteorder is different than the systems, the address is byteswapped
dataData to write.
length- length of data
Return values
sfTkError_tksfTkErrOk on successful execution

Reimplemented from sfTkIBus.

◆ writeRegister() [7/13]

virtual sfTkError_t sfTkIBus::writeRegister ( uint16_t  devReg,
const uint8_t  data 
)
inlinevirtual

Writes a 8-bit data value to a specified device register.

This function writes a 16-bit data value to a specified device register. If the system byte order differs from the byte order expected by the device, the data value is byte-swapped before being written.

Parameters
devRegThe device's register's 16 bit address. If the byteorder is different than the systems, the address is byteswapped
dataThe 8-bit data value to write.
Returns
sfTkError_t Error code indicating the success or failure of the operation.

Reimplemented from sfTkIBus.

◆ writeRegister() [8/13]

sfTkError_t sfTkArdSPI::writeRegister ( uint8_t *  devReg,
size_t  regLength,
const uint8_t *  data,
size_t  length 
)
virtual

Writes a number of bytes starting at the given register's address.

Note
This method is virtual to allow it to be overridden to support a device that requires a unique impl
Parameters
devRegThe device's register's address.
regLengthSize of the address - value of 1 or 2 are only accepted
dataData to write.
length- length of data
Return values
sfTkError_t- ksfTkErrOk on success

Implements sfTkIBus.

◆ writeRegister() [9/13]

virtual sfTkError_t sfTkIBus::writeRegister ( uint8_t *  devReg,
size_t  regLength,
const uint8_t *  data,
size_t  length 
)
virtual

Writes an array of bytes to a register on the target address. Supports any address size.

Note
This is the minimum required write method to implement for a driver
Parameters
devRegThe device's register's address - can be any size, If nullptr, address is not sent
regLengthThe length of the register address. If 0, address is not sent
dataThe data to write
lengthThe length of the data buffer
Returns
sfTkError_t Returns ksfTkErrOk on success, or ksfTkErrFail code

Implements sfTkIBus.

◆ writeRegister() [10/13]

virtual sfTkError_t sfTkIBus::writeRegister ( uint8_t  devReg,
const uint16_t  data 
)
inlinevirtual

Write a single word (16 bit) to the given register.


Parameters
devRegThe device's register's address.
dataData to write. Note - if byte order differs, swap the data before writing.
Return values
sfTkError_t- ksfTkErrOk on successful execution.

Reimplemented from sfTkIBus.

◆ writeRegister() [11/13]

virtual sfTkError_t sfTkIBus::writeRegister ( uint8_t  devReg,
const uint32_t  data 
)
inlinevirtual

Writes a 32-bit data value to a specified device register.

This function writes a 32-bit data value to a specified device register. If the system byte order differs from the byte order expected by the device, the data value is byte-swapped before being written.

Parameters
devRegThe register address to write to.
dataThe 32-bit data value to write.
Returns
sfTkError_t Error code indicating the success or failure of the operation.

Reimplemented from sfTkIBus.

◆ writeRegister() [12/13]

virtual sfTkError_t sfTkIBus::writeRegister ( uint8_t  devReg,
const uint8_t *  data,
size_t  length 
)
inlinevirtual

Writes a number of bytes starting at the given register's address.


Parameters
devRegThe device's register's address.
dataData to write.
length- length of data
Return values
sfTkError_tksfTkErrOk on successful execution

Reimplemented from sfTkIBus.

◆ writeRegister() [13/13]

sfTkError_t sfTkIBus::writeRegister ( uint8_t  devReg,
uint8_t  data 
)
inline

Write a single byte (8 bit) to the given register.


Parameters
devRegThe device's register's address.
dataData to write. Note - if byte order differs, swap the data before writing.
Return values
sfTkError_t- ksfTkErrOk on successful execution.

Member Data Documentation

◆ _sfeSPISettings

SPISettings sfTkArdSPI::_sfeSPISettings
protected

This object's spi settings are used for every transaction.

◆ _spiPort

SPIClass* sfTkArdSPI::_spiPort
protected

Pointer to the spi port being used


The documentation for this class was generated from the following files: