diff --git a/Adafruit_MCP23017.cpp b/Adafruit_MCP23017.cpp index 79d193c..97ce9cf 100644 --- a/Adafruit_MCP23017.cpp +++ b/Adafruit_MCP23017.cpp @@ -295,6 +295,17 @@ void Adafruit_MCP23017::setupInterruptPin(uint8_t pin, uint8_t mode) { updateRegisterBit(pin, HIGH, MCP23017_GPINTENA, MCP23017_GPINTENB); } +/** + * Disable a pin for interrupt. + * + * @param pin Pin to set + * + */ +void Adafruit_MCP23017::disableInterruptPin(uint8_t pin) { + // disable the pin for interrupt + updateRegisterBit(pin, LOW, MCP23017_GPINTENA, MCP23017_GPINTENB); +} + /*! * @brief Gets the last interrupt pin * @return Returns the last interrupt pin diff --git a/Adafruit_MCP23017.h b/Adafruit_MCP23017.h index dde203c..6ed0f8d 100644 --- a/Adafruit_MCP23017.h +++ b/Adafruit_MCP23017.h @@ -36,7 +36,8 @@ class Adafruit_MCP23017 { uint8_t readGPIO(uint8_t b); void setupInterrupts(uint8_t mirroring, uint8_t open, uint8_t polarity); - void setupInterruptPin(uint8_t p, uint8_t mode); + void setupInterruptPin(uint8_t pin, uint8_t mode); + void disableInterruptPin(uint8_t pin); uint8_t getLastInterruptPin(); uint8_t getLastInterruptPinValue();