| | |
| | | } |
| | | } |
| | | |
| | | void AddRoadMapParent(int id, int type, string tts, |
| | | void AddRoadMapParent(int id, int type, string tts, int stopFlag, |
| | | vector<vector<int>> &redLines, |
| | | vector<vector<int>> &redAreas, |
| | | vector<vector<int>> &greenLines, |
| | |
| | | newMap.id = id; |
| | | newMap.type = type; |
| | | newMap.tts = tts; |
| | | newMap.flagStop = stopFlag; |
| | | |
| | | DEBUG("加入路考地图信息 id = %d type = %d", id, type); |
| | | |
| | | if (!tts.empty()) { |
| | | DEBUG("TTS 信息 = %s", tts.c_str()); |
| | | } |
| | | |
| | | if ((newMap.redLineNum = redLines.size()) > 0) { |
| | | newMap.redLine = (Polygon *) malloc(sizeof(Polygon) * newMap.redLineNum); |
| | |
| | | newMap.triggerLine[i].line.num = triggerLines[i].size() - 1; |
| | | newMap.triggerLine[i].line.point = (PointF *) malloc(sizeof(PointF) * newMap.triggerLine[i].line.num); |
| | | |
| | | DEBUG(" 结点 %d 个", newMap.triggerLine[i].line.num); |
| | | DEBUG(" 结点 %d 个, 触发 id = %d", newMap.triggerLine[i].line.num, triggerLines[i][0]); |
| | | |
| | | newMap.triggerLine[i].triggerMapId = triggerLines[i][0]; |
| | | for (int j = 0; j < newMap.triggerLine[i].line.num; ++j) { |
| | |
| | | { |
| | | DEBUG("获取模拟路考灯光测试项目 N = %d %d", n, ExamStart); |
| | | |
| | | // if (ExamStart) return; |
| | | if (ExamStart) return; |
| | | |
| | | if (DummyLightContent != NULL) { |
| | | free(DummyLightContent); |
| | |
| | | } |
| | | if (DummyLightContent == NULL && type == TEST_TYPE_ROAD_DUMMY_LIGHT) { |
| | | DEBUG("没有模拟灯光"); |
| | | err = true; |
| | | MA_SendExamStatus(0, -3); |
| | | // err = true; |
| | | // MA_SendExamStatus(0, -3); |
| | | } |
| | | if (type != TEST_TYPE_AREA && (RoadMapPoints.num == 0 || RoadMapPoints.point == NULL || RoadMapList.size() == 0)) { |
| | | DEBUG("没有路考地图"); |
| | |
| | | |
| | | if (type == TEST_TYPE_ROAD_DUMMY_LIGHT) { |
| | | exam_dummy_light = 0; |
| | | |
| | | // InitRoadExam(); //////////////////// |
| | | } |
| | | } |
| | | MA_SendExamStatus(1, 0); |
| | |
| | | if (ExamType == TEST_TYPE_AREA) |
| | | AddExamFault(4, rtkTime); |
| | | } |
| | | DEBUG("22222222222222222222"); |
| | | |
| | | if (ExamType == TEST_TYPE_ROAD_DUMMY_LIGHT) { |
| | | if (exam_dummy_light == 0) { |
| | | StartDummyLightExam(DummyLightContent, DummyLightContentSize, rtkTime); |
| | | exam_dummy_light = 1; |
| | | // 汇报灯光考试开始 |
| | | DEBUG("灯光考试开始"); |
| | | } else if (exam_dummy_light == 1) { |
| | | exam_dummy_light = ExecuteDummyLightExam(rtkTime); |
| | | // 汇报灯光考试结束 |
| | | if (exam_dummy_light == 2) { |
| | | DEBUG("灯光考试结束"); |
| | | InitRoadExam(); |
| | | } |
| | | } |
| | |
| | | tm.DD = RtkBuffer[p1].DD; |
| | | tm.hh = RtkBuffer[p1].hh; |
| | | tm.mm = RtkBuffer[p1].mm; |
| | | tm.ss = RtkBuffer[p1].ss; |
| | | tm.mss = RtkBuffer[p1].dss; |
| | | |
| | | UpdateCarBodyCoord(&tm, RtkBuffer[p1].heading, RtkBuffer[p1].pitch, RtkBuffer[p1].roll, main_ant_coord, CarModel); |
| | |
| | | fault.sn = examFaultIndex++; |
| | | sprintf(fault.utc, "%04d%02d%02d%02d%02d%02d.%02d", 2000 + rtkTime->YY, |
| | | rtkTime->MM, rtkTime->DD, rtkTime->hh, rtkTime->mm, rtkTime->ss, rtkTime->mss); |
| | | |
| | | if (ExamType != TEST_TYPE_AREA) { |
| | | wrong += 1000; |
| | | } |
| | | |
| | | fault.wrong_id = wrong; |
| | | |
| | | DEBUG("考试发生错误 %d %s", wrong, fault.utc); |