MotorWare f2806x Module API Documentation
Data Structures | Macros | Typedefs | Enumerations | Functions
SpinTAC Position Move

Data Structures

struct  ST_PosMoveCfg_t
 Defines the ST_PosMoveCfg_t data. More...
 
struct  ST_PosMoveMsg_t
 Defines the ST_PosMoveMsg_t data. More...
 
struct  ST_PosMove_t
 Defines the ST_PosMove_t data. More...
 

Macros

#define __ST_AXIS_ENUM__
 
#define __ST_MOVE_CURVE_TYPE_ENUM__
 
#define __ST_MOVE_STATUS_ENUM__
 

Typedefs

typedef struct _ST_POSMOVE_Handle_ * ST_POSMOVE_Handle
 

Enumerations

enum  ST_Axis_e {
  ST_AXIS0 =0, ST_AXIS1, ST_AXIS0 =0, ST_AXIS1,
  ST_AXIS0 =0, ST_AXIS1, ST_AXIS0 =0, ST_AXIS1
}
 Enumeration for the Axis Status states. More...
 
enum  ST_MoveCurveType_e {
  ST_MOVE_CUR_TRAP =0, ST_MOVE_CUR_SCRV, ST_MOVE_CUR_STCRV, ST_MOVE_CUR_TRAP =0,
  ST_MOVE_CUR_SCRV, ST_MOVE_CUR_STCRV
}
 Enumeration for the Move Curve Mode states. More...
 
enum  ST_PosMoveProfileType_e { ST_POS_MOVE_VEL_TYPE =0, ST_POS_MOVE_POS_TYPE }
 Enumeration for the Profile Mode states. More...
 
enum  ST_MoveStatus_e {
  ST_MOVE_IDLE =0, ST_MOVE_INIT, ST_MOVE_CONF, ST_MOVE_BUSY,
  ST_MOVE_HALT, ST_MOVE_IDLE =0, ST_MOVE_INIT, ST_MOVE_CONF,
  ST_MOVE_BUSY, ST_MOVE_HALT
}
 Enumeration for the Move Status states. More...
 

Functions

static void STPOSMOVE_setAxis (ST_POSMOVE_Handle handle, ST_Axis_e axis)
 Sets the Axis (cfg.Axis) for SpinTAC Position Move. More...
 
static void STPOSMOVE_setProfileType (ST_POSMOVE_Handle handle, ST_PosMoveProfileType_e profileType)
 Sets the Profile Type (cfg.ProfileType) for SpinTAC Position Move. More...
 
static void STPOSMOVE_setCurveType (ST_POSMOVE_Handle handle, ST_MoveCurveType_e curveType)
 Sets the Curve Type (cfg.CurveType) for SpinTAC Position Move. More...
 
static void STPOSMOVE_setSampleTime_sec (ST_POSMOVE_Handle handle, _iq24 sampleTime)
 Sets the Sample Time (cfg.T_sec) for SpinTAC Position Move. More...
 
static void STPOSMOVE_setMRevMaximum_mrev (ST_POSMOVE_Handle handle, _iq24 mRevROMax)
 Sets the Mechanical Revolution Maximum (cfg.ROMax_mrev) for SpinTAC Position Move. More...
 
static void STPOSMOVE_setUnitConversion (ST_POSMOVE_Handle handle, float_t baseFreq, uint16_t polePairs)
 Sets the Unit Conversions for SpinTAC Position Move. More...
 
static void STPOSMOVE_setHaltLimits (ST_POSMOVE_Handle handle, _iq24 haltAccLim, _iq20 haltJrkLim)
 Sets the Halt Limits (cfg.HaltAccLim & cfg.HaltJrkLim) for SpinTAC Position Move. More...
 
static void STPOSMOVE_setVelocityStart (ST_POSMOVE_Handle handle, _iq24 velStart)
 Sets the Velocity Start (cfg.VelStart) for SpinTAC Position Move. More...
 
static _iq24 STPOSMOVE_getVelocityStart (ST_POSMOVE_Handle handle)
 Gets the Velocity Start (cfg.VelStart) for SpinTAC Position Move. More...
 
static void STPOSMOVE_setPositionStart_mrev (ST_POSMOVE_Handle handle, _iq24 posStart)
 Sets the Position Start (cfg.PosStart_mrev) for SpinTAC Position Move. More...
 
