genesys: Implement infrared scanning support on OpticFilm 7200i

merge-requests/199/head
Povilas Kanapickas 2019-09-19 01:28:17 +03:00
rodzic 899d6968fa
commit 0146888d79
4 zmienionych plików z 24 dodań i 1 usunięć

Wyświetl plik

@ -1755,6 +1755,17 @@ static void gl843_set_xpa_lamp_power(Genesys_Device* dev, bool set)
{ 0x6c, 0x00, 0x80 },
}
},
{ MODEL_PLUSTEK_OPTICFILM_7200I, ScanMethod::TRANSPARENCY, {
}, {
{ 0xa6, 0x40, 0x70 }, // BUG: remove this cleanup write, it was enabled by accident
}
},
{ MODEL_PLUSTEK_OPTICFILM_7200I, ScanMethod::TRANSPARENCY_INFRARED, {
{ 0xa8, 0x07, 0x07 },
}, {
{ 0xa8, 0x00, 0x07 },
}
},
};
for (const auto& setting : settings) {
@ -1830,6 +1841,12 @@ static void gl843_begin_scan(Genesys_Device* dev, const Genesys_Sensor& sensor,
gl843_set_xpa_motor_power(dev, true);
}
break;
case GPO_PLUSTEK_7200I: {
if (reg->state.is_xpa_on && reg->state.is_lamp_on) {
gl843_set_xpa_lamp_power(dev, true);
}
break;
}
case GPO_CS4400F:
default:
break;

Wyświetl plik

@ -918,7 +918,8 @@ void sanei_genesys_set_lamp_power(Genesys_Device* dev, const Genesys_Sensor& sen
// we don't actually turn on lamp on infrared scan
if ((dev->model->model_id == MODEL_CANON_CANOSCAN_8400F ||
dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) &&
dev->model->model_id == MODEL_CANON_CANOSCAN_8600F ||
dev->model->model_id == MODEL_PLUSTEK_OPTICFILM_7200I) &&
dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED)
{
regs.find_reg(0x03).value &= ~REG03_LAMPPWR;

Wyświetl plik

@ -2373,6 +2373,7 @@ void genesys_init_usb_device_tables()
model.motor_type = MOTOR_PLUSTEK_7200I;
model.flags = GENESYS_FLAG_HAS_UTA |
GENESYS_FLAG_HAS_UTA_INFRARED |
GENESYS_FLAG_CUSTOM_GAMMA |
GENESYS_FLAG_SKIP_WARMUP |
GENESYS_FLAG_DARK_CALIBRATION |

Wyświetl plik

@ -3378,6 +3378,10 @@ void genesys_init_sensor_tables()
{ 0x04, 0x20 },
}
},
{ { 900 }, ScanMethod::TRANSPARENCY_INFRARED, 1, 900, 8, 0x1f54, 150, {} },
{ { 1800 }, ScanMethod::TRANSPARENCY_INFRARED, 1, 1800, 4, 0x1f54, 300, {} },
{ { 3600 }, ScanMethod::TRANSPARENCY_INFRARED, 1, 3600, 2, 0x1f54, 600, {} },
{ { 7200 }, ScanMethod::TRANSPARENCY_INFRARED, 1, 7200, 1, 0x1f54, 1200, {} },
};
for (const CustomSensorSettings& setting : custom_settings) {