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