kopia lustrzana https://gitlab.com/sane-project/backends
genesys: Simplify dpiset calculation on gl847
rodzic
a43d362b7b
commit
989782bd72
|
@ -528,10 +528,6 @@ static void gl847_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sens
|
||||||
DBG_HELPER_ARGS(dbg, "exposure_time=%d", exposure_time);
|
DBG_HELPER_ARGS(dbg, "exposure_time=%d", exposure_time);
|
||||||
GenesysRegister *r;
|
GenesysRegister *r;
|
||||||
|
|
||||||
// resolution is divided according to ccd_pixels_per_system_pixel()
|
|
||||||
unsigned ccd_pixels_per_system_pixel = sensor.ccd_pixels_per_system_pixel();
|
|
||||||
DBG(DBG_io2, "%s: ccd_pixels_per_system_pixel=%d\n", __func__, ccd_pixels_per_system_pixel);
|
|
||||||
|
|
||||||
gl847_setup_sensor(dev, sensor, reg);
|
gl847_setup_sensor(dev, sensor, reg);
|
||||||
|
|
||||||
dev->cmd_set->set_fe(dev, sensor, AFE_SET);
|
dev->cmd_set->set_fe(dev, sensor, AFE_SET);
|
||||||
|
@ -625,10 +621,7 @@ static void gl847_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sens
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned dpiset = session.params.xres * ccd_pixels_per_system_pixel;
|
reg->set16(REG_DPISET, sensor.dpiset_override);
|
||||||
reg->set16(REG_DPISET, dpiset);
|
|
||||||
DBG (DBG_io2, "%s: dpiset used=%d\n", __func__, dpiset);
|
|
||||||
|
|
||||||
reg->set16(REG_STRPIXEL, session.pixel_startx);
|
reg->set16(REG_STRPIXEL, session.pixel_startx);
|
||||||
reg->set16(REG_ENDPIXEL, session.pixel_endx);
|
reg->set16(REG_ENDPIXEL, session.pixel_endx);
|
||||||
|
|
||||||
|
|
|
@ -1163,6 +1163,7 @@ void genesys_init_sensor_tables()
|
||||||
for (const auto& setting : custom_settings) {
|
for (const auto& setting : custom_settings) {
|
||||||
sensor.resolutions = setting.resolutions;
|
sensor.resolutions = setting.resolutions;
|
||||||
sensor.register_dpihw = setting.register_dpihw;
|
sensor.register_dpihw = setting.register_dpihw;
|
||||||
|
sensor.dpiset_override = setting.resolutions.values()[0];
|
||||||
sensor.shading_resolution = setting.register_dpihw;
|
sensor.shading_resolution = setting.register_dpihw;
|
||||||
sensor.exposure_lperiod = setting.exposure_lperiod;
|
sensor.exposure_lperiod = setting.exposure_lperiod;
|
||||||
sensor.exposure = setting.exposure;
|
sensor.exposure = setting.exposure;
|
||||||
|
@ -1298,6 +1299,7 @@ void genesys_init_sensor_tables()
|
||||||
for (const auto& setting : custom_settings) {
|
for (const auto& setting : custom_settings) {
|
||||||
sensor.resolutions = setting.resolutions;
|
sensor.resolutions = setting.resolutions;
|
||||||
sensor.register_dpihw = setting.register_dpihw;
|
sensor.register_dpihw = setting.register_dpihw;
|
||||||
|
sensor.dpiset_override = setting.resolutions.values()[0];
|
||||||
sensor.shading_resolution = setting.register_dpihw;
|
sensor.shading_resolution = setting.register_dpihw;
|
||||||
sensor.exposure_lperiod = setting.exposure_lperiod;
|
sensor.exposure_lperiod = setting.exposure_lperiod;
|
||||||
sensor.exposure = setting.exposure;
|
sensor.exposure = setting.exposure;
|
||||||
|
@ -1422,6 +1424,7 @@ void genesys_init_sensor_tables()
|
||||||
for (const auto& setting : custom_settings) {
|
for (const auto& setting : custom_settings) {
|
||||||
sensor.resolutions = setting.resolutions;
|
sensor.resolutions = setting.resolutions;
|
||||||
sensor.register_dpihw = setting.register_dpihw;
|
sensor.register_dpihw = setting.register_dpihw;
|
||||||
|
sensor.dpiset_override = setting.resolutions.values()[0];
|
||||||
sensor.shading_resolution = setting.register_dpihw;
|
sensor.shading_resolution = setting.register_dpihw;
|
||||||
sensor.exposure_lperiod = setting.exposure_lperiod;
|
sensor.exposure_lperiod = setting.exposure_lperiod;
|
||||||
sensor.exposure = setting.exposure;
|
sensor.exposure = setting.exposure;
|
||||||
|
@ -2254,6 +2257,7 @@ void genesys_init_sensor_tables()
|
||||||
auto base_custom_regs = sensor.custom_regs;
|
auto base_custom_regs = sensor.custom_regs;
|
||||||
for (const CustomSensorSettings& setting : custom_settings) {
|
for (const CustomSensorSettings& setting : custom_settings) {
|
||||||
sensor.resolutions = setting.resolutions;
|
sensor.resolutions = setting.resolutions;
|
||||||
|
sensor.dpiset_override = setting.resolutions.values()[0];
|
||||||
sensor.register_dpihw = setting.register_dpihw;
|
sensor.register_dpihw = setting.register_dpihw;
|
||||||
sensor.shading_resolution = setting.register_dpihw;
|
sensor.shading_resolution = setting.register_dpihw;
|
||||||
sensor.shading_factor = setting.shading_factor;
|
sensor.shading_factor = setting.shading_factor;
|
||||||
|
@ -3442,19 +3446,12 @@ void verify_sensor_tables()
|
||||||
if (sensor.register_dpihw == 0) {
|
if (sensor.register_dpihw == 0) {
|
||||||
throw SaneException("register_dpihw is not defined");
|
throw SaneException("register_dpihw is not defined");
|
||||||
}
|
}
|
||||||
if (sensor.shading_resolution == 0) {
|
|
||||||
throw SaneException("shading_resolution is not defined");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (asic_type == AsicType::GL124 ||
|
|
||||||
asic_type == AsicType::GL841 ||
|
|
||||||
asic_type == AsicType::GL843 ||
|
|
||||||
asic_type == AsicType::GL845 ||
|
|
||||||
asic_type == AsicType::GL846)
|
|
||||||
{
|
|
||||||
if (sensor.dpiset_override == 0) {
|
if (sensor.dpiset_override == 0) {
|
||||||
throw SaneException("dpiset_override is not defined");
|
throw SaneException("dpiset_override is not defined");
|
||||||
}
|
}
|
||||||
|
if (sensor.shading_resolution == 0) {
|
||||||
|
throw SaneException("shading_resolution is not defined");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Ładowanie…
Reference in New Issue