Files
CodeRepository/Projects/App_S3313/Src/gdParty/include/electroopticradarsdk.h
2026-02-01 22:23:06 +08:00

921 lines
45 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#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