MW22-02A/APP/Service/service_cmdpreprocess.h

44 lines
1.2 KiB
C

#ifndef __SERVICE_CMDPREPROCESS_H_
#define __SERVICE_CMDPREPROCESS_H_
///预存指令总数
#define CMD_BEFORE_AMOUNT 8
///指令有效
#define CMD_BEFORE_ON 1
///指令无效
#define CMD_BEFORE_OFF 0
///指令保存状态
#define CMD_BEFORE_SAVE_ON 1
///指令保存到FLASH
#define CMD_BEFORE_SAVE_SAVE 2
///指令擦除
#define CMD_BEFORE_SAVE_ERASE 3
///非指令保存状态
#define CMD_BEFORE_SAVE_OFF 0
#define CMD_BEFORE_FLASH_ADD 0X007E0000//指令数据存入Flash的首地址
#define CMD_BEFORE_SAVE_FLASH_NUM 3//保存次数
typedef struct _PtzCmdBeforeData_
{
unsigned char cmd_data[7];
struct sockaddr_in cmd_from;//IP和端口
socklen_t cmd_fromlen;//长度
char cmd_dev;//指令来源通道号
char swtich;
unsigned int crc;//和效验
}PtzCmdBeforeData;
extern PtzCmdBeforeData BeforeData[CMD_BEFORE_AMOUNT + 1];//数组最后一位用来存储所有数据的效验码
extern unsigned char cmd_before_count;
unsigned int ptz_cmd_before_single_crc(PtzCmdBeforeData data);
unsigned int ptz_cmd_before_all_crc();
char ptz_cmd_before_data_save();
char ptz_cmd_before_data_erase();
char ptz_cmd_before_data_read();
char ptz_cmd_before_mode(char dev, PTZ_DATA_PACK *pack);
void ptz_cmd_before_start();
#endif