From f1ff7e339eca91b114497d3e847fa1fc33baccc4 Mon Sep 17 00:00:00 2001 From: yy1717 <fctom1215@outlook.com> Date: 星期一, 21 九月 2020 10:58:58 +0800 Subject: [PATCH] 坐标 --- lib/src/main/cpp/driver_test.cpp | 35 +++++++++++++++++++++++++++++++++++ 1 files changed, 35 insertions(+), 0 deletions(-) diff --git a/lib/src/main/cpp/driver_test.cpp b/lib/src/main/cpp/driver_test.cpp index 600be36..a9208fb 100644 --- a/lib/src/main/cpp/driver_test.cpp +++ b/lib/src/main/cpp/driver_test.cpp @@ -896,6 +896,8 @@ return true; } +static int currRoad = -1, currCrossing = -1; + void RoadChange(int road, int status) { struct roadStatusBrief brief; @@ -904,6 +906,8 @@ brief.status = status; MA_SendRoadStatus(&brief); + + currRoad = (status == 1? road : -1); DEBUG("鎶ュ憡闀垮畼 杩涘嚭璺 road %d status %d", road, status); } @@ -917,6 +921,8 @@ brief.status = status; MA_SendCrossingStatus(&brief); + + currCrossing = (status == 1? crossing : -1); DEBUG("鎶ュ憡闀垮畼 杩涘嚭璺彛 road %d crossing %d status %d", road, crossing, status); } @@ -947,6 +953,35 @@ ExamFaultList.clear(); } +void MasterInqRoadStatus(void) +{ + struct roadStatusBrief brief; + struct crossingStatusBrief brief2; + + brief2.road_id = brief.road_id = currRoad; + + if (currRoad >= 0) { + brief.status = 1; + + if (currCrossing >= 0) { + brief2.crossing_index = currCrossing; + brief2.status = 1; + } else { + brief2.crossing_index = -1; + brief2.status = 0; + } + } + else { + brief.status = 0; + brief2.crossing_index = -1; + brief2.status = 0; + } + + MA_SendRoadStatus(&brief); + + MA_SendCrossingStatus(&brief2); +} + /******************************************************************* * @brief 鐢变富澶╃嚎鍧愭爣璁$畻杞﹁韩鐐瑰潗鏍� * @param azimuth -- Gitblit v1.8.0