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/stm32h7/src | |
| parent | a9e63167e1ec230ca3d28da771378f5f4936a840 (diff) | |
Use embassy/defmt-timestamp-uptime in all examples.
Diffstat (limited to 'examples/stm32h7/src')
| -rw-r--r-- | examples/stm32h7/src/bin/blinky.rs | 6 | ||||
| -rw-r--r-- | examples/stm32h7/src/bin/button_exti.rs | 6 | ||||
| -rw-r--r-- | examples/stm32h7/src/bin/camera.rs | 13 | ||||
| -rw-r--r-- | examples/stm32h7/src/bin/dac.rs | 17 | ||||
| -rw-r--r-- | examples/stm32h7/src/bin/eth.rs | 26 | ||||
| -rw-r--r-- | examples/stm32h7/src/bin/fmc.rs | 16 | ||||
| -rw-r--r-- | examples/stm32h7/src/bin/low_level_timer_api.rs | 6 | ||||
| -rw-r--r-- | examples/stm32h7/src/bin/mco.rs | 6 | ||||
| -rw-r--r-- | examples/stm32h7/src/bin/pwm.rs | 6 | ||||
| -rw-r--r-- | examples/stm32h7/src/bin/rng.rs | 6 | ||||
| -rw-r--r-- | examples/stm32h7/src/bin/sdmmc.rs | 6 | ||||
| -rw-r--r-- | examples/stm32h7/src/bin/spi.rs | 22 | ||||
| -rw-r--r-- | examples/stm32h7/src/bin/spi_dma.rs | 22 | ||||
| -rw-r--r-- | examples/stm32h7/src/bin/usart.rs | 6 | ||||
| -rw-r--r-- | examples/stm32h7/src/bin/usart_dma.rs | 6 | ||||
| -rw-r--r-- | examples/stm32h7/src/bin/usart_split.rs | 6 | ||||
| -rw-r--r-- | examples/stm32h7/src/example_common.rs | 28 |
17 files changed, 104 insertions, 100 deletions
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 | } | ||
