diff options
| author | Dario Nieuwenhuis <[email protected]> | 2025-08-09 11:50:34 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-08-09 11:50:34 +0200 |
| commit | c67e6adb432977c4474d857f3ba1c672bc2ffa79 (patch) | |
| tree | 0a2fc84a0dd6e05147d202358ea4c52189ea8732 /examples | |
| parent | 1f19430f2ebda4d686057a854f6b74b8643cd56b (diff) | |
| parent | 66008e4140d8e4f87b3f57d2459617047405fa14 (diff) | |
Merge pull request #4517 from phycrax/config-with-speed-freq
embassy-stm32: Add frequency and gpio speed to Config for i2c and i2s
Diffstat (limited to 'examples')
| -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/stm32g0/src/bin/i2c_async.rs | 12 | ||||
| -rw-r--r-- | examples/stm32g4/src/bin/i2c_slave.rs | 10 | ||||
| -rw-r--r-- | examples/stm32h5/src/bin/i2c.rs | 2 | ||||
| -rw-r--r-- | examples/stm32h7/src/bin/camera.rs | 12 | ||||
| -rw-r--r-- | examples/stm32h7/src/bin/i2c.rs | 12 | ||||
| -rw-r--r-- | examples/stm32h7/src/bin/i2c_shared.rs | 12 | ||||
| -rw-r--r-- | examples/stm32h7rs/src/bin/i2c.rs | 2 | ||||
| -rw-r--r-- | examples/stm32l4/src/bin/i2c.rs | 3 | ||||
| -rw-r--r-- | examples/stm32l4/src/bin/i2c_blocking_async.rs | 3 | ||||
| -rw-r--r-- | examples/stm32l4/src/bin/i2c_dma.rs | 12 | ||||
| -rw-r--r-- | examples/stm32l4/src/bin/spe_adin1110_http_server.rs | 1 | ||||
| -rw-r--r-- | examples/stm32u0/src/bin/i2c.rs | 3 | ||||
| -rw-r--r-- | examples/stm32u5/src/bin/i2c.rs | 3 |
17 files changed, 19 insertions, 118 deletions
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/stm32g0/src/bin/i2c_async.rs b/examples/stm32g0/src/bin/i2c_async.rs index 7e3189b05..e62d9266b 100644 --- a/examples/stm32g0/src/bin/i2c_async.rs +++ b/examples/stm32g0/src/bin/i2c_async.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::{self, I2c}; | 6 | use embassy_stm32::i2c::{self, I2c}; |
| 7 | use embassy_stm32::time::Hertz; | ||
| 8 | use embassy_stm32::{bind_interrupts, peripherals}; | 7 | use embassy_stm32::{bind_interrupts, peripherals}; |
| 9 | use embassy_time::{Duration, Timer}; | 8 | use embassy_time::{Duration, Timer}; |
| 10 | use {defmt_rtt as _, panic_probe as _}; | 9 | use {defmt_rtt as _, panic_probe as _}; |
| @@ -23,16 +22,7 @@ async fn main(_spawner: Spawner) { | |||
| 23 | let p = embassy_stm32::init(Default::default()); | 22 | let p = embassy_stm32::init(Default::default()); |
| 24 | 23 | ||
| 25 | let mut data = [0u8; 2]; | 24 | let mut data = [0u8; 2]; |
| 26 | let mut i2c = I2c::new( | 25 | let mut i2c = I2c::new(p.I2C1, p.PB8, p.PB9, Irqs, p.DMA1_CH1, p.DMA1_CH2, Default::default()); |
| 27 | p.I2C1, | ||
| 28 | p.PB8, | ||
| 29 | p.PB9, | ||
| 30 | Irqs, | ||
| 31 | p.DMA1_CH1, | ||
| 32 | p.DMA1_CH2, | ||
| 33 | Hertz(100_000), | ||
| 34 | Default::default(), | ||
| 35 | ); | ||
| 36 | 26 | ||
| 37 | loop { | 27 | loop { |
| 38 | match i2c.write_read(TMP117_ADDR, &[TMP117_TEMP_RESULT], &mut data).await { | 28 | match i2c.write_read(TMP117_ADDR, &[TMP117_TEMP_RESULT], &mut data).await { |
diff --git a/examples/stm32g4/src/bin/i2c_slave.rs b/examples/stm32g4/src/bin/i2c_slave.rs index a723a0e18..8b255b0e6 100644 --- a/examples/stm32g4/src/bin/i2c_slave.rs +++ b/examples/stm32g4/src/bin/i2c_slave.rs | |||
| @@ -127,8 +127,8 @@ async fn main(spawner: Spawner) { | |||
| 127 | let p = embassy_stm32::init(Default::default()); | 127 | let p = embassy_stm32::init(Default::default()); |
| 128 | info!("Hello World!"); | 128 | info!("Hello World!"); |
| 129 | 129 | ||
| 130 | let speed = Hertz::khz(400); | 130 | let mut config = i2c::Config::default(); |
| 131 | let config = i2c::Config::default(); | 131 | config.frequency = Hertz::khz(400); |
| 132 | 132 | ||
| 133 | let d_addr_config = i2c::SlaveAddrConfig { | 133 | let d_addr_config = i2c::SlaveAddrConfig { |
| 134 | addr: OwnAddresses::OA1(Address::SevenBit(DEV_ADDR)), | 134 | addr: OwnAddresses::OA1(Address::SevenBit(DEV_ADDR)), |
| @@ -136,14 +136,14 @@ async fn main(spawner: Spawner) { | |||
| 136 | }; | 136 | }; |
| 137 | let d_sda = p.PA8; | 137 | let d_sda = p.PA8; |
| 138 | let d_scl = p.PA9; | 138 | let d_scl = p.PA9; |
| 139 | let device = i2c::I2c::new(p.I2C2, d_scl, d_sda, Irqs, p.DMA1_CH1, p.DMA1_CH2, speed, config) | 139 | let device = |
| 140 | .into_slave_multimaster(d_addr_config); | 140 | i2c::I2c::new(p.I2C2, d_scl, d_sda, Irqs, p.DMA1_CH1, p.DMA1_CH2, config).into_slave_multimaster(d_addr_config); |
| 141 | 141 | ||
| 142 | unwrap!(spawner.spawn(device_task(device))); | 142 | unwrap!(spawner.spawn(device_task(device))); |
| 143 | 143 | ||
| 144 | let c_sda = p.PB8; | 144 | let c_sda = p.PB8; |
| 145 | let c_scl = p.PB7; | 145 | let c_scl = p.PB7; |
| 146 | let controller = i2c::I2c::new(p.I2C1, c_sda, c_scl, Irqs, p.DMA1_CH3, p.DMA1_CH4, speed, config); | 146 | let controller = i2c::I2c::new(p.I2C1, c_sda, c_scl, Irqs, p.DMA1_CH3, p.DMA1_CH4, config); |
| 147 | 147 | ||
| 148 | unwrap!(spawner.spawn(controller_task(controller))); | 148 | unwrap!(spawner.spawn(controller_task(controller))); |
| 149 | } | 149 | } |
diff --git a/examples/stm32h5/src/bin/i2c.rs b/examples/stm32h5/src/bin/i2c.rs index 31e83cbb5..870c57e0f 100644 --- a/examples/stm32h5/src/bin/i2c.rs +++ b/examples/stm32h5/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 embassy_stm32::{bind_interrupts, i2c, peripherals}; | 7 | use embassy_stm32::{bind_interrupts, i2c, peripherals}; |
| 9 | use {defmt_rtt as _, panic_probe as _}; | 8 | use {defmt_rtt as _, panic_probe as _}; |
| 10 | 9 | ||
| @@ -28,7 +27,6 @@ async fn main(_spawner: Spawner) { | |||
| 28 | Irqs, | 27 | Irqs, |
| 29 | p.GPDMA1_CH4, | 28 | p.GPDMA1_CH4, |
| 30 | p.GPDMA1_CH5, | 29 | p.GPDMA1_CH5, |
| 31 | Hertz(100_000), | ||
| 32 | Default::default(), | 30 | Default::default(), |
| 33 | ); | 31 | ); |
| 34 | 32 | ||
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, *}; | |||
| 6 | use embassy_stm32::gpio::{Level, Output, Speed}; | 6 | use embassy_stm32::gpio::{Level, Output, Speed}; |
| 7 | use embassy_stm32::i2c::I2c; | 7 | use embassy_stm32::i2c::I2c; |
| 8 | use embassy_stm32::rcc::{Mco, Mco1Source, McoPrescaler}; | 8 | use embassy_stm32::rcc::{Mco, Mco1Source, McoPrescaler}; |
| 9 | use embassy_stm32::time::khz; | ||
| 10 | use embassy_stm32::{bind_interrupts, i2c, peripherals, Config}; | 9 | use embassy_stm32::{bind_interrupts, i2c, peripherals, Config}; |
| 11 | use embassy_time::Timer; | 10 | use embassy_time::Timer; |
| 12 | use ov7725::*; | 11 | use 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/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 @@ | |||
| 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 embassy_stm32::{bind_interrupts, i2c, peripherals}; | 7 | use embassy_stm32::{bind_interrupts, i2c, peripherals}; |
| 9 | use {defmt_rtt as _, panic_probe as _}; | 8 | use {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 655ff901f..560f97aa3 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; | |||
| 8 | use embassy_executor::Spawner; | 8 | use embassy_executor::Spawner; |
| 9 | use embassy_stm32::i2c::{self, I2c}; | 9 | use embassy_stm32::i2c::{self, I2c}; |
| 10 | use embassy_stm32::mode::Async; | 10 | use embassy_stm32::mode::Async; |
| 11 | use embassy_stm32::time::Hertz; | ||
| 12 | use embassy_stm32::{bind_interrupts, peripherals}; | 11 | use embassy_stm32::{bind_interrupts, peripherals}; |
| 13 | use embassy_sync::blocking_mutex::raw::NoopRawMutex; | 12 | use embassy_sync::blocking_mutex::raw::NoopRawMutex; |
| 14 | use embassy_sync::blocking_mutex::NoopMutex; | 13 | use embassy_sync::blocking_mutex::NoopMutex; |
| @@ -90,16 +89,7 @@ async fn humidity(mut i2c: I2cDevice<'static, NoopRawMutex, I2c<'static, Async, | |||
| 90 | async fn main(spawner: Spawner) { | 89 | async 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 | ||
diff --git a/examples/stm32h7rs/src/bin/i2c.rs b/examples/stm32h7rs/src/bin/i2c.rs index 31e83cbb5..870c57e0f 100644 --- a/examples/stm32h7rs/src/bin/i2c.rs +++ b/examples/stm32h7rs/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 embassy_stm32::{bind_interrupts, i2c, peripherals}; | 7 | use embassy_stm32::{bind_interrupts, i2c, peripherals}; |
| 9 | use {defmt_rtt as _, panic_probe as _}; | 8 | use {defmt_rtt as _, panic_probe as _}; |
| 10 | 9 | ||
| @@ -28,7 +27,6 @@ async fn main(_spawner: Spawner) { | |||
| 28 | Irqs, | 27 | Irqs, |
| 29 | p.GPDMA1_CH4, | 28 | p.GPDMA1_CH4, |
| 30 | p.GPDMA1_CH5, | 29 | p.GPDMA1_CH5, |
| 31 | Hertz(100_000), | ||
| 32 | Default::default(), | 30 | Default::default(), |
| 33 | ); | 31 | ); |
| 34 | 32 | ||
diff --git a/examples/stm32l4/src/bin/i2c.rs b/examples/stm32l4/src/bin/i2c.rs index 2861bc091..3c42ba8f5 100644 --- a/examples/stm32l4/src/bin/i2c.rs +++ b/examples/stm32l4/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::I2c; | 6 | use embassy_stm32::i2c::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; |
| @@ -13,7 +12,7 @@ const WHOAMI: u8 = 0x0F; | |||
| 13 | #[embassy_executor::main] | 12 | #[embassy_executor::main] |
| 14 | async fn main(_spawner: Spawner) { | 13 | async fn main(_spawner: Spawner) { |
| 15 | let p = embassy_stm32::init(Default::default()); | 14 | let p = embassy_stm32::init(Default::default()); |
| 16 | let mut i2c = I2c::new_blocking(p.I2C2, p.PB10, p.PB11, Hertz(100_000), Default::default()); | 15 | let mut i2c = I2c::new_blocking(p.I2C2, p.PB10, p.PB11, Default::default()); |
| 17 | 16 | ||
| 18 | let mut data = [0u8; 1]; | 17 | let mut data = [0u8; 1]; |
| 19 | unwrap!(i2c.blocking_write_read(ADDRESS, &[WHOAMI], &mut data)); | 18 | unwrap!(i2c.blocking_write_read(ADDRESS, &[WHOAMI], &mut data)); |
diff --git a/examples/stm32l4/src/bin/i2c_blocking_async.rs b/examples/stm32l4/src/bin/i2c_blocking_async.rs index a014b23e0..62153bfc8 100644 --- a/examples/stm32l4/src/bin/i2c_blocking_async.rs +++ b/examples/stm32l4/src/bin/i2c_blocking_async.rs | |||
| @@ -5,7 +5,6 @@ use defmt::*; | |||
| 5 | use embassy_embedded_hal::adapter::BlockingAsync; | 5 | use embassy_embedded_hal::adapter::BlockingAsync; |
| 6 | use embassy_executor::Spawner; | 6 | use embassy_executor::Spawner; |
| 7 | use embassy_stm32::i2c::I2c; | 7 | use embassy_stm32::i2c::I2c; |
| 8 | use embassy_stm32::time::Hertz; | ||
| 9 | use embedded_hal_async::i2c::I2c as I2cTrait; | 8 | use embedded_hal_async::i2c::I2c as I2cTrait; |
| 10 | use {defmt_rtt as _, panic_probe as _}; | 9 | use {defmt_rtt as _, panic_probe as _}; |
| 11 | 10 | ||
| @@ -15,7 +14,7 @@ const WHOAMI: u8 = 0x0F; | |||
| 15 | #[embassy_executor::main] | 14 | #[embassy_executor::main] |
| 16 | async fn main(_spawner: Spawner) { | 15 | async fn main(_spawner: Spawner) { |
| 17 | let p = embassy_stm32::init(Default::default()); | 16 | let p = embassy_stm32::init(Default::default()); |
| 18 | let i2c = I2c::new_blocking(p.I2C2, p.PB10, p.PB11, Hertz(100_000), Default::default()); | 17 | let i2c = I2c::new_blocking(p.I2C2, p.PB10, p.PB11, Default::default()); |
| 19 | let mut i2c = BlockingAsync::new(i2c); | 18 | let mut i2c = BlockingAsync::new(i2c); |
| 20 | 19 | ||
| 21 | let mut data = [0u8; 1]; | 20 | let mut data = [0u8; 1]; |
diff --git a/examples/stm32l4/src/bin/i2c_dma.rs b/examples/stm32l4/src/bin/i2c_dma.rs index 794972a33..0f5690e37 100644 --- a/examples/stm32l4/src/bin/i2c_dma.rs +++ b/examples/stm32l4/src/bin/i2c_dma.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::I2c; | 6 | use embassy_stm32::i2c::I2c; |
| 7 | use embassy_stm32::time::Hertz; | ||
| 8 | use embassy_stm32::{bind_interrupts, i2c, peripherals}; | 7 | use embassy_stm32::{bind_interrupts, i2c, peripherals}; |
| 9 | use {defmt_rtt as _, panic_probe as _}; | 8 | use {defmt_rtt as _, panic_probe as _}; |
| 10 | 9 | ||
| @@ -19,16 +18,7 @@ bind_interrupts!(struct Irqs { | |||
| 19 | #[embassy_executor::main] | 18 | #[embassy_executor::main] |
| 20 | async fn main(_spawner: Spawner) { | 19 | async fn main(_spawner: Spawner) { |
| 21 | let p = embassy_stm32::init(Default::default()); | 20 | let p = embassy_stm32::init(Default::default()); |
| 22 | let mut i2c = I2c::new( | 21 | let mut i2c = I2c::new(p.I2C2, p.PB10, p.PB11, Irqs, p.DMA1_CH4, p.DMA1_CH5, Default::default()); |
| 23 | p.I2C2, | ||
| 24 | p.PB10, | ||
| 25 | p.PB11, | ||
| 26 | Irqs, | ||
| 27 | p.DMA1_CH4, | ||
| 28 | p.DMA1_CH5, | ||
| 29 | Hertz(100_000), | ||
| 30 | Default::default(), | ||
| 31 | ); | ||
| 32 | 22 | ||
| 33 | let mut data = [0u8; 1]; | 23 | let mut data = [0u8; 1]; |
| 34 | unwrap!(i2c.write_read(ADDRESS, &[WHOAMI], &mut data).await); | 24 | unwrap!(i2c.write_read(ADDRESS, &[WHOAMI], &mut data).await); |
diff --git a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs index dc90a3b85..516badcb2 100644 --- a/examples/stm32l4/src/bin/spe_adin1110_http_server.rs +++ b/examples/stm32l4/src/bin/spe_adin1110_http_server.rs | |||
| @@ -115,7 +115,6 @@ async fn main(spawner: Spawner) { | |||
| 115 | Irqs, | 115 | Irqs, |
| 116 | dp.DMA1_CH6, | 116 | dp.DMA1_CH6, |
| 117 | dp.DMA1_CH7, | 117 | dp.DMA1_CH7, |
| 118 | Hertz(100_000), | ||
| 119 | I2C_Config::default(), | 118 | I2C_Config::default(), |
| 120 | ); | 119 | ); |
| 121 | 120 | ||
diff --git a/examples/stm32u0/src/bin/i2c.rs b/examples/stm32u0/src/bin/i2c.rs index 2861bc091..3c42ba8f5 100644 --- a/examples/stm32u0/src/bin/i2c.rs +++ b/examples/stm32u0/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::I2c; | 6 | use embassy_stm32::i2c::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; |
| @@ -13,7 +12,7 @@ const WHOAMI: u8 = 0x0F; | |||
| 13 | #[embassy_executor::main] | 12 | #[embassy_executor::main] |
| 14 | async fn main(_spawner: Spawner) { | 13 | async fn main(_spawner: Spawner) { |
| 15 | let p = embassy_stm32::init(Default::default()); | 14 | let p = embassy_stm32::init(Default::default()); |
| 16 | let mut i2c = I2c::new_blocking(p.I2C2, p.PB10, p.PB11, Hertz(100_000), Default::default()); | 15 | let mut i2c = I2c::new_blocking(p.I2C2, p.PB10, p.PB11, Default::default()); |
| 17 | 16 | ||
| 18 | let mut data = [0u8; 1]; | 17 | let mut data = [0u8; 1]; |
| 19 | unwrap!(i2c.blocking_write_read(ADDRESS, &[WHOAMI], &mut data)); | 18 | unwrap!(i2c.blocking_write_read(ADDRESS, &[WHOAMI], &mut data)); |
diff --git a/examples/stm32u5/src/bin/i2c.rs b/examples/stm32u5/src/bin/i2c.rs index d5f5d6f60..5577f7211 100644 --- a/examples/stm32u5/src/bin/i2c.rs +++ b/examples/stm32u5/src/bin/i2c.rs | |||
| @@ -4,7 +4,6 @@ | |||
| 4 | use defmt::{info, unwrap}; | 4 | use defmt::{info, unwrap}; |
| 5 | use embassy_executor::Spawner; | 5 | use embassy_executor::Spawner; |
| 6 | use embassy_stm32::i2c::I2c; | 6 | use embassy_stm32::i2c::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 HTS221_ADDRESS: u8 = 0x5F; | 9 | const HTS221_ADDRESS: u8 = 0x5F; |
| @@ -13,7 +12,7 @@ const WHOAMI: u8 = 0x0F; | |||
| 13 | #[embassy_executor::main] | 12 | #[embassy_executor::main] |
| 14 | async fn main(_spawner: Spawner) { | 13 | async fn main(_spawner: Spawner) { |
| 15 | let p = embassy_stm32::init(Default::default()); | 14 | let p = embassy_stm32::init(Default::default()); |
| 16 | let mut i2c = I2c::new_blocking(p.I2C2, p.PF1, p.PF0, Hertz(100_000), Default::default()); | 15 | let mut i2c = I2c::new_blocking(p.I2C2, p.PF1, p.PF0, Default::default()); |
| 17 | 16 | ||
| 18 | let mut data = [0u8; 1]; | 17 | let mut data = [0u8; 1]; |
| 19 | unwrap!(i2c.blocking_write_read(HTS221_ADDRESS, &[WHOAMI], &mut data)); | 18 | unwrap!(i2c.blocking_write_read(HTS221_ADDRESS, &[WHOAMI], &mut data)); |
