소스 검색

PE43711 제어 하도록 변경 / Data status Get 할 수 있도록 변경 /RFU TEMP 추가

PYJ 5 년 전
부모
커밋
008e8c381b
9개의 변경된 파일860개의 추가작업 그리고 539개의 파일을 삭제
  1. 199 199
      .cproject
  2. 71 39
      Bluecell_Inc/Bluecell_operate.h
  3. 1 1
      Bluecell_Inc/uart.h
  4. 487 236
      Bluecell_Src/Bluecell_operate.c
  5. 1 1
      Bluecell_Src/uart.c
  6. 6 3
      Inc/main.h
  7. 66 56
      STM32F103ZET_JDASMBIC.ioc
  8. 20 4
      Src/main.c
  9. 9 0
      Src/stm32f1xx_hal_msp.c

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 199 - 199
.cproject


+ 71 - 39
Bluecell_Inc/Bluecell_operate.h

@@ -309,38 +309,27 @@ struct Alarm_UL {
309 309
 };
310 310
 enum DATATYPE
311 311
 {
312
-	ATTDL1  = 0x11,
313
-	ATT_DL1_PATH_OFF = 0x12,
314
-	ATT_DL1_PATH_ON = 0x13,
315
-	ATTUL1  = 0x15,
316
-	ATT_UL1_PATH_OFF = 0x16,
317
-	ATT_UL1_PATH_ON = 0x17,
318
-	ATT_SelfTest1_OFF = 0x18,
319
-	ATT_SelfTest1_ON = 0x19,
320
-	ATTDL2  = 0x21,
321
-	ATT_DL2_PATH_OFF = 0x22,
322
-	ATT_DL2_PATH_ON = 0x23,
323
-	ATTUL2  = 0x25,
324
-	ATT_UL2_PATH_OFF = 0x26,
325
-	ATT_UL2_PATH_ON = 0x27,
326
-	ATT_SelfTest2_OFF = 0x28,
327
-	ATT_SelfTest2_ON = 0x29,
328
-	ATTDL3  = 0x31,
329
-	ATT_DL3_PATH_OFF = 0x32,
330
-	ATT_DL3_PATH_ON = 0x33,
331
-	ATTUL3  = 0x35,
332
-	ATT_UL3_PATH_OFF = 0x36,
333
-	ATT_UL3_PATH_ON = 0x37,
334
-	ATT_SelfTest3_OFF = 0x38,
335
-	ATT_SelfTest3_ON = 0x39,
336
-	ATTDL4  = 0x41,
337
-	ATT_DL4_PATH_OFF = 0x42,
338
-	ATT_DL4_PATH_ON = 0x43,
339
-	ATTUL4  = 0x45,
340
-	ATT_UL4_PATH_OFF = 0x46,
341
-	ATT_UL4_PATH_ON = 0x47,
342
-	ATT_SelfTest4_OFF = 0x48,
343
-	ATT_SelfTest4_ON = 0x49,
312
+	ATTSET  = 0x11,
313
+	ATT_DL1_PATH = 0x12,
314
+	ATT_UL1_PATH = 0x16,
315
+	ATT_SelfTest1 = 0x18,
316
+	ATT_DL2_PATH = 0x22,
317
+	ATT_UL2_PATH = 0x26,
318
+	ATT_SelfTest2 = 0x28,
319
+	ATT_DL3_PATH = 0x32,
320
+	ATT_UL3_PATH = 0x36,
321
+	ATT_SelfTest3 = 0x38,
322
+	ATT_DL4_PATH = 0x42,
323
+	ATT_UL4_PATH = 0x46,
324
+	ATT_SelfTest4 = 0x48,
325
+	ALC1_EN = 0x51,
326
+	ALC2_EN = 0x52,
327
+	ALC3_EN = 0x53,
328
+	ALC4_EN = 0x54,
329
+    AGC1_EN = 0x61,
330
+    AGC2_EN = 0x62,
331
+    AGC3_EN = 0x63,
332
+    AGC4_EN = 0x64,
344 333
 	Bluecell_StatusReq = 0x77,
345 334
 };
346 335
 
@@ -494,13 +483,56 @@ typedef struct{
494 483
     uint8_t DET_UL4_IN_L;        
495 484
     uint8_t DET_TEMP_H;            
496 485
     uint8_t DET_TEMP_L;                
497
-    uint8_t ATT_AGC_ONOFF;
498
-    uint8_t ATT_ALC_ONOFF;
499
-    uint8_t ATT_AGC_H;
500
-    uint8_t ATT_AGC_L;    
501
-    uint8_t ATT_ALC_H;
502
-    uint8_t ATT_ALC_L;    
486
+    uint8_t ATT_AGC1_ONOFF;
487
+    uint8_t ATT_ALC1_ONOFF;
488
+    uint8_t ATT_AGC2_ONOFF;
489
+    uint8_t ATT_ALC2_ONOFF;
490
+    uint8_t ATT_AGC3_ONOFF;
491
+    uint8_t ATT_ALC3_ONOFF;
492
+    uint8_t ATT_AGC4_ONOFF;
493
+    uint8_t ATT_ALC4_ONOFF;
494
+    uint8_t ATT_AGC1_H;
495
+    uint8_t ATT_AGC1_L;    
496
+    uint8_t ATT_ALC1_H;
497
+    uint8_t ATT_ALC1_L;    
498
+    uint8_t ATT_AGC2_H;
499
+    uint8_t ATT_AGC2_L;    
500
+    uint8_t ATT_ALC2_H;
501
+    uint8_t ATT_ALC2_L;    
502
+    uint8_t ATT_AGC3_H;
503
+    uint8_t ATT_AGC3_L;    
504
+    uint8_t ATT_ALC3_H;
505
+    uint8_t ATT_ALC3_L;    
506
+    uint8_t ATT_AGC4_H;
507
+    uint8_t ATT_AGC4_L;    
508
+    uint8_t ATT_ALC4_H;
509
+    uint8_t ATT_ALC4_L;    
503 510
     uint8_t bluecell_crc;        
504 511
 }BLUESTATUS_st;
505
-
512
+typedef enum{
513
+  Bluecell_DET_UL1_ADC_INDEX_H = 0,
514
+  Bluecell_DET_UL1_ADC_INDEX_L,
515
+  Bluecell_DET_UL2_ADC_INDEX_H,
516
+  Bluecell_DET_UL2_ADC_INDEX_L,
517
+  Bluecell_DET_UL3_ADC_INDEX_H,
518
+  Bluecell_DET_UL3_ADC_INDEX_L,
519
+  Bluecell_RFU_TEMP_ADC_INDEX_H,
520
+  Bluecell_RFU_TEMP_ADC_INDEX_L,
521
+  Bluecell_ADC1_MaxLength,
522
+}Bluecell_ADC1_Index;
523
+typedef enum{
524
+  Bluecell_DET_UL4_ADC_INDEX_H = Bluecell_ADC1_MaxLength,
525
+  Bluecell_DET_UL4_ADC_INDEX_L,
526
+  Bluecell_DET_DL1_ADC_INDEX_H,
527
+  Bluecell_DET_DL1_ADC_INDEX_L,
528
+  Bluecell_DET_DL2_ADC_INDEX_H,
529
+  Bluecell_DET_DL2_ADC_INDEX_L,
530
+  Bluecell_DET_DL3_ADC_INDEX_H,
531
+  Bluecell_DET_DL3_ADC_INDEX_L,
532
+  Bluecell_DET_DL4_ADC_INDEX_H,
533
+  Bluecell_DET_DL4_ADC_INDEX_L,
534
+  Bluecell_ADC3_MaxLength,
535
+}Bluecell_ADC3_Index;
536
+#define ADC1_EA Bluecell_ADC1_MaxLength /2
537
+#define ADC3_EA Bluecell_ADC3_MaxLength /2
506 538
 #endif /* BLUECELL_OPERATE_H_ */

+ 1 - 1
Bluecell_Inc/uart.h

@@ -12,7 +12,7 @@
12 12
 #include "main.h"
13 13
 #define hTerminal    huart1
14 14
 
15
-#define QUEUE_BUFFER_LENGTH 10240
15
+#define QUEUE_BUFFER_LENGTH 1024
16 16
 
17 17
 typedef struct
18 18
 {

+ 487 - 236
Bluecell_Src/Bluecell_operate.c

@@ -3,6 +3,7 @@
3 3
 #include "Bluecell_operate.h"
4 4
 #include "PE43711.h"
5 5
 extern volatile uint32_t LedTimerCnt;
6
+extern volatile uint32_t AdcTimerCnt;
6 7
 extern void PE43711_atten_ctrl(PE43711_st ATT ,uint8_t data);
7 8
 extern void Uart1_Data_Send(uint8_t* data,uint8_t size);
8 9
 uint8_t Alarm_Status[MAX_ALARM_Len] = {0,};
@@ -16,6 +17,14 @@ DET_DL DET_DL2;
16 17
 DET_DL DET_DL3;
17 18
 DET_DL DET_DL4;
18 19
 uint8_t ResultData[1024] = {0,};
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
19 28
 void Boot_LED_Toggle(void){
20 29
   if(LedTimerCnt > 500){
21 30
     HAL_GPIO_TogglePin(GPIOG,GPIO_PIN_14);
@@ -59,290 +68,482 @@ BLUECELL_LENGTH,
59 68
 BLUECELL_CRCINDEX,
60 69
 BLUECELL_DATA,
61 70
 }BLUECELLProt_st;
71
+typedef struct{
72
+    bool AGC1_En;
73
+    bool AGC2_En;
74
+    bool AGC3_En;
75
+    bool AGC4_En;
76
+    bool ALC1_En;
77
+    bool ALC2_En;
78
+    bool ALC3_En;
79
+    bool ALC4_En;
80
+}AutoCtrl_st;
62 81
 
63 82
 extern ALL_PE43711_st ALL_ATT;
64
-BLUESTATUS_st bluecell_datastatus;
83
+BLUESTATUS_st bluecell_Currdatastatus;
84
+BLUESTATUS_st bluecell_Prevdatastatus;
85
+
86
+uint8_t PE43711_Calc(uint8_t high_bit,uint8_t low_bit){
87
+    uint16_t tmp_h = 0,tmp_l = 0;
88
+    double ret = 0;
89
+    uint8_t val = 0;
90
+    tmp_h = high_bit;
91
+    tmp_l = low_bit;
92
+    ret += ((tmp_h << 8) & 0xFF00);
93
+    ret += (tmp_l & 0x00FF);
94
+    ret /= 100;
95
+    val = PE43711_DataToHexConvert(ret);
65 96
 
97
+}
66 98
 
67
-bool Bluecell_Operate(uint8_t* data){
68
-  uint8_t datatype = data[BLUECELL_TYPE];
69
-  uint16_t tmp_h = 0,tmp_l = 0;
70
-  double ret = 0 ,tmp = 0.1;
71
-  uint8_t val = 0;
72
-  switch(datatype){
73
-	case ATTDL1 				 :
74
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
75
-		tmp_h = data[BLUECELL_DATA];
76
-		tmp_l = data[BLUECELL_DATA + 1];
77
-		ret += ((tmp_h << 8) & 0xFF00);
99
+void CompareAttenData(BLUESTATUS_st Curr,BLUESTATUS_st Prev){
100
+     uint8_t val = 0;
101
+    if(Curr.ATT_DL1_H != Prev.ATT_DL1_H
102
+     ||Curr.ATT_DL1_L != Prev.ATT_DL1_L){
103
+        bluecell_Prevdatastatus.ATT_DL1_H = bluecell_Currdatastatus.ATT_DL1_H;
104
+        bluecell_Prevdatastatus.ATT_DL1_L = bluecell_Currdatastatus.ATT_DL1_L;
105
+        val = PE43711_Calc(Curr.ATT_DL1_H,Curr.ATT_DL1_L);
106
+        printf("%d val = %x \r\n",__LINE__,val);
107
+        PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val);
108
+    }
109
+    printf("\r\nCurr.ATT_DL2_H : %x \r\nPrev.ATT_DL2_H : %x \r\n",Curr.ATT_DL2_H,Prev.ATT_DL2_H);
110
+     printf("\r\nCurr.ATT_DL2_L : %x \r\nPrev.ATT_DL2_L : %x \r\n",Curr.ATT_DL2_L,Prev.ATT_DL2_L);
111
+
112
+    if((Curr.ATT_DL2_H != Prev.ATT_DL2_H)
113
+     ||(Curr.ATT_DL2_L != Prev.ATT_DL2_L)){
114
+        bluecell_Prevdatastatus.ATT_DL2_H = bluecell_Currdatastatus.ATT_DL2_H;
115
+        bluecell_Prevdatastatus.ATT_DL2_L = bluecell_Currdatastatus.ATT_DL2_L;
116
+        val = PE43711_Calc(Curr.ATT_DL2_H,Curr.ATT_DL2_L);
117
+        printf("%d val = %x \r\n",__LINE__,val);
118
+        PE43711_atten_ctrl(ALL_ATT.ATT_DL2,val);
119
+    }
120
+
121
+    if(Curr.ATT_DL3_H != Prev.ATT_DL3_H
122
+     ||Curr.ATT_DL3_L != Prev.ATT_DL3_L){
123
+        bluecell_Prevdatastatus.ATT_DL3_H = bluecell_Currdatastatus.ATT_DL3_H;
124
+        bluecell_Prevdatastatus.ATT_DL3_L = bluecell_Currdatastatus.ATT_DL3_L;
125
+        val = PE43711_Calc(Curr.ATT_DL3_H,Curr.ATT_DL3_L);
126
+        printf("%d val = %x \r\n",__LINE__,val);
127
+        PE43711_atten_ctrl(ALL_ATT.ATT_DL3,val);
128
+    }
129
+     
130
+    if(Curr.ATT_DL4_H != Prev.ATT_DL4_H
131
+     ||Curr.ATT_DL4_L != Prev.ATT_DL4_L){
132
+        bluecell_Prevdatastatus.ATT_DL4_H = bluecell_Currdatastatus.ATT_DL4_H;
133
+        bluecell_Prevdatastatus.ATT_DL4_L = bluecell_Currdatastatus.ATT_DL4_L;
134
+        val = PE43711_Calc(Curr.ATT_DL4_H,Curr.ATT_DL4_L);
135
+        printf("%d val = %x \r\n",__LINE__,val);
136
+        PE43711_atten_ctrl(ALL_ATT.ATT_DL4,val);
137
+    }
138
+
139
+    
140
+    if(Curr.ATT_UL1_H != Prev.ATT_UL1_H
141
+     ||Curr.ATT_UL1_L != Prev.ATT_UL1_L){
142
+        bluecell_Prevdatastatus.ATT_UL1_H = bluecell_Currdatastatus.ATT_UL1_H;
143
+        bluecell_Prevdatastatus.ATT_UL1_L = bluecell_Currdatastatus.ATT_UL1_L;
144
+        val = PE43711_Calc(Curr.ATT_UL1_H,Curr.ATT_UL1_L);
145
+        printf("%d val = %x \r\n",__LINE__,val);
146
+        PE43711_atten_ctrl(ALL_ATT.ATT_UL1,val);
147
+    }
148
+    if(Curr.ATT_UL2_H != Prev.ATT_UL2_H
149
+     ||Curr.ATT_UL2_L != Prev.ATT_UL2_L){
150
+        bluecell_Prevdatastatus.ATT_UL2_H = bluecell_Currdatastatus.ATT_UL2_H;
151
+        bluecell_Prevdatastatus.ATT_UL2_L = bluecell_Currdatastatus.ATT_UL2_L;
152
+        val = PE43711_Calc(Curr.ATT_UL2_H,Curr.ATT_UL2_L);
153
+        printf("%d val = %x \r\n",__LINE__,val);
154
+        PE43711_atten_ctrl(ALL_ATT.ATT_UL2,val);
155
+    }
156
+     
157
+    if(Curr.ATT_UL3_H != Prev.ATT_UL3_H
158
+     ||Curr.ATT_UL3_L != Prev.ATT_UL3_L){
159
+        bluecell_Prevdatastatus.ATT_UL3_H = bluecell_Currdatastatus.ATT_UL3_H;
160
+        bluecell_Prevdatastatus.ATT_UL3_L = bluecell_Currdatastatus.ATT_UL3_L;
161
+        
162
+        val = PE43711_Calc(Curr.ATT_UL3_H,Curr.ATT_UL3_L);
163
+        printf("%d val = %x \r\n",__LINE__,val);
164
+        PE43711_atten_ctrl(ALL_ATT.ATT_UL3,val);
165
+    }
166
+    if(Curr.ATT_UL4_H != Prev.ATT_UL4_H
167
+     ||Curr.ATT_UL4_L != Prev.ATT_UL4_L){
168
+        bluecell_Prevdatastatus.ATT_UL4_H = bluecell_Currdatastatus.ATT_UL4_H;
169
+        bluecell_Prevdatastatus.ATT_UL4_L = bluecell_Currdatastatus.ATT_UL4_L;
170
+        
171
+        val = PE43711_Calc(Curr.ATT_UL4_H,Curr.ATT_UL4_L);
172
+        printf("%d val = %x \r\n",__LINE__,val);
173
+        PE43711_atten_ctrl(ALL_ATT.ATT_UL4,val);
174
+    }
175
+//    memcpy(&bluecell_Prevdatastatus.ATT_DL1_H,&bluecell_Currdatastatus.ATT_DL1_H,32);
176
+#if 0 // PYJ.2020.04.21_BEGIN -- 
177
+    
178
+    if(Curr.ATT_ALC1_H != Prev.ATT_ALC1_H
179
+     ||Curr.ATT_ALC1_L != Prev.ATT_ALC1_L){
180
+        tmp_h = Curr.ATT_ALC1_H;
181
+        tmp_l = Curr.ATT_ALC1_L;
182
+        ret += ((tmp_h << 8) & 0xFF00);
78 183
 		ret += (tmp_l & 0x00FF);
79 184
 		ret /= 100;
80 185
         val = PE43711_DataToHexConvert(ret);
81
-        PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val);
82
-		printf("ret : %f ,tmp %f \r\n",ret,tmp );
83
-		break;
84
-	case ATT_DL1_PATH_OFF 		 :
85
-        HAL_GPIO_WritePin(PATH_EN_DL1_GPIO_Port,PATH_EN_DL1_Pin,GPIO_PIN_SET);//CLOCK
86
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
87
-		break;
88
-	case ATT_DL1_PATH_ON 		 :
89
-        HAL_GPIO_WritePin(PATH_EN_DL1_GPIO_Port,PATH_EN_DL1_Pin,GPIO_PIN_RESET);//CLOCK        
90
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
91
-		break;
92
-	case ATTUL1  				 :
93
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
94
-		tmp_h = data[BLUECELL_DATA];
95
-		tmp_l = data[BLUECELL_DATA + 1];
96
-		ret += ((tmp_h << 8) & 0xFF00);
186
+//        PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val);
187
+
188
+    }
189
+    if(Curr.ATT_ALC2_H != Prev.ATT_ALC2_H
190
+     ||Curr.ATT_ALC2_L != Prev.ATT_ALC2_L){
191
+        tmp_h = Curr.ATT_ALC2_H;
192
+        tmp_l = Curr.ATT_ALC2_L;
193
+        ret += ((tmp_h << 8) & 0xFF00);
97 194
 		ret += (tmp_l & 0x00FF);
98 195
 		ret /= 100;
99 196
         val = PE43711_DataToHexConvert(ret);
100
-        PE43711_atten_ctrl(ALL_ATT.ATT_UL1,val);
101
-
102
-		printf("tmp_h : %x tmp_l : %x , ret : %x ,%f ,tmp %f \r\n",tmp_h,tmp_l,ret,tmp );
103
-
104
-		break;
105
-	case ATT_UL1_PATH_OFF        :
106
-        HAL_GPIO_WritePin(PATH_EN_UL1_GPIO_Port,PATH_EN_UL1_Pin,GPIO_PIN_SET);//CLOCK
107
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
108
-		break;
109
-	case ATT_UL1_PATH_ON 		 :
110
-        HAL_GPIO_WritePin(PATH_EN_UL1_GPIO_Port,PATH_EN_UL1_Pin,GPIO_PIN_RESET);//CLOCK
111
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
112
-		break;
113
-	case ATT_SelfTest1_OFF		 :
114
-        HAL_GPIO_WritePin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin,GPIO_PIN_RESET);//CLOCK
115
-        HAL_GPIO_WritePin(PATH_SW1_GPIO_Port,PATH_SW1_Pin,GPIO_PIN_SET);//CLOCK
116
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
117
-		break;
118
-	case ATT_SelfTest1_ON 		 :
119
-        HAL_GPIO_WritePin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin,GPIO_PIN_SET);//CLOCK
120
-        HAL_GPIO_WritePin(PATH_SW1_GPIO_Port,PATH_SW1_Pin,GPIO_PIN_RESET);//CLOCK
121
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
122
-		break;
123
-	case ATTDL2  				 :
124
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
125
-		tmp_h = data[BLUECELL_DATA];
126
-		tmp_l = data[BLUECELL_DATA + 1];
127
-		ret += ((tmp_h << 8) & 0xFF00);
197
+//        PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val);
198
+
199
+    }
200
+    if(Curr.ATT_ALC3_H != Prev.ATT_ALC3_H
201
+     ||Curr.ATT_ALC3_L != Prev.ATT_ALC3_L){
202
+        tmp_h = Curr.ATT_ALC3_H;
203
+        tmp_l = Curr.ATT_ALC3_L;
204
+        ret += ((tmp_h << 8) & 0xFF00);
128 205
 		ret += (tmp_l & 0x00FF);
129 206
 		ret /= 100;
130 207
         val = PE43711_DataToHexConvert(ret);
131
-        PE43711_atten_ctrl(ALL_ATT.ATT_DL2,val);
132
-
133
-		printf("tmp_h : %x tmp_l : %x , ret : %x ,%f ,tmp %f \r\n",tmp_h,tmp_l,ret,tmp );
134
-
135
-		break;
136
-	case ATT_DL2_PATH_OFF		 :
137
-        HAL_GPIO_WritePin(PATH_EN_DL2_GPIO_Port,PATH_EN_DL2_Pin,GPIO_PIN_SET);//CLOCK
138
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
139
-		break;
140
-	case ATT_DL2_PATH_ON		 :
141
-        HAL_GPIO_WritePin(PATH_EN_DL2_GPIO_Port,PATH_EN_DL2_Pin,GPIO_PIN_RESET);//CLOCK
142
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
143
-		break;
144
-	case ATTUL2  				 :
145
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
146
-		tmp_h = data[BLUECELL_DATA];
147
-		tmp_l = data[BLUECELL_DATA + 1];
148
-		ret += ((tmp_h << 8) & 0xFF00);
208
+//        PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val);
209
+
210
+    }
211
+    if(Curr.ATT_ALC4_H != Prev.ATT_ALC4_H
212
+     ||Curr.ATT_ALC4_L != Prev.ATT_ALC4_L){
213
+        tmp_h = Curr.ATT_ALC4_H;
214
+        tmp_l = Curr.ATT_ALC4_L;
215
+        ret += ((tmp_h << 8) & 0xFF00);
149 216
 		ret += (tmp_l & 0x00FF);
150 217
 		ret /= 100;
151 218
         val = PE43711_DataToHexConvert(ret);
152
-        PE43711_atten_ctrl(ALL_ATT.ATT_UL2,val);
219
+//        PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val);
153 220
 
154
-		printf("tmp_h : %x tmp_l : %x , ret : %x ,%f ,tmp %f \r\n",tmp_h,tmp_l,ret,tmp );
221
+    }
155 222
 
156
-		break;
157
-	case ATT_UL2_PATH_OFF 		 :
158
-        HAL_GPIO_WritePin(PATH_EN_UL2_GPIO_Port,PATH_EN_UL2_Pin,GPIO_PIN_SET);//CLOCK
159
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
160
-		break;
161
-	case ATT_UL2_PATH_ON		 :
162
-        HAL_GPIO_WritePin(PATH_EN_UL2_GPIO_Port,PATH_EN_UL2_Pin,GPIO_PIN_RESET);//CLOCK
163
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
164
-		break;
165
-	case ATT_SelfTest2_OFF		 :
166
-        HAL_GPIO_WritePin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin,GPIO_PIN_RESET);//CLOCK
167
-        HAL_GPIO_WritePin(PATH_SW2_GPIO_Port,PATH_SW2_Pin,GPIO_PIN_SET);//CLOCK
168
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
169
-		break;
170
-	case ATT_SelfTest2_ON :
171
-        HAL_GPIO_WritePin(PATH_SW2_GPIO_Port,PATH_SW2_Pin,GPIO_PIN_RESET);//CLOCK
172
-        HAL_GPIO_WritePin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin,GPIO_PIN_SET);//CLOCK
173
-        
174
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
175
-		break;
176
-	case ATTDL3  :
177
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
178
-		tmp_h = data[BLUECELL_DATA];
179
-		tmp_l = data[BLUECELL_DATA + 1];
180
-		ret += ((tmp_h << 8) & 0xFF00);
223
+    
224
+    if(Curr.ATT_AGC1_H != Prev.ATT_AGC1_H
225
+     ||Curr.ATT_AGC1_L != Prev.ATT_AGC1_L){
226
+        tmp_h = Curr.ATT_AGC1_H;
227
+        tmp_l = Curr.ATT_AGC1_L;
228
+        ret += ((tmp_h << 8) & 0xFF00);
181 229
 		ret += (tmp_l & 0x00FF);
182 230
 		ret /= 100;
183 231
         val = PE43711_DataToHexConvert(ret);
184
-        PE43711_atten_ctrl(ALL_ATT.ATT_DL3,val);
185
-
186
-		printf("tmp_h : %x tmp_l : %x , ret : %x ,%f ,tmp %f \r\n",tmp_h,tmp_l,ret,tmp );
187
-
188
-		break;
189
-	case ATT_DL3_PATH_OFF :
190
-        HAL_GPIO_WritePin(PATH_EN_DL3_GPIO_Port,PATH_EN_DL3_Pin,GPIO_PIN_SET);//CLOCK
191
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
192
-		break;
193
-	case ATT_DL3_PATH_ON :
194
-        HAL_GPIO_WritePin(PATH_EN_DL3_GPIO_Port,PATH_EN_DL3_Pin,GPIO_PIN_RESET);//CLOCK
195
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
196
-		break;
197
-	case ATTUL3  :
198
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
199
-		tmp_h = data[BLUECELL_DATA];
200
-		tmp_l = data[BLUECELL_DATA + 1];
201
-		ret += ((tmp_h << 8) & 0xFF00);
232
+//        PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val);
233
+
234
+    }
235
+    if(Curr.ATT_AGC2_H != Prev.ATT_AGC2_H
236
+     ||Curr.ATT_AGC2_L != Prev.ATT_AGC2_L){
237
+        tmp_h = Curr.ATT_AGC2_H;
238
+        tmp_l = Curr.ATT_AGC2_L;
239
+        ret += ((tmp_h << 8) & 0xFF00);
202 240
 		ret += (tmp_l & 0x00FF);
203 241
 		ret /= 100;
204 242
         val = PE43711_DataToHexConvert(ret);
205
-        PE43711_atten_ctrl(ALL_ATT.ATT_UL3,val);
206
-
207
-		printf("tmp_h : %x tmp_l : %x , ret : %x ,%f ,tmp %f \r\n",tmp_h,tmp_l,ret,tmp );
208
-
209
-		break;
210
-	case ATT_UL3_PATH_OFF :
211
-        HAL_GPIO_WritePin(PATH_EN_UL3_GPIO_Port,PATH_EN_UL3_Pin,GPIO_PIN_SET);//CLOCK
212
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
213
-		break;
214
-	case ATT_UL3_PATH_ON :
215
-        HAL_GPIO_WritePin(PATH_EN_UL3_GPIO_Port,PATH_EN_UL3_Pin,GPIO_PIN_RESET);//CLOCK
216
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
217
-		break;
218
-	case ATT_SelfTest3_OFF :
219
-        HAL_GPIO_WritePin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin,GPIO_PIN_RESET);//CLOCK
220
-        HAL_GPIO_WritePin(PATH_SW3_GPIO_Port,PATH_SW3_Pin,GPIO_PIN_SET);//CLOCK
221
-        
222
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
223
-		break;
224
-	case ATT_SelfTest3_ON :
225
-        HAL_GPIO_WritePin(PATH_SW3_GPIO_Port,PATH_SW3_Pin,GPIO_PIN_RESET);//CLOCK
226
-        HAL_GPIO_WritePin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin,GPIO_PIN_SET);//CLOCK
227
-        
228
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
229
-		break;
230
-	case ATTDL4  :
231
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
232
-		tmp_h = data[BLUECELL_DATA];
233
-		tmp_l = data[BLUECELL_DATA + 1];
234
-		ret += ((tmp_h << 8) & 0xFF00);
243
+//        PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val);
244
+
245
+    }
246
+    if(Curr.ATT_AGC3_H != Prev.ATT_AGC3_H
247
+     ||Curr.ATT_AGC3_L != Prev.ATT_AGC3_L){
248
+        tmp_h = Curr.ATT_AGC3_H;
249
+        tmp_l = Curr.ATT_AGC3_L;
250
+        ret += ((tmp_h << 8) & 0xFF00);
235 251
 		ret += (tmp_l & 0x00FF);
236 252
 		ret /= 100;
237 253
         val = PE43711_DataToHexConvert(ret);
238
-        PE43711_atten_ctrl(ALL_ATT.ATT_DL4,val);
254
+//        PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val);
255
+
256
+    }
257
+    if(Curr.ATT_AGC4_H != Prev.ATT_AGC4_H
258
+     ||Curr.ATT_AGC4_L != Prev.ATT_AGC4_L){
259
+        tmp_h = Curr.ATT_AGC4_H;
260
+        tmp_l = Curr.ATT_AGC4_L;
261
+        ret += ((tmp_h << 8) & 0xFF00);
262
+		ret += (tmp_l & 0x00FF);
263
+		ret /= 100;
264
+        val = PE43711_DataToHexConvert(ret);
265
+//        PE43711_atten_ctrl(ALL_ATT.ATT_DL1,val);
266
+
267
+    }
268
+#endif // PYJ.2020.04.21_END -- 
269
+     
270
+}
271
+void Bluecell_DataCopy(){
272
+
273
+}
274
+bool Bluecell_Operate(uint8_t* data){
275
+  uint8_t datatype = data[BLUECELL_TYPE];
239 276
 
240
-		printf("tmp_h : %x tmp_l : %x , ret : %x ,%f ,tmp %f \r\n",tmp_h,tmp_l,ret,tmp );
277
+  uint16_t tmp_h = 0,tmp_l = 0;
278
+  double ret = 0 ,tmp = 0.1;
279
+  uint8_t val = 0;
280
+  uint8_t i = 0;
281
+  switch(datatype){
282
+	case ATTSET 				 :
283
+		printf("Function : %s Line %d \r\n",__func__,__LINE__);
284
+        bluecell_Currdatastatus.ATT_DL1_H = data[BLUECELL_DATA + i++];
285
+        bluecell_Currdatastatus.ATT_DL1_L = data[BLUECELL_DATA + i++];
286
+        bluecell_Currdatastatus.ATT_DL2_H = data[BLUECELL_DATA + i++];
287
+        bluecell_Currdatastatus.ATT_DL2_L = data[BLUECELL_DATA + i++];
288
+        bluecell_Currdatastatus.ATT_DL3_H = data[BLUECELL_DATA + i++];
289
+        bluecell_Currdatastatus.ATT_DL3_L = data[BLUECELL_DATA + i++];
290
+        bluecell_Currdatastatus.ATT_DL4_H = data[BLUECELL_DATA + i++];
291
+        bluecell_Currdatastatus.ATT_DL4_L = data[BLUECELL_DATA + i++];
292
+
293
+        bluecell_Currdatastatus.ATT_UL1_H = data[BLUECELL_DATA + i++];
294
+        bluecell_Currdatastatus.ATT_UL1_L = data[BLUECELL_DATA + i++];
295
+        bluecell_Currdatastatus.ATT_UL2_H = data[BLUECELL_DATA + i++];
296
+        bluecell_Currdatastatus.ATT_UL2_L = data[BLUECELL_DATA + i++];
297
+        bluecell_Currdatastatus.ATT_UL3_H = data[BLUECELL_DATA + i++];
298
+        bluecell_Currdatastatus.ATT_UL3_L = data[BLUECELL_DATA + i++];
299
+        bluecell_Currdatastatus.ATT_UL4_H = data[BLUECELL_DATA + i++];
300
+        bluecell_Currdatastatus.ATT_UL4_L = data[BLUECELL_DATA + i++];
301
+     //   memcpy(&bluecell_Currdatastatus.ATT_DL1_H,&data[BLUECELL_DATA],32);
302
+//		bluecell_Currdatastatus.ATT_DL1_H =  data[BLUECELL_DATA + i++];
303
+//		bluecell_Currdatastatus.ATT_DL1_L =  data[BLUECELL_DATA + 1];
304
+        /*
305
+            Atten Ctrl Function
306
+        */
307
+		CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
308
+//		printf("ret : %f ,tmp %f \r\n",ret,tmp );
309
+		break;
310
+	case ATT_DL1_PATH 		 :
311
+        if(data[BLUECELL_DATA]==0){
312
+            HAL_GPIO_WritePin(PATH_EN_DL1_GPIO_Port,PATH_EN_DL1_Pin,GPIO_PIN_SET);//CLOCK
313
+            printf("ATT_DL1_PATH OFF\r\n");
314
+        }
315
+        else{
316
+            HAL_GPIO_WritePin(PATH_EN_DL1_GPIO_Port,PATH_EN_DL1_Pin,GPIO_PIN_RESET);//CLOCK        
317
+            printf("ATT_DL1_PATH ON\r\n");
318
+        }
319
+		break;
320
+	
321
+
322
+		break;
323
+	case ATT_UL1_PATH        :
324
+        if(data[BLUECELL_DATA]==0){
325
+        HAL_GPIO_WritePin(PATH_EN_UL1_GPIO_Port,PATH_EN_UL1_Pin,GPIO_PIN_SET);//CLOCK
326
+        }
327
+        else{
328
+            HAL_GPIO_WritePin(PATH_EN_UL1_GPIO_Port,PATH_EN_UL1_Pin,GPIO_PIN_RESET);//CLOCK
241 329
 
330
+        }
331
+        printf("Function : %s Line %d \r\n",__func__,__LINE__);
242 332
 		break;
243
-	case ATT_DL4_PATH_OFF :
244
-        HAL_GPIO_WritePin(PATH_EN_DL4_GPIO_Port,PATH_EN_DL4_Pin,GPIO_PIN_SET);//CLOCK        
333
+	case ATT_SelfTest1		 :
334
+        if(data[BLUECELL_DATA]==0){
335
+        HAL_GPIO_WritePin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin,GPIO_PIN_RESET);//CLOCK
336
+        HAL_GPIO_WritePin(PATH_SW1_GPIO_Port,PATH_SW1_Pin,GPIO_PIN_SET);//CLOCK
337
+        }
338
+        else{
339
+            HAL_GPIO_WritePin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin,GPIO_PIN_SET);//CLOCK
340
+            HAL_GPIO_WritePin(PATH_SW1_GPIO_Port,PATH_SW1_Pin,GPIO_PIN_RESET);//CLOCK
341
+        }
245 342
 		printf("Function : %s Line %d \r\n",__func__,__LINE__);
