kopia lustrzana https://gitlab.com/sane-project/backends
190 wiersze
5.0 KiB
Plaintext
190 wiersze
5.0 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
|
|
0x80 = User downloaded pattern
|
|
29 = reverse image
|
|
0x00 = no reverse
|
|
0x80 = reverse
|
|
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
|
|
0x80 gamma table 0 (previously downloaded)
|
|
0x81 gamma table 1 (previously downloaded)
|
|
0x82 gamma table 2 (previously downloaded)
|
|
0x83 gamma table 3 (previously downloaded)
|
|
47 = ? (only used by the ISIS driver)
|
|
bit 7 = ? set by the ISIS driver
|
|
bit 6 = length control
|
|
bit 2 = ? set by the ISIS driver
|
|
bit 1 = ? set by the ISIS driver
|
|
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 (TWAIN 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
|
|
|
|
SEND(10):
|
|
2A 00 03 00 00 01 00 01 0A 00
|
|
2 = data type code
|
|
0x02 = halftone pattern
|
|
data is 10 bytes of header + 64 bytes for the matrix
|
|
0x03 = gamma table
|
|
data is 10 bytes of header + 256 bytes for the table
|
|
5 = gamma table number (data type code is 2)
|
|
the scanner can store 4 gamma tables (from 0 to 3)
|
|
7-8 = length
|
|
|
|
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
|
|
31 OBJECT POSITION
|
|
3B WRITE BUFFER
|