Added documentation for sceptre backend (patch from Frank Zago <fzago@greshamstorage.com>).

Henning Meier-Geinitz <henning@meier-geinitz.de>
DEVEL_2_0_BRANCH-1
Henning Geinitz 2002-02-21 18:49:30 +00:00
rodzic 9dfcab22b6
commit 276930ff39
7 zmienionych plików z 761 dodań i 3 usunięć

Wyświetl plik

@ -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

121
doc/sane-sceptre.5 100644
Wyświetl plik

@ -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.

Wyświetl plik

@ -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.

Wyświetl plik

@ -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

Wyświetl plik

@ -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)

Wyświetl plik

@ -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.

Wyświetl plik

@ -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)