Changeset 28 for trunk/fw_g473rct/SES/src/wh_counter.c
- Timestamp:
- Sep 11, 2025, 4:17:09 PM (7 weeks ago)
- File:
-
- 1 edited
-
trunk/fw_g473rct/SES/src/wh_counter.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/fw_g473rct/SES/src/wh_counter.c
r26 r28 41 41 if (totalCharge == 0) totalCharge = sys_data.s.values.chargeTotalWh * 3600000; 42 42 43 double cefwh; 44 if (sys_data.s.values.calculatedCEFWh < 0) 45 { 46 cefwh = sys_data.s.parameter.cef / 100.0; 47 } 48 else 49 { 50 cefwh = sys_data.s.values.calculatedCEFWh / 1000.0; 51 } 52 53 double realStrom; 54 realStrom = (int32_t) sys_data.s.values.batteryCurrent - sys_data.s.parameter.extraDischargeStrom_mA; 55 43 56 //------------ separater CEF ----------- 44 57 // bei Strom größer 0 -> Ladestrom CEF rechnen 45 if (sys_data.s.values.batteryCurrent >= 0) { 46 // 99 --> 99% --> 0.99 47 int32_t cefW = sys_data.s.parameter.cefW; 48 sys_data.s.values.correctedStromForChargeWhCnt = (sys_data.s.values.batteryCurrent * cefW) / 100; 49 sys_data.s.values.correctedStromForChargeWhCnt -= sys_data.s.parameter.extraDischargeStrom_mA; 50 } else { 58 if (realStrom >= 0) {// 99 --> 99% --> 0.99 59 sys_data.s.values.correctedStromForChargeWhCnt = (realStrom * cefwh) ; 60 } 61 else 62 { 51 63 sys_data.s.values.correctedStromForChargeWhCnt = sys_data.s.values.batteryCurrentCorrected; 52 64 } … … 150 162 return (int32_t)SoC; 151 163 } 164 152 165 153 166 int32_t WH_COUNTER_GetSoCAutoTemp(void) { … … 171 184 // dazu zunächst den Mittelwert der noch verbleibenden Spannung vom aktuellen Zeitpunkt bis zur Abschaltung ermittelndazu 172 185 int64_t avgVoltage = (sys_data.s.values.batteryVoltage + sys_data.s.values.uBatEmptyTempComp) / 2; 186 173 187 174 188 //Jetzt mit der verbleibene Kapazität die verbleibene Energie unter den aktuellen Bedingungen ermitteln (Spannung bei akt. Temp)
Note: See TracChangeset
for help on using the changeset viewer.
