mvIMPACT 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. mvIMPACT Acquire internally makes use of this reference implementation and links the mvGenTLConsumer library with it. The first mvIMPACT Acquire version that did link against version 3.0.0 of the GenApi reference implementation was 2.15.0. Since version 2.16.1 mvIMPACT 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:

mvIMPACT Acquire versionMATRIX VISION GenICam device firmware versionCompatible
< 2.15.0 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 All

Resolution

Use a compatible combination of firmware and mvIMPACT Acquire.