CMSIS-DSP  
CMSIS DSP Software Library
controller_functions.h File Reference

Data Structures

struct  arm_pid_instance_q15
 Instance structure for the Q15 PID Control. More...
 
struct  arm_pid_instance_q31
 Instance structure for the Q31 PID Control. More...
 
struct  arm_pid_instance_f32
 Instance structure for the floating-point PID Control. More...
 

Macros

#define CONTROLLER_Q31_SHIFT   (32 - 9)
 Macros required for SINE and COSINE Controller functions. More...
 
#define INPUT_SPACING   0xB60B61
 

Functions

void arm_sin_cos_f32 (float32_t theta, float32_t *pSinVal, float32_t *pCosVal)
 Floating-point sin_cos function. More...
 
void arm_sin_cos_q31 (q31_t theta, q31_t *pSinVal, q31_t *pCosVal)
 Q31 sin_cos function. More...
 
void arm_pid_init_f32 (arm_pid_instance_f32 *S, int32_t resetStateFlag)
 Initialization function for the floating-point PID Control. More...
 
void arm_pid_reset_f32 (arm_pid_instance_f32 *S)
 Reset function for the floating-point PID Control. More...
 
void arm_pid_init_q31 (arm_pid_instance_q31 *S, int32_t resetStateFlag)
 Initialization function for the Q31 PID Control. More...
 
void arm_pid_reset_q31 (arm_pid_instance_q31 *S)
 Reset function for the Q31 PID Control. More...
 
void arm_pid_init_q15 (arm_pid_instance_q15 *S, int32_t resetStateFlag)
 Initialization function for the Q15 PID Control. More...
 
void arm_pid_reset_q15 (arm_pid_instance_q15 *S)
 Reset function for the Q15 PID Control. More...
 
float32_t arm_pid_f32 (arm_pid_instance_f32 *S, float32_t in)
 Process function for the floating-point PID Control. More...
 
q31_t arm_pid_q31 (arm_pid_instance_q31 *S, q31_t in)
 Process function for the Q31 PID Control. More...
 
q15_t arm_pid_q15 (arm_pid_instance_q15 *S, q15_t in)
 Process function for the Q15 PID Control. More...
 
void arm_park_f32 (float32_t Ialpha, float32_t Ibeta, float32_t *pId, float32_t *pIq, float32_t sinVal, float32_t cosVal)
 Floating-point Park transform. More...
 
void arm_park_q31 (q31_t Ialpha, q31_t Ibeta, q31_t *pId, q31_t *pIq, q31_t sinVal, q31_t cosVal)
 Park transform for Q31 version. More...
 
void arm_inv_park_f32 (float32_t Id, float32_t Iq, float32_t *pIalpha, float32_t *pIbeta, float32_t sinVal, float32_t cosVal)
 Floating-point Inverse Park transform. More...
 
void arm_inv_park_q31 (q31_t Id, q31_t Iq, q31_t *pIalpha, q31_t *pIbeta, q31_t sinVal, q31_t cosVal)
 Inverse Park transform for Q31 version. More...
 
void arm_clarke_f32 (float32_t Ia, float32_t Ib, float32_t *pIalpha, float32_t *pIbeta)
 Floating-point Clarke transform. More...
 
void arm_clarke_q31 (q31_t Ia, q31_t Ib, q31_t *pIalpha, q31_t *pIbeta)
 Clarke transform for Q31 version. More...
 
void arm_inv_clarke_f32 (float32_t Ialpha, float32_t Ibeta, float32_t *pIa, float32_t *pIb)
 Floating-point Inverse Clarke transform. More...
 
void arm_inv_clarke_q31 (q31_t Ialpha, q31_t Ibeta, q31_t *pIa, q31_t *pIb)
 Inverse Clarke transform for Q31 version. More...
 

Macro Definition Documentation

◆ CONTROLLER_Q31_SHIFT

#define CONTROLLER_Q31_SHIFT   (32 - 9)

◆ INPUT_SPACING

#define INPUT_SPACING   0xB60B61