aboutsummaryrefslogtreecommitdiff
path: root/embassy-nrf-examples/src
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2021-05-12 01:57:01 +0200
committerDario Nieuwenhuis <[email protected]>2021-05-17 00:57:37 +0200
commit0310e4d458b86df31f1765104eb3aa9a6ee09bfc (patch)
treeaca167ae6e37442cafc932b3c729e37082d23b04 /embassy-nrf-examples/src
parentbfc7f52e6dd7b5ad12fa1f09483fa60f2732ae0c (diff)
Add `init` fn. Initializes hw and returns Peripherals.
Diffstat (limited to 'embassy-nrf-examples/src')
-rw-r--r--embassy-nrf-examples/src/bin/blinky.rs3
-rw-r--r--embassy-nrf-examples/src/bin/buffered_uart.rs4
-rw-r--r--embassy-nrf-examples/src/bin/executor_fairness_test.rs4
-rw-r--r--embassy-nrf-examples/src/bin/gpiote_channel.rs6
-rw-r--r--embassy-nrf-examples/src/bin/gpiote_port.rs4
-rw-r--r--embassy-nrf-examples/src/bin/multiprio.rs3
-rw-r--r--embassy-nrf-examples/src/bin/ppi.rs4
-rw-r--r--embassy-nrf-examples/src/bin/qspi.rs4
-rw-r--r--embassy-nrf-examples/src/bin/raw_spawn.rs3
-rw-r--r--embassy-nrf-examples/src/bin/spim.rs4
-rw-r--r--embassy-nrf-examples/src/bin/timer.rs3
-rw-r--r--embassy-nrf-examples/src/bin/uart.rs32
-rw-r--r--embassy-nrf-examples/src/bin/uart_idle.rs4
13 files changed, 16 insertions, 62 deletions
diff --git a/embassy-nrf-examples/src/bin/blinky.rs b/embassy-nrf-examples/src/bin/blinky.rs
index 4cb09bee7..e6fc854b5 100644
--- a/embassy-nrf-examples/src/bin/blinky.rs
+++ b/embassy-nrf-examples/src/bin/blinky.rs
@@ -17,8 +17,7 @@ use embassy_nrf::Peripherals;
17use embedded_hal::digital::v2::OutputPin; 17use embedded_hal::digital::v2::OutputPin;
18 18
19#[embassy::main] 19#[embassy::main]
20async fn main(spawner: Spawner) { 20async fn main(spawner: Spawner, p: Peripherals) {
21 let p = Peripherals::take().unwrap();
22 let mut led = Output::new(p.P0_13, Level::Low, OutputDrive::Standard); 21 let mut led = Output::new(p.P0_13, Level::Low, OutputDrive::Standard);
23 22
24 loop { 23 loop {
diff --git a/embassy-nrf-examples/src/bin/buffered_uart.rs b/embassy-nrf-examples/src/bin/buffered_uart.rs
index 8f5d9fb2e..b3a621c6b 100644
--- a/embassy-nrf-examples/src/bin/buffered_uart.rs
+++ b/embassy-nrf-examples/src/bin/buffered_uart.rs
@@ -17,9 +17,7 @@ use example_common::*;
17use futures::pin_mut; 17use futures::pin_mut;
18 18
19#[embassy::main] 19#[embassy::main]
20async fn main(spawner: Spawner) { 20async fn main(spawner: Spawner, p: Peripherals) {
21 let p = Peripherals::take().unwrap();
22
23 let mut config = uarte::Config::default(); 21 let mut config = uarte::Config::default();
24 config.parity = uarte::Parity::EXCLUDED; 22 config.parity = uarte::Parity::EXCLUDED;
25 config.baudrate = uarte::Baudrate::BAUD115200; 23 config.baudrate = uarte::Baudrate::BAUD115200;
diff --git a/embassy-nrf-examples/src/bin/executor_fairness_test.rs b/embassy-nrf-examples/src/bin/executor_fairness_test.rs
index 3ea74316e..ca9bcc1e6 100644
--- a/embassy-nrf-examples/src/bin/executor_fairness_test.rs
+++ b/embassy-nrf-examples/src/bin/executor_fairness_test.rs
@@ -13,7 +13,7 @@ use core::task::Poll;
13use defmt::panic; 13use defmt::panic;
14use embassy::executor::Spawner; 14use embassy::executor::Spawner;
15use embassy::time::{Duration, Instant, Timer}; 15use embassy::time::{Duration, Instant, Timer};
16use embassy_nrf::interrupt; 16use embassy_nrf::{interrupt, Peripherals};
17 17
18#[embassy::task] 18#[embassy::task]
19async fn run1() { 19async fn run1() {
@@ -40,7 +40,7 @@ async fn run3() {
40} 40}
41 41
42#[embassy::main] 42#[embassy::main]
43async fn main(spawner: Spawner) { 43async fn main(spawner: Spawner, p: Peripherals) {
44 unwrap!(spawner.spawn(run1())); 44 unwrap!(spawner.spawn(run1()));
45 unwrap!(spawner.spawn(run2())); 45 unwrap!(spawner.spawn(run2()));
46 unwrap!(spawner.spawn(run3())); 46 unwrap!(spawner.spawn(run3()));
diff --git a/embassy-nrf-examples/src/bin/gpiote_channel.rs b/embassy-nrf-examples/src/bin/gpiote_channel.rs
index ee670acd5..d52ed7767 100644
--- a/embassy-nrf-examples/src/bin/gpiote_channel.rs
+++ b/embassy-nrf-examples/src/bin/gpiote_channel.rs
@@ -12,13 +12,11 @@ use example_common::*;
12use defmt::panic; 12use defmt::panic;
13use embassy::executor::Spawner; 13use embassy::executor::Spawner;
14use embassy_nrf::gpio::{Input, Pull}; 14use embassy_nrf::gpio::{Input, Pull};
15use embassy_nrf::gpiote::{self, InputChannel, InputChannelPolarity}; 15use embassy_nrf::gpiote::{InputChannel, InputChannelPolarity};
16use embassy_nrf::{interrupt, Peripherals}; 16use embassy_nrf::{interrupt, Peripherals};
17 17
18#[embassy::main] 18#[embassy::main]
19async fn main(spawner: Spawner) { 19async fn main(spawner: Spawner, p: Peripherals) {
20 let p = Peripherals::take().unwrap();
21
22 info!("Starting!"); 20 info!("Starting!");
23 21
24 let ch1 = InputChannel::new( 22 let ch1 = InputChannel::new(
diff --git a/embassy-nrf-examples/src/bin/gpiote_port.rs b/embassy-nrf-examples/src/bin/gpiote_port.rs
index 717d3398b..4a7951cd3 100644
--- a/embassy-nrf-examples/src/bin/gpiote_port.rs
+++ b/embassy-nrf-examples/src/bin/gpiote_port.rs
@@ -28,9 +28,7 @@ async fn button_task(n: usize, mut pin: PortInput<'static, AnyPin>) {
28} 28}
29 29
30#[embassy::main] 30#[embassy::main]
31async fn main(spawner: Spawner) { 31async fn main(spawner: Spawner, p: Peripherals) {
32 let p = Peripherals::take().unwrap();
33
34 info!("Starting!"); 32 info!("Starting!");
35 33
36 let btn1 = PortInput::new(Input::new(p.P0_11.degrade(), Pull::Up)); 34 let btn1 = PortInput::new(Input::new(p.P0_11.degrade(), Pull::Up));
diff --git a/embassy-nrf-examples/src/bin/multiprio.rs b/embassy-nrf-examples/src/bin/multiprio.rs
index 9ed5c1368..79fa029b3 100644
--- a/embassy-nrf-examples/src/bin/multiprio.rs
+++ b/embassy-nrf-examples/src/bin/multiprio.rs
@@ -126,9 +126,8 @@ static EXECUTOR_LOW: Forever<Executor> = Forever::new();
126fn main() -> ! { 126fn main() -> ! {
127 info!("Hello World!"); 127 info!("Hello World!");
128 128
129 let p = unwrap!(embassy_nrf::Peripherals::take()); 129 let p = embassy_nrf::init(Default::default());
130 130
131 unsafe { embassy_nrf::system::configure(Default::default()) };
132 let rtc = RTC.put(rtc::RTC::new(p.RTC1, interrupt::take!(RTC1))); 131 let rtc = RTC.put(rtc::RTC::new(p.RTC1, interrupt::take!(RTC1)));
133 rtc.start(); 132 rtc.start();
134 unsafe { embassy::time::set_clock(rtc) }; 133 unsafe { embassy::time::set_clock(rtc) };
diff --git a/embassy-nrf-examples/src/bin/ppi.rs b/embassy-nrf-examples/src/bin/ppi.rs
index 3c39e032e..47782ed29 100644
--- a/embassy-nrf-examples/src/bin/ppi.rs
+++ b/embassy-nrf-examples/src/bin/ppi.rs
@@ -19,9 +19,7 @@ use embassy_nrf::{interrupt, Peripherals};
19use gpiote::{OutputChannel, OutputChannelPolarity}; 19use gpiote::{OutputChannel, OutputChannelPolarity};
20 20
21#[embassy::main] 21#[embassy::main]
22async fn main(spawner: Spawner) { 22async fn main(spawner: Spawner, p: Peripherals) {
23 let p = Peripherals::take().unwrap();
24
25 info!("Starting!"); 23 info!("Starting!");
26 24
27 let button1 = InputChannel::new( 25 let button1 = InputChannel::new(
diff --git a/embassy-nrf-examples/src/bin/qspi.rs b/embassy-nrf-examples/src/bin/qspi.rs
index 28cde6e51..3dc027f6f 100644
--- a/embassy-nrf-examples/src/bin/qspi.rs
+++ b/embassy-nrf-examples/src/bin/qspi.rs
@@ -23,9 +23,7 @@ const PAGE_SIZE: usize = 4096;
23struct AlignedBuf([u8; 4096]); 23struct AlignedBuf([u8; 4096]);
24 24
25#[embassy::main] 25#[embassy::main]
26async fn main(spawner: Spawner) { 26async fn main(spawner: Spawner, p: Peripherals) {
27 let p = Peripherals::take().unwrap();
28
29 let csn = p.P0_17; 27 let csn = p.P0_17;
30 let sck = p.P0_19; 28 let sck = p.P0_19;
31 let io0 = p.P0_20; 29 let io0 = p.P0_20;
diff --git a/embassy-nrf-examples/src/bin/raw_spawn.rs b/embassy-nrf-examples/src/bin/raw_spawn.rs
index f8e021d9b..78de7b100 100644
--- a/embassy-nrf-examples/src/bin/raw_spawn.rs
+++ b/embassy-nrf-examples/src/bin/raw_spawn.rs
@@ -37,9 +37,8 @@ static EXECUTOR: Forever<Executor> = Forever::new();
37fn main() -> ! { 37fn main() -> ! {
38 info!("Hello World!"); 38 info!("Hello World!");
39 39
40 let p = unwrap!(embassy_nrf::Peripherals::take()); 40 let p = embassy_nrf::init(Default::default());
41 41
42 unsafe { embassy_nrf::system::configure(Default::default()) };
43 let rtc = RTC.put(rtc::RTC::new(p.RTC1, interrupt::take!(RTC1))); 42 let rtc = RTC.put(rtc::RTC::new(p.RTC1, interrupt::take!(RTC1)));
44 rtc.start(); 43 rtc.start();
45 unsafe { embassy::time::set_clock(rtc) }; 44 unsafe { embassy::time::set_clock(rtc) };
diff --git a/embassy-nrf-examples/src/bin/spim.rs b/embassy-nrf-examples/src/bin/spim.rs
index ccda75765..df921fc86 100644
--- a/embassy-nrf-examples/src/bin/spim.rs
+++ b/embassy-nrf-examples/src/bin/spim.rs
@@ -19,11 +19,9 @@ use embedded_hal::digital::v2::*;
19use example_common::*; 19use example_common::*;
20 20
21#[embassy::main] 21#[embassy::main]
22async fn main(spawner: Spawner) { 22async fn main(spawner: Spawner, p: Peripherals) {
23 info!("running!"); 23 info!("running!");
24 24
25 let p = unsafe { Peripherals::steal() };
26
27 let mut config = spim::Config::default(); 25 let mut config = spim::Config::default();
28 config.frequency = spim::Frequency::M16; 26 config.frequency = spim::Frequency::M16;
29 27
diff --git a/embassy-nrf-examples/src/bin/timer.rs b/embassy-nrf-examples/src/bin/timer.rs
index a2b717bc1..ffbbb7841 100644
--- a/embassy-nrf-examples/src/bin/timer.rs
+++ b/embassy-nrf-examples/src/bin/timer.rs
@@ -7,6 +7,7 @@
7 7
8#[path = "../example_common.rs"] 8#[path = "../example_common.rs"]
9mod example_common; 9mod example_common;
10use embassy_nrf::Peripherals;
10use example_common::*; 11use example_common::*;
11 12
12use defmt::panic; 13use defmt::panic;
@@ -30,7 +31,7 @@ async fn run2() {
30} 31}
31 32
32#[embassy::main] 33#[embassy::main]
33async fn main(spawner: Spawner) { 34async fn main(spawner: Spawner, p: Peripherals) {
34 unwrap!(spawner.spawn(run1())); 35 unwrap!(spawner.spawn(run1()));
35 unwrap!(spawner.spawn(run2())); 36 unwrap!(spawner.spawn(run2()));
36} 37}
diff --git a/embassy-nrf-examples/src/bin/uart.rs b/embassy-nrf-examples/src/bin/uart.rs
index 23fc89312..9a0e65d3e 100644
--- a/embassy-nrf-examples/src/bin/uart.rs
+++ b/embassy-nrf-examples/src/bin/uart.rs
@@ -17,9 +17,7 @@ use embassy_nrf::gpio::NoPin;
17use embassy_nrf::{interrupt, uarte, Peripherals}; 17use embassy_nrf::{interrupt, uarte, Peripherals};
18 18
19#[embassy::main] 19#[embassy::main]
20async fn main(spawner: Spawner) { 20async fn main(spawner: Spawner, p: Peripherals) {
21 let p = unsafe { Peripherals::steal() };
22
23 let mut config = uarte::Config::default(); 21 let mut config = uarte::Config::default();
24 config.parity = uarte::Parity::EXCLUDED; 22 config.parity = uarte::Parity::EXCLUDED;
25 config.baudrate = uarte::Baudrate::BAUD115200; 23 config.baudrate = uarte::Baudrate::BAUD115200;
@@ -42,33 +40,5 @@ async fn main(spawner: Spawner) {
42 unwrap!(uart.read(&mut buf).await); 40 unwrap!(uart.read(&mut buf).await);
43 info!("writing..."); 41 info!("writing...");
44 unwrap!(uart.write(&buf).await); 42 unwrap!(uart.write(&buf).await);
45
46 /*
47 // `receive()` doesn't return until the buffer has been completely filled with
48 // incoming data, which in this case is 8 bytes.
49 //
50 // This example shows how to use `select` to run an uart receive concurrently with a
51 // 1 second timer, effectively adding a timeout to the receive operation.
52 let recv_fut = uart.read(&mut buf);
53 let timer_fut = Timer::after(Duration::from_millis(1000));
54 let received_len = match select(recv_fut, timer_fut).await {
55 // recv_fut completed first, so we've received `buf_len` bytes.
56 Either::Left(_) => buf_len,
57 // timer_fut completed first. `select` gives us back the future that didn't complete, which
58 // is `recv_fut` in this case, so we can do further stuff with it.
59 //
60 // The recv_fut would stop the uart read automatically when dropped. However, we want to know how
61 // many bytes have been received, so we have to "gracefully stop" it with `.stop()`.
62 Either::Right((_, recv_fut)) => recv_fut.stop().await,
63 };
64 let received = &mut buf[..received_len];
65
66 if !received.is_empty() {
67 info!("read done, got {}", received);
68
69 // Echo back received data
70 unwrap!(uart.write(received).await);
71 }
72 */
73 } 43 }
74} 44}
diff --git a/embassy-nrf-examples/src/bin/uart_idle.rs b/embassy-nrf-examples/src/bin/uart_idle.rs
index 54d524ae5..a97c65933 100644
--- a/embassy-nrf-examples/src/bin/uart_idle.rs
+++ b/embassy-nrf-examples/src/bin/uart_idle.rs
@@ -18,9 +18,7 @@ use embassy_nrf::gpio::NoPin;
18use embassy_nrf::{interrupt, uarte, Peripherals}; 18use embassy_nrf::{interrupt, uarte, Peripherals};
19 19
20#[embassy::main] 20#[embassy::main]
21async fn main(spawner: Spawner) { 21async fn main(spawner: Spawner, p: Peripherals) {
22 let p = unsafe { Peripherals::steal() };
23
24 let mut config = uarte::Config::default(); 22 let mut config = uarte::Config::default();
25 config.parity = uarte::Parity::EXCLUDED; 23 config.parity = uarte::Parity::EXCLUDED;
26 config.baudrate = uarte::Baudrate::BAUD115200; 24 config.baudrate = uarte::Baudrate::BAUD115200;