kopia lustrzana https://gitlab.com/sane-project/backends
genesys: Remove no longer used Genesys_Current_Setup
rodzic
8c6987e5a1
commit
f4f58f6c18
|
@ -56,8 +56,8 @@ struct Genesys_Calibration_Cache
|
|||
~Genesys_Calibration_Cache() = default;
|
||||
|
||||
// used to check if entry is compatible
|
||||
Genesys_Current_Setup used_setup;
|
||||
SetupParams params;
|
||||
|
||||
std::time_t last_calibration = 0;
|
||||
|
||||
Genesys_Frontend frontend;
|
||||
|
@ -71,8 +71,7 @@ struct Genesys_Calibration_Cache
|
|||
|
||||
bool operator==(const Genesys_Calibration_Cache& other) const
|
||||
{
|
||||
return used_setup == other.used_setup &&
|
||||
params == other.params &&
|
||||
return params == other.params &&
|
||||
last_calibration == other.last_calibration &&
|
||||
frontend == other.frontend &&
|
||||
sensor == other.sensor &&
|
||||
|
@ -87,8 +86,6 @@ struct Genesys_Calibration_Cache
|
|||
template<class Stream>
|
||||
void serialize(Stream& str, Genesys_Calibration_Cache& x)
|
||||
{
|
||||
serialize(str, x.used_setup);
|
||||
serialize_newline(str);
|
||||
serialize(str, x.params);
|
||||
serialize_newline(str);
|
||||
serialize(str, x.last_calibration);
|
||||
|
|
|
@ -326,8 +326,6 @@ struct Genesys_Device
|
|||
// total bytes read to be sent to frontend
|
||||
size_t total_bytes_to_read = 0;
|
||||
|
||||
// contains the real used values
|
||||
Genesys_Current_Setup current_setup;
|
||||
// contains computed data for the current setup
|
||||
ScanSession session;
|
||||
|
||||
|
|
|
@ -2652,7 +2652,6 @@ static void genesys_save_calibration(Genesys_Device* dev, const Genesys_Sensor&
|
|||
found_cache_it->dark_average_data = dev->dark_average_data;
|
||||
found_cache_it->white_average_data = dev->white_average_data;
|
||||
|
||||
found_cache_it->used_setup = dev->current_setup;
|
||||
found_cache_it->params = dev->session.params;
|
||||
found_cache_it->frontend = dev->frontend;
|
||||
found_cache_it->sensor = sensor;
|
||||
|
@ -3256,7 +3255,6 @@ static void genesys_read_ordered_data(Genesys_Device* dev, SANE_Byte* destinatio
|
|||
throw SaneException("read is not active");
|
||||
}
|
||||
|
||||
debug_dump(DBG_info, dev->current_setup);
|
||||
debug_dump(DBG_info, dev->session.params);
|
||||
|
||||
DBG(DBG_info, "%s: frontend requested %zu bytes\n", __func__, *len);
|
||||
|
@ -4478,7 +4476,7 @@ static void probe_genesys_devices (void)
|
|||
of Genesys_Calibration_Cache as is.
|
||||
*/
|
||||
static const char* CALIBRATION_IDENT = "sane_genesys";
|
||||
static const int CALIBRATION_VERSION = 15;
|
||||
static const int CALIBRATION_VERSION = 16;
|
||||
|
||||
bool read_calibration(std::istream& str, Genesys_Device::Calibration& calibration,
|
||||
const std::string& path)
|
||||
|
|
|
@ -958,14 +958,6 @@ static void gl124_init_scan_regs(Genesys_Device* dev, const Genesys_Sensor& sens
|
|||
dev->read_active = true;
|
||||
|
||||
dev->session = session;
|
||||
dev->current_setup.pixels = session.output_pixels;
|
||||
DBG(DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels);
|
||||
dev->current_setup.lines = session.output_line_count;
|
||||
dev->current_setup.exposure_time = exposure_time;
|
||||
dev->current_setup.xres = session.params.xres;
|
||||
dev->current_setup.ccd_size_divisor = session.ccd_size_divisor;
|
||||
dev->current_setup.stagger = session.num_staggered_lines;
|
||||
dev->current_setup.max_shift = session.max_color_shift_lines + session.num_staggered_lines;
|
||||
|
||||
dev->total_bytes_read = 0;
|
||||
dev->total_bytes_to_read = session.output_line_bytes_requested * session.params.lines;
|
||||
|
@ -979,8 +971,6 @@ void CommandSetGl124::calculate_current_setup(Genesys_Device * dev,
|
|||
{
|
||||
int start;
|
||||
|
||||
int exposure_time;
|
||||
|
||||
DBG(DBG_info, "%s ", __func__);
|
||||
debug_dump(DBG_info, dev->settings);
|
||||
|
||||
|
@ -1006,24 +996,7 @@ void CommandSetGl124::calculate_current_setup(Genesys_Device * dev,
|
|||
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
/* compute scan parameters values */
|
||||
/* pixels are allways given at half or full CCD optical resolution */
|
||||
/* use detected left margin and fixed value */
|
||||
|
||||
exposure_time = get_sensor_profile(dev->model->asic_type, sensor, session.params.xres,
|
||||
session.ccd_size_divisor).exposure_lperiod;
|
||||
|
||||
DBG (DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time);
|
||||
|
||||
dev->session = session;
|
||||
dev->current_setup.pixels = session.output_pixels;
|
||||
DBG (DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels);
|
||||
dev->current_setup.lines = session.output_line_count;
|
||||
dev->current_setup.exposure_time = exposure_time;
|
||||
dev->current_setup.xres = session.params.xres;
|
||||
dev->current_setup.ccd_size_divisor = session.ccd_size_divisor;
|
||||
dev->current_setup.stagger = session.num_staggered_lines;
|
||||
dev->current_setup.max_shift = session.max_color_shift_lines + session.num_staggered_lines;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -581,19 +581,9 @@ static void gl646_setup_registers(Genesys_Device* dev,
|
|||
|
||||
build_image_pipeline(dev, session);
|
||||
|
||||
/* scan bytes to read */
|
||||
unsigned cis_channel_multiplier = dev->model->is_cis ? session.params.channels : 1;
|
||||
|
||||
dev->read_active = true;
|
||||
|
||||
dev->session = session;
|
||||
dev->current_setup.pixels = session.output_pixels;
|
||||
dev->current_setup.lines = session.output_line_count * cis_channel_multiplier;
|
||||
dev->current_setup.exposure_time = sensor.exposure_lperiod;
|
||||
dev->current_setup.xres = session.output_resolution;
|
||||
dev->current_setup.ccd_size_divisor = session.ccd_size_divisor;
|
||||
dev->current_setup.stagger = session.num_staggered_lines;
|
||||
dev->current_setup.max_shift = session.max_color_shift_lines + session.num_staggered_lines;
|
||||
|
||||
dev->total_bytes_read = 0;
|
||||
dev->total_bytes_to_read = session.output_line_bytes_requested * session.params.lines;
|
||||
|
@ -1889,10 +1879,6 @@ void CommandSetGl646::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
|
|||
/* copy reg to calib_reg */
|
||||
dev->calib_reg = dev->reg;
|
||||
|
||||
/* this is an hack to make calibration cache working .... */
|
||||
/* if we don't do this, cache will be identified at the shading calibration
|
||||
* dpi which is different from calibration one */
|
||||
dev->current_setup.xres = dev->settings.xres;
|
||||
DBG(DBG_info, "%s:\n\tdev->settings.xres=%d\n\tdev->settings.yres=%d\n", __func__,
|
||||
dev->settings.xres, dev->settings.yres);
|
||||
}
|
||||
|
|
|
@ -1734,13 +1734,6 @@ dummy \ scanned lines
|
|||
dev->read_active = true;
|
||||
|
||||
dev->session = session;
|
||||
dev->current_setup.pixels = session.output_pixels;
|
||||
dev->current_setup.lines = session.output_line_count;
|
||||
dev->current_setup.exposure_time = exposure_time;
|
||||
dev->current_setup.xres = session.params.xres;
|
||||
dev->current_setup.ccd_size_divisor = session.ccd_size_divisor;
|
||||
dev->current_setup.stagger = session.num_staggered_lines;
|
||||
dev->current_setup.max_shift = session.max_color_shift_lines + session.num_staggered_lines;
|
||||
|
||||
dev->total_bytes_read = 0;
|
||||
dev->total_bytes_to_read = session.output_line_bytes_requested * session.params.lines;
|
||||
|
@ -1753,12 +1746,6 @@ void CommandSetGl841::calculate_current_setup(Genesys_Device * dev,
|
|||
{
|
||||
int start;
|
||||
|
||||
int exposure_time;
|
||||
|
||||
int slope_dpi = 0;
|
||||
int dummy = 0;
|
||||
int scan_step_type = 1;
|
||||
|
||||
DBG(DBG_info, "%s ", __func__);
|
||||
debug_dump(DBG_info, dev->settings);
|
||||
|
||||
|
@ -1785,58 +1772,7 @@ void CommandSetGl841::calculate_current_setup(Genesys_Device * dev,
|
|||
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
/* dummy lines: may not be usefull, for instance 250 dpi works with 0 or 1
|
||||
dummy line. Maybe the dummy line adds correctness since the motor runs
|
||||
slower (higher dpi)
|
||||
*/
|
||||
/* for cis this creates better aligned color lines:
|
||||
dummy \ scanned lines
|
||||
0: R G B R ...
|
||||
1: R G B - R ...
|
||||
2: R G B - - R ...
|
||||
3: R G B - - - R ...
|
||||
4: R G B - - - - R ...
|
||||
5: R G B - - - - - R ...
|
||||
6: R G B - - - - - - R ...
|
||||
7: R G B - - - - - - - R ...
|
||||
8: R G B - - - - - - - - R ...
|
||||
9: R G B - - - - - - - - - R ...
|
||||
10: R G B - - - - - - - - - - R ...
|
||||
11: R G B - - - - - - - - - - - R ...
|
||||
12: R G B - - - - - - - - - - - - R ...
|
||||
13: R G B - - - - - - - - - - - - - R ...
|
||||
14: R G B - - - - - - - - - - - - - - R ...
|
||||
15: R G B - - - - - - - - - - - - - - - R ...
|
||||
-- pierre
|
||||
*/
|
||||
dummy = 0;
|
||||
|
||||
/* cis color scan is effectively a gray scan with 3 gray lines per color
|
||||
line and a FILTER of 0 */
|
||||
if (dev->model->is_cis) {
|
||||
slope_dpi = session.params.yres * session.params.channels;
|
||||
} else {
|
||||
slope_dpi = session.params.yres;
|
||||
}
|
||||
|
||||
slope_dpi = slope_dpi * (1 + dummy);
|
||||
|
||||
scan_step_type = gl841_scan_step_type(dev, session.params.yres);
|
||||
exposure_time = gl841_exposure_time(dev, sensor,
|
||||
slope_dpi,
|
||||
scan_step_type,
|
||||
session.pixel_startx,
|
||||
session.optical_pixels);
|
||||
DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time);
|
||||
|
||||
dev->session = session;
|
||||
dev->current_setup.pixels = session.output_pixels;
|
||||
dev->current_setup.lines = session.output_line_count;
|
||||
dev->current_setup.exposure_time = exposure_time;
|
||||
dev->current_setup.xres = session.params.xres;
|
||||
dev->current_setup.ccd_size_divisor = session.ccd_size_divisor;
|
||||
dev->current_setup.stagger = session.num_staggered_lines;
|
||||
dev->current_setup.max_shift = session.max_color_shift_lines + session.num_staggered_lines;
|
||||
}
|
||||
|
||||
// for fast power saving methods only, like disabling certain amplifiers
|
||||
|
|
|
@ -1262,14 +1262,6 @@ static void gl843_init_scan_regs(Genesys_Device* dev, const Genesys_Sensor& sens
|
|||
dev->read_active = true;
|
||||
|
||||
dev->session = session;
|
||||
dev->current_setup.pixels = session.output_pixels;
|
||||
DBG(DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels);
|
||||
dev->current_setup.lines = session.output_line_count;
|
||||
dev->current_setup.exposure_time = exposure;
|
||||
dev->current_setup.xres = session.output_resolution;
|
||||
dev->current_setup.ccd_size_divisor = session.ccd_size_divisor;
|
||||
dev->current_setup.stagger = session.num_staggered_lines;
|
||||
dev->current_setup.max_shift = session.max_color_shift_lines + session.num_staggered_lines;
|
||||
|
||||
dev->total_bytes_read = 0;
|
||||
dev->total_bytes_to_read = session.output_line_bytes_requested * session.params.lines;
|
||||
|
@ -1336,14 +1328,6 @@ void CommandSetGl843::calculate_current_setup(Genesys_Device * dev,
|
|||
DBG(DBG_info, "%s : exposure=%d pixels\n", __func__, exposure);
|
||||
|
||||
dev->session = session;
|
||||
dev->current_setup.pixels = session.output_pixels;
|
||||
DBG(DBG_info, "%s: current_setup.pixels=%d\n", __func__, dev->current_setup.pixels);
|
||||
dev->current_setup.lines = session.output_line_count;
|
||||
dev->current_setup.exposure_time = exposure;
|
||||
dev->current_setup.xres = session.params.xres;
|
||||
dev->current_setup.ccd_size_divisor = session.ccd_size_divisor;
|
||||
dev->current_setup.stagger = session.num_staggered_lines;
|
||||
dev->current_setup.max_shift = session.max_color_shift_lines + session.num_staggered_lines;
|
||||
|
||||
DBG(DBG_proc, "%s: completed\n", __func__);
|
||||
}
|
||||
|
|
|
@ -811,13 +811,6 @@ static void gl846_init_scan_regs(Genesys_Device* dev, const Genesys_Sensor& sens
|
|||
dev->read_active = true;
|
||||
|
||||
dev->session = session;
|
||||
dev->current_setup.pixels = session.output_pixels;
|
||||
dev->current_setup.lines = session.output_line_count;
|
||||
dev->current_setup.exposure_time = exposure_time;
|
||||
dev->current_setup.xres = session.params.xres;
|
||||
dev->current_setup.ccd_size_divisor = session.ccd_size_divisor;
|
||||
dev->current_setup.stagger = session.num_staggered_lines;
|
||||
dev->current_setup.max_shift = session.max_color_shift_lines + session.num_staggered_lines;
|
||||
|
||||
dev->total_bytes_read = 0;
|
||||
dev->total_bytes_to_read = session.output_line_bytes_requested * session.params.lines;
|
||||
|
@ -830,11 +823,6 @@ void CommandSetGl846::calculate_current_setup(Genesys_Device* dev,
|
|||
{
|
||||
int start;
|
||||
|
||||
int exposure_time;
|
||||
|
||||
int slope_dpi;
|
||||
int dummy = 0;
|
||||
|
||||
DBG(DBG_info, "%s ", __func__);
|
||||
debug_dump(DBG_info, dev->settings);
|
||||
|
||||
|
@ -860,35 +848,7 @@ void CommandSetGl846::calculate_current_setup(Genesys_Device* dev,
|
|||
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
/* compute scan parameters values */
|
||||
/* pixels are allways given at half or full CCD optical resolution */
|
||||
/* use detected left margin and fixed value */
|
||||
|
||||
/* compute correct pixels number */
|
||||
dummy = 3 - session.params.channels;
|
||||
|
||||
/* cis color scan is effectively a gray scan with 3 gray lines per color
|
||||
line and a FILTER of 0 */
|
||||
if (dev->model->is_cis) {
|
||||
slope_dpi = session.params.yres * session.params.channels;
|
||||
} else {
|
||||
slope_dpi = session.params.yres;
|
||||
}
|
||||
|
||||
slope_dpi = slope_dpi * (1 + dummy);
|
||||
|
||||
exposure_time = get_sensor_profile(dev->model->asic_type, sensor,
|
||||
session.params.xres, 1).exposure_lperiod;
|
||||
DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time);
|
||||
|
||||
dev->session = session;
|
||||
dev->current_setup.pixels = session.output_pixels;
|
||||
dev->current_setup.lines = session.output_line_count;
|
||||
dev->current_setup.exposure_time = exposure_time;
|
||||
dev->current_setup.xres = session.params.xres;
|
||||
dev->current_setup.ccd_size_divisor = session.ccd_size_divisor;
|
||||
dev->current_setup.stagger = session.num_staggered_lines;
|
||||
dev->current_setup.max_shift = session.max_color_shift_lines + session.num_staggered_lines;
|
||||
}
|
||||
|
||||
// for fast power saving methods only, like disabling certain amplifiers
|
||||
|
|
|
@ -816,13 +816,6 @@ static void gl847_init_scan_regs(Genesys_Device* dev, const Genesys_Sensor& sens
|
|||
dev->read_active = true;
|
||||
|
||||
dev->session = session;
|
||||
dev->current_setup.pixels = session.output_pixels;
|
||||
dev->current_setup.lines = session.output_line_count;
|
||||
dev->current_setup.exposure_time = exposure_time;
|
||||
dev->current_setup.xres = session.params.xres;
|
||||
dev->current_setup.ccd_size_divisor = session.ccd_size_divisor;
|
||||
dev->current_setup.stagger = session.num_staggered_lines;
|
||||
dev->current_setup.max_shift = session.max_color_shift_lines + session.num_staggered_lines;
|
||||
|
||||
dev->total_bytes_read = 0;
|
||||
dev->total_bytes_to_read = session.output_line_bytes_requested * session.params.lines;
|
||||
|
@ -835,11 +828,6 @@ void CommandSetGl847::calculate_current_setup(Genesys_Device * dev,
|
|||
{
|
||||
int start;
|
||||
|
||||
int exposure_time;
|
||||
|
||||
int slope_dpi = 0;
|
||||
int dummy = 0;
|
||||
|
||||
DBG(DBG_info, "%s ", __func__);
|
||||
debug_dump(DBG_info, dev->settings);
|
||||
|
||||
|
@ -865,36 +853,7 @@ void CommandSetGl847::calculate_current_setup(Genesys_Device * dev,
|
|||
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
/* compute scan parameters values */
|
||||
/* pixels are allways given at half or full CCD optical resolution */
|
||||
/* use detected left margin and fixed value */
|
||||
|
||||
/* compute correct pixels number */
|
||||
dummy = 3 - session.params.channels;
|
||||
|
||||
/* slope_dpi */
|
||||
/* cis color scan is effectively a gray scan with 3 gray lines per color
|
||||
line and a FILTER of 0 */
|
||||
if (dev->model->is_cis) {
|
||||
slope_dpi = session.params.yres * session.params.channels;
|
||||
} else {
|
||||
slope_dpi = session.params.yres;
|
||||
}
|
||||
|
||||
slope_dpi = slope_dpi * (1 + dummy);
|
||||
|
||||
exposure_time = get_sensor_profile(dev->model->asic_type, sensor,
|
||||
session.params.xres, 1).exposure_lperiod;
|
||||
DBG(DBG_info, "%s : exposure_time=%d pixels\n", __func__, exposure_time);
|
||||
|
||||
dev->session = session;
|
||||
dev->current_setup.pixels = session.output_pixels;
|
||||
dev->current_setup.lines = session.output_line_count;
|
||||
dev->current_setup.exposure_time = exposure_time;
|
||||
dev->current_setup.xres = session.params.xres;
|
||||
dev->current_setup.ccd_size_divisor = session.ccd_size_divisor;
|
||||
dev->current_setup.stagger = session.num_staggered_lines;
|
||||
dev->current_setup.max_shift = session.max_color_shift_lines + session.num_staggered_lines;
|
||||
}
|
||||
|
||||
// for fast power saving methods only, like disabling certain amplifiers
|
||||
|
|
|
@ -2606,25 +2606,6 @@ void debug_dump(unsigned level, const ScanSession& session)
|
|||
debug_dump(level, session.params);
|
||||
}
|
||||
|
||||
void debug_dump(unsigned level, const Genesys_Current_Setup& setup)
|
||||
{
|
||||
DBG(level, "current_setup:\n"
|
||||
"Pixels: %d\n"
|
||||
"Lines: %d\n"
|
||||
"exposure_time: %d\n"
|
||||
"Resolution X: %d\n"
|
||||
"ccd_size_divisor: %d\n"
|
||||
"stagger: %d\n"
|
||||
"max_shift: %d\n",
|
||||
setup.pixels,
|
||||
setup.lines,
|
||||
setup.exposure_time,
|
||||
setup.xres,
|
||||
setup.ccd_size_divisor,
|
||||
setup.stagger,
|
||||
setup.max_shift);
|
||||
}
|
||||
|
||||
void debug_dump(unsigned level, const Genesys_Register_Set& regs)
|
||||
{
|
||||
DBG(level, "register_set:\n");
|
||||
|
|
|
@ -616,7 +616,6 @@ void genesys_init_usb_device_tables();
|
|||
void debug_dump(unsigned level, const Genesys_Settings& settings);
|
||||
void debug_dump(unsigned level, const SetupParams& params);
|
||||
void debug_dump(unsigned level, const ScanSession& session);
|
||||
void debug_dump(unsigned level, const Genesys_Current_Setup& setup);
|
||||
void debug_dump(unsigned level, const Genesys_Register_Set& regs);
|
||||
void debug_dump(unsigned level, const GenesysRegisterSettingSet& regs);
|
||||
void debug_dump(unsigned level, const Genesys_Sensor& sensor);
|
||||
|
|
|
@ -315,47 +315,6 @@ struct ScanSession {
|
|||
}
|
||||
};
|
||||
|
||||
struct Genesys_Current_Setup
|
||||
{
|
||||
// pixel count expected from scanner
|
||||
int pixels = 0;
|
||||
// line count expected from scanner
|
||||
int lines = 0;
|
||||
|
||||
// used exposure time
|
||||
int exposure_time = 0;
|
||||
// used xres
|
||||
unsigned xres = 0;
|
||||
// half ccd mode
|
||||
unsigned ccd_size_divisor = 1;
|
||||
SANE_Int stagger = 0;
|
||||
// max shift of any ccd component, including staggered pixels
|
||||
SANE_Int max_shift = 0;
|
||||
|
||||
bool operator==(const Genesys_Current_Setup& other) const
|
||||
{
|
||||
return pixels == other.pixels &&
|
||||
lines == other.lines &&
|
||||
exposure_time == other.exposure_time &&
|
||||
xres == other.xres &&
|
||||
ccd_size_divisor == other.ccd_size_divisor &&
|
||||
stagger == other.stagger &&
|
||||
max_shift == other.max_shift;
|
||||
}
|
||||
};
|
||||
|
||||
template<class Stream>
|
||||
void serialize(Stream& str, Genesys_Current_Setup& x)
|
||||
{
|
||||
serialize(str, x.pixels);
|
||||
serialize(str, x.lines);
|
||||
serialize(str, x.exposure_time);
|
||||
serialize(str, x.xres);
|
||||
serialize(str, x.ccd_size_divisor);
|
||||
serialize(str, x.stagger);
|
||||
serialize(str, x.max_shift);
|
||||
}
|
||||
|
||||
} // namespace genesys
|
||||
|
||||
#endif // BACKEND_GENESYS_SETTINGS_H
|
||||
|
|
|
@ -34,10 +34,6 @@ namespace genesys {
|
|||
Genesys_Calibration_Cache create_fake_calibration_entry()
|
||||
{
|
||||
Genesys_Calibration_Cache calib;
|
||||
calib.used_setup.pixels = 10020;
|
||||
calib.used_setup.lines = 150;
|
||||
calib.used_setup.xres = 100;
|
||||
|
||||
calib.params.channels = 3;
|
||||
calib.params.depth = 8;
|
||||
calib.params.lines = 100;
|
||||
|
|
Ładowanie…
Reference in New Issue