This is a script I developed while working on the
raw shooting hooks.
It is still not really finished, but is usable in many situations.
The basic idea is to shoot rapidly without invoking Canon firmware auto-focus or auto-exposure between shots. The exposure for each subsequent shot is calculated from the previous image data. Shooting is done either using Canon continuous mode with delays inserted to maintain the desired interval, or by simulating holding the shutter button at half press and repeatedly clicking full press. In continuous mode, the script can achieve a frame rate close to the Canon continuous shooting specification.
This script intended for situations where a relatively high frame rate, smooth exposure change and fixed focus are desired. Because exposure is calculated from the raw image data, it performs well in low light but may not perform well in situations where the light changes rapidly. It is well suited for daytime landscapes, clouds, sunsets, sunrises etc.
Wiki page with details:
http://chdk.wikia.com/wiki/Lua/Scripts:_Raw_Meter_Intervalometer
Download the current version from the github releases page:
https://github.com/reyalpchdk/chdkscripts/releases
(also attached to this post)
See the github repo for in-development changes and additional info
https://github.com/reyalpchdk/chdkscripts
Please post bug reports, suggestions and questions in this thread.
If you do something cool with it, posting in
creative uses of CHDK section is encouraged.
Changes for v0.26 - (Mar 8, 2025)
* CHDK 1.5.1 or later required
* ND value and initial ND state now automatically detected for most ports
* ND should work on most cameras in "quick" mode
* Canon RAW/JPEG setting can be set on cameras with native raw support
* JPEG size setting will avoid unsupported values on some propset > 6 cams
* Fixed some cases where some cameras would take an extra shot at script exit
* Removed non-working simulation option
* Fixed bug which caused Ev shift to result in incorrect Bv / Ev shift values, even when Bv / Ev shift was not enabled
* Add meter96_tgt column, records target meter96 with Ev shifts applied
* Add options to control smoothing, based on suggestion by dolomiti_timelapse
https://chdk.setepontos.com/d/12697/170
** Also fixes issue in "Smooth overshoot" logic which caused flickering in some situations
* Convert ev_change to imath so final change values are rounded
* Make log columns consistently refer to the current shot, except for d_ev* which refer to the next shot
* Log limit related values in columns rather than desc. These values are only logged when the corresponding condition is present
** nd_tv_tr = When ND active, amount over ND trigger threshold, negative if hysteresis active, formerly "tv over nd" if positive, "tv nd hist" if negative
** tv_l1 = amount calculated tv is over tv96_short_limit or under tv96_long_limit, formerly "tv over long" if positive, "tv under short" if negative
** tv_sv_tr = Amount of calculated tv moved to ISO due to being over tv96_sv_thresh, formerly "tv iso adj"
** sv_l1 = Amount calculated sv is over sv96_max, formerly "iso over limit"
** sv_tv_tr = Amount of sv over limit put back on tv, formerly "iso over tv"
** bv_ev_l1 - Original calculated bv/ev shift value if over threshold or limit, formerly "bv ev limit", "bv ev thesh"
* Meter position is now adjustable
* Improved support for chdkptp tethered shooting
* "date", "time" columns now refer to the start of the shooting loop, rather than the end. "tick" column removed.
* Focus mode is restored to original value if changed by SD override option.
Changes for v0.25 (May 6, 201😎
* Add workaround to prevent aperture changes on cameras incorrectly defined to have ND even when ND threshold is disabled. Thanks c_joerg for reporting
* Added options to start at a particular clock time
* Added options for zoom and focus distance
Changes for v0.24 (Mar 4, 201😎
* Fixed bug that prevented intervals > ~10 seconds from working. Thanks SkepticaLee for the report.
* Removed "Force initial ND" option. Cameras formerly thought to have a "hidden" ND without detectable state are now known to operate on the aperture. To use ND control on these cameras (not recommended), set the aperture to full open in the Canon firmware. If ND state isn't detected correctly on a camera with manual ND, set it open in the Canon firmware.
Changes for v0.23 (Aug 27, 2017)
* Add support for ND filter control on cameras with both ND and iris.
* Add options "ND value", "Force initial ND" and "ND hysteresis". See option descriptions on the wiki for details and caveats.
Changes for v0.22 (Aug 6, 2017)
* If "ISO Adj Tv" is set longer than "Max Tv", it is now set to "Max Tv", meaning the ISO adjustment will start when shutter adjestment ends. This fixes a bug where the "Max Tv" limit would be ignored. To disable ISO adjustment, set "Target ISO" and "Max ISO" to the same value. Thanks SkepticaLee for the report.
* Add battery temperature to log.
Changes in v0.21 (Apr 2, 2016)
* Fixed a bug that caused exposure to stop increasing when Max ISO was hit, regardless of Max Tv. Thanks udo for the
report.
Changes in v0.20 (Jan 8, 2016)
*Add USB remote trigger option, based on suggestion in
https://chdk.setepontos.com/d/12722
Changes in v0.19
* Added interval warning LED and beep options, suggested by c_joerg in
https://chdk.setepontos.com/d/11081/289
* Changed some defaults. Meter now defaults to 90%, meter step 15.
* Log mode now has options for "none", "replace" and "append", defaults to append.
* Fix delay on script exit reported by c_joerg in
https://chdk.setepontos.com/d/11081/285