genesys: Add separate sensor definition for LiDE 60

merge-requests/463/merge
Povilas Kanapickas 2020-05-18 03:53:24 +03:00
rodzic 341fdbbee7
commit 69202b2b56
4 zmienionych plików z 53 dodań i 1 usunięć

Wyświetl plik

@ -273,6 +273,7 @@ enum class SensorId : unsigned
CCD_UMAX,
CCD_XP300,
CIS_CANON_LIDE_35,
CIS_CANON_LIDE_60,
CIS_CANON_LIDE_80,
CIS_CANON_LIDE_100,
CIS_CANON_LIDE_110,

Wyświetl plik

@ -3487,6 +3487,7 @@ static void genesys_send_shading_coefficient(Genesys_Device* dev, const Genesys_
target_code);
break;
case SensorId::CIS_CANON_LIDE_35:
case SensorId::CIS_CANON_LIDE_60:
compute_averaged_planar (dev, sensor,
shading_data.data(),
pixels_per_line,

Wyświetl plik

@ -1093,7 +1093,7 @@ void genesys_init_usb_device_tables()
model.is_cis = true;
model.is_sheetfed = false;
model.sensor_id = SensorId::CIS_CANON_LIDE_35;
model.sensor_id = SensorId::CIS_CANON_LIDE_60;
model.adc_id = AdcId::CANON_LIDE_35;
model.gpio_id = GpioId::CANON_LIDE_35;
model.motor_id = MotorId::CANON_LIDE_35;

Wyświetl plik

@ -560,6 +560,56 @@ void genesys_init_sensor_tables()
}
}
sensor = Genesys_Sensor();
sensor.sensor_id = SensorId::CIS_CANON_LIDE_60; // gl841
sensor.optical_res = 1200;
sensor.ccd_size_divisor = 2;
sensor.black_pixels = 87;
sensor.dummy_pixel = 87;
sensor.fau_gain_white_ref = 0;
sensor.gain_white_ref = 0;
sensor.exposure = { 0x0400, 0x0400, 0x0400 };
sensor.custom_regs = {
{ 0x16, 0x00 }, { 0x17, 0x01 }, { 0x18, 0x00 }, { 0x19, 0x50 },
{ 0x1a, 0x00 }, { 0x1b, 0x00 }, { 0x1c, 0x00 }, { 0x1d, 0x02 },
{ 0x52, 0x05 }, { 0x53, 0x07 }, { 0x54, 0x03 }, { 0x55, 0x05 },
{ 0x56, 0x02 }, { 0x57, 0x05 }, { 0x58, 0x3a }, { 0x59, 0x03 }, { 0x5a, 0x40 },
{ 0x70, 0x00 }, { 0x71, 0x00 }, { 0x72, 0x00 }, { 0x73, 0x00 },
};
sensor.gamma = { 1.0f, 1.0f, 1.0f };
sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi;
{
struct CustomSensorSettings
{
ValueFilterAny<unsigned> resolutions;
unsigned register_dpihw;
unsigned register_dpiset;
unsigned shading_resolution;
int output_pixel_offset;
};
CustomSensorSettings custom_settings[] = {
{ { 75 }, 1200, 150, 600, 11 },
{ { 100 }, 1200, 200, 600, 14 },
{ { 150 }, 1200, 300, 600, 22 },
{ { 200 }, 1200, 400, 600, 29 },
{ { 300 }, 1200, 600, 600, 44 },
{ { 600 }, 1200, 1200, 600, 88 },
{ { 1200 }, 1200, 1200, 1200, 88 },
};
for (const CustomSensorSettings& setting : custom_settings) {
sensor.resolutions = setting.resolutions;
sensor.register_dpihw = setting.register_dpihw;
sensor.register_dpiset = setting.register_dpiset;
sensor.shading_resolution = setting.shading_resolution;
sensor.output_pixel_offset = setting.output_pixel_offset;
s_sensors->push_back(sensor);
}
}
sensor = Genesys_Sensor();
sensor.sensor_id = SensorId::CIS_XP200; // gl646
sensor.optical_res = 600;