From 20bd5ec5a7f859c0f98f13ef62b906b1c781e51b Mon Sep 17 00:00:00 2001
From: fctom1215 <fctom1215@outlook.com>
Date: 星期日, 07 二月 2021 09:25:53 +0800
Subject: [PATCH] 暂时屏蔽获取车模型从平台  直接打开mapfragment 跳过arcgis

---
 lib/src/main/cpp/test_common/car_sensor.cpp |   42 ++++++++++++++++++++++++++++++++++++------
 1 files changed, 36 insertions(+), 6 deletions(-)

diff --git a/lib/src/main/cpp/test_common/car_sensor.cpp b/lib/src/main/cpp/test_common/car_sensor.cpp
index 1a1a20b..173a1e5 100644
--- a/lib/src/main/cpp/test_common/car_sensor.cpp
+++ b/lib/src/main/cpp/test_common/car_sensor.cpp
@@ -225,11 +225,13 @@
 
 static void WriteCarStatus(uint16_t id, int value)
 {
+    int old_value;
     pthread_mutex_lock(&status_rw_mutex);
+    old_value = CarStatus[id];
     CarStatus[id] = value;
     pthread_mutex_unlock(&status_rw_mutex);
 
-    if (id != OBD_SPEED && id != ENGINE_RPM) {
+    if (id != OBD_SPEED && id != ENGINE_RPM && old_value != value) {
         uint8_t buffer[6];
 
         buffer[0] = HI_UINT16(id);
@@ -246,13 +248,29 @@
 static void LRLightTimeout(union sigval sig)
 {
     AppTimer_delete(LRLightTimeout);
-
-    WriteCarStatus(TURN_SIGNAL_LAMP, OFF_LIGHT);
+    if (!left_turn_signal && !right_turn_signal) {
+        WriteCarStatus(TURN_SIGNAL_LAMP, OFF_LIGHT);
+    } else if (left_turn_signal && right_turn_signal) {
+        WriteCarStatus(TURN_SIGNAL_LAMP, HAZARD_LIGHTS);
+    } else if (left_turn_signal) {
+        WriteCarStatus(TURN_SIGNAL_LAMP, LEFT_TURN_LIGHT);
+    } else {
+        WriteCarStatus(TURN_SIGNAL_LAMP, RIGHT_TURN_LIGHT);
+    }
 }
 
 static void ChangeLRLight(int light)
 {
-    WriteCarStatus(TURN_SIGNAL_LAMP, light);
+    DEBUG("ChangeLRLight %d %d", left_turn_signal, right_turn_signal);
+    if (!left_turn_signal && !right_turn_signal) {
+        WriteCarStatus(TURN_SIGNAL_LAMP, OFF_LIGHT);
+    } else if (left_turn_signal && right_turn_signal) {
+        WriteCarStatus(TURN_SIGNAL_LAMP, HAZARD_LIGHTS);
+    } else if (left_turn_signal) {
+        WriteCarStatus(TURN_SIGNAL_LAMP, LEFT_TURN_LIGHT);
+    } else {
+        WriteCarStatus(TURN_SIGNAL_LAMP, RIGHT_TURN_LIGHT);
+    }
 
     AppTimer_delete(LRLightTimeout);
     AppTimer_add(LRLightTimeout, 1500);
@@ -281,10 +299,16 @@
                 AppTimer_delete(ConfirmTurnSigalLater);
                 if (right_turn_signal) {
                     // 鍒ゅ畾涓哄弻闂�
-                    ChangeLRLight(HAZARD_LIGHTS);
+                    AppTimer_add(ConfirmTurnSigalLater, 500, HAZARD_LIGHTS);
                 } else {
                     AppTimer_add(ConfirmTurnSigalLater, 200, LEFT_TURN_LIGHT);
                 }
+            } else {
+                AppTimer_delete(ConfirmTurnSigalLater);
+                if (right_turn_signal)
+                    AppTimer_add(ConfirmTurnSigalLater, 1500, RIGHT_TURN_LIGHT);
+                else
+                    AppTimer_add(ConfirmTurnSigalLater, 1500, OFF_LIGHT);
             }
             break;
         }
@@ -295,10 +319,16 @@
                 AppTimer_delete(ConfirmTurnSigalLater);
                 if (left_turn_signal) {
                     // 鍒ゅ畾涓哄弻闂�
-                    ChangeLRLight(HAZARD_LIGHTS);
+                    AppTimer_add(ConfirmTurnSigalLater, 500, HAZARD_LIGHTS);
                 } else {
                     AppTimer_add(ConfirmTurnSigalLater, 200, RIGHT_TURN_LIGHT);
                 }
+            } else {
+                AppTimer_delete(ConfirmTurnSigalLater);
+                if (left_turn_signal)
+                    AppTimer_add(ConfirmTurnSigalLater, 1500, LEFT_TURN_LIGHT);
+                else
+                    AppTimer_add(ConfirmTurnSigalLater, 1500, OFF_LIGHT);
             }
             break;
         }

--
Gitblit v1.8.0