kopia lustrzana https://gitlab.com/sane-project/backends
fixed TPU warmup retry
rodzic
f7b28fccd2
commit
3d05683f81
|
@ -1,3 +1,6 @@
|
||||||
|
2009-04-25 Alessandro Zummo <a.zummo@towertech.it>
|
||||||
|
* backend/epson2.c: fixed TPU warmup retry
|
||||||
|
|
||||||
2009-04-23 Stéphane Voltz <stef.dev@free.fr>
|
2009-04-23 Stéphane Voltz <stef.dev@free.fr>
|
||||||
* backend/genesys.c backend/genesys_gl646.c backend/genesys_devices.c:
|
* backend/genesys.c backend/genesys_gl646.c backend/genesys_devices.c:
|
||||||
y scan position and shading calibration fixes for MD5345/MD6471
|
y scan position and shading calibration fixes for MD5345/MD6471
|
||||||
|
|
|
@ -3856,36 +3856,6 @@ e2_start_ext_scan(Epson_Scanner * s)
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Helper function to correct the error for warmup lamp
|
|
||||||
* gotten from scanners with known buggy firmware.
|
|
||||||
* Epson Perfection 4990 Photo
|
|
||||||
*/
|
|
||||||
|
|
||||||
static SANE_Status
|
|
||||||
fix_warmup_lamp(Epson_Scanner * s, SANE_Status status)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Check for Perfection 4990 photo/GT-X800 scanner.
|
|
||||||
* Scanner sometimes report "Fatal error" in status in informationblock when
|
|
||||||
* lamp warm up. Solution send FS G one more time.
|
|
||||||
*/
|
|
||||||
if (e2_model(s, "GT-X800")) {
|
|
||||||
SANE_Status status2;
|
|
||||||
|
|
||||||
DBG(1, "%s: Epson Perfection 4990 lamp warm up problem \n",
|
|
||||||
__func__);
|
|
||||||
status2 = e2_wait_warm_up(s);
|
|
||||||
if (status2 == SANE_STATUS_GOOD) {
|
|
||||||
status = e2_start_ext_scan(s);
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This function is part of the SANE API and gets called from the front end to
|
* This function is part of the SANE API and gets called from the front end to
|
||||||
* start the scan process.
|
* start the scan process.
|
||||||
|
@ -4020,20 +3990,29 @@ sane_start(SANE_Handle handle)
|
||||||
if (dev->extended_commands) {
|
if (dev->extended_commands) {
|
||||||
status = e2_start_ext_scan(s);
|
status = e2_start_ext_scan(s);
|
||||||
|
|
||||||
/* this is a kind of read request */
|
/* check if the scanner signaled a warming up */
|
||||||
if (dev->connection == SANE_EPSON_NET)
|
if (status == SANE_STATUS_IO_ERROR && s->hw->use_extension) {
|
||||||
sanei_epson_net_write(s, 0x2000, NULL, 0,
|
status = e2_wait_warm_up(s);
|
||||||
s->ext_block_len + 1, &status);
|
if (status == SANE_STATUS_GOOD)
|
||||||
|
status = e2_start_ext_scan(s);
|
||||||
|
}
|
||||||
|
|
||||||
} else
|
} else
|
||||||
status = e2_start_std_scan(s);
|
status = e2_start_std_scan(s);
|
||||||
|
|
||||||
if (status != SANE_STATUS_GOOD) {
|
if (status != SANE_STATUS_GOOD) {
|
||||||
DBG(1, "%s: start failed: %s\n", __func__,
|
DBG(1, "%s: start failed: %s\n", __func__,
|
||||||
sane_strstatus(status));
|
sane_strstatus(status));
|
||||||
if (status == SANE_STATUS_IO_ERROR)
|
|
||||||
status = fix_warmup_lamp(s, status);
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* this is a kind of read request */
|
||||||
|
if (dev->connection == SANE_EPSON_NET) {
|
||||||
|
sanei_epson_net_write(s, 0x2000, NULL, 0,
|
||||||
|
s->ext_block_len + 1, &status);
|
||||||
|
}
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue