UBASIC/Scripts: A fast "intervalometer"
From CHDK Wiki
[edit] A fast "intervalometer"
- Written for/on: S3, using CHDK v148
- Also works on: unknown (probably all)
by Divalent. 9/30/2007
SCRIPT DESCRIPTION:
This "intervalometer" is not really an intervalometer per se, it's just a program that will allow you to execute the continual mode for acquiring images as fast as possible when your purpose is to generate a time lapse sequence to create a movie. For that purpose, you typically want the camera mounted on a tripod, and don't want to have to have your finger on the shutter button. Thus, you minimize movement of the camera.
This script allows you to start image acquisition with the touch of one button (specifically, one of the 4 directional buttons on the camera), and it will end either when a specified time expires, or if you hit another button on the camera.
The continual mode allows you collect images at the fastest possible rate, typically 2.4 fps (0.42 sec per image) under optimal conditions, whereas with an intervalometer script the best you can do is about 1.5 sec per image.
NOTE: when using this Script, you must first place the camera in continual mode (on an S3, you do that by hitting the timer button once, if it wasn't in that mode to begin with).
One tradeoff to note is that the continual mode does not re-adjust the exposure (or focus, if not using MF) prior to each shot. Instead, (and unlike the true intervalometer scripts) each image is acquired using whatever was determined to be appropriate for the first shot.
Also, this script might be useful for lightning shots. [See the Lightning script submitted by Keoeeit (now labeled superceded) for information on (among other things) disabling the dark frame subtraction.]
Documentation/Help There is none: if you want, cut and paste the above text and save it as a small "fast_intv.txt" file to your /CHDK/SCRIPTS/ folder.
Script Code (save as "fast_intv.bas" to your /CHDK/SCRIPTS/ folder)
rem author Divalent
rem camera: S3, CHDK v148, Operating in P mode
rem
rem Save this file as "fast_intv.bas" in the SCRIPTS directory
rem
rem This version uses the continuous mode in an S3 for taking consecutive
rem images rem as fast as the camera can shoot them (on my camera,
rem about 2.4 FPS, or ~420 msecs apart).
rem
rem NOTE: unlike a slower intervalometer script, there is NO refocussing
rem nor any exposure readjustment between images. What you get is what you
rem start with. 2 secs is allowed before the start to focus and set
rem the exposure.
rem
rem To use, you must set the camera into continuous mode. This script will
rem then just keep it shooting until any button is pressed on the camera or
rem until the user specifed duration is up.
rem
@title Fast Intervalometer
@param m duration of sequence (Min)
@default m 0
@param d duration of sequence (sec)
@default d 10
rem
rem validate duration value
d=m*60+d
if d<2 then d=2
rem now convert to msec (for waitclick timeout)
d=d*1000
:loopa
rem clear key queue
wait_click 100
print " "
print " "
print " "
print "Fast Intervalometer"
print "R U in Continual Mode?"
print "any ARROW key -> start"
print " SET key -> ABORT"
rem
wait_click
is_key k "left"
if k=1 then goto "start_shooting"
is_key k "right"
if k=1 then goto "start_shooting"
is_key k "up"
if k=1 then goto "start_shooting"
is_key k "down"
if k=1 then goto "start_shooting"
is_key k "set"
if k=1 then goto "abort_script"
rem
goto "loopa"
rem
:start_shooting
rem first get camera to lock in focus and exposure
press "shoot_half"
sleep 500
print " "
print "Shooting continually!!"
print " **** "
print "Hit ANY key to END"
rem
sleep 1500
press "shoot_full"
sleep 1000
wait_click d
release "shoot_full"
sleep 100
release "shoot_half"
rem is above needed?
print " "
print " "
print "**** FINISHED ****"
print " "
goto "prog_end"
:abort_script
print " "
print "**** ABORTED ****"
:prog_end
end
