kopia lustrzana https://gitlab.com/sane-project/backends
* 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 v9merge-requests/1/head
rodzic
7eedd6b799
commit
56ed54d96e
15
ChangeLog
15
ChangeLog
|
@ -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
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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 (
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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"
|
||||
|
|
Ładowanie…
Reference in New Issue