mirror of
https://github.com/eddyem/canon-lens.git
synced 2026-01-31 12:25:02 +03:00
new data
This commit is contained in:
parent
09bfdc51c2
commit
326e4d84eb
1
00-logs/Readme
Normal file
1
00-logs/Readme
Normal file
@ -0,0 +1 @@
|
||||
http://eddy-em.livejournal.com/99494.html
|
||||
@ -1,3 +1,4 @@
|
||||
#!/bin/bash
|
||||
# convert saleae logs into data files
|
||||
./proc_exp canon.txt > $1.dat
|
||||
cp canon.txt $1.txt
|
||||
|
||||
9
00-logs/find_cmd
Executable file
9
00-logs/find_cmd
Executable file
@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
# find in which file of all *dat exists command $1
|
||||
|
||||
for f in *.dat; do
|
||||
N=$(awk '{print $2}' $f | grep "$1" | wc -l)
|
||||
if [ "$N" -ne 0 ]; then
|
||||
printf "%-22s%d\n" $f $N
|
||||
fi
|
||||
done
|
||||
4
00-logs/find_cmd_with_answ
Executable file
4
00-logs/find_cmd_with_answ
Executable file
@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
# find given command and print it with $2 lines of answer
|
||||
|
||||
grep -A$2 " $1 " *.dat
|
||||
9
00-logs/get_all_cmds
Executable file
9
00-logs/get_all_cmds
Executable file
@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
# get commands list in all files (no args) or in given filelist
|
||||
|
||||
[ "$*" = "" ] && LIST="*.dat" || LIST="$*"
|
||||
|
||||
function upper(){ echo $1 | tr [:lower:] [:upper:]; }
|
||||
function hex2dec(){ echo "obase=10;ibase=16; $(upper $1)" | bc -l; }
|
||||
|
||||
./proc_historgram ${LIST}| awk '{print $2}' | sort -u| while read x; do echo "$x : $(hex2dec $x)"; done
|
||||
@ -1,2 +1,4 @@
|
||||
#!/bin/bash
|
||||
# make histogram of commands/answers
|
||||
|
||||
cat $* | awk '{print $2 " " $3}' | sort | uniq -c | sort -n
|
||||
|
||||
@ -1,52 +1,95 @@
|
||||
() - кол-во аргументов
|
||||
i - при инициализации
|
||||
() - кол-во байт ответа
|
||||
i - при инициализации (шапка каждого пакета запросов после долгой паузы)
|
||||
[https://pickandplace.wordpress.com/2011/10/05/canon-ef-s-protocol-and-electronic-follow-focus/]
|
||||
{http://www.rwpbb.ru/test/canonautosonyl.html}
|
||||
|
||||
0x01 i(6)
|
||||
00000001
|
||||
0x01 i(6) - встречается только в шапке запроса (при инициализации линии), ответ - 0xc8,0,0xc8, нули [lens ID, min/max zoom, proto, brand]
|
||||
|
||||
0x07 i(эхо)
|
||||
00000101
|
||||
0x05 (эхо) - только при автофокусе, за ним - 0x0f - [minAF]
|
||||
|
||||
0x0a i(1-2)
|
||||
00000110
|
||||
0x06 (эхо) - только при автофокусе, за ним - 0x0f - [maxAF]
|
||||
|
||||
0x0c i(эхо)
|
||||
00000111
|
||||
0x07 (эхо) - за ней разные команды {включить напряжение}
|
||||
|
||||
0x0e i(эхо)
|
||||
00001000
|
||||
-> 0x08 (эхо) - встречается лишь 1 раз в shot_mf20m, за ним - пауза перед получением эха {отключение двигателей}
|
||||
|
||||
0x0f i(эхо)
|
||||
00001010
|
||||
0x0a i(1) - [busy poll] в инициализационном пакете встречается 3 раза, далее - неоднократно в пакетах (за ним идет 0,b0); ответ - 0xaa
|
||||
|
||||
0x2x (1)
|
||||
При автофокусе в начальной посылке вместо 0x2c проходит 0x2d с тем же ответом 0x50
|
||||
При нажатии "быстро в бесконечность" - 2f
|
||||
00001100
|
||||
0x0c i(эхо) - за командой перед эхом - пауза; эта команда завершает инициализационную шапку везде
|
||||
|
||||
Периодические опросы различны в режимах MF и AF, в AF больше данных.
|
||||
00001110
|
||||
0x0e i(эхо) - за ней обычно идет 0x0f; редкая команда (при включении, автофокусе, экспозиции)
|
||||
|
||||
0x50 (1)
|
||||
00001111
|
||||
0x0f i(эхо) - за ней обычно следует что-нибудь из f0,0a,c0,90; -//-
|
||||
|
||||
0x80 (1)
|
||||
00001011
|
||||
0x13 (2) - установка диафрагмы. имеет аргумент, используется при экспозиции; арг: вернуть: 0x80; F/2.5: 0x07; F/4.0: 0x12; F/8.0: 0x22; F/16.0: 0x32; за аргументом обычно идет 0x90; ответ: 0x13,0x13 [{для некоторых объективов до нее нужно еще вызвать 0x07}]
|
||||
|
||||
0x90 (3)
|
||||
Состояние кнопок объектива?
|
||||
01010000
|
||||
0x50 (2) - имеет аргумент: 0x2c..0x2f; ответ 0x50,0x50; 0x2c встречается при нажатии кнопки "set focus" и иногра при автофокусировке; 0x2d - при автофокусе и экспозиции на Finfty; 0x2e - автофокус и экспозиция на F2.5m; в остальных случаях - 0x2f (вкл-выкл, быстро в infty, движение F+/F-, экспозиция F>=5m)
|
||||
|
||||
0x99
|
||||
10000000
|
||||
0x80 i(2) - начинает стартовую инициализационную последовательность 0x80,0x0a,0x99[0x97] с ответом 0x81,0x87,0x00 (третий байт зависит от ответа на 2 первых) - модель?
|
||||
|
||||
0xa0 (1 или 2?)
|
||||
10010000
|
||||
-> 0x90 (3) - (значимы только первые 2 байта ответа) Состояние кнопок объектива? ans 0x00,0x10 - AF, 0x00,0x90 - MF, 0x20,0x80/0x84 - крутится chFoc
|
||||
|
||||
0xb0 (3 или 4)
|
||||
10100000
|
||||
0xa0 (?) - входит в состав порции данных при периодическом опросе (после инициализации) вида (вх) 0xa0,0x00,0xe4,0x00; ответ: 0x00,0xc8,0x9c,0x6a; за этой командой следует 0xb2 уже с разными ответами [current zoom]
|
||||
|
||||
0xb2 (4) - меняется при изменении фокуса в автофокусе, не меняется при ручной
|
||||
10110000
|
||||
-> 0xb0 (3) - идет после 0xf0 или 0x0a, ответ: 0x16, 0x16, 0x50; за ней бывают либо 0,0,a0, либо 0,0,c0, либо 7f,ff,0a -> ответ не меняется [min/max aperture]
|
||||
|
||||
0xc0 (3) - положение лимба
|
||||
10110010
|
||||
-> 0xb2 (4) - (значимы только 2 средних байта ответа), ответ: 0x5a,x,y,0x00
|
||||
|
||||
0xe0 (2)
|
||||
11000000
|
||||
-> 0xc0 (3) - (значимы только первые два байта ответа) положение лимба (в режиме "ручной фокус" возвращает нули в любом случае)
|
||||
|
||||
0xe4 (2) - ans 9c,6a
|
||||
11100000
|
||||
-> 0xe0 (2) - (меняется лишь второй байт ответа), ответ: 0xc2,x; за ней обычно следует 0xea
|
||||
|
||||
0xe8 (7) - меняется при изменении фокуса в автофокусе
|
||||
11100100
|
||||
0xe4 (2) - ans 9c,6a, за ней идет обычно 0xb2
|
||||
|
||||
0xea (6) - меняется при изменении фокуса в автофокусе
|
||||
11101000
|
||||
-> 0xe8 (7) - (значимы лишь первые 2 байта) меняется при изменении фокуса в автофокусе, за ней обычно следуют 0xf8, 0xfc; ответы при разных положениях MF: inf,20m,10m - 0x22,0x16; 5m - 0x21,0x66; 2.5m - 0x20,0xed;
|
||||
|
||||
0xf0 (1) - меняется при изменении фокуса в автофокусе
|
||||
11101010
|
||||
-> 0xea (6) - (значимы лишь первые 2 байта, остальные - нули) меняется при изменении фокуса в автофокусе, встречается и в экспозиции при ручном фокусе - диафрагма?
|
||||
|
||||
0xf8, 0xfc, 0xfa, 0xfe (1) - меняется при изменении фокуса в автофокусе
|
||||
11110000
|
||||
0xf0 (1) - зависит от фокуса (0x11 - infty,20m,10m, 0x0d - 5m, 0x12 - 2.5m ?), за ней всегда следует 0xb0
|
||||
|
||||
11111000
|
||||
-> 0xf8 - начало последовательности 0xf8,0xfc,0xfa,0xfe, следующей после команды 0xe8 - при фокусировке и экспозиции, ответы меняются: 2.5m - bd,cb,be,cd; 5m - ba,c6,bd,ca; 10m,20m,inf - b3,be,ba,c5;
|
||||
|
||||
|
||||
|
||||
В состоянии poweroff нет команд 0x0e, 0x0f, остальные команды как в poweron (автофокус).
|
||||
|
||||
Есть при экспозиции, нет при нажатии "set focus": 0x08, 0x0e, 0x13, 0x25, 0x2d, 0x2e, 0x2f, 0x7f, 0xff
|
||||
Есть только при нажатии "set focus": 0x2c
|
||||
|
||||
Нет в poweron: 0x05, 0x06, 0x08, 0x13, 0x25, 0x2c, 0x2d, 0x2e, 0x7f, 0xe0, 0xe8, 0xea, 0xf0, 0xf8, 0xfa, 0xfc, 0xfe, 0xff
|
||||
|
||||
Нет при включении в ручном фокусе: 0x07, 0x0c, 0x0e, 0x0f, 0xc0 (информация о параметрах объектива?)
|
||||
|
||||
|
||||
|
||||
Итого. Подозрительные на команды с действиями: 0x05, 0x06, 0x08, 0x13, 0x25, 0x2c, 0x2d, 0x2e, 0x7f, 0xe0, 0xe8, 0xea, 0xf0, 0xf8, 0xfa, 0xfc, 0xfe, 0xff
|
||||
|
||||
Нет при автофокусе, есть при экспозиции: 0x08, 0x13, 0x25, 0x7f, 0xff
|
||||
Нет ТОЛЬКО при автофокусе: 0x2f
|
||||
Есть только при автофокусе: 0x05
|
||||
Есть только при экспозиции: 0x08, 0x13, 0x25, 0x7f, 0xff - все встречаются единожды
|
||||
Команда 0x08 встретилась лишь при экспозиции на F20m
|
||||
|
||||
|
||||
3881
00-logs/shot_infty_F1.8.dat
Normal file
3881
00-logs/shot_infty_F1.8.dat
Normal file
File diff suppressed because it is too large
Load Diff
1700
00-logs/shot_infty_F16.0.dat
Normal file
1700
00-logs/shot_infty_F16.0.dat
Normal file
File diff suppressed because it is too large
Load Diff
3038
00-logs/shot_infty_F2.5.dat
Normal file
3038
00-logs/shot_infty_F2.5.dat
Normal file
File diff suppressed because it is too large
Load Diff
1485
00-logs/shot_infty_F4.0.dat
Normal file
1485
00-logs/shot_infty_F4.0.dat
Normal file
File diff suppressed because it is too large
Load Diff
1823
00-logs/shot_infty_F8.0.dat
Normal file
1823
00-logs/shot_infty_F8.0.dat
Normal file
File diff suppressed because it is too large
Load Diff
2615
00-logs/sw_AFMF.dat
Normal file
2615
00-logs/sw_AFMF.dat
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user