25 #ifndef ACE_SPI_HARD_SPI_INTERFACE_H
26 #define ACE_SPI_HARD_SPI_INTERFACE_H
55 uint32_t T_CLOCK_SPEED = 8000000
64 #if defined(ARDUINO_ARCH_STM32) || defined(ARDUINO_ARCH_SAMD)
65 static const BitOrder kBitOrder = MSBFIRST;
67 static const uint8_t kBitOrder = MSBFIRST;
71 static const uint8_t kSpiMode = SPI_MODE0;
103 pinMode(mLatchPin, OUTPUT);
108 pinMode(mLatchPin, INPUT);
113 mSpi.beginTransaction(SPISettings(T_CLOCK_SPEED, kBitOrder, kSpiMode));
114 digitalWrite(mLatchPin, LOW);
119 digitalWrite(mLatchPin, HIGH);
120 mSpi.endTransaction();
125 mSpi.transfer(value);
130 mSpi.transfer16(value);
148 void send16(uint8_t msb, uint8_t lsb)
const {
150 uint16_t value = ((uint16_t) msb) << 8 | (uint16_t) lsb;
161 uint8_t
const mLatchPin;