diff options
Diffstat (limited to 'examples/stm32f4')
| -rw-r--r-- | examples/stm32f4/Cargo.toml | 28 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/adc_dma.rs | 2 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/eth.rs | 2 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/eth_w5500.rs | 4 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/flash_async.rs | 2 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/i2c.rs | 3 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/i2c_async.rs | 12 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/i2c_comparison.rs | 34 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/i2s_dma.rs | 1 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/input_capture.rs | 4 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/multiprio.rs | 6 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/pwm.rs | 2 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/pwm_complementary.rs | 4 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/pwm_input.rs | 4 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/usb_ethernet.rs | 6 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/usb_uac_speaker.rs | 10 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/ws2812_pwm.rs | 2 |
17 files changed, 46 insertions, 80 deletions
diff --git a/examples/stm32f4/Cargo.toml b/examples/stm32f4/Cargo.toml index 7aa4354ca..fb5f86aac 100644 --- a/examples/stm32f4/Cargo.toml +++ b/examples/stm32f4/Cargo.toml | |||
| @@ -3,20 +3,21 @@ edition = "2021" | |||
| 3 | name = "embassy-stm32f4-examples" | 3 | name = "embassy-stm32f4-examples" |
| 4 | version = "0.1.0" | 4 | version = "0.1.0" |
| 5 | license = "MIT OR Apache-2.0" | 5 | license = "MIT OR Apache-2.0" |
| 6 | publish = false | ||
| 6 | 7 | ||
| 7 | [dependencies] | 8 | [dependencies] |
| 8 | # Change stm32f429zi to your chip name, if necessary. | 9 | # Change stm32f429zi to your chip name, if necessary. |
| 9 | embassy-stm32 = { version = "0.2.0", path = "../../embassy-stm32", features = ["defmt", "stm32f429zi", "unstable-pac", "memory-x", "time-driver-tim4", "exti", "chrono"] } | 10 | embassy-stm32 = { version = "0.4.0", path = "../../embassy-stm32", features = ["defmt", "stm32f429zi", "unstable-pac", "memory-x", "time-driver-tim4", "exti", "chrono"] } |
| 10 | embassy-sync = { version = "0.6.2", path = "../../embassy-sync", features = ["defmt"] } | 11 | embassy-sync = { version = "0.7.2", path = "../../embassy-sync", features = ["defmt"] } |
| 11 | embassy-executor = { version = "0.7.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } | 12 | embassy-executor = { version = "0.9.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "executor-interrupt", "defmt"] } |
| 12 | embassy-time = { version = "0.4.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 13 | embassy-time = { version = "0.5.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 13 | embassy-usb = { version = "0.4.0", path = "../../embassy-usb", features = ["defmt" ] } | 14 | embassy-usb = { version = "0.5.1", path = "../../embassy-usb", features = ["defmt" ] } |
| 14 | embassy-net = { version = "0.7.0", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] } | 15 | embassy-net = { version = "0.7.1", path = "../../embassy-net", features = ["defmt", "tcp", "dhcpv4", "medium-ethernet", ] } |
| 15 | embassy-net-wiznet = { version = "0.2.0", path = "../../embassy-net-wiznet", features = ["defmt"] } | 16 | embassy-net-wiznet = { version = "0.2.1", path = "../../embassy-net-wiznet", features = ["defmt"] } |
| 16 | embassy-futures = { version = "0.1.0", path = "../../embassy-futures" } | 17 | embassy-futures = { version = "0.1.2", path = "../../embassy-futures" } |
| 17 | 18 | ||
| 18 | defmt = "0.3" | 19 | defmt = "1.0.1" |
| 19 | defmt-rtt = "0.4" | 20 | defmt-rtt = "1.0.0" |
| 20 | 21 | ||
| 21 | cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } | 22 | cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } |
| 22 | cortex-m-rt = "0.7.0" | 23 | cortex-m-rt = "0.7.0" |
| @@ -24,7 +25,7 @@ embedded-hal = "0.2.6" | |||
| 24 | embedded-hal-bus = { version = "0.2", features = ["async"] } | 25 | embedded-hal-bus = { version = "0.2", features = ["async"] } |
| 25 | embedded-io = { version = "0.6.0" } | 26 | embedded-io = { version = "0.6.0" } |
| 26 | embedded-io-async = { version = "0.6.1" } | 27 | embedded-io-async = { version = "0.6.1" } |
| 27 | panic-probe = { version = "0.3", features = ["print-defmt"] } | 28 | panic-probe = { version = "1.0.0", features = ["print-defmt"] } |
| 28 | futures-util = { version = "0.3.30", default-features = false } | 29 | futures-util = { version = "0.3.30", default-features = false } |
| 29 | heapless = { version = "0.8", default-features = false } | 30 | heapless = { version = "0.8", default-features = false } |
| 30 | critical-section = "1.1" | 31 | critical-section = "1.1" |
| @@ -37,3 +38,8 @@ chrono = { version = "^0.4", default-features = false} | |||
| 37 | 38 | ||
| 38 | [profile.release] | 39 | [profile.release] |
| 39 | debug = 2 | 40 | debug = 2 |
| 41 | |||
| 42 | [package.metadata.embassy] | ||
| 43 | build = [ | ||
| 44 | { target = "thumbv7em-none-eabi", artifact-dir = "out/examples/stm32f4" } | ||
| 45 | ] | ||
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] |
| 12 | async fn main(spawner: Spawner) { | 12 | async 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 @@ | |||
| 4 | use defmt::*; | 4 | use defmt::*; |
| 5 | use embassy_executor::Spawner; | 5 | use embassy_executor::Spawner; |
| 6 | use embassy_stm32::i2c::{Error, I2c}; | 6 | use embassy_stm32::i2c::{Error, I2c}; |
| 7 | use embassy_stm32::time::Hertz; | ||
| 8 | use {defmt_rtt as _, panic_probe as _}; | 7 | use {defmt_rtt as _, panic_probe as _}; |
| 9 | 8 | ||
| 10 | const ADDRESS: u8 = 0x5F; | 9 | const 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 @@ | |||
| 7 | use defmt::*; | 7 | use defmt::*; |
| 8 | use embassy_executor::Spawner; | 8 | use embassy_executor::Spawner; |
| 9 | use embassy_stm32::i2c::I2c; | 9 | use embassy_stm32::i2c::I2c; |
| 10 | use embassy_stm32::time::Hertz; | ||
| 11 | use embassy_stm32::{bind_interrupts, i2c, peripherals}; | 10 | use embassy_stm32::{bind_interrupts, i2c, peripherals}; |
| 12 | use {defmt_rtt as _, panic_probe as _}; | 11 | use {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 @@ | |||
| 10 | use defmt::*; | 10 | use defmt::*; |
| 11 | use embassy_executor::Spawner; | 11 | use embassy_executor::Spawner; |
| 12 | use embassy_stm32::i2c::I2c; | 12 | use embassy_stm32::i2c::I2c; |
| 13 | use embassy_stm32::time::Hertz; | ||
| 14 | use embassy_stm32::{bind_interrupts, i2c, peripherals}; | 13 | use embassy_stm32::{bind_interrupts, i2c, peripherals}; |
| 15 | use embassy_time::Instant; | 14 | use embassy_time::Instant; |
| 16 | use futures_util::future::try_join3; | 15 | use 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, |
