From 25777013517d1bd398a98504826a417236706af2 Mon Sep 17 00:00:00 2001
From: yy1717 <fctom1215@outlook.com>
Date: 星期二, 24 三月 2020 19:01:29 +0800
Subject: [PATCH] 车辆信号完善,路边停车完善。

---
 lib/src/main/cpp/test_items2/drive_straight.cpp |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/lib/src/main/cpp/test_items2/drive_straight.cpp b/lib/src/main/cpp/test_items2/drive_straight.cpp
index 9286e0f..ee94653 100644
--- a/lib/src/main/cpp/test_items2/drive_straight.cpp
+++ b/lib/src/main/cpp/test_items2/drive_straight.cpp
@@ -11,6 +11,9 @@
 
 #define DEBUG(fmt, args...)     LOGD("<drive_straight> <%s>: " fmt, __func__, ##args)
 
+static const double CHECK_STAGE_DISTANCE = 100.0;
+static const double MAX_OFFSET_DISTANCE = 0.3;
+
 static bool crossStartLine;
 static bool reportOffsetOver;
 static double edgeDistance;
@@ -49,20 +52,25 @@
         p2.Y = RoadMapList[index].stopLine.Y2;
 
         if (IntersectionOfLine(p1, p2, car->carXY[car->left_front_tire[TIRE_OUTSIDE]]) == -1) {
+            DEBUG("璺ㄨ繃鏍囪绾匡紝寮�濮嬬洿绾挎祴璇�");
             crossStartLine = true;
             startPoint = car->basePoint;
             edgeDistance = DistanceOf(car->basePoint, road_edge);
         }
     } else {
-        double runDistance;
-        runDistance = DistanceOf(car->basePoint, startPoint);
+        double distanceToStart = DistanceOf(car->basePoint, startPoint);
 
-        if (runDistance < 100.0) {
-            if (!reportOffsetOver && fabs(DistanceOf(car->basePoint, road_edge) - edgeDistance) > 0.3) {
+        if (distanceToStart > CHECK_STAGE_DISTANCE) {
+            if (!reportOffsetOver && fabs(DistanceOf(car->basePoint, road_edge) - edgeDistance) > MAX_OFFSET_DISTANCE) {
                 DEBUG("鐩寸嚎鍋忕Щ澶т簬30鍘樼背");
                 // 鍋忕Щ澶т簬30鍘樼背锛屼笉鍚堟牸
                 AddExamFault(30, rtkTime);
                 reportOffsetOver = true;
+
+                //////////////////////////////////////////////
+                startPoint = car->basePoint;
+                edgeDistance = DistanceOf(car->basePoint, road_edge);
+                reportOffsetOver = false;
             }
         } else {
             startPoint = car->basePoint;

--
Gitblit v1.8.0