static _iq24 STPOSMOVE_getPositionStart_mrev (ST_POSMOVE_Handle handle)
 Gets the Position Start (cfg.PosStart_mrev) for SpinTAC Position Move. More...
 
static void STPOSMOVE_getProfileTime_tick (ST_POSMOVE_Handle handle, uint32_t *ProTime_tick, uint32_t *ProTime_mtick)
 Gets the Profile Time (msg.ProTime_tick) for SpinTAC Position Move. More...
 
static _iq24 STPOSMOVE_getActualVelocity (ST_POSMOVE_Handle handle)
 Gets the Actual Velocity (msg.ActualVelLim) for SpinTAC Position Move. More...
 
static _iq24 STPOSMOVE_getActualAcceleration (ST_POSMOVE_Handle handle)
 Gets the Actual Acceleration (msg.ActualAccLim) for SpinTAC Position Move. More...
 
static _iq24 STPOSMOVE_getActualDeceleration (ST_POSMOVE_Handle handle)
 Gets the Actual Deceleration (msg.ActualDecLim) for SpinTAC Position Move. More...
 
static _iq20 STPOSMOVE_getActualJerk (ST_POSMOVE_Handle handle)
 Gets the Actual Jerk (msg.ActualJrkLim) for SpinTAC Position Move. More...
 
static void STPOSMOVE_setPositionStep_mrev (ST_POSMOVE_Handle handle, int32_t posStepInt, _iq24 posStepFrac)
 Sets the Position Step (posStepInt_mrev, posStepFrac_mrev) for SpinTAC Position Move. More...
 
static void STPOSMOVE_getPositionStep_mrev (ST_POSMOVE_Handle handle, int32_t *posStepInt, _iq24 *posStepFrac)
 Gets the Position Step (posStepInt_mrev, posStepFrac_mrev) for SpinTAC Position Move. More...
 
static void STPOSMOVE_setVelocityLimit (ST_POSMOVE_Handle handle, _iq24 velLim)
 Sets the Velocity Limit (VelLim) for SpinTAC Position Move. More...
 
static void STPOSMOVE_setAccelerationLimit (ST_POSMOVE_Handle handle, _iq24 accLim)
 Sets the Acceleration Limit (AccLim) for SpinTAC Position Move. More...
 
static void STPOSMOVE_setDecelerationLimit (ST_POSMOVE_Handle handle, _iq24 decLim)
 Sets the Deceleration Limit (DecLim) for SpinTAC Position Move. More...
 
static void STPOSMOVE_setJerkLimit (ST_POSMOVE_Handle handle, _iq20 jrkLim)
 Sets the Jerk Limit (JrkLim) for SpinTAC Position Move. More...
 
static void STPOSMOVE_setVelocityEnd (ST_POSMOVE_Handle handle, _iq24 velEnd)
 Sets the Velocity End (VelEnd) for SpinTAC Position Move. More...
 
static _iq24 STPOSMOVE_getVelocityEnd (ST_POSMOVE_Handle handle)
 Gets the Velocity End (VelEnd) for SpinTAC Position Move. More...
 
static void STPOSMOVE_setPositionRollOver (ST_POSMOVE_Handle handle, int32_t posRollOver)
 Sets the Position RollOver Counts (PosRollOver) for SpinTAC Position Move. More...
 
static int32_t STPOSMOVE_getPositionRollOver (ST_POSMOVE_Handle handle)
 Gets the Position RollOver Counts (PosRollOver) for SpinTAC Position Move. More...
 
static _iq24 STPOSMOVE_getPositionReference_mrev (ST_POSMOVE_Handle handle)
 Gets the Position Reference (PosRef_mrev) for SpinTAC Position Move. More...
 
static _iq24 STPOSMOVE_getVelocityReference (ST_POSMOVE_Handle handle)
 Gets the Velocity Reference (VelRef) for SpinTAC Position Move. More...
 
static _iq24 STPOSMOVE_getAccelerationReference (ST_POSMOVE_Handle handle)
 Gets the Acceleration Reference (AccRef) for SpinTAC Position Move. More...
 
static _iq20 STPOSMOVE_getJerkReference (ST_POSMOVE_Handle handle)
 Gets the Jerk Reference (JrkRef) for SpinTAC Position Move. More...
 
static void STPOSMOVE_setEnable (ST_POSMOVE_Handle handle, bool enb)
 Sets the Enable signal (ENB) for SpinTAC Position Move. More...
 
static bool STPOSMOVE_getEnable (ST_POSMOVE_Handle handle)
 Gets the Enable signal (ENB) for SpinTAC Position Move. More...
 
static void STPOSMOVE_setTest (ST_POSMOVE_Handle handle, bool tst)
 Sets the Test signal (TST) for SpinTAC Position Move. More...
 
static bool STPOSMOVE_getTest (ST_POSMOVE_Handle handle)
 Gets the Test signal (TST) for SpinTAC Position Move. More...
 
static ST_MoveStatus_e STPOSMOVE_getStatus (ST_POSMOVE_Handle handle)
 Gets the Status value (STATUS) for SpinTAC Position Move. More...
 
static uint16_t STPOSMOVE_getErrorID (ST_POSMOVE_Handle handle)
 Gets the Error value (ERR_ID) for SpinTAC Position Move. More...
 
ST_POSMOVE_Handle STPOSMOVE_init (void *pMemory, const size_t numBytes)
 Initializes the SpinTAC Position Move object. More...
 
void STPOSMOVE_run (ST_POSMOVE_Handle handle)
 Runs the SpinTAC Position Move ISR Function. More...
 

Detailed Description


Data Structure Documentation

struct ST_PosMoveCfg_t

Defines the ST_PosMoveCfg_t data.

The ST_PosMoveCfg_t object contains all configuration parameters of the Position Move object.

Definition at line 97 of file spintac_pos_move.h.

Data Fields
ST_Axis_e Axis Axis ID { ST_AXIS0: axis 0, ST_AXIS1: axis 1}.
ST_MoveCurveType_e CurveType Curve mode { ST_MOVE_CUR_TRAP: Trap; ST_MOVE_CUR_SCRV: s-Curve; ST_MOVE_CUR_STCRV: st-Curve }.
_iq24 HaltAccLim Acceleration Limit during Halt State { unit: [pu/s^2], value range: [0.001, 120.0] }.
_iq20 HaltJrkLim Jerk Limit during Halt State { unit: [pu/s^3], value range: [0.0005, 2000.0] }.
_iq24 mrev_TO_pu Conversion ratio from mechanical revolution to pu { value range: [0.002, 1.0]) }.
_iq24 PosStart_mrev Position Start value { unit: [MRev], value range: [-ROMax, ROMax) }.
ST_PosMoveProfileType_e ProfileType Sets the profile type { ST_POS_MOVE_VEL_TYPE: velocity; ST_POS_MOVE_POS_TYPE: position }.
_iq24 ROMax_mrev Position Rollover bound { unit: [MRev], value range: [2, 100] }.
_iq24 T_sec Sample time { unit: [s], value range: (0, 0.01] }.
_iq24 VelStart Velocity Start value { unit: [pu/s], value range: [-1.0, 1.0]) }.
struct ST_PosMoveMsg_t

Defines the ST_PosMoveMsg_t data.

The ST_PosMoveMsg_t object contains all configuration parameters of the Position Move message.

Definition at line 116 of file spintac_pos_move.h.

Data Fields
_iq24 ActualAccLim Actual maximum acceleration of the profile { unit: [pu/s^2], value range: (0.0, AccLim] }.
_iq24 ActualDecLim Actual maximum deceleration of the profile { unit: [pu/s^2], value range: (0.0, DecLim] }.
_iq20 ActualJrkLim Actual maximum jerk of the profile { unit: [pu/s^3], value range: (0.0, JrkLim] }.
_iq24 ActualVelLim Actual maximum velocity of the profile { unit: [pu/s], value range: (0.0, VelLim] }.
uint32_t ProTime_mtick Profile time in million ticks increments { unit: [million tick], value range: (0, uint32_t max] }.
uint32_t ProTime_tick Profile time in sub-million ticks { unit: [tick], value range: (0, 1000000) }.
struct ST_PosMove_t

Defines the ST_PosMove_t data.

The ST_PosMove_t object contains all parameters needed to perform Position Move

Definition at line 128 of file spintac_pos_move.h.

Data Fields
_iq24 AccLim Acceleration Limit { unit: [pu/s^2], value range: [0.001, 120.0] }.
_iq24 AccRef Acceleration profile { unit: [pu/s^2] }.
ST_PosMoveCfg_t cfg
_iq24 DecLim Deceleration Limit { unit: [pu/s^2], value range: [0.001, 120.0] }.
bool ENB Enable bit { false: disabled; true: enabled }.
uint16_t ERR_ID Error ID { 0: no error; others: see error code }.
_iq20 JrkLim Jerk Limit { unit: [pu/s^3], value range: [0.0005, 2000.0] }.
_iq20 JrkRef Jerk profile { unit:; [pu /s^3] }.
ST_PosMoveMsg_t msg
_iq24 PosRef_mrev Sawtooth Position profile { unit: [MRev], value range [-ROMax_mrev, ROMax_mrev) }.
int32_t PosRollOver Position rollover counts.
_iq24 PosStepFrac_mrev Position Step value fraction part { unit: [MRev], value range: (-1.0, 1.0) }.
int32_t PosStepInt_mrev Position Step value integer part { unit: [MRev], value range: (-2^31, 2^31) }.
uint32_t s4[66]
ST_MoveStatus_e STATUS Profile generator status { ST_MOVE_IDLE, ST_MOVE_INIT, ST_MOVE_CONF, ST_MOVE_BUSY, ST_MOVE_HALT }.
bool TST Profile test bit { false: Not Testing; true: Testing Mode }.
_iq24 VelEnd Velocity End value { unit: [pu/s], value range: [-1.0, 1.0] }.
_iq24 VelLim Note: VelLim values < 0.001 pu/s may work, but are not guaranteed.

Velocity Limit { unit: [pu/s], value range: (0.0, 1.0] )

_iq24 VelRef Velocity profile { unit: [pu/s] }.

Macro Definition Documentation

#define __ST_AXIS_ENUM__

Definition at line 50 of file spintac_pos_move.h.

#define __ST_MOVE_CURVE_TYPE_ENUM__

Definition at line 61 of file spintac_pos_move.h.

#define __ST_MOVE_STATUS_ENUM__

Definition at line 81 of file spintac_pos_move.h.

Typedef Documentation

typedef struct _ST_POSMOVE_Handle_* ST_POSMOVE_Handle

Definition at line 158 of file spintac_pos_move.h.

Enumeration Type Documentation

enum ST_Axis_e

Enumeration for the Axis Status states.

Enumerator
ST_AXIS0 

First Axis.

ST_AXIS1 

Second Axis.

ST_AXIS0 

First Axis.

ST_AXIS1 

Second Axis.

ST_AXIS0 

First Axis.

ST_AXIS1 

Second Axis.

ST_AXIS0 

First Axis.

ST_AXIS1 

Second Axis.

Definition at line 53 of file spintac_pos_move.h.

Enumeration for the Move Curve Mode states.

Enumerator
ST_MOVE_CUR_TRAP 

Trapezoidal curve.

ST_MOVE_CUR_SCRV 

S-Curve.

ST_MOVE_CUR_STCRV 

ST-Curve.

ST_MOVE_CUR_TRAP 

Trapazoidal curve.

ST_MOVE_CUR_SCRV 

S-Curve.

ST_MOVE_CUR_STCRV 

ST-Curve.

Definition at line 64 of file spintac_pos_move.h.

Enumeration for the Move Status states.

Enumerator
ST_MOVE_IDLE 

Move is in idle state, holding position.

ST_MOVE_INIT 

Move is in init state, validating configured parameters.

ST_MOVE_CONF 

Move is in conf state, determining the curves.

ST_MOVE_BUSY 

Move is in busy state, providing the curves.

ST_MOVE_HALT 

Move is in busy state, ramping velocity to zero.

ST_MOVE_IDLE 

Move is in idle state, holding velocity.

ST_MOVE_INIT 

Move is in init state, validating configured parameters.

ST_MOVE_CONF 

Move is in conf state, determining the curves.

ST_MOVE_BUSY 

Move is in busy state, providing the curves.

ST_MOVE_HALT 

Not used in ST_MOVE_VEL.

Definition at line 84 of file spintac_pos_move.h.

Enumeration for the Profile Mode states.

Enumerator
ST_POS_MOVE_VEL_TYPE 

velocity-determined position profile

ST_POS_MOVE_POS_TYPE 

position-determined position profile

Definition at line 74 of file spintac_pos_move.h.

Function Documentation

static _iq24 STPOSMOVE_getAccelerationReference ( ST_POSMOVE_Handle  handle)
inlinestatic

Gets the Acceleration Reference (AccRef) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
Returns
_iq24 AccRef Acceleration reference { unit: [pu/s^2] }

Definition at line 472 of file spintac_pos_move.h.

References ST_PosMove_t::AccRef.

static _iq24 STPOSMOVE_getActualAcceleration ( ST_POSMOVE_Handle  handle)
inlinestatic

Gets the Actual Acceleration (msg.ActualAccLim) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
Returns
_iq24 Acc Maximum acceleration of the profile { unit: [pu/s^2], value range: (0.0, AccLim] }

Definition at line 319 of file spintac_pos_move.h.

References ST_PosMoveMsg_t::ActualAccLim, and ST_PosMove_t::msg.

static _iq24 STPOSMOVE_getActualDeceleration ( ST_POSMOVE_Handle  handle)
inlinestatic

Gets the Actual Deceleration (msg.ActualDecLim) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
Returns
_iq24 Dec Maximum deceleration of the profile { unit: [pu/s^2], value range: (0.0, AccLim] }

Definition at line 328 of file spintac_pos_move.h.

References ST_PosMoveMsg_t::ActualDecLim, and ST_PosMove_t::msg.

static _iq20 STPOSMOVE_getActualJerk ( ST_POSMOVE_Handle  handle)
inlinestatic

Gets the Actual Jerk (msg.ActualJrkLim) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
Returns
_iq20 Jrk Maximum jerk of the profile { unit: [pu/s^3], value range: (0.0, JrkLim] }

Definition at line 337 of file spintac_pos_move.h.

References ST_PosMoveMsg_t::ActualJrkLim, and ST_PosMove_t::msg.

static _iq24 STPOSMOVE_getActualVelocity ( ST_POSMOVE_Handle  handle)
inlinestatic

Gets the Actual Velocity (msg.ActualVelLim) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
Returns
_iq24 Vel Maximum velocity of the profile { unit: [pu/s], value range: (0.0, VelLim] }

Definition at line 310 of file spintac_pos_move.h.

References ST_PosMoveMsg_t::ActualVelLim, and ST_PosMove_t::msg.

static bool STPOSMOVE_getEnable ( ST_POSMOVE_Handle  handle)
inlinestatic

Gets the Enable signal (ENB) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
Returns
bool ENB Enable bit { false: disable; true: enable }

Definition at line 501 of file spintac_pos_move.h.

References ST_PosMove_t::ENB.

static uint16_t STPOSMOVE_getErrorID ( ST_POSMOVE_Handle  handle)
inlinestatic

Gets the Error value (ERR_ID) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
Returns
uint16_t ERR_ID Error ID { 0: no error; others: see error code }

Definition at line 539 of file spintac_pos_move.h.

References ST_PosMove_t::ERR_ID.

static _iq20 STPOSMOVE_getJerkReference ( ST_POSMOVE_Handle  handle)
inlinestatic

Gets the Jerk Reference (JrkRef) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
Returns
_iq20 JrkRef Jerk reference { unit: [pu/s^3] }

Definition at line 481 of file spintac_pos_move.h.

References ST_PosMove_t::JrkRef.

static _iq24 STPOSMOVE_getPositionReference_mrev ( ST_POSMOVE_Handle  handle)
inlinestatic

Gets the Position Reference (PosRef_mrev) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
Returns
_iq24 PosRef_mrev Sawtooth Position profile { unit: [MRev], value range [-ROMax, ROMax] }

Definition at line 454 of file spintac_pos_move.h.

References ST_PosMove_t::PosRef_mrev.

static int32_t STPOSMOVE_getPositionRollOver ( ST_POSMOVE_Handle  handle)
inlinestatic

Gets the Position RollOver Counts (PosRollOver) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
Returns
int32_t PosRollOver Position rollover counts

Definition at line 445 of file spintac_pos_move.h.

References ST_PosMove_t::PosRollOver.

static _iq24 STPOSMOVE_getPositionStart_mrev ( ST_POSMOVE_Handle  handle)
inlinestatic

Gets the Position Start (cfg.PosStart_mrev) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
Returns
_iq24 PosStart_mrev Position Start value { unit: [MRev], value range: [-ROMax, ROMax] }

Definition at line 290 of file spintac_pos_move.h.

References ST_PosMove_t::cfg, and ST_PosMoveCfg_t::PosStart_mrev.

static void STPOSMOVE_getPositionStep_mrev ( ST_POSMOVE_Handle  handle,
int32_t *  posStepInt,
_iq24 posStepFrac 
)
inlinestatic

Gets the Position Step (posStepInt_mrev, posStepFrac_mrev) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
[out]*posStepIntPosition Step integer part value { unit: [MRev], value range: 32-bit integer }
[out]*posStepFracPosition Step fraction part value { unit: [MRev], value range: (-1.0, 1.0) }

Definition at line 359 of file spintac_pos_move.h.

References ST_PosMove_t::PosStepFrac_mrev, and ST_PosMove_t::PosStepInt_mrev.

static void STPOSMOVE_getProfileTime_tick ( ST_POSMOVE_Handle  handle,
uint32_t *  ProTime_tick,
uint32_t *  ProTime_mtick 
)
inlinestatic

Gets the Profile Time (msg.ProTime_tick) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
[out]ProTime_tickAmount of time profile will take { unit: [tick], value range: (0, 1000000] }
[out]ProTime_mtickAmount of time profile will take { unit: [million tick], value range: (0, uint32_t max] }

Definition at line 300 of file spintac_pos_move.h.

References ST_PosMove_t::msg, ST_PosMoveMsg_t::ProTime_mtick, and ST_PosMoveMsg_t::ProTime_tick.

static ST_MoveStatus_e STPOSMOVE_getStatus ( ST_POSMOVE_Handle  handle)
inlinestatic

Gets the Status value (STATUS) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
Returns
ST_MoveStatus_e STATUS Profile generator status { ST_MOVE_IDLE, ST_MOVE_INIT, ST_MOVE_CONF, ST_MOVE_BUSY}

Definition at line 530 of file spintac_pos_move.h.

References ST_PosMove_t::STATUS.

static bool STPOSMOVE_getTest ( ST_POSMOVE_Handle  handle)
inlinestatic

Gets the Test signal (TST) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
Returns
bool TST Profile test bit { false: not testing; true: determining curves }

Definition at line 521 of file spintac_pos_move.h.

References ST_PosMove_t::TST.

static _iq24 STPOSMOVE_getVelocityEnd ( ST_POSMOVE_Handle  handle)
inlinestatic

Gets the Velocity End (VelEnd) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
Returns
_iq24 VelEnd Velocity end value { unit: [pu/s], value range: [-1.0, 1.0] }

Definition at line 425 of file spintac_pos_move.h.

References ST_PosMove_t::VelEnd.

static _iq24 STPOSMOVE_getVelocityReference ( ST_POSMOVE_Handle  handle)
inlinestatic

Gets the Velocity Reference (VelRef) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
Returns
_iq24 VelRef Velocity reference { unit: [pu/s] }

Definition at line 463 of file spintac_pos_move.h.

References ST_PosMove_t::VelRef.

static _iq24 STPOSMOVE_getVelocityStart ( ST_POSMOVE_Handle  handle)
inlinestatic

Gets the Velocity Start (cfg.VelStart) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
Returns
_iq24 VelStart Velocity start value { unit: [pu/s], value range: [-1.0, 1.0] }

Definition at line 268 of file spintac_pos_move.h.

References ST_PosMove_t::cfg, and ST_PosMoveCfg_t::VelStart.

ST_POSMOVE_Handle STPOSMOVE_init ( void *  pMemory,
const size_t  numBytes 
)

Initializes the SpinTAC Position Move object.

Parameters
[in]*pMemoryPointer to the memory for ST_PosMove_t
[in]numBytesThe number of bytes in the ST_PosMove_t
Returns
ST_POSMOVE_Handle handle The handle for the SpinTAC Position Move Object
void STPOSMOVE_run ( ST_POSMOVE_Handle  handle)

Runs the SpinTAC Position Move ISR Function.

Parameters
[in]handleThe handle to the Position Move structure
static void STPOSMOVE_setAccelerationLimit ( ST_POSMOVE_Handle  handle,
_iq24  accLim 
)
inlinestatic

Sets the Acceleration Limit (AccLim) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
[in]accLimAcceleration Limit { unit: [pu/s^2], value range: [0.001, 120.0] }

Definition at line 381 of file spintac_pos_move.h.

References ST_PosMove_t::AccLim.

static void STPOSMOVE_setAxis ( ST_POSMOVE_Handle  handle,
ST_Axis_e  axis 
)
inlinestatic

Sets the Axis (cfg.Axis) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
[in]axisAxis ID { ST_AXIS0: axis 0, ST_AXIS1: axis 1}

Definition at line 163 of file spintac_pos_move.h.

References ST_PosMoveCfg_t::Axis, ST_PosMove_t::cfg, ST_MOVE_IDLE, and ST_PosMove_t::STATUS.

static void STPOSMOVE_setCurveType ( ST_POSMOVE_Handle  handle,
ST_MoveCurveType_e  curveType 
)
inlinestatic

Sets the Curve Type (cfg.CurveType) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
[in]curveTypeCurve type { ST_MOVE_CUR_TRAP: Trap; ST_MOVE_CUR_SCRV: s-Curve; ST_MOVE_CUR_STCRV: st-Curve }

Definition at line 189 of file spintac_pos_move.h.

References ST_PosMove_t::cfg, and ST_PosMoveCfg_t::CurveType.

static void STPOSMOVE_setDecelerationLimit ( ST_POSMOVE_Handle  handle,
_iq24  decLim 
)
inlinestatic

Sets the Deceleration Limit (DecLim) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
[in]decLimDeceleration Limit { unit: [pu/s^2], value range: [0.001, 120.0] }

Definition at line 392 of file spintac_pos_move.h.

References ST_PosMove_t::DecLim.

static void STPOSMOVE_setEnable ( ST_POSMOVE_Handle  handle,
bool  enb 
)
inlinestatic

Sets the Enable signal (ENB) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
[in]enbEnable bit { false: disable; true: enable }

Definition at line 490 of file spintac_pos_move.h.

References ST_PosMove_t::ENB.

static void STPOSMOVE_setHaltLimits ( ST_POSMOVE_Handle  handle,
_iq24  haltAccLim,
_iq20  haltJrkLim 
)
inlinestatic

Sets the Halt Limits (cfg.HaltAccLim & cfg.HaltJrkLim) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
[in]haltAccLimAcceleration Limit during Halt State { unit: [pu/s^2], value range: [0.001, 120.0] }
[in]haltJrkLimJerk Limit during Halt State { unit: [pu/s^3], value range: [0.0005, 2000.0] }

Definition at line 241 of file spintac_pos_move.h.

References ST_PosMove_t::cfg, ST_PosMoveCfg_t::HaltAccLim, ST_PosMoveCfg_t::HaltJrkLim, ST_MOVE_IDLE, and ST_PosMove_t::STATUS.

static void STPOSMOVE_setJerkLimit ( ST_POSMOVE_Handle  handle,
_iq20  jrkLim 
)
inlinestatic

Sets the Jerk Limit (JrkLim) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
[in]jrkLimJerk Limit { unit: [pu/s^3], value range: [0.001, 2000.0] }

Definition at line 403 of file spintac_pos_move.h.

References ST_PosMove_t::JrkLim.

static void STPOSMOVE_setMRevMaximum_mrev ( ST_POSMOVE_Handle  handle,
_iq24  mRevROMax 
)
inlinestatic

Sets the Mechanical Revolution Maximum (cfg.ROMax_mrev) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
[in]mRevROMaxMaximum bound for mechanical revolution { unit: [MRev] }

Definition at line 213 of file spintac_pos_move.h.

References ST_PosMove_t::cfg, ST_PosMoveCfg_t::ROMax_mrev, ST_MOVE_IDLE, and ST_PosMove_t::STATUS.

static void STPOSMOVE_setPositionRollOver ( ST_POSMOVE_Handle  handle,
int32_t  posRollOver 
)
inlinestatic

Sets the Position RollOver Counts (PosRollOver) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
[in]posRollOverPosition rollover counts

Definition at line 434 of file spintac_pos_move.h.

References ST_PosMove_t::PosRollOver.

static void STPOSMOVE_setPositionStart_mrev ( ST_POSMOVE_Handle  handle,
_iq24  posStart 
)
inlinestatic

Sets the Position Start (cfg.PosStart_mrev) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
[in]posStartPosition Start value { unit: [MRev], value range: [-ROMax, ROMax] }

Definition at line 277 of file spintac_pos_move.h.

