From 25777013517d1bd398a98504826a417236706af2 Mon Sep 17 00:00:00 2001
From: yy1717 <fctom1215@outlook.com>
Date: 星期二, 24 三月 2020 19:01:29 +0800
Subject: [PATCH] 车辆信号完善,路边停车完善。
---
lib/src/main/cpp/test_items2/road_exam.cpp | 26 ++++++++++++++------------
1 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/lib/src/main/cpp/test_items2/road_exam.cpp b/lib/src/main/cpp/test_items2/road_exam.cpp
index b158dd5..b280802 100644
--- a/lib/src/main/cpp/test_items2/road_exam.cpp
+++ b/lib/src/main/cpp/test_items2/road_exam.cpp
@@ -13,6 +13,7 @@
#include "through_something.h"
#include "../master/comm_if.h"
#include "drive_straight.h"
+#include "stop_car.h"
#include <vector>
#include <list>
@@ -55,13 +56,7 @@
static bool slideNormalDistance;
static bool occurSlide;
-static struct drive_timer {
- int hour;
- int min;
- int sec;
- int msec;
-} crashGreenRunTime, crashGreenCmpTime, crashGreenStartTime, turnSignalChangeTime;
-
+static struct drive_timer crashGreenRunTime, crashGreenCmpTime, crashGreenStartTime, turnSignalChangeTime;
static struct drive_timer gearErrorTimePoint;
static struct drive_timer gearNSlideTimePoint;
@@ -85,7 +80,7 @@
static const int SPEED_GEAR_TABLE[][2] = {{0, 20}, {5, 30}, {15, 40}, {25, 10000}, {35, 10000}};
static void TestRoadStartCar(const car_model *car, double speed, int moveDirect, const struct RtkTime *rtkTime);
-static void Rtk2DriveTimer(struct drive_timer &tm, const struct RtkTime *rtkTime);
+
static char isTurn(int currYaw, int prevYaw, int &ang);
static char CheckCarTurn(LIST_CAR_MODEL &CarModelList);
static bool CrashRedLine(LIST_ROAD_MAP &RoadMapList, const car_model *car);
@@ -494,22 +489,29 @@
StartThroughExam(currExamMapIndex, RoadMapList);
} else if (RoadMapList[currExamMapIndex].type == DRIVE_STRAIGHT_MAP) {
StartDriveStraightExam(currExamMapIndex, RoadMapList);
+ } else if (RoadMapList[currExamMapIndex].type == STOP_CAR_MAP) {
+ StartStopCarExam(currExamMapIndex, RoadMapList);
}
}
} else if (startCar == START_CAR_DONE) {
int prevIdx = currExamMapIndex;
- if (currExamMapIndex >= THROUGH_INTERSECTION_MAP && currExamMapIndex <= TURN_AROUND_MAP) {
+ if (RoadMapList[currExamMapIndex].type >= THROUGH_INTERSECTION_MAP && currExamMapIndex <= TURN_AROUND_MAP) {
currExamMapIndex = ExecuteThroughExam(currExamMapIndex, RoadMapList, car,
CarModelList, speed, moveDirect, rtkTime);
}
- else if (currExamMapIndex == DRIVE_STRAIGHT_MAP) {
+ else if (RoadMapList[currExamMapIndex].type == DRIVE_STRAIGHT_MAP) {
currExamMapIndex = ExecuteDriveStraightExam(currExamMapIndex, RoadMapList, car,
CarModelList, speed, moveDirect, rtkTime);
+ } else if (RoadMapList[currExamMapIndex].type == STOP_CAR_MAP) {
+ currExamMapIndex = ExecuteStopCarExam(currExamMapIndex, RoadMapList, car,
+ CarModelList, speed, moveDirect, rtkTime);
}
if (currExamMapIndex == -1) {
- MA_EnterMap(RoadMapList[prevIdx].id, RoadMapList[prevIdx].type, 1);
+ DEBUG("绂诲紑鍖哄煙 index %d id %d type %d", prevIdx, RoadMapList[prevIdx].id, RoadMapList[prevIdx].type);
+
+ MA_EnterMap(RoadMapList[prevIdx].id, RoadMapList[prevIdx].type, 0);
}
}
}
@@ -596,7 +598,7 @@
return ret;
}
-static void Rtk2DriveTimer(struct drive_timer &tm, const struct RtkTime *rtkTime)
+void Rtk2DriveTimer(struct drive_timer &tm, const struct RtkTime *rtkTime)
{
tm.hour = rtkTime->hh;
tm.min = rtkTime->mm;
--
Gitblit v1.8.0