aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorey Schuhen <[email protected]>2024-03-28 09:47:16 +1000
committerCorey Schuhen <[email protected]>2024-03-28 09:53:30 +1000
commit25618cd93d5209d864fa250b2077a59532e0bedf (patch)
treee6e144041c6d973066b8fffd979650eb443ef7a3
parenta9f0c8c3a941684c1a610a72dfb2b925535fc8cd (diff)
RTR fix.
-rw-r--r--embassy-stm32/src/can/bx/mod.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/embassy-stm32/src/can/bx/mod.rs b/embassy-stm32/src/can/bx/mod.rs
index cb83799d3..cd82148ba 100644
--- a/embassy-stm32/src/can/bx/mod.rs
+++ b/embassy-stm32/src/can/bx/mod.rs
@@ -624,6 +624,7 @@ impl Registers {
624 }; 624 };
625 let rdtr = fifo.rdtr().read(); 625 let rdtr = fifo.rdtr().read();
626 let data_len = rdtr.dlc(); 626 let data_len = rdtr.dlc();
627 let rtr = rir.rtr() == stm32_metapac::can::vals::Rtr::REMOTE;
627 628
628 #[cfg(not(feature = "time"))] 629 #[cfg(not(feature = "time"))]
629 let ts = rdtr.time(); 630 let ts = rdtr.time();
@@ -632,7 +633,7 @@ impl Registers {
632 data[0..4].copy_from_slice(&fifo.rdlr().read().0.to_ne_bytes()); 633 data[0..4].copy_from_slice(&fifo.rdlr().read().0.to_ne_bytes());
633 data[4..8].copy_from_slice(&fifo.rdhr().read().0.to_ne_bytes()); 634 data[4..8].copy_from_slice(&fifo.rdhr().read().0.to_ne_bytes());
634 635
635 let frame = Frame::new(Header::new(id, data_len, false), &data).unwrap(); 636 let frame = Frame::new(Header::new(id, data_len, rtr), &data).unwrap();
636 let envelope = Envelope { ts, frame }; 637 let envelope = Envelope { ts, frame };
637 638
638 rfr.modify(|v| v.set_rfom(true)); 639 rfr.modify(|v| v.set_rfom(true));