Discovering devices using Third Party GenTL Producers can be done using the Cvb::DeviceFactory::Discover
.
Depending on the implementation and configuration of the third party GenTL producer, what it reports to the CVB SDK can vary. In some cases, it may appear in a similar manner to the CVB USBTL and GEVTL producers and may even show the same devices as shown by the CVB producers (e.g. if a device uses the Gig-E Vision (GEV) standard, it may be detected by both the CVB GEVTL and a third party producer that also supports GEV).
In the case that multiple devices are connected, or a device can be used via multiple GenTL producers, after discovery, the Cvb::DiscoveryProperties
in the Cvb::DiscoveryInformation
should be accessed to determine the transport layer used and filter appropriately.
Note: Error handling has been omitted from the above example.
Cvb::DiscoverFlags::IgnoreVins
flag, the legacy VIN drivers are excluded.Filter the found discovery information to use the first that uses the custom GenTL producer.
Common options are:
Mixed
- Several supported technologiesCustom
- Custom technologiesGEV
- GigE Vision technologyCL
- Camera Link technologyIIDC
- IIDC 1394 technologyUVC
- USB video class devicesCXP
- CoaXPressCLHS
- Camera Link HSUSB3
- USB3 Vision StandardEthernet
- Ethernet devicesPCI
- PCI/PCIe devicesCvb::GenICamDevice
using Cvb::AcquisitionStack::PreferGenTL
. When using GenTL, these flags are mandatory to ensure that all GenICam features are enabled.