246 343
 		break;
247
-	case ATT_DL4_PATH_ON :
248
-        HAL_GPIO_WritePin(PATH_EN_DL4_GPIO_Port,PATH_EN_DL4_Pin,GPIO_PIN_RESET);//CLOCK
344
+	case ATT_DL2_PATH		 :
345
+        if(data[BLUECELL_DATA]==0){
346
+        HAL_GPIO_WritePin(PATH_EN_DL2_GPIO_Port,PATH_EN_DL2_Pin,GPIO_PIN_SET);//CLOCK
347
+        }
348
+        else{
349
+            HAL_GPIO_WritePin(PATH_EN_DL2_GPIO_Port,PATH_EN_DL2_Pin,GPIO_PIN_RESET);//CLOCK
350
+        }
249 351
 		printf("Function : %s Line %d \r\n",__func__,__LINE__);
250 352
 		break;
251
-	case ATTUL4  :
252
-		printf("Function : %s Line %d \r\n",__func__,__LINE__);
253
-		tmp_h = data[BLUECELL_DATA];
254
-		tmp_l = data[BLUECELL_DATA + 1];
255
-		ret += ((tmp_h << 8) & 0xFF00);
256
-		ret += (tmp_l & 0x00FF);
257
-		ret /= 100;
258
-        val = PE43711_DataToHexConvert(ret);
259
-        PE43711_atten_ctrl(ALL_ATT.ATT_UL4,val);
260
-
261
-		printf("tmp_h : %x tmp_l : %x , ret : %x ,%f ,tmp %f \r\n",tmp_h,tmp_l,ret,tmp );
262 353
 
263 354
 		break;
264
-	case ATT_UL4_PATH_OFF:
265
-        HAL_GPIO_WritePin(PATH_EN_UL4_GPIO_Port,PATH_EN_UL4_Pin,GPIO_PIN_SET);//CLOCK
355
+	case ATT_UL2_PATH 		 :
356
+        if(data[BLUECELL_DATA]==0){
357
+        HAL_GPIO_WritePin(PATH_EN_UL2_GPIO_Port,PATH_EN_UL2_Pin,GPIO_PIN_SET);//CLOCK
358
+        }
359
+        else{
360
+            HAL_GPIO_WritePin(PATH_EN_UL2_GPIO_Port,PATH_EN_UL2_Pin,GPIO_PIN_RESET);//CLOCK
361
+        }
362
+		break;
363
+	case ATT_SelfTest2		 :
364
+        if(data[BLUECELL_DATA]==0){
365
+        HAL_GPIO_WritePin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin,GPIO_PIN_RESET);//CLOCK
366
+        HAL_GPIO_WritePin(PATH_SW2_GPIO_Port,PATH_SW2_Pin,GPIO_PIN_SET);//CLOCK
367
+        }else{
368
+            HAL_GPIO_WritePin(PATH_SW2_GPIO_Port,PATH_SW2_Pin,GPIO_PIN_RESET);//CLOCK
369
+            HAL_GPIO_WritePin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin,GPIO_PIN_SET);//CLOCK
370
+        }
266 371
 		printf("Function : %s Line %d \r\n",__func__,__LINE__);
