Merge pull request #1405 from dalathegreat/bugfix/ix-startup-error

BMW iX, i4‐i7: Reduce startup events
This commit is contained in:
Daniel Öster 2025-08-13 13:57:09 +03:00 committed by GitHub
commit 17226d94ed
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 17 additions and 13 deletions

View file

@ -95,6 +95,10 @@ void BmwIXBattery::update_values() { //This function maps all the values fetche
datalayer.battery.status.cell_max_voltage_mV = max_cell_voltage; //Value is alive
}
if (terminal30_12v_voltage < 1100) { //11.000V
set_event(EVENT_12V_LOW, terminal30_12v_voltage);
}
datalayer.battery.info.max_design_voltage_dV = max_design_voltage;
datalayer.battery.info.min_design_voltage_dV = min_design_voltage;

View file

@ -532,25 +532,25 @@ CAN_frame BMWiX_49C = {.FD = true,
bool battery_info_available = false;
uint32_t battery_serial_number = 0;
int32_t battery_current = 0;
int16_t battery_voltage = 370; //Startup with valid values - needs fixing in future
int16_t terminal30_12v_voltage = 0;
int16_t battery_voltage_after_contactor = 0;
int16_t min_soc_state = 5000;
int16_t avg_soc_state = 5000;
int16_t max_soc_state = 5000;
int16_t min_soh_state = 9900; // Uses E5 45, also available in 78 73
int16_t avg_soh_state = 9900; // Uses E5 45, also available in 78 73
int16_t max_soh_state = 9900; // Uses E5 45, also available in 78 73
uint16_t battery_voltage = 3700; //Startup with valid values - needs fixing in future
uint16_t terminal30_12v_voltage = 1200;
uint16_t battery_voltage_after_contactor = 0;
uint16_t min_soc_state = 5000;
uint16_t avg_soc_state = 5000;
uint16_t max_soc_state = 5000;
uint16_t min_soh_state = 9900; // Uses E5 45, also available in 78 73
uint16_t avg_soh_state = 9900; // Uses E5 45, also available in 78 73
uint16_t max_soh_state = 9900; // Uses E5 45, also available in 78 73
uint16_t max_design_voltage = 0;
uint16_t min_design_voltage = 0;
int32_t remaining_capacity = 0;
int32_t max_capacity = 0;
uint32_t remaining_capacity = 0;
uint32_t max_capacity = 0;
int16_t min_battery_temperature = 0;
int16_t avg_battery_temperature = 0;
int16_t max_battery_temperature = 0;
int16_t main_contactor_temperature = 0;
int16_t min_cell_voltage = 3700; //Startup with valid values - needs fixing in future
int16_t max_cell_voltage = 3700; //Startup with valid values - needs fixing in future
uint16_t min_cell_voltage = 3700; //Startup with valid values - needs fixing in future
uint16_t max_cell_voltage = 3700; //Startup with valid values - needs fixing in future
unsigned long min_cell_voltage_lastchanged = 0;
unsigned long max_cell_voltage_lastchanged = 0;
unsigned min_cell_voltage_lastreceived = 0;