mirror of
https://github.com/dalathegreat/Battery-Emulator.git
synced 2025-10-03 17:59:27 +02:00
Add event for blown fuse
This commit is contained in:
parent
cad8fe617a
commit
035831f2bf
3 changed files with 10 additions and 1 deletions
|
@ -454,6 +454,11 @@ void handle_incoming_can_frame_battery(CAN_frame rx_frame) {
|
|||
case 0x2E:
|
||||
if (requested_poll == GROUP1_CELLVOLTAGES_1_POLL) {
|
||||
cellvoltages[47] = (highbyte_cell_next_frame << 8) | rx_frame.data.u8[1];
|
||||
if (cellvoltages[47] < 100) { //This cell measurement is inbetween pack halves. If low, fuse blown
|
||||
set_event(EVENT_BATTERY_FUSE, cellvoltages[47]);
|
||||
} else {
|
||||
clear_event(EVENT_BATTERY_FUSE);
|
||||
}
|
||||
cellvoltages[48] = (rx_frame.data.u8[2] << 8) | rx_frame.data.u8[3];
|
||||
cellvoltages[49] = (rx_frame.data.u8[4] << 8) | rx_frame.data.u8[5];
|
||||
cellvoltages[50] = (rx_frame.data.u8[6] << 8) | rx_frame.data.u8[7];
|
||||
|
|
|
@ -153,6 +153,7 @@ void init_events(void) {
|
|||
events.entries[EVENT_BALANCING_END].level = EVENT_LEVEL_INFO;
|
||||
events.entries[EVENT_BATTERY_EMPTY].level = EVENT_LEVEL_INFO;
|
||||
events.entries[EVENT_BATTERY_FULL].level = EVENT_LEVEL_INFO;
|
||||
events.entries[EVENT_BATTERY_FUSE].level = EVENT_LEVEL_WARNING;
|
||||
events.entries[EVENT_BATTERY_FROZEN].level = EVENT_LEVEL_INFO;
|
||||
events.entries[EVENT_BATTERY_CAUTION].level = EVENT_LEVEL_INFO;
|
||||
events.entries[EVENT_BATTERY_CHG_STOP_REQ].level = EVENT_LEVEL_ERROR;
|
||||
|
@ -304,6 +305,8 @@ const char* get_event_message_string(EVENTS_ENUM_TYPE event) {
|
|||
return "Battery is completely discharged";
|
||||
case EVENT_BATTERY_FULL:
|
||||
return "Battery is fully charged";
|
||||
case EVENT_BATTERY_FUSE:
|
||||
return "Battery internal fuse blown. Inspect battery";
|
||||
case EVENT_BATTERY_FROZEN:
|
||||
return "Battery is too cold to operate optimally. Consider warming it up!";
|
||||
case EVENT_BATTERY_CAUTION:
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
// #define INCLUDE_EVENTS_TEST // Enable to run an event test loop, see events_test_on_target.cpp
|
||||
|
||||
#define EE_MAGIC_HEADER_VALUE 0x0020 // 0x0000 to 0xFFFF
|
||||
#define EE_MAGIC_HEADER_VALUE 0x0021 // 0x0000 to 0xFFFF
|
||||
|
||||
#define GENERATE_ENUM(ENUM) ENUM,
|
||||
#define GENERATE_STRING(STRING) #STRING,
|
||||
|
@ -49,6 +49,7 @@
|
|||
XX(EVENT_BALANCING_END) \
|
||||
XX(EVENT_BATTERY_EMPTY) \
|
||||
XX(EVENT_BATTERY_FULL) \
|
||||
XX(EVENT_BATTERY_FUSE) \
|
||||
XX(EVENT_BATTERY_FROZEN) \
|
||||
XX(EVENT_BATTERY_CAUTION) \
|
||||
XX(EVENT_BATTERY_CHG_STOP_REQ) \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue