mirror of
https://github.com/dalathegreat/Battery-Emulator.git
synced 2025-10-05 02:39:57 +02:00
Add user customizable charge/discharge voltage
This commit is contained in:
parent
f5927db5b7
commit
d0dd6d22b3
1 changed files with 18 additions and 7 deletions
|
@ -164,11 +164,16 @@ void update_values_can_inverter() { //This function maps all the values fetched
|
||||||
}
|
}
|
||||||
|
|
||||||
//Map values to CAN messages
|
//Map values to CAN messages
|
||||||
|
|
||||||
//Battery operating parameters and status information
|
//Battery operating parameters and status information
|
||||||
//Recommended charge voltage (eg 400.0V = 4000 , 16bits long) (MIN 0, MAX 1000V)
|
if (datalayer.battery.settings.user_set_voltage_limits_active) { //If user is requesting a specific voltage
|
||||||
GROWATT_3110.data.u8[0] = (datalayer.battery.info.max_design_voltage_dV >> 8);
|
//User specified charge voltage (eg 400.0V = 4000 , 16bits long) (MIN 0, MAX 1000V)
|
||||||
GROWATT_3110.data.u8[1] = (datalayer.battery.info.max_design_voltage_dV & 0x00FF);
|
GROWATT_3110.data.u8[0] = (datalayer.battery.settings.max_user_set_charge_voltage_dV >> 8);
|
||||||
|
GROWATT_3110.data.u8[1] = (datalayer.battery.settings.max_user_set_charge_voltage_dV & 0x00FF);
|
||||||
|
} else {
|
||||||
|
//Battery max voltage used as charge voltage (eg 400.0V = 4000 , 16bits long) (MIN 0, MAX 1000V)
|
||||||
|
GROWATT_3110.data.u8[0] = (datalayer.battery.info.max_design_voltage_dV >> 8);
|
||||||
|
GROWATT_3110.data.u8[1] = (datalayer.battery.info.max_design_voltage_dV & 0x00FF);
|
||||||
|
}
|
||||||
//Charge limited current, 125 =12.5A (0.1, A) (Min 0, Max 300A)
|
//Charge limited current, 125 =12.5A (0.1, A) (Min 0, Max 300A)
|
||||||
GROWATT_3110.data.u8[2] = (datalayer.battery.status.max_charge_current_dA >> 8);
|
GROWATT_3110.data.u8[2] = (datalayer.battery.status.max_charge_current_dA >> 8);
|
||||||
GROWATT_3110.data.u8[3] = (datalayer.battery.status.max_charge_current_dA & 0x00FF);
|
GROWATT_3110.data.u8[3] = (datalayer.battery.status.max_charge_current_dA & 0x00FF);
|
||||||
|
@ -239,9 +244,15 @@ void update_values_can_inverter() { //This function maps all the values fetched
|
||||||
GROWATT_3140.data.u8[7] = 0;
|
GROWATT_3140.data.u8[7] = 0;
|
||||||
|
|
||||||
//Battery working parameters and module number information
|
//Battery working parameters and module number information
|
||||||
//Discharge cutoff voltage (0.1V) [0-1000V]
|
if (datalayer.battery.settings.user_set_voltage_limits_active) { //If user is requesting a specific voltage
|
||||||
GROWATT_3150.data.u8[0] = (datalayer.battery.info.min_design_voltage_dV >> 8);
|
//Use user specified voltage as Discharge cutoff voltage (0.1V) [0-1000V]
|
||||||
GROWATT_3150.data.u8[1] = (datalayer.battery.info.min_design_voltage_dV & 0x00FF);
|
GROWATT_3150.data.u8[0] = (datalayer.battery.settings.max_user_set_discharge_voltage_dV >> 8);
|
||||||
|
GROWATT_3150.data.u8[1] = (datalayer.battery.settings.max_user_set_discharge_voltage_dV & 0x00FF);
|
||||||
|
} else {
|
||||||
|
//Use battery min design voltage as Discharge cutoff voltage (0.1V) [0-1000V]
|
||||||
|
GROWATT_3150.data.u8[0] = (datalayer.battery.info.min_design_voltage_dV >> 8);
|
||||||
|
GROWATT_3150.data.u8[1] = (datalayer.battery.info.min_design_voltage_dV & 0x00FF);
|
||||||
|
}
|
||||||
//Main control unit temperature (0.1C) [-40 to 120*C]
|
//Main control unit temperature (0.1C) [-40 to 120*C]
|
||||||
GROWATT_3150.data.u8[2] = (datalayer.battery.status.temperature_max_dC >> 8);
|
GROWATT_3150.data.u8[2] = (datalayer.battery.status.temperature_max_dC >> 8);
|
||||||
GROWATT_3150.data.u8[3] = (datalayer.battery.status.temperature_max_dC & 0x00FF);
|
GROWATT_3150.data.u8[3] = (datalayer.battery.status.temperature_max_dC & 0x00FF);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue