Force color channel re-order for GT-2200 scanner

DEVEL_2_0_BRANCH-1
Karl Heinz Kremer 2002-10-09 01:56:20 +00:00
rodzic 52668672a1
commit bcc2225031
1 zmienionych plików z 15 dodań i 6 usunięć

Wyświetl plik

@ -1978,6 +1978,7 @@ static SANE_Status attach ( const char * dev_name, Epson_Device * * devp) {
u_char * buf; u_char * buf;
u_char params[2]; u_char params[2];
EpsonHdr head; EpsonHdr head;
DBG(0, "Requesting extended status\n");
params[0] = ESC; params[0] = ESC;
params[1] = s->hw->cmd->request_extended_status; params[1] = s->hw->cmd->request_extended_status;
@ -1990,10 +1991,14 @@ static SANE_Status attach ( const char * dev_name, Epson_Device * * devp) {
{ {
buf = &head->buf[ 0]; buf = &head->buf[ 0];
DBG(0, "No error\n");
/* /*
* ADF * ADF
*/ */
DBG(0, "Checking for ADF: (%02x)\n", buf[1]);
if( buf[ 1] & EXT_STATUS_IST) { if( buf[ 1] & EXT_STATUS_IST) {
DBG( 1, "ADF detected\n"); DBG( 1, "ADF detected\n");
@ -2027,6 +2032,7 @@ static SANE_Status attach ( const char * dev_name, Epson_Device * * devp) {
/* /*
* TPU * TPU
*/ */
DBG(0, "Checking for TPU: (%02x)\n", buf[6]);
if( buf[ 6] & EXT_STATUS_IST) { if( buf[ 6] & EXT_STATUS_IST) {
DBG( 1, "TPU detected\n"); DBG( 1, "TPU detected\n");
@ -2085,6 +2091,7 @@ static SANE_Status attach ( const char * dev_name, Epson_Device * * devp) {
/* finally copy the device name to the structure */ /* finally copy the device name to the structure */
dev->sane.model = ( char *) memcpy( str, device_name, len); dev->sane.model = ( char *) memcpy( str, device_name, len);
DBG(0, "Device name = %s\n", dev->sane.model);
} }
} }
} }
@ -4739,9 +4746,11 @@ START_READ:
*/ */
needStrangeReorder = needStrangeReorder =
(strstr(s->hw->sane.model, "GT-2200") &&
s->params.format == SANE_FRAME_RGB) ||
((strstr(s->hw->sane.model, "1640") && ((strstr(s->hw->sane.model, "1640") &&
strstr(s->hw->sane.model, "Perfection")) || strstr(s->hw->sane.model, "Perfection")) ||
strstr(s->hw->sane.model, "GT-8700")) && strstr(s->hw->sane.model, "GT-8700")) &&
s->params.format == SANE_FRAME_RGB && s->params.format == SANE_FRAME_RGB &&
s->hw->maxDepth == 14; s->hw->maxDepth == 14;
@ -4750,10 +4759,10 @@ START_READ:
* These scanners are identified by the problem with the half vertical scanning * These scanners are identified by the problem with the half vertical scanning
* area. When we corrected this, we also set the variable s->hw->need_color_reorder * area. When we corrected this, we also set the variable s->hw->need_color_reorder
*/ */
if (s->hw->need_color_reorder) if (s->hw->need_color_reorder)
{ {
needStrangeReorder = SANE_TRUE; needStrangeReorder = SANE_TRUE;
} }
if (needStrangeReorder) if (needStrangeReorder)
reorder = !reorder; reorder = !reorder;