Просмотр исходного кода

1、tdc_itf.c温度补齐15℃、20℃,数组长度由28变成30
2、pipe_apsr.c修改TEMP_POINT_NUM=10,FLOW_START_IDX=10
3、check.c修改读取和设置温度补偿iCount=30

yw 2 недель назад
Родитель
Сommit
675caabd95
3 измененных файлов с 17 добавлено и 14 удалено
  1. 2 2
      Users/check/check.c
  2. 2 2
      Users/tdc_tof/pipe_apsr.c
  3. 13 10
      Users/tdc_tof/tdc_itf.c

+ 2 - 2
Users/check/check.c

@@ -1228,7 +1228,7 @@ void check_set_diameter_and_temperature_compensation(void)
 
     uint8_t rx_buf[4];
     float recvValue;
-    uint16_t iCount = 28;
+    uint16_t iCount = 30;
     for (uint16_t i = 0; i < iCount; i++)
     {
         memcpy(rx_buf, (uint8_t *)&Check.rx_buf[i * 12 + 9], 4);
@@ -1268,7 +1268,7 @@ void check_get_diameter_and_temperature_compensation(void)
     CheckComTx(0x6A);
 
     uint8_t *sendValue;
-    uint16_t iCount = 28;
+    uint16_t iCount = 30;
 
     for (uint16_t i = 0; i < iCount; i++)
     {

+ 2 - 2
Users/tdc_tof/pipe_apsr.c

@@ -150,10 +150,10 @@ float bilinear_quad_apsr(float WatSpdLvl, float WatTemp)
 #endif
 
 // ===================== 配置常量 =====================
-#define TEMP_POINT_NUM     8    // 温度点数量
+#define TEMP_POINT_NUM     10    // 温度点数量
 #define FLOW_POINT_NUM     20   // 流速点数量
 #define TEMP_START_IDX     0    // 温度起始索引
-#define FLOW_START_IDX     8    // 流速起始索引
+#define FLOW_START_IDX     10    // 流速起始索引
 
 // ===================== 双线性插值(带权重)最终函数 =====================
 float bilinear_quad_apsr(float WatSpdLvl, float WatTemp)

+ 13 - 10
Users/tdc_tof/tdc_itf.c

@@ -47,22 +47,25 @@ static const float RowTemp_Ary[] = {
 //#define ROW_NUM     (sizeof(RowTemp_Ary)/sizeof(float))
 //#define COL_NUM     (12)
 
-const uint16_t Quad_Cell_NUM = 28; 
+const uint16_t Quad_Cell_NUM = 30; 
 
 //Quad_Cell_t Quad_Cell_Ary[ROW_NUM*COL_NUM] = 
-Quad_Cell_t Quad_Cell_Ary[28] = 
+Quad_Cell_t Quad_Cell_Ary[30] = 
 {
-    //温度补偿系数,总共8个温度点
+    //温度补偿系数,总共10个温度点
     //格式:{温度, {常数:m, 系数:k}}
     //温度:5C -> 50C
-    {5.000000, {0.000000f,0.952426f}},
-    {10.000000,{0.000000f,0.966416f}},
+    //介质:纯水,Marczak公式理论声速归一化(25℃=1497m/s,k=1.0)
+    {5.000000, {0.000000f,0.952900f}},
+    {10.000000,{0.000000f,0.967000f}},
+    {15.000000,{0.000000f,0.979300f}},
+    {20.000000,{0.000000f,0.990400f}},
     {25.000000,{0.000000f,1.000000f}},
-    {30.000000,{0.000000f,1.008647f}},
-    {35.000000,{0.000000f,1.016146f}},
-    {40.000000,{0.000000f,1.022568f}},
-    {45.000000,{0.000000f,1.027991f}},
-    {50.000000,{0.000000f,1.032488f}},
+    {30.000000,{0.000000f,1.008300f}},
+    {35.000000,{0.000000f,1.015500f}},
+    {40.000000,{0.000000f,1.021700f}},
+    {45.000000,{0.000000f,1.026500f}},
+    {50.000000,{0.000000f,1.030600f}},
 
     //流速等级补偿系数,总共20个流速点
     //{流速等级, {常数:m, 系数:k}},注意:流速等级如果设置0,则表示没有流量点需要修正