kopia lustrzana https://gitlab.com/sane-project/backends
genesys: Don't ignore stagger or color offsets when acquiring calib data
rodzic
00d528b28c
commit
1a55cc99e4
|
@ -517,14 +517,22 @@ enum class ScanFlag : unsigned
|
|||
DISABLE_SHADING = 1 << 1,
|
||||
DISABLE_GAMMA = 1 << 2,
|
||||
DISABLE_BUFFER_FULL_MOVE = 1 << 3,
|
||||
IGNORE_LINE_DISTANCE = 1 << 4,
|
||||
DISABLE_LAMP = 1 << 5,
|
||||
CALIBRATION = 1 << 6,
|
||||
FEEDING = 1 << 7,
|
||||
USE_XPA = 1 << 8,
|
||||
ENABLE_LEDADD = 1 << 9,
|
||||
USE_XCORRECTION = 1 << 10,
|
||||
REVERSE = 1 << 11,
|
||||
|
||||
// if this flag is set the sensor will always be handled ignoring staggering of multiple
|
||||
// sensors to achieve high resolution.
|
||||
IGNORE_STAGGER_OFFSET = 1 << 4,
|
||||
|
||||
// if this flag is set the sensor will always be handled as if the components that scan
|
||||
// different colors are at the same position.
|
||||
IGNORE_COLOR_OFFSET = 1 << 5,
|
||||
|
||||
DISABLE_LAMP = 1 << 6,
|
||||
CALIBRATION = 1 << 7,
|
||||
FEEDING = 1 << 8,
|
||||
USE_XPA = 1 << 9,
|
||||
ENABLE_LEDADD = 1 << 10,
|
||||
USE_XCORRECTION = 1 << 11,
|
||||
REVERSE = 1 << 12,
|
||||
};
|
||||
|
||||
inline ScanFlag operator|(ScanFlag left, ScanFlag right)
|
||||
|
|
|
@ -896,7 +896,8 @@ void scanner_move(Genesys_Device& dev, ScanMethod scan_method, unsigned steps, D
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::FEEDING |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
|
||||
if (dev.model->asic_type == AsicType::GL124) {
|
||||
session.params.flags |= ScanFlag::DISABLE_BUFFER_FULL_MOVE;
|
||||
|
@ -1040,7 +1041,8 @@ void scanner_move_back_home(Genesys_Device& dev, bool wait_until_home)
|
|||
|
||||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE |
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET |
|
||||
ScanFlag::REVERSE;
|
||||
|
||||
if (dev.model->asic_type == AsicType::GL843) {
|
||||
|
@ -1180,7 +1182,8 @@ void scanner_move_back_home_ta(Genesys_Device& dev)
|
|||
|
||||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE |
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET |
|
||||
ScanFlag::REVERSE;
|
||||
|
||||
compute_session(&dev, session, sensor);
|
||||
|
|
|
@ -1095,7 +1095,6 @@ void CommandSetGl124::search_start_position(Genesys_Device* dev) const
|
|||
session.params.color_filter = ColorFilter::GREEN;
|
||||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE |
|
||||
ScanFlag::DISABLE_BUFFER_FULL_MOVE;
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
|
@ -1159,7 +1158,8 @@ void CommandSetGl124::init_regs_for_coarse_calibration(Genesys_Device* dev,
|
|||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::FEEDING |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, sensor, ®s, session);
|
||||
|
@ -1218,8 +1218,7 @@ void CommandSetGl124::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
|
|||
session.params.color_filter = ColorFilter::RED;
|
||||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::DISABLE_BUFFER_FULL_MOVE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::DISABLE_BUFFER_FULL_MOVE;
|
||||
compute_session(dev, session, calib_sensor);
|
||||
|
||||
try {
|
||||
|
@ -1446,7 +1445,8 @@ static void move_to_calibration_area(Genesys_Device* dev, const Genesys_Sensor&
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, move_sensor);
|
||||
|
||||
dev->cmd_set->init_regs_for_scan_session(dev, move_sensor, ®s, session);
|
||||
|
@ -1522,7 +1522,8 @@ SensorExposure CommandSetGl124::led_calibration(Genesys_Device* dev, const Genes
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, calib_sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, calib_sensor, ®s, session);
|
||||
|
@ -1681,7 +1682,8 @@ void CommandSetGl124::offset_calibration(Genesys_Device* dev, const Genesys_Sens
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, sensor, ®s, session);
|
||||
|
@ -1831,7 +1833,8 @@ void CommandSetGl124::coarse_gain_calibration(Genesys_Device* dev, const Genesys
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
try {
|
||||
|
@ -1939,7 +1942,8 @@ void CommandSetGl124::init_regs_for_warmup(Genesys_Device* dev, const Genesys_Se
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, sensor, reg, session);
|
||||
|
|
|
@ -2318,7 +2318,6 @@ void CommandSetGl841::search_start_position(Genesys_Device* dev) const
|
|||
session.params.color_filter = ColorFilter::GREEN;
|
||||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE |
|
||||
ScanFlag::DISABLE_BUFFER_FULL_MOVE;
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
|
@ -2381,7 +2380,8 @@ void CommandSetGl841::init_regs_for_coarse_calibration(Genesys_Device* dev,
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, sensor, ®s, session);
|
||||
|
@ -2440,9 +2440,7 @@ void CommandSetGl841::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
|
|||
session.params.scan_mode = ScanColorMode::COLOR_SINGLE_PASS;
|
||||
session.params.color_filter = dev->settings.color_filter;
|
||||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
/*ScanFlag::DISABLE_BUFFER_FULL_MOVE |*/
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::DISABLE_GAMMA;
|
||||
compute_session(dev, session, calib_sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, calib_sensor, ®s, session);
|
||||
|
@ -2534,7 +2532,8 @@ SensorExposure CommandSetGl841::led_calibration(Genesys_Device* dev, const Genes
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, calib_sensor_base);
|
||||
|
||||
init_regs_for_scan_session(dev, calib_sensor_base, ®s, session);
|
||||
|
@ -2728,7 +2727,8 @@ static void ad_fe_offset_calibration(Genesys_Device* dev, const Genesys_Sensor&
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, calib_sensor);
|
||||
|
||||
dev->cmd_set->init_regs_for_scan_session(dev, calib_sensor, ®s, session);
|
||||
|
@ -2853,7 +2853,8 @@ void CommandSetGl841::offset_calibration(Genesys_Device* dev, const Genesys_Sens
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE |
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET |
|
||||
ScanFlag::DISABLE_LAMP;
|
||||
compute_session(dev, session, calib_sensor);
|
||||
|
||||
|
@ -3195,7 +3196,8 @@ void CommandSetGl841::coarse_gain_calibration(Genesys_Device* dev, const Genesys
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, calib_sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, calib_sensor, ®s, session);
|
||||
|
@ -3339,7 +3341,8 @@ void CommandSetGl841::init_regs_for_warmup(Genesys_Device* dev, const Genesys_Se
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, sensor, local_reg, session);
|
||||
|
@ -3452,7 +3455,8 @@ void CommandSetGl841::init(Genesys_Device* dev) const
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, calib_sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, calib_sensor, ®s, session);
|
||||
|
|
|
@ -1514,7 +1514,6 @@ void CommandSetGl843::search_start_position(Genesys_Device* dev) const
|
|||
session.params.color_filter = ColorFilter::GREEN;
|
||||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE |
|
||||
ScanFlag::DISABLE_BUFFER_FULL_MOVE;
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
|
@ -1567,7 +1566,8 @@ void CommandSetGl843::init_regs_for_coarse_calibration(Genesys_Device* dev,
|
|||
ScanFlag flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
|
||||
if (dev->settings.scan_method == ScanMethod::TRANSPARENCY ||
|
||||
dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) {
|
||||
|
@ -1658,8 +1658,7 @@ void CommandSetGl843::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
|
|||
|
||||
ScanFlag flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::DISABLE_BUFFER_FULL_MOVE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::DISABLE_BUFFER_FULL_MOVE;
|
||||
|
||||
if (dev->settings.scan_method == ScanMethod::TRANSPARENCY ||
|
||||
dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED)
|
||||
|
@ -1777,7 +1776,8 @@ SensorExposure CommandSetGl843::led_calibration(Genesys_Device* dev, const Genes
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, calib_sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, calib_sensor, ®s, session);
|
||||
|
@ -1972,7 +1972,8 @@ void CommandSetGl843::offset_calibration(Genesys_Device* dev, const Genesys_Sens
|
|||
ScanFlag flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
|
||||
if (dev->settings.scan_method == ScanMethod::TRANSPARENCY ||
|
||||
dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED)
|
||||
|
@ -2192,7 +2193,8 @@ void CommandSetGl843::coarse_gain_calibration(Genesys_Device* dev, const Genesys
|
|||
ScanFlag flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
|
||||
if (dev->settings.scan_method == ScanMethod::TRANSPARENCY ||
|
||||
dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED)
|
||||
|
@ -2334,7 +2336,8 @@ void CommandSetGl843::init_regs_for_warmup(Genesys_Device* dev, const Genesys_Se
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, calib_sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, calib_sensor, reg, session);
|
||||
|
|
|
@ -867,7 +867,8 @@ void CommandSetGl846::search_start_position(Genesys_Device* dev) const
|
|||
session.params.color_filter = ColorFilter::GREEN;
|
||||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, sensor, &local_reg, session);
|
||||
|
@ -931,7 +932,8 @@ void CommandSetGl846::init_regs_for_coarse_calibration(Genesys_Device* dev,
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, sensor, ®s, session);
|
||||
|
@ -980,8 +982,7 @@ void CommandSetGl846::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
|
|||
session.params.color_filter = dev->settings.color_filter;
|
||||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::DISABLE_BUFFER_FULL_MOVE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::DISABLE_BUFFER_FULL_MOVE;
|
||||
compute_session(dev, session, calib_sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, calib_sensor, ®s, session);
|
||||
|
@ -1199,7 +1200,8 @@ SensorExposure CommandSetGl846::led_calibration(Genesys_Device* dev, const Genes
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, calib_sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, calib_sensor, ®s, session);
|
||||
|
@ -1736,7 +1738,8 @@ void CommandSetGl846::offset_calibration(Genesys_Device* dev, const Genesys_Sens
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, sensor, ®s, session);
|
||||
|
@ -1879,7 +1882,8 @@ void CommandSetGl846::coarse_gain_calibration(Genesys_Device* dev, const Genesys
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
try {
|
||||
|
|
|
@ -874,8 +874,7 @@ void CommandSetGl847::search_start_position(Genesys_Device* dev) const
|
|||
session.params.scan_mode = ScanColorMode::GRAY;
|
||||
session.params.color_filter = ColorFilter::GREEN;
|
||||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::DISABLE_GAMMA;
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, sensor, &local_reg, session);
|
||||
|
@ -939,7 +938,8 @@ void CommandSetGl847::init_regs_for_coarse_calibration(Genesys_Device* dev,
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, sensor, ®s, session);
|
||||
|
@ -982,8 +982,7 @@ void CommandSetGl847::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
|
|||
session.params.color_filter = dev->settings.color_filter;
|
||||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::DISABLE_BUFFER_FULL_MOVE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::DISABLE_BUFFER_FULL_MOVE;
|
||||
compute_session(dev, session, calib_sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, calib_sensor, ®s, session);
|
||||
|
@ -1201,7 +1200,8 @@ SensorExposure CommandSetGl847::led_calibration(Genesys_Device* dev, const Genes
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, calib_sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, calib_sensor, ®s, session);
|
||||
|
@ -1773,7 +1773,8 @@ void CommandSetGl847::offset_calibration(Genesys_Device* dev, const Genesys_Sens
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
init_regs_for_scan_session(dev, sensor, ®s, session);
|
||||
|
@ -1913,7 +1914,8 @@ void CommandSetGl847::coarse_gain_calibration(Genesys_Device* dev, const Genesys
|
|||
session.params.flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
ScanFlag::SINGLE_LINE |
|
||||
ScanFlag::IGNORE_LINE_DISTANCE;
|
||||
ScanFlag::IGNORE_STAGGER_OFFSET |
|
||||
ScanFlag::IGNORE_COLOR_OFFSET;
|
||||
compute_session(dev, session, sensor);
|
||||
|
||||
try {
|
||||
|
|
|
@ -1016,7 +1016,7 @@ void compute_session(const Genesys_Device* dev, ScanSession& s, const Genesys_Se
|
|||
s.output_pixels = (s.optical_pixels * s.output_resolution) / s.optical_resolution;
|
||||
|
||||
s.num_staggered_lines = 0;
|
||||
if (!has_flag(s.params.flags, ScanFlag::IGNORE_LINE_DISTANCE))
|
||||
if (!has_flag(s.params.flags, ScanFlag::IGNORE_STAGGER_OFFSET))
|
||||
{
|
||||
s.num_staggered_lines = sensor.stagger_config.stagger_at_resolution(s.params.xres,
|
||||
s.params.yres);
|
||||
|
@ -1038,7 +1038,7 @@ void compute_session(const Genesys_Device* dev, ScanSession& s, const Genesys_Se
|
|||
s.color_shift_lines_b = (s.color_shift_lines_b * s.params.yres) / dev->motor.base_ydpi;
|
||||
|
||||
s.max_color_shift_lines = 0;
|
||||
if (s.params.channels > 1 && !has_flag(s.params.flags, ScanFlag::IGNORE_LINE_DISTANCE)) {
|
||||
if (s.params.channels > 1 && !has_flag(s.params.flags, ScanFlag::IGNORE_COLOR_OFFSET)) {
|
||||
s.max_color_shift_lines = std::max(s.color_shift_lines_r, std::max(s.color_shift_lines_g,
|
||||
s.color_shift_lines_b));
|
||||
}
|
||||
|
|
Ładowanie…
Reference in New Issue