FraunhoferIOSB / camera_aravis2

ROS2 camera driver for GenICam-based GigEVision and USB3Vision cameras.
BSD 3-Clause "New" or "Revised" License
15 stars 2 forks source link

Hardware triggering #39

Open MorganMasters opened 1 month ago

MorganMasters commented 1 month ago

Hi, Camera_Aravis Team,

I am working on getting a FLIR BlackFly camera (BFLY-PGE-23S6C-C) to trigger an InertialSense INS (RUG-3-IMX-5-Dual) inertial device on image capture. Currently, I have the vendor-provided software configured to perform this triggering behavior. The next step is to automatically configure the GigE camera like:

GError *local_error = NULL; //Set the output strobe arv_camera_set_string (camera, "LineSelector", "Line1", &local_error); arv_camera_set_string (camera, "LineMode", "Strobe", &local_error);

The above uses the functions of the AravisProject SDK, in the template format of the aravis-c-examples repo; see my attached code for the full example (lines 92-95 are where the above code snippet originated). 06-multiple-gpio-strobe.txt

My question is simply where you would say that code snippet fits best in your ROS2 architecture, or how I would otherwise issue these commands to your ROS2 node.

Many thanks, and all the best.

MorganMasters commented 1 month ago

Would you consider it wiser to simply set a new GeniCam UserSet, instead of having ROS2 do on-the-fly configurations?

MorganMasters commented 1 month ago

Or perhaps through SetStringFeatureValue.srv?

boitumeloruf commented 1 month ago

Hi @MorganMasters,

the simplest and quickest way for you would be to set a new UseSet for the camera.

If you would like to let camera_aravis set it on the fly, one would have to introduce a new parameter set named 'DigitalIoControl'. since according doe the GenICam SFNC the 'LineSelector' is within this feature group. For the implementation the 'AnalogControl' could be used as a template. Because for setting balance ratios for the white balancing, the correct use of the corresponding selectors is also needed.

MorganMasters commented 1 month ago

That is exactly the input I was looking for - many thanks!