From 367515d792d493600b332b73af4ef7353837e197 Mon Sep 17 00:00:00 2001
From: endian11 <Dana_Lee1016@126.com>
Date: 星期四, 21 一月 2021 10:58:41 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
lib/src/main/cpp/test_common/car_sensor.cpp | 27 +++++++++++----------------
1 files changed, 11 insertions(+), 16 deletions(-)
diff --git a/lib/src/main/cpp/test_common/car_sensor.cpp b/lib/src/main/cpp/test_common/car_sensor.cpp
index 8caa027..1a1a20b 100644
--- a/lib/src/main/cpp/test_common/car_sensor.cpp
+++ b/lib/src/main/cpp/test_common/car_sensor.cpp
@@ -16,7 +16,6 @@
static uint16_t gpioStore;
static int left_turn_signal, right_turn_signal;
-static int flashMainBeamCnt;
enum {
SENSOR_SEATBELT,
@@ -67,7 +66,7 @@
static void ChangeLRLight(int light);
static void ConfirmTurnSigalLater(union sigval sig);
static void flashBeamLightClose(union sigval sig);
-static void confirmFlashBeamLightLater(union sigval sig);
+
static void SensorChanged(int id, int value);
void CarSensorInit(void)
@@ -83,7 +82,6 @@
memset(&Sensor, 0, sizeof(Sensor));
left_turn_signal = right_turn_signal = 0;
- flashMainBeamCnt = 0;
pthread_mutex_init(&sonser_mutex, NULL);
pthread_mutex_init(&status_rw_mutex, NULL);
@@ -272,15 +270,9 @@
WriteCarStatus(FLASH_BEAM_LAMP, OFF_LIGHT);
}
-static void confirmFlashBeamLightLater(union sigval sig)
-{
- AppTimer_delete(confirmFlashBeamLightLater);
- flashMainBeamCnt = 0;
-}
-
static void SensorChanged(int id, int value)
{
-// DEBUG("鐘舵�佹敼鍙� %d = %d", id, value);
+ DEBUG("鐘舵�佹敼鍙� %d = %d", id, value);
switch (id) {
case SENSOR_LEFT_TURN_SIGNAL: {
left_turn_signal = value;
@@ -335,21 +327,24 @@
break;
}
case SENSOR_MAIN_BEAM_LIGHT: {
+ static uint32_t t1 = 0;
+
if (value == 0) {
WriteCarStatus(MAIN_BEAM_LAMP, OFF_LIGHT);
} else {
WriteCarStatus(MAIN_BEAM_LAMP, MAIN_BEAM_LIGHT);
}
- if (++flashMainBeamCnt > 3) { // 浜�-鐏�-浜�-鐏�
- WriteCarStatus(FLASH_BEAM_LAMP, FLASH_BEAM_LIGHT);
-
+ if (value != 0) {
+ t1 = AppTimer_GetTickCount();
+ } else if (AppTimer_GetTickCount() - t1 < D_SEC(3)) {
+ // 3绉掑唴瀹屾垚浜伃锛岄棯鐏�
+ if (ReadCarStatus(FLASH_BEAM_LAMP) != FLASH_BEAM_LIGHT) {
+ WriteCarStatus(FLASH_BEAM_LAMP, FLASH_BEAM_LIGHT);
+ }
AppTimer_delete(flashBeamLightClose);
AppTimer_add(flashBeamLightClose, D_SEC(2));
}
-
- AppTimer_delete(confirmFlashBeamLightLater);
- AppTimer_add(confirmFlashBeamLightLater, D_SEC(3));
break;
}
case SENSOR_SEATBELT: {
--
Gitblit v1.8.0