kopia lustrzana https://gitlab.com/sane-project/backends
HP3670 WIP
rodzic
8758d7de00
commit
166c6219ff
|
@ -4231,6 +4231,7 @@ genesys_start_scan (Genesys_Device * dev)
|
|||
{
|
||||
SANE_Status status;
|
||||
unsigned int steps, expected;
|
||||
SANE_Bool empty;
|
||||
|
||||
DBG (DBG_proc, "genesys_start_scan\n");
|
||||
|
||||
|
@ -4425,6 +4426,13 @@ genesys_start_scan (Genesys_Device * dev)
|
|||
}
|
||||
}
|
||||
while (steps < expected);
|
||||
|
||||
/* wait for buffers to be filled */
|
||||
do
|
||||
{
|
||||
RIE (sanei_genesys_test_buffer_empty (dev, &empty));
|
||||
}
|
||||
while (empty);
|
||||
|
||||
/* when doing one or two-table movement, let the motor settle to scanning speed */
|
||||
/* and scanning start before reading data */
|
||||
|
|
|
@ -1075,14 +1075,15 @@ static Genesys_Model hp3670c_model = {
|
|||
DAC_WOLFSON_HP3670,
|
||||
GPO_HP3670,
|
||||
MOTOR_HP3670,
|
||||
GENESYS_FLAG_14BIT_GAMMA
|
||||
GENESYS_FLAG_LAZY_INIT
|
||||
| GENESYS_FLAG_14BIT_GAMMA
|
||||
| GENESYS_FLAG_NO_CALIBRATION /* until fully supported */
|
||||
/* | GENESYS_FLAG_SEARCH_START
|
||||
| GENESYS_FLAG_DARK_CALIBRATION
|
||||
| GENESYS_FLAG_OFFSET_CALIBRATION until fully supported */
|
||||
| GENESYS_FLAG_SKIP_WARMUP
|
||||
| GENESYS_FLAG_CUSTOM_GAMMA,
|
||||
GENESYS_HAS_SCAN_SW | GENESYS_HAS_COPY_SW | GENESYS_HAS_EMAIL_SW,
|
||||
GENESYS_HAS_NO_BUTTONS,
|
||||
20,
|
||||
200
|
||||
};
|
||||
|
|
|
@ -2021,8 +2021,10 @@ gl646_set_lamp_power (Genesys_Device * dev,
|
|||
* @param SANE_TRUE to enable power saving, SANE_FALSE to leave it
|
||||
* @return allways SANE_STATUS_GOOD
|
||||
*/
|
||||
static SANE_Status
|
||||
gl646_save_power (Genesys_Device * dev, SANE_Bool enable)
|
||||
#ifndef UNIT_TESTING
|
||||
static
|
||||
#endif
|
||||
SANE_Status gl646_save_power (Genesys_Device * dev, SANE_Bool enable)
|
||||
{
|
||||
|
||||
DBG (DBG_proc, "gl646_save_power: start\n");
|
||||
|
@ -2050,7 +2052,7 @@ gl646_set_powersaving (Genesys_Device * dev, int delay /* in minutes */ )
|
|||
SANE_Status status = SANE_STATUS_GOOD;
|
||||
Genesys_Register_Set local_reg[6];
|
||||
int rate, exposure_time, tgtime, time;
|
||||
|
||||
return SANE_STATUS_GOOD;
|
||||
DBG (DBG_proc, "gl646_set_powersaving (delay = %d)\n", delay);
|
||||
|
||||
local_reg[0].address = 0x01;
|
||||
|
@ -2723,7 +2725,10 @@ gl646_end_scan (Genesys_Device * dev, Genesys_Register_Set * reg,
|
|||
* @param dev scanner's device
|
||||
* @param wait_until_home true if the function waits until head parked
|
||||
*/
|
||||
static SANE_Status
|
||||
#ifndef UNIT_TESTING
|
||||
static
|
||||
#endif
|
||||
SANE_Status
|
||||
gl646_slow_back_home (Genesys_Device * dev, SANE_Bool wait_until_home)
|
||||
{
|
||||
SANE_Status status;
|
||||
|
@ -4424,7 +4429,7 @@ gl646_init (Genesys_Device * dev)
|
|||
RIE (gl646_bulk_write_register (dev, dev->reg, GENESYS_GL646_MAX_REGS));
|
||||
|
||||
/* Test ASIC and RAM */
|
||||
if (!dev->model->flags & GENESYS_FLAG_LAZY_INIT)
|
||||
if (!(dev->model->flags & GENESYS_FLAG_LAZY_INIT))
|
||||
{
|
||||
RIE (gl646_asic_test (dev));
|
||||
}
|
||||
|
@ -4686,6 +4691,7 @@ simple_scan (Genesys_Device * dev, Genesys_Settings settings, SANE_Bool move,
|
|||
|
||||
/* no shading correction and not watch dog for simple scan */
|
||||
dev->reg[reg_0x01].value &= ~(REG01_DVDSET | REG01_DOGENB);
|
||||
dev->reg[reg_0x01].value |= REG01_DOGENB; /* XXX STEF XXX */
|
||||
if (shading == SANE_TRUE)
|
||||
{
|
||||
dev->reg[reg_0x01].value |= REG01_DVDSET;
|
||||
|
@ -4693,6 +4699,7 @@ simple_scan (Genesys_Device * dev, Genesys_Settings settings, SANE_Bool move,
|
|||
|
||||
/* one table movement for simple scan */
|
||||
dev->reg[reg_0x02].value &= ~REG02_FASTFED;
|
||||
dev->reg[reg_0x02].value |= REG02_FASTFED; /* XXX STEF XXX */
|
||||
|
||||
if (move == SANE_FALSE)
|
||||
{
|
||||
|
|
Ładowanie…
Reference in New Issue