kopia lustrzana https://gitlab.com/sane-project/backends
genesys: Update all sensors when searching for reference point
rodzic
91b20fb268
commit
e5a90e8005
|
@ -230,6 +230,28 @@ Genesys_Sensor& sanei_genesys_find_sensor_for_write(Genesys_Device* dev, int dpi
|
|||
}
|
||||
|
||||
|
||||
std::vector<std::reference_wrapper<const Genesys_Sensor>>
|
||||
sanei_genesys_find_sensors_all(Genesys_Device* dev, ScanMethod scan_method)
|
||||
{
|
||||
std::vector<std::reference_wrapper<const Genesys_Sensor>> ret;
|
||||
for (const Genesys_Sensor& sensor : sanei_genesys_find_sensors_all_for_write(dev, scan_method)) {
|
||||
ret.push_back(sensor);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
std::vector<std::reference_wrapper<Genesys_Sensor>>
|
||||
sanei_genesys_find_sensors_all_for_write(Genesys_Device* dev, ScanMethod scan_method)
|
||||
{
|
||||
std::vector<std::reference_wrapper<Genesys_Sensor>> ret;
|
||||
for (auto& sensor : *s_sensors) {
|
||||
if (dev->model->ccd_type == sensor.sensor_id && sensor.method == scan_method) {
|
||||
ret.push_back(sensor);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
void
|
||||
sanei_genesys_init_structs (Genesys_Device * dev)
|
||||
{
|
||||
|
|
|
@ -1940,8 +1940,10 @@ static void gl124_search_start_position(Genesys_Device* dev)
|
|||
/* update regs to copy ASIC internal state */
|
||||
dev->reg = local_reg;
|
||||
|
||||
sanei_genesys_search_reference_point(dev, sensor, data.data(), 0, dpi, pixels,
|
||||
dev->model->search_lines);
|
||||
for (auto& sensor_update : sanei_genesys_find_sensors_all_for_write(dev, ScanMethod::FLATBED)) {
|
||||
sanei_genesys_search_reference_point(dev, sensor_update, data.data(), 0, dpi, pixels,
|
||||
dev->model->search_lines);
|
||||
}
|
||||
}
|
||||
|
||||
// sets up register for coarse gain calibration
|
||||
|
|
|
@ -2183,8 +2183,10 @@ static void gl646_search_start_position(Genesys_Device* dev)
|
|||
}
|
||||
|
||||
// now search reference points on the data
|
||||
sanei_genesys_search_reference_point(dev, sensor, data.data(), sensor.CCD_start_xoffset,
|
||||
resolution, settings.pixels, settings.lines);
|
||||
for (auto& sensor_update : sanei_genesys_find_sensors_all_for_write(dev, ScanMethod::FLATBED)) {
|
||||
sanei_genesys_search_reference_point(dev, sensor_update, data.data(), 0,
|
||||
resolution, settings.pixels, settings.lines);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -2991,10 +2991,10 @@ static void gl841_search_start_position(Genesys_Device* dev)
|
|||
/* update regs to copy ASIC internal state */
|
||||
dev->reg = local_reg;
|
||||
|
||||
// TODO: find out where sanei_genesys_search_reference_point stores information,
|
||||
// and use that correctly
|
||||
sanei_genesys_search_reference_point(dev, sensor, data.data(), 0, dpi, pixels,
|
||||
dev->model->search_lines);
|
||||
for (auto& sensor_update : sanei_genesys_find_sensors_all_for_write(dev, ScanMethod::FLATBED)) {
|
||||
sanei_genesys_search_reference_point(dev, sensor_update, data.data(), 0, dpi, pixels,
|
||||
dev->model->search_lines);
|
||||
}
|
||||
}
|
||||
|
||||
// sets up register for coarse gain calibration
|
||||
|
|
|
@ -2366,8 +2366,10 @@ static void gl843_search_start_position(Genesys_Device* dev)
|
|||
/* update regs to copy ASIC internal state */
|
||||
dev->reg = local_reg;
|
||||
|
||||
sanei_genesys_search_reference_point(dev, sensor, data.data(), 0, dpi, pixels,
|
||||
dev->model->search_lines);
|
||||
for (auto& sensor_update : sanei_genesys_find_sensors_all_for_write(dev, ScanMethod::FLATBED)) {
|
||||
sanei_genesys_search_reference_point(dev, sensor_update, data.data(), 0, dpi, pixels,
|
||||
dev->model->search_lines);
|
||||
}
|
||||
}
|
||||
|
||||
// sets up register for coarse gain calibration
|
||||
|
|
|
@ -1632,8 +1632,10 @@ static void gl846_search_start_position(Genesys_Device* dev)
|
|||
|
||||
// TODO: find out where sanei_genesys_search_reference_point stores information,
|
||||
// and use that correctly
|
||||
sanei_genesys_search_reference_point(dev, sensor, data.data(), 0, dpi, pixels,
|
||||
dev->model->search_lines);
|
||||
for (auto& sensor_update : sanei_genesys_find_sensors_all_for_write(dev, ScanMethod::FLATBED)) {
|
||||
sanei_genesys_search_reference_point(dev, sensor_update, data.data(), 0, dpi, pixels,
|
||||
dev->model->search_lines);
|
||||
}
|
||||
}
|
||||
|
||||
// sets up register for coarse gain calibration
|
||||
|
|
|
@ -1688,8 +1688,10 @@ static void gl847_search_start_position(Genesys_Device* dev)
|
|||
|
||||
// TODO: find out where sanei_genesys_search_reference_point stores information,
|
||||
// and use that correctly
|
||||
sanei_genesys_search_reference_point(dev, sensor, data.data(), 0, dpi, pixels,
|
||||
dev->model->search_lines);
|
||||
for (auto& sensor_update : sanei_genesys_find_sensors_all_for_write(dev, ScanMethod::FLATBED)) {
|
||||
sanei_genesys_search_reference_point(dev, sensor_update, data.data(), 0, dpi, pixels,
|
||||
dev->model->search_lines);
|
||||
}
|
||||
}
|
||||
|
||||
// sets up register for coarse gain calibration
|
||||
|
|
|
@ -439,6 +439,11 @@ const Genesys_Sensor& sanei_genesys_find_sensor(Genesys_Device* dev, int dpi,
|
|||
Genesys_Sensor& sanei_genesys_find_sensor_for_write(Genesys_Device* dev, int dpi,
|
||||
ScanMethod scan_method);
|
||||
|
||||
std::vector<std::reference_wrapper<const Genesys_Sensor>>
|
||||
sanei_genesys_find_sensors_all(Genesys_Device* dev, ScanMethod scan_method);
|
||||
std::vector<std::reference_wrapper<Genesys_Sensor>>
|
||||
sanei_genesys_find_sensors_all_for_write(Genesys_Device* dev, ScanMethod scan_method);
|
||||
|
||||
extern void sanei_genesys_init_shading_data(Genesys_Device* dev, const Genesys_Sensor& sensor,
|
||||
int pixels_per_line);
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue