Skip to main content

watchdog_feed_loop

Function watchdog_feed_loop 

Source
pub async fn watchdog_feed_loop(
    rtc: Rtc<'static>,
    timeout_secs: u64,
    feed_every_secs: u64,
) -> !
Expand description

Arm the RWDT (Stage0 = hardware system reset on timeout) and feed it forever from the calling executor.

Spawn this on the executor whose wedging you want to catch: if that executor stops being scheduled, the feed stops and the RWDT hard-resets the chip timeout_secs later. NOT a substitute for bounding individual operations — a subsystem hang with the executor still alive keeps feeding.

Rtc is consumed; construct it from SystemResources::lpwr.