#ifndef PISPI_H #define PISPI_H #include "piiodevice.h" class PIP_EXPORT PISPI: public PIIODevice { PIIODEVICE(PISPI) public: explicit PISPI(const PIString & path = PIString(), uint speed_hz = 100000, PIIODevice::DeviceMode mode = PIIODevice::ReadWrite); ~PISPI() {} void setSpeed(uint speed_hz); uint speed() const {return spi_speed;} void setBits(uchar bits = 8); uchar bits() const {return spi_bits;} protected: bool openDevice(); bool closeDevice(); int readDevice(void * read_to, int max_size); int writeDevice(const void * data, int max_size); private: uint spi_speed; uchar spi_mode; uchar spi_bits; PIByteArray tx_buf, rx_buf; PIByteArray recv_buf; PRIVATE_DECLARATION }; #endif // PISPI_H