|
|
@ -58,6 +58,7 @@ typedef unsigned char BYTE;
|
|
|
|
#define PTZ_MOVETIME 1 // 云台移动等待时间为1秒
|
|
|
|
#define PTZ_MOVETIME 1 // 云台移动等待时间为1秒
|
|
|
|
#define MAX_CHANNEL_NUM 2 /* 视频通道最大通道*/
|
|
|
|
#define MAX_CHANNEL_NUM 2 /* 视频通道最大通道*/
|
|
|
|
#define MAX_PHOTO_FRAME_LEN 1024 /* 图片数据一包最大长度*/
|
|
|
|
#define MAX_PHOTO_FRAME_LEN 1024 /* 图片数据一包最大长度*/
|
|
|
|
|
|
|
|
#define MAX_PHOTO_PACKET_NUM 1024 /* 图片最大包数(图片最大定为1MB)*/
|
|
|
|
|
|
|
|
|
|
|
|
#define RECVDATA_MAXLENTH 2048 /* 接收数据缓冲区最大值*/
|
|
|
|
#define RECVDATA_MAXLENTH 2048 /* 接收数据缓冲区最大值*/
|
|
|
|
#define TIMER_CNT 50 // Poll命令定时器时间 5 ms
|
|
|
|
#define TIMER_CNT 50 // Poll命令定时器时间 5 ms
|
|
|
@ -94,6 +95,19 @@ typedef unsigned char BYTE;
|
|
|
|
#define D_MOVE_LEFT 0x00042d00 /* 向左移动镜头(1 有效)*/
|
|
|
|
#define D_MOVE_LEFT 0x00042d00 /* 向左移动镜头(1 有效)*/
|
|
|
|
#define D_MOVE_RIGHT 0x00022d00 /* 向右移动镜头(1 有效)*/
|
|
|
|
#define D_MOVE_RIGHT 0x00022d00 /* 向右移动镜头(1 有效)*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* 摄像机下发命令宏定义*/
|
|
|
|
|
|
|
|
#define Auto_Scan 10006 /* 自动扫描功能控制(1/0 打开/关闭该功能)*/
|
|
|
|
|
|
|
|
#define IRIS_CLOSE 10007 /* 光圈缩小(1 有效)*/
|
|
|
|
|
|
|
|
#define IRIS_OPEN 10008 /* 光圈放大(1 有效)*/
|
|
|
|
|
|
|
|
#define FOCUS_NEAR 10009 /* 近距离聚焦(1 有效)*/
|
|
|
|
|
|
|
|
#define FOCUS_FAR 10010 /* 远距离聚焦(1 有效)*/
|
|
|
|
|
|
|
|
#define ZOOM_WIDE 10011 /* 远离物体(1 有效)*/
|
|
|
|
|
|
|
|
#define ZOOM_TELE 10012 /* 接近物体(1 有效)*/
|
|
|
|
|
|
|
|
#define MOVE_DOWN 10013 /* 向下移动镜头(1 有效)*/
|
|
|
|
|
|
|
|
#define MOVE_UP 10014 /* 向上移动镜头(1 有效)*/
|
|
|
|
|
|
|
|
#define MOVE_LEFT 10015 /* 向左移动镜头(1 有效)*/
|
|
|
|
|
|
|
|
#define MOVE_RIGHT 10016 /* 向右移动镜头(1 有效)*/
|
|
|
|
|
|
|
|
|
|
|
|
#define SPEED_DOME_CAMERA 0 /* 球机摄像机*/
|
|
|
|
#define SPEED_DOME_CAMERA 0 /* 球机摄像机*/
|
|
|
|
#define SERIAL_CAMERA 2 /* 串口摄像机a*/
|
|
|
|
#define SERIAL_CAMERA 2 /* 串口摄像机a*/
|
|
|
|
|
|
|
|
|
|
|
@ -139,6 +153,16 @@ typedef struct
|
|
|
|
float EuValue; // 遥测工程值
|
|
|
|
float EuValue; // 遥测工程值
|
|
|
|
} AI_DEF;
|
|
|
|
} AI_DEF;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
int imagelen; // 整个图片大小
|
|
|
|
|
|
|
|
int imagenum; // 整个图片的总包数
|
|
|
|
|
|
|
|
int phototime; // 拍照时间
|
|
|
|
|
|
|
|
u_char presetno; // 拍照预置点
|
|
|
|
|
|
|
|
u_char buf[MAX_PHOTO_PACKET_NUM][MAX_PHOTO_FRAME_LEN]; // 图片数据缓存
|
|
|
|
|
|
|
|
int ilen[MAX_PHOTO_PACKET_NUM]; // 相对应的每包图片数据的长度
|
|
|
|
|
|
|
|
} PHOTO_DEF;
|
|
|
|
|
|
|
|
|
|
|
|
// 上层调用采集传感器参数
|
|
|
|
// 上层调用采集传感器参数
|
|
|
|
typedef struct
|
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -159,7 +183,7 @@ typedef struct
|
|
|
|
{
|
|
|
|
{
|
|
|
|
unsigned int baudrate; /* 波特率*/
|
|
|
|
unsigned int baudrate; /* 波特率*/
|
|
|
|
int databit; /* 数据位*/
|
|
|
|
int databit; /* 数据位*/
|
|
|
|
char stopbit[8]; /* 停止位*/
|
|
|
|
int stopbit; /* 停止位*/
|
|
|
|
char parity; /* 校验位*/
|
|
|
|
char parity; /* 校验位*/
|
|
|
|
char pathname[64]; /* 串口文件名及路径*/
|
|
|
|
char pathname[64]; /* 串口文件名及路径*/
|
|
|
|
int commid; /* 串口序号 注意:从0开始*/
|
|
|
|
int commid; /* 串口序号 注意:从0开始*/
|
|
|
@ -234,13 +258,10 @@ typedef struct
|
|
|
|
0x3X,密钥协商确认过程;
|
|
|
|
0x3X,密钥协商确认过程;
|
|
|
|
0x4X,数据加密过程;
|
|
|
|
0x4X,数据加密过程;
|
|
|
|
0x5X,数据解密过程;*/
|
|
|
|
0x5X,数据解密过程;*/
|
|
|
|
int m_iRevStatus; /* 接收数据缓冲区状态*/
|
|
|
|
|
|
|
|
int m_iRecvLen; /* 接收数据长度*/
|
|
|
|
|
|
|
|
int m_iNeedRevLength; /* 还需要接收的数据长度*/
|
|
|
|
|
|
|
|
int recvdatacnt; /* 接收到有效数据*/
|
|
|
|
|
|
|
|
u_char SameTypeDevIdx; /* 相同类型装置顺序排列序号(从0开始)*/
|
|
|
|
u_char SameTypeDevIdx; /* 相同类型装置顺序排列序号(从0开始)*/
|
|
|
|
int iRecvTime; /* 最近一次收到数据的绝对时间*/
|
|
|
|
|
|
|
|
u_char uOpenPowerFlag; /* 传感器上电标志(0:不需要打开; 1:需要打开)*/
|
|
|
|
u_char uOpenPowerFlag; /* 传感器上电标志(0:不需要打开; 1:需要打开)*/
|
|
|
|
|
|
|
|
int recvdatacnt; /* 接收到有效数据*/
|
|
|
|
|
|
|
|
PHOTO_DEF image; /* 临时存储图片数据*/
|
|
|
|
AI_DEF aiValue[MAX_DEV_VALUE_NUM]; /* 传感器采样值*/
|
|
|
|
AI_DEF aiValue[MAX_DEV_VALUE_NUM]; /* 传感器采样值*/
|
|
|
|
} SERIAL_DEV_DEF;
|
|
|
|
} SERIAL_DEV_DEF;
|
|
|
|
|
|
|
|
|
|
|
@ -284,29 +305,11 @@ typedef struct
|
|
|
|
int sendphotocmdcnt; /* 一次拍照过程中发送拍照指令计数*/
|
|
|
|
int sendphotocmdcnt; /* 一次拍照过程中发送拍照指令计数*/
|
|
|
|
int photographtime; /* 图片拍摄的时间*/
|
|
|
|
int photographtime; /* 图片拍摄的时间*/
|
|
|
|
int iLastGetPhotoNo; /* 设置串口摄像机参数时暂存拍照命令序号*/
|
|
|
|
int iLastGetPhotoNo; /* 设置串口摄像机参数时暂存拍照命令序号*/
|
|
|
|
|
|
|
|
u_char bImageSize; /* 用于临时存储接收上层命令的图片大小*/
|
|
|
|
|
|
|
|
u_char presetno; /* 用于临时存储接收上层命令的预置点*/
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
u_char errorPhotoNoCnt; /* 串口摄像机拍照时回应错误包号计数(如:召第6包回应第3包)*/
|
|
|
|
u_char errorPhotoNoCnt; /* 串口摄像机拍照时回应错误包号计数(如:召第6包回应第3包)*/
|
|
|
|
u_char RephotographCnt; /* 串口摄像机重拍计数(只在读照片数据应答出错时才重拍)*/
|
|
|
|
u_char RephotographCnt; /* 串口摄像机重拍计数(只在读照片数据应答出错时才重拍)*/
|
|
|
|
int restartflag; /* 升级重启标识*/
|
|
|
|
|
|
|
|
int selfflag; /* 是否检测传感器故障和关闭485电源标志*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BYTE bEncryptstate; /* 加密状态
|
|
|
|
|
|
|
|
0:加密协商过程;1:加密协商完成;
|
|
|
|
|
|
|
|
2:明文协商过程;3:明文协商完成*/
|
|
|
|
|
|
|
|
#if ENCRYPTION_CHIP
|
|
|
|
|
|
|
|
CERTIFICATE cert; /* 本端证书*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BYTE Randomnumber[18]; /* 临时存储加密芯片产生的随机数据*/
|
|
|
|
|
|
|
|
BYTE KeyRandonum[18]; /* 临时存储对端的随机数据及会话密钥DK*/
|
|
|
|
|
|
|
|
BYTE Sm2publickey[64]; /* 临时存储本端Sm2公钥*/
|
|
|
|
|
|
|
|
BYTE Sm2encrypt[128]; /* 临时存储使用本端Sm2公钥加密后的数据*/
|
|
|
|
|
|
|
|
BYTE Sm3hashdata[32]; /* 临时存储Sm3 Hash后数据*/
|
|
|
|
|
|
|
|
BYTE Safetycertification[32];/* 临时存储安全认证因子*/
|
|
|
|
|
|
|
|
char ticr[64]; /* 临时存储证书请求的主题信息*/
|
|
|
|
|
|
|
|
WORD wframeno; /* 帧序号*/
|
|
|
|
|
|
|
|
BYTE encry_chipstate; /* 加密芯片复位状态*/
|
|
|
|
|
|
|
|
int enchipstartnum; /* 加密芯片复位次数*/
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
} SRDT_DEF;
|
|
|
|
} SRDT_DEF;
|
|
|
|
|
|
|
|
|
|
|
|
static void PortDataProcess( void );
|
|
|
|
static void PortDataProcess( void );
|
|
|
@ -325,7 +328,7 @@ static void setCam3V3Enable(bool enabled);
|
|
|
|
void Gm_OpenSerialPower(void);
|
|
|
|
void Gm_OpenSerialPower(void);
|
|
|
|
|
|
|
|
|
|
|
|
// 打开传感器电源
|
|
|
|
// 打开传感器电源
|
|
|
|
void Gm_OpenSensorsPower(int port);
|
|
|
|
void Gm_OpenSensorsPower();
|
|
|
|
// 关闭传感器电源
|
|
|
|
// 关闭传感器电源
|
|
|
|
void Gm_CloseSensorsPower(int port);
|
|
|
|
void Gm_CloseSensorsPower(int port);
|
|
|
|
|
|
|
|
|
|
|
@ -427,8 +430,8 @@ int Gm_SetSerialPortBaud(int commid);
|
|
|
|
//T_baudrate Gm_GetSerialPortBaud(UART_baudrate Baudrate);
|
|
|
|
//T_baudrate Gm_GetSerialPortBaud(UART_baudrate Baudrate);
|
|
|
|
|
|
|
|
|
|
|
|
void Gm_CloseSerialCamera();
|
|
|
|
void Gm_CloseSerialCamera();
|
|
|
|
void CameraPhoto(SENSOR_PARAM *sensorParam, unsigned char channel, int cmdidx);
|
|
|
|
void CameraPhotoCmd(SENSOR_PARAM *sensorParam, u_char channel, int cmdidx, u_char bImageSize, u_char presetno);
|
|
|
|
|
|
|
|
int SaveImageDataTofile(int devno);
|
|
|
|
// 生成一个随机整数
|
|
|
|
// 生成一个随机整数
|
|
|
|
int GeneratingRandomNumber();
|
|
|
|
int GeneratingRandomNumber();
|
|
|
|
|
|
|
|
|
|
|
|