MotorWare f2806x Module API Documentation
Data Structures | Macros | Typedefs | Enumerations | Functions
spintac_pos_plan.h File Reference

Public interface, object, and function definitions related to the SpinTAC Position Plan component. More...

#include "spintac_version.h"

Go to the source code of this file.

Data Structures

struct  ST_PlanError_t
 Defines the ST_PlanError_t data. More...
 
struct  ST_PosPlan_t
 Defines the ST_PosPlan_t data. More...
 

Macros

#define ST_POS_PLAN_ACT_DWORDS   (5)
 Defines the amount of memory that needs to be allocated for each component. More...
 
#define ST_POS_PLAN_COND_DWORDS   (3)
 Each configured Condition takes 3 double words of memory. More...
 
#define ST_POS_PLAN_VAR_DWORDS   (2)
 Each configured Variable takes 2 double words of memory. More...
 
#define ST_POS_PLAN_TRAN_DWORDS   (7)
 Each configured Transition takes 7 double words of memory. More...
 
#define ST_POS_PLAN_STATE_DWORDS   (7)
 Each configured State takes 7 double words of memory. More...
 
#define __ST_PLAN_ENUM__
 
#define __ST_PLAN_ERROR__
 

Typedefs

typedef struct _ST_POSPLAN_Handle_ * ST_POSPLAN_Handle
 

Enumerations

enum  ST_PlanStatus_e {
  ST_PLAN_IDLE =0, ST_PLAN_INIT, ST_PLAN_BUSY, ST_PLAN_HALT,
  ST_PLAN_WAIT, ST_PLAN_IDLE =0, ST_PLAN_INIT, ST_PLAN_BUSY,
  ST_PLAN_HALT, ST_PLAN_WAIT
}
 Enumeration for the Plan Status States. More...
 
enum  ST_PlanCond_e {
  ST_COND_NC =0, ST_COND_FC, ST_COND_AND, ST_COND_OR,
  ST_COND_NC =0, ST_COND_FC, ST_COND_AND, ST_COND_OR
}
 Enumeration for the Plan Condition options. More...
 
enum  ST_PlanComp_e {
  ST_COMP_NA =0, ST_COMP_EQ, ST_COMP_NEQ, ST_COMP_GT,
  ST_COMP_EGT, ST_COMP_LW, ST_COMP_ELW, ST_COMP_In,
  ST_COMP_EIn, ST_COMP_InE, ST_COMP_EInE, ST_COMP_Out,
  ST_COMP_EOut, ST_COMP_OutE, ST_COMP_EOutE, ST_COMP_NA =0,
  ST_COMP_EQ, ST_COMP_NEQ, ST_COMP_GT, ST_COMP_EGT,
  ST_COMP_LW, ST_COMP_ELW, ST_COMP_In, ST_COMP_EIn,
  ST_COMP_InE, ST_COMP_EInE, ST_COMP_Out, ST_COMP_EOut,
  ST_COMP_OutE, ST_COMP_EOutE
}
 Enumeration for the Plan Compare options. More...
 
enum  ST_PlanActOptn_e { ST_ACT_EQ =0, ST_ACT_ADD, ST_ACT_EQ =0, ST_ACT_ADD }
 Enumeration for the Plan Action Options. More...
 
enum  ST_PlanActTrgr_e { ST_ACT_ENTR =0, ST_ACT_EXIT, ST_ACT_ENTR =0, ST_ACT_EXIT }
 Enumeration for the Plan Action trigger point types. More...
 
enum  ST_PlanFsmState_e {
  ST_FSM_STATE_STAY =0, ST_FSM_STATE_COND, ST_FSM_STATE_TRAN, ST_FSM_STATE_STAY =0,
  ST_FSM_STATE_COND, ST_FSM_STATE_TRAN
}
 Enumeration for the Plan FSM states. More...
 
enum  ST_PlanVar_e {
  ST_VAR_INOUT =0, ST_VAR_IN, ST_VAR_OUT, ST_VAR_INOUT =0,
  ST_VAR_IN, ST_VAR_OUT
}
 Enumeration for the Plan variable types. More...
 

Functions

