12template <uint16_t N, class SPIDriver>
17 spi(std::forward<SPIDriver>(spi)) {}
19template <u
int16_t N,
class SPIDriver>
23 updateBufferedOutputs();
26template <u
int16_t N,
class SPIDriver>
30 spi.beginTransaction(settings);
32 const uint16_t bufferLength = this->buffer.getBufferLength();
33 if (this->bitOrder == LSBFIRST)
34 for (uint16_t i = 0; i < bufferLength; i++)
35 spi.transfer(this->buffer.getByte(i));
37 for (uint16_t i = bufferLength; i-->0;)
38 spi.transfer(this->buffer.getByte(i));
#define BEGIN_AH_NAMESPACE
constexpr PinStatus_t LOW
constexpr PinStatus_t HIGH
constexpr PinMode_t OUTPUT
#define AH_DIAGNOSTIC_EXTERNAL_HEADER()
#define AH_DIAGNOSTIC_POP()
A class for serial-in/parallel-out shift registers, like the 74HC595 that are connected to the SPI bu...
A class for serial-in/parallel-out shift registers, like the 74HC595.
void pinMode(pin_t pin, PinMode_t mode)
An ExtIO version of the Arduino function.
void digitalWrite(pin_t pin, PinStatus_t val)
An ExtIO version of the Arduino function.
uint16_t pin_t
The type for Arduino pins (and ExtendedIOElement pins).