I don't remember if we tried before for the ISO issue, but have you tried setting the ISO_MODE propcase ?
Nope, we didn't try this at the time. Your suggestion
.props=require'propcase';set_prop(props.ISO_MODE,<your ISO goes here>) does have an interesting effect. For example, booting afresh, if I set ISO via Canon so that the +/- 2 Ev intensity meter in the OSD is centered, and I send a value via your call here, the meter gets affected: I can move the meter up or down by this call. However, liveview gain remains exactly the same. So there must be two independent routes where ISO is handled, one for exposures and another for liveview. srsa's mechanism seems to affect liveview only, the opposite of yours. So I'd say he's closer, but I still need to do a thorough exploration of his mechanism.
On my a540, this is reflected in the live view brightness in M mode, but it only updates after a half press.
So I tried this on the S90_101a:
.props=require'propcase';set_prop(props.ISO_MODE, iso);shoot_half(), and the liveview brightness still remains unaffected. However, instead of
shoot_half() if press the SHOOT HALF button in CHDKPTP, then yes, the liveview gain *does* get affected, so shoot_half() and the button behave differently. But, the ISO value in the OSD icon does not change. So I must be still missing something. If this all worked perfectly via a script call after using Lua shoot and liveview brightness and icon remained the same after a shot, then it could an interesting solution too, because instead of using Canon SET route to change liveview brightness, I could program a series of push-buttons on the CHDKPTP panel to select from. That certainly would be handy, but I have a sense it wouldn't work, or, something is still missing to update the icon. Conceptually,
SticK_shoot(Tv, Sv) could implement a workaround that is better than what I do now, similar to his suggestion:
a) read the propcase before reyalp_shoot
b) reyalp_shoot
c) set the propcase back for liveview reset
... but I don't know how to do it so it's clean and complete to test it out.
Note that if you only want to use the standard ISO values available in the canon firmware, you can use this to set the ISO rather than using ISO overrides.
I like the way your shoot lua call works. It does everything I need. Hence without further exploring your new suggestion, my guess is somewhere in your shoot lua call you use this code to set ISO before activating the camera shutter. Would I be on the right track?
edit: one has to keep in mind that liveview brightness is also affected by changing the Tv on the OSD. So maybe, just maybe, reading both Tv and Sv might be needed before doing a liveview brightness reset.