FEDRA emulsion software from the OPERA Collaboration
flexcomp.h
Go to the documentation of this file.
1 //=============================================================================================
2 // FlexComp.h - Compatability Function definitions.
3 //
4 // The functions in this header file are for compatability only. The right is reserved
5 // to remove them in the future. It is recommended that only functions defined in
6 // Flexmotn.h be used.
7 //
8 // Copyright 2000
9 // National Instruments Corporation.
10 // All rights reserved.
11 //=============================================================================================
12 
13 #ifndef ___FlexComp_h___
14 #define ___FlexComp_h___
15 
16 
17 #ifndef ___FlexMotn_h___
18  #include "flexmotn.h"
19 #endif
20 
21 #ifdef __cplusplus
22  extern "C"{
23 #endif
24 
25 //ENB_ENC_CMD, Enable the encoders
27 
28 //Load Circular Arc
29 FLEXFUNC flex_load_2d_arc(BOARD, u8 device, u32 radius, i32 startangle,
30  i32 travelangle, u8 inpvect);
31 
32 //Load Spherical Arc
33 FLEXFUNC flex_load_3d_arc(BOARD, u8 device, u32 radius, u32 planepitch,
34  i32 planeyaw, i32 startangle, i32 travelangle, u8 inpvect);
35 
36 //Load Helical Arc
37 FLEXFUNC flex_load_helix(BOARD, u8 device, u32 radius, i32 startangle,
38  i32 travelangle, i32 lineartravel, u8 inpvect);
39 
40 //ENB_GEAR_CMD, Enable Gearing
41 FLEXFUNC flex_enable_gear(BOARD, u8 device, u16 axismap);
42 
43 //ACQ_SAMPLES_CMD, Acquire Samples Command
44 FLEXFUNC flex_acq_traj_data(BOARD, u8 device, u16 axismap, u16 numsamps, u16 timeperiod);
45 
46 //READ_SAMPLE_CMD, Read Sample From Acquire Samples to RDB
48 
49 //READ_SAMPLE_CMD, Read Sample From Acquire Samples
50 FLEXFUNC flex_read_traj_data_rtn(BOARD, u8 device, long FAR *retdata);
51 
52 //OBSOLETE
53 //READ_RUNST_CMD, Read Run/Stop Status
55 
56 //OBSOLETE
57 //READ_RUNST_CMD, Read Run/Stop Status
59 
60 //READ_MOFF_CMD, Read Motor Off Status
62 
63 //READ_MOFF_CMD, Read Motor Off Status
65 
66 //OBSOLETE
67 //READ_DACLIM_CMD, Read DAC Limit Status
69 
70 //OBSOLETE
71 //READ_DACLIM_CMD, Read DAC Limit Status
73 
74 
75 //Load all Control Loop Parameters
76 FLEXFUNC flex_load_loop_params(BOARD, u8 axis, PID FAR *PIDValues, u8 inputVector);
77 
78 //Load Proportional Gain
79 FLEXFUNC flex_load_kp(BOARD, u8 axis, u16 kp, u8 inpvect);
80 
81 //Load Integral Gain
82 FLEXFUNC flex_load_ki(BOARD, u8 axis, u16 ki, u8 inpvect);
83 
84 //Load Integration Limit
85 FLEXFUNC flex_load_ilim(BOARD, u8 axis, u16 ilim, u8 inpvect);
86 
87 //Load Derivative Gain
88 FLEXFUNC flex_load_kd(BOARD, u8 axis, u16 kd, u8 inpvect);
89 
90 //Load Derivative Sample Period Multiplier
91 FLEXFUNC flex_load_td(BOARD, u8 axis, u16 td, u8 inpvect);
92 
93 //Load Velocity Feedback Gain
94 FLEXFUNC flex_load_kv(BOARD, u8 axis, u16 kv, u8 inpvect);
95 
96 //Load Acceleration Feedforward Gain
97 FLEXFUNC flex_load_aff(BOARD, u8 axis, u16 aff, u8 inpvect);
98 
99 //Load Velocity Feedforward Gain
100 FLEXFUNC flex_load_vff(BOARD, u8 axis, u16 vff, u8 inpvect);
101 
102 //Load Acceleration
103 FLEXFUNC flex_load_accel(BOARD, u8 axisorvectorspace, u32 accel, u8 inpvect);
104 
105 //Load Deceleration
106 FLEXFUNC flex_load_decel(BOARD, u8 axisorvectorspace, u32 decel, u8 inpvect);
107 
108 //Load Acceleration in RPS/sec
109 FLEXFUNC flex_load_accel_rpsps(BOARD, u8 axisorvectorspace, f64 rpsps, u8 inpvect);
110 
111 //Load Deceleration in RPS/sec
112 FLEXFUNC flex_load_decel_rpsps(BOARD, u8 axisorvectorspace, f64 rpsps, u8 inpvect);
113 
114 //Load Velocity Override
115 FLEXFUNC flex_load_vel_override(BOARD, u8 axisorvectorspace, u16 overridescale, u8 inpvect);
116 
117 //Stop Motion
118 FLEXFUNC flex_stop(BOARD, u8 axisorvectorspace, u16 axismap);
119 
120 //Halt Motion
121 FLEXFUNC flex_halt(BOARD, u8 axisorvectorspace, u16 axismap);
122 
123 //Kill Motion
124 FLEXFUNC flex_kill(BOARD, u8 axisorvectorspace, u16 axismap);
125 
126 //Enable Limit Inputs
128 
129 //Enable Software Limits
131 
132 //Read Limit Input Status
134 //Read Limit Input Status
136 
137 //Read Software Limit Status
139 //Read Software Limit Status
141 
142 //Read Position Breakpoint Status
144 //Read Position Breakpoint Status
146 
147 //Read Anticipation Time Breakpoint Status
149 //Read Anticipation Time Breakpoint Status
151 
152 //Save Memory Object
154 
155 //Delete Memory Object
157 
158 //Free Memory Object
160 
161 //Wait on Condition
162 FLEXFUNC flex_wait(BOARD, u8 device, u16 cc, u8 muston, u8 mustoff, u16 timeout, u8 retvect);
163 
164 //Wait on Condition
165 FLEXFUNC flex_wait_or(BOARD, u8 device, u16 cc, u8 muston, u8 mustoff, u16 timeout, u8 retvect);
166 
167 //Jump to Label on Condition
168 FLEXFUNC flex_jump_label(BOARD, u8 resource, u16 condition, u8 mustOn, u8 mustOff, u16 labelNumber);
169 
170 //Read Boot Version Number
172 
173 //Read Firmware Version Number
175 
176 //Read DSP Version Number
178 
179 //Read FPGA Version Number
181 
182 //Set Home Input Polarity
184 
185 //Enable Home Inputs
187 
188 //Set Limit Input Polarity
189 FLEXFUNC flex_set_lim_pol(BOARD, u8 device, u16 polarity);
190 
191 //Set Inhibit MOMO
192 FLEXFUNC flex_set_inhib_momo(BOARD, u8 device, u8 muston, u8 mustoff);
193 
194 //Configure Inhibit Outputs
195 FLEXFUNC flex_config_inhibs(BOARD, u8 device, u8 axismap, u8 polmap);
196 
197 //Read Home Input Status
199 //Read Home Input Status
201 
202 //Read Velocity Threshold Status
204 //Read Velocity Threshold Status
206 
207 //Insert Label
208 FLEXFUNC flex_insert_label(BOARD, u8 device, u16 labelnum);
209 
210 // Load Velocity
211 FLEXFUNC flex_load_vel(BOARD, u8 axisOrVectorSpace, i32 velocity, u8 inputVector);
212 
213 //Read Velocity
214 FLEXFUNC flex_read_vel(BOARD, u8 axisOrVectorSpace, u8 returnVector);
215 //Read Velocity
216 FLEXFUNC flex_read_vel_rtn(BOARD, u8 axisOrVectorSpace, i32 FAR *velocity);
217 
218 //Load Velocity Threshold
219 FLEXFUNC flex_load_vel_thresh(BOARD, u8 axis, u32 threshold, u8 inputVector);
220 
221 // Set I/O Port Direction
223 
224 //Load Counts per Revolution
226 
227 //Load Steps per Revolution
229 
230 //Set Breakpoint Output MOMO (replaced by flex_set_breakpoint_momo)
231 FLEXFUNC flex_set_bp_momo(BOARD, u8 axisOrEncoder, u8 mustOn, u8 mustOff);
232 
233 //Set High-Speed Capture Polarity (replaced by flex_configure_hs_capture)
234 FLEXFUNC flex_set_hs_cap_pol(BOARD, u8 axisOrEncoder, u16 highSpeedCapturePolarity);
235 
236 //Enable High-Speed Position Capture (replaced by flex_enable_hs_capture)
237 FLEXFUNC flex_enable_hs_caps(BOARD, u8 axisOrEncoder, u16 captureMap);
238 
239 //Enable Breakpoint
240 FLEXFUNC flex_enable_bp(BOARD, u8 axisOrEncoder, u8 enableMode, u8 actionOnBreakpoint);
241 
242 //Set Port MOMO (replaced by flex_set_port)
244 
245 //Read Error Message
246 FLEXFUNC flex_read_err_msg_rtn(BOARD, u16 FAR *commandID, u16 FAR *resourceID, u16 FAR *errorCode);
247 
251 
252 //Read Unfiltered Velocity
253 FLEXFUNC flex_read_raw_vel(BOARD, u8 axisorvectorspace, u8 retvect);
254 //Read Unfiltered Velocity
255 FLEXFUNC flex_read_raw_vel_rtn(BOARD, u8 axisorvectorspace, i32 FAR *rawvel);
256 
257 //Set Axis Mode
259 
260 #ifdef __cplusplus
261  }
262 #endif
263 
264 
265 #endif
CSerialPort port
Definition: AcqCOM.cxx:12
#define BOARD
Definition: Flexmotn.h:95
#define FAR
Definition: Flexmotn.h:92
#define FLEXFUNC
Definition: Flexmotn.h:91
long i32
Definition: MotnCnst.h:35
unsigned long u32
Definition: MotnCnst.h:24
double f64
Definition: MotnCnst.h:36
unsigned short u16
Definition: MotnCnst.h:23
unsigned char u8
Definition: MotnCnst.h:22
void td()
Definition: check_vertex.C:168
FLEXFUNC flex_enable_encs(BOARD, u8 device, u16 encmap)
FLEXFUNC flex_read_err_msg_rtn(BOARD, u16 FAR *commandID, u16 FAR *resourceID, u16 FAR *errorCode)
FLEXFUNC flex_config_inhibs(BOARD, u8 device, u8 axismap, u8 polmap)
FLEXFUNC flex_load_vff(BOARD, u8 axis, u16 vff, u8 inpvect)
FLEXFUNC flex_wait(BOARD, u8 device, u16 cc, u8 muston, u8 mustoff, u16 timeout, u8 retvect)
FLEXFUNC flex_load_ilim(BOARD, u8 axis, u16 ilim, u8 inpvect)
FLEXFUNC flex_set_inhib_momo(BOARD, u8 device, u8 muston, u8 mustoff)
FLEXFUNC flex_load_td(BOARD, u8 axis, u16 td, u8 inpvect)
FLEXFUNC flex_load_vel(BOARD, u8 axisOrVectorSpace, i32 velocity, u8 inputVector)
FLEXFUNC flex_read_lim_status(BOARD, u8 device, u8 retvect)
FLEXFUNC flex_halt(BOARD, u8 axisorvectorspace, u16 axismap)
FLEXFUNC flex_read_dac_status(BOARD, u8 device, u8 retvect)
FLEXFUNC flex_save_object(BOARD, u8 device)
FLEXFUNC flex_read_firm_ver_rtn(BOARD, u32 FAR *firmver)
FLEXFUNC flex_load_decel_rpsps(BOARD, u8 axisorvectorspace, f64 rpsps, u8 inpvect)
FLEXFUNC flex_set_hs_cap_pol(BOARD, u8 axisOrEncoder, u16 highSpeedCapturePolarity)
FLEXFUNC flex_read_motoff_status_rtn(BOARD, u8 device, u16 FAR *status)
FLEXFUNC flex_enable_gear(BOARD, u8 device, u16 axismap)
FLEXFUNC flex_read_raw_vel(BOARD, u8 axisorvectorspace, u8 retvect)
FLEXFUNC flex_read_dsp_ver_rtn(BOARD, u32 FAR *dspver)
FLEXFUNC flex_read_sw_lim_status(BOARD, u8 device, u8 retvect)
FLEXFUNC flex_load_3d_arc(BOARD, u8 device, u32 radius, u32 planepitch, i32 planeyaw, i32 startangle, i32 travelangle, u8 inpvect)
FLEXFUNC flex_load_kp(BOARD, u8 axis, u16 kp, u8 inpvect)
FLEXFUNC flex_stop(BOARD, u8 axisorvectorspace, u16 axismap)
FLEXFUNC flex_read_motoff_status(BOARD, u8 device, u8 retvect)
FLEXFUNC flex_enable_bp(BOARD, u8 axisOrEncoder, u8 enableMode, u8 actionOnBreakpoint)
FLEXFUNC flex_set_lim_pol(BOARD, u8 device, u16 polarity)
FLEXFUNC flex_read_at_bp_status(BOARD, u8 device, u8 retvect)
FLEXFUNC flex_insert_label(BOARD, u8 device, u16 labelnum)
FLEXFUNC flex_set_axis_mode(BOARD, u8 axis, u16 axismode)
FLEXFUNC flex_load_accel(BOARD, u8 axisorvectorspace, u32 accel, u8 inpvect)
FLEXFUNC flex_read_vel_status(BOARD, u8 device, u8 retvect)
FLEXFUNC flex_read_sw_lim_status_rtn(BOARD, u8 device, u16 FAR *swlimstatus)
FLEXFUNC flex_read_rs_status_rtn(BOARD, u8 device, u16 FAR *status)
FLEXFUNC flex_acq_traj_data(BOARD, u8 device, u16 axismap, u16 numsamps, u16 timeperiod)
FLEXFUNC flex_read_lim_status_rtn(BOARD, u8 device, u16 FAR *limstatus)
FLEXFUNC flex_load_vel_override(BOARD, u8 axisorvectorspace, u16 overridescale, u8 inpvect)
FLEXFUNC flex_read_home_status_rtn(BOARD, u8 device, u16 FAR *homestatus)
FLEXFUNC flex_set_port_dir(BOARD, u8 port, u16 direction)
FLEXFUNC flex_load_2d_arc(BOARD, u8 device, u32 radius, i32 startangle, i32 travelangle, u8 inpvect)
FLEXFUNC flex_set_bp_momo(BOARD, u8 axisOrEncoder, u8 mustOn, u8 mustOff)
FLEXFUNC flex_load_steps_rev(BOARD, u8 axis, u16 steps)
FLEXFUNC flex_read_raw_vel_rtn(BOARD, u8 axisorvectorspace, i32 FAR *rawvel)
FLEXFUNC flex_read_dac_status_rtn(BOARD, u8 device, u16 FAR *status)
FLEXFUNC flex_enable_lims(BOARD, u8 device, u16 limmap)
FLEXFUNC flex_read_rs_status(BOARD, u8 device, u8 retvect)
FLEXFUNC flex_load_aff(BOARD, u8 axis, u16 aff, u8 inpvect)
FLEXFUNC flex_kill(BOARD, u8 axisorvectorspace, u16 axismap)
FLEXFUNC flex_load_loop_params(BOARD, u8 axis, PID FAR *PIDValues, u8 inputVector)
FLEXFUNC flex_load_decel(BOARD, u8 axisorvectorspace, u32 decel, u8 inpvect)
FLEXFUNC flex_enable_homes(BOARD, u8 device, u16 homemap)
FLEXFUNC flex_free_object(BOARD, u8 device)
FLEXFUNC flex_read_home_status(BOARD, u8 device, u8 retvect)
FLEXFUNC flex_read_boot_ver_rtn(BOARD, u32 FAR *bootver)
FLEXFUNC flex_read_vel(BOARD, u8 axisOrVectorSpace, u8 returnVector)
FLEXFUNC flex_load_vel_thresh(BOARD, u8 axis, u32 threshold, u8 inputVector)
FLEXFUNC flex_read_traj_data(BOARD, u8 device, u8 retvect)
FLEXFUNC flex_enable_hs_caps(BOARD, u8 axisOrEncoder, u16 captureMap)
FLEXFUNC flex_load_accel_rpsps(BOARD, u8 axisorvectorspace, f64 rpsps, u8 inpvect)
FLEXFUNC flex_load_kd(BOARD, u8 axis, u16 kd, u8 inpvect)
FLEXFUNC flex_load_kv(BOARD, u8 axis, u16 kv, u8 inpvect)
FLEXFUNC flex_read_pos_bp_status(BOARD, u8 device, u8 retvect)
FLEXFUNC flex_read_pos_bp_status_rtn(BOARD, u8 device, u16 FAR *bpstatus)
FLEXFUNC flex_load_counts_rev(BOARD, u8 axis, u16 counts)
FLEXFUNC flex_read_vel_status_rtn(BOARD, u8 device, u16 FAR *status)
FLEXFUNC flex_jump_label(BOARD, u8 resource, u16 condition, u8 mustOn, u8 mustOff, u16 labelNumber)
FLEXFUNC flex_read_vel_rtn(BOARD, u8 axisOrVectorSpace, i32 FAR *velocity)
FLEXFUNC flex_enable_sw_lims(BOARD, u8 device, u16 swlimmap)
FLEXFUNC flex_read_at_bp_status_rtn(BOARD, u8 device, u16 FAR *status)
FLEXFUNC flex_load_helix(BOARD, u8 device, u32 radius, i32 startangle, i32 travelangle, i32 lineartravel, u8 inpvect)
FLEXFUNC flex_set_home_pol(BOARD, u8 device, u16 homepol)
FLEXFUNC flex_delete_object(BOARD, u8 device)
FLEXFUNC flex_load_ki(BOARD, u8 axis, u16 ki, u8 inpvect)
FLEXFUNC flex_wait_or(BOARD, u8 device, u16 cc, u8 muston, u8 mustoff, u16 timeout, u8 retvect)
FLEXFUNC flex_read_traj_data_rtn(BOARD, u8 device, long FAR *retdata)
FLEXFUNC flex_set_port_momo(BOARD, u8 port, u8 mustOn, u8 mustOff)
FLEXFUNC flex_read_fpga_ver_rtn(BOARD, u32 FAR *fpgaver)
Definition: Flexmotn.h:102