Explorar o código

1. 加入MTPA和弱磁控制
2. 调整架构
3. MPTA后期需要改为查表方式
4. 加入MTPA的校准,人工手动超前角给定,给定电流矢量,得到最大扭矩时候的Idq分配
5. 更新代码编译

Signed-off-by: huhui <huhui@sharkgulf.com>

huhui %!s(int64=4) %!d(string=hai) anos
pai
achega
a2e209ba97
Modificáronse 29 ficheiros con 1598 adicións e 1507 borrados
  1. 15 10
      Applications/foc/core/foc_core.c
  2. 3 0
      Applications/foc/core/foc_type.h
  3. 9 9
      Applications/foc/core/foc_wapper.c
  4. BIN=BIN
      Simulink/MotorController_FOC.slx
  5. BIN=BIN
      Simulink/MotorController_FOC.slxc
  6. BIN=BIN
      Simulink/MotorController_FOC_ert_rtw/build_exception.mat
  7. 363 307
      Simulink/PMSM_Controller_ert_rtw/PMSM_Controller.c
  8. 188 179
      Simulink/PMSM_Controller_ert_rtw/PMSM_Controller.h
  9. 13 31
      Simulink/PMSM_Controller_ert_rtw/PMSM_Controller_data.c
  10. BIN=BIN
      Simulink/PMSM_Controller_ert_rtw/buildInfo.mat
  11. BIN=BIN
      Simulink/PMSM_Controller_ert_rtw/codeInfo.mat
  12. BIN=BIN
      Simulink/PMSM_Controller_ert_rtw/codedescriptor.dmr
  13. BIN=BIN
      Simulink/PMSM_Controller_ert_rtw/compileInfo.mat
  14. 2 2
      Simulink/PMSM_Controller_ert_rtw/ert_main.c
  15. 348 348
      Simulink/PMSM_Controller_ert_rtw/html/PMSM_Controller_c.html
  16. 24 60
      Simulink/PMSM_Controller_ert_rtw/html/PMSM_Controller_data_c.html
  17. 374 356
      Simulink/PMSM_Controller_ert_rtw/html/PMSM_Controller_h.html
  18. 6 56
      Simulink/PMSM_Controller_ert_rtw/html/PMSM_Controller_interface.html
  19. 183 66
      Simulink/PMSM_Controller_ert_rtw/html/PMSM_Controller_reducedblocks.html
  20. 30 45
      Simulink/PMSM_Controller_ert_rtw/html/PMSM_Controller_subsystems.html
  21. 2 2
      Simulink/PMSM_Controller_ert_rtw/html/PMSM_Controller_survey.html
  22. 24 22
      Simulink/PMSM_Controller_ert_rtw/html/define.js
  23. 2 2
      Simulink/PMSM_Controller_ert_rtw/html/ert_main_c.html
  24. 2 2
      Simulink/PMSM_Controller_ert_rtw/html/rtwtypes_h.html
  25. 2 2
      Simulink/PMSM_Controller_ert_rtw/html/zero_crossing_types_h.html
  26. 2 2
      Simulink/PMSM_Controller_ert_rtw/rtwtypes.h
  27. BIN=BIN
      Simulink/PMSM_Controller_ert_rtw/rtwtypeschksum.mat
  28. 2 2
      Simulink/PMSM_Controller_ert_rtw/zero_crossing_types.h
  29. 4 4
      Simulink/init_model.m

+ 15 - 10
Applications/foc/core/foc_core.c

@@ -59,10 +59,10 @@ void PMSM_FOC_Start(u8 nCtrlMode) {
 	pmsm_foc.FOC_In->b_motEna = true;
 	pmsm_foc.FOC_In->n_ctrlModReq = nCtrlMode;
 	pmsm_foc.FOC_In->b_cruiseEna = 0;
-	pmsm_foc.FOC_In->b_hall_calibrate = 0;
+	pmsm_foc.FOC_In->foc_calibrate = 0;
 	pmsm_foc.FOC_In->input_target = 0;
-	pmsm_foc.FOC_In->vd_open_target = 0;
-	pmsm_foc.FOC_In->vq_open_target = 0;
+	pmsm_foc.FOC_In->vdq_open_target[0] = 0;
+	pmsm_foc.FOC_In->vdq_open_target[1] = 0;
 }
 
 void PMSM_FOC_Stop(void) {
@@ -90,8 +90,8 @@ void PMSM_FOC_SetCtrlMode(uint8_T mode) {
 }
 
 void PMSM_FOC_SetOpenVdq(int16_T vd, int16_T vq) {
-	pmsm_foc.FOC_In->vd_open_target = vd;
-	pmsm_foc.FOC_In->vq_open_target = vq;
+	pmsm_foc.FOC_In->vdq_open_target[0] = vd;
+	pmsm_foc.FOC_In->vdq_open_target[1] = vq;
 }
 
 bool PMSM_FOC_EnableCruise(boolean_T enable) {
@@ -127,17 +127,22 @@ bool PMSM_FOC_Set_CruiseSpeed(s16 rpm) {
 }
 
 void PMSM_FOC_HallCalibrate(boolean_T b_caliHall, int16_T open_vd) {
-	if (pmsm_foc.FOC_In->b_hall_calibrate == b_caliHall) {
+	uint16_T foc_cali = 0;
+	if (b_caliHall) {
+		foc_cali = FOC_CALIMOD_HALL;
+	}
+	if ((pmsm_foc.FOC_In->foc_calibrate & FOC_CALIMOD_HALL) == foc_cali) {
 		return;
 	}
 	if (pmsm_foc.FOC_In->b_motEna == b_caliHall) { //motor must be stoped when start cali
 		return;
 	}
+	pmsm_foc.FOC_In->foc_calibrate &= ~(FOC_CALIMOD_HALL);
 	pmsm_foc.FOC_In->b_motEna = b_caliHall;
-	pmsm_foc.FOC_In->b_hall_calibrate = b_caliHall;
-	pmsm_foc.FOC_In->vq_open_target = 0;
-	pmsm_foc.FOC_In->vd_open_target = open_vd;
-	pmsm_foc.FOC_In->n_ctrlModReq = 0;
+	pmsm_foc.FOC_In->foc_calibrate |= foc_cali;
+	pmsm_foc.FOC_In->vdq_open_target[0] = open_vd;
+	pmsm_foc.FOC_In->vdq_open_target[1] = 0;
+	pmsm_foc.FOC_In->n_ctrlModReq = OPEN_MODE;
 }
 
 s16 PMSM_FOC_GetSpeed(void) {

+ 3 - 0
Applications/foc/core/foc_type.h

@@ -87,6 +87,9 @@ typedef struct _foc {
 #define SPD_MODE                       ((uint8_T)1U)
 #define TRQ_MODE                       ((uint8_T)2U)
 
+#define FOC_CALIMOD_HALL               ((uint16_T) 1U)
+#define FOC_CALIMOD_MTPA               ((uint16_T) 2U)
+
 #define degree_2_pi(d) ((float)d * M_PI / 180.0f)
 #define pi_2_degree(d) ((float)d * 180.0f / M_PI)
 #define A_mA(a) ((a*1000))

+ 9 - 9
Applications/foc/core/foc_wapper.c

@@ -17,15 +17,15 @@ static ExtY rtY;                       /* External outputs */
 
 
 void PMSM_FOC_Init(void) {
-	RT_MODEL *const rtM = rtMPtr;
-  	/* Pack model data into RTM */
-  	rtM->dwork = &rtDW;
-  	rtM->prevZCSigState = &rtPrevZCX;
-  	rtM->inputs = &rtU;
-  	rtM->outputs = &rtY;
-
-  	/* Initialize model */
-  	PMSM_Controller_initialize(rtM);	
+	RT_MODEL *const rtM = rtMPtr;	
+	/* Pack model data into RTM */
+	rtM->dwork = &rtDW;
+	rtM->prevZCSigState = &rtPrevZCX;
+	rtM->inputs = &rtU;
+	rtM->outputs = &rtY;
+
+	/* Initialize model */
+	PMSM_Controller_initialize(rtM);
 }
 
 

BIN=BIN
Simulink/MotorController_FOC.slx


BIN=BIN
Simulink/MotorController_FOC.slxc


BIN=BIN
Simulink/MotorController_FOC_ert_rtw/build_exception.mat


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 363 - 307
Simulink/PMSM_Controller_ert_rtw/PMSM_Controller.c


+ 188 - 179
Simulink/PMSM_Controller_ert_rtw/PMSM_Controller.h

@@ -3,9 +3,9 @@
  *
  * Code generated for Simulink model 'PMSM_Controller'.
  *
- * Model version                  : 1.1245
+ * Model version                  : 1.1277
  * Simulink Coder version         : 9.4 (R2020b) 29-Jul-2020
- * C/C++ source code generated on : Thu Apr  7 15:23:34 2022
+ * C/C++ source code generated on : Wed Apr 13 16:49:14 2022
  *
  * Target selection: ert.tlc
  * Embedded hardware selection: ARM Compatible->ARM Cortex-M
@@ -37,147 +37,142 @@
 /* Forward declaration for rtModel */
 typedef struct tag_RTM RT_MODEL;
 
-/* Block signals and states (default storage) for system '<S41>/Counter' */
+/* Block signals and states (default storage) for system '<S37>/Counter' */
 typedef struct {
-  uint16_T UnitDelay_DSTATE;           /* '<S46>/UnitDelay' */
+  uint16_T UnitDelay_DSTATE;           /* '<S42>/UnitDelay' */
 } DW_Counter;
 
-/* Block signals and states (default storage) for system '<S37>/either_edge' */
+/* Block signals and states (default storage) for system '<S33>/either_edge' */
 typedef struct {
-  boolean_T UnitDelay_DSTATE;          /* '<S42>/UnitDelay' */
+  boolean_T UnitDelay_DSTATE;          /* '<S38>/UnitDelay' */
 } DW_either_edge;
 
-/* Block signals and states (default storage) for system '<S36>/Debounce_Filter' */
+/* Block signals and states (default storage) for system '<S32>/Debounce_Filter' */
 typedef struct {
-  DW_either_edge either_edge_j;        /* '<S37>/either_edge' */
-  DW_Counter Counter_d;                /* '<S40>/Counter' */
-  DW_Counter Counter_f;                /* '<S41>/Counter' */
-  boolean_T UnitDelay_DSTATE;          /* '<S37>/UnitDelay' */
+  DW_either_edge either_edge_j;        /* '<S33>/either_edge' */
+  DW_Counter Counter_d;                /* '<S36>/Counter' */
+  DW_Counter Counter_f;                /* '<S37>/Counter' */
+  boolean_T UnitDelay_DSTATE;          /* '<S33>/UnitDelay' */
 } DW_Debounce_Filter;
 
-/* Block signals and states (default storage) for system '<S47>/Low_Pass_Filter' */
+/* Block signals and states (default storage) for system '<S43>/Low_Pass_Filter' */
 typedef struct {
-  int16_T UnitDelay1_DSTATE[2];        /* '<S56>/UnitDelay1' */
+  int16_T UnitDelay1_DSTATE[2];        /* '<S53>/UnitDelay1' */
 } DW_Low_Pass_Filter;
 
-/* Block signals and states (default storage) for system '<S60>/PI_iq' */
+/* Block signals and states (default storage) for system '<S57>/PI_iq' */
 typedef struct {
-  int32_T UnitDelay_DSTATE;            /* '<S65>/UnitDelay' */
-  int32_T ResettableDelay_DSTATE;      /* '<S67>/Resettable Delay' */
-  uint8_T icLoad;                      /* '<S67>/Resettable Delay' */
+  int32_T UnitDelay_DSTATE;            /* '<S62>/UnitDelay' */
+  int32_T ResettableDelay_DSTATE;      /* '<S64>/Resettable Delay' */
+  uint8_T icLoad;                      /* '<S64>/Resettable Delay' */
 } DW_PI_backCalc_fixdt;
 
-/* Zero-crossing (trigger) state for system '<S60>/PI_iq' */
+/* Zero-crossing (trigger) state for system '<S57>/PI_iq' */
 typedef struct {
-  ZCSigState ResettableDelay_Reset_ZCE_p;/* '<S67>/Resettable Delay' */
+  ZCSigState ResettableDelay_Reset_ZCE_p;/* '<S64>/Resettable Delay' */
 } ZCE_PI_backCalc_fixdt;
 
-/* Block signals and states (default storage) for system '<S79>/pi_speed' */
+/* Block signals and states (default storage) for system '<S82>/pi_speed' */
 typedef struct {
-  int32_T UnitDelay_DSTATE;            /* '<S82>/UnitDelay' */
-  int32_T ResettableDelay_DSTATE;      /* '<S83>/Resettable Delay' */
-  uint8_T icLoad;                      /* '<S83>/Resettable Delay' */
+  int32_T UnitDelay_DSTATE;            /* '<S85>/UnitDelay' */
+  int32_T ResettableDelay_DSTATE;      /* '<S86>/Resettable Delay' */
+  uint8_T icLoad;                      /* '<S86>/Resettable Delay' */
 } DW_pi_speed;
 
-/* Zero-crossing (trigger) state for system '<S79>/pi_speed' */
+/* Zero-crossing (trigger) state for system '<S82>/pi_speed' */
 typedef struct {
-  ZCSigState ResettableDelay_Reset_ZCE;/* '<S83>/Resettable Delay' */
+  ZCSigState ResettableDelay_Reset_ZCE_a;/* '<S86>/Resettable Delay' */
 } ZCE_pi_speed;
 
 /* Block signals and states (default storage) for system '<Root>' */
 typedef struct {
-  DW_pi_speed pi_speed_g;              /* '<S79>/pi_speed' */
-  DW_PI_backCalc_fixdt PI_id;          /* '<S59>/PI_id' */
-  DW_PI_backCalc_fixdt PI_iq;          /* '<S60>/PI_iq' */
-  DW_Low_Pass_Filter Low_Pass_Filter_d;/* '<S47>/Low_Pass_Filter' */
-  DW_either_edge either_edge_f;        /* '<S36>/either_edge' */
-  DW_Debounce_Filter Debounce_Filter_i;/* '<S36>/Debounce_Filter' */
+  DW_pi_speed pi_speed_d;              /* '<S82>/pi_speed' */
+  DW_PI_backCalc_fixdt PI_id;          /* '<S56>/PI_id' */
+  DW_PI_backCalc_fixdt PI_iq;          /* '<S57>/PI_iq' */
+  DW_Low_Pass_Filter Low_Pass_Filter_d;/* '<S43>/Low_Pass_Filter' */
+  DW_either_edge either_edge_f;        /* '<S32>/either_edge' */
+  DW_Debounce_Filter Debounce_Filter_i;/* '<S32>/Debounce_Filter' */
+  int32_T UnitDelay_DSTATE;            /* '<S78>/Unit Delay' */
+  int32_T ResettableDelay_DSTATE;      /* '<S81>/Resettable Delay' */
   uint32_T z_counterRawPrev;           /* '<S17>/z_counterRawPrev' */
   uint32_T UnitDelay1_DSTATE;          /* '<S7>/UnitDelay1' */
   uint32_T UnitDelay3_DSTATE;          /* '<S12>/UnitDelay3' */
   uint32_T UnitDelay2_DSTATE;          /* '<S17>/UnitDelay2' */
   uint32_T UnitDelay3_DSTATE_l;        /* '<S17>/UnitDelay3' */
   uint32_T UnitDelay5_DSTATE;          /* '<S17>/UnitDelay5' */
-  int16_T Merge[2];                    /* '<S25>/Merge' */
-  int16_T Divide;                      /* '<S34>/Divide' */
-  int16_T Merge_b;                     /* '<S52>/Merge' */
-  int16_T Switch2;                     /* '<S64>/Switch2' */
-  int16_T Switch2_d;                   /* '<S68>/Switch2' */
-  int16_T Divide1;                     /* '<S31>/Divide1' */
-  int16_T Switch;                      /* '<S34>/Switch' */
-  int16_T Switch1;                     /* '<S34>/Switch1' */
-  int16_T Divide3;                     /* '<S26>/Divide3' */
+  int16_T Merge[2];                    /* '<S24>/Merge' */
+  int16_T Divide;                      /* '<S30>/Divide' */
+  int16_T Merge_f;                     /* '<S80>/Merge' */
+  int16_T Switch2;                     /* '<S61>/Switch2' */
+  int16_T Switch2_d;                   /* '<S65>/Switch2' */
+  int16_T Divide1;                     /* '<S27>/Divide1' */
+  int16_T Switch;                      /* '<S30>/Switch' */
+  int16_T Switch1;                     /* '<S30>/Switch1' */
   int16_T Divide11;                    /* '<S17>/Divide11' */
   int16_T UnitDelay2_DSTATE_p;         /* '<S6>/UnitDelay2' */
   int16_T UnitDelay1_DSTATE_f;         /* '<S6>/UnitDelay1' */
-  int16_T UnitDelay_DSTATE;            /* '<S30>/Unit Delay' */
-  int16_T UnitDelay_DSTATE_d;          /* '<S35>/UnitDelay' */
-  int16_T UnitDelay4_DSTATE;           /* '<S12>/UnitDelay4' */
+  int16_T UnitDelay_DSTATE_i;          /* '<S26>/Unit Delay' */
+  int16_T UnitDelay_DSTATE_d;          /* '<S31>/UnitDelay' */
+  int16_T UnitDelay_DSTATE_e;          /* '<S50>/Unit Delay' */
+  int16_T UnitDelay_DSTATE_c;          /* '<S77>/Unit Delay' */
   uint16_T UnitDelay2_DSTATE_f;        /* '<S18>/UnitDelay2' */
   uint16_T UnitDelay3_DSTATE_lh;       /* '<S18>/UnitDelay3' */
   uint16_T UnitDelay5_DSTATE_f;        /* '<S18>/UnitDelay5' */
+  uint16_T UnitDelay4_DSTATE;          /* '<S12>/UnitDelay4' */
   int8_T Switch2_i;                    /* '<S8>/Switch2' */
   int8_T UnitDelay2_DSTATE_j;          /* '<S8>/UnitDelay2' */
   uint8_T Delay_DSTATE;                /* '<S9>/Delay' */
   uint8_T Delay1_DSTATE;               /* '<S9>/Delay1' */
   uint8_T Delay2_DSTATE;               /* '<S9>/Delay2' */
-  uint8_T UnitDelay_DSTATE_j;          /* '<S36>/UnitDelay' */
-  uint8_T UnitDelay_DSTATE_b;          /* '<S49>/Unit Delay' */
+  uint8_T UnitDelay_DSTATE_j;          /* '<S32>/UnitDelay' */
+  uint8_T UnitDelay_DSTATE_b;          /* '<S45>/Unit Delay' */
+  uint8_T icLoad;                      /* '<S81>/Resettable Delay' */
   uint8_T is_active_c5_PMSM_Controller;/* '<S4>/Control_Mode_Manager' */
   uint8_T is_c5_PMSM_Controller;       /* '<S4>/Control_Mode_Manager' */
   uint8_T is_ACTIVE;                   /* '<S4>/Control_Mode_Manager' */
   boolean_T Compare;                   /* '<S20>/Compare' */
   boolean_T UnitDelay1_DSTATE_i;       /* '<S17>/UnitDelay1' */
-  boolean_T n_SpeedCtrl_Mode;          /* '<S23>/n_SpeedCtrl' */
+  boolean_T n_SpeedCtrl_Mode;          /* '<S22>/n_SpeedCtrl' */
   boolean_T n_commDeacv_Mode;          /* '<S18>/n_commDeacv' */
 } DW;
 
 /* Zero-crossing (trigger) state */
 typedef struct {
-  ZCE_pi_speed pi_speed_g;             /* '<S79>/pi_speed' */
-  ZCE_PI_backCalc_fixdt PI_id;         /* '<S59>/PI_id' */
-  ZCE_PI_backCalc_fixdt PI_iq;         /* '<S60>/PI_iq' */
+  ZCSigState ResettableDelay_Reset_ZCE;/* '<S81>/Resettable Delay' */
+  ZCE_pi_speed pi_speed_d;             /* '<S82>/pi_speed' */
+  ZCE_PI_backCalc_fixdt PI_id;         /* '<S56>/PI_id' */
+  ZCE_PI_backCalc_fixdt PI_iq;         /* '<S57>/PI_iq' */
 } PrevZCX;
 
-/* Invariant block signals for system '<S60>/PI_iq' */
+/* Invariant block signals for system '<S57>/PI_iq' */
 typedef struct {
-  const int32_T DataTypeConversion2;   /* '<S67>/Data Type Conversion2' */
+  const int32_T DataTypeConversion2;   /* '<S64>/Data Type Conversion2' */
 } ConstB_PI_backCalc_fixdt;
 
-/* Invariant block signals for system '<S79>/pi_speed' */
+/* Invariant block signals for system '<S82>/pi_speed' */
 typedef struct {
-  const int32_T DataTypeConversion2;   /* '<S83>/Data Type Conversion2' */
+  const int32_T DataTypeConversion2;   /* '<S86>/Data Type Conversion2' */
 } ConstB_pi_speed;
 
 /* Invariant block signals (default storage) */
 typedef struct {
-  ConstB_pi_speed pi_speed_g;          /* '<S79>/pi_speed' */
-  ConstB_PI_backCalc_fixdt PI_id;      /* '<S59>/PI_id' */
-  ConstB_PI_backCalc_fixdt PI_iq;      /* '<S60>/PI_iq' */
+  ConstB_pi_speed pi_speed_d;          /* '<S82>/pi_speed' */
+  ConstB_PI_backCalc_fixdt PI_id;      /* '<S56>/PI_id' */
+  ConstB_PI_backCalc_fixdt PI_iq;      /* '<S57>/PI_iq' */
 } ConstB;
 
 /* Constant parameters (default storage) */
 typedef struct {
   /* Computed Parameter: r_cos_M1_Table
-   * Referenced by: '<S58>/r_cos_M1'
+   * Referenced by: '<S55>/r_cos_M1'
    */
   int16_T r_cos_M1_Table[1441];
 
   /* Computed Parameter: r_sin_M1_Table
-   * Referenced by: '<S58>/r_sin_M1'
+   * Referenced by: '<S55>/r_sin_M1'
    */
   int16_T r_sin_M1_Table[1441];
 
-  /* Computed Parameter: Vq_max_M1_Table
-   * Referenced by: '<S48>/Vq_max_M1'
-   */
-  int16_T Vq_max_M1_Table[46];
-
-  /* Computed Parameter: iq_maxSca_M1_Table
-   * Referenced by: '<S48>/iq_maxSca_M1'
-   */
-  uint16_T iq_maxSca_M1_Table[50];
-
   /* Computed Parameter: vec_hallToPos_Value
    * Referenced by: '<S11>/vec_hallToPos'
    */
@@ -188,8 +183,6 @@ typedef struct {
 typedef struct {
   int16_T adc_a;                       /* '<Root>/adc_a' */
   int16_T adc_b;                       /* '<Root>/adc_b' */
-  int16_T open_theta;                  /* '<Root>/open_theta' */
-  int16_T rotor_speed;                 /* '<Root>/rotor_speed' */
   int16_T input_target;                /* '<Root>/input_target' */
   uint8_T hall_a;                      /* '<Root>/hall_a' */
   uint8_T hall_b;                      /* '<Root>/hall_b' */
@@ -201,9 +194,9 @@ typedef struct {
   int16_T i_dc_limit;                  /* '<Root>/i_dc_limit' */
   int16_T speed_limit;                 /* '<Root>/speed_limit' */
   int16_T vbus_voltage;                /* '<Root>/vbus_voltage' */
-  boolean_T b_hall_calibrate;          /* '<Root>/b_hall_calibrate' */
-  int16_T vd_open_target;              /* '<Root>/vd_open_target' */
-  int16_T vq_open_target;              /* '<Root>/vq_open_target' */
+  uint16_T foc_calibrate;              /* '<Root>/foc_calibrate' */
+  int16_T vdq_open_target[2];          /* '<Root>/vdq_open_target' */
+  int16_T open_theta;                  /* '<Root>/open_theta' */
 } ExtU;
 
 /* External outputs (root outports fed by signals with default storage) */
@@ -253,6 +246,7 @@ extern void PMSM_Controller_step(RT_MODEL *const rtM);
  * Block '<S17>/Add' : Unused code path elimination
  * Block '<S19>/Compare' : Unused code path elimination
  * Block '<S19>/Constant' : Unused code path elimination
+ * Block '<S17>/Scope1' : Unused code path elimination
  * Block '<S17>/Sum7' : Unused code path elimination
  * Block '<S17>/UnitDelay4' : Unused code path elimination
  * Block '<S17>/UnitDelay6' : Unused code path elimination
@@ -261,59 +255,71 @@ extern void PMSM_Controller_step(RT_MODEL *const rtM);
  * Block '<S17>/dz_cntTrnsDet' : Unused code path elimination
  * Block '<S12>/Scope1' : Unused code path elimination
  * Block '<S12>/Scope2' : Unused code path elimination
- * Block '<S27>/Data Type Duplicate' : Unused code path elimination
- * Block '<S27>/Data Type Propagation' : Unused code path elimination
- * Block '<S28>/Data Type Duplicate' : Unused code path elimination
- * Block '<S28>/Data Type Propagation' : Unused code path elimination
  * Block '<S4>/Scope' : Unused code path elimination
- * Block '<S25>/Scope' : Unused code path elimination
- * Block '<S33>/Data Type Duplicate' : Unused code path elimination
- * Block '<S33>/Data Type Propagation' : Unused code path elimination
- * Block '<S32>/Scope' : Unused code path elimination
- * Block '<S32>/Scope1' : Unused code path elimination
- * Block '<S30>/Scope' : Unused code path elimination
- * Block '<S31>/Scope' : Unused code path elimination
- * Block '<S1>/Scope1' : Unused code path elimination
+ * Block '<S24>/Scope' : Unused code path elimination
+ * Block '<S29>/Data Type Duplicate' : Unused code path elimination
+ * Block '<S29>/Data Type Propagation' : Unused code path elimination
+ * Block '<S28>/Scope' : Unused code path elimination
+ * Block '<S28>/Scope1' : Unused code path elimination
+ * Block '<S26>/Scope' : Unused code path elimination
  * Block '<S1>/Scope2' : Unused code path elimination
+ * Block '<S52>/Scope' : Unused code path elimination
+ * Block '<S43>/Scope' : Unused code path elimination
+ * Block '<S43>/Scope1' : Unused code path elimination
  * Block '<S55>/Scope' : Unused code path elimination
- * Block '<S47>/Scope' : Unused code path elimination
- * Block '<S47>/Scope1' : Unused code path elimination
- * Block '<S58>/Scope' : Unused code path elimination
- * Block '<S48>/Scope' : Unused code path elimination
- * Block '<S49>/Scope1' : Unused code path elimination
- * Block '<S64>/Data Type Duplicate' : Unused code path elimination
- * Block '<S64>/Data Type Propagation' : Unused code path elimination
- * Block '<S62>/Data Type Duplicate' : Unused code path elimination
- * Block '<S62>/Data Type Propagation' : Unused code path elimination
- * Block '<S68>/Data Type Duplicate' : Unused code path elimination
- * Block '<S68>/Data Type Propagation' : Unused code path elimination
- * Block '<S66>/Data Type Duplicate' : Unused code path elimination
- * Block '<S66>/Data Type Propagation' : Unused code path elimination
- * Block '<S60>/Scope' : Unused code path elimination
- * Block '<S50>/Scope' : Unused code path elimination
- * Block '<S70>/Data Type Duplicate' : Unused code path elimination
- * Block '<S70>/Data Type Propagation' : Unused code path elimination
- * Block '<S69>/Scope' : Unused code path elimination
+ * Block '<S45>/Scope' : Unused code path elimination
+ * Block '<S61>/Data Type Duplicate' : Unused code path elimination
+ * Block '<S61>/Data Type Propagation' : Unused code path elimination
+ * Block '<S59>/Data Type Duplicate' : Unused code path elimination
+ * Block '<S59>/Data Type Propagation' : Unused code path elimination
+ * Block '<S65>/Data Type Duplicate' : Unused code path elimination
+ * Block '<S65>/Data Type Propagation' : Unused code path elimination
+ * Block '<S63>/Data Type Duplicate' : Unused code path elimination
+ * Block '<S63>/Data Type Propagation' : Unused code path elimination
+ * Block '<S57>/Scope' : Unused code path elimination
+ * Block '<S46>/Scope' : Unused code path elimination
+ * Block '<S67>/Data Type Duplicate' : Unused code path elimination
+ * Block '<S67>/Data Type Propagation' : Unused code path elimination
+ * Block '<S66>/Scope' : Unused code path elimination
+ * Block '<S75>/Scope' : Unused code path elimination
  * Block '<S6>/Scope12' : Unused code path elimination
- * Block '<S81>/Data Type Duplicate' : Unused code path elimination
- * Block '<S81>/Data Type Propagation' : Unused code path elimination
- * Block '<S79>/Scope' : Unused code path elimination
- * Block '<S79>/Scope2' : Unused code path elimination
+ * Block '<S77>/Data Type Duplicate' : Unused code path elimination
+ * Block '<S78>/Scope' : Unused code path elimination
+ * Block '<S78>/Scope1' : Unused code path elimination
  * Block '<S84>/Data Type Duplicate' : Unused code path elimination
  * Block '<S84>/Data Type Propagation' : Unused code path elimination
- * Block '<S85>/Data Type Duplicate' : Unused code path elimination
- * Block '<S85>/Data Type Propagation' : Unused code path elimination
- * Block '<S80>/Scope' : Unused code path elimination
+ * Block '<S82>/Scope' : Unused code path elimination
+ * Block '<S82>/Scope2' : Unused code path elimination
+ * Block '<S87>/Data Type Duplicate' : Unused code path elimination
+ * Block '<S87>/Data Type Propagation' : Unused code path elimination
+ * Block '<S88>/Data Type Duplicate' : Unused code path elimination
+ * Block '<S88>/Data Type Propagation' : Unused code path elimination
+ * Block '<S83>/Scope' : Unused code path elimination
  * Block '<S10>/Manual Switch' : Eliminated due to constant selection input
- * Block '<S3>/hall_motor_speed_choice' : Eliminated due to constant selection input
- * Block '<S25>/Data Type Conversion' : Eliminate redundant data type conversion
+ * Block '<S24>/Data Type Conversion' : Eliminate redundant data type conversion
  * Block '<S6>/Data Type Conversion' : Eliminate redundant data type conversion
- * Block '<S48>/Data Type Conversion' : Eliminate redundant data type conversion
- * Block '<S79>/Manual Switch' : Eliminated due to constant selection input
+ * Block '<S81>/Data Type Conversion1' : Eliminate redundant data type conversion
+ * Block '<S79>/Data Type Conversion' : Eliminate redundant data type conversion
+ * Block '<S82>/Manual Switch' : Eliminated due to constant selection input
  * Block '<S10>/Constant' : Unused code path elimination
  * Block '<S17>/Divide14' : Unused code path elimination
  * Block '<S17>/smooth' : Unused code path elimination
- * Block '<S79>/Constant' : Unused code path elimination
+ * Block '<S78>/Constant1' : Unused code path elimination
+ * Block '<S79>/Add' : Unused code path elimination
+ * Block '<S79>/Add1' : Unused code path elimination
+ * Block '<S79>/Add2' : Unused code path elimination
+ * Block '<S79>/Constant1' : Unused code path elimination
+ * Block '<S79>/Constant2' : Unused code path elimination
+ * Block '<S79>/Data Type Conversion1' : Unused code path elimination
+ * Block '<S79>/Data Type Conversion2' : Unused code path elimination
+ * Block '<S79>/Gain' : Unused code path elimination
+ * Block '<S79>/Gain1' : Unused code path elimination
+ * Block '<S79>/Math Function' : Unused code path elimination
+ * Block '<S79>/Math Function1' : Unused code path elimination
+ * Block '<S79>/Math Function2' : Unused code path elimination
+ * Block '<S79>/Sqrt' : Unused code path elimination
+ * Block '<S79>/Sqrt1' : Unused code path elimination
+ * Block '<S82>/Constant' : Unused code path elimination
  */
 
 /*-
@@ -355,70 +361,73 @@ extern void PMSM_Controller_step(RT_MODEL *const rtM);
  * '<S19>'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/Raw_Motor_Speed_Estimation/Compare To Constant'
  * '<S20>'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/Subsystem/Compare To Constant'
  * '<S21>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Control_Mode_Manager'
- * '<S22>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Field_Weakening_Enabled'
- * '<S23>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Mode_Transition_Calculation'
- * '<S24>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Subsystem'
- * '<S25>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale'
- * '<S26>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Field_Weakening_Enabled/Field_Weakening'
- * '<S27>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Field_Weakening_Enabled/Field_Weakening/Saturation Dynamic'
- * '<S28>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Field_Weakening_Enabled/Field_Weakening/Saturation Dynamic1'
- * '<S29>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/If Action Subsystem'
- * '<S30>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode'
- * '<S31>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/torque_mode'
- * '<S32>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control'
- * '<S33>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/Saturation Dynamic'
- * '<S34>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/Subsystem'
- * '<S35>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/delayUnit'
- * '<S36>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled'
- * '<S37>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter'
- * '<S38>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/either_edge'
- * '<S39>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Default'
- * '<S40>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification'
- * '<S41>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification'
- * '<S42>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/either_edge'
- * '<S43>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification/Counter'
- * '<S44>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification/Counter/rst_Delay'
- * '<S45>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification/Counter'
- * '<S46>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification/Counter/rst_Delay'
- * '<S47>'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward'
- * '<S48>'  : 'MotorController_FOC/PMSM_Controller/controller/Motor_Limitations_Enabled'
- * '<S49>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller'
- * '<S50>'  : 'MotorController_FOC/PMSM_Controller/controller/Park_Transform_Inverse'
- * '<S51>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM'
- * '<S52>'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller'
- * '<S53>'  : 'MotorController_FOC/PMSM_Controller/controller/current_sample'
- * '<S54>'  : 'MotorController_FOC/PMSM_Controller/controller/pid_schdule'
- * '<S55>'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Clarke'
- * '<S56>'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Low_Pass_Filter'
- * '<S57>'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Park'
- * '<S58>'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Sine_Cosine_Approximation'
- * '<S59>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/id_ctrl'
- * '<S60>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/iq_ctrl'
- * '<S61>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/id_ctrl/PI_id'
- * '<S62>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/id_ctrl/Saturation Dynamic1'
- * '<S63>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/id_ctrl/PI_id/Integrator1'
- * '<S64>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/id_ctrl/PI_id/Saturation Dynamic1'
- * '<S65>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/iq_ctrl/PI_iq'
- * '<S66>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/iq_ctrl/Saturation Dynamic2'
- * '<S67>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/iq_ctrl/PI_iq/Integrator1'
- * '<S68>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/iq_ctrl/PI_iq/Saturation Dynamic1'
- * '<S69>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM'
- * '<S70>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Saturation Dynamic1'
- * '<S71>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem'
- * '<S72>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/sector_select'
- * '<S73>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem/sector1'
- * '<S74>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem/sector2'
- * '<S75>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem/sector3'
- * '<S76>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem/sector4'
- * '<S77>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem/sector5'
- * '<S78>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem/sector6'
- * '<S79>'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/speed_mode'
- * '<S80>'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/torque_mode'
- * '<S81>'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/speed_mode/Saturation Dynamic3'
- * '<S82>'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/speed_mode/pi_speed'
- * '<S83>'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/speed_mode/pi_speed/Integrator'
- * '<S84>'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/speed_mode/pi_speed/Saturation Dynamic1'
- * '<S85>'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/torque_mode/Saturation Dynamic'
+ * '<S22>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Mode_Transition_Calculation'
+ * '<S23>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Subsystem'
+ * '<S24>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale'
+ * '<S25>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/If Action Subsystem'
+ * '<S26>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode'
+ * '<S27>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/torque_mode'
+ * '<S28>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control'
+ * '<S29>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/Saturation Dynamic'
+ * '<S30>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/Subsystem'
+ * '<S31>'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/delayUnit'
+ * '<S32>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled'
+ * '<S33>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter'
+ * '<S34>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/either_edge'
+ * '<S35>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Default'
+ * '<S36>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification'
+ * '<S37>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification'
+ * '<S38>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/either_edge'
+ * '<S39>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification/Counter'
+ * '<S40>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification/Counter/rst_Delay'
+ * '<S41>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification/Counter'
+ * '<S42>'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification/Counter/rst_Delay'
+ * '<S43>'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward'
+ * '<S44>'  : 'MotorController_FOC/PMSM_Controller/controller/Motor_Limitations_Enabled'
+ * '<S45>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ'
+ * '<S46>'  : 'MotorController_FOC/PMSM_Controller/controller/Park_Transform_Inverse'
+ * '<S47>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM'
+ * '<S48>'  : 'MotorController_FOC/PMSM_Controller/controller/circle_limition'
+ * '<S49>'  : 'MotorController_FOC/PMSM_Controller/controller/current_sample'
+ * '<S50>'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc'
+ * '<S51>'  : 'MotorController_FOC/PMSM_Controller/controller/pid_schdule'
+ * '<S52>'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Clarke'
+ * '<S53>'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Low_Pass_Filter'
+ * '<S54>'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Park'
+ * '<S55>'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Sine_Cosine_Approximation'
+ * '<S56>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ/id_ctrl'
+ * '<S57>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ/iq_ctrl'
+ * '<S58>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ/id_ctrl/PI_id'
+ * '<S59>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ/id_ctrl/Saturation Dynamic1'
+ * '<S60>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ/id_ctrl/PI_id/Integrator1'
+ * '<S61>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ/id_ctrl/PI_id/Saturation Dynamic1'
+ * '<S62>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ/iq_ctrl/PI_iq'
+ * '<S63>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ/iq_ctrl/Saturation Dynamic2'
+ * '<S64>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ/iq_ctrl/PI_iq/Integrator1'
+ * '<S65>'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ/iq_ctrl/PI_iq/Saturation Dynamic1'
+ * '<S66>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM'
+ * '<S67>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Saturation Dynamic1'
+ * '<S68>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen'
+ * '<S69>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/sector_select'
+ * '<S70>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector1'
+ * '<S71>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector2'
+ * '<S72>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector3'
+ * '<S73>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector4'
+ * '<S74>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector5'
+ * '<S75>'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector6'
+ * '<S76>'  : 'MotorController_FOC/PMSM_Controller/controller/circle_limition/Compare To Constant'
+ * '<S77>'  : 'MotorController_FOC/PMSM_Controller/controller/circle_limition/IIR Filter'
+ * '<S78>'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/FW_Calc'
+ * '<S79>'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/MPTA_Calc'
+ * '<S80>'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/idq_Get'
+ * '<S81>'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/FW_Calc/Intergrator_z'
+ * '<S82>'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/idq_Get/speed_mode'
+ * '<S83>'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/idq_Get/torque_mode'
+ * '<S84>'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/idq_Get/speed_mode/Saturation Dynamic3'
+ * '<S85>'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/idq_Get/speed_mode/pi_speed'
+ * '<S86>'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/idq_Get/speed_mode/pi_speed/Integrator'
+ * '<S87>'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/idq_Get/speed_mode/pi_speed/Saturation Dynamic1'
+ * '<S88>'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/idq_Get/torque_mode/Saturation Dynamic'
  */
 #endif                                 /* RTW_HEADER_PMSM_Controller_h_ */
 

+ 13 - 31
Simulink/PMSM_Controller_ert_rtw/PMSM_Controller_data.c

@@ -3,9 +3,9 @@
  *
  * Code generated for Simulink model 'PMSM_Controller'.
  *
- * Model version                  : 1.1245
+ * Model version                  : 1.1277
  * Simulink Coder version         : 9.4 (R2020b) 29-Jul-2020
- * C/C++ source code generated on : Thu Apr  7 15:23:34 2022
+ * C/C++ source code generated on : Wed Apr 13 16:49:14 2022
  *
  * Target selection: ert.tlc
  * Embedded hardware selection: ARM Compatible->ARM Cortex-M
@@ -19,33 +19,33 @@
 
 /* Invariant block signals (default storage) */
 const ConstB rtConstB = {
-  /* Start of '<S79>/pi_speed' */
+  /* Start of '<S82>/pi_speed' */
   {
-    0                                  /* '<S83>/Data Type Conversion2' */
+    0                                  /* '<S86>/Data Type Conversion2' */
   }
   ,
 
-  /* End of '<S79>/pi_speed' */
+  /* End of '<S82>/pi_speed' */
 
-  /* Start of '<S59>/PI_id' */
+  /* Start of '<S56>/PI_id' */
   {
-    0                                  /* '<S63>/Data Type Conversion2' */
+    0                                  /* '<S60>/Data Type Conversion2' */
   }
   ,
 
-  /* End of '<S59>/PI_id' */
+  /* End of '<S56>/PI_id' */
 
-  /* Start of '<S60>/PI_iq' */
+  /* Start of '<S57>/PI_iq' */
   {
-    0                                  /* '<S67>/Data Type Conversion2' */
+    0                                  /* '<S64>/Data Type Conversion2' */
   }
-  /* End of '<S60>/PI_iq' */
+  /* End of '<S57>/PI_iq' */
 };
 
 /* Constant parameters (default storage) */
 const ConstP rtConstP = {
   /* Computed Parameter: r_cos_M1_Table
-   * Referenced by: '<S58>/r_cos_M1'
+   * Referenced by: '<S55>/r_cos_M1'
    */
   { 16384, 16384, 16383, 16383, 16382, 16380, 16378, 16376, 16374, 16371, 16368,
     16365, 16362, 16358, 16353, 16349, 16344, 16339, 16333, 16328, 16322, 16315,
@@ -184,7 +184,7 @@ const ConstP rtConstP = {
     16378, 16380, 16382, 16383, 16383, 16384, 16384 },
 
   /* Computed Parameter: r_sin_M1_Table
-   * Referenced by: '<S58>/r_sin_M1'
+   * Referenced by: '<S55>/r_sin_M1'
    */
   { 0, 71, 143, 214, 286, 357, 429, 500, 572, 643, 715, 786, 857, 929, 1000,
     1072, 1143, 1214, 1285, 1357, 1428, 1499, 1570, 1641, 1713, 1784, 1855, 1926,
@@ -322,24 +322,6 @@ const ConstP rtConstP = {
     -1285, -1214, -1143, -1072, -1000, -929, -857, -786, -715, -643, -572, -500,
     -429, -357, -286, -214, -143, -71, 0 },
 
-  /* Computed Parameter: Vq_max_M1_Table
-   * Referenced by: '<S48>/Vq_max_M1'
-   */
-  { 2918, 2918, 2916, 2912, 2907, 2901, 2893, 2884, 2873, 2861, 2847, 2832, 2816,
-    2797, 2777, 2756, 2733, 2708, 2681, 2653, 2623, 2591, 2556, 2520, 2481, 2441,
-    2398, 2352, 2303, 2252, 2198, 2140, 2079, 2014, 1945, 1871, 1791, 1706, 1613,
-    1512, 1401, 1277, 1137, 971, 766, 472 },
-
-  /* Computed Parameter: iq_maxSca_M1_Table
-   * Referenced by: '<S48>/iq_maxSca_M1'
-   */
-  { 65535U, 65523U, 65484U, 65418U, 65326U, 65207U, 65062U, 64890U, 64691U,
-    64465U, 64211U, 63930U, 63620U, 63281U, 62913U, 62516U, 62088U, 61630U,
-    61140U, 60618U, 60062U, 59473U, 58848U, 58187U, 57489U, 56752U, 55974U,
-    55155U, 54291U, 53381U, 52422U, 51413U, 50349U, 49227U, 48043U, 46792U,
-    45470U, 44069U, 42581U, 40997U, 39307U, 37494U, 35541U, 33422U, 31105U,
-    28540U, 25655U, 22323U, 18304U, 12974U },
-
   /* Computed Parameter: vec_hallToPos_Value
    * Referenced by: '<S11>/vec_hallToPos'
    */

BIN=BIN
Simulink/PMSM_Controller_ert_rtw/buildInfo.mat


BIN=BIN
Simulink/PMSM_Controller_ert_rtw/codeInfo.mat


BIN=BIN
Simulink/PMSM_Controller_ert_rtw/codedescriptor.dmr


BIN=BIN
Simulink/PMSM_Controller_ert_rtw/compileInfo.mat


+ 2 - 2
Simulink/PMSM_Controller_ert_rtw/ert_main.c

@@ -3,9 +3,9 @@
  *
  * Code generated for Simulink model 'PMSM_Controller'.
  *
- * Model version                  : 1.1245
+ * Model version                  : 1.1277
  * Simulink Coder version         : 9.4 (R2020b) 29-Jul-2020
- * C/C++ source code generated on : Thu Apr  7 15:23:34 2022
+ * C/C++ source code generated on : Wed Apr 13 16:49:14 2022
  *
  * Target selection: ert.tlc
  * Embedded hardware selection: ARM Compatible->ARM Cortex-M

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 348 - 348
Simulink/PMSM_Controller_ert_rtw/html/PMSM_Controller_c.html


+ 24 - 60
Simulink/PMSM_Controller_ert_rtw/html/PMSM_Controller_data_c.html

@@ -21,11 +21,11 @@
 <tr name="5" id="5">
 <td><a id="l5" class='ln'>5</a></td><td><span class="ct"> *</span></td></tr>
 <tr name="6" id="6">
-<td><a id="l6" class='ln'>6</a></td><td><span class="ct"> * Model version                  : 1.1245</span></td></tr>
+<td><a id="l6" class='ln'>6</a></td><td><span class="ct"> * Model version                  : 1.1277</span></td></tr>
 <tr name="7" id="7">
 <td><a id="l7" class='ln'>7</a></td><td><span class="ct"> * Simulink Coder version         : 9.4 (R2020b) 29-Jul-2020</span></td></tr>
 <tr name="8" id="8">
-<td><a id="l8" class='ln'>8</a></td><td><span class="ct"> * C/C++ source code generated on : Thu Apr  7 15:23:34 2022</span></td></tr>
+<td><a id="l8" class='ln'>8</a></td><td><span class="ct"> * C/C++ source code generated on : Wed Apr 13 16:49:14 2022</span></td></tr>
 <tr name="9" id="9">
 <td><a id="l9" class='ln'>9</a></td><td><span class="ct"> *</span></td></tr>
 <tr name="10" id="10">
@@ -53,11 +53,11 @@
 <tr name="21" id="21">
 <td><a id="l21" class='ln'>21</a></td><td><span class="kw">const</span> <a id="21c7" class="tk">ConstB</a> <a id="21c14" class="tk">rtConstB</a> = <span class="br">{</span></td></tr>
 <tr name="22" id="22">
-<td><a id="l22" class='ln'>22</a></td><td>  <span class="ct">/* Start of '&lt;S79&gt;/pi_speed' */</span></td></tr>
+<td><a id="l22" class='ln'>22</a></td><td>  <span class="ct">/* Start of '&lt;S82&gt;/pi_speed' */</span></td></tr>
 <tr name="23" id="23">
 <td><a id="l23" class='ln'>23</a></td><td>  <span class="br">{</span></td></tr>
 <tr name="24" id="24">
-<td><a id="l24" class='ln'>24</a></td><td>    0                                  <span class="ct">/* '&lt;S83&gt;/Data Type Conversion2' */</span></td></tr>
+<td><a id="l24" class='ln'>24</a></td><td>    0                                  <span class="ct">/* '&lt;S86&gt;/Data Type Conversion2' */</span></td></tr>
 <tr name="25" id="25">
 <td><a id="l25" class='ln'>25</a></td><td>  <span class="br">}</span></td></tr>
 <tr name="26" id="26">
@@ -65,15 +65,15 @@
 <tr name="27" id="27">
 <td><a id="l27" class='ln'>27</a></td><td></td></tr>
 <tr name="28" id="28">
-<td><a id="l28" class='ln'>28</a></td><td>  <span class="ct">/* End of '&lt;S79&gt;/pi_speed' */</span></td></tr>
+<td><a id="l28" class='ln'>28</a></td><td>  <span class="ct">/* End of '&lt;S82&gt;/pi_speed' */</span></td></tr>
 <tr name="29" id="29">
 <td><a id="l29" class='ln'>29</a></td><td></td></tr>
 <tr name="30" id="30">
-<td><a id="l30" class='ln'>30</a></td><td>  <span class="ct">/* Start of '&lt;S59&gt;/PI_id' */</span></td></tr>
+<td><a id="l30" class='ln'>30</a></td><td>  <span class="ct">/* Start of '&lt;S56&gt;/PI_id' */</span></td></tr>
 <tr name="31" id="31">
 <td><a id="l31" class='ln'>31</a></td><td>  <span class="br">{</span></td></tr>
 <tr name="32" id="32">
-<td><a id="l32" class='ln'>32</a></td><td>    0                                  <span class="ct">/* '&lt;S63&gt;/Data Type Conversion2' */</span></td></tr>
+<td><a id="l32" class='ln'>32</a></td><td>    0                                  <span class="ct">/* '&lt;S60&gt;/Data Type Conversion2' */</span></td></tr>
 <tr name="33" id="33">
 <td><a id="l33" class='ln'>33</a></td><td>  <span class="br">}</span></td></tr>
 <tr name="34" id="34">
@@ -81,19 +81,19 @@
 <tr name="35" id="35">
 <td><a id="l35" class='ln'>35</a></td><td></td></tr>
 <tr name="36" id="36">
-<td><a id="l36" class='ln'>36</a></td><td>  <span class="ct">/* End of '&lt;S59&gt;/PI_id' */</span></td></tr>
+<td><a id="l36" class='ln'>36</a></td><td>  <span class="ct">/* End of '&lt;S56&gt;/PI_id' */</span></td></tr>
 <tr name="37" id="37">
 <td><a id="l37" class='ln'>37</a></td><td></td></tr>
 <tr name="38" id="38">
-<td><a id="l38" class='ln'>38</a></td><td>  <span class="ct">/* Start of '&lt;S60&gt;/PI_iq' */</span></td></tr>
+<td><a id="l38" class='ln'>38</a></td><td>  <span class="ct">/* Start of '&lt;S57&gt;/PI_iq' */</span></td></tr>
 <tr name="39" id="39">
 <td><a id="l39" class='ln'>39</a></td><td>  <span class="br">{</span></td></tr>
 <tr name="40" id="40">
-<td><a id="l40" class='ln'>40</a></td><td>    0                                  <span class="ct">/* '&lt;S67&gt;/Data Type Conversion2' */</span></td></tr>
+<td><a id="l40" class='ln'>40</a></td><td>    0                                  <span class="ct">/* '&lt;S64&gt;/Data Type Conversion2' */</span></td></tr>
 <tr name="41" id="41">
 <td><a id="l41" class='ln'>41</a></td><td>  <span class="br">}</span></td></tr>
 <tr name="42" id="42">
-<td><a id="l42" class='ln'>42</a></td><td>  <span class="ct">/* End of '&lt;S60&gt;/PI_iq' */</span></td></tr>
+<td><a id="l42" class='ln'>42</a></td><td>  <span class="ct">/* End of '&lt;S57&gt;/PI_iq' */</span></td></tr>
 <tr name="43" id="43">
 <td><a id="l43" class='ln'>43</a></td><td><span class="br">}</span>;</td></tr>
 <tr name="44" id="44">
@@ -105,7 +105,7 @@
 <tr name="47" id="47">
 <td><a id="l47" class='ln'>47</a></td><td>  <span class="ct">/* Computed Parameter: r_cos_M1_Table</span></td></tr>
 <tr name="48" id="48">
-<td><a id="l48" class='ln'>48</a></td><td><span class="ct">   * Referenced by: '&lt;S58&gt;/r_cos_M1'</span></td></tr>
+<td><a id="l48" class='ln'>48</a></td><td><span class="ct">   * Referenced by: '&lt;S55&gt;/r_cos_M1'</span></td></tr>
 <tr name="49" id="49">
 <td><a id="l49" class='ln'>49</a></td><td><span class="ct">   */</span></td></tr>
 <tr name="50" id="50">
@@ -383,7 +383,7 @@
 <tr name="186" id="186">
 <td><a id="l186" class='ln'>186</a></td><td>  <span class="ct">/* Computed Parameter: r_sin_M1_Table</span></td></tr>
 <tr name="187" id="187">
-<td><a id="l187" class='ln'>187</a></td><td><span class="ct">   * Referenced by: '&lt;S58&gt;/r_sin_M1'</span></td></tr>
+<td><a id="l187" class='ln'>187</a></td><td><span class="ct">   * Referenced by: '&lt;S55&gt;/r_sin_M1'</span></td></tr>
 <tr name="188" id="188">
 <td><a id="l188" class='ln'>188</a></td><td><span class="ct">   */</span></td></tr>
 <tr name="189" id="189">
@@ -659,65 +659,29 @@
 <tr name="324" id="324">
 <td><a id="l324" class='ln'>324</a></td><td></td></tr>
 <tr name="325" id="325">
-<td><a id="l325" class='ln'>325</a></td><td>  <span class="ct">/* Computed Parameter: Vq_max_M1_Table</span></td></tr>
+<td><a id="l325" class='ln'>325</a></td><td>  <span class="ct">/* Computed Parameter: vec_hallToPos_Value</span></td></tr>
 <tr name="326" id="326">
-<td><a id="l326" class='ln'>326</a></td><td><span class="ct">   * Referenced by: '&lt;S48&gt;/Vq_max_M1'</span></td></tr>
+<td><a id="l326" class='ln'>326</a></td><td><span class="ct">   * Referenced by: '&lt;S11&gt;/vec_hallToPos'</span></td></tr>
 <tr name="327" id="327">
 <td><a id="l327" class='ln'>327</a></td><td><span class="ct">   */</span></td></tr>
 <tr name="328" id="328">
-<td><a id="l328" class='ln'>328</a></td><td>  <span class="br">{</span> 2918, 2918, 2916, 2912, 2907, 2901, 2893, 2884, 2873, 2861, 2847, 2832, 2816,</td></tr>
+<td><a id="l328" class='ln'>328</a></td><td>  <span class="br">{</span> 7, 5, 1, 0, 3, 4, 2, 7 <span class="br">}</span></td></tr>
 <tr name="329" id="329">
-<td><a id="l329" class='ln'>329</a></td><td>    2797, 2777, 2756, 2733, 2708, 2681, 2653, 2623, 2591, 2556, 2520, 2481, 2441,</td></tr>
+<td><a id="l329" class='ln'>329</a></td><td><span class="br">}</span>;</td></tr>
 <tr name="330" id="330">
-<td><a id="l330" class='ln'>330</a></td><td>    2398, 2352, 2303, 2252, 2198, 2140, 2079, 2014, 1945, 1871, 1791, 1706, 1613,</td></tr>
+<td><a id="l330" class='ln'>330</a></td><td></td></tr>
 <tr name="331" id="331">
-<td><a id="l331" class='ln'>331</a></td><td>    1512, 1401, 1277, 1137, 971, 766, 472 <span class="br">}</span>,</td></tr>
+<td><a id="l331" class='ln'>331</a></td><td><span class="ct">/*</span></td></tr>
 <tr name="332" id="332">
-<td><a id="l332" class='ln'>332</a></td><td></td></tr>
+<td><a id="l332" class='ln'>332</a></td><td><span class="ct"> * File trailer for generated code.</span></td></tr>
 <tr name="333" id="333">
-<td><a id="l333" class='ln'>333</a></td><td>  <span class="ct">/* Computed Parameter: iq_maxSca_M1_Table</span></td></tr>
+<td><a id="l333" class='ln'>333</a></td><td><span class="ct"> *</span></td></tr>
 <tr name="334" id="334">
-<td><a id="l334" class='ln'>334</a></td><td><span class="ct">   * Referenced by: '&lt;S48&gt;/iq_maxSca_M1'</span></td></tr>
+<td><a id="l334" class='ln'>334</a></td><td><span class="ct"> * [EOF]</span></td></tr>
 <tr name="335" id="335">
-<td><a id="l335" class='ln'>335</a></td><td><span class="ct">   */</span></td></tr>
+<td><a id="l335" class='ln'>335</a></td><td><span class="ct"> */</span></td></tr>
 <tr name="336" id="336">
-<td><a id="l336" class='ln'>336</a></td><td>  <span class="br">{</span> 65535U, 65523U, 65484U, 65418U, 65326U, 65207U, 65062U, 64890U, 64691U,</td></tr>
-<tr name="337" id="337">
-<td><a id="l337" class='ln'>337</a></td><td>    64465U, 64211U, 63930U, 63620U, 63281U, 62913U, 62516U, 62088U, 61630U,</td></tr>
-<tr name="338" id="338">
-<td><a id="l338" class='ln'>338</a></td><td>    61140U, 60618U, 60062U, 59473U, 58848U, 58187U, 57489U, 56752U, 55974U,</td></tr>
-<tr name="339" id="339">
-<td><a id="l339" class='ln'>339</a></td><td>    55155U, 54291U, 53381U, 52422U, 51413U, 50349U, 49227U, 48043U, 46792U,</td></tr>
-<tr name="340" id="340">
-<td><a id="l340" class='ln'>340</a></td><td>    45470U, 44069U, 42581U, 40997U, 39307U, 37494U, 35541U, 33422U, 31105U,</td></tr>
-<tr name="341" id="341">
-<td><a id="l341" class='ln'>341</a></td><td>    28540U, 25655U, 22323U, 18304U, 12974U <span class="br">}</span>,</td></tr>
-<tr name="342" id="342">
-<td><a id="l342" class='ln'>342</a></td><td></td></tr>
-<tr name="343" id="343">
-<td><a id="l343" class='ln'>343</a></td><td>  <span class="ct">/* Computed Parameter: vec_hallToPos_Value</span></td></tr>
-<tr name="344" id="344">
-<td><a id="l344" class='ln'>344</a></td><td><span class="ct">   * Referenced by: '&lt;S11&gt;/vec_hallToPos'</span></td></tr>
-<tr name="345" id="345">
-<td><a id="l345" class='ln'>345</a></td><td><span class="ct">   */</span></td></tr>
-<tr name="346" id="346">
-<td><a id="l346" class='ln'>346</a></td><td>  <span class="br">{</span> 7, 5, 1, 0, 3, 4, 2, 7 <span class="br">}</span></td></tr>
-<tr name="347" id="347">
-<td><a id="l347" class='ln'>347</a></td><td><span class="br">}</span>;</td></tr>
-<tr name="348" id="348">
-<td><a id="l348" class='ln'>348</a></td><td></td></tr>
-<tr name="349" id="349">
-<td><a id="l349" class='ln'>349</a></td><td><span class="ct">/*</span></td></tr>
-<tr name="350" id="350">
-<td><a id="l350" class='ln'>350</a></td><td><span class="ct"> * File trailer for generated code.</span></td></tr>
-<tr name="351" id="351">
-<td><a id="l351" class='ln'>351</a></td><td><span class="ct"> *</span></td></tr>
-<tr name="352" id="352">
-<td><a id="l352" class='ln'>352</a></td><td><span class="ct"> * [EOF]</span></td></tr>
-<tr name="353" id="353">
-<td><a id="l353" class='ln'>353</a></td><td><span class="ct"> */</span></td></tr>
-<tr name="354" id="354">
-<td><a id="l354" class='ln'>354</a></td><td></td></tr>
+<td><a id="l336" class='ln'>336</a></td><td></td></tr>
 </table>
 </pre>
 </body>

+ 374 - 356
Simulink/PMSM_Controller_ert_rtw/html/PMSM_Controller_h.html

@@ -21,11 +21,11 @@
 <tr name="5" id="5">
 <td><a id="l5" class='ln'>5</a></td><td><span class="ct"> *</span></td></tr>
 <tr name="6" id="6">
-<td><a id="l6" class='ln'>6</a></td><td><span class="ct"> * Model version                  : 1.1245</span></td></tr>
+<td><a id="l6" class='ln'>6</a></td><td><span class="ct"> * Model version                  : 1.1277</span></td></tr>
 <tr name="7" id="7">
 <td><a id="l7" class='ln'>7</a></td><td><span class="ct"> * Simulink Coder version         : 9.4 (R2020b) 29-Jul-2020</span></td></tr>
 <tr name="8" id="8">
-<td><a id="l8" class='ln'>8</a></td><td><span class="ct"> * C/C++ source code generated on : Thu Apr  7 15:23:34 2022</span></td></tr>
+<td><a id="l8" class='ln'>8</a></td><td><span class="ct"> * C/C++ source code generated on : Wed Apr 13 16:49:14 2022</span></td></tr>
 <tr name="9" id="9">
 <td><a id="l9" class='ln'>9</a></td><td><span class="ct"> *</span></td></tr>
 <tr name="10" id="10">
@@ -89,95 +89,95 @@
 <tr name="39" id="39">
 <td><a id="l39" class='ln'>39</a></td><td></td></tr>
 <tr name="40" id="40">
-<td><a id="l40" class='ln'>40</a></td><td><span class="ct">/* Block signals and states (default storage) for system '&lt;S41&gt;/Counter' */</span></td></tr>
+<td><a id="l40" class='ln'>40</a></td><td><span class="ct">/* Block signals and states (default storage) for system '&lt;S37&gt;/Counter' */</span></td></tr>
 <tr name="41" id="41">
 <td><a id="l41" class='ln'>41</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
 <tr name="42" id="42">
-<td><a id="l42" class='ln'>42</a></td><td>  <a id="42c3" class="tk">uint16_T</a> <a id="42c12" class="tk">UnitDelay_DSTATE</a>;           <span class="ct">/* '&lt;S46&gt;/UnitDelay' */</span></td></tr>
+<td><a id="l42" class='ln'>42</a></td><td>  <a id="42c3" class="tk">uint16_T</a> <a id="42c12" class="tk">UnitDelay_DSTATE</a>;           <span class="ct">/* '&lt;S42&gt;/UnitDelay' */</span></td></tr>
 <tr name="43" id="43">
 <td><a id="l43" class='ln'>43</a></td><td><span class="br">}</span> <a id="43c3" class="tk">DW_Counter</a>;</td></tr>
 <tr name="44" id="44">
 <td><a id="l44" class='ln'>44</a></td><td></td></tr>
 <tr name="45" id="45">
-<td><a id="l45" class='ln'>45</a></td><td><span class="ct">/* Block signals and states (default storage) for system '&lt;S37&gt;/either_edge' */</span></td></tr>
+<td><a id="l45" class='ln'>45</a></td><td><span class="ct">/* Block signals and states (default storage) for system '&lt;S33&gt;/either_edge' */</span></td></tr>
 <tr name="46" id="46">
 <td><a id="l46" class='ln'>46</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
 <tr name="47" id="47">
-<td><a id="l47" class='ln'>47</a></td><td>  <a id="47c3" class="tk">boolean_T</a> <a id="47c13" class="tk">UnitDelay_DSTATE</a>;          <span class="ct">/* '&lt;S42&gt;/UnitDelay' */</span></td></tr>
+<td><a id="l47" class='ln'>47</a></td><td>  <a id="47c3" class="tk">boolean_T</a> <a id="47c13" class="tk">UnitDelay_DSTATE</a>;          <span class="ct">/* '&lt;S38&gt;/UnitDelay' */</span></td></tr>
 <tr name="48" id="48">
 <td><a id="l48" class='ln'>48</a></td><td><span class="br">}</span> <a id="48c3" class="tk">DW_either_edge</a>;</td></tr>
 <tr name="49" id="49">
 <td><a id="l49" class='ln'>49</a></td><td></td></tr>
 <tr name="50" id="50">
-<td><a id="l50" class='ln'>50</a></td><td><span class="ct">/* Block signals and states (default storage) for system '&lt;S36&gt;/Debounce_Filter' */</span></td></tr>
+<td><a id="l50" class='ln'>50</a></td><td><span class="ct">/* Block signals and states (default storage) for system '&lt;S32&gt;/Debounce_Filter' */</span></td></tr>
 <tr name="51" id="51">
 <td><a id="l51" class='ln'>51</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
 <tr name="52" id="52">
-<td><a id="l52" class='ln'>52</a></td><td>  <a id="52c3" class="tk">DW_either_edge</a> <a id="52c18" class="tk">either_edge_j</a>;        <span class="ct">/* '&lt;S37&gt;/either_edge' */</span></td></tr>
+<td><a id="l52" class='ln'>52</a></td><td>  <a id="52c3" class="tk">DW_either_edge</a> <a id="52c18" class="tk">either_edge_j</a>;        <span class="ct">/* '&lt;S33&gt;/either_edge' */</span></td></tr>
 <tr name="53" id="53">
-<td><a id="l53" class='ln'>53</a></td><td>  <a id="53c3" class="tk">DW_Counter</a> <a id="53c14" class="tk">Counter_d</a>;                <span class="ct">/* '&lt;S40&gt;/Counter' */</span></td></tr>
+<td><a id="l53" class='ln'>53</a></td><td>  <a id="53c3" class="tk">DW_Counter</a> <a id="53c14" class="tk">Counter_d</a>;                <span class="ct">/* '&lt;S36&gt;/Counter' */</span></td></tr>
 <tr name="54" id="54">
-<td><a id="l54" class='ln'>54</a></td><td>  <a id="54c3" class="tk">DW_Counter</a> <a id="54c14" class="tk">Counter_f</a>;                <span class="ct">/* '&lt;S41&gt;/Counter' */</span></td></tr>
+<td><a id="l54" class='ln'>54</a></td><td>  <a id="54c3" class="tk">DW_Counter</a> <a id="54c14" class="tk">Counter_f</a>;                <span class="ct">/* '&lt;S37&gt;/Counter' */</span></td></tr>
 <tr name="55" id="55">
-<td><a id="l55" class='ln'>55</a></td><td>  <a id="55c3" class="tk">boolean_T</a> <a id="55c13" class="tk">UnitDelay_DSTATE</a>;          <span class="ct">/* '&lt;S37&gt;/UnitDelay' */</span></td></tr>
+<td><a id="l55" class='ln'>55</a></td><td>  <a id="55c3" class="tk">boolean_T</a> <a id="55c13" class="tk">UnitDelay_DSTATE</a>;          <span class="ct">/* '&lt;S33&gt;/UnitDelay' */</span></td></tr>
 <tr name="56" id="56">
 <td><a id="l56" class='ln'>56</a></td><td><span class="br">}</span> <a id="56c3" class="tk">DW_Debounce_Filter</a>;</td></tr>
 <tr name="57" id="57">
 <td><a id="l57" class='ln'>57</a></td><td></td></tr>
 <tr name="58" id="58">
-<td><a id="l58" class='ln'>58</a></td><td><span class="ct">/* Block signals and states (default storage) for system '&lt;S47&gt;/Low_Pass_Filter' */</span></td></tr>
+<td><a id="l58" class='ln'>58</a></td><td><span class="ct">/* Block signals and states (default storage) for system '&lt;S43&gt;/Low_Pass_Filter' */</span></td></tr>
 <tr name="59" id="59">
 <td><a id="l59" class='ln'>59</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
 <tr name="60" id="60">
-<td><a id="l60" class='ln'>60</a></td><td>  <a id="60c3" class="tk">int16_T</a> <a id="60c11" class="tk">UnitDelay1_DSTATE</a>[2];        <span class="ct">/* '&lt;S56&gt;/UnitDelay1' */</span></td></tr>
+<td><a id="l60" class='ln'>60</a></td><td>  <a id="60c3" class="tk">int16_T</a> <a id="60c11" class="tk">UnitDelay1_DSTATE</a>[2];        <span class="ct">/* '&lt;S53&gt;/UnitDelay1' */</span></td></tr>
 <tr name="61" id="61">
 <td><a id="l61" class='ln'>61</a></td><td><span class="br">}</span> <a id="61c3" class="tk">DW_Low_Pass_Filter</a>;</td></tr>
 <tr name="62" id="62">
 <td><a id="l62" class='ln'>62</a></td><td></td></tr>
 <tr name="63" id="63">
-<td><a id="l63" class='ln'>63</a></td><td><span class="ct">/* Block signals and states (default storage) for system '&lt;S60&gt;/PI_iq' */</span></td></tr>
+<td><a id="l63" class='ln'>63</a></td><td><span class="ct">/* Block signals and states (default storage) for system '&lt;S57&gt;/PI_iq' */</span></td></tr>
 <tr name="64" id="64">
 <td><a id="l64" class='ln'>64</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
 <tr name="65" id="65">
-<td><a id="l65" class='ln'>65</a></td><td>  <a id="65c3" class="tk">int32_T</a> <a id="65c11" class="tk">UnitDelay_DSTATE</a>;            <span class="ct">/* '&lt;S65&gt;/UnitDelay' */</span></td></tr>
+<td><a id="l65" class='ln'>65</a></td><td>  <a id="65c3" class="tk">int32_T</a> <a id="65c11" class="tk">UnitDelay_DSTATE</a>;            <span class="ct">/* '&lt;S62&gt;/UnitDelay' */</span></td></tr>
 <tr name="66" id="66">
-<td><a id="l66" class='ln'>66</a></td><td>  <a id="66c3" class="tk">int32_T</a> <a id="66c11" class="tk">ResettableDelay_DSTATE</a>;      <span class="ct">/* '&lt;S67&gt;/Resettable Delay' */</span></td></tr>
+<td><a id="l66" class='ln'>66</a></td><td>  <a id="66c3" class="tk">int32_T</a> <a id="66c11" class="tk">ResettableDelay_DSTATE</a>;      <span class="ct">/* '&lt;S64&gt;/Resettable Delay' */</span></td></tr>
 <tr name="67" id="67">
-<td><a id="l67" class='ln'>67</a></td><td>  <a id="67c3" class="tk">uint8_T</a> <a id="67c11" class="tk">icLoad</a>;                      <span class="ct">/* '&lt;S67&gt;/Resettable Delay' */</span></td></tr>
+<td><a id="l67" class='ln'>67</a></td><td>  <a id="67c3" class="tk">uint8_T</a> <a id="67c11" class="tk">icLoad</a>;                      <span class="ct">/* '&lt;S64&gt;/Resettable Delay' */</span></td></tr>
 <tr name="68" id="68">
 <td><a id="l68" class='ln'>68</a></td><td><span class="br">}</span> <a id="68c3" class="tk">DW_PI_backCalc_fixdt</a>;</td></tr>
 <tr name="69" id="69">
 <td><a id="l69" class='ln'>69</a></td><td></td></tr>
 <tr name="70" id="70">
-<td><a id="l70" class='ln'>70</a></td><td><span class="ct">/* Zero-crossing (trigger) state for system '&lt;S60&gt;/PI_iq' */</span></td></tr>
+<td><a id="l70" class='ln'>70</a></td><td><span class="ct">/* Zero-crossing (trigger) state for system '&lt;S57&gt;/PI_iq' */</span></td></tr>
 <tr name="71" id="71">
 <td><a id="l71" class='ln'>71</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
 <tr name="72" id="72">
-<td><a id="l72" class='ln'>72</a></td><td>  <a id="72c3" class="tk">ZCSigState</a> <a id="72c14" class="tk">ResettableDelay_Reset_ZCE_p</a>;<span class="ct">/* '&lt;S67&gt;/Resettable Delay' */</span></td></tr>
+<td><a id="l72" class='ln'>72</a></td><td>  <a id="72c3" class="tk">ZCSigState</a> <a id="72c14" class="tk">ResettableDelay_Reset_ZCE_p</a>;<span class="ct">/* '&lt;S64&gt;/Resettable Delay' */</span></td></tr>
 <tr name="73" id="73">
 <td><a id="l73" class='ln'>73</a></td><td><span class="br">}</span> <a id="73c3" class="tk">ZCE_PI_backCalc_fixdt</a>;</td></tr>
 <tr name="74" id="74">
 <td><a id="l74" class='ln'>74</a></td><td></td></tr>
 <tr name="75" id="75">
-<td><a id="l75" class='ln'>75</a></td><td><span class="ct">/* Block signals and states (default storage) for system '&lt;S79&gt;/pi_speed' */</span></td></tr>
+<td><a id="l75" class='ln'>75</a></td><td><span class="ct">/* Block signals and states (default storage) for system '&lt;S82&gt;/pi_speed' */</span></td></tr>
 <tr name="76" id="76">
 <td><a id="l76" class='ln'>76</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
 <tr name="77" id="77">
-<td><a id="l77" class='ln'>77</a></td><td>  <a id="77c3" class="tk">int32_T</a> <a id="77c11" class="tk">UnitDelay_DSTATE</a>;            <span class="ct">/* '&lt;S82&gt;/UnitDelay' */</span></td></tr>
+<td><a id="l77" class='ln'>77</a></td><td>  <a id="77c3" class="tk">int32_T</a> <a id="77c11" class="tk">UnitDelay_DSTATE</a>;            <span class="ct">/* '&lt;S85&gt;/UnitDelay' */</span></td></tr>
 <tr name="78" id="78">
-<td><a id="l78" class='ln'>78</a></td><td>  <a id="78c3" class="tk">int32_T</a> <a id="78c11" class="tk">ResettableDelay_DSTATE</a>;      <span class="ct">/* '&lt;S83&gt;/Resettable Delay' */</span></td></tr>
+<td><a id="l78" class='ln'>78</a></td><td>  <a id="78c3" class="tk">int32_T</a> <a id="78c11" class="tk">ResettableDelay_DSTATE</a>;      <span class="ct">/* '&lt;S86&gt;/Resettable Delay' */</span></td></tr>
 <tr name="79" id="79">
-<td><a id="l79" class='ln'>79</a></td><td>  <a id="79c3" class="tk">uint8_T</a> <a id="79c11" class="tk">icLoad</a>;                      <span class="ct">/* '&lt;S83&gt;/Resettable Delay' */</span></td></tr>
+<td><a id="l79" class='ln'>79</a></td><td>  <a id="79c3" class="tk">uint8_T</a> <a id="79c11" class="tk">icLoad</a>;                      <span class="ct">/* '&lt;S86&gt;/Resettable Delay' */</span></td></tr>
 <tr name="80" id="80">
 <td><a id="l80" class='ln'>80</a></td><td><span class="br">}</span> <a id="80c3" class="tk">DW_pi_speed</a>;</td></tr>
 <tr name="81" id="81">
 <td><a id="l81" class='ln'>81</a></td><td></td></tr>
 <tr name="82" id="82">
-<td><a id="l82" class='ln'>82</a></td><td><span class="ct">/* Zero-crossing (trigger) state for system '&lt;S79&gt;/pi_speed' */</span></td></tr>
+<td><a id="l82" class='ln'>82</a></td><td><span class="ct">/* Zero-crossing (trigger) state for system '&lt;S82&gt;/pi_speed' */</span></td></tr>
 <tr name="83" id="83">
 <td><a id="l83" class='ln'>83</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
 <tr name="84" id="84">
-<td><a id="l84" class='ln'>84</a></td><td>  <a id="84c3" class="tk">ZCSigState</a> <a id="84c14" class="tk">ResettableDelay_Reset_ZCE</a>;<span class="ct">/* '&lt;S83&gt;/Resettable Delay' */</span></td></tr>
+<td><a id="l84" class='ln'>84</a></td><td>  <a id="84c3" class="tk">ZCSigState</a> <a id="84c14" class="tk">ResettableDelay_Reset_ZCE_a</a>;<span class="ct">/* '&lt;S86&gt;/Resettable Delay' */</span></td></tr>
 <tr name="85" id="85">
 <td><a id="l85" class='ln'>85</a></td><td><span class="br">}</span> <a id="85c3" class="tk">ZCE_pi_speed</a>;</td></tr>
 <tr name="86" id="86">
@@ -187,689 +187,707 @@
 <tr name="88" id="88">
 <td><a id="l88" class='ln'>88</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
 <tr name="89" id="89">
-<td><a id="l89" class='ln'>89</a></td><td>  <a id="89c3" class="tk">DW_pi_speed</a> <a id="89c15" class="tk">pi_speed_g</a>;              <span class="ct">/* '&lt;S79&gt;/pi_speed' */</span></td></tr>
+<td><a id="l89" class='ln'>89</a></td><td>  <a id="89c3" class="tk">DW_pi_speed</a> <a id="89c15" class="tk">pi_speed_d</a>;              <span class="ct">/* '&lt;S82&gt;/pi_speed' */</span></td></tr>
 <tr name="90" id="90">
-<td><a id="l90" class='ln'>90</a></td><td>  <a id="90c3" class="tk">DW_PI_backCalc_fixdt</a> <a id="90c24" class="tk">PI_id</a>;          <span class="ct">/* '&lt;S59&gt;/PI_id' */</span></td></tr>
+<td><a id="l90" class='ln'>90</a></td><td>  <a id="90c3" class="tk">DW_PI_backCalc_fixdt</a> <a id="90c24" class="tk">PI_id</a>;          <span class="ct">/* '&lt;S56&gt;/PI_id' */</span></td></tr>
 <tr name="91" id="91">
-<td><a id="l91" class='ln'>91</a></td><td>  <a id="91c3" class="tk">DW_PI_backCalc_fixdt</a> <a id="91c24" class="tk">PI_iq</a>;          <span class="ct">/* '&lt;S60&gt;/PI_iq' */</span></td></tr>
+<td><a id="l91" class='ln'>91</a></td><td>  <a id="91c3" class="tk">DW_PI_backCalc_fixdt</a> <a id="91c24" class="tk">PI_iq</a>;          <span class="ct">/* '&lt;S57&gt;/PI_iq' */</span></td></tr>
 <tr name="92" id="92">
-<td><a id="l92" class='ln'>92</a></td><td>  <a id="92c3" class="tk">DW_Low_Pass_Filter</a> <a id="92c22" class="tk">Low_Pass_Filter_d</a>;<span class="ct">/* '&lt;S47&gt;/Low_Pass_Filter' */</span></td></tr>
+<td><a id="l92" class='ln'>92</a></td><td>  <a id="92c3" class="tk">DW_Low_Pass_Filter</a> <a id="92c22" class="tk">Low_Pass_Filter_d</a>;<span class="ct">/* '&lt;S43&gt;/Low_Pass_Filter' */</span></td></tr>
 <tr name="93" id="93">
-<td><a id="l93" class='ln'>93</a></td><td>  <a id="93c3" class="tk">DW_either_edge</a> <a id="93c18" class="tk">either_edge_f</a>;        <span class="ct">/* '&lt;S36&gt;/either_edge' */</span></td></tr>
+<td><a id="l93" class='ln'>93</a></td><td>  <a id="93c3" class="tk">DW_either_edge</a> <a id="93c18" class="tk">either_edge_f</a>;        <span class="ct">/* '&lt;S32&gt;/either_edge' */</span></td></tr>
 <tr name="94" id="94">
-<td><a id="l94" class='ln'>94</a></td><td>  <a id="94c3" class="tk">DW_Debounce_Filter</a> <a id="94c22" class="tk">Debounce_Filter_i</a>;<span class="ct">/* '&lt;S36&gt;/Debounce_Filter' */</span></td></tr>
+<td><a id="l94" class='ln'>94</a></td><td>  <a id="94c3" class="tk">DW_Debounce_Filter</a> <a id="94c22" class="tk">Debounce_Filter_i</a>;<span class="ct">/* '&lt;S32&gt;/Debounce_Filter' */</span></td></tr>
 <tr name="95" id="95">
-<td><a id="l95" class='ln'>95</a></td><td>  <a id="95c3" class="tk">uint32_T</a> <a id="95c12" class="tk">z_counterRawPrev</a>;           <span class="ct">/* '&lt;S17&gt;/z_counterRawPrev' */</span></td></tr>
+<td><a id="l95" class='ln'>95</a></td><td>  <a id="95c3" class="tk">int32_T</a> <a id="95c11" class="tk">UnitDelay_DSTATE</a>;            <span class="ct">/* '&lt;S78&gt;/Unit Delay' */</span></td></tr>
 <tr name="96" id="96">
-<td><a id="l96" class='ln'>96</a></td><td>  <a id="96c3" class="tk">uint32_T</a> <a id="96c12" class="tk">UnitDelay1_DSTATE</a>;          <span class="ct">/* '&lt;S7&gt;/UnitDelay1' */</span></td></tr>
+<td><a id="l96" class='ln'>96</a></td><td>  <a id="96c3" class="tk">int32_T</a> <a id="96c11" class="tk">ResettableDelay_DSTATE</a>;      <span class="ct">/* '&lt;S81&gt;/Resettable Delay' */</span></td></tr>
 <tr name="97" id="97">
-<td><a id="l97" class='ln'>97</a></td><td>  <a id="97c3" class="tk">uint32_T</a> <a id="97c12" class="tk">UnitDelay3_DSTATE</a>;          <span class="ct">/* '&lt;S12&gt;/UnitDelay3' */</span></td></tr>
+<td><a id="l97" class='ln'>97</a></td><td>  <a id="97c3" class="tk">uint32_T</a> <a id="97c12" class="tk">z_counterRawPrev</a>;           <span class="ct">/* '&lt;S17&gt;/z_counterRawPrev' */</span></td></tr>
 <tr name="98" id="98">
-<td><a id="l98" class='ln'>98</a></td><td>  <a id="98c3" class="tk">uint32_T</a> <a id="98c12" class="tk">UnitDelay2_DSTATE</a>;          <span class="ct">/* '&lt;S17&gt;/UnitDelay2' */</span></td></tr>
+<td><a id="l98" class='ln'>98</a></td><td>  <a id="98c3" class="tk">uint32_T</a> <a id="98c12" class="tk">UnitDelay1_DSTATE</a>;          <span class="ct">/* '&lt;S7&gt;/UnitDelay1' */</span></td></tr>
 <tr name="99" id="99">
-<td><a id="l99" class='ln'>99</a></td><td>  <a id="99c3" class="tk">uint32_T</a> <a id="99c12" class="tk">UnitDelay3_DSTATE_l</a>;        <span class="ct">/* '&lt;S17&gt;/UnitDelay3' */</span></td></tr>
+<td><a id="l99" class='ln'>99</a></td><td>  <a id="99c3" class="tk">uint32_T</a> <a id="99c12" class="tk">UnitDelay3_DSTATE</a>;          <span class="ct">/* '&lt;S12&gt;/UnitDelay3' */</span></td></tr>
 <tr name="100" id="100">
-<td><a id="l100" class='ln'>100</a></td><td>  <a id="100c3" class="tk">uint32_T</a> <a id="100c12" class="tk">UnitDelay5_DSTATE</a>;          <span class="ct">/* '&lt;S17&gt;/UnitDelay5' */</span></td></tr>
+<td><a id="l100" class='ln'>100</a></td><td>  <a id="100c3" class="tk">uint32_T</a> <a id="100c12" class="tk">UnitDelay2_DSTATE</a>;          <span class="ct">/* '&lt;S17&gt;/UnitDelay2' */</span></td></tr>
 <tr name="101" id="101">
-<td><a id="l101" class='ln'>101</a></td><td>  <a id="101c3" class="tk">int16_T</a> <a id="101c11" class="tk">Merge</a>[2];                    <span class="ct">/* '&lt;S25&gt;/Merge' */</span></td></tr>
+<td><a id="l101" class='ln'>101</a></td><td>  <a id="101c3" class="tk">uint32_T</a> <a id="101c12" class="tk">UnitDelay3_DSTATE_l</a>;        <span class="ct">/* '&lt;S17&gt;/UnitDelay3' */</span></td></tr>
 <tr name="102" id="102">
-<td><a id="l102" class='ln'>102</a></td><td>  <a id="102c3" class="tk">int16_T</a> <a id="102c11" class="tk">Divide</a>;                      <span class="ct">/* '&lt;S34&gt;/Divide' */</span></td></tr>
+<td><a id="l102" class='ln'>102</a></td><td>  <a id="102c3" class="tk">uint32_T</a> <a id="102c12" class="tk">UnitDelay5_DSTATE</a>;          <span class="ct">/* '&lt;S17&gt;/UnitDelay5' */</span></td></tr>
 <tr name="103" id="103">
-<td><a id="l103" class='ln'>103</a></td><td>  <a id="103c3" class="tk">int16_T</a> <a id="103c11" class="tk">Merge_b</a>;                     <span class="ct">/* '&lt;S52&gt;/Merge' */</span></td></tr>
+<td><a id="l103" class='ln'>103</a></td><td>  <a id="103c3" class="tk">int16_T</a> <a id="103c11" class="tk">Merge</a>[2];                    <span class="ct">/* '&lt;S24&gt;/Merge' */</span></td></tr>
 <tr name="104" id="104">
-<td><a id="l104" class='ln'>104</a></td><td>  <a id="104c3" class="tk">int16_T</a> <a id="104c11" class="tk">Switch2</a>;                     <span class="ct">/* '&lt;S64&gt;/Switch2' */</span></td></tr>
+<td><a id="l104" class='ln'>104</a></td><td>  <a id="104c3" class="tk">int16_T</a> <a id="104c11" class="tk">Divide</a>;                      <span class="ct">/* '&lt;S30&gt;/Divide' */</span></td></tr>
 <tr name="105" id="105">
-<td><a id="l105" class='ln'>105</a></td><td>  <a id="105c3" class="tk">int16_T</a> <a id="105c11" class="tk">Switch2_d</a>;                   <span class="ct">/* '&lt;S68&gt;/Switch2' */</span></td></tr>
+<td><a id="l105" class='ln'>105</a></td><td>  <a id="105c3" class="tk">int16_T</a> <a id="105c11" class="tk">Merge_f</a>;                     <span class="ct">/* '&lt;S80&gt;/Merge' */</span></td></tr>
 <tr name="106" id="106">
-<td><a id="l106" class='ln'>106</a></td><td>  <a id="106c3" class="tk">int16_T</a> <a id="106c11" class="tk">Divide1</a>;                     <span class="ct">/* '&lt;S31&gt;/Divide1' */</span></td></tr>
+<td><a id="l106" class='ln'>106</a></td><td>  <a id="106c3" class="tk">int16_T</a> <a id="106c11" class="tk">Switch2</a>;                     <span class="ct">/* '&lt;S61&gt;/Switch2' */</span></td></tr>
 <tr name="107" id="107">
-<td><a id="l107" class='ln'>107</a></td><td>  <a id="107c3" class="tk">int16_T</a> <a id="107c11" class="tk">Switch</a>;                      <span class="ct">/* '&lt;S34&gt;/Switch' */</span></td></tr>
+<td><a id="l107" class='ln'>107</a></td><td>  <a id="107c3" class="tk">int16_T</a> <a id="107c11" class="tk">Switch2_d</a>;                   <span class="ct">/* '&lt;S65&gt;/Switch2' */</span></td></tr>
 <tr name="108" id="108">
-<td><a id="l108" class='ln'>108</a></td><td>  <a id="108c3" class="tk">int16_T</a> <a id="108c11" class="tk">Switch1</a>;                     <span class="ct">/* '&lt;S34&gt;/Switch1' */</span></td></tr>
+<td><a id="l108" class='ln'>108</a></td><td>  <a id="108c3" class="tk">int16_T</a> <a id="108c11" class="tk">Divide1</a>;                     <span class="ct">/* '&lt;S27&gt;/Divide1' */</span></td></tr>
 <tr name="109" id="109">
-<td><a id="l109" class='ln'>109</a></td><td>  <a id="109c3" class="tk">int16_T</a> <a id="109c11" class="tk">Divide3</a>;                     <span class="ct">/* '&lt;S26&gt;/Divide3' */</span></td></tr>
+<td><a id="l109" class='ln'>109</a></td><td>  <a id="109c3" class="tk">int16_T</a> <a id="109c11" class="tk">Switch</a>;                      <span class="ct">/* '&lt;S30&gt;/Switch' */</span></td></tr>
 <tr name="110" id="110">
-<td><a id="l110" class='ln'>110</a></td><td>  <a id="110c3" class="tk">int16_T</a> <a id="110c11" class="tk">Divide11</a>;                    <span class="ct">/* '&lt;S17&gt;/Divide11' */</span></td></tr>
+<td><a id="l110" class='ln'>110</a></td><td>  <a id="110c3" class="tk">int16_T</a> <a id="110c11" class="tk">Switch1</a>;                     <span class="ct">/* '&lt;S30&gt;/Switch1' */</span></td></tr>
 <tr name="111" id="111">
-<td><a id="l111" class='ln'>111</a></td><td>  <a id="111c3" class="tk">int16_T</a> <a id="111c11" class="tk">UnitDelay2_DSTATE_p</a>;         <span class="ct">/* '&lt;S6&gt;/UnitDelay2' */</span></td></tr>
+<td><a id="l111" class='ln'>111</a></td><td>  <a id="111c3" class="tk">int16_T</a> <a id="111c11" class="tk">Divide11</a>;                    <span class="ct">/* '&lt;S17&gt;/Divide11' */</span></td></tr>
 <tr name="112" id="112">
-<td><a id="l112" class='ln'>112</a></td><td>  <a id="112c3" class="tk">int16_T</a> <a id="112c11" class="tk">UnitDelay1_DSTATE_f</a>;         <span class="ct">/* '&lt;S6&gt;/UnitDelay1' */</span></td></tr>
+<td><a id="l112" class='ln'>112</a></td><td>  <a id="112c3" class="tk">int16_T</a> <a id="112c11" class="tk">UnitDelay2_DSTATE_p</a>;         <span class="ct">/* '&lt;S6&gt;/UnitDelay2' */</span></td></tr>
 <tr name="113" id="113">
-<td><a id="l113" class='ln'>113</a></td><td>  <a id="113c3" class="tk">int16_T</a> <a id="113c11" class="tk">UnitDelay_DSTATE</a>;            <span class="ct">/* '&lt;S30&gt;/Unit Delay' */</span></td></tr>
+<td><a id="l113" class='ln'>113</a></td><td>  <a id="113c3" class="tk">int16_T</a> <a id="113c11" class="tk">UnitDelay1_DSTATE_f</a>;         <span class="ct">/* '&lt;S6&gt;/UnitDelay1' */</span></td></tr>
 <tr name="114" id="114">
-<td><a id="l114" class='ln'>114</a></td><td>  <a id="114c3" class="tk">int16_T</a> <a id="114c11" class="tk">UnitDelay_DSTATE_d</a>;          <span class="ct">/* '&lt;S35&gt;/UnitDelay' */</span></td></tr>
+<td><a id="l114" class='ln'>114</a></td><td>  <a id="114c3" class="tk">int16_T</a> <a id="114c11" class="tk">UnitDelay_DSTATE_i</a>;          <span class="ct">/* '&lt;S26&gt;/Unit Delay' */</span></td></tr>
 <tr name="115" id="115">
-<td><a id="l115" class='ln'>115</a></td><td>  <a id="115c3" class="tk">int16_T</a> <a id="115c11" class="tk">UnitDelay4_DSTATE</a>;           <span class="ct">/* '&lt;S12&gt;/UnitDelay4' */</span></td></tr>
+<td><a id="l115" class='ln'>115</a></td><td>  <a id="115c3" class="tk">int16_T</a> <a id="115c11" class="tk">UnitDelay_DSTATE_d</a>;          <span class="ct">/* '&lt;S31&gt;/UnitDelay' */</span></td></tr>
 <tr name="116" id="116">
-<td><a id="l116" class='ln'>116</a></td><td>  <a id="116c3" class="tk">uint16_T</a> <a id="116c12" class="tk">UnitDelay2_DSTATE_f</a>;        <span class="ct">/* '&lt;S18&gt;/UnitDelay2' */</span></td></tr>
+<td><a id="l116" class='ln'>116</a></td><td>  <a id="116c3" class="tk">int16_T</a> <a id="116c11" class="tk">UnitDelay_DSTATE_e</a>;          <span class="ct">/* '&lt;S50&gt;/Unit Delay' */</span></td></tr>
 <tr name="117" id="117">
-<td><a id="l117" class='ln'>117</a></td><td>  <a id="117c3" class="tk">uint16_T</a> <a id="117c12" class="tk">UnitDelay3_DSTATE_lh</a>;       <span class="ct">/* '&lt;S18&gt;/UnitDelay3' */</span></td></tr>
+<td><a id="l117" class='ln'>117</a></td><td>  <a id="117c3" class="tk">int16_T</a> <a id="117c11" class="tk">UnitDelay_DSTATE_c</a>;          <span class="ct">/* '&lt;S77&gt;/Unit Delay' */</span></td></tr>
 <tr name="118" id="118">
-<td><a id="l118" class='ln'>118</a></td><td>  <a id="118c3" class="tk">uint16_T</a> <a id="118c12" class="tk">UnitDelay5_DSTATE_f</a>;        <span class="ct">/* '&lt;S18&gt;/UnitDelay5' */</span></td></tr>
+<td><a id="l118" class='ln'>118</a></td><td>  <a id="118c3" class="tk">uint16_T</a> <a id="118c12" class="tk">UnitDelay2_DSTATE_f</a>;        <span class="ct">/* '&lt;S18&gt;/UnitDelay2' */</span></td></tr>
 <tr name="119" id="119">
-<td><a id="l119" class='ln'>119</a></td><td>  <a id="119c3" class="tk">int8_T</a> <a id="119c10" class="tk">Switch2_i</a>;                    <span class="ct">/* '&lt;S8&gt;/Switch2' */</span></td></tr>
+<td><a id="l119" class='ln'>119</a></td><td>  <a id="119c3" class="tk">uint16_T</a> <a id="119c12" class="tk">UnitDelay3_DSTATE_lh</a>;       <span class="ct">/* '&lt;S18&gt;/UnitDelay3' */</span></td></tr>
 <tr name="120" id="120">
-<td><a id="l120" class='ln'>120</a></td><td>  <a id="120c3" class="tk">int8_T</a> <a id="120c10" class="tk">UnitDelay2_DSTATE_j</a>;          <span class="ct">/* '&lt;S8&gt;/UnitDelay2' */</span></td></tr>
+<td><a id="l120" class='ln'>120</a></td><td>  <a id="120c3" class="tk">uint16_T</a> <a id="120c12" class="tk">UnitDelay5_DSTATE_f</a>;        <span class="ct">/* '&lt;S18&gt;/UnitDelay5' */</span></td></tr>
 <tr name="121" id="121">
-<td><a id="l121" class='ln'>121</a></td><td>  <a id="121c3" class="tk">uint8_T</a> <a id="121c11" class="tk">Delay_DSTATE</a>;                <span class="ct">/* '&lt;S9&gt;/Delay' */</span></td></tr>
+<td><a id="l121" class='ln'>121</a></td><td>  <a id="121c3" class="tk">uint16_T</a> <a id="121c12" class="tk">UnitDelay4_DSTATE</a>;          <span class="ct">/* '&lt;S12&gt;/UnitDelay4' */</span></td></tr>
 <tr name="122" id="122">
-<td><a id="l122" class='ln'>122</a></td><td>  <a id="122c3" class="tk">uint8_T</a> <a id="122c11" class="tk">Delay1_DSTATE</a>;               <span class="ct">/* '&lt;S9&gt;/Delay1' */</span></td></tr>
+<td><a id="l122" class='ln'>122</a></td><td>  <a id="122c3" class="tk">int8_T</a> <a id="122c10" class="tk">Switch2_i</a>;                    <span class="ct">/* '&lt;S8&gt;/Switch2' */</span></td></tr>
 <tr name="123" id="123">
-<td><a id="l123" class='ln'>123</a></td><td>  <a id="123c3" class="tk">uint8_T</a> <a id="123c11" class="tk">Delay2_DSTATE</a>;               <span class="ct">/* '&lt;S9&gt;/Delay2' */</span></td></tr>
+<td><a id="l123" class='ln'>123</a></td><td>  <a id="123c3" class="tk">int8_T</a> <a id="123c10" class="tk">UnitDelay2_DSTATE_j</a>;          <span class="ct">/* '&lt;S8&gt;/UnitDelay2' */</span></td></tr>
 <tr name="124" id="124">
-<td><a id="l124" class='ln'>124</a></td><td>  <a id="124c3" class="tk">uint8_T</a> <a id="124c11" class="tk">UnitDelay_DSTATE_j</a>;          <span class="ct">/* '&lt;S36&gt;/UnitDelay' */</span></td></tr>
+<td><a id="l124" class='ln'>124</a></td><td>  <a id="124c3" class="tk">uint8_T</a> <a id="124c11" class="tk">Delay_DSTATE</a>;                <span class="ct">/* '&lt;S9&gt;/Delay' */</span></td></tr>
 <tr name="125" id="125">
-<td><a id="l125" class='ln'>125</a></td><td>  <a id="125c3" class="tk">uint8_T</a> <a id="125c11" class="tk">UnitDelay_DSTATE_b</a>;          <span class="ct">/* '&lt;S49&gt;/Unit Delay' */</span></td></tr>
+<td><a id="l125" class='ln'>125</a></td><td>  <a id="125c3" class="tk">uint8_T</a> <a id="125c11" class="tk">Delay1_DSTATE</a>;               <span class="ct">/* '&lt;S9&gt;/Delay1' */</span></td></tr>
 <tr name="126" id="126">
-<td><a id="l126" class='ln'>126</a></td><td>  <a id="126c3" class="tk">uint8_T</a> <a id="126c11" class="tk">is_active_c5_PMSM_Controller</a>;<span class="ct">/* '&lt;S4&gt;/Control_Mode_Manager' */</span></td></tr>
+<td><a id="l126" class='ln'>126</a></td><td>  <a id="126c3" class="tk">uint8_T</a> <a id="126c11" class="tk">Delay2_DSTATE</a>;               <span class="ct">/* '&lt;S9&gt;/Delay2' */</span></td></tr>
 <tr name="127" id="127">
-<td><a id="l127" class='ln'>127</a></td><td>  <a id="127c3" class="tk">uint8_T</a> <a id="127c11" class="tk">is_c5_PMSM_Controller</a>;       <span class="ct">/* '&lt;S4&gt;/Control_Mode_Manager' */</span></td></tr>
+<td><a id="l127" class='ln'>127</a></td><td>  <a id="127c3" class="tk">uint8_T</a> <a id="127c11" class="tk">UnitDelay_DSTATE_j</a>;          <span class="ct">/* '&lt;S32&gt;/UnitDelay' */</span></td></tr>
 <tr name="128" id="128">
-<td><a id="l128" class='ln'>128</a></td><td>  <a id="128c3" class="tk">uint8_T</a> <a id="128c11" class="tk">is_ACTIVE</a>;                   <span class="ct">/* '&lt;S4&gt;/Control_Mode_Manager' */</span></td></tr>
+<td><a id="l128" class='ln'>128</a></td><td>  <a id="128c3" class="tk">uint8_T</a> <a id="128c11" class="tk">UnitDelay_DSTATE_b</a>;          <span class="ct">/* '&lt;S45&gt;/Unit Delay' */</span></td></tr>
 <tr name="129" id="129">
-<td><a id="l129" class='ln'>129</a></td><td>  <a id="129c3" class="tk">boolean_T</a> <a id="129c13" class="tk">Compare</a>;                   <span class="ct">/* '&lt;S20&gt;/Compare' */</span></td></tr>
+<td><a id="l129" class='ln'>129</a></td><td>  <a id="129c3" class="tk">uint8_T</a> <a id="129c11" class="tk">icLoad</a>;                      <span class="ct">/* '&lt;S81&gt;/Resettable Delay' */</span></td></tr>
 <tr name="130" id="130">
-<td><a id="l130" class='ln'>130</a></td><td>  <a id="130c3" class="tk">boolean_T</a> <a id="130c13" class="tk">UnitDelay1_DSTATE_i</a>;       <span class="ct">/* '&lt;S17&gt;/UnitDelay1' */</span></td></tr>
+<td><a id="l130" class='ln'>130</a></td><td>  <a id="130c3" class="tk">uint8_T</a> <a id="130c11" class="tk">is_active_c5_PMSM_Controller</a>;<span class="ct">/* '&lt;S4&gt;/Control_Mode_Manager' */</span></td></tr>
 <tr name="131" id="131">
-<td><a id="l131" class='ln'>131</a></td><td>  <a id="131c3" class="tk">boolean_T</a> <a id="131c13" class="tk">n_SpeedCtrl_Mode</a>;          <span class="ct">/* '&lt;S23&gt;/n_SpeedCtrl' */</span></td></tr>
+<td><a id="l131" class='ln'>131</a></td><td>  <a id="131c3" class="tk">uint8_T</a> <a id="131c11" class="tk">is_c5_PMSM_Controller</a>;       <span class="ct">/* '&lt;S4&gt;/Control_Mode_Manager' */</span></td></tr>
 <tr name="132" id="132">
-<td><a id="l132" class='ln'>132</a></td><td>  <a id="132c3" class="tk">boolean_T</a> <a id="132c13" class="tk">n_commDeacv_Mode</a>;          <span class="ct">/* '&lt;S18&gt;/n_commDeacv' */</span></td></tr>
+<td><a id="l132" class='ln'>132</a></td><td>  <a id="132c3" class="tk">uint8_T</a> <a id="132c11" class="tk">is_ACTIVE</a>;                   <span class="ct">/* '&lt;S4&gt;/Control_Mode_Manager' */</span></td></tr>
 <tr name="133" id="133">
-<td><a id="l133" class='ln'>133</a></td><td><span class="br">}</span> <a id="133c3" class="tk">DW</a>;</td></tr>
+<td><a id="l133" class='ln'>133</a></td><td>  <a id="133c3" class="tk">boolean_T</a> <a id="133c13" class="tk">Compare</a>;                   <span class="ct">/* '&lt;S20&gt;/Compare' */</span></td></tr>
 <tr name="134" id="134">
