aboutsummaryrefslogtreecommitdiff
path: root/examples/stm32h7/src
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2022-04-02 04:35:06 +0200
committerDario Nieuwenhuis <[email protected]>2022-04-02 04:35:06 +0200
commit82803bffdab0842bf6c3e4bce21131d437b06669 (patch)
tree588c65c93b31b897f53d389f7876dc2703eb0fa8 /examples/stm32h7/src
parenta9e63167e1ec230ca3d28da771378f5f4936a840 (diff)
Use embassy/defmt-timestamp-uptime in all examples.
Diffstat (limited to 'examples/stm32h7/src')
-rw-r--r--examples/stm32h7/src/bin/blinky.rs6
-rw-r--r--examples/stm32h7/src/bin/button_exti.rs6
-rw-r--r--examples/stm32h7/src/bin/camera.rs13
-rw-r--r--examples/stm32h7/src/bin/dac.rs17
-rw-r--r--examples/stm32h7/src/bin/eth.rs26
-rw-r--r--examples/stm32h7/src/bin/fmc.rs16
-rw-r--r--examples/stm32h7/src/bin/low_level_timer_api.rs6
-rw-r--r--examples/stm32h7/src/bin/mco.rs6
-rw-r--r--examples/stm32h7/src/bin/pwm.rs6
-rw-r--r--examples/stm32h7/src/bin/rng.rs6
-rw-r--r--examples/stm32h7/src/bin/sdmmc.rs6
-rw-r--r--examples/stm32h7/src/bin/spi.rs22
-rw-r--r--examples/stm32h7/src/bin/spi_dma.rs22
-rw-r--r--examples/stm32h7/src/bin/usart.rs6
-rw-r--r--examples/stm32h7/src/bin/usart_dma.rs6
-rw-r--r--examples/stm32h7/src/bin/usart_split.rs6
-rw-r--r--examples/stm32h7/src/example_common.rs28
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"] 5use defmt::*;
6mod example_common; 6use defmt_rtt as _; // global logger
7use embassy::executor::Spawner; 7use embassy::executor::Spawner;
8use embassy::time::{Duration, Timer}; 8use embassy::time::{Duration, Timer};
9use embassy_stm32::gpio::{Level, Output, Speed}; 9use embassy_stm32::gpio::{Level, Output, Speed};
10use embassy_stm32::Peripherals; 10use embassy_stm32::Peripherals;
11use example_common::*; 11use panic_probe as _;
12 12
13#[embassy::main] 13#[embassy::main]
14async fn main(_spawner: Spawner, p: Peripherals) { 14async 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"] 5use defmt::*;
6mod example_common; 6use defmt_rtt as _; // global logger
7use embassy::executor::Spawner; 7use embassy::executor::Spawner;
8use embassy_stm32::exti::ExtiInput; 8use embassy_stm32::exti::ExtiInput;
9use embassy_stm32::gpio::{Input, Pull}; 9use embassy_stm32::gpio::{Input, Pull};
10use embassy_stm32::Peripherals; 10use embassy_stm32::Peripherals;
11use example_common::*; 11use panic_probe as _;
12 12
13#[embassy::main] 13#[embassy::main]
14async fn main(_spawner: Spawner, p: Peripherals) { 14async 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;
10use embassy_stm32::interrupt; 10use embassy_stm32::interrupt;
11use embassy_stm32::rcc::{Mco, Mco1Source, McoClock}; 11use embassy_stm32::rcc::{Mco, Mco1Source, McoClock};
12use embassy_stm32::time::U32Ext; 12use embassy_stm32::time::U32Ext;
13use embassy_stm32::Config;
13use embassy_stm32::Peripherals; 14use embassy_stm32::Peripherals;
14 15
15use defmt_rtt as _; // global logger 16use defmt_rtt as _; // global logger
16use panic_probe as _; 17use panic_probe as _;
17 18
18use core::sync::atomic::{AtomicUsize, Ordering};
19use embassy_stm32::Config;
20
21defmt::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)]
31pub fn config() -> Config { 20pub 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"] 5use defmt_rtt as _; // global logger
6mod example_common; 6use panic_probe as _;
7
8use example_common::*;
9 7
10use cortex_m_rt::entry; 8use cortex_m_rt::entry;
9use defmt::*;
11use embassy_stm32::dac::{Channel, Dac, Value}; 10use embassy_stm32::dac::{Channel, Dac, Value};
11use embassy_stm32::time::U32Ext;
12use embassy_stm32::Config;
13
14pub 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]
14fn main() -> ! { 23fn 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"] 5use defmt_rtt as _; // global logger
6mod example_common; 6use panic_probe as _;
7use embassy_stm32::peripherals::ETH;
8use example_common::config;
9 7
10use cortex_m_rt::entry; 8use cortex_m_rt::entry;
11use defmt::{info, unwrap}; 9use defmt::*;
12use defmt_rtt as _; // global logger
13use embassy::executor::{Executor, Spawner}; 10use embassy::executor::{Executor, Spawner};
14use embassy::io::AsyncWriteExt; 11use embassy::io::AsyncWriteExt;
15use embassy::time::{Duration, Timer}; 12use embassy::time::{Duration, Timer};
@@ -19,11 +16,13 @@ use embassy_net::{
19}; 16};
20use embassy_stm32::eth::lan8742a::LAN8742A; 17use embassy_stm32::eth::lan8742a::LAN8742A;
21use embassy_stm32::eth::{Ethernet, State}; 18use embassy_stm32::eth::{Ethernet, State};
19use embassy_stm32::interrupt;
20use embassy_stm32::peripherals::ETH;
21use embassy_stm32::peripherals::RNG;
22use embassy_stm32::rng::Rng; 22use embassy_stm32::rng::Rng;
23use embassy_stm32::{interrupt, peripherals}; 23use embassy_stm32::time::U32Ext;
24use embassy_stm32::Config;
24use heapless::Vec; 25use heapless::Vec;
25use panic_probe as _;
26use peripherals::RNG;
27 26
28#[embassy::task] 27#[embassy::task]
29async fn main_task( 28async fn main_task(
@@ -87,6 +86,15 @@ static ETH: Forever<Ethernet<'static, ETH, LAN8742A, 4, 4>> = Forever::new();
87static CONFIG: Forever<StaticConfigurator> = Forever::new(); 86static CONFIG: Forever<StaticConfigurator> = Forever::new();
88static NET_RESOURCES: Forever<StackResources<1, 2, 8>> = Forever::new(); 87static NET_RESOURCES: Forever<StackResources<1, 2, 8>> = Forever::new();
89 88
89#[allow(unused)]
90pub 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]
91fn main() -> ! { 99fn 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"] 5use defmt::*;
6mod example_common; 6use defmt_rtt as _; // global logger
7use embassy::executor::Spawner; 7use embassy::executor::Spawner;
8use embassy::time::{Delay, Duration, Timer}; 8use embassy::time::{Delay, Duration, Timer};
9use embassy_stm32::fmc::Fmc; 9use embassy_stm32::fmc::Fmc;
10use embassy_stm32::time::U32Ext;
11use embassy_stm32::Config;
10use embassy_stm32::Peripherals; 12use embassy_stm32::Peripherals;
11use example_common::*; 13use panic_probe as _;
14
15pub 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()")]
14async fn main(_spawner: Spawner, p: Peripherals) { 24async 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"]
6mod example_common;
7use core::marker::PhantomData; 5use core::marker::PhantomData;
6use defmt_rtt as _; // global logger
7use panic_probe as _;
8 8
9use defmt::*;
9use embassy::executor::Spawner; 10use embassy::executor::Spawner;
10use embassy::time::{Duration, Timer}; 11use embassy::time::{Duration, Timer};
11use embassy::util::Unborrow; 12use embassy::util::Unborrow;
@@ -15,7 +16,6 @@ use embassy_stm32::gpio::Speed;
15use embassy_stm32::pwm::*; 16use embassy_stm32::pwm::*;
16use embassy_stm32::time::{Hertz, U32Ext}; 17use embassy_stm32::time::{Hertz, U32Ext};
17use embassy_stm32::{Config, Peripherals}; 18use embassy_stm32::{Config, Peripherals};
18use example_common::*;
19 19
20pub fn config() -> Config { 20pub 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"] 5use defmt::*;
6mod example_common; 6use defmt_rtt as _; // global logger
7use embassy::executor::Spawner; 7use embassy::executor::Spawner;
8use embassy::time::{Duration, Timer}; 8use embassy::time::{Duration, Timer};
9use embassy_stm32::gpio::{Level, Output, Speed}; 9use embassy_stm32::gpio::{Level, Output, Speed};
10use embassy_stm32::rcc::{Mco, Mco1Source, McoClock}; 10use embassy_stm32::rcc::{Mco, Mco1Source, McoClock};
11use embassy_stm32::Peripherals; 11use embassy_stm32::Peripherals;
12use example_common::*; 12use panic_probe as _;
13 13
14#[embassy::main] 14#[embassy::main]
15async fn main(_spawner: Spawner, p: Peripherals) { 15async fn main(_spawner: Spawner, p: Peripherals) {
diff --git a/examples/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"] 5use defmt::*;
6mod example_common; 6use defmt_rtt as _; // global logger
7use embassy::executor::Spawner; 7use embassy::executor::Spawner;
8use embassy::time::{Duration, Timer}; 8use embassy::time::{Duration, Timer};
9use embassy_stm32::pwm::{simple_pwm::SimplePwm, Channel}; 9use embassy_stm32::pwm::{simple_pwm::SimplePwm, Channel};
10use embassy_stm32::time::U32Ext; 10use embassy_stm32::time::U32Ext;
11use embassy_stm32::{Config, Peripherals}; 11use embassy_stm32::{Config, Peripherals};
12use example_common::*; 12use panic_probe as _;
13 13
14pub fn config() -> Config { 14pub 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"] 5use defmt::*;
6mod example_common; 6use defmt_rtt as _; // global logger
7use embassy::executor::Spawner; 7use embassy::executor::Spawner;
8use embassy_stm32::rng::Rng; 8use embassy_stm32::rng::Rng;
9use embassy_stm32::Peripherals; 9use embassy_stm32::Peripherals;
10use example_common::*; 10use panic_probe as _;
11 11
12#[embassy::main] 12#[embassy::main]
13async fn main(_spawner: Spawner, p: Peripherals) { 13async 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"] 5use defmt_rtt as _; // global logger
6mod example_common; 6use panic_probe as _;
7 7
8use defmt::*;
8use embassy::executor::Spawner; 9use embassy::executor::Spawner;
9use embassy_stm32::sdmmc::Sdmmc; 10use embassy_stm32::sdmmc::Sdmmc;
10use embassy_stm32::time::U32Ext; 11use embassy_stm32::time::U32Ext;
11use embassy_stm32::{interrupt, Config, Peripherals}; 12use embassy_stm32::{interrupt, Config, Peripherals};
12use example_common::*;
13 13
14fn config() -> Config { 14fn 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"] 5use defmt_rtt as _; // global logger
6mod example_common; 6use panic_probe as _;
7 7
8use core::fmt::Write; 8use core::fmt::Write;
9use core::str::from_utf8;
10use cortex_m_rt::entry;
11use defmt::*;
9use embassy::executor::Executor; 12use embassy::executor::Executor;
10use embassy::util::Forever; 13use embassy::util::Forever;
11use embassy_stm32::dma::NoDma; 14use embassy_stm32::dma::NoDma;
12use embassy_stm32::spi;
13use example_common::*;
14
15use core::str::from_utf8;
16use cortex_m_rt::entry;
17use embassy_stm32::peripherals::SPI3; 15use embassy_stm32::peripherals::SPI3;
16use embassy_stm32::spi;
18use embassy_stm32::time::U32Ext; 17use embassy_stm32::time::U32Ext;
18use embassy_stm32::Config;
19use heapless::String; 19use heapless::String;
20 20
21pub 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]
22async fn main_task(mut spi: spi::Spi<'static, SPI3, NoDma, NoDma>) { 30async 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"] 5use defmt_rtt as _; // global logger
6mod example_common; 6use panic_probe as _;
7 7
8use core::fmt::Write; 8use core::fmt::Write;
9use embassy::executor::Executor;
10use embassy::util::Forever;
11use embassy_stm32::time::U32Ext;
12use example_common::*;
13
14use core::str::from_utf8; 9use core::str::from_utf8;
15use cortex_m_rt::entry; 10use cortex_m_rt::entry;
11use defmt::*;
12use embassy::executor::Executor;
13use embassy::util::Forever;
16use embassy_stm32::peripherals::{DMA1_CH3, DMA1_CH4, SPI3}; 14use embassy_stm32::peripherals::{DMA1_CH3, DMA1_CH4, SPI3};
17use embassy_stm32::spi; 15use embassy_stm32::spi;
16use embassy_stm32::time::U32Ext;
17use embassy_stm32::Config;
18use heapless::String; 18use heapless::String;
19 19
20pub 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]
21async fn main_task(mut spi: spi::Spi<'static, SPI3, DMA1_CH3, DMA1_CH4>) { 29async 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"] 5use defmt::*;
6mod example_common; 6use defmt_rtt as _; // global logger
7use embassy::executor::Executor; 7use embassy::executor::Executor;
8use embassy::util::Forever; 8use embassy::util::Forever;
9use embassy_stm32::dma::NoDma; 9use embassy_stm32::dma::NoDma;
10use embassy_stm32::usart::{Config, Uart}; 10use embassy_stm32::usart::{Config, Uart};
11use example_common::*; 11use panic_probe as _;
12 12
13use cortex_m_rt::entry; 13use 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"]
6mod example_common;
7use core::fmt::Write; 5use core::fmt::Write;
6use defmt::*;
7use defmt_rtt as _; // global logger
8use embassy::executor::Executor; 8use embassy::executor::Executor;
9use embassy::util::Forever; 9use embassy::util::Forever;
10use embassy_stm32::dma::NoDma; 10use embassy_stm32::dma::NoDma;
11use embassy_stm32::usart::{Config, Uart}; 11use embassy_stm32::usart::{Config, Uart};
12use example_common::*; 12use panic_probe as _;
13 13
14use cortex_m_rt::entry; 14use cortex_m_rt::entry;
15use heapless::String; 15use 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"] 5use defmt::*;
6mod example_common; 6use defmt_rtt as _; // global logger
7use embassy::blocking_mutex::raw::NoopRawMutex; 7use embassy::blocking_mutex::raw::NoopRawMutex;
8use embassy::channel::mpsc::{self, Channel, Sender}; 8use embassy::channel::mpsc::{self, Channel, Sender};
9use embassy::executor::Spawner; 9use 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};
17use example_common::*; 17use panic_probe as _;
18 18
19#[embassy::task] 19#[embassy::task]
20async fn writer(mut usart: Uart<'static, UART7, NoDma, NoDma>) { 20async 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
3use defmt_rtt as _; // global logger
4use panic_probe as _;
5
6pub use defmt::*;
7
8use core::sync::atomic::{AtomicUsize, Ordering};
9use embassy_stm32::time::U32Ext;
10use embassy_stm32::Config;
11
12defmt::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)]
22pub 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}