21#ifndef ARDUINO_SHIFT_REGISTER_DRIVER_H
22#define ARDUINO_SHIFT_REGISTER_DRIVER_H
41 typedef uint16_t (*
MapFn)(uint8_t r, uint8_t c);
62 void begin()
override;
Abstract hardware driver interface for the XPoint crosspoint matrix.
XPointDriver implementation for daisy-chained 74HC595 shift registers.
Definition ArduinoShiftRegisterDriver.h:38
void setNodeHardware(uint8_t r, uint8_t c, bool state) override
Update the shadow buffer for the bit mapped from (r, c).
Definition ArduinoShiftRegisterDriver.cpp:33
~ArduinoShiftRegisterDriver()
Destructor — frees the shadow byte buffer.
Definition ArduinoShiftRegisterDriver.cpp:17
void commitPhysicalUpdates() override
Clock the full shadow buffer out to the shift register chain.
Definition ArduinoShiftRegisterDriver.cpp:46
uint16_t(* MapFn)(uint8_t r, uint8_t c)
Function pointer type: (row, col) → bit index within the shift register chain.
Definition ArduinoShiftRegisterDriver.h:41
void begin() override
Configure DATA, CLOCK, and LATCH pins as OUTPUT then clear all outputs.
Definition ArduinoShiftRegisterDriver.cpp:22
Abstract base class for all XPoint hardware drivers.
Definition XPointDriver.h:41