新增占空比

This commit is contained in:
13038267101 2023-10-27 11:10:14 +08:00
parent d172dc3685
commit 5332cc6d2a
5 changed files with 97 additions and 68 deletions

View File

@ -677,20 +677,7 @@ namespace setting_hardware
typedef union hg_scanner_config_3288
{
unsigned int value;
//struct
//{
// unsigned int pageSize : 5;
// unsigned int isColor : 1;
// unsigned int dpi : 2;
// unsigned int doubleFeeded : 1;
// unsigned int enableUV : 1;
// unsigned int enableLed : 1;
// unsigned int sizedetece : 1;
// unsigned int reversed1 : 5;
// unsigned int isCorrect : 1;
// unsigned int dstHeight : 8;
// unsigned int reversed2 : 6;
//}params;
struct // changed on 2022-07-25
{
unsigned int pageSize : 5;
@ -709,6 +696,29 @@ namespace setting_hardware
unsigned int reversed2 : 6;
}params_3288;
}HGSCANCONF_3288;
typedef union hg_scanner_config_7010
{
unsigned int value;
struct // changed on 2022-07-25
{
unsigned int pageSize : 5;
unsigned int isColor : 1;
unsigned int dpi : 2;
unsigned int doubleFeeded : 1;
unsigned int en_doublefeed_check : 1;
unsigned int enableLed : 1;
unsigned int enableSizeDetect : 1;
unsigned int lutmode : 1; // 设置文本和照片模式, 0 - 文本1 - 照片。默认值为“0”
unsigned int moire : 1;
unsigned int dirty_detect : 1;
unsigned int reversed1 : 2;
unsigned int isCorrect : 1; //设置0 为原图1为校正后的图
unsigned int dc : 8; //设置PWM占空比
unsigned int reversed2 : 6;
}params_7010;
}HGSCANCONF_7010;
}
//硬件协议定义 -OVER
namespace setting3288dsp

View File

@ -671,6 +671,7 @@ void hg_scanner::init_setting_func_map(void)
setting_map_[SANE_STD_OPT_NAME_WAIT_SCAN_EXIT] = &hg_scanner::setting_auto_paper_scan_exit_time;
setting_map_[SANE_STD_OPT_NAME_DISCARDBLANK] = &hg_scanner::setting_set_discardblank;
setting_map_[SANE_STD_OPT_NAME_LENS_DIRTY] = &hg_scanner::setting_detect_lens_dirty;
setting_map_[SANE_STD_OPT_NAME_PERIOD] = &hg_scanner::setting_set_period;
@ -2983,6 +2984,12 @@ int hg_scanner::setting_detect_lens_dirty(void* data, long* len)
return ret;
}
int hg_scanner::setting_set_period(void* data, long* len)
{
int val = *((int *)data);
return on_set_period(val);
}
int hg_scanner::on_color_mode_changed(int& color_mode)
{
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
@ -3051,6 +3058,10 @@ int hg_scanner::on_detect_lens_dirty(bool type)
{
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
int hg_scanner::on_set_period(int val)
{
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
}
void hg_scanner::on_device_reconnected(void)
{
std::lock_guard<std::mutex> lock(io_lock_);

View File

@ -243,6 +243,7 @@ protected:
int setting_get_initial_boot_time(void* data, long* len);
int setting_set_discardblank(void* data, long* len);
int setting_detect_lens_dirty(void* data, long* len);
int setting_set_period(void* data, long* len);
virtual void on_device_reconnected(void);
virtual int on_scanner_closing(bool force);
@ -264,6 +265,7 @@ protected:
virtual int on_cis_get_image(bool type) = 0;
virtual int on_process_double_paper(bool type) = 0; //双张图像校验
virtual int on_detect_lens_dirty(bool type); //检测镜头脏污
virtual int on_set_period(int val); //PWM占空比
protected:
virtual int set_setting_value(const char* name, void* data, long* len);

File diff suppressed because one or more lines are too long

View File

@ -45,6 +45,8 @@ protected:
virtual int on_is_auto_paper(bool isautopaper)override; //待纸扫描
virtual int on_cis_get_image(bool isautopaper) override; //cis 原图获取
virtual int on_process_double_paper(bool type) override; //双张图像校验
virtual int on_set_period(int val) override; //PWM占空比
protected:
public:
hg_scanner_306(const char* dev_name,int pid, usb_io* io);
@ -61,9 +63,9 @@ private:
int pop_image(void);
int get_scanner_status(USBCB &usb);
int get_img_data_7010();
int writedown_device_configuration(bool type =false,setting_hardware::HGSCANCONF_3288 *d = NULL);
int writedown_device_configuration(bool type =false,setting_hardware::HGSCANCONF_7010 *d = NULL);
void writedown_image_configuration(void);
void printf_devconfig(setting_hardware::HGSCANCONF_3288 *d = NULL);
void printf_devconfig(setting_hardware::HGSCANCONF_7010 *d = NULL);
int get_device_type(bool &type);
int get_devs_distortion_check_val(float& data, int dpi, int dir);//获取设备畸变值 DPI=1、2、3 dir = 0,1;
@ -75,7 +77,7 @@ private:
int get_correction_image(int inx ,int dpi,int mode);
private:
std::vector<int> savestatus_;
setting_hardware::HGSCANCONF_3288 dsp_config;
setting_hardware::HGSCANCONF_7010 dsp_config;
Device::PaperSize papersize;
bool is_devs_sleep_;