适配威海精讯畅通光照传感器
This commit is contained in:
parent
d49c313dab
commit
1fbf61f7d4
|
@ -32,8 +32,8 @@ typedef enum
|
|||
FRT_REGISTER_HUMIDITY = 7, /* 大气湿度 */
|
||||
FRT_REGISTER_PRESSURE = 8, /* 大气压 */
|
||||
FRT_REGISTER_RAIN = 9, /* 雨量 */
|
||||
FRT_REGISTER_PRECIPITATION_INTENSITY = 10, /* ×Ü·øÉä */
|
||||
FRT_REGISTER_UV_INTENSITY = 11, /* ×ÏÍâÇ¿¶È */
|
||||
FRT_REGISTER_LIGHT_INTENSITY_HIGH = 10, /* 光照强度高位 */
|
||||
FRT_REGISTER_LIGHT_INTENSITY_LOW = 11, /* 光照强度低位 */
|
||||
FRT_REGISTER_THROUGH_WIND_DIRECTION = 12, /* 极小风向 */
|
||||
FRT_REGISTER_INSTANTANEOUS_WIND_DIRECTION = 13, /* 瞬时风向 */
|
||||
FRT_REGISTER_PEAK_WIND_DIRECTION = 14, /* 极大风向 */
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include "FIR.h"
|
||||
#include "LowPassFilter.h"
|
||||
#include "encrypt.h"
|
||||
#include "rain.h"
|
||||
|
||||
#define AVE_TIME 600 //滑动平均时间,秒,最大600
|
||||
#define COVER_TINE 10 //探头遮挡后导致的接收次数过小的报错临界次数
|
||||
|
@ -1142,6 +1143,7 @@ void tem_hum_update_task(void const * argument)
|
|||
{
|
||||
osDelay(1000);
|
||||
if(!tem_hun_check_flag)continue;
|
||||
getLightRainData();//雨量光照
|
||||
time_s_temp_humi ++;
|
||||
// 温湿度大气压更新
|
||||
if (time_s_temp_humi >= g_usrConfigInfo.temp_hum_update_time)
|
||||
|
|
|
@ -1357,7 +1357,6 @@ void FRT_MsgProc_ReadRegister(device_handle device, void *pMsg)
|
|||
u_int16_t reg_num= (data[4] << 8)| data[5];
|
||||
if ( \
|
||||
start_reg_addr < 0x00 ||\
|
||||
/* (start_reg_addr > FRT_REGISTER_PRESSURE && start_reg_addr < FRT_REGISTER_THROUGH_WIND_DIRECTION) ||\ */
|
||||
(start_reg_addr > FRT_REGISTER_PEAK_WIND_SPEED && start_reg_addr < FRT_REGISTER_DEVICE_ADDR) ||\
|
||||
(start_reg_addr > FRT_REGISTER_TEMPHUM_UPDATE_TIME && start_reg_addr < FRT_REGISTER_TRANSDUCER_CFG_1R5) ||\
|
||||
start_reg_addr > FRT_REGISTER_ID_4 \
|
||||
|
@ -1370,7 +1369,6 @@ void FRT_MsgProc_ReadRegister(device_handle device, void *pMsg)
|
|||
|
||||
if ( \
|
||||
reg_num < 0x01 ||\
|
||||
/* (((reg_num + start_reg_addr - 1) > FRT_REGISTER_PRESSURE) && ((reg_num + start_reg_addr - 1) < FRT_REGISTER_THROUGH_WIND_DIRECTION)) ||\ */
|
||||
(((reg_num + start_reg_addr - 1) > FRT_REGISTER_PEAK_WIND_SPEED) && ((reg_num + start_reg_addr - 1) < FRT_REGISTER_DEVICE_ADDR)) ||\
|
||||
(((reg_num + start_reg_addr -1) > FRT_REGISTER_TEMPHUM_UPDATE_TIME) && ((reg_num + start_reg_addr -1) < FRT_REGISTER_TRANSDUCER_CFG_1R5)) ||\
|
||||
((reg_num + start_reg_addr -1) > FRT_REGISTER_ID_4) \
|
||||
|
|
|
@ -54,7 +54,7 @@ uart_device_info uart_devices[]={
|
|||
[3] = {
|
||||
.init = 0,
|
||||
.uart_index = RAIN_RS485_UART_INDEX,
|
||||
.uart_baudrate = 4800,
|
||||
.uart_baudrate = 9600,
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -19,28 +19,28 @@ void rainLightPowerOff(void)
|
|||
//获取雨量指令,返回的雨量是十倍,两个字节
|
||||
void getRainData(void)
|
||||
{
|
||||
uint8_t getRainDataCmd[] = {0x01, 0x03, 0x00, 0x00, 0x00, 0x01, 0x84, 0x0A};
|
||||
uint8_t getRainDataCmd[] = {0x01, 0x03, 0x00, 0x03, 0x00, 0x01, 0x74, 0x0A};
|
||||
uart_dev_write(g_rain_uart_handle, getRainDataCmd, sizeof(getRainDataCmd));
|
||||
}
|
||||
|
||||
//清空雨量指令
|
||||
void clearRainData(void)
|
||||
{
|
||||
uint8_t getRainDataCmd[] = {0x01, 0x06, 0x00, 0x00, 0x00, 0x5A, 0x09, 0xF1};
|
||||
uint8_t getRainDataCmd[] = {0x01, 0x06, 0x01, 0x05, 0x00, 0x00, 0x98, 0x37};
|
||||
uart_dev_write(g_rain_uart_handle, getRainDataCmd, sizeof(getRainDataCmd));
|
||||
}
|
||||
|
||||
//获取光照指令,返回一倍光照,四个字节
|
||||
void getLightData(void)
|
||||
{
|
||||
uint8_t getRainDataCmd[] = {0x01, 0x03, 0x00, 0x02, 0x00, 0x02, 0x65, 0xCB};
|
||||
uint8_t getRainDataCmd[] = {0x01, 0x03, 0x00, 0x05, 0x00, 0x02, 0xD4, 0x0A};
|
||||
uart_dev_write(g_rain_uart_handle, getRainDataCmd, sizeof(getRainDataCmd));
|
||||
}
|
||||
|
||||
//同时获取光照雨量指令,返回一倍光照,四个字节;十倍雨量两个字节
|
||||
void getLightRainData(void)
|
||||
{
|
||||
uint8_t getRainDataCmd[] = {0x01, 0x03, 0x00, 0x00, 0x00, 0x04, 0x44, 0x09};
|
||||
uint8_t getRainDataCmd[] = {0x01, 0x03, 0x00, 0x03, 0x00, 0x04, 0xB4, 0x09};
|
||||
uart_dev_write(g_rain_uart_handle, getRainDataCmd, sizeof(getRainDataCmd));
|
||||
}
|
||||
|
||||
|
@ -219,7 +219,7 @@ static void rainMsgHandler(device_handle device, u_int8_t *pMsg, u_int32_t MsgLe
|
|||
break;
|
||||
//数据光照雨量
|
||||
case 13:
|
||||
msgData[0] = pMsg[7];//¹âÕÕ
|
||||
msgData[0] = pMsg[7];
|
||||
msgData[1] = pMsg[8];
|
||||
msgData[2] = pMsg[9];
|
||||
msgData[3] = pMsg[10];
|
||||
|
|
Loading…
Reference in New Issue