aboutsummaryrefslogtreecommitdiff
path: root/examples/nrf/src
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2022-04-02 02:35:49 +0000
committerGitHub <[email protected]>2022-04-02 02:35:49 +0000
commit0eea6fd6b5eeda740a1b5cd47ed8e48e0e3d0c61 (patch)
tree588c65c93b31b897f53d389f7876dc2703eb0fa8 /examples/nrf/src
parenta9e63167e1ec230ca3d28da771378f5f4936a840 (diff)
parent82803bffdab0842bf6c3e4bce21131d437b06669 (diff)
Merge #690
690: Use embassy/defmt-timestamp-uptime in all examples. r=Dirbaio a=Dirbaio bors r+ Co-authored-by: Dario Nieuwenhuis <[email protected]>
Diffstat (limited to 'examples/nrf/src')
-rw-r--r--examples/nrf/src/bin/awaitable_timer.rs8
-rw-r--r--examples/nrf/src/bin/blinky.rs6
-rw-r--r--examples/nrf/src/bin/buffered_uart.rs8
-rw-r--r--examples/nrf/src/bin/executor_fairness_test.rs8
-rw-r--r--examples/nrf/src/bin/gpiote_channel.rs8
-rw-r--r--examples/nrf/src/bin/gpiote_port.rs8
-rw-r--r--examples/nrf/src/bin/mpsc.rs6
-rw-r--r--examples/nrf/src/bin/multiprio.rs8
-rw-r--r--examples/nrf/src/bin/nvmc.rs7
-rw-r--r--examples/nrf/src/bin/ppi.rs8
-rw-r--r--examples/nrf/src/bin/pwm.rs5
-rw-r--r--examples/nrf/src/bin/pwm_double_sequence.rs5
-rw-r--r--examples/nrf/src/bin/pwm_sequence.rs5
-rw-r--r--examples/nrf/src/bin/pwm_sequence_ppi.rs5
-rw-r--r--examples/nrf/src/bin/pwm_sequence_ws2812b.rs5
-rw-r--r--examples/nrf/src/bin/pwm_servo.rs5
-rw-r--r--examples/nrf/src/bin/qspi.rs9
-rw-r--r--examples/nrf/src/bin/qspi_lowpower.rs8
-rw-r--r--examples/nrf/src/bin/raw_spawn.rs9
-rw-r--r--examples/nrf/src/bin/rng.rs6
-rw-r--r--examples/nrf/src/bin/saadc.rs7
-rw-r--r--examples/nrf/src/bin/saadc_continuous.rs7
-rw-r--r--examples/nrf/src/bin/spim.rs8
-rw-r--r--examples/nrf/src/bin/temp.rs14
-rw-r--r--examples/nrf/src/bin/timer.rs10
-rw-r--r--examples/nrf/src/bin/twim.rs6
-rw-r--r--examples/nrf/src/bin/twim_lowpower.rs7
-rw-r--r--examples/nrf/src/bin/uart.rs8
-rw-r--r--examples/nrf/src/bin/uart_idle.rs8
-rw-r--r--examples/nrf/src/bin/uart_split.rs8
-rw-r--r--examples/nrf/src/bin/usb_uart.rs13
-rw-r--r--examples/nrf/src/bin/usb_uart_io.rs9
-rw-r--r--examples/nrf/src/bin/wdt.rs6
-rw-r--r--examples/nrf/src/example_common.rs17
34 files changed, 123 insertions, 142 deletions
diff --git a/examples/nrf/src/bin/awaitable_timer.rs b/examples/nrf/src/bin/awaitable_timer.rs
index 98b656005..810b4bd6a 100644
--- a/examples/nrf/src/bin/awaitable_timer.rs
+++ b/examples/nrf/src/bin/awaitable_timer.rs
@@ -2,14 +2,14 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"] 5use defmt::info;
6mod example_common; 6use embassy::executor::Spawner;
7use embassy_nrf::interrupt; 7use embassy_nrf::interrupt;
8use embassy_nrf::timer::Timer; 8use embassy_nrf::timer::Timer;
9use embassy_nrf::Peripherals; 9use embassy_nrf::Peripherals;
10use example_common::info;
11 10
12use embassy::executor::Spawner; 11use defmt_rtt as _; // global logger
12use panic_probe as _;
13 13
14#[embassy::main] 14#[embassy::main]
15async fn main(_spawner: Spawner, p: Peripherals) { 15async fn main(_spawner: Spawner, p: Peripherals) {
diff --git a/examples/nrf/src/bin/blinky.rs b/examples/nrf/src/bin/blinky.rs
index 0fc004ed8..4828b08fb 100644
--- a/examples/nrf/src/bin/blinky.rs
+++ b/examples/nrf/src/bin/blinky.rs
@@ -2,14 +2,14 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"]
6mod example_common;
7
8use embassy::executor::Spawner; 5use embassy::executor::Spawner;
9use embassy::time::{Duration, Timer}; 6use embassy::time::{Duration, Timer};
10use embassy_nrf::gpio::{Level, Output, OutputDrive}; 7use embassy_nrf::gpio::{Level, Output, OutputDrive};
11use embassy_nrf::Peripherals; 8use embassy_nrf::Peripherals;
12 9
10use defmt_rtt as _; // global logger
11use panic_probe as _;
12
13#[embassy::main] 13#[embassy::main]
14async fn main(_spawner: Spawner, p: Peripherals) { 14async fn main(_spawner: Spawner, p: Peripherals) {
15 let mut led = Output::new(p.P0_13, Level::Low, OutputDrive::Standard); 15 let mut led = Output::new(p.P0_13, Level::Low, OutputDrive::Standard);
diff --git a/examples/nrf/src/bin/buffered_uart.rs b/examples/nrf/src/bin/buffered_uart.rs
index a2602ea6c..2cd163a9f 100644
--- a/examples/nrf/src/bin/buffered_uart.rs
+++ b/examples/nrf/src/bin/buffered_uart.rs
@@ -2,16 +2,16 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"] 5use defmt::*;
6mod example_common;
7
8use embassy::executor::Spawner; 6use embassy::executor::Spawner;
9use embassy::io::{AsyncBufReadExt, AsyncWriteExt}; 7use embassy::io::{AsyncBufReadExt, AsyncWriteExt};
10use embassy_nrf::buffered_uarte::State; 8use embassy_nrf::buffered_uarte::State;
11use embassy_nrf::{buffered_uarte::BufferedUarte, interrupt, uarte, Peripherals}; 9use embassy_nrf::{buffered_uarte::BufferedUarte, interrupt, uarte, Peripherals};
12use example_common::*;
13use futures::pin_mut; 10use futures::pin_mut;
14 11
12use defmt_rtt as _; // global logger
13use panic_probe as _;
14
15#[embassy::main] 15#[embassy::main]
16async fn main(_spawner: Spawner, p: Peripherals) { 16async fn main(_spawner: Spawner, p: Peripherals) {
17 let mut config = uarte::Config::default(); 17 let mut config = uarte::Config::default();
diff --git a/examples/nrf/src/bin/executor_fairness_test.rs b/examples/nrf/src/bin/executor_fairness_test.rs
index 397bb16f6..7a356d14b 100644
--- a/examples/nrf/src/bin/executor_fairness_test.rs
+++ b/examples/nrf/src/bin/executor_fairness_test.rs
@@ -2,15 +2,15 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"]
6mod example_common;
7use example_common::*;
8
9use core::task::Poll; 5use core::task::Poll;
6use defmt::{info, unwrap};
10use embassy::executor::Spawner; 7use embassy::executor::Spawner;
11use embassy::time::{Duration, Instant, Timer}; 8use embassy::time::{Duration, Instant, Timer};
12use embassy_nrf::Peripherals; 9use embassy_nrf::Peripherals;
13 10
11use defmt_rtt as _; // global logger
12use panic_probe as _;
13
14#[embassy::task] 14#[embassy::task]
15async fn run1() { 15async fn run1() {
16 loop { 16 loop {
diff --git a/examples/nrf/src/bin/gpiote_channel.rs b/examples/nrf/src/bin/gpiote_channel.rs
index f29dae022..339f779f8 100644
--- a/examples/nrf/src/bin/gpiote_channel.rs
+++ b/examples/nrf/src/bin/gpiote_channel.rs
@@ -2,15 +2,15 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"] 5use defmt::info;
6mod example_common;
7use example_common::*;
8
9use embassy::executor::Spawner; 6use embassy::executor::Spawner;
10use embassy_nrf::gpio::{Input, Pull}; 7use embassy_nrf::gpio::{Input, Pull};
11use embassy_nrf::gpiote::{InputChannel, InputChannelPolarity}; 8use embassy_nrf::gpiote::{InputChannel, InputChannelPolarity};
12use embassy_nrf::Peripherals; 9use embassy_nrf::Peripherals;
13 10
11use defmt_rtt as _; // global logger
12use panic_probe as _;
13
14#[embassy::main] 14#[embassy::main]
15async fn main(_spawner: Spawner, p: Peripherals) { 15async fn main(_spawner: Spawner, p: Peripherals) {
16 info!("Starting!"); 16 info!("Starting!");
diff --git a/examples/nrf/src/bin/gpiote_port.rs b/examples/nrf/src/bin/gpiote_port.rs
index 3ea9a6e67..dc6bd301f 100644
--- a/examples/nrf/src/bin/gpiote_port.rs
+++ b/examples/nrf/src/bin/gpiote_port.rs
@@ -2,13 +2,13 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"] 5use defmt::{info, unwrap};
6mod example_common;
7
8use embassy::executor::Spawner; 6use embassy::executor::Spawner;
9use embassy_nrf::gpio::{AnyPin, Input, Pin as _, Pull}; 7use embassy_nrf::gpio::{AnyPin, Input, Pin as _, Pull};
10use embassy_nrf::Peripherals; 8use embassy_nrf::Peripherals;
11use example_common::*; 9
10use defmt_rtt as _; // global logger
11use panic_probe as _;
12 12
13#[embassy::task(pool_size = 4)] 13#[embassy::task(pool_size = 4)]
14async fn button_task(n: usize, mut pin: Input<'static, AnyPin>) { 14async fn button_task(n: usize, mut pin: Input<'static, AnyPin>) {
diff --git a/examples/nrf/src/bin/mpsc.rs b/examples/nrf/src/bin/mpsc.rs
index d50736d82..0cb182755 100644
--- a/examples/nrf/src/bin/mpsc.rs
+++ b/examples/nrf/src/bin/mpsc.rs
@@ -2,9 +2,6 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"]
6mod example_common;
7
8use defmt::unwrap; 5use defmt::unwrap;
9use embassy::blocking_mutex::raw::NoopRawMutex; 6use embassy::blocking_mutex::raw::NoopRawMutex;
10use embassy::channel::mpsc::{self, Channel, Sender, TryRecvError}; 7use embassy::channel::mpsc::{self, Channel, Sender, TryRecvError};
@@ -14,6 +11,9 @@ use embassy::util::Forever;
14use embassy_nrf::gpio::{Level, Output, OutputDrive}; 11use embassy_nrf::gpio::{Level, Output, OutputDrive};
15use embassy_nrf::Peripherals; 12use embassy_nrf::Peripherals;
16 13
14use defmt_rtt as _; // global logger
15use panic_probe as _;
16
17enum LedState { 17enum LedState {
18 On, 18 On,
19 Off, 19 Off,
diff --git a/examples/nrf/src/bin/multiprio.rs b/examples/nrf/src/bin/multiprio.rs
index 85e126908..e69f87d85 100644
--- a/examples/nrf/src/bin/multiprio.rs
+++ b/examples/nrf/src/bin/multiprio.rs
@@ -57,17 +57,17 @@
57#![no_main] 57#![no_main]
58#![feature(type_alias_impl_trait)] 58#![feature(type_alias_impl_trait)]
59 59
60#[path = "../example_common.rs"]
61mod example_common;
62use example_common::*;
63
64use cortex_m_rt::entry; 60use cortex_m_rt::entry;
61use defmt::{info, unwrap};
65use embassy::executor::{Executor, InterruptExecutor}; 62use embassy::executor::{Executor, InterruptExecutor};
66use embassy::interrupt::InterruptExt; 63use embassy::interrupt::InterruptExt;
67use embassy::time::{Duration, Instant, Timer}; 64use embassy::time::{Duration, Instant, Timer};
68use embassy::util::Forever; 65use embassy::util::Forever;
69use embassy_nrf::interrupt; 66use embassy_nrf::interrupt;
70 67
68use defmt_rtt as _; // global logger
69use panic_probe as _;
70
71#[embassy::task] 71#[embassy::task]
72async fn run_high() { 72async fn run_high() {
73 loop { 73 loop {
diff --git a/examples/nrf/src/bin/nvmc.rs b/examples/nrf/src/bin/nvmc.rs
index f36895636..7a57399f8 100644
--- a/examples/nrf/src/bin/nvmc.rs
+++ b/examples/nrf/src/bin/nvmc.rs
@@ -2,14 +2,15 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"] 5use defmt::{info, unwrap};
6mod example_common;
7use embassy::executor::Spawner; 6use embassy::executor::Spawner;
8use embassy::time::{Duration, Timer}; 7use embassy::time::{Duration, Timer};
9use embassy_nrf::nvmc::Nvmc; 8use embassy_nrf::nvmc::Nvmc;
10use embassy_nrf::Peripherals; 9use embassy_nrf::Peripherals;
11use embedded_storage::nor_flash::{NorFlash, ReadNorFlash}; 10use embedded_storage::nor_flash::{NorFlash, ReadNorFlash};
12use example_common::*; 11
12use defmt_rtt as _; // global logger
13use panic_probe as _;
13 14
14#[embassy::main] 15#[embassy::main]
15async fn main(_spawner: Spawner, p: Peripherals) { 16async fn main(_spawner: Spawner, p: Peripherals) {
diff --git a/examples/nrf/src/bin/ppi.rs b/examples/nrf/src/bin/ppi.rs
index 99246eeda..3c9a8148a 100644
--- a/examples/nrf/src/bin/ppi.rs
+++ b/examples/nrf/src/bin/ppi.rs
@@ -2,11 +2,8 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"]
6mod example_common;
7use example_common::*;
8
9use core::future::pending; 5use core::future::pending;
6use defmt::info;
10use embassy::executor::Spawner; 7use embassy::executor::Spawner;
11use embassy_nrf::gpio::{Input, Level, Output, OutputDrive, Pull}; 8use embassy_nrf::gpio::{Input, Level, Output, OutputDrive, Pull};
12use embassy_nrf::gpiote::{self, InputChannel, InputChannelPolarity}; 9use embassy_nrf::gpiote::{self, InputChannel, InputChannelPolarity};
@@ -14,6 +11,9 @@ use embassy_nrf::ppi::Ppi;
14use embassy_nrf::Peripherals; 11use embassy_nrf::Peripherals;
15use gpiote::{OutputChannel, OutputChannelPolarity}; 12use gpiote::{OutputChannel, OutputChannelPolarity};
16 13
14use defmt_rtt as _; // global logger
15use panic_probe as _;
16
17#[embassy::main] 17#[embassy::main]
18async fn main(_spawner: Spawner, p: Peripherals) { 18async fn main(_spawner: Spawner, p: Peripherals) {
19 info!("Starting!"); 19 info!("Starting!");
diff --git a/examples/nrf/src/bin/pwm.rs b/examples/nrf/src/bin/pwm.rs
index 68402ce22..7939e79e4 100644
--- a/examples/nrf/src/bin/pwm.rs
+++ b/examples/nrf/src/bin/pwm.rs
@@ -2,14 +2,15 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"]
6mod example_common;
7use defmt::*; 5use defmt::*;
8use embassy::executor::Spawner; 6use embassy::executor::Spawner;
9use embassy::time::{Duration, Timer}; 7use embassy::time::{Duration, Timer};
10use embassy_nrf::pwm::{Prescaler, SimplePwm}; 8use embassy_nrf::pwm::{Prescaler, SimplePwm};
11use embassy_nrf::Peripherals; 9use embassy_nrf::Peripherals;
12 10
11use defmt_rtt as _; // global logger
12use panic_probe as _;
13
13// for i in range(1024): print(int((math.sin(i/512*math.pi)*0.4+0.5)**2*32767), ', ', end='') 14// for i in range(1024): print(int((math.sin(i/512*math.pi)*0.4+0.5)**2*32767), ', ', end='')
14static DUTY: [u16; 1024] = [ 15static DUTY: [u16; 1024] = [
15 8191, 8272, 8353, 8434, 8516, 8598, 8681, 8764, 8847, 8931, 9015, 9099, 9184, 9269, 9354, 9440, 16 8191, 8272, 8353, 8434, 8516, 8598, 8681, 8764, 8847, 8931, 9015, 9099, 9184, 9269, 9354, 9440,
diff --git a/examples/nrf/src/bin/pwm_double_sequence.rs b/examples/nrf/src/bin/pwm_double_sequence.rs
index 85938f32c..6fc429214 100644
--- a/examples/nrf/src/bin/pwm_double_sequence.rs
+++ b/examples/nrf/src/bin/pwm_double_sequence.rs
@@ -2,8 +2,6 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"]
6mod example_common;
7use defmt::*; 5use defmt::*;
8use embassy::executor::Spawner; 6use embassy::executor::Spawner;
9use embassy::time::{Duration, Timer}; 7use embassy::time::{Duration, Timer};
@@ -13,6 +11,9 @@ use embassy_nrf::pwm::{
13}; 11};
14use embassy_nrf::Peripherals; 12use embassy_nrf::Peripherals;
15 13
14use defmt_rtt as _; // global logger
15use panic_probe as _;
16
16#[embassy::main] 17#[embassy::main]
17async fn main(_spawner: Spawner, p: Peripherals) { 18async fn main(_spawner: Spawner, p: Peripherals) {
18 let seq_words_0: [u16; 5] = [1000, 250, 100, 50, 0]; 19 let seq_words_0: [u16; 5] = [1000, 250, 100, 50, 0];
diff --git a/examples/nrf/src/bin/pwm_sequence.rs b/examples/nrf/src/bin/pwm_sequence.rs
index f42958145..3b2919ba5 100644
--- a/examples/nrf/src/bin/pwm_sequence.rs
+++ b/examples/nrf/src/bin/pwm_sequence.rs
@@ -2,8 +2,6 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"]
6mod example_common;
7use defmt::*; 5use defmt::*;
8use embassy::executor::Spawner; 6use embassy::executor::Spawner;
9use embassy::time::{Duration, Timer}; 7use embassy::time::{Duration, Timer};
@@ -12,6 +10,9 @@ use embassy_nrf::pwm::{
12}; 10};
13use embassy_nrf::Peripherals; 11use embassy_nrf::Peripherals;
14 12
13use defmt_rtt as _; // global logger
14use panic_probe as _;
15
15#[embassy::main] 16#[embassy::main]
16async fn main(_spawner: Spawner, p: Peripherals) { 17async fn main(_spawner: Spawner, p: Peripherals) {
17 let seq_words: [u16; 5] = [1000, 250, 100, 50, 0]; 18 let seq_words: [u16; 5] = [1000, 250, 100, 50, 0];
diff --git a/examples/nrf/src/bin/pwm_sequence_ppi.rs b/examples/nrf/src/bin/pwm_sequence_ppi.rs
index 66717c592..1f3662c60 100644
--- a/examples/nrf/src/bin/pwm_sequence_ppi.rs
+++ b/examples/nrf/src/bin/pwm_sequence_ppi.rs
@@ -3,8 +3,6 @@
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4#![feature(array_from_fn)] 4#![feature(array_from_fn)]
5 5
6#[path = "../example_common.rs"]
7mod example_common;
8use core::future::pending; 6use core::future::pending;
9use defmt::*; 7use defmt::*;
10use embassy::executor::Spawner; 8use embassy::executor::Spawner;
@@ -16,6 +14,9 @@ use embassy_nrf::pwm::{
16}; 14};
17use embassy_nrf::Peripherals; 15use embassy_nrf::Peripherals;
18 16
17use defmt_rtt as _; // global logger
18use panic_probe as _;
19
19#[embassy::main] 20#[embassy::main]
20async fn main(_spawner: Spawner, p: Peripherals) { 21async fn main(_spawner: Spawner, p: Peripherals) {
21 let seq_words: [u16; 5] = [1000, 250, 100, 50, 0]; 22 let seq_words: [u16; 5] = [1000, 250, 100, 50, 0];
diff --git a/examples/nrf/src/bin/pwm_sequence_ws2812b.rs b/examples/nrf/src/bin/pwm_sequence_ws2812b.rs
index e5af7b462..8bfe1d50f 100644
--- a/examples/nrf/src/bin/pwm_sequence_ws2812b.rs
+++ b/examples/nrf/src/bin/pwm_sequence_ws2812b.rs
@@ -2,8 +2,6 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"]
6mod example_common;
7use defmt::*; 5use defmt::*;
8use embassy::executor::Spawner; 6use embassy::executor::Spawner;
9use embassy::time::{Duration, Timer}; 7use embassy::time::{Duration, Timer};
@@ -13,6 +11,9 @@ use embassy_nrf::pwm::{
13}; 11};
14use embassy_nrf::Peripherals; 12use embassy_nrf::Peripherals;
15 13
14use defmt_rtt as _; // global logger
15use panic_probe as _;
16
16// WS2812B LED light demonstration. Drives just one light. 17// WS2812B LED light demonstration. Drives just one light.
17// The following reference on WS2812B may be of use: 18// The following reference on WS2812B may be of use:
18// https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf. 19// https://cdn-shop.adafruit.com/datasheets/WS2812B.pdf.
diff --git a/examples/nrf/src/bin/pwm_servo.rs b/examples/nrf/src/bin/pwm_servo.rs
index c2ab0e7d1..40863bf3c 100644
--- a/examples/nrf/src/bin/pwm_servo.rs
+++ b/examples/nrf/src/bin/pwm_servo.rs
@@ -2,14 +2,15 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"]
6mod example_common;
7use defmt::*; 5use defmt::*;
8use embassy::executor::Spawner; 6use embassy::executor::Spawner;
9use embassy::time::{Duration, Timer}; 7use embassy::time::{Duration, Timer};
10use embassy_nrf::pwm::{Prescaler, SimplePwm}; 8use embassy_nrf::pwm::{Prescaler, SimplePwm};
11use embassy_nrf::Peripherals; 9use embassy_nrf::Peripherals;
12 10
11use defmt_rtt as _; // global logger
12use panic_probe as _;
13
13#[embassy::main] 14#[embassy::main]
14async fn main(_spawner: Spawner, p: Peripherals) { 15async fn main(_spawner: Spawner, p: Peripherals) {
15 let mut pwm = SimplePwm::new_1ch(p.PWM0, p.P0_05); 16 let mut pwm = SimplePwm::new_1ch(p.PWM0, p.P0_05);
diff --git a/examples/nrf/src/bin/qspi.rs b/examples/nrf/src/bin/qspi.rs
index b2e6bfc15..ba60716c8 100644
--- a/examples/nrf/src/bin/qspi.rs
+++ b/examples/nrf/src/bin/qspi.rs
@@ -2,14 +2,13 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"] 5use defmt::{assert_eq, info, unwrap};
6mod example_common;
7
8use defmt::assert_eq;
9use embassy::executor::Spawner; 6use embassy::executor::Spawner;
10use embassy_nrf::Peripherals; 7use embassy_nrf::Peripherals;
11use embassy_nrf::{interrupt, qspi}; 8use embassy_nrf::{interrupt, qspi};
12use example_common::*; 9
10use defmt_rtt as _; // global logger
11use panic_probe as _;
13 12
14const PAGE_SIZE: usize = 4096; 13const PAGE_SIZE: usize = 4096;
15 14
diff --git a/examples/nrf/src/bin/qspi_lowpower.rs b/examples/nrf/src/bin/qspi_lowpower.rs
index 4e264ef2f..a8184cd63 100644
--- a/examples/nrf/src/bin/qspi_lowpower.rs
+++ b/examples/nrf/src/bin/qspi_lowpower.rs
@@ -2,15 +2,15 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"]
6mod example_common;
7
8use core::mem; 5use core::mem;
6use defmt::{info, unwrap};
9use embassy::executor::Spawner; 7use embassy::executor::Spawner;
10use embassy::time::{Duration, Timer}; 8use embassy::time::{Duration, Timer};
11use embassy_nrf::Peripherals; 9use embassy_nrf::Peripherals;
12use embassy_nrf::{interrupt, qspi}; 10use embassy_nrf::{interrupt, qspi};
13use example_common::*; 11
12use defmt_rtt as _; // global logger
13use panic_probe as _;
14 14
15// Workaround for alignment requirements. 15// Workaround for alignment requirements.
16// Nicer API will probably come in the future. 16// Nicer API will probably come in the future.
diff --git a/examples/nrf/src/bin/raw_spawn.rs b/examples/nrf/src/bin/raw_spawn.rs
index d0bd68674..1d9d3ed51 100644
--- a/examples/nrf/src/bin/raw_spawn.rs
+++ b/examples/nrf/src/bin/raw_spawn.rs
@@ -1,18 +1,17 @@
1#![no_std] 1#![no_std]
2#![no_main] 2#![no_main]
3 3
4#[path = "../example_common.rs"]
5mod example_common;
6use example_common::*;
7
8use core::mem; 4use core::mem;
9use cortex_m_rt::entry; 5use cortex_m_rt::entry;
10 6use defmt::{info, unwrap};
11use embassy::executor::raw::TaskStorage; 7use embassy::executor::raw::TaskStorage;
12use embassy::executor::Executor; 8use embassy::executor::Executor;
13use embassy::time::{Duration, Timer}; 9use embassy::time::{Duration, Timer};
14use embassy::util::Forever; 10use embassy::util::Forever;
15 11
12use defmt_rtt as _; // global logger
13use panic_probe as _;
14
16async fn run1() { 15async fn run1() {
17 loop { 16 loop {
18 info!("BIG INFREQUENT TICK"); 17 info!("BIG INFREQUENT TICK");
diff --git a/examples/nrf/src/bin/rng.rs b/examples/nrf/src/bin/rng.rs
index a35a9fa85..4b4b3a19b 100644
--- a/examples/nrf/src/bin/rng.rs
+++ b/examples/nrf/src/bin/rng.rs
@@ -2,15 +2,15 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"]
6mod example_common;
7
8use embassy::executor::Spawner; 5use embassy::executor::Spawner;
9use embassy_nrf::interrupt; 6use embassy_nrf::interrupt;
10use embassy_nrf::rng::Rng; 7use embassy_nrf::rng::Rng;
11use embassy_nrf::Peripherals; 8use embassy_nrf::Peripherals;
12use rand::Rng as _; 9use rand::Rng as _;
13 10
11use defmt_rtt as _; // global logger
12use panic_probe as _;
13
14#[embassy::main] 14#[embassy::main]
15async fn main(_spawner: Spawner, p: Peripherals) { 15async fn main(_spawner: Spawner, p: Peripherals) {
16 let mut rng = Rng::new(p.RNG, interrupt::take!(RNG)); 16 let mut rng = Rng::new(p.RNG, interrupt::take!(RNG));
diff --git a/examples/nrf/src/bin/saadc.rs b/examples/nrf/src/bin/saadc.rs
index bc6b2b52c..5835be31f 100644
--- a/examples/nrf/src/bin/saadc.rs
+++ b/examples/nrf/src/bin/saadc.rs
@@ -2,13 +2,14 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"] 5use defmt::info;
6mod example_common;
7use embassy::executor::Spawner; 6use embassy::executor::Spawner;
8use embassy::time::{Duration, Timer}; 7use embassy::time::{Duration, Timer};
9use embassy_nrf::saadc::{ChannelConfig, Config, Saadc}; 8use embassy_nrf::saadc::{ChannelConfig, Config, Saadc};
10use embassy_nrf::{interrupt, Peripherals}; 9use embassy_nrf::{interrupt, Peripherals};
11use example_common::*; 10
11use defmt_rtt as _; // global logger
12use panic_probe as _;
12 13
13#[embassy::main] 14#[embassy::main]
14async fn main(_spawner: Spawner, mut p: Peripherals) { 15async fn main(_spawner: Spawner, mut p: Peripherals) {
diff --git a/examples/nrf/src/bin/saadc_continuous.rs b/examples/nrf/src/bin/saadc_continuous.rs
index bdf552fba..5e357f79b 100644
--- a/examples/nrf/src/bin/saadc_continuous.rs
+++ b/examples/nrf/src/bin/saadc_continuous.rs
@@ -2,14 +2,15 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"] 5use defmt::info;
6mod example_common;
7use embassy::executor::Spawner; 6use embassy::executor::Spawner;
8use embassy::time::Duration; 7use embassy::time::Duration;
9use embassy_nrf::saadc::{ChannelConfig, Config, Saadc, SamplerState}; 8use embassy_nrf::saadc::{ChannelConfig, Config, Saadc, SamplerState};
10use embassy_nrf::timer::Frequency; 9use embassy_nrf::timer::Frequency;
11use embassy_nrf::{interrupt, Peripherals}; 10use embassy_nrf::{interrupt, Peripherals};
12use example_common::*; 11
12use defmt_rtt as _; // global logger
13use panic_probe as _;
13 14
14// Demonstrates both continuous sampling and scanning multiple channels driven by a PPI linked timer 15// Demonstrates both continuous sampling and scanning multiple channels driven by a PPI linked timer
15 16
diff --git a/examples/nrf/src/bin/spim.rs b/examples/nrf/src/bin/spim.rs
index cda3baa26..f2a4ab388 100644
--- a/examples/nrf/src/bin/spim.rs
+++ b/examples/nrf/src/bin/spim.rs
@@ -2,14 +2,14 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"] 5use defmt::{info, unwrap};
6mod example_common;
7
8use embassy::executor::Spawner; 6use embassy::executor::Spawner;
9use embassy_nrf::gpio::{Level, Output, OutputDrive}; 7use embassy_nrf::gpio::{Level, Output, OutputDrive};
10use embassy_nrf::Peripherals; 8use embassy_nrf::Peripherals;
11use embassy_nrf::{interrupt, spim}; 9use embassy_nrf::{interrupt, spim};
12use example_common::*; 10
11use defmt_rtt as _; // global logger
12use panic_probe as _;
13 13
14#[embassy::main] 14#[embassy::main]
15async fn main(_spawner: Spawner, p: Peripherals) { 15async fn main(_spawner: Spawner, p: Peripherals) {
diff --git a/examples/nrf/src/bin/temp.rs b/examples/nrf/src/bin/temp.rs
index 4b30b6ea3..aa807910f 100644
--- a/examples/nrf/src/bin/temp.rs
+++ b/examples/nrf/src/bin/temp.rs
@@ -2,16 +2,14 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"] 5use defmt::info;
6mod example_common; 6use embassy::executor::Spawner;
7use example_common::*; 7use embassy::time::{Duration, Timer};
8
9use embassy::{
10 executor::Spawner,
11 time::{Duration, Timer},
12};
13use embassy_nrf::{interrupt, temp::Temp, Peripherals}; 8use embassy_nrf::{interrupt, temp::Temp, Peripherals};
14 9
10use defmt_rtt as _; // global logger
11use panic_probe as _;
12
15#[embassy::main] 13#[embassy::main]
16async fn main(_spawner: Spawner, p: Peripherals) { 14async fn main(_spawner: Spawner, p: Peripherals) {
17 let irq = interrupt::take!(TEMP); 15 let irq = interrupt::take!(TEMP);
diff --git a/examples/nrf/src/bin/timer.rs b/examples/nrf/src/bin/timer.rs
index f27081b74..ff8ee9a86 100644
--- a/examples/nrf/src/bin/timer.rs
+++ b/examples/nrf/src/bin/timer.rs
@@ -2,13 +2,13 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"] 5use defmt::{info, unwrap};
6mod example_common;
7use embassy_nrf::Peripherals;
8use example_common::*;
9
10use embassy::executor::Spawner; 6use embassy::executor::Spawner;
11use embassy::time::{Duration, Timer}; 7use embassy::time::{Duration, Timer};
8use embassy_nrf::Peripherals;
9
10use defmt_rtt as _; // global logger
11use panic_probe as _;
12 12
13#[embassy::task] 13#[embassy::task]
14async fn run1() { 14async fn run1() {
diff --git a/examples/nrf/src/bin/twim.rs b/examples/nrf/src/bin/twim.rs
index 1ac3a3945..08c614157 100644
--- a/examples/nrf/src/bin/twim.rs
+++ b/examples/nrf/src/bin/twim.rs
@@ -6,14 +6,14 @@
6#![no_main] 6#![no_main]
7#![feature(type_alias_impl_trait)] 7#![feature(type_alias_impl_trait)]
8 8
9#[path = "../example_common.rs"]
10mod example_common;
11
12use defmt::*; 9use defmt::*;
13use embassy::executor::Spawner; 10use embassy::executor::Spawner;
14use embassy_nrf::twim::{self, Twim}; 11use embassy_nrf::twim::{self, Twim};
15use embassy_nrf::{interrupt, Peripherals}; 12use embassy_nrf::{interrupt, Peripherals};
16 13
14use defmt_rtt as _; // global logger
15use panic_probe as _;
16
17const ADDRESS: u8 = 0x50; 17const ADDRESS: u8 = 0x50;
18 18
19#[embassy::main] 19#[embassy::main]
diff --git a/examples/nrf/src/bin/twim_lowpower.rs b/examples/nrf/src/bin/twim_lowpower.rs
index 4a0596437..45b347ea0 100644
--- a/examples/nrf/src/bin/twim_lowpower.rs
+++ b/examples/nrf/src/bin/twim_lowpower.rs
@@ -8,17 +8,16 @@
8#![no_main] 8#![no_main]
9#![feature(type_alias_impl_trait)] 9#![feature(type_alias_impl_trait)]
10 10
11#[path = "../example_common.rs"]
12mod example_common;
13
14use core::mem; 11use core::mem;
15
16use defmt::*; 12use defmt::*;
17use embassy::executor::Spawner; 13use embassy::executor::Spawner;
18use embassy::time::{Duration, Timer}; 14use embassy::time::{Duration, Timer};
19use embassy_nrf::twim::{self, Twim}; 15use embassy_nrf::twim::{self, Twim};
20use embassy_nrf::{interrupt, Peripherals}; 16use embassy_nrf::{interrupt, Peripherals};
21 17
18use defmt_rtt as _; // global logger
19use panic_probe as _;
20
22const ADDRESS: u8 = 0x50; 21const ADDRESS: u8 = 0x50;
23 22
24#[embassy::main] 23#[embassy::main]
diff --git a/examples/nrf/src/bin/uart.rs b/examples/nrf/src/bin/uart.rs
index 5dc89df66..91f7f4fdd 100644
--- a/examples/nrf/src/bin/uart.rs
+++ b/examples/nrf/src/bin/uart.rs
@@ -2,13 +2,13 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"] 5use defmt::*;
6mod example_common;
7use example_common::*;
8
9use embassy::executor::Spawner; 6use embassy::executor::Spawner;
10use embassy_nrf::{interrupt, uarte, Peripherals}; 7use embassy_nrf::{interrupt, uarte, Peripherals};
11 8
9use defmt_rtt as _; // global logger
10use panic_probe as _;
11
12#[embassy::main] 12#[embassy::main]
13async fn main(_spawner: Spawner, p: Peripherals) { 13async fn main(_spawner: Spawner, p: Peripherals) {
14 let mut config = uarte::Config::default(); 14 let mut config = uarte::Config::default();
diff --git a/examples/nrf/src/bin/uart_idle.rs b/examples/nrf/src/bin/uart_idle.rs
index 88dc185af..89336faaf 100644
--- a/examples/nrf/src/bin/uart_idle.rs
+++ b/examples/nrf/src/bin/uart_idle.rs
@@ -2,13 +2,13 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"] 5use defmt::*;
6mod example_common;
7use example_common::*;
8
9use embassy::executor::Spawner; 6use embassy::executor::Spawner;
10use embassy_nrf::{interrupt, uarte, Peripherals}; 7use embassy_nrf::{interrupt, uarte, Peripherals};
11 8
9use defmt_rtt as _; // global logger
10use panic_probe as _;
11
12#[embassy::main] 12#[embassy::main]
13async fn main(_spawner: Spawner, p: Peripherals) { 13async fn main(_spawner: Spawner, p: Peripherals) {
14 let mut config = uarte::Config::default(); 14 let mut config = uarte::Config::default();
diff --git a/examples/nrf/src/bin/uart_split.rs b/examples/nrf/src/bin/uart_split.rs
index 19d438c40..909429b1a 100644
--- a/examples/nrf/src/bin/uart_split.rs
+++ b/examples/nrf/src/bin/uart_split.rs
@@ -2,10 +2,7 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"] 5use defmt::*;
6mod example_common;
7use example_common::*;
8
9use embassy::blocking_mutex::raw::NoopRawMutex; 6use embassy::blocking_mutex::raw::NoopRawMutex;
10use embassy::channel::mpsc::{self, Channel, Sender}; 7use embassy::channel::mpsc::{self, Channel, Sender};
11use embassy::executor::Spawner; 8use embassy::executor::Spawner;
@@ -14,6 +11,9 @@ use embassy_nrf::peripherals::UARTE0;
14use embassy_nrf::uarte::UarteRx; 11use embassy_nrf::uarte::UarteRx;
15use embassy_nrf::{interrupt, uarte, Peripherals}; 12use embassy_nrf::{interrupt, uarte, Peripherals};
16 13
14use defmt_rtt as _; // global logger
15use panic_probe as _;
16
17static CHANNEL: Forever<Channel<NoopRawMutex, [u8; 8], 1>> = Forever::new(); 17static CHANNEL: Forever<Channel<NoopRawMutex, [u8; 8], 1>> = Forever::new();
18 18
19#[embassy::main] 19#[embassy::main]
diff --git a/examples/nrf/src/bin/usb_uart.rs b/examples/nrf/src/bin/usb_uart.rs
index c345df9e3..d283dccd1 100644
--- a/examples/nrf/src/bin/usb_uart.rs
+++ b/examples/nrf/src/bin/usb_uart.rs
@@ -2,21 +2,18 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"]
6mod example_common;
7
8use defmt::{info, unwrap}; 5use defmt::{info, unwrap};
9use defmt_rtt as _; // global logger
10use embassy::interrupt::InterruptExt;
11use futures::pin_mut;
12use panic_probe as _; // print out panic messages
13
14use embassy::executor::Spawner; 6use embassy::executor::Spawner;
7use embassy::interrupt::InterruptExt;
15use embassy::io::{AsyncBufReadExt, AsyncWriteExt}; 8use embassy::io::{AsyncBufReadExt, AsyncWriteExt};
16use embassy_nrf::usb::{State, Usb, UsbBus, UsbSerial}; 9use embassy_nrf::usb::{State, Usb, UsbBus, UsbSerial};
17use embassy_nrf::{interrupt, Peripherals}; 10use embassy_nrf::{interrupt, Peripherals};
11use futures::pin_mut;
18use usb_device::device::{UsbDeviceBuilder, UsbVidPid}; 12use usb_device::device::{UsbDeviceBuilder, UsbVidPid};
19 13
14use defmt_rtt as _; // global logger
15use panic_probe as _; // print out panic messages
16
20#[embassy::main] 17#[embassy::main]
21async fn main(_spawner: Spawner, p: Peripherals) { 18async fn main(_spawner: Spawner, p: Peripherals) {
22 let mut rx_buffer = [0u8; 64]; 19 let mut rx_buffer = [0u8; 64];
diff --git a/examples/nrf/src/bin/usb_uart_io.rs b/examples/nrf/src/bin/usb_uart_io.rs
index 8fc615262..ef2629844 100644
--- a/examples/nrf/src/bin/usb_uart_io.rs
+++ b/examples/nrf/src/bin/usb_uart_io.rs
@@ -2,13 +2,7 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"]
6mod example_common;
7
8use defmt::{info, unwrap}; 5use defmt::{info, unwrap};
9use defmt_rtt as _; // global logger
10use panic_probe as _; // print out panic messages
11
12use embassy::executor::Spawner; 6use embassy::executor::Spawner;
13use embassy::interrupt::InterruptExt; 7use embassy::interrupt::InterruptExt;
14use embassy::io::{read_line, AsyncWriteExt}; 8use embassy::io::{read_line, AsyncWriteExt};
@@ -17,6 +11,9 @@ use embassy_nrf::{interrupt, Peripherals};
17use futures::pin_mut; 11use futures::pin_mut;
18use usb_device::device::{UsbDeviceBuilder, UsbVidPid}; 12use usb_device::device::{UsbDeviceBuilder, UsbVidPid};
19 13
14use defmt_rtt as _; // global logger
15use panic_probe as _; // print out panic messages
16
20#[embassy::main] 17#[embassy::main]
21async fn main(_spawner: Spawner, p: Peripherals) { 18async fn main(_spawner: Spawner, p: Peripherals) {
22 let mut rx_buffer = [0u8; 64]; 19 let mut rx_buffer = [0u8; 64];
diff --git a/examples/nrf/src/bin/wdt.rs b/examples/nrf/src/bin/wdt.rs
index cc199be9d..431ccca8b 100644
--- a/examples/nrf/src/bin/wdt.rs
+++ b/examples/nrf/src/bin/wdt.rs
@@ -2,15 +2,15 @@
2#![no_main] 2#![no_main]
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5#[path = "../example_common.rs"]
6mod example_common;
7
8use defmt::*; 5use defmt::*;
9use embassy::executor::Spawner; 6use embassy::executor::Spawner;
10use embassy_nrf::gpio::{Input, Pull}; 7use embassy_nrf::gpio::{Input, Pull};
11use embassy_nrf::wdt::{Config, Watchdog}; 8use embassy_nrf::wdt::{Config, Watchdog};
12use embassy_nrf::Peripherals; 9use embassy_nrf::Peripherals;
13 10
11use defmt_rtt as _; // global logger
12use panic_probe as _;
13
14#[embassy::main] 14#[embassy::main]
15async fn main(_spawner: Spawner, p: Peripherals) { 15async fn main(_spawner: Spawner, p: Peripherals) {
16 info!("Hello World!"); 16 info!("Hello World!");
diff --git a/examples/nrf/src/example_common.rs b/examples/nrf/src/example_common.rs
deleted file mode 100644
index 54d633837..000000000
--- a/examples/nrf/src/example_common.rs
+++ /dev/null
@@ -1,17 +0,0 @@
1#![macro_use]
2
3use defmt_rtt as _; // global logger
4use panic_probe as _;
5
6pub use defmt::*;
7
8use core::sync::atomic::{AtomicUsize, Ordering};
9
10defmt::timestamp! {"{=u64}", {
11 static COUNT: AtomicUsize = AtomicUsize::new(0);
12 // NOTE(no-CAS) `timestamps` runs with interrupts disabled
13 let n = COUNT.load(Ordering::Relaxed);
14 COUNT.store(n + 1, Ordering::Relaxed);
15 n as u64
16 }
17}