mirror of
https://github.com/embassy-rs/embassy.git
synced 2025-09-28 12:50:37 +00:00
STM32: Fix CAN transmit on bxcan targets
This commit is contained in:
parent
dc3b83f9c8
commit
17d3adac4b
@ -299,9 +299,9 @@ impl Registers {
|
||||
mb.tdtr().write(|w| w.set_dlc(frame.header().len() as u8));
|
||||
|
||||
mb.tdlr()
|
||||
.write(|w| w.0 = u32::from_ne_bytes(unwrap!(frame.data()[0..4].try_into())));
|
||||
.write(|w| w.0 = u32::from_ne_bytes(unwrap!(frame.raw_data()[0..4].try_into())));
|
||||
mb.tdhr()
|
||||
.write(|w| w.0 = u32::from_ne_bytes(unwrap!(frame.data()[4..8].try_into())));
|
||||
.write(|w| w.0 = u32::from_ne_bytes(unwrap!(frame.raw_data()[4..8].try_into())));
|
||||
let id: IdReg = frame.id().into();
|
||||
mb.tir().write(|w| {
|
||||
w.0 = id.0;
|
||||
|
@ -75,7 +75,7 @@ impl Registers {
|
||||
let mailbox = self.tx_buffer_element(bufidx);
|
||||
mailbox.reset();
|
||||
put_tx_header(mailbox, header);
|
||||
put_tx_data(mailbox, &buffer[..header.len() as usize]);
|
||||
put_tx_data(mailbox, buffer);
|
||||
|
||||
// Set <idx as Mailbox> as ready to transmit
|
||||
self.regs.txbar().modify(|w| w.set_ar(bufidx, true));
|
||||
|
@ -212,6 +212,11 @@ impl Frame {
|
||||
&self.data.raw()[..self.can_header.len as usize]
|
||||
}
|
||||
|
||||
/// Get reference to underlying 8-byte raw data buffer
|
||||
pub(crate) fn raw_data(&self) -> &[u8] {
|
||||
self.data.raw()
|
||||
}
|
||||
|
||||
/// Get mutable reference to data
|
||||
pub fn data_mut(&mut self) -> &mut [u8] {
|
||||
&mut self.data.raw_mut()[..self.can_header.len as usize]
|
||||
|
Loading…
x
Reference in New Issue
Block a user