This script save and rewrite all configuration data from config.c. You can save 10 different configurations.

...But that's the best part about CHDK scripting - if you don't like how it works or need an additional feature - change it! I think reyalp deserves a lot of credit for holding the line on limiting "built-in" functionality. We don't have a lot of application code that can't be changed by the end users (especially as we have a real programming language in Lua rather than just a script language in uBASIC).

This is the same reason that CHDK is not more popular and more widely used. There are few new features to attract budding users. Many will be put off by the coding requirements to compose LUA scripts. Not many photogs are also coders, I suspect. They may have heard of Magic Lantern, but will be disappointed by CHDK indifference to go-fast features. Thus active users on these boards are few and interests are mainly linked to coding and disassembly rather than hand held picture taking. To take the CHDK strategy to its logical conclusion why not disable all features in the firmware and re-enable them solely via scripting?

I split this since it off topic for the specific script that thread was about.

A few comments

I would like to see CHDK be more useful out of the box for general photography. Code contributions are welcome.

Feature suggestions are also welcome, but realistically major features require a programmer to commit a significant amount of time. Ideas are not in short supply.

The people who contribute to CHDK do it on their own time, so they get to pick what they work on.

The way CHDK is built makes it difficult to add features that are intuitive, convenient, and work reliably on many the cameras. I have no interest in adding a bunch of half baked features that don't really work or are impractical to use.

Scripting isn't for everyone, but that's OK. IMO, giving people the building blocks to build interesting things is one of the great values of CHDK. Being useful for timelapses and UAVs and multicam rigs and so on is no less valid than being useful for snapshots.

Scripts benefit people without programming skills too. For an end user, there doesn't need to be much difference between using a well written, portable script than a built in feature.

This is the same reason that CHDK is not more popular and more widely used. There are few new features to attract budding users. Many will be put off by the coding requirements to compose LUA scripts. Not many photogs are also coders, I suspect. They may have heard of Magic Lantern, but will be disappointed by CHDK indifference to go-fast features. Thus active users on these boards are few and interests are mainly linked to coding and disassembly rather than hand held picture taking. To take the CHDK strategy to its logical conclusion why not disable all features in the firmware and re-enable them solely via scripting?

I'd venture to suggest that any falloff in interest in CHDK is more related to the decline and disappearance of point&shoot cameras like the Canon Powershots. Blame it on mobile phone camera technology, which has become very capable. The only place mobile phones can't compete is against high end Powershots like the newest of the G series or the SX superzooms. And most of those high end cameras now incorporate the features that were originally only available to the common user by using CHDK.

Reading this thread, I think that maybe it's time to share something that I've been working on for the last year or so. Kind of a part time project but I'd be interested in any feedback.

This project stems from my recurring concern that CHDK is about photography and yet it doesn't really assist much with the most common aspect of just taking pictures. I think this is also part of what hwntw started this thread for.

As it happens, I have make a couple of critical observations over the years here.

My first observation has been that the CHDK <ALT> screen is a huge waste of screen space as it really does not let you do anything other than load the CHDK menu, go to the Script menu, or start the current script running. EDIT : forgot to mention that the user menu can open or you can have a script run on entry to <ALT>

My second observation has been that using CHDK to control exposure is extremely primitive. There is no real M mode as while you can override Tv, Av, or Sv individually, CHDK leaves the other parameters under Canon control. And Tv or Av priority modes are also missing.

So I've created an updated CHDK UI of sorts. Naturally it's not really pretty - CHDK screen drawing has it's limits. But it does let you use the <ALT> mode screen to set a shooting mode (camera default, Tv priority, Av Proirity, M), pick exposure parameters, load a script, or enable/disable RAW/DNG, Histogram, Zebra, Edge Overlay. All from the <ALT> screen without navigating the huge and intimidating CHDK Menu structure.

The GUI works with just the up/down/left/right arrow keys and the Func/Set key so should work on every Powershot. The yellow box in the attached images is the "cursor". You move to what you want to change, click Func/Set, and then use the up/down keys to change that value. Pressing Func/Set again sets the value and returns you to cursor mode. And you can change the current script by navigating to that field and clicking Func/Set to bring up the script menu (by default the GUI starts the cursor there so pressing Func/Set on entry to <ALT> works like before).

Currently it's configurable so that it can be disabled or loaded via a specified key or simply when you enter <ALT>. The override values work just like the current menu based ones - except all three are set in anything but Canon mode. I have it setup to allow different "themes" (colors, font sizes, outline boxes, labels, etc) but have not created many standard ones yet.

Rather than try to describe a GUI any further with just words, I can share a patch file with anyone interested (or "on request" build a version for a specific camera & firmware version for anyone not setup to build CHDK from source). You could also try the CHDKplus script, which works the same way but with less features and integration with <ALT> mode.

I think this is an example of something that can be done by a script but might be better as a built-in option - enabled by default so that the newbie to CHDK sees it right away and can use CHDK without learning the ins & outs of the menu system.

This projects fulfills what I want originally wanted CHDK for personally (i.e. full manual exposure control on my simpler Powershots). I'm sure it will hit snags on some models (hello Powershot N touchscreen) but if there is enough interest that can be worked out.

This looks very nice, and I agree would be better as a standard feature rather than a script. Trading the obscure shortcuts for on-screen control of raw, histogram and zebra would definitely help usability.

Thanks.

Every couple of weeks I start working on this again but the number of cool things that can be done usually overwhelms me. Some are simple and some more complicated. Things like :

exposure meter

eV adjust

user configurable choice for the shutter button to either launch the current script or shoot while in <ALT> mode

user configurable choice of available shortcuts (rather then just the four I picked - enable/disable USB remote or Custom Auto/ISO for example)

themes

outline boxes

an AutoISO mode based on the one in kap_uav.lua

non-ALT mode OSD

non-ALT mode exposure adjustment (on the very hard end of things)

use the Tv,Av,Sv values found in each camera's shooting.c file aperture_sizes_table[ ], shutter_speeds_table[ ], iso_table[ ]

Yup. There are 543 entries in that thread, and while we didn’t solve all the issues raised in the first post, we did make some substantial improvements. And much of the stuff we didn’t get to is coming back now.

In fact, I actually originally started calling my most recent effort UI3.0 but then I switched to “CHDK Simple Mode”. I might change that again to AltGui - haven’t decided yet.