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