AM243x Motor Control SDK  09.00.00
dcl_df23.h File Reference

Introduction

Contains direct form 2 3rd order DF23 compensator with its related structures and functions.

Go to the source code of this file.

Data Structures

struct  DCL_DF23_SPS
 Defines DCL_DF23 shadow parameter set used for updating compensator parameter. More...
 
struct  dcl_df23
 DCL_DF23 object for storing df23 specific parameters. More...
 

Macros

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

Typedefs

typedef _DCL_VOLATILE struct dcl_df23 DCL_DF23
 
typedef _DCL_VOLATILE struct dcl_df23DF23_Handle
 

Functions

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