/* * File: PMSM_Controller.h * * Code generated for Simulink model 'PMSM_Controller'. * * Model version : 1.1455 * Simulink Coder version : 9.4 (R2020b) 29-Jul-2020 * C/C++ source code generated on : Fri May 27 11:51:11 2022 * * Target selection: ert.tlc * Embedded hardware selection: ARM Compatible->ARM Cortex-M * Code generation objectives: * 1. Execution efficiency * 2. RAM efficiency * Validation result: Not run */ #ifndef RTW_HEADER_PMSM_Controller_h_ #define RTW_HEADER_PMSM_Controller_h_ #include "rtwtypes.h" #include "zero_crossing_types.h" #ifndef PMSM_Controller_COMMON_INCLUDES_ #define PMSM_Controller_COMMON_INCLUDES_ #include "rtwtypes.h" #include "zero_crossing_types.h" #endif /* PMSM_Controller_COMMON_INCLUDES_ */ /* Model Code Variants */ /* Macros for accessing real-time model data structure */ #ifndef rtmGetErrorStatus #define rtmGetErrorStatus(rtm) ((rtm)->errorStatus) #endif #ifndef rtmSetErrorStatus #define rtmSetErrorStatus(rtm, val) ((rtm)->errorStatus = (val)) #endif /* Forward declaration for rtModel */ typedef struct tag_RTM RT_MODEL; /* Block signals and states (default storage) for system '/Low_Pass_Filter' */ typedef struct { int32_T UnitDelay1_DSTATE[2]; /* '/UnitDelay1' */ } DW_Low_Pass_Filter; /* Block signals and states (default storage) for system '/PI_Speed' */ typedef struct { int32_T UnitDelay_DSTATE; /* '/UnitDelay' */ int32_T ResettableDelay_DSTATE; /* '/Resettable Delay' */ uint8_T icLoad; /* '/Resettable Delay' */ } DW_PI_backCalc_fixdt; /* Zero-crossing (trigger) state for system '/PI_Speed' */ typedef struct { ZCSigState ResettableDelay_Reset_ZCE_f;/* '/Resettable Delay' */ } ZCE_PI_backCalc_fixdt; /* Block signals and states (default storage) for system '/PI_backCalc_fixdt' */ typedef struct { int32_T UnitDelay_DSTATE; /* '/UnitDelay' */ int32_T ResettableDelay_DSTATE; /* '/Resettable Delay' */ uint8_T icLoad; /* '/Resettable Delay' */ } DW_PI_backCalc_fixdt_i; /* Zero-crossing (trigger) state for system '/PI_backCalc_fixdt' */ typedef struct { ZCSigState ResettableDelay_Reset_ZCE;/* '/Resettable Delay' */ } ZCE_PI_backCalc_fixdt_e; /* Block signals and states (default storage) for system '' */ typedef struct { DW_PI_backCalc_fixdt_i PI_backCalc_fixdt1;/* '/PI_backCalc_fixdt1' */ DW_PI_backCalc_fixdt_i PI_backCalc_fixdt_o3;/* '/PI_backCalc_fixdt' */ DW_PI_backCalc_fixdt PI_Speed; /* '/PI_Speed' */ DW_Low_Pass_Filter Low_Pass_Filter_h;/* '/Low_Pass_Filter' */ DW_Low_Pass_Filter Low_Pass_Filter_d;/* '/Low_Pass_Filter' */ int32_T Merge1; /* '/Merge1' */ int32_T Divide11; /* '/Divide11' */ int32_T UnitDelay_DSTATE; /* '/Unit Delay' */ int32_T ResettableDelay_DSTATE; /* '/Resettable Delay' */ uint32_T z_counterRawPrev; /* '/z_counterRawPrev' */ uint32_T UnitDelay3_DSTATE; /* '/UnitDelay3' */ uint32_T UnitDelay1_DSTATE; /* '/UnitDelay1' */ uint32_T UnitDelay2_DSTATE; /* '/UnitDelay2' */ uint32_T UnitDelay3_DSTATE_l; /* '/UnitDelay3' */ uint32_T UnitDelay5_DSTATE; /* '/UnitDelay5' */ uint32_T UnitDelay4_DSTATE; /* '/UnitDelay4' */ int16_T Merge[2]; /* '/Merge' */ int16_T Merge_c[2]; /* '/Merge' */ int16_T UnitDelay1_DSTATE_f[2]; /* '/UnitDelay1' */ int16_T Divide; /* '/Divide' */ int16_T Max; /* '/Max' */ int16_T Max1; /* '/Max1' */ int16_T Max_g; /* '/Max' */ int16_T Max1_j; /* '/Max1' */ int16_T Merge_f; /* '/Merge' */ int16_T Switch; /* '/Switch' */ int16_T Switch2; /* '/Switch2' */ int16_T r_currTgt; /* '/r_currTgt' */ int16_T Max_p; /* '/Max' */ int16_T Max1_g; /* '/Max1' */ int16_T Merge_i; /* '/Merge' */ int16_T Divide_l; /* '/Divide' */ int16_T Divide_n; /* '/Divide' */ int16_T UnitDelay_DSTATE_h; /* '/UnitDelay' */ int16_T UnitDelay1_DSTATE_i; /* '/Unit Delay1' */ int16_T UnitDelay_DSTATE_b; /* '/UnitDelay' */ int16_T UnitDelay_DSTATE_g; /* '/Unit Delay' */ int16_T UnitDelay_DSTATE_o; /* '/UnitDelay' */ int16_T UnitDelay1_DSTATE_b; /* '/Unit Delay1' */ int16_T UnitDelay_DSTATE_d; /* '/UnitDelay' */ int16_T UnitDelay_DSTATE_a; /* '/Unit Delay' */ int16_T UnitDelay1_DSTATE_g; /* '/Unit Delay1' */ int16_T Delay_DSTATE; /* '/Delay' */ int16_T UnitDelay_DSTATE_l; /* '/Unit Delay' */ int16_T UnitDelay_DSTATE_e; /* '/UnitDelay' */ int16_T UnitDelay_DSTATE_fv; /* '/UnitDelay' */ int16_T UnitDelay_DSTATE_i; /* '/Unit Delay' */ uint16_T UnitDelay_DSTATE_f; /* '/UnitDelay' */ uint16_T UnitDelay_DSTATE_p; /* '/UnitDelay' */ uint16_T UnitDelay2_DSTATE_f; /* '/UnitDelay2' */ uint16_T UnitDelay3_DSTATE_lh; /* '/UnitDelay3' */ uint16_T UnitDelay5_DSTATE_f; /* '/UnitDelay5' */ int8_T Switch2_i; /* '/Switch2' */ int8_T UnitDelay2_DSTATE_j; /* '/UnitDelay2' */ uint8_T UnitDelay_DSTATE_j; /* '/UnitDelay' */ uint8_T Delay_DSTATE_d; /* '/Delay' */ uint8_T Delay1_DSTATE; /* '/Delay1' */ uint8_T Delay2_DSTATE; /* '/Delay2' */ uint8_T UnitDelay_DSTATE_bm; /* '/Unit Delay' */ uint8_T UnitDelay_DSTATE_p2; /* '/Unit Delay' */ uint8_T icLoad; /* '/Delay' */ uint8_T icLoad_k; /* '/Resettable Delay' */ uint8_T is_active_c5_PMSM_Controller;/* '/Control_Mode_Manager' */ uint8_T is_c5_PMSM_Controller; /* '/Control_Mode_Manager' */ uint8_T is_ACTIVE; /* '/Control_Mode_Manager' */ boolean_T Compare; /* '/Compare' */ boolean_T UnitDelay_DSTATE_k; /* '/UnitDelay' */ boolean_T UnitDelay_DSTATE_n; /* '/UnitDelay' */ boolean_T UnitDelay_DSTATE_bv; /* '/UnitDelay' */ boolean_T UnitDelay1_DSTATE_iv; /* '/UnitDelay1' */ boolean_T n_SpeedCtrl_Mode; /* '/n_SpeedCtrl' */ boolean_T n_commDeacv_Mode; /* '/n_commDeacv' */ } DW; /* Zero-crossing (trigger) state */ typedef struct { ZCE_PI_backCalc_fixdt_e PI_backCalc_fixdt1;/* '/PI_backCalc_fixdt1' */ ZCE_PI_backCalc_fixdt_e PI_backCalc_fixdt_o3;/* '/PI_backCalc_fixdt' */ ZCSigState ResettableDelay_Reset_ZCE_a;/* '/Resettable Delay' */ ZCE_PI_backCalc_fixdt PI_Speed; /* '/PI_Speed' */ } PrevZCX; /* Constant parameters (default storage) */ typedef struct { /* Pooled Parameter (Expression: r_sin_M1) * Referenced by: * '/r_sin_M1' * '/r_sin_M1' */ int16_T pooled7[361]; /* Pooled Parameter (Expression: r_cos_M1) * Referenced by: * '/r_cos_M1' * '/r_cos_M1' */ int16_T pooled8[361]; /* Computed Parameter: vec_hallToPos_Value * Referenced by: '/vec_hallToPos' */ int8_T vec_hallToPos_Value[8]; } ConstP; /* External inputs (root inport signals with default storage) */ typedef struct { int16_T adc_Pha; /* '/adc_Pha' */ int16_T adc_Phb; /* '/adc_Phb' */ int32_T spd_Target; /* '/spd_Target' */ int16_T idq_Target; /* '/idq_Target' */ uint8_T hall_A; /* '/hall_A' */ uint8_T hall_B; /* '/hall_B' */ uint8_T hall_C; /* '/hall_C' */ uint32_T us_Count; /* '/us_Count' */ boolean_T b_motEna; /* '/b_motEna' */ boolean_T b_cruiseEna; /* '/b_cruiseEna' */ uint8_T n_ctrlModReq; /* '/n_ctrlModReq' */ int16_T iDC_Limit; /* '/iDC_Limit' */ int32_T spd_Limit; /* '/spd_Limit' */ int16_T vDC; /* '/vDC' */ uint16_T FOC_Flags; /* '/FOC_Flags' */ int16_T vdq_Open[2]; /* '/vdq_Open' */ int16_T theta_Open; /* '/theta_Open' */ } ExtU; /* External outputs (root outports fed by signals with default storage) */ typedef struct { int16_T pwm_Duty[3]; /* '/pwm_Duty' */ uint8_T n_Sector; /* '/n_Sector' */ uint8_T n_MotError; /* '/n_MotError' */ int16_T f_Vdq[2]; /* '/f_Vdq' */ int16_T f_Idq[2]; /* '/f_Idq' */ int16_T f_MotAngle; /* '/f_MotAngle' */ int32_T f_MotRPM; /* '/f_MotRPM' */ int16_T f_hallAngle; /* '/f_hallAngle' */ uint8_T n_hallStat; /* '/n_hallStat' */ uint8_T n_runingMode; /* '/n_runingMode' */ } ExtY; /* Parameters (default storage) */ struct P_ { uint32_T n_hall_count_ps; /* Variable: n_hall_count_ps * Referenced by: * '/z_maxCntRst' * '/z_counter' * '/UnitDelay2' */ uint32_T n_polePairs; /* Variable: n_polePairs * Referenced by: '/cf_speedCoef1' */ int16_T cf_TrqLimKb; /* Variable: cf_TrqLimKb * Referenced by: '/Constant2' */ int16_T cf_TrqLimKi; /* Variable: cf_TrqLimKi * Referenced by: '/Constant1' */ int16_T cf_TrqLimKp; /* Variable: cf_TrqLimKp * Referenced by: '/Constant4' */ int16_T cf_idKp; /* Variable: cf_idKp * Referenced by: '/Constant3' */ int16_T cf_iqKp; /* Variable: cf_iqKp * Referenced by: '/Constant7' */ int16_T cf_nKp; /* Variable: cf_nKp * Referenced by: '/Constant4' */ int16_T cf_idKb; /* Variable: cf_idKb * Referenced by: '/Constant6' */ int16_T cf_idKi; /* Variable: cf_idKi * Referenced by: '/Constant4' */ int16_T cf_iqKb; /* Variable: cf_iqKb * Referenced by: '/Constant1' */ int16_T cf_iqKi; /* Variable: cf_iqKi * Referenced by: '/Constant8' */ int16_T cf_nKb; /* Variable: cf_nKb * Referenced by: '/Constant11' */ int16_T cf_nKi; /* Variable: cf_nKi * Referenced by: '/Constant1' */ int16_T cf_lastIqGain; /* Variable: cf_lastIqGain * Referenced by: '/Gain' */ int16_T i_hall_offset; /* Variable: i_hall_offset * Referenced by: '/Constant2' */ int16_T dz_OpenStepVol; /* Variable: dz_OpenStepVol * Referenced by: '/Constant5' */ uint16_T f_lpf_idq; /* Variable: f_lpf_idq * Referenced by: '/Constant' */ uint16_T f_lpf_vdq; /* Variable: f_lpf_vdq * Referenced by: '/Constant' */ uint16_T i_pwm_count; /* Variable: i_pwm_count * Referenced by: '/Constant1' */ }; /* Parameters (default storage) */ typedef struct P_ P; /* Real-time Model Data Structure */ struct tag_RTM { const char_T * volatile errorStatus; PrevZCX *prevZCSigState; ExtU *inputs; ExtY *outputs; DW *dwork; }; /* Block parameters (default storage) */ extern P rtP; /* Constant parameters (default storage) */ extern const ConstP rtConstP; /* Model entry point functions */ extern void PMSM_Controller_initialize(RT_MODEL *const rtM); extern void PMSM_Controller_step(RT_MODEL *const rtM); /*- * These blocks were eliminated from the model due to optimizations: * * Block '/Scope' : Unused code path elimination * Block '/Scope' : Unused code path elimination * Block '/Scope' : Unused code path elimination * Block '/Scope' : Unused code path elimination * Block '/Scope' : Unused code path elimination * Block '/Logical Operator4' : Unused code path elimination * Block '/Abs2' : Unused code path elimination * Block '/Add' : Unused code path elimination * Block '/Compare' : Unused code path elimination * Block '/Constant' : Unused code path elimination * Block '/Sum7' : Unused code path elimination * Block '/UnitDelay4' : Unused code path elimination * Block '/UnitDelay6' : Unused code path elimination * Block '/UnitDelay7' : Unused code path elimination * Block '/UnitDelay8' : Unused code path elimination * Block '/dz_cntTrnsDet' : Unused code path elimination * Block '/Scope1' : Unused code path elimination * Block '/Scope2' : Unused code path elimination * Block '/Scope' : Unused code path elimination * Block '/Scope' : Unused code path elimination * Block '/Data Type Duplicate' : Unused code path elimination * Block '/Data Type Propagation' : Unused code path elimination * Block '/Scope2' : Unused code path elimination * Block '/Scope' : Unused code path elimination * Block '/Scope' : Unused code path elimination * Block '/Scope' : Unused code path elimination * Block '/Data Type Duplicate' : Unused code path elimination * Block '/Data Type Propagation' : Unused code path elimination * Block '/Scope' : Unused code path elimination * Block '/Scope' : Unused code path elimination * Block '/Scope12' : Unused code path elimination * Block '/Scope' : Unused code path elimination * Block '/Data Type Duplicate' : Unused code path elimination * Block '/Data Type Propagation' : Unused code path elimination * Block '/Scope' : Unused code path elimination * Block '/Data Type Duplicate' : Unused code path elimination * Block '/Data Type Propagation' : Unused code path elimination * Block '/Data Type Duplicate' : Unused code path elimination * Block '/Data Type Propagation' : Unused code path elimination * Block '/Data Type Duplicate' : Unused code path elimination * Block '/Data Type Propagation' : Unused code path elimination * Block '/Data Type Duplicate' : Unused code path elimination * Block '/Data Type Propagation' : Unused code path elimination * Block '/Data Type Duplicate' : Unused code path elimination * Block '/Data Type Propagation' : Unused code path elimination * Block '/Data Type Duplicate' : Unused code path elimination * Block '/Data Type Propagation' : Unused code path elimination * Block '/Scope' : Unused code path elimination * Block '/Data Type Duplicate' : Unused code path elimination * Block '/Data Type Propagation' : Unused code path elimination * Block '/Data Type Duplicate' : Unused code path elimination * Block '/Data Type Propagation' : Unused code path elimination * Block '/Manual Switch' : Eliminated due to constant selection input * Block '/Data Type Conversion' : Eliminate redundant data type conversion * Block '/Data Type Conversion' : Eliminate redundant data type conversion * Block '/Data Type Conversion1' : Eliminate redundant data type conversion * Block '/Data Type Conversion' : Eliminate redundant data type conversion * Block '/Constant' : Unused code path elimination * Block '/Divide14' : Unused code path elimination * Block '/smooth' : Unused code path elimination * Block '/Constant1' : Unused code path elimination * Block '/Constant2' : Unused code path elimination * Block '/Constant3' : Unused code path elimination * Block '/Constant4' : Unused code path elimination * Block '/Constant5' : Unused code path elimination * Block '/Constant6' : Unused code path elimination * Block '/Add' : Unused code path elimination * Block '/Constant6' : Unused code path elimination * Block '/Divide' : Unused code path elimination * Block '/Divide1' : Unused code path elimination * Block '/Data Type Conversion2' : Unused code path elimination * Block '/Resettable Delay' : Unused code path elimination * Block '/Sum1' : Unused code path elimination * Block '/LowerRelop1' : Unused code path elimination * Block '/Switch' : Unused code path elimination * Block '/Switch2' : Unused code path elimination * Block '/UpperRelop' : Unused code path elimination * Block '/Sum' : Unused code path elimination * Block '/Unit Delay' : Unused code path elimination * Block '/Gain1' : Unused code path elimination * Block '/Math Function1' : Unused code path elimination * Block '/Math Function2' : Unused code path elimination * Block '/Max' : Unused code path elimination * Block '/Sign' : Unused code path elimination * Block '/Sqrt' : Unused code path elimination * Block '/Sum' : Unused code path elimination * Block '/Sum of Elements' : Unused code path elimination * Block '/Sum1' : Unused code path elimination * Block '/Sum2' : Unused code path elimination * Block '/Unit Delay1' : Unused code path elimination * Block '/Add' : Unused code path elimination * Block '/Constant1' : Unused code path elimination * Block '/Constant3' : Unused code path elimination * Block '/Constant4' : Unused code path elimination * Block '/Constant5' : Unused code path elimination * Block '/Constant6' : Unused code path elimination * Block '/Divide' : Unused code path elimination * Block '/Divide1' : Unused code path elimination * Block '/Divide2' : Unused code path elimination * Block '/Divide4' : Unused code path elimination * Block '/Gain' : Unused code path elimination * Block '/Gain' : Unused code path elimination */ /*- * The generated code includes comments that allow you to trace directly * back to the appropriate location in the model. The basic format * is /block_name, where system is the system number (uniquely * assigned by Simulink) and block_name is the name of the block. * * Note that this particular code originates from a subsystem build, * and has its own system numbers different from the parent model. * Refer to the system hierarchy for this subsystem below, and use the * MATLAB hilite_system command to trace the generated code back * to the parent model. For example, * * hilite_system('MotorController_FOC/PMSM_Controller') - opens subsystem MotorController_FOC/PMSM_Controller * hilite_system('MotorController_FOC/PMSM_Controller/Kp') - opens and selects block Kp * * Here is the system hierarchy for this model * * '' : 'MotorController_FOC' * '' : 'MotorController_FOC/PMSM_Controller' * '' : 'MotorController_FOC/PMSM_Controller/1ms_Scheduler' * '' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation' * '' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager' * '' : 'MotorController_FOC/PMSM_Controller/Diagnostics' * '' : 'MotorController_FOC/PMSM_Controller/controller' * '' : 'MotorController_FOC/PMSM_Controller/1ms_Scheduler/counter' * '' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Direction_Detection' * '' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Edge_Detect' * '' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation' * '' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Hall_Angle_Raw' * '' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/If Action Subsystem' * '' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/If Action Subsystem1' * '' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation' * '' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation/degree_rad' * '' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation/degree_rad/If Action Subsystem' * '' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation/degree_rad/If Action Subsystem1' * '' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation/degree_rad/If Action Subsystem2' * '' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/AdvCtrlDetect' * '' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/Raw_Motor_Speed_Estimation' * '' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/AdvCtrlDetect/Compare To Constant' * '' : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/Raw_Motor_Speed_Estimation/Compare To Constant' * '' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Control_Mode_Manager' * '' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Limitition' * '' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Mode_Transition_Calculation' * '' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale' * '' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/If Action Subsystem' * '' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/If Action Subsystem1' * '' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode' * '' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/torque_mode' * '' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Edge' * '' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control' * '' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/RateInit' * '' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/Saturation Dynamic' * '' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/StepAdd' * '' : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/StepAdd/delayUnit' * '' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled' * '' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter' * '' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Edge' * '' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Default' * '' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification' * '' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Edge' * '' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification' * '' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification/Rst_Counter' * '' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification/Rst_Counter/rst_Delay1' * '' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification/Rst_Counter' * '' : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification/Rst_Counter/rst_Delay1' * '' : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward' * '' : 'MotorController_FOC/PMSM_Controller/controller/Motor_Limitations_Enabled' * '' : 'MotorController_FOC/PMSM_Controller/controller/SVM' * '' : 'MotorController_FOC/PMSM_Controller/controller/circle_limiter' * '' : 'MotorController_FOC/PMSM_Controller/controller/current_sample' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc' * '' : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Clarke' * '' : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Low_Pass_Filter' * '' : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Park' * '' : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Sine_Cosine_Approximation' * '' : 'MotorController_FOC/PMSM_Controller/controller/Motor_Limitations_Enabled/Saturation Dynamic' * '' : 'MotorController_FOC/PMSM_Controller/controller/SVM/Park_Transform_Inverse' * '' : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM' * '' : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen' * '' : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/sector_select' * '' : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector1' * '' : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector2' * '' : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector3' * '' : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector4' * '' : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector5' * '' : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector6' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/pid_schdule' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Get' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/FW_Calc' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/MPTA_Calc' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/iDC_Limiter' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/FW_Calc/FW_I_Ctrl' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/FW_Calc/FW_I_Ctrl/Intergrator_z' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/FW_Calc/FW_I_Ctrl/Saturation Dynamic' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/MPTA_Calc/MTPA_Calc' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/MPTA_Calc/MTPA_Cali' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/MPTA_Calc/MTPA_Cali/Sine_Cosine_Approximation' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/iDC_Limiter/Low_Pass_Filter' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/iDC_Limiter/Saturation Dynamic1' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/iDC_Limiter/Saturation Dynamic3' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Assign/iDC_Limiter/sqrtSum' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Get/speed_mode' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Get/torque_mode' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Get/speed_mode/PI_Speed' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Get/speed_mode/PI_Speed/Rst_Integrator' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Get/speed_mode/PI_Speed/Saturation Dynamic1' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Get/torque_mode/PI_TrqSpdLim' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Get/torque_mode/PI_TrqSpdLim/Rst_Integrator' * '' : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/Do_Calc/idq_Get/torque_mode/PI_TrqSpdLim/Saturation Dynamic' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/CurrentLoop' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/OpenLoop' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/idStep' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/iqStep' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/CurrentLoop/FeedForward' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/CurrentLoop/PI_backCalc_fixdt' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/CurrentLoop/PI_backCalc_fixdt1' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/CurrentLoop/PI_backCalc_fixdt/Rst_Integrator' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/CurrentLoop/PI_backCalc_fixdt/Saturation Dynamic1' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/CurrentLoop/PI_backCalc_fixdt1/Rst_Integrator' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/CurrentLoop/PI_backCalc_fixdt1/Saturation Dynamic1' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/idStep/Edge' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/idStep/Enabled Subsystem' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/idStep/Rate_Control' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/idStep/Rate_Control/RateInit' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/idStep/Rate_Control/Saturation Dynamic' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/idStep/Rate_Control/StepAdd' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/idStep/Rate_Control/StepAdd/delayUnit' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/iqStep/Edge' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/iqStep/Enabled Subsystem' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/iqStep/Rate_Control' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/iqStep/Rate_Control/RateInit' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/iqStep/Rate_Control/Saturation Dynamic' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/iqStep/Rate_Control/StepAdd' * '' : 'MotorController_FOC/PMSM_Controller/controller/vdq_Calc/iqStep/Rate_Control/StepAdd/delayUnit' */ #endif /* RTW_HEADER_PMSM_Controller_h_ */ /* * File trailer for generated code. * * [EOF] */