If you really-really need 1 shoot per second or even higher fps you can just record a movie, then, on PC, convert it into separated frames, take every n-th frame (n depends on recorded movie and the desired fps) and convert them back into a movie. Walk around, but works!

sleep(a*1000 - (get_tick_count() - start))until ( false )Why that script can't keep up with anything lower than 5 seconds even though this camera can take one DNG every 2 seconds? I would like to have reliable interval shooting for 3-4 seconds because 5+ seconds is sometimes too high. This script is same as comes with CHDK, but I had to replace shoot() because the default script does nothing, if I lock AE via Canon's UI.

Weird thing is that when I don't use AEL from Canon's UI, the script actually performs better like taking about 6 shots with 3 seconds interval, then one with 6 seconds interval, etc. Screen is filled with black pixels between shots and it stays black longer with AEL lock. I have disabled review time.

When camera is taking shots with this script, the light blink red and orange/yellow

press("shoot_full")while(true)do sleep(1000) endbut with those interval scripts, it only blink red. I wonder what causes the delays between shots with those interval scripts, if the camera actually could do 3 seconds interval somehow?

EDIT

It seems that this script can keep up with 3 seconds interval. I took about 60 shots and every of them stayed in 3 seconds delay. I used cell phone stopwatch (crude way ) to measure it.

sleep(a*1000 - (get_tick_count() - start))until ( false )press("shoot_half") works with click("shoot_full_only"), but it doesn't work with click("shoot_full") when talking about 3 seconds interval and using AEL from Canon's UI. Basically I just removed release("shoot_half") and moved press("shoot_half") out of the loop.

press("shoot_half")repeat sleep(10) until get_shooting()repeat click("shoot_full_only") sleep(3000) -- or whatever interval you wantuntil falseYou can see what's happening, without CHDK, by holding the shutter down half way, then repeatedly pressing it all the way down, then releasing it half way. You can only go so fast until is starts missing pictures.

To take pictures at night, i.e. with long exposures, the best way is just to hold shoot_full in continuous mode, as you discovered. You can set the exposure manually, or with the CHDK overrides in the menu, and just do:

press("shoot_full")repeat until falseI always use sleep(10) in wait loops, since 10 msec is the minimum sleep time possible. A longer sleep time just delays the exit from the wait loop by a random amount.