📄 niscope.h
字号:
if ((error == 0) && (code > 0)) \
{ \
error = code; \
Ivi_SetErrorInfo(vi, VI_FALSE, error, 0, elab); \
} \
}
#endif
/* checkErr shouldn't ignore warning messages, so this is an override of the IVI version. */
#ifdef checkErr
#undef checkErr
#define checkErr(fCall) \
{ int code = (fCall); \
if (code < 0) \
{ \
error = code; \
goto Error; \
} \
else if ((error == 0) && (code > 0)) \
{ \
error = code; \
} \
}
#endif
#ifdef viCheckErr
#undef viCheckErr
#define viCheckErr(fCall) \
{ \
int code = (fCall); \
if (code < 0) \
{ \
error = code; \
Ivi_SetErrorInfo(vi, VI_FALSE, error, 0, VI_NULL); \
goto Error; \
} \
if ((error == 0) && (code > 0)) \
{ \
error = code; \
Ivi_SetErrorInfo(vi, VI_FALSE, error, 0, VI_NULL); \
} \
}
#endif
/****************************************************************************
*---------------------------- Attribute Defines ---------------------------*
****************************************************************************/
/*- NOTE: multi channel denotes an attribute specified on a per channel basis -*/
/*--- IVI Inherent Instrument Attributes --------------------------------------*/
/* User Options ---------------------------------------------------------*/
#define NISCOPE_ATTR_CACHE /* ViBoolean */ IVI_ATTR_CACHE
#define NISCOPE_ATTR_RANGE_CHECK /* ViBoolean */ IVI_ATTR_RANGE_CHECK
#define NISCOPE_ATTR_QUERY_INSTRUMENT_STATUS /* ViBoolean */ IVI_ATTR_QUERY_INSTRUMENT_STATUS
#define NISCOPE_ATTR_RECORD_COERCIONS /* ViBoolean */ IVI_ATTR_RECORD_COERCIONS
#define NISCOPE_ATTR_SIMULATE /* ViBoolean */ IVI_ATTR_SIMULATE
#define NISCOPE_ATTR_INTERCHANGE_CHECK /* ViBoolean */ IVI_ATTR_INTERCHANGE_CHECK
/*- Instrument Capabilities, Read Only ----------------------------------*/
#define NISCOPE_ATTR_CHANNEL_COUNT /* ViInt32 */ IVI_ATTR_CHANNEL_COUNT
#define NISCOPE_ATTR_SUPPORTED_INSTRUMENT_MODELS /* ViString */ IVI_ATTR_SUPPORTED_INSTRUMENT_MODELS
#define NISCOPE_ATTR_GROUP_CAPABILITIES /* ViString */ IVI_ATTR_GROUP_CAPABILITIES
/*- Instrument Version and Identification, Read-only --------------------*/
#define NISCOPE_ATTR_SPECIFIC_DRIVER_DESCRIPTION /* ViString */ IVI_ATTR_SPECIFIC_DRIVER_DESCRIPTION
#define NISCOPE_ATTR_SPECIFIC_DRIVER_PREFIX /* ViString */ IVI_ATTR_SPECIFIC_DRIVER_PREFIX
#define NISCOPE_ATTR_SPECIFIC_DRIVER_VENDOR /* ViString */ IVI_ATTR_SPECIFIC_DRIVER_VENDOR
#define NISCOPE_ATTR_SPECIFIC_DRIVER_CLASS_SPEC_MAJOR_VERSION /* ViInt32 */ IVI_ATTR_SPECIFIC_DRIVER_CLASS_SPEC_MAJOR_VERSION
#define NISCOPE_ATTR_SPECIFIC_DRIVER_CLASS_SPEC_MINOR_VERSION /* ViInt32 */ IVI_ATTR_SPECIFIC_DRIVER_CLASS_SPEC_MINOR_VERSION
#define NISCOPE_ATTR_SPECIFIC_DRIVER_REVISION /* ViString */ IVI_ATTR_SPECIFIC_DRIVER_REVISION
#define NISCOPE_ATTR_INSTRUMENT_MANUFACTURER /* ViString */ IVI_ATTR_INSTRUMENT_MANUFACTURER
#define NISCOPE_ATTR_INSTRUMENT_MODEL /* ViString */ IVI_ATTR_INSTRUMENT_MODEL
#define NISCOPE_ATTR_INSTRUMENT_FIRMWARE_REVISION /* ViString */ IVI_ATTR_INSTRUMENT_FIRMWARE_REVISION
/*- Advanced Session Information, read-only -----------------------------*/
#define NISCOPE_ATTR_IO_RESOURCE_DESCRIPTOR /* ViString */ IVI_ATTR_IO_RESOURCE_DESCRIPTOR
#define NISCOPE_ATTR_LOGICAL_NAME /* ViString */ IVI_ATTR_LOGICAL_NAME
#define NISCOPE_ATTR_DRIVER_SETUP /* ViString */ IVI_ATTR_DRIVER_SETUP
/*--- IVI Instrument-Specific Attributes --------------------------------*/
/*- Acquisition Subsystem -*/
#define NISCOPE_ATTR_ACQUISITION_TYPE IVISCOPE_ATTR_ACQUISITION_TYPE /* ViInt32 */
#define NISCOPE_ATTR_SAMPLE_MODE IVISCOPE_ATTR_SAMPLE_MODE /* ViInt32, read-only */
/*- Vertical Subsystem -*/
#define NISCOPE_ATTR_CHANNEL_ENABLED IVISCOPE_ATTR_CHANNEL_ENABLED /* ViBoolean, multi channel */
#define NISCOPE_ATTR_PROBE_ATTENUATION IVISCOPE_ATTR_PROBE_ATTENUATION /* ViReal64, multi channel */
#define NISCOPE_ATTR_VERTICAL_RANGE IVISCOPE_ATTR_VERTICAL_RANGE /* ViReal64, multi channel, volts */
#define NISCOPE_ATTR_VERTICAL_OFFSET IVISCOPE_ATTR_VERTICAL_OFFSET /* ViReal64, multi channel, volts */
#define NISCOPE_ATTR_VERTICAL_COUPLING IVISCOPE_ATTR_VERTICAL_COUPLING /* ViInt32, multi channel */
#define NISCOPE_ATTR_MAX_INPUT_FREQUENCY IVISCOPE_ATTR_MAX_INPUT_FREQUENCY /* ViReal64, multi channel, hertz */
#define NISCOPE_ATTR_INPUT_IMPEDANCE IVISCOPE_ATTR_INPUT_IMPEDANCE /* ViReal64, multi channel, ohms */
/*- Horizontal Subsystem -*/
#define NISCOPE_ATTR_HORZ_TIME_PER_RECORD IVISCOPE_ATTR_HORZ_TIME_PER_RECORD /* ViReal64, seconds */
#define NISCOPE_ATTR_ACQUISITION_START_TIME IVISCOPE_ATTR_ACQUISITION_START_TIME /* ViReal64, seconds */
#define NISCOPE_ATTR_HORZ_MIN_NUM_PTS IVISCOPE_ATTR_HORZ_MIN_NUM_PTS /* ViInt32 */
#define NISCOPE_ATTR_HORZ_RECORD_LENGTH IVISCOPE_ATTR_HORZ_RECORD_LENGTH /* ViInt32, read-only, actual record length */
#define NISCOPE_ATTR_HORZ_RECORD_REF_POSITION IVISCOPE_ATTR_HORZ_RECORD_REF_POSITION /* ViReal64, percentage of record length */
#define NISCOPE_ATTR_HORZ_SAMPLE_RATE IVISCOPE_ATTR_HORZ_SAMPLE_RATE /* ViReal64, read-only, actual sample rate */
/*- Trigger Subsystem -*/
#define NISCOPE_ATTR_TRIGGER_TYPE IVISCOPE_ATTR_TRIGGER_TYPE /* ViInt32 */
#define NISCOPE_ATTR_TRIGGER_SOURCE IVISCOPE_ATTR_TRIGGER_SOURCE /* ViString */
#define NISCOPE_ATTR_TRIGGER_LEVEL IVISCOPE_ATTR_TRIGGER_LEVEL /* ViReal64, volts */
#define NISCOPE_ATTR_TRIGGER_DELAY_TIME IVISCOPE_ATTR_TRIGGER_DELAY_TIME /* ViReal64, seconds */
#define NISCOPE_ATTR_TRIGGER_HOLDOFF IVISCOPE_ATTR_TRIGGER_HOLDOFF /* ViReal64, seconds */
#define NISCOPE_ATTR_TRIGGER_COUPLING IVISCOPE_ATTR_TRIGGER_COUPLING /* ViInt32 */
#define NISCOPE_ATTR_TRIGGER_SLOPE IVISCOPE_ATTR_TRIGGER_SLOPE /* ViInt32 */
/*- TVTrigger Extension -*/
#define NISCOPE_ATTR_TV_TRIGGER_EVENT IVISCOPE_ATTR_TV_TRIGGER_EVENT /* ViInt32 */
#define NISCOPE_ATTR_TV_TRIGGER_LINE_NUMBER IVISCOPE_ATTR_TV_TRIGGER_LINE_NUMBER /* ViInt32 */
#define NISCOPE_ATTR_TV_TRIGGER_SIGNAL_FORMAT IVISCOPE_ATTR_TV_TRIGGER_SIGNAL_FORMAT /* ViInt32 */
#define NISCOPE_ATTR_TV_TRIGGER_POLARITY IVISCOPE_ATTR_TV_TRIGGER_POLARITY /* ViInt32 */
/*- Measurement Functions -*/
#define NISCOPE_ATTR_MEAS_HIGH_REF IVISCOPE_ATTR_MEAS_HIGH_REF /* ViReal64 */
#define NISCOPE_ATTR_MEAS_LOW_REF IVISCOPE_ATTR_MEAS_LOW_REF /* ViReal64 */
#define NISCOPE_ATTR_MEAS_MID_REF IVISCOPE_ATTR_MEAS_MID_REF /* ViReal64 */
/*--- Additional Instrument-Specific Attributes ----------------------------*/
#define NISCOPE_ATTR_HORZ_NUM_RECORDS (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 1L) /* ViInt32 */
#define NISCOPE_ATTR_INPUT_CLOCK_SOURCE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 2L) /* ViString */
#define NISCOPE_ATTR_OUTPUT_CLOCK_SOURCE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 3L) /* ViString */
#define NISCOPE_ATTR_HORZ_ENFORCE_REALTIME (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 4L) /* ViBoolean */
#define NISCOPE_ATTR_BINARY_SAMPLE_WIDTH (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 5L) /* ViInt32 */
#define NISCOPE_ATTR_TRIGGER_HYSTERESIS (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 6L) /* ViReal64, volts */
#define NISCOPE_ATTR_CLOCK_SYNC_PULSE_SOURCE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 7L) /* ViString */
#define NISCOPE_ATTR_MASTER_ENABLE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 8L) /* ViBoolean */
#define NISCOPE_ATTR_MIN_SAMPLE_RATE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 9L) /* ViReal64 */
#define NISCOPE_ATTR_TRIGGER_WINDOW_MODE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 12L) /* ViInt32 */
#define NISCOPE_ATTR_TRIGGER_WINDOW_LOW_LEVEL (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 13L) /* ViReal64 */
#define NISCOPE_ATTR_TRIGGER_WINDOW_HIGH_LEVEL (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 14L) /* ViReal64 */
#define NISCOPE_ATTR_MEAS_REF_LEVEL_UNITS (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 16L) /* ViInt32 */
#define NISCOPE_ATTR_MEAS_OTHER_CHANNEL (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 18L) /* ViString */
#define NISCOPE_ATTR_MEAS_HYSTERESIS_PERCENT (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 19L) /* ViReal64 */
#define NISCOPE_ATTR_MEAS_LAST_ACQ_HISTOGRAM_SIZE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 20L) /* ViInt32 */
#define NISCOPE_ATTR_MEAS_VOLTAGE_HISTOGRAM_SIZE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 21L) /* ViInt32 */
#define NISCOPE_ATTR_MEAS_VOLTAGE_HISTOGRAM_LOW_VOLTS (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 22L) /* ViReal64 */
#define NISCOPE_ATTR_MEAS_VOLTAGE_HISTOGRAM_HIGH_VOLTS (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 23L) /* ViReal64 */
#define NISCOPE_ATTR_MEAS_TIME_HISTOGRAM_SIZE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 24L) /* ViInt32 */
#define NISCOPE_ATTR_MEAS_TIME_HISTOGRAM_LOW_VOLTS (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 25L) /* ViReal64 */
#define NISCOPE_ATTR_MEAS_TIME_HISTOGRAM_HIGH_VOLTS (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 26L) /* ViReal64 */
#define NISCOPE_ATTR_MEAS_TIME_HISTOGRAM_LOW_TIME (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 27L) /* ViReal64 */
#define NISCOPE_ATTR_MEAS_TIME_HISTOGRAM_HIGH_TIME (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 28L) /* ViReal64 */
#define NISCOPE_ATTR_MEAS_POLYNOMIAL_INTERPOLATION_ORDER (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 29L) /* ViInt32 */
#define NISCOPE_ATTR_MEAS_INTERPOLATION_SAMPLING_FACTOR (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 30L) /* ViReal64 */
#define NISCOPE_ATTR_MEAS_FILTER_CUTOFF_FREQ (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 31L) /* ViReal64 */
#define NISCOPE_ATTR_MEAS_FILTER_CENTER_FREQ (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 32L) /* ViReal64 */
#define NISCOPE_ATTR_MEAS_FILTER_RIPPLE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 33L) /* ViReal64 */
#define NISCOPE_ATTR_MEAS_FILTER_TRANSIENT_WAVEFORM_PERCENT (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 34L) /* ViReal64 */
#define NISCOPE_ATTR_MEAS_FILTER_TYPE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 35L) /* ViInt32 */
#define NISCOPE_ATTR_MEAS_FILTER_ORDER (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 36L) /* ViInt32 */
#define NISCOPE_ATTR_MEAS_FILTER_TAPS (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 37L) /* ViInt32 */
#define NISCOPE_ATTR_MEAS_CHAN_LOW_REF_LEVEL (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 38L) /* ViReal64 */
#define NISCOPE_ATTR_MEAS_CHAN_MID_REF_LEVEL (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 39L) /* ViReal64 */
#define NISCOPE_ATTR_MEAS_CHAN_HIGH_REF_LEVEL (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 40L) /* ViReal64 */
#define NISCOPE_ATTR_MEAS_FILTER_WIDTH (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 41L) /* ViReal64 */
#define NISCOPE_ATTR_MEAS_FIR_FILTER_WINDOW (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 42L) /* ViInt32 */
#define NISCOPE_ATTR_MEAS_ARRAY_GAIN (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 43L) /* ViReal64 */
#define NISCOPE_ATTR_MEAS_ARRAY_OFFSET (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 44L) /* ViReal64 */
#define NISCOPE_ATTR_MEAS_PERCENTAGE_METHOD (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 45L) /* ViInt32 */
/*- Advanced synchronization attributes -*/
#define NISCOPE_ATTR_SLAVE_TRIGGER_DELAY (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 46L) /* ViReal64 */
#define NISCOPE_ATTR_TRIGGER_TO_STAR_DELAY (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 47L) /* ViReal64 */
#define NISCOPE_ATTR_TRIGGER_TO_RTSI_DELAY (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 48L) /* ViReal64 */
#define NISCOPE_ATTR_TRIGGER_TO_PFI_DELAY (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 49L) /* ViReal64 */
#define NISCOPE_ATTR_TRIGGER_FROM_STAR_DELAY (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 50L) /* ViReal64 */
#define NISCOPE_ATTR_TRIGGER_FROM_RTSI_DELAY (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 51L) /* ViReal64 */
#define NISCOPE_ATTR_TRIGGER_FROM_PFI_DELAY (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 52L) /* ViReal64 */
#define NISCOPE_ATTR_ACQ_ARM_SOURCE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 53L) /* ViString */
#define NISCOPE_ATTR_RECORD_ARM_SOURCE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 65L) /* ViString */
#define NISCOPE_ATTR_IS_PROBE_COMP_ON (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 66L) /* ViBoolean */
#define NISCOPE_ATTR_USE_SPEC_INITIAL_X (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 67L) /* ViBoolean */
#define NISCOPE_ATTR_ALLOW_MORE_RECORDS_THAN_MEMORY (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 68L) /* ViBoolean */
#define NISCOPE_ATTR_ONBOARD_MEMORY_SIZE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 69L) /* ViInt32 */
#define NISCOPE_ATTR_RIS_NUM_AVERAGES (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 70L) /* ViInt32 */
#define NISCOPE_ATTR_RIS_METHOD (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 71L) /* ViInt32 */
#define NISCOPE_ATTR_FETCH_INTERLEAVED_DATA (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 72L) /* ViBoolean */
#define NISCOPE_ATTR_MAX_REAL_TIME_SAMPLING_RATE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 73L) /* ViReal64 */
#define NISCOPE_ATTR_MAX_RIS_RATE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 74L) /* ViInt32 */
#define NISCOPE_ATTR_TRIGGER_IMPEDANCE (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 75L) /* ViReal64 */
#define NISCOPE_ATTR_DEVICE_NUMBER (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 76L) /* ViInt32 */
#define NISCOPE_ATTR_FETCH_RELATIVE_TO (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 77L) /* ViInt32 */
#define NISCOPE_ATTR_FETCH_OFFSET (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 78L) /* ViInt32 */
#define NISCOPE_ATTR_FETCH_RECORD_NUMBER (IVI_SPECIFIC_PUBLIC_ATTR_BASE + 79L) /* ViInt32 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -