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) 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 (const auto& custom_reg : sensor.custom_regs) {
for (uint16_t addr = 0x08; addr <= 0x0b; ++addr) { regs->set8(custom_reg.address, custom_reg.value);
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));
} }
} }

Wyświetl plik

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