I am attempting to utilize both the watchdog feature and the machine.reset_reason() without any luck.
I am initializing the watchdog based on the documentation and this is working properly:
dog = machine.WDT(timeout=5000, response=machine.HARD_RESET)
In my test I am triggering a watchdog event after a few seconds. Upon reboot, I read out the reset cause like so:
reset_reason = machine.reset_cause()
print("reset reason: " + str(reset_reason))
As a result, reset_reason is always printing 0 even when it is a triggered watchdog event.
I found the list of constants that the machine.reset_cause returns, and I would thing I would return a 4 or a 5 if the cause was a watchdog reset.