From 4a9f1384be153a34ff058c62983193b2eaec4487 Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期三, 23 十月 2024 10:28:19 +0800
Subject: [PATCH] V1.11增加充电灯逻辑和修改range接收逻辑,4g灯会有常亮bug和充电灯不间断闪烁

---
 keil/sn74hc595.c |  103 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 89 insertions(+), 14 deletions(-)

diff --git a/keil/sn74hc595.c b/keil/sn74hc595.c
index 7847d5f..55cb2fd 100644
--- a/keil/sn74hc595.c
+++ b/keil/sn74hc595.c
@@ -41,23 +41,34 @@
 }
 void update_led_power_state(void)
 {
-    uint8_t control_state=air780_power_state<<7|gps_power_state<<6|motor_power_state<<5|uwb_state<<4|gps_success_state<<3|air780_success_state<<2|chaging_state<<1|changed_state;
+    uint8_t control_state=air780_power_state<<7|gps_power_state<<6|motor_power_state<<5|uwb_state<<4|gps_success_state<<3|air780_success_state<<2|red_charge_state<<1|green_charge_state;
     IO_LED_control_change(control_state);
 }
 void blink_led(uint8_t*state)
-{if(*state==0)
-	*state=1;
-	else{
-	*state=0;
-	}
-update_led_power_state();
-delay_us(100);
-if(*state==0)
-	*state=1;
-	else{
-	*state=0;
-	}
-update_led_power_state();
+{   if(*state==0)
+        *state=1;
+    else {
+        *state=0;
+    }
+    update_led_power_state();
+    delay_us(1000);
+    if(*state==0)
+        *state=1;
+    else {
+        *state=0;
+    }
+    update_led_power_state();
+}
+
+void gps_led_on(void)
+{
+    gps_success_state=1;//uwb亮起
+    update_led_power_state();
+}
+void gps_led_off(void)
+{
+    gps_success_state=0;//uwb灭
+    update_led_power_state();
 }
 void uwb_led_on(void)
 {
@@ -68,4 +79,68 @@
 {
     uwb_state=0;//uwb灭
     update_led_power_state();
+}
+void air780_led_on(void)
+{
+    air780_success_state=1;//uwb亮起
+    update_led_power_state();
+}
+void air780_led_off(void)
+{
+    air780_success_state=0;//uwb灭
+    update_led_power_state();
+}
+void charge_red_on(void)
+{
+		red_charge_state=1;//充电红灯亮起
+    update_led_power_state();
+}
+void charge_red_off(void)
+{
+		red_charge_state=0;//充电红灯熄灭
+    update_led_power_state();
+}
+void charge_green_on(void)
+{
+		green_charge_state=1;//充电绿灯亮起
+    update_led_power_state();
+}
+void charge_green_off(void)
+{
+		green_charge_state=0;//充电绿灯熄灭
+    update_led_power_state();
+}
+
+void charge_state_change(void)
+{
+	if(gpio_pin_get_val(INPUT_5V_Pin))
+	{
+				if(bat_percent==100)
+				{
+				red_charge_state=0;
+				green_charge_state=1;
+				}else{
+				red_charge_state=1;
+				green_charge_state=0;
+				}
+				enbale_blink_flag=0;
+				update_led_power_state();
+	}else{
+				if(bat_percent>15)
+				{
+				charge_green_off();
+				charge_red_off();
+					enbale_blink_flag=0;
+				}else{
+//						green_charge_state=0;
+//						if(secondtask_count%2==0)
+//						{
+//							red_charge_state=0;
+//						}else{
+//							red_charge_state=1;
+//						}
+//						update_led_power_state();
+					enbale_blink_flag=1;
+			}
+}
 }
\ No newline at end of file

--
Gitblit v1.9.3