aboutsummaryrefslogtreecommitdiff
path: root/examples/stm32f4/src
diff options
context:
space:
mode:
Diffstat (limited to 'examples/stm32f4/src')
-rw-r--r--examples/stm32f4/src/bin/adc_dma.rs2
-rw-r--r--examples/stm32f4/src/bin/eth.rs2
-rw-r--r--examples/stm32f4/src/bin/eth_w5500.rs4
-rw-r--r--examples/stm32f4/src/bin/flash_async.rs2
-rw-r--r--examples/stm32f4/src/bin/i2c.rs3
-rw-r--r--examples/stm32f4/src/bin/i2c_async.rs12
-rw-r--r--examples/stm32f4/src/bin/i2c_comparison.rs34
-rw-r--r--examples/stm32f4/src/bin/i2s_dma.rs1
-rw-r--r--examples/stm32f4/src/bin/input_capture.rs4
-rw-r--r--examples/stm32f4/src/bin/multiprio.rs6
-rw-r--r--examples/stm32f4/src/bin/pwm.rs2
-rw-r--r--examples/stm32f4/src/bin/pwm_complementary.rs4
-rw-r--r--examples/stm32f4/src/bin/pwm_input.rs4
-rw-r--r--examples/stm32f4/src/bin/usb_ethernet.rs6
-rw-r--r--examples/stm32f4/src/bin/usb_uac_speaker.rs10
-rw-r--r--examples/stm32f4/src/bin/ws2812_pwm.rs2
16 files changed, 29 insertions, 69 deletions
diff --git a/examples/stm32f4/src/bin/adc_dma.rs b/examples/stm32f4/src/bin/adc_dma.rs
index 43a761e6d..2ec48640e 100644
--- a/examples/stm32f4/src/bin/adc_dma.rs
+++ b/examples/stm32f4/src/bin/adc_dma.rs
@@ -11,7 +11,7 @@ use {defmt_rtt as _, panic_probe as _};
11#[embassy_executor::main] 11#[embassy_executor::main]
12async fn main(spawner: Spawner) { 12async fn main(spawner: Spawner) {
13 let p = embassy_stm32::init(Default::default()); 13 let p = embassy_stm32::init(Default::default());
14 spawner.must_spawn(adc_task(p)); 14 spawner.spawn(adc_task(p).unwrap());
15} 15}
16 16
17#[embassy_executor::task] 17#[embassy_executor::task]
diff --git a/examples/stm32f4/src/bin/eth.rs b/examples/stm32f4/src/bin/eth.rs
index 634d8e2c6..f41a60529 100644
--- a/examples/stm32f4/src/bin/eth.rs
+++ b/examples/stm32f4/src/bin/eth.rs
@@ -91,7 +91,7 @@ async fn main(spawner: Spawner) -> ! {
91 let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); 91 let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed);
92 92
93 // Launch network task 93 // Launch network task
94 unwrap!(spawner.spawn(net_task(runner))); 94 spawner.spawn(unwrap!(net_task(runner)));
95 95
96 // Ensure DHCP configuration is up before trying connect 96 // Ensure DHCP configuration is up before trying connect
97 stack.wait_config_up().await; 97 stack.wait_config_up().await;
diff --git a/examples/stm32f4/src/bin/eth_w5500.rs b/examples/stm32f4/src/bin/eth_w5500.rs
index 6e6bef08c..7ce3bfe75 100644
--- a/examples/stm32f4/src/bin/eth_w5500.rs
+++ b/examples/stm32f4/src/bin/eth_w5500.rs
@@ -83,7 +83,7 @@ async fn main(spawner: Spawner) -> ! {
83 let (device, runner) = embassy_net_wiznet::new(mac_addr, state, spi, w5500_int, w5500_reset) 83 let (device, runner) = embassy_net_wiznet::new(mac_addr, state, spi, w5500_int, w5500_reset)
84 .await 84 .await
85 .unwrap(); 85 .unwrap();
86 unwrap!(spawner.spawn(ethernet_task(runner))); 86 spawner.spawn(unwrap!(ethernet_task(runner)));
87 87
88 let config = embassy_net::Config::dhcpv4(Default::default()); 88 let config = embassy_net::Config::dhcpv4(Default::default());
89 //let config = embassy_net::Config::ipv4_static(embassy_net::StaticConfigV4 { 89 //let config = embassy_net::Config::ipv4_static(embassy_net::StaticConfigV4 {
@@ -96,7 +96,7 @@ async fn main(spawner: Spawner) -> ! {
96 let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); 96 let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed);
97 97
98 // Launch network task 98 // Launch network task
99 unwrap!(spawner.spawn(net_task(runner))); 99 spawner.spawn(unwrap!(net_task(runner)));
100 100
101 // Ensure DHCP configuration is up before trying connect 101 // Ensure DHCP configuration is up before trying connect
102 stack.wait_config_up().await; 102 stack.wait_config_up().await;
diff --git a/examples/stm32f4/src/bin/flash_async.rs b/examples/stm32f4/src/bin/flash_async.rs
index 755713542..2feb9de09 100644
--- a/examples/stm32f4/src/bin/flash_async.rs
+++ b/examples/stm32f4/src/bin/flash_async.rs
@@ -21,7 +21,7 @@ async fn main(spawner: Spawner) {
21 let mut f = Flash::new(p.FLASH, Irqs); 21 let mut f = Flash::new(p.FLASH, Irqs);
22 22
23 // Led should blink uninterrupted during ~2sec erase operation 23 // Led should blink uninterrupted during ~2sec erase operation
24 spawner.spawn(blinky(p.PB7.into())).unwrap(); 24 spawner.spawn(blinky(p.PB7.into()).unwrap());
25 25
26 // Test on bank 2 in order not to stall CPU. 26 // Test on bank 2 in order not to stall CPU.
27 test_flash(&mut f, 1024 * 1024, 128 * 1024).await; 27 test_flash(&mut f, 1024 * 1024, 128 * 1024).await;
diff --git a/examples/stm32f4/src/bin/i2c.rs b/examples/stm32f4/src/bin/i2c.rs
index 4a96357a4..49710a92a 100644
--- a/examples/stm32f4/src/bin/i2c.rs
+++ b/examples/stm32f4/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 {defmt_rtt as _, panic_probe as _}; 7use {defmt_rtt as _, panic_probe as _};
9 8
10const ADDRESS: u8 = 0x5F; 9const ADDRESS: u8 = 0x5F;
@@ -15,7 +14,7 @@ async fn main(_spawner: Spawner) {
15 info!("Hello world!"); 14 info!("Hello world!");
16 let p = embassy_stm32::init(Default::default()); 15 let p = embassy_stm32::init(Default::default());
17 16
18 let mut i2c = I2c::new_blocking(p.I2C2, p.PB10, p.PB11, Hertz(100_000), Default::default()); 17 let mut i2c = I2c::new_blocking(p.I2C2, p.PB10, p.PB11, Default::default());
19 18
20 let mut data = [0u8; 1]; 19 let mut data = [0u8; 1];
21 20
diff --git a/examples/stm32f4/src/bin/i2c_async.rs b/examples/stm32f4/src/bin/i2c_async.rs
index 90d11d4b4..0065e92f3 100644
--- a/examples/stm32f4/src/bin/i2c_async.rs
+++ b/examples/stm32f4/src/bin/i2c_async.rs
@@ -7,7 +7,6 @@
7use defmt::*; 7use defmt::*;
8use embassy_executor::Spawner; 8use embassy_executor::Spawner;
9use embassy_stm32::i2c::I2c; 9use embassy_stm32::i2c::I2c;
10use embassy_stm32::time::Hertz;
11use embassy_stm32::{bind_interrupts, i2c, peripherals}; 10use embassy_stm32::{bind_interrupts, i2c, peripherals};
12use {defmt_rtt as _, panic_probe as _}; 11use {defmt_rtt as _, panic_probe as _};
13 12
@@ -23,16 +22,7 @@ async fn main(_spawner: Spawner) {
23 info!("Hello world!"); 22 info!("Hello world!");
24 let p = embassy_stm32::init(Default::default()); 23 let p = embassy_stm32::init(Default::default());
25 24
26 let mut i2c = I2c::new( 25 let mut i2c = I2c::new(p.I2C1, p.PB8, p.PB7, Irqs, p.DMA1_CH6, p.DMA1_CH0, Default::default());
27 p.I2C1,
28 p.PB8,
29 p.PB7,
30 Irqs,
31 p.DMA1_CH6,
32 p.DMA1_CH0,
33 Hertz(100_000),
34 Default::default(),
35 );
36 26
37 loop { 27 loop {
38 let a1454_read_sensor_command = [0x1F]; 28 let a1454_read_sensor_command = [0x1F];
diff --git a/examples/stm32f4/src/bin/i2c_comparison.rs b/examples/stm32f4/src/bin/i2c_comparison.rs
index 55c4891e3..59bdb8b67 100644
--- a/examples/stm32f4/src/bin/i2c_comparison.rs
+++ b/examples/stm32f4/src/bin/i2c_comparison.rs
@@ -10,7 +10,6 @@
10use defmt::*; 10use defmt::*;
11use embassy_executor::Spawner; 11use embassy_executor::Spawner;
12use embassy_stm32::i2c::I2c; 12use embassy_stm32::i2c::I2c;
13use embassy_stm32::time::Hertz;
14use embassy_stm32::{bind_interrupts, i2c, peripherals}; 13use embassy_stm32::{bind_interrupts, i2c, peripherals};
15use embassy_time::Instant; 14use embassy_time::Instant;
16use futures_util::future::try_join3; 15use futures_util::future::try_join3;
@@ -48,38 +47,11 @@ async fn main(_spawner: Spawner) {
48 info!("Setting up peripherals."); 47 info!("Setting up peripherals.");
49 let p = embassy_stm32::init(Default::default()); 48 let p = embassy_stm32::init(Default::default());
50 49
51 let mut i2c1 = I2c::new( 50 let mut i2c1 = I2c::new(p.I2C1, p.PB8, p.PB7, Irqs, p.DMA1_CH6, p.DMA1_CH0, Default::default());
52 p.I2C1,
53 p.PB8,
54 p.PB7,
55 Irqs,
56 p.DMA1_CH6,
57 p.DMA1_CH0,
58 Hertz(100_000),
59 Default::default(),
60 );
61 51
62 let mut i2c2 = I2c::new( 52 let mut i2c2 = I2c::new(p.I2C2, p.PB10, p.PB11, Irqs, p.DMA1_CH7, p.DMA1_CH3, Default::default());
63 p.I2C2,
64 p.PB10,
65 p.PB11,
66 Irqs,
67 p.DMA1_CH7,
68 p.DMA1_CH3,
69 Hertz(100_000),
70 Default::default(),
71 );
72 53
73 let mut i2c3 = I2c::new( 54 let mut i2c3 = I2c::new(p.I2C3, p.PA8, p.PC9, Irqs, p.DMA1_CH4, p.DMA1_CH2, Default::default());
74 p.I2C3,
75 p.PA8,
76 p.PC9,
77 Irqs,
78 p.DMA1_CH4,
79 p.DMA1_CH2,
80 Hertz(100_000),
81 Default::default(),
82 );
83 55
84 let a1454_read_sensor_command = [0x1F]; 56 let a1454_read_sensor_command = [0x1F];
85 let mut i2c1_buffer: [u8; 4] = [0, 0, 0, 0]; 57 let mut i2c1_buffer: [u8; 4] = [0, 0, 0, 0];
diff --git a/examples/stm32f4/src/bin/i2s_dma.rs b/examples/stm32f4/src/bin/i2s_dma.rs
index db5103d0f..6051a3c5a 100644
--- a/examples/stm32f4/src/bin/i2s_dma.rs
+++ b/examples/stm32f4/src/bin/i2s_dma.rs
@@ -72,7 +72,6 @@ async fn main(_spawner: Spawner) {
72 p.PB3, // ck 72 p.PB3, // ck
73 p.DMA1_CH7, 73 p.DMA1_CH7,
74 &mut dma_buffer, 74 &mut dma_buffer,
75 Hertz(48_000),
76 i2s_config, 75 i2s_config,
77 ); 76 );
78 i2s.start(); 77 i2s.start();
diff --git a/examples/stm32f4/src/bin/input_capture.rs b/examples/stm32f4/src/bin/input_capture.rs
index fe5e2bdfc..9998c4733 100644
--- a/examples/stm32f4/src/bin/input_capture.rs
+++ b/examples/stm32f4/src/bin/input_capture.rs
@@ -37,9 +37,9 @@ async fn main(spawner: Spawner) {
37 let p = embassy_stm32::init(Default::default()); 37 let p = embassy_stm32::init(Default::default());
38 info!("Hello World!"); 38 info!("Hello World!");
39 39
40 unwrap!(spawner.spawn(blinky(p.PB2))); 40 spawner.spawn(unwrap!(blinky(p.PB2)));
41 41
42 let ch3 = CapturePin::new_ch3(p.PB10, Pull::None); 42 let ch3 = CapturePin::new(p.PB10, Pull::None);
43 let mut ic = InputCapture::new(p.TIM2, None, None, Some(ch3), None, Irqs, khz(1000), Default::default()); 43 let mut ic = InputCapture::new(p.TIM2, None, None, Some(ch3), None, Irqs, khz(1000), Default::default());
44 44
45 loop { 45 loop {
diff --git a/examples/stm32f4/src/bin/multiprio.rs b/examples/stm32f4/src/bin/multiprio.rs
index b4620888f..2f2ffdea2 100644
--- a/examples/stm32f4/src/bin/multiprio.rs
+++ b/examples/stm32f4/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/stm32f4/src/bin/pwm.rs b/examples/stm32f4/src/bin/pwm.rs
index 04811162b..e385842f0 100644
--- a/examples/stm32f4/src/bin/pwm.rs
+++ b/examples/stm32f4/src/bin/pwm.rs
@@ -14,7 +14,7 @@ async fn main(_spawner: Spawner) {
14 let p = embassy_stm32::init(Default::default()); 14 let p = embassy_stm32::init(Default::default());
15 info!("Hello World!"); 15 info!("Hello World!");
16 16
17 let ch1_pin = PwmPin::new_ch1(p.PE9, OutputType::PushPull); 17 let ch1_pin = PwmPin::new(p.PE9, OutputType::PushPull);
18 let mut pwm = SimplePwm::new(p.TIM1, Some(ch1_pin), None, None, None, khz(10), Default::default()); 18 let mut pwm = SimplePwm::new(p.TIM1, Some(ch1_pin), None, None, None, khz(10), Default::default());
19 let mut ch1 = pwm.ch1(); 19 let mut ch1 = pwm.ch1();
20 ch1.enable(); 20 ch1.enable();
diff --git a/examples/stm32f4/src/bin/pwm_complementary.rs b/examples/stm32f4/src/bin/pwm_complementary.rs
index 161f43c48..c981f1a76 100644
--- a/examples/stm32f4/src/bin/pwm_complementary.rs
+++ b/examples/stm32f4/src/bin/pwm_complementary.rs
@@ -16,8 +16,8 @@ async fn main(_spawner: Spawner) {
16 let p = embassy_stm32::init(Default::default()); 16 let p = embassy_stm32::init(Default::default());
17 info!("Hello World!"); 17 info!("Hello World!");
18 18
19 let ch1 = PwmPin::new_ch1(p.PE9, OutputType::PushPull); 19 let ch1 = PwmPin::new(p.PE9, OutputType::PushPull);
20 let ch1n = ComplementaryPwmPin::new_ch1(p.PA7, OutputType::PushPull); 20 let ch1n = ComplementaryPwmPin::new(p.PA7, OutputType::PushPull);
21 let mut pwm = ComplementaryPwm::new( 21 let mut pwm = ComplementaryPwm::new(
22 p.TIM1, 22 p.TIM1,
23 Some(ch1), 23 Some(ch1),
diff --git a/examples/stm32f4/src/bin/pwm_input.rs b/examples/stm32f4/src/bin/pwm_input.rs
index 465cbe4f5..e8bfa524f 100644
--- a/examples/stm32f4/src/bin/pwm_input.rs
+++ b/examples/stm32f4/src/bin/pwm_input.rs
@@ -36,9 +36,9 @@ async fn main(spawner: Spawner) {
36 let p = embassy_stm32::init(Default::default()); 36 let p = embassy_stm32::init(Default::default());
37 info!("Hello World!"); 37 info!("Hello World!");
38 38
39 unwrap!(spawner.spawn(blinky(p.PB2))); 39 spawner.spawn(unwrap!(blinky(p.PB2)));
40 40
41 let mut pwm_input = PwmInput::new(p.TIM3, p.PA6, Pull::None, khz(10)); 41 let mut pwm_input = PwmInput::new_ch1(p.TIM3, p.PA6, Pull::None, khz(10));
42 pwm_input.enable(); 42 pwm_input.enable();
43 43
44 loop { 44 loop {
diff --git a/examples/stm32f4/src/bin/usb_ethernet.rs b/examples/stm32f4/src/bin/usb_ethernet.rs
index 322cb90c7..7abbe8719 100644
--- a/examples/stm32f4/src/bin/usb_ethernet.rs
+++ b/examples/stm32f4/src/bin/usb_ethernet.rs
@@ -118,11 +118,11 @@ async fn main(spawner: Spawner) {
118 // Build the builder. 118 // Build the builder.
119 let usb = builder.build(); 119 let usb = builder.build();
120 120
121 unwrap!(spawner.spawn(usb_task(usb))); 121 spawner.spawn(unwrap!(usb_task(usb)));
122 122
123 static NET_STATE: StaticCell<NetState<MTU, 4, 4>> = StaticCell::new(); 123 static NET_STATE: StaticCell<NetState<MTU, 4, 4>> = StaticCell::new();
124 let (runner, device) = class.into_embassy_net_device::<MTU, 4, 4>(NET_STATE.init(NetState::new()), our_mac_addr); 124 let (runner, device) = class.into_embassy_net_device::<MTU, 4, 4>(NET_STATE.init(NetState::new()), our_mac_addr);
125 unwrap!(spawner.spawn(usb_ncm_task(runner))); 125 spawner.spawn(unwrap!(usb_ncm_task(runner)));
126 126
127 let config = embassy_net::Config::dhcpv4(Default::default()); 127 let config = embassy_net::Config::dhcpv4(Default::default());
128 //let config = embassy_net::Config::ipv4_static(embassy_net::StaticConfigV4 { 128 //let config = embassy_net::Config::ipv4_static(embassy_net::StaticConfigV4 {
@@ -141,7 +141,7 @@ async fn main(spawner: Spawner) {
141 static RESOURCES: StaticCell<StackResources<3>> = StaticCell::new(); 141 static RESOURCES: StaticCell<StackResources<3>> = StaticCell::new();
142 let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed); 142 let (stack, runner) = embassy_net::new(device, config, RESOURCES.init(StackResources::new()), seed);
143 143
144 unwrap!(spawner.spawn(net_task(runner))); 144 spawner.spawn(unwrap!(net_task(runner)));
145 145
146 // And now we can use it! 146 // And now we can use it!
147 147
diff --git a/examples/stm32f4/src/bin/usb_uac_speaker.rs b/examples/stm32f4/src/bin/usb_uac_speaker.rs
index 654bec498..79bd2d914 100644
--- a/examples/stm32f4/src/bin/usb_uac_speaker.rs
+++ b/examples/stm32f4/src/bin/usb_uac_speaker.rs
@@ -375,9 +375,9 @@ async fn main(spawner: Spawner) {
375 } 375 }
376 376
377 // Launch USB audio tasks. 377 // Launch USB audio tasks.
378 unwrap!(spawner.spawn(usb_control_task(control_monitor))); 378 spawner.spawn(unwrap!(usb_control_task(control_monitor)));
379 unwrap!(spawner.spawn(usb_streaming_task(stream, sender))); 379 spawner.spawn(unwrap!(usb_streaming_task(stream, sender)));
380 unwrap!(spawner.spawn(usb_feedback_task(feedback))); 380 spawner.spawn(unwrap!(usb_feedback_task(feedback)));
381 unwrap!(spawner.spawn(usb_task(usb_device))); 381 spawner.spawn(unwrap!(usb_task(usb_device)));
382 unwrap!(spawner.spawn(audio_receiver_task(receiver))); 382 spawner.spawn(unwrap!(audio_receiver_task(receiver)));
383} 383}
diff --git a/examples/stm32f4/src/bin/ws2812_pwm.rs b/examples/stm32f4/src/bin/ws2812_pwm.rs
index ca924e181..5153e1cfd 100644
--- a/examples/stm32f4/src/bin/ws2812_pwm.rs
+++ b/examples/stm32f4/src/bin/ws2812_pwm.rs
@@ -50,7 +50,7 @@ async fn main(_spawner: Spawner) {
50 50
51 let mut ws2812_pwm = SimplePwm::new( 51 let mut ws2812_pwm = SimplePwm::new(
52 dp.TIM3, 52 dp.TIM3,
53 Some(PwmPin::new_ch1(dp.PB4, OutputType::PushPull)), 53 Some(PwmPin::new(dp.PB4, OutputType::PushPull)),
54 None, 54 None,
55 None, 55 None,
56 None, 56 None,