aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/stm32f1/src/bin/can.rs13
-rw-r--r--examples/stm32f4/src/bin/can.rs11
-rw-r--r--examples/stm32f7/src/bin/can.rs12
3 files changed, 13 insertions, 23 deletions
diff --git a/examples/stm32f1/src/bin/can.rs b/examples/stm32f1/src/bin/can.rs
index 90cb9e46b..1c13d623d 100644
--- a/examples/stm32f1/src/bin/can.rs
+++ b/examples/stm32f1/src/bin/can.rs
@@ -3,8 +3,9 @@
3 3
4use defmt::*; 4use defmt::*;
5use embassy_executor::Spawner; 5use embassy_executor::Spawner;
6use embassy_stm32::can::frame::Envelope;
6use embassy_stm32::can::{ 7use embassy_stm32::can::{
7 filter, Can, Envelope, Fifo, Frame, Id, Rx0InterruptHandler, Rx1InterruptHandler, SceInterruptHandler, StandardId, 8 filter, Can, Fifo, Frame, Id, Rx0InterruptHandler, Rx1InterruptHandler, SceInterruptHandler, StandardId,
8 TxInterruptHandler, 9 TxInterruptHandler,
9}; 10};
10use embassy_stm32::peripherals::CAN; 11use embassy_stm32::peripherals::CAN;
@@ -55,17 +56,13 @@ async fn main(_spawner: Spawner) {
55 56
56 let mut can = Can::new(p.CAN, p.PB8, p.PB9, Irqs); 57 let mut can = Can::new(p.CAN, p.PB8, p.PB9, Irqs);
57 58
58 can.as_mut() 59 can.modify_filters()
59 .modify_filters()
60 .enable_bank(0, Fifo::Fifo0, filter::Mask32::accept_all()); 60 .enable_bank(0, Fifo::Fifo0, filter::Mask32::accept_all());
61 61
62 can.as_mut() 62 can.modify_config()
63 .modify_config()
64 .set_loopback(false) 63 .set_loopback(false)
65 .set_silent(false) 64 .set_silent(false)
66 .leave_disabled(); 65 .set_bitrate(250_000);
67
68 can.set_bitrate(250_000);
69 66
70 can.enable().await; 67 can.enable().await;
71 let mut i: u8 = 0; 68 let mut i: u8 = 0;
diff --git a/examples/stm32f4/src/bin/can.rs b/examples/stm32f4/src/bin/can.rs
index 71b9453eb..cedc057a7 100644
--- a/examples/stm32f4/src/bin/can.rs
+++ b/examples/stm32f4/src/bin/can.rs
@@ -35,17 +35,12 @@ async fn main(_spawner: Spawner) {
35 35
36 let mut can = Can::new(p.CAN1, p.PA11, p.PA12, Irqs); 36 let mut can = Can::new(p.CAN1, p.PA11, p.PA12, Irqs);
37 37
38 can.as_mut() 38 can.modify_filters().enable_bank(0, Fifo::Fifo0, Mask32::accept_all());
39 .modify_filters()
40 .enable_bank(0, Fifo::Fifo0, Mask32::accept_all());
41 39
42 can.as_mut() 40 can.modify_config()
43 .modify_config()
44 .set_loopback(true) // Receive own frames 41 .set_loopback(true) // Receive own frames
45 .set_silent(true) 42 .set_silent(true)
46 .leave_disabled(); 43 .set_bitrate(1_000_000);
47
48 can.set_bitrate(1_000_000);
49 44
50 can.enable().await; 45 can.enable().await;
51 46
diff --git a/examples/stm32f7/src/bin/can.rs b/examples/stm32f7/src/bin/can.rs
index 221ac2a05..e32b4d3df 100644
--- a/examples/stm32f7/src/bin/can.rs
+++ b/examples/stm32f7/src/bin/can.rs
@@ -47,20 +47,18 @@ async fn main(spawner: Spawner) {
47 47
48 static CAN: StaticCell<Can<'static, CAN3>> = StaticCell::new(); 48 static CAN: StaticCell<Can<'static, CAN3>> = StaticCell::new();
49 let can = CAN.init(Can::new(p.CAN3, p.PA8, p.PA15, Irqs)); 49 let can = CAN.init(Can::new(p.CAN3, p.PA8, p.PA15, Irqs));
50 can.as_mut() 50 can.modify_filters().enable_bank(0, Fifo::Fifo0, Mask32::accept_all());
51 .modify_filters()
52 .enable_bank(0, Fifo::Fifo0, Mask32::accept_all());
53 51
54 can.as_mut() 52 can.modify_config()
55 .modify_config()
56 .set_bit_timing(can::util::NominalBitTiming { 53 .set_bit_timing(can::util::NominalBitTiming {
57 prescaler: NonZeroU16::new(2).unwrap(), 54 prescaler: NonZeroU16::new(2).unwrap(),
58 seg1: NonZeroU8::new(13).unwrap(), 55 seg1: NonZeroU8::new(13).unwrap(),
59 seg2: NonZeroU8::new(2).unwrap(), 56 seg2: NonZeroU8::new(2).unwrap(),
60 sync_jump_width: NonZeroU8::new(1).unwrap(), 57 sync_jump_width: NonZeroU8::new(1).unwrap(),
61 }) // http://www.bittiming.can-wiki.info/ 58 }) // http://www.bittiming.can-wiki.info/
62 .set_loopback(true) 59 .set_loopback(true);
63 .enable(); 60
61 can.enable().await;
64 62
65 let (tx, mut rx) = can.split(); 63 let (tx, mut rx) = can.split();
66 64