yy1717
2020-09-18 03a05501800d2c02bca1c05ca6f7080d715aba23
lib/src/main/cpp/driver_test.cpp
@@ -148,7 +148,7 @@
            free(AreaMapList[i].map2.point);
    }
    AreaMapList.clear();
    LIST_AREA_MAP().swap(AreaMapList);
}
void AddAreaMap(int id, int type, const double (*map)[2], int pointNum, const double (*map2)[2], int pointNum2)
@@ -195,7 +195,7 @@
    vector<road_t>().swap(RoadMap.roads);
    vector<special_area_t>().swap(RoadMap.specialAreas);
    vector<forbid_line_t>().swap(RoadMap.forbidLines);
    vector<scheme_t>().swap(RoadMap.examScheme);
//    vector<scheme_t>().swap(RoadMap.examScheme);
}
void SetRoadMap(road_exam_map &map, vector<scheme_t> &scheme)
@@ -207,9 +207,20 @@
//    RoadMap.triggerLines.assign(map.triggerLines.begin(), map.triggerLines.end());
    RoadMap.forbidLines.assign(map.forbidLines.begin(), map.forbidLines.end());
    RoadMap.examScheme.assign(scheme.begin(), scheme.end());
//    RoadMap.examScheme.assign(scheme.begin(), scheme.end());
    DEBUG("得到新的路考地图 路数量 %d 特殊区域数量 %d 其他禁止线数量 %d 项目数量 %d", RoadMap.roads.size(), RoadMap.specialAreas.size(), RoadMap.forbidLines.size(), RoadMap.examScheme.size());
}
void SetRoadExamScheme(vector<scheme_t> &scheme)
{
    if (ExamStart) return;
    vector<scheme_t>().swap(RoadMap.examScheme);
    RoadMap.examScheme.assign(scheme.begin(), scheme.end());
    DEBUG("得到新的路考地图 项目数量 %d", RoadMap.examScheme.size());
}
void SetCarMeasurePoint(double *basePoint, int *axial, int *left_front_tire,
@@ -375,6 +386,8 @@
        return;
    }
    type = TEST_TYPE_ROAD_CALIBRATE;
    if (AreaMapList.size() == 0 && type == TEST_TYPE_AREA) {
        DEBUG("没有场考地图");
        err = true;
@@ -394,6 +407,12 @@
        DEBUG("没有路考地图");
        err = true;
        MA_SendExamStatus(0, -1);
    }
    if ((type == TEST_TYPE_ROAD_DUMMY_LIGHT || type == TEST_TYPE_ROAD_TRUE_LIGHT) && RoadMap.examScheme.size() == 0) {
        DEBUG("没有路考线路方案");
        err = true;
        MA_SendExamStatus(0, -3);
    }
    if (!err) {
@@ -514,7 +533,7 @@
            ExecuteExam(speed, move, azimuth, &rtkTime);
        }
        PrintObdInfo(&rtkTime, speed);
//        PrintObdInfo(&rtkTime, speed);
    }
}
@@ -684,7 +703,7 @@
    }
    if (ExamType != TEST_TYPE_AREA) {
        if (exam_dummy_light == 2 || ExamType == TEST_TYPE_ROAD_TRUE_LIGHT) {
        if (exam_dummy_light == 2 || ExamType == TEST_TYPE_ROAD_TRUE_LIGHT || ExamType == TEST_TYPE_ROAD_CALIBRATE) {
            TestRoadGeneral(RoadMap, CarModel, CarModelList, speed, move, rtkTime);
        }
    } else {
@@ -885,6 +904,8 @@
    brief.status = status;
    MA_SendRoadStatus(&brief);
    DEBUG("报告长官 进出路段 road %d status %d", road, status);
}
void CrossingChange(int road, int crossing, int status)
@@ -896,6 +917,8 @@
    brief.status = status;
    MA_SendCrossingStatus(&brief);
    DEBUG("报告长官 进出路口 road %d crossing %d status %d", road, crossing, status);
}
void AddExamFault(int wrong, const struct RtkTime *rtkTime)