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