diff options
| author | Dario Nieuwenhuis <[email protected]> | 2023-10-23 01:09:36 +0200 |
|---|---|---|
| committer | Dario Nieuwenhuis <[email protected]> | 2023-10-23 17:36:21 +0200 |
| commit | 0ef1cb29f70c71d3c85f5b8b4ad3c7ce60babba8 (patch) | |
| tree | 7c895ed4b48f3395722f0fc3171279004909e9bf /examples | |
| parent | 64ab23d17d9addd82f0b11a27a3d2219c1a8ec20 (diff) | |
stm32/rcc: merge wb into l4/l5.
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/stm32wl/src/bin/lora_lorawan.rs | 1 | ||||
| -rw-r--r-- | examples/stm32wl/src/bin/lora_p2p_receive.rs | 19 | ||||
| -rw-r--r-- | examples/stm32wl/src/bin/lora_p2p_send.rs | 19 | ||||
| -rw-r--r-- | examples/stm32wl/src/bin/random.rs | 1 | ||||
| -rw-r--r-- | examples/stm32wl/src/bin/rtc.rs | 26 |
5 files changed, 58 insertions, 8 deletions
diff --git a/examples/stm32wl/src/bin/lora_lorawan.rs b/examples/stm32wl/src/bin/lora_lorawan.rs index e26c274ad..35a6a8425 100644 --- a/examples/stm32wl/src/bin/lora_lorawan.rs +++ b/examples/stm32wl/src/bin/lora_lorawan.rs | |||
| @@ -39,6 +39,7 @@ async fn main(_spawner: Spawner) { | |||
| 39 | config.rcc.hse = Some(Hse { | 39 | config.rcc.hse = Some(Hse { |
| 40 | freq: Hertz(32_000_000), | 40 | freq: Hertz(32_000_000), |
| 41 | mode: HseMode::Bypass, | 41 | mode: HseMode::Bypass, |
| 42 | prescaler: HsePrescaler::DIV1, | ||
| 42 | }); | 43 | }); |
| 43 | config.rcc.mux = ClockSrc::PLL1_R; | 44 | config.rcc.mux = ClockSrc::PLL1_R; |
| 44 | config.rcc.pll = Some(Pll { | 45 | config.rcc.pll = Some(Pll { |
diff --git a/examples/stm32wl/src/bin/lora_p2p_receive.rs b/examples/stm32wl/src/bin/lora_p2p_receive.rs index be33f39c1..1c485d739 100644 --- a/examples/stm32wl/src/bin/lora_p2p_receive.rs +++ b/examples/stm32wl/src/bin/lora_p2p_receive.rs | |||
| @@ -11,6 +11,7 @@ use embassy_lora::iv::{InterruptHandler, Stm32wlInterfaceVariant}; | |||
| 11 | use embassy_stm32::bind_interrupts; | 11 | use embassy_stm32::bind_interrupts; |
| 12 | use embassy_stm32::gpio::{Level, Output, Pin, Speed}; | 12 | use embassy_stm32::gpio::{Level, Output, Pin, Speed}; |
| 13 | use embassy_stm32::spi::Spi; | 13 | use embassy_stm32::spi::Spi; |
| 14 | use embassy_stm32::time::Hertz; | ||
| 14 | use embassy_time::{Delay, Timer}; | 15 | use embassy_time::{Delay, Timer}; |
| 15 | use lora_phy::mod_params::*; | 16 | use lora_phy::mod_params::*; |
| 16 | use lora_phy::sx1261_2::SX1261_2; | 17 | use lora_phy::sx1261_2::SX1261_2; |
| @@ -26,7 +27,23 @@ bind_interrupts!(struct Irqs{ | |||
| 26 | #[embassy_executor::main] | 27 | #[embassy_executor::main] |
| 27 | async fn main(_spawner: Spawner) { | 28 | async fn main(_spawner: Spawner) { |
| 28 | let mut config = embassy_stm32::Config::default(); | 29 | let mut config = embassy_stm32::Config::default(); |
| 29 | config.rcc.mux = embassy_stm32::rcc::ClockSrc::HSE; | 30 | { |
| 31 | use embassy_stm32::rcc::*; | ||
| 32 | config.rcc.hse = Some(Hse { | ||
| 33 | freq: Hertz(32_000_000), | ||
| 34 | mode: HseMode::Bypass, | ||
| 35 | prescaler: HsePrescaler::DIV1, | ||
| 36 | }); | ||
| 37 | config.rcc.mux = ClockSrc::PLL1_R; | ||
| 38 | config.rcc.pll = Some(Pll { | ||
| 39 | source: PLLSource::HSE, | ||
| 40 | prediv: PllPreDiv::DIV2, | ||
| 41 | mul: PllMul::MUL6, | ||
| 42 | divp: None, | ||
| 43 | divq: Some(PllQDiv::DIV2), // PLL1_Q clock (32 / 2 * 6 / 2), used for RNG | ||
| 44 | divr: Some(PllRDiv::DIV2), // sysclk 48Mhz clock (32 / 2 * 6 / 2) | ||
| 45 | }); | ||
| 46 | } | ||
| 30 | let p = embassy_stm32::init(config); | 47 | let p = embassy_stm32::init(config); |
| 31 | 48 | ||
| 32 | let spi = Spi::new_subghz(p.SUBGHZSPI, p.DMA1_CH1, p.DMA1_CH2); | 49 | let spi = Spi::new_subghz(p.SUBGHZSPI, p.DMA1_CH1, p.DMA1_CH2); |
diff --git a/examples/stm32wl/src/bin/lora_p2p_send.rs b/examples/stm32wl/src/bin/lora_p2p_send.rs index 85f6a84b7..3afa78acb 100644 --- a/examples/stm32wl/src/bin/lora_p2p_send.rs +++ b/examples/stm32wl/src/bin/lora_p2p_send.rs | |||
| @@ -11,6 +11,7 @@ use embassy_lora::iv::{InterruptHandler, Stm32wlInterfaceVariant}; | |||
| 11 | use embassy_stm32::bind_interrupts; | 11 | use embassy_stm32::bind_interrupts; |
| 12 | use embassy_stm32::gpio::{Level, Output, Pin, Speed}; | 12 | use embassy_stm32::gpio::{Level, Output, Pin, Speed}; |
| 13 | use embassy_stm32::spi::Spi; | 13 | use embassy_stm32::spi::Spi; |
| 14 | use embassy_stm32::time::Hertz; | ||
| 14 | use embassy_time::Delay; | 15 | use embassy_time::Delay; |
| 15 | use lora_phy::mod_params::*; | 16 | use lora_phy::mod_params::*; |
| 16 | use lora_phy::sx1261_2::SX1261_2; | 17 | use lora_phy::sx1261_2::SX1261_2; |
| @@ -26,7 +27,23 @@ bind_interrupts!(struct Irqs{ | |||
| 26 | #[embassy_executor::main] | 27 | #[embassy_executor::main] |
| 27 | async fn main(_spawner: Spawner) { | 28 | async fn main(_spawner: Spawner) { |
| 28 | let mut config = embassy_stm32::Config::default(); | 29 | let mut config = embassy_stm32::Config::default(); |
| 29 | config.rcc.mux = embassy_stm32::rcc::ClockSrc::HSE; | 30 | { |
| 31 | use embassy_stm32::rcc::*; | ||
| 32 | config.rcc.hse = Some(Hse { | ||
| 33 | freq: Hertz(32_000_000), | ||
| 34 | mode: HseMode::Bypass, | ||
| 35 | prescaler: HsePrescaler::DIV1, | ||
| 36 | }); | ||
| 37 | config.rcc.mux = ClockSrc::PLL1_R; | ||
| 38 | config.rcc.pll = Some(Pll { | ||
| 39 | source: PLLSource::HSE, | ||
| 40 | prediv: PllPreDiv::DIV2, | ||
| 41 | mul: PllMul::MUL6, | ||
| 42 | divp: None, | ||
| 43 | divq: Some(PllQDiv::DIV2), // PLL1_Q clock (32 / 2 * 6 / 2), used for RNG | ||
| 44 | divr: Some(PllRDiv::DIV2), // sysclk 48Mhz clock (32 / 2 * 6 / 2) | ||
| 45 | }); | ||
| 46 | } | ||
| 30 | let p = embassy_stm32::init(config); | 47 | let p = embassy_stm32::init(config); |
| 31 | 48 | ||
| 32 | let spi = Spi::new_subghz(p.SUBGHZSPI, p.DMA1_CH1, p.DMA1_CH2); | 49 | let spi = Spi::new_subghz(p.SUBGHZSPI, p.DMA1_CH1, p.DMA1_CH2); |
diff --git a/examples/stm32wl/src/bin/random.rs b/examples/stm32wl/src/bin/random.rs index 2cf7ef9d0..1a8822b42 100644 --- a/examples/stm32wl/src/bin/random.rs +++ b/examples/stm32wl/src/bin/random.rs | |||
| @@ -21,6 +21,7 @@ async fn main(_spawner: Spawner) { | |||
| 21 | config.rcc.hse = Some(Hse { | 21 | config.rcc.hse = Some(Hse { |
| 22 | freq: Hertz(32_000_000), | 22 | freq: Hertz(32_000_000), |
| 23 | mode: HseMode::Bypass, | 23 | mode: HseMode::Bypass, |
| 24 | prescaler: HsePrescaler::DIV1, | ||
| 24 | }); | 25 | }); |
| 25 | config.rcc.mux = ClockSrc::PLL1_R; | 26 | config.rcc.mux = ClockSrc::PLL1_R; |
| 26 | config.rcc.pll = Some(Pll { | 27 | config.rcc.pll = Some(Pll { |
diff --git a/examples/stm32wl/src/bin/rtc.rs b/examples/stm32wl/src/bin/rtc.rs index 9ebb05f22..b3b7f9c5c 100644 --- a/examples/stm32wl/src/bin/rtc.rs +++ b/examples/stm32wl/src/bin/rtc.rs | |||
| @@ -5,20 +5,34 @@ | |||
| 5 | use chrono::{NaiveDate, NaiveDateTime}; | 5 | use chrono::{NaiveDate, NaiveDateTime}; |
| 6 | use defmt::*; | 6 | use defmt::*; |
| 7 | use embassy_executor::Spawner; | 7 | use embassy_executor::Spawner; |
| 8 | use embassy_stm32::rcc::{ClockSrc, LsConfig}; | ||
| 9 | use embassy_stm32::rtc::{Rtc, RtcConfig}; | 8 | use embassy_stm32::rtc::{Rtc, RtcConfig}; |
| 9 | use embassy_stm32::time::Hertz; | ||
| 10 | use embassy_stm32::Config; | 10 | use embassy_stm32::Config; |
| 11 | use embassy_time::Timer; | 11 | use embassy_time::Timer; |
| 12 | use {defmt_rtt as _, panic_probe as _}; | 12 | use {defmt_rtt as _, panic_probe as _}; |
| 13 | 13 | ||
| 14 | #[embassy_executor::main] | 14 | #[embassy_executor::main] |
| 15 | async fn main(_spawner: Spawner) { | 15 | async fn main(_spawner: Spawner) { |
| 16 | let p = { | 16 | let mut config = Config::default(); |
| 17 | let mut config = Config::default(); | 17 | { |
| 18 | config.rcc.mux = ClockSrc::HSE; | 18 | use embassy_stm32::rcc::*; |
| 19 | config.rcc.ls = LsConfig::default_lse(); | 19 | config.rcc.ls = LsConfig::default_lse(); |
| 20 | embassy_stm32::init(config) | 20 | config.rcc.hse = Some(Hse { |
| 21 | }; | 21 | freq: Hertz(32_000_000), |
| 22 | mode: HseMode::Bypass, | ||
| 23 | prescaler: HsePrescaler::DIV1, | ||
| 24 | }); | ||
| 25 | config.rcc.mux = ClockSrc::PLL1_R; | ||
| 26 | config.rcc.pll = Some(Pll { | ||
| 27 | source: PLLSource::HSE, | ||
| 28 | prediv: PllPreDiv::DIV2, | ||
| 29 | mul: PllMul::MUL6, | ||
| 30 | divp: None, | ||
| 31 | divq: Some(PllQDiv::DIV2), // PLL1_Q clock (32 / 2 * 6 / 2), used for RNG | ||
| 32 | divr: Some(PllRDiv::DIV2), // sysclk 48Mhz clock (32 / 2 * 6 / 2) | ||
| 33 | }); | ||
| 34 | } | ||
| 35 | let p = embassy_stm32::init(config); | ||
| 22 | info!("Hello World!"); | 36 | info!("Hello World!"); |
| 23 | 37 | ||
| 24 | let now = NaiveDate::from_ymd_opt(2020, 5, 15) | 38 | let now = NaiveDate::from_ymd_opt(2020, 5, 15) |
