Hallo Andreas,
prima, daß der alternative Lösungsansatz von msl, die USB-Impulse wie eine Kamerataste abzufragen, nun endlich den gewünschten Erfolg gebracht hat :-)
Ansonsten scheint msl zudem folgenden CHDK-Fehler
msl schrieb:
Eigentlich wollte ich die Schleife immer bis zur nächsten Fernbedieneingabe warten lassen. Dann hätten wir eine Möglichkeit ala Wait geschaffen. Allerdings scheint es an der Stelle einen Bug im CHDK zu geben. Der kann evt. behoben werden. Dann können wir das Skript noch einmal verändern.
an das internationale CHDK-Forum weitergegeben zu haben, und mit dem seit heute verfügbaren CHDK 1.3 v3549 wurde dieser Bug inzwischen sogar bereits behoben!
Ab jetzt kann also auch bei Verwendung einer USB-FB der Lua-Befehl "wait_click(0)" angewendet werden, was ich eben an meiner S3
mit installiertem CHDK 1.3 v3549(!) erfolgreich getestet habe.
Hier darum eine neue Skriptversion von mir, welche neben der Verwendung von "wait_click(0)" zwei weitere Neuerungen hat, um das Skript noch etwas benutzerfreundlicher zu gestalten.
Für dieses Skript mußt Du aber erst zwingend Dein CHDK auf mindestens 1.3 v3549 updaten!1) Eine USB-FB ist ja nur normalerweise nur dann verwendbar, wenn in CHDK für den USB-Port die Remote-Funktion aktiviert wurde, wobei der USB-Port dann aber nicht mehr für Dateiübertragungen an den PC verwendet werden kann.
Das Skript von msl hatte da "klammheimlich" (weil nicht im Thread erwähnt) eine automatische Aktivierung/Deaktivierung der USB Remote-Funktion bei Skriptstart bzw. Skriptende eingeführt, was im Grunde auch sehr sinnvoll ist.
Bei dieser Skriptversion kann man nun selber über den neuen Skript-Vorgabeparameter "Enable Auto-Mode USB-Port" (per default aktiviert) darüber entscheiden, ob man diese automatische Umstellungen des USB-Ports wünscht.
Hinweis: Dieser neue Vorgabe-Parameter kann im Menü "Skript-Einstellungen" jederzeit geändert werden.
2) Die neue Skriptversion fragt nun zusätzlich ab, ob an der Kamera überhaupt der Serienmodus (Continuos mode) eingestellt ist. Wird beim Start der Modus Einzelaufnahmen (Single shot) gefunden, bricht das Skript mit einer Fehlermeldung ab.
Auf diese Weise sollen mögliche Fehlbedienungen des Skriptes verhindert werden.
Hier der neue Skriptcode:
- Code: Alles auswählen
--[[
*************************
Authors: Werner_O and msl
Version 1.03
Date: 2014/07/31
Licence: GPL
*************************
@title USB-Serienaufnahme
@param a Enable Auto-Mode USB-Port
@default a 1
@range a 0 1
]]
usbautomode = 0
rec = false
--Define console layout:
set_console_layout(0, 0, 28, 5)
function restore()
if rec then
release("shoot_full")
cls()
print("Stop")
end
if usbautomode == 1 then
set_config_value(121,0) --USB remote is disabled
print("USB remotefunction disabled")
end
end
if get_drive_mode() == 1 then --True with enabled continuous shooting
usbautomode = a
if usbautomode == 1 then
set_config_value(121,1) --USB remote is enabled
print("USB remotefunction enabled")
end
repeat
wait_click(0)
if is_key("remote") then
if rec == false then
press("shoot_full")
cls()
rec = true
print("Start")
else
release("shoot_full")
rec = false
cls()
print("Stop")
end
end
until is_key("menu")
else
print("Please first enable")
print("continuous shooting!")
sleep(3000)
end
restore()
P.S.:
Die Krönung wäre noch eine automatische Aktivierung/Deaktivierung der Serienaufnahmen über das Skript.
Leider habe ich dazu aber keine Lua-Funktion gefunden, die das machen könnte :-(
Liebe Grüße
Werner_O