So I think my external FSYNC might be working, but that's as far as I've got. As fredrik said over on this thread:
Reading the documentation made me believe that it ought to be really simple. Unfortunately, from what I understand, that is not the case.
All I'm trying to do is find a way to synchronise frames between both cameras and an external system. What I can't do:
- I can't start and stop frame capture on demand (then use the strobe output to register frames) because the camera crashes.
- I can't trigger frame capture on demand using FSIN because the cameras will run at their set FPS regardless of the FSIN. This was how I was hoping to control everything, just instruct the cameras to wait until they receive a trigger to take each video frame regardless of whether that was at 0 or 60 FPS. Using an external trigger is what would seem to be the thing to achieve this, but I can't seem to manage this at a steady / reasonable frame rate, and all the frames I do capture are not exposed correctly.
- I can't use script nodes to trigger the GPIO pin on frame capture and route the frames as appropriate, because the timing of script nodes does not seem to be reliable (and on top of that, it seems to be fairly easy to slow the entire pipeline down just by conditionally copying frames from input to output).
- I can't seem to enable and disable the STROBE output to signal which frames I'm recording, as
setStrobeDisable
does not appear to have any effect when I send it to the cameras.
All I want is, for every frame (with each frame synced between the two mono & rgb cameras and between multiple PoE camera sets), to have a trigger logged against the timing of an external ~ 1000Hz signal I'm capturing, either by triggering from the external system or by recording frame capture events from the cameras in the external system. How can I manage this?