Browse Source

adf4113 Calc return 반환값 자료형 변경 / 3.5G Atten 변수명 변경

YJ 5 years ago
parent
commit
d89391390e
34 changed files with 11706 additions and 9109 deletions
  1. BIN
      Debug/STM32F103_ATTEN_PLL_Zig.elf
  2. 1240 1272
      Debug/STM32F103_ATTEN_PLL_Zig.hex
  3. 6927 7210
      Debug/STM32F103_ATTEN_PLL_Zig.list
  4. 574 577
      Debug/STM32F103_ATTEN_PLL_Zig.map
  5. BIN
      Debug/Src/BDA4601.o
  6. BIN
      Debug/Src/stm32f1xx_hal_msp.o
  7. BIN
      Debug/Src/stm32f1xx_it.o
  8. 1 1
      Inc/pll_4113.h
  9. 1 1
      Inc/zig_operate.h
  10. 4 4
      Src/PE43711.c
  11. 1 1
      Src/includes.c
  12. 2 2
      Src/main.c
  13. 33 28
      Src/pll_4113.c
  14. 8 3
      Src/zig_operate.c
  15. 126 0
      insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/PE43711(6433).c
  16. 312 0
      insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/includes(6542).c
  17. 636 0
      insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/main(2945).c
  18. 38 0
      insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/pll_4113(1174).h
  19. 324 0
      insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/pll_4113(2213).c
  20. 668 0
      insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/zig_operate(6053).c
  21. 135 0
      insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/zig_operate(6464).h
  22. 673 0
      insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/zig_operate(6511).c
  23. 3 10
      insight/STM32F103_ATTEN_PLL_Zig.si4project/STM32F103_ATTEN_PLL_Zig.SearchResults
  24. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/STM32F103_ATTEN_PLL_Zig.sip_xm
  25. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/STM32F103_ATTEN_PLL_Zig.siwork
  26. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Inc_pll_4113.h.sisc
  27. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Inc_zig_operate.h.sisc
  28. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_PE43711.c.sisc
  29. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_adf4153.c.sisc
  30. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_includes.c.sisc
  31. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_main.c.sisc
  32. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_pll_4113.c.sisc
  33. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_uart.c.sisc
  34. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_zig_operate.c.sisc

BIN
Debug/STM32F103_ATTEN_PLL_Zig.elf


File diff suppressed because it is too large
+ 1240 - 1272
Debug/STM32F103_ATTEN_PLL_Zig.hex


File diff suppressed because it is too large
+ 6927 - 7210
Debug/STM32F103_ATTEN_PLL_Zig.list


File diff suppressed because it is too large
+ 574 - 577
Debug/STM32F103_ATTEN_PLL_Zig.map


BIN
Debug/Src/BDA4601.o


BIN
Debug/Src/stm32f1xx_hal_msp.o


BIN
Debug/Src/stm32f1xx_it.o


+ 1 - 1
Inc/pll_4113.h

@@ -27,7 +27,7 @@ uint8_t PLL_1_8_UL_Error_Cnt;
27 27
 uint8_t PLL_2_1_DL_Error_Cnt;
28 28
 uint8_t PLL_2_1_UL_Error_Cnt;
29 29
 
30
-uint8_t halSynSetFreq(uint32_t rf_Freq);
30
+uint32_t halSynSetFreq(uint32_t rf_Freq);
31 31
 void ADF4113_Module_Ctrl(PLL_Setting_st pll,uint32_t R0,uint32_t R1,uint32_t R2);
32 32
 void ADF4113_Initialize(void);
33 33
 void ADF4113_Check(void);

+ 1 - 1
Inc/zig_operate.h

@@ -43,7 +43,7 @@ typedef enum{
43 43
     INDEX_ATT_2_1G_UL2 ,
44 44
     INDEX_ATT_2_1G_UL3 , 
45 45
     INDEX_ATT_2_1G_UL4 ,
46
-    INDEX_ATT_3_5G_DL  ,
46
+    INDEX_ATT_3_5G_LOW1  ,
47 47
     INDEX_ATT_3_5G_UL  ,
48 48
     INDEX_ATT_3_5G_COM1,
49 49
     INDEX_ATT_3_5G_COM2, 

+ 4 - 4
Src/PE43711.c

@@ -12,7 +12,7 @@ void PE43711_ALL_atten_ctrl(ALL_PE43711_st ATT);
12 12
 void PE43711_atten_ctrl(PE43711_st ATT ,uint8_t data);
13 13
 ALL_PE43711_st ALL_ATT_3_5G;
14 14
 
15
-PE43711_st ATT_3_5G_DL ={
15
+PE43711_st ATT_3_5G_LOW1 ={
16 16
     ATT_CLK_3_5G_GPIO_Port,
17 17
     ATT_CLK_3_5G_Pin,
18 18
     ATT_DATA_3_5G_DL_GPIO_Port,
@@ -20,7 +20,7 @@ PE43711_st ATT_3_5G_DL ={
20 20
     ATT_EN_3_5G_GPIO_Port,
21 21
     ATT_EN_3_5G_Pin,
22 22
 }; 
23
-PE43711_st ATT_3_5G_UL ={
23
+PE43711_st ATT_3_5G_HIGH1 ={
24 24
     ATT_CLK_3_5G_GPIO_Port,
25 25
     ATT_CLK_3_5G_Pin,
26 26
     ATT_DATA_3_5G_UL_GPIO_Port,
@@ -53,8 +53,8 @@ PE43711_st ATT_3_5G_COM3={
53 53
     ATT_EN_3_5G_Pin,
54 54
 }; 
55 55
 void PE43711_PinInit(void){
56
-    ALL_ATT_3_5G.ATT0 = ATT_3_5G_DL;
57
-    ALL_ATT_3_5G.ATT1 = ATT_3_5G_UL;
56
+    ALL_ATT_3_5G.ATT0 = ATT_3_5G_LOW1;
57
+    ALL_ATT_3_5G.ATT1 = ATT_3_5G_HIGH1;
58 58
     ALL_ATT_3_5G.ATT2 = ATT_3_5G_COM1;
59 59
     ALL_ATT_3_5G.ATT3 = ATT_3_5G_COM2;
60 60
     ALL_ATT_3_5G.ATT4 = ATT_3_5G_COM3;

+ 1 - 1
Src/includes.c

@@ -23,7 +23,7 @@ char *Bluecell_Prot_IndexStr[] = {
23 23
     MACROSTR(INDEX_ATT_2_1G_UL2     ),
24 24
     MACROSTR(INDEX_ATT_2_1G_UL3     ),
25 25
     MACROSTR(INDEX_ATT_2_1G_UL4     ),
26
-    MACROSTR(INDEX_ATT_3_5G_DL      ),
26
+    MACROSTR(INDEX_ATT_3_5G_LOW1      ),
27 27
     MACROSTR(INDEX_ATT_3_5G_UL      ),
28 28
     MACROSTR(INDEX_ATT_3_5G_COM1    ),
29 29
     MACROSTR(INDEX_ATT_3_5G_COM2    ),

+ 2 - 2
Src/main.c

@@ -151,8 +151,8 @@ int main(void)
151 151
   /* USER CODE BEGIN WHILE */
152 152
   while (1)
153 153
   {
154
-    ADF4113_Check();
155
-    ADF4153_Check();
154
+//    ADF4113_Check();
155
+//    ADF4153_Check();
156 156
     Boot_LED_Toggle();
157 157
     Uart_Check();
158 158
     ADC_Check();

+ 33 - 28
Src/pll_4113.c

@@ -103,8 +103,8 @@ void ADF4113_Check(void){
103 103
   uint16_t temp_val = 0;
104 104
     if(HAL_GPIO_ReadPin(PLL_LD_1_8G_DL_GPIO_Port, PLL_LD_1_8G_DL_Pin) == GPIO_PIN_RESET){
105 105
       temp_val = (Prev_data[INDEX_PLL_1_8G_DL_H] << 8) | (Prev_data[INDEX_PLL_1_8G_DL_L]);
106
-      ADF4113_Module_Ctrl(ADF4113_1_8G_DL,0x410,halSynSetFreq((temp_val * 1000000) / 10 ),0x9F8092);
107
-      //      ADF4113_Module_Ctrl(ADF4113_1_8G_DL,0x000410,0x03E801,0x9F8092);
106
+//      ADF4113_Module_Ctrl(ADF4113_1_8G_DL,0x000410,halSynSetFreq((temp_val * 1000000) / 10 ),0x9F8092);
107
+            ADF4113_Module_Ctrl(ADF4113_1_8G_DL,0x000410,0x03E801,0x9F8092);
108 108
       if(PLL_1_8_DL_Error_Cnt == 3){
109 109
         Error_Message_Occur(DL_1_8);
110 110
       }
@@ -114,9 +114,11 @@ void ADF4113_Check(void){
114 114
     }else{
115 115
       PLL_1_8_DL_Error_Cnt = 0;
116 116
     }
117
+
118
+    
117 119
     if(HAL_GPIO_ReadPin(PLL_LD_1_8G_UL_GPIO_Port, PLL_LD_1_8G_UL_Pin) == GPIO_PIN_RESET){
118 120
       temp_val = (Prev_data[INDEX_PLL_1_8G_UL_H] << 8) | (Prev_data[INDEX_PLL_1_8G_UL_L]);
119
-      ADF4113_Module_Ctrl(ADF4113_1_8G_DL,0x410,halSynSetFreq((temp_val * 1000000) / 10 ),0x9F8092);
121
+      ADF4113_Module_Ctrl(ADF4113_1_8G_UL,0x000410,halSynSetFreq((temp_val * 1000000) / 10 ),0x9F8092);
120 122
     //      ADF4113_Module_Ctrl(ADF4113_1_8G_UL,0x000410,0x038D31,0x9f8092);
121 123
       if(PLL_1_8_UL_Error_Cnt == 3){
122 124
         Error_Message_Occur(UL_1_8);
@@ -129,8 +131,8 @@ void ADF4113_Check(void){
129 131
     }
130 132
     if(HAL_GPIO_ReadPin(PLL_LD_2_1G_DL_GPIO_Port, PLL_LD_2_1G_DL_Pin) == GPIO_PIN_RESET){
131 133
       temp_val = (Prev_data[INDEX_PLL_2_1G_DL_H] << 8) | (Prev_data[INDEX_PLL_2_1G_DL_L]);
132
-      ADF4113_Module_Ctrl(ADF4113_1_8G_DL,0x410,halSynSetFreq((temp_val * 1000000) / 10 ),0x9F8092);
133
-    //      ADF4113_Module_Ctrl(ADF4113_2_1G_DL,0x410,0x4DE71,0x9F8092);
134
+//      ADF4113_Module_Ctrl(ADF4113_2_1G_DL,0x000410,halSynSetFreq((temp_val * 1000000) / 10 ),0x9F8092);
135
+          ADF4113_Module_Ctrl(ADF4113_2_1G_DL,0x410,0x4DE71,0x9F8092);
134 136
       if(PLL_2_1_DL_Error_Cnt == 3){
135 137
         Error_Message_Occur(DL_2_1);
136 138
       }
@@ -141,10 +143,12 @@ void ADF4113_Check(void){
141 143
     }else{
142 144
       PLL_2_1_DL_Error_Cnt = 0;
143 145
     }
146
+
147
+    
144 148
     if(HAL_GPIO_ReadPin(PLL_LD_2_1G_UL_GPIO_Port, PLL_LD_2_1G_UL_Pin) == GPIO_PIN_RESET){
145 149
       temp_val = (Prev_data[INDEX_PLL_2_1G_UL_H] << 8) | (Prev_data[INDEX_PLL_2_1G_UL_L]);
146
-      ADF4113_Module_Ctrl(ADF4113_1_8G_DL,0x410,halSynSetFreq((temp_val * 1000000) / 10 ),0x9F8092);
147
-    //      ADF4113_Module_Ctrl(ADF4113_2_1G_UL,0x000410,0x59A31,0x9f8092);
150
+//      ADF4113_Module_Ctrl(ADF4113_2_1G_UL,0x000410,halSynSetFreq((temp_val * 1000000) / 10 ),0x9F8092);
151
+          ADF4113_Module_Ctrl(ADF4113_2_1G_UL,0x000410,0x59A31,0x9f8092);
148 152
       if(PLL_2_1_UL_Error_Cnt == 3){
149 153
         Error_Message_Occur(UL_2_1);
150 154
       }
@@ -157,7 +161,7 @@ void ADF4113_Check(void){
157 161
 }
158 162
 
159 163
 
160
-uint8_t halSynSetFreq(uint32_t rf_Freq)
164
+uint32_t halSynSetFreq(uint32_t rf_Freq)
161 165
 {
162 166
     uint32_t  R, B;
163 167
     uint32_t  A, P, p_mode;
@@ -183,10 +187,11 @@ uint8_t halSynSetFreq(uint32_t rf_Freq)
183 187
     P = 32;
184 188
     B = N_val / P;
185 189
     A = N_val -(B * P);
186
-#ifdef DEBUG_PRINT
190
+#if 1 // PYJ.2019.08.10_BEGIN -- 
187 191
     printf("FREQ:%f Mhz  B : %d , A  : %d    N_VAL  : %d \r\n",(float)(rf_Freq/1000000),B,A,N_val);
188 192
     printf("YJ 4113 : %x \r\n",N_Counter_Latch_Create(A,B,0));
189
-#endif /* DEBUG_PRINT */
193
+#endif // PYJ.2019.08.10_END -- 
194
+  return N_Counter_Latch_Create(A,B,0);
190 195
 }
191 196
 uint32_t N_Counter_Latch_Create(uint16_t _ACOUNTER,uint16_t _BCOUNTER,uint8_t _CPGAIN){
192 197
     uint32_t ret = 0;
@@ -246,15 +251,15 @@ void ADF4113_Module_Ctrl(PLL_Setting_st pll,uint32_t R0,uint32_t R1,uint32_t R2)
246 251
     /*   R2 Ctrl    */
247 252
      for(int i =0; i < 24; i++){
248 253
          if(R2 & 0x800000){
249
-#ifdef DEBUG_PRINT
254
+#if 0 // PYJ.2019.08.11_BEGIN -- 
250 255
             printf("1");
251
-#endif /* DEBUG_PRINT */
256
+#endif // PYJ.2019.08.11_END -- 
252 257
              HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_SET);
253 258
          }
254 259
          else{
255
-#ifdef DEBUG_PRINT
260
+#if 0 // PYJ.2019.08.11_BEGIN -- 
256 261
             printf("0");
257
-#endif /* DEBUG_PRINT */
262
+#endif // PYJ.2019.08.11_END -- 
258 263
              HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_RESET);
259 264
          }
260 265
           HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_SET);
@@ -262,9 +267,9 @@ void ADF4113_Module_Ctrl(PLL_Setting_st pll,uint32_t R0,uint32_t R1,uint32_t R2)
262 267
           HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_RESET);
263 268
          R2 = ((R2 << 1) & 0xFFFFFF);
264 269
      }
265
-#ifdef DEBUG_PRINT
270
+#if 0 // PYJ.2019.08.11_BEGIN -- 
266 271
      printf("\r\n");
267
-#endif /* DEBUG_PRINT */
272
+#endif // PYJ.2019.08.11_END -- 
268 273
      HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_SET);
269 274
      Pol_Delay_us(10);
270 275
      HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_RESET);
@@ -273,24 +278,24 @@ void ADF4113_Module_Ctrl(PLL_Setting_st pll,uint32_t R0,uint32_t R1,uint32_t R2)
273 278
     for(int i =0; i < 24; i++){
274 279
         if(R0 & 0x800000){
275 280
             HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_SET);
276
-#ifdef DEBUG_PRINT
281
+#if 0 // PYJ.2019.08.11_BEGIN -- 
277 282
             printf("1");
278
-#endif /* DEBUG_PRINT */
283
+#endif // PYJ.2019.08.11_END -- 
279 284
         }
280 285
         else{
281 286
             HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_RESET);
282
-#ifdef DEBUG_PRINT
287
+#if 0 // PYJ.2019.08.11_BEGIN -- 
283 288
             printf("0");
284
-#endif /* DEBUG_PRINT */
289
+#endif // PYJ.2019.08.11_END -- 
285 290
         }
286 291
          HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_SET);
287 292
         Pol_Delay_us(10);
288 293
          HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_RESET);
289 294
         R0 = ((R0 << 1) & 0xFFFFFF);
290 295
     }  
291
-#ifdef DEBUG_PRINT
296
+#if 0 // PYJ.2019.08.11_BEGIN -- 
292 297
         printf("\r\n");
293
-#endif /* DEBUG_PRINT */
298
+#endif // PYJ.2019.08.11_END -- 
294 299
      HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_SET);
295 300
      
296 301
      Pol_Delay_us(10);
@@ -298,15 +303,15 @@ void ADF4113_Module_Ctrl(PLL_Setting_st pll,uint32_t R0,uint32_t R1,uint32_t R2)
298 303
      /*   R1 Ctrl    */
299 304
     for(int i =0; i < 24; i++){
300 305
         if(R1 & 0x800000){
301
-#ifdef DEBUG_PRINT
306
+#if 0 // PYJ.2019.08.11_BEGIN -- 
302 307
             printf("1");
303
-#endif /* DEBUG_PRINT */
308
+#endif // PYJ.2019.08.11_END -- 
304 309
             HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_SET);
305 310
         }
306 311
         else{
307
-#ifdef DEBUG_PRINT
312
+#if 0 // PYJ.2019.08.11_BEGIN -- 
308 313
             printf("0");            
309
-#endif /* DEBUG_PRINT */
314
+#endif // PYJ.2019.08.11_END -- 
310 315
             HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_RESET);
311 316
         }
312 317
          HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_SET);
@@ -314,9 +319,9 @@ void ADF4113_Module_Ctrl(PLL_Setting_st pll,uint32_t R0,uint32_t R1,uint32_t R2)
314 319
          HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_RESET);
315 320
         R1 = ((R1 << 1) & 0xFFFFFF);
316 321
     }
317
-#ifdef DEBUG_PRINT
322
+#if 0 // PYJ.2019.08.11_BEGIN -- 
318 323
         printf("\r\n");
319
-#endif /* DEBUG_PRINT */
324
+#endif // PYJ.2019.08.11_END -- 
320 325
     HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_SET);
321 326
     Pol_Delay_us(10);
322 327
     HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_RESET);

+ 8 - 3
Src/zig_operate.c

@@ -304,13 +304,13 @@ void RF_Operate(uint8_t* data_buf){
304 304
         BDA4601_atten_ctrl(BDA4601_2_1G_UL4,(data_buf[INDEX_ATT_2_1G_UL4]));
305 305
         Prev_data[INDEX_ATT_2_1G_UL4] = data_buf[INDEX_ATT_2_1G_UL4];
306 306
     }
