/* ************************************************************** */ /* * VIBWIRE.H * * Zachary Wolf * 8/29/05 */ #ifndef __VIBWIRE_HEADER #define __VIBWIRE_HEADER #if defined(__cplusplus) || defined(__cplusplus__) extern "C" { #endif /* ************************************************************** */ /* CONSTANTS */ #define VIBWIRE_MAX_NUM_CHAR 80 #define VIBWIRE_COARSE_STEP_SIZE 0.3 /* (Hz) */ #define VIBWIRE_EXTRA_COARSE_NUM_FREQ 31 /* Use frequencies close to fundamental */ #define VIBWIRE_COARSE_NUM_FREQ 9 #define VIBWIRE_FINE_STEP_SIZE 0.02 /* (Hz) */ #define VIBWIRE_FINE_NUM_FREQ 9 #define VIBWIRE_SIGN_AMPL 0.5 /* Desired amplitude of voltage output. 1/2 Peak to Peak*/ /* ************************************************************* */ /* ENUM DEFINITIONS */ enum vibwire_device_type_enum {VIBWIRE_HP33220_SR830XY, VIBWIRE_NONE_NONE}; enum vibwire_binary_enum {VIBWIRE_TRUE, VIBWIRE_FALSE}; /* ************************************************************* */ /* STRUCTURE DEFINITIONS */ struct vibwire_param_struct { int board_addr; /* GPIB board addr */ int hp33220_addr; /* HP33220 GPIB address */ int sr830x_addr; /* SR830 GPIB address for wire x motion */ int sr830y_addr; /* SR830 GPIB address for wire y motion */ enum vibwire_device_type_enum device_type; /* Type of device being used */ double nom_fund_freq; /* Nominal fundamental wire vibration frequency (Hz) */ enum vibwire_binary_enum show_ui; /* Show graph, choices in enum */ }; /* ************************************************************** */ /* PUBLIC FUNCTION DECLARATIONS */ void vibwire_init(char log_file_in[], struct vibwire_param_struct vibwire_param_in); void vibwire_set_freq(double freq); void vibwire_set_ampl(double ampl); void vibwire_get_freq(double* freq); void vibwire_get_xdet_vxrms(double* vxrms); void vibwire_get_xdet_vyrms(double* vyrms); void vibwire_get_ydet_vxrms(double* vxrms); void vibwire_get_ydet_vyrms(double* vyrms); void vibwire_xdet_automeasure(void); void vibwire_ydet_automeasure(void); void vibwire_xdet_set_low_sensitivity(void); void vibwire_ydet_set_low_sensitivity(void); void vibwire_xdet_lower_sensitivity(void); void vibwire_ydet_lower_sensitivity(void); void vibwire_xdet_clear_errors(void); void vibwire_ydet_clear_errors(void); void vibwire_find_res_freq_coarse(char wire_vib_det, int har_num, double* coarse_res_freq, int num_points); void vibwire_find_res_freq_fine(char wire_vib_det, double coarse_res_freq, double* fine_res_freq); void vibwire_find_res_freq(char wire_vib_det, int har_num, double* res_freq); void vibwire_output_on(void); void vibwire_output_off(void); void vibwire_exit(void); /* ************************************************************** */ /* DONE */ #if defined(__cplusplus) || defined(__cplusplus__) } #endif #endif