CHDK/HDK firmware usage

Text-only Version (needs updating, it's a few versions old) Save as a Help File on your SD card. Includes a highly legible RBF font for your File Reader.

= HDK firmware Usage =

{| border="0"
 * width="380" valign="top"|
 * valign="top"|


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

HDK firmware splash screen

 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

 mode
 mode will disable your normal camera buttons and will give them an alternative meaning. This mode is normally off! You only need it for the main configuration menu, starting a script and other shortcuts.

How to activate  mode:
 * A-series: press the button
 * S2 & S3 IS: press the  mode button as selected in Miscellaneous Stuff. In the Miscellaneous menu you may select from any of the following buttons to enter  mode: *,, , , or . To enter  mode press your chosen button for a short moment. To use the button's original function, press and hold the button slightly longer. (Note: this was done to prevent the original  mode button from always interfering with your camera's Shortcut option. Making this adaptable to anyone's preferred method.)
 * * Default button


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

Main menu
To show the main menu press button in  mode. To go back to the previous menu from a submenu you can use button.

Settings you have changed will be autosaved when you leave the main menu. They will not be saved when you just power off the cam without leaving the main menu before.


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

RAW parameters menu

 * Save RAW
 * Save RAW-files while shooting. This option is also adjustable through  + shortcut. (For the Powershot S-series, use  +  (function button) to toggle the saving of RAW files on and off. See here.) When a RAW file is saved, on A-series cams the blue light in the  button will blink once and on the S-series the orange light on top will blink once. Here is a short explanation how to process RAW files on your computer.


 * After dark frame substract
 * Camera on long exposures takes the second "dark" shoot which is substracted from the actual picture. So, by now, only first RAW (before dark frame substraction) was saved. On short exposures it does not matter because there is no dark frame substraction performed. But on long exposures it leads to noisy RAW with lots of hot pixels. Camera uses RAW with dark frame substracted as a source for its JPEG. If this new option is activated, the second RAW (with dark frame substracted), which has less noise, will overwrite the first one. But on the other hand it can lead to E16 error again. Use this option if it works for you. If you get E16 errors, deactivate it.


 * Only first RAW in series
 * Changes the behaviour of RAW saving in continuous shooting mode. When activated you will only get one RAW file, but the following shots will be faster since there is no RAW writing time delay for them.


 * RAW file in dir with JPEG
 * Save RAW-files in the same folder as the JPEG-files. If switched off, RAW-files are always saved in 100CANON folder.


 * RAW file prefix
 * Prefix of RAW-file name.


 * RAW file extention
 * File extension of RAW-file.


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

On screen display

 * Show OSD
 * Show OSD elements or not. There's a shortcut available to toggle this on/off quickly: +.


 * Show RAW/SCR/EXP state
 * Show status:
 * RAW - Saving of RAW-files is enabled.
 * SCR - Script is running.
 * EXP - Over or Under exposure is detected.


 * Show misc values
 * Show values:
 * Z: - Zoom position
 * F: - Focus distance in meters
 * Av: - Aperture value


 * Zoom value
 * Decides how the Zoom position (Z) is displayed when "show misc values" is active.
 * X - zoom step number/magnification
 * FL - actual focal length
 * EFL - 35mm equivalent focal length


 * Show DOF calculator
 * Display a Depth-of-Field and Hyperfocal distance calculation when pressing the shutter button. (Unit: meters)
 * R1: - nearest distance which will still be in focus
 * R2: - farthest distance which will still be in focus
 * DOF: - distance between these two points
 * HYP: - hyperfocal distance
 * Compare R1 and R2 to the the actual focus distance (F) to see which parts of your picture will still be in focus. Set your focus point (F) to the hyperfocal distance (HYP) and everything from some near distance to infinity will be sharp.
 * OSD layout editor
 * OSD layout editor


 * Battery parameters


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

Layout editor
Allows you to adjust the position of OSD elements on the screen. The following buttons are used:
 * - to switch between elements.
 * - to change the step-size, 1 or 10 pixels, of how far the selected display feature is moved with each direction press, affording precise placement.


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

Battery menu

 * Voltage MAX
 * Set battery voltage for 100% remaining. (Default value: 5150 = 5.150v) If you want a more accurate battery-meter: when inserting new batteries check their full-charge voltage with the 'Show Volts' feature and set this accordingly.


 * Voltage MIN
 * Set battery voltage for 0% remaining. (Default value: 4550 = 4.550v) Increase this value if you want more warning time before your batteries run out.


 * 25+ step
 * Change increment step for inputting new voltages (above).


 * Show percent
 * Show Battery Charge in Percentage, 100% >> 0%


 * Show volts
 * Show Battery Charge in Volts (in .001 volt increments)


 * Show icon
 * Display Battery Charge Icon (icon turns red when voltage is low.)


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

Histogram menu

 * Show live histogram
 * Enable display of Live Histogram. There's also a shortcut available to toggle this on/off quickly: +. The Histogram will be shown when you half press the button in Rec mode or Playback mode. (Explanation of histograms and how to interpret them. Another good 2-part tutorial on histograms: Tones & Contrast and Luminance (Y) & Color (RGB) Histograms.)


 * Histogram layout
 * Select one of the 7 Histogram styles that you want to display.


 * RGB - Red Green Blue
 * Y - Luminance
 * Histogram mode
 * Histogram graph scale:
 * linear
 * logarithmic


 * Show histogram over/under EXP
 * Displays small warning diamonds in histogram window, and EXP is displayed (when enabled), when there's under or over-exposure.


 * Ignore boundary peaks
 * Does not take into account N boundary values during the normalization (scaling) of histogram. For example, if there are overexposure and/or underexposure, left and/or right peaks become large, and the remaining part of the histogram degenerates into thin strip on the bottom during normalization process. The purpose of this parameter is to avoid such situations by not taking into account the specified number of boundary values.


 * Auto magnify
 * Provides auto-magnification of the histogram Y-axis data in the event that the current plot covers less than 20% of the histogram plot area. The magnification factor changes dynamically so as to get at least 20% fill, facilitating visual inspection of the histogram. Clipped peaks are markered in red color at the top. A number above the histogram shows the current magnification factor.
 * Note: The scaling of the histogram plot applies only to the Y-axis (vertical) direction.


 * width="380" valign="top"|
 * valign="top"|
 * valign="top"|

Live histogram example

 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

Zebra parameters

 * Zebra mode is a screen overlay which points out very bright/very dark areas. You can use it like the histogram to avoid over-/underexposure. It is shown in playback mode and record mode when you half press the [shoot] button. You can change the colors of the overlay in the "visual settings" menu.


 * Draw Zebra
 * Activates Zebra mode. There's a shortcut available to toggle this on/off quickly: +.


 * Zebra mode
 * Choose the Zebra mode style.
 * Zebra 1-2 - Draws moving, non-blinking zebra lines. 1 = thin zebra-stripes, 2 = thick zebra-stripes
 * Blink 1-3 - Draws solid, blinking parts. It will show the normal OSD elements during the pauses of the zebra overlay. 1, 2, and 3 = number or seconds between blinks.
 * Solid - Draws all light/dark parts of the image in a solid, non-blinking way.


 * Draw UnderExposure
 * Choose the amount of underexposure to be shown.
 * 0 = off
 * 1 = show only pure black as underexposed
 * Numbers larger than 1 = show parts which are increasingly brighter as underexposed.


 * Draw OverExposure
 * Choose the amount of overexposure to be shown. Again: larger numbers = show more areas as overexposed.


 * Restore original screen
 * Restores the original camera icons and exposure information between Zebra mode blinks (when Zebra mode is set to blink).


 * Restore OSD
 * Restores CHDK's OSD icons and display information (DOF calc, Histogram, etc.) between Zebra mode blinks.


 * Draw over zebra


 * Nothing
 * Histo
 * OSD


 * Enable/disable display of Histogram or OSD-elements while Zebra mode is also being displayed.


 * Note: Normally if one of the Blink modes is in use and Restore OSD is enabled, you'll only see the histogram during part of the blink-cycle (when the Zebra mode is not visible). These option allow the histogram and OSD elements to be displayed at all times when Zebra mode is also visible -- during the usual half-shutter press, of course.


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

Script menu

 * HDK allows you to automate your camera by running "scripts", small and simple programs written in a short-hand version of BASIC. To run a script you load one into memory. Anytime you are in  mode your script is available for use. While  is displayed on your screen, you just press the shutter button. You may interrupt and exit a running script by just pressing the shutter button again. You may also pause a script just by exiting  mode, the script resuming right where it left off when you re-enter  mode. (This may come in handy if you need to change some settings in mid-script.) See this page for further information on writing scripts: Scripting Language.
 * There's a shortcut available for the "Script parameters" menu:  +.


 * Load script from file...
 * Upload a new file script from your /SCRIPTS/ folder.


 * Script shoot delay (.1s)
 * A small time-delay after a shot is taken, before the next command in the script is executed. You may need to increase this to get some scripts to run properly. Or lower it to speed them up if the script will allow for it. If you can't get a script to run it is most likely this setting that is preventing it from working properly.


 * Current script
 * The name of the current script you are running.


 * Script parameters
 * Change any variables related to the script you are running. These values remain in memory until you change them. When running a new script be sure to set new values accordingly.


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

Script mini-console

 * This text is displayed as you run a script. Defined in the script itself by the "print ..." commands. A well-written script will have helpful messages to let the user know what is taking place while it is running or when special instructions are needed.


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

Visual settings menu

 * Language
 * Lets you choose another language if you put the appropriate .lng-file in the LANG/ folder of your SD card.


 * OSD codepage
 * Choose the Codepage.


 * Menu RBF font
 * Choose another font (RBF format) for the CHDK menus. If you have chosen a RBF font but want to switch back to the original built-in font, just choose an "illegal" RBF font (Try to load a uBASIC script as a RBF font, for example).


 * Colors
 * Change any of the display colors for all your text and icons. If you don't change them they will remain as their defaults. There are opaque colors and transparent colors, and also some "special effect" colors. Note that record mode and playback mode use different color tables. So it may happen that you pick a nice color in playback mode, and in rec mode it will look totally different. But there are also colors which will stay the same in both modes. Some examples for A-series cams: 0x11(white), 0xFF(black), 0x22(red), 0x55(green), 0x44(transparent light grey)


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

Misc
Fun and helpful things you can do or use.
 * File browser
 * See what files are on your SD card.


 * Calendar
 * A handy perpetual calendar to look up dates.


 * Text file reader:
 * Read any text file on your SD card. Make a sub-directory called /BOOKS/ and put something there to read on vacation.


 * Games
 * Reversi, Sokoban


 * Flash-light
 * Turns your LCD panel into a flashlight! When in Record Mode and the LCD panel is swiveled facing forward, the LCD display turns all-white so you can see your way around in the dark, or to illuminate some close object to photograph. (Note: In actual use this does not work for photography purposes. The LCD turns dark during the actual exposure. But if you are ever lost on a hiking-trail on some dark and gloomy night, won't you be glad that your camera might save you? :-) )


 * Show splash screen on load
 * Shows a splash-screen that the HDK Firmware is loading, for 2.5 seconds.


 * Use zoom buttons for MF
 * Use the zoom-rocker switch for adjusting focus in manual focus mode.
 * A-series: When activated, you can't zoom in manual focus mode.
 * S-series: Holding down the MF button (while in manual focus mode) allows use of the zoom-rocker for manual focus just as if you were using the and  buttons to focus. Releasing the MF button allows the zoom-rocker to function normally.


 * Disable LCD off
 * Suppresses the energy-saving function in  mode. This means that your LCD screen will stay on permanently instead of turning itself off after some time.


 * <ALT> mode button
 * (S2 IS and S3 IS only)
 * Select which button is used to enter <ALT> mode. Can be, , , or . A short press of your selected button enters/exits <ALT> mode, a slightly longer press to use the button's normal function.


 * Draw palette
 * Show current palette


 * Show build info
 * Show current build of HDK


 * Show memory info
 * Free memory available.


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

Calendar
Shortcuts:
 * , - change a year
 * , - change a month


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

Build info

 * Date of build.
 * Time of build.
 * Camera model.
 * Version of original firmware.


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

Memory information

 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

File browser

 * Allows to navigate on SD-card using arrows keys. To page up/down you can use zoom lever. Also, you can delete files and directories by pressing button.


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

File deleting

 * This is particularly handy if you are shooting RAW files and using a filename extension other than .JPG for your RAW files. The camera does not recognize nor display RAW files directly. Deleting images from your SD card with the button or the [Erase All] menu options will have no effect on the RAW files you have shot. If you need to delete RAW files you can use the 'File browser' and 'File deleting' feature. You can also delete whole non-empty directories, as long as they don't contain any subdirectories.


 * width="380" valign="top"|
 * valign="top"|
 * valign="top"|

Palette browser

 * Can be used to test the colors and transparencies for use with menus, icons, and fonts. Or you can just enjoy all the pretty colors. Are you having a bad day? Choose a rose-colored transparency and view your world a better way. :-) Some of the subtle transparent colors have an interesting shift on the real-world view, acting like special-effects filters. Perhaps future updates of HDK might make use of this? (Your own extensive special-effects filter library.) Note that color palettes are different for rec mode and playback mode, see here.


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

Text Reader menu

 * Open new file...
 * Open a new file on your SD card.


 * Open last opened file
 * Opens the last file you were reading.


 * Select RBF font
 * Select the font (the default location opens a /FONTS/ folder off the root-directory of your SD card). You can download fonts here or add you own fonts using RBF Editor. Hint: If you have many fonts in many sizes and attributes, put all the files of the same font in sub-folder named for that font. Then you can just open each font's folder to select a new size, instead of tediously scrolling through dozens and dozens of fonts in all their sizes and attributes. A real time-saver to help in selecting the most legible font.


 * Codepage Win1251<->DOS
 * Text Encoding (to enable viewing of Windows or DOS text-file formats)


 * Wrap by words
 * Changes the automatic word wrapping behaviour. When activated, the text reader tries to keep the words intact.


 * Enable autoscroll
 * Automatically scrolls your Text Reader display according to the Autoscroll Delay setting.


 * Autoscroll delay (sec)
 * Time in seconds to pause between each Text Reader screen when Autoscroll is enabled.


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

Text reader
When exiting it memorizes the last-viewed position of the text, setting a bookmark. This does not work when you just power off the cam - you have to exit the reader and the CHDK menu before. When using the "Open last opened file" option your viewing will resume right where you left off. This bookmark is discarded when loading a new/different file. You can use / and / and for navigation in the text reader. You can use the button to pause autoscroll if it is enabled.


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

Game: Reversi
The following buttons are used:
 * Arrow buttons - move cursor
 * - make a move
 * - start new game
 * - show 'about' info


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

Game: Sokoban
The following buttons are used:
 * Arrow buttons - move
 * - choose level (Moves counter should be 0).
 * - restart current level
 * - show 'about' info
 * - undo/redo moves
 * Rules --
 * You are the Green Worker-Dot
 * You have to push your orange boxes and leave them on blue destinations. When an orange crate is placed on a blue destination it will turn yellow. When all your boxes are on a destination spot and have turned yellow you have won that round. Level 1 requires 108 moves. Level 2 requires 107 moves. Can you do it? There's 116 games/levels. (Just in case you are curious, level 116 requires 207 moves.)


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

Debug menu
Most options here are used by program developers to view internal memory locations in the camera or code (List of known Property Cases). However, there is one interesting and one very important option here for the end-user: Benchmark
 * Tests the speed of the camera and - more interestingly - the read/write speed of the SD card.
 * Write (RAW) - calculating the speed of saving a data from the address of memory wich contain RAW-image. It saves whole RAW-file size in single chunk.
 * Write (Mem) - the same as above, but the source of a data is just regular memory of the camera (from first 32M address space).
 * Write (64k) - the same as above, but writing a file by small 64Kb chunks.

Make card bootable...
 * Enable an auto-loading feature for the CHDK firmware add-on. See this section "How to make HDK Firmware Load Automatically" in the FAQ section.


 * width="380" valign="top"|
 * width="380" valign="top"|
 * valign="top"|

Reset options
Reset all HDK settings to default.


 * }