kopia lustrzana https://gitlab.com/sane-project/backends
- sane_start change to allow batch scanning. Previous code would
immediatly return if head was parking, now we wait for parking completionmerge-requests/1/head
rodzic
689749d26f
commit
9c28fc433c
|
@ -1,3 +1,8 @@
|
|||
2005-10-11 Stephane Voltz <stefdev@modulonet.fr>
|
||||
|
||||
* backend/umax_pp.c: change sane_start semantic to allow for batch
|
||||
scanning
|
||||
|
||||
2005-10-08 Henning Meier-Geinitz <henning@meier-geinitz.de>
|
||||
|
||||
* doc/descriptions-external/mustek_a3p1.desc: Downgraded status to
|
||||
|
|
|
@ -172,7 +172,8 @@ static const SANE_Range u8_range = {
|
|||
#define UMAX_PP_RESERVE 259200
|
||||
|
||||
static int
|
||||
parse_int_option (const char *string, char *name, long int *value, long int fallback);
|
||||
parse_int_option (const char *string, char *name, long int *value,
|
||||
long int fallback);
|
||||
|
||||
/*
|
||||
* devname may be either an hardware address for direct I/O (0x378 for instance)
|
||||
|
@ -747,7 +748,8 @@ init_options (Umax_PP_Device * dev)
|
|||
}
|
||||
|
||||
static int
|
||||
parse_int_option (const char *string, char *name, long int *value, long int fallback)
|
||||
parse_int_option (const char *string, char *name, long int *value,
|
||||
long int fallback)
|
||||
{
|
||||
int len;
|
||||
char *end;
|
||||
|
@ -763,7 +765,8 @@ parse_int_option (const char *string, char *name, long int *value, long int fall
|
|||
|
||||
if (end == string || errno)
|
||||
{
|
||||
DBG (2, "init: invalid value `%s`, using fallback '%ld'\n", string,fallback);
|
||||
DBG (2, "init: invalid value `%s`, using fallback '%ld'\n", string,
|
||||
fallback);
|
||||
*value = fallback;
|
||||
}
|
||||
DBG (3, "init: option %s %ld\n", name, *value);
|
||||
|
@ -851,7 +854,8 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize)
|
|||
}
|
||||
else if (parse_int_option (cp, "astra", &val, 0))
|
||||
{
|
||||
if((val!=610)&&(val!=1200)&&(val!=1600)&&(val!=2000))
|
||||
if ((val != 610) && (val != 1200) && (val != 1600)
|
||||
&& (val != 2000))
|
||||
{
|
||||
val = 0;
|
||||
DBG (2, "init: invalid value `%s`, falling back to %ld\n",
|
||||
|
@ -912,7 +916,8 @@ sane_init (SANE_Int * version_code, SANE_Auth_Callback authorize)
|
|||
DBG (2, "init: invalid value `%s`, falling back to %ld\n",
|
||||
cp, val);
|
||||
}
|
||||
DBG (3, "init: setting global option green-offset to %ld\n", val);
|
||||
DBG (3, "init: setting global option green-offset to %ld\n",
|
||||
val);
|
||||
green_offset = val;
|
||||
}
|
||||
else if (parse_int_option (cp, "blue-offset", &val, 10))
|
||||
|
@ -2077,11 +2082,21 @@ sane_start (SANE_Handle handle)
|
|||
DBG (2, "sane_start: checking if scanner is parking head .... \n");
|
||||
|
||||
rc = sanei_umax_pp_status ();
|
||||
points = 0;
|
||||
|
||||
/* check if scanner busy parking */
|
||||
/* if so, wait parking completion */
|
||||
DBG (2, "sane_start: scanner busy\n");
|
||||
while ((rc == UMAX1220P_BUSY) && (points < 30))
|
||||
{
|
||||
sleep (1);
|
||||
rc = sanei_umax_pp_status ();
|
||||
points++;
|
||||
}
|
||||
/* timeout waiting for scanner */
|
||||
if (rc == UMAX1220P_BUSY)
|
||||
{
|
||||
DBG (2, "sane_start: scanner busy\n");
|
||||
DBG (2, "sane_start: scanner still busy\n");
|
||||
return SANE_STATUS_DEVICE_BUSY;
|
||||
}
|
||||
dev->state = UMAX_PP_STATE_IDLE;
|
||||
|
|
Ładowanie…
Reference in New Issue