添加部分数据返回结果函数进行测试,根据测试硬件需要修改测试代码协助938硬件测试

serial
huyizhong 12 months ago
parent 11e6072896
commit 9f47f7fa5c

@ -3082,15 +3082,15 @@ void ShxyProtocolDataProcess( int devno)
{ {
frnb = (GeneratingRandomNumber()%101-50)/1000.0; frnb = (GeneratingRandomNumber()%101-50)/1000.0;
pPortParam->aiValue[0].EuValue *= (1+frnb); pPortParam->aiValue[0].EuValue *= (1+frnb);
weatherpntmsg[0].EuValue *= (1+frnb); weatherpntmsg[AirTempNo].EuValue *= (1+frnb);
} }
else else
{ {
pPortParam->aiValue[0].EuValue = fvalue*pPortParam->aiValue[0].AiParam.fFactor + pPortParam->aiValue[0].AiParam.EuValueDelta; pPortParam->aiValue[0].EuValue = fvalue*pPortParam->aiValue[0].AiParam.fFactor + pPortParam->aiValue[0].AiParam.EuValueDelta;
weatherpntmsg[0].EuValue = fvalue*weatherpntmsg[0].AiParam.fFactor + weatherpntmsg[0].AiParam.EuValueDelta; weatherpntmsg[AirTempNo].EuValue = fvalue*weatherpntmsg[AirTempNo].AiParam.fFactor + weatherpntmsg[AirTempNo].AiParam.EuValueDelta;
} }
pPortParam->aiValue[0].AiState = 1; pPortParam->aiValue[0].AiState = 1;
weatherpntmsg[0].AiState = 1; weatherpntmsg[AirTempNo].AiState = 1;
//g_SelfTest.SensorsFault |= (0x01); //g_SelfTest.SensorsFault |= (0x01);
//if ((gDisSunRain & 0x80) == 0x80) //if ((gDisSunRain & 0x80) == 0x80)
{ {
@ -3103,15 +3103,15 @@ void ShxyProtocolDataProcess( int devno)
{ {
frnb = (GeneratingRandomNumber()%41-20)/10000.0; frnb = (GeneratingRandomNumber()%41-20)/10000.0;
pPortParam->aiValue[5].EuValue *= (1+frnb); pPortParam->aiValue[5].EuValue *= (1+frnb);
weatherpntmsg[5].EuValue *= (1+frnb); weatherpntmsg[AtmosNo].EuValue *= (1+frnb);
} }
else else
{ {
pPortParam->aiValue[5].EuValue = fvalue*pPortParam->aiValue[5].AiParam.fFactor + pPortParam->aiValue[5].AiParam.EuValueDelta; pPortParam->aiValue[5].EuValue = fvalue*pPortParam->aiValue[5].AiParam.fFactor + pPortParam->aiValue[5].AiParam.EuValueDelta;
weatherpntmsg[5].EuValue = fvalue*weatherpntmsg[5].AiParam.fFactor + weatherpntmsg[5].AiParam.EuValueDelta; weatherpntmsg[AtmosNo].EuValue = fvalue*weatherpntmsg[AtmosNo].AiParam.fFactor + weatherpntmsg[AtmosNo].AiParam.EuValueDelta;
} }
pPortParam->aiValue[5].AiState = 1; pPortParam->aiValue[5].AiState = 1;
weatherpntmsg[5].AiState = 1; weatherpntmsg[AtmosNo].AiState = 1;
//g_SelfTest.SensorsFault |= (0x10); //g_SelfTest.SensorsFault |= (0x10);
//if ((gDisSunRain & 0x80) == 0x80) //if ((gDisSunRain & 0x80) == 0x80)
{ {
@ -3124,15 +3124,15 @@ void ShxyProtocolDataProcess( int devno)
{ {
frnb = (GeneratingRandomNumber()%41-20)/1000.0; frnb = (GeneratingRandomNumber()%41-20)/1000.0;
pPortParam->aiValue[1].EuValue *= (1+frnb); pPortParam->aiValue[1].EuValue *= (1+frnb);
weatherpntmsg[1].EuValue *= (1+frnb); weatherpntmsg[HumidityNo].EuValue *= (1+frnb);
} }
else else
{ {
pPortParam->aiValue[1].EuValue = fvalue*pPortParam->aiValue[1].AiParam.fFactor + pPortParam->aiValue[1].AiParam.EuValueDelta; pPortParam->aiValue[1].EuValue = fvalue*pPortParam->aiValue[1].AiParam.fFactor + pPortParam->aiValue[1].AiParam.EuValueDelta;
weatherpntmsg[1].EuValue = fvalue*weatherpntmsg[1].AiParam.fFactor + weatherpntmsg[1].AiParam.EuValueDelta; weatherpntmsg[HumidityNo].EuValue = fvalue*weatherpntmsg[HumidityNo].AiParam.fFactor + weatherpntmsg[HumidityNo].AiParam.EuValueDelta;
} }
pPortParam->aiValue[1].AiState = 1; pPortParam->aiValue[1].AiState = 1;
weatherpntmsg[1].AiState = 1; weatherpntmsg[HumidityNo].AiState = 1;
//g_SelfTest.SensorsFault |= (0x02); //g_SelfTest.SensorsFault |= (0x02);
//if ((gDisSunRain & 0x80) == 0x80) //if ((gDisSunRain & 0x80) == 0x80)
{ {
@ -3149,15 +3149,15 @@ void ShxyProtocolDataProcess( int devno)
{ {
frnb = (GeneratingRandomNumber()%41-20)/1000.0; frnb = (GeneratingRandomNumber()%41-20)/1000.0;
pPortParam->aiValue[2].EuValue *= (1+frnb); pPortParam->aiValue[2].EuValue *= (1+frnb);
weatherpntmsg[2].EuValue *= (1+frnb); weatherpntmsg[WindSpeedNo].EuValue *= (1+frnb);
} }
else else
{ {
pPortParam->aiValue[2].EuValue = fvalue*pPortParam->aiValue[2].AiParam.fFactor + pPortParam->aiValue[2].AiParam.EuValueDelta; pPortParam->aiValue[2].EuValue = fvalue*pPortParam->aiValue[2].AiParam.fFactor + pPortParam->aiValue[2].AiParam.EuValueDelta;
weatherpntmsg[2].EuValue = fvalue*weatherpntmsg[2].AiParam.fFactor + weatherpntmsg[2].AiParam.EuValueDelta; weatherpntmsg[WindSpeedNo].EuValue = fvalue*weatherpntmsg[WindSpeedNo].AiParam.fFactor + weatherpntmsg[WindSpeedNo].AiParam.EuValueDelta;
} }
pPortParam->aiValue[2].AiState = 1; pPortParam->aiValue[2].AiState = 1;
weatherpntmsg[2].AiState = 1; weatherpntmsg[WindSpeedNo].AiState = 1;
//g_SelfTest.SensorsFault |= (0x04); //g_SelfTest.SensorsFault |= (0x04);
//if ((gDisSunRain & 0x10) == 0x10) //if ((gDisSunRain & 0x10) == 0x10)
{ {
@ -3174,15 +3174,15 @@ void ShxyProtocolDataProcess( int devno)
{ {
frnb = (GeneratingRandomNumber()%41-20)/1000.0; frnb = (GeneratingRandomNumber()%41-20)/1000.0;
pPortParam->aiValue[3].EuValue *= (1+frnb); pPortParam->aiValue[3].EuValue *= (1+frnb);
weatherpntmsg[3].EuValue *= (1+frnb); weatherpntmsg[WindDirectionNo].EuValue *= (1+frnb);
} }
else else
{ {
pPortParam->aiValue[3].EuValue = fvalue*pPortParam->aiValue[3].AiParam.fFactor + pPortParam->aiValue[3].AiParam.EuValueDelta; pPortParam->aiValue[3].EuValue = fvalue*pPortParam->aiValue[3].AiParam.fFactor + pPortParam->aiValue[3].AiParam.EuValueDelta;
weatherpntmsg[3].EuValue = fvalue*weatherpntmsg[3].AiParam.fFactor + weatherpntmsg[3].AiParam.EuValueDelta; weatherpntmsg[WindDirectionNo].EuValue = fvalue*weatherpntmsg[WindDirectionNo].AiParam.fFactor + weatherpntmsg[WindDirectionNo].AiParam.EuValueDelta;
} }
pPortParam->aiValue[3].AiState = 1; pPortParam->aiValue[3].AiState = 1;
weatherpntmsg[3].AiState = 1; weatherpntmsg[WindDirectionNo].AiState = 1;
//g_SelfTest.SensorsFault |= (0x08); //g_SelfTest.SensorsFault |= (0x08);
//if ((gDisSunRain & 0x10) == 0x10) //if ((gDisSunRain & 0x10) == 0x10)
{ {
@ -3522,4 +3522,13 @@ void CameraPhotoCmd(SENSOR_PARAM *sensorParam, u_char channel, int cmdidx, u_cha
GM_StartSerialCameraPhoto(1, cmdidx); GM_StartSerialCameraPhoto(1, cmdidx);
} }
int GetAirTempData(Data_DEF *airt)
{
int i;
if(NULL == airt)
return -1;
airt->EuValue = weatherpntmsg[AirTempNo].EuValue;
airt->AiState = weatherpntmsg[AirTempNo].AiState;
}

@ -51,6 +51,20 @@ typedef unsigned char BYTE;
#define RESERVE5_PROTOCOL 20 /* 备用5协议序号*/ #define RESERVE5_PROTOCOL 20 /* 备用5协议序号*/
#define INVALID_PROTOCOL 21 /* 无效协议序号*/ #define INVALID_PROTOCOL 21 /* 无效协议序号*/
#define AirTempNo 0 /* 空气温度数据存储序号*/
#define HumidityNo 1 /* 相对湿度数据存储序号*/
#define WindSpeedNo 2 /* 风速数据存储序号*/
#define WindDirectionNo 3 /* 风向数据存储序号*/
#define RainfallNo 4 /* 雨量数据存储序号*/
#define AtmosNo 5 /* 大气压数据存储序号*/
#define OpticalRadiationNo 6 /* 日照(光辐射)数据存储序号*/
#define Idle 0 /* 传感器处于空闲状态,未启动采样*/
#define Sample 1 /* 正在采样过程中*/
#define SamplingEnd 2 /* 采样结束*/
#define StartSample 3 /* 启动采样*/
#define SampleFail -1 /* 采样失败,传感器故障或未接*/
#define WEATHER_DATA_NUM 8 /* 气象数据最大数量(一般最多是6要素)*/ #define WEATHER_DATA_NUM 8 /* 气象数据最大数量(一般最多是6要素)*/
#define RALLY_DATA_NUM 2 /* 拉力数据最大数量(一般是1个)*/ #define RALLY_DATA_NUM 2 /* 拉力数据最大数量(一般是1个)*/
#define SLANTANGLE_DATA_NUM 3 /* 倾角数据最大数量(一般只有X轴和Y轴值)*/ #define SLANTANGLE_DATA_NUM 3 /* 倾角数据最大数量(一般只有X轴和Y轴值)*/
@ -140,19 +154,23 @@ typedef struct
typedef struct typedef struct
{ {
//float fAiDead; // 数据变化死区(百分系数值,如:设置死区为5%只需赋值5即可)
float fFactor; // 数据系数 float fFactor; // 数据系数
float EuValueDelta; // 数据工程值偏移 float EuValueDelta; // 数据工程值偏移
//BYTE Polar; // 数据极性(有无符号位)
} AI_PARAM; } AI_PARAM;
typedef struct typedef struct
{ {
AI_PARAM AiParam; // 数据点配置参数 AI_PARAM AiParam; // 数据点配置参数
BYTE AiState; // 遥测是否有效标识 int AiState; // 数据标识(-1采样失败0:没有采样1正在采样2采样结束3启动采样
float EuValue; // 遥测工程值 float EuValue; // 数据工程值
} AI_DEF; } AI_DEF;
typedef struct
{
BYTE AiState; // 数据标识(-1采样失败0:没有采样1正在采样2采样结束3启动采样
float EuValue; // 数据工程值
} Data_DEF;
typedef struct typedef struct
{ {
int imagelen; // 整个图片大小 int imagelen; // 整个图片大小

@ -154,7 +154,7 @@ static void setCam3V3Enable(bool enabled)
/********************************************************************************* /*********************************************************************************
* * * *
**********************************************************************************/ **********************************************************************************/
void PortDataProcess( void ) void PortDataProcess( )
{ {
float fvalue, fcorvalue, *fvalua, frnb/*, fwind*/; float fvalue, fcorvalue, *fvalua, frnb/*, fwind*/;
//WORD uDevAddr; //WORD uDevAddr;
@ -505,7 +505,7 @@ static int weather_comm(SERIAL_PARAM weatherport)
irecvtime = get_msec(); irecvtime = get_msec();
if((irecvtime-isendtime > 6000) ||(irecvtime - isendtime < 0)) if((irecvtime-isendtime > 6000) ||(irecvtime - isendtime < 0))
isendtime = irecvtime; isendtime = irecvtime;
if (irecvtime-isendtime > 500) if (irecvtime-isendtime > 1500)
{ {
LOGE("传感器超过%ld毫秒未应答", irecvtime-isendtime); LOGE("传感器超过%ld毫秒未应答", irecvtime-isendtime);
serialport.RevCmdFlag = 1; serialport.RevCmdFlag = 1;
@ -567,10 +567,10 @@ int serial_port_comm()
#if 1 #if 1
memset(portparm.pathname, 0, sizeof(portparm.pathname)); memset(portparm.pathname, 0, sizeof(portparm.pathname));
sprintf(portparm.pathname, "/dev/ttyS1"); sprintf(portparm.pathname, "/dev/ttyS1");
//sprintf(portparm.pathname, "/dev/ttysWK3"); //sprintf(portparm.pathname, "/dev/ttysWK1");
portparm.parity = 'N'; portparm.parity = 'N';
portparm.databit = 8; portparm.databit = 8;
portparm.baudrate = B9600; portparm.baudrate = B38400;
memset(portparm.stopbit, 0, sizeof(portparm.stopbit)); memset(portparm.stopbit, 0, sizeof(portparm.stopbit));
sprintf(portparm.stopbit, "1"); sprintf(portparm.stopbit, "1");
#endif #endif
@ -578,7 +578,7 @@ int serial_port_comm()
for(;;) for(;;)
{ {
sleep(10); sleep(3);
weather_comm(portparm); weather_comm(portparm);
} }

@ -43,7 +43,7 @@ typedef struct
char str[MAX_STRING_LEN]; char str[MAX_STRING_LEN];
}IOT_PARAM; }IOT_PARAM;
void PortDataProcess( void ); void PortDataProcess( );
int serial_port_comm(); int serial_port_comm();
static int weather_comm(SERIAL_PARAM weatherport); static int weather_comm(SERIAL_PARAM weatherport);
int set_port_attr (int fd, int baudrate, int databit, const char *stopbit, char parity, int vtime, int vmin ); int set_port_attr (int fd, int baudrate, int databit, const char *stopbit, char parity, int vtime, int vmin );

@ -3082,15 +3082,15 @@ void ShxyProtocolDataProcess( int devno)
{ {
frnb = (GeneratingRandomNumber()%101-50)/1000.0; frnb = (GeneratingRandomNumber()%101-50)/1000.0;
pPortParam->aiValue[0].EuValue *= (1+frnb); pPortParam->aiValue[0].EuValue *= (1+frnb);
weatherpntmsg[0].EuValue *= (1+frnb); weatherpntmsg[AirTempNo].EuValue *= (1+frnb);
} }
else else
{ {
pPortParam->aiValue[0].EuValue = fvalue*pPortParam->aiValue[0].AiParam.fFactor + pPortParam->aiValue[0].AiParam.EuValueDelta; pPortParam->aiValue[0].EuValue = fvalue*pPortParam->aiValue[0].AiParam.fFactor + pPortParam->aiValue[0].AiParam.EuValueDelta;
weatherpntmsg[0].EuValue = fvalue*weatherpntmsg[0].AiParam.fFactor + weatherpntmsg[0].AiParam.EuValueDelta; weatherpntmsg[AirTempNo].EuValue = fvalue*weatherpntmsg[AirTempNo].AiParam.fFactor + weatherpntmsg[AirTempNo].AiParam.EuValueDelta;
} }
pPortParam->aiValue[0].AiState = 1; pPortParam->aiValue[0].AiState = 1;
weatherpntmsg[0].AiState = 1; weatherpntmsg[AirTempNo].AiState = 1;
//g_SelfTest.SensorsFault |= (0x01); //g_SelfTest.SensorsFault |= (0x01);
//if ((gDisSunRain & 0x80) == 0x80) //if ((gDisSunRain & 0x80) == 0x80)
{ {
@ -3103,15 +3103,15 @@ void ShxyProtocolDataProcess( int devno)
{ {
frnb = (GeneratingRandomNumber()%41-20)/10000.0; frnb = (GeneratingRandomNumber()%41-20)/10000.0;
pPortParam->aiValue[5].EuValue *= (1+frnb); pPortParam->aiValue[5].EuValue *= (1+frnb);
weatherpntmsg[5].EuValue *= (1+frnb); weatherpntmsg[AtmosNo].EuValue *= (1+frnb);
} }
else else
{ {
pPortParam->aiValue[5].EuValue = fvalue*pPortParam->aiValue[5].AiParam.fFactor + pPortParam->aiValue[5].AiParam.EuValueDelta; pPortParam->aiValue[5].EuValue = fvalue*pPortParam->aiValue[5].AiParam.fFactor + pPortParam->aiValue[5].AiParam.EuValueDelta;
weatherpntmsg[5].EuValue = fvalue*weatherpntmsg[5].AiParam.fFactor + weatherpntmsg[5].AiParam.EuValueDelta; weatherpntmsg[AtmosNo].EuValue = fvalue*weatherpntmsg[AtmosNo].AiParam.fFactor + weatherpntmsg[AtmosNo].AiParam.EuValueDelta;
} }
pPortParam->aiValue[5].AiState = 1; pPortParam->aiValue[5].AiState = 1;
weatherpntmsg[5].AiState = 1; weatherpntmsg[AtmosNo].AiState = 1;
//g_SelfTest.SensorsFault |= (0x10); //g_SelfTest.SensorsFault |= (0x10);
//if ((gDisSunRain & 0x80) == 0x80) //if ((gDisSunRain & 0x80) == 0x80)
{ {
@ -3124,15 +3124,15 @@ void ShxyProtocolDataProcess( int devno)
{ {
frnb = (GeneratingRandomNumber()%41-20)/1000.0; frnb = (GeneratingRandomNumber()%41-20)/1000.0;
pPortParam->aiValue[1].EuValue *= (1+frnb); pPortParam->aiValue[1].EuValue *= (1+frnb);
weatherpntmsg[1].EuValue *= (1+frnb); weatherpntmsg[HumidityNo].EuValue *= (1+frnb);
} }
else else
{ {
pPortParam->aiValue[1].EuValue = fvalue*pPortParam->aiValue[1].AiParam.fFactor + pPortParam->aiValue[1].AiParam.EuValueDelta; pPortParam->aiValue[1].EuValue = fvalue*pPortParam->aiValue[1].AiParam.fFactor + pPortParam->aiValue[1].AiParam.EuValueDelta;
weatherpntmsg[1].EuValue = fvalue*weatherpntmsg[1].AiParam.fFactor + weatherpntmsg[1].AiParam.EuValueDelta; weatherpntmsg[HumidityNo].EuValue = fvalue*weatherpntmsg[HumidityNo].AiParam.fFactor + weatherpntmsg[HumidityNo].AiParam.EuValueDelta;
} }
pPortParam->aiValue[1].AiState = 1; pPortParam->aiValue[1].AiState = 1;
weatherpntmsg[1].AiState = 1; weatherpntmsg[HumidityNo].AiState = 1;
//g_SelfTest.SensorsFault |= (0x02); //g_SelfTest.SensorsFault |= (0x02);
//if ((gDisSunRain & 0x80) == 0x80) //if ((gDisSunRain & 0x80) == 0x80)
{ {
@ -3149,15 +3149,15 @@ void ShxyProtocolDataProcess( int devno)
{ {
frnb = (GeneratingRandomNumber()%41-20)/1000.0; frnb = (GeneratingRandomNumber()%41-20)/1000.0;
pPortParam->aiValue[2].EuValue *= (1+frnb); pPortParam->aiValue[2].EuValue *= (1+frnb);
weatherpntmsg[2].EuValue *= (1+frnb); weatherpntmsg[WindSpeedNo].EuValue *= (1+frnb);
} }
else else
{ {
pPortParam->aiValue[2].EuValue = fvalue*pPortParam->aiValue[2].AiParam.fFactor + pPortParam->aiValue[2].AiParam.EuValueDelta; pPortParam->aiValue[2].EuValue = fvalue*pPortParam->aiValue[2].AiParam.fFactor + pPortParam->aiValue[2].AiParam.EuValueDelta;
weatherpntmsg[2].EuValue = fvalue*weatherpntmsg[2].AiParam.fFactor + weatherpntmsg[2].AiParam.EuValueDelta; weatherpntmsg[WindSpeedNo].EuValue = fvalue*weatherpntmsg[WindSpeedNo].AiParam.fFactor + weatherpntmsg[WindSpeedNo].AiParam.EuValueDelta;
} }
pPortParam->aiValue[2].AiState = 1; pPortParam->aiValue[2].AiState = 1;
weatherpntmsg[2].AiState = 1; weatherpntmsg[WindSpeedNo].AiState = 1;
//g_SelfTest.SensorsFault |= (0x04); //g_SelfTest.SensorsFault |= (0x04);
//if ((gDisSunRain & 0x10) == 0x10) //if ((gDisSunRain & 0x10) == 0x10)
{ {
@ -3174,15 +3174,15 @@ void ShxyProtocolDataProcess( int devno)
{ {
frnb = (GeneratingRandomNumber()%41-20)/1000.0; frnb = (GeneratingRandomNumber()%41-20)/1000.0;
pPortParam->aiValue[3].EuValue *= (1+frnb); pPortParam->aiValue[3].EuValue *= (1+frnb);
weatherpntmsg[3].EuValue *= (1+frnb); weatherpntmsg[WindDirectionNo].EuValue *= (1+frnb);
} }
else else
{ {
pPortParam->aiValue[3].EuValue = fvalue*pPortParam->aiValue[3].AiParam.fFactor + pPortParam->aiValue[3].AiParam.EuValueDelta; pPortParam->aiValue[3].EuValue = fvalue*pPortParam->aiValue[3].AiParam.fFactor + pPortParam->aiValue[3].AiParam.EuValueDelta;
weatherpntmsg[3].EuValue = fvalue*weatherpntmsg[3].AiParam.fFactor + weatherpntmsg[3].AiParam.EuValueDelta; weatherpntmsg[WindDirectionNo].EuValue = fvalue*weatherpntmsg[WindDirectionNo].AiParam.fFactor + weatherpntmsg[WindDirectionNo].AiParam.EuValueDelta;
} }
pPortParam->aiValue[3].AiState = 1; pPortParam->aiValue[3].AiState = 1;
weatherpntmsg[3].AiState = 1; weatherpntmsg[WindDirectionNo].AiState = 1;
//g_SelfTest.SensorsFault |= (0x08); //g_SelfTest.SensorsFault |= (0x08);
//if ((gDisSunRain & 0x10) == 0x10) //if ((gDisSunRain & 0x10) == 0x10)
{ {
@ -3522,4 +3522,13 @@ void CameraPhotoCmd(SENSOR_PARAM *sensorParam, u_char channel, int cmdidx, u_cha
GM_StartSerialCameraPhoto(1, cmdidx); GM_StartSerialCameraPhoto(1, cmdidx);
} }
int GetAirTempData(Data_DEF *airt)
{
int i;
if(NULL == airt)
return -1;
airt->EuValue = weatherpntmsg[AirTempNo].EuValue;
airt->AiState = weatherpntmsg[AirTempNo].AiState;
}

@ -51,6 +51,20 @@ typedef unsigned char BYTE;
#define RESERVE5_PROTOCOL 20 /* 备用5协议序号*/ #define RESERVE5_PROTOCOL 20 /* 备用5协议序号*/
#define INVALID_PROTOCOL 21 /* 无效协议序号*/ #define INVALID_PROTOCOL 21 /* 无效协议序号*/
#define AirTempNo 0 /* 空气温度数据存储序号*/
#define HumidityNo 1 /* 相对湿度数据存储序号*/
#define WindSpeedNo 2 /* 风速数据存储序号*/
#define WindDirectionNo 3 /* 风向数据存储序号*/
#define RainfallNo 4 /* 雨量数据存储序号*/
#define AtmosNo 5 /* 大气压数据存储序号*/
#define OpticalRadiationNo 6 /* 日照(光辐射)数据存储序号*/
#define Idle 0 /* 传感器处于空闲状态,未启动采样*/
#define Sample 1 /* 正在采样过程中*/
#define SamplingEnd 2 /* 采样结束*/
#define StartSample 3 /* 启动采样*/
#define SampleFail -1 /* 采样失败,传感器故障或未接*/
#define WEATHER_DATA_NUM 8 /* 气象数据最大数量(一般最多是6要素)*/ #define WEATHER_DATA_NUM 8 /* 气象数据最大数量(一般最多是6要素)*/
#define RALLY_DATA_NUM 2 /* 拉力数据最大数量(一般是1个)*/ #define RALLY_DATA_NUM 2 /* 拉力数据最大数量(一般是1个)*/
#define SLANTANGLE_DATA_NUM 3 /* 倾角数据最大数量(一般只有X轴和Y轴值)*/ #define SLANTANGLE_DATA_NUM 3 /* 倾角数据最大数量(一般只有X轴和Y轴值)*/
@ -140,19 +154,23 @@ typedef struct
typedef struct typedef struct
{ {
//float fAiDead; // 数据变化死区(百分系数值,如:设置死区为5%只需赋值5即可)
float fFactor; // 数据系数 float fFactor; // 数据系数
float EuValueDelta; // 数据工程值偏移 float EuValueDelta; // 数据工程值偏移
//BYTE Polar; // 数据极性(有无符号位)
} AI_PARAM; } AI_PARAM;
typedef struct typedef struct
{ {
AI_PARAM AiParam; // 数据点配置参数 AI_PARAM AiParam; // 数据点配置参数
BYTE AiState; // 遥测是否有效标识 int AiState; // 数据标识(-1采样失败0:没有采样1正在采样2采样结束3启动采样
float EuValue; // 遥测工程值 float EuValue; // 数据工程值
} AI_DEF; } AI_DEF;
typedef struct
{
BYTE AiState; // 数据标识(-1采样失败0:没有采样1正在采样2采样结束3启动采样
float EuValue; // 数据工程值
} Data_DEF;
typedef struct typedef struct
{ {
int imagelen; // 整个图片大小 int imagelen; // 整个图片大小

Loading…
Cancel
Save