kopia lustrzana https://gitlab.com/sane-project/backends
Added documentation for sceptre backend (patch from Frank Zago <fzago@greshamstorage.com>).
Henning Meier-Geinitz <henning@meier-geinitz.de>DEVEL_2_0_BRANCH-1
rodzic
9dfcab22b6
commit
276930ff39
|
@ -47,14 +47,14 @@ 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-mustek_usb.5 sane-sceptre.5
|
||||
SECT7 = sane.7
|
||||
MANPAGES = $(SECT1) $(SECT5) $(SECT7)
|
||||
READMES = README AUTHORS COPYING ChangeLog LEVEL2 LICENSE NEWS PROBLEMS \
|
||||
PROJECTS README README.aix README.hp-ux README.linux README.os2 \
|
||||
README.solaris README.unixware2 README.unixware7 TODO
|
||||
DOCS = backend-writing.txt sane.ps sane.dvi
|
||||
BACKDIRS= canon mustek mustek_usb umax
|
||||
BACKDIRS= canon mustek mustek_usb umax sceptre
|
||||
LATEX = TEXINPUTS=$(srcdir):$$TEXINPUTS latex
|
||||
DLH = TEXINPUTS=$(srcdir):$$TEXINPUTS dlh
|
||||
MAN2HTML= nroff -man |\
|
||||
|
@ -79,7 +79,7 @@ DISTFILES = Makefile.in backend-writing.txt doxygen-sanei.conf html.sty net.tex
|
|||
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.tex saned.man scanimage.man sane-sceptre.man \
|
||||
|
||||
.PHONY: all clean depend dist distclean html html-man install \
|
||||
install-mostang sane-backends.html sane-html uninstall
|
||||
|
|
|
@ -0,0 +1,121 @@
|
|||
.TH sane-sceptre 5 "13-Feb-2002"
|
||||
.IX sane-sceptre
|
||||
.SH NAME
|
||||
sane-sceptre - SANE backend for SCEPTRE scanners
|
||||
.SH DESCRIPTION
|
||||
The
|
||||
.B sane-sceptre
|
||||
library implements a SANE (Scanner Access Now Easy) backend that
|
||||
provides access to Sceptre flatbed scanners. This backend should be
|
||||
considered
|
||||
.B beta-quality
|
||||
software! Please report any strange behavior to the maintainer of the
|
||||
backend or to the SANE mailing list.
|
||||
.PP
|
||||
At present, only one scanner is known to work with this backend:
|
||||
.PP
|
||||
.RS
|
||||
Model: Connection Type
|
||||
.br
|
||||
--------------------------- -------------------
|
||||
.br
|
||||
Sceptre VividScan 1200 SCSI
|
||||
.RE
|
||||
|
||||
The make of this scanner is KINPO, so other scanner from that manufacturer may also work.
|
||||
.SH OPTIONS
|
||||
The options the backend supports can either be selected through command line
|
||||
options to programs like scanimage or through GUI elements in xscanimage or xsane.
|
||||
|
||||
Valid command line options and their syntax can be listed by using
|
||||
.RS
|
||||
scanimage --help -d sceptre
|
||||
.RE
|
||||
.TP
|
||||
.I Scan Mode
|
||||
The
|
||||
.I --mode
|
||||
switch selects the basic mode of operation of the scanner valid choices are
|
||||
.I Lineart, Halftone, Gray and Color.
|
||||
The Lineart and Haltone mode are black and white only (1 bit). Gray will produce 256 levels of gray (8 bits). Color will produce a 24 bits color image. The scanner suports 30 bits internally but it only exports 24.
|
||||
|
||||
The
|
||||
.I --halftone-pattern
|
||||
switch selects the pattern mode that is used in Halftone mode. Valid options are 1, 2, 3 and 4.
|
||||
|
||||
The
|
||||
.I --gamma-correction
|
||||
switch controls the scanne internal gamma correction. Valid options are "Default", "User
|
||||
defined", "High density printing" "Low density printing" and "High contrast printing".
|
||||
|
||||
The
|
||||
.I --resolution
|
||||
switch selects the resolution for a scan. The scanner can do several resolutions between 50 and 1200.
|
||||
|
||||
The
|
||||
.I --custom-gamma
|
||||
parameter allows the user to specify a gamma table (see the next 3 parameters).
|
||||
|
||||
The
|
||||
.I --red-gamma-table
|
||||
parameter can be used to download a user defined gamma table for the red channel. The table must be 256 bytes long.
|
||||
|
||||
The
|
||||
.I --green-gamma-table
|
||||
parameter can be used to download a user defined gamma table for the green channel. The table must be 256 bytes long.
|
||||
|
||||
The
|
||||
.I --blue-gamma-table
|
||||
parameter can be used to download a user defined gamma table for the blue channel. The table must be 256 bytes long.
|
||||
|
||||
The
|
||||
.I --threshold
|
||||
sets the threshold for black and white pixels in lineart mode. Possible values are from 0 (darker) to 255 (lighter).
|
||||
|
||||
The
|
||||
.I --preview
|
||||
option requests a preview scan. The resolution used for that scan is 50 dpi. The default is "no".
|
||||
|
||||
The geometry options
|
||||
.I -l -t -x -y
|
||||
control the scan area: -l sets the top left x coordinate, -t the top
|
||||
left y coordinate, -x selects the width and -y the height of the scan
|
||||
aea. All parameters are specified in milimeters.
|
||||
|
||||
|
||||
.SH CONFIGURATION FILE
|
||||
The configuration file /usr/local/etc/sane.d/sceptre.conf supports only one information: the device name to use (eg /dev/scanner).
|
||||
|
||||
|
||||
.SH FILES
|
||||
.TP
|
||||
.I /usr/local/lib/sane/libsane-sceptre.a
|
||||
The static library implementing this backend.
|
||||
.TP
|
||||
.I /usr/local/lib/sane/libsane-sceptre.so
|
||||
The shared library implementing this backend (present on systems that
|
||||
support dynamic loading).
|
||||
|
||||
|
||||
.SH ENVIRONMENT
|
||||
.TP
|
||||
.B SANE_DEBUG_SCEPTRE
|
||||
If the library was compiled with debug support enabled, this
|
||||
environment variable controls the debug level for this backend. E.g.,
|
||||
a value of 128 requests all debug output to be printed. Smaller
|
||||
levels reduce verbosity.
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
sane\-scsi(5), scanimage(1), xscanimage(1), xsane(1), sane(7)
|
||||
|
||||
|
||||
.SH BUGS
|
||||
|
||||
None known.
|
||||
|
||||
|
||||
.SH AUTHOR
|
||||
|
||||
The package is actively maintained by Frank Zago.
|
||||
|
|
@ -0,0 +1,121 @@
|
|||
.TH sane-sceptre 5 "13-Feb-2002"
|
||||
.IX sane-sceptre
|
||||
.SH NAME
|
||||
sane-sceptre - SANE backend for SCEPTRE scanners
|
||||
.SH DESCRIPTION
|
||||
The
|
||||
.B sane-sceptre
|
||||
library implements a SANE (Scanner Access Now Easy) backend that
|
||||
provides access to Sceptre flatbed scanners. This backend should be
|
||||
considered
|
||||
.B beta-quality
|
||||
software! Please report any strange behavior to the maintainer of the
|
||||
backend or to the SANE mailing list.
|
||||
.PP
|
||||
At present, only one scanner is known to work with this backend:
|
||||
.PP
|
||||
.RS
|
||||
Model: Connection Type
|
||||
.br
|
||||
--------------------------- -------------------
|
||||
.br
|
||||
Sceptre VividScan 1200 SCSI
|
||||
.RE
|
||||
|
||||
The make of this scanner is KINPO, so other scanner from that manufacturer may also work.
|
||||
.SH OPTIONS
|
||||
The options the backend supports can either be selected through command line
|
||||
options to programs like scanimage or through GUI elements in xscanimage or xsane.
|
||||
|
||||
Valid command line options and their syntax can be listed by using
|
||||
.RS
|
||||
scanimage --help -d sceptre
|
||||
.RE
|
||||
.TP
|
||||
.I Scan Mode
|
||||
The
|
||||
.I --mode
|
||||
switch selects the basic mode of operation of the scanner valid choices are
|
||||
.I Lineart, Halftone, Gray and Color.
|
||||
The Lineart and Haltone mode are black and white only (1 bit). Gray will produce 256 levels of gray (8 bits). Color will produce a 24 bits color image. The scanner suports 30 bits internally but it only exports 24.
|
||||
|
||||
The
|
||||
.I --halftone-pattern
|
||||
switch selects the pattern mode that is used in Halftone mode. Valid options are 1, 2, 3 and 4.
|
||||
|
||||
The
|
||||
.I --gamma-correction
|
||||
switch controls the scanne internal gamma correction. Valid options are "Default", "User
|
||||
defined", "High density printing" "Low density printing" and "High contrast printing".
|
||||
|
||||
The
|
||||
.I --resolution
|
||||
switch selects the resolution for a scan. The scanner can do several resolutions between 50 and 1200.
|
||||
|
||||
The
|
||||
.I --custom-gamma
|
||||
parameter allows the user to specify a gamma table (see the next 3 parameters).
|
||||
|
||||
The
|
||||
.I --red-gamma-table
|
||||
parameter can be used to download a user defined gamma table for the red channel. The table must be 256 bytes long.
|
||||
|
||||
The
|
||||
.I --green-gamma-table
|
||||
parameter can be used to download a user defined gamma table for the green channel. The table must be 256 bytes long.
|
||||
|
||||
The
|
||||
.I --blue-gamma-table
|
||||
parameter can be used to download a user defined gamma table for the blue channel. The table must be 256 bytes long.
|
||||
|
||||
The
|
||||
.I --threshold
|
||||
sets the threshold for black and white pixels in lineart mode. Possible values are from 0 (darker) to 255 (lighter).
|
||||
|
||||
The
|
||||
.I --preview
|
||||
option requests a preview scan. The resolution used for that scan is 50 dpi. The default is "no".
|
||||
|
||||
The geometry options
|
||||
.I -l -t -x -y
|
||||
control the scan area: -l sets the top left x coordinate, -t the top
|
||||
left y coordinate, -x selects the width and -y the height of the scan
|
||||
aea. All parameters are specified in milimeters.
|
||||
|
||||
|
||||
.SH CONFIGURATION FILE
|
||||
The configuration file @CONFIGDIR@/sceptre.conf supports only one information: the device name to use (eg /dev/scanner).
|
||||
|
||||
|
||||
.SH FILES
|
||||
.TP
|
||||
.I @LIBDIR@/libsane-sceptre.a
|
||||
The static library implementing this backend.
|
||||
.TP
|
||||
.I @LIBDIR@/libsane-sceptre.so
|
||||
The shared library implementing this backend (present on systems that
|
||||
support dynamic loading).
|
||||
|
||||
|
||||
.SH ENVIRONMENT
|
||||
.TP
|
||||
.B SANE_DEBUG_SCEPTRE
|
||||
If the library was compiled with debug support enabled, this
|
||||
environment variable controls the debug level for this backend. E.g.,
|
||||
a value of 128 requests all debug output to be printed. Smaller
|
||||
levels reduce verbosity.
|
||||
|
||||
.SH "SEE ALSO"
|
||||
|
||||
sane\-scsi(5), scanimage(1), xscanimage(1), xsane(1), sane(7)
|
||||
|
||||
|
||||
.SH BUGS
|
||||
|
||||
None known.
|
||||
|
||||
|
||||
.SH AUTHOR
|
||||
|
||||
The package is actively maintained by Frank Zago.
|
||||
|
|
@ -211,6 +211,10 @@ scanners: IS50 and IS60. See sane-ricoh(5) for details.
|
|||
The s9036 backend provides access to Siemens 9036 flatbed scanners. See
|
||||
sane-s9036(5) for details.
|
||||
.TP
|
||||
.B sceptre
|
||||
The sceptre backend provides access to the Sceptre S1200 flatbed scanner. See
|
||||
sane-sceptre(5) for details.
|
||||
.TP
|
||||
.B sharp
|
||||
The SANE sharp backend supports Sharp SCSI scanners. See sane-sharp(5) for details.
|
||||
.TP
|
||||
|
|
|
@ -0,0 +1,249 @@
|
|||
SCSI trace for a preview
|
||||
|
||||
0002E: Bus Free
|
||||
00032: Arbitration /80 (7)
|
||||
00034: Select w/ATN /81 (0,7)
|
||||
00038: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
00039: Command /02 00 00 00 04 00 (V Spec)
|
||||
0003F: (000004) Data-In /06 00 00 00
|
||||
00043: Status /00 (Good)
|
||||
00044: Message-In /00 (Cmd Cmplt)
|
||||
00045: Bus Free
|
||||
00049: Arbitration /80 (7)
|
||||
0004B: Select w/ATN /81 (0,7)
|
||||
0004F: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
00050: Command /02 00 00 00 04 00 (V Spec)
|
||||
00056: (000004) Data-In /06 00 00 00
|
||||
0005A: Status /00 (Good)
|
||||
0005B: Message-In /00 (Cmd Cmplt)
|
||||
0005C: Bus Free
|
||||
00060: Arbitration /80 (7)
|
||||
00062: Select w/ATN /81 (0,7)
|
||||
00066: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
00067: Command /00 00 00 00 01 00 (Test U Rdy)
|
||||
0006D: (000001) Data-In /00
|
||||
0006E: Status /00 (Good)
|
||||
0006F: Message-In /00 (Cmd Cmplt)
|
||||
00070: Bus Free
|
||||
00074: Arbitration /80 (7)
|
||||
00076: Select w/ATN /81 (0,7)
|
||||
0007A: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
0007B: Command /02 00 00 00 04 00 (V Spec)
|
||||
00081: (000004) Data-In /06 00 00 00
|
||||
00085: Status /00 (Good)
|
||||
00086: Message-In /00 (Cmd Cmplt)
|
||||
00087: Bus Free
|
||||
0008B: Arbitration /80 (7)
|
||||
0008D: Select w/ATN /81 (0,7)
|
||||
00091: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
00092: Command /1D 00 80 00 00 00 (Send Diag)
|
||||
00098: Status /00 (Good)
|
||||
00099: Message-In /00 (Cmd Cmplt)
|
||||
0009A: Bus Free
|
||||
0009E: Arbitration /80 (7)
|
||||
000A0: Select w/ATN /81 (0,7)
|
||||
000A4: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
000A5: Command /1C 00 00 00 03 00 (Rcv Diag)
|
||||
000AB: (000003) Data-In /00 00 00
|
||||
000AE: Status /00 (Good)
|
||||
000AF: Message-In /00 (Cmd Cmplt)
|
||||
000B0: Bus Free
|
||||
000B4: Arbitration /80 (7)
|
||||
000B6: Select w/ATN /81 (0,7)
|
||||
000BA: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
000BB: Command /15 10 00 00 18 00 (Mode Sel)
|
||||
000C1: Status /00 (Good)
|
||||
000C2: Message-In /00 (Cmd Cmplt)
|
||||
000C3: Bus Free
|
||||
000C7: Arbitration /80 (7)
|
||||
000C9: Select w/ATN /81 (0,7)
|
||||
000CD: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
000CE: Command /24 00 00 00 00 00 00 00 52 00 (Set Window)
|
||||
000D8: Data-Out/00 00 00 00 00 00 00 4A 00 00 00 24 00 24 00 00
|
||||
000E8: 00 00 00 00 00 00 00 00 13 EC 00 00 1B 6B 04 80
|
||||
000F8: 04 05 18 00 00 80 00 00 00 00 00 00 00 00 00 00
|
||||
00108: (000052) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00119: Status /00 (Good)
|
||||
0011A: Message-In /00 (Cmd Cmplt)
|
||||
0011B: Bus Free
|
||||
0011F: Arbitration /80 (7)
|
||||
00121: Select w/ATN /81 (0,7)
|
||||
00125: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
00126: Command /02 00 00 00 04 00 (V Spec)
|
||||
0012C: (000004) Data-In /06 00 00 00
|
||||
00130: Status /00 (Good)
|
||||
00131: Message-In /00 (Cmd Cmplt)
|
||||
00132: Bus Free
|
||||
00136: Arbitration /80 (7)
|
||||
00138: Select w/ATN /81 (0,7)
|
||||
0013C: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
0013D: Command /02 00 00 00 04 00 (V Spec)
|
||||
00143: (000004) Data-In /06 00 00 00
|
||||
00147: Status /00 (Good)
|
||||
00148: Message-In /00 (Cmd Cmplt)
|
||||
00149: Bus Free
|
||||
0014D: Arbitration /80 (7)
|
||||
0014F: Select w/ATN /81 (0,7)
|
||||
00153: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
00154: Command /2A 00 03 00 00 02 00 03 00 00 (Ex Write)
|
||||
0015E: Data-Out/00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
|
||||
0016E: 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
|
||||
0017E: 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
|
||||
0018E: (000300) 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F
|
||||
0019F: Status /00 (Good)
|
||||
001A0: Message-In /00 (Cmd Cmplt)
|
||||
001A1: Bus Free
|
||||
001A5: Arbitration /80 (7)
|
||||
001A7: Select w/ATN /81 (0,7)
|
||||
001AB: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
001AC: Command /1B 00 00 00 00 00 (Start/Stop)
|
||||
001B2: Status /00 (Good)
|
||||
001B3: Message-In /00 (Cmd Cmplt)
|
||||
001B4: Bus Free
|
||||
001B8: Arbitration /80 (7)
|
||||
001BA: Select w/ATN /81 (0,7)
|
||||
001BE: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
001BF: Command /02 00 00 00 04 00 (V Spec)
|
||||
001C5: (000004) Data-In /06 00 00 00
|
||||
001C9: Status /00 (Good)
|
||||
001CA: Message-In /00 (Cmd Cmplt)
|
||||
001CB: Bus Free
|
||||
001CF: Arbitration /80 (7)
|
||||
001D1: Select w/ATN /81 (0,7)
|
||||
001D5: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
001D6: Command /34 01 00 00 00 00 00 00 10 00 (Prefetch)
|
||||
001E0: (000010) Data-In /00 00 0D 01 00 00 00 00 00 05 E9 44 01 A6 01 32
|
||||
001F0: Status /00 (Good)
|
||||
001F1: Message-In /00 (Cmd Cmplt)
|
||||
001F2: Bus Free
|
||||
001F6: Arbitration /80 (7)
|
||||
001F8: Select w/ATN /81 (0,7)
|
||||
001FC: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
001FD: Command /34 01 00 00 00 00 00 00 10 00 (Prefetch)
|
||||
00207: (000010) Data-In /00 00 0D 01 00 00 00 00 00 05 E9 44 01 A6 01 32
|
||||
00217: Status /00 (Good)
|
||||
00218: Message-In /00 (Cmd Cmplt)
|
||||
00219: Bus Free
|
||||
0021D: Arbitration /80 (7)
|
||||
0021F: Select w/ATN /81 (0,7)
|
||||
00223: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
00224: Command /28 00 00 00 00 00 00 FE 9A 00 (Ex Read)
|
||||
0022E: Data-In /3E 43 3B 46 3B 3B 3B 3D 3B 38 38 44 3B 3A 32 34
|
||||
0023E: 38 39 35 38 36 35 2F 34 38 34 39 36 36 2C 31 33
|
||||
0024E: 31 35 34 35 3B 33 2D 33 43 30 32 38 33 3E 35 34
|
||||
0025E: (00FE9A) 35 36 37 3C 33 33 2E 3F 34 34 39 3A 38 41 3A 37
|
||||
0026F: Status /00 (Good)
|
||||
00270: Message-In /00 (Cmd Cmplt)
|
||||
00271: Bus Free
|
||||
00275: Arbitration /80 (7)
|
||||
00277: Select w/ATN /81 (0,7)
|
||||
0027B: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
0027C: Command /34 01 00 00 00 00 00 00 10 00 (Prefetch)
|
||||
00286: (000010) Data-In /00 00 0D 01 00 00 00 00 00 04 EA AA 01 A6 01 32
|
||||
00296: Status /00 (Good)
|
||||
00297: Message-In /00 (Cmd Cmplt)
|
||||
00298: Bus Free
|
||||
0029C: Arbitration /80 (7)
|
||||
0029E: Select w/ATN /81 (0,7)
|
||||
002A2: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
002A3: Command /28 00 00 00 00 00 00 FE 9A 00 (Ex Read)
|
||||
002AD: Data-In /72 5F 73 6B 4B 60 62 4E 56 74 6F 5F 62 63 56 5A
|
||||
002BD: 56 4F 52 58 4C 59 63 50 62 5E 6A 59 6E 71 4F 80
|
||||
002CD: 81 56 88 71 52 66 5B 5C 49 46 55 3F 54 52 4B 58
|
||||
002DD: (00FE9A) 5E 63 53 66 64 58 6B 77 5F 6C 6F 55 59 65 59 5B
|
||||
002EE: Status /00 (Good)
|
||||
002EF: Message-In /00 (Cmd Cmplt)
|
||||
002F0: Bus Free
|
||||
002F4: Arbitration /80 (7)
|
||||
002F6: Select w/ATN /81 (0,7)
|
||||
002FA: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
002FB: Command /34 01 00 00 00 00 00 00 10 00 (Prefetch)
|
||||
00305: (000010) Data-In /00 00 0D 01 00 00 00 00 00 03 EC 10 01 A6 01 32
|
||||
00315: Status /00 (Good)
|
||||
00316: Message-In /00 (Cmd Cmplt)
|
||||
00317: Bus Free
|
||||
0031B: Arbitration /80 (7)
|
||||
0031D: Select w/ATN /81 (0,7)
|
||||
00321: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
00322: Command /28 00 00 00 00 00 00 FE 9A 00 (Ex Read)
|
||||
0032C: Data-In /9D A3 9B 9F 92 99 A0 27 3A 34 32 30 32 20 A2 AD
|
||||
0033C: B0 A7 92 AC A1 A3 98 1B 2E 2D 1F 19 18 1F 19 53
|
||||
0034C: 3E 5F 68 74 71 23 36 77 71 79 77 70 77 1F 5D 71
|
||||
0035C: (00FE9A) 70 60 6A 74 71 52 58 5B 55 50 58 5E 5E 5C 55 51
|
||||
0036D: Status /00 (Good)
|
||||
0036E: Message-In /00 (Cmd Cmplt)
|
||||
0036F: Bus Free
|
||||
00373: Arbitration /80 (7)
|
||||
00375: Select w/ATN /81 (0,7)
|
||||
00379: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
0037A: Command /34 01 00 00 00 00 00 00 10 00 (Prefetch)
|
||||
00384: (000010) Data-In /00 00 0D 01 00 00 00 00 00 02 ED 76 01 A6 01 32
|
||||
00394: Status /00 (Good)
|
||||
00395: Message-In /00 (Cmd Cmplt)
|
||||
00396: Bus Free
|
||||
0039A: Arbitration /80 (7)
|
||||
0039C: Select w/ATN /81 (0,7)
|
||||
003A0: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
003A1: Command /28 00 00 00 00 00 00 FE 9A 00 (Ex Read)
|
||||
003AB: Data-In /4A 41 48 46 22 2A 2D 31 2B 2A 1F 41 56 53 43 52
|
||||
003BB: 56 40 47 58 55 42 4E 50 4C 4A 5A 59 41 1C 2C 31
|
||||
003CB: 34 2A 27 38 22 2F 27 30 31 2B 2A 28 27 1E 4D 62
|
||||
003DB: (00FE9A) 5C 5A 5A 67 5D 5B 57 5E 52 50 5D 52 64 4C 55 58
|
||||
003EC: Status /00 (Good)
|
||||
003ED: Message-In /00 (Cmd Cmplt)
|
||||
003EE: Bus Free
|
||||
003F2: Arbitration /80 (7)
|
||||
003F4: Select w/ATN /81 (0,7)
|
||||
003F8: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
003F9: Command /34 01 00 00 00 00 00 00 10 00 (Prefetch)
|
||||
00403: (000010) Data-In /00 00 0D 01 00 00 00 00 00 01 EE DC 01 A6 01 32
|
||||
00413: Status /00 (Good)
|
||||
00414: Message-In /00 (Cmd Cmplt)
|
||||
00415: Bus Free
|
||||
00419: Arbitration /80 (7)
|
||||
0041B: Select w/ATN /81 (0,7)
|
||||
0041F: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
00420: Command /28 00 00 00 00 00 00 FE 9A 00 (Ex Read)
|
||||
0042A: Data-In /1A 24 1C 1D 1C 1A 22 1F 18 1B 1B 35 33 2E 43 3B
|
||||
0043A: 32 3E 3F 30 35 45 33 42 45 36 39 3C 3A 34 34 38
|
||||
0044A: 2F 38 38 39 39 42 36 3E 3C 2E 38 3B 40 33 35 32
|
||||
0045A: (00FE9A) 35 30 2F 36 2D 37 37 32 32 2C 35 39 31 32 38 33
|
||||
0046B: Status /00 (Good)
|
||||
0046C: Message-In /00 (Cmd Cmplt)
|
||||
0046D: Bus Free
|
||||
00471: Arbitration /80 (7)
|
||||
00473: Select w/ATN /81 (0,7)
|
||||
00477: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
00478: Command /34 01 00 00 00 00 00 00 10 00 (Prefetch)
|
||||
00482: (000010) Data-In /00 00 0D 01 00 00 00 00 00 00 F0 42 01 A6 01 32
|
||||
00492: Status /00 (Good)
|
||||
00493: Message-In /00 (Cmd Cmplt)
|
||||
00494: Bus Free
|
||||
00498: Arbitration /80 (7)
|
||||
0049A: Select w/ATN /81 (0,7)
|
||||
0049E: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
0049F: Command /28 00 00 00 00 00 00 F0 42 00 (Ex Read)
|
||||
004A9: Data-In /34 35 29 38 1D 2B 34 37 30 2D 2D 19 30 18 28 30
|
||||
004B9: 2D 1C 34 34 31 35 40 32 39 17 32 2E 3A 32 34 33
|
||||
004C9: 40 30 35 3A 32 2D 1A 39 2B 3C 1F 31 34 2B 1B 15
|
||||
004D9: (00F042) 2D 2C 32 2B 2A 35 2D 2E 32 19 29 35 2F 2C 38 16
|
||||
004EA: Status /00 (Good)
|
||||
004EB: Message-In /00 (Cmd Cmplt)
|
||||
004EC: Bus Free
|
||||
004F0: Arbitration /80 (7)
|
||||
004F2: Select w/ATN /81 (0,7)
|
||||
004F6: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
004F7: Command /24 00 00 00 00 00 00 00 52 00 (Set Window)
|
||||
00501: Data-Out/00 00 00 00 00 00 00 4A 00 00 00 24 00 24 00 00
|
||||
00511: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 80
|
||||
00521: 04 05 18 00 00 80 00 00 00 00 00 00 00 00 00 00
|
||||
00531: (000052) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00542: Status /00 (Good)
|
||||
00543: Message-In /00 (Cmd Cmplt)
|
||||
00544: Bus Free
|
||||
00548: Arbitration /80 (7)
|
||||
0054A: Select w/ATN /81 (0,7)
|
||||
0054E: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
0054F: Command /1B 00 00 00 00 00 (Start/Stop)
|
||||
00555: Status /00 (Good)
|
||||
00556: Message-In /00 (Cmd Cmplt)
|
|
@ -0,0 +1,107 @@
|
|||
Scanner overview
|
||||
- One pass scanner
|
||||
- 36 DPI minimum. Max X=600 dpi, max Y=1200 dpi.
|
||||
- A4 size
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
Components:
|
||||
- Weltrend WT8616
|
||||
- TEMIC TSC 80C31 (CMOS 0 to 44 MHz Single-Chip 8 Bit Microcontroller)
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
SCSI overview
|
||||
- the SCSI implementation in this scanner is non-standard but simple.
|
||||
- there is no REQUEST SENSE command.
|
||||
- since there is no sense, it is impossible to know if a command has succeeded.
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
SCSI commands:
|
||||
|
||||
TEST UNIT READY
|
||||
00 00 00 00 01 00
|
||||
Returns 1 byte of data:
|
||||
00 = scanner ready
|
||||
ff = scanner not ready
|
||||
|
||||
Vendor Spec
|
||||
02 00 00 00 04 00
|
||||
Get 4 bytes of status. Used to check the button.
|
||||
Default result when the button is not pressed
|
||||
06 00 00 00
|
||||
|
||||
INQUIRY
|
||||
result:
|
||||
06 00 02 02 30 00 00 10 4b 49 4e 50 4f 20 20 20 ....0...KINPO
|
||||
56 69 76 69 64 73 63 61 6e 20 53 31 32 30 20 20 Vividscan S120
|
||||
53 31 33 20 20 20 20 20 02 01 00 00 4a 45 46 46 S13 ....JEFF
|
||||
...
|
||||
|
||||
MODE SEL
|
||||
15 10 00 00 18 00
|
||||
|
||||
SCAN
|
||||
1B 00 00 00 00 00
|
||||
|
||||
RECEIVE DIAG
|
||||
1C 00 00 00 03 00
|
||||
|
||||
SEND DIAG
|
||||
1D 00 80 00 00 00
|
||||
|
||||
SET WINDOW
|
||||
24 00 00 00 00 00 00 00 52 00
|
||||
The window size is always 0x52 bytes. The parameters look standard:
|
||||
- X/Y resolution |
|
||||
- Upper left X,Y |- all three coded in 600 dpi units
|
||||
- Width, Length |
|
||||
|
||||
The supported scan modes are:
|
||||
- lineart image comp=0, halftone=0, depth=1
|
||||
- halftone image comp=0, haltone=1 to 4, depth=1
|
||||
- grayscale image comp=2, halftone=0, depth=8
|
||||
- color image comp=5, halftone=0, depth=24
|
||||
|
||||
Y resolution is not used (X is also used for Y)
|
||||
X resolution is limited to 600 (if above, scanner defaults to 600)
|
||||
Y resolution is limited to 1200 (if above, scanner defaults to 1200)
|
||||
Image composition is byte 33, halftone is byte 36, depth is byte 34
|
||||
|
||||
READ (10)
|
||||
28 00 00 00 00 00 00 FE 9A 00
|
||||
|
||||
SEND (10)
|
||||
2A 00 03 00 00 02 00 03 00 00
|
||||
Sends 300h bytes of gamma. 100h bytes per color. What is the color order?
|
||||
|
||||
GET DATA BUFFER STATUS
|
||||
34 01 00 00 00 00 00 00 10 00
|
||||
Returns:
|
||||
- byte 0 to 7: ? (these bytes looks rather standard)
|
||||
- byte 8 to 11: total size left to read
|
||||
- byte 12 to 13: number of lines (constant diuring a scan)
|
||||
- byte 14 to 15: pixels per line (constant diuring a scan)
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
Color shifts
|
||||
|
||||
Color order returned by the scanner is Blue, then Green then Red. There is a color shift, meaning the lines for the Red is not on the same line than the Green.
|
||||
The shifts are:
|
||||
dpi lines per color
|
||||
1200 16
|
||||
1125 15
|
||||
1050 14
|
||||
900 12
|
||||
750 10
|
||||
600 8
|
||||
450 6
|
||||
300 4
|
||||
150 2
|
||||
90 1
|
||||
75 1
|
||||
50 0
|
||||
|
||||
Some resolution give garbage. However that table might not be complete.
|
|
@ -0,0 +1,156 @@
|
|||
SCSI trace for a scan
|
||||
|
||||
00045: Bus Free
|
||||
00049: Arbitration /80 (7)
|
||||
0004B: Select w/ATN /81 (0,7)
|
||||
0004F: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
00050: Command /02 00 00 00 04 00 (V Spec)
|
||||
00056: (000004) Data-In /06 00 00 00
|
||||
0005A: Status /00 (Good)
|
||||
0005B: Message-In /00 (Cmd Cmplt)
|
||||
0005C: Bus Free
|
||||
00060: Arbitration /80 (7)
|
||||
00062: Select w/ATN /81 (0,7)
|
||||
00066: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
00067: Command /00 00 00 00 01 00 (Test U Rdy)
|
||||
0006D: (000001) Data-In /00
|
||||
0006E: Status /00 (Good)
|
||||
0006F: Message-In /00 (Cmd Cmplt)
|
||||
00070: Bus Free
|
||||
00074: Arbitration /80 (7)
|
||||
00076: Select w/ATN /81 (0,7)
|
||||
0007A: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
0007B: Command /1D 00 80 00 00 00 (Send Diag)
|
||||
00081: Status /00 (Good)
|
||||
00082: Message-In /00 (Cmd Cmplt)
|
||||
00083: Bus Free
|
||||
00087: Arbitration /80 (7)
|
||||
00089: Select w/ATN /81 (0,7)
|
||||
0008D: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
0008E: Command /1C 00 00 00 03 00 (Rcv Diag)
|
||||
00094: (000003) Data-In /00 00 00
|
||||
00097: Status /00 (Good)
|
||||
00098: Message-In /00 (Cmd Cmplt)
|
||||
00099: Bus Free
|
||||
0009D: Arbitration /80 (7)
|
||||
0009F: Select w/ATN /81 (0,7)
|
||||
000A3: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
000A4: Command /15 10 00 00 18 00 (Mode Sel)
|
||||
000AA: Status /00 (Good)
|
||||
000AB: Message-In /00 (Cmd Cmplt)
|
||||
000AC: Bus Free
|
||||
000B0: Arbitration /80 (7)
|
||||
000B2: Select w/ATN /81 (0,7)
|
||||
000B6: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
000B7: Command /24 00 00 00 00 00 00 00 52 00 (Set Window)
|
||||
000C1: Data-Out/00 00 00 00 00 00 00 4A 00 00 00 32 00 32 00 00
|
||||
000D1: 02 EF 00 00 00 00 00 00 06 39 00 00 01 6F 04 80
|
||||
000E1: 04 05 18 00 00 80 00 00 00 00 00 00 00 00 00 00
|
||||
000F1: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00101: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00111: (000052) 00 00
|
||||
00113: Status /00 (Good)
|
||||
00114: Message-In /00 (Cmd Cmplt)
|
||||
00115: Bus Free
|
||||
00119: Arbitration /80 (7)
|
||||
0011B: Select w/ATN /81 (0,7)
|
||||
0011F: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
00120: Command /2A 00 03 00 00 02 00 03 00 00 (Ex Write)
|
||||
0012A: Data-Out/00 06 0A 0D 10 13 15 17 19 1B 1D 1F 21 23 25 27
|
||||
0013A: 28 2A 2C 2D 2F 30 32 33 35 36 38 39 3A 3C 3D 3F
|
||||
0014A: 40 41 43 44 45 46 48 49 4A 4B 4D 4E 4F 50 51 53
|
||||
0015A: 54 55 56 57 58 59 5B 5C 5D 5E 5F 60 61 62 63 64
|
||||
0016A: 65 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75
|
||||
0017A: 76 77 78 79 7A 7B 7C 7D 7D 7E 7F 80 81 82 83 84
|
||||
0018A: 85 86 87 88 89 8A 8A 8B 8C 8D 8E 8F 90 91 92 92
|
||||
0019A: 93 94 95 96 97 98 99 99 9A 9B 9C 9D 9E 9F 9F A0
|
||||
001AA: A1 A2 A3 A4 A4 A5 A6 A7 A8 A9 A9 AA AB AC AD AD
|
||||
001BA: AE AF B0 B1 B1 B2 B3 B4 B5 B5 B6 B7 B8 B9 B9 BA
|
||||
001CA: BB BC BC BD BE BF C0 C0 C1 C2 C3 C3 C4 C5 C6 C6
|
||||
001DA: C7 C8 C9 C9 CA CB CC CC CD CE CF CF D0 D1 D2 D2
|
||||
001EA: D3 D4 D5 D5 D6 D7 D7 D8 D9 DA DA DB DC DC DD DE
|
||||
001FA: DF DF E0 E1 E1 E2 E3 E4 E4 E5 E6 E6 E7 E8 E8 E9
|
||||
0020A: EA EB EB EC ED ED EE EF EF F0 F1 F1 F2 F3 F4 F4
|
||||
0021A: F5 F6 F6 F7 F8 F8 F9 FA FA FB FC FC FD FE FE FF
|
||||
0022A: 00 06 0A 0D 10 13 15 17 19 1B 1D 1F 21 23 25 27
|
||||
0023A: 28 2A 2C 2D 2F 30 32 33 35 36 38 39 3A 3C 3D 3F
|
||||
0024A: 40 41 43 44 45 46 48 49 4A 4B 4D 4E 4F 50 51 53
|
||||
0025A: 54 55 56 57 58 59 5B 5C 5D 5E 5F 60 61 62 63 64
|
||||
0026A: 65 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75
|
||||
0027A: 76 77 78 79 7A 7B 7C 7D 7D 7E 7F 80 81 82 83 84
|
||||
0028A: 85 86 87 88 89 8A 8A 8B 8C 8D 8E 8F 90 91 92 92
|
||||
0029A: 93 94 95 96 97 98 99 99 9A 9B 9C 9D 9E 9F 9F A0
|
||||
002AA: A1 A2 A3 A4 A4 A5 A6 A7 A8 A9 A9 AA AB AC AD AD
|
||||
002BA: AE AF B0 B1 B1 B2 B3 B4 B5 B5 B6 B7 B8 B9 B9 BA
|
||||
002CA: BB BC BC BD BE BF C0 C0 C1 C2 C3 C3 C4 C5 C6 C6
|
||||
002DA: C7 C8 C9 C9 CA CB CC CC CD CE CF CF D0 D1 D2 D2
|
||||
002EA: D3 D4 D5 D5 D6 D7 D7 D8 D9 DA DA DB DC DC DD DE
|
||||
002FA: DF DF E0 E1 E1 E2 E3 E4 E4 E5 E6 E6 E7 E8 E8 E9
|
||||
0030A: EA EB EB EC ED ED EE EF EF F0 F1 F1 F2 F3 F4 F4
|
||||
0031A: F5 F6 F6 F7 F8 F8 F9 FA FA FB FC FC FD FE FE FF
|
||||
0032A: 00 06 0A 0D 10 13 15 17 19 1B 1D 1F 21 23 25 27
|
||||
0033A: 28 2A 2C 2D 2F 30 32 33 35 36 38 39 3A 3C 3D 3F
|
||||
0034A: 40 41 43 44 45 46 48 49 4A 4B 4D 4E 4F 50 51 53
|
||||
0035A: 54 55 56 57 58 59 5B 5C 5D 5E 5F 60 61 62 63 64
|
||||
0036A: 65 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75
|
||||
0037A: 76 77 78 79 7A 7B 7C 7D 7D 7E 7F 80 81 82 83 84
|
||||
0038A: 85 86 87 88 89 8A 8A 8B 8C 8D 8E 8F 90 91 92 92
|
||||
0039A: 93 94 95 96 97 98 99 99 9A 9B 9C 9D 9E 9F 9F A0
|
||||
003AA: A1 A2 A3 A4 A4 A5 A6 A7 A8 A9 A9 AA AB AC AD AD
|
||||
003BA: AE AF B0 B1 B1 B2 B3 B4 B5 B5 B6 B7 B8 B9 B9 BA
|
||||
003CA: BB BC BC BD BE BF C0 C0 C1 C2 C3 C3 C4 C5 C6 C6
|
||||
003DA: C7 C8 C9 C9 CA CB CC CC CD CE CF CF D0 D1 D2 D2
|
||||
003EA: D3 D4 D5 D5 D6 D7 D7 D8 D9 DA DA DB DC DC DD DE
|
||||
003FA: DF DF E0 E1 E1 E2 E3 E4 E4 E5 E6 E6 E7 E8 E8 E9
|
||||
0040A: EA EB EB EC ED ED EE EF EF F0 F1 F1 F2 F3 F4 F4
|
||||
0041A: (000300) F5 F6 F6 F7 F8 F8 F9 FA FA FB FC FC FD FE FE FF
|
||||
0042A: Status /00 (Good)
|
||||
0042B: Message-In /00 (Cmd Cmplt)
|
||||
0042C: Bus Free
|
||||
00430: Arbitration /80 (7)
|
||||
00432: Select w/ATN /81 (0,7)
|
||||
00436: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
00437: Command /1B 00 00 00 00 00 (Start/Stop)
|
||||
0043D: Status /00 (Good)
|
||||
0043E: Message-In /00 (Cmd Cmplt)
|
||||
0043F: Bus Free
|
||||
00443: Arbitration /80 (7)
|
||||
00445: Select w/ATN /81 (0,7)
|
||||
00449: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
0044A: Command /34 01 00 00 00 00 00 00 10 00 (Prefetch)
|
||||
00454: (000010) Data-In /00 00 0D 01 00 00 00 00 00 00 2E 68 00 1E 00 84
|
||||
00464: Status /00 (Good)
|
||||
00465: Message-In /00 (Cmd Cmplt)
|
||||
00466: Bus Free
|
||||
0046A: Arbitration /80 (7)
|
||||
0046C: Select w/ATN /81 (0,7)
|
||||
00470: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
00471: Command /28 00 00 00 00 00 00 2E 68 00 (Ex Read)
|
||||
0047B: Data-In /35 2D 2F 30 2D 30 2D 2C 2F 2D 2F 2D 2C 2F 2F 30
|
||||
0048B: 30 2F 30 2F 2F 30 40 36 2D 2D 2C 30 2D 2A 2D 2D
|
||||
......
|
||||
032CB: 80 7E 81 78 6E 72 73 6C 72 64 63 6B 6E 65 69 61
|
||||
032DB: (002E68) 60 5E 5C 5C 59 56 5D 5B
|
||||
032E3: Status /00 (Good)
|
||||
032E4: Message-In /00 (Cmd Cmplt)
|
||||
032E5: Bus Free
|
||||
032E9: Arbitration /80 (7)
|
||||
032EB: Select w/ATN /81 (0,7)
|
||||
032EF: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
032F0: Command /24 00 00 00 00 00 00 00 52 00 (Set Window)
|
||||
032FA: Data-Out/00 00 00 00 00 00 00 4A 00 00 00 32 00 32 00 00
|
||||
0330A: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 80
|
||||
0331A: 04 05 18 00 00 80 00 00 00 00 00 00 00 00 00 00
|
||||
0332A: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
0333A: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
0334A: (000052) 00 00
|
||||
0334C: Status /00 (Good)
|
||||
0334D: Message-In /00 (Cmd Cmplt)
|
||||
0334E: Bus Free
|
||||
03352: Arbitration /80 (7)
|
||||
03354: Select w/ATN /81 (0,7)
|
||||
03358: Message-Out/C0 (Identify : LUN 0 Disconnect OK)
|
||||
03359: Command /1B 00 00 00 00 00 (Start/Stop)
|
||||
0335F: Status /00 (Good)
|
||||
03360: Message-In /00 (Cmd Cmplt)
|
||||
|
Ładowanie…
Reference in New Issue