Browse Source

feat:代码移植完成,骑行正常

CN\guohui27 2 years ago
parent
commit
de94a939dd

+ 142 - 107
User project/1.FrameLayer/Source/TimeTask_Event.c

@@ -8,6 +8,11 @@
  * @copyright Copyright (c) 2021
  *
  */
+/******************************
+ *
+ *  Included File
+ *
+ ******************************/
 #include "TimeTask_Event.h"
 #include "AssistCurve.h"
 #include "FSM_1st.h"
@@ -17,12 +22,9 @@
 #include "canAppl.h"
 #include "flash_master.h"
 #include "queue.h"
-#include "spdctrmode.h"
 #include "gd32f30x.h"
 #include "string.h"
 #include "syspar.h"
-#include "uart_appl.h"
-#include "uart_driver.h"
 #include "user.h"
 #include "STLmain.h"
 /******************************
@@ -31,7 +33,7 @@
  *
  ******************************/
 _op_ Op[proc_cnt] = {{Event_5ms, EVE1MSCNT_5ms, EVE1MSCNT_5ms},
-                     {Event_10ms, EVE1MSCNT_20ms, EVE1MSCNT_20ms},
+                     {Event_10ms, EVE1MSCNT_10ms, EVE1MSCNT_10ms},
                      {Event_20ms, EVE1MSCNT_20ms, EVE1MSCNT_20ms},
                      {Event_100ms, EVE1MSCNT_100ms, EVE1MSCNT_100ms},
                      {Event_200ms, EVE1MSCNT_200ms, EVE1MSCNT_200ms}};
@@ -42,86 +44,134 @@ static SQWORD TimingTaskTimerTickTempOld = 0;
 static SQWORD TimingTaskTimerTickPassed = 0;
 static UWORD  LoopServerExecutedFlag = 0;
 static UWORD  AssistCNT = 0;
-UWORD  AssistCNT1=0; 
 UWORD socTest = 100;
+BOOL tstMafClrFlg = FALSE;
+/******************************
+ *
+ *  Function
+ *
+ ******************************/
 void  Event_1ms(void)
 {
-    AssistCNT1++;
-    // 1st FSM control
+    /* 1st FSM control */
     FSM_1st_Main();
     FSM1st_Sys_state.Event_hook();
     
-
-    // Power control
-    //power_voPowerManagement(cp_stFlg.ParaHistorySaveEEFinishFlg, cp_stFlg.ParaSaveEEFlg);
+    /* Power control */
+//    power_voPowerManagement(cp_stFlg.ParaHistorySaveEEFinishFlg, cp_stFlg.ParaSaveEEFlg);
     power_voPowerManagement(ass_ParaCong.uwAutoPowerOffTime * 60, cp_ulSystickCnt, OBC_ButtonStatus.ulButtonSetTimeCnt, \
                             MC_RunInfo.Torque, MC_RunInfo.Cadence, MC_RunInfo.BikeSpeed, \
                             cp_stFlg.ParaHistorySaveEEFinishFlg, cp_stFlg.ParaSaveEEFlg);
     
-    // cp_history info update
+    /* cp_history info update */
     Can_voMC_Run_1ms();
 
+    /* Torque move average filter */
     if (cadence_stFreGetOut.uwForwardCnt > 0)
     {
         torsensor_voCadenceCnt();
         cadence_stFreGetOut.uwForwardCnt = 0;
         maf_torque.value = torsensor_stTorSensorOut.uwTorquePu;
         MoveAverageFilter(&maf_torque);
-    }
-    
-    torsensor_voDynamicOffset();
-    torsensor_voTorADCwithTemp();
-
-    // Tor assist cal
-        // ass_CalIn.swFlxIqLimit = MC_RunInfo.SOC;
-        ass_CalIn.SOCValue = socTest;
-        if(cp_stFlg.RunModelSelect == CityBIKE )
-        {
-            ass_CalIn.swDirection = -1;
-        }
-        else if(cp_stFlg.RunModelSelect == MountainBIKE)
+        
+        //////Iqref maf test, dont add torq obs//////
+        if(tstTorqPIFlg == 1)
         {
-            ass_CalIn.swDirection = 1;
+            maf_uqlimit.value = ass_stTorqPIOut.swIRefPu;
+            MoveAverageFilter(&maf_uqlimit);
+            tstMafClrFlg = FALSE;
         }
-        else
+        else if((tstTorqPIFlg == 0) && (tstMafClrFlg == FALSE))
         {
-            ass_CalIn.swDirection = 1;
-        }
-        ass_CalIn.swFlxIqLimit = abs(flx_stCtrlOut.swIqLimPu);
-        ass_CalIn.swPwrIqLimit = abs(pwr_stPwrLimOut2.swIqLimPu);
-        ass_CalIn.uwbikespeed = bikespeed_stFreGetOut.uwLPFFrequencyPu;
-        ass_CalIn.uwcadancelast = ass_CalIn.uwcadance;
-        ass_CalIn.uwcadance = cadence_stFreGetOut.uwLPFFrequencyPu;
-        ass_CalIn.uwcadancePer = cadence_stFreGetOut.uwFreqPercent;
-        ass_CalIn.uwcadanceFWCnt = cadence_stFreGetOut.uwForwardCnt;
-
-        ass_CalIn.uwGearSt = (cp_stBikeRunInfoPara.uwBikeGear <= 6) ? cp_stBikeRunInfoPara.uwBikeGear : 0;
-        ass_CalIn.uwSpdFbkAbsPu = scm_uwSpdFbkLpfAbsPu;
-        ass_CalIn.swSpdFbkPu = scm_stSpdFbkLpf.slY.sw.hi;
-        ass_CalIn.uwBaseSpdrpm = cof_uwVbRpm;
-        ass_CalIn.uwtorque = maf_torque.AverValue; // maf_torque.AverValue;//torsensor_stTorSensorOut.uwTorqueLPFPu;
-        ass_CalIn.uwtorquelpf = torsensor_stTorSensorOut.uwTorqueLPFPu;
-        ass_CalIn.uwtorquePer = torsensor_stTorSensorOut.uwTorquePu;
-        ass_CalIn.swCurFdbPu = scm_swIqFdbLpfPu;
-        ass_CalIn.swCurRefPu = scm_swIqRefPu;
-        Assist();
+            MoveAverageFilterClear(&maf_uqlimit);
+            tstMafClrFlg = TRUE;
+        }    
         
-        uart_swTorqRefNm = Assist_torqueper;
-//        if(cp_stFlg.RunModelSelect == CityBIKE )
-//        {
-//            uart_swTorqRefNm = -Assist_torqueper;
-//        }
-//        else if(cp_stFlg.RunModelSelect == MountainBIKE )
-//        {
-//            uart_swTorqRefNm = Assist_torqueper;
-//        }
-//        else
-//        {
-//
-//        }
+    }
+    /* Torque info update */
+    torsensor_voTorADC();
+//    torsensor_voDynamicOffset();
+//    torsensor_voTorADCwithTemp();
 
-    // 3rd FSM flag judge and set
-    // torque assist model flg
+    /* Torque assist calculation*/
+//    ass_CalIn.swFlxIqLimit = MC_RunInfo.SOC;
+    ass_CalIn.SOCValue = socTest;
+    if(cp_stFlg.RunModelSelect == CityBIKE )
+    {
+        ass_CalIn.swDirection = -1;
+    }
+    else if(cp_stFlg.RunModelSelect == MountainBIKE)
+    {
+        ass_CalIn.swDirection = 1;
+    }
+    else
+    {
+        ass_CalIn.swDirection = 1;
+    }
+    ass_CalIn.swFlxIqLimit = abs(flx_stCtrlOut.swIqLimPu);
+    ass_CalIn.swPwrIqLimit = abs(pwr_stPwrLimOut2.swIqLimPu);
+    ass_CalIn.uwbikespeed = bikespeed_stFreGetOut.uwLPFFrequencyPu;
+    ass_CalIn.uwcadancelast = ass_CalIn.uwcadance;
+    ass_CalIn.uwcadance = cadence_stFreGetOut.uwLPFFrequencyPu;
+    ass_CalIn.uwcadancePer = cadence_stFreGetOut.uwFreqPercent;
+    ass_CalIn.uwcadanceFWCnt = cadence_stFreGetOut.uwForwardCnt;
+    ass_CalIn.uwGearSt = (cp_stBikeRunInfoPara.uwBikeGear <= 6) ? cp_stBikeRunInfoPara.uwBikeGear : 0;
+    ass_CalIn.uwSpdFbkAbsPu = scm_uwSpdFbkLpfAbsPu;
+    ass_CalIn.swSpdFbkPu = scm_stSpdFbkLpf.slY.sw.hi;
+    ass_CalIn.uwBaseSpdrpm = cof_uwVbRpm;
+    ass_CalIn.uwtorque = maf_torque.AverValue; // maf_torque.AverValue;//torsensor_stTorSensorOut.uwTorqueLPFPu;
+    ass_CalIn.uwtorquelpf = torsensor_stTorSensorOut.uwTorqueLPFPu;
+    ass_CalIn.uwtorquePer = torsensor_stTorSensorOut.uwTorquePu;
+    ass_CalIn.swCurFdbPu = scm_swIqFdbLpfPu;
+    ass_CalIn.swCurRefPu = scm_swIqRefPu;
+    Assist();
+    
+    uart_swTorqRefNm = Assist_torqueper;
+    
+      /////////test///////////
+//    if((cp_stFlg.RunModelSelect == CityBIKE) || (cp_stFlg.RunModelSelect == MountainBIKE))
+//    {
+//            
+//      ass_CalOut.swVoltLimitPu = scm_swVsDcpLimPu;
+//       uart_swTorqRefNm = ass_CalIn.swDirection * ass_ParaSet.uwSpeedAssistIMaxA;
+////      if(MC_ControlCode.GearSt == 0x01)
+////      {
+////          uart_swTorqRefNm = ass_CalIn.swDirection * 546;
+////      }
+////      else if(MC_ControlCode.GearSt == 0x02)
+////      {
+////          uart_swTorqRefNm = ass_CalIn.swDirection * 546 * 2;
+////      }
+////      else if(MC_ControlCode.GearSt == 0x03)
+////      {
+////          uart_swTorqRefNm = ass_CalIn.swDirection * 546 * 3;     
+////      }
+////      else if(MC_ControlCode.GearSt == 0x04)
+////      {
+////          uart_swTorqRefNm = ass_CalIn.swDirection * 546 * 4;  
+////      }
+////      else if(MC_ControlCode.GearSt == 0x33 || MC_ControlCode.GearSt == 0x05)
+////      {
+////          uart_swTorqRefNm = ass_CalIn.swDirection * 546 * 5;
+////      }
+////      else
+////      {
+////          uart_swTorqRefNm = 0;
+////      }
+//      
+//      if(uart_swTorqRefNm != 0)
+//      {
+//         ass_CalCoef.blAssistflag = TRUE;
+//      }
+//      else
+//      {
+//         ass_CalCoef.blAssistflag = FALSE;
+//      }
+//          
+//    }
+    
+
+    /* Torque assist mode flag */
     if (ass_CalCoef.blAssistflag == TRUE && cp_stFlg.RunPermitFlg == TRUE && cp_stFlg.SpiOffsetFirstSetFlg ==1)
     {
         signal_state.Sensor = TRUE;
@@ -135,7 +185,7 @@ void  Event_1ms(void)
         signal_state.Sensor = FALSE;
     }
 
