* backend/canon_dr.[ch], backend/canon_dr-cmd.h: backend v9

- add rollerdeskew and stapledetect options
- add rollerdeskew and stapledetect bits to ssm_df()
* doc/descriptions/canon_dr.desc: backend v9
merge-requests/1/head
m. allan noah 2008-12-09 03:21:47 +00:00
rodzic 7eedd6b799
commit 56ed54d96e
5 zmienionych plików z 84 dodań i 24 usunięć

Wyświetl plik

@ -1,3 +1,9 @@
2008-12-08 m. allan noah <kitno455 a t gmail d o t com>
* backend/canon_dr.[ch], backend/canon_dr-cmd.h: backend v9
- add rollerdeskew and stapledetect options
- add rollerdeskew and stapledetect bits to ssm_df()
* doc/descriptions/canon_dr.desc: backend v9
2008-12-08 m. allan noah <kitno455 a t gmail d o t com>
* backend/avision.c: backend v289
- fix sending SIGTERM when reader_pid == 0
@ -13,13 +19,14 @@
* doc/descriptions/canon_dr.desc, doc/sane-canon_dr.man: backend v8
2008-12-06 Louis Lagendijk <llagendijk-guest at users.alioth.debian.org>
* replaced getlogin/getenv by getpwuid(geteuid)
* backend/pixma_bjnp.c pixma_bjnp_private.h:
replaced getlogin/getenv by getpwuid(geteuid)
2008-12-06 Louis Lagendijk <llagendijk-guest at users.alioth.debian.org>
* backend/pixma_bjnp.c pixma_bjnp_private.h
On Ubuntu getlogin() returns NULL. So we noew first try getlogin()
* backend/pixma_bjnp.c pixma_bjnp_private.h:
On Ubuntu getlogin() returns NULL. So we now first try getlogin()
and if that fails, we try getenv("USER") and if that fails we use
a defaul user string
a default user string
2008-12-03 Stéphane Voltz <stef.dev@free.fr>
* backend/rts8891.c backend/rts8891_low.c: possible fix for

Wyświetl plik

@ -306,10 +306,10 @@ putnbyte (unsigned char *pnt, unsigned int value, unsigned int nbytes)
#define set_SSM_page_len(sb, val) sb[0x05] = val
/* for DF page */
#define set_SSM_DF_unk1(sb, val) setbitfield(sb+7, 1, 5, val)
#define set_SSM_DF_deskew_roll(sb, val) setbitfield(sb+7, 1, 5, val)
#define set_SSM_DF_staple(sb, val) setbitfield(sb+7, 1, 4, val)
#define set_SSM_DF_len(sb, val) setbitfield(sb+7, 1, 0, val)
#define set_SSM_DF_thick(sb, val) setbitfield(sb+7, 1, 2, val)
#define set_SSM_DF_len(sb, val) setbitfield(sb+7, 1, 0, val)
#define set_SSM_DF_textdir(sb, val) setbitfield(sb+9, 0xf, 0, val)
/* for DUPLEX page */

Wyświetl plik

