From 03a05501800d2c02bca1c05ca6f7080d715aba23 Mon Sep 17 00:00:00 2001 From: yy1717 <fctom1215@outlook.com> Date: 星期五, 18 九月 2020 15:41:50 +0800 Subject: [PATCH] 坐标 --- lib/src/main/cpp/driver_test.cpp | 33 ++++++++++++++++++++++++++++----- 1 files changed, 28 insertions(+), 5 deletions(-) diff --git a/lib/src/main/cpp/driver_test.cpp b/lib/src/main/cpp/driver_test.cpp index e596990..600be36 100644 --- a/lib/src/main/cpp/driver_test.cpp +++ b/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) -- Gitblit v1.8.0