genesys: Simplify register setup on gl841

fix-build-obselete-jpeg
Povilas Kanapickas 2020-03-21 00:11:20 +02:00
rodzic f1368cb34c
commit 79e403bb89
2 zmienionych plików z 11 dodań i 78 usunięć

Wyświetl plik

@ -103,21 +103,10 @@ other register settings depending on this:
*/
static void sanei_gl841_setup_sensor(const Genesys_Sensor& sensor, Genesys_Register_Set* regs)
{
DBG(DBG_proc, "%s\n", __func__);
DBG_HELPER(dbg);
// that one is tricky at least
for (uint16_t addr = 0x08; addr <= 0x0b; ++addr) {
regs->set8(0x70 + addr - 0x08, sensor.custom_regs.get_value(addr));
}
// ignore registers in range [0x10..0x16)
for (uint16_t addr = 0x16; addr < 0x1e; ++addr) {
regs->set8(addr, sensor.custom_regs.get_value(addr));
}
// ignore registers in range [0x5b..0x5e]
for (uint16_t addr = 0x52; addr < 0x52 + 9; ++addr) {
regs->set8(addr, sensor.custom_regs.get_value(addr));
for (const auto& custom_reg : sensor.custom_regs) {
regs->set8(custom_reg.address, custom_reg.value);
}
}

Wyświetl plik

@ -471,10 +471,6 @@ void genesys_init_sensor_tables()
sensor.gain_white_ref = 0;
sensor.exposure = { 0x0400, 0x0400, 0x0400 };
sensor.custom_regs = {
{ 0x08, 0x00 },
{ 0x09, 0x00 },
{ 0x0a, 0x00 },
{ 0x0b, 0x00 },
{ 0x16, 0x00 },
{ 0x17, 0x02 },
{ 0x18, 0x00 },
@ -492,10 +488,7 @@ void genesys_init_sensor_tables()
{ 0x58, 0x3a },
{ 0x59, 0x03 },
{ 0x5a, 0x40 },
{ 0x5b, 0x00 }, // TODO: 5b-5e
{ 0x5c, 0x00 },
{ 0x5d, 0x00 },
{ 0x5e, 0x00 },
{ 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;
@ -695,10 +688,6 @@ void genesys_init_sensor_tables()
sensor.gain_white_ref = 200;
sensor.exposure = { 0x1100, 0x1100, 0x1100 };
sensor.custom_regs = {
{ 0x08, 0x00 },
{ 0x09, 0x00 },
{ 0x0a, 0x00 },
{ 0x0b, 0x00 },
{ 0x16, 0x00 },
{ 0x17, 0x02 },
{ 0x18, 0x04 },
@ -716,10 +705,7 @@ void genesys_init_sensor_tables()
{ 0x58, 0x54 },
{ 0x59, 0x03 },
{ 0x5a, 0x00 },
{ 0x5b, 0x00 }, // TODO: 5b-5e
{ 0x5c, 0x00 },
{ 0x5d, 0x00 },
{ 0x5e, 0x01 },
{ 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;
@ -738,10 +724,6 @@ void genesys_init_sensor_tables()
sensor.gain_white_ref = 200;
sensor.exposure = { 0x1100, 0x1100, 0x1100 };
sensor.custom_regs = {
{ 0x08, 0x00 },
{ 0x09, 0x00 },
{ 0x0a, 0x00 },
{ 0x0b, 0x00 },
{ 0x16, 0x00 },
{ 0x17, 0x02 },
{ 0x18, 0x04 },
@ -759,10 +741,7 @@ void genesys_init_sensor_tables()
{ 0x58, 0x54 },
{ 0x59, 0x03 },
{ 0x5a, 0x00 },
{ 0x5b, 0x00 }, // TODO: 5b-5e
{ 0x5c, 0x00 },
{ 0x5d, 0x00 },
{ 0x5e, 0x01 },
{ 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;
@ -781,10 +760,6 @@ void genesys_init_sensor_tables()
sensor.gain_white_ref = 200;
sensor.exposure = { 0x1544, 0x1544, 0x1544 };
sensor.custom_regs = {
{ 0x08, 0x00 },
{ 0x09, 0x00 },
{ 0x0a, 0x00 },
{ 0x0b, 0x00 },
{ 0x16, 0x00 },
{ 0x17, 0x02 },
{ 0x18, 0x04 },
@ -802,10 +777,7 @@ void genesys_init_sensor_tables()
{ 0x58, 0x54 },
{ 0x59, 0x03 },
{ 0x5a, 0x00 },
{ 0x5b, 0x00 }, // TODO: 5b-5e
{ 0x5c, 0x00 },
{ 0x5d, 0x00 },
{ 0x5e, 0x01 },
{ 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;
@ -824,10 +796,6 @@ void genesys_init_sensor_tables()
sensor.gain_white_ref = 200;
sensor.exposure = { 0x1100, 0x1100, 0x1100 };
sensor.custom_regs = {
{ 0x08, 0x00 },
{ 0x09, 0x00 },
{ 0x0a, 0x00 },
{ 0x0b, 0x00 },
{ 0x16, 0x00 },
{ 0x17, 0x02 },
{ 0x18, 0x04 },
@ -845,10 +813,7 @@ void genesys_init_sensor_tables()
{ 0x58, 0x54 },
{ 0x59, 0x03 },
{ 0x5a, 0x00 },
{ 0x5b, 0x00 }, // TODO: 5b-5e
{ 0x5c, 0x00 },
{ 0x5d, 0x00 },
{ 0x5e, 0x01 },
{ 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;
@ -868,10 +833,6 @@ void genesys_init_sensor_tables()
sensor.gain_white_ref = 200;
sensor.exposure = { 0x1100, 0x1100, 0x1100 };
sensor.custom_regs = {
{ 0x08, 0x00 },
{ 0x09, 0x00 },
{ 0x0a, 0x00 },
{ 0x0b, 0x00 },
{ 0x16, 0x00 },
{ 0x17, 0x02 },
{ 0x18, 0x04 },
@ -889,10 +850,7 @@ void genesys_init_sensor_tables()
{ 0x58, 0x54 },
{ 0x59, 0x03 },
{ 0x5a, 0x00 },
{ 0x5b, 0x00 }, // TODO: 5b-5e
{ 0x5c, 0x00 },
{ 0x5d, 0x00 },
{ 0x5e, 0x01 },
{ 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;
@ -2786,10 +2744,6 @@ void genesys_init_sensor_tables()
sensor.gain_white_ref = 230;
sensor.exposure = { 0x0000, 0x0000, 0x0000 };
sensor.custom_regs = {
{ 0x08, 0x00 },
{ 0x09, 0x00 },
{ 0x0a, 0x00 },
{ 0x0b, 0x00 },
{ 0x16, 0x33 },
{ 0x17, 0x0b },
{ 0x18, 0x11 },
@ -2807,10 +2761,7 @@ void genesys_init_sensor_tables()
{ 0x58, 0x22 },
{ 0x59, 0x69 },
{ 0x5a, 0x40 },
{ 0x5b, 0x00 }, // TODO: 5b-5e
{ 0x5c, 0x00 },
{ 0x5d, 0x00 },
{ 0x5e, 0x02 },
{ 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;
@ -3192,10 +3143,6 @@ void genesys_init_sensor_tables()
// maps to 0x70-0x73 for GL841
sensor.exposure = { 0x1000, 0x1000, 0x0500 };
sensor.custom_regs = {
{ 0x08, 0x00 },
{ 0x09, 0x05 },
{ 0x0a, 0x07 },
{ 0x0b, 0x09 },
{ 0x16, 0x00 },
{ 0x17, 0x01 },
{ 0x18, 0x00 },
@ -3213,10 +3160,7 @@ void genesys_init_sensor_tables()
{ 0x58, 0x29 },
{ 0x59, 0x69 },
{ 0x5a, 0x55 },
{ 0x5b, 0x00 },
{ 0x5c, 0x00 },
{ 0x5d, 0x20 },
{ 0x5e, 0x41 },
{ 0x70, 0x00 }, { 0x71, 0x05 }, { 0x72, 0x07 }, { 0x73, 0x09 },
};
sensor.gamma = { 1.0f, 1.0f, 1.0f };
sensor.get_ccd_size_divisor_fun = default_get_ccd_size_divisor_for_dpi;