From ce568d65d1738e0dfe64e0f903c9aa8d05cd365b Mon Sep 17 00:00:00 2001 From: fctom1215 <fctom1215@outlook.com> Date: 星期四, 27 二月 2020 22:14:50 +0800 Subject: [PATCH] 角度修正。 --- lib/src/main/cpp/driver_test.cpp | 40 ++++++++++++++++++++++++---------------- 1 files changed, 24 insertions(+), 16 deletions(-) diff --git a/lib/src/main/cpp/driver_test.cpp b/lib/src/main/cpp/driver_test.cpp index 9a183b8..d9adce2 100644 --- a/lib/src/main/cpp/driver_test.cpp +++ b/lib/src/main/cpp/driver_test.cpp @@ -79,7 +79,7 @@ static int CurrExamMapIndex = -1; static int CurrEnterMapIndex = -1; -static int CurrExamStatus = 0; // 1 娴嬭瘯瀹屾垚 0 娴嬭瘯涓� -1 娴嬭瘯閿欒閫�鍑� +static int CurrExamStatus = EXAM_AREA_NONE; // 1 娴嬭瘯瀹屾垚 0 娴嬭瘯涓� -1 娴嬭瘯閿欒閫�鍑� static car_model *CarModel = NULL; static car_model *CarModelPrev = NULL; @@ -132,6 +132,8 @@ RtkBuffer = (rtk_info *) malloc(RTK_BUFFER_SIZE * sizeof(rtk_info)); RtkBufferNum = RtkBufferIn = 0; + + CurrExamStatus = EXAM_AREA_NONE; } static void ReadDriverExamPrimerTimeout(union sigval sig) @@ -397,7 +399,7 @@ if (map_id >= 0 && exam == 0) { CurrExamMapIndex = map_id; - CurrExamStatus = 2; + CurrExamStatus = EXAM_AREA_START; } } @@ -497,7 +499,7 @@ MA_EnterMap(GetMapId(CurrEnterMapIndex, MapList, MapNum), 1); CurrExamMapIndex = CurrEnterMapIndex; - CurrExamStatus = 2; + CurrExamStatus = EXAM_AREA_START; } } else { if (ExitMap(CarModel, CurrEnterMapIndex, MapList, MapNum)) { @@ -513,7 +515,7 @@ if (CurrExamMapIndex >= 0) { int mtype = GetMapType(CurrExamMapIndex, MapList, MapNum); - if (CurrExamStatus == 2) { + if (CurrExamStatus == EXAM_AREA_START) { DEBUG("CurrExamMapIndex %d mtype %d", GetMapId(CurrExamMapIndex, MapList, MapNum), mtype); switch (mtype) { @@ -522,20 +524,20 @@ MA_SendDebugInfo("杩涘叆鍊掕溅鍏ュ簱鍦哄湴 %d", GetMapId(CurrExamMapIndex, MapList, MapNum)); StartParkBottom(move, &rtkTime); - CurrExamStatus = 0; + CurrExamStatus = EXAM_AREA_RUN; break; case MAP_TYPE_STOP_START: DEBUG("杩涘叆涓婂潯璧锋鍦哄湴"); MA_SendDebugInfo("杩涘叆涓婂潯璧锋鍦哄湴 %d", GetMapId(CurrExamMapIndex, MapList, MapNum)); StartSAS(move, &rtkTime); - CurrExamStatus = 0; + CurrExamStatus = EXAM_AREA_RUN; break; case MAP_TYPE_PART_EDGE: DEBUG("杩涘叆渚ф柟浣嶅仠杞﹀満鍦�"); MA_SendDebugInfo("杩涘叆渚ф柟浣嶅仠杞﹀満鍦� %d", GetMapId(CurrExamMapIndex, MapList, MapNum)); StartParkEdge(move, &rtkTime); - CurrExamStatus = 0; + CurrExamStatus = EXAM_AREA_RUN; break; case MAP_TYPE_CURVE: break; @@ -543,38 +545,44 @@ DEBUG("杩涘叆鐩磋杞集鍦哄湴"); MA_SendDebugInfo("杩涘叆鐩磋杞集鍦哄湴 %d", GetMapId(CurrExamMapIndex, MapList, MapNum)); StartTurnA90(move, azimuth, &rtkTime); - CurrExamStatus = 0; + CurrExamStatus = EXAM_AREA_RUN; break; default:break; } - } else if (CurrExamStatus == 0) { + } else if (CurrExamStatus == EXAM_AREA_RUN) { + int testing = 0; switch (mtype) { case MAP_TYPE_PARK_BUTTOM: - CurrExamStatus = TestParkBottom(&MapList[CurrExamMapIndex].map, + testing = TestParkBottom(&MapList[CurrExamMapIndex].map, CarModel, CarModelPrev, speed, move, &rtkTime); break; case MAP_TYPE_STOP_START: - CurrExamStatus = TestSAS(&MapList[CurrExamMapIndex].map, CarModel, CarModelPrev, speed, move, &rtkTime); + testing = TestSAS(&MapList[CurrExamMapIndex].map, CarModel, CarModelPrev, speed, move, &rtkTime); break; case MAP_TYPE_PART_EDGE: - CurrExamStatus = TestParkEdge(&MapList[CurrExamMapIndex].map, CarModel, CarModelPrev, speed, move, &rtkTime); + testing = TestParkEdge(&MapList[CurrExamMapIndex].map, CarModel, CarModelPrev, speed, move, &rtkTime); break; case MAP_TYPE_CURVE: break; case MAP_TYPE_TURN_90: - CurrExamStatus = TestTurnA90(&MapList[CurrExamMapIndex].map, CarModel, CarModelPrev, azimuth, speed, move, &rtkTime); + testing = TestTurnA90(&MapList[CurrExamMapIndex].map, CarModel, CarModelPrev, azimuth, speed, move, &rtkTime); break; default: - CurrExamStatus = 1; break; + } + + if (testing > 0) { + CurrExamStatus = EXAM_AREA_RUN; + } else { + CurrExamStatus = EXAM_AREA_END; } } - if (CurrExamStatus == 1) { + if (CurrExamStatus != EXAM_AREA_RUN) { // 鏌愰」缁撴潫 //DEBUG("閫�鍑哄満鍦� %d", GetMapId(CurrExamMapIndex, MapList, MapNum)); //MA_SendDebugInfo("閫�鍑哄満鍦� %d", GetMapId(CurrExamMapIndex, MapList, MapNum)); - + CurrExamStatus = EXAM_AREA_NONE; CurrExamMapIndex = -1; } } -- Gitblit v1.8.0