-<td><a id="l134" class='ln'>134</a></td><td></td></tr>
+<td><a id="l134" class='ln'>134</a></td><td>  <a id="134c3" class="tk">boolean_T</a> <a id="134c13" class="tk">UnitDelay1_DSTATE_i</a>;       <span class="ct">/* '&lt;S17&gt;/UnitDelay1' */</span></td></tr>
 <tr name="135" id="135">
-<td><a id="l135" class='ln'>135</a></td><td><span class="ct">/* Zero-crossing (trigger) state */</span></td></tr>
+<td><a id="l135" class='ln'>135</a></td><td>  <a id="135c3" class="tk">boolean_T</a> <a id="135c13" class="tk">n_SpeedCtrl_Mode</a>;          <span class="ct">/* '&lt;S22&gt;/n_SpeedCtrl' */</span></td></tr>
 <tr name="136" id="136">
-<td><a id="l136" class='ln'>136</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
+<td><a id="l136" class='ln'>136</a></td><td>  <a id="136c3" class="tk">boolean_T</a> <a id="136c13" class="tk">n_commDeacv_Mode</a>;          <span class="ct">/* '&lt;S18&gt;/n_commDeacv' */</span></td></tr>
 <tr name="137" id="137">
-<td><a id="l137" class='ln'>137</a></td><td>  <a id="137c3" class="tk">ZCE_pi_speed</a> <a id="137c16" class="tk">pi_speed_g</a>;             <span class="ct">/* '&lt;S79&gt;/pi_speed' */</span></td></tr>
+<td><a id="l137" class='ln'>137</a></td><td><span class="br">}</span> <a id="137c3" class="tk">DW</a>;</td></tr>
 <tr name="138" id="138">
-<td><a id="l138" class='ln'>138</a></td><td>  <a id="138c3" class="tk">ZCE_PI_backCalc_fixdt</a> <a id="138c25" class="tk">PI_id</a>;         <span class="ct">/* '&lt;S59&gt;/PI_id' */</span></td></tr>
+<td><a id="l138" class='ln'>138</a></td><td></td></tr>
 <tr name="139" id="139">
-<td><a id="l139" class='ln'>139</a></td><td>  <a id="139c3" class="tk">ZCE_PI_backCalc_fixdt</a> <a id="139c25" class="tk">PI_iq</a>;         <span class="ct">/* '&lt;S60&gt;/PI_iq' */</span></td></tr>
+<td><a id="l139" class='ln'>139</a></td><td><span class="ct">/* Zero-crossing (trigger) state */</span></td></tr>
 <tr name="140" id="140">
-<td><a id="l140" class='ln'>140</a></td><td><span class="br">}</span> <a id="140c3" class="tk">PrevZCX</a>;</td></tr>
+<td><a id="l140" class='ln'>140</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
 <tr name="141" id="141">
-<td><a id="l141" class='ln'>141</a></td><td></td></tr>
+<td><a id="l141" class='ln'>141</a></td><td>  <a id="141c3" class="tk">ZCSigState</a> <a id="141c14" class="tk">ResettableDelay_Reset_ZCE</a>;<span class="ct">/* '&lt;S81&gt;/Resettable Delay' */</span></td></tr>
 <tr name="142" id="142">
-<td><a id="l142" class='ln'>142</a></td><td><span class="ct">/* Invariant block signals for system '&lt;S60&gt;/PI_iq' */</span></td></tr>
+<td><a id="l142" class='ln'>142</a></td><td>  <a id="142c3" class="tk">ZCE_pi_speed</a> <a id="142c16" class="tk">pi_speed_d</a>;             <span class="ct">/* '&lt;S82&gt;/pi_speed' */</span></td></tr>
 <tr name="143" id="143">
-<td><a id="l143" class='ln'>143</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
+<td><a id="l143" class='ln'>143</a></td><td>  <a id="143c3" class="tk">ZCE_PI_backCalc_fixdt</a> <a id="143c25" class="tk">PI_id</a>;         <span class="ct">/* '&lt;S56&gt;/PI_id' */</span></td></tr>
 <tr name="144" id="144">
-<td><a id="l144" class='ln'>144</a></td><td>  <span class="kw">const</span> <a id="144c9" class="tk">int32_T</a> <a id="144c17" class="tk">DataTypeConversion2</a>;   <span class="ct">/* '&lt;S67&gt;/Data Type Conversion2' */</span></td></tr>
+<td><a id="l144" class='ln'>144</a></td><td>  <a id="144c3" class="tk">ZCE_PI_backCalc_fixdt</a> <a id="144c25" class="tk">PI_iq</a>;         <span class="ct">/* '&lt;S57&gt;/PI_iq' */</span></td></tr>
 <tr name="145" id="145">
-<td><a id="l145" class='ln'>145</a></td><td><span class="br">}</span> <a id="145c3" class="tk">ConstB_PI_backCalc_fixdt</a>;</td></tr>
+<td><a id="l145" class='ln'>145</a></td><td><span class="br">}</span> <a id="145c3" class="tk">PrevZCX</a>;</td></tr>
 <tr name="146" id="146">
 <td><a id="l146" class='ln'>146</a></td><td></td></tr>
 <tr name="147" id="147">
-<td><a id="l147" class='ln'>147</a></td><td><span class="ct">/* Invariant block signals for system '&lt;S79&gt;/pi_speed' */</span></td></tr>
+<td><a id="l147" class='ln'>147</a></td><td><span class="ct">/* Invariant block signals for system '&lt;S57&gt;/PI_iq' */</span></td></tr>
 <tr name="148" id="148">
 <td><a id="l148" class='ln'>148</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
 <tr name="149" id="149">
-<td><a id="l149" class='ln'>149</a></td><td>  <span class="kw">const</span> <a id="149c9" class="tk">int32_T</a> <a id="149c17" class="tk">DataTypeConversion2</a>;   <span class="ct">/* '&lt;S83&gt;/Data Type Conversion2' */</span></td></tr>
+<td><a id="l149" class='ln'>149</a></td><td>  <span class="kw">const</span> <a id="149c9" class="tk">int32_T</a> <a id="149c17" class="tk">DataTypeConversion2</a>;   <span class="ct">/* '&lt;S64&gt;/Data Type Conversion2' */</span></td></tr>
 <tr name="150" id="150">
-<td><a id="l150" class='ln'>150</a></td><td><span class="br">}</span> <a id="150c3" class="tk">ConstB_pi_speed</a>;</td></tr>
+<td><a id="l150" class='ln'>150</a></td><td><span class="br">}</span> <a id="150c3" class="tk">ConstB_PI_backCalc_fixdt</a>;</td></tr>
 <tr name="151" id="151">
 <td><a id="l151" class='ln'>151</a></td><td></td></tr>
 <tr name="152" id="152">
-<td><a id="l152" class='ln'>152</a></td><td><span class="ct">/* Invariant block signals (default storage) */</span></td></tr>
+<td><a id="l152" class='ln'>152</a></td><td><span class="ct">/* Invariant block signals for system '&lt;S82&gt;/pi_speed' */</span></td></tr>
 <tr name="153" id="153">
 <td><a id="l153" class='ln'>153</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
 <tr name="154" id="154">
-<td><a id="l154" class='ln'>154</a></td><td>  <a id="154c3" class="tk">ConstB_pi_speed</a> <a id="154c19" class="tk">pi_speed_g</a>;          <span class="ct">/* '&lt;S79&gt;/pi_speed' */</span></td></tr>
+<td><a id="l154" class='ln'>154</a></td><td>  <span class="kw">const</span> <a id="154c9" class="tk">int32_T</a> <a id="154c17" class="tk">DataTypeConversion2</a>;   <span class="ct">/* '&lt;S86&gt;/Data Type Conversion2' */</span></td></tr>
 <tr name="155" id="155">
-<td><a id="l155" class='ln'>155</a></td><td>  <a id="155c3" class="tk">ConstB_PI_backCalc_fixdt</a> <a id="155c28" class="tk">PI_id</a>;      <span class="ct">/* '&lt;S59&gt;/PI_id' */</span></td></tr>
+<td><a id="l155" class='ln'>155</a></td><td><span class="br">}</span> <a id="155c3" class="tk">ConstB_pi_speed</a>;</td></tr>
 <tr name="156" id="156">
-<td><a id="l156" class='ln'>156</a></td><td>  <a id="156c3" class="tk">ConstB_PI_backCalc_fixdt</a> <a id="156c28" class="tk">PI_iq</a>;      <span class="ct">/* '&lt;S60&gt;/PI_iq' */</span></td></tr>
+<td><a id="l156" class='ln'>156</a></td><td></td></tr>
 <tr name="157" id="157">
-<td><a id="l157" class='ln'>157</a></td><td><span class="br">}</span> <a id="157c3" class="tk">ConstB</a>;</td></tr>
+<td><a id="l157" class='ln'>157</a></td><td><span class="ct">/* Invariant block signals (default storage) */</span></td></tr>
 <tr name="158" id="158">
-<td><a id="l158" class='ln'>158</a></td><td></td></tr>
+<td><a id="l158" class='ln'>158</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
 <tr name="159" id="159">
-<td><a id="l159" class='ln'>159</a></td><td><span class="ct">/* Constant parameters (default storage) */</span></td></tr>
+<td><a id="l159" class='ln'>159</a></td><td>  <a id="159c3" class="tk">ConstB_pi_speed</a> <a id="159c19" class="tk">pi_speed_d</a>;          <span class="ct">/* '&lt;S82&gt;/pi_speed' */</span></td></tr>
 <tr name="160" id="160">
-<td><a id="l160" class='ln'>160</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
+<td><a id="l160" class='ln'>160</a></td><td>  <a id="160c3" class="tk">ConstB_PI_backCalc_fixdt</a> <a id="160c28" class="tk">PI_id</a>;      <span class="ct">/* '&lt;S56&gt;/PI_id' */</span></td></tr>
 <tr name="161" id="161">
-<td><a id="l161" class='ln'>161</a></td><td>  <span class="ct">/* Computed Parameter: r_cos_M1_Table</span></td></tr>
+<td><a id="l161" class='ln'>161</a></td><td>  <a id="161c3" class="tk">ConstB_PI_backCalc_fixdt</a> <a id="161c28" class="tk">PI_iq</a>;      <span class="ct">/* '&lt;S57&gt;/PI_iq' */</span></td></tr>
 <tr name="162" id="162">
-<td><a id="l162" class='ln'>162</a></td><td><span class="ct">   * Referenced by: '&lt;S58&gt;/r_cos_M1'</span></td></tr>
+<td><a id="l162" class='ln'>162</a></td><td><span class="br">}</span> <a id="162c3" class="tk">ConstB</a>;</td></tr>
 <tr name="163" id="163">
-<td><a id="l163" class='ln'>163</a></td><td><span class="ct">   */</span></td></tr>
+<td><a id="l163" class='ln'>163</a></td><td></td></tr>
 <tr name="164" id="164">
-<td><a id="l164" class='ln'>164</a></td><td>  <a id="164c3" class="tk">int16_T</a> <a id="164c11" class="tk">r_cos_M1_Table</a>[1441];</td></tr>
+<td><a id="l164" class='ln'>164</a></td><td><span class="ct">/* Constant parameters (default storage) */</span></td></tr>
 <tr name="165" id="165">
-<td><a id="l165" class='ln'>165</a></td><td></td></tr>
+<td><a id="l165" class='ln'>165</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
 <tr name="166" id="166">
-<td><a id="l166" class='ln'>166</a></td><td>  <span class="ct">/* Computed Parameter: r_sin_M1_Table</span></td></tr>
+<td><a id="l166" class='ln'>166</a></td><td>  <span class="ct">/* Computed Parameter: r_cos_M1_Table</span></td></tr>
 <tr name="167" id="167">
-<td><a id="l167" class='ln'>167</a></td><td><span class="ct">   * Referenced by: '&lt;S58&gt;/r_sin_M1'</span></td></tr>
+<td><a id="l167" class='ln'>167</a></td><td><span class="ct">   * Referenced by: '&lt;S55&gt;/r_cos_M1'</span></td></tr>
 <tr name="168" id="168">
 <td><a id="l168" class='ln'>168</a></td><td><span class="ct">   */</span></td></tr>
 <tr name="169" id="169">
-<td><a id="l169" class='ln'>169</a></td><td>  <a id="169c3" class="tk">int16_T</a> <a id="169c11" class="tk">r_sin_M1_Table</a>[1441];</td></tr>
+<td><a id="l169" class='ln'>169</a></td><td>  <a id="169c3" class="tk">int16_T</a> <a id="169c11" class="tk">r_cos_M1_Table</a>[1441];</td></tr>
 <tr name="170" id="170">
 <td><a id="l170" class='ln'>170</a></td><td></td></tr>
 <tr name="171" id="171">
-<td><a id="l171" class='ln'>171</a></td><td>  <span class="ct">/* Computed Parameter: Vq_max_M1_Table</span></td></tr>
+<td><a id="l171" class='ln'>171</a></td><td>  <span class="ct">/* Computed Parameter: r_sin_M1_Table</span></td></tr>
 <tr name="172" id="172">
-<td><a id="l172" class='ln'>172</a></td><td><span class="ct">   * Referenced by: '&lt;S48&gt;/Vq_max_M1'</span></td></tr>
+<td><a id="l172" class='ln'>172</a></td><td><span class="ct">   * Referenced by: '&lt;S55&gt;/r_sin_M1'</span></td></tr>
 <tr name="173" id="173">
 <td><a id="l173" class='ln'>173</a></td><td><span class="ct">   */</span></td></tr>
 <tr name="174" id="174">
-<td><a id="l174" class='ln'>174</a></td><td>  <a id="174c3" class="tk">int16_T</a> <a id="174c11" class="tk">Vq_max_M1_Table</a>[46];</td></tr>
+<td><a id="l174" class='ln'>174</a></td><td>  <a id="174c3" class="tk">int16_T</a> <a id="174c11" class="tk">r_sin_M1_Table</a>[1441];</td></tr>
 <tr name="175" id="175">
 <td><a id="l175" class='ln'>175</a></td><td></td></tr>
 <tr name="176" id="176">
-<td><a id="l176" class='ln'>176</a></td><td>  <span class="ct">/* Computed Parameter: iq_maxSca_M1_Table</span></td></tr>
+<td><a id="l176" class='ln'>176</a></td><td>  <span class="ct">/* Computed Parameter: vec_hallToPos_Value</span></td></tr>
 <tr name="177" id="177">
-<td><a id="l177" class='ln'>177</a></td><td><span class="ct">   * Referenced by: '&lt;S48&gt;/iq_maxSca_M1'</span></td></tr>
+<td><a id="l177" class='ln'>177</a></td><td><span class="ct">   * Referenced by: '&lt;S11&gt;/vec_hallToPos'</span></td></tr>
 <tr name="178" id="178">
 <td><a id="l178" class='ln'>178</a></td><td><span class="ct">   */</span></td></tr>
 <tr name="179" id="179">
-<td><a id="l179" class='ln'>179</a></td><td>  <a id="179c3" class="tk">uint16_T</a> <a id="179c12" class="tk">iq_maxSca_M1_Table</a>[50];</td></tr>
+<td><a id="l179" class='ln'>179</a></td><td>  <a id="179c3" class="tk">int8_T</a> <a id="179c10" class="tk">vec_hallToPos_Value</a>[8];</td></tr>
 <tr name="180" id="180">
-<td><a id="l180" class='ln'>180</a></td><td></td></tr>
+<td><a id="l180" class='ln'>180</a></td><td><span class="br">}</span> <a id="180c3" class="tk">ConstP</a>;</td></tr>
 <tr name="181" id="181">
-<td><a id="l181" class='ln'>181</a></td><td>  <span class="ct">/* Computed Parameter: vec_hallToPos_Value</span></td></tr>
+<td><a id="l181" class='ln'>181</a></td><td></td></tr>
 <tr name="182" id="182">
-<td><a id="l182" class='ln'>182</a></td><td><span class="ct">   * Referenced by: '&lt;S11&gt;/vec_hallToPos'</span></td></tr>
+<td><a id="l182" class='ln'>182</a></td><td><span class="ct">/* External inputs (root inport signals with default storage) */</span></td></tr>
 <tr name="183" id="183">
-<td><a id="l183" class='ln'>183</a></td><td><span class="ct">   */</span></td></tr>
+<td><a id="l183" class='ln'>183</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
 <tr name="184" id="184">
-<td><a id="l184" class='ln'>184</a></td><td>  <a id="184c3" class="tk">int8_T</a> <a id="184c10" class="tk">vec_hallToPos_Value</a>[8];</td></tr>
+<td><a id="l184" class='ln'>184</a></td><td>  <a id="184c3" class="tk">int16_T</a> <a id="184c11" class="tk">adc_a</a>;                       <span class="ct">/* '&lt;Root&gt;/adc_a' */</span></td></tr>
 <tr name="185" id="185">
-<td><a id="l185" class='ln'>185</a></td><td><span class="br">}</span> <a id="185c3" class="tk">ConstP</a>;</td></tr>
+<td><a id="l185" class='ln'>185</a></td><td>  <a id="185c3" class="tk">int16_T</a> <a id="185c11" class="tk">adc_b</a>;                       <span class="ct">/* '&lt;Root&gt;/adc_b' */</span></td></tr>
 <tr name="186" id="186">
-<td><a id="l186" class='ln'>186</a></td><td></td></tr>
+<td><a id="l186" class='ln'>186</a></td><td>  <a id="186c3" class="tk">int16_T</a> <a id="186c11" class="tk">input_target</a>;                <span class="ct">/* '&lt;Root&gt;/input_target' */</span></td></tr>
 <tr name="187" id="187">
-<td><a id="l187" class='ln'>187</a></td><td><span class="ct">/* External inputs (root inport signals with default storage) */</span></td></tr>
+<td><a id="l187" class='ln'>187</a></td><td>  <a id="187c3" class="tk">uint8_T</a> <a id="187c11" class="tk">hall_a</a>;                      <span class="ct">/* '&lt;Root&gt;/hall_a' */</span></td></tr>
 <tr name="188" id="188">
-<td><a id="l188" class='ln'>188</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
+<td><a id="l188" class='ln'>188</a></td><td>  <a id="188c3" class="tk">uint8_T</a> <a id="188c11" class="tk">hall_b</a>;                      <span class="ct">/* '&lt;Root&gt;/hall_b' */</span></td></tr>
 <tr name="189" id="189">
-<td><a id="l189" class='ln'>189</a></td><td>  <a id="189c3" class="tk">int16_T</a> <a id="189c11" class="tk">adc_a</a>;                       <span class="ct">/* '&lt;Root&gt;/adc_a' */</span></td></tr>
+<td><a id="l189" class='ln'>189</a></td><td>  <a id="189c3" class="tk">uint8_T</a> <a id="189c11" class="tk">hall_c</a>;                      <span class="ct">/* '&lt;Root&gt;/hall_c' */</span></td></tr>
 <tr name="190" id="190">
-<td><a id="l190" class='ln'>190</a></td><td>  <a id="190c3" class="tk">int16_T</a> <a id="190c11" class="tk">adc_b</a>;                       <span class="ct">/* '&lt;Root&gt;/adc_b' */</span></td></tr>
+<td><a id="l190" class='ln'>190</a></td><td>  <a id="190c3" class="tk">uint32_T</a> <a id="190c12" class="tk">hw_count</a>;                   <span class="ct">/* '&lt;Root&gt;/hw_count' */</span></td></tr>
 <tr name="191" id="191">
-<td><a id="l191" class='ln'>191</a></td><td>  <a id="191c3" class="tk">int16_T</a> <a id="191c11" class="tk">open_theta</a>;                  <span class="ct">/* '&lt;Root&gt;/open_theta' */</span></td></tr>
+<td><a id="l191" class='ln'>191</a></td><td>  <a id="191c3" class="tk">boolean_T</a> <a id="191c13" class="tk">b_motEna</a>;                  <span class="ct">/* '&lt;Root&gt;/b_motEna' */</span></td></tr>
 <tr name="192" id="192">
-<td><a id="l192" class='ln'>192</a></td><td>  <a id="192c3" class="tk">int16_T</a> <a id="192c11" class="tk">rotor_speed</a>;                 <span class="ct">/* '&lt;Root&gt;/rotor_speed' */</span></td></tr>
+<td><a id="l192" class='ln'>192</a></td><td>  <a id="192c3" class="tk">boolean_T</a> <a id="192c13" class="tk">b_cruiseEna</a>;               <span class="ct">/* '&lt;Root&gt;/b_cruiseEna' */</span></td></tr>
 <tr name="193" id="193">
