From 7c5b25c8617807635e9f272ebe9e98304d07cf2f Mon Sep 17 00:00:00 2001
From: fctom1215 <fctom1215@outlook.com>
Date: 星期五, 14 二月 2020 14:28:25 +0800
Subject: [PATCH] 增加单片机信息传递。
---
lib/src/main/cpp/test_items/stop_and_start.cpp | 28 ++++++++++++----------------
1 files changed, 12 insertions(+), 16 deletions(-)
diff --git a/lib/src/main/cpp/test_items/stop_and_start.cpp b/lib/src/main/cpp/test_items/stop_and_start.cpp
index 1398ee5..9c0c69e 100644
--- a/lib/src/main/cpp/test_items/stop_and_start.cpp
+++ b/lib/src/main/cpp/test_items/stop_and_start.cpp
@@ -16,12 +16,6 @@
using namespace std;
-enum
-{
- STOP_CAR,
- START_CAR
-};
-
const double STOP_DISTANCE_THRESHOLD_RED = 0.5;
const double EDGE_DISTANCE_THRESHOLD_RED = 0.5;
const double EDGE_DISTANCE_THRESHOLD_YELLOW = 0.3;
@@ -38,7 +32,7 @@
static PointF stopPoint;
static int prevMoveDirect;
-static uint64_t stopTimepoint = 0;
+static uint32_t stopTimepoint = 0;
static bool stopCar = false;
static uint32_t stopCarTime;
static bool occurCrashRedLine = false;
@@ -61,9 +55,7 @@
prevMoveDirect = moveDirect;
if (moveDirect == 0) {
- stopTimepoint = TimeMakeComposite(2000 + rtkTime->YY, rtkTime->MM, rtkTime->DD, rtkTime->hh,
- rtkTime->mm, rtkTime->ss);
- stopTimepoint = stopTimepoint * 1000 + rtkTime->mss * 10;
+ stopTimepoint = TimeMakeComposite(rtkTime->hh, rtkTime->mm, rtkTime->ss, rtkTime->mss*10);
}
occurCrashRedLine = false;
@@ -96,18 +88,16 @@
if (prevMoveDirect != moveDirect) {
if (moveDirect == 0) {
- stopTimepoint = TimeMakeComposite(2000 + rtkTime->YY, rtkTime->MM, rtkTime->DD, rtkTime->hh, rtkTime->mm, rtkTime->ss);
- stopTimepoint = stopTimepoint * 1000 + rtkTime->mss*10;
+ stopTimepoint = TimeMakeComposite(rtkTime->hh, rtkTime->mm, rtkTime->ss, rtkTime->mss*10);
}
prevMoveDirect = moveDirect;
} else if (moveDirect == 0) {
- uint64_t tp = TimeMakeComposite(2000 + rtkTime->YY, rtkTime->MM, rtkTime->DD, rtkTime->hh, rtkTime->mm, rtkTime->ss);
- tp = tp * 1000 + rtkTime->mss * 10;
+ uint32_t tp = TimeMakeComposite(rtkTime->hh, rtkTime->mm, rtkTime->ss, rtkTime->mss*10);
if (tp - stopTimepoint >= STOP_CAR_TIME && !stopCar) {
// 杩欓噷鍒ゆ柇鍋滆溅鐘舵��
stopCar = true;
- stopCarTime = TimeMakeComposite(2000 + rtkTime->YY, rtkTime->MM, rtkTime->DD, rtkTime->hh, rtkTime->mm, rtkTime->ss);
+ stopCarTime = TimeMakeComposite(rtkTime->hh, rtkTime->mm, rtkTime->ss, rtkTime->mss*10);
stopPoint = car->carXY[car->body[0]];
@@ -161,9 +151,10 @@
}
}
+
if (!reportStartTimeout && (IntersectionOfLine(map->point[4], stopPoint, car->carXY[car->axial[AXIAL_FRONT]]) != -1 ||
DistanceOf(stopPoint, car->carXY[car->axial[AXIAL_FRONT]]) < 0.1)) {
- if (TimeMakeComposite(2000 + rtkTime->YY, rtkTime->MM, rtkTime->DD, rtkTime->hh, rtkTime->mm, rtkTime->ss) - stopCarTime > CAR_START_TIMEOUT) {
+ if (TimeMakeComposite(rtkTime->hh, rtkTime->mm, rtkTime->ss, rtkTime->mss*10) - stopCarTime > CAR_START_TIMEOUT) {
// 璧锋鏃堕棿瓒呰繃30绉掞紝涓嶅悎鏍�
AddExamFault(15, rtkTime);
DEBUG("璧锋鏃堕棿瓒呰繃30绉�");
@@ -217,6 +208,9 @@
int rel1 = IntersectionOfLine(map->point[4], map->point[3], car->carXY[car->body[0]]);
int rel2 = IntersectionOfLine(map->point[5], map->point[6], car->carXY[car->body[0]]);
+ DEBUG("%d %d %f, %f", car->body[0], car->axial[AXIAL_FRONT], car->carXY[car->body[0]].X, car->carXY[car->body[0]].Y);
+ DEBUG("rel1 %d rel2 %d", rel1, rel2);
+
if (rel1 == 1) {
Line line1;
@@ -231,6 +225,8 @@
dis = DistanceOf(car->carXY[car->body[0]], line2);
}
+ DEBUG("DistanceOfHead2Stopline dis %f", dis);
+
return dis;
}
--
Gitblit v1.8.0