Skip to content

Commit 0497501

Browse files
authored
Merge pull request #66 from Donkie/interruptfix
Port B interrupt fixes
2 parents b4435f2 + 1a1983b commit 0497501

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/Adafruit_MCP23XXX.cpp

+5-4
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ uint8_t Adafruit_MCP23XXX::getLastInterruptPin() {
210210

211211
// Port A
212212
Adafruit_BusIO_Register INTFA(i2c_dev, spi_dev, MCP23XXX_SPIREG,
213-
getRegister(MCP23XXX_INTF));
213+
getRegister(MCP23XXX_INTF, 0));
214214
INTFA.read(&intf);
215215
for (uint8_t pin = 0; pin < 8; pin++) {
216216
if (intf & (1 << pin)) {
@@ -222,7 +222,7 @@ uint8_t Adafruit_MCP23XXX::getLastInterruptPin() {
222222
// Port B and still not found?
223223
if ((pinCount > 8) && (intpin == 255)) {
224224
Adafruit_BusIO_Register INTFB(i2c_dev, spi_dev, MCP23XXX_SPIREG,
225-
getRegister(MCP23XXX_INTF), 1);
225+
getRegister(MCP23XXX_INTF, 1));
226226
INTFB.read(&intf);
227227
for (uint8_t pin = 0; pin < 8; pin++) {
228228
if (intf & (1 << pin)) {
@@ -234,8 +234,9 @@ uint8_t Adafruit_MCP23XXX::getLastInterruptPin() {
234234

235235
// clear if found
236236
if (intpin != 255) {
237-
Adafruit_BusIO_Register INTCAP(i2c_dev, spi_dev, MCP23XXX_SPIREG,
238-
getRegister(MCP23XXX_INTCAP));
237+
Adafruit_BusIO_Register INTCAP(
238+
i2c_dev, spi_dev, MCP23XXX_SPIREG,
239+
getRegister(MCP23XXX_INTCAP, MCP_PORT(intpin)));
239240
INTCAP.read();
240241
}
241242

0 commit comments

Comments
 (0)