kopia lustrzana https://gitlab.com/sane-project/backends
genesys: Simplify sensor setup on gl646
rodzic
a3ad02c8bf
commit
b68fd960e3
|
@ -512,7 +512,6 @@ void CommandSetGl646::init_regs_for_scan_session(Genesys_Device* dev, const Gene
|
||||||
|
|
||||||
uint32_t move = session.params.starty;
|
uint32_t move = session.params.starty;
|
||||||
|
|
||||||
int i, nb;
|
|
||||||
Motor_Master *motor = nullptr;
|
Motor_Master *motor = nullptr;
|
||||||
uint32_t z1, z2;
|
uint32_t z1, z2;
|
||||||
int feedl;
|
int feedl;
|
||||||
|
@ -520,36 +519,21 @@ void CommandSetGl646::init_regs_for_scan_session(Genesys_Device* dev, const Gene
|
||||||
|
|
||||||
/* for the given resolution, search for master
|
/* for the given resolution, search for master
|
||||||
* motor mode setting */
|
* motor mode setting */
|
||||||
i = 0;
|
for (unsigned i = 0; i < sizeof (motor_master) / sizeof (Motor_Master); ++i) {
|
||||||
nb = sizeof (motor_master) / sizeof (Motor_Master);
|
if (dev->model->motor_id == motor_master[i].motor_id &&
|
||||||
while (i < nb)
|
motor_master[i].dpi == session.params.yres &&
|
||||||
{
|
motor_master[i].channels == session.params.channels)
|
||||||
if (dev->model->motor_id == motor_master[i].motor_id
|
{
|
||||||
&& motor_master[i].dpi == session.params.yres
|
motor = &motor_master[i];
|
||||||
&& motor_master[i].channels == session.params.channels)
|
}
|
||||||
{
|
|
||||||
motor = &motor_master[i];
|
|
||||||
}
|
|
||||||
i++;
|
|
||||||
}
|
}
|
||||||
if (motor == nullptr)
|
if (motor == nullptr) {
|
||||||
{
|
|
||||||
throw SaneException("unable to find settings for motor %d at %d dpi, color=%d",
|
throw SaneException("unable to find settings for motor %d at %d dpi, color=%d",
|
||||||
static_cast<unsigned>(dev->model->motor_id),
|
static_cast<unsigned>(dev->model->motor_id),
|
||||||
session.params.yres, session.params.channels);
|
session.params.yres, session.params.channels);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* now we can search for the specific sensor settings */
|
scanner_setup_sensor(*dev, sensor, *regs);
|
||||||
i = 0;
|
|
||||||
|
|
||||||
// now apply values from settings to registers
|
|
||||||
regs->set16(REG_EXPR, sensor.exposure.red);
|
|
||||||
regs->set16(REG_EXPG, sensor.exposure.green);
|
|
||||||
regs->set16(REG_EXPB, sensor.exposure.blue);
|
|
||||||
|
|
||||||
for (const auto& reg : sensor.custom_regs) {
|
|
||||||
regs->set8(reg.address, reg.value);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* now generate slope tables : we are not using generate_slope_table3 yet */
|
/* now generate slope tables : we are not using generate_slope_table3 yet */
|
||||||
auto slope_table1 = create_slope_table(motor->slope1, motor->slope1.max_speed_w, StepType::FULL,
|
auto slope_table1 = create_slope_table(motor->slope1, motor->slope1.max_speed_w, StepType::FULL,
|
||||||
|
|
Ładowanie…
Reference in New Issue