MotorWare f2806x Module API Documentation

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

spintac_vel_move.h
Go to the documentation of this file.
1 #ifndef __SPINTAC_VEL_MOVE_H__
2 #define __SPINTAC_VEL_MOVE_H__
3 /* --COPYRIGHT--,BSD
4 * Copyright (c) 2012, LineStream Technologies Incorporated
5 * Copyright (c) 2012, Texas Instruments Incorporated
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 *
12 * * Redistributions of source code must retain the above copyright
13 * notice, this list of conditions and the following disclaimer.
14 *
15 * * Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 *
19 * * Neither the names of Texas Instruments Incorporated, LineStream
20 * Technologies Incorporated, nor the names of its contributors may be
21 * used to endorse or promote products derived from this software without
22 * specific prior written permission.
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
26 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
27 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
28 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
30 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
31 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
32 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
33 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
34 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 * --/COPYRIGHT--*/
36
43
45
46
47 #include "spintac_version.h"
48
49 #ifndef __ST_AXIS_ENUM__
50 #define __ST_AXIS_ENUM__
51
54 typedef enum
55 {
56 ST_AXIS0=0,
57 ST_AXIS1
58 } ST_Axis_e;
59 #endif //__ST_AXIS_ENUM__
60
61 #ifndef __ST_MOVE_CURVE_TYPE_ENUM__
62 #define __ST_MOVE_CURVE_TYPE_ENUM__
63
66 typedef enum
67 {
68 ST_MOVE_CUR_TRAP=0,
69 ST_MOVE_CUR_SCRV,
70 ST_MOVE_CUR_STCRV
71 } ST_MoveCurveType_e;
72 #endif //__ST_MOVE_CURVE_TYPE_ENUM__
73
74 #ifndef __ST_MOVE_STATUS_ENUM__
75 #define __ST_MOVE_STATUS_ENUM__
76
79 typedef enum
80 {
81 ST_MOVE_IDLE=0,
82 ST_MOVE_INIT,
83 ST_MOVE_CONF,
84 ST_MOVE_BUSY,
85 ST_MOVE_HALT
86 } ST_MoveStatus_e;
87 #endif //__ST_MOVE_STATUS_ENUM__
88
92 typedef struct {
93 //System config parameters: Can be set only once at system startup
94 ST_Axis_e Axis;
95 _iq24 T_sec;
96 _iq20 HaltJrkLim;
97 // Config parameters that may be modified
98 ST_MoveCurveType_e CurveType;
99 _iq24 VelStart;
100 } ST_VelMoveCfg_t; // Structure for SpinTAC Move-Velocity configuration
101
102
106 typedef struct {
107 uint32_t ProTime_tick;
108 _iq24 ActualAccLim;
109 _iq20 ActualJrkLim;
110 } ST_VelMoveMsg_t;
111
115 typedef struct {
116 // Configuration structure
117 ST_VelMoveCfg_t cfg;
118 // Information structure
119 ST_VelMoveMsg_t msg;
120 /* Input variables */
121 _iq24 VelEnd;
122 _iq24 AccLim;
123 _iq20 JrkLim;
124 // Control bits
125 bool ENB;
126 bool TST;
127 /* Output variables */
128 _iq24 VelRef;
129 _iq24 AccRef;
130 _iq20 JrkRef;
131 // Information variables
132 ST_MoveStatus_e STATUS;
133 uint16_t ERR_ID;
134 /* Internal variables */
135 uint32_t s1[23];
136 } ST_VelMove_t;
137
138 typedef struct _ST_VELMOVE_Handle_ *ST_VELMOVE_Handle; // SpinTAC Velocity Move Handle
139
143 static inline void STVELMOVE_setAxis(ST_VELMOVE_Handle handle, ST_Axis_e axis) {
144 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
145
146 if(obj->STATUS == ST_MOVE_IDLE) {
147 obj->cfg.Axis = axis;
148 }
149
150 return;
151 } // end of STVELMOVE_setAxis function
152
156 static inline void STVELMOVE_setCurveType(ST_VELMOVE_Handle handle, ST_MoveCurveType_e curveType) {
157 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
158
159 obj->cfg.CurveType = curveType;
160
161 return;
162 } // end of STVELMOVE_setCurveType function
163
167 static inline ST_MoveCurveType_e STVELMOVE_getCurveType(ST_VELMOVE_Handle handle) {
168 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
169
170 return(obj->cfg.CurveType);
171 } // end of STVELMOVE_getCurveType function
172
176 static inline void STVELMOVE_setSampleTime_sec(ST_VELMOVE_Handle handle, _iq24 sampleTime) {
177 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
178
179 if(obj->STATUS == ST_MOVE_IDLE) {
180 obj->cfg.T_sec = sampleTime;
181 }
182
183 return;
184 } // end of STVELMOVE_setSampleTime_sec function
185
189 static inline void STVELMOVE_setHaltLimits(ST_VELMOVE_Handle handle, _iq20 haltJrkLim) {
190 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
191
192 if(obj->STATUS == ST_MOVE_IDLE) {
193 obj->cfg.HaltJrkLim = haltJrkLim;
194 }
195
196 return;
197 } // end of STVELMOVE_setHaltLimits function
198
202 static inline void STVELMOVE_setVelocityStart(ST_VELMOVE_Handle handle, _iq24 velStart) {
203 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
204
205 if(obj->STATUS == ST_MOVE_IDLE) {
206 obj->cfg.VelStart = velStart;
207 }
208
209 return;
210 } // end of STVELMOVE_setVelocityStart function
211
215 static inline _iq24 STVELMOVE_getVelocityStart(ST_VELMOVE_Handle handle) {
216 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
217
218 return(obj->cfg.VelStart);
219 } // end of STVELMOVE_getVelocityStart function
220
224 static inline uint32_t STVELMOVE_getProfileTime_tick(ST_VELMOVE_Handle handle) {
225 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
226
227 return(obj->msg.ProTime_tick);
228 } // end of STVELMOVE_getProfileTime_tick function
229
233 static inline _iq24 STVELMOVE_getActualAcceleration(ST_VELMOVE_Handle handle) {
234 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
235
236 return(obj->msg.ActualAccLim);
237 } // end of STVELMOVE_getActualAcceleration function
238
242 static inline _iq20 STVELMOVE_getActualJerk(ST_VELMOVE_Handle handle) {
243 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
244
245 return(obj->msg.ActualJrkLim);
246 } // end of STVELMOVE_getActualJerk function
247
251 static inline void STVELMOVE_setVelocityEnd(ST_VELMOVE_Handle handle, _iq24 velEnd) {
252 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
253
254 obj->VelEnd = velEnd;
255
256 return;
257 } // end of STVELMOVE_setVelocityEnd function
258
262 static inline _iq24 STVELMOVE_getVelocityEnd(ST_VELMOVE_Handle handle) {
263 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
264
265 return(obj->VelEnd);
266 } // end of STVELMOVE_getVelocityEnd function
267
271 static inline void STVELMOVE_setAccelerationLimit(ST_VELMOVE_Handle handle, _iq24 accLim) {
272 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
273
274 obj->AccLim = accLim;
275
276 return;
277 } // end of STVELMOVE_setAccelerationLimit function
278
282 static inline _iq24 STVELMOVE_getAccelerationLimit(ST_VELMOVE_Handle handle) {
283 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
284
285 return(obj->AccLim);
286 } // end of STVELMOVE_getAccelerationLimit function
287
291 static inline void STVELMOVE_setJerkLimit(ST_VELMOVE_Handle handle, _iq20 jrkLim) {
292 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
293
294 obj->JrkLim = jrkLim;
295
296 return;
297 } // end of STVELMOVE_setJerkLimit function
298
302 static inline _iq20 STVELMOVE_getJerkLimit(ST_VELMOVE_Handle handle) {
303 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
304
305 return(obj->JrkLim);
306 } // end of STVELMOVE_getJerkLimit function
307
311 static inline void STVELMOVE_setEnable(ST_VELMOVE_Handle handle, bool enb) {
312 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
313
314 obj->ENB = enb;
315
316 return;
317 } // end of STVELMOVE_setEnable function
318
322 static inline bool STVELMOVE_getEnable(ST_VELMOVE_Handle handle) {
323 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
324
325 return (obj->ENB);
326 } // end of STVELMOVE_getEnable function
327
331 static inline void STVELMOVE_setTest(ST_VELMOVE_Handle handle, bool tst) {
332 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
333
334 obj->TST = tst;
335
336 return;
337 } // end of STVELMOVE_setTest function
338
342 static inline bool STVELMOVE_getTest(ST_VELMOVE_Handle handle) {
343 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
344
345 return (obj->TST);
346 } // end of STVELMOVE_getTest function
347
351 static inline _iq24 STVELMOVE_getVelocityReference(ST_VELMOVE_Handle handle) {
352 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
353
354 return(obj->VelRef);
355 } // end of STVELMOVE_getVelocityReference function
356
360 static inline void STVELMOVE_setVelocityReference(ST_VELMOVE_Handle handle, _iq24 velRef) {
361 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
362
363 obj->VelRef = velRef;
364
365 return;
366 } // end of STVELMOVE_setVelocityReference function
367
371 static inline _iq24 STVELMOVE_getAccelerationReference(ST_VELMOVE_Handle handle) {
372 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
373
374 return(obj->AccRef);
375 } // end of STVELMOVE_getAccelerationReference function
376
380 static inline _iq20 STVELMOVE_getJerkReference(ST_VELMOVE_Handle handle) {
381 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
382
383 return(obj->JrkRef);
384 } // end of STVELMOVE_getJerkReference function
385
389 static inline ST_MoveStatus_e STVELMOVE_getStatus(ST_VELMOVE_Handle handle) {
390 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
391
392 return (obj->STATUS);
393 } // end of STVELMOVE_getStatus function
394
398 static inline uint16_t STVELMOVE_getErrorID(ST_VELMOVE_Handle handle) {
399 ST_VelMove_t *obj = (ST_VelMove_t *)handle;
400
401 return (obj->ERR_ID);
402 } // end of STVELMOVE_getErrorID function
403
408 ST_VELMOVE_Handle STVELMOVE_init(void *pMemory, const size_t numBytes);
409
412 void STVELMOVE_run(ST_VELMOVE_Handle handle);
413
415 #endif //__SPINTAC_VEL_MOVE_H__
ST_VelMoveCfg_t::VelStart
_iq24 VelStart
Velocity start value { unit: [pu/s], value range: [-1.0, 1.0] }.
Definition: spintac_vel_move.h:99
STVELMOVE_getErrorID
static uint16_t STVELMOVE_getErrorID(ST_VELMOVE_Handle handle)
Gets the Error value (ERR_ID) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:398
ST_VelMoveCfg_t::CurveType
ST_MoveCurveType_e CurveType
Curve Type { ST_MOVE_CUR_TRAP: Trap; ST_MOVE_CUR_SCRV: s-Curve; ST_MOVE_CUR_STCRV: st-Curve }...
Definition: spintac_vel_move.h:98
STVELMOVE_getStatus
static ST_MoveStatus_e STVELMOVE_getStatus(ST_VELMOVE_Handle handle)
Gets the Status value (STATUS) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:389
STVELMOVE_init
ST_VELMOVE_Handle STVELMOVE_init(void *pMemory, const size_t numBytes)
Initializes the SpinTAC Velocity Move object.
STVELMOVE_getJerkLimit
static _iq20 STVELMOVE_getJerkLimit(ST_VELMOVE_Handle handle)
Gets the Jerk Limit (JrkLim) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:302
ST_VelMoveCfg_t
Defines the ST_VelMoveCfg_t data.
Definition: spintac_vel_move.h:92
ST_MOVE_HALT
Not used in ST_MOVE_VEL.
Definition: spintac_vel_move.h:85
STVELMOVE_getActualAcceleration
static _iq24 STVELMOVE_getActualAcceleration(ST_VELMOVE_Handle handle)
Gets the Actual Acceleration (msg.ActualAccLim) for current profile.
Definition: spintac_vel_move.h:233
ST_MOVE_CONF
Move is in conf state, determining the curves.
Definition: spintac_vel_move.h:83
STVELMOVE_getVelocityReference
static _iq24 STVELMOVE_getVelocityReference(ST_VELMOVE_Handle handle)
Gets the Velocity Reference (VelRef) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:351
ST_VelMove_t::STATUS
ST_MoveStatus_e STATUS
Profile generator status { ST_MOVE_IDLE, ST_MOVE_INIT, ST_MOVE_CONF, ST_MOVE_BUSY}.
Definition: spintac_vel_move.h:132
STVELMOVE_getAccelerationReference
static _iq24 STVELMOVE_getAccelerationReference(ST_VELMOVE_Handle handle)
Gets the Acceleration Reference (AccRef) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:371
ST_VelMove_t::AccRef
_iq24 AccRef
Acceleration reference { unit: [pu/s^2] }.
Definition: spintac_vel_move.h:129
STVELMOVE_setCurveType
static void STVELMOVE_setCurveType(ST_VELMOVE_Handle handle, ST_MoveCurveType_e curveType)
Sets the Curve Type (cfg.CurveType) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:156
STVELMOVE_getTest
static bool STVELMOVE_getTest(ST_VELMOVE_Handle handle)
Gets the Test signal (TST) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:342
STVELMOVE_setVelocityEnd
static void STVELMOVE_setVelocityEnd(ST_VELMOVE_Handle handle, _iq24 velEnd)
Sets the Velocity End (VelEnd) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:251
STVELMOVE_getEnable
static bool STVELMOVE_getEnable(ST_VELMOVE_Handle handle)
Gets the Enable signal (ENB) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:322
ST_MOVE_IDLE
Move is in idle state, holding velocity.
Definition: spintac_vel_move.h:81
ST_VelMove_t::JrkRef
_iq20 JrkRef
Jerk reference { unit:; [pu /s^3] }.
Definition: spintac_vel_move.h:130
ST_MOVE_CUR_TRAP
Trapazoidal curve.
Definition: spintac_vel_move.h:68
STVELMOVE_setVelocityReference
static void STVELMOVE_setVelocityReference(ST_VELMOVE_Handle handle, _iq24 velRef)
Sets the Velocity Reference (VelRef) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:360
STVELMOVE_setAccelerationLimit
static void STVELMOVE_setAccelerationLimit(ST_VELMOVE_Handle handle, _iq24 accLim)
Sets the Acceleration Limit (AccLim) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:271
STVELMOVE_setHaltLimits
static void STVELMOVE_setHaltLimits(ST_VELMOVE_Handle handle, _iq20 haltJrkLim)
Sets the Halt Limits (cfg.HaltJrkLim) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:189
ST_MoveCurveType_e
ST_MoveCurveType_e
Enumeration for the Move Curve modes.
Definition: spintac_vel_move.h:66
ST_VelMoveCfg_t::T_sec
_iq24 T_sec
Sample time { unit: [s], value range: (0.0, 0.01] }.
Definition: spintac_vel_move.h:95
ST_VelMove_t::VelRef
_iq24 VelRef
Velocity reference { unit: [pu/s] }.
Definition: spintac_vel_move.h:128
ST_VelMove_t::msg
ST_VelMoveMsg_t msg
Definition: spintac_vel_move.h:119
ST_VelMoveCfg_t::HaltJrkLim
_iq20 HaltJrkLim
Jerk Limit to use during Halt State { unit: [pu/s^3], value range: [0.0005, 2000.0] }...
Definition: spintac_vel_move.h:96
ST_VelMoveMsg_t::ProTime_tick
uint32_t ProTime_tick
Amount of time profile will take { unit: [tick], value range: (0, uint32_t max] }.
Definition: spintac_vel_move.h:107
ST_VelMove_t::ERR_ID
uint16_t ERR_ID
Error ID { 0: no error; others: see error code }.
Definition: spintac_vel_move.h:133
STVELMOVE_getAccelerationLimit
static _iq24 STVELMOVE_getAccelerationLimit(ST_VELMOVE_Handle handle)
Gets the Acceleration Limit (AccLim) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:282
ST_AXIS1
Second Axis.
Definition: spintac_vel_move.h:57
ST_MOVE_BUSY
Move is in busy state, providing the curves.
Definition: spintac_vel_move.h:84
_iq24
long _iq24
Definition: 32b/IQmathLib.h:230
ST_VelMoveCfg_t::Axis
ST_Axis_e Axis
Axis ID { ST_AXIS0: axis 0, ST_AXIS1: axis 1}.
Definition: spintac_vel_move.h:94
STVELMOVE_run
void STVELMOVE_run(ST_VELMOVE_Handle handle)
Runs the SpinTAC Velocity Move Function.
ST_VelMove_t::VelEnd
_iq24 VelEnd
Velocity end value { unit: [pu/s], value range: [-1.0, 1.0] }.
Definition: spintac_vel_move.h:121
ST_VelMove_t::AccLim
_iq24 AccLim
Acceleration Limit { unit: [pu/s^2], value range: [0.001, 120.0] }.
Definition: spintac_vel_move.h:122
ST_MOVE_INIT
Move is in init state, validating configured parameters.
Definition: spintac_vel_move.h:82
ST_Axis_e
ST_Axis_e
Enumeration for the Axis Status states.
Definition: spintac_pos_ctl.h:53
ST_VELMOVE_Handle
struct _ST_VELMOVE_Handle_ * ST_VELMOVE_Handle
Definition: spintac_vel_move.h:138
ST_MOVE_CUR_SCRV
S-Curve.
Definition: spintac_vel_move.h:69
spintac_version.h
Public interface, object, and function definitions related to the SpinTAC Version object...
ST_VelMoveMsg_t
Defines the ST_VelMoveMsg_t message data.
Definition: spintac_vel_move.h:106
STVELMOVE_setJerkLimit
static void STVELMOVE_setJerkLimit(ST_VELMOVE_Handle handle, _iq20 jrkLim)
Sets the Jerk Limit (JrkLim) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:291
ST_MOVE_CUR_STCRV
ST-Curve.
Definition: spintac_vel_move.h:70
STVELMOVE_getProfileTime_tick
static uint32_t STVELMOVE_getProfileTime_tick(ST_VELMOVE_Handle handle)
Gets the Profile Time (msg.ProTime_tick) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:224
ST_VelMoveMsg_t::ActualAccLim
_iq24 ActualAccLim
Actual maximum acceleration of the profile { unit: [pu/s^2], value range: (0.0, AccLim] }...
Definition: spintac_vel_move.h:108
ST_AXIS0
First Axis.
Definition: spintac_vel_move.h:56
ST_VelMove_t
Defines the ST_VelMove_t data.
Definition: spintac_vel_move.h:115
ST_Axis_e
ST_Axis_e
Enumeration for the Axis Status states.
Definition: spintac_vel_move.h:54
STVELMOVE_setAxis
static void STVELMOVE_setAxis(ST_VELMOVE_Handle handle, ST_Axis_e axis)
Sets the Axis (cfg.Axis) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:143
ST_VelMove_t::ENB
bool ENB
Enable bit { false: disabled; true: enabled }.
Definition: spintac_vel_move.h:125
STVELMOVE_setTest
static void STVELMOVE_setTest(ST_VELMOVE_Handle handle, bool tst)
Sets the Test signal (TST) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:331
STVELMOVE_getCurveType
static ST_MoveCurveType_e STVELMOVE_getCurveType(ST_VELMOVE_Handle handle)
Gets the Curve Type (cfg.CurveType) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:167
ST_VelMoveMsg_t::ActualJrkLim
_iq20 ActualJrkLim
Actual maximum jerk of the profile { unit: [pu/s^3], value range: (0.0, JrkLim] }.
Definition: spintac_vel_move.h:109
ST_MoveStatus_e
ST_MoveStatus_e
Enumeration for the Move Status states.
Definition: spintac_pos_move.h:84
_iq20
long _iq20
Definition: 32b/IQmathLib.h:234
ST_VelMove_t::cfg
ST_VelMoveCfg_t cfg
Definition: spintac_vel_move.h:117
ST_MoveCurveType_e
ST_MoveCurveType_e
Enumeration for the Move Curve Mode states.
Definition: spintac_pos_move.h:64
STVELMOVE_setVelocityStart
static void STVELMOVE_setVelocityStart(ST_VELMOVE_Handle handle, _iq24 velStart)
Sets the Velocity Start (cfg.VelStart) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:202
STVELMOVE_getVelocityStart
static _iq24 STVELMOVE_getVelocityStart(ST_VELMOVE_Handle handle)
Gets the Velocity Start (cfg.VelStart) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:215
STVELMOVE_getJerkReference
static _iq20 STVELMOVE_getJerkReference(ST_VELMOVE_Handle handle)
Gets the Jerk Reference (JrkRef) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:380
ST_VelMove_t::TST
bool TST
Profile test bit { false: Not Testing; true: Testing Mode }.
Definition: spintac_vel_move.h:126
STVELMOVE_setSampleTime_sec
static void STVELMOVE_setSampleTime_sec(ST_VELMOVE_Handle handle, _iq24 sampleTime)
Sets the Sample Time (cfg.T_sec) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:176
STVELMOVE_getActualJerk
static _iq20 STVELMOVE_getActualJerk(ST_VELMOVE_Handle handle)
Gets the Actual Jerk (msg.ActualJrkLim) for current pofile.
Definition: spintac_vel_move.h:242
STVELMOVE_setEnable
static void STVELMOVE_setEnable(ST_VELMOVE_Handle handle, bool enb)
Sets the Enable signal (ENB) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:311
STVELMOVE_getVelocityEnd
static _iq24 STVELMOVE_getVelocityEnd(ST_VELMOVE_Handle handle)
Gets the Velocity End (VelEnd) for SpinTAC Velocity Move.
Definition: spintac_vel_move.h:262
ST_VelMove_t::JrkLim
_iq20 JrkLim
Jerk Limit { unit: [pu/s^3], value range: [0.0005, 2000.0] }.
Definition: spintac_vel_move.h:123
ST_MoveStatus_e
ST_MoveStatus_e
Enumeration for the Move Status states.
Definition: spintac_vel_move.h:79