Skip to content

Commit 30c28b0

Browse files
authored
Merge pull request #29 from arduino/test
Fix: only transport relevant CAN frame payload via IMX8 / H7 brigde.
2 parents 9aec924 + e776efa commit 30c28b0

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

include/peripherals.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ enum Opcodes_RTC {
6868

6969
enum Opcodes_CAN {
7070
CAN_TX_FRAME = 0x01,
71+
CAN_RX_FRAME = 0x01,
7172
CAN_STATUS = 0x40,
7273
CAN_FILTER = 0x50,
7374
};

src/can.c

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -255,12 +255,20 @@ void can_handle_data()
255255
{
256256
union x8h7_can_frame_message msg;
257257

258-
if (can_read(&fdcan_1, &msg)) {
259-
enqueue_packet(PERIPH_FDCAN1, DATA, sizeof(msg.buf), msg.buf);
258+
if (can_read(&fdcan_1, &msg))
259+
{
260+
enqueue_packet(PERIPH_FDCAN1,
261+
CAN_RX_FRAME,
262+
X8H7_CAN_HEADER_SIZE + msg.field.len,
263+
msg.buf);
260264
}
261265

262-
if (can_read(&fdcan_2, &msg)) {
263-
enqueue_packet(PERIPH_FDCAN2, DATA, sizeof(msg.buf), msg.buf);
266+
if (can_read(&fdcan_2, &msg))
267+
{
268+
enqueue_packet(PERIPH_FDCAN2,
269+
CAN_RX_FRAME,
270+
X8H7_CAN_HEADER_SIZE + msg.field.len,
271+
msg.buf);
264272
}
265273
}
266274

0 commit comments

Comments
 (0)