267 372
 		break;
268
-	case ATT_UL4_PATH_ON :
269
-        HAL_GPIO_WritePin(PATH_EN_UL4_GPIO_Port,PATH_EN_UL4_Pin,GPIO_PIN_RESET);//CLOCK
373
+	case ATT_DL3_PATH :
374
+        if(data[BLUECELL_DATA]==0){
375
+        HAL_GPIO_WritePin(PATH_EN_DL3_GPIO_Port,PATH_EN_DL3_Pin,GPIO_PIN_SET);//CLOCK
376
+        }
377
+        else{
378
+            HAL_GPIO_WritePin(PATH_EN_DL3_GPIO_Port,PATH_EN_DL3_Pin,GPIO_PIN_RESET);//CLOCK
379
+        }
270 380
 		printf("Function : %s Line %d \r\n",__func__,__LINE__);
271 381
 		break;
272
-	case ATT_SelfTest4_OFF :
273
-        HAL_GPIO_WritePin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin,GPIO_PIN_RESET);//CLOCK
274
-        HAL_GPIO_WritePin(PATH_SW4_GPIO_Port,PATH_SW4_Pin,GPIO_PIN_SET);//CLOCK
382
+	case ATT_UL3_PATH :
383
+        if(data[BLUECELL_DATA]==0){
384
+        HAL_GPIO_WritePin(PATH_EN_UL3_GPIO_Port,PATH_EN_UL3_Pin,GPIO_PIN_SET);//CLOCK
385
+        }
386
+        else{
387
+            HAL_GPIO_WritePin(PATH_EN_UL3_GPIO_Port,PATH_EN_UL3_Pin,GPIO_PIN_RESET);//CLOCK
388
+        }
275 389
 		printf("Function : %s Line %d \r\n",__func__,__LINE__);
276 390
 		break;
277
-	case ATT_SelfTest4_ON :
278
-        HAL_GPIO_WritePin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin,GPIO_PIN_SET);//CLOCK
279
-        HAL_GPIO_WritePin(PATH_SW4_GPIO_Port,PATH_SW4_Pin,GPIO_PIN_RESET);//CLOCK
391
+	case ATT_SelfTest3 :
392
+        if(data[BLUECELL_DATA]==0){
393
+            HAL_GPIO_WritePin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin,GPIO_PIN_RESET);//CLOCK
394
+            HAL_GPIO_WritePin(PATH_SW3_GPIO_Port,PATH_SW3_Pin,GPIO_PIN_SET);//CLOCK
395
+        }
396
+        else{
397
+            HAL_GPIO_WritePin(PATH_SW3_GPIO_Port,PATH_SW3_Pin,GPIO_PIN_RESET);//CLOCK
398
+            HAL_GPIO_WritePin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin,GPIO_PIN_SET);//CLOCK
399
+        }
280 400
 		printf("Function : %s Line %d \r\n",__func__,__LINE__);
281 401
 		break;
402
+	case ATT_DL4_PATH :
403
+        if(data[BLUECELL_DATA]==0){
404
+            HAL_GPIO_WritePin(PATH_EN_DL4_GPIO_Port,PATH_EN_DL4_Pin,GPIO_PIN_SET);//CLOCK        
405
+        }else{
406
+
407
+            HAL_GPIO_WritePin(PATH_EN_DL4_GPIO_Port,PATH_EN_DL4_Pin,GPIO_PIN_RESET);//CLOCK
408
+        }
409
+		printf("Function : %s Line %d \r\n",__func__,__LINE__);
410
+		break;
411
+	case ATT_UL4_PATH:
412
+        if(data[BLUECELL_DATA]==0){
413
+        HAL_GPIO_WritePin(PATH_EN_UL4_GPIO_Port,PATH_EN_UL4_Pin,GPIO_PIN_SET);//CLOCK
414
+        }
415
+        else{
416
+
417
+            HAL_GPIO_WritePin(PATH_EN_UL4_GPIO_Port,PATH_EN_UL4_Pin,GPIO_PIN_RESET);//CLOCK
418
+        }
419
+		printf("Function : %s Line %d \r\n",__func__,__LINE__);
420
+		break;
421
+	case ATT_SelfTest4 :
422
+	  if(data[BLUECELL_DATA]==0){
423
+	    HAL_GPIO_WritePin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin,GPIO_PIN_RESET);//CLOCK
424
+	    HAL_GPIO_WritePin(PATH_SW4_GPIO_Port,PATH_SW4_Pin,GPIO_PIN_SET);//CLOCK
425
+	  }else{
426
+	    HAL_GPIO_WritePin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin,GPIO_PIN_SET);//CLOCK
427
+	    HAL_GPIO_WritePin(PATH_SW4_GPIO_Port,PATH_SW4_Pin,GPIO_PIN_RESET);//CLOCK
428
+	  }
429
+		printf("Function : %s Line %d \r\n",__func__,__LINE__);
430
+		break;
431
+    case ALC1_EN :
432
+        if(data[BLUECELL_DATA]==0){
433
+            bluecell_Currdatastatus.ATT_ALC1_ONOFF = false;
434
+        }
435
+        else{
436
+            bluecell_Currdatastatus.ATT_ALC1_ONOFF = true;
437
+        }
438
+    break;
439
+    case ALC2_EN :
440
+        if(data[BLUECELL_DATA]==0){
441
+            bluecell_Currdatastatus.ATT_ALC2_ONOFF = false;
442
+        }
443
+        else{
444
+            bluecell_Currdatastatus.ATT_ALC2_ONOFF = true;
445
+        }
446
+    break;
447
+    case ALC3_EN :
448
+        if(data[BLUECELL_DATA]==0){
449
+            bluecell_Currdatastatus.ATT_ALC3_ONOFF = false;
450
+        }
451
+        else{
452
+            bluecell_Currdatastatus.ATT_ALC3_ONOFF = true;
453
+        }
454
+    break;
455
+    case ALC4_EN :
456
+        if(data[BLUECELL_DATA]==0){
457
+            bluecell_Currdatastatus.ATT_ALC4_ONOFF = false;
458
+        }
459
+        else{
460
+            bluecell_Currdatastatus.ATT_ALC4_ONOFF = true;
461
+        }
462
+    break;
463
+    case AGC1_EN :
464
+        if(data[BLUECELL_DATA]==0){
465
+            bluecell_Currdatastatus.ATT_AGC1_ONOFF = false;
466
+        }
467
+        else{
468
+            bluecell_Currdatastatus.ATT_AGC1_ONOFF = true;
469
+        }
470
+    break;
471
+    case AGC2_EN :
472
+        if(data[BLUECELL_DATA]==0){
473
+            bluecell_Currdatastatus.ATT_AGC2_ONOFF = false;
474
+        }
475
+        else{
476
+            bluecell_Currdatastatus.ATT_AGC2_ONOFF = true;
477
+        }
478
+
479
+    break;
480
+    case AGC3_EN :
481
+        if(data[BLUECELL_DATA]==0){
482
+            bluecell_Currdatastatus.ATT_AGC3_ONOFF = false;
483
+        }
484
+        else{
485
+            bluecell_Currdatastatus.ATT_AGC3_ONOFF = true;
486
+        }
487
+
488
+    break;
489
+    case AGC4_EN :
490
+        if(data[BLUECELL_DATA]==0){
491
+            bluecell_Currdatastatus.ATT_AGC4_ONOFF = false;
492
+        }
493
+        else{
494
+            bluecell_Currdatastatus.ATT_AGC4_ONOFF = true;
495
+        }
496
+
497
+      break;
282 498
     case Bluecell_StatusReq:
