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
|