Contains PI controller with its related structures and functions.
|
#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...
|
|
|
_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...
|
|