diff options
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/stm32f1/src/bin/can.rs | 13 | ||||
| -rw-r--r-- | examples/stm32f4/src/bin/can.rs | 11 | ||||
| -rw-r--r-- | examples/stm32f7/src/bin/can.rs | 12 |
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 | ||
| 4 | use defmt::*; | 4 | use defmt::*; |
| 5 | use embassy_executor::Spawner; | 5 | use embassy_executor::Spawner; |
| 6 | use embassy_stm32::can::frame::Envelope; | ||
| 6 | use embassy_stm32::can::{ | 7 | use 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 | }; |
| 10 | use embassy_stm32::peripherals::CAN; | 11 | use 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 | ||
