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