فهرست منبع

修复反向计量偏差问题:
1.tdc_itf.c文件,修复读取流速等级传入负值时导致的C值取值错误问题。
2.tdc_isr.c文件,线性插值加强传入流速等级为负的防护。

HBR 2 هفته پیش
والد
کامیت
5efc435aff
2فایلهای تغییر یافته به همراه8 افزوده شده و 3 حذف شده
  1. 4 1
      Users/tdc_tof/tdc_itf.c
  2. 4 2
      Users/tdc_tof/tof_isr.c

+ 4 - 1
Users/tdc_tof/tdc_itf.c

@@ -175,7 +175,10 @@ void tdc_flow_itf(double flow_vol, float tmp_float) {
     float rtc_interrupt_time_seconds = get_rtc_interrupt_time();
 
 #if defined(CHECK_CORRECT_ENABLE)
-    float FlowCorrFactor = CheckFlowCorrectFactor(WaterTemp, (uint16_t)tmp_float);
+    //modified by yuewei 20260914 start
+    //float FlowCorrFactor = CheckFlowCorrectFactor(WaterTemp, (uint16_t)tmp_float);
+    float FlowCorrFactor = CheckFlowCorrectFactor(WaterTemp, (uint16_t)fabs(tmp_float));
+    //modified by yuewei 20260914 end
     FlowVol *= FlowCorrFactor;    // unit:cm^3/s = ml/s
 #endif
 	//20260429

+ 4 - 2
Users/tdc_tof/tof_isr.c

@@ -222,8 +222,10 @@ void DiffToF2Flow(float dtof)
     double vol;
 
     TmpFloat = dtof * UsonicSpd * UsonicSpd * 0.00001f;
-    apsr = bilinear_quad_apsr(TmpFloat, WaterTemp);
-
+    //modified by yuewei 20260914 start
+    //apsr = bilinear_quad_apsr(TmpFloat, WaterTemp);
+    apsr = bilinear_quad_apsr(fabs(TmpFloat), WaterTemp);
+    //modified by yuewei 20260914 end
     vol = TmpFloat * apsr * pTdcItf->pipe_coe;
 
     pTdcItf->flow_vol(vol, TmpFloat);