aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Scheff <[email protected]>2023-06-16 14:56:28 +0200
committerPhilipp Scheff <[email protected]>2023-06-16 14:56:28 +0200
commitf6c1108bdf444ba9aef1113ec39c7fc814dab85e (patch)
tree9fe12f8acdff33057872d5f75140a33240908424
parent35083b262b364387713f4273649b62180123182c (diff)
fix extended can id
-rw-r--r--embassy-stm32/src/can/bxcan.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/embassy-stm32/src/can/bxcan.rs b/embassy-stm32/src/can/bxcan.rs
index 08ba783ff..1ab4dc1fc 100644
--- a/embassy-stm32/src/can/bxcan.rs
+++ b/embassy-stm32/src/can/bxcan.rs
@@ -226,7 +226,10 @@ impl<'d, T: Instance> Can<'d, T> {
226 let id = if rir.ide() == RirIde::STANDARD { 226 let id = if rir.ide() == RirIde::STANDARD {
227 Id::from(StandardId::new_unchecked(rir.stid())) 227 Id::from(StandardId::new_unchecked(rir.stid()))
228 } else { 228 } else {
229 Id::from(ExtendedId::new_unchecked(rir.exid())) 229 let stid = (rir.stid() & 0x7FF) as u32;
230 let exid = rir.exid() & 0x3FFFF;
231 let id = (stid << 18) | (exid as u32);
232 Id::from(ExtendedId::new_unchecked(id))
230 }; 233 };
231 let data_len = fifo.rdtr().read().dlc() as usize; 234 let data_len = fifo.rdtr().read().dlc() as usize;
232 let mut data: [u8; 8] = [0; 8]; 235 let mut data: [u8; 8] = [0; 8];