Pārlūkot izejas kodu

兼容生产测试模式

Ye Jin 5 mēneši atpakaļ
vecāks
revīzija
b67c915a52

+ 4 - 1
User project/3.BasicFunction/Source/AssistCurve.c

@@ -1162,7 +1162,10 @@ static void ass_voAssitCurLim(UWORD gear, UWORD uwBikeSpeedHzPu, UWORD uwCurMaxP
 
     uwIqLimitTemp1 = (UWORD)(((ULONG)ass_stCurLimCoef.uwLimitGain[gear] * uwCurMaxPu) >> 10);
 
-    uwIqLimitTemp1 = uwCurMaxPu * stGiantControlParams.MaximumTorque * 10 / 75;
+    if(stGiantControlParams.MaximumTorque > 0)
+    {
+        uwIqLimitTemp1 = uwCurMaxPu * stGiantControlParams.MaximumTorque * 10 / 75;
+    }
     ass_stCurLimOut.uwIqlimit = uwIqLimitTemp1;
 }
 

+ 36 - 28
User project/3.BasicFunction/Source/giant_can.c

@@ -740,31 +740,34 @@ void giant_DataProcess(void)
         
         ass_stParaCong.uwStartMode = stGiantControlParams.StartMode;
         
-        if((stGiantControlParams.AdjustingMode >= AD_CHECKMODE) && (stGiantControlParams.AdjustingMode <= AD_OFFMODE))
+        if(MC_WorkMode != 1)
         {
-            MC_ControlCode.GearSt = MC_GearSt_OFF;
-        }
-        else if(stGiantControlParams.WalkEn == 1)
-        {
-            MC_ControlCode.GearSt = MC_GearSt_WALK;
-        }
-        else if((stGiantControlParams.AdjustingMode >= AD_SERVICEMODE_S) && (stGiantControlParams.AdjustingMode <= AD_SERVICEMODE_E))
-        {
-            MC_ControlCode.GearSt = MC_GearSt_OFF;
-        }
-        else if(stGiantControlParams.RidingModeEn == 0)
-        {
-            MC_ControlCode.GearSt = MC_GearSt_OFF;
-        }
-        else if(stGiantControlParams.AssistRatio == 0)
-        {
-            MC_ControlCode.GearSt = MC_GearSt_OFF;
-        }
-        else
-        {
-            MC_ControlCode.GearSt = MC_GearSt_Torque_ECO;
+            if((stGiantControlParams.AdjustingMode >= AD_CHECKMODE) && (stGiantControlParams.AdjustingMode <= AD_OFFMODE))
+            {
+                MC_ControlCode.GearSt = MC_GearSt_OFF;
+            }
+            else if(stGiantControlParams.WalkEn == 1)
+            {
+                MC_ControlCode.GearSt = MC_GearSt_WALK;
+            }
+            else if((stGiantControlParams.AdjustingMode >= AD_SERVICEMODE_S) && (stGiantControlParams.AdjustingMode <= AD_SERVICEMODE_E))
+            {
+                MC_ControlCode.GearSt = MC_GearSt_OFF;
+            }
+            else if(stGiantControlParams.RidingModeEn == 0)
+            {
+                MC_ControlCode.GearSt = MC_GearSt_OFF;
+            }
+            else if(stGiantControlParams.AssistRatio == 0)
+            {
+                MC_ControlCode.GearSt = MC_GearSt_OFF;
+            }
+            else
+            {
+                MC_ControlCode.GearSt = MC_GearSt_Torque_ECO;
+            }
+            MC_RunInfo.GearSt = (UBYTE)MC_ControlCode.GearSt;
         }
-        MC_RunInfo.GearSt = (UBYTE)MC_ControlCode.GearSt;
         
         if(stGiantControlParams.AdjustingMode == AD_CHECKMODE)
         {
@@ -814,22 +817,27 @@ void giant_DataProcess(void)
 SLONG giant_slPolynomial(const SWORD *value)
 {
     SLONG out;
-    UWORD gian;
+    UWORD gain;
     
     if(stGiantControlParams.StartMode == 1)
     {
-        gian = 82;
+        gain = 82;
     }
     else if(stGiantControlParams.StartMode == 3)
     {
-        gian = 123;
+        gain = 123;
     }
     else
     {
-        gian = 102;
+        gain = 102;
+    }
+    if(MC_WorkMode == 1)
+    {
+        gain = 102;
+        stGiantControlParams.AssistRatio = 35;
     }
     
-    out = stGiantControlParams.AssistRatio * *value * gian >> 10;
+    out = stGiantControlParams.AssistRatio * *value * gain >> 10;
     
     return out;
 }