summaryrefslogtreecommitdiff
path: root/doc/teco
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2014-10-06 14:00:40 +0200
committerJörg Frings-Fürst <debian@jff-webhosting.net>2014-10-06 14:00:40 +0200
commit6e9c41a892ed0e0da326e0278b3221ce3f5713b8 (patch)
tree2e301d871bbeeb44aa57ff9cc070fcf3be484487 /doc/teco
Initial import of sane-backends version 1.0.24-1.2
Diffstat (limited to 'doc/teco')
-rw-r--r--doc/teco/teco1.txt193
-rw-r--r--doc/teco/teco2.txt267
-rw-r--r--doc/teco/teco3.txt166
3 files changed, 626 insertions, 0 deletions
diff --git a/doc/teco/teco1.txt b/doc/teco/teco1.txt
new file mode 100644
index 0000000..d555e9e
--- /dev/null
+++ b/doc/teco/teco1.txt
@@ -0,0 +1,193 @@
+
+ BACKEND TECO1
+
+
+
+Relisys RELI 2412 (no ADF, no transparency adapter)
+single pass scanner - 300*1200 dpi - 8.5*14
+Inquiry:
+ 000: 06 00 02 02 30 00 00 10 52 45 4c 49 53 59 53 20 ....0...RELISYS
+ 016: 56 4d 33 35 33 30 2b 20 20 20 20 20 20 20 20 20 VM3530+
+ 032: 31 2e 30 38 31 2e 30 38 02 00 54 45 43 4f 20 56 1.081.08..TECO V
+ 048: 4d 33 35 33 41 M353A
+Inquiry page 0x82
+ 000: 06 82 00 12 11 54 45 43 4f 20 56 4d 33 35 33 41 .....TECO VM353A
+ 016: 20 56 31 2e 30 36 V1.06
+
+AVEC Colour 2412
+three pass scanner - 300*600 dpi - 8.5*14
+ 000: 06 00 02 02 30 00 00 10 20 20 20 20 20 20 20 20 ....0...
+ 016: 49 6d 61 67 65 20 53 63 61 6e 6e 65 72 20 20 20 Image Scanner
+ 032: 31 2e 30 38 31 2e 30 38 02 00 54 45 43 4f 20 56 1.081.08..TECO V
+ 048: 4d 33 35 32 41 M352A
+
+Avec Color Office 2400 (no ADF, no transparency adapter)
+three pass scanner - 300*600 dpi - 8.5*14
+Inquiry:
+ 000: 06 00 02 02 30 00 00 10 20 20 20 20 20 20 20 20 ....0...
+ 016: 49 6d 61 67 65 20 53 63 61 6e 6e 65 72 20 20 20 Image Scanner
+ 032: 32 2e 30 34 32 2e 30 34 02 00 54 45 43 4f 20 56 2.042.04..TECO V
+ 048: 4d 33 35 32 30 M3520
+Inquiry page 0x82
+ 000: 06 82 00 12 11 54 45 43 4f 20 56 4d 33 35 32 30 .....TECO VM3520
+ 016: 20 56 32 2e 30 34 V2.04
+
+RELI 4830 (no ADF, with transparency adapter)
+ 000: 06 00 02 02 30 00 00 10 52 45 4c 49 53 59 53 20 ....0...RELISYS
+ 016: 52 45 4c 49 20 34 38 33 30 20 20 20 20 20 20 20 RELI 4830
+ 032: 31 2e 30 33 31 2e 30 33 02 00 54 45 43 4f 20 56 1.031.03..TECO V
+ 048: 4d 34 35 34 32 M4542
+Inquiry page 0x82
+ 000: 06 82 00 12 11 54 45 43 4f 20 56 4d 34 35 34 32 .....TECO VM4542
+ 016: 20 56 31 2e 30 33 V1.03
+
+Dextra DF-600P - VM3510
+ 000: 06 00 02 02 24 00 00 10 44 46 2D 36 30 30 4D 20 ....$...DF-600M
+ 016: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+ 032: 31 2E 31 37 31 2E 31 37 02 1.171.17.
+
+
+/*--------------------------------------------------------------------------*/
+
+SCSI commands supported by the RELISYS VM3530+:
+
+TEST UNIT READY
+00 00 00 00 00 00
+
+REQ SENSE
+03 00 00 00 12 00
+
+VENDOR-09
+09 00 00 78 00 00
+ 3-4 = length of data to receive. Always 30720 bytes.
+ Probably 12 lines of calibration at 300dpi.
+ 8.5*300*12=30600
+
+VENDOR-0E (?)
+0E 00 00 00 00 00
+ Always follows VENDOR-09 command
+
+INQUIRY:
+12 00 00 00 35 00
+12 01 82 00 21 00
+ standard inquiry
+ 52 bytes - appears to never change
+ 32-39: firmware version
+ 42-52: real scanner name
+
+ page 0x82 (vendor specific) - real scanner name with version
+ 0-3 = page header
+ 4 = string length
+ 5-21 = real scanner name with version
+
+MODE SELECT
+15 10 00 00 18 00
+ always sends:
+ 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 01
+ 03 06 02 00 00 01 00 00
+
+
+SCAN
+1B 00 00 00 00 00
+
+SET WINDOW
+24 00 00 00 00 00 00 00 63 00
+Total length is 99
+ 07 = length (99-8 = 91)
+ 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? - invariants, always 8
+ 36 = dither pattern - only for B&W
+ 0x00 = line art
+ 0x01 = 2 X 2
+ 0x02 = 3 X 3
+ 0x03 = 4 X 4 Bayer
+ 0x04 = 4 X 4 Smooth
+ 0x05 = 8 X 8 Bayer
+ 0x06 = 8 X 8 Smooth
+ 0x07 = 8 X 8 Horizontal
+ 0x08 = 8 X 8 Vertical
+ 37 =
+ 0x80 = RIF (VM353A only?)
+ 63 = calibration?
+ 0x00 yes
+ 0x02 no
+ 81 = ??? transparency adapter
+ 0x00 no
+ 0x01 yes
+ 93 =
+ 0x80 = ? (seems to activate a contrast value on VM353A)
+
+ 37, 55, 57, 59, 61, 65, 67, 69, 71, 73, 75, 77, 79 = 0x80
+ 85, 89, 93, 97 = 0xff
+
+READ
+28 00 00 00 00 00 00 00 3E 00
+ 6-8 = length
+
+SEND
+2A 00 03 00 00 02 00 04 00 00
+ 2 = data type code
+ 0x03 = gamma - 4*256 bytes
+
+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 0x10 bytes long.
+ 0-2 = additional length (0x10-3 = 0x0D)
+ 3 = reserved(?)
+ 8 = ?
+ 9-11 = filled data buffer
+ 12-13 = number of lines (constant during a scan)
+ 14-15 = bytes per line (constant during a scan)
+
+
+/*--------------------------------------------------------------------------*/
+
+Command sequence
+(simplified, since the TWAIN driver seems to be quite stupid)
+
+Get some info:
+ INQUIRY
+ INQUIRY page 0x82
+
+Setup the scan:
+ TUR
+ MODE SELECT
+ SET WINDOWS
+ GET BUFFER STATUS
+ VENDOR-09
+ VENDOR-0E
+ SEND(10)
+ SET WINDOWS (same as the first one)
+ SCAN
+
+loop until all data read:
+ GET BUFFER STATUS
+ READ(10) if any data available
+
+park the CCD:
+ SET WINDOWS
+ SCAN
+
+/*--------------------------------------------------------------------------*/
+
+The vendor specific command 0x09 and 0x0e are issued by the windows driver to the AVEC 2400, but the scanner rejects them.
+
+/*--------------------------------------------------------------------------*/
+
+The Dextra DF600-P is a VM3510. It's older than the other scanner and
+is a little more primitive. The driver recognizes its scsi id and fake
+a more evolved one. The scan sequence is also simplified. The rest is
+identical.
diff --git a/doc/teco/teco2.txt b/doc/teco/teco2.txt
new file mode 100644
index 0000000..5b64a83
--- /dev/null
+++ b/doc/teco/teco2.txt
@@ -0,0 +1,267 @@
+
+ BACKEND TECO2
+
+INQUIRY
+
+TECO VM3564 (1)
+000: 06 00 02 02 43 00 00 10 52 45 4c 49 53 59 53 20 ....C...RELISYS
+016: 41 56 45 43 20 49 49 20 53 33 20 20 20 20 20 20 AVEC II S3
+032: 31 2e 30 37 31 2e 30 37 00 01 54 45 43 4f 20 56 1.071.07..TECO V
+048: 4d 33 35 36 34 20 00 01 01 2c 00 01 02 58 09 f6 M3564 ...,...X..
+064: 0d af 01 2c 00 08 01 00 ...,....
+
+TECO VM3564 (2)
+000: 06 00 02 02 43 00 00 10 52 45 4c 49 53 59 53 20 ....C...RELISYS
+016: 41 56 45 43 20 49 49 20 53 33 20 20 20 20 20 20 AVEC II S3
+032: 31 2e 30 39 31 2e 30 39 00 01 54 45 43 4f 20 56 1.091.09..TECO V
+048: 4d 33 35 36 34 20 00 01 01 2c 00 01 02 58 09 f6 M3564 ...,...X..
+064: 0d af 01 2c 00 08 01 00 ...,....
+
+TECO VM356A (1)
+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 33 APOLLO Express 3
+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 36 41 20 00 01 01 2c 00 01 02 58 09 f6 M356A ...,...X..
+064: 0d af 01 2c 00 08 01 00 ...,....
+
+TECO VM356A (2)
+000: 06 00 02 02 43 00 00 10 50 72 69 6d 61 78 20 20 ....C...Primax
+016: 4a 65 77 65 6c 20 20 20 20 20 20 20 20 20 20 20 Jewel
+032: 31 2e 30 31 31 2e 30 31 00 01 54 45 43 4f 20 56 1.011.01..TECO V
+048: 4d 33 35 36 41 20 00 01 01 2c 00 01 02 58 09 f6 M356A ...,...X..
+064: 0d af 01 2c 00 08 01 00 ...,....
+
+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 ??
+
+Algorithms used (text from Alex Wulms):
+The old algorithm was based on the assumption that the calibration value needs
+to be an offset, to go from the value obtained during input to the average
+value (0x800).
+
+E.g., if the input value is 0x800, the calibration value must be 0x800 (0x1000
+- 0x800).
+Likewise, if the input value is 0x700, the calibration value must be 0x900
+(0x1000 - 0x700)
+And if the input value is 0x600, the calibration value must be 0xA00
+
+The new algorithm is based on the assumption that the calibration needs to be
+a multiplication factor, to compensate for the too strong or too weak pixel
+in the sensor. Again, we want to obtain the average value (approximately
+0x800) for every pixel read during calibration.
+
+E.g., if the input value is 0x800, the calibration value must be 0x800
+(0x800*0x800 / 0x800).
+Likewise, if the input value is 0x700, the calibration value must be 0x924
+(0x800*0x800 / 0x700).
+And if the input value is 0x600, the calibration value must 0xAAA (0x800*0x800
+/ 0x600)
+
+Though, carefull comparison with scans done under windows has shown that the
+factor is slightly different from 0x800*0x800(=0x400000) but in stead it
+seems to be approximately 0x40302f (which would mean that the average value
+is approximately 0x803 in stead of 0x800).
+
+Hope this is clarifies the new algorithm.
+
diff --git a/doc/teco/teco3.txt b/doc/teco/teco3.txt
new file mode 100644
index 0000000..bc6391f
--- /dev/null
+++ b/doc/teco/teco3.txt
@@ -0,0 +1,166 @@
+
+ BACKEND TECO3
+
+
+This scanner capabilities are in the middle of the 3520 and 3575,
+sharing features of both. Hence a third backend.
+
+
+PIOTECH 3024 (TECO Scorpio/Taurus Infinity VM3552):
+ 000: 06 00 02 02 43 00 00 10 20 20 20 20 20 20 20 20 ....C...
+ 016: 46 6c 61 74 2d 62 65 64 20 73 63 61 6e 6e 65 72 Flat-bed scanner
+ 032: 35 2e 30 38 35 2e 30 38 03 02 54 45 43 4f 20 56 5.085.08..TECO V
+ 048: 4d 33 35 35 32 20 00 01 01 2c 00 01 04 b0 09 f6 M3552 ...,......
+ 064: 10 68 01 2c 00 00 00 01 .h.,....
+
+RELISYS INFINiTY SCORPIO:
+ 000: 06 00 02 02 43 00 00 10 52 45 4c 49 53 59 53 20 ....C...RELISYS
+ 016: 53 63 6f 72 70 69 6f 20 20 20 20 20 20 20 20 20 Scorpio
+ 032: 31 2e 30 34 31 2e 30 34 03 02 54 45 43 4f 20 56 1.041.04..TECO V
+ 048: 4d 33 35 35 32 20 00 01 01 2c 00 01 04 b0 09 f6 M3552 ...,......
+ 064: 10 68 01 2c 00 00 00 00 .h.,....
+
+Trust Imagery 2400SP:
+ 000: 06 00 02 02 43 00 00 10 41 61 73 68 69 6d 61 20 ....C...Aashima
+ 016: 49 4d 41 47 45 52 59 20 32 34 30 30 53 50 20 20 IMAGERY 2400SP
+ 032: 31 2e 30 30 31 2e 30 30 03 02 54 45 43 4f 20 56 1.001.00..TECO V
+ 048: 4d 33 35 35 32 20 00 01 01 2c 00 01 04 b0 09 f6 M3552 ...,......
+ 064: 10 68 01 2c 00 00 00 01 .h.,....
+
+Trust Imagery 4800 SP +:
+ 000: 06 00 02 02 43 00 00 10 41 61 73 68 69 6d 61 20 ....C...Aashima
+ 016: 49 4d 41 47 45 52 59 20 34 38 30 30 53 50 20 2b IMAGERY 4800SP +
+ 032: 35 2e 30 38 35 2e 30 38 03 02 54 45 43 4f 20 56 5.085.08..TECO V
+ 048: 4d 33 35 35 32 20 00 01 01 2c 00 01 04 b0 09 f6 M3552 ...,......
+ 064: 10 68 01 2c 00 00 00 00 .h.,....
+
+/*--------------------------------------------------------------------------*/
+
+SCSI commands supported by the RELISYS VM3530+:
+
+TEST UNIT READY
+00 00 00 00 00 00
+
+REQ SENSE
+03 00 00 00 12 00
+
+VENDOR-09
+09 00 00 78 00 00
+ 3-4 = length of data to receive. Always 30720 bytes.
+ Probably 12 lines of calibration at 300dpi.
+ 8.5*300*12=30600
+
+VENDOR-0E (?)
+0E 00 00 00 00 00
+ Always follows VENDOR-09 command
+
+INQUIRY:
+12 00 00 00 35 00
+ standard inquiry
+ 52 bytes - appears to never change
+ 32-39: firmware version
+ 42-52: real scanner name
+
+SCAN
+1B 00 00 00 00 00
+
+SET WINDOW
+24 00 00 00 00 00 00 00 45 00 (3552)
+
+Total length is 99
+ 07 = length (99-8 = 91)
+ 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? - invariants, always 8
+ 36 = dither pattern - only for B&W
+ 0x00 = line art
+ 0x01 = 2 X 2
+ 0x02 = 3 X 3
+ 0x03 = 4 X 4 Bayer
+ 0x04 = 4 X 4 Smooth
+ 0x05 = 8 X 8 Bayer
+ 0x06 = 8 X 8 Smooth
+ 0x07 = 8 X 8 Horizontal
+ 0x08 = 8 X 8 Vertical
+ 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: calibration
+ 00 = yes
+ 02 = no
+ 53, 57, 61, 65: 0xff
+
+
+READ
+28 00 00 00 00 00 00 00 3E 00
+ 6-8 = length
+
+SEND
+2A 00 03 00 00 02 00 04 00 00
+ 2 = data type code
+ 0x03 = gamma - 4*256 bytes
+
+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 0x10 bytes long.
+ 0-2 = additional length (0x10-3 = 0x0D)
+ 3 = reserved(?)
+ 6-8 = scanner memory (with no RAM, it is 32KB on the VM3552)
+ 9-11 = filled data buffer
+ 12-13 = number of lines (constant during a scan)
+ 14-15 = bytes per line (constant during a scan)
+ 16 = ?
+ 17 = in color mode, 0x07 seems to means to the colors are shifted
+ and given by rasters. 0x00 seems to mean that there is no
+ color shifting and that each pixel is coded by 3 consecutive
+ bytes.
+
+/*--------------------------------------------------------------------------*/
+
+Command sequence
+(simplified, since the TWAIN driver seems to be quite stupid)
+
+Get some info:
+ INQUIRY
+
+Setup the scan:
+ TUR
+ SET WINDOWS
+ GET BUFFER STATUS
+ VENDOR-09
+ VENDOR-0E
+ SEND(10)
+ SET WINDOWS (same as the first one)
+ SCAN
+
+loop until all data read:
+ GET BUFFER STATUS
+ READ(10) if any data available
+
+park the CCD:
+ OBJECT POSITION
+
+/*--------------------------------------------------------------------------*/
+