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