From fa6053f85287163f6e2d5dba690bec05cbc95f4a Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Fri, 07 Jun 2024 17:00:49 +0800
Subject: [PATCH] 增加阀控事件记录及修改阀控命令

---
 Function/POWER_MANAGE/power_manage.c |   72 ++++++++++++++++++++++++++++--------
 1 files changed, 56 insertions(+), 16 deletions(-)

diff --git a/Function/POWER_MANAGE/power_manage.c b/Function/POWER_MANAGE/power_manage.c
index 77ff579..a06ed1b 100644
--- a/Function/POWER_MANAGE/power_manage.c
+++ b/Function/POWER_MANAGE/power_manage.c
@@ -44,9 +44,10 @@
 void Lith_Battery_GPIO_Clk_Init(void)
 {
 	CMU_PERCLK_SetableEx(PADCLK, ENABLE);  //PADʱ�ӣ�GPIO��ʹ�ܺ���
-	AnalogIO(LIT_ADC_PORT,LIT_ADC_PIN);//ADC_IN4
+	AnalogIO(LIT_ADC_PORT,LIT_ADC_PIN);//
+	GPIOx_ANEN_Setable(LIT_ADC_PORT,LIT_ADC_PIN,ENABLE);
 	OutputIO(LITH_DETECTION_PORT,LITH_DETECTION_PIN,OUT_PUSHPULL);
-//	AnalogIO(LIT_PWR_UNDER_PORT,LIT_PWR_UNDER_PIN);//ADC_5
+//	AnalogIO(LIT_PWR_UNDER_PORT,LIT_PWR_UNDER_PIN);
 	
 }
 
@@ -54,6 +55,7 @@
 {
 	CMU_PERCLK_SetableEx(PADCLK, ENABLE);  //PADʱ�ӣ�GPIO��ʹ�ܺ���
 	AnalogIO_H(ALK_ADC_PIN);
+//	GPIOx_ANEN_Setable(ALK_ADC_PORT,ALK_ADC_PIN,ENABLE);
 	OutputIO(ALKA_DETECTION_PORT,ALKA_DETECTION_PIN,OUT_PUSHPULL);
 }
 
@@ -67,7 +69,7 @@
 void borrow_Pwr_GPIO_Clk_Init(void)
 {
 	CMU_PERCLK_SetableEx(PADCLK, ENABLE);  //PADʱ�ӣ�GPIO��ʹ�ܺ���
-	InputtIO( BORROW_PWR_PORT, BORROW_PWR_PIN, IN_NORMAL);
+	OutputIO( BORROW_PWR_PORT, BORROW_PWR_PIN, OUT_PUSHPULL);
 }
 
 
@@ -126,7 +128,7 @@
   float battery_vol = 0;
   ad_data_s *data_ins;
 	Alka_Battery_GPIO_Clk_Init();
-	ADC_IN8_Init();
+	ADC_IN10_Init();
   ALK_DEC_ON;
   delay_ms(5);
   // �������������ڴ�ռ�
@@ -160,7 +162,7 @@
   float battery_vol = 0;
   ad_data_s *data_ins;
 	Lith_Battery_GPIO_Clk_Init();
-	ADC_IN4_Init();
+	ADC_IN5_Init();
   LIT_DEC_ON;
   delay_ms(5);
   if ((data_ins = (ad_data_s *)malloc(sizeof(data_ins) + sizeof(uint16_t) * AD_LITH_BAT_CNT)) != NULL)
@@ -394,13 +396,18 @@
 	}
 	
 	//������ȷ��
-	if(pwr_vol_p->alka_lose_check_flag == SET){
-		pwr_vol_p->alka_lose_check_flag = RESET;
+//	if(pwr_vol_p->alka_lose_check_flag == SET){      //��ʱû���жϴ�����ע�͵�
+//		pwr_vol_p->alka_lose_check_flag = RESET;
 		if(ALKA_PWR_LOSE_IO_READ == Bit_RESET){
-			//ȷ��﮵����
-			__SYS_STATUS_ALARM_BYTES_SET(alka_remove,ALARM_ID_ALKA_BAT_REMOVAL);
+			delay_ms(10);
+			if(ALKA_PWR_LOSE_IO_READ == Bit_RESET){
+				//ȷ��﮵����
+				__SYS_STATUS_ALARM_BYTES_SET(alka_remove,ALARM_ID_ALKA_BAT_REMOVAL);
+			}
+		}else{
+			__SYS_STATUS_BYTES_STATUS(alka_remove, RESET, ALARM_ID_ALKA_BAT_REMOVAL);
 		}
-	}
+//	}
 	
 	
 	
@@ -411,7 +418,7 @@
 	}
 	
 	if((pwr_vol_p->alka_flag != AMS_NONE)&&(delay_time_cnt >= DELAY_TIME) ){
-		pwr_vol_p->alka_flag = AMS_PERIOD;
+		pwr_vol_p->alka_flag = AMS_NONE;
 		pwr_vol_p->alka_vcc = Get_Alka_Bat_Voltage();//�����
 		Alka_Bat_Voltage_Status(pwr_vol_p->alka_vcc,pwr_vol_p);
 	} 
