10 #ifndef ___niimaqdx_h___
11 #define ___niimaqdx_h___
17 #if !defined(niimaqdx_types)
18 #define niimaqdx_types
21 #pragma EnableLibraryRuntimeChecking
27 #ifndef _NI_uInt8_DEFINED_
28 #define _NI_uInt8_DEFINED_
29 typedef unsigned char uInt8;
32 #ifndef _NI_uInt16_DEFINED_
33 #define _NI_uInt16_DEFINED_
34 typedef unsigned short int uInt16;
37 #ifndef _NI_uInt32_DEFINED_
38 #define _NI_uInt32_DEFINED_
40 typedef unsigned long uInt32;
43 typedef unsigned int uInt32;
45 typedef unsigned long uInt32;
50 #ifndef _NI_uInt64_DEFINED_
51 #define _NI_uInt64_DEFINED_
52 #if defined(_MSC_VER) || _CVI_ >= 700
53 typedef unsigned __int64 uInt64;
55 typedef unsigned long long uInt64;
59 #ifndef _NI_Int8_DEFINED_
60 #define _NI_Int8_DEFINED_
64 #ifndef _NI_Int16_DEFINED_
65 #define _NI_Int16_DEFINED_
66 typedef short int Int16;
69 #ifndef _NI_Int32_DEFINED_
70 #define _NI_Int32_DEFINED_
82 #ifndef _NI_Int64_DEFINED_
83 #define _NI_Int64_DEFINED_
84 #if defined(_MSC_VER) || _CVI_ >= 700
85 typedef __int64 Int64;
87 typedef long long int Int64;
91 #ifndef _NI_float32_DEFINED_
92 #define _NI_float32_DEFINED_
93 typedef float float32;
96 #ifndef _NI_float64_DEFINED_
97 #define _NI_float64_DEFINED_
98 typedef double float64;
109 #ifndef _NI_GUIDHNDL_DEFINED
110 typedef uInt32 GUIHNDL;
113 #if (defined(_MSC_VER) || defined(_CVI_))
114 #ifndef _NI_FUNC_DEFINED
115 #define NI_FUNC __stdcall
118 #ifndef _NI_FUNCC_DEFINED
119 #define NI_FUNCC __cdecl
121 #elif defined(__GNUC__)
122 #ifndef _NI_FUNC_DEFINED
126 #ifndef _NI_FUNCC_DEFINED
131 #ifndef _NI_bool32_DEFINED_
132 #define _NI_bool32_DEFINED_
133 typedef uInt32 bool32;
136 #ifndef _NI_IMAQdxSession_DEFINED_
137 #define _NI_IMAQdxSession_DEFINED_
138 typedef uInt32 IMAQdxSession;
141 #define IMAQDX_MAX_API_STRING_LENGTH 512
146 typedef struct Image_struct Image;
151 typedef enum IMAQdxError_enum {
152 IMAQdxErrorSuccess = 0x0,
153 IMAQdxErrorSystemMemoryFull = 0xBFF69000,
155 IMAQdxErrorInvalidParameter,
156 IMAQdxErrorInvalidPointer,
157 IMAQdxErrorInvalidInterface,
158 IMAQdxErrorInvalidRegistryKey,
159 IMAQdxErrorInvalidAddress,
160 IMAQdxErrorInvalidDeviceType,
161 IMAQdxErrorNotImplemented,
162 IMAQdxErrorCameraNotFound,
163 IMAQdxErrorCameraInUse,
164 IMAQdxErrorCameraNotInitialized,
165 IMAQdxErrorCameraRemoved,
166 IMAQdxErrorCameraRunning,
167 IMAQdxErrorCameraNotRunning,
168 IMAQdxErrorAttributeNotSupported,
169 IMAQdxErrorAttributeNotSettable,
170 IMAQdxErrorAttributeNotReadable,
171 IMAQdxErrorAttributeOutOfRange,
172 IMAQdxErrorBufferNotAvailable,
173 IMAQdxErrorBufferListEmpty,
174 IMAQdxErrorBufferListLocked,
176 IMAQdxErrorBufferListNotLocked,
178 IMAQdxErrorResourcesAllocated,
181 IMAQdxErrorResourcesUnavailable,
182 IMAQdxErrorAsyncWrite,
183 IMAQdxErrorAsyncRead,
186 IMAQdxErrorInvalidXML,
187 IMAQdxErrorFileAccess,
188 IMAQdxErrorInvalidCameraURLString,
189 IMAQdxErrorInvalidCameraFile,
190 IMAQdxErrorGenICamError,
191 IMAQdxErrorFormat7Parameters,
194 IMAQdxErrorInvalidAttributeType,
196 IMAQdxErrorDLLNotFound,
197 IMAQdxErrorFunctionNotFound,
198 IMAQdxErrorLicenseNotActivated,
199 IMAQdxErrorCameraNotConfiguredForListener,
201 IMAQdxErrorCameraMulticastNotAvailable,
203 IMAQdxErrorBufferHasLostPackets,
206 IMAQdxErrorGiGEVisionError,
207 IMAQdxErrorNetworkError,
208 IMAQdxErrorCameraUnreachable,
209 IMAQdxErrorHighPerformanceNotSupported,
215 IMAQdxErrorInterfaceNotRenamed,
217 IMAQdxErrorNoSupportedVideoModes,
219 IMAQdxErrorSoftwareTriggerOverrun,
220 IMAQdxErrorTestPacketNotReceived,
224 IMAQdxErrorCorruptedImageReceived,
225 IMAQdxErrorCameraConfigurationHasChanged,
228 IMAQdxErrorCameraInvalidAuthentication,
233 IMAQdxErrorUnknownHTTPError,
234 IMAQdxErrorKernelDriverUnavailable,
236 IMAQdxErrorPixelFormatDecoderUnavailable,
238 IMAQdxErrorFirmwareUpdateNeeded,
240 IMAQdxErrorFirmwareUpdateRebootNeeded,
243 IMAQdxErrorLightingCurrentOutOfRange,
245 IMAQdxErrorUSB3VisionError,
246 IMAQdxErrorInvalidU3VUSBDescriptor,
249 IMAQdxErrorU3VInvalidControlInterface,
252 IMAQdxErrorU3VControlInterfaceError,
254 IMAQdxErrorU3VInvalidEventInterface,
257 IMAQdxErrorU3VEventInterfaceError,
259 IMAQdxErrorU3VInvalidStreamInterface,
262 IMAQdxErrorU3VStreamInterfaceError,
264 IMAQdxErrorU3VUnsupportedConnectionSpeed,
271 IMAQdxErrorU3VInsufficientPower,
274 IMAQdxErrorU3VInvalidMaxCurrent,
277 IMAQdxErrorBufferIncompleteData,
280 IMAQdxErrorCameraAcquisitionConfigFailed,
282 IMAQdxErrorCameraClosePending,
285 IMAQdxErrorSoftwareFault,
286 IMAQdxErrorCameraPropertyInvalid,
288 IMAQdxErrorJumboFramesNotEnabled,
291 IMAQdxErrorBayerPixelFormatNotSelected,
294 IMAQdxErrorGuard = 0xFFFFFFFF,
300 typedef enum IMAQdxBusType_enum {
301 IMAQdxBusTypeFireWire = 0x31333934,
302 IMAQdxBusTypeEthernet = 0x69707634,
303 IMAQdxBusTypeSimulator = 0x2073696D,
304 IMAQdxBusTypeDirectShow = 0x64736877,
305 IMAQdxBusTypeIP = 0x4950636D,
306 IMAQdxBusTypeSmartCam2 = 0x53436132,
307 IMAQdxBusTypeUSB3Vision = 0x55534233,
308 IMAQdxBusTypeUVC = 0x55564320,
309 IMAQdxBusTypeGuard = 0xFFFFFFFF,
315 typedef enum IMAQdxCameraControlMode_enum {
316 IMAQdxCameraControlModeController,
317 IMAQdxCameraControlModeListener,
318 IMAQdxCameraControlModeGuard = 0xFFFFFFFF,
319 } IMAQdxCameraControlMode;
324 typedef enum IMAQdxBufferNumberMode_enum {
325 IMAQdxBufferNumberModeNext,
326 IMAQdxBufferNumberModeLast,
327 IMAQdxBufferNumberModeBufferNumber,
328 IMAQdxBufferNumberModeGuard = 0xFFFFFFFF,
329 } IMAQdxBufferNumberMode;
334 typedef enum IMAQdxPnpEvent_enum {
335 IMAQdxPnpEventCameraAttached,
336 IMAQdxPnpEventCameraDetached,
337 IMAQdxPnpEventBusReset,
338 IMAQdxPnpEventGuard = 0xFFFFFFFF,
344 typedef enum IMAQdxBayerPattern_enum {
345 IMAQdxBayerPatternNone,
346 IMAQdxBayerPatternGB,
347 IMAQdxBayerPatternGR,
348 IMAQdxBayerPatternBG,
349 IMAQdxBayerPatternRG,
350 IMAQdxBayerPatternHardware,
351 IMAQdxBayerPatternGuard = 0xFFFFFFFF,
352 } IMAQdxBayerPattern;
357 typedef enum IMAQdxBayerAlgorithm_enum {
358 IMAQdxBayerAlgorithmBilinear,
359 IMAQdxBayerAlgorithmVNG,
360 IMAQdxBayerAlgorithmGuard = 0xFFFFFFFF,
361 } IMAQdxBayerAlgorithm;
366 typedef enum IMAQdxOutputImageType_enum {
367 IMAQdxOutputImageTypeU8 = 0,
368 IMAQdxOutputImageTypeI16 = 1,
369 IMAQdxOutputImageTypeU16 = 7,
370 IMAQdxOutputImageTypeRGB32 = 4,
371 IMAQdxOutputImageTypeRGB64 = 6,
372 IMAQdxOutputImageTypeAuto = 0x7FFFFFFF,
373 IMAQdxOutputImageTypeGuard = 0xFFFFFFFF,
374 } IMAQdxOutputImageType;
379 typedef enum IMAQdxDestinationMode_enum {
380 IMAQdxDestinationModeUnicast,
381 IMAQdxDestinationModeBroadcast,
382 IMAQdxDestinationModeMulticast,
383 IMAQdxDestinationModeGuard = 0xFFFFFFFF,
384 } IMAQdxDestinationMode;
389 typedef enum IMAQdxAttributeType_enum {
390 IMAQdxAttributeTypeU32,
391 IMAQdxAttributeTypeI64,
392 IMAQdxAttributeTypeF64,
393 IMAQdxAttributeTypeString,
394 IMAQdxAttributeTypeEnum,
395 IMAQdxAttributeTypeBool,
396 IMAQdxAttributeTypeCommand,
397 IMAQdxAttributeTypeBlob,
398 IMAQdxAttributeTypeGuard = 0xFFFFFFFF,
399 } IMAQdxAttributeType;
404 typedef enum IMAQdxValueType_enum {
408 IMAQdxValueTypeString,
409 IMAQdxValueTypeEnumItem,
411 IMAQdxValueTypeDisposableString,
412 IMAQdxValueTypeGuard = 0xFFFFFFFF,
418 typedef enum IMAQdxInterfaceFileFlags_enum {
419 IMAQdxInterfaceFileFlagsConnected = 0x1,
420 IMAQdxInterfaceFileFlagsDirty = 0x2,
421 IMAQdxInterfaceFileFlagsGuard = 0xFFFFFFFF,
422 } IMAQdxInterfaceFileFlags;
427 typedef enum IMAQdxOverwriteMode_enum {
428 IMAQdxOverwriteModeGetOldest = 0x0,
429 IMAQdxOverwriteModeFail = 0x2,
430 IMAQdxOverwriteModeGetNewest = 0x3,
431 IMAQdxOverwriteModeGuard = 0xFFFFFFFF,
432 } IMAQdxOverwriteMode;
437 typedef enum IMAQdxIncompleteBufferMode_enum {
438 IMAQdxIncompleteBufferModeIgnore,
439 IMAQdxIncompleteBufferModeFail,
440 IMAQdxIncompleteBufferModeGuard = 0xFFFFFFFF,
441 } IMAQdxIncompleteBufferMode;
446 typedef enum IMAQdxLostPacketMode_enum {
447 IMAQdxLostPacketModeIgnore,
448 IMAQdxLostPacketModeFail,
449 IMAQdxLostPacketModeGuard = 0xFFFFFFFF,
450 } IMAQdxLostPacketMode;
455 typedef enum IMAQdxAttributeVisibility_enum {
456 IMAQdxAttributeVisibilitySimple = 0x00001000,
457 IMAQdxAttributeVisibilityIntermediate = 0x00002000,
458 IMAQdxAttributeVisibilityAdvanced = 0x00004000,
459 IMAQdxAttributeVisibilityGuard = 0xFFFFFFFF,
460 } IMAQdxAttributeVisibility;
465 typedef enum IMAQdxStreamChannelMode_enum {
466 IMAQdxStreamChannelModeAutomatic,
467 IMAQdxStreamChannelModeManual,
468 IMAQdxStreamChannelModeGuard = 0xFFFFFFFF,
469 } IMAQdxStreamChannelMode;
474 typedef enum IMAQdxPixelSignedness_enum {
475 IMAQdxPixelSignednessUnsigned,
476 IMAQdxPixelSignednessSigned,
477 IMAQdxPixelSignednessHardware,
478 IMAQdxPixelSignednessGuard = 0xFFFFFFFF,
479 } IMAQdxPixelSignedness;
484 typedef enum IMAQdxUSBConnectionSpeed_enum {
485 IMAQdxUSBConnectionSpeedLow = 1,
486 IMAQdxUSBConnectionSpeedFull = 2,
487 IMAQdxUSBConnectionSpeedHigh = 4,
488 IMAQdxUSBConnectionSpeedSuper = 8,
489 IMAQdxUSBConnectionSpeedGuard = 0xFFFFFFFF,
490 } IMAQdxUSBConnectionSpeed;
495 #pragma pack(push, 4)
504 uInt32 SerialNumberHi;
505 uInt32 SerialNumberLo;
506 IMAQdxBusType BusType;
507 char InterfaceName[IMAQDX_MAX_API_STRING_LENGTH];
508 char VendorName[IMAQDX_MAX_API_STRING_LENGTH];
509 char ModelName[IMAQDX_MAX_API_STRING_LENGTH];
510 char CameraFileName[IMAQDX_MAX_API_STRING_LENGTH];
511 char CameraAttributeURL[IMAQDX_MAX_API_STRING_LENGTH];
520 char FileName[IMAQDX_MAX_API_STRING_LENGTH];
527 IMAQdxAttributeType Type;
530 char Name[IMAQDX_MAX_API_STRING_LENGTH];
539 char Name[IMAQDX_MAX_API_STRING_LENGTH];
552 typedef uInt32(NI_FUNC* FrameDoneEventCallbackPtr)(IMAQdxSession id,
555 typedef uInt32(NI_FUNC* PnpEventCallbackPtr)(IMAQdxSession id,
556 IMAQdxPnpEvent pnpEvent,
558 typedef void(NI_FUNC* AttributeUpdatedEventCallbackPtr)(IMAQdxSession id,
562 #endif // niimaqdx_types
566 #define IMAQdxAttributeBaseAddress \
567 "CameraInformation::BaseAddress" // Read only. Gets the base address of the
569 #define IMAQdxAttributeBusType \
570 "CameraInformation::BusType" // Read only. Gets the bus type of the camera.
571 #define IMAQdxAttributeModelName \
572 "CameraInformation::ModelName" // Read only. Returns the model name.
573 #define IMAQdxAttributeSerialNumberHigh \
574 "CameraInformation::SerialNumberHigh" // Read only. Gets the upper 32-bits of
576 #define IMAQdxAttributeSerialNumberLow \
577 "CameraInformation::SerialNumberLow" // Read only. Gets the lower 32-bits of
579 #define IMAQdxAttributeVendorName \
580 "CameraInformation::VendorName" // Read only. Returns the vendor name.
581 #define IMAQdxAttributeHostIPAddress \
582 "CameraInformation::HostIPAddress" // Read only. Returns the host adapter IP
584 #define IMAQdxAttributeIPAddress \
585 "CameraInformation::IPAddress" // Read only. Returns the IP address.
586 #define IMAQdxAttributePrimaryURLString \
587 "CameraInformation::PrimaryURLString" // Read only. Gets the camera's primary
589 #define IMAQdxAttributeSecondaryURLString \
590 "CameraInformation::SecondaryURLString" // Read only. Gets the camera's
592 #define IMAQdxAttributeAcqInProgress \
593 "StatusInformation::AcqInProgress" // Read only. Gets the current state of
596 #define IMAQdxAttributeLastBufferCount \
597 "StatusInformation::LastBufferCount" // Read only. Gets the number of
599 #define IMAQdxAttributeLastBufferNumber \
600 "StatusInformation::LastBufferNumber" // Read only. Gets the last cumulative
602 #define IMAQdxAttributeLostBufferCount \
603 "StatusInformation::LostBufferCount" // Read only. Gets the number of lost
606 #define IMAQdxAttributeLostPacketCount \
607 "StatusInformation::LostPacketCount" // Read only. Gets the number of lost
610 #define IMAQdxAttributeRequestedResendPackets \
611 "StatusInformation::RequestedResendPacketCount" // Read only. Gets the number
615 #define IMAQdxAttributeReceivedResendPackets \
616 "StatusInformation::ReceivedResendPackets" // Read only. Gets the number of
620 #define IMAQdxAttributeHandledEventCount \
621 "StatusInformation::HandledEventCount" // Read only. Gets the number of
624 #define IMAQdxAttributeLostEventCount \
625 "StatusInformation::LostEventCount" // Read only. Gets the number of lost
627 #define IMAQdxAttributeBayerGainB \
628 "AcquisitionAttributes::Bayer::GainB" // Sets/gets the white balance gain for
631 #define IMAQdxAttributeBayerGainG \
632 "AcquisitionAttributes::Bayer::GainG" // Sets/gets the white balance gain for
635 #define IMAQdxAttributeBayerGainR \
636 "AcquisitionAttributes::Bayer::GainR" // Sets/gets the white balance gain for
639 #define IMAQdxAttributeBayerPattern \
640 "AcquisitionAttributes::Bayer::Pattern" // Sets/gets the Bayer pattern to
642 #define IMAQdxAttributeStreamChannelMode \
643 "AcquisitionAttributes::Controller::StreamChannelMode" // Gets/sets the mode
647 #define IMAQdxAttributeDesiredStreamChannel \
648 "AcquisitionAttributes::Controller::DesiredStreamChannel" // Gets/sets the
652 #define IMAQdxAttributeFrameInterval \
653 "AcquisitionAttributes::FrameInterval" // Read only. Gets the duration in
656 #define IMAQdxAttributeIgnoreFirstFrame \
657 "AcquisitionAttributes::IgnoreFirstFrame" // Gets/sets the video delay of one
661 #define IMAQdxAttributeOffsetX \
662 "OffsetX" // Gets/sets the left offset of the image.
663 #define IMAQdxAttributeOffsetY \
664 "OffsetY" // Gets/sets the top offset of the image.
665 #define IMAQdxAttributeWidth "Width" // Gets/sets the width of the image.
666 #define IMAQdxAttributeHeight "Height" // Gets/sets the height of the image.
667 #define IMAQdxAttributePixelFormat \
668 "PixelFormat" // Gets/sets the pixel format of the source sensor.
669 #define IMAQdxAttributePacketSize \
670 "PacketSize" // Gets/sets the packet size in bytes.
671 #define IMAQdxAttributePayloadSize \
672 "PayloadSize" // Gets/sets the frame size in bytes.
673 #define IMAQdxAttributeSpeed \
674 "AcquisitionAttributes::Speed" // Gets/sets the transfer speed in Mbps for a
676 #define IMAQdxAttributeShiftPixelBits \
677 "AcquisitionAttributes::ShiftPixelBits" // Gets/sets the alignment of 16-bit
681 #define IMAQdxAttributeSwapPixelBytes \
682 "AcquisitionAttributes::SwapPixelBytes" // Gets/sets the endianness of 16-bit
686 #define IMAQdxAttributeOverwriteMode \
687 "AcquisitionAttributes::OverwriteMode" // Gets/sets the overwrite mode, used
692 #define IMAQdxAttributeTimeout \
693 "AcquisitionAttributes::Timeout" // Gets/sets the timeout value in
697 #define IMAQdxAttributeVideoMode \
698 "AcquisitionAttributes::VideoMode" // Gets/sets the video mode for a camera.
699 #define IMAQdxAttributeBitsPerPixel \
700 "AcquisitionAttributes::BitsPerPixel" // Gets/sets the actual bits per pixel.
704 #define IMAQdxAttributePixelSignedness \
705 "AcquisitionAttributes::PixelSignedness" // Gets/sets the signedness of the
709 #define IMAQdxAttributeReserveDualPackets \
710 "AcquisitionAttributes::ReserveDualPackets" // Gets/sets if dual packets will
713 #define IMAQdxAttributeReceiveTimestampMode \
714 "AcquisitionAttributes::ReceiveTimestampMode" // Gets/sets the mode for
717 #define IMAQdxAttributeActualPeakBandwidth \
718 "AcquisitionAttributes::AdvancedEthernet::BandwidthControl::" \
719 "ActualPeakBandwidth" // Read only. Returns the actual maximum peak bandwidth
721 #define IMAQdxAttributeDesiredPeakBandwidth \
722 "AcquisitionAttributes::AdvancedEthernet::BandwidthControl::" \
723 "DesiredPeakBandwidth" // Gets/sets the desired maximum peak bandwidth the
725 #define IMAQdxAttributeDestinationMode \
726 "AcquisitionAttributes::AdvancedEthernet::Controller::DestinationMode" // Gets/Sets
737 #define IMAQdxAttributeDestinationMulticastAddress \
738 "AcquisitionAttributes::AdvancedEthernet::Controller::" \
739 "DestinationMulticastAddress" // Gets/Sets the multicast address the camera
741 #define IMAQdxAttributeEventsEnabled \
742 "AcquisitionAttributes::AdvancedEthernet::EventParameters::EventsEnabled" // Gets/Sets if events will be handled.
743 #define IMAQdxAttributeMaxOutstandingEvents \
744 "AcquisitionAttributes::AdvancedEthernet::EventParameters::" \
745 "MaxOutstandingEvents" // Gets/Sets the maximum number of outstanding events
747 #define IMAQdxAttributeTestPacketEnabled \
748 "AcquisitionAttributes::AdvancedEthernet::TestPacketParameters::" \
749 "TestPacketEnabled" // Gets/Sets whether the driver will validate the image
752 #define IMAQdxAttributeTestPacketTimeout \
753 "AcquisitionAttributes::AdvancedEthernet::TestPacketParameters::" \
754 "TestPacketTimeout" // Gets/Sets the timeout for validating test packet
756 #define IMAQdxAttributeMaxTestPacketRetries \
757 "AcquisitionAttributes::AdvancedEthernet::TestPacketParameters::" \
758 "MaxTestPacketRetries" // Gets/Sets the number of retries for validating test
760 #define IMAQdxAttributeChunkDataDecodingEnabled \
761 "AcquisitionAttributes::ChunkDataDecoding::ChunkDataDecodingEnabled" // Gets/Sets
774 #define IMAQdxAttributeChunkDataDecodingMaxElementSize \
775 "AcquisitionAttributes::ChunkDataDecoding::MaximumChunkCopySize" // Gets/Sets
787 #define IMAQdxAttributeLostPacketMode \
788 "AcquisitionAttributes::AdvancedEthernet::LostPacketMode" // Gets/sets the
794 #define IMAQdxAttributeMemoryWindowSize \
795 "AcquisitionAttributes::AdvancedEthernet::ResendParameters::" \
796 "MemoryWindowSize" // Gets/sets the size of the memory window of the camera
799 #define IMAQdxAttributeResendsEnabled \
800 "AcquisitionAttributes::AdvancedEthernet::ResendParameters::ResendsEnabled" // Gets/sets if resends will be issued for missing packets.
801 #define IMAQdxAttributeResendThresholdPercentage \
802 "AcquisitionAttributes::AdvancedEthernet::ResendParameters::" \
803 "ResendThresholdPercentage" // Gets/sets the threshold of the packet
806 #define IMAQdxAttributeResendBatchingPercentage \
807 "AcquisitionAttributes::AdvancedEthernet::ResendParameters::" \
808 "ResendBatchingPercentage" // Gets/sets the percent of the packet resend
811 #define IMAQdxAttributeMaxResendsPerPacket \
812 "AcquisitionAttributes::AdvancedEthernet::ResendParameters::" \
813 "MaxResendsPerPacket" // Gets/sets the maximum number of resend requests that
815 #define IMAQdxAttributeResendResponseTimeout \
816 "AcquisitionAttributes::AdvancedEthernet::ResendParameters::" \
817 "ResendResponseTimeout" // Gets/sets the time to wait for a resend request to
819 #define IMAQdxAttributeNewPacketTimeout \
820 "AcquisitionAttributes::AdvancedEthernet::ResendParameters::" \
821 "NewPacketTimeout" // Gets/sets the time to wait for new packets to arrive in
824 #define IMAQdxAttributeMissingPacketTimeout \
825 "AcquisitionAttributes::AdvancedEthernet::ResendParameters::" \
826 "MissingPacketTimeout" // Gets/sets the time to wait for a missing packet
828 #define IMAQdxAttributeResendTimerResolution \
829 "AcquisitionAttributes::AdvancedEthernet::ResendParameters::" \
830 "ResendTimerResolution" // Gets/sets the resolution of the packet processing
837 IMAQdxError NI_FUNC IMAQdxSnap(IMAQdxSession
id, Image* image);
838 IMAQdxError NI_FUNC IMAQdxConfigureGrab(IMAQdxSession
id);
839 IMAQdxError NI_FUNC IMAQdxGrab(IMAQdxSession
id, Image* image,
840 bool32 waitForNextBuffer,
841 uInt32* actualBufferNumber);
843 IMAQdxSequence(IMAQdxSession
id, Image* images[], uInt32 count);
845 IMAQdxDiscoverEthernetCameras(
const char* address, uInt32 timeout);
848 uInt32* count, bool32 connectedOnly);
849 IMAQdxError NI_FUNC IMAQdxResetCamera(
const char* name, bool32 resetAll);
850 IMAQdxError NI_FUNC IMAQdxOpenCamera(
const char* name,
851 IMAQdxCameraControlMode mode,
853 IMAQdxError NI_FUNC IMAQdxCloseCamera(IMAQdxSession
id);
854 IMAQdxError NI_FUNC IMAQdxConfigureAcquisition(IMAQdxSession
id,
857 IMAQdxError NI_FUNC IMAQdxStartAcquisition(IMAQdxSession
id);
859 IMAQdxGetImage(IMAQdxSession
id, Image* image, IMAQdxBufferNumberMode mode,
860 uInt32 desiredBufferNumber, uInt32* actualBufferNumber);
862 IMAQdxGetImageData(IMAQdxSession
id,
void* buffer, uInt32 bufferSize,
863 IMAQdxBufferNumberMode mode, uInt32 desiredBufferNumber,
864 uInt32* actualBufferNumber);
865 IMAQdxError NI_FUNC IMAQdxStopAcquisition(IMAQdxSession
id);
866 IMAQdxError NI_FUNC IMAQdxUnconfigureAcquisition(IMAQdxSession
id);
868 IMAQdxEnumerateVideoModes(IMAQdxSession
id, IMAQdxVideoMode videoModeArray[],
869 uInt32* count, uInt32* currentMode);
870 IMAQdxError NI_FUNC IMAQdxEnumerateAttributes(
872 uInt32* count,
const char* root);
873 IMAQdxError NI_FUNC IMAQdxGetAttribute(IMAQdxSession
id,
const char* name,
874 IMAQdxValueType type,
void* value);
875 IMAQdxError NI_FUNCC IMAQdxSetAttribute(IMAQdxSession
id,
const char* name,
876 IMAQdxValueType type, ...);
878 IMAQdxGetAttributeMinimum(IMAQdxSession
id,
const char* name,
879 IMAQdxValueType type,
void* value);
881 IMAQdxGetAttributeMaximum(IMAQdxSession
id,
const char* name,
882 IMAQdxValueType type,
void* value);
884 IMAQdxGetAttributeIncrement(IMAQdxSession
id,
const char* name,
885 IMAQdxValueType type,
void* value);
886 IMAQdxError NI_FUNC IMAQdxGetAttributeType(IMAQdxSession
id,
const char* name,
887 IMAQdxAttributeType* type);
889 IMAQdxIsAttributeReadable(IMAQdxSession
id,
const char* name, bool32* readable);
891 IMAQdxIsAttributeWritable(IMAQdxSession
id,
const char* name, bool32* writable);
893 IMAQdxEnumerateAttributeValues(IMAQdxSession
id,
const char* name,
895 IMAQdxError NI_FUNC IMAQdxGetAttributeTooltip(IMAQdxSession
id,
896 const char* name,
char* tooltip,
898 IMAQdxError NI_FUNC IMAQdxGetAttributeUnits(IMAQdxSession
id,
const char* name,
899 char* units, uInt32 length);
901 IMAQdxRegisterFrameDoneEvent(IMAQdxSession
id, uInt32 bufferInterval,
902 FrameDoneEventCallbackPtr callbackFunction,
904 IMAQdxError NI_FUNC IMAQdxRegisterPnpEvent(IMAQdxSession
id,
905 IMAQdxPnpEvent event,
906 PnpEventCallbackPtr callbackFunction,
909 IMAQdxWriteRegister(IMAQdxSession
id, uInt32 offset, uInt32 value);
911 IMAQdxReadRegister(IMAQdxSession
id, uInt32 offset, uInt32* value);
912 IMAQdxError NI_FUNC IMAQdxWriteMemory(IMAQdxSession
id, uInt32 offset,
913 const char* values, uInt32 count);
915 IMAQdxReadMemory(IMAQdxSession
id, uInt32 offset,
char* values, uInt32 count);
917 IMAQdxGetErrorString(IMAQdxError error,
char* message, uInt32 messageLength);
919 IMAQdxWriteAttributes(IMAQdxSession
id,
const char* filename);
921 IMAQdxReadAttributes(IMAQdxSession
id,
const char* filename);
923 IMAQdxResetEthernetCameraAddress(
const char* name,
const char* address,
924 const char* subnet,
const char* gateway,
926 IMAQdxError NI_FUNC IMAQdxEnumerateAttributes2(
928 uInt32* count,
const char* root, IMAQdxAttributeVisibility visibility);
930 IMAQdxGetAttributeVisibility(IMAQdxSession
id,
const char* name,
931 IMAQdxAttributeVisibility* visibility);
933 IMAQdxGetAttributeDescription(IMAQdxSession
id,
const char* name,
934 char* description, uInt32 length);
936 IMAQdxGetAttributeDisplayName(IMAQdxSession
id,
const char* name,
937 char* displayName, uInt32 length);
938 IMAQdxError NI_FUNC IMAQdxDispose(
void* buffer);
939 IMAQdxError NI_FUNC IMAQdxRegisterAttributeUpdatedEvent(
940 IMAQdxSession
id,
const char* name,
941 AttributeUpdatedEventCallbackPtr callbackFunction,
void* callbackData);
942 IMAQdxError NI_FUNC IMAQdxEnumerateAttributes3(
944 uInt32* count,
const char* root, IMAQdxAttributeVisibility visibility);
950 #endif // ___niimaqdx_h___
Definition: NIIMAQdx.h:536
Definition: NIIMAQdx.h:517