From dc2a01d4764efd33a23afcaf4f1d7543dc35c4fa Mon Sep 17 00:00:00 2001
From: fctom1215 <fctom1215@outlook.com>
Date: 星期三, 19 二月 2020 15:32:57 +0800
Subject: [PATCH] 上坡地图修正

---
 lib/src/main/cpp/test_items/park_edge.cpp |   22 +++++++++++++---------
 1 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/lib/src/main/cpp/test_items/park_edge.cpp b/lib/src/main/cpp/test_items/park_edge.cpp
index c5ed6ec..8656e46 100644
--- a/lib/src/main/cpp/test_items/park_edge.cpp
+++ b/lib/src/main/cpp/test_items/park_edge.cpp
@@ -27,6 +27,7 @@
 static int parkStatus;
 static bool occurMoveBack, parkSuccess;
 static uint32_t moveBackTimePoint;
+static bool testing = false;
 
 static bool CrashRedLine1(const Polygon *map, const car_model *car);
 static bool CrashRedLine2(const Polygon *map, const car_model *car);
@@ -36,6 +37,10 @@
 
 void StartParkEdge(int moveStatus, const struct RtkTime *rtkTime)
 {
+    DEBUG("杩涘叆渚ф柟鍋滆溅鍦哄湴");
+
+    testing = true;
+
     occurCrashRedLine1 = occurCrashRedLine2 = false;        // 杩欎釜绉戠洰瑙勫畾鐗规畩鐐癸紝鍙戠敓涓�娆℃墸10鍒嗭紝鑰屼笉鐩存帴娣樻卑
     reportExamTimeout = false;
 
@@ -47,14 +52,10 @@
         occurMoveBack = true;
         moveBackTimePoint = TimeMakeComposite(rtkTime->hh, rtkTime->mm, rtkTime->ss, rtkTime->mss*10);
     }
-
-    DEBUG("杩涘叆渚ф柟鍋滆溅鍦哄湴");
 }
 
 int TestParkEdge(const Polygon *map, const car_model *car, const car_model *carPrev, double speed, int moveStatus, const struct RtkTime *rtkTime)
 {
-    int status = 0;
-
     if (CrashRedLine1(map, car)) {
         if (!occurCrashRedLine1) {
             // 杞﹁疆鍘嬭竟绾匡紝姣忔鎵�10鍒�
@@ -83,7 +84,8 @@
             AddExamFault(21, rtkTime);
             DEBUG("鐩存帴椹剁娴嬭瘯鍖�,绉诲簱涓嶅叆");
         }
-        status = 1;
+        testing = false;
+        goto TEST_END;
     }
 
     if (occurMoveBack) {
@@ -121,7 +123,10 @@
                 // 鍊掕溅鍒囨崲鍒板墠杩�
                 if (moveStatus == 1 && tp - stopTimepoint >= STOP_CAR_TIME) {
                     if (parkStatus == 0) {
-
+                        if (EnterParking(map, car)) {
+                            parkStatus = 1;
+                            parkSuccess = true;
+                        }
                     }
 
                     if (!parkSuccess) {
@@ -149,7 +154,6 @@
         prevMoveStatus = moveStatus;
     } else if (moveStatus == 0 && parkStatus == 0) {
         uint32_t tp = TimeMakeComposite(rtkTime->hh, rtkTime->mm, rtkTime->ss, rtkTime->mss*10);
-        tp = tp * 1000 + rtkTime->mss * 10;
 
         if (tp - stopTimepoint >= STOP_CAR_TIME) {
             if (EnterParking(map, car)) {
@@ -160,8 +164,8 @@
             }
         }
     }
-
-    return status;
+TEST_END:
+    return testing ? 0 : 1;
 }
 
 // 杞﹁疆鏄惁鍘嬮亾璺竟绾�

--
Gitblit v1.8.0