diff options
| author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2015-01-02 20:06:30 +0100 | 
|---|---|---|
| committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2015-01-02 20:06:30 +0100 | 
| commit | b2802d98d4486d6afc585062f4ca02fddf829dc5 (patch) | |
| tree | b74907ddd07161872edfa3d8be1a4ece63a6ec62 /backend/epjitsu.h | |
| parent | 29eaee2cf7c71df75a2d31f82738cc3a060f7a88 (diff) | |
Release 1.0.25+git20150102-1
Diffstat (limited to 'backend/epjitsu.h')
| -rw-r--r-- | backend/epjitsu.h | 49 | 
1 files changed, 32 insertions, 17 deletions
diff --git a/backend/epjitsu.h b/backend/epjitsu.h index ed63504..7bb1ccc 100644 --- a/backend/epjitsu.h +++ b/backend/epjitsu.h @@ -18,8 +18,7 @@ enum scanner_Option    OPT_MODE_GROUP,    OPT_SOURCE,   /*adffront/adfback/adfduplex/fb*/    OPT_MODE,     /*mono/gray/color*/ -  OPT_X_RES, -  OPT_Y_RES, +  OPT_RES,    OPT_GEOMETRY_GROUP,    OPT_TL_X, @@ -56,7 +55,11 @@ struct image {    int width_bytes;    int height;    int pages; - +  int x_res; +  int y_res; +  int x_start_offset; +  int x_offset_bytes; +  int y_skip_offset;    unsigned char * buffer;  }; @@ -68,6 +71,8 @@ struct transfer {    int total_bytes;    int rx_bytes;    int done; +  int x_res; +  int y_res;    unsigned char * raw_data;    struct image * image; @@ -77,6 +82,9 @@ struct page {    int bytes_total;    int bytes_scanned;    int bytes_read; +  int lines_rx;   /* received from scanner */ +  int lines_pass; /* passed thru from scanner to user (might be smaller than tx for 225dpi) */ +  int lines_tx;   /* transmitted to user */    int done;    struct image *image;  }; @@ -94,15 +102,13 @@ struct scanner    int has_fb;    int has_adf; -  int x_res_150; -  int x_res_225; -  int x_res_300; -  int x_res_600; +  int has_adf_duplex; + +  int min_res; +  int max_res; -  int y_res_150; -  int y_res_225; -  int y_res_300; -  int y_res_600; +  float white_factor[3]; +  int adf_height_padding;    /* the scan size in 1/1200th inches, NOT basic_units or sane units */    int max_x; @@ -127,8 +133,7 @@ struct scanner    /*mode group, room for lineart, gray, color, null */    SANE_String_Const source_list[5];    SANE_String_Const mode_list[4]; -  SANE_Int x_res_list[4]; -  SANE_Int y_res_list[4]; +  SANE_Range res_range;    /*geometry group*/    SANE_Range tl_x_range; @@ -151,9 +156,7 @@ struct scanner    /*mode group*/    int source;         /* adf or fb */    int mode;           /* color,lineart,etc */ -  int res;            /* from a limited list, x and y same */ -  int resolution_x;   /* unused dummy */ -  int resolution_y;   /* unused dummy */ +  int resolution;     /* dpi */    /*geometry group*/    /* The desired size of the scan, all in 1/1200 inch */ @@ -213,6 +216,8 @@ struct scanner    /* the scan struct holds these larger numbers, but image buffer is unused */    struct {        int done; +      int x_res; +      int y_res;        int height;        int rx_bytes;        int width_bytes; @@ -257,6 +262,9 @@ struct scanner  #define MODEL_NONE 0  #define MODEL_S300 1  #define MODEL_FI60F 2 +#define MODEL_S1100 3 +#define MODEL_S1300i 4 +#define MODEL_FI65F 5  #define USB_COMMAND_TIME   10000  #define USB_DATA_TIME      10000 @@ -278,6 +286,9 @@ struct scanner  #define WINDOW_SENDCAL 2  #define WINDOW_SCAN 3 +#define EPJITSU_PAPER_INGEST 1 +#define EPJITSU_PAPER_EJECT 0 +  /* ------------------------------------------------------------------------- */  #define MM_PER_UNIT_UNFIX SANE_UNFIX(SANE_FIX(MM_PER_INCH / 1200.0)) @@ -286,6 +297,9 @@ struct scanner  #define SCANNER_UNIT_TO_FIXED_MM(number) SANE_FIX((number) * MM_PER_UNIT_UNFIX)  #define FIXED_MM_TO_SCANNER_UNIT(number) SANE_UNFIX(number) / MM_PER_UNIT_UNFIX +#define PIX_TO_SCANNER_UNIT(number, dpi) SANE_UNFIX(SANE_FIX((number) * 1200 / dpi )) +#define SCANNER_UNIT_TO_PIX(number, dpi) SANE_UNFIX(SANE_FIX((number) * dpi / 1200 )) +  #define CONFIG_FILE "epjitsu.conf"  #ifndef PATH_MAX @@ -354,7 +368,8 @@ static SANE_Status destroy(struct scanner *s);  static SANE_Status teardown_buffers(struct scanner *s);  static SANE_Status setup_buffers(struct scanner *s); -static SANE_Status ingest(struct scanner *s); +static SANE_Status object_position(struct scanner *s, int ingest); +static SANE_Status six5 (struct scanner *s);  static SANE_Status coarsecal(struct scanner *s);  static SANE_Status finecal(struct scanner *s);  static SANE_Status send_lut(struct scanner *s);  | 
