74 lines
2.2 KiB
C
74 lines
2.2 KiB
C
#ifndef UWater_TEMPERATURE_CALCULATE_APP_H
|
||
#define UWater_TEMPERATURE_CALCULATE_APP_H
|
||
|
||
#include "UWater_gp22_app.h"
|
||
|
||
/************************************************宏定义相关**********************************/
|
||
#define START_CALIBREATE 0//开启校准单程时间
|
||
#define STOP_CALIBREATE 1//停止校准单程时间
|
||
#define NOT_ALLOW_CALIBREATE 2//空管下不允许校准单程时间
|
||
|
||
|
||
#define TOF_UP 0//up单程时间角标
|
||
#define TOF_DOWN 1//down单程时间角标
|
||
#define UP_AM_AVERAGE 2//up振幅均值角标
|
||
#define DOWN_AM_AVERAGE 3//down振幅均值角标
|
||
|
||
|
||
#define RTCC_TOF_CALIBERATE_TIME_OUT 180// 3分钟超时防护超时防护时间,(活塞台子冲水+流量稳定)
|
||
#define TOF_COMPENSATION_COEFFICIENT (float)4 //单程时间差值补偿系数
|
||
/************************************************规约消息管理相关**********************************/
|
||
typedef struct
|
||
{
|
||
u8 tof_caliberate_msg; //单程时间补偿数据存储标志
|
||
|
||
} STRUCT_TEMP_INVERSE_MSG;
|
||
|
||
typedef enum
|
||
{
|
||
TofCaliberateMsg = 0, //单程时间补偿数据存储标志
|
||
|
||
|
||
/*对外消息总个数*/
|
||
Msg_TotalCount=1
|
||
} TempInverse_MsgTypeDef;
|
||
|
||
#define TEMP_INVERSE_MSG_TYPE_CNT Msg_TotalCount
|
||
|
||
typedef union
|
||
{
|
||
STRUCT_TEMP_INVERSE_MSG MsgStruct;
|
||
u8 MsgBuf[TEMP_INVERSE_MSG_TYPE_CNT];
|
||
} TEMP_IVVERSE_UNION_MSG;
|
||
|
||
|
||
#define TemperatureCalculateParameterTotal 4 //温度反算参数
|
||
typedef union
|
||
{
|
||
struct
|
||
{
|
||
u32 gp30_tof_up_filter_value_test;//检定数据
|
||
u32 gp30_tof_down_filter_value_test;//检定数据
|
||
u32 up_am_average;//up振幅均值角标
|
||
u32 down_am_average;//down振幅均值角标
|
||
}Temp_Inverse_Data;
|
||
|
||
u32 Temp_Inverse[TemperatureCalculateParameterTotal];
|
||
|
||
}Temp_Inverse_Data1;
|
||
|
||
|
||
//对外接口函数
|
||
void Tof_And_AM_Data_Collect(u8 i,u32 s_g_tof_am_pointer);//单程时间与振幅原始数据采集
|
||
void Gp30_Tof_Collect_and_Deal(void);//单程时间采集与处理
|
||
void Water_Meter_Temp_calculate(u32 time_dof_temp_float);//单程时间校准与温度计算
|
||
u8 TempInverseCheckMsgApp(TempInverse_MsgTypeDef msgType);//查询反算标志
|
||
u8 TempInverseClearMsgApp(TempInverse_MsgTypeDef msgType);//清零反算标志
|
||
u32 GetTemperatureCalculateParameter(u8 flag);//单程时间获取
|
||
void GP30_tof_buchang_filter(u8 flag);//获取单程时间校准命令
|
||
void FanSuan_Caliberate_Timeout(void);//反算校准超时查询和处理函数
|
||
|
||
extern const float sound_speed_in_water[101];
|
||
|
||
#endif
|