瀏覽代碼

新增重庆地铁第二批次(继电器反向).

liyi 1 年之前
父節點
當前提交
6ba302108a

+ 113 - 2
truing_control/PDU-AC_ADA_OLD8/hardware/relay/relay.c

@@ -14,6 +14,72 @@
 #include "common.h"
 
 
+#ifdef SUPPORT_CHONGQING
+
+#define RELAY_2_8_RCU GPIOB
+		
+#define RELAY_1_RCU GPIOA
+
+
+	#if (RelaySlaveChaNum >= 1)
+		#define RELAY_1              GPIO_PIN_15
+	#endif
+	#if (RelaySlaveChaNum >= 2)
+		#define RELAY_2              GPIO_PIN_3
+	#endif
+	#if (RelaySlaveChaNum >= 3)
+		#define RELAY_3              GPIO_PIN_4
+	#endif
+	
+	#if (RelaySlaveChaNum >= 4)
+		#define RELAY_4              GPIO_PIN_5
+	#endif
+	#if (RelaySlaveChaNum >= 5)
+		#define RELAY_5              GPIO_PIN_6
+	#endif
+	#if (RelaySlaveChaNum >= 6)
+		#define RELAY_6              GPIO_PIN_7
+	#endif
+	#if (RelaySlaveChaNum >= 7)
+		#define RELAY_7              GPIO_PIN_8
+	#endif
+	#if (RelaySlaveChaNum >= 8)
+		#define RELAY_8              GPIO_PIN_9
+	#endif
+
+#define RELAY_1_ON         gpio_bit_set(RELAY_1_RCU,RELAY_1);
+#define RELAY_1_OFF        gpio_bit_reset(RELAY_1_RCU,RELAY_1);
+
+#define RELAY_2_ON         gpio_bit_set(RELAY_2_8_RCU,RELAY_2);
+#define RELAY_2_OFF        gpio_bit_reset(RELAY_2_8_RCU,RELAY_2);
+
+
+#define RELAY_3_ON         gpio_bit_set(RELAY_2_8_RCU,RELAY_3);
+#define RELAY_3_OFF        gpio_bit_reset(RELAY_2_8_RCU,RELAY_3);
+
+
+
+#define RELAY_4_ON         gpio_bit_set(RELAY_2_8_RCU,RELAY_4);
+#define RELAY_4_OFF        gpio_bit_reset(RELAY_2_8_RCU,RELAY_4);
+
+
+#define RELAY_5_ON         gpio_bit_set(RELAY_2_8_RCU,RELAY_5);
+#define RELAY_5_OFF        gpio_bit_reset(RELAY_2_8_RCU,RELAY_5);
+
+#define RELAY_6_ON         gpio_bit_set(RELAY_2_8_RCU,RELAY_6);
+#define RELAY_6_OFF        gpio_bit_reset(RELAY_2_8_RCU,RELAY_6);
+
+#define RELAY_7_ON         gpio_bit_set(RELAY_2_8_RCU,RELAY_7);
+#define RELAY_7_OFF        gpio_bit_reset(RELAY_2_8_RCU,RELAY_7);
+
+#define RELAY_8_ON         gpio_bit_set(RELAY_2_8_RCU,RELAY_8);
+#define RELAY_8_OFF        gpio_bit_reset(RELAY_2_8_RCU,RELAY_8);
+
+#else
+
+
+
+
 #define RELAY_8_RCU GPIOA
 		
 #define RELAY_1_7_RCU GPIOB
@@ -78,7 +144,7 @@
 #define RELAY_8_OFF        gpio_bit_reset(RELAY_8_RCU,RELAY_8);
 
 
-
+#endif
 
 static void relay_open(uint8_t channel);
 static void relay_close(uint8_t channel);
@@ -92,6 +158,51 @@ void relay_init(void)
 	board_t * board = get_board();
 	rcu_periph_clock_enable(RCU_GPIOB);
 	rcu_periph_clock_enable(RCU_GPIOA);
+	
+#if SUPPORT_CHONGQING
+	#if (RelaySlaveChaNum >=1)
+		gpio_mode_set(RELAY_1_RCU,GPIO_MODE_OUTPUT,GPIO_PUPD_NONE,RELAY_1);
+		gpio_output_options_set(RELAY_1_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_1);
+		gpio_bit_reset(RELAY_1_RCU, RELAY_1);
+	#endif
+	#if (RelaySlaveChaNum >=2)
+		gpio_mode_set(RELAY_2_8_RCU,GPIO_MODE_OUTPUT,GPIO_PUPD_NONE,RELAY_2);
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_2);
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_2);
+	#endif
+	#if (RelaySlaveChaNum >=3)
+		gpio_mode_set(RELAY_2_8_RCU,GPIO_MODE_OUTPUT,GPIO_PUPD_NONE,RELAY_3);
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_3);
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_3);
+	#endif
+	#if (RelaySlaveChaNum >=4)
+		gpio_mode_set(RELAY_2_8_RCU,GPIO_MODE_OUTPUT,GPIO_PUPD_NONE,RELAY_4);
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_4);
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_4);
+	#endif
+	
+	#if (RelaySlaveChaNum >=5)
+		gpio_mode_set(RELAY_2_8_RCU,GPIO_MODE_OUTPUT,GPIO_PUPD_PULLDOWN,RELAY_5);
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_5);
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_5);
+	#endif
+	#if (RelaySlaveChaNum >=6)
+		gpio_mode_set(RELAY_2_8_RCU,GPIO_MODE_OUTPUT,GPIO_PUPD_PULLDOWN,RELAY_6);
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_6);
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_6);
+	#endif
+	#if (RelaySlaveChaNum >=7)
+		gpio_mode_set(RELAY_2_8_RCU,GPIO_MODE_OUTPUT,GPIO_PUPD_PULLDOWN,RELAY_7);
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_7);
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_7);
+	#endif
+	#if (RelaySlaveChaNum >=8)
+		gpio_mode_set(RELAY_2_8_RCU,GPIO_MODE_OUTPUT,GPIO_PUPD_PULLDOWN,RELAY_8);
+		gpio_output_options_set(RELAY_2_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_8);
+		gpio_bit_reset(RELAY_2_8_RCU, RELAY_8);
+	#endif		
+
+#else	
 	#if (RelaySlaveChaNum >=1)
 		gpio_mode_set(RELAY_1_7_RCU,GPIO_MODE_OUTPUT,GPIO_PUPD_NONE,RELAY_1);
 		gpio_output_options_set(RELAY_1_7_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_1);
@@ -133,7 +244,7 @@ void relay_init(void)
 		gpio_output_options_set(RELAY_8_RCU, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, RELAY_8);
 		gpio_bit_reset(RELAY_8_RCU, RELAY_8);
 	#endif	
-
+#endif
 		board->unlock();
 		board->lock();
 

+ 63 - 0
truing_control/PDU-AC_ADA_OLD8/hardware/uart/uart.c

@@ -127,8 +127,68 @@ void ch448f_config(void)
 
 void select_channel(uint8_t chx)
 {
+
+	
 	switch(chx)
 	{
+#if SUPPORT_CHONGQING
+		case 7:
+		{
+			SEL_0_H;
+			SEL_1_H;
+			SEL_2_L;
+		}
+			break;
+		case 6:
+		{
+			SEL_0_L;
+			SEL_1_H;
+			SEL_2_L;	
+		}
+			break;
+		case 5:
+		{
+			SEL_0_H;
+			SEL_1_L;
+			SEL_2_L;	
+		}
+			break;
+		case 4:
+		{
+			SEL_0_L;
+			SEL_1_L;
+			SEL_2_L;	
+		}
+			break;
+		case 3:
+		{
+			SEL_0_H;
+			SEL_1_H;
+			SEL_2_H;	
+		}
+			break;
+		case 2:
+		{
+			SEL_0_L;
+			SEL_1_H;
+			SEL_2_H;	
+		}
+			break;
+		case 1:
+		{
+			SEL_0_H;
+			SEL_1_L;
+			SEL_2_H;	
+		}
+			break;
+		case 0:
+		{
+			SEL_0_L;
+			SEL_1_L;
+			SEL_2_H;	
+		}
+			break;	
+#else
 		case 0:
 		{
 			SEL_0_H;
@@ -185,7 +245,10 @@ void select_channel(uint8_t chx)
 			SEL_2_H;	
 		}
 			break;
+#endif
 		default:
 			break;
+
 	}
+
 }

+ 16 - 0
truing_control/PDU-AC_ADA_OLD8/user/board_cfg.h

@@ -56,6 +56,8 @@
 #define   PRJ_3_2                   0
 #define 	PRJ_DC_8									0
 
+#define 	PRJ_8_CHONGQING             0
+
 
 
 #if PRJ_8_NEW					
@@ -71,6 +73,20 @@
 	#define 	SUPPORT_ALL_ON_OFF        0
 	#define   PT_SUB_COUNT              (PT_SUB_COUNT_4)
 	#define 	ACSingCurrid 							1 
+#elif PRJ_8_CHONGQING
+	#define   POWER_TYPE                (POWER_AC)
+	#define   INPUT_PT_NUM              (INPUT_PT_2)
+	#define   ZERO_CONTRL               (ZERO_LINE_CTRL_NO)
+	#define   ZERO_CTRL_NUM             (ZERO_LINE_NONE)
+	#define   OUTPUT_CONTRL             (OUTPUT_CTRL_YES)
+	#define   SUPPORT_SELF_LOCK         0
+	#define 	RelaySlaveChaNum 					8
+	#define 	RELAY_REMENBER						1
+	#define   SURPPORT_2_PT             0
+	#define 	SUPPORT_ALL_ON_OFF        0
+	#define   PT_SUB_COUNT              (PT_SUB_COUNT_4)
+	#define 	ACSingCurrid 							1 
+	#define   SUPPORT_CHONGQING         1
 #endif