diff --git a/backend/genesys_gl847.c b/backend/genesys_gl847.c index 4019a1541..8bff91384 100644 --- a/backend/genesys_gl847.c +++ b/backend/genesys_gl847.c @@ -361,6 +361,7 @@ gl847_setup_sensor (Genesys_Device * dev, Genesys_Register_Set * regs, int dpi) Sensor_Profile *sensor; int dpihw, i; uint16_t exp; + uint8_t val; DBGSTART; dpihw=sanei_genesys_compute_dpihw(dev,dpi); @@ -411,6 +412,9 @@ gl847_setup_sensor (Genesys_Device * dev, Genesys_Register_Set * regs, int dpi) sanei_genesys_set_triple(regs,REG_CK3MAP,sensor->ck3map); sanei_genesys_set_triple(regs,REG_CK4MAP,sensor->ck4map); + r = sanei_genesys_get_address (regs, 0x17); + r->value = sensor->r17; + DBGCOMPLETED; } @@ -516,12 +520,22 @@ gl847_init_registers (Genesys_Device * dev) SETREG (0x68, 0x80); SETREG (0x69, 0x20); SETREG (0x6a, 0x20); + + /* CK1MAP */ SETREG (0x74, 0x00); SETREG (0x75, 0x00); SETREG (0x76, 0x3c); + + /* CK3MAP */ + SETREG (0x77, 0x00); + SETREG (0x78, 0x00); + SETREG (0x79, 0x9f); + + /* CK4MAP */ SETREG (0x7a, 0x00); SETREG (0x7b, 0x00); SETREG (0x7c, 0x55); + SETREG (0x7d, 0x00); /* NOTE: autoconf is a non working option */ SETREG (0x87, 0x02); @@ -1470,10 +1484,6 @@ gl847_init_optical_regs_scan (Genesys_Device * dev, else r->value |= REG03_LAMPPWR; - - r = sanei_genesys_get_address (reg, 0x19); - r->value = 0x50; - /* BW threshold */ r = sanei_genesys_get_address (reg, 0x2e); r->value = dev->settings.threshold; @@ -4097,8 +4107,7 @@ gl847_warm_scan (Genesys_Device * dev) 0, SCAN_FLAG_DISABLE_SHADING | SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_IGNORE_LINE_DISTANCE | - SCAN_FLAG_USE_OPTICAL_RES); + SCAN_FLAG_IGNORE_LINE_DISTANCE); RIE (gl847_bulk_write_register (dev, dev->reg, GENESYS_GL847_MAX_REGS)); diff --git a/backend/genesys_gl847.h b/backend/genesys_gl847.h index 02216edcd..c7f418a83 100644 --- a/backend/genesys_gl847.h +++ b/backend/genesys_gl847.h @@ -532,6 +532,7 @@ typedef struct { int expr; /**> initial red exposure */ int expg; /**> initial green exposure */ int expb; /**> initial blue exposure */ + uint8_t r17; /**> TG width */ } Sensor_Profile; /* *INDENT-OFF* */ @@ -543,9 +544,9 @@ static Sensor_Profile sensors[]={ {CIS_CANONLIDE200, 150, 2848, 240, 636, 340, 5144, 0, 255, 637, 637, 637}, {CIS_CANONLIDE200, 300, 1424, 240, 636, 340, 5144, 0, 255, 637, 637, 637}, */ - {CIS_CANONLIDE200, 600, 1432, 60, 159, 85, 5144, 255, 410, 275, 203}, - {CIS_CANONLIDE200, 1200, 2712, 60, 159, 85, 5144, 255, 746, 478, 353}, - {CIS_CANONLIDE200, 2400, 5280, 60, 159, 85, 5144, 255, 1417, 909, 643}, - {CIS_CANONLIDE200, 4800, 10416, 60, 159, 85, 5144, 255, 2692, 1728, 1221}, + {CIS_CANONLIDE200, 600, 1432, 60, 159, 85, 5144, 255, 410, 275, 203, 0x0a}, + {CIS_CANONLIDE200, 1200, 2712, 60, 159, 85, 5144, 255, 746, 478, 353, 0x08}, + {CIS_CANONLIDE200, 2400, 5280, 60, 159, 85, 5144, 255, 1417, 909, 643, 0x06}, + {CIS_CANONLIDE200, 4800, 10416, 60, 159, 85, 5144, 255, 2692, 1728, 1221, 0x04}, }; /* *INDENT-ON* */