From 5560e6ae4ab22afc7d0cdb75b7df4943a3d85836 Mon Sep 17 00:00:00 2001 From: andrethomas Date: Sat, 18 Aug 2018 16:28:25 +0200 Subject: [PATCH 1/2] MCP23008/MCP23017 Bugfix for resetX - Fix default intmode to ALL for pin modes 2 through 4 (Input pin modes) --- sonoff/xsns_29_mcp230xx.ino | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sonoff/xsns_29_mcp230xx.ino b/sonoff/xsns_29_mcp230xx.ino index 0e4a74e97..bda9e316d 100644 --- a/sonoff/xsns_29_mcp230xx.ino +++ b/sonoff/xsns_29_mcp230xx.ino @@ -331,7 +331,10 @@ void MCP230xx_Reset(uint8_t pinmode) { Settings.mcp230xx_config[pinx].pinmode=pinmode; Settings.mcp230xx_config[pinx].pullup=pullup; Settings.mcp230xx_config[pinx].saved_state=0; - Settings.mcp230xx_config[pinx].int_report_mode=0; + Settings.mcp230xx_config[pinx].int_report_mode=3; + if (pinmode > 1 && pinmode < 5) { + Settings.mcp230xx_config[pinx].int_report_mode=0; // Enabled for ALL by default + } Settings.mcp230xx_config[pinx].b7=0; } MCP230xx_ApplySettings(); From 1eebc2e4eeda84cdfa9ffb18b53a2b15e126e856 Mon Sep 17 00:00:00 2001 From: andrethomas Date: Sat, 18 Aug 2018 16:34:41 +0200 Subject: [PATCH 2/2] Update xsns_29_mcp230xx.ino --- sonoff/xsns_29_mcp230xx.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sonoff/xsns_29_mcp230xx.ino b/sonoff/xsns_29_mcp230xx.ino index bda9e316d..3bedcc167 100644 --- a/sonoff/xsns_29_mcp230xx.ino +++ b/sonoff/xsns_29_mcp230xx.ino @@ -331,9 +331,10 @@ void MCP230xx_Reset(uint8_t pinmode) { Settings.mcp230xx_config[pinx].pinmode=pinmode; Settings.mcp230xx_config[pinx].pullup=pullup; Settings.mcp230xx_config[pinx].saved_state=0; - Settings.mcp230xx_config[pinx].int_report_mode=3; if (pinmode > 1 && pinmode < 5) { Settings.mcp230xx_config[pinx].int_report_mode=0; // Enabled for ALL by default + } else { + Settings.mcp230xx_config[pinx].int_report_mode=3; // Disabled for pinmode 1, 5 and 6 (No interrupts there) } Settings.mcp230xx_config[pinx].b7=0; }