Ye Jin 6 月之前
父節點
當前提交
c734f7d764
共有 2 個文件被更改,包括 27 次插入4 次删除
  1. 1 1
      User project/3.BasicFunction/Include/giant_can.h
  2. 26 3
      User project/3.BasicFunction/Source/giant_can.c

+ 1 - 1
User project/3.BasicFunction/Include/giant_can.h

@@ -79,7 +79,7 @@ typedef struct
 
 typedef struct
 {
-    BOOL RefreshFlag;
+    UWORD RefreshFlag;
     UBYTE Error;
     UBYTE ManualSleepEn;
     UBYTE AutomaticSleepEn;//1-ignore,0-keep

+ 26 - 3
User project/3.BasicFunction/Source/giant_can.c

@@ -43,12 +43,13 @@ void giant_Init(void)
 {
     stGiantControlParams.RidingModeEn = 0;
     stGiantControlParams.AdjustingMode = 0x0B;//check mode
+    stGiantControlParams.WheelCircumference = 2182;//mm
 }
 void giant_10msTask(void)
 {
     static UBYTE giant_10mscount = 0;
     
-    if(power_stPowStateOut.powerstate == POWER_OFF)
+    if((power_stPowStateOut.powerstate == POWER_OFF) || ((stGiantControlParams.AdjustingMode >= AD_SERVICEMODE) && (stGiantControlParams.AdjustingMode <= AD_CHECKMODE)))
     {
         return;
     }
@@ -581,9 +582,31 @@ void giant_CANRxData_Process(void)
         }
         MC_RunInfo.GearSt = (UBYTE)MC_ControlCode.GearSt;
         
-        if(stGiantControlParams.AdjustingMode == AD_CHECKMODE)
+        //轮径更新
+        if((stGiantControlParams.AdjustingMode == AD_CHECKMODE) && (MC_UpcInfo.stBikeInfo.uwWheelPerimeter != (stGiantControlParams.WheelCircumference/10)))
         {
-            ass_stParaCong.uwWheelPerimeter = stGiantControlParams.WheelCircumference;
+            MC_UpcInfo.stBikeInfo.uwWheelPerimeter = stGiantControlParams.WheelCircumference/10;
+            
+            MC_UpcInfo.stBikeInfo.uwSaveFlg = 0;
+            cp_stFlg.ParaSaveEEFlg = FALSE;
+            cp_stFlg.ParaUpdateFlg = TRUE;
+            cp_stFlg.ParaBikeInfoUpdateFlg = TRUE;
+            cp_stFlg.ParaAssistUpdateFinishFlg = TRUE;
+        }
+        
+        //限速更新
+        if(MC_UpcInfo.stAssistInfo.uwAssistLimitBikeSpdStart != (stGiantControlParams.SpeedLimitation/100))
+        {
+            MC_UpcInfo.stAssistInfo.uwAssistLimitBikeSpdStart = stGiantControlParams.SpeedLimitation/100;
+            MC_UpcInfo.stAssistInfo.uwAssistLimitBikeSpdStop = stGiantControlParams.SpeedLimitation/100 + 2;
+            MC_UpcInfo.stBikeInfo.uwThrottleMaxSpdKmH = stGiantControlParams.SpeedLimitation/100;
+            MC_UpcInfo.stBikeInfo.uwSaveFlg = 0;
+            MC_UpcInfo.stAssistInfo.uwSaveFlg = 0;
+            cp_stFlg.ParaSaveEEFlg = FALSE;
+            cp_stFlg.ParaUpdateFlg = TRUE;
+            cp_stFlg.ParaAInfoUpdateFlg = TRUE;
+            cp_stFlg.ParaBikeInfoUpdateFlg = TRUE;
+            cp_stFlg.ParaAssistUpdateFinishFlg = TRUE;
         }
     }
 }