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