调整待纸扫描只能在0430下使用 调整3288 DSP 设备获取滚轮和历史张数 调整历史张数和滚轴张数

This commit is contained in:
13038267101 2022-11-26 14:55:03 +08:00
parent aa36e31730
commit 744938d3f7
13 changed files with 86 additions and 38 deletions

View File

@ -887,9 +887,9 @@ namespace setting3399
SR_GET_CUO_ERROR = 0x50,
SR_GET_DOU_ERROR,
SR_GET_JAM_ERROR,
SR_GET_SCANN_NUM,
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

@ -279,6 +279,7 @@ protected:
bool is_kernelsnap_211209_; //获取固件版本号是否是新旧版本
bool is_kernelsnap_221027_; //此版本一下不支持拆分模式 pc实现
bool is_kernelsnap3288_221106_; //G300 3288 在221106版本支持真实dpi
bool is_kernelsnap_220430_; //待纸扫描
SCANCONF img_conf_; //此参数外部不做任何改变请在writedown_image_configuration做修改
std::string img_type_;
@ -392,8 +393,8 @@ 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_roller_count(int &num); //获取历史扫描张数
virtual int get_roller_num(int &val); //获取滚轮张数
virtual int get_history_roller_count(int &num) = 0; //获取历史扫描张数
virtual int get_roller_num(int &val) = 0; //获取滚轮张数
virtual int notify_sleep(void); //唤醒设备
virtual int get_device_log(string &log); //获取设备日志
virtual int set_devreboot(); //设置设备重启

View File

