03-22-2010 06:13 AM
i am trying to port my legacy IMAQ1394 code to IMAQdx, and once again, the documentation is incomplete.
the function IMAQdxEnumerateCameras() returns camera informations into an IMAQdxCameraInformation array, but this structure is not documented anywhere in the few documents provided with IMAQdx.
will people at National Instruments learn to document their data structure anytime soon ? the problem is the same for any data structure written by NI, be it in the CVI library or the Vision library, or anything else: data structures are as important as functions and need a dedicated page on the documentation !
06-07-2010 03:18 AM
Hello,
my apologies for the long delay in response.
I was also unable to find the documentation about this data structure.
I'll escalate this problem to our R&D department in the US
06-11-2010 05:28 AM
Hello,
We still have an issue regarding the lack of documentation about the data structure.
We cannot improve robustness of our application without this information.
This can have a bad impact about our company brand name.
I hope this information will be available soon. We have to deliver customer within very few weeks, not months.
I hope this problem will be fixed soon and that it will not make us reconsider our choice about industrial vision equipment provider.
Best Regards
06-23-2010 02:02 AM
Hello,
After escalating it to our R&D, it was indeed so that a very limited set of data structures is missing in the documentation, but this should be fixed in the next versions of the documentation.
To get back on the original topic. The IMAQdxCameraInformation array.
It's possible to find the structure of the IMAQdxCameraInformation array from the NIIMAQdx.h file. Here's a copy of the section that defines this specific structure:
typedef struct IMAQdxCameraInformation_struct {
uInt32 Type;
uInt32 Version;
uInt32 Flags;
uInt32 SerialNumberHi;
uInt32 SerialNumberLo;
IMAQdxBusType BusType;
char InterfaceName[IMAQDX_MAX_API_STRING_LENGTH];
char VendorName[IMAQDX_MAX_API_STRING_LENGTH];
char ModelName[IMAQDX_MAX_API_STRING_LENGTH];
char CameraFileName[IMAQDX_MAX_API_STRING_LENGTH];
char CameraAttributeURL[IMAQDX_MAX_API_STRING_LENGTH];
} IMAQdxCameraInformation;
This header file can be found in the folder "C:\Program Files (x86)\National Instruments\NI-IMAQdx\include"
Here you can also find more information on other data structures.
Also note that these data structure is the same as the Camera Information Array output of the IMAQdx Enumerate Cameras function in LabVIEW.
Does this answer your question and solve your problem?
06-23-2010 06:07 AM
thanks for the information, this answers part of my question. (i already found the declaration in the header file)
now i have one more question: what value should i expect in the Flags and CameraAttributeURL members of this structure ? i suppose that Flags is dependent on the camera model (as well as Type, Version, SerialNumber), but CameraAttributeURL seems to be a feature of IMAQdx. what does it mean ? how can i use this value ?
06-28-2010 02:36 AM
Hello,
This is the information that was mentioned in the LabVIEW Documentation:
Camera Information Array is an array of interface files that are on the host computer. This includes cameras that are currently connected or that were previously connected.
- Type has a value of 3. This designates an NI-IMAQdx interface file.
- Version is the version of the interface file. This number may increment with different versions of the driver as the format of the interface file changes.
- Flags is a bitwise mask of the current interface status. If bit 0 is on (value = 1), the interface represents a camera that is currently connected. If bit 0 is off (value = 0) , the interface represents a disconnected camera.
- SerialNumberHigh is the upper 32-bits of the interface serial number. Every camera has a unique value for SerialNumberHigh.
- SerialNumberLow is the lower 32-bits of the interface serial number. Every camera has a unique value for SerialNumberLow.
- BusType specifies the bus type for the camera.
- InterfaceName is the name of the interface. Use this name when opening the interface.
- VendorName is the vendor name of the camera designated for this interface. VendorName varies from camera to camera.
- ModelName is the model name of the camera designated for this interface. ModelName varies from camera to camera.
- CameraFileName is the name of the camera file that this interface uses. The camera file contains all the settings for a given camera. You can configure and save these settings from Measurement & Automation Explorer (MAX).
- CameraAttributeURL is the URL of the XML file that describes the camera attributes.
Does this help you further?