Four Thirds Communication Protocol | preamp.org (original) (raw)
Five years after I first prepared an Olympus lens with connections to capture the camera to lens communication, I finally managed do obtain (well, buy) a logic analyzer to actually do this. Might be a little late already, though, since Four Thirds seems to be abandoned - or at least it's getting replaced by the new Standard ''Micro Four Thirds''.
Four Thirds Pinout
Figuring out the connections wasn't that hard at all. Of course I'm not sure wether I'm perfectly right with my suggestions made here, so please take this information ''as is'' and with no warranty! Clock and Data are correct for sure, as are VCC (Battery power), GND and VDD (Microcontroller power; goes low if you press the lens release button). The Reset line stays low all the time, so I guess it's a reset line going high while flashing a new lens firmware.
The other two are just educated guesses. They look like some DTR/ACK lines for Body and Lens respectively. Here's an example: The Camera Body wants to send a Byte to the Lens, so Pin 5 goes high. The Lens needs some microseconds to wake up and pulls Pin 4 high. Now the Body sends it's Byte and the Lens does whatever it has to do with it and pulls Pin 4 low when it has finished. The lens may need some time for this, so I guess it may keep the line high for several microseconds. Otherwise a protocol with fixed time frames could have been used, conserving at least two pins. I may be totally wrong with this, though.
Data is transmitted via the ubiquitous SPI protocol. Or at least something the like. Clock speed is 500kHz, Transfer size 8 Bits, pretty standard. On a quick test I've noticed that the camera seems to pull all the lines low (including Clock!) on several occassions like when you push the shutter and when the exposure has finished. Here are the settings from the Logic Analyzer:
SPI Protocol Analyzer Settings
Here is what the transmission looks like in graphical form:
Initial Data Transmission on camera switch-on
Lens transmitting its name
Note that on the second picture it is apparent that the lens is trying to send the characters in a fixed interval, while the body takes different times to acknowledge and start the transmission.
Some of the transmitted Data makes perfect sense, the text ''OLYMPUS DIGITAL 14-45mm LENS'' for example is the lens designator, the serial number and some other values are found in the EXIF's MakerNotes. On the other hand, I'm not quite sure what all that other stuff is for :(. I've read something about ballistics tables and focus correction values in several forums, but I have no idea yet how to figure that out.
These are my findings regarding the polling of the lens which occurs about every 104 milliseconds:
Byte Number:
1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10, 11, 12, 13, 14, 15, 16, 17, 18
Infinity focus:
192, 241, 0, 0, 177, 11, 0, 160, 0, 31, 255, 255, 2, 5, 0, 0, 0, 196
Focusing closer:
192, 241, 0, 0, 177, 11, 0, 128, 0, 31, 43, 1, 2, 5, 11, 2, 0, 223 192, 241, 0, 0, 177, 11, 0, 128, 0, 31, 155, 0, 2, 5, 85, 3, 0, 153 192, 241, 0, 0, 177, 11, 0, 128, 0, 31, 87, 0, 2, 5, 121, 5, 0, 123
Close focus:
192, 241, 0, 0, 177, 11, 0, 144, 0, 31, 78, 0, 2, 5, 254, 5, 0, 7
Byte 8: 0 - 0000 0000 - Single Autofocus active 160 - 1010 0000 - Manual Focus @ infinity 144 - 1001 0000 - Manual Focus @ close-up 128 - 1000 0000 - Manual Focus in between
Byte 10: Changes linearly while zooming from 31 @ 45mm to 0 @ 14mm
Bytes 11 + 12: FF FF - 65535 - infinity focus 4E 00 - 78 - close focus Focus distance ?
Bytes 13 + 14: Seem to depend on the zoom position at switch-on. Do not change while zooming or focusing manually.
Bytes 15 + 16: 00 00 - 0 - infinity focus FE 05 - 1534 - close focus Focus mechanism position ?
Byte 18: Checksum of Bytes 8 to 17, maybe 7 to 17
The first 4 Bytes are sent from Body to Lens, the remaining 14 from Lens to Body.
This is the whole initial communication between Lens and Body:
µs since value value
last value decimal char. dir. notes
0 camera switch on
102.073 176 BTL
56 242 BTL
81 0 BTL
166 0 BTL
387 162 BTL
26.540 0 BTL
661 192 BTL
77 246 BTL
79 0 BTL
164 0 BTL
376 182 LTB
230 5 LTB
384 0 LTB
206 10 LTB
115 11 LTB
118 12 LTB
115 13 LTB
260 46 . LTB
648 192 BTL
86 240 BTL
82 32 BTL
336 0 BTL
379 208 LTB
2.197 237 LTB
215 7 LTB
200 67 C LTB LensProperties (2 Bytes)
121 192 LTB
212 0 LTB
122 0 LTB Lens ID (3 Bytes)
120 24 LTB
118 0 LTB
116 2 LTB
254 0 LTB
124 79 O LTB Start lens designation
339 76 L LTB
301 89 Y LTB
251 77 M LTB
227 80 P LTB
257 85 U LTB
238 83 S LTB
427 32 LTB
272 68 D LTB
254 73 I LTB
237 71 G LTB
245 73 I LTB
238 84 T LTB
245 65 A LTB
237 76 L LTB
413 32 LTB
271 49 1 LTB
246 52 4 LTB
237 45 - LTB
246 52 4 LTB
240 53 5 LTB
249 109 m LTB
237 109 m LTB
323 32 LTB
270 76 L LTB
254 101 e LTB
232 110 n LTB
253 115 s LTB ? stop lens designation (28 chars)
232 0 LTB
253 0 LTB
232 0 LTB
426 0 LTB ? stop lens designation (32 chars)
260 32 LTB ? length of the following blocks (32x 2 Bytes)
397 26 LTB ? number of the following blocks
248 16 LTB
255 14 LTB ? minimum focal length (2 Bytes)
232 0 LTB
253 45 - LTB ? maximum focal length (2 Bytes)
232 0 LTB
320 49 1 LTB start lens serial number
289 48 0 LTB
234 50 2 LTB
246 51 3 LTB
238 53 5 LTB
245 55 7 LTB
239 52 4 LTB
245 56 8 LTB
320 51 3 LTB ? stop lens serial number (9 chars)
291 0 LTB
233 0 LTB
253 0 LTB ? stop lens serial number (12 chars)
277 4 LTB lens Firmware version (2 Bytes)
124 16 LTB
382 0 LTB
125 255 LTB
117 255 LTB
2.337 15 LTB start of block #1. ?(14mm + 1)?
197 0 LTB
230 16 LTB
212 0 LTB
214 17 LTB
229 0 LTB
216 18 LTB
214 0 LTB
229 18 LTB
422 0 LTB
261 19 LTB
216 0 LTB
214 20 LTB
229 0 LTB
216 21 LTB
214 0 LTB
228 22 LTB
380 0 LTB
240 23 LTB
229 0 LTB
216 24 LTB
214 0 LTB
229 25 LTB
216 0 LTB
214 26 LTB
228 0 LTB
296 27 LTB
260 0 LTB
217 28 LTB
214 0 LTB
228 29 LTB
217 0 LTB
214 30 LTB
228 0 LTB
216 31 LTB
307 0 LTB
245 32 LTB
214 0 LTB
229 32 LTB
217 0 LTB
214 33 ! LTB
229 0 LTB
216 34 " LTB
214 0 LTB
310 35 # LTB
244 0 LTB
228 36 $ LTB
216 0 LTB
215 37 % LTB
229 0 LTB
217 38 & LTB
277 0 LTB
398 39 LTB
237 0 LTB
229 40 ( LTB
216 0 LTB
214 41 ) LTB
229 0 LTB
217 42 * LTB
214 0 LTB
228 43 + LTB
296 0 LTB
260 44 LTB ?(45mm – 1)?
216 0 LTB
2.309 157 LTB start of block #2
120 3 LTB
121 171 LTB
115 3 LTB
120 185 LTB
116 3 LTB
122 198 LTB
116 3 LTB
118 211 LTB
122 3 LTB
285 224 LTB
115 3 LTB
118 236 LTB
116 3 LTB
119 248 LTB
115 3 LTB
116 5 LTB
131 4 LTB
120 17 LTB
134 4 LTB
131 28 LTB
119 4 LTB
141 40 ( LTB
176 4 LTB
121 51 3 LTB
304 4 LTB
140 62 > LTB
124 4 LTB
120 74 J LTB
114 4 LTB
119 84 T LTB
470 4 LTB
232 95 _ LTB
218 4 LTB
218 106 j LTB
305 4 LTB
247 116 t LTB
216 4 LTB
217 126 ~ LTB
216 4 LTB
219 137 LTB
218 4 LTB
218 147 LTB
216 4 LTB
304 156 LTB
249 4 LTB
218 166 LTB
218 4 LTB
218 176 LTB
218 4 LTB
218 185 LTB
218 4 LTB
218 195 LTB
297 4 LTB
246 204 LTB
218 4 LTB
217 213 LTB
218 4 LTB
218 222 LTB
218 4 LTB
219 231 LTB
217 4 LTB
387 249 LTB
243 4 LTB
2.394 0 LTB start of block #3
202 9 LTB
212 0 LTB
211 9 LTB
211 0 LTB
210 9 LTB
211 0 LTB
334 9 LTB
142 0 LTB
215 9 LTB
238 0 LTB
237 9 LTB
238 0 LTB
237 9 LTB
237 0 LTB
399 9 LTB
261 0 LTB
237 9 LTB
237 0 LTB
238 9 LTB
237 0 LTB
238 9 LTB
237 0 LTB
405 9 LTB
263 0 LTB
237 9 LTB
238 0 LTB
237 9 LTB
237 0 LTB
238 9 LTB
237 0 LTB
398 9 LTB
261 0 LTB
238 9 LTB
237 0 LTB
238 9 LTB
237 0 LTB
237 9 LTB
238 0 LTB
521 9 LTB
261 0 LTB
238 9 LTB
237 0 LTB
238 9 LTB
238 0 LTB
237 9 LTB
238 0 LTB
311 9 LTB
263 0 LTB
237 9 LTB
238 0 LTB
237 9 LTB
238 0 LTB
238 9 LTB
237 0 LTB
399 9 LTB
260 0 LTB
237 9 LTB
238 0 LTB
238 9 LTB
237 0 LTB
237 9 LTB
238 0 LTB
401 9 LTB
2.338 93 ] LTB start of block #4
132 3 LTB
122 112 p LTB
121 3 LTB
112 129 LTB
141 3 LTB
122 147 LTB
115 3 LTB
263 164 LTB
323 3 LTB
382 178 LTB
225 3 LTB
194 194 LTB
193 3 LTB
195 210 LTB
194 3 LTB
194 226 LTB
194 3 LTB
195 241 LTB
202 3 LTB
305 0 LTB
228 4 LTB
196 15 LTB
195 4 LTB
195 29 LTB
195 4 LTB
196 41 ) LTB
195 4 LTB
195 55 7 LTB
196 4 LTB
293 69 E LTB
228 4 LTB
196 82 R LTB
195 4 LTB
195 95 _ LTB
195 4 LTB
195 108 l LTB
195 4 LTB
195 121 y LTB
195 4 LTB
299 133 LTB
229 4 LTB
195 145 LTB
195 4 LTB
196 157 LTB
195 4 LTB
195 169 LTB
195 4 LTB
196 181 LTB
195 4 LTB
293 192 LTB
229 4 LTB
195 204 LTB
195 4 LTB
195 215 LTB
271 4 LTB
217 226 LTB
195 4 LTB
196 237 LTB
364 4 LTB
222 247 LTB
195 4 LTB
196 2 LTB
195 5 LTB
2.293 0 LTB start of block #5
125 9 LTB
115 0 LTB
115 9 LTB
239 0 LTB
190 9 LTB
323 0 LTB
215 9 LTB
187 0 LTB
184 9 LTB
184 0 LTB
184 9 LTB
187 0 LTB
187 9 LTB
187 0 LTB
185 9 LTB
185 0 LTB
293 9 LTB
214 0 LTB
189 9 LTB
187 0 LTB
185 9 LTB
185 0 LTB
183 9 LTB
187 0 LTB
186 9 LTB
184 0 LTB
184 9 LTB
296 0 LTB
300 9 LTB
198 0 LTB
188 9 LTB
190 0 LTB
189 9 LTB
186 0 LTB
185 9 LTB
184 0 LTB
184 9 LTB
324 0 LTB
132 9 LTB
186 0 LTB
183 9 LTB
187 0 LTB
187 9 LTB
185 0 LTB
186 9 LTB
184 0 LTB
187 9 LTB
353 0 LTB
204 9 LTB
187 0 LTB
186 9 LTB
188 0 LTB
186 9 LTB
184 0 LTB
185 9 LTB
184 0 LTB
181 9 LTB
186 0 LTB
329 9 LTB
134 0 LTB
187 9 LTB
187 0 LTB
184 9 LTB
2.277 26 LTB start of block #6
125 0 LTB
121 26 LTB
122 0 LTB
120 27 LTB
118 0 LTB
123 28 LTB
362 0 LTB
114 28 LTB
219 0 LTB
195 29 LTB
198 0 LTB
198 30 LTB
197 0 LTB
197 30 LTB
197 0 LTB
197 31 LTB
366 0 LTB
221 31 LTB
197 0 LTB
197 32 LTB
197 0 LTB
196 32 LTB
197 0 LTB
350 32 LTB
225 0 LTB
292 33 ! LTB
230 0 LTB
197 33 ! LTB
197 0 LTB
196 34 " LTB
197 0 LTB
197 35 # LTB
197 0 LTB
196 35 # LTB
197 0 LTB
275 36 $ LTB
225 0 LTB
197 36 $ LTB
197 0 LTB
197 37 % LTB
215 0 LTB
352 36 $ LTB
125 0 LTB
120 37 % LTB
116 0 LTB
118 38 & LTB
126 0 LTB
115 38 & LTB
123 0 LTB
116 39 LTB
116 0 LTB
121 40 ( LTB
122 0 LTB
115 40 ( LTB
210 0 LTB
180 41 ) LTB
288 0 LTB
209 40 ( LTB
188 0 LTB
195 41 ) LTB
197 0 LTB
195 42 * LTB
196 0 LTB
2.290 251 LTB start of block #7
127 5 LTB
123 251 LTB
119 5 LTB
200 251 LTB
185 5 LTB
185 251 LTB
185 5 LTB
185 251 LTB
185 5 LTB
185 251 LTB
185 5 LTB
184 251 LTB
185 5 LTB
185 251 LTB
184 5 LTB
185 251 LTB
185 5 LTB
185 251 LTB
184 5 LTB
185 251 LTB
184 5 LTB
185 251 LTB
185 5 LTB
185 251 LTB
185 5 LTB
184 251 LTB
185 5 LTB
185 251 LTB
185 5 LTB
185 251 LTB
185 5 LTB
185 251 LTB
185 5 LTB
184 251 LTB
353 5 LTB
195 251 LTB
185 5 LTB
184 251 LTB
185 5 LTB
185 251 LTB
184 5 LTB
185 251 LTB
185 5 LTB
185 251 LTB
184 5 LTB
185 251 LTB
185 5 LTB
184 251 LTB
185 5 LTB
185 251 LTB
185 5 LTB
185 251 LTB
184 5 LTB
264 251 LTB
211 5 LTB
185 251 LTB
185 5 LTB
185 251 LTB
185 5 LTB
185 251 LTB
185 5 LTB
184 251 LTB
185 5 LTB
2.275 124 | LTB start of block #8
127 1 LTB
128 124 | LTB
121 1 LTB
117 124 | LTB
123 1 LTB
125 124 | LTB
142 1 LTB
185 124 | LTB
184 1 LTB
185 124 | LTB
185 1 LTB
185 124 | LTB
185 1 LTB
284 124 | LTB
198 1 LTB
185 124 | LTB
185 1 LTB
185 124 | LTB
185 1 LTB
184 124 | LTB
185 1 LTB
185 124 | LTB
185 1 LTB
185 124 | LTB
184 1 LTB
184 124 | LTB
185 1 LTB
185 124 | LTB
185 1 LTB
185 124 | LTB
184 1 LTB
185 124 | LTB
185 1 LTB
185 124 | LTB
185 1 LTB
184 124 | LTB
185 1 LTB
185 124 | LTB
184 1 LTB
185 124 | LTB
185 1 LTB
185 124 | LTB
184 1 LTB
185 124 | LTB
185 1 LTB
184 124 | LTB
185 1 LTB
185 124 | LTB
184 1 LTB
185 124 | LTB
185 1 LTB
185 124 | LTB
185 1 LTB
185 124 | LTB
184 1 LTB
185 124 | LTB
185 1 LTB
184 124 | LTB
185 1 LTB
185 124 | LTB
184 1 LTB
185 124 | LTB
185 1 LTB
2.281 130 LTB start of block #9
120 0 LTB
118 130 LTB
121 0 LTB
128 130 LTB
119 0 LTB
114 130 LTB
120 0 LTB
118 130 LTB
115 0 LTB
128 130 LTB
113 0 LTB
117 130 LTB
117 0 LTB
120 130 LTB
124 0 LTB
262 130 LTB
117 0 LTB
127 130 LTB
117 0 LTB
118 130 LTB
119 0 LTB
117 130 LTB
117 0 LTB
122 130 LTB
119 0 LTB
123 130 LTB
118 0 LTB
120 130 LTB
121 0 LTB
120 130 LTB
124 0 LTB
124 130 LTB
130 0 LTB
122 130 LTB
124 0 LTB
117 130 LTB
115 0 LTB
118 130 LTB
130 0 LTB
118 130 LTB
124 0 LTB
120 130 LTB
130 0 LTB
116 130 LTB
118 0 LTB
121 130 LTB
127 0 LTB
118 130 LTB
126 0 LTB
119 130 LTB
117 0 LTB
114 130 LTB
139 0 LTB
196 130 LTB
214 0 LTB
212 130 LTB
212 0 LTB
212 130 LTB
211 0 LTB
212 130 LTB
287 0 LTB
227 130 LTB
211 0 LTB
2.307 38 & LTB start of block #10
147 30 LTB
131 38 & LTB
128 30 LTB
123 38 & LTB
113 30 LTB
121 38 & LTB
125 30 LTB
120 38 & LTB
116 30 LTB
121 38 & LTB
121 30 LTB
117 38 & LTB
125 30 LTB
114 38 & LTB
116 30 LTB
117 38 & LTB
117 30 LTB
121 38 & LTB
123 30 LTB
118 38 & LTB
118 30 LTB
116 38 & LTB
465 30 LTB
214 38 & LTB
218 30 LTB
215 38 & LTB
214 30 LTB
220 38 & LTB
208 30 LTB
214 38 & LTB
220 30 LTB
208 38 & LTB
215 30 LTB
219 38 & LTB
208 30 LTB
215 38 & LTB
219 30 LTB
209 38 & LTB
215 30 LTB
219 38 & LTB
304 30 LTB
236 38 & LTB
209 30 LTB
214 38 & LTB
221 30 LTB
208 38 & LTB
215 30 LTB
220 38 & LTB
208 30 LTB
215 38 & LTB
219 30 LTB
209 38 & LTB
215 30 LTB
219 38 & LTB
209 30 LTB
214 38 & LTB
366 30 LTB
244 38 & LTB
217 30 LTB
230 38 & LTB
221 30 LTB
217 38 & LTB
229 30 LTB
2.315 19 LTB start of block #11
128 0 LTB
119 21 LTB
118 0 LTB
119 22 LTB
119 0 LTB
133 24 LTB
117 0 LTB
116 25 LTB
339 0 LTB
239 26 LTB
229 0 LTB
229 28 LTB
228 0 LTB
400 29 LTB
254 0 LTB
234 30 LTB
234 0 LTB
235 32 LTB
234 0 LTB
234 33 ! LTB
235 0 LTB
234 35 # LTB
235 0 LTB
234 36 $ LTB
235 0 LTB
234 37 % LTB
235 0 LTB
234 39 LTB
235 0 LTB
234 40 ( LTB
234 0 LTB
235 41 ) LTB
234 0 LTB
234 43 + LTB
235 0 LTB
234 44 LTB
235 0 LTB
234 46 . LTB
234 0 LTB
235 47 / LTB
235 0 LTB
234 48 0 LTB
235 0 LTB
234 50 2 LTB
235 0 LTB
234 51 3 LTB
234 0 LTB
235 52 4 LTB
235 0 LTB
235 54 6 LTB
234 0 LTB
234 55 7 LTB
235 0 LTB
234 56 8 LTB
235 0 LTB
300 58 : LTB
235 0 LTB
236 59 ; LTB
235 0 LTB
235 61 = LTB
236 0 LTB
234 62 > LTB
236 0 LTB
2.325 19 LTB start of block #12
120 19 LTB
123 21 LTB
118 21 LTB
119 22 LTB
119 22 LTB
119 24 LTB
117 24 LTB
403 25 LTB
131 25 LTB
113 26 LTB
123 26 LTB
122 28 LTB
115 28 LTB
115 29 LTB
126 29 LTB
113 30 LTB
115 30 LTB
125 32 LTB
124 32 LTB
117 33 ! LTB
111 33 ! LTB
112 35 # LTB
113 35 # LTB
111 36 $ LTB
113 36 $ LTB
112 37 % LTB
112 37 % LTB
113 39 LTB
111 39 LTB
113 40 ( LTB
112 40 ( LTB
112 41 ) LTB
112 41 ) LTB
112 43 + LTB
112 43 + LTB
112 44 LTB
113 44 LTB
112 46 . LTB
112 46 . LTB
112 47 / LTB
113 47 / LTB
112 48 0 LTB
112 48 0 LTB
114 50 2 LTB
155 50 2 LTB
256 51 3 LTB
116 51 3 LTB
161 52 4 LTB
115 52 4 LTB
120 54 6 LTB
120 54 6 LTB
125 55 7 LTB
117 55 7 LTB
120 56 8 LTB
122 56 8 LTB
118 58 : LTB
126 58 : LTB
115 59 ; LTB
116 59 ; LTB
118 61 = LTB
115 61 = LTB
127 62 > LTB
116 62 > LTB
2.223 19 LTB start of block #13
233 19 LTB
218 21 LTB
214 21 LTB
215 22 LTB
215 22 LTB
214 24 LTB
216 24 LTB
215 25 LTB
214 25 LTB
215 26 LTB
215 26 LTB
215 28 LTB
214 28 LTB
215 29 LTB
214 29 LTB
215 30 LTB
215 30 LTB
214 32 LTB
215 32 LTB
215 33 ! LTB
215 33 ! LTB
214 35 # LTB
215 35 # LTB
215 36 $ LTB
315 36 $ LTB
252 37 % LTB
232 37 % LTB
232 39 LTB
231 39 LTB
231 40 ( LTB
232 40 ( LTB
232 41 ) LTB
231 41 ) LTB
231 43 + LTB
231 43 + LTB
232 44 LTB
231 44 LTB
231 46 . LTB
232 46 . LTB
231 47 / LTB
232 47 / LTB
232 48 0 LTB
231 48 0 LTB
231 50 2 LTB
232 50 2 LTB
232 51 3 LTB
231 51 3 LTB
232 52 4 LTB
231 52 4 LTB
232 54 6 LTB
231 54 6 LTB
232 55 7 LTB
231 55 7 LTB
232 56 8 LTB
231 56 8 LTB
232 58 : LTB
231 58 : LTB
232 59 ; LTB
231 59 ; LTB
231 61 = LTB
232 61 = LTB
231 62 > LTB
232 62 > LTB
2.321 2 LTB start of block #14
123 252 LTB
119 255 LTB
128 252 LTB
113 255 LTB
125 251 LTB
117 255 LTB
128 250 LTB
422 255 LTB
252 249 LTB
218 254 LTB
227 249 LTB
238 254 LTB
217 248 LTB
225 254 LTB
239 247 LTB
218 254 LTB
225 247 LTB
238 253 LTB
218 246 LTB
226 253 LTB
237 245 LTB
217 253 LTB
226 244 LTB
238 253 LTB
217 244 LTB
225 253 LTB
238 243 LTB
217 252 LTB
226 242 LTB
238 252 LTB
217 241 LTB
225 252 LTB
238 241 LTB
217 253 LTB
226 242 LTB
238 254 LTB
217 243 LTB
226 254 LTB
238 244 LTB
298 255 LTB
278 246 LTB
218 0 LTB
226 247 LTB
238 1 LTB
217 248 LTB
226 1 LTB
238 249 LTB
217 2 LTB
226 251 LTB
238 3 LTB
217 252 LTB
226 4 LTB
238 253 LTB
216 5 LTB
226 254 LTB
238 5 LTB
217 0 LTB
226 6 LTB
238 1 LTB
216 7 LTB
226 2 LTB
238 8 LTB
217 3 LTB
2.317 246 LTB start of block #15
123 255 LTB
118 246 LTB
127 255 LTB
120 246 LTB
120 254 LTB
121 246 LTB
120 254 LTB
119 246 LTB
120 254 LTB
118 247 LTB
116 254 LTB
118 247 LTB
116 254 LTB
119 247 LTB
118 253 LTB
114 247 LTB
116 253 LTB
282 247 LTB
126 253 LTB
118 247 LTB
114 253 LTB
127 248 LTB
120 253 LTB
115 248 LTB
116 252 LTB
118 248 LTB
134 252 LTB
116 248 LTB
116 252 LTB
137 248 LTB
446 252 LTB
248 249 LTB
228 252 LTB
235 249 LTB
240 252 LTB
228 249 LTB
234 251 LTB
240 249 LTB
228 251 LTB
234 249 LTB
241 251 LTB
227 249 LTB
234 251 LTB
241 249 LTB
255 251 LTB
252 250 LTB
266 251 LTB
248 250 LTB
257 251 LTB
267 250 LTB
249 251 LTB
255 250 LTB
267 251 LTB
250 250 LTB
255 251 LTB
267 250 LTB
248 251 LTB
255 250 LTB
267 251 LTB
249 251 LTB
256 250 LTB
267 251 LTB
295 250 LTB
2.333 254 LTB start of block #16
116 254 LTB
115 254 LTB
122 254 LTB
120 254 LTB
438 254 LTB
255 254 LTB
241 254 LTB
235 254 LTB
245 255 LTB
240 254 LTB
235 255 LTB
245 254 LTB
240 255 LTB
234 254 LTB
246 255 LTB
239 254 LTB
235 0 LTB
245 254 LTB
240 0 LTB
235 254 LTB
245 0 LTB
239 254 LTB
235 0 LTB
246 254 LTB
239 1 LTB
235 254 LTB
245 1 LTB
239 254 LTB
235 1 LTB
245 254 LTB
240 1 LTB
389 254 LTB
255 2 LTB
239 254 LTB
235 4 LTB
245 253 LTB
239 6 LTB
235 253 LTB
245 9 LTB
240 253 LTB
234 11 LTB
246 252 LTB
239 14 LTB
234 252 LTB
246 16 LTB
239 251 LTB
235 19 LTB
245 251 LTB
240 21 LTB
234 251 LTB
246 24 LTB
239 250 LTB
234 26 LTB
246 250 LTB
239 29 LTB
235 249 LTB
245 31 LTB
240 249 LTB
235 34 " LTB
245 249 LTB
239 36 $ LTB
235 248 LTB
246 39 LTB
2.342 251 LTB start of block #17
122 244 LTB
122 251 LTB
127 245 LTB
132 250 LTB
117 245 LTB
115 250 LTB
115 246 LTB
134 250 LTB
120 247 LTB
118 249 LTB
120 247 LTB
546 249 LTB
162 248 LTB
232 249 LTB
219 249 LTB
218 249 LTB
216 249 LTB
219 248 LTB
215 250 LTB
219 248 LTB
215 250 LTB
218 248 LTB
215 251 LTB
219 247 LTB
214 252 LTB
219 247 LTB
215 252 LTB
219 247 LTB
222 253 LTB
225 247 LTB
218 254 LTB
222 246 LTB
221 254 LTB
224 249 LTB
221 0 LTB
229 252 LTB
226 2 LTB
228 255 LTB
226 4 LTB
229 2 LTB
226 6 LTB
228 5 LTB
226 8 LTB
228 8 LTB
227 10 LTB
228 11 LTB
226 12 LTB
303 14 LTB
247 13 LTB
224 17 LTB
234 15 LTB
224 20 LTB
234 17 LTB
224 23 LTB
234 19 LTB
224 26 LTB
235 21 LTB
224 29 LTB
235 23 LTB
224 32 LTB
234 25 LTB
224 35 # LTB
234 27 LTB
2.332 253 LTB start of block #18
122 253 LTB
116 254 LTB
123 253 LTB
118 254 LTB
118 254 LTB
135 254 LTB
117 254 LTB
118 254 LTB
117 255 LTB
116 255 LTB
116 255 LTB
113 255 LTB
121 0 LTB
119 255 LTB
118 0 LTB
123 255 LTB
120 0 LTB
117 0 LTB
120 1 LTB
116 0 LTB
118 1 LTB
124 0 LTB
118 2 LTB
125 0 LTB
118 2 LTB
120 1 LTB
119 3 LTB
119 1 LTB
120 3 LTB
124 1 LTB
122 4 LTB
127 1 LTB
223 4 LTB
132 3 LTB
643 5 LTB
180 5 LTB
239 7 LTB
229 6 LTB
222 8 LTB
219 8 LTB
223 9 LTB
220 10 LTB
223 11 LTB
218 12 LTB
223 12 LTB
218 13 LTB
223 14 LTB
218 15 LTB
223 15 LTB
218 17 LTB
223 16 LTB
219 18 LTB
222 18 LTB
222 20 LTB
223 19 LTB
218 22 LTB
222 21 LTB
219 23 LTB
223 22 LTB
219 25 LTB
223 23 LTB
219 27 LTB
223 25 LTB
2.309 254 LTB start of block #19
132 251 LTB
548 255 LTB
292 251 LTB
232 255 LTB
214 251 LTB
222 0 LTB
212 251 LTB
222 1 LTB
213 252 LTB
222 1 LTB
212 252 LTB
222 2 LTB
213 252 LTB
222 2 LTB
213 252 LTB
222 3 LTB
213 252 LTB
222 4 LTB
212 252 LTB
222 4 LTB
213 252 LTB
222 5 LTB
212 252 LTB
222 5 LTB
213 252 LTB
222 6 LTB
213 252 LTB
222 7 LTB
213 252 LTB
222 7 LTB
212 253 LTB
222 8 LTB
213 253 LTB
222 12 LTB
213 1 LTB
222 16 LTB
213 6 LTB
223 20 LTB
212 10 LTB
222 24 LTB
213 15 LTB
222 28 LTB
212 19 LTB
222 32 LTB
213 24 LTB
222 36 $ LTB
304 28 LTB
212 40 ( LTB
230 33 ! LTB
209 44 LTB
230 37 % LTB
208 48 0 LTB
230 42 * LTB
210 52 4 LTB
230 47 / LTB
209 56 8 LTB
230 51 3 LTB
209 60 < LTB
230 56 8 LTB
209 64 @ LTB
230 60 < LTB
209 68 D LTB
229 65 A LTB
2.292 244 LTB start of block #20
130 254 LTB
126 245 LTB
125 254 LTB
112 246 LTB
118 255 LTB
124 247 LTB
121 255 LTB
116 248 LTB
117 0 LTB
129 250 LTB
118 1 LTB
117 251 LTB
117 1 LTB
116 252 LTB
119 2 LTB
120 253 LTB
118 3 LTB
116 254 LTB
115 3 LTB
133 255 LTB
416 4 LTB
130 0 LTB
122 5 LTB
295 1 LTB
247 5 LTB
334 2 LTB
262 6 LTB
250 3 LTB
248 7 LTB
227 4 LTB
247 7 LTB
248 5 LTB
226 8 LTB
247 8 LTB
248 11 LTB
227 12 LTB
247 15 LTB
246 15 LTB
227 18 LTB
241 19 LTB
246 21 LTB
228 22 LTB
241 25 LTB
243 26 LTB
228 28 LTB
242 29 LTB
243 31 LTB
227 33 ! LTB
242 35 # LTB
243 36 $ LTB
227 38 & LTB
242 40 ( LTB
243 41 ) LTB
228 43 + LTB
241 44 LTB
243 47 / LTB
228 48 0 LTB
241 50 2 LTB
243 51 3 LTB
228 54 6 LTB
242 54 6 LTB
243 57 9 LTB
228 58 : LTB
2.330 253 LTB start of block #21
122 9 LTB
121 254 LTB
119 10 LTB
119 255 LTB
115 11 LTB
117 0 LTB
122 12 LTB
123 1 LTB
115 13 LTB
121 1 LTB
114 13 LTB
119 2 LTB
119 14 LTB
117 3 LTB
126 15 LTB
115 4 LTB
119 16 LTB
119 5 LTB
123 17 LTB
119 6 LTB
119 18 LTB
132 6 LTB
118 19 LTB
118 7 LTB
115 20 LTB
114 8 LTB
117 21 LTB
113 9 LTB
118 21 LTB
118 10 LTB
113 22 LTB
114 11 LTB
150 23 LTB
479 14 LTB
241 28 LTB
223 17 LTB
213 32 LTB
224 20 LTB
221 36 $ LTB
214 23 LTB
224 41 ) LTB
221 26 LTB
212 45 - LTB
225 29 LTB
220 49 1 LTB
213 32 LTB
223 54 6 LTB
221 35 # LTB
214 58 : LTB
235 38 & LTB
221 63 ? LTB
324 41 ) LTB
221 67 C LTB
213 44 LTB
227 71 G LTB
223 47 / LTB
213 76 L LTB
223 50 2 LTB
221 80 P LTB
213 53 5 LTB
224 84 T LTB
221 56 8 LTB
212 89 Y LTB
2.309 6 LTB start of block #22
122 255 LTB
114 6 LTB
115 1 LTB
122 7 LTB
115 2 LTB
115 7 LTB
119 3 LTB
132 8 LTB
538 5 LTB
122 8 LTB
120 6 LTB
122 8 LTB
276 7 LTB
231 9 LTB
230 9 LTB
210 9 LTB
220 10 LTB
231 9 LTB
210 11 LTB
220 10 LTB
231 12 LTB
210 10 LTB
220 14 LTB
231 11 LTB
210 15 LTB
322 11 LTB
227 16 LTB
227 11 LTB
231 18 LTB
210 12 LTB
221 19 LTB
231 12 LTB
212 20 LTB
221 17 LTB
231 24 LTB
211 22 LTB
221 28 LTB
232 27 LTB
211 32 LTB
220 32 LTB
231 36 $ LTB
211 37 % LTB
221 39 LTB
232 41 ) LTB
211 43 + LTB
220 46 . LTB
231 47 / LTB
210 51 3 LTB
221 51 3 LTB
232 56 8 LTB
210 55 7 LTB
221 61 = LTB
232 59 ; LTB
211 66 B LTB
220 62 > LTB
232 71 G LTB
211 66 B LTB
220 76 L LTB
231 70 F LTB
211 81 Q LTB
221 74 J LTB
232 86 V LTB
211 78 N LTB
2.316 9 LTB start of block #23
125 8 LTB
447 10 LTB
126 10 LTB
118 11 LTB
118 11 LTB
121 11 LTB
117 12 LTB
126 12 LTB
121 13 LTB
121 13 LTB
294 14 LTB
222 14 LTB
216 15 LTB
229 15 LTB
223 16 LTB
216 16 LTB
230 17 LTB
223 17 LTB
216 19 LTB
229 18 LTB
223 20 LTB
216 19 LTB
229 21 LTB
223 20 LTB
215 22 LTB
229 21 LTB
223 23 LTB
216 22 LTB
229 24 LTB
223 23 LTB
216 25 LTB
229 24 LTB
224 27 LTB
215 27 LTB
230 30 LTB
223 31 LTB
216 33 ! LTB
229 35 # LTB
223 37 % LTB
216 38 & LTB
229 40 ( LTB
223 42 * LTB
216 43 + LTB
319 46 . LTB
234 47 / LTB
229 49 1 LTB
224 50 2 LTB
216 53 5 LTB
229 53 5 LTB
223 57 9 LTB
216 57 9 LTB
229 60 < LTB
223 60 < LTB
216 64 @ LTB
229 64 @ LTB
223 67 C LTB
216 67 C LTB
229 71 G LTB
223 70 F LTB
216 75 K LTB
229 74 J LTB
223 78 N LTB
216 77 M LTB
2.321 8 LTB start of block #24
127 5 LTB
122 10 LTB
115 7 LTB
123 12 LTB
130 8 LTB
119 13 LTB
119 9 LTB
116 15 LTB
129 10 LTB
126 17 LTB
119 11 LTB
121 18 LTB
116 12 LTB
116 20 LTB
119 13 LTB
133 22 LTB
120 15 LTB
117 23 LTB
116 16 LTB
119 25 LTB
129 17 LTB
117 26 LTB
121 18 LTB
130 28 LTB
118 19 LTB
277 30 LTB
117 20 LTB
124 31 LTB
113 21 LTB
118 33 ! LTB
120 23 LTB
115 35 # LTB
120 24 LTB
115 41 ) LTB
124 31 LTB
534 48 0 LTB
259 38 & LTB
241 55 7 LTB
241 45 - LTB
250 61 = LTB
248 52 4 LTB
258 68 D LTB
254 60 < LTB
242 75 K LTB
243 67 C LTB
254 81 Q LTB
242 74 J LTB
243 88 X LTB
255 81 Q LTB
241 95 _ LTB
244 88 X LTB
254 102 f LTB
271 96 ` LTB
495 108 l LTB
123 103 g LTB
123 115 s LTB
138 110 n LTB
132 122 z LTB
131 117 u LTB
139 127 LTB
115 124 | LTB
121 127 LTB
124 127 LTB
2.408 255 LTB start of block #25
115 8 LTB
115 1 LTB
121 10 LTB
122 3 LTB
128 11 LTB
115 5 LTB
114 13 LTB
116 7 LTB
117 15 LTB
123 9 LTB
119 17 LTB
462 11 LTB
124 18 LTB
125 13 LTB
114 20 LTB
326 15 LTB
245 22 LTB
261 17 LTB
237 23 LTB
241 20 LTB
261 25 LTB
237 22 LTB
240 27 LTB
261 24 LTB
237 29 LTB
240 26 LTB
260 30 LTB
238 28 LTB
240 32 LTB
261 30 LTB
237 34 " LTB
240 32 LTB
261 36 $ LTB
237 38 & LTB
240 41 ) LTB
261 44 LTB
237 47 / LTB
240 50 2 LTB
260 53 5 LTB
237 56 8 LTB
241 59 ; LTB
260 63 ? LTB
237 65 A LTB
240 69 E LTB
421 71 G LTB
253 75 K LTB
241 77 M LTB
261 81 Q LTB
237 83 S LTB
240 87 W LTB
261 89 Y LTB
237 93 ] LTB
240 94 ^ LTB
261 99 c LTB
237 100 d LTB
240 105 i LTB
260 106 j LTB
238 111 o LTB
240 112 p LTB
260 118 v LTB
238 118 v LTB
240 124 | LTB
261 124 | LTB
2.299 8 LTB start of block #26
124 0 LTB
120 10 LTB
121 0 LTB
116 12 LTB
115 0 LTB
116 14 LTB
130 0 LTB
119 15 LTB
275 0 LTB
224 17 LTB
220 0 LTB
210 19 LTB
213 0 LTB
220 21 LTB
211 0 LTB
213 23 LTB
389 0 LTB
228 25 LTB
214 0 LTB
220 27 LTB
213 0 LTB
214 29 LTB
219 0 LTB
210 31 LTB
217 0 LTB
219 33 ! LTB
210 0 LTB
213 35 # LTB
220 0 LTB
209 37 % LTB
213 0 LTB
219 39 LTB
210 0 LTB
213 44 LTB
220 0 LTB
210 50 2 LTB
213 0 LTB
220 55 7 LTB
209 0 LTB
213 61 = LTB
220 0 LTB
210 66 B LTB
213 0 LTB
219 72 H LTB
210 0 LTB
213 77 M LTB
219 0 LTB
210 83 S LTB
213 0 LTB
220 89 Y LTB
210 0 LTB
212 94 ^ LTB
220 0 LTB
210 100 d LTB
213 0 LTB
220 105 i LTB
209 0 LTB
213 111 o LTB
220 0 LTB
210 116 t LTB
213 0 LTB
356 122 z LTB
227 0 LTB stop of block #26
1.322 0 LTB
118 0 LTB
119 0 LTB
117 0 LTB
113 0 LTB
125 0 LTB
126 128 LTB
120 7 LTB
133 0 LTB
116 0 LTB
113 0 LTB
113 0 LTB
115 0 LTB
123 0 LTB
117 40 ( LTB
118 4 LTB
117 0 LTB
126 0 LTB
118 0 LTB
122 0 LTB
115 0 LTB
116 0 LTB
116 153 LTB
124 2 LTB
460 0 LTB
117 0 LTB
127 0 LTB
124 0 LTB
302 0 LTB
246 0 LTB
203 228 LTB
242 1 LTB
2.161 32 LTB
126 0 LTB
125 251 LTB
119 255 LTB
117 45 - LTB
122 0 LTB
116 236 LTB
120 254 LTB
121 58 : LTB
121 0 LTB
117 107 k LTB
117 249 LTB
282 85 U LTB
133 0 LTB
115 45 - LTB
117 2 LTB
118 98 b LTB
115 0 LTB
119 127 LTB
132 249 LTB
115 196 LTB
116 0 LTB
114 236 LTB
125 255 LTB
122 222 LTB
130 0 LTB
115 18 LTB
123 2 LTB
122 235 LTB
120 0 LTB
129 142 LTB
118 3 LTB
125 71 G LTB
118 1 LTB
508 91 [ LTB
270 16 LTB
242 97 a LTB
243 1 LTB
241 136 LTB
244 18 LTB
241 4 LTB
243 6 LTB
243 38 & LTB
243 1 LTB
242 227 LTB
244 5 LTB
242 231 LTB
243 26 LTB
242 161 LTB
243 5 LTB
242 8 LTB
243 44 LTB
242 207 LTB
244 5 LTB
241 95 _ LTB
244 69 E LTB
241 97 a LTB
243 3 LTB
242 227 LTB
244 99 c LTB
2.560 50 2 LTB
120 66 B LTB
120 90 Z LTB
123 121 y LTB
116 144 LTB
119 165 LTB
120 185 LTB
119 194 LTB
116 204 LTB
117 211 LTB
122 215 LTB
133 221 LTB
718 225 LTB
334 229 LTB
281 227 LTB
223 230 LTB
236 233 LTB
203 235 LTB
236 235 LTB
210 237 LTB
246 239 LTB
203 241 LTB
234 242 LTB
209 243 LTB
246 244 LTB
203 245 LTB
234 246 LTB
210 247 LTB
245 247 LTB
203 248 LTB
234 248 LTB
210 248 LTB
246 249 LTB
202 250 LTB
234 249 LTB
210 250 LTB
245 251 LTB
299 251 LTB
232 252 LTB
221 253 LTB
221 253 LTB
234 253 LTB
215 253 LTB
221 254 LTB
220 254 LTB
234 254 LTB
215 255 LTB
221 255 LTB
220 254 LTB
234 254 LTB
215 253 LTB
222 252 LTB
220 251 LTB
234 250 LTB
215 249 LTB
222 248 LTB
219 246 LTB
234 243 LTB
215 241 LTB
221 238 LTB
221 235 LTB
234 232 LTB
215 229 LTB
221 225 LTB
220 221 LTB
234 0 LTB
215 0 LTB
221 0 LTB
220 90 Z LTB
234 8 LTB
215 154 LTB
221 8 LTB
1.066 139 LTB
128 3 LTB
395 139 LTB
258 3 LTB
242 139 LTB
340 3 LTB
230 139 LTB
257 3 LTB
230 44 LTB
257 5 LTB
229 44 LTB
256 5 LTB
231 44 LTB
255 5 LTB
230 44 LTB
257 5 LTB
229 103 g LTB
257 9 LTB
229 103 g LTB
256 9 LTB
230 103 g LTB
256 9 LTB
230 103 g LTB
256 9 LTB
3.780 12 LTB
125 0 LTB
118 232 LTB
120 3 LTB
116 7 LTB
116 0 LTB
118 16 LTB
125 0 LTB
116 28 LTB
112 0 LTB
125 62 > LTB
571 0 LTB
356 160 LTB
319 0 LTB
265 219 LTB
277 0 LTB
263 7 LTB
273 0 LTB
273 16 LTB
258 0 LTB
272 29 LTB
261 0 LTB
273 67 C LTB
273 0 LTB
257 172 LTB
271 0 LTB
262 233 LTB
273 0 LTB
273 6 LTB
257 0 LTB
272 16 LTB
262 0 LTB
273 29 LTB
273 0 LTB
258 80 P LTB
271 0 LTB
262 200 LTB
273 0 LTB
273 17 LTB
258 1 LTB
272 3 LTB
262 0 LTB
273 11 LTB
272 0 LTB
257 21 LTB
271 0 LTB
263 31 LTB
409 0 LTB
283 69 E LTB
258 0 LTB
271 91 [ LTB
262 0 LTB
274 3 LTB
273 0 LTB
258 11 LTB
271 0 LTB
262 19 LTB
274 0 LTB
273 30 LTB
257 0 LTB
272 69 E LTB
262 0 LTB
273 92 \ LTB
273 0 LTB
257 3 LTB
271 0 LTB
263 12 LTB
273 0 LTB
273 19 LTB
257 0 LTB
271 31 LTB
263 0 LTB
273 71 G LTB
273 0 LTB
257 93 ] LTB
272 0 LTB
262 4 LTB
273 0 LTB
274 9 LTB
257 0 LTB
271 12 LTB
261 0 LTB
274 59 ; LTB
273 0 LTB
302 159 LTB
273 0 LTB
274 221 LTB
258 0 LTB
271 3 LTB
263 0 LTB
273 9 LTB
273 0 LTB
258 13 LTB
271 0 LTB
263 60 < LTB
272 0 LTB
274 161 LTB
257 0 LTB
272 221 LTB
263 0 LTB
273 3 LTB
273 0 LTB
257 9 LTB
270 0 LTB
263 12 LTB
273 0 LTB
273 60 < LTB
257 0 LTB
271 164 LTB
263 0 LTB
273 225 LTB
272 0 LTB
374 140 LTB
2.801 192 BTL start of first poll
79 241 BTL
84 0 BTL
164 0 BTL
371 177 LTB
1.253 11 LTB
212 0 LTB
269 0 LTB
119 0 LTB
119 31 LTB
117 255 LTB
120 255 LTB
117 2 LTB
118 5 LTB
119 134 LTB
116 0 LTB
116 0 LTB
261 170 LTB checksum of preceding 10 Bytes
104.740 192 LTB start of next poll, repeating every ~104ms
78 241 BTL
80 0 BTL
168 0 BTL
377 177 BTL
1.243 11 LTB
413 0 LTB
278 0 LTB
170 0 LTB
196 31 LTB
193 255 LTB
193 255 LTB
193 2 LTB
193 5 LTB
193 134 LTB
192 0 LTB
193 0 LTB
333 170 LTB checksum of preceding 10 Bytes
I haven't figured out yet where or how the lens tells the body it's minimum and maximum aperture. Here's how the body tells the lens to stop down, though:
close aperture: 176 210 xxx xxx open aperture: 176 215 0 0
aperture command value data
estimated
1.0 0 0 1.1 85 0 1.2 170 0 1.4 0 1 1.6 85 1 1.8 170 1 2 0 2 2.2 85 2 2.5 170 2 2.8 0 3 3.2 85 3 3.5 170 3
determined
3.5 157 131 3.6 171 131 3.7 198 131 3.8 211 131 3.9 236 131 4.0 248 131 4.1 17 132 4.2 28 132 4.3 51 132 4.4 62 132 4.5 84 132 4.6 106 132 4.7 116 132 4.8 137 132 4.9 156 132 5.0 166 132 5.1 176 132 5.2 195 132 5.3 213 132 5.4 222 132 5.5 231 132 5.6 249 132
4 0 4 4.5 85 4 5.0 170 4 5.6 0 5 6.3 85 5 7.1 170 5 8 0 6 9 85 6 10 170 6 11 0 7 13 85 7 14 170 7 16 0 8 18 85 8 20 170 8 22 0 9
Here are all the command sequences I inspected closer. Couldn't make sense of them all just yet:
160 176 254 0 ? stop of exposure ? 160 177 0 0 ? start of exposure ?
176 160 0 0 prepare for shutdown
176 161 xxx xxx change focus to/by value 176 173 0 0 start single autofocus
176 209 xxx xxx close aperture to value for depth of field preview 176 210 xxx xxx close aperture to value 176 215 0 0 open aperture
176 242 0 0 (first command on switch-on)
192 240 32 0 ? request full lens data ? 192 241 0 0 poll 192 246 0 0 ?
192 250 xxx xxx ? 192 251 0 0 ?
I've attached some files for your personal enjoyment. You'll need the free software from Saleae Logic to view these.
Note these are only the first tests I've done so far. If you want to help me in decoding this stuff, feel free to request some more log files. I'll do my best to accomplish them :).
ft_logic01.7z – 7z archive – 398 216 Bytes
ft_logic02.7z – 7z archive – 804 347 Bytes