将换能器参数,RSSI有效范围改为可配
This commit is contained in:
parent
e71ef7ec06
commit
6d27ad8c87
|
@ -33,6 +33,7 @@ typedef enum
|
||||||
FRT_REGISTER_PRESSURE = 8, /* 大气压 */
|
FRT_REGISTER_PRESSURE = 8, /* 大气压 */
|
||||||
FRT_REGISTER_RAIN = 9, /* 雨量 */
|
FRT_REGISTER_RAIN = 9, /* 雨量 */
|
||||||
FRT_REGISTER_PRECIPITATION_INTENSITY = 10, /* 总辐射 */
|
FRT_REGISTER_PRECIPITATION_INTENSITY = 10, /* 总辐射 */
|
||||||
|
|
||||||
FRT_REGISTER_DEVICE_ADDR = 20, /* 设备地址 */
|
FRT_REGISTER_DEVICE_ADDR = 20, /* 设备地址 */
|
||||||
FRT_REGISTER_COMMU_BAUDRATE = 21, /* 波特率 */
|
FRT_REGISTER_COMMU_BAUDRATE = 21, /* 波特率 */
|
||||||
FRT_REGISTER_SPEED_AVERAGE_TIME = 22, /* 风速平均时间 */
|
FRT_REGISTER_SPEED_AVERAGE_TIME = 22, /* 风速平均时间 */
|
||||||
|
@ -42,6 +43,12 @@ typedef enum
|
||||||
FRT_REGISTER_SOFT_REST = 26, /* 软件复位 */
|
FRT_REGISTER_SOFT_REST = 26, /* 软件复位 */
|
||||||
FRT_REGISTER_REST_DEFAULT_SETTING = 27, /* 恢复出厂设置 */
|
FRT_REGISTER_REST_DEFAULT_SETTING = 27, /* 恢复出厂设置 */
|
||||||
FRT_REGISTER_PROTOCOL_SETTING = 28, /* 设置协议:0-ASCII;1-MODBUS协议 */
|
FRT_REGISTER_PROTOCOL_SETTING = 28, /* 设置协议:0-ASCII;1-MODBUS协议 */
|
||||||
|
|
||||||
|
FRT_REGISTER_TRANSDUCER_CFG_1R5 = 30, /* 换能器参数 */
|
||||||
|
FRT_REGISTER_TRANSDUCER_CFG_4R5 = 31, /* 换能器参数 */
|
||||||
|
FRT_REGISTER_TRANSDUCER_CFG_8R0 = 32, /* 换能器参数 */
|
||||||
|
FRT_REGISTER_RSSI_RANGE = 33, /* RSSI有效范围 */
|
||||||
|
FRT_REGISTER_WAVE_DATA = 34, /* 波形数据 */
|
||||||
}FRT_MsgRegister;
|
}FRT_MsgRegister;
|
||||||
|
|
||||||
#pragma pack(push,1)
|
#pragma pack(push,1)
|
||||||
|
@ -81,6 +88,7 @@ typedef struct _frt_climate_pack_resp{
|
||||||
}frt_climate_pack_resp;
|
}frt_climate_pack_resp;
|
||||||
|
|
||||||
typedef void (*MsgProcFunc)(device_handle device, void*);
|
typedef void (*MsgProcFunc)(device_handle device, void*);
|
||||||
|
|
||||||
/* 功能码处理函数 */
|
/* 功能码处理函数 */
|
||||||
typedef struct _FRT_FunctionMsgProcTable_s{
|
typedef struct _FRT_FunctionMsgProcTable_s{
|
||||||
u_int32_t msgId;
|
u_int32_t msgId;
|
||||||
|
@ -88,6 +96,7 @@ typedef struct _FRT_FunctionMsgProcTable_s{
|
||||||
} FRT_FuncionMsgProcTable_s;
|
} FRT_FuncionMsgProcTable_s;
|
||||||
|
|
||||||
typedef u_int16_t (*RegProcFunc)(void*);
|
typedef u_int16_t (*RegProcFunc)(void*);
|
||||||
|
|
||||||
/* 寄存器处理表 */
|
/* 寄存器处理表 */
|
||||||
typedef struct _FRT_RegProcTable_s{
|
typedef struct _FRT_RegProcTable_s{
|
||||||
u_int32_t regId;
|
u_int32_t regId;
|
||||||
|
|
|
@ -19,10 +19,14 @@ typedef enum{
|
||||||
#pragma pack(push,1)
|
#pragma pack(push,1)
|
||||||
typedef struct _config_info{
|
typedef struct _config_info{
|
||||||
u_int8_t flag_head;
|
u_int8_t flag_head;
|
||||||
u_int8_t addr;
|
u_int8_t addr; /* 设备地址 */
|
||||||
u_int16_t uart_baud; /* 串口波特率 */
|
u_int16_t uart_baud; /* 串口波特率 */
|
||||||
u_int16_t speed_average_time;
|
u_int16_t speed_average_time; /* 风速平均时间 */
|
||||||
u_int16_t temp_hum_update_time;
|
u_int16_t temp_hum_update_time; /* 温湿度平均时间 */
|
||||||
|
u_int16_t transducer_cfg_1R5; /* 换能器参数 */
|
||||||
|
u_int16_t transducer_cfg_4R5; /* 换能器参数 */
|
||||||
|
u_int16_t transducer_cfg_8R0; /* 换能器参数 */
|
||||||
|
u_int16_t RSSI_range; /* RSSI有效范围 */
|
||||||
u_int8_t flag_end;
|
u_int8_t flag_end;
|
||||||
}config_info;
|
}config_info;
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
|
@ -133,17 +133,24 @@ float32_t cal_tof(q15_t* x,uint32_t len)
|
||||||
// 统计200khz 附近的信号强度
|
// 统计200khz 附近的信号强度
|
||||||
RSSI = rfft_float_buf[fft_200khz_pos-2]+rfft_float_buf[fft_200khz_pos-1]+ rfft_float_buf[fft_200khz_pos]+rfft_float_buf[fft_200khz_pos+1]+rfft_float_buf[fft_200khz_pos+2];
|
RSSI = rfft_float_buf[fft_200khz_pos-2]+rfft_float_buf[fft_200khz_pos-1]+ rfft_float_buf[fft_200khz_pos]+rfft_float_buf[fft_200khz_pos+1]+rfft_float_buf[fft_200khz_pos+2];
|
||||||
// 如果RSSI小于
|
// 如果RSSI小于
|
||||||
if(RSSI<0.2)
|
// 可变RSSI范围
|
||||||
|
if(RSSI < ((float)g_stConfigInfo.RSSI_range/100.0))
|
||||||
|
// if(RSSI<0.2)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
// 大宇换能器参数 开始
|
// 可变参数
|
||||||
// 最大值的0.18倍
|
uint16_t max_val_zero_1R5 = max_val * g_stConfigInfo.transducer_cfg_1R5/100;
|
||||||
uint16_t max_val_zero_1R5 = (max_val*15/100);
|
uint16_t max_val_zero_4R5 = max_val * g_stConfigInfo.transducer_cfg_4R5/100;
|
||||||
// 最大值的0.45倍
|
uint16_t max_val_zero_8R0 = max_val * g_stConfigInfo.transducer_cfg_8R0/100;
|
||||||
uint16_t max_val_zero_4R5 = (max_val*45/100);
|
|
||||||
// 最大值的0.8倍
|
// // 大宇换能器参数 开始
|
||||||
uint16_t max_val_zero_8R0 = (max_val*80/100);
|
// // 最大值的0.18倍
|
||||||
// 大宇换能器参数
|
// uint16_t max_val_zero_1R5 = (max_val*15/100);
|
||||||
|
// // 最大值的0.45倍
|
||||||
|
// uint16_t max_val_zero_4R5 = (max_val*45/100);
|
||||||
|
// // 最大值的0.8倍
|
||||||
|
// uint16_t max_val_zero_8R0 = (max_val*80/100);
|
||||||
|
// // 大宇换能器参数
|
||||||
|
|
||||||
// // 无锡电声换能器参数
|
// // 无锡电声换能器参数
|
||||||
// // 最大值的0.18倍
|
// // 最大值的0.18倍
|
||||||
|
|
|
@ -24,18 +24,32 @@ static u_int16_t FRT_ReadRegTemperature(void *pMsg);
|
||||||
static u_int16_t FRT_ReadRegHumidity(void *pMsg);
|
static u_int16_t FRT_ReadRegHumidity(void *pMsg);
|
||||||
static u_int16_t FRT_ReadRegPressure(void *pMsg);
|
static u_int16_t FRT_ReadRegPressure(void *pMsg);
|
||||||
static u_int16_t FRT_ReadRegRain(void *pMsg);
|
static u_int16_t FRT_ReadRegRain(void *pMsg);
|
||||||
|
|
||||||
static u_int16_t FRT_ReadRegPrecipitationIntensity(void *pMsg);
|
static u_int16_t FRT_ReadRegPrecipitationIntensity(void *pMsg);
|
||||||
static u_int16_t FRT_ReadRegDeviceAddr(void *pMsg);
|
static u_int16_t FRT_ReadRegDeviceAddr(void *pMsg);
|
||||||
static u_int16_t FRT_ReadRegCommuBaudRate(void *pMsg);
|
static u_int16_t FRT_ReadRegCommuBaudRate(void *pMsg);
|
||||||
static u_int16_t FRT_ReadRegSpeedAverageTime(void *pMsg);
|
static u_int16_t FRT_ReadRegSpeedAverageTime(void *pMsg);
|
||||||
static u_int16_t FRT_ReadRegTempHumUpdateTime(void *pMsg);
|
static u_int16_t FRT_ReadRegTempHumUpdateTime(void *pMsg);
|
||||||
static u_int16_t FRT_ReadRegRainPowerCtl(void *pMsg);
|
static u_int16_t FRT_ReadRegRainPowerCtl(void *pMsg);
|
||||||
|
|
||||||
static u_int16_t FRT_WriteRegDeviceAddr(void *pMsg);
|
static u_int16_t FRT_WriteRegDeviceAddr(void *pMsg);
|
||||||
static u_int16_t FRT_WriteRegCommuBaudRate(void *pMsg);
|
static u_int16_t FRT_WriteRegCommuBaudRate(void *pMsg);
|
||||||
static u_int16_t FRT_WriteRegSpeedAverageTime(void *pMsg);
|
static u_int16_t FRT_WriteRegSpeedAverageTime(void *pMsg);
|
||||||
static u_int16_t FRT_WriteRegTempHumUpdateTime(void *pMsg);
|
static u_int16_t FRT_WriteRegTempHumUpdateTime(void *pMsg);
|
||||||
static u_int16_t FRT_WriteRegSoftReset(void *pMsg);
|
static u_int16_t FRT_WriteRegSoftReset(void *pMsg);
|
||||||
static u_int16_t FRT_WriteRegResetDefault(void *pMsg);
|
static u_int16_t FRT_WriteRegResetDefault(void *pMsg);
|
||||||
|
|
||||||
|
static u_int16_t FRT_ReadRegTransducerCFG1R5(void *pMsg);
|
||||||
|
static u_int16_t FRT_ReadRegTransducerCFG4R5(void *pMsg);
|
||||||
|
static u_int16_t FRT_ReadRegTransducerCFG8R0(void *pMsg);
|
||||||
|
static u_int16_t FRT_ReadRegRSSIRange(void *pMsg);
|
||||||
|
static u_int16_t FRT_ReadRegWaveData(void *pMsg);
|
||||||
|
|
||||||
|
static u_int16_t FRT_WriteRegTransducerCFG1R5(void *pMsg);
|
||||||
|
static u_int16_t FRT_WriteRegTransducerCFG4R5(void *pMsg);
|
||||||
|
static u_int16_t FRT_WriteRegTransducerCFG8R0(void *pMsg);
|
||||||
|
static u_int16_t FRT_WriteRegRSSIRange(void *pMsg);
|
||||||
|
|
||||||
static void pdebug_mcs_info();
|
static void pdebug_mcs_info();
|
||||||
|
|
||||||
/* 功能码处理表 */
|
/* 功能码处理表 */
|
||||||
|
@ -64,6 +78,10 @@ FRT_RegProcTable_s g_RegTbl[] =
|
||||||
{ FRT_REGISTER_SPEED_AVERAGE_TIME, FRT_ReadRegSpeedAverageTime }, /* 风速平均时间 */
|
{ FRT_REGISTER_SPEED_AVERAGE_TIME, FRT_ReadRegSpeedAverageTime }, /* 风速平均时间 */
|
||||||
{ FRT_REGISTER_TEMPHUM_UPDATE_TIME, FRT_ReadRegTempHumUpdateTime }, /* 温湿度更新时间 */
|
{ FRT_REGISTER_TEMPHUM_UPDATE_TIME, FRT_ReadRegTempHumUpdateTime }, /* 温湿度更新时间 */
|
||||||
{ FRT_REGISTER_RAIN_POWER_CONTROL, FRT_ReadRegRainPowerCtl }, /* 雨量电源时间 */
|
{ FRT_REGISTER_RAIN_POWER_CONTROL, FRT_ReadRegRainPowerCtl }, /* 雨量电源时间 */
|
||||||
|
{ FRT_REGISTER_TRANSDUCER_CFG_1R5, FRT_ReadRegTransducerCFG1R5 }, /* 读换能器参数寄存器值1R5 */
|
||||||
|
{ FRT_REGISTER_TRANSDUCER_CFG_4R5, FRT_ReadRegTransducerCFG4R5 }, /* 读换能器参数寄存器值4R5 */
|
||||||
|
{ FRT_REGISTER_TRANSDUCER_CFG_8R0, FRT_ReadRegTransducerCFG8R0 }, /* 读换能器参数寄存器值8R0 */
|
||||||
|
{ FRT_REGISTER_RSSI_RANGE, FRT_ReadRegRSSIRange }, /* 读RSSI有效范围 */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* 写寄存器处理表 */
|
/* 写寄存器处理表 */
|
||||||
|
@ -75,6 +93,10 @@ FRT_RegProcTable_s g_Write_RegTbl[] =
|
||||||
{ FRT_REGISTER_TEMPHUM_UPDATE_TIME, FRT_WriteRegTempHumUpdateTime }, /* 写温湿度更新时间 */
|
{ FRT_REGISTER_TEMPHUM_UPDATE_TIME, FRT_WriteRegTempHumUpdateTime }, /* 写温湿度更新时间 */
|
||||||
{ FRT_REGISTER_SOFT_REST, FRT_WriteRegSoftReset }, /* 软件复位 */
|
{ FRT_REGISTER_SOFT_REST, FRT_WriteRegSoftReset }, /* 软件复位 */
|
||||||
{ FRT_REGISTER_REST_DEFAULT_SETTING, FRT_WriteRegResetDefault }, /* 恢复出厂设置 */
|
{ FRT_REGISTER_REST_DEFAULT_SETTING, FRT_WriteRegResetDefault }, /* 恢复出厂设置 */
|
||||||
|
{ FRT_REGISTER_TRANSDUCER_CFG_1R5, FRT_WriteRegTransducerCFG1R5 }, /* 写换能器参数寄存器值1R5 */
|
||||||
|
{ FRT_REGISTER_TRANSDUCER_CFG_4R5, FRT_WriteRegTransducerCFG4R5 }, /* 写换能器参数寄存器值4R5 */
|
||||||
|
{ FRT_REGISTER_TRANSDUCER_CFG_8R0, FRT_WriteRegTransducerCFG8R0 }, /* 写换能器参数寄存器值8R0 */
|
||||||
|
{ FRT_REGISTER_RSSI_RANGE, FRT_WriteRegRSSIRange }, /* 写RSSI有效范围 */
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -396,6 +418,119 @@ static u_int16_t FRT_WriteRegResetDefault(void *pMsg)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 读换能器参数寄存器值1R5
|
||||||
|
* @param
|
||||||
|
* @retval
|
||||||
|
*/
|
||||||
|
static u_int16_t FRT_ReadRegTransducerCFG1R5(void *pMsg)
|
||||||
|
{
|
||||||
|
read_config_info();
|
||||||
|
u_int16_t value=g_stConfigInfo.transducer_cfg_1R5;
|
||||||
|
return FRT_swap_endian_16(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 读换能器参数寄存器值4R5
|
||||||
|
* @param
|
||||||
|
* @retval
|
||||||
|
*/
|
||||||
|
static u_int16_t FRT_ReadRegTransducerCFG4R5(void *pMsg)
|
||||||
|
{
|
||||||
|
read_config_info();
|
||||||
|
u_int16_t value=g_stConfigInfo.transducer_cfg_4R5;
|
||||||
|
return FRT_swap_endian_16(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 读换能器参数寄存器值8R0
|
||||||
|
* @param
|
||||||
|
* @retval
|
||||||
|
*/
|
||||||
|
static u_int16_t FRT_ReadRegTransducerCFG8R0(void *pMsg)
|
||||||
|
{
|
||||||
|
read_config_info();
|
||||||
|
u_int16_t value=g_stConfigInfo.transducer_cfg_8R0;
|
||||||
|
return FRT_swap_endian_16(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 读RSSI有效范围
|
||||||
|
* @param
|
||||||
|
* @retval
|
||||||
|
*/
|
||||||
|
static u_int16_t FRT_ReadRegRSSIRange(void *pMsg)
|
||||||
|
{
|
||||||
|
read_config_info();
|
||||||
|
u_int16_t value=g_stConfigInfo.RSSI_range;
|
||||||
|
return FRT_swap_endian_16(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 写换能器参数寄存器值1R5
|
||||||
|
* @param
|
||||||
|
* @retval
|
||||||
|
*/
|
||||||
|
static u_int16_t FRT_WriteRegTransducerCFG1R5(void *pMsg)
|
||||||
|
{
|
||||||
|
uint16_t *pMsgAddr = (uint16_t *)pMsg;
|
||||||
|
uint16_t data = *pMsgAddr;
|
||||||
|
|
||||||
|
g_stConfigInfo.transducer_cfg_1R5 = data;
|
||||||
|
save_config_info(g_stConfigInfo);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 写换能器参数寄存器值4R5
|
||||||
|
* @param
|
||||||
|
* @retval
|
||||||
|
*/
|
||||||
|
static u_int16_t FRT_WriteRegTransducerCFG4R5(void *pMsg)
|
||||||
|
{
|
||||||
|
uint16_t *pMsgAddr = (uint16_t *)pMsg;
|
||||||
|
uint16_t data = *pMsgAddr;
|
||||||
|
|
||||||
|
g_stConfigInfo.transducer_cfg_4R5 = data;
|
||||||
|
save_config_info(g_stConfigInfo);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 写换能器参数寄存器值8R0
|
||||||
|
* @param
|
||||||
|
* @retval
|
||||||
|
*/
|
||||||
|
static u_int16_t FRT_WriteRegTransducerCFG8R0(void *pMsg)
|
||||||
|
{
|
||||||
|
uint16_t *pMsgAddr = (uint16_t *)pMsg;
|
||||||
|
uint16_t data = *pMsgAddr;
|
||||||
|
|
||||||
|
g_stConfigInfo.transducer_cfg_8R0 = data;
|
||||||
|
save_config_info(g_stConfigInfo);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief 写RSSI有效范围
|
||||||
|
* @param
|
||||||
|
* @retval
|
||||||
|
*/
|
||||||
|
static u_int16_t FRT_WriteRegRSSIRange(void *pMsg)
|
||||||
|
{
|
||||||
|
uint16_t *pMsgAddr = (uint16_t *)pMsg;
|
||||||
|
uint16_t data = *pMsgAddr;
|
||||||
|
|
||||||
|
g_stConfigInfo.RSSI_range = data;
|
||||||
|
save_config_info(g_stConfigInfo);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 封装协议发送
|
* @brief 封装协议发送
|
||||||
|
|
||||||
|
@ -473,12 +608,25 @@ void FRT_MsgProc_ReadRegister(device_handle device, void *pMsg)
|
||||||
uint8_t *data = (uint8_t *)pMsg;
|
uint8_t *data = (uint8_t *)pMsg;
|
||||||
u_int16_t start_reg_addr = (data[2] << 8)| data[3];
|
u_int16_t start_reg_addr = (data[2] << 8)| data[3];
|
||||||
u_int16_t reg_num= (data[4] << 8)| data[5];
|
u_int16_t reg_num= (data[4] << 8)| data[5];
|
||||||
if (start_reg_addr < 0x00 || (start_reg_addr > 0x08 && start_reg_addr < 0x14) || start_reg_addr > 0x17)
|
if ( \
|
||||||
|
start_reg_addr < 0x00 ||\
|
||||||
|
(start_reg_addr > 0x08 && start_reg_addr < 0x14) ||\
|
||||||
|
(start_reg_addr > 0x17 && start_reg_addr < 0x1E) ||\
|
||||||
|
start_reg_addr > 0x22 \
|
||||||
|
)
|
||||||
|
|
||||||
{
|
{
|
||||||
term_printf("start_reg_addr error:%d", start_reg_addr);
|
term_printf("start_reg_addr error:%d", start_reg_addr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (reg_num < 0x01 || (((reg_num + start_reg_addr - 1) > 0x08) && ((reg_num + start_reg_addr - 1) < 0x14)) || ((reg_num + start_reg_addr -1) > 0x17))
|
|
||||||
|
if ( \
|
||||||
|
reg_num < 0x01 ||\
|
||||||
|
(((reg_num + start_reg_addr - 1) > 0x08) && ((reg_num + start_reg_addr - 1) < 0x14)) ||\
|
||||||
|
(((reg_num + start_reg_addr -1) > 0x17) && ((reg_num + start_reg_addr -1) < 0x1E)) ||\
|
||||||
|
((reg_num + start_reg_addr -1) > 0x22) \
|
||||||
|
)
|
||||||
|
|
||||||
{
|
{
|
||||||
term_printf("reg_num error:%d", reg_num);
|
term_printf("reg_num error:%d", reg_num);
|
||||||
return;
|
return;
|
||||||
|
@ -525,12 +673,19 @@ void FRT_MsgProc_WriteRegister(device_handle device, void *pMsg)
|
||||||
unsigned short return_crc_value;
|
unsigned short return_crc_value;
|
||||||
|
|
||||||
// 校验
|
// 校验
|
||||||
if (start_reg_addr < 0x14 || start_reg_addr > 0x1C )
|
if (start_reg_addr < 0x14 ||\
|
||||||
|
(start_reg_addr > 0x1C && start_reg_addr < 0x1E)||\
|
||||||
|
(start_reg_addr > 0x21)
|
||||||
|
)
|
||||||
{
|
{
|
||||||
term_printf("start_reg_addr error:%d", start_reg_addr);
|
term_printf("start_reg_addr error:%d", start_reg_addr);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (reg_num < 0x01 || ((reg_num + start_reg_addr - 1) < 0x14) || ((reg_num + start_reg_addr -1) > 0x1C))
|
if (reg_num < 0x01 ||\
|
||||||
|
((reg_num + start_reg_addr - 1) < 0x14) ||\
|
||||||
|
(((reg_num + start_reg_addr -1) > 0x1C) && ((reg_num + start_reg_addr -1) < 0x1E)) ||\
|
||||||
|
((reg_num + start_reg_addr -1) > 0x21)
|
||||||
|
)
|
||||||
{
|
{
|
||||||
term_printf("reg_num error:%d", reg_num);
|
term_printf("reg_num error:%d", reg_num);
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -3,16 +3,28 @@
|
||||||
#include "pdebug.h"
|
#include "pdebug.h"
|
||||||
#include "assertions.h"
|
#include "assertions.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 无锡电声换能器参数
|
||||||
|
* 10
|
||||||
|
* 35
|
||||||
|
* 65
|
||||||
|
* 无锡电声换能器参数
|
||||||
|
*/
|
||||||
|
|
||||||
config_info g_stConfigInfo={
|
config_info g_stConfigInfo={
|
||||||
.flag_head = FLAG_SAVE_INFLASH_HEAD,
|
.flag_head = FLAG_SAVE_INFLASH_HEAD,
|
||||||
.addr = 0x30, /* 默认地址 */
|
.addr = 0x30, /* 默认地址 */
|
||||||
.uart_baud = 9600, /* 默认波特率 */
|
.uart_baud = 9600, /* 默认波特率 */
|
||||||
.speed_average_time = 600, /* 默认10分钟平均风速 */
|
.speed_average_time = 600, /* 平均风速默认10分钟更新 */
|
||||||
.temp_hum_update_time = 600, /* 温湿度更新时间 */
|
.temp_hum_update_time = 600, /* 温湿度更新时间 */
|
||||||
|
|
||||||
|
.transducer_cfg_1R5 = 15, /* 大宇换能器参数 */
|
||||||
|
.transducer_cfg_4R5 = 45, /* 大宇换能器参数 */
|
||||||
|
.transducer_cfg_8R0 = 80, /* 大宇换能器参数 */
|
||||||
|
.RSSI_range = 20, /* RSSI大于0.2有效 */
|
||||||
.flag_end = FLAG_SAVE_INFLASH_END,
|
.flag_end = FLAG_SAVE_INFLASH_END,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 擦除多页flash
|
* @brief 擦除多页flash
|
||||||
* @param
|
* @param
|
||||||
|
|
|
@ -122,7 +122,7 @@ void MX_FREERTOS_Init(void) {
|
||||||
ledTaskHandle = osThreadCreate(osThread(ledTask), NULL);
|
ledTaskHandle = osThreadCreate(osThread(ledTask), NULL);
|
||||||
|
|
||||||
/* USER CODE BEGIN RTOS_THREADS */
|
/* USER CODE BEGIN RTOS_THREADS */
|
||||||
osThreadDef(anemometer, wind_task, osPriorityHigh, 0, 128);// ·çËÙ·çÏò
|
osThreadDef(anemometer, wind_task, osPriorityHigh, 0, 256);// ·çËÙ·çÏò
|
||||||
anemometerHandle = osThreadCreate(osThread(anemometer), NULL);
|
anemometerHandle = osThreadCreate(osThread(anemometer), NULL);
|
||||||
|
|
||||||
osThreadDef(temhum_update_task, tem_hum_update_task, osPriorityAboveNormal, 0, 128);//温湿度,大气压更新
|
osThreadDef(temhum_update_task, tem_hum_update_task, osPriorityAboveNormal, 0, 128);//温湿度,大气压更新
|
||||||
|
|
|
@ -675,7 +675,7 @@
|
||||||
<option>
|
<option>
|
||||||
<name>OOCOutputFormat</name>
|
<name>OOCOutputFormat</name>
|
||||||
<version>3</version>
|
<version>3</version>
|
||||||
<state>1</state>
|
<state>3</state>
|
||||||
</option>
|
</option>
|
||||||
<option>
|
<option>
|
||||||
<name>OCOutputOverride</name>
|
<name>OCOutputOverride</name>
|
||||||
|
@ -683,7 +683,7 @@
|
||||||
</option>
|
</option>
|
||||||
<option>
|
<option>
|
||||||
<name>OOCOutputFile</name>
|
<name>OOCOutputFile</name>
|
||||||
<state>micro_climate.hex</state>
|
<state>micro_climate-1109.bin</state>
|
||||||
</option>
|
</option>
|
||||||
<option>
|
<option>
|
||||||
<name>OOCCommandLineProducer</name>
|
<name>OOCCommandLineProducer</name>
|
||||||
|
@ -701,7 +701,7 @@
|
||||||
<data>
|
<data>
|
||||||
<extensions></extensions>
|
<extensions></extensions>
|
||||||
<cmdline></cmdline>
|
<cmdline></cmdline>
|
||||||
<hasPrio>1</hasPrio>
|
<hasPrio>24</hasPrio>
|
||||||
<buildSequence>inputOutputBased</buildSequence>
|
<buildSequence>inputOutputBased</buildSequence>
|
||||||
</data>
|
</data>
|
||||||
</settings>
|
</settings>
|
||||||
|
@ -786,7 +786,7 @@
|
||||||
</option>
|
</option>
|
||||||
<option>
|
<option>
|
||||||
<name>IlinkIcfFile</name>
|
<name>IlinkIcfFile</name>
|
||||||
<state>$PROJ_DIR$\stm32l496xx_flash_app.icf</state>
|
<state>$PROJ_DIR$\stm32l496xx_flash.icf</state>
|
||||||
</option>
|
</option>
|
||||||
<option>
|
<option>
|
||||||
<name>IlinkIcfFileSlave</name>
|
<name>IlinkIcfFileSlave</name>
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -30,7 +30,7 @@
|
||||||
<EnforceMemoryConfiguration>1</EnforceMemoryConfiguration>
|
<EnforceMemoryConfiguration>1</EnforceMemoryConfiguration>
|
||||||
</ArmDriver>
|
</ArmDriver>
|
||||||
<DebugChecksum>
|
<DebugChecksum>
|
||||||
<Checksum>1821370641</Checksum>
|
<Checksum>219054755</Checksum>
|
||||||
</DebugChecksum>
|
</DebugChecksum>
|
||||||
<Exceptions>
|
<Exceptions>
|
||||||
<StopOnUncaught>_ 0</StopOnUncaught>
|
<StopOnUncaught>_ 0</StopOnUncaught>
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
/*###ICF### Section handled by ICF editor, don't touch! ****/
|
||||||
|
/*-Editor annotation file-*/
|
||||||
|
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
|
||||||
|
/*-Specials-*/
|
||||||
|
define symbol __ICFEDIT_intvec_start__ = 0x08020000;
|
||||||
|
/*-Memory Regions-*/
|
||||||
|
define symbol __ICFEDIT_region_ROM_start__ = 0x08020000;
|
||||||
|
define symbol __ICFEDIT_region_ROM_end__ = 0x080FFFFF;
|
||||||
|
define symbol __ICFEDIT_region_RAM_start__ = 0x20000000;
|
||||||
|
define symbol __ICFEDIT_region_RAM_end__ = 0x2004FFFF;
|
||||||
|
|
||||||
|
/*-Sizes-*/
|
||||||
|
define symbol __ICFEDIT_size_cstack__ = 0x400;
|
||||||
|
define symbol __ICFEDIT_size_heap__ = 0x200;
|
||||||
|
/**** End of ICF editor section. ###ICF###*/
|
||||||
|
|
||||||
|
define symbol __region_SRAM1_start__ = 0x20000000;
|
||||||
|
define symbol __region_SRAM1_end__ = 0x2003FFFF;
|
||||||
|
define symbol __region_SRAM2_start__ = 0x20040000;
|
||||||
|
define symbol __region_SRAM2_end__ = 0x2004FFFF;
|
||||||
|
|
||||||
|
define memory mem with size = 4G;
|
||||||
|
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
|
||||||
|
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
|
||||||
|
define region SRAM1_region = mem:[from __region_SRAM1_start__ to __region_SRAM1_end__];
|
||||||
|
define region SRAM2_region = mem:[from __region_SRAM2_start__ to __region_SRAM2_end__];
|
||||||
|
|
||||||
|
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
|
||||||
|
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
|
||||||
|
|
||||||
|
initialize by copy { readwrite };
|
||||||
|
do not initialize { section .noinit };
|
||||||
|
|
||||||
|
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
|
||||||
|
|
||||||
|
place in ROM_region { readonly };
|
||||||
|
place in RAM_region { readwrite,
|
||||||
|
block CSTACK, block HEAP };
|
||||||
|
place in SRAM1_region { };
|
||||||
|
place in SRAM2_region { };
|
||||||
|
|
Loading…
Reference in New Issue