kopia lustrzana https://gitlab.com/sane-project/backends
Added teco2 backend.
rodzic
df7dad6c29
commit
72fd6c7d6c
1
AUTHORS
1
AUTHORS
|
@ -62,6 +62,7 @@ Backends:
|
|||
st400: Ingo Wilken (*)
|
||||
tamarack: Rogier Wolff
|
||||
teco1: Frank Zago (*)
|
||||
teco2: Frank Zago (*)
|
||||
teco3: Frank Zago (*)
|
||||
test: Henning Meier-Geinitz (*)
|
||||
umax: Oliver Rauch (*) and Michael K. Johnson
|
||||
|
|
3
PROJECTS
3
PROJECTS
|
@ -59,9 +59,6 @@ http://www.meier-geinitz.de/sane/ibm-backend/
|
|||
Primax parallel port scanners (wip)
|
||||
http://primax.sourceforge.net/
|
||||
|
||||
Relisys Scorpio Super 3 - VM3575 (wip)
|
||||
http://fz.eryx.net/sane/#teco2
|
||||
|
||||
Video for Linux 2 (wip)
|
||||
http://sane-v4l2.inodes.org/
|
||||
|
||||
|
|
2
TODO
2
TODO
|
@ -6,8 +6,6 @@ backends
|
|||
--------
|
||||
* Add new backends (+ means: scheduled for version 1.0.9)
|
||||
- hp4200 http://hp4200-backend.sourceforge.net/
|
||||
+ Relisys Scorpio Super 3 - VM3575 (wip)
|
||||
http://fz.eryx.net/sane/#teco2
|
||||
- Genius Vivid Pro USB, Colorado USB 19200, Visioneer OneTouch 7600
|
||||
IBM IdeaScan 2000 USB
|
||||
http://homepages.paradise.net.nz/stevenel/scanner/
|
||||
|
|
|
@ -64,7 +64,7 @@ PRELOADABLE_BACKENDS = abaton agfafocus apple artec as6e avision bh canon \
|
|||
epson fujitsu @GPHOTO2@ hp @HPSJ5S@ leo matsushita microtek microtek2 \
|
||||
mustek mustek_pp mustek_usb nec @NET@ pie @PINT@ plustek \
|
||||
@PNM@ @QCAM@ ricoh s9036 sceptre sharp @SM3600@ @SNAPSCAN@ \
|
||||
sp15c st400 tamarack test teco1 teco3 umax umax_pp umax1220u @V4L@
|
||||
sp15c st400 tamarack test teco1 teco2 teco3 umax umax_pp umax1220u @V4L@
|
||||
ifneq (@SELECTED_BACKENDS@,)
|
||||
PRELOADABLE_BACKENDS = @SELECTED_BACKENDS@
|
||||
endif
|
||||
|
@ -122,6 +122,7 @@ DISTFILES = abaton.c abaton.conf abaton.h agfafocus.c agfafocus.conf \
|
|||
snapscan-sources.h snapscan-usb.c snapscan-usb.h snapscan-options.c sp15c.c \
|
||||
sp15c.conf sp15c.h sp15c-scsi.h st400.c st400.conf st400.h stubs.c \
|
||||
tamarack.c tamarack.conf tamarack.h teco1.c teco1.h teco1.conf \
|
||||
teco2.c teco2.conf teco2.h \
|
||||
teco3.c teco3.conf teco3.h \
|
||||
test.c test.conf test.h test-picture.c umax1220u.c \
|
||||
umax1220u-common.c \
|
||||
|
@ -360,6 +361,9 @@ libsane-test.la: ../sanei/sanei_constrain_value.lo
|
|||
libsane-teco1.la: ../sanei/sanei_config2.lo
|
||||
libsane-teco1.la: ../sanei/sanei_constrain_value.lo
|
||||
libsane-teco1.la: ../sanei/sanei_scsi.lo
|
||||
libsane-teco2.la: ../sanei/sanei_config2.lo
|
||||
libsane-teco2.la: ../sanei/sanei_constrain_value.lo
|
||||
libsane-teco2.la: ../sanei/sanei_scsi.lo
|
||||
libsane-teco3.la: ../sanei/sanei_config2.lo
|
||||
libsane-teco3.la: ../sanei/sanei_constrain_value.lo
|
||||
libsane-teco3.la: ../sanei/sanei_scsi.lo
|
||||
|
|
|
@ -43,6 +43,7 @@ sp15c
|
|||
#st400
|
||||
tamarack
|
||||
teco1
|
||||
teco2
|
||||
teco3
|
||||
#test
|
||||
umax
|
||||
|
|
|
@ -0,0 +1,208 @@
|
|||
|
||||
BACKEND TECO2
|
||||
|
||||
INQUIRY
|
||||
|
||||
TECO VM3575
|
||||
000: 06 00 02 02 43 00 00 00 20 20 20 20 20 20 20 20 ....C...
|
||||
016: 46 6c 61 74 62 65 64 20 53 63 61 6e 6e 65 72 20 Flatbed Scanner
|
||||
032: 31 2e 30 33 31 2e 30 33 00 01 54 45 43 4f 20 56 1.031.03..TECO V
|
||||
048: 4d 33 35 37 35 20 00 01 01 2c 00 01 02 58 09 f6 M3575 ...,...X..
|
||||
064: 0d af 01 2c 00 08 01 00 ...,....
|
||||
|
||||
TECO VM656A
|
||||
000: 06 00 02 02 43 00 00 00 52 45 4c 49 53 59 53 20 ....C...RELISYS
|
||||
016: 41 50 4f 4c 4c 4f 20 45 78 70 72 65 73 73 20 36 APOLLO Express 6
|
||||
032: 31 2e 30 33 31 2e 30 33 00 01 54 45 43 4f 20 56 1.031.03..TECO V
|
||||
048: 4d 36 35 36 41 00 01 01 2c 00 01 02 58 09 f6 0d M656A...,...X...
|
||||
064: af 01 2c 00 08 01 00 00 ..,.....
|
||||
|
||||
TECO VM6575
|
||||
000: 06 00 02 02 43 00 00 10 52 45 4c 49 53 59 53 20 ....C...RELISYS
|
||||
016: 53 43 4f 52 50 49 4f 20 50 72 6f 20 20 20 20 20 SCORPIO Pro
|
||||
032: 31 2e 30 31 31 2e 30 31 00 01 54 45 43 4f 20 56 1.011.01..TECO V
|
||||
048: 4d 36 35 37 35 20 00 01 01 2c 00 01 02 58 09 f6 M6575 ...,...X..
|
||||
064: 0d af 01 2c 00 08 01 00 ...,....
|
||||
|
||||
TECO VM6586
|
||||
000: 06 00 02 02 43 00 00 00 20 20 20 20 20 20 20 20 ....C...
|
||||
016: 46 6c 61 74 62 65 64 20 53 63 61 6e 6e 65 72 20 Flatbed Scanner
|
||||
032: 33 2e 30 31 33 2e 30 31 00 01 54 45 43 4f 20 56 3.013.01..TECO V
|
||||
048: 4d 36 35 38 36 20 00 01 01 2c 00 01 02 58 09 f6 M6586 ...,...X..
|
||||
064: 0d af 01 2c 00 08 01 00 ...,....
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
|
||||
|
||||
SCSI Commands supported by the TECO VM3575:
|
||||
|
||||
|
||||
|
||||
REQUEST SENSE
|
||||
03 00 00 00 12 00
|
||||
|
||||
|
||||
VENDOR-06
|
||||
???
|
||||
Receives 4 bytes of data
|
||||
|
||||
|
||||
VENDOR-9
|
||||
Get calibration lines - 12 lines
|
||||
2 = ?
|
||||
0x00 color scan
|
||||
0x01 grayscal scan
|
||||
0x02 b&w scan
|
||||
Returns 6 bytes per pixel, probably 2 bytes per color in little endian order. (2550 * 6 = 15300)
|
||||
|
||||
VENDOR-0C
|
||||
??? Unsupported?
|
||||
|
||||
|
||||
VENDOR-0E
|
||||
Set calibration. Apparently the line is computed from the calibration lines. It is not an average though.
|
||||
|
||||
|
||||
INQUIRY
|
||||
12 00 00 00 48 00
|
||||
standard inquiry
|
||||
72 bytes
|
||||
32-39: firmware version
|
||||
42-52: real scanner name
|
||||
54-55: min X resolution
|
||||
56-57: max X resolution
|
||||
58-59: min Y resolution
|
||||
60-61: max Y resolution
|
||||
62-63: scan area length
|
||||
64-65: scan area width
|
||||
66-67: unit for scan area (eg 300th of inch)
|
||||
|
||||
eg if 62-63 = 2550 and 66-67 = 300, the length is 2550/300=8.5 inches.
|
||||
|
||||
|
||||
SCAN
|
||||
1B 00 00 00 00 00
|
||||
|
||||
|
||||
VENDOR-1C
|
||||
1c 00 00 00 00 00
|
||||
(Same opcode as RECEIVE DIAGNOSTIC RESULTS)
|
||||
sends 4 bytes of data.
|
||||
|
||||
|
||||
SET WINDOW
|
||||
24 00 00 00 00 00 00 00 35 00 (VM3575)
|
||||
24 00 00 00 00 00 00 00 38 00 (VM6586)
|
||||
|
||||
Total length is
|
||||
07 = length
|
||||
VM3575 53-8 = 45
|
||||
VM6586 56-8 = 48
|
||||
VM3552 69-8 = 61
|
||||
10-11 = X Resolution
|
||||
12-13 = Y resolution
|
||||
14-17 = X top left corner
|
||||
18-21 = Y top left corner
|
||||
22-25 = width (size in inches * 300)
|
||||
26-29 = length (size in inches * 300)
|
||||
31 = 0x80 ?
|
||||
33 = scan mode
|
||||
0x00 = black & white
|
||||
0x02 = grayscale
|
||||
0x05 = color
|
||||
34 = bit depth? - invariant, always 8
|
||||
36 = (vm6586 only ?) halftone pattern ?
|
||||
1 = type 1 dithering
|
||||
37 =
|
||||
0x80 = RIF?
|
||||
48 = color channel to use
|
||||
if scan mode is 0 or 2:
|
||||
0x00 = red
|
||||
0x01 = green
|
||||
0x02 = blue
|
||||
if scan mode is 05 -> ignored
|
||||
TWAIN leaves 0x02
|
||||
50 = ?
|
||||
|
||||
VM6585 only:
|
||||
52-53 = size of a line expected?
|
||||
54-55 = number of lines expected?
|
||||
|
||||
|
||||
READ
|
||||
28 00 00 00 00 19 00 1f 0e 00
|
||||
5 = number of lines to read
|
||||
7-8 = buffer size.
|
||||
Always number of lines to read * size of a line.
|
||||
0x2000 appears to be the upper limit
|
||||
|
||||
|
||||
SEND
|
||||
2A 00 03 00 00 04 00 0C 00 00
|
||||
2 = data type code
|
||||
0x03 = gamma
|
||||
4-5 = data type qualifier (?)
|
||||
6-8 = length (0xc00 = 3276 = 3*2^10)
|
||||
or:
|
||||
5-6: length of each gamma
|
||||
7-8: length of all gamma
|
||||
|
||||
|
||||
OBJECT POSITION
|
||||
31 00 00 00 00 00 00 00 00 00
|
||||
Park the CCD.
|
||||
|
||||
|
||||
GET DATA BUFFER STATUS
|
||||
34 01 00 00 00 00 00 00 12 00
|
||||
|
||||
1 = bit 1 is wait
|
||||
7-8 = allocation length
|
||||
|
||||
returned buffer is 0x12 bytes long.
|
||||
00 00 0f 00 00 00 00 14 00 00 00 80 1b 6c 09 f6 05 05
|
||||
0-2 = additional length (0x12-3 = 0x0F)
|
||||
7 = ? always 0x14
|
||||
11 = bit 7 - (maybe) scanner is ready to send data
|
||||
12-13 = number of lines (constant during a scan)
|
||||
14-15 = bytes per line (constant during a scan)
|
||||
16-17 = garbage (the command only returns 0x10 bytes)
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
Scan sequence
|
||||
|
||||
Get some info:
|
||||
INQUIRY
|
||||
|
||||
Setup the scan:
|
||||
REQUEST SENSE
|
||||
TUR
|
||||
SET WINDOWS
|
||||
GET BUFFER STATUS
|
||||
VENDOR-0C
|
||||
VENDOR-09 (read calibration)
|
||||
VENDOR-0E (send new calibration)
|
||||
REQUEST SENSE
|
||||
SEND(10)
|
||||
SET WINDOWS (same as the first one)
|
||||
COMMAND 06
|
||||
RECEIVE DIAGNOSTIC RESULTS
|
||||
SCAN
|
||||
GET BUFFER STATUS
|
||||
|
||||
loop until all data read:
|
||||
READ(10)
|
||||
|
||||
park the CCD:
|
||||
OBJECT POSITION
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
calibration
|
||||
|
||||
TECO VM3575 reads 12 lines of calibration
|
||||
TECO VM656A reads 8 lines of calibration
|
||||
TECO VM6586 ??
|
Ładowanie…
Reference in New Issue