#ifndef STA_CORE_ARDUINO_SPI_HPP #define STA_CORE_ARDUINO_SPI_HPP #include #ifdef STA_PLATFORM_ARDUINO #include #include #include namespace sta { class ArduinoSPI : public SPI { public: ArduinoSPI(const SPISettings & settings, Mutex * mutex = nullptr); void transfer(uint8_t value) override; void transfer16(uint16_t value) override; void transfer(const uint8_t * buffer, size_t size) override; void transfer(const uint8_t * txBuffer, uint8_t * rxBuffer, size_t size) override; void receive(uint8_t * buffer, size_t size) override; void fill(uint8_t value, size_t count) override; void acquire() override; void release() override; private: }; class ArduinoSPIDevice : public SPIDevice { public: ArduinoSPIDevice(ArduinoSPI * intf, ArduinoGpioPin * csPin); }; } // namespace sta #endif // STA_PLATFORM_ARDUINO #endif // STA_CORE_ARDUINO_SPI_HPP