@ -109,6 +109,9 @@
- call TUR twice in wait_scanner(), even if first succeeds
- disable rif
- enable brightness/contrast/threshold options
v9 2008-12-07, MAN
- add rollerdeskew and stapledetect options
- add rollerdeskew and stapledetect bits to ssm_df()
SANE FLOW DIAGRAM
@ -169,7 +172,7 @@
#include "canon_dr.h"
#define DEBUG 1
#define BUILD 8
#define BUILD 9
/* values for SANE_DEBUG_CANON_DR env var:
- errors 5
@ -1672,6 +1675,30 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option)
opt->cap = SANE_CAP_INACTIVE;
}
/*deskew by roller*/
if(option==OPT_ROLLERDESKEW){
opt->name = "rollerdeskew";
opt->title = "Roller deskew";
opt->desc = "Request scanner to correct skewed pages mechanically";
opt->type = SANE_TYPE_BOOL;
if (1)
opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
else
opt->cap = SANE_CAP_INACTIVE;
}
/*staple detection*/
if(option==OPT_STAPLEDETECT){
opt->name = "stapledetect";
opt->title = "Staple detect";
opt->desc = "Request scanner to halt if stapled pages are detected";
opt->type = SANE_TYPE_BOOL;
if (1)
opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
else
opt->cap = SANE_CAP_INACTIVE;
}
/*dropout color front*/
if(option==OPT_DROPOUT_COLOR_F){
s->do_color_list[0] = string_None;
@ -1732,12 +1759,12 @@ sane_get_option_descriptor (SANE_Handle handle, SANE_Int option)
if(option==OPT_BUFFERMODE){
opt->name = "buffermode";
opt->title = "Buffer mode";
opt->desc = "Request scanner to read pages quickly from ADF into internal memory";
opt->desc = "Request scanner to read pages async into internal memory";
opt->type = SANE_TYPE_BOOL;
if (s->has_buffer)
opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
opt->cap = SANE_CAP_SOFT_SELECT | SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED;
else
opt->cap = SANE_CAP_INACTIVE;
opt->cap = SANE_CAP_INACTIVE;
}
/* "Sensor" group ------------------------------------------------------ */
@ -1974,6 +2001,14 @@ sane_control_option (SANE_Handle handle, SANE_Int option,
*val_p = s->df_thickness;
return SANE_STATUS_GOOD;
case OPT_ROLLERDESKEW:
*val_p = s->rollerdeskew;
return SANE_STATUS_GOOD;
case OPT_STAPLEDETECT:
*val_p = s->stapledetect;
return SANE_STATUS_GOOD;
case OPT_DROPOUT_COLOR_F:
switch (s->dropout_color_f) {
case COLOR_NONE:
@ -2259,6 +2294,14 @@ sane_control_option (SANE_Handle handle, SANE_Int option,
s->df_thickness = val_c;
return ssm_df(s);
case OPT_ROLLERDESKEW:
s->rollerdeskew = val_c;
return ssm_df(s);
case OPT_STAPLEDETECT:
s->stapledetect = val_c;
return ssm_df(s);
case OPT_DROPOUT_COLOR_F:
if (!strcmp(val, string_None))
s->dropout_color_f = COLOR_NONE;
@ -2370,18 +2413,24 @@ ssm_df (struct scanner *s)
set_SSM_page_code(out, SM_pc_df);
set_SSM_page_len(out, SSM_PAGE_len);
if(s->df_thickness || s->df_length){
set_SSM_DF_unk1(out, 1);
/* thickness */
if(s->df_thickness){
set_SSM_DF_thick(out, 1);
}
/* deskew by roller */
if(s->rollerdeskew){
set_SSM_DF_deskew_roll(out, 1);
}
/* length */
if(s->df_length){
set_SSM_DF_len(out, 1);
}
/* staple detection */
if(s->stapledetect){
set_SSM_DF_staple(out, 1);
}
/* thickness */
if(s->df_thickness){
set_SSM_DF_thick(out, 1);
}
/* length */
if(s->df_length){
set_SSM_DF_len(out, 1);
}
ret = do_cmd (

Wyświetl plik

@ -40,6 +40,8 @@ enum scanner_Option
OPT_COMPRESS_ARG,
OPT_DF_THICKNESS,
OPT_DF_LENGTH,
OPT_ROLLERDESKEW,
OPT_STAPLEDETECT,
OPT_DROPOUT_COLOR_F,
OPT_DROPOUT_COLOR_B,
OPT_BUFFERMODE,
@ -225,6 +227,8 @@ struct scanner
int dropout_color_f;
int dropout_color_b;
int buffermode;
int rollerdeskew;
int stapledetect;
/* --------------------------------------------------------------------- */
/* values which are derived from setting the options above */

Wyświetl plik

@ -11,7 +11,7 @@
:backend "canon_dr" ; name of backend
:url "http://www.thebility.com/canon/"
:version "8" ; version of backend
:version "9" ; version of backend
:manpage "sane-canon_dr" ; name of manpage (if it exists)
:comment "New backend as of SANE release 1.1.0, testers needed, see manpage"
:devicetype :scanner ; start of a list of devices....
@ -83,13 +83,13 @@
:interface "USB SCSI"
:usbid "0x04a9" "0x160b"
:status :good
:comment "Simplex, duplex, all resolutions, binary/ht/gray, async mode, dropout-color, multifeed detection, buttons and gray JPEG working, imprinter unsupported"
:comment "Simplex, duplex, all resolutions, binary/ht/gray, async mode, dropout-color, multifeed/staple detection, deskew, buttons and gray JPEG working, imprinter unsupported"
:model "DR-9080C"
:interface "USB SCSI"
:usbid "0x04a9" "0x1603"
:status :good
:comment "Simplex, duplex, all resolutions, binary/ht/gray/color, async mode, dropout-color, multifeed detection, buttons and gray JPEG working, imprinter unsupported, color JPEG broken"
:comment "Simplex, duplex, all resolutions, binary/ht/gray/color, async mode, dropout-color, multifeed/staple detection, deskew, buttons and gray JPEG working, imprinter unsupported, color JPEG broken"
:model "DR-X10C"
:interface "USB SCSI"