kopia lustrzana https://gitlab.com/sane-project/backends
genesys: Simplify handling of fe register writes on gl843
rodzic
5b9aad649e
commit
2a3d5150cb
|
@ -228,7 +228,6 @@ std::ostream& operator<<(std::ostream& out, const Genesys_Device& dev)
|
|||
<< " settings: " << format_indent_braced_list(4, dev.settings) << '\n'
|
||||
<< " frontend: " << format_indent_braced_list(4, dev.frontend) << '\n'
|
||||
<< " frontend_initial: " << format_indent_braced_list(4, dev.frontend_initial) << '\n'
|
||||
<< " frontend_is_init: " << dev.frontend_is_init << '\n'
|
||||
<< " gpo.regs: " << format_indent_braced_list(4, dev.gpo.regs) << '\n'
|
||||
<< " motor: " << format_indent_braced_list(4, dev.motor) << '\n'
|
||||
<< " control[0..6]: " << std::hex
|
||||
|
|
|
@ -259,11 +259,6 @@ struct Genesys_Device
|
|||
Genesys_Register_Set initial_regs;
|
||||
Genesys_Settings settings;
|
||||
Genesys_Frontend frontend, frontend_initial;
|
||||
|
||||
// whether the frontend is initialized. This is currently used just to preserve historical
|
||||
// behavior
|
||||
bool frontend_is_init = false;
|
||||
|
||||
Genesys_Gpo gpo;
|
||||
Genesys_Motor motor;
|
||||
std::uint8_t control[6] = {};
|
||||
|
|
|
@ -695,14 +695,12 @@ void CommandSetGl843::set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor,
|
|||
set == AFE_SET ? "set" :
|
||||
set == AFE_POWER_SAVE ? "powersave" : "huh?");
|
||||
(void) sensor;
|
||||
int i;
|
||||
|
||||
if (set == AFE_INIT)
|
||||
{
|
||||
DBG(DBG_proc, "%s(): setting DAC %u\n", __func__,
|
||||
static_cast<unsigned>(dev->model->adc_id));
|
||||
dev->frontend = dev->frontend_initial;
|
||||
dev->frontend_is_init = true;
|
||||
dev->frontend = dev->frontend_initial;
|
||||
}
|
||||
|
||||
// check analog frontend type
|
||||
|
@ -718,49 +716,25 @@ void CommandSetGl843::set_fe(Genesys_Device* dev, const Genesys_Sensor& sensor,
|
|||
|
||||
DBG(DBG_proc, "%s(): frontend reset complete\n", __func__);
|
||||
|
||||
for (i = 1; i <= 3; i++)
|
||||
{
|
||||
// FIXME: the check below is just historical artifact, we can remove it when convenient
|
||||
if (!dev->frontend_is_init) {
|
||||
dev->interface->write_fe_register(i, 0x00);
|
||||
} else {
|
||||
dev->interface->write_fe_register(i, dev->frontend.regs.get_value(0x00 + i));
|
||||
}
|
||||
for (unsigned i = 1; i <= 3; i++) {
|
||||
dev->interface->write_fe_register(i, dev->frontend.regs.get_value(0x00 + i));
|
||||
}
|
||||
for (const auto& reg : sensor.custom_fe_regs) {
|
||||
dev->interface->write_fe_register(reg.address, reg.value);
|
||||
}
|
||||
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
// FIXME: the check below is just historical artifact, we can remove it when convenient
|
||||
if (!dev->frontend_is_init) {
|
||||
dev->interface->write_fe_register(0x20 + i, 0x00);
|
||||
} else {
|
||||
dev->interface->write_fe_register(0x20 + i, dev->frontend.get_offset(i));
|
||||
}
|
||||
for (unsigned i = 0; i < 3; i++) {
|
||||
dev->interface->write_fe_register(0x20 + i, dev->frontend.get_offset(i));
|
||||
}
|
||||
|
||||
if (dev->model->sensor_id == SensorId::CCD_KVSS080) {
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
// FIXME: the check below is just historical artifact, we can remove it when convenient
|
||||
if (!dev->frontend_is_init) {
|
||||
dev->interface->write_fe_register(0x24 + i, 0x00);
|
||||
} else {
|
||||
dev->interface->write_fe_register(0x24 + i, dev->frontend.regs.get_value(0x24 + i));
|
||||
}
|
||||
}
|
||||
for (unsigned i = 0; i < 3; i++) {
|
||||
dev->interface->write_fe_register(0x24 + i, dev->frontend.regs.get_value(0x24 + i));
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
// FIXME: the check below is just historical artifact, we can remove it when convenient
|
||||
if (!dev->frontend_is_init) {
|
||||
dev->interface->write_fe_register(0x28 + i, 0x00);
|
||||
} else {
|
||||
dev->interface->write_fe_register(0x28 + i, dev->frontend.get_gain(i));
|
||||
}
|
||||
for (unsigned i = 0; i < 3; i++) {
|
||||
dev->interface->write_fe_register(0x28 + i, dev->frontend.get_gain(i));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue