AM243x Motor Control SDK  09.02.00

Introduction

Contains 32-bit non-linear PID controller with its related structures and functions.

Go to the source code of this file.

Data Structures

struct  DCL_NLPID_SPS
 Defines the shadow DCL_NLPID controller structure. More...
 
struct  dcl_nlpid
 Defines the active DCL_NLPID controller structure. More...
 

Macros

#define DCL_DELTA_MIN   1.0e-04f
 Sets the lower bound on the linear region semi-width. More...
 
#define DCL_GAMMA_MAX   100
 Sets an upper bound on allowable controller gain, and therefore fixes the minimum linear region semi-width. More...
 
#define NLPID_SPS_DEFAULTS
 Defines default values to initialize the DCL_NLPID structure. More...
 
#define NLPID_DEFAULTS
 Defines default values to initialize the DCL_NLPID structure. More...
 

Typedefs

typedef _DCL_VOLATILE struct dcl_nlpid DCL_NLPID
 

Functions

_DCL_CODE_ACCESS void DCL_resetNLPID (DCL_NLPID *pid)
 Resets NLPID internal storage data with interrupt protection. More...
 
_DCL_CODE_ACCESS void DCL_forceUpdateNLPID (DCL_NLPID *pid)
 Loads NLPID tuning parameter from its SPS parameter without interrupt protection. More...
 
_DCL_CODE_ACCESS void DCL_updateNLPIDNoCheck (DCL_NLPID *pid)
 Loads PID tuning parameter from its SPS parameter with interrupt protection. More...
 
_DCL_CODE_ACCESS bool DCL_updateNLPID (DCL_NLPID *pid)
 A conditional update based on the update flag. If the update status is set, the function will update NLPID parameter from its SPS parameter and clear the status flag on completion. More...
 
_DCL_CODE_ACCESS void DCL_setNLPIDfilterBW (DCL_NLPID *pid, float32_t fc)
 Loads the shadow derivative LP filter coefficients. More...
 
_DCL_CODE_ACCESS void DCL_setActiveNLPIDfilterBW (DCL_NLPID *pid, float32_t fc, float32_t T)
 Loads the NLPID derivative path filter active coefficients. More...
 
_DCL_CODE_ACCESS float32_t DCL_getNLPIDfilterBW (DCL_NLPID *pid)
 Returns the derivative LP filter bandwidth in Hz. More...
 
_DCL_CODE_ACCESS float32_t DCL_getNLPIDgamma (float32_t alpha, float32_t delta)
 Returns the linearized region gain for specified (alpha,delta) More...
 
_DCL_CODE_ACCESS float32_t DCL_getNLPIDdelta (float32_t alpha, float32_t gamma)
 Returns the semi-width of the linear gain region for specified (alpha,gamma) More...
 
_DCL_CODE_ACCESS void DCL_setNLPIDgamma (DCL_NLPID *pid)
 Computes the linearized gains for each path Note: active coefficients not update DCL_updateNLPID() called. More...
 
_DCL_CODE_ACCESS void DCL_setActiveNLPIDgamma (DCL_NLPID *pid)
 Computes the linearized gains for each path and loads the parameters in the active NLPID structure. More...
 
_DCL_CRIT_ACCESS float32_t DCL_runNLPIDParallel (DCL_NLPID *pid, float32_t rk, float32_t yk, float32_t lk)
 Executes a parallel form non-linear PID controller. More...
 
_DCL_CRIT_ACCESS float32_t DCL_runNLPIDSeries (DCL_NLPID *pid, float32_t rk, float32_t yk, float32_t lk)
 Executes a series form non-linear PID controller. More...
 
_DCL_CRIT_ACCESS float32_t DCL_runNLF (float32_t x, float32_t alpha, float32_t delta)
 Executes a basic non-linear control function. More...