Contains direct form 2 3rd order DF23 compensator with its related structures and functions.
|
#define | DF23_SPS_DEFAULTS { 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f } |
|
#define | DF23_DEFAULTS |
| Defines default values to initialize DCL_DF23. More...
|
|
#define | DF23_INT_DEFAULTS |
| Macro for internal default values to initialize DCL_DF23 Example: DCL_DF23 df23_ctrl = { .b0 = 1.0f, .b1 = 0.0f, ... .a3 = 0.0f, DF23_INT_DEFAULTS };. More...
|
|
#define | DCL_initDF23() &(DCL_DF23)DF23_DEFAULTS |
| Initialize DCL_DF23 struct with default parameters Example: DCL_DF23* df23_ctrl = DCL_initDF23();. More...
|
|
#define | DCL_initDF23asParam(_b0, _b1, _b2, _b3, _a1, _a2, _a3) |
| Initialize DCL_DF23 struct with input compensator parameters Example: DCL_DF23* DF23_ctrl = DCL_initDF23asParam(1.0f,0.0f,0.0f,0.0f,0.0f,0.0f,0.0f); Note: input parameter needs to be in the same order as listed in DF23_SPS struct. More...
|
|
#define | DCL_initDF23asSPS(df_ptr, sps_ptr) |
| Initialize DCL_DF23 struct with sps parameters Example: DCL_DF23_SPS df_sps = { .b0 = , .b1 = , ...}; //initial parameter DCL_DF23 df_ctrl; DCL_initDF23asSPS(&df_ctrl,&df_sps);. More...
|
|
|
_DCL_CODE_ACCESS void | DCL_resetDF23 (DCL_DF23 *df) |
| Resets DF23 internal storage data with interrupt protection. More...
|
|
_DCL_CODE_ACCESS void | DCL_fupdateDF23 (DCL_DF23 *df) |
| Loads DF23 tuning parameter from its SPS parameter. More...
|
|
_DCL_CODE_ACCESS _DCL_CODE_SECTION bool | DCL_updateDF23 (DCL_DF23 *df) |
| Updates DF23 parameter from its SPS parameter with interrupt protection. More...
|
|
_DCL_CODE_ACCESS _DCL_CODE_SECTION bool | DCL_pendingUpdateDF23 (DCL_DF23 *df) |
| A conditional update based on the pending-for-update flag. If the pending status is set, the function will update DF23 parameter from its SPS parameter and clear the status flag on completion. Note: Use DCL_setPendingStatus(df) to set the pending status. More...
|
|
_DCL_CODE_ACCESS void | DCL_updateDF23SPS (DCL_DF23 *df) |
| Update SPS parameter with active param, userful when needing to update only few active param from SPS and keep rest the same
More...
|
|
_DCL_CODE_ACCESS bool | DCL_isStableDF23 (DCL_DF23 *df) |
| Determines stability of the shadow compensator. More...
|
|
_DCL_CODE_ACCESS void | DCL_loadDF23asZPK (DCL_DF23 *df, DCL_ZPK3 *zpk) |
| Loads the DF23 shadow coefficients from a ZPK3 description Note: Sampling period df->css->t_sec are used in the calculation. New settings take effect after DCL_updateDF23(). More...
|
|
_DCL_CODE_ACCESS _DCL_CODE_SECTION float32_t | DCL_runDF23 (DCL_DF23 *df, float32_t ek) |
| Executes a 3rd order Direct Form 2 controller. More...
|
|
_DCL_CODE_ACCESS float32_t | DCL_runDF23PartialCompute (DCL_DF23 *df, float32_t ek) |
| Immediate computation to obtain DF23 servo error without updating the controller. More...
|
|
_DCL_CODE_ACCESS void | DCL_runDF23PartialUpdate (DCL_DF23 *df, float32_t ek, float32_t uk) |
| Update DF22 controller based on pre-computed control effort. More...
|
|
_DCL_CODE_ACCESS _DCL_CODE_SECTION float32_t | DCL_runDF23Clamp (DCL_DF23 *df, float32_t ek, float32_t Umax, float32_t Umin) |
| Executes a 3rd order Direct Form 2 controller with clamp. More...
|
|