Problem
When connecting to a camera, you are presented with the following message:
NodeMapFactory must be preprocessed before calling ToXml
Cause
Third party GenICam software may create a GENICAM_CACHE_V3_1 environment variable that points to a directory to store camera XML files. When the software connects to a camera for the first time, it will read the camera’s XML file and save a copy of it to that folder. When the software loads the camera again, it will read the camera’s XML from the folder instead of reading the camera.
Arena SDK implements the Cache_Automatic option, which means the SDK will look at that variable’s directory and attempt to load a matching camera’s cached XML file stored in that directory’s location. If no matching XML file is found, Arena SDK will load the camera’s XML file and save it to that folder.
If the third party software is using a different GenICam version to save the camera’s XML file, it can create a conflict if Arena SDK attempts to read this XML file later.
Resolution
Navigate to the GENICAM_CACHE_V3_1 folder and delete the XML or bin files stored in the folder.
Open ArenaView and connect to your camera. This will allow Arena SDK to cache the camera’s XML file into the GENICAM_CACHE_V3_1 folder.
Alternately, remove the GENICAM_CACHE_V3_1 environment variable which will force both software packages to always read the camera’s XML file from the camera.