[uBasic] Intervall-Foto Skript mit autom. LCD-Abschalt.+USB

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

Intervall-Foto Skript mit autom. LCD-Abschalt.+USB

Beitragvon gehtnix » 04.07.2008, 00:44

Hallo,

EDIT am 11.03.09 Folgendes Script-Sevenup ist der Nachfolger und hat mehr Funktionsumfang.

um die Akkustandzeit bei Intervallaufnahmen zu erhöhen habe ich
ein bestehendes Intervall-Skript dahingehend angepasst.

Bei Digic III Cameras muß nachfolgend get_prop von 181 auf 105 abgeändert werden!

Man kann mit dem Parameter f festlegen wieviel Bilder am Anfang auf dem LCD angezeigt werden.
Danach schaltet der LCD ab. Er schaltet sich aber rechtzeitig vor dem Ende der Intervallreihe automatisch wieder ein. Dann werden f Fotos am Schluß noch angezeigt.
Beipiel mit 200 Fotos und f=5, 5 Aufnahmen mit LCD, 190 Aufnahmen mit abgeschaltetem LCD und die restlichen 5 Bilder wieder mit eingschaltetem LCD.

Folgenden Parameter habe ich hinzugefügt:
@param f LCD aus
@default f 5

Das kam in der Schleife dazu:
Schaltet den LCD nicht ab wenn zu wenig Bilder gemacht werden
if s<=(f*2) then goto "weiter"

Zum Abschalten des LCD
if i=(f+1) then
do
click "display"
get_prop 181 u
until (u=2 or u=3)
endif

Zum Einschalten des LCD
if i=(s-f+1) then
do
click "display"
get_prop 181 u
until u=x
endif
:weiter

Das komplette Skript:

Code: Alles auswählen
@title Intervall-Foto-LCD aus

@param a Anzahl Bilder (Faktor 100)
@default a 0
@param b Anzahl Bilder (Faktor 10)
@default b 1
@param c Anzahl Bilder (Faktor 1)
@default c 0
@param d Intervall (min)
@default d 0
@param e Intervall (sec)
@default e 1
@param f LCD aus nach x Bildern
@default f 5

get_prop 181 x
u=x

t=d*60000+e*1000

if a<0 then let a=0
if b<0 then let b=0
if c<0 then let c=0
if t<1000 then let t=1000
s=a*100+b*10+c

print "Gesamtzeit:", t*s/60000, "min", t*s%60000/1000, "sec"

sleep 1000

print "Bild 1 von", s
shoot
for i=2 to s
  if s<=(f*2) then goto "weiter"
  if i=(f+1) then
    do
    click "display"
    get_prop 181 u
    until (u=2 or u=3)
  endif

  if i=(s-f+1) then
    do
    click "display"
    get_prop 181 u
    until u=x
  endif
:weiter
  print "Warte", d, "min", e, "sec"
  sleep t
  print "Bild", i, "von", s
  shoot
next i

end



Zum Schluß hätte ich gern noch ein Frage beantwortet bekommen:
Mit set_prop 181 konnte ich das Vorhaben nicht lösen.
Hat das seine Richtigkeit?

Tester werden gern gesehen!
Wenn das Skript OK ist könnte das ja in die Sammlung aufgenommen werden

EDIT: Ein paar Kleinigkeiten geändert. Bis auf den Titel ist das Skript geblieben!

EDIT: am 11.7.08 "until u=2" auf "until (u=2 or u=3) geändert. Dank an PhyrePhoX

gruß gehtnix
Zuletzt geändert von gehtnix am 11.03.2009, 17:22, insgesamt 4-mal geändert.
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 _c_ » 04.07.2008, 08:26

Hallo,

habe gerade dein Skript ausprobiert, leider funktioniert es mit meiner A720IS nicht - das Display wird zwar programmgemäß ausgeschaltet, es schaltet dann aber sofort wieder ein, dann wieder aus, wieder ein, wieder aus...


Grüße
Claudio

Edit: "Rückblick" im "normalen Kameramenu abgestellt unn Skriptvariable von 181 auf 105 geändert et voilá!
Funktioniert!
Zuletzt geändert von _c_ am 04.07.2008, 10:22, insgesamt 1-mal geändert.
A720 IS. CHDK-SVN 0.9.8, revision 765 Bild
_c_
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 88
Registriert: 25.06.2008, 11:59

Beitragvon msl » 04.07.2008, 09:50

Hallo gehtnix,

Dein Skript arbeitet bestens. Gerade für Langzeit-Intervallprojekte ist das Skript sehr gut zu gebrauchen. Du entwickelst Dich hier im Forum zum Skript-König. 8)

Zu Deiner Frage bezüglich Propertycase 181 (105). Ich vermute, dass diese Variable nur lesbar aber nicht schreibbar ist.

Ich hoffe, es kommen noch ein paar Testbestätigungen. Insbesondere bin ich auf die IXUS-Nutzer gespannt.

@ _c_

Was Du siehst, ist der Rückblickmodus. Die Displayabschaltung gilt nur für den Aufnahmemodus. Stelle den Rückblickmodus auf aus. Dann bleibt das Display auch aus.

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon CHDKLover » 04.07.2008, 10:15

Hallo _c_,
hast du auch alle get_prop 181 zur get_prob 105 für den DIGICIII abgeändert? (3mal)
Wenn nicht ist es logisch, dass sich das Display andauernd ab und an schaltet, da die Display-Taste in einer Schleife so oft gedrückt wird, bis der richtige Mode erreicht ist. Und wenn du die falsche property abfragst, wird die Schleife nicht terminiert.

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 _c_ » 04.07.2008, 10:20

@msl: nach Änderung des Skripts (181 durch 105 ersetzt) und Abstellen des Rückblicks macht das Skript genau was es soll. Ich nehme meine vorherige Behauptung also zurück und behaupte das Gegenteil! :-)


Danke gehtnix! dann kann ich den Displaysteckerdummy wieder aus der Kameratasche nehmen.

Grüße
Claudio
A720 IS. CHDK-SVN 0.9.8, revision 765 Bild
_c_
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 88
Registriert: 25.06.2008, 11:59

Beitragvon holgi09 » 04.07.2008, 11:00

msl hat geschrieben:Ich hoffe, es kommen noch ein paar Testbestätigungen. Insbesondere bin ich auf die IXUS-Nutzer gespannt.


Und hier ist der erste ;) , leider mit einer Beta CHDK Version.
Bei mir wird, wenn er versucht, das Display auszuschalten, immer das Menü aufgerufen. Ich habe also nach 2 Bildern (dann soll das Display dunkel geschaltet werden) einen schnellen Wechsel zwischen Menu und normaler Anzeige. Das Script hängt dann.


Allerdings habe ich auch die Möglichkeit, das Display nach einer einstellbaren Zeit dunkel zu schalten..
Canon Digital Ixus 130, leider noch nicht portiert...
Benutzeravatar
holgi09
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 144
Registriert: 13.06.2008, 08:04
Wohnort: 31xxx
Kamera(s): EOS 10D.

Beitragvon msl » 04.07.2008, 11:15

@ holgi09

Da scheint aber in Deiner Beta-Version die Tastatur-Zuordnung irgentwo zu klemmen. Teste doch mal andere Tasten über den Befehl "click".

Gruß msl
Benutzeravatar
msl
Super-Mod
Super-Mod
 
Beiträge: 4567
Bilder: 271
Registriert: 22.02.2008, 11:47
Wohnort: Leipzig
Kamera(s): A720 1.00c
SX220 1.01a

Beitragvon holgi09 » 04.07.2008, 13:15

Habe jetzt mal mit "menu", "Print" und den unterschiedlichen get_prop Variablen probiert, nix geht.
Irgendwie wiederholt sich die Schleife... Wenn ich die "Display aus" Funktion auf die Print-Taste lege, geht das Display aus, aber gleich wieder an und die Schleife wiederholt sich. Allerdings bei beiden get_prop Variablen....

Edit: So, Rechtschreibfehler korrigiert (recht so, Icebear? ;) )
Zuletzt geändert von holgi09 am 04.07.2008, 15:08, insgesamt 1-mal geändert.
Canon Digital Ixus 130, leider noch nicht portiert...
Benutzeravatar
holgi09
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 144
Registriert: 13.06.2008, 08:04
Wohnort: 31xxx
Kamera(s): EOS 10D.

Beitragvon _c_ » 04.07.2008, 14:07

Mit dem verwendeten Skript scheinen hier die Batterien länger zu halten als mit dem Monitorsteckerdummy - die Kamera wird auch weniger warm.


Grüße
Claudio
A720 IS. CHDK-SVN 0.9.8, revision 765 Bild
_c_
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 88
Registriert: 25.06.2008, 11:59

Beitragvon CHDKLover » 04.07.2008, 14:59

Schön gehtnix,
dein Script funktioniert supi auf meiner A610!!! 8)

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 fotopeter » 04.07.2008, 19:57

Gibt es eine Möglichkeit, dass auch mit einer S5IS hinzukriegen; hier wechselt beim Betätigen der Disp-Taste die Anzeige ja nur zw. Display und Monitor.
[size=75] [b] S5IS, 860IS; EOS350D [/b] 1.1.0.DE[/size]
Benutzeravatar
fotopeter
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 36
Registriert: 14.06.2008, 07:56
Wohnort: Graz

Beitragvon Lipo » 04.07.2008, 22:01

Hallo CHDK Forum

Geniale Software und Tools die ihr schreibt !!!!

Ich habe meine A570 IS jetzt seit drei Wochen, eigentlich sollte sie nur in meinem Modellflieger sitzen und Fotos von oben knipsen.

Bild

Aber Dank der schönen Skripts hier im Forum kann man sie ja auch noch für andere Anwendungen einsetzen.

Ich habe das obige Programm instaliert,läuft super, ich musste nur die get_prop Werte auf 105 ändern.

Danke an alle die ihre Tools hier posten.

Ich hatte das Forum durch die neue PC Praxis Heft 08/08 gefunden, dort ist ein Beitrag über CHDK.

Gruss
Lipo
Benutzeravatar
Lipo
CHDK-Begeisterter
CHDK-Begeisterter
 
Beiträge: 261
Registriert: 04.07.2008, 16:10
Wohnort: Thüringen / Jena

Beitragvon gehtnix » 05.07.2008, 10:31

Hallo,

@Lipo: Sehe ich das richtig das Du vom Start weg dann Fotos machst? Oder löst Du die Kamera unterwegs mit einem Servo aus?

@Fotopeter: Der Fotofrickler hat sich für seine S2 auch was gefrickelt. _C_ hat einen Dummystecker übrig, vieleicht kannst Du den ergattern. Das könnt doch für Dich die Lösung sein.

gruß 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 fotopeter » 05.07.2008, 11:26

danke gehtnix, fummle gerade an einen Dummystecker herum (werd bis Montag wohl ohne Schnürsenkel auskommen müssen) :D
[size=75] [b] S5IS, 860IS; EOS350D [/b] 1.1.0.DE[/size]
Benutzeravatar
fotopeter
CHDK-Einsteiger
CHDK-Einsteiger
 
Beiträge: 36
Registriert: 14.06.2008, 07:56
Wohnort: Graz

Beitragvon fe50 » 05.07.2008, 13:22

Hallo zusammen,
für die IXUS 860 (SD870) Kamera muss das Script modifiziert werden, da bei diesem Modell das Display mit der DISP Taste NICHT abgeschaltet werden kann
(ist das ist evtl. bei allen neueren Ixus - Modellen OHNE optischen Sucher so ?).

Ich habe deshalb mal die PRINT Taste im Canon-Menü mit "LCD Off" belegt und das Script dahingehend modifiziert, dass nur ein langer Tastendruck (1.5 s) auf die PRINT Taste simuliert wird (kurzer Druck würde ja den Alt-Modus umschalten)...läuft bei mir (mit Allbest51) wunderbar.
Die "Reichweite" mit dieser Methode im Vergleich zu den Stromspareinstellungen & der AV-Stecker-Methode muss ich bei Gelegenheit mal austesten...

Hier die Variante für IXUS 860 Benutzer (Nicht vergessen: PRINT-Taste vorher mit LCD OFF belegen !!!):

**EDIT: eine fehlerbereinigte Version (IntoDp4.bas von fotopeter) für die Ixus 860
(und andere Modelle ohne optischen Sucher) ist weiter unten zu finden ! ***


Zu Dokumentationszwecken hier noch das ursprüngliche, tlw. fehlerhafte Script:
@title Intervall-Foto-LCD aus
rem Für Ixus 860 (SD870), ohne Prüfung auf Displaystatus
rem ACHTUNG: die PRINT Taste muss im Canon Menü mit der Funktion "LCD OFF" belegt sein
rem (SD870 ist ohne opt. Sucher, DISP Taste kann LCD nicht abschalten)
@param a Anzahl Bilder (Faktor 100)
@default a 0
@param b Anzahl Bilder (Faktor 10)
@default b 1
@param c Anzahl Bilder (Faktor 1)
@default c 0
@param d Intervall (min)
@default d 0
@param e Intervall (sec)
@default e 1
@param f LCD aus nach x Bildern
@default f 5
rem 105 für DigiC III, ändern in 181 für Digic II Kameras
get_prop 105 x
u=x
t=d*60000+e*1000
if a<0 then let a=0
if b<0 then let b=0
if c<0 then let c=0
if t<1000 then let t=1000
s=a*100+b*10+c
print "Gesamtzeit:", t*s/60000, "min", t*s%60000/1000, "sec"
sleep 1000
print "Bild 1 von", s
shoot
for i=2 to s
if s<=(f*2) then goto "weiter"
if i=(f+1) then
press "print"
sleep 1200
release "print"
endif

if i=(s-f+1) then
do
press "print"
sleep 1200
release "print"
endif
:weiter
print "Warte", d, "min", e, "sec"
sleep t
print "Bild", i, "von", s
shoot
next i
end
Zuletzt geändert von fe50 am 08.07.2008, 23:10, insgesamt 1-mal geändert.
◄"The grass was greener, The light was brighter"►  ◄fe50 home►  ◄TRAIL-Magazin►  ◄RTFM !►
Benutzeravatar
fe50
CHDK-Legende
CHDK-Legende
 
Beiträge: 1106
Registriert: 25.04.2008, 14:28
Wohnort: B'Württemberg
Kamera(s): Ixus50 101b, Ixus860 100c, SX10 101a

Nächste

Zurück zu Code-Ecke

Wer ist online?

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

cron