Browse Source

fix(decition):change two bool parameter to int, fix a fsm skip logic

sunjiacheng 3 years ago
parent
commit
3da48d4db0

+ 2 - 2
src/decition/common/common/car_status.h

@@ -260,8 +260,8 @@ namespace iv {
         int mbLastFSM_State=0;
         //接收共享内存其他模块传递出来的信息作状态机条件跳变
         bool mbErrState = 0;//1出现故障,0 无故障,chassis
-        bool mbStartStopWork = 2;//开工指令1 停工指令0
-        bool mbTakeOverEn = 2; //进入接管1    退出接管0
+        int mbStartStopWork = 2;//开工指令1 停工指令0
+        int mbTakeOverEn = 2; //进入接管1    退出接管0
         bool mbOvertimeEn = 0;    //超时1  未超时0
         int mbOvertimeCnt=0;//计数到一定数目还没收到任务,就记为超时
         int mbTaskCmdType = 0;   //收到任务1    完成任务2   取消任务3

+ 3 - 4
src/decition/decition_brain_sf_jsguide/decition/brain.cpp

@@ -167,7 +167,7 @@ iv::decition::BrainDecition::BrainDecition()
 
     mpUltraArea = iv::modulecomm::RegisterRecv("ultra_area",iv::decition::ListenUltraArea);
 
-    mpFSMSkipCmd = iv::modulecomm::RegisterRecv("FSMSkipCmmand",iv::decition::ListenFSMSkipCmd);
+    mpFSMSkipCmd = iv::modulecomm::RegisterRecv("FSMSkipCommand",iv::decition::ListenFSMSkipCmd);
 
 
     mTime.start();
@@ -512,7 +512,7 @@ void iv::decition::BrainDecition::run() {
         {
                 ServiceCarStatus.mbRunPause=true;
              //待命停车
-                if(ServiceCarStatus.mbOvertimeCnt<=100)//待命计时
+                if(ServiceCarStatus.mbOvertimeCnt<=1000)//待命计时
                 {
                     ServiceCarStatus.mbOvertimeCnt++;
                 }
@@ -615,8 +615,7 @@ void iv::decition::BrainDecition::run() {
                     ServiceCarStatus.mbFSM_State = 4;
                     ServiceCarStatus.mbLastFSM_State=2;
                 }
-                if((ServiceCarStatus.mbTakeOverEn == 0) && (ServiceCarStatus.mbLastFSM_State == 0)
-                        &&(ServiceCarStatus.mbCloseToPath == 0))//退出接管 && 远离路线
+                if((ServiceCarStatus.mbTakeOverEn == 0) && (ServiceCarStatus.mbLastFSM_State == 0))//退出接管 && 远离路线
                 {
                     ServiceCarStatus.mbRunPause=true;
                     ServiceCarStatus.mbFSM_State = 0;