distortos
v0.7.0
object-oriented C++ RTOS for microcontrollers
|
#include "distortos/devices/communication/SpiMasterLowLevel.hpp"
Public Member Functions | |
virtual | ~SpiMasterLowLevel ()=default |
SpiMasterLowLevel's destructor. More... | |
virtual void | configure (SpiMode mode, uint32_t clockFrequency, uint8_t wordLength, bool lsbFirst, uint32_t dummyData)=0 |
Configures parameters of low-level SPI master driver. More... | |
virtual int | start ()=0 |
Starts low-level SPI master driver. More... | |
virtual void | startTransfer (SpiMasterBase &spiMasterBase, const void *writeBuffer, void *readBuffer, size_t size)=0 |
Starts asynchronous transfer. More... | |
virtual void | stop ()=0 |
Stops low-level SPI master driver. More... | |
SpiMasterLowLevel class is an interface for low-level SPI master driver
|
virtualdefault |
SpiMasterLowLevel's destructor.
|
pure virtual |
Configures parameters of low-level SPI master driver.
[in] | mode | is the desired SPI mode |
[in] | clockFrequency | is the desired clock frequency, Hz |
[in] | wordLength | selects word length, bits, [1; 32] |
[in] | lsbFirst | selects whether MSB (false) or LSB (true) is transmitted first |
[in] | dummyData | is the dummy data that will be sent if write buffer of transfer is nullptr |
Implemented in distortos::chip::SpiMasterLowLevelDmaBased, and distortos::chip::SpiMasterLowLevelInterruptBased.
|
pure virtual |
Starts low-level SPI master driver.
Implemented in distortos::chip::SpiMasterLowLevelDmaBased, and distortos::chip::SpiMasterLowLevelInterruptBased.
|
pure virtual |
Starts asynchronous transfer.
This function returns immediately. When the transfer is physically finished (either expected number of bytes were written and read or an error was detected), SpiMasterBase::transferCompleteEvent() will be executed.
[in] | spiMasterBase | is a reference to SpiMasterBase object that will be notified about completed transfer |
[in] | writeBuffer | is the buffer with data that will be written, nullptr to send dummy data |
[out] | readBuffer | is the buffer with data that will be read, nullptr to ignore received data |
[in] | size | is the size of transfer (size of writeBuffer and/or readBuffer), bytes, most not be zero, must be even if number of data bits is in range (8; 16], divisible by 3 if number of data bits is in range (16; 24] or divisible by 4 if number of data bits is in range (24; 32] |
Implemented in distortos::chip::SpiMasterLowLevelDmaBased, and distortos::chip::SpiMasterLowLevelInterruptBased.
|
pure virtual |
Stops low-level SPI master driver.
Implemented in distortos::chip::SpiMasterLowLevelDmaBased, and distortos::chip::SpiMasterLowLevelInterruptBased.