Simplify capacity calculation and initial values

This commit is contained in:
Daniel Öster 2025-09-09 21:15:35 +03:00
parent fc109cd954
commit ac153ec901
2 changed files with 3 additions and 3 deletions

View file

@ -22,8 +22,8 @@ void RivianBattery::update_values() {
datalayer.battery.status.voltage_dV = battery_voltage;
datalayer.battery.status.current_dA = ((int16_t)battery_current / 10.0 - 3200) * 10;
datalayer.battery.info.total_capacity_Wh = kWh_available_total * 5;
datalayer.battery.status.remaining_capacity_Wh = kWh_available_max * 5;
datalayer.battery.status.remaining_capacity_Wh = static_cast<uint32_t>(
(static_cast<double>(datalayer.battery.status.real_soc) / 10000) * datalayer.battery.info.total_capacity_Wh);
//static lower limits for testing
// datalayer.battery.info.total_capacity_Wh = 10000;

View file

@ -20,7 +20,7 @@ class RivianBattery : public CanBattery {
uint8_t BMS_state = 0;
uint16_t battery_voltage = 3700;
uint16_t battery_SOC = 5000;
int32_t battery_current = 0;
int32_t battery_current = 32000;
uint16_t kWh_available_total = 135;
uint16_t kWh_available_max = 135;
int16_t battery_min_temperature = 0;