From 2d0741f8e56e4f24126ea8448551e64560c45b4e Mon Sep 17 00:00:00 2001
From: yy1717 <fctom1215@outlook.com>
Date: 星期三, 18 三月 2020 18:41:57 +0800
Subject: [PATCH] 通用测试
---
lib/src/main/cpp/driver_test.cpp | 22 ++++++++++++++++------
1 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/lib/src/main/cpp/driver_test.cpp b/lib/src/main/cpp/driver_test.cpp
index 99eac50..58c440f 100644
--- a/lib/src/main/cpp/driver_test.cpp
+++ b/lib/src/main/cpp/driver_test.cpp
@@ -102,8 +102,6 @@
static car_model *CarModel = NULL;
-typedef list<car_model *> LIST_CAR_MODEL;
-
static LIST_CAR_MODEL CarModelList; // 涓�娈垫椂闂寸殑杞﹁締杞ㄨ抗闆嗗悎
static struct dummy_light_exam *DummyLightContent;
@@ -126,7 +124,7 @@
static void ExecuteExam(double speed, int move, double azimuth, const struct RtkTime* rtkTime);
static uint32_t CalcTimeDiff(const rtk_info *a, const rtk_info *b);
static void ReadDriverExamPrimerTimeout(union sigval sig);
-static void UpdateCarBodyCoord(double azimuth, double pitch, double roll, PointF main_ant, car_model *carModel);
+static void UpdateCarBodyCoord(struct RtkTime *rtkTime, double azimuth, double pitch, double roll, PointF main_ant, car_model *carModel);
static bool UpdateCarCoord(double &spd, int &mov, int &idx);
static int EnterMap(const car_model *car, const struct map_list *mapList, int mapNum);
@@ -843,10 +841,20 @@
main_ant_coord.X = RtkBuffer[p1].x;
main_ant_coord.Y = RtkBuffer[p1].y;
- UpdateCarBodyCoord(RtkBuffer[p1].heading, RtkBuffer[p1].pitch, RtkBuffer[p1].roll, main_ant_coord, CarModel);
+ struct RtkTime tm;
+
+ tm.YY = RtkBuffer[p1].YY;
+ tm.MM = RtkBuffer[p1].MM;
+ tm.DD = RtkBuffer[p1].DD;
+ tm.hh = RtkBuffer[p1].hh;
+ tm.mm = RtkBuffer[p1].mm;
+ tm.mss = RtkBuffer[p1].dss;
+
+ UpdateCarBodyCoord(&tm, RtkBuffer[p1].heading, RtkBuffer[p1].pitch, RtkBuffer[p1].roll, main_ant_coord, CarModel);
car_model *newModel = (car_model *)malloc(sizeof(car_model));
+ newModel->tm = CarModel->tm;
newModel->basePoint = CarModel->basePoint;
newModel->axial[0] = CarModel->axial[0];
newModel->axial[1] = CarModel->axial[1];
@@ -874,7 +882,8 @@
newModel->pitch = CarModel->pitch;
CarModelList.push_front(newModel);
- while (CarModelList.size() > 25) {
+
+ while (CarModelList.size() > 100) {
DEBUG("鍒犻櫎灏剧粨鐐�");
car_model *ptr = CarModelList.back();
@@ -1159,12 +1168,13 @@
* @param azimuth
* @param coord
*/
-static void UpdateCarBodyCoord(double azimuth, double pitch, double roll, PointF main_ant, car_model *carModel)
+static void UpdateCarBodyCoord(struct RtkTime *rtkTime, double azimuth, double pitch, double roll, PointF main_ant, car_model *carModel)
{
carModel->basePoint = main_ant;
carModel->yaw = azimuth;
carModel->pitch = pitch;
+ carModel->tm = *rtkTime;
pitch = pitch - carModel->antPitch;
--
Gitblit v1.8.0