Well I went back to the ticks counter, is working well now without playing games with 'real time'. Too steep a learning curve grok camera stuff as well as learn Lua
Now I'm using get_prop for some camera features, these should be 'get_some_feature' some time to hide the property number and to work across different cams? With a590 reliably using digic III's:
6 - focus mode 0, 1, 3, 4, 5 - normal, macro, infinity, manual, super-macro(sx10)
115 - camera ready 0, 1 - no, yes (indicates camera is focused, for fast autofocus or manual focus set)
Still need a590 LED control, shut_down doesn't... Dunno where to start looking for these.
Cheers!
Since there are two main sets of property cases (digic II and digic III/IV) you can handle this with get_propset and then use variables to store the propcase numbers. If you run out of ubasic variables, it's time to go to lua anyway
On the other hand adding more and more commands makes CHDK bigger and the script languages slower... for propcases we have a clean and portable way in Lua using CHDK/LUALIB/propcase.lua. If a useful property doesn't exist in the generated files, it needs to be added to svn.
The trivial wrappers needed to add stuff like this isn't a big deal, but I'd agree that functions that just set a propcase should just use the propcase functions (and conditionals as above if needed).