1 #ifndef __SPINTAC_VEL_MOVE_H__
2 #define __SPINTAC_VEL_MOVE_H__
49 #ifndef __ST_AXIS_ENUM__
50 #define __ST_AXIS_ENUM__
59 #endif //__ST_AXIS_ENUM__
61 #ifndef __ST_MOVE_CURVE_TYPE_ENUM__
62 #define __ST_MOVE_CURVE_TYPE_ENUM__
72 #endif //__ST_MOVE_CURVE_TYPE_ENUM__
74 #ifndef __ST_MOVE_STATUS_ENUM__
75 #define __ST_MOVE_STATUS_ENUM__
87 #endif //__ST_MOVE_STATUS_ENUM__
415 #endif //__SPINTAC_VEL_MOVE_H__
_iq24 VelStart
Velocity start value { unit: [pu/s], value range: [-1.0, 1.0] }.
static uint16_t STVELMOVE_getErrorID(ST_VELMOVE_Handle handle)
Gets the Error value (ERR_ID) for SpinTAC Velocity Move.
ST_MoveCurveType_e CurveType
Curve Type { ST_MOVE_CUR_TRAP: Trap; ST_MOVE_CUR_SCRV: s-Curve; ST_MOVE_CUR_STCRV: st-Curve }...
static ST_MoveStatus_e STVELMOVE_getStatus(ST_VELMOVE_Handle handle)
Gets the Status value (STATUS) for SpinTAC Velocity Move.
ST_VELMOVE_Handle STVELMOVE_init(void *pMemory, const size_t numBytes)
Initializes the SpinTAC Velocity Move object.
static _iq20 STVELMOVE_getJerkLimit(ST_VELMOVE_Handle handle)
Gets the Jerk Limit (JrkLim) for SpinTAC Velocity Move.
Defines the ST_VelMoveCfg_t data.
static _iq24 STVELMOVE_getActualAcceleration(ST_VELMOVE_Handle handle)
Gets the Actual Acceleration (msg.ActualAccLim) for current profile.
Move is in conf state, determining the curves.
static _iq24 STVELMOVE_getVelocityReference(ST_VELMOVE_Handle handle)
Gets the Velocity Reference (VelRef) for SpinTAC Velocity Move.
ST_MoveStatus_e STATUS
Profile generator status { ST_MOVE_IDLE, ST_MOVE_INIT, ST_MOVE_CONF, ST_MOVE_BUSY}.
static _iq24 STVELMOVE_getAccelerationReference(ST_VELMOVE_Handle handle)
Gets the Acceleration Reference (AccRef) for SpinTAC Velocity Move.
_iq24 AccRef
Acceleration reference { unit: [pu/s^2] }.
static void STVELMOVE_setCurveType(ST_VELMOVE_Handle handle, ST_MoveCurveType_e curveType)
Sets the Curve Type (cfg.CurveType) for SpinTAC Velocity Move.
static bool STVELMOVE_getTest(ST_VELMOVE_Handle handle)
Gets the Test signal (TST) for SpinTAC Velocity Move.
static void STVELMOVE_setVelocityEnd(ST_VELMOVE_Handle handle, _iq24 velEnd)
Sets the Velocity End (VelEnd) for SpinTAC Velocity Move.
static bool STVELMOVE_getEnable(ST_VELMOVE_Handle handle)
Gets the Enable signal (ENB) for SpinTAC Velocity Move.
Move is in idle state, holding velocity.
_iq20 JrkRef
Jerk reference { unit:; [pu /s^3] }.
static void STVELMOVE_setVelocityReference(ST_VELMOVE_Handle handle, _iq24 velRef)
Sets the Velocity Reference (VelRef) for SpinTAC Velocity Move.
static void STVELMOVE_setAccelerationLimit(ST_VELMOVE_Handle handle, _iq24 accLim)
Sets the Acceleration Limit (AccLim) for SpinTAC Velocity Move.
static void STVELMOVE_setHaltLimits(ST_VELMOVE_Handle handle, _iq20 haltJrkLim)
Sets the Halt Limits (cfg.HaltJrkLim) for SpinTAC Velocity Move.
ST_MoveCurveType_e
Enumeration for the Move Curve modes.
_iq24 T_sec
Sample time { unit: [s], value range: (0.0, 0.01] }.
_iq24 VelRef
Velocity reference { unit: [pu/s] }.
_iq20 HaltJrkLim
Jerk Limit to use during Halt State { unit: [pu/s^3], value range: [0.0005, 2000.0] }...
uint32_t ProTime_tick
Amount of time profile will take { unit: [tick], value range: (0, uint32_t max] }.
uint16_t ERR_ID
Error ID { 0: no error; others: see error code }.
static _iq24 STVELMOVE_getAccelerationLimit(ST_VELMOVE_Handle handle)
Gets the Acceleration Limit (AccLim) for SpinTAC Velocity Move.
Move is in busy state, providing the curves.
ST_Axis_e Axis
Axis ID { ST_AXIS0: axis 0, ST_AXIS1: axis 1}.
void STVELMOVE_run(ST_VELMOVE_Handle handle)
Runs the SpinTAC Velocity Move Function.
_iq24 VelEnd
Velocity end value { unit: [pu/s], value range: [-1.0, 1.0] }.
_iq24 AccLim
Acceleration Limit { unit: [pu/s^2], value range: [0.001, 120.0] }.
Move is in init state, validating configured parameters.
ST_Axis_e
Enumeration for the Axis Status states.
struct _ST_VELMOVE_Handle_ * ST_VELMOVE_Handle
Public interface, object, and function definitions related to the SpinTAC Version object...
Defines the ST_VelMoveMsg_t message data.
static void STVELMOVE_setJerkLimit(ST_VELMOVE_Handle handle, _iq20 jrkLim)
Sets the Jerk Limit (JrkLim) for SpinTAC Velocity Move.
static uint32_t STVELMOVE_getProfileTime_tick(ST_VELMOVE_Handle handle)
Gets the Profile Time (msg.ProTime_tick) for SpinTAC Velocity Move.
_iq24 ActualAccLim
Actual maximum acceleration of the profile { unit: [pu/s^2], value range: (0.0, AccLim] }...
Defines the ST_VelMove_t data.
ST_Axis_e
Enumeration for the Axis Status states.
static void STVELMOVE_setAxis(ST_VELMOVE_Handle handle, ST_Axis_e axis)
Sets the Axis (cfg.Axis) for SpinTAC Velocity Move.
bool ENB
Enable bit { false: disabled; true: enabled }.
static void STVELMOVE_setTest(ST_VELMOVE_Handle handle, bool tst)
Sets the Test signal (TST) for SpinTAC Velocity Move.
static ST_MoveCurveType_e STVELMOVE_getCurveType(ST_VELMOVE_Handle handle)
Gets the Curve Type (cfg.CurveType) for SpinTAC Velocity Move.
_iq20 ActualJrkLim
Actual maximum jerk of the profile { unit: [pu/s^3], value range: (0.0, JrkLim] }.
ST_MoveStatus_e
Enumeration for the Move Status states.
ST_MoveCurveType_e
Enumeration for the Move Curve Mode states.
static void STVELMOVE_setVelocityStart(ST_VELMOVE_Handle handle, _iq24 velStart)
Sets the Velocity Start (cfg.VelStart) for SpinTAC Velocity Move.
static _iq24 STVELMOVE_getVelocityStart(ST_VELMOVE_Handle handle)
Gets the Velocity Start (cfg.VelStart) for SpinTAC Velocity Move.
static _iq20 STVELMOVE_getJerkReference(ST_VELMOVE_Handle handle)
Gets the Jerk Reference (JrkRef) for SpinTAC Velocity Move.
bool TST
Profile test bit { false: Not Testing; true: Testing Mode }.
static void STVELMOVE_setSampleTime_sec(ST_VELMOVE_Handle handle, _iq24 sampleTime)
Sets the Sample Time (cfg.T_sec) for SpinTAC Velocity Move.
static _iq20 STVELMOVE_getActualJerk(ST_VELMOVE_Handle handle)
Gets the Actual Jerk (msg.ActualJrkLim) for current pofile.
static void STVELMOVE_setEnable(ST_VELMOVE_Handle handle, bool enb)
Sets the Enable signal (ENB) for SpinTAC Velocity Move.
static _iq24 STVELMOVE_getVelocityEnd(ST_VELMOVE_Handle handle)
Gets the Velocity End (VelEnd) for SpinTAC Velocity Move.
_iq20 JrkLim
Jerk Limit { unit: [pu/s^3], value range: [0.0005, 2000.0] }.
ST_MoveStatus_e
Enumeration for the Move Status states.