From 24428a1b69afcf113883e9cede1159443201a1b8 Mon Sep 17 00:00:00 2001 From: yy1717 <fctom1215@outlook.com> Date: 星期四, 02 四月 2020 18:57:07 +0800 Subject: [PATCH] 进出科目二区域调整 --- lib/src/main/cpp/test_items/park_edge.cpp | 20 ++++++++++++++++---- 1 files changed, 16 insertions(+), 4 deletions(-) diff --git a/lib/src/main/cpp/test_items/park_edge.cpp b/lib/src/main/cpp/test_items/park_edge.cpp index 207d9e7..921ce34 100644 --- a/lib/src/main/cpp/test_items/park_edge.cpp +++ b/lib/src/main/cpp/test_items/park_edge.cpp @@ -10,6 +10,7 @@ #include "../native-lib.h" #include "../utils/xconvert.h" #include "../test_common/car_sensor.h" +#include "../master/comm_if.h" #include <vector> #include <cstdlib> @@ -21,7 +22,10 @@ const int PARK_TIMEOUT = D_SEC(90); const uint32_t STOP_CAR_TIME = D_SEC(2); +static int mapIndex = 0; static bool reportExamTimeout; +static bool reportParkFail; + static uint32_t stopTimepoint = 0; static bool occurCrashRedLine1, occurCrashRedLine2; static int prevMoveStatus, storeMoveStatusBeforeStop; @@ -36,15 +40,16 @@ static bool ExitParkArea(const Polygon *map, const car_model *car); static bool ExitParkArea2(const Polygon *map, const car_model *car); -void StartParkEdge(int moveStatus, const struct RtkTime *rtkTime) +void StartParkEdge(int index, int moveStatus, const struct RtkTime *rtkTime) { DEBUG("杩涘叆渚ф柟鍋滆溅鍦哄湴"); testing = true; + mapIndex = index; occurCrashRedLine1 = occurCrashRedLine2 = false; // 杩欎釜绉戠洰瑙勫畾鐗规畩鐐癸紝鍙戠敓涓�娆℃墸10鍒嗭紝鑰屼笉鐩存帴娣樻卑 reportExamTimeout = false; - + reportParkFail = false; prevMoveStatus = moveStatus; parkSuccess = false; parkStatus = 0; @@ -80,9 +85,10 @@ } if (ExitParkArea(map, car) || ExitParkArea2(map, car)) { - if (!parkSuccess || !occurMoveBack) { + if (!parkSuccess && occurMoveBack && !reportParkFail) { // 鐩存帴椹剁娴嬭瘯鍖猴紝璁や负绉诲簱涓嶅叆 AddExamFault(21, rtkTime); + reportParkFail = true; DEBUG("鐩存帴椹剁娴嬭瘯鍖�,绉诲簱涓嶅叆"); } testing = false; @@ -130,9 +136,10 @@ } } - if (!parkSuccess) { + if (!parkSuccess && !reportParkFail) { // 鍋滄鍚庯紝杞﹁韩鍑虹嚎锛屼笉鍚堟牸 AddExamFault(21, rtkTime); + reportParkFail = true; DEBUG("绉诲簱涓嶅叆"); } @@ -149,6 +156,7 @@ DEBUG("寮�濮嬪�掕溅"); occurMoveBack = true; moveBackTimePoint = TimeMakeComposite(rtkTime->hh, rtkTime->mm, rtkTime->ss, rtkTime->mss*10); + MA_EnterMap(mapIndex, MAP_TYPE_PART_EDGE, 1); } } @@ -165,7 +173,11 @@ } } } + TEST_END: + if (!testing && occurMoveBack) { + MA_EnterMap(mapIndex, MAP_TYPE_PART_EDGE, 0); + } return testing ? 1 : 0; } -- Gitblit v1.8.0