diff --git a/opisanie.pdf b/opisanie.pdf index 19e5b2b..685e710 100644 Binary files a/opisanie.pdf and b/opisanie.pdf differ diff --git a/opisanie.tex b/opisanie.tex index 9f2b027..d3c714d 100644 --- a/opisanie.tex +++ b/opisanie.tex @@ -1,5 +1,6 @@ \documentclass[a4paper,12pt]{extarticle} \usepackage{/home/eddy/ed} +\usepackage{hyperref} \title{Протокол управления объективами Canon EF} \author{} \FDL @@ -412,5 +413,70 @@ SPI-- Команды изменения F аналогичны (за исключением разрядности ответа). Младшие 4~байта принимают значения 0100 (стоп), 0101 (F$+$), 0110 (F$-$), самый старший бит --- обязательно 0. Биты $4\div6$ принимают любые значения, кроме 110, 011 и 111. + +\section{Сводный перечень команд для EF~200} +В марте 2016~г. при помощи цифрового логического анализатора были сняты логи протоколов общения +фотоаппарата и объектива, в результате чего выявлены используемые команды. В таблице представлены +только те команды, которые использовал фотоаппарат\footnote{В расшифровке команд также +использовались данные из +\url{https://pickandplace.wordpress.com/2011/10/05/canon-ef-s-protocol-and-electronic-follow-focus/} +и \url{http://www.rwpbb.ru/test/canonautosonyl.html}}. +\begin{longtable}[c]{||c|c||c|c| p{0.5\textwidth}||} +\caption{Сводка команд EF~200}\\ +\hline\hline +\bf hex & \bf dec &\bf N &\bf ans &\bf desc\\ +\hline +\hline +\endfirsthead +\caption{(продолжение).}\\ +\hline +\bf hex & \bf dec &\bf N &\bf ans &\bf desc\\ +\hline +\hline +\endhead +\hline +\endfoot +0x01 & 1 & 6 & 0xc8,0,0xc8,0,0,0 & lens ID, min/max zoom, proto, brand ? \\ +0x05 & 5 & 1 & 0x05 & установка фокуса в положение минимума\\ +0x06 & 6 & 1 & 0x06 & установка фокуса в положение максимума\\ +0x07 & 7 & 1 & 0x07 & включить напряжение на двигателях объектива\\ +0x08 & 8 & 1 & 0x08 & отключить напряжение\\ +0x0a & 10 & 2 & 0xaa,0 & busy poll\\ +0x0c & 12 & 1 & 0x0c & конец инициализации, за командой следует пауза\\ +0x0e & 14 & 1 & 0x0e & ? встречается при включении, автофокусе, экспозиции, за ней + обычно следует 0x0f\\ +0x0f & 15 & 1 & 0x0f & аналогично предыдущей, за ней обычно следует что-нибудь из 0xf0, 0x0a, + 0xc0, 0x90\\ +0x13 & 19 & 2 & 0x13,0x13 & установка диафрагмы, второй байт -- степень открытия (max: 0x80; F/2.5: + 0x07; F/4.0: 0x12; F/8.0: 0x22; F/16.0: 0x32; за аргументом обычно идет 0x90, для некоторых + объективов перед этой командой надо дать 0x07\\ +0x50 & 80 & 2 & 0x50, 0x50& имеет аргумент: 0x2c..0x2f; 0x2c встречается при + нажатии кнопки <> и иногда при автофокусировке; 0x2d~--- при автофокусе и экспозиции + на бесконечность; 0x2e~--- автофокус и экспозиция на F2.5m; в остальных случаях~--- 0x2f\\ +0x80 & 128 & x & 0x81,0x87,0x00 & с этого байта начинается стартовая последовательность + 0x80,0x0a,0x99 (третий байт для других объективов~--- 0x97), видимо, узнать модель или протокол + объектива\\ +0x90 & 144 & 3 & a,b,0 & Состояние кнопок объектива? При положении переключателя AF/MF в <> + ответом является 0x00,0x10, <>~--- 0x00,0x90, ручное изменение фокуса~--- 0x20,0x80/0x84\\ +0xa0 & 160 & 2 & 0x00,0xc8 & входит в состав порции данных при периодическом опросе (после + инициализации), за ней идет 0xe4\\ +0xb0 & 176 & 3 & 0x16,0x16,0x50 & идет после 0xf0 или 0x0a; за ней бывают либо 0,0,a0, либо 0,0,c0, + либо 7f,ff,0a -> ответ не меняется; min/max aperture?\\ +0xb2 & 178 & 4 & 0x5a,a,b,0 & ?\\ +0xc0 & 192 & 3 & a,b,0 & положение лимба (в режиме "ручной фокус" возвращает нули в любом случае)\\ +0xe0 & 224 & 2 & 0xc2,a & ? за ней обычно следует 0xea\\ +0xe4 & 228 & 2 & 0x9c, 0x6a & ? за ней обычно следует 0xb2\\ +0xe8& 232 & 7 & x & (меняются лишь первые 2 байта ответа, остальные~--- нули) меняется при изменении + фокуса в автофокусе, за ней обычно следуют 0xf8, 0xfc; ответы при разных положениях MF: + $\infty$,20m,10m~--- 0x22,0x16; 5m~--- 0x21,0x66; 2.5m~--- 0x20,0xed\\ +0xea & 234 & 6 & x & (меняются лишь первые 2 байта ответа, остальные~--- нули) меняется при +изменении фокуса в автофокусе, встречается и в экспозиции при ручном фокусе~--- диафрагма?\\ +0xf0 & 240 & 1 & x &зависит от фокуса (0x11~--- $\infty$,20m,10m, 0x0d~--- 5m, 0x12~--- 2.5m), за +ней всегда следует 0xb0\\ +0xf8 & 248 & x & x &начало последовательности 0xf8,0xfc,0xfa,0xfe, следующей после команды 0xe8~--- +при фокусировке и экспозиции, ответы меняются: 2.5m~--- 0xbd, 0xcb, 0xbe, 0xcd; 5m~--- 0xba, 0xc6, + 0xbd, 0xca; 10m, 20m, $\infty$~--- 0xb3, 0xbe, 0xba, 0xc5\\ +\hline\hline +\end{longtable} \end{document}