307
-    if(   (Prev_data[INDEX_ATT_3_5G_DL] != data_buf[INDEX_ATT_3_5G_DL])
307
+    if(   (Prev_data[INDEX_ATT_3_5G_LOW1] != data_buf[INDEX_ATT_3_5G_LOW1])
308 308
         ||(Prev_data[INDEX_ATT_3_5G_UL] != data_buf[INDEX_ATT_3_5G_UL])
309 309
         ||(Prev_data[INDEX_ATT_3_5G_COM1] != data_buf[INDEX_ATT_3_5G_COM1])
310 310
         ||(Prev_data[INDEX_ATT_3_5G_COM2] != data_buf[INDEX_ATT_3_5G_COM2])
311 311
         ||(Prev_data[INDEX_ATT_3_5G_COM3] != data_buf[INDEX_ATT_3_5G_COM3])
312 312
     ){
313
-        ALL_ATT_3_5G.data0 = Prev_data[INDEX_ATT_3_5G_DL]   = data_buf[INDEX_ATT_3_5G_DL];
313
+        ALL_ATT_3_5G.data0 = Prev_data[INDEX_ATT_3_5G_LOW1]   = data_buf[INDEX_ATT_3_5G_LOW1];
314 314
         ALL_ATT_3_5G.data1 = Prev_data[INDEX_ATT_3_5G_UL]   = data_buf[INDEX_ATT_3_5G_UL];
315 315
         ALL_ATT_3_5G.data2 = Prev_data[INDEX_ATT_3_5G_COM1] = data_buf[INDEX_ATT_3_5G_COM1];
316 316
         ALL_ATT_3_5G.data3 = Prev_data[INDEX_ATT_3_5G_COM2] = data_buf[INDEX_ATT_3_5G_COM2];
@@ -330,13 +330,15 @@ void RF_Operate(uint8_t* data_buf){
330 330
         temp_val = (data_buf[INDEX_PLL_1_8G_UL_H] << 8) | (data_buf[INDEX_PLL_1_8G_UL_L]);
331 331
         Prev_data[INDEX_PLL_1_8G_UL_H] = data_buf[INDEX_PLL_1_8G_UL_H];
332 332
         Prev_data[INDEX_PLL_1_8G_UL_L] = data_buf[INDEX_PLL_1_8G_UL_L];
333
-        ADF4113_Module_Ctrl(ADF4113_1_8G_UL,0x410,halSynSetFreq((temp_val * 1000000) / 10),0x9F8092);
333
+//         ADF4113_Module_Ctrl(ADF4113_1_8G_UL,0x000410,0x038D31,0x9f8092);
334
+         ADF4113_Module_Ctrl(ADF4113_1_8G_UL,0x410,halSynSetFreq((temp_val * 1000000) / 10),0x9F8092);
334 335
     }
335 336
     if((Prev_data[INDEX_PLL_2_1G_DL_H] != data_buf[INDEX_PLL_2_1G_DL_H])
336 337
         && (Prev_data[INDEX_PLL_2_1G_DL_L] != data_buf[INDEX_PLL_2_1G_DL_L])){
337 338
         temp_val = ((data_buf[INDEX_PLL_2_1G_DL_H] << 8) | (data_buf[INDEX_PLL_2_1G_DL_L]));
338 339
         Prev_data[INDEX_PLL_2_1G_DL_H] = data_buf[INDEX_PLL_2_1G_DL_H];
339 340
         Prev_data[INDEX_PLL_2_1G_DL_L] = data_buf[INDEX_PLL_2_1G_DL_L];        
341
+//         ADF4113_Module_Ctrl(ADF4113_2_1G_DL,0x410,0x4DE71,0x9F8092);
340 342
         ADF4113_Module_Ctrl(ADF4113_2_1G_DL,0x410,halSynSetFreq((temp_val * 1000000) / 10),0x9F8092);
341 343
     }
342 344
     if((Prev_data[INDEX_PLL_2_1G_UL_H] != data_buf[INDEX_PLL_2_1G_UL_H])
@@ -344,6 +346,7 @@ void RF_Operate(uint8_t* data_buf){
344 346
         Prev_data[INDEX_PLL_2_1G_UL_H] = data_buf[INDEX_PLL_2_1G_UL_H];
345 347
         Prev_data[INDEX_PLL_2_1G_UL_L] = data_buf[INDEX_PLL_2_1G_UL_L];          
346 348
         temp_val = (data_buf[INDEX_PLL_2_1G_UL_H] << 8) | (data_buf[INDEX_PLL_2_1G_UL_L]);
349
+//        ADF4113_Module_Ctrl(ADF4113_2_1G_UL,0x000410,0x59A31,0x9f8092);
347 350
         ADF4113_Module_Ctrl(ADF4113_2_1G_UL,0x410,halSynSetFreq((temp_val * 1000000) / 10),0x9F8092);
348 351
 
349 352
     }
@@ -657,6 +660,8 @@ bool RF_Ctrl_Main(uint8_t* data_buf){
657 660
     case TYPE_BLUECELL_SAVE:
658 661
 //        printf("\r\nFLASH Write\r\n");
659 662
         Bluecell_Flash_Write(&Prev_data[INDEX_BLUE_HEADER]);
663
+        RF_Status_Ack();
664
+
660 665
         break;
661 666
         default:
662 667
 #ifdef DEBUG_PRINT // PYJ.2019.07.27_BEGIN --         

+ 126 - 0
insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/PE43711(6433).c

@@ -0,0 +1,126 @@
1
+/*
2
+ * PE43711.c
3
+ *
4
+ *  Created on: 2019. 6. 28.
5
+ *      Author: parkyj
6
+ */
7
+ #include "PE43711.h"
8
+#if 1 // PYJ.2019.07.26_BEGIN -- 
9
+#define ATTEN_3_5G_Initial_Val 0
10
+void PE43711_ALL_atten_ctrl(ALL_PE43711_st ATT);
11
+
12
+void PE43711_atten_ctrl(PE43711_st ATT ,uint8_t data);
13
+ALL_PE43711_st ALL_ATT_3_5G;
14
+
15
+PE43711_st ATT_3_5G_DL ={
16
+    ATT_CLK_3_5G_GPIO_Port,
17
+    ATT_CLK_3_5G_Pin,
18
+    ATT_DATA_3_5G_DL_GPIO_Port,
19
+    ATT_DATA_3_5G_DL_Pin,
20
+    ATT_EN_3_5G_GPIO_Port,
21
+    ATT_EN_3_5G_Pin,
22
+}; 
23
+PE43711_st ATT_3_5G_UL ={
24
+    ATT_CLK_3_5G_GPIO_Port,
25
+    ATT_CLK_3_5G_Pin,
26
+    ATT_DATA_3_5G_UL_GPIO_Port,
27
+    ATT_DATA_3_5G_UL_Pin,
28
+    ATT_EN_3_5G_GPIO_Port,
29
+    ATT_EN_3_5G_Pin,
30
+}; 
31
+PE43711_st ATT_3_5G_COM1={
32
+    ATT_CLK_3_5G_GPIO_Port,
33
+    ATT_CLK_3_5G_Pin,
34
+    ATT_DATA_3_5G_COM1_GPIO_Port,
35
+    ATT_DATA_3_5G_COM1_Pin,
36
+    ATT_EN_3_5G_GPIO_Port,
37
+    ATT_EN_3_5G_Pin,
38
+}; 
39
+PE43711_st ATT_3_5G_COM2={
40
+    ATT_CLK_3_5G_GPIO_Port,
41
+    ATT_CLK_3_5G_Pin,
42
+    ATT_DATA_3_5G_COM2_GPIO_Port,
43
+    ATT_DATA_3_5G_COM2_Pin,
44
+    ATT_EN_3_5G_GPIO_Port,
45
+    ATT_EN_3_5G_Pin,
46
+}; 
47
+PE43711_st ATT_3_5G_COM3={
48
+    ATT_CLK_3_5G_GPIO_Port,
49
+    ATT_CLK_3_5G_Pin,
50
+    ATT_DATA_3_5G_COM3_GPIO_Port,
51
+    ATT_DATA_3_5G_COM3_Pin,
52
+    ATT_EN_3_5G_GPIO_Port,
53
+    ATT_EN_3_5G_Pin,
54
+}; 
55
+void PE43711_PinInit(void){
56
+    ALL_ATT_3_5G.ATT0 = ATT_3_5G_DL;
57
+    ALL_ATT_3_5G.ATT1 = ATT_3_5G_UL;
58
+    ALL_ATT_3_5G.ATT2 = ATT_3_5G_COM1;
59
+    ALL_ATT_3_5G.ATT3 = ATT_3_5G_COM2;
60
+    ALL_ATT_3_5G.ATT4 = ATT_3_5G_COM3;
61
+    ALL_ATT_3_5G.data0 = ATTEN_3_5G_Initial_Val;    
62
+    ALL_ATT_3_5G.data1 = ATTEN_3_5G_Initial_Val;
63
+    ALL_ATT_3_5G.data2 = ATTEN_3_5G_Initial_Val;
64
+    ALL_ATT_3_5G.data3 = ATTEN_3_5G_Initial_Val;
65
+    ALL_ATT_3_5G.data4 = ATTEN_3_5G_Initial_Val;    
66
+    PE43711_ALL_atten_ctrl(ALL_ATT_3_5G);
67
+}
68
+#endif // PYJ.2019.07.26_END -- 
69
+void Bit_Compare(PE43711_st ATT,uint8_t data,uint8_t Shift_Index){
70
+    if(data & (0x01 << Shift_Index)){
71
+        HAL_GPIO_WritePin(ATT.DATA_PORT,ATT.DATA_PIN,GPIO_PIN_SET);//DATA
72
+    }
73
+    else{
74
+        HAL_GPIO_WritePin(ATT.DATA_PORT,ATT.DATA_PIN,GPIO_PIN_RESET);//DATA
75
+    }
76
+}
77
+void PE43711_ALL_atten_ctrl(ALL_PE43711_st ATT){
78
+    HAL_GPIO_WritePin(ATT.ATT0.LE_PORT,ATT.ATT0.LE_PIN,GPIO_PIN_RESET);
79
+    Pol_Delay_us(10);
80
+//    printf("why not? \r\n");
81
+    for(uint8_t i = 0; i < 8; i++){
82
+        Bit_Compare(ATT.ATT0,ATT.data0,i);
83
+        Bit_Compare(ATT.ATT1,ATT.data1,i);
84
+        Bit_Compare(ATT.ATT2,ATT.data2,i);
85
+        Bit_Compare(ATT.ATT3,ATT.data3,i);
86
+        Bit_Compare(ATT.ATT4,ATT.data4,i);
87
+		HAL_GPIO_WritePin(ATT.ATT0.CLK_PORT,ATT.ATT0.CLK_PIN,GPIO_PIN_SET);//CLOCK
88
+		Pol_Delay_us(10);
89
+		HAL_GPIO_WritePin(ATT.ATT0.CLK_PORT,ATT.ATT0.CLK_PIN,GPIO_PIN_RESET);//CLOCK
90
+    }
91
+    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,GPIO_PIN_RESET);//DATA
92
+    HAL_GPIO_WritePin(ATT.ATT0.LE_PORT,ATT.ATT0.LE_PIN,GPIO_PIN_SET);//LE
93
+    Pol_Delay_us(10);
94
+    HAL_GPIO_WritePin(ATT.ATT0.LE_PORT,ATT.ATT0.LE_PIN,GPIO_PIN_RESET);
95
+}
96
+
97
+void PE43711_atten_ctrl(PE43711_st ATT ,uint8_t data){
98
+    uint8_t i = 0;
99
+    uint8_t temp = 0;
100
+    data = 4 * data;
101
+    temp = (uint8_t)data;
102
+    
103
+    HAL_GPIO_WritePin(ATT.LE_PORT,ATT.LE_PIN,GPIO_PIN_RESET);
104
+    Pol_Delay_us(10);
105
+    for(i = 0; i < 8; i++){
106
+        if((uint8_t)temp & 0x01){
107
+           HAL_GPIO_WritePin(ATT.DATA_PORT,ATT.DATA_PIN,GPIO_PIN_SET);//DATA
108
+        }
109
+           else{
110
+           HAL_GPIO_WritePin(ATT.DATA_PORT,ATT.DATA_PIN,GPIO_PIN_RESET);//DATA
111
+           }
112
+
113
+		HAL_GPIO_WritePin(ATT.CLK_PORT,ATT.CLK_PIN,GPIO_PIN_SET);//CLOCK
114
+		Pol_Delay_us(10);
115
+		HAL_GPIO_WritePin(ATT.CLK_PORT,ATT.CLK_PIN,GPIO_PIN_RESET);//CLOCK
116
+		Pol_Delay_us(10);
117
+		temp >>= 1;
118
+    }
119
+    
120
+	HAL_GPIO_WritePin(ATT.CLK_PORT,ATT.CLK_PIN,GPIO_PIN_RESET);//CLOCK
121
+    HAL_GPIO_WritePin(ATT.DATA_PORT,ATT.DATA_PIN,GPIO_PIN_RESET);//DATA
122
+    HAL_Delay(5);
123
+    HAL_GPIO_WritePin(ATT.LE_PORT,ATT.LE_PIN,GPIO_PIN_SET);//LE
124
+    Pol_Delay_us(10);
125
+    HAL_GPIO_WritePin(ATT.LE_PORT,ATT.LE_PIN,GPIO_PIN_RESET);
126
+}

+ 312 - 0
insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/includes(6542).c

@@ -0,0 +1,312 @@
1
+/*
2
+ * includes.c
3
+ *
4
+ *  Created on: 2019. 7. 28.
5
+ *      Author: parkyj
6
+ */
7
+#include "includes.h"
8
+
9
+#define MACROSTR(k) #k
10
+uint32_t ADCvalue[ADC_EA];
11
+
12
+
13
+char *Bluecell_Prot_IndexStr[] = {
14
+    MACROSTR(INDEX_ATT_1_8G_DL1     ),
15
+    MACROSTR(INDEX_ATT_1_8G_DL2     ),
16
+    MACROSTR(INDEX_ATT_1_8G_UL1     ),
17
+    MACROSTR(INDEX_ATT_1_8G_UL2     ),
18
+    MACROSTR(INDEX_ATT_1_8G_UL3     ),
19
+    MACROSTR(INDEX_ATT_1_8G_UL4     ),
20
+    MACROSTR(INDEX_ATT_2_1G_DL1     ),
21
+    MACROSTR(INDEX_ATT_2_1G_DL2     ),
22
+    MACROSTR(INDEX_ATT_2_1G_UL1     ),
23
+    MACROSTR(INDEX_ATT_2_1G_UL2     ),
24
+    MACROSTR(INDEX_ATT_2_1G_UL3     ),
25
+    MACROSTR(INDEX_ATT_2_1G_UL4     ),
26
+    MACROSTR(INDEX_ATT_3_5G_DL      ),
27
+    MACROSTR(INDEX_ATT_3_5G_UL      ),
28
+    MACROSTR(INDEX_ATT_3_5G_COM1    ),
29
+    MACROSTR(INDEX_ATT_3_5G_COM2    ),
30
+    MACROSTR(INDEX_ATT_3_5G_COM3    ),
31
+    MACROSTR(INDEX_PLL_1_8G_DL_H    ),
32
+    MACROSTR(INDEX_PLL_1_8G_DL_L    ),
33
+    MACROSTR(INDEX_PLL_1_8G_UL_H    ),
34
+    MACROSTR(INDEX_PLL_1_8G_UL_L    ),
35
+    MACROSTR(INDEX_PLL_2_1G_DL_H    ),
36
+    MACROSTR(INDEX_PLL_2_1G_DL_L    ),
37
+    MACROSTR(INDEX_PLL_2_1G_UL_H    ),
38
+    MACROSTR(INDEX_PLL_2_1G_UL_L    ),
39
+    MACROSTR(INDEX_PLL_3_5G_DL_H    ),
40
+    MACROSTR(INDEX_PLL_3_5G_DL_L    ),
41
+    MACROSTR(INDEX_PLL_3_5G_UL_H    ),
42
+    MACROSTR(INDEX_PLL_3_5G_UL_L    ),
43
+    MACROSTR(INDEX_PLL_LD_6_BIT     ),
44
+    MACROSTR(INDEX_DET_1_8G_DL_IN_H ),
45
+    MACROSTR(INDEX_DET_1_8G_DL_IN_L ),
46
+    MACROSTR(INDEX_DET_1_8G_DL_OUT_H),
47
+    MACROSTR(INDEX_DET_1_8G_DL_OUT_L),
48
+    MACROSTR(INDEX_DET_1_8G_UL_IN_H ),
49
+    MACROSTR(INDEX_DET_1_8G_UL_IN_L ),
50
+    MACROSTR(INDEX_DET_1_8G_UL_OUT_H),
51
+    MACROSTR(INDEX_DET_1_8G_UL_OUT_L),
52
+    MACROSTR(INDEX_DET_2_1G_DL_IN_H ),
53
+    MACROSTR(INDEX_DET_2_1G_DL_IN_L ),
54
+    MACROSTR(INDEX_DET_2_1G_DL_OUT_H),
55
+    MACROSTR(INDEX_DET_2_1G_DL_OUT_L),
56
+    MACROSTR(INDEX_DET_2_1G_UL_IN_H ),
57
+    MACROSTR(INDEX_DET_2_1G_UL_IN_L ),
58
+    MACROSTR(INDEX_DET_2_1G_UL_OUT_H),
59
+    MACROSTR(INDEX_DET_2_1G_UL_OUT_L),
60
+    MACROSTR(INDEX_DET_3_5G_DL_IN_H ),
61
+    MACROSTR(INDEX_DET_3_5G_DL_IN_L ),
62
+    MACROSTR(INDEX_DET_3_5G_DL_OUT_L),
63
+    MACROSTR(INDEX_DET_3_5G_DL_OUT_H),
64
+    MACROSTR(INDEX_DET_3_5G_UL_IN_H ),
65
+    MACROSTR(INDEX_DET_3_5G_UL_IN_L ),
66
+    MACROSTR(INDEX_DET_3_5G_UL_OUT_H),
67
+    MACROSTR(INDEX_DET_3_5G_UL_OUT_L),
68
+    MACROSTR(INDEX_RFU_TEMP_H       ),
69
+    MACROSTR(INDEX_RFU_TEMP_L       ),
70
+    MACROSTR(INDEX__28V_DET_H       ),
71
+    MACROSTR(INDEX__28V_DET_L       ),
72
+    MACROSTR(INDEX_ALARM_AC         ),
73
+    MACROSTR(INDEX_ALARM_DC         ),
74
+    MACROSTR(INDEX_PATH_EN_1_8G_DL  ),
75
+    MACROSTR(INDEX_PATH_EN_1_8G_UL  ),
76
+    MACROSTR(INDEX_PATH_EN_2_1G_DL  ),
77
+    MACROSTR(INDEX_PATH_EN_2_1G_UL  ),
78
+    MACROSTR(INDEX_PATH_EN_3_5G_L   ),
79
+    MACROSTR(INDEX_PATH_EN_3_5G_H   ),
80
+    MACROSTR(INDEX_PATH_EN_3_5G_DL  ),
81
+    MACROSTR(INDEX_PATH_EN_3_5G_UL  ),
82
+    MACROSTR(INDEX_PLL_ON_OFF_3_5G_H),
83
+    MACROSTR(INDEX_PLL_ON_OFF_3_5G_L),
84
+    MACROSTR(INDEX_T_SYNC_DL        ),
85
+    MACROSTR(INDEX__T_SYNC_DL       ),
86
+    MACROSTR(INDEX_T_SYNC_UL        ),
87
+    MACROSTR(INDEX__T_SYNC_UL       ),   
88
+};
89
+
90
+static void kConstPrinter(Bluecell_Prot_Index k)
91
+{
92
+#ifdef DEBUG_PRINT
93
+    printf("%s", Bluecell_Prot_IndexStr[k]);
94
+#endif /* DEBUG_PRINT */
95
+}
96
+void Path_Init(void){
97
+    Prev_data[INDEX_PATH_EN_1_8G_DL]   = HAL_GPIO_ReadPin(PATH_EN_1_8G_DL_GPIO_Port,PATH_EN_1_8G_DL_Pin);
98
+    Prev_data[INDEX_PATH_EN_1_8G_UL]   = HAL_GPIO_ReadPin(PATH_EN_1_8G_UL_GPIO_Port,PATH_EN_1_8G_UL_Pin);
99
+    Prev_data[INDEX_PATH_EN_2_1G_DL]   = HAL_GPIO_ReadPin(PATH_EN_2_1G_DL_GPIO_Port,PATH_EN_2_1G_DL_Pin);
100
+    Prev_data[INDEX_PATH_EN_2_1G_UL]   = HAL_GPIO_ReadPin(PATH_EN_2_1G_UL_GPIO_Port,PATH_EN_2_1G_UL_Pin);
101
+    Prev_data[INDEX_PATH_EN_3_5G_L]    = HAL_GPIO_ReadPin(PATH_EN_3_5G_L_GPIO_Port,PATH_EN_3_5G_L_Pin);
102
+    Prev_data[INDEX_PATH_EN_3_5G_H]    = HAL_GPIO_ReadPin(PATH_EN_3_5G_H_GPIO_Port,PATH_EN_3_5G_H_Pin);
103
+    Prev_data[INDEX_PATH_EN_3_5G_DL]   = HAL_GPIO_ReadPin(PATH_EN_3_5G_DL_GPIO_Port,PATH_EN_3_5G_DL_Pin);
104
+    Prev_data[INDEX_PATH_EN_3_5G_UL]   = HAL_GPIO_ReadPin(PATH_EN_3_5G_UL_GPIO_Port,PATH_EN_3_5G_UL_Pin);
105
+    Prev_data[INDEX_PLL_ON_OFF_3_5G_H] = HAL_GPIO_ReadPin(PLL_ON_OFF_3_5G_H_GPIO_Port,PLL_ON_OFF_3_5G_H_Pin);
106
+    Prev_data[INDEX_PLL_ON_OFF_3_5G_L] = HAL_GPIO_ReadPin(PLL_ON_OFF_3_5G_L_GPIO_Port,PLL_ON_OFF_3_5G_L_Pin);
107
+}
108
+void Power_ON_OFF_Ctrl(uint8_t type,uint8_t cmd){
109
+//    printf("\r\ntype : %s cmd : %d\r\n",Bluecell_Prot_IndexStr[type - 4],cmd);
110
+    switch(type){
111
+        case INDEX_PATH_EN_1_8G_DL  : 
112
+#if 0 // PYJ.2019.07.29_BEGIN -- 
113
+            printf("\r\n LINE %d\r\n",__LINE__);
114
+#endif // PYJ.2019.07.29_END -- 
115
+            if(cmd)
116
+                HAL_GPIO_WritePin(PATH_EN_1_8G_DL_GPIO_Port,PATH_EN_1_8G_DL_Pin, GPIO_PIN_SET);
117
+            else
118
+                HAL_GPIO_WritePin(PATH_EN_1_8G_DL_GPIO_Port,PATH_EN_1_8G_DL_Pin, GPIO_PIN_RESET);
119
+            break; 
120
+        case INDEX_PATH_EN_1_8G_UL  : 
121
+#if 0 // PYJ.2019.07.29_BEGIN -- 
122
+            printf("\r\n LINE %d\r\n",__LINE__);
123
+#endif // PYJ.2019.07.29_END -- 
124
+            if(cmd)
125
+                HAL_GPIO_WritePin(PATH_EN_1_8G_UL_GPIO_Port,PATH_EN_1_8G_UL_Pin, GPIO_PIN_SET);
126
+            else
127
+                HAL_GPIO_WritePin(PATH_EN_1_8G_UL_GPIO_Port,PATH_EN_1_8G_UL_Pin, GPIO_PIN_RESET);
128
+                
129
+            break;
130
+        case INDEX_PATH_EN_2_1G_DL  : 
131
+#ifdef DEBUG_PRINT
132
+            printf("\r\n LINE %d\r\n",__LINE__);
133
+#endif /* DEBUG_PRINT */
134
+            if(cmd)
135
+                HAL_GPIO_WritePin(PATH_EN_2_1G_DL_GPIO_Port,PATH_EN_2_1G_DL_Pin, GPIO_PIN_SET);
136
+            else
137
+                HAL_GPIO_WritePin(PATH_EN_2_1G_DL_GPIO_Port,PATH_EN_2_1G_DL_Pin, GPIO_PIN_RESET);                
138
+            break;
139
+        case INDEX_PATH_EN_2_1G_UL  : 
140
+#ifdef DEBUG_PRINT
141
+            printf("\r\n LINE %d\r\n",__LINE__);
142
+#endif /* DEBUG_PRINT */
143
+            if(cmd)
144
+                HAL_GPIO_WritePin(PATH_EN_2_1G_UL_GPIO_Port,PATH_EN_2_1G_UL_Pin, GPIO_PIN_SET);
145
+            else
146
+                HAL_GPIO_WritePin(PATH_EN_2_1G_UL_GPIO_Port,PATH_EN_2_1G_UL_Pin, GPIO_PIN_RESET);                
147
+            break;
148
+        case INDEX_PATH_EN_3_5G_L   : 
149
+            if(cmd){
150
+                HAL_GPIO_WritePin(PATH_EN_3_5G_L_GPIO_Port,PATH_EN_3_5G_L_Pin, GPIO_PIN_SET);
151
+//                printf("\r\n LINE %d\r\n",__LINE__);
152
+            }
153
+            else{
154
+                HAL_GPIO_WritePin(PATH_EN_3_5G_L_GPIO_Port,PATH_EN_3_5G_L_Pin, GPIO_PIN_RESET);
155
+//                printf("\r\n LINE %d\r\n",__LINE__);
156
+            }
157
+            break;
158
+        case INDEX_PATH_EN_3_5G_H   : 
159
+            if(cmd){
160
+                HAL_GPIO_WritePin(PATH_EN_3_5G_H_GPIO_Port,PATH_EN_3_5G_H_Pin, GPIO_PIN_SET);
161
+//                            printf("\r\n LINE %d\r\n",__LINE__);
162
+            }
163
+            else{
164
+                HAL_GPIO_WritePin(PATH_EN_3_5G_H_GPIO_Port,PATH_EN_3_5G_H_Pin, GPIO_PIN_RESET);
165
+//                            printf("\r\n LINE %d\r\n",__LINE__);
166
+            }
167
+            break;
168
+        case INDEX_PATH_EN_3_5G_DL  : 
169
+#ifdef DEBUG_PRINT
170
+            printf("\r\n LINE %d\r\n",__LINE__);
171
+#endif /* DEBUG_PRINT */
172
+            if(cmd)
173
+                HAL_GPIO_WritePin(PATH_EN_3_5G_DL_GPIO_Port,PATH_EN_3_5G_DL_Pin, GPIO_PIN_SET);
174
+            else
175
+                HAL_GPIO_WritePin(PATH_EN_3_5G_DL_GPIO_Port,PATH_EN_3_5G_DL_Pin, GPIO_PIN_RESET);
176
+            break;
177
+        case INDEX_PATH_EN_3_5G_UL  : 
178
+#ifdef DEBUG_PRINT
179
+            printf("\r\n LINE %d\r\n",__LINE__);
180
+#endif /* DEBUG_PRINT */
181
+            if(cmd)
182
+                HAL_GPIO_WritePin(PATH_EN_3_5G_UL_GPIO_Port,PATH_EN_3_5G_UL_Pin, GPIO_PIN_SET);
183
+            else
184
+                HAL_GPIO_WritePin(PATH_EN_3_5G_UL_GPIO_Port,PATH_EN_3_5G_UL_Pin, GPIO_PIN_RESET);
185
+            break;
186
+        case INDEX_PLL_ON_OFF_3_5G_H: 
187
+//            printf("\r\n LINE %d\r\n",__LINE__);
188
+            if(cmd)
189
+                HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_H_GPIO_Port,PLL_ON_OFF_3_5G_H_Pin, GPIO_PIN_SET);
190
+            else
191
+                HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_H_GPIO_Port,PLL_ON_OFF_3_5G_H_Pin, GPIO_PIN_RESET);
192
+            break;
193
+        case INDEX_PLL_ON_OFF_3_5G_L: 
194
+//            printf("\r\n LINE %d\r\n",__LINE__);
195
+            if(cmd)
196
+                HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_L_GPIO_Port,PLL_ON_OFF_3_5G_L_Pin, GPIO_PIN_SET);  
197
+            else
198
+                HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_L_GPIO_Port,PLL_ON_OFF_3_5G_L_Pin, GPIO_PIN_RESET);
199
+            break;
200
+        case INDEX_T_SYNC_DL:
201
+        case INDEX__T_SYNC_UL:
202
+        case INDEX_T_SYNC_UL:
203
+        case INDEX__T_SYNC_DL:
204
+            if(cmd){
205
+                HAL_GPIO_WritePin(_T_SYNC_UL_GPIO_Port,_T_SYNC_UL_Pin, GPIO_PIN_RESET);
206
+                HAL_GPIO_WritePin(T_SYNC_UL_GPIO_Port,T_SYNC_UL_Pin, GPIO_PIN_RESET);
207
+                HAL_GPIO_WritePin(_T_SYNC_DL_GPIO_Port,_T_SYNC_DL_Pin, GPIO_PIN_SET);
208
+                HAL_GPIO_WritePin(T_SYNC_DL_GPIO_Port,T_SYNC_DL_Pin, GPIO_PIN_SET);                
209
+            }
210
+            else{
211
+                HAL_GPIO_WritePin(_T_SYNC_UL_GPIO_Port,_T_SYNC_UL_Pin, GPIO_PIN_SET);
212
+                HAL_GPIO_WritePin(T_SYNC_UL_GPIO_Port,T_SYNC_UL_Pin, GPIO_PIN_SET);
213
+                HAL_GPIO_WritePin(_T_SYNC_DL_GPIO_Port,_T_SYNC_DL_Pin, GPIO_PIN_RESET);
214
+                HAL_GPIO_WritePin(T_SYNC_DL_GPIO_Port,T_SYNC_DL_Pin, GPIO_PIN_RESET);                
215
+            }
216
+#ifdef DEBUG_PRINT
217
+            printf("TDD SYNC OPERATE ; %d\r\n",cmd);
218
+#endif /* DEBUG_PRINT */
219
+            break;
220
+        default :
221
+#ifdef DEBUG_PRINT
222
+        printf("Function : %s LINE : %d   ERROR \r\n",__func__,__LINE__);
223
+#endif /* DEBUG_PRINT */
224
+    break;
225
+
226
+    }
227
+}
228
+void ATTEN_PLL_PATH_Initialize(void){
229
+#if 0 // PYJ.2019.07.31_BEGIN -- 
230
+        for(int i = 0; i < INDEX_BLUE_EOF + 1; i++){
231
+            printf("Data = %x\r\n",  Flash_Save_data[i]);
232
+        }
233
+#endif // PYJ.2019.07.31_END -- 
234
+    Flash_Save_data[INDEX_BLUE_CRC]      = STH30_CreateCrc(&Flash_Save_data[Type], Flash_Save_data[Length]);
235
+    RF_Ctrl_Main(&Flash_Save_data[INDEX_BLUE_HEADER]);
236
+    RF_Status_Get();
237
+}
238
+void Power_ON_OFF_Initialize(void){
239
+  /* * * PATH PLL ON OFF SECTION* * */
240
+  HAL_GPIO_WritePin(PATH_EN_3_5G_L_GPIO_Port   ,PATH_EN_3_5G_L_Pin   , GPIO_PIN_RESET);
241
+  HAL_GPIO_WritePin(PATH_EN_3_5G_H_GPIO_Port   ,PATH_EN_3_5G_H_Pin   , GPIO_PIN_RESET);
242
+  HAL_GPIO_WritePin(PATH_EN_3_5G_DL_GPIO_Port  ,PATH_EN_3_5G_DL_Pin  , GPIO_PIN_RESET);
243
+  HAL_GPIO_WritePin(PATH_EN_3_5G_UL_GPIO_Port  ,PATH_EN_3_5G_UL_Pin  , GPIO_PIN_RESET);
244
+  HAL_GPIO_WritePin(PATH_EN_3_5G_L_GPIO_Port   ,PATH_EN_3_5G_L_Pin   , GPIO_PIN_RESET);  
245
+  HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_H_GPIO_Port,PLL_ON_OFF_3_5G_H_Pin, GPIO_PIN_RESET);
246
+  HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_L_GPIO_Port,PLL_ON_OFF_3_5G_L_Pin, GPIO_PIN_RESET);  
247
+  HAL_GPIO_WritePin(PATH_EN_2_1G_DL_GPIO_Port  ,PATH_EN_2_1G_DL_Pin  , GPIO_PIN_RESET);
248
+  HAL_GPIO_WritePin(PATH_EN_2_1G_UL_GPIO_Port  ,PATH_EN_2_1G_UL_Pin  , GPIO_PIN_RESET);
249
+  HAL_GPIO_WritePin(PATH_EN_1_8G_DL_GPIO_Port  ,PATH_EN_1_8G_DL_Pin  , GPIO_PIN_RESET);
250
+  HAL_GPIO_WritePin(PATH_EN_1_8G_UL_GPIO_Port  ,PATH_EN_1_8G_UL_Pin  , GPIO_PIN_RESET);
251
+  /* * * TDD SECTION* * */
252
+  HAL_GPIO_WritePin(_T_SYNC_UL_GPIO_Port,_T_SYNC_UL_Pin, GPIO_PIN_RESET);
253
+  HAL_GPIO_WritePin(T_SYNC_UL_GPIO_Port,T_SYNC_UL_Pin, GPIO_PIN_RESET);
254
+  HAL_GPIO_WritePin(_T_SYNC_DL_GPIO_Port,_T_SYNC_DL_Pin, GPIO_PIN_SET);
255
+  HAL_GPIO_WritePin(T_SYNC_DL_GPIO_Port,T_SYNC_DL_Pin, GPIO_PIN_SET);   
256
+  HAL_Delay(1);
257
+}
258
+
259
+void Error_Message_Occur(PLL_Error mode){
260
+  static uint8_t temp_data[7]; 
261
+  temp_data[INDEX_BLUE_HEADER]       = BLUECELL_HEADER;
262
+  temp_data[INDEX_BLUE_TYPE]         = TYPE_BLUECELL_ERROR;
263
+  temp_data[INDEX_BLUE_LENGTH]       = 4;
264
+  temp_data[INDEX_BLUE_CRCINDEX + 0] = INDEX_BLUE_CRCINDEX + 2;
265
+ 
266
+ 
267
+  switch(mode){
268
+    case DL_1_8:
269
+      temp_data[INDEX_BLUE_CRCINDEX + 1] = DL_1_8;
270
+      break;
271
+    case UL_1_8:
272
+      temp_data[INDEX_BLUE_CRCINDEX + 1] = UL_1_8;
273
+      break;
274
+    case DL_2_1:
275
+      temp_data[INDEX_BLUE_CRCINDEX + 1] = DL_2_1;
276
+      break;
277
+    case UL_2_1:
278
+      temp_data[INDEX_BLUE_CRCINDEX + 1] = UL_2_1;
279
+      break;
280
+  }
281
+  temp_data[INDEX_BLUE_CRCINDEX + 2] = STH30_CreateCrc(&temp_data[Type], temp_data[Length]);
282
+  temp_data[INDEX_BLUE_CRCINDEX + 3] = BLUECELL_TAILER;
283
+  HAL_UART_Transmit_DMA(&huart1,&temp_data[INDEX_BLUE_HEADER],temp_data[INDEX_BLUE_LENGTH]  + 3); 
284
+}
285
+void Pol_Delay_us(volatile uint32_t microseconds)
286
+{
287
+  /* Go to number of cycles for system */
288
+  microseconds *= (SystemCoreClock / 1000000);
289
+ 
290
+  /* Delay till end */
291
+  while (microseconds--);
292
+}
293
+void Boot_LED_Toggle(void){
294
+  if(LedTimerCnt > 500){HAL_GPIO_TogglePin(BOOT_LED_GPIO_Port,GPIO_PIN_14);LedTimerCnt = 0;}
295
+}
296
+void ADC_Check(void){
297
+      if(AdcTimerCnt > 2500){
298
+          for(uint8_t i = 0; i< ADC_EA; i++ ){
299
+          Prev_data[INDEX_DET_1_8G_DL_IN_H + i*2]     = (uint16_t)((ADCvalue[i] & 0xFF00) >> 8);
300
+          Prev_data[INDEX_DET_1_8G_DL_IN_L + i*2]     = (uint16_t)(ADCvalue[i] & 0x00FF);
301
+          AdcTimerCnt = 0;
302
+#if 0 // PYJ.2019.08.09_BEGIN -- 
303
+          printf("Prev_data[%d] : %x",i,Prev_data[INDEX_DET_1_8G_DL_IN_H + i]);
304
+          printf("%x\r\n",i,Prev_data[INDEX_DET_1_8G_DL_IN_L + i]);            
305
+#endif // PYJ.2019.08.09_END -- 
306
+         }
307
+      }
308
+}
309
+void Uart_Check(void){
310
+  while (TerminalQueue.data > 0 && UartRxTimerCnt > 100) GetDataFromUartQueue(&hTerminal);
311
+}
312
+

+ 636 - 0
insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/main(2945).c

@@ -0,0 +1,636 @@
1
+/* USER CODE BEGIN Header */
2
+/**
3
+  ******************************************************************************
4
+  * @file           : main.c
5
+  * @brief          : Main program body
6
+  ******************************************************************************
7
+  * @attention
8
+  *
9
+  * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
10
+  * All rights reserved.</center></h2>
11
+  *
12
+  * This software component is licensed by ST under BSD 3-Clause license,
13
+  * the "License"; You may not use this file except in compliance with the
14
+  * License. You may obtain a copy of the License at:
15
+  *                        opensource.org/licenses/BSD-3-Clause
16
+  *
17
+  ******************************************************************************
18
+  */
19
+/* USER CODE END Header */
20
+
21
+/* Includes ------------------------------------------------------------------*/
22
+#include "main.h"
23
+
24
+/* Private includes ----------------------------------------------------------*/
25
+/* USER CODE BEGIN Includes */
26
+
27
+/* USER CODE END Includes */
28
+
29
+/* Private typedef -----------------------------------------------------------*/
30
+/* USER CODE BEGIN PTD */
31
+
32
+/* USER CODE END PTD */
33
+
34
+/* Private define ------------------------------------------------------------*/
35
+/* USER CODE BEGIN PD */
36
+
37
+/* USER CODE END PD */
38
+
39
+/* Private macro -------------------------------------------------------------*/
40
+/* USER CODE BEGIN PM */
41
+
42
+/* USER CODE END PM */
43
+
44
+/* Private variables ---------------------------------------------------------*/
45
+ADC_HandleTypeDef hadc1;
46
+DMA_HandleTypeDef hdma_adc1;
47
+
48
+TIM_HandleTypeDef htim6;
49
+
50
+UART_HandleTypeDef huart1;
51
+DMA_HandleTypeDef hdma_usart1_rx;
52
+DMA_HandleTypeDef hdma_usart1_tx;
53
+
54
+/* USER CODE BEGIN PV */
55
+volatile uint32_t AdcTimerCnt = 0;
56
+volatile uint32_t LedTimerCnt = 0;
57
+volatile uint32_t UartRxTimerCnt = 0;
58
+volatile uint32_t LDTimerCnt = 0;
59
+
60
+extern PLL_Setting_st Pll_3_5_H;
61
+extern PLL_Setting_st Pll_3_5_L;
62
+
63
+//volatile uint32_t UartTxTimerCnt = 0;
64
+
65
+/* USER CODE END PV */
66
+
67
+/* Private function prototypes -----------------------------------------------*/
68
+void SystemClock_Config(void);
69
+static void MX_GPIO_Init(void);
70
+static void MX_DMA_Init(void);
71
+static void MX_ADC1_Init(void);
72
+static void MX_USART1_UART_Init(void);
73
+static void MX_TIM6_Init(void);
74
+static void MX_NVIC_Init(void);
75
+/* USER CODE BEGIN PFP */
76
+void ADF4153_Module_Ctrl(PLL_Setting_st pll,uint32_t R0,uint32_t R1,uint32_t R2,uint32_t R3);
77
+/* USER CODE END PFP */
78
+
79
+/* Private user code ---------------------------------------------------------*/
80
+/* USER CODE BEGIN 0 */
81
+
82
+
83
+void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
84
+{
85
+    if(htim->Instance == TIM6){
86
+        UartRxTimerCnt++;
87
+        LedTimerCnt++;
88
+        AdcTimerCnt++;
89
+        LDTimerCnt++;
90
+    }
91
+} 
92
+int _write (int file, uint8_t *ptr, uint16_t len)
93
+{
94
+    HAL_UART_Transmit(&huart1, ptr, len,10);
95
+    return len;
96
+}
97
+
98
+/* USER CODE END 0 */
99
+
100
+/**
101
+  * @brief  The application entry point.
102
+  * @retval int
103
+  */
104
+int main(void)
105
+{
106
+  /* USER CODE BEGIN 1 */
107
+ 
108
+
109
+  /* USER CODE END 1 */
110
+  
111
+
112
+  /* MCU Configuration--------------------------------------------------------*/
113
+
114
+  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
115
+  HAL_Init();
116
+
117
+  /* USER CODE BEGIN Init */
118
+
119
+  /* USER CODE END Init */
120
+
121
+  /* Configure the system clock */
122
+  SystemClock_Config();
123
+
124
+  /* USER CODE BEGIN SysInit */
125
+
126
+  /* USER CODE END SysInit */
127
+
128
+  /* Initialize all configured peripherals */
129
+  MX_GPIO_Init();
130
+  MX_DMA_Init();
131
+  MX_ADC1_Init();
132
+  MX_USART1_UART_Init();
133
+  MX_TIM6_Init();
134
+
135
+  /* Initialize interrupts */
136
+  MX_NVIC_Init();
137
+  /* USER CODE BEGIN 2 */
138
+  InitUartQueue(&TerminalQueue);
139
+  PE43711_PinInit();
140
+  Power_ON_OFF_Initialize();  
141
+  Path_Init();
142
+  while(!(HAL_ADCEx_Calibration_Start(&hadc1)==HAL_OK));
143
+  Bluecell_Flash_Read(&Flash_Save_data[INDEX_BLUE_HEADER]);
144
+  ADF4153_Initialize();
145
+  ADF4113_Initialize();
146
+  ATTEN_PLL_PATH_Initialize();
147
+  HAL_ADC_Start_DMA(&hadc1, (uint32_t*)ADCvalue, 14);
148
+  /* USER CODE END 2 */
149
+
150
+  /* Infinite loop */
151
+  /* USER CODE BEGIN WHILE */
152
+  while (1)
153
+  {
154
+    ADF4113_Check();
155
+    ADF4153_Check();
156
+    Boot_LED_Toggle();
157
+    Uart_Check();
158
+    ADC_Check();
159
+    /* USER CODE END WHILE */
160
+
161
+    /* USER CODE BEGIN 3 */
162
+  }
163
+  /* USER CODE END 3 */
164
+}
165
+
166
+/**
167
+  * @brief System Clock Configuration
168
+  * @retval None
169
+  */
170
+void SystemClock_Config(void)
171
+{
172
+  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
173
+  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
174
+  RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
175
+
176
+  /** Initializes the CPU, AHB and APB busses clocks 
177
+  */
178
+  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
179
+  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
180
+  RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
181
+  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
182
+  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2;
183
+  RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL14;
184
+  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
185
+  {
186
+    Error_Handler();
187
+  }
188
+  /** Initializes the CPU, AHB and APB busses clocks 
189
+  */
190
+  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
191
+                              |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
192
+  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
193
+  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
194
+  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
195
+  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
196
+
197
+  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
198
+  {
199
+    Error_Handler();
200
+  }
201
+  PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC;
202
+  PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV4;
203
+  if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
204
+  {
205
+    Error_Handler();
206
+  }
207
+}
208
+
209
+/**
210
+  * @brief NVIC Configuration.
211
+  * @retval None
212
+  */
213
+static void MX_NVIC_Init(void)
214
+{
215
+  /* USART1_IRQn interrupt configuration */
216
+  HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
217
+  HAL_NVIC_EnableIRQ(USART1_IRQn);
218
+  /* TIM6_IRQn interrupt configuration */
219
+  HAL_NVIC_SetPriority(TIM6_IRQn, 0, 0);
220
+  HAL_NVIC_EnableIRQ(TIM6_IRQn);
221
+  /* DMA1_Channel1_IRQn interrupt configuration */
222
+  HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 0);
223
+  HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
224
+  /* DMA1_Channel4_IRQn interrupt configuration */
225
+  HAL_NVIC_SetPriority(DMA1_Channel4_IRQn, 0, 0);
226
+  HAL_NVIC_EnableIRQ(DMA1_Channel4_IRQn);
227
+  /* DMA1_Channel5_IRQn interrupt configuration */
228
+  HAL_NVIC_SetPriority(DMA1_Channel5_IRQn, 0, 0);
229
+  HAL_NVIC_EnableIRQ(DMA1_Channel5_IRQn);
230
+}
231
+
232
+/**
233
+  * @brief ADC1 Initialization Function
234
+  * @param None
235
+  * @retval None
236
+  */
237
+static void MX_ADC1_Init(void)
238
+{
239
+
240
+  /* USER CODE BEGIN ADC1_Init 0 */
241
+
242
+  /* USER CODE END ADC1_Init 0 */
243
+
244
+  ADC_ChannelConfTypeDef sConfig = {0};
245
+
246
+  /* USER CODE BEGIN ADC1_Init 1 */
247
+
248
+  /* USER CODE END ADC1_Init 1 */
249
+  /** Common config 
250
+  */
251
+  hadc1.Instance = ADC1;
252
+  hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE;
253
+  hadc1.Init.ContinuousConvMode = ENABLE;
254
+  hadc1.Init.DiscontinuousConvMode = DISABLE;
255
+  hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
256
+  hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
257
+  hadc1.Init.NbrOfConversion = 14;
258
+  if (HAL_ADC_Init(&hadc1) != HAL_OK)
259
+  {
260
+    Error_Handler();
261
+  }
262
+  /** Configure Regular Channel 
263
+  */
264
+  sConfig.Channel = ADC_CHANNEL_0;
265
+  sConfig.Rank = ADC_REGULAR_RANK_1;
266
+  sConfig.SamplingTime = ADC_SAMPLETIME_239CYCLES_5;
267
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
268
+  {
269
+    Error_Handler();
270
+  }
271
+  /** Configure Regular Channel 
272
+  */
273
+  sConfig.Channel = ADC_CHANNEL_1;
274
+  sConfig.Rank = ADC_REGULAR_RANK_2;
275
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
276
+  {
277
+    Error_Handler();
278
+  }
279
+  /** Configure Regular Channel 
280
+  */
281
+  sConfig.Channel = ADC_CHANNEL_2;
282
+  sConfig.Rank = ADC_REGULAR_RANK_3;
283
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
284
+  {
285
+    Error_Handler();
286
+  }
287
+  /** Configure Regular Channel 
288
+  */
289
+  sConfig.Channel = ADC_CHANNEL_3;
290
+  sConfig.Rank = ADC_REGULAR_RANK_4;
291
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
292
+  {
293
+    Error_Handler();
294
+  }
295
+  /** Configure Regular Channel 
296
+  */
297
+  sConfig.Channel = ADC_CHANNEL_4;
298
+  sConfig.Rank = ADC_REGULAR_RANK_5;
299
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
300
+  {
301
+    Error_Handler();
302
+  }
303
+  /** Configure Regular Channel 
304
+  */
305
+  sConfig.Channel = ADC_CHANNEL_5;
306
+  sConfig.Rank = ADC_REGULAR_RANK_6;
307
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
308
+  {
309
+    Error_Handler();
310
+  }
311
+  /** Configure Regular Channel 
312
+  */
313
+  sConfig.Channel = ADC_CHANNEL_6;
314
+  sConfig.Rank = ADC_REGULAR_RANK_7;
315
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
316
+  {
317
+    Error_Handler();
318
+  }
319
+  /** Configure Regular Channel 
320
+  */
321
+  sConfig.Channel = ADC_CHANNEL_7;
322
+  sConfig.Rank = ADC_REGULAR_RANK_8;
323
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
324
+  {
325
+    Error_Handler();
326
+  }
327
+  /** Configure Regular Channel 
328
+  */
329
+  sConfig.Channel = ADC_CHANNEL_8;
330
+  sConfig.Rank = ADC_REGULAR_RANK_9;
331
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
332
+  {
333
+    Error_Handler();
334
+  }
335
+  /** Configure Regular Channel 
336
+  */
337
+  sConfig.Channel = ADC_CHANNEL_9;
338
+  sConfig.Rank = ADC_REGULAR_RANK_10;
339
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
340
+  {
341
+    Error_Handler();
342
+  }
343
+  /** Configure Regular Channel 
344
+  */
345
+  sConfig.Channel = ADC_CHANNEL_10;
346
+  sConfig.Rank = ADC_REGULAR_RANK_11;
347
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
348
+  {
349
+    Error_Handler();
350
+  }
351
+  /** Configure Regular Channel 
352
+  */
353
+  sConfig.Channel = ADC_CHANNEL_11;
354
+  sConfig.Rank = ADC_REGULAR_RANK_12;
355
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
356
+  {
357
+    Error_Handler();
358
+  }
359
+  /** Configure Regular Channel 
360
+  */
361
+  sConfig.Channel = ADC_CHANNEL_12;
362
+  sConfig.Rank = ADC_REGULAR_RANK_13;
363
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
364
+  {
365
+    Error_Handler();
366
+  }
367
+  /** Configure Regular Channel 
368
+  */
369
+  sConfig.Channel = ADC_CHANNEL_13;
370
+  sConfig.Rank = ADC_REGULAR_RANK_14;
371
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
372
+  {
373
+    Error_Handler();
374
+  }
375
+  /* USER CODE BEGIN ADC1_Init 2 */
376
+
377
+  /* USER CODE END ADC1_Init 2 */
378
+
379
+}
380
+
381
+/**
382
+  * @brief TIM6 Initialization Function
383
+  * @param None
384
+  * @retval None
385
+  */
386
+static void MX_TIM6_Init(void)
387
+{
388
+
389
+  /* USER CODE BEGIN TIM6_Init 0 */
390
+
391
+  /* USER CODE END TIM6_Init 0 */
392
+
393
+  TIM_MasterConfigTypeDef sMasterConfig = {0};
394
+
395
+  /* USER CODE BEGIN TIM6_Init 1 */
396
+
397
+  /* USER CODE END TIM6_Init 1 */
398
+  htim6.Instance = TIM6;
399
+  htim6.Init.Prescaler = 5600-1;
400
+  htim6.Init.CounterMode = TIM_COUNTERMODE_UP;
401
+  htim6.Init.Period = 10;
402
+  htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
403
+  if (HAL_TIM_Base_Init(&htim6) != HAL_OK)
404
+  {
405
+    Error_Handler();
406
+  }
407
+  sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
408
+  sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
409
+  if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK)
410
+  {
411
+    Error_Handler();
412
+  }
413
+  /* USER CODE BEGIN TIM6_Init 2 */
414
+
415
+  /* USER CODE END TIM6_Init 2 */
416
+
417
+}
418
+
419
+/**
420
+  * @brief USART1 Initialization Function
421
+  * @param None
422
+  * @retval None
423
+  */
424
+static void MX_USART1_UART_Init(void)
425
+{
426
+
427
+  /* USER CODE BEGIN USART1_Init 0 */
428
+
429
+  /* USER CODE END USART1_Init 0 */
430
+
431
+  /* USER CODE BEGIN USART1_Init 1 */
432
+
433
+  /* USER CODE END USART1_Init 1 */
434
+  huart1.Instance = USART1;
435
+  huart1.Init.BaudRate = 115200;
436
+  huart1.Init.WordLength = UART_WORDLENGTH_8B;
437
+  huart1.Init.StopBits = UART_STOPBITS_1;
438
+  huart1.Init.Parity = UART_PARITY_NONE;
439
+  huart1.Init.Mode = UART_MODE_TX_RX;
440
+  huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
441
+  huart1.Init.OverSampling = UART_OVERSAMPLING_16;
442
+  if (HAL_UART_Init(&huart1) != HAL_OK)
443
+  {
444
+    Error_Handler();
445
+  }
446
+  /* USER CODE BEGIN USART1_Init 2 */
447
+
448
+  /* USER CODE END USART1_Init 2 */
449
+
450
+}
451
+
452
+/** 
453
+  * Enable DMA controller clock
454
+  */
455
+static void MX_DMA_Init(void) 
456
+{
457
+  /* DMA controller clock enable */
458
+  __HAL_RCC_DMA1_CLK_ENABLE();
459
+
460
+}
461
+
462
+/**
463
+  * @brief GPIO Initialization Function
464
+  * @param None
465
+  * @retval None
466
+  */
467
+static void MX_GPIO_Init(void)
468
+{
469
+  GPIO_InitTypeDef GPIO_InitStruct = {0};
470
+
471
+  /* GPIO Ports Clock Enable */
472
+  __HAL_RCC_GPIOE_CLK_ENABLE();
473
+  __HAL_RCC_GPIOC_CLK_ENABLE();
474
+  __HAL_RCC_GPIOF_CLK_ENABLE();
475
+  __HAL_RCC_GPIOA_CLK_ENABLE();
476
+  __HAL_RCC_GPIOB_CLK_ENABLE();
477
+  __HAL_RCC_GPIOD_CLK_ENABLE();
478
+  __HAL_RCC_GPIOG_CLK_ENABLE();
479
+
480
+  /*Configure GPIO pin Output Level */
481
+  HAL_GPIO_WritePin(GPIOE, ATT_EN_1_8G_DL1_Pin|ATT_EN_1_8G_DL2_Pin|ATT_EN_1_8G_UL1_Pin|ATT_EN_1_8G_UL2_Pin 
482
+                          |ATT_EN_1_8G_UL3_Pin|PATH_EN_2_1G_DL_Pin|PATH_EN_2_1G_UL_Pin, GPIO_PIN_RESET);
483
+
484
+  /*Configure GPIO pin Output Level */
485
+  HAL_GPIO_WritePin(GPIOC, ATT_EN_1_8G_UL4_Pin|PATH_EN_1_8G_DL_Pin|PATH_EN_1_8G_UL_Pin|PLL_EN_3_5G_L_Pin 
486
+                          |PLL_EN_3_5G_H_Pin|PLL_ON_OFF_3_5G_L_Pin|PLL_DATA_3_5G_Pin|PLL_ON_OFF_3_5G_H_Pin, GPIO_PIN_RESET);
487
+
488
+  /*Configure GPIO pin Output Level */
489
+  HAL_GPIO_WritePin(GPIOF, PLL_EN_1_8G_DL_Pin|PLL_EN_1_8G_UL_Pin|ATT_EN_2_1G_DL1_Pin|ATT_EN_2_1G_DL2_Pin 
490
+                          |ATT_EN_2_1G_UL1_Pin|ATT_EN_2_1G_UL2_Pin|ATT_EN_2_1G_UL3_Pin|ATT_EN_2_1G_UL4_Pin, GPIO_PIN_RESET);
491
+
492
+  /*Configure GPIO pin Output Level */
493
+  HAL_GPIO_WritePin(GPIOD, PLL_DATA_Pin|PLL_CLK_Pin|ATT_DATA_Pin|ATT_CLK_Pin 
494
+                          |DA_LDAC_Pin|ATT_CLK_3_5G_Pin|ATT_EN_3_5G_Pin|ATT_DATA_3_5G_DL_Pin 
495
+                          |ATT_DATA_3_5G_UL_Pin|ATT_DATA_3_5G_COM1_Pin|ATT_DATA_3_5G_COM2_Pin|ATT_DATA_3_5G_COM3_Pin 
496
+                          |PATH_EN_3_5G_L_Pin, GPIO_PIN_RESET);
497
+
498
+  /*Configure GPIO pin Output Level */
499
+  HAL_GPIO_WritePin(GPIOG, DA_SYNC_Pin|DA_SCLK_Pin|DA_DIN_Pin|_T_SYNC_UL_Pin 
500
+                          |T_SYNC_UL_Pin|_T_SYNC_DL_Pin|T_SYNC_DL_Pin|PATH_EN_3_5G_H_Pin 
501
+                          |PATH_EN_3_5G_DL_Pin|PATH_EN_3_5G_UL_Pin|PLL_ON_OFF_3_5G_LG12_Pin|PLL_ON_OFF_3_5G_HG13_Pin 
502
+                          |BOOT_LED_Pin, GPIO_PIN_RESET);
503
+
504
+  /*Configure GPIO pin Output Level */
505
+  HAL_GPIO_WritePin(PLL_CLK_3_5G_GPIO_Port, PLL_CLK_3_5G_Pin, GPIO_PIN_RESET);
506
+
507
+  /*Configure GPIO pin Output Level */
508
+  HAL_GPIO_WritePin(GPIOB, PLL_EN_2_1G_DL_Pin|PLL_EN_2_1G_UL_Pin, GPIO_PIN_RESET);
509
+
510
+  /*Configure GPIO pins : ATT_EN_1_8G_DL1_Pin ATT_EN_1_8G_DL2_Pin ATT_EN_1_8G_UL1_Pin ATT_EN_1_8G_UL2_Pin 
511
+                           ATT_EN_1_8G_UL3_Pin PATH_EN_2_1G_DL_Pin PATH_EN_2_1G_UL_Pin */
512
+  GPIO_InitStruct.Pin = ATT_EN_1_8G_DL1_Pin|ATT_EN_1_8G_DL2_Pin|ATT_EN_1_8G_UL1_Pin|ATT_EN_1_8G_UL2_Pin 
513
+                          |ATT_EN_1_8G_UL3_Pin|PATH_EN_2_1G_DL_Pin|PATH_EN_2_1G_UL_Pin;
514
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
515
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
516
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
517
+  HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
518
+
519
+  /*Configure GPIO pins : ATT_EN_1_8G_UL4_Pin PATH_EN_1_8G_DL_Pin PATH_EN_1_8G_UL_Pin PLL_EN_3_5G_L_Pin 
520
+                           PLL_EN_3_5G_H_Pin PLL_ON_OFF_3_5G_L_Pin PLL_DATA_3_5G_Pin PLL_ON_OFF_3_5G_H_Pin */
521
+  GPIO_InitStruct.Pin = ATT_EN_1_8G_UL4_Pin|PATH_EN_1_8G_DL_Pin|PATH_EN_1_8G_UL_Pin|PLL_EN_3_5G_L_Pin 
522
+                          |PLL_EN_3_5G_H_Pin|PLL_ON_OFF_3_5G_L_Pin|PLL_DATA_3_5G_Pin|PLL_ON_OFF_3_5G_H_Pin;
523
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
524
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
525
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
526
+  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
527
+
528
+  /*Configure GPIO pins : PLL_EN_1_8G_DL_Pin PLL_EN_1_8G_UL_Pin ATT_EN_2_1G_DL1_Pin ATT_EN_2_1G_DL2_Pin 
529
+                           ATT_EN_2_1G_UL1_Pin ATT_EN_2_1G_UL2_Pin ATT_EN_2_1G_UL3_Pin ATT_EN_2_1G_UL4_Pin */
530
+  GPIO_InitStruct.Pin = PLL_EN_1_8G_DL_Pin|PLL_EN_1_8G_UL_Pin|ATT_EN_2_1G_DL1_Pin|ATT_EN_2_1G_DL2_Pin 
531
+                          |ATT_EN_2_1G_UL1_Pin|ATT_EN_2_1G_UL2_Pin|ATT_EN_2_1G_UL3_Pin|ATT_EN_2_1G_UL4_Pin;
532
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
533
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
534
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
535
+  HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
536
+
537
+  /*Configure GPIO pins : PLL_LD_1_8G_DL_Pin PLL_LD_1_8G_UL_Pin */
538
+  GPIO_InitStruct.Pin = PLL_LD_1_8G_DL_Pin|PLL_LD_1_8G_UL_Pin;
539
+  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
540
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
541
+  HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
542
+
543
+  /*Configure GPIO pins : PLL_DATA_Pin PLL_CLK_Pin ATT_DATA_Pin ATT_CLK_Pin 
544
+                           DA_LDAC_Pin ATT_CLK_3_5G_Pin ATT_EN_3_5G_Pin ATT_DATA_3_5G_DL_Pin 
545
+                           ATT_DATA_3_5G_UL_Pin ATT_DATA_3_5G_COM1_Pin ATT_DATA_3_5G_COM2_Pin ATT_DATA_3_5G_COM3_Pin 
546
+                           PATH_EN_3_5G_L_Pin */
547
+  GPIO_InitStruct.Pin = PLL_DATA_Pin|PLL_CLK_Pin|ATT_DATA_Pin|ATT_CLK_Pin 
548
+                          |DA_LDAC_Pin|ATT_CLK_3_5G_Pin|ATT_EN_3_5G_Pin|ATT_DATA_3_5G_DL_Pin 
549
+                          |ATT_DATA_3_5G_UL_Pin|ATT_DATA_3_5G_COM1_Pin|ATT_DATA_3_5G_COM2_Pin|ATT_DATA_3_5G_COM3_Pin 
550
+                          |PATH_EN_3_5G_L_Pin;
551
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
552
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
553
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
554
+  HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
555
+
556
+  /*Configure GPIO pins : ALARM_DC_Pin ALARM_AC_Pin */
557
+  GPIO_InitStruct.Pin = ALARM_DC_Pin|ALARM_AC_Pin;
558
+  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
559
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
560
+  HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
561
+
562
+  /*Configure GPIO pins : DA_SYNC_Pin DA_SCLK_Pin DA_DIN_Pin _T_SYNC_UL_Pin 
563
+                           T_SYNC_UL_Pin _T_SYNC_DL_Pin T_SYNC_DL_Pin PATH_EN_3_5G_H_Pin 
564
+                           PATH_EN_3_5G_DL_Pin PATH_EN_3_5G_UL_Pin PLL_ON_OFF_3_5G_LG12_Pin PLL_ON_OFF_3_5G_HG13_Pin 
565
+                           BOOT_LED_Pin */
566
+  GPIO_InitStruct.Pin = DA_SYNC_Pin|DA_SCLK_Pin|DA_DIN_Pin|_T_SYNC_UL_Pin 
567
+                          |T_SYNC_UL_Pin|_T_SYNC_DL_Pin|T_SYNC_DL_Pin|PATH_EN_3_5G_H_Pin 
568
+                          |PATH_EN_3_5G_DL_Pin|PATH_EN_3_5G_UL_Pin|PLL_ON_OFF_3_5G_LG12_Pin|PLL_ON_OFF_3_5G_HG13_Pin 
569
+                          |BOOT_LED_Pin;
570
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
571
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
572
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
573
+  HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
574
+
575
+  /*Configure GPIO pins : PLL_LD_3_5G_L_Pin PLL_LD_3_5G_H_Pin */
576
+  GPIO_InitStruct.Pin = PLL_LD_3_5G_L_Pin|PLL_LD_3_5G_H_Pin;
577
+  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
578
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
579
+  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
580
+
581
+  /*Configure GPIO pin : PLL_CLK_3_5G_Pin */
582
+  GPIO_InitStruct.Pin = PLL_CLK_3_5G_Pin;
583
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
584
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
585
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
586
+  HAL_GPIO_Init(PLL_CLK_3_5G_GPIO_Port, &GPIO_InitStruct);
587
+
588
+  /*Configure GPIO pins : PLL_EN_2_1G_DL_Pin PLL_EN_2_1G_UL_Pin */
589
+  GPIO_InitStruct.Pin = PLL_EN_2_1G_DL_Pin|PLL_EN_2_1G_UL_Pin;
590
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
591
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
592
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
593
+  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
594
+
595
+  /*Configure GPIO pins : PLL_LD_2_1G_DL_Pin PLL_LD_2_1G_UL_Pin */
596
+  GPIO_InitStruct.Pin = PLL_LD_2_1G_DL_Pin|PLL_LD_2_1G_UL_Pin;
597
+  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
598
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
599
+  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
600
+
601
+}
602
+
603
+/* USER CODE BEGIN 4 */
604
+
605
+/* USER CODE END 4 */
606
+
607
+/**
608
+  * @brief  This function is executed in case of error occurrence.
609
+  * @retval None
610
+  */
611
+void Error_Handler(void)
612
+{
613
+  /* USER CODE BEGIN Error_Handler_Debug */
614
+  /* User can add his own implementation to report the HAL error return state */
615
+
616
+  /* USER CODE END Error_Handler_Debug */
617
+}
618
+
619
+#ifdef  USE_FULL_ASSERT
620
+/**
621
+  * @brief  Reports the name of the source file and the source line number
622
+  *         where the assert_param error has occurred.
623
+  * @param  file: pointer to the source file name
624
+  * @param  line: assert_param error line source number
625
+  * @retval None
626
+  */
627
+void assert_failed(uint8_t *file, uint32_t line)
628
+{ 
629
+  /* USER CODE BEGIN 6 */
630
+  /* User can add his own implementation to report the file name and line number,
631
+     tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
632
+  /* USER CODE END 6 */
633
+}
634
+#endif /* USE_FULL_ASSERT */
635
+
636
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 38 - 0
insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/pll_4113(1174).h

@@ -0,0 +1,38 @@
1
+/**************************************************************************************************
2
+  Filename:       hal_adf4113.h
3
+  Revised:        $Date: 2013-11-17 $
4
+  Revision:       $Revision: $
5
+  Description:    This file contains the interface to the ADF4113 frequency synthesizer.
6
+**************************************************************************************************/
7
+#ifndef HAL_ADF4113_H
8
+#define HAL_ADF4113_H
9
+#include "main.h"
10
+
11
+typedef struct _PLL_Setting_st{
12
+    GPIO_TypeDef * PLL_CLK_PORT;
13
+    uint16_t       PLL_CLK_PIN;
14
+    GPIO_TypeDef * PLL_DATA_PORT;
15
+    uint16_t       PLL_DATA_PIN;
16
+    GPIO_TypeDef * PLL_ENABLE_PORT;
17
+    uint16_t       PLL_ENABLE_PIN;
18
+} PLL_Setting_st;
19
+
20
+
21
+PLL_Setting_st ADF4113_1_8G_DL;
22
+PLL_Setting_st ADF4113_1_8G_UL;
23
+PLL_Setting_st ADF4113_2_1G_DL;
24
+PLL_Setting_st ADF4113_2_1G_UL;
25
+uint8_t PLL_1_8_DL_Error_Cnt;
26
+uint8_t PLL_1_8_UL_Error_Cnt;
27
+uint8_t PLL_2_1_DL_Error_Cnt;
28
+uint8_t PLL_2_1_UL_Error_Cnt;
29
+
30
+uint8_t halSynSetFreq(uint32_t rf_Freq);
31
+void ADF4113_Module_Ctrl(PLL_Setting_st pll,uint32_t R0,uint32_t R1,uint32_t R2);
32
+void ADF4113_Initialize(void);
33
+void ADF4113_Check(void);
34
+
35
+
36
+//void ADF4113_Module_Ctrl(PLL_Setting_st pll,uint32_t R0,uint32_t R1,uint32_t R2);
37
+
38
+#endif

+ 324 - 0
insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/pll_4113(2213).c

@@ -0,0 +1,324 @@
1
+/**************************************************************************************************
2
+  Filename:       hal_adf4113.c
3
+  Revised:        $Date: 2013-11-17 $
4
+  Revision:       $Revision:  $
5
+  Description:   This file contains the interface to the ADF4113 frequency synthesizer.
6
+**************************************************************************************************/
7
+#include "pll_4113.h"
8
+void ADF4113_Module_Ctrl(PLL_Setting_st pll,uint32_t R0,uint32_t R1,uint32_t R2);
9
+
10
+uint32_t N_Counter_Latch_Create(uint16_t _ACOUNTER,uint16_t _BCOUNTER,uint8_t _CPGAIN);
11
+
12
+#define ADF4113_PRESCALE8         0
13
+#define ADF4113_PRESCALE16        1
14
+#define ADF4113_PRESCALE32        2
15
+#define ADF4113_PRESCALE64        3
16
+// ADF4113 Prescale value for minimum required division ratio
17
+#define ADF4113_PRE8_MIN_N        56
18
+#define ADF4113_PRE16_MIN_N       240
19
+#define ADF4113_PRE32_MIN_N       992
20
+#define ADF4113_PRE64_MIN_N       4032
21
+// Frequency Settings
22
+// Initally, the synthesizer will operate at 2450 MHz
23
+#define ADF4113_CH_STEP          50000
24
+#define HAL_SYN_INVALID_PRESCALE  0x04
25
+#define ADF4113_REF_FREQ_MHZ    13000000
26
+
27
+uint8_t PLL_1_8_DL_Error_Cnt = 0;
28
+uint8_t PLL_1_8_UL_Error_Cnt = 0;
29
+uint8_t PLL_2_1_DL_Error_Cnt = 0;
30
+uint8_t PLL_2_1_UL_Error_Cnt = 0;
31
+
32
+
33
+PLL_Setting_st ADF4113_1_8G_DL = {
34
+    PLL_CLK_GPIO_Port,
35
+    PLL_CLK_Pin,
36
+    PLL_DATA_GPIO_Port,
37
+    PLL_DATA_Pin,
38
+    PLL_EN_1_8G_DL_GPIO_Port,    
39
+    PLL_EN_1_8G_DL_Pin,
40
+};
41
+PLL_Setting_st ADF4113_1_8G_UL = {
42
+    PLL_CLK_GPIO_Port,
43
+    PLL_CLK_Pin,
44
+    PLL_DATA_GPIO_Port,
45
+    PLL_DATA_Pin,
46
+    PLL_EN_1_8G_UL_GPIO_Port,    
47
+    PLL_EN_1_8G_UL_Pin,
48
+};
49
+PLL_Setting_st ADF4113_2_1G_DL = {
50
+    PLL_CLK_GPIO_Port,
51
+    PLL_CLK_Pin,
52
+    PLL_DATA_GPIO_Port,
53
+    PLL_DATA_Pin,
54
+    PLL_EN_2_1G_DL_GPIO_Port,    
55
+    PLL_EN_2_1G_DL_Pin,
56
+};
57
+PLL_Setting_st ADF4113_2_1G_UL = {
58
+    PLL_CLK_GPIO_Port,
59
+    PLL_CLK_Pin,
60
+    PLL_DATA_GPIO_Port,
61
+    PLL_DATA_Pin,
62
+    PLL_EN_2_1G_UL_GPIO_Port,    
63
+    PLL_EN_2_1G_UL_Pin,
64
+};
65
+
66
+
67
+
68
+// Error Code
69
+typedef struct{
70
+    uint16_t B;
71
+    uint16_t P;
72
+    uint16_t A;   
73
+    uint16_t N;       
74
+}Adf4113_st;
75
+void ADF4113_Initialize(void){
76
+  if(Flash_Save_data[INDEX_PLL_1_8G_DL_H] == 0 && Flash_Save_data[INDEX_PLL_1_8G_DL_L] == 0){
77
+    Flash_Save_data[INDEX_PLL_1_8G_DL_H] = ((18425 & 0xFF00) >> 8);//0x47;
78
+    Flash_Save_data[INDEX_PLL_1_8G_DL_L] = (18425 & 0x00FF);
79
+  }
80
+  if(Flash_Save_data[INDEX_PLL_1_8G_UL_H] == 0 && Flash_Save_data[INDEX_PLL_1_8G_UL_L] == 0){
81
+    Flash_Save_data[INDEX_PLL_1_8G_UL_H] = ((17475 & 0xFF00) >> 8);
82
+    Flash_Save_data[INDEX_PLL_1_8G_UL_L] = (17475 & 0x00FF);
83
+  }
84
+  if(Flash_Save_data[INDEX_PLL_2_1G_DL_H] == 0 && Flash_Save_data[INDEX_PLL_2_1G_DL_L] == 0){
85
+    Flash_Save_data[INDEX_PLL_2_1G_DL_H] = ((21400 & 0xFF00) >> 8);
86
+    Flash_Save_data[INDEX_PLL_2_1G_DL_L] = (21400 & 0x00FF);
87
+  }
88
+  if(Flash_Save_data[INDEX_PLL_2_1G_UL_H] == 0 && Flash_Save_data[INDEX_PLL_2_1G_UL_L] == 0){
89
+    Flash_Save_data[INDEX_PLL_2_1G_UL_H] = ((19500 & 0xFF00) >> 8);
90
+    Flash_Save_data[INDEX_PLL_2_1G_UL_L] = (19500 & 0x00FF);    
91
+  }
92
+//    ADF4113_Module_Ctrl(ADF4113_1_8G_DL,0x000410,0x03E801,0x9F8092);
93
+//    HAL_Delay(1);
94
+//    ADF4113_Module_Ctrl(ADF4113_1_8G_UL,0x000410,0x038D31,0x9f8092);
95
+//    HAL_Delay(1);
96
+//    ADF4113_Module_Ctrl(ADF4113_2_1G_DL,0x410,0x4DE71,0x9F8092);
97
+//    HAL_Delay(1);
98
+//    ADF4113_Module_Ctrl(ADF4113_2_1G_UL,0x000410,0x59A31,0x9f8092);
99
+}
100
+
101
+
102
+void ADF4113_Check(void){
103
+  uint16_t temp_val = 0;
104
+    if(HAL_GPIO_ReadPin(PLL_LD_1_8G_DL_GPIO_Port, PLL_LD_1_8G_DL_Pin) == GPIO_PIN_RESET){
105
+      temp_val = (Prev_data[INDEX_PLL_1_8G_DL_H] << 8) | (Prev_data[INDEX_PLL_1_8G_DL_L]);
106
+      ADF4113_Module_Ctrl(ADF4113_1_8G_DL,0x410,halSynSetFreq((temp_val * 1000000) / 10 ),0x9F8092);
107
+      //      ADF4113_Module_Ctrl(ADF4113_1_8G_DL,0x000410,0x03E801,0x9F8092);
108
+      if(PLL_1_8_DL_Error_Cnt == 3){
109
+        Error_Message_Occur(DL_1_8);
110
+      }
111
+      if(PLL_1_8_DL_Error_Cnt < 4)
112
+        PLL_1_8_DL_Error_Cnt++;    
113
+      HAL_Delay(1);
114
+    }else{
115
+      PLL_1_8_DL_Error_Cnt = 0;
116
+    }
117
+    if(HAL_GPIO_ReadPin(PLL_LD_1_8G_UL_GPIO_Port, PLL_LD_1_8G_UL_Pin) == GPIO_PIN_RESET){
118
+      temp_val = (Prev_data[INDEX_PLL_1_8G_UL_H] << 8) | (Prev_data[INDEX_PLL_1_8G_UL_L]);
119
+      ADF4113_Module_Ctrl(ADF4113_1_8G_DL,0x410,halSynSetFreq((temp_val * 1000000) / 10 ),0x9F8092);
120
+    //      ADF4113_Module_Ctrl(ADF4113_1_8G_UL,0x000410,0x038D31,0x9f8092);
121
+      if(PLL_1_8_UL_Error_Cnt == 3){
122
+        Error_Message_Occur(UL_1_8);
123
+      }
124
+      if(PLL_1_8_UL_Error_Cnt < 4)
125
+        PLL_1_8_UL_Error_Cnt++;
126
+      HAL_Delay(1);
127
+    }else{
128
+      PLL_1_8_UL_Error_Cnt = 0;
129
+    }
130
+    if(HAL_GPIO_ReadPin(PLL_LD_2_1G_DL_GPIO_Port, PLL_LD_2_1G_DL_Pin) == GPIO_PIN_RESET){
131
+      temp_val = (Prev_data[INDEX_PLL_2_1G_DL_H] << 8) | (Prev_data[INDEX_PLL_2_1G_DL_L]);
132
+      ADF4113_Module_Ctrl(ADF4113_1_8G_DL,0x410,halSynSetFreq((temp_val * 1000000) / 10 ),0x9F8092);
133
+    //      ADF4113_Module_Ctrl(ADF4113_2_1G_DL,0x410,0x4DE71,0x9F8092);
134
+      if(PLL_2_1_DL_Error_Cnt == 3){
135
+        Error_Message_Occur(DL_2_1);
136
+      }
137
+      
138
+      if(PLL_2_1_DL_Error_Cnt < 4)
139
+        PLL_2_1_DL_Error_Cnt++;
140
+      HAL_Delay(1);
141
+    }else{
142
+      PLL_2_1_DL_Error_Cnt = 0;
143
+    }
144
+    if(HAL_GPIO_ReadPin(PLL_LD_2_1G_UL_GPIO_Port, PLL_LD_2_1G_UL_Pin) == GPIO_PIN_RESET){
145
+      temp_val = (Prev_data[INDEX_PLL_2_1G_UL_H] << 8) | (Prev_data[INDEX_PLL_2_1G_UL_L]);
146
+      ADF4113_Module_Ctrl(ADF4113_1_8G_DL,0x410,halSynSetFreq((temp_val * 1000000) / 10 ),0x9F8092);
147
+    //      ADF4113_Module_Ctrl(ADF4113_2_1G_UL,0x000410,0x59A31,0x9f8092);
148
+      if(PLL_2_1_UL_Error_Cnt == 3){
149
+        Error_Message_Occur(UL_2_1);
150
+      }
151
+      if(PLL_2_1_UL_Error_Cnt < 4)
152
+        PLL_2_1_UL_Error_Cnt++;
153
+      HAL_Delay(1);
154
+    }else{
155
+      PLL_2_1_UL_Error_Cnt = 0;
156
+    }
157
+}
158
+
159
+
160
+uint8_t halSynSetFreq(uint32_t rf_Freq)
161
+{
162
+    uint32_t  R, B;
163
+    uint32_t  A, P, p_mode;
164
+    uint32_t  N_val = 0;
165
+    N_val = (rf_Freq / ADF4113_CH_STEP);
166
+    if( N_val < ADF4113_PRE8_MIN_N) { 
167
+        return HAL_SYN_INVALID_PRESCALE; 
168
+    } else if(( N_val> ADF4113_PRE8_MIN_N) && (N_val < ADF4113_PRE16_MIN_N)) { 
169
+        P = 8;  
170
+        p_mode = ADF4113_PRESCALE8;
171
+    } else if(( N_val > ADF4113_PRE16_MIN_N) && (N_val < ADF4113_PRE32_MIN_N)) { 
172
+        P = 16;
173
+        p_mode = ADF4113_PRESCALE16;
174
+        
175
+    } else if((N_val > ADF4113_PRE32_MIN_N) && ( N_val < ADF4113_PRE64_MIN_N)) { 
176
+        P = 32;
177
+        p_mode = ADF4113_PRESCALE32;
178
+        
179
+    } else if( N_val > ADF4113_PRE64_MIN_N) { 
180
+        P = 64; 
181
+        p_mode = ADF4113_PRESCALE64;
182
+    }
183
+    P = 32;
184
+    B = N_val / P;
185
+    A = N_val -(B * P);
186
+#ifdef DEBUG_PRINT
187
+    printf("FREQ:%f Mhz  B : %d , A  : %d    N_VAL  : %d \r\n",(float)(rf_Freq/1000000),B,A,N_val);
188
+    printf("YJ 4113 : %x \r\n",N_Counter_Latch_Create(A,B,0));
189
+#endif /* DEBUG_PRINT */
190
+}
191
+uint32_t N_Counter_Latch_Create(uint16_t _ACOUNTER,uint16_t _BCOUNTER,uint8_t _CPGAIN){
192
+    uint32_t ret = 0;
193
+    uint32_t shift_bit = 0x01;
194
+    uint8_t control_bit = 1;
195
+    uint8_t i = 0;
196
+    uint8_t reserve = 0;
197
+#ifdef DEBUG_PRINT
198
+    printf("_ACOUNTER : %d _BCOUNTER : %d \r\n",_ACOUNTER,_BCOUNTER);
199
+
200
+    printf("\r\nLINE : %d  ret : %x\r\n",__LINE__,ret);
201
+#endif /* DEBUG_PRINT */
202
+    for(i = 0; i < 2; i++){
203
+        if(control_bit & 0x01)
204
+            ret += shift_bit << i;
205
+        control_bit = control_bit >> 1;
206
+    }
207
+#ifdef DEBUG_PRINT
208
+    printf("\r\nLINE : %d  ret : %x\r\n",__LINE__,ret);
209
+#endif /* DEBUG_PRINT */
210
+    for(i = 2; i < 8; i++){
211
+        if(_ACOUNTER & 0x01)
212
+            ret += shift_bit << i;
213
+        _ACOUNTER = _ACOUNTER >> 1;
214
+    }  
215
+#ifdef DEBUG_PRINT
216
+    printf("\r\nLINE : %d  ret : %x\r\n",__LINE__,ret);
217
+#endif /* DEBUG_PRINT */
218
+    for(i = 8; i < 21; i++){
219
+        if(_BCOUNTER & 0x01)
220
+            ret += shift_bit << i;
221
+        _BCOUNTER = _BCOUNTER >> 1;
222
+    }      
223
+#ifdef DEBUG_PRINT
224
+    printf("\r\nLINE : %d  ret : %x\r\n",__LINE__,ret);
225
+#endif /* DEBUG_PRINT */
226
+    if(_CPGAIN & 0x01)
227
+            ret += shift_bit << i++;
228
+    for(i = 22; i < 24; i++){
229
+        if(reserve & 0x01)
230
+            ret += shift_bit << i;
231
+        reserve = reserve >> 1;
232
+    }   
233
+#ifdef DEBUG_PRINT
234
+    printf("\r\nLINE : %d  ret : %x\r\n",__LINE__,ret);
235
+#endif /* DEBUG_PRINT */
236
+    return ret;
237
+}
238
+void ADF4113_Module_Ctrl(PLL_Setting_st pll,uint32_t R0,uint32_t R1,uint32_t R2){
239
+    R2 = R2 & 0xFFFFFF;
240
+    R1 = R1 & 0xFFFFFF;
241
+    R0 = R0 & 0xFFFFFF;
242
+    
243
+    HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_RESET);
244
+    HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_RESET);
245
+    HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_RESET);
246
+    /*   R2 Ctrl    */
247
+     for(int i =0; i < 24; i++){
248
+         if(R2 & 0x800000){
249
+#ifdef DEBUG_PRINT
250
+            printf("1");
251
+#endif /* DEBUG_PRINT */
252
+             HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_SET);
253
+         }
254
+         else{
255
+#ifdef DEBUG_PRINT
256
+            printf("0");
257
+#endif /* DEBUG_PRINT */
258
+             HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_RESET);
259
+         }
260
+          HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_SET);
261
+         Pol_Delay_us(10);
262
+          HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_RESET);
263
+         R2 = ((R2 << 1) & 0xFFFFFF);
264
+     }
265
+#ifdef DEBUG_PRINT
266
+     printf("\r\n");
267
+#endif /* DEBUG_PRINT */
268
+     HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_SET);
269
+     Pol_Delay_us(10);
270
+     HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_RESET);
271
+        /*   R0 Ctrl    */
272
+   
273
+    for(int i =0; i < 24; i++){
274
+        if(R0 & 0x800000){
275
+            HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_SET);
276
+#ifdef DEBUG_PRINT
277
+            printf("1");
278
+#endif /* DEBUG_PRINT */
279
+        }
280
+        else{
281
+            HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_RESET);
282
+#ifdef DEBUG_PRINT
283
+            printf("0");
284
+#endif /* DEBUG_PRINT */
285
+        }
286
+         HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_SET);
287
+        Pol_Delay_us(10);
288
+         HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_RESET);
289
+        R0 = ((R0 << 1) & 0xFFFFFF);
290
+    }  
291
+#ifdef DEBUG_PRINT
292
+        printf("\r\n");
293
+#endif /* DEBUG_PRINT */
294
+     HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_SET);
295
+     
296
+     Pol_Delay_us(10);
297
+     HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_RESET);    
298
+     /*   R1 Ctrl    */
299
+    for(int i =0; i < 24; i++){
300
+        if(R1 & 0x800000){
301
+#ifdef DEBUG_PRINT
302
+            printf("1");
303
+#endif /* DEBUG_PRINT */
304
+            HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_SET);
305
+        }
306
+        else{
307
+#ifdef DEBUG_PRINT
308
+            printf("0");            
309
+#endif /* DEBUG_PRINT */
310
+            HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_RESET);
311
+        }
312
+         HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_SET);
313
+        Pol_Delay_us(10);
314
+         HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_RESET);
315
+        R1 = ((R1 << 1) & 0xFFFFFF);
316
+    }
317
+#ifdef DEBUG_PRINT
318
+        printf("\r\n");
319
+#endif /* DEBUG_PRINT */
320
+    HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_SET);
321
+    Pol_Delay_us(10);
322
+    HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_RESET);
323
+
324
+}

+ 668 - 0
insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/zig_operate(6053).c

@@ -0,0 +1,668 @@
1
+/*
2
+ * zig_operate.c
3
+ *
4
+ *  Created on: 2019. 7. 26.
5
+ *      Author: parkyj
6
+ */
7
+#include "zig_operate.h"
8
+uint8_t Prev_data[INDEX_BLUE_EOF + 1];
9
+uint8_t Flash_Save_data[INDEX_BLUE_EOF + 1];
10
+
11
+
12
+/* * * * * * * #define Struct* * * * * * * */
13
+PLL_Setting_st Pll_1_8GHz_DL = {
14
+	PLL_CLK_GPIO_Port,
15
+	PLL_CLK_Pin,
16
+	PLL_DATA_GPIO_Port,
17
+	PLL_DATA_Pin,
18
+    PLL_EN_1_8G_DL_GPIO_Port,    
19
+    PLL_EN_1_8G_DL_Pin,
20
+};
21
+PLL_Setting_st Pll_1_8GHz_UL = {
22
+    PLL_CLK_GPIO_Port,
23
+    PLL_CLK_Pin,
24
+    PLL_DATA_GPIO_Port,
25
+    PLL_DATA_Pin,
26
+    PLL_EN_1_8G_UL_GPIO_Port,    
27
+    PLL_EN_1_8G_UL_Pin,
28
+};
29
+PLL_Setting_st Pll_2_1GHz_DL = {
30
+    PLL_CLK_GPIO_Port,
31
+    PLL_CLK_Pin,
32
+    PLL_DATA_GPIO_Port,
33
+    PLL_DATA_Pin,
34
+    PLL_EN_2_1G_DL_GPIO_Port,    
35
+    PLL_EN_2_1G_DL_Pin,
36
+};
37
+PLL_Setting_st Pll_2_1GHz_UL = {
38
+    PLL_CLK_GPIO_Port,
39
+    PLL_CLK_Pin,
40
+    PLL_DATA_GPIO_Port,
41
+    PLL_DATA_Pin,
42
+    PLL_EN_2_1G_UL_GPIO_Port,    
43
+    PLL_EN_2_1G_UL_Pin,
44
+};
45
+/* * * * * * * * NOT YET * * * * * * * */
46
+PLL_Setting_st Pll_3_5GHz_DL = {
47
+    ATT_CLK_3_5G_GPIO_Port,
48
+    ATT_EN_3_5G_Pin,
49
+    PLL_DATA_GPIO_Port,
50
+    PLL_DATA_Pin,
51
+    PLL_EN_2_1G_DL_GPIO_Port,    
52
+    PLL_EN_2_1G_DL_Pin,
53
+};
54
+PLL_Setting_st Pll_3_5GHz_UL = {
55
+    PLL_CLK_GPIO_Port,
56
+    PLL_CLK_Pin,
57
+    PLL_DATA_GPIO_Port,
58
+    PLL_DATA_Pin,
59
+    PLL_EN_2_1G_UL_GPIO_Port,    
60
+    PLL_EN_2_1G_UL_Pin,
61
+};
62
+/* * * * * * * * ATTEN * * * * * * * */    
63
+ATTEN_Setting_st Atten_1_8Ghz_DL1 ={
64
+    ATT_CLK_GPIO_Port,
65
+    ATT_CLK_Pin,
66
+    ATT_DATA_GPIO_Port,
67
+    ATT_DATA_Pin,
68
+    ATT_EN_1_8G_DL1_GPIO_Port,    
69
+    ATT_EN_1_8G_DL1_Pin,
70
+    PATH_EN_1_8G_DL_GPIO_Port,
71
+    PATH_EN_1_8G_DL_Pin,
72
+};
73
+
74
+ATTEN_Setting_st Atten_1_8Ghz_DL2 ={
75
+    ATT_CLK_GPIO_Port,
76
+    ATT_CLK_Pin,
77
+    ATT_DATA_GPIO_Port,
78
+    ATT_DATA_Pin,
79
+    ATT_EN_1_8G_DL2_GPIO_Port,    
80
+    ATT_EN_1_8G_DL2_Pin,
81
+    PATH_EN_1_8G_DL_GPIO_Port,
82
+    PATH_EN_1_8G_DL_Pin,    
83
+};
84
+ATTEN_Setting_st Atten_1_8Ghz_UL1 ={
85
+    ATT_CLK_GPIO_Port,
86
+    ATT_CLK_Pin,
87
+    ATT_DATA_GPIO_Port,
88
+    ATT_DATA_Pin,
89
+    ATT_EN_1_8G_UL1_GPIO_Port,    
90
+    ATT_EN_1_8G_UL1_Pin,
91
+    PATH_EN_1_8G_UL_GPIO_Port,
92
+    PATH_EN_1_8G_UL_Pin,      
93
+};
94
+ATTEN_Setting_st Atten_1_8Ghz_UL2 ={
95
+    ATT_CLK_GPIO_Port,
96
+    ATT_CLK_Pin,
97
+    ATT_DATA_GPIO_Port,
98
+    ATT_DATA_Pin,
99
+    ATT_EN_1_8G_UL2_GPIO_Port,    
100
+    ATT_EN_1_8G_UL2_Pin,
101
+    PATH_EN_1_8G_UL_GPIO_Port,
102
+    PATH_EN_1_8G_UL_Pin,    
103
+};
104
+ATTEN_Setting_st Atten_1_8Ghz_UL3 ={
105
+    ATT_CLK_GPIO_Port,
106
+    ATT_CLK_Pin,
107
+    ATT_DATA_GPIO_Port,
108
+    ATT_DATA_Pin,
109
+    ATT_EN_1_8G_UL3_GPIO_Port,    
110
+    ATT_EN_1_8G_UL3_Pin,
111
+    PATH_EN_1_8G_UL_GPIO_Port,
112
+    PATH_EN_1_8G_UL_Pin,    
113
+};
114
+ATTEN_Setting_st Atten_1_8Ghz_UL4 ={
115
+    ATT_CLK_GPIO_Port,
116
+    ATT_CLK_Pin,
117
+    ATT_DATA_GPIO_Port,
118
+    ATT_DATA_Pin,
119
+    ATT_EN_1_8G_UL4_GPIO_Port,    
120
+    ATT_EN_1_8G_UL4_Pin,
121
+    PATH_EN_1_8G_UL_GPIO_Port,
122
+    PATH_EN_1_8G_UL_Pin,    
123
+};
124
+ATTEN_Setting_st Atten_2_1Ghz_DL1 ={
125
+    ATT_CLK_GPIO_Port,
126
+    ATT_CLK_Pin,
127
+    ATT_DATA_GPIO_Port,
128
+    ATT_DATA_Pin,
129
+    ATT_EN_2_1G_DL1_GPIO_Port,    
130
+    ATT_EN_2_1G_DL1_Pin,
131
+    PATH_EN_2_1G_DL_GPIO_Port,
132
+    PATH_EN_2_1G_DL_Pin,    
133
+};
134
+ATTEN_Setting_st Atten_2_1Ghz_DL2 ={
135
+    ATT_CLK_GPIO_Port,
136
+    ATT_CLK_Pin,
137
+    ATT_DATA_GPIO_Port,
138
+    ATT_DATA_Pin,
139
+    ATT_EN_2_1G_DL2_GPIO_Port,    
140
+    ATT_EN_2_1G_DL2_Pin,
141
+    PATH_EN_2_1G_DL_GPIO_Port,
142
+    PATH_EN_2_1G_DL_Pin,    
143
+};
144
+
145
+ATTEN_Setting_st Atten_2_1Ghz_UL1 ={
146
+    ATT_CLK_GPIO_Port,
147
+    ATT_CLK_Pin,
148
+    ATT_DATA_GPIO_Port,
149
+    ATT_DATA_Pin,
150
+    ATT_EN_2_1G_UL1_GPIO_Port,    
151
+    ATT_EN_2_1G_UL1_Pin,
152
+    PATH_EN_2_1G_UL_GPIO_Port,
153
+    PATH_EN_2_1G_UL_Pin,    
154
+};
155
+ATTEN_Setting_st Atten_2_1Ghz_UL2 ={
156
+    ATT_CLK_GPIO_Port,
157
+    ATT_CLK_Pin,
158
+    ATT_DATA_GPIO_Port,
159
+    ATT_DATA_Pin,
160
+    ATT_EN_2_1G_UL2_GPIO_Port,    
161
+    ATT_EN_2_1G_UL2_Pin,
162
+    PATH_EN_2_1G_UL_GPIO_Port,
163
+    PATH_EN_2_1G_UL_Pin,    
164
+};
165
+ATTEN_Setting_st Atten_2_1Ghz_UL3 ={
166
+    ATT_CLK_GPIO_Port,
167
+    ATT_CLK_Pin,
168
+    ATT_DATA_GPIO_Port,
169
+    ATT_DATA_Pin,
170
+    ATT_EN_2_1G_UL3_GPIO_Port,    
171
+    ATT_EN_2_1G_UL3_Pin,
172
+    PATH_EN_2_1G_UL_GPIO_Port,
173
+    PATH_EN_2_1G_UL_Pin,    
174
+};
175
+ATTEN_Setting_st Atten_2_1Ghz_UL4 ={
176
+    ATT_CLK_GPIO_Port,
177
+    ATT_CLK_Pin,
178
+    ATT_DATA_GPIO_Port,
179
+    ATT_DATA_Pin,
180
+    ATT_EN_2_1G_UL4_GPIO_Port,    
181
+    ATT_EN_2_1G_UL4_Pin,
182
+    PATH_EN_2_1G_UL_GPIO_Port,
183
+    PATH_EN_2_1G_UL_Pin,    
184
+};
185
+
186
+
187
+bool RF_Data_Check(uint8_t* data_buf){
188
+    bool ret = false;
189
+    bool crcret = STH30_CheckCrc(&data_buf[Type], data_buf[Length], data_buf[data_buf[Crcindex]]);
190
+    if(data_buf[Header] == BLUECELL_HEADER){ /*HEADER CHECK*/
191
+        ret= true;
192
+    }
193
+    if(crcret == true){/*CRC CHECK*/
194
+        ret = true;
195
+    }else{
196
+        ret = false;
197
+//        printf("Recv CRC Value : \"%d\"\r\n Create CRC Value : \"%d\"   \r\n",data_buf[data_buf[Crcindex]],STH30_CreateCrc(&data_buf[Type], data_buf[Length]));
198
+    }
199
+//    printf("CRC Result : \"%d\"   \r\n",ret);
200
+    return ret;
201
+
202
+}
203
+
204
+PLL_Setting_st Pll_3_5_H = {
205
+     PLL_CLK_3_5G_GPIO_Port,
206
+     PLL_CLK_3_5G_Pin,
207
+     PLL_DATA_3_5G_GPIO_Port,
208
+     PLL_DATA_3_5G_Pin,
209
+   PLL_EN_3_5G_H_GPIO_Port,    
210
+   PLL_EN_3_5G_H_Pin,
211
+ };
212
+ PLL_Setting_st Pll_3_5_L = {
213
+     PLL_CLK_3_5G_GPIO_Port,
214
+     PLL_CLK_3_5G_Pin,
215
+     PLL_DATA_3_5G_GPIO_Port,
216
+     PLL_DATA_3_5G_Pin,
217
+       PLL_EN_3_5G_L_GPIO_Port,    
218
+       PLL_EN_3_5G_L_Pin,
219
+ };
220
+void RF_Status_Get(void){
221
+//    printf("\r\nYJ2 : Prev_data[INDEX_DET_1_8G_DL_IN_L ] : %x\r\n",Prev_data[INDEX_DET_1_8G_DL_IN_L]);            
222
+    Prev_data[INDEX_BLUE_HEADER]   = BLUECELL_HEADER;
223
+    Prev_data[INDEX_BLUE_TYPE]     = TYPE_BLUECELL_GET;
224
+    Prev_data[INDEX_BLUE_LENGTH]   = INDEX_BLUE_EOF - 2;
225
+    Prev_data[INDEX_BLUE_CRCINDEX] = INDEX_BLUE_CRC;
226
+    Prev_data[INDEX_BLUE_CRC]      = STH30_CreateCrc(&Prev_data[Type], Prev_data[Length]);
227
+    Prev_data[INDEX_BLUE_EOF] = BLUECELL_TAILER;    
228
+    HAL_UART_Transmit_DMA(&huart1,&Prev_data[INDEX_BLUE_HEADER],INDEX_BLUE_EOF + 1); 
229
+//    printf("\r\nYJ : %x",ADCvalue[0]);
230
+//    printf("\r\n");
231
+
232
+}
233
+static uint8_t Ack_Buf[6];
234
+void RF_Status_Ack(void){
235
+//    printf("\r\nYJ2 : Prev_data[INDEX_DET_1_8G_DL_IN_L ] : %x\r\n",Prev_data[INDEX_DET_1_8G_DL_IN_L]);            
236
+    Ack_Buf[INDEX_BLUE_HEADER]       = BLUECELL_HEADER;
237
+    Ack_Buf[INDEX_BLUE_TYPE]         = TYPE_BLUECELL_ACK;
238
+    Ack_Buf[INDEX_BLUE_LENGTH]       = 3;
239
+    Ack_Buf[INDEX_BLUE_CRCINDEX + 0] = INDEX_BLUE_CRCINDEX + 1;
240
+    Ack_Buf[INDEX_BLUE_CRCINDEX + 1] = STH30_CreateCrc(&Ack_Buf[Type], Ack_Buf[Length]);
241
+    Ack_Buf[INDEX_BLUE_CRCINDEX + 2] = BLUECELL_TAILER;
242
+    HAL_UART_Transmit_DMA(&huart1,&Ack_Buf[INDEX_BLUE_HEADER],Ack_Buf[INDEX_BLUE_LENGTH]  + 3); 
243
+//    printf("\r\nYJ : %x",ADCvalue[0]);
244
+//    printf("\r\n");
245
+
246
+}
247
+
248
+void RF_Operate(uint8_t* data_buf){
249
+    uint16_t temp_val = 0;
250
+    uint8_t  ADC_Modify = 0;
251
+    ADF4153_R_N_Reg_st temp_reg;
252
+//    printf("Prev_data[INDEX_ATT_1_8G_DL1]  : %x  data_buf[INDEX_ATT_1_8G_DL1] : %x\r\n",Prev_data[INDEX_ATT_1_8G_DL1],data_buf[INDEX_ATT_1_8G_DL1]);
253
+    if(Prev_data[INDEX_ATT_1_8G_DL1] != data_buf[INDEX_ATT_1_8G_DL1]){
254
+        BDA4601_atten_ctrl(BDA4601_1_8G_DL1,(data_buf[INDEX_ATT_1_8G_DL1]));
255
+        Prev_data[INDEX_ATT_1_8G_DL1] = data_buf[INDEX_ATT_1_8G_DL1];
256
+    }
257
+    if(Prev_data[INDEX_ATT_1_8G_DL2] != data_buf[INDEX_ATT_1_8G_DL2]){
258
+        BDA4601_atten_ctrl(BDA4601_1_8G_DL2,(data_buf[INDEX_ATT_1_8G_DL2]));
259
+        Prev_data[INDEX_ATT_1_8G_DL2] = data_buf[INDEX_ATT_1_8G_DL2];
260
+    }
261
+    if(Prev_data[INDEX_ATT_1_8G_UL1] != data_buf[INDEX_ATT_1_8G_UL1]){
262
+        BDA4601_atten_ctrl(BDA4601_1_8G_UL1,(data_buf[INDEX_ATT_1_8G_UL1]));
263
+        Prev_data[INDEX_ATT_1_8G_UL1] = data_buf[INDEX_ATT_1_8G_UL1];
264
+    }
265
+    if(Prev_data[INDEX_ATT_1_8G_UL2] != data_buf[INDEX_ATT_1_8G_UL2]){
266
+        BDA4601_atten_ctrl(BDA4601_1_8G_UL2,(data_buf[INDEX_ATT_1_8G_UL2]));
267
+        Prev_data[INDEX_ATT_1_8G_UL2] = data_buf[INDEX_ATT_1_8G_UL2];
268
+    }
269
+    if(Prev_data[INDEX_ATT_1_8G_UL3] != data_buf[INDEX_ATT_1_8G_UL3]){
270
+        BDA4601_atten_ctrl(BDA4601_1_8G_UL3,(data_buf[INDEX_ATT_1_8G_UL3]));
271
+        Prev_data[INDEX_ATT_1_8G_UL3] = data_buf[INDEX_ATT_1_8G_UL3];
272
+
273
+    }
274
+    if(Prev_data[INDEX_ATT_1_8G_UL4] != data_buf[INDEX_ATT_1_8G_UL4]){
275
+        BDA4601_atten_ctrl(BDA4601_1_8G_UL4,(data_buf[INDEX_ATT_1_8G_UL4]));
276
+        Prev_data[INDEX_ATT_1_8G_UL4] = data_buf[INDEX_ATT_1_8G_UL4];
277
+
278
+    }
279
+    if(Prev_data[INDEX_ATT_2_1G_DL1] != data_buf[INDEX_ATT_2_1G_DL1]){
280
+        BDA4601_atten_ctrl(BDA4601_2_1G_DL1,(data_buf[INDEX_ATT_2_1G_DL1]));
281
+        Prev_data[INDEX_ATT_2_1G_DL1] = data_buf[INDEX_ATT_2_1G_DL1];
282
+
283
+    }
284
+    if(Prev_data[INDEX_ATT_2_1G_DL2] != data_buf[INDEX_ATT_2_1G_DL2]){
285
+        BDA4601_atten_ctrl(BDA4601_2_1G_DL2,(data_buf[INDEX_ATT_2_1G_DL2]));
286
+        Prev_data[INDEX_ATT_2_1G_DL2] = data_buf[INDEX_ATT_2_1G_DL2];
287
+
288
+    }
289
+    if(Prev_data[INDEX_ATT_2_1G_UL1] != data_buf[INDEX_ATT_2_1G_UL1]){
290
+        BDA4601_atten_ctrl(BDA4601_2_1G_UL1,(data_buf[INDEX_ATT_2_1G_UL1]));
291
+        Prev_data[INDEX_ATT_2_1G_UL1] = data_buf[INDEX_ATT_2_1G_UL1];
292
+
293
+    }
294
+    if(Prev_data[INDEX_ATT_2_1G_UL2] != data_buf[INDEX_ATT_2_1G_UL2]){
295
+        BDA4601_atten_ctrl(BDA4601_2_1G_UL2,(data_buf[INDEX_ATT_2_1G_UL2]));
296
+        Prev_data[INDEX_ATT_2_1G_UL2] = data_buf[INDEX_ATT_2_1G_UL2];
297
+
298
+    }
299
+    if(Prev_data[INDEX_ATT_2_1G_UL3] != data_buf[INDEX_ATT_2_1G_UL3]){
300
+        BDA4601_atten_ctrl(BDA4601_2_1G_UL3,(data_buf[INDEX_ATT_2_1G_UL3]));
301
+        Prev_data[INDEX_ATT_2_1G_UL3] = data_buf[INDEX_ATT_2_1G_UL3];
302
+    }
303
+    if(Prev_data[INDEX_ATT_2_1G_UL4] != data_buf[INDEX_ATT_2_1G_UL4]){
304
+        BDA4601_atten_ctrl(BDA4601_2_1G_UL4,(data_buf[INDEX_ATT_2_1G_UL4]));
305
+        Prev_data[INDEX_ATT_2_1G_UL4] = data_buf[INDEX_ATT_2_1G_UL4];
306
+    }
307
+    if(   (Prev_data[INDEX_ATT_3_5G_DL] != data_buf[INDEX_ATT_3_5G_DL])
308
+        ||(Prev_data[INDEX_ATT_3_5G_UL] != data_buf[INDEX_ATT_3_5G_UL])
309
+        ||(Prev_data[INDEX_ATT_3_5G_COM1] != data_buf[INDEX_ATT_3_5G_COM1])
310
+        ||(Prev_data[INDEX_ATT_3_5G_COM2] != data_buf[INDEX_ATT_3_5G_COM2])
311
+        ||(Prev_data[INDEX_ATT_3_5G_COM3] != data_buf[INDEX_ATT_3_5G_COM3])
312
+    ){
313
+        ALL_ATT_3_5G.data0 = Prev_data[INDEX_ATT_3_5G_DL]   = data_buf[INDEX_ATT_3_5G_DL];
314
+        ALL_ATT_3_5G.data1 = Prev_data[INDEX_ATT_3_5G_UL]   = data_buf[INDEX_ATT_3_5G_UL];
315
+        ALL_ATT_3_5G.data2 = Prev_data[INDEX_ATT_3_5G_COM1] = data_buf[INDEX_ATT_3_5G_COM1];
316
+        ALL_ATT_3_5G.data3 = Prev_data[INDEX_ATT_3_5G_COM2] = data_buf[INDEX_ATT_3_5G_COM2];
317
+        ALL_ATT_3_5G.data4 = Prev_data[INDEX_ATT_3_5G_COM3] = data_buf[INDEX_ATT_3_5G_COM3];
318
+        PE43711_ALL_atten_ctrl(ALL_ATT_3_5G);
319
+    }
320
+    if((Prev_data[INDEX_PLL_1_8G_DL_H] != data_buf[INDEX_PLL_1_8G_DL_H])
321
+        && (Prev_data[INDEX_PLL_1_8G_DL_L] != data_buf[INDEX_PLL_1_8G_DL_L])
322
+    ){
323
+        Prev_data[INDEX_PLL_1_8G_DL_H] = data_buf[INDEX_PLL_1_8G_DL_H];
324
+        Prev_data[INDEX_PLL_1_8G_DL_L] = data_buf[INDEX_PLL_1_8G_DL_L];
325
+        temp_val = (data_buf[INDEX_PLL_1_8G_DL_H] << 8) | (data_buf[INDEX_PLL_1_8G_DL_L]);
326
+        ADF4113_Module_Ctrl(ADF4113_1_8G_DL,0x410,halSynSetFreq((temp_val * 1000000) / 10 ),0x9F8092);
327
+    }
328
+    if((Prev_data[INDEX_PLL_1_8G_UL_H] != data_buf[INDEX_PLL_1_8G_UL_H])
329
+        && (Prev_data[INDEX_PLL_1_8G_UL_L] != data_buf[INDEX_PLL_1_8G_UL_L])){
330
+        temp_val = (data_buf[INDEX_PLL_1_8G_UL_H] << 8) | (data_buf[INDEX_PLL_1_8G_UL_L]);
331
+        Prev_data[INDEX_PLL_1_8G_UL_H] = data_buf[INDEX_PLL_1_8G_UL_H];
332
+        Prev_data[INDEX_PLL_1_8G_UL_L] = data_buf[INDEX_PLL_1_8G_UL_L];
333
+        ADF4113_Module_Ctrl(ADF4113_1_8G_UL,0x410,halSynSetFreq((temp_val * 1000000) / 10),0x9F8092);
334
+    }
335
+    if((Prev_data[INDEX_PLL_2_1G_DL_H] != data_buf[INDEX_PLL_2_1G_DL_H])
336
+        && (Prev_data[INDEX_PLL_2_1G_DL_L] != data_buf[INDEX_PLL_2_1G_DL_L])){
337
+        temp_val = ((data_buf[INDEX_PLL_2_1G_DL_H] << 8) | (data_buf[INDEX_PLL_2_1G_DL_L]));
338
+        Prev_data[INDEX_PLL_2_1G_DL_H] = data_buf[INDEX_PLL_2_1G_DL_H];
339
+        Prev_data[INDEX_PLL_2_1G_DL_L] = data_buf[INDEX_PLL_2_1G_DL_L];        
340
+        ADF4113_Module_Ctrl(ADF4113_2_1G_DL,0x410,halSynSetFreq((temp_val * 1000000) / 10),0x9F8092);
341
+    }
342
+    if((Prev_data[INDEX_PLL_2_1G_UL_H] != data_buf[INDEX_PLL_2_1G_UL_H])
343
+        && (Prev_data[INDEX_PLL_2_1G_UL_L] != data_buf[INDEX_PLL_2_1G_UL_L])){
344
+        Prev_data[INDEX_PLL_2_1G_UL_H] = data_buf[INDEX_PLL_2_1G_UL_H];
345
+        Prev_data[INDEX_PLL_2_1G_UL_L] = data_buf[INDEX_PLL_2_1G_UL_L];          
346
+        temp_val = (data_buf[INDEX_PLL_2_1G_UL_H] << 8) | (data_buf[INDEX_PLL_2_1G_UL_L]);
347
+        ADF4113_Module_Ctrl(ADF4113_2_1G_UL,0x410,halSynSetFreq((temp_val * 1000000) / 10),0x9F8092);
348
+
349
+    }
350
+    if((Prev_data[INDEX_PLL_3_5G_DL_H] != data_buf[INDEX_PLL_3_5G_DL_H])
351
+        && (Prev_data[INDEX_PLL_3_5G_DL_L] != data_buf[INDEX_PLL_3_5G_DL_L])){
352
+        Prev_data[INDEX_PLL_3_5G_DL_H] = data_buf[INDEX_PLL_3_5G_DL_H];
353
+        Prev_data[INDEX_PLL_3_5G_DL_L] = data_buf[INDEX_PLL_3_5G_DL_L];
354
+        temp_val = (data_buf[INDEX_PLL_3_5G_DL_H] << 8) | (data_buf[INDEX_PLL_3_5G_DL_L]);
355
+        temp_reg = ADF4153_Freq_Calc(3934500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);
356
+        ADF4153_Module_Ctrl(Pll_3_5_L,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
357
+    }
358
+    if((Prev_data[INDEX_PLL_3_5G_UL_H] != data_buf[INDEX_PLL_3_5G_UL_H])
359
+        && (Prev_data[INDEX_PLL_3_5G_UL_L] != data_buf[INDEX_PLL_3_5G_UL_L])){
360
+        Prev_data[INDEX_PLL_3_5G_UL_H] = data_buf[INDEX_PLL_3_5G_UL_H];
361
+        Prev_data[INDEX_PLL_3_5G_UL_L] = data_buf[INDEX_PLL_3_5G_UL_L];
362
+        temp_val = (data_buf[INDEX_PLL_3_5G_UL_H] << 8) | (data_buf[INDEX_PLL_3_5G_UL_L]);
363
+        temp_reg = ADF4153_Freq_Calc(3465500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);
364
+        ADF4153_Module_Ctrl(Pll_3_5_H,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
365
+
366
+    }
367
+    if(Prev_data[INDEX_PLL_LD_6_BIT] != data_buf[INDEX_PLL_LD_6_BIT]){
368
+
369
+    }
370
+#if 0 // PYJ.2019.07.28_BEGIN -- 
371
+    if(Prev_data[INDEX_DET_1_8G_DL_IN_H] != data_buf[INDEX_DET_1_8G_DL_IN_H]){
372
+
373
+    }
374
+    if(Prev_data[INDEX_DET_1_8G_DL_IN_L] != data_buf[INDEX_DET_1_8G_DL_IN_L]){
375
+
376
+    }
377
+    if(Prev_data[INDEX_DET_1_8G_DL_OUT_H] != data_buf[INDEX_DET_1_8G_DL_OUT_H]){
378
+
379
+    }
380
+    if(Prev_data[INDEX_DET_1_8G_DL_OUT_L] != data_buf[INDEX_DET_1_8G_DL_OUT_L]){
381
+
382
+    }
383
+    if(Prev_data[INDEX_DET_1_8G_UL_IN_H] != data_buf[INDEX_DET_1_8G_UL_IN_H]){
384
+
385
+    }
386
+    if(Prev_data[INDEX_DET_1_8G_UL_IN_L] != data_buf[INDEX_DET_1_8G_UL_IN_L]){
387
+
388
+    }
389
+    if(Prev_data[INDEX_DET_1_8G_UL_OUT_H] != data_buf[INDEX_DET_1_8G_UL_OUT_H]){
390
+
391
+    }
392
+    if(Prev_data[INDEX_DET_1_8G_UL_OUT_L] != data_buf[INDEX_DET_1_8G_UL_OUT_L]){
393
+
394
+    }
395
+    if(Prev_data[INDEX_DET_2_1G_DL_IN_H] != data_buf[INDEX_DET_2_1G_DL_IN_H]){
396
+
397
+    }
398
+    if(Prev_data[INDEX_DET_2_1G_DL_IN_L] != data_buf[INDEX_DET_2_1G_DL_IN_L]){
399
+
400
+    }
401
+    if(Prev_data[INDEX_DET_2_1G_DL_OUT_H] != data_buf[INDEX_DET_2_1G_DL_OUT_H]){
402
+
403
+    }
404
+    if(Prev_data[INDEX_DET_2_1G_DL_OUT_L] != data_buf[INDEX_DET_2_1G_DL_OUT_L]){
405
+
406
+    }
407
+    if(Prev_data[INDEX_DET_2_1G_UL_IN_H] != data_buf[INDEX_DET_2_1G_UL_IN_H]){
408
+
409
+    }
410
+    if(Prev_data[INDEX_DET_2_1G_UL_IN_L] != data_buf[INDEX_DET_2_1G_UL_IN_L]){
411
+
412
+    }
413
+
414
+    if(Prev_data[INDEX_DET_2_1G_UL_OUT_H] != data_buf[INDEX_DET_2_1G_UL_OUT_H]){
415
+
416
+    }
417
+    if(Prev_data[INDEX_DET_2_1G_UL_OUT_L] != data_buf[INDEX_DET_2_1G_UL_OUT_L]){
418
+
419
+    }
420
+    if(Prev_data[INDEX_DET_3_5G_DL_IN_H] != data_buf[INDEX_DET_3_5G_DL_IN_H]){
421
+
422
+    }
423
+    if(Prev_data[INDEX_DET_3_5G_DL_IN_L] != data_buf[INDEX_DET_3_5G_DL_IN_L]){
424
+
425
+    }
426
+    if(Prev_data[INDEX_DET_3_5G_DL_OUT_L] != data_buf[INDEX_DET_3_5G_DL_OUT_L]){
427
+
428
+    }
429
+    if(Prev_data[INDEX_DET_3_5G_DL_OUT_H] != data_buf[INDEX_DET_3_5G_DL_OUT_H]){
430
+
431
+    }
432
+    if(Prev_data[INDEX_DET_3_5G_UL_IN_H] != data_buf[INDEX_DET_3_5G_UL_IN_H]){
433
+
434
+    }
435
+    if(Prev_data[INDEX_DET_3_5G_UL_IN_L] != data_buf[INDEX_DET_3_5G_UL_IN_L]){
436
+
437
+    }
438
+
439
+    if(Prev_data[INDEX_DET_3_5G_UL_OUT_H] != data_buf[INDEX_DET_3_5G_UL_OUT_H]){
440
+
441
+    }
442
+    if(Prev_data[INDEX_DET_3_5G_UL_OUT_L] != data_buf[INDEX_DET_3_5G_UL_OUT_L]){
443
+
444
+    }
445
+    if(Prev_data[INDEX_RFU_TEMP_H] != data_buf[INDEX_RFU_TEMP_H]){
446
+
447
+    }
448
+    if(Prev_data[INDEX_RFU_TEMP_L] != data_buf[INDEX_RFU_TEMP_L]){
449
+
450
+    }
451
+    if(Prev_data[INDEX__28V_DET_H] != data_buf[INDEX__28V_DET_H]){
452
+
453
+    }
454
+    if(Prev_data[INDEX__28V_DET_L] != data_buf[INDEX__28V_DET_L]){
455
+
456
+    }
457
+#endif // PYJ.2019.07.28_END -- 
458
+    if(Prev_data[INDEX_ALARM_AC] != data_buf[INDEX_ALARM_AC]){
459
+
460
+    }
461
+    if(Prev_data[INDEX_ALARM_DC] != data_buf[INDEX_ALARM_DC]){
462
+
463
+    }
464
+    if(Prev_data[INDEX_PATH_EN_1_8G_DL] != data_buf[INDEX_PATH_EN_1_8G_DL]){
465
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_1_8G_DL,data_buf[INDEX_PATH_EN_1_8G_DL]);
466
+        Prev_data[INDEX_PATH_EN_1_8G_DL] = data_buf[INDEX_PATH_EN_1_8G_DL];
467
+    }
468
+    if(Prev_data[INDEX_PATH_EN_1_8G_UL] != data_buf[INDEX_PATH_EN_1_8G_UL]){
469
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_1_8G_UL,data_buf[INDEX_PATH_EN_1_8G_UL]);
470
+        Prev_data[INDEX_PATH_EN_1_8G_UL] = data_buf[INDEX_PATH_EN_1_8G_UL];
471
+
472
+    }
473
+
474
+    if(Prev_data[INDEX_PATH_EN_2_1G_DL] != data_buf[INDEX_PATH_EN_2_1G_DL]){
475
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_2_1G_DL,data_buf[INDEX_PATH_EN_2_1G_DL]);
476
+        Prev_data[INDEX_PATH_EN_2_1G_DL] = data_buf[INDEX_PATH_EN_2_1G_DL];
477
+    }
478
+    if(Prev_data[INDEX_PATH_EN_2_1G_UL] != data_buf[INDEX_PATH_EN_2_1G_UL]){
479
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_2_1G_UL,data_buf[INDEX_PATH_EN_2_1G_UL]);
480
+        Prev_data[INDEX_PATH_EN_2_1G_UL] = data_buf[INDEX_PATH_EN_2_1G_UL];
481
+
482
+    }
483
+    if(Prev_data[INDEX_PATH_EN_3_5G_L] != data_buf[INDEX_PATH_EN_3_5G_L]){
484
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_3_5G_L,data_buf[INDEX_PATH_EN_3_5G_L]);
485
+        Prev_data[INDEX_PATH_EN_3_5G_L] = data_buf[INDEX_PATH_EN_3_5G_L];
486
+
487
+    }
488
+    if(Prev_data[INDEX_PATH_EN_3_5G_H] != data_buf[INDEX_PATH_EN_3_5G_H]){
489
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_3_5G_H,data_buf[INDEX_PATH_EN_3_5G_H]);
490
+        Prev_data[INDEX_PATH_EN_3_5G_H] = data_buf[INDEX_PATH_EN_3_5G_H];
491
+
492
+    }
493
+    if(Prev_data[INDEX_PATH_EN_3_5G_DL] != data_buf[INDEX_PATH_EN_3_5G_DL]){
494
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_3_5G_DL,data_buf[INDEX_PATH_EN_3_5G_DL]);
495
+        Prev_data[INDEX_PATH_EN_3_5G_DL] = data_buf[INDEX_PATH_EN_3_5G_DL];
496
+
497
+    }
498
+    if(Prev_data[INDEX_PATH_EN_3_5G_UL] != data_buf[INDEX_PATH_EN_3_5G_UL]){
499
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_3_5G_UL,data_buf[INDEX_PATH_EN_3_5G_UL]);
500
+        Prev_data[INDEX_PATH_EN_3_5G_UL] = data_buf[INDEX_PATH_EN_3_5G_UL];
501
+
502
+    }
503
+    if(Prev_data[INDEX_PLL_ON_OFF_3_5G_H] != data_buf[INDEX_PLL_ON_OFF_3_5G_H]){
504
+        Power_ON_OFF_Ctrl(INDEX_PLL_ON_OFF_3_5G_H,data_buf[INDEX_PLL_ON_OFF_3_5G_H]);
505
+        Prev_data[INDEX_PLL_ON_OFF_3_5G_H] = data_buf[INDEX_PLL_ON_OFF_3_5G_H];
506
+        HAL_Delay(10);
507
+        printf("POWER : %d \r\n",Prev_data[INDEX_PLL_ON_OFF_3_5G_H]);
508
+        if(data_buf[INDEX_PLL_ON_OFF_3_5G_H]){
509
+            printf("PLL CTRL START !! \r\n");
510
+            temp_reg = ADF4153_Freq_Calc(3934500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);
511
+            ADF4153_Module_Ctrl(Pll_3_5_H,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
512
+        }
513
+    }
514
+    if(Prev_data[INDEX_PLL_ON_OFF_3_5G_L] != data_buf[INDEX_PLL_ON_OFF_3_5G_L]){
515
+        Power_ON_OFF_Ctrl(INDEX_PLL_ON_OFF_3_5G_L,data_buf[INDEX_PLL_ON_OFF_3_5G_L]);
516
+        Prev_data[INDEX_PLL_ON_OFF_3_5G_L] = data_buf[INDEX_PLL_ON_OFF_3_5G_L];
517
+        HAL_Delay(10);
518
+        printf("POWER : %d \r\n",Prev_data[INDEX_PLL_ON_OFF_3_5G_L]);        
519
+        if(data_buf[INDEX_PLL_ON_OFF_3_5G_L]){
520
+            printf("PLL CTRL START !! \r\n");
521
+            temp_reg = ADF4153_Freq_Calc(3465500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);            
522
+            ADF4153_Module_Ctrl(Pll_3_5_L,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
523
+        }
524
+    }
525
+
526
+    if(Prev_data[INDEX_T_SYNC_DL] != data_buf[INDEX_T_SYNC_DL]){
527
+        Prev_data[INDEX_T_SYNC_DL] = data_buf[INDEX_T_SYNC_DL];
528
+        Power_ON_OFF_Ctrl(INDEX_T_SYNC_DL,data_buf[INDEX_T_SYNC_DL]);
529
+    }
530
+    if(Prev_data[INDEX__T_SYNC_DL] != data_buf[INDEX__T_SYNC_DL]){
531
+        Prev_data[INDEX__T_SYNC_DL] = data_buf[INDEX__T_SYNC_DL];
532
+        Power_ON_OFF_Ctrl(INDEX__T_SYNC_DL,data_buf[INDEX__T_SYNC_DL]);
533
+    }
534
+    if(Prev_data[INDEX_T_SYNC_UL] != data_buf[INDEX_T_SYNC_UL]){
535
+        Prev_data[INDEX_T_SYNC_UL] = data_buf[INDEX_T_SYNC_UL];
536
+        Power_ON_OFF_Ctrl(INDEX_T_SYNC_UL,data_buf[INDEX_T_SYNC_UL]);
537
+    }
538
+    if(Prev_data[INDEX__T_SYNC_UL] != data_buf[INDEX__T_SYNC_UL]){
539
+        Prev_data[INDEX__T_SYNC_UL] = data_buf[INDEX__T_SYNC_UL];
540
+        Power_ON_OFF_Ctrl(INDEX__T_SYNC_UL,data_buf[INDEX__T_SYNC_UL]);
541
+    }
542
+
543
+
544
+    if((Prev_data[INDEX_DAC_VCtrl_A_H] != data_buf[INDEX_DAC_VCtrl_A_H])
545
+        ||(Prev_data[INDEX_DAC_VCtrl_A_L] != data_buf[INDEX_DAC_VCtrl_A_L])){
546
+        ADC_Modify = 1;
547
+        Prev_data[INDEX_DAC_VCtrl_A_H] = data_buf[INDEX_DAC_VCtrl_A_H];
548
+        Prev_data[INDEX_DAC_VCtrl_A_L] = data_buf[INDEX_DAC_VCtrl_A_L];
549
+    }
550
+    if((Prev_data[INDEX_DAC_VCtrl_B_H] != data_buf[INDEX_DAC_VCtrl_B_H])
551
+        ||(Prev_data[INDEX_DAC_VCtrl_B_L] != data_buf[INDEX_DAC_VCtrl_B_L])){
552
+        ADC_Modify = 1;
553
+        
554
+        Prev_data[INDEX_DAC_VCtrl_B_H] = data_buf[INDEX_DAC_VCtrl_B_H];
555
+        Prev_data[INDEX_DAC_VCtrl_B_L] = data_buf[INDEX_DAC_VCtrl_B_L];        
556
+    }    
557
+    if((Prev_data[INDEX_DAC_VCtrl_C_H] != data_buf[INDEX_DAC_VCtrl_C_H])
558
+        ||(Prev_data[INDEX_DAC_VCtrl_C_L] != data_buf[INDEX_DAC_VCtrl_C_L])){
559
+        ADC_Modify = 1;
560
+//        printf("Prev_data[INDEX_DAC_VCtrl_C_H] : %x \r\n",Prev_data[INDEX_DAC_VCtrl_C_H]);
561
+//        printf("Prev_data[INDEX_DAC_VCtrl_C_L] : %x \r\n",Prev_data[INDEX_DAC_VCtrl_C_L]);
562
+
563
+        Prev_data[INDEX_DAC_VCtrl_C_H] = data_buf[INDEX_DAC_VCtrl_C_H];
564
+        Prev_data[INDEX_DAC_VCtrl_C_L] = data_buf[INDEX_DAC_VCtrl_C_L];        
565
+    }
566
+    if((Prev_data[INDEX_DAC_VCtrl_D_H] != data_buf[INDEX_DAC_VCtrl_D_H])
567
+        ||(Prev_data[INDEX_DAC_VCtrl_D_L] != data_buf[INDEX_DAC_VCtrl_D_L])){
568
+        ADC_Modify = 1;
569
+        Prev_data[INDEX_DAC_VCtrl_D_H] = data_buf[INDEX_DAC_VCtrl_D_H];
570
+        Prev_data[INDEX_DAC_VCtrl_D_L] = data_buf[INDEX_DAC_VCtrl_D_L];
571
+    }
572
+    if((Prev_data[INDEX_DAC_VCtrl_E_H] != data_buf[INDEX_DAC_VCtrl_E_H])
573
+        ||(Prev_data[INDEX_DAC_VCtrl_E_L] != data_buf[INDEX_DAC_VCtrl_E_L])){
574
+        ADC_Modify = 1;
575
+
576
+        Prev_data[INDEX_DAC_VCtrl_E_H] = data_buf[INDEX_DAC_VCtrl_E_H];
577
+        Prev_data[INDEX_DAC_VCtrl_E_L] = data_buf[INDEX_DAC_VCtrl_E_L];        
578
+    }
579
+    if((Prev_data[INDEX_DAC_VCtrl_F_H] != data_buf[INDEX_DAC_VCtrl_F_H])
580
+        ||(Prev_data[INDEX_DAC_VCtrl_F_L] != data_buf[INDEX_DAC_VCtrl_F_L])){
581
+        ADC_Modify = 1;
582
+        Prev_data[INDEX_DAC_VCtrl_F_H] = data_buf[INDEX_DAC_VCtrl_F_H];
583
+        Prev_data[INDEX_DAC_VCtrl_F_L] = data_buf[INDEX_DAC_VCtrl_F_L];        
584
+    }
585
+    if((Prev_data[INDEX_DAC_VCtrl_G_H] != data_buf[INDEX_DAC_VCtrl_G_H])
586
+        ||(Prev_data[INDEX_DAC_VCtrl_G_L] != data_buf[INDEX_DAC_VCtrl_G_L])){
587
+        ADC_Modify = 1;
588
+        Prev_data[INDEX_DAC_VCtrl_G_H] = data_buf[INDEX_DAC_VCtrl_G_H];
589
+        Prev_data[INDEX_DAC_VCtrl_G_L] = data_buf[INDEX_DAC_VCtrl_G_L];        
590
+    }    
591
+    if((Prev_data[INDEX_DAC_VCtrl_H_H] != data_buf[INDEX_DAC_VCtrl_H_H])
592
+        ||(Prev_data[INDEX_DAC_VCtrl_H_L] != data_buf[INDEX_DAC_VCtrl_H_L])){
593
+        ADC_Modify = 1;
594
+        Prev_data[INDEX_DAC_VCtrl_H_H] = data_buf[INDEX_DAC_VCtrl_H_H];
595
+        Prev_data[INDEX_DAC_VCtrl_H_L] = data_buf[INDEX_DAC_VCtrl_H_L];        
596
+    }
597
+    if(ADC_Modify){
598
+//        AD5318_Ctrl(0xF000);
599
+//        HAL_Delay(1);
600
+//        AD5318_Ctrl(0x800C);
601
+//        AD5318_Ctrl(0x2FFF );
602
+//        AD5318_Ctrl(0xA000);
603
+//        printf("DAC CTRL START \r\n");
604
+//        AD5318_Ctrl(0x800C);
605
+//        AD5318_Ctrl(0xA000);
606
+//        printf("DAC Change\r\n");
607
+        AD5318_Ctrl((Prev_data[INDEX_DAC_VCtrl_A_H] << 8 | Prev_data[INDEX_DAC_VCtrl_A_L]));    
608
+        AD5318_Ctrl((Prev_data[INDEX_DAC_VCtrl_B_H] << 8 | Prev_data[INDEX_DAC_VCtrl_B_L]));    
609
+        AD5318_Ctrl((Prev_data[INDEX_DAC_VCtrl_C_H] << 8 | Prev_data[INDEX_DAC_VCtrl_C_L]));
610
+        AD5318_Ctrl((Prev_data[INDEX_DAC_VCtrl_D_H] << 8 | Prev_data[INDEX_DAC_VCtrl_D_L]));
611
+        AD5318_Ctrl((Prev_data[INDEX_DAC_VCtrl_E_H] << 8 | Prev_data[INDEX_DAC_VCtrl_E_L]));    
612
+        AD5318_Ctrl((Prev_data[INDEX_DAC_VCtrl_F_H] << 8 | Prev_data[INDEX_DAC_VCtrl_F_L]));
613
+        AD5318_Ctrl((Prev_data[INDEX_DAC_VCtrl_G_H] << 8 | Prev_data[INDEX_DAC_VCtrl_G_L]));
614
+        AD5318_Ctrl((Prev_data[INDEX_DAC_VCtrl_H_H] << 8 | Prev_data[INDEX_DAC_VCtrl_H_L]));
615
+    }
616
+    
617
+}
618
+
619
+uint8_t temp_crc = 0;
620
+bool RF_Ctrl_Main(uint8_t* data_buf){
621
+    bool ret = false;
622
+    Bluecell_Prot_t type = data_buf[Type];
623
+    ret = RF_Data_Check(&data_buf[Header]); /* ERROR CHECK */
624
+    if(ret == false){
625
+        HAL_UART_Transmit(&huart1,&data_buf[INDEX_BLUE_HEADER],data_buf[INDEX_BLUE_LENGTH] + 2 + 1,3000); 
626
+        return ret;
627
+    }
628
+    
629
+    switch(type){
630
+    case TYPE_BLUECELL_RESET:
631
+        for(uint8_t i =0 ; i < data_buf[Length] + 6; i++)
632
+            printf("%02x ",data_buf[i]);
633
+        printf("Reset Start \r\n");
634
+        NVIC_SystemReset();
635
+        break;
636
+    case TYPE_BLUECELL_SET:
637
+#if 0 // PYJ.2019.07.31_BEGIN -- 
638
+    printf("TYPE_BLUECELL_SET : ");
639
+    for(uint8_t i =0 ; i < INDEX_BLUE_EOF + 1; i++)
640
+        printf("%02x ",data_buf[i]);
641
+#endif // PYJ.2019.07.31_END -- 
642
+        RF_Operate(&data_buf[Header]);
643
+        RF_Status_Ack();
644
+
645
+//        ADF4153_Freq_Calc(3465500000,40000000,2,5000);
646
+//        ADF4153_Freq_Calc(3993450000,40000000,2,5000);
647
+//        halSynSetFreq(1995000000);
648
+//        halSynSetFreq(1600000000);
649
+//        halSynSetFreq(1455000000);        
650
+        break;
651
+    case TYPE_BLUECELL_GET:
652
+#if 0 // PYJ.2019.08.01_BEGIN -- 
653
+        printf("\r\nTYPE_BLUECELL_GET : \r\n");
654
+#endif // PYJ.2019.08.01_END -- 
655
+        RF_Status_Get();
656
+        break;
657
+    case TYPE_BLUECELL_SAVE:
658
+//        printf("\r\nFLASH Write\r\n");
659
+        Bluecell_Flash_Write(&Prev_data[INDEX_BLUE_HEADER]);
660
+        break;
661
+        default:
662
+#ifdef DEBUG_PRINT // PYJ.2019.07.27_BEGIN --         
663
+            printf("Function : %s   LINE : %d    type : %d \r\n",__func__,__LINE__,type);
664
+#endif
665
+            break;
666
+    }
667
+    return ret;
668
+}

+ 135 - 0
insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/zig_operate(6464).h

@@ -0,0 +1,135 @@
1
+/*
2
+ * zig_operate.h
3
+ *
4
+ *  Created on: 2019. 7. 26.
5
+ *      Author: parkyj
6
+ */
7
+
8
+#ifndef ZIG_OPERATE_H_
9
+#define ZIG_OPERATE_H_
10
+#include "main.h"
11
+bool RF_Ctrl_Main(uint8_t* data_buf);
12
+
void RF_Status_Get(void);
13
+typedef enum{
14
+    Header = 0,
15
+    Type,
16
+    Length,
17
+    Crcindex,
18
+}Bluecell_Prot_p;
19
+
20
+typedef enum {
21
+    TYPE_BLUECELL_RESET = 0,
22
+    TYPE_BLUECELL_SET   = 1,
23
+    TYPE_BLUECELL_GET   = 2,
24
+    TYPE_BLUECELL_SAVE   = 3,   
25
+    TYPE_BLUECELL_ACK    = 4,
26
+    TYPE_BLUECELL_ERROR    = 5,    
27
+}Bluecell_Prot_t;
28
+
29
+typedef enum{
30
+    INDEX_BLUE_HEADER = 0,
31
+    INDEX_BLUE_TYPE,
32
+    INDEX_BLUE_LENGTH,
33
+    INDEX_BLUE_CRCINDEX,
34
+    INDEX_ATT_1_8G_DL1 ,
35
+    INDEX_ATT_1_8G_DL2 ,
36
+    INDEX_ATT_1_8G_UL1 ,
37
+    INDEX_ATT_1_8G_UL2 ,
38
+    INDEX_ATT_1_8G_UL3 ,
39
+    INDEX_ATT_1_8G_UL4 , 
40
+    INDEX_ATT_2_1G_DL1  = 10,
41
+    INDEX_ATT_2_1G_DL2 ,
42
+    INDEX_ATT_2_1G_UL1 ,
43
+    INDEX_ATT_2_1G_UL2 ,
44
+    INDEX_ATT_2_1G_UL3 , 
45
+    INDEX_ATT_2_1G_UL4 ,
46
+    INDEX_ATT_3_5G_DL  ,
47
+    INDEX_ATT_3_5G_UL  ,
48
+    INDEX_ATT_3_5G_COM1,
49
+    INDEX_ATT_3_5G_COM2, 
50
+    INDEX_ATT_3_5G_COM3 = 20,
51
+    INDEX_PLL_1_8G_DL_H,
52
+    INDEX_PLL_1_8G_DL_L,
53
+    INDEX_PLL_1_8G_UL_H,
54
+    INDEX_PLL_1_8G_UL_L,
55
+    INDEX_PLL_2_1G_DL_H,
56
+    INDEX_PLL_2_1G_DL_L,
57
+    INDEX_PLL_2_1G_UL_H,
58
+    INDEX_PLL_2_1G_UL_L,
59
+    INDEX_PLL_3_5G_DL_H ,
60
+    INDEX_PLL_3_5G_DL_L = 30,
61
+    INDEX_PLL_3_5G_UL_H ,
62
+    INDEX_PLL_3_5G_UL_L ,
63
+    INDEX_PLL_LD_6_BIT  ,
64
+    INDEX_DET_1_8G_DL_IN_H  ,
65
+    INDEX_DET_1_8G_DL_IN_L  ,
66
+    INDEX_DET_1_8G_DL_OUT_H ,
67
+    INDEX_DET_1_8G_DL_OUT_L ,
68
+    INDEX_DET_1_8G_UL_IN_H  ,
69
+    INDEX_DET_1_8G_UL_IN_L  ,
70
+    INDEX_DET_1_8G_UL_OUT_H = 40,
71
+    INDEX_DET_1_8G_UL_OUT_L ,
72
+    INDEX_DET_2_1G_DL_IN_H  ,
73
+    INDEX_DET_2_1G_DL_IN_L  ,
74
+    INDEX_DET_2_1G_DL_OUT_H ,
75
+    INDEX_DET_2_1G_DL_OUT_L ,
76
+    INDEX_DET_2_1G_UL_IN_H  ,
77
+    INDEX_DET_2_1G_UL_IN_L  ,
78
+    INDEX_DET_2_1G_UL_OUT_H ,
79
+    INDEX_DET_2_1G_UL_OUT_L ,
80
+    INDEX_DET_3_5G_DL_IN_H  = 50,
81
+    INDEX_DET_3_5G_DL_IN_L  ,
82
+    INDEX_DET_3_5G_DL_OUT_H ,
83
+    INDEX_DET_3_5G_DL_OUT_L ,
84
+    INDEX_DET_3_5G_UL_IN_H  ,
85
+    INDEX_DET_3_5G_UL_IN_L  ,
86
+    INDEX_DET_3_5G_UL_OUT_H ,
87
+    INDEX_DET_3_5G_UL_OUT_L ,
88
+    INDEX_RFU_TEMP_H    ,
89
+    INDEX_RFU_TEMP_L    ,
90
+    INDEX__28V_DET_H    = 60,
91
+    INDEX__28V_DET_L    ,
92
+    INDEX_ALARM_AC      ,
93
+    INDEX_ALARM_DC      ,
94
+    INDEX_PATH_EN_1_8G_DL   ,
95
+    INDEX_PATH_EN_1_8G_UL   ,
96
+    INDEX_PATH_EN_2_1G_DL   ,
97
+    INDEX_PATH_EN_2_1G_UL   ,
98
+    INDEX_PATH_EN_3_5G_DL,
99
+    INDEX_PATH_EN_3_5G_UL   ,
100
+    INDEX_PATH_EN_3_5G_H = 70,
101
+    INDEX_PATH_EN_3_5G_L,
102
+    INDEX_PLL_ON_OFF_3_5G_H ,
103
+    INDEX_PLL_ON_OFF_3_5G_L ,
104
+    INDEX_T_SYNC_DL,
105
+    INDEX__T_SYNC_DL,
106
+    INDEX_T_SYNC_UL,
107
+    INDEX__T_SYNC_UL,    
108
+    INDEX_DAC_VCtrl_A_H,
109
+    INDEX_DAC_VCtrl_A_L,
110
+    INDEX_DAC_VCtrl_B_H = 80, 
111
+    INDEX_DAC_VCtrl_B_L,
112
+    INDEX_DAC_VCtrl_C_H,
113
+    INDEX_DAC_VCtrl_C_L,
114
+    INDEX_DAC_VCtrl_D_H,
115
+    INDEX_DAC_VCtrl_D_L,
116
+    INDEX_DAC_VCtrl_E_H,
117
+    INDEX_DAC_VCtrl_E_L,
118
+    INDEX_DAC_VCtrl_F_H,
119
+    INDEX_DAC_VCtrl_F_L,
120
+    INDEX_DAC_VCtrl_G_H = 90,
121
+    INDEX_DAC_VCtrl_G_L,
122
+    INDEX_DAC_VCtrl_H_H,
123
+    INDEX_DAC_VCtrl_H_L,   
124
+    INDEX_BLUE_CRC, 
125
+    INDEX_BLUE_EOF,//95
126
+}Bluecell_Prot_Index;
127
+uint8_t Prev_data[INDEX_BLUE_EOF + 1];
128
+uint8_t Flash_Save_data[INDEX_BLUE_EOF + 1];
129
+
130
+
131
+//extern PLL_Setting_st Pll_3_5_H;
132
+//extern PLL_Setting_st Pll_3_5_L;
133
+
134
+
135
+#endif /* ZIG_OPERATE_H_ */

+ 673 - 0
insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/zig_operate(6511).c

@@ -0,0 +1,673 @@
1
+/*
2
+ * zig_operate.c
3
+ *
4
+ *  Created on: 2019. 7. 26.
5
+ *      Author: parkyj
6
+ */
7
+#include "zig_operate.h"
8
+uint8_t Prev_data[INDEX_BLUE_EOF + 1];
9
+uint8_t Flash_Save_data[INDEX_BLUE_EOF + 1];
10
+
11
+
12
+/* * * * * * * #define Struct* * * * * * * */
13
+PLL_Setting_st Pll_1_8GHz_DL = {
14
+	PLL_CLK_GPIO_Port,
15
+	PLL_CLK_Pin,
16
+	PLL_DATA_GPIO_Port,
17
+	PLL_DATA_Pin,
18
+    PLL_EN_1_8G_DL_GPIO_Port,    
19
+    PLL_EN_1_8G_DL_Pin,
20
+};
21
+PLL_Setting_st Pll_1_8GHz_UL = {
22
+    PLL_CLK_GPIO_Port,
23
+    PLL_CLK_Pin,
24
+    PLL_DATA_GPIO_Port,
25
+    PLL_DATA_Pin,
26
+    PLL_EN_1_8G_UL_GPIO_Port,    
27
+    PLL_EN_1_8G_UL_Pin,
28
+};
29
+PLL_Setting_st Pll_2_1GHz_DL = {
30
+    PLL_CLK_GPIO_Port,
31
+    PLL_CLK_Pin,
32
+    PLL_DATA_GPIO_Port,
33
+    PLL_DATA_Pin,
34
+    PLL_EN_2_1G_DL_GPIO_Port,    
35
+    PLL_EN_2_1G_DL_Pin,
36
+};
37
+PLL_Setting_st Pll_2_1GHz_UL = {
38
+    PLL_CLK_GPIO_Port,
39
+    PLL_CLK_Pin,
40
+    PLL_DATA_GPIO_Port,
41
+    PLL_DATA_Pin,
42
+    PLL_EN_2_1G_UL_GPIO_Port,    
43
+    PLL_EN_2_1G_UL_Pin,
44
+};
45
+/* * * * * * * * NOT YET * * * * * * * */
46
+PLL_Setting_st Pll_3_5GHz_DL = {
47
+    ATT_CLK_3_5G_GPIO_Port,
48
+    ATT_EN_3_5G_Pin,
49
+    PLL_DATA_GPIO_Port,
50
+    PLL_DATA_Pin,
51
+    PLL_EN_2_1G_DL_GPIO_Port,    
52
+    PLL_EN_2_1G_DL_Pin,
53
+};
54
+PLL_Setting_st Pll_3_5GHz_UL = {
55
+    PLL_CLK_GPIO_Port,
56
+    PLL_CLK_Pin,
57
+    PLL_DATA_GPIO_Port,
58
+    PLL_DATA_Pin,
59
+    PLL_EN_2_1G_UL_GPIO_Port,    
60
+    PLL_EN_2_1G_UL_Pin,
61
+};
62
+/* * * * * * * * ATTEN * * * * * * * */    
63
+ATTEN_Setting_st Atten_1_8Ghz_DL1 ={
64
+    ATT_CLK_GPIO_Port,
65
+    ATT_CLK_Pin,
66
+    ATT_DATA_GPIO_Port,
67
+    ATT_DATA_Pin,
68
+    ATT_EN_1_8G_DL1_GPIO_Port,    
69
+    ATT_EN_1_8G_DL1_Pin,
70
+    PATH_EN_1_8G_DL_GPIO_Port,
71
+    PATH_EN_1_8G_DL_Pin,
72
+};
73
+
74
+ATTEN_Setting_st Atten_1_8Ghz_DL2 ={
75
+    ATT_CLK_GPIO_Port,
76
+    ATT_CLK_Pin,
77
+    ATT_DATA_GPIO_Port,
78
+    ATT_DATA_Pin,
79
+    ATT_EN_1_8G_DL2_GPIO_Port,    
80
+    ATT_EN_1_8G_DL2_Pin,
81
+    PATH_EN_1_8G_DL_GPIO_Port,
82
+    PATH_EN_1_8G_DL_Pin,    
83
+};
84
+ATTEN_Setting_st Atten_1_8Ghz_UL1 ={
85
+    ATT_CLK_GPIO_Port,
86
+    ATT_CLK_Pin,
87
+    ATT_DATA_GPIO_Port,
88
+    ATT_DATA_Pin,
89
+    ATT_EN_1_8G_UL1_GPIO_Port,    
90
+    ATT_EN_1_8G_UL1_Pin,
91
+    PATH_EN_1_8G_UL_GPIO_Port,
92
+    PATH_EN_1_8G_UL_Pin,      
93
+};
94
+ATTEN_Setting_st Atten_1_8Ghz_UL2 ={
95
+    ATT_CLK_GPIO_Port,
96
+    ATT_CLK_Pin,
97
+    ATT_DATA_GPIO_Port,
98
+    ATT_DATA_Pin,
99
+    ATT_EN_1_8G_UL2_GPIO_Port,    
100
+    ATT_EN_1_8G_UL2_Pin,
101
+    PATH_EN_1_8G_UL_GPIO_Port,
102
+    PATH_EN_1_8G_UL_Pin,    
103
+};
104
+ATTEN_Setting_st Atten_1_8Ghz_UL3 ={
105
+    ATT_CLK_GPIO_Port,
106
+    ATT_CLK_Pin,
107
+    ATT_DATA_GPIO_Port,
108
+    ATT_DATA_Pin,
109
+    ATT_EN_1_8G_UL3_GPIO_Port,    
110
+    ATT_EN_1_8G_UL3_Pin,
111
+    PATH_EN_1_8G_UL_GPIO_Port,
112
+    PATH_EN_1_8G_UL_Pin,    
113
+};
114
+ATTEN_Setting_st Atten_1_8Ghz_UL4 ={
115
+    ATT_CLK_GPIO_Port,
116
+    ATT_CLK_Pin,
117
+    ATT_DATA_GPIO_Port,
118
+    ATT_DATA_Pin,
119
+    ATT_EN_1_8G_UL4_GPIO_Port,    
120
+    ATT_EN_1_8G_UL4_Pin,
121
+    PATH_EN_1_8G_UL_GPIO_Port,
122
+    PATH_EN_1_8G_UL_Pin,    
123
+};
124
+ATTEN_Setting_st Atten_2_1Ghz_DL1 ={
125
+    ATT_CLK_GPIO_Port,
126
+    ATT_CLK_Pin,
127
+    ATT_DATA_GPIO_Port,
128
+    ATT_DATA_Pin,
129
+    ATT_EN_2_1G_DL1_GPIO_Port,    
130
+    ATT_EN_2_1G_DL1_Pin,
131
+    PATH_EN_2_1G_DL_GPIO_Port,
132
+    PATH_EN_2_1G_DL_Pin,    
133
+};
134
+ATTEN_Setting_st Atten_2_1Ghz_DL2 ={
135
+    ATT_CLK_GPIO_Port,
136
+    ATT_CLK_Pin,
137
+    ATT_DATA_GPIO_Port,
138
+    ATT_DATA_Pin,
139
+    ATT_EN_2_1G_DL2_GPIO_Port,    
140
+    ATT_EN_2_1G_DL2_Pin,
141
+    PATH_EN_2_1G_DL_GPIO_Port,
142
+    PATH_EN_2_1G_DL_Pin,    
143
+};
144
+
145
+ATTEN_Setting_st Atten_2_1Ghz_UL1 ={
146
+    ATT_CLK_GPIO_Port,
147
+    ATT_CLK_Pin,
148
+    ATT_DATA_GPIO_Port,
149
+    ATT_DATA_Pin,
150
+    ATT_EN_2_1G_UL1_GPIO_Port,    
151
+    ATT_EN_2_1G_UL1_Pin,
152
+    PATH_EN_2_1G_UL_GPIO_Port,
153
+    PATH_EN_2_1G_UL_Pin,    
154
+};
155
+ATTEN_Setting_st Atten_2_1Ghz_UL2 ={
156
+    ATT_CLK_GPIO_Port,
157
+    ATT_CLK_Pin,
158
+    ATT_DATA_GPIO_Port,
159
+    ATT_DATA_Pin,
160
+    ATT_EN_2_1G_UL2_GPIO_Port,    
161
+    ATT_EN_2_1G_UL2_Pin,
162
+    PATH_EN_2_1G_UL_GPIO_Port,
163
+    PATH_EN_2_1G_UL_Pin,    
164
+};
165
+ATTEN_Setting_st Atten_2_1Ghz_UL3 ={
166
+    ATT_CLK_GPIO_Port,
167
+    ATT_CLK_Pin,
168
+    ATT_DATA_GPIO_Port,
169
+    ATT_DATA_Pin,
170
+    ATT_EN_2_1G_UL3_GPIO_Port,    
171
+    ATT_EN_2_1G_UL3_Pin,
172
+    PATH_EN_2_1G_UL_GPIO_Port,
173
+    PATH_EN_2_1G_UL_Pin,    
174
+};
175
+ATTEN_Setting_st Atten_2_1Ghz_UL4 ={
176
+    ATT_CLK_GPIO_Port,
177
+    ATT_CLK_Pin,
178
+    ATT_DATA_GPIO_Port,
179
+    ATT_DATA_Pin,
180
+    ATT_EN_2_1G_UL4_GPIO_Port,    
181
+    ATT_EN_2_1G_UL4_Pin,
182
+    PATH_EN_2_1G_UL_GPIO_Port,
183
+    PATH_EN_2_1G_UL_Pin,    
184
+};
185
+
186
+
187
+bool RF_Data_Check(uint8_t* data_buf){
188
+    bool ret = false;
189
+    bool crcret = STH30_CheckCrc(&data_buf[Type], data_buf[Length], data_buf[data_buf[Crcindex]]);
190
+    if(data_buf[Header] == BLUECELL_HEADER){ /*HEADER CHECK*/
191
+        ret= true;
192
+    }
193
+    if(crcret == true){/*CRC CHECK*/
194
+        ret = true;
195
+    }else{
196
+        ret = false;
197
+//        printf("Recv CRC Value : \"%d\"\r\n Create CRC Value : \"%d\"   \r\n",data_buf[data_buf[Crcindex]],STH30_CreateCrc(&data_buf[Type], data_buf[Length]));
198
+    }
199
+//    printf("CRC Result : \"%d\"   \r\n",ret);
200
+    return ret;
201
+
202
+}
203
+
204
+PLL_Setting_st Pll_3_5_H = {
205
+     PLL_CLK_3_5G_GPIO_Port,
206
+     PLL_CLK_3_5G_Pin,
207
+     PLL_DATA_3_5G_GPIO_Port,
208
+     PLL_DATA_3_5G_Pin,
209
+   PLL_EN_3_5G_H_GPIO_Port,    
210
+   PLL_EN_3_5G_H_Pin,
211
+ };
212
+ PLL_Setting_st Pll_3_5_L = {
213
+     PLL_CLK_3_5G_GPIO_Port,
214
+     PLL_CLK_3_5G_Pin,
215
+     PLL_DATA_3_5G_GPIO_Port,
216
+     PLL_DATA_3_5G_Pin,
217
+       PLL_EN_3_5G_L_GPIO_Port,    
218
+       PLL_EN_3_5G_L_Pin,
219
+ };
220
+void RF_Status_Get(void){
221
+//    printf("\r\nYJ2 : Prev_data[INDEX_DET_1_8G_DL_IN_L ] : %x\r\n",Prev_data[INDEX_DET_1_8G_DL_IN_L]);            
222
+    Prev_data[INDEX_BLUE_HEADER]   = BLUECELL_HEADER;
223
+    Prev_data[INDEX_BLUE_TYPE]     = TYPE_BLUECELL_GET;
224
+    Prev_data[INDEX_BLUE_LENGTH]   = INDEX_BLUE_EOF - 2;
225
+    Prev_data[INDEX_BLUE_CRCINDEX] = INDEX_BLUE_CRC;
226
+    Prev_data[INDEX_BLUE_CRC]      = STH30_CreateCrc(&Prev_data[Type], Prev_data[Length]);
227
+    Prev_data[INDEX_BLUE_EOF] = BLUECELL_TAILER;    
228
+    HAL_UART_Transmit_DMA(&huart1,&Prev_data[INDEX_BLUE_HEADER],INDEX_BLUE_EOF + 1); 
229
+//    printf("\r\nYJ : %x",ADCvalue[0]);
230
+//    printf("\r\n");
231
+
232
+}
233
+static uint8_t Ack_Buf[6];
234
+void RF_Status_Ack(void){
235
+//    printf("\r\nYJ2 : Prev_data[INDEX_DET_1_8G_DL_IN_L ] : %x\r\n",Prev_data[INDEX_DET_1_8G_DL_IN_L]);            
236
+    Ack_Buf[INDEX_BLUE_HEADER]       = BLUECELL_HEADER;
237
+    Ack_Buf[INDEX_BLUE_TYPE]         = TYPE_BLUECELL_ACK;
238
+    Ack_Buf[INDEX_BLUE_LENGTH]       = 3;
239
+    Ack_Buf[INDEX_BLUE_CRCINDEX + 0] = INDEX_BLUE_CRCINDEX + 1;
240
+    Ack_Buf[INDEX_BLUE_CRCINDEX + 1] = STH30_CreateCrc(&Ack_Buf[Type], Ack_Buf[Length]);
241
+    Ack_Buf[INDEX_BLUE_CRCINDEX + 2] = BLUECELL_TAILER;
242
+    HAL_UART_Transmit_DMA(&huart1,&Ack_Buf[INDEX_BLUE_HEADER],Ack_Buf[INDEX_BLUE_LENGTH]  + 3); 
243
+//    printf("\r\nYJ : %x",ADCvalue[0]);
244
+//    printf("\r\n");
245
+
246
+}
247
+
248
+void RF_Operate(uint8_t* data_buf){
249
+    uint16_t temp_val = 0;
250
+    uint8_t  ADC_Modify = 0;
251
+    ADF4153_R_N_Reg_st temp_reg;
252
+//    printf("Prev_data[INDEX_ATT_1_8G_DL1]  : %x  data_buf[INDEX_ATT_1_8G_DL1] : %x\r\n",Prev_data[INDEX_ATT_1_8G_DL1],data_buf[INDEX_ATT_1_8G_DL1]);
253
+    if(Prev_data[INDEX_ATT_1_8G_DL1] != data_buf[INDEX_ATT_1_8G_DL1]){
254
+        BDA4601_atten_ctrl(BDA4601_1_8G_DL1,(data_buf[INDEX_ATT_1_8G_DL1]));
255
+        Prev_data[INDEX_ATT_1_8G_DL1] = data_buf[INDEX_ATT_1_8G_DL1];
256
+    }
257
+    if(Prev_data[INDEX_ATT_1_8G_DL2] != data_buf[INDEX_ATT_1_8G_DL2]){
258
+        BDA4601_atten_ctrl(BDA4601_1_8G_DL2,(data_buf[INDEX_ATT_1_8G_DL2]));
259
+        Prev_data[INDEX_ATT_1_8G_DL2] = data_buf[INDEX_ATT_1_8G_DL2];
260
+    }
261
+    if(Prev_data[INDEX_ATT_1_8G_UL1] != data_buf[INDEX_ATT_1_8G_UL1]){
262
+        BDA4601_atten_ctrl(BDA4601_1_8G_UL1,(data_buf[INDEX_ATT_1_8G_UL1]));
263
+        Prev_data[INDEX_ATT_1_8G_UL1] = data_buf[INDEX_ATT_1_8G_UL1];
264
+    }
265
+    if(Prev_data[INDEX_ATT_1_8G_UL2] != data_buf[INDEX_ATT_1_8G_UL2]){
266
+        BDA4601_atten_ctrl(BDA4601_1_8G_UL2,(data_buf[INDEX_ATT_1_8G_UL2]));
267
+        Prev_data[INDEX_ATT_1_8G_UL2] = data_buf[INDEX_ATT_1_8G_UL2];
268
+    }
269
+    if(Prev_data[INDEX_ATT_1_8G_UL3] != data_buf[INDEX_ATT_1_8G_UL3]){
270
+        BDA4601_atten_ctrl(BDA4601_1_8G_UL3,(data_buf[INDEX_ATT_1_8G_UL3]));
271
+        Prev_data[INDEX_ATT_1_8G_UL3] = data_buf[INDEX_ATT_1_8G_UL3];
272
+
273
+    }
274
+    if(Prev_data[INDEX_ATT_1_8G_UL4] != data_buf[INDEX_ATT_1_8G_UL4]){
275
+        BDA4601_atten_ctrl(BDA4601_1_8G_UL4,(data_buf[INDEX_ATT_1_8G_UL4]));
276
+        Prev_data[INDEX_ATT_1_8G_UL4] = data_buf[INDEX_ATT_1_8G_UL4];
277
+
278
+    }
279
+    if(Prev_data[INDEX_ATT_2_1G_DL1] != data_buf[INDEX_ATT_2_1G_DL1]){
280
+        BDA4601_atten_ctrl(BDA4601_2_1G_DL1,(data_buf[INDEX_ATT_2_1G_DL1]));
281
+        Prev_data[INDEX_ATT_2_1G_DL1] = data_buf[INDEX_ATT_2_1G_DL1];
282
+
283
+    }
284
+    if(Prev_data[INDEX_ATT_2_1G_DL2] != data_buf[INDEX_ATT_2_1G_DL2]){
285
+        BDA4601_atten_ctrl(BDA4601_2_1G_DL2,(data_buf[INDEX_ATT_2_1G_DL2]));
286
+        Prev_data[INDEX_ATT_2_1G_DL2] = data_buf[INDEX_ATT_2_1G_DL2];
287
+
288
+    }
289
+    if(Prev_data[INDEX_ATT_2_1G_UL1] != data_buf[INDEX_ATT_2_1G_UL1]){
290
+        BDA4601_atten_ctrl(BDA4601_2_1G_UL1,(data_buf[INDEX_ATT_2_1G_UL1]));
291
+        Prev_data[INDEX_ATT_2_1G_UL1] = data_buf[INDEX_ATT_2_1G_UL1];
292
+
293
+    }
294
+    if(Prev_data[INDEX_ATT_2_1G_UL2] != data_buf[INDEX_ATT_2_1G_UL2]){
295
+        BDA4601_atten_ctrl(BDA4601_2_1G_UL2,(data_buf[INDEX_ATT_2_1G_UL2]));
296
+        Prev_data[INDEX_ATT_2_1G_UL2] = data_buf[INDEX_ATT_2_1G_UL2];
297
+
298
+    }
299
+    if(Prev_data[INDEX_ATT_2_1G_UL3] != data_buf[INDEX_ATT_2_1G_UL3]){
300
+        BDA4601_atten_ctrl(BDA4601_2_1G_UL3,(data_buf[INDEX_ATT_2_1G_UL3]));
301
+        Prev_data[INDEX_ATT_2_1G_UL3] = data_buf[INDEX_ATT_2_1G_UL3];
302
+    }
303
+    if(Prev_data[INDEX_ATT_2_1G_UL4] != data_buf[INDEX_ATT_2_1G_UL4]){
304
+        BDA4601_atten_ctrl(BDA4601_2_1G_UL4,(data_buf[INDEX_ATT_2_1G_UL4]));
305
+        Prev_data[INDEX_ATT_2_1G_UL4] = data_buf[INDEX_ATT_2_1G_UL4];
306
+    }
307
+    if(   (Prev_data[INDEX_ATT_3_5G_DL] != data_buf[INDEX_ATT_3_5G_DL])
308
+        ||(Prev_data[INDEX_ATT_3_5G_UL] != data_buf[INDEX_ATT_3_5G_UL])
309
+        ||(Prev_data[INDEX_ATT_3_5G_COM1] != data_buf[INDEX_ATT_3_5G_COM1])
310
+        ||(Prev_data[INDEX_ATT_3_5G_COM2] != data_buf[INDEX_ATT_3_5G_COM2])
311
+        ||(Prev_data[INDEX_ATT_3_5G_COM3] != data_buf[INDEX_ATT_3_5G_COM3])
312
+    ){
313
+        ALL_ATT_3_5G.data0 = Prev_data[INDEX_ATT_3_5G_DL]   = data_buf[INDEX_ATT_3_5G_DL];
314
+        ALL_ATT_3_5G.data1 = Prev_data[INDEX_ATT_3_5G_UL]   = data_buf[INDEX_ATT_3_5G_UL];
315
+        ALL_ATT_3_5G.data2 = Prev_data[INDEX_ATT_3_5G_COM1] = data_buf[INDEX_ATT_3_5G_COM1];
316
+        ALL_ATT_3_5G.data3 = Prev_data[INDEX_ATT_3_5G_COM2] = data_buf[INDEX_ATT_3_5G_COM2];
317
+        ALL_ATT_3_5G.data4 = Prev_data[INDEX_ATT_3_5G_COM3] = data_buf[INDEX_ATT_3_5G_COM3];
318
+        PE43711_ALL_atten_ctrl(ALL_ATT_3_5G);
319
+    }
320
+    if((Prev_data[INDEX_PLL_1_8G_DL_H] != data_buf[INDEX_PLL_1_8G_DL_H])
321
+        && (Prev_data[INDEX_PLL_1_8G_DL_L] != data_buf[INDEX_PLL_1_8G_DL_L])
322
+    ){
323
+        Prev_data[INDEX_PLL_1_8G_DL_H] = data_buf[INDEX_PLL_1_8G_DL_H];
324
+        Prev_data[INDEX_PLL_1_8G_DL_L] = data_buf[INDEX_PLL_1_8G_DL_L];
325
+        temp_val = (data_buf[INDEX_PLL_1_8G_DL_H] << 8) | (data_buf[INDEX_PLL_1_8G_DL_L]);
326
+        ADF4113_Module_Ctrl(ADF4113_1_8G_DL,0x410,halSynSetFreq((temp_val * 1000000) / 10 ),0x9F8092);
327
+    }
328
+    if((Prev_data[INDEX_PLL_1_8G_UL_H] != data_buf[INDEX_PLL_1_8G_UL_H])
329
+        && (Prev_data[INDEX_PLL_1_8G_UL_L] != data_buf[INDEX_PLL_1_8G_UL_L])){
330
+        temp_val = (data_buf[INDEX_PLL_1_8G_UL_H] << 8) | (data_buf[INDEX_PLL_1_8G_UL_L]);
331
+        Prev_data[INDEX_PLL_1_8G_UL_H] = data_buf[INDEX_PLL_1_8G_UL_H];
332
+        Prev_data[INDEX_PLL_1_8G_UL_L] = data_buf[INDEX_PLL_1_8G_UL_L];
333
+//         ADF4113_Module_Ctrl(ADF4113_1_8G_UL,0x000410,0x038D31,0x9f8092);
334
+         ADF4113_Module_Ctrl(ADF4113_1_8G_UL,0x410,halSynSetFreq((temp_val * 1000000) / 10),0x9F8092);
335
+    }
336
+    if((Prev_data[INDEX_PLL_2_1G_DL_H] != data_buf[INDEX_PLL_2_1G_DL_H])
337
+        && (Prev_data[INDEX_PLL_2_1G_DL_L] != data_buf[INDEX_PLL_2_1G_DL_L])){
338
+        temp_val = ((data_buf[INDEX_PLL_2_1G_DL_H] << 8) | (data_buf[INDEX_PLL_2_1G_DL_L]));
339
+        Prev_data[INDEX_PLL_2_1G_DL_H] = data_buf[INDEX_PLL_2_1G_DL_H];
340
+        Prev_data[INDEX_PLL_2_1G_DL_L] = data_buf[INDEX_PLL_2_1G_DL_L];        
341
+//         ADF4113_Module_Ctrl(ADF4113_2_1G_DL,0x410,0x4DE71,0x9F8092);
342
+        ADF4113_Module_Ctrl(ADF4113_2_1G_DL,0x410,halSynSetFreq((temp_val * 1000000) / 10),0x9F8092);
343
+    }
344
+    if((Prev_data[INDEX_PLL_2_1G_UL_H] != data_buf[INDEX_PLL_2_1G_UL_H])
345
+        && (Prev_data[INDEX_PLL_2_1G_UL_L] != data_buf[INDEX_PLL_2_1G_UL_L])){
346
+        Prev_data[INDEX_PLL_2_1G_UL_H] = data_buf[INDEX_PLL_2_1G_UL_H];
347
+        Prev_data[INDEX_PLL_2_1G_UL_L] = data_buf[INDEX_PLL_2_1G_UL_L];          
348
+        temp_val = (data_buf[INDEX_PLL_2_1G_UL_H] << 8) | (data_buf[INDEX_PLL_2_1G_UL_L]);
349
+//        ADF4113_Module_Ctrl(ADF4113_2_1G_UL,0x000410,0x59A31,0x9f8092);
350
+        ADF4113_Module_Ctrl(ADF4113_2_1G_UL,0x410,halSynSetFreq((temp_val * 1000000) / 10),0x9F8092);
351
+
352
+    }
353
+    if((Prev_data[INDEX_PLL_3_5G_DL_H] != data_buf[INDEX_PLL_3_5G_DL_H])
354
+        && (Prev_data[INDEX_PLL_3_5G_DL_L] != data_buf[INDEX_PLL_3_5G_DL_L])){
355
+        Prev_data[INDEX_PLL_3_5G_DL_H] = data_buf[INDEX_PLL_3_5G_DL_H];
356
+        Prev_data[INDEX_PLL_3_5G_DL_L] = data_buf[INDEX_PLL_3_5G_DL_L];
357
+        temp_val = (data_buf[INDEX_PLL_3_5G_DL_H] << 8) | (data_buf[INDEX_PLL_3_5G_DL_L]);
358
+        temp_reg = ADF4153_Freq_Calc(3934500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);
359
+        ADF4153_Module_Ctrl(Pll_3_5_L,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
360
+    }
361
+    if((Prev_data[INDEX_PLL_3_5G_UL_H] != data_buf[INDEX_PLL_3_5G_UL_H])
362
+        && (Prev_data[INDEX_PLL_3_5G_UL_L] != data_buf[INDEX_PLL_3_5G_UL_L])){
363
+        Prev_data[INDEX_PLL_3_5G_UL_H] = data_buf[INDEX_PLL_3_5G_UL_H];
364
+        Prev_data[INDEX_PLL_3_5G_UL_L] = data_buf[INDEX_PLL_3_5G_UL_L];
365
+        temp_val = (data_buf[INDEX_PLL_3_5G_UL_H] << 8) | (data_buf[INDEX_PLL_3_5G_UL_L]);
366
+        temp_reg = ADF4153_Freq_Calc(3465500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);
367
+        ADF4153_Module_Ctrl(Pll_3_5_H,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
368
+
369
+    }
370
+    if(Prev_data[INDEX_PLL_LD_6_BIT] != data_buf[INDEX_PLL_LD_6_BIT]){
371
+
372
+    }
373
+#if 0 // PYJ.2019.07.28_BEGIN -- 
374
+    if(Prev_data[INDEX_DET_1_8G_DL_IN_H] != data_buf[INDEX_DET_1_8G_DL_IN_H]){
375
+
376
+    }
377
+    if(Prev_data[INDEX_DET_1_8G_DL_IN_L] != data_buf[INDEX_DET_1_8G_DL_IN_L]){
378
+
379
+    }
380
+    if(Prev_data[INDEX_DET_1_8G_DL_OUT_H] != data_buf[INDEX_DET_1_8G_DL_OUT_H]){
381
+
382
+    }
383
+    if(Prev_data[INDEX_DET_1_8G_DL_OUT_L] != data_buf[INDEX_DET_1_8G_DL_OUT_L]){
384
+
385
+    }
386
+    if(Prev_data[INDEX_DET_1_8G_UL_IN_H] != data_buf[INDEX_DET_1_8G_UL_IN_H]){
387
+
388
+    }
389
+    if(Prev_data[INDEX_DET_1_8G_UL_IN_L] != data_buf[INDEX_DET_1_8G_UL_IN_L]){
390
+
391
+    }
392
+    if(Prev_data[INDEX_DET_1_8G_UL_OUT_H] != data_buf[INDEX_DET_1_8G_UL_OUT_H]){
393
+
394
+    }
395
+    if(Prev_data[INDEX_DET_1_8G_UL_OUT_L] != data_buf[INDEX_DET_1_8G_UL_OUT_L]){
396
+
397
+    }
398
+    if(Prev_data[INDEX_DET_2_1G_DL_IN_H] != data_buf[INDEX_DET_2_1G_DL_IN_H]){
399
+
400
+    }
401
+    if(Prev_data[INDEX_DET_2_1G_DL_IN_L] != data_buf[INDEX_DET_2_1G_DL_IN_L]){
402
+
403
+    }
404
+    if(Prev_data[INDEX_DET_2_1G_DL_OUT_H] != data_buf[INDEX_DET_2_1G_DL_OUT_H]){
405
+
406
+    }
407
+    if(Prev_data[INDEX_DET_2_1G_DL_OUT_L] != data_buf[INDEX_DET_2_1G_DL_OUT_L]){
408
+
409
+    }
410
+    if(Prev_data[INDEX_DET_2_1G_UL_IN_H] != data_buf[INDEX_DET_2_1G_UL_IN_H]){
411
+
412
+    }
413
+    if(Prev_data[INDEX_DET_2_1G_UL_IN_L] != data_buf[INDEX_DET_2_1G_UL_IN_L]){
414
+
415
+    }
416
+
417
+    if(Prev_data[INDEX_DET_2_1G_UL_OUT_H] != data_buf[INDEX_DET_2_1G_UL_OUT_H]){
418
+
419
+    }
420
+    if(Prev_data[INDEX_DET_2_1G_UL_OUT_L] != data_buf[INDEX_DET_2_1G_UL_OUT_L]){
421
+
422
+    }
423
+    if(Prev_data[INDEX_DET_3_5G_DL_IN_H] != data_buf[INDEX_DET_3_5G_DL_IN_H]){
424
+
425
+    }
426
+    if(Prev_data[INDEX_DET_3_5G_DL_IN_L] != data_buf[INDEX_DET_3_5G_DL_IN_L]){
427
+
428
+    }
429
+    if(Prev_data[INDEX_DET_3_5G_DL_OUT_L] != data_buf[INDEX_DET_3_5G_DL_OUT_L]){
430
+
431
+    }
432
+    if(Prev_data[INDEX_DET_3_5G_DL_OUT_H] != data_buf[INDEX_DET_3_5G_DL_OUT_H]){
433
+
434
+    }
435
+    if(Prev_data[INDEX_DET_3_5G_UL_IN_H] != data_buf[INDEX_DET_3_5G_UL_IN_H]){
436
+
437
+    }
438
+    if(Prev_data[INDEX_DET_3_5G_UL_IN_L] != data_buf[INDEX_DET_3_5G_UL_IN_L]){
439
+
440
+    }
441
+
442
+    if(Prev_data[INDEX_DET_3_5G_UL_OUT_H] != data_buf[INDEX_DET_3_5G_UL_OUT_H]){
443
+
444
+    }
445
+    if(Prev_data[INDEX_DET_3_5G_UL_OUT_L] != data_buf[INDEX_DET_3_5G_UL_OUT_L]){
446
+
447
+    }
448
+    if(Prev_data[INDEX_RFU_TEMP_H] != data_buf[INDEX_RFU_TEMP_H]){
449
+
450
+    }
451
+    if(Prev_data[INDEX_RFU_TEMP_L] != data_buf[INDEX_RFU_TEMP_L]){
452
+
453
+    }
454
+    if(Prev_data[INDEX__28V_DET_H] != data_buf[INDEX__28V_DET_H]){
455
+
456
+    }
457
+    if(Prev_data[INDEX__28V_DET_L] != data_buf[INDEX__28V_DET_L]){
458
+
459
+    }
460
+#endif // PYJ.2019.07.28_END -- 
461
+    if(Prev_data[INDEX_ALARM_AC] != data_buf[INDEX_ALARM_AC]){
462
+
463
+    }
464
+    if(Prev_data[INDEX_ALARM_DC] != data_buf[INDEX_ALARM_DC]){
465
+
466
+    }
467
+    if(Prev_data[INDEX_PATH_EN_1_8G_DL] != data_buf[INDEX_PATH_EN_1_8G_DL]){
468
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_1_8G_DL,data_buf[INDEX_PATH_EN_1_8G_DL]);
469
+        Prev_data[INDEX_PATH_EN_1_8G_DL] = data_buf[INDEX_PATH_EN_1_8G_DL];
470
+    }
471
+    if(Prev_data[INDEX_PATH_EN_1_8G_UL] != data_buf[INDEX_PATH_EN_1_8G_UL]){
472
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_1_8G_UL,data_buf[INDEX_PATH_EN_1_8G_UL]);
473
+        Prev_data[INDEX_PATH_EN_1_8G_UL] = data_buf[INDEX_PATH_EN_1_8G_UL];
474
+
475
+    }
476
+
477
+    if(Prev_data[INDEX_PATH_EN_2_1G_DL] != data_buf[INDEX_PATH_EN_2_1G_DL]){
478
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_2_1G_DL,data_buf[INDEX_PATH_EN_2_1G_DL]);
479
+        Prev_data[INDEX_PATH_EN_2_1G_DL] = data_buf[INDEX_PATH_EN_2_1G_DL];
480
+    }
481
+    if(Prev_data[INDEX_PATH_EN_2_1G_UL] != data_buf[INDEX_PATH_EN_2_1G_UL]){
482
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_2_1G_UL,data_buf[INDEX_PATH_EN_2_1G_UL]);
483
+        Prev_data[INDEX_PATH_EN_2_1G_UL] = data_buf[INDEX_PATH_EN_2_1G_UL];
484
+
485
+    }
486
+    if(Prev_data[INDEX_PATH_EN_3_5G_L] != data_buf[INDEX_PATH_EN_3_5G_L]){
487
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_3_5G_L,data_buf[INDEX_PATH_EN_3_5G_L]);
488
+        Prev_data[INDEX_PATH_EN_3_5G_L] = data_buf[INDEX_PATH_EN_3_5G_L];
489
+
490
+    }
491
+    if(Prev_data[INDEX_PATH_EN_3_5G_H] != data_buf[INDEX_PATH_EN_3_5G_H]){
492
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_3_5G_H,data_buf[INDEX_PATH_EN_3_5G_H]);
493
+        Prev_data[INDEX_PATH_EN_3_5G_H] = data_buf[INDEX_PATH_EN_3_5G_H];
494
+
495
+    }
496
+    if(Prev_data[INDEX_PATH_EN_3_5G_DL] != data_buf[INDEX_PATH_EN_3_5G_DL]){
497
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_3_5G_DL,data_buf[INDEX_PATH_EN_3_5G_DL]);
498
+        Prev_data[INDEX_PATH_EN_3_5G_DL] = data_buf[INDEX_PATH_EN_3_5G_DL];
499
+
500
+    }
501
+    if(Prev_data[INDEX_PATH_EN_3_5G_UL] != data_buf[INDEX_PATH_EN_3_5G_UL]){
502
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_3_5G_UL,data_buf[INDEX_PATH_EN_3_5G_UL]);
503
+        Prev_data[INDEX_PATH_EN_3_5G_UL] = data_buf[INDEX_PATH_EN_3_5G_UL];
504
+
505
+    }
506
+    if(Prev_data[INDEX_PLL_ON_OFF_3_5G_H] != data_buf[INDEX_PLL_ON_OFF_3_5G_H]){
507
+        Power_ON_OFF_Ctrl(INDEX_PLL_ON_OFF_3_5G_H,data_buf[INDEX_PLL_ON_OFF_3_5G_H]);
508
+        Prev_data[INDEX_PLL_ON_OFF_3_5G_H] = data_buf[INDEX_PLL_ON_OFF_3_5G_H];
509
+        HAL_Delay(10);
510
+        printf("POWER : %d \r\n",Prev_data[INDEX_PLL_ON_OFF_3_5G_H]);
511
+        if(data_buf[INDEX_PLL_ON_OFF_3_5G_H]){
512
+            printf("PLL CTRL START !! \r\n");
513
+            temp_reg = ADF4153_Freq_Calc(3934500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);
514
+            ADF4153_Module_Ctrl(Pll_3_5_H,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
515
+        }
516
+    }
517
+    if(Prev_data[INDEX_PLL_ON_OFF_3_5G_L] != data_buf[INDEX_PLL_ON_OFF_3_5G_L]){
518
+        Power_ON_OFF_Ctrl(INDEX_PLL_ON_OFF_3_5G_L,data_buf[INDEX_PLL_ON_OFF_3_5G_L]);
519
+        Prev_data[INDEX_PLL_ON_OFF_3_5G_L] = data_buf[INDEX_PLL_ON_OFF_3_5G_L];
520
+        HAL_Delay(10);
521
+        printf("POWER : %d \r\n",Prev_data[INDEX_PLL_ON_OFF_3_5G_L]);        
522
+        if(data_buf[INDEX_PLL_ON_OFF_3_5G_L]){
523
+            printf("PLL CTRL START !! \r\n");
524
+            temp_reg = ADF4153_Freq_Calc(3465500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);            
525
+            ADF4153_Module_Ctrl(Pll_3_5_L,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
526
+        }
527
+    }
528
+
529
+    if(Prev_data[INDEX_T_SYNC_DL] != data_buf[INDEX_T_SYNC_DL]){
530
+        Prev_data[INDEX_T_SYNC_DL] = data_buf[INDEX_T_SYNC_DL];
531
+        Power_ON_OFF_Ctrl(INDEX_T_SYNC_DL,data_buf[INDEX_T_SYNC_DL]);
532
+    }
533
+    if(Prev_data[INDEX__T_SYNC_DL] != data_buf[INDEX__T_SYNC_DL]){
534
+        Prev_data[INDEX__T_SYNC_DL] = data_buf[INDEX__T_SYNC_DL];
535
+        Power_ON_OFF_Ctrl(INDEX__T_SYNC_DL,data_buf[INDEX__T_SYNC_DL]);
536
+    }
537
+    if(Prev_data[INDEX_T_SYNC_UL] != data_buf[INDEX_T_SYNC_UL]){
538
+        Prev_data[INDEX_T_SYNC_UL] = data_buf[INDEX_T_SYNC_UL];
539
+        Power_ON_OFF_Ctrl(INDEX_T_SYNC_UL,data_buf[INDEX_T_SYNC_UL]);
540
+    }
541
+    if(Prev_data[INDEX__T_SYNC_UL] != data_buf[INDEX__T_SYNC_UL]){
542
+        Prev_data[INDEX__T_SYNC_UL] = data_buf[INDEX__T_SYNC_UL];
543
+        Power_ON_OFF_Ctrl(INDEX__T_SYNC_UL,data_buf[INDEX__T_SYNC_UL]);
544
+    }
545
+
546
+
547
+    if((Prev_data[INDEX_DAC_VCtrl_A_H] != data_buf[INDEX_DAC_VCtrl_A_H])
548
+        ||(Prev_data[INDEX_DAC_VCtrl_A_L] != data_buf[INDEX_DAC_VCtrl_A_L])){
549
+        ADC_Modify = 1;
550
+        Prev_data[INDEX_DAC_VCtrl_A_H] = data_buf[INDEX_DAC_VCtrl_A_H];
551
+        Prev_data[INDEX_DAC_VCtrl_A_L] = data_buf[INDEX_DAC_VCtrl_A_L];
552
+    }
553
+    if((Prev_data[INDEX_DAC_VCtrl_B_H] != data_buf[INDEX_DAC_VCtrl_B_H])
554
+        ||(Prev_data[INDEX_DAC_VCtrl_B_L] != data_buf[INDEX_DAC_VCtrl_B_L])){
555
+        ADC_Modify = 1;
556
+        
557
+        Prev_data[INDEX_DAC_VCtrl_B_H] = data_buf[INDEX_DAC_VCtrl_B_H];
558
+        Prev_data[INDEX_DAC_VCtrl_B_L] = data_buf[INDEX_DAC_VCtrl_B_L];        
559
+    }    
560
+    if((Prev_data[INDEX_DAC_VCtrl_C_H] != data_buf[INDEX_DAC_VCtrl_C_H])
561
+        ||(Prev_data[INDEX_DAC_VCtrl_C_L] != data_buf[INDEX_DAC_VCtrl_C_L])){
562
+        ADC_Modify = 1;
563
+//        printf("Prev_data[INDEX_DAC_VCtrl_C_H] : %x \r\n",Prev_data[INDEX_DAC_VCtrl_C_H]);
564
+//        printf("Prev_data[INDEX_DAC_VCtrl_C_L] : %x \r\n",Prev_data[INDEX_DAC_VCtrl_C_L]);
565
+
566
+        Prev_data[INDEX_DAC_VCtrl_C_H] = data_buf[INDEX_DAC_VCtrl_C_H];
567
+        Prev_data[INDEX_DAC_VCtrl_C_L] = data_buf[INDEX_DAC_VCtrl_C_L];        
568
+    }
569
+    if((Prev_data[INDEX_DAC_VCtrl_D_H] != data_buf[INDEX_DAC_VCtrl_D_H])
570
+        ||(Prev_data[INDEX_DAC_VCtrl_D_L] != data_buf[INDEX_DAC_VCtrl_D_L])){
571
+        ADC_Modify = 1;
572
+        Prev_data[INDEX_DAC_VCtrl_D_H] = data_buf[INDEX_DAC_VCtrl_D_H];
573
+        Prev_data[INDEX_DAC_VCtrl_D_L] = data_buf[INDEX_DAC_VCtrl_D_L];
574
+    }
575
+    if((Prev_data[INDEX_DAC_VCtrl_E_H] != data_buf[INDEX_DAC_VCtrl_E_H])
576
+        ||(Prev_data[INDEX_DAC_VCtrl_E_L] != data_buf[INDEX_DAC_VCtrl_E_L])){
577
+        ADC_Modify = 1;
578
+
579
+        Prev_data[INDEX_DAC_VCtrl_E_H] = data_buf[INDEX_DAC_VCtrl_E_H];
580
+        Prev_data[INDEX_DAC_VCtrl_E_L] = data_buf[INDEX_DAC_VCtrl_E_L];        
581
+    }
582
+    if((Prev_data[INDEX_DAC_VCtrl_F_H] != data_buf[INDEX_DAC_VCtrl_F_H])
583
+        ||(Prev_data[INDEX_DAC_VCtrl_F_L] != data_buf[INDEX_DAC_VCtrl_F_L])){
584
+        ADC_Modify = 1;
585
+        Prev_data[INDEX_DAC_VCtrl_F_H] = data_buf[INDEX_DAC_VCtrl_F_H];
586
+        Prev_data[INDEX_DAC_VCtrl_F_L] = data_buf[INDEX_DAC_VCtrl_F_L];        
587
+    }
588
+    if((Prev_data[INDEX_DAC_VCtrl_G_H] != data_buf[INDEX_DAC_VCtrl_G_H])
589
+        ||(Prev_data[INDEX_DAC_VCtrl_G_L] != data_buf[INDEX_DAC_VCtrl_G_L])){
590
+        ADC_Modify = 1;
591
+        Prev_data[INDEX_DAC_VCtrl_G_H] = data_buf[INDEX_DAC_VCtrl_G_H];
592
+        Prev_data[INDEX_DAC_VCtrl_G_L] = data_buf[INDEX_DAC_VCtrl_G_L];        
593
+    }    
594
+    if((Prev_data[INDEX_DAC_VCtrl_H_H] != data_buf[INDEX_DAC_VCtrl_H_H])
595
+        ||(Prev_data[INDEX_DAC_VCtrl_H_L] != data_buf[INDEX_DAC_VCtrl_H_L])){
596
+        ADC_Modify = 1;
597
+        Prev_data[INDEX_DAC_VCtrl_H_H] = data_buf[INDEX_DAC_VCtrl_H_H];
598
+        Prev_data[INDEX_DAC_VCtrl_H_L] = data_buf[INDEX_DAC_VCtrl_H_L];        
599
+    }
600
+    if(ADC_Modify){
601
+//        AD5318_Ctrl(0xF000);
602
+//        HAL_Delay(1);
603
+//        AD5318_Ctrl(0x800C);
604
+//        AD5318_Ctrl(0x2FFF );
605
+//        AD5318_Ctrl(0xA000);
606
+//        printf("DAC CTRL START \r\n");
607
+//        AD5318_Ctrl(0x800C);
608
+//        AD5318_Ctrl(0xA000);
609
+//        printf("DAC Change\r\n");
610
+        AD5318_Ctrl((Prev_data[INDEX_DAC_VCtrl_A_H] << 8 | Prev_data[INDEX_DAC_VCtrl_A_L]));    
611
+        AD5318_Ctrl((Prev_data[INDEX_DAC_VCtrl_B_H] << 8 | Prev_data[INDEX_DAC_VCtrl_B_L]));    
612
+        AD5318_Ctrl((Prev_data[INDEX_DAC_VCtrl_C_H] << 8 | Prev_data[INDEX_DAC_VCtrl_C_L]));
613
+        AD5318_Ctrl((Prev_data[INDEX_DAC_VCtrl_D_H] << 8 | Prev_data[INDEX_DAC_VCtrl_D_L]));
614
+        AD5318_Ctrl((Prev_data[INDEX_DAC_VCtrl_E_H] << 8 | Prev_data[INDEX_DAC_VCtrl_E_L]));    
615
+        AD5318_Ctrl((Prev_data[INDEX_DAC_VCtrl_F_H] << 8 | Prev_data[INDEX_DAC_VCtrl_F_L]));
616
+        AD5318_Ctrl((Prev_data[INDEX_DAC_VCtrl_G_H] << 8 | Prev_data[INDEX_DAC_VCtrl_G_L]));
617
+        AD5318_Ctrl((Prev_data[INDEX_DAC_VCtrl_H_H] << 8 | Prev_data[INDEX_DAC_VCtrl_H_L]));
618
+    }
619
+    
620
+}
621
+
622
+uint8_t temp_crc = 0;
623
+bool RF_Ctrl_Main(uint8_t* data_buf){
624
+    bool ret = false;
625
+    Bluecell_Prot_t type = data_buf[Type];
626
+    ret = RF_Data_Check(&data_buf[Header]); /* ERROR CHECK */
627
+    if(ret == false){
628
+        HAL_UART_Transmit(&huart1,&data_buf[INDEX_BLUE_HEADER],data_buf[INDEX_BLUE_LENGTH] + 2 + 1,3000); 
629
+        return ret;
630
+    }
631
+    
632
+    switch(type){
633
+    case TYPE_BLUECELL_RESET:
634
+        for(uint8_t i =0 ; i < data_buf[Length] + 6; i++)
635
+            printf("%02x ",data_buf[i]);
636
+        printf("Reset Start \r\n");
637
+        NVIC_SystemReset();
638
+        break;
639
+    case TYPE_BLUECELL_SET:
640
+#if 0 // PYJ.2019.07.31_BEGIN -- 
641
+    printf("TYPE_BLUECELL_SET : ");
642
+    for(uint8_t i =0 ; i < INDEX_BLUE_EOF + 1; i++)
643
+        printf("%02x ",data_buf[i]);
644
+#endif // PYJ.2019.07.31_END -- 
645
+        RF_Operate(&data_buf[Header]);
646
+        RF_Status_Ack();
647
+
648
+//        ADF4153_Freq_Calc(3465500000,40000000,2,5000);
649
+//        ADF4153_Freq_Calc(3993450000,40000000,2,5000);
650
+//        halSynSetFreq(1995000000);
651
+//        halSynSetFreq(1600000000);
652
+//        halSynSetFreq(1455000000);        
653
+        break;
654
+    case TYPE_BLUECELL_GET:
655
+#if 0 // PYJ.2019.08.01_BEGIN -- 
656
+        printf("\r\nTYPE_BLUECELL_GET : \r\n");
657
+#endif // PYJ.2019.08.01_END -- 
658
+        RF_Status_Get();
659
+        break;
660
+    case TYPE_BLUECELL_SAVE:
661
+//        printf("\r\nFLASH Write\r\n");
662
+        Bluecell_Flash_Write(&Prev_data[INDEX_BLUE_HEADER]);
663
+        RF_Status_Ack();
664
+
665
+        break;
666
+        default:
667
+#ifdef DEBUG_PRINT // PYJ.2019.07.27_BEGIN --         
668
+            printf("Function : %s   LINE : %d    type : %d \r\n",__func__,__LINE__,type);
669
+#endif
670
+            break;
671
+    }
672
+    return ret;
673
+}

+ 3 - 10
insight/STM32F103_ATTEN_PLL_Zig.si4project/STM32F103_ATTEN_PLL_Zig.SearchResults

@@ -1,10 +1,3 @@
1
----- INDEX_PLL_ON_OFF_3_5G_L Matches (12 in 3 files) ----
2
-includes.c (D:\workspace\STM32F103_ATTEN_PLL_Zig\Src) line 82 :     MACROSTR(INDEX_PLL_ON_OFF_3_5G_L),
3
-Path_Init in includes.c (D:\workspace\STM32F103_ATTEN_PLL_Zig\Src) :     Prev_data[INDEX_PLL_ON_OFF_3_5G_L] = HAL_GPIO_ReadPin(PLL_ON_OFF_3_5G_L_GPIO_Port,PLL_ON_OFF_3_5G_L_Pin);
4
-Power_ON_OFF_Ctrl in includes.c (D:\workspace\STM32F103_ATTEN_PLL_Zig\Src) :         case INDEX_PLL_ON_OFF_3_5G_L: 
5
-RF_Operate in zig_operate.c (D:\workspace\STM32F103_ATTEN_PLL_Zig\Src) :     if(Prev_data[INDEX_PLL_ON_OFF_3_5G_L] != data_buf[INDEX_PLL_ON_OFF_3_5G_L]){
6
-RF_Operate in zig_operate.c (D:\workspace\STM32F103_ATTEN_PLL_Zig\Src) :         Power_ON_OFF_Ctrl(INDEX_PLL_ON_OFF_3_5G_L,data_buf[INDEX_PLL_ON_OFF_3_5G_L]);
7
-RF_Operate in zig_operate.c (D:\workspace\STM32F103_ATTEN_PLL_Zig\Src) :         Prev_data[INDEX_PLL_ON_OFF_3_5G_L] = data_buf[INDEX_PLL_ON_OFF_3_5G_L];
8
-RF_Operate in zig_operate.c (D:\workspace\STM32F103_ATTEN_PLL_Zig\Src) :         printf("POWER : %d \r\n",Prev_data[INDEX_PLL_ON_OFF_3_5G_L]);        
9
-RF_Operate in zig_operate.c (D:\workspace\STM32F103_ATTEN_PLL_Zig\Src) :         if(data_buf[INDEX_PLL_ON_OFF_3_5G_L]){
10
-zig_operate.h (D:\workspace\STM32F103_ATTEN_PLL_Zig\Inc) line 101 :     INDEX_PLL_ON_OFF_3_5G_L ,
1
+---- TYPE_BLUECELL_ACK Matches (2 in 2 files) ----
2
+RF_Status_Ack in zig_operate.c (D:\workspace\STM32F103_ATTEN_PLL_Zig\Src) :     Ack_Buf[INDEX_BLUE_TYPE]         = TYPE_BLUECELL_ACK;
3
+zig_operate.h (D:\workspace\STM32F103_ATTEN_PLL_Zig\Inc) line 25 :     TYPE_BLUECELL_ACK    = 4,

BIN
insight/STM32F103_ATTEN_PLL_Zig.si4project/STM32F103_ATTEN_PLL_Zig.sip_xm


BIN
insight/STM32F103_ATTEN_PLL_Zig.si4project/STM32F103_ATTEN_PLL_Zig.siwork


BIN
insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Inc_pll_4113.h.sisc


BIN
insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Inc_zig_operate.h.sisc


BIN
insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_PE43711.c.sisc


BIN
insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_adf4153.c.sisc


BIN
insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_includes.c.sisc


BIN
insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_main.c.sisc


BIN
insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_pll_4113.c.sisc


BIN
insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_uart.c.sisc


BIN
insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_zig_operate.c.sisc