283
-        DataStatusGet();
284
-        Uart1_Data_Send(&bluecell_datastatus, sizeof(bluecell_datastatus));
499
+        DataStatusSet();
500
+        Uart1_Data_Send(&bluecell_Currdatastatus, sizeof(bluecell_Currdatastatus) + 1 );
285 501
         break;
286 502
   }
287 503
   return true;
288 504
 }
289
-void DataStatusGet(void){
290
-        bluecell_datastatus.bluecell_header = 0xbe;
291
-        bluecell_datastatus.bluecell_type = Bluecell_StatusReq;
292
-        bluecell_datastatus.bluecell_length = sizeof(bluecell_datastatus) - 1;    
293
-        bluecell_datastatus.bluecell_crcindex = 56;
294
-        bluecell_datastatus.Selftest0 = HAL_GPIO_ReadPin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin);
295
-        bluecell_datastatus.Selftest1 = HAL_GPIO_ReadPin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin);
296
-        bluecell_datastatus.Selftest2 = HAL_GPIO_ReadPin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin);
297
-        bluecell_datastatus.Selftest3 = HAL_GPIO_ReadPin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin);
298
-        bluecell_datastatus.ATT_DL1_PATH = HAL_GPIO_ReadPin(PATH_EN_DL1_GPIO_Port,PATH_EN_UL1_Pin);//CLOCK;
299
-        bluecell_datastatus.ATT_DL2_PATH = HAL_GPIO_ReadPin(PATH_EN_DL2_GPIO_Port,PATH_EN_UL2_Pin);//CLOCK;
300
-        bluecell_datastatus.ATT_DL3_PATH = HAL_GPIO_ReadPin(PATH_EN_DL3_GPIO_Port,PATH_EN_UL3_Pin);//CLOCK;
301
-        bluecell_datastatus.ATT_DL4_PATH = HAL_GPIO_ReadPin(PATH_EN_DL4_GPIO_Port,PATH_EN_UL4_Pin);//CLOCK;
302
-        bluecell_datastatus.ATT_UL1_PATH = HAL_GPIO_ReadPin(PATH_EN_UL1_GPIO_Port,PATH_EN_UL1_Pin);//CLOCK;
303
-        bluecell_datastatus.ATT_UL2_PATH = HAL_GPIO_ReadPin(PATH_EN_UL2_GPIO_Port,PATH_EN_UL2_Pin);//CLOCK;
304
-        bluecell_datastatus.ATT_UL3_PATH = HAL_GPIO_ReadPin(PATH_EN_UL3_GPIO_Port,PATH_EN_UL3_Pin);//CLOCK;
305
-        bluecell_datastatus.ATT_UL4_PATH = HAL_GPIO_ReadPin(PATH_EN_UL4_GPIO_Port,PATH_EN_UL4_Pin);//CLOCK;
306
-        bluecell_datastatus.ATT_DL1_H ;
307
-        bluecell_datastatus.ATT_DL1_L;
308
-        bluecell_datastatus.ATT_DL2_H;
309
-        bluecell_datastatus.ATT_DL2_L;
310
-        bluecell_datastatus.ATT_DL3_H;
311
-        bluecell_datastatus.ATT_DL3_L;
312
-        bluecell_datastatus.ATT_DL4_H;
313
-        bluecell_datastatus.ATT_DL4_L;
314
-        bluecell_datastatus.ATT_UL1_H;
315
-        bluecell_datastatus.ATT_UL1_L;
316
-        bluecell_datastatus.ATT_UL2_H;
317
-        bluecell_datastatus.ATT_UL2_L;
318
-        bluecell_datastatus.ATT_UL3_H;
319
-        bluecell_datastatus.ATT_UL3_L;
320
-        bluecell_datastatus.ATT_UL4_H;
321
-        bluecell_datastatus.ATT_UL4_L;
322
-        bluecell_datastatus.DET_DL1_IN_H;
323
-        bluecell_datastatus.DET_DL1_IN_L;
324
-        bluecell_datastatus.DET_DL2_IN_H;
325
-        bluecell_datastatus.DET_DL2_IN_L;
326
-        bluecell_datastatus.DET_DL3_IN_H;
327
-        bluecell_datastatus.DET_DL3_IN_L;
328
-        bluecell_datastatus.DET_DL4_IN_H;
329
-        bluecell_datastatus.DET_DL4_IN_L;
330
-        bluecell_datastatus.DET_UL1_IN_H;
331
-        bluecell_datastatus.DET_UL1_IN_L;
332
-        bluecell_datastatus.DET_UL2_IN_H;
333
-        bluecell_datastatus.DET_UL2_IN_L;
334
-        bluecell_datastatus.DET_UL3_IN_H;
335
-        bluecell_datastatus.DET_UL3_IN_L;
336
-        bluecell_datastatus.DET_UL4_IN_H;
337
-        bluecell_datastatus.DET_UL4_IN_L;
338
-        bluecell_datastatus.DET_TEMP_H;
339
-        bluecell_datastatus.DET_TEMP_L;
340
-        bluecell_datastatus.ATT_AGC_ONOFF;
341
-        bluecell_datastatus.ATT_ALC_ONOFF;
342
-        bluecell_datastatus.ATT_AGC_H;
343
-        bluecell_datastatus.ATT_AGC_L;
344
-        bluecell_datastatus.ATT_ALC_H;
345
-        bluecell_datastatus.ATT_ALC_L;
505
+void DataStatusSet(void){
506
+        bluecell_Currdatastatus.bluecell_header = 0xbe;
507
+        bluecell_Currdatastatus.bluecell_type = Bluecell_StatusReq;
508
+        bluecell_Currdatastatus.bluecell_length = sizeof(bluecell_Currdatastatus) - 2;    
509
+        bluecell_Currdatastatus.bluecell_crcindex = 56;
510
+        bluecell_Currdatastatus.Selftest0 = HAL_GPIO_ReadPin(_PATH_SW1_GPIO_Port,_PATH_SW1_Pin);
511
+        bluecell_Currdatastatus.Selftest1 = HAL_GPIO_ReadPin(_PATH_SW2_GPIO_Port,_PATH_SW2_Pin);
512
+        bluecell_Currdatastatus.Selftest2 = HAL_GPIO_ReadPin(_PATH_SW3_GPIO_Port,_PATH_SW3_Pin);
513
+        bluecell_Currdatastatus.Selftest3 = HAL_GPIO_ReadPin(_PATH_SW4_GPIO_Port,_PATH_SW4_Pin);
514
+        bluecell_Currdatastatus.ATT_DL1_PATH = HAL_GPIO_ReadPin(PATH_EN_DL1_GPIO_Port,PATH_EN_UL1_Pin);//CLOCK;
515
+        bluecell_Currdatastatus.ATT_DL2_PATH = HAL_GPIO_ReadPin(PATH_EN_DL2_GPIO_Port,PATH_EN_UL2_Pin);//CLOCK;
516
+        bluecell_Currdatastatus.ATT_DL3_PATH = HAL_GPIO_ReadPin(PATH_EN_DL3_GPIO_Port,PATH_EN_UL3_Pin);//CLOCK;
517
+        bluecell_Currdatastatus.ATT_DL4_PATH = HAL_GPIO_ReadPin(PATH_EN_DL4_GPIO_Port,PATH_EN_UL4_Pin);//CLOCK;
518
+        bluecell_Currdatastatus.ATT_UL1_PATH = HAL_GPIO_ReadPin(PATH_EN_UL1_GPIO_Port,PATH_EN_UL1_Pin);//CLOCK;
519
+        bluecell_Currdatastatus.ATT_UL2_PATH = HAL_GPIO_ReadPin(PATH_EN_UL2_GPIO_Port,PATH_EN_UL2_Pin);//CLOCK;
520
+        bluecell_Currdatastatus.ATT_UL3_PATH = HAL_GPIO_ReadPin(PATH_EN_UL3_GPIO_Port,PATH_EN_UL3_Pin);//CLOCK;
521
+        bluecell_Currdatastatus.ATT_UL4_PATH = HAL_GPIO_ReadPin(PATH_EN_UL4_GPIO_Port,PATH_EN_UL4_Pin);//CLOCK;
522
+        bluecell_Currdatastatus.bluecell_crc = STH30_CreateCrc(&bluecell_Currdatastatus.bluecell_type, bluecell_Currdatastatus.bluecell_length);
523
+        /*bluecell_Currdatastatus.ATT_AGC1_ONOFF;
524
+        bluecell_Currdatastatus.ATT_ALC1_ONOFF;
525
+        bluecell_Currdatastatus.ATT_AGC2_ONOFF;
526
+        bluecell_Currdatastatus.ATT_ALC2_ONOFF;
527
+        bluecell_Currdatastatus.ATT_AGC3_ONOFF;
528
+        bluecell_Currdatastatus.ATT_ALC3_ONOFF;
529
+        bluecell_Currdatastatus.ATT_AGC4_ONOFF;
530
+        bluecell_Currdatastatus.ATT_ALC4_ONOFF;
531
+        bluecell_Currdatastatus.ATT_AGC1_H;
532
+        bluecell_Currdatastatus.ATT_AGC1_L;
533
+        bluecell_Currdatastatus.ATT_ALC1_H;
534
+        bluecell_Currdatastatus.ATT_ALC1_L;
535
+        bluecell_Currdatastatus.ATT_AGC2_H;
536
+        bluecell_Currdatastatus.ATT_AGC2_L;
537
+        bluecell_Currdatastatus.ATT_ALC2_H;
538
+        bluecell_Currdatastatus.ATT_ALC2_L;
539
+        bluecell_Currdatastatus.ATT_AGC3_H;
540
+        bluecell_Currdatastatus.ATT_AGC3_L;
541
+        bluecell_Currdatastatus.ATT_ALC3_H;
542
+        bluecell_Currdatastatus.ATT_ALC3_L;
543
+        bluecell_Currdatastatus.ATT_AGC4_H;
544
+        bluecell_Currdatastatus.ATT_AGC4_L;
545
+        bluecell_Currdatastatus.ATT_ALC4_H;
546
+        bluecell_Currdatastatus.ATT_ALC4_L;  */
346 547
 }
