In my 4 months ago posting in this thread I was finally able to get the hardware sync pulses show up on GPIO18. But until yesterday I had no real application making use of that firmware feature.
Because of "Raspberry v1 camera global external shutter" tool "shots" missing synchronization of generating strobe pulses and camera frame capturing I had to go back to pigpio C library yesterday. If the total length of the "shots" waveform is less than 0.5s, then getting all pulses recorded onto a single "-fps 1" raspivid frame is not really a problem (just try several times). But I had to try 15 times to get two 9µs strobe pulses 0.9s apart onto a same frame.
I remembered this thread and used the frame end signal to start the waveform just in time for the new frame to be recorded. The passed argument N states how many frames with (this time 0.925s apart) double exposure should be taken. I tried with 20 and each and every frame got its double exposure correctly. I learned about gpioSetAlertFunc() function, and with that function the code is simple.
More details in "Hardware camera sync pulses" section on "Raspberry v1 camera global external shutter" github repo:
https://github.com/Hermann-SW/Raspberry ... ync-pulses
I did try with double exposure pulses 0.95s apart and got two strange frames instead of one. Because the length between both pulses can be specified with microsecond resolution, it seems that arbitrary length partial frames can be generated (I see no use of that for now, and that was exactly what I wanted to avoid). Anyway it is nice to see that these exact timings are possible thanks to the 2017 firmware change in this thread.
This is the 1st strange frame (as I said this never happens with strobe pulses 0.925s apart). The 2nd strobe pulse happens while nearly half of the frame got transmitted to Pi already, and thefore only the lower left part of the blade shows up on 1st frame:
And this is the 2nd:
These are samples for 0.925s apart strobe pulses, captured on a single frame thanks hardware camera sync pulses. The relative blade positions in each frame differ because of slight changes of propeller speed: