/* * SPI.h -- shim for host-side test builds. * * Intercepts #include so that code referencing SPI compiles * on x86_64. Provides a minimal mock of the Arduino SPI library. * * Generated by Anvil. */ #ifndef SPI_H_MOCK_SHIM #define SPI_H_MOCK_SHIM #include "mock_arduino.h" #define SPI_MODE0 0x00 #define SPI_MODE1 0x04 #define SPI_MODE2 0x08 #define SPI_MODE3 0x0C #define SPI_CLOCK_DIV2 0x04 #define SPI_CLOCK_DIV4 0x00 #define SPI_CLOCK_DIV8 0x05 #define SPI_CLOCK_DIV16 0x01 #define SPI_CLOCK_DIV32 0x06 #define SPI_CLOCK_DIV64 0x02 #define SPI_CLOCK_DIV128 0x03 #define MSBFIRST 1 #define LSBFIRST 0 struct SPISettings { uint32_t clock; uint8_t bitOrder; uint8_t dataMode; SPISettings() : clock(4000000), bitOrder(MSBFIRST), dataMode(SPI_MODE0) {} SPISettings(uint32_t c, uint8_t o, uint8_t m) : clock(c), bitOrder(o), dataMode(m) {} }; class MockSPI { public: void begin() {} void end() {} void beginTransaction(SPISettings) {} void endTransaction() {} uint8_t transfer(uint8_t data) { (void)data; return 0; } uint16_t transfer16(uint16_t data) { (void)data; return 0; } void transfer(void* buf, size_t count) { (void)buf; (void)count; } void setBitOrder(uint8_t) {} void setClockDivider(uint8_t) {} void setDataMode(uint8_t) {} }; extern MockSPI SPI; #endif // SPI_H_MOCK_SHIM