diff options
| author | Dario Nieuwenhuis <[email protected]> | 2022-08-17 22:25:58 +0200 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2022-08-17 22:25:58 +0200 |
| commit | 2e85eaf7d5f4dcf6d84f426542b8ec87aa51c429 (patch) | |
| tree | 1d22c32eae26435677df89083d71f50fc298a09f | |
| parent | fc6e1e06b305d302d1b7ad17e8ef3a9be986c358 (diff) | |
examples Remove the `fn config()` idiom.
It was only useful for doing #[embassy_executor::main(config = "config()")]`. Now that
it's gone, it makes more sense to build the config in main directly.
30 files changed, 107 insertions, 215 deletions
diff --git a/examples/stm32f1/src/bin/hello.rs b/examples/stm32f1/src/bin/hello.rs index 721b21c36..57892d3cc 100644 --- a/examples/stm32f1/src/bin/hello.rs +++ b/examples/stm32f1/src/bin/hello.rs | |||
| @@ -9,15 +9,12 @@ use embassy_stm32::time::Hertz; | |||
| 9 | use embassy_stm32::Config; | 9 | use embassy_stm32::Config; |
| 10 | use {defmt_rtt as _, panic_probe as _}; | 10 | use {defmt_rtt as _, panic_probe as _}; |
| 11 | 11 | ||
| 12 | fn config() -> Config { | 12 | #[embassy_executor::main] |
| 13 | async fn main(_spawner: Spawner) -> ! { | ||
| 13 | let mut config = Config::default(); | 14 | let mut config = Config::default(); |
| 14 | config.rcc.sys_ck = Some(Hertz(36_000_000)); | 15 | config.rcc.sys_ck = Some(Hertz(36_000_000)); |
| 15 | config | 16 | let _p = embassy_stm32::init(config); |
| 16 | } | ||
| 17 | 17 | ||
| 18 | #[embassy_executor::main] | ||
| 19 | async fn main(_spawner: Spawner) -> ! { | ||
| 20 | let _p = embassy_stm32::init(config()); | ||
| 21 | loop { | 18 | loop { |
| 22 | info!("Hello World!"); | 19 | info!("Hello World!"); |
| 23 | Timer::after(Duration::from_secs(1)).await; | 20 | Timer::after(Duration::from_secs(1)).await; |
diff --git a/examples/stm32f1/src/bin/usb_serial.rs b/examples/stm32f1/src/bin/usb_serial.rs index 7f27e6251..2301c51b6 100644 --- a/examples/stm32f1/src/bin/usb_serial.rs +++ b/examples/stm32f1/src/bin/usb_serial.rs | |||
| @@ -15,17 +15,14 @@ use embassy_usb_serial::{CdcAcmClass, State}; | |||
| 15 | use futures::future::join; | 15 | use futures::future::join; |
| 16 | use {defmt_rtt as _, panic_probe as _}; | 16 | use {defmt_rtt as _, panic_probe as _}; |
| 17 | 17 | ||
| 18 | fn config() -> Config { | 18 | #[embassy_executor::main] |
| 19 | async fn main(_spawner: Spawner) { | ||
| 19 | let mut config = Config::default(); | 20 | let mut config = Config::default(); |
| 20 | config.rcc.hse = Some(Hertz(8_000_000)); | 21 | config.rcc.hse = Some(Hertz(8_000_000)); |
| 21 | config.rcc.sys_ck = Some(Hertz(48_000_000)); | 22 | config.rcc.sys_ck = Some(Hertz(48_000_000)); |
| 22 | config.rcc.pclk1 = Some(Hertz(24_000_000)); | 23 | config.rcc.pclk1 = Some(Hertz(24_000_000)); |
| 23 | config | 24 | let mut p = embassy_stm32::init(config); |
| 24 | } | ||
| 25 | 25 | ||
| 26 | #[embassy_executor::main] | ||
| 27 | async fn main(_spawner: Spawner) { | ||
| 28 | let mut p = embassy_stm32::init(config()); | ||
| 29 | info!("Hello World!"); | 26 | info!("Hello World!"); |
| 30 | 27 | ||
| 31 | { | 28 | { |
diff --git a/examples/stm32f2/src/bin/pll.rs b/examples/stm32f2/src/bin/pll.rs index bc0c160ba..6fce7a716 100644 --- a/examples/stm32f2/src/bin/pll.rs +++ b/examples/stm32f2/src/bin/pll.rs | |||
| @@ -14,8 +14,10 @@ use embassy_stm32::time::Hertz; | |||
| 14 | use embassy_stm32::Config; | 14 | use embassy_stm32::Config; |
| 15 | use {defmt_rtt as _, panic_probe as _}; | 15 | use {defmt_rtt as _, panic_probe as _}; |
| 16 | 16 | ||
| 17 | // Example config for maximum performance on a NUCLEO-F207ZG board | 17 | #[embassy_executor::main] |
| 18 | fn config() -> Config { | 18 | async fn main(_spawner: Spawner) { |
| 19 | // Example config for maximum performance on a NUCLEO-F207ZG board | ||
| 20 | |||
| 19 | let mut config = Config::default(); | 21 | let mut config = Config::default(); |
| 20 | // By default, HSE on the board comes from a 8 MHz clock signal (not a crystal) | 22 | // By default, HSE on the board comes from a 8 MHz clock signal (not a crystal) |
| 21 | config.rcc.hse = Some(HSEConfig { | 23 | config.rcc.hse = Some(HSEConfig { |
| @@ -40,12 +42,9 @@ fn config() -> Config { | |||
| 40 | config.rcc.apb1_pre = APBPrescaler::Div4; | 42 | config.rcc.apb1_pre = APBPrescaler::Div4; |
| 41 | // 120 MHz / 2 = 60 MHz APB2 frequency | 43 | // 120 MHz / 2 = 60 MHz APB2 frequency |
| 42 | config.rcc.apb2_pre = APBPrescaler::Div2; | 44 | config.rcc.apb2_pre = APBPrescaler::Div2; |
| 43 | config | ||
| 44 | } | ||
| 45 | 45 | ||
| 46 | #[embassy_executor::main] | 46 | let _p = embassy_stm32::init(config); |
| 47 | async fn main(_spawner: Spawner) { | 47 | |
| 48 | let _p = embassy_stm32::init(config()); | ||
| 49 | loop { | 48 | loop { |
| 50 | Timer::after(Duration::from_millis(1000)).await; | 49 | Timer::after(Duration::from_millis(1000)).await; |
| 51 | info!("1s elapsed"); | 50 | info!("1s elapsed"); |
diff --git a/examples/stm32f3/src/bin/hello.rs b/examples/stm32f3/src/bin/hello.rs index 7846912c9..cd59f7409 100644 --- a/examples/stm32f3/src/bin/hello.rs +++ b/examples/stm32f3/src/bin/hello.rs | |||
| @@ -9,16 +9,13 @@ use embassy_stm32::time::Hertz; | |||
| 9 | use embassy_stm32::Config; | 9 | use embassy_stm32::Config; |
| 10 | use {defmt_rtt as _, panic_probe as _}; | 10 | use {defmt_rtt as _, panic_probe as _}; |
| 11 | 11 | ||
| 12 | fn config() -> Config { | 12 | #[embassy_executor::main] |
| 13 | async fn main(_spawner: Spawner) -> ! { | ||
| 13 | let mut config = Config::default(); | 14 | let mut config = Config::default(); |
| 14 | config.rcc.hse = Some(Hertz(8_000_000)); | 15 | config.rcc.hse = Some(Hertz(8_000_000)); |
| 15 | config.rcc.sysclk = Some(Hertz(16_000_000)); | 16 | config.rcc.sysclk = Some(Hertz(16_000_000)); |
| 16 | config | 17 | let _p = embassy_stm32::init(config); |
| 17 | } | ||
| 18 | 18 | ||
| 19 | #[embassy_executor::main] | ||
| 20 | async fn main(_spawner: Spawner) -> ! { | ||
| 21 | let _p = embassy_stm32::init(config()); | ||
| 22 | loop { | 19 | loop { |
| 23 | info!("Hello World!"); | 20 | info!("Hello World!"); |
| 24 | Timer::after(Duration::from_secs(1)).await; | 21 | Timer::after(Duration::from_secs(1)).await; |
diff --git a/examples/stm32f3/src/bin/usb_serial.rs b/examples/stm32f3/src/bin/usb_serial.rs index 36d38d87f..757643ea5 100644 --- a/examples/stm32f3/src/bin/usb_serial.rs +++ b/examples/stm32f3/src/bin/usb_serial.rs | |||
| @@ -15,21 +15,16 @@ use embassy_usb_serial::{CdcAcmClass, State}; | |||
| 15 | use futures::future::join; | 15 | use futures::future::join; |
| 16 | use {defmt_rtt as _, panic_probe as _}; | 16 | use {defmt_rtt as _, panic_probe as _}; |
| 17 | 17 | ||
| 18 | fn config() -> Config { | 18 | #[embassy_executor::main] |
| 19 | async fn main(_spawner: Spawner) { | ||
| 19 | let mut config = Config::default(); | 20 | let mut config = Config::default(); |
| 20 | |||
| 21 | config.rcc.hse = Some(mhz(8)); | 21 | config.rcc.hse = Some(mhz(8)); |
| 22 | config.rcc.sysclk = Some(mhz(48)); | 22 | config.rcc.sysclk = Some(mhz(48)); |
| 23 | config.rcc.pclk1 = Some(mhz(24)); | 23 | config.rcc.pclk1 = Some(mhz(24)); |
| 24 | config.rcc.pclk2 = Some(mhz(24)); | 24 | config.rcc.pclk2 = Some(mhz(24)); |
| 25 | config.rcc.pll48 = true; | 25 | config.rcc.pll48 = true; |
| 26 | let p = embassy_stm32::init(config); | ||
| 26 | 27 | ||
| 27 | config | ||
| 28 | } | ||
| 29 | |||
| 30 | #[embassy_executor::main] | ||
| 31 | async fn main(_spawner: Spawner) { | ||
| 32 | let p = embassy_stm32::init(config()); | ||
| 33 | info!("Hello World!"); | 28 | info!("Hello World!"); |
| 34 | 29 | ||
| 35 | // Needed for nucleo-stm32f303ze | 30 | // Needed for nucleo-stm32f303ze |
diff --git a/examples/stm32f4/src/bin/hello.rs b/examples/stm32f4/src/bin/hello.rs index 6facb9bb7..26d3555a2 100644 --- a/examples/stm32f4/src/bin/hello.rs +++ b/examples/stm32f4/src/bin/hello.rs | |||
| @@ -9,15 +9,12 @@ use embassy_stm32::time::Hertz; | |||
| 9 | use embassy_stm32::Config; | 9 | use embassy_stm32::Config; |
| 10 | use {defmt_rtt as _, panic_probe as _}; | 10 | use {defmt_rtt as _, panic_probe as _}; |
| 11 | 11 | ||
| 12 | fn config() -> Config { | 12 | #[embassy_executor::main] |
| 13 | async fn main(_spawner: Spawner) -> ! { | ||
| 13 | let mut config = Config::default(); | 14 | let mut config = Config::default(); |
| 14 | config.rcc.sys_ck = Some(Hertz(84_000_000)); | 15 | config.rcc.sys_ck = Some(Hertz(84_000_000)); |
| 15 | config | 16 | let _p = embassy_stm32::init(config); |
| 16 | } | ||
| 17 | 17 | ||
| 18 | #[embassy_executor::main] | ||
| 19 | async fn main(_spawner: Spawner) -> ! { | ||
| 20 | let _p = embassy_stm32::init(config()); | ||
| 21 | loop { | 18 | loop { |
| 22 | info!("Hello World!"); | 19 | info!("Hello World!"); |
| 23 | Timer::after(Duration::from_secs(1)).await; | 20 | Timer::after(Duration::from_secs(1)).await; |
diff --git a/examples/stm32f4/src/bin/sdmmc.rs b/examples/stm32f4/src/bin/sdmmc.rs index 996694f2c..b8e56d2e1 100644 --- a/examples/stm32f4/src/bin/sdmmc.rs +++ b/examples/stm32f4/src/bin/sdmmc.rs | |||
| @@ -9,15 +9,11 @@ use embassy_stm32::time::mhz; | |||
| 9 | use embassy_stm32::{interrupt, Config}; | 9 | use embassy_stm32::{interrupt, Config}; |
| 10 | use {defmt_rtt as _, panic_probe as _}; | 10 | use {defmt_rtt as _, panic_probe as _}; |
| 11 | 11 | ||
| 12 | fn config() -> Config { | ||
| 13 | let mut config = Config::default(); | ||
| 14 | config.rcc.sys_ck = Some(mhz(48)); | ||
| 15 | config | ||
| 16 | } | ||
| 17 | |||
| 18 | #[embassy_executor::main] | 12 | #[embassy_executor::main] |
| 19 | async fn main(_spawner: Spawner) -> ! { | 13 | async fn main(_spawner: Spawner) -> ! { |
| 20 | let p = embassy_stm32::init(config()); | 14 | let mut config = Config::default(); |
| 15 | config.rcc.sys_ck = Some(mhz(48)); | ||
| 16 | let p = embassy_stm32::init(config); | ||
| 21 | info!("Hello World!"); | 17 | info!("Hello World!"); |
| 22 | 18 | ||
| 23 | let irq = interrupt::take!(SDIO); | 19 | let irq = interrupt::take!(SDIO); |
diff --git a/examples/stm32f7/src/bin/eth.rs b/examples/stm32f7/src/bin/eth.rs index f8904fa03..1ec30353d 100644 --- a/examples/stm32f7/src/bin/eth.rs +++ b/examples/stm32f7/src/bin/eth.rs | |||
| @@ -33,15 +33,12 @@ async fn net_task(stack: &'static Stack<Device>) -> ! { | |||
| 33 | stack.run().await | 33 | stack.run().await |
| 34 | } | 34 | } |
| 35 | 35 | ||
| 36 | fn config() -> Config { | 36 | #[embassy_executor::main] |
| 37 | async fn main(spawner: Spawner) -> ! { | ||
| 37 | let mut config = Config::default(); | 38 | let mut config = Config::default(); |
| 38 | config.rcc.sys_ck = Some(mhz(200)); | 39 | config.rcc.sys_ck = Some(mhz(200)); |
| 39 | config | 40 | let p = embassy_stm32::init(config); |
| 40 | } | ||
| 41 | 41 | ||
| 42 | #[embassy_executor::main] | ||
| 43 | async fn main(spawner: Spawner) -> ! { | ||
| 44 | let p = embassy_stm32::init(config()); | ||
| 45 | info!("Hello World!"); | 42 | info!("Hello World!"); |
| 46 | 43 | ||
| 47 | // Generate random seed. | 44 | // Generate random seed. |
diff --git a/examples/stm32f7/src/bin/hello.rs b/examples/stm32f7/src/bin/hello.rs index 6facb9bb7..26d3555a2 100644 --- a/examples/stm32f7/src/bin/hello.rs +++ b/examples/stm32f7/src/bin/hello.rs | |||
| @@ -9,15 +9,12 @@ use embassy_stm32::time::Hertz; | |||
| 9 | use embassy_stm32::Config; | 9 | use embassy_stm32::Config; |
| 10 | use {defmt_rtt as _, panic_probe as _}; | 10 | use {defmt_rtt as _, panic_probe as _}; |
| 11 | 11 | ||
| 12 | fn config() -> Config { | 12 | #[embassy_executor::main] |
| 13 | async fn main(_spawner: Spawner) -> ! { | ||
| 13 | let mut config = Config::default(); | 14 | let mut config = Config::default(); |
| 14 | config.rcc.sys_ck = Some(Hertz(84_000_000)); | 15 | config.rcc.sys_ck = Some(Hertz(84_000_000)); |
| 15 | config | 16 | let _p = embassy_stm32::init(config); |
| 16 | } | ||
| 17 | 17 | ||
| 18 | #[embassy_executor::main] | ||
| 19 | async fn main(_spawner: Spawner) -> ! { | ||
| 20 | let _p = embassy_stm32::init(config()); | ||
| 21 | loop { | 18 | loop { |
| 22 | info!("Hello World!"); | 19 | info!("Hello World!"); |
| 23 | Timer::after(Duration::from_secs(1)).await; | 20 | Timer::after(Duration::from_secs(1)).await; |
diff --git a/examples/stm32f7/src/bin/sdmmc.rs b/examples/stm32f7/src/bin/sdmmc.rs index 975c5b91f..9d97a1de4 100644 --- a/examples/stm32f7/src/bin/sdmmc.rs +++ b/examples/stm32f7/src/bin/sdmmc.rs | |||
| @@ -9,15 +9,12 @@ use embassy_stm32::time::mhz; | |||
| 9 | use embassy_stm32::{interrupt, Config}; | 9 | use embassy_stm32::{interrupt, Config}; |
| 10 | use {defmt_rtt as _, panic_probe as _}; | 10 | use {defmt_rtt as _, panic_probe as _}; |
| 11 | 11 | ||
| 12 | fn config() -> Config { | 12 | #[embassy_executor::main] |
| 13 | async fn main(_spawner: Spawner) -> ! { | ||
| 13 | let mut config = Config::default(); | 14 | let mut config = Config::default(); |
| 14 | config.rcc.sys_ck = Some(mhz(200)); | 15 | config.rcc.sys_ck = Some(mhz(200)); |
| 15 | config | 16 | let p = embassy_stm32::init(config); |
| 16 | } | ||
| 17 | 17 | ||
| 18 | #[embassy_executor::main] | ||
| 19 | async fn main(_spawner: Spawner) -> ! { | ||
| 20 | let p = embassy_stm32::init(config()); | ||
| 21 | info!("Hello World!"); | 18 | info!("Hello World!"); |
| 22 | 19 | ||
| 23 | let irq = interrupt::take!(SDMMC1); | 20 | let irq = interrupt::take!(SDMMC1); |
diff --git a/examples/stm32h7/src/bin/adc.rs b/examples/stm32h7/src/bin/adc.rs index 96457e766..0715a0f62 100644 --- a/examples/stm32h7/src/bin/adc.rs +++ b/examples/stm32h7/src/bin/adc.rs | |||
| @@ -11,18 +11,15 @@ use embassy_stm32::time::mhz; | |||
| 11 | use embassy_stm32::Config; | 11 | use embassy_stm32::Config; |
| 12 | use {defmt_rtt as _, panic_probe as _}; | 12 | use {defmt_rtt as _, panic_probe as _}; |
| 13 | 13 | ||
| 14 | pub fn config() -> Config { | 14 | #[embassy_executor::main] |
| 15 | async fn main(_spawner: Spawner) { | ||
| 15 | let mut config = Config::default(); | 16 | let mut config = Config::default(); |
| 16 | config.rcc.sys_ck = Some(mhz(400)); | 17 | config.rcc.sys_ck = Some(mhz(400)); |
| 17 | config.rcc.hclk = Some(mhz(200)); | 18 | config.rcc.hclk = Some(mhz(200)); |
| 18 | config.rcc.per_ck = Some(mhz(64)); | 19 | config.rcc.per_ck = Some(mhz(64)); |
| 19 | config.rcc.adc_clock_source = AdcClockSource::PerCk; | 20 | config.rcc.adc_clock_source = AdcClockSource::PerCk; |
| 20 | config | 21 | let mut p = embassy_stm32::init(config); |
| 21 | } | ||
| 22 | 22 | ||
| 23 | #[embassy_executor::main] | ||
| 24 | async fn main(_spawner: Spawner) { | ||
| 25 | let mut p = embassy_stm32::init(config()); | ||
| 26 | info!("Hello World!"); | 23 | info!("Hello World!"); |
| 27 | 24 | ||
| 28 | let mut adc = Adc::new(p.ADC3, &mut Delay); | 25 | let mut adc = Adc::new(p.ADC3, &mut Delay); |
diff --git a/examples/stm32h7/src/bin/camera.rs b/examples/stm32h7/src/bin/camera.rs index 8e93a54c8..a281e75c9 100644 --- a/examples/stm32h7/src/bin/camera.rs +++ b/examples/stm32h7/src/bin/camera.rs | |||
| @@ -10,10 +10,16 @@ use embassy_stm32::i2c::I2c; | |||
| 10 | use embassy_stm32::rcc::{Mco, Mco1Source, McoClock}; | 10 | use embassy_stm32::rcc::{Mco, Mco1Source, McoClock}; |
| 11 | use embassy_stm32::time::{khz, mhz}; | 11 | use embassy_stm32::time::{khz, mhz}; |
| 12 | use embassy_stm32::{interrupt, Config}; | 12 | use embassy_stm32::{interrupt, Config}; |
| 13 | use ov7725::*; | ||
| 13 | use {defmt_rtt as _, panic_probe as _}; | 14 | use {defmt_rtt as _, panic_probe as _}; |
| 14 | 15 | ||
| 15 | #[allow(unused)] | 16 | const WIDTH: usize = 100; |
| 16 | pub fn config() -> Config { | 17 | const HEIGHT: usize = 100; |
| 18 | |||
| 19 | static mut FRAME: [u32; WIDTH * HEIGHT / 2] = [0u32; WIDTH * HEIGHT / 2]; | ||
| 20 | |||
| 21 | #[embassy_executor::main] | ||
| 22 | async fn main(_spawner: Spawner) { | ||
| 17 | let mut config = Config::default(); | 23 | let mut config = Config::default(); |
| 18 | config.rcc.sys_ck = Some(mhz(400)); | 24 | config.rcc.sys_ck = Some(mhz(400)); |
| 19 | config.rcc.hclk = Some(mhz(400)); | 25 | config.rcc.hclk = Some(mhz(400)); |
| @@ -22,19 +28,8 @@ pub fn config() -> Config { | |||
| 22 | config.rcc.pclk2 = Some(mhz(100)); | 28 | config.rcc.pclk2 = Some(mhz(100)); |
| 23 | config.rcc.pclk3 = Some(mhz(100)); | 29 | config.rcc.pclk3 = Some(mhz(100)); |
| 24 | config.rcc.pclk4 = Some(mhz(100)); | 30 | config.rcc.pclk4 = Some(mhz(100)); |
| 25 | config | 31 | let p = embassy_stm32::init(config); |
| 26 | } | ||
| 27 | 32 | ||
| 28 | use ov7725::*; | ||
| 29 | |||
| 30 | const WIDTH: usize = 100; | ||
| 31 | const HEIGHT: usize = 100; | ||
| 32 | |||
| 33 | static mut FRAME: [u32; WIDTH * HEIGHT / 2] = [0u32; WIDTH * HEIGHT / 2]; | ||
| 34 | |||
| 35 | #[embassy_executor::main] | ||
| 36 | async fn main(_spawner: Spawner) { | ||
| 37 | let p = embassy_stm32::init(config()); | ||
| 38 | defmt::info!("Hello World!"); | 33 | defmt::info!("Hello World!"); |
| 39 | let mco = Mco::new(p.MCO1, p.PA8, Mco1Source::Hsi, McoClock::Divided(3)); | 34 | let mco = Mco::new(p.MCO1, p.PA8, Mco1Source::Hsi, McoClock::Divided(3)); |
| 40 | 35 | ||
diff --git a/examples/stm32h7/src/bin/dac.rs b/examples/stm32h7/src/bin/dac.rs index dece74bba..f12716370 100644 --- a/examples/stm32h7/src/bin/dac.rs +++ b/examples/stm32h7/src/bin/dac.rs | |||
| @@ -9,19 +9,15 @@ use embassy_stm32::time::mhz; | |||
| 9 | use embassy_stm32::Config; | 9 | use embassy_stm32::Config; |
| 10 | use {defmt_rtt as _, panic_probe as _}; | 10 | use {defmt_rtt as _, panic_probe as _}; |
| 11 | 11 | ||
| 12 | pub fn config() -> Config { | ||
| 13 | let mut config = Config::default(); | ||
| 14 | config.rcc.sys_ck = Some(mhz(400)); | ||
| 15 | config.rcc.hclk = Some(mhz(200)); | ||
| 16 | config.rcc.pll1.q_ck = Some(mhz(100)); | ||
| 17 | config | ||
| 18 | } | ||
| 19 | |||
| 20 | #[entry] | 12 | #[entry] |
| 21 | fn main() -> ! { | 13 | fn main() -> ! { |
| 22 | info!("Hello World, dude!"); | 14 | info!("Hello World, dude!"); |
| 23 | 15 | ||
| 24 | let p = embassy_stm32::init(config()); | 16 | let mut config = Config::default(); |
| 17 | config.rcc.sys_ck = Some(mhz(400)); | ||
| 18 | config.rcc.hclk = Some(mhz(200)); | ||
| 19 | config.rcc.pll1.q_ck = Some(mhz(100)); | ||
| 20 | let p = embassy_stm32::init(config); | ||
| 25 | 21 | ||
| 26 | let mut dac = Dac::new_1ch(p.DAC1, p.PA4); | 22 | let mut dac = Dac::new_1ch(p.DAC1, p.PA4); |
| 27 | 23 | ||
diff --git a/examples/stm32h7/src/bin/eth.rs b/examples/stm32h7/src/bin/eth.rs index 7ad2f52c7..9039b7ee7 100644 --- a/examples/stm32h7/src/bin/eth.rs +++ b/examples/stm32h7/src/bin/eth.rs | |||
| @@ -33,17 +33,13 @@ async fn net_task(stack: &'static Stack<Device>) -> ! { | |||
| 33 | stack.run().await | 33 | stack.run().await |
| 34 | } | 34 | } |
| 35 | 35 | ||
| 36 | pub fn config() -> Config { | 36 | #[embassy_executor::main] |
| 37 | async fn main(spawner: Spawner) -> ! { | ||
| 37 | let mut config = Config::default(); | 38 | let mut config = Config::default(); |
| 38 | config.rcc.sys_ck = Some(mhz(400)); | 39 | config.rcc.sys_ck = Some(mhz(400)); |
| 39 | config.rcc.hclk = Some(mhz(200)); | 40 | config.rcc.hclk = Some(mhz(200)); |
| 40 | config.rcc.pll1.q_ck = Some(mhz(100)); | 41 | config.rcc.pll1.q_ck = Some(mhz(100)); |
| 41 | config | 42 | let p = embassy_stm32::init(config); |
| 42 | } | ||
| 43 | |||
| 44 | #[embassy_executor::main] | ||
| 45 | async fn main(spawner: Spawner) -> ! { | ||
| 46 | let p = embassy_stm32::init(config()); | ||
| 47 | info!("Hello World!"); | 43 | info!("Hello World!"); |
| 48 | 44 | ||
| 49 | // Generate random seed. | 45 | // Generate random seed. |
diff --git a/examples/stm32h7/src/bin/eth_client.rs b/examples/stm32h7/src/bin/eth_client.rs index 736a2992e..25e75d71e 100644 --- a/examples/stm32h7/src/bin/eth_client.rs +++ b/examples/stm32h7/src/bin/eth_client.rs | |||
| @@ -34,17 +34,13 @@ async fn net_task(stack: &'static Stack<Device>) -> ! { | |||
| 34 | stack.run().await | 34 | stack.run().await |
| 35 | } | 35 | } |
| 36 | 36 | ||
| 37 | pub fn config() -> Config { | 37 | #[embassy_executor::main] |
| 38 | async fn main(spawner: Spawner) -> ! { | ||
| 38 | let mut config = Config::default(); | 39 | let mut config = Config::default(); |
| 39 | config.rcc.sys_ck = Some(mhz(400)); | 40 | config.rcc.sys_ck = Some(mhz(400)); |
| 40 | config.rcc.hclk = Some(mhz(200)); | 41 | config.rcc.hclk = Some(mhz(200)); |
| 41 | config.rcc.pll1.q_ck = Some(mhz(100)); | 42 | config.rcc.pll1.q_ck = Some(mhz(100)); |
| 42 | config | 43 | let p = embassy_stm32::init(config); |
| 43 | } | ||
| 44 | |||
| 45 | #[embassy_executor::main] | ||
| 46 | async fn main(spawner: Spawner) -> ! { | ||
| 47 | let p = embassy_stm32::init(config()); | ||
| 48 | info!("Hello World!"); | 44 | info!("Hello World!"); |
| 49 | 45 | ||
| 50 | // Generate random seed. | 46 | // Generate random seed. |
diff --git a/examples/stm32h7/src/bin/fmc.rs b/examples/stm32h7/src/bin/fmc.rs index 838427b0a..1a0d073d0 100644 --- a/examples/stm32h7/src/bin/fmc.rs +++ b/examples/stm32h7/src/bin/fmc.rs | |||
| @@ -10,17 +10,14 @@ use embassy_stm32::time::mhz; | |||
| 10 | use embassy_stm32::Config; | 10 | use embassy_stm32::Config; |
| 11 | use {defmt_rtt as _, panic_probe as _}; | 11 | use {defmt_rtt as _, panic_probe as _}; |
| 12 | 12 | ||
| 13 | pub fn config() -> Config { | 13 | #[embassy_executor::main] |
| 14 | async fn main(_spawner: Spawner) { | ||
| 14 | let mut config = Config::default(); | 15 | let mut config = Config::default(); |
| 15 | config.rcc.sys_ck = Some(mhz(400)); | 16 | config.rcc.sys_ck = Some(mhz(400)); |
| 16 | config.rcc.hclk = Some(mhz(200)); | 17 | config.rcc.hclk = Some(mhz(200)); |
| 17 | config.rcc.pll1.q_ck = Some(mhz(100)); | 18 | config.rcc.pll1.q_ck = Some(mhz(100)); |
| 18 | config | 19 | let p = embassy_stm32::init(config); |
| 19 | } | ||
| 20 | 20 | ||
| 21 | #[embassy_executor::main] | ||
| 22 | async fn main(_spawner: Spawner) { | ||
| 23 | let p = embassy_stm32::init(config()); | ||
| 24 | info!("Hello World!"); | 21 | info!("Hello World!"); |
| 25 | 22 | ||
| 26 | let mut core_peri = cortex_m::Peripherals::take().unwrap(); | 23 | let mut core_peri = cortex_m::Peripherals::take().unwrap(); |
diff --git a/examples/stm32h7/src/bin/low_level_timer_api.rs b/examples/stm32h7/src/bin/low_level_timer_api.rs index e759c47a8..59648d4b4 100644 --- a/examples/stm32h7/src/bin/low_level_timer_api.rs +++ b/examples/stm32h7/src/bin/low_level_timer_api.rs | |||
| @@ -12,7 +12,8 @@ use embassy_stm32::time::{khz, mhz, Hertz}; | |||
| 12 | use embassy_stm32::{into_ref, Config, Peripheral, PeripheralRef}; | 12 | use embassy_stm32::{into_ref, Config, Peripheral, PeripheralRef}; |
| 13 | use {defmt_rtt as _, panic_probe as _}; | 13 | use {defmt_rtt as _, panic_probe as _}; |
| 14 | 14 | ||
| 15 | pub fn config() -> Config { | 15 | #[embassy_executor::main] |
| 16 | async fn main(_spawner: Spawner) { | ||
| 16 | let mut config = Config::default(); | 17 | let mut config = Config::default(); |
| 17 | config.rcc.sys_ck = Some(mhz(400)); | 18 | config.rcc.sys_ck = Some(mhz(400)); |
| 18 | config.rcc.hclk = Some(mhz(400)); | 19 | config.rcc.hclk = Some(mhz(400)); |
| @@ -21,12 +22,8 @@ pub fn config() -> Config { | |||
| 21 | config.rcc.pclk2 = Some(mhz(100)); | 22 | config.rcc.pclk2 = Some(mhz(100)); |
| 22 | config.rcc.pclk3 = Some(mhz(100)); | 23 | config.rcc.pclk3 = Some(mhz(100)); |
| 23 | config.rcc.pclk4 = Some(mhz(100)); | 24 | config.rcc.pclk4 = Some(mhz(100)); |
| 24 | config | 25 | let p = embassy_stm32::init(config); |
| 25 | } | ||
| 26 | 26 | ||
| 27 | #[embassy_executor::main] | ||
| 28 | async fn main(_spawner: Spawner) { | ||
| 29 | let p = embassy_stm32::init(config()); | ||
| 30 | info!("Hello World!"); | 27 | info!("Hello World!"); |
| 31 | 28 | ||
| 32 | let mut pwm = SimplePwm32::new(p.TIM5, p.PA0, p.PA1, p.PA2, p.PA3, khz(10)); | 29 | let mut pwm = SimplePwm32::new(p.TIM5, p.PA0, p.PA1, p.PA2, p.PA3, khz(10)); |
diff --git a/examples/stm32h7/src/bin/pwm.rs b/examples/stm32h7/src/bin/pwm.rs index 4797de0a0..b225d66e3 100644 --- a/examples/stm32h7/src/bin/pwm.rs +++ b/examples/stm32h7/src/bin/pwm.rs | |||
| @@ -11,7 +11,8 @@ use embassy_stm32::time::{khz, mhz}; | |||
| 11 | use embassy_stm32::Config; | 11 | use embassy_stm32::Config; |
| 12 | use {defmt_rtt as _, panic_probe as _}; | 12 | use {defmt_rtt as _, panic_probe as _}; |
| 13 | 13 | ||
| 14 | pub fn config() -> Config { | 14 | #[embassy_executor::main] |
| 15 | async fn main(_spawner: Spawner) { | ||
| 15 | let mut config = Config::default(); | 16 | let mut config = Config::default(); |
| 16 | config.rcc.sys_ck = Some(mhz(400)); | 17 | config.rcc.sys_ck = Some(mhz(400)); |
| 17 | config.rcc.hclk = Some(mhz(400)); | 18 | config.rcc.hclk = Some(mhz(400)); |
| @@ -20,12 +21,7 @@ pub fn config() -> Config { | |||
| 20 | config.rcc.pclk2 = Some(mhz(100)); | 21 | config.rcc.pclk2 = Some(mhz(100)); |
| 21 | config.rcc.pclk3 = Some(mhz(100)); | 22 | config.rcc.pclk3 = Some(mhz(100)); |
| 22 | config.rcc.pclk4 = Some(mhz(100)); | 23 | config.rcc.pclk4 = Some(mhz(100)); |
| 23 | config | 24 | let p = embassy_stm32::init(config); |
| 24 | } | ||
| 25 | |||
| 26 | #[embassy_executor::main] | ||
| 27 | async fn main(_spawner: Spawner) { | ||
| 28 | let p = embassy_stm32::init(config()); | ||
| 29 | info!("Hello World!"); | 25 | info!("Hello World!"); |
| 30 | 26 | ||
| 31 | let ch1 = PwmPin::new_ch1(p.PA6); | 27 | let ch1 = PwmPin::new_ch1(p.PA6); |
diff --git a/examples/stm32h7/src/bin/sdmmc.rs b/examples/stm32h7/src/bin/sdmmc.rs index ec98bf14e..f44d88aca 100644 --- a/examples/stm32h7/src/bin/sdmmc.rs +++ b/examples/stm32h7/src/bin/sdmmc.rs | |||
| @@ -9,15 +9,11 @@ use embassy_stm32::time::mhz; | |||
| 9 | use embassy_stm32::{interrupt, Config}; | 9 | use embassy_stm32::{interrupt, Config}; |
| 10 | use {defmt_rtt as _, panic_probe as _}; | 10 | use {defmt_rtt as _, panic_probe as _}; |
| 11 | 11 | ||
| 12 | fn config() -> Config { | ||
| 13 | let mut config = Config::default(); | ||
| 14 | config.rcc.sys_ck = Some(mhz(200)); | ||
| 15 | config | ||
| 16 | } | ||
| 17 | |||
| 18 | #[embassy_executor::main] | 12 | #[embassy_executor::main] |
| 19 | async fn main(_spawner: Spawner) -> ! { | 13 | async fn main(_spawner: Spawner) -> ! { |
| 20 | let p = embassy_stm32::init(config()); | 14 | let mut config = Config::default(); |
| 15 | config.rcc.sys_ck = Some(mhz(200)); | ||
| 16 | let p = embassy_stm32::init(config); | ||
| 21 | info!("Hello World!"); | 17 | info!("Hello World!"); |
| 22 | 18 | ||
| 23 | let irq = interrupt::take!(SDMMC1); | 19 | let irq = interrupt::take!(SDMMC1); |
diff --git a/examples/stm32h7/src/bin/spi.rs b/examples/stm32h7/src/bin/spi.rs index dc8cb7f47..8f6f14850 100644 --- a/examples/stm32h7/src/bin/spi.rs +++ b/examples/stm32h7/src/bin/spi.rs | |||
| @@ -16,14 +16,6 @@ use embassy_util::Forever; | |||
| 16 | use heapless::String; | 16 | use heapless::String; |
| 17 | use {defmt_rtt as _, panic_probe as _}; | 17 | use {defmt_rtt as _, panic_probe as _}; |
| 18 | 18 | ||
| 19 | pub fn config() -> Config { | ||
| 20 | let mut config = Config::default(); | ||
| 21 | config.rcc.sys_ck = Some(mhz(400)); | ||
| 22 | config.rcc.hclk = Some(mhz(200)); | ||
| 23 | config.rcc.pll1.q_ck = Some(mhz(100)); | ||
| 24 | config | ||
| 25 | } | ||
| 26 | |||
| 27 | #[embassy_executor::task] | 19 | #[embassy_executor::task] |
| 28 | async fn main_task(mut spi: spi::Spi<'static, SPI3, NoDma, NoDma>) { | 20 | async fn main_task(mut spi: spi::Spi<'static, SPI3, NoDma, NoDma>) { |
| 29 | for n in 0u32.. { | 21 | for n in 0u32.. { |
| @@ -45,7 +37,11 @@ static EXECUTOR: Forever<Executor> = Forever::new(); | |||
| 45 | fn main() -> ! { | 37 | fn main() -> ! { |
| 46 | info!("Hello World!"); | 38 | info!("Hello World!"); |
| 47 | 39 | ||
| 48 | let p = embassy_stm32::init(config()); | 40 | let mut config = Config::default(); |
| 41 | config.rcc.sys_ck = Some(mhz(400)); | ||
| 42 | config.rcc.hclk = Some(mhz(200)); | ||
| 43 | config.rcc.pll1.q_ck = Some(mhz(100)); | ||
| 44 | let p = embassy_stm32::init(config); | ||
| 49 | 45 | ||
| 50 | let spi = spi::Spi::new( | 46 | let spi = spi::Spi::new( |
| 51 | p.SPI3, | 47 | p.SPI3, |
diff --git a/examples/stm32h7/src/bin/spi_dma.rs b/examples/stm32h7/src/bin/spi_dma.rs index 2631ed30c..d4c91a8e3 100644 --- a/examples/stm32h7/src/bin/spi_dma.rs +++ b/examples/stm32h7/src/bin/spi_dma.rs | |||
| @@ -15,14 +15,6 @@ use embassy_util::Forever; | |||
| 15 | use heapless::String; | 15 | use heapless::String; |
| 16 | use {defmt_rtt as _, panic_probe as _}; | 16 | use {defmt_rtt as _, panic_probe as _}; |
| 17 | 17 | ||
| 18 | pub fn config() -> Config { | ||
| 19 | let mut config = Config::default(); | ||
| 20 | config.rcc.sys_ck = Some(mhz(400)); | ||
| 21 | config.rcc.hclk = Some(mhz(200)); | ||
| 22 | config.rcc.pll1.q_ck = Some(mhz(100)); | ||
| 23 | config | ||
| 24 | } | ||
| 25 | |||
| 26 | #[embassy_executor::task] | 18 | #[embassy_executor::task] |
| 27 | async fn main_task(mut spi: spi::Spi<'static, SPI3, DMA1_CH3, DMA1_CH4>) { | 19 | async fn main_task(mut spi: spi::Spi<'static, SPI3, DMA1_CH3, DMA1_CH4>) { |
| 28 | for n in 0u32.. { | 20 | for n in 0u32.. { |
| @@ -41,7 +33,11 @@ static EXECUTOR: Forever<Executor> = Forever::new(); | |||
| 41 | fn main() -> ! { | 33 | fn main() -> ! { |
| 42 | info!("Hello World!"); | 34 | info!("Hello World!"); |
| 43 | 35 | ||
| 44 | let p = embassy_stm32::init(config()); | 36 | let mut config = Config::default(); |
| 37 | config.rcc.sys_ck = Some(mhz(400)); | ||
| 38 | config.rcc.hclk = Some(mhz(200)); | ||
| 39 | config.rcc.pll1.q_ck = Some(mhz(100)); | ||
| 40 | let p = embassy_stm32::init(config); | ||
| 45 | 41 | ||
| 46 | let spi = spi::Spi::new( | 42 | let spi = spi::Spi::new( |
| 47 | p.SPI3, | 43 | p.SPI3, |
diff --git a/examples/stm32l0/src/bin/button_exti.rs b/examples/stm32l0/src/bin/button_exti.rs index ab23fd5bc..bdd2fa3c1 100644 --- a/examples/stm32l0/src/bin/button_exti.rs +++ b/examples/stm32l0/src/bin/button_exti.rs | |||
| @@ -6,17 +6,15 @@ use defmt::*; | |||
| 6 | use embassy_executor::executor::Spawner; | 6 | use embassy_executor::executor::Spawner; |
| 7 | use embassy_stm32::exti::ExtiInput; | 7 | use embassy_stm32::exti::ExtiInput; |
| 8 | use embassy_stm32::gpio::{Input, Pull}; | 8 | use embassy_stm32::gpio::{Input, Pull}; |
| 9 | use embassy_stm32::Config; | ||
| 9 | use {defmt_rtt as _, panic_probe as _}; | 10 | use {defmt_rtt as _, panic_probe as _}; |
| 10 | 11 | ||
| 11 | fn config() -> embassy_stm32::Config { | ||
| 12 | let mut config = embassy_stm32::Config::default(); | ||
| 13 | config.rcc.enable_hsi48 = true; | ||
| 14 | config | ||
| 15 | } | ||
| 16 | |||
| 17 | #[embassy_executor::main] | 12 | #[embassy_executor::main] |
| 18 | async fn main(_spawner: Spawner) { | 13 | async fn main(_spawner: Spawner) { |
| 19 | let p = embassy_stm32::init(config()); | 14 | let mut config = Config::default(); |
| 15 | config.rcc.enable_hsi48 = true; | ||
| 16 | let p = embassy_stm32::init(config); | ||
| 17 | |||
| 20 | let button = Input::new(p.PB2, Pull::Up); | 18 | let button = Input::new(p.PB2, Pull::Up); |
| 21 | let mut button = ExtiInput::new(button, p.EXTI2); | 19 | let mut button = ExtiInput::new(button, p.EXTI2); |
| 22 | 20 | ||
diff --git a/examples/stm32l0/src/bin/lorawan.rs b/examples/stm32l0/src/bin/lorawan.rs index 4e5b69362..9497cad72 100644 --- a/examples/stm32l0/src/bin/lorawan.rs +++ b/examples/stm32l0/src/bin/lorawan.rs | |||
| @@ -18,16 +18,13 @@ use lorawan::default_crypto::DefaultFactory as Crypto; | |||
| 18 | use lorawan_device::async_device::{region, Device, JoinMode}; | 18 | use lorawan_device::async_device::{region, Device, JoinMode}; |
| 19 | use {defmt_rtt as _, panic_probe as _}; | 19 | use {defmt_rtt as _, panic_probe as _}; |
| 20 | 20 | ||
| 21 | fn config() -> embassy_stm32::Config { | 21 | #[embassy_executor::main] |
| 22 | async fn main(_spawner: Spawner) { | ||
| 22 | let mut config = embassy_stm32::Config::default(); | 23 | let mut config = embassy_stm32::Config::default(); |
| 23 | config.rcc.mux = embassy_stm32::rcc::ClockSrc::HSI16; | 24 | config.rcc.mux = embassy_stm32::rcc::ClockSrc::HSI16; |
| 24 | config.rcc.enable_hsi48 = true; | 25 | config.rcc.enable_hsi48 = true; |
| 25 | config | 26 | let p = embassy_stm32::init(config); |
| 26 | } | ||
| 27 | 27 | ||
| 28 | #[embassy_executor::main] | ||
| 29 | async fn main(_spawner: Spawner) { | ||
| 30 | let p = embassy_stm32::init(config()); | ||
| 31 | // SPI for sx127x | 28 | // SPI for sx127x |
| 32 | let spi = spi::Spi::new( | 29 | let spi = spi::Spi::new( |
| 33 | p.SPI1, | 30 | p.SPI1, |
diff --git a/examples/stm32l4/src/bin/rng.rs b/examples/stm32l4/src/bin/rng.rs index d0e1306a3..c90515626 100644 --- a/examples/stm32l4/src/bin/rng.rs +++ b/examples/stm32l4/src/bin/rng.rs | |||
| @@ -9,7 +9,8 @@ use embassy_stm32::rng::Rng; | |||
| 9 | use embassy_stm32::Config; | 9 | use embassy_stm32::Config; |
| 10 | use {defmt_rtt as _, panic_probe as _}; | 10 | use {defmt_rtt as _, panic_probe as _}; |
| 11 | 11 | ||
| 12 | fn config() -> Config { | 12 | #[embassy_executor::main] |
| 13 | async fn main(_spawner: Spawner) { | ||
| 13 | let mut config = Config::default(); | 14 | let mut config = Config::default(); |
| 14 | // 72Mhz clock (16 / 1 * 18 / 4) | 15 | // 72Mhz clock (16 / 1 * 18 / 4) |
| 15 | config.rcc.mux = ClockSrc::PLL( | 16 | config.rcc.mux = ClockSrc::PLL( |
| @@ -19,12 +20,8 @@ fn config() -> Config { | |||
| 19 | PLLMul::Mul18, | 20 | PLLMul::Mul18, |
| 20 | Some(PLLClkDiv::Div6), // 48Mhz (16 / 1 * 18 / 6) | 21 | Some(PLLClkDiv::Div6), // 48Mhz (16 / 1 * 18 / 6) |
| 21 | ); | 22 | ); |
| 22 | config | 23 | let p = embassy_stm32::init(config); |
| 23 | } | ||
| 24 | 24 | ||
| 25 | #[embassy_executor::main] | ||
| 26 | async fn main(_spawner: Spawner) { | ||
| 27 | let p = embassy_stm32::init(config()); | ||
| 28 | info!("Hello World!"); | 25 | info!("Hello World!"); |
| 29 | 26 | ||
| 30 | let mut rng = Rng::new(p.RNG); | 27 | let mut rng = Rng::new(p.RNG); |
diff --git a/examples/stm32l5/src/bin/rng.rs b/examples/stm32l5/src/bin/rng.rs index b7919424a..cec9078e6 100644 --- a/examples/stm32l5/src/bin/rng.rs +++ b/examples/stm32l5/src/bin/rng.rs | |||
| @@ -9,7 +9,8 @@ use embassy_stm32::rng::Rng; | |||
| 9 | use embassy_stm32::Config; | 9 | use embassy_stm32::Config; |
| 10 | use {defmt_rtt as _, panic_probe as _}; | 10 | use {defmt_rtt as _, panic_probe as _}; |
| 11 | 11 | ||
| 12 | fn config() -> Config { | 12 | #[embassy_executor::main] |
| 13 | async fn main(_spawner: Spawner) { | ||
| 13 | let mut config = Config::default(); | 14 | let mut config = Config::default(); |
| 14 | config.rcc.mux = ClockSrc::PLL( | 15 | config.rcc.mux = ClockSrc::PLL( |
| 15 | PLLSource::HSI16, | 16 | PLLSource::HSI16, |
| @@ -18,12 +19,8 @@ fn config() -> Config { | |||
| 18 | PLLMul::Mul8, | 19 | PLLMul::Mul8, |
| 19 | Some(PLLClkDiv::Div2), | 20 | Some(PLLClkDiv::Div2), |
| 20 | ); | 21 | ); |
| 21 | config | 22 | let p = embassy_stm32::init(config); |
| 22 | } | ||
| 23 | 23 | ||
| 24 | #[embassy_executor::main] | ||
| 25 | async fn main(_spawner: Spawner) { | ||
| 26 | let p = embassy_stm32::init(config()); | ||
| 27 | info!("Hello World!"); | 24 | info!("Hello World!"); |
| 28 | 25 | ||
| 29 | let mut rng = Rng::new(p.RNG); | 26 | let mut rng = Rng::new(p.RNG); |
diff --git a/examples/stm32l5/src/bin/usb_ethernet.rs b/examples/stm32l5/src/bin/usb_ethernet.rs index cc7578990..769b67a2b 100644 --- a/examples/stm32l5/src/bin/usb_ethernet.rs +++ b/examples/stm32l5/src/bin/usb_ethernet.rs | |||
| @@ -83,19 +83,13 @@ async fn net_task(stack: &'static Stack<Device>) -> ! { | |||
| 83 | stack.run().await | 83 | stack.run().await |
| 84 | } | 84 | } |
| 85 | 85 | ||
| 86 | fn config() -> Config { | 86 | #[embassy_executor::main] |
| 87 | async fn main(spawner: Spawner) { | ||
| 87 | let mut config = Config::default(); | 88 | let mut config = Config::default(); |
| 88 | config.rcc.mux = ClockSrc::HSE(Hertz(16_000_000)); | ||
| 89 | |||
| 90 | config.rcc.mux = ClockSrc::PLL(PLLSource::HSI16, PLLClkDiv::Div2, PLLSrcDiv::Div1, PLLMul::Mul10, None); | 89 | config.rcc.mux = ClockSrc::PLL(PLLSource::HSI16, PLLClkDiv::Div2, PLLSrcDiv::Div1, PLLMul::Mul10, None); |
| 91 | config.rcc.hsi48 = true; | 90 | config.rcc.hsi48 = true; |
| 91 | let p = embassy_stm32::init(config); | ||
| 92 | 92 | ||
| 93 | config | ||
| 94 | } | ||
| 95 | |||
| 96 | #[embassy_executor::main] | ||
| 97 | async fn main(spawner: Spawner) { | ||
| 98 | let p = embassy_stm32::init(config()); | ||
| 99 | // Create the driver, from the HAL. | 93 | // Create the driver, from the HAL. |
| 100 | let irq = interrupt::take!(USB_FS); | 94 | let irq = interrupt::take!(USB_FS); |
| 101 | let driver = Driver::new(p.USB, irq, p.PA12, p.PA11); | 95 | let driver = Driver::new(p.USB, irq, p.PA12, p.PA11); |
diff --git a/examples/stm32l5/src/bin/usb_hid_mouse.rs b/examples/stm32l5/src/bin/usb_hid_mouse.rs index b8eef6d0d..ef0a20a42 100644 --- a/examples/stm32l5/src/bin/usb_hid_mouse.rs +++ b/examples/stm32l5/src/bin/usb_hid_mouse.rs | |||
| @@ -17,19 +17,13 @@ use futures::future::join; | |||
| 17 | use usbd_hid::descriptor::{MouseReport, SerializedDescriptor}; | 17 | use usbd_hid::descriptor::{MouseReport, SerializedDescriptor}; |
| 18 | use {defmt_rtt as _, panic_probe as _}; | 18 | use {defmt_rtt as _, panic_probe as _}; |
| 19 | 19 | ||
| 20 | fn config() -> Config { | 20 | #[embassy_executor::main] |
| 21 | async fn main(_spawner: Spawner) { | ||
| 21 | let mut config = Config::default(); | 22 | let mut config = Config::default(); |
| 22 | config.rcc.mux = ClockSrc::HSE(Hertz(16_000_000)); | ||
| 23 | |||
| 24 | config.rcc.mux = ClockSrc::PLL(PLLSource::HSI16, PLLClkDiv::Div2, PLLSrcDiv::Div1, PLLMul::Mul10, None); | 23 | config.rcc.mux = ClockSrc::PLL(PLLSource::HSI16, PLLClkDiv::Div2, PLLSrcDiv::Div1, PLLMul::Mul10, None); |
| 25 | config.rcc.hsi48 = true; | 24 | config.rcc.hsi48 = true; |
| 25 | let p = embassy_stm32::init(config); | ||
| 26 | 26 | ||
| 27 | config | ||
| 28 | } | ||
| 29 | |||
| 30 | #[embassy_executor::main] | ||
| 31 | async fn main(_spawner: Spawner) { | ||
| 32 | let p = embassy_stm32::init(config()); | ||
| 33 | // Create the driver, from the HAL. | 27 | // Create the driver, from the HAL. |
| 34 | let irq = interrupt::take!(USB_FS); | 28 | let irq = interrupt::take!(USB_FS); |
| 35 | let driver = Driver::new(p.USB, irq, p.PA12, p.PA11); | 29 | let driver = Driver::new(p.USB, irq, p.PA12, p.PA11); |
diff --git a/examples/stm32l5/src/bin/usb_serial.rs b/examples/stm32l5/src/bin/usb_serial.rs index f8894231c..a763a0b56 100644 --- a/examples/stm32l5/src/bin/usb_serial.rs +++ b/examples/stm32l5/src/bin/usb_serial.rs | |||
| @@ -14,19 +14,13 @@ use embassy_usb_serial::{CdcAcmClass, State}; | |||
| 14 | use futures::future::join; | 14 | use futures::future::join; |
| 15 | use {defmt_rtt as _, panic_probe as _}; | 15 | use {defmt_rtt as _, panic_probe as _}; |
| 16 | 16 | ||
| 17 | fn config() -> Config { | 17 | #[embassy_executor::main] |
| 18 | async fn main(_spawner: Spawner) { | ||
| 18 | let mut config = Config::default(); | 19 | let mut config = Config::default(); |
| 19 | config.rcc.mux = ClockSrc::HSE(Hertz(16_000_000)); | ||
| 20 | |||
| 21 | config.rcc.mux = ClockSrc::PLL(PLLSource::HSI16, PLLClkDiv::Div2, PLLSrcDiv::Div1, PLLMul::Mul10, None); | 20 | config.rcc.mux = ClockSrc::PLL(PLLSource::HSI16, PLLClkDiv::Div2, PLLSrcDiv::Div1, PLLMul::Mul10, None); |
| 22 | config.rcc.hsi48 = true; | 21 | config.rcc.hsi48 = true; |
| 22 | let p = embassy_stm32::init(config); | ||
| 23 | 23 | ||
| 24 | config | ||
| 25 | } | ||
| 26 | |||
| 27 | #[embassy_executor::main] | ||
| 28 | async fn main(_spawner: Spawner) { | ||
| 29 | let p = embassy_stm32::init(config()); | ||
| 30 | info!("Hello World!"); | 24 | info!("Hello World!"); |
| 31 | 25 | ||
| 32 | // Create the driver, from the HAL. | 26 | // Create the driver, from the HAL. |
diff --git a/examples/stm32wl/src/bin/lorawan.rs b/examples/stm32wl/src/bin/lorawan.rs index 35dae71a6..b6a3ca905 100644 --- a/examples/stm32wl/src/bin/lorawan.rs +++ b/examples/stm32wl/src/bin/lorawan.rs | |||
| @@ -17,16 +17,13 @@ use lorawan::default_crypto::DefaultFactory as Crypto; | |||
| 17 | use lorawan_device::async_device::{region, Device, JoinMode}; | 17 | use lorawan_device::async_device::{region, Device, JoinMode}; |
| 18 | use {defmt_rtt as _, panic_probe as _}; | 18 | use {defmt_rtt as _, panic_probe as _}; |
| 19 | 19 | ||
| 20 | fn config() -> embassy_stm32::Config { | 20 | #[embassy_executor::main] |
| 21 | async fn main(_spawner: Spawner) { | ||
| 21 | let mut config = embassy_stm32::Config::default(); | 22 | let mut config = embassy_stm32::Config::default(); |
| 22 | config.rcc.mux = embassy_stm32::rcc::ClockSrc::HSI16; | 23 | config.rcc.mux = embassy_stm32::rcc::ClockSrc::HSI16; |
| 23 | config.rcc.enable_lsi = true; | 24 | config.rcc.enable_lsi = true; |
| 24 | config | 25 | let p = embassy_stm32::init(config); |
| 25 | } | ||
| 26 | 26 | ||
| 27 | #[embassy_executor::main] | ||
| 28 | async fn main(_spawner: Spawner) { | ||
| 29 | let p = embassy_stm32::init(config()); | ||
| 30 | unsafe { pac::RCC.ccipr().modify(|w| w.set_rngsel(0b01)) } | 27 | unsafe { pac::RCC.ccipr().modify(|w| w.set_rngsel(0b01)) } |
| 31 | 28 | ||
| 32 | let ctrl1 = Output::new(p.PC3.degrade(), Level::High, Speed::High); | 29 | let ctrl1 = Output::new(p.PC3.degrade(), Level::High, Speed::High); |
diff --git a/examples/stm32wl/src/bin/subghz.rs b/examples/stm32wl/src/bin/subghz.rs index 0e2d4103f..1b096514b 100644 --- a/examples/stm32wl/src/bin/subghz.rs +++ b/examples/stm32wl/src/bin/subghz.rs | |||
| @@ -52,15 +52,12 @@ const TCXO_MODE: TcxoMode = TcxoMode::new() | |||
| 52 | 52 | ||
| 53 | const TX_PARAMS: TxParams = TxParams::new().set_power(0x0D).set_ramp_time(RampTime::Micros40); | 53 | const TX_PARAMS: TxParams = TxParams::new().set_power(0x0D).set_ramp_time(RampTime::Micros40); |
| 54 | 54 | ||
| 55 | fn config() -> embassy_stm32::Config { | 55 | #[embassy_executor::main] |
| 56 | async fn main(_spawner: Spawner) { | ||
| 56 | let mut config = embassy_stm32::Config::default(); | 57 | let mut config = embassy_stm32::Config::default(); |
| 57 | config.rcc.mux = embassy_stm32::rcc::ClockSrc::HSE32; | 58 | config.rcc.mux = embassy_stm32::rcc::ClockSrc::HSE32; |
| 58 | config | 59 | let p = embassy_stm32::init(config); |
| 59 | } | ||
| 60 | 60 | ||
| 61 | #[embassy_executor::main] | ||
| 62 | async fn main(_spawner: Spawner) { | ||
| 63 | let p = embassy_stm32::init(config()); | ||
| 64 | let mut led1 = Output::new(p.PB15, Level::High, Speed::Low); | 61 | let mut led1 = Output::new(p.PB15, Level::High, Speed::Low); |
| 65 | let mut led2 = Output::new(p.PB9, Level::Low, Speed::Low); | 62 | let mut led2 = Output::new(p.PB9, Level::Low, Speed::Low); |
| 66 | let mut led3 = Output::new(p.PB11, Level::Low, Speed::Low); | 63 | let mut led3 = Output::new(p.PB11, Level::Low, Speed::Low); |
