    1/*

    2 * File: PMSM_Controller.h

    3 *

    4 * Code generated for Simulink model 'PMSM_Controller'.

    5 *

    6 * Model version                  : 1.1228

    7 * Simulink Coder version         : 9.4 (R2020b) 29-Jul-2020

    8 * C/C++ source code generated on : Tue Apr  5 20:46:52 2022

    9 *

    10 * Target selection: ert.tlc

    11 * Embedded hardware selection: ARM Compatible->ARM Cortex-M

    12 * Code generation objectives:

    13 *    1. Execution efficiency

    14 *    2. RAM efficiency

    15 * Validation result: Not run

    16 */

    17

    18#ifndef RTW_HEADER_PMSM_Controller_h_

    19#define RTW_HEADER_PMSM_Controller_h_

    20#ifndef PMSM_Controller_COMMON_INCLUDES_

    21#define PMSM_Controller_COMMON_INCLUDES_

    22#include "rtwtypes.h"

    23#include "zero_crossing_types.h"

    24#endif                                 /* PMSM_Controller_COMMON_INCLUDES_ */

    25

    26#include "PMSM_Controller_types.h"

    27

    28/* Child system includes */

    29#include "Shunt_Three_Sample_Point.h"

    30

    31/* Macros for accessing real-time model data structure */

    32#ifndef rtmGetErrorStatus

    33#define rtmGetErrorStatus(rtm)         ((rtm)->errorStatus)

    34#endif

    35

    36#ifndef rtmSetErrorStatus

    37#define rtmSetErrorStatus(rtm, val)    ((rtm)->errorStatus = (val))

    38#endif

    39

    40/* Block signals and states (default storage) for system '<S39>/Counter' */

    41typedef struct {

    42  uint16_T UnitDelay_DSTATE;           /* '<S44>/UnitDelay' */

    43} DW_Counter;

    44

    45/* Block signals and states (default storage) for system '<S35>/either_edge' */

    46typedef struct {

    47  boolean_T UnitDelay_DSTATE;          /* '<S40>/UnitDelay' */

    48} DW_either_edge;

    49

    50/* Block signals and states (default storage) for system '<S34>/Debounce_Filter' */

    51typedef struct {

    52  DW_either_edge either_edge_j;        /* '<S35>/either_edge' */

    53  DW_Counter Counter_d;                /* '<S38>/Counter' */

    54  DW_Counter Counter_f;                /* '<S39>/Counter' */

    55  boolean_T UnitDelay_DSTATE;          /* '<S35>/UnitDelay' */

    56} DW_Debounce_Filter;

    57

    58/* Block signals and states (default storage) for system '<S45>/Low_Pass_Filter' */

    59typedef struct {

    60  int16_T UnitDelay1_DSTATE[2];        /* '<S54>/UnitDelay1' */

    61} DW_Low_Pass_Filter;

    62

    63/* Block signals and states (default storage) for system '<S58>/PI_iq' */

    64typedef struct {

    65  int32_T UnitDelay_DSTATE;            /* '<S63>/UnitDelay' */

    66  int32_T UnitDelay_DSTATE_i;          /* '<S65>/UnitDelay' */

    67} DW_PI_iq;

    68

    69/* Block signals and states (default storage) for system '<S57>/PI_id' */

    70typedef struct {

    71  int32_T UnitDelay_DSTATE;            /* '<S59>/UnitDelay' */

    72  int32_T UnitDelay_DSTATE_p;          /* '<S61>/UnitDelay' */

    73} DW_PI_id;

    74

    75/* Block signals and states (default storage) for system '<S79>/pi_speed' */

    76typedef struct {

    77  int32_T UnitDelay_DSTATE;            /* '<S82>/UnitDelay' */

    78  int32_T ResettableDelay_DSTATE;      /* '<S83>/Resettable Delay' */

    79  uint8_T icLoad;                      /* '<S83>/Resettable Delay' */

    80} DW_pi_speed;

    81

    82/* Zero-crossing (trigger) state for system '<S79>/pi_speed' */

    83typedef struct {

    84  ZCSigState ResettableDelay_Reset_ZCE;/* '<S83>/Resettable Delay' */

    85} ZCE_pi_speed;

    86

    87/* Block signals and states (default storage) for system '<Root>' */

    88typedef struct {

    89  DW_pi_speed pi_speed_g;              /* '<S79>/pi_speed' */

    90  DW_PI_id PI_id_b;                    /* '<S57>/PI_id' */

    91  DW_PI_iq PI_iq_g;                    /* '<S58>/PI_iq' */

    92  DW_Low_Pass_Filter Low_Pass_Filter_d;/* '<S45>/Low_Pass_Filter' */

    93  DW_either_edge either_edge_f;        /* '<S34>/either_edge' */

    94  DW_Debounce_Filter Debounce_Filter_i;/* '<S34>/Debounce_Filter' */

    95  uint32_T z_counterRawPrev;           /* '<S15>/z_counterRawPrev' */

    96  uint32_T UnitDelay3_DSTATE;          /* '<S10>/UnitDelay3' */

    97  uint32_T UnitDelay2_DSTATE;          /* '<S15>/UnitDelay2' */

    98  uint32_T UnitDelay3_DSTATE_l;        /* '<S15>/UnitDelay3' */

    99  uint32_T UnitDelay5_DSTATE;          /* '<S15>/UnitDelay5' */

    100  int16_T Merge[2];                    /* '<S23>/Merge' */

    101  int16_T Divide;                      /* '<S32>/Divide' */

    102  int16_T Merge_b;                     /* '<S50>/Merge' */

    103  int16_T Switch2;                     /* '<S62>/Switch2' */

    104  int16_T Switch2_m;                   /* '<S66>/Switch2' */

    105  int16_T Divide1;                     /* '<S29>/Divide1' */

    106  int16_T Switch;                      /* '<S32>/Switch' */

    107  int16_T Switch1;                     /* '<S32>/Switch1' */

    108  int16_T Divide3;                     /* '<S24>/Divide3' */

    109  int16_T Divide11;                    /* '<S15>/Divide11' */

    110  int16_T UnitDelay2_DSTATE_p;         /* '<S5>/UnitDelay2' */

    111  int16_T UnitDelay1_DSTATE;           /* '<S5>/UnitDelay1' */

    112  int16_T UnitDelay_DSTATE;            /* '<S28>/Unit Delay' */

    113  int16_T UnitDelay_DSTATE_d;          /* '<S33>/UnitDelay' */

    114  int16_T UnitDelay4_DSTATE;           /* '<S10>/UnitDelay4' */

    115  uint16_T UnitDelay2_DSTATE_f;        /* '<S16>/UnitDelay2' */

    116  uint16_T UnitDelay3_DSTATE_lh;       /* '<S16>/UnitDelay3' */

    117  uint16_T UnitDelay5_DSTATE_f;        /* '<S16>/UnitDelay5' */

    118  int8_T Switch2_i;                    /* '<S6>/Switch2' */

    119  int8_T UnitDelay2_DSTATE_j;          /* '<S6>/UnitDelay2' */

    120  uint8_T Delay_DSTATE;                /* '<S7>/Delay' */

    121  uint8_T Delay1_DSTATE;               /* '<S7>/Delay1' */

    122  uint8_T Delay2_DSTATE;               /* '<S7>/Delay2' */

    123  uint8_T UnitDelay_DSTATE_j;          /* '<S34>/UnitDelay' */

    124  uint8_T is_active_c5_PMSM_Controller;/* '<S3>/Control_Mode_Manager' */

    125  uint8_T is_c5_PMSM_Controller;       /* '<S3>/Control_Mode_Manager' */

    126  uint8_T is_ACTIVE;                   /* '<S3>/Control_Mode_Manager' */

    127  boolean_T Delay_DSTATE_n[20];        /* '<S86>/Delay' */

    128  boolean_T Compare;                   /* '<S18>/Compare' */

    129  boolean_T UnitDelay_DSTATE_f;        /* '<S86>/Unit Delay' */

    130  boolean_T UnitDelay1_DSTATE_i;       /* '<S15>/UnitDelay1' */

    131  boolean_T n_SpeedCtrl_Mode;          /* '<S21>/n_SpeedCtrl' */

    132  boolean_T n_commDeacv_Mode;          /* '<S16>/n_commDeacv' */

    133} DW;

    134

    135/* Zero-crossing (trigger) state */

    136typedef struct {

    137  ZCE_pi_speed pi_speed_g;             /* '<S79>/pi_speed' */

    138} PrevZCX;

    139

    140/* Invariant block signals for system '<S79>/pi_speed' */

    141typedef struct {

    142  const int32_T DataTypeConversion2;   /* '<S83>/Data Type Conversion2' */

    143} ConstB_pi_speed;

    144

    145/* Invariant block signals (default storage) */

    146typedef struct {

    147  ConstB_pi_speed pi_speed_g;          /* '<S79>/pi_speed' */

    148} ConstB;

    149

    150/* Constant parameters (default storage) */

    151typedef struct {

    152  /* Computed Parameter: r_cos_M1_Table

    153   * Referenced by: '<S56>/r_cos_M1'

    154   */

    155  int16_T r_cos_M1_Table[1441];

    156

    157  /* Computed Parameter: r_sin_M1_Table

    158   * Referenced by: '<S56>/r_sin_M1'

    159   */

    160  int16_T r_sin_M1_Table[1441];

    161

    162  /* Computed Parameter: Vq_max_M1_Table

    163   * Referenced by: '<S46>/Vq_max_M1'

    164   */

    165  int16_T Vq_max_M1_Table[46];

    166

    167  /* Computed Parameter: iq_maxSca_M1_Table

    168   * Referenced by: '<S46>/iq_maxSca_M1'

    169   */

    170  uint16_T iq_maxSca_M1_Table[50];

    171

    172  /* Computed Parameter: vec_hallToPos_Value

    173   * Referenced by: '<S9>/vec_hallToPos'

    174   */

    175  int8_T vec_hallToPos_Value[8];

    176} ConstP;

    177

    178/* External inputs (root inport signals with default storage) */

    179typedef struct {

    180  int16_T adc_a;                       /* '<Root>/adc_a' */

    181  int16_T adc_b;                       /* '<Root>/adc_b' */

    182  int16_T open_theta;                  /* '<Root>/open_theta' */

    183  int16_T rotor_speed;                 /* '<Root>/rotor_speed' */

    184  int16_T input_target;                /* '<Root>/input_target' */

    185  uint8_T hall_a;                      /* '<Root>/hall_a' */

    186  uint8_T hall_b;                      /* '<Root>/hall_b' */

    187  uint8_T hall_c;                      /* '<Root>/hall_c' */

    188  uint32_T hw_count;                   /* '<Root>/hw_count' */

    189  boolean_T b_motEna;                  /* '<Root>/b_motEna' */

    190  boolean_T b_cruiseEna;               /* '<Root>/b_cruiseEna' */

    191  uint8_T n_ctrlModReq;                /* '<Root>/n_ctrlModReq' */

    192  int16_T i_dc_limit;                  /* '<Root>/i_dc_limit' */

    193  int16_T speed_limit;                 /* '<Root>/speed_limit' */

    194  int16_T vbus_voltage;                /* '<Root>/vbus_voltage' */

    195  boolean_T b_hall_calibrate;          /* '<Root>/b_hall_calibrate' */

    196  int16_T vd_open_target;              /* '<Root>/vd_open_target' */

    197  int16_T vq_open_target;              /* '<Root>/vq_open_target' */

    198} ExtU;

    199

    200/* External outputs (root outports fed by signals with default storage) */

    201typedef struct {

    202  uint16_T PWM[8];                     /* '<Root>/PWM' */

    203  uint8_T sector;                      /* '<Root>/sector' */

    204  uint8_T n_MotError;                  /* '<Root>/n_MotError' */

    205  int16_T VqPrev;                      /* '<Root>/VqPrev' */

    206  int16_T VdPrev;                      /* '<Root>/VdPrev' */

    207  int16_T iq;                          /* '<Root>/iq' */

    208  int16_T id;                          /* '<Root>/id' */

    209  int16_T angle;                       /* '<Root>/angle' */

    210  int16_T rpm;                         /* '<Root>/rpm' */

    211  int16_T hall_angle;                  /* '<Root>/hall_angle' */

    212  uint8_T hall_state;                  /* '<Root>/hall_state' */

    213  uint8_T running_mode;                /* '<Root>/running_mode' */

    214} ExtY;

    215

    216/* Real-time Model Data Structure */

    217struct tag_RTM {

    218  const char_T * volatile errorStatus;

    219  PrevZCX *prevZCSigState;

    220  ExtU *inputs;

    221  ExtY *outputs;

    222  DW *dwork;

    223};

    224

    225extern const ConstB rtConstB;          /* constant block i/o */

    226

    227/* Constant parameters (default storage) */

    228extern const ConstP rtConstP;

    229

    230/* Model entry point functions */

    231extern void PMSM_Controller_initialize(RT_MODEL *const rtM);

    232extern void PMSM_Controller_step(RT_MODEL *const rtM);

    233

    234/*-

    235 * These blocks were eliminated from the model due to optimizations:

    236 *

    237 * Block '<S6>/Scope' : Unused code path elimination

    238 * Block '<S8>/Scope' : Unused code path elimination

    239 * Block '<S9>/Scope' : Unused code path elimination

    240 * Block '<S2>/Scope' : Unused code path elimination

    241 * Block '<S10>/Logical Operator4' : Unused code path elimination

    242 * Block '<S15>/Abs2' : Unused code path elimination

    243 * Block '<S15>/Add' : Unused code path elimination

    244 * Block '<S17>/Compare' : Unused code path elimination

    245 * Block '<S17>/Constant' : Unused code path elimination

    246 * Block '<S15>/Sum7' : Unused code path elimination

    247 * Block '<S15>/UnitDelay4' : Unused code path elimination

    248 * Block '<S15>/UnitDelay6' : Unused code path elimination

    249 * Block '<S15>/UnitDelay7' : Unused code path elimination

    250 * Block '<S15>/UnitDelay8' : Unused code path elimination

    251 * Block '<S15>/dz_cntTrnsDet' : Unused code path elimination

    252 * Block '<S10>/Scope1' : Unused code path elimination

    253 * Block '<S10>/Scope2' : Unused code path elimination

    254 * Block '<S25>/Data Type Duplicate' : Unused code path elimination

    255 * Block '<S25>/Data Type Propagation' : Unused code path elimination

    256 * Block '<S26>/Data Type Duplicate' : Unused code path elimination

    257 * Block '<S26>/Data Type Propagation' : Unused code path elimination

    258 * Block '<S3>/Scope' : Unused code path elimination

    259 * Block '<S23>/Scope' : Unused code path elimination

    260 * Block '<S31>/Data Type Duplicate' : Unused code path elimination

    261 * Block '<S31>/Data Type Propagation' : Unused code path elimination

    262 * Block '<S30>/Scope' : Unused code path elimination

    263 * Block '<S30>/Scope1' : Unused code path elimination

    264 * Block '<S28>/Scope' : Unused code path elimination

    265 * Block '<S29>/Scope' : Unused code path elimination

    266 * Block '<S1>/Scope1' : Unused code path elimination

    267 * Block '<S1>/Scope2' : Unused code path elimination

    268 * Block '<S53>/Scope' : Unused code path elimination

    269 * Block '<S45>/Scope' : Unused code path elimination

    270 * Block '<S45>/Scope1' : Unused code path elimination

    271 * Block '<S5>/Gain6' : Unused code path elimination

    272 * Block '<S46>/Scope' : Unused code path elimination

    273 * Block '<S47>/Constant1' : Unused code path elimination

    274 * Block '<S47>/Constant2' : Unused code path elimination

    275 * Block '<S47>/Constant4' : Unused code path elimination

    276 * Block '<S47>/Scope1' : Unused code path elimination

    277 * Block '<S62>/Data Type Duplicate' : Unused code path elimination

    278 * Block '<S62>/Data Type Propagation' : Unused code path elimination

    279 * Block '<S60>/Data Type Duplicate' : Unused code path elimination

    280 * Block '<S60>/Data Type Propagation' : Unused code path elimination

    281 * Block '<S57>/Scope' : Unused code path elimination

    282 * Block '<S66>/Data Type Duplicate' : Unused code path elimination

    283 * Block '<S66>/Data Type Propagation' : Unused code path elimination

    284 * Block '<S63>/Scope' : Unused code path elimination

    285 * Block '<S64>/Data Type Duplicate' : Unused code path elimination

    286 * Block '<S64>/Data Type Propagation' : Unused code path elimination

    287 * Block '<S58>/Scope' : Unused code path elimination

    288 * Block '<S69>/Data Type Duplicate' : Unused code path elimination

    289 * Block '<S69>/Data Type Propagation' : Unused code path elimination

    290 * Block '<S67>/Scope' : Unused code path elimination

    291 * Block '<S68>/Scope' : Unused code path elimination

    292 * Block '<S5>/Scope1' : Unused code path elimination

    293 * Block '<S5>/Scope12' : Unused code path elimination

    294 * Block '<S81>/Data Type Duplicate' : Unused code path elimination

    295 * Block '<S81>/Data Type Propagation' : Unused code path elimination

    296 * Block '<S79>/Scope' : Unused code path elimination

    297 * Block '<S79>/Scope2' : Unused code path elimination

    298 * Block '<S84>/Data Type Duplicate' : Unused code path elimination

    299 * Block '<S84>/Data Type Propagation' : Unused code path elimination

    300 * Block '<S82>/Scope' : Unused code path elimination

    301 * Block '<S85>/Data Type Duplicate' : Unused code path elimination

    302 * Block '<S85>/Data Type Propagation' : Unused code path elimination

    303 * Block '<S80>/Scope' : Unused code path elimination

    304 * Block '<S52>/Scope' : Unused code path elimination

    305 * Block '<S52>/Scope1' : Unused code path elimination

    306 * Block '<S8>/Manual Switch' : Eliminated due to constant selection input

    307 * Block '<S2>/hall_motor_speed_choice' : Eliminated due to constant selection input

    308 * Block '<S23>/Data Type Conversion' : Eliminate redundant data type conversion

    309 * Block '<S5>/Data Type Conversion' : Eliminate redundant data type conversion

    310 * Block '<S46>/Data Type Conversion' : Eliminate redundant data type conversion

    311 * Block '<S79>/Manual Switch' : Eliminated due to constant selection input

    312 * Block '<S86>/Data Type Conversion1' : Eliminate redundant data type conversion

    313 * Block '<S8>/Constant' : Unused code path elimination

    314 * Block '<S15>/Divide14' : Unused code path elimination

    315 * Block '<S15>/smooth' : Unused code path elimination

    316 * Block '<S79>/Constant' : Unused code path elimination

    317 */

    318

    319/*-

    320 * The generated code includes comments that allow you to trace directly

    321 * back to the appropriate location in the model.  The basic format

    322 * is <system>/block_name, where system is the system number (uniquely

    323 * assigned by Simulink) and block_name is the name of the block.

    324 *

    325 * Note that this particular code originates from a subsystem build,

    326 * and has its own system numbers different from the parent model.

    327 * Refer to the system hierarchy for this subsystem below, and use the

    328 * MATLAB hilite_system command to trace the generated code back

    329 * to the parent model.  For example,

    330 *

    331 * hilite_system('MotorController_FOC/PMSM_Controller')    - opens subsystem MotorController_FOC/PMSM_Controller

    332 * hilite_system('MotorController_FOC/PMSM_Controller/Kp') - opens and selects block Kp

    333 *

    334 * Here is the system hierarchy for this model

    335 *

    336 * '<Root>' : 'MotorController_FOC'

    337 * '<S1>'   : 'MotorController_FOC/PMSM_Controller'

    338 * '<S2>'   : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation'

    339 * '<S3>'   : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager'

    340 * '<S4>'   : 'MotorController_FOC/PMSM_Controller/Diagnostics'

    341 * '<S5>'   : 'MotorController_FOC/PMSM_Controller/controller'

    342 * '<S6>'   : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Direction_Detection'

    343 * '<S7>'   : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Edge_Detect'

    344 * '<S8>'   : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation'

    345 * '<S9>'   : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Hall_Angle_Raw'

    346 * '<S10>'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation'

    347 * '<S11>'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation/degree_rad'

    348 * '<S12>'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation/degree_rad/If Action Subsystem'

    349 * '<S13>'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation/degree_rad/If Action Subsystem1'

    350 * '<S14>'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation/degree_rad/If Action Subsystem2'

    351 * '<S15>'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/Raw_Motor_Speed_Estimation'

    352 * '<S16>'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/Subsystem'

    353 * '<S17>'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/Raw_Motor_Speed_Estimation/Compare To Constant'

    354 * '<S18>'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/Subsystem/Compare To Constant'

    355 * '<S19>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Control_Mode_Manager'

    356 * '<S20>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Field_Weakening_Enabled'

    357 * '<S21>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Mode_Transition_Calculation'

    358 * '<S22>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Subsystem'

    359 * '<S23>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale'

    360 * '<S24>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Field_Weakening_Enabled/Field_Weakening'

    361 * '<S25>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Field_Weakening_Enabled/Field_Weakening/Saturation Dynamic'

    362 * '<S26>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Field_Weakening_Enabled/Field_Weakening/Saturation Dynamic1'

    363 * '<S27>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/If Action Subsystem'

    364 * '<S28>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode'

    365 * '<S29>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/torque_mode'

    366 * '<S30>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control'

    367 * '<S31>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/Saturation Dynamic'

    368 * '<S32>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/Subsystem'

    369 * '<S33>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/delayUnit'

    370 * '<S34>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled'

    371 * '<S35>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter'

    372 * '<S36>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/either_edge'

    373 * '<S37>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Default'

    374 * '<S38>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification'

    375 * '<S39>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification'

    376 * '<S40>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/either_edge'

    377 * '<S41>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification/Counter'

    378 * '<S42>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification/Counter/rst_Delay'

    379 * '<S43>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification/Counter'

    380 * '<S44>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification/Counter/rst_Delay'

    381 * '<S45>'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward'

    382 * '<S46>'  : 'MotorController_FOC/PMSM_Controller/controller/Motor_Limitations_Enabled'

    383 * '<S47>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller'

    384 * '<S48>'  : 'MotorController_FOC/PMSM_Controller/controller/Park_Transform_Inverse'

    385 * '<S49>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM'

    386 * '<S50>'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller'

    387 * '<S51>'  : 'MotorController_FOC/PMSM_Controller/controller/current_sample'

    388 * '<S52>'  : 'MotorController_FOC/PMSM_Controller/controller/pid_schdule'

    389 * '<S53>'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Clarke'

    390 * '<S54>'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Low_Pass_Filter'

    391 * '<S55>'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Park'

    392 * '<S56>'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Sine_Cosine_Approximation'

    393 * '<S57>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/id_ctrl'

    394 * '<S58>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/iq_ctrl'

    395 * '<S59>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/id_ctrl/PI_id'

    396 * '<S60>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/id_ctrl/Saturation Dynamic1'

    397 * '<S61>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/id_ctrl/PI_id/Integrator'

    398 * '<S62>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/id_ctrl/PI_id/Saturation Dynamic1'

    399 * '<S63>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/iq_ctrl/PI_iq'

    400 * '<S64>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/iq_ctrl/Saturation Dynamic2'

    401 * '<S65>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/iq_ctrl/PI_iq/Integrator'

    402 * '<S66>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/iq_ctrl/PI_iq/Saturation Dynamic1'

    403 * '<S67>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM'

    404 * '<S68>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/Sample_Control'

    405 * '<S69>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Saturation Dynamic1'

    406 * '<S70>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem'

    407 * '<S71>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/sector_select'

    408 * '<S72>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem/sector1'

    409 * '<S73>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem/sector2'

    410 * '<S74>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem/sector3'

    411 * '<S75>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem/sector4'

    412 * '<S76>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem/sector5'

    413 * '<S77>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem/sector6'

    414 * '<S78>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/Sample_Control/Shunt_Three_Sample_Point'

    415 * '<S79>'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/speed_mode'

    416 * '<S80>'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/torque_mode'

    417 * '<S81>'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/speed_mode/Saturation Dynamic3'

    418 * '<S82>'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/speed_mode/pi_speed'

    419 * '<S83>'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/speed_mode/pi_speed/Integrator'

    420 * '<S84>'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/speed_mode/pi_speed/Saturation Dynamic1'

    421 * '<S85>'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/torque_mode/Saturation Dynamic'

    422 * '<S86>'  : 'MotorController_FOC/PMSM_Controller/controller/pid_schdule/Call_Scheduler'

    423 */

    424#endif                                 /* RTW_HEADER_PMSM_Controller_h_ */

    425

    426/*

    427 * File trailer for generated code.

    428 *

    429 * [EOF]

    430 */

    431