25 #ifndef ACE_SPI_SIMPLE_SPI_FAST_INTERFACE_H
26 #define ACE_SPI_SIMPLE_SPI_FAST_INTERFACE_H
41 template <u
int8_t T_LATCH_PIN, u
int8_t T_DATA_PIN, u
int8_t T_CLOCK_PIN>
49 pinModeFast(T_LATCH_PIN, OUTPUT);
50 pinModeFast(T_DATA_PIN, OUTPUT);
51 pinModeFast(T_CLOCK_PIN, OUTPUT);
56 pinModeFast(T_LATCH_PIN, INPUT);
57 pinModeFast(T_DATA_PIN, INPUT);
58 pinModeFast(T_CLOCK_PIN, INPUT);
63 digitalWriteFast(T_LATCH_PIN, LOW);
68 digitalWriteFast(T_LATCH_PIN, HIGH);
78 uint8_t msb = (value & 0xff00) >> 8;
79 uint8_t lsb = (value & 0xff);
85 void send8(uint8_t value)
const {
99 void send16(uint8_t msb, uint8_t lsb)
const {
111 static void shiftOutFast(uint8_t output) {
113 for (uint8_t i = 0; i < 8; i++) {
114 digitalWriteFast(T_CLOCK_PIN, LOW);
116 digitalWriteFast(T_DATA_PIN, HIGH);
118 digitalWriteFast(T_DATA_PIN, LOW);
120 digitalWriteFast(T_CLOCK_PIN, HIGH);