aboutsummaryrefslogtreecommitdiff
path: root/embassy-nrf-examples/src
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2021-03-21 21:58:59 +0100
committerDario Nieuwenhuis <[email protected]>2021-03-29 00:58:57 +0200
commita134fce122d570cfcd3837944554fff6c35e4039 (patch)
treea6d2e80e94c6f230dd4c713406605466c1c1537c /embassy-nrf-examples/src
parentd5ff1a0ae30db8963eec1b7f23b90991e4f47c3d (diff)
nrf: nicer Peripherals api, add take()
Diffstat (limited to 'embassy-nrf-examples/src')
-rw-r--r--embassy-nrf-examples/src/bin/gpiote_port.rs6
-rw-r--r--embassy-nrf-examples/src/bin/qspi.rs9
-rw-r--r--embassy-nrf-examples/src/bin/spim.rs15
3 files changed, 14 insertions, 16 deletions
diff --git a/embassy-nrf-examples/src/bin/gpiote_port.rs b/embassy-nrf-examples/src/bin/gpiote_port.rs
index 0ec9e5d38..593261aed 100644
--- a/embassy-nrf-examples/src/bin/gpiote_port.rs
+++ b/embassy-nrf-examples/src/bin/gpiote_port.rs
@@ -6,18 +6,18 @@
6 6
7#[path = "../example_common.rs"] 7#[path = "../example_common.rs"]
8mod example_common; 8mod example_common;
9use example_common::*;
10 9
11use core::pin::Pin; 10use core::pin::Pin;
12use cortex_m_rt::entry; 11use cortex_m_rt::entry;
13use defmt::panic; 12use defmt::panic;
14
15use embassy::executor::{task, Executor}; 13use embassy::executor::{task, Executor};
16use embassy::traits::gpio::{WaitForHigh, WaitForLow}; 14use embassy::traits::gpio::{WaitForHigh, WaitForLow};
17use embassy::util::Forever; 15use embassy::util::Forever;
18use embassy_nrf::gpio::{AnyPin, Input, Pin as _, Pull}; 16use embassy_nrf::gpio::{AnyPin, Input, Pin as _, Pull};
19use embassy_nrf::gpiote::{self, PortInput}; 17use embassy_nrf::gpiote::{self, PortInput};
20use embassy_nrf::interrupt; 18use embassy_nrf::interrupt;
19use embassy_nrf::Peripherals;
20use example_common::*;
21 21
22async fn button(n: usize, mut pin: PortInput<AnyPin>) { 22async fn button(n: usize, mut pin: PortInput<AnyPin>) {
23 loop { 23 loop {
@@ -30,7 +30,7 @@ async fn button(n: usize, mut pin: PortInput<AnyPin>) {
30 30
31#[task] 31#[task]
32async fn run() { 32async fn run() {
33 let p = unsafe { embassy_nrf::peripherals::Peripherals::steal() }; 33 let p = Peripherals::take().unwrap();
34 34
35 let g = gpiote::initialize(p.gpiote, interrupt::take!(GPIOTE)); 35 let g = gpiote::initialize(p.gpiote, interrupt::take!(GPIOTE));
36 36
diff --git a/embassy-nrf-examples/src/bin/qspi.rs b/embassy-nrf-examples/src/bin/qspi.rs
index a08969881..1637b3977 100644
--- a/embassy-nrf-examples/src/bin/qspi.rs
+++ b/embassy-nrf-examples/src/bin/qspi.rs
@@ -6,17 +6,16 @@
6 6
7#[path = "../example_common.rs"] 7#[path = "../example_common.rs"]
8mod example_common; 8mod example_common;
9use embassy_nrf::peripherals::Peripherals;
10use example_common::*;
11 9
12use cortex_m_rt::entry; 10use cortex_m_rt::entry;
13use defmt::{assert_eq, panic}; 11use defmt::{assert_eq, panic};
14use futures::pin_mut;
15
16use embassy::executor::{task, Executor}; 12use embassy::executor::{task, Executor};
17use embassy::traits::flash::Flash; 13use embassy::traits::flash::Flash;
18use embassy::util::Forever; 14use embassy::util::Forever;
15use embassy_nrf::Peripherals;
19use embassy_nrf::{interrupt, qspi}; 16use embassy_nrf::{interrupt, qspi};
17use example_common::*;
18use futures::pin_mut;
20 19
21const PAGE_SIZE: usize = 4096; 20const PAGE_SIZE: usize = 4096;
22 21
@@ -27,7 +26,7 @@ struct AlignedBuf([u8; 4096]);
27 26
28#[task] 27#[task]
29async fn run() { 28async fn run() {
30 let p = unsafe { Peripherals::steal() }; 29 let p = Peripherals::take().unwrap();
31 30
32 let csn = p.p0_17; 31 let csn = p.p0_17;
33 let sck = p.p0_19; 32 let sck = p.p0_19;
diff --git a/embassy-nrf-examples/src/bin/spim.rs b/embassy-nrf-examples/src/bin/spim.rs
index b7436332e..f4fb22bab 100644
--- a/embassy-nrf-examples/src/bin/spim.rs
+++ b/embassy-nrf-examples/src/bin/spim.rs
@@ -6,26 +6,25 @@
6 6
7#[path = "../example_common.rs"] 7#[path = "../example_common.rs"]
8mod example_common; 8mod example_common;
9use embassy_nrf::gpio::{Level, Output, OutputDrive};
10use embassy_nrf::peripherals::Peripherals;
11use embassy_traits::spi::FullDuplex;
12use example_common::*;
13 9
14use cortex_m_rt::entry; 10use cortex_m_rt::entry;
15use defmt::panic; 11use defmt::panic;
16use embassy::executor::{task, Executor}; 12use embassy::executor::{task, Executor};
17use embassy::util::Forever; 13use embassy::util::Forever;
14use embassy_nrf::gpio::{Level, Output, OutputDrive};
15use embassy_nrf::Peripherals;
16use embassy_nrf::{interrupt, pac, rtc, spim};
17use embassy_traits::spi::FullDuplex;
18use embedded_hal::digital::v2::*; 18use embedded_hal::digital::v2::*;
19use example_common::*;
19use futures::pin_mut; 20use futures::pin_mut;
20use nrf52840_hal::clocks; 21use nrf52840_hal::clocks;
21 22
22use embassy_nrf::{interrupt, pac, rtc, spim};
23
24#[task] 23#[task]
25async fn run() { 24async fn run() {
26 info!("running!"); 25 info!("running!");
27 26
28 let mut p = unsafe { Peripherals::steal() }; 27 let p = Peripherals::take().unwrap();
29 28
30 let config = spim::Config { 29 let config = spim::Config {
31 frequency: spim::Frequency::M16, 30 frequency: spim::Frequency::M16,
@@ -33,7 +32,7 @@ async fn run() {
33 orc: 0x00, 32 orc: 0x00,
34 }; 33 };
35 34
36 let mut irq = interrupt::take!(SPIM3); 35 let irq = interrupt::take!(SPIM3);
37 let spim = spim::Spim::new(p.spim3, irq, p.p0_29, p.p0_28, p.p0_30, config); 36 let spim = spim::Spim::new(p.spim3, irq, p.p0_29, p.p0_28, p.p0_30, config);
38 pin_mut!(spim); 37 pin_mut!(spim);
39 38