|
|
@@ -67,22 +67,30 @@ static void current_10x_calibrate(void){
|
|
|
/* calibrate the 10x gain */
|
|
|
ML5238_IMON_OUT_ZERO_10X();
|
|
|
vim0_10x = adc_sample_avg(ADC_CHAN_IMON, GD32_ADC_READ_TIMES);
|
|
|
+#if 0
|
|
|
ML5238_IMON_OUT_V2000_10X();
|
|
|
float vim1 = adc_sample_avg(ADC_CHAN_IMON, GD32_ADC_READ_TIMES);
|
|
|
ML5238_IMON_OUT_V100_10X();
|
|
|
float vr = adc_sample_avg(ADC_CHAN_IMON, GD32_ADC_READ_TIMES);
|
|
|
- imon_gain_10x = 10.0f;//ML5238_GAIN(vim0_10x, vim1, vr);
|
|
|
+ imon_gain_10x = ML5238_GAIN(vim0_10x, vim1, vr);
|
|
|
+#else
|
|
|
+ imon_gain_10x = 10.0f;
|
|
|
+#endif
|
|
|
}
|
|
|
|
|
|
static void current_50x_calibrate(void){
|
|
|
/* calibrate the 50x gain */
|
|
|
ML5238_IMON_OUT_ZERO_50X();
|
|
|
vim0_50x = adc_sample_avg(ADC_CHAN_IMON, GD32_ADC_READ_TIMES);
|
|
|
+#if 0
|
|
|
ML5238_IMON_OUT_V2000_50X();
|
|
|
float vim1 = adc_sample_avg(ADC_CHAN_IMON, GD32_ADC_READ_TIMES);
|
|
|
ML5238_IMON_OUT_V20_50X();
|
|
|
float vr = adc_sample_avg(ADC_CHAN_IMON, GD32_ADC_READ_TIMES);
|
|
|
- imon_gain_50x = 50.0f;//ML5238_GAIN(vim0_50x, vim1, vr);
|
|
|
+ imon_gain_50x = ML5238_GAIN(vim0_50x, vim1, vr);
|
|
|
+#else
|
|
|
+ imon_gain_50x = 50.0f;
|
|
|
+#endif
|
|
|
}
|
|
|
|
|
|
/*calibrate when startup && temperature is changed more than 5? degree
|