diff --git a/CHANGELOG.md b/CHANGELOG.md index 4055d88aff42..dc5e3931b8fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,8 @@ All notable changes to this project will be documented in this file. ### Breaking Changed ### Changed -- Berry make Leds animate calls reentrant +- Berry make Leds animate calls reentrant (#22643) +- SSL clean up remnants of old fingerprint algorithm (#22645) ### Fixed - ESP32 rules operation priority regression from v13.3.0.4 (#22636) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index bd2bf0400c17..d2433f585b9e 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -121,6 +121,8 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm ### Breaking Changed ### Changed +- Berry make Leds animate calls reentrant [#22643](https://github.com/arendst/Tasmota/issues/22643) +- SSL clean up remnants of old fingerprint algorithm (#22645)[#22645](https://github.com/arendst/Tasmota/issues/22645) ### Fixed - GUI display power button regression from v14.3.0.5 [#15788](https://github.com/arendst/Tasmota/issues/15788) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_67_mcp23xxx.ino b/tasmota/tasmota_xdrv_driver/xdrv_67_mcp23xxx.ino index dd3dd3e0c4f2..6afa820e4c20 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_67_mcp23xxx.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_67_mcp23xxx.ino @@ -628,7 +628,7 @@ void MCP23xModuleInit(void) { #endif while ((Mcp23x.max_devices < MCP23XXX_MAX_DEVICES) && PinUsed(GPIO_MCP23SXX_CS, Mcp23x.max_devices)) { Mcp23x.chip = Mcp23x.max_devices; - uint32_t pin_int = (Mcp23x.iocon.ODR) ? 0 : Mcp23x.chip; // INT pins are open-drain outputs and supposedly connected together to one GPIO + uint32_t pin_int = (Mcp23x.iocon.ODR) ? 0 : Mcp23x.chip; // INT ODR pins are open-drain outputs and supposedly connected together to one GPIO Mcp23x.device[Mcp23x.chip].pin_int = (PinUsed(GPIO_MCP23XXX_INT, pin_int)) ? Pin(GPIO_MCP23XXX_INT, pin_int) : -1; Mcp23x.device[Mcp23x.chip].pin_cs = Pin(GPIO_MCP23SXX_CS, Mcp23x.max_devices); digitalWrite(Mcp23x.device[Mcp23x.chip].pin_cs, 1); @@ -719,6 +719,8 @@ void MCP23xModuleInit(void) { return; } + AddLog(LOG_LEVEL_DEBUG_MORE, PSTR("MCP: INT open-drain %d"), Mcp23x.iocon.ODR); + Mcp23x.relay_offset = TasmotaGlobal.devices_present; Mcp23x.relay_max -= UpdateDevicesPresent(Mcp23x.relay_max); @@ -774,7 +776,8 @@ void MCP23xInit(void) { gpio = MCP23xRead16(MCP23X17_GPIOA); // Clear MCP23x17 interrupt } if (Mcp23x.iocon.ODR && Mcp23x.chip) { continue; } - pinMode(Mcp23x.device[Mcp23x.chip].pin_int, (Mcp23x.iocon.ODR) ? INPUT_PULLUP : INPUT); +// pinMode(Mcp23x.device[Mcp23x.chip].pin_int, (Mcp23x.iocon.ODR) ? INPUT_PULLUP : INPUT); + pinMode(Mcp23x.device[Mcp23x.chip].pin_int, INPUT_PULLUP); attachInterrupt(Mcp23x.device[Mcp23x.chip].pin_int, MCP23xInputIsr, (Mcp23x.iocon.ODR) ? FALLING : CHANGE); } }