ACTUALLY....
Thank you for pointing this out. I'm going to do the
exact opposite of what you want. Now, I want to change the defaults so people cannot easily/accidentally do this. It used to be that ML and even CHDK were only used by a few hundred geeks; most casual users and pros who can't afford downtime get a bit fearful when the disclaimer says that not only can it brick your camera, hey this beta can even brick your SD card (and we don't know why!)" :^)
I am going to modify the intervalometer code so that, if you set an interval less than one minute, then you *MUST* specify a duration.
And if you try to set it to 3s, 2s, 1s, or like crazy, it will require you to click a "yes I'm sure!", a separate menu choice.
(and further, it will write an
immutable file at the top of every 1xxCANON directory that says
00-THIS CAMERA HAS BEEN ABUSED!-00)
As for the code changes you wish to make, yes, it should be trivial to do, although as was said you'll need to refactor some code. ('trivial' as in hard thinking... it still requires the time and effort.) Not
just focusing that will be a limiting factor. Manual Focus only, or pre-focus (ie. you have to have moved focus to the back button and off the main shutter.)
You say you want an
accurate interval though, so you are also going to have to either code some sanity checking for the exposure duration, or just a disclaimer on the menu to remind yourself your exposure is longer than XX the camera cannot keep up. For 3fps you probably want to keep your whole process shutter-to-shutter under 200ms for a reliable interval, Which means nearly any sane exposure will be fine. You should be able to pull off three 1/4s shots in a second. To even the slowest microprocessor, 250mS is like months. (although that 1/4s thing is a guess.) And you know SD card sustained write speed is really going to matter too.
Here. Why not just test it beforehand. Download and install Phil Harvey's
ExifTool Perl script. It's one of the few utilities that exposes the SubSecTimeOriginal EXIF data. Then take a few bursts of images and copy them over, or find a set you know were burst...
find /path/to/your/images -name \*.CR2 -print0 | \
xargs -0 exiftool -T -FileName -ISO -ShutterSpeed -Aperture -SubSecDateTimeOriginal
20131017_IMG_0829.CR2 100 1/640 8.0 2013:03:10 16:17:49.95
20131017_IMG_0830.CR2 100 1/640 8.0 2013:03:10 16:17:50.14
20131017_IMG_0831.CR2 100 1/640 8.0 2013:03:10 16:17:50.33
20131017_IMG_0832.CR2 100 1/640 8.0 2013:03:10 16:17:50.52
base, +19ms, +19ms, +19ms... With a shutter speed of 1.5mS, so it looks like the overhead is very minimal.
(This is on the currently fastest card, 95M/sec Extreme Pro UHS-1 64G, which is waaay beyond the write capability of a 60D.)
(For Windows, using ExifTool is a bit different, you have to rename exiftool to be able to use it from the command line, or you can just drag-n-drop images on it and manually look for the "Date/Time Original" field. (there will be two - one with millisecond data, one without.)You shouldn't have any problems, but please, remember what you are asking. A 3/fps intervalometer is
5400 mirror activations per hour. Luckily the battery will die quickly. And it might shut the camera down, with this duty cycle. So try to not put +100k shutter count on your camera over the weekend. Canon Inc. tolerates CHDK & ML, but if they were to start getting dozens of damaged cameras...
+1 to this, timelapse at higher speed could be extremely useful(and since raw_rec can't go full raw res it's not good enough)
For example when doing focus stacking of objects that move slightly(and so everything must be taken fast)
For your example, unnecessary. Just set it to fire multiple times under Shoot Preferences. Actually there's multiple ways to do this with ML.
Thats great, I think this feature would be very useful for city time lapses.
Is anyone keen to implement it onto a moderately stable build?
Already exists. And from what I tested above, it's already got an extremely repeatable interval. Just set to "like crazy" and it'll fire as fast as it can, as if you are holding down the shutter button.