kopia lustrzana https://gitlab.com/sane-project/backends
Merge branch 'genesys-sensor-width' into 'master'
genesys: Define sensor width in mm See merge request sane-project/backends!343merge-requests/340/head
commit
881b17c65f
|
@ -150,6 +150,9 @@ struct Genesys_Model
|
|||
// The size of the scan area that is used to acquire dark/white shading data in mm
|
||||
float y_size_calib_dark_white_mm = 0;
|
||||
|
||||
// The width of the scan area that is used to acquire shading data
|
||||
float x_size_calib_mm = 0;
|
||||
|
||||
// Start of black mark in mm
|
||||
float x_offset_calib_black = 0;
|
||||
|
||||
|
|
|
@ -2620,10 +2620,9 @@ static void genesys_flatbed_calibration(Genesys_Device* dev, Genesys_Sensor& sen
|
|||
if (!has_flag(dev->model->flags, ModelFlag::SIS_SENSOR)) {
|
||||
pixels_per_line = static_cast<std::uint32_t>((dev->model->x_size * dev->settings.xres) /
|
||||
MM_PER_INCH);
|
||||
}
|
||||
else
|
||||
{
|
||||
pixels_per_line = sensor.sensor_pixels;
|
||||
} else {
|
||||
pixels_per_line = static_cast<std::uint32_t>((dev->model->x_size_calib_mm * dev->settings.xres)
|
||||
/ MM_PER_INCH);
|
||||
}
|
||||
|
||||
// send default shading data
|
||||
|
@ -2762,7 +2761,7 @@ static void genesys_sheetfed_calibration(Genesys_Device* dev, Genesys_Sensor& se
|
|||
* with black point in white shading, build an average black
|
||||
* pixel and use it to fill the dark_average
|
||||
* dev->calib_pixels
|
||||
(sensor.sensor_pixels * dev->settings.xres) / sensor.optical_res,
|
||||
(sensor.x_size_calib_mm * dev->settings.xres) / MM_PER_INCH,
|
||||
dev->calib_lines,
|
||||
*/
|
||||
}
|
||||
|
@ -4318,7 +4317,7 @@ static void probe_genesys_devices()
|
|||
of Genesys_Calibration_Cache as is.
|
||||
*/
|
||||
static const char* CALIBRATION_IDENT = "sane_genesys";
|
||||
static const int CALIBRATION_VERSION = 26;
|
||||
static const int CALIBRATION_VERSION = 27;
|
||||
|
||||
bool read_calibration(std::istream& str, Genesys_Device::Calibration& calibration,
|
||||
const std::string& path)
|
||||
|
|
|
@ -1152,7 +1152,6 @@ void CommandSetGl124::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
|
|||
|
||||
const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, channels,
|
||||
dev->settings.scan_method);
|
||||
unsigned factor = calib_sensor.optical_res / resolution;
|
||||
|
||||
/* distance to move to reach white target at high resolution */
|
||||
unsigned move=0;
|
||||
|
@ -1167,7 +1166,7 @@ void CommandSetGl124::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
|
|||
session.params.yres = resolution;
|
||||
session.params.startx = 0;
|
||||
session.params.starty = move;
|
||||
session.params.pixels = calib_sensor.sensor_pixels / factor;
|
||||
session.params.pixels = dev->model->x_size_calib_mm * resolution / MM_PER_INCH;
|
||||
session.params.lines = calib_lines;
|
||||
session.params.depth = 16;
|
||||
session.params.channels = channels;
|
||||
|
@ -1377,13 +1376,11 @@ static void move_to_calibration_area(Genesys_Device* dev, const Genesys_Sensor&
|
|||
(void) sensor;
|
||||
|
||||
DBG_HELPER(dbg);
|
||||
int pixels;
|
||||
|
||||
unsigned resolution = 600;
|
||||
unsigned channels = 3;
|
||||
const auto& move_sensor = sanei_genesys_find_sensor(dev, resolution, channels,
|
||||
dev->settings.scan_method);
|
||||
pixels = (move_sensor.sensor_pixels * 600) / move_sensor.optical_res;
|
||||
|
||||
/* initial calibration reg values */
|
||||
regs = dev->reg;
|
||||
|
@ -1393,7 +1390,7 @@ static void move_to_calibration_area(Genesys_Device* dev, const Genesys_Sensor&
|
|||
session.params.yres = resolution;
|
||||
session.params.startx = 0;
|
||||
session.params.starty = 0;
|
||||
session.params.pixels = pixels;
|
||||
session.params.pixels = dev->model->x_size_calib_mm * resolution / MM_PER_INCH;
|
||||
session.params.lines = 1;
|
||||
session.params.depth = 8;
|
||||
session.params.channels = channels;
|
||||
|
@ -1440,7 +1437,6 @@ SensorExposure CommandSetGl124::led_calibration(Genesys_Device* dev, const Genes
|
|||
Genesys_Register_Set& regs) const
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
int num_pixels;
|
||||
int resolution;
|
||||
int dpihw;
|
||||
int i;
|
||||
|
@ -1460,7 +1456,6 @@ SensorExposure CommandSetGl124::led_calibration(Genesys_Device* dev, const Genes
|
|||
|
||||
const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, channels,
|
||||
dev->settings.scan_method);
|
||||
num_pixels = (calib_sensor.sensor_pixels * resolution) / calib_sensor.optical_res;
|
||||
|
||||
/* initial calibration reg values */
|
||||
regs = dev->reg;
|
||||
|
@ -1470,7 +1465,7 @@ SensorExposure CommandSetGl124::led_calibration(Genesys_Device* dev, const Genes
|
|||
session.params.yres = resolution;
|
||||
session.params.startx = 0;
|
||||
session.params.starty = 0;
|
||||
session.params.pixels = num_pixels;
|
||||
session.params.pixels = dev->model->x_size_calib_mm * resolution / MM_PER_INCH;;
|
||||
session.params.lines = 1;
|
||||
session.params.depth = 16;
|
||||
session.params.channels = channels;
|
||||
|
@ -1610,7 +1605,7 @@ void CommandSetGl124::offset_calibration(Genesys_Device* dev, const Genesys_Sens
|
|||
unsigned channels;
|
||||
int pass = 0, avg;
|
||||
int topavg, bottomavg, lines;
|
||||
int top, bottom, black_pixels, pixels;
|
||||
int top, bottom, black_pixels;
|
||||
|
||||
// no gain nor offset for TI AFE
|
||||
uint8_t reg0a = dev->interface->read_register(REG_0x0A);
|
||||
|
@ -1621,7 +1616,7 @@ void CommandSetGl124::offset_calibration(Genesys_Device* dev, const Genesys_Sens
|
|||
/* offset calibration is always done in color mode */
|
||||
channels = 3;
|
||||
lines=1;
|
||||
pixels = (sensor.sensor_pixels * sensor.optical_res) / sensor.optical_res;
|
||||
unsigned pixels = dev->model->x_size_calib_mm * sensor.optical_res / MM_PER_INCH;
|
||||
black_pixels = (sensor.black_pixels * sensor.optical_res) / sensor.optical_res;
|
||||
DBG(DBG_io2, "%s: black_pixels=%d\n", __func__, black_pixels);
|
||||
|
||||
|
@ -1754,7 +1749,6 @@ void CommandSetGl124::coarse_gain_calibration(Genesys_Device* dev, const Genesys
|
|||
Genesys_Register_Set& regs, int dpi) const
|
||||
{
|
||||
DBG_HELPER_ARGS(dbg, "dpi = %d", dpi);
|
||||
int pixels;
|
||||
float gain[3],coeff;
|
||||
int code, lines;
|
||||
|
||||
|
@ -1774,14 +1768,13 @@ void CommandSetGl124::coarse_gain_calibration(Genesys_Device* dev, const Genesys
|
|||
coeff = 1.0f;
|
||||
}
|
||||
lines=10;
|
||||
pixels = (sensor.sensor_pixels * sensor.optical_res) / sensor.optical_res;
|
||||
|
||||
ScanSession session;
|
||||
session.params.xres = sensor.optical_res;
|
||||
session.params.yres = sensor.optical_res;
|
||||
session.params.startx = 0;
|
||||
session.params.starty = 0;
|
||||
session.params.pixels = pixels;
|
||||
session.params.pixels = dev->model->x_size_calib_mm * sensor.optical_res / MM_PER_INCH;;
|
||||
session.params.lines = lines;
|
||||
session.params.depth = 8;
|
||||
session.params.channels = channels;
|
||||
|
@ -1888,9 +1881,9 @@ void CommandSetGl124::init_regs_for_warmup(Genesys_Device* dev, const Genesys_Se
|
|||
ScanSession session;
|
||||
session.params.xres = sensor.optical_res;
|
||||
session.params.yres = dev->motor.base_ydpi;
|
||||
session.params.startx = sensor.sensor_pixels / 4;
|
||||
session.params.startx = dev->model->x_size_calib_mm * sensor.optical_res / MM_PER_INCH / 4;
|
||||
session.params.starty = 0;
|
||||
session.params.pixels = sensor.sensor_pixels / 2;
|
||||
session.params.pixels = dev->model->x_size_calib_mm * sensor.optical_res / MM_PER_INCH / 2;
|
||||
session.params.lines = 1;
|
||||
session.params.depth = 8;
|
||||
session.params.channels = *channels;
|
||||
|
|
|
@ -1679,7 +1679,7 @@ void CommandSetGl646::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
|
|||
settings.yres = settings.xres;
|
||||
settings.tl_x = 0;
|
||||
settings.tl_y = 0;
|
||||
settings.pixels = (calib_sensor.sensor_pixels * settings.xres) / calib_sensor.optical_res;
|
||||
settings.pixels = dev->model->x_size_calib_mm * settings.xres / MM_PER_INCH;
|
||||
settings.requested_pixels = settings.pixels;
|
||||
|
||||
unsigned calib_lines =
|
||||
|
@ -1911,7 +1911,7 @@ SensorExposure CommandSetGl646::led_calibration(Genesys_Device* dev, const Genes
|
|||
settings.yres = resolution;
|
||||
settings.tl_x = 0;
|
||||
settings.tl_y = 0;
|
||||
settings.pixels = (sensor.sensor_pixels * resolution) / sensor.optical_res;
|
||||
settings.pixels = dev->model->x_size_calib_mm * resolution / MM_PER_INCH;
|
||||
settings.requested_pixels = settings.pixels;
|
||||
settings.lines = 1;
|
||||
settings.depth = 16;
|
||||
|
@ -2085,7 +2085,7 @@ static void ad_fe_offset_calibration(Genesys_Device* dev, const Genesys_Sensor&
|
|||
settings.yres = resolution;
|
||||
settings.tl_x = 0;
|
||||
settings.tl_y = 0;
|
||||
settings.pixels = (calib_sensor.sensor_pixels * resolution) / calib_sensor.optical_res;
|
||||
settings.pixels = dev->model->x_size_calib_mm * resolution / MM_PER_INCH;
|
||||
settings.requested_pixels = settings.pixels;
|
||||
settings.lines = CALIBRATION_LINES;
|
||||
settings.depth = 8;
|
||||
|
@ -2196,7 +2196,7 @@ void CommandSetGl646::offset_calibration(Genesys_Device* dev, const Genesys_Sens
|
|||
settings.yres = resolution;
|
||||
settings.tl_x = 0;
|
||||
settings.tl_y = 0;
|
||||
settings.pixels = (calib_sensor.sensor_pixels * resolution) / calib_sensor.optical_res;
|
||||
settings.pixels = dev->model->x_size_calib_mm * resolution / MM_PER_INCH;
|
||||
settings.requested_pixels = settings.pixels;
|
||||
settings.lines = CALIBRATION_LINES;
|
||||
settings.depth = 8;
|
||||
|
@ -2332,7 +2332,7 @@ static void ad_fe_coarse_gain_calibration(Genesys_Device* dev, const Genesys_Sen
|
|||
settings.yres = resolution;
|
||||
settings.tl_x = 0;
|
||||
settings.tl_y = 0;
|
||||
settings.pixels = (calib_sensor.sensor_pixels * resolution) / calib_sensor.optical_res;
|
||||
settings.pixels = dev->model->x_size_calib_mm * resolution / MM_PER_INCH;
|
||||
settings.requested_pixels = settings.pixels;
|
||||
settings.lines = CALIBRATION_LINES;
|
||||
settings.depth = 8;
|
||||
|
@ -2439,7 +2439,7 @@ void CommandSetGl646::coarse_gain_calibration(Genesys_Device* dev, const Genesys
|
|||
if (settings.scan_method == ScanMethod::FLATBED)
|
||||
{
|
||||
settings.tl_x = 0;
|
||||
settings.pixels = (calib_sensor.sensor_pixels * resolution) / calib_sensor.optical_res;
|
||||
settings.pixels = dev->model->x_size_calib_mm * resolution / MM_PER_INCH;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -2588,7 +2588,7 @@ void CommandSetGl646::init_regs_for_warmup(Genesys_Device* dev, const Genesys_Se
|
|||
settings.yres = resolution;
|
||||
settings.tl_x = 0;
|
||||
settings.tl_y = 0;
|
||||
settings.pixels = (local_sensor.sensor_pixels * resolution) / local_sensor.optical_res;
|
||||
settings.pixels = dev->model->x_size_calib_mm * resolution / MM_PER_INCH;
|
||||
settings.requested_pixels = settings.pixels;
|
||||
settings.lines = 2;
|
||||
settings.depth = 8;
|
||||
|
@ -2710,7 +2710,9 @@ void CommandSetGl646::init(Genesys_Device* dev) const
|
|||
gl646_init_regs (dev);
|
||||
|
||||
// Init shading data
|
||||
sanei_genesys_init_shading_data(dev, sensor, sensor.sensor_pixels);
|
||||
sanei_genesys_init_shading_data(dev, sensor,
|
||||
dev->model->x_size_calib_mm * sensor.optical_res /
|
||||
MM_PER_INCH);
|
||||
|
||||
dev->initial_regs = dev->reg;
|
||||
}
|
||||
|
@ -2990,7 +2992,7 @@ static void simple_move(Genesys_Device* dev, SANE_Int distance)
|
|||
settings.yres = resolution;
|
||||
settings.tl_y = 0;
|
||||
settings.tl_x = 0;
|
||||
settings.pixels = (sensor.sensor_pixels * settings.xres) / sensor.optical_res;
|
||||
settings.pixels = dev->model->x_size_calib_mm * settings.xres / MM_PER_INCH;
|
||||
settings.requested_pixels = settings.pixels;
|
||||
settings.lines = static_cast<unsigned>((distance * settings.xres) / MM_PER_INCH);
|
||||
settings.depth = 8;
|
||||
|
|
|
@ -410,14 +410,15 @@ gl841_init_registers (Genesys_Device * dev)
|
|||
dev->reg.find_reg(0x05).value = 0x00; /* disable gamma, 24 clocks/pixel */
|
||||
|
||||
unsigned dpihw = 0;
|
||||
if (sensor.sensor_pixels < 0x1500) {
|
||||
unsigned sensor_pixels = dev->model->x_size_calib_mm * sensor.optical_res / MM_PER_INCH;
|
||||
if (sensor_pixels < 0x1500) {
|
||||
dpihw = 600;
|
||||
} else if (sensor.sensor_pixels < 0x2a80) {
|
||||
} else if (sensor_pixels < 0x2a80) {
|
||||
dpihw = 1200;
|
||||
} else if (sensor.sensor_pixels < 0x5400) {
|
||||
} else if (sensor_pixels < 0x5400) {
|
||||
dpihw = 2400;
|
||||
} else {
|
||||
throw SaneException("Cannot handle sensor pixel count %d", sensor.sensor_pixels);
|
||||
throw SaneException("Cannot handle sensor pixel count %d", sensor_pixels);
|
||||
}
|
||||
sanei_genesys_set_dpihw(dev->reg, sensor, dpihw);
|
||||
|
||||
|
@ -2305,7 +2306,6 @@ void CommandSetGl841::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
|
|||
unsigned channels = 3;
|
||||
|
||||
unsigned resolution = sensor.get_logical_hwdpi(dev->settings.xres);
|
||||
unsigned factor = sensor.optical_res / resolution;
|
||||
|
||||
const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, channels,
|
||||
dev->settings.scan_method);
|
||||
|
@ -2319,7 +2319,7 @@ void CommandSetGl841::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
|
|||
session.params.yres = resolution;
|
||||
session.params.startx = 0;
|
||||
session.params.starty = starty;
|
||||
session.params.pixels = calib_sensor.sensor_pixels / factor;
|
||||
session.params.pixels = dev->model->x_size_calib_mm * resolution / MM_PER_INCH;
|
||||
session.params.lines = calib_lines;
|
||||
session.params.depth = 16;
|
||||
session.params.channels = channels;
|
||||
|
@ -2374,7 +2374,6 @@ SensorExposure CommandSetGl841::led_calibration(Genesys_Device* dev, const Genes
|
|||
Genesys_Register_Set& regs) const
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
int num_pixels;
|
||||
int i;
|
||||
int avg[3], avga, avge;
|
||||
int turn;
|
||||
|
@ -2395,19 +2394,16 @@ SensorExposure CommandSetGl841::led_calibration(Genesys_Device* dev, const Genes
|
|||
unsigned channels = 3;
|
||||
|
||||
unsigned resolution = sensor.get_logical_hwdpi(dev->settings.xres);
|
||||
unsigned factor = sensor.optical_res / resolution;
|
||||
|
||||
const auto& calib_sensor_base = sanei_genesys_find_sensor(dev, resolution, channels,
|
||||
dev->settings.scan_method);
|
||||
|
||||
num_pixels = calib_sensor_base.sensor_pixels / factor;
|
||||
|
||||
ScanSession session;
|
||||
session.params.xres = resolution;
|
||||
session.params.yres = dev->settings.yres;
|
||||
session.params.startx = 0;
|
||||
session.params.starty = 0;
|
||||
session.params.pixels = num_pixels;
|
||||
session.params.pixels = dev->model->x_size_calib_mm * resolution / MM_PER_INCH;
|
||||
session.params.lines = 1;
|
||||
session.params.depth = 16;
|
||||
session.params.channels = channels;
|
||||
|
@ -2577,7 +2573,6 @@ static void ad_fe_offset_calibration(Genesys_Device* dev, const Genesys_Sensor&
|
|||
Genesys_Register_Set& regs)
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
int num_pixels;
|
||||
int average;
|
||||
int turn;
|
||||
int top;
|
||||
|
@ -2590,13 +2585,11 @@ static void ad_fe_offset_calibration(Genesys_Device* dev, const Genesys_Sensor&
|
|||
}
|
||||
|
||||
unsigned resolution = sensor.get_logical_hwdpi(dev->settings.xres);
|
||||
unsigned factor = sensor.optical_res / resolution;
|
||||
|
||||
const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, 3,
|
||||
dev->settings.scan_method);
|
||||
|
||||
num_pixels = calib_sensor.sensor_pixels / factor;
|
||||
|
||||
unsigned num_pixels = dev->model->x_size_calib_mm * resolution / MM_PER_INCH;
|
||||
ScanSession session;
|
||||
session.params.xres = resolution;
|
||||
session.params.yres = dev->settings.yres;
|
||||
|
@ -2700,7 +2693,6 @@ void CommandSetGl841::offset_calibration(Genesys_Device* dev, const Genesys_Sens
|
|||
Genesys_Register_Set& regs) const
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
int num_pixels;
|
||||
int off[3],offh[3],offl[3],off1[3],off2[3];
|
||||
int min1[3],min2[3];
|
||||
unsigned cmin[3],cmax[3];
|
||||
|
@ -2717,19 +2709,16 @@ void CommandSetGl841::offset_calibration(Genesys_Device* dev, const Genesys_Sens
|
|||
unsigned channels = 3;
|
||||
|
||||
unsigned resolution = sensor.get_logical_hwdpi(dev->settings.xres);
|
||||
unsigned factor = sensor.optical_res / resolution;
|
||||
|
||||
const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, channels,
|
||||
dev->settings.scan_method);
|
||||
|
||||
num_pixels = calib_sensor.sensor_pixels / factor;
|
||||
|
||||
ScanSession session;
|
||||
session.params.xres = resolution;
|
||||
session.params.yres = dev->settings.yres;
|
||||
session.params.startx = 0;
|
||||
session.params.starty = 0;
|
||||
session.params.pixels = num_pixels;
|
||||
session.params.pixels = dev->model->x_size_calib_mm * resolution / MM_PER_INCH;
|
||||
session.params.lines = 1;
|
||||
session.params.depth = 16;
|
||||
session.params.channels = channels;
|
||||
|
@ -3043,7 +3032,6 @@ void CommandSetGl841::coarse_gain_calibration(Genesys_Device* dev, const Genesys
|
|||
Genesys_Register_Set& regs, int dpi) const
|
||||
{
|
||||
DBG_HELPER_ARGS(dbg, "dpi=%d", dpi);
|
||||
int num_pixels;
|
||||
float gain[3];
|
||||
int lines=1;
|
||||
|
||||
|
@ -3058,12 +3046,11 @@ void CommandSetGl841::coarse_gain_calibration(Genesys_Device* dev, const Genesys
|
|||
unsigned channels = 3;
|
||||
|
||||
unsigned resolution = sensor.get_logical_hwdpi(dev->settings.xres);
|
||||
unsigned factor = sensor.optical_res / resolution;
|
||||
|
||||
const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, channels,
|
||||
dev->settings.scan_method);
|
||||
|
||||
num_pixels = calib_sensor.sensor_pixels / factor;
|
||||
unsigned num_pixels = dev->model->x_size_calib_mm * resolution / MM_PER_INCH;
|
||||
|
||||
ScanSession session;
|
||||
session.params.xres = resolution;
|
||||
|
@ -3298,7 +3285,8 @@ void CommandSetGl841::init(Genesys_Device* dev) const
|
|||
dev->cmd_set->move_back_home(dev, true);
|
||||
|
||||
// Init shading data
|
||||
sanei_genesys_init_shading_data(dev, sensor, sensor.sensor_pixels);
|
||||
unsigned sensor_pixels = dev->model->x_size_calib_mm * sensor.optical_res / MM_PER_INCH;
|
||||
sanei_genesys_init_shading_data(dev, sensor, sensor_pixels);
|
||||
|
||||
/* ensure head is correctly parked, and check lock */
|
||||
if (has_flag(dev->model->flags, ModelFlag::REPARK)) {
|
||||
|
@ -3414,7 +3402,7 @@ void CommandSetGl841::search_strip(Genesys_Device* dev, const Genesys_Sensor& se
|
|||
bool black) const
|
||||
{
|
||||
DBG_HELPER_ARGS(dbg, "%s %s", black ? "black" : "white", forward ? "forward" : "reverse");
|
||||
unsigned int pixels, lines, channels;
|
||||
unsigned lines, channels;
|
||||
Genesys_Register_Set local_reg;
|
||||
unsigned int pass, count, found, length;
|
||||
char title[80];
|
||||
|
@ -3443,8 +3431,6 @@ void CommandSetGl841::search_strip(Genesys_Device* dev, const Genesys_Sensor& se
|
|||
lines = 10; // TODO: use dev->model->search_lines
|
||||
lines = static_cast<unsigned>((lines * dpi) / MM_PER_INCH);
|
||||
|
||||
pixels = (sensor.sensor_pixels * dpi) / sensor.optical_res;
|
||||
|
||||
/* 20 cm max length for calibration sheet */
|
||||
length = static_cast<unsigned>(((200 * dpi) / MM_PER_INCH) / lines);
|
||||
|
||||
|
@ -3457,7 +3443,7 @@ void CommandSetGl841::search_strip(Genesys_Device* dev, const Genesys_Sensor& se
|
|||
session.params.yres = dpi;
|
||||
session.params.startx = 0;
|
||||
session.params.starty = 0;
|
||||
session.params.pixels = pixels;
|
||||
session.params.pixels = dev->model->x_size_calib_mm * dpi / MM_PER_INCH;
|
||||
session.params.lines = lines;
|
||||
session.params.depth = 8;
|
||||
session.params.channels = channels;
|
||||
|
|
|
@ -1576,7 +1576,7 @@ void CommandSetGl843::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
|
|||
Genesys_Register_Set& regs) const
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
int move, resolution, dpihw, factor;
|
||||
int move;
|
||||
|
||||
float calib_size_mm = 0;
|
||||
if (dev->settings.scan_method == ScanMethod::TRANSPARENCY ||
|
||||
|
@ -1587,9 +1587,7 @@ void CommandSetGl843::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
|
|||
calib_size_mm = dev->model->y_size_calib_mm;
|
||||
}
|
||||
|
||||
dpihw = sensor.get_logical_hwdpi(dev->settings.xres);
|
||||
factor=sensor.optical_res/dpihw;
|
||||
resolution=dpihw;
|
||||
unsigned resolution = sensor.get_logical_hwdpi(dev->settings.xres);
|
||||
|
||||
unsigned channels = 3;
|
||||
const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, channels,
|
||||
|
@ -1611,7 +1609,7 @@ void CommandSetGl843::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
|
|||
calib_pixels = static_cast<std::size_t>(size);
|
||||
} else {
|
||||
calib_pixels_offset = 0;
|
||||
calib_pixels = calib_sensor.sensor_pixels / factor;
|
||||
calib_pixels = dev->model->x_size_calib_mm * resolution / MM_PER_INCH;
|
||||
}
|
||||
|
||||
ScanFlag flags = ScanFlag::DISABLE_SHADING |
|
||||
|
@ -1703,7 +1701,6 @@ SensorExposure CommandSetGl843::led_calibration(Genesys_Device* dev, const Genes
|
|||
Genesys_Register_Set& regs) const
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
int num_pixels;
|
||||
int avg[3], avga, avge;
|
||||
int turn;
|
||||
uint16_t expr, expg, expb;
|
||||
|
@ -1715,17 +1712,15 @@ SensorExposure CommandSetGl843::led_calibration(Genesys_Device* dev, const Genes
|
|||
auto calib_sensor = sanei_genesys_find_sensor(dev, sensor.optical_res, channels,
|
||||
dev->settings.scan_method);
|
||||
|
||||
num_pixels = (calib_sensor.sensor_pixels * calib_sensor.optical_res) / calib_sensor.optical_res;
|
||||
|
||||
/* initial calibration reg values */
|
||||
regs = dev->reg;
|
||||
|
||||
ScanSession session;
|
||||
session.params.xres = calib_sensor.sensor_pixels;
|
||||
session.params.xres = calib_sensor.optical_res;
|
||||
session.params.yres = dev->motor.base_ydpi;
|
||||
session.params.startx = 0;
|
||||
session.params.starty = 0;
|
||||
session.params.pixels = num_pixels;
|
||||
session.params.pixels = dev->model->x_size_calib_mm * calib_sensor.optical_res / MM_PER_INCH;
|
||||
session.params.lines = 1;
|
||||
session.params.depth = 16;
|
||||
session.params.channels = channels;
|
||||
|
@ -1914,7 +1909,7 @@ void CommandSetGl843::offset_calibration(Genesys_Device* dev, const Genesys_Sens
|
|||
const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, channels,
|
||||
dev->settings.scan_method);
|
||||
|
||||
int target_pixels = calib_sensor.sensor_pixels / factor;
|
||||
int target_pixels = dev->model->x_size_calib_mm * resolution / MM_PER_INCH;
|
||||
int start_pixel = 0;
|
||||
black_pixels = calib_sensor.black_pixels / factor;
|
||||
|
||||
|
@ -2122,7 +2117,7 @@ void CommandSetGl843::coarse_gain_calibration(Genesys_Device* dev, const Genesys
|
|||
Genesys_Register_Set& regs, int dpi) const
|
||||
{
|
||||
DBG_HELPER_ARGS(dbg, "dpi = %d", dpi);
|
||||
int factor, dpihw;
|
||||
int dpihw;
|
||||
float coeff;
|
||||
int lines;
|
||||
int resolution;
|
||||
|
@ -2131,7 +2126,6 @@ void CommandSetGl843::coarse_gain_calibration(Genesys_Device* dev, const Genesys
|
|||
return;
|
||||
|
||||
dpihw = sensor.get_logical_hwdpi(dpi);
|
||||
factor=sensor.optical_res/dpihw;
|
||||
|
||||
// coarse gain calibration is always done in color mode
|
||||
unsigned channels = 3;
|
||||
|
@ -2153,7 +2147,6 @@ void CommandSetGl843::coarse_gain_calibration(Genesys_Device* dev, const Genesys
|
|||
}
|
||||
resolution=dpihw;
|
||||
lines=10;
|
||||
int target_pixels = sensor.sensor_pixels / factor;
|
||||
|
||||
ScanFlag flags = ScanFlag::DISABLE_SHADING |
|
||||
ScanFlag::DISABLE_GAMMA |
|
||||
|
@ -2175,7 +2168,7 @@ void CommandSetGl843::coarse_gain_calibration(Genesys_Device* dev, const Genesys
|
|||
session.params.yres = resolution;
|
||||
session.params.startx = 0;
|
||||
session.params.starty = 0;
|
||||
session.params.pixels = target_pixels;
|
||||
session.params.pixels = dev->model->x_size_calib_mm * resolution / MM_PER_INCH;
|
||||
session.params.lines = lines;
|
||||
session.params.depth = 8;
|
||||
session.params.channels = channels;
|
||||
|
@ -2267,10 +2260,8 @@ void CommandSetGl843::init_regs_for_warmup(Genesys_Device* dev, const Genesys_Se
|
|||
int* total_size) const
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
int num_pixels;
|
||||
int dpihw;
|
||||
int resolution;
|
||||
int factor;
|
||||
|
||||
/* setup scan */
|
||||
*channels=3;
|
||||
|
@ -2280,8 +2271,7 @@ void CommandSetGl843::init_regs_for_warmup(Genesys_Device* dev, const Genesys_Se
|
|||
|
||||
const auto& calib_sensor = sanei_genesys_find_sensor(dev, resolution, *channels,
|
||||
dev->settings.scan_method);
|
||||
factor = calib_sensor.optical_res/dpihw;
|
||||
num_pixels = calib_sensor.sensor_pixels/(factor*2);
|
||||
unsigned num_pixels = dev->model->x_size_calib_mm * resolution / MM_PER_INCH / 2;
|
||||
*total_size = num_pixels * 3 * 1;
|
||||
|
||||
*reg = dev->reg;
|
||||
|
@ -2501,7 +2491,7 @@ void CommandSetGl843::search_strip(Genesys_Device* dev, const Genesys_Sensor& se
|
|||
bool forward, bool black) const
|
||||
{
|
||||
DBG_HELPER_ARGS(dbg, "%s %s", black ? "black" : "white", forward ? "forward" : "reverse");
|
||||
unsigned int pixels, channels;
|
||||
unsigned channels;
|
||||
Genesys_Register_Set local_reg;
|
||||
int dpi;
|
||||
unsigned int pass, count, found, x, y;
|
||||
|
@ -2520,7 +2510,7 @@ void CommandSetGl843::search_strip(Genesys_Device* dev, const Genesys_Sensor& se
|
|||
/* lines = (10 * dpi) / MM_PER_INCH; */
|
||||
/* shading calibation is done with dev->motor.base_ydpi */
|
||||
unsigned lines = static_cast<unsigned>(dev->model->y_size_calib_mm * dpi / MM_PER_INCH);
|
||||
pixels = (calib_sensor.sensor_pixels * dpi) / calib_sensor.optical_res;
|
||||
unsigned pixels = dev->model->x_size_calib_mm * dpi / MM_PER_INCH;
|
||||
|
||||
dev->set_head_pos_zero(ScanHeadId::PRIMARY);
|
||||
|
||||
|
|
|
@ -924,8 +924,6 @@ void CommandSetGl846::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
|
|||
|
||||
unsigned calib_lines =
|
||||
static_cast<unsigned>(dev->model->y_size_calib_mm * resolution / MM_PER_INCH);
|
||||
unsigned calib_pixels = (calib_sensor.sensor_pixels * resolution) /
|
||||
calib_sensor.optical_res;
|
||||
|
||||
/* this is aworkaround insufficent distance for slope
|
||||
* motor acceleration TODO special motor slope for shading */
|
||||
|
@ -939,7 +937,7 @@ void CommandSetGl846::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
|
|||
session.params.yres = resolution;
|
||||
session.params.startx = 0;
|
||||
session.params.starty = static_cast<unsigned>(move);
|
||||
session.params.pixels = calib_pixels;
|
||||
session.params.pixels = dev->model->x_size_calib_mm * resolution / MM_PER_INCH;
|
||||
session.params.lines = calib_lines;
|
||||
session.params.depth = 16;
|
||||
session.params.channels = channels;
|
||||
|
@ -1125,7 +1123,6 @@ SensorExposure CommandSetGl846::led_calibration(Genesys_Device* dev, const Genes
|
|||
Genesys_Register_Set& regs) const
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
int num_pixels;
|
||||
int used_res;
|
||||
int i;
|
||||
int avg[3], top[3], bottom[3];
|
||||
|
@ -1146,7 +1143,6 @@ SensorExposure CommandSetGl846::led_calibration(Genesys_Device* dev, const Genes
|
|||
used_res = sensor.get_register_hwdpi(dev->settings.xres);
|
||||
const auto& calib_sensor = sanei_genesys_find_sensor(dev, used_res, channels,
|
||||
dev->settings.scan_method);
|
||||
num_pixels = (calib_sensor.sensor_pixels * used_res) / calib_sensor.optical_res;
|
||||
|
||||
/* initial calibration reg values */
|
||||
regs = dev->reg;
|
||||
|
@ -1156,7 +1152,7 @@ SensorExposure CommandSetGl846::led_calibration(Genesys_Device* dev, const Genes
|
|||
session.params.yres = used_res;
|
||||
session.params.startx = 0;
|
||||
session.params.starty = 0;
|
||||
session.params.pixels = num_pixels;
|
||||
session.params.pixels = dev->model->x_size_calib_mm * used_res / MM_PER_INCH;
|
||||
session.params.lines = 1;
|
||||
session.params.depth = 16;
|
||||
session.params.channels = channels;
|
||||
|
@ -1455,7 +1451,7 @@ void CommandSetGl846::search_strip(Genesys_Device* dev, const Genesys_Sensor& se
|
|||
bool black) const
|
||||
{
|
||||
DBG_HELPER_ARGS(dbg, "%s %s", black ? "black" : "white", forward ? "forward" : "reverse");
|
||||
unsigned int pixels, channels;
|
||||
unsigned channels;
|
||||
Genesys_Register_Set local_reg;
|
||||
unsigned int pass, count, found;
|
||||
char title[80];
|
||||
|
@ -1472,7 +1468,6 @@ void CommandSetGl846::search_strip(Genesys_Device* dev, const Genesys_Sensor& se
|
|||
/* lines = (10 * dpi) / MM_PER_INCH; */
|
||||
/* shading calibation is done with dev->motor.base_ydpi */
|
||||
unsigned lines = static_cast<unsigned>(dev->model->y_size_calib_mm * dpi / MM_PER_INCH);
|
||||
pixels = (sensor.sensor_pixels * dpi) / sensor.optical_res;
|
||||
|
||||
dev->set_head_pos_zero(ScanHeadId::PRIMARY);
|
||||
|
||||
|
@ -1483,7 +1478,7 @@ void CommandSetGl846::search_strip(Genesys_Device* dev, const Genesys_Sensor& se
|
|||
session.params.yres = dpi;
|
||||
session.params.startx = 0;
|
||||
session.params.starty = 0;
|
||||
session.params.pixels = pixels;
|
||||
session.params.pixels = dev->model->x_size_calib_mm * dpi / MM_PER_INCH;
|
||||
session.params.lines = lines;
|
||||
session.params.depth = 8;
|
||||
session.params.channels = channels;
|
||||
|
@ -1674,7 +1669,7 @@ void CommandSetGl846::offset_calibration(Genesys_Device* dev, const Genesys_Sens
|
|||
unsigned channels;
|
||||
int pass = 0, avg;
|
||||
int topavg, bottomavg, lines;
|
||||
int top, bottom, black_pixels, pixels;
|
||||
int top, bottom, black_pixels;
|
||||
|
||||
// no gain nor offset for AKM AFE
|
||||
uint8_t reg04 = dev->interface->read_register(REG_0x04);
|
||||
|
@ -1685,7 +1680,7 @@ void CommandSetGl846::offset_calibration(Genesys_Device* dev, const Genesys_Sens
|
|||
/* offset calibration is always done in color mode */
|
||||
channels = 3;
|
||||
lines=1;
|
||||
pixels = (sensor.sensor_pixels * sensor.optical_res) / sensor.optical_res;
|
||||
unsigned pixels = dev->model->x_size_calib_mm * sensor.optical_res / MM_PER_INCH;
|
||||
black_pixels = (sensor.black_pixels * sensor.optical_res) / sensor.optical_res;
|
||||
DBG(DBG_io2, "%s: black_pixels=%d\n", __func__, black_pixels);
|
||||
|
||||
|
@ -1806,7 +1801,6 @@ void CommandSetGl846::coarse_gain_calibration(Genesys_Device* dev, const Genesys
|
|||
Genesys_Register_Set& regs, int dpi) const
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
int pixels;
|
||||
float gain[3],coeff;
|
||||
int code, lines;
|
||||
|
||||
|
@ -1831,14 +1825,13 @@ void CommandSetGl846::coarse_gain_calibration(Genesys_Device* dev, const Genesys
|
|||
coeff=1.0;
|
||||
}
|
||||
lines=10;
|
||||
pixels = (sensor.sensor_pixels * sensor.optical_res) / sensor.optical_res;
|
||||
|
||||
ScanSession session;
|
||||
session.params.xres = sensor.optical_res;
|
||||
session.params.yres = sensor.optical_res;
|
||||
session.params.startx = 0;
|
||||
session.params.starty = 0;
|
||||
session.params.pixels = pixels;
|
||||
session.params.pixels = dev->model->x_size_calib_mm * sensor.optical_res / MM_PER_INCH;
|
||||
session.params.lines = lines;
|
||||
session.params.depth = 8;
|
||||
session.params.channels = channels;
|
||||
|
|
|
@ -930,15 +930,13 @@ void CommandSetGl847::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
|
|||
|
||||
unsigned calib_lines =
|
||||
static_cast<unsigned>(dev->model->y_size_calib_mm * resolution / MM_PER_INCH);
|
||||
unsigned calib_pixels = (calib_sensor.sensor_pixels * resolution) /
|
||||
calib_sensor.optical_res;
|
||||
|
||||
ScanSession session;
|
||||
session.params.xres = resolution;
|
||||
session.params.yres = resolution;
|
||||
session.params.startx = 0;
|
||||
session.params.starty = 20;
|
||||
session.params.pixels = calib_pixels;
|
||||
session.params.pixels = dev->model->x_size_calib_mm * resolution / MM_PER_INCH;;
|
||||
session.params.lines = calib_lines;
|
||||
session.params.depth = 16;
|
||||
session.params.channels = channels;
|
||||
|
@ -1124,7 +1122,6 @@ SensorExposure CommandSetGl847::led_calibration(Genesys_Device* dev, const Genes
|
|||
Genesys_Register_Set& regs) const
|
||||
{
|
||||
DBG_HELPER(dbg);
|
||||
int num_pixels;
|
||||
int used_res;
|
||||
int i;
|
||||
int avg[3], top[3], bottom[3];
|
||||
|
@ -1145,7 +1142,6 @@ SensorExposure CommandSetGl847::led_calibration(Genesys_Device* dev, const Genes
|
|||
used_res = sensor.get_register_hwdpi(dev->settings.xres);
|
||||
const auto& calib_sensor = sanei_genesys_find_sensor(dev, used_res, channels,
|
||||
dev->settings.scan_method);
|
||||
num_pixels = (calib_sensor.sensor_pixels * used_res) / calib_sensor.optical_res;
|
||||
|
||||
/* initial calibration reg values */
|
||||
regs = dev->reg;
|
||||
|
@ -1155,7 +1151,7 @@ SensorExposure CommandSetGl847::led_calibration(Genesys_Device* dev, const Genes
|
|||
session.params.yres = used_res;
|
||||
session.params.startx = 0;
|
||||
session.params.starty = 0;
|
||||
session.params.pixels = num_pixels;
|
||||
session.params.pixels = dev->model->x_size_calib_mm * used_res / MM_PER_INCH;
|
||||
session.params.lines = 1;
|
||||
session.params.depth = 16;
|
||||
session.params.channels = channels;
|
||||
|
@ -1491,7 +1487,6 @@ void CommandSetGl847::search_strip(Genesys_Device* dev, const Genesys_Sensor& se
|
|||
bool black) const
|
||||
{
|
||||
DBG_HELPER_ARGS(dbg, "%s %s", black ? "black" : "white", forward ? "forward" : "reverse");
|
||||
unsigned int pixels;
|
||||
Genesys_Register_Set local_reg;
|
||||
unsigned int pass, count, found;
|
||||
char title[80];
|
||||
|
@ -1505,7 +1500,6 @@ void CommandSetGl847::search_strip(Genesys_Device* dev, const Genesys_Sensor& se
|
|||
unsigned channels = 1;
|
||||
|
||||
unsigned lines = static_cast<unsigned>(dev->model->y_size_calib_mm * dpi / MM_PER_INCH);
|
||||
pixels = (sensor.sensor_pixels * dpi) / sensor.optical_res;
|
||||
dev->set_head_pos_zero(ScanHeadId::PRIMARY);
|
||||
|
||||
local_reg = dev->reg;
|
||||
|
@ -1515,7 +1509,7 @@ void CommandSetGl847::search_strip(Genesys_Device* dev, const Genesys_Sensor& se
|
|||
session.params.yres = dpi;
|
||||
session.params.startx = 0;
|
||||
session.params.starty = 0;
|
||||
session.params.pixels = pixels;
|
||||
session.params.pixels = dev->model->x_size_calib_mm * dpi / MM_PER_INCH;
|
||||
session.params.lines = lines;
|
||||
session.params.depth = 8;
|
||||
session.params.channels = channels;
|
||||
|
@ -1706,7 +1700,7 @@ void CommandSetGl847::offset_calibration(Genesys_Device* dev, const Genesys_Sens
|
|||
unsigned channels;
|
||||
int pass = 0, avg;
|
||||
int topavg, bottomavg, lines;
|
||||
int top, bottom, black_pixels, pixels;
|
||||
int top, bottom, black_pixels;
|
||||
|
||||
// no gain nor offset for AKM AFE
|
||||
uint8_t reg04 = dev->interface->read_register(REG_0x04);
|
||||
|
@ -1717,7 +1711,7 @@ void CommandSetGl847::offset_calibration(Genesys_Device* dev, const Genesys_Sens
|
|||
/* offset calibration is always done in color mode */
|
||||
channels = 3;
|
||||
lines=1;
|
||||
pixels= (sensor.sensor_pixels * sensor.optical_res) / sensor.optical_res;
|
||||
unsigned pixels = dev->model->x_size_calib_mm * sensor.optical_res / MM_PER_INCH;
|
||||
black_pixels = (sensor.black_pixels * sensor.optical_res) / sensor.optical_res;
|
||||
DBG(DBG_io2, "%s: black_pixels=%d\n", __func__, black_pixels);
|
||||
|
||||
|
@ -1837,7 +1831,6 @@ void CommandSetGl847::coarse_gain_calibration(Genesys_Device* dev, const Genesys
|
|||
Genesys_Register_Set& regs, int dpi) const
|
||||
{
|
||||
DBG_HELPER_ARGS(dbg, "dpi = %d", dpi);
|
||||
int pixels;
|
||||
float gain[3],coeff;
|
||||
int code, lines;
|
||||
|
||||
|
@ -1860,14 +1853,13 @@ void CommandSetGl847::coarse_gain_calibration(Genesys_Device* dev, const Genesys
|
|||
coeff=1.0;
|
||||
}
|
||||
lines=10;
|
||||
pixels = (sensor.sensor_pixels * sensor.optical_res) / sensor.optical_res;
|
||||
|
||||
ScanSession session;
|
||||
session.params.xres = sensor.optical_res;
|
||||
session.params.yres = sensor.optical_res;
|
||||
session.params.startx = 0;
|
||||
session.params.starty = 0;
|
||||
session.params.pixels = pixels;
|
||||
session.params.pixels = dev->model->x_size_calib_mm * sensor.optical_res / MM_PER_INCH;
|
||||
session.params.lines = lines;
|
||||
session.params.depth = 8;
|
||||
session.params.channels = channels;
|
||||
|
|
|
@ -148,7 +148,6 @@ std::ostream& operator<<(std::ostream& out, const Genesys_Sensor& sensor)
|
|||
<< " black_pixels: " << sensor.black_pixels << '\n'
|
||||
<< " dummy_pixel: " << sensor.dummy_pixel << '\n'
|
||||
<< " ccd_start_xoffset: " << sensor.ccd_start_xoffset << '\n'
|
||||
<< " sensor_pixels: " << sensor.sensor_pixels << '\n'
|
||||
<< " fau_gain_white_ref: " << sensor.fau_gain_white_ref << '\n'
|
||||
<< " gain_white_ref: " << sensor.gain_white_ref << '\n'
|
||||
<< " exposure: " << format_indent_braced_list(4, sensor.exposure) << '\n'
|
||||
|
|
|
@ -374,8 +374,6 @@ struct Genesys_Sensor {
|
|||
int dummy_pixel = 0;
|
||||
// last pixel of CCD margin at optical resolution
|
||||
int ccd_start_xoffset = 0;
|
||||
// total pixels used by the sensor
|
||||
int sensor_pixels = 0;
|
||||
// TA CCD target code (reference gain)
|
||||
int fau_gain_white_ref = 0;
|
||||
// CCD target code (reference gain)
|
||||
|
@ -455,7 +453,6 @@ struct Genesys_Sensor {
|
|||
black_pixels == other.black_pixels &&
|
||||
dummy_pixel == other.dummy_pixel &&
|
||||
ccd_start_xoffset == other.ccd_start_xoffset &&
|
||||
sensor_pixels == other.sensor_pixels &&
|
||||
fau_gain_white_ref == other.fau_gain_white_ref &&
|
||||
gain_white_ref == other.gain_white_ref &&
|
||||
exposure == other.exposure &&
|
||||
|
@ -482,7 +479,6 @@ void serialize(Stream& str, Genesys_Sensor& x)
|
|||
serialize(str, x.black_pixels);
|
||||
serialize(str, x.dummy_pixel);
|
||||
serialize(str, x.ccd_start_xoffset);
|
||||
serialize(str, x.sensor_pixels);
|
||||
serialize(str, x.fau_gain_white_ref);
|
||||
serialize(str, x.gain_white_ref);
|
||||
serialize_newline(str);
|
||||
|
|
|
@ -123,6 +123,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 1.0;
|
||||
model.x_size_calib_mm = 228.6;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -173,6 +174,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_size_calib_mm = 3.0;
|
||||
model.y_offset_calib_dark_white_mm = 1.0;
|
||||
model.y_size_calib_dark_white_mm = 6.0;
|
||||
model.x_size_calib_mm = 220.13334;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
|
@ -228,6 +230,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 9.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 227.584;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -278,6 +281,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 226.9067;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -328,6 +332,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 3.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 226.9067;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -378,6 +383,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 226.9067;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -433,6 +439,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 2.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 241.3;
|
||||
|
||||
model.x_offset_ta = 115.0;
|
||||
model.y_offset_ta = 60.0;
|
||||
|
@ -505,6 +512,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 3.0;
|
||||
model.x_offset_calib_black = 10.0;
|
||||
model.x_size_calib_mm = 225.425;
|
||||
|
||||
model.x_offset_ta = 75.0;
|
||||
model.y_offset_ta = 45.00;
|
||||
|
@ -571,6 +579,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 8.0;
|
||||
model.x_size_calib_mm = 240.70734;
|
||||
|
||||
model.x_offset_ta = 94.0;
|
||||
model.y_offset_ta = 26.0;
|
||||
|
@ -633,6 +642,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 1.0;
|
||||
model.y_size_calib_mm = 3.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 217.4241;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -689,6 +699,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 3.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 218.7787;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -743,6 +754,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 1.0;
|
||||
model.y_size_calib_mm = 3.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 216.0694;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -797,6 +809,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 3.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 218.7787;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -854,6 +867,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 3.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 218.7787;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -909,6 +923,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 3.0;
|
||||
model.y_size_calib_mm = 3.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 217.4241;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -965,6 +980,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 1.0;
|
||||
model.y_size_calib_mm = 3.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 219.6254;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -1021,6 +1037,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 3.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 217.4241;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -1078,6 +1095,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_dark_white_mm = 1.0;
|
||||
model.y_size_calib_dark_white_mm = 6.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 220.13334;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -1132,6 +1150,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_dark_white_mm = 1.0;
|
||||
model.y_size_calib_dark_white_mm = 6.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 216.7467;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -1186,6 +1205,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 1.0;
|
||||
model.x_size_calib_mm = 227.2454;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -1238,6 +1258,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 2.0; // FIXME: check if white area is really so small
|
||||
model.x_offset_calib_black = 1.0;
|
||||
model.x_size_calib_mm = 230.1241;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -1290,6 +1311,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 220.1334;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -1342,6 +1364,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 1.0;
|
||||
model.x_size_calib_mm = 230.1241;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -1393,6 +1416,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 1.0;
|
||||
model.x_size_calib_mm = 229.2774;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -1441,6 +1465,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 1.0;
|
||||
model.x_size_calib_mm = 228.6;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -1492,6 +1517,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.00;
|
||||
model.y_size_calib_mm = 3.0; // FIXME: the y_offset is most likely incorrect
|
||||
model.x_offset_calib_black = 0.00;
|
||||
model.x_size_calib_mm = 230.1241;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -1547,6 +1573,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 433.4934;
|
||||
|
||||
model.post_scan = 26.5;
|
||||
// this is larger than needed -- accounts for second sensor head, which is a calibration item
|
||||
|
@ -1597,6 +1624,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 105.664;
|
||||
|
||||
model.post_scan = 17.5;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -1647,6 +1675,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 220.1334;
|
||||
|
||||
model.post_scan = 16.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -1697,6 +1726,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 220.1334;
|
||||
|
||||
model.post_scan = 16.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -1749,6 +1779,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 220.1334;
|
||||
|
||||
model.post_scan = 16.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -1799,6 +1830,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 220.1334;
|
||||
|
||||
model.post_scan = 16.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -1851,6 +1883,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 220.1334;
|
||||
|
||||
model.post_scan = 16.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -1900,6 +1933,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 212.5134;
|
||||
|
||||
model.post_scan = 26.5;
|
||||
// this is larger than needed -- accounts for second sensor head, which is a calibration item
|
||||
|
@ -1952,6 +1986,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 433.4934;
|
||||
|
||||
model.post_scan = 26.5;
|
||||
// this is larger than needed -- accounts for second sensor head, which is a calibration item
|
||||
|
@ -2003,6 +2038,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 433.4934;
|
||||
|
||||
model.post_scan = 26.5;
|
||||
// this is larger than needed -- accounts for second sensor head, which is a calibration item
|
||||
|
@ -2056,6 +2092,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.00;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.00;
|
||||
model.x_size_calib_mm = 230.1241;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -2111,6 +2148,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.00;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.00;
|
||||
model.x_size_calib_mm = 230.1241;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -2166,6 +2204,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 220.1334;
|
||||
|
||||
model.post_scan = 16.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -2217,6 +2256,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 213.7834;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -2270,6 +2310,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 0.0;
|
||||
model.x_offset_calib_black = 6.5;
|
||||
model.x_size_calib_mm = 35.9834;
|
||||
|
||||
model.x_offset_ta = 0.0;
|
||||
model.y_offset_ta = 29.0;
|
||||
|
@ -2335,6 +2376,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 0.0;
|
||||
model.x_offset_calib_black = 6.5;
|
||||
model.x_size_calib_mm = 35.9834;
|
||||
|
||||
model.x_offset_ta = 0.0;
|
||||
model.y_offset_ta = 29.0;
|
||||
|
@ -2404,6 +2446,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_ta = 29.0;
|
||||
model.x_size_ta = 36.0;
|
||||
model.y_size_ta = 24.0;
|
||||
model.x_size_calib_mm = 35.9834;
|
||||
|
||||
model.y_offset_sensor_to_ta = 0.0;
|
||||
model.y_offset_calib_black_ta = 6.5;
|
||||
|
@ -2462,6 +2505,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 0.0;
|
||||
model.y_size_calib_mm = 4.0; // FIXME: y_offset is liely incorrect
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 452.12;
|
||||
|
||||
model.post_scan = 0;
|
||||
model.eject_feed = 0;
|
||||
|
@ -2517,6 +2561,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 9.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 215.9;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -2567,6 +2612,7 @@ void genesys_init_usb_device_tables()
|
|||
model.y_offset_calib_white = 9.0;
|
||||
model.y_size_calib_mm = 4.0;
|
||||
model.x_offset_calib_black = 0.0;
|
||||
model.x_size_calib_mm = 228.6;
|
||||
|
||||
model.post_scan = 0.0;
|
||||
model.eject_feed = 0.0;
|
||||
|
@ -2596,6 +2642,11 @@ void verify_usb_device_tables()
|
|||
{
|
||||
for (const auto& device : *s_usb_devices) {
|
||||
const auto& model = device.model;
|
||||
|
||||
if (model.x_size_calib_mm == 0.0f) {
|
||||
throw SaneException("Calibration width can't be zero");
|
||||
}
|
||||
|
||||
if (model.has_method(ScanMethod::FLATBED)) {
|
||||
if (model.y_size_calib_mm == 0.0f) {
|
||||
throw SaneException("Calibration size can't be zero");
|
||||
|
|
|
@ -123,7 +123,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 48;
|
||||
sensor.dummy_pixel = 64;
|
||||
sensor.ccd_start_xoffset = 0;
|
||||
sensor.sensor_pixels = 10800;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 230;
|
||||
sensor.exposure = { 0x0000, 0x0000, 0x0000 };
|
||||
|
@ -168,7 +167,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 48;
|
||||
sensor.dummy_pixel = 85;
|
||||
sensor.ccd_start_xoffset = 152;
|
||||
sensor.sensor_pixels = 5416;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 230;
|
||||
sensor.exposure = { 0x0000, 0x0000, 0x0000 };
|
||||
|
@ -213,7 +211,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 48;
|
||||
sensor.dummy_pixel = 64;
|
||||
sensor.ccd_start_xoffset = 0;
|
||||
sensor.sensor_pixels = 10800;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 230;
|
||||
sensor.exposure = { 0x0000, 0x0000, 0x0000 };
|
||||
|
@ -259,7 +256,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 48;
|
||||
sensor.dummy_pixel = 16;
|
||||
sensor.ccd_start_xoffset = 0;
|
||||
sensor.sensor_pixels = 10872;
|
||||
sensor.fau_gain_white_ref = 190;
|
||||
sensor.gain_white_ref = 190;
|
||||
sensor.exposure = { 0x0000, 0x0000, 0x0000 };
|
||||
|
@ -577,7 +573,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 48;
|
||||
sensor.dummy_pixel = 15;
|
||||
sensor.ccd_start_xoffset = 0;
|
||||
sensor.sensor_pixels = 10872;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 200;
|
||||
sensor.exposure = { 0x0000, 0x0000, 0x0000 };
|
||||
|
@ -810,7 +805,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 48;
|
||||
sensor.dummy_pixel = 20;
|
||||
sensor.ccd_start_xoffset = 0;
|
||||
sensor.sensor_pixels = 5368;
|
||||
sensor.fau_gain_white_ref = 180;
|
||||
sensor.gain_white_ref = 180;
|
||||
sensor.exposure = { 0x0000, 0x0000, 0x0000 };
|
||||
|
@ -988,7 +982,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 87;
|
||||
sensor.dummy_pixel = 87;
|
||||
sensor.ccd_start_xoffset = 0;
|
||||
sensor.sensor_pixels = 10400;
|
||||
sensor.fau_gain_white_ref = 0;
|
||||
sensor.gain_white_ref = 0;
|
||||
sensor.exposure = { 0x0400, 0x0400, 0x0400 };
|
||||
|
@ -1033,7 +1026,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 5;
|
||||
sensor.dummy_pixel = 38;
|
||||
sensor.ccd_start_xoffset = 0;
|
||||
sensor.sensor_pixels = 5200;
|
||||
sensor.fau_gain_white_ref = 200;
|
||||
sensor.gain_white_ref = 200;
|
||||
sensor.exposure = { 0x1450, 0x0c80, 0x0a28 };
|
||||
|
@ -1135,7 +1127,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 48;
|
||||
sensor.dummy_pixel = 16;
|
||||
sensor.ccd_start_xoffset = 0;
|
||||
sensor.sensor_pixels = 10872;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 200;
|
||||
sensor.exposure = { 0, 0, 0 };
|
||||
|
@ -1395,7 +1386,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 27;
|
||||
sensor.dummy_pixel = 27;
|
||||
sensor.ccd_start_xoffset = 0;
|
||||
sensor.sensor_pixels = 2496;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 200;
|
||||
sensor.exposure = { 0x1100, 0x1100, 0x1100 };
|
||||
|
@ -1440,7 +1430,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 27;
|
||||
sensor.dummy_pixel = 27;
|
||||
sensor.ccd_start_xoffset = 0;
|
||||
sensor.sensor_pixels = 5200;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 200;
|
||||
sensor.exposure = { 0x1100, 0x1100, 0x1100 };
|
||||
|
@ -1485,7 +1474,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 28;
|
||||
sensor.dummy_pixel = 28;
|
||||
sensor.ccd_start_xoffset = 0;
|
||||
sensor.sensor_pixels = 5200;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 200;
|
||||
sensor.exposure = { 0x1544, 0x1544, 0x1544 };
|
||||
|
@ -1530,7 +1518,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 27;
|
||||
sensor.dummy_pixel = 27;
|
||||
sensor.ccd_start_xoffset = 0;
|
||||
sensor.sensor_pixels = 10240;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 200;
|
||||
sensor.exposure = { 0x1100, 0x1100, 0x1100 };
|
||||
|
@ -1575,7 +1562,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 27;
|
||||
sensor.dummy_pixel = 27;
|
||||
sensor.ccd_start_xoffset = 0;
|
||||
sensor.sensor_pixels = 5020;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 200;
|
||||
sensor.exposure = { 0x1100, 0x1100, 0x1100 };
|
||||
|
@ -1620,7 +1606,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 87*4;
|
||||
sensor.dummy_pixel = 16*4;
|
||||
sensor.ccd_start_xoffset = 320*8;
|
||||
sensor.sensor_pixels = 5136*8;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 200;
|
||||
sensor.exposure = { 0x0000, 0x0000, 0x0000 };
|
||||
|
@ -1724,8 +1709,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.dummy_pixel = 16*8;
|
||||
// 384 at 600 dpi
|
||||
sensor.ccd_start_xoffset = 384*8;
|
||||
// 8x5570 segments, 5187+1 for rounding
|
||||
sensor.sensor_pixels = 5188*8;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 200;
|
||||
sensor.gamma = { 1.0f, 1.0f, 1.0f };
|
||||
|
@ -1825,7 +1808,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 87*4;
|
||||
sensor.dummy_pixel = 16*4;
|
||||
sensor.ccd_start_xoffset = 320*4;
|
||||
sensor.sensor_pixels = 5136*4;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 200;
|
||||
sensor.exposure = { 0x01c1, 0x0126, 0x00e5 };
|
||||
|
@ -1915,7 +1897,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 38;
|
||||
sensor.dummy_pixel = 38;
|
||||
sensor.ccd_start_xoffset = 152;
|
||||
sensor.sensor_pixels = 5376;
|
||||
sensor.fau_gain_white_ref = 160;
|
||||
sensor.gain_white_ref = 160;
|
||||
sensor.exposure = { 0x0000, 0x0000, 0x0000 };
|
||||
|
@ -1962,7 +1943,6 @@ void genesys_init_sensor_tables()
|
|||
// 31 at 600 dpi dummy_pixels 58 at 1200
|
||||
sensor.dummy_pixel = 58;
|
||||
sensor.ccd_start_xoffset = 152;
|
||||
sensor.sensor_pixels = 5360*8;
|
||||
sensor.fau_gain_white_ref = 160;
|
||||
sensor.gain_white_ref = 160;
|
||||
sensor.exposure = { 0x2c09, 0x22b8, 0x10f0 };
|
||||
|
@ -2143,7 +2123,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 100;
|
||||
sensor.dummy_pixel = 58;
|
||||
sensor.ccd_start_xoffset = 152;
|
||||
sensor.sensor_pixels = 5360*8;
|
||||
sensor.fau_gain_white_ref = 160;
|
||||
sensor.gain_white_ref = 160;
|
||||
sensor.exposure = { 0x2c09, 0x22b8, 0x10f0 };
|
||||
|
@ -2256,8 +2235,6 @@ void genesys_init_sensor_tables()
|
|||
// 31 at 600 dpi, 58 at 1200 dpi
|
||||
sensor.dummy_pixel = 20;
|
||||
sensor.ccd_start_xoffset = 152;
|
||||
// 5360 max at 600 dpi
|
||||
sensor.sensor_pixels = 5700 * 8;
|
||||
sensor.fau_gain_white_ref = 160;
|
||||
sensor.gain_white_ref = 160;
|
||||
sensor.exposure = { 0x9c40, 0x9c40, 0x9c40 };
|
||||
|
@ -2355,7 +2332,6 @@ void genesys_init_sensor_tables()
|
|||
// 31 at 600 dpi, 58 at 1200 dpi
|
||||
sensor.dummy_pixel = 20;
|
||||
sensor.ccd_start_xoffset = 152;
|
||||
sensor.sensor_pixels = 28400;
|
||||
sensor.fau_gain_white_ref = 160;
|
||||
sensor.gain_white_ref = 160;
|
||||
sensor.exposure = { 0x9c40, 0x9c40, 0x9c40 };
|
||||
|
@ -2512,8 +2488,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 31;
|
||||
sensor.dummy_pixel = 20;
|
||||
sensor.ccd_start_xoffset = 0; // not used at the moment
|
||||
// 11372 pixels at 1200 dpi
|
||||
sensor.sensor_pixels = 11372*4;
|
||||
sensor.fau_gain_white_ref = 160;
|
||||
sensor.gain_white_ref = 160;
|
||||
sensor.exposure = { 0x9c40, 0x9c40, 0x9c40 };
|
||||
|
@ -2621,7 +2595,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 96;
|
||||
sensor.dummy_pixel = 26;
|
||||
sensor.ccd_start_xoffset = 128;
|
||||
sensor.sensor_pixels = 42720;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 230;
|
||||
sensor.exposure = { 0x0000, 0x0000, 0x0000 };
|
||||
|
@ -2659,7 +2632,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 87;
|
||||
sensor.dummy_pixel = 16;
|
||||
sensor.ccd_start_xoffset = 303;
|
||||
sensor.sensor_pixels = 5168*4;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 200;
|
||||
sensor.exposure = { 0x0000, 0x0000, 0x0000 };
|
||||
|
@ -2783,8 +2755,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 87;
|
||||
sensor.dummy_pixel = 16;
|
||||
sensor.ccd_start_xoffset = 303;
|
||||
// SEGCNT at 600 DPI by number of segments
|
||||
sensor.sensor_pixels = 5104*4;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 200;
|
||||
sensor.exposure = { 0x0000, 0x0000, 0x0000 };
|
||||
|
@ -2891,7 +2861,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 87;
|
||||
sensor.dummy_pixel = 16;
|
||||
sensor.ccd_start_xoffset = 303;
|
||||
sensor.sensor_pixels = 5168*4;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 200;
|
||||
sensor.exposure = { 0x0000, 0x0000, 0x0000 };
|
||||
|
@ -3002,7 +2971,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 87;
|
||||
sensor.dummy_pixel = 16;
|
||||
sensor.ccd_start_xoffset = 303;
|
||||
sensor.sensor_pixels = 5168*4;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 200;
|
||||
sensor.exposure = { 0x0000, 0x0000, 0x0000 };
|
||||
|
@ -3113,7 +3081,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 87;
|
||||
sensor.dummy_pixel = 87;
|
||||
sensor.ccd_start_xoffset = 0;
|
||||
sensor.sensor_pixels = 10100;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 230;
|
||||
sensor.exposure = { 0x0000, 0x0000, 0x0000 };
|
||||
|
@ -3159,7 +3126,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 88; // TODO
|
||||
sensor.dummy_pixel = 20;
|
||||
sensor.ccd_start_xoffset = 0;
|
||||
sensor.sensor_pixels = 10200; // TODO
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 230;
|
||||
sensor.exposure = { 0x0000, 0x0000, 0x0000 };
|
||||
|
@ -3250,7 +3216,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 88; // TODO
|
||||
sensor.dummy_pixel = 20;
|
||||
sensor.ccd_start_xoffset = 0;
|
||||
sensor.sensor_pixels = 10200; // TODO
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 230;
|
||||
sensor.exposure = { 0x0000, 0x0000, 0x0000 };
|
||||
|
@ -3326,7 +3291,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 88; // TODO
|
||||
sensor.dummy_pixel = 20;
|
||||
sensor.ccd_start_xoffset = 0;
|
||||
sensor.sensor_pixels = 10200; // TODO
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 230;
|
||||
sensor.exposure = { 0x0000, 0x0000, 0x0000 };
|
||||
|
@ -3412,7 +3376,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 31;
|
||||
sensor.dummy_pixel = 31;
|
||||
sensor.ccd_start_xoffset = 0;
|
||||
sensor.sensor_pixels = 10800;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 200;
|
||||
sensor.exposure = { 0x0000, 0x0000, 0x0000 };
|
||||
|
@ -3440,7 +3403,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.black_pixels = 31;
|
||||
sensor.dummy_pixel = 31;
|
||||
sensor.ccd_start_xoffset = 0;
|
||||
sensor.sensor_pixels = 10200;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 200;
|
||||
sensor.exposure = { 0, 0, 0 };
|
||||
|
@ -3469,9 +3431,6 @@ void genesys_init_sensor_tables()
|
|||
sensor.dummy_pixel = 6;
|
||||
// tuned to give 3*8 multiple startx coordinate during shading calibration
|
||||
sensor.ccd_start_xoffset = 34; // 14=>3, 20=>2
|
||||
// 10400, too wide=>10288 in shading data 10240~
|
||||
// 10208 too short for shading, max shading data = 10240 pixels, endpix-startpix=10208
|
||||
sensor.sensor_pixels = 10240;
|
||||
sensor.fau_gain_white_ref = 150;
|
||||
sensor.gain_white_ref = 150;
|
||||
// maps to 0x70-0x73 for GL841
|
||||
|
|
|
@ -70,7 +70,6 @@ Genesys_Calibration_Cache create_fake_calibration_entry()
|
|||
sensor.black_pixels = 48;
|
||||
sensor.dummy_pixel = 64;
|
||||
sensor.ccd_start_xoffset = 0;
|
||||
sensor.sensor_pixels = 10800;
|
||||
sensor.fau_gain_white_ref = 210;
|
||||
sensor.gain_white_ref = 230;
|
||||
sensor.exposure = { 0x0000, 0x0000, 0x0000 };
|
||||
|
|
Ładowanie…
Reference in New Issue