semf
spi.h
Go to the documentation of this file.
1
10#ifndef SEMF_COMMUNICATION_SPI_H_
11#define SEMF_COMMUNICATION_SPI_H_
12
13#include <semf/system/gpio.h>
14#include <cstddef>
15
16namespace semf
17{
24class Spi
25{
26public:
28 enum class TransmissionMode : uint8_t
29 {
30 Mode0,
31 Mode1,
32 Mode2,
33 Mode3
34 };
36 enum class WireMode : uint8_t
37 {
38 FullDuplexWires,
39 HalfDuplexWires,
40 WriteOnlyWires,
41 ReadOnlyWires
42 };
43
44 virtual ~Spi() = default;
45
55 virtual void writeRead(const uint8_t writeData[], uint8_t readBuffer[], size_t size) = 0;
62 virtual void setFormat(uint8_t bits, TransmissionMode transmission, WireMode wire) = 0;
63};
64} /* namespace semf */
65#endif /* SEMF_COMMUNICATION_SPI_H_ */
Interface for SPI specific functionalities, which are not solved in a generic way in CommunicationHar...
Definition: spi.h:25
WireMode
Definition: spi.h:37
virtual void setFormat(uint8_t bits, TransmissionMode transmission, WireMode wire)=0
Sets the format for the spi slave device.
virtual ~Spi()=default
virtual void writeRead(const uint8_t writeData[], uint8_t readBuffer[], size_t size)=0
For writing and reading data parallel through the communication hardware 1) For interrupt or one shot...
TransmissionMode
Definition: spi.h:29