-<td><a id="l193" class='ln'>193</a></td><td>  <a id="193c3" class="tk">int16_T</a> <a id="193c11" class="tk">input_target</a>;                <span class="ct">/* '&lt;Root&gt;/input_target' */</span></td></tr>
+<td><a id="l193" class='ln'>193</a></td><td>  <a id="193c3" class="tk">uint8_T</a> <a id="193c11" class="tk">n_ctrlModReq</a>;                <span class="ct">/* '&lt;Root&gt;/n_ctrlModReq' */</span></td></tr>
 <tr name="194" id="194">
-<td><a id="l194" class='ln'>194</a></td><td>  <a id="194c3" class="tk">uint8_T</a> <a id="194c11" class="tk">hall_a</a>;                      <span class="ct">/* '&lt;Root&gt;/hall_a' */</span></td></tr>
+<td><a id="l194" class='ln'>194</a></td><td>  <a id="194c3" class="tk">int16_T</a> <a id="194c11" class="tk">i_dc_limit</a>;                  <span class="ct">/* '&lt;Root&gt;/i_dc_limit' */</span></td></tr>
 <tr name="195" id="195">
-<td><a id="l195" class='ln'>195</a></td><td>  <a id="195c3" class="tk">uint8_T</a> <a id="195c11" class="tk">hall_b</a>;                      <span class="ct">/* '&lt;Root&gt;/hall_b' */</span></td></tr>
+<td><a id="l195" class='ln'>195</a></td><td>  <a id="195c3" class="tk">int16_T</a> <a id="195c11" class="tk">speed_limit</a>;                 <span class="ct">/* '&lt;Root&gt;/speed_limit' */</span></td></tr>
 <tr name="196" id="196">
-<td><a id="l196" class='ln'>196</a></td><td>  <a id="196c3" class="tk">uint8_T</a> <a id="196c11" class="tk">hall_c</a>;                      <span class="ct">/* '&lt;Root&gt;/hall_c' */</span></td></tr>
+<td><a id="l196" class='ln'>196</a></td><td>  <a id="196c3" class="tk">int16_T</a> <a id="196c11" class="tk">vbus_voltage</a>;                <span class="ct">/* '&lt;Root&gt;/vbus_voltage' */</span></td></tr>
 <tr name="197" id="197">
-<td><a id="l197" class='ln'>197</a></td><td>  <a id="197c3" class="tk">uint32_T</a> <a id="197c12" class="tk">hw_count</a>;                   <span class="ct">/* '&lt;Root&gt;/hw_count' */</span></td></tr>
+<td><a id="l197" class='ln'>197</a></td><td>  <a id="197c3" class="tk">uint16_T</a> <a id="197c12" class="tk">foc_calibrate</a>;              <span class="ct">/* '&lt;Root&gt;/foc_calibrate' */</span></td></tr>
 <tr name="198" id="198">
-<td><a id="l198" class='ln'>198</a></td><td>  <a id="198c3" class="tk">boolean_T</a> <a id="198c13" class="tk">b_motEna</a>;                  <span class="ct">/* '&lt;Root&gt;/b_motEna' */</span></td></tr>
+<td><a id="l198" class='ln'>198</a></td><td>  <a id="198c3" class="tk">int16_T</a> <a id="198c11" class="tk">vdq_open_target</a>[2];          <span class="ct">/* '&lt;Root&gt;/vdq_open_target' */</span></td></tr>
 <tr name="199" id="199">
-<td><a id="l199" class='ln'>199</a></td><td>  <a id="199c3" class="tk">boolean_T</a> <a id="199c13" class="tk">b_cruiseEna</a>;               <span class="ct">/* '&lt;Root&gt;/b_cruiseEna' */</span></td></tr>
+<td><a id="l199" class='ln'>199</a></td><td>  <a id="199c3" class="tk">int16_T</a> <a id="199c11" class="tk">open_theta</a>;                  <span class="ct">/* '&lt;Root&gt;/open_theta' */</span></td></tr>
 <tr name="200" id="200">
-<td><a id="l200" class='ln'>200</a></td><td>  <a id="200c3" class="tk">uint8_T</a> <a id="200c11" class="tk">n_ctrlModReq</a>;                <span class="ct">/* '&lt;Root&gt;/n_ctrlModReq' */</span></td></tr>
+<td><a id="l200" class='ln'>200</a></td><td><span class="br">}</span> <a id="200c3" class="tk">ExtU</a>;</td></tr>
 <tr name="201" id="201">
-<td><a id="l201" class='ln'>201</a></td><td>  <a id="201c3" class="tk">int16_T</a> <a id="201c11" class="tk">i_dc_limit</a>;                  <span class="ct">/* '&lt;Root&gt;/i_dc_limit' */</span></td></tr>
+<td><a id="l201" class='ln'>201</a></td><td></td></tr>
 <tr name="202" id="202">
-<td><a id="l202" class='ln'>202</a></td><td>  <a id="202c3" class="tk">int16_T</a> <a id="202c11" class="tk">speed_limit</a>;                 <span class="ct">/* '&lt;Root&gt;/speed_limit' */</span></td></tr>
+<td><a id="l202" class='ln'>202</a></td><td><span class="ct">/* External outputs (root outports fed by signals with default storage) */</span></td></tr>
 <tr name="203" id="203">
-<td><a id="l203" class='ln'>203</a></td><td>  <a id="203c3" class="tk">int16_T</a> <a id="203c11" class="tk">vbus_voltage</a>;                <span class="ct">/* '&lt;Root&gt;/vbus_voltage' */</span></td></tr>
+<td><a id="l203" class='ln'>203</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
 <tr name="204" id="204">
-<td><a id="l204" class='ln'>204</a></td><td>  <a id="204c3" class="tk">boolean_T</a> <a id="204c13" class="tk">b_hall_calibrate</a>;          <span class="ct">/* '&lt;Root&gt;/b_hall_calibrate' */</span></td></tr>
+<td><a id="l204" class='ln'>204</a></td><td>  <a id="204c3" class="tk">uint16_T</a> <a id="204c12" class="tk">PWM</a>[3];                     <span class="ct">/* '&lt;Root&gt;/PWM' */</span></td></tr>
 <tr name="205" id="205">
-<td><a id="l205" class='ln'>205</a></td><td>  <a id="205c3" class="tk">int16_T</a> <a id="205c11" class="tk">vd_open_target</a>;              <span class="ct">/* '&lt;Root&gt;/vd_open_target' */</span></td></tr>
+<td><a id="l205" class='ln'>205</a></td><td>  <a id="205c3" class="tk">uint8_T</a> <a id="205c11" class="tk">sector</a>;                      <span class="ct">/* '&lt;Root&gt;/sector' */</span></td></tr>
 <tr name="206" id="206">
-<td><a id="l206" class='ln'>206</a></td><td>  <a id="206c3" class="tk">int16_T</a> <a id="206c11" class="tk">vq_open_target</a>;              <span class="ct">/* '&lt;Root&gt;/vq_open_target' */</span></td></tr>
+<td><a id="l206" class='ln'>206</a></td><td>  <a id="206c3" class="tk">uint8_T</a> <a id="206c11" class="tk">n_MotError</a>;                  <span class="ct">/* '&lt;Root&gt;/n_MotError' */</span></td></tr>
 <tr name="207" id="207">
-<td><a id="l207" class='ln'>207</a></td><td><span class="br">}</span> <a id="207c3" class="tk">ExtU</a>;</td></tr>
+<td><a id="l207" class='ln'>207</a></td><td>  <a id="207c3" class="tk">int16_T</a> <a id="207c11" class="tk">VqPrev</a>;                      <span class="ct">/* '&lt;Root&gt;/VqPrev' */</span></td></tr>
 <tr name="208" id="208">
-<td><a id="l208" class='ln'>208</a></td><td></td></tr>
+<td><a id="l208" class='ln'>208</a></td><td>  <a id="208c3" class="tk">int16_T</a> <a id="208c11" class="tk">VdPrev</a>;                      <span class="ct">/* '&lt;Root&gt;/VdPrev' */</span></td></tr>
 <tr name="209" id="209">
-<td><a id="l209" class='ln'>209</a></td><td><span class="ct">/* External outputs (root outports fed by signals with default storage) */</span></td></tr>
+<td><a id="l209" class='ln'>209</a></td><td>  <a id="209c3" class="tk">int16_T</a> <a id="209c11" class="tk">iq</a>;                          <span class="ct">/* '&lt;Root&gt;/iq' */</span></td></tr>
 <tr name="210" id="210">
-<td><a id="l210" class='ln'>210</a></td><td><span class="kw">typedef</span> <span class="kw">struct</span> <span class="br">{</span></td></tr>
+<td><a id="l210" class='ln'>210</a></td><td>  <a id="210c3" class="tk">int16_T</a> <a id="210c11" class="tk">id</a>;                          <span class="ct">/* '&lt;Root&gt;/id' */</span></td></tr>
 <tr name="211" id="211">
-<td><a id="l211" class='ln'>211</a></td><td>  <a id="211c3" class="tk">uint16_T</a> <a id="211c12" class="tk">PWM</a>[3];                     <span class="ct">/* '&lt;Root&gt;/PWM' */</span></td></tr>
+<td><a id="l211" class='ln'>211</a></td><td>  <a id="211c3" class="tk">int16_T</a> <a id="211c11" class="tk">angle</a>;                       <span class="ct">/* '&lt;Root&gt;/angle' */</span></td></tr>
 <tr name="212" id="212">
-<td><a id="l212" class='ln'>212</a></td><td>  <a id="212c3" class="tk">uint8_T</a> <a id="212c11" class="tk">sector</a>;                      <span class="ct">/* '&lt;Root&gt;/sector' */</span></td></tr>
+<td><a id="l212" class='ln'>212</a></td><td>  <a id="212c3" class="tk">int16_T</a> <a id="212c11" class="tk">rpm</a>;                         <span class="ct">/* '&lt;Root&gt;/rpm' */</span></td></tr>
 <tr name="213" id="213">
-<td><a id="l213" class='ln'>213</a></td><td>  <a id="213c3" class="tk">uint8_T</a> <a id="213c11" class="tk">n_MotError</a>;                  <span class="ct">/* '&lt;Root&gt;/n_MotError' */</span></td></tr>
+<td><a id="l213" class='ln'>213</a></td><td>  <a id="213c3" class="tk">int16_T</a> <a id="213c11" class="tk">hall_angle</a>;                  <span class="ct">/* '&lt;Root&gt;/hall_angle' */</span></td></tr>
 <tr name="214" id="214">
-<td><a id="l214" class='ln'>214</a></td><td>  <a id="214c3" class="tk">int16_T</a> <a id="214c11" class="tk">VqPrev</a>;                      <span class="ct">/* '&lt;Root&gt;/VqPrev' */</span></td></tr>
+<td><a id="l214" class='ln'>214</a></td><td>  <a id="214c3" class="tk">uint8_T</a> <a id="214c11" class="tk">hall_state</a>;                  <span class="ct">/* '&lt;Root&gt;/hall_state' */</span></td></tr>
 <tr name="215" id="215">
-<td><a id="l215" class='ln'>215</a></td><td>  <a id="215c3" class="tk">int16_T</a> <a id="215c11" class="tk">VdPrev</a>;                      <span class="ct">/* '&lt;Root&gt;/VdPrev' */</span></td></tr>
+<td><a id="l215" class='ln'>215</a></td><td>  <a id="215c3" class="tk">uint8_T</a> <a id="215c11" class="tk">running_mode</a>;                <span class="ct">/* '&lt;Root&gt;/running_mode' */</span></td></tr>
 <tr name="216" id="216">
-<td><a id="l216" class='ln'>216</a></td><td>  <a id="216c3" class="tk">int16_T</a> <a id="216c11" class="tk">iq</a>;                          <span class="ct">/* '&lt;Root&gt;/iq' */</span></td></tr>
+<td><a id="l216" class='ln'>216</a></td><td><span class="br">}</span> <a id="216c3" class="tk">ExtY</a>;</td></tr>
 <tr name="217" id="217">
-<td><a id="l217" class='ln'>217</a></td><td>  <a id="217c3" class="tk">int16_T</a> <a id="217c11" class="tk">id</a>;                          <span class="ct">/* '&lt;Root&gt;/id' */</span></td></tr>
+<td><a id="l217" class='ln'>217</a></td><td></td></tr>
 <tr name="218" id="218">
-<td><a id="l218" class='ln'>218</a></td><td>  <a id="218c3" class="tk">int16_T</a> <a id="218c11" class="tk">angle</a>;                       <span class="ct">/* '&lt;Root&gt;/angle' */</span></td></tr>
+<td><a id="l218" class='ln'>218</a></td><td><span class="ct">/* Real-time Model Data Structure */</span></td></tr>
 <tr name="219" id="219">
-<td><a id="l219" class='ln'>219</a></td><td>  <a id="219c3" class="tk">int16_T</a> <a id="219c11" class="tk">rpm</a>;                         <span class="ct">/* '&lt;Root&gt;/rpm' */</span></td></tr>
+<td><a id="l219" class='ln'>219</a></td><td><span class="kw">struct</span> <a id="219c8" class="tk">tag_RTM</a> <span class="br">{</span></td></tr>
 <tr name="220" id="220">
-<td><a id="l220" class='ln'>220</a></td><td>  <a id="220c3" class="tk">int16_T</a> <a id="220c11" class="tk">hall_angle</a>;                  <span class="ct">/* '&lt;Root&gt;/hall_angle' */</span></td></tr>
+<td><a id="l220" class='ln'>220</a></td><td>  <span class="kw">const</span> <a id="220c9" class="tk">char_T</a> <a id="220c16" class="tk">*</a> <span class="kw">volatile</span> <a id="220c27" class="tk">errorStatus</a>;</td></tr>
 <tr name="221" id="221">
-<td><a id="l221" class='ln'>221</a></td><td>  <a id="221c3" class="tk">uint8_T</a> <a id="221c11" class="tk">hall_state</a>;                  <span class="ct">/* '&lt;Root&gt;/hall_state' */</span></td></tr>
+<td><a id="l221" class='ln'>221</a></td><td>  <a id="221c3" class="tk">PrevZCX</a> <a id="221c11" class="tk">*</a><a id="221c12" class="tk">prevZCSigState</a>;</td></tr>
 <tr name="222" id="222">
-<td><a id="l222" class='ln'>222</a></td><td>  <a id="222c3" class="tk">uint8_T</a> <a id="222c11" class="tk">running_mode</a>;                <span class="ct">/* '&lt;Root&gt;/running_mode' */</span></td></tr>
+<td><a id="l222" class='ln'>222</a></td><td>  <a id="222c3" class="tk">ExtU</a> <a id="222c8" class="tk">*</a><a id="222c9" class="tk">inputs</a>;</td></tr>
 <tr name="223" id="223">
-<td><a id="l223" class='ln'>223</a></td><td><span class="br">}</span> <a id="223c3" class="tk">ExtY</a>;</td></tr>
+<td><a id="l223" class='ln'>223</a></td><td>  <a id="223c3" class="tk">ExtY</a> <a id="223c8" class="tk">*</a><a id="223c9" class="tk">outputs</a>;</td></tr>
 <tr name="224" id="224">
-<td><a id="l224" class='ln'>224</a></td><td></td></tr>
+<td><a id="l224" class='ln'>224</a></td><td>  <a id="224c3" class="tk">DW</a> <a id="224c6" class="tk">*</a><a id="224c7" class="tk">dwork</a>;</td></tr>
 <tr name="225" id="225">
-<td><a id="l225" class='ln'>225</a></td><td><span class="ct">/* Real-time Model Data Structure */</span></td></tr>
+<td><a id="l225" class='ln'>225</a></td><td><span class="br">}</span>;</td></tr>
 <tr name="226" id="226">
-<td><a id="l226" class='ln'>226</a></td><td><span class="kw">struct</span> <a id="226c8" class="tk">tag_RTM</a> <span class="br">{</span></td></tr>
+<td><a id="l226" class='ln'>226</a></td><td></td></tr>
 <tr name="227" id="227">
-<td><a id="l227" class='ln'>227</a></td><td>  <span class="kw">const</span> <a id="227c9" class="tk">char_T</a> <a id="227c16" class="tk">*</a> <span class="kw">volatile</span> <a id="227c27" class="tk">errorStatus</a>;</td></tr>
+<td><a id="l227" class='ln'>227</a></td><td><span class="kw">extern</span> <span class="kw">const</span> <a id="227c14" class="tk">ConstB</a> <a id="227c21" class="tk">rtConstB</a>;          <span class="ct">/* constant block i/o */</span></td></tr>
 <tr name="228" id="228">
-<td><a id="l228" class='ln'>228</a></td><td>  <a id="228c3" class="tk">PrevZCX</a> <a id="228c11" class="tk">*</a><a id="228c12" class="tk">prevZCSigState</a>;</td></tr>
+<td><a id="l228" class='ln'>228</a></td><td></td></tr>
 <tr name="229" id="229">
-<td><a id="l229" class='ln'>229</a></td><td>  <a id="229c3" class="tk">ExtU</a> <a id="229c8" class="tk">*</a><a id="229c9" class="tk">inputs</a>;</td></tr>
+<td><a id="l229" class='ln'>229</a></td><td><span class="ct">/* Constant parameters (default storage) */</span></td></tr>
 <tr name="230" id="230">
-<td><a id="l230" class='ln'>230</a></td><td>  <a id="230c3" class="tk">ExtY</a> <a id="230c8" class="tk">*</a><a id="230c9" class="tk">outputs</a>;</td></tr>
+<td><a id="l230" class='ln'>230</a></td><td><span class="kw">extern</span> <span class="kw">const</span> <a id="230c14" class="tk">ConstP</a> <a id="230c21" class="tk">rtConstP</a>;</td></tr>
 <tr name="231" id="231">
-<td><a id="l231" class='ln'>231</a></td><td>  <a id="231c3" class="tk">DW</a> <a id="231c6" class="tk">*</a><a id="231c7" class="tk">dwork</a>;</td></tr>
+<td><a id="l231" class='ln'>231</a></td><td></td></tr>
 <tr name="232" id="232">
-<td><a id="l232" class='ln'>232</a></td><td><span class="br">}</span>;</td></tr>
+<td><a id="l232" class='ln'>232</a></td><td><span class="ct">/* Model entry point functions */</span></td></tr>
 <tr name="233" id="233">
-<td><a id="l233" class='ln'>233</a></td><td></td></tr>
+<td><a id="l233" class='ln'>233</a></td><td><span class="kw">extern</span> <span class="kw">void</span> <a id="233c13" class="tk">PMSM_Controller_initialize</a>(<a id="233c40" class="tk">RT_MODEL</a> <a id="233c49" class="tk">*</a><span class="kw">const</span> <a id="233c56" class="tk">rtM</a>);</td></tr>
 <tr name="234" id="234">
-<td><a id="l234" class='ln'>234</a></td><td><span class="kw">extern</span> <span class="kw">const</span> <a id="234c14" class="tk">ConstB</a> <a id="234c21" class="tk">rtConstB</a>;          <span class="ct">/* constant block i/o */</span></td></tr>
+<td><a id="l234" class='ln'>234</a></td><td><span class="kw">extern</span> <span class="kw">void</span> <a id="234c13" class="tk">PMSM_Controller_step</a>(<a id="234c34" class="tk">RT_MODEL</a> <a id="234c43" class="tk">*</a><span class="kw">const</span> <a id="234c50" class="tk">rtM</a>);</td></tr>
 <tr name="235" id="235">
 <td><a id="l235" class='ln'>235</a></td><td></td></tr>
 <tr name="236" id="236">
-<td><a id="l236" class='ln'>236</a></td><td><span class="ct">/* Constant parameters (default storage) */</span></td></tr>
+<td><a id="l236" class='ln'>236</a></td><td><span class="ct">/*-</span></td></tr>
 <tr name="237" id="237">
-<td><a id="l237" class='ln'>237</a></td><td><span class="kw">extern</span> <span class="kw">const</span> <a id="237c14" class="tk">ConstP</a> <a id="237c21" class="tk">rtConstP</a>;</td></tr>
+<td><a id="l237" class='ln'>237</a></td><td><span class="ct"> * These blocks were eliminated from the model due to optimizations:</span></td></tr>
 <tr name="238" id="238">
-<td><a id="l238" class='ln'>238</a></td><td></td></tr>
+<td><a id="l238" class='ln'>238</a></td><td><span class="ct"> *</span></td></tr>
 <tr name="239" id="239">
-<td><a id="l239" class='ln'>239</a></td><td><span class="ct">/* Model entry point functions */</span></td></tr>
+<td><a id="l239" class='ln'>239</a></td><td><span class="ct"> * Block '&lt;S2&gt;/Scope' : Unused code path elimination</span></td></tr>
 <tr name="240" id="240">
-<td><a id="l240" class='ln'>240</a></td><td><span class="kw">extern</span> <span class="kw">void</span> <a id="240c13" class="tk">PMSM_Controller_initialize</a>(<a id="240c40" class="tk">RT_MODEL</a> <a id="240c49" class="tk">*</a><span class="kw">const</span> <a id="240c56" class="tk">rtM</a>);</td></tr>
+<td><a id="l240" class='ln'>240</a></td><td><span class="ct"> * Block '&lt;S8&gt;/Scope' : Unused code path elimination</span></td></tr>
 <tr name="241" id="241">
-<td><a id="l241" class='ln'>241</a></td><td><span class="kw">extern</span> <span class="kw">void</span> <a id="241c13" class="tk">PMSM_Controller_step</a>(<a id="241c34" class="tk">RT_MODEL</a> <a id="241c43" class="tk">*</a><span class="kw">const</span> <a id="241c50" class="tk">rtM</a>);</td></tr>
+<td><a id="l241" class='ln'>241</a></td><td><span class="ct"> * Block '&lt;S10&gt;/Scope' : Unused code path elimination</span></td></tr>
 <tr name="242" id="242">
-<td><a id="l242" class='ln'>242</a></td><td></td></tr>
+<td><a id="l242" class='ln'>242</a></td><td><span class="ct"> * Block '&lt;S11&gt;/Scope' : Unused code path elimination</span></td></tr>
 <tr name="243" id="243">
-<td><a id="l243" class='ln'>243</a></td><td><span class="ct">/*-</span></td></tr>
+<td><a id="l243" class='ln'>243</a></td><td><span class="ct"> * Block '&lt;S3&gt;/Scope' : Unused code path elimination</span></td></tr>
 <tr name="244" id="244">
-<td><a id="l244" class='ln'>244</a></td><td><span class="ct"> * These blocks were eliminated from the model due to optimizations:</span></td></tr>
+<td><a id="l244" class='ln'>244</a></td><td><span class="ct"> * Block '&lt;S12&gt;/Logical Operator4' : Unused code path elimination</span></td></tr>
 <tr name="245" id="245">
-<td><a id="l245" class='ln'>245</a></td><td><span class="ct"> *</span></td></tr>
+<td><a id="l245" class='ln'>245</a></td><td><span class="ct"> * Block '&lt;S17&gt;/Abs2' : Unused code path elimination</span></td></tr>
 <tr name="246" id="246">
-<td><a id="l246" class='ln'>246</a></td><td><span class="ct"> * Block '&lt;S2&gt;/Scope' : Unused code path elimination</span></td></tr>
+<td><a id="l246" class='ln'>246</a></td><td><span class="ct"> * Block '&lt;S17&gt;/Add' : Unused code path elimination</span></td></tr>
 <tr name="247" id="247">
-<td><a id="l247" class='ln'>247</a></td><td><span class="ct"> * Block '&lt;S8&gt;/Scope' : Unused code path elimination</span></td></tr>
+<td><a id="l247" class='ln'>247</a></td><td><span class="ct"> * Block '&lt;S19&gt;/Compare' : Unused code path elimination</span></td></tr>
 <tr name="248" id="248">
-<td><a id="l248" class='ln'>248</a></td><td><span class="ct"> * Block '&lt;S10&gt;/Scope' : Unused code path elimination</span></td></tr>
+<td><a id="l248" class='ln'>248</a></td><td><span class="ct"> * Block '&lt;S19&gt;/Constant' : Unused code path elimination</span></td></tr>
 <tr name="249" id="249">
-<td><a id="l249" class='ln'>249</a></td><td><span class="ct"> * Block '&lt;S11&gt;/Scope' : Unused code path elimination</span></td></tr>
+<td><a id="l249" class='ln'>249</a></td><td><span class="ct"> * Block '&lt;S17&gt;/Scope1' : Unused code path elimination</span></td></tr>
 <tr name="250" id="250">
-<td><a id="l250" class='ln'>250</a></td><td><span class="ct"> * Block '&lt;S3&gt;/Scope' : Unused code path elimination</span></td></tr>
+<td><a id="l250" class='ln'>250</a></td><td><span class="ct"> * Block '&lt;S17&gt;/Sum7' : Unused code path elimination</span></td></tr>
 <tr name="251" id="251">
-<td><a id="l251" class='ln'>251</a></td><td><span class="ct"> * Block '&lt;S12&gt;/Logical Operator4' : Unused code path elimination</span></td></tr>
+<td><a id="l251" class='ln'>251</a></td><td><span class="ct"> * Block '&lt;S17&gt;/UnitDelay4' : Unused code path elimination</span></td></tr>
 <tr name="252" id="252">
-<td><a id="l252" class='ln'>252</a></td><td><span class="ct"> * Block '&lt;S17&gt;/Abs2' : Unused code path elimination</span></td></tr>
+<td><a id="l252" class='ln'>252</a></td><td><span class="ct"> * Block '&lt;S17&gt;/UnitDelay6' : Unused code path elimination</span></td></tr>
 <tr name="253" id="253">
-<td><a id="l253" class='ln'>253</a></td><td><span class="ct"> * Block '&lt;S17&gt;/Add' : Unused code path elimination</span></td></tr>
+<td><a id="l253" class='ln'>253</a></td><td><span class="ct"> * Block '&lt;S17&gt;/UnitDelay7' : Unused code path elimination</span></td></tr>
 <tr name="254" id="254">
-<td><a id="l254" class='ln'>254</a></td><td><span class="ct"> * Block '&lt;S19&gt;/Compare' : Unused code path elimination</span></td></tr>
+<td><a id="l254" class='ln'>254</a></td><td><span class="ct"> * Block '&lt;S17&gt;/UnitDelay8' : Unused code path elimination</span></td></tr>
 <tr name="255" id="255">
-<td><a id="l255" class='ln'>255</a></td><td><span class="ct"> * Block '&lt;S19&gt;/Constant' : Unused code path elimination</span></td></tr>
+<td><a id="l255" class='ln'>255</a></td><td><span class="ct"> * Block '&lt;S17&gt;/dz_cntTrnsDet' : Unused code path elimination</span></td></tr>
 <tr name="256" id="256">
-<td><a id="l256" class='ln'>256</a></td><td><span class="ct"> * Block '&lt;S17&gt;/Sum7' : Unused code path elimination</span></td></tr>
+<td><a id="l256" class='ln'>256</a></td><td><span class="ct"> * Block '&lt;S12&gt;/Scope1' : Unused code path elimination</span></td></tr>
 <tr name="257" id="257">
-<td><a id="l257" class='ln'>257</a></td><td><span class="ct"> * Block '&lt;S17&gt;/UnitDelay4' : Unused code path elimination</span></td></tr>
+<td><a id="l257" class='ln'>257</a></td><td><span class="ct"> * Block '&lt;S12&gt;/Scope2' : Unused code path elimination</span></td></tr>
 <tr name="258" id="258">
-<td><a id="l258" class='ln'>258</a></td><td><span class="ct"> * Block '&lt;S17&gt;/UnitDelay6' : Unused code path elimination</span></td></tr>
+<td><a id="l258" class='ln'>258</a></td><td><span class="ct"> * Block '&lt;S4&gt;/Scope' : Unused code path elimination</span></td></tr>
 <tr name="259" id="259">
-<td><a id="l259" class='ln'>259</a></td><td><span class="ct"> * Block '&lt;S17&gt;/UnitDelay7' : Unused code path elimination</span></td></tr>
+<td><a id="l259" class='ln'>259</a></td><td><span class="ct"> * Block '&lt;S24&gt;/Scope' : Unused code path elimination</span></td></tr>
 <tr name="260" id="260">
-<td><a id="l260" class='ln'>260</a></td><td><span class="ct"> * Block '&lt;S17&gt;/UnitDelay8' : Unused code path elimination</span></td></tr>
+<td><a id="l260" class='ln'>260</a></td><td><span class="ct"> * Block '&lt;S29&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
 <tr name="261" id="261">
-<td><a id="l261" class='ln'>261</a></td><td><span class="ct"> * Block '&lt;S17&gt;/dz_cntTrnsDet' : Unused code path elimination</span></td></tr>
+<td><a id="l261" class='ln'>261</a></td><td><span class="ct"> * Block '&lt;S29&gt;/Data Type Propagation' : Unused code path elimination</span></td></tr>
 <tr name="262" id="262">
-<td><a id="l262" class='ln'>262</a></td><td><span class="ct"> * Block '&lt;S12&gt;/Scope1' : Unused code path elimination</span></td></tr>
+<td><a id="l262" class='ln'>262</a></td><td><span class="ct"> * Block '&lt;S28&gt;/Scope' : Unused code path elimination</span></td></tr>
 <tr name="263" id="263">
-<td><a id="l263" class='ln'>263</a></td><td><span class="ct"> * Block '&lt;S12&gt;/Scope2' : Unused code path elimination</span></td></tr>
+<td><a id="l263" class='ln'>263</a></td><td><span class="ct"> * Block '&lt;S28&gt;/Scope1' : Unused code path elimination</span></td></tr>
 <tr name="264" id="264">
-<td><a id="l264" class='ln'>264</a></td><td><span class="ct"> * Block '&lt;S27&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
+<td><a id="l264" class='ln'>264</a></td><td><span class="ct"> * Block '&lt;S26&gt;/Scope' : Unused code path elimination</span></td></tr>
 <tr name="265" id="265">
-<td><a id="l265" class='ln'>265</a></td><td><span class="ct"> * Block '&lt;S27&gt;/Data Type Propagation' : Unused code path elimination</span></td></tr>
+<td><a id="l265" class='ln'>265</a></td><td><span class="ct"> * Block '&lt;S1&gt;/Scope2' : Unused code path elimination</span></td></tr>
 <tr name="266" id="266">
-<td><a id="l266" class='ln'>266</a></td><td><span class="ct"> * Block '&lt;S28&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
+<td><a id="l266" class='ln'>266</a></td><td><span class="ct"> * Block '&lt;S52&gt;/Scope' : Unused code path elimination</span></td></tr>
 <tr name="267" id="267">
-<td><a id="l267" class='ln'>267</a></td><td><span class="ct"> * Block '&lt;S28&gt;/Data Type Propagation' : Unused code path elimination</span></td></tr>
+<td><a id="l267" class='ln'>267</a></td><td><span class="ct"> * Block '&lt;S43&gt;/Scope' : Unused code path elimination</span></td></tr>
 <tr name="268" id="268">
-<td><a id="l268" class='ln'>268</a></td><td><span class="ct"> * Block '&lt;S4&gt;/Scope' : Unused code path elimination</span></td></tr>
+<td><a id="l268" class='ln'>268</a></td><td><span class="ct"> * Block '&lt;S43&gt;/Scope1' : Unused code path elimination</span></td></tr>
 <tr name="269" id="269">
-<td><a id="l269" class='ln'>269</a></td><td><span class="ct"> * Block '&lt;S25&gt;/Scope' : Unused code path elimination</span></td></tr>
+<td><a id="l269" class='ln'>269</a></td><td><span class="ct"> * Block '&lt;S55&gt;/Scope' : Unused code path elimination</span></td></tr>
 <tr name="270" id="270">
-<td><a id="l270" class='ln'>270</a></td><td><span class="ct"> * Block '&lt;S33&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
+<td><a id="l270" class='ln'>270</a></td><td><span class="ct"> * Block '&lt;S45&gt;/Scope' : Unused code path elimination</span></td></tr>
 <tr name="271" id="271">
-<td><a id="l271" class='ln'>271</a></td><td><span class="ct"> * Block '&lt;S33&gt;/Data Type Propagation' : Unused code path elimination</span></td></tr>
+<td><a id="l271" class='ln'>271</a></td><td><span class="ct"> * Block '&lt;S61&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
 <tr name="272" id="272">
-<td><a id="l272" class='ln'>272</a></td><td><span class="ct"> * Block '&lt;S32&gt;/Scope' : Unused code path elimination</span></td></tr>
+<td><a id="l272" class='ln'>272</a></td><td><span class="ct"> * Block '&lt;S61&gt;/Data Type Propagation' : Unused code path elimination</span></td></tr>
 <tr name="273" id="273">
-<td><a id="l273" class='ln'>273</a></td><td><span class="ct"> * Block '&lt;S32&gt;/Scope1' : Unused code path elimination</span></td></tr>
+<td><a id="l273" class='ln'>273</a></td><td><span class="ct"> * Block '&lt;S59&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
 <tr name="274" id="274">
-<td><a id="l274" class='ln'>274</a></td><td><span class="ct"> * Block '&lt;S30&gt;/Scope' : Unused code path elimination</span></td></tr>
+<td><a id="l274" class='ln'>274</a></td><td><span class="ct"> * Block '&lt;S59&gt;/Data Type Propagation' : Unused code path elimination</span></td></tr>
 <tr name="275" id="275">
-<td><a id="l275" class='ln'>275</a></td><td><span class="ct"> * Block '&lt;S31&gt;/Scope' : Unused code path elimination</span></td></tr>
+<td><a id="l275" class='ln'>275</a></td><td><span class="ct"> * Block '&lt;S65&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
 <tr name="276" id="276">
-<td><a id="l276" class='ln'>276</a></td><td><span class="ct"> * Block '&lt;S1&gt;/Scope1' : Unused code path elimination</span></td></tr>
+<td><a id="l276" class='ln'>276</a></td><td><span class="ct"> * Block '&lt;S65&gt;/Data Type Propagation' : Unused code path elimination</span></td></tr>
 <tr name="277" id="277">
-<td><a id="l277" class='ln'>277</a></td><td><span class="ct"> * Block '&lt;S1&gt;/Scope2' : Unused code path elimination</span></td></tr>
+<td><a id="l277" class='ln'>277</a></td><td><span class="ct"> * Block '&lt;S63&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
 <tr name="278" id="278">
-<td><a id="l278" class='ln'>278</a></td><td><span class="ct"> * Block '&lt;S55&gt;/Scope' : Unused code path elimination</span></td></tr>
+<td><a id="l278" class='ln'>278</a></td><td><span class="ct"> * Block '&lt;S63&gt;/Data Type Propagation' : Unused code path elimination</span></td></tr>
 <tr name="279" id="279">
-<td><a id="l279" class='ln'>279</a></td><td><span class="ct"> * Block '&lt;S47&gt;/Scope' : Unused code path elimination</span></td></tr>
+<td><a id="l279" class='ln'>279</a></td><td><span class="ct"> * Block '&lt;S57&gt;/Scope' : Unused code path elimination</span></td></tr>
 <tr name="280" id="280">
-<td><a id="l280" class='ln'>280</a></td><td><span class="ct"> * Block '&lt;S47&gt;/Scope1' : Unused code path elimination</span></td></tr>
+<td><a id="l280" class='ln'>280</a></td><td><span class="ct"> * Block '&lt;S46&gt;/Scope' : Unused code path elimination</span></td></tr>
 <tr name="281" id="281">
-<td><a id="l281" class='ln'>281</a></td><td><span class="ct"> * Block '&lt;S58&gt;/Scope' : Unused code path elimination</span></td></tr>
+<td><a id="l281" class='ln'>281</a></td><td><span class="ct"> * Block '&lt;S67&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
 <tr name="282" id="282">
-<td><a id="l282" class='ln'>282</a></td><td><span class="ct"> * Block '&lt;S48&gt;/Scope' : Unused code path elimination</span></td></tr>
+<td><a id="l282" class='ln'>282</a></td><td><span class="ct"> * Block '&lt;S67&gt;/Data Type Propagation' : Unused code path elimination</span></td></tr>
 <tr name="283" id="283">
-<td><a id="l283" class='ln'>283</a></td><td><span class="ct"> * Block '&lt;S49&gt;/Scope1' : Unused code path elimination</span></td></tr>
+<td><a id="l283" class='ln'>283</a></td><td><span class="ct"> * Block '&lt;S66&gt;/Scope' : Unused code path elimination</span></td></tr>
 <tr name="284" id="284">
-<td><a id="l284" class='ln'>284</a></td><td><span class="ct"> * Block '&lt;S64&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
+<td><a id="l284" class='ln'>284</a></td><td><span class="ct"> * Block '&lt;S75&gt;/Scope' : Unused code path elimination</span></td></tr>
 <tr name="285" id="285">
-<td><a id="l285" class='ln'>285</a></td><td><span class="ct"> * Block '&lt;S64&gt;/Data Type Propagation' : Unused code path elimination</span></td></tr>
+<td><a id="l285" class='ln'>285</a></td><td><span class="ct"> * Block '&lt;S6&gt;/Scope12' : Unused code path elimination</span></td></tr>
 <tr name="286" id="286">
-<td><a id="l286" class='ln'>286</a></td><td><span class="ct"> * Block '&lt;S62&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
+<td><a id="l286" class='ln'>286</a></td><td><span class="ct"> * Block '&lt;S77&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
 <tr name="287" id="287">
-<td><a id="l287" class='ln'>287</a></td><td><span class="ct"> * Block '&lt;S62&gt;/Data Type Propagation' : Unused code path elimination</span></td></tr>
+<td><a id="l287" class='ln'>287</a></td><td><span class="ct"> * Block '&lt;S78&gt;/Scope' : Unused code path elimination</span></td></tr>
 <tr name="288" id="288">
-<td><a id="l288" class='ln'>288</a></td><td><span class="ct"> * Block '&lt;S68&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
+<td><a id="l288" class='ln'>288</a></td><td><span class="ct"> * Block '&lt;S78&gt;/Scope1' : Unused code path elimination</span></td></tr>
 <tr name="289" id="289">
-<td><a id="l289" class='ln'>289</a></td><td><span class="ct"> * Block '&lt;S68&gt;/Data Type Propagation' : Unused code path elimination</span></td></tr>
+<td><a id="l289" class='ln'>289</a></td><td><span class="ct"> * Block '&lt;S84&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
 <tr name="290" id="290">
-<td><a id="l290" class='ln'>290</a></td><td><span class="ct"> * Block '&lt;S66&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
+<td><a id="l290" class='ln'>290</a></td><td><span class="ct"> * Block '&lt;S84&gt;/Data Type Propagation' : Unused code path elimination</span></td></tr>
 <tr name="291" id="291">
-<td><a id="l291" class='ln'>291</a></td><td><span class="ct"> * Block '&lt;S66&gt;/Data Type Propagation' : Unused code path elimination</span></td></tr>
+<td><a id="l291" class='ln'>291</a></td><td><span class="ct"> * Block '&lt;S82&gt;/Scope' : Unused code path elimination</span></td></tr>
 <tr name="292" id="292">
-<td><a id="l292" class='ln'>292</a></td><td><span class="ct"> * Block '&lt;S60&gt;/Scope' : Unused code path elimination</span></td></tr>
+<td><a id="l292" class='ln'>292</a></td><td><span class="ct"> * Block '&lt;S82&gt;/Scope2' : Unused code path elimination</span></td></tr>
 <tr name="293" id="293">
-<td><a id="l293" class='ln'>293</a></td><td><span class="ct"> * Block '&lt;S50&gt;/Scope' : Unused code path elimination</span></td></tr>
+<td><a id="l293" class='ln'>293</a></td><td><span class="ct"> * Block '&lt;S87&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
 <tr name="294" id="294">
-<td><a id="l294" class='ln'>294</a></td><td><span class="ct"> * Block '&lt;S70&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
+<td><a id="l294" class='ln'>294</a></td><td><span class="ct"> * Block '&lt;S87&gt;/Data Type Propagation' : Unused code path elimination</span></td></tr>
 <tr name="295" id="295">
-<td><a id="l295" class='ln'>295</a></td><td><span class="ct"> * Block '&lt;S70&gt;/Data Type Propagation' : Unused code path elimination</span></td></tr>
+<td><a id="l295" class='ln'>295</a></td><td><span class="ct"> * Block '&lt;S88&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
 <tr name="296" id="296">
-<td><a id="l296" class='ln'>296</a></td><td><span class="ct"> * Block '&lt;S69&gt;/Scope' : Unused code path elimination</span></td></tr>
+<td><a id="l296" class='ln'>296</a></td><td><span class="ct"> * Block '&lt;S88&gt;/Data Type Propagation' : Unused code path elimination</span></td></tr>
 <tr name="297" id="297">
-<td><a id="l297" class='ln'>297</a></td><td><span class="ct"> * Block '&lt;S6&gt;/Scope12' : Unused code path elimination</span></td></tr>
+<td><a id="l297" class='ln'>297</a></td><td><span class="ct"> * Block '&lt;S83&gt;/Scope' : Unused code path elimination</span></td></tr>
 <tr name="298" id="298">
-<td><a id="l298" class='ln'>298</a></td><td><span class="ct"> * Block '&lt;S81&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
+<td><a id="l298" class='ln'>298</a></td><td><span class="ct"> * Block '&lt;S10&gt;/Manual Switch' : Eliminated due to constant selection input</span></td></tr>
 <tr name="299" id="299">
-<td><a id="l299" class='ln'>299</a></td><td><span class="ct"> * Block '&lt;S81&gt;/Data Type Propagation' : Unused code path elimination</span></td></tr>
+<td><a id="l299" class='ln'>299</a></td><td><span class="ct"> * Block '&lt;S24&gt;/Data Type Conversion' : Eliminate redundant data type conversion</span></td></tr>
 <tr name="300" id="300">
-<td><a id="l300" class='ln'>300</a></td><td><span class="ct"> * Block '&lt;S79&gt;/Scope' : Unused code path elimination</span></td></tr>
+<td><a id="l300" class='ln'>300</a></td><td><span class="ct"> * Block '&lt;S6&gt;/Data Type Conversion' : Eliminate redundant data type conversion</span></td></tr>
 <tr name="301" id="301">
-<td><a id="l301" class='ln'>301</a></td><td><span class="ct"> * Block '&lt;S79&gt;/Scope2' : Unused code path elimination</span></td></tr>
+<td><a id="l301" class='ln'>301</a></td><td><span class="ct"> * Block '&lt;S81&gt;/Data Type Conversion1' : Eliminate redundant data type conversion</span></td></tr>
 <tr name="302" id="302">
-<td><a id="l302" class='ln'>302</a></td><td><span class="ct"> * Block '&lt;S84&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
+<td><a id="l302" class='ln'>302</a></td><td><span class="ct"> * Block '&lt;S79&gt;/Data Type Conversion' : Eliminate redundant data type conversion</span></td></tr>
 <tr name="303" id="303">
-<td><a id="l303" class='ln'>303</a></td><td><span class="ct"> * Block '&lt;S84&gt;/Data Type Propagation' : Unused code path elimination</span></td></tr>
+<td><a id="l303" class='ln'>303</a></td><td><span class="ct"> * Block '&lt;S82&gt;/Manual Switch' : Eliminated due to constant selection input</span></td></tr>
 <tr name="304" id="304">
-<td><a id="l304" class='ln'>304</a></td><td><span class="ct"> * Block '&lt;S85&gt;/Data Type Duplicate' : Unused code path elimination</span></td></tr>
+<td><a id="l304" class='ln'>304</a></td><td><span class="ct"> * Block '&lt;S10&gt;/Constant' : Unused code path elimination</span></td></tr>
 <tr name="305" id="305">
-<td><a id="l305" class='ln'>305</a></td><td><span class="ct"> * Block '&lt;S85&gt;/Data Type Propagation' : Unused code path elimination</span></td></tr>
+<td><a id="l305" class='ln'>305</a></td><td><span class="ct"> * Block '&lt;S17&gt;/Divide14' : Unused code path elimination</span></td></tr>
 <tr name="306" id="306">
-<td><a id="l306" class='ln'>306</a></td><td><span class="ct"> * Block '&lt;S80&gt;/Scope' : Unused code path elimination</span></td></tr>
+<td><a id="l306" class='ln'>306</a></td><td><span class="ct"> * Block '&lt;S17&gt;/smooth' : Unused code path elimination</span></td></tr>
 <tr name="307" id="307">
-<td><a id="l307" class='ln'>307</a></td><td><span class="ct"> * Block '&lt;S10&gt;/Manual Switch' : Eliminated due to constant selection input</span></td></tr>
+<td><a id="l307" class='ln'>307</a></td><td><span class="ct"> * Block '&lt;S78&gt;/Constant1' : Unused code path elimination</span></td></tr>
 <tr name="308" id="308">
-<td><a id="l308" class='ln'>308</a></td><td><span class="ct"> * Block '&lt;S3&gt;/hall_motor_speed_choice' : Eliminated due to constant selection input</span></td></tr>
+<td><a id="l308" class='ln'>308</a></td><td><span class="ct"> * Block '&lt;S79&gt;/Add' : Unused code path elimination</span></td></tr>
 <tr name="309" id="309">
-<td><a id="l309" class='ln'>309</a></td><td><span class="ct"> * Block '&lt;S25&gt;/Data Type Conversion' : Eliminate redundant data type conversion</span></td></tr>
+<td><a id="l309" class='ln'>309</a></td><td><span class="ct"> * Block '&lt;S79&gt;/Add1' : Unused code path elimination</span></td></tr>
 <tr name="310" id="310">
-<td><a id="l310" class='ln'>310</a></td><td><span class="ct"> * Block '&lt;S6&gt;/Data Type Conversion' : Eliminate redundant data type conversion</span></td></tr>
+<td><a id="l310" class='ln'>310</a></td><td><span class="ct"> * Block '&lt;S79&gt;/Add2' : Unused code path elimination</span></td></tr>
 <tr name="311" id="311">
-<td><a id="l311" class='ln'>311</a></td><td><span class="ct"> * Block '&lt;S48&gt;/Data Type Conversion' : Eliminate redundant data type conversion</span></td></tr>
+<td><a id="l311" class='ln'>311</a></td><td><span class="ct"> * Block '&lt;S79&gt;/Constant1' : Unused code path elimination</span></td></tr>
 <tr name="312" id="312">
-<td><a id="l312" class='ln'>312</a></td><td><span class="ct"> * Block '&lt;S79&gt;/Manual Switch' : Eliminated due to constant selection input</span></td></tr>
+<td><a id="l312" class='ln'>312</a></td><td><span class="ct"> * Block '&lt;S79&gt;/Constant2' : Unused code path elimination</span></td></tr>
 <tr name="313" id="313">
-<td><a id="l313" class='ln'>313</a></td><td><span class="ct"> * Block '&lt;S10&gt;/Constant' : Unused code path elimination</span></td></tr>
+<td><a id="l313" class='ln'>313</a></td><td><span class="ct"> * Block '&lt;S79&gt;/Data Type Conversion1' : Unused code path elimination</span></td></tr>
 <tr name="314" id="314">
-<td><a id="l314" class='ln'>314</a></td><td><span class="ct"> * Block '&lt;S17&gt;/Divide14' : Unused code path elimination</span></td></tr>
+<td><a id="l314" class='ln'>314</a></td><td><span class="ct"> * Block '&lt;S79&gt;/Data Type Conversion2' : Unused code path elimination</span></td></tr>
 <tr name="315" id="315">
-<td><a id="l315" class='ln'>315</a></td><td><span class="ct"> * Block '&lt;S17&gt;/smooth' : Unused code path elimination</span></td></tr>
+<td><a id="l315" class='ln'>315</a></td><td><span class="ct"> * Block '&lt;S79&gt;/Gain' : Unused code path elimination</span></td></tr>
 <tr name="316" id="316">
-<td><a id="l316" class='ln'>316</a></td><td><span class="ct"> * Block '&lt;S79&gt;/Constant' : Unused code path elimination</span></td></tr>
+<td><a id="l316" class='ln'>316</a></td><td><span class="ct"> * Block '&lt;S79&gt;/Gain1' : Unused code path elimination</span></td></tr>
 <tr name="317" id="317">
-<td><a id="l317" class='ln'>317</a></td><td><span class="ct"> */</span></td></tr>
+<td><a id="l317" class='ln'>317</a></td><td><span class="ct"> * Block '&lt;S79&gt;/Math Function' : Unused code path elimination</span></td></tr>
 <tr name="318" id="318">
-<td><a id="l318" class='ln'>318</a></td><td></td></tr>
+<td><a id="l318" class='ln'>318</a></td><td><span class="ct"> * Block '&lt;S79&gt;/Math Function1' : Unused code path elimination</span></td></tr>
 <tr name="319" id="319">
-<td><a id="l319" class='ln'>319</a></td><td><span class="ct">/*-</span></td></tr>
+<td><a id="l319" class='ln'>319</a></td><td><span class="ct"> * Block '&lt;S79&gt;/Math Function2' : Unused code path elimination</span></td></tr>
 <tr name="320" id="320">
-<td><a id="l320" class='ln'>320</a></td><td><span class="ct"> * The generated code includes comments that allow you to trace directly</span></td></tr>
+<td><a id="l320" class='ln'>320</a></td><td><span class="ct"> * Block '&lt;S79&gt;/Sqrt' : Unused code path elimination</span></td></tr>
 <tr name="321" id="321">
-<td><a id="l321" class='ln'>321</a></td><td><span class="ct"> * back to the appropriate location in the model.  The basic format</span></td></tr>
+<td><a id="l321" class='ln'>321</a></td><td><span class="ct"> * Block '&lt;S79&gt;/Sqrt1' : Unused code path elimination</span></td></tr>
 <tr name="322" id="322">
-<td><a id="l322" class='ln'>322</a></td><td><span class="ct"> * is &lt;system&gt;/block_name, where system is the system number (uniquely</span></td></tr>
+<td><a id="l322" class='ln'>322</a></td><td><span class="ct"> * Block '&lt;S82&gt;/Constant' : Unused code path elimination</span></td></tr>
 <tr name="323" id="323">
-<td><a id="l323" class='ln'>323</a></td><td><span class="ct"> * assigned by Simulink) and block_name is the name of the block.</span></td></tr>
+<td><a id="l323" class='ln'>323</a></td><td><span class="ct"> */</span></td></tr>
 <tr name="324" id="324">
-<td><a id="l324" class='ln'>324</a></td><td><span class="ct"> *</span></td></tr>
+<td><a id="l324" class='ln'>324</a></td><td></td></tr>
 <tr name="325" id="325">
