kopia lustrzana https://gitlab.com/sane-project/backends
167 wiersze
4.2 KiB
Plaintext
167 wiersze
4.2 KiB
Plaintext
![]() |
Made by Kyushu Matsushita Electric, a.k.a. Panasonic
|
||
|
http://www.kme.panasonic.co.jp/
|
||
|
http://panasonic.com/
|
||
|
|
||
|
The same twain driver handle these scanners:
|
||
|
Same family as KV-SS25, KV-SS50, KV-SS55, KV-SS50EX, KV-SS55EX, KV-SS850, KV-SS855.
|
||
|
|
||
|
Another driver handle the KV-S2055L, KV-S2055W.
|
||
|
|
||
|
However all these scanner show similarities.
|
||
|
|
||
|
/*--------------------------------------------------------------------------*/
|
||
|
|
||
|
SCSI commands supported by the KV-SS25:
|
||
|
|
||
|
TEST UNIT READY:
|
||
|
00 00 00 00 00 00
|
||
|
|
||
|
REQUEST SENSE:
|
||
|
03 00 00 00 0E 00
|
||
|
a return after a short read is:
|
||
|
f0 00 60 00 00 00 02 0a 00 00 00 00 00 00 00 00
|
||
|
a return after a jam (sure?)
|
||
|
f0 00 03 00 00 00 00 0a 00 00 00 00 80 01 00 00
|
||
|
no paper
|
||
|
f0 00 03 00 00 00 00 0a 00 00 00 00 3a 00 00 00
|
||
|
jam door open:
|
||
|
f0 00 02 00 00 00 00 0a 00 00 00 00 04 81 00 00
|
||
|
paper jam
|
||
|
f0 00 03 00 00 00 00 0a 00 00 00 00 80 04 00 00
|
||
|
after a power cycle
|
||
|
f0 00 06 00 00 00 00 0a 00 00 00 00 29 00 00 00
|
||
|
after ????
|
||
|
f0 00 05 00 00 00 00 0a 00 00 00 00 2c 02 00 00
|
||
|
out of memory (scan data too big for scanner)
|
||
|
f0 00 05 00 00 00 00 0a 00 00 00 00 2c 80 00 00
|
||
|
|
||
|
INQUIRY:
|
||
|
12 00 00 00 60 00
|
||
|
result:
|
||
|
06 00 02 02 5B 00 00 10 4B 2E 4D 2E 45 2E 20 20
|
||
|
4B 56 2D 53 53 32 35 41 20 20 20 20 20 20 20 20
|
||
|
31 2E 30 35 00 00 00 00 00 00 00 00 00 00 00 00
|
||
|
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||
|
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||
|
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||
|
|
||
|
SET WINDOWS:
|
||
|
24 00 00 00 00 00 00 00 00 00
|
||
|
reset (?)
|
||
|
24 00 00 00 00 00 00 00 48 00
|
||
|
72 bytes.
|
||
|
6-7 = 0x40 = window descriptor length
|
||
|
|
||
|
Window Descriptor Block:
|
||
|
0 = page side
|
||
|
0x00 = front
|
||
|
0x80 = back
|
||
|
2-3 = X resolution
|
||
|
4-5 = Y Resolution
|
||
|
14-17 = width (size in inches * 1200)
|
||
|
18-21 = length (size in inches * 1200)
|
||
|
22 = 255 - brightness
|
||
|
23 = same as 22
|
||
|
24 = contrast
|
||
|
25 = image composition
|
||
|
0x00 = black&white (1 bit)
|
||
|
0x01 = black&white with halftone pattern
|
||
|
0x02 = grayscale
|
||
|
26 = bits/pixel
|
||
|
0x01, if image comp == 0
|
||
|
0x04, if image comp == (0x01 || 0x02) -> grayscale 4 bits
|
||
|
0x08, if image comp == 0x02 -> grayscale 8 bits
|
||
|
28 = haltone pattern
|
||
|
0x00 = Bayer 64
|
||
|
0x01 = Bayer 16
|
||
|
0x02 = Dot 32
|
||
|
0x03 = Dot 64
|
||
|
0x04 = Error diffusion
|
||
|
43 = image emphasis
|
||
|
0x80 smooth
|
||
|
0x00 none
|
||
|
0x01 low
|
||
|
0x30 medium (twain default)
|
||
|
0x50 high
|
||
|
44 = gamma (Gray 4/8 only)
|
||
|
0x00 normal
|
||
|
0x01 from CRT
|
||
|
48-51 = width (again?, maybe paper size)
|
||
|
52-55 = length (again?, maybe paper size)
|
||
|
57 = feeder mode
|
||
|
0x00 = one page
|
||
|
other = number of pages to read (windows driver defaults to 0xff)
|
||
|
58 = auto threshold
|
||
|
0x00 = none (twain default)
|
||
|
0x80 = mode 1
|
||
|
0x81 = mode 2
|
||
|
0x82 = mode 3
|
||
|
59 = automatic separation
|
||
|
0x00 = no (twain default)
|
||
|
0x80 = yes
|
||
|
60 = white level
|
||
|
0x00 = from white stick (twain default)
|
||
|
0x80 = from paper
|
||
|
0x81 = automatic
|
||
|
61 = noise reduction
|
||
|
0x00 = none (twain default)
|
||
|
0x01 = 1x1
|
||
|
0x02 = 2x2
|
||
|
0x03 = 3x3
|
||
|
0x04 = 4x4
|
||
|
0x05 = 5x5
|
||
|
|
||
|
READ:
|
||
|
28 00 80 00 00 00 00 00 10 00
|
||
|
28 00 00 00 00 00 00 80 00 00
|
||
|
2 = data type code
|
||
|
0x00 image data
|
||
|
The TWAIN driver always reads 0x8000 bytes at the time, except for
|
||
|
the last packet where it read the size left plus 2 more bytes (and
|
||
|
thus generating a check condition).
|
||
|
|
||
|
5: page side
|
||
|
0x00 = front
|
||
|
0x80 = back
|
||
|
|
||
|
0x80 image size in dots
|
||
|
3(?)-4: number of the page to read. Multipage mode.
|
||
|
|
||
|
returns 16 bytes:
|
||
|
0-3: length in pixels
|
||
|
4-7: width in lines
|
||
|
|
||
|
SET AREA (?)
|
||
|
C0 00 00 00 00 00 00 00 58 00
|
||
|
Total message length = 88 bytes
|
||
|
7 = length -> 0x40 = 64 bytes
|
||
|
14-17 = area 1 X
|
||
|
18-21 = area 1 Y
|
||
|
22-25 = area 1 width
|
||
|
26-29 = area 1 length
|
||
|
33 = image composition
|
||
|
1 = halftone
|
||
|
36 = haltone pattern (if image composition == 1)
|
||
|
0x00 = Bayer 64
|
||
|
0x01 = Bayer 16
|
||
|
0x02 = Dot 32
|
||
|
0x03 = Dot 64
|
||
|
0x04 = Error diffusion
|
||
|
50-53 = area 2 X
|
||
|
54-57 = area 2 Y
|
||
|
58-61 = area 2 width
|
||
|
62-65 = area 2 length
|
||
|
68-71 = area 3 X
|
||
|
72-75 = area 3 Y
|
||
|
76-79 = area 3 width
|
||
|
80-83 = area 3 length
|
||
|
|
||
|
|
||
|
Other supported commands:
|
||
|
16 RESERVE UNIT
|
||
|
17 RELEASE UNIT
|
||
|
1D SEND DIAGNOSTIC
|
||
|
2A SEND(10)
|
||
|
31 OBJECT POSITION
|
||
|
3B WRITE BUFFER
|