//
//
//   File: IScope_Common.h     Created 12-MAY-2007   Richard B. Johnson
//                                                   RichardBJohnson@comcast.net
//
//   The data, text, and source-code within these files are presumed to
//   be accurate and free of encumbrances. Use at your own risk.
//



#ifndef ISCOPE_COMMON_H
#define ISCOPE_COMMON_H

enum ATE_SCOPE_ACQUISITIONTYPE {
     ATE_SCOPE_VAL_NORMAL,
     ATE_SCOPE_VAL_HI_RES,
     ATE_SCOPE_VAL_AVERAGE
     };

enum ATE_SCOPE_VERT_COUPLING { 
     ATE_SCOPE_VAL_AC,
     ATE_SCOPE_VAL_DC,
     ATE_SCOPE_VAL_GND
     };

enum ATE_SCOPE_INPUTIMPEDANCE { 
     ATE_SCOPE_VAL_50_OHMS,
     ATE_SCOPE_VAL_75_OHMS,
     ATE_SCOPE_VAL_1_MEG_OHM
     };

// The BANDWIDTH enumerated type does not come from IVI predefined values.
   enum ATE_SCOPE_BANDWIDTH_FILTER { 
        ATE_SCOPE_VAL_250_MHZ_FIL,
        ATE_SCOPE_VAL_20_MHZ_FIL, 
        ATE_SCOPE_VAL_NO_FIL
        };

enum ATE_SCOPE_TRIGGERSOURCE { 
     ATE_SCOPE_VAL_IMMEDIATE,
     ATE_SCOPE_VAL_EXTERNAL, 
     ATE_SCOPE_VAL_SW_TRIG_FUNC,
     ATE_SCOPE_VAL_AC_LINE, 
     ATE_SCOPE_SOURCE_TTL0,
     ATE_SCOPE_SOURCE_TTL1,
     ATE_SCOPE_SOURCE_TTL2,
     ATE_SCOPE_SOURCE_TTL3, 
     ATE_SCOPE_SOURCE_TTL4,
     ATE_SCOPE_SOURCE_TTL5,
     ATE_SCOPE_SOURCE_TTL6,
     ATE_SCOPE_SOURCE_TTL7, 
     ATE_SCOPE_SOURCE_CH1,
     ATE_SCOPE_SOURCE_CH2, 
     ATE_SCOPE_SOURCE_CH3,
     ATE_SCOPE_SOURCE_CH4
     };

enum ATE_SCOPE_TRIGGERTYPE {
     ATE_SCOPE_VAL_EDGE
     };

enum ATE_SCOPE_TRIG_COUPLING {
     ATE_SCOPE_TRIG_VAL_AC,
     ATE_SCOPE_TRIG_VAL_DC,
     ATE_SCOPE_TRIG_VAL_AC_HI_PASS_FILTER, 
     ATE_SCOPE_TRIG_VAL_DC_LO_PASS_FILTER,
     ATE_SCOPE_TRIG_VAL_AC_NOISE_REJECT,
     ATE_SCOPE_TRIG_VAL_DC_NOISE_REJECT
     };

enum ATE_SCOPE_MEASFUNCTION { 
     ATE_SCOPE_VAL_RISE_TIME,
     ATE_SCOPE_VAL_FALL_TIME, 
     ATE_SCOPE_VAL_FREQUENCY,
     ATE_SCOPE_VAL_PERIOD, 
     ATE_SCOPE_VAL_VOLTAGE_RMS,
     ATE_SCOPE_VAL_VOLTAGE_PEAK_TO_PEAK,
     ATE_SCOPE_VAL_VOLTAGE_MAX,
     ATE_SCOPE_VAL_VOLTAGE_MIN, 
     ATE_SCOPE_VAL_VOLTAGE_HIGH,
     ATE_SCOPE_VAL_VOLTAGE_LOW, 
     ATE_SCOPE_VAL_VOLTAGE_AVERAGE,
     ATE_SCOPE_VAL_WIDTH_NEG,
     ATE_SCOPE_VAL_WIDTH_POS,
     ATE_SCOPE_VAL_DUTY_CYCLE_NEG, 
     ATE_SCOPE_VAL_DUTY_CYCLE_POS,
     ATE_SCOPE_VAL_AMPLITUDE, 
     ATE_SCOPE_VAL_VOLTAGE_CYCLE_RMS, 
     ATE_SCOPE_VAL_VOLTAGE_CYCLE_AVERAGE,
     ATE_SCOPE_DCOFFSET, 
     ATE_SCOPE_OVERSHOOT,
     ATE_SCOPE_PRESHOOT,
     ATE_SCOPE_UNDERSHOOT,
     ATE_SCOPE_PRF,
     ATE_SCOPE_PHASE_ANGLE,
     ATE_SCOPE_VAL_DISTORTION
     };

enum ATE_SCOPE_OPERATION { 
     ATE_SCOPE_ADD,
     ATE_SCOPE_SUBTRACT,
     ATE_SCOPE_MULTIPLY, 
     ATE_SCOPE_INVERT,
     ATE_SCOPE_DUAL,
     ATE_SCOPE_IGNORE_OPER
     };

enum ATE_SIGNAL_TYPE {
     SIGNAL_AC,
     SIGNAL_AC_MATH,
     SIGNAL_AC_REF,
     SIGNAL_BURST,
     SIGNAL_DC,
     SIGNAL_DC_AC_COMP_FREQ,
     SIGNAL_FREQUENCY,
     SIGNAL_PULSED_DC,
     SIGNAL_PULSED_DC_TIME,
     SIGNAL_RAMP,
     SIGNAL_RAMP_TIME,
     SIGNAL_SQUARE,
     SIGNAL_SQUARE_TIME,
     SIGNAL_STEP,
     SIGNAL_TRIANGLE,
     SIGNAL_TRIANGLE_TIME,
     SIGNAL_WAVEFORM
     };

#endif





