From b5ac81eeb626bb97b1bacf1538b7686dfcc36879 Mon Sep 17 00:00:00 2001 From: Anton Gerasimov Date: Fri, 22 Dec 2017 16:53:36 +0100 Subject: [PATCH] Fix receiving multiframe packages --- src/isotp/isotp_types.h | 2 +- src/isotp/receive.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/isotp/isotp_types.h b/src/isotp/isotp_types.h index b4ee05d..fc09288 100644 --- a/src/isotp/isotp_types.h +++ b/src/isotp/isotp_types.h @@ -47,7 +47,7 @@ extern "C" { * size - The size of the payload. The size will be 0 if there is no payload. */ typedef struct { - const uint32_t arbitration_id; + uint32_t arbitration_id; uint8_t payload[OUR_MAX_ISO_TP_MESSAGE_SIZE]; uint16_t size; bool completed; diff --git a/src/isotp/receive.c b/src/isotp/receive.c index 7b02277..3661c1d 100644 --- a/src/isotp/receive.c +++ b/src/isotp/receive.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -30,7 +31,7 @@ bool isotp_send_flow_control_frame(IsoTpShims* shims, IsoTpMessage* message) { return false; } - shims->send_can_message(message->arbitration_id, can_data, + shims->send_can_message(protocol_swap_sa_ta(message->arbitration_id), can_data, shims->frame_padding ? 8 : 1 + message->size, shims->private_data); return true; }