| | |
| | | if (CrashRedLine1(map, car)) { |
| | | if (!occurCrashRedLine1 && occurMoveBack) { |
| | | // 车轮压边线,每次扣10分 |
| | | AddExamFault(23, rtkTime); |
| | | AddExamFault(20403, rtkTime); |
| | | DEBUG("车轮压边线"); |
| | | occurCrashRedLine1 = true; |
| | | } |
| | |
| | | if (CrashRedLine2(map, car)) { |
| | | if (!occurCrashRedLine2 && occurMoveBack) { |
| | | // 车身压库位线,每次扣10分 |
| | | AddExamFault(24, rtkTime); |
| | | AddExamFault(20404, rtkTime); |
| | | DEBUG("车身压库位线"); |
| | | occurCrashRedLine2 = true; |
| | | } |
| | |
| | | if (ExitParkArea(map, car) || ExitParkArea2(map, car)) { |
| | | if (!parkSuccess && occurMoveBack && !reportParkFail) { |
| | | // 直接驶离测试区,认为移库不入 |
| | | AddExamFault(21, rtkTime); |
| | | AddExamFault(10103, rtkTime); |
| | | reportParkFail = true; |
| | | DEBUG("直接驶离测试区,移库不入"); |
| | | DEBUG("直接驶离测试区,不按考试员指令驾驶"); |
| | | } |
| | | testing = false; |
| | | goto TEST_END; |
| | |
| | | |
| | | if (!reportExamTimeout && tp - moveBackTimePoint >= examParam.park_edge_limit_time) { |
| | | // 超时90秒,不合格 |
| | | AddExamFault(22, rtkTime); |
| | | AddExamFault(20402, rtkTime); |
| | | reportExamTimeout = true; |
| | | DEBUG("移库90秒超时"); |
| | | } |
| | |
| | | // 同方向再启动,继续判断是否停车超时 |
| | | if (tp - stopTimepoint >= CorrectPauseCriteria(examParam.park_edge_pause_criteria) && occurMoveBack) { |
| | | // 停车超2秒,每次扣5分 |
| | | AddExamFault(26, rtkTime); |
| | | AddExamFault(20406, rtkTime); |
| | | DEBUG("停车超时"); |
| | | } |
| | | } else { |
| | |
| | | |
| | | if (!parkSuccess && !reportParkFail) { |
| | | // 停止后,车身出线,不合格 |
| | | AddExamFault(21, rtkTime); |
| | | AddExamFault(20401, rtkTime); |
| | | reportParkFail = true; |
| | | DEBUG("移库不入"); |
| | | } |
| | |
| | | // 在这里检查转向灯状态 |
| | | if (ReadCarStatus(TURN_SIGNAL_LAMP) != LEFT_TURN_LIGHT) { |
| | | // 不开转向灯,扣10分 |
| | | AddExamFault(25, rtkTime); |
| | | AddExamFault(20405, rtkTime); |
| | | DEBUG("未开启转向灯"); |
| | | } |
| | | } |