From 8aa343c68337975234072baae5eda592487c4271 Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期六, 16 八月 2025 18:29:41 +0800
Subject: [PATCH] 防丢手环V1.0demo版本实现一对多测距和发送震动信息

---
 keil/sn74hc595.c |   86 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 84 insertions(+), 2 deletions(-)

diff --git a/keil/sn74hc595.c b/keil/sn74hc595.c
index 29f48c0..cd7001a 100644
--- a/keil/sn74hc595.c
+++ b/keil/sn74hc595.c
@@ -41,7 +41,7 @@
 }
 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)
@@ -51,13 +51,34 @@
         *state=0;
     }
     update_led_power_state();
-    delay_us(100);
+    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 motor_on(void)
+{
+	motor_power_state=0;
+ update_led_power_state();
+}
+void motor_off(void)
+{
+	motor_power_state=1;
+ update_led_power_state();
 }
 void uwb_led_on(void)
 {
@@ -78,4 +99,65 @@
 {
     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(active_flag)
+		 {
+				if(bat_percent>15)
+				{
+				charge_green_on();
+				charge_red_off();
+					enbale_blink_flag=1;
+				}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;
+						}
+			}else{
+			charge_green_off();
+			charge_red_off();
+			enbale_blink_flag=0;
+			}
+		}
 }
\ No newline at end of file

--
Gitblit v1.9.3