From 683b1595260e638d1d3c6cc0d6543a72f6d6f925 Mon Sep 17 00:00:00 2001
From: yy1717 <fctom1215@outlook.com>
Date: 星期二, 12 一月 2021 14:36:42 +0800
Subject: [PATCH] 扣分码标准化
---
lib/src/main/cpp/test_items2/road_exam.cpp | 56 +++++++++++++++++++++++++++++++-------------------------
1 files changed, 31 insertions(+), 25 deletions(-)
diff --git a/lib/src/main/cpp/test_items2/road_exam.cpp b/lib/src/main/cpp/test_items2/road_exam.cpp
index 22102d0..166cbc3 100644
--- a/lib/src/main/cpp/test_items2/road_exam.cpp
+++ b/lib/src/main/cpp/test_items2/road_exam.cpp
@@ -859,17 +859,17 @@
if (newLineType >= 100) {
newLineType -= 100;
DEBUG("闈炴硶璺ㄨ秺鍒嗛亾绾�");
- AddExamFault(11, rtkTime);
+ AddExamFault(30119, rtkTime);
}
if (newLineType == LINE_SOLID && CrashLineType != LINE_SOLID) {
// 杞﹁締琛岄┒涓獞杞ц溅閬撲腑蹇冨疄绾挎垨鑰呰溅閬撹竟缂樺疄绾匡紝涓嶅悎鏍�
DEBUG("鎾為亾璺竟缂樼嚎");
- AddExamFault(11, rtkTime);
+ AddExamFault(30119, rtkTime);
}
if (newLineType == LINE_BOUNDARY && CrashLineType != LINE_BOUNDARY) {
// 杞﹁締瓒婄晫锛岄�冭窇浜嗭紝涓嶅悎鏍�
DEBUG("杞﹁締瓒婄晫");
- AddExamFault(3, rtkTime);
+ AddExamFault(30103, rtkTime);
}
if (newLineType == LINE_DOTTED || newLineType == LINE_HALF_SOLID_LEFT || newLineType == LINE_HALF_SOLID_RIGHT) {
@@ -896,7 +896,7 @@
DEBUG("闀挎椂闂村帇铏氱嚎");
checkCrashGreenTimeout = 2;
// 闀挎椂闂撮獞杞ц溅閬撳垎鐣岀嚎琛岄┒锛屼笉鍚堟牸
- AddExamFault(12, rtkTime);
+ AddExamFault(30120, rtkTime);
}
}
} else {
@@ -935,7 +935,7 @@
if (turnSignalStatus.value != LEFT_TURN_LIGHT) {
DEBUG("鍙樿皟鏈墦鐏�!!");
// 娌℃墦鐏紝涓嶅悎鏍�
- AddExamFault(13, rtkTime);
+ AddExamFault(30121, rtkTime);
} else if (TimeGetDiff(&crashGreenStartTime, &turnSignalStatus.time) <
examParam.turn_signal_min_advance) {
DEBUG("杞悜鐏椂闂翠笉瓒� %02d-%02d-%02d %02d:%02d:%02d.%03d -> %02d-%02d-%02d %02d:%02d:%02d.%03d",
@@ -946,13 +946,13 @@
turnSignalStatus.time.mm, turnSignalStatus.time.ss, turnSignalStatus.time.mss * 10);
// 涓嶈冻3绉掞紝涓嶅悎鏍�
- AddExamFault(14, rtkTime);
+ AddExamFault(30122, rtkTime);
}
} else {
if (turnSignalStatus.value != RIGHT_TURN_LIGHT) {
DEBUG("鍙樿皟鏈墦鐏�!!");
// 娌℃墦鐏紝涓嶅悎鏍�
- AddExamFault(13, rtkTime);
+ AddExamFault(30121, rtkTime);
} else if (TimeGetDiff(&crashGreenStartTime, &turnSignalStatus.time) <
examParam.turn_signal_min_advance) {
DEBUG("杞悜鐏椂闂翠笉瓒� %02d-%02d-%02d %02d:%02d:%02d.%03d -> %02d-%02d-%02d %02d:%02d:%02d.%03d",
@@ -962,13 +962,13 @@
turnSignalStatus.time.YY, turnSignalStatus.time.MM, turnSignalStatus.time.DD, turnSignalStatus.time.hh,
turnSignalStatus.time.mm, turnSignalStatus.time.ss, turnSignalStatus.time.mss * 10);
// 涓嶈冻3绉掞紝涓嶅悎鏍�
- AddExamFault(14, rtkTime);
+ AddExamFault(30122, rtkTime);
}
}
if (((ChangeLane.gain < 0 && gain < 0) || (ChangeLane.gain > 0 && gain > 0)) && TimeGetDiff(rtkTime, &ChangeLane.time) < examParam.continuous_change_lane_min_time) {
DEBUG("杩炵画鍙橀亾");
- AddExamFault(15, rtkTime);
+ AddExamFault(30125, rtkTime);
}
ChangeLane.gain = gain;
ChangeLane.time = *rtkTime;
@@ -1304,7 +1304,7 @@
occurOverSpeed = true;
// 瓒呴�燂紝涓嶅悎鏍�
DEBUG("瓒呴�� %f", ConvertMs2KMh(speed));
- AddExamFault(10, rtkTime);
+ AddExamFault(30118, rtkTime);
}
} else if (ConvertMs2KMh(speed) < examParam.road_max_speed - 5) {
occurOverSpeed = false;
@@ -1316,7 +1316,7 @@
if (!occurSecondBreak) {
DEBUG("鍓埞杞﹀姩浣滀簡");
occurSecondBreak = true;
- AddExamFault(17, rtkTime);
+ AddExamFault(30132, rtkTime);
}
} else {
occurSecondBreak = false;
@@ -1329,7 +1329,7 @@
if (currGear != GEAR_N && prevGear == GEAR_N) {
// 涓�娆℃崲鎸�
if (gearChange == currGear && TimeGetDiff(rtkTime, &gearChangeTimePoint) < D_SEC(5)) {
- AddExamFault(7, rtkTime);
+ AddExamFault(30113, rtkTime);
}
gearChange = currGear;
@@ -1392,7 +1392,7 @@
TimeGetDiff(rtkTime, &gearNSlideTimePoint) > examParam.gear_n_allow_time) {
// 绌烘。婊戣瓒�5绉掞紝涓嶅悎鏍�
DEBUG("鎸′綅婊戣锛岃秴杩�5绉�");
- AddExamFault(8, rtkTime);
+ AddExamFault(30114, rtkTime);
GearNSlideStatus = 2;
}
} else if (GearNSlideStatus != 0) {
@@ -1409,7 +1409,7 @@
if (gearErrorTime > examParam.gear_speed_error_cumulative_time) {
// 绱15绉掞紝鎸′綅-杞﹂�熶笉鍖归厤锛屼笉鍚堟牸
DEBUG("鎸′綅閿欒瓒呰繃15绉�");
- AddExamFault(6, rtkTime);
+ AddExamFault(30112, rtkTime);
gearErrorTime = 0;
}
@@ -1429,7 +1429,7 @@
if (slideNormalDistance) {
// 鍚庢粦锛屾墸10鍒�
- AddExamFault(18, rtkTime);
+ AddExamFault(30202, rtkTime);
DEBUG("鍚庢粦瓒呰繃10鍘樼背, 浣嗕笉瓒呰繃30鍘樼背");
}
@@ -1447,7 +1447,7 @@
if (TimeGetDiff(rtkTime, &stopTimepoint) >= CorrectPauseCriteria(examParam.road_pause_criteria) && !StopCarOnRedArea &&
StopOnRedArea(RoadMap, car)) {
// 鍋滆溅瓒�2绉掞紝鍋滃湪绾㈠尯锛屼笉鍚堟牸
- AddExamFault(16, rtkTime);
+ AddExamFault(30128, rtkTime);
DEBUG("绂佸仠鍖哄仠杞�");
StopCarOnRedArea = true;
}
@@ -1462,7 +1462,7 @@
if (slideDistance > examParam.road_slide_red_distance && !slideLongDistance) {
// 鍚庢粦瓒呰繃30鍘樼背, 涓嶅悎鏍�
- AddExamFault(5, rtkTime);
+ AddExamFault(30107, rtkTime);
DEBUG("鍚庢粦瓒呰繃30鍘樼背");
slideLongDistance = true;
slideNormalDistance = false;
@@ -1528,6 +1528,7 @@
}
}
}
+
ExitTarget(RoadMap, car, CarModelList, rtkTime);
if (RoadMap.calibrate == 0) {
@@ -1552,7 +1553,7 @@
if (!GetErrorLaneRpt(currExamMapIndex, stop_line_index)) {
DEBUG("涓嶆寜瑙勫畾杞﹂亾鏍囧悜琛岄┒ %d: %d 鏈熸湜 = %d guide = %d", currExamMapIndex,
stop_line_index, act, Lane.guide);
- AddExamFault(9, rtkTime);
+ AddExamFault(30117, rtkTime);
SetErrorLaneRpt(currExamMapIndex, stop_line_index, true);
}
}
@@ -1568,7 +1569,9 @@
road_end_point_t ep = NearbyRoadEndPoint(currExamMapIndex, RoadMap, car);
// 鎻愮ず璺彛鎬庝箞璧�
- HintCrossing(RoadMap, ep.road_index, ep.stop_line_index, ep.distance);
+ if (forward == 1) {
+ HintCrossing(RoadMap, ep.road_index, ep.stop_line_index, ep.distance);
+ }
double freeSepDis = SeparateLength(RoadMap, Lane, car);
@@ -1692,7 +1695,8 @@
freeRunExceptDistance = 60.0;
} else if (RoadExamStatus == ROAD_EXAM_ITEM_CAR_STOP) {
// 鑰冭瘯缁撴潫
- MA_SendExamStatus(1, 1);
+ MA_SendExamStatus(0, 0);
+ PlayTTS("鑰冭瘯缁撴潫", NULL);
} else {
freeRunExceptDistance = 2;//250.0;
}
@@ -1841,23 +1845,23 @@
if (turnSignalStatus.value != LEFT_TURN_LIGHT) {
DEBUG("鍙樿皟鏈墦鐏�!!");
// 娌℃墦鐏紝涓嶅悎鏍�
- AddExamFault(13, rtkTime);
+ AddExamFault(30121, rtkTime);
} else if (TimeGetDiff(&beginTurnTime, &turnSignalStatus.time) <
examParam.turn_signal_min_advance) {
DEBUG("杞悜鐏椂闂翠笉瓒�");
// 涓嶈冻3绉掞紝涓嶅悎鏍�
- AddExamFault(14, rtkTime);
+ AddExamFault(30122, rtkTime);
}
} else {
if (turnSignalStatus.value != RIGHT_TURN_LIGHT) {
DEBUG("鍙樿皟鏈墦鐏�!!");
// 娌℃墦鐏紝涓嶅悎鏍�
- AddExamFault(13, rtkTime);
+ AddExamFault(30121, rtkTime);
} else if (TimeGetDiff(&beginTurnTime, &turnSignalStatus.time) <
examParam.turn_signal_min_advance) {
DEBUG("杞悜鐏椂闂翠笉瓒�");
// 涓嶈冻3绉掞紝涓嶅悎鏍�
- AddExamFault(14, rtkTime);
+ AddExamFault(30122, rtkTime);
}
}
} else if (turnTimeCnt > D_SEC(10)) {
@@ -1986,6 +1990,8 @@
}
}
+// DEBUG("妫�鏌ヨЕ鍙戠偣 閬� %d 璺� %d", RoadMap.examScheme[0].triggerLines[0].road, RoadMap.roads[index].id);
+
for (int j = 0; j < RoadMap.examScheme[0].triggerLines.size(); ++j) {
if (RoadMap.examScheme[0].triggerLines[j].road == RoadMap.roads[index].id) {
@@ -2098,7 +2104,7 @@
TriggerDetect.insert(pair<int, trigger_detect_t>(j, up));
- DEBUG("瑙傚療瀛�<%d> 鍔犲叆 %f", j, MAX(dist1, dist2));
+ DEBUG("瑙傚療瀛�<%d> road_id %d 鍔犲叆 (%f,%f)", j, RoadMap.roads[index].id, RoadMap.examScheme[0].triggerLines[j].points[0].X, RoadMap.examScheme[0].triggerLines[j].points[0].Y);
}
}
}
--
Gitblit v1.8.0