aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2022-08-10 10:08:27 +0000
committerGitHub <[email protected]>2022-08-10 10:08:27 +0000
commit0e524247fa4adc524c546b0d073e7061ad6c1b83 (patch)
treeb929b2f1d676790deee4d8c4fe3ec58ae5d6643e /examples
parentde22cb906567b1262f91398c82b6ed90803852fc (diff)
parent936473b68adb3a526846ff30233936dc3c52de25 (diff)
Merge #896
896: Implement I2C pullup configuration r=lulf a=chemicstry I wasn't sure if I should put frequency into config struct, so left it separate as in SPI periph. Also added Copy derives to gpio types, not sure why they weren't? Co-authored-by: chemicstry <[email protected]>
Diffstat (limited to 'examples')
-rw-r--r--examples/stm32h7/src/bin/camera.rs11
-rw-r--r--examples/stm32l4/src/bin/i2c.rs11
-rw-r--r--examples/stm32l4/src/bin/i2c_blocking_async.rs11
-rw-r--r--examples/stm32l4/src/bin/i2c_dma.rs11
4 files changed, 40 insertions, 4 deletions
diff --git a/examples/stm32h7/src/bin/camera.rs b/examples/stm32h7/src/bin/camera.rs
index 69187182f..a3bb2d5e2 100644
--- a/examples/stm32h7/src/bin/camera.rs
+++ b/examples/stm32h7/src/bin/camera.rs
@@ -39,7 +39,16 @@ async fn main(_spawner: Spawner, p: Peripherals) {
39 39
40 let mut led = Output::new(p.PE3, Level::High, Speed::Low); 40 let mut led = Output::new(p.PE3, Level::High, Speed::Low);
41 let i2c_irq = interrupt::take!(I2C1_EV); 41 let i2c_irq = interrupt::take!(I2C1_EV);
42 let cam_i2c = I2c::new(p.I2C1, p.PB8, p.PB9, i2c_irq, p.DMA1_CH1, p.DMA1_CH2, khz(100)); 42 let cam_i2c = I2c::new(
43 p.I2C1,
44 p.PB8,
45 p.PB9,
46 i2c_irq,
47 p.DMA1_CH1,
48 p.DMA1_CH2,
49 khz(100),
50 Default::default(),
51 );
43 52
44 let mut camera = Ov7725::new(cam_i2c, mco); 53 let mut camera = Ov7725::new(cam_i2c, mco);
45 54
diff --git a/examples/stm32l4/src/bin/i2c.rs b/examples/stm32l4/src/bin/i2c.rs
index 058529ecf..5bfa560dc 100644
--- a/examples/stm32l4/src/bin/i2c.rs
+++ b/examples/stm32l4/src/bin/i2c.rs
@@ -16,7 +16,16 @@ const WHOAMI: u8 = 0x0F;
16#[embassy_executor::main] 16#[embassy_executor::main]
17async fn main(_spawner: Spawner, p: Peripherals) -> ! { 17async fn main(_spawner: Spawner, p: Peripherals) -> ! {
18 let irq = interrupt::take!(I2C2_EV); 18 let irq = interrupt::take!(I2C2_EV);
19 let mut i2c = I2c::new(p.I2C2, p.PB10, p.PB11, irq, NoDma, NoDma, Hertz(100_000)); 19 let mut i2c = I2c::new(
20 p.I2C2,
21 p.PB10,
22 p.PB11,
23 irq,
24 NoDma,
25 NoDma,
26 Hertz(100_000),
27 Default::default(),
28 );
20 29
21 let mut data = [0u8; 1]; 30 let mut data = [0u8; 1];
22 unwrap!(i2c.blocking_write_read(ADDRESS, &[WHOAMI], &mut data)); 31 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 2dae9c2d5..c924bc9c5 100644
--- a/examples/stm32l4/src/bin/i2c_blocking_async.rs
+++ b/examples/stm32l4/src/bin/i2c_blocking_async.rs
@@ -18,7 +18,16 @@ const WHOAMI: u8 = 0x0F;
18#[embassy_executor::main] 18#[embassy_executor::main]
19async fn main(_spawner: Spawner, p: Peripherals) -> ! { 19async fn main(_spawner: Spawner, p: Peripherals) -> ! {
20 let irq = interrupt::take!(I2C2_EV); 20 let irq = interrupt::take!(I2C2_EV);
21 let i2c = I2c::new(p.I2C2, p.PB10, p.PB11, irq, NoDma, NoDma, Hertz(100_000)); 21 let i2c = I2c::new(
22 p.I2C2,
23 p.PB10,
24 p.PB11,
25 irq,
26 NoDma,
27 NoDma,
28 Hertz(100_000),
29 Default::default(),
30 );
22 let mut i2c = BlockingAsync::new(i2c); 31 let mut i2c = BlockingAsync::new(i2c);
23 32
24 let mut data = [0u8; 1]; 33 let mut data = [0u8; 1];
diff --git a/examples/stm32l4/src/bin/i2c_dma.rs b/examples/stm32l4/src/bin/i2c_dma.rs
index 9e71d404b..2b338427b 100644
--- a/examples/stm32l4/src/bin/i2c_dma.rs
+++ b/examples/stm32l4/src/bin/i2c_dma.rs
@@ -15,7 +15,16 @@ const WHOAMI: u8 = 0x0F;
15#[embassy_executor::main] 15#[embassy_executor::main]
16async fn main(_spawner: Spawner, p: Peripherals) -> ! { 16async fn main(_spawner: Spawner, p: Peripherals) -> ! {
17 let irq = interrupt::take!(I2C2_EV); 17 let irq = interrupt::take!(I2C2_EV);
18 let mut i2c = I2c::new(p.I2C2, p.PB10, p.PB11, irq, p.DMA1_CH4, p.DMA1_CH5, Hertz(100_000)); 18 let mut i2c = I2c::new(
19 p.I2C2,
20 p.PB10,
21 p.PB11,
22 irq,
23 p.DMA1_CH4,
24 p.DMA1_CH5,
25 Hertz(100_000),
26 Default::default(),
27 );
19 28
20 let mut data = [0u8; 1]; 29 let mut data = [0u8; 1];
21 unwrap!(i2c.write_read(ADDRESS, &[WHOAMI], &mut data).await); 30 unwrap!(i2c.write_read(ADDRESS, &[WHOAMI], &mut data).await);