QUERY · ISSUE
stmhal: WDT hangs after programming
bugport-stm32
I discovered an interesting quirk related to the IWDG.
If I program my pyboard using pydfu, then trying this in the REPL immediately afterwards hangs:
>>> wdt = machine.WDT(0, 5000)
By hangs, I mean it never returns the REPL. I added some debug prints and it seems to stuck in the IWDG->SR & 1 loop and the value of SR is 3.
If I hit the RESET button, then the wdt = machine.WDT(0, 5000) works exactly as expected.
CANDIDATE · PULL REQUEST
ESP32/machine_wdt.c: Add WDT.deinit() method.
port-esp32
The WDT.deinit() method allows you to execute sys.exit() to enter to REPL(WebREPL) manual mode without reboot caused by the WDT.
This function may be interested in ESP8266, WiPy, RP2, and other ports.