-<td><a id="l325" class='ln'>325</a></td><td><span class="ct"> * Note that this particular code originates from a subsystem build,</span></td></tr>
+<td><a id="l325" class='ln'>325</a></td><td><span class="ct">/*-</span></td></tr>
 <tr name="326" id="326">
-<td><a id="l326" class='ln'>326</a></td><td><span class="ct"> * and has its own system numbers different from the parent model.</span></td></tr>
+<td><a id="l326" class='ln'>326</a></td><td><span class="ct"> * The generated code includes comments that allow you to trace directly</span></td></tr>
 <tr name="327" id="327">
-<td><a id="l327" class='ln'>327</a></td><td><span class="ct"> * Refer to the system hierarchy for this subsystem below, and use the</span></td></tr>
+<td><a id="l327" class='ln'>327</a></td><td><span class="ct"> * back to the appropriate location in the model.  The basic format</span></td></tr>
 <tr name="328" id="328">
-<td><a id="l328" class='ln'>328</a></td><td><span class="ct"> * MATLAB hilite_system command to trace the generated code back</span></td></tr>
+<td><a id="l328" class='ln'>328</a></td><td><span class="ct"> * is &lt;system&gt;/block_name, where system is the system number (uniquely</span></td></tr>
 <tr name="329" id="329">
-<td><a id="l329" class='ln'>329</a></td><td><span class="ct"> * to the parent model.  For example,</span></td></tr>
+<td><a id="l329" class='ln'>329</a></td><td><span class="ct"> * assigned by Simulink) and block_name is the name of the block.</span></td></tr>
 <tr name="330" id="330">
 <td><a id="l330" class='ln'>330</a></td><td><span class="ct"> *</span></td></tr>
 <tr name="331" id="331">
-<td><a id="l331" class='ln'>331</a></td><td><span class="ct"> * hilite_system('MotorController_FOC/PMSM_Controller')    - opens subsystem MotorController_FOC/PMSM_Controller</span></td></tr>
+<td><a id="l331" class='ln'>331</a></td><td><span class="ct"> * Note that this particular code originates from a subsystem build,</span></td></tr>
 <tr name="332" id="332">
-<td><a id="l332" class='ln'>332</a></td><td><span class="ct"> * hilite_system('MotorController_FOC/PMSM_Controller/Kp') - opens and selects block Kp</span></td></tr>
+<td><a id="l332" class='ln'>332</a></td><td><span class="ct"> * and has its own system numbers different from the parent model.</span></td></tr>
 <tr name="333" id="333">
-<td><a id="l333" class='ln'>333</a></td><td><span class="ct"> *</span></td></tr>
+<td><a id="l333" class='ln'>333</a></td><td><span class="ct"> * Refer to the system hierarchy for this subsystem below, and use the</span></td></tr>
 <tr name="334" id="334">
-<td><a id="l334" class='ln'>334</a></td><td><span class="ct"> * Here is the system hierarchy for this model</span></td></tr>
+<td><a id="l334" class='ln'>334</a></td><td><span class="ct"> * MATLAB hilite_system command to trace the generated code back</span></td></tr>
 <tr name="335" id="335">
-<td><a id="l335" class='ln'>335</a></td><td><span class="ct"> *</span></td></tr>
+<td><a id="l335" class='ln'>335</a></td><td><span class="ct"> * to the parent model.  For example,</span></td></tr>
 <tr name="336" id="336">
-<td><a id="l336" class='ln'>336</a></td><td><span class="ct"> * '&lt;Root&gt;' : 'MotorController_FOC'</span></td></tr>
+<td><a id="l336" class='ln'>336</a></td><td><span class="ct"> *</span></td></tr>
 <tr name="337" id="337">
-<td><a id="l337" class='ln'>337</a></td><td><span class="ct"> * '&lt;S1&gt;'   : 'MotorController_FOC/PMSM_Controller'</span></td></tr>
+<td><a id="l337" class='ln'>337</a></td><td><span class="ct"> * hilite_system('MotorController_FOC/PMSM_Controller')    - opens subsystem MotorController_FOC/PMSM_Controller</span></td></tr>
 <tr name="338" id="338">
-<td><a id="l338" class='ln'>338</a></td><td><span class="ct"> * '&lt;S2&gt;'   : 'MotorController_FOC/PMSM_Controller/1ms_Scheduler'</span></td></tr>
+<td><a id="l338" class='ln'>338</a></td><td><span class="ct"> * hilite_system('MotorController_FOC/PMSM_Controller/Kp') - opens and selects block Kp</span></td></tr>
 <tr name="339" id="339">
-<td><a id="l339" class='ln'>339</a></td><td><span class="ct"> * '&lt;S3&gt;'   : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation'</span></td></tr>
+<td><a id="l339" class='ln'>339</a></td><td><span class="ct"> *</span></td></tr>
 <tr name="340" id="340">
-<td><a id="l340" class='ln'>340</a></td><td><span class="ct"> * '&lt;S4&gt;'   : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager'</span></td></tr>
+<td><a id="l340" class='ln'>340</a></td><td><span class="ct"> * Here is the system hierarchy for this model</span></td></tr>
 <tr name="341" id="341">
-<td><a id="l341" class='ln'>341</a></td><td><span class="ct"> * '&lt;S5&gt;'   : 'MotorController_FOC/PMSM_Controller/Diagnostics'</span></td></tr>
+<td><a id="l341" class='ln'>341</a></td><td><span class="ct"> *</span></td></tr>
 <tr name="342" id="342">
-<td><a id="l342" class='ln'>342</a></td><td><span class="ct"> * '&lt;S6&gt;'   : 'MotorController_FOC/PMSM_Controller/controller'</span></td></tr>
+<td><a id="l342" class='ln'>342</a></td><td><span class="ct"> * '&lt;Root&gt;' : 'MotorController_FOC'</span></td></tr>
 <tr name="343" id="343">
-<td><a id="l343" class='ln'>343</a></td><td><span class="ct"> * '&lt;S7&gt;'   : 'MotorController_FOC/PMSM_Controller/1ms_Scheduler/counter'</span></td></tr>
+<td><a id="l343" class='ln'>343</a></td><td><span class="ct"> * '&lt;S1&gt;'   : 'MotorController_FOC/PMSM_Controller'</span></td></tr>
 <tr name="344" id="344">
-<td><a id="l344" class='ln'>344</a></td><td><span class="ct"> * '&lt;S8&gt;'   : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Direction_Detection'</span></td></tr>
+<td><a id="l344" class='ln'>344</a></td><td><span class="ct"> * '&lt;S2&gt;'   : 'MotorController_FOC/PMSM_Controller/1ms_Scheduler'</span></td></tr>
 <tr name="345" id="345">
-<td><a id="l345" class='ln'>345</a></td><td><span class="ct"> * '&lt;S9&gt;'   : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Edge_Detect'</span></td></tr>
+<td><a id="l345" class='ln'>345</a></td><td><span class="ct"> * '&lt;S3&gt;'   : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation'</span></td></tr>
 <tr name="346" id="346">
-<td><a id="l346" class='ln'>346</a></td><td><span class="ct"> * '&lt;S10&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation'</span></td></tr>
+<td><a id="l346" class='ln'>346</a></td><td><span class="ct"> * '&lt;S4&gt;'   : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager'</span></td></tr>
 <tr name="347" id="347">
-<td><a id="l347" class='ln'>347</a></td><td><span class="ct"> * '&lt;S11&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Hall_Angle_Raw'</span></td></tr>
+<td><a id="l347" class='ln'>347</a></td><td><span class="ct"> * '&lt;S5&gt;'   : 'MotorController_FOC/PMSM_Controller/Diagnostics'</span></td></tr>
 <tr name="348" id="348">
-<td><a id="l348" class='ln'>348</a></td><td><span class="ct"> * '&lt;S12&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation'</span></td></tr>
+<td><a id="l348" class='ln'>348</a></td><td><span class="ct"> * '&lt;S6&gt;'   : 'MotorController_FOC/PMSM_Controller/controller'</span></td></tr>
 <tr name="349" id="349">
-<td><a id="l349" class='ln'>349</a></td><td><span class="ct"> * '&lt;S13&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation/degree_rad'</span></td></tr>
+<td><a id="l349" class='ln'>349</a></td><td><span class="ct"> * '&lt;S7&gt;'   : 'MotorController_FOC/PMSM_Controller/1ms_Scheduler/counter'</span></td></tr>
 <tr name="350" id="350">
-<td><a id="l350" class='ln'>350</a></td><td><span class="ct"> * '&lt;S14&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation/degree_rad/If Action Subsystem'</span></td></tr>
+<td><a id="l350" class='ln'>350</a></td><td><span class="ct"> * '&lt;S8&gt;'   : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Direction_Detection'</span></td></tr>
 <tr name="351" id="351">
-<td><a id="l351" class='ln'>351</a></td><td><span class="ct"> * '&lt;S15&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation/degree_rad/If Action Subsystem1'</span></td></tr>
+<td><a id="l351" class='ln'>351</a></td><td><span class="ct"> * '&lt;S9&gt;'   : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Edge_Detect'</span></td></tr>
 <tr name="352" id="352">
-<td><a id="l352" class='ln'>352</a></td><td><span class="ct"> * '&lt;S16&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation/degree_rad/If Action Subsystem2'</span></td></tr>
+<td><a id="l352" class='ln'>352</a></td><td><span class="ct"> * '&lt;S10&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation'</span></td></tr>
 <tr name="353" id="353">
-<td><a id="l353" class='ln'>353</a></td><td><span class="ct"> * '&lt;S17&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/Raw_Motor_Speed_Estimation'</span></td></tr>
+<td><a id="l353" class='ln'>353</a></td><td><span class="ct"> * '&lt;S11&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Hall_Angle_Raw'</span></td></tr>
 <tr name="354" id="354">
-<td><a id="l354" class='ln'>354</a></td><td><span class="ct"> * '&lt;S18&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/Subsystem'</span></td></tr>
+<td><a id="l354" class='ln'>354</a></td><td><span class="ct"> * '&lt;S12&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation'</span></td></tr>
 <tr name="355" id="355">
-<td><a id="l355" class='ln'>355</a></td><td><span class="ct"> * '&lt;S19&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/Raw_Motor_Speed_Estimation/Compare To Constant'</span></td></tr>
+<td><a id="l355" class='ln'>355</a></td><td><span class="ct"> * '&lt;S13&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation/degree_rad'</span></td></tr>
 <tr name="356" id="356">
-<td><a id="l356" class='ln'>356</a></td><td><span class="ct"> * '&lt;S20&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/Subsystem/Compare To Constant'</span></td></tr>
+<td><a id="l356" class='ln'>356</a></td><td><span class="ct"> * '&lt;S14&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation/degree_rad/If Action Subsystem'</span></td></tr>
 <tr name="357" id="357">
-<td><a id="l357" class='ln'>357</a></td><td><span class="ct"> * '&lt;S21&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Control_Mode_Manager'</span></td></tr>
+<td><a id="l357" class='ln'>357</a></td><td><span class="ct"> * '&lt;S15&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation/degree_rad/If Action Subsystem1'</span></td></tr>
 <tr name="358" id="358">
-<td><a id="l358" class='ln'>358</a></td><td><span class="ct"> * '&lt;S22&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Field_Weakening_Enabled'</span></td></tr>
+<td><a id="l358" class='ln'>358</a></td><td><span class="ct"> * '&lt;S16&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Electrical_Angle_Estimation/degree_rad/If Action Subsystem2'</span></td></tr>
 <tr name="359" id="359">
-<td><a id="l359" class='ln'>359</a></td><td><span class="ct"> * '&lt;S23&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Mode_Transition_Calculation'</span></td></tr>
+<td><a id="l359" class='ln'>359</a></td><td><span class="ct"> * '&lt;S17&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/Raw_Motor_Speed_Estimation'</span></td></tr>
 <tr name="360" id="360">
-<td><a id="l360" class='ln'>360</a></td><td><span class="ct"> * '&lt;S24&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Subsystem'</span></td></tr>
+<td><a id="l360" class='ln'>360</a></td><td><span class="ct"> * '&lt;S18&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/Subsystem'</span></td></tr>
 <tr name="361" id="361">
-<td><a id="l361" class='ln'>361</a></td><td><span class="ct"> * '&lt;S25&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale'</span></td></tr>
+<td><a id="l361" class='ln'>361</a></td><td><span class="ct"> * '&lt;S19&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/Raw_Motor_Speed_Estimation/Compare To Constant'</span></td></tr>
 <tr name="362" id="362">
-<td><a id="l362" class='ln'>362</a></td><td><span class="ct"> * '&lt;S26&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Field_Weakening_Enabled/Field_Weakening'</span></td></tr>
+<td><a id="l362" class='ln'>362</a></td><td><span class="ct"> * '&lt;S20&gt;'  : 'MotorController_FOC/PMSM_Controller/Angle_Speed_Estimation/Speed_Estimation/Subsystem/Compare To Constant'</span></td></tr>
 <tr name="363" id="363">
-<td><a id="l363" class='ln'>363</a></td><td><span class="ct"> * '&lt;S27&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Field_Weakening_Enabled/Field_Weakening/Saturation Dynamic'</span></td></tr>
+<td><a id="l363" class='ln'>363</a></td><td><span class="ct"> * '&lt;S21&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Control_Mode_Manager'</span></td></tr>
 <tr name="364" id="364">
-<td><a id="l364" class='ln'>364</a></td><td><span class="ct"> * '&lt;S28&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Field_Weakening_Enabled/Field_Weakening/Saturation Dynamic1'</span></td></tr>
+<td><a id="l364" class='ln'>364</a></td><td><span class="ct"> * '&lt;S22&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Mode_Transition_Calculation'</span></td></tr>
 <tr name="365" id="365">
-<td><a id="l365" class='ln'>365</a></td><td><span class="ct"> * '&lt;S29&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/If Action Subsystem'</span></td></tr>
+<td><a id="l365" class='ln'>365</a></td><td><span class="ct"> * '&lt;S23&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/Subsystem'</span></td></tr>
 <tr name="366" id="366">
-<td><a id="l366" class='ln'>366</a></td><td><span class="ct"> * '&lt;S30&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode'</span></td></tr>
+<td><a id="l366" class='ln'>366</a></td><td><span class="ct"> * '&lt;S24&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale'</span></td></tr>
 <tr name="367" id="367">
-<td><a id="l367" class='ln'>367</a></td><td><span class="ct"> * '&lt;S31&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/torque_mode'</span></td></tr>
+<td><a id="l367" class='ln'>367</a></td><td><span class="ct"> * '&lt;S25&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/If Action Subsystem'</span></td></tr>
 <tr name="368" id="368">
-<td><a id="l368" class='ln'>368</a></td><td><span class="ct"> * '&lt;S32&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control'</span></td></tr>
+<td><a id="l368" class='ln'>368</a></td><td><span class="ct"> * '&lt;S26&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode'</span></td></tr>
 <tr name="369" id="369">
-<td><a id="l369" class='ln'>369</a></td><td><span class="ct"> * '&lt;S33&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/Saturation Dynamic'</span></td></tr>
+<td><a id="l369" class='ln'>369</a></td><td><span class="ct"> * '&lt;S27&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/torque_mode'</span></td></tr>
 <tr name="370" id="370">
-<td><a id="l370" class='ln'>370</a></td><td><span class="ct"> * '&lt;S34&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/Subsystem'</span></td></tr>
+<td><a id="l370" class='ln'>370</a></td><td><span class="ct"> * '&lt;S28&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control'</span></td></tr>
 <tr name="371" id="371">
-<td><a id="l371" class='ln'>371</a></td><td><span class="ct"> * '&lt;S35&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/delayUnit'</span></td></tr>
+<td><a id="l371" class='ln'>371</a></td><td><span class="ct"> * '&lt;S29&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/Saturation Dynamic'</span></td></tr>
 <tr name="372" id="372">
-<td><a id="l372" class='ln'>372</a></td><td><span class="ct"> * '&lt;S36&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled'</span></td></tr>
+<td><a id="l372" class='ln'>372</a></td><td><span class="ct"> * '&lt;S30&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/Subsystem'</span></td></tr>
 <tr name="373" id="373">
-<td><a id="l373" class='ln'>373</a></td><td><span class="ct"> * '&lt;S37&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter'</span></td></tr>
+<td><a id="l373" class='ln'>373</a></td><td><span class="ct"> * '&lt;S31&gt;'  : 'MotorController_FOC/PMSM_Controller/Control_Mode_Manager/target_scale/open_mode/Rate_Control/delayUnit'</span></td></tr>
 <tr name="374" id="374">
-<td><a id="l374" class='ln'>374</a></td><td><span class="ct"> * '&lt;S38&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/either_edge'</span></td></tr>
+<td><a id="l374" class='ln'>374</a></td><td><span class="ct"> * '&lt;S32&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled'</span></td></tr>
 <tr name="375" id="375">
-<td><a id="l375" class='ln'>375</a></td><td><span class="ct"> * '&lt;S39&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Default'</span></td></tr>
+<td><a id="l375" class='ln'>375</a></td><td><span class="ct"> * '&lt;S33&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter'</span></td></tr>
 <tr name="376" id="376">
-<td><a id="l376" class='ln'>376</a></td><td><span class="ct"> * '&lt;S40&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification'</span></td></tr>
+<td><a id="l376" class='ln'>376</a></td><td><span class="ct"> * '&lt;S34&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/either_edge'</span></td></tr>
 <tr name="377" id="377">
-<td><a id="l377" class='ln'>377</a></td><td><span class="ct"> * '&lt;S41&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification'</span></td></tr>
+<td><a id="l377" class='ln'>377</a></td><td><span class="ct"> * '&lt;S35&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Default'</span></td></tr>
 <tr name="378" id="378">
-<td><a id="l378" class='ln'>378</a></td><td><span class="ct"> * '&lt;S42&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/either_edge'</span></td></tr>
+<td><a id="l378" class='ln'>378</a></td><td><span class="ct"> * '&lt;S36&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification'</span></td></tr>
 <tr name="379" id="379">
-<td><a id="l379" class='ln'>379</a></td><td><span class="ct"> * '&lt;S43&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification/Counter'</span></td></tr>
+<td><a id="l379" class='ln'>379</a></td><td><span class="ct"> * '&lt;S37&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification'</span></td></tr>
 <tr name="380" id="380">
-<td><a id="l380" class='ln'>380</a></td><td><span class="ct"> * '&lt;S44&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification/Counter/rst_Delay'</span></td></tr>
+<td><a id="l380" class='ln'>380</a></td><td><span class="ct"> * '&lt;S38&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/either_edge'</span></td></tr>
 <tr name="381" id="381">
-<td><a id="l381" class='ln'>381</a></td><td><span class="ct"> * '&lt;S45&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification/Counter'</span></td></tr>
+<td><a id="l381" class='ln'>381</a></td><td><span class="ct"> * '&lt;S39&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification/Counter'</span></td></tr>
 <tr name="382" id="382">
-<td><a id="l382" class='ln'>382</a></td><td><span class="ct"> * '&lt;S46&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification/Counter/rst_Delay'</span></td></tr>
+<td><a id="l382" class='ln'>382</a></td><td><span class="ct"> * '&lt;S40&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Dequalification/Counter/rst_Delay'</span></td></tr>
 <tr name="383" id="383">
-<td><a id="l383" class='ln'>383</a></td><td><span class="ct"> * '&lt;S47&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward'</span></td></tr>
+<td><a id="l383" class='ln'>383</a></td><td><span class="ct"> * '&lt;S41&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification/Counter'</span></td></tr>
 <tr name="384" id="384">
-<td><a id="l384" class='ln'>384</a></td><td><span class="ct"> * '&lt;S48&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Motor_Limitations_Enabled'</span></td></tr>
+<td><a id="l384" class='ln'>384</a></td><td><span class="ct"> * '&lt;S42&gt;'  : 'MotorController_FOC/PMSM_Controller/Diagnostics/Diagnostics_Enabled/Debounce_Filter/Qualification/Counter/rst_Delay'</span></td></tr>
 <tr name="385" id="385">
-<td><a id="l385" class='ln'>385</a></td><td><span class="ct"> * '&lt;S49&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller'</span></td></tr>
+<td><a id="l385" class='ln'>385</a></td><td><span class="ct"> * '&lt;S43&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward'</span></td></tr>
 <tr name="386" id="386">
-<td><a id="l386" class='ln'>386</a></td><td><span class="ct"> * '&lt;S50&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Park_Transform_Inverse'</span></td></tr>
+<td><a id="l386" class='ln'>386</a></td><td><span class="ct"> * '&lt;S44&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Motor_Limitations_Enabled'</span></td></tr>
 <tr name="387" id="387">
-<td><a id="l387" class='ln'>387</a></td><td><span class="ct"> * '&lt;S51&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM'</span></td></tr>
+<td><a id="l387" class='ln'>387</a></td><td><span class="ct"> * '&lt;S45&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ'</span></td></tr>
 <tr name="388" id="388">
-<td><a id="l388" class='ln'>388</a></td><td><span class="ct"> * '&lt;S52&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller'</span></td></tr>
+<td><a id="l388" class='ln'>388</a></td><td><span class="ct"> * '&lt;S46&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Park_Transform_Inverse'</span></td></tr>
 <tr name="389" id="389">
-<td><a id="l389" class='ln'>389</a></td><td><span class="ct"> * '&lt;S53&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/current_sample'</span></td></tr>
+<td><a id="l389" class='ln'>389</a></td><td><span class="ct"> * '&lt;S47&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM'</span></td></tr>
 <tr name="390" id="390">
-<td><a id="l390" class='ln'>390</a></td><td><span class="ct"> * '&lt;S54&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/pid_schdule'</span></td></tr>
+<td><a id="l390" class='ln'>390</a></td><td><span class="ct"> * '&lt;S48&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/circle_limition'</span></td></tr>
 <tr name="391" id="391">
-<td><a id="l391" class='ln'>391</a></td><td><span class="ct"> * '&lt;S55&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Clarke'</span></td></tr>
+<td><a id="l391" class='ln'>391</a></td><td><span class="ct"> * '&lt;S49&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/current_sample'</span></td></tr>
 <tr name="392" id="392">
-<td><a id="l392" class='ln'>392</a></td><td><span class="ct"> * '&lt;S56&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Low_Pass_Filter'</span></td></tr>
+<td><a id="l392" class='ln'>392</a></td><td><span class="ct"> * '&lt;S50&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc'</span></td></tr>
 <tr name="393" id="393">
-<td><a id="l393" class='ln'>393</a></td><td><span class="ct"> * '&lt;S57&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Park'</span></td></tr>
+<td><a id="l393" class='ln'>393</a></td><td><span class="ct"> * '&lt;S51&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/pid_schdule'</span></td></tr>
 <tr name="394" id="394">
-<td><a id="l394" class='ln'>394</a></td><td><span class="ct"> * '&lt;S58&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Sine_Cosine_Approximation'</span></td></tr>
+<td><a id="l394" class='ln'>394</a></td><td><span class="ct"> * '&lt;S52&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Clarke'</span></td></tr>
 <tr name="395" id="395">
-<td><a id="l395" class='ln'>395</a></td><td><span class="ct"> * '&lt;S59&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/id_ctrl'</span></td></tr>
+<td><a id="l395" class='ln'>395</a></td><td><span class="ct"> * '&lt;S53&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Low_Pass_Filter'</span></td></tr>
 <tr name="396" id="396">
-<td><a id="l396" class='ln'>396</a></td><td><span class="ct"> * '&lt;S60&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/iq_ctrl'</span></td></tr>
+<td><a id="l396" class='ln'>396</a></td><td><span class="ct"> * '&lt;S54&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Park'</span></td></tr>
 <tr name="397" id="397">
-<td><a id="l397" class='ln'>397</a></td><td><span class="ct"> * '&lt;S61&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/id_ctrl/PI_id'</span></td></tr>
+<td><a id="l397" class='ln'>397</a></td><td><span class="ct"> * '&lt;S55&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Clarke_Park_Transform_Forward/Sine_Cosine_Approximation'</span></td></tr>
 <tr name="398" id="398">
-<td><a id="l398" class='ln'>398</a></td><td><span class="ct"> * '&lt;S62&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/id_ctrl/Saturation Dynamic1'</span></td></tr>
+<td><a id="l398" class='ln'>398</a></td><td><span class="ct"> * '&lt;S56&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ/id_ctrl'</span></td></tr>
 <tr name="399" id="399">
-<td><a id="l399" class='ln'>399</a></td><td><span class="ct"> * '&lt;S63&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/id_ctrl/PI_id/Integrator1'</span></td></tr>
+<td><a id="l399" class='ln'>399</a></td><td><span class="ct"> * '&lt;S57&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ/iq_ctrl'</span></td></tr>
 <tr name="400" id="400">
-<td><a id="l400" class='ln'>400</a></td><td><span class="ct"> * '&lt;S64&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/id_ctrl/PI_id/Saturation Dynamic1'</span></td></tr>
+<td><a id="l400" class='ln'>400</a></td><td><span class="ct"> * '&lt;S58&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ/id_ctrl/PI_id'</span></td></tr>
 <tr name="401" id="401">
-<td><a id="l401" class='ln'>401</a></td><td><span class="ct"> * '&lt;S65&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/iq_ctrl/PI_iq'</span></td></tr>
+<td><a id="l401" class='ln'>401</a></td><td><span class="ct"> * '&lt;S59&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ/id_ctrl/Saturation Dynamic1'</span></td></tr>
 <tr name="402" id="402">
-<td><a id="l402" class='ln'>402</a></td><td><span class="ct"> * '&lt;S66&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/iq_ctrl/Saturation Dynamic2'</span></td></tr>
+<td><a id="l402" class='ln'>402</a></td><td><span class="ct"> * '&lt;S60&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ/id_ctrl/PI_id/Integrator1'</span></td></tr>
 <tr name="403" id="403">
-<td><a id="l403" class='ln'>403</a></td><td><span class="ct"> * '&lt;S67&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/iq_ctrl/PI_iq/Integrator1'</span></td></tr>
+<td><a id="l403" class='ln'>403</a></td><td><span class="ct"> * '&lt;S61&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ/id_ctrl/PI_id/Saturation Dynamic1'</span></td></tr>
 <tr name="404" id="404">
-<td><a id="l404" class='ln'>404</a></td><td><span class="ct"> * '&lt;S68&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_Controller/iq_ctrl/PI_iq/Saturation Dynamic1'</span></td></tr>
+<td><a id="l404" class='ln'>404</a></td><td><span class="ct"> * '&lt;S62&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ/iq_ctrl/PI_iq'</span></td></tr>
 <tr name="405" id="405">
-<td><a id="l405" class='ln'>405</a></td><td><span class="ct"> * '&lt;S69&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM'</span></td></tr>
+<td><a id="l405" class='ln'>405</a></td><td><span class="ct"> * '&lt;S63&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ/iq_ctrl/Saturation Dynamic2'</span></td></tr>
 <tr name="406" id="406">
-<td><a id="l406" class='ln'>406</a></td><td><span class="ct"> * '&lt;S70&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Saturation Dynamic1'</span></td></tr>
+<td><a id="l406" class='ln'>406</a></td><td><span class="ct"> * '&lt;S64&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ/iq_ctrl/PI_iq/Integrator1'</span></td></tr>
 <tr name="407" id="407">
-<td><a id="l407" class='ln'>407</a></td><td><span class="ct"> * '&lt;S71&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem'</span></td></tr>
+<td><a id="l407" class='ln'>407</a></td><td><span class="ct"> * '&lt;S65&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/PID_IDQ/iq_ctrl/PI_iq/Saturation Dynamic1'</span></td></tr>
 <tr name="408" id="408">
-<td><a id="l408" class='ln'>408</a></td><td><span class="ct"> * '&lt;S72&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/sector_select'</span></td></tr>
+<td><a id="l408" class='ln'>408</a></td><td><span class="ct"> * '&lt;S66&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM'</span></td></tr>
 <tr name="409" id="409">
-<td><a id="l409" class='ln'>409</a></td><td><span class="ct"> * '&lt;S73&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem/sector1'</span></td></tr>
+<td><a id="l409" class='ln'>409</a></td><td><span class="ct"> * '&lt;S67&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Saturation Dynamic1'</span></td></tr>
 <tr name="410" id="410">
-<td><a id="l410" class='ln'>410</a></td><td><span class="ct"> * '&lt;S74&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem/sector2'</span></td></tr>
+<td><a id="l410" class='ln'>410</a></td><td><span class="ct"> * '&lt;S68&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen'</span></td></tr>
 <tr name="411" id="411">
-<td><a id="l411" class='ln'>411</a></td><td><span class="ct"> * '&lt;S75&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem/sector3'</span></td></tr>
+<td><a id="l411" class='ln'>411</a></td><td><span class="ct"> * '&lt;S69&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/sector_select'</span></td></tr>
 <tr name="412" id="412">
-<td><a id="l412" class='ln'>412</a></td><td><span class="ct"> * '&lt;S76&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem/sector4'</span></td></tr>
+<td><a id="l412" class='ln'>412</a></td><td><span class="ct"> * '&lt;S70&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector1'</span></td></tr>
 <tr name="413" id="413">
-<td><a id="l413" class='ln'>413</a></td><td><span class="ct"> * '&lt;S77&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem/sector5'</span></td></tr>
+<td><a id="l413" class='ln'>413</a></td><td><span class="ct"> * '&lt;S71&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector2'</span></td></tr>
 <tr name="414" id="414">
-<td><a id="l414" class='ln'>414</a></td><td><span class="ct"> * '&lt;S78&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/Subsystem/sector6'</span></td></tr>
+<td><a id="l414" class='ln'>414</a></td><td><span class="ct"> * '&lt;S72&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector3'</span></td></tr>
 <tr name="415" id="415">
-<td><a id="l415" class='ln'>415</a></td><td><span class="ct"> * '&lt;S79&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/speed_mode'</span></td></tr>
+<td><a id="l415" class='ln'>415</a></td><td><span class="ct"> * '&lt;S73&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector4'</span></td></tr>
 <tr name="416" id="416">
-<td><a id="l416" class='ln'>416</a></td><td><span class="ct"> * '&lt;S80&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/torque_mode'</span></td></tr>
+<td><a id="l416" class='ln'>416</a></td><td><span class="ct"> * '&lt;S74&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector5'</span></td></tr>
 <tr name="417" id="417">
-<td><a id="l417" class='ln'>417</a></td><td><span class="ct"> * '&lt;S81&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/speed_mode/Saturation Dynamic3'</span></td></tr>
+<td><a id="l417" class='ln'>417</a></td><td><span class="ct"> * '&lt;S75&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/SVM/SVPWM/duty_gen/sector6'</span></td></tr>
 <tr name="418" id="418">
-<td><a id="l418" class='ln'>418</a></td><td><span class="ct"> * '&lt;S82&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/speed_mode/pi_speed'</span></td></tr>
+<td><a id="l418" class='ln'>418</a></td><td><span class="ct"> * '&lt;S76&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/circle_limition/Compare To Constant'</span></td></tr>
 <tr name="419" id="419">
-<td><a id="l419" class='ln'>419</a></td><td><span class="ct"> * '&lt;S83&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/speed_mode/pi_speed/Integrator'</span></td></tr>
+<td><a id="l419" class='ln'>419</a></td><td><span class="ct"> * '&lt;S77&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/circle_limition/IIR Filter'</span></td></tr>
 <tr name="420" id="420">
-<td><a id="l420" class='ln'>420</a></td><td><span class="ct"> * '&lt;S84&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/speed_mode/pi_speed/Saturation Dynamic1'</span></td></tr>
+<td><a id="l420" class='ln'>420</a></td><td><span class="ct"> * '&lt;S78&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/FW_Calc'</span></td></tr>
 <tr name="421" id="421">
-<td><a id="l421" class='ln'>421</a></td><td><span class="ct"> * '&lt;S85&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/Speed_Controller/torque_mode/Saturation Dynamic'</span></td></tr>
+<td><a id="l421" class='ln'>421</a></td><td><span class="ct"> * '&lt;S79&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/MPTA_Calc'</span></td></tr>
 <tr name="422" id="422">
-<td><a id="l422" class='ln'>422</a></td><td><span class="ct"> */</span></td></tr>
+<td><a id="l422" class='ln'>422</a></td><td><span class="ct"> * '&lt;S80&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/idq_Get'</span></td></tr>
 <tr name="423" id="423">
-<td><a id="l423" class='ln'>423</a></td><td><span class="pp">#endif</span>                                 <span class="ct">/* RTW_HEADER_PMSM_Controller_h_ */</span></td></tr>
+<td><a id="l423" class='ln'>423</a></td><td><span class="ct"> * '&lt;S81&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/FW_Calc/Intergrator_z'</span></td></tr>
 <tr name="424" id="424">
-<td><a id="l424" class='ln'>424</a></td><td></td></tr>
+<td><a id="l424" class='ln'>424</a></td><td><span class="ct"> * '&lt;S82&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/idq_Get/speed_mode'</span></td></tr>
 <tr name="425" id="425">
-<td><a id="l425" class='ln'>425</a></td><td><span class="ct">/*</span></td></tr>
+<td><a id="l425" class='ln'>425</a></td><td><span class="ct"> * '&lt;S83&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/idq_Get/torque_mode'</span></td></tr>
 <tr name="426" id="426">
-<td><a id="l426" class='ln'>426</a></td><td><span class="ct"> * File trailer for generated code.</span></td></tr>
+<td><a id="l426" class='ln'>426</a></td><td><span class="ct"> * '&lt;S84&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/idq_Get/speed_mode/Saturation Dynamic3'</span></td></tr>
 <tr name="427" id="427">
-<td><a id="l427" class='ln'>427</a></td><td><span class="ct"> *</span></td></tr>
+<td><a id="l427" class='ln'>427</a></td><td><span class="ct"> * '&lt;S85&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/idq_Get/speed_mode/pi_speed'</span></td></tr>
 <tr name="428" id="428">
-<td><a id="l428" class='ln'>428</a></td><td><span class="ct"> * [EOF]</span></td></tr>
+<td><a id="l428" class='ln'>428</a></td><td><span class="ct"> * '&lt;S86&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/idq_Get/speed_mode/pi_speed/Integrator'</span></td></tr>
 <tr name="429" id="429">
-<td><a id="l429" class='ln'>429</a></td><td><span class="ct"> */</span></td></tr>
+<td><a id="l429" class='ln'>429</a></td><td><span class="ct"> * '&lt;S87&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/idq_Get/speed_mode/pi_speed/Saturation Dynamic1'</span></td></tr>
 <tr name="430" id="430">
-<td><a id="l430" class='ln'>430</a></td><td></td></tr>
+<td><a id="l430" class='ln'>430</a></td><td><span class="ct"> * '&lt;S88&gt;'  : 'MotorController_FOC/PMSM_Controller/controller/idq_Calc/idq_Get/torque_mode/Saturation Dynamic'</span></td></tr>
+<tr name="431" id="431">
+<td><a id="l431" class='ln'>431</a></td><td><span class="ct"> */</span></td></tr>
+<tr name="432" id="432">
+<td><a id="l432" class='ln'>432</a></td><td><span class="pp">#endif</span>                                 <span class="ct">/* RTW_HEADER_PMSM_Controller_h_ */</span></td></tr>
+<tr name="433" id="433">
+<td><a id="l433" class='ln'>433</a></td><td></td></tr>
+<tr name="434" id="434">
+<td><a id="l434" class='ln'>434</a></td><td><span class="ct">/*</span></td></tr>
+<tr name="435" id="435">
+<td><a id="l435" class='ln'>435</a></td><td><span class="ct"> * File trailer for generated code.</span></td></tr>
+<tr name="436" id="436">
+<td><a id="l436" class='ln'>436</a></td><td><span class="ct"> *</span></td></tr>
+<tr name="437" id="437">
+<td><a id="l437" class='ln'>437</a></td><td><span class="ct"> * [EOF]</span></td></tr>
+<tr name="438" id="438">
+<td><a id="l438" class='ln'>438</a></td><td><span class="ct"> */</span></td></tr>
+<tr name="439" id="439">
+<td><a id="l439" class='ln'>439</a></td><td></td></tr>
 </table>
 </pre>
 </body>

+ 6 - 56
Simulink/PMSM_Controller_ert_rtw/html/PMSM_Controller_interface.html

@@ -348,52 +348,6 @@ int16_T
 1
 </td>
 
-</tr>
-<tr class="even">
-<td width="38%" align="left" valign="top">
-&lt;S4&gt;/open_theta
-</td>
-<td width="23%" align="left" valign="top">
-<i>
-Defined externally
-</i>
-
-</td>
-<td width="19%" align="left" valign="top">
-int16_T
-</td>
-<td width="9%" align="left" valign="top">
-&#160;
-</td>
-<td width="9%" align="right" valign="top">
-1
-</td>
-
-</tr>
-<tr class="odd">
-<td width="38%" align="left" valign="top">
-&lt;S4&gt;/rotor_speed
-</td>
-<td width="23%" align="left" valign="top">
-<i>
-Defined externally
-</i>
-
-</td>
-<td width="19%" align="left" valign="top">
-int16_T
-</td>
-<td width="9%" align="left" valign="top">
-<span title="  DataTypeMode: Fixed-point: binary point scaling
-    Signedness: Signed
-    WordLength: 16
-FractionLength: 2
-">sfix16_En2</span>
-</td>
-<td width="9%" align="right" valign="top">
-1
-</td>
-
 </tr>
 <tr class="even">
 <td width="38%" align="left" valign="top">
@@ -644,7 +598,7 @@ FractionLength: 6
 </tr>
 <tr class="odd">
 <td width="38%" align="left" valign="top">
-&lt;S4&gt;/b_hall_calibrate
+&lt;S4&gt;/foc_calibrate
 </td>
 <td width="23%" align="left" valign="top">
 <i>
@@ -653,7 +607,7 @@ Defined externally
 
 </td>
 <td width="19%" align="left" valign="top">
-boolean_T
+uint16_T
 </td>
 <td width="9%" align="left" valign="top">
 &#160;
@@ -665,7 +619,7 @@ boolean_T
 </tr>
 <tr class="even">
 <td width="38%" align="left" valign="top">
-&lt;S4&gt;/vd_open_target
+&lt;S4&gt;/vdq_open_target
 </td>
 <td width="23%" align="left" valign="top">
 <i>
@@ -684,13 +638,13 @@ FractionLength: 6
 ">sfix16_En6</span>
 </td>
 <td width="9%" align="right" valign="top">
-1
+[2]
 </td>
 
 </tr>
 <tr class="odd">
 <td width="38%" align="left" valign="top">
-&lt;S4&gt;/vq_open_target
+&lt;S4&gt;/open_theta
 </td>
 <td width="23%" align="left" valign="top">
 <i>
@@ -702,11 +656,7 @@ Defined externally
 int16_T
 </td>
 <td width="9%" align="left" valign="top">
-<span title="  DataTypeMode: Fixed-point: binary point scaling
-    Signedness: Signed
-    WordLength: 16
-FractionLength: 6
-">sfix16_En6</span>
+&#160;
 </td>
 <td width="9%" align="right" valign="top">
 1

+ 183 - 66
Simulink/PMSM_Controller_ert_rtw/html/PMSM_Controller_reducedblocks.html

@@ -123,7 +123,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S17&gt;/Sum7
+&lt;S17&gt;/Scope1
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -132,7 +132,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S17&gt;/UnitDelay4
+&lt;S17&gt;/Sum7
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -141,7 +141,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S17&gt;/UnitDelay6
+&lt;S17&gt;/UnitDelay4
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -150,7 +150,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S17&gt;/UnitDelay7
+&lt;S17&gt;/UnitDelay6
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -159,7 +159,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S17&gt;/UnitDelay8
+&lt;S17&gt;/UnitDelay7
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -168,7 +168,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S17&gt;/dz_cntTrnsDet
+&lt;S17&gt;/UnitDelay8
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -177,7 +177,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S12&gt;/Scope1
+&lt;S17&gt;/dz_cntTrnsDet
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -186,16 +186,34 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
+&lt;S12&gt;/Scope1
+</td>
+<td align="left" valign="top">
+Unused code path elimination
+</td>
+
+</tr>
+<tr class="even">
+<td align="left" valign="top">
 &lt;S12&gt;/Scope2
 </td>
 <td align="left" valign="top">
 Unused code path elimination
 </td>
 
