新增获取历史滚轴张数 清除纸道

This commit is contained in:
13038267101 2022-11-11 11:40:05 +08:00
parent 860f603aa0
commit 02ff93992f
5 changed files with 62 additions and 36 deletions

View File

@ -883,12 +883,13 @@ namespace setting3399
SR_SET_TOKEN,
SR_GET_TOKEN_LENGHT,
SR_DECODE_TOKEN,
SR_CLEAN_PAPER_ROAD, //清理纸道
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_GET_ROLLER_NUM, //获取历史滚轴张数
SR_CLR_SCANN_NUM,
SR_GET_H_200_RATIO, //非敦南cis需返回false
SR_SET_H_200_RATIO,

View File

@ -3336,6 +3336,17 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len)
string str = (char*)data;
return firmware_upgrade(str);
}
else if (code == IO_CTRL_CODE_GET_HISTORY_NUM)
{
int num = 0;
int ret = get_history_count(num);
(*(int*)data) = num;
return ret;
}
else if (code == IO_CTRL_CODE_GET_CLEAN_PAPER_ROAD)
{
return clean_paper_road();
}
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
std::string hg_scanner::get_firmware_version(void)
@ -3370,7 +3381,7 @@ int hg_scanner::clear_roller_num(void)
{
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
int hg_scanner::get_history_count(void)
int hg_scanner::get_history_count(int &num)
{
return -2;
}
@ -3390,6 +3401,10 @@ int hg_scanner::firmware_upgrade(std::string filename)
{
return -2;
}
int hg_scanner::clean_paper_road()
{
return -2;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
int hg_scanner::set_leaflet_scan(void)
{

View File

@ -381,16 +381,17 @@ public:
virtual int get_scan_is_sleep(void); //获取设备是否休眠当中
virtual int get_sleep_time(int& getsleepime); //获取功耗模式(休眠)
virtual int set_sleep_time(int sleeptime); //设置功耗模式(休眠)
virtual int get_history_count(void);//获取历史扫描张数 -2设备不支持该功能-1与设备通信失败其它大于等于0的为正常
virtual int get_history_count(int &num); //获取历史扫描张数 -2设备不支持该功能-1与设备通信失败其它大于等于0的为正常
virtual int get_roller_num(void); //获取滚轮张数 -2设备不支持该功能-1与设备通信失败其它大于等于0的为正常
virtual int notify_sleep(void); //唤醒设备
virtual int get_device_log(string &log); //获取设备日志
virtual int set_devreboot(); //设置设备重启
virtual int set_devshtudown(); //设置设备关机
virtual int set_scan_islock(SANE_Bool set_islock);
virtual int set_scan_islock(SANE_Bool set_islock); //设置设备是否锁定 - 2设备不支持该功能它大于等于0的为正常
virtual int get_scan_islock(SANE_Bool* islock); //获取设备是否锁定 -2设备不支持该功能它大于等于0的为正常
virtual int set_scan_lock_check_val(string check_str); //获取设备是否锁定 -2设备不支持该功能它大于等于0的为正常
virtual int firmware_upgrade(std::string filename); //固件升级 -2设备不支持该功能它大于等于0的为正常
virtual int clean_paper_road(); //清理纸道 -2设备不支持该功能它大于等于0的为正常
};
#ifdef UOS

View File

@ -1734,9 +1734,10 @@ int hg_scanner_239::notify_sleep()
}
return ret;
}
int hg_scanner_239::get_history_count()
int hg_scanner_239::get_history_count(int &num)
{
return -2;
int ret = read_register(setting3399::SR_GET_ROLLER_NUM, &num);
return ret;
}
int hg_scanner_239::get_device_log(string &logpath)
{
@ -1945,7 +1946,7 @@ int hg_scanner_239::firmware_upgrade(std::string filename)
return SCANNER_ERR_DEVICE_UPGRADE_FAIL;
int to_cnt = 0;
//暂时屏蔽 到这个位置已经能够升级成功了 后面对升级结果做下判断
// 到这个位置已经能够升级成功了 后面对升级结果做下判断
auto now = std::chrono::steady_clock::now();
while (std::chrono::duration<double>(std::chrono::steady_clock::now() - now).count() < 70)
{
@ -1972,3 +1973,10 @@ int hg_scanner_239::firmware_upgrade(std::string filename)
}
return ret;
}
int hg_scanner_239::clean_paper_road()
{
int ret = 0, len = 0;
ret = write_register(setting3399::SR_CLEAN_PAPER_ROAD, len);
return ret;
}

View File

@ -122,7 +122,7 @@ public:
virtual int get_scan_is_sleep(void);//获取设备是否休眠当中
virtual int notify_sleep(void);//唤醒设备
virtual int get_history_count(void);//获取历史扫描张数 -2设备不支持该功能-1与设备通信失败其它大于等于0的为正常 为实现
virtual int get_history_count(int &num);//获取历史扫描张数 -2设备不支持该功能-1与设备通信失败其它大于等于0的为正常 为实现
virtual int get_device_log(string &get_device_log);//获取设备日志
virtual int set_devreboot();//设置设备重启
virtual int set_devshtudown();//设置设备关机
@ -130,5 +130,6 @@ public:
virtual int get_scan_islock(SANE_Bool* islock);
virtual int set_scan_lock_check_val(string check_str);
virtual int firmware_upgrade(std::string filename);
virtual int clean_paper_road(); //清理纸道 -2设备不支持该功能它大于等于0的为正常
};