Bläddra i källkod

3路总开总关

liyi 1 år sedan
förälder
incheckning
3be36a7138

+ 54 - 13
truing_control/PDU-AC_ADA_NEW_6/hardware/detection/detection.c

@@ -131,9 +131,21 @@ void EXTI4_15_IRQHandler(void){
 		if(board)
 		{
 			if(gpio_input_bit_get(KEY_TEST_IO,KEY_TEST) != 0)
-			{	
+			{
+					async_data da = {0};
+					da.fire_or_zero = _FIRE;
+					da.w_eep_flag = FLAG_W_EEP;
+					for(uint8_t j = 0; j < PT_SUB_COUNT;j++)
+					{
+//						if(board->md_data.r_data.state.state[j].state == RELAY_CLOSE)
+//							continue;
+						da.channel = 	j;
+						da.method = DELAY_CTRL;
+						da.reg = &board->relay_staging_staus[j];
+						da.status = RELAY_CLOSE;
+						set_relay_sta_async(&da);									
+					}						
 			}
-			
 		}
 	}
 #endif
@@ -161,18 +173,47 @@ void EXTI2_3_IRQHandler(void)
 		{
 			if(gpio_input_bit_get(KEY_RST_IO,KEY_RST) != 0)
 			{
-//					for(uint8_t k = 0; k < RelaySlaveChaNum;k++)
-//					{
-//						async_data da = {0};
-//						da.channel =k;
-//						da.fire_or_zero = _FIRE;
-//						da.method = DELAY_CTRL;
-//						da.reg = &board->relay_staging_staus[k];
-//						da.status = RELAY_OPEN;
-//						da.w_eep_flag = FLAG_W_EEP;
-//						set_relay_sta_async(&da);
-//					}						
+#if SUPPORT_DETECTION
+				if(board->md_data.r_data.detection & 0x1)	
+#endif
+				{		
+					async_data da = {0};
+					da.fire_or_zero = _FIRE;
+					da.method = DELAY_CTRL;
+					da.w_eep_flag = FLAG_W_EEP;
+					for(uint8_t k = 0; k < PT_SUB_COUNT;k++)
+					{
+//						if(board->md_data.r_data.state.state[k].state ==RELAY_OPEN)
+//							continue;
+						da.channel =k;
+						da.reg = &board->relay_staging_staus[k];
+						da.status = RELAY_OPEN;
+						set_relay_sta_async(&da);
+					}		
+				}
 			}
+#if  SURPPORT_2_PT
+			
+	#if SUPPORT_DETECTION
+				if(board->md_data.r_data.detection & 0x2)	
+	#endif
+				{		
+					async_data da = {0};
+					da.fire_or_zero = _FIRE;
+					da.method = DELAY_CTRL;
+					da.w_eep_flag = FLAG_W_EEP;
+					for(uint8_t k = PT_SUB_COUNT; k < RelaySlaveChaNum;k++)
+					{
+						if(board->md_data.r_data.state.state[k].state ==RELAY_OPEN)
+							continue;
+						da.channel =k;
+						da.reg = &board->relay_staging_staus[k];
+						da.status = RELAY_OPEN;
+						set_relay_sta_async(&da);
+					}		
+				}
+#endif			
+			
 		}
 	}
 #endif	

+ 4 - 2
truing_control/PDU-AC_ADA_NEW_6/user/board_cfg.h

@@ -56,8 +56,8 @@
 #define   PRJ_3_2                   0
 #define 	PRJ_DC_8									0
 #define   PRJ_6_NEW                 0
-#define   PRJ_3_NEW                 0
-#define 	PRJ_5_NEW									1
+#define   PRJ_3_NEW                 1
+#define 	PRJ_5_NEW									0
 #define 	PRJ_4_SELF_LOCK       	  0
 #define   PRJ_4_BASE                0
 #define   PRJ_1_BASE                0
@@ -97,6 +97,7 @@
 	#define   SUPPORT_DETECTION         1
 	#define   SUPPORT_RELAY_REMENBER		1
 	#define   SUPPORT_4_ON_FLASH        1
+	#define   SUPPORT_ALL_ON_OFF    		1
 #elif PRJ_5_NEW
 	#define 	RelaySlaveChaNum 					5
 	#define 	ACSingCurrid 							1 
@@ -119,6 +120,7 @@
 	#define   PT_SUB_COUNT              (RelaySlaveChaNum)
 	#define   SUPPORT_DETECTION         1
 	#define   SUPPORT_RELAY_REMENBER		1
+	#define   SUPPORT_ALL_ON_OFF    		1
 #elif PRJ_1_BASE              
 	#define 	RelaySlaveChaNum 					1
 	#define 	ACSingCurrid 							2 

+ 9 - 6
truing_control/PDU-AC_ADA_NEW_6/user/main.c

@@ -45,25 +45,28 @@ static void app_init(META_DATA_S *meta);
 int main(){
 	
 	InitSysTick();
+
 	led_init();
 	lock_init();
 	detection_init();
+	key_init();
 	relay_init();
 	haddr_init();
 	eeprom_init();
-	time_init();
 	electricity_init();
+	time_init();
 	query_init();
-	eMBInit(MB_RTU, ac_board.haddr, 0, 115200, MB_PAR_NONE);
-	eMBEnable();
 
 	//device
-	ac_board.md_data.r_data.dev_chn =   ACSingCurrid << 8 | RelaySlaveChaNum;   // DEIVECE(POWER_TYPE,INPUT_PT_NUM,ZERO_CONTRL,ZERO_CTRL_NUM,OUTPUT_CONTRL,RelaySlaveChaNum);
-	//
-	ac_board.md_data.r_data.info.channels = RelaySlaveChaNum;
 	read_config_from_eeprom();
+	
 	fwdgt_Init();
+	eMBInit(MB_RTU, ac_board.haddr, 0, 115200, MB_PAR_NONE);
+	eMBEnable();
 	
+	
+	ac_board.md_data.r_data.dev_chn =   ACSingCurrid << 8 | RelaySlaveChaNum;
+	ac_board.md_data.r_data.info.channels = RelaySlaveChaNum;
 	strcpy((char*)&(ac_board.md_data.r_data.info.date),__DATE__);
 	strcat((char*)&(ac_board.md_data.r_data.info.date)," ");
 	strcat((char*)&(ac_board.md_data.r_data.info.date),__TIME__);