新增io ctrl

This commit is contained in:
13038267101 2022-12-23 16:51:10 +08:00
parent 85c7d1b66d
commit 75664871ac
4 changed files with 32 additions and 32 deletions

View File

@ -3336,11 +3336,15 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len)
}
else if (code == IO_CTRL_CODE_SET_SKEW_CHECK)
{
return on_skew_check_changed(*((bool*)data));
return on_skew_check_changed(*((bool*)data));
}
else if (code == IO_CTRL_CODE_SET_SKEW_CHECK_VAL)
{
return on_skew_check_level_changed(*((int*)data));
return on_skew_check_level_changed(*((int*)data));
}
else if (code == IO_CTRL_CODE_GET_IS_MODE)
{
return get_scan_mode(*((bool*)data));
}
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}

View File

@ -250,12 +250,12 @@ 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);//设置分纸强度
virtual int on_pic_type(bool& pic);//照片模式或者文本模式
virtual int on_pick_paper(bool autostrength);//设置搓纸使能
virtual int on_pick_paper_threshold(double threshold);//设置搓纸阈值
virtual int on_is_auto_paper(bool isautopaper);//待纸扫描
virtual int on_get_feedmode(int& feedmode); //获取分纸强度
virtual int on_set_feedmode(int feedmode); //设置分纸强度
virtual int on_pic_type(bool& pic); //照片模式或者文本模式
virtual int on_pick_paper(bool autostrength); //设置搓纸使能
virtual int on_pick_paper_threshold(double threshold); //设置搓纸阈值
virtual int on_is_auto_paper(bool isautopaper); //待纸扫描
protected:
virtual void on_device_reconnected(void);
@ -463,7 +463,7 @@ public:
virtual int set_clean_paper_road() = 0; //清理纸道
virtual int get_dev_islock_file(int &data) = 0; //获取设备文件 /*/ data:0 未上锁1 上锁。-1 未发现黑名单列表 -2列表没有信息*/
virtual int set_dev_islock_file(int data) = 0; //设置设备文件 /*/ data:0 未上锁1 上锁*/
virtual int get_scan_mode(bool& type) ; //获取设备是否计数模式 /*/ type:false计数模式 true非计数模式
virtual int get_scan_mode(bool& type) ; //获取设备是否计数模式 /*/ type:false计数模式 true非计数模式
};
#ifdef UOS

View File

@ -1071,10 +1071,7 @@ void hg_scanner_239::thread_handle_usb_read(void)
}
VLOG_MINI_2(LOG_LEVEL_DEBUG_INFO, "USB thread exit with code: %s, status = %s\n", hg_scanner_err_name(ret), hg_scanner_err_name(status_));
}
void hg_scanner_239::thread_handle_islock_read(void)
{
int get_server_blacklist();
}
int hg_scanner_239::start(void)
{
bool handled = false;

View File

@ -46,24 +46,23 @@ class hg_scanner_239 : public hg_scanner
void init_version(void
);
protected:
int on_color_mode_changed(int& color_mode) override;
virtual int on_paper_changed(int& paper) override;
virtual int on_paper_check_changed(bool& check) override;
virtual int on_resolution_changed(int& dpi) override;
virtual int on_ultrasonic_check_changed(bool& check) override;
virtual int on_staple_check_changed(bool& check) override;
virtual int on_skew_check_changed(bool& check) override;
virtual int on_skew_check_level_changed(int& check) override;
virtual int on_get_feedmode(int& feedmode) override;//获取分纸强度
virtual int on_set_feedmode(int feedmode) override;//设置分纸强度
virtual int on_pic_type(bool& pic);//照片模式或者文本模式
virtual int on_pick_paper(bool autostrength); //自动分纸强度
virtual int on_pick_paper_threshold(double threshold);
virtual int on_is_auto_paper(bool isautopaper);//待纸扫描
virtual int on_color_mode_changed(int& color_mode) override; //颜色切换
virtual int on_paper_changed(int& paper) override; //纸张大小设置
virtual int on_paper_check_changed(bool& check) override; //尺寸检测
virtual int on_resolution_changed(int& dpi) override; //分辨率设置
virtual int on_ultrasonic_check_changed(bool& check) override; //设置超声波检测
virtual int on_staple_check_changed(bool& check) override; //设置订书针检测
virtual int on_skew_check_changed(bool& check) override; //设置歪斜检测
virtual int on_skew_check_level_changed(int& check) override; //设置歪斜检测强度
virtual int on_get_feedmode(int& feedmode) override; //获取分纸强度
virtual int on_set_feedmode(int feedmode) override; //设置分纸强度
virtual int on_pic_type(bool& pic)override; //照片模式或者文本模式
virtual int on_pick_paper(bool autostrength)override; //自动分纸强度
virtual int on_pick_paper_threshold(double threshold)override;
virtual int on_is_auto_paper(bool isautopaper); //待纸扫描
virtual void on_device_reconnected(void) override;
virtual int on_scanner_closing(bool force) override;
virtual void thread_handle_usb_read(void) override;
virtual void thread_handle_islock_read();
public:
hg_scanner_239(const char* dev_name, int pid,usb_io* io);
~hg_scanner_239();
@ -82,14 +81,14 @@ public:
virtual std::string get_ip(void);
/////////////////成功返回:SCANNER_ERR_OK /////////////
/////////////////失败返回:IO错误码 /////////////
/////////////////失败返回:IO错误码 or SCANNER_ERR_DEVICE_NOT_SUPPORT /////////////
virtual int set_leaflet_scan(void) override; //单张扫描
virtual int set_clear_roller_num(void) override; //清除滚轴计数
virtual int get_device_code(void); //获取设备编码 不支持
virtual int get_device_code(void); //获取设备编码 不支持
virtual int get_scanner_paperon(SANE_Bool& type) override; //获取设备有无纸张 /*/ type : 0无纸 1有纸 */
virtual int get_scanner_paperon(SANE_Bool& type) override; //获取设备有无纸张 /*/ type : 0无纸 1有纸 */
virtual int get_scan_is_sleep(SANE_Bool& type) override; //获取设备是否休眠当中 /*/ type : 0休眠 1唤醒状态*/
virtual int get_sleep_time(int& data) override; //获取功耗模式(休眠) /*/ data > 0*/
@ -107,6 +106,6 @@ public:
virtual int set_clean_paper_road() override; //清理纸道
virtual int get_dev_islock_file(int& data) override; //获取设备文件 /*/ data:0 未上锁1 上锁。-1 未发现黑名单列表 -2列表没有信息*/
virtual int set_dev_islock_file(int data) override; //设置设备文件 /*/ data:0 未上锁1 上锁*/
virtual int get_scan_mode(bool& type);
virtual int get_scan_mode(bool& type); //获取是否是计数模式 /*/ type : fasle计数模式 true非计数 */
};