Эх сурвалжийг харах

fix(grpc_BS):fix a arriv flag logic for guide vehicle

tianxiaosen 3 жил өмнө
parent
commit
e338a7bb22

+ 1 - 0
src/driver/driver_cloud_grpc_client_BS/main.cpp

@@ -47,6 +47,7 @@ QVector<gGPSPoint> gPOIPoints;
 
 uint8_t gShift_Status = 3; //3 p 4 r 5 n 6 d
 uint8_t gCtrlMode_Status = 0; //0 auto 1 remote 2 stop 3 platform
+uint8_t gNavagationSwitch = 0;
 
 std::string gstrserverip =  "111.33.136.150";//"123.57.212.138";
 std::string gstruploadPort = "10591";//"9000";

+ 2 - 0
src/driver/driver_cloud_grpc_client_BS/vehicle_control.cpp

@@ -16,6 +16,7 @@ extern std::string gstrplateNumber;
 extern char stryamlpath[256];
 
 extern uint8_t gCtrlMode_Status; //0 auto 1 remote 2 stop 3 platform
+extern uint8_t gNavagationSwitch;
 
 #ifndef GLOBAL_GPS_POINT
 #define GLOBAL_GPS_POINT
@@ -293,6 +294,7 @@ std::string VehicleChangeCtrlModeClient::changeCtrlMode(void)
 void VehicleChangeCtrlModeClient::updateCtrolMode(void)
 {
 //    std::cout<<"modeCMD:"<<modeCMD<<std::endl;
+    gNavagationSwitch = navagationSwitch;
     gCtrlMode_Status = modeCMD;
     emit ctrlMode_Changed(modeCMD);
 }

+ 10 - 1
src/driver/driver_cloud_grpc_client_BS/vehicle_upload.cpp

@@ -28,6 +28,7 @@ extern char stryamlpath[256];
 
 extern uint8_t gShift_Status;//3 p 4 r 5 n 6 d
 extern uint8_t gCtrlMode_Status; //0 auto 1 remote 2 stop 3 platform
+extern uint8_t gNavagationSwitch;
 
 #ifndef GLOBAL_GPS_POINT
 #define GLOBAL_GPS_POINT
@@ -581,7 +582,15 @@ std::string DataExchangeClient::uploadVehicleInfo(void)
     request.set_sensorstatuscamrear(sensorStatusCamRear);
     request.set_sensorstatuscamleft(sensorStatusCamLeft);
     request.set_sensorstatuscamright(sensorStatusCamRight);
-    request.set_isarrived(isArrived);
+    if(isArrived == 1)
+    {
+        if(gNavagationSwitch == 0)
+            request.set_isarrived(0);
+        if(gNavagationSwitch == 1)
+            request.set_isarrived(isArrived);
+    }
+    else
+        request.set_isarrived(isArrived);
 //    std::cout<<"isarrived: "<<isArrived<<std::endl;
     request.set_platenumber(plateNumber);
     request.set_usestatusfeedback(useStatus);