AM263x Motor Control SDK  09.02.00

Introduction

Contains PI controller with its related structures and functions.

Go to the source code of this file.

Data Structures

struct  DCL_PI_SPS
 Defines DCL_PI shadow parameter set used for updating controller parameter. More...
 
struct  dcl_pi
 DCL_PI object for storing PI specific parameters. More...
 

Macros

#define PI_SPS_DEFAULTS   { 1.0f, 0.0f, 1.0f, -1.0f, 1.0f, -1.0f }
 Defines default values to initialize DCL_PI_SPS. More...
 
#define PI_DEFAULTS
 Defines default values to initialize DCL_PI. More...
 
#define PI_INT_DEFAULTS
 Macro for internal default values to initialize DCL_PI Example: DCL_PI pi_ctrl = { .Kp = 1.0f, .Ki = 0.0f, .Umax = 1.0f, .Umin = -1.0f, .Imax = 0.0f, .Imin = 0.0f, PI_INT_DEFAULTS };. More...
 
#define DCL_initPI()   &(DCL_PI)PI_DEFAULTS
 Initialize DCL_PI struct with default parameters Example: DCL_PI* pi_ctrl = DCL_initPI();. More...
 
#define DCL_initPIasParam(kp, ki, umax, umin)
 Initialize DCL_PI struct with input controller parameters Example: DCL_PI* pi_ctrl = DCL_initPIasParam(1.0f,0.0f,1.0f,-1.0f);. More...
 
#define DCL_initPIasSPS(pi_ptr, sps_ptr)
 Initialize DCL_PI struct with sps parameters Example: DCL_PI_SPS pi_sps = { .Kp = , .Ki = , ...}; DCL_PI pi_ctrl; DCL_initPIasSPS(&pi_ctrl,&pi_sps);. More...
 

Typedefs

typedef _DCL_VOLATILE struct dcl_pi DCL_PI
 

Functions

_DCL_CODE_ACCESS void DCL_resetPI (DCL_PI *pi)
 Resets PI internal storage data with interrupt protection. More...
 
_DCL_CODE_ACCESS void DCL_forceUpdatePI (DCL_PI *pi)
 Loads PI tuning parameter from its SPS parameter without interrupt protection
More...
 
_DCL_CODE_ACCESS void DCL_updatePINoCheck (DCL_PI *pi)
 Loads PI tuning parameter from its SPS parameter with interrupt protection. More...
 
_DCL_CODE_ACCESS bool DCL_updatePI (DCL_PI *pi)
 A conditional update based on the update flag. If the update status is set, the function will update PI parameter from its SPS parameter and clear the status flag on completion. More...
 
_DCL_CODE_ACCESS void DCL_loadSeriesPIasZPK (DCL_PI *pi, DCL_ZPK3 *zpk)
 Configures a series PI controller in "zero-pole-gain" form. More...
 
_DCL_CODE_ACCESS void DCL_loadParallelPIasZPK (DCL_PI *pi, DCL_ZPK3 *zpk)
 Configures a parallel PI controller in "zero-pole-gain" form. More...
 
_DCL_CRIT_ACCESS float32_t DCL_runPISeries (DCL_PI *pi, float32_t rk, float32_t yk)
 Executes an inline series form PI controller. More...
 
_DCL_CRIT_ACCESS float32_t DCL_runPIParallel (DCL_PI *pi, float32_t rk, float32_t yk)
 Executes a parallel form PI controller Implemented as inline C function. More...
 
_DCL_CRIT_ACCESS float32_t DCL_runPIParallelEnhanced (DCL_PI *pi, float32_t rk, float32_t yk)
 Executes a parallel form PI controller with enhanced anti-windup logic incorporating an additional integrator saturation clamp. More...
 
_DCL_CRIT_ACCESS float32_t DCL_runPISeriesTustin (DCL_PI *pi, float32_t rk, float32_t yk)
 Executes a series form PI controller with Tustin integrator. More...