mirror of
https://github.com/dalathegreat/Battery-Emulator.git
synced 2025-10-03 09:49:32 +02:00
Add Interlock event incase connectors not seated
This commit is contained in:
parent
a0c1a2f8fd
commit
3fff2bde2b
2 changed files with 11 additions and 3 deletions
|
@ -59,6 +59,12 @@ void RenaultZoeGen2Battery::update_values() {
|
|||
set_event(EVENT_12V_LOW, battery_12v);
|
||||
}
|
||||
|
||||
if (battery_interlock != 0xFFFE) {
|
||||
set_event(EVENT_HVIL_FAILURE, 0);
|
||||
} else {
|
||||
clear_event(EVENT_HVIL_FAILURE);
|
||||
}
|
||||
|
||||
// Update webserver datalayer
|
||||
datalayer_extended.zoePH2.battery_soc = battery_soc;
|
||||
datalayer_extended.zoePH2.battery_usable_soc = battery_usable_soc;
|
||||
|
@ -71,7 +77,7 @@ void RenaultZoeGen2Battery::update_values() {
|
|||
datalayer_extended.zoePH2.battery_min_temp = battery_min_temp;
|
||||
datalayer_extended.zoePH2.battery_max_temp = battery_max_temp;
|
||||
datalayer_extended.zoePH2.battery_max_power = battery_max_power;
|
||||
datalayer_extended.zoePH2.battery_interlock = battery_interlock;
|
||||
datalayer_extended.zoePH2.battery_interlock = battery_interlock_polled;
|
||||
datalayer_extended.zoePH2.battery_kwh = battery_kwh;
|
||||
datalayer_extended.zoePH2.battery_current = battery_current;
|
||||
datalayer_extended.zoePH2.battery_current_offset = battery_current_offset;
|
||||
|
@ -106,6 +112,7 @@ void RenaultZoeGen2Battery::handle_incoming_can_frame(CAN_frame rx_frame) {
|
|||
switch (rx_frame.ID) {
|
||||
case 0x0F8:
|
||||
datalayer_battery->status.CAN_battery_still_alive = CAN_STILL_ALIVE;
|
||||
battery_interlock = (rx_frame.data.u8[0] << 8) | rx_frame.data.u8[1]; //Expected FF FE
|
||||
battery_pack_voltage_periodic_dV = ((rx_frame.data.u8[4] << 8) | rx_frame.data.u8[5]) / 8;
|
||||
break;
|
||||
case 0x3EF:
|
||||
|
@ -192,7 +199,7 @@ void RenaultZoeGen2Battery::handle_incoming_can_frame(CAN_frame rx_frame) {
|
|||
battery_max_power = (rx_frame.data.u8[4] << 8) | rx_frame.data.u8[5];
|
||||
break;
|
||||
case POLL_INTERLOCK:
|
||||
battery_interlock = (rx_frame.data.u8[4] << 8) | rx_frame.data.u8[5];
|
||||
battery_interlock_polled = (rx_frame.data.u8[4] << 8) | rx_frame.data.u8[5];
|
||||
break;
|
||||
case POLL_KWH:
|
||||
battery_kwh = (rx_frame.data.u8[4] << 8) | rx_frame.data.u8[5];
|
||||
|
|
|
@ -206,7 +206,8 @@ class RenaultZoeGen2Battery : public CanBattery {
|
|||
uint16_t battery_min_temp = 920;
|
||||
uint16_t battery_max_temp = 920;
|
||||
uint16_t battery_max_power = 0;
|
||||
uint16_t battery_interlock = 0;
|
||||
uint16_t battery_interlock = 0xFFFE;
|
||||
uint16_t battery_interlock_polled = 0;
|
||||
uint16_t battery_kwh = 0;
|
||||
int32_t battery_current = 32640;
|
||||
uint16_t battery_current_offset = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue