www.pudn.com > LabWindowsCVI.rar > GF.h
/**************************************************************************** * GPIB_FG *--------------------------------------------------------------------------- * Copyright (c) National Instruments 1998. All Rights Reserved. *--------------------------------------------------------------------------- * * Title: GF.h * Purpose: GPIB_FG * instrument driver declarations. * ****************************************************************************/ #ifndef __GF_HEADER #define __GF_HEADER #include#include #if defined(__cplusplus) || defined(__cplusplus__) extern "C" { #endif /**************************************************************************** *----------------- Instrument Driver Revision Information -----------------* ****************************************************************************/ #define GF_MAJOR_VERSION 1 /* Instrument driver major version */ #define GF_MINOR_VERSION 0 /* Instrument driver minor version */ /**************************************************************************** *------------------------------ Useful Macros -----------------------------* ****************************************************************************/ /*=CHANGE:=============================================================== Add useful instrument macros here. *============================================================END=CHANGE=*/ /**************************************************************************** *---------------------------- Attribute Defines ---------------------------* ****************************************************************************/ /*- IVI Inherent Instrument Attributes ---------------------------------*/ /* User Options */ #define GF_ATTR_RANGE_CHECK IVI_ATTR_RANGE_CHECK /* ViBoolean */ #define GF_ATTR_QUERY_INSTR_STATUS IVI_ATTR_QUERY_INSTR_STATUS /* ViBoolean */ #define GF_ATTR_CACHE IVI_ATTR_CACHE /* ViBoolean */ #define GF_ATTR_SIMULATE IVI_ATTR_SIMULATE /* ViBoolean */ #define GF_ATTR_RECORD_COERCIONS IVI_ATTR_RECORD_COERCIONS /* ViBoolean */ /* Instrument Capabilities */ #define GF_ATTR_NUM_CHANNELS IVI_ATTR_NUM_CHANNELS /* ViInt32, Read-only */ #define GF_ATTR_SPECIFIC_PREFIX IVI_ATTR_SPECIFIC_PREFIX /* ViString, Read-only */ /* Version Info */ #define GF_ATTR_DRIVER_MAJOR_VERSION IVI_ATTR_DRIVER_MAJOR_VERSION /* ViInt32, Read-only */ #define GF_ATTR_DRIVER_MINOR_VERSION IVI_ATTR_DRIVER_MINOR_VERSION /* ViInt32, Read-only */ #define GF_ATTR_DRIVER_REVISION IVI_ATTR_DRIVER_REVISION /* ViString, Read-only */ #define GF_ATTR_ENGINE_MAJOR_VERSION IVI_ATTR_ENGINE_MAJOR_VERSION /* ViInt32, Read-only */ #define GF_ATTR_ENGINE_MINOR_VERSION IVI_ATTR_ENGINE_MINOR_VERSION /* ViInt32, Read-only */ #define GF_ATTR_ENGINE_REVISION IVI_ATTR_ENGINE_REVISION /* ViString, Read-only */ /* Error Info */ #define GF_ATTR_PRIMARY_ERROR IVI_ATTR_PRIMARY_ERROR /* ViInt32 */ #define GF_ATTR_SECONDARY_ERROR IVI_ATTR_SECONDARY_ERROR /* ViInt32 */ #define GF_ATTR_ERROR_ELABORATION IVI_ATTR_ERROR_ELABORATION /* ViString */ /* Advanced Session I/O */ #define GF_ATTR_VISA_RM_SESSION IVI_ATTR_VISA_RM_SESSION /* ViSession, Read-only */ #define GF_ATTR_IO_SESSION IVI_ATTR_IO_SESSION /* ViSession, Read-only */ #define GF_ATTR_DEFER_UPDATE IVI_ATTR_DEFER_UPDATE /* ViBoolean */ #define GF_ATTR_RETURN_DEFERRED_VALUES IVI_ATTR_RETURN_DEFERRED_VALUES /* ViBoolean */ /*- Instrument-Specific Attributes -------------------------------------*/ /*- Basic Instrument Operation -----------------------------------------*/ #define GF_ATTR_OUTPUT_MODE IVIFGEN_ATTR_OUTPUT_MODE /* ViInt32 */ #define GF_ATTR_REF_CLOCK_SOURCE IVIFGEN_ATTR_REF_CLOCK_SOURCE /* ViInt32 */ #define GF_ATTR_OUTPUT_ENABLED IVIFGEN_ATTR_OUTPUT_ENABLED /* ViBoolean, multi-channel */ #define GF_ATTR_OUTPUT_IMPEDANCE IVIFGEN_ATTR_OUTPUT_IMPEDANCE /* ViReal64, multi-channel, ohms */ /*- Standard Waveform Generation ---------------------------------------*/ #define GF_ATTR_FUNC_WAVEFORM IVIFGEN_ATTR_FUNC_WAVEFORM /* ViInt32, multi-channel */ #define GF_ATTR_FUNC_AMPLITUDE IVIFGEN_ATTR_FUNC_AMPLITUDE /* ViReal64, multi-channel, volts */ #define GF_ATTR_FUNC_DC_OFFSET IVIFGEN_ATTR_FUNC_DC_OFFSET /* ViReal64, multi-channel, volts */ #define GF_ATTR_FUNC_FREQUENCY IVIFGEN_ATTR_FUNC_FREQUENCY /* ViReal64, multi-channel, hertz */ #define GF_ATTR_FUNC_START_PHASE IVIFGEN_ATTR_FUNC_START_PHASE /* ViReal64, multi-channel, degrees */ #define GF_ATTR_FUNC_DUTY_CYCLE_HIGH IVIFGEN_ATTR_FUNC_DUTY_CYCLE_HIGH /* ViReal64, multi-channel, percent */ /*- Arbitrary Waveform Generation --------------------------------------*/ #define GF_ATTR_ARB_WAVEFORM_HANDLE IVIFGEN_ATTR_ARB_WAVEFORM_HANDLE /* ViInt32, multi-channel */ #define GF_ATTR_ARB_GAIN IVIFGEN_ATTR_ARB_GAIN /* ViReal64, multi-channel */ #define GF_ATTR_ARB_OFFSET IVIFGEN_ATTR_ARB_OFFSET /* ViReal64, multi-channel, volts */ #define GF_ATTR_ARB_SAMPLE_RATE IVIFGEN_ATTR_ARB_SAMPLE_RATE /* ViReal64, samples-per-second */ #define GF_ATTR_MAX_NUM_WAVEFORMS IVIFGEN_ATTR_MAX_NUM_WAVEFORMS /* ViInt32, read-only */ #define GF_ATTR_WAVEFORM_QUANTUM IVIFGEN_ATTR_WAVEFORM_QUANTUM /* ViInt32, read-only */ #define GF_ATTR_MIN_WAVEFORM_SIZE IVIFGEN_ATTR_MIN_WAVEFORM_SIZE /* ViInt32, read-only */ #define GF_ATTR_MAX_WAVEFORM_SIZE IVIFGEN_ATTR_MAX_WAVEFORM_SIZE /* ViInt32, read-only */ /*- Arbitrary Sequence Generation --------------------------------------*/ #define GF_ATTR_ARB_SEQUENCE_HANDLE IVIFGEN_ATTR_ARB_SEQUENCE_HANDLE /* ViInt32, multi-channel */ #define GF_ATTR_MAX_NUM_SEQUENCES IVIFGEN_ATTR_MAX_NUM_SEQUENCES /* ViInt32, read-only */ #define GF_ATTR_MIN_SEQUENCE_LENGTH IVIFGEN_ATTR_MIN_SEQUENCE_LENGTH /* ViInt32, read-only */ #define GF_ATTR_MAX_SEQUENCE_LENGTH IVIFGEN_ATTR_MAX_SEQUENCE_LENGTH /* ViInt32, read-only */ #define GF_ATTR_MAX_LOOP_COUNT IVIFGEN_ATTR_MAX_LOOP_COUNT /* ViInt32, read-only */ /*- Trigger Configuration ----------------------------------------------*/ #define GF_ATTR_CYCLE_COUNT IVIFGEN_ATTR_CYCLE_COUNT /* ViInt32, multi-channel */ #define GF_ATTR_TRIGGER_SOURCE IVIFGEN_ATTR_TRIGGER_SOURCE /* ViInt32, multi-channel */ /*- Ampitude Modulation Generation -------------------------------------*/ #define GF_ATTR_AM_ENABLED IVIFGEN_ATTR_AM_ENABLED /* ViBoolean, multi-channel */ #define GF_ATTR_AM_SOURCE IVIFGEN_ATTR_AM_SOURCE /* ViInt32, multi-channel */ #define GF_ATTR_AM_INTERNAL_DEPTH IVIFGEN_ATTR_AM_INTERNAL_DEPTH /* ViReal64, percent */ #define GF_ATTR_AM_INTERNAL_WAVEFORM IVIFGEN_ATTR_AM_INTERNAL_WAVEFORM /* ViInt32 */ #define GF_ATTR_AM_INTERNAL_FREQUENCY IVIFGEN_ATTR_AM_INTERNAL_FREQUENCY /* ViReal64, hertz */ /*- Frequency Modulation Generation ------------------------------------*/ #define GF_ATTR_FM_ENABLED IVIFGEN_ATTR_FM_ENABLED /* ViBoolean, multi-channel */ #define GF_ATTR_FM_SOURCE IVIFGEN_ATTR_FM_SOURCE /* ViInt32, multi-channel */ #define GF_ATTR_FM_INTERNAL_DEVIATION IVIFGEN_ATTR_FM_INTERNAL_DEVIATION /* ViReal64, hertz */ #define GF_ATTR_FM_INTERNAL_WAVEFORM IVIFGEN_ATTR_FM_INTERNAL_WAVEFORM /* ViInt32 */ #define GF_ATTR_FM_INTERNAL_FREQUENCY IVIFGEN_ATTR_FM_INTERNAL_FREQUENCY /* ViReal64, hertz */ /*=CHANGE:===============================================================* Add attribute definitions here. #define GF_ATTR_MY_ATTRIBUTE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 2L) *============================================================END=CHANGE=*/ /**************************************************************************** *------------------------ Attribute Value Defines -------------------------* ****************************************************************************/ /*- Defined values for attribute GF_ATTR_FUNCTION --------------*/ #define GF_VAL_OUTPUT_FUNC IVIFGEN_VAL_OUTPUT_FUNC #define GF_VAL_OUTPUT_ARB IVIFGEN_VAL_OUTPUT_ARB #define GF_VAL_OUTPUT_SEQ IVIFGEN_VAL_OUTPUT_SEQ /*=CHANGE:==================================================================* Add definitions for instrument specific values for GF_ATTR_OUTPUT_MODE here starting at IVIFGEN_VAL_OUT_MODE_SPECIFIC_EXT_BASE. Example: #define GF_VAL_NEW_OUTPUT_MODE (IVIFGEN_VAL_OUT_MODE_SPECIFIC_EXT_BASE + 1) *===============================================================END=CHANGE=*/ /*- Defined values for attribute GF_ATTR_REF_CLOCK_SOURCE ------*/ #define GF_VAL_INTERNAL IVIFGEN_VAL_INTERNAL #define GF_VAL_EXTERNAL IVIFGEN_VAL_EXTERNAL /*=CHANGE:==================================================================* Add definitions for instrument specific values for GF_ATTR_REF_CLOCK_SOURCE here starting at IVIFGEN_VAL_CLK_SRC_SPECIFIC_EXT_BASE. Example: #define GF_VAL_NEW_REF_CLOCK_SOURCE (IVIFGEN_VAL_CLK_SRC_SPECIFIC_EXT_BASE + 1) *===============================================================END=CHANGE=*/ /*- Defined values for attribute GF_ATTR_OUTPUT_IMPEDANCE ------*/ #define GF_VAL_50_OHMS IVIFGEN_VAL_50_OHMS #define GF_VAL_75_OHMS IVIFGEN_VAL_75_OHMS #define GF_VAL_1_MEGA_OHM IVIFGEN_VAL_1_MEGA_OHM /*- Defined values for attribute GF_ATTR_FUNC_WAVEFORM ---------*/ #define GF_VAL_WFM_SINE IVIFGEN_VAL_WFM_SINE #define GF_VAL_WFM_SQUARE IVIFGEN_VAL_WFM_SQUARE #define GF_VAL_WFM_TRIANGLE IVIFGEN_VAL_WFM_TRIANGLE #define GF_VAL_WFM_RAMP_UP IVIFGEN_VAL_WFM_RAMP_UP #define GF_VAL_WFM_RAMP_DOWN IVIFGEN_VAL_WFM_RAMP_DOWN #define GF_VAL_WFM_DC IVIFGEN_VAL_WFM_DC /*=CHANGE:==================================================================* Add definitions for instrument specific values for GF_ATTR_FUNC_WAVEFORM here starting at IVIFGEN_VAL_WFM_SPECIFIC_EXT_BASE. Example: #define GF_VAL_NEW_FUNC_WAVEFORM (IVIFGEN_VAL_WFM_SPECIFIC_EXT_BASE + 1) *===============================================================END=CHANGE=*/ /*- Defined values for Arbitrary Waveform Handles ---------------------------------*/ #define GF_VAL_ALL_WAVEFORMS IVIFGEN_VAL_ALL_WAVEFORMS /*- Defined values for attribute GF_ATTR_ARB_WAVEFORM_HANDLE ---*/ #define GF_VAL_ALL_SEQUENCES IVIFGEN_VAL_ALL_SEQUENCES /*- Define values for atttribute GF_ATTR_CYCLE_COUNT -----------*/ #define GF_VAL_GENERATE_CONTINUOUS IVIFGEN_VAL_GENERATE_CONTINUOUS /*- Defined values for attribute GF_ATTR_TRIGGER_SOURCE --------*/ #define GF_VAL_IMMEDIATE IVIFGEN_VAL_IMMEDIATE /* #define GF_VAL_EXTERNAL DEFINED ABOVE */ #define GF_VAL_SW_TRIG_FUNC IVIFGEN_VAL_SW_TRIG_FUNC #define GF_VAL_GPIB_GET IVIFGEN_VAL_GPIB_GET #define GF_VAL_TTL0 IVIFGEN_VAL_TTL0 #define GF_VAL_TTL1 IVIFGEN_VAL_TTL1 #define GF_VAL_TTL2 IVIFGEN_VAL_TTL2 #define GF_VAL_TTL3 IVIFGEN_VAL_TTL3 #define GF_VAL_TTL4 IVIFGEN_VAL_TTL4 #define GF_VAL_TTL5 IVIFGEN_VAL_TTL5 #define GF_VAL_TTL6 IVIFGEN_VAL_TTL6 #define GF_VAL_TTL7 IVIFGEN_VAL_TTL7 #define GF_VAL_ECL0 IVIFGEN_VAL_ECL0 #define GF_VAL_ECL1 IVIFGEN_VAL_ECL1 #define GF_VAL_PXI_STAR IVIFGEN_VAL_PXI_STAR #define GF_VAL_RTSI_0 IVIFGEN_VAL_RTSI_0 #define GF_VAL_RTSI_1 IVIFGEN_VAL_RTSI_1 #define GF_VAL_RTSI_2 IVIFGEN_VAL_RTSI_2 #define GF_VAL_RTSI_3 IVIFGEN_VAL_RTSI_3 #define GF_VAL_RTSI_4 IVIFGEN_VAL_RTSI_4 #define GF_VAL_RTSI_5 IVIFGEN_VAL_RTSI_5 #define GF_VAL_RTSI_6 IVIFGEN_VAL_RTSI_6 /*=CHANGE:====================================================================* Add definitions for instrument specific values for GF_ATTR_TRIGGER_SOURCE here starting at IVIFGEN_VAL_TRIG_SRC_SPECIFIC_EXT_BASE. Example: #define GF_VAL_NEW_TRIGGER (IVIFGEN_VAL_TRIG_SRC_SPECIFIC_EXT_BASE + 1) *=================================================================END=CHANGE=*/ /*- Defined values for attribute GF_ATTR_AM_SOURCE -*/ /* #define GF_VAL_INTERNAL DEFINED ABOVE */ /* #define GF_VAL_EXTERNAL DEFINED ABOVE */ /*=CHANGE:====================================================================* Add definitions for instrument specific values for GF_ATTR_AM_SOURCE here starting at IVIFGEN_VAL_AM_SOURCE_SPECIFIC_EXT_BASE. Example: #define GF_VAL_NEW_AM_SOURCE (IVIFGEN_VAL_AM_SOURCE_SPECIFIC_EXT_BASE + 1) *=================================================================END=CHANGE=*/ /*- Defined values for attribute GF_ATTR_AM_INTERNAL_WAVEFORM -*/ /* #define GF_VAL_WFM_SINE DEFINED ABOVE */ /* #define GF_VAL_WFM_SQUARE DEFINED ABOVE */ /* #define GF_VAL_WFM_TRIANGLE DEFINED ABOVE */ /* #define GF_VAL_WFM_RAMP_UP DEFINED ABOVE */ /* #define GF_VAL_WFM_RAMP_DOWN DEFINED ABOVE */ /*- Defined values for attribute GF_ATTR_FM_SOURCE -*/ /* #define GF_VAL_INTERNAL DEFINED ABOVE */ /* #define GF_VAL_EXTERNAL DEFINED ABOVE */ /*=CHANGE:====================================================================* Add definitions for instrument specific values for GF_ATTR_FM_SOURCE here starting at IVIFGEN_VAL_FM_SOURCE_SPECIFIC_EXT_BASE. Example: #define GF_VAL_NEW_FM_SOURCE (IVIFGEN_VAL_FM_SOURCE_SPECIFIC_EXT_BASE + 1) *=================================================================END=CHANGE=*/ /*- Defined values for attribute GF_ATTR_FM_INTERNAL_WAVEFORM -*/ /* #define GF_VAL_WFM_SINE DEFINED ABOVE */ /* #define GF_VAL_WFM_SQUARE DEFINED ABOVE */ /* #define GF_VAL_WFM_TRIANGLE DEFINED ABOVE */ /* #define GF_VAL_WFM_RAMP_UP DEFINED ABOVE */ /* #define GF_VAL_WFM_RAMP_DOWN DEFINED ABOVE */ /* Instrument specific attribute value definitions */ /*=CHANGE:==============================================================* Add value defines for instrument specific attributes here. Example // Defined values for attribute GF_ATTR_EXAMPLE #define GF_VAL_EXAMPLE_1 1 #define GF_VAL_EXAMPLE_2 2 #define GF_VAL_EXAMPLE_3 3 *===========================================================END=CHANGE=*/ /**************************************************************************** *---------------- Instrument Driver Function Declarations -----------------* ****************************************************************************/ /*- Init and Close Functions -------------------------------------------*/ ViStatus _VI_FUNC GF_init (ViRsrc resourceName, ViBoolean IDQuery, ViBoolean resetDevice, ViSession *vi); ViStatus _VI_FUNC GF_InitWithOptions (ViRsrc resourceName, ViBoolean IDQuery, ViBoolean resetDevice, ViString optionString, ViSession *newVi); ViStatus _VI_FUNC GF_close (ViSession vi); /*- Locking Functions --------------------------------------------------*/ ViStatus _VI_FUNC GF_LockSession (ViSession vi, ViBoolean *callerHasLock); ViStatus _VI_FUNC GF_UnlockSession (ViSession vi, ViBoolean *callerHasLock); /*- Basic Instrument Operation -----------------------------------------*/ ViStatus _VI_FUNC GF_ConfigureOutputMode (ViSession vi, ViInt32 outputMode); ViStatus _VI_FUNC GF_ConfigureRefClockSource (ViSession vi, ViInt32 refClockSource); ViStatus _VI_FUNC GF_ConfigureOutputImpedance (ViSession vi, ViConstString channelName, ViReal64 outputImpedance); ViStatus _VI_FUNC GF_EnableOutput (ViSession vi, ViConstString channelName); ViStatus _VI_FUNC GF_DisableOutput (ViSession vi, ViConstString channelName); ViStatus _VI_FUNC GF_InitiateGeneration (ViSession vi); ViStatus _VI_FUNC GF_AbortGeneration (ViSession vi); /*- Standard Function Output --------------------------------------------*/ ViStatus _VI_FUNC GF_ConfigureStandardWaveform (ViSession vi, ViConstString channelName, ViInt32 waveform, ViReal64 amplitude, ViReal64 dcOffset, ViReal64 frequency, ViReal64 startPhase); ViStatus _VI_FUNC GF_GenerateStandardWaveform (ViSession vi, ViConstString channelName, ViInt32 waveform, ViReal64 amplitude, ViReal64 dcOffset, ViReal64 frequency, ViReal64 startPhase); /*- Arbitrary Waveform Output -------------------------------------------*/ ViStatus _VI_FUNC GF_QueryArbWfmCapabilities (ViSession vi, ViInt32 *maxNumWfms, ViInt32 *wfmQuantum, ViInt32 *minWfmSize, ViInt32 *maxWfmSize); ViStatus _VI_FUNC GF_CreateArbWaveform (ViSession vi, ViInt32 wfmSize, ViReal64 wfmData[], ViInt32 *wfmHandle); ViStatus _VI_FUNC GF_ConfigureSampleRate (ViSession vi, ViReal64 sampleRate); ViStatus _VI_FUNC GF_GetWfmHandleFromName (ViSession vi, ViConstString wfmName, ViInt32 *wfmHandle); ViStatus _VI_FUNC GF_GetWfmNameFromHandle (ViSession vi, ViInt32 wfmHandle, ViInt32 arraySize, ViChar wfmName[]); ViStatus _VI_FUNC GF_GetWfmNames (ViSession vi, ViInt32 arraySize, ViChar wfmNames[]); ViStatus _VI_FUNC GF_ConfigureArbWaveform (ViSession vi, ViConstString channelName, ViInt32 wfmHandle, ViReal64 arbGain, ViReal64 arbOffset); ViStatus _VI_FUNC GF_GenerateArbWaveform (ViSession vi, ViConstString channelName, ViInt32 wfmHandle, ViReal64 arbGain, ViReal64 arbOffset); ViStatus _VI_FUNC GF_ClearArbWaveform (ViSession vi, ViInt32 wfmHandle); /*- Arbitrary Sequence Output -------------------------------------------*/ ViStatus _VI_FUNC GF_QueryArbSeqCapabilities (ViSession vi, ViInt32 *maxNumSeqs, ViInt32 *minSeqLength, ViInt32 *maxSeqLength, ViInt32 *maxLoopCount); ViStatus _VI_FUNC GF_CreateArbSequence (ViSession vi, ViInt32 seqLength, ViInt32 wfmHandle[], ViInt32 wfmLoopCount[], ViInt32 *seqHandle); ViStatus _VI_FUNC GF_GetSeqHandleFromName (ViSession vi, ViConstString seqName, ViInt32 *seqHandle); ViStatus _VI_FUNC GF_GetSeqNameFromHandle (ViSession vi, ViInt32 seqHandle, ViInt32 arraySize, ViChar seqName[]); ViStatus _VI_FUNC GF_GetSeqNames (ViSession vi, ViInt32 arraySize, ViChar seqNames[]); ViStatus _VI_FUNC GF_ConfigureArbSequence (ViSession vi, ViConstString channelName, ViInt32 seqHandle, ViReal64 arbGain, ViReal64 arbOffset); ViStatus _VI_FUNC GF_GenerateArbSequence (ViSession vi, ViConstString channelName, ViInt32 seqHandle, ViReal64 arbGain, ViReal64 arbOffset); ViStatus _VI_FUNC GF_ClearArbSequence (ViSession vi, ViInt32 seqHandle); ViStatus _VI_FUNC GF_ClearArbMemory (ViSession vi); /*- Triggering ----------------------------------------------------------*/ ViStatus _VI_FUNC GF_ConfigureTrigger (ViSession vi, ViConstString channelName, ViInt32 trigSource, ViInt32 cycleCount); ViStatus _VI_FUNC GF_SendSWTrigger (ViSession vi); /*- Amplitude Modulation ------------------------------------------------*/ ViStatus _VI_FUNC GF_EnableAM (ViSession vi, ViConstString channelName, ViInt32 amSource); ViStatus _VI_FUNC GF_DisableAM (ViSession vi, ViConstString channelName); ViStatus _VI_FUNC GF_ConfigureAMInternal (ViSession vi, ViReal64 amDepth, ViInt32 amWaveform, ViReal64 amFrequency); /*- Frequency Modulation ------------------------------------------------*/ ViStatus _VI_FUNC GF_EnableFM (ViSession vi, ViConstString channelName, ViInt32 fmSource); ViStatus _VI_FUNC GF_DisableFM (ViSession vi, ViConstString channelName); ViStatus _VI_FUNC GF_ConfigureFMInternal (ViSession vi, ViReal64 fmDeviation, ViInt32 fmWaveform, ViReal64 fmFrequency); /*=CHANGE:===============================================================* Add instrument-specific public function declarations here. *============================================================END=CHANGE=*/ /*- Error Functions ----------------------------------------------------*/ ViStatus _VI_FUNC GF_error_query (ViSession vi, ViInt32 *errorCode, ViChar errorMessage[]); ViStatus _VI_FUNC GF_GetErrorInfo (ViSession vi, ViStatus *primaryError, ViStatus *secondaryError, ViChar errorElaboration[256]); ViStatus _VI_FUNC GF_ClearErrorInfo (ViSession vi); ViStatus _VI_FUNC GF_error_message (ViSession vi, ViStatus errorCode, ViChar errorMessage[256]); /*- Utility Functions --------------------------------------------------*/ ViStatus _VI_FUNC GF_reset (ViSession vi); ViStatus _VI_FUNC GF_self_test (ViSession vi, ViInt16 *selfTestResult, ViChar selfTestMessage[]); ViStatus _VI_FUNC GF_revision_query (ViSession vi, ViChar instrumentDriverRevision[], ViChar firmwareRevision[]); ViStatus _VI_FUNC GF_WriteInstrData (ViSession vi, ViConstString writeBuffer); ViStatus _VI_FUNC GF_ReadInstrData (ViSession vi, ViInt32 numBytes, ViChar rdBuf[], ViInt32 *bytesRead); /*- Set, Get, and Check Attribute Functions ----------------------------*/ ViStatus _VI_FUNC GF_GetAttributeViInt32 (ViSession vi, ViConstString channelName, ViAttr attribute, ViInt32 *value); ViStatus _VI_FUNC GF_GetAttributeViReal64 (ViSession vi, ViConstString channelName, ViAttr attribute, ViReal64 *value); ViStatus _VI_FUNC GF_GetAttributeViString (ViSession vi, ViConstString channelName, ViAttr attribute, ViInt32 bufSize, ViChar value[]); ViStatus _VI_FUNC GF_GetAttributeViSession (ViSession vi, ViConstString channelName, ViAttr attribute, ViSession *value); ViStatus _VI_FUNC GF_GetAttributeViBoolean (ViSession vi, ViConstString channelName, ViAttr attribute, ViBoolean *value); ViStatus _VI_FUNC GF_SetAttributeViInt32 (ViSession vi, ViConstString channelName, ViAttr attribute, ViInt32 value); ViStatus _VI_FUNC GF_SetAttributeViReal64 (ViSession vi, ViConstString channelName, ViAttr attribute, ViReal64 value); ViStatus _VI_FUNC GF_SetAttributeViString (ViSession vi, ViConstString channelName, ViAttr attribute, ViConstString value); ViStatus _VI_FUNC GF_SetAttributeViSession (ViSession vi, ViConstString channelName, ViAttr attribute, ViSession value); ViStatus _VI_FUNC GF_SetAttributeViBoolean (ViSession vi, ViConstString channelName, ViAttr attribute, ViBoolean value); ViStatus _VI_FUNC GF_CheckAttributeViInt32 (ViSession vi, ViConstString channelName, ViAttr attribute, ViInt32 value); ViStatus _VI_FUNC GF_CheckAttributeViReal64 (ViSession vi, ViConstString channelName, ViAttr attribute, ViReal64 value); ViStatus _VI_FUNC GF_CheckAttributeViString (ViSession vi, ViConstString channelName, ViAttr attribute, ViConstString value); ViStatus _VI_FUNC GF_CheckAttributeViSession (ViSession vi, ViConstString channelName, ViAttr attribute, ViSession value); ViStatus _VI_FUNC GF_CheckAttributeViBoolean (ViSession vi, ViConstString channelName, ViAttr attribute, ViBoolean value); /********************************************************* Functions reserved for class driver use only. End-users should not call these functions. *********************************************************/ ViStatus _VI_FUNC GF_IviInit (ViRsrc resourceName, ViBoolean IDQuery, ViBoolean reset, ViSession vi); ViStatus _VI_FUNC GF_IviClose (ViSession vi); /**************************************************************************** *------------------------ Error And Completion Codes ----------------------* ****************************************************************************/ #define GF_ERROR_NOT_CONFIGURABLE IVIFGEN_ERROR_NOT_CONFIGURABLE #define GF_ERROR_NOT_GENERATING IVIFGEN_ERROR_NOT_GENERATING #define GF_ERROR_INVALID_MODE IVIFGEN_ERROR_INVALID_MODE #define GF_ERROR_NO_WFMS_AVAILABLE IVIFGEN_ERROR_NO_WFMS_AVAILABLE #define GF_ERROR_INVALID_WFM_LENGTH IVIFGEN_ERROR_INVALID_WFM_LENGTH #define GF_ERROR_INVALID_WFM_ELEMENT IVIFGEN_ERROR_INVALID_WFM_ELEMENT #define GF_ERROR_INVALID_WAVEFORM IVIFGEN_ERROR_INVALID_WAVEFORM #define GF_ERROR_WFM_IN_USE IVIFGEN_ERROR_WFM_IN_USE #define GF_ERROR_NO_SEQS_AVAILABLE IVIFGEN_ERROR_NO_SEQS_AVAILABLE #define GF_ERROR_INVALID_SEQ_LENGTH IVIFGEN_ERROR_INVALID_SEQ_LENGTH #define GF_ERROR_INVALID_LOOP_COUNT IVIFGEN_ERROR_INVALID_LOOP_COUNT #define GF_ERROR_INVALID_SEQUENCE IVIFGEN_ERROR_INVALID_SEQUENCE #define GF_ERROR_SEQ_IN_USE IVIFGEN_ERROR_SEQ_IN_USE /*=CHANGE:==============================================================* Add instrument-specific error codes here starting at IVI_SPECIFIC_ERROR_BASE. Example: #define GF_ERROR_NAME (IVI_SPECIFIC_ERROR_BASE + 1) *===========================================================END=CHANGE=*/ /**************************************************************************** *---------------------------- End Include File ----------------------------* ****************************************************************************/ #if defined(__cplusplus) || defined(__cplusplus__) } #endif #endif /* __GF_HEADER */