Mit USB den Modus umschalten ???

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

Mit USB den Modus umschalten ???

Beitragvon X-Man » 16.11.2009, 11:28

Hallo,

ich bin noch recht neu auf diesem Gebiet, habe aber inwzischen CHDK installiert und mich damit vertraut gemacht. Auch die Fernbedienung über USB habe ich schon erfolgreich in Betrieb genommen und es funktioniert soweit auch problemlos.

Jetzt habe ich aber nach einer Möglichekti gesucht mit der Fernbedienung zwischen Foto und Video
umzuschalten.
In den Scriptbefehlen haben ich folgendes gefunden:

get_mode Info Kameramodus
0 Foto-Aufnahme
1 Wiedergabe
2 Video-Aufnahme


Aber das ist, soweit ich es verstehe nur zum Auslesen und nicht zum setzen.
Einen Befehl wie "set_mode" habe ich nicht gefunden.
Ist das Umschalten so nicht möglich oder kann mir jemand helfen wie ich das hinbekommen kann ?
IXUS960IS FW1.00D
X-Man
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 3
Registriert: 11.11.2009, 01:08

Re: Mit USB den Modus umschalten ???

Beitragvon fe50 » 16.11.2009, 13:15

Hallo & herzlich willkommen, X-Man !

X-Man hat geschrieben:get_mode Info Kameramodus
0 Foto-Aufnahme
1 Wiedergabe
2 Video-Aufnahme


Aber das ist, soweit ich es verstehe nur zum Auslesen und nicht zum setzen.
Einen Befehl wie "set_mode" habe ich nicht gefunden.
Ist das Umschalten so nicht möglich oder kann mir jemand helfen wie ich das hinbekommen kann ?

Es gibt mittlerweile mehrere Möglichkeiten, zwischen Aufnahme,- und Wiedergabemodus per Script zu wechseln; dieser Bereich befindet sich derzeit noch im Aufbau, die Dokumentation ist noch nicht entsprechend aktualisiert.

Schau' Dich mal hier um: http://chdk.setepontos.com/index.php/to ... l#msg42842

Du musst dazu eine recht neue CHDK-Version (vom Autobuild-Server) verwenden, am Besten die Aktuelle (Rev. #839).

...probiere doch einfach mal set_record(state) aus:

if state is 0 (or false) the camera is set to play mode. If 1 or true, the camera is set to record mode.
notes:
* in ubasic, get_mode returns 0 for record, 1 for play and 2 for movie. If you want to restore the original mode, you must modify the value accordingly
* get_mode() in C or script may return incorrect values after forcing the mode on some cameras, mostly those with a physical play/rec switch. This will be corrected in future versions

Als Scriptsprache würde ich Lua empfehlen, einiges ist aber auch für uBasic verfügbar...
"The grass was greener, The light was brighter"►  ◄fe50 home►  ◄TRAIL-Magazin►  ◄RTFM !
Benutzeravatar
fe50
CHDK-Legende
CHDK-Legende
 
Beiträge: 1105
Registriert: 25.04.2008, 15:28
Wohnort: B'Württemberg
Kamera(s): Ixus50 101b, Ixus860 100c, SX10 101a

Beitragvon X-Man » 23.11.2009, 20:04

Hallo fe50,

danke für den Hinweis, jetzt kam ich auch endlich mal dazu mich der Sache zu widmen.
Doch leider hapert es schon an meinen Englisch-Kenntnissen.

Das verwendete Script sieht so aus:

@title USB-Shoot
while 1
for n=0 to 900 step 1
wait_click 1
if is_key "remote" then
shoot
endif
if n=900 then
click "shoot_half"
endif
next n
wend
end


Wenn ich jetzt statt "shoot" "set_record (2)" einfüge passiert gar nichts.
Ich wollte damit nur testen ob die Kamera statt auszulösen in den Video-Mode schaltet.
Macht sie aber nicht.

Als CHDK-Version verwende ich die 1.0.0.DE

Hat vielleicht jemand noch eine Idee wie ich den Modus zwischen Kamera und Video über USB
umschalten kann ?
Die Erkennung ob nun umgeschaltet oder ausgelöst/gestartet werden soll wollte ich über die Dauer des
USB-Signals steuern. Also kurzer Impuls auslösen, langer Impuls Modus wechseln.
IXUS960IS FW1.00D
X-Man
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 3
Registriert: 11.11.2009, 01:08

Beitragvon msl » 23.11.2009, 23:32

Hallo,

in uBasic kannst Du für set_record nur 0 für Wiedergabe und 1 für Aufnahme als Argument verwenden (ohne Klammer).

Gruß msl
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4501
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon X-Man » 24.11.2009, 21:08

Würde es in Lua denn mit der 2 als Argument funktionieren um in den Videomode zu schalten ?
IXUS960IS FW1.00D
X-Man
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 3
Registriert: 11.11.2009, 01:08

Beitragvon msl » 24.11.2009, 22:31

Nein!

get_mode und set_record haben nichts miteinander zu tun.

Du hast in Lua mehr Möglichkeiten, Kamera-Funktionen per Skript zu schalten. Dabei kann ich Dir aber nur wenig helfen, da ich keine Ixus habe. Möglicherweise könnten diese 3 Zeilen in Lua Deine Kamera steuern.
Syntax: [ Download ] [ Verstecken ]
Benutze Lua Syntax Highlighting
-- Umschalten in Wiedergabe

post_levent_to_ui("ModeLeverPlay")

-- Umschalten Video-Aufnahme

post_levent_to_ui("ModeLeverMovieRec")

-- Umschalten Foto-Aufnahme

post_levent_to_ui("ModeLeverStillRec")
Erstellt in 0.002 Sekunden, mit GeSHi 1.0.8.9


Ich habe aber keine Ahnung, ob diese Variante funktioniert. Wahrscheinlich müssten wir die Event-Liste Deiner Kamera erstmal genauer auslesen.

Gruß msl
■ "Hey you, don't tell me there's no hope at all. Together we stand, divided we fall."CHDK inside FAQCHDK-Neuigkeiten auf Twitter
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4501
Bilder: 271
Registriert: 22.02.2008, 12:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a


Zurück zu Code-Ecke

Wer ist online?

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