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