347 548
 
348 549
 bool MBIC_Operate(uint8_t* data){
@@ -350,7 +551,6 @@ bool MBIC_Operate(uint8_t* data){
350 551
 
351 552
 	switch(datatype){
352 553
 		case Alarm_Bit_List:
353
-			// �븣由� 鍮꾪듃
354 554
 			Uart1_Data_Send(&Alarm_Status[0],MAX_ALARM_Len);
355 555
 		break;
356 556
 		case Alarm_Mask:
@@ -428,3 +628,54 @@ bool MBIC_Operate(uint8_t* data){
428 628
 	return true;
429 629
 
430 630
 }
631
+
632
+
633
+
634
+
635
+void ADC_Check(void){
636
+    if(AdcTimerCnt > 10){
637
+        bluecell_Currdatastatus.DET_DL1_IN_H 
638
+            = (uint16_t)((ADC1value[Bluecell_DET_DL1_ADC_INDEX_H] & 0xFF00) >> 8);
639
+        bluecell_Currdatastatus.DET_DL1_IN_L 
640
+            = (uint16_t)((ADC1value[Bluecell_DET_DL1_ADC_INDEX_L] & 0xFF00) >> 8);
641
+        bluecell_Currdatastatus.DET_DL2_IN_H 
642
+            = (uint16_t)((ADC1value[Bluecell_DET_DL2_ADC_INDEX_H] & 0xFF00) >> 8);
643
+        bluecell_Currdatastatus.DET_DL2_IN_L 
644
+            = (uint16_t)((ADC1value[Bluecell_DET_DL2_ADC_INDEX_L] & 0xFF00) >> 8);
645
+        bluecell_Currdatastatus.DET_DL3_IN_H 
646
+            = (uint16_t)((ADC1value[Bluecell_DET_DL3_ADC_INDEX_H] & 0xFF00) >> 8);
647
+        bluecell_Currdatastatus.DET_DL3_IN_L 
648
+            = (uint16_t)((ADC1value[Bluecell_DET_DL3_ADC_INDEX_L] & 0xFF00) >> 8);
649
+        bluecell_Currdatastatus.DET_DL4_IN_H 
650
+            = (uint16_t)((ADC1value[Bluecell_DET_DL4_ADC_INDEX_H] & 0xFF00) >> 8);
651
+        bluecell_Currdatastatus.DET_DL4_IN_L 
652
+            = (uint16_t)((ADC1value[Bluecell_DET_DL4_ADC_INDEX_L] & 0xFF00) >> 8);
653
+        bluecell_Currdatastatus.DET_UL1_IN_H 
654
+            = (uint16_t)((ADC1value[Bluecell_DET_UL1_ADC_INDEX_H] & 0xFF00) >> 8);
655
+        bluecell_Currdatastatus.DET_UL1_IN_L 
656
+            = (uint16_t)((ADC1value[Bluecell_DET_UL1_ADC_INDEX_L] & 0xFF00) >> 8);
657
+        bluecell_Currdatastatus.DET_UL2_IN_H 
658
+            = (uint16_t)((ADC1value[Bluecell_DET_UL2_ADC_INDEX_H] & 0xFF00) >> 8);
659
+        bluecell_Currdatastatus.DET_UL2_IN_L 
660
+            = (uint16_t)((ADC1value[Bluecell_DET_UL2_ADC_INDEX_L] & 0xFF00) >> 8);
661
+        bluecell_Currdatastatus.DET_UL3_IN_H 
662
+            = (uint16_t)((ADC1value[Bluecell_DET_UL3_ADC_INDEX_H] & 0xFF00) >> 8);
663
+        bluecell_Currdatastatus.DET_UL3_IN_L 
664
+            = (uint16_t)((ADC1value[Bluecell_DET_UL3_ADC_INDEX_L] & 0xFF00) >> 8);
665
+        bluecell_Currdatastatus.DET_UL4_IN_H 
666
+            = (uint16_t)((ADC1value[Bluecell_DET_UL4_ADC_INDEX_H] & 0xFF00) >> 8);
667
+        bluecell_Currdatastatus.DET_UL4_IN_L 
668
+            = (uint16_t)((ADC1value[Bluecell_DET_UL4_ADC_INDEX_L] & 0xFF00) >> 8);
669
+        bluecell_Currdatastatus.DET_TEMP_H  
670
+            =(uint16_t)((ADC1value[Bluecell_RFU_TEMP_ADC_INDEX_H] & 0xFF00) >> 8);
671
+        bluecell_Currdatastatus.DET_TEMP_L  
672
+            =(uint16_t)((ADC1value[Bluecell_RFU_TEMP_ADC_INDEX_L] & 0xFF00) >> 8);
673
+
674
+#if 0 // PYJ.2019.08.09_BEGIN --
675
+                                                     printf("Prev_data[%d] : %x",i,Prev_data[INDEX_DET_1_8G_DL_IN_H + i]);
676
+                                                     printf("%x\r\n",i,Prev_data[INDEX_DET_1_8G_DL_IN_L + i]);
677
+#endif // PYJ.2019.08.09_END --
678
+        AdcTimerCnt = 0;
679
+
680
+    }
681
+}

+ 1 - 1
Bluecell_Src/uart.c

@@ -85,7 +85,7 @@ void GetDataFromUartQueue(UART_HandleTypeDef *huart)
85 85
 //        printf("data cnt zero !!!  \r\n");
86 86
         //RF_Ctrl_Main(&uart_buf[Header]);
87 87
 //        HAL_UART_Transmit(dst, &temp_buf[BLUECELL_HEADER00], 11, 3000);
88
-#if 1 // PYJ.2019.07.15_BEGIN --
88
+#if 0 // PYJ.2019.07.15_BEGIN --
89 89
             for(int i = 0; i < cnt; i++){
90 90
                 printf("%02x ",uart_buf[i]);
91 91
             }

+ 6 - 3
Inc/main.h

@@ -32,7 +32,7 @@ extern "C" {
32 32
 
33 33
 /* Private includes ----------------------------------------------------------*/
34 34
 /* USER CODE BEGIN Includes */
35
-
35
+#include "Bluecell_operate.h"
36 36
 /* USER CODE END Includes */
37 37
 
38 38
 /* Exported types ------------------------------------------------------------*/
@@ -55,7 +55,8 @@ extern "C" {
55 55
 void Error_Handler(void);
56 56
 
57 57
 /* USER CODE BEGIN EFP */
58
-
58
+extern uint32_t ADC1value[Bluecell_ADC1_MaxLength / 2];
59
+extern uint32_t ADC3value[Bluecell_ADC3_MaxLength / 2];
59 60
 /* USER CODE END EFP */
60 61
 
61 62
 /* Private defines -----------------------------------------------------------*/
@@ -73,6 +74,8 @@ void Error_Handler(void);
73 74
 #define DET_DL3_IN_GPIO_Port GPIOF
74 75
 #define DET_DL4_IN_Pin GPIO_PIN_10
75 76
 #define DET_DL4_IN_GPIO_Port GPIOF
77
+#define RFU_TEMP_Pin GPIO_PIN_2
78
+#define RFU_TEMP_GPIO_Port GPIOC
76 79
 #define RFU_TX_Pin GPIO_PIN_2
77 80
 #define RFU_TX_GPIO_Port GPIOA
78 81
 #define RFU_RX_Pin GPIO_PIN_3
@@ -158,7 +161,7 @@ void Error_Handler(void);
158 161
 #define ATT_EN_DL1_Pin GPIO_PIN_9
159 162
 #define ATT_EN_DL1_GPIO_Port GPIOB
160 163
 /* USER CODE BEGIN Private defines */
161
-#define ADC_EA 8
164
+
162 165
 /* USER CODE END Private defines */
163 166
 
164 167
 #ifdef __cplusplus

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 66 - 56
STM32F103ZET_JDASMBIC.ioc


+ 20 - 4
Src/main.c

@@ -26,6 +26,7 @@
26 26
 #include <stdio.h>
27 27
 #include "PE43711.h"
28 28
 #include "uart.h"
29
+#include "Bluecell_operate.h"
29 30
 /* USER CODE END Includes */
30 31
 
31 32
 /* Private typedef -----------------------------------------------------------*/
@@ -58,7 +59,8 @@ DMA_HandleTypeDef hdma_usart1_rx;
58 59
 DMA_HandleTypeDef hdma_usart1_tx;
59 60
 
60 61
 /* USER CODE BEGIN PV */
61
-uint32_t ADCvalue[ADC_EA];
62
+uint32_t ADC1value[Bluecell_ADC1_MaxLength / 2] = {0,};
63
+uint32_t ADC3value[Bluecell_ADC3_MaxLength / 2] = {0,};
62 64
 volatile uint32_t AdcTimerCnt = 0;
63 65
 volatile uint32_t LedTimerCnt = 0;
64 66
 volatile uint32_t UartRxTimerCnt = 0;
@@ -143,8 +145,8 @@ int main(void)
143 145
   while(!(HAL_ADCEx_Calibration_Start(&hadc1)==HAL_OK));
144 146
   while(!(HAL_ADCEx_Calibration_Start(&hadc3)==HAL_OK));
145 147
   PE43711_PinInit();
146
-  HAL_ADC_Start_DMA(&hadc1, (uint32_t*)ADCvalue, 3);
147
-  HAL_ADC_Start_DMA(&hadc3, (uint32_t*)ADCvalue, 5);
148
+  HAL_ADC_Start_DMA(&hadc1, (uint32_t*)ADC1value, Bluecell_ADC1_MaxLength / 2);
149
+  HAL_ADC_Start_DMA(&hadc3, (uint32_t*)ADC3value, Bluecell_ADC3_MaxLength / 2);
148 150
   /* USER CODE END 2 */
149 151
 
150 152
   /* Infinite loop */
@@ -271,7 +273,7 @@ static void MX_ADC1_Init(void)
271 273
   hadc1.Init.DiscontinuousConvMode = DISABLE;
272 274
   hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
273 275
   hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
274
-  hadc1.Init.NbrOfConversion = 3;
276
+  hadc1.Init.NbrOfConversion = 4;
275 277
   if (HAL_ADC_Init(&hadc1) != HAL_OK)
276 278
   {
277 279
     Error_Handler();
@@ -287,6 +289,7 @@ static void MX_ADC1_Init(void)
287 289
   }
288 290
   /** Configure Regular Channel 
289 291
   */
292
+  sConfig.Channel = ADC_CHANNEL_5;
290 293
   sConfig.Rank = ADC_REGULAR_RANK_2;
291 294
   if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
292 295
   {
@@ -294,11 +297,20 @@ static void MX_ADC1_Init(void)
294 297
   }
295 298
   /** Configure Regular Channel 
296 299
   */
300
+  sConfig.Channel = ADC_CHANNEL_6;
297 301
   sConfig.Rank = ADC_REGULAR_RANK_3;
298 302
   if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
299 303
   {
300 304
     Error_Handler();
301 305
   }
306
+  /** Configure Regular Channel 
307
+  */
308
+  sConfig.Channel = ADC_CHANNEL_4;
309
+  sConfig.Rank = ADC_REGULAR_RANK_4;
310
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
311
+  {
312
+    Error_Handler();
313
+  }
302 314
   /* USER CODE BEGIN ADC1_Init 2 */
303 315
 
304 316
   /* USER CODE END ADC1_Init 2 */
@@ -346,6 +358,7 @@ static void MX_ADC3_Init(void)
346 358
   }
347 359
   /** Configure Regular Channel 
348 360
   */
361
+  sConfig.Channel = ADC_CHANNEL_5;
349 362
   sConfig.Rank = ADC_REGULAR_RANK_2;
350 363
   if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK)
351 364
   {
@@ -353,6 +366,7 @@ static void MX_ADC3_Init(void)
353 366
   }
354 367
   /** Configure Regular Channel 
355 368
   */
369
+  sConfig.Channel = ADC_CHANNEL_6;
356 370
   sConfig.Rank = ADC_REGULAR_RANK_3;
357 371
   if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK)
358 372
   {
@@ -360,6 +374,7 @@ static void MX_ADC3_Init(void)
360 374
   }
361 375
   /** Configure Regular Channel 
362 376
   */
377
+  sConfig.Channel = ADC_CHANNEL_7;
363 378
   sConfig.Rank = ADC_REGULAR_RANK_4;
364 379
   if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK)
365 380
   {
@@ -367,6 +382,7 @@ static void MX_ADC3_Init(void)
367 382
   }
368 383
   /** Configure Regular Channel 
369 384
   */
385
+  sConfig.Channel = ADC_CHANNEL_8;
370 386
   sConfig.Rank = ADC_REGULAR_RANK_5;
371 387
   if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK)
