diff options
| -rw-r--r-- | embassy-rp/src/watchdog.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/embassy-rp/src/watchdog.rs b/embassy-rp/src/watchdog.rs index 3631b2a9d..78a295ae7 100644 --- a/embassy-rp/src/watchdog.rs +++ b/embassy-rp/src/watchdog.rs | |||
| @@ -106,4 +106,17 @@ impl Watchdog { | |||
| 106 | self.load_counter(self.load_value); | 106 | self.load_counter(self.load_value); |
| 107 | self.enable(true); | 107 | self.enable(true); |
| 108 | } | 108 | } |
| 109 | |||
| 110 | /// Trigger a system reset | ||
| 111 | pub fn trigger_reset(&mut self) { | ||
| 112 | unsafe { | ||
| 113 | self.configure_wdog_reset_triggers(); | ||
| 114 | self.pause_on_debug(false); | ||
| 115 | self.enable(true); | ||
| 116 | let watchdog = pac::WATCHDOG; | ||
| 117 | watchdog.ctrl().write(|w| { | ||
| 118 | w.set_trigger(true); | ||
| 119 | }) | ||
| 120 | } | ||
| 121 | } | ||
| 109 | } | 122 | } |
