From 7c7ae41ee6d16f17714ed0c46ad1ad0ac884a08f Mon Sep 17 00:00:00 2001 From: "Jasper v. Blanckenburg" Date: Thu, 23 May 2024 00:38:44 +0200 Subject: [PATCH] Handle fucked slave EEPROMs --- Core/Inc/can.h | 1 + Core/Src/can.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Core/Inc/can.h b/Core/Inc/can.h index 3bfb905..0be5c38 100644 --- a/Core/Inc/can.h +++ b/Core/Inc/can.h @@ -12,6 +12,7 @@ #define CAN_ID_AMS_IN 0x00B #define CAN_ID_AMS_ERROR 0x00C #define CAN_ID_SLAVE_STATUS_BASE 0x080 +#define CAN_ID_SLAVE_STATUS_FUCKED 0x0A0 #define CAN_ID_SLAVE_LOG 0x4F4 #define CAN_ID_SHUNT_BASE 0x520 #define CAN_ID_SHUNT_CURRENT 0x521 diff --git a/Core/Src/can.c b/Core/Src/can.c index 30c62ab..04ecdab 100644 --- a/Core/Src/can.c +++ b/Core/Src/can.c @@ -18,6 +18,7 @@ void can_init(CAN_HandleTypeDef *handle) { ftcan_add_filter(CAN_ID_AMS_IN, 0xFFF); ftcan_add_filter(CAN_ID_SLAVE_PANIC, 0xFFF); ftcan_add_filter(CAN_ID_SLAVE_STATUS_BASE, 0xFF0); + ftcan_add_filter(CAN_ID_SLAVE_STATUS_FUCKED, 0xFFF); ftcan_add_filter(CAN_ID_SLAVE_LOG, 0xFFF); } @@ -50,6 +51,8 @@ void ftcan_msg_received_cb(uint16_t id, size_t datalen, const uint8_t *data) { } else if ((id & 0xFF0) == CAN_ID_SLAVE_STATUS_BASE) { slaves_handle_status(data); return; + } else if (id == CAN_ID_SLAVE_STATUS_FUCKED) { + slaves_handle_status(data); } switch (id) { case CAN_ID_SLAVE_PANIC: