I would like to create a module that allows the user to quickly review, change, and save camera attributes from LabVIEW (not using MAX). The reason is that I want them to be able to change things on the fly in the app to test different setups. Its annoying to have to stop the app, switch to MAX open the camera, start grabbing, change the settings, close the camera and max, and restart the app. I got tired just writing that sentence.
I found a nice example in LabVIEW xxxx\examples\Vision Acquisition\NI-IMAQdx\High Level\Grab and Attributes settings and used that as a baseline. The problem I'm having is IMAQdx Enumerate Objects.vi seems to return a different list of objects from time to time. It appears that with just LabVIEW open, when I use IMAQdx Enumerate Objects all the "camera attributes" are missing (not returned). But if I go and open MAX, open the camera in max, the LabVIEW VIs seem to return all the attributes including the "camera attributes". Also when saving the IMAQdx Write Attributes.vi seems to save a different list of attributes to a text file depending on the conditions.
Why does this happen? Is it a bug? Is there a way to use the same function that MAX uses to enumerate the list in LabVIEW? Why does the IMAQdx Write Attributes.vi save a different list of attributes from time to time?
For right now, I'm only using a system webcam and haven't tried this out on a machine vision camera, but I'm not going to go much further down the path unless I can convince myself that I can load and save attributes in a repeatable manner.