SparkFun Toolkit  v1.0.5-6-g34ffa30
Core Functionality Library
Loading...
Searching...
No Matches
sfTkArdSPI.h
Go to the documentation of this file.
1
14#pragma once
15
16#include "sfTkArduino.h"
17#include <SPI.h>
18#include <sfTk/sfTkISPI.h>
19
23class sfTkArdSPI : public sfTkISPI
24{
25 public:
29 sfTkArdSPI(void) : _spiPort(nullptr)
30 {
31 }
32
38 sfTkArdSPI(uint8_t csPin) : sfTkISPI(csPin)
39 {
40 }
47 {
48 }
49
57 {
58 _spiPort = rhs._spiPort;
60 return *this;
61 }
62
71 sfTkError_t init(bool bInit = false);
72
82 sfTkError_t init(uint8_t csPin, bool bInit = false);
83
94 sfTkError_t init(SPIClass &spiPort, SPISettings &busSPISettings, uint8_t csPin, bool bInit = false);
95
104 sfTkError_t writeRegion(const uint8_t *data, size_t length);
105
117 sfTkError_t writeRegister(uint8_t *devReg, size_t regLength, const uint8_t *data, size_t length);
118
129 sfTkError_t writeRegister(uint16_t devReg, const uint8_t *data, size_t length);
130
141 sfTkError_t writeRegister(uint16_t devReg, const uint16_t *data, size_t length);
142
154 sfTkError_t readRegister(uint8_t *devReg, size_t regLength, uint8_t *data, size_t numBytes, size_t &readBytes,
155 uint32_t read_delay = 0);
156
168 virtual sfTkError_t readRegister(uint16_t reg, uint8_t *data, size_t numBytes, size_t &readBytes);
169
181 virtual sfTkError_t readRegister(uint16_t reg, uint16_t *data, size_t length, size_t &readWords);
182
183 // For overloaded virtual methods, make sure to elevate our subclass methods.
186
187 protected:
188 // note: The instance data is protected, allowing access if a sub-class is
189 // created to implement a special read/write routine
190 //
192 SPIClass *_spiPort;
193
195 SPISettings _sfeSPISettings;
196};
This class implements the IBus interface for an SPI Implementation on Arduino.
Definition: sfTkArdSPI.h:24
sfTkArdSPI(uint8_t csPin)
Constructor for Arduino SPI bus object of the toolkit.
Definition: sfTkArdSPI.h:38
SPIClass * _spiPort
Definition: sfTkArdSPI.h:192
sfTkArdSPI(sfTkArdSPI const &rhs)
Copy constructor for Arduino SPI bus object of the toolkit.
Definition: sfTkArdSPI.h:46
sfTkError_t init(bool bInit=false)
Method sets up the required SPI settings.
Definition: sfTkArdSPI.cpp:67
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.
Definition: sfTkArdSPI.cpp:165
sfTkArdSPI(void)
Constructor for Arduino SPI bus object of the toolkit.
Definition: sfTkArdSPI.h:29
sfTkError_t writeRegion(const uint8_t *data, size_t length)
Write an array of data to the device without indexing to a register.
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.
Definition: sfTkArdSPI.cpp:79
sfTkArdSPI & operator=(const sfTkArdSPI &rhs)
Assignment copy operator for Arduino SPI bus object of the toolkit.
Definition: sfTkArdSPI.h:56
SPISettings _sfeSPISettings
Definition: sfTkArdSPI.h:195
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.
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.
Definition: sfTkISPI.h:26
header file for the SparkFun Toolkit Arduino layer
int32_t sfTkError_t
Definition: sfTkError.h:35
Header file for the SparkFun Toolkit SPI Interface Definition.