Achtung!
Das Skript ist noch nicht "sicher", es fehlen noch Abfragen, ob der Blitz eingeschaltet ist oder nicht.
Zur Benutzung ist eine aktuelle CHDK-Version notwendig, Stand Okt. 2008.
Mit den Tasten [rechts] und [links] wird die Blitzkorrektur eingestellt.
Mit [SET] oder mit einer Selbstbau-Fernbedienung wird ausgelöst.
Mit [MENU] wird das Skript beendet.
Der eingestellte Wert wird jeweils angezeigt (in 1/3EV).
Bei den Skriptparametern gibt es folgende Einstellmöglichkeiten:
Ganzahlwert für die Karrektur: voreingestellt 0, keine Blitzkorrektur
Tastatur-Delay: voreingestellt 80 ms, dient der Verzögerung der Tastaturwiederholung
Auslöse-Delay: voreingestellt 0s, dient einer Timer-Funktion
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
--[[
@title Dim_Flash universal 3
@param a Ganzzahl-Wert [EV]
@default a 0
@param b Tastatur-Delay [ms]
@default b 80
@param c Auslöse-Delay [s]
@default c 0
]]
function print_Fl()
print_fl = "Flash: "..fl_dim.."/3 EV"
end
function button()
local x = 0
repeat
wait_click(key_delay)
if is_pressed "remote" then
key = "SET"
x = 1
end
if is_pressed "set" then
key = "SET"
x = 1
end
if is_pressed "menu" then
key = "MENU"
x = 1
end
if is_pressed "display" then
key = "DISP"
x = 1
end
if is_pressed "left" then
key = "LEFT"
x = 1
end
if is_pressed "right" then
key = "RIGHT"
x = 1
end
if is_pressed "up" then
key = "UP"
x = 1
end
if is_pressed "down" then
key = "DOWN"
x = 1
end
until x == 1
set_led (8,1)
sleep (10)
set_led (8,0)
end
--script start
if a < -18 then a = -18 end
if a > 18 then a = 18 end
if b < 50 then b = 50 end
if c < 0 then c = 0 end
fl_dim = a
key_delay = b
shoot_delay = c
repeat
cls()
print_Fl()
print("[<-][->] ",print_fl)
print("[SET] [Remote] Auslösen")
print("[MENU] Beenden")
button()
if key == "RIGHT" then fl_dim = fl_dim + 1 end
if key == "LEFT" then fl_dim = fl_dim - 1 end
if fl_dim > 18 then fl_dim = -18 end
if fl_dim < -18 then fl_dim = 18 end
if key == "SET" then
if shoot_delay > 0 then
cls()
print("Warte "..shoot_delay.." s")
sleep(shoot_delay * 1000)
end
fl = fl_dim * 32
press "shoot_half"
repeat
until get_shooting() == true
if get_propset() == 2 then
set_prop(127,fl)
else
set_prop(28,fl)
end
press "shoot_full"
release "shoot_full"
release "shoot_half"
end
until key == "MENU"
@title Dim_Flash universal 3
@param a Ganzzahl-Wert [EV]
@default a 0
@param b Tastatur-Delay [ms]
@default b 80
@param c Auslöse-Delay [s]
@default c 0
]]
function print_Fl()
print_fl = "Flash: "..fl_dim.."/3 EV"
end
function button()
local x = 0
repeat
wait_click(key_delay)
if is_pressed "remote" then
key = "SET"
x = 1
end
if is_pressed "set" then
key = "SET"
x = 1
end
if is_pressed "menu" then
key = "MENU"
x = 1
end
if is_pressed "display" then
key = "DISP"
x = 1
end
if is_pressed "left" then
key = "LEFT"
x = 1
end
if is_pressed "right" then
key = "RIGHT"
x = 1
end
if is_pressed "up" then
key = "UP"
x = 1
end
if is_pressed "down" then
key = "DOWN"
x = 1
end
until x == 1
set_led (8,1)
sleep (10)
set_led (8,0)
end
--script start
if a < -18 then a = -18 end
if a > 18 then a = 18 end
if b < 50 then b = 50 end
if c < 0 then c = 0 end
fl_dim = a
key_delay = b
shoot_delay = c
repeat
cls()
print_Fl()
print("[<-][->] ",print_fl)
print("[SET] [Remote] Auslösen")
print("[MENU] Beenden")
button()
if key == "RIGHT" then fl_dim = fl_dim + 1 end
if key == "LEFT" then fl_dim = fl_dim - 1 end
if fl_dim > 18 then fl_dim = -18 end
if fl_dim < -18 then fl_dim = 18 end
if key == "SET" then
if shoot_delay > 0 then
cls()
print("Warte "..shoot_delay.." s")
sleep(shoot_delay * 1000)
end
fl = fl_dim * 32
press "shoot_half"
repeat
until get_shooting() == true
if get_propset() == 2 then
set_prop(127,fl)
else
set_prop(28,fl)
end
press "shoot_full"
release "shoot_full"
release "shoot_half"
end
until key == "MENU"
Erstellt in 0.016 Sekunden, mit GeSHi 1.0.8.9
Viel Spaß beim Testen, Rückmeldungen sind willkommen!
Gruß
Der Paparazzi
PS:
In diesem Zusammenhang nötige / interessante Property cases:
#15, #28 & #29 (Digic II) bzw. #121, #127 & #141 (Digic III)