This commit is contained in:
eddyem 2016-03-24 11:48:03 +03:00
parent b6ca3bd303
commit 063cacbbf4
3 changed files with 20 additions and 13 deletions

2
Readme Normal file
View File

@ -0,0 +1,2 @@
The realisation of some functions managing EF200 you can find at
https://github.com/eddyem/stm32samples/tree/master/canon_lens

Binary file not shown.

View File

@ -214,7 +214,7 @@ SPI--
65 & 3 & 65, 65, 65 & \\
66 & 3 & 66, 66, 66 & \\
67 & 3 & 67, 67, 67 & \\
68 & 3 & 68, 68, 68 & переместить объектив на заданное кол-во шагов (2 байта, int16, hi-low)\\
68 & 3 & 68, 68, 68 & прокрутить мотор фокуса на заданное кол-во шагов (2 байта, int16, hi-low)\\
69 & 3 & 69, 69, 69 & 5\\
70 & 3 & 70, 70, 70 & 6\\
71 & 3 & 71, 71, 71 & о\\
@ -291,7 +291,8 @@ SPI--
142 & 1 & 142 & \\
143 & 1 & 143 & \\
\bf 144 & 2 & 0/32, $X$ & старший бит $X$ --- значение переключателя <<AF/MF>> (нулю
соответствует AF)\\
соответствует AF); у EF200 первый байт 0 или 32 (если крутить кольцо управления F), второй
байт см. во второй таблице \\
145 & 1 & 145 & \\
146 & 1 & 146 & \\
147 & 1 & 147 & \\
@ -307,7 +308,7 @@ SPI--
157 & 1 & 157 & \\
158 & 1 & 158 & \\
159 & 1 & 159 & \\
160 & 2 & 0, 85 & \\
160 & 2 & 0, 85 & фокусное расстояние объектива\\
161 & 1 & 161 & \\
162 & 1 & 162 & \\
163 & 1 & 163 & \\
@ -339,10 +340,10 @@ SPI--
189 & 1 & 189 & \\
190 & 1 & 190 & \\
191 & 1 & 191 & \\
\bf 192 & 2 & short int & угловое положение лимба F, первый байт --- старший, нуль относительный\\
\bf 192 & 2 & short int & угловое положение лимба F, первый байт --- старший, нуль около бесконечности (чуть левей), отрицательные числа~--- движение к 2.5m, чем больше модуль числа, тем ближе к 2.5m\\
193 & 1 & 193 & \\
\bf 194 & 4 & $X_1, X_2, Y_1, Y_2$ & значение F в метрах; $X$~-- текущее F, $Y$~-- предыдущее F;
$F(\text{метр}) = 2.5\cdot X_1+X_2/100$ \\
$F(\text{метр}) = 2.5\cdot X_1+X_2/100$ (не работает у EF200!) \\
195 & 1 & 195 & \\
196 & 2 & 0, 9 $\div$ 10, 1 & \\
197 & 1 & 197 & \\
@ -437,8 +438,8 @@ SPI--
\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 & установка фокуса в положение максимума\\
0x05 & 5 & 1 & 0x05 & установка фокуса в положение минимума (отменяет действие 94)\\
0x06 & 6 & 1 & 0x06 & установка фокуса в положение максимума (отменяет действие 94)\\
0x07 & 7 & 1 & 0x07 & включить напряжение на двигателях объектива\\
0x08 & 8 & 1 & 0x08 & отключить напряжение\\
0x0a & 10 & 2 & 0xaa,0 & busy poll\\
@ -456,21 +457,24 @@ SPI--
0x80 & 128 & x & 0x81,0x87,0x00 & с этого байта начинается стартовая последовательность
0x80,0x0a,0x99 (третий байт для других объективов~--- 0x97), видимо, узнать модель или протокол
объектива\\
0x90 & 144 & 3 & a,b,0 & Состояние кнопок объектива? При положении переключателя AF/MF в <<AF>>
ответом является 0x00,0x10, <<MF>>~--- 0x00,0x90, ручное изменение фокуса~--- 0x20,0x80/0x84\\
0x90 & 144 & 3 & a,b,0 & Состояние регуляторов объектива. Первый байт при вращении кольца управления
фокусом равен 0x20 (и некоторое время после окончания вращания), иначе нуль;
второй байт: биты 0 и 1 равны единице, если диафрагма не полностью открыта;
бит 2 равен единице, если в данный момент кольцо вращают; бит 4 равен единице, если достигнут
нижний или верхний предел F; бит 7 равен единице при положении переключателя AF/MF в MF\\
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 & положение лимба (в режиме "ручной фокус" возвращает нули в любом случае)\\
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~---
@ -484,7 +488,8 @@ SPI--
запрашивающих данные~--- единичный;
\item некоторые команды <<действия>> имеют следующую особенность: в старший квартет могут
добавляться 0x1, 0x2, 0x4, 0xa без изменения действий команды (исключение~--- команда 4, для нее
0x44 приводит к иному действию).
0x44 приводит к иному действию);
\item команды 4, 5, 6 и 7 отменяют действие команды 94 (вручную фокус перестает регулироваться).
\end{itemize}
\end{document}