mirror of
https://github.com/dalathegreat/Battery-Emulator.git
synced 2025-10-03 09:49:32 +02:00
Add more to datalayer
This commit is contained in:
parent
35f88a8fe2
commit
94cd005f84
3 changed files with 43 additions and 12 deletions
|
@ -46,9 +46,9 @@ static uint16_t soc_z = 0;
|
|||
static uint16_t soc_u = 0;
|
||||
static uint16_t max_regen_power = 0;
|
||||
static uint16_t max_discharge_power = 0;
|
||||
static uint16_t average_temperature = 0;
|
||||
static uint16_t minimum_temperature = 0;
|
||||
static uint16_t maximum_temperature = 0;
|
||||
static int16_t average_temperature = 0;
|
||||
static int16_t minimum_temperature = 0;
|
||||
static int16_t maximum_temperature = 0;
|
||||
static uint16_t maximum_charge_power = 0;
|
||||
static uint16_t SOH_available_power = 0;
|
||||
static uint16_t SOH_generated_power = 0;
|
||||
|
@ -121,9 +121,19 @@ void update_values_battery() { //This function maps all the values fetched via
|
|||
}
|
||||
|
||||
// Update webserver datalayer
|
||||
datalayer_extended.CMFAEV.soc_u = soc_u;
|
||||
datalayer_extended.CMFAEV.soc_z = soc_z;
|
||||
datalayer_extended.CMFAEV.lead_acid_voltage = lead_acid_voltage;
|
||||
datalayer_extended.CMFAEV.highest_cell_voltage_number = highest_cell_voltage_number;
|
||||
datalayer_extended.CMFAEV.lowest_cell_voltage_number = lowest_cell_voltage_number;
|
||||
datalayer_extended.CMFAEV.max_regen_power = max_regen_power;
|
||||
datalayer_extended.CMFAEV.max_discharge_power = max_discharge_power;
|
||||
datalayer_extended.CMFAEV.average_temperature = average_temperature;
|
||||
datalayer_extended.CMFAEV.minimum_temperature = minimum_temperature;
|
||||
datalayer_extended.CMFAEV.maximum_temperature = maximum_temperature;
|
||||
datalayer_extended.CMFAEV.maximum_charge_power = maximum_charge_power;
|
||||
datalayer_extended.CMFAEV.SOH_available_power = SOH_available_power;
|
||||
datalayer_extended.CMFAEV.SOH_generated_power = SOH_generated_power;
|
||||
datalayer_extended.CMFAEV.cumulative_energy_when_discharging = cumulative_energy_when_discharging;
|
||||
datalayer_extended.CMFAEV.cumulative_energy_when_charging = cumulative_energy_when_charging;
|
||||
datalayer_extended.CMFAEV.cumulative_energy_in_regen = cumulative_energy_in_regen;
|
||||
|
@ -225,13 +235,13 @@ void handle_incoming_can_frame_battery(CAN_frame rx_frame) {
|
|||
lead_acid_voltage = (uint16_t)((rx_frame.data.u8[4] << 8) | rx_frame.data.u8[5]);
|
||||
break;
|
||||
case PID_POLL_AVERAGE_TEMPERATURE:
|
||||
average_temperature = (uint16_t)((rx_frame.data.u8[4] << 8) | rx_frame.data.u8[5]);
|
||||
average_temperature = ((((rx_frame.data.u8[4] << 8) | rx_frame.data.u8[5]) - 400) / 2);
|
||||
break;
|
||||
case PID_POLL_MIN_TEMPERATURE:
|
||||
minimum_temperature = (uint16_t)((rx_frame.data.u8[4] << 8) | rx_frame.data.u8[5]);
|
||||
minimum_temperature = ((((rx_frame.data.u8[4] << 8) | rx_frame.data.u8[5]) - 400) / 2);
|
||||
break;
|
||||
case PID_POLL_MAX_TEMPERATURE:
|
||||
maximum_temperature = (uint16_t)((rx_frame.data.u8[4] << 8) | rx_frame.data.u8[5]);
|
||||
maximum_temperature = ((((rx_frame.data.u8[4] << 8) | rx_frame.data.u8[5]) - 400) / 2);
|
||||
break;
|
||||
case PID_POLL_MAX_CHARGE_POWER:
|
||||
maximum_charge_power = (uint16_t)((rx_frame.data.u8[4] << 8) | rx_frame.data.u8[5]);
|
||||
|
|
|
@ -253,13 +253,23 @@ typedef struct {
|
|||
} DATALAYER_INFO_CELLPOWER;
|
||||
|
||||
typedef struct {
|
||||
uint16_t soc_z = 0;
|
||||
uint16_t soc_u = 0;
|
||||
uint16_t soh_average = 0;
|
||||
uint16_t max_regen_power = 0;
|
||||
uint16_t max_discharge_power = 0;
|
||||
int16_t average_temperature = 0;
|
||||
int16_t minimum_temperature = 0;
|
||||
int16_t maximum_temperature = 0;
|
||||
uint16_t maximum_charge_power = 0;
|
||||
uint16_t SOH_available_power = 0;
|
||||
uint16_t SOH_generated_power = 0;
|
||||
uint16_t lead_acid_voltage = 0;
|
||||
uint8_t highest_cell_voltage_number = 0;
|
||||
uint8_t lowest_cell_voltage_number = 0;
|
||||
uint64_t cumulative_energy_when_discharging = 0;
|
||||
uint64_t cumulative_energy_when_charging = 0;
|
||||
uint64_t cumulative_energy_in_regen = 0;
|
||||
uint16_t soh_average = 0;
|
||||
} DATALAYER_INFO_CMFAEV;
|
||||
|
||||
typedef struct {
|
||||
|
|
|
@ -433,16 +433,27 @@ String advanced_battery_processor(const String& var) {
|
|||
#endif //CELLPOWER_BMS
|
||||
|
||||
#ifdef CMFA_EV_BATTERY
|
||||
content += "<h4>SOH Average: " + String(datalayer_extended.CMFAEV.soh_average) + "</h4>";
|
||||
content += "<h4>12V voltage: " + String(datalayer_extended.CMFAEV.lead_acid_voltage) + "</h4>";
|
||||
content += "<h4>SOC U: " + String(datalayer_extended.CMFAEV.soc_u) + "percent</h4>";
|
||||
content += "<h4>SOC Z: " + String(datalayer_extended.CMFAEV.soc_z) + "percent</h4>";
|
||||
content += "<h4>SOH Average: " + String(datalayer_extended.CMFAEV.soh_average) + "pptt</h4>";
|
||||
content += "<h4>12V voltage: " + String(datalayer_extended.CMFAEV.lead_acid_voltage) + "mV</h4>";
|
||||
content += "<h4>Highest cell number: " + String(datalayer_extended.CMFAEV.highest_cell_voltage_number) + "</h4>";
|
||||
content += "<h4>Lowest cell number: " + String(datalayer_extended.CMFAEV.lowest_cell_voltage_number) + "</h4>";
|
||||
content += "<h4>Max regen power: " + String(datalayer_extended.CMFAEV.max_regen_power) + "</h4>";
|
||||
content += "<h4>Max discharge power: " + String(datalayer_extended.CMFAEV.max_discharge_power) + "</h4>";
|
||||
content += "<h4>Max charge power: " + String(datalayer_extended.CMFAEV.maximum_charge_power) + "</h4>";
|
||||
content += "<h4>SOH available power: " + String(datalayer_extended.CMFAEV.SOH_available_power) + "</h4>";
|
||||
content += "<h4>SOH generated power: " + String(datalayer_extended.CMFAEV.SOH_generated_power) + "</h4>";
|
||||
content += "<h4>Average temperature: " + String(datalayer_extended.CMFAEV.average_temperature) + "dC</h4>";
|
||||
content += "<h4>Maximum temperature: " + String(datalayer_extended.CMFAEV.maximum_temperature) + "dC</h4>";
|
||||
content += "<h4>Minimum temperature: " + String(datalayer_extended.CMFAEV.minimum_temperature) + "dC</h4>";
|
||||
content +=
|
||||
"<h4>Cumulative energy discharged: " + String(datalayer_extended.CMFAEV.cumulative_energy_when_discharging) +
|
||||
"</h4>";
|
||||
"Wh</h4>";
|
||||
content += "<h4>Cumulative energy charged: " + String(datalayer_extended.CMFAEV.cumulative_energy_when_charging) +
|
||||
"Wh</h4>";
|
||||
content +=
|
||||
"<h4>Cumulative energy charged: " + String(datalayer_extended.CMFAEV.cumulative_energy_when_charging) + "</h4>";
|
||||
content += "<h4>Cumulative energy regen: " + String(datalayer_extended.CMFAEV.cumulative_energy_in_regen) + "</h4>";
|
||||
"<h4>Cumulative energy regen: " + String(datalayer_extended.CMFAEV.cumulative_energy_in_regen) + "Wh</h4>";
|
||||
#endif //CMFA_EV_BATTERY
|
||||
|
||||
#ifdef KIA_HYUNDAI_64_BATTERY
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue