FEDRA emulsion software from the OPERA Collaboration
Flexmotn.h
Go to the documentation of this file.
1/********************************************************************/
2/* FLEXMOTN.H */
3/* Include File for FlexMotion32.dll */
4/* */
5/* Written by the Motion Control Development Team */
6/* COPYRIGHT 1997-2000 National Instruments All Rights Reserved. */
7/********************************************************************/
8// A few notes about the structure of commands
9// Commands have many arguments in common, for instance:
10
11// boardID: In DOS, this is simply the board address. In a DLL,
12// this will be a number from 1 to 32. In 16 bit environment this will
13// tell the DLL which record in the <nimotion.cfg> file to search for
14// the hex address of the board, as well as any other parameters needed.
15// In 32 bit environment this information is obtained from the registry.
16
17// resource\axis\vectorSpace\Encoder: The device number tells the board exactly
18// which resource\axis\vectorSpace\Encoder ... you are trying to control or read.
19// The resource numbers are listed in the function reference manual.
20
21// inputVector: The Input Vector argument tells the board where you want the
22// input data values to the command to come from. For instance, the load_target_pos()
23// function could have an inpvect of 0xFF (if the data is being sent from the host computer)
24// or 0x03 (if the data is to be read from the general purpose variable 3).
25// See the FlexMotion user manual for more information on input
26// vectors and general purpose variables.
27
28// returnVector: The returnVector tells the board where you would like the results of
29// the operation to be sent, (ie. returned to the host or sent to a general
30// purpose variable. This is only used on read commands and the flex_wait()
31// function.
32
33// All other arguments are specific to each command, and should be referred
34// to in the manual.
35
36// The read commands are given in two different styles: with or without
37// the _rtn suffix. The functions without the _rtn suffix do not return
38// any value to the application that calls them, in fact they don't return data
39// to the host application at all unless given the returnVector of 0xFF. The value
40// must be read explicitly by a separate execution of the flex_communicate command.
41// The read commands that have the _rtn suffix are expecting a valid pointer
42// to where you would like the data returned. These routines do in fact wait
43// for the board to respond with data before returning to the calling
44// application.
45
46// Errors: There are two forms of errors returned:
47// 1) Non Modal: These are returned by the DLL in the return value of
48// each function. These are usually serious errors like
49// communication errors.
50// 2) Modal:These errors are returned by the board after the it gets the command.
51// These errors can be read using the flex_read_error_msg_rtn command. It
52// returns the command ID which caused the error, the device ID and the error
53// code.
54// For Error Codes and Command IDs refer to errors.doc and commands.doc respectively.
55
56
57#ifndef ___FlexMotn_h___
58#define ___FlexMotn_h___
59
60
61#ifdef WIN32
62 #ifndef _WINDOWS
63 #define _WINDOWS
64 #endif
65#endif
66
67#ifdef _Windows
68 #define _WINDOWS //For Borland C++ Ver5.0 Support
69#endif
70
71#ifdef _WINDOWS
72 #include <windows.h>
73#endif
74
75
76#ifdef __cplusplus
77 extern "C"{
78#endif
79
80#include "motncnst.h"
81#include "MotnErr.h"
82
83#define MAXBOARDS 0x20 //32 boards allowed in this version of the DLL
84
85
86//Function Prototypes For flexmotion32.dll
87#ifdef WIN32
88 #define FLEXFUNC __declspec(dllexport) APIENTRY
89 #define PCFUNC __declspec(dllimport) APIENTRY
90#else
91 #define FLEXFUNC i32
92 #define FAR
93#endif
94
95#define BOARD u8 boardID
96#define BOARDID boardID
97
98
99
100// PID is the structure passed to flex_load_loop_params() function
101// (PID and PIVFF parameters)
102typedef struct{
111} PID;
112
113// REGISTRY is the structure passed to flex_read_registry() function in order to
114// return info about the object registry entry.
115typedef struct{
121
122
123// The Initialization function
125
127// Axis & Resource Configuration Functions
129
130//Configure Axis Resources
131FLEXFUNC flex_config_axis(BOARD, u8 axis, u8 primaryFeedback, u8 secondaryFeedback,
132 u8 primaryOutput, u8 secondaryOutput);
133
134//Configure Move Complete Status Criteria
135FLEXFUNC flex_config_mc_criteria(BOARD, u8 axis, u16 criteria, u16 deadband, u8 delay,
136 u8 minPulse);
137
138//Configure Step Mode & Polarity
139FLEXFUNC flex_config_step_mode_pol(BOARD, u8 axisOrStepperOutput, u16 modeAndPolarityMap);
140
141//Configure Vector Space
142FLEXFUNC flex_config_vect_spc(BOARD, u8 vectorSpace, u8 xAxis, u8 yAxis, u8 zAxis);
143
144//Enable Axes
145FLEXFUNC flex_enable_axes(BOARD, u8 reserved, u8 PIDRate, u8 axisMap);
146
147// Load Counts/Steps per Revolution
148FLEXFUNC flex_load_counts_steps_rev(BOARD, u8 axisOrEncoder, u16 unitType, u32 countsOrSteps);
149
150//Load All PID Parameters
151FLEXFUNC flex_load_pid_parameters(BOARD, u8 axis, PID FAR *PIDValues, u8 inputVector);
152
153// Load Single PID Parameter
154FLEXFUNC flex_load_single_pid_parameter(BOARD, u8 axis, u16 parameterType, u16 PIDValue, u8 inputVector);
155
156//Load Velocity Filter Time Constant & Run/Stop Threshold
157FLEXFUNC flex_load_vel_tc_rs(BOARD, u8 axis, u16 filterTime, u16 runStopThreshold, u8 inputVector);
158
159//Set Stepper Loop Mode
161
162
164// Trajectory Functions
166
167// Load Acceleraton
168FLEXFUNC flex_load_acceleration(BOARD, u8 axisOrVectorSpace, u16 accelerationType, u32 acceleration, u8 inputVector);
169
170//Load Following Error
171FLEXFUNC flex_load_follow_err(BOARD, u8 axis, u16 followingError, u8 inputVector);
172
173//Load Velocity in RPM
174FLEXFUNC flex_load_rpm(BOARD, u8 axisOrVectorSpace, f64 RPM, u8 inputVector);
175
176// Load Acceleration in RPS/sec
177FLEXFUNC flex_load_rpsps(BOARD, u8 axisOrVectorSpace, u16 accelerationType, f64 RPSPS, u8 inputVector);
178
179//Load Target Position
180FLEXFUNC flex_load_target_pos(BOARD, u8 axis, i32 targetPosition, u8 inputVector);
181
182//Load Velocity
183FLEXFUNC flex_load_velocity(BOARD, u8 axisOrVectorSpace, i32 velocity, u8 inputVector);
184
185//Load Vector Space Position
186FLEXFUNC flex_load_vs_pos (BOARD, u8 vectorSpace, i32 xPosition, i32 yPosition, i32 zPosition, u8 inputVector);
187
188//Read per Axis Status
190//Read per Axis Status
192
193//Read Blend Status
194FLEXFUNC flex_read_blend_status(BOARD, u8 axisOrVectorSpace, u8 returnVector);
195//Read Blend Status
196FLEXFUNC flex_read_blend_status_rtn(BOARD, u8 axisOrVectorSpace, u16 FAR *blendStatus);
197
198//Read Following Error
199FLEXFUNC flex_read_follow_err(BOARD, u8 axisOrVectorSpace, u8 returnVector);
200//Read Following Error
201FLEXFUNC flex_read_follow_err_rtn(BOARD, u8 axisOrVectorSpace, i16 FAR *followingError);
202
203//Read Motion Complete Status
204FLEXFUNC flex_read_mcs_rtn(BOARD, u16 FAR *moveCompleteStatus);
205
206//Read Position
207FLEXFUNC flex_read_pos(BOARD, u8 axis, u8 returnVector);
208//Read Position
210
211//Read Velocity in RPM
212//The data is returned in "IEEE f64" format and has to be converted appropriately.
213FLEXFUNC flex_read_rpm(BOARD, u8 axisOrVectorSpace, u8 returnVector);
214//Read Velocity in RPM
215//The data is returned in "IEEE f64" format and is converted in the DLL.
216FLEXFUNC flex_read_rpm_rtn(BOARD, u8 axisOrVectorSpace, f64 FAR *RPM);
217
218// Read Trajectory Status
219FLEXFUNC flex_read_trajectory_status(BOARD, u8 axisOrVectorSpace, u16 statusType, u8 returnVector);
220// Read Trajectory Status
221FLEXFUNC flex_read_trajectory_status_rtn(BOARD, u8 axisOrVectorSpace, u16 statusType, u16 FAR *status);
222
223//Read Velocity
224FLEXFUNC flex_read_velocity(BOARD, u8 axisOrVectorSpace, u8 returnVector);
225//Read Velocity
226FLEXFUNC flex_read_velocity_rtn(BOARD, u8 axisOrVectorSpace, i32 FAR *velocity);
227
228//Read Vector Space Position
229FLEXFUNC flex_read_vs_pos (BOARD, u8 vectorSpace, u8 returnVector);
230//Read Vector Space Position
231FLEXFUNC flex_read_vs_pos_rtn (BOARD, u8 vectorSpace, i32 FAR *xPosition, i32 FAR *yPosition, i32 FAR *zPosition);
232
233//Reset Position
234FLEXFUNC flex_reset_pos (BOARD, u8 axis, i32 position1, i32 position2, u8 inputVector);
235
236//Set Operation Mode
237FLEXFUNC flex_set_op_mode (BOARD, u8 axisOrVectorSpace, u16 operationMode);
238
239// Check Move Complete Status
241 u16 axisOrVSMap, u16* moveComplete);
242
243// Check Blend Complete Status
245 u16 axisOrVSMap, u16* blendComplete);
246
247// Wait for Move Complete
248FLEXFUNC flex_wait_for_move_complete (BOARD, u8 axisOrVectorSpace, u16 axisOrVSMap,
249 u32 timeout, i32 pollInterval, u16* moveComplete);
250
251// Wait for Blend Complete
252FLEXFUNC flex_wait_for_blend_complete (BOARD, u8 axisOrVectorSpace, u16 axisOrVSMap,
253 u32 timeout, i32 pollInterval, u16* blendComplete);
254
256
257//Load Circular Arc
258FLEXFUNC flex_load_circular_arc (BOARD, u8 vectorSpace, u32 radius, f64 startAngle,
259 f64 travelAngle, u8 inputVector);
260
261//Load Helical Arc
262FLEXFUNC flex_load_helical_arc (BOARD, u8 vectorSpace, u32 radius, f64 startAngle,
263 f64 travelAngle, i32 linearTravel, u8 inputVector);
264
265//Load Spherical Arc
266FLEXFUNC flex_load_spherical_arc (BOARD, u8 vectorSpace, u32 radius, f64 planePitch,
267 f64 planeYaw, f64 startAngle, f64 travelAngle, u8 inputVector);
268
269
271
272//Configure Gear Master
273FLEXFUNC flex_config_gear_master(BOARD, u8 axis, u8 masterAxisOrEncoderOrADC);
274
275//Enable Gearing
277
278//Enable Gearing Single Axis
280
281//Load Gear Ratio
282FLEXFUNC flex_load_gear_ratio(BOARD, u8 axis, u16 absoluteOrRelative,
283 i16 ratioNumerator, u16 ratioDenominator, u8 inputVector);
284
285
287
288//Acquire Trajectory Data
289FLEXFUNC flex_acquire_trajectory_data(BOARD, u16 axisMap, u16 numberOfSamples, u16 timePeriod);
290
291//Load Base Velocity
292FLEXFUNC flex_load_base_vel(BOARD, u8 axis, u16 baseVelocity, u8 inputVector);
293
294//Load Blend Factor
295FLEXFUNC flex_load_blend_fact(BOARD, u8 axisOrVectorSpace, i16 blendFactor, u8 inputVector);
296
297//Load Position Modulus
298FLEXFUNC flex_load_pos_modulus(BOARD, u8 axis, u32 positionModulus, u8 inputVector);
299
300//Load Velocity Threshold in RPM
301FLEXFUNC flex_load_rpm_thresh(BOARD, u8 axis, f64 threshold, u8 inputVector);
302
303//Load S-Curve Time
304FLEXFUNC flex_load_scurve_time(BOARD, u8 axisOrVectorSpace, u16 sCurveTime, u8 inputVector);
305
306//Load Torque Limit
307FLEXFUNC flex_load_torque_lim(BOARD, u8 axis, i16 primaryPositiveLimit, i16 primaryNegativeLimit,
308 i16 secondaryPositiveLimit, i16 secondaryNegativeLimit, u8 inputVector);
309
310//Load Torque Offset
311FLEXFUNC flex_load_torque_offset(BOARD, u8 axis, i16 primaryOffset, i16 secondaryOffset, u8 inputVector);
312
313//Load Velocity Override
314FLEXFUNC flex_load_velocity_override(BOARD, u8 axisOrVectorSpace, f32 overridePercentage, u8 inputVector);
315
316//Load Velocity Threshold
317FLEXFUNC flex_load_velocity_threshold(BOARD, u8 axis, u32 threshold, u8 inputVector);
318
319//Read DAC
320FLEXFUNC flex_read_dac(BOARD, u8 axisOrDAC, u8 returnVector);
321//Read DAC
322FLEXFUNC flex_read_dac_rtn(BOARD, u8 axisOrDAC, i16 FAR *DACValue);
323
324//Read DAC Limit Status
326//Read DAC Limit Status
327FLEXFUNC flex_read_dac_limit_status_rtn(BOARD, u8 FAR *positiveStatus, u8 FAR *negativeStatus);
328
329//Read Steps Generated
330FLEXFUNC flex_read_steps_gen(BOARD, u8 axisOrStepperOutput, u8 returnVector);
331//Read Steps Generated
332FLEXFUNC flex_read_steps_gen_rtn(BOARD, u8 axisOrStepperOutput, i32 FAR *steps);
333
334//Read Target Position
336//Read Target Position
338
339//Read Trajectory Data
341//Read Trajectory Data
342//returnData points to an array of size <= 12 depending upon the
343//number of axes data is being acquired for. For 6 axes returnData
344//points to an array of size 12.
346
347
349// Buffered Functions
351
352// Configure Buffer
353FLEXFUNC flex_configure_buffer (BOARD, u8 buffer, u8 resource, u16 bufferType, i32 bufferSize,
354 u32 totalPoints, u16 oldDataStop, f64 requestedInterval, f64 FAR *actualInterval);
355
356// Write Buffer
357FLEXFUNC flex_write_buffer (BOARD, u8 buffer, u32 numberOfPoints,
358 u16 regenerationMode, i32 *data, u8 inputVector);
359
360// Read Buffer
361FLEXFUNC flex_read_buffer (BOARD, u8 buffer, u32 numberOfPoints, u8 returnVector);
362FLEXFUNC flex_read_buffer_rtn (BOARD, u8 buffer, u32 numberOfPoints, i32* data);
363
364// Check Buffer
365FLEXFUNC flex_check_buffer (BOARD, u8 buffer, u8 returnVector);
366FLEXFUNC flex_check_buffer_rtn (BOARD, u8 buffer, u32 *backlog, u16 *bufferState,
367 u32 *pointsDone);
368
369// Clear Buffer
371
373// Start & Stop Motion Functions
375
376//Blend Motion
377FLEXFUNC flex_blend(BOARD, u8 axisOrVectorSpace, u16 axisOrVSMap);
378
379//Start Motion
380FLEXFUNC flex_start(BOARD, u8 axisOrVectorSpace, u16 axisOrVSMap);
381
382//Stop Motion
383FLEXFUNC flex_stop_motion(BOARD, u8 axisOrVectorSpace, u16 stopType, u16 axisOrVSMap);
384
385
387// Motion IO Functions
389
390//Configure Inhibit Outputs
392
393//Enable Home Inputs
395
396//Enable Limits
397FLEXFUNC flex_enable_limits(BOARD, u16 limitType, u8 forwardLimitMap, u8 reverseLimitMap);
398
399//Load Software Limit Positions
400FLEXFUNC flex_load_sw_lim_pos(BOARD, u8 axis, i32 forwardLimit, i32 reverseLimit, u8 inputVector);
401
402//Read Home Input Status
404//Read Home Input Status
406
407//Read Limit Status
408FLEXFUNC flex_read_limit_status(BOARD, u16 limitType, u8 returnVector);
409//Read Limit Status
410FLEXFUNC flex_read_limit_status_rtn(BOARD, u16 limitType, u8 FAR *forwardLimitStatus, u8 FAR *reverseLimitStatus);
411
412//Set Home Input Polarity
414
415//Set Inhibit MOMO
417
418//Set Limit Input Polarity
419FLEXFUNC flex_set_limit_polarity(BOARD, u8 forwardPolarityMap, u8 reversePolarityMap);
420
421
423
424//Configure Breakpoint
425FLEXFUNC flex_configure_breakpoint(BOARD, u8 axisOrEncoder, u16 enableMode, u16 actionOnBreakpoint, u16 reserved);
426
427//Enable Breakpoint
429
430//Load Breakpoint Modulus
431FLEXFUNC flex_load_bp_modulus(BOARD, u8 axisOrEncoder, u32 breakpointModulus, u8 inputVector);
432
433//Load Breakpoint Position
434FLEXFUNC flex_load_pos_bp(BOARD, u8 axisOrEncoder, i32 breakpointPosition, u8 inputVector);
435
436//Read Breakpoint Status
437FLEXFUNC flex_read_breakpoint_status(BOARD, u8 axisOrEncoder, u16 breakpointType, u8 returnVector);
438//Read Breakpoint Status
439FLEXFUNC flex_read_breakpoint_status_rtn(BOARD, u8 axisOrEncoder, u16 breakpointType, u16 FAR *breakpointStatus);
440
441//Set Breakpoint Output MOMO
442FLEXFUNC flex_set_breakpoint_momo(BOARD, u8 axisOrEncoder, u8 mustOn, u8 mustOff, u8 inputVector);
443
444//Enable High-Speed Capture
446
447//Read Captured Position
448FLEXFUNC flex_read_cap_pos(BOARD, u8 axisOrEncoder, u8 returnVector);
449//Read Captured Position
450FLEXFUNC flex_read_cap_pos_rtn(BOARD, u8 axisOrEncoder, i32 FAR *capturedPosition);
451
452//Read High-Speed Capture Status
453FLEXFUNC flex_read_hs_cap_status(BOARD, u8 axisOrEncoder, u8 returnVector);
454//Read High-Speed Capture Status
455FLEXFUNC flex_read_hs_cap_status_rtn(BOARD, u8 axisOrEncoder, u16 FAR *highSpeedCaptureStatus);
456
457//Configure High-Speed Capture (replaces flex_set_hs_cap_pol)
458FLEXFUNC flex_configure_hs_capture(BOARD, u8 axisOrEncoder, u16 captureMode, u16 reserved);
459
461// Find Home & Index Functions
463
464//Find Home
465FLEXFUNC flex_find_home(BOARD, u8 axis, u16 directionMap);
466
467//Find Index
468FLEXFUNC flex_find_index(BOARD, u8 axis, u16 direction, i16 offset);
469
470
472// Analog & Digital IO Functions
474
475// Configure PWM Output
476FLEXFUNC flex_configure_pwm_output (BOARD, u8 PWMOutput, u16 enable, u16 clock);
477
478// Enable ADCs
480
481// Enable Encoders
483
484// Load DAC
485FLEXFUNC flex_load_dac (BOARD, u8 DAC, i16 outputValue, u8 inputVector);
486
487// Load PWM Duty Cycle
488FLEXFUNC flex_load_pwm_duty (BOARD, u8 PWMOutput, u16 dutycycle, u8 inputVector);
489
490// Read ADC
491FLEXFUNC flex_read_adc (BOARD, u8 ADC, u8 returnVector);
492// Read ADC
494
495// Read Encoder Position
496FLEXFUNC flex_read_encoder (BOARD, u8 axisOrEncoder, u8 returnVector);
497// Read Encoder Position
498FLEXFUNC flex_read_encoder_rtn (BOARD, u8 axisOrEncoder, i32 FAR *encoderCounts);
499
500// Read I/O Port
502// Read I/O Port
504
505// Reset Encoder Position
507
508// Select Signal (RTSI)
509FLEXFUNC flex_select_signal (BOARD, u16 destination, u16 source);
510
511// Set ADC Range
513
514// Configure Encoder Filter
516
517// Set I/O Port Direction
519
520// Set I/O Port MOMO
521FLEXFUNC flex_set_port(BOARD, u8 port, u8 mustOn, u8 mustOff, u8 inputVector);
522
523// Set I/O Port Polarity
525
527// Error & Utility Functions
529
530// Get Error Description
531FLEXFUNC flex_get_error_description(u16 descriptionType, i32 errorCode, u16 commandID, u16 resourceID,
532 i8 FAR *charArray, u32 FAR *sizeOfArray);
533
534// Get Motion Board Information
535FLEXFUNC flex_get_motion_board_info (BOARD, u32 informationType, u32 FAR *informationValue);
536
537// Get Motion Board Name
539
540//Read Error Message
541FLEXFUNC flex_read_error_msg_rtn(BOARD, u16 FAR *commandID, u16 FAR *resourceID, i32 FAR *errorCode);
542
543// Get Last Error
544FLEXFUNC flex_get_last_error(BOARD, u16 *commandID, u16 *resourceID, i32 *errorCode);
545
546// Get u32
547FLEXFUNC flex_getu32(BOARD, u8 resource, u16 attribute, u32 *value);
548
549// Set u32
550FLEXFUNC flex_setu32(BOARD, u8 resource, u16 attribute, u32 value);
551
553// On-board Programming Functions
555
556//Begin Program Storage
558
559//End Program Storage
561
562//Insert Label
564
565//Jump to Label on Condition
566FLEXFUNC flex_jump_label_on_condition (BOARD, u8 resource, u16 condition, u8 mustOn,
567 u8 mustOff, u16 matchType, u16 labelNumber);
568
569//Load Program Delay
571
572//Pause/Resume Program
574
575//Read Program Status
576FLEXFUNC flex_read_program_status (BOARD, u8 program, u8 returnVector);
577//Read Program Status
579
580//Run Program
582
583//Set User Status MOMO
585
586//Stop Program
588
589//Wait on Condition
590FLEXFUNC flex_wait_on_condition(BOARD, u8 resource, u16 waitType, u16 condition, u8 mustOn,
591 u8 mustOff, u16 matchType, u16 timeOut, u8 returnVector);
592
593
595
596//Load Memory Object Description
597//Maximum size of description that can be entered is 32 chars
599
600// Object Memory Management
602
603//Read Memory Object Description
604//description points to an array of size 32
606
607//Read Object Registry
609
610
612
613//Add Variables
614FLEXFUNC flex_add_vars(BOARD, u8 variable1, u8 variable2, u8 returnVector);
615
616//AND Variables
617FLEXFUNC flex_and_vars(BOARD, u8 variable1, u8 variable2, u8 returnVector);
618
619//Divide Variables
620FLEXFUNC flex_div_vars(BOARD, u8 variable1, u8 variable2, u8 returnVector);
621
622//Load Constant to Variable
623FLEXFUNC flex_load_var(BOARD, i32 value, u8 variable1);
624
625//Logical Shift Variable
626FLEXFUNC flex_lshift_var(BOARD, u8 variable1, i8 logicalShift, u8 returnVector);
627
628//Multiply Variables
629FLEXFUNC flex_mult_vars(BOARD, u8 variable1, u8 variable2, u8 returnVector);
630
631//Invert Variable
632FLEXFUNC flex_not_var(BOARD, u8 variable1, u8 returnVector);
633
634//OR Variables
635FLEXFUNC flex_or_vars(BOARD, u8 variable1, u8 variable2, u8 returnVector);
636
637//Read Variable
638FLEXFUNC flex_read_var(BOARD, u8 variable1, u8 returnVector);
639//Read Variable
641
642//Subtract Variables
643FLEXFUNC flex_sub_vars(BOARD, u8 variable1, u8 variable2, u8 returnVector);
644
645//Exclusive OR Variables
646FLEXFUNC flex_xor_vars(BOARD, u8 variable1, u8 variable2, u8 returnVector);
647
648
650// Advanced Functions
652
653//Clear Power Up Status
655
656//Communicate
657FLEXFUNC flex_communicate(BOARD, u8 mode, u8 wordCount, u8 FAR *resource,
658 u16 FAR *command, u16 FAR *data, u8 vector);
659
660//Flush Return Data Buffer
662
663//Enable Auto Start
664FLEXFUNC flex_enable_auto_start(BOARD, u8 enableOrDisable, u8 programToExecute);
665
666//Enable Shut Down
668
669//Enable 1394 Watchdog
671
672//Read Communication Status
674
675//Reset Default Parameters
677
678//Save Default Parameters
680
681//Set Interrupt Event Mask
683
684
686
688// This includes functions that have been retired. They may be completely removed at
689// any time, please do not use them in new development.
691
692#include "FlexComp.h"
695
696#ifdef __cplusplus
697}
698#endif
699
700#endif
701
CSerialPort port
Definition: AcqCOM.cxx:12
FLEXFUNC flex_load_target_pos(BOARD, u8 axis, i32 targetPosition, u8 inputVector)
FLEXFUNC flex_enable_1394_watchdog(BOARD, u16 enableOrDisable)
FLEXFUNC flex_load_circular_arc(BOARD, u8 vectorSpace, u32 radius, f64 startAngle, f64 travelAngle, u8 inputVector)
FLEXFUNC flex_load_sw_lim_pos(BOARD, u8 axis, i32 forwardLimit, i32 reverseLimit, u8 inputVector)
FLEXFUNC flex_load_pos_bp(BOARD, u8 axisOrEncoder, i32 breakpointPosition, u8 inputVector)
FLEXFUNC flex_read_registry_rtn(BOARD, u8 index, REGISTRY FAR *registryRecord)
FLEXFUNC flex_set_port_pol(BOARD, u8 port, u16 portPolarityMap)
FLEXFUNC flex_mult_vars(BOARD, u8 variable1, u8 variable2, u8 returnVector)
FLEXFUNC flex_load_delay(BOARD, u32 delayTime)
FLEXFUNC flex_load_velocity(BOARD, u8 axisOrVectorSpace, i32 velocity, u8 inputVector)
FLEXFUNC flex_load_var(BOARD, i32 value, u8 variable1)
FLEXFUNC flex_read_mcs_rtn(BOARD, u16 FAR *moveCompleteStatus)
FLEXFUNC flex_enable_shutdown(BOARD)
FLEXFUNC flex_configure_inhibits(BOARD, u8 axisMap, u8 polarityMap)
FLEXFUNC flex_load_rpm(BOARD, u8 axisOrVectorSpace, f64 RPM, u8 inputVector)
FLEXFUNC flex_flush_rdb(BOARD)
FLEXFUNC flex_get_motion_board_info(BOARD, u32 informationType, u32 FAR *informationValue)
FLEXFUNC flex_check_blend_complete_status(BOARD, u8 axisOrVectorSpace, u16 axisOrVSMap, u16 *blendComplete)
FLEXFUNC flex_reset_encoder(BOARD, u8 encoder, i32 position, u8 inputVector)
FLEXFUNC flex_enable_gearing_single_axis(BOARD, u8 axis, u16 enable)
FLEXFUNC flex_reset_pos(BOARD, u8 axis, i32 position1, i32 position2, u8 inputVector)
FLEXFUNC flex_read_home_input_status(BOARD, u8 returnVector)
FLEXFUNC flex_set_limit_polarity(BOARD, u8 forwardPolarityMap, u8 reversePolarityMap)
FLEXFUNC flex_acquire_trajectory_data(BOARD, u16 axisMap, u16 numberOfSamples, u16 timePeriod)
FLEXFUNC flex_read_axis_status_rtn(BOARD, u8 axis, u16 FAR *axisStatus)
FLEXFUNC flex_set_port(BOARD, u8 port, u8 mustOn, u8 mustOff, u8 inputVector)
FLEXFUNC flex_find_index(BOARD, u8 axis, u16 direction, i16 offset)
FLEXFUNC flex_load_spherical_arc(BOARD, u8 vectorSpace, u32 radius, f64 planePitch, f64 planeYaw, f64 startAngle, f64 travelAngle, u8 inputVector)
FLEXFUNC flex_enable_axes(BOARD, u8 reserved, u8 PIDRate, u8 axisMap)
FLEXFUNC flex_load_counts_steps_rev(BOARD, u8 axisOrEncoder, u16 unitType, u32 countsOrSteps)
FLEXFUNC flex_read_breakpoint_status(BOARD, u8 axisOrEncoder, u16 breakpointType, u8 returnVector)
FLEXFUNC flex_write_buffer(BOARD, u8 buffer, u32 numberOfPoints, u16 regenerationMode, i32 *data, u8 inputVector)
FLEXFUNC flex_read_velocity_rtn(BOARD, u8 axisOrVectorSpace, i32 FAR *velocity)
FLEXFUNC flex_enable_encoders(BOARD, u16 encoderMap)
FLEXFUNC flex_load_follow_err(BOARD, u8 axis, u16 followingError, u8 inputVector)
FLEXFUNC flex_load_blend_fact(BOARD, u8 axisOrVectorSpace, i16 blendFactor, u8 inputVector)
FLEXFUNC flex_check_buffer(BOARD, u8 buffer, u8 returnVector)
FLEXFUNC flex_read_vs_pos_rtn(BOARD, u8 vectorSpace, i32 FAR *xPosition, i32 FAR *yPosition, i32 FAR *zPosition)
FLEXFUNC flex_load_bp_modulus(BOARD, u8 axisOrEncoder, u32 breakpointModulus, u8 inputVector)
FLEXFUNC flex_sub_vars(BOARD, u8 variable1, u8 variable2, u8 returnVector)
FLEXFUNC flex_read_pos(BOARD, u8 axis, u8 returnVector)
FLEXFUNC flex_load_pid_parameters(BOARD, u8 axis, PID FAR *PIDValues, u8 inputVector)
FLEXFUNC flex_set_stepper_loop_mode(BOARD, u8 axis, u16 loopMode)
FLEXFUNC flex_read_trajectory_data(BOARD, u8 returnVector)
FLEXFUNC flex_read_cap_pos(BOARD, u8 axisOrEncoder, u8 returnVector)
FLEXFUNC flex_getu32(BOARD, u8 resource, u16 attribute, u32 *value)
FLEXFUNC flex_set_op_mode(BOARD, u8 axisOrVectorSpace, u16 operationMode)
FLEXFUNC flex_load_single_pid_parameter(BOARD, u8 axis, u16 parameterType, u16 PIDValue, u8 inputVector)
FLEXFUNC flex_load_vs_pos(BOARD, u8 vectorSpace, i32 xPosition, i32 yPosition, i32 zPosition, u8 inputVector)
FLEXFUNC flex_add_vars(BOARD, u8 variable1, u8 variable2, u8 returnVector)
FLEXFUNC flex_load_pwm_duty(BOARD, u8 PWMOutput, u16 dutycycle, u8 inputVector)
FLEXFUNC flex_set_adc_range(BOARD, u8 ADC, u16 range)
FLEXFUNC flex_config_gear_master(BOARD, u8 axis, u8 masterAxisOrEncoderOrADC)
FLEXFUNC flex_load_helical_arc(BOARD, u8 vectorSpace, u32 radius, f64 startAngle, f64 travelAngle, i32 linearTravel, u8 inputVector)
FLEXFUNC flex_read_vs_pos(BOARD, u8 vectorSpace, u8 returnVector)
FLEXFUNC flex_configure_pwm_output(BOARD, u8 PWMOutput, u16 enable, u16 clock)
FLEXFUNC flex_read_dac_rtn(BOARD, u8 axisOrDAC, i16 FAR *DACValue)
FLEXFUNC flex_configure_hs_capture(BOARD, u8 axisOrEncoder, u16 captureMode, u16 reserved)
FLEXFUNC flex_read_port_rtn(BOARD, u8 port, u16 FAR *portData)
FLEXFUNC flex_configure_buffer(BOARD, u8 buffer, u8 resource, u16 bufferType, i32 bufferSize, u32 totalPoints, u16 oldDataStop, f64 requestedInterval, f64 FAR *actualInterval)
FLEXFUNC flex_lshift_var(BOARD, u8 variable1, i8 logicalShift, u8 returnVector)
FLEXFUNC flex_read_description_rtn(BOARD, u8 object, i8 FAR *description)
FLEXFUNC flex_enable_breakpoint(BOARD, u8 axisOrEncoder, u16 enable)
FLEXFUNC flex_read_dac_limit_status(BOARD, u8 returnVector)
#define BOARD
Definition: Flexmotn.h:95
FLEXFUNC flex_not_var(BOARD, u8 variable1, u8 returnVector)
FLEXFUNC flex_read_buffer(BOARD, u8 buffer, u32 numberOfPoints, u8 returnVector)
FLEXFUNC flex_read_home_input_status_rtn(BOARD, u16 FAR *homeStatus)
FLEXFUNC flex_read_csr_rtn(BOARD, u16 FAR *csr)
FLEXFUNC flex_clear_buffer(BOARD, u8 buffer)
FLEXFUNC flex_read_encoder_rtn(BOARD, u8 axisOrEncoder, i32 FAR *encoderCounts)
FLEXFUNC flex_select_signal(BOARD, u16 destination, u16 source)
FLEXFUNC flex_get_motion_board_name(BOARD, i8 FAR *charArray, u32 FAR *sizeOfArray)
FLEXFUNC flex_read_target_pos(BOARD, u8 axis, u8 returnVector)
FLEXFUNC flex_enable_auto_start(BOARD, u8 enableOrDisable, u8 programToExecute)
FLEXFUNC flex_get_last_error(BOARD, u16 *commandID, u16 *resourceID, i32 *errorCode)
FLEXFUNC flex_read_rpm_rtn(BOARD, u8 axisOrVectorSpace, f64 FAR *RPM)
FLEXFUNC flex_read_rpm(BOARD, u8 axisOrVectorSpace, u8 returnVector)
FLEXFUNC flex_read_limit_status(BOARD, u16 limitType, u8 returnVector)
FLEXFUNC flex_enable_hs_capture(BOARD, u8 axisOrEncoder, u16 enable)
FLEXFUNC flex_stop_motion(BOARD, u8 axisOrVectorSpace, u16 stopType, u16 axisOrVSMap)
FLEXFUNC flex_or_vars(BOARD, u8 variable1, u8 variable2, u8 returnVector)
FLEXFUNC flex_read_limit_status_rtn(BOARD, u16 limitType, u8 FAR *forwardLimitStatus, u8 FAR *reverseLimitStatus)
FLEXFUNC flex_and_vars(BOARD, u8 variable1, u8 variable2, u8 returnVector)
FLEXFUNC flex_load_rpsps(BOARD, u8 axisOrVectorSpace, u16 accelerationType, f64 RPSPS, u8 inputVector)
FLEXFUNC flex_read_blend_status_rtn(BOARD, u8 axisOrVectorSpace, u16 FAR *blendStatus)
FLEXFUNC flex_stop_prog(BOARD, u8 program)
FLEXFUNC flex_load_gear_ratio(BOARD, u8 axis, u16 absoluteOrRelative, i16 ratioNumerator, u16 ratioDenominator, u8 inputVector)
FLEXFUNC flex_read_program_status(BOARD, u8 program, u8 returnVector)
FLEXFUNC flex_read_pos_rtn(BOARD, u8 axis, i32 FAR *position)
FLEXFUNC flex_load_rpm_thresh(BOARD, u8 axis, f64 threshold, u8 inputVector)
FLEXFUNC flex_config_mc_criteria(BOARD, u8 axis, u16 criteria, u16 deadband, u8 delay, u8 minPulse)
FLEXFUNC flex_load_vel_tc_rs(BOARD, u8 axis, u16 filterTime, u16 runStopThreshold, u8 inputVector)
FLEXFUNC flex_load_description(BOARD, u8 object, i8 FAR *description)
FLEXFUNC flex_read_axis_status(BOARD, u8 axis, u8 returnVector)
FLEXFUNC flex_read_encoder(BOARD, u8 axisOrEncoder, u8 returnVector)
FLEXFUNC flex_read_adc(BOARD, u8 ADC, u8 returnVector)
FLEXFUNC flex_pause_prog(BOARD, u8 program)
FLEXFUNC flex_xor_vars(BOARD, u8 variable1, u8 variable2, u8 returnVector)
FLEXFUNC flex_load_velocity_override(BOARD, u8 axisOrVectorSpace, f32 overridePercentage, u8 inputVector)
FLEXFUNC flex_initialize_controller(BOARD, i8 FAR *settingsName)
FLEXFUNC flex_insert_program_label(BOARD, u16 labelNumber)
FLEXFUNC flex_config_step_mode_pol(BOARD, u8 axisOrStepperOutput, u16 modeAndPolarityMap)
FLEXFUNC flex_read_error_msg_rtn(BOARD, u16 FAR *commandID, u16 FAR *resourceID, i32 FAR *errorCode)
FLEXFUNC flex_read_hs_cap_status_rtn(BOARD, u8 axisOrEncoder, u16 FAR *highSpeedCaptureStatus)
FLEXFUNC flex_read_blend_status(BOARD, u8 axisOrVectorSpace, u8 returnVector)
FLEXFUNC flex_read_follow_err_rtn(BOARD, u8 axisOrVectorSpace, i16 FAR *followingError)
FLEXFUNC flex_read_dac(BOARD, u8 axisOrDAC, u8 returnVector)
FLEXFUNC flex_read_cap_pos_rtn(BOARD, u8 axisOrEncoder, i32 FAR *capturedPosition)
FLEXFUNC flex_configure_encoder_filter(BOARD, u8 axisOrEncoder, u16 frequency)
FLEXFUNC flex_enable_limits(BOARD, u16 limitType, u8 forwardLimitMap, u8 reverseLimitMap)
FLEXFUNC flex_load_base_vel(BOARD, u8 axis, u16 baseVelocity, u8 inputVector)
FLEXFUNC flex_read_trajectory_status(BOARD, u8 axisOrVectorSpace, u16 statusType, u8 returnVector)
FLEXFUNC flex_read_breakpoint_status_rtn(BOARD, u8 axisOrEncoder, u16 breakpointType, u16 FAR *breakpointStatus)
FLEXFUNC flex_enable_gearing(BOARD, u16 gearMap)
FLEXFUNC flex_setu32(BOARD, u8 resource, u16 attribute, u32 value)
FLEXFUNC flex_read_var(BOARD, u8 variable1, u8 returnVector)
FLEXFUNC flex_read_program_status_rtn(BOARD, u8 program, u16 FAR *programStatus)
FLEXFUNC flex_read_var_rtn(BOARD, u8 variable1, i32 FAR *value)
FLEXFUNC flex_read_follow_err(BOARD, u8 axisOrVectorSpace, u8 returnVector)
FLEXFUNC flex_save_defaults(BOARD)
FLEXFUNC flex_check_buffer_rtn(BOARD, u8 buffer, u32 *backlog, u16 *bufferState, u32 *pointsDone)
FLEXFUNC flex_start(BOARD, u8 axisOrVectorSpace, u16 axisOrVSMap)
FLEXFUNC flex_read_port(BOARD, u8 port, u8 returnVector)
FLEXFUNC flex_wait_for_blend_complete(BOARD, u8 axisOrVectorSpace, u16 axisOrVSMap, u32 timeout, i32 pollInterval, u16 *blendComplete)
FLEXFUNC flex_load_scurve_time(BOARD, u8 axisOrVectorSpace, u16 sCurveTime, u8 inputVector)
FLEXFUNC flex_read_dac_limit_status_rtn(BOARD, u8 FAR *positiveStatus, u8 FAR *negativeStatus)
FLEXFUNC flex_div_vars(BOARD, u8 variable1, u8 variable2, u8 returnVector)
FLEXFUNC flex_read_target_pos_rtn(BOARD, u8 axis, i32 FAR *targetPosition)
FLEXFUNC flex_wait_for_move_complete(BOARD, u8 axisOrVectorSpace, u16 axisOrVSMap, u32 timeout, i32 pollInterval, u16 *moveComplete)
FLEXFUNC flex_load_dac(BOARD, u8 DAC, i16 outputValue, u8 inputVector)
FLEXFUNC flex_end_store(BOARD, u8 program)
FLEXFUNC flex_read_steps_gen(BOARD, u8 axisOrStepperOutput, u8 returnVector)
FLEXFUNC flex_load_pos_modulus(BOARD, u8 axis, u32 positionModulus, u8 inputVector)
FLEXFUNC flex_configure_breakpoint(BOARD, u8 axisOrEncoder, u16 enableMode, u16 actionOnBreakpoint, u16 reserved)
FLEXFUNC flex_load_velocity_threshold(BOARD, u8 axis, u32 threshold, u8 inputVector)
FLEXFUNC flex_set_breakpoint_momo(BOARD, u8 axisOrEncoder, u8 mustOn, u8 mustOff, u8 inputVector)
FLEXFUNC flex_read_trajectory_status_rtn(BOARD, u8 axisOrVectorSpace, u16 statusType, u16 FAR *status)
FLEXFUNC flex_config_axis(BOARD, u8 axis, u8 primaryFeedback, u8 secondaryFeedback, u8 primaryOutput, u8 secondaryOutput)
FLEXFUNC flex_read_steps_gen_rtn(BOARD, u8 axisOrStepperOutput, i32 FAR *steps)
FLEXFUNC flex_read_trajectory_data_rtn(BOARD, i32 FAR *returnData)
FLEXFUNC flex_config_vect_spc(BOARD, u8 vectorSpace, u8 xAxis, u8 yAxis, u8 zAxis)
FLEXFUNC flex_object_mem_manage(BOARD, u8 object, u16 operation)
FLEXFUNC flex_get_error_description(u16 descriptionType, i32 errorCode, u16 commandID, u16 resourceID, i8 FAR *charArray, u32 FAR *sizeOfArray)
FLEXFUNC flex_begin_store(BOARD, u8 program)
FLEXFUNC flex_wait_on_condition(BOARD, u8 resource, u16 waitType, u16 condition, u8 mustOn, u8 mustOff, u16 matchType, u16 timeOut, u8 returnVector)
FLEXFUNC flex_check_move_complete_status(BOARD, u8 axisOrVectorSpace, u16 axisOrVSMap, u16 *moveComplete)
FLEXFUNC flex_set_irq_mask(BOARD, u16 mask)
FLEXFUNC flex_load_torque_lim(BOARD, u8 axis, i16 primaryPositiveLimit, i16 primaryNegativeLimit, i16 secondaryPositiveLimit, i16 secondaryNegativeLimit, u8 inputVector)
FLEXFUNC flex_enable_home_inputs(BOARD, u16 homeMap)
FLEXFUNC flex_set_status_momo(BOARD, u8 mustOn, u8 mustOff)
FLEXFUNC flex_find_home(BOARD, u8 axis, u16 directionMap)
FLEXFUNC flex_clear_pu_status(BOARD)
struct REGSTRY REGISTRY
FLEXFUNC flex_read_adc_rtn(BOARD, u8 ADC, i16 FAR *ADCValue)
FLEXFUNC flex_enable_adcs(BOARD, u8 reserved, u16 ADCMap)
FLEXFUNC flex_load_torque_offset(BOARD, u8 axis, i16 primaryOffset, i16 secondaryOffset, u8 inputVector)
FLEXFUNC flex_read_velocity(BOARD, u8 axisOrVectorSpace, u8 returnVector)
FLEXFUNC flex_blend(BOARD, u8 axisOrVectorSpace, u16 axisOrVSMap)
FLEXFUNC flex_communicate(BOARD, u8 mode, u8 wordCount, u8 FAR *resource, u16 FAR *command, u16 FAR *data, u8 vector)
#define FAR
Definition: Flexmotn.h:92
FLEXFUNC flex_jump_label_on_condition(BOARD, u8 resource, u16 condition, u8 mustOn, u8 mustOff, u16 matchType, u16 labelNumber)
FLEXFUNC flex_reset_defaults(BOARD)
FLEXFUNC flex_load_acceleration(BOARD, u8 axisOrVectorSpace, u16 accelerationType, u32 acceleration, u8 inputVector)
FLEXFUNC flex_run_prog(BOARD, u8 program)
FLEXFUNC flex_set_inhibit_momo(BOARD, u8 mustOn, u8 mustOff)
#define FLEXFUNC
Definition: Flexmotn.h:91
FLEXFUNC flex_set_home_polarity(BOARD, u16 homePolarityMap)
FLEXFUNC flex_read_buffer_rtn(BOARD, u8 buffer, u32 numberOfPoints, i32 *data)
FLEXFUNC flex_read_hs_cap_status(BOARD, u8 axisOrEncoder, u8 returnVector)
FLEXFUNC flex_set_port_direction(BOARD, u8 port, u16 directionMap)
MFTYPE32 long position
Definition: Milproto.h:644
long i32
Definition: MotnCnst.h:35
unsigned long u32
Definition: MotnCnst.h:24
float f32
Definition: MotnCnst.h:37
double f64
Definition: MotnCnst.h:36
unsigned short u16
Definition: MotnCnst.h:23
char i8
Definition: MotnCnst.h:33
unsigned char u8
Definition: MotnCnst.h:22
short i16
Definition: MotnCnst.h:34
Definition: Flexmotn.h:102
u16 vff
Definition: Flexmotn.h:110
u16 kd
Definition: Flexmotn.h:106
u16 kv
Definition: Flexmotn.h:108
u16 ki
Definition: Flexmotn.h:104
u16 td
Definition: Flexmotn.h:107
u16 ilim
Definition: Flexmotn.h:105
u16 aff
Definition: Flexmotn.h:109
u16 kp
Definition: Flexmotn.h:103
Definition: Flexmotn.h:115
u32 pstart
Definition: Flexmotn.h:118
u16 type
Definition: Flexmotn.h:117
u32 size
Definition: Flexmotn.h:119
u16 device
Definition: Flexmotn.h:116