Four Thirds Communication Protocol
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