⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gf.h

📁 机械工业出版社 Lab Windows/CVI逐步深入与开发实例源代码
💻 H
📖 第 1 页 / 共 3 页
字号:
/****************************************************************************
 *                       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 + -