Skip to content

Conversation

@JohnSouth8
Copy link

Summary

Adds support for multiple cameras in a single IOC.

Changes

  • Implemented GenTL singleton so that GenTL is initialized only once per IOC
  • Added a configuration function in which one can specify the board (interface) and camera index
    • Kept the original configuration function intact to not break existing configurations
  • Added an example startup script which demonstrates the initialization of multiple cameras

Testing

  • Tested with 2 Basler cameras on an Euresys Octolink framegrabber.

Notes

  • Due to having two constructors (for the old and new config function) the compilation with --std=c++98 flag fails, because constructor delegation is not available in that standard. To resolve this a rather cumbersome initialization function would be required, which is not included to the PR atm.

  This commit enables the driver to support multiple cameras simultaneously
  by accepting different interface and camera IDs.

  Key changes:
  - implemented GenTL singleton so that GenTL is initialized only
    once per IOC, which is required for multi-camera operation
  - added thread-safe reference counting for GenTL lifecycle management
  - added ADEuresysConfig2() function that accepts interfaceIndex and
    deviceIndex parameters for explicit card and camera selection
    - kept the original function unchanged for backward compatibility
  - included a multi-camera configuration example with 3 cameras
@MarkRivers
Copy link
Member

Could you please also update the documentation here to discuss the new configuration command and how it works with multiple cameras?
https://github.com/areaDetector/ADEuresys/blob/main/docs/ADEuresys/ADEuresys.rst

Thanks.

An explanation of the added IOC configuration command has been
added to the documentation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants