From c484cbb09d445e2ab30ea011c6d2ffd87202bb26 Mon Sep 17 00:00:00 2001
From: yy1717 <fctom1215@outlook.com>
Date: 星期五, 23 十月 2020 18:05:34 +0800
Subject: [PATCH] 添加可用户配置的评判参数。

---
 lib/src/main/cpp/test_items/stop_and_start.cpp |   21 ++++++++-------------
 1 files changed, 8 insertions(+), 13 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 d75ed70..477884b 100644
--- a/lib/src/main/cpp/test_items/stop_and_start.cpp
+++ b/lib/src/main/cpp/test_items/stop_and_start.cpp
@@ -19,12 +19,7 @@
 
 using namespace std;
 
-const double STOP_DISTANCE_THRESHOLD_RED = 0.5;
-const double EDGE_DISTANCE_THRESHOLD_RED = 0.5;
-const double EDGE_DISTANCE_THRESHOLD_YELLOW = 0.3;
-const double SLIDE_DISTANCE_THRESHOLD_RED = 0.3;
-const double SLIDE_DISTANCE_THRESHOLD_YELLOW = 0.1;
-const uint32_t CAR_START_TIMEOUT = D_SEC(30);
+
 const uint32_t STOP_CAR_TIME = D_SEC(1);
 
 const double EPSILON = 1e-3;
@@ -126,7 +121,7 @@
 
             DEBUG("DIS1 = %f  DIS2 = %f", dis1, dis2);
 
-            if (dis1 > STOP_DISTANCE_THRESHOLD_RED) {
+            if (dis1 > examParam.ramp_stoppoint_red_distance) {
                 // 璺濈鍋滄绾垮墠鍚庤秴鍑�50鍘樼背
                 AddExamFault(12, rtkTime);
                 DEBUG("璺濈鍋滄绾垮墠鍚庤秴鍑�50鍘樼背锛屼笉鍚堟牸");
@@ -136,12 +131,12 @@
                 DEBUG("鍓嶄繚闄╂病鏈変綅浜庡仠姝㈠甫鍐咃紝浣嗘病鏈夎秴鍑�50鍘樼背");
             }
 
-            if (dis2 > EDGE_DISTANCE_THRESHOLD_RED) {
+            if (dis2 > examParam.ramp_edge_red_distance) {
                 // 璺濈杈圭嚎瓒呭嚭50鍘樼背,涓嶅悎鏍�
                 AddExamFault(14, rtkTime);
                 DEBUG("璺濈杈圭嚎瓒呭嚭50鍘樼背");
-            } else if (dis2 > EDGE_DISTANCE_THRESHOLD_YELLOW) {
-                // 璺濈杈圭嚎瓒呭嚭30鍘樼背锛屼笉鍚堟牸
+            } else if (dis2 > examParam.ramp_edge_yellow_distance) {
+                // 璺濈杈圭嚎瓒呭嚭30鍘樼背锛屾墸10鍒�
                 AddExamFault(18, rtkTime);
                 DEBUG("璺濈杈圭嚎瓒呭嚭30鍘樼背");
             }
@@ -158,11 +153,11 @@
             // 鍙戠敓鍚庢粦
             double slideDistance = DistanceOf(stopPoint, car->carXY[car->axial[AXIAL_FRONT]]);
 
-            if (slideDistance > SLIDE_DISTANCE_THRESHOLD_YELLOW) {
+            if (slideDistance > examParam.ramp_slide_yellow_distance) {
                 slideNormalDistance = true;
             }
 
-            if (slideDistance > SLIDE_DISTANCE_THRESHOLD_RED && !slideLongDistance && !reportSlideFault) {
+            if (slideDistance > examParam.ramp_slide_red_distance && !slideLongDistance && !reportSlideFault) {
                 // 鍚庢粦瓒呰繃30鍘樼背, 涓嶅悎鏍�
                 AddExamFault(16, rtkTime);
                 DEBUG("鍚庢粦瓒呰繃30鍘樼背");
@@ -174,7 +169,7 @@
 
         if (!reportStartTimeout && (IntersectionOfLine(map->point[4], stopPoint, car->carXY[car->axial[AXIAL_FRONT]]) != -1 ||
                 DistanceOf(stopPoint, car->carXY[car->axial[AXIAL_FRONT]]) < 0.1)) {
-            if (TimeMakeComposite(rtkTime->hh, rtkTime->mm, rtkTime->ss, rtkTime->mss*10) - stopCarTime > CAR_START_TIMEOUT) {
+            if (TimeMakeComposite(rtkTime->hh, rtkTime->mm, rtkTime->ss, rtkTime->mss*10) - stopCarTime > examParam.ramp_start_car_limit_time) {
                 // 璧锋鏃堕棿瓒呰繃30绉掞紝涓嶅悎鏍�
                 AddExamFault(15, rtkTime);
                 DEBUG("璧锋鏃堕棿瓒呰繃30绉�");

--
Gitblit v1.8.0