AM263x Motor Control SDK  09.00.00
dcl_pidf64.h File Reference

Introduction

Contains 64-bit PID controller with its related structures and functions.

Go to the source code of this file.

Data Structures

struct  DCL_PIDF64_SPS
 Defines DCL_PIDF64 shadow PID64 controller structure used for updating controller parameter. More...
 
struct  dcl_pidf64
 DCL_PIDF64 object for storing 64bit PID specific parameters. More...
 

Macros

#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...
 

Typedefs

typedef _DCL_VOLATILE struct dcl_pidf64 DCL_PIDF64
 
typedef _DCL_VOLATILE struct dcl_pidf64PIDF64_Handle
 

Functions

_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...