@ -849,27 +849,15 @@ int hg_scanner_200::notify_sleep()
{
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
//int hg_scanner_200::get_roller_num(void)
//int hg_scanner_200::clear_roller_num(void)
//{
// return
//}
//int hg_scanner_200::get_history_count(void)
//{
// USBCB usbcb = { GET_SCANN_NUM ,0,0 };
// int len = sizeof(usbcb);
//
// {
// std::lock_guard<std::mutex> lock(io_lock_);
// if (io_->write_bulk(&usbcb, &len) == SCANNER_ERR_OK)
// {
// len = sizeof(usbcb);
// if (io_->read_bulk(&usbcb, &len) != SCANNER_ERR_OK)
// usbcb.u32_Count = -1;
// }
// else
// usbcb.u32_Count = -1;
// }
//
// return usbcb.u32_Count;
//}
int hg_scanner_200::get_history_roller_count(int& num)
{
int ret = SCANNER_ERR_OK;
USBCB usbcb = { setting3288dsp::GET_SCANN_NUM,num, 0 };
return ret;
}
int hg_scanner_200::get_roller_num(int& val)
{
int ret = SCANNER_ERR_OK;
USBCB usbcb = { setting3288dsp::GET_ROLLER_NUM,val, 0 };
return ret;
}

View File

@ -26,7 +26,6 @@ class hg_scanner_200 : public hg_scanner
protected:
virtual int on_scanner_closing(bool force) override;
virtual void thread_handle_usb_read(void) override;
virtual int on_color_mode_changed(int& color_mode); // COLOR_MODE_xxx
virtual int on_paper_changed(int& paper); // PAPER_xxx
virtual int on_paper_check_changed(bool& check);
@ -35,7 +34,6 @@ protected:
virtual int on_staple_check_changed(bool& check);
virtual int on_skew_check_changed(bool& check);
virtual int on_skew_check_level_changed(int& check);
virtual int on_get_feedmode(int& feedmode);//获取分纸强度
virtual int on_set_feedmode(int feedmode);//设置分纸强度
public:
@ -66,15 +64,12 @@ public:
virtual int get_abuot_info(void);//获取软件关于信息
virtual int restore_default_setting(void);//恢复默认设置
virtual int set_img_format(void); // 设置图像处理最终输出final())的图像数据格式
virtual int get_compression_format(void);//获取支持的压缩格式
virtual int set_compression_format(void);//设置图像数据最终输出的压缩格式
virtual int set_auto_color_type(void);// 设置自动匹配颜色模式
virtual int get_device_code(void);//获取设备编码
virtual int get_sleep_time(SANE_Power* setime = NULL);//获取功耗模式(休眠)
virtual int set_sleep_time(SANE_Power* setime);//设置功耗模式(休眠)
virtual int get_dogear_distance(void);//获取折角检测最小距离阈值
virtual int set_dogear_distance(void);// 设置折角检测最小距离阈值
virtual int get_scanner_paperon(SANE_Bool* paperon=NULL);//获取设备有无纸张
@ -82,10 +77,11 @@ public:
virtual int get_scan_when_paper_on(void);//设置是否为检测到进纸盘上有纸即开始扫描
virtual int get_scan_with_hole(void);// 获取是否为带孔扫描
virtual int set_scan_with_hole(void);// 设置是否为带孔扫描
virtual int get_scan_is_sleep(void);//获取设备是否休眠当中
virtual int get_device_log(string &log);//获取设备日志
virtual int notify_sleep(void);//唤醒设备
virtual int get_history_roller_count(int& num); //获取历史扫描张数
virtual int get_roller_num(int& val); //获取滚轮张数
public:
//virtual int get_roller_num(void) override; //获取滚轮张数 -2设备不支持该功能-1与设备通信失败其它大于等于0的为正常

View File

@ -341,6 +341,12 @@ void hg_scanner_239::init_version(void)
is_kernelsnap_221027_ = true;
else
is_kernelsnap_221027_ = false;
if (fv.length() >= 10 && (fv[5] > 'A' && atoi(fv.substr(6, 4).c_str()) >= 0430))
is_kernelsnap_220430_ = true;
else
is_kernelsnap_220430_ = false;
}
int hg_scanner_239::writedown_device_configuration(bool type, setting_hardware::HGSCANCONF_3399* dev_conf)
{
@ -775,7 +781,7 @@ int hg_scanner_239::on_is_auto_paper(bool isautopaper)
{
int val = 0,
ret = SCANNER_ERR_OK;
if (is_kernelsnap_220830_)
if (is_kernelsnap_220430_)
{
dev_conf_.params_3399.is_autopaper = isautopaper;
ret = writedown_device_configuration();
@ -1025,7 +1031,12 @@ int hg_scanner_239::start(void)
return ret;
user_cancel_ = false;
on_is_auto_paper(is_auto_paper_scan);
ret = on_is_auto_paper(is_auto_paper_scan);
if (ret == SCANNER_ERR_DEVICE_NOT_SUPPORT)
{
notify_ui_working_status(STATU_DESC_SCANNER_ERR_DEVICE_NOT_SUPPORTED, SANE_EVENT_ERROR, status_);
return ret;
}
split3399_ = 0;
cb_mem_ = true;
@ -1155,7 +1166,7 @@ std::string hg_scanner_239::get_ip(void)
{
return control_fetch(setting3399::SR_GET_IPADDR, 0, 40);
}
int hg_scanner_239::get_roller_num(int &val)
int hg_scanner_239::get_history_roller_count(int &val)
{
int ret = read_register(setting3399::SR_GET_SCANN_NUM, &val);
return ret;
@ -1279,7 +1290,7 @@ int hg_scanner_239::notify_sleep()
}
return ret;
}
int hg_scanner_239::get_history_roller_count(int &num)
int hg_scanner_239::get_roller_num(int &num)
{
int ret = read_register(setting3399::SR_GET_ROLLER_NUM, &num);
return ret;

View File

@ -770,4 +770,16 @@ int hg_scanner_300::get_device_log(string &log)
int hg_scanner_300::notify_sleep()
{
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
int hg_scanner_300::get_history_roller_count(int& num)
{
int ret = SCANNER_ERR_OK;
USBCB usbcb = { setting3288dsp::GET_SCANN_NUM,num, 0 };
return ret;
}
int hg_scanner_300::get_roller_num(int& val)
{
int ret = SCANNER_ERR_OK;
USBCB usbcb = { setting3288dsp::GET_ROLLER_NUM,val, 0 };
return ret;
}

View File

@ -79,4 +79,6 @@ public:
virtual int get_scan_is_sleep(void);//获取设备是否休眠当中
virtual int get_device_log(string &log);//获取设备日志
virtual int notify_sleep(void);//唤醒设备
virtual int get_history_roller_count(int& num); //获取历史扫描张数
virtual int get_roller_num(int& val); //获取滚轮张数
};

View File

@ -1271,4 +1271,14 @@ int hg_scanner_302::notify_sleep()
ret = write_register(setting3399::SR_NOTIFY_SLEEP, val);
return ret;
}
int hg_scanner_302::get_roller_num(int& num)
{
int ret = read_register(setting3399::SR_GET_ROLLER_NUM, &num);
return ret;
}
int hg_scanner_302::get_history_roller_count(int& val)
{
int ret = read_register(setting3399::SR_GET_SCANN_NUM, &val);
return ret;
}

View File

@ -117,4 +117,6 @@ public:
virtual int get_scan_is_sleep(void);//获取设备是否休眠当中
virtual int get_device_log(string &log);//获取设备日志
virtual int notify_sleep(void);//唤醒设备
virtual int get_history_roller_count(int& num); //获取历史扫描张数
virtual int get_roller_num(int& val); //获取滚轮张数
};

View File

@ -773,4 +773,16 @@ int hg_scanner_400::get_device_log(string &log)
int hg_scanner_400::notify_sleep()
{
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
int hg_scanner_400::get_history_roller_count(int& num)
{
int ret = SCANNER_ERR_OK;
USBCB usbcb = { setting3288dsp::GET_SCANN_NUM,num, 0 };
return ret;
}
int hg_scanner_400::get_roller_num(int& val)
{
int ret = SCANNER_ERR_OK;
USBCB usbcb = { setting3288dsp::GET_ROLLER_NUM,val, 0 };
return ret;
}

View File

@ -92,4 +92,6 @@ public:
virtual int get_scan_is_sleep(void);//获取设备是否休眠当中
virtual int get_device_log(string &log);//获取设备日志
virtual int notify_sleep(void);//唤醒设备
virtual int get_history_roller_count(int& num); //获取历史扫描张数
virtual int get_roller_num(int& val); //获取滚轮张数
};

View File

@ -1222,4 +1222,14 @@ int hg_scanner_402::notify_sleep()
ret = write_register(setting3399::SR_NOTIFY_SLEEP, val);
return ret;
}
int hg_scanner_402::get_roller_num(int& num)
{
int ret = read_register(setting3399::SR_GET_ROLLER_NUM, &num);
return ret;
}
int hg_scanner_402::get_history_roller_count(int& val)
{
int ret = read_register(setting3399::SR_GET_SCANN_NUM, &val);
return ret;
}

View File

@ -117,4 +117,6 @@ public:
virtual int get_scan_is_sleep(void);//获取设备是否休眠当中
virtual int get_device_log(string &log);//获取设备日志
virtual int notify_sleep(void);//唤醒设备
virtual int get_history_roller_count(int& num); //获取历史扫描张数
virtual int get_roller_num(int& val); //获取滚轮张数
};