From 1acf5a2faa10ce1402d9c74449c2ed4479fa68ae Mon Sep 17 00:00:00 2001 From: endian11 <Dana_Lee1016@126.com> Date: 星期一, 08 二月 2021 14:11:00 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- lib/src/main/cpp/test_items/stop_and_start.cpp | 17 ++++++++++++++++- 1 files changed, 16 insertions(+), 1 deletions(-) diff --git a/lib/src/main/cpp/test_items/stop_and_start.cpp b/lib/src/main/cpp/test_items/stop_and_start.cpp index 47690a2..12e8000 100644 --- a/lib/src/main/cpp/test_items/stop_and_start.cpp +++ b/lib/src/main/cpp/test_items/stop_and_start.cpp @@ -44,9 +44,17 @@ static double DistanceOfTire2Edge(const Polygon *map, const car_model *car); static bool ExitTestArea(const Polygon *map, const car_model *car); -void StartSAS(int index, int moveDirect, const struct RtkTime *rtkTime) +void StartSAS(int index, const Polygon *map, const car_model *car, int moveDirect, const struct RtkTime *rtkTime) { + double yawEdge = YawOf(map->point[8], map->point[0]); + + if (moveDirect < 0 || DeltaYaw(car->yaw, yawEdge) >= 90.0) { + testing = false; + return; + } + DEBUG("杩涘叆鍧¤捣椤圭洰"); + testing = true; mapIndex = index; prevMoveDirect = moveDirect; @@ -68,6 +76,9 @@ int TestSAS(const Polygon *map, const car_model *car, const car_model *carPrev, double speed, int moveDirect, const struct RtkTime *rtkTime) { + if (!testing) + return 0; + if (CrashRedLine(map, car)) { // 杞﹁疆鍘嬬嚎锛屼笉鍚堟牸 if (!occurCrashRedLine) { @@ -81,6 +92,10 @@ if (ExitTestArea(map, car)) { // 椹剁娴嬭瘯鍖� + if (!stopCar) { + // 涓嶅仠杞︾洿鎺ョ寮� + AddExamFault(10103, rtkTime); + } testing = false; } -- Gitblit v1.8.0