rem Sevenup by gehtnix 11.08.2011 rem vielfältiges Intervall Skript - unbedingt PDF lesen @title Sevenup @param a Anzahl Bilder (Faktor 100) @default a 0 @param b Anzahl Bilder (Faktor 10) @default b 1 @param d Intervall (min) @default d 0 @param e Intervall (sec) @default e 10 @param f Bild-Kompression (0,1,2) @default f 1 @param g Bild-Pixel (0,1,2,4,6,8) @default g 2 @param i LCD aus nach x Bildern @default i 2 @param o Sucherkamera 0=ja 1=nein @default o 0 @param c Suchbereich von HYP in % @default c 10 @param p Sleep f. Backlight (x10ms) @default p 35 @param h Zoom 0=aus 1=ein @default h 0 @param j AkkuStop bei mV @default j 4560 @param m AkkuStop 0=aus 1=ein @default m 0 @param q Bearbeitungszeit 1/100 @default q 6 @param x Start um x Uhr @default x 12 @param y Start um x Minuten @default y 30 @param w Start-Timer 0=aus 1=ein @default w 0 @param v Nachtfaktor (Intervall x) @default v 6 @param z Beginn Nachtfaktor (Std.) @default z 22 @param n Ende Nachtfaktor (Std.) @default n 6 @param r USB-Taster 0=aus 1=ein @default r 0 @param l AF-Lock 0=aus 1=ein 2=Hyper @default l 0 if m=0 then j=0 cls L=get_quality M=get_resolution set_quality f set_resolution g rem --- setzt bei Start-Timer LCD auf 0 if w=1 and o=1 then i=0 rem --- minimale Kamerazeit Q=1000+(q*100) rem --- Werte für USB-Taster Y=15 O=50 rem --- Menü für USB-Taster if r=1 then while 1 cls print "****** MENÜ ******" print "Kurz = Einzelfoto" print "Lang = Intervall" print "Länger = Exit Alt" gosub "taster" cls select P case 0 to Y; gosub "einzelfoto" case Y to O; gosub "intervall" case_else goto "restore" end_select wend else gosub "intervall" endif set_aflock 0 exit_alt end :einzelfoto do print "************************" print " Kurz = Foto" if h=1 then print " Lang = Zoom" print " Länger = zum Menü" gosub "taster" cls if PY and h=1 then gosub "zoom" P=0 shoot endif if P0 then shoot until P>O cls return :intervall if h=1 then gosub "zoom" X=get_display_mode U=X rem --- stückzahl S=a*100+b*10 if i=0 then i=S rem --- intervall T=d*60000+e*1000 if a<0 then a=0 if b<0 then b=0 if T<1000 then T=1000 rem --- Startzeit A=(x*3600)+(y*60) B=get_day_seconds rem --- über Nacht + Sleepzeit if w=1 then if (A-B)<0 then A=A+86400 H=(A-B)*1000 endif if T<=Q and w=1 then I=A+(S*Q/1000) if T<=Q and w=0 then I=B+(S*Q/1000) if T>Q and w=1 then I=A+(S*T/1000) if T>Q and w=0 then I=B+(S*T/1000) gosub "stunde" if D>24 then D=D-24 print "************************" print "Fotoanzahl:", S if T<=Q then print "Gesamtzeit:",(d*60000+Q)*S/60000,"min", (d*60000+Q)*S%60000/1000,"sec" print "Fertig um :",D,":",E, " Uhr" else print "Fotozeit :",T*S/60000,"min", T*S%60000/1000,"s" print "Fertig um :",D,":",E,"Uhr" endif sleep 3000 rem --- Wartezeit größer 6 Std. I=H/1000 gosub "stunde" if D<=6 then goto "sprung4" cls print "************************" print "* ACHTUNG ! *" if D>9 then print "* Wartezeit > ",D,"Std. *" else print "* Wartezeit > ",D," Std. *" endif if r=0 then print "* >>> = Weiter *" print "* Set = Stop *" else print "* Lang = Weiter *" print "* Länger = Stop *" endif gosub "taster" if PY then goto "sprung4" if P>O or P0 then goto "restore" if x=get_time 2 then if y=get_time 1 then if 59=get_time 0 then N=1 endif endif until N=1 endif N=get_tick_count rem ----------- Intervall select T case 0 to Q; R=0 case_else R=T end_select rem v=Nachtfaktor if v=0 then v=(24-z+n)*60*60*1000 else v=R*v endif for J=1 to S if get_vbatt0 then goto "restore" next K gosub "dispein" goto "sprung5" endif endif print "Warte", d, "min", e, "sec" if o=1 and J>=i and J<(S-i) then sleep p*10 set_backlight 0 endif select get_time 2 case n to z-1; Z=R case_else Z=v end_select N=N+Z do P=get_usb_power if P>0 then goto "restore" until get_tick_count>=N if o=0 and J>=(S-i) then gosub "dispein" next J return :zoom cls print "************************" if r=1 then print "* Kurz = Zoom in *" print "* Lang = Zoom out *" print "* Länger = Fertig *" else print "* <<< = Zoom in *" print "* >>> = Zoom out *" print "* SET = Fertig *" endif do gosub "taster" select P case 0 to Y; click "zoom_in" case Y to O; click "zoom_out" case O to 500; goto "sprung1" end_select sleep 500 :sprung1 until P>O cls return :taster P=0 if r=0 then gosub "ohnetaster" else do P=get_usb_power until P>0 endif return :ohnetaster :wait wait_click is_key k "left" if k=1 then P=Y/2 if k=1 then goto "sprung3" is_key k "right" if k=1 then P=((O-Y)/2)+Y if k=1 then goto "sprung3" is_key k "set" if k=1 then P=O+10 if k=1 then goto "sprung3" goto "wait" :sprung3 k=0 return :stunde B=I C=B/60 D=C/60 E=C-(D*60) F=B-(C*60) if F>25 then E=E+1 return :restore cls print "************************" print "Benutzerabbruch" :sprung5 set_quality L set_resolution M set_raw 0 set_aflock 0 gosub "dispein" exit_alt end :dispaus do click "display" sleep p U=get_display_mode until (U=2 or U=3) return :dispein do click "display" sleep p U=get_display_mode until U=X return :Akkustop gosub "dispein" cls print "Akku mit zu wenig Strom" print "oder zu wenig SD-Platz " print " Schalte Kamera aus. " goto "sprung5" return :hyperfocal press "shoot_half" do until get_shooting=1 u=get_hyp_dist release "shoot_half" do until get_shooting=0 cls print "" print "HYP bei ",u/1000","(u%1000)/10"m" print "" sleep 3000 if get_nd_present=0 then goto "sprung2" set_focus u set_aflock 1 goto "sprung6" :sprung2 :neufok a=0 gosub "aflock" W=get_focus if W=-1 then W=65535 cls if W<(u-(u*c/100)) then print "****** MENÜ ******" print "" print "* Weiter weg um "(u-W)/10,"cm *" print "" print " V V V V V V V V V V V V" sleep 3000 a=1 endif if W>(u+(u*c/100)) then print "****** MENÜ ******" print " /\ /\ /\ /\ /\ /\ /\ /\" print "" print "* Näher ran um "(W-u)/10,"cm *" print "" sleep 3000 a=1 endif cls if a=1 then goto "neufok" :sprung6 print "*Der HYP ist eingestellt*" print "* Auf Motiv ausrichten *" print "*** Weiter mit SET ***" wait_click is_key k "set" if k=1 then cls return :aflock set_aflock 0 press "shoot_half" do until get_shooting=1 set_aflock 1 release "shoot_half" do until get_shooting=0 return