diff --git a/AUTHORS b/AUTHORS index da829f5d7..8a7b084e1 100644 --- a/AUTHORS +++ b/AUTHORS @@ -16,6 +16,7 @@ Backends: avision: Meino Christian Cramer, Rene Rebe(*) bh: Tom Martone (*) canon: Helmut Koeberle, Manuel Panea (*), and Markus Mertinat + canon_pp: Matthew Duggan (*), Simon Krix coolscan: Didier Carlier, Andreas Rick (*) dc25: Peter Fales (*) dc210: Brian J. Murrell @@ -125,6 +126,7 @@ Manuel Panea Marcio Teixeira Marian Eichholz Markus Mertinat +Matthew Duggan Matthew Marjanovic Meino Christian Cramer Michael Herder @@ -142,6 +144,7 @@ Randolph Bentson Rene Rebe Roger Wolff Sebastien Sable +Simon Krix Simon Munton Stéphane Voltz Tom Martone diff --git a/doc/Makefile.in b/doc/Makefile.in index 1e2214222..eae9b2f91 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -47,7 +47,7 @@ SECT5 = sane-abaton.5 sane-agfafocus.5 sane-apple.5 sane-as6e.5 sane-dll.5 \ sane-st400.5 sane-mustek_pp.5 sane-dc210.5 sane-v4l.5 \ sane-snapscan.5 sane-canon.5 sane-coolscan.5 sane-bh.5 sane-dc240.5 \ sane-umax_pp.5 sane-umax1220u.5 sane-sm3600.5 sane-usb.5 \ - sane-mustek_usb.5 sane-sceptre.5 + sane-mustek_usb.5 sane-sceptre.5 sane-canon_pp.5 SECT7 = sane.7 MANPAGES = $(SECT1) $(SECT5) $(SECT7) READMES = README AUTHORS COPYING ChangeLog LEVEL2 LICENSE NEWS PROBLEMS \ @@ -81,7 +81,7 @@ DISTFILES = Makefile.in backend-writing.txt doxygen-sanei.conf html.sty \ sane-scsi.man sane-sharp.man sane-sm3600.man sane-snapscan.man \ sane-st400.man sane-tamarack.man sane-umax.man sane-umax1220u.man \ sane-umax_pp.man sane-usb.man sane-v4l.man sane.man sane.png \ - sane.tex saned.man scanimage.man sane-sceptre.man \ + sane.tex saned.man scanimage.man sane-sceptre.man sane-canon_pp.man .PHONY: all clean depend dist distclean html html-man install \ install-mostang sane-html uninstall diff --git a/doc/descriptions/canon_pp.desc b/doc/descriptions/canon_pp.desc new file mode 100644 index 000000000..ee3252ac4 --- /dev/null +++ b/doc/descriptions/canon_pp.desc @@ -0,0 +1,33 @@ +; SANE Backend specification file +; +; It's basically emacs-lisp --- so ";" indicates comment to end of line. +; All syntactic elements are keyword tokens, followed by a string or +; keyword argument, as specified. +; +; ":backend" *must* be specified. +; All other information is optional (but what good is the file without it?). +; + +:backend "canon_pp" ; name of backend +; :manpage "sane-canon" +:version "0.1" ; version of backend +:status :alpha ; :alpha, :beta, :stable, :new + +:url "http://canon-fb330p.sourceforge.net" ; backend home page + +:devicetype :scanner + +:mfg "Canon" ; name a manufacturer +:url "http://www.canon.com/" +:model "CanoScan FB330P" ; name models for above-specified mfg. +:interface "Parport (EPP)" +:comment "1 pass; flatbed scanner" +:model "CanoScan FB630P" ; name models for above-specified mfg. +:interface "Parport (EPP)" +:comment "1 pass; flatbed scanner" +:model "CanoScan N340P" ; name models for above-specified mfg. +:interface "Parport (EPP)" +:comment "1 pass; flatbed scanner" +:model "CanoScan N640P" ; name models for above-specified mfg. +:interface "Parport (EPP)" +:comment "1 pass; flatbed scanner" diff --git a/doc/sane-canon_pp.man b/doc/sane-canon_pp.man new file mode 100644 index 000000000..00cab8cb2 --- /dev/null +++ b/doc/sane-canon_pp.man @@ -0,0 +1,159 @@ +.TH sane-canon_pp 5 "30 March 2002" +.IX sane-canon_pp +.SH NAME +sane-canon_pp - SANE backend for Canon Parallel Port flatbed scanners +.SH DESCRIPTION +The +.B sane-canon_pp +library implements a SANE (Scanner Access Now Easy) backend that +provides access to the following Canon flatbed scanners: +.PP +.RS +CanoScan FB330P +.br +CanoScan FB630P +.br +CanoScan N340P +.br +CanoScan N640P +.br +.RE +.PP +No USB scanners are supported and there are no plans to support them in +the future. Other projects are working on support for USB scanners. See the +.B PROJECTS +file for more detail. We cannot add support for the FB310P or FB320P at the +moment, but contact us if you have one of these scanners and would really like +to help. +.PP +IMPORTANT: this is alpha code. While we have made every effort to make it as +reliable as possible, it will not always work as expected. Feedback is still +appreciated. Please send any bug reports to the maintainers as listed on the +web page (listed in +.B SEE ALSO +below). +.PP +. +.PP +.SH "DEVICE NAMES" +This backend expects device names of the form presented by libieee1284. These names are highly dependant on operating system and version. + +On Linux 2.4 kernels this will be of the form +.I "parport0" +or older (2.2) kernels may produce names like +.IR "0x378" +or simply +.IR "0" +depending on your module configuration. Check the contents of +.I /proc/parport +if it exists. If you don't want to specify a default port (or don't know +its name), the backend should be able to detect which port your scanner is on. + +.SH CONFIGURATION +The contents of the +.I canon_pp.conf +file is a list of options for the driver to use. Empty lines and lines +starting with a hash mark (#) are ignored. +.PP +The supported options are currently +.BR ieee1284 , +.BR calibrate , +and +.BR force_nibble + +Option +.B ieee1284 +.IR portname +defines which port to use. The format of portname is OS dependant, based on +the names presented by libieee1284. Please only have one of these lines, or +all but one will be ignored. + +Option +.B calibrate +.IR cal-file +.IR [portname] +defines which calibration file to use on a per-port basis. If you only have +one scanner, the portname argument may be omitted - but be careful as this +will cause problems on multi-scanner systems. You may have as many of these +lines as you like, as long as each has a unique port name. The tilde (`~') +character is acceptable and will be expaned to the value of the HOME environment. + +Option +.B force_nibble +forces the driver to use nibble mode even if ECP mode is reported to work +by libieee1284. This works-around the rare issue of ECP mode being reported to +work by the library, then not working. + +.SH TIPS +.PP +Hit the "Calibrate" button before scanning. It vastly improves the quality +of scans. +.PP +To enable automatic detection of your scanner, uncomment the "canon_pp" line from +.I @CONFIGDIR@/dll.conf +.PP +.SH FILES +.TP +.I @CONFIGDIR@/canon_pp.conf +The backend configuration file (see also description of +.B SANE_CONFIG_DIR +below). +.TP +.I @LIBDIR@/libsane-canon_pp.a +The static library implementing this backend. +.TP +.I @LIBDIR@/libsane-canon_pp.so +The shared library implementing this backend (present on systems that +support dynamic loading). +.SH ENVIRONMENT +.TP +.B SANE_CONFIG_DIR +This environment variable specifies the list of directories that may +contain the configuration file. Under UNIX, the directories are +separated by a colon (`:'), under OS/2, they are separated by a +semi-colon (`;'). If this variable is not set, the configuration file +is searched in two default directories: first, the current working +directory (".") and then in @CONFIGDIR@. If the value of the +environment variable ends with the directory separator character, then +the default directories are searched after the explicitly specified +directories. For example, setting +.B SANE_CONFIG_DIR +to "/tmp/config:" would result in directories "tmp/config", ".", and +"@CONFIGDIR@" being searched (in this order). +.TP +.B SANE_DEBUG_CANON_PP +If the library was compiled with debug support enabled, this +environment variable controls the debug level for this backend. Higher +debug levels increase the verbosity of the output. + +Example: +export SANE_DEBUG_CANON_PP=4 +.SH BUGS +A note on features available in the Windows interface: +.TP +.B Brightness and Contrast +These are not implemented, and probably never will be. These +appear to be implented entirely in software. Use GIMP or a similar program if +you need these features. +.TP +.B Descreen Mode +This appears on our first analysis to be just oversampling with an +anti-aliasing filter. Again, it seems to be implemeneted entirely in +software, so GIMP is your best bet for now. +.TP +.B Gamma Tables +This is under investigation, but for now only a simple gamma profile will be +loaded. + +.SH "SEE ALSO" +sane(7), sane-dll(5) +.BR +http://canon-fb330p.sourceforge.net/ + +.SH AUTHOR +This backend is primarily the work of Simon Krix (Reverse Engineering), and +Matthew Duggan (SANE interface). +.PP +Many thanks to Kevin Easton for his comments and help, and Kent A. Signorini +for his help with the N340P. + diff --git a/doc/sane.man b/doc/sane.man index 3c6c9ca35..a59cadb3f 100644 --- a/doc/sane.man +++ b/doc/sane.man @@ -1,4 +1,4 @@ -.TH sane 7 "11 Mar 2002" +.TH sane 7 "2 Apr 2002" .IX sane .SH NAME @@ -153,6 +153,10 @@ scanners. See sane-bh(5) for details. The canon backend supports the CanoScan 300, CanoScan 600, and CanoScan 2700F SCSI flatbed scanners. See sane-canon(5) for details. .TP +.B canon_pp +The canon_pp backend supports the CanoScan FB330P, FB630P, N340P and N640P +parallel port scanners. See sane-canon_pp(5) for details. +.TP .B coolscan This is a SANE backend for Nikon Coolscan film-scanners. See sane-coolscan(5) for details.