Flash添加换能器匹配层延时
This commit is contained in:
parent
3d1d04b809
commit
0aa2ed31e4
|
@ -58,32 +58,33 @@ typedef enum
|
|||
FRT_REGISTER_COEFFICIENT = 34, /* 粘度修正系数 */
|
||||
FRT_REGISTER_DISTANCE_NS = 35, /* 南北换能器表面距离 */
|
||||
FRT_REGISTER_DISTANCE_WE = 36, /* 东西换能器表面距离 */
|
||||
FRT_REGISTER_ERROR_LOG = 37, /* 错误日志 */
|
||||
FRT_REGISTER_WIND_C_NS = 38, /* 计算得到的南北风速 */
|
||||
FRT_REGISTER_WIND_C_WE = 39, /* 计算得到的东西风速 */
|
||||
FRT_REGISTER_LINEAR_POINT_X_1 = 40, /* 线性插值原始点1 */
|
||||
FRT_REGISTER_LINEAR_POINT_X_2 = 41, /* 线性插值原始点2 */
|
||||
FRT_REGISTER_LINEAR_POINT_X_3 = 42, /* 线性插值原始点3 */
|
||||
FRT_REGISTER_LINEAR_POINT_X_4 = 43, /* 线性插值原始点4 */
|
||||
FRT_REGISTER_LINEAR_POINT_X_5 = 44, /* 线性插值原始点5 */
|
||||
FRT_REGISTER_LINEAR_POINT_Y_1 = 45, /* 线性插值校准点1 */
|
||||
FRT_REGISTER_LINEAR_POINT_Y_2 = 46, /* 线性插值校准点2 */
|
||||
FRT_REGISTER_LINEAR_POINT_Y_3 = 47, /* 线性插值校准点3 */
|
||||
FRT_REGISTER_LINEAR_POINT_Y_4 = 48, /* 线性插值校准点4 */
|
||||
FRT_REGISTER_LINEAR_POINT_Y_5 = 49, /* 线性插值校准点5 */
|
||||
FRT_REGISTER_LINEAR_ENABLE = 50, /* 线性插值使能 */
|
||||
FRT_REGISTER_MAX_WAVE_1 = 51, /* 换能器最大波形 */
|
||||
FRT_REGISTER_MAX_WAVE_2 = 52, /* 换能器最大波形 */
|
||||
FRT_REGISTER_MAX_WAVE_3 = 53, /* 换能器最大波形 */
|
||||
FRT_REGISTER_MAX_WAVE_4 = 54, /* 换能器最大波形 */
|
||||
FRT_REGISTER_ID_1 = 55, /* ID16 */
|
||||
FRT_REGISTER_ID_2 = 56, /* ID32 */
|
||||
FRT_REGISTER_ID_3 = 57, /* ID48 */
|
||||
FRT_REGISTER_ID_4 = 58, /* ID64 */
|
||||
FRT_REGISTER_ENCRYPT_1 = 59, /* 密文16 */
|
||||
FRT_REGISTER_ENCRYPT_2 = 60, /* 密文32 */
|
||||
FRT_REGISTER_ENCRYPT_3 = 61, /* 密文48 */
|
||||
FRT_REGISTER_ENCRYPT_4 = 62, /* 密文64 */
|
||||
FRT_REGISTER_ANEMOMETER_DELAY = 37, /* 换能器匹配层延时 */
|
||||
FRT_REGISTER_ERROR_LOG = 38, /* 错误日志 */
|
||||
FRT_REGISTER_WIND_C_NS = 39, /* 计算得到的南北风速 */
|
||||
FRT_REGISTER_WIND_C_WE = 40, /* 计算得到的东西风速 */
|
||||
FRT_REGISTER_LINEAR_POINT_X_1 = 41, /* 线性插值原始点1 */
|
||||
FRT_REGISTER_LINEAR_POINT_X_2 = 42, /* 线性插值原始点2 */
|
||||
FRT_REGISTER_LINEAR_POINT_X_3 = 43, /* 线性插值原始点3 */
|
||||
FRT_REGISTER_LINEAR_POINT_X_4 = 44, /* 线性插值原始点4 */
|
||||
FRT_REGISTER_LINEAR_POINT_X_5 = 45, /* 线性插值原始点5 */
|
||||
FRT_REGISTER_LINEAR_POINT_Y_1 = 46, /* 线性插值校准点1 */
|
||||
FRT_REGISTER_LINEAR_POINT_Y_2 = 47, /* 线性插值校准点2 */
|
||||
FRT_REGISTER_LINEAR_POINT_Y_3 = 48, /* 线性插值校准点3 */
|
||||
FRT_REGISTER_LINEAR_POINT_Y_4 = 49, /* 线性插值校准点4 */
|
||||
FRT_REGISTER_LINEAR_POINT_Y_5 = 50, /* 线性插值校准点5 */
|
||||
FRT_REGISTER_LINEAR_ENABLE = 51, /* 线性插值使能 */
|
||||
FRT_REGISTER_MAX_WAVE_1 = 52, /* 换能器最大波形 */
|
||||
FRT_REGISTER_MAX_WAVE_2 = 53, /* 换能器最大波形 */
|
||||
FRT_REGISTER_MAX_WAVE_3 = 54, /* 换能器最大波形 */
|
||||
FRT_REGISTER_MAX_WAVE_4 = 55, /* 换能器最大波形 */
|
||||
FRT_REGISTER_ID_1 = 56, /* ID16 */
|
||||
FRT_REGISTER_ID_2 = 57, /* ID32 */
|
||||
FRT_REGISTER_ID_3 = 58, /* ID48 */
|
||||
FRT_REGISTER_ID_4 = 59, /* ID64 */
|
||||
FRT_REGISTER_ENCRYPT_1 = 60, /* 密文16 */
|
||||
FRT_REGISTER_ENCRYPT_2 = 61, /* 密文32 */
|
||||
FRT_REGISTER_ENCRYPT_3 = 62, /* 密文48 */
|
||||
FRT_REGISTER_ENCRYPT_4 = 63, /* 密文64 */
|
||||
}FRT_MsgRegister;
|
||||
|
||||
#pragma pack(push,1)
|
||||
|
|
|
@ -67,6 +67,7 @@ typedef struct _factory_config_info{
|
|||
u_int16_t linear_point_5_y; /* 线性插值点5Y */
|
||||
u_int16_t linear_enable; /* 线性插值使能 */
|
||||
u_int32_t encrypt_1; /* 后32位密文 */
|
||||
u_int16_t anemometerDelayTime; /* 换能器匹配层延时us */
|
||||
u_int16_t temp0; /* 占位留待升级 */
|
||||
u_int16_t temp1; /* 占位留待升级 */
|
||||
u_int16_t temp2; /* 占位留待升级 */
|
||||
|
|
|
@ -554,8 +554,8 @@ void wind_task(void const * argument)
|
|||
tof_error_log_NS = 0;
|
||||
g_error_log.tof_error_NS = 0;
|
||||
// 计算成us
|
||||
tofx = ((tofx-FIR_PHASE_DELAY)/ADC_SAMP_RATE_MHz)+REV_MUTE_DELAY_US-1.0f/DRIVE_FREQ_MHz+0.0001f - 2.0f;
|
||||
tofy = ((tofy-FIR_PHASE_DELAY)/ADC_SAMP_RATE_MHz)+REV_MUTE_DELAY_US-1.0f/DRIVE_FREQ_MHz+0.0001f - 2.0f;
|
||||
tofx = ((tofx-FIR_PHASE_DELAY)/ADC_SAMP_RATE_MHz)+REV_MUTE_DELAY_US-1.0f/DRIVE_FREQ_MHz+0.0001f - g_stConfigInfo.anemometerDelayTime*1.0f;
|
||||
tofy = ((tofy-FIR_PHASE_DELAY)/ADC_SAMP_RATE_MHz)+REV_MUTE_DELAY_US-1.0f/DRIVE_FREQ_MHz+0.0001f - g_stConfigInfo.anemometerDelayTime*1.0f;
|
||||
// 通过各通道渡越时间求时间差
|
||||
dtof = tofx-tofy;
|
||||
|
||||
|
@ -623,8 +623,8 @@ void wind_task(void const * argument)
|
|||
tof_error_log_WE = 0;
|
||||
g_error_log.tof_error_WE = 0;
|
||||
// 计算成us
|
||||
tofx = ((tofx-FIR_PHASE_DELAY)/ADC_SAMP_RATE_MHz)+REV_MUTE_DELAY_US-1.0f/DRIVE_FREQ_MHz+0.000001f - 2.0f;
|
||||
tofy = ((tofy-FIR_PHASE_DELAY)/ADC_SAMP_RATE_MHz)+REV_MUTE_DELAY_US-1.0f/DRIVE_FREQ_MHz+0.000001f - 2.0f;
|
||||
tofx = ((tofx-FIR_PHASE_DELAY)/ADC_SAMP_RATE_MHz)+REV_MUTE_DELAY_US-1.0f/DRIVE_FREQ_MHz+0.000001f - g_stConfigInfo.anemometerDelayTime*1.0f;
|
||||
tofy = ((tofy-FIR_PHASE_DELAY)/ADC_SAMP_RATE_MHz)+REV_MUTE_DELAY_US-1.0f/DRIVE_FREQ_MHz+0.000001f - g_stConfigInfo.anemometerDelayTime*1.0f;
|
||||
// 通过各通道渡越时间求时间差
|
||||
dtof = tofx-tofy;
|
||||
|
||||
|
|
|
@ -54,6 +54,7 @@ static u_int16_t FRT_ReadRegRSSIRange(void *pMsg);
|
|||
static u_int16_t FRT_ReadRegCoefficient(void *pMsg);
|
||||
static u_int16_t FRT_ReadRegDISTANCE_NS(void *pMsg);
|
||||
static u_int16_t FRT_ReadRegDISTANCE_WE(void *pMsg);
|
||||
static u_int16_t FRT_ReadRegANEMOMETER_Delay(void *pMsg);
|
||||
static u_int16_t FRT_ReadRegErrorData(void *pMsg);
|
||||
static u_int16_t FRT_ReadRegWindC_NS(void *pMsg);
|
||||
static u_int16_t FRT_ReadRegWindC_WE(void *pMsg);
|
||||
|
@ -85,6 +86,7 @@ static u_int16_t FRT_WriteRegRSSIRange(void *pMsg);
|
|||
static u_int16_t FRT_WriteRegCoefficient(void *pMsg);
|
||||
static u_int16_t FRT_WriteRegDISTANCE_NS(void *pMsg);
|
||||
static u_int16_t FRT_WriteRegDISTANCE_WE(void *pMsg);
|
||||
static u_int16_t FRT_WriteRegANEMOMETER_Delay(void *pMsg);
|
||||
static u_int16_t FRT_WriteRegPoint_1Y(void *pMsg);
|
||||
static u_int16_t FRT_WriteRegPoint_2Y(void *pMsg);
|
||||
static u_int16_t FRT_WriteRegPoint_3Y(void *pMsg);
|
||||
|
@ -141,6 +143,7 @@ FRT_RegProcTable_s g_RegTbl[] =
|
|||
{ FRT_REGISTER_COEFFICIENT, FRT_ReadRegCoefficient }, /* 读粘度修正系数 */
|
||||
{ FRT_REGISTER_DISTANCE_NS, FRT_ReadRegDISTANCE_NS }, /* 读南北探头表面有效距离 */
|
||||
{ FRT_REGISTER_DISTANCE_WE, FRT_ReadRegDISTANCE_WE }, /* 读东西探头表面有效距离 */
|
||||
{ FRT_REGISTER_ANEMOMETER_DELAY, FRT_ReadRegANEMOMETER_Delay }, /* 读换能器匹配层延时 */
|
||||
{ FRT_REGISTER_ERROR_LOG, FRT_ReadRegErrorData }, /* 读错误日志 */
|
||||
{ FRT_REGISTER_WIND_C_NS, FRT_ReadRegWindC_NS }, /* 读计算得到的南北风速 */
|
||||
{ FRT_REGISTER_WIND_C_WE, FRT_ReadRegWindC_WE }, /* 读计算得到的东西风速 */
|
||||
|
@ -181,6 +184,7 @@ FRT_RegProcTable_s g_Write_RegTbl[] =
|
|||
{ FRT_REGISTER_COEFFICIENT, FRT_WriteRegCoefficient }, /* 写粘度修正系数 */
|
||||
{ FRT_REGISTER_DISTANCE_NS, FRT_WriteRegDISTANCE_NS }, /* 写南北探头表面有效距离 */
|
||||
{ FRT_REGISTER_DISTANCE_WE, FRT_WriteRegDISTANCE_WE }, /* 写东西探头表面有效距离 */
|
||||
{ FRT_REGISTER_ANEMOMETER_DELAY, FRT_WriteRegANEMOMETER_Delay }, /* 写换能器匹配层延时 */
|
||||
{ FRT_REGISTER_LINEAR_POINT_Y_1, FRT_WriteRegPoint_1Y }, /* 线性插值校准点1 */
|
||||
{ FRT_REGISTER_LINEAR_POINT_Y_2, FRT_WriteRegPoint_2Y }, /* 线性插值校准点2 */
|
||||
{ FRT_REGISTER_LINEAR_POINT_Y_3, FRT_WriteRegPoint_3Y }, /* 线性插值校准点3 */
|
||||
|
@ -691,6 +695,18 @@ static u_int16_t FRT_ReadRegDISTANCE_WE(void *pMsg)
|
|||
return FRT_swap_endian_16(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 读换能器匹配延时
|
||||
* @param
|
||||
* @retval
|
||||
*/
|
||||
static u_int16_t FRT_ReadRegANEMOMETER_Delay(void *pMsg)
|
||||
{
|
||||
read_config_info();
|
||||
u_int16_t value=g_stConfigInfo.anemometerDelayTime;
|
||||
return FRT_swap_endian_16(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 读错误日志
|
||||
* @param
|
||||
|
@ -1053,6 +1069,22 @@ static u_int16_t FRT_WriteRegDISTANCE_WE(void *pMsg)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 写换能器匹配延时
|
||||
* @param
|
||||
* @retval
|
||||
*/
|
||||
static u_int16_t FRT_WriteRegANEMOMETER_Delay(void *pMsg)
|
||||
{
|
||||
uint16_t *pMsgAddr = (uint16_t *)pMsg;
|
||||
uint16_t data = *pMsgAddr;
|
||||
|
||||
g_stConfigInfo.anemometerDelayTime = data;
|
||||
save_factory_config_info(g_stConfigInfo);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 写线性插值矫正点1
|
||||
* @param
|
||||
|
@ -1379,8 +1411,8 @@ void FRT_MsgProc_WriteRegister(device_handle device, void *pMsg)
|
|||
// 校验
|
||||
if (start_reg_addr < FRT_REGISTER_DEVICE_ADDR ||\
|
||||
(start_reg_addr > FRT_REGISTER_REST_DEFAULT_SETTING && start_reg_addr < FRT_REGISTER_TRANSDUCER_CFG_1R5) ||\
|
||||
(start_reg_addr > FRT_REGISTER_DISTANCE_WE && start_reg_addr < FRT_REGISTER_LINEAR_POINT_Y_1) ||\
|
||||
(start_reg_addr > FRT_REGISTER_LINEAR_POINT_Y_5) && (start_reg_addr < FRT_REGISTER_ENCRYPT_1) ||\
|
||||
(start_reg_addr > FRT_REGISTER_ANEMOMETER_DELAY && start_reg_addr < FRT_REGISTER_LINEAR_POINT_Y_1) ||\
|
||||
(start_reg_addr > FRT_REGISTER_LINEAR_ENABLE) && (start_reg_addr < FRT_REGISTER_ENCRYPT_1) ||\
|
||||
(start_reg_addr > FRT_REGISTER_ENCRYPT_4)
|
||||
)
|
||||
{
|
||||
|
@ -1390,8 +1422,8 @@ void FRT_MsgProc_WriteRegister(device_handle device, void *pMsg)
|
|||
if (reg_num < 0x01 ||\
|
||||
((reg_num + start_reg_addr - 1) < FRT_REGISTER_DEVICE_ADDR) ||\
|
||||
(((reg_num + start_reg_addr -1) > FRT_REGISTER_REST_DEFAULT_SETTING) && ((reg_num + start_reg_addr -1) < FRT_REGISTER_TRANSDUCER_CFG_1R5)) ||\
|
||||
(((reg_num + start_reg_addr -1) > FRT_REGISTER_DISTANCE_WE) && ((reg_num + start_reg_addr -1) < FRT_REGISTER_LINEAR_POINT_Y_1)) ||\
|
||||
(((reg_num + start_reg_addr -1) > FRT_REGISTER_LINEAR_POINT_Y_5) && ((reg_num + start_reg_addr -1) < FRT_REGISTER_ENCRYPT_1)) ||\
|
||||
(((reg_num + start_reg_addr -1) > FRT_REGISTER_ANEMOMETER_DELAY) && ((reg_num + start_reg_addr -1) < FRT_REGISTER_LINEAR_POINT_Y_1)) ||\
|
||||
(((reg_num + start_reg_addr -1) > FRT_REGISTER_LINEAR_ENABLE) && ((reg_num + start_reg_addr -1) < FRT_REGISTER_ENCRYPT_1)) ||\
|
||||
((reg_num + start_reg_addr -1) > FRT_REGISTER_ENCRYPT_4)
|
||||
)
|
||||
{
|
||||
|
|
|
@ -43,6 +43,7 @@ factory_config_info g_stConfigInfo={
|
|||
.linear_enable = 0, /* 线性插值使能 */
|
||||
.encrypt_0 = 0, /* 密文 */
|
||||
.encrypt_1 = 0, /* 密文 */
|
||||
.anemometerDelayTime = 2, /* 换能器匹配层延时us *//*大宇3,无锡电声2*/
|
||||
.flag_end = FLAG_SAVE_INFLASH_END,
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue