Impact Acquire SDK C++
A GenICam™ Device With A Floating Enum Entry Node Inside Its XML File Cannot Be Initialised

Symptoms

When trying to open a GenICam™ device as described above the operation fails. When looking at the log messages something like this can be found

GenApi exception: Error while parsing XML stream at line 10859 and column 47 : 'unexpected element encountered' : RuntimeException thrown (file 'XmlParser.cpp', line 1751).

Cause

This is due to a bug inside the GenICam™ GenApi reference implementation that was present in version 3.0.0 and has been fixed in version 3.0.1 of the reference implementation. Impact Acquire internally makes use of this reference implementation and links the mvGenTLConsumer library with it. The first Impact Acquire version that did link against version 3.0.0 of the GenApi reference implementation was 2.15.0. Since version 2.16.1 Impact Acquire is linked against version 3.0.1 of the GenApi reference implementation thus is no longer showing this issue.

The following table shows general compatibility issues:

Impact Acquire versionBalluff/MATRIX VISION GenICam™ device firmware versionCompatible
< 2.15.0 (Feb 24 2016)All
2.15.0 - 2.16.1 < 1.4.57
2.15.0 - 2.16.1 1.4.57 - 1.6.5
2.15.0 - 2.16.1 > 1.6.5
> 2.16.1 (Jun 17 2016)All

Resolution

Use a compatible combination of firmware and Impact Acquire.