diff options
| author | Ulf Lilleengen <[email protected]> | 2024-09-19 09:15:35 +0200 |
|---|---|---|
| committer | Ulf Lilleengen <[email protected]> | 2024-09-19 09:16:19 +0200 |
| commit | df23a77bfc3c8b5d8ab6adbd12842fa4cfe3675d (patch) | |
| tree | fa0330ce882ec140d5d3845e90b8ff7de4c0e274 /examples/boot/application | |
| parent | ab0a227e4c02137bc3a621907d17ede0ace4cb1d (diff) | |
Add led to example to demonstrate revert state detection
Diffstat (limited to 'examples/boot/application')
| -rw-r--r-- | examples/boot/application/nrf/src/bin/a.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/examples/boot/application/nrf/src/bin/a.rs b/examples/boot/application/nrf/src/bin/a.rs index 851a3d721..60cf3cd1a 100644 --- a/examples/boot/application/nrf/src/bin/a.rs +++ b/examples/boot/application/nrf/src/bin/a.rs | |||
| @@ -8,6 +8,7 @@ use embassy_executor::Spawner; | |||
| 8 | use embassy_nrf::gpio::{Input, Level, Output, OutputDrive, Pull}; | 8 | use embassy_nrf::gpio::{Input, Level, Output, OutputDrive, Pull}; |
| 9 | use embassy_nrf::nvmc::Nvmc; | 9 | use embassy_nrf::nvmc::Nvmc; |
| 10 | use embassy_nrf::wdt::{self, Watchdog}; | 10 | use embassy_nrf::wdt::{self, Watchdog}; |
| 11 | use embassy_boot::State; | ||
| 11 | use embassy_sync::mutex::Mutex; | 12 | use embassy_sync::mutex::Mutex; |
| 12 | use panic_reset as _; | 13 | use panic_reset as _; |
| 13 | 14 | ||
| @@ -22,6 +23,7 @@ async fn main(_spawner: Spawner) { | |||
| 22 | 23 | ||
| 23 | let mut button = Input::new(p.P0_11, Pull::Up); | 24 | let mut button = Input::new(p.P0_11, Pull::Up); |
| 24 | let mut led = Output::new(p.P0_13, Level::Low, OutputDrive::Standard); | 25 | let mut led = Output::new(p.P0_13, Level::Low, OutputDrive::Standard); |
| 26 | let mut led_reverted = Output::new(p.P0_14, Level::High, OutputDrive::Standard); | ||
| 25 | 27 | ||
| 26 | //let mut led = Output::new(p.P1_10, Level::Low, OutputDrive::Standard); | 28 | //let mut led = Output::new(p.P1_10, Level::Low, OutputDrive::Standard); |
| 27 | //let mut button = Input::new(p.P1_02, Pull::Up); | 29 | //let mut button = Input::new(p.P1_02, Pull::Up); |
| @@ -53,6 +55,13 @@ async fn main(_spawner: Spawner) { | |||
| 53 | let config = FirmwareUpdaterConfig::from_linkerfile(&nvmc, &nvmc); | 55 | let config = FirmwareUpdaterConfig::from_linkerfile(&nvmc, &nvmc); |
| 54 | let mut magic = [0; 4]; | 56 | let mut magic = [0; 4]; |
| 55 | let mut updater = FirmwareUpdater::new(config, &mut magic); | 57 | let mut updater = FirmwareUpdater::new(config, &mut magic); |
| 58 | let state = updater.get_state().await.unwrap(); | ||
| 59 | if state == State::Revert { | ||
| 60 | led_reverted.set_low(); | ||
| 61 | } else { | ||
| 62 | led_reverted.set_high(); | ||
| 63 | } | ||
| 64 | |||
| 56 | loop { | 65 | loop { |
| 57 | led.set_low(); | 66 | led.set_low(); |
| 58 | button.wait_for_any_edge().await; | 67 | button.wait_for_any_edge().await; |