References ST_PosMove_t::cfg, ST_PosMoveCfg_t::PosStart_mrev, ST_MOVE_IDLE, and ST_PosMove_t::STATUS.

static void STPOSMOVE_setPositionStep_mrev ( ST_POSMOVE_Handle  handle,
int32_t  posStepInt,
_iq24  posStepFrac 
)
inlinestatic

Sets the Position Step (posStepInt_mrev, posStepFrac_mrev) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
[in]posStepIntPosition Step integer part value { unit: [MRev], value range: 32-bit integer }
[in]posStepFracPosition Step fraction part value { unit: [MRev], value range: (-1.0, 1.0) }

Definition at line 347 of file spintac_pos_move.h.

References ST_PosMove_t::PosStepFrac_mrev, and ST_PosMove_t::PosStepInt_mrev.

static void STPOSMOVE_setProfileType ( ST_POSMOVE_Handle  handle,
ST_PosMoveProfileType_e  profileType 
)
inlinestatic

Sets the Profile Type (cfg.ProfileType) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
[in]profileTypeSets the profile type { ST_POS_MOVE_VEL_TYPE: velocity; ST_POS_MOVE_POS_TYPE: position }

Definition at line 176 of file spintac_pos_move.h.

References ST_PosMove_t::cfg, ST_PosMoveCfg_t::ProfileType, ST_MOVE_IDLE, and ST_PosMove_t::STATUS.

static void STPOSMOVE_setSampleTime_sec ( ST_POSMOVE_Handle  handle,
_iq24  sampleTime 
)
inlinestatic

Sets the Sample Time (cfg.T_sec) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
[in]sampleTimeSample time { unit: [s], value range: (0, 0.01] }

Definition at line 200 of file spintac_pos_move.h.

References ST_PosMove_t::cfg, ST_MOVE_IDLE, ST_PosMove_t::STATUS, and ST_PosMoveCfg_t::T_sec.

static void STPOSMOVE_setTest ( ST_POSMOVE_Handle  handle,
bool  tst 
)
inlinestatic

Sets the Test signal (TST) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
[in]tstProfile test bit { false: not testing; true: determining curves }

Definition at line 510 of file spintac_pos_move.h.

References ST_PosMove_t::TST.

static void STPOSMOVE_setUnitConversion ( ST_POSMOVE_Handle  handle,
float_t  baseFreq,
uint16_t  polePairs 
)
inlinestatic

Sets the Unit Conversions for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Converter Object
[in]baseFreqThe value that frequency is scaled with in the system { USER_IQ_FULL_SCALE_FREQ_Hz }
[in]polePairsThe number of Pole Pairs in the motor { USER_MOTOR_NUM_POLE_PAIRS }

Definition at line 227 of file spintac_pos_move.h.

References _IQ24, ST_PosMove_t::cfg, ST_PosMoveCfg_t::mrev_TO_pu, ST_MOVE_IDLE, and ST_PosMove_t::STATUS.

static void STPOSMOVE_setVelocityEnd ( ST_POSMOVE_Handle  handle,
_iq24  velEnd 
)
inlinestatic

Sets the Velocity End (VelEnd) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
[in]velEndVelocity end value { unit: [pu/s], value range: [-1.0, 1.0] }

Definition at line 414 of file spintac_pos_move.h.

References ST_PosMove_t::VelEnd.

static void STPOSMOVE_setVelocityLimit ( ST_POSMOVE_Handle  handle,
_iq24  velLim 
)
inlinestatic

Sets the Velocity Limit (VelLim) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
[in]velLimVelocity Limit { unit: [pu/s], value range: (0, 1.0]) )

Definition at line 370 of file spintac_pos_move.h.

References ST_PosMove_t::VelLim.

static void STPOSMOVE_setVelocityStart ( ST_POSMOVE_Handle  handle,
_iq24  velStart 
)
inlinestatic

Sets the Velocity Start (cfg.VelStart) for SpinTAC Position Move.

Parameters
[in]handleThe handle for the SpinTAC Position Move Object
[in]velStartVelocity start value { unit: [pu/s], value range: [-1.0, 1.0] }

Definition at line 255 of file spintac_pos_move.h.

References ST_PosMove_t::cfg, ST_MOVE_IDLE, ST_PosMove_t::STATUS, and ST_PosMoveCfg_t::VelStart.