Skip to main content

Read GPIO / synchronize to external device

Answered

Comments

3 comments

  • Official comment
    TDY_Demos
    Community team
    Expert (Gold)

    Hello Baptiste,

    Yes, our cameras have more than 1 GPIO pin, so you can certainly have the master with 1 pin as an output (triggering slave cameras) and 1 pin as an input to trigger the camera.  However, you can also just put the slave cameras in trigger mode and start the cameras and start recording (they will not be getting images).  The master can be then set to start recording (no images coming yet), and then you can just start the master camera.  Assuming no frame loss, all frames will be in sync on your 4 sets of files.

    You can read the current GPIO state by reading the LineStatus node, please reference the Digital IO section of our reference manuals at Digital IO Control - BFS-PGE-04S2 Version 2103.0.332.0 (flir.com).

    However, this would involve polling at the right time.  You can also embed the current GPIO status of all IOs in chunk data by enabling Chunk Exposure End Line Status All (Chunk Data Control - BFS-PGE-16S7 Version 1906.0.142.0 (flir.com)).  Your software on receiving the image can then see the GPIO values at the end of exposure time.

    I am not sure how you plan to use the value of the GPIO to synchronize your data, since the camera are being triggered by a master.  Please let me know if I am misunderstanding what you are planning to do, and if the above helps give you the functionality you are looking for.

    Demos

  • Baptiste

    Thank you, this is helpful.
    To clarify, the 6 cameras are synchronised together by setting 1 camera as master and the other 5 as slaves, as described in the tutorial (https://www.flir.com/support-center/iis/machine-vision/application-note/configuring-synchronized-capture-with-multiple-cameras/).

    These cameras are part of an experimental setup that includes other elements (such as motion capture, physiological recordings, etc.) that all starts at slightly different times. My current problem is how to synchronise the cameras to the other devices. So far I synchronise other devices together by sending the same TTL pulses to all devices throughout the experiment. Then offline I a realign these pulses relative to a common time origin.

    If I understand you correctly, I could either record the TTL pulses in a timestamps file, like I do on other devices, by polling the LineStatus node. Or I could set the master camera to start recording when receiving the first TTL pulse. This would work assuming that time-drift is negligible and the FLIR system is always started prior the first TTL pulse being sent.

    0
  • TDY_Demos
    Community team
    Expert (Gold)

    Hello Baptiste,

    I am just following up to ensure you got the synchronization working as you wanted with the master/slave setup, or even by using the same TTL pulse going to all your devices.

    Thank you,

    Demos

    0

Please sign in to leave a comment.

Powered by Zendesk