kopia lustrzana https://gitlab.com/sane-project/backends
- renamed per frontend struct tp Rts8891_Session
- made use of new well-known option groups - added warming-up handling in sane_start()merge-requests/1/head
rodzic
c97e99a430
commit
1ed1d84f85
|
@ -1,3 +1,9 @@
|
||||||
|
2008-05-26 Stéphane Voltz <stef.dev@free.fr>
|
||||||
|
* backend/rts8891.[ch], backend/rts8891_low.[ch],
|
||||||
|
backend/rts88xx_lib.[ch]: renamed per frontend struct, made use of
|
||||||
|
new well-known option groups. Added warming-up handling in
|
||||||
|
sane_start().
|
||||||
|
|
||||||
2008-05-22 Stéphane Voltz <stef.dev@free.fr>
|
2008-05-22 Stéphane Voltz <stef.dev@free.fr>
|
||||||
* backend/genesys.c:
|
* backend/genesys.c:
|
||||||
changed top of scan area detection for MD6228/MD6471 models
|
changed top of scan area detection for MD6228/MD6471 models
|
||||||
|
|
Plik diff jest za duży
Load Diff
|
@ -65,10 +65,11 @@
|
||||||
*/
|
*/
|
||||||
enum Rts8891_Option
|
enum Rts8891_Option
|
||||||
{ OPT_NUM_OPTS = 0,
|
{ OPT_NUM_OPTS = 0,
|
||||||
OPT_MODE_GROUP,
|
OPT_STANDARD_GROUP,
|
||||||
OPT_MODE,
|
OPT_MODE,
|
||||||
OPT_PREVIEW,
|
OPT_PREVIEW,
|
||||||
OPT_RESOLUTION,
|
OPT_RESOLUTION,
|
||||||
|
|
||||||
OPT_GEOMETRY_GROUP,
|
OPT_GEOMETRY_GROUP,
|
||||||
OPT_TL_X, /* top-left x */
|
OPT_TL_X, /* top-left x */
|
||||||
OPT_TL_Y, /* top-left y */
|
OPT_TL_Y, /* top-left y */
|
||||||
|
@ -90,7 +91,7 @@ enum Rts8891_Option
|
||||||
OPT_LAMP_OFF,
|
OPT_LAMP_OFF,
|
||||||
|
|
||||||
/* button group */
|
/* button group */
|
||||||
OPT_BUTTON_GROUP,
|
OPT_SENSOR_GROUP,
|
||||||
OPT_BUTTON_1,
|
OPT_BUTTON_1,
|
||||||
OPT_BUTTON_2,
|
OPT_BUTTON_2,
|
||||||
OPT_BUTTON_3,
|
OPT_BUTTON_3,
|
||||||
|
@ -110,11 +111,11 @@ enum Rts8891_Option
|
||||||
* the functions defined in SANE's standard. Informations closer
|
* the functions defined in SANE's standard. Informations closer
|
||||||
* to the hardware are in the Rts8891_Device structure.
|
* to the hardware are in the Rts8891_Device structure.
|
||||||
*/
|
*/
|
||||||
typedef struct Rts8891_Scanner
|
typedef struct Rts8891_Session
|
||||||
{
|
{
|
||||||
|
|
||||||
/**< Next handle in linked list */
|
/**< Next handle in linked list */
|
||||||
struct Rts8891_Scanner *next;
|
struct Rts8891_Session *next;
|
||||||
|
|
||||||
/**< Low-level device object */
|
/**< Low-level device object */
|
||||||
struct Rts8891_Device *dev;
|
struct Rts8891_Device *dev;
|
||||||
|
@ -137,6 +138,6 @@ typedef struct Rts8891_Scanner
|
||||||
|
|
||||||
/**< bytes currently sent to frontend during the scan */
|
/**< bytes currently sent to frontend during the scan */
|
||||||
SANE_Int sent;
|
SANE_Int sent;
|
||||||
} Rts8891_Scanner;
|
} Rts8891_Session;
|
||||||
|
|
||||||
#endif /* not RTS8891_H */
|
#endif /* not RTS8891_H */
|
||||||
|
|
|
@ -46,10 +46,10 @@
|
||||||
* and separate functions with different goals.
|
* and separate functions with different goals.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "sane/config.h"
|
#include "../include/sane/config.h"
|
||||||
#include "sane/sane.h"
|
#include "../include/sane/sane.h"
|
||||||
#include "sane/sanei_backend.h"
|
#include "../include/sane/sanei_backend.h"
|
||||||
#include "sane/sanei_usb.h"
|
#include "../include/sane/sanei_usb.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#ifdef HAVE_SYS_TIME_H
|
#ifdef HAVE_SYS_TIME_H
|
||||||
|
@ -527,11 +527,11 @@ rts8891_park (SANE_Int devnum, SANE_Byte * regs)
|
||||||
* mode since we cope with it on first data wait.
|
* mode since we cope with it on first data wait.
|
||||||
*/
|
*/
|
||||||
static SANE_Status
|
static SANE_Status
|
||||||
read_data (struct Rts8891_Scanner *scanner, SANE_Byte * dest, SANE_Int length)
|
read_data (struct Rts8891_Session *session, SANE_Byte * dest, SANE_Int length)
|
||||||
{
|
{
|
||||||
SANE_Status status = SANE_STATUS_GOOD;
|
SANE_Status status = SANE_STATUS_GOOD;
|
||||||
SANE_Int count, read, len, dummy;
|
SANE_Int count, read, len, dummy;
|
||||||
struct Rts8891_Device *dev = scanner->dev;
|
struct Rts8891_Device *dev = session->dev;
|
||||||
static FILE *raw = NULL; /* for debugging purpose we need it static */
|
static FILE *raw = NULL; /* for debugging purpose we need it static */
|
||||||
SANE_Byte control = 0x08;
|
SANE_Byte control = 0x08;
|
||||||
unsigned char buffer[RTS88XX_MAX_XFER_SIZE];
|
unsigned char buffer[RTS88XX_MAX_XFER_SIZE];
|
||||||
|
@ -565,7 +565,7 @@ read_data (struct Rts8891_Scanner *scanner, SANE_Byte * dest, SANE_Int length)
|
||||||
/* in case there is no data, we return BUSY since this mean */
|
/* in case there is no data, we return BUSY since this mean */
|
||||||
/* that scanning head hasn't reach is position and data hasn't */
|
/* that scanning head hasn't reach is position and data hasn't */
|
||||||
/* come yet */
|
/* come yet */
|
||||||
if (scanner->non_blocking && count == 0)
|
if (session->non_blocking && count == 0)
|
||||||
{
|
{
|
||||||
|
|
||||||
dev->regs[LAMP_REG] = 0x8d;
|
dev->regs[LAMP_REG] = 0x8d;
|
||||||
|
@ -657,9 +657,9 @@ read_data (struct Rts8891_Scanner *scanner, SANE_Byte * dest, SANE_Int length)
|
||||||
{
|
{
|
||||||
/* PNM header */
|
/* PNM header */
|
||||||
fprintf (raw, "P%c\n%d %d\n255\n",
|
fprintf (raw, "P%c\n%d %d\n255\n",
|
||||||
scanner->params.format ==
|
session->params.format ==
|
||||||
SANE_FRAME_RGB
|
SANE_FRAME_RGB
|
||||||
|| scanner->emulated_gray ==
|
|| session->emulated_gray ==
|
||||||
SANE_TRUE ? '6' : '5', dev->pixels,
|
SANE_TRUE ? '6' : '5', dev->pixels,
|
||||||
dev->lines);
|
dev->lines);
|
||||||
}
|
}
|
||||||
|
|
|
@ -205,11 +205,27 @@ struct Rts8891_Device
|
||||||
/* end of the data buffer */
|
/* end of the data buffer */
|
||||||
SANE_Byte *end;
|
SANE_Byte *end;
|
||||||
|
|
||||||
/* amount of bytes read from scanner */
|
/**
|
||||||
|
* amount of bytes read from scanner
|
||||||
|
*/
|
||||||
SANE_Int read;
|
SANE_Int read;
|
||||||
|
|
||||||
/* total amount of bytes to read for the scan */
|
/**
|
||||||
|
* total amount of bytes to read for the scan
|
||||||
|
*/
|
||||||
SANE_Int to_read;
|
SANE_Int to_read;
|
||||||
|
|
||||||
|
#ifdef HAVE_SYS_TIME_H
|
||||||
|
/**
|
||||||
|
* last scan time, used to detect if warming-up is needed
|
||||||
|
*/
|
||||||
|
struct timeval last_scan;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* warming-up start time
|
||||||
|
*/
|
||||||
|
struct timeval start_time;
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -43,10 +43,10 @@
|
||||||
|
|
||||||
/* this file contains functions common to rts88xx ASICs */
|
/* this file contains functions common to rts88xx ASICs */
|
||||||
|
|
||||||
#include "sane/config.h"
|
#include "../include/sane/config.h"
|
||||||
#include "sane/sane.h"
|
#include "../include/sane/sane.h"
|
||||||
#include "sane/sanei_backend.h"
|
#include "../include/sane/sanei_backend.h"
|
||||||
#include "sane/sanei_usb.h"
|
#include "../include/sane/sanei_usb.h"
|
||||||
#include "rts88xx_lib.h"
|
#include "rts88xx_lib.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
|
@ -43,10 +43,10 @@
|
||||||
|
|
||||||
#ifndef RTS88XX_LIB_H
|
#ifndef RTS88XX_LIB_H
|
||||||
#define RTS88XX_LIB_H
|
#define RTS88XX_LIB_H
|
||||||
#include "sane/sane.h"
|
#include "../include/sane/sane.h"
|
||||||
#include "sane/sanei_usb.h"
|
#include "../include/sane/sanei_usb.h"
|
||||||
#include "unistd.h"
|
#include <unistd.h>
|
||||||
#include "string.h"
|
#include <string.h>
|
||||||
|
|
||||||
/* TODO put his in a place where it can be reused */
|
/* TODO put his in a place where it can be reused */
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue