Autostart - Systemvariablen

CHDK-Skripte, CHDK-Entwicklung, PC-Zusatzprogramme, Informationen für Tüftler

Autostart - Systemvariablen

Beitragvon Nando » 31.08.2010, 21:37

Hallo zusammen,
ich möchte gerne beim Start meiner Kamera den Manuellen-Fokus und Custom-Timer-Mode aktivieren.

Kann ich da mit Systemvariablen setzen?
http://chdk.wikia.com/wiki/PropertyCase

Beim Test mit dem Script bekomme ich ein Foto ausgelöst, was ich gar nicht will, und danach ein Parse Error auf die letzte Zeile.
modus.bas
Code: Alles auswählen
@title Modus
sleep 200
rem Manual Focus Mode (0,1 = Off,On)
set_prop 133 1
sleep 200
rem Focus Mode (0,1,3,4,5 = Normal, Macro, Infinity, Manual, Super Macro [SX10])
set_prop 6 4
sleep 200
rem Timer Mode SX 200 IS & SD 780 0,1,2,3,4=Off, 2 Seconds, 10 Seconds, Custom, Face Detection
set_prop 223 3
sleep 200
exit_alt


bis dann,
Nando
Canon PowerShot SX200 IS 100D (seit Mitte Nov 2009), Canon PowerShot A1000 IS 100b
Nando
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 257
Registriert: 11.11.2009, 15:55

Beitragvon CHDKLover » 31.08.2010, 22:34

Hallo Nando,
leider lassen sich manche "Systemvariablen" nur auslesen aber nicht setzten. Wenn dies bei einem Property Case bekannt ist, ist der Eintrag mit R oder RO (Read Only) gekennzeichnet. Siehe Property Case 133 für Digic III & Digic IV.
Warum das Testscript bei dir ein Foto auslöst kann ich dir auch nicht sagen, aber der Parse Error könnte durch das fehlende Enter in der letzten Zeile hervorgerufen werden.

CHDKLover
A610 100e CHDK-DE: aktuelle Version
Benutzeravatar
CHDKLover
Super-Mod
Super-Mod
 
Beiträge: 878
Bilder: 8
Registriert: 12.09.2007, 18:25
Wohnort: Dresden
Kamera(s): a610 100e

Beitragvon gehtnix » 31.08.2010, 22:52

CHDKLover hat geschrieben:Enter
end + Leerzeile (Enter) müsste es heißen

gehtnix
Benutzeravatar
gehtnix
CHDK-Legende
CHDK-Legende
 
Beiträge: 2406
Bilder: 8
Registriert: 17.04.2008, 12:42
Wohnort: München
Kamera(s): A610 100e+f + IXUS990 IS

Beitragvon Nando » 31.08.2010, 23:19

Hallo CHDKLover,
die letzte Leerzeile habe ich geschrieben. Die Fehlermeldung kommt dennoch.

Auch mit default.bas im Autostart wird ein Foto beim Einschalten gemacht.
Ein Fokus-Mode-Wechsel wird leider nicht ausgeführt, auch wenn ich die anderen Zeilen ausblende.

bis dann,
Nando
Canon PowerShot SX200 IS 100D (seit Mitte Nov 2009), Canon PowerShot A1000 IS 100b
Nando
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 257
Registriert: 11.11.2009, 15:55

Beitragvon Nando » 13.09.2010, 12:11

Hallo zusammen,
OldGit vom internationalen CHDK-Forum hat mir geholfen. :)

Bei Lua funktioniert exit_alt(), bei UBasic muss wohl ein Wert mitgegeben werden ("exit_alt 0"). Deshalb der Parse Error.
UBasic exit_alt not working

Das Script funktionierte Gestern wie gewünscht. Heute wird allerdings beim Autostart wieder ein Foto gemacht. :roll:
CHDK\CCHDK.CFG habe ich gelöscht und alle anderen Werte in CHDK default gelassen. Getestet mit sx200is-100d-0.9.9-938-full.
Den einzigen Unterschied den ich sehe ist die niedrigere Temperatur (21° <-> 23) und die Uhrzeit.

autostart_modus.lua
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
--[[

@title Test Lua Script

]]




function set_camera()

    print("Runing Setup!")

    sleep(1000)

    cls()

    print("Set Manual Focus")

    focus_state = get_prop(6)

    if focus_state ~= 4 then  -- not in manual, so change it

        if focus_state == 0 then  -- normal, move 1 right

            click("left")

            click("right")

            click("set")

        elseif focus_state == 1 then  -- macro, move 2 right

            click("left")

            click("right")

            click("right")

            click("set")

        else  -- super macro, move 1 left

            click("left")

            click("left")

            click("set")

        end

    end

    cls()

    print("Set Custom Timer")

    timer_state = get_prop(223)

    if timer_state ~= 3 then  -- not in Custom, so change it

        if focus_state == 0 then  -- Off, move 1 up

            click("down")

            click("up")

            click("set")

        elseif focus_state == 1 then  -- 2 second, move 2 up

            click("down")

            click("up")

            click("up")

            click("set")

        elseif focus_state == 2 then  -- 10 second, move 3 up

            click("down")

            click("up")

            click("up")

            click("up")

            click("set")

        else  -- Face Detect, move 1 up

            click("down")

            click("up")

            click("set")

        end

    end cls()

    exit_alt()

end



sleep(3000) -- wait for camera to turn on fully

rec,vid,mode=get_mode()

if rec == false then

    cls()

    print("Not in record mode!")

    print("Camera Setup not run.")

    sleep(2000)

    cls()

    exit_alt()

else

    set_camera()

end
Erstellt in 0.015 Sekunden, mit GeSHi 1.0.8.9


bis dann,
Nando
Canon PowerShot SX200 IS 100D (seit Mitte Nov 2009), Canon PowerShot A1000 IS 100b
Nando
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 257
Registriert: 11.11.2009, 15:55

>> an Canon PowerShot SX200 IS Besitzer

Beitragvon Nando » 14.09.2010, 16:42

Hallo zusammen,
ich habe gerade nochmal das Problem mit dem Autostart eines Skriptes durchgespielt und denke, dass man es rekonstruieren kann.

- SD-Karte neu formatiert
- CHDK (sx200is-100d-0.9.9-938-full) neu installiert
- demo.bas als Autostart-Script eingestellt
-> es funktioniert, das Script wird automatisch gestartet
- Deutsch in der Spracheinstellung ausgewählt (bei Auswahl Englisch auch)
-> es funktioniert nicht, es wird ein Foto geschossen und das Skript nicht ausgeführt
- löschen CHDK/CCHDK.CFG
-> es funktioniert, das Script wird automatisch gestartet
...

Ich habe die CHDK/CCHDK.CFG mit kdiff3 verglichen und diese Änderung festgestellt.

funktioniert
Code: Alles auswählen
... @ d  Snl %s: %d:  in function '%s' ...

funktioniert nicht
Code: Alles auswählen
... @ d A/CHDK/LANG/GERMAN.LNG  n '%s' ...



Könnten bitte Besitzer einer Canon PowerShot SX200 IS den Autostart eines beliebigen Skriptes mal ausprobieren?

- Kamera einschalten
- Druck-Taste (um ins CHDK-Menü zu kommen)
- FuncSet-Taste (in der Mitte)
- Autostart [On]
- Kamera ausschalten
- Kamera einschalten

Schreibt bitte, ob dann bei euch auch ein Foto beim Kamerastart geschossen wird.

danke,
Nando
Canon PowerShot SX200 IS 100D (seit Mitte Nov 2009), Canon PowerShot A1000 IS 100b
Nando
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 257
Registriert: 11.11.2009, 15:55

Re: >> an Canon PowerShot SX200 IS Besitzer

Beitragvon Brainbox » 15.09.2010, 14:19

Guten Tag,

Ja (auch beim default-Script).

Cheers

Lars
IXUS 500, IXUS 55, IXUS 100IS, IXUS 300HS
Powershot S5IS, G11, G5x
METZ 28 CS-2 digital
--------------------------
CHDK 1.4.* DE, bzw. CHDK 1.5.*
Brainbox
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 31
Registriert: 22.02.2010, 11:56
Kamera(s): Powershot G5x, G11, S5s
Ixus 300 HS

Beitragvon Nando » 15.09.2010, 19:08

Hallo Lars,
danke für die Bestätigung! :)

OldGit (SX200 porting thread) schaut sich das näher an.

bis dann,
Nando
Canon PowerShot SX200 IS 100D (seit Mitte Nov 2009), Canon PowerShot A1000 IS 100b
Nando
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 257
Registriert: 11.11.2009, 15:55

Beitragvon Nando » 19.09.2010, 11:12

Hallo zusammen,
OldGit kann es leider bei seiner Canon PowerShot SX200 IS nicht nachstellen.
Es wird bei ihm kein Foto beim Autostart eines Scriptes aufgenommen.

bis dann,
Nando
Canon PowerShot SX200 IS 100D (seit Mitte Nov 2009), Canon PowerShot A1000 IS 100b
Nando
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 257
Registriert: 11.11.2009, 15:55


Zurück zu Code-Ecke

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 28 Gäste