From 70bf63723a316d18fb255cae2f6ef9b36f37405b Mon Sep 17 00:00:00 2001 From: Süha Ünüvar <87157627+phycrax@users.noreply.github.com> Date: Fri, 8 Aug 2025 23:06:17 +0800 Subject: i2c examples --- examples/stm32f4/src/bin/i2c.rs | 3 +-- examples/stm32f4/src/bin/i2c_async.rs | 2 -- examples/stm32f4/src/bin/i2c_comparison.rs | 4 ---- examples/stm32g0/src/bin/i2c_async.rs | 2 -- examples/stm32g4/src/bin/i2c_slave.rs | 9 ++++----- examples/stm32h5/src/bin/i2c.rs | 2 -- examples/stm32h7/src/bin/camera.rs | 2 -- examples/stm32h7/src/bin/i2c.rs | 2 -- examples/stm32h7/src/bin/i2c_shared.rs | 2 -- examples/stm32h7rs/src/bin/i2c.rs | 2 -- examples/stm32l4/src/bin/i2c.rs | 3 +-- examples/stm32l4/src/bin/i2c_blocking_async.rs | 3 +-- examples/stm32l4/src/bin/i2c_dma.rs | 2 -- examples/stm32l4/src/bin/spe_adin1110_http_server.rs | 1 - examples/stm32u0/src/bin/i2c.rs | 3 +-- examples/stm32u5/src/bin/i2c.rs | 3 +-- 16 files changed, 9 insertions(+), 36 deletions(-) (limited to 'examples') 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 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::i2c::{Error, I2c}; -use embassy_stm32::time::Hertz; use {defmt_rtt as _, panic_probe as _}; const ADDRESS: u8 = 0x5F; @@ -15,7 +14,7 @@ async fn main(_spawner: Spawner) { info!("Hello world!"); let p = embassy_stm32::init(Default::default()); - let mut i2c = I2c::new_blocking(p.I2C2, p.PB10, p.PB11, Hertz(100_000), Default::default()); + let mut i2c = I2c::new_blocking(p.I2C2, p.PB10, p.PB11, Default::default()); let mut data = [0u8; 1]; diff --git a/examples/stm32f4/src/bin/i2c_async.rs b/examples/stm32f4/src/bin/i2c_async.rs index 90d11d4b4..e065910d8 100644 --- a/examples/stm32f4/src/bin/i2c_async.rs +++ b/examples/stm32f4/src/bin/i2c_async.rs @@ -7,7 +7,6 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::i2c::I2c; -use embassy_stm32::time::Hertz; use embassy_stm32::{bind_interrupts, i2c, peripherals}; use {defmt_rtt as _, panic_probe as _}; @@ -30,7 +29,6 @@ async fn main(_spawner: Spawner) { Irqs, p.DMA1_CH6, p.DMA1_CH0, - Hertz(100_000), Default::default(), ); diff --git a/examples/stm32f4/src/bin/i2c_comparison.rs b/examples/stm32f4/src/bin/i2c_comparison.rs index 55c4891e3..3713601b1 100644 --- a/examples/stm32f4/src/bin/i2c_comparison.rs +++ b/examples/stm32f4/src/bin/i2c_comparison.rs @@ -10,7 +10,6 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::i2c::I2c; -use embassy_stm32::time::Hertz; use embassy_stm32::{bind_interrupts, i2c, peripherals}; use embassy_time::Instant; use futures_util::future::try_join3; @@ -55,7 +54,6 @@ async fn main(_spawner: Spawner) { Irqs, p.DMA1_CH6, p.DMA1_CH0, - Hertz(100_000), Default::default(), ); @@ -66,7 +64,6 @@ async fn main(_spawner: Spawner) { Irqs, p.DMA1_CH7, p.DMA1_CH3, - Hertz(100_000), Default::default(), ); @@ -77,7 +74,6 @@ async fn main(_spawner: Spawner) { Irqs, p.DMA1_CH4, p.DMA1_CH2, - Hertz(100_000), Default::default(), ); diff --git a/examples/stm32g0/src/bin/i2c_async.rs b/examples/stm32g0/src/bin/i2c_async.rs index 7e3189b05..19c52c21d 100644 --- a/examples/stm32g0/src/bin/i2c_async.rs +++ b/examples/stm32g0/src/bin/i2c_async.rs @@ -4,7 +4,6 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::i2c::{self, I2c}; -use embassy_stm32::time::Hertz; use embassy_stm32::{bind_interrupts, peripherals}; use embassy_time::{Duration, Timer}; use {defmt_rtt as _, panic_probe as _}; @@ -30,7 +29,6 @@ async fn main(_spawner: Spawner) { Irqs, p.DMA1_CH1, p.DMA1_CH2, - Hertz(100_000), Default::default(), ); diff --git a/examples/stm32g4/src/bin/i2c_slave.rs b/examples/stm32g4/src/bin/i2c_slave.rs index a723a0e18..adf1f74fa 100644 --- a/examples/stm32g4/src/bin/i2c_slave.rs +++ b/examples/stm32g4/src/bin/i2c_slave.rs @@ -6,7 +6,6 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::i2c::{Address, OwnAddresses, SlaveCommandKind}; use embassy_stm32::mode::Async; -use embassy_stm32::time::Hertz; use embassy_stm32::{bind_interrupts, i2c, peripherals}; use embassy_time::Timer; use {defmt_rtt as _, panic_probe as _}; @@ -127,8 +126,8 @@ async fn main(spawner: Spawner) { let p = embassy_stm32::init(Default::default()); info!("Hello World!"); - let speed = Hertz::khz(400); - let config = i2c::Config::default(); + let mut config = i2c::Config::default(); + config.frequency = Hertz::khz(400); let d_addr_config = i2c::SlaveAddrConfig { addr: OwnAddresses::OA1(Address::SevenBit(DEV_ADDR)), @@ -136,14 +135,14 @@ async fn main(spawner: Spawner) { }; let d_sda = p.PA8; let d_scl = p.PA9; - let device = i2c::I2c::new(p.I2C2, d_scl, d_sda, Irqs, p.DMA1_CH1, p.DMA1_CH2, speed, config) + let device = i2c::I2c::new(p.I2C2, d_scl, d_sda, Irqs, p.DMA1_CH1, p.DMA1_CH2, config) .into_slave_multimaster(d_addr_config); unwrap!(spawner.spawn(device_task(device))); let c_sda = p.PB8; let c_scl = p.PB7; - let controller = i2c::I2c::new(p.I2C1, c_sda, c_scl, Irqs, p.DMA1_CH3, p.DMA1_CH4, speed, config); + let controller = i2c::I2c::new(p.I2C1, c_sda, c_scl, Irqs, p.DMA1_CH3, p.DMA1_CH4, config); unwrap!(spawner.spawn(controller_task(controller))); } 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 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::i2c::{Error, I2c}; -use embassy_stm32::time::Hertz; use embassy_stm32::{bind_interrupts, i2c, peripherals}; use {defmt_rtt as _, panic_probe as _}; @@ -28,7 +27,6 @@ async fn main(_spawner: Spawner) { Irqs, p.GPDMA1_CH4, p.GPDMA1_CH5, - Hertz(100_000), Default::default(), ); diff --git a/examples/stm32h7/src/bin/camera.rs b/examples/stm32h7/src/bin/camera.rs index 170a5aa28..799291f76 100644 --- a/examples/stm32h7/src/bin/camera.rs +++ b/examples/stm32h7/src/bin/camera.rs @@ -6,7 +6,6 @@ use embassy_stm32::dcmi::{self, *}; use embassy_stm32::gpio::{Level, Output, Speed}; use embassy_stm32::i2c::I2c; use embassy_stm32::rcc::{Mco, Mco1Source, McoPrescaler}; -use embassy_stm32::time::khz; use embassy_stm32::{bind_interrupts, i2c, peripherals, Config}; use embassy_time::Timer; use ov7725::*; @@ -59,7 +58,6 @@ async fn main(_spawner: Spawner) { Irqs, p.DMA1_CH1, p.DMA1_CH2, - khz(100), Default::default(), ); diff --git a/examples/stm32h7/src/bin/i2c.rs b/examples/stm32h7/src/bin/i2c.rs index 3bf39eb44..90c1c8d80 100644 --- a/examples/stm32h7/src/bin/i2c.rs +++ b/examples/stm32h7/src/bin/i2c.rs @@ -4,7 +4,6 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::i2c::{Error, I2c}; -use embassy_stm32::time::Hertz; use embassy_stm32::{bind_interrupts, i2c, peripherals}; use {defmt_rtt as _, panic_probe as _}; @@ -28,7 +27,6 @@ async fn main(_spawner: Spawner) { Irqs, p.DMA1_CH4, p.DMA1_CH5, - Hertz(100_000), Default::default(), ); diff --git a/examples/stm32h7/src/bin/i2c_shared.rs b/examples/stm32h7/src/bin/i2c_shared.rs index 655ff901f..3135636ee 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; use embassy_executor::Spawner; use embassy_stm32::i2c::{self, I2c}; use embassy_stm32::mode::Async; -use embassy_stm32::time::Hertz; use embassy_stm32::{bind_interrupts, peripherals}; use embassy_sync::blocking_mutex::raw::NoopRawMutex; use embassy_sync::blocking_mutex::NoopMutex; @@ -97,7 +96,6 @@ async fn main(spawner: Spawner) { Irqs, p.DMA1_CH4, p.DMA1_CH5, - Hertz(100_000), Default::default(), ); let i2c_bus = NoopMutex::new(RefCell::new(i2c)); 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 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::i2c::{Error, I2c}; -use embassy_stm32::time::Hertz; use embassy_stm32::{bind_interrupts, i2c, peripherals}; use {defmt_rtt as _, panic_probe as _}; @@ -28,7 +27,6 @@ async fn main(_spawner: Spawner) { Irqs, p.GPDMA1_CH4, p.GPDMA1_CH5, - Hertz(100_000), Default::default(), ); 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 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::i2c::I2c; -use embassy_stm32::time::Hertz; use {defmt_rtt as _, panic_probe as _}; const ADDRESS: u8 = 0x5F; @@ -13,7 +12,7 @@ const WHOAMI: u8 = 0x0F; #[embassy_executor::main] async fn main(_spawner: Spawner) { let p = embassy_stm32::init(Default::default()); - let mut i2c = I2c::new_blocking(p.I2C2, p.PB10, p.PB11, Hertz(100_000), Default::default()); + let mut i2c = I2c::new_blocking(p.I2C2, p.PB10, p.PB11, Default::default()); let mut data = [0u8; 1]; 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::*; use embassy_embedded_hal::adapter::BlockingAsync; use embassy_executor::Spawner; use embassy_stm32::i2c::I2c; -use embassy_stm32::time::Hertz; use embedded_hal_async::i2c::I2c as I2cTrait; use {defmt_rtt as _, panic_probe as _}; @@ -15,7 +14,7 @@ const WHOAMI: u8 = 0x0F; #[embassy_executor::main] async fn main(_spawner: Spawner) { let p = embassy_stm32::init(Default::default()); - let i2c = I2c::new_blocking(p.I2C2, p.PB10, p.PB11, Hertz(100_000), Default::default()); + let i2c = I2c::new_blocking(p.I2C2, p.PB10, p.PB11, Default::default()); let mut i2c = BlockingAsync::new(i2c); 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..f34a484c5 100644 --- a/examples/stm32l4/src/bin/i2c_dma.rs +++ b/examples/stm32l4/src/bin/i2c_dma.rs @@ -4,7 +4,6 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::i2c::I2c; -use embassy_stm32::time::Hertz; use embassy_stm32::{bind_interrupts, i2c, peripherals}; use {defmt_rtt as _, panic_probe as _}; @@ -26,7 +25,6 @@ async fn main(_spawner: Spawner) { Irqs, p.DMA1_CH4, p.DMA1_CH5, - Hertz(100_000), Default::default(), ); 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) { Irqs, dp.DMA1_CH6, dp.DMA1_CH7, - Hertz(100_000), I2C_Config::default(), ); 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 @@ use defmt::*; use embassy_executor::Spawner; use embassy_stm32::i2c::I2c; -use embassy_stm32::time::Hertz; use {defmt_rtt as _, panic_probe as _}; const ADDRESS: u8 = 0x5F; @@ -13,7 +12,7 @@ const WHOAMI: u8 = 0x0F; #[embassy_executor::main] async fn main(_spawner: Spawner) { let p = embassy_stm32::init(Default::default()); - let mut i2c = I2c::new_blocking(p.I2C2, p.PB10, p.PB11, Hertz(100_000), Default::default()); + let mut i2c = I2c::new_blocking(p.I2C2, p.PB10, p.PB11, Default::default()); let mut data = [0u8; 1]; 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 @@ use defmt::{info, unwrap}; use embassy_executor::Spawner; use embassy_stm32::i2c::I2c; -use embassy_stm32::time::Hertz; use {defmt_rtt as _, panic_probe as _}; const HTS221_ADDRESS: u8 = 0x5F; @@ -13,7 +12,7 @@ const WHOAMI: u8 = 0x0F; #[embassy_executor::main] async fn main(_spawner: Spawner) { let p = embassy_stm32::init(Default::default()); - let mut i2c = I2c::new_blocking(p.I2C2, p.PF1, p.PF0, Hertz(100_000), Default::default()); + let mut i2c = I2c::new_blocking(p.I2C2, p.PF1, p.PF0, Default::default()); let mut data = [0u8; 1]; unwrap!(i2c.blocking_write_read(HTS221_ADDRESS, &[WHOAMI], &mut data)); -- cgit