I'm not totally sure I understand this, but I would expect the limits have to do with the specific conditions.
I added an edit to that post, perhaps that could provide a better explanation.
On my A540, the live view gets noticeably brighter up to 5 seconds at ISO 80, but stops around 1 sec for ISO 400
Sounds reasonable. Camera model behavior must be different.
M mode should try to make the live view representative of what you would actually see with the selected exposure settings, but obviously there are limits to how much it can crank up the gain and exposure time when capturing the actual live view image.
That's exactly what happens and what I noticed as I mentioned just earlier that my S90 at ISO 3200 it does not get any brighter for Tv longer than 1/2s. That's normal and not an issue, it was just an informational flag.
I don't see any way to update it directly from CHDK after setting ISO_MODE. Based on looking the camera log, I'm pretty sure there is not an levent for this.
Oh darn!
On a540, it does appear to update if I change the Tv or Av value in the Canon UI. Since your camera doesn't actual have an adjustable aperture any more (? I think) perhaps telling it you changed the Av is a way to get it to re-evaluate?
Correct. I am a bit afraid of trying to move any mechanics for a possibility of lens error. Iris is not covered by my MECHA SIM during normal (fully assembled camera) operation.
=post_levent_to_ui('PressAvExpButton') will jump the canon control to the Av setting, but I don't see an obvious way to jump back to Tv, though once you know which one you are on, you should be able to use left/right.
It looks like I would have to paly with "buttons," which is the kludge with my method (ie reset_ISO() in code below), and is what I'm trying to avoid and fix.
I added an isomode option to shoot in chdkptp r398. This simply sets the ISO_MODE for the shot, it won't directly help you with the "live view" ISO.
I'd like to know more about this one. Doesn't
shoot -tv -av -sv already do that on-the-fly ?? I use it all the time and it certainly works for me (in the code you can see I keep -av pegged at 2 so I don't move any mechanics). What is different about the new feature from the current version? I think that function is the crown jewel of CHDKPTP (srsa should try it -- he'll get hooked!)
Don't really understand what you mean. Setting ISO_MODE outside of the shooting process won't make overrides not work. If you post the actual code you used, we might be able to help.
I think I see your point. ISO override does lock up when I use your
shoot -tv -av -sv after your set propcase call. For example, if I change the liveview by your recent propcase procedure (or by srsa's procedure), then all subsequent shots with
shoot -tv -av -sv will expose at the ISO value I set via that last set propcase call. Basically, if the ISO override didn't get suppressed in
shoot -tv -av -sv, you'd have a 100% solution! ... it's feels like it's almost there. By the way, I never use the SHOOT button in CHDKPTP, so maybe there it works OK ... I don't know and it's not useful for me. I hope this helps.
Code:
function reset_ISO() -- After taking a with myshoot(), Canon ISO is left at the override value. Function resets liveview Canon ISO after taking a shot
con:execwait('click "set"')
sys.sleep(400)
con:execwait('click "left"')
sys.sleep(200)
con:execwait('click "right"')
sys.sleep(200)
con:execwait('click "set"')
sys.sleep(400)
end
-- usage: >!local_shoot(1/8, 2.8, 400, "C:\\CANON_S90\\")
function local_shoot(tv, av, canon_sv, destdir)
local sv = canon_sv / 1.6461 -- ISO correction for S90 so that CHDK EXIF data is the same as Canon.
cli:execute('shoot -tv='..tv..' -av='..av..' -sv='..sv..'')
sys.sleep(2400)
local l,r=con:execwait('return get_meminfo().free_size')
print(" free", r)
printf(" free: %s\n",r)
dcimdl(destdir, true, false)
reset_ISO()
end
function shoot_SticK(Tv, Sv)
local_shoot(Tv, 2, Sv, "G:\\CANON_S90\\") -- Av is always 2 not to move mechanics.
end
Hmmm.
PTM_SetCurrentItem(0x800a,0) -> auto iso
PTM_SetCurrentItem(0x800a,1) -> iso 80
PTM_SetCurrentItem(0x800a,2) -> iso 100
PTM_SetCurrentItem(0x800a,14) -> iso 1600
Please give me some time to decipher what you have here.