Files
CodeRepository/Projects/App_S3313/Src/gdParty/include/electroopticradarsdk.h

921 lines
45 KiB
C
Raw Normal View History

2026-02-01 22:23:06 +08:00
#ifndef ELECTROOPTICRADARSDK_H
#define ELECTROOPTICRADARSDK_H
#ifndef __linux__
#if defined(ELECTROOPTICRADARSDK_LIBRARY)
# define ELECTROOPTICRADARSDKSHARED_EXPORT __declspec(dllexport)
#else
# define ELECTROOPTICRADARSDKSHARED_EXPORT __declspec(dllimport)
#endif
#else
#if defined(ELECTROOPTICRADARSDK_LIBRARY)
# define ELECTROOPTICRADARSDKSHARED_EXPORT Q_DECL_EXPORT
#else
# define ELECTROOPTICRADARSDKSHARED_EXPORT Q_DECL_IMPORT
#endif
#endif
#include <QString>
#include <QMetaType>
#pragma pack(1)
//网络连接类型
enum NET_CONNECT_TYPE
{
NET_CONNECT_TYPE_UDP = 0, //udp连接
NET_CONNECT_TYPE_TCP = 1, //TCP连接
};
enum COMMUNICATION_TYPE
{
COMMUNICATION_TYPE_NET = 0, //网络通讯
COMMUNICATION_TYPE_COM = 1, //串口通讯
COMMUNICATION_TYPE_CAN = 2, //CAN通讯
};
typedef void (/*__stdcall*/ *CALLBACK_DATA)(unsigned char *pData, int nLen, void *pUser);
typedef struct tagCOMMUNICATION_PARAM
{
COMMUNICATION_TYPE eCommunicationType; //连接类型
//01-网络通信参数
NET_CONNECT_TYPE eNetType; //网络通信类型
int nLocalPort; //本机端口
QString strLocalIP; //本机IP
int nRemotePort; //对端端口
QString strRemoteIP; //对端IP
//02-CAN通信参数
int m_nCanIndex; //CAN卡索引
int m_nCanNum; //CAN通道号
int m_nMode; //工作模式0正常1只听模式
QString m_strCode; //验收码:"00000000"
QString m_strMask; //屏蔽码"ffffffff"
int m_nFilterType; //滤波方式 0双滤波 1单滤波
QString m_strTiming0; //定时器0常用“00” //波特率kbps 1000 800 500 250 125 100 50 20 10 5
//定时器0 00 00 00 01 03 04 09 18 31 BF
//定时器1 14 16 1C 1C 1C 1C 1C 1C 1C FF
QString m_strTiming1; //定时器1常用“1C”
int m_nSendFrmType; //帧类型 0标准 1扩展
int m_nSendFrmFmt; //帧格式 0数据帧 1远程帧
int m_nSendType; //发送格式 0正常发送 1单次发送 2自发自收 3单次自发自收
//03-串口通信参数
QString strComName; //串口名称
int nComBaudrate; //串口波特率
CALLBACK_DATA pFnDataCallback; //上返数据回调
void* pUser; //用户指针数据
}COMMUNICATION_PARAM,*LPCOMMUNICATION_PARAM;
typedef struct tagCONNECT_RECV_DATA_INFO
{
unsigned char *pData; //接收数据指针
int nSize; //数据长度
unsigned int nFrmID; //CAN接收数据中有帧ID
}CONNECT_RECV_DATA_INFO,*LPCONNECT_RECV_DATA_INFO;
typedef void (/*__stdcall*/ *CALLBACK_CONNECT_RECV_DATA)(CONNECT_RECV_DATA_INFO stData, void *pUser);
typedef struct tagCONNECT_PARAM
{
COMMUNICATION_PARAM stCommunicationParam;
void *pUser;
CALLBACK_CONNECT_RECV_DATA pFnCallback;
}CONNECT_PARAM,*LPCONNECT_PARAM;
#pragma pack(push, 1)
//设备状态
struct DeviceState
{
//红外组件信息
float fIRViewAngel; //传输值=实际值*10
float fIRFocus; //传输值=实际值*10
unsigned char ucIRSelfCheckState; //镜头自检状态0异常1正常
unsigned char ucIRTanCeQiState; //探测器状态0异常1正常
unsigned char ucIRCoolerState; //制冷状态0正在制冷1制冷完成
unsigned char ucIRJiXingState; //极性状态0白热1黑热
unsigned char ucIRViewChangeValu; //电子变倍0-1倍1-2倍2-4倍
unsigned char ucIRMirrorState; //镜头状态0-镜头无操作1调焦2变焦3自动聚焦
unsigned char ucIRBrightLevel; //亮度等级0~100
unsigned char ucIRContrastLevel; //对比度等级0~100
unsigned char ucIRDDELevel; //DDE等级0~4
unsigned char ucIRCommandType; //指令类型0空闲1机芯指令2镜头指令
unsigned char ucIRLimitPosFlags; //镜头限位标志0-中间位置1-到达大视场限位2-到达小视场限位
//可见光组件信息
float fVLViewAngel; //传输值=实际值*10
float fVLFocus; //传输值=实际值*10
unsigned char ucVLBrightLevel; //亮度等级0~19
unsigned char ucVLContrastLevel; //对比度等级0~19
unsigned char ucVLDDELevel; //DDE等级0~9
unsigned char ucVLFogOpenState; //电子透雾开关状态0-关1-开
unsigned char ucVLSelfCheckState; //镜头自检状态0异常1正常
unsigned char ucVLMirrorState; //镜头状态0-镜头无操作1调焦2变焦3自动聚焦
unsigned char ucVLCommandType; //指令类型0空闲1机芯指令2镜头指令
unsigned char ucVLLimitPosFlags; //镜头限位标志0-中间位置1-到达大视场限位2-到达小视场限位
//激光测距相关信息
unsigned char ucLaserState; //测距状态0-测距无效1-有效
unsigned char ucLaserBackWaveState; //回波0-无回波1-有回波
unsigned char ucLaserRest; //强制休息状态0-非强制休息1-强制休息
unsigned char ucLaserEnegly; //能量0-正常能量1-小能量
unsigned char ucLaserSelfCheck; //自检0-正常1-故障
unsigned char ucLaserWaveState; //主波0-无主波发射1-主波发射
unsigned char ucLaserTemprature; //温度告警0-温度正常1-温度告警
unsigned char ucLaserLowPower; //低功耗0-静止1-使能
unsigned char ucLaserWorkMode; //激光工作模式0-空闲1-准备中2-待机3-1Hz,4-5Hz,5-自检中6-激光照射7-单次测距
unsigned char ucLaserHightPower; //高压状态0-正常1-异常
unsigned char ucLaserUsedEnegly; //使能状态0-禁止1-使能
unsigned char ucLaserRecv; //接收状态0-关闭1-开启
unsigned char ucLaserTimeStata; //时统状态0-内时统1-外时统
float fLaserDistance; //激光距离,保留小数
unsigned char ucLaserTemp; //温度信息,-128~+127
unsigned char ucLaserCode; //照射编号13H编号115H编号216H编号319H编号41AH编号51CH编号623H编号725H编号8
//26H编号929H编号102AH编号112CH编号1231H编号1332H编号1434H编号1537H编号16
unsigned char ucLaserTagNum; //目标数0-3
unsigned char ucLaserSourceStata; //驱动源状态0-正常1-异常
unsigned char ucLaserRecvConnect; //接收上位机通讯0-正常1-异常
//综合信息
float fLoadTemperature; //载荷环境温度+100
unsigned char ucLoadHumidity; //载荷湿度
unsigned short ucLoadPressure; //载荷气压
unsigned char ucLoadIRPower; //红外电源0-异常1-正常
unsigned char ucLoadVLPower; //可见光电源0-异常1-正常
unsigned char ucLoadHisiPower; //海思板电源0-异常1-正常
unsigned char ucLoadLaserPower; //激光电源0-异常1-正常
unsigned char ucWuYuanLocateState;
//跟踪板信息
unsigned char ucTrackerVideoSource; //视频源0-红外1-可见光2-黑白可见光
unsigned char ucTrackerMode; //跟踪器模式0-未知1-待命2-搜索3-跟踪4-局部跟踪5-丢失重捕6-末端盲区7-捕获8-定位
float fTrackOffsetX; //跟踪脱靶量X
float fTrackOffsetY; //跟踪脱靶量Y
double dTrackBoardLongitude; //经纬高-经度
double dTrackBoardLatitude; //经纬高-纬度
double dTrackBoardHeight; //经纬高-高度
unsigned short usTrackerRecordTime; //录像时间
unsigned char ucTrackerRecordStatus; //录像状态0-未录像1-正在录像
unsigned char ucTrackerProjectID; //项目ID
float fTrackerVLMaxTimes; //可见光放大倍数
float fTrackerIRMaxTimes; //红外放大倍数
//伺服上返信息
unsigned char workstate; //工作模式
float orientationAngle; //方位角度值(内框)
float pitchAngle; //俯仰角度值(内框)
float orientationAngleOutside; //方位角度值(外框)
float pitchAngleOutside; //俯仰角度值(外框)
float orientationAngleSpeed; //方位角速度
float pitchAngleSpeed; //俯仰角速度
unsigned char ucServoError1_0; //内框方位堵转
unsigned char ucServoError1_1; //内框俯仰堵转
unsigned char ucServoError1_2; //内框方位旋变故障
unsigned char ucServoError1_3; //内框俯仰旋变故障
unsigned char ucServoError1_4; //内框方位陀螺故障
unsigned char ucServoError1_5; //内框俯仰陀螺故障
unsigned char ucServoError1_6; //内框方位电流异常
unsigned char ucServoError1_7; //内框俯仰电流异常
unsigned char ucServoError2_0; //内框方位飞转
unsigned char ucServoError2_1; //内框俯仰飞转
unsigned char ucServoError2_2; //外框方位堵转
unsigned char ucServoError2_3; //外框俯仰堵转
unsigned char ucServoError2_4; //外框方位旋变故障
unsigned char ucServoError2_5; //外框俯仰旋变故障
unsigned char ucServoError2_6; //外框方位电流异常
unsigned char ucServoError2_7; //外框俯仰电流异常
unsigned char ucServoError3_0; //角传板通信故障
unsigned char ucServoError3_1; //载荷综控板通信异常
unsigned char ucServoError3_2; //跟踪板通信异常
unsigned char ucServoError3_3; //预留
unsigned char ucServoError3_4; //内框方位共振
unsigned char ucServoError3_5; //内框俯仰共振
double dHeight; //载体海拔高
double dLongitude; //载体经度
double dLatitude; //载体纬度
double dCarAz; //载体偏航角
double dCarPt; //载体俯仰角
double dCarRoll; //载体横滚角
float fJZRoll; //矫正横滚角
float fJZYaw; //矫正偏航角
float fJZPt; //矫正俯仰角
unsigned char ucFrameIDTotal; //帧计数0~255循环
};
struct SystemRecvData
{
//帧头
unsigned char ucHead1; //帧头0x55
unsigned char ucHead2; //帧头0xAA
unsigned char ucAddr; //地址0xFF
unsigned char ucLen; //数据长度0x7A
unsigned char ucCommand1; //命令字1 0xF0
unsigned char ucCommand2; //命令字2 0xFF
//红外组件信息
unsigned short usIRViewAngel; //传输值=实际值*10
unsigned short usIRFocus; //传输值=实际值*10
unsigned char ucIRSelfCheckState:1; //镜头自检状态0异常1正常
unsigned char ucIRTanCeQiState:1; //探测器状态0异常1正常
unsigned char ucIRCoolerState:1; //制冷状态0正在制冷1制冷完成
unsigned char ucIRJiXingState:1; //极性状态0白热1黑热
unsigned char ucIRViewChangeValu:2; //电子变倍0-1倍1-2倍2-4倍
unsigned char ucIRMirrorState:2; //镜头状态0-镜头无操作1调焦2变焦3自动聚焦
unsigned char ucIRBrightLevel; //亮度等级0~100
unsigned char ucIRContrastLevel; //对比度等级0~100
unsigned char ucIRDDELevel:4; //图像增强等级0~4
unsigned char ucIRCommandType:2; //指令类型0空闲1机芯指令2镜头指令
unsigned char ucIRLimitPosFlags:2; //镜头限位标志0-中间位置1-到达大视场限位2-到达小视场限位
unsigned char arrIRResever[2]; //红外预留2字节
//可见光组件信息
unsigned short usVLViewAngel; //传输值=实际值*10
unsigned short usVLFocus; //传输值=实际值*10
unsigned char ucVLBrightLevel; //亮度等级0~19
unsigned char ucVLContrastLevel; //对比度等级0~19
unsigned char ucVLDDELevel:4; //DDE等级0~9
unsigned char ucVLFogOpenState:1; //电子透雾开关状态0-关1-开
unsigned char ucVLSelfCheckState:1; //镜头自检状态0异常1正常
unsigned char ucVLMirrorState:2; //镜头状态0-镜头无操作1调焦2变焦3自动聚焦
unsigned char ucVLCommandType:2; //指令类型0空闲1机芯指令2镜头指令
unsigned char ucVLLimitPosFlags:2; //镜头限位标志0-中间位置1-到达大视场限位2-到达小视场限位
unsigned char ucVLResever:4; //预留
// unsigned char arrVLResever[2]; //可见光预留2字节
//激光测距相关信息
unsigned char ucLaserState:1; //测距状态0-测距无效1-有效
unsigned char ucLaserBackWaveState:1; //回波0-无回波1-有回波
unsigned char ucLaserRest:1; //强制休息状态0-非强制休息1-强制休息
unsigned char ucLaserEnegly:1; //能量0-正常能量1-小能量
unsigned char ucLaserSelfCheck:1; //自检0-正常1-故障
unsigned char ucLaserWaveState:1; //主波0-无主波发射1-主波发射
unsigned char ucLaserTemprature:1; //温度告警0-温度正常1-温度告警
unsigned char ucLaserLowPower:1; //低功耗0-静止1-使能
unsigned char ucLaserWorkMode:4; //激光工作模式0-空闲1-准备中2-待机3-1Hz,4-5Hz,5-自检中6-激光照射7-单次测距
unsigned char ucLaserHightPower:1; //高压状态0-正常1-异常
unsigned char ucLaserUsedEnegly:1; //使能状态0-禁止1-使能
unsigned char ucLaserRecv:1; //接收状态0-关闭1-开启
unsigned char ucLaserTimeStata:1; //时统状态0-内时统1-外时统
//unsigned int nLaserDistance; //激光距离
unsigned short nLaserDistance; //激光距离
unsigned char ucLaserTemp; //温度信息,-128~+127
unsigned char ucLaserCode; //照射编号13H编号115H编号216H编号319H编号41AH编号51CH编号623H编号725H编号8
//26H编号929H编号102AH编号112CH编号1231H编号1332H编号1434H编号1537H编号16
unsigned char ucLaserTagNum:2; //目标数0-3
unsigned char ucLaserSourceStata:1; //驱动源状态0-正常1-异常
unsigned char ucLaserRecvConnect:1; //接收上位机通讯0-正常1-异常
unsigned char ucLaserResever:4; //激光测距预留
unsigned char ucLaserResever1; //激光测距预留
//综合信息
unsigned char ucLoadTemperature; //载荷环境温度+100
unsigned char ucLoadHumidity; //载荷湿度
unsigned short ucLoadPressure; //载荷气压
unsigned char ucLoadIRPower:1; //红外电源0-异常1-正常
unsigned char ucLoadVLPower:1; //可见光电源0-异常1-正常
unsigned char ucLoadHisiPower:1; //海思板电源0-异常1-正常
unsigned char ucLoadLaserPower:1; //激光测距机电源0-异常1-正常
unsigned char ucLoadFanPower:1; //风扇电源0-异常1-正常
unsigned char ucLoadHotPiecePower:1; //加热片电源0-异常1-正常
unsigned char ucLoadZongheReserve:2; //预留
// unsigned char ucLoadCommandState:6; //指令状态0-无操作1-红外2-可见光3-激光4-跟踪
// unsigned char ucLoadZongheReserve_2:2; //预留
unsigned char ucLoadCommandState:5; //指令状态0-无操作1-红外2-可见光3-激光4-跟踪
unsigned char ucWuYuanLocateState:1; //无源定位状态
unsigned char ucOneKeyState:2;
//跟踪板信息
unsigned char ucTrackerVideoSource; //视频源0-红外1-可见光2-黑白可见光
unsigned char ucTrackerMode; //跟踪器模式0-未知1-待命2-搜索3-跟踪4-局部跟踪5-丢失重捕6-末端盲区7-捕获
ushort sTrackOffsetX; //跟踪脱靶量X
ushort sTrackOffsetY; //跟踪脱靶量Y
int nTrackBoardLongitude; //经纬高-经度
int nTrackBoardLatitude; //经纬高-纬度
int nTrackBoardHeight; //经纬高-高度
unsigned short usTrackerRecordTime; //录像时间
unsigned char ucTrackerRecordStatus; //录像状态0-未录像1-正在录像
unsigned char ucTrackerProjectID; //项目ID
unsigned short usTrackerVLMaxTimes; //可见光放大倍数
unsigned short usTrackerIRMaxTimes; //红外放大倍数
unsigned char arrTrackerResever[1]; //跟踪板上返信息预留1个字节
//伺服上返信息
unsigned char workstate; //工作模式
unsigned short usOrientationAngle; //方位角度值(内框)
unsigned short usPitchAngle; //俯仰角度值(内框)
unsigned short usOrientationAngleOutside; //方位角度值(外框)
unsigned short usPitchAngleOutside; //俯仰角度值(外框)
int iOrientationAngleSpeed; //方位角速度
int iPitchAngleSpeed; //俯仰角速度
unsigned char ucServoError1_0:1; //内框方位堵转
unsigned char ucServoError1_1:1; //内框俯仰堵转
unsigned char ucServoError1_2:1; //内框方位旋变故障
unsigned char ucServoError1_3:1; //内框俯仰旋变故障
unsigned char ucServoError1_4:1; //内框方位陀螺故障
unsigned char ucServoError1_5:1; //内框俯仰陀螺故障
unsigned char ucServoError1_6:1; //内框方位电流异常
unsigned char ucServoError1_7:1; //内框俯仰电流异常
unsigned char ucServoError2_0:1; //内框方位飞转
unsigned char ucServoError2_1:1; //内框俯仰飞转
unsigned char ucServoError2_2:1; //外框方位堵转
unsigned char ucServoError2_3:1; //外框俯仰堵转
unsigned char ucServoError2_4:1; //外框方位旋变故障
unsigned char ucServoError2_5:1; //外框俯仰旋变故障
unsigned char ucServoError2_6:1; //外框方位电流异常
unsigned char ucServoError2_7:1; //外框俯仰电流异常
unsigned char ucServoError3_0:1; //角传板通信故障
unsigned char ucServoError3_1:1; //载荷综控板通信异常
unsigned char ucServoError3_2:1; //跟踪板通信异常
unsigned char ucServoError3_3:3; //预留
unsigned char ucServoError3_4:1; //内框方位共振
unsigned char ucServoError3_5:1; //内框俯仰共振
short usCarAz; //载体偏航角
short usCarPt; //载体俯仰角
short usCarRoll; //载体横滚角
short usHeight; //载体海拔高
float fJZRoll; //矫正横滚角
int nLongitude; //载体经度
int nLatitude; //载体纬度
unsigned char ucServoResever; //伺服预留
//通讯状态
unsigned char ucCommunicationState1_0:1;
unsigned char ucCommunicationState1_1:1;
unsigned char ucCommunicationState1_2:1;
unsigned char ucCommunicationState1_3:1;
unsigned char ucCommunicationState1_4:4;
unsigned char ucCommunicationState2_0:1;
unsigned char ucCommunicationState2_1:1;
unsigned char ucCommunicationState2_2:1;
unsigned char ucCommunicationState2_3:1;
unsigned char ucCommunicationState2_4:4;
unsigned char ucReserveData[7];
float fJZYaw; //矫正偏航角
float fJZPt; //矫正俯仰角
unsigned char ucReserveData1[2];
unsigned char ucFrameIDTotal; //帧计数0~255循环
unsigned char ucXor; //异或校验
unsigned char ucTail; //帧尾0xF0
};
#pragma pack(pop)
//模块类型
typedef enum eMODULE_TYPE
{
MODULE_TYPE_Power, //电源管理模块
MODULE_TYPE_IR, //红外模块
MODULE_TYPE_VL, //可见光模块
MODULE_TYPE_Laser, //激光模块
MODULE_TYPE_TrackBoard, //跟踪板模块
MODULE_TYPE_Servo, //伺服模块
}MODULE_TYPE;
// 电源控制命令类型
enum ModulePowerControlCommand
{
IRPowerOpen, //打开红外电源
IRPowerClose, //关闭红外电源
VLPowerOpen, //打开可见光电源
VLPowerClose, //关闭可见光电源
VLTrackPowerOpen, //打开可见光跟踪电源
VLTrackPowerClose, //关闭可见光跟踪电源
IRTrackPowerOpen, //打开红外跟踪电源
IRTrackPowerClose, //关闭红外跟踪电源
ServoPowerClose, //关闭伺服板电源
ServoPowerOpen, //打开伺服板电源
MakeAllOpen, //使能命令下发
MakeAllClose, //关闭上位机
LaserDisPowerOpen, //打开激光测距电源
LaserDisPowerClose, //关闭激光测距电源
LaserLightPowerOpen, //打开激光照明电源
LaserLightPowerClose, //关闭激光照明电源
HangXiangjiaoPYL, //航向角偏移量
TargetLonLatheight,
OneKeyParity,
OneKeyParityClean,
};
// ******************************枚举类型******************************
// 红外控制命令枚举
// 主要命令包括:白热、黑热、亮度+、亮度-、对比度+、对比度-、调焦+、调焦-、
// 调焦停、变倍+、变倍-、变倍停、自动聚焦...
enum IRControlCommandEo
{
IRFocusAdd = 0, //调焦+ //********一级菜单--光学控制页*********
IRFocusDec, //调焦-
IRFocusStop, //调焦停
IRAutoZoomAdd, //连续变倍+
IRAutoZoomDec, //连续变倍-
IRAutoZoomStop, //连续变倍停
IRAutoFocus, //自动对焦
IRBrightAdd, //亮度+
IRBrightDec, //亮度-
IRContrastAdd, //对比度+
IRContrastDec, //对比度-
IRDiaoGuangLine, //线性调光
IRDiaoGuangHistogram, //直方图调光
IRDiaoGuangMix, //混合调光
IRDDESwitch, //DDE开关
IRDDELevel, //DDE强度
IRPolarWhite, //白热
IRPolarBlack, //黑热
IRUserMenuSwitch, //用户菜单开关
IRExpertMenuSwitch, //专家菜单开关
IRMenuLeftSlide, //菜单左移
IRMenuRightSlide, //菜单右移
IRMenuParamConfirmDec, //菜单参数确认-
IRMenuParamConfirmAdd, //菜单参数确认+
IRMenuButtonRelease, //按键弹起 (对应通用按键设置页每一次按键按下)
IRCollectTimeAdd, //积分时间+
IRCollectTimeDec, //积分时间-
IRCollectTimeSet, //积分时间设置
IRB1Collect, //B1采集
IRB2Collect, //B2采集
IRShutterRevise, //快门补偿
IRFocusCompensation, //虚焦补偿
IRBadPointThreshold, //坏点阈值 //*******二级菜单--非均匀校正页*******
IRStaticReviseBadPoint, //静态校坏点
IRSaveBadPoint, //保存坏点
IRLoadBadPoint, //加载坏点
IRClearBadPoint, //清空坏点
IRZOOM, //ZOOM放大
IRBigLoop, //大闭环
IRSceneCompensation, //虚焦补偿
//---------------end-------------------
IRWidthView, //宽视场
IRNarrowView, //窄视场
IRMiddleView, //中视场
IRSaveConfig, //保存设置 //*******二级菜单--SETUP设置页*******
IRLoadConfig, //加载设置
IRSaveFactoryConfig, //保存出厂设置
IRRecoverFactoryConfig, //恢复出厂设置
IRDynamicReviseBadPointOpen, //动态校坏点开启
IRDynamicReviseBadPointClose, //动态校坏点关闭
//红外跟踪指令
IRTrackFree, //空闲
IRTrackLock, //锁定
IRTrackUnLock, //解锁
IRAutoTrackOpen, //自动跟踪开
IRAutoTrackClose, //自动跟踪关
IRBox_WidthNormal_HeightNormal, //波门宽度不变 高度不变
IRBox_WidthNormal_HeightAdd, //波门宽度不变 高度增加
IRBox_WidthNormal_HeightDec, //波门宽度不变 高度减少
IRBox_WidthAdd_HeightNormal, //波门宽度增加 高度不变
IRBox_WidthAdd_HeightAdd, //波门宽度增加 高度增加
IRBox_WidthAdd_HeightDec, //波门宽度增加 高度减少
IRBox_WidthDec_HeightNormal, //波门宽度减少 高度不变
IRBox_WidthDec_HeightAdd, //波门宽度减少 高度增加
IRBox_WidthDec_HeightDec, //波门宽度减少 高度减少
IRBox_PosYNormal_PosXNormal, //波门垂直位置不变 水平位置不变
IRBox_PosYNormal_PosXLeft, //波门垂直位置不变 水平位置左移
IRBox_PosYNormal_PosXRight, //波门垂直位置不变 水平位置右移
IRBox_PosYDown_PosXNormal, //波门垂直下移 水平位置不变
IRBox_PosYDown_PosXLeft, //波门垂直下移 水平位置左移
IRBox_PosYDown_PosXRight, //波门垂直下移 水平位置右移
IRBox_PosYUp_PosXNormal, //波门垂直上移 水平位置不变
IRBox_PosYUp_PosXLeft, //波门垂直上移 水平位置左移
IRBox_PosYUp_PosXRight, //波门垂直上移 水平位置右移
IRStopRecord, //停止录像
IRStartRecord, //开始录像
IRSwitchVideoSource_Color, //视频源切换 (彩色可见光)
IRSwitchVideoSource_BW, //视频源切换 (黑白可见光)
IRTargetIdentifyOn, //目标识别开
IRTargetIdentifyOff, //目标识别关
IRTargetDetectionOn, //小目标检测开
IRTargetDetectionOff, //小目标检测关
IRFaceTargetDetectionParamSet, //面目标检测参数设置
//通用按键设置页
IRFocusCustom, //焦距定制
IRFilterLight1Switch, //切换到滤光片1
IRFilterLight2Switch, //切换到滤光片2
IRFilterLight3Switch, //切换到滤光片3
IRMainBoardControl, //串口透传 主板控制
IRServoBoardControl, //串口透传 伺服板控制
IRStepNumberSet, //阶段号设置
IRSaveClearPoint, //保存清晰点
IRHitFocusFar, //踩点远焦
IRHitFocusNear, //踩点近焦
IRHitFocusStop, //踩点调焦停
IRHitZoomOut, //踩点变倍+
IRHitZoomIn, //踩点变倍-
IRHitZoomStop, //踩点变倍停
IRFaceTargetDetectionOn, //面目标检测开
IRFaceTargetDetectionOff, //面目标检测关
IRDynamicTargetDetectionOn, //动目标检测开
IRDynamicTargetDetectionOff,//动目标检测关
IRAITargetDetectionOn, //AI目标检测开
IRAITargetDetectionOff, //AI目标检测关
IRTargetDetectParamSet, //小目标检测参数设置
IRDynamicTargetDetectParamSet, //动目标检测参数设置
IRAITargetDetectParamSet, //AI目标检测参数设置
IRImageImproveOn, //目标图像增强开
IRImageImproveOff, //目标图像增强关
IRFunctionDistanceOn, //作用距离开
IRFunctionDistanceOff, //作用距离关
IRCycleTargetInfoSend, //向跟踪板周期性发送目标信息
IRAIWorkStateSet, //AI参数设置 工作模式
IRRadarGuideSet, //雷达导引
IRZoomSpeedAdd, //变倍速度+
IRZoomSpeedDec, //变倍速度-
IRTempeChangeByMachine, //温度档随机芯改变
IRTempeChangeNotByMachine, //温度档不随机芯改变
IRShutterOpen, //快门开
IRShutterClose, //快门关
IRAdjustLight, //调光模式设置
IRVideoOutParamSet, //视频输出参数设置
IRDisPlayControl, //显示控制
/*****图像控制*****/
IR_SYLB, //时域滤波
IR_KYLB, //空域滤波
IR_KDT, //宽动态
IR_BACA, //BACA
IR_FKTG, //分块调光
IR_DTFWSet, //动态范围压缩
IRNoUseEo,
};
//可见光控制命令类型
enum VLControlCommandEo
{
VLSetAllInit = 0, //可见光机芯初始化
VLSetExposureMode, //曝光模式
VLSetElecFogMode, //设置电子透雾
VLSetMixFogMode, //设置混合透雾
VLSetVLClarityDefault, //设置清晰度为默认值
VLSetVLClarityLevel, //设置清晰度等级
VLSetWhiteBalance, //白平衡
VLSetICRFilterPiece, //ICR滤光片
VLSetLightCompensation, //背光补偿
VLSetZoomPosition, //设置变倍位置
VLSetFocusPosition, //设置调焦位置
VLSetBrightLevel, //设置亮度等级
VLSetContrastLevel, //设置对比度等级
VLSetSATLevel, //设置饱和度等级
VLSetSharpLevel, //设置锐度等级
VLSetTemperatureLevel, //设置色温等级
VLSetWDRLevel, //设置宽动态等级
VLSetDNRLevel, //设置降噪滤波等级
VLSetVLCFilter, //透雾滤光片切换
VLSetVLWideDynamicRange,
VLSetVLDeHeatHaze, //除热浪等级设定
VLSetVLColorSaturationLevel,
VLSetVLSharpnessLevel,
VLSetVLColorTemperatureOnWhiteBalance,
VLSetVLSelectWhiteBalance,
VLSetVLNRLevel,
VLSetVLInfraredWaveLength,
VLSetVLLightStable, //光学防抖开关
VLSetVLHDFormat, //设置HD分辨率
VLZoomPlus, //变倍+
VLZoomMinus, //变倍-
VLZoomStopEo, //变倍停
VLFocusPlus, //调焦+
VLFocusMinus, //调焦-
VLFocusStopEo, //变倍/调焦停
VLOneTimesFocus, //一键聚焦
VLLowLuxEnhance, //低照度增强
VLElectronicEnlarge, //可见光电子变倍
VLNoUseEo
};
enum LaserType
{
LaserDis = 0, //激光测距
LaserLight //激光照明
};
//激光模块命令类型,包含激光测距和激光测照
enum LaserCommandEo
{
//激光测距机相关
LaserDisSelfCheck = 0, //激光测距机自检
LaserDisOnce, //激光测距机单次测距
LaserDisStart, //激光测距机连续测距开始
LaserDisStop, //激光测距机连续测距停止
LaserDisCtrl, //测距控制
LaserDisMark, //Mark测距控制
//激光照明相关
LaserLightStart, //激光测照机开启
LaserLightStop, //激光测照机关闭
LaserLightAngleSet, //激光测照机发散角设置
LaserLightMotorReset, //激光测照机电机复位
//激光测照机
LaserMeaOnce, //激光测照机单次测距
LaserMeaOneHz, //激光测照机1Hz测距
LaserMeaFiveHz, //激光测照机5Hz测距
LaserMeaStop, //激光测照机停止测距
LaserMeaExtSync, //激光测照机外同步
LaserMeaInterSync, //激光测照机内同步
LaserMeaInterSyncSet, //激光测照机内同步设置
LaserMeaAtresiaOpen, //激光测照机闭锁开
LaserMeaAtresiaClose, //激光测照机闭锁关
LaserMeaSoftPowerOn, //软上电
LaserMeaSoftPowerOff, //软下电
LaserMeaDimAxis, //调光轴模式
LaserMeaCoder, //编码装订
LaserMeaUsedNum, //打光次数查询
LaserMeaUsedEnegly, //激光器使能
LaserMeaSilence, //激光器静止
LaserMeaLowPowerOn, //低功耗开启
LaserMeaLowPowerOff, //低功耗关闭
LaserMeaRecvOn, //接收开启
LaserMeaRecvOff, //接收关闭
LaserMeaNormal, //正常能量
LaserMeaSmall, //小能量
LaserMeaSetDeadZone, //设置盲区
LaserLightTwo
};
// ******************************枚举类型******************************
// 跟踪板控制命令枚举
// 主要命令包括:锁定、解锁
// 调焦停、变倍+、变倍-、变倍停、自动聚焦...
enum TrackBoardControlCommand
{
// TrackBoardStartTrack = 0, //锁定
// TrackBoardStopTrack, //解锁
// TrackBoardWaveSize, //波门大小
// TrackBoardWavePos, //波门位置
// TrackBoardVideoSwitch, //视频源切换
// VLImageStableOpen, //可见光防抖开
// VLImageStableClose, //可见光防抖关
// IRImageStableOpen, //红外防抖开
// IRImageStableClose, //红外防抖关
// CURSOR_OPERATE, //光标操作
// TRACK_PARAM_SET, //跟踪参数,尺度设置,精搜开关
// DETECT_PARAM_SET, //目标检测开关设置
// AUTO_TRACK, //自动跟踪控制
// AI_PARAM_SET, //设置AI参数
// AI_WORK_MODE_SET, //设置AI工作模式
// AI_SINGLE_SWITCH_SET, //设置AI单项开关
// TimerTestData, //周期发送指令
TrackBoardStartTrack = 0, //锁定
TrackBoardStopTrack, //解锁
TrackBoardFree, //空闲
TrackBoardWaveSize, //波门大小
TrackBoardWavePos, //波门位置
TrackBoardVideoSwitch, //视频源切换
TrackBoardWaveSizeWH, //波门宽高
VLImageStableOpen, //可见光防抖开
VLImageStableClose, //可见光防抖关
IRImageStableOpen, //红外防抖开
IRImageStableClose, //红外防抖关
VLElecZoom, //可见光电子变倍
IRElecZoom, //红外电子变倍
CURSOR_OPERATE, //光标操作
TRACK_PARAM_SET, //跟踪参数,尺度设置,精搜开关
DETECT_PARAM_SET, //目标检测开关设置
AUTO_TRACK, //自动跟踪控制
AI_PARAM_SET, //设置AI参数
AI_WORK_MODE_SET, //设置AI工作模式
AI_SINGLE_SWITCH_SET, //设置AI单项开关
StartVideoRecord, //开始视频录像
StopVideoRecord, //关闭视频录像
ImageSnapShot, //拍照
VideoRecordControl, //回放控制
PicInPicClose, //画中画关闭
PicInPicOpen, //画中画开启
SystemTime, //系统时间
LocalGPS, //本地GPS
TgtGPS, //目标GPS
WordHide, //字符消隐
CodeSpeed, //编码速率
CodeSpeedOld, //编码速率
WuYuanLocateSwitch,
LocationArithSet, //定位算法设置
};
// 转台控制命令枚举
// 主要命令包括:手动、归零、方位扇扫、俯仰扇扫、定位...
enum TurntableCommand
{
TurnCloseMode = 0, //关闭模式
TurnHandMode, //手动模式
TurnCollectMode, //收藏模式
TurnLocationMode, //定位模式
TurnZeroMode, //归零模式
TurnAutoCollect, //自动搜索
TurnTrackMode, //跟踪模式
TurnAllRoundScan, //周扫模式
TurnReviseDrift, //校漂模式
TurnAngleSectorScan,//方位扇扫
TurnPitchSectorScan,//俯仰扇扫
TurnTorqueMode, //转矩模式
TurnPWMMode, //PWM模式
TurnLockMode, //锁定模式
TurnMagneticZeroPoint, //磁链零位
TurnMachineZero, //机械零位
TurnManualTrack,
TurnAutoReviseDrift, //自动校漂开始
TurnHandRevisedDrift_Orientation_Add, //手动校漂 方位 +
TurnHandRevisedDrift_Orientation_Dec, //手动校漂 方位 -
TurnHandRevisedDrift_Pitch_Add, //手动校漂 俯仰 +
TurnHandRevisedDrift_Pitch_Dec, //手动校漂 俯仰 -
TurnHandRevisedDrift_SaveToFlash, //校漂保存
TurnMachineZeroSetCurr_Zero_AZ, //方位置零
TurnMachineZeroSetCurr_Zero_PT, //俯仰置零
TurnMachineZeroSetCurr_Zero_ROLL, //横滚置零
TurnMachineZeroSetCurr_Zero_SAVEToFlash,//零位保存
TurnOpenAzimuthSpeedCompensation, //开启方位再生速度补偿
TurnOpenPitchingSpeedCompensation, //开启俯仰再生速度补偿
TurnCloseAzimuthSpeedCompensation, //关闭方位再生速度补偿
TurnClosePitchingSpeedCompensation, //关闭俯仰再生速度补偿
TurnSetTargetMoveType, //设置目标运动类型
TurnObjLocation, //目标定位
TurnGeoGuide, //地理引导
};
// 控制命令参数
// 定义三个参数param1、dParam2、dParam3不同的命令参数含义不同。例如当设置
// 手动或定位模式时参数param1为方位角速度参数param2为俯仰角速度当设置方位
// 扇扫模式时param1为方位中心角param2为方位角度范围param2为方位角速度。
typedef struct tagCommandParams
{
double dParam1; //浮点参数
double dParam2;
double dParam3;
double dParam4;
double dParam5;
double dParam6;
double dParam7;
double dParam8;
int nIntValue1; //整形参数
int nIntValue2;
int nIntValue3;
int nIntValue4;
int nIntValue5;
int nIntValue6;
int nIntValue7;
int nIntValue8;
float fParam1; //浮点参数
float fParam2;
float fParam3;
tagCommandParams()
{
dParam1 = -1;
dParam2 = -1;
dParam3 = -1;
dParam4 = -1;
dParam5 = -1;
dParam6 = -1;
dParam7 = -1;
dParam8 = -1;
nIntValue1 = -1;
nIntValue2 = -1;
nIntValue3 = -1;
nIntValue4 = -1;
nIntValue5 = -1;
nIntValue6 = -1;
nIntValue7 = -1;
nIntValue8 = -1;
fParam1 = 0; //浮点参数
fParam2 = 0;
fParam3 = 0;
}
}CommandParams;
Q_DECLARE_METATYPE(CommandParams);
typedef struct tagTRACK_DOOR_INFO
{
int iVLDoorW;
int iVLDoorH;
int iIRDoorW;
int iIRDoorH;
tagTRACK_DOOR_INFO()
{
iVLDoorW = 80;
iVLDoorH = 80;
iIRDoorW = 40;
iIRDoorH = 40;
}
}Track_Door_Info;
Q_DECLARE_METATYPE(Track_Door_Info);
#pragma pack()
class DeviceControl;
// 初始化SDK
bool ELECTROOPTICRADARSDKSHARED_EXPORT GD_Dev_Init();
//反初始化SDK
bool ELECTROOPTICRADARSDKSHARED_EXPORT GD_Dev_UnInit();
bool ELECTROOPTICRADARSDKSHARED_EXPORT GD_Dev_SetParam(COMMUNICATION_PARAM stParam);
//打开设备
bool ELECTROOPTICRADARSDKSHARED_EXPORT GD_Dev_OpenDev();
//关闭设备
bool ELECTROOPTICRADARSDKSHARED_EXPORT GD_Dev_CloseDev();
//设备控制
bool ELECTROOPTICRADARSDKSHARED_EXPORT GD_Dev_ControlDev(MODULE_TYPE eModuleType, int nControlType, CommandParams stControlCommandParam);
QStringList ELECTROOPTICRADARSDKSHARED_EXPORT GD_Dev_GetCurrentSendData();
QString ELECTROOPTICRADARSDKSHARED_EXPORT GD_Dev_GetCurrentReceiveData();
void ELECTROOPTICRADARSDKSHARED_EXPORT GD_Dev_ReSetCurrentData();
void ELECTROOPTICRADARSDKSHARED_EXPORT GD_Dev_SendDebugData(QByteArray deByte);
//获取设备状态信息
bool ELECTROOPTICRADARSDKSHARED_EXPORT GD_Dev_GetDevState(DeviceState& stStateInfo);
//获取设备打开状态
bool ELECTROOPTICRADARSDKSHARED_EXPORT GD_Dev_IsOpen();
#endif // ELECTROOPTICRADARSDK_H