@title ServoRemote @param f Fotomodus (2,22,23,61,73) @default f 2 @param v videomodus (2,79) @default v 2 rem die von der Kamera unterstuetzen modi angeben! rem in den Aufnahmemodus wechseln set_record 1 set_capture_mode f rem speichert den aktuellen modus bzw. zustamd m = 1 rem speichert die laenge der pause vorm ersten impuls a = 0 rem hauptschleife :loop rem bewahrt die kamera vom sleep-modus if (m = 1) and (a > 1000) then print "keep alive" click "shoot_half" endif rem setzt einen falschen videomodus zurueck w = get_movie_status if (m = 2) and (w <> 4) then print "video stopped autom." gosub "video" endif if (m = 1) and (w = 4) then print "video started autom." gosub "video" endif rem speichert den neuen befehl s = 0 rem pausenzeit zuruecksetzen a = 0 rem misst die laenge des ersten Impulses und der Pause davor do rem ende des scripts if is_pressed "set" then end endif a = a + 1 p = get_usb_power until (p > 0) or (a > 1000) rem wenn die pause nicht zu kurz und nicht zu lang war, haben wir einen neuen ersten impuls if (a >= 10) and (a <= 1000) then rem speichert die laenge der pause vorm zweiten impuls b = 0 rem misst die laenge des zweiten Impulses und der Pause davor do b = b + 1 q = get_usb_power until (q > 0) or (b > 10) rem wenn die pause nicht zu lang war, haben wir einen zweiten impuls if b <= 10 then rem speichert die laenge der pause vorm zweiten impuls c = 0 rem misst die laenge des dritten Impulses und der Pause davor do c = c + 1 r = get_usb_power until (r > 0) or (c > 10) rem wenn die pause nicht zu lang war, haben wir einen dritten impuls if c <= 10 then i = p / 5 j = q / 5 k = r / 5 rem befehl berechnen s = i * 2 + j * 4 + k * 8 rem debugausgabe rem print p"("i")"q"("j")"r"("k") "s rem print a"-"b"-"c endif endif endif rem zum richtigen befehl wechseln select s case 2; gosub "bild" case 4; gosub "video" case 6; gosub "zoomin" case 8; gosub "zoomout" case 10; gosub "add1" case 12; gosub "add2" end_select rem skript beenden, wenn set gedrueckt wurde if is_pressed "set" then end endif rem hauptschleife goto "loop" rem foto machen :bild if m = 1 then print "bild -> shoot" shoot sleep 5000 endif rem wenn noch video laeuft, abbrechen if m = 2 then print "bild -> abort video" gosub "video" endif return rem video start oder stop :video w = get_movie_status if m = 2 then m = 1 if w = 4 then print "video -> stop" click "video" sleep 5000 set_capture_mode f else print "video -> alr. stopped" set_capture_mode f endif else if m = 1 then if w < 2 then m = 2 print "video -> start" set_capture_mode v sleep 500 click "video" sleep 5000 else print "video -> no start" rem click "video" rem sleep 5000 set_capture_mode f endif endif endif return rem zoom in :zoomin print "zoom in" set_zoom_rel 12 return rem zoom out :zoomout print "zoom out" set_zoom_rel -12 return rem freier befehl :add1 print "add1" return rem freier befehl :add2 print "add2" return