summaryrefslogtreecommitdiff
path: root/camlibs/konica/qm150.txt
blob: 9cb0045ff8efc93f8bb8f0d3f3a72f7b945e9412 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
Functions codes :
all functions are preceded by escape code (0x1B).
 - 0x58 = ping (receive 1 byte = ACK or anything else will be an error)
 - 0x53 = get camera informations (receive 256 bytes of informations. Details after this list)
 - 0x49 0x3X 0x3X 0x3X 0x3X = get image informations (receive 256 bytes of informations. Details after this list)
 - 0x42 0x3X = Set broadcast speed :
 	0x30 = 9600 bauds
	0x31 = 19200 bauds
	0x32 = 38400 bauds
	0x33 = 57600 bauds
	0x34 = 115200 bauds
	(In all case, if ok, receive an ACK (1 byte))
 - 0x47 0x46 0x3X 0x3X 0x3X 0x3X = Get image 
 	receive 1 byte which contains the ACK (0x6 = all is ok | 0x15 = there is an error)
	And by cycle :
		receive a part of the picture (512 bytes)
		receive a checksum (1 byte)
		we must send the result of the checksum (0x6 = All os OK | 0x15 = seems to be an error is happened)
		receive information about the transmission (1 byte)
			0x1 = next buffer will be transmetted just after
				so we must loop
			0x4 = finished : we must send an ACK (1 byte) and it's finished
 - 0x45 0x46 0x3X 0x3X 0x3X 0x3X = Delete an image (Receive an ACK (1 byte)) Here, we must check if image isn't protected
 - 0x45 0x46 0x30 0x30 0x30 0x30 = Delete all images (Receive an ACK (1 byte))
 - 0x52 0x90 = Capture an image (Receive an ACK (1 byte)) Here, the camera must be in rec mode !


Camera's Information buffer :
0x00 - 0x02 = Seems to be a signature ? 0x03 0x03 0x02
0x03 - 0x04 = Len of the memory card (or just 0x04 ?!?)
0x05 - 0x06 = Ne serait-ce pas la taille du buffer de données ?! NON !!! ERRONE
0x07        = AC / pile (0 = pile | 1 = AC)
0x08 - 0x09 = Auto-extinction (en secondes)
0x0A        = camera's mode (0x0 = play mode | 0x1 = rec mode)
0x0B        = LCD (0 = on | 1 = off)
0x0C        = Affichage de la barre sur l'écran du numérique (1 = absente | 0 = présente)
0x0D        = Flash (0 = automatique | 1 = forcé | 2 = pas de flash)
0x0E        = Minuterie (0 = off | 1 = on)
0x0F        = Qualité d'enregistrement (0 = Normal | 1 = forte qualité | 2 = économique)
0x10        = white balance (0 = auto | 2 = office | 1 = Day-lt)
0x11        = exposure : 0 à 8 = 0, 0.3, 0.5, 0.8, 1.0, 1.3, 1.5, 1.8, 2.0
                         0xf8 à 0xff = -2.0, -1.8, -1.5, -1.3, -1.0, -0.8, -0.5, -0.3
0x12 - 0x13 = Images taken (MBR and LBR)
0x14 - 0x15 = Image remaining (MBR and LBR)
0x16        = Sharpness (0 = auto | 1 = sharp | 2 = soft)
0x17        = Color (0 = auto | 1 = light | 2 = deep | 3 = B/W | 4 = Sepia)
0x18        = Pre-flash (0 = off | 1 = on)
0x19        = Focus (0 = auto | 1 = 2.0m | 2 = 0.5m | 3 = 0.1m)
0x1A        = Macro (0 = off | 1 = on)
0x1B        = Zoom (0 = off | 1 = on)
0x1C - 0x1D = Rapport avec la carte mémoire : surement sa présence + sa taille ?? 
0x1E        = capture (0 = single | 1 = sequence 9)
0x1F        = Date display (0 = off | 1 = on)
0x20        = Date display in play mode (0 = on | 1 = off)
0x21        = Date option (0 = M/D/Y | 1 = D/M/Y | 2 =Y/M/D)
0x22 - 0x25 = date and the time
0x25 - 0xFF = seems to be unused

Image's Information buffer :
0x00 - 0x01 = ???
0x02 - 0x03 = maybe the number of the next image ?
0x04 - 0x07 = seems to be Thumbnail size (in bytes)
0x08 - 0x0B = Image size (in bytes)
0x0E - 0x0F = Image number associated to this image info
0x0B - 0x10 = ???
0x11        = Image protected (0x0 = no protection | 0x1 = Image protected)
0x12 - 0xFF = seels to be unused





