mirror of
https://github.com/dalathegreat/Battery-Emulator.git
synced 2025-10-04 10:19:29 +02:00
Add new Event for CAN-FD overflow
This commit is contained in:
parent
e9e6ae9b08
commit
63ea136c27
3 changed files with 10 additions and 2 deletions
|
@ -48,6 +48,7 @@ unsigned long previousMillisUpdateVal = 0;
|
||||||
// CAN parameters
|
// CAN parameters
|
||||||
CAN_device_t CAN_cfg; // CAN Config
|
CAN_device_t CAN_cfg; // CAN Config
|
||||||
const int rx_queue_size = 10; // Receive Queue size
|
const int rx_queue_size = 10; // Receive Queue size
|
||||||
|
volatile bool send_ok = 0;
|
||||||
|
|
||||||
#ifdef DUAL_CAN
|
#ifdef DUAL_CAN
|
||||||
#include "src/lib/pierremolinaro-acan2515/ACAN2515.h"
|
#include "src/lib/pierremolinaro-acan2515/ACAN2515.h"
|
||||||
|
@ -942,7 +943,10 @@ void transmit_can(CAN_frame* tx_frame, int interface) {
|
||||||
for (uint8_t i = 0; i < MCP2518Frame.len; i++) {
|
for (uint8_t i = 0; i < MCP2518Frame.len; i++) {
|
||||||
MCP2518Frame.data[i] = tx_frame->data.u8[i];
|
MCP2518Frame.data[i] = tx_frame->data.u8[i];
|
||||||
}
|
}
|
||||||
canfd.tryToSend(MCP2518Frame);
|
send_ok = canfd.tryToSend(MCP2518Frame);
|
||||||
|
if (!send_ok) {
|
||||||
|
set_event(EVENT_CANFD_BUFFER_FULL, interface);
|
||||||
|
}
|
||||||
#else // Interface not compiled, and settings try to use it
|
#else // Interface not compiled, and settings try to use it
|
||||||
set_event(EVENT_INTERFACE_MISSING, interface);
|
set_event(EVENT_INTERFACE_MISSING, interface);
|
||||||
#endif //CAN_FD
|
#endif //CAN_FD
|
||||||
|
|
|
@ -134,6 +134,7 @@ void init_events(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
events.entries[EVENT_CANFD_INIT_FAILURE].level = EVENT_LEVEL_WARNING;
|
events.entries[EVENT_CANFD_INIT_FAILURE].level = EVENT_LEVEL_WARNING;
|
||||||
|
events.entries[EVENT_CANFD_BUFFER_FULL].level = EVENT_LEVEL_WARNING;
|
||||||
events.entries[EVENT_CAN_OVERRUN].level = EVENT_LEVEL_INFO;
|
events.entries[EVENT_CAN_OVERRUN].level = EVENT_LEVEL_INFO;
|
||||||
events.entries[EVENT_CAN_RX_FAILURE].level = EVENT_LEVEL_ERROR;
|
events.entries[EVENT_CAN_RX_FAILURE].level = EVENT_LEVEL_ERROR;
|
||||||
events.entries[EVENT_CAN2_RX_FAILURE].level = EVENT_LEVEL_WARNING;
|
events.entries[EVENT_CAN2_RX_FAILURE].level = EVENT_LEVEL_WARNING;
|
||||||
|
@ -234,6 +235,8 @@ const char* get_event_message_string(EVENTS_ENUM_TYPE event) {
|
||||||
switch (event) {
|
switch (event) {
|
||||||
case EVENT_CANFD_INIT_FAILURE:
|
case EVENT_CANFD_INIT_FAILURE:
|
||||||
return "CAN-FD initialization failed. Check hardware or bitrate settings";
|
return "CAN-FD initialization failed. Check hardware or bitrate settings";
|
||||||
|
case EVENT_CANFD_BUFFER_FULL:
|
||||||
|
return "CAN-FD buffer overflowed. Some CAN messages were not sent. Contact developers.";
|
||||||
case EVENT_CAN_OVERRUN:
|
case EVENT_CAN_OVERRUN:
|
||||||
return "CAN message failed to send within defined time. Contact developers, CPU load might be too high.";
|
return "CAN message failed to send within defined time. Contact developers, CPU load might be too high.";
|
||||||
case EVENT_CAN_RX_FAILURE:
|
case EVENT_CAN_RX_FAILURE:
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
// #define INCLUDE_EVENTS_TEST // Enable to run an event test loop, see events_test_on_target.cpp
|
// #define INCLUDE_EVENTS_TEST // Enable to run an event test loop, see events_test_on_target.cpp
|
||||||
|
|
||||||
#define EE_MAGIC_HEADER_VALUE 0x0012 // 0x0000 to 0xFFFF
|
#define EE_MAGIC_HEADER_VALUE 0x0013 // 0x0000 to 0xFFFF
|
||||||
|
|
||||||
#define GENERATE_ENUM(ENUM) ENUM,
|
#define GENERATE_ENUM(ENUM) ENUM,
|
||||||
#define GENERATE_STRING(STRING) #STRING,
|
#define GENERATE_STRING(STRING) #STRING,
|
||||||
|
@ -27,6 +27,7 @@
|
||||||
|
|
||||||
#define EVENTS_ENUM_TYPE(XX) \
|
#define EVENTS_ENUM_TYPE(XX) \
|
||||||
XX(EVENT_CANFD_INIT_FAILURE) \
|
XX(EVENT_CANFD_INIT_FAILURE) \
|
||||||
|
XX(EVENT_CANFD_BUFFER_FULL) \
|
||||||
XX(EVENT_CAN_OVERRUN) \
|
XX(EVENT_CAN_OVERRUN) \
|
||||||
XX(EVENT_CAN_RX_FAILURE) \
|
XX(EVENT_CAN_RX_FAILURE) \
|
||||||
XX(EVENT_CAN2_RX_FAILURE) \
|
XX(EVENT_CAN2_RX_FAILURE) \
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue