I took mx3's immediate shoot patch from
http://chdk.setepontos.com/index.php/topic,405.msg3580.html#msg3580 (without the triple buffer modification)
and removed the shutter release command and the wait from it because I want my MD script to be able to use continuous shooting mode / preview (i.e I let my script release the shutter that is pressed by md_detect_motion).
I applied the modifications to current trunk (297) and tested the speed using my LED blinker and script (obviously I removed the shutter_press/click commands and only used shutter_release commands). Using the a570is here as usual.
I got reaction times between 81+-3 ms and 150+-5 ms, averaging at 110 ms. A bit worryingly I also got one shot that exceeded the measurable delay of 195 ms (this is out of 61 shots in two sets). That one shot aside, this is a steady 30 ms improvement to the old unmodified non-immediate MD shoot mode code using allbest #16 I tested earlier in this thread.
For your reference, the shooting function (placed in core/kbd.c) i used in place of kbd_sched_shoot() in motion_detector.c:
void md_kbd_sched_immediate_shoot(){
kbd_int_stack_ptr-=1;// REMOVE MD ITEM
KBD_STACK_PUSH(SCRIPT_MOTION_DETECTOR); // it will removed right after exit f$
// not a stack operation... pressing right now
kbd_key_press(KEY_SHOOT_FULL);
}
I was under the impression that the normal (non-immediate mode) code was the current state-of-the-art, but I couldn't find a patch for that in this thread. GrAnd commented to core/kbc.c : kbd_sched_shoot() earlier so I tried to modify it by commenting out the one line that was supposedly generating 50 to 60 ms delay for no profit:
// KBD_STACK_PUSH(SCRIPT_WAIT_EXPHIST);
but this had no effect what so ever, results were as before (110--180 ms response time).
Exactly what have you people been modifying for those speedy s3 and a610 builds?