Pass WDT config around
By passing WDT config around we can control it more easily and promote sharing it between files.
This commit is contained in:
		| @@ -149,11 +149,7 @@ pub struct WatchdogFlash<'d> { | ||||
|  | ||||
| impl<'d> WatchdogFlash<'d> { | ||||
|     /// Start a new watchdog with a given flash and WDT peripheral and a timeout | ||||
|     pub fn start(flash: Nvmc<'d>, wdt: WDT, timeout: u32) -> Self { | ||||
|         let mut config = wdt::Config::default(); | ||||
|         config.timeout_ticks = 32768 * timeout; // timeout seconds | ||||
|         config.run_during_sleep = true; | ||||
|         config.run_during_debug_halt = false; | ||||
|     pub fn start(flash: Nvmc<'d>, wdt: WDT, config: wdt::Config) -> Self { | ||||
|         let (_wdt, [wdt]) = match wdt::Watchdog::try_new(wdt, config) { | ||||
|             Ok(x) => x, | ||||
|             Err(_) => { | ||||
|   | ||||
| @@ -6,6 +6,7 @@ use cortex_m_rt::{entry, exception}; | ||||
| use defmt_rtt as _; | ||||
| use embassy_boot_nrf::*; | ||||
| use embassy_nrf::nvmc::Nvmc; | ||||
| use embassy_nrf::wdt; | ||||
|  | ||||
| #[entry] | ||||
| fn main() -> ! { | ||||
| @@ -20,8 +21,14 @@ fn main() -> ! { | ||||
|     */ | ||||
|  | ||||
|     let mut bl = BootLoader::default(); | ||||
|  | ||||
|     let mut wdt_config = wdt::Config::default(); | ||||
|     wdt_config.timeout_ticks = 32768 * 5; // timeout seconds | ||||
|     wdt_config.run_during_sleep = true; | ||||
|     wdt_config.run_during_debug_halt = false; | ||||
|  | ||||
|     let start = bl.prepare(&mut SingleFlashConfig::new(&mut BootFlash::<_, 4096>::new( | ||||
|         WatchdogFlash::start(Nvmc::new(p.NVMC), p.WDT, 5), | ||||
|         WatchdogFlash::start(Nvmc::new(p.NVMC), p.WDT, wdt_config), | ||||
|     ))); | ||||
|     unsafe { bl.load(start) } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user