Quote from: koshy on 03 / June / 2018, 15:46:11Very good, that worked in fixing it. SD850 can be checked in. Thanks. Checked in for 1.5 and 1.4QuoteWhat would be the easiest way to see what other cameras are affected? Testing the behaviour or looking at the code? Care to extend the fix to others? Seems worthwhile...You can whether the workaround is present by looking in the source capt_seq.c around shooting_expo_param_override. You can see this in the change for sd850:https://app.assembla.com/spaces/chdk/subversion/commits/5028Note some ports have a simpler version of the workaround that doesn't call captseq_hack_override_active, like (from sx1) Code: [Select] // this code added to avoid some incorrect behavior if overrides are used. // but it can cause some unexpected side effects. In this case, remove this code! "MOV R0, #0\n" "STR R0, [R4,#0x24]\n" // fixes overrides behavior at short shutter press // end of my codeThe normal code that the workaround affects is the immediately followingCode: [Select] "LDR R0, [R4,#0x24]\n" "CMP R0, #0\n" "BEQ loc_FF86CEF4\n"(registers, offsets and addresses vary by camera)Not all cameras appear to need the workaround. Some ports have a note to this effect in the relevant part of the code.So if you wanted to go through your cameras and check, I'd suggest looking at capt_seq.c, and testing if there is no comment or workaround.
Very good, that worked in fixing it. SD850 can be checked in.
What would be the easiest way to see what other cameras are affected? Testing the behaviour or looking at the code? Care to extend the fix to others? Seems worthwhile...
// this code added to avoid some incorrect behavior if overrides are used. // but it can cause some unexpected side effects. In this case, remove this code! "MOV R0, #0\n" "STR R0, [R4,#0x24]\n" // fixes overrides behavior at short shutter press // end of my code
"LDR R0, [R4,#0x24]\n" "CMP R0, #0\n" "BEQ loc_FF86CEF4\n"
I started with ixus970_sd890 - It has the problem, the attached patch to capt_seq.c of FW 100C seems to fix the problem. Now for the big question: Does that get all of it or did I ruin anything? All I did in comparison to SD950 was to edit in "R6" where applicable and remove two of the original lines of code as was the case for SD950.
Yes, that looks correct. The things that vary per camera will mostly likely be the register (R6 in your example) and the offset (0x24)For ports like this that use code_gen, the code_gen.txt file needs to be updated to fix it in svn, but editing capt_seq directly is fine for testing.
When you are testing these, it would be good to check whether raw is saved in quick press too.
Very good. Can we keep doing that like this?
Out of curiosity though what is the "FW 21 >> FW 1" change in code_gen.txt about? (in https://app.assembla.com/spaces/chdk/subversion/commits/5033)
Yes, that works for me.
Currently working on ixus800_sd700
Started by mkretzer Script Writing
Started by waldo « 1 2 3 » General Discussion and Assistance
Started by Davide General Help and Assistance on using CHDK stable releases
Started by pwcal2 Feature Requests
Started by Mlapse « 1 2 ... 7 8 » LUA Scripting