g1g2hardwarechecker/Scanner/USBProtocol.h

168 lines
3.9 KiB
C

/*
* @Descripttion:
* @version:
* @Author: pengming
* @Date: 2023-11-22 16:29:02
* @LastEditors: pengming
*/
#pragma once
enum HGType
{
MtBoard = 1,
FPGA,
V4L2,
IMG,
AutoCorrect,
STOPSCAN,
CMD_OUT,
TESTBOARD
};
enum Image_Status
{
Image_Status_OK = 0, // normal
Image_Status_Double = 1 << 0, // double-feeded paper
Image_Status_Jammed = 1 << 1, // jammed paper
Image_Status_Staple = 1 << 2, // staples on the paper
Image_Status_Size_Error = 1 << 3, // size check failed
Image_Status_Dogear = 1 << 4, // paper has dogear - common
Image_Status_Partial = 1 << 5, // dogear - scanned partial
Image_Status_Blank = 1 << 6 // blank image
};
struct HGEIntInfo
{
HGType From;
unsigned int Code;
unsigned int Img_Index;
Image_Status Img_Status;
};
enum Scanner_Reg_Defs
{
SR_CMD,
SR_STATUS,
SR_SCAN_COUNT,
SR_OS, // val == 1计数模式
SR_SENSORS,
SR_MOTOR,
SR_IM_TYPE,
SR_IM_COUNT,
SR_IM_TX,
SR_IM_FRONT_SIZE,
SR_IM_CLEAR,
SR_IM_TXING, // 图像数据传输过程中
SR_IM_POP,
SR_IM_ABORT, // 停止传输图像
SR_COUNT,
SR_CONFIG_SCAN_PARAM,
SR_GET_FWVERSION,
SR_SET_FWERSION,
SR_GET_SERIALNUM,
SR_SET_SERIALNUM,
SR_CONFIF_IMGPROCPARAM,
SC_AUTOCORRECT,
SC_GET_CORRECT_PARAM,
SC_SET_CORRECT_PARAM,
SR_GET_H_RATIO,
SR_SET_H_RATIO,
SR_GET_V_RATIO,
SR_SET_V_RATIO,
SR_GET_SERIAL_LEN,
SR_GET_GRAY_SP,
SR_GET_COLOR_SP,
SR_SET_GRAY_SP,
SR_SET_COLOR_SP,
SR_SET_SLEEPTIME,
SR_GET_SLEEPTIME,
SR_GET_SLEEP_STAUTUS, // 返回1不在睡眠状态 0反之
SR_GET_IMAGEPROCESSDONE, // 指设备所有图像处理完成没有
SR_GET_KEEP_LAST_PAPER,
SR_GET_PAPERON,
SR_SET_SPEEDMODE,
SR_GET_SPEEDMODE,
SR_GET_JSON_SIZE,
SR_GET_JSON,
SR_SET_JSON_PATH,
SR_SET_JSON,
SR_GET_FILE_POS,
SR_SET_FILE_POS,
SR_NOTIFY_SLEEP,
SR_GET_FEEDMODE,
SR_SET_FEEDMODE,
SR_GET_AUTOMATICCONTROLFEEDMODE_ENABLE,
SR_SET_AUTOMATICCONTROLFEEDMODE_ENABLE,
SR_GET_AUTOMATICCONTROLFEEDMODE_THRESHOLD,
SR_SET_AUTOMATICCONTROLFEEDMODE_THRESHOLD,
SR_GET_TRAYPOSITION,
SR_SET_TRAYPOSITION,
SR_GET_LOCK_STATES,
SR_SET_LOCK_STATES,
SR_GET_TOKEN,
SR_SET_TOKEN,
SR_GET_TOKEN_LENGHT,
SR_DECODE_TOKEN,
SR_CLEAN_PAPER_ROAD, // 清理纸道
SR_EXECUTE_CMD,
SR_EXECUTE_CMD_OUT_LENGHT,
SR_GET_EXECUTE_CMD_OUT,
SR_SET_Corrective_Restoration,
SR_BACKUP_RESTORES_HUAGODIR,
SR_SINGLE_CORRECT_MODE,
SR_GET_DAIL_CODE,
SR_GET_CUO_ERROR = 0x50,
SR_GET_DOU_ERROR,
SR_GET_JAM_ERROR,
SR_GET_SCANN_NUM, // 历史张数
SR_CLR_ROLLER_NUM,
SR_GET_ROLLER_NUM, // 获取滚轴张数
SR_CLR_SCANN_NUM,
SR_GET_H_200_RATIO, // 非敦南cis需返回false
SR_SET_H_200_RATIO,
SR_GET_V_200_RATIO,
SR_SET_V_200_RATIO,
SR_GET_H_300_RATIO,
SR_SET_H_300_RATIO,
SR_GET_V_300_RATIO,
SR_SET_V_300_RATIO,
SR_GET_H_600_RATIO,
SR_SET_H_600_RATIO,
SR_GET_V_600_RATIO,
SR_SET_V_600_RATIO,
SR_GET_ARM_DATETIME = 101,
SR_GET_ARM_DATETIME_LENGHT = 102,
SR_SET_ARM_DATETIME = 103,
SR_UPDATA_START = 0x100,
SR_UPDATA_STAUTUS = 0x101,
SR_UPDATA_MD5_RELUST = 0x102,
SR_UPDATA_RECOVERY = 0x103,
SR_UPDATA_REBOOT = 0x104,
SR_POWEROFF = 0x105,
SR_REBOOT = 0x106,
SR_FLAT_CLR_MAX_BRIGHT,
SR_FLAT_GRAY_MAX_BRIGHT,
SR_KERNEL_VERSION_INFO_LENGTH,
SR_GET_KERNEL_VERSION,
SR_GET_MBSTATUS,
SR_GET_IPADDR_LENGHT = 0x200,
SR_GET_MACADDR,
SR_GET_IPADDR,
SR_GET_MBVERSION_LENGHT,
SR_GET_MBVERSION,
SR_GET_USBVIDPID,
SR_SET_USBVIDPID,
SR_SET_STARTBACKUP,//开始备份
SR_GET_BACKUPSTATUS,//备份状态
SR_TESTBOARD,
SR_TESTDISPLAY
};
enum Scanner_Cmd_Defs
{
SC_START,
SC_STOP,
SC_CLEAR,
SC_COUNT
};