52 #include <ti/devices/msp/msp.h> 55 #include <ti/iqmath/include/IQmathLib.h> 64 #define STEPPER_INDEXER_MAX_COUNT (1024) 69 #define STEPPER_INDEXER_0_BY_8 (0) 74 #define STEPPER_INDEXER_1_BY_8 (STEPPER_INDEXER_MAX_COUNT >> 3) 79 #define STEPPER_INDEXER_2_BY_8 (2 * STEPPER_INDEXER_1_BY_8) 84 #define STEPPER_INDEXER_3_BY_8 (3 * STEPPER_INDEXER_1_BY_8) 89 #define STEPPER_INDEXER_4_BY_8 (4 * STEPPER_INDEXER_1_BY_8) 94 #define STEPPER_INDEXER_5_BY_8 (5 * STEPPER_INDEXER_1_BY_8) 99 #define STEPPER_INDEXER_6_BY_8 (6 * STEPPER_INDEXER_1_BY_8) 104 #define STEPPER_INDEXER_7_BY_8 (7 * STEPPER_INDEXER_1_BY_8) 109 #define STEPPER_2PI (6.2831853071f) 234 STEPPER_DRIVE IaDrive,
235 STEPPER_DRIVE IbDrive)
247 int16_t counter = handle->
counter;
280 int16_t counter = handle->
counter;
338 uint32_t countValue = handle->
counter;
339 _iq15 angle = _IQ15mpy(_IQ15(countValue), angleSf);
340 handle->IaCurrRef = _IQ15abs(_IQ15cos(angle));
341 handle->IbCurrRef = _IQ15abs(_IQ15sin(angle));
Definition: stepper.h:116
Definition: stepper.h:150
#define STEPPER_INDEXER_0_BY_8
Value corresponding to 0/8 of indexer max count.
Definition: stepper.h:69
Definition: stepper.h:148
void STEPPER_init(void)
Calculates the angle scale factor.
Definition: stepper.h:138
#define STEPPER_INDEXER_7_BY_8
Value corresponding to 7/8 of indexer max count.
Definition: stepper.h:104
Definition: stepper.h:140
_iq18 angleSf
Extern angleSf.
__STATIC_INLINE void STEPPER_setStepType(INDEXER_Instance *handle, STEPPER_STEP_TYPE stepType)
Sets the step type.
Definition: stepper.h:221
#define STEPPER_INDEXER_MAX_COUNT
Maximum count for the indexer.
Definition: stepper.h:64
#define STEPPER_INDEXER_1_BY_8
Value corresponding to 1/8 of indexer max count.
Definition: stepper.h:74
#define STEPPER_INDEXER_4_BY_8
Value corresponding to 4/8 of indexer max count.
Definition: stepper.h:89
Define indexer structure.
Definition: stepper.h:162
#define STEPPER_INDEXER_5_BY_8
Value corresponding to 5/8 of indexer max count.
Definition: stepper.h:94
Definition: stepper.h:156
Definition: stepper.h:120
__STATIC_INLINE void STEPPER_nonCirPhaseGen(INDEXER_Instance *handle)
Updates phase drive state in non circular mode.
Definition: stepper.h:278
STEPPER_STEP_TYPE stepType
Definition: stepper.h:170
Definition: stepper.h:126
STEPPER_DRIVE
Definition: stepper.h:134
STEPPER_DRIVE IaDrive
Definition: stepper.h:172
Definition: stepper.h:118
#define STEPPER_INDEXER_6_BY_8
Value corresponding to 6/8 of indexer max count.
Definition: stepper.h:99
__STATIC_INLINE void STEPPER_setIndexerIncVal(INDEXER_Instance *handle, STEPPER_STEP_INC_DEC incDecVal)
Sets the direction for the indexer.
Definition: stepper.h:210
Definition: stepper.h:122
STEPPER_STEP_INC_DEC
Definition: stepper.h:112
int16_t counter
Definition: stepper.h:164
__STATIC_INLINE void STEPPER_setIndexerDir(INDEXER_Instance *handle, STEPPER_DIR dir)
Sets the direction for the indexer.
Definition: stepper.h:198
Definition: stepper.h:142
Definition: stepper.h:128
#define STEPPER_INDEXER_2_BY_8
Value corresponding to 2/8 of indexer max count.
Definition: stepper.h:79
STEPPER_DIR dir
Definition: stepper.h:166
STEPPER_DIR
Definition: stepper.h:154
Definition: stepper.h:158
#define STEPPER_INDEXER_3_BY_8
Value corresponding to 3/8 of indexer max count.
Definition: stepper.h:84
STEPPER_DRIVE IbDrive
Definition: stepper.h:174
Definition: stepper.h:130
Definition: stepper.h:124
STEPPER_STEP_INC_DEC indexIncDec
Definition: stepper.h:168
__STATIC_INLINE void STEPPER_setMotorDrives(INDEXER_Instance *handle, STEPPER_DRIVE IaDrive, STEPPER_DRIVE IbDrive)
Sets the motor drive states.
Definition: stepper.h:233
Definition: stepper.h:136
__STATIC_INLINE void STEPPER_cirStepPhaseGen(INDEXER_Instance *handle)
Updates phase drive state in circular mode.
Definition: stepper.h:245
Definition: stepper.h:114
STEPPER_STEP_TYPE
Definition: stepper.h:146
__STATIC_INLINE void STEPPER_indexer(INDEXER_Instance *handle)
Increments the indexer counter and updates the phase reference calculation.
Definition: stepper.h:350