|
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.