+</tr>
+<tr class="odd">
+<td align="left" valign="top">
+&lt;S4&gt;/Scope
+</td>
+<td align="left" valign="top">
+Unused code path elimination
+</td>
+
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S27&gt;/Data Type Duplicate
+&lt;S24&gt;/Scope
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -204,7 +222,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S27&gt;/Data Type Propagation
+&lt;S29&gt;/Data Type Duplicate
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -213,7 +231,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S28&gt;/Data Type Duplicate
+&lt;S29&gt;/Data Type Propagation
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -222,7 +240,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S28&gt;/Data Type Propagation
+&lt;S28&gt;/Scope
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -231,7 +249,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S4&gt;/Scope
+&lt;S28&gt;/Scope1
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -240,7 +258,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S25&gt;/Scope
+&lt;S26&gt;/Scope
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -249,7 +267,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S33&gt;/Data Type Duplicate
+&lt;S1&gt;/Scope2
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -258,7 +276,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S33&gt;/Data Type Propagation
+&lt;S52&gt;/Scope
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -267,7 +285,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S32&gt;/Scope
+&lt;S43&gt;/Scope
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -276,7 +294,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S32&gt;/Scope1
+&lt;S43&gt;/Scope1
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -285,7 +303,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S30&gt;/Scope
+&lt;S55&gt;/Scope
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -294,7 +312,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S31&gt;/Scope
+&lt;S45&gt;/Scope
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -303,7 +321,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S1&gt;/Scope1
+&lt;S61&gt;/Data Type Duplicate
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -312,7 +330,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S1&gt;/Scope2
+&lt;S61&gt;/Data Type Propagation
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -321,7 +339,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S55&gt;/Scope
+&lt;S59&gt;/Data Type Duplicate
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -330,7 +348,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S47&gt;/Scope
+&lt;S59&gt;/Data Type Propagation
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -339,7 +357,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S47&gt;/Scope1
+&lt;S65&gt;/Data Type Duplicate
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -348,7 +366,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S58&gt;/Scope
+&lt;S65&gt;/Data Type Propagation
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -357,7 +375,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S48&gt;/Scope
+&lt;S63&gt;/Data Type Duplicate
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -366,7 +384,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S49&gt;/Scope1
+&lt;S63&gt;/Data Type Propagation
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -375,7 +393,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S64&gt;/Data Type Duplicate
+&lt;S57&gt;/Scope
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -384,7 +402,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S64&gt;/Data Type Propagation
+&lt;S46&gt;/Scope
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -393,7 +411,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S62&gt;/Data Type Duplicate
+&lt;S67&gt;/Data Type Duplicate
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -402,7 +420,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S62&gt;/Data Type Propagation
+&lt;S67&gt;/Data Type Propagation
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -411,7 +429,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S68&gt;/Data Type Duplicate
+&lt;S66&gt;/Scope
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -420,7 +438,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S68&gt;/Data Type Propagation
+&lt;S75&gt;/Scope
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -429,7 +447,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S66&gt;/Data Type Duplicate
+&lt;S6&gt;/Scope12
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -438,7 +456,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S66&gt;/Data Type Propagation
+&lt;S77&gt;/Data Type Duplicate
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -447,7 +465,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S60&gt;/Scope
+&lt;S78&gt;/Scope
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -456,7 +474,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S50&gt;/Scope
+&lt;S78&gt;/Scope1
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -465,7 +483,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S70&gt;/Data Type Duplicate
+&lt;S84&gt;/Data Type Duplicate
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -474,7 +492,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S70&gt;/Data Type Propagation
+&lt;S84&gt;/Data Type Propagation
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -483,7 +501,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S69&gt;/Scope
+&lt;S82&gt;/Scope
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -492,7 +510,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S6&gt;/Scope12
+&lt;S82&gt;/Scope2
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -501,7 +519,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S81&gt;/Data Type Duplicate
+&lt;S87&gt;/Data Type Duplicate
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -510,7 +528,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S81&gt;/Data Type Propagation
+&lt;S87&gt;/Data Type Propagation
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -519,7 +537,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S79&gt;/Scope
+&lt;S88&gt;/Data Type Duplicate
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -528,7 +546,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S79&gt;/Scope2
+&lt;S88&gt;/Data Type Propagation
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -537,7 +555,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S84&gt;/Data Type Duplicate
+&lt;S83&gt;/Scope
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -546,7 +564,61 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S84&gt;/Data Type Propagation
+&lt;S10&gt;/Manual Switch
+</td>
+<td align="left" valign="top">
+Eliminated due to constant selection input
+</td>
+
+</tr>
+<tr class="even">
+<td align="left" valign="top">
+&lt;S24&gt;/Data Type Conversion
+</td>
+<td align="left" valign="top">
+Eliminate redundant data type conversion
+</td>
+
+</tr>
+<tr class="odd">
+<td align="left" valign="top">
+&lt;S6&gt;/Data Type Conversion
+</td>
+<td align="left" valign="top">
+Eliminate redundant data type conversion
+</td>
+
+</tr>
+<tr class="even">
+<td align="left" valign="top">
+&lt;S81&gt;/Data Type Conversion1
+</td>
+<td align="left" valign="top">
+Eliminate redundant data type conversion
+</td>
+
+</tr>
+<tr class="odd">
+<td align="left" valign="top">
+&lt;S79&gt;/Data Type Conversion
+</td>
+<td align="left" valign="top">
+Eliminate redundant data type conversion
+</td>
+
+</tr>
+<tr class="even">
+<td align="left" valign="top">
+&lt;S82&gt;/Manual Switch
+</td>
+<td align="left" valign="top">
+Eliminated due to constant selection input
+</td>
+
+</tr>
+<tr class="odd">
+<td align="left" valign="top">
+&lt;S10&gt;/Constant
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -555,7 +627,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S85&gt;/Data Type Duplicate
+&lt;S17&gt;/Divide14
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -564,7 +636,7 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S85&gt;/Data Type Propagation
+&lt;S17&gt;/smooth
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -573,7 +645,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S80&gt;/Scope
+&lt;S78&gt;/Constant1
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -582,61 +654,61 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S10&gt;/Manual Switch
+&lt;S79&gt;/Add
 </td>
 <td align="left" valign="top">
-Eliminated due to constant selection input
+Unused code path elimination
 </td>
 
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S3&gt;/hall_motor_speed_choice
+&lt;S79&gt;/Add1
 </td>
 <td align="left" valign="top">
-Eliminated due to constant selection input
+Unused code path elimination
 </td>
 
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S25&gt;/Data Type Conversion
+&lt;S79&gt;/Add2
 </td>
 <td align="left" valign="top">
-Eliminate redundant data type conversion
+Unused code path elimination
 </td>
 
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S6&gt;/Data Type Conversion
+&lt;S79&gt;/Constant1
 </td>
 <td align="left" valign="top">
-Eliminate redundant data type conversion
+Unused code path elimination
 </td>
 
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S48&gt;/Data Type Conversion
+&lt;S79&gt;/Constant2
 </td>
 <td align="left" valign="top">
-Eliminate redundant data type conversion
+Unused code path elimination
 </td>
 
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S79&gt;/Manual Switch
+&lt;S79&gt;/Data Type Conversion1
 </td>
 <td align="left" valign="top">
-Eliminated due to constant selection input
+Unused code path elimination
 </td>
 
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S10&gt;/Constant
+&lt;S79&gt;/Data Type Conversion2
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -645,7 +717,7 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S17&gt;/Divide14
+&lt;S79&gt;/Gain
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -654,7 +726,43 @@ Unused code path elimination
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S17&gt;/smooth
+&lt;S79&gt;/Gain1
+</td>
+<td align="left" valign="top">
+Unused code path elimination
+</td>
+
+</tr>
+<tr class="even">
+<td align="left" valign="top">
+&lt;S79&gt;/Math Function
+</td>
+<td align="left" valign="top">
+Unused code path elimination
+</td>
+
+</tr>
+<tr class="odd">
+<td align="left" valign="top">
+&lt;S79&gt;/Math Function1
+</td>
+<td align="left" valign="top">
+Unused code path elimination
+</td>
+
+</tr>
+<tr class="even">
+<td align="left" valign="top">
+&lt;S79&gt;/Math Function2
+</td>
+<td align="left" valign="top">
+Unused code path elimination
+</td>
+
+</tr>
+<tr class="odd">
+<td align="left" valign="top">
+&lt;S79&gt;/Sqrt
 </td>
 <td align="left" valign="top">
 Unused code path elimination
@@ -663,7 +771,16 @@ Unused code path elimination
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S79&gt;/Constant
+&lt;S79&gt;/Sqrt1
+</td>
+<td align="left" valign="top">
+Unused code path elimination
+</td>
+
+</tr>
+<tr class="odd">
+<td align="left" valign="top">
+&lt;S82&gt;/Constant
 </td>
 <td align="left" valign="top">
 Unused code path elimination

+ 30 - 45
Simulink/PMSM_Controller_ert_rtw/html/PMSM_Controller_subsystems.html

@@ -69,13 +69,13 @@ Outcome Diagnostic
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S45&gt;
+&lt;S41&gt;
 </td>
 <td align="left" valign="top">
 Reusable Function
 </td>
 <td align="left" valign="top">
-<A HREF="PMSM_Controller_c.html#fcn_Counter" TARGET="rtwreport_document_frame">Reusable Function(S45)</A>
+<A HREF="PMSM_Controller_c.html#fcn_Counter" TARGET="rtwreport_document_frame">Reusable Function(S41)</A>
 </td>
 <td align="left" valign="top">
 <FONT COLOR="green">normal</FONT>
@@ -84,13 +84,13 @@ Reusable Function
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S43&gt;
+&lt;S39&gt;
 </td>
 <td align="left" valign="top">
 Reusable Function
 </td>
 <td align="left" valign="top">
-<A HREF="PMSM_Controller_c.html#fcn_Counter" TARGET="rtwreport_document_frame">Reusable Function(S45)</A>
+<A HREF="PMSM_Controller_c.html#fcn_Counter" TARGET="rtwreport_document_frame">Reusable Function(S41)</A>
 </td>
 <td align="left" valign="top">
 <FONT COLOR="green">normal</FONT>
@@ -99,13 +99,13 @@ Reusable Function
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S42&gt;
+&lt;S38&gt;
 </td>
 <td align="left" valign="top">
 Auto
 </td>
 <td align="left" valign="top">
-<A HREF="PMSM_Controller_c.html#fcn_either_edge" TARGET="rtwreport_document_frame">Reusable Function(S42)</A>
+<A HREF="PMSM_Controller_c.html#fcn_either_edge" TARGET="rtwreport_document_frame">Reusable Function(S38)</A>
 </td>
 <td align="left" valign="top">
 <FONT COLOR="green">normal</FONT>
@@ -114,13 +114,13 @@ Auto
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S38&gt;
+&lt;S34&gt;
 </td>
 <td align="left" valign="top">
 Auto
 </td>
 <td align="left" valign="top">
-<A HREF="PMSM_Controller_c.html#fcn_either_edge" TARGET="rtwreport_document_frame">Reusable Function(S42)</A>
+<A HREF="PMSM_Controller_c.html#fcn_either_edge" TARGET="rtwreport_document_frame">Reusable Function(S38)</A>
 </td>
 <td align="left" valign="top">
 <FONT COLOR="green">normal</FONT>
@@ -129,13 +129,13 @@ Auto
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S37&gt;
+&lt;S33&gt;
 </td>
 <td align="left" valign="top">
 Reusable Function
 </td>
 <td align="left" valign="top">
-<A HREF="PMSM_Controller_c.html#fcn_Debounce_Filter" TARGET="rtwreport_document_frame">Reusable Function(S37)</A>
+<A HREF="PMSM_Controller_c.html#fcn_Debounce_Filter" TARGET="rtwreport_document_frame">Reusable Function(S33)</A>
 </td>
 <td align="left" valign="top">
 <FONT COLOR="green">normal</FONT>
@@ -144,13 +144,13 @@ Reusable Function
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S56&gt;
+&lt;S53&gt;
 </td>
 <td align="left" valign="top">
 Reusable Function
 </td>
 <td align="left" valign="top">
-<A HREF="PMSM_Controller_c.html#fcn_Low_Pass_Filter" TARGET="rtwreport_document_frame">Reusable Function(S56)</A>
+<A HREF="PMSM_Controller_c.html#fcn_Low_Pass_Filter" TARGET="rtwreport_document_frame">Reusable Function(S53)</A>
 </td>
 <td align="left" valign="top">
 <FONT COLOR="green">normal</FONT>
@@ -159,13 +159,13 @@ Reusable Function
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S65&gt;
+&lt;S62&gt;
 </td>
 <td align="left" valign="top">
 Reusable Function
 </td>
 <td align="left" valign="top">
-<A HREF="PMSM_Controller_c.html#fcn_PI_backCalc_fixdt" TARGET="rtwreport_document_frame">Reusable Function(S65)</A>
+<A HREF="PMSM_Controller_c.html#fcn_PI_backCalc_fixdt" TARGET="rtwreport_document_frame">Reusable Function(S62)</A>
 </td>
 <td align="left" valign="top">
 <FONT COLOR="green">normal</FONT>
@@ -174,13 +174,13 @@ Reusable Function
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S61&gt;
+&lt;S58&gt;
 </td>
 <td align="left" valign="top">
 Reusable Function
 </td>
 <td align="left" valign="top">
-<A HREF="PMSM_Controller_c.html#fcn_PI_backCalc_fixdt" TARGET="rtwreport_document_frame">Reusable Function(S65)</A>
+<A HREF="PMSM_Controller_c.html#fcn_PI_backCalc_fixdt" TARGET="rtwreport_document_frame">Reusable Function(S62)</A>
 </td>
 <td align="left" valign="top">
 <FONT COLOR="green">normal</FONT>
@@ -189,13 +189,13 @@ Reusable Function
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S82&gt;
+&lt;S85&gt;
 </td>
 <td align="left" valign="top">
 Reusable Function
 </td>
 <td align="left" valign="top">
-<A HREF="PMSM_Controller_c.html#fcn_pi_speed" TARGET="rtwreport_document_frame">Reusable Function(S82)</A>
+<A HREF="PMSM_Controller_c.html#fcn_pi_speed" TARGET="rtwreport_document_frame">Reusable Function(S85)</A>
 </td>
 <td align="left" valign="top">
 <FONT COLOR="green">normal</FONT>
@@ -309,7 +309,7 @@ Inline
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S26&gt;
+&lt;S25&gt;
 </td>
 <td align="left" valign="top">
 Auto
@@ -324,7 +324,7 @@ Inline
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S29&gt;
+&lt;S30&gt;
 </td>
 <td align="left" valign="top">
 Auto
@@ -339,7 +339,7 @@ Inline
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S34&gt;
+&lt;S26&gt;
 </td>
 <td align="left" valign="top">
 Auto
@@ -354,7 +354,7 @@ Inline
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S30&gt;
+&lt;S27&gt;
 </td>
 <td align="left" valign="top">
 Auto
@@ -369,7 +369,7 @@ Inline
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S31&gt;
+&lt;S37&gt;
 </td>
 <td align="left" valign="top">
 Auto
@@ -384,7 +384,7 @@ Inline
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S41&gt;
+&lt;S36&gt;
 </td>
 <td align="left" valign="top">
 Auto
@@ -399,7 +399,7 @@ Inline
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S40&gt;
+&lt;S35&gt;
 </td>
 <td align="left" valign="top">
 Auto
@@ -414,7 +414,7 @@ Inline
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S39&gt;
+&lt;S57&gt;
 </td>
 <td align="left" valign="top">
 Auto
@@ -429,7 +429,7 @@ Inline
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S60&gt;
+&lt;S56&gt;
 </td>
 <td align="left" valign="top">
 Auto
@@ -444,7 +444,7 @@ Inline
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S59&gt;
+&lt;S69&gt;
 </td>
 <td align="left" valign="top">
 Auto
@@ -459,7 +459,7 @@ Inline
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S72&gt;
+&lt;S82&gt;
 </td>
 <td align="left" valign="top">
 Auto
@@ -474,7 +474,7 @@ Inline
 </tr>
 <tr class="odd">
 <td align="left" valign="top">
-&lt;S79&gt;
+&lt;S83&gt;
 </td>
 <td align="left" valign="top">
 Auto
@@ -489,21 +489,6 @@ Inline
 </tr>
 <tr class="even">
 <td align="left" valign="top">
-&lt;S80&gt;
-</td>
-<td align="left" valign="top">
-Auto
-</td>
-<td align="left" valign="top">
-Inline
-</td>
-<td align="left" valign="top">
-<FONT COLOR="green">normal</FONT>
-</td>
-
-</tr>
-<tr class="odd">
-<td align="left" valign="top">
 &lt;S1&gt;
 </td>
 <td align="left" valign="top">

+ 2 - 2
Simulink/PMSM_Controller_ert_rtw/html/PMSM_Controller_survey.html

@@ -37,7 +37,7 @@ kevin
 Model Version
 </td>
 <td align="left" valign="top">
-1.1245
+1.1277
 </td>
 
 </tr>
@@ -106,7 +106,7 @@ Simulink Coder Version
 Timestamp of Generated Source Code
 </td>
 <td align="left" valign="top">
-Thu Apr  7 15:23:34 2022
+Wed Apr 13 16:49:14 2022
 </td>
 
 </tr>

+ 24 - 22
Simulink/PMSM_Controller_ert_rtw/html/define.js

@@ -8,20 +8,22 @@ this.def["ert_main.c:rtU"] = {file: "ert_main_c.html",line:28,type:"var"};
 this.def["ert_main.c:rtY"] = {file: "ert_main_c.html",line:29,type:"var"};
 this.def["rt_OneStep"] = {file: "ert_main_c.html",line:43,type:"fcn"};
 this.def["main"] = {file: "ert_main_c.html",line:80,type:"fcn"};
-this.def["PMSM_Controller.c:plook_u16s16_evencka"] = {file: "PMSM_Controller_c.html",line:102,type:"fcn"};
-this.def["PMSM_Controller.c:plook_u8u16_evencka"] = {file: "PMSM_Controller_c.html",line:127,type:"fcn"};
-this.def["PMSM_Controller.c:Counter_Init"] = {file: "PMSM_Controller_c.html",line:159,type:"fcn"};
-this.def["PMSM_Controller.c:Counter"] = {file: "PMSM_Controller_c.html",line:170,type:"fcn"};
-this.def["PMSM_Controller.c:either_edge"] = {file: "PMSM_Controller_c.html",line:209,type:"fcn"};
-this.def["PMSM_Controller.c:Debounce_Filter_Init"] = {file: "PMSM_Controller_c.html",line:224,type:"fcn"};
-this.def["PMSM_Controller.c:Debounce_Filter"] = {file: "PMSM_Controller_c.html",line:242,type:"fcn"};
-this.def["PMSM_Controller.c:Low_Pass_Filter"] = {file: "PMSM_Controller_c.html",line:313,type:"fcn"};
-this.def["PMSM_Controller.c:PI_backCalc_fixdt_Init"] = {file: "PMSM_Controller_c.html",line:378,type:"fcn"};
-this.def["PMSM_Controller.c:PI_backCalc_fixdt"] = {file: "PMSM_Controller_c.html",line:389,type:"fcn"};
-this.def["PMSM_Controller.c:pi_speed_Init"] = {file: "PMSM_Controller_c.html",line:493,type:"fcn"};
-this.def["PMSM_Controller.c:pi_speed"] = {file: "PMSM_Controller_c.html",line:500,type:"fcn"};
-this.def["PMSM_Controller_step"] = {file: "PMSM_Controller_c.html",line:605,type:"fcn"};
-this.def["PMSM_Controller_initialize"] = {file: "PMSM_Controller_c.html",line:2305,type:"fcn"};
+this.def["PMSM_Controller.c:plook_u16s16_evencka"] = {file: "PMSM_Controller_c.html",line:103,type:"fcn"};
+this.def["PMSM_Controller.c:div_nde_s32_floor"] = {file: "PMSM_Controller_c.html",line:128,type:"fcn"};
+this.def["PMSM_Controller.c:Counter_Init"] = {file: "PMSM_Controller_c.html",line:139,type:"fcn"};
+this.def["PMSM_Controller.c:Counter"] = {file: "PMSM_Controller_c.html",line:150,type:"fcn"};
+this.def["PMSM_Controller.c:either_edge"] = {file: "PMSM_Controller_c.html",line:189,type:"fcn"};
+this.def["PMSM_Controller.c:Debounce_Filter_Init"] = {file: "PMSM_Controller_c.html",line:204,type:"fcn"};
+this.def["PMSM_Controller.c:Debounce_Filter"] = {file: "PMSM_Controller_c.html",line:222,type:"fcn"};
+this.def["PMSM_Controller.c:Low_Pass_Filter"] = {file: "PMSM_Controller_c.html",line:293,type:"fcn"};
+this.def["PMSM_Controller.c:PI_backCalc_fixdt_Init"] = {file: "PMSM_Controller_c.html",line:358,type:"fcn"};
+this.def["PMSM_Controller.c:PI_backCalc_fixdt"] = {file: "PMSM_Controller_c.html",line:369,type:"fcn"};
+this.def["PMSM_Controller.c:pi_speed_Init"] = {file: "PMSM_Controller_c.html",line:473,type:"fcn"};
+this.def["PMSM_Controller.c:pi_speed"] = {file: "PMSM_Controller_c.html",line:480,type:"fcn"};
+this.def["rt_sqrt_Us32En6_Ys32En_dnD5ZXjs"] = {file: "PMSM_Controller_c.html",line:584,type:"fcn"};
+this.def["rt_sqrt_Us16En12_Ys16E_cQn1iwAF"] = {file: "PMSM_Controller_c.html",line:612,type:"fcn"};
+this.def["PMSM_Controller_step"] = {file: "PMSM_Controller_c.html",line:641,type:"fcn"};
+this.def["PMSM_Controller_initialize"] = {file: "PMSM_Controller_c.html",line:2519,type:"fcn"};
 this.def["RT_MODEL"] = {file: "PMSM_Controller_h.html",line:38,type:"type"};
 this.def["DW_Counter"] = {file: "PMSM_Controller_h.html",line:43,type:"type"};
 this.def["DW_either_edge"] = {file: "PMSM_Controller_h.html",line:48,type:"type"};
@@ -31,14 +33,14 @@ this.def["DW_PI_backCalc_fixdt"] = {file: "PMSM_Controller_h.html",line:68,type:
 this.def["ZCE_PI_backCalc_fixdt"] = {file: "PMSM_Controller_h.html",line:73,type:"type"};
 this.def["DW_pi_speed"] = {file: "PMSM_Controller_h.html",line:80,type:"type"};
 this.def["ZCE_pi_speed"] = {file: "PMSM_Controller_h.html",line:85,type:"type"};
-this.def["DW"] = {file: "PMSM_Controller_h.html",line:133,type:"type"};
-this.def["PrevZCX"] = {file: "PMSM_Controller_h.html",line:140,type:"type"};
-this.def["ConstB_PI_backCalc_fixdt"] = {file: "PMSM_Controller_h.html",line:145,type:"type"};
-this.def["ConstB_pi_speed"] = {file: "PMSM_Controller_h.html",line:150,type:"type"};
-this.def["ConstB"] = {file: "PMSM_Controller_h.html",line:157,type:"type"};
-this.def["ConstP"] = {file: "PMSM_Controller_h.html",line:185,type:"type"};
-this.def["ExtU"] = {file: "PMSM_Controller_h.html",line:207,type:"type"};
-this.def["ExtY"] = {file: "PMSM_Controller_h.html",line:223,type:"type"};
+this.def["DW"] = {file: "PMSM_Controller_h.html",line:137,type:"type"};
+this.def["PrevZCX"] = {file: "PMSM_Controller_h.html",line:145,type:"type"};
+this.def["ConstB_PI_backCalc_fixdt"] = {file: "PMSM_Controller_h.html",line:150,type:"type"};
+this.def["ConstB_pi_speed"] = {file: "PMSM_Controller_h.html",line:155,type:"type"};
+this.def["ConstB"] = {file: "PMSM_Controller_h.html",line:162,type:"type"};
+this.def["ConstP"] = {file: "PMSM_Controller_h.html",line:180,type:"type"};
+this.def["ExtU"] = {file: "PMSM_Controller_h.html",line:200,type:"type"};
+this.def["ExtY"] = {file: "PMSM_Controller_h.html",line:216,type:"type"};
 this.def["rtConstB"] = {file: "PMSM_Controller_data_c.html",line:21,type:"var"};
 this.def["rtConstP"] = {file: "PMSM_Controller_data_c.html",line:46,type:"var"};
 this.def["int8_T"] = {file: "rtwtypes_h.html",line:49,type:"type"};

+ 2 - 2
Simulink/PMSM_Controller_ert_rtw/html/ert_main_c.html

@@ -21,11 +21,11 @@
 <tr name="5" id="5">
 <td><a id="l5" class='ln'>5</a></td><td><span class="ct"> *</span></td></tr>
 <tr name="6" id="6">
-<td><a id="l6" class='ln'>6</a></td><td><span class="ct"> * Model version                  : 1.1245</span></td></tr>
+<td><a id="l6" class='ln'>6</a></td><td><span class="ct"> * Model version                  : 1.1277</span></td></tr>
 <tr name="7" id="7">
 <td><a id="l7" class='ln'>7</a></td><td><span class="ct"> * Simulink Coder version         : 9.4 (R2020b) 29-Jul-2020</span></td></tr>
 <tr name="8" id="8">
-<td><a id="l8" class='ln'>8</a></td><td><span class="ct"> * C/C++ source code generated on : Thu Apr  7 15:23:34 2022</span></td></tr>
+<td><a id="l8" class='ln'>8</a></td><td><span class="ct"> * C/C++ source code generated on : Wed Apr 13 16:49:14 2022</span></td></tr>
 <tr name="9" id="9">
 <td><a id="l9" class='ln'>9</a></td><td><span class="ct"> *</span></td></tr>
 <tr name="10" id="10">

+ 2 - 2
Simulink/PMSM_Controller_ert_rtw/html/rtwtypes_h.html

@@ -21,11 +21,11 @@
 <tr name="5" id="5">
 <td><a id="l5" class='ln'>5</a></td><td><span class="ct"> *</span></td></tr>
 <tr name="6" id="6">
-<td><a id="l6" class='ln'>6</a></td><td><span class="ct"> * Model version                  : 1.1245</span></td></tr>
+<td><a id="l6" class='ln'>6</a></td><td><span class="ct"> * Model version                  : 1.1277</span></td></tr>
 <tr name="7" id="7">
 <td><a id="l7" class='ln'>7</a></td><td><span class="ct"> * Simulink Coder version         : 9.4 (R2020b) 29-Jul-2020</span></td></tr>
 <tr name="8" id="8">
-<td><a id="l8" class='ln'>8</a></td><td><span class="ct"> * C/C++ source code generated on : Thu Apr  7 15:23:34 2022</span></td></tr>
+<td><a id="l8" class='ln'>8</a></td><td><span class="ct"> * C/C++ source code generated on : Wed Apr 13 16:49:14 2022</span></td></tr>
 <tr name="9" id="9">
 <td><a id="l9" class='ln'>9</a></td><td><span class="ct"> *</span></td></tr>
 <tr name="10" id="10">

+ 2 - 2
Simulink/PMSM_Controller_ert_rtw/html/zero_crossing_types_h.html

@@ -21,11 +21,11 @@
 <tr name="5" id="5">
 <td><a id="l5" class='ln'>5</a></td><td><span class="ct"> *</span></td></tr>
 <tr name="6" id="6">
-<td><a id="l6" class='ln'>6</a></td><td><span class="ct"> * Model version                  : 1.1245</span></td></tr>
+<td><a id="l6" class='ln'>6</a></td><td><span class="ct"> * Model version                  : 1.1277</span></td></tr>
 <tr name="7" id="7">
 <td><a id="l7" class='ln'>7</a></td><td><span class="ct"> * Simulink Coder version         : 9.4 (R2020b) 29-Jul-2020</span></td></tr>
 <tr name="8" id="8">
-<td><a id="l8" class='ln'>8</a></td><td><span class="ct"> * C/C++ source code generated on : Thu Apr  7 15:23:34 2022</span></td></tr>
+<td><a id="l8" class='ln'>8</a></td><td><span class="ct"> * C/C++ source code generated on : Wed Apr 13 16:49:14 2022</span></td></tr>
 <tr name="9" id="9">
 <td><a id="l9" class='ln'>9</a></td><td><span class="ct"> *</span></td></tr>
 <tr name="10" id="10">

+ 2 - 2
Simulink/PMSM_Controller_ert_rtw/rtwtypes.h

@@ -3,9 +3,9 @@
  *
  * Code generated for Simulink model 'PMSM_Controller'.
  *
- * Model version                  : 1.1245
+ * Model version                  : 1.1277
  * Simulink Coder version         : 9.4 (R2020b) 29-Jul-2020
- * C/C++ source code generated on : Thu Apr  7 15:23:34 2022
+ * C/C++ source code generated on : Wed Apr 13 16:49:14 2022
  *
  * Target selection: ert.tlc
  * Embedded hardware selection: ARM Compatible->ARM Cortex-M

BIN=BIN
Simulink/PMSM_Controller_ert_rtw/rtwtypeschksum.mat


+ 2 - 2
Simulink/PMSM_Controller_ert_rtw/zero_crossing_types.h

@@ -3,9 +3,9 @@
  *
  * Code generated for Simulink model 'PMSM_Controller'.
  *
- * Model version                  : 1.1245
+ * Model version                  : 1.1277
  * Simulink Coder version         : 9.4 (R2020b) 29-Jul-2020
- * C/C++ source code generated on : Thu Apr  7 15:23:34 2022
+ * C/C++ source code generated on : Wed Apr 13 16:49:14 2022
  *
  * Target selection: ert.tlc
  * Embedded hardware selection: ARM Compatible->ARM Cortex-M

+ 4 - 4
Simulink/init_model.m

@@ -20,9 +20,6 @@ n_resistance = 0.0005;
 n_ref_vol = 3.3;
 n_gain    = 17.1;
 
-%VBUS sample parameters
-
-b_start_with_commutation = 0;
 % Sine/Cosine wave look-up table
 res_elecAngle       = 0.25;
 a_elecAngle_XA      = 0:res_elecAngle:360;          % [deg] Electrical angle grid
@@ -78,11 +75,14 @@ b_cruiseCtrlEna     = 0;                % [-] Cruise control enable flag: 0 = di
 n_cruiseMotTgt      = 0;                % [-] Cruise control motor speed target
 
 %% F04_Field_Weakening
-b_fieldWeakEna      = 0;                % [-] Field weakening enable flag: 0 = disable (default), 1 = enable
+b_MTPA_Enable       = 0;                % MTPA enable flag: 0 = disable, 1 = enable
+b_fieldWeakEna      = 1;                % [-] Field weakening enable flag: 0 = disable (default), 1 = enable
 r_fieldWeakHi       = 3000;             % [1000, 1500] Input target High threshold for reaching maximum Field Weakening / Phase Advance
 r_fieldWeakLo       = 1300;              % [ 500, 1000] Input target Low threshold for starting Field Weakening / Phase Advance
 n_fieldWeakAuthHi   = 1200;              % [rpm] Motor speed High for field weakening authorization
 n_fieldWeakAuthLo   = 1000;              % [rpm] Motor speed Low for field weakening authorization
+cf_Fw_Ki            = 0.0002;
+cf_Fw_Atw           = 0.01;
 
 % FOC method
 id_fieldWeakMax     = -30;        % [A] Field weakening maximum current

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio