16#ifndef DIRECT_GPIO_DRIVER_H
17#define DIRECT_GPIO_DRIVER_H
32 typedef uint16_t (*
MapFn)(uint8_t r, uint8_t c);
46 void begin()
override;
Abstract hardware driver interface for the XPoint crosspoint matrix.
Host-only virtual GPIO driver — no hardware dependency.
Definition DirectGPIODriver.h:29
void setNodeHardware(uint8_t r, uint8_t c, bool state) override
Set the virtual pin for node (r, c) to state.
Definition DirectGPIODriver.cpp:22
void commitPhysicalUpdates() override
No-op for this virtual driver (writes are immediate).
Definition DirectGPIODriver.cpp:30
~DirectGPIODriver()
Destructor — frees the virtual pin array.
Definition DirectGPIODriver.cpp:13
uint16_t(* MapFn)(uint8_t r, uint8_t c)
Function pointer type: (row, col) → pin index.
Definition DirectGPIODriver.h:32
bool pinState(uint16_t idx) const
Read the logical state of virtual pin idx.
Definition DirectGPIODriver.cpp:34
uint16_t pinCount() const
Return the total virtual pin count.
Definition DirectGPIODriver.h:72
void begin() override
Zero all virtual pins.
Definition DirectGPIODriver.cpp:18
Abstract base class for all XPoint hardware drivers.
Definition XPointDriver.h:41