aboutsummaryrefslogtreecommitdiff
path: root/examples/stm32f3/src
diff options
context:
space:
mode:
authorQuentin Smith <[email protected]>2022-08-19 00:53:06 -0400
committerQuentin Smith <[email protected]>2022-08-19 00:53:41 -0400
commit71e468681b1c074e06276d34ff00e36169c632f5 (patch)
treece86220caabbdc044720df8efb23de7bc4c36ea0 /examples/stm32f3/src
parent2edf532f8d8ce048137990bf74b07759428ed7c1 (diff)
parentaefa5275a2ab2cac6caef599e7adb76ce1beeddd (diff)
Merge branch 'master' of https://github.com/embassy-rs/embassy into rtos-trace
Diffstat (limited to 'examples/stm32f3/src')
-rw-r--r--examples/stm32f3/src/bin/blinky.rs8
-rw-r--r--examples/stm32f3/src/bin/button_events.rs8
-rw-r--r--examples/stm32f3/src/bin/button_exti.rs6
-rw-r--r--examples/stm32f3/src/bin/flash.rs6
-rw-r--r--examples/stm32f3/src/bin/hello.rs14
-rw-r--r--examples/stm32f3/src/bin/multiprio.rs2
-rw-r--r--examples/stm32f3/src/bin/spi_dma.rs6
-rw-r--r--examples/stm32f3/src/bin/usart_dma.rs6
-rw-r--r--examples/stm32f3/src/bin/usb_serial.rs16
9 files changed, 33 insertions, 39 deletions
diff --git a/examples/stm32f3/src/bin/blinky.rs b/examples/stm32f3/src/bin/blinky.rs
index 7146eaa54..185785ceb 100644
--- a/examples/stm32f3/src/bin/blinky.rs
+++ b/examples/stm32f3/src/bin/blinky.rs
@@ -3,14 +3,14 @@
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5use defmt::*; 5use defmt::*;
6use embassy_executor::executor::Spawner; 6use embassy_executor::Spawner;
7use embassy_executor::time::{Duration, Timer};
8use embassy_stm32::gpio::{Level, Output, Speed}; 7use embassy_stm32::gpio::{Level, Output, Speed};
9use embassy_stm32::Peripherals; 8use embassy_time::{Duration, Timer};
10use {defmt_rtt as _, panic_probe as _}; 9use {defmt_rtt as _, panic_probe as _};
11 10
12#[embassy_executor::main] 11#[embassy_executor::main]
13async fn main(_spawner: Spawner, p: Peripherals) { 12async fn main(_spawner: Spawner) {
13 let p = embassy_stm32::init(Default::default());
14 info!("Hello World!"); 14 info!("Hello World!");
15 15
16 let mut led = Output::new(p.PA5, Level::High, Speed::Low); 16 let mut led = Output::new(p.PA5, Level::High, Speed::Low);
diff --git a/examples/stm32f3/src/bin/button_events.rs b/examples/stm32f3/src/bin/button_events.rs
index ef5110316..61fc6dcab 100644
--- a/examples/stm32f3/src/bin/button_events.rs
+++ b/examples/stm32f3/src/bin/button_events.rs
@@ -11,12 +11,11 @@
11#![feature(type_alias_impl_trait)] 11#![feature(type_alias_impl_trait)]
12 12
13use defmt::*; 13use defmt::*;
14use embassy_executor::executor::Spawner; 14use embassy_executor::Spawner;
15use embassy_executor::time::{with_timeout, Duration, Timer};
16use embassy_stm32::exti::ExtiInput; 15use embassy_stm32::exti::ExtiInput;
17use embassy_stm32::gpio::{AnyPin, Input, Level, Output, Pin, Pull, Speed}; 16use embassy_stm32::gpio::{AnyPin, Input, Level, Output, Pin, Pull, Speed};
18use embassy_stm32::peripherals::PA0; 17use embassy_stm32::peripherals::PA0;
19use embassy_stm32::Peripherals; 18use embassy_time::{with_timeout, Duration, Timer};
20use embassy_util::blocking_mutex::raw::ThreadModeRawMutex; 19use embassy_util::blocking_mutex::raw::ThreadModeRawMutex;
21use embassy_util::channel::mpmc::Channel; 20use embassy_util::channel::mpmc::Channel;
22use {defmt_rtt as _, panic_probe as _}; 21use {defmt_rtt as _, panic_probe as _};
@@ -100,7 +99,8 @@ enum ButtonEvent {
100static CHANNEL: Channel<ThreadModeRawMutex, ButtonEvent, 4> = Channel::new(); 99static CHANNEL: Channel<ThreadModeRawMutex, ButtonEvent, 4> = Channel::new();
101 100
102#[embassy_executor::main] 101#[embassy_executor::main]
103async fn main(spawner: Spawner, p: Peripherals) { 102async fn main(spawner: Spawner) {
103 let p = embassy_stm32::init(Default::default());
104 let button = Input::new(p.PA0, Pull::Down); 104 let button = Input::new(p.PA0, Pull::Down);
105 let button = ExtiInput::new(button, p.EXTI0); 105 let button = ExtiInput::new(button, p.EXTI0);
106 info!("Press the USER button..."); 106 info!("Press the USER button...");
diff --git a/examples/stm32f3/src/bin/button_exti.rs b/examples/stm32f3/src/bin/button_exti.rs
index dee06e5de..1266778c1 100644
--- a/examples/stm32f3/src/bin/button_exti.rs
+++ b/examples/stm32f3/src/bin/button_exti.rs
@@ -3,14 +3,14 @@
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5use defmt::*; 5use defmt::*;
6use embassy_executor::executor::Spawner; 6use embassy_executor::Spawner;
7use embassy_stm32::exti::ExtiInput; 7use embassy_stm32::exti::ExtiInput;
8use embassy_stm32::gpio::{Input, Pull}; 8use embassy_stm32::gpio::{Input, Pull};
9use embassy_stm32::Peripherals;
10use {defmt_rtt as _, panic_probe as _}; 9use {defmt_rtt as _, panic_probe as _};
11 10
12#[embassy_executor::main] 11#[embassy_executor::main]
13async fn main(_spawner: Spawner, p: Peripherals) { 12async fn main(_spawner: Spawner) {
13 let p = embassy_stm32::init(Default::default());
14 info!("Hello World!"); 14 info!("Hello World!");
15 15
16 let button = Input::new(p.PA0, Pull::Down); 16 let button = Input::new(p.PA0, Pull::Down);
diff --git a/examples/stm32f3/src/bin/flash.rs b/examples/stm32f3/src/bin/flash.rs
index be2f6f671..2cf24dbd3 100644
--- a/examples/stm32f3/src/bin/flash.rs
+++ b/examples/stm32f3/src/bin/flash.rs
@@ -3,14 +3,14 @@
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5use defmt::{info, unwrap}; 5use defmt::{info, unwrap};
6use embassy_executor::executor::Spawner; 6use embassy_executor::Spawner;
7use embassy_stm32::flash::Flash; 7use embassy_stm32::flash::Flash;
8use embassy_stm32::Peripherals;
9use embedded_storage::nor_flash::{NorFlash, ReadNorFlash}; 8use embedded_storage::nor_flash::{NorFlash, ReadNorFlash};
10use {defmt_rtt as _, panic_probe as _}; 9use {defmt_rtt as _, panic_probe as _};
11 10
12#[embassy_executor::main] 11#[embassy_executor::main]
13async fn main(_spawner: Spawner, p: Peripherals) { 12async fn main(_spawner: Spawner) {
13 let p = embassy_stm32::init(Default::default());
14 info!("Hello Flash!"); 14 info!("Hello Flash!");
15 15
16 const ADDR: u32 = 0x26000; 16 const ADDR: u32 = 0x26000;
diff --git a/examples/stm32f3/src/bin/hello.rs b/examples/stm32f3/src/bin/hello.rs
index bd9953a0e..65773210d 100644
--- a/examples/stm32f3/src/bin/hello.rs
+++ b/examples/stm32f3/src/bin/hello.rs
@@ -3,21 +3,19 @@
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5use defmt::info; 5use defmt::info;
6use embassy_executor::executor::Spawner; 6use embassy_executor::Spawner;
7use embassy_executor::time::{Duration, Timer};
8use embassy_stm32::time::Hertz; 7use embassy_stm32::time::Hertz;
9use embassy_stm32::{Config, Peripherals}; 8use embassy_stm32::Config;
9use embassy_time::{Duration, Timer};
10use {defmt_rtt as _, panic_probe as _}; 10use {defmt_rtt as _, panic_probe as _};
11 11
12fn config() -> Config { 12#[embassy_executor::main]
13async 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(config = "config()")]
20async fn main(_spawner: Spawner, _p: Peripherals) -> ! {
21 loop { 19 loop {
22 info!("Hello World!"); 20 info!("Hello World!");
23 Timer::after(Duration::from_secs(1)).await; 21 Timer::after(Duration::from_secs(1)).await;
diff --git a/examples/stm32f3/src/bin/multiprio.rs b/examples/stm32f3/src/bin/multiprio.rs
index fba5b286e..e96c31249 100644
--- a/examples/stm32f3/src/bin/multiprio.rs
+++ b/examples/stm32f3/src/bin/multiprio.rs
@@ -59,10 +59,10 @@
59 59
60use cortex_m_rt::entry; 60use cortex_m_rt::entry;
61use defmt::*; 61use defmt::*;
62use embassy_executor::time::{Duration, Instant, Timer};
63use embassy_stm32::executor::{Executor, InterruptExecutor}; 62use embassy_stm32::executor::{Executor, InterruptExecutor};
64use embassy_stm32::interrupt; 63use embassy_stm32::interrupt;
65use embassy_stm32::interrupt::InterruptExt; 64use embassy_stm32::interrupt::InterruptExt;
65use embassy_time::{Duration, Instant, Timer};
66use embassy_util::Forever; 66use embassy_util::Forever;
67use {defmt_rtt as _, panic_probe as _}; 67use {defmt_rtt as _, panic_probe as _};
68 68
diff --git a/examples/stm32f3/src/bin/spi_dma.rs b/examples/stm32f3/src/bin/spi_dma.rs
index f554c509a..95b2b6865 100644
--- a/examples/stm32f3/src/bin/spi_dma.rs
+++ b/examples/stm32f3/src/bin/spi_dma.rs
@@ -6,15 +6,15 @@ use core::fmt::Write;
6use core::str::from_utf8; 6use core::str::from_utf8;
7 7
8use defmt::*; 8use defmt::*;
9use embassy_executor::executor::Spawner; 9use embassy_executor::Spawner;
10use embassy_stm32::spi::{Config, Spi}; 10use embassy_stm32::spi::{Config, Spi};
11use embassy_stm32::time::Hertz; 11use embassy_stm32::time::Hertz;
12use embassy_stm32::Peripherals;
13use heapless::String; 12use heapless::String;
14use {defmt_rtt as _, panic_probe as _}; 13use {defmt_rtt as _, panic_probe as _};
15 14
16#[embassy_executor::main] 15#[embassy_executor::main]
17async fn main(_spawner: Spawner, p: Peripherals) { 16async fn main(_spawner: Spawner) {
17 let p = embassy_stm32::init(Default::default());
18 info!("Hello World!"); 18 info!("Hello World!");
19 19
20 let mut spi = Spi::new( 20 let mut spi = Spi::new(
diff --git a/examples/stm32f3/src/bin/usart_dma.rs b/examples/stm32f3/src/bin/usart_dma.rs
index 62d165029..3bc5a287f 100644
--- a/examples/stm32f3/src/bin/usart_dma.rs
+++ b/examples/stm32f3/src/bin/usart_dma.rs
@@ -5,15 +5,15 @@
5use core::fmt::Write; 5use core::fmt::Write;
6 6
7use defmt::*; 7use defmt::*;
8use embassy_executor::executor::Spawner; 8use embassy_executor::Spawner;
9use embassy_stm32::dma::NoDma; 9use embassy_stm32::dma::NoDma;
10use embassy_stm32::usart::{Config, Uart}; 10use embassy_stm32::usart::{Config, Uart};
11use embassy_stm32::Peripherals;
12use heapless::String; 11use heapless::String;
13use {defmt_rtt as _, panic_probe as _}; 12use {defmt_rtt as _, panic_probe as _};
14 13
15#[embassy_executor::main] 14#[embassy_executor::main]
16async fn main(_spawner: Spawner, p: Peripherals) { 15async fn main(_spawner: Spawner) {
16 let p = embassy_stm32::init(Default::default());
17 info!("Hello World!"); 17 info!("Hello World!");
18 18
19 let config = Config::default(); 19 let config = Config::default();
diff --git a/examples/stm32f3/src/bin/usb_serial.rs b/examples/stm32f3/src/bin/usb_serial.rs
index 87b1138f5..d3702fc35 100644
--- a/examples/stm32f3/src/bin/usb_serial.rs
+++ b/examples/stm32f3/src/bin/usb_serial.rs
@@ -3,32 +3,28 @@
3#![feature(type_alias_impl_trait)] 3#![feature(type_alias_impl_trait)]
4 4
5use defmt::{panic, *}; 5use defmt::{panic, *};
6use embassy_executor::executor::Spawner; 6use embassy_executor::Spawner;
7use embassy_executor::time::{Duration, Timer};
8use embassy_stm32::gpio::{Level, Output, Speed}; 7use embassy_stm32::gpio::{Level, Output, Speed};
9use embassy_stm32::time::mhz; 8use embassy_stm32::time::mhz;
10use embassy_stm32::usb::{Driver, Instance}; 9use embassy_stm32::usb::{Driver, Instance};
11use embassy_stm32::{interrupt, Config, Peripherals}; 10use embassy_stm32::{interrupt, Config};
11use embassy_time::{Duration, Timer};
12use embassy_usb::driver::EndpointError; 12use embassy_usb::driver::EndpointError;
13use embassy_usb::Builder; 13use embassy_usb::Builder;
14use embassy_usb_serial::{CdcAcmClass, State}; 14use embassy_usb_serial::{CdcAcmClass, State};
15use futures::future::join; 15use futures::future::join;
16use {defmt_rtt as _, panic_probe as _}; 16use {defmt_rtt as _, panic_probe as _};
17 17
18fn config() -> Config { 18#[embassy_executor::main]
19async 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(config = "config()")]
31async fn main(_spawner: Spawner, p: Peripherals) {
32 info!("Hello World!"); 28 info!("Hello World!");
33 29
34 // Needed for nucleo-stm32f303ze 30 // Needed for nucleo-stm32f303ze