diff options
| author | Dario Nieuwenhuis <[email protected]> | 2021-03-21 21:58:59 +0100 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2021-03-29 00:58:57 +0200 |
| commit | a134fce122d570cfcd3837944554fff6c35e4039 (patch) | |
| tree | a6d2e80e94c6f230dd4c713406605466c1c1537c /embassy-nrf-examples/src | |
| parent | d5ff1a0ae30db8963eec1b7f23b90991e4f47c3d (diff) | |
nrf: nicer Peripherals api, add take()
Diffstat (limited to 'embassy-nrf-examples/src')
| -rw-r--r-- | embassy-nrf-examples/src/bin/gpiote_port.rs | 6 | ||||
| -rw-r--r-- | embassy-nrf-examples/src/bin/qspi.rs | 9 | ||||
| -rw-r--r-- | embassy-nrf-examples/src/bin/spim.rs | 15 |
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"] |
| 8 | mod example_common; | 8 | mod example_common; |
| 9 | use example_common::*; | ||
| 10 | 9 | ||
| 11 | use core::pin::Pin; | 10 | use core::pin::Pin; |
| 12 | use cortex_m_rt::entry; | 11 | use cortex_m_rt::entry; |
| 13 | use defmt::panic; | 12 | use defmt::panic; |
| 14 | |||
| 15 | use embassy::executor::{task, Executor}; | 13 | use embassy::executor::{task, Executor}; |
| 16 | use embassy::traits::gpio::{WaitForHigh, WaitForLow}; | 14 | use embassy::traits::gpio::{WaitForHigh, WaitForLow}; |
| 17 | use embassy::util::Forever; | 15 | use embassy::util::Forever; |
| 18 | use embassy_nrf::gpio::{AnyPin, Input, Pin as _, Pull}; | 16 | use embassy_nrf::gpio::{AnyPin, Input, Pin as _, Pull}; |
| 19 | use embassy_nrf::gpiote::{self, PortInput}; | 17 | use embassy_nrf::gpiote::{self, PortInput}; |
| 20 | use embassy_nrf::interrupt; | 18 | use embassy_nrf::interrupt; |
| 19 | use embassy_nrf::Peripherals; | ||
| 20 | use example_common::*; | ||
| 21 | 21 | ||
| 22 | async fn button(n: usize, mut pin: PortInput<AnyPin>) { | 22 | async 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] |
| 32 | async fn run() { | 32 | async 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"] |
| 8 | mod example_common; | 8 | mod example_common; |
| 9 | use embassy_nrf::peripherals::Peripherals; | ||
| 10 | use example_common::*; | ||
| 11 | 9 | ||
| 12 | use cortex_m_rt::entry; | 10 | use cortex_m_rt::entry; |
| 13 | use defmt::{assert_eq, panic}; | 11 | use defmt::{assert_eq, panic}; |
| 14 | use futures::pin_mut; | ||
| 15 | |||
| 16 | use embassy::executor::{task, Executor}; | 12 | use embassy::executor::{task, Executor}; |
| 17 | use embassy::traits::flash::Flash; | 13 | use embassy::traits::flash::Flash; |
| 18 | use embassy::util::Forever; | 14 | use embassy::util::Forever; |
| 15 | use embassy_nrf::Peripherals; | ||
| 19 | use embassy_nrf::{interrupt, qspi}; | 16 | use embassy_nrf::{interrupt, qspi}; |
| 17 | use example_common::*; | ||
| 18 | use futures::pin_mut; | ||
| 20 | 19 | ||
| 21 | const PAGE_SIZE: usize = 4096; | 20 | const PAGE_SIZE: usize = 4096; |
| 22 | 21 | ||
| @@ -27,7 +26,7 @@ struct AlignedBuf([u8; 4096]); | |||
| 27 | 26 | ||
| 28 | #[task] | 27 | #[task] |
| 29 | async fn run() { | 28 | async 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"] |
| 8 | mod example_common; | 8 | mod example_common; |
| 9 | use embassy_nrf::gpio::{Level, Output, OutputDrive}; | ||
| 10 | use embassy_nrf::peripherals::Peripherals; | ||
| 11 | use embassy_traits::spi::FullDuplex; | ||
| 12 | use example_common::*; | ||
| 13 | 9 | ||
| 14 | use cortex_m_rt::entry; | 10 | use cortex_m_rt::entry; |
| 15 | use defmt::panic; | 11 | use defmt::panic; |
| 16 | use embassy::executor::{task, Executor}; | 12 | use embassy::executor::{task, Executor}; |
| 17 | use embassy::util::Forever; | 13 | use embassy::util::Forever; |
| 14 | use embassy_nrf::gpio::{Level, Output, OutputDrive}; | ||
| 15 | use embassy_nrf::Peripherals; | ||
| 16 | use embassy_nrf::{interrupt, pac, rtc, spim}; | ||
| 17 | use embassy_traits::spi::FullDuplex; | ||
| 18 | use embedded_hal::digital::v2::*; | 18 | use embedded_hal::digital::v2::*; |
| 19 | use example_common::*; | ||
| 19 | use futures::pin_mut; | 20 | use futures::pin_mut; |
| 20 | use nrf52840_hal::clocks; | 21 | use nrf52840_hal::clocks; |
| 21 | 22 | ||
| 22 | use embassy_nrf::{interrupt, pac, rtc, spim}; | ||
| 23 | |||
| 24 | #[task] | 23 | #[task] |
| 25 | async fn run() { | 24 | async 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 | ||
