diff --git a/ChangeLog b/ChangeLog index 9d4059875..27c5110b0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,6 @@ 2010-06-03 Stéphane Voltz - * backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c: + * backend/genesys.c backend/genesys_devices.c backend/genesys_gl847.c + doc/descriptions/genesys.desc: final bits for full LiDE 100 support 2010-05-31 Stéphane Voltz diff --git a/backend/genesys.c b/backend/genesys.c index ce2ce19e0..54b9c39d3 100644 --- a/backend/genesys.c +++ b/backend/genesys.c @@ -4731,27 +4731,30 @@ genesys_start_scan (Genesys_Device * dev) /*do we really need this? the valid data check should be sufficent -- pierre*/ /* waits for head to reach scanning position */ - expected = - sanei_genesys_read_reg_from_set (dev->reg, - 0x3d) * 65536 + - sanei_genesys_read_reg_from_set (dev->reg, - 0x3e) * 256 + - sanei_genesys_read_reg_from_set (dev->reg, 0x3f); - do + if (!(dev->model->flags & GENESYS_FLAG_ODD_EVEN_CIS)) { - /* wait 1/10th of second between each test to avoid - overloading USB and CPU */ - usleep (100 * 1000); - status = sanei_genesys_read_feed_steps (dev, &steps); - if (status != SANE_STATUS_GOOD) - { - DBG (DBG_error, - "genesys_start_scan: Failed to read feed steps: %s\n", - sane_strstatus (status)); - return status; - } + expected = + sanei_genesys_read_reg_from_set (dev->reg, + 0x3d) * 65536 + + sanei_genesys_read_reg_from_set (dev->reg, + 0x3e) * 256 + + sanei_genesys_read_reg_from_set (dev->reg, 0x3f); + do + { + /* wait 1/10th of second between each test to avoid + overloading USB and CPU */ + usleep (100 * 1000); + status = sanei_genesys_read_feed_steps (dev, &steps); + if (status != SANE_STATUS_GOOD) + { + DBG (DBG_error, + "genesys_start_scan: Failed to read feed steps: %s\n", + sane_strstatus (status)); + return status; + } + } + while (steps < expected); } - while (steps < expected); /* wait for buffers to be filled */ do diff --git a/backend/genesys_devices.c b/backend/genesys_devices.c index 35ff2b5b4..974ff1ef8 100644 --- a/backend/genesys_devices.c +++ b/backend/genesys_devices.c @@ -786,7 +786,7 @@ static Genesys_Motor Motor[] = { 1, /* maximum power modes count */ { /* motor slopes */ { /* power mode 0 */ - { 2343, 1017, 64, 0.80}, /* full step */ + { 2034, 1017, 64, 0.10}, /* full step */ { 4678, 2034, 64, 0.80}, /* half step */ { 3*2712, 3*2712, 64, 0.80}, /* quarter step 0.75*2712 */ /*{ 4*2034, 4*2034, 32, 0.80}, quarter step */ diff --git a/backend/genesys_gl847.c b/backend/genesys_gl847.c index afa7ab80d..c42ade908 100644 --- a/backend/genesys_gl847.c +++ b/backend/genesys_gl847.c @@ -770,7 +770,6 @@ HOME_FREE: 3 * Z1 * Z2 */ - r = sanei_genesys_get_address (reg, 0x3d); r->value = (feedl >> 16) & 0xf; r = sanei_genesys_get_address (reg, 0x3e); @@ -1122,9 +1121,6 @@ gl847_init_motor_regs_scan (Genesys_Device * dev, fast_slope_steps = (feed_steps - (slow_slope_steps >> scan_step_type)) / 2; } - if(fast_slope_steps<64) - fast_slope_steps=64; - DBG (DBG_info, "gl847_init_motor_regs_scan: Maximum allowed slope steps for fast slope: %d\n", fast_slope_steps); @@ -3436,11 +3432,6 @@ gl847_init_regs_for_scan (Genesys_Device * dev) return status; } - /* XXX STEF XXX */ - RIE (sanei_genesys_read_register (dev, REG6C, &val)); - val = val & ~REG6C_GPIO13; - RIE (sanei_genesys_write_register (dev, REG6C, val)); - /* clear scancnt and fedcnt */ val = REG0D_CLRLNCNT; RIE (sanei_genesys_write_register (dev, REG0D, val)); @@ -4107,73 +4098,6 @@ gl847_init_memory_layout (Genesys_Device * dev) return status; } -#if 0 -/** @brief dummy scan to reset scanner - * - * */ -static SANE_Status -gl847_dummy_scan (Genesys_Device * dev) -{ - SANE_Status status; - size_t size; - uint8_t *line; - float pixels; - int dpi = 300; - - DBGSTART; - - /* initial calibration reg values */ - memcpy (dev->calib_reg, dev->reg, - GENESYS_GL847_MAX_REGS * sizeof (Genesys_Register_Set)); - - pixels = (16 * 300) / dev->sensor.optical_res; - status = gl847_init_scan_regs (dev, - dev->calib_reg, - dpi, - dpi, - 0, - 0, - pixels, - 1, - 16, - 3, - 0, - SCAN_FLAG_DISABLE_SHADING | - SCAN_FLAG_DISABLE_GAMMA | - SCAN_FLAG_SINGLE_LINE | - SCAN_FLAG_IGNORE_LINE_DISTANCE | - SCAN_FLAG_USE_OPTICAL_RES); - - RIE (gl847_bulk_write_register - (dev, dev->calib_reg, GENESYS_GL847_MAX_REGS)); - - /* colors * bytes_per_color * scan lines */ - size = ((int) pixels) * 3 * 2 * 1; - - line = malloc (size); - if (!line) - return SANE_STATUS_NO_MEM; - - DBG (DBG_info, "%s: starting dummy data reading\n", __FUNCTION__); - - RIE (gl847_begin_scan (dev, dev->calib_reg, SANE_TRUE)); - - sanei_usb_set_timeout (1000); /* 1 second */ - - /*ignore errors. next read will succeed */ - sanei_genesys_read_data_from_scanner (dev, line, size); - - sanei_usb_set_timeout (30 * 1000); /* 30 seconds */ - - RIE (gl847_end_scan (dev, dev->calib_reg, SANE_TRUE)); - - free (line); - - DBGCOMPLETED; - return SANE_STATUS_GOOD; -} -#endif - #if 0 /** * reads a register from device and set up corresponding shadow register