Ok, das mit den Kommazahlen habe ich verstanden, deshalb die Werte für Aperture und Shutterspeed als Indextables. So weit so gut.
Inzwischen kann ich auch die Werte entsprechend auslesen. Beispielsweise habe ich das hier hinbekommen:
function set_shutter
(tvset
)
print("Set shutter index: ", tvset
)
tvnow
= get_user_tv_id
()
while(tvnow~
=tvset
) do
wheel_right
()
sleep
(500)
tvnow
= get_user_tv_id
()
print("TVNOW ", tvnow
)
sleep
(500)
end
sleep
(500)
endErstellt in 0.005 Sekunden, mit
GeSHi 1.0.8.9
Das funktioniert war grundsätzlich, seltsamerweise werden die Werte mit wheel_right() aber jeweils um 2 Indexpunkte erhöht. wheel_left() "substrahiert" auch immer 2!?! Wenn ich wheel_left() bis zum "Anschlag" wiederholt aufrufe, dann wird in der letzten Position nur 1 step gemacht, wenn es nicht weiter "abwärts geht".
Grundsätzlich verhält es sich also so:
tvnow = get_user_tv_id() -- z.B. 21
wheelright()
tvnow = get_user_tv_id() -- sollte jetzt 22 sein, ist aber 23... Verstehe ich nicht...
Das hier sind die für die SX200IS gültigen Werte, wenn ich das richtig sehe...
--[[ SHUTTER SPEED INDEX TEABLE
Value index (w/ black-frame) Value index
15" -12 (~33") 1/15 12
13" -11 (~27") 1/20 13
10" -10 (~21") 1/25 14
8" -9 (~17") 1/30 15
6" -8 (~13") 1/40 16
5" -7 (~11") 1/50 17
4" -6 (~9") 1/60 18
3"2 -5 (~7") 1/80 19
2"5 -4 (~6") 1/100 20
2" -3 (~5") 1/125 21
1"6 -2 (~4") 1/160 22
1"3 -1 (~3") 1/200 23
1"" 0 1/250 24
0"8 1 1/320 25
0"6 2 1/400 26
0"5 3 1/500 27
0"4 4 1/640 28
0"3 5 1/800 29
1/4 6 1/1000 30
1/5 7 1/1250 31
1/6 8 1/1600 32
1/8 9 1/2000 33
1/10 10 1/2500 34
1/13 11 1/3200 35