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/turn_a90.cpp | 29 +++++++++++++++++------------
1 files changed, 17 insertions(+), 12 deletions(-)
diff --git a/lib/src/main/cpp/test_items/turn_a90.cpp b/lib/src/main/cpp/test_items/turn_a90.cpp
index d03e269..f76ac16 100644
--- a/lib/src/main/cpp/test_items/turn_a90.cpp
+++ b/lib/src/main/cpp/test_items/turn_a90.cpp
@@ -21,9 +21,9 @@
static bool TA90Testing;
-static int azimuth;
+static int enterAreaHeading;
static bool turnLeftFinished;
-static uint64_t stopTimepoint = 0;
+static uint32_t stopTimepoint = 0;
static bool reportStopCarTimeout;
static int prevMoveDirect;
@@ -34,11 +34,11 @@
void StartTurnA90(int moveDirect, double heading, const struct RtkTime *rtkTime)
{
- azimuth = (int) heading;
+ DEBUG("杩涘叆鐩磋杞集鍦哄湴");
+ enterAreaHeading = (int) heading;
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);
}
reportStopCarTimeout = false;
crashRedLine = false;
@@ -66,8 +66,7 @@
if (moveDirect != prevMoveDirect) {
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);
reportStopCarTimeout = false;
DEBUG("鍋滆溅浜� %d %d %d %d %d %d %d", rtkTime->YY, rtkTime->MM, rtkTime->DD, rtkTime->hh, rtkTime->mm, rtkTime->ss, rtkTime->mss);
@@ -76,8 +75,7 @@
}
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 && !reportStopCarTimeout) {
// 鍋滆溅瓒�2绉掞紝姣忔鎵�5鍒�
@@ -90,14 +88,21 @@
// 妫�鏌ヨ浆鍚戠姸鎬�
int az = (int) heading;
- if (ABS(az - azimuth) > 180) {
- az = 360 - ABS(az-azimuth);
+ if (ABS(az - enterAreaHeading) > 180) {
+ az = 360 - ABS(az-enterAreaHeading);
} else {
- az = ABS(az - azimuth);
+ az = ABS(az - enterAreaHeading);
}
+
+
if (az >= 30) {
if (!turnLeftFinished) {
+ if((( ((int)heading) + 360 - enterAreaHeading) % 360) < 180) {
+ DEBUG("鍙宠浆");
+ } else {
+ DEBUG("宸﹁浆");
+ }
// 杞悜鐏湭寮�鍚紝鎵�10鍒�
AddExamFault(30, rtkTime);
DEBUG("杞悜鐏湭寮�鍚�");
--
Gitblit v1.8.0