mvIMPACT Acquire SDK C++
A GenICam Device Supporting The 'ValidValueSet' 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

GenICam API exception: ERROR : The <ValidValueSet# entry of the Integer node is not yet supported : InvalidArgumentException

Cause

This is due to a bug inside the GenICam GenApi reference implementation that was present in versions 2.0 - 2.3.x and has been fixed in version 2.4.0 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 2.0 of the GenApi reference implementation was 1.10.95. Since version 2.7.0 mvIMPACT Acquire is linked against version 2.4.0 of the GenApi reference implementation thus is no longer showing this issue.

Since version 2.14.x MATRIX VISION GenICam compliant devices make use of the ValidValueSet node inside their XML files. The following table shows general compatibility issues:

mvIMPACT Acquire versionMATRIX VISION GenICam device firmware versionCompatible
< 1.10.95 All
1.10.95 -2.6.3 < 2.14.0
1.10.95 -2.6.3 2.14.0 - 2.27.0
1.10.95 -2.6.3 > 2.27.0
>= 2.7.0 All

Resolution

Use a compatible combination of firmware and mvIMPACT Acquire.