aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2025-08-09 11:50:34 +0200
committerGitHub <[email protected]>2025-08-09 11:50:34 +0200
commitc67e6adb432977c4474d857f3ba1c672bc2ffa79 (patch)
tree0a2fc84a0dd6e05147d202358ea4c52189ea8732 /examples
parent1f19430f2ebda4d686057a854f6b74b8643cd56b (diff)
parent66008e4140d8e4f87b3f57d2459617047405fa14 (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.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/stm32g0/src/bin/i2c_async.rs12
-rw-r--r--examples/stm32g4/src/bin/i2c_slave.rs10
-rw-r--r--examples/stm32h5/src/bin/i2c.rs2
-rw-r--r--examples/stm32h7/src/bin/camera.rs12
-rw-r--r--examples/stm32h7/src/bin/i2c.rs12
-rw-r--r--examples/stm32h7/src/bin/i2c_shared.rs12
-rw-r--r--examples/stm32h7rs/src/bin/i2c.rs2
-rw-r--r--examples/stm32l4/src/bin/i2c.rs3
-rw-r--r--examples/stm32l4/src/bin/i2c_blocking_async.rs3
-rw-r--r--examples/stm32l4/src/bin/i2c_dma.rs12
-rw-r--r--examples/stm32l4/src/bin/spe_adin1110_http_server.rs1
-rw-r--r--examples/stm32u0/src/bin/i2c.rs3
-rw-r--r--examples/stm32u5/src/bin/i2c.rs3
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 @@
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/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 @@
4use defmt::*; 4use defmt::*;
5use embassy_executor::Spawner; 5use embassy_executor::Spawner;
6use embassy_stm32::i2c::{self, I2c}; 6use embassy_stm32::i2c::{self, I2c};
7use embassy_stm32::time::Hertz;
8use embassy_stm32::{bind_interrupts, peripherals}; 7use embassy_stm32::{bind_interrupts, peripherals};
9use embassy_time::{Duration, Timer}; 8use embassy_time::{Duration, Timer};
10use {defmt_rtt as _, panic_probe as _}; 9use {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 @@
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
@@ -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, *};
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/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 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;
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;
@@ -90,16 +89,7 @@ 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
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 @@
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
@@ -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 @@
4use defmt::*; 4use defmt::*;
5use embassy_executor::Spawner; 5use embassy_executor::Spawner;
6use embassy_stm32::i2c::I2c; 6use embassy_stm32::i2c::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;
@@ -13,7 +12,7 @@ const WHOAMI: u8 = 0x0F;
13#[embassy_executor::main] 12#[embassy_executor::main]
14async fn main(_spawner: Spawner) { 13async 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::*;
5use embassy_embedded_hal::adapter::BlockingAsync; 5use embassy_embedded_hal::adapter::BlockingAsync;
6use embassy_executor::Spawner; 6use embassy_executor::Spawner;
7use embassy_stm32::i2c::I2c; 7use embassy_stm32::i2c::I2c;
8use embassy_stm32::time::Hertz;
9use embedded_hal_async::i2c::I2c as I2cTrait; 8use embedded_hal_async::i2c::I2c as I2cTrait;
10use {defmt_rtt as _, panic_probe as _}; 9use {defmt_rtt as _, panic_probe as _};
11 10
@@ -15,7 +14,7 @@ const WHOAMI: u8 = 0x0F;
15#[embassy_executor::main] 14#[embassy_executor::main]
16async fn main(_spawner: Spawner) { 15async 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 @@
4use defmt::*; 4use defmt::*;
5use embassy_executor::Spawner; 5use embassy_executor::Spawner;
6use embassy_stm32::i2c::I2c; 6use embassy_stm32::i2c::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
@@ -19,16 +18,7 @@ bind_interrupts!(struct Irqs {
19#[embassy_executor::main] 18#[embassy_executor::main]
20async fn main(_spawner: Spawner) { 19async 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 @@
4use defmt::*; 4use defmt::*;
5use embassy_executor::Spawner; 5use embassy_executor::Spawner;
6use embassy_stm32::i2c::I2c; 6use embassy_stm32::i2c::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;
@@ -13,7 +12,7 @@ const WHOAMI: u8 = 0x0F;
13#[embassy_executor::main] 12#[embassy_executor::main]
14async fn main(_spawner: Spawner) { 13async 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 @@
4use defmt::{info, unwrap}; 4use defmt::{info, unwrap};
5use embassy_executor::Spawner; 5use embassy_executor::Spawner;
6use embassy_stm32::i2c::I2c; 6use embassy_stm32::i2c::I2c;
7use embassy_stm32::time::Hertz;
8use {defmt_rtt as _, panic_probe as _}; 7use {defmt_rtt as _, panic_probe as _};
9 8
10const HTS221_ADDRESS: u8 = 0x5F; 9const HTS221_ADDRESS: u8 = 0x5F;
@@ -13,7 +12,7 @@ const WHOAMI: u8 = 0x0F;
13#[embassy_executor::main] 12#[embassy_executor::main]
14async fn main(_spawner: Spawner) { 13async 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));