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] 增加阀控事件记录及修改阀控命令
---
HARDWARE/EXTI/exti.c | 232 +++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 205 insertions(+), 27 deletions(-)
diff --git a/HARDWARE/EXTI/exti.c b/HARDWARE/EXTI/exti.c
index c70941b..825ec2e 100644
--- a/HARDWARE/EXTI/exti.c
+++ b/HARDWARE/EXTI/exti.c
@@ -5,9 +5,16 @@
#include "eeprom.h"
#include "extern_rtc.h"
#include "system_general_para.h"
-
-
-
+#include "key.h"
+#include "valve_control.h"
+#include "system_mem_para.h"
+#include "system_run_fun.h"
+#include "power_manage.h"
+#include "pulse_and_alarm_line.h"
+#include "tim.h"
+#include "wireless_remote_comm.h"
+#include "main.h"
+#include "lcd.h"
void NMI_Handler(void)
{
@@ -26,12 +33,203 @@
{
// if(__SYS_DELAY_SEC_FLAG_GET(sys_active_time) == SET && LargeCurrent_LimitingProcess() == 3)
SysWakeUp_ClockCfg();
- if(GPIO_EXTI_EXTIISR_ChkEx(EXT_RTC_INT_PORT, EXT_RTC_INT_PIN) == SET)
+
+ if(GPIO_EXTI_EXTIISR_ChkEx(EXT_RTC_INT_PORT, EXT_RTC_INT_PIN) == SET) //RTC�ж�
{
GPIO_EXTI_EXTIISR_ClrEx(EXT_RTC_INT_PORT, EXT_RTC_INT_PIN);
sys_run_period = SET;
+
+ // �ж�ϵͳ����ʱ���Ƿ����
+ if (sys_delay_sec_para_g.sys_active_time.delay_time)
+ {
+ if (!(--sys_delay_sec_para_g.sys_active_time.delay_time))
+ {
+ sys_delay_sec_para_g.sys_active_time.delay_flag = SET;
+ }
+ }
+
+ // �ж���λ����ʱʱ��
+ if (sys_delay_sec_para_g.UC_active_time.delay_time)
+ {
+ if (!(--sys_delay_sec_para_g.UC_active_time.delay_time))
+ sys_delay_sec_para_g.UC_active_time.delay_flag = SET;
+ }
+
+ // �ж�GPRS��ʱʱ��
+ if (sys_delay_sec_para_g.wrc_timeout_para.delay_time)
+ {
+ if (!(--sys_delay_sec_para_g.wrc_timeout_para.delay_time))
+ sys_delay_sec_para_g.wrc_timeout_para.delay_flag = SET;
+ }
+
+ //wrc�ر�ʱ�䵹��ʱ
+ if (wrc_ctrl_para_g.wrc_restart_time_sec_cnt)
+ {
+ if (!(--wrc_ctrl_para_g.wrc_restart_time_sec_cnt))
+ ;
+ }
}
+
+ if(GPIO_EXTI_EXTIISR_ChkEx(KEY1_PORT, KEY1_PIN) == SET) //key1�ж�,��Դ
+ {
+ GPIO_EXTI_EXTIISR_ClrEx(KEY1_PORT, KEY1_PIN);
+
+ if(KEY1_IO_READ==Bit_RESET)
+ {
+ if((KEY3_IO_READ==Bit_RESET)&&(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) >0))
+ {
+ //����
+ if(__SYS_STATUS_BYTES_GET(account_state) == RESET ||__SYS_STATUS_BYTES_GET(valve_lock) == RESET )
+ ValveCtrlOrder(VC_OPEN,VALVE_CTRL_SOURCE_KEY);
+ }else if((KEY2_IO_READ==Bit_RESET)&&(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) >0))
+ {
+ //�ط�
+ if(__SYS_STATUS_BYTES_GET(account_state) == RESET)
+ ValveCtrlOrder(VC_CLOSE,VALVE_CTRL_SOURCE_KEY);
+ }else
+ {
+ //������Դ
+ if(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) ==0){
+ //�״λ��ѣ�LCD�����ϵ磬ʹ��key2��key3������Ч�������״λ�����Ҫ��ʼ��Һ���������ñ�־λ
+ lcd_first_wake_up_flag_g = SET;
+ Lcd_GPIO_Init();
+ LCD_PWR_ON;
+ }
+
+ __SYS_DELAY_SEC_TIME_SET_(sys_active_time,SYS_WAKE_UP_TIME);
+ lcd_wake_up_flag_g = SET;
+ Key_GPIO_Init();
+
+ pwr_vol_g.lith_flag = LMS_KEY; //����Դ���ɼ�һ�ε�ص�ѹ
+ pwr_vol_g.alka_flag = AMS_KEY;
+ }
+
+ }
+ }
+
+// if(GPIO_EXTI_EXTIISR_ChkEx(KEY2_PORT, KEY2_PIN) == SET) //key2�ж�
+// {
+// GPIO_EXTI_EXTIISR_ClrEx(KEY2_PORT, KEY2_PIN);
+// if(KEY2_IO_READ==Bit_RESET)
+// {
+// lcd_wake_up_flag_g = SET;
+// if(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) >0){ //��������ⰴ�����ü���ʱ��
+// __SYS_DELAY_SEC_TIME_SET_(sys_active_time,SYS_WAKE_UP_TIME);
+// }
+// }
+// }
+//
+// if(GPIO_EXTI_EXTIISR_ChkEx(KEY3_PORT, KEY3_PIN) == SET) //key3�ж�
+// {
+// GPIO_EXTI_EXTIISR_ClrEx(KEY3_PORT, KEY3_PIN);
+// if(KEY3_IO_READ==Bit_RESET)
+// {
+// if(KEY2_IO_READ==Bit_RESET)
+// {
+// //�ɼ����������ݲ������ϱ�
+// start_rs485_g = RS485_START_REASON_KEY;
+// start_wrc_g = WRC_MEANS_KEY;
+// }else{
+// lcd_wake_up_flag_g = SET;
+// }
+//
+// if(__SYS_DELAY_SEC_TIME_GET_(sys_active_time) >0){ //��������ⰴ�����ü���ʱ��
+// __SYS_DELAY_SEC_TIME_SET_(sys_active_time,SYS_WAKE_UP_TIME);
+// }
+//
+// }
+// }
+
+// if(GPIO_EXTI_EXTIISR_ChkEx(KEY4_PORT, KEY4_PIN) == SET) //key4�ж�
+// {
+// GPIO_EXTI_EXTIISR_ClrEx(KEY4_PORT, KEY4_PIN);
+
+// }
+
+
+ if(GPIO_EXTI_EXTIISR_ChkEx(Motor_OP_PORT, Motor_OP_PIN) == SET) //���ſ��ص�λ�ź��õ�ͬһ���жϣ����Է�һ����
+ {
+ GPIO_EXTI_EXTIISR_ClrEx(Motor_OP_PORT, Motor_OP_PIN);
+
+ if(save_valve_para_g.valve_status == VALVE_OPENING){
+ if(Motor_OP_IO_READ == Bit_RESET){ //����״̬ȷ��
+ ValveMotorStop();//�ر�����
+ save_valve_para_g.valve_status = VALVE_OPEN;
+ }
+ }else if(save_valve_para_g.valve_status == VALVE_CLOSING){
+ if(Motor_CL_IO_READ == Bit_RESET){ //����״̬ȷ��
+ ValveMotorStop();//�ر�����
+ save_valve_para_g.valve_status = VALVE_CLOSE;
+ }
+ }
+ }
+
+
+// if(GPIO_EXTI_EXTIISR_ChkEx(Motor_CL_PORT, Motor_CL_PIN) == SET) //���Źص�λ�ж�
+// {
+// GPIO_EXTI_EXTIISR_ClrEx(Motor_CL_PORT, Motor_CL_PIN);
+// if(Motor_CL_IO_READ == Bit_RESET){ //����״̬ȷ��
+// ValveMotorStop();//�ر�����
+// save_valve_para_g.valve_status = VALVE_CLOSE;
+// }
+//
+// }
+
+
+
+ if(GPIO_EXTI_EXTIISR_ChkEx(LITH_PWR_LOSE_PORT, LITH_PWR_LOSE_PIN) == SET)
+ {
+ GPIO_EXTI_EXTIISR_ClrEx(LITH_PWR_LOSE_PORT, LITH_PWR_LOSE_PIN);
+
+// __SYS_STATUS_ALARM_BYTES_SET(lith_remove);
+ pwr_vol_g.lith_lose_check_flag = SET;
+ }
+// if(GPIO_EXTI_EXTIISR_ChkEx(ALKA_PWR_LOSE_PORT, ALKA_PWR_LOSE_PIN) == SET)
+// {
+// GPIO_EXTI_EXTIISR_ClrEx(ALKA_PWR_LOSE_PORT, ALKA_PWR_LOSE_PIN);
+
+//// __SYS_STATUS_ALARM_BYTES_SET(alka_remove);
+//
+// pwr_vol_g.alka_lose_check_flag = SET;
+// }
+
+
+ if(GPIO_EXTI_EXTIISR_ChkEx(LF_PULSE_INT_PORT, LF_PULSE_INT_PIN) == SET) //�Ʒѵ�Ƶ����
+ {
+ GPIO_EXTI_EXTIISR_ClrEx(LF_PULSE_INT_PORT, LF_PULSE_INT_PIN);
+ //Ŀǰ�������Ʒ����幦����û�б����ò���Ҫ����
+ if(((flow_meter_para_g.broken_line_multiplex & BROKEN_LINE_MUTIPLEX_PULSE)!=BROKEN_LINE_MUTIPLEX_PULSE)&& \
+ ((flow_meter_para_g.flow_meter_conn_type==FLOW_METER_CONN_PULSE)||(flow_meter_para_g.flow_meter_conn_type==FLOW_METER_CONN_RS485_AND_PULSE))){
+ pulse_exti_flag = SET;
+ BTx_CR1_CHEN_Setable(BT1,ENABLE); //������ʱ��
+ }
+ }
+
+ if(GPIO_EXTI_EXTIISR_ChkEx(HWIDO_EX_PWR_PORT, HWIDO_EX_PWR_PIN) == SET) //����Ƴ��ж�
+ {
+ GPIO_EXTI_EXTIISR_ClrEx(HWIDO_EX_PWR_PORT, HWIDO_EX_PWR_PIN);
+ //����Ƴ��������ر�������
+ EX_PWR_OFF;
+// __SYS_STATUS_BYTES_STATUS(power_state, RESET, ALARM_ID_NORMAL);
+
+ }
+
+
+ if(GPIO_EXTI_EXTIISR_ChkEx(LIMIT_TRIGGER_PORT, LIMIT_TRIGGER_PIN) == SET) //��������
+ {
+ GPIO_EXTI_EXTIISR_ClrEx(LIMIT_TRIGGER_PORT, LIMIT_TRIGGER_PIN);
+ //��¼��������ʱ����Ϣ
+ arrayA_2_arrayB((uint8_t *)&sys_clockBCD_g.year,&limit_trigger_record_para_g.record_time_BCD.year,sizeof(sys_clockBCD_g),LITTLE_ENDIAN);
+ limit_trigger_record_para_g.trigger_times ++;
+ limit_trigger_record_para_g.RS485_running_flag = sys_fun_run_ctrl_g.rs485_ctrl_flag.running_flag;
+ limit_trigger_record_para_g.valve_running_flag = sys_fun_run_ctrl_g.valve_ctrl_flag.running_flag;
+ limit_trigger_record_para_g.wrc_running_flag = sys_fun_run_ctrl_g.wrc_ctrl_flag.running_flag;
+ limit_trigger_record_para_g.EXPWR_check_status = HWIDO_EX_PWR_IO_READ;
+ limit_trigger_record_para_g.EXPWR_ctrl_status = __SYS_STATUS_BYTES_GET(power_state);
+ }
+
+
// if(GPIO_EXTI_EXTIISR_ChkEx(VALVE_FORCED_OPEN_PORT, VALVE_FORCED_OPEN_PIN) == SET)
// {
// GPIO_EXTI_EXTIISR_ClrEx(VALVE_FORCED_OPEN_PORT, VALVE_FORCED_OPEN_PIN);
@@ -61,27 +259,7 @@
////#endif
//// }
//// }
-// if(GPIO_EXTI_EXTIISR_ChkEx(LITHIUM_PWR_DOWN_PORT, LITHIUM_PWR_DOWN_PIN) == SET)
-// {
-// GPIO_EXTI_EXTIISR_ClrEx(LITHIUM_PWR_DOWN_PORT, LITHIUM_PWR_DOWN_PIN);
-//#ifdef RS232_PRINTF
-// printf("﮵����\r\n");
-//#endif
-// __SYS_STATUS_ALARM_BYTES_SET(lith_remove);
-// pwr_vol_g.lith_vcc_per = 0;
-// SLAVE_PWR_OFF; //�����С���ѹ���ȣ�������������ݻ��ң��Ӷ����¸��ַ�����������������Ҫ�رյ�Դ���ָ����ٿ�����
-//// pwr_vol_g.lith_flag = LMS_PERIOD; // ���������ɼ�һ�ε���
-// }
-// if(GPIO_EXTI_EXTIISR_ChkEx(ALKALI_PWR_DOWN_PORT, ALKALI_PWR_DOWN_PIN) == SET)
-// {
-// GPIO_EXTI_EXTIISR_ClrEx(ALKALI_PWR_DOWN_PORT, ALKALI_PWR_DOWN_PIN);
-//#ifdef RS232_PRINTF
-// printf("������\r\n");
-//#endif
-// __SYS_STATUS_ALARM_BYTES_SET(alka_remove);
-//
-//// pwr_vol_g.alka_flag = AMS_PERIOD; // ���������ɼ�һ�ε���
-// }
+
}
void All_Exti_Init(void)
@@ -91,9 +269,9 @@
//
// GPIO_EXTI_Init( KEYA_S1_PORT, KEYA_S1_PIN, EXTI_FALLING, ENABLE); //�����жϴ��½��ش��������������˲� //PD6
// GPIO_EXTI_Init( VALVE_FORCED_OPEN_PORT, VALVE_FORCED_OPEN_PIN, EXTI_RISING, ENABLE); //PA1
-// GPIO_EXTI_Init( LITHIUM_PWR_DOWN_PORT, LITHIUM_PWR_DOWN_PIN, EXTI_FALLING, ENABLE); //PF11
+// GPIO_EXTI_Init( LITH_PWR_LOSE_PORT, LITH_PWR_LOSE_PIN, EXTI_FALLING, ENABLE); //PF11
//// GPIO_EXTI_Init( LIT_PWR_UNDER_PORT, LIT_PWR_UNDER_PIN, EXTI_FALLING, ENABLE); //PF6
-// GPIO_EXTI_Init( ALKALI_PWR_DOWN_PORT, ALKALI_PWR_DOWN_PIN, EXTI_FALLING, ENABLE); //PA4
+// GPIO_EXTI_Init( ALKA_PWR_LOSE_PORT, ALKA_PWR_LOSE_PIN, EXTI_FALLING, ENABLE); //PA4
//// GPIO_EXTI_Init( UNCAP_DETECTION_PORT, UNCAP_DETECTION_PIN, EXTI_RISING, ENABLE); //PF5
//// GPIO_PINWKSEL_SetEx(PINWKEN_PF5,GPIO_PINWKEN_PINWKSEL_RISING);
--
Gitblit v1.9.3