aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2023-10-23 01:09:36 +0200
committerDario Nieuwenhuis <[email protected]>2023-10-23 17:36:21 +0200
commit0ef1cb29f70c71d3c85f5b8b4ad3c7ce60babba8 (patch)
tree7c895ed4b48f3395722f0fc3171279004909e9bf /examples
parent64ab23d17d9addd82f0b11a27a3d2219c1a8ec20 (diff)
stm32/rcc: merge wb into l4/l5.
Diffstat (limited to 'examples')
-rw-r--r--examples/stm32wl/src/bin/lora_lorawan.rs1
-rw-r--r--examples/stm32wl/src/bin/lora_p2p_receive.rs19
-rw-r--r--examples/stm32wl/src/bin/lora_p2p_send.rs19
-rw-r--r--examples/stm32wl/src/bin/random.rs1
-rw-r--r--examples/stm32wl/src/bin/rtc.rs26
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};
11use embassy_stm32::bind_interrupts; 11use embassy_stm32::bind_interrupts;
12use embassy_stm32::gpio::{Level, Output, Pin, Speed}; 12use embassy_stm32::gpio::{Level, Output, Pin, Speed};
13use embassy_stm32::spi::Spi; 13use embassy_stm32::spi::Spi;
14use embassy_stm32::time::Hertz;
14use embassy_time::{Delay, Timer}; 15use embassy_time::{Delay, Timer};
15use lora_phy::mod_params::*; 16use lora_phy::mod_params::*;
16use lora_phy::sx1261_2::SX1261_2; 17use lora_phy::sx1261_2::SX1261_2;
@@ -26,7 +27,23 @@ bind_interrupts!(struct Irqs{
26#[embassy_executor::main] 27#[embassy_executor::main]
27async fn main(_spawner: Spawner) { 28async 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};
11use embassy_stm32::bind_interrupts; 11use embassy_stm32::bind_interrupts;
12use embassy_stm32::gpio::{Level, Output, Pin, Speed}; 12use embassy_stm32::gpio::{Level, Output, Pin, Speed};
13use embassy_stm32::spi::Spi; 13use embassy_stm32::spi::Spi;
14use embassy_stm32::time::Hertz;
14use embassy_time::Delay; 15use embassy_time::Delay;
15use lora_phy::mod_params::*; 16use lora_phy::mod_params::*;
16use lora_phy::sx1261_2::SX1261_2; 17use lora_phy::sx1261_2::SX1261_2;
@@ -26,7 +27,23 @@ bind_interrupts!(struct Irqs{
26#[embassy_executor::main] 27#[embassy_executor::main]
27async fn main(_spawner: Spawner) { 28async 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 @@
5use chrono::{NaiveDate, NaiveDateTime}; 5use chrono::{NaiveDate, NaiveDateTime};
6use defmt::*; 6use defmt::*;
7use embassy_executor::Spawner; 7use embassy_executor::Spawner;
8use embassy_stm32::rcc::{ClockSrc, LsConfig};
9use embassy_stm32::rtc::{Rtc, RtcConfig}; 8use embassy_stm32::rtc::{Rtc, RtcConfig};
9use embassy_stm32::time::Hertz;
10use embassy_stm32::Config; 10use embassy_stm32::Config;
11use embassy_time::Timer; 11use embassy_time::Timer;
12use {defmt_rtt as _, panic_probe as _}; 12use {defmt_rtt as _, panic_probe as _};
13 13
14#[embassy_executor::main] 14#[embassy_executor::main]
15async fn main(_spawner: Spawner) { 15async 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)