From 267016d6cf472dd4c8d2a66dc9ed800b55997fea Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Sat, 11 May 2024 17:31:40 +0800
Subject: [PATCH] 继续完善电源管理

---
 Function/POWER_MANAGE/power_manage.h |   30 +++++++++++++++++++++++++++---
 1 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/Function/POWER_MANAGE/power_manage.h b/Function/POWER_MANAGE/power_manage.h
index e04f138..3226d1e 100644
--- a/Function/POWER_MANAGE/power_manage.h
+++ b/Function/POWER_MANAGE/power_manage.h
@@ -43,6 +43,7 @@
 #define HWIDO_EX_PWR_PORT GPIOF
 #define HWIDO_EX_PWR_PIN 	GPIO_Pin_5
 
+#define	HWIDO_EX_PWR_IO_READ	GPIO_ReadInputDataBit(HWIDO_EX_PWR_PORT, HWIDO_EX_PWR_PIN)
 
 //�����ƶ˿�
 #define EX_PWR_EN_PORT GPIOG
@@ -69,6 +70,13 @@
 #define AD_VTEM_CNT												8
 
 
+//ʣ������ٷֱȼ���
+#define BAT_PERSENT_LEVEL_3  70
+#define BAT_PERSENT_LEVEL_2  40
+#define BAT_PERSENT_LEVEL_1  20
+#define BAT_PERSENT_LEVEL_0  0
+
+
 typedef enum
 {
 	LMS_NONE,
@@ -84,6 +92,16 @@
 	AMS_WRC_BEFORE,
 }ALKA_MEASURE_STATUS;
 
+typedef enum
+{
+	BAT_V_NONE,  //��״̬
+	BAT_V_LOSE, //��ʧ��������ѹ���ͣ���Ϊ��ض�ʧ
+	BAT_V_DOWN, //Ƿѹ
+	BAT_V_LOW,  //�͵�
+}BAT_V_STATUS;
+
+
+
 #pragma	pack(1)
 //��������
 //�ŵ㣺ʹ�öѿռ䣬��ַ����������Ƭ�ڴ棨���ָ�����ݣ�
@@ -94,18 +112,23 @@
 	uint32_t	ad_get_buffer[];
 }ad_data_s;
 
+#pragma pack()
+
 
 typedef struct pwr_vol{
 	LITH_MEASURE_STATUS lith_flag; //����������־λ
 	ALKA_MEASURE_STATUS alka_flag; 
   FlagStatus mcu_temp_flag; //mcu�¶ȱ�־λ
 	float lith_vcc;
+	BAT_V_STATUS	lith_vcc_status;
 	float alka_vcc;
+	BAT_V_STATUS	alka_vcc_status;
   float mcu_temperature;
-	int8_t lith_vcc_per;
+	int8_t	lith_vcc_per; //���ݵ�ѹ����İٷֱ�
+	int8_t	lith_remain_use_time_per; //����ʹ��ʱ������ʣ��ٷֱ�
 }PWR_VOL_T;
 
-#pragma pack()
+
 
 extern uint8_t sys_bst_flag;
 
@@ -118,8 +141,9 @@
 float Get_Alka_Bat_Voltage(void);
 float Get_Lith_Bat_Voltage(void);
 
-void GetBatVoltagePro(PWR_VOL_T * pwr_vol_p);
+void GetPwrStatusPro(PWR_VOL_T * pwr_vol_p);
 
+void PowerManagrInit(void);
 
 #endif
 

--
Gitblit v1.9.3