Changeset 26 for trunk/fw_g473rct/SES/src/fast_current.c
- Timestamp:
- Sep 8, 2025, 6:57:30 PM (7 weeks ago)
- File:
-
- 1 edited
-
trunk/fw_g473rct/SES/src/fast_current.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/fw_g473rct/SES/src/fast_current.c
r25 r26 32 32 33 33 // --- GLOBALE FUNKTIONEN - bitte in Header dokumentieren------------------------ 34 void CurrentOffsetCal(uint32_t newVal) 35 { 36 sys_data.s.parameter.batteryCurrentOffsetFast = newVal-FAST_CURRENT_ADC_OFFSET; 37 } 34 38 39 void CurrentGainCal(uint32_t newVal) 40 { 41 double correction; 42 double valWithoutGainCorrection; 35 43 44 valWithoutGainCorrection = ((int32_t) newVal - FAST_CURRENT_ADC_OFFSET - sys_data.s.parameter.batteryCurrentOffsetFast) * VREF ; 45 valWithoutGainCorrection = valWithoutGainCorrection / FAST_CURRENT_ADC_RESOLUTION; 46 valWithoutGainCorrection = valWithoutGainCorrection / FAST_CURRENT_I_SENSE_GAIN ; 47 valWithoutGainCorrection = valWithoutGainCorrection / FAST_CURRENT_SHUNT_RESISTOR ; 48 49 correction = (double) sys_data.s.parameter.batteryCurrentGainRefCurrent / valWithoutGainCorrection; 50 sys_data.s.parameter.batteryCurrentGainCorrectionFaktorFast = correction * 1000000; 51 52 } 36 53 void FAST_CURRENT_Exec(uint32_t newVal ) 37 54 { … … 39 56 //Umrechung auf Strom 40 57 double temp_current; 41 temp_current = ((int32_t) newVal - FAST_CURRENT_ADC_OFFSET ) * VREF ;58 temp_current = ((int32_t) newVal - FAST_CURRENT_ADC_OFFSET - sys_data.s.parameter.batteryCurrentOffsetFast) * VREF ; 42 59 temp_current = temp_current / FAST_CURRENT_ADC_RESOLUTION; 43 60 temp_current = temp_current / FAST_CURRENT_I_SENSE_GAIN ; 44 61 temp_current = temp_current / FAST_CURRENT_SHUNT_RESISTOR ; 45 sys_data.s.values.fast_current = temp_current * (sys_data.s.parameter.batteryCurrentGainCorrectionFaktor / 1000000.0);62 sys_data.s.values.fast_current = temp_current * (sys_data.s.parameter.batteryCurrentGainCorrectionFaktorFast / 1000000.0); 46 63 47 64 }
Note: See TracChangeset
for help on using the changeset viewer.
