FabGL
ESP32 Display Controller and Graphics Library
|
#include <MCP23S17.h>
Public Member Functions | |
bool | available () |
Determines MCP23S17 availability. More... | |
bool | begin (int MISO=-1, int MOSI=-1, int CLK=-1, int CS=-1, int CSActiveState=-1, int host=HSPI_HOST) |
Initializes MCP23S17 driver. More... | |
void | configureGPIO (int gpio, MCPDir dir, bool pullup=false, uint8_t hwAddr=0) |
Configure a pin direction and pullup. More... | |
void | disableInterrupt (int gpio, uint8_t hwAddr=0) |
Disables any interrupt on the specified pin. More... | |
void | enableInterrupt (int gpio, MCPIntTrigger trigger, bool defaultValue=false, uint8_t hwAddr=0) |
Enables interrupt on the specific pin. More... | |
void | enableINTMirroring (bool value, uint8_t hwAddr=0) |
Enables/disables INTs pins mirroring. More... | |
void | enableINTOpenDrain (bool value, uint8_t hwAddr=0) |
Enables/disables the INT pin open-drain. More... | |
void | enablePortPullUp (int port, uint8_t value, uint8_t hwAddr=0) |
Enables/disables port pull-ups. More... | |
void | end () |
Deinitializes MCP23S17 driver. More... | |
bool | getINTActiveHigh (uint8_t hwAddr=0) |
Gets the polarity of the INT pins. More... | |
uint8_t | getPortDir (int port, uint8_t hwAddr=0) |
Gets port direction. More... | |
uint8_t | getPortIntCaptured (int port, uint8_t hwAddr=0) |
Reads status of input port when last interrupt has been triggered. More... | |
uint8_t | getPortIntFlags (int port, uint8_t hwAddr=0) |
Reads interrupt flags for the specified port. More... | |
uint8_t | getPortPullUp (int port, uint8_t hwAddr=0) |
Gets port pull-ups. More... | |
bool | initDevice (uint8_t hwAddr) |
Initializes additional MCP23S17 devices connected to the same SPI bus but with a different hardware address. More... | |
bool | readGPIO (int gpio, uint8_t hwAddr=0) |
Reads input status of a pin. More... | |
uint8_t | readPort (int port, uint8_t hwAddr=0) |
Gets status of input pins of specified port. More... | |
void | readPort (int port, void *buffer, size_t length, uint8_t hwAddr=0) |
High speed reads en entire buffer from a specific port. More... | |
uint16_t | readPort16 (uint8_t hwAddr=0) |
Gets status of input pins of combined port A and B. More... | |
uint8_t | readReg (uint8_t addr, uint8_t hwAddr=0) |
Reads 8 bit value from an internal register. More... | |
uint16_t | readReg16 (uint8_t addr, uint8_t hwAddr=0) |
Reads 16 bit value from two consecutive registers. More... | |
void | setINTActiveHigh (bool value, uint8_t hwAddr=0) |
Sets the polarity of the INT pins. More... | |
void | setPortDir (int port, uint8_t value, uint8_t hwAddr=0) |
Sets port direction. More... | |
void | setPortInputPolarity (int port, uint8_t value, uint8_t hwAddr=0) |
Sets input polarity. More... | |
void | writeGPIO (int gpio, bool value, uint8_t hwAddr=0) |
Sets output status of a pin. More... | |
void | writePort (int port, uint8_t value, uint8_t hwAddr=0) |
Sets status of output pins of specified port. More... | |
void | writePort (int port, void const *buffer, size_t length, uint8_t hwAddr=0) |
High speed writes an entire buffer to a specific port. More... | |
void | writePort16 (uint16_t value, uint8_t hwAddr=0) |
Sets status of output pins of combined port A and B. More... | |
void | writeReg (uint8_t addr, uint8_t value, uint8_t hwAddr=0) |
Writes 8 bit value to an internal register. More... | |
void | writeReg16 (uint8_t addr, uint16_t value, uint8_t hwAddr=0) |
Writes 16 bit value to two consecutive registers. More... | |
MCP23S17 driver.
This driver supports multiple devices attached at the same bus (with the same CS) using hardware selection.
Example:
MCP23S17 io; io.begin(35, 12, 14, 13); // MISO = 35, MOSI = 12, CLK = 14, CS = 13 io.configureGPIO(MCP_B0, MCPDir::Output); // B0 is an output io.configureGPIO(MCP_A1, MCPDir::Input, true); // A1 is an input with pullup bool A1 = io.readGPIO(MCP_A1); // read A1 io.writeGPIO(MCP_B0, true); // sets B0 high
Definition at line 155 of file MCP23S17.h.