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

📄 niscope.h

📁 此为某测试平台的上位机软件部分
💻 H
📖 第 1 页 / 共 5 页
字号:
      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 + -