📄 hp33120a.h
字号:
/**************************************************************************** * Hewlett Packard 33120A *--------------------------------------------------------------------------- * Copyright (c) National Instruments 1998. All Rights Reserved. *--------------------------------------------------------------------------- * * Title: hp33120a.h * Purpose: Hewlett Packard 33120A * instrument driver declarations. * ****************************************************************************/#ifndef __HP33120A_HEADER#define __HP33120A_HEADER#include <ivi.h>#include <ivifgen.h>#if defined(__cplusplus) || defined(__cplusplus__)extern "C" {#endif/**************************************************************************** *----------------- Instrument Driver Revision Information -----------------* ****************************************************************************/#define HP33120A_MAJOR_VERSION 1 /* Instrument driver major version */#define HP33120A_MINOR_VERSION 10 /* Instrument driver minor version *//**************************************************************************** *------------------------------ Useful Macros -----------------------------* ****************************************************************************/ /* Channel strings: Use the following channel strings in the Set, Get, and Check functions and in driver functions that operate on instrument channels. */#define HP33120A_CHANNEL_LIST "1"#define HP33120A_WFM_HANDLE_FROM_INDEX(x) (HP33120A_VAL_FIRST_WAVEFORM_HANDLE + x)#define HP33120A_WFM_INDEX_FROM_HANDLE(x) (x - HP33120A_VAL_FIRST_WAVEFORM_HANDLE)/**************************************************************************** *---------------------------- Attribute Defines ---------------------------* ****************************************************************************/ /*- IVI Inherent Instrument Attributes ---------------------------------*/ /* User Options */#define HP33120A_ATTR_RANGE_CHECK IVI_ATTR_RANGE_CHECK /* ViBoolean */#define HP33120A_ATTR_QUERY_INSTR_STATUS IVI_ATTR_QUERY_INSTR_STATUS /* ViBoolean */#define HP33120A_ATTR_CACHE IVI_ATTR_CACHE /* ViBoolean */#define HP33120A_ATTR_SIMULATE IVI_ATTR_SIMULATE /* ViBoolean */#define HP33120A_ATTR_RECORD_COERCIONS IVI_ATTR_RECORD_COERCIONS /* ViBoolean */ /* Instrument Capabilities */#define HP33120A_ATTR_NUM_CHANNELS IVI_ATTR_NUM_CHANNELS /* ViInt32 (read-only) */#define HP33120A_ATTR_SPECIFIC_PREFIX IVI_ATTR_SPECIFIC_PREFIX /* ViString (read-only) */ /* Version Info */#define HP33120A_ATTR_DRIVER_MAJOR_VERSION IVI_ATTR_DRIVER_MAJOR_VERSION /* ViInt32 (read-only) */#define HP33120A_ATTR_DRIVER_MINOR_VERSION IVI_ATTR_DRIVER_MINOR_VERSION /* ViInt32 (read-only) */#define HP33120A_ATTR_DRIVER_REVISION IVI_ATTR_DRIVER_REVISION /* ViString (read-only) */#define HP33120A_ATTR_ENGINE_MAJOR_VERSION IVI_ATTR_ENGINE_MAJOR_VERSION /* ViInt32 (read-only) */#define HP33120A_ATTR_ENGINE_MINOR_VERSION IVI_ATTR_ENGINE_MINOR_VERSION /* ViInt32 (read-only) */#define HP33120A_ATTR_ENGINE_REVISION IVI_ATTR_ENGINE_REVISION /* ViString (read-only) */ /* Error Info */#define HP33120A_ATTR_PRIMARY_ERROR IVI_ATTR_PRIMARY_ERROR /* ViInt32 */#define HP33120A_ATTR_SECONDARY_ERROR IVI_ATTR_SECONDARY_ERROR /* ViInt32 */#define HP33120A_ATTR_ERROR_ELABORATION IVI_ATTR_ERROR_ELABORATION /* ViString */ /* Advanced Session I/O */#define HP33120A_ATTR_VISA_RM_SESSION IVI_ATTR_VISA_RM_SESSION /* ViSession (read-only) */#define HP33120A_ATTR_IO_SESSION IVI_ATTR_IO_SESSION /* ViSession (read-only) */#define HP33120A_ATTR_DEFER_UPDATE IVI_ATTR_DEFER_UPDATE /* ViBoolean */#define HP33120A_ATTR_RETURN_DEFERRED_VALUES IVI_ATTR_RETURN_DEFERRED_VALUES /* ViBoolean */ /*- Instrument-Specific Attributes -------------------------------------*/ /*- Basic Instrument Operation -----------------------------------------*/ #define HP33120A_ATTR_OUTPUT_MODE IVIFGEN_ATTR_OUTPUT_MODE /* ViInt32 */#define HP33120A_ATTR_REF_CLOCK_SOURCE IVIFGEN_ATTR_REF_CLOCK_SOURCE /* ViReal64 */#define HP33120A_ATTR_OUTPUT_ENABLED IVIFGEN_ATTR_OUTPUT_ENABLED /* ViBoolean, multi-channel */#define HP33120A_ATTR_OUTPUT_IMPEDANCE IVIFGEN_ATTR_OUTPUT_IMPEDANCE /* ViReal64, multi-channel, ohms */ /*- Standard Waveform Generation ---------------------------------------*/ #define HP33120A_ATTR_FUNC_WAVEFORM IVIFGEN_ATTR_FUNC_WAVEFORM /* ViInt32, multi-channel */#define HP33120A_ATTR_FUNC_AMPLITUDE IVIFGEN_ATTR_FUNC_AMPLITUDE /* ViReal64, multi-channel, volts */#define HP33120A_ATTR_FUNC_DC_OFFSET IVIFGEN_ATTR_FUNC_DC_OFFSET /* ViReal64, multi-channel, volts */#define HP33120A_ATTR_FUNC_FREQUENCY IVIFGEN_ATTR_FUNC_FREQUENCY /* ViReal64, multi-channel, hertz */#define HP33120A_ATTR_FUNC_START_PHASE IVIFGEN_ATTR_FUNC_START_PHASE /* ViReal64, multi-channel, degrees */#define HP33120A_ATTR_FUNC_DUTY_CYCLE_HIGH IVIFGEN_ATTR_FUNC_DUTY_CYCLE_HIGH /* ViReal64, multi-channel, percent */ /*- Arbitrary Waveform Generation --------------------------------------*/#define HP33120A_ATTR_ARB_WAVEFORM_HANDLE IVIFGEN_ATTR_ARB_WAVEFORM_HANDLE /* ViInt32, multi-channel */#define HP33120A_ATTR_ARB_GAIN IVIFGEN_ATTR_ARB_GAIN /* ViReal64, multi-channel */#define HP33120A_ATTR_ARB_OFFSET IVIFGEN_ATTR_ARB_OFFSET /* ViReal64, multi-channel, volts */#define HP33120A_ATTR_ARB_SAMPLE_RATE IVIFGEN_ATTR_ARB_SAMPLE_RATE /* ViReal64, samples-per-second */#define HP33120A_ATTR_MAX_NUM_WAVEFORMS IVIFGEN_ATTR_MAX_NUM_WAVEFORMS /* ViInt32, read-only */#define HP33120A_ATTR_WAVEFORM_QUANTUM IVIFGEN_ATTR_WAVEFORM_QUANTUM /* ViInt32, read-only */#define HP33120A_ATTR_MIN_WAVEFORM_SIZE IVIFGEN_ATTR_MIN_WAVEFORM_SIZE /* ViInt32, read-only */#define HP33120A_ATTR_MAX_WAVEFORM_SIZE IVIFGEN_ATTR_MAX_WAVEFORM_SIZE /* ViInt32, read-only */ /*- Ampitude Modulation Generation -------------------------------------*/ #define HP33120A_ATTR_AM_ENABLED IVIFGEN_ATTR_AM_ENABLED /* ViBoolean, multi-channel */#define HP33120A_ATTR_AM_SOURCE IVIFGEN_ATTR_AM_SOURCE /* ViInt32, multi-channel */#define HP33120A_ATTR_AM_INTERNAL_DEPTH IVIFGEN_ATTR_AM_INTERNAL_DEPTH /* ViReal64, percent */#define HP33120A_ATTR_AM_INTERNAL_WAVEFORM IVIFGEN_ATTR_AM_INTERNAL_WAVEFORM /* ViReal64 */#define HP33120A_ATTR_AM_INTERNAL_FREQUENCY IVIFGEN_ATTR_AM_INTERNAL_FREQUENCY /* ViReal64, hertz */ /*- Frequency Modulation Generation ------------------------------------*/ #define HP33120A_ATTR_FM_ENABLED IVIFGEN_ATTR_FM_ENABLED /* ViBoolean, multi-channel */#define HP33120A_ATTR_FM_SOURCE IVIFGEN_ATTR_FM_SOURCE /* ViInt32, multi-channel */#define HP33120A_ATTR_FM_INTERNAL_DEVIATION IVIFGEN_ATTR_FM_INTERNAL_DEVIATION /* ViReal64, hertz */#define HP33120A_ATTR_FM_INTERNAL_WAVEFORM IVIFGEN_ATTR_FM_INTERNAL_WAVEFORM /* ViReal64 */#define HP33120A_ATTR_FM_INTERNAL_FREQUENCY IVIFGEN_ATTR_FM_INTERNAL_FREQUENCY /* ViReal64, hertz */#define HP33120A_ATTR_ID_QUERY_RESPONSE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1L) /* ViString (Read Only) */ /*- Frequency Shift Key Modulation Generation --------------------------*/ #define HP33120A_ATTR_FSK_ENABLED (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 101L) /* ViBoolean, multi-channel */#define HP33120A_ATTR_FSK_HOP_FREQUENCY (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 102L) /* ViReal64, multi-channel */#define HP33120A_ATTR_FSK_SOURCE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 103L) /* ViInt32, multi-channel */#define HP33120A_ATTR_FSK_INTERNAL_RATE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 104L) /* ViReal64, multi-channel */ /*- Frequency Sweep Generation -----------------------------------------*/ #define HP33120A_ATTR_SWEEP_ENABLED (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 201L) /* ViBoolean, multi-channel */#define HP33120A_ATTR_SWEEP_START_FREQ (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 202L) /* ViReal64, multi-channel */#define HP33120A_ATTR_SWEEP_STOP_FREQ (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 203L) /* ViReal64, multi-channel */#define HP33120A_ATTR_SWEEP_SPACING (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 204L) /* ViInt32, multi-channel */#define HP33120A_ATTR_SWEEP_TIME (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 205L) /* ViReal64, multi-channel */#define HP33120A_ATTR_SWEEP_SOURCE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 206L) /* ViInt32, multi-channel */ /*- Burst Modulation Generation ----------------------------------------*/#define HP33120A_ATTR_BURST_ENABLED (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 301L) /* ViBoolean, multi-channel */#define HP33120A_ATTR_BURST_SOURCE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 302L) /* ViInt32, multi-channel */#define HP33120A_ATTR_BURST_COUNT (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 303L) /* ViInt32, multi-channel */#define HP33120A_ATTR_BURST_INTERNAL_RATE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 304L) /* ViReal64, multi-channel */#define HP33120A_ATTR_BURST_PHASE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 305L) /* ViReal64, multi-channel *//**************************************************************************** *------------------------ Attribute Value Defines -------------------------* ****************************************************************************/ /*- Defined values for attribute HP33120A_ATTR_FUNCTION --------------*/ #define HP33120A_VAL_OUTPUT_FUNC IVIFGEN_VAL_OUTPUT_FUNC#define HP33120A_VAL_OUTPUT_ARB IVIFGEN_VAL_OUTPUT_ARB /*- Defined values for attribute HP33120A_ATTR_REF_CLOCK_SOURCE ------*/#define HP33120A_VAL_INTERNAL IVIFGEN_VAL_INTERNAL /*- Defined values for attribute HP33120A_ATTR_OUTPUT_IMPEDANCE ------*/ #define HP33120A_VAL_50_OHMS IVIFGEN_VAL_50_OHMS#define HP33120A_VAL_INFINITE (9.9E+37) /*- Defined values for attribute HP33120A_ATTR_FUNC_WAVEFORM ---------*/#define HP33120A_VAL_WFM_SINE IVIFGEN_VAL_WFM_SINE #define HP33120A_VAL_WFM_SQUARE IVIFGEN_VAL_WFM_SQUARE #define HP33120A_VAL_WFM_TRIANGLE IVIFGEN_VAL_WFM_TRIANGLE #define HP33120A_VAL_WFM_RAMP_UP IVIFGEN_VAL_WFM_RAMP_UP #define HP33120A_VAL_WFM_DC IVIFGEN_VAL_WFM_DC #define HP33120A_VAL_WFM_NOISE (IVIFGEN_VAL_WFM_SPECIFIC_EXT_BASE + 1) /*- Defined values for Arbitrary Waveform Handles ---------------------------------*/#define HP33120A_VAL_FIRST_WAVEFORM_HANDLE IVIFGEN_VAL_FIRST_WAVEFORM_HANDLE#define HP33120A_VAL_LAST_WAVEFORM_HANDLE IVIFGEN_VAL_LAST_WAVEFORM_HANDLE #define HP33120A_VAL_ALL_WAVEFORMS IVIFGEN_VAL_ALL_WAVEFORMS /*- Define values for atttribute HP33120A_ATTR_CYCLE_COUNT -----------*/#define HP33120A_VAL_GENERATE_CONTINUOUS IVIFGEN_VAL_GENERATE_CONTINUOUS /*- Defined values for attribute HP33120A_ATTR_TRIGGER_SOURCE --------*/#define HP33120A_VAL_IMMEDIATE IVIFGEN_VAL_IMMEDIATE /*- Defined values for attribute HP33120A_ATTR_AM_SOURCE -*/ /* #define HP33120A_VAL_EXTERNAL DEFINED ABOVE */#define HP33120A_VAL_BOTH (IVIFGEN_VAL_AM_SOURCE_SPECIFIC_EXT_BASE + 1) /*- Defined values for attribute HP33120A_ATTR_AM_INTERNAL_WAVEFORM -*//* #define HP33120A_VAL_WFM_SINE DEFINED ABOVE *//* #define HP33120A_VAL_WFM_SQUARE DEFINED ABOVE *//* #define HP33120A_VAL_WFM_TRIANGLE DEFINED ABOVE *//* #define HP33120A_VAL_WFM_RAMP_UP DEFINED ABOVE *//* #define HP33120A_VAL_WFM_NOISE DEFINED ABOVE */#define HP33120A_VAL_WFM_ARBITRARY (IVIFGEN_VAL_WFM_SPECIFIC_EXT_BASE + 2) /*- Defined values for attribute HP33120A_ATTR_FM_SOURCE -*/ /* #define HP33120A_VAL_INTERNAL DEFINED ABOVE */ /*- Defined values for attribute HP33120A_ATTR_FM_INTERNAL_WAVEFORM -*//* #define HP33120A_VAL_WFM_SINE DEFINED ABOVE *//* #define HP33120A_VAL_WFM_SQUARE DEFINED ABOVE *//* #define HP33120A_VAL_WFM_TRIANGLE DEFINED ABOVE *//* #define HP33120A_VAL_WFM_RAMP_UP DEFINED ABOVE *//* #define HP33120A_VAL_WFM_NOISE DEFINED ABOVE *//* #define HP33120A_VAL_WFM_ARBITRARY DEFINED ABOVE */ /*- Defined values for attribute HP33120A_ATTR_SWEEP_SOURCE ----------*/ /* #define HP33120A_VAL_IMMEDIATE DEFINED ABOVE */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -