Watchdog Words

The RP2040 includes watchdog functionality that, when enabled, triggers a reboot after a set delay during which the watchdog timer is not updated. It also has the capability to force a reset. By default the watchdog timer is disabled, the watchog delay is 1 second, and the watchdog (once enabled) is updated automatically each time the multitasker runs outside of a critical section. This behavior chan be changed in that the watchdog delay can be set to any time between 0 microseconds (i.e. trigger immediately, and report a ‘force’ reboot reason rather than a ‘timer’ reason) and 8388607 microseconds, and the multitasker can be set to not automatically update the watchdog timer (and this require manual updating by the user).

watchdog

x-out-of-range-watchdog-delay

( – )

Out of range watchdog delay exception.

update-watchdog

( – )

Update the watchdog timer with the currently set watchdog delay.

force-watchdog-reboot

( – )

Force an immediate watchdog reboot even if the watchdog timer is not enabled.

watchdog-delay-us!

( us – )

Set the watchdog delay to a specified non-negative number of microseconds, up to a delay of 8388607 microseconds. If an out of range delay is provided x-out-of-range-watchdog-delay will be raised. Note that if a value of 0 is provided and the watchdog is currently enabled the watchdog will trigger immediately and a ‘force’ reboot reason will be reported; this also will happen if the watchdog is disabled, and then the watchdog is enabled after this is called. Also note that if the watchdog is enabled and a value other than 0 is given the watchog timer will be updated with that value.

enable-watchdog

( – )

Enable the watchdog timer. If the watchdog delay is currently set to 0 the watchdog will trigger immediately and a ‘force’ reboot reason will be reported.

disable-watchdog

( – )

Disable the watchdog timer.

reboot-reason-watchdog-force?

( – force? )

Get whether the most recent reboot was due to a watchdog force.

reboot-reason-watchdog-timer?

( – timer? )

Get whether the most reason reboot was due to a watchdog timeout.

enable-multitasker-update-watchdog

( – )

Enable the multitasker automatically updating the watchdog timer each time it runs outside of a critical section.

disable-multitasker-update-watchdog

( – )

Disable the multitasker automatically updating the watchdog timer each time it runs outside of a critical section.

enable-fault-watchdog-reboot

( – )

Enable triggering a watchdog force reboot on a hardware fault.

disable-fault-watchdog-reboot

( – )

Disable triggering a watchdog force reboot on a hardware fault.