Changeset 26 for trunk/fw_g473rct/SES/src/eeprom.c
- Timestamp:
- Sep 8, 2025, 6:57:30 PM (7 weeks ago)
- File:
-
- 1 edited
-
trunk/fw_g473rct/SES/src/eeprom.c (modified) (16 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/fw_g473rct/SES/src/eeprom.c
r25 r26 4 4 #include "stdio.h" 5 5 #include "math.h" 6 #include "modbus.h" 6 7 7 8 #define CONCAT(a, b) CONCAT_INNER(a, b) // These three macros … … 57 58 uint32_t currentGain; 58 59 60 int32_t currentOffsetFast; 61 uint32_t currentGainFast; 62 59 63 int64_t mAsCounter; 60 64 int32_t detectedCapacity; … … 97 101 uint16_t cefW; 98 102 99 100 103 } eeprom_data_t; 101 104 … … 136 139 137 140 // Data to store reated defines 138 //#define SIZEOF_DEFAULT_EEPROM_DATA (sizeof(eeprom_new_data_t))141 //#define SIZEOF_DEFAULT_EEPROM_DATA (sizeof(eeprom_new_data_t)) 139 142 #define SIZEOF_CHANGED_EEPROM_DATA (sizeof(eeprom_data_t)) 140 143 #define SIZEOF_DEVICE_INFO (sizeof(device_info_t)) … … 156 159 static uint32_t GetPage(uint32_t Address); 157 160 static HAL_StatusTypeDef getEEPROMData(uint32_t address, uint8_t * data, uint32_t len); 158 159 161 void EEPROM_Read (uint16_t page, uint16_t offset, uint8_t *data, uint16_t size); 160 162 void EEPROM_Write (uint16_t page, uint16_t offset, uint8_t *data, uint16_t size); … … 162 164 163 165 164 165 166 // muss modulo 8 noch hinzufügen wg 8 byte alignement 166 167 static uint8_t eepromData[SIZE_OF_DATA_TO_STORE]; … … 174 175 175 176 /* baudrate */ 19200, // uint32_t baudrate; 176 /* parityMode */ 0,// uint16_t parityMode;177 /* parityMode */ MODBUS_UART_PARITY_EVEN, // uint16_t parityMode; 177 178 /* stopBits */ 1, // uint16_t stopBits; 178 179 /* slave_adress */ 1, // uint16_t slave_adress; … … 202 203 /* currentGain */ 1000000, //uint32_t currentGain; 203 204 205 /* currentOffsetFast */ 0, //int32_t currentOffset; 206 /* currentGainFast */ 1000000, //uint32_t currentGain; 207 204 208 /* mAsCounter */ 0, // mAsCounter 205 209 /* detectedCapacity */ -1, // detectedCapacity … … 212 216 /* cef */ 99, // cef 213 217 /* peukert */ 105, // peukert 214 /* cellCapacity */ 1 00000, // cell Capacity in mAh215 /* cellEnergy */ 2 640000, // cell energy in mWh216 /* iBatFull */ 10, // I-batt full 4% 4A bei 100Ah akku218 /* cellCapacity */ 160000, // cell Capacity in mAh 219 /* cellEnergy */ 2048000, // cell energy in mWh 220 /* iBatFull */ 10, // I-batt full 10%, 10A bei 100Ah akku 217 221 /* tBatFull */ 2, // t-batt full 2 Sekunden 218 /* uBatFull */ 14000, // 14Volt Ubatt full219 /* uBatEmpty */ 12500,// 11,312V Ubatt Empty222 /* uBatFull */ 0, // 14V olt Ubatt full, Neu: Bei 0: Erkung von Lipro LVP als 0% 223 /* uBatEmpty */ -1, // 11,312V Ubatt Empty 220 224 /* socCalcMode */ 1, // SoC calculation mode: 0(default) 221 225 /* cellRatedDischargeTime */ 2, // cell rated current discharge time [C/x]. For example, if 40Ah cell is rated as 0.5c, then rated discharge time is 2 … … 223 227 /* lvpStart */ 12000, // uint16_t lvpStart; Spannung ab der die LOW Voltage Protection aktiv wird in mV 224 228 /* lvpStop */ 12500, // uint16_t lvpStop; Spannung ab der die LOW Voltage Protection wieder inaktiv wird 225 /* ovpStart */ 1 5000, // uint16_t ovpStart; Spannung ab der die OVER Voltage Protection aktiv wird in mV229 /* ovpStart */ 14800, // uint16_t ovpStart; Spannung ab der die OVER Voltage Protection aktiv wird in mV 226 230 /* ovpStop */ 14000, // uint16_t ovpStop; Spannung ab der die OVER Voltage Protection wieder inaktiv wird 227 231 … … 238 242 #error No valid device type 239 243 #endif 240 /* chargeStopHighTemperatureStart */ 7500, // 80°C int16_t chargeStopHighTemperatureStart; Abschalttemperatur Ladung wegen zu hoher Temperatur241 /* chargeStopHighTemperatureStop */ 7000, // 75°C int16_t chargeStopHighTemperatureStop; Wiedereinschalttemperatur242 /* chargeStopLowTemperatureStart */ -3 500, // -35°C int16_t chargeStopLowTemperatureStart; Abschalttemperatur Ladung wegen zu niedriger Temperatur243 /* chargeStopLowTemperatureStop */ - 3000, // -30°C int16_t chargeStopLowTemperatureStop; Wiedereinschalttemperatur244 /* dischargeStopHighTemperatureStart*/ 7500, // 80°C int16_t dischargeStopHighTemperatureStart; Abschalttemperatur Entladung wegen zu hoher Temperatur245 /* dischargeStopHighTemperatureStop */ 7000, // 75°C int16_t dischargeStopHighTemperatureStop; Wiedereinschalttemperatur244 /* chargeStopHighTemperatureStart */ 6000, // 80°C int16_t chargeStopHighTemperatureStart; Abschalttemperatur Ladung wegen zu hoher Temperatur 245 /* chargeStopHighTemperatureStop */ 5500, // 75°C int16_t chargeStopHighTemperatureStop; Wiedereinschalttemperatur 246 /* chargeStopLowTemperatureStart */ -3000, // -35°C int16_t chargeStopLowTemperatureStart; Abschalttemperatur Ladung wegen zu niedriger Temperatur 247 /* chargeStopLowTemperatureStop */ -2500, // -30°C int16_t chargeStopLowTemperatureStop; Wiedereinschalttemperatur 248 /* dischargeStopHighTemperatureStart*/ 6000, // 80°C int16_t dischargeStopHighTemperatureStart; Abschalttemperatur Entladung wegen zu hoher Temperatur 249 /* dischargeStopHighTemperatureStop */ 5500, // 75°C int16_t dischargeStopHighTemperatureStop; Wiedereinschalttemperatur 246 250 /* dischargeStopLowTemperatureStart */ -3500, // -35°C int16_t dischargeStopLowTemperatureStart; Abschalttemperatur EntLadung wegen zu niedriger Temperatur 247 251 /* dischargeStopLowTemperatureStop */ -3000, // -30°C int16_t dischargeStopLowTemperatureStop; Wiedereinschalttemperatur … … 330 334 dataToStore->changedData.currentGain = defaultEepromData.currentGain; 331 335 336 dataToStore->changedData.currentOffsetFast = defaultEepromData.currentOffsetFast; 337 dataToStore->changedData.currentGainFast = defaultEepromData.currentGainFast; 338 332 339 // AH Counter Parameter 333 340 dataToStore->changedData.cef = defaultEepromData.cef; … … 403 410 404 411 // Offset und Gain 405 dataToStore->changedData.currentOffset = data->s.parameter.batteryCurrentOffset;412 406 413 dataToStore->changedData.batteryCurrentOffsetRefTemperatureShunt = data->s.parameter.batteryCurrentOffsetRefTemperatureShunt; 407 414 dataToStore->changedData.batteryCurrentOffsetRefTemperatureChip = data->s.parameter.batteryCurrentOffsetRefTemperatureChip; … … 411 418 dataToStore->changedData.batteryCurrentOffsetTemperatureCalibrationTemperature = data->s.parameter.batteryCurrentOffsetTemperatureCalibrationTemperature; 412 419 dataToStore->changedData.batteryCurrentOffsetTemperatureCompensationFactor = data->s.parameter.batteryCurrentOffsetTemperatureCompensationFactor; 420 dataToStore->changedData.currentOffset = data->s.parameter.batteryCurrentOffset; 413 421 dataToStore->changedData.currentGain = data->s.parameter.batteryCurrentGainCorrectionFaktor; 422 dataToStore->changedData.currentOffsetFast = data->s.parameter.batteryCurrentOffsetFast; 423 dataToStore->changedData.currentGainFast = data->s.parameter.batteryCurrentGainCorrectionFaktorFast; 424 414 425 dataToStore->changedData.batteryCurrentGainRefTempShunt = data->s.parameter.batteryCurrentGainRefTempShunt; 415 426 dataToStore->changedData.batteryCurrentGainRefTempChip = data->s.parameter.batteryCurrentGainRefTempChip; … … 520 531 dataToStore->changedData.currentOffset = data->s.parameter.batteryCurrentOffset; 521 532 dataToStore->changedData.currentGain = data->s.parameter.batteryCurrentGainCorrectionFaktor; 533 534 dataToStore->changedData.currentOffsetFast = data->s.parameter.batteryCurrentOffsetFast; 535 dataToStore->changedData.currentGainFast = data->s.parameter.batteryCurrentGainCorrectionFaktorFast; 536 522 537 523 538 // AH COUNTER Einstellungen … … 616 631 data->s.parameter.batteryCurrentGainCorrectionFaktor = dataToStore->changedData.currentGain; 617 632 633 data->s.parameter.batteryCurrentOffsetFast = dataToStore->changedData.currentOffsetFast; 634 data->s.parameter.batteryCurrentGainCorrectionFaktorFast = dataToStore->changedData.currentGainFast; 635 618 636 //Einstellungenm für AH counter 619 637 data->s.parameter.cef = dataToStore ->changedData.cef;
Note: See TracChangeset
for help on using the changeset viewer.
