25 #ifndef ACE_SEGMENT_SW_SPI_ADAPTER_H
26 #define ACE_SEGMENT_SW_SPI_ADAPTER_H
31 namespace ace_segment {
47 pinMode(mLatchPin, OUTPUT);
48 pinMode(mDataPin, OUTPUT);
49 pinMode(mClockPin, OUTPUT);
53 pinMode(mLatchPin, INPUT);
54 pinMode(mDataPin, INPUT);
55 pinMode(mClockPin, INPUT);
58 void transfer(uint8_t value)
const {
59 digitalWrite(mLatchPin, LOW);
60 shiftOut(mDataPin, mClockPin, MSBFIRST, value);
61 digitalWrite(mLatchPin, HIGH);
64 void transfer16(uint16_t value)
const {
65 uint8_t msb = (value & 0xff00) >> 8;
66 uint8_t lsb = (value & 0xff);
67 digitalWrite(mLatchPin, LOW);
68 shiftOut(mDataPin, mClockPin, MSBFIRST, msb);
69 shiftOut(mDataPin, mClockPin, MSBFIRST, lsb);
70 digitalWrite(mLatchPin, HIGH);
74 uint8_t
const mLatchPin;
75 uint8_t
const mDataPin;
76 uint8_t
const mClockPin;