aboutsummaryrefslogtreecommitdiff
path: root/examples/stm32h7/src/bin
diff options
context:
space:
mode:
Diffstat (limited to 'examples/stm32h7/src/bin')
-rw-r--r--examples/stm32h7/src/bin/camera.rs12
-rw-r--r--examples/stm32h7/src/bin/dac_dma.rs4
-rw-r--r--examples/stm32h7/src/bin/eth.rs3
-rw-r--r--examples/stm32h7/src/bin/eth_client.rs3
-rw-r--r--examples/stm32h7/src/bin/eth_client_mii.rs3
-rw-r--r--examples/stm32h7/src/bin/i2c.rs12
-rw-r--r--examples/stm32h7/src/bin/i2c_shared.rs22
-rw-r--r--examples/stm32h7/src/bin/low_level_timer_api.rs10
-rw-r--r--examples/stm32h7/src/bin/multiprio.rs6
-rw-r--r--examples/stm32h7/src/bin/pwm.rs2
-rw-r--r--examples/stm32h7/src/bin/sai.rs72
-rw-r--r--examples/stm32h7/src/bin/signal.rs2
-rw-r--r--examples/stm32h7/src/bin/spi.rs2
-rw-r--r--examples/stm32h7/src/bin/spi_bdma.rs2
-rw-r--r--examples/stm32h7/src/bin/spi_dma.rs2
-rw-r--r--examples/stm32h7/src/bin/usart.rs2
-rw-r--r--examples/stm32h7/src/bin/usart_dma.rs2
-rw-r--r--examples/stm32h7/src/bin/usart_split.rs2
18 files changed, 33 insertions, 130 deletions
diff --git a/examples/stm32h7/src/bin/camera.rs b/examples/stm32h7/src/bin/camera.rs
index 170a5aa28..8f2e265d6 100644
--- a/examples/stm32h7/src/bin/camera.rs
+++ b/examples/stm32h7/src/bin/camera.rs
@@ -6,7 +6,6 @@ use embassy_stm32::dcmi::{self, *};
6use embassy_stm32::gpio::{Level, Output, Speed}; 6use embassy_stm32::gpio::{Level, Output, Speed};
7use embassy_stm32::i2c::I2c; 7use embassy_stm32::i2c::I2c;
8use embassy_stm32::rcc::{Mco, Mco1Source, McoPrescaler}; 8use embassy_stm32::rcc::{Mco, Mco1Source, McoPrescaler};
9use embassy_stm32::time::khz;
10use embassy_stm32::{bind_interrupts, i2c, peripherals, Config}; 9use embassy_stm32::{bind_interrupts, i2c, peripherals, Config};
11use embassy_time::Timer; 10use embassy_time::Timer;
12use ov7725::*; 11use ov7725::*;
@@ -52,16 +51,7 @@ async fn main(_spawner: Spawner) {
52 let mco = Mco::new(p.MCO1, p.PA8, Mco1Source::HSI, McoPrescaler::DIV3); 51 let mco = Mco::new(p.MCO1, p.PA8, Mco1Source::HSI, McoPrescaler::DIV3);
53 52
54 let mut led = Output::new(p.PE3, Level::High, Speed::Low); 53 let mut led = Output::new(p.PE3, Level::High, Speed::Low);
55 let cam_i2c = I2c::new( 54 let cam_i2c = I2c::new(p.I2C1, p.PB8, p.PB9, Irqs, p.DMA1_CH1, p.DMA1_CH2, Default::default());
56 p.I2C1,
57 p.PB8,
58 p.PB9,
59 Irqs,
60 p.DMA1_CH1,
61 p.DMA1_CH2,
62 khz(100),
63 Default::default(),
64 );
65 55
66 let mut camera = Ov7725::new(cam_i2c, mco); 56 let mut camera = Ov7725::new(cam_i2c, mco);
67 57
diff --git a/examples/stm32h7/src/bin/dac_dma.rs b/examples/stm32h7/src/bin/dac_dma.rs
index 8314754bc..df37e9d78 100644
--- a/examples/stm32h7/src/bin/dac_dma.rs
+++ b/examples/stm32h7/src/bin/dac_dma.rs
@@ -53,8 +53,8 @@ async fn main(spawner: Spawner) {
53 // Obtain two independent channels (p.DAC1 can only be consumed once, though!) 53 // Obtain two independent channels (p.DAC1 can only be consumed once, though!)
54 let (dac_ch1, dac_ch2) = embassy_stm32::dac::Dac::new(p.DAC1, p.DMA1_CH3, p.DMA1_CH4, p.PA4, p.PA5).split(); 54 let (dac_ch1, dac_ch2) = embassy_stm32::dac::Dac::new(p.DAC1, p.DMA1_CH3, p.DMA1_CH4, p.PA4, p.PA5).split();
55 55
56 spawner.spawn(dac_task1(p.TIM6, dac_ch1)).ok(); 56 spawner.spawn(dac_task1(p.TIM6, dac_ch1).unwrap());
57 spawner.spawn(dac_task2(p.TIM7, dac_ch2)).ok(); 57 spawner.spawn(dac_task2(p.TIM7, dac_ch2).unwrap());
58} 58}
59 59
60#[embassy_executor::task] 60#[embassy_executor::task]
diff --git a/examples/stm32h7/src/bin/eth.rs b/examples/stm32h7/src/bin/eth.rs
index da7aa4af5..6c215362d 100644
--- a/examples/stm32h7/src/bin/eth.rs
+++ b/examples/stm32h7/src/bin/eth.rs
@@ -11,7 +11,6 @@ use embassy_stm32::rng::Rng;
11use embassy_stm32::{bind_interrupts, eth, peripherals, rng, Config}; 11use embassy_stm32::{bind_interrupts, eth, peripherals, rng, Config};
12use embassy_time::Timer; 12use embassy_time::Timer;
13use embedded_io_async::Write; 13use embedded_io_async::Write;
14use rand_core::RngCore;
15use static_cell::StaticCell; 14use static_cell::StaticCell;
16use {defmt_rtt as _, panic_probe as _}; 15use {defmt_rtt as _, panic_probe as _};
17 16
@@ -94,7 +93,7 @@ async fn main(spawner: Spawner) -> ! {
94 let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); 93 let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed);
95 94
96 // Launch network task 95 // Launch network task
97 unwrap!(spawner.spawn(net_task(runner))); 96 spawner.spawn(unwrap!(net_task(runner)));
98 97
99 // Ensure DHCP configuration is up before trying connect 98 // Ensure DHCP configuration is up before trying connect
100 stack.wait_config_up().await; 99 stack.wait_config_up().await;
diff --git a/examples/stm32h7/src/bin/eth_client.rs b/examples/stm32h7/src/bin/eth_client.rs
index 10485109a..10ac57fc9 100644
--- a/examples/stm32h7/src/bin/eth_client.rs
+++ b/examples/stm32h7/src/bin/eth_client.rs
@@ -14,7 +14,6 @@ use embassy_stm32::{bind_interrupts, eth, peripherals, rng, Config};
14use embassy_time::Timer; 14use embassy_time::Timer;
15use embedded_io_async::Write; 15use embedded_io_async::Write;
16use embedded_nal_async::TcpConnect; 16use embedded_nal_async::TcpConnect;
17use rand_core::RngCore;
18use static_cell::StaticCell; 17use static_cell::StaticCell;
19use {defmt_rtt as _, panic_probe as _}; 18use {defmt_rtt as _, panic_probe as _};
20 19
@@ -96,7 +95,7 @@ async fn main(spawner: Spawner) -> ! {
96 let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); 95 let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed);
97 96
98 // Launch network task 97 // Launch network task
99 unwrap!(spawner.spawn(net_task(runner))); 98 spawner.spawn(unwrap!(net_task(runner)));
100 99
101 // Ensure DHCP configuration is up before trying connect 100 // Ensure DHCP configuration is up before trying connect
102 stack.wait_config_up().await; 101 stack.wait_config_up().await;
diff --git a/examples/stm32h7/src/bin/eth_client_mii.rs b/examples/stm32h7/src/bin/eth_client_mii.rs
index 849173615..c6a108471 100644
--- a/examples/stm32h7/src/bin/eth_client_mii.rs
+++ b/examples/stm32h7/src/bin/eth_client_mii.rs
@@ -14,7 +14,6 @@ use embassy_stm32::{bind_interrupts, eth, peripherals, rng, Config};
14use embassy_time::Timer; 14use embassy_time::Timer;
15use embedded_io_async::Write; 15use embedded_io_async::Write;
16use embedded_nal_async::TcpConnect; 16use embedded_nal_async::TcpConnect;
17use rand_core::RngCore;
18use static_cell::StaticCell; 17use static_cell::StaticCell;
19use {defmt_rtt as _, panic_probe as _}; 18use {defmt_rtt as _, panic_probe as _};
20 19
@@ -102,7 +101,7 @@ async fn main(spawner: Spawner) -> ! {
102 let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); 101 let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed);
103 102
104 // Launch network task 103 // Launch network task
105 unwrap!(spawner.spawn(net_task(runner))); 104 spawner.spawn(unwrap!(net_task(runner)));
106 105
107 // Ensure DHCP configuration is up before trying connect 106 // Ensure DHCP configuration is up before trying connect
108 stack.wait_config_up().await; 107 stack.wait_config_up().await;
diff --git a/examples/stm32h7/src/bin/i2c.rs b/examples/stm32h7/src/bin/i2c.rs
index 3bf39eb44..c40af4935 100644
--- a/examples/stm32h7/src/bin/i2c.rs
+++ b/examples/stm32h7/src/bin/i2c.rs
@@ -4,7 +4,6 @@
4use defmt::*; 4use defmt::*;
5use embassy_executor::Spawner; 5use embassy_executor::Spawner;
6use embassy_stm32::i2c::{Error, I2c}; 6use embassy_stm32::i2c::{Error, I2c};
7use embassy_stm32::time::Hertz;
8use embassy_stm32::{bind_interrupts, i2c, peripherals}; 7use embassy_stm32::{bind_interrupts, i2c, peripherals};
9use {defmt_rtt as _, panic_probe as _}; 8use {defmt_rtt as _, panic_probe as _};
10 9
@@ -21,16 +20,7 @@ async fn main(_spawner: Spawner) {
21 info!("Hello world!"); 20 info!("Hello world!");
22 let p = embassy_stm32::init(Default::default()); 21 let p = embassy_stm32::init(Default::default());
23 22
24 let mut i2c = I2c::new( 23 let mut i2c = I2c::new(p.I2C2, p.PB10, p.PB11, Irqs, p.DMA1_CH4, p.DMA1_CH5, Default::default());
25 p.I2C2,
26 p.PB10,
27 p.PB11,
28 Irqs,
29 p.DMA1_CH4,
30 p.DMA1_CH5,
31 Hertz(100_000),
32 Default::default(),
33 );
34 24
35 let mut data = [0u8; 1]; 25 let mut data = [0u8; 1];
36 26
diff --git a/examples/stm32h7/src/bin/i2c_shared.rs b/examples/stm32h7/src/bin/i2c_shared.rs
index 136b91eeb..9e45d845f 100644
--- a/examples/stm32h7/src/bin/i2c_shared.rs
+++ b/examples/stm32h7/src/bin/i2c_shared.rs
@@ -8,7 +8,6 @@ use embassy_embedded_hal::shared_bus::blocking::i2c::I2cDevice;
8use embassy_executor::Spawner; 8use embassy_executor::Spawner;
9use embassy_stm32::i2c::{self, I2c}; 9use embassy_stm32::i2c::{self, I2c};
10use embassy_stm32::mode::Async; 10use embassy_stm32::mode::Async;
11use embassy_stm32::time::Hertz;
12use embassy_stm32::{bind_interrupts, peripherals}; 11use embassy_stm32::{bind_interrupts, peripherals};
13use embassy_sync::blocking_mutex::raw::NoopRawMutex; 12use embassy_sync::blocking_mutex::raw::NoopRawMutex;
14use embassy_sync::blocking_mutex::NoopMutex; 13use embassy_sync::blocking_mutex::NoopMutex;
@@ -25,7 +24,7 @@ const SHTC3_WAKEUP: [u8; 2] = [0x35, 0x17];
25const SHTC3_MEASURE_RH_FIRST: [u8; 2] = [0x5c, 0x24]; 24const SHTC3_MEASURE_RH_FIRST: [u8; 2] = [0x5c, 0x24];
26const SHTC3_SLEEP: [u8; 2] = [0xb0, 0x98]; 25const SHTC3_SLEEP: [u8; 2] = [0xb0, 0x98];
27 26
28static I2C_BUS: StaticCell<NoopMutex<RefCell<I2c<'static, Async>>>> = StaticCell::new(); 27static I2C_BUS: StaticCell<NoopMutex<RefCell<I2c<'static, Async, i2c::Master>>>> = StaticCell::new();
29 28
30bind_interrupts!(struct Irqs { 29bind_interrupts!(struct Irqs {
31 I2C1_EV => i2c::EventInterruptHandler<peripherals::I2C1>; 30 I2C1_EV => i2c::EventInterruptHandler<peripherals::I2C1>;
@@ -33,7 +32,7 @@ bind_interrupts!(struct Irqs {
33}); 32});
34 33
35#[embassy_executor::task] 34#[embassy_executor::task]
36async fn temperature(mut i2c: I2cDevice<'static, NoopRawMutex, I2c<'static, Async>>) { 35async fn temperature(mut i2c: I2cDevice<'static, NoopRawMutex, I2c<'static, Async, i2c::Master>>) {
37 let mut data = [0u8; 2]; 36 let mut data = [0u8; 2];
38 37
39 loop { 38 loop {
@@ -50,7 +49,7 @@ async fn temperature(mut i2c: I2cDevice<'static, NoopRawMutex, I2c<'static, Asyn
50} 49}
51 50
52#[embassy_executor::task] 51#[embassy_executor::task]
53async fn humidity(mut i2c: I2cDevice<'static, NoopRawMutex, I2c<'static, Async>>) { 52async fn humidity(mut i2c: I2cDevice<'static, NoopRawMutex, I2c<'static, Async, i2c::Master>>) {
54 let mut data = [0u8; 6]; 53 let mut data = [0u8; 6];
55 54
56 loop { 55 loop {
@@ -90,24 +89,15 @@ async fn humidity(mut i2c: I2cDevice<'static, NoopRawMutex, I2c<'static, Async>>
90async fn main(spawner: Spawner) { 89async fn main(spawner: Spawner) {
91 let p = embassy_stm32::init(Default::default()); 90 let p = embassy_stm32::init(Default::default());
92 91
93 let i2c = I2c::new( 92 let i2c = I2c::new(p.I2C1, p.PB8, p.PB9, Irqs, p.DMA1_CH4, p.DMA1_CH5, Default::default());
94 p.I2C1,
95 p.PB8,
96 p.PB9,
97 Irqs,
98 p.DMA1_CH4,
99 p.DMA1_CH5,
100 Hertz(100_000),
101 Default::default(),
102 );
103 let i2c_bus = NoopMutex::new(RefCell::new(i2c)); 93 let i2c_bus = NoopMutex::new(RefCell::new(i2c));
104 let i2c_bus = I2C_BUS.init(i2c_bus); 94 let i2c_bus = I2C_BUS.init(i2c_bus);
105 95
106 // Device 1, using embedded-hal-async compatible driver for TMP117 96 // Device 1, using embedded-hal-async compatible driver for TMP117
107 let i2c_dev1 = I2cDevice::new(i2c_bus); 97 let i2c_dev1 = I2cDevice::new(i2c_bus);
108 spawner.spawn(temperature(i2c_dev1)).unwrap(); 98 spawner.spawn(temperature(i2c_dev1).unwrap());
109 99
110 // Device 2, using embedded-hal-async compatible driver for SHTC3 100 // Device 2, using embedded-hal-async compatible driver for SHTC3
111 let i2c_dev2 = I2cDevice::new(i2c_bus); 101 let i2c_dev2 = I2cDevice::new(i2c_bus);
112 spawner.spawn(humidity(i2c_dev2)).unwrap(); 102 spawner.spawn(humidity(i2c_dev2).unwrap());
113} 103}
diff --git a/examples/stm32h7/src/bin/low_level_timer_api.rs b/examples/stm32h7/src/bin/low_level_timer_api.rs
index 8de31ea5b..12abb8693 100644
--- a/examples/stm32h7/src/bin/low_level_timer_api.rs
+++ b/examples/stm32h7/src/bin/low_level_timer_api.rs
@@ -6,7 +6,7 @@ use embassy_executor::Spawner;
6use embassy_stm32::gpio::{AfType, Flex, OutputType, Speed}; 6use embassy_stm32::gpio::{AfType, Flex, OutputType, Speed};
7use embassy_stm32::time::{khz, Hertz}; 7use embassy_stm32::time::{khz, Hertz};
8use embassy_stm32::timer::low_level::{OutputCompareMode, Timer as LLTimer}; 8use embassy_stm32::timer::low_level::{OutputCompareMode, Timer as LLTimer};
9use embassy_stm32::timer::{Channel, Channel1Pin, Channel2Pin, Channel3Pin, Channel4Pin, GeneralInstance32bit4Channel}; 9use embassy_stm32::timer::{Ch1, Ch2, Ch3, Ch4, Channel, GeneralInstance32bit4Channel, TimerPin};
10use embassy_stm32::{Config, Peri}; 10use embassy_stm32::{Config, Peri};
11use embassy_time::Timer; 11use embassy_time::Timer;
12use {defmt_rtt as _, panic_probe as _}; 12use {defmt_rtt as _, panic_probe as _};
@@ -67,10 +67,10 @@ pub struct SimplePwm32<'d, T: GeneralInstance32bit4Channel> {
67impl<'d, T: GeneralInstance32bit4Channel> SimplePwm32<'d, T> { 67impl<'d, T: GeneralInstance32bit4Channel> SimplePwm32<'d, T> {
68 pub fn new( 68 pub fn new(
69 tim: Peri<'d, T>, 69 tim: Peri<'d, T>,
70 ch1: Peri<'d, impl Channel1Pin<T>>, 70 ch1: Peri<'d, impl TimerPin<T, Ch1>>,
71 ch2: Peri<'d, impl Channel2Pin<T>>, 71 ch2: Peri<'d, impl TimerPin<T, Ch2>>,
72 ch3: Peri<'d, impl Channel3Pin<T>>, 72 ch3: Peri<'d, impl TimerPin<T, Ch3>>,
73 ch4: Peri<'d, impl Channel4Pin<T>>, 73 ch4: Peri<'d, impl TimerPin<T, Ch4>>,
74 freq: Hertz, 74 freq: Hertz,
75 ) -> Self { 75 ) -> Self {
76 let af1 = ch1.af_num(); 76 let af1 = ch1.af_num();
diff --git a/examples/stm32h7/src/bin/multiprio.rs b/examples/stm32h7/src/bin/multiprio.rs
index b4620888f..2f2ffdea2 100644
--- a/examples/stm32h7/src/bin/multiprio.rs
+++ b/examples/stm32h7/src/bin/multiprio.rs
@@ -135,16 +135,16 @@ fn main() -> ! {
135 // High-priority executor: UART4, priority level 6 135 // High-priority executor: UART4, priority level 6
136 interrupt::UART4.set_priority(Priority::P6); 136 interrupt::UART4.set_priority(Priority::P6);
137 let spawner = EXECUTOR_HIGH.start(interrupt::UART4); 137 let spawner = EXECUTOR_HIGH.start(interrupt::UART4);
138 unwrap!(spawner.spawn(run_high())); 138 spawner.spawn(unwrap!(run_high()));
139 139
140 // Medium-priority executor: UART5, priority level 7 140 // Medium-priority executor: UART5, priority level 7
141 interrupt::UART5.set_priority(Priority::P7); 141 interrupt::UART5.set_priority(Priority::P7);
142 let spawner = EXECUTOR_MED.start(interrupt::UART5); 142 let spawner = EXECUTOR_MED.start(interrupt::UART5);
143 unwrap!(spawner.spawn(run_med())); 143 spawner.spawn(unwrap!(run_med()));
144 144
145 // Low priority executor: runs in thread mode, using WFE/SEV 145 // Low priority executor: runs in thread mode, using WFE/SEV
146 let executor = EXECUTOR_LOW.init(Executor::new()); 146 let executor = EXECUTOR_LOW.init(Executor::new());
147 executor.run(|spawner| { 147 executor.run(|spawner| {
148 unwrap!(spawner.spawn(run_low())); 148 spawner.spawn(unwrap!(run_low()));
149 }); 149 });
150} 150}
diff --git a/examples/stm32h7/src/bin/pwm.rs b/examples/stm32h7/src/bin/pwm.rs
index a1c53fc3f..73b43be69 100644
--- a/examples/stm32h7/src/bin/pwm.rs
+++ b/examples/stm32h7/src/bin/pwm.rs
@@ -36,7 +36,7 @@ async fn main(_spawner: Spawner) {
36 let p = embassy_stm32::init(config); 36 let p = embassy_stm32::init(config);
37 info!("Hello World!"); 37 info!("Hello World!");
38 38
39 let ch1_pin = PwmPin::new_ch1(p.PA6, OutputType::PushPull); 39 let ch1_pin = PwmPin::new(p.PA6, OutputType::PushPull);
40 let mut pwm = SimplePwm::new(p.TIM3, Some(ch1_pin), None, None, None, khz(10), Default::default()); 40 let mut pwm = SimplePwm::new(p.TIM3, Some(ch1_pin), None, None, None, khz(10), Default::default());
41 let mut ch1 = pwm.ch1(); 41 let mut ch1 = pwm.ch1();
42 ch1.enable(); 42 ch1.enable();
diff --git a/examples/stm32h7/src/bin/sai.rs b/examples/stm32h7/src/bin/sai.rs
index 01937593a..847b70c85 100644
--- a/examples/stm32h7/src/bin/sai.rs
+++ b/examples/stm32h7/src/bin/sai.rs
@@ -63,7 +63,7 @@ async fn main(_spawner: Spawner) {
63 tx_config.tx_rx = TxRx::Transmitter; 63 tx_config.tx_rx = TxRx::Transmitter;
64 tx_config.sync_output = true; 64 tx_config.sync_output = true;
65 tx_config.clock_strobe = ClockStrobe::Falling; 65 tx_config.clock_strobe = ClockStrobe::Falling;
66 tx_config.master_clock_divider = mclk_div; 66 tx_config.master_clock_divider = Some(mclk_div);
67 tx_config.stereo_mono = StereoMono::Stereo; 67 tx_config.stereo_mono = StereoMono::Stereo;
68 tx_config.data_size = DataSize::Data24; 68 tx_config.data_size = DataSize::Data24;
69 tx_config.bit_order = BitOrder::MsbFirst; 69 tx_config.bit_order = BitOrder::MsbFirst;
@@ -119,71 +119,7 @@ async fn main(_spawner: Spawner) {
119 } 119 }
120} 120}
121 121
122const fn mclk_div_from_u8(v: u8) -> MasterClockDivider { 122fn mclk_div_from_u8(v: u8) -> MasterClockDivider {
123 match v { 123 assert!((1..=63).contains(&v));
124 1 => MasterClockDivider::Div1, 124 MasterClockDivider::from_bits(v)
125 2 => MasterClockDivider::Div2,
126 3 => MasterClockDivider::Div3,
127 4 => MasterClockDivider::Div4,
128 5 => MasterClockDivider::Div5,
129 6 => MasterClockDivider::Div6,
130 7 => MasterClockDivider::Div7,
131 8 => MasterClockDivider::Div8,
132 9 => MasterClockDivider::Div9,
133 10 => MasterClockDivider::Div10,
134 11 => MasterClockDivider::Div11,
135 12 => MasterClockDivider::Div12,
136 13 => MasterClockDivider::Div13,
137 14 => MasterClockDivider::Div14,
138 15 => MasterClockDivider::Div15,
139 16 => MasterClockDivider::Div16,
140 17 => MasterClockDivider::Div17,
141 18 => MasterClockDivider::Div18,
142 19 => MasterClockDivider::Div19,
143 20 => MasterClockDivider::Div20,
144 21 => MasterClockDivider::Div21,
145 22 => MasterClockDivider::Div22,
146 23 => MasterClockDivider::Div23,
147 24 => MasterClockDivider::Div24,
148 25 => MasterClockDivider::Div25,
149 26 => MasterClockDivider::Div26,
150 27 => MasterClockDivider::Div27,
151 28 => MasterClockDivider::Div28,
152 29 => MasterClockDivider::Div29,
153 30 => MasterClockDivider::Div30,
154 31 => MasterClockDivider::Div31,
155 32 => MasterClockDivider::Div32,
156 33 => MasterClockDivider::Div33,
157 34 => MasterClockDivider::Div34,
158 35 => MasterClockDivider::Div35,
159 36 => MasterClockDivider::Div36,
160 37 => MasterClockDivider::Div37,
161 38 => MasterClockDivider::Div38,
162 39 => MasterClockDivider::Div39,
163 40 => MasterClockDivider::Div40,
164 41 => MasterClockDivider::Div41,
165 42 => MasterClockDivider::Div42,
166 43 => MasterClockDivider::Div43,
167 44 => MasterClockDivider::Div44,
168 45 => MasterClockDivider::Div45,
169 46 => MasterClockDivider::Div46,
170 47 => MasterClockDivider::Div47,
171 48 => MasterClockDivider::Div48,
172 49 => MasterClockDivider::Div49,
173 50 => MasterClockDivider::Div50,
174 51 => MasterClockDivider::Div51,
175 52 => MasterClockDivider::Div52,
176 53 => MasterClockDivider::Div53,
177 54 => MasterClockDivider::Div54,
178 55 => MasterClockDivider::Div55,
179 56 => MasterClockDivider::Div56,
180 57 => MasterClockDivider::Div57,
181 58 => MasterClockDivider::Div58,
182 59 => MasterClockDivider::Div59,
183 60 => MasterClockDivider::Div60,
184 61 => MasterClockDivider::Div61,
185 62 => MasterClockDivider::Div62,
186 63 => MasterClockDivider::Div63,
187 _ => panic!(),
188 }
189} 125}
diff --git a/examples/stm32h7/src/bin/signal.rs b/examples/stm32h7/src/bin/signal.rs
index b73360f32..97309798e 100644
--- a/examples/stm32h7/src/bin/signal.rs
+++ b/examples/stm32h7/src/bin/signal.rs
@@ -26,7 +26,7 @@ async fn my_sending_task() {
26#[embassy_executor::main] 26#[embassy_executor::main]
27async fn main(spawner: Spawner) { 27async fn main(spawner: Spawner) {
28 let _p = embassy_stm32::init(Default::default()); 28 let _p = embassy_stm32::init(Default::default());
29 unwrap!(spawner.spawn(my_sending_task())); 29 spawner.spawn(unwrap!(my_sending_task()));
30 30
31 loop { 31 loop {
32 let received_counter = SIGNAL.wait().await; 32 let received_counter = SIGNAL.wait().await;
diff --git a/examples/stm32h7/src/bin/spi.rs b/examples/stm32h7/src/bin/spi.rs
index ad4a8aaf7..dce30a4a7 100644
--- a/examples/stm32h7/src/bin/spi.rs
+++ b/examples/stm32h7/src/bin/spi.rs
@@ -66,6 +66,6 @@ fn main() -> ! {
66 let executor = EXECUTOR.init(Executor::new()); 66 let executor = EXECUTOR.init(Executor::new());
67 67
68 executor.run(|spawner| { 68 executor.run(|spawner| {
69 unwrap!(spawner.spawn(main_task(spi))); 69 spawner.spawn(unwrap!(main_task(spi)));
70 }) 70 })
71} 71}
diff --git a/examples/stm32h7/src/bin/spi_bdma.rs b/examples/stm32h7/src/bin/spi_bdma.rs
index 5a7dff572..828f687b8 100644
--- a/examples/stm32h7/src/bin/spi_bdma.rs
+++ b/examples/stm32h7/src/bin/spi_bdma.rs
@@ -80,6 +80,6 @@ fn main() -> ! {
80 let executor = EXECUTOR.init(Executor::new()); 80 let executor = EXECUTOR.init(Executor::new());
81 81
82 executor.run(|spawner| { 82 executor.run(|spawner| {
83 unwrap!(spawner.spawn(main_task(spi))); 83 spawner.spawn(unwrap!(main_task(spi)));
84 }) 84 })
85} 85}
diff --git a/examples/stm32h7/src/bin/spi_dma.rs b/examples/stm32h7/src/bin/spi_dma.rs
index 731c7fef5..2197fabce 100644
--- a/examples/stm32h7/src/bin/spi_dma.rs
+++ b/examples/stm32h7/src/bin/spi_dma.rs
@@ -63,6 +63,6 @@ fn main() -> ! {
63 let executor = EXECUTOR.init(Executor::new()); 63 let executor = EXECUTOR.init(Executor::new());
64 64
65 executor.run(|spawner| { 65 executor.run(|spawner| {
66 unwrap!(spawner.spawn(main_task(spi))); 66 spawner.spawn(unwrap!(main_task(spi)));
67 }) 67 })
68} 68}
diff --git a/examples/stm32h7/src/bin/usart.rs b/examples/stm32h7/src/bin/usart.rs
index cc49c2fdb..264e7d582 100644
--- a/examples/stm32h7/src/bin/usart.rs
+++ b/examples/stm32h7/src/bin/usart.rs
@@ -34,6 +34,6 @@ fn main() -> ! {
34 let executor = EXECUTOR.init(Executor::new()); 34 let executor = EXECUTOR.init(Executor::new());
35 35
36 executor.run(|spawner| { 36 executor.run(|spawner| {
37 unwrap!(spawner.spawn(main_task())); 37 spawner.spawn(unwrap!(main_task()));
38 }) 38 })
39} 39}
diff --git a/examples/stm32h7/src/bin/usart_dma.rs b/examples/stm32h7/src/bin/usart_dma.rs
index 6f340d40a..23d7f193a 100644
--- a/examples/stm32h7/src/bin/usart_dma.rs
+++ b/examples/stm32h7/src/bin/usart_dma.rs
@@ -42,6 +42,6 @@ fn main() -> ! {
42 let executor = EXECUTOR.init(Executor::new()); 42 let executor = EXECUTOR.init(Executor::new());
43 43
44 executor.run(|spawner| { 44 executor.run(|spawner| {
45 unwrap!(spawner.spawn(main_task())); 45 spawner.spawn(unwrap!(main_task()));
46 }) 46 })
47} 47}
diff --git a/examples/stm32h7/src/bin/usart_split.rs b/examples/stm32h7/src/bin/usart_split.rs
index 2bb58be5e..464ce8d72 100644
--- a/examples/stm32h7/src/bin/usart_split.rs
+++ b/examples/stm32h7/src/bin/usart_split.rs
@@ -27,7 +27,7 @@ async fn main(spawner: Spawner) -> ! {
27 27
28 let (mut tx, rx) = usart.split(); 28 let (mut tx, rx) = usart.split();
29 29
30 unwrap!(spawner.spawn(reader(rx))); 30 spawner.spawn(unwrap!(reader(rx)));
31 31
32 loop { 32 loop {
33 let buf = CHANNEL.receive().await; 33 let buf = CHANNEL.receive().await;