-    // spd assist model flg
+    /* Speed assist mode flag */
     if((cp_stFlg.RunModelSelect == CityBIKE) || (cp_stFlg.RunModelSelect == MountainBIKE))
     {
         #if 0  // By throttle ADC signal
@@ -205,11 +255,7 @@ void  Event_1ms(void)
         {
             signal_state.Assist = FALSE;
         }
-    }
-
-    // user code end here
-
-       
+    }  
 }
 
 void Event_5ms(void)
@@ -295,23 +341,23 @@ void  Event_200ms(void)
     bikespeed_voGetBikeSpeedPwrError(adc_stUpOut.uwU5VPu);
 
     /* Bike faults 200ms detect */
-    if((cp_stFlg.RunModelSelect == MountainBIKE) || (cp_stFlg.RunModelSelect == CityBIKE))
-    {
-        alm_stBikeIn.uwTroqReg = torsensor_stTorSensorOut.uwTorqueReg;
-        alm_stBikeIn.uwTroqPu = torsensor_stTorSensorOut.uwTorqueLPFPu;//torsensor_stTorSensorOut.uwTorquePu;
-        alm_stBikeIn.blBikeSpdOvrFlg = bikespeed_stFreGetOut.blBikeSpeedSensorPwrErrorFlg;
-        alm_stBikeIn.blCadenceFreqOvrFlg = cadence_stFreGetOut.blCadenceSensorErrorFlg;
-        alm_stBikeIn.swMotorSpdDir = ass_CalIn.swDirection;
-        alm_stBikeIn.swMotorSpdPu = scm_stSpdFbkLpf.slY.sw.hi;
-        alm_stBikeIn.uwBikeSpdPu = bikespeed_stFreGetOut.uwFrequencyPu;
-        alm_stBikeIn.uwCadenceFreqPu = cadence_stFreGetOut.uwFrequencyPu;
-        alm_stBikeIn.uwMotorNTCReg = adc_stUpOut.MotorTempReg;
-        alm_stBikeIn.uwPCBNTCReg = adc_stUpOut.PCBTempReg;
-        alm_stBikeIn.uwThrottleReg = adc_stUpOut.uwThrottleReg;
-        alm_stBikeIn.blThrottleExistFlg = FALSE;
-        alm_stBikeIn.blMotorNTCExistFlg = FALSE;
-        alm_voDetec200MS(&alm_stBikeIn, &alm_stDetect200MSCoef);   
-    }
+//    if((cp_stFlg.RunModelSelect == MountainBIKE) || (cp_stFlg.RunModelSelect == CityBIKE))
+//    {
+//        alm_stBikeIn.uwTroqReg = torsensor_stTorSensorOut.uwTorqueReg;
+//        alm_stBikeIn.uwTroqPu = torsensor_stTorSensorOut.uwTorqueLPFPu;//torsensor_stTorSensorOut.uwTorquePu;
+//        alm_stBikeIn.blBikeSpdOvrFlg = bikespeed_stFreGetOut.blBikeSpeedSensorPwrErrorFlg;
+//        alm_stBikeIn.blCadenceFreqOvrFlg = cadence_stFreGetOut.blCadenceSensorErrorFlg;
+//        alm_stBikeIn.swMotorSpdDir = ass_CalIn.swDirection;
+//        alm_stBikeIn.swMotorSpdPu = scm_stSpdFbkLpf.slY.sw.hi;
+//        alm_stBikeIn.uwBikeSpdPu = bikespeed_stFreGetOut.uwFrequencyPu;
+//        alm_stBikeIn.uwCadenceFreqPu = cadence_stFreGetOut.uwFrequencyPu;
+//        alm_stBikeIn.uwMotorNTCReg = adc_stUpOut.MotorTempReg;
+//        alm_stBikeIn.uwPCBNTCReg = adc_stUpOut.PCBTempReg;
+//        alm_stBikeIn.uwThrottleReg = adc_stUpOut.uwThrottleReg;
+//        alm_stBikeIn.blThrottleExistFlg = FALSE;
+//        alm_stBikeIn.blMotorNTCExistFlg = FALSE;
+//        alm_voDetec200MS(&alm_stBikeIn, &alm_stDetect200MSCoef);   
+//    }
     
     if (switch_flg.SysFault_Flag == TRUE)
     {
@@ -321,57 +367,46 @@ void  Event_200ms(void)
 
  void Signal_detect(void)
 {
-        SWORD sign;
-   // SWORD sign=1;/*V2 -1  V3 1*/
-//      uart_slSpdRefRpm = - ((SLONG)MC_MotorSPD_rpm_Percent*5500)/100;
-//      if(abs(uart_slSpdRefRpm) < 300)
-//      {
-//        uart_slSpdRefRpm = 0;
-//      }
+    SWORD sign;
+
     if (MOTOR_ID_SEL == MOTOR_WELLING_MTB)
     {
-              sign = 1;
+        sign = 1;
     }
     else if(MOTOR_ID_SEL == MOTOR_WELLING_CITY)
     {
-              sign = -1;
+        sign = -1;
     }
     else
     {
-           sign=1;
-    }
-         
+        sign=1;
+    }         
          
     if(MC_ControlCode.GearSt == 0x01)
     {
-      uart_slSpdRefRpm = sign *785;
+        uart_slSpdRefRpm = sign *785;
     }
     else if(MC_ControlCode.GearSt == 0x02)
     {
-      //uart_slSpdRefRpm = sign *3088;
-      uart_slSpdRefRpm = sign *1000;
+        uart_slSpdRefRpm = sign *1000;
     }
     else if(MC_ControlCode.GearSt == 0x03)
     {
-      uart_slSpdRefRpm = sign *3088;
-      
+        uart_slSpdRefRpm = sign *3088;      
     }
     else if(MC_ControlCode.GearSt == 0x04)
     {
-      uart_slSpdRefRpm = sign*3603;
-      
+        uart_slSpdRefRpm = sign*3603;      
     }
     else if(MC_ControlCode.GearSt == 0x33 || MC_ControlCode.GearSt == 0x05)
     {
-//      uart_slSpdRefRpm = sign *3500;
-      uart_slSpdRefRpm = sign*4500;
+        uart_slSpdRefRpm = sign*4500;
     }
     else
     {
-      uart_slSpdRefRpm = 0;
+        uart_slSpdRefRpm = 0;
     }
 
-
 }
 
 void TimingTaskTimerServer(void)

