MotorWare f2806x Module API Documentation

- Main Page
- Modules
- Data Structures
- Files

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.

enum ST_MoveCurveType_e

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.

enum ST_MoveStatus_e

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.

enum ST_PosMoveProfileType_e

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 | ) |
| inline static

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

Parameters

  [in] | handle | The 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 | ) |
| inline static

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

Parameters

  [in] | handle | The 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 | ) |
| inline static

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

Parameters

  [in] | handle | The 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 | ) |
| inline static

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

Parameters

  [in] | handle | The 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 | ) |
| inline static

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

Parameters

  [in] | handle | The 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 | ) |
| inline static

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

Parameters

  [in] | handle | The 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 | ) |
| inline static

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

Parameters

  [in] | handle | The 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 | ) |
| inline static

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

Parameters

  [in] | handle | The 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 | ) |
| inline static

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

Parameters

  [in] | handle | The 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 | ) |
| inline static

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

Parameters

  [in] | handle | The 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 | ) |
| inline static

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

Parameters

  [in] | handle | The 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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The handle for the SpinTAC Position Move Object
  [out] | *posStepInt | Position Step integer part value { unit: [MRev], value range: 32-bit integer }
  [out] | *posStepFrac | Position 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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The handle for the SpinTAC Position Move Object
  [out] | ProTime_tick | Amount of time profile will take { unit: [tick], value range: (0, 1000000] }
  [out] | ProTime_mtick | Amount 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 | ) |
| inline static

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

Parameters

  [in] | handle | The 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 | ) |
| inline static

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

Parameters

  [in] | handle | The 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 | ) |
| inline static

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

Parameters

  [in] | handle | The 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 | ) |
| inline static

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

Parameters

  [in] | handle | The 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 | ) |
| inline static

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

Parameters

  [in] | handle | The 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] | *pMemory | Pointer to the memory for ST_PosMove_t
  [in] | numBytes | The 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] | handle | The handle to the Position Move structure

static void STPOSMOVE_setAccelerationLimit | ( | ST_POSMOVE_Handle | handle,
|  | _iq24 | accLim
| ) |  |
| inline static

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

Parameters

  [in] | handle | The handle for the SpinTAC Position Move Object
  [in] | accLim | Acceleration 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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The handle for the SpinTAC Position Move Object
  [in] | axis | Axis 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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The handle for the SpinTAC Position Move Object
  [in] | curveType | Curve 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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The handle for the SpinTAC Position Move Object
  [in] | decLim | Deceleration 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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The handle for the SpinTAC Position Move Object
  [in] | enb | Enable 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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The handle for the SpinTAC Position Move Object
  [in] | haltAccLim | Acceleration Limit during Halt State { unit: [pu/s^2], value range: [0.001, 120.0] }
  [in] | haltJrkLim | Jerk 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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The handle for the SpinTAC Position Move Object
  [in] | jrkLim | Jerk 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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The handle for the SpinTAC Position Move Object
  [in] | mRevROMax | Maximum 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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The handle for the SpinTAC Position Move Object
  [in] | posRollOver | Position 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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The handle for the SpinTAC Position Move Object
  [in] | posStart | Position 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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The handle for the SpinTAC Position Move Object
  [in] | posStepInt | Position Step integer part value { unit: [MRev], value range: 32-bit integer }
  [in] | posStepFrac | Position 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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The handle for the SpinTAC Position Move Object
  [in] | profileType | Sets 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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The handle for the SpinTAC Position Move Object
  [in] | sampleTime | Sample 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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The handle for the SpinTAC Position Move Object
  [in] | tst | Profile 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
| ) |  |
| inline static

Sets the Unit Conversions for SpinTAC Position Move.

Parameters

  [in] | handle | The handle for the SpinTAC Position Converter Object
  [in] | baseFreq | The value that frequency is scaled with in the system { USER_IQ_FULL_SCALE_FREQ_Hz }
  [in] | polePairs | The 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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The handle for the SpinTAC Position Move Object
  [in] | velEnd | Velocity 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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The handle for the SpinTAC Position Move Object
  [in] | velLim | Velocity 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
| ) |  |
| inline static

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

Parameters

  [in] | handle | The handle for the SpinTAC Position Move Object
  [in] | velStart | Velocity 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.