39 pinMode(pinClock, OUTPUT);
40 pinMode(pinData, OUTPUT);
45 pinMode(_pinClock, INPUT);
46 pinMode(_pinData, INPUT);
51 digitalWrite(_pinClock, LOW);
52 digitalWrite(_pinData, LOW);
62 digitalWrite(_pinData, LOW);
68 digitalWrite(_pinData, bit);
71 digitalWrite(_pinClock, HIGH);
74 digitalWrite(_pinClock, LOW);
79 for (
int bit = 7; bit >= 0; bit--)
82 digitalWrite(_pinData, (data & 0x80) == 0x80 ? HIGH : LOW);
85 digitalWrite(_pinClock, HIGH);
90 digitalWrite(_pinClock, LOW);
96 const uint8_t* endData = data + dataSize;
97 while (data < endData)
108 const uint8_t _pinClock;
109 const uint8_t _pinData;
Definition: NeoSettings.h:29
Definition: TwoWireBitBangImple.h:31
void endTransaction()
Definition: TwoWireBitBangImple.h:60
~TwoWireBitBangImple()
Definition: TwoWireBitBangImple.h:43
NeoNoSettings SettingsObject
Definition: TwoWireBitBangImple.h:33
void transmitByte(uint8_t data)
Definition: TwoWireBitBangImple.h:77
TwoWireBitBangImple(uint8_t pinClock, uint8_t pinData)
Definition: TwoWireBitBangImple.h:35
void beginTransaction()
Definition: TwoWireBitBangImple.h:55
void transmitBytes(const uint8_t *data, size_t dataSize)
Definition: TwoWireBitBangImple.h:94
void transmitBit(uint8_t bit)
Definition: TwoWireBitBangImple.h:65
void begin()
Definition: TwoWireBitBangImple.h:49
void applySettings([[maybe_unused]] const SettingsObject &settings)
Definition: TwoWireBitBangImple.h:103