| | |
| | | { |
| | | maxMoveDistance = ReadOdo(); |
| | | start = true; |
| | | DEBUG("变道开始里程 %ld", maxMoveDistance); |
| | | DEBUG("变道开始里程 %f", maxMoveDistance); |
| | | } |
| | | |
| | | void StartChaneLaneExam(int ori_lane) |
| | |
| | | |
| | | if (ReadOdo() - maxMoveDistance > 100) { |
| | | // 超车未完成 |
| | | DEBUG("变道固定距离内未完成 当前里程 %ld", ReadOdo()); |
| | | DEBUG("变道固定距离内未完成 当前里程 %f", ReadOdo()); |
| | | AddExamFault(3, rtkTime); |
| | | return false; |
| | | } |
| | |
| | | { |
| | | maxMoveDistance = ReadOdo(); |
| | | setup = 1; |
| | | DEBUG("超车开始里程 %ld", maxMoveDistance); |
| | | DEBUG("超车开始里程 %f", maxMoveDistance); |
| | | } |
| | | |
| | | void StartOvertakeExam(int ori_lane) |
| | |
| | | |
| | | if (ReadOdo() - maxMoveDistance > 150) { |
| | | // 超车未完成 |
| | | DEBUG("超车固定距离内未完成 当前里程 %ld", ReadOdo()); |
| | | DEBUG("超车固定距离内未完成 当前里程 %f", ReadOdo()); |
| | | AddExamFault(3, rtkTime); |
| | | return false; |
| | | } |
| | |
| | | } |
| | | |
| | | bool TestStopCar(road_exam_map &RoadMap, int roadIndex, const car_model *car, int moveDirect, const struct RtkTime *rtkTime) { |
| | | struct RtkTime time; |
| | | static struct RtkTime time; |
| | | |
| | | if (setup == 0) |
| | | return true; |
| | |
| | | |
| | | if (door.value == DOOR_OPEN) { |
| | | if (!OpenDoor) { |
| | | if (rpm.value < ENGINE_MIN_ROTATE) { |
| | | if (rpm.value > ENGINE_MIN_ROTATE) { |
| | | // 下车前,不熄火,扣5分 |
| | | DEBUG("下车前,不熄火"); |
| | | AddExamFault(40, rtkTime); |