26#ifndef MCP23017_DRIVER_H
27#define MCP23017_DRIVER_H
43 typedef uint8_t (*
MapFn)(uint8_t r, uint8_t c);
60 void begin()
override;
Minimal abstract I2C interface consumed by MCP23017Driver.
Abstract hardware driver interface for the XPoint crosspoint matrix.
Abstract I2C bus interface.
Definition I2CInterface.h:28
XPointDriver implementation for the MCP23017 16-bit I2C GPIO expander.
Definition MCP23017Driver.h:40
void setNodeHardware(uint8_t r, uint8_t c, bool state) override
Set or clear one output pin and immediately write both OLAT registers.
Definition MCP23017Driver.cpp:28
void begin() override
Set IODIRA and IODIRB to 0x00 (all outputs) then write OLATA/OLATB.
Definition MCP23017Driver.cpp:18
uint8_t gpioB() const
Read the OLATB shadow register (for diagnostics / testing).
Definition MCP23017Driver.h:89
void commitPhysicalUpdates() override
No-op — MCP23017 writes commit inside setNodeHardware().
Definition MCP23017Driver.h:72
uint8_t(* MapFn)(uint8_t r, uint8_t c)
Function pointer type: (row, col) → MCP23017 pin index 0–15.
Definition MCP23017Driver.h:43
uint8_t gpioA() const
Read the OLATA shadow register (for diagnostics / testing).
Definition MCP23017Driver.h:80
Abstract base class for all XPoint hardware drivers.
Definition XPointDriver.h:41