![]() |
SparkFun Toolkit
v1.0.5-6-g34ffa30
Core Functionality Library
|
Interface that defines the communication bus for the SparkFun Electronics Toolkit. More...
#include <sfTkIBus.h>
Public Member Functions | |
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 | |
sfTkByteOrder | _byteOrder |
Interface that defines the communication bus for the SparkFun Electronics Toolkit.
The bus interface defines the basic methods for reading and writing data to a device. Specific bus implementations will extend this interface to provide the necessary functionality for the desired bus type.
|
inline |
Constructor.
|
inline |
Get the current byte order.
The | current byte order |
|
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.
devReg | The 16-bit register address to read from. Byteswapped if needed. |
data | Pointer to the buffer where the read data will be stored. |
numBytes | The number of bytes to read from the register. |
readBytes | Reference to a variable where the number of bytes actually read will be stored. |
|
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.
reg | The device's 16-bit register's address. The address is byteswapped if needed. | |
[out] | value | The 16-bit value read from the register. The value is byte swapped if needed. |
Reimplemented in sfTkArdI2C, and sfTkArdSPI.
|
inlinevirtual |
Reads a 16-bit block of data from the given 16-bit register address.
reg | The device's 16 bit register's address. Byteswapped if needed | |
data | Data area to read into - byteswapped if needed | |
length | - length of data (16 bit element count) | |
[out] | read16 | - number of 16 bit words read |
int | returns ksfTkErrOk on success, or ksfTkErrFail code |
Reimplemented in sfTkArdI2C, sfTkArdSPI, and sfTkArdSPI.
|
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.
reg | The device's 16-bit register's address. The address is byteswapped if needed. | |
[out] | value | The 32-bit value read from the register. The value is byte swapped if needed. |
Reimplemented in sfTkArdI2C, and sfTkArdSPI.
|
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.
reg | The device's 16-bit register's address. The address is byteswapped if needed | |
[out] | value | The 8-bit value read from the register. |
Reimplemented in sfTkArdI2C, and sfTkArdSPI.
|
pure virtual |
Reads an array of bytes to a register on the target address. Supports any address size.
devReg | The device's register's address - can be any size |
regLength | The length of the register address |
data | The data to buffer to read into |
numBytes | The length of the data buffer |
readBytes[out] | The number of bytes read |
read_delay | After sending the address, delay in milliseconds before reading the data |
Implemented in sfTkArdI2C, sfTkArdSPI, sfTkArdI2C, and sfTkArdSPI.
|
inlinevirtual |
Read a single word (16 bit) from the given register.
devReg | The device's register's address. |
data | Data to read.– the data value is byteswapped if needed |
sfTkError_t | - ksfTkErrOk on successful execution. |
Reimplemented in sfTkArdI2C, and sfTkArdSPI.
|
inlinevirtual |
Read a 32 bit value from the given register.
devReg | The device's register's address. |
data | Data to read. The data value is byteswapped if needed |
sfTkError_t | - ksfTkErrOk on successful execution. |
Reimplemented in sfTkArdI2C, and sfTkArdSPI.
|
inlinevirtual |
Read a single byte from the given register.
devReg | The device's register's address. |
data | Data to read. |
sfTkError_t | - ksfTkErrOk on successful execution. |
Reimplemented in sfTkArdI2C, and sfTkArdSPI.
|
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.
devReg | The register address to read from. |
data | Pointer to the buffer where the read data will be stored. |
numBytes | The number of bytes to read from the register. |
readBytes | Reference to a variable where the number of bytes actually read will be stored. |
Reimplemented in sfTkArdI2C, and sfTkArdSPI.
|
inline |
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.
reg | The device's 16-bit register's address. The address is byteswapped if needed. | |
[out] | value | The 16-bit value read from the register. The value is byte swapped if needed. |
|
inline |
Read a single word (16 bit) from the given register.
devReg | The device's register's address. |
data | Data to read.– the data value is byteswapped if needed |
sfTkError_t | - ksfTkErrOk on successful execution. |
|
inline |
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.
reg | The device's 16-bit register's address. The address is byteswapped if needed. | |
[out] | value | The 32-bit value read from the register. The value is byte swapped if needed. |
|
inline |
Read a 32 bit value from the given register.
devReg | The device's register's address. |
data | Data to read. The data value is byteswapped if needed |
sfTkError_t | - ksfTkErrOk on successful execution. |
|
inline |
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.
reg | The device's 16-bit register's address. The address is byteswapped if needed | |
[out] | value | The 8-bit value read from the register. |
|
inline |
Read a single byte from the given register.
devReg | The device's register's address. |
data | Data to read. |
sfTkError_t | - ksfTkErrOk on successful execution. |
|
inline |
Set the byte order for multi-byte data transfers.
order | The byte order to set - set to either sfTkByteOrder::BigEndian or sfTkByteOrder::LittleEndian |
|
inlinevirtual |
Get the type of the object.
This virtual function returns the type of the object as an 8-bit unsigned integer. The default implementation returns 0. It is expected that the subclass will define and implement a type methodology
|
inlinevirtual |
Writes an array.
This function writes a 8-bit data array
data | The 8-bit data array to be written. The data is byteswapped if needed. |
length | The length of the data array to be written. |
|
inlinevirtual |
Send a 16 bit value to the device.
data | Data to write. If the byte order is different than system byteorder, data is byteswapped |
sfTkError_t | - ksfTkErrOk on successful execution. |
|
inlinevirtual |
Writes a 32-bit data value.
This function writes a 32-bit data value
data | The 32-bit data value to be written. The data is byteswapped if needed. |
|
inlinevirtual |
Writes a 8-bit data value.
This function writes a 8-bit data value
data | The 8-bit data value to be written. |
|
inlinevirtual |
Writes a number of uint16's starting at the given register's 16-bit address.
devReg | The device's register's address. |
data | 16 bit Data to write. This value is byteswapped if the byteorder set is different than the systems byteorder |
length | - length of data |
sfTkError_t | ksfTkErrOk on successful execution |
Reimplemented in sfTkArdI2C, sfTkArdSPI, and sfTkArdSPI.
|
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.
devReg | The 16 bit register address to write to. |
data | The 16-bit data value to write. |
Reimplemented in sfTkArdI2C, and sfTkArdSPI.
|
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.
devReg | The register address to write to. |
data | The 32-bit data value to write. This value is byteswapped if the byteorder set is different that the systems byteorder |
Reimplemented in sfTkArdI2C, and sfTkArdSPI.
|
inlinevirtual |
Writes a number of bytes starting at the given register's 16-bit address.
devReg | The device's register's 16 bit address. If the byteorder is different than the systems, the address is byteswapped |
data | Data to write. |
length | - length of data |
sfTkError_t | ksfTkErrOk on successful execution |
Reimplemented in sfTkArdI2C, sfTkArdSPI, and sfTkArdSPI.
|
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.
devReg | The device's register's 16 bit address. If the byteorder is different than the systems, the address is byteswapped |
data | The 8-bit data value to write. |
Reimplemented in sfTkArdI2C, and sfTkArdSPI.
|
pure virtual |
Writes an array of bytes to a register on the target address. Supports any address size.
devReg | The device's register's address - can be any size, If nullptr, address is not sent |
regLength | The length of the register address. If 0, address is not sent |
data | The data to write |
length | The length of the data buffer |
Implemented in sfTkArdI2C, sfTkArdSPI, sfTkArdI2C, and sfTkArdSPI.
|
inlinevirtual |
Write a single word (16 bit) to the given register.
devReg | The device's register's address. |
data | Data to write. Note - if byte order differs, swap the data before writing. |
sfTkError_t | - ksfTkErrOk on successful execution. |
Reimplemented in sfTkArdI2C, and sfTkArdSPI.
|
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.
devReg | The register address to write to. |
data | The 32-bit data value to write. |
Reimplemented in sfTkArdI2C, and sfTkArdSPI.
|
inlinevirtual |
Writes a number of bytes starting at the given register's address.
devReg | The device's register's address. |
data | Data to write. |
length | - length of data |
sfTkError_t | ksfTkErrOk on successful execution |
Reimplemented in sfTkArdI2C, and sfTkArdSPI.
|
inline |
Write a single byte (8 bit) to the given register.
devReg | The device's register's address. |
data | Data to write. Note - if byte order differs, swap the data before writing. |
sfTkError_t | - ksfTkErrOk on successful execution. |
|
inline |
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.
devReg | The 16 bit register address to write to. |
data | The 16-bit data value to write. |
|
inline |
Write a single word (16 bit) to the given register.
devReg | The device's register's address. |
data | Data to write. Note - if byte order differs, swap the data before writing. |
sfTkError_t | - ksfTkErrOk on successful execution. |
|
inline |
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.
devReg | The register address to write to. |
data | The 32-bit data value to write. This value is byteswapped if the byteorder set is different that the systems byteorder |
|
inline |
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.
devReg | The register address to write to. |
data | The 32-bit data value to write. |
|
inline |
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.
devReg | The device's register's 16 bit address. If the byteorder is different than the systems, the address is byteswapped |
data | The 8-bit data value to write. |
|
inline |
Write a single byte (8 bit) to the given register.
devReg | The device's register's address. |
data | Data to write. Note - if byte order differs, swap the data before writing. |
sfTkError_t | - ksfTkErrOk on successful execution. |
|
inline |
Send a 16 bit value to the device.
data | Data to write. If the byte order is different than system byteorder, data is byteswapped |
sfTkError_t | - ksfTkErrOk on successful execution. |
|
inline |
Writes a 32-bit data value.
This function writes a 32-bit data value
data | The 32-bit data value to be written. The data is byteswapped if needed. |
|
inline |
Writes a 8-bit data value.
This function writes a 8-bit data value
data | The 8-bit data value to be written. |
|
protected |
Flag to manage byte swapping