Made a little progress. Measuring shot-to-shot variation should give a good estimation of USB remote sync quality, allowing testing of vnd's precision sync modification when you only have one camera to play with. That should tell us if the mod works on more cameras - especially those being used in bullet-time rigs.
Got the Raspberry Pi version that I showed above working but I got worried about interrupts on the Linux O/S preventing sub-millisecond timing accuracy.
So I built this :
The AVR programmer board allows
serial communication over USB to a terminal program so I was able to write a quick & dirty UI that lets me adjust the test parameters without reloading the code. The basic test send 5V to the camera's USB port, holds that for five seconds to allow the camera to focus, removes the 5V and then enters an initial precision delay period. At the end of that delay, the LED's start "counting" - using a Gray code so that only one LED changes with each count. ( Note : using the delay lets me set a sync window with more precision than just running the LED's as soon as the USB voltage is removed.)
Initial testing of the A1200 show that with or without sync enabled, the actual shot to shot variation is huge. The G10 on the other hand sync's in under a millisecond routinely. One nice part of using this setup is that you can tell it to do 100 shots, walk away for a few minutes, and then come back and tabulate the results from the images taken.
Tesing the G10 revealed another problem. If you want the LEDs to count every 100 uSec (thereby binning your values with 200 uSec precision) then you really need to be able use a shutter speed of 1/10,000. However at that speed, even with the ISO set to 1600, the LED's that I found in my junk drawer and used are not bright enough to give a good image. But the little red & green surface mount LED's on the uC board come through just fine at that speed. So, using typical brute force engineering, I ordered some super bright 10,000 mcd LEDs and will continue testing when they arrive.
I also discovered that vnd's precision sync patch seems to crash my A1200 about 1/10 of the time. The symptom are similiar to what happens with the old code if you make the sync delay too long - the camera just shuts down after about 10 seconds with the lens still extended. There are two wait loops in the code so figuring out which one is hanging up should not be that hard.