If you can provide a CHDK S95 100H build I know someone who can test that, but the synch is fine on that camera.
We express the results as a median value.50% of shots will be as good or better than that value, 50% will not.
Presumably as a consequence of the nature of multi-tasking (tasks having to yield at random times), most results have sub-millisecond error whilst the rogue shots are many milliseconds in error.
There is not a continuum of errors.
And it seems that it is possible to move the wait_until_remote_button_is_released() call directly to taskCreateHook. For S95 100h the code looks like this:Code: [Select]void taskCreateHook(int *p){ p-=17; if (p[0] == 0xFF88322C) p[0] = (int) capt_seq_task; if (p[0] == 0xFF98642C) p[0] = (int) movie_record_task; if (p[0] == 0xFF8A0AA0) p[0] = (int) init_file_modules_task; if (p[0] == 0xFF8CF1A8) p[0] = (int) exp_drv_task; if (p[0] == 0xFF865894) p[0] = (int) JogDial_task_my; if (strcmp((char *) p[6], "TgTask") == 0) _wait_until_remote_button_is_released();}At the moment I can't test it with CRT, so I don't know how it helps with sync.
void taskCreateHook(int *p){ p-=17; if (p[0] == 0xFF88322C) p[0] = (int) capt_seq_task; if (p[0] == 0xFF98642C) p[0] = (int) movie_record_task; if (p[0] == 0xFF8A0AA0) p[0] = (int) init_file_modules_task; if (p[0] == 0xFF8CF1A8) p[0] = (int) exp_drv_task; if (p[0] == 0xFF865894) p[0] = (int) JogDial_task_my; if (strcmp((char *) p[6], "TgTask") == 0) _wait_until_remote_button_is_released();}
Not sure how safe this would be.AFAIK the taskCreateHook function is called in the firmware IRQ handler which is tied to the 10ms clock.So you could potentially be blocking the IRQ handler until the remote was released.
Not sure what you meant by this.
Here is a patch
Started by Microfunguy CHDK Releases
Started by Blooper « 1 2 » Creative Uses of CHDK
Started by David Ripple « 1 2 ... 6 7 » General Discussion and Assistance
Started by koshy « 1 2 ... 8 9 » General Discussion and Assistance
Started by cameraman Creative Uses of CHDK