I've attached a copy of rawopint.lua with set_sv96(sv) replaced (at line 1055) by the code I've been using for years without problems. Will you see if it fixes the ISO problem on the G1X if you have time? Run the script in continuous mode.Code: [Select]-- *****lapser sv test-- set_sv96(self.sv96) set_prop(props.DELTA_SV,self.sv96-get_prop(props.SV)+get_prop(props.DELTA_SV)) set_prop(props.SV,self.sv96)-- *****lapser sv test
-- *****lapser sv test-- set_sv96(self.sv96) set_prop(props.DELTA_SV,self.sv96-get_prop(props.SV)+get_prop(props.DELTA_SV)) set_prop(props.SV,self.sv96)-- *****lapser sv test
-- *****lapser sv test set_prop(props.DELTA_SV,self.sv96-get_prop(props.SV)+get_prop(props.DELTA_SV))set_prop(props.SV,self.sv96)-- from isoinc-- from http://chdk.setepontos.com/index.php?topic=11081.100local dsv = v - get_prop(props.SV) + get_prop(props.DELTA_SV)set_prop(props.DELTA_SV,dsv)set_prop(props.SV,v)
If it's really only specific to the g1x I wouldn't want to add a bunch of features to script just to work around problems with one port.
This method works for all my cameras (haven't test the M3 yet). Even in continuous mode, you can't use this method before the first shot. The camera has to set the first shot (sets svbase).The camera sets ISO by adding svbase+svdelta. The sum, sv, is stored in props.SV for EXIF purposes. In continuous mode, the camera doesn't modify these parameters. So I assume this equation is true:sv=svbase+svdeltaThe problem with set_iso() in CHDK is that it sometimes changes svbase. In continuous mode, you only want to set svbase on the first shot. After the first shot in continuous mode, set_iso() should switch to my method. That should work for all cameras.Let's say svnew is the new sv you want to set. You don't want to change svbase, only svdelta. So you add the change you want, (svnew-sv), to svdeltasvdelta=svdelta +(svnew-sv)then you finish withsv=svnew
This method works for all my cameras (haven't test the M3 yet). Even in continuous mode, you can't use this method before the first shot. The camera has to set the first shot (sets svbase).
I made a run with EOS M3. There are no differences between original version and lapsers changes.But, from both runs, the EXIF ISO is always ISO100. The run was made with (RAW+JPG). All files have EXIF ISO100 (RAW+JPG).
I discovered a new propcase on the EOS M3 that sets the exif ISO set_prop(pDELTA_SV,sv-get_prop(pSV)+get_prop(pDELTA_SV)) -- sets actual exposure set_prop(pSV,sv) -- sets EXIF data if eosm3 then set_prop(354,sv) end -- EXIF data on EOSM3I tried in a test script last night and it worked!
In summary, for the G1X with Tv >= 1.3s and ISO >= 400:CHDK set_sv96 - saved CR2/JPG overexposed by 1 stop, metering should be correct (except at ISO 400)Script set sv96 - saved CR2/JPG correct exposure, metering underexposed by 1 stop Phil.