Merge pull request #2745 from de-vri-es/bxcan-keep-rtr-flag
embassy_stm32: Preseve the RTR flag in messages.
This commit is contained in:
commit
8f6c07c775
1 changed files with 4 additions and 4 deletions
|
@ -776,13 +776,13 @@ where
|
||||||
|
|
||||||
let mb = self.canregs.tx(idx);
|
let mb = self.canregs.tx(idx);
|
||||||
|
|
||||||
let id = IdReg(mb.tir().read().0).id();
|
let id = IdReg(mb.tir().read().0);
|
||||||
let mut data = [0xff; 8];
|
let mut data = [0xff; 8];
|
||||||
data[0..4].copy_from_slice(&mb.tdlr().read().0.to_ne_bytes());
|
data[0..4].copy_from_slice(&mb.tdlr().read().0.to_ne_bytes());
|
||||||
data[4..8].copy_from_slice(&mb.tdhr().read().0.to_ne_bytes());
|
data[4..8].copy_from_slice(&mb.tdhr().read().0.to_ne_bytes());
|
||||||
let len = mb.tdtr().read().dlc();
|
let len = mb.tdtr().read().dlc();
|
||||||
|
|
||||||
Some(Frame::new(Header::new(id, len, false), &data).unwrap())
|
Some(Frame::new(Header::new(id.id(), len, id.rtr()), &data).unwrap())
|
||||||
} else {
|
} else {
|
||||||
// Abort request failed because the frame was already sent (or being sent) on
|
// Abort request failed because the frame was already sent (or being sent) on
|
||||||
// the bus. All mailboxes are now free. This can happen for small prescaler
|
// the bus. All mailboxes are now free. This can happen for small prescaler
|
||||||
|
@ -915,7 +915,7 @@ fn receive_fifo(canregs: crate::pac::can::Can, fifo_nr: usize) -> nb::Result<Fra
|
||||||
}
|
}
|
||||||
|
|
||||||
// Read the frame.
|
// Read the frame.
|
||||||
let id = IdReg(rx.rir().read().0).id();
|
let id = IdReg(rx.rir().read().0);
|
||||||
let mut data = [0xff; 8];
|
let mut data = [0xff; 8];
|
||||||
data[0..4].copy_from_slice(&rx.rdlr().read().0.to_ne_bytes());
|
data[0..4].copy_from_slice(&rx.rdlr().read().0.to_ne_bytes());
|
||||||
data[4..8].copy_from_slice(&rx.rdhr().read().0.to_ne_bytes());
|
data[4..8].copy_from_slice(&rx.rdhr().read().0.to_ne_bytes());
|
||||||
|
@ -924,7 +924,7 @@ fn receive_fifo(canregs: crate::pac::can::Can, fifo_nr: usize) -> nb::Result<Fra
|
||||||
// Release the mailbox.
|
// Release the mailbox.
|
||||||
rfr.write(|w| w.set_rfom(true));
|
rfr.write(|w| w.set_rfom(true));
|
||||||
|
|
||||||
Ok(Frame::new(Header::new(id, len, false), &data).unwrap())
|
Ok(Frame::new(Header::new(id.id(), len, id.rtr()), &data).unwrap())
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Identifies one of the two receive FIFOs.
|
/// Identifies one of the two receive FIFOs.
|
||||||
|
|
Loading…
Add table
Reference in a new issue