aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/stm32g4/src/bin/usb_serial.rs6
-rw-r--r--examples/stm32h5/src/bin/eth.rs2
-rw-r--r--examples/stm32h5/src/bin/usb_serial.rs46
-rw-r--r--examples/stm32h7/src/bin/eth.rs2
-rw-r--r--examples/stm32h7/src/bin/eth_client.rs2
-rw-r--r--examples/stm32h7/src/bin/low_level_timer_api.rs1
-rw-r--r--examples/stm32h7/src/bin/rng.rs2
-rw-r--r--examples/stm32h7/src/bin/usb_serial.rs2
-rw-r--r--examples/stm32l0/src/bin/button_exti.rs3
-rw-r--r--examples/stm32l0/src/bin/lora_cad.rs2
-rw-r--r--examples/stm32l0/src/bin/lora_lorawan.rs2
-rw-r--r--examples/stm32l0/src/bin/lora_p2p_receive.rs2
-rw-r--r--examples/stm32l0/src/bin/lora_p2p_send.rs2
-rw-r--r--examples/stm32l4/src/bin/spe_adin1110_http_server.rs2
-rw-r--r--examples/stm32l4/src/bin/usb_serial.rs2
-rw-r--r--examples/stm32u5/src/bin/usb_serial.rs3
16 files changed, 38 insertions, 43 deletions
diff --git a/examples/stm32g4/src/bin/usb_serial.rs b/examples/stm32g4/src/bin/usb_serial.rs
index 9099b609a..188988b14 100644
--- a/examples/stm32g4/src/bin/usb_serial.rs
+++ b/examples/stm32g4/src/bin/usb_serial.rs
@@ -4,7 +4,7 @@
4 4
5use defmt::{panic, *}; 5use defmt::{panic, *};
6use embassy_executor::Spawner; 6use embassy_executor::Spawner;
7use embassy_stm32::rcc::{Clock48MhzSrc, ClockSrc, CrsConfig, CrsSyncSource, Pll, PllM, PllN, PllQ, PllR, PllSrc}; 7use embassy_stm32::rcc::{Clock48MhzSrc, ClockSrc, Hsi48Config, Pll, PllM, PllN, PllQ, PllR, PllSrc};
8use embassy_stm32::time::Hertz; 8use embassy_stm32::time::Hertz;
9use embassy_stm32::usb::{self, Driver, Instance}; 9use embassy_stm32::usb::{self, Driver, Instance};
10use embassy_stm32::{bind_interrupts, peripherals, Config}; 10use embassy_stm32::{bind_interrupts, peripherals, Config};
@@ -41,9 +41,7 @@ async fn main(_spawner: Spawner) {
41 41
42 if USE_HSI48 { 42 if USE_HSI48 {
43 // Sets up the Clock Recovery System (CRS) to use the USB SOF to trim the HSI48 oscillator. 43 // Sets up the Clock Recovery System (CRS) to use the USB SOF to trim the HSI48 oscillator.
44 config.rcc.clock_48mhz_src = Some(Clock48MhzSrc::Hsi48(Some(CrsConfig { 44 config.rcc.clock_48mhz_src = Some(Clock48MhzSrc::Hsi48(Hsi48Config { sync_from_usb: true }));
45 sync_src: CrsSyncSource::Usb,
46 })));
47 } else { 45 } else {
48 config.rcc.clock_48mhz_src = Some(Clock48MhzSrc::PllQ); 46 config.rcc.clock_48mhz_src = Some(Clock48MhzSrc::PllQ);
49 } 47 }
diff --git a/examples/stm32h5/src/bin/eth.rs b/examples/stm32h5/src/bin/eth.rs
index 5bec9d447..b2758cba0 100644
--- a/examples/stm32h5/src/bin/eth.rs
+++ b/examples/stm32h5/src/bin/eth.rs
@@ -37,7 +37,7 @@ async fn net_task(stack: &'static Stack<Device>) -> ! {
37async fn main(spawner: Spawner) -> ! { 37async fn main(spawner: Spawner) -> ! {
38 let mut config = Config::default(); 38 let mut config = Config::default();
39 config.rcc.hsi = None; 39 config.rcc.hsi = None;
40 config.rcc.hsi48 = true; // needed for rng 40 config.rcc.hsi48 = Some(Default::default()); // needed for RNG
41 config.rcc.hse = Some(Hse { 41 config.rcc.hse = Some(Hse {
42 freq: Hertz(8_000_000), 42 freq: Hertz(8_000_000),
43 mode: HseMode::BypassDigital, 43 mode: HseMode::BypassDigital,
diff --git a/examples/stm32h5/src/bin/usb_serial.rs b/examples/stm32h5/src/bin/usb_serial.rs
index 735826a69..13b218d00 100644
--- a/examples/stm32h5/src/bin/usb_serial.rs
+++ b/examples/stm32h5/src/bin/usb_serial.rs
@@ -4,9 +4,6 @@
4 4
5use defmt::{panic, *}; 5use defmt::{panic, *};
6use embassy_executor::Spawner; 6use embassy_executor::Spawner;
7use embassy_stm32::rcc::{
8 AHBPrescaler, APBPrescaler, Hse, HseMode, Pll, PllDiv, PllMul, PllPreDiv, PllSource, Sysclk, VoltageScale,
9};
10use embassy_stm32::time::Hertz; 7use embassy_stm32::time::Hertz;
11use embassy_stm32::usb::{Driver, Instance}; 8use embassy_stm32::usb::{Driver, Instance};
12use embassy_stm32::{bind_interrupts, pac, peripherals, usb, Config}; 9use embassy_stm32::{bind_interrupts, pac, peripherals, usb, Config};
@@ -23,26 +20,29 @@ bind_interrupts!(struct Irqs {
23#[embassy_executor::main] 20#[embassy_executor::main]
24async fn main(_spawner: Spawner) { 21async fn main(_spawner: Spawner) {
25 let mut config = Config::default(); 22 let mut config = Config::default();
26 config.rcc.hsi = None; 23 {
27 config.rcc.hsi48 = true; // needed for usb 24 use embassy_stm32::rcc::*;
28 config.rcc.hse = Some(Hse { 25 config.rcc.hsi = None;
29 freq: Hertz(8_000_000), 26 config.rcc.hsi48 = Some(Hsi48Config { sync_from_usb: true }); // needed for USB
30 mode: HseMode::BypassDigital, 27 config.rcc.hse = Some(Hse {
31 }); 28 freq: Hertz(8_000_000),
32 config.rcc.pll1 = Some(Pll { 29 mode: HseMode::BypassDigital,
33 source: PllSource::HSE, 30 });
34 prediv: PllPreDiv::DIV2, 31 config.rcc.pll1 = Some(Pll {
35 mul: PllMul::MUL125, 32 source: PllSource::HSE,
36 divp: Some(PllDiv::DIV2), // 250mhz 33 prediv: PllPreDiv::DIV2,
37 divq: None, 34 mul: PllMul::MUL125,
38 divr: None, 35 divp: Some(PllDiv::DIV2), // 250mhz
39 }); 36 divq: None,
40 config.rcc.ahb_pre = AHBPrescaler::DIV2; 37 divr: None,
41 config.rcc.apb1_pre = APBPrescaler::DIV4; 38 });
42 config.rcc.apb2_pre = APBPrescaler::DIV2; 39 config.rcc.ahb_pre = AHBPrescaler::DIV2;
43 config.rcc.apb3_pre = APBPrescaler::DIV4; 40 config.rcc.apb1_pre = APBPrescaler::DIV4;
44 config.rcc.sys = Sysclk::PLL1_P; 41 config.rcc.apb2_pre = APBPrescaler::DIV2;
45 config.rcc.voltage_scale = VoltageScale::Scale0; 42 config.rcc.apb3_pre = APBPrescaler::DIV4;
43 config.rcc.sys = Sysclk::PLL1_P;
44 config.rcc.voltage_scale = VoltageScale::Scale0;
45 }
46 let p = embassy_stm32::init(config); 46 let p = embassy_stm32::init(config);
47 47
48 info!("Hello World!"); 48 info!("Hello World!");
diff --git a/examples/stm32h7/src/bin/eth.rs b/examples/stm32h7/src/bin/eth.rs
index e37d8797b..b7a077374 100644
--- a/examples/stm32h7/src/bin/eth.rs
+++ b/examples/stm32h7/src/bin/eth.rs
@@ -36,7 +36,7 @@ async fn main(spawner: Spawner) -> ! {
36 use embassy_stm32::rcc::*; 36 use embassy_stm32::rcc::*;
37 config.rcc.hsi = Some(HSIPrescaler::DIV1); 37 config.rcc.hsi = Some(HSIPrescaler::DIV1);
38 config.rcc.csi = true; 38 config.rcc.csi = true;
39 config.rcc.hsi48 = true; // needed for RNG 39 config.rcc.hsi48 = Some(Default::default()); // needed for RNG
40 config.rcc.pll1 = Some(Pll { 40 config.rcc.pll1 = Some(Pll {
41 source: PllSource::HSI, 41 source: PllSource::HSI,
42 prediv: PllPreDiv::DIV4, 42 prediv: PllPreDiv::DIV4,
diff --git a/examples/stm32h7/src/bin/eth_client.rs b/examples/stm32h7/src/bin/eth_client.rs
index 88df53f01..f0f28ec9c 100644
--- a/examples/stm32h7/src/bin/eth_client.rs
+++ b/examples/stm32h7/src/bin/eth_client.rs
@@ -37,7 +37,7 @@ async fn main(spawner: Spawner) -> ! {
37 use embassy_stm32::rcc::*; 37 use embassy_stm32::rcc::*;
38 config.rcc.hsi = Some(HSIPrescaler::DIV1); 38 config.rcc.hsi = Some(HSIPrescaler::DIV1);
39 config.rcc.csi = true; 39 config.rcc.csi = true;
40 config.rcc.hsi48 = true; // needed for RNG 40 config.rcc.hsi48 = Some(Default::default()); // needed for RNG
41 config.rcc.pll1 = Some(Pll { 41 config.rcc.pll1 = Some(Pll {
42 source: PllSource::HSI, 42 source: PllSource::HSI,
43 prediv: PllPreDiv::DIV4, 43 prediv: PllPreDiv::DIV4,
diff --git a/examples/stm32h7/src/bin/low_level_timer_api.rs b/examples/stm32h7/src/bin/low_level_timer_api.rs
index e4bac8a5a..e0be495d1 100644
--- a/examples/stm32h7/src/bin/low_level_timer_api.rs
+++ b/examples/stm32h7/src/bin/low_level_timer_api.rs
@@ -19,7 +19,6 @@ async fn main(_spawner: Spawner) {
19 use embassy_stm32::rcc::*; 19 use embassy_stm32::rcc::*;
20 config.rcc.hsi = Some(HSIPrescaler::DIV1); 20 config.rcc.hsi = Some(HSIPrescaler::DIV1);
21 config.rcc.csi = true; 21 config.rcc.csi = true;
22 config.rcc.hsi48 = true; // needed for RNG
23 config.rcc.pll1 = Some(Pll { 22 config.rcc.pll1 = Some(Pll {
24 source: PllSource::HSI, 23 source: PllSource::HSI,
25 prediv: PllPreDiv::DIV4, 24 prediv: PllPreDiv::DIV4,
diff --git a/examples/stm32h7/src/bin/rng.rs b/examples/stm32h7/src/bin/rng.rs
index af1d6ebb8..1fb4cfec0 100644
--- a/examples/stm32h7/src/bin/rng.rs
+++ b/examples/stm32h7/src/bin/rng.rs
@@ -15,7 +15,7 @@ bind_interrupts!(struct Irqs {
15#[embassy_executor::main] 15#[embassy_executor::main]
16async fn main(_spawner: Spawner) { 16async fn main(_spawner: Spawner) {
17 let mut config = Config::default(); 17 let mut config = Config::default();
18 config.rcc.hsi48 = true; // needed for RNG. 18 config.rcc.hsi48 = Some(Default::default()); // needed for RNG
19 let p = embassy_stm32::init(config); 19 let p = embassy_stm32::init(config);
20 info!("Hello World!"); 20 info!("Hello World!");
21 21
diff --git a/examples/stm32h7/src/bin/usb_serial.rs b/examples/stm32h7/src/bin/usb_serial.rs
index 19d77183b..648ff6eea 100644
--- a/examples/stm32h7/src/bin/usb_serial.rs
+++ b/examples/stm32h7/src/bin/usb_serial.rs
@@ -25,7 +25,7 @@ async fn main(_spawner: Spawner) {
25 use embassy_stm32::rcc::*; 25 use embassy_stm32::rcc::*;
26 config.rcc.hsi = Some(HSIPrescaler::DIV1); 26 config.rcc.hsi = Some(HSIPrescaler::DIV1);
27 config.rcc.csi = true; 27 config.rcc.csi = true;
28 config.rcc.hsi48 = true; // needed for USB 28 config.rcc.hsi48 = Some(Hsi48Config { sync_from_usb: true }); // needed for USB
29 config.rcc.pll1 = Some(Pll { 29 config.rcc.pll1 = Some(Pll {
30 source: PllSource::HSI, 30 source: PllSource::HSI,
31 prediv: PllPreDiv::DIV4, 31 prediv: PllPreDiv::DIV4,
diff --git a/examples/stm32l0/src/bin/button_exti.rs b/examples/stm32l0/src/bin/button_exti.rs
index 441b00c6d..ffede253e 100644
--- a/examples/stm32l0/src/bin/button_exti.rs
+++ b/examples/stm32l0/src/bin/button_exti.rs
@@ -11,8 +11,7 @@ use {defmt_rtt as _, panic_probe as _};
11 11
12#[embassy_executor::main] 12#[embassy_executor::main]
13async fn main(_spawner: Spawner) { 13async fn main(_spawner: Spawner) {
14 let mut config = Config::default(); 14 let config = Config::default();
15 config.rcc.hsi48 = true;
16 let p = embassy_stm32::init(config); 15 let p = embassy_stm32::init(config);
17 16
18 let button = Input::new(p.PB2, Pull::Up); 17 let button = Input::new(p.PB2, Pull::Up);
diff --git a/examples/stm32l0/src/bin/lora_cad.rs b/examples/stm32l0/src/bin/lora_cad.rs
index 61024ef79..8ca9e8b22 100644
--- a/examples/stm32l0/src/bin/lora_cad.rs
+++ b/examples/stm32l0/src/bin/lora_cad.rs
@@ -23,8 +23,8 @@ const LORA_FREQUENCY_IN_HZ: u32 = 903_900_000; // warning: set this appropriatel
23#[embassy_executor::main] 23#[embassy_executor::main]
24async fn main(_spawner: Spawner) { 24async fn main(_spawner: Spawner) {
25 let mut config = embassy_stm32::Config::default(); 25 let mut config = embassy_stm32::Config::default();
26 config.rcc.hsi = true;
26 config.rcc.mux = embassy_stm32::rcc::ClockSrc::HSI; 27 config.rcc.mux = embassy_stm32::rcc::ClockSrc::HSI;
27 config.rcc.hsi48 = true;
28 let p = embassy_stm32::init(config); 28 let p = embassy_stm32::init(config);
29 29
30 let mut spi_config = spi::Config::default(); 30 let mut spi_config = spi::Config::default();
diff --git a/examples/stm32l0/src/bin/lora_lorawan.rs b/examples/stm32l0/src/bin/lora_lorawan.rs
index 9c4f32916..4365c4cf6 100644
--- a/examples/stm32l0/src/bin/lora_lorawan.rs
+++ b/examples/stm32l0/src/bin/lora_lorawan.rs
@@ -33,8 +33,8 @@ const LORAWAN_REGION: region::Region = region::Region::EU868; // warning: set th
33#[embassy_executor::main] 33#[embassy_executor::main]
34async fn main(_spawner: Spawner) { 34async fn main(_spawner: Spawner) {
35 let mut config = embassy_stm32::Config::default(); 35 let mut config = embassy_stm32::Config::default();
36 config.rcc.hsi = true;
36 config.rcc.mux = embassy_stm32::rcc::ClockSrc::HSI; 37 config.rcc.mux = embassy_stm32::rcc::ClockSrc::HSI;
37 config.rcc.hsi48 = true;
38 let p = embassy_stm32::init(config); 38 let p = embassy_stm32::init(config);
39 39
40 let mut spi_config = spi::Config::default(); 40 let mut spi_config = spi::Config::default();
diff --git a/examples/stm32l0/src/bin/lora_p2p_receive.rs b/examples/stm32l0/src/bin/lora_p2p_receive.rs
index 4a50182c2..0627ac087 100644
--- a/examples/stm32l0/src/bin/lora_p2p_receive.rs
+++ b/examples/stm32l0/src/bin/lora_p2p_receive.rs
@@ -23,8 +23,8 @@ const LORA_FREQUENCY_IN_HZ: u32 = 903_900_000; // warning: set this appropriatel
23#[embassy_executor::main] 23#[embassy_executor::main]
24async fn main(_spawner: Spawner) { 24async fn main(_spawner: Spawner) {
25 let mut config = embassy_stm32::Config::default(); 25 let mut config = embassy_stm32::Config::default();
26 config.rcc.hsi = true;
26 config.rcc.mux = embassy_stm32::rcc::ClockSrc::HSI; 27 config.rcc.mux = embassy_stm32::rcc::ClockSrc::HSI;
27 config.rcc.hsi48 = true;
28 let p = embassy_stm32::init(config); 28 let p = embassy_stm32::init(config);
29 29
30 let mut spi_config = spi::Config::default(); 30 let mut spi_config = spi::Config::default();
diff --git a/examples/stm32l0/src/bin/lora_p2p_send.rs b/examples/stm32l0/src/bin/lora_p2p_send.rs
index f6de6a5cd..4f12cadc8 100644
--- a/examples/stm32l0/src/bin/lora_p2p_send.rs
+++ b/examples/stm32l0/src/bin/lora_p2p_send.rs
@@ -23,8 +23,8 @@ const LORA_FREQUENCY_IN_HZ: u32 = 903_900_000; // warning: set this appropriatel
23#[embassy_executor::main] 23#[embassy_executor::main]
24async fn main(_spawner: Spawner) { 24async fn main(_spawner: Spawner) {
25 let mut config = embassy_stm32::Config::default(); 25 let mut config = embassy_stm32::Config::default();
26 config.rcc.hsi = true;
26 config.rcc.mux = embassy_stm32::rcc::ClockSrc::HSI; 27 config.rcc.mux = embassy_stm32::rcc::ClockSrc::HSI;
27 config.rcc.hsi48 = true;
28 let p = embassy_stm32::init(config); 28 let p = embassy_stm32::init(config);
29 29
30 let mut spi_config = spi::Config::default(); 30 let mut spi_config = spi::Config::default();
diff --git a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs
index f76b504a7..62caeea55 100644
--- a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs
+++ b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs
@@ -90,7 +90,7 @@ async fn main(spawner: Spawner) {
90 divq: None, 90 divq: None,
91 divr: Some(PllRDiv::DIV2), // sysclk 80Mhz clock (8 / 1 * 20 / 2) 91 divr: Some(PllRDiv::DIV2), // sysclk 80Mhz clock (8 / 1 * 20 / 2)
92 }); 92 });
93 config.rcc.hsi48 = true; // needed for rng 93 config.rcc.hsi48 = Some(Default::default()); // needed for RNG
94 } 94 }
95 95
96 let dp = embassy_stm32::init(config); 96 let dp = embassy_stm32::init(config);
diff --git a/examples/stm32l4/src/bin/usb_serial.rs b/examples/stm32l4/src/bin/usb_serial.rs
index 15c6f1982..d459245d5 100644
--- a/examples/stm32l4/src/bin/usb_serial.rs
+++ b/examples/stm32l4/src/bin/usb_serial.rs
@@ -23,7 +23,7 @@ async fn main(_spawner: Spawner) {
23 info!("Hello World!"); 23 info!("Hello World!");
24 24
25 let mut config = Config::default(); 25 let mut config = Config::default();
26 config.rcc.hsi48 = true; 26 config.rcc.hsi48 = Some(Hsi48Config { sync_from_usb: true }); // needed for USB
27 config.rcc.mux = ClockSrc::PLL1_R; 27 config.rcc.mux = ClockSrc::PLL1_R;
28 config.rcc.hsi = true; 28 config.rcc.hsi = true;
29 config.rcc.pll = Some(Pll { 29 config.rcc.pll = Some(Pll {
diff --git a/examples/stm32u5/src/bin/usb_serial.rs b/examples/stm32u5/src/bin/usb_serial.rs
index f59f623b3..eaa1c2912 100644
--- a/examples/stm32u5/src/bin/usb_serial.rs
+++ b/examples/stm32u5/src/bin/usb_serial.rs
@@ -29,8 +29,7 @@ async fn main(_spawner: Spawner) {
29 n: Plln::MUL10, 29 n: Plln::MUL10,
30 r: Plldiv::DIV1, 30 r: Plldiv::DIV1,
31 }); 31 });
32 //config.rcc.mux = ClockSrc::MSI(MSIRange::Range48mhz); 32 config.rcc.hsi48 = Some(Hsi48Config { sync_from_usb: true }); // needed for USB
33 config.rcc.hsi48 = true;
34 33
35 let p = embassy_stm32::init(config); 34 let p = embassy_stm32::init(config);
36 35