/* ************************************************************* */ /* * VRAMP.H * * Zachary Wolf * 5/7/02 */ #ifndef __VRAMP_HEADER #define __VRAMP_HEADER /* ************************************************************** */ /* SEMI-PERMANENT PARAMETERS */ #define VRAMP_MAX_NUM_SAMP 10000 #define VRAMP_MAX_NUM_CHAR 100 /* ************************************************************* */ /* ENUM DEFINITIONS */ enum vramp_config_enum {VRAMP_TDS3012B, VRAMP_HP3458}; enum vramp_binary_enum {VRAMP_TRUE, VRAMP_FALSE}; /* ************************************************************* */ /* STRUCTURE DEFINITIONS */ struct vramp_param_struct { int board_addr; /* GPIB board address */ int tds3012b_addr; /* TDS3012B GPIB address */ int hp3458_addr; /* HP3458 GPIB address */ int tds3012b_imag_chan; /* TDS3012B (if being used) magnet current channel 1 or 2 */ double tds3012b_imag_scale; /* TDS3012B (if being used) vertical scale factor */ int tds3012b_v_chan; /* TDS3012B (if being used) voltage sensor channel 1 or 2 */ double tds3012b_v_scale; /* TDS3012B (if being used) voltage sensor vertical scale factor */ double hp3458_range; /* HP3458 (if being used) range .001 V, .01 V, ... */ enum vramp_config_enum config; /* hardware being used, choices in enum */ double t_samp_before; /* sample time before current ramp (sec) */ double t_samp_after; /* sample time after the current ramp (sec) */ enum vramp_binary_enum show_ui; /* if TRUE, show user interface, don't show if FALSE */ }; /* ************************************************************* */ /* PUBLIC FUNCTION DECLARATIONS */ void vramp_init(char log_file[], char plt_file[], struct vramp_param_struct vramp_param); void vramp_get_v(double imag, long int* num_samp, double t_samp[], double imag_samp[], double v_samp[]); void vramp_plt_v(long int num_samp, double t_samp[], double imag_samp[], double v_samp[]); void vramp_exit(void); /* ************************************************************** */ /* DONE */ #endif