Changing exposure time in different Genicam compliant cameras

Hello guys,
We have an issue with using Std::ExposureTime for changing the exposure time. On Teledyne Dalsa cameras it works as intended, while on Allied Vision Mako, this code crashes because this identifier does not exist (it is called Std::ExposureTimeAbs here).

if (!Node::setValue(_deviceNodeMap, "Std::ExposureTime", Node::setFloatValue, value))
  {
    WARNING("Unable to set ExposureTime value");
    return false;
  }

As I understand, ExposureTimeAbs was deprecated in GeniCam 1.4.

Does CVB offer an abstraction for this different behavior of different manufacturers? Otherwise we have to maintain a list ourselves.

Thanks!
Tassilo

One more tidbit: in the CVB manual it is confirmed that different manufacturers implement exposure time differently.

The CV Gen API itself provides no dedicated function to dynamically set the Exposure Time directly.

Please implement Exposure Time settings as described in the Common Vision Box Manual in the chapter Image Manager - GenICam Library.

Here I am pointed to Image Manager (https://help.commonvisionblox.com/NextGen/14.0/md_theory_of_operation_image_manager__image_manager.html), but do not see more related information.

Hi @Tassilo,

unfortunately, the conflict you encountered is and due to different versions of the SNFC.
Specifically ExposureTimeAbs has been deprecated for more then 10 years. Depending on your camera model there might be a newer firmware that fixes the issue. In CVB we cannot work around standard evolution as this kind of violates the standard.
I recommend asking our support if there is a newer firmware for your specific model.

Thanks @Andreas,

this is what I feared. According to Mako Genicam documentation ExposureTimeAbs is still their latest implementation https://cdn.alliedvision.com/fileadmin/content/documents/products/software/firmware/Allied_Vision_GigE_Firmware_Release_Notes_37388.pdf.

So we will workaround it on our side.