Escape codes of the windows driver:

Ping:
        Writes 2 byte: 1B 58    ESC X   
        Expects: 1 byte NACK/ACK

Getcaminfo:
        Writes 2 byte: 1B 53    ESC S
        Expects: 1 byte NACK or 256 byte data.
                The 256 byte data must start with bytes: 03 03.

cmd_C: UNSUPPORTED !
        Writes 6 byte: 1B 43 <nr1> <nr1> <nr2> <nr2>    ESC C x x y y

        Gets 2 numbers as argument.
        Expects: 1 byte, NACK/ACK

cmd_H: UNSUPPORTED !
        Writes 4 byte: 1B 48 <hex> <hex>        ESC H x x

        The <hex> numbers are from a 8bit value passed to the command.

        Expects: 1 byte, NACK/ACK.

SetSpeed:
        Writes 3 byte: 1B 42 <nr>               ESC B x
        
        Speeds are mapped to this (ascii) number:
                0       - 9600
                1       - 19200
                2       - 38400
                3       - 57600
                4       - 115200

        Expects: 1 byte: NACK/ACK.

ImageInfo 1:
        Writes 6 byte: 1B 49 <nr> <nr> <nr> <nr>        ESC I xxxx

        Expects: 1 byte NACK or 256 byte data.
                The 256 byte data must start with 03 03.

ImageInfo 2:
        Writes 7 byte: 1B 49 46 <nr> <nr> <nr> <nr>     ESC I F xxxx

        Expects: 1 byte NACK or 256 byte data.
        
        The data is the same as in ImageInfo 1.

        Unclear what the difference between the 2 commands is.

cmd_P 1: UNSUPPOTED !
        Writes 10 byte: 1B 50 <nr1><nr1><nr1><nr1> <nr2><nr2><nr2><nr2>
                                                        ESC P xxxxyyyy

        Expects: 1 byte NACK or 1024 byte data (?).

cmd_P 2: UNSUPPORTED !
        Writes 11 byte: 1B 50 46 <nr1><nr1><nr1><nr1> <nr2><nr2><nr2><nr2>
                                                        ESC P F xxxxyyyy
        Expects: 1 byte NACK or 1024 byte data (?).


cmd_V 1: UNSUPPORTED !
        Writes 6 byte: 1B 56 <nr> <nr> <nr> <nr>        ESC V xxxx
        Expects: 1 byte NACK/ACK.

cmd_V 2: UNSUPPORTEd !
        Writes 7 byte: 1B 56 46 <nr> <nr> <nr> <nr>     ESC V F xxxx
        Expects: 1 byte NACK/ACK.

Erase 1 (not used in win driver):
        Writes 6 byte: 1B 45 <nr> <nr> <nr> <nr>        ESC E xxxx
        Expects: 1 byte NACK/ACK

Erase 2 (used):
        Writes 7 byte: 1B 45 46 <nr> <nr> <nr> <nr>     ESC E F xxxx
        Expects: 1 byte NACK/ACK


cmd_K 1: UNSUPPORTED !
        Writes 6 byte: 1B 4B <nr> <nr> <nr> <nr>        ESC K xxxx
        Expects: 1 byte NACK/ACK.

cmd_K 2: UNSUPPORTED !
        Writes 7 byte: 1B 4B 46 <nr> <nr> <nr> <nr>     ESC K xxxx
        Expects: 1 byte NACK/ACK.

Capture:
        Writes 3 byte: 1B 52 <nr>                       ESC R x
        Expects: 1 byte NACK/ACK.

        <nr> can be '1' or '0'.

Set Time (?): do nothing ?
        Writes 11 byte: 1B 57 44 <8*nr>                 ESC W D xxxxxxxx
        Expects: 1 byte NACK/ACK.
                
        The number is the current time in seconds sinc 1980 I guess.

Get Thumbnail 1:
        Writes: 6 byte 1B 54 <4*nr>                     ESC T xxxx
        Expects: ...  see code 

Get Thumbnail 2:
        Writes: 7 byte 1B 54 46 <4*nr>                  ESC TF xxxx
        Expects: ...  see code 

Get Image 1:
        Writes: 6 byte 1B 47 <4*nr>                     ESC G xxxx
        Expects: ...  see code 

Get Image 2:
        Writes: 7 byte 1B 47 46 <4*nr>                  ESC GF xxxx
        Expects: ...  see code 

Upload:
        Writes: 2 byte 1B 55                            ESC U
        Expects: ... see code