Contains 64-bit PID controller with its related structures and functions.
|
#define | PIDF64_SPS_DEFAULTS { 1.0L, 0.0L, 0.0L, 1.0L, 1.0L, 0.0L, 1.0L, -1.0L } |
| Defines default values to initialize the DCL_PIDF64 shadow structure. More...
|
|
#define | PIDF64_DEFAULTS |
| Defines default values to initialize the DCL_PID64 active structure. More...
|
|
#define | PIDF64_INT_DEFAULTS |
| Macro for internal default values to initialize DCL_PIDF64 Example: DCL_PIDF64 pid_ctrl = { .Kp = 1.0L, .Ki = 0.0L, ... .Umin = -1.0L, PIDF64_INT_DEFAULTS };. More...
|
|
#define | DCL_initPIDF64() &(DCL_PIDF64)PIDF64_DEFAULTS |
| Initialize DCL_PIDF64 struct with default parameters Example: DCL_PIDF64* pid_ctrl = DCL_initPID();. More...
|
|
#define | DCL_initPIDF64asParam(kp, ki, kd, kr, _c1, _c2, umax, umin) |
| Initialize DCL_PIDF64 struct with input controller parameters Example: DCL_PIDF64* pid_ctrl = DCL_initPIDF64asParam(1.0L,0.0L,0.0L,1.0L,1.0L,0.0L,1.0L,-1.0L); Note: input parameter needs to be in the same order as listed in PIDF64_SPS struct. More...
|
|
#define | DCL_initPIDF64asSPS(pid_ptr, sps_ptr) |
| Initialize DCL_PIDF64 struct with sps parameters Example: DCL_PIDF64_SPS pid_sps = { .Kp = , .Ki = , ...}; //initial parameter DCL_PIDF64 pid_ctrl; DCL_initPIasSPS(&pid_ctrl,&pid_sps);. More...
|
|
|
_DCL_CODE_ACCESS void | DCL_resetPIDF64 (DCL_PIDF64 *pid) |
| Resets PID64 internal storage data with interrupt protection. More...
|
|
_DCL_CODE_ACCESS void | DCL_fupdatePIDF64 (DCL_PIDF64 *pid) |
| Loads PIDF64 tuning parameter from its SPS parameter. More...
|
|
_DCL_CODE_ACCESS bool | DCL_updatePIDF64 (DCL_PIDF64 *pid) |
| Updates PID parameter from its SPS parameter with interrupt protection. More...
|
|
_DCL_CODE_ACCESS bool | DCL_pendingUpdatePIDF64 (DCL_PIDF64 *pid) |
| A conditional update based on the pending-for-update flag. If the pending status is set, the function will update PIDF64 parameter from its SPS parameter and clear the status flag on completion. Note: Use DCL_setPendingStatus(pid) to set the pending status. More...
|
|
_DCL_CODE_ACCESS void | DCL_updatePIDF64SPS (DCL_PIDF64 *pid) |
| 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 void | DCL_setPIDF64filterBW (DCL_PIDF64 *pid, float64_t fc) |
| Loads the derivative path filter shadow coefficients Note: Sampling period pid->css->t_sec are used in the calculation Note: new coefficients take effect when DCL_updatePID64() is called. More...
|
|
_DCL_CODE_ACCESS void | DCL_setActivePIDF64filterBW (DCL_PIDF64 *pid, float64_t fc, float64_t t_sec) |
| Loads the PID64 derivative path filter active coefficients Note: Sampling period pid->css->t_sec are used in the calculation Note: new coefficients take effect immediately. SPS & CSS contents are unaffected. More...
|
|
_DCL_CODE_ACCESS float64_t | DCL_getPIDF64filterBW (DCL_PIDF64 *pid) |
| Returns the active derivative path filter bandwidth in Hz Note: Sampling period pid->css->t_sec are used in the calculation. More...
|
|
_DCL_CODE_ACCESS float64_t | DCL_runPIDF64Series (DCL_PIDF64 *pid, float64_t rk, float64_t yk, float64_t lk) |
| Executes an ideal form PID64 controller. More...
|
|
_DCL_CODE_ACCESS float64_t | DCL_runPIDF64Parallel (DCL_PIDF64 *pid, float64_t rk, float64_t yk, float64_t lk) |
| Executes an parallel form PID64 controller. More...
|
|