Canon Hack Development Kit

from Wikipedia, the free encyclopedia
logo

The Canon Hack Development Kit ( CHDK ) is an independent firmware -Aufsatz for digital compact cameras the Japanese company Canon with DIGIC -II , -III- , -IV , -V or -VI - processor . CHDK is operated as an open source project; the source code and the fully compiled software are available under GNU GPL terms. The software extends the functionality of the digital cameras. The original firmware of the camera is neither replaced nor changed.

Development history

The history of CHDK began in the second half of 2006. The programmer VitalyB was able to analyze an official file for the Ixus firmware update ("update") to the extent that he understood the update procedure. With this knowledge he wrote a program to read out the firmware. The data was sent to one of the camera LEDs and transmitted via optical coupling.

With the findings from the evaluation of the data, a program was written that could save 10-bit RAW files from the PowerShot A610. It was named RAW enabler .

In the next development step, an interpreter for the BASIC dialect uBasic was integrated. This enabled simple scripts to control the camera.

The PowerShot A620, A630 and A710 camera models were included in the project. A histogram display, first options for bracketing, OSD displays and a layout editor for positioning the OSD elements were added as new functions .

From the beginning of 2007, the programmer GrAnd added the display of various camera values, overexposure and underexposure in the histogram, a DOF calculator, a battery display, a file browser , a text display, the organization of the RAW storage and an autostart Function and named the project CHDK .

In September 2007 the programmer MX3 developed a motion detection for the firmware attachment. Another programmer, Fingalo , extended uBasic considerably with a multitude of camera-specific commands. The next eight camera models could use CHDK. Long exposure times and exposure series in series mode followed as new functions.

For the first time, it was possible to successfully adapt DIGIC III cameras with VxWorks and DRYOS operating systems. USB remote control options were created.

At the beginning of 2008, a large number of new functions were added to the ALLBEST version . In mid-2008 the experimental version Juciphox was developed with a whole range of new functions, including: a. the scripting language Lua , to today's standard. The last important innovation was the camera's internal support for DNG files.

Over time, a large community developed that jointly pursues the further development of CHDK. Currently more than 80 camera models of the Ixus and PowerShot series are supported.

Working method

The necessary binary data is copied to the memory card used in the camera. To start CHDK, call the firmware update function in the camera menu to load the data into the camera's main memory. An additional configuration menu can now be called up via the camera button, in which all CHDK settings are organized. If the update function is not carried out, the camera works normally without CHDK.

If necessary, CHDK can also be started automatically when the camera is switched on. To do this, make the memory card bootable and set the write protection switch to "write-protected".

Function overview

Display with additional display elements of the CHDK

CHDK offers a lot of functions. These can only be summarized here as an overview.

  • Record RAW / DNG images.
  • Fast exposure series with freely adjustable exposure values.
  • Manually adjustable exposure time from 1 / 100,000 s to 65 s (with some cameras the maximum exposure time is unlimited)
  • Manually adjustable focus distance
  • Manually adjustable aperture values / ND filter setting (depending on the camera hardware)
  • Manually determinable ISO values ​​(upper and lower limits depend on the hardware)
  • Adjustable auto ISO values ​​for different tasks
  • Extended adjustable exposure compensation (Ev)
  • Lots of additional information and settings for the ambitious photographer (e.g. depth of field calculator, setting the hyperfocal distance )
  • Multiple exposure and further processing into one image in the camera
  • Advanced video functions ( zooming and focusing while recording)
  • Infinitely adjustable video quality for video recording
  • Tone value curves can be calculated directly in the camera.
  • Contour overlays as an aid for trick shots
  • Remote release using a remote control (DIY)
  • Extended functions through scripts (uBasic and Lua)
    • Bracketing for HDR
    • Time interval recordings for time lapse
    • automatic focus stacking
    • The camera triggers when motion is detected in the image.
    • Time-controlled processes
    • Virtual camera modes and functions that the camera does not support at the factory (e.g. Tv mode for cameras without this mode).
    • Remote control-controlled processes (DIY remote control for USB connection of the camera)
    • File management, creating log files, writing additional information in Exif data
  • Autostart for scripts, enables certain personal presettings when switching on the camera.
  • Live histogram with separate settings for RGB and luminance .
  • Marks areas without image information ("Zebra mode", display of overexposure and underexposure) before taking the picture.
  • Display of the current capacity of the battery and memory card
  • Display of time and sensor temperature
  • Display of own grids for better orientation on the LCD
  • Small additional programs such as calendars, text viewers, file browsers and games
  • All functions can be set using a standardized menu.
  • Personal user menu to summarize the most important functions
  • Personal settings for CHDK OSD elements (color, position) and the CHDK menu (color, character set).
  • Keyboard shortcuts for quick operability of the most important CHDK functions via the camera buttons

Functional delimitation

With the exception of raw data, no other image and video formats than those specified by the camera are possible. CHDK is not suitable as a playback program for various multimedia formats such as. B. MP3 .

variants

In addition to the general international CHDK version, there are other variants.

A version was specially developed for the German-speaking area that contains all the default settings for German user guidance as well as an extended range of script commands. The German CHDK user community has specialized in the use of scripts.

Another variant is called Stereo Data Maker ( SDM ). This is primarily about creating stereo images . SDM supports the synchronization of several cameras, but also includes the essential CHDK functions. SDM has been criticized for not complying with CHDK's license terms.

There are various approaches to equipping single-lens reflex cameras from the Canon EOS digital camera series with additional functions. These developments differ significantly from the CHDK for digital compact cameras. The leading project here is Magic Lantern .

Web links

Individual evidence

  1. CHDK source code
  2. Compiled version
  3. ^ Reason profile