+ 11 - 12
User project/2.MotorDrive/Source/spdctrmode.c

@@ -587,6 +587,7 @@ void  scm_voTorqCtrMdTbs(void)
        swTestIqref = uart_swTorqRefNm;
     }
 
+//    swTestIqref = uart_swTorqRefNm;
     
     if (swTestIqref > swIqLowerPu)
     {
@@ -736,16 +737,16 @@ void  scm_voSpdCtrMdDownTbc(void)
     else if (DCPswitch == 0)
     {
       
-//        if(FSM2nd_Run_state.state == Assistance)
-//        {
-//          acr_stCurIqPIIn.swUmaxPu = ass_CalOut.swVoltLimitPu - acr_stUdqDcpOut.swUqPu;  // Q14
-//          acr_stCurIqPIIn.swUminPu = -ass_CalOut.swVoltLimitPu - acr_stUdqDcpOut.swUqPu; // Q14
-//        }
-//        else
-//        {
-//           acr_stCurIqPIIn.swUmaxPu = scm_swVsDcpLimPu - acr_stUdqDcpOut.swUqPu;  // Q14
-//           acr_stCurIqPIIn.swUminPu = -scm_swVsDcpLimPu - acr_stUdqDcpOut.swUqPu; // Q14
-//        }       
+        if(FSM2nd_Run_state.state == Assistance)
+        {
+          acr_stCurIqPIIn.swUmaxPu = ass_CalOut.swVoltLimitPu - acr_stUdqDcpOut.swUqPu;  // Q14
+          acr_stCurIqPIIn.swUminPu = -ass_CalOut.swVoltLimitPu - acr_stUdqDcpOut.swUqPu; // Q14
+        }
+        else
+        {
+           acr_stCurIqPIIn.swUmaxPu = scm_swVsDcpLimPu - acr_stUdqDcpOut.swUqPu;  // Q14
+           acr_stCurIqPIIn.swUminPu = -scm_swVsDcpLimPu - acr_stUdqDcpOut.swUqPu; // Q14
+        }       
         
 //        acr_stCurIqPIIn.swUmaxPu = scm_swVsLimPu - acr_stUdqDcpOut.swUqPu;  // Q14
 //        acr_stCurIqPIIn.swUminPu = -scm_swVsLimPu - acr_stUdqDcpOut.swUqPu; // Q14
@@ -754,8 +755,6 @@ void  scm_voSpdCtrMdDownTbc(void)
 //        acr_stCurIqPIIn.swUmaxPu = scm_swUqLimPu - acr_stUdqDcpOut.swUqPu;  // Q14
 //        acr_stCurIqPIIn.swUminPu = -scm_swUqLimPu - acr_stUdqDcpOut.swUqPu; // Q14
       
-         acr_stCurIqPIIn.swUmaxPu = scm_swVsDcpLimPu - acr_stUdqDcpOut.swUqPu;  // Q14
-         acr_stCurIqPIIn.swUminPu = -scm_swVsDcpLimPu - acr_stUdqDcpOut.swUqPu; //
     }
     else
     {}

+ 31 - 4
User project/3.BasicFunction/Include/AssistCurve.h

@@ -43,7 +43,7 @@
 #define TORQUE_START_THRESHOLD   80 // 0.1Nm
 #define TORQUE_STOP_THRESHOLD    20 // 0.1Nm
 #define TORQUE_SWITCH2_THRESHOLD 120 // 0.1Nm
-#define TORQUE_SWITCH1_THRESHOLD 60 // 0.1Nm
+#define TORQUE_SWITCH1_THRESHOLD 80 // 0.1Nm
 
 #define BIKE_ASS_MOTOR_CURRENT_MAX      5500 // 0.01A
 #define BIKE_ASS_MOTOR_TORQUE_MAX       20   // 0.1Nm
@@ -65,7 +65,7 @@
 
 #define ASS_LINER_TORQUE_DEFAULT             \
     {                                  \
-        2867, 4096, 6144, 8192, 4096 \
+        2867, 4096, 6122, 8192, 4096 \
     } // Q12
 //#define TORQUE_ASSIST_DEFAULT                                                                                                                      \
 //    {                                                                                                                                              \
@@ -224,7 +224,7 @@ typedef struct
 typedef struct
 {
     UWORD uwGearSt; // Assist Gear
-    UWORD swDirection; // Motor direction 
+    SWORD swDirection; // Motor direction 
     UWORD uwtorque;
     UWORD uwtorquelpf;
     UWORD uwtorquePer;    // Q15, Torque sensor output persentage  Tmax = 80Nm
@@ -342,7 +342,7 @@ typedef struct
     SLONG  AverValue;
     SWORD *buffer;
     UWORD  index;
-    BOOL   blOneDuty;
+    BOOL   blSecFlag;
 } MAF_IN;
 
 typedef struct
@@ -364,11 +364,30 @@ typedef struct
 {
     UWORD uwIqLimitAbs; // IqLimit
 } ASS_LIMIT_ACCORDING_VOL_OUT;
+
+typedef struct
+{
+    SWORD swImaxPu;
+    SWORD swIminPu;
+    SWORD swTorqRefPu;
+    SWORD swTorqFdbPu;  
+} ASS_TORQ_PI_IN;
+
+typedef struct
+{
+  SWORD swErrZ1Pu;
+  SLONG slIRefPu;
+  SWORD swIRefPu;    
+} ASS_TORQ_PI_OUT;
+
+
 /****************************************
  *
  *           Exported variable
  *
  ****************************************/
+   
+   
 extern ASS_LIMIT_ACCORDING_VOL_OUT ass_CurLimitCalBMSOut;
 extern ASS_LIMIT_ACCORDING_VOL_COF ass_CurLimCalBMSCoef;
 
@@ -389,11 +408,18 @@ extern ASS_CURLIM_COEF ass_CurLimCoef;
 
 extern SWORD  MAF_buffer[64];
 extern MAF_IN maf_torque;
+extern SWORD  MAF_uq_buffer[64];
+extern MAF_IN maf_uqlimit;
+extern UWORD tstUqLimFlag;
+extern UWORD tstTorqPIFlg;
 
 extern ASR_SPDPI_IN  asr_stTorqSpdPIIn;
 extern ASR_SPDPI_OUT asr_stTorqSpdPIOut;
 extern ASR_SPDPI_COF asr_stTorqSpdPICoef;
 extern ASR_SPDPI_COFIN asr_stTorqSpdPICoefIn;
+
+extern ASS_TORQ_PI_IN ass_stTorqPIIn;
+extern ASS_TORQ_PI_OUT ass_stTorqPIOut;
 /************************************************************************
  Ram Allocation
 *************************************************************************/
@@ -416,6 +442,7 @@ void MoveAverageFilter(MAF_IN *in);
 void MoveAverageFilterClear(MAF_IN *in);
 void AssistCurrentLimitAccordingBMS(UWORD uwSOCvalue);
 
+void AssitTorqPI(ASS_TORQ_PI_IN *in, ASS_TORQ_PI_OUT *out);
 /**
  * @brief 选择相应档位曲线
  *

File diff suppressed because it is too large
+ 785 - 704
User project/3.BasicFunction/Source/AssistCurve.c


+ 1 - 1
User project/4.BasicHardwSoftwLayer/2.BasicSoftwLayer/Include/user.h

@@ -40,7 +40,7 @@ Update Time
 *=======================================================================*/
 #define MOTOR_WELLING_CITY 0x20
 #define MOTOR_WELLING_MTB 0x21
-#define MOTOR_ID_SEL           MOTOR_WELLING_MTB //
+#define MOTOR_ID_SEL           MOTOR_WELLING_CITY //
 
 
 /*======================================================================*

Some files were not shown because too many files changed in this diff