kopia lustrzana https://gitlab.com/sane-project/backends
genesys: Use strongly typed enum for model id
rodzic
290d19a097
commit
591309a29e
|
@ -2802,8 +2802,8 @@ static void genesys_flatbed_calibration(Genesys_Device* dev, Genesys_Sensor& sen
|
|||
coarse_res /= 2;
|
||||
}
|
||||
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8400F ||
|
||||
dev->model->model_id == MODEL_CANON_CANOSCAN_8600F)
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8400F ||
|
||||
dev->model->model_id == ModelId::CANON_CANOSCAN_8600F)
|
||||
{
|
||||
coarse_res = 1200;
|
||||
}
|
||||
|
@ -4668,7 +4668,7 @@ probe_genesys_devices (void)
|
|||
of Genesys_Calibration_Cache as is.
|
||||
*/
|
||||
static const char* CALIBRATION_IDENT = "sane_genesys";
|
||||
static const int CALIBRATION_VERSION = 10;
|
||||
static const int CALIBRATION_VERSION = 11;
|
||||
|
||||
bool read_calibration(std::istream& str, Genesys_Device::Calibration& calibration,
|
||||
const std::string& path)
|
||||
|
|
|
@ -85,7 +85,7 @@ struct Genesys_Model
|
|||
const char* name = nullptr;
|
||||
const char* vendor = nullptr;
|
||||
const char* model = nullptr;
|
||||
unsigned model_id = 0;
|
||||
ModelId model_id = ModelId::UNKNOWN;
|
||||
|
||||
AsicType asic_type = AsicType::UNKNOWN;
|
||||
|
||||
|
|
|
@ -117,52 +117,53 @@ enum class ColorOrder
|
|||
BGR,
|
||||
};
|
||||
|
||||
enum Genesys_Model_Type
|
||||
enum class ModelId : unsigned
|
||||
{
|
||||
MODEL_UMAX_ASTRA_4500 = 0,
|
||||
MODEL_CANON_LIDE_50,
|
||||
MODEL_PANASONIC_KV_SS080,
|
||||
MODEL_HP_SCANJET_4850C,
|
||||
MODEL_HP_SCANJET_G4010,
|
||||
MODEL_HP_SCANJET_G4050,
|
||||
MODEL_CANON_CANOSCAN_4400F,
|
||||
MODEL_CANON_CANOSCAN_8400F,
|
||||
MODEL_CANON_CANOSCAN_8600F,
|
||||
MODEL_CANON_LIDE_100,
|
||||
MODEL_CANON_LIDE_110,
|
||||
MODEL_CANON_LIDE_120,
|
||||
MODEL_CANON_LIDE_210,
|
||||
MODEL_CANON_LIDE_220,
|
||||
MODEL_CANON_CANOSCAN_5600F,
|
||||
MODEL_CANON_LIDE_700F,
|
||||
MODEL_CANON_LIDE_200,
|
||||
MODEL_CANON_LIDE_60,
|
||||
MODEL_CANON_LIDE_80,
|
||||
MODEL_HP_SCANJET_2300C,
|
||||
MODEL_HP_SCANJET_2400C,
|
||||
MODEL_VISIONEER_STROBE_XP200,
|
||||
MODEL_HP_SCANJET_3670C,
|
||||
MODEL_PLUSTEK_OPTICPRO_ST12,
|
||||
MODEL_PLUSTEK_OPTICPRO_ST24,
|
||||
MODEL_MEDION_MD5345,
|
||||
MODEL_VISIONEER_STROBE_XP300,
|
||||
MODEL_SYSCAN_DOCKETPORT_665,
|
||||
MODEL_VISIONEER_ROADWARRIOR,
|
||||
MODEL_SYSCAN_DOCKETPORT_465,
|
||||
MODEL_VISIONEER_STROBE_XP100_REVISION3,
|
||||
MODEL_PENTAX_DSMOBILE_600,
|
||||
MODEL_SYSCAN_DOCKETPORT_467,
|
||||
MODEL_SYSCAN_DOCKETPORT_685,
|
||||
MODEL_SYSCAN_DOCKETPORT_485,
|
||||
MODEL_DCT_DOCKETPORT_487,
|
||||
MODEL_VISIONEER_7100,
|
||||
MODEL_XEROX_2400,
|
||||
MODEL_XEROX_TRAVELSCANNER_100,
|
||||
MODEL_PLUSTEK_OPTICPRO_3600,
|
||||
MODEL_PLUSTEK_OPTICFILM_7200I,
|
||||
MODEL_HP_SCANJET_N6310,
|
||||
MODEL_PLUSTEK_OPTICBOOK_3800,
|
||||
MODEL_CANON_IMAGE_FORMULA_101
|
||||
UNKNOWN = 0,
|
||||
CANON_CANOSCAN_4400F,
|
||||
CANON_CANOSCAN_5600F,
|
||||
CANON_CANOSCAN_8400F,
|
||||
CANON_CANOSCAN_8600F,
|
||||
CANON_IMAGE_FORMULA_101,
|
||||
CANON_LIDE_50,
|
||||
CANON_LIDE_60,
|
||||
CANON_LIDE_80,
|
||||
CANON_LIDE_100,
|
||||
CANON_LIDE_110,
|
||||
CANON_LIDE_120,
|
||||
CANON_LIDE_200,
|
||||
CANON_LIDE_210,
|
||||
CANON_LIDE_220,
|
||||
CANON_LIDE_700F,
|
||||
DCT_DOCKETPORT_487,
|
||||
HP_SCANJET_2300C,
|
||||
HP_SCANJET_2400C,
|
||||
HP_SCANJET_3670C,
|
||||
HP_SCANJET_4850C,
|
||||
HP_SCANJET_G4010,
|
||||
HP_SCANJET_G4050,
|
||||
HP_SCANJET_N6310,
|
||||
MEDION_MD5345,
|
||||
PANASONIC_KV_SS080,
|
||||
PENTAX_DSMOBILE_600,
|
||||
PLUSTEK_OPTICBOOK_3800,
|
||||
PLUSTEK_OPTICFILM_7200I,
|
||||
PLUSTEK_OPTICPRO_3600,
|
||||
PLUSTEK_OPTICPRO_ST12,
|
||||
PLUSTEK_OPTICPRO_ST24,
|
||||
SYSCAN_DOCKETPORT_465,
|
||||
SYSCAN_DOCKETPORT_467,
|
||||
SYSCAN_DOCKETPORT_485,
|
||||
SYSCAN_DOCKETPORT_665,
|
||||
SYSCAN_DOCKETPORT_685,
|
||||
UMAX_ASTRA_4500,
|
||||
VISIONEER_7100,
|
||||
VISIONEER_ROADWARRIOR,
|
||||
VISIONEER_STROBE_XP100_REVISION3,
|
||||
VISIONEER_STROBE_XP200,
|
||||
VISIONEER_STROBE_XP300,
|
||||
XEROX_2400,
|
||||
XEROX_TRAVELSCANNER_100,
|
||||
};
|
||||
|
||||
enum Genesys_Sensor_Type
|
||||
|
|
|
@ -1355,9 +1355,8 @@ void CommandSetGl124::slow_back_home(Genesys_Device* dev, bool wait_until_home)
|
|||
return;
|
||||
}
|
||||
|
||||
/* feed a little first */
|
||||
if (dev->model->model_id == MODEL_CANON_LIDE_210)
|
||||
{
|
||||
// feed a little first
|
||||
if (dev->model->model_id == ModelId::CANON_LIDE_210) {
|
||||
gl124_feed(dev, 20, SANE_TRUE);
|
||||
}
|
||||
|
||||
|
@ -2467,12 +2466,9 @@ static void gl124_init_gpio(Genesys_Device* dev)
|
|||
int idx;
|
||||
|
||||
/* per model GPIO layout */
|
||||
if (dev->model->model_id == MODEL_CANON_LIDE_110)
|
||||
{
|
||||
if (dev->model->model_id == ModelId::CANON_LIDE_110) {
|
||||
idx = 0;
|
||||
}
|
||||
else if (dev->model->model_id == MODEL_CANON_LIDE_120)
|
||||
{
|
||||
} else if (dev->model->model_id == ModelId::CANON_LIDE_120) {
|
||||
idx = 2;
|
||||
}
|
||||
else
|
||||
|
@ -2498,7 +2494,8 @@ static void gl124_init_memory_layout(Genesys_Device* dev)
|
|||
int idx = 0;
|
||||
|
||||
/* point to per model memory layout */
|
||||
if (dev->model->model_id == MODEL_CANON_LIDE_110 ||dev->model->model_id == MODEL_CANON_LIDE_120)
|
||||
if (dev->model->model_id == ModelId::CANON_LIDE_110 ||
|
||||
dev->model->model_id == ModelId::CANON_LIDE_120)
|
||||
{
|
||||
idx = 0;
|
||||
}
|
||||
|
|
|
@ -525,8 +525,7 @@ gl841_init_registers (Genesys_Device * dev)
|
|||
DBG(DBG_proc, "%s\n", __func__);
|
||||
|
||||
dev->reg.clear();
|
||||
if (dev->model->model_id == MODEL_CANON_LIDE_80)
|
||||
{
|
||||
if (dev->model->model_id == ModelId::CANON_LIDE_80) {
|
||||
gl841_init_lide80(dev);
|
||||
return ;
|
||||
}
|
||||
|
|
|
@ -201,7 +201,7 @@ static void gl843_setup_sensor(Genesys_Device* dev, const Genesys_Sensor& sensor
|
|||
regs->set8(custom_reg.address, custom_reg.value);
|
||||
}
|
||||
if (!(dev->model->flags & GENESYS_FLAG_FULL_HWDPI_MODE) &&
|
||||
dev->model->model_id != MODEL_PLUSTEK_OPTICFILM_7200I)
|
||||
dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7200I)
|
||||
{
|
||||
regs->set8(0x7d, 0x90);
|
||||
}
|
||||
|
@ -232,33 +232,32 @@ gl843_init_registers (Genesys_Device * dev)
|
|||
|
||||
/* default to KV-SS080 */
|
||||
SETREG (0xa2, 0x0f);
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F)
|
||||
{
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8600F) {
|
||||
SETREG(0xa2, 0x1f);
|
||||
}
|
||||
SETREG (0x01, 0x00);
|
||||
SETREG (0x02, 0x78);
|
||||
SETREG (0x03, 0x1f);
|
||||
if (dev->model->model_id == MODEL_HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_4850C)
|
||||
if (dev->model->model_id == ModelId::HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_4850C)
|
||||
{
|
||||
SETREG(0x03, 0x1d);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8400F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8400F) {
|
||||
SETREG(0x03, 0x1c);
|
||||
}
|
||||
|
||||
SETREG(0x04, 0x10);
|
||||
if (dev->model->model_id == MODEL_PLUSTEK_OPTICFILM_7200I) {
|
||||
if (dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7200I) {
|
||||
SETREG(0x04, 0x22);
|
||||
}
|
||||
|
||||
// fine tune upon device description
|
||||
SETREG (0x05, 0x80);
|
||||
if (dev->model->model_id == MODEL_HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_4850C)
|
||||
if (dev->model->model_id == ModelId::HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_4850C)
|
||||
{
|
||||
SETREG (0x05, 0x08);
|
||||
}
|
||||
|
@ -268,29 +267,29 @@ gl843_init_registers (Genesys_Device * dev)
|
|||
|
||||
// TODO: on 8600F the windows driver turns off GAIN4 which is recommended
|
||||
SETREG (0x06, 0xd8); /* SCANMOD=110, PWRBIT and GAIN4 */
|
||||
if (dev->model->model_id == MODEL_HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_4850C)
|
||||
if (dev->model->model_id == ModelId::HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_4850C)
|
||||
{
|
||||
SETREG(0x06, 0xd8); /* SCANMOD=110, PWRBIT and GAIN4 */
|
||||
}
|
||||
if (dev->model->model_id == MODEL_PLUSTEK_OPTICFILM_7200I) {
|
||||
if (dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7200I) {
|
||||
SETREG(0x06, 0xd0);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_4400F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_4400F) {
|
||||
SETREG(0x06, 0xf0); /* SCANMOD=111, PWRBIT and no GAIN4 */
|
||||
}
|
||||
|
||||
SETREG (0x08, 0x00);
|
||||
SETREG (0x09, 0x00);
|
||||
SETREG (0x0a, 0x00);
|
||||
if (dev->model->model_id == MODEL_HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_4850C)
|
||||
if (dev->model->model_id == ModelId::HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_4850C)
|
||||
{
|
||||
SETREG(0x0a, 0x18);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8400F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8400F) {
|
||||
SETREG(0x0a, 0x10);
|
||||
}
|
||||
|
||||
|
@ -298,24 +297,24 @@ gl843_init_registers (Genesys_Device * dev)
|
|||
// gl843_boot
|
||||
SETREG (0x0b, 0x6a);
|
||||
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_4400F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_4400F) {
|
||||
SETREG(0x0b, 0x69); // 16M only
|
||||
}
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8600F) {
|
||||
SETREG(0x0b, 0x89);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_PLUSTEK_OPTICFILM_7200I) {
|
||||
if (dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7200I) {
|
||||
SETREG(0x0b, 0x2a);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_4850C)
|
||||
if (dev->model->model_id == ModelId::HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_4850C)
|
||||
{
|
||||
SETREG(0x0b, 0x69);
|
||||
}
|
||||
|
||||
if (dev->model->model_id != MODEL_CANON_CANOSCAN_8400F &&
|
||||
dev->model->model_id != MODEL_PLUSTEK_OPTICFILM_7200I)
|
||||
if (dev->model->model_id != ModelId::CANON_CANOSCAN_8400F &&
|
||||
dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7200I)
|
||||
{
|
||||
SETREG (0x0c, 0x00);
|
||||
}
|
||||
|
@ -327,16 +326,16 @@ gl843_init_registers (Genesys_Device * dev)
|
|||
SETREG(0x13, 0x00); // SENSOR_DEF
|
||||
SETREG(0x14, 0x00); // SENSOR_DEF
|
||||
SETREG(0x15, 0x00); // SENSOR_DEF
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_4400F ||
|
||||
dev->model->model_id == MODEL_CANON_CANOSCAN_8600F)
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_4400F ||
|
||||
dev->model->model_id == ModelId::CANON_CANOSCAN_8600F)
|
||||
{
|
||||
dev->reg.set16(REG_EXPR, 0x9c40);
|
||||
dev->reg.set16(REG_EXPG, 0x9c40);
|
||||
dev->reg.set16(REG_EXPB, 0x9c40);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_4850C)
|
||||
if (dev->model->model_id == ModelId::HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_4850C)
|
||||
{
|
||||
dev->reg.set16(REG_EXPR, 0x2c09);
|
||||
dev->reg.set16(REG_EXPG, 0x22b8);
|
||||
|
@ -358,18 +357,17 @@ gl843_init_registers (Genesys_Device * dev)
|
|||
SETREG(0x1d, 0x04); // SENSOR_DEF
|
||||
|
||||
SETREG(0x1e, 0x10);
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_4400F ||
|
||||
dev->model->model_id == MODEL_CANON_CANOSCAN_8600F)
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_4400F ||
|
||||
dev->model->model_id == ModelId::CANON_CANOSCAN_8600F)
|
||||
{
|
||||
SETREG(0x1e, 0x20);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8400F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8400F) {
|
||||
SETREG(0x1e, 0xa0);
|
||||
}
|
||||
|
||||
SETREG (0x1f, 0x01);
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F)
|
||||
{
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8600F) {
|
||||
SETREG(0x1f, 0xff);
|
||||
}
|
||||
|
||||
|
@ -378,13 +376,13 @@ gl843_init_registers (Genesys_Device * dev)
|
|||
|
||||
SETREG(0x22, 0x01);
|
||||
SETREG(0x23, 0x01);
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_4400F ||
|
||||
dev->model->model_id == MODEL_CANON_CANOSCAN_8600F)
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_4400F ||
|
||||
dev->model->model_id == ModelId::CANON_CANOSCAN_8600F)
|
||||
{
|
||||
SETREG(0x22, 0xc8);
|
||||
SETREG(0x23, 0xc8);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8400F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8400F) {
|
||||
SETREG(0x22, 0x50);
|
||||
SETREG(0x23, 0x50);
|
||||
}
|
||||
|
@ -406,7 +404,7 @@ gl843_init_registers (Genesys_Device * dev)
|
|||
|
||||
// DUMMY: CCD dummy and optically black pixel count
|
||||
SETREG (0x34, 0x24);
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F)
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8600F)
|
||||
{
|
||||
SETREG(0x34, 0x14);
|
||||
}
|
||||
|
@ -456,22 +454,22 @@ gl843_init_registers (Genesys_Device * dev)
|
|||
// STOPTIM[0:4]: The stop duration between change of directions in
|
||||
// backtracking
|
||||
SETREG(0x5e, 0x23);
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_4400F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_4400F) {
|
||||
SETREG(0x5e, 0x3f);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8400F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8400F) {
|
||||
SETREG(0x5e, 0x85);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8600F) {
|
||||
SETREG(0x5e, 0x1f);
|
||||
}
|
||||
|
||||
//FMOVDEC: The number of deceleration steps in table 5 for auto-go-home
|
||||
SETREG(0x5f, 0x01);
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_4400F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_4400F) {
|
||||
SETREG(0x5f, 0xf0);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8600F) {
|
||||
SETREG(0x5f, 0xf0);
|
||||
}
|
||||
|
||||
|
@ -497,36 +495,34 @@ gl843_init_registers (Genesys_Device * dev)
|
|||
// FSHDEC[0:7]: The number of deceleration steps after scanning is finished
|
||||
// (table 3)
|
||||
SETREG (0x69, 0x01);
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F)
|
||||
{
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8600F) {
|
||||
SETREG(0x69, 64);
|
||||
}
|
||||
|
||||
// FMOVNO[0:7] The number of acceleration or deceleration steps for fast
|
||||
// moving (table 4)
|
||||
SETREG (0x6a, 0x04);
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F)
|
||||
{
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8600F) {
|
||||
SETREG(0x69, 64);
|
||||
}
|
||||
|
||||
// GPIO-related register bits
|
||||
SETREG(0x6b, 0x30);
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_4400F ||
|
||||
dev->model->model_id == MODEL_CANON_CANOSCAN_8600F)
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_4400F ||
|
||||
dev->model->model_id == ModelId::CANON_CANOSCAN_8600F)
|
||||
{
|
||||
SETREG(0x6b, 0x72);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8400F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8400F) {
|
||||
SETREG(0x6b, 0xb1);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_4850C)
|
||||
if (dev->model->model_id == ModelId::HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_4850C)
|
||||
{
|
||||
SETREG(0x6b, 0xf4);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_PLUSTEK_OPTICFILM_7200I) {
|
||||
if (dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7200I) {
|
||||
SETREG(0x6b, 0x31);
|
||||
}
|
||||
|
||||
|
@ -542,27 +538,27 @@ gl843_init_registers (Genesys_Device * dev)
|
|||
SETREG(0x72, 0x04); // SENSOR_DEF
|
||||
SETREG(0x73, 0x05); // SENSOR_DEF
|
||||
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_4400F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_4400F) {
|
||||
SETREG(0x70, 0x01);
|
||||
SETREG(0x71, 0x03);
|
||||
SETREG(0x72, 0x01);
|
||||
SETREG(0x73, 0x03);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8400F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8400F) {
|
||||
SETREG(0x70, 0x01);
|
||||
SETREG(0x71, 0x03);
|
||||
SETREG(0x72, 0x03);
|
||||
SETREG(0x73, 0x04);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8600F) {
|
||||
SETREG(0x70, 0x00);
|
||||
SETREG(0x71, 0x02);
|
||||
SETREG(0x72, 0x02);
|
||||
SETREG(0x73, 0x04);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_4850C)
|
||||
if (dev->model->model_id == ModelId::HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_4850C)
|
||||
{
|
||||
SETREG(0x70, 0x00);
|
||||
SETREG(0x71, 0x02);
|
||||
|
@ -583,7 +579,7 @@ gl843_init_registers (Genesys_Device * dev)
|
|||
|
||||
// various AFE settings
|
||||
SETREG(0x7d, 0x00);
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8400F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8400F) {
|
||||
SETREG(0x7d, 0x20);
|
||||
}
|
||||
|
||||
|
@ -597,21 +593,20 @@ gl843_init_registers (Genesys_Device * dev)
|
|||
// VRHOME, VRMOVE, VRBACK, VRSCAN: Vref settings of the motor driver IC for
|
||||
// moving in various situations.
|
||||
SETREG(0x80, 0x00);
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_4400F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_4400F) {
|
||||
SETREG(0x80, 0x0c);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8400F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8400F) {
|
||||
SETREG(0x80, 0x28);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_4850C)
|
||||
if (dev->model->model_id == ModelId::HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_4850C)
|
||||
{
|
||||
SETREG(0x80, 0x50);
|
||||
}
|
||||
|
||||
if (dev->model->model_id != MODEL_CANON_CANOSCAN_4400F)
|
||||
{
|
||||
if (dev->model->model_id != ModelId::CANON_CANOSCAN_4400F) {
|
||||
// NOTE: Historical code. None of the following 6 registers are
|
||||
// documented in the datasheet. Their default value is 0, so probably it's
|
||||
// not a bad idea to leave this here.
|
||||
|
@ -624,16 +619,16 @@ gl843_init_registers (Genesys_Device * dev)
|
|||
}
|
||||
|
||||
SETREG(0x87, 0x00);
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_4400F ||
|
||||
dev->model->model_id == MODEL_CANON_CANOSCAN_8400F ||
|
||||
dev->model->model_id == MODEL_CANON_CANOSCAN_8600F)
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_4400F ||
|
||||
dev->model->model_id == ModelId::CANON_CANOSCAN_8400F ||
|
||||
dev->model->model_id == ModelId::CANON_CANOSCAN_8600F)
|
||||
{
|
||||
SETREG(0x87, 0x02);
|
||||
}
|
||||
|
||||
// MTRPLS[0:7]: The width of the ADF motor trigger signal pulse.
|
||||
if (dev->model->model_id != MODEL_CANON_CANOSCAN_8400F &&
|
||||
dev->model->model_id != MODEL_PLUSTEK_OPTICFILM_7200I)
|
||||
if (dev->model->model_id != ModelId::CANON_CANOSCAN_8400F &&
|
||||
dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7200I)
|
||||
{
|
||||
SETREG(0x94, 0xff);
|
||||
}
|
||||
|
@ -644,16 +639,15 @@ gl843_init_registers (Genesys_Device * dev)
|
|||
// ONDUR[0:15]: The duration of PWM ON phase for LAMP control
|
||||
// OFFDUR[0:15]: The duration of PWM OFF phase for LAMP control
|
||||
// both of the above are in system clocks
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F)
|
||||
{
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8600F) {
|
||||
SETREG(0x98, 0x00);
|
||||
SETREG(0x99, 0x00);
|
||||
SETREG(0x9a, 0x00);
|
||||
SETREG(0x9b, 0x00);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_4850C)
|
||||
if (dev->model->model_id == ModelId::HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_4850C)
|
||||
{
|
||||
// TODO: move to set for scan
|
||||
SETREG(0x98, 0x03);
|
||||
|
@ -664,28 +658,28 @@ gl843_init_registers (Genesys_Device * dev)
|
|||
|
||||
// RMADLY[0:1], MOTLAG, CMODE, STEPTIM, MULDMYLN, IFRS
|
||||
SETREG(0x9d, 0x04);
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_4400F ||
|
||||
dev->model->model_id == MODEL_CANON_CANOSCAN_8400F ||
|
||||
dev->model->model_id == MODEL_CANON_CANOSCAN_8600F ||
|
||||
dev->model->model_id == MODEL_PLUSTEK_OPTICFILM_7200I ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_4850C)
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_4400F ||
|
||||
dev->model->model_id == ModelId::CANON_CANOSCAN_8400F ||
|
||||
dev->model->model_id == ModelId::CANON_CANOSCAN_8600F ||
|
||||
dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7200I ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_4850C)
|
||||
{
|
||||
SETREG(0x9d, 0x08); // sets the multiplier for slope tables
|
||||
}
|
||||
|
||||
|
||||
// SEL3INV, TGSTIME[0:2], TGWTIME[0:2]
|
||||
if (dev->model->model_id != MODEL_CANON_CANOSCAN_8400F &&
|
||||
dev->model->model_id != MODEL_PLUSTEK_OPTICFILM_7200I)
|
||||
if (dev->model->model_id != ModelId::CANON_CANOSCAN_8400F &&
|
||||
dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7200I)
|
||||
{
|
||||
SETREG(0x9e, 0x00); // SENSOR_DEF
|
||||
}
|
||||
|
||||
// RFHSET[0:4]: Refresh time of SDRAM in units of 2us
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_4400F ||
|
||||
dev->model->model_id == MODEL_CANON_CANOSCAN_8600F)
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_4400F ||
|
||||
dev->model->model_id == ModelId::CANON_CANOSCAN_8600F)
|
||||
{
|
||||
SETREG(0xa2, 0x1f);
|
||||
}
|
||||
|
@ -693,43 +687,43 @@ gl843_init_registers (Genesys_Device * dev)
|
|||
// 0xa6-0xa9: controls gpio, see gl843_gpio_init
|
||||
|
||||
// not documented
|
||||
if (dev->model->model_id != MODEL_CANON_CANOSCAN_4400F &&
|
||||
dev->model->model_id != MODEL_CANON_CANOSCAN_8400F &&
|
||||
dev->model->model_id != MODEL_PLUSTEK_OPTICFILM_7200I)
|
||||
if (dev->model->model_id != ModelId::CANON_CANOSCAN_4400F &&
|
||||
dev->model->model_id != ModelId::CANON_CANOSCAN_8400F &&
|
||||
dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7200I)
|
||||
{
|
||||
SETREG(0xaa, 0x00);
|
||||
}
|
||||
|
||||
// GPOM9, MULSTOP[0-2], NODECEL, TB3TB1, TB5TB2, FIX16CLK. Not documented
|
||||
if (dev->model->model_id != MODEL_CANON_CANOSCAN_8400F &&
|
||||
dev->model->model_id != MODEL_PLUSTEK_OPTICFILM_7200I) {
|
||||
if (dev->model->model_id != ModelId::CANON_CANOSCAN_8400F &&
|
||||
dev->model->model_id != ModelId::PLUSTEK_OPTICFILM_7200I) {
|
||||
SETREG(0xab, 0x50);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_4400F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_4400F) {
|
||||
SETREG(0xab, 0x00);
|
||||
}
|
||||
if (dev->model->model_id == MODEL_HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_4850C)
|
||||
if (dev->model->model_id == ModelId::HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_4850C)
|
||||
{
|
||||
// BUG: this should apply to MODEL_CANON_CANOSCAN_8600F too, but due to previous bug
|
||||
// BUG: this should apply to ModelId::CANON_CANOSCAN_8600F too, but due to previous bug
|
||||
// the 8400F case overwrote it
|
||||
SETREG(0xab, 0x40);
|
||||
}
|
||||
|
||||
// VRHOME[3:2], VRMOVE[3:2], VRBACK[3:2]: Vref setting of the motor driver IC
|
||||
// for various situations.
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_4850C)
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8600F ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_G4050 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_4850C)
|
||||
{
|
||||
SETREG(0xac, 0x00);
|
||||
}
|
||||
|
||||
dev->calib_reg = dev->reg;
|
||||
|
||||
if (dev->model->model_id == MODEL_PLUSTEK_OPTICFILM_7200I) {
|
||||
if (dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7200I) {
|
||||
gl843_set_ram_address(dev, 0x03ff00);
|
||||
|
||||
uint8_t data[32] = {
|
||||
|
@ -1121,9 +1115,9 @@ static void gl843_init_optical_regs_scan(Genesys_Device* dev, const Genesys_Sens
|
|||
}
|
||||
|
||||
r = sanei_genesys_get_address (reg, REG03);
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F)
|
||||
r->value |= REG03_AVEENB;
|
||||
else {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8600F) {
|
||||
r->value |= REG03_AVEENB;
|
||||
} else {
|
||||
r->value &= ~REG03_AVEENB;
|
||||
}
|
||||
|
||||
|
@ -1370,8 +1364,8 @@ void CommandSetGl843::calculate_current_setup(Genesys_Device * dev,
|
|||
start = SANE_UNFIX(dev->model->x_offset);
|
||||
}
|
||||
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8400F ||
|
||||
dev->model->model_id == MODEL_CANON_CANOSCAN_8600F)
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8400F ||
|
||||
dev->model->model_id == ModelId::CANON_CANOSCAN_8600F)
|
||||
{
|
||||
// FIXME: this is probably just an artifact of a bug elsewhere
|
||||
start /= ccd_size_divisor;
|
||||
|
@ -1607,7 +1601,7 @@ static void gl843_set_xpa_motor_power(Genesys_Device* dev, bool set)
|
|||
DBG_HELPER(dbg);
|
||||
uint8_t val;
|
||||
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8400F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8400F) {
|
||||
|
||||
if (set) {
|
||||
val = dev->read_register(0x6c);
|
||||
|
@ -1631,7 +1625,7 @@ static void gl843_set_xpa_motor_power(Genesys_Device* dev, bool set)
|
|||
val |= REGA9_GPO29;
|
||||
dev->write_register(0xa9, val);
|
||||
}
|
||||
} else if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) {
|
||||
} else if (dev->model->model_id == ModelId::CANON_CANOSCAN_8600F) {
|
||||
if (set) {
|
||||
val = dev->read_register(REG6C);
|
||||
val &= ~REG6C_GPIO14;
|
||||
|
@ -1655,7 +1649,7 @@ static void gl843_set_xpa_motor_power(Genesys_Device* dev, bool set)
|
|||
val &= ~REGA6_GPIO23;
|
||||
dev->write_register(REGA6, val);
|
||||
}
|
||||
} else if (dev->model->model_id == MODEL_HP_SCANJET_G4050) {
|
||||
} else if (dev->model->model_id == ModelId::HP_SCANJET_G4050) {
|
||||
if (set) {
|
||||
// set MULTFILM et GPOADF
|
||||
val = dev->read_register(REG6B);
|
||||
|
@ -1706,7 +1700,7 @@ static void gl843_set_xpa_lamp_power(Genesys_Device* dev, bool set)
|
|||
DBG_HELPER(dbg);
|
||||
|
||||
struct LampSettings {
|
||||
unsigned model_id;
|
||||
ModelId model_id;
|
||||
ScanMethod scan_method;
|
||||
GenesysRegisterSettingSet regs_on;
|
||||
GenesysRegisterSettingSet regs_off;
|
||||
|
@ -1715,14 +1709,14 @@ static void gl843_set_xpa_lamp_power(Genesys_Device* dev, bool set)
|
|||
// FIXME: BUG: we're not clearing the registers to the previous state when returning back when
|
||||
// turning off the lamp
|
||||
LampSettings settings[] = {
|
||||
{ MODEL_CANON_CANOSCAN_8400F, ScanMethod::TRANSPARENCY, {
|
||||
{ ModelId::CANON_CANOSCAN_8400F, ScanMethod::TRANSPARENCY, {
|
||||
{ 0xa6, 0x34, 0xf4 },
|
||||
{ 0xa7, 0xe0, 0xe0 }, // BUG: should be 0x03
|
||||
}, {
|
||||
{ 0xa6, 0x40, 0x70 },
|
||||
}
|
||||
},
|
||||
{ MODEL_CANON_CANOSCAN_8400F, ScanMethod::TRANSPARENCY_INFRARED, {
|
||||
{ ModelId::CANON_CANOSCAN_8400F, ScanMethod::TRANSPARENCY_INFRARED, {
|
||||
{ 0x6c, 0x40, 0x40 },
|
||||
{ 0xa6, 0x01, 0xff },
|
||||
{ 0xa7, 0x03, 0x07 },
|
||||
|
@ -1732,14 +1726,14 @@ static void gl843_set_xpa_lamp_power(Genesys_Device* dev, bool set)
|
|||
{ 0xa7, 0x07, 0x07 },
|
||||
}
|
||||
},
|
||||
{ MODEL_CANON_CANOSCAN_8600F, ScanMethod::TRANSPARENCY, {
|
||||
{ ModelId::CANON_CANOSCAN_8600F, ScanMethod::TRANSPARENCY, {
|
||||
{ 0xa6, 0x34, 0xf4 },
|
||||
{ 0xa7, 0xe0, 0xe0 },
|
||||
}, {
|
||||
{ 0xa6, 0x40, 0x70 },
|
||||
}
|
||||
},
|
||||
{ MODEL_CANON_CANOSCAN_8600F, ScanMethod::TRANSPARENCY_INFRARED, {
|
||||
{ ModelId::CANON_CANOSCAN_8600F, ScanMethod::TRANSPARENCY_INFRARED, {
|
||||
{ 0xa6, 0x00, 0xc0 },
|
||||
{ 0xa7, 0xe0, 0xe0 },
|
||||
{ 0x6c, 0x80, 0x80 },
|
||||
|
@ -1748,12 +1742,12 @@ static void gl843_set_xpa_lamp_power(Genesys_Device* dev, bool set)
|
|||
{ 0x6c, 0x00, 0x80 },
|
||||
}
|
||||
},
|
||||
{ MODEL_PLUSTEK_OPTICFILM_7200I, ScanMethod::TRANSPARENCY, {
|
||||
{ ModelId::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, {
|
||||
{ ModelId::PLUSTEK_OPTICFILM_7200I, ScanMethod::TRANSPARENCY_INFRARED, {
|
||||
{ 0xa8, 0x07, 0x07 },
|
||||
}, {
|
||||
{ 0xa8, 0x00, 0x07 },
|
||||
|
@ -2278,7 +2272,7 @@ void CommandSetGl843::init_regs_for_shading(Genesys_Device* dev, const Genesys_S
|
|||
|
||||
if ((dev->settings.scan_method == ScanMethod::TRANSPARENCY ||
|
||||
dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) &&
|
||||
dev->model->model_id == MODEL_CANON_CANOSCAN_8600F &&
|
||||
dev->model->model_id == ModelId::CANON_CANOSCAN_8600F &&
|
||||
dev->settings.xres == 4800)
|
||||
{
|
||||
float offset = SANE_UNFIX(dev->model->x_offset_ta);
|
||||
|
@ -2396,8 +2390,8 @@ void CommandSetGl843::init_regs_for_scan(Genesys_Device* dev, const Genesys_Sens
|
|||
start = SANE_UNFIX(dev->model->x_offset);
|
||||
}
|
||||
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8400F ||
|
||||
dev->model->model_id == MODEL_CANON_CANOSCAN_8600F)
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8400F ||
|
||||
dev->model->model_id == ModelId::CANON_CANOSCAN_8600F)
|
||||
{
|
||||
// FIXME: this is probably just an artifact of a bug elsewhere
|
||||
start /= sensor.get_ccd_size_divisor_for_dpi(dev->settings.xres);
|
||||
|
@ -2690,7 +2684,7 @@ void CommandSetGl843::offset_calibration(Genesys_Device* dev, const Genesys_Sens
|
|||
|
||||
if ((dev->settings.scan_method == ScanMethod::TRANSPARENCY ||
|
||||
dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED) &&
|
||||
dev->model->model_id == MODEL_CANON_CANOSCAN_8600F &&
|
||||
dev->model->model_id == ModelId::CANON_CANOSCAN_8600F &&
|
||||
dev->settings.xres == 4800)
|
||||
{
|
||||
start_pixel = SANE_UNFIX(dev->model->x_offset_ta);
|
||||
|
@ -3115,7 +3109,7 @@ void CommandSetGl843::asic_boot(Genesys_Device* dev, bool cold) const
|
|||
/* Set default values for registers */
|
||||
gl843_init_registers (dev);
|
||||
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8600F) {
|
||||
// turns on vref control for maximum current of the motor driver
|
||||
dev->write_register(REG6B, 0x72);
|
||||
} else {
|
||||
|
@ -3131,12 +3125,12 @@ void CommandSetGl843::asic_boot(Genesys_Device* dev, bool cold) const
|
|||
dev->write_register(REG0B, val);
|
||||
dev->reg.find_reg(0x0b).value = val;
|
||||
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8400F) {
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8400F) {
|
||||
sanei_genesys_write_0x8c(dev, 0x1e, 0x01);
|
||||
sanei_genesys_write_0x8c(dev, 0x10, 0xb4);
|
||||
sanei_genesys_write_0x8c(dev, 0x0f, 0x02);
|
||||
}
|
||||
else if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F) {
|
||||
else if (dev->model->model_id == ModelId::CANON_CANOSCAN_8600F) {
|
||||
sanei_genesys_write_0x8c(dev, 0x10, 0xc8);
|
||||
} else {
|
||||
sanei_genesys_write_0x8c(dev, 0x10, 0xb4);
|
||||
|
@ -3145,12 +3139,14 @@ void CommandSetGl843::asic_boot(Genesys_Device* dev, bool cold) const
|
|||
/* CLKSET */
|
||||
int clock_freq = REG0B_48MHZ;
|
||||
switch (dev->model->model_id) {
|
||||
case MODEL_CANON_CANOSCAN_8600F:
|
||||
case ModelId::CANON_CANOSCAN_8600F:
|
||||
clock_freq = REG0B_60MHZ;
|
||||
break;
|
||||
case MODEL_PLUSTEK_OPTICFILM_7200I:
|
||||
case ModelId::PLUSTEK_OPTICFILM_7200I:
|
||||
clock_freq = REG0B_30MHZ;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
val = (dev->reg.find_reg(0x0b).value & ~REG0B_CLKSET) | clock_freq;
|
||||
|
@ -3161,8 +3157,7 @@ void CommandSetGl843::asic_boot(Genesys_Device* dev, bool cold) const
|
|||
/* prevent further writings by bulk write register */
|
||||
dev->reg.remove_reg(0x0b);
|
||||
|
||||
if (dev->model->model_id != MODEL_CANON_CANOSCAN_8600F)
|
||||
{
|
||||
if (dev->model->model_id != ModelId::CANON_CANOSCAN_8600F) {
|
||||
// set up end access
|
||||
// FIXME: this is overwritten in gl843_init_gpio
|
||||
dev->write_register(REGA7, 0x04);
|
||||
|
@ -3464,8 +3459,7 @@ void CommandSetGl843::send_shading_data(Genesys_Device* dev, const Genesys_Senso
|
|||
strpixel = dev->session.pixel_startx;
|
||||
endpixel = dev->session.pixel_endx;
|
||||
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_8600F)
|
||||
{
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_8600F) {
|
||||
int half_ccd_factor = dev->session.optical_resolution /
|
||||
sensor.get_logical_hwdpi(dev->session.output_resolution);
|
||||
strpixel /= half_ccd_factor * sensor.ccd_pixels_per_system_pixel();
|
||||
|
|
|
@ -194,8 +194,7 @@ gl847_init_registers (Genesys_Device * dev)
|
|||
uint8_t val;
|
||||
|
||||
/* 700F class needs some different initial settings */
|
||||
if (dev->model->model_id == MODEL_CANON_LIDE_700F)
|
||||
{
|
||||
if (dev->model->model_id == ModelId::CANON_LIDE_700F) {
|
||||
lide700 = 1;
|
||||
}
|
||||
|
||||
|
@ -1889,20 +1888,16 @@ static void gl847_init_memory_layout(Genesys_Device* dev)
|
|||
|
||||
/* point to per model memory layout */
|
||||
idx = 0;
|
||||
if (dev->model->model_id == MODEL_CANON_LIDE_100)
|
||||
{
|
||||
if (dev->model->model_id == ModelId::CANON_LIDE_100) {
|
||||
idx = 0;
|
||||
}
|
||||
if (dev->model->model_id == MODEL_CANON_LIDE_200)
|
||||
{
|
||||
if (dev->model->model_id == ModelId::CANON_LIDE_200) {
|
||||
idx = 1;
|
||||
}
|
||||
if (dev->model->model_id == MODEL_CANON_CANOSCAN_5600F)
|
||||
{
|
||||
if (dev->model->model_id == ModelId::CANON_CANOSCAN_5600F) {
|
||||
idx = 2;
|
||||
}
|
||||
if (dev->model->model_id == MODEL_CANON_LIDE_700F)
|
||||
{
|
||||
if (dev->model->model_id == ModelId::CANON_LIDE_700F) {
|
||||
idx = 3;
|
||||
}
|
||||
|
||||
|
|
|
@ -918,9 +918,9 @@ void sanei_genesys_set_lamp_power(Genesys_Device* dev, const Genesys_Sensor& sen
|
|||
sanei_genesys_set_exposure(regs, sensor.exposure);
|
||||
|
||||
// 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_PLUSTEK_OPTICFILM_7200I) &&
|
||||
if ((dev->model->model_id == ModelId::CANON_CANOSCAN_8400F ||
|
||||
dev->model->model_id == ModelId::CANON_CANOSCAN_8600F ||
|
||||
dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7200I) &&
|
||||
dev->settings.scan_method == ScanMethod::TRANSPARENCY_INFRARED)
|
||||
{
|
||||
regs.find_reg(0x03).value &= ~REG03_LAMPPWR;
|
||||
|
@ -935,10 +935,10 @@ void sanei_genesys_set_lamp_power(Genesys_Device* dev, const Genesys_Sensor& sen
|
|||
}
|
||||
|
||||
if (dev->model->asic_type == AsicType::GL843) {
|
||||
if (dev->model->model_id == MODEL_PANASONIC_KV_SS080 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_4850C ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == MODEL_HP_SCANJET_G4050)
|
||||
if (dev->model->model_id == ModelId::PANASONIC_KV_SS080 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_4850C ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_G4010 ||
|
||||
dev->model->model_id == ModelId::HP_SCANJET_G4050)
|
||||
{
|
||||
// BUG: datasheet says we shouldn't set exposure to zero
|
||||
sanei_genesys_set_exposure(regs, {0, 0, 0});
|
||||
|
@ -1475,7 +1475,7 @@ void compute_session(Genesys_Device* dev, ScanSession& s, const Genesys_Sensor&
|
|||
// In quarter-CCD mode optical_pixels is 4x larger than the actual physical number
|
||||
s.optical_pixels = align_int_up(s.optical_pixels, 2 * s.ccd_size_divisor);
|
||||
|
||||
if (dev->model->model_id == MODEL_PLUSTEK_OPTICFILM_7200I) {
|
||||
if (dev->model->model_id == ModelId::PLUSTEK_OPTICFILM_7200I) {
|
||||
s.optical_pixels = align_int_up(s.optical_pixels, 16);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "umax-astra-4500";
|
||||
model.vendor = "UMAX";
|
||||
model.model = "Astra 4500";
|
||||
model.model_id = MODEL_UMAX_ASTRA_4500;
|
||||
model.model_id = ModelId::UMAX_ASTRA_4500;
|
||||
model.asic_type = AsicType::GL646;
|
||||
|
||||
model.xdpi_values = { 1200, 600, 300, 150, 75 };
|
||||
|
@ -118,7 +118,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "canon-lide-50";
|
||||
model.vendor = "Canon";
|
||||
model.model = "LiDE 35/40/50";
|
||||
model.model_id = MODEL_CANON_LIDE_50;
|
||||
model.model_id = ModelId::CANON_LIDE_50;
|
||||
model.asic_type = AsicType::GL841;
|
||||
|
||||
model.xdpi_values = { 1200, 600, 400, 300, 240, 200, 150, 75 };
|
||||
|
@ -176,7 +176,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "panasonic-kv-ss080";
|
||||
model.vendor = "Panasonic";
|
||||
model.model = "KV-SS080";
|
||||
model.model_id = MODEL_PANASONIC_KV_SS080;
|
||||
model.model_id = ModelId::PANASONIC_KV_SS080;
|
||||
model.asic_type = AsicType::GL843;
|
||||
|
||||
model.xdpi_values = { 600, /* 500, 400,*/ 300, 200, 150, 100, 75 };
|
||||
|
@ -230,7 +230,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "hewlett-packard-scanjet-4850c";
|
||||
model.vendor = "Hewlett Packard";
|
||||
model.model = "ScanJet 4850C";
|
||||
model.model_id = MODEL_HP_SCANJET_4850C;
|
||||
model.model_id = ModelId::HP_SCANJET_4850C;
|
||||
model.asic_type = AsicType::GL843;
|
||||
|
||||
model.xdpi_values = { 2400, 1200, 600, 400, 300, 200, 150, 100 };
|
||||
|
@ -285,7 +285,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "hewlett-packard-scanjet-g4010";
|
||||
model.vendor = "Hewlett Packard";
|
||||
model.model = "ScanJet G4010";
|
||||
model.model_id = MODEL_HP_SCANJET_G4010;
|
||||
model.model_id = ModelId::HP_SCANJET_G4010;
|
||||
model.asic_type = AsicType::GL843;
|
||||
|
||||
model.xdpi_values = { 2400, 1200, 600, 400, 300, 200, 150, 100 };
|
||||
|
@ -340,7 +340,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "hewlett-packard-scanjet-g4050";
|
||||
model.vendor = "Hewlett Packard";
|
||||
model.model = "ScanJet G4050";
|
||||
model.model_id = MODEL_HP_SCANJET_G4050;
|
||||
model.model_id = ModelId::HP_SCANJET_G4050;
|
||||
model.asic_type = AsicType::GL843;
|
||||
|
||||
model.xdpi_values = { 2400, 1200, 600, 400, 300, 200, 150, 100 };
|
||||
|
@ -396,7 +396,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "canon-canoscan-4400f";
|
||||
model.vendor = "Canon";
|
||||
model.model = "Canoscan 4400f";
|
||||
model.model_id = MODEL_CANON_CANOSCAN_4400F;
|
||||
model.model_id = ModelId::CANON_CANOSCAN_4400F;
|
||||
model.asic_type = AsicType::GL843;
|
||||
|
||||
model.xdpi_values = { 4800, 2400, 1200, 600, 400, 300, 200, 150, 100 };
|
||||
|
@ -454,7 +454,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "canon-canoscan-8400f";
|
||||
model.vendor = "Canon";
|
||||
model.model = "Canoscan 8400f";
|
||||
model.model_id = MODEL_CANON_CANOSCAN_8400F;
|
||||
model.model_id = ModelId::CANON_CANOSCAN_8400F;
|
||||
model.asic_type = AsicType::GL843;
|
||||
|
||||
model.xdpi_values = { 4800, 2400, 1200, 600, 400, 300, 200, 150, 100 };
|
||||
|
@ -514,7 +514,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "canon-canoscan-8600f";
|
||||
model.vendor = "Canon";
|
||||
model.model = "Canoscan 8600f";
|
||||
model.model_id = MODEL_CANON_CANOSCAN_8600F;
|
||||
model.model_id = ModelId::CANON_CANOSCAN_8600F;
|
||||
model.asic_type = AsicType::GL843;
|
||||
|
||||
model.xdpi_values = { 4800, 2400, 1200, 600, 400, 300 }; // TODO: resolutions for non-XPA mode
|
||||
|
@ -574,7 +574,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "canon-lide-100";
|
||||
model.vendor = "Canon";
|
||||
model.model = "LiDE 100";
|
||||
model.model_id = MODEL_CANON_LIDE_100;
|
||||
model.model_id = ModelId::CANON_LIDE_100;
|
||||
model.asic_type = AsicType::GL847;
|
||||
|
||||
model.xdpi_values = { 4800, 2400, 1200, 600, 300, 200, 150, 100, 75 };
|
||||
|
@ -634,7 +634,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "canon-lide-110";
|
||||
model.vendor = "Canon";
|
||||
model.model = "LiDE 110";
|
||||
model.model_id = MODEL_CANON_LIDE_110;
|
||||
model.model_id = ModelId::CANON_LIDE_110;
|
||||
model.asic_type = AsicType::GL124;
|
||||
|
||||
model.xdpi_values = { 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75 };
|
||||
|
@ -692,7 +692,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "canon-lide-120";
|
||||
model.vendor = "Canon";
|
||||
model.model = "LiDE 120";
|
||||
model.model_id = MODEL_CANON_LIDE_120;
|
||||
model.model_id = ModelId::CANON_LIDE_120;
|
||||
model.asic_type = AsicType::GL124;
|
||||
|
||||
model.xdpi_values = { 4800, 2400, 1200, 600, 300, 150, 100, 75 };
|
||||
|
@ -749,7 +749,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "canon-lide-210";
|
||||
model.vendor = "Canon";
|
||||
model.model = "LiDE 210";
|
||||
model.model_id = MODEL_CANON_LIDE_210;
|
||||
model.model_id = ModelId::CANON_LIDE_210;
|
||||
model.asic_type = AsicType::GL124;
|
||||
|
||||
model.xdpi_values = { 4800, 2400, 1200, 600, /* 400,*/ 300, 150, 100, 75 };
|
||||
|
@ -809,7 +809,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "canon-lide-220";
|
||||
model.vendor = "Canon";
|
||||
model.model = "LiDE 220";
|
||||
model.model_id = MODEL_CANON_LIDE_220;
|
||||
model.model_id = ModelId::CANON_LIDE_220;
|
||||
model.asic_type = AsicType::GL124; // or a compatible one
|
||||
|
||||
model.xdpi_values = { 4800, 2400, 1200, 600, 300, 150, 100, 75 };
|
||||
|
@ -868,7 +868,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "canon-5600f";
|
||||
model.vendor = "Canon";
|
||||
model.model = "5600F";
|
||||
model.model_id = MODEL_CANON_CANOSCAN_5600F;
|
||||
model.model_id = ModelId::CANON_CANOSCAN_5600F;
|
||||
model.asic_type = AsicType::GL847;
|
||||
|
||||
model.xdpi_values = { 1200, 600, 400, 300, 200, 150, 100, 75 };
|
||||
|
@ -928,7 +928,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "canon-lide-700f";
|
||||
model.vendor = "Canon";
|
||||
model.model = "LiDE 700F";
|
||||
model.model_id = MODEL_CANON_LIDE_700F;
|
||||
model.model_id = ModelId::CANON_LIDE_700F;
|
||||
model.asic_type = AsicType::GL847;
|
||||
|
||||
model.xdpi_values = { 4800, 2400, 1200, 600, 300, 200, 150, 100, 75 };
|
||||
|
@ -987,7 +987,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "canon-lide-200";
|
||||
model.vendor = "Canon";
|
||||
model.model = "LiDE 200";
|
||||
model.model_id = MODEL_CANON_LIDE_200;
|
||||
model.model_id = ModelId::CANON_LIDE_200;
|
||||
model.asic_type = AsicType::GL847;
|
||||
|
||||
model.xdpi_values = { 4800, 2400, 1200, 600, 300, 200, 150, 100, 75 };
|
||||
|
@ -1046,7 +1046,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "canon-lide-60";
|
||||
model.vendor = "Canon";
|
||||
model.model = "LiDE 60";
|
||||
model.model_id = MODEL_CANON_LIDE_60;
|
||||
model.model_id = ModelId::CANON_LIDE_60;
|
||||
model.asic_type = AsicType::GL841;
|
||||
|
||||
model.xdpi_values = { 1200, 600, 300, 150, 75 };
|
||||
|
@ -1104,7 +1104,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "canon-lide-80";
|
||||
model.vendor = "Canon";
|
||||
model.model = "LiDE 80";
|
||||
model.model_id = MODEL_CANON_LIDE_80;
|
||||
model.model_id = ModelId::CANON_LIDE_80;
|
||||
model.asic_type = AsicType::GL841;
|
||||
|
||||
model.xdpi_values = { 1200, 600, 400, 300, 240, 150, 100, 75 };
|
||||
|
@ -1161,7 +1161,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "hewlett-packard-scanjet-2300c";
|
||||
model.vendor = "Hewlett Packard";
|
||||
model.model = "ScanJet 2300c";
|
||||
model.model_id = MODEL_HP_SCANJET_2300C;
|
||||
model.model_id = ModelId::HP_SCANJET_2300C;
|
||||
model.asic_type = AsicType::GL646;
|
||||
|
||||
// FIXME: the scanner supports 1200 ydpi, but we never scanned at this resolution so for now
|
||||
|
@ -1220,7 +1220,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "hewlett-packard-scanjet-2400c";
|
||||
model.vendor = "Hewlett Packard";
|
||||
model.model = "ScanJet 2400c";
|
||||
model.model_id = MODEL_HP_SCANJET_2400C;
|
||||
model.model_id = ModelId::HP_SCANJET_2400C;
|
||||
model.asic_type = AsicType::GL646;
|
||||
|
||||
model.xdpi_values = { 1200, 600, 300, 150, 100, 50 };
|
||||
|
@ -1277,7 +1277,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "visioneer-strobe-xp200";
|
||||
model.vendor = "Visioneer";
|
||||
model.model = "Strobe XP200";
|
||||
model.model_id = MODEL_VISIONEER_STROBE_XP200;
|
||||
model.model_id = ModelId::VISIONEER_STROBE_XP200;
|
||||
model.asic_type = AsicType::GL646;
|
||||
|
||||
model.xdpi_values = { 600, 300, 200, 100, 75 };
|
||||
|
@ -1333,7 +1333,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "hewlett-packard-scanjet-3670c";
|
||||
model.vendor = "Hewlett Packard";
|
||||
model.model = "ScanJet 3670c";
|
||||
model.model_id = MODEL_HP_SCANJET_3670C;
|
||||
model.model_id = ModelId::HP_SCANJET_3670C;
|
||||
model.asic_type = AsicType::GL646;
|
||||
|
||||
model.xdpi_values = { 1200, 600, 300, 150, 100, 75 };
|
||||
|
@ -1390,7 +1390,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "plustek-opticpro-st12";
|
||||
model.vendor = "Plustek";
|
||||
model.model = "OpticPro ST12";
|
||||
model.model_id = MODEL_PLUSTEK_OPTICPRO_ST12;
|
||||
model.model_id = ModelId::PLUSTEK_OPTICPRO_ST12;
|
||||
model.asic_type = AsicType::GL646;
|
||||
|
||||
model.xdpi_values = { 600, 300, 150, 75 };
|
||||
|
@ -1441,7 +1441,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "plustek-opticpro-st24";
|
||||
model.vendor = "Plustek";
|
||||
model.model = "OpticPro ST24";
|
||||
model.model_id = MODEL_PLUSTEK_OPTICPRO_ST24;
|
||||
model.model_id = ModelId::PLUSTEK_OPTICPRO_ST24;
|
||||
model.asic_type = AsicType::GL646;
|
||||
|
||||
model.xdpi_values = { 1200, 600, 300, 150, 75 };
|
||||
|
@ -1496,7 +1496,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "medion-md5345-model";
|
||||
model.vendor = "Medion";
|
||||
model.model = "MD5345/MD6228/MD6471";
|
||||
model.model_id = MODEL_MEDION_MD5345;
|
||||
model.model_id = ModelId::MEDION_MD5345;
|
||||
model.asic_type = AsicType::GL646;
|
||||
|
||||
model.xdpi_values = { 1200, 600, 400, 300, 200, 150, 100, 75, 50 };
|
||||
|
@ -1556,7 +1556,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "visioneer-strobe-xp300";
|
||||
model.vendor = "Visioneer";
|
||||
model.model = "Strobe XP300";
|
||||
model.model_id = MODEL_VISIONEER_STROBE_XP300;
|
||||
model.model_id = ModelId::VISIONEER_STROBE_XP300;
|
||||
model.asic_type = AsicType::GL841;
|
||||
|
||||
model.xdpi_values = { 600, 300, 150, 75 };
|
||||
|
@ -1610,7 +1610,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "syscan-docketport-665";
|
||||
model.vendor = "Syscan/Ambir";
|
||||
model.model = "DocketPORT 665";
|
||||
model.model_id = MODEL_SYSCAN_DOCKETPORT_665;
|
||||
model.model_id = ModelId::SYSCAN_DOCKETPORT_665;
|
||||
model.asic_type = AsicType::GL841;
|
||||
|
||||
model.xdpi_values = { 600, 300, 150, 75 };
|
||||
|
@ -1664,7 +1664,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "visioneer-roadwarrior";
|
||||
model.vendor = "Visioneer";
|
||||
model.model = "Readwarrior";
|
||||
model.model_id = MODEL_VISIONEER_ROADWARRIOR;
|
||||
model.model_id = ModelId::VISIONEER_ROADWARRIOR;
|
||||
model.asic_type = AsicType::GL841;
|
||||
|
||||
model.xdpi_values = { 600, 300, 150, 75 };
|
||||
|
@ -1718,7 +1718,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "syscan-docketport-465";
|
||||
model.vendor = "Syscan";
|
||||
model.model = "DocketPORT 465";
|
||||
model.model_id = MODEL_SYSCAN_DOCKETPORT_465;
|
||||
model.model_id = ModelId::SYSCAN_DOCKETPORT_465;
|
||||
model.asic_type = AsicType::GL841;
|
||||
|
||||
model.xdpi_values = { 600, 300, 150, 75 };
|
||||
|
@ -1773,7 +1773,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "visioneer-xp100-revision3";
|
||||
model.vendor = "Visioneer";
|
||||
model.model = "XP100 Revision 3";
|
||||
model.model_id = MODEL_VISIONEER_STROBE_XP100_REVISION3;
|
||||
model.model_id = ModelId::VISIONEER_STROBE_XP100_REVISION3;
|
||||
model.asic_type = AsicType::GL841;
|
||||
|
||||
model.xdpi_values = { 600, 300, 150, 75 };
|
||||
|
@ -1827,7 +1827,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "pentax-dsmobile-600";
|
||||
model.vendor = "Pentax";
|
||||
model.model = "DSmobile 600";
|
||||
model.model_id = MODEL_PENTAX_DSMOBILE_600;
|
||||
model.model_id = ModelId::PENTAX_DSMOBILE_600;
|
||||
model.asic_type = AsicType::GL841;
|
||||
|
||||
model.xdpi_values = { 600, 300, 150, 75 };
|
||||
|
@ -1883,7 +1883,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "syscan-docketport-467";
|
||||
model.vendor = "Syscan";
|
||||
model.model = "DocketPORT 467";
|
||||
model.model_id = MODEL_SYSCAN_DOCKETPORT_467;
|
||||
model.model_id = ModelId::SYSCAN_DOCKETPORT_467;
|
||||
model.asic_type = AsicType::GL841;
|
||||
|
||||
model.xdpi_values = { 600, 300, 150, 75 };
|
||||
|
@ -1936,7 +1936,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "syscan-docketport-685";
|
||||
model.vendor = "Syscan/Ambir";
|
||||
model.model = "DocketPORT 685";
|
||||
model.model_id = MODEL_SYSCAN_DOCKETPORT_685;
|
||||
model.model_id = ModelId::SYSCAN_DOCKETPORT_685;
|
||||
model.asic_type = AsicType::GL841;
|
||||
|
||||
model.xdpi_values = { 600, 300, 150, 75 };
|
||||
|
@ -1992,7 +1992,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "syscan-docketport-485";
|
||||
model.vendor = "Syscan/Ambir";
|
||||
model.model = "DocketPORT 485";
|
||||
model.model_id = MODEL_SYSCAN_DOCKETPORT_485;
|
||||
model.model_id = ModelId::SYSCAN_DOCKETPORT_485;
|
||||
model.asic_type = AsicType::GL841;
|
||||
|
||||
model.xdpi_values = { 600, 300, 150, 75 };
|
||||
|
@ -2047,7 +2047,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "dct-docketport-487";
|
||||
model.vendor = "DCT";
|
||||
model.model = "DocketPORT 487";
|
||||
model.model_id = MODEL_DCT_DOCKETPORT_487;
|
||||
model.model_id = ModelId::DCT_DOCKETPORT_487;
|
||||
model.asic_type = AsicType::GL841;
|
||||
|
||||
model.xdpi_values = { 600, 300, 150, 75 };
|
||||
|
@ -2103,7 +2103,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "visioneer-7100-model";
|
||||
model.vendor = "Visioneer";
|
||||
model.model = "OneTouch 7100";
|
||||
model.model_id = MODEL_VISIONEER_7100;
|
||||
model.model_id = ModelId::VISIONEER_7100;
|
||||
model.asic_type = AsicType::GL646;
|
||||
|
||||
model.xdpi_values = { 1200, 600, 400, 300, 200, 150, 100, 75, 50 };
|
||||
|
@ -2163,7 +2163,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "xerox-2400-model";
|
||||
model.vendor = "Xerox";
|
||||
model.model = "OneTouch 2400";
|
||||
model.model_id = MODEL_XEROX_2400;
|
||||
model.model_id = ModelId::XEROX_2400;
|
||||
model.asic_type = AsicType::GL646;
|
||||
|
||||
model.xdpi_values = { 1200, 600, 400, 300, 200, 150, 100, 75, 50 };
|
||||
|
@ -2223,7 +2223,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "xerox-travelscanner";
|
||||
model.vendor = "Xerox";
|
||||
model.model = "Travelscanner 100";
|
||||
model.model_id = MODEL_XEROX_TRAVELSCANNER_100;
|
||||
model.model_id = ModelId::XEROX_TRAVELSCANNER_100;
|
||||
model.asic_type = AsicType::GL841;
|
||||
|
||||
model.xdpi_values = { 600, 300, 150, 75 };
|
||||
|
@ -2278,7 +2278,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "plustek-opticbook-3600";
|
||||
model.vendor = "PLUSTEK";
|
||||
model.model = "OpticBook 3600";
|
||||
model.model_id = MODEL_PLUSTEK_OPTICPRO_3600;
|
||||
model.model_id = ModelId::PLUSTEK_OPTICPRO_3600;
|
||||
model.asic_type = AsicType::GL841;
|
||||
model.xdpi_values = { /*1200,*/ 600, 400, 300, 200, 150, 100, 75 };
|
||||
model.ydpi_values = { /*2400,*/ 1200, 600, 400, 300, 200, 150, 100, 75 };
|
||||
|
@ -2333,7 +2333,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "plustek-opticfilm-7200i";
|
||||
model.vendor = "PLUSTEK";
|
||||
model.model = "OpticFilm 7200i";
|
||||
model.model_id = MODEL_PLUSTEK_OPTICFILM_7200I;
|
||||
model.model_id = ModelId::PLUSTEK_OPTICFILM_7200I;
|
||||
model.asic_type = AsicType::GL843;
|
||||
model.xdpi_values = { 7200, 3600, 1800, 900 };
|
||||
model.ydpi_values = { 7200, 3600, 1800, 900 };
|
||||
|
@ -2393,7 +2393,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "hewlett-packard-scanjet-N6310";
|
||||
model.vendor = "Hewlett Packard";
|
||||
model.model = "ScanJet N6310";
|
||||
model.model_id = MODEL_HP_SCANJET_N6310;
|
||||
model.model_id = ModelId::HP_SCANJET_N6310;
|
||||
model.asic_type = AsicType::GL847;
|
||||
|
||||
model.xdpi_values = { 2400, 1200, 600, 400, 300, 200, 150, 100, 75 };
|
||||
|
@ -2453,7 +2453,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "plustek-opticbook-3800";
|
||||
model.vendor = "PLUSTEK";
|
||||
model.model = "OpticBook 3800";
|
||||
model.model_id = MODEL_PLUSTEK_OPTICBOOK_3800;
|
||||
model.model_id = ModelId::PLUSTEK_OPTICBOOK_3800;
|
||||
model.asic_type = AsicType::GL845;
|
||||
|
||||
model.xdpi_values = { 1200, 600, 300, 150, 100, 75 };
|
||||
|
@ -2507,7 +2507,7 @@ void genesys_init_usb_device_tables()
|
|||
model.name = "canon-image-formula-101";
|
||||
model.vendor = "Canon";
|
||||
model.model = "Image Formula 101";
|
||||
model.model_id = MODEL_CANON_IMAGE_FORMULA_101;
|
||||
model.model_id = ModelId::CANON_IMAGE_FORMULA_101;
|
||||
model.asic_type = AsicType::GL846;
|
||||
|
||||
model.xdpi_values = { 1200, 600, 300, 150, 100, 75 };
|
||||
|
|
Ładowanie…
Reference in New Issue