?? 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 <ivi.h>
#include <ivifgen.h>
#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
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -