Hi.
I have soldered wires to the VSYNC and FSIN at the locations identified on the board of five cameras. I basically followed this tutorial, except that I was not able to get the desired signal from the R22 plate and instead went straight to the place indicated as VSYNC on the images on that site.
http://sszymczy.rootnode.net/index.php?menu=projects&submenu=webcamsync2&subsub=PS3Eye
I confirmed with an oscilloscope that the VSYNC output of the first and the fourth camera are synchronized (and the fifth camera didn’t survive my soldering :( )
Now let’s say i have two genlocked cameras and I have two grabber threads. My question is how do I know which of these frames belong together? this may sound like an uninformed question, but I am aware of the other synchronization threads, most notably this one:
http://codelaboratories.com/forums/viewthread/221/
Basically the CLEyeCameraGetFrameD() function blocks until a frame is received. I tried using the system clock of my computer to create a timestamp (and I know it is unreliable) at this point in time. Then I always used the two images of the cameras that has the closest of these timestamps. Example at 15 frames per second (guid of camera and time in milliseconds):
e9179624-f4fa-c9a0-ebd3-e3242cb09d04 1015
83094846-88a4-753c-ce5f-ff4c0d9f6df5 1031
83094846-88a4-753c-ce5f-ff4c0d9f6df5 1093
e9179624-f4fa-c9a0-ebd3-e3242cb09d04 1109
83094846-88a4-753c-ce5f-ff4c0d9f6df5 1172
e9179624-f4fa-c9a0-ebd3-e3242cb09d04 1172
e9179624-f4fa-c9a0-ebd3-e3242cb09d04 1234
83094846-88a4-753c-ce5f-ff4c0d9f6df5 1234
83094846-88a4-753c-ce5f-ff4c0d9f6df5 1297
e9179624-f4fa-c9a0-ebd3-e3242cb09d04 1312
Unfortunately it is accurate only up to about a tick of 1/60th of a second. When a lot of processing comes together with a frame rate of 30fps and more, this is was not reliable enough.
I am hoping any of your guys has an idea how I could find out which of these frames belong together in a reliable way when the system clock resolution is too low for the trick above?