/* ************************************************************** */ /* * MOVEZ.H * * Zachary Wolf * 2/2/00 */ #ifndef __MOVEZ_HEADER #define __MOVEZ_HEADER #if defined(__cplusplus) || defined(__cplusplus__) extern "C" { #endif /* ************************************************************* */ /* ENUM DEFINITIONS */ /* Device type: the first device is the move device, the second is the position read device */ enum movez_device_type_enum {MOVEZ_CM2100_CM2100, MOVEZ_MC4_MC4, MOVEZ_MANUAL_NONE, MOVEZ_NONE_NONE}; /* ************************************************************* */ /* STRUCTURE DEFINITIONS */ struct movez_param_struct { int board_addr; /* GPIB board addr */ int cm2100_addr; /* CM2100 GPIB address */ int mc4_addr; /* MC4 GPIB address */ enum movez_device_type_enum device_type; /* Type of devices being used */ long cm2100_num_steps_per_rev; /* Number of steps per revolution for the motor */ double cm2100_meters_per_rev; /* Leadscrew pitch or linear motor scale factor (m/rev) */ char mc4_axis; /* MC4 axis name, W, X, Y, or Z */ double acc; /* Stage acceleration (m/s/s) */ double vel; /* Stage velocity (m/s) */ }; /* ************************************************************** */ /* PUBLIC FUNCTION DECLARATIONS */ void movez_init(char log_file_in[], struct movez_param_struct movez_param); void movez_abs_move(double pos); void movez_get_pos(double* pos); void movez_zero(void); void movez_exit(void); /* ************************************************************** */ /* CONSTANTS */ #define MOVEZ_MAX_CMD 80 /* ************************************************************** */ /* DONE */ #if defined(__cplusplus) || defined(__cplusplus__) } #endif #endif