yy1717
2021-01-12 683b1595260e638d1d3c6cc0d6543a72f6d6f925
lib/src/main/cpp/test_items2/stop_car.cpp
@@ -43,7 +43,7 @@
    if (roadIndex < 0) {
        DEBUG("停车距离超标,靠边停车结束");
        AddExamFault(33, rtkTime);
        AddExamFault(40602, rtkTime);
        return false;
    }
@@ -69,15 +69,16 @@
                    DistanceOf(p2, car->carXY[ car->right_rear_tire[TIRE_OUTSIDE] ]) > examParam.stop_car_edge_red_distance) {
                DEBUG("停车超出路边0.5米");
                // 停车距离超过50厘米,不合格
                AddExamFault(36, rtkTime);
                AddExamFault(40606, rtkTime);
                return false;
            } else if (DistanceOf(p1, car->carXY[ car->right_front_tire[TIRE_OUTSIDE] ]) > examParam.stop_car_edge_yellow_distance ||
                       DistanceOf(p2, car->carXY[ car->right_rear_tire[TIRE_OUTSIDE] ]) > examParam.stop_car_edge_yellow_distance) {
                DEBUG("停车超出路边0.3米");
                // 停车距离超过30厘米,扣10分
                AddExamFault(37, rtkTime);
                AddExamFault(40607, rtkTime);
            }
            time = *rtkTime;
            setup = 4;
        }
    } else if (setup == 4) {
@@ -89,7 +90,7 @@
        if (!BreakHandbreakReleaseSametime && brk.value == BREAK_INACTIVE && hbrk.value == BREAK_INACTIVE) {
            // 拉手刹前,松脚刹,扣10分
            DEBUG("拉手刹前,松脚刹");
            AddExamFault(39, rtkTime);
            AddExamFault(40609, rtkTime);
            BreakHandbreakReleaseSametime = true;
        }
@@ -98,12 +99,12 @@
                if (rpm.value > ENGINE_MIN_ROTATE) {
                    // 下车前,不熄火,扣5分
                    DEBUG("下车前,不熄火");
                    AddExamFault(40, rtkTime);
                    AddExamFault(40610, rtkTime);
                }
                if (hbrk.value == BREAK_INACTIVE) {
                    // 开门前,未拉手刹, 扣10分
                    DEBUG("开门前,未拉手刹");
                    AddExamFault(38, rtkTime);
                    AddExamFault(40608, rtkTime);
                }
                time = *rtkTime;
                OpenDoor = true;
@@ -112,7 +113,13 @@
            if (TimeGetDiff(rtkTime, &time) > examParam.stop_car_open_door_allow_time) {
                // 开门时间超过15秒,不合格
                DEBUG("开门时间超过15秒");
                AddExamFault(35, rtkTime);
                AddExamFault(40605, rtkTime);
                return false;
            }
        } else {
            if (TimeGetDiff(rtkTime, &time) > D_SEC(30)) {
                DEBUG("完成停车超时");
                PlayTTS(examParam.stop_car_end_tts, NULL);
                return false;
            }
        }
@@ -127,7 +134,7 @@
    if (ReadOdo() - beginOdo > examParam.stop_car_limit_distance) {
        // 150米内未停车,不合格
        DEBUG("停车距离超标,靠边停车结束");
        AddExamFault(33, rtkTime);
        AddExamFault(40602, rtkTime);
        return false;
    }