@@ -481,20 +488,50 @@
 		if(pwr_vol_p->ex_pwr_in_cnt >=EX_PWR_CONTINUE_TIME){
 			if(__SYS_STATUS_BYTES_GET(power_state) != SET){
 				EX_PWR_ON;
-				__SYS_STATUS_BYTES_STATUS(power_state, SET, ALARM_ID_NORMAL);
+				__SYS_STATUS_BYTES_STATUS(power_state, SET, ALARM_ID_NORMAL); //��״̬�����뱨����ʾ
 				//������֮�������Ƴ��жϣ�����Ƴ�Ҫ�����л���ع���
 				GPIO_EXTI_Init( HWIDO_EX_PWR_PORT, HWIDO_EX_PWR_PIN, EXTI_RISING, ENABLE);
 				
 				up_comm_uart_enable();//���ʱʹ����λ������
+				uart_ctrl_para_g.UP_COMM_rxto_flag = RESET;
+				lcd_first_wake_up_flag_g = SET;  //�����������Ļ�����ֳ���
 				
-				//?������仯����
+				//���ر�
+				borrow_Pwr_GPIO_Clk_Init();
+				BORROW_PWR_OFF;
+				
+				//?������仯��������籨�����⴦������ֻ�����������أ�����ʾ������
+				if(__SYS_ALARM_CTL_BYTES_GET(power_state)){                   
+					if(__SYS_ALARM_REPORT_CTL_BYTES_GET(power_state) ==SET){ 				
+						if(AlarmCntIncrease(ALARM_ID_EX_POWER_STATUS_CHANGE) ==SET){														
+							system_alarm_word_g.alarm_word.power_state = SET;						
+							AlarmTriggerWrcFlag = SET;																	
+						}																														
+					}          																																	
+				}
+				
 			}
 		}
 	}else
 	{
 		GPIO_EXTI_Init( HWIDO_EX_PWR_PORT, HWIDO_EX_PWR_PIN, EXTI_RISING, DISABLE);
 		EX_PWR_OFF;
-		__SYS_STATUS_BYTES_STATUS(power_state, RESET, ALARM_ID_NORMAL);
+		pwr_vol_p->ex_pwr_in_cnt = 0;
+		//?������仯��������籨�����⴦���Ƴ����������뷧�أ�����ʾ������
+		if(__SYS_STATUS_BYTES_GET(power_state) ==SET){
+			__SYS_STATUS_BYTES_STATUS(power_state, RESET, ALARM_ID_NORMAL);//��״̬�����뱨����ʾ
+			if(__SYS_ALARM_CTL_BYTES_GET(power_state)){
+					system_alarm_word_for_valve_g.alarm_word.power_state = SET;  //����Ƴ�����Ҫ��������
+					if(__SYS_ALARM_REPORT_CTL_BYTES_GET(power_state) ==SET){ 				
+						if(AlarmCntIncrease(ALARM_ID_EX_POWER_STATUS_CHANGE) ==SET){														
+							system_alarm_word_g.alarm_word.power_state = SET;						
+							AlarmTriggerWrcFlag = SET;																	
+						}																														
+					}          																																	
+				}
+		}
+		//����Ƴ��󴮿ڽ�ֹ��Ҳ����������ǰ��ֹ
+		
 		
 //		if((pwr_vol_p->ex_pwr_in_cnt!=0)&&(pwr_vol_p->ex_pwr_in_cnt!=EX_PWR_CONTINUE_TIME)){  
 //			//������;״̬�ı䣬���ܴ�����粻�ȶ���Ƶ�������򱨾�
@@ -507,7 +544,6 @@
 //			if(__SYS_STATUS_BYTES_GET(power_state) != RESET){
 //				EX_PWR_OFF;
 //				__SYS_STATUS_BYTES_STATUS(power_state, RESET, ALARM_ID_NORMAL);
-//				//?������仯����
 //			}
 //		}
 	}
@@ -550,6 +586,10 @@
 		if(HWIDO_EX_PWR_IO_READ == Bit_RESET){
 			EX_PWR_ON;
 			__SYS_STATUS_BYTES_STATUS(power_state, SET, ALARM_ID_NORMAL);
+		//������֮�������Ƴ��жϣ�����Ƴ�Ҫ�����л���ع���
+			GPIO_EXTI_Init( HWIDO_EX_PWR_PORT, HWIDO_EX_PWR_PIN, EXTI_RISING, ENABLE);
+			
+			up_comm_uart_enable();//���ʱʹ����λ������
 		}else{
 			EX_PWR_OFF;
 		__SYS_STATUS_BYTES_STATUS(power_state, RESET, ALARM_ID_NORMAL);
@@ -560,4 +600,4 @@
 	}
 	
 	
-}
\ No newline at end of file
+}

--
Gitblit v1.9.3