Changeset 26 for trunk/fw_g473rct/Core/Src/main.c
- Timestamp:
- Sep 8, 2025, 6:57:30 PM (7 weeks ago)
- File:
-
- 1 edited
-
trunk/fw_g473rct/Core/Src/main.c (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/fw_g473rct/Core/Src/main.c
r25 r26 183 183 } 184 184 185 LoadBackupRegister(); 186 187 185 188 // Modbus Initialisierung 186 189 mbInit(&modbusData, sys_data.s.parameter.baudrate, sys_data.s.parameter.parityMode, sys_data.s.parameter.stopBit, &huart2); … … 241 244 } 242 245 243 LoadBackupRegister();246 244 247 /* USER CODE END 2 */ 245 248 … … 255 258 //Mit ADC_DIV2,Sample time 12,5Cycklen, ADC Clock 50Mhz, Oversampling 256 256 259 //Tconv = 6400 Takte = 0,128ms Pro Konvertierung. Also für 100 messwerte 12,8mS 257 BATTERY_VOLTAGE_Exec( adc12Data[0][1]); 258 FAST_CURRENT_Exec(adc12Data[0][0]); 259 sys_data.s.values.esrCalcStatus = ESR_FAST_Exec(); 260 BATTERY_VOLTAGE_Exec( adc12Data[SAMPLE_ARRAY_SIZE-1][1]); 261 FAST_CURRENT_Exec(adc12Data[SAMPLE_ARRAY_SIZE-1][0]); 262 ESR_FAST_Exec(); 263 sys_data.s.values.batteryPower = ((int64_t) sys_data.s.values.batteryVoltage * (int64_t)sys_data.s.values.batteryCurrent) / 1000LL; 264 sys_data.s.values.power_Fast = ((int64_t) sys_data.s.values.batteryVoltage * (int64_t)sys_data.s.values.fast_current) / 1000LL; 260 265 newADC12Data = 0; 266 267 268 if (HAL_ADCEx_MultiModeStart_DMA(&hadc1,(uint32_t *)adc12Data,SAMPLE_ARRAY_SIZE)) //Start ADC interleaved mode 269 { 270 /* Start Error */ 271 Error_Handler(); 272 } 261 273 262 274 } … … 287 299 { 288 300 ADS1260_ConversionFinished(); 289 ESR_Exec();301 sys_data.s.values.esrCalcStatus = ESR_Exec(); 290 302 291 303 newCurrentValue = 0; … … 316 328 317 329 sys_data.s.values.onTime++; 330 sys_data.s.values.lastTimeVbatEmpty++; 331 sys_data.s.values.lastTimeVbatFull++; 318 332 // Funktions Led blinken 319 333 if (silentmode == 0) … … 358 372 case COMMAND_STORE_WITH_SERIAL_NUMBER: EEPROM_storeConfig(&sys_data,1); break; // Seriennummer schreiben 359 373 case COMMAND_RESTART: NVIC_SystemReset(); break; 360 case COMMAND_BATTERY_CURRENT_OFFSET_CAL: ADS_1260_BatteryCurrentOffsetCalibrationStart(&sys_data); break; 374 case COMMAND_BATTERY_CURRENT_OFFSET_CAL: 375 ADS_1260_BatteryCurrentOffsetCalibrationStart(&sys_data); 376 CurrentOffsetCal(adc12Data[SAMPLE_ARRAY_SIZE - 1][0]); 377 break; 361 378 case COMMAND_BATTERY_CURRENT_OFFSET_COMMONMODE_CAL: ADS_1260_BatteryCurrentOffsetCommonModeErrorComepensationStart(&sys_data); break; 362 379 case COMMAND_BATTERY_CURRENT_OFFSET_TEMP_CAL: ADS_1260_BatteryCurrentOffsetTemperatureErrorComepensationStart(); break; 363 case COMMAND_BATTERY_CURRENT_GAIN_CAL: ADS_1260_BatteryCurrentGainCalibrationStart(&sys_data); break; 380 case COMMAND_BATTERY_CURRENT_GAIN_CAL: 381 ADS_1260_BatteryCurrentGainCalibrationStart(&sys_data); 382 CurrentGainCal(adc12Data[SAMPLE_ARRAY_SIZE - 1][0]); 383 break; 364 384 case COMMAND_BATTERY_CURRENT_GAIN_TEMP_SHUNT_CAL: ADS_1260_BatteryCurrentGainTemperatureCalibrationShuntStart(); break; 365 385 // case COMMAND_BATTERY_CURRENT_GAIN_TEMP_CHIP_CAL: ADS_1260_BatteryCurrentGainTemperatureCalibrationChipStart(); break; … … 450 470 RCC_OscInitStruct.PLL.PLLM = RCC_PLLM_DIV2; 451 471 RCC_OscInitStruct.PLL.PLLN = 16; 452 RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV 4;472 RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV8; 453 473 RCC_OscInitStruct.PLL.PLLQ = RCC_PLLQ_DIV2; 454 474 RCC_OscInitStruct.PLL.PLLR = RCC_PLLR_DIV2; … … 480 500 printf("BackupRegisterData available\r\n"); 481 501 sys_data.s.values.dischargeTotalAh = HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR2); 502 503 sys_data.s.values.chargeTotalAh = HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR3); 504 sys_data.s.values.dischargeTotalWh = HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR4); 505 sys_data.s.values.chargeTotalWh = HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR5); 506 507 sys_data.s.values.onTime = HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR6); 508 509 510 sys_data.s.values.detectedCapacity = HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR7); 511 sys_data.s.values.detectedEnergy = HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR8); 512 513 514 sys_data.s.values.mAh_AutoMode = (int32_t) HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR9); 515 sys_data.s.values.mWh_AutoMode = (int32_t) HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR10); 516 sys_data.s.values.mAhCounter = (int32_t) HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR11); 517 518 519 520 sys_data.s.values.mAs_AutoMode = sys_data.s.values.mAh_AutoMode * 3600LL; 521 sys_data.s.values.mWs_AutoMode = sys_data.s.values.mWh_AutoMode * 3600LL; 522 sys_data.s.values.mAsCounter = sys_data.s.values.mAhCounter * 3600LL; 523 524 482 525 } 483 526 … … 514 557 515 558 516 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR 8, sys_data.s.values.mAh_AutoMode);517 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR 8, sys_data.s.values.mWh_AutoMode);518 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR 8, sys_data.s.values.mAhCounter);559 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR9, sys_data.s.values.mAh_AutoMode); 560 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR10, sys_data.s.values.mWh_AutoMode); 561 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR11, sys_data.s.values.mAhCounter); 519 562 520 563
Note: See TracChangeset
for help on using the changeset viewer.
