|
|
@ -23,8 +23,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
SIO_PARAM_SERIAL_DEF serialport[MAX_SERIAL_PORT_NUM];
|
|
|
|
SIO_PARAM_SERIAL_DEF serialport[MAX_SERIAL_PORT_NUM];
|
|
|
|
SERIAL_PARAM devparam[MAX_SERIAL_DEV_NUM];
|
|
|
|
SERIAL_PARAM devparam[MAX_SERIAL_DEV_NUM];
|
|
|
|
#if 0
|
|
|
|
|
|
|
|
float weatherpntmsg[10];
|
|
|
|
//float weatherpntmsg[10];
|
|
|
|
|
|
|
|
|
|
|
|
static void setInt(int cmd, int value)
|
|
|
|
static void setInt(int cmd, int value)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -35,12 +35,31 @@ static void setInt(int cmd, int value)
|
|
|
|
// LOGE("set_int fd=%d,cmd=%d,value=%d\r\n",fd, cmd, value);
|
|
|
|
// LOGE("set_int fd=%d,cmd=%d,value=%d\r\n",fd, cmd, value);
|
|
|
|
if( fd > 0 )
|
|
|
|
if( fd > 0 )
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int res = ioctl(fd, IOT_PARAM_WRITE, ¶m);
|
|
|
|
ioctl(fd, IOT_PARAM_WRITE, ¶m);
|
|
|
|
// LOGE("set_int22 cmd=%d,value=%d,result=%d\r\n",param.cmd, param.value, param.result);
|
|
|
|
// LOGE("set_int22 cmd=%d,value=%d,result=%d\r\n",param.cmd, param.value, param.result);
|
|
|
|
close(fd);
|
|
|
|
close(fd);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return;
|
|
|
|
//return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int getInt(int cmd)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
int fd = open("/dev/mtkgpioctrl", O_RDONLY);
|
|
|
|
|
|
|
|
// LOGE("get_int fd=%d,cmd=%d\r\n",fd, cmd);
|
|
|
|
|
|
|
|
if( fd > 0 )
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
IOT_PARAM param;
|
|
|
|
|
|
|
|
param.cmd = cmd;
|
|
|
|
|
|
|
|
ioctl(fd, IOT_PARAM_READ, ¶m);
|
|
|
|
|
|
|
|
#ifdef _DEBUG
|
|
|
|
|
|
|
|
ALOGI("getInt cmd=%d,value=%d,result=%d\r\n",param.cmd, param.value, param.result);
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
close(fd);
|
|
|
|
|
|
|
|
return param.value;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static void setRS485Enable(bool z) {
|
|
|
|
static void setRS485Enable(bool z) {
|
|
|
|
setInt(CMD_SET_485_EN_STATE, z ? 1 : 0);
|
|
|
|
setInt(CMD_SET_485_EN_STATE, z ? 1 : 0);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -60,6 +79,8 @@ static void setCam3V3Enable(bool enabled)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
setInt(CMD_SET_CAM_3V3_EN_STATE, enabled ? 1 : 0);
|
|
|
|
setInt(CMD_SET_CAM_3V3_EN_STATE, enabled ? 1 : 0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
/*********************************************************************************
|
|
|
|
/*********************************************************************************
|
|
|
|
* 气象数据处理 *
|
|
|
|
* 气象数据处理 *
|
|
|
|
**********************************************************************************/
|
|
|
|
**********************************************************************************/
|
|
|
@ -510,13 +531,13 @@ AI_DEF rallypntmsg[6][RALLY_DATA_NUM];
|
|
|
|
AI_DEF slantpntmsg[6][SLANTANGLE_DATA_NUM];
|
|
|
|
AI_DEF slantpntmsg[6][SLANTANGLE_DATA_NUM];
|
|
|
|
|
|
|
|
|
|
|
|
//extern void * memset(void *m, int c, unsigned int n);
|
|
|
|
//extern void * memset(void *m, int c, unsigned int n);
|
|
|
|
extern int atoi(const char *s);
|
|
|
|
//extern int atoi(const char *s);
|
|
|
|
//extern int Gm_GetSamplingTimeSec(void);
|
|
|
|
//extern int Gm_GetSamplingTimeSec(void);
|
|
|
|
//extern void Delayms(kal_uint32 time);
|
|
|
|
//extern void Delayms(kal_uint32 time);
|
|
|
|
extern void srand( unsigned int seed );
|
|
|
|
//extern void srand( unsigned int seed );
|
|
|
|
extern int rand( void );
|
|
|
|
//extern int rand( void );
|
|
|
|
|
|
|
|
|
|
|
|
static long get_msec(void )
|
|
|
|
static long get_msec()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
struct timeval tv;
|
|
|
|
struct timeval tv;
|
|
|
|
|
|
|
|
|
|
|
@ -529,40 +550,48 @@ static long get_msec(void )
|
|
|
|
/*
|
|
|
|
/*
|
|
|
|
打开串口电源
|
|
|
|
打开串口电源
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
void Gm_OpenSerialPower(void)
|
|
|
|
void Gm_OpenSerialPower()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
/*由传送的主站的地方来控制串口电源,这里不实现*/;
|
|
|
|
/*由传送的主站的地方来控制串口电源,这里不实现*/;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 关闭串口电源
|
|
|
|
// 关闭串口电源
|
|
|
|
void Gm_CloseSerialPower(void)
|
|
|
|
void Gm_CloseSerialPower()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 关闭传感器电源
|
|
|
|
// 关闭传感器电源
|
|
|
|
void Gm_CloseSensorsPower(int port)
|
|
|
|
void Gm_CloseSensorsPower(int port)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
char iIoNo;
|
|
|
|
//char iIoNo;
|
|
|
|
char szbuf[128];
|
|
|
|
char szbuf[128];
|
|
|
|
|
|
|
|
|
|
|
|
sprintf(szbuf, "Close Sensors port %d Power!", port);
|
|
|
|
sprintf(szbuf, "Close Sensors port %d Power!", port);
|
|
|
|
|
|
|
|
|
|
|
|
/* 关闭电源*/
|
|
|
|
/* 关闭电源*/
|
|
|
|
//switch(port)
|
|
|
|
//switch(port)
|
|
|
|
|
|
|
|
/* 根据硬件具体布置最后调整,目前是微拍板子的来控制*/
|
|
|
|
|
|
|
|
set12VEnable(false);
|
|
|
|
|
|
|
|
setCam3V3Enable(false);
|
|
|
|
|
|
|
|
setRS485Enable(false);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 打开传感器电源
|
|
|
|
// 打开传感器电源
|
|
|
|
void Gm_OpenSensorsPower(int port)
|
|
|
|
void Gm_OpenSensorsPower(int port)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
char iIoNo;
|
|
|
|
//char iIoNo;
|
|
|
|
char szbuf[128];
|
|
|
|
char szbuf[128];
|
|
|
|
|
|
|
|
|
|
|
|
if(0 == port)
|
|
|
|
if(0 == port)
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
sprintf(szbuf, "Open Sensors port %d Power!", port);
|
|
|
|
sprintf(szbuf, "Open Sensors port %d Power!", port);
|
|
|
|
/* 打开电源*/
|
|
|
|
|
|
|
|
|
|
|
|
set12VEnable(true);
|
|
|
|
|
|
|
|
setCam3V3Enable(true);
|
|
|
|
|
|
|
|
setRS485Enable(true);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 打开电源*/
|
|
|
|
//switch(port)
|
|
|
|
//switch(port)
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -638,7 +667,7 @@ void Gm_OpenSerialPort(int devidx)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 关闭串口通讯
|
|
|
|
// 关闭串口通讯
|
|
|
|
void Gm_CloseSerialPort(void)
|
|
|
|
void Gm_CloseSerialPort()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int i;
|
|
|
|
int i;
|
|
|
|
|
|
|
|
|
|
|
@ -706,7 +735,7 @@ int Gm_SetSerialPortParam(int commid)
|
|
|
|
return ret;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void Gm_InitSerialComm_Test(void)
|
|
|
|
void Gm_InitSerialComm_Test()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int i, j;
|
|
|
|
int i, j;
|
|
|
|
|
|
|
|
|
|
|
@ -740,7 +769,8 @@ void Gm_InitSerialComm_Test(void)
|
|
|
|
devparam[0].parity = 0;
|
|
|
|
devparam[0].parity = 0;
|
|
|
|
devparam[0].IsNoInsta = 1;
|
|
|
|
devparam[0].IsNoInsta = 1;
|
|
|
|
//devparam[0].PowerPort = 2;
|
|
|
|
//devparam[0].PowerPort = 2;
|
|
|
|
devparam[0].devaddr = 4;
|
|
|
|
//devparam[0].devaddr = 4;
|
|
|
|
|
|
|
|
devparam[0].devaddr = 2;
|
|
|
|
|
|
|
|
|
|
|
|
devparam[1].ProtocolIdx = WEATHER_PROTOCOL;
|
|
|
|
devparam[1].ProtocolIdx = WEATHER_PROTOCOL;
|
|
|
|
devparam[1].baudrate = B9600;
|
|
|
|
devparam[1].baudrate = B9600;
|
|
|
@ -750,17 +780,20 @@ void Gm_InitSerialComm_Test(void)
|
|
|
|
devparam[1].parity = 0;
|
|
|
|
devparam[1].parity = 0;
|
|
|
|
devparam[1].IsNoInsta = 1;
|
|
|
|
devparam[1].IsNoInsta = 1;
|
|
|
|
//devparam[1].PowerPort = 14;
|
|
|
|
//devparam[1].PowerPort = 14;
|
|
|
|
devparam[1].devaddr = 1;
|
|
|
|
//devparam[1].devaddr = 1;
|
|
|
|
#if 0
|
|
|
|
devparam[1].devaddr = 13;
|
|
|
|
devparam[2].ProtocolIdx = SLANT_PROTOCOL;
|
|
|
|
|
|
|
|
devparam[2].baudrate = 1200;
|
|
|
|
devparam[2].ProtocolIdx = RALLY_PROTOCOL;
|
|
|
|
|
|
|
|
devparam[2].baudrate = B9600;
|
|
|
|
devparam[2].databit = 8;
|
|
|
|
devparam[2].databit = 8;
|
|
|
|
devparam[2].stopbit = 1;
|
|
|
|
memset(devparam[2].stopbit, 0, sizeof(devparam[2].stopbit));
|
|
|
|
|
|
|
|
sprintf(devparam[2].stopbit, "1");
|
|
|
|
devparam[2].parity = 0;
|
|
|
|
devparam[2].parity = 0;
|
|
|
|
devparam[2].IsNoInsta = 0;
|
|
|
|
devparam[2].IsNoInsta = 1;
|
|
|
|
//devparam[2].PowerPort = 3;
|
|
|
|
//devparam[2].PowerPort = 3;
|
|
|
|
devparam[2].devaddr = 2;
|
|
|
|
//devparam[2].devaddr = 13;
|
|
|
|
|
|
|
|
devparam[2].devaddr = 13;
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
devparam[3].ProtocolIdx = PELCO_P_PROTOCOL;
|
|
|
|
devparam[3].ProtocolIdx = PELCO_P_PROTOCOL;
|
|
|
|
devparam[3].baudrate = 9600;
|
|
|
|
devparam[3].baudrate = 9600;
|
|
|
|
devparam[3].databit = 8;
|
|
|
|
devparam[3].databit = 8;
|
|
|
@ -852,16 +885,18 @@ void Gm_InitSerialComm_Test(void)
|
|
|
|
devparam[12].IsNoInsta = 1;
|
|
|
|
devparam[12].IsNoInsta = 1;
|
|
|
|
//devparam[12].PowerPort = 8;
|
|
|
|
//devparam[12].PowerPort = 8;
|
|
|
|
devparam[12].devaddr = 5;
|
|
|
|
devparam[12].devaddr = 5;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
devparam[13].ProtocolIdx = SLANT_PROTOCOL;
|
|
|
|
devparam[13].ProtocolIdx = SLANT_PROTOCOL;
|
|
|
|
devparam[13].baudrate = 1200;
|
|
|
|
devparam[13].baudrate = B9600;
|
|
|
|
devparam[13].databit = 8;
|
|
|
|
devparam[13].databit = 8;
|
|
|
|
devparam[13].stopbit = 1;
|
|
|
|
memset(devparam[13].stopbit, 0, sizeof(devparam[13].stopbit));
|
|
|
|
|
|
|
|
sprintf(devparam[13].stopbit, "1");
|
|
|
|
devparam[13].parity = 0;
|
|
|
|
devparam[13].parity = 0;
|
|
|
|
//devparam[13].PowerPort = 4;
|
|
|
|
//devparam[13].PowerPort = 4;
|
|
|
|
devparam[13].IsNoInsta = 1;
|
|
|
|
devparam[13].IsNoInsta = 1;
|
|
|
|
devparam[13].devaddr = 2;
|
|
|
|
devparam[13].devaddr = 2;
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
devparam[14].ProtocolIdx = SLANT_PROTOCOL;
|
|
|
|
devparam[14].ProtocolIdx = SLANT_PROTOCOL;
|
|
|
|
devparam[14].baudrate = 1200;
|
|
|
|
devparam[14].baudrate = 1200;
|
|
|
|
devparam[14].databit = 8;
|
|
|
|
devparam[14].databit = 8;
|
|
|
@ -935,7 +970,7 @@ void Gm_InitSerialComm_Test(void)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 初始化所有串口及所接传感器的配置
|
|
|
|
// 初始化所有串口及所接传感器的配置
|
|
|
|
void Gm_InitSerialComm(void)
|
|
|
|
void Gm_InitSerialComm()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int i;
|
|
|
|
int i;
|
|
|
|
char szbuf[128];
|
|
|
|
char szbuf[128];
|
|
|
@ -1003,7 +1038,6 @@ void Gm_InitSerialComm(void)
|
|
|
|
else
|
|
|
|
else
|
|
|
|
sprintf(szbuf, "已启用!;");
|
|
|
|
sprintf(szbuf, "已启用!;");
|
|
|
|
LOGI("%s", szbuf);
|
|
|
|
LOGI("%s", szbuf);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
#if 0
|
|
|
|
#if 0
|
|
|
@ -1041,7 +1075,7 @@ void Gm_InitSerialComm(void)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 通过传感器名称来确定使用的串口号
|
|
|
|
// 通过传感器名称来确定使用的串口号
|
|
|
|
void FindDevUseSerialCommNo(void)
|
|
|
|
void FindDevUseSerialCommNo()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int i;
|
|
|
|
int i;
|
|
|
|
|
|
|
|
|
|
|
@ -1068,7 +1102,7 @@ void FindDevUseSerialCommNo(void)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void GM_StartSerialComm(void)
|
|
|
|
void GM_StartSerialComm()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int i, j;
|
|
|
|
int i, j;
|
|
|
|
char szbuf[64];
|
|
|
|
char szbuf[64];
|
|
|
@ -1128,10 +1162,37 @@ void GM_StartSerialComm(void)
|
|
|
|
srdt.ms_dev[i].IsNeedSerial = 0;
|
|
|
|
srdt.ms_dev[i].IsNeedSerial = 0;
|
|
|
|
continue;
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// 测试查询传感器电源状态
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
|
|
|
|
LOGE("12V state=%d", getInt(CMD_SET_12V_EN_STATE));
|
|
|
|
|
|
|
|
LOGE("3.3V state= %d", getInt(CMD_SET_CAM_3V3_EN_STATE));
|
|
|
|
|
|
|
|
LOGE("485 state=%d", getInt(CMD_SET_485_EN_STATE));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
set12VEnable(true);
|
|
|
|
|
|
|
|
setCam3V3Enable(true);
|
|
|
|
|
|
|
|
setRS485Enable(true);
|
|
|
|
|
|
|
|
sleep(1);
|
|
|
|
|
|
|
|
LOGV("12V state=%d", getInt(CMD_SET_12V_EN_STATE));
|
|
|
|
|
|
|
|
LOGV("3.3V state= %d", getInt(CMD_SET_CAM_3V3_EN_STATE));
|
|
|
|
|
|
|
|
LOGV("485 state=%d", getInt(CMD_SET_485_EN_STATE));
|
|
|
|
|
|
|
|
set12VEnable(false);
|
|
|
|
|
|
|
|
setCam3V3Enable(false);
|
|
|
|
|
|
|
|
setRS485Enable(false);
|
|
|
|
|
|
|
|
sleep(1);
|
|
|
|
|
|
|
|
LOGE("12V state=%d", getInt(CMD_SET_12V_EN_STATE));
|
|
|
|
|
|
|
|
LOGE("3.3V state= %d", getInt(CMD_SET_CAM_3V3_EN_STATE));
|
|
|
|
|
|
|
|
LOGE("485 state=%d", getInt(CMD_SET_485_EN_STATE));
|
|
|
|
|
|
|
|
#endif
|
|
|
|
// 打开传感器电源
|
|
|
|
// 打开传感器电源
|
|
|
|
// 打开对应的485电源
|
|
|
|
// 打开对应的485电源
|
|
|
|
// 打开串口通讯
|
|
|
|
// 打开串口通讯
|
|
|
|
Gm_OpenSerialPort(i);
|
|
|
|
if(1 == srdt.ms_dev[i].IsNeedSerial)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
Gm_OpenSensorsPower(i);
|
|
|
|
|
|
|
|
Gm_OpenSerialPort(i);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
//LOGV("12V state=%d", getInt(CMD_SET_12V_EN_STATE));
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
LOGI("启动数据采样!");
|
|
|
|
LOGI("启动数据采样!");
|
|
|
@ -1139,11 +1200,12 @@ void GM_StartSerialComm(void)
|
|
|
|
polltime = get_msec();
|
|
|
|
polltime = get_msec();
|
|
|
|
for(;;)
|
|
|
|
for(;;)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
usleep(TIMER_CNT*100);
|
|
|
|
usleep(10);
|
|
|
|
//LOGW("polltime=%ldms", get_msec()-polltime);
|
|
|
|
LOGW("polltime=%ldms", get_msec()-polltime);
|
|
|
|
polltime = get_msec();
|
|
|
|
polltime = get_msec();
|
|
|
|
if(GM_SerialTimer() < 0)
|
|
|
|
if(GM_SerialTimer() < 0)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
//LOGE("12V state=%d", getInt(CMD_SET_12V_EN_STATE));
|
|
|
|
LOGV("退出采样流程!");
|
|
|
|
LOGV("退出采样流程!");
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -1165,7 +1227,8 @@ void GM_StartSerialCameraPhoto(BYTE channel, int cmdidx)
|
|
|
|
//DebugStringPrintf(szbuf, strlen(szbuf), 1);
|
|
|
|
//DebugStringPrintf(szbuf, strlen(szbuf), 1);
|
|
|
|
if(0 == srdt.selfflag)
|
|
|
|
if(0 == srdt.selfflag)
|
|
|
|
srdt.selfflag = 1;
|
|
|
|
srdt.selfflag = 1;
|
|
|
|
Gm_OpenSerialPower();
|
|
|
|
//Gm_OpenSerialPower();
|
|
|
|
|
|
|
|
//Gm_OpenSensorsPower();
|
|
|
|
//if(0x00 == srdt.sampling)
|
|
|
|
//if(0x00 == srdt.sampling)
|
|
|
|
//{
|
|
|
|
//{
|
|
|
|
// Gm_OpenSerialPort();
|
|
|
|
// Gm_OpenSerialPort();
|
|
|
@ -1242,10 +1305,12 @@ int GM_SerialTimer(void)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
int flag = -1;
|
|
|
|
int flag = -1;
|
|
|
|
|
|
|
|
|
|
|
|
Gm_FindAllSensorsCommand();
|
|
|
|
GM_AllSerialComRecv();
|
|
|
|
GM_IsCloseSensors();
|
|
|
|
GM_IsCloseSensors();
|
|
|
|
|
|
|
|
Gm_FindAllSensorsCommand();
|
|
|
|
GM_AllSerialComRecv();
|
|
|
|
GM_AllSerialComRecv();
|
|
|
|
flag = GM_CloseTimer();
|
|
|
|
flag = GM_CloseTimer();
|
|
|
|
|
|
|
|
//LOGE("12V state=%d", getInt(CMD_SET_12V_EN_STATE));
|
|
|
|
return flag;
|
|
|
|
return flag;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -1263,7 +1328,7 @@ void Gm_FindAllSensorsCommand(void)
|
|
|
|
//Gm_CheckSensorsPower(); /* 暂时不考虑电源控制*/
|
|
|
|
//Gm_CheckSensorsPower(); /* 暂时不考虑电源控制*/
|
|
|
|
for(j=0; j<MAX_SERIAL_PORT_NUM; j++)
|
|
|
|
for(j=0; j<MAX_SERIAL_PORT_NUM; j++)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
// 发送缓冲区中命令
|
|
|
|
// 发送缓冲区中命令 接收到了应答报文,紧接着进行缓冲区清理
|
|
|
|
SendCmdFormPollCmdBuf(j);
|
|
|
|
SendCmdFormPollCmdBuf(j);
|
|
|
|
// 串口已经被占用则直接跳过
|
|
|
|
// 串口已经被占用则直接跳过
|
|
|
|
curidx = srdt.curdevidx[j];
|
|
|
|
curidx = srdt.curdevidx[j];
|
|
|
@ -1278,6 +1343,10 @@ void Gm_FindAllSensorsCommand(void)
|
|
|
|
Gm_OpenSerialPort(curidx);
|
|
|
|
Gm_OpenSerialPort(curidx);
|
|
|
|
if(serialport[devparam[curidx].commid].cmdlen > 0)
|
|
|
|
if(serialport[devparam[curidx].commid].cmdlen > 0)
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
//LOGE("12V state=%d", getInt(CMD_SET_12V_EN_STATE));
|
|
|
|
|
|
|
|
//LOGE("3.3V state= %d", getInt(CMD_SET_CAM_3V3_EN_STATE));
|
|
|
|
|
|
|
|
//LOGE("485 state=%d", getInt(CMD_SET_485_EN_STATE));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
flag = -1;
|
|
|
|
flag = -1;
|
|
|
|
switch(devparam[curidx].ProtocolIdx)
|
|
|
|
switch(devparam[curidx].ProtocolIdx)
|
|
|
@ -1304,6 +1373,8 @@ void Gm_FindAllSensorsCommand(void)
|
|
|
|
srdt.curdevidx[j] = curidx;
|
|
|
|
srdt.curdevidx[j] = curidx;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// 发送缓冲区中命令 生成了命令之后紧接着进行命令发送
|
|
|
|
|
|
|
|
SendCmdFormPollCmdBuf(j);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -1382,13 +1453,17 @@ void GM_AllSerialComRecv(void)
|
|
|
|
memset(recvbuf, 0, sizeof(recvbuf));
|
|
|
|
memset(recvbuf, 0, sizeof(recvbuf));
|
|
|
|
if(serialport[j].fd < 0)
|
|
|
|
if(serialport[j].fd < 0)
|
|
|
|
continue;
|
|
|
|
continue;
|
|
|
|
recvlen = read(serialport[j].fd, recvbuf, sizeof(recvbuf));/* 在串口读取字符串 */
|
|
|
|
for(;;)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
recvlen = read(serialport[j].fd, recvbuf, sizeof(recvbuf));/* 在串口读取字符串 */
|
|
|
|
|
|
|
|
|
|
|
|
if(recvlen < 1)
|
|
|
|
if(recvlen < 1)
|
|
|
|
continue;
|
|
|
|
break;
|
|
|
|
sprintf(buf, "收到串口%d, %d字节数据:", j+1, recvlen);
|
|
|
|
sprintf(buf, "收到串口%d, %d字节数据:", j+1, recvlen);
|
|
|
|
BytestreamLOG(buf, recvbuf, recvlen, 'I');
|
|
|
|
BytestreamLOG(buf, recvbuf, recvlen, 'I');
|
|
|
|
|
|
|
|
|
|
|
|
SerialDataProcess(srdt.curdevidx[j], recvbuf, recvlen);
|
|
|
|
SerialDataProcess(srdt.curdevidx[j], recvbuf, recvlen);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -1484,6 +1559,8 @@ int GM_CloseTimer(void)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
Gm_CloseSerialPort();
|
|
|
|
Gm_CloseSerialPort();
|
|
|
|
|
|
|
|
for(j=0; j< MAX_SERIAL_DEV_NUM; j++)
|
|
|
|
|
|
|
|
Gm_CloseSensorsPower(j);
|
|
|
|
for(j=0; j<MAX_SERIAL_PORT_NUM; j++)
|
|
|
|
for(j=0; j<MAX_SERIAL_PORT_NUM; j++)
|
|
|
|
ClearCmdFormPollCmdBuf(j);
|
|
|
|
ClearCmdFormPollCmdBuf(j);
|
|
|
|
sprintf(buf, "关闭串口定时器!");
|
|
|
|
sprintf(buf, "关闭串口定时器!");
|
|
|
@ -1531,11 +1608,10 @@ void SerialDataProcess(int devidx, u_char *buf, int len)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
switch(devparam[devidx].ProtocolIdx)
|
|
|
|
switch(devparam[devidx].ProtocolIdx)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
#if 1
|
|
|
|
|
|
|
|
case WEATHER_PROTOCOL: /* 气象*/
|
|
|
|
case WEATHER_PROTOCOL: /* 气象*/
|
|
|
|
case RALLY_PROTOCOL: /* 拉力*/
|
|
|
|
case RALLY_PROTOCOL: /* 拉力*/
|
|
|
|
case WIND_PROTOCOL: /* 风速风向*/
|
|
|
|
case WIND_PROTOCOL: /* 风速风向*/
|
|
|
|
#endif
|
|
|
|
|
|
|
|
case SLANT_PROTOCOL: /* 倾角*/
|
|
|
|
case SLANT_PROTOCOL: /* 倾角*/
|
|
|
|
ShxyProtocolRecvData(devidx, buf, len);
|
|
|
|
ShxyProtocolRecvData(devidx, buf, len);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -1746,7 +1822,7 @@ long lsendtime=0;
|
|
|
|
void SendCmdFormPollCmdBuf( int port )
|
|
|
|
void SendCmdFormPollCmdBuf( int port )
|
|
|
|
{
|
|
|
|
{
|
|
|
|
char buf[64];
|
|
|
|
char buf[64];
|
|
|
|
int len, idelay=0, i, ret;
|
|
|
|
int len, idelay=0, ret;
|
|
|
|
SIO_PARAM_SERIAL_DEF *pPortParam;
|
|
|
|
SIO_PARAM_SERIAL_DEF *pPortParam;
|
|
|
|
//int recvlen;
|
|
|
|
//int recvlen;
|
|
|
|
//u_char recvbuf[300];
|
|
|
|
//u_char recvbuf[300];
|
|
|
@ -1822,7 +1898,7 @@ void SendCmdFormPollCmdBuf( int port )
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
sprintf(buf, "发送串口%d 装置%d命令:", port+1, srdt.curdevidx[port]+1);
|
|
|
|
sprintf(buf, "发送串口%d 装置%d命令:", port+1, srdt.curdevidx[port]+1);
|
|
|
|
BytestreamLOG(buf, &pPortParam->PollCmd[i+2], len, 'D');
|
|
|
|
BytestreamLOG(buf, &pPortParam->PollCmd[2], len, 'D');
|
|
|
|
LOGW("sendtimeconst= %ld", get_msec()-lsendtime);
|
|
|
|
LOGW("sendtimeconst= %ld", get_msec()-lsendtime);
|
|
|
|
lsendtime = get_msec();
|
|
|
|
lsendtime = get_msec();
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -2303,12 +2379,18 @@ int FindNextShxyProtocolCommand( int devidx )
|
|
|
|
//srdt.ms_dev[devidx].FirstCmdTimeCnt++;
|
|
|
|
//srdt.ms_dev[devidx].FirstCmdTimeCnt++;
|
|
|
|
return -1;
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//if(SLANT_PROTOCOL == devparam[devidx].ProtocolIdx)
|
|
|
|
#if 0
|
|
|
|
// MakeShxyProtocolPollCommand(devidx, 0x06);
|
|
|
|
if(SLANT_PROTOCOL == devparam[devidx].ProtocolIdx)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
devparam[devidx].devaddr = 0xFF;
|
|
|
|
|
|
|
|
MakeShxyProtocolPollCommand(devidx, 0x02);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//else if(WEATHER_PROTOCOL== devparam[devidx].ProtocolIdx)
|
|
|
|
//else if(WEATHER_PROTOCOL== devparam[devidx].ProtocolIdx)
|
|
|
|
|
|
|
|
// MakeShxyProtocolPollCommand(devidx, 0x09);
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
#endif
|
|
|
|
MakeShxyProtocolPollCommand(devidx, 0x09);
|
|
|
|
MakeShxyProtocolPollCommand(devidx, 0x09);
|
|
|
|
//else
|
|
|
|
|
|
|
|
//MakeShxyProtocolPollCommand(devidx, 0x08);
|
|
|
|
|
|
|
|
srdt.curdevidx[srdt.ms_dev[devidx].UseSerialidx] = devidx;
|
|
|
|
srdt.curdevidx[srdt.ms_dev[devidx].UseSerialidx] = devidx;
|
|
|
|
return 1;
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -2488,28 +2570,27 @@ void ShxyProtocolDataProcess( int commid)
|
|
|
|
BYTE cmdidx;
|
|
|
|
BYTE cmdidx;
|
|
|
|
int i, j, aipnt, datanum;
|
|
|
|
int i, j, aipnt, datanum;
|
|
|
|
SERIAL_DEV_DEF *pPortParam;
|
|
|
|
SERIAL_DEV_DEF *pPortParam;
|
|
|
|
SIO_PARAM_SERIAL_DEF *serialport;
|
|
|
|
SIO_PARAM_SERIAL_DEF *curserial;
|
|
|
|
char szbuf[64];
|
|
|
|
char szbuf[64];
|
|
|
|
|
|
|
|
|
|
|
|
pPortParam = &srdt.ms_dev[commid];
|
|
|
|
pPortParam = &srdt.ms_dev[commid];
|
|
|
|
serialport = &serialport[pPortParam->UseSerialidx];
|
|
|
|
curserial = &serialport[devparam[commid].commid];
|
|
|
|
|
|
|
|
|
|
|
|
//取出装置地址,开始处理地址+++
|
|
|
|
//取出装置地址,开始处理地址+++
|
|
|
|
if(0x02 == serialport->m_au8RecvBuf[5])
|
|
|
|
if(0x02 == curserial->m_au8RecvBuf[5])
|
|
|
|
{
|
|
|
|
{
|
|
|
|
devparam[commid].devaddr = serialport->m_au8RecvBuf[4];
|
|
|
|
devparam[commid].devaddr = curserial->m_au8RecvBuf[4];
|
|
|
|
//pPortParam->LinkOk = TRUE;
|
|
|
|
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
cmdidx = serialport->m_au8RecvBuf[5];
|
|
|
|
cmdidx = curserial->m_au8RecvBuf[5];
|
|
|
|
aipnt = pPortParam->SameTypeDevIdx;
|
|
|
|
aipnt = pPortParam->SameTypeDevIdx;
|
|
|
|
uDevAddr = serialport->m_au8RecvBuf[4];
|
|
|
|
uDevAddr = curserial->m_au8RecvBuf[4];
|
|
|
|
|
|
|
|
|
|
|
|
fvalua = &fvalue;
|
|
|
|
fvalua = &fvalue;
|
|
|
|
if(0x06 == cmdidx)
|
|
|
|
if(0x06 == cmdidx)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(0x08 !=serialport->m_au8RecvBuf[1])
|
|
|
|
if(0x08 !=curserial->m_au8RecvBuf[1])
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
pPortParam->recvdatacnt++;
|
|
|
|
pPortParam->recvdatacnt++;
|
|
|
|
if(pPortParam->recvdatacnt < 2)
|
|
|
|
if(pPortParam->recvdatacnt < 2)
|
|
|
@ -2517,10 +2598,10 @@ void ShxyProtocolDataProcess( int commid)
|
|
|
|
// ++++++++++++++++++++++++++++
|
|
|
|
// ++++++++++++++++++++++++++++
|
|
|
|
//g_SelfTest.SensorsFault |= (0x800<<aipnt);
|
|
|
|
//g_SelfTest.SensorsFault |= (0x800<<aipnt);
|
|
|
|
|
|
|
|
|
|
|
|
*(BYTE*)fvalua = serialport->m_au8RecvBuf[9];
|
|
|
|
*(BYTE*)fvalua = curserial->m_au8RecvBuf[9];
|
|
|
|
*((BYTE*)fvalua+1) = serialport->m_au8RecvBuf[8];
|
|
|
|
*((BYTE*)fvalua+1) = curserial->m_au8RecvBuf[8];
|
|
|
|
*((BYTE*)fvalua+2) = serialport->m_au8RecvBuf[7];
|
|
|
|
*((BYTE*)fvalua+2) = curserial->m_au8RecvBuf[7];
|
|
|
|
*((BYTE*)fvalua+3) = serialport->m_au8RecvBuf[6];
|
|
|
|
*((BYTE*)fvalua+3) = curserial->m_au8RecvBuf[6];
|
|
|
|
if((fvalue < -59) ||(fvalue > 59))
|
|
|
|
if((fvalue < -59) ||(fvalue > 59))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
frnb = (GeneratingRandomNumber()%101-50)/1000.0;
|
|
|
|
frnb = (GeneratingRandomNumber()%101-50)/1000.0;
|
|
|
@ -2538,10 +2619,10 @@ void ShxyProtocolDataProcess( int commid)
|
|
|
|
//XslantSec[aipnt][srdt.SectimesamplingCnt[0]] = (short)slantpntmsg[aipnt][0].EuValue;
|
|
|
|
//XslantSec[aipnt][srdt.SectimesamplingCnt[0]] = (short)slantpntmsg[aipnt][0].EuValue;
|
|
|
|
//srdt.SectimesamplingCnt[0] += 1;
|
|
|
|
//srdt.SectimesamplingCnt[0] += 1;
|
|
|
|
|
|
|
|
|
|
|
|
*(BYTE*)fvalua = serialport->m_au8RecvBuf[13];
|
|
|
|
*(BYTE*)fvalua = curserial->m_au8RecvBuf[13];
|
|
|
|
*((BYTE*)fvalua+1) = serialport->m_au8RecvBuf[12];
|
|
|
|
*((BYTE*)fvalua+1) = curserial->m_au8RecvBuf[12];
|
|
|
|
*((BYTE*)fvalua+2) = serialport->m_au8RecvBuf[11];
|
|
|
|
*((BYTE*)fvalua+2) = curserial->m_au8RecvBuf[11];
|
|
|
|
*((BYTE*)fvalua+3) = serialport->m_au8RecvBuf[10];
|
|
|
|
*((BYTE*)fvalua+3) = curserial->m_au8RecvBuf[10];
|
|
|
|
//if ((gDisSunRain & 0x20) == 0x20)
|
|
|
|
//if ((gDisSunRain & 0x20) == 0x20)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
sprintf(szbuf, "Y =%0.3f ", fvalue);
|
|
|
|
sprintf(szbuf, "Y =%0.3f ", fvalue);
|
|
|
@ -2559,7 +2640,7 @@ void ShxyProtocolDataProcess( int commid)
|
|
|
|
//YslantSec[aipnt][srdt.SectimesamplingCnt[1]] = (short)slantpntmsg[aipnt][1].EuValue;
|
|
|
|
//YslantSec[aipnt][srdt.SectimesamplingCnt[1]] = (short)slantpntmsg[aipnt][1].EuValue;
|
|
|
|
srdt.SectimesamplingCnt[1] += 1;
|
|
|
|
srdt.SectimesamplingCnt[1] += 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
datanum = serialport->m_au8RecvBuf[6];
|
|
|
|
datanum = curserial->m_au8RecvBuf[6];
|
|
|
|
if((0x08 != cmdidx) && (0x09 != cmdidx))
|
|
|
|
if((0x08 != cmdidx) && (0x09 != cmdidx))
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
|
@ -2577,19 +2658,19 @@ void ShxyProtocolDataProcess( int commid)
|
|
|
|
aipnt = pPortParam->SameTypeDevIdx;
|
|
|
|
aipnt = pPortParam->SameTypeDevIdx;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
for(i = 0, j=7; (i<datanum) && (j<6+serialport->m_au8RecvBuf[1]); i++, j+=5 )
|
|
|
|
for(i = 0, j=7; (i<datanum) && (j<6+curserial->m_au8RecvBuf[1]); i++, j+=5 )
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if(0x08 == cmdidx)
|
|
|
|
if(0x08 == cmdidx)
|
|
|
|
fvalue = (serialport->m_au8RecvBuf[j+1]<<24)+(serialport->m_au8RecvBuf[j+2]<<16)
|
|
|
|
fvalue = (curserial->m_au8RecvBuf[j+1]<<24)+(curserial->m_au8RecvBuf[j+2]<<16)
|
|
|
|
+(serialport->m_au8RecvBuf[j+3]<<8)+serialport->m_au8RecvBuf[j+4];
|
|
|
|
+(curserial->m_au8RecvBuf[j+3]<<8)+curserial->m_au8RecvBuf[j+4];
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
*(BYTE*)fvalua = serialport->m_au8RecvBuf[j+4];
|
|
|
|
*(BYTE*)fvalua = curserial->m_au8RecvBuf[j+4];
|
|
|
|
*((BYTE*)fvalua+1) = serialport->m_au8RecvBuf[j+3];
|
|
|
|
*((BYTE*)fvalua+1) = curserial->m_au8RecvBuf[j+3];
|
|
|
|
*((BYTE*)fvalua+2) = serialport->m_au8RecvBuf[j+2];
|
|
|
|
*((BYTE*)fvalua+2) = curserial->m_au8RecvBuf[j+2];
|
|
|
|
*((BYTE*)fvalua+3) = serialport->m_au8RecvBuf[j+1];
|
|
|
|
*((BYTE*)fvalua+3) = curserial->m_au8RecvBuf[j+1];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
switch(serialport->m_au8RecvBuf[j])
|
|
|
|
switch(curserial->m_au8RecvBuf[j])
|
|
|
|
{
|
|
|
|
{
|
|
|
|
case 1: /*温度*/
|
|
|
|
case 1: /*温度*/
|
|
|
|
if((fvalue < -40) ||(fvalue > 85))
|
|
|
|
if((fvalue < -40) ||(fvalue > 85))
|
|
|
@ -2659,7 +2740,7 @@ void ShxyProtocolDataProcess( int commid)
|
|
|
|
//if(fvalue/1000 > 25)
|
|
|
|
//if(fvalue/1000 > 25)
|
|
|
|
// fwind -= 1.2;
|
|
|
|
// fwind -= 1.2;
|
|
|
|
//sprintf(szbuf, "风速:%0.3f ", fwind);
|
|
|
|
//sprintf(szbuf, "风速:%0.3f ", fwind);
|
|
|
|
sprintf(szbuf, "风速:%0.3f ", fvalue/1000);
|
|
|
|
sprintf(szbuf, "风速:%0.3f ", fvalue);
|
|
|
|
LOGV("%s", szbuf);
|
|
|
|
LOGV("%s", szbuf);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -2675,7 +2756,7 @@ void ShxyProtocolDataProcess( int commid)
|
|
|
|
//g_SelfTest.SensorsFault |= (0x08);
|
|
|
|
//g_SelfTest.SensorsFault |= (0x08);
|
|
|
|
//if ((gDisSunRain & 0x10) == 0x10)
|
|
|
|
//if ((gDisSunRain & 0x10) == 0x10)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
sprintf(szbuf, "风向:%0.3f ", fvalue/1000);
|
|
|
|
sprintf(szbuf, "风向:%0.3f ", fvalue);
|
|
|
|
LOGV("%s", szbuf);
|
|
|
|
LOGV("%s", szbuf);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
@ -2708,7 +2789,7 @@ void ShxyProtocolDataProcess( int commid)
|
|
|
|
rallypntmsg[aipnt][0].AiState = 1;
|
|
|
|
rallypntmsg[aipnt][0].AiState = 1;
|
|
|
|
//if ((gDisSunRain & 0x10) == 0x10)
|
|
|
|
//if ((gDisSunRain & 0x10) == 0x10)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
sprintf(szbuf, "地址%d拉力:%0.3fKg ", devparam[commid].devaddr, fvalue/1000.0);
|
|
|
|
sprintf(szbuf, "地址%d拉力:%0.3fKg ", devparam[commid].devaddr, fvalue);
|
|
|
|
LOGV("%s", szbuf);
|
|
|
|
LOGV("%s", szbuf);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// yizhonghu 20110629
|
|
|
|
// yizhonghu 20110629
|
|
|
@ -2717,8 +2798,35 @@ void ShxyProtocolDataProcess( int commid)
|
|
|
|
//}
|
|
|
|
//}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case 9: /*倾角传感器X轴倾角*/
|
|
|
|
case 9: /*倾角传感器X轴倾角*/
|
|
|
|
|
|
|
|
if((fvalue < -59) ||(fvalue > 59))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
frnb = (GeneratingRandomNumber()%101-50)/1000.0;
|
|
|
|
|
|
|
|
slantpntmsg[aipnt][0].EuValue *= (1+frnb);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
slantpntmsg[aipnt][0].EuValue = fvalue*slantpntmsg[aipnt][0].AiParam.fFactor\
|
|
|
|
|
|
|
|
+slantpntmsg[aipnt][0].AiParam.EuValueDelta;
|
|
|
|
|
|
|
|
slantpntmsg[aipnt][0].AiState = 1;
|
|
|
|
|
|
|
|
//if ((gDisSunRain & 0x20) == 0x20)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
sprintf(szbuf, "倾角ID:%d slantangle X=%0.3f ", devparam[commid].devaddr, fvalue);
|
|
|
|
|
|
|
|
LOGV("%s", szbuf);
|
|
|
|
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case 10: /*倾角传感器Y轴倾角*/
|
|
|
|
case 10: /*倾角传感器Y轴倾角*/
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
sprintf(szbuf, "Y =%0.3f ", fvalue);
|
|
|
|
|
|
|
|
LOGV("%s", szbuf);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if((fvalue < -59) ||(fvalue > 59))
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
frnb = (GeneratingRandomNumber()%101-50)/1000.0;
|
|
|
|
|
|
|
|
slantpntmsg[aipnt][1].EuValue *= (1+frnb);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
slantpntmsg[aipnt][1].EuValue = fvalue*slantpntmsg[aipnt][1].AiParam.fFactor\
|
|
|
|
|
|
|
|
+slantpntmsg[aipnt][1].AiParam.EuValueDelta;
|
|
|
|
|
|
|
|
slantpntmsg[aipnt][1].AiState = 1;
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
#if 0
|
|
|
|
#if 0
|
|
|
|
case 11: /*测温球导线温度*/
|
|
|
|
case 11: /*测温球导线温度*/
|
|
|
|