aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorUlf Lilleengen <[email protected]>2024-09-19 09:15:35 +0200
committerUlf Lilleengen <[email protected]>2024-09-19 09:16:19 +0200
commitdf23a77bfc3c8b5d8ab6adbd12842fa4cfe3675d (patch)
treefa0330ce882ec140d5d3845e90b8ff7de4c0e274 /examples
parentab0a227e4c02137bc3a621907d17ede0ace4cb1d (diff)
Add led to example to demonstrate revert state detection
Diffstat (limited to 'examples')
-rw-r--r--examples/boot/application/nrf/src/bin/a.rs9
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;
8use embassy_nrf::gpio::{Input, Level, Output, OutputDrive, Pull}; 8use embassy_nrf::gpio::{Input, Level, Output, OutputDrive, Pull};
9use embassy_nrf::nvmc::Nvmc; 9use embassy_nrf::nvmc::Nvmc;
10use embassy_nrf::wdt::{self, Watchdog}; 10use embassy_nrf::wdt::{self, Watchdog};
11use embassy_boot::State;
11use embassy_sync::mutex::Mutex; 12use embassy_sync::mutex::Mutex;
12use panic_reset as _; 13use 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;