diff options
| author | Dario Nieuwenhuis <[email protected]> | 2022-04-02 04:35:06 +0200 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2022-04-02 04:35:06 +0200 |
| commit | 82803bffdab0842bf6c3e4bce21131d437b06669 (patch) | |
| tree | 588c65c93b31b897f53d389f7876dc2703eb0fa8 /examples | |
| parent | a9e63167e1ec230ca3d28da771378f5f4936a840 (diff) | |
Use embassy/defmt-timestamp-uptime in all examples.
Diffstat (limited to 'examples')
162 files changed, 490 insertions, 765 deletions
diff --git a/examples/nrf/Cargo.toml b/examples/nrf/Cargo.toml index 7fdc27ffa..a704eb3bc 100644 --- a/examples/nrf/Cargo.toml +++ b/examples/nrf/Cargo.toml | |||
| @@ -9,7 +9,7 @@ default = ["nightly"] | |||
| 9 | nightly = ["embassy-nrf/nightly", "embassy-nrf/unstable-traits"] | 9 | nightly = ["embassy-nrf/nightly", "embassy-nrf/unstable-traits"] |
| 10 | 10 | ||
| 11 | [dependencies] | 11 | [dependencies] |
| 12 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | 12 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt", "defmt-timestamp-uptime"] } |
| 13 | embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf52840", "time-driver-rtc1", "gpiote"] } | 13 | embassy-nrf = { version = "0.1.0", path = "../../embassy-nrf", features = ["defmt", "nrf52840", "time-driver-rtc1", "gpiote"] } |
| 14 | 14 | ||
| 15 | defmt = "0.3" | 15 | defmt = "0.3" |
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"] | 5 | use defmt::info; |
| 6 | mod example_common; | 6 | use embassy::executor::Spawner; |
| 7 | use embassy_nrf::interrupt; | 7 | use embassy_nrf::interrupt; |
| 8 | use embassy_nrf::timer::Timer; | 8 | use embassy_nrf::timer::Timer; |
| 9 | use embassy_nrf::Peripherals; | 9 | use embassy_nrf::Peripherals; |
| 10 | use example_common::info; | ||
| 11 | 10 | ||
| 12 | use embassy::executor::Spawner; | 11 | use defmt_rtt as _; // global logger |
| 12 | use panic_probe as _; | ||
| 13 | 13 | ||
| 14 | #[embassy::main] | 14 | #[embassy::main] |
| 15 | async fn main(_spawner: Spawner, p: Peripherals) { | 15 | async 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"] | ||
| 6 | mod example_common; | ||
| 7 | |||
| 8 | use embassy::executor::Spawner; | 5 | use embassy::executor::Spawner; |
| 9 | use embassy::time::{Duration, Timer}; | 6 | use embassy::time::{Duration, Timer}; |
| 10 | use embassy_nrf::gpio::{Level, Output, OutputDrive}; | 7 | use embassy_nrf::gpio::{Level, Output, OutputDrive}; |
| 11 | use embassy_nrf::Peripherals; | 8 | use embassy_nrf::Peripherals; |
| 12 | 9 | ||
| 10 | use defmt_rtt as _; // global logger | ||
| 11 | use panic_probe as _; | ||
| 12 | |||
| 13 | #[embassy::main] | 13 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 14 | async 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"] | 5 | use defmt::*; |
| 6 | mod example_common; | ||
| 7 | |||
| 8 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 9 | use embassy::io::{AsyncBufReadExt, AsyncWriteExt}; | 7 | use embassy::io::{AsyncBufReadExt, AsyncWriteExt}; |
| 10 | use embassy_nrf::buffered_uarte::State; | 8 | use embassy_nrf::buffered_uarte::State; |
| 11 | use embassy_nrf::{buffered_uarte::BufferedUarte, interrupt, uarte, Peripherals}; | 9 | use embassy_nrf::{buffered_uarte::BufferedUarte, interrupt, uarte, Peripherals}; |
| 12 | use example_common::*; | ||
| 13 | use futures::pin_mut; | 10 | use futures::pin_mut; |
| 14 | 11 | ||
| 12 | use defmt_rtt as _; // global logger | ||
| 13 | use panic_probe as _; | ||
| 14 | |||
| 15 | #[embassy::main] | 15 | #[embassy::main] |
| 16 | async fn main(_spawner: Spawner, p: Peripherals) { | 16 | async 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"] | ||
| 6 | mod example_common; | ||
| 7 | use example_common::*; | ||
| 8 | |||
| 9 | use core::task::Poll; | 5 | use core::task::Poll; |
| 6 | use defmt::{info, unwrap}; | ||
| 10 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 11 | use embassy::time::{Duration, Instant, Timer}; | 8 | use embassy::time::{Duration, Instant, Timer}; |
| 12 | use embassy_nrf::Peripherals; | 9 | use embassy_nrf::Peripherals; |
| 13 | 10 | ||
| 11 | use defmt_rtt as _; // global logger | ||
| 12 | use panic_probe as _; | ||
| 13 | |||
| 14 | #[embassy::task] | 14 | #[embassy::task] |
| 15 | async fn run1() { | 15 | async 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"] | 5 | use defmt::info; |
| 6 | mod example_common; | ||
| 7 | use example_common::*; | ||
| 8 | |||
| 9 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 10 | use embassy_nrf::gpio::{Input, Pull}; | 7 | use embassy_nrf::gpio::{Input, Pull}; |
| 11 | use embassy_nrf::gpiote::{InputChannel, InputChannelPolarity}; | 8 | use embassy_nrf::gpiote::{InputChannel, InputChannelPolarity}; |
| 12 | use embassy_nrf::Peripherals; | 9 | use embassy_nrf::Peripherals; |
| 13 | 10 | ||
| 11 | use defmt_rtt as _; // global logger | ||
| 12 | use panic_probe as _; | ||
| 13 | |||
| 14 | #[embassy::main] | 14 | #[embassy::main] |
| 15 | async fn main(_spawner: Spawner, p: Peripherals) { | 15 | async 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"] | 5 | use defmt::{info, unwrap}; |
| 6 | mod example_common; | ||
| 7 | |||
| 8 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 9 | use embassy_nrf::gpio::{AnyPin, Input, Pin as _, Pull}; | 7 | use embassy_nrf::gpio::{AnyPin, Input, Pin as _, Pull}; |
| 10 | use embassy_nrf::Peripherals; | 8 | use embassy_nrf::Peripherals; |
| 11 | use example_common::*; | 9 | |
| 10 | use defmt_rtt as _; // global logger | ||
| 11 | use panic_probe as _; | ||
| 12 | 12 | ||
| 13 | #[embassy::task(pool_size = 4)] | 13 | #[embassy::task(pool_size = 4)] |
| 14 | async fn button_task(n: usize, mut pin: Input<'static, AnyPin>) { | 14 | async 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"] | ||
| 6 | mod example_common; | ||
| 7 | |||
| 8 | use defmt::unwrap; | 5 | use defmt::unwrap; |
| 9 | use embassy::blocking_mutex::raw::NoopRawMutex; | 6 | use embassy::blocking_mutex::raw::NoopRawMutex; |
| 10 | use embassy::channel::mpsc::{self, Channel, Sender, TryRecvError}; | 7 | use embassy::channel::mpsc::{self, Channel, Sender, TryRecvError}; |
| @@ -14,6 +11,9 @@ use embassy::util::Forever; | |||
| 14 | use embassy_nrf::gpio::{Level, Output, OutputDrive}; | 11 | use embassy_nrf::gpio::{Level, Output, OutputDrive}; |
| 15 | use embassy_nrf::Peripherals; | 12 | use embassy_nrf::Peripherals; |
| 16 | 13 | ||
| 14 | use defmt_rtt as _; // global logger | ||
| 15 | use panic_probe as _; | ||
| 16 | |||
| 17 | enum LedState { | 17 | enum 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"] | ||
| 61 | mod example_common; | ||
| 62 | use example_common::*; | ||
| 63 | |||
| 64 | use cortex_m_rt::entry; | 60 | use cortex_m_rt::entry; |
| 61 | use defmt::{info, unwrap}; | ||
| 65 | use embassy::executor::{Executor, InterruptExecutor}; | 62 | use embassy::executor::{Executor, InterruptExecutor}; |
| 66 | use embassy::interrupt::InterruptExt; | 63 | use embassy::interrupt::InterruptExt; |
| 67 | use embassy::time::{Duration, Instant, Timer}; | 64 | use embassy::time::{Duration, Instant, Timer}; |
| 68 | use embassy::util::Forever; | 65 | use embassy::util::Forever; |
| 69 | use embassy_nrf::interrupt; | 66 | use embassy_nrf::interrupt; |
| 70 | 67 | ||
| 68 | use defmt_rtt as _; // global logger | ||
| 69 | use panic_probe as _; | ||
| 70 | |||
| 71 | #[embassy::task] | 71 | #[embassy::task] |
| 72 | async fn run_high() { | 72 | async 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"] | 5 | use defmt::{info, unwrap}; |
| 6 | mod example_common; | ||
| 7 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 8 | use embassy::time::{Duration, Timer}; | 7 | use embassy::time::{Duration, Timer}; |
| 9 | use embassy_nrf::nvmc::Nvmc; | 8 | use embassy_nrf::nvmc::Nvmc; |
| 10 | use embassy_nrf::Peripherals; | 9 | use embassy_nrf::Peripherals; |
| 11 | use embedded_storage::nor_flash::{NorFlash, ReadNorFlash}; | 10 | use embedded_storage::nor_flash::{NorFlash, ReadNorFlash}; |
| 12 | use example_common::*; | 11 | |
| 12 | use defmt_rtt as _; // global logger | ||
| 13 | use panic_probe as _; | ||
| 13 | 14 | ||
| 14 | #[embassy::main] | 15 | #[embassy::main] |
| 15 | async fn main(_spawner: Spawner, p: Peripherals) { | 16 | async 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"] | ||
| 6 | mod example_common; | ||
| 7 | use example_common::*; | ||
| 8 | |||
| 9 | use core::future::pending; | 5 | use core::future::pending; |
| 6 | use defmt::info; | ||
| 10 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 11 | use embassy_nrf::gpio::{Input, Level, Output, OutputDrive, Pull}; | 8 | use embassy_nrf::gpio::{Input, Level, Output, OutputDrive, Pull}; |
| 12 | use embassy_nrf::gpiote::{self, InputChannel, InputChannelPolarity}; | 9 | use embassy_nrf::gpiote::{self, InputChannel, InputChannelPolarity}; |
| @@ -14,6 +11,9 @@ use embassy_nrf::ppi::Ppi; | |||
| 14 | use embassy_nrf::Peripherals; | 11 | use embassy_nrf::Peripherals; |
| 15 | use gpiote::{OutputChannel, OutputChannelPolarity}; | 12 | use gpiote::{OutputChannel, OutputChannelPolarity}; |
| 16 | 13 | ||
| 14 | use defmt_rtt as _; // global logger | ||
| 15 | use panic_probe as _; | ||
| 16 | |||
| 17 | #[embassy::main] | 17 | #[embassy::main] |
| 18 | async fn main(_spawner: Spawner, p: Peripherals) { | 18 | async 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"] | ||
| 6 | mod example_common; | ||
| 7 | use defmt::*; | 5 | use defmt::*; |
| 8 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 9 | use embassy::time::{Duration, Timer}; | 7 | use embassy::time::{Duration, Timer}; |
| 10 | use embassy_nrf::pwm::{Prescaler, SimplePwm}; | 8 | use embassy_nrf::pwm::{Prescaler, SimplePwm}; |
| 11 | use embassy_nrf::Peripherals; | 9 | use embassy_nrf::Peripherals; |
| 12 | 10 | ||
| 11 | use defmt_rtt as _; // global logger | ||
| 12 | use 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='') |
| 14 | static DUTY: [u16; 1024] = [ | 15 | static 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"] | ||
| 6 | mod example_common; | ||
| 7 | use defmt::*; | 5 | use defmt::*; |
| 8 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 9 | use embassy::time::{Duration, Timer}; | 7 | use embassy::time::{Duration, Timer}; |
| @@ -13,6 +11,9 @@ use embassy_nrf::pwm::{ | |||
| 13 | }; | 11 | }; |
| 14 | use embassy_nrf::Peripherals; | 12 | use embassy_nrf::Peripherals; |
| 15 | 13 | ||
| 14 | use defmt_rtt as _; // global logger | ||
| 15 | use panic_probe as _; | ||
| 16 | |||
| 16 | #[embassy::main] | 17 | #[embassy::main] |
| 17 | async fn main(_spawner: Spawner, p: Peripherals) { | 18 | async 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"] | ||
| 6 | mod example_common; | ||
| 7 | use defmt::*; | 5 | use defmt::*; |
| 8 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 9 | use embassy::time::{Duration, Timer}; | 7 | use embassy::time::{Duration, Timer}; |
| @@ -12,6 +10,9 @@ use embassy_nrf::pwm::{ | |||
| 12 | }; | 10 | }; |
| 13 | use embassy_nrf::Peripherals; | 11 | use embassy_nrf::Peripherals; |
| 14 | 12 | ||
| 13 | use defmt_rtt as _; // global logger | ||
| 14 | use panic_probe as _; | ||
| 15 | |||
| 15 | #[embassy::main] | 16 | #[embassy::main] |
| 16 | async fn main(_spawner: Spawner, p: Peripherals) { | 17 | async 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"] | ||
| 7 | mod example_common; | ||
| 8 | use core::future::pending; | 6 | use core::future::pending; |
| 9 | use defmt::*; | 7 | use defmt::*; |
| 10 | use embassy::executor::Spawner; | 8 | use embassy::executor::Spawner; |
| @@ -16,6 +14,9 @@ use embassy_nrf::pwm::{ | |||
| 16 | }; | 14 | }; |
| 17 | use embassy_nrf::Peripherals; | 15 | use embassy_nrf::Peripherals; |
| 18 | 16 | ||
| 17 | use defmt_rtt as _; // global logger | ||
| 18 | use panic_probe as _; | ||
| 19 | |||
| 19 | #[embassy::main] | 20 | #[embassy::main] |
| 20 | async fn main(_spawner: Spawner, p: Peripherals) { | 21 | async 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"] | ||
| 6 | mod example_common; | ||
| 7 | use defmt::*; | 5 | use defmt::*; |
| 8 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 9 | use embassy::time::{Duration, Timer}; | 7 | use embassy::time::{Duration, Timer}; |
| @@ -13,6 +11,9 @@ use embassy_nrf::pwm::{ | |||
| 13 | }; | 11 | }; |
| 14 | use embassy_nrf::Peripherals; | 12 | use embassy_nrf::Peripherals; |
| 15 | 13 | ||
| 14 | use defmt_rtt as _; // global logger | ||
| 15 | use 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"] | ||
| 6 | mod example_common; | ||
| 7 | use defmt::*; | 5 | use defmt::*; |
| 8 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 9 | use embassy::time::{Duration, Timer}; | 7 | use embassy::time::{Duration, Timer}; |
| 10 | use embassy_nrf::pwm::{Prescaler, SimplePwm}; | 8 | use embassy_nrf::pwm::{Prescaler, SimplePwm}; |
| 11 | use embassy_nrf::Peripherals; | 9 | use embassy_nrf::Peripherals; |
| 12 | 10 | ||
| 11 | use defmt_rtt as _; // global logger | ||
| 12 | use panic_probe as _; | ||
| 13 | |||
| 13 | #[embassy::main] | 14 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 15 | async 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"] | 5 | use defmt::{assert_eq, info, unwrap}; |
| 6 | mod example_common; | ||
| 7 | |||
| 8 | use defmt::assert_eq; | ||
| 9 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 10 | use embassy_nrf::Peripherals; | 7 | use embassy_nrf::Peripherals; |
| 11 | use embassy_nrf::{interrupt, qspi}; | 8 | use embassy_nrf::{interrupt, qspi}; |
| 12 | use example_common::*; | 9 | |
| 10 | use defmt_rtt as _; // global logger | ||
| 11 | use panic_probe as _; | ||
| 13 | 12 | ||
| 14 | const PAGE_SIZE: usize = 4096; | 13 | const 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"] | ||
| 6 | mod example_common; | ||
| 7 | |||
| 8 | use core::mem; | 5 | use core::mem; |
| 6 | use defmt::{info, unwrap}; | ||
| 9 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 10 | use embassy::time::{Duration, Timer}; | 8 | use embassy::time::{Duration, Timer}; |
| 11 | use embassy_nrf::Peripherals; | 9 | use embassy_nrf::Peripherals; |
| 12 | use embassy_nrf::{interrupt, qspi}; | 10 | use embassy_nrf::{interrupt, qspi}; |
| 13 | use example_common::*; | 11 | |
| 12 | use defmt_rtt as _; // global logger | ||
| 13 | use 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"] | ||
| 5 | mod example_common; | ||
| 6 | use example_common::*; | ||
| 7 | |||
| 8 | use core::mem; | 4 | use core::mem; |
| 9 | use cortex_m_rt::entry; | 5 | use cortex_m_rt::entry; |
| 10 | 6 | use defmt::{info, unwrap}; | |
| 11 | use embassy::executor::raw::TaskStorage; | 7 | use embassy::executor::raw::TaskStorage; |
| 12 | use embassy::executor::Executor; | 8 | use embassy::executor::Executor; |
| 13 | use embassy::time::{Duration, Timer}; | 9 | use embassy::time::{Duration, Timer}; |
| 14 | use embassy::util::Forever; | 10 | use embassy::util::Forever; |
| 15 | 11 | ||
| 12 | use defmt_rtt as _; // global logger | ||
| 13 | use panic_probe as _; | ||
| 14 | |||
| 16 | async fn run1() { | 15 | async 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"] | ||
| 6 | mod example_common; | ||
| 7 | |||
| 8 | use embassy::executor::Spawner; | 5 | use embassy::executor::Spawner; |
| 9 | use embassy_nrf::interrupt; | 6 | use embassy_nrf::interrupt; |
| 10 | use embassy_nrf::rng::Rng; | 7 | use embassy_nrf::rng::Rng; |
| 11 | use embassy_nrf::Peripherals; | 8 | use embassy_nrf::Peripherals; |
| 12 | use rand::Rng as _; | 9 | use rand::Rng as _; |
| 13 | 10 | ||
| 11 | use defmt_rtt as _; // global logger | ||
| 12 | use panic_probe as _; | ||
| 13 | |||
| 14 | #[embassy::main] | 14 | #[embassy::main] |
| 15 | async fn main(_spawner: Spawner, p: Peripherals) { | 15 | async 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"] | 5 | use defmt::info; |
| 6 | mod example_common; | ||
| 7 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 8 | use embassy::time::{Duration, Timer}; | 7 | use embassy::time::{Duration, Timer}; |
| 9 | use embassy_nrf::saadc::{ChannelConfig, Config, Saadc}; | 8 | use embassy_nrf::saadc::{ChannelConfig, Config, Saadc}; |
| 10 | use embassy_nrf::{interrupt, Peripherals}; | 9 | use embassy_nrf::{interrupt, Peripherals}; |
| 11 | use example_common::*; | 10 | |
| 11 | use defmt_rtt as _; // global logger | ||
| 12 | use panic_probe as _; | ||
| 12 | 13 | ||
| 13 | #[embassy::main] | 14 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, mut p: Peripherals) { | 15 | async 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"] | 5 | use defmt::info; |
| 6 | mod example_common; | ||
| 7 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 8 | use embassy::time::Duration; | 7 | use embassy::time::Duration; |
| 9 | use embassy_nrf::saadc::{ChannelConfig, Config, Saadc, SamplerState}; | 8 | use embassy_nrf::saadc::{ChannelConfig, Config, Saadc, SamplerState}; |
| 10 | use embassy_nrf::timer::Frequency; | 9 | use embassy_nrf::timer::Frequency; |
| 11 | use embassy_nrf::{interrupt, Peripherals}; | 10 | use embassy_nrf::{interrupt, Peripherals}; |
| 12 | use example_common::*; | 11 | |
| 12 | use defmt_rtt as _; // global logger | ||
| 13 | use 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"] | 5 | use defmt::{info, unwrap}; |
| 6 | mod example_common; | ||
| 7 | |||
| 8 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 9 | use embassy_nrf::gpio::{Level, Output, OutputDrive}; | 7 | use embassy_nrf::gpio::{Level, Output, OutputDrive}; |
| 10 | use embassy_nrf::Peripherals; | 8 | use embassy_nrf::Peripherals; |
| 11 | use embassy_nrf::{interrupt, spim}; | 9 | use embassy_nrf::{interrupt, spim}; |
| 12 | use example_common::*; | 10 | |
| 11 | use defmt_rtt as _; // global logger | ||
| 12 | use panic_probe as _; | ||
| 13 | 13 | ||
| 14 | #[embassy::main] | 14 | #[embassy::main] |
| 15 | async fn main(_spawner: Spawner, p: Peripherals) { | 15 | async 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"] | 5 | use defmt::info; |
| 6 | mod example_common; | 6 | use embassy::executor::Spawner; |
| 7 | use example_common::*; | 7 | use embassy::time::{Duration, Timer}; |
| 8 | |||
| 9 | use embassy::{ | ||
| 10 | executor::Spawner, | ||
| 11 | time::{Duration, Timer}, | ||
| 12 | }; | ||
| 13 | use embassy_nrf::{interrupt, temp::Temp, Peripherals}; | 8 | use embassy_nrf::{interrupt, temp::Temp, Peripherals}; |
| 14 | 9 | ||
| 10 | use defmt_rtt as _; // global logger | ||
| 11 | use panic_probe as _; | ||
| 12 | |||
| 15 | #[embassy::main] | 13 | #[embassy::main] |
| 16 | async fn main(_spawner: Spawner, p: Peripherals) { | 14 | async 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"] | 5 | use defmt::{info, unwrap}; |
| 6 | mod example_common; | ||
| 7 | use embassy_nrf::Peripherals; | ||
| 8 | use example_common::*; | ||
| 9 | |||
| 10 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 11 | use embassy::time::{Duration, Timer}; | 7 | use embassy::time::{Duration, Timer}; |
| 8 | use embassy_nrf::Peripherals; | ||
| 9 | |||
| 10 | use defmt_rtt as _; // global logger | ||
| 11 | use panic_probe as _; | ||
| 12 | 12 | ||
| 13 | #[embassy::task] | 13 | #[embassy::task] |
| 14 | async fn run1() { | 14 | async 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"] | ||
| 10 | mod example_common; | ||
| 11 | |||
| 12 | use defmt::*; | 9 | use defmt::*; |
| 13 | use embassy::executor::Spawner; | 10 | use embassy::executor::Spawner; |
| 14 | use embassy_nrf::twim::{self, Twim}; | 11 | use embassy_nrf::twim::{self, Twim}; |
| 15 | use embassy_nrf::{interrupt, Peripherals}; | 12 | use embassy_nrf::{interrupt, Peripherals}; |
| 16 | 13 | ||
| 14 | use defmt_rtt as _; // global logger | ||
| 15 | use panic_probe as _; | ||
| 16 | |||
| 17 | const ADDRESS: u8 = 0x50; | 17 | const 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"] | ||
| 12 | mod example_common; | ||
| 13 | |||
| 14 | use core::mem; | 11 | use core::mem; |
| 15 | |||
| 16 | use defmt::*; | 12 | use defmt::*; |
| 17 | use embassy::executor::Spawner; | 13 | use embassy::executor::Spawner; |
| 18 | use embassy::time::{Duration, Timer}; | 14 | use embassy::time::{Duration, Timer}; |
| 19 | use embassy_nrf::twim::{self, Twim}; | 15 | use embassy_nrf::twim::{self, Twim}; |
| 20 | use embassy_nrf::{interrupt, Peripherals}; | 16 | use embassy_nrf::{interrupt, Peripherals}; |
| 21 | 17 | ||
| 18 | use defmt_rtt as _; // global logger | ||
| 19 | use panic_probe as _; | ||
| 20 | |||
| 22 | const ADDRESS: u8 = 0x50; | 21 | const 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"] | 5 | use defmt::*; |
| 6 | mod example_common; | ||
| 7 | use example_common::*; | ||
| 8 | |||
| 9 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 10 | use embassy_nrf::{interrupt, uarte, Peripherals}; | 7 | use embassy_nrf::{interrupt, uarte, Peripherals}; |
| 11 | 8 | ||
| 9 | use defmt_rtt as _; // global logger | ||
| 10 | use panic_probe as _; | ||
| 11 | |||
| 12 | #[embassy::main] | 12 | #[embassy::main] |
| 13 | async fn main(_spawner: Spawner, p: Peripherals) { | 13 | async 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"] | 5 | use defmt::*; |
| 6 | mod example_common; | ||
| 7 | use example_common::*; | ||
| 8 | |||
| 9 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 10 | use embassy_nrf::{interrupt, uarte, Peripherals}; | 7 | use embassy_nrf::{interrupt, uarte, Peripherals}; |
| 11 | 8 | ||
| 9 | use defmt_rtt as _; // global logger | ||
| 10 | use panic_probe as _; | ||
| 11 | |||
| 12 | #[embassy::main] | 12 | #[embassy::main] |
| 13 | async fn main(_spawner: Spawner, p: Peripherals) { | 13 | async 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"] | 5 | use defmt::*; |
| 6 | mod example_common; | ||
| 7 | use example_common::*; | ||
| 8 | |||
| 9 | use embassy::blocking_mutex::raw::NoopRawMutex; | 6 | use embassy::blocking_mutex::raw::NoopRawMutex; |
| 10 | use embassy::channel::mpsc::{self, Channel, Sender}; | 7 | use embassy::channel::mpsc::{self, Channel, Sender}; |
| 11 | use embassy::executor::Spawner; | 8 | use embassy::executor::Spawner; |
| @@ -14,6 +11,9 @@ use embassy_nrf::peripherals::UARTE0; | |||
| 14 | use embassy_nrf::uarte::UarteRx; | 11 | use embassy_nrf::uarte::UarteRx; |
| 15 | use embassy_nrf::{interrupt, uarte, Peripherals}; | 12 | use embassy_nrf::{interrupt, uarte, Peripherals}; |
| 16 | 13 | ||
| 14 | use defmt_rtt as _; // global logger | ||
| 15 | use panic_probe as _; | ||
| 16 | |||
| 17 | static CHANNEL: Forever<Channel<NoopRawMutex, [u8; 8], 1>> = Forever::new(); | 17 | static 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"] | ||
| 6 | mod example_common; | ||
| 7 | |||
| 8 | use defmt::{info, unwrap}; | 5 | use defmt::{info, unwrap}; |
| 9 | use defmt_rtt as _; // global logger | ||
| 10 | use embassy::interrupt::InterruptExt; | ||
| 11 | use futures::pin_mut; | ||
| 12 | use panic_probe as _; // print out panic messages | ||
| 13 | |||
| 14 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 7 | use embassy::interrupt::InterruptExt; | ||
| 15 | use embassy::io::{AsyncBufReadExt, AsyncWriteExt}; | 8 | use embassy::io::{AsyncBufReadExt, AsyncWriteExt}; |
| 16 | use embassy_nrf::usb::{State, Usb, UsbBus, UsbSerial}; | 9 | use embassy_nrf::usb::{State, Usb, UsbBus, UsbSerial}; |
| 17 | use embassy_nrf::{interrupt, Peripherals}; | 10 | use embassy_nrf::{interrupt, Peripherals}; |
| 11 | use futures::pin_mut; | ||
| 18 | use usb_device::device::{UsbDeviceBuilder, UsbVidPid}; | 12 | use usb_device::device::{UsbDeviceBuilder, UsbVidPid}; |
| 19 | 13 | ||
| 14 | use defmt_rtt as _; // global logger | ||
| 15 | use panic_probe as _; // print out panic messages | ||
| 16 | |||
| 20 | #[embassy::main] | 17 | #[embassy::main] |
| 21 | async fn main(_spawner: Spawner, p: Peripherals) { | 18 | async 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"] | ||
| 6 | mod example_common; | ||
| 7 | |||
| 8 | use defmt::{info, unwrap}; | 5 | use defmt::{info, unwrap}; |
| 9 | use defmt_rtt as _; // global logger | ||
| 10 | use panic_probe as _; // print out panic messages | ||
| 11 | |||
| 12 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 13 | use embassy::interrupt::InterruptExt; | 7 | use embassy::interrupt::InterruptExt; |
| 14 | use embassy::io::{read_line, AsyncWriteExt}; | 8 | use embassy::io::{read_line, AsyncWriteExt}; |
| @@ -17,6 +11,9 @@ use embassy_nrf::{interrupt, Peripherals}; | |||
| 17 | use futures::pin_mut; | 11 | use futures::pin_mut; |
| 18 | use usb_device::device::{UsbDeviceBuilder, UsbVidPid}; | 12 | use usb_device::device::{UsbDeviceBuilder, UsbVidPid}; |
| 19 | 13 | ||
| 14 | use defmt_rtt as _; // global logger | ||
| 15 | use panic_probe as _; // print out panic messages | ||
| 16 | |||
| 20 | #[embassy::main] | 17 | #[embassy::main] |
| 21 | async fn main(_spawner: Spawner, p: Peripherals) { | 18 | async 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"] | ||
| 6 | mod example_common; | ||
| 7 | |||
| 8 | use defmt::*; | 5 | use defmt::*; |
| 9 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 10 | use embassy_nrf::gpio::{Input, Pull}; | 7 | use embassy_nrf::gpio::{Input, Pull}; |
| 11 | use embassy_nrf::wdt::{Config, Watchdog}; | 8 | use embassy_nrf::wdt::{Config, Watchdog}; |
| 12 | use embassy_nrf::Peripherals; | 9 | use embassy_nrf::Peripherals; |
| 13 | 10 | ||
| 11 | use defmt_rtt as _; // global logger | ||
| 12 | use panic_probe as _; | ||
| 13 | |||
| 14 | #[embassy::main] | 14 | #[embassy::main] |
| 15 | async fn main(_spawner: Spawner, p: Peripherals) { | 15 | async 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 | |||
| 3 | use defmt_rtt as _; // global logger | ||
| 4 | use panic_probe as _; | ||
| 5 | |||
| 6 | pub use defmt::*; | ||
| 7 | |||
| 8 | use core::sync::atomic::{AtomicUsize, Ordering}; | ||
| 9 | |||
| 10 | defmt::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 | } | ||
diff --git a/examples/rp/Cargo.toml b/examples/rp/Cargo.toml index 830e54174..2cce0af37 100644 --- a/examples/rp/Cargo.toml +++ b/examples/rp/Cargo.toml | |||
| @@ -6,7 +6,7 @@ version = "0.1.0" | |||
| 6 | 6 | ||
| 7 | 7 | ||
| 8 | [dependencies] | 8 | [dependencies] |
| 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt", "defmt-timestamp-uptime"] } |
| 10 | embassy-rp = { version = "0.1.0", path = "../../embassy-rp", features = ["defmt", "unstable-traits", "nightly", "unstable-pac"] } | 10 | embassy-rp = { version = "0.1.0", path = "../../embassy-rp", features = ["defmt", "unstable-traits", "nightly", "unstable-pac"] } |
| 11 | atomic-polyfill = "0.1.5" | 11 | atomic-polyfill = "0.1.5" |
| 12 | 12 | ||
diff --git a/examples/rp/src/bin/blinky.rs b/examples/rp/src/bin/blinky.rs index 96e45f697..6f199d07e 100644 --- a/examples/rp/src/bin/blinky.rs +++ b/examples/rp/src/bin/blinky.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"] | ||
| 6 | mod example_common; | ||
| 7 | |||
| 8 | use defmt::*; | 5 | use defmt::*; |
| 9 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 10 | use embassy::time::{Duration, Timer}; | 7 | use embassy::time::{Duration, Timer}; |
| 11 | use embassy_rp::{gpio, Peripherals}; | 8 | use embassy_rp::{gpio, Peripherals}; |
| 12 | use gpio::{Level, Output}; | 9 | use gpio::{Level, Output}; |
| 13 | 10 | ||
| 11 | use defmt_rtt as _; // global logger | ||
| 12 | use panic_probe as _; | ||
| 13 | |||
| 14 | #[embassy::main] | 14 | #[embassy::main] |
| 15 | async fn main(_spawner: Spawner, p: Peripherals) { | 15 | async fn main(_spawner: Spawner, p: Peripherals) { |
| 16 | let mut led = Output::new(p.PIN_25, Level::Low); | 16 | let mut led = Output::new(p.PIN_25, Level::Low); |
diff --git a/examples/rp/src/bin/button.rs b/examples/rp/src/bin/button.rs index 6492367e5..2418ad012 100644 --- a/examples/rp/src/bin/button.rs +++ b/examples/rp/src/bin/button.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"] | ||
| 6 | mod example_common; | ||
| 7 | |||
| 8 | use embassy::executor::Spawner; | 5 | use embassy::executor::Spawner; |
| 9 | use embassy_rp::gpio::{Input, Level, Output, Pull}; | 6 | use embassy_rp::gpio::{Input, Level, Output, Pull}; |
| 10 | use embassy_rp::Peripherals; | 7 | use embassy_rp::Peripherals; |
| 11 | 8 | ||
| 9 | use defmt_rtt as _; // global logger | ||
| 10 | use panic_probe as _; | ||
| 11 | |||
| 12 | #[embassy::main] | 12 | #[embassy::main] |
| 13 | async fn main(_spawner: Spawner, p: Peripherals) { | 13 | async fn main(_spawner: Spawner, p: Peripherals) { |
| 14 | let button = Input::new(p.PIN_28, Pull::Up); | 14 | let button = Input::new(p.PIN_28, Pull::Up); |
diff --git a/examples/rp/src/bin/spi.rs b/examples/rp/src/bin/spi.rs index 3348dc999..b38424363 100644 --- a/examples/rp/src/bin/spi.rs +++ b/examples/rp/src/bin/spi.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"] | ||
| 6 | mod example_common; | ||
| 7 | |||
| 8 | use defmt::*; | 5 | use defmt::*; |
| 9 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 10 | use embassy_rp::spi; | 7 | use embassy_rp::spi; |
| @@ -12,6 +9,9 @@ use embassy_rp::spi::Spi; | |||
| 12 | use embassy_rp::{gpio, Peripherals}; | 9 | use embassy_rp::{gpio, Peripherals}; |
| 13 | use gpio::{Level, Output}; | 10 | use gpio::{Level, Output}; |
| 14 | 11 | ||
| 12 | use defmt_rtt as _; // global logger | ||
| 13 | use panic_probe as _; | ||
| 14 | |||
| 15 | #[embassy::main] | 15 | #[embassy::main] |
| 16 | async fn main(_spawner: Spawner, p: Peripherals) { | 16 | async fn main(_spawner: Spawner, p: Peripherals) { |
| 17 | info!("Hello World!"); | 17 | info!("Hello World!"); |
diff --git a/examples/rp/src/bin/spi_display.rs b/examples/rp/src/bin/spi_display.rs index b2854afcb..bc93e0617 100644 --- a/examples/rp/src/bin/spi_display.rs +++ b/examples/rp/src/bin/spi_display.rs | |||
| @@ -2,11 +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"] | ||
| 6 | mod example_common; | ||
| 7 | |||
| 8 | use core::cell::RefCell; | 5 | use core::cell::RefCell; |
| 9 | |||
| 10 | use defmt::*; | 6 | use defmt::*; |
| 11 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 12 | use embassy::time::Delay; | 8 | use embassy::time::Delay; |
| @@ -27,6 +23,9 @@ use crate::my_display_interface::SPIDeviceInterface; | |||
| 27 | use crate::shared_spi::SpiDeviceWithCs; | 23 | use crate::shared_spi::SpiDeviceWithCs; |
| 28 | use crate::touch::Touch; | 24 | use crate::touch::Touch; |
| 29 | 25 | ||
| 26 | use defmt_rtt as _; // global logger | ||
| 27 | use panic_probe as _; | ||
| 28 | |||
| 30 | //const DISPLAY_FREQ: u32 = 64_000_000; | 29 | //const DISPLAY_FREQ: u32 = 64_000_000; |
| 31 | const TOUCH_FREQ: u32 = 200_000; | 30 | const TOUCH_FREQ: u32 = 200_000; |
| 32 | 31 | ||
diff --git a/examples/rp/src/bin/uart.rs b/examples/rp/src/bin/uart.rs index 8354f9f82..bc941dd8b 100644 --- a/examples/rp/src/bin/uart.rs +++ b/examples/rp/src/bin/uart.rs | |||
| @@ -2,12 +2,12 @@ | |||
| 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"] | ||
| 6 | mod example_common; | ||
| 7 | |||
| 8 | use embassy::executor::Spawner; | 5 | use embassy::executor::Spawner; |
| 9 | use embassy_rp::{uart, Peripherals}; | 6 | use embassy_rp::{uart, Peripherals}; |
| 10 | 7 | ||
| 8 | use defmt_rtt as _; // global logger | ||
| 9 | use panic_probe as _; | ||
| 10 | |||
| 11 | #[embassy::main] | 11 | #[embassy::main] |
| 12 | async fn main(_spawner: Spawner, p: Peripherals) { | 12 | async fn main(_spawner: Spawner, p: Peripherals) { |
| 13 | let config = uart::Config::default(); | 13 | let config = uart::Config::default(); |
diff --git a/examples/rp/src/example_common.rs b/examples/rp/src/example_common.rs deleted file mode 100644 index f7c4ef57a..000000000 --- a/examples/rp/src/example_common.rs +++ /dev/null | |||
| @@ -1,12 +0,0 @@ | |||
| 1 | use core::sync::atomic::{AtomicUsize, Ordering}; | ||
| 2 | use defmt_rtt as _; | ||
| 3 | use panic_probe as _; | ||
| 4 | |||
| 5 | defmt::timestamp! {"{=u64}", { | ||
| 6 | static COUNT: AtomicUsize = AtomicUsize::new(0); | ||
| 7 | // NOTE(no-CAS) `timestamps` runs with interrupts disabled | ||
| 8 | let n = COUNT.load(Ordering::Relaxed); | ||
| 9 | COUNT.store(n + 1, Ordering::Relaxed); | ||
| 10 | n as u64 | ||
| 11 | } | ||
| 12 | } | ||
diff --git a/examples/stm32f0/Cargo.toml b/examples/stm32f0/Cargo.toml index 0f76dabf0..c973c1f7c 100644 --- a/examples/stm32f0/Cargo.toml +++ b/examples/stm32f0/Cargo.toml | |||
| @@ -13,6 +13,6 @@ cortex-m-rt = "0.7.0" | |||
| 13 | defmt = "0.3" | 13 | defmt = "0.3" |
| 14 | defmt-rtt = "0.3" | 14 | defmt-rtt = "0.3" |
| 15 | panic-probe = "0.3" | 15 | panic-probe = "0.3" |
| 16 | embassy = { path = "../../embassy", features = ["defmt"] } | 16 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt", "defmt-timestamp-uptime"] } |
| 17 | embassy-stm32 = { path = "../../embassy-stm32", features = ["nightly", "defmt", "memory-x", "stm32f030f4", "time-driver-any"] } | 17 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "memory-x", "stm32f030f4", "time-driver-any"] } |
| 18 | 18 | ||
diff --git a/examples/stm32f0/src/bin/hello.rs b/examples/stm32f0/src/bin/hello.rs index 9f745f9ae..975e94f34 100644 --- a/examples/stm32f0/src/bin/hello.rs +++ b/examples/stm32f0/src/bin/hello.rs | |||
| @@ -3,13 +3,12 @@ | |||
| 3 | #![feature(type_alias_impl_trait)] | 3 | #![feature(type_alias_impl_trait)] |
| 4 | 4 | ||
| 5 | use defmt::info; | 5 | use defmt::info; |
| 6 | |||
| 7 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 8 | use embassy::time::{Duration, Timer}; | 7 | use embassy::time::{Duration, Timer}; |
| 9 | use embassy_stm32::Peripherals; | 8 | use embassy_stm32::Peripherals; |
| 10 | 9 | ||
| 11 | #[path = "../example_common.rs"] | 10 | use defmt_rtt as _; // global logger |
| 12 | mod example_common; | 11 | use panic_probe as _; |
| 13 | 12 | ||
| 14 | #[embassy::main] | 13 | #[embassy::main] |
| 15 | async fn main(_spawner: Spawner, _p: Peripherals) -> ! { | 14 | async fn main(_spawner: Spawner, _p: Peripherals) -> ! { |
diff --git a/examples/stm32f0/src/example_common.rs b/examples/stm32f0/src/example_common.rs deleted file mode 100644 index 54d633837..000000000 --- a/examples/stm32f0/src/example_common.rs +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | #![macro_use] | ||
| 2 | |||
| 3 | use defmt_rtt as _; // global logger | ||
| 4 | use panic_probe as _; | ||
| 5 | |||
| 6 | pub use defmt::*; | ||
| 7 | |||
| 8 | use core::sync::atomic::{AtomicUsize, Ordering}; | ||
| 9 | |||
| 10 | defmt::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 | } | ||
diff --git a/examples/stm32f1/Cargo.toml b/examples/stm32f1/Cargo.toml index 79be4b51c..5e5faf1f6 100644 --- a/examples/stm32f1/Cargo.toml +++ b/examples/stm32f1/Cargo.toml | |||
| @@ -6,7 +6,7 @@ version = "0.1.0" | |||
| 6 | resolver = "2" | 6 | resolver = "2" |
| 7 | 7 | ||
| 8 | [dependencies] | 8 | [dependencies] |
| 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt", "defmt-timestamp-uptime"] } |
| 10 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32f103c8", "unstable-pac", "memory-x", "time-driver-any"] } | 10 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32f103c8", "unstable-pac", "memory-x", "time-driver-any"] } |
| 11 | 11 | ||
| 12 | defmt = "0.3" | 12 | defmt = "0.3" |
diff --git a/examples/stm32f1/src/bin/adc.rs b/examples/stm32f1/src/bin/adc.rs index d24f3f5cb..af403423d 100644 --- a/examples/stm32f1/src/bin/adc.rs +++ b/examples/stm32f1/src/bin/adc.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | ||
| 7 | |||
| 8 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 9 | use embassy::time::{Delay, Duration, Timer}; | 7 | use embassy::time::{Delay, Duration, Timer}; |
| 10 | use embassy_stm32::adc::Adc; | 8 | use embassy_stm32::adc::Adc; |
| 11 | use embassy_stm32::Peripherals; | 9 | use embassy_stm32::Peripherals; |
| 12 | use example_common::*; | 10 | |
| 11 | use defmt_rtt as _; // global logger | ||
| 12 | use panic_probe as _; | ||
| 13 | 13 | ||
| 14 | #[embassy::main] | 14 | #[embassy::main] |
| 15 | async fn main(_spawner: Spawner, p: Peripherals) { | 15 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32f1/src/bin/blinky.rs b/examples/stm32f1/src/bin/blinky.rs index 0d9537453..657bcdd1d 100644 --- a/examples/stm32f1/src/bin/blinky.rs +++ b/examples/stm32f1/src/bin/blinky.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | ||
| 7 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 8 | use embassy::time::{Duration, Timer}; | 7 | use embassy::time::{Duration, Timer}; |
| 9 | use embassy_stm32::gpio::{Level, Output, Speed}; | 8 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 10 | use embassy_stm32::Peripherals; | 9 | use embassy_stm32::Peripherals; |
| 11 | use example_common::*; | 10 | |
| 11 | use defmt_rtt as _; // global logger | ||
| 12 | use panic_probe as _; | ||
| 12 | 13 | ||
| 13 | #[embassy::main] | 14 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 15 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32f1/src/bin/hello.rs b/examples/stm32f1/src/bin/hello.rs index efcb9a244..8054a8993 100644 --- a/examples/stm32f1/src/bin/hello.rs +++ b/examples/stm32f1/src/bin/hello.rs | |||
| @@ -9,8 +9,8 @@ use embassy_stm32::time::Hertz; | |||
| 9 | use embassy_stm32::Config; | 9 | use embassy_stm32::Config; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | 11 | ||
| 12 | #[path = "../example_common.rs"] | 12 | use defmt_rtt as _; // global logger |
| 13 | mod example_common; | 13 | use panic_probe as _; |
| 14 | 14 | ||
| 15 | fn config() -> Config { | 15 | fn config() -> Config { |
| 16 | let mut config = Config::default(); | 16 | let mut config = Config::default(); |
diff --git a/examples/stm32f1/src/example_common.rs b/examples/stm32f1/src/example_common.rs deleted file mode 100644 index 54d633837..000000000 --- a/examples/stm32f1/src/example_common.rs +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | #![macro_use] | ||
| 2 | |||
| 3 | use defmt_rtt as _; // global logger | ||
| 4 | use panic_probe as _; | ||
| 5 | |||
| 6 | pub use defmt::*; | ||
| 7 | |||
| 8 | use core::sync::atomic::{AtomicUsize, Ordering}; | ||
| 9 | |||
| 10 | defmt::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 | } | ||
diff --git a/examples/stm32f2/Cargo.toml b/examples/stm32f2/Cargo.toml index ee1d7ce2b..4eef3a6fe 100644 --- a/examples/stm32f2/Cargo.toml +++ b/examples/stm32f2/Cargo.toml | |||
| @@ -6,7 +6,7 @@ version = "0.1.0" | |||
| 6 | resolver = "2" | 6 | resolver = "2" |
| 7 | 7 | ||
| 8 | [dependencies] | 8 | [dependencies] |
| 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt", "defmt-timestamp-uptime"] } |
| 10 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32f207zg", "unstable-pac", "memory-x", "time-driver-any", "exti"] } | 10 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32f207zg", "unstable-pac", "memory-x", "time-driver-any", "exti"] } |
| 11 | 11 | ||
| 12 | defmt = "0.3" | 12 | defmt = "0.3" |
diff --git a/examples/stm32f2/src/bin/blinky.rs b/examples/stm32f2/src/bin/blinky.rs index 637c2f4fd..395f4df51 100644 --- a/examples/stm32f2/src/bin/blinky.rs +++ b/examples/stm32f2/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"] | 5 | use defmt::*; |
| 6 | mod example_common; | ||
| 7 | |||
| 8 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 9 | use embassy::time::{Duration, Timer}; | 7 | use embassy::time::{Duration, Timer}; |
| 10 | use embassy_stm32::gpio::{Level, Output, Speed}; | 8 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 11 | use embassy_stm32::Peripherals; | 9 | use embassy_stm32::Peripherals; |
| 12 | use example_common::*; | 10 | |
| 11 | use defmt_rtt as _; // global logger | ||
| 12 | use panic_probe as _; | ||
| 13 | 13 | ||
| 14 | #[embassy::main] | 14 | #[embassy::main] |
| 15 | async fn main(_spawner: Spawner, p: Peripherals) { | 15 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32f2/src/example_common.rs b/examples/stm32f2/src/example_common.rs deleted file mode 100644 index e14517033..000000000 --- a/examples/stm32f2/src/example_common.rs +++ /dev/null | |||
| @@ -1,19 +0,0 @@ | |||
| 1 | #![macro_use] | ||
| 2 | |||
| 3 | use defmt_rtt as _; // global logger | ||
| 4 | use panic_probe as _; | ||
| 5 | |||
| 6 | pub use defmt::*; | ||
| 7 | |||
| 8 | use core::sync::atomic::{AtomicUsize, Ordering}; | ||
| 9 | |||
| 10 | defmt::timestamp! { | ||
| 11 | "{=u64}", | ||
| 12 | { | ||
| 13 | static COUNT: AtomicUsize = AtomicUsize::new(0); | ||
| 14 | // NOTE(no-CAS) `timestamps` runs with interrupts disabled | ||
| 15 | let n = COUNT.load(Ordering::Relaxed); | ||
| 16 | COUNT.store(n + 1, Ordering::Relaxed); | ||
| 17 | n as u64 | ||
| 18 | } | ||
| 19 | } | ||
diff --git a/examples/stm32f3/Cargo.toml b/examples/stm32f3/Cargo.toml index 3ce2bc8a2..37f99fea2 100644 --- a/examples/stm32f3/Cargo.toml +++ b/examples/stm32f3/Cargo.toml | |||
| @@ -6,7 +6,7 @@ version = "0.1.0" | |||
| 6 | resolver = "2" | 6 | resolver = "2" |
| 7 | 7 | ||
| 8 | [dependencies] | 8 | [dependencies] |
| 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt", "defmt-timestamp-uptime"] } |
| 10 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32f303vc", "unstable-pac", "memory-x", "time-driver-any", "exti"] } | 10 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32f303vc", "unstable-pac", "memory-x", "time-driver-any", "exti"] } |
| 11 | 11 | ||
| 12 | defmt = "0.3" | 12 | defmt = "0.3" |
diff --git a/examples/stm32f3/src/bin/blinky.rs b/examples/stm32f3/src/bin/blinky.rs index e8b8dc23f..b3643a26f 100644 --- a/examples/stm32f3/src/bin/blinky.rs +++ b/examples/stm32f3/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"] | 5 | use defmt::*; |
| 6 | mod example_common; | ||
| 7 | |||
| 8 | use embassy::executor::Spawner; | 6 | use embassy::executor::Spawner; |
| 9 | use embassy::time::{Duration, Timer}; | 7 | use embassy::time::{Duration, Timer}; |
| 10 | use embassy_stm32::gpio::{Level, Output, Speed}; | 8 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 11 | use embassy_stm32::Peripherals; | 9 | use embassy_stm32::Peripherals; |
| 12 | use example_common::*; | 10 | |
| 11 | use defmt_rtt as _; // global logger | ||
| 12 | use panic_probe as _; | ||
| 13 | 13 | ||
| 14 | #[embassy::main] | 14 | #[embassy::main] |
| 15 | async fn main(_spawner: Spawner, p: Peripherals) { | 15 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32f3/src/bin/button.rs b/examples/stm32f3/src/bin/button.rs index 131d4af42..207381bdd 100644 --- a/examples/stm32f3/src/bin/button.rs +++ b/examples/stm32f3/src/bin/button.rs | |||
| @@ -2,11 +2,11 @@ | |||
| 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"] | ||
| 6 | mod example_common; | ||
| 7 | use cortex_m_rt::entry; | 5 | use cortex_m_rt::entry; |
| 6 | use defmt::*; | ||
| 7 | use defmt_rtt as _; // global logger | ||
| 8 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; | 8 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; |
| 9 | use example_common::*; | 9 | use panic_probe as _; |
| 10 | 10 | ||
| 11 | #[entry] | 11 | #[entry] |
| 12 | fn main() -> ! { | 12 | fn main() -> ! { |
diff --git a/examples/stm32f3/src/bin/button_events.rs b/examples/stm32f3/src/bin/button_events.rs index 0bd7b342f..99aab3027 100644 --- a/examples/stm32f3/src/bin/button_events.rs +++ b/examples/stm32f3/src/bin/button_events.rs | |||
| @@ -10,8 +10,7 @@ | |||
| 10 | #![no_main] | 10 | #![no_main] |
| 11 | #![feature(type_alias_impl_trait)] | 11 | #![feature(type_alias_impl_trait)] |
| 12 | 12 | ||
| 13 | #[path = "../example_common.rs"] | 13 | use defmt::*; |
| 14 | mod example_common; | ||
| 15 | use embassy::blocking_mutex::raw::NoopRawMutex; | 14 | use embassy::blocking_mutex::raw::NoopRawMutex; |
| 16 | use embassy::channel::mpsc::{self, Channel, Receiver, Sender}; | 15 | use embassy::channel::mpsc::{self, Channel, Receiver, Sender}; |
| 17 | use embassy::executor::Spawner; | 16 | use embassy::executor::Spawner; |
| @@ -21,7 +20,9 @@ use embassy_stm32::exti::ExtiInput; | |||
| 21 | use embassy_stm32::gpio::{AnyPin, Input, Level, Output, Pin, Pull, Speed}; | 20 | use embassy_stm32::gpio::{AnyPin, Input, Level, Output, Pin, Pull, Speed}; |
| 22 | use embassy_stm32::peripherals::PA0; | 21 | use embassy_stm32::peripherals::PA0; |
| 23 | use embassy_stm32::Peripherals; | 22 | use embassy_stm32::Peripherals; |
| 24 | use example_common::*; | 23 | |
| 24 | use defmt_rtt as _; // global logger | ||
| 25 | use panic_probe as _; | ||
| 25 | 26 | ||
| 26 | struct Leds<'a> { | 27 | struct Leds<'a> { |
| 27 | leds: [Output<'a, AnyPin>; 8], | 28 | leds: [Output<'a, AnyPin>; 8], |
diff --git a/examples/stm32f3/src/bin/button_exti.rs b/examples/stm32f3/src/bin/button_exti.rs index b11f38ea5..68d166367 100644 --- a/examples/stm32f3/src/bin/button_exti.rs +++ b/examples/stm32f3/src/bin/button_exti.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy_stm32::exti::ExtiInput; | 8 | use embassy_stm32::exti::ExtiInput; |
| 9 | use embassy_stm32::gpio::{Input, Pull}; | 9 | use embassy_stm32::gpio::{Input, Pull}; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | use example_common::*; | 11 | use panic_probe as _; |
| 12 | 12 | ||
| 13 | #[embassy::main] | 13 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 14 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32f3/src/bin/hello.rs b/examples/stm32f3/src/bin/hello.rs index 9a67419fb..a79d6838c 100644 --- a/examples/stm32f3/src/bin/hello.rs +++ b/examples/stm32f3/src/bin/hello.rs | |||
| @@ -9,8 +9,8 @@ use embassy_stm32::time::Hertz; | |||
| 9 | use embassy_stm32::Config; | 9 | use embassy_stm32::Config; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | 11 | ||
| 12 | #[path = "../example_common.rs"] | 12 | use defmt_rtt as _; // global logger |
| 13 | mod example_common; | 13 | use panic_probe as _; |
| 14 | 14 | ||
| 15 | fn config() -> Config { | 15 | fn config() -> Config { |
| 16 | let mut config = Config::default(); | 16 | let mut config = Config::default(); |
diff --git a/examples/stm32f3/src/bin/multiprio.rs b/examples/stm32f3/src/bin/multiprio.rs index 9d9754833..1c9401549 100644 --- a/examples/stm32f3/src/bin/multiprio.rs +++ b/examples/stm32f3/src/bin/multiprio.rs | |||
| @@ -57,9 +57,9 @@ | |||
| 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"] | 60 | use defmt::*; |
| 61 | mod example_common; | 61 | use defmt_rtt as _; // global logger |
| 62 | use example_common::*; | 62 | use panic_probe as _; |
| 63 | 63 | ||
| 64 | use cortex_m_rt::entry; | 64 | use cortex_m_rt::entry; |
| 65 | use embassy::executor::{Executor, InterruptExecutor}; | 65 | use embassy::executor::{Executor, InterruptExecutor}; |
diff --git a/examples/stm32f3/src/bin/spi_dma.rs b/examples/stm32f3/src/bin/spi_dma.rs index bd66b1202..6d80c4087 100644 --- a/examples/stm32f3/src/bin/spi_dma.rs +++ b/examples/stm32f3/src/bin/spi_dma.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"] | ||
| 6 | mod example_common; | ||
| 7 | use core::fmt::Write; | 5 | use core::fmt::Write; |
| 8 | use core::str::from_utf8; | 6 | use core::str::from_utf8; |
| 7 | use defmt::*; | ||
| 8 | use defmt_rtt as _; // global logger | ||
| 9 | use embassy::executor::Spawner; | 9 | use embassy::executor::Spawner; |
| 10 | use embassy_stm32::spi::{Config, Spi}; | 10 | use embassy_stm32::spi::{Config, Spi}; |
| 11 | use embassy_stm32::time::Hertz; | 11 | use embassy_stm32::time::Hertz; |
| 12 | use embassy_stm32::Peripherals; | 12 | use embassy_stm32::Peripherals; |
| 13 | use example_common::*; | ||
| 14 | use heapless::String; | 13 | use heapless::String; |
| 14 | use panic_probe as _; | ||
| 15 | 15 | ||
| 16 | #[embassy::main] | 16 | #[embassy::main] |
| 17 | async fn main(_spawner: Spawner, p: Peripherals) { | 17 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32f3/src/bin/usart_dma.rs b/examples/stm32f3/src/bin/usart_dma.rs index 0e67bb1f1..859749eb7 100644 --- a/examples/stm32f3/src/bin/usart_dma.rs +++ b/examples/stm32f3/src/bin/usart_dma.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"] | ||
| 6 | mod example_common; | ||
| 7 | use core::fmt::Write; | 5 | use core::fmt::Write; |
| 6 | use defmt::*; | ||
| 7 | use defmt_rtt as _; // global logger | ||
| 8 | use embassy::executor::Spawner; | 8 | use embassy::executor::Spawner; |
| 9 | use embassy_stm32::dma::NoDma; | 9 | use embassy_stm32::dma::NoDma; |
| 10 | use embassy_stm32::usart::{Config, Uart}; | 10 | use embassy_stm32::usart::{Config, Uart}; |
| 11 | use embassy_stm32::Peripherals; | 11 | use embassy_stm32::Peripherals; |
| 12 | use example_common::*; | ||
| 13 | use heapless::String; | 12 | use heapless::String; |
| 13 | use panic_probe as _; | ||
| 14 | 14 | ||
| 15 | #[embassy::main] | 15 | #[embassy::main] |
| 16 | async fn main(_spawner: Spawner, p: Peripherals) { | 16 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32f3/src/example_common.rs b/examples/stm32f3/src/example_common.rs deleted file mode 100644 index e14517033..000000000 --- a/examples/stm32f3/src/example_common.rs +++ /dev/null | |||
| @@ -1,19 +0,0 @@ | |||
| 1 | #![macro_use] | ||
| 2 | |||
| 3 | use defmt_rtt as _; // global logger | ||
| 4 | use panic_probe as _; | ||
| 5 | |||
| 6 | pub use defmt::*; | ||
| 7 | |||
| 8 | use core::sync::atomic::{AtomicUsize, Ordering}; | ||
| 9 | |||
| 10 | defmt::timestamp! { | ||
| 11 | "{=u64}", | ||
| 12 | { | ||
| 13 | static COUNT: AtomicUsize = AtomicUsize::new(0); | ||
| 14 | // NOTE(no-CAS) `timestamps` runs with interrupts disabled | ||
| 15 | let n = COUNT.load(Ordering::Relaxed); | ||
| 16 | COUNT.store(n + 1, Ordering::Relaxed); | ||
| 17 | n as u64 | ||
| 18 | } | ||
| 19 | } | ||
diff --git a/examples/stm32f4/Cargo.toml b/examples/stm32f4/Cargo.toml index c53f04e1c..1bc406495 100644 --- a/examples/stm32f4/Cargo.toml +++ b/examples/stm32f4/Cargo.toml | |||
| @@ -7,7 +7,7 @@ resolver = "2" | |||
| 7 | 7 | ||
| 8 | 8 | ||
| 9 | [dependencies] | 9 | [dependencies] |
| 10 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt", "unstable-traits"] } | 10 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt", "defmt-timestamp-uptime", "unstable-traits"] } |
| 11 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "unstable-traits", "defmt", "stm32f429zi", "unstable-pac", "memory-x", "time-driver-any", "exti", "usb-otg"] } | 11 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "unstable-traits", "defmt", "stm32f429zi", "unstable-pac", "memory-x", "time-driver-any", "exti", "usb-otg"] } |
| 12 | 12 | ||
| 13 | defmt = "0.3" | 13 | defmt = "0.3" |
diff --git a/examples/stm32f4/src/bin/adc.rs b/examples/stm32f4/src/bin/adc.rs index 0a6ddbbca..f0b1ad232 100644 --- a/examples/stm32f4/src/bin/adc.rs +++ b/examples/stm32f4/src/bin/adc.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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::*; | ||
| 8 | use embassy::executor::Spawner; | 9 | use embassy::executor::Spawner; |
| 9 | use embassy::time::{Delay, Duration, Timer}; | 10 | use embassy::time::{Delay, Duration, Timer}; |
| 10 | use embassy_stm32::adc::Adc; | 11 | use embassy_stm32::adc::Adc; |
| 11 | use embassy_stm32::Peripherals; | 12 | use embassy_stm32::Peripherals; |
| 12 | use example_common::*; | ||
| 13 | 13 | ||
| 14 | #[embassy::main] | 14 | #[embassy::main] |
| 15 | async fn main(_spawner: Spawner, p: Peripherals) { | 15 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32f4/src/bin/blinky.rs b/examples/stm32f4/src/bin/blinky.rs index 00d67dac0..8b85ca96d 100644 --- a/examples/stm32f4/src/bin/blinky.rs +++ b/examples/stm32f4/src/bin/blinky.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy::time::{Duration, Timer}; | 8 | use embassy::time::{Duration, Timer}; |
| 9 | use embassy_stm32::gpio::{Level, Output, Speed}; | 9 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | use example_common::*; | 11 | use panic_probe as _; |
| 12 | 12 | ||
| 13 | #[embassy::main] | 13 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 14 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32f4/src/bin/button.rs b/examples/stm32f4/src/bin/button.rs index 24eef75b2..4f9af7fbd 100644 --- a/examples/stm32f4/src/bin/button.rs +++ b/examples/stm32f4/src/bin/button.rs | |||
| @@ -2,11 +2,11 @@ | |||
| 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"] | ||
| 6 | mod example_common; | ||
| 7 | use cortex_m_rt::entry; | 5 | use cortex_m_rt::entry; |
| 6 | use defmt::*; | ||
| 7 | use defmt_rtt as _; // global logger | ||
| 8 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; | 8 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; |
| 9 | use example_common::*; | 9 | use panic_probe as _; |
| 10 | 10 | ||
| 11 | #[entry] | 11 | #[entry] |
| 12 | fn main() -> ! { | 12 | fn main() -> ! { |
diff --git a/examples/stm32f4/src/bin/button_exti.rs b/examples/stm32f4/src/bin/button_exti.rs index 852fbe3c6..78f2e6ee2 100644 --- a/examples/stm32f4/src/bin/button_exti.rs +++ b/examples/stm32f4/src/bin/button_exti.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy_stm32::exti::ExtiInput; | 8 | use embassy_stm32::exti::ExtiInput; |
| 9 | use embassy_stm32::gpio::{Input, Pull}; | 9 | use embassy_stm32::gpio::{Input, Pull}; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | use example_common::*; | 11 | use panic_probe as _; |
| 12 | 12 | ||
| 13 | #[embassy::main] | 13 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 14 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32f4/src/bin/can.rs b/examples/stm32f4/src/bin/can.rs index b36e41805..0f41d6860 100644 --- a/examples/stm32f4/src/bin/can.rs +++ b/examples/stm32f4/src/bin/can.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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use cortex_m_rt::entry; | 8 | use cortex_m_rt::entry; |
| 9 | use defmt::*; | ||
| 9 | use embassy_stm32::can::bxcan::filter::Mask32; | 10 | use embassy_stm32::can::bxcan::filter::Mask32; |
| 10 | use embassy_stm32::can::bxcan::{Frame, StandardId}; | 11 | use embassy_stm32::can::bxcan::{Frame, StandardId}; |
| 11 | use embassy_stm32::can::Can; | 12 | use embassy_stm32::can::Can; |
| 12 | use embassy_stm32::gpio::{Input, Pull}; | 13 | use embassy_stm32::gpio::{Input, Pull}; |
| 13 | use example_common::*; | ||
| 14 | 14 | ||
| 15 | #[entry] | 15 | #[entry] |
| 16 | fn main() -> ! { | 16 | fn main() -> ! { |
diff --git a/examples/stm32f4/src/bin/hello.rs b/examples/stm32f4/src/bin/hello.rs index 56eb67bf3..92d87cedf 100644 --- a/examples/stm32f4/src/bin/hello.rs +++ b/examples/stm32f4/src/bin/hello.rs | |||
| @@ -9,8 +9,8 @@ use embassy_stm32::time::Hertz; | |||
| 9 | use embassy_stm32::Config; | 9 | use embassy_stm32::Config; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | 11 | ||
| 12 | #[path = "../example_common.rs"] | 12 | use defmt_rtt as _; // global logger |
| 13 | mod example_common; | 13 | use panic_probe as _; |
| 14 | 14 | ||
| 15 | fn config() -> Config { | 15 | fn config() -> Config { |
| 16 | let mut config = Config::default(); | 16 | let mut config = Config::default(); |
diff --git a/examples/stm32f4/src/bin/multiprio.rs b/examples/stm32f4/src/bin/multiprio.rs index 9d9754833..1c9401549 100644 --- a/examples/stm32f4/src/bin/multiprio.rs +++ b/examples/stm32f4/src/bin/multiprio.rs | |||
| @@ -57,9 +57,9 @@ | |||
| 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"] | 60 | use defmt::*; |
| 61 | mod example_common; | 61 | use defmt_rtt as _; // global logger |
| 62 | use example_common::*; | 62 | use panic_probe as _; |
| 63 | 63 | ||
| 64 | use cortex_m_rt::entry; | 64 | use cortex_m_rt::entry; |
| 65 | use embassy::executor::{Executor, InterruptExecutor}; | 65 | use embassy::executor::{Executor, InterruptExecutor}; |
diff --git a/examples/stm32f4/src/bin/sdmmc.rs b/examples/stm32f4/src/bin/sdmmc.rs index 2ef367397..eab0fad4a 100644 --- a/examples/stm32f4/src/bin/sdmmc.rs +++ b/examples/stm32f4/src/bin/sdmmc.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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::*; | ||
| 8 | use embassy::executor::Spawner; | 9 | use embassy::executor::Spawner; |
| 9 | use embassy_stm32::sdmmc::Sdmmc; | 10 | use embassy_stm32::sdmmc::Sdmmc; |
| 10 | use embassy_stm32::time::U32Ext; | 11 | use embassy_stm32::time::U32Ext; |
| 11 | use embassy_stm32::{interrupt, Config, Peripherals}; | 12 | use embassy_stm32::{interrupt, Config, Peripherals}; |
| 12 | use example_common::*; | ||
| 13 | 13 | ||
| 14 | fn config() -> Config { | 14 | fn config() -> Config { |
| 15 | let mut config = Config::default(); | 15 | let mut config = Config::default(); |
diff --git a/examples/stm32f4/src/bin/spi.rs b/examples/stm32f4/src/bin/spi.rs index 6b04f1fed..69be81432 100644 --- a/examples/stm32f4/src/bin/spi.rs +++ b/examples/stm32f4/src/bin/spi.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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use cortex_m_rt::entry; | 8 | use cortex_m_rt::entry; |
| 9 | use defmt::*; | ||
| 9 | use embassy_stm32::dma::NoDma; | 10 | use embassy_stm32::dma::NoDma; |
| 10 | use embassy_stm32::gpio::{Level, Output, Speed}; | 11 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 11 | use embassy_stm32::spi::{Config, Spi}; | 12 | use embassy_stm32::spi::{Config, Spi}; |
| 12 | use embassy_stm32::time::Hertz; | 13 | use embassy_stm32::time::Hertz; |
| 13 | use example_common::*; | ||
| 14 | 14 | ||
| 15 | #[entry] | 15 | #[entry] |
| 16 | fn main() -> ! { | 16 | fn main() -> ! { |
diff --git a/examples/stm32f4/src/bin/spi_dma.rs b/examples/stm32f4/src/bin/spi_dma.rs index 9171f7516..1bf9b856d 100644 --- a/examples/stm32f4/src/bin/spi_dma.rs +++ b/examples/stm32f4/src/bin/spi_dma.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"] | ||
| 6 | mod example_common; | ||
| 7 | use core::fmt::Write; | 5 | use core::fmt::Write; |
| 8 | use core::str::from_utf8; | 6 | use core::str::from_utf8; |
| 7 | use defmt::*; | ||
| 8 | use defmt_rtt as _; // global logger | ||
| 9 | use embassy::executor::Spawner; | 9 | use embassy::executor::Spawner; |
| 10 | use embassy_stm32::spi::{Config, Spi}; | 10 | use embassy_stm32::spi::{Config, Spi}; |
| 11 | use embassy_stm32::time::Hertz; | 11 | use embassy_stm32::time::Hertz; |
| 12 | use embassy_stm32::Peripherals; | 12 | use embassy_stm32::Peripherals; |
| 13 | use example_common::*; | ||
| 14 | use heapless::String; | 13 | use heapless::String; |
| 14 | use panic_probe as _; | ||
| 15 | 15 | ||
| 16 | #[embassy::main] | 16 | #[embassy::main] |
| 17 | async fn main(_spawner: Spawner, p: Peripherals) { | 17 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32f4/src/bin/usart.rs b/examples/stm32f4/src/bin/usart.rs index b5ea98cca..a302667e2 100644 --- a/examples/stm32f4/src/bin/usart.rs +++ b/examples/stm32f4/src/bin/usart.rs | |||
| @@ -2,12 +2,12 @@ | |||
| 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"] | ||
| 6 | mod example_common; | ||
| 7 | use cortex_m_rt::entry; | 5 | use cortex_m_rt::entry; |
| 6 | use defmt::*; | ||
| 7 | use defmt_rtt as _; // global logger | ||
| 8 | use embassy_stm32::dma::NoDma; | 8 | use embassy_stm32::dma::NoDma; |
| 9 | use embassy_stm32::usart::{Config, Uart}; | 9 | use embassy_stm32::usart::{Config, Uart}; |
| 10 | use example_common::*; | 10 | use panic_probe as _; |
| 11 | 11 | ||
| 12 | #[entry] | 12 | #[entry] |
| 13 | fn main() -> ! { | 13 | fn main() -> ! { |
diff --git a/examples/stm32f4/src/bin/usart_dma.rs b/examples/stm32f4/src/bin/usart_dma.rs index 862a91ea8..cf45b71c5 100644 --- a/examples/stm32f4/src/bin/usart_dma.rs +++ b/examples/stm32f4/src/bin/usart_dma.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"] | ||
| 6 | mod example_common; | ||
| 7 | use core::fmt::Write; | 5 | use core::fmt::Write; |
| 6 | use defmt::*; | ||
| 7 | use defmt_rtt as _; // global logger | ||
| 8 | use embassy::executor::Spawner; | 8 | use embassy::executor::Spawner; |
| 9 | use embassy_stm32::dma::NoDma; | 9 | use embassy_stm32::dma::NoDma; |
| 10 | use embassy_stm32::usart::{Config, Uart}; | 10 | use embassy_stm32::usart::{Config, Uart}; |
| 11 | use embassy_stm32::Peripherals; | 11 | use embassy_stm32::Peripherals; |
| 12 | use example_common::*; | ||
| 13 | use heapless::String; | 12 | use heapless::String; |
| 13 | use panic_probe as _; | ||
| 14 | 14 | ||
| 15 | #[embassy::main] | 15 | #[embassy::main] |
| 16 | async fn main(_spawner: Spawner, p: Peripherals) { | 16 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32f4/src/bin/usb_uart.rs b/examples/stm32f4/src/bin/usb_uart.rs index 63059d51f..251ed1eb0 100644 --- a/examples/stm32f4/src/bin/usb_uart.rs +++ b/examples/stm32f4/src/bin/usb_uart.rs | |||
| @@ -2,8 +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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::{info, unwrap}; | 8 | use defmt::{info, unwrap}; |
| 9 | use defmt_rtt as _; // global logger | 9 | use defmt_rtt as _; // global logger |
diff --git a/examples/stm32f4/src/bin/usb_uart_ulpi.rs b/examples/stm32f4/src/bin/usb_uart_ulpi.rs index a55502728..f6c373602 100644 --- a/examples/stm32f4/src/bin/usb_uart_ulpi.rs +++ b/examples/stm32f4/src/bin/usb_uart_ulpi.rs | |||
| @@ -2,8 +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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::{info, unwrap}; | 8 | use defmt::{info, unwrap}; |
| 9 | use defmt_rtt as _; // global logger | 9 | use defmt_rtt as _; // global logger |
diff --git a/examples/stm32f4/src/example_common.rs b/examples/stm32f4/src/example_common.rs deleted file mode 100644 index 54d633837..000000000 --- a/examples/stm32f4/src/example_common.rs +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | #![macro_use] | ||
| 2 | |||
| 3 | use defmt_rtt as _; // global logger | ||
| 4 | use panic_probe as _; | ||
| 5 | |||
| 6 | pub use defmt::*; | ||
| 7 | |||
| 8 | use core::sync::atomic::{AtomicUsize, Ordering}; | ||
| 9 | |||
| 10 | defmt::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 | } | ||
diff --git a/examples/stm32f7/Cargo.toml b/examples/stm32f7/Cargo.toml index 3f6858340..3703f551f 100644 --- a/examples/stm32f7/Cargo.toml +++ b/examples/stm32f7/Cargo.toml | |||
| @@ -6,7 +6,7 @@ version = "0.1.0" | |||
| 6 | resolver = "2" | 6 | resolver = "2" |
| 7 | 7 | ||
| 8 | [dependencies] | 8 | [dependencies] |
| 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt", "defmt-timestamp-uptime"] } |
| 10 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "net", "stm32f767zi", "unstable-pac", "time-driver-any", "exti"] } | 10 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "net", "stm32f767zi", "unstable-pac", "time-driver-any", "exti"] } |
| 11 | embassy-net = { path = "../../embassy-net", default-features = false, features = ["defmt", "tcp", "medium-ethernet", "pool-16"] } | 11 | embassy-net = { path = "../../embassy-net", default-features = false, features = ["defmt", "tcp", "medium-ethernet", "pool-16"] } |
| 12 | 12 | ||
diff --git a/examples/stm32f7/src/bin/blinky.rs b/examples/stm32f7/src/bin/blinky.rs index 00d67dac0..8b85ca96d 100644 --- a/examples/stm32f7/src/bin/blinky.rs +++ b/examples/stm32f7/src/bin/blinky.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy::time::{Duration, Timer}; | 8 | use embassy::time::{Duration, Timer}; |
| 9 | use embassy_stm32::gpio::{Level, Output, Speed}; | 9 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | use example_common::*; | 11 | use panic_probe as _; |
| 12 | 12 | ||
| 13 | #[embassy::main] | 13 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 14 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32f7/src/bin/button.rs b/examples/stm32f7/src/bin/button.rs index 24eef75b2..4f9af7fbd 100644 --- a/examples/stm32f7/src/bin/button.rs +++ b/examples/stm32f7/src/bin/button.rs | |||
| @@ -2,11 +2,11 @@ | |||
| 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"] | ||
| 6 | mod example_common; | ||
| 7 | use cortex_m_rt::entry; | 5 | use cortex_m_rt::entry; |
| 6 | use defmt::*; | ||
| 7 | use defmt_rtt as _; // global logger | ||
| 8 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; | 8 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; |
| 9 | use example_common::*; | 9 | use panic_probe as _; |
| 10 | 10 | ||
| 11 | #[entry] | 11 | #[entry] |
| 12 | fn main() -> ! { | 12 | fn main() -> ! { |
diff --git a/examples/stm32f7/src/bin/button_exti.rs b/examples/stm32f7/src/bin/button_exti.rs index 852fbe3c6..78f2e6ee2 100644 --- a/examples/stm32f7/src/bin/button_exti.rs +++ b/examples/stm32f7/src/bin/button_exti.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy_stm32::exti::ExtiInput; | 8 | use embassy_stm32::exti::ExtiInput; |
| 9 | use embassy_stm32::gpio::{Input, Pull}; | 9 | use embassy_stm32::gpio::{Input, Pull}; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | use example_common::*; | 11 | use panic_probe as _; |
| 12 | 12 | ||
| 13 | #[embassy::main] | 13 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 14 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32f7/src/bin/eth.rs b/examples/stm32f7/src/bin/eth.rs index 15169d2dc..446756c29 100644 --- a/examples/stm32f7/src/bin/eth.rs +++ b/examples/stm32f7/src/bin/eth.rs | |||
| @@ -2,14 +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"] | ||
| 6 | mod example_common; | ||
| 7 | use embassy_stm32::peripherals::ETH; | ||
| 8 | use example_common::config; | ||
| 9 | |||
| 10 | use cortex_m_rt::entry; | 5 | use cortex_m_rt::entry; |
| 11 | use defmt::{info, unwrap}; | 6 | use defmt::*; |
| 12 | use defmt_rtt as _; // global logger | ||
| 13 | use embassy::executor::{Executor, Spawner}; | 7 | use embassy::executor::{Executor, Spawner}; |
| 14 | use embassy::io::AsyncWriteExt; | 8 | use embassy::io::AsyncWriteExt; |
| 15 | use embassy::time::{Duration, Timer}; | 9 | use embassy::time::{Duration, Timer}; |
| @@ -19,12 +13,16 @@ use embassy_net::{ | |||
| 19 | }; | 13 | }; |
| 20 | use embassy_stm32::eth::lan8742a::LAN8742A; | 14 | use embassy_stm32::eth::lan8742a::LAN8742A; |
| 21 | use embassy_stm32::eth::{Ethernet, State}; | 15 | use embassy_stm32::eth::{Ethernet, State}; |
| 16 | use embassy_stm32::interrupt; | ||
| 17 | use embassy_stm32::peripherals::ETH; | ||
| 18 | use embassy_stm32::peripherals::RNG; | ||
| 22 | use embassy_stm32::rng::Rng; | 19 | use embassy_stm32::rng::Rng; |
| 23 | use embassy_stm32::{interrupt, peripherals}; | 20 | use embassy_stm32::time::U32Ext; |
| 21 | use embassy_stm32::Config; | ||
| 24 | use heapless::Vec; | 22 | use heapless::Vec; |
| 25 | use panic_probe as _; | ||
| 26 | 23 | ||
| 27 | use peripherals::RNG; | 24 | use defmt_rtt as _; // global logger |
| 25 | use panic_probe as _; | ||
| 28 | 26 | ||
| 29 | #[embassy::task] | 27 | #[embassy::task] |
| 30 | async fn main_task( | 28 | async fn main_task( |
| @@ -88,6 +86,12 @@ static ETH: Forever<Ethernet<'static, ETH, LAN8742A, 4, 4>> = Forever::new(); | |||
| 88 | static CONFIG: Forever<StaticConfigurator> = Forever::new(); | 86 | static CONFIG: Forever<StaticConfigurator> = Forever::new(); |
| 89 | static NET_RESOURCES: Forever<StackResources<1, 2, 8>> = Forever::new(); | 87 | static NET_RESOURCES: Forever<StackResources<1, 2, 8>> = Forever::new(); |
| 90 | 88 | ||
| 89 | fn config() -> Config { | ||
| 90 | let mut config = Config::default(); | ||
| 91 | config.rcc.sys_ck = Some(200.mhz().into()); | ||
| 92 | config | ||
| 93 | } | ||
| 94 | |||
| 91 | #[entry] | 95 | #[entry] |
| 92 | fn main() -> ! { | 96 | fn main() -> ! { |
| 93 | info!("Hello World!"); | 97 | info!("Hello World!"); |
diff --git a/examples/stm32f7/src/bin/hello.rs b/examples/stm32f7/src/bin/hello.rs index 56eb67bf3..92d87cedf 100644 --- a/examples/stm32f7/src/bin/hello.rs +++ b/examples/stm32f7/src/bin/hello.rs | |||
| @@ -9,8 +9,8 @@ use embassy_stm32::time::Hertz; | |||
| 9 | use embassy_stm32::Config; | 9 | use embassy_stm32::Config; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | 11 | ||
| 12 | #[path = "../example_common.rs"] | 12 | use defmt_rtt as _; // global logger |
| 13 | mod example_common; | 13 | use panic_probe as _; |
| 14 | 14 | ||
| 15 | fn config() -> Config { | 15 | fn config() -> Config { |
| 16 | let mut config = Config::default(); | 16 | let mut config = Config::default(); |
diff --git a/examples/stm32f7/src/bin/sdmmc.rs b/examples/stm32f7/src/bin/sdmmc.rs index 57b913db9..dae07c303 100644 --- a/examples/stm32f7/src/bin/sdmmc.rs +++ b/examples/stm32f7/src/bin/sdmmc.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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::*; | ||
| 8 | use embassy::executor::Spawner; | 9 | use embassy::executor::Spawner; |
| 9 | use embassy_stm32::sdmmc::Sdmmc; | 10 | use embassy_stm32::sdmmc::Sdmmc; |
| 10 | use embassy_stm32::time::U32Ext; | 11 | use embassy_stm32::time::U32Ext; |
| 11 | use embassy_stm32::{interrupt, Config, Peripherals}; | 12 | use embassy_stm32::{interrupt, Config, Peripherals}; |
| 12 | use example_common::*; | ||
| 13 | 13 | ||
| 14 | fn config() -> Config { | 14 | fn config() -> Config { |
| 15 | let mut config = Config::default(); | 15 | let mut config = Config::default(); |
diff --git a/examples/stm32f7/src/bin/usart_dma.rs b/examples/stm32f7/src/bin/usart_dma.rs index 00deae8b3..69fa21a0d 100644 --- a/examples/stm32f7/src/bin/usart_dma.rs +++ b/examples/stm32f7/src/bin/usart_dma.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"] | ||
| 6 | mod example_common; | ||
| 7 | use core::fmt::Write; | 5 | use core::fmt::Write; |
| 6 | use defmt::*; | ||
| 7 | use defmt_rtt as _; // global logger | ||
| 8 | use embassy::executor::Spawner; | 8 | use embassy::executor::Spawner; |
| 9 | use embassy_stm32::dma::NoDma; | 9 | use embassy_stm32::dma::NoDma; |
| 10 | use embassy_stm32::usart::{Config, Uart}; | 10 | use embassy_stm32::usart::{Config, Uart}; |
| 11 | use embassy_stm32::Peripherals; | 11 | use embassy_stm32::Peripherals; |
| 12 | use example_common::*; | 12 | use panic_probe as _; |
| 13 | 13 | ||
| 14 | use heapless::String; | 14 | use heapless::String; |
| 15 | 15 | ||
diff --git a/examples/stm32f7/src/example_common.rs b/examples/stm32f7/src/example_common.rs deleted file mode 100644 index a786cb114..000000000 --- a/examples/stm32f7/src/example_common.rs +++ /dev/null | |||
| @@ -1,27 +0,0 @@ | |||
| 1 | #![macro_use] | ||
| 2 | |||
| 3 | use defmt_rtt as _; | ||
| 4 | use embassy_stm32::time::U32Ext; | ||
| 5 | use embassy_stm32::Config; | ||
| 6 | // global logger | ||
| 7 | use panic_probe as _; | ||
| 8 | |||
| 9 | pub use defmt::*; | ||
| 10 | |||
| 11 | use core::sync::atomic::{AtomicUsize, Ordering}; | ||
| 12 | |||
| 13 | defmt::timestamp! {"{=u64}", { | ||
| 14 | static COUNT: AtomicUsize = AtomicUsize::new(0); | ||
| 15 | // NOTE(no-CAS) `timestamps` runs with interrupts disabled | ||
| 16 | let n = COUNT.load(Ordering::Relaxed); | ||
| 17 | COUNT.store(n + 1, Ordering::Relaxed); | ||
| 18 | n as u64 | ||
| 19 | } | ||
| 20 | } | ||
| 21 | |||
| 22 | #[allow(unused)] | ||
| 23 | pub fn config() -> Config { | ||
| 24 | let mut config = Config::default(); | ||
| 25 | config.rcc.sys_ck = Some(200.mhz().into()); | ||
| 26 | config | ||
| 27 | } | ||
diff --git a/examples/stm32g0/Cargo.toml b/examples/stm32g0/Cargo.toml index a72ba5344..9facbc5c7 100644 --- a/examples/stm32g0/Cargo.toml +++ b/examples/stm32g0/Cargo.toml | |||
| @@ -6,7 +6,7 @@ version = "0.1.0" | |||
| 6 | resolver = "2" | 6 | resolver = "2" |
| 7 | 7 | ||
| 8 | [dependencies] | 8 | [dependencies] |
| 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt", "defmt-timestamp-uptime"] } |
| 10 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "time-driver-any", "stm32g071rb", "memory-x", "unstable-pac", "exti"] } | 10 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "time-driver-any", "stm32g071rb", "memory-x", "unstable-pac", "exti"] } |
| 11 | 11 | ||
| 12 | defmt = "0.3" | 12 | defmt = "0.3" |
diff --git a/examples/stm32g0/src/bin/blinky.rs b/examples/stm32g0/src/bin/blinky.rs index 00d67dac0..8b85ca96d 100644 --- a/examples/stm32g0/src/bin/blinky.rs +++ b/examples/stm32g0/src/bin/blinky.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy::time::{Duration, Timer}; | 8 | use embassy::time::{Duration, Timer}; |
| 9 | use embassy_stm32::gpio::{Level, Output, Speed}; | 9 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | use example_common::*; | 11 | use panic_probe as _; |
| 12 | 12 | ||
| 13 | #[embassy::main] | 13 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 14 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32g0/src/bin/button.rs b/examples/stm32g0/src/bin/button.rs index e901c5750..78d7ba1f2 100644 --- a/examples/stm32g0/src/bin/button.rs +++ b/examples/stm32g0/src/bin/button.rs | |||
| @@ -2,11 +2,11 @@ | |||
| 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"] | ||
| 6 | mod example_common; | ||
| 7 | use cortex_m_rt::entry; | 5 | use cortex_m_rt::entry; |
| 6 | use defmt::*; | ||
| 7 | use defmt_rtt as _; // global logger | ||
| 8 | use embassy_stm32::gpio::{Input, Pull}; | 8 | use embassy_stm32::gpio::{Input, Pull}; |
| 9 | use example_common::*; | 9 | use panic_probe as _; |
| 10 | 10 | ||
| 11 | #[entry] | 11 | #[entry] |
| 12 | fn main() -> ! { | 12 | fn main() -> ! { |
diff --git a/examples/stm32g0/src/bin/button_exti.rs b/examples/stm32g0/src/bin/button_exti.rs index 848818bf2..4b1cadcb5 100644 --- a/examples/stm32g0/src/bin/button_exti.rs +++ b/examples/stm32g0/src/bin/button_exti.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy_stm32::exti::ExtiInput; | 8 | use embassy_stm32::exti::ExtiInput; |
| 9 | use embassy_stm32::gpio::{Input, Pull}; | 9 | use embassy_stm32::gpio::{Input, Pull}; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | use example_common::*; | 11 | use panic_probe as _; |
| 12 | 12 | ||
| 13 | #[embassy::main] | 13 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 14 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32g0/src/example_common.rs b/examples/stm32g0/src/example_common.rs deleted file mode 100644 index 54d633837..000000000 --- a/examples/stm32g0/src/example_common.rs +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | #![macro_use] | ||
| 2 | |||
| 3 | use defmt_rtt as _; // global logger | ||
| 4 | use panic_probe as _; | ||
| 5 | |||
| 6 | pub use defmt::*; | ||
| 7 | |||
| 8 | use core::sync::atomic::{AtomicUsize, Ordering}; | ||
| 9 | |||
| 10 | defmt::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 | } | ||
diff --git a/examples/stm32g4/Cargo.toml b/examples/stm32g4/Cargo.toml index 433a3673b..7a1f5a9fa 100644 --- a/examples/stm32g4/Cargo.toml +++ b/examples/stm32g4/Cargo.toml | |||
| @@ -6,7 +6,7 @@ version = "0.1.0" | |||
| 6 | resolver = "2" | 6 | resolver = "2" |
| 7 | 7 | ||
| 8 | [dependencies] | 8 | [dependencies] |
| 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt", "defmt-timestamp-uptime"] } |
| 10 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "time-driver-any", "stm32g491re", "memory-x", "unstable-pac", "exti"] } | 10 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "time-driver-any", "stm32g491re", "memory-x", "unstable-pac", "exti"] } |
| 11 | embassy-hal-common = {version = "0.1.0", path = "../../embassy-hal-common" } | 11 | embassy-hal-common = {version = "0.1.0", path = "../../embassy-hal-common" } |
| 12 | 12 | ||
diff --git a/examples/stm32g4/src/bin/blinky.rs b/examples/stm32g4/src/bin/blinky.rs index 1dc67f99e..92ec2b579 100644 --- a/examples/stm32g4/src/bin/blinky.rs +++ b/examples/stm32g4/src/bin/blinky.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy::time::{Duration, Timer}; | 8 | use embassy::time::{Duration, Timer}; |
| 9 | use embassy_stm32::gpio::{Level, Output, Speed}; | 9 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | use example_common::*; | 11 | use panic_probe as _; |
| 12 | 12 | ||
| 13 | #[embassy::main] | 13 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 14 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32g4/src/bin/button.rs b/examples/stm32g4/src/bin/button.rs index 8c0d7d4fe..f6c981309 100644 --- a/examples/stm32g4/src/bin/button.rs +++ b/examples/stm32g4/src/bin/button.rs | |||
| @@ -2,11 +2,11 @@ | |||
| 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"] | ||
| 6 | mod example_common; | ||
| 7 | use cortex_m_rt::entry; | 5 | use cortex_m_rt::entry; |
| 6 | use defmt::*; | ||
| 7 | use defmt_rtt as _; // global logger | ||
| 8 | use embassy_stm32::gpio::{Input, Pull}; | 8 | use embassy_stm32::gpio::{Input, Pull}; |
| 9 | use example_common::*; | 9 | use panic_probe as _; |
| 10 | 10 | ||
| 11 | #[entry] | 11 | #[entry] |
| 12 | fn main() -> ! { | 12 | fn main() -> ! { |
diff --git a/examples/stm32g4/src/bin/button_exti.rs b/examples/stm32g4/src/bin/button_exti.rs index 852fbe3c6..78f2e6ee2 100644 --- a/examples/stm32g4/src/bin/button_exti.rs +++ b/examples/stm32g4/src/bin/button_exti.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy_stm32::exti::ExtiInput; | 8 | use embassy_stm32::exti::ExtiInput; |
| 9 | use embassy_stm32::gpio::{Input, Pull}; | 9 | use embassy_stm32::gpio::{Input, Pull}; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | use example_common::*; | 11 | use panic_probe as _; |
| 12 | 12 | ||
| 13 | #[embassy::main] | 13 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 14 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32g4/src/bin/pwm.rs b/examples/stm32g4/src/bin/pwm.rs index fb71c8b7d..3770f6f36 100644 --- a/examples/stm32g4/src/bin/pwm.rs +++ b/examples/stm32g4/src/bin/pwm.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy::time::{Duration, Timer}; | 8 | use embassy::time::{Duration, Timer}; |
| 9 | use embassy_stm32::pwm::{simple_pwm::SimplePwm, Channel}; | 9 | use embassy_stm32::pwm::{simple_pwm::SimplePwm, Channel}; |
| 10 | use embassy_stm32::time::U32Ext; | 10 | use embassy_stm32::time::U32Ext; |
| 11 | use embassy_stm32::Peripherals; | 11 | use embassy_stm32::Peripherals; |
| 12 | use example_common::*; | 12 | use panic_probe as _; |
| 13 | 13 | ||
| 14 | #[embassy::main] | 14 | #[embassy::main] |
| 15 | async fn main(_spawner: Spawner, p: Peripherals) { | 15 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32g4/src/example_common.rs b/examples/stm32g4/src/example_common.rs deleted file mode 100644 index 54d633837..000000000 --- a/examples/stm32g4/src/example_common.rs +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | #![macro_use] | ||
| 2 | |||
| 3 | use defmt_rtt as _; // global logger | ||
| 4 | use panic_probe as _; | ||
| 5 | |||
| 6 | pub use defmt::*; | ||
| 7 | |||
| 8 | use core::sync::atomic::{AtomicUsize, Ordering}; | ||
| 9 | |||
| 10 | defmt::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 | } | ||
diff --git a/examples/stm32h7/Cargo.toml b/examples/stm32h7/Cargo.toml index 2e761df8f..5c8861af5 100644 --- a/examples/stm32h7/Cargo.toml +++ b/examples/stm32h7/Cargo.toml | |||
| @@ -8,7 +8,7 @@ resolver = "2" | |||
| 8 | [features] | 8 | [features] |
| 9 | 9 | ||
| 10 | [dependencies] | 10 | [dependencies] |
| 11 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | 11 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt", "defmt-timestamp-uptime"] } |
| 12 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32h743bi", "net", "time-driver-any", "exti", "unstable-pac", "unstable-traits"] } | 12 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32h743bi", "net", "time-driver-any", "exti", "unstable-pac", "unstable-traits"] } |
| 13 | embassy-net = { path = "../../embassy-net", default-features = false, features = ["defmt", "tcp", "medium-ethernet", "pool-16"] } | 13 | embassy-net = { path = "../../embassy-net", default-features = false, features = ["defmt", "tcp", "medium-ethernet", "pool-16"] } |
| 14 | embassy-hal-common = { path = "../../embassy-hal-common", default-features = false, features = ["defmt"] } | 14 | embassy-hal-common = { path = "../../embassy-hal-common", default-features = false, features = ["defmt"] } |
diff --git a/examples/stm32h7/src/bin/blinky.rs b/examples/stm32h7/src/bin/blinky.rs index 7e5934239..2329125a6 100644 --- a/examples/stm32h7/src/bin/blinky.rs +++ b/examples/stm32h7/src/bin/blinky.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy::time::{Duration, Timer}; | 8 | use embassy::time::{Duration, Timer}; |
| 9 | use embassy_stm32::gpio::{Level, Output, Speed}; | 9 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | use example_common::*; | 11 | use panic_probe as _; |
| 12 | 12 | ||
| 13 | #[embassy::main] | 13 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 14 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32h7/src/bin/button_exti.rs b/examples/stm32h7/src/bin/button_exti.rs index 852fbe3c6..78f2e6ee2 100644 --- a/examples/stm32h7/src/bin/button_exti.rs +++ b/examples/stm32h7/src/bin/button_exti.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy_stm32::exti::ExtiInput; | 8 | use embassy_stm32::exti::ExtiInput; |
| 9 | use embassy_stm32::gpio::{Input, Pull}; | 9 | use embassy_stm32::gpio::{Input, Pull}; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | use example_common::*; | 11 | use panic_probe as _; |
| 12 | 12 | ||
| 13 | #[embassy::main] | 13 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 14 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32h7/src/bin/camera.rs b/examples/stm32h7/src/bin/camera.rs index f87b27f4f..3311ba858 100644 --- a/examples/stm32h7/src/bin/camera.rs +++ b/examples/stm32h7/src/bin/camera.rs | |||
| @@ -10,23 +10,12 @@ use embassy_stm32::i2c::I2c; | |||
| 10 | use embassy_stm32::interrupt; | 10 | use embassy_stm32::interrupt; |
| 11 | use embassy_stm32::rcc::{Mco, Mco1Source, McoClock}; | 11 | use embassy_stm32::rcc::{Mco, Mco1Source, McoClock}; |
| 12 | use embassy_stm32::time::U32Ext; | 12 | use embassy_stm32::time::U32Ext; |
| 13 | use embassy_stm32::Config; | ||
| 13 | use embassy_stm32::Peripherals; | 14 | use embassy_stm32::Peripherals; |
| 14 | 15 | ||
| 15 | use defmt_rtt as _; // global logger | 16 | use defmt_rtt as _; // global logger |
| 16 | use panic_probe as _; | 17 | use panic_probe as _; |
| 17 | 18 | ||
| 18 | use core::sync::atomic::{AtomicUsize, Ordering}; | ||
| 19 | use embassy_stm32::Config; | ||
| 20 | |||
| 21 | defmt::timestamp! {"{=u64}", { | ||
| 22 | static COUNT: AtomicUsize = AtomicUsize::new(0); | ||
| 23 | // NOTE(no-CAS) `timestamps` runs with interrupts disabled | ||
| 24 | let n = COUNT.load(Ordering::Relaxed); | ||
| 25 | COUNT.store(n + 1, Ordering::Relaxed); | ||
| 26 | n as u64 | ||
| 27 | } | ||
| 28 | } | ||
| 29 | |||
| 30 | #[allow(unused)] | 19 | #[allow(unused)] |
| 31 | pub fn config() -> Config { | 20 | pub fn config() -> Config { |
| 32 | let mut config = Config::default(); | 21 | let mut config = Config::default(); |
diff --git a/examples/stm32h7/src/bin/dac.rs b/examples/stm32h7/src/bin/dac.rs index 8353405ad..86c874a6a 100644 --- a/examples/stm32h7/src/bin/dac.rs +++ b/examples/stm32h7/src/bin/dac.rs | |||
| @@ -2,13 +2,22 @@ | |||
| 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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | |||
| 8 | use example_common::*; | ||
| 9 | 7 | ||
| 10 | use cortex_m_rt::entry; | 8 | use cortex_m_rt::entry; |
| 9 | use defmt::*; | ||
| 11 | use embassy_stm32::dac::{Channel, Dac, Value}; | 10 | use embassy_stm32::dac::{Channel, Dac, Value}; |
| 11 | use embassy_stm32::time::U32Ext; | ||
| 12 | use embassy_stm32::Config; | ||
| 13 | |||
| 14 | pub fn config() -> Config { | ||
| 15 | let mut config = Config::default(); | ||
| 16 | config.rcc.sys_ck = Some(400.mhz().into()); | ||
| 17 | config.rcc.hclk = Some(200.mhz().into()); | ||
| 18 | config.rcc.pll1.q_ck = Some(100.mhz().into()); | ||
| 19 | config | ||
| 20 | } | ||
| 12 | 21 | ||
| 13 | #[entry] | 22 | #[entry] |
| 14 | fn main() -> ! { | 23 | fn main() -> ! { |
diff --git a/examples/stm32h7/src/bin/eth.rs b/examples/stm32h7/src/bin/eth.rs index 47d8c5c56..4eb5421a8 100644 --- a/examples/stm32h7/src/bin/eth.rs +++ b/examples/stm32h7/src/bin/eth.rs | |||
| @@ -2,14 +2,11 @@ | |||
| 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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | use embassy_stm32::peripherals::ETH; | ||
| 8 | use example_common::config; | ||
| 9 | 7 | ||
| 10 | use cortex_m_rt::entry; | 8 | use cortex_m_rt::entry; |
| 11 | use defmt::{info, unwrap}; | 9 | use defmt::*; |
| 12 | use defmt_rtt as _; // global logger | ||
| 13 | use embassy::executor::{Executor, Spawner}; | 10 | use embassy::executor::{Executor, Spawner}; |
| 14 | use embassy::io::AsyncWriteExt; | 11 | use embassy::io::AsyncWriteExt; |
| 15 | use embassy::time::{Duration, Timer}; | 12 | use embassy::time::{Duration, Timer}; |
| @@ -19,11 +16,13 @@ use embassy_net::{ | |||
| 19 | }; | 16 | }; |
| 20 | use embassy_stm32::eth::lan8742a::LAN8742A; | 17 | use embassy_stm32::eth::lan8742a::LAN8742A; |
| 21 | use embassy_stm32::eth::{Ethernet, State}; | 18 | use embassy_stm32::eth::{Ethernet, State}; |
| 19 | use embassy_stm32::interrupt; | ||
| 20 | use embassy_stm32::peripherals::ETH; | ||
| 21 | use embassy_stm32::peripherals::RNG; | ||
| 22 | use embassy_stm32::rng::Rng; | 22 | use embassy_stm32::rng::Rng; |
| 23 | use embassy_stm32::{interrupt, peripherals}; | 23 | use embassy_stm32::time::U32Ext; |
| 24 | use embassy_stm32::Config; | ||
| 24 | use heapless::Vec; | 25 | use heapless::Vec; |
| 25 | use panic_probe as _; | ||
| 26 | use peripherals::RNG; | ||
| 27 | 26 | ||
| 28 | #[embassy::task] | 27 | #[embassy::task] |
| 29 | async fn main_task( | 28 | async fn main_task( |
| @@ -87,6 +86,15 @@ static ETH: Forever<Ethernet<'static, ETH, LAN8742A, 4, 4>> = Forever::new(); | |||
| 87 | static CONFIG: Forever<StaticConfigurator> = Forever::new(); | 86 | static CONFIG: Forever<StaticConfigurator> = Forever::new(); |
| 88 | static NET_RESOURCES: Forever<StackResources<1, 2, 8>> = Forever::new(); | 87 | static NET_RESOURCES: Forever<StackResources<1, 2, 8>> = Forever::new(); |
| 89 | 88 | ||
| 89 | #[allow(unused)] | ||
| 90 | pub fn config() -> Config { | ||
| 91 | let mut config = Config::default(); | ||
| 92 | config.rcc.sys_ck = Some(400.mhz().into()); | ||
| 93 | config.rcc.hclk = Some(200.mhz().into()); | ||
| 94 | config.rcc.pll1.q_ck = Some(100.mhz().into()); | ||
| 95 | config | ||
| 96 | } | ||
| 97 | |||
| 90 | #[entry] | 98 | #[entry] |
| 91 | fn main() -> ! { | 99 | fn main() -> ! { |
| 92 | info!("Hello World!"); | 100 | info!("Hello World!"); |
diff --git a/examples/stm32h7/src/bin/fmc.rs b/examples/stm32h7/src/bin/fmc.rs index b9ac1318e..ba8215d6a 100644 --- a/examples/stm32h7/src/bin/fmc.rs +++ b/examples/stm32h7/src/bin/fmc.rs | |||
| @@ -2,13 +2,23 @@ | |||
| 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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy::time::{Delay, Duration, Timer}; | 8 | use embassy::time::{Delay, Duration, Timer}; |
| 9 | use embassy_stm32::fmc::Fmc; | 9 | use embassy_stm32::fmc::Fmc; |
| 10 | use embassy_stm32::time::U32Ext; | ||
| 11 | use embassy_stm32::Config; | ||
| 10 | use embassy_stm32::Peripherals; | 12 | use embassy_stm32::Peripherals; |
| 11 | use example_common::*; | 13 | use panic_probe as _; |
| 14 | |||
| 15 | pub fn config() -> Config { | ||
| 16 | let mut config = Config::default(); | ||
| 17 | config.rcc.sys_ck = Some(400.mhz().into()); | ||
| 18 | config.rcc.hclk = Some(200.mhz().into()); | ||
| 19 | config.rcc.pll1.q_ck = Some(100.mhz().into()); | ||
| 20 | config | ||
| 21 | } | ||
| 12 | 22 | ||
| 13 | #[embassy::main(config = "config()")] | 23 | #[embassy::main(config = "config()")] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 24 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32h7/src/bin/low_level_timer_api.rs b/examples/stm32h7/src/bin/low_level_timer_api.rs index 3a47dc22b..9ddfd8b27 100644 --- a/examples/stm32h7/src/bin/low_level_timer_api.rs +++ b/examples/stm32h7/src/bin/low_level_timer_api.rs | |||
| @@ -2,10 +2,11 @@ | |||
| 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"] | ||
| 6 | mod example_common; | ||
| 7 | use core::marker::PhantomData; | 5 | use core::marker::PhantomData; |
| 6 | use defmt_rtt as _; // global logger | ||
| 7 | use panic_probe as _; | ||
| 8 | 8 | ||
| 9 | use defmt::*; | ||
| 9 | use embassy::executor::Spawner; | 10 | use embassy::executor::Spawner; |
| 10 | use embassy::time::{Duration, Timer}; | 11 | use embassy::time::{Duration, Timer}; |
| 11 | use embassy::util::Unborrow; | 12 | use embassy::util::Unborrow; |
| @@ -15,7 +16,6 @@ use embassy_stm32::gpio::Speed; | |||
| 15 | use embassy_stm32::pwm::*; | 16 | use embassy_stm32::pwm::*; |
| 16 | use embassy_stm32::time::{Hertz, U32Ext}; | 17 | use embassy_stm32::time::{Hertz, U32Ext}; |
| 17 | use embassy_stm32::{Config, Peripherals}; | 18 | use embassy_stm32::{Config, Peripherals}; |
| 18 | use example_common::*; | ||
| 19 | 19 | ||
| 20 | pub fn config() -> Config { | 20 | pub fn config() -> Config { |
| 21 | let mut config = Config::default(); | 21 | let mut config = Config::default(); |
diff --git a/examples/stm32h7/src/bin/mco.rs b/examples/stm32h7/src/bin/mco.rs index f27bd8ef8..a6735036f 100644 --- a/examples/stm32h7/src/bin/mco.rs +++ b/examples/stm32h7/src/bin/mco.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy::time::{Duration, Timer}; | 8 | use embassy::time::{Duration, Timer}; |
| 9 | use embassy_stm32::gpio::{Level, Output, Speed}; | 9 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 10 | use embassy_stm32::rcc::{Mco, Mco1Source, McoClock}; | 10 | use embassy_stm32::rcc::{Mco, Mco1Source, McoClock}; |
| 11 | use embassy_stm32::Peripherals; | 11 | use embassy_stm32::Peripherals; |
| 12 | use example_common::*; | 12 | use panic_probe as _; |
| 13 | 13 | ||
| 14 | #[embassy::main] | 14 | #[embassy::main] |
| 15 | async fn main(_spawner: Spawner, p: Peripherals) { | 15 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32h7/src/bin/pwm.rs b/examples/stm32h7/src/bin/pwm.rs index b3edbde68..c33ba066e 100644 --- a/examples/stm32h7/src/bin/pwm.rs +++ b/examples/stm32h7/src/bin/pwm.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy::time::{Duration, Timer}; | 8 | use embassy::time::{Duration, Timer}; |
| 9 | use embassy_stm32::pwm::{simple_pwm::SimplePwm, Channel}; | 9 | use embassy_stm32::pwm::{simple_pwm::SimplePwm, Channel}; |
| 10 | use embassy_stm32::time::U32Ext; | 10 | use embassy_stm32::time::U32Ext; |
| 11 | use embassy_stm32::{Config, Peripherals}; | 11 | use embassy_stm32::{Config, Peripherals}; |
| 12 | use example_common::*; | 12 | use panic_probe as _; |
| 13 | 13 | ||
| 14 | pub fn config() -> Config { | 14 | pub fn config() -> Config { |
| 15 | let mut config = Config::default(); | 15 | let mut config = Config::default(); |
diff --git a/examples/stm32h7/src/bin/rng.rs b/examples/stm32h7/src/bin/rng.rs index 932cfcb8b..b914fa709 100644 --- a/examples/stm32h7/src/bin/rng.rs +++ b/examples/stm32h7/src/bin/rng.rs | |||
| @@ -2,12 +2,12 @@ | |||
| 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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy_stm32::rng::Rng; | 8 | use embassy_stm32::rng::Rng; |
| 9 | use embassy_stm32::Peripherals; | 9 | use embassy_stm32::Peripherals; |
| 10 | use example_common::*; | 10 | use panic_probe as _; |
| 11 | 11 | ||
| 12 | #[embassy::main] | 12 | #[embassy::main] |
| 13 | async fn main(_spawner: Spawner, p: Peripherals) { | 13 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32h7/src/bin/sdmmc.rs b/examples/stm32h7/src/bin/sdmmc.rs index 19c4deed1..c3b2ebcda 100644 --- a/examples/stm32h7/src/bin/sdmmc.rs +++ b/examples/stm32h7/src/bin/sdmmc.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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::*; | ||
| 8 | use embassy::executor::Spawner; | 9 | use embassy::executor::Spawner; |
| 9 | use embassy_stm32::sdmmc::Sdmmc; | 10 | use embassy_stm32::sdmmc::Sdmmc; |
| 10 | use embassy_stm32::time::U32Ext; | 11 | use embassy_stm32::time::U32Ext; |
| 11 | use embassy_stm32::{interrupt, Config, Peripherals}; | 12 | use embassy_stm32::{interrupt, Config, Peripherals}; |
| 12 | use example_common::*; | ||
| 13 | 13 | ||
| 14 | fn config() -> Config { | 14 | fn config() -> Config { |
| 15 | let mut config = Config::default(); | 15 | let mut config = Config::default(); |
diff --git a/examples/stm32h7/src/bin/spi.rs b/examples/stm32h7/src/bin/spi.rs index 17e64da79..a0acb03db 100644 --- a/examples/stm32h7/src/bin/spi.rs +++ b/examples/stm32h7/src/bin/spi.rs | |||
| @@ -2,22 +2,30 @@ | |||
| 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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use core::fmt::Write; | 8 | use core::fmt::Write; |
| 9 | use core::str::from_utf8; | ||
| 10 | use cortex_m_rt::entry; | ||
| 11 | use defmt::*; | ||
| 9 | use embassy::executor::Executor; | 12 | use embassy::executor::Executor; |
| 10 | use embassy::util::Forever; | 13 | use embassy::util::Forever; |
| 11 | use embassy_stm32::dma::NoDma; | 14 | use embassy_stm32::dma::NoDma; |
| 12 | use embassy_stm32::spi; | ||
| 13 | use example_common::*; | ||
| 14 | |||
| 15 | use core::str::from_utf8; | ||
| 16 | use cortex_m_rt::entry; | ||
| 17 | use embassy_stm32::peripherals::SPI3; | 15 | use embassy_stm32::peripherals::SPI3; |
| 16 | use embassy_stm32::spi; | ||
| 18 | use embassy_stm32::time::U32Ext; | 17 | use embassy_stm32::time::U32Ext; |
| 18 | use embassy_stm32::Config; | ||
| 19 | use heapless::String; | 19 | use heapless::String; |
| 20 | 20 | ||
| 21 | pub fn config() -> Config { | ||
| 22 | let mut config = Config::default(); | ||
| 23 | config.rcc.sys_ck = Some(400.mhz().into()); | ||
| 24 | config.rcc.hclk = Some(200.mhz().into()); | ||
| 25 | config.rcc.pll1.q_ck = Some(100.mhz().into()); | ||
| 26 | config | ||
| 27 | } | ||
| 28 | |||
| 21 | #[embassy::task] | 29 | #[embassy::task] |
| 22 | async fn main_task(mut spi: spi::Spi<'static, SPI3, NoDma, NoDma>) { | 30 | async fn main_task(mut spi: spi::Spi<'static, SPI3, NoDma, NoDma>) { |
| 23 | for n in 0u32.. { | 31 | for n in 0u32.. { |
diff --git a/examples/stm32h7/src/bin/spi_dma.rs b/examples/stm32h7/src/bin/spi_dma.rs index 15ae09973..8f77b1d09 100644 --- a/examples/stm32h7/src/bin/spi_dma.rs +++ b/examples/stm32h7/src/bin/spi_dma.rs | |||
| @@ -2,21 +2,29 @@ | |||
| 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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use core::fmt::Write; | 8 | use core::fmt::Write; |
| 9 | use embassy::executor::Executor; | ||
| 10 | use embassy::util::Forever; | ||
| 11 | use embassy_stm32::time::U32Ext; | ||
| 12 | use example_common::*; | ||
| 13 | |||
| 14 | use core::str::from_utf8; | 9 | use core::str::from_utf8; |
| 15 | use cortex_m_rt::entry; | 10 | use cortex_m_rt::entry; |
| 11 | use defmt::*; | ||
| 12 | use embassy::executor::Executor; | ||
| 13 | use embassy::util::Forever; | ||
| 16 | use embassy_stm32::peripherals::{DMA1_CH3, DMA1_CH4, SPI3}; | 14 | use embassy_stm32::peripherals::{DMA1_CH3, DMA1_CH4, SPI3}; |
| 17 | use embassy_stm32::spi; | 15 | use embassy_stm32::spi; |
| 16 | use embassy_stm32::time::U32Ext; | ||
| 17 | use embassy_stm32::Config; | ||
| 18 | use heapless::String; | 18 | use heapless::String; |
| 19 | 19 | ||
| 20 | pub fn config() -> Config { | ||
| 21 | let mut config = Config::default(); | ||
| 22 | config.rcc.sys_ck = Some(400.mhz().into()); | ||
| 23 | config.rcc.hclk = Some(200.mhz().into()); | ||
| 24 | config.rcc.pll1.q_ck = Some(100.mhz().into()); | ||
| 25 | config | ||
| 26 | } | ||
| 27 | |||
| 20 | #[embassy::task] | 28 | #[embassy::task] |
| 21 | async fn main_task(mut spi: spi::Spi<'static, SPI3, DMA1_CH3, DMA1_CH4>) { | 29 | async fn main_task(mut spi: spi::Spi<'static, SPI3, DMA1_CH3, DMA1_CH4>) { |
| 22 | for n in 0u32.. { | 30 | for n in 0u32.. { |
diff --git a/examples/stm32h7/src/bin/usart.rs b/examples/stm32h7/src/bin/usart.rs index 211e57cda..0982a6ac6 100644 --- a/examples/stm32h7/src/bin/usart.rs +++ b/examples/stm32h7/src/bin/usart.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Executor; | 7 | use embassy::executor::Executor; |
| 8 | use embassy::util::Forever; | 8 | use embassy::util::Forever; |
| 9 | use embassy_stm32::dma::NoDma; | 9 | use embassy_stm32::dma::NoDma; |
| 10 | use embassy_stm32::usart::{Config, Uart}; | 10 | use embassy_stm32::usart::{Config, Uart}; |
| 11 | use example_common::*; | 11 | use panic_probe as _; |
| 12 | 12 | ||
| 13 | use cortex_m_rt::entry; | 13 | use cortex_m_rt::entry; |
| 14 | 14 | ||
diff --git a/examples/stm32h7/src/bin/usart_dma.rs b/examples/stm32h7/src/bin/usart_dma.rs index a9221e1b6..74de8b2a3 100644 --- a/examples/stm32h7/src/bin/usart_dma.rs +++ b/examples/stm32h7/src/bin/usart_dma.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"] | ||
| 6 | mod example_common; | ||
| 7 | use core::fmt::Write; | 5 | use core::fmt::Write; |
| 6 | use defmt::*; | ||
| 7 | use defmt_rtt as _; // global logger | ||
| 8 | use embassy::executor::Executor; | 8 | use embassy::executor::Executor; |
| 9 | use embassy::util::Forever; | 9 | use embassy::util::Forever; |
| 10 | use embassy_stm32::dma::NoDma; | 10 | use embassy_stm32::dma::NoDma; |
| 11 | use embassy_stm32::usart::{Config, Uart}; | 11 | use embassy_stm32::usart::{Config, Uart}; |
| 12 | use example_common::*; | 12 | use panic_probe as _; |
| 13 | 13 | ||
| 14 | use cortex_m_rt::entry; | 14 | use cortex_m_rt::entry; |
| 15 | use heapless::String; | 15 | use heapless::String; |
diff --git a/examples/stm32h7/src/bin/usart_split.rs b/examples/stm32h7/src/bin/usart_split.rs index b112290f9..ee1763aa4 100644 --- a/examples/stm32h7/src/bin/usart_split.rs +++ b/examples/stm32h7/src/bin/usart_split.rs | |||
| @@ -2,8 +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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::blocking_mutex::raw::NoopRawMutex; | 7 | use embassy::blocking_mutex::raw::NoopRawMutex; |
| 8 | use embassy::channel::mpsc::{self, Channel, Sender}; | 8 | use embassy::channel::mpsc::{self, Channel, Sender}; |
| 9 | use embassy::executor::Spawner; | 9 | use embassy::executor::Spawner; |
| @@ -14,7 +14,7 @@ use embassy_stm32::{ | |||
| 14 | usart::{Config, Uart, UartRx}, | 14 | usart::{Config, Uart, UartRx}, |
| 15 | Peripherals, | 15 | Peripherals, |
| 16 | }; | 16 | }; |
| 17 | use example_common::*; | 17 | use panic_probe as _; |
| 18 | 18 | ||
| 19 | #[embassy::task] | 19 | #[embassy::task] |
| 20 | async fn writer(mut usart: Uart<'static, UART7, NoDma, NoDma>) { | 20 | async fn writer(mut usart: Uart<'static, UART7, NoDma, NoDma>) { |
diff --git a/examples/stm32h7/src/example_common.rs b/examples/stm32h7/src/example_common.rs deleted file mode 100644 index b8acc2790..000000000 --- a/examples/stm32h7/src/example_common.rs +++ /dev/null | |||
| @@ -1,28 +0,0 @@ | |||
| 1 | #![macro_use] | ||
| 2 | |||
| 3 | use defmt_rtt as _; // global logger | ||
| 4 | use panic_probe as _; | ||
| 5 | |||
| 6 | pub use defmt::*; | ||
| 7 | |||
| 8 | use core::sync::atomic::{AtomicUsize, Ordering}; | ||
| 9 | use embassy_stm32::time::U32Ext; | ||
| 10 | use embassy_stm32::Config; | ||
| 11 | |||
| 12 | defmt::timestamp! {"{=u64}", { | ||
| 13 | static COUNT: AtomicUsize = AtomicUsize::new(0); | ||
| 14 | // NOTE(no-CAS) `timestamps` runs with interrupts disabled | ||
| 15 | let n = COUNT.load(Ordering::Relaxed); | ||
| 16 | COUNT.store(n + 1, Ordering::Relaxed); | ||
| 17 | n as u64 | ||
| 18 | } | ||
| 19 | } | ||
| 20 | |||
| 21 | #[allow(unused)] | ||
| 22 | pub fn config() -> Config { | ||
| 23 | let mut config = Config::default(); | ||
| 24 | config.rcc.sys_ck = Some(400.mhz().into()); | ||
| 25 | config.rcc.hclk = Some(200.mhz().into()); | ||
| 26 | config.rcc.pll1.q_ck = Some(100.mhz().into()); | ||
| 27 | config | ||
| 28 | } | ||
diff --git a/examples/stm32l0/Cargo.toml b/examples/stm32l0/Cargo.toml index ce4efa52c..8063e6c7e 100644 --- a/examples/stm32l0/Cargo.toml +++ b/examples/stm32l0/Cargo.toml | |||
| @@ -10,7 +10,7 @@ default = ["nightly"] | |||
| 10 | nightly = ["embassy-stm32/nightly", "embassy-lora", "lorawan-device", "lorawan-encoding"] | 10 | nightly = ["embassy-stm32/nightly", "embassy-lora", "lorawan-device", "lorawan-encoding"] |
| 11 | 11 | ||
| 12 | [dependencies] | 12 | [dependencies] |
| 13 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | 13 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt", "defmt-timestamp-uptime"] } |
| 14 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32l072cz", "time-driver-any", "exti", "unstable-traits", "memory-x"] } | 14 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["defmt", "stm32l072cz", "time-driver-any", "exti", "unstable-traits", "memory-x"] } |
| 15 | 15 | ||
| 16 | embassy-lora = { version = "0.1.0", path = "../../embassy-lora", features = ["sx127x", "time", "defmt"], optional = true} | 16 | embassy-lora = { version = "0.1.0", path = "../../embassy-lora", features = ["sx127x", "time", "defmt"], optional = true} |
diff --git a/examples/stm32l0/src/bin/blinky.rs b/examples/stm32l0/src/bin/blinky.rs index 46e29a897..72f13f06d 100644 --- a/examples/stm32l0/src/bin/blinky.rs +++ b/examples/stm32l0/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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::*; | ||
| 8 | use embassy::executor::Spawner; | 9 | use embassy::executor::Spawner; |
| 9 | use embassy::time::{Duration, Timer}; | 10 | use embassy::time::{Duration, Timer}; |
| 10 | use embassy_stm32::gpio::{Level, Output, Speed}; | 11 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 11 | use embassy_stm32::Peripherals; | 12 | use embassy_stm32::Peripherals; |
| 12 | use example_common::*; | ||
| 13 | 13 | ||
| 14 | #[embassy::main] | 14 | #[embassy::main] |
| 15 | async fn main(_spawner: Spawner, p: Peripherals) { | 15 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32l0/src/bin/button.rs b/examples/stm32l0/src/bin/button.rs index 046c43caf..dfa91259a 100644 --- a/examples/stm32l0/src/bin/button.rs +++ b/examples/stm32l0/src/bin/button.rs | |||
| @@ -2,12 +2,12 @@ | |||
| 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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; | 8 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; |
| 9 | use embassy_stm32::Peripherals; | 9 | use embassy_stm32::Peripherals; |
| 10 | use example_common::*; | 10 | use panic_probe as _; |
| 11 | 11 | ||
| 12 | #[embassy::main] | 12 | #[embassy::main] |
| 13 | async fn main(_spawner: Spawner, p: Peripherals) { | 13 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32l0/src/bin/button_exti.rs b/examples/stm32l0/src/bin/button_exti.rs index 3edea3976..b1892e2c6 100644 --- a/examples/stm32l0/src/bin/button_exti.rs +++ b/examples/stm32l0/src/bin/button_exti.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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::*; | ||
| 8 | use embassy::executor::Spawner; | 9 | use embassy::executor::Spawner; |
| 9 | use embassy_stm32::exti::ExtiInput; | 10 | use embassy_stm32::exti::ExtiInput; |
| 10 | use embassy_stm32::gpio::{Input, Pull}; | 11 | use embassy_stm32::gpio::{Input, Pull}; |
| 11 | use embassy_stm32::Peripherals; | 12 | use embassy_stm32::Peripherals; |
| 12 | use example_common::*; | ||
| 13 | 13 | ||
| 14 | fn config() -> embassy_stm32::Config { | 14 | fn config() -> embassy_stm32::Config { |
| 15 | let mut config = embassy_stm32::Config::default(); | 15 | let mut config = embassy_stm32::Config::default(); |
diff --git a/examples/stm32l0/src/bin/lorawan.rs b/examples/stm32l0/src/bin/lorawan.rs index df08ba18c..22304f8e5 100644 --- a/examples/stm32l0/src/bin/lorawan.rs +++ b/examples/stm32l0/src/bin/lorawan.rs | |||
| @@ -6,8 +6,8 @@ | |||
| 6 | #![feature(generic_associated_types)] | 6 | #![feature(generic_associated_types)] |
| 7 | #![feature(type_alias_impl_trait)] | 7 | #![feature(type_alias_impl_trait)] |
| 8 | 8 | ||
| 9 | #[path = "../example_common.rs"] | 9 | use defmt_rtt as _; // global logger |
| 10 | mod example_common; | 10 | use panic_probe as _; |
| 11 | 11 | ||
| 12 | use embassy_lora::{sx127x::*, LoraTimer}; | 12 | use embassy_lora::{sx127x::*, LoraTimer}; |
| 13 | use embassy_stm32::{ | 13 | use embassy_stm32::{ |
diff --git a/examples/stm32l0/src/bin/raw_spawn.rs b/examples/stm32l0/src/bin/raw_spawn.rs index 9bb087c9e..4601d85df 100644 --- a/examples/stm32l0/src/bin/raw_spawn.rs +++ b/examples/stm32l0/src/bin/raw_spawn.rs | |||
| @@ -1,9 +1,9 @@ | |||
| 1 | #![no_std] | 1 | #![no_std] |
| 2 | #![no_main] | 2 | #![no_main] |
| 3 | 3 | ||
| 4 | #[path = "../example_common.rs"] | 4 | use defmt::*; |
| 5 | mod example_common; | 5 | use defmt_rtt as _; // global logger |
| 6 | use example_common::*; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use core::mem; | 8 | use core::mem; |
| 9 | use cortex_m_rt::entry; | 9 | use cortex_m_rt::entry; |
diff --git a/examples/stm32l0/src/bin/spi.rs b/examples/stm32l0/src/bin/spi.rs index 8d6e89d91..5ed783b10 100644 --- a/examples/stm32l0/src/bin/spi.rs +++ b/examples/stm32l0/src/bin/spi.rs | |||
| @@ -2,12 +2,12 @@ | |||
| 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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::*; | ||
| 8 | use embassy::executor::Spawner; | 9 | use embassy::executor::Spawner; |
| 9 | use embassy_stm32::gpio::{Level, Output, Speed}; | 10 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 10 | use example_common::*; | ||
| 11 | 11 | ||
| 12 | use embassy_stm32::dma::NoDma; | 12 | use embassy_stm32::dma::NoDma; |
| 13 | use embassy_stm32::spi::{Config, Spi}; | 13 | use embassy_stm32::spi::{Config, Spi}; |
diff --git a/examples/stm32l0/src/bin/usart_dma.rs b/examples/stm32l0/src/bin/usart_dma.rs index 543e66f62..b3fdcacbe 100644 --- a/examples/stm32l0/src/bin/usart_dma.rs +++ b/examples/stm32l0/src/bin/usart_dma.rs | |||
| @@ -2,10 +2,10 @@ | |||
| 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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use example_common::*; | 8 | use defmt::*; |
| 9 | 9 | ||
| 10 | use embassy::executor::Spawner; | 10 | use embassy::executor::Spawner; |
| 11 | use embassy_stm32::usart::{Config, Uart}; | 11 | use embassy_stm32::usart::{Config, Uart}; |
diff --git a/examples/stm32l0/src/bin/usart_irq.rs b/examples/stm32l0/src/bin/usart_irq.rs index 588073902..abb27fa4f 100644 --- a/examples/stm32l0/src/bin/usart_irq.rs +++ b/examples/stm32l0/src/bin/usart_irq.rs | |||
| @@ -2,10 +2,10 @@ | |||
| 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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use example_common::*; | 8 | use defmt::*; |
| 9 | 9 | ||
| 10 | use embassy::executor::Spawner; | 10 | use embassy::executor::Spawner; |
| 11 | use embassy::io::{AsyncBufReadExt, AsyncWriteExt}; | 11 | use embassy::io::{AsyncBufReadExt, AsyncWriteExt}; |
diff --git a/examples/stm32l0/src/example_common.rs b/examples/stm32l0/src/example_common.rs deleted file mode 100644 index 54d633837..000000000 --- a/examples/stm32l0/src/example_common.rs +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | #![macro_use] | ||
| 2 | |||
| 3 | use defmt_rtt as _; // global logger | ||
| 4 | use panic_probe as _; | ||
| 5 | |||
| 6 | pub use defmt::*; | ||
| 7 | |||
| 8 | use core::sync::atomic::{AtomicUsize, Ordering}; | ||
| 9 | |||
| 10 | defmt::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 | } | ||
diff --git a/examples/stm32l1/Cargo.toml b/examples/stm32l1/Cargo.toml index 0cdf59162..a7a6c228e 100644 --- a/examples/stm32l1/Cargo.toml +++ b/examples/stm32l1/Cargo.toml | |||
| @@ -6,7 +6,7 @@ version = "0.1.0" | |||
| 6 | resolver = "2" | 6 | resolver = "2" |
| 7 | 7 | ||
| 8 | [dependencies] | 8 | [dependencies] |
| 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt", "defmt-timestamp-uptime"] } |
| 10 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32l151cb-a", "time-driver-any", "memory-x"] } | 10 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32l151cb-a", "time-driver-any", "memory-x"] } |
| 11 | 11 | ||
| 12 | defmt = "0.3" | 12 | defmt = "0.3" |
diff --git a/examples/stm32l1/src/bin/blinky.rs b/examples/stm32l1/src/bin/blinky.rs index 07c804e9f..e81455524 100644 --- a/examples/stm32l1/src/bin/blinky.rs +++ b/examples/stm32l1/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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::*; | ||
| 8 | use embassy::executor::Spawner; | 9 | use embassy::executor::Spawner; |
| 9 | use embassy::time::{Duration, Timer}; | 10 | use embassy::time::{Duration, Timer}; |
| 10 | use embassy_stm32::gpio::{Level, Output, Speed}; | 11 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 11 | use embassy_stm32::Peripherals; | 12 | use embassy_stm32::Peripherals; |
| 12 | use example_common::*; | ||
| 13 | 13 | ||
| 14 | #[embassy::main] | 14 | #[embassy::main] |
| 15 | async fn main(_spawner: Spawner, p: Peripherals) { | 15 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32l1/src/bin/spi.rs b/examples/stm32l1/src/bin/spi.rs index e97e3ebb4..bced0c54e 100644 --- a/examples/stm32l1/src/bin/spi.rs +++ b/examples/stm32l1/src/bin/spi.rs | |||
| @@ -2,12 +2,12 @@ | |||
| 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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::*; | ||
| 8 | use embassy::executor::Spawner; | 9 | use embassy::executor::Spawner; |
| 9 | use embassy_stm32::gpio::{Level, Output, Speed}; | 10 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 10 | use example_common::*; | ||
| 11 | 11 | ||
| 12 | use embassy_stm32::dma::NoDma; | 12 | use embassy_stm32::dma::NoDma; |
| 13 | use embassy_stm32::spi::{Config, Spi}; | 13 | use embassy_stm32::spi::{Config, Spi}; |
diff --git a/examples/stm32l1/src/example_common.rs b/examples/stm32l1/src/example_common.rs deleted file mode 100644 index 54d633837..000000000 --- a/examples/stm32l1/src/example_common.rs +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | #![macro_use] | ||
| 2 | |||
| 3 | use defmt_rtt as _; // global logger | ||
| 4 | use panic_probe as _; | ||
| 5 | |||
| 6 | pub use defmt::*; | ||
| 7 | |||
| 8 | use core::sync::atomic::{AtomicUsize, Ordering}; | ||
| 9 | |||
| 10 | defmt::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 | } | ||
diff --git a/examples/stm32l4/Cargo.toml b/examples/stm32l4/Cargo.toml index 4b1f9a912..0709a8f5b 100644 --- a/examples/stm32l4/Cargo.toml +++ b/examples/stm32l4/Cargo.toml | |||
| @@ -8,7 +8,7 @@ resolver = "2" | |||
| 8 | [features] | 8 | [features] |
| 9 | 9 | ||
| 10 | [dependencies] | 10 | [dependencies] |
| 11 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt" ] } | 11 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt", "defmt-timestamp-uptime"] } |
| 12 | embassy-traits = { version = "0.1.0", path = "../../embassy-traits" } | 12 | embassy-traits = { version = "0.1.0", path = "../../embassy-traits" } |
| 13 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "unstable-pac", "stm32l4s5vi", "time-driver-any", "exti", "unstable-traits"] } | 13 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "unstable-pac", "stm32l4s5vi", "time-driver-any", "exti", "unstable-traits"] } |
| 14 | 14 | ||
diff --git a/examples/stm32l4/src/bin/adc.rs b/examples/stm32l4/src/bin/adc.rs index 83c54222d..58ef6ebaa 100644 --- a/examples/stm32l4/src/bin/adc.rs +++ b/examples/stm32l4/src/bin/adc.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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::*; | ||
| 8 | use embassy::time::Delay; | 9 | use embassy::time::Delay; |
| 9 | use embassy_stm32::adc::{Adc, Resolution}; | 10 | use embassy_stm32::adc::{Adc, Resolution}; |
| 10 | use embassy_stm32::pac; | 11 | use embassy_stm32::pac; |
| 11 | use example_common::*; | ||
| 12 | 12 | ||
| 13 | #[cortex_m_rt::entry] | 13 | #[cortex_m_rt::entry] |
| 14 | fn main() -> ! { | 14 | fn main() -> ! { |
diff --git a/examples/stm32l4/src/bin/blinky.rs b/examples/stm32l4/src/bin/blinky.rs index 030283756..e24a5bd37 100644 --- a/examples/stm32l4/src/bin/blinky.rs +++ b/examples/stm32l4/src/bin/blinky.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy::time::{Duration, Timer}; | 8 | use embassy::time::{Duration, Timer}; |
| 9 | use embassy_stm32::gpio::{Level, Output, Speed}; | 9 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | use example_common::*; | 11 | use panic_probe as _; |
| 12 | 12 | ||
| 13 | #[embassy::main] | 13 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 14 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32l4/src/bin/button.rs b/examples/stm32l4/src/bin/button.rs index 6073c137e..ff270b519 100644 --- a/examples/stm32l4/src/bin/button.rs +++ b/examples/stm32l4/src/bin/button.rs | |||
| @@ -2,10 +2,10 @@ | |||
| 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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy_stm32::gpio::{Input, Pull}; | 7 | use embassy_stm32::gpio::{Input, Pull}; |
| 8 | use example_common::*; | 8 | use panic_probe as _; |
| 9 | 9 | ||
| 10 | #[cortex_m_rt::entry] | 10 | #[cortex_m_rt::entry] |
| 11 | fn main() -> ! { | 11 | fn main() -> ! { |
diff --git a/examples/stm32l4/src/bin/button_exti.rs b/examples/stm32l4/src/bin/button_exti.rs index 848818bf2..4b1cadcb5 100644 --- a/examples/stm32l4/src/bin/button_exti.rs +++ b/examples/stm32l4/src/bin/button_exti.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy_stm32::exti::ExtiInput; | 8 | use embassy_stm32::exti::ExtiInput; |
| 9 | use embassy_stm32::gpio::{Input, Pull}; | 9 | use embassy_stm32::gpio::{Input, Pull}; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | use example_common::*; | 11 | use panic_probe as _; |
| 12 | 12 | ||
| 13 | #[embassy::main] | 13 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 14 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32l4/src/bin/dac.rs b/examples/stm32l4/src/bin/dac.rs index 201ba473b..c26e7e709 100644 --- a/examples/stm32l4/src/bin/dac.rs +++ b/examples/stm32l4/src/bin/dac.rs | |||
| @@ -2,12 +2,12 @@ | |||
| 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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::*; | ||
| 8 | use embassy_stm32::dac::{Channel, Dac, Value}; | 9 | use embassy_stm32::dac::{Channel, Dac, Value}; |
| 9 | use embassy_stm32::pac; | 10 | use embassy_stm32::pac; |
| 10 | use example_common::*; | ||
| 11 | 11 | ||
| 12 | #[cortex_m_rt::entry] | 12 | #[cortex_m_rt::entry] |
| 13 | fn main() -> ! { | 13 | fn main() -> ! { |
diff --git a/examples/stm32l4/src/bin/i2c.rs b/examples/stm32l4/src/bin/i2c.rs index 615012a06..467765642 100644 --- a/examples/stm32l4/src/bin/i2c.rs +++ b/examples/stm32l4/src/bin/i2c.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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::*; | ||
| 8 | use embassy::executor::Spawner; | 9 | use embassy::executor::Spawner; |
| 9 | use embassy_stm32::dma::NoDma; | 10 | use embassy_stm32::dma::NoDma; |
| 10 | use embassy_stm32::i2c::I2c; | 11 | use embassy_stm32::i2c::I2c; |
| 11 | use embassy_stm32::interrupt; | 12 | use embassy_stm32::interrupt; |
| 12 | use embassy_stm32::time::Hertz; | 13 | use embassy_stm32::time::Hertz; |
| 13 | use embassy_stm32::Peripherals; | 14 | use embassy_stm32::Peripherals; |
| 14 | use example_common::{info, unwrap}; | ||
| 15 | 15 | ||
| 16 | const ADDRESS: u8 = 0x5F; | 16 | const ADDRESS: u8 = 0x5F; |
| 17 | const WHOAMI: u8 = 0x0F; | 17 | const WHOAMI: u8 = 0x0F; |
diff --git a/examples/stm32l4/src/bin/i2c_blocking_async.rs b/examples/stm32l4/src/bin/i2c_blocking_async.rs index 07077f9fb..136aea849 100644 --- a/examples/stm32l4/src/bin/i2c_blocking_async.rs +++ b/examples/stm32l4/src/bin/i2c_blocking_async.rs | |||
| @@ -2,9 +2,10 @@ | |||
| 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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::*; | ||
| 8 | use embassy::executor::Spawner; | 9 | use embassy::executor::Spawner; |
| 9 | use embassy_stm32::dma::NoDma; | 10 | use embassy_stm32::dma::NoDma; |
| 10 | use embassy_stm32::i2c::I2c; | 11 | use embassy_stm32::i2c::I2c; |
| @@ -13,7 +14,6 @@ use embassy_stm32::time::Hertz; | |||
| 13 | use embassy_stm32::Peripherals; | 14 | use embassy_stm32::Peripherals; |
| 14 | use embassy_traits::adapter::BlockingAsync; | 15 | use embassy_traits::adapter::BlockingAsync; |
| 15 | use embedded_hal_async::i2c::I2c as I2cTrait; | 16 | use embedded_hal_async::i2c::I2c as I2cTrait; |
| 16 | use example_common::{info, unwrap}; | ||
| 17 | 17 | ||
| 18 | const ADDRESS: u8 = 0x5F; | 18 | const ADDRESS: u8 = 0x5F; |
| 19 | const WHOAMI: u8 = 0x0F; | 19 | const WHOAMI: u8 = 0x0F; |
diff --git a/examples/stm32l4/src/bin/i2c_dma.rs b/examples/stm32l4/src/bin/i2c_dma.rs index d77bee8c1..886a0e09f 100644 --- a/examples/stm32l4/src/bin/i2c_dma.rs +++ b/examples/stm32l4/src/bin/i2c_dma.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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::*; | ||
| 8 | use embassy::executor::Spawner; | 9 | use embassy::executor::Spawner; |
| 9 | use embassy_stm32::i2c::I2c; | 10 | use embassy_stm32::i2c::I2c; |
| 10 | use embassy_stm32::interrupt; | 11 | use embassy_stm32::interrupt; |
| 11 | use embassy_stm32::time::Hertz; | 12 | use embassy_stm32::time::Hertz; |
| 12 | use embassy_stm32::Peripherals; | 13 | use embassy_stm32::Peripherals; |
| 13 | use example_common::{info, unwrap}; | ||
| 14 | 14 | ||
| 15 | const ADDRESS: u8 = 0x5F; | 15 | const ADDRESS: u8 = 0x5F; |
| 16 | const WHOAMI: u8 = 0x0F; | 16 | const WHOAMI: u8 = 0x0F; |
diff --git a/examples/stm32l4/src/bin/rng.rs b/examples/stm32l4/src/bin/rng.rs index 37db9e05a..5f75c1ff1 100644 --- a/examples/stm32l4/src/bin/rng.rs +++ b/examples/stm32l4/src/bin/rng.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy_stm32::rcc::{ClockSrc, PLLClkDiv, PLLMul, PLLSource, PLLSrcDiv}; | 8 | use embassy_stm32::rcc::{ClockSrc, PLLClkDiv, PLLMul, PLLSource, PLLSrcDiv}; |
| 9 | use embassy_stm32::rng::Rng; | 9 | use embassy_stm32::rng::Rng; |
| 10 | use embassy_stm32::{Config, Peripherals}; | 10 | use embassy_stm32::{Config, Peripherals}; |
| 11 | use example_common::*; | 11 | use panic_probe as _; |
| 12 | 12 | ||
| 13 | fn config() -> Config { | 13 | fn config() -> Config { |
| 14 | let mut config = Config::default(); | 14 | let mut config = Config::default(); |
diff --git a/examples/stm32l4/src/bin/spi.rs b/examples/stm32l4/src/bin/spi.rs index 8567d3062..44fdf81a8 100644 --- a/examples/stm32l4/src/bin/spi.rs +++ b/examples/stm32l4/src/bin/spi.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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::*; | ||
| 8 | use embassy_stm32::dma::NoDma; | 9 | use embassy_stm32::dma::NoDma; |
| 9 | use embassy_stm32::gpio::{Level, Output, Speed}; | 10 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 10 | use embassy_stm32::spi::{Config, Spi}; | 11 | use embassy_stm32::spi::{Config, Spi}; |
| 11 | use embassy_stm32::time::Hertz; | 12 | use embassy_stm32::time::Hertz; |
| 12 | use example_common::*; | ||
| 13 | 13 | ||
| 14 | #[cortex_m_rt::entry] | 14 | #[cortex_m_rt::entry] |
| 15 | fn main() -> ! { | 15 | fn main() -> ! { |
diff --git a/examples/stm32l4/src/bin/spi_blocking_async.rs b/examples/stm32l4/src/bin/spi_blocking_async.rs index 89925d309..0398965d3 100644 --- a/examples/stm32l4/src/bin/spi_blocking_async.rs +++ b/examples/stm32l4/src/bin/spi_blocking_async.rs | |||
| @@ -2,9 +2,10 @@ | |||
| 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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::*; | ||
| 8 | use embassy::executor::Spawner; | 9 | use embassy::executor::Spawner; |
| 9 | use embassy_stm32::dma::NoDma; | 10 | use embassy_stm32::dma::NoDma; |
| 10 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; | 11 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; |
| @@ -13,7 +14,6 @@ use embassy_stm32::time::Hertz; | |||
| 13 | use embassy_stm32::Peripherals; | 14 | use embassy_stm32::Peripherals; |
| 14 | use embassy_traits::adapter::BlockingAsync; | 15 | use embassy_traits::adapter::BlockingAsync; |
| 15 | use embedded_hal_async::spi::SpiBus; | 16 | use embedded_hal_async::spi::SpiBus; |
| 16 | use example_common::*; | ||
| 17 | 17 | ||
| 18 | #[embassy::main] | 18 | #[embassy::main] |
| 19 | async fn main(_spawner: Spawner, p: Peripherals) { | 19 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32l4/src/bin/spi_dma.rs b/examples/stm32l4/src/bin/spi_dma.rs index a9327f8fe..88d02c7e1 100644 --- a/examples/stm32l4/src/bin/spi_dma.rs +++ b/examples/stm32l4/src/bin/spi_dma.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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::*; | ||
| 8 | use embassy::executor::Spawner; | 9 | use embassy::executor::Spawner; |
| 9 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; | 10 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; |
| 10 | use embassy_stm32::spi::{Config, Spi}; | 11 | use embassy_stm32::spi::{Config, Spi}; |
| 11 | use embassy_stm32::time::Hertz; | 12 | use embassy_stm32::time::Hertz; |
| 12 | use embassy_stm32::Peripherals; | 13 | use embassy_stm32::Peripherals; |
| 13 | use example_common::*; | ||
| 14 | 14 | ||
| 15 | #[embassy::main] | 15 | #[embassy::main] |
| 16 | async fn main(_spawner: Spawner, p: Peripherals) { | 16 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32l4/src/bin/usart.rs b/examples/stm32l4/src/bin/usart.rs index 00875c896..b38f55456 100644 --- a/examples/stm32l4/src/bin/usart.rs +++ b/examples/stm32l4/src/bin/usart.rs | |||
| @@ -2,12 +2,12 @@ | |||
| 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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::*; | ||
| 8 | use embassy_stm32::dma::NoDma; | 9 | use embassy_stm32::dma::NoDma; |
| 9 | use embassy_stm32::usart::{Config, Uart}; | 10 | use embassy_stm32::usart::{Config, Uart}; |
| 10 | use example_common::*; | ||
| 11 | 11 | ||
| 12 | #[cortex_m_rt::entry] | 12 | #[cortex_m_rt::entry] |
| 13 | fn main() -> ! { | 13 | fn main() -> ! { |
diff --git a/examples/stm32l4/src/bin/usart_blocking_async.rs b/examples/stm32l4/src/bin/usart_blocking_async.rs index dae673a5d..7efccace5 100644 --- a/examples/stm32l4/src/bin/usart_blocking_async.rs +++ b/examples/stm32l4/src/bin/usart_blocking_async.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"] | 5 | use defmt_rtt as _; // global logger |
| 6 | mod example_common; | 6 | use panic_probe as _; |
| 7 | 7 | ||
| 8 | use defmt::*; | ||
| 8 | use embassy::executor::Spawner; | 9 | use embassy::executor::Spawner; |
| 9 | use embassy_stm32::dma::NoDma; | 10 | use embassy_stm32::dma::NoDma; |
| 10 | use embassy_stm32::usart::{Config, Uart}; | 11 | use embassy_stm32::usart::{Config, Uart}; |
| 11 | use embassy_stm32::Peripherals; | 12 | use embassy_stm32::Peripherals; |
| 12 | use embassy_traits::adapter::BlockingAsync; | 13 | use embassy_traits::adapter::BlockingAsync; |
| 13 | use embedded_hal_async::serial::{Read, Write}; | 14 | use embedded_hal_async::serial::{Read, Write}; |
| 14 | use example_common::*; | ||
| 15 | 15 | ||
| 16 | #[embassy::main] | 16 | #[embassy::main] |
| 17 | async fn main(_spawner: Spawner, p: Peripherals) { | 17 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32l4/src/bin/usart_dma.rs b/examples/stm32l4/src/bin/usart_dma.rs index b3a1e3897..40e2c3671 100644 --- a/examples/stm32l4/src/bin/usart_dma.rs +++ b/examples/stm32l4/src/bin/usart_dma.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"] | ||
| 6 | mod example_common; | ||
| 7 | use core::fmt::Write; | 5 | use core::fmt::Write; |
| 6 | use defmt::*; | ||
| 7 | use defmt_rtt as _; // global logger | ||
| 8 | use embassy::executor::Spawner; | 8 | use embassy::executor::Spawner; |
| 9 | use embassy_stm32::dma::NoDma; | 9 | use embassy_stm32::dma::NoDma; |
| 10 | use embassy_stm32::usart::{Config, Uart}; | 10 | use embassy_stm32::usart::{Config, Uart}; |
| 11 | use embassy_stm32::Peripherals; | 11 | use embassy_stm32::Peripherals; |
| 12 | use example_common::*; | ||
| 13 | use heapless::String; | 12 | use heapless::String; |
| 13 | use panic_probe as _; | ||
| 14 | 14 | ||
| 15 | #[embassy::main] | 15 | #[embassy::main] |
| 16 | async fn main(_spawner: Spawner, p: Peripherals) { | 16 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32l4/src/example_common.rs b/examples/stm32l4/src/example_common.rs deleted file mode 100644 index 54d633837..000000000 --- a/examples/stm32l4/src/example_common.rs +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | #![macro_use] | ||
| 2 | |||
| 3 | use defmt_rtt as _; // global logger | ||
| 4 | use panic_probe as _; | ||
| 5 | |||
| 6 | pub use defmt::*; | ||
| 7 | |||
| 8 | use core::sync::atomic::{AtomicUsize, Ordering}; | ||
| 9 | |||
| 10 | defmt::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 | } | ||
diff --git a/examples/stm32u5/Cargo.toml b/examples/stm32u5/Cargo.toml index 87e69c68a..e518195bc 100644 --- a/examples/stm32u5/Cargo.toml +++ b/examples/stm32u5/Cargo.toml | |||
| @@ -6,8 +6,8 @@ version = "0.1.0" | |||
| 6 | resolver = "2" | 6 | resolver = "2" |
| 7 | 7 | ||
| 8 | [dependencies] | 8 | [dependencies] |
| 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt", "defmt-timestamp-uptime"] } |
| 10 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "unstable-pac", "stm32u585ai", "memory-x" ] } | 10 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "unstable-pac", "stm32u585ai", "time-driver-any", "memory-x" ] } |
| 11 | 11 | ||
| 12 | defmt = "0.3" | 12 | defmt = "0.3" |
| 13 | defmt-rtt = "0.3" | 13 | defmt-rtt = "0.3" |
diff --git a/examples/stm32u5/src/bin/boot.rs b/examples/stm32u5/src/bin/boot.rs index 23cfc3061..e04021349 100644 --- a/examples/stm32u5/src/bin/boot.rs +++ b/examples/stm32u5/src/bin/boot.rs | |||
| @@ -2,9 +2,9 @@ | |||
| 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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use example_common::*; | 7 | use panic_probe as _; |
| 8 | 8 | ||
| 9 | use embassy_stm32 as _; | 9 | use embassy_stm32 as _; |
| 10 | 10 | ||
diff --git a/examples/stm32u5/src/example_common.rs b/examples/stm32u5/src/example_common.rs deleted file mode 100644 index 54d633837..000000000 --- a/examples/stm32u5/src/example_common.rs +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | #![macro_use] | ||
| 2 | |||
| 3 | use defmt_rtt as _; // global logger | ||
| 4 | use panic_probe as _; | ||
| 5 | |||
| 6 | pub use defmt::*; | ||
| 7 | |||
| 8 | use core::sync::atomic::{AtomicUsize, Ordering}; | ||
| 9 | |||
| 10 | defmt::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 | } | ||
diff --git a/examples/stm32wb55/Cargo.toml b/examples/stm32wb55/Cargo.toml index bd066ef05..8997d411d 100644 --- a/examples/stm32wb55/Cargo.toml +++ b/examples/stm32wb55/Cargo.toml | |||
| @@ -6,7 +6,7 @@ version = "0.1.0" | |||
| 6 | resolver = "2" | 6 | resolver = "2" |
| 7 | 7 | ||
| 8 | [dependencies] | 8 | [dependencies] |
| 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt", "defmt-timestamp-uptime"] } |
| 10 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32wb55cc", "time-driver-any", "exti"] } | 10 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32wb55cc", "time-driver-any", "exti"] } |
| 11 | 11 | ||
| 12 | defmt = "0.3" | 12 | defmt = "0.3" |
diff --git a/examples/stm32wb55/src/bin/blinky.rs b/examples/stm32wb55/src/bin/blinky.rs index e1dbb30de..59324161a 100644 --- a/examples/stm32wb55/src/bin/blinky.rs +++ b/examples/stm32wb55/src/bin/blinky.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy::time::{Duration, Timer}; | 8 | use embassy::time::{Duration, Timer}; |
| 9 | use embassy_stm32::gpio::{Level, Output, Speed}; | 9 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | use example_common::*; | 11 | use panic_probe as _; |
| 12 | 12 | ||
| 13 | #[embassy::main] | 13 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 14 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32wb55/src/bin/button_exti.rs b/examples/stm32wb55/src/bin/button_exti.rs index 4592fa308..a30a4a216 100644 --- a/examples/stm32wb55/src/bin/button_exti.rs +++ b/examples/stm32wb55/src/bin/button_exti.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy_stm32::exti::ExtiInput; | 8 | use embassy_stm32::exti::ExtiInput; |
| 9 | use embassy_stm32::gpio::{Input, Pull}; | 9 | use embassy_stm32::gpio::{Input, Pull}; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | use example_common::*; | 11 | use panic_probe as _; |
| 12 | 12 | ||
| 13 | #[embassy::main] | 13 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 14 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32wb55/src/example_common.rs b/examples/stm32wb55/src/example_common.rs deleted file mode 100644 index 54d633837..000000000 --- a/examples/stm32wb55/src/example_common.rs +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | #![macro_use] | ||
| 2 | |||
| 3 | use defmt_rtt as _; // global logger | ||
| 4 | use panic_probe as _; | ||
| 5 | |||
| 6 | pub use defmt::*; | ||
| 7 | |||
| 8 | use core::sync::atomic::{AtomicUsize, Ordering}; | ||
| 9 | |||
| 10 | defmt::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 | } | ||
diff --git a/examples/stm32wl55/Cargo.toml b/examples/stm32wl55/Cargo.toml index 4901ea693..97b38aeab 100644 --- a/examples/stm32wl55/Cargo.toml +++ b/examples/stm32wl55/Cargo.toml | |||
| @@ -6,7 +6,7 @@ version = "0.1.0" | |||
| 6 | resolver = "2" | 6 | resolver = "2" |
| 7 | 7 | ||
| 8 | [dependencies] | 8 | [dependencies] |
| 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt"] } | 9 | embassy = { version = "0.1.0", path = "../../embassy", features = ["defmt", "defmt-timestamp-uptime"] } |
| 10 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32wl55jc-cm4", "time-driver-any", "memory-x", "subghz", "unstable-pac", "exti"] } | 10 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32wl55jc-cm4", "time-driver-any", "memory-x", "subghz", "unstable-pac", "exti"] } |
| 11 | embassy-lora = { version = "0.1.0", path = "../../embassy-lora", features = ["stm32wl", "time"] } | 11 | embassy-lora = { version = "0.1.0", path = "../../embassy-lora", features = ["stm32wl", "time"] } |
| 12 | 12 | ||
diff --git a/examples/stm32wl55/src/bin/blinky.rs b/examples/stm32wl55/src/bin/blinky.rs index 9ec208c3d..78079bfd3 100644 --- a/examples/stm32wl55/src/bin/blinky.rs +++ b/examples/stm32wl55/src/bin/blinky.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy::time::{Duration, Timer}; | 8 | use embassy::time::{Duration, Timer}; |
| 9 | use embassy_stm32::gpio::{Level, Output, Speed}; | 9 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | use example_common::*; | 11 | use panic_probe as _; |
| 12 | 12 | ||
| 13 | #[embassy::main] | 13 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 14 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32wl55/src/bin/button.rs b/examples/stm32wl55/src/bin/button.rs index be8f60e26..f80b9ab4f 100644 --- a/examples/stm32wl55/src/bin/button.rs +++ b/examples/stm32wl55/src/bin/button.rs | |||
| @@ -2,10 +2,10 @@ | |||
| 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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; | 7 | use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; |
| 8 | use example_common::*; | 8 | use panic_probe as _; |
| 9 | 9 | ||
| 10 | use cortex_m_rt::entry; | 10 | use cortex_m_rt::entry; |
| 11 | 11 | ||
diff --git a/examples/stm32wl55/src/bin/button_exti.rs b/examples/stm32wl55/src/bin/button_exti.rs index 8d66c7258..9a427c2d3 100644 --- a/examples/stm32wl55/src/bin/button_exti.rs +++ b/examples/stm32wl55/src/bin/button_exti.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"] | 5 | use defmt::*; |
| 6 | mod example_common; | 6 | use defmt_rtt as _; // global logger |
| 7 | use embassy::executor::Spawner; | 7 | use embassy::executor::Spawner; |
| 8 | use embassy_stm32::exti::ExtiInput; | 8 | use embassy_stm32::exti::ExtiInput; |
| 9 | use embassy_stm32::gpio::{Input, Pull}; | 9 | use embassy_stm32::gpio::{Input, Pull}; |
| 10 | use embassy_stm32::Peripherals; | 10 | use embassy_stm32::Peripherals; |
| 11 | use example_common::*; | 11 | use panic_probe as _; |
| 12 | 12 | ||
| 13 | #[embassy::main] | 13 | #[embassy::main] |
| 14 | async fn main(_spawner: Spawner, p: Peripherals) { | 14 | async fn main(_spawner: Spawner, p: Peripherals) { |
diff --git a/examples/stm32wl55/src/bin/lorawan.rs b/examples/stm32wl55/src/bin/lorawan.rs index 5d26dead2..db4725630 100644 --- a/examples/stm32wl55/src/bin/lorawan.rs +++ b/examples/stm32wl55/src/bin/lorawan.rs | |||
| @@ -5,8 +5,8 @@ | |||
| 5 | #![feature(generic_associated_types)] | 5 | #![feature(generic_associated_types)] |
| 6 | #![feature(type_alias_impl_trait)] | 6 | #![feature(type_alias_impl_trait)] |
| 7 | 7 | ||
| 8 | #[path = "../example_common.rs"] | 8 | use defmt_rtt as _; // global logger |
| 9 | mod example_common; | 9 | use panic_probe as _; |
| 10 | 10 | ||
| 11 | use embassy_lora::{stm32wl::*, LoraTimer}; | 11 | use embassy_lora::{stm32wl::*, LoraTimer}; |
| 12 | use embassy_stm32::{ | 12 | use embassy_stm32::{ |
diff --git a/examples/stm32wl55/src/bin/subghz.rs b/examples/stm32wl55/src/bin/subghz.rs index 42d4eb64c..562e25ac0 100644 --- a/examples/stm32wl55/src/bin/subghz.rs +++ b/examples/stm32wl55/src/bin/subghz.rs | |||
| @@ -5,9 +5,10 @@ | |||
| 5 | #![feature(generic_associated_types)] | 5 | #![feature(generic_associated_types)] |
| 6 | #![feature(type_alias_impl_trait)] | 6 | #![feature(type_alias_impl_trait)] |
| 7 | 7 | ||
| 8 | #[path = "../example_common.rs"] | 8 | use defmt_rtt as _; // global logger |
| 9 | mod example_common; | 9 | use panic_probe as _; |
| 10 | 10 | ||
| 11 | use defmt::*; | ||
| 11 | use embassy::channel::signal::Signal; | 12 | use embassy::channel::signal::Signal; |
| 12 | use embassy::interrupt::{Interrupt, InterruptExt}; | 13 | use embassy::interrupt::{Interrupt, InterruptExt}; |
| 13 | use embassy_stm32::dma::NoDma; | 14 | use embassy_stm32::dma::NoDma; |
| @@ -16,7 +17,6 @@ use embassy_stm32::gpio::{Input, Level, Output, Pull, Speed}; | |||
| 16 | use embassy_stm32::interrupt; | 17 | use embassy_stm32::interrupt; |
| 17 | use embassy_stm32::subghz::*; | 18 | use embassy_stm32::subghz::*; |
| 18 | use embassy_stm32::Peripherals; | 19 | use embassy_stm32::Peripherals; |
| 19 | use example_common::unwrap; | ||
| 20 | 20 | ||
| 21 | const PING_DATA: &str = "PING"; | 21 | const PING_DATA: &str = "PING"; |
| 22 | const DATA_LEN: u8 = PING_DATA.len() as u8; | 22 | const DATA_LEN: u8 = PING_DATA.len() as u8; |
diff --git a/examples/stm32wl55/src/example_common.rs b/examples/stm32wl55/src/example_common.rs deleted file mode 100644 index 54d633837..000000000 --- a/examples/stm32wl55/src/example_common.rs +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | #![macro_use] | ||
| 2 | |||
| 3 | use defmt_rtt as _; // global logger | ||
| 4 | use panic_probe as _; | ||
| 5 | |||
| 6 | pub use defmt::*; | ||
| 7 | |||
| 8 | use core::sync::atomic::{AtomicUsize, Ordering}; | ||
| 9 | |||
| 10 | defmt::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 | } | ||