372 388
   {

+ 9 - 0
Src/stm32f1xx_hal_msp.c

@@ -105,12 +105,18 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
105 105
     /* Peripheral clock enable */
106 106
     __HAL_RCC_ADC1_CLK_ENABLE();
107 107
   
108
+    __HAL_RCC_GPIOC_CLK_ENABLE();
108 109
     __HAL_RCC_GPIOA_CLK_ENABLE();
109 110
     /**ADC1 GPIO Configuration    
111
+    PC2     ------> ADC1_IN12
110 112
     PA4     ------> ADC1_IN4
111 113
     PA5     ------> ADC1_IN5
112 114
     PA6     ------> ADC1_IN6 
113 115
     */
116
+    GPIO_InitStruct.Pin = RFU_TEMP_Pin;
117
+    GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
118
+    HAL_GPIO_Init(RFU_TEMP_GPIO_Port, &GPIO_InitStruct);
119
+
114 120
     GPIO_InitStruct.Pin = DET_UL1_OUT_Pin|DET_UL2_OUT_Pin|DET_UL3_OUT_Pin;
115 121
     GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
116 122
     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
@@ -198,10 +204,13 @@ void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
198 204
     __HAL_RCC_ADC1_CLK_DISABLE();
199 205
   
200 206
     /**ADC1 GPIO Configuration    
207
+    PC2     ------> ADC1_IN12
201 208
     PA4     ------> ADC1_IN4
202 209
     PA5     ------> ADC1_IN5
203 210
     PA6     ------> ADC1_IN6 
204 211
     */
212
+    HAL_GPIO_DeInit(RFU_TEMP_GPIO_Port, RFU_TEMP_Pin);
213
+
205 214
     HAL_GPIO_DeInit(GPIOA, DET_UL1_OUT_Pin|DET_UL2_OUT_Pin|DET_UL3_OUT_Pin);
206 215
 
207 216
     /* ADC1 DMA DeInit */