|
|
/*
|
|
|
* 文件名称:QBInfo.h
|
|
|
* 摘 要:定义情报处理通用数据结构
|
|
|
* 当前版本:2.0 王家星 20170311
|
|
|
*/
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
#pragma pack(1)
|
|
|
|
|
|
// 昼夜光电侦察平台复接数据结构体 110字节,顺序不可调整
|
|
|
// struct struProtocal_FJ
|
|
|
// {
|
|
|
// // 帧头
|
|
|
// UINT8 Head[2]; // 帧头: EB 90
|
|
|
//
|
|
|
// // 载荷参数
|
|
|
// UINT8 ZH_Type; // 载荷识别码
|
|
|
// // 0x10:数码相机侦察平台
|
|
|
// // 0x20:昼夜光电侦察平台
|
|
|
// UINT8 ZH_CmdType; // 开关指令回报
|
|
|
// UINT8 ZH_WorkState; // 载荷工作状态
|
|
|
// UINT8 ZH_CtrlState0; // 主控状态字0
|
|
|
// UINT8 ZH_CtrlState1; // 主控状态字1
|
|
|
// UINT8 ZH_ServoState; // 伺服状态字
|
|
|
// UINT8 ZH_EOState0; // 可见光状态字0
|
|
|
//
|
|
|
// UINT8 ZH_IRState; // 昼夜光电侦察平台:红外状态字
|
|
|
// // 数码相机侦察平台:数码相机曝光时间
|
|
|
//
|
|
|
// UINT8 ZH_TrackState; // 跟踪器状态字
|
|
|
// UINT8 ZH_RecorderState; // 记录仪状态字
|
|
|
//
|
|
|
//
|
|
|
// INT16 ZH_Pitch; // 载荷俯仰角
|
|
|
// INT16 ZH_Azimuth; // 载荷方位角
|
|
|
// UINT16 ZH_LaserDist; // 激光测距值
|
|
|
// UINT16 ZH_EOFocalLen; // 可见光焦距
|
|
|
//
|
|
|
// UINT16 ZH_IRFocalLen; // 昼夜光电侦察平台:红外焦距
|
|
|
// // 数码相机侦察平台:照片总编号:自上电起所有拍照总数
|
|
|
//
|
|
|
// INT16 ZH_DeltaX; // 俯仰脱靶量
|
|
|
// INT16 ZH_DeltaY; // 方位脱靶量
|
|
|
//
|
|
|
// UINT8 ZH_EOState1; // 可见光状态字1
|
|
|
// UINT8 ZH_LaserIndicateState; // 激光照射状态字
|
|
|
//
|
|
|
// UINT8 ZH_ImgType; // 图像类型
|
|
|
// UINT8 ZH_ImgFlow; // 图像码率
|
|
|
//
|
|
|
// UINT8 ZH_SMOverlapRatio; // 数码照片重叠率 分辨率为0.5%, 范围:0%~100%
|
|
|
// UINT8 CHKSUM; // 和校验位 1~32字节累和低8位为0x00
|
|
|
//
|
|
|
// // 第二部分:表4的部分内容,即struProtocal_FKtoZH后半部分内容(11-87)
|
|
|
//
|
|
|
// // 飞机参数(部分)
|
|
|
// UINT8 UAV_Type; // 无人机型号
|
|
|
// UINT8 UAV_ID; // 无人机ID
|
|
|
// UINT8 UAV_States[11]; // 无人机飞行状态
|
|
|
// INT16 UAV_GyroPitch; // 垂直陀螺俯仰角
|
|
|
// INT16 UAV_GyroRoll; // 垂直陀螺滚转角
|
|
|
// UINT16 UAV_AirPresAlt; // 无人机气压高度
|
|
|
// UINT16 UAV_MagHeading; // 无人机磁航向角
|
|
|
//
|
|
|
// // 左右两个GPS测量数据(可测飞机滚转角)
|
|
|
// UINT8 GPS_LR_WorkState; // 卫导1定位测资状态
|
|
|
// UINT32 GPS_LR_UTC; // 卫导1时分秒
|
|
|
// UINT8 GPS_LR_Day; // 卫导1日
|
|
|
// UINT8 GPS_LR_Month; // 卫导1月
|
|
|
// UINT8 GPS_LR_Year; // 卫导1年
|
|
|
// INT32 GPS_LR_Lat; // 卫导1纬度
|
|
|
// INT32 GPS_LR_Lon; // 卫导1经度
|
|
|
// UINT16 GPS_LR_Alt; // 卫导1高度
|
|
|
// UINT16 GPS_LR_VHeading; // 卫导1地速方向(实际运动方向)
|
|
|
// UINT16 GPS_LR_HoriSpeed; // 卫导1水平速度
|
|
|
// INT16 GPS_LR_VertSpeed; // 卫导1天速(垂直速度)
|
|
|
// UINT16 GPS_LR_Heading; // 卫导1航向角(机头方向)
|
|
|
// INT16 GPS_LR_Roll; // 卫导1滚转角
|
|
|
//
|
|
|
// // 前后两个GPS测量数据(可测飞机俯仰角)
|
|
|
// UINT8 GPS_FB_WorkState; // 卫导2定位测资状态
|
|
|
// UINT32 GPS_FB_UTC; // 卫导2时分秒
|
|
|
// UINT8 GPS_FB_Day; // 卫导2日
|
|
|
// UINT8 GPS_FB_Month; // 卫导2月
|
|
|
// UINT8 GPS_FB_Year; // 卫导2年
|
|
|
// INT32 GPS_FB_Lat; // 卫导2纬度
|
|
|
// INT32 GPS_FB_Lon; // 卫导2经度
|
|
|
// UINT16 GPS_FB_Alt; // 卫导2高度
|
|
|
// UINT16 GPS_FB_VHeading; // 卫导2地速方向(实际运动方向)
|
|
|
// UINT16 GPS_FB_HoriSpeed; // 卫导2水平速度
|
|
|
// INT16 GPS_FB_VertSpeed; // 卫导2天速(垂直速度)
|
|
|
// UINT16 GPS_FB_Heading; // 卫导2航向角(机头方向)
|
|
|
// INT16 GPS_FB_Pitch; // 卫导2俯仰角
|
|
|
//
|
|
|
// UINT8 CHKSUM2; // 和校验位
|
|
|
// };
|
|
|
|
|
|
// 昼夜光电侦察平台复接数据结构体 110字节,顺序不可调整
|
|
|
struct struProtocal_FJ
|
|
|
{
|
|
|
// 帧头
|
|
|
UINT8 Head[2]; // 帧头: EB 90
|
|
|
|
|
|
// 载荷参数
|
|
|
UINT8 ZH_Type; // 载荷识别码
|
|
|
// 0x10:数码相机侦察平台
|
|
|
// 0x20:昼夜光电侦察平台
|
|
|
UINT8 ZH_CmdType; // 开关指令回报
|
|
|
UINT8 ZH_WorkState; // 载荷工作状态
|
|
|
UINT8 ZH_CtrlState0; // 主控状态字0
|
|
|
UINT8 ZH_CtrlState1; // 主控状态字1
|
|
|
UINT8 ZH_ServoState; // 伺服状态字
|
|
|
UINT8 ZH_EOState0; // 可见光状态字0
|
|
|
|
|
|
UINT8 ZH_IRState; // 昼夜光电侦察平台:红外状态字
|
|
|
// 数码相机侦察平台:数码相机曝光时间
|
|
|
|
|
|
UINT8 ZH_TrackState; // 跟踪器状态字
|
|
|
UINT8 ZH_RecorderState; // 记录仪状态字
|
|
|
|
|
|
|
|
|
INT16 ZH_Pitch; // 载荷俯仰角
|
|
|
INT16 ZH_Azimuth; // 载荷方位角
|
|
|
UINT16 ZH_LaserDist; // 激光测距值
|
|
|
UINT16 ZH_EOFocalLen; // 可见光焦距
|
|
|
|
|
|
UINT16 ZH_IRFocalLen; // 昼夜光电侦察平台:红外焦距
|
|
|
// 数码相机侦察平台:照片总编号:自上电起所有拍照总数
|
|
|
|
|
|
INT16 ZH_DeltaX; // 俯仰脱靶量
|
|
|
INT16 ZH_DeltaY; // 方位脱靶量
|
|
|
|
|
|
UINT8 ZH_EOState1; // 可见光状态字1
|
|
|
UINT8 ZH_LaserIndicateState; // 激光照射状态字(含义见载荷补充协议)
|
|
|
|
|
|
UINT8 ZH_ImgType; // 图像类型
|
|
|
UINT8 ZH_ImgFlow; // 图像码率
|
|
|
|
|
|
UINT8 ZH_SMOverlapRatio; // 数码照片重叠率 分辨率为0.5%, 范围:0%~100%
|
|
|
UINT8 CHKSUM; // 和校验位 1~32字节累和低8位为0x00
|
|
|
|
|
|
// 第二部分:表4的部分内容,即struProtocal_FKtoZH后半部分内容(11-87)
|
|
|
|
|
|
// 飞机参数(部分)
|
|
|
UINT8 UAV_Type; // 无人机型号
|
|
|
UINT8 UAV_ID; // 无人机ID
|
|
|
UINT8 UAV_States[11]; // 无人机飞行状态
|
|
|
INT16 UAV_GyroPitch; // 垂直陀螺俯仰角
|
|
|
INT16 UAV_GyroRoll; // 垂直陀螺滚转角
|
|
|
UINT16 UAV_AirPresAlt; // 无人机气压高度
|
|
|
UINT16 UAV_MagHeading; // 无人机磁航向角
|
|
|
|
|
|
// 左右两个GPS测量数据(可测飞机滚转角)
|
|
|
UINT8 GPS_LR_WorkState; // 卫导1定位测资状态
|
|
|
UINT32 GPS_LR_UTC; // 卫导1时分秒
|
|
|
UINT8 GPS_LR_Day; // 卫导1日
|
|
|
UINT8 GPS_LR_Month; // 卫导1月
|
|
|
UINT8 GPS_LR_Year; // 卫导1年
|
|
|
INT32 GPS_LR_Lat; // 卫导1纬度
|
|
|
INT32 GPS_LR_Lon; // 卫导1经度
|
|
|
UINT16 GPS_LR_Alt; // 卫导1高度
|
|
|
UINT16 GPS_LR_VHeading; // 卫导1地速方向(实际运动方向)
|
|
|
UINT16 GPS_LR_HoriSpeed; // 卫导1水平速度
|
|
|
INT16 GPS_LR_VertSpeed; // 卫导1天速(垂直速度)
|
|
|
UINT16 GPS_LR_Heading; // 卫导1航向角(机头方向)
|
|
|
INT16 GPS_LR_Roll; // 卫导1滚转角
|
|
|
|
|
|
// 前后两个GPS测量数据(可测飞机俯仰角)
|
|
|
UINT8 GPS_FB_WorkState; // 卫导2定位测资状态
|
|
|
UINT32 GPS_FB_UTC; // 卫导2时分秒
|
|
|
UINT8 GPS_FB_Day; // 卫导2日
|
|
|
UINT8 GPS_FB_Month; // 卫导2月
|
|
|
UINT8 GPS_FB_Year; // 卫导2年
|
|
|
INT32 GPS_FB_Lat; // 卫导2纬度
|
|
|
INT32 GPS_FB_Lon; // 卫导2经度
|
|
|
UINT16 GPS_FB_Alt; // 卫导2高度
|
|
|
UINT16 GPS_FB_VHeading; // 卫导2地速方向(实际运动方向)
|
|
|
UINT16 GPS_FB_HoriSpeed; // 卫导2水平速度
|
|
|
INT16 GPS_FB_VertSpeed; // 卫导2天速(垂直速度)
|
|
|
UINT16 GPS_FB_Heading; // 卫导2航向角(机头方向)
|
|
|
INT16 GPS_FB_Pitch; // 卫导2俯仰角
|
|
|
|
|
|
UINT8 CHKSUM2; // 和校验位
|
|
|
};
|
|
|
|
|
|
// 转换后的组播位置信息数据结构体
|
|
|
struct struSocketProtocal
|
|
|
{
|
|
|
UINT8 Socket_Head[2]; // 帧头
|
|
|
UINT8 Socket_Marker; // 帧标识
|
|
|
UINT8 Socket_Sender; // 发送方标识
|
|
|
UINT16 Socket_FrameCount; // 帧计数
|
|
|
INT32 UAV_Lon; // 自身经度
|
|
|
INT32 UAV_Lat; // 自身纬度
|
|
|
INT16 UAV_Alt; // 自身高度
|
|
|
INT32 Target_Lon; // 目标经度
|
|
|
INT32 Target_Lat; // 目标纬度
|
|
|
INT16 Target_Alt; // 目标高度
|
|
|
UINT8 CRC[2]; // CRC16校验
|
|
|
UINT8 Socket_End[2]; // 帧尾
|
|
|
};
|
|
|
|
|
|
// 转换后的图像复接数据结构体
|
|
|
struct struTranslateProtocal_FJ
|
|
|
{
|
|
|
bool bValid; // 结构体数据是否有效: TRUE—有效 FALSE—无效
|
|
|
|
|
|
// 载荷参数
|
|
|
UINT8 ZH_Type; // 载荷识别码 0x10—数码相机侦察平台 0x20—昼夜光电侦查平台
|
|
|
|
|
|
UINT8 ZH_CmdType; // 回报开关指令
|
|
|
|
|
|
//载荷工作状态——主界面显示
|
|
|
UINT8 ZH_StablePlatformWorkState; // 稳定平台工作状态:000—手动跟踪 001—自动跟踪 010—锁定 011—数引 100—扫描 101—刹车(昼夜光电平台)垂直随动(数码相机平台) 110—初始化 111—偏心跟踪
|
|
|
UINT8 ZH_LaserRangeWorkState; // 激光测距仪工作状态:000—正常 001—故障 010—关机 011—待机 100—测距开 101—测距关 111—休息
|
|
|
UINT8 ZH_ElevatorWorkState; // 升降机构工作状态:00—顶端 01—底端 10—上升 11—下降
|
|
|
|
|
|
//状态字
|
|
|
UINT8 ZH_CtrlState0; // 主控状态字0
|
|
|
UINT8 ZH_CtrlState1; // 主控状态字1
|
|
|
UINT8 ZH_ServoState; // 伺服状态字
|
|
|
|
|
|
//可见光状态字0
|
|
|
UINT8 ZH_EOCameraWorkState; // EO相机状态: 0—正常 1—故障
|
|
|
UINT8 ZH_EOCameraImgState; // EO图像状态: 0—真实 1:—自检
|
|
|
|
|
|
//红外状态字
|
|
|
UINT8 ZH_IRCameraWorkState; // 红外相机状态: 0—正常 1—故障
|
|
|
UINT8 ZH_IRCameraImgState; // 红外图像状态: 0—真实 1:—自检
|
|
|
UINT8 ZH_IRCameraDigitalDouble; // 热像仪数字变倍:0—正常 1—数字变倍2X
|
|
|
|
|
|
//配合11所调试激光状态字,占用可见光状态字1字节
|
|
|
UINT8 ZH_LASERTEST_D7; // 全系统: 0-正常 1-故障
|
|
|
UINT8 ZH_LASERTEST_D6; // 温控: 0-正常 1-故障
|
|
|
UINT8 ZH_LASERTEST_D5; // 驱动: 0-正常 1-故障
|
|
|
UINT8 ZH_LASERTEST_D4; // 照射循环:0-未完成 1-已完成
|
|
|
UINT8 ZH_LASERTEST_D3; // 主波: 0-有主波 1-无主波
|
|
|
UINT8 ZH_LASERTEST_D2; // 回波: 0-有回波 1-无回波
|
|
|
UINT8 ZH_LASERTEST_D1D0;//工作状态:00:待机 01:测距 10:照射 11:休息
|
|
|
|
|
|
|
|
|
// 数码相机曝光时间
|
|
|
UINT ZH_SMExposalTime; // 数码照片曝光时间 200~5000us
|
|
|
|
|
|
// 跟踪器状态
|
|
|
UINT8 ZH_EOTrackState_Control; // 可见光接收球上主控数据:0—正常 1—故障
|
|
|
UINT8 ZH_EOTrackState; // 可见光跟踪器状态:000—正常 001—异常 010—目标丢失 011—相关跟踪 100—重心黑 101—重心白 110-冻结当前帧 111-显示当前帧
|
|
|
UINT8 ZH_IRTrackState_Control; // 红外接收球上主控数据:0—正常 1—故障
|
|
|
UINT8 ZH_IRTrackState; // 红外跟踪器状态:000—正常 001—异常 010—目标丢失 011—相关跟踪 100—重心黑 101—重心白 110-冻结当前帧 111-显示当前帧
|
|
|
|
|
|
|
|
|
float ZH_Pitch; // 载荷俯仰角
|
|
|
float ZH_Azimuth; // 载荷方位角
|
|
|
bool ZH_LaserOn; // 激光测距开关,true为开
|
|
|
unsigned int ZH_LaserDist; // 激光测距值
|
|
|
float ZH_EOFocalLen; // 可见光焦距
|
|
|
float ZH_IRFocalLen; // 红外焦距
|
|
|
|
|
|
UINT ZH_SMSerialNumber; // 数码相机照片总编号
|
|
|
|
|
|
int ZH_DeltaX; // 俯仰脱靶量
|
|
|
int ZH_DeltaY; // 方位脱靶量
|
|
|
|
|
|
|
|
|
|
|
|
UINT8 ZH_ImgType; // 图像类型:0x01—可见光 0x02—红外 0x03-数码照片 0x04—可见光&红外 0x07-可见光&数码照片
|
|
|
UINT8 ZH_ImgFlow; // 图像码流:0x03—3Mbps 0x05—5Mbps 0x08—7.68Mbps
|
|
|
|
|
|
float ZH_SMOverlapRatio; // 数码照片重叠率
|
|
|
|
|
|
double ZH_EOPixelSize; // 可见光像元尺寸
|
|
|
double ZH_IRPixelSize; // 红外像元尺寸 非数字变倍15um
|
|
|
double ZH_SMPixelSize; // 数码照片像元尺寸
|
|
|
|
|
|
|
|
|
// 第二部分:表4的部分内容,即struProtocal_FKtoZH后半部分内容(11-87)
|
|
|
|
|
|
// 飞机参数(部分)
|
|
|
UINT8 UAV_Type; // 无人机型号
|
|
|
UINT8 UAV_ID; // 无人机ID
|
|
|
UINT8 UAV_States[11]; // 无人机飞行状态
|
|
|
float UAV_GyroPitch; // 垂直陀螺俯仰角
|
|
|
float UAV_GyroRoll; // 垂直陀螺滚转角
|
|
|
float UAV_AirPresAlt; // 无人机气压高度
|
|
|
float UAV_MagHeading; // 无人机磁航向角
|
|
|
|
|
|
// 左右两个GPS测量数据(可测飞机滚转角)
|
|
|
UINT8 GPS_LR_WorkState; // 卫导1定位测资状态
|
|
|
UINT8 GPS_LR_Location; // 卫导1定位
|
|
|
UINT8 GPS_LR_Attitude; // 卫导1测姿
|
|
|
unsigned int GPS_LR_UTC; // 卫导1时分秒
|
|
|
unsigned int GPS_LR_Day; // 卫导1日
|
|
|
unsigned int GPS_LR_Month;// 卫导1月
|
|
|
unsigned int GPS_LR_Year; // 卫导1年
|
|
|
float GPS_LR_Lon; // 卫导1经度
|
|
|
float GPS_LR_Lat; // 卫导1纬度
|
|
|
float GPS_LR_Alt; // 卫导1高度
|
|
|
float GPS_LR_VHeading; // 卫导1地速方向(实际运动方向)
|
|
|
float GPS_LR_HoriSpeed; // 卫导1水平速度
|
|
|
float GPS_LR_VertSpeed; // 卫导1天速(垂直速度)
|
|
|
float GPS_LR_Heading; // 卫导1航向角(机头方向)
|
|
|
float GPS_LR_Roll; // 卫导1滚转角
|
|
|
|
|
|
// 前后两个GPS测量数据(可测飞机俯仰角)
|
|
|
UINT8 GPS_FB_WorkState; // 卫导2定位测资状态
|
|
|
UINT8 GPS_FB_Location; // 卫导2定位
|
|
|
UINT8 GPS_FB_Attitude; // 卫导2测姿
|
|
|
unsigned int GPS_FB_UTC; // 卫导2时分秒
|
|
|
unsigned int GPS_FB_Day; // 卫导2日
|
|
|
unsigned int GPS_FB_Month; // 卫导2月
|
|
|
unsigned int GPS_FB_Year; // 卫导2年
|
|
|
float GPS_FB_Lon; // 卫导2经度
|
|
|
float GPS_FB_Lat; // 卫导2纬度
|
|
|
float GPS_FB_Alt; // 卫导2高度
|
|
|
float GPS_FB_VHeading; // 卫导2地速方向(实际运动方向)
|
|
|
float GPS_FB_HoriSpeed; // 卫导2水平速度
|
|
|
float GPS_FB_VertSpeed; // 卫导2天速(垂直速度)
|
|
|
float GPS_FB_Heading; // 卫导2航向角(机头方向)
|
|
|
float GPS_FB_Pitch; // 卫导2俯仰角
|
|
|
|
|
|
struTranslateProtocal_FJ()
|
|
|
{
|
|
|
bValid = false;
|
|
|
}
|
|
|
};
|
|
|
|
|
|
// 图像中心点定位结构体
|
|
|
struct struCenterLocation
|
|
|
{
|
|
|
bool bValid; // 是否有效
|
|
|
double Lon; // 经度
|
|
|
double Lat; // 纬度
|
|
|
double H; // 高度
|
|
|
|
|
|
struCenterLocation()
|
|
|
{
|
|
|
bValid = false;
|
|
|
Lon = 0;
|
|
|
Lat = 0;
|
|
|
H = 0;
|
|
|
}
|
|
|
};
|
|
|
|
|
|
// 情报处理复接数据结构体
|
|
|
struct struQB_FJ
|
|
|
{
|
|
|
// bool bValid; // 结构体数据是否有效: TRUE—有效 FALSE—无效
|
|
|
//
|
|
|
// // 载荷姿态和属性
|
|
|
// UINT8 ZH_StablePlatformWorkState; // 稳定平台工作状态:000—手动跟踪 001—自动跟踪 010—锁定 011—数引 100—扫描 101—刹车 110—初始化 111—偏心跟踪
|
|
|
// UINT8 ZH_TrackState; // 跟踪器状态:000—正常 001—异常 010—目标丢失 011—相关跟踪 100—重心黑 101—重心白
|
|
|
// float ZH_Pitch; // 载荷俯仰角
|
|
|
// float ZH_Azimuth; // 载荷方位角
|
|
|
// bool ZH_LaserOn; // 激光测距开关,true为开
|
|
|
// double ZH_LaserDist; // 激光测距值
|
|
|
// float ZH_FocalLen; //焦距 mm
|
|
|
// float ZH_IRFocalLen; // IR焦距 mm(CH96补充)
|
|
|
// int ZH_DeltaX; //俯仰脱靶量
|
|
|
// int ZH_DeltaY; //方位脱靶量
|
|
|
// double ZH_PixelSize; //像元尺寸
|
|
|
// int ZH_ImgWidth; // 图像宽
|
|
|
// int ZH_ImgHeight; // 图像高
|
|
|
//
|
|
|
// // 飞机位置姿态GPS
|
|
|
// double UAV_GPS_Lon; // 无人机经度
|
|
|
// double UAV_GPS_Lat; // 无人机纬度
|
|
|
// float UAV_GPS_Alt; // 无人机高度
|
|
|
// float UAV_GPS_HSpeed; // 水平速度
|
|
|
// float UAV_Pitch; // 俯仰角
|
|
|
// float UAV_Yaw; // 航向角(机头方向)
|
|
|
// float UAV_Roll; // 滚转角
|
|
|
// float UAV_GroundHeight; // 无人机下视点地面高度:地面计算获取30米高程
|
|
|
//
|
|
|
// // GPS时间
|
|
|
// unsigned int UAV_GPS_Year; // 卫导1年
|
|
|
// unsigned int UAV_GPS_Month; // 卫导1月
|
|
|
// unsigned int UAV_GPS_Day; // 卫导1日
|
|
|
// unsigned int UAV_GPS_UTC; // 卫导1时分秒
|
|
|
//
|
|
|
// // 附加部分
|
|
|
// struCenterLocation centerLoc; // 图像中心点地理坐标,目标定位时会用到
|
|
|
//
|
|
|
// struQB_FJ()
|
|
|
// {
|
|
|
// bValid = false;
|
|
|
// }
|
|
|
|
|
|
bool bValid; // 结构体数据是否有效: TRUE—有效 FALSE—无效
|
|
|
|
|
|
// 载荷姿态和属性
|
|
|
UINT8 ZH_StablePlatformWorkState; // 稳定平台工作状态:000—手动跟踪 001—自动跟踪 010—锁定 011—数引 100—扫描 101—刹车 110—初始化 111—偏心跟踪
|
|
|
UINT8 ZH_TrackState; // 跟踪器状态:000—正常 001—异常 010—目标丢失 011—相关跟踪 100—重心黑 101—重心白
|
|
|
float ZH_Pitch; // 载荷俯仰角
|
|
|
float ZH_Azimuth; // 载荷方位角
|
|
|
bool ZH_LaserOn; // 激光测距开关,true为开
|
|
|
double ZH_LaserDist; // 激光测距值
|
|
|
float ZH_FocalLen; //焦距 mm
|
|
|
int ZH_DeltaX; //俯仰脱靶量
|
|
|
int ZH_DeltaY; //方位脱靶量
|
|
|
double ZH_PixelSize; //像元尺寸
|
|
|
int ZH_ImgWidth; // 图像宽
|
|
|
int ZH_ImgHeight; // 图像高
|
|
|
|
|
|
// 飞机位置姿态GPS
|
|
|
double UAV_GPS_Lon; // 无人机经度
|
|
|
double UAV_GPS_Lat; // 无人机纬度
|
|
|
float UAV_GPS_Alt; // 无人机高度
|
|
|
float UAV_GPS_HSpeed; // 水平速度
|
|
|
float UAV_Pitch; // 俯仰角
|
|
|
float UAV_Yaw; // 航向角(机头方向)
|
|
|
float UAV_Roll; // 滚转角
|
|
|
float UAV_GroundHeight; // 无人机下视点地面高度:地面计算获取30米高程
|
|
|
|
|
|
// GPS时间
|
|
|
unsigned int UAV_GPS_Year; // 卫导1年
|
|
|
unsigned int UAV_GPS_Month; // 卫导1月
|
|
|
unsigned int UAV_GPS_Day; // 卫导1日
|
|
|
unsigned int UAV_GPS_UTC; // 卫导1时分秒
|
|
|
|
|
|
// 附加部分
|
|
|
struCenterLocation centerLoc; // 图像中心点地理坐标,目标定位时会用到
|
|
|
|
|
|
struQB_FJ()
|
|
|
{
|
|
|
bValid = false;
|
|
|
}
|
|
|
};
|
|
|
|
|
|
|
|
|
// 图像经纬度边界
|
|
|
struct GeoBoundingBox
|
|
|
{
|
|
|
double NorthLat; // 北纬
|
|
|
double SouthLat; // 南纬
|
|
|
double WestLon; // 西经
|
|
|
double EastLon; // 东经
|
|
|
|
|
|
GeoBoundingBox()
|
|
|
{
|
|
|
NorthLat = -200.0;
|
|
|
SouthLat = -200.0;
|
|
|
WestLon = -200.0;
|
|
|
EastLon = -200.0;
|
|
|
}
|
|
|
};
|
|
|
|
|
|
//图像信息结构
|
|
|
struct ImgStru
|
|
|
{
|
|
|
int ImgWidth; // 图像宽
|
|
|
int ImgHeight; // 图像高
|
|
|
int bitcount; // 位数
|
|
|
GeoBoundingBox BoundingBox; // 经纬度边界(存储几何校正后图像的地理边界信息)
|
|
|
unsigned char* buff; // 图像数据
|
|
|
|
|
|
ImgStru()
|
|
|
{
|
|
|
ImgWidth = 0;
|
|
|
ImgHeight = 0;
|
|
|
bitcount = 0;
|
|
|
buff = NULL;
|
|
|
}
|
|
|
|
|
|
~ImgStru()
|
|
|
{
|
|
|
if ( buff != NULL )
|
|
|
{
|
|
|
delete[] buff;
|
|
|
buff = NULL;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
};
|
|
|
|
|
|
//图像数据:输入图像、输出图像、TIF图像
|
|
|
struct ImgData
|
|
|
{
|
|
|
bool bValid; //是否有效
|
|
|
ImgStru srcImg; //输入图像数据
|
|
|
ImgStru dstImg; //输出图像数据
|
|
|
ImgStru geoImg; //TIF文件数据
|
|
|
};
|
|
|
|
|
|
// 情报结构体
|
|
|
struct QBStru
|
|
|
{
|
|
|
//struTranslateProtocal_FJ frameAll; // 全部复接数据
|
|
|
struQB_FJ framePart; // 部分复接数据
|
|
|
ImgData image; // 图像数据
|
|
|
|
|
|
QBStru()
|
|
|
{
|
|
|
//memset(&frameAll, 0, sizeof(struTranslateProtocal_FJ));
|
|
|
memset(&framePart, 0, sizeof(struQB_FJ));
|
|
|
memset(&image, 0, sizeof(ImgData));
|
|
|
}
|
|
|
};
|
|
|
// CH96协议
|
|
|
struct Protocal96TXD
|
|
|
{
|
|
|
//载荷参数
|
|
|
UINT8 head[2]; // 帧头(1-2)
|
|
|
|
|
|
UINT8 mem1; // 预留,载荷参数开始(3)
|
|
|
UINT8 SwitchCmd; // 开关指令(4)
|
|
|
UINT8 Status0; // 状态字0(暂无)(5)
|
|
|
UINT8 Status1; // 状态字1(图像状态)(6)
|
|
|
UINT16 EOFocus; // 可见光焦距值(7-8)
|
|
|
UINT8 Status2; // 状态字2(伺服状态)(9)
|
|
|
UINT32 FrameCount; // 帧计数值(时码)(10-13)
|
|
|
INT16 dx; // 俯仰脱靶量(14-15)
|
|
|
INT16 dy; // 方位脱靶量(16-17)
|
|
|
UINT16 IRFocus; // 红外焦距值(18-19)
|
|
|
UINT16 LaserDis; // 激光测距值(20-21)
|
|
|
UINT8 LaserState; // 激光状态(测距开关)(22)
|
|
|
UINT32 None_1; // 无(23-26)
|
|
|
UINT32 None_2; // 无(27-30)
|
|
|
INT16 ZH_Pitch; // 载荷俯仰角(31-32)
|
|
|
INT16 ZH_Azimuth; // 载荷方位角(33-34)
|
|
|
UINT16 PixelSize; // 像元大小(35-36)
|
|
|
UINT16 mem2[6]; // 压缩/所取图像/横向/纵向分辨率(37-48)
|
|
|
|
|
|
//飞机参数
|
|
|
INT16 PlaneID; //飞机ID(49-50)(1-2)
|
|
|
INT16 Pitch; //飞机测姿俯仰角(51-52)(3-4)
|
|
|
INT16 Roll; //飞机测姿滚转角(53-54)(5-6)
|
|
|
INT16 Yaw; //飞机测姿航向角(55-56)(7-8)
|
|
|
INT32 Satelite_lon; //飞机测姿经度(57-60)(9-12)
|
|
|
INT32 Satelite_lat; //飞机测姿纬度(61-64)(13-16)
|
|
|
INT32 Satelite_height; //飞机测姿高度(65-68)(17-20)
|
|
|
INT16 Satelite_Ground_Speed; //飞机测姿地速(69-70)(21-22)
|
|
|
INT16 Satelite_Ground_Speed_Dir; //测姿GPS地速方向(71-72)(23-24)
|
|
|
INT16 Satelite_Sky_Speed; //测姿GPS天速(73-74)(25-26)
|
|
|
INT16 MTI_Pitch; //MTI俯仰角(75-76)(27-28)
|
|
|
INT16 MTI_Roll; //MTI滚转角(77-78)(29-30)
|
|
|
INT16 MTI_Yaw; //MTI航向角(79-80)(31-32)
|
|
|
INT32 MTI_lon; //MTI经度(81-84)(33-36)
|
|
|
INT32 MTI_lat; //MTI纬度(85-88)(37-40)
|
|
|
INT16 MTI_height; //MTI高度(89-90)(41-42)
|
|
|
INT16 MTI_Ground_Speed; //MTI地速(91-92)(43-44)
|
|
|
INT16 MTI_Ground_Speed_Dir; //MTI地速方向(93-94)(45-46)
|
|
|
INT16 MTI_Sky_Speed; //MTI天速(95-96)(47-48)
|
|
|
UINT32 UTC_Second; //UTC天秒(97-100)(49-52)
|
|
|
UINT8 UTC_Year; //UTC年(101)(53)
|
|
|
UINT8 UTC_Month; //UTC 月(102)(54)
|
|
|
UINT8 UTC_Day; //UTC 日(103)(55)
|
|
|
UINT8 NavigationState; //导航状态(104)(56)
|
|
|
UINT16 PressureHEG; //气压高度(105-106)(57-58)
|
|
|
INT16 AirSpeed; //空速(107-108)(59-60)
|
|
|
UINT8 Engine_Speed; //发动机转速(109)(61)
|
|
|
INT8 Left_Tmp; //左缸温(110)(62)
|
|
|
INT8 Right_Tmp; //右缸温(111)(63)
|
|
|
INT8 Pitch_Install_Err; //载荷俯仰安装误差(112)(64)
|
|
|
INT8 Roll_Install_Err; //载荷滚转安装误差(113)(65)
|
|
|
INT8 Yaw_Install_Err; //载荷偏航安装误差(114)(66)
|
|
|
UINT8 mem3; //预留(115)(67)
|
|
|
INT8 GPS_Parm[38]; //测姿GPS 参数(116-148)(68-100)
|
|
|
|
|
|
UINT16 CRC; //飞参数据校验(149-150)
|
|
|
};
|
|
|
|
|
|
struct Data96TXD
|
|
|
{
|
|
|
//载荷参数
|
|
|
UINT8 head[2]; // 帧头(1-2)
|
|
|
|
|
|
UINT8 mem1; // 预留,载荷参数开始(3)
|
|
|
UINT8 SwitchCmd; // 开关指令(4)
|
|
|
UINT8 Status0; // 状态字0(暂无)(5)
|
|
|
UINT8 Status1; // 状态字1(图像状态)(6)
|
|
|
float EOFocus; // 可见光焦距值(7-8)
|
|
|
UINT8 Status2; // 状态字2(伺服状态)(9)
|
|
|
UINT32 FrameCount; // 帧计数值(时码)(10-13)
|
|
|
int dx; // 俯仰脱靶量(14-15)
|
|
|
int dy; // 方位脱靶量(16-17)
|
|
|
float IRFocus; // 红外焦距值(18-19)
|
|
|
int LaserDis; // 激光测距值(20-21)
|
|
|
UINT8 LaserState; // 激光状态(测距开关)(22)
|
|
|
UINT32 None_1; // 无(23-26)
|
|
|
UINT32 None_2; // 无(27-30)
|
|
|
float ZH_Pitch; // 载荷俯仰角(31-32)
|
|
|
float ZH_Azimuth; // 载荷方位角(33-34)
|
|
|
float PixelSize; // 像元大小(35-36)
|
|
|
UINT16 mem2[6]; // 压缩/所取图像/横向/纵向分辨率(37-48)
|
|
|
|
|
|
//飞机参数
|
|
|
int PlaneID; //飞机ID(49-50)(1-2)
|
|
|
float Pitch; //飞机测姿俯仰角(51-52)(3-4)
|
|
|
float Roll; //飞机测姿滚转角(53-54)(5-6)
|
|
|
float Yaw; //飞机测姿航向角(55-56)(7-8)
|
|
|
double Satelite_lon; //飞机测姿经度(57-60)(9-12)
|
|
|
double Satelite_lat; //飞机测姿纬度(61-64)(13-16)
|
|
|
double Satelite_height; //飞机测姿高度(65-68)(17-20)
|
|
|
float Satelite_Ground_Speed; //飞机测姿地速(69-70)(21-22)
|
|
|
float Satelite_Ground_Speed_Dir; //测姿GPS地速方向(71-72)(23-24)
|
|
|
float Satelite_Sky_Speed; //测姿GPS天速(73-74)(25-26)
|
|
|
float MTI_Pitch; //MTI俯仰角(75-76)(27-28)
|
|
|
float MTI_Roll; //MTI滚转角(77-78)(29-30)
|
|
|
float MTI_Yaw; //MTI航向角(79-80)(31-32)
|
|
|
double MTI_lon; //MTI经度(81-84)(33-36)
|
|
|
double MTI_lat; //MTI纬度(85-88)(37-40)
|
|
|
double MTI_height; //MTI高度(89-90)(41-42)
|
|
|
float MTI_Ground_Speed; //MTI地速(91-92)(43-44)
|
|
|
float MTI_Ground_Speed_Dir; //MTI地速方向(93-94)(45-46)
|
|
|
float MTI_Sky_Speed; //MTI天速(95-96)(47-48)
|
|
|
int UTC_Second; //UTC天秒(97-100)(49-52)
|
|
|
int UTC_Year; //UTC年(101)(53)
|
|
|
int UTC_Month; //UTC 月(102)(54)
|
|
|
int UTC_Day; //UTC 日(103)(55)
|
|
|
UINT8 NavigationState; //导航状态(104)(56)
|
|
|
float PressureHEG; //气压高度(105-106)(57-58)
|
|
|
float AirSpeed; //空速(107-108)(59-60)
|
|
|
int Engine_Speed; //发动机转速(109)(61)
|
|
|
int Left_Tmp; //左缸温(110)(62)
|
|
|
int Right_Tmp; //右缸温(111)(63)
|
|
|
float Pitch_Install_Err; //载荷俯仰安装误差(112)(64)
|
|
|
float Roll_Install_Err; //载荷滚转安装误差(113)(65)
|
|
|
float Yaw_Install_Err; //载荷偏航安装误差(114)(66)
|
|
|
UINT8 mem3; //预留(115)(67)
|
|
|
INT8 GPS_Parm[38]; //测姿GPS 参数(116-148)(68-100)
|
|
|
|
|
|
UINT16 CRC; //飞参数据校验(149-150)
|
|
|
};
|
|
|
|
|
|
struct MostSimpleTgtInfo
|
|
|
{
|
|
|
unsigned int ID;
|
|
|
double Lon;
|
|
|
double Lat;
|
|
|
double Alt;
|
|
|
};
|
|
|
|
|
|
#pragma pack()
|