So, in order to get a 25p video of 1 machine cycle, you will record 25 timelapses, each at 1 image/second, and then assemble them in a movie?
Let's say a machine cycle takes 3 seconds and it's repeated after 10 seconds (so a cycle is 10 seconds).
Then you would take:
timelapse 1: pictures at 0, 1, 2, 3 seconds
timelapse 2: pictures at 10.04, 11.04, 12.04, 13.04 seconds
timelapse 3: pictures at 20.08, 21.08, 22.08, 23.08 seconds
timelapse 25: pictures at 240.96, 241.96, 242.96 and 243.96 seconds
and then you play back the frames at 0, 10.04, 20.08, ... 240.96, 1, 11.04 and so on.
Is this correct?
If so, I suggest using the DIGIC timer at 0xC0242014. It wraps after 1048576 ticks, which correspond to 1 second. Take a look at seconds_clock_task.
Triggering a frame can be done with +/- 10ms timing accuracy afaik (from my bulb tests). Try in audacity (record the shutter sound).
You can access the digic timer from picoc directly with *(int*)0xC0242014. I think it's worth trying; the main problem here is DryOS timing resolution.