aboutsummaryrefslogtreecommitdiff
path: root/examples/src/bin/gpiote.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/src/bin/gpiote.rs')
-rw-r--r--examples/src/bin/gpiote.rs22
1 files changed, 7 insertions, 15 deletions
diff --git a/examples/src/bin/gpiote.rs b/examples/src/bin/gpiote.rs
index 16b4f06d7..d8394155d 100644
--- a/examples/src/bin/gpiote.rs
+++ b/examples/src/bin/gpiote.rs
@@ -15,7 +15,7 @@ use embassy_nrf::gpiote;
15 15
16#[task] 16#[task]
17async fn run() { 17async fn run() {
18 let p = embassy_nrf::pac::Peripherals::take().dewrap(); 18 let p = unwrap!(embassy_nrf::pac::Peripherals::take());
19 let port0 = gpio::p0::Parts::new(p.P0); 19 let port0 = gpio::p0::Parts::new(p.P0);
20 20
21 let g = gpiote::Gpiote::new(p.GPIOTE); 21 let g = gpiote::Gpiote::new(p.GPIOTE);
@@ -24,9 +24,7 @@ async fn run() {
24 24
25 let pin1 = port0.p0_11.into_pullup_input().degrade(); 25 let pin1 = port0.p0_11.into_pullup_input().degrade();
26 let button1 = async { 26 let button1 = async {
27 let ch = g 27 let ch = unwrap!(g.new_input_channel(pin1, gpiote::EventPolarity::HiToLo));
28 .new_input_channel(pin1, gpiote::EventPolarity::HiToLo)
29 .dewrap();
30 28
31 loop { 29 loop {
32 ch.wait().await; 30 ch.wait().await;
@@ -36,9 +34,7 @@ async fn run() {
36 34
37 let pin2 = port0.p0_12.into_pullup_input().degrade(); 35 let pin2 = port0.p0_12.into_pullup_input().degrade();
38 let button2 = async { 36 let button2 = async {
39 let ch = g 37 let ch = unwrap!(g.new_input_channel(pin2, gpiote::EventPolarity::LoToHi));
40 .new_input_channel(pin2, gpiote::EventPolarity::LoToHi)
41 .dewrap();
42 38
43 loop { 39 loop {
44 ch.wait().await; 40 ch.wait().await;
@@ -48,9 +44,7 @@ async fn run() {
48 44
49 let pin3 = port0.p0_24.into_pullup_input().degrade(); 45 let pin3 = port0.p0_24.into_pullup_input().degrade();
50 let button3 = async { 46 let button3 = async {
51 let ch = g 47 let ch = unwrap!(g.new_input_channel(pin3, gpiote::EventPolarity::Toggle));
52 .new_input_channel(pin3, gpiote::EventPolarity::Toggle)
53 .dewrap();
54 48
55 loop { 49 loop {
56 ch.wait().await; 50 ch.wait().await;
@@ -60,9 +54,7 @@ async fn run() {
60 54
61 let pin4 = port0.p0_25.into_pullup_input().degrade(); 55 let pin4 = port0.p0_25.into_pullup_input().degrade();
62 let button4 = async { 56 let button4 = async {
63 let ch = g 57 let ch = unwrap!(g.new_input_channel(pin4, gpiote::EventPolarity::Toggle));
64 .new_input_channel(pin4, gpiote::EventPolarity::Toggle)
65 .dewrap();
66 58
67 loop { 59 loop {
68 ch.wait().await; 60 ch.wait().await;
@@ -79,8 +71,8 @@ static EXECUTOR: Forever<Executor> = Forever::new();
79fn main() -> ! { 71fn main() -> ! {
80 info!("Hello World!"); 72 info!("Hello World!");
81 73
82 let executor = EXECUTOR.put(Executor::new(cortex_m::asm::wfi)); 74 let executor = EXECUTOR.put(Executor::new(cortex_m::asm::sev));
83 executor.spawn(run()).dewrap(); 75 unwrap!(executor.spawn(run()));
84 76
85 loop { 77 loop {
86 executor.run(); 78 executor.run();