SPRUHJ1I January 2013 – October 2021 TMS320F2802-Q1 , TMS320F28026-Q1 , TMS320F28026F , TMS320F28027-Q1 , TMS320F28027F , TMS320F28027F-Q1 , TMS320F28052-Q1 , TMS320F28052F , TMS320F28052F-Q1 , TMS320F28052M , TMS320F28052M-Q1 , TMS320F28054-Q1 , TMS320F28054F , TMS320F28054F-Q1 , TMS320F28054M , TMS320F28054M-Q1 , TMS320F2806-Q1 , TMS320F28062-Q1 , TMS320F28062F , TMS320F28062F-Q1 , TMS320F28068F , TMS320F28068M , TMS320F28069-Q1 , TMS320F28069F , TMS320F28069F-Q1 , TMS320F28069M , TMS320F28069M-Q1
The SpinTAC Position Move function is STPOSMOVE_run(ST_POSMOVE_Handle handle), where handle is a pointer to a specific ST_PosMove_t object, this handle needs to be established by the initialize function STPOSMOVE_init.
void STPOSMOVE_run(ST_POSMOVE_Handle handle)
Parameters:
No. | Type | Parameters | Description |
---|---|---|---|
1 | ST_POSMOVE_Handle | Handle | The pointer to a ST_PosMove_t object |
The SpinTAC Position Move_t state transition map is shown in Figure 4-18. Note in Figure 4-18, the transitions from state IDLE to INIT, and then to CONF, happen within one sample time. Thus, the profile is generated at the same sample time that the profile was enabled.
The states of SpinTAC Position Move are described in Table 4-19.
From State | To State | Transition Condition(1)(2)(3)(4) | Action |
---|---|---|---|
IDLE | Keep IDLE status
|
||
INIT | RES == false AND ENB is on rising edge | ||
INIT | Parameter validation
|
||
IDLE | ERR_ID != 0 OR STEP == 0 | Set ENB = false | |
CONF | ERR_ID == 0 AND STEP != 0 | ||
CONF | Determine the profile with the configured parameters | ||
IDLE | TST == true AND ENB == true AND RES == false | In test mode, no profile is produced
|
|
BUSY | TST == false AND ENB == true AND RES == false | ||
HALT | RES == true OR ENB == false | ||
BUSY | Produce the profile
|
||
IDLE | RES == false AND ENB == true AND DON == true | Set ENB = false | |
CONF | RES == true OR ENB == false | Configure a deceleration profile
|
|
HALT | Generate a deceleration profile
|
||
IDLE | DON == true | Set ENB = false | |
HALT | DON == false |