static void STPOSPLAN_getPositionStep_mrev (ST_POSPLAN_Handle handle, int32_t *posStepInt_mrev, _iq24 *posStepFrac_mrev)
 Gets the Position Step (posStepInt_mrev, posStepFrac_mrev) for SpinTAC Position Plan. More...
 
static _iq24 STPOSPLAN_getVelocityLimit (ST_POSPLAN_Handle handle)
 Gets the Velocity Limit (VelLim) for SpinTAC Position Plan. More...
 
static _iq24 STPOSPLAN_getAccelerationLimit (ST_POSPLAN_Handle handle)
 Gets the Acceleration Limit (AccLim) for SpinTAC Position Plan. More...
 
static _iq24 STPOSPLAN_getDecelerationLimit (ST_POSPLAN_Handle handle)
 Gets the Deceleration Limit (DecLim) for SpinTAC Position Plan. More...
 
static _iq20 STPOSPLAN_getJerkLimit (ST_POSPLAN_Handle handle)
 Gets the Jerk Limit (JrkLim) for SpinTAC Position Plan. More...
 
static void STPOSPLAN_setEnable (ST_POSPLAN_Handle handle, bool enb)
 Sets the Enable signal (ENB) for SpinTAC Position Plan. More...
 
static bool STPOSPLAN_getEnable (ST_POSPLAN_Handle handle)
 Gets the Enable signal (ENB) for SpinTAC Position Plan. More...
 
static void STPOSPLAN_setReset (ST_POSPLAN_Handle handle, bool res)
 Sets the Reset signal (RES) for SpinTAC Position Plan. More...
 
static bool STPOSPLAN_getReset (ST_POSPLAN_Handle handle)
 Gets the Reset signal (RES) for SpinTAC Position Plan. More...
 
static ST_PlanStatus_e STPOSPLAN_getStatus (ST_POSPLAN_Handle handle)
 Gets the Status value (STATUS) for SpinTAC Position Plan. More...
 
static uint16_t STPOSPLAN_getCurrentState (ST_POSPLAN_Handle handle)
 Gets the Current State (CurState) for SpinTAC Position Plan. More...
 
static uint16_t STPOSPLAN_getCurrentTransition (ST_POSPLAN_Handle handle)
 Gets the Current Transition (CurTran) for SpinTAC Position Plan. More...
 
static ST_PlanFsmState_e STPOSPLAN_getFsmState (ST_POSPLAN_Handle handle)
 Gets the State Machine State (FsmState) for SpinTAC Position Plan. More...
 
static int32_t STPOSPLAN_getCurrentTimerValue_tick (ST_POSPLAN_Handle handle)
 Gets the Current Time Value (Timer_tick) for SpinTAC Position Plan. More...
 
static uint16_t STPOSPLAN_getCfgError (ST_POSPLAN_Handle handle, uint16_t *ERR_idx, uint16_t *ERR_code)
 Gets the Configuration Error for SpinTAC Position Plan. More...
 
static uint16_t STPOSPLAN_getErrorID (ST_POSPLAN_Handle handle)
 Gets the Error value (ERR_ID) for SpinTAC Position Plan. More...
 
void STPOSPLAN_getCfgStateNum (ST_POSPLAN_Handle handle, uint16_t *StateNum)
 Returns the number of configured States in SpinTAC Position Plan. More...
 
void STPOSPLAN_getCfgVarNum (ST_POSPLAN_Handle handle, uint16_t *VarNum)
 Returns the number of configured Variables in SpinTAC Position Plan. More...
 
void STPOSPLAN_getCfgCondNum (ST_POSPLAN_Handle handle, uint16_t *CondNum)
 Returns the number of configured Conditions in SpinTAC Position Plan. More...
 
void STPOSPLAN_getCfgTranNum (ST_POSPLAN_Handle handle, uint16_t *TranNum)
 Returns the number of configured Transitions in SpinTAC Position Plan. More...
 
void STPOSPLAN_getCfgActNum (ST_POSPLAN_Handle handle, uint16_t *ActNum)
 Returns the number of configured Actions in SpinTAC Position Plan. More...
 
