Ye Jin 6 месяцев назад
Родитель
Сommit
e83fd90bbc
1 измененных файлов с 12 добавлено и 7 удалено
  1. 12 7
      User project/3.BasicFunction/Source/giant_can.c

+ 12 - 7
User project/3.BasicFunction/Source/giant_can.c

@@ -52,6 +52,11 @@ void giant_10msTask(void)
 {
     static UBYTE giant_10mscount = 0;
     
+    if((stGiantControlParams.AdjustingMode == AD_OFFMODE) || (stGiantControlParams.ManualSleepEn) || (stGiantControlParams.AutomaticSleepEn))//Off state
+    {
+        power_stPowStateOut.powerstate = POWER_OFF;
+        power_stPowStateOut.blPowerStartupFlg = FALSE;
+    }
     
     if(stGiantControlParams.AdjustingMode == AD_CHECKMODE)
     {
@@ -491,12 +496,15 @@ void giant_SendDriveChainActiveData(UBYTE functiongroup, UBYTE dataaddr)
         case 0x1:       //Cycling State
         {
             len = 5;
-            data[0] |= 0x00;//Communication sleep
+            if(stGiantControlParams.CommSleep >= 1)
+            {
+                data[0] |= 0x01;//Communication sleep
+            }
             if(MC_RunInfo.LightSwitch == MC_LightSwitch_ON)
             {
                 data[2] |= (0x01<<6);
             }   
-            data[2] |= (ass_stParaCong.uwStartMode<<4);
+            data[2] |= (stGiantControlParams.StartMode<<4);
             data[2] |= (MC_RunInfo.CadenceDir<<2);
             data[3] = (UBYTE)(stGiantControlParams.SpeedLimitation & 0xFF);// speed limitation,0.01km/h
             data[4] = (UBYTE)((stGiantControlParams.SpeedLimitation & 0xFF00) >> 8);
@@ -628,12 +636,9 @@ void giant_CANRxData_Process(void)
     if(stGiantControlParams.RefreshFlag)
     {
         stGiantControlParams.RefreshFlag = FALSE;    
-        if((stGiantControlParams.AdjustingMode == AD_OFFMODE) || (stGiantControlParams.ManualSleepEn) || (stGiantControlParams.AutomaticSleepEn))//Off state
-    {
-        power_stPowStateOut.powerstate = POWER_OFF;
-        power_stPowStateOut.blPowerStartupFlg = FALSE;
-    }
+        
         ass_stParaCong.uwStartMode = stGiantControlParams.StartMode;
+        
         if((stGiantControlParams.AdjustingMode >= AD_CHECKMODE) && (stGiantControlParams.AdjustingMode <= AD_OFFMODE))
         {
             MC_ControlCode.GearSt = MC_GearSt_OFF;