#pragma once #include #include class SpiMaster { private: static constexpr uint8_t CLOCK_POLARITY = 1; static constexpr uint8_t CLOCK_PHASE = 1; static constexpr uint8_t BIT_ORDER = 1; volatile uint8_t *_port = &PORTB; volatile uint8_t *_pinReg = &PINB; static constexpr uint8_t _pinIn = PB2; static constexpr uint8_t _pinOut = PB0; static constexpr uint8_t _pinClock = PB3; static constexpr uint8_t DELAY_TIME_US = 10; public: SpiMaster(); void readWrite(uint8_t length, uint8_t* bufferIn, uint8_t* bufferOut); uint8_t readWrite(uint8_t in = 0); void prepare(); uint8_t read(); void write(uint8_t in); };