调整平场校正 和获取畸变调整
This commit is contained in:
parent
900cffc549
commit
3b57fa8c56
|
@ -3634,11 +3634,11 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len)
|
|||
}
|
||||
else if(code == IO_CTRL_CODE_SET_DISTORTION_CHECK_VAL)
|
||||
{
|
||||
return set_distortion_check_val(*((int*)data));
|
||||
return set_devs_distortion_check_val(*((float*)data));
|
||||
}
|
||||
else if (code == IO_CTRL_CODE_GET_DISTORTION_DEVS_CHECK_VAL)
|
||||
{
|
||||
return get_devs_distortion_check_val(*((int*)data));
|
||||
return get_devs_distortion_check_val(*((float*)data));
|
||||
}
|
||||
else if(code == IO_CTRL_CODE_SET_DEVS_REBOOT)
|
||||
{
|
||||
|
@ -3782,11 +3782,11 @@ int hg_scanner::get_distortion_check_val(int &val)
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
int hg_scanner::set_distortion_check_val(int data)
|
||||
int hg_scanner::set_devs_distortion_check_val(float data)
|
||||
{
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
int hg_scanner::get_devs_distortion_check_val(int& data)
|
||||
int hg_scanner::get_devs_distortion_check_val(float& data)
|
||||
{
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
|
|
|
@ -521,9 +521,10 @@ public:
|
|||
virtual int get_speed_mode(int &data) = 0; //获取速度模式 /*/ 设备不同值不同,详情见子类注释
|
||||
|
||||
virtual int set_distortion_image(bool type); //设置畸变校正图 /*/ 基类处理
|
||||
virtual int get_distortion_check_val(int &val); //获取畸变校正指 /*/ 基类处理
|
||||
virtual int set_distortion_check_val(int data) = 0; //设置畸变矫正值 int to float;
|
||||
virtual int get_devs_distortion_check_val(int& data); //获取设备畸变值 float to int;
|
||||
virtual int get_distortion_check_val(int &val); //获取自动计算畸变校正值 /*/ 基类处理
|
||||
|
||||
virtual int set_devs_distortion_check_val(float data) = 0; //设置畸变矫正值 float;
|
||||
virtual int get_devs_distortion_check_val(float& data) = 0; //获取设备畸变值 float;
|
||||
|
||||
virtual int set_auto_flat(int data) = 0; //设置自动平场校正
|
||||
// data:0(ALL) 1(200dpi、gray) 2(200dpi、color) 3(300dpi、gray) 4(300dpi、color) 5(600dpi、gray) 6(600dpi、color)
|
||||
|
|
|
@ -928,7 +928,12 @@ int hg_scanner_200::get_speed_mode(int& data)
|
|||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
|
||||
int hg_scanner_200::set_distortion_check_val(int data)
|
||||
int hg_scanner_200::set_devs_distortion_check_val(float data)
|
||||
{
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
|
||||
int hg_scanner_200::get_devs_distortion_check_val(float& data)
|
||||
{
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
|
|
|
@ -103,7 +103,10 @@ public:
|
|||
virtual int set_dev_islock_file(int data) override; //设置设备文件 /*/ data:0 未上锁,1 上锁*/
|
||||
virtual int set_speed_mode(int data) override; //设置速度模式 /*/ 不支持
|
||||
virtual int get_speed_mode(int &data) override; //设置速度模式 /*/ 不支持
|
||||
virtual int set_distortion_check_val(int data) override; //设置畸变矫正
|
||||
|
||||
virtual int set_devs_distortion_check_val(float data) override; //设置畸变矫正
|
||||
virtual int get_devs_distortion_check_val(float& data) override; //获取设备畸变值
|
||||
|
||||
virtual int set_auto_flat(int data); //设置自动平场校正
|
||||
// data:0(ALL) 1(200dpi、gray) 2(200dpi、color) 3(300dpi、gray) 4(300dpi、color) 5(600dpi、gray) 6(600dpi、color)
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -123,8 +123,10 @@ public:
|
|||
|
||||
virtual int set_speed_mode(int data) override; //设置速度模式 /*/ data:100,110,120
|
||||
virtual int get_speed_mode(int& data)override; //获取速度模式 /*/ data:100,110,120
|
||||
virtual int set_distortion_check_val(int data) override; //设置畸变矫正值
|
||||
virtual int get_dpi_color_check_val(int &data); //获取畸变矫正
|
||||
|
||||
virtual int set_devs_distortion_check_val(float data) override; //设置畸变矫正值
|
||||
virtual int get_devs_distortion_check_val(float &data) override; //获取畸变矫正值
|
||||
|
||||
virtual int set_auto_flat(int data); //设置自动平场校正
|
||||
// data:0(ALL) 1(200dpi、gray) 2(200dpi、color) 3(300dpi、gray) 4(300dpi、color) 5(600dpi、gray) 6(600dpi、color)
|
||||
|
||||
|
|
|
@ -974,38 +974,47 @@ int hg_scanner_300::get_speed_mode(int& data)
|
|||
}
|
||||
return ret;
|
||||
}
|
||||
int hg_scanner_300::set_distortion_check_val(int data)
|
||||
int hg_scanner_300::set_devs_distortion_check_val(float data)
|
||||
{
|
||||
int val = *(int*)&data; //float to int send
|
||||
int ret = SCANNER_ERR_OK,
|
||||
len = 0;
|
||||
|
||||
int protocol_dpi = resolution_ == 200 ? 1 : (resolution_ == 300 ? 2 : 3);
|
||||
USBCB usbcb = { setting3288dsp::SET_JUST_COF_V ,data,protocol_dpi };
|
||||
USBCB usbcb = { setting3288dsp::SET_JUST_COF_V ,val,protocol_dpi };
|
||||
len = sizeof(usbcb);
|
||||
float f = *(float*)&(data);
|
||||
VLOG_MINI_3(LOG_LEVEL_WARNING, "set_distortion_check_val dpi is:%d,config dpi = %d,distortion_check_val(%f)\n", resolution_, protocol_dpi,f);
|
||||
float f = *(float*)&(val);
|
||||
VLOG_MINI_3(LOG_LEVEL_WARNING, "set_devs_distortion_check_val dpi is:%d,config dpi = %d,distortion_check_val(%f)\n", resolution_, protocol_dpi,f);
|
||||
io_->set_timeout(5000);
|
||||
ret = io_->write_bulk(&usbcb, &len);
|
||||
return ret;
|
||||
}
|
||||
int hg_scanner_300::get_devs_distortion_check_val(int& data)
|
||||
int hg_scanner_300::get_devs_distortion_check_val(float& data)
|
||||
{
|
||||
int ret = SCANNER_ERR_OK,
|
||||
len = 0;
|
||||
len = 0,
|
||||
val = 0;
|
||||
|
||||
int protocol_dpi = resolution_ == 200 ? 1 : (resolution_ == 300 ? 2 : 3);
|
||||
USBCB usbcb = { setting3288dsp::GET_JUST_COF_V ,0,protocol_dpi };
|
||||
len = sizeof(usbcb);
|
||||
ret = io_->write_bulk(&usbcb, &len);
|
||||
if (ret == SCANNER_ERR_OK)
|
||||
if (ret != SCANNER_ERR_OK)
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
|
||||
io_->set_timeout(3000);
|
||||
ret = io_->read_bulk(&usbcb, &len);
|
||||
|
||||
data = usbcb.u32_Data;
|
||||
if (ret != SCANNER_ERR_OK)
|
||||
{
|
||||
return ret;
|
||||
}
|
||||
float f = *(float *) & data;
|
||||
VLOG_MINI_3(LOG_LEVEL_WARNING, "get_distortion_check_val dpi is:%d,protocol_dpi = %d get_distortion_check_val(%f)\n", resolution_, protocol_dpi, f);
|
||||
|
||||
val = usbcb.u32_Data;
|
||||
data = *(float *) &val;
|
||||
|
||||
VLOG_MINI_3(LOG_LEVEL_WARNING, "get_distortion_check_val dpi is:%d,protocol_dpi = %d get_distortion_check_val(%f)\n", resolution_, protocol_dpi, data);
|
||||
return ret;
|
||||
}
|
||||
int hg_scanner_300::set_auto_flat(int data)
|
||||
|
|
|
@ -105,8 +105,8 @@ public:
|
|||
virtual int set_dev_islock_file(int data) override; //设置设备文件 /*/ data:0 未上锁,1 上锁*
|
||||
virtual int set_speed_mode(int data) override; //设置速度模式 /*/ data:40,50,60,70
|
||||
virtual int get_speed_mode(int& data)override; //获取速度模式 /*/ data:40,50,60,70
|
||||
virtual int set_distortion_check_val(int data) override; //设置畸变矫正
|
||||
virtual int get_devs_distortion_check_val(int& data)override;//获取设备畸变值 float to int;
|
||||
virtual int set_devs_distortion_check_val(float data) override; //设置畸变矫正
|
||||
virtual int get_devs_distortion_check_val(float& data)override;//获取设备畸变值 float to int;
|
||||
virtual int set_auto_flat(int data)override; //设置自动平场校正
|
||||
// data:0(ALL) 1(200dpi、gray) 2(200dpi、color) 3(300dpi、gray) 4(300dpi、color) 5(600dpi、gray) 6(600dpi、color)
|
||||
|
||||
|
|
|
@ -1299,7 +1299,7 @@ int hg_scanner_302::get_speed_mode(int& data)
|
|||
{
|
||||
return read_register(setting3399::SR_SET_SPEEDMODE, &data);
|
||||
}
|
||||
int hg_scanner_302::set_distortion_check_val(int data)
|
||||
int hg_scanner_302::set_devs_distortion_check_val(float data)
|
||||
{
|
||||
setting3399::Scanner_Reg_Defs retio = setting3399::SR_SET_H_200_RATIO;
|
||||
if (resolution_ <= 200)
|
||||
|
@ -1311,6 +1311,10 @@ int hg_scanner_302::set_distortion_check_val(int data)
|
|||
|
||||
return write_register(retio, *(int*)&save_dpi_color_check_val);
|
||||
}
|
||||
int hg_scanner_302::get_devs_distortion_check_val(float& data)
|
||||
{
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
}
|
||||
int hg_scanner_302::set_auto_flat(int data)
|
||||
{
|
||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||
|
|
|
@ -126,7 +126,8 @@ public:
|
|||
virtual int set_dev_islock_file(int data) override; //设置设备文件 /*/ data:0 未上锁,1 上锁*/
|
||||
virtual int set_speed_mode(int data) override; //设置速度模式 /*/ data:40,50,60,70
|
||||
virtual int get_speed_mode(int& data)override; //获取速度模式 /*/ data:40,50,60,70
|
||||
virtual int set_distortion_check_val(int data) override; //设置畸变矫正
|
||||
virtual int set_devs_distortion_check_val(float data) override; //设置畸变矫正
|
||||
virtual int get_devs_distortion_check_val(float& data) override; //获取设备畸变值
|
||||
virtual int set_auto_flat(int data) override; //设置自动平场校正
|
||||
// data:0(ALL) 1(200dpi、gray) 2(200dpi、color) 3(300dpi、gray) 4(300dpi、color) 5(600dpi、gray) 6(600dpi、color)
|
||||
|
||||
|
|
Loading…
Reference in New Issue