void STPOSPLAN_addCfgCond (ST_POSPLAN_Handle handle, uint16_t VarIdx, ST_PlanComp_e Comp, _iq24 Value1, _iq24 Value2)
 Adds a Condition to the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_delCfgCond (ST_POSPLAN_Handle handle, uint16_t CondIdx)
 Deletes a Condition from the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_setCfgCond (ST_POSPLAN_Handle handle, uint16_t CondIdx, uint16_t VarIdx, ST_PlanComp_e Comp, _iq24 Value1, _iq24 Value2)
 Modifies a Condition in the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_getCfgCond (ST_POSPLAN_Handle handle, uint16_t CondIdx, uint16_t *VarIdx, ST_PlanComp_e *Comp, _iq24 *Value1, _iq24 *Value2)
 Returns a Condition from the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_addCfgVarCond (ST_POSPLAN_Handle handle, uint16_t VarIdx1, uint16_t VarIdx2, ST_PlanComp_e Comp)
 Adds a Variable Condition to the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_delCfgVarCond (ST_POSPLAN_Handle handle, uint16_t CondIdx)
 Deletes a Variable Condition from the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_setCfgVarCond (ST_POSPLAN_Handle handle, uint16_t CondIdx, uint16_t VarIdx1, uint16_t VarIdx2, ST_PlanComp_e Comp)
 Modifies a Variable Condition to the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_getCfgVarCond (ST_POSPLAN_Handle handle, uint16_t CondIdx, uint16_t *VarIdx1, uint16_t *VarIdx2, ST_PlanComp_e *Comp)
 Returns a Variable Condition from the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_addCfgTran (ST_POSPLAN_Handle handle, uint16_t FromState, uint16_t ToState, ST_PlanCond_e AndOr, uint16_t CondIdx1, uint16_t CondIdx2, _iq24 VelLim, _iq24 AccLim, _iq24 DecLim, _iq20 JrkLim)
 Adds a Transition to the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_delCfgTran (ST_POSPLAN_Handle handle, uint16_t TranIdx)
 Deletes a Transition from the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_setCfgTran (ST_POSPLAN_Handle handle, uint16_t TranIdx, uint16_t FromState, uint16_t ToState, ST_PlanCond_e AndOr, uint16_t CondIdx1, uint16_t CondIdx2, _iq24 VelLim, _iq24 AccLim, _iq24 DecLim, _iq20 JrkLim)
 Modifies a Transition in the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_getCfgTran (ST_POSPLAN_Handle handle, uint16_t TranIdx, uint16_t *FromState, uint16_t *ToState, ST_PlanCond_e *AndOr, uint16_t *CondIdx1, uint16_t *CondIdx2, _iq24 *VelLim, _iq24 *AccLim, _iq24 *DecLim, _iq20 *JrkLim)
 Get a Transition from the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_addCfgAct (ST_POSPLAN_Handle handle, uint16_t State, ST_PlanCond_e AndOr, uint16_t CondIdx1, uint16_t CondIdx2, uint16_t VarIdx, ST_PlanActOptn_e Opt, _iq24 Value, ST_PlanActTrgr_e EnterExit)
 Adds an action to the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_delCfgAct (ST_POSPLAN_Handle handle, uint16_t ActIdx)
 Deletes an action from the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_setCfgAct (ST_POSPLAN_Handle handle, uint16_t ActIdx, uint16_t State, ST_PlanCond_e AndOr, uint16_t CondIdx1, uint16_t CondIdx2, uint16_t VarIdx, ST_PlanActOptn_e Opt, _iq24 Value, ST_PlanActTrgr_e EnterExit)
 Modifies an action in the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_getCfgAct (ST_POSPLAN_Handle handle, uint16_t ActIdx, uint16_t *State, ST_PlanCond_e *AndOr, uint16_t *CondIdx1, uint16_t *CondIdx2, uint16_t *VarIdx, ST_PlanActOptn_e *Opt, _iq24 *Value, ST_PlanActTrgr_e *EnterExit)
 Returns an action from the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_addCfgVar (ST_POSPLAN_Handle handle, ST_PlanVar_e Type, _iq24 Value)
 Adds a variable to the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_delCfgVar (ST_POSPLAN_Handle handle, uint16_t VarIdx)
 Deletes a Variable from the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_setCfgVar (ST_POSPLAN_Handle handle, uint16_t VarIdx, ST_PlanVar_e Type, _iq24 Value)
 Modifies a variable in the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_getCfgVar (ST_POSPLAN_Handle handle, uint16_t VarIdx, ST_PlanVar_e *Type, _iq24 *Value)
 Returns a variable from the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_setVar (ST_POSPLAN_Handle handle, uint16_t VarIdx, _iq24 Value)
 Sets the value of a SpinTAC Position Plan variable. More...
 
void STPOSPLAN_getVar (ST_POSPLAN_Handle handle, uint16_t VarIdx, _iq24 *Value)
 Gets the value of a SpinTAC Position Plan variable. More...
 
void STPOSPLAN_setUnitProfDone (ST_POSPLAN_Handle handle, bool ProDON)
 Sets a flag in SpinTAC Position Plan to indicate if the unit profile is complete. More...
 
void STPOSPLAN_setCfg (ST_POSPLAN_Handle handle, _iq24 T_sec, bool LoopENB)
 Configures SpinTAC Position Plan. More...
 
void STPOSPLAN_getCfg (ST_POSPLAN_Handle handle, _iq24 *T_sec, bool *LoopENB)
 Gets the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_setCfgHaltState (ST_POSPLAN_Handle handle, int32_t PosStepInt_mrev, _iq24 PosStepFrac_mrev, _iq24 VelLim, _iq24 AccLim, _iq20 JrkLim, int32_t Timer_tick)
 Configures the SpinTAC Position Plan Halt state. More...
 
void STPOSPLAN_getCfgHaltState (ST_POSPLAN_Handle handle, int32_t *PosStepInt_mrev, _iq24 *PosStepFrac_mrev, _iq24 *VelLim, _iq24 *AccLim, _iq20 *JrkLim, int32_t *Timer_tick)
 Gets the SpinTAC Position Plan Halt state. More...
 
void STPOSPLAN_addCfgState (ST_POSPLAN_Handle handle, int32_t PosStepInt_mrev, _iq24 PosStep_Fracmrev, int32_t Timer_tick)
 Adds a State to the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_delCfgState (ST_POSPLAN_Handle handle, uint16_t StateIdx)
 Deletes a state from the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_setCfgState (ST_POSPLAN_Handle handle, uint16_t StateIdx, int32_t PosStepInt_mrev, _iq24 PosStepFrac_mrev, int32_t Timer_tick)
 Modifies a state in the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_getCfgState (ST_POSPLAN_Handle handle, uint16_t StateIdx, int32_t *PosStepInt_mrev, _iq24 *PosStepFrac_mrev, int32_t *Timer_tick)
 Returns a state from the SpinTAC Position Plan configuration. More...
 
void STPOSPLAN_reset (ST_POSPLAN_Handle handle)
 Resets the SpinAC Position Plan component. More...
 
ST_POSPLAN_Handle STPOSPLAN_init (void *pMemory, const size_t numBytes)
 Initializes the SpinTAC Position Plan component. More...
 
void STPOSPLAN_run (ST_POSPLAN_Handle handle)
 Runs SpinTAC Position Plan calculation. More...
 
void STPOSPLAN_runTick (ST_POSPLAN_Handle handle)
 Runs SpinTAC Position Plan Timing. Call this only from an ISR. More...
 
void STPOSPLAN_setCfgArray (ST_POSPLAN_Handle handle, uint32_t *cfgArray, const size_t numBytes, uint16_t MaxActNum, uint16_t MaxCondNum, uint16_t MaxVarNum, uint16_t MaxTranNum, uint16_t MaxStateNum)
 Prepares SpinTAC Position Plan data structure. More...
 

Detailed Description

Public interface, object, and function definitions related to the SpinTAC Position Plan component.

(C) Copyright 2012, LineStream Technologies, Inc. (C) Copyright 2011, Texas Instruments, Inc.

Definition in file spintac_pos_plan.h.