4#include <linux/spi/spidev.h>
18 explicit Spi(
const std::string& device);
29 void setDelay(std::chrono::microseconds);
30 std::chrono::microseconds
getDelay()
const;
32 void write(
char* pData,
size_t len);
33 void read(
char* pData,
size_t len);
37 template <
class Stream>
42 const std::string mDevice;
45 uint8_t mBitsPerWord = 8;
46 std::chrono::microseconds mDelay = std::chrono::microseconds(0);
48 uint32_t mSpeed = 500000;
52template <
class Stream>
55 out <<
"SPI " << spi.mDevice << std::endl;
56 out <<
"\tMode: " << spi.
getMode() << std::endl;
57 out <<
"\tSpeed [Hz]: " << spi.
getSpeed() << std::endl;
58 out <<
"\tWord length [bits]: " <<
static_cast<int>(spi.
getBitsPerWord()) << std::endl;
59 out <<
"\tDelay [us]: " << spi.
getDelay().count() << std::endl;
uint32_t getSpeed() const
Definition: spi.cc:40
void setBitsPerWord(uint8_t bitsPerWord)
Definition: spi.cc:18
uint32_t getMode() const
Definition: spi.cc:55
void write(char *pData, size_t len)
Definition: spi.cc:71
void read(char *pData, size_t len)
Definition: spi.cc:89
void writeRead(char *pData, size_t len)
Definition: spi.cc:107
void setDelay(std::chrono::microseconds)
Definition: spi.cc:63
void setMode(uint32_t mode)
Definition: spi.cc:48
uint8_t getBitsPerWord() const
Definition: spi.cc:25
std::chrono::microseconds getDelay() const
Definition: spi.cc:67
void setSpeed(uint32_t speed)
Definition: spi.cc:33
friend Stream & operator<<(Stream &out, const Spi &)
Definition: spi.h:53
Stream & operator<<(Stream &out, const Spi &spi)
Definition: spi.h:53