kopia lustrzana https://gitlab.com/sane-project/backends
genesys: Reduce duplication of slope upload on gl646
rodzic
6626453804
commit
98dbd206ee
|
@ -63,6 +63,10 @@ namespace {
|
||||||
constexpr unsigned CALIBRATION_LINES = 10;
|
constexpr unsigned CALIBRATION_LINES = 10;
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
static void gl646_send_slope_table(Genesys_Device* dev, int table_nr,
|
||||||
|
const std::vector<uint16_t>& slope_table,
|
||||||
|
int steps);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* reads value from gpio endpoint
|
* reads value from gpio endpoint
|
||||||
*/
|
*/
|
||||||
|
@ -177,9 +181,7 @@ static int get_cksel(SensorId sensor_id, int required, unsigned channels)
|
||||||
static void gl646_setup_registers(Genesys_Device* dev,
|
static void gl646_setup_registers(Genesys_Device* dev,
|
||||||
const Genesys_Sensor& sensor,
|
const Genesys_Sensor& sensor,
|
||||||
Genesys_Register_Set* regs,
|
Genesys_Register_Set* regs,
|
||||||
const ScanSession& session,
|
const ScanSession& session)
|
||||||
std::vector<uint16_t>& slope_table1,
|
|
||||||
std::vector<uint16_t>& slope_table2)
|
|
||||||
{
|
{
|
||||||
DBG_HELPER(dbg);
|
DBG_HELPER(dbg);
|
||||||
session.assert_computed();
|
session.assert_computed();
|
||||||
|
@ -229,6 +231,7 @@ static void gl646_setup_registers(Genesys_Device* dev,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* now generate slope tables : we are not using generate_slope_table3 yet */
|
/* now generate slope tables : we are not using generate_slope_table3 yet */
|
||||||
|
std::vector<std::uint16_t> slope_table1, slope_table2;
|
||||||
sanei_genesys_generate_slope_table (slope_table1, motor->steps1,
|
sanei_genesys_generate_slope_table (slope_table1, motor->steps1,
|
||||||
motor->steps1 + 1, motor->vend1,
|
motor->steps1 + 1, motor->vend1,
|
||||||
motor->vstart1, motor->vend1,
|
motor->vstart1, motor->vend1,
|
||||||
|
@ -565,6 +568,9 @@ static void gl646_setup_registers(Genesys_Device* dev,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gl646_send_slope_table(dev, 0, slope_table1, regs->get8(0x21));
|
||||||
|
gl646_send_slope_table(dev, 1, slope_table2, regs->get8(0x6b));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1763,15 +1769,8 @@ void CommandSetGl646::init_regs_for_scan(Genesys_Device* dev, const Genesys_Sens
|
||||||
|
|
||||||
ScanSession session = calculate_scan_session(dev, sensor, dev->settings);
|
ScanSession session = calculate_scan_session(dev, sensor, dev->settings);
|
||||||
|
|
||||||
std::vector<uint16_t> slope_table0;
|
|
||||||
std::vector<uint16_t> slope_table1;
|
|
||||||
|
|
||||||
// set up correct values for scan (gamma and shading enabled)
|
// set up correct values for scan (gamma and shading enabled)
|
||||||
gl646_setup_registers(dev, sensor, &dev->reg, session, slope_table0, slope_table1);
|
gl646_setup_registers(dev, sensor, &dev->reg, session);
|
||||||
|
|
||||||
// send computed slope tables
|
|
||||||
gl646_send_slope_table(dev, 0, slope_table0, dev->reg.get8(0x21));
|
|
||||||
gl646_send_slope_table(dev, 1, slope_table1, dev->reg.get8(0x6b));
|
|
||||||
|
|
||||||
/* gamma is only enabled at final scan time */
|
/* gamma is only enabled at final scan time */
|
||||||
if (dev->settings.depth < 16) {
|
if (dev->settings.depth < 16) {
|
||||||
|
@ -1859,15 +1858,8 @@ static void setup_for_scan(Genesys_Device* dev,
|
||||||
}
|
}
|
||||||
compute_session(dev, session, sensor);
|
compute_session(dev, session, sensor);
|
||||||
|
|
||||||
std::vector<uint16_t> slope_table0;
|
|
||||||
std::vector<uint16_t> slope_table1;
|
|
||||||
|
|
||||||
// set up correct values for scan (gamma and shading enabled)
|
// set up correct values for scan (gamma and shading enabled)
|
||||||
gl646_setup_registers(dev, sensor, regs, session, slope_table0, slope_table1);
|
gl646_setup_registers(dev, sensor, regs, session);
|
||||||
|
|
||||||
// send computed slope tables
|
|
||||||
gl646_send_slope_table(dev, 0, slope_table0, regs->get8(0x21));
|
|
||||||
gl646_send_slope_table(dev, 1, slope_table1, regs->get8(0x6b));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Ładowanie…
Reference in New Issue