Parcourir la source

Index change / Power On off 추가 /

YJ il y a 7 ans
Parent
commit
a36ca321d6
60 fichiers modifiés avec 12393 ajouts et 8764 suppressions
  1. BIN
      Debug/STM32F103_ATTEN_PLL_Zig.elf
  2. 1376 1369
      Debug/STM32F103_ATTEN_PLL_Zig.hex
  3. 6843 6870
      Debug/STM32F103_ATTEN_PLL_Zig.list
  4. 497 495
      Debug/STM32F103_ATTEN_PLL_Zig.map
  5. BIN
      Debug/Src/BDA4601.o
  6. 2 2
      Debug/Src/main.su
  7. BIN
      Debug/Src/stm32f1xx_hal_msp.o
  8. BIN
      Debug/Src/stm32f1xx_it.o
  9. 3 3
      Inc/zig_operate.h
  10. 13 1
      Src/includes.c
  11. 26 16
      Src/main.c
  12. 9 6
      Src/zig_operate.c
  13. 398 0
      insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/adf4153(3476).c
  14. 237 0
      insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/includes(8004).c
  15. 742 0
      insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/main(2522).c
  16. 749 0
      insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/main(4598).c
  17. 132 0
      insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/zig_operate(2485).h
  18. 682 0
      insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/zig_operate(6046).c
  19. 681 0
      insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/zig_operate(6248).c
  20. 3 2
      insight/STM32F103_ATTEN_PLL_Zig.si4project/STM32F103_ATTEN_PLL_Zig.SearchResults
  21. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/STM32F103_ATTEN_PLL_Zig.sip_xc
  22. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/STM32F103_ATTEN_PLL_Zig.sip_xf
  23. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/STM32F103_ATTEN_PLL_Zig.sip_xm
  24. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/STM32F103_ATTEN_PLL_Zig.sip_xr
  25. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/STM32F103_ATTEN_PLL_Zig.siproj
  26. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/STM32F103_ATTEN_PLL_Zig.siwork
  27. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Drivers_CMSIS_Device_ST_STM32F1xx_Include_stm32f103xe.h.sisc
  28. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Drivers_STM32F1xx_HAL_Driver_Inc_stm32f1xx_hal_adc.h.sisc
  29. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Drivers_STM32F1xx_HAL_Driver_Inc_stm32f1xx_hal_adc_ex.h.sisc
  30. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Drivers_STM32F1xx_HAL_Driver_Src_stm32f1xx_hal_adc.c.sisc
  31. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Drivers_STM32F1xx_HAL_Driver_Src_stm32f1xx_hal_adc_ex.c.sisc
  32. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Drivers_STM32F1xx_HAL_Driver_Src_stm32f1xx_hal_gpio.c.sisc
  33. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Inc_AD5318.h.sisc
  34. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Inc_BDA4601.h.sisc
  35. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Inc_CRC16.h.sisc
  36. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Inc_PE43711.h.sisc
  37. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Inc_adf4153.h.sisc
  38. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Inc_flash.h.sisc
  39. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Inc_hal_types.h.sisc
  40. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Inc_includes.h.sisc
  41. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Inc_main.h.sisc
  42. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Inc_pll_4113.h.sisc
  43. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Inc_stm32f1xx_hal_conf.h.sisc
  44. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Inc_stm32f1xx_it.h.sisc
  45. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Inc_uart.h.sisc
  46. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Inc_zig_operate.h.sisc
  47. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_AD5318.c.sisc
  48. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_BDA4601.c.sisc
  49. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_CRC16.c.sisc
  50. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_PE43711.c.sisc
  51. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_adf4153.c.sisc
  52. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_flash.c.sisc
  53. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_includes.c.sisc
  54. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_main.c.sisc
  55. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_pll_4113.c.sisc
  56. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_stm32f1xx_hal_msp.c.sisc
  57. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_stm32f1xx_it.c.sisc
  58. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_system_stm32f1xx.c.sisc
  59. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_uart.c.sisc
  60. BIN
      insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_zig_operate.c.sisc

BIN
Debug/STM32F103_ATTEN_PLL_Zig.elf


Fichier diff supprimé car celui-ci est trop grand
+ 1376 - 1369
Debug/STM32F103_ATTEN_PLL_Zig.hex


Fichier diff supprimé car celui-ci est trop grand
+ 6843 - 6870
Debug/STM32F103_ATTEN_PLL_Zig.list


Fichier diff supprimé car celui-ci est trop grand
+ 497 - 495
Debug/STM32F103_ATTEN_PLL_Zig.map


BIN
Debug/Src/BDA4601.o


+ 2 - 2
Debug/Src/main.su

@@ -1,6 +1,6 @@
1 1
 main.c:84:6:HAL_TIM_PeriodElapsedCallback	0	static
2 2
 main.c:93:5:_write	8	static
3 3
 main.c:99:6:Pol_Delay_us	8	static
4
-main.c:276:6:SystemClock_Config	96	static
4
+main.c:286:6:SystemClock_Config	96	static
5 5
 main.c:129:5:main	120	static
6
-main.c:717:6:Error_Handler	0	static
6
+main.c:727:6:Error_Handler	0	static

BIN
Debug/Src/stm32f1xx_hal_msp.o


BIN
Debug/Src/stm32f1xx_it.o


+ 3 - 3
Inc/zig_operate.h

@@ -93,10 +93,10 @@ typedef enum{
93 93
     INDEX_PATH_EN_1_8G_UL   ,
94 94
     INDEX_PATH_EN_2_1G_DL   ,
95 95
     INDEX_PATH_EN_2_1G_UL   ,
96
-    INDEX_PATH_EN_3_5G_L,
97
-    INDEX_PATH_EN_3_5G_H,
98
-    INDEX_PATH_EN_3_5G_DL   =70,
96
+    INDEX_PATH_EN_3_5G_DL,
99 97
     INDEX_PATH_EN_3_5G_UL   ,
98
+    INDEX_PATH_EN_3_5G_H = 70,
99
+    INDEX_PATH_EN_3_5G_L,
100 100
     INDEX_PLL_ON_OFF_3_5G_H ,
101 101
     INDEX_PLL_ON_OFF_3_5G_L ,
102 102
     INDEX_T_SYNC_DL,

+ 13 - 1
Src/includes.c

@@ -234,4 +234,16 @@ void ATTEN_PLL_PATH_Initialize(void){
234 234
     RF_Ctrl_Main(&Flash_Save_data[INDEX_BLUE_HEADER]);
235 235
     RF_Status_Get();
236 236
 }
237
-
237
+void Power_ON_OFF_Initialize(void){
238
+    HAL_GPIO_WritePin(PATH_EN_3_5G_L_GPIO_Port,PATH_EN_3_5G_L_Pin, GPIO_PIN_RESET);
239
+    HAL_GPIO_WritePin(PATH_EN_3_5G_H_GPIO_Port,PATH_EN_3_5G_H_Pin, GPIO_PIN_RESET);
240
+    HAL_GPIO_WritePin(PATH_EN_3_5G_DL_GPIO_Port,PATH_EN_3_5G_DL_Pin, GPIO_PIN_RESET);
241
+    HAL_GPIO_WritePin(PATH_EN_3_5G_UL_GPIO_Port,PATH_EN_3_5G_UL_Pin, GPIO_PIN_RESET);
242
+    HAL_GPIO_WritePin(PATH_EN_3_5G_L_GPIO_Port,PATH_EN_3_5G_L_Pin, GPIO_PIN_RESET);  
243
+    HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_H_GPIO_Port,PLL_ON_OFF_3_5G_H_Pin, GPIO_PIN_RESET);
244
+    HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_L_GPIO_Port,PLL_ON_OFF_3_5G_L_Pin, GPIO_PIN_RESET);  
245
+    HAL_GPIO_WritePin(PATH_EN_2_1G_DL_GPIO_Port,PATH_EN_2_1G_DL_Pin, GPIO_PIN_RESET);
246
+    HAL_GPIO_WritePin(PATH_EN_2_1G_UL_GPIO_Port,PATH_EN_2_1G_UL_Pin, GPIO_PIN_RESET);
247
+    HAL_GPIO_WritePin(PATH_EN_1_8G_DL_GPIO_Port,PATH_EN_1_8G_DL_Pin, GPIO_PIN_RESET);
248
+    HAL_GPIO_WritePin(PATH_EN_1_8G_UL_GPIO_Port,PATH_EN_1_8G_UL_Pin, GPIO_PIN_RESET);
249
+}

+ 26 - 16
Src/main.c

@@ -165,30 +165,36 @@ int main(void)
165 165
 #endif /* DEBUG_PRINT */
166 166
     HAL_UART_Receive_DMA(&huart1, TerminalQueue.Buffer, 1);
167 167
     PE43711_PinInit();
168
-    HAL_GPIO_WritePin(PATH_EN_3_5G_L_GPIO_Port,PATH_EN_3_5G_L_Pin, GPIO_PIN_SET);
169
-    HAL_GPIO_WritePin(PATH_EN_3_5G_H_GPIO_Port,PATH_EN_3_5G_H_Pin, GPIO_PIN_SET);
170
-    HAL_GPIO_WritePin(PATH_EN_3_5G_DL_GPIO_Port,PATH_EN_3_5G_DL_Pin, GPIO_PIN_SET);
171
-    HAL_GPIO_WritePin(PATH_EN_3_5G_UL_GPIO_Port,PATH_EN_3_5G_UL_Pin, GPIO_PIN_SET);
172
-    HAL_GPIO_WritePin(PATH_EN_3_5G_L_GPIO_Port,PATH_EN_3_5G_L_Pin, GPIO_PIN_SET);  
173
-    HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_H_GPIO_Port,PLL_ON_OFF_3_5G_H_Pin, GPIO_PIN_SET);
174
-    HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_L_GPIO_Port,PLL_ON_OFF_3_5G_L_Pin, GPIO_PIN_SET);  
175
-    HAL_GPIO_WritePin(PATH_EN_2_1G_DL_GPIO_Port,PATH_EN_2_1G_DL_Pin, GPIO_PIN_SET);
176
-    HAL_GPIO_WritePin(PATH_EN_2_1G_UL_GPIO_Port,PATH_EN_2_1G_UL_Pin, GPIO_PIN_SET);
177
-    HAL_GPIO_WritePin(PATH_EN_1_8G_DL_GPIO_Port,PATH_EN_1_8G_DL_Pin, GPIO_PIN_SET);
178
-    HAL_GPIO_WritePin(PATH_EN_1_8G_UL_GPIO_Port,PATH_EN_1_8G_UL_Pin, GPIO_PIN_SET);
168
+    
169
+    HAL_GPIO_WritePin(PATH_EN_3_5G_L_GPIO_Port,PATH_EN_3_5G_L_Pin, GPIO_PIN_RESET);
170
+    HAL_GPIO_WritePin(PATH_EN_3_5G_H_GPIO_Port,PATH_EN_3_5G_H_Pin, GPIO_PIN_RESET);
171
+    HAL_GPIO_WritePin(PATH_EN_3_5G_DL_GPIO_Port,PATH_EN_3_5G_DL_Pin, GPIO_PIN_RESET);
172
+    HAL_GPIO_WritePin(PATH_EN_3_5G_UL_GPIO_Port,PATH_EN_3_5G_UL_Pin, GPIO_PIN_RESET);
173
+    HAL_GPIO_WritePin(PATH_EN_3_5G_L_GPIO_Port,PATH_EN_3_5G_L_Pin, GPIO_PIN_RESET);  
174
+    HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_H_GPIO_Port,PLL_ON_OFF_3_5G_H_Pin, GPIO_PIN_RESET);
175
+    HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_L_GPIO_Port,PLL_ON_OFF_3_5G_L_Pin, GPIO_PIN_RESET);  
176
+    HAL_GPIO_WritePin(PATH_EN_2_1G_DL_GPIO_Port,PATH_EN_2_1G_DL_Pin, GPIO_PIN_RESET);
177
+    HAL_GPIO_WritePin(PATH_EN_2_1G_UL_GPIO_Port,PATH_EN_2_1G_UL_Pin, GPIO_PIN_RESET);
178
+    HAL_GPIO_WritePin(PATH_EN_1_8G_DL_GPIO_Port,PATH_EN_1_8G_DL_Pin, GPIO_PIN_RESET);
179
+    HAL_GPIO_WritePin(PATH_EN_1_8G_UL_GPIO_Port,PATH_EN_1_8G_UL_Pin, GPIO_PIN_RESET);
180
+
181
+    
179 182
     HAL_GPIO_WritePin(_T_SYNC_UL_GPIO_Port,_T_SYNC_UL_Pin, GPIO_PIN_RESET);
180 183
     HAL_GPIO_WritePin(T_SYNC_UL_GPIO_Port,T_SYNC_UL_Pin, GPIO_PIN_RESET);
181 184
     HAL_GPIO_WritePin(_T_SYNC_DL_GPIO_Port,_T_SYNC_DL_Pin, GPIO_PIN_SET);
182
-    HAL_GPIO_WritePin(T_SYNC_DL_GPIO_Port,T_SYNC_DL_Pin, GPIO_PIN_SET);                
185
+    HAL_GPIO_WritePin(T_SYNC_DL_GPIO_Port,T_SYNC_DL_Pin, GPIO_PIN_SET);     
186
+    
183 187
     HAL_Delay(1);
184 188
     Path_Init();
185 189
     ADF4153_Init();
186 190
     SubmitDAC(0x800C);
187 191
     SubmitDAC(0xA000);
188
-#if 1 // PYJ.2019.07.30_BEGIN -- 
192
+    HAL_Delay(1);
193
+#if 1
194
+// PYJ.2019.07.30_BEGIN -- 
189 195
     SubmitDAC(0x0FFF);
190 196
     SubmitDAC(0x13FF);
191
-    SubmitDAC(0x23FF);
197
+    SubmitDAC(0x2FFF);
192 198
     SubmitDAC(0x35FF);
193 199
     SubmitDAC(0x46FF);
194 200
     SubmitDAC(0x57FF);
@@ -210,8 +216,10 @@ int main(void)
210 216
 //  BDA4601_Test();
211 217
     HAL_ADCEx_Calibration_Start(&hadc1);
212 218
     ADF4153_R_N_Reg_st temp_reg;
219
+#if 0 // PYJ.2019.08.01_BEGIN -- 
213 220
     Bluecell_Flash_Read(&Flash_Save_data[INDEX_BLUE_HEADER]);
214 221
     ATTEN_PLL_PATH_Initialize();
222
+#endif // PYJ.2019.08.01_END -- 
215 223
 
216 224
 //  ADF_Module_Ctrl(Pll_test,0x324000,0x144051,0x0017c2,0x0003c7);
217 225
 
@@ -223,12 +231,14 @@ int main(void)
223 231
 //   HAL_ADC_Start_DMA(&hadc1, (uint32_t*)ADCvalue, ADC_EA);
224 232
   while (1)
225 233
   {
226
-    if(HAL_GPIO_ReadPin(PLL_LD_3_5G_H_GPIO_Port, PLL_LD_3_5G_H_Pin) == GPIO_PIN_RESET){
234
+    if(HAL_GPIO_ReadPin(PLL_LD_3_5G_H_GPIO_Port, PLL_LD_3_5G_H_Pin) == GPIO_PIN_RESET 
235
+        && HAL_GPIO_ReadPin(PLL_ON_OFF_3_5G_H_GPIO_Port, PLL_ON_OFF_3_5G_H_Pin) == GPIO_PIN_SET){
227 236
         temp_reg = ADF4153_Freq_Calc(3934500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);
228 237
         ADF4153_Module_Ctrl(Pll_3_5_H,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
229 238
         HAL_Delay(1);
230 239
     }
231
-    if(HAL_GPIO_ReadPin(PLL_LD_3_5G_L_GPIO_Port, PLL_LD_3_5G_L_Pin) == GPIO_PIN_RESET){
240
+    if(HAL_GPIO_ReadPin(PLL_LD_3_5G_L_GPIO_Port, PLL_LD_3_5G_L_Pin) == GPIO_PIN_RESET
241
+        || HAL_GPIO_ReadPin(PLL_ON_OFF_3_5G_L_GPIO_Port, PLL_ON_OFF_3_5G_L_Pin) == GPIO_PIN_SET){
232 242
         temp_reg = ADF4153_Freq_Calc(3465500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);
233 243
         ADF4153_Module_Ctrl(Pll_3_5_L,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
234 244
         HAL_Delay(1);

+ 9 - 6
Src/zig_operate.c

@@ -336,7 +336,6 @@ void RF_Operate(uint8_t* data_buf){
336 336
         ALL_ATT_3_5G.data4 = Prev_data[INDEX_ATT_3_5G_COM3] = data_buf[INDEX_ATT_3_5G_COM3];
337 337
         PE43711_ALL_atten_ctrl(ALL_ATT_3_5G);
338 338
     }
339
-
340 339
     if((Prev_data[INDEX_PLL_1_8G_DL_H] != data_buf[INDEX_PLL_1_8G_DL_H])
341 340
         && (Prev_data[INDEX_PLL_1_8G_DL_L] != data_buf[INDEX_PLL_1_8G_DL_L])
342 341
     ){
@@ -566,7 +565,6 @@ void RF_Operate(uint8_t* data_buf){
566 565
     if((Prev_data[INDEX_DAC_VCtrl_A_H] != data_buf[INDEX_DAC_VCtrl_A_H])
567 566
         ||(Prev_data[INDEX_DAC_VCtrl_A_L] != data_buf[INDEX_DAC_VCtrl_A_L])){
568 567
         ADC_Modify = 1;
569
-
570 568
         Prev_data[INDEX_DAC_VCtrl_A_H] = data_buf[INDEX_DAC_VCtrl_A_H];
571 569
         Prev_data[INDEX_DAC_VCtrl_A_L] = data_buf[INDEX_DAC_VCtrl_A_L];
572 570
     }
@@ -580,6 +578,8 @@ void RF_Operate(uint8_t* data_buf){
580 578
     if((Prev_data[INDEX_DAC_VCtrl_C_H] != data_buf[INDEX_DAC_VCtrl_C_H])
581 579
         ||(Prev_data[INDEX_DAC_VCtrl_C_L] != data_buf[INDEX_DAC_VCtrl_C_L])){
582 580
         ADC_Modify = 1;
581
+        printf("Prev_data[INDEX_DAC_VCtrl_C_H] : %x \r\n",Prev_data[INDEX_DAC_VCtrl_C_H]);
582
+        printf("Prev_data[INDEX_DAC_VCtrl_C_L] : %x \r\n",Prev_data[INDEX_DAC_VCtrl_C_L]);
583 583
 
584 584
         Prev_data[INDEX_DAC_VCtrl_C_H] = data_buf[INDEX_DAC_VCtrl_C_H];
585 585
         Prev_data[INDEX_DAC_VCtrl_C_L] = data_buf[INDEX_DAC_VCtrl_C_L];        
@@ -619,10 +619,14 @@ void RF_Operate(uint8_t* data_buf){
619 619
 //        SubmitDAC(0xF000);
620 620
 //        HAL_Delay(1);
621 621
 //        SubmitDAC(0x800C);
622
+//        SubmitDAC(0x2FFF );
623
+//        SubmitDAC(0xA000);
624
+        printf("DAC CTRL START \r\n");
625
+//        SubmitDAC(0x800C);
622 626
 //        SubmitDAC(0xA000);
623
-        SubmitDAC((Prev_data[INDEX_DAC_VCtrl_A_H] << 8 | Prev_data[INDEX_DAC_VCtrl_A_L]) );    
627
+
628
+        SubmitDAC((Prev_data[INDEX_DAC_VCtrl_A_H] << 8 | Prev_data[INDEX_DAC_VCtrl_A_L]));    
624 629
         SubmitDAC((Prev_data[INDEX_DAC_VCtrl_B_H] << 8 | Prev_data[INDEX_DAC_VCtrl_B_L]));    
625
-//        SubmitDAC(0x2FFF );
626 630
         SubmitDAC((Prev_data[INDEX_DAC_VCtrl_C_H] << 8 | Prev_data[INDEX_DAC_VCtrl_C_L]));
627 631
         SubmitDAC((Prev_data[INDEX_DAC_VCtrl_D_H] << 8 | Prev_data[INDEX_DAC_VCtrl_D_L]));
628 632
         SubmitDAC((Prev_data[INDEX_DAC_VCtrl_E_H] << 8 | Prev_data[INDEX_DAC_VCtrl_E_L]));    
@@ -657,8 +661,6 @@ bool RF_Ctrl_Main(uint8_t* data_buf){
657 661
         printf("%02x ",data_buf[i]);
658 662
 #endif // PYJ.2019.07.31_END -- 
659 663
         RF_Operate(&data_buf[Header]);
660
-        
661
-
662 664
 //        ADF4153_Freq_Calc(3465500000,40000000,2,5000);
663 665
 //        ADF4153_Freq_Calc(3993450000,40000000,2,5000);
664 666
 //        halSynSetFreq(1995000000);
@@ -670,6 +672,7 @@ bool RF_Ctrl_Main(uint8_t* data_buf){
670 672
         RF_Status_Get();
671 673
         break;
672 674
     case TYPE_BLUECELL_SAVE:
675
+        printf("\r\nFLASH Write\r\n");
673 676
         Bluecell_Flash_Write(&Prev_data[INDEX_BLUE_HEADER]);
674 677
         break;
675 678
         default:

+ 398 - 0
insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/adf4153(3476).c

@@ -0,0 +1,398 @@
1
+/******************************************************************************
2
+*   @file   ADF4153.c
3
+*   @brief  Implementation of ADF4153 Driver for Microblaze processor.
4
+*   @author Istvan Csomortani (istvan.csomortani@analog.com)
5
+*
6
+*******************************************************************************
7
+* Copyright 2013(c) Analog Devices, Inc.
8
+*
9
+* All rights reserved.
10
+*
11
+* Redistribution and use in source and binary forms, with or without modification,
12
+* are permitted provided that the following conditions are met:
13
+*  - Redistributions of source code must retain the above copyright
14
+*    notice, this list of conditions and the following disclaimer.
15
+*  - Redistributions in binary form must reproduce the above copyright
16
+*    notice, this list of conditions and the following disclaimer in
17
+*    the documentation and/or other materials provided with the
18
+*    distribution.
19
+*  - Neither the name of Analog Devices, Inc. nor the names of its
20
+*    contributors may be used to endorse or promote products derived
21
+*    from this software without specific prior written permission.
22
+*  - The use of this software may or may not infringe the patent rights
23
+*    of one or more patent holders.  This license does not release you
24
+*    from the requirement that you obtain separate licenses from these
25
+*    patent holders to use this software.
26
+*  - Use of the software either in source or binary form, must be run
27
+*    on or directly connected to an Analog Devices Inc. component.
28
+*
29
+* THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR IMPLIED
30
+* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, MERCHANTABILITY
31
+* AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
32
+* IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
33
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
34
+* INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
35
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
36
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
37
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
38
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39
+*
40
+******************************************************************************/
41
+
42
+/*****************************************************************************/
43
+/****************************** Include Files ********************************/
44
+/*****************************************************************************/
45
+#include "adf4153.h"
46
+typedef struct _adf4153_st{
47
+    unsigned long long PFD_Value;
48
+    uint16_t MOD_Value;
49
+    uint32_t FRAC_Value;
50
+    uint16_t INT_Value;    
51
+    double N_Value;
52
+}adf4153_st;
53
+
54
+uint32_t pow2(uint32_t val,int32_t val2){
55
+    for(uint8_t i = 0; i < val2 - 1; i++){
56
+        val = val * val;
57
+    }
58
+
59
+    return val;
60
+}
61
+
62
+double round_up( double value, int pos )
63
+{
64
+    double temp;
65
+    temp = value * pow2( 10, pos );  // �썝�븯�뒗 �냼�닔�젏 �옄由ъ닔留뚰겮 10�쓽 �늻�듅�쓣 �븿
66
+    temp =  (int)(temp + 0.5);          // 0.5瑜� �뜑�븳�썑 踰꾨┝�븯硫� 諛섏삱由쇱씠 �맖
67
+    temp *= pow2( 10, -pos );           // �떎�떆 �썝�옒 �냼�닔�젏 �옄由ъ닔濡�
68
+
69
+    return temp;
70
+}
71
+
72
+
73
+double N_Reg_Value_Calc(double val){
74
+    return  val / 1000;
75
+}
76
+uint32_t N_Divider_Reg_Create(uint16_t _FRAC,uint16_t _INT,uint8_t _FASTLOCK){
77
+    uint32_t ret = 0;
78
+    uint32_t shift_bit = 0x01;
79
+    uint8_t control_bit = 0;
80
+    uint8_t i = 0;
81
+#ifdef DEBUG_PRINT
82
+    printf("FRAC : %d INT : %d \r\n",(int)_FRAC,_INT);
83
+#endif /* DEBUG_PRINT */
84
+    for(i = 0; i < 2; i++){
85
+        if(control_bit & 0x01)
86
+            ret += shift_bit << i;
87
+        control_bit = control_bit >> 1;
88
+    }
89
+#ifdef DEBUG_PRINT
90
+    printf("\r\nLINE : %d  ret : %x\r\n",__LINE__,ret);
91
+#endif /* DEBUG_PRINT */
92
+    for(i = 2; i < 14; i++){
93
+        if(_FRAC & 0x01)
94
+            ret += shift_bit << i;
95
+        _FRAC = _FRAC >> 1;
96
+    }
97
+#ifdef DEBUG_PRINT
98
+    printf("\r\nLINE : %d  ret : %x\r\n",__LINE__,ret);    
99
+#endif /* DEBUG_PRINT */
100
+    for(i = 14; i < 22; i++){
101
+        if(_INT & 0x01)
102
+            ret += shift_bit << i;
103
+        _INT = _INT >> 1;
104
+    }  
105
+#ifdef DEBUG_PRINT
106
+    printf("\r\nLINE : %d  ret : %x\r\n",__LINE__,ret);    
107
+#endif /* DEBUG_PRINT */
108
+    if(_FASTLOCK & 0x01)
109
+            ret += shift_bit << i;
110
+#ifdef DEBUG_PRINT
111
+    printf("\r\nLINE : %d  ret : %x\r\n",__LINE__,ret);
112
+#endif /* DEBUG_PRINT */
113
+
114
+    return ret;
115
+}
116
+uint32_t R_Divider_Reg_Create(uint16_t _MOD,uint8_t _RCOUNTER,uint8_t _PRESCALER,uint8_t _RESERVED,uint8_t _MUXOUT,uint8_t LOAD_CONTROL){
117
+    uint32_t ret = 0;
118
+    uint32_t shift_bit = 0x01;
119
+    uint8_t control_bit = 1;
120
+    uint8_t i = 0;
121
+#ifdef DEBUG_PRINT
122
+    printf("_MOD : %d INT : %d \r\n",_MOD,_RCOUNTER);
123
+#endif /* DEBUG_PRINT */
124
+
125
+#ifdef DEBUG_PRINT
126
+    printf("\r\nLINE : %d  ret : %x\r\n",__LINE__,ret);
127
+#endif /* DEBUG_PRINT */
128
+    for(i = 0; i < 2; i++){
129
+        if(control_bit & 0x01)
130
+            ret += shift_bit << i;
131
+        control_bit = control_bit >> 1;
132
+    }
133
+#ifdef DEBUG_PRINT
134
+    printf("\r\nLINE : %d  ret : %x\r\n",__LINE__,ret);
135
+#endif /* DEBUG_PRINT */
136
+    for(i = 2; i < 14; i++){
137
+        if(_MOD & 0x01)
138
+            ret += shift_bit << i;
139
+        _MOD = _MOD >> 1;
140
+    }
141
+    for(i = 14; i < 18; i++){
142
+        if(_RCOUNTER & 0x01)
143
+            ret += shift_bit << i;
144
+        _RCOUNTER = _RCOUNTER >> 1;
145
+    }  
146
+    if(_PRESCALER & 0x01)
147
+            ret += shift_bit << i++;
148
+    if(_RESERVED & 0x01)
149
+            ret += shift_bit << i++;
150
+    for(i = 19; i < 22; i++){
151
+        if(_MUXOUT & 0x01)
152
+            ret += shift_bit << i;
153
+        _MUXOUT = _MUXOUT >> 1;
154
+    }   
155
+    if(LOAD_CONTROL & 0x01)
156
+        ret += shift_bit << i++;
157
+
158
+    return ret;
159
+}
160
+
161
+ADF4153_R_N_Reg_st ADF4153_Freq_Calc(unsigned long long Freq,unsigned long long REFin,uint8_t R_Counter,uint32_t chspacing){
162
+    adf4153_st temp_adf4153;
163
+    double temp = 0;
164
+    ADF4153_R_N_Reg_st temp_reg;
165
+    temp_adf4153.PFD_Value  =  REFin / (R_Counter * 1000);
166
+    temp_adf4153.MOD_Value  =  (temp_adf4153.PFD_Value / chspacing) * 1000;
167
+    temp_adf4153.N_Value    =  N_Reg_Value_Calc(((double)(Freq / 1000) /  (double)(temp_adf4153.PFD_Value / 1000)));
168
+    temp_adf4153.INT_Value  =   temp_adf4153.N_Value ;
169
+#ifdef DEBUG_PRINT
170
+    printf("\r\ntemp_adf4153.N_Value : %f  temp_adf4153.INT_Value : %f  temp_adf4153.MOD_Value : %f \r\n",temp_adf4153.N_Value,(double)temp_adf4153.INT_Value,(double)temp_adf4153.MOD_Value);
171
+#endif /* DEBUG_PRINT */
172
+    temp = temp_adf4153.N_Value - (double)temp_adf4153.INT_Value;
173
+#ifdef DEBUG_PRINT
174
+    printf("\r\n temp_adf4153.N_Value - (double)temp_adf4153.INT_Value) : %f  temp * (double)temp_adf4153.MOD_Value : %f \r\n",temp,temp * (double)temp_adf4153.MOD_Value);
175
+#endif /* DEBUG_PRINT */
176
+    temp_adf4153.FRAC_Value =  (float)temp * temp_adf4153.MOD_Value;
177
+   
178
+#ifdef DEBUG_PRINT
179
+    printf("\r\ntemp_adf4153.N_Value : %x   : %f ",temp_adf4153.N_Value,((double)(Freq / 1000) /  (double)(temp_adf4153.PFD_Value / 1000)) / 1000);
180
+    printf("temp_adf4153.MOD_Value : %x   : %d \r\n",temp_adf4153.MOD_Value,temp_adf4153.MOD_Value);
181
+#endif /* DEBUG_PRINT */
182
+    uint16_t tempmod = temp_adf4153.FRAC_Value;
183
+    for(uint8_t i = 0; i < 12; i++){
184
+#ifdef DEBUG_PRINT
185
+        if(temp_adf4153.MOD_Value & 0x800){
186
+            printf("1");
187
+        }else{
188
+            printf("0");
189
+        }
190
+#endif /* DEBUG_PRINT */
191
+        tempmod = tempmod << 1;
192
+    }
193
+#ifdef DEBUG_PRINT
194
+    printf("\r\n");
195
+    printf("temp_adf4153.FRAC_Value : %x   : %d\r\n",temp_adf4153.FRAC_Value,temp_adf4153.FRAC_Value);
196
+#endif /* DEBUG_PRINT */
197
+    uint16_t tempfrac = temp_adf4153.FRAC_Value;
198
+    for(uint8_t i = 0; i < 12; i++){
199
+#ifdef DEBUG_PRINT
200
+        if(tempfrac & 0x800){
201
+            printf("1");
202
+        }else{
203
+            printf("0");
204
+        }
205
+#endif /* DEBUG_PRINT */
206
+        tempfrac = tempfrac << 1;
207
+    }
208
+#ifdef DEBUG_PRINT
209
+    printf("\r\n");    
210
+#endif /* DEBUG_PRINT */
211
+#ifdef DEBUG_PRINT
212
+    printf("temp_adf4153.INT_Value : %x   : %d\r\n",temp_adf4153.INT_Value,temp_adf4153.INT_Value); 
213
+#endif /* DEBUG_PRINT */
214
+    uint16_t tempint = temp_adf4153.INT_Value;
215
+    for(uint8_t i = 0; i < 9; i++){
216
+#ifdef DEBUG_PRINT
217
+        if(tempint & 0x100){
218
+            printf("1");
219
+        }else{
220
+            printf("0");
221
+        }
222
+#endif /* DEBUG_PRINT */
223
+        tempint = tempint << 1;
224
+    }
225
+#ifdef DEBUG_PRINT
226
+    printf("\r\n");    
227
+
228
+    printf("R0: %x  R1: %x \r\n",N_Divider_Reg_Create(temp_adf4153.FRAC_Value,temp_adf4153.INT_Value,0),R_Divider_Reg_Create(temp_adf4153.MOD_Value,R_Counter,1,0,2,0));   
229
+#endif /* DEBUG_PRINT */
230
+    temp_reg.N_reg = N_Divider_Reg_Create(temp_adf4153.FRAC_Value,temp_adf4153.INT_Value,0);
231
+    temp_reg.R_reg = R_Divider_Reg_Create(temp_adf4153.MOD_Value,R_Counter,1,0,2,0);
232
+
233
+    return temp_reg;
234
+//    R_Divider_Reg_Create(temp_adf4153.MOD_Value,R_Counter,1,0,1,0); //prescaler 1 : 8/9 0: 4/5
235
+}
236
+void ADF4153_Init(void){
237
+PLL_Setting_st Pll_test = {
238
+      PLL_CLK_3_5G_GPIO_Port,
239
+      PLL_CLK_3_5G_Pin,
240
+      PLL_DATA_3_5G_GPIO_Port,
241
+      PLL_DATA_3_5G_Pin,
242
+    PLL_EN_3_5G_L_GPIO_Port,    
243
+    PLL_EN_3_5G_L_Pin,
244
+  };
245
+PLL_Setting_st Pll_test2 = {
246
+    PLL_CLK_3_5G_GPIO_Port,
247
+    PLL_CLK_3_5G_Pin,
248
+    PLL_DATA_3_5G_GPIO_Port,
249
+    PLL_DATA_3_5G_Pin,
250
+    PLL_EN_3_5G_H_GPIO_Port,    
251
+    PLL_EN_3_5G_H_Pin,
252
+  };          
253
+    //  ADF4153_Module_Ctrl(Pll_test,0x2B44B0,0x14BE81,0x0013C2,0x000003);
254
+      ADF4153_R_N_Reg_st temp_reg;
255
+      temp_reg = ADF4153_Freq_Calc(3465500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);
256
+      ADF4153_Module_Ctrl(Pll_test,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);      
257
+    
258
+      HAL_Delay(1);
259
+#ifdef DEBUG_PRINT
260
+        printf("\r\nPLL_EN_3_5G_H_GPIO_Port\r\n");
261
+#endif /* DEBUG_PRINT */
262
+   
263
+        temp_reg = ADF4153_Freq_Calc(3934500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);
264
+        ADF4153_Module_Ctrl(Pll_test2,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);                  
265
+    //  ADF4153_Module_Ctrl(Pll_test2,0x313840,0x14BE81,0x13C2,0x3);
266
+      HAL_Delay(1);
267
+
268
+
269
+}
270
+
271
+void ADF4153_Module_Ctrl(PLL_Setting_st pll,uint32_t R0,uint32_t R1,uint32_t R2,uint32_t R3){
272
+    R3  = R3  & 0x0007FF;
273
+    R2 = R2 & 0x00FFFF;
274
+    R1 = R1 & 0xFFFFFF;
275
+    R0 = R0 & 0xFFFFFF;
276
+//    ADF4153_Freq_Calc(3461500000,40000000,2,5000);
277
+    HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_RESET);
278
+    HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_RESET);
279
+    HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_RESET);
280
+#ifdef DEBUG_PRINT
281
+    printf("YJ :R0: %x  R1:  %x   R2 : %x R3 : %x ",R0,R1,R2,R3);
282
+    printf("\r\n");
283
+#endif /* DEBUG_PRINT */
284
+    /*   R3 Ctrl    */
285
+    for(int i =0; i < 11; i++){
286
+        if(R3 & 0x000400){
287
+            HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_SET);
288
+#ifdef DEBUG_PRINT
289
+            printf("1");
290
+#endif /* DEBUG_PRINT */
291
+        }
292
+        else{
293
+            HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_RESET);
294
+#ifdef DEBUG_PRINT
295
+            printf("0");
296
+#endif /* DEBUG_PRINT */
297
+        }
298
+        Pol_Delay_us(50);
299
+        HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_SET);
300
+        Pol_Delay_us(50);
301
+        HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_RESET);
302
+        R3 = (R3 << 1);
303
+    }
304
+#ifdef DEBUG_PRINT
305
+    printf("\r\n");
306
+#endif /* DEBUG_PRINT */
307
+    HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_SET);
308
+      Pol_Delay_us(50);
309
+    HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_RESET);
310
+    
311
+    /*   R2 Ctrl    */
312
+     for(int i =0; i < 16; i++){
313
+         if(R2 & 0x008000){
314
+             HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_SET);
315
+#ifdef DEBUG_PRINT
316
+             printf("1");
317
+#endif /* DEBUG_PRINT */
318
+         }
319
+         else{
320
+             HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_RESET);
321
+#ifdef DEBUG_PRINT
322
+             printf("0");
323
+#endif /* DEBUG_PRINT */
324
+         }
325
+         Pol_Delay_us(50);
326
+         HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_SET);
327
+         Pol_Delay_us(50);
328
+         HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_RESET);
329
+
330
+         R2 = ((R2 << 1) & 0x00FFFF);
331
+     }
332
+#ifdef DEBUG_PRINT
333
+     printf("\r\n");
334
+#endif /* DEBUG_PRINT */
335
+     HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_SET);
336
+      Pol_Delay_us(50);
337
+     HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_RESET);
338
+    
339
+     /*   R1 Ctrl    */
340
+    for(int i =0; i < 24; i++){
341
+        if(R1 & 0x800000){
342
+            HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_SET);
343
+#ifdef DEBUG_PRINT
344
+            printf("1");
345
+#endif /* DEBUG_PRINT */
346
+        }
347
+        else{
348
+            HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_RESET);
349
+#ifdef DEBUG_PRINT
350
+            printf("0");
351
+#endif /* DEBUG_PRINT */
352
+        }
353
+        Pol_Delay_us(50);
354
+        HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_SET);
355
+        Pol_Delay_us(50);
356
+        HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_RESET);
357
+
358
+        R1 = ((R1 << 1) & 0xFFFFFF);
359
+    }
360
+#ifdef DEBUG_PRINT
361
+    printf("\r\n");
362
+#endif /* DEBUG_PRINT */
363
+    HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_SET);
364
+      Pol_Delay_us(50);
365
+    HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_RESET);
366
+
367
+
368
+        /*   R0 Ctrl    */
369
+   
370
+    for(int i =0; i < 24; i++){
371
+        if(R0 & 0x800000){
372
+            HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_SET);
373
+#ifdef DEBUG_PRINT
374
+            printf("1");
375
+#endif /* DEBUG_PRINT */
376
+        }
377
+        else{
378
+            HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_RESET);
379
+#ifdef DEBUG_PRINT
380
+            printf("0");
381
+#endif /* DEBUG_PRINT */
382
+        }
383
+        Pol_Delay_us(50);
384
+        HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_SET);
385
+        Pol_Delay_us(50);
386
+        HAL_GPIO_WritePin(pll.PLL_CLK_PORT, pll.PLL_CLK_PIN, GPIO_PIN_RESET);
387
+
388
+        R0 = ((R0 << 1) & 0xFFFFFF);
389
+    }
390
+#ifdef DEBUG_PRINT
391
+    printf("\r\n");
392
+#endif /* DEBUG_PRINT */
393
+    HAL_GPIO_WritePin(pll.PLL_DATA_PORT, pll.PLL_DATA_PIN, GPIO_PIN_RESET);
394
+    HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_SET);
395
+    Pol_Delay_us(50);
396
+    HAL_GPIO_WritePin(pll.PLL_ENABLE_PORT, pll.PLL_ENABLE_PIN, GPIO_PIN_RESET);
397
+
398
+}

+ 237 - 0
insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/includes(8004).c

@@ -0,0 +1,237 @@
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
+
11
+
12
+static char *Bluecell_Prot_IndexStr[] = {
13
+    MACROSTR(INDEX_ATT_1_8G_DL1     ),
14
+    MACROSTR(INDEX_ATT_1_8G_DL2     ),
15
+    MACROSTR(INDEX_ATT_1_8G_UL1     ),
16
+    MACROSTR(INDEX_ATT_1_8G_UL2     ),
17
+    MACROSTR(INDEX_ATT_1_8G_UL3     ),
18
+    MACROSTR(INDEX_ATT_1_8G_UL4     ),
19
+    MACROSTR(INDEX_ATT_2_1G_DL1     ),
20
+    MACROSTR(INDEX_ATT_2_1G_DL2     ),
21
+    MACROSTR(INDEX_ATT_2_1G_UL1     ),
22
+    MACROSTR(INDEX_ATT_2_1G_UL2     ),
23
+    MACROSTR(INDEX_ATT_2_1G_UL3     ),
24
+    MACROSTR(INDEX_ATT_2_1G_UL4     ),
25
+    MACROSTR(INDEX_ATT_3_5G_DL      ),
26
+    MACROSTR(INDEX_ATT_3_5G_UL      ),
27
+    MACROSTR(INDEX_ATT_3_5G_COM1    ),
28
+    MACROSTR(INDEX_ATT_3_5G_COM2    ),
29
+    MACROSTR(INDEX_ATT_3_5G_COM3    ),
30
+    MACROSTR(INDEX_PLL_1_8G_DL_H    ),
31
+    MACROSTR(INDEX_PLL_1_8G_DL_L    ),
32
+    MACROSTR(INDEX_PLL_1_8G_UL_H    ),
33
+    MACROSTR(INDEX_PLL_1_8G_UL_L    ),
34
+    MACROSTR(INDEX_PLL_2_1G_DL_H    ),
35
+    MACROSTR(INDEX_PLL_2_1G_DL_L    ),
36
+    MACROSTR(INDEX_PLL_2_1G_UL_H    ),
37
+    MACROSTR(INDEX_PLL_2_1G_UL_L    ),
38
+    MACROSTR(INDEX_PLL_3_5G_DL_H    ),
39
+    MACROSTR(INDEX_PLL_3_5G_DL_L    ),
40
+    MACROSTR(INDEX_PLL_3_5G_UL_H    ),
41
+    MACROSTR(INDEX_PLL_3_5G_UL_L    ),
42
+    MACROSTR(INDEX_PLL_LD_6_BIT     ),
43
+    MACROSTR(INDEX_DET_1_8G_DL_IN_H ),
44
+    MACROSTR(INDEX_DET_1_8G_DL_IN_L ),
45
+    MACROSTR(INDEX_DET_1_8G_DL_OUT_H),
46
+    MACROSTR(INDEX_DET_1_8G_DL_OUT_L),
47
+    MACROSTR(INDEX_DET_1_8G_UL_IN_H ),
48
+    MACROSTR(INDEX_DET_1_8G_UL_IN_L ),
49
+    MACROSTR(INDEX_DET_1_8G_UL_OUT_H),
50
+    MACROSTR(INDEX_DET_1_8G_UL_OUT_L),
51
+    MACROSTR(INDEX_DET_2_1G_DL_IN_H ),
52
+    MACROSTR(INDEX_DET_2_1G_DL_IN_L ),
53
+    MACROSTR(INDEX_DET_2_1G_DL_OUT_H),
54
+    MACROSTR(INDEX_DET_2_1G_DL_OUT_L),
55
+    MACROSTR(INDEX_DET_2_1G_UL_IN_H ),
56
+    MACROSTR(INDEX_DET_2_1G_UL_IN_L ),
57
+    MACROSTR(INDEX_DET_2_1G_UL_OUT_H),
58
+    MACROSTR(INDEX_DET_2_1G_UL_OUT_L),
59
+    MACROSTR(INDEX_DET_3_5G_DL_IN_H ),
60
+    MACROSTR(INDEX_DET_3_5G_DL_IN_L ),
61
+    MACROSTR(INDEX_DET_3_5G_DL_OUT_L),
62
+    MACROSTR(INDEX_DET_3_5G_DL_OUT_H),
63
+    MACROSTR(INDEX_DET_3_5G_UL_IN_H ),
64
+    MACROSTR(INDEX_DET_3_5G_UL_IN_L ),
65
+    MACROSTR(INDEX_DET_3_5G_UL_OUT_H),
66
+    MACROSTR(INDEX_DET_3_5G_UL_OUT_L),
67
+    MACROSTR(INDEX_RFU_TEMP_H       ),
68
+    MACROSTR(INDEX_RFU_TEMP_L       ),
69
+    MACROSTR(INDEX__28V_DET_H       ),
70
+    MACROSTR(INDEX__28V_DET_L       ),
71
+    MACROSTR(INDEX_ALARM_AC         ),
72
+    MACROSTR(INDEX_ALARM_DC         ),
73
+    MACROSTR(INDEX_PATH_EN_1_8G_DL  ),
74
+    MACROSTR(INDEX_PATH_EN_1_8G_UL  ),
75
+    MACROSTR(INDEX_PATH_EN_2_1G_DL  ),
76
+    MACROSTR(INDEX_PATH_EN_2_1G_UL  ),
77
+    MACROSTR(INDEX_PATH_EN_3_5G_L   ),
78
+    MACROSTR(INDEX_PATH_EN_3_5G_H   ),
79
+    MACROSTR(INDEX_PATH_EN_3_5G_DL  ),
80
+    MACROSTR(INDEX_PATH_EN_3_5G_UL  ),
81
+    MACROSTR(INDEX_PLL_ON_OFF_3_5G_H),
82
+    MACROSTR(INDEX_PLL_ON_OFF_3_5G_L),
83
+    MACROSTR(INDEX_T_SYNC_DL        ),
84
+    MACROSTR(INDEX__T_SYNC_DL       ),
85
+    MACROSTR(INDEX_T_SYNC_UL        ),
86
+    MACROSTR(INDEX__T_SYNC_UL       ),   
87
+};
88
+
89
+static void kConstPrinter(Bluecell_Prot_Index k)
90
+{
91
+#ifdef DEBUG_PRINT
92
+    printf("%s", Bluecell_Prot_IndexStr[k]);
93
+#endif /* DEBUG_PRINT */
94
+}
95
+void Path_Init(void){
96
+    Prev_data[INDEX_PATH_EN_1_8G_DL]   = HAL_GPIO_ReadPin(PATH_EN_1_8G_DL_GPIO_Port,PATH_EN_1_8G_DL_Pin);
97
+    Prev_data[INDEX_PATH_EN_1_8G_UL]   = HAL_GPIO_ReadPin(PATH_EN_1_8G_UL_GPIO_Port,PATH_EN_1_8G_UL_Pin);
98
+    Prev_data[INDEX_PATH_EN_2_1G_DL]   = HAL_GPIO_ReadPin(PATH_EN_2_1G_DL_GPIO_Port,PATH_EN_2_1G_DL_Pin);
99
+    Prev_data[INDEX_PATH_EN_2_1G_UL]   = HAL_GPIO_ReadPin(PATH_EN_2_1G_UL_GPIO_Port,PATH_EN_2_1G_UL_Pin);
100
+    Prev_data[INDEX_PATH_EN_3_5G_L]    = HAL_GPIO_ReadPin(PATH_EN_3_5G_L_GPIO_Port,PATH_EN_3_5G_L_Pin);
101
+    Prev_data[INDEX_PATH_EN_3_5G_H]    = HAL_GPIO_ReadPin(PATH_EN_3_5G_H_GPIO_Port,PATH_EN_3_5G_H_Pin);
102
+    Prev_data[INDEX_PATH_EN_3_5G_DL]   = HAL_GPIO_ReadPin(PATH_EN_3_5G_DL_GPIO_Port,PATH_EN_3_5G_DL_Pin);
103
+    Prev_data[INDEX_PATH_EN_3_5G_UL]   = HAL_GPIO_ReadPin(PATH_EN_3_5G_UL_GPIO_Port,PATH_EN_3_5G_UL_Pin);
104
+    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);
105
+    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);
106
+}
107
+void Power_ON_OFF_Ctrl(uint8_t type,uint8_t cmd){
108
+    printf("\r\ntype : %s cmd : %d\r\n",Bluecell_Prot_IndexStr[type - 4],cmd);
109
+    switch(type){
110
+        case INDEX_PATH_EN_1_8G_DL  : 
111
+#if 0 // PYJ.2019.07.29_BEGIN -- 
112
+            printf("\r\n LINE %d\r\n",__LINE__);
113
+#endif // PYJ.2019.07.29_END -- 
114
+            if(cmd)
115
+                HAL_GPIO_WritePin(PATH_EN_1_8G_DL_GPIO_Port,PATH_EN_1_8G_DL_Pin, GPIO_PIN_SET);
116
+            else
117
+                HAL_GPIO_WritePin(PATH_EN_1_8G_DL_GPIO_Port,PATH_EN_1_8G_DL_Pin, GPIO_PIN_RESET);
118
+            break; 
119
+        case INDEX_PATH_EN_1_8G_UL  : 
120
+#if 0 // PYJ.2019.07.29_BEGIN -- 
121
+            printf("\r\n LINE %d\r\n",__LINE__);
122
+#endif // PYJ.2019.07.29_END -- 
123
+            if(cmd)
124
+                HAL_GPIO_WritePin(PATH_EN_1_8G_UL_GPIO_Port,PATH_EN_1_8G_UL_Pin, GPIO_PIN_SET);
125
+            else
126
+                HAL_GPIO_WritePin(PATH_EN_1_8G_UL_GPIO_Port,PATH_EN_1_8G_UL_Pin, GPIO_PIN_RESET);
127
+                
128
+            break;
129
+        case INDEX_PATH_EN_2_1G_DL  : 
130
+#ifdef DEBUG_PRINT
131
+            printf("\r\n LINE %d\r\n",__LINE__);
132
+#endif /* DEBUG_PRINT */
133
+            if(cmd)
134
+                HAL_GPIO_WritePin(PATH_EN_2_1G_DL_GPIO_Port,PATH_EN_2_1G_DL_Pin, GPIO_PIN_SET);
135
+            else
136
+                HAL_GPIO_WritePin(PATH_EN_2_1G_DL_GPIO_Port,PATH_EN_2_1G_DL_Pin, GPIO_PIN_RESET);                
137
+            break;
138
+        case INDEX_PATH_EN_2_1G_UL  : 
139
+#ifdef DEBUG_PRINT
140
+            printf("\r\n LINE %d\r\n",__LINE__);
141
+#endif /* DEBUG_PRINT */
142
+            if(cmd)
143
+                HAL_GPIO_WritePin(PATH_EN_2_1G_UL_GPIO_Port,PATH_EN_2_1G_UL_Pin, GPIO_PIN_SET);
144
+            else
145
+                HAL_GPIO_WritePin(PATH_EN_2_1G_UL_GPIO_Port,PATH_EN_2_1G_UL_Pin, GPIO_PIN_RESET);                
146
+            break;
147
+        case INDEX_PATH_EN_3_5G_L   : 
148
+            if(cmd){
149
+                HAL_GPIO_WritePin(PATH_EN_3_5G_L_GPIO_Port,PATH_EN_3_5G_L_Pin, GPIO_PIN_SET);
150
+                printf("\r\n LINE %d\r\n",__LINE__);
151
+            }
152
+            else{
153
+                HAL_GPIO_WritePin(PATH_EN_3_5G_L_GPIO_Port,PATH_EN_3_5G_L_Pin, GPIO_PIN_RESET);
154
+                printf("\r\n LINE %d\r\n",__LINE__);
155
+            }
156
+            break;
157
+        case INDEX_PATH_EN_3_5G_H   : 
158
+            if(cmd){
159
+                HAL_GPIO_WritePin(PATH_EN_3_5G_H_GPIO_Port,PATH_EN_3_5G_H_Pin, GPIO_PIN_SET);
160
+                            printf("\r\n LINE %d\r\n",__LINE__);
161
+            }
162
+            else{
163
+                HAL_GPIO_WritePin(PATH_EN_3_5G_H_GPIO_Port,PATH_EN_3_5G_H_Pin, GPIO_PIN_RESET);
164
+                            printf("\r\n LINE %d\r\n",__LINE__);
165
+            }
166
+            break;
167
+        case INDEX_PATH_EN_3_5G_DL  : 
168
+#ifdef DEBUG_PRINT
169
+            printf("\r\n LINE %d\r\n",__LINE__);
170
+#endif /* DEBUG_PRINT */
171
+            if(cmd)
172
+                HAL_GPIO_WritePin(PATH_EN_3_5G_DL_GPIO_Port,PATH_EN_3_5G_DL_Pin, GPIO_PIN_SET);
173
+            else
174
+                HAL_GPIO_WritePin(PATH_EN_3_5G_DL_GPIO_Port,PATH_EN_3_5G_DL_Pin, GPIO_PIN_RESET);
175
+            break;
176
+        case INDEX_PATH_EN_3_5G_UL  : 
177
+#ifdef DEBUG_PRINT
178
+            printf("\r\n LINE %d\r\n",__LINE__);
179
+#endif /* DEBUG_PRINT */
180
+            if(cmd)
181
+                HAL_GPIO_WritePin(PATH_EN_3_5G_UL_GPIO_Port,PATH_EN_3_5G_UL_Pin, GPIO_PIN_SET);
182
+            else
183
+                HAL_GPIO_WritePin(PATH_EN_3_5G_UL_GPIO_Port,PATH_EN_3_5G_UL_Pin, GPIO_PIN_RESET);
184
+            break;
185
+        case INDEX_PLL_ON_OFF_3_5G_H: 
186
+            printf("\r\n LINE %d\r\n",__LINE__);
187
+            if(cmd)
188
+                HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_H_GPIO_Port,PLL_ON_OFF_3_5G_H_Pin, GPIO_PIN_SET);
189
+            else
190
+                HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_H_GPIO_Port,PLL_ON_OFF_3_5G_H_Pin, GPIO_PIN_RESET);
191
+            break;
192
+        case INDEX_PLL_ON_OFF_3_5G_L: 
193
+            printf("\r\n LINE %d\r\n",__LINE__);
194
+            if(cmd)
195
+                HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_L_GPIO_Port,PLL_ON_OFF_3_5G_L_Pin, GPIO_PIN_SET);  
196
+            else
197
+                HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_L_GPIO_Port,PLL_ON_OFF_3_5G_L_Pin, GPIO_PIN_RESET);
198
+            break;
199
+        case INDEX_T_SYNC_DL:
200
+        case INDEX__T_SYNC_UL:
201
+        case INDEX_T_SYNC_UL:
202
+        case INDEX__T_SYNC_DL:
203
+            if(cmd){
204
+                HAL_GPIO_WritePin(_T_SYNC_UL_GPIO_Port,_T_SYNC_UL_Pin, GPIO_PIN_RESET);
205
+                HAL_GPIO_WritePin(T_SYNC_UL_GPIO_Port,T_SYNC_UL_Pin, GPIO_PIN_RESET);
206
+                HAL_GPIO_WritePin(_T_SYNC_DL_GPIO_Port,_T_SYNC_DL_Pin, GPIO_PIN_SET);
207
+                HAL_GPIO_WritePin(T_SYNC_DL_GPIO_Port,T_SYNC_DL_Pin, GPIO_PIN_SET);                
208
+            }
209
+            else{
210
+                HAL_GPIO_WritePin(_T_SYNC_UL_GPIO_Port,_T_SYNC_UL_Pin, GPIO_PIN_SET);
211
+                HAL_GPIO_WritePin(T_SYNC_UL_GPIO_Port,T_SYNC_UL_Pin, GPIO_PIN_SET);
212
+                HAL_GPIO_WritePin(_T_SYNC_DL_GPIO_Port,_T_SYNC_DL_Pin, GPIO_PIN_RESET);
213
+                HAL_GPIO_WritePin(T_SYNC_DL_GPIO_Port,T_SYNC_DL_Pin, GPIO_PIN_RESET);                
214
+            }
215
+#ifdef DEBUG_PRINT
216
+            printf("TDD SYNC OPERATE ; %d\r\n",cmd);
217
+#endif /* DEBUG_PRINT */
218
+            break;
219
+        default :
220
+#ifdef DEBUG_PRINT
221
+        printf("Function : %s LINE : %d   ERROR \r\n",__func__,__LINE__);
222
+#endif /* DEBUG_PRINT */
223
+    break;
224
+
225
+    }
226
+}
227
+void ATTEN_PLL_PATH_Initialize(void){
228
+#if 0 // PYJ.2019.07.31_BEGIN -- 
229
+        for(int i = 0; i < INDEX_BLUE_EOF + 1; i++){
230
+            printf("Data = %x\r\n",  Flash_Save_data[i]);
231
+        }
232
+#endif // PYJ.2019.07.31_END -- 
233
+    Flash_Save_data[INDEX_BLUE_CRC]      = STH30_CreateCrc(&Flash_Save_data[Type], Flash_Save_data[Length]);
234
+    RF_Ctrl_Main(&Flash_Save_data[INDEX_BLUE_HEADER]);
235
+    RF_Status_Get();
236
+}
237
+

+ 742 - 0
insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/main(2522).c

@@ -0,0 +1,742 @@
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
+extern PLL_Setting_st Pll_3_5_H;
59
+extern PLL_Setting_st Pll_3_5_L;
60
+
61
+//volatile uint32_t UartTxTimerCnt = 0;
62
+
63
+/* USER CODE END PV */
64
+
65
+/* Private function prototypes -----------------------------------------------*/
66
+void SystemClock_Config(void);
67
+static void MX_GPIO_Init(void);
68
+static void MX_DMA_Init(void);
69
+static void MX_ADC1_Init(void);
70
+static void MX_USART1_UART_Init(void);
71
+static void MX_TIM6_Init(void);
72
+static void MX_NVIC_Init(void);
73
+/* USER CODE BEGIN PFP */
74
+
75
+/* USER CODE END PFP */
76
+
77
+/* Private user code ---------------------------------------------------------*/
78
+/* USER CODE BEGIN 0 */
79
+
80
+uint32_t ADCvalue[ADC_EA];
81
+
82
+#if 1 // PYJ.2019.07.26_BEGIN --
83
+
84
+void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
85
+{
86
+    if(htim->Instance == TIM6){
87
+        UartRxTimerCnt++;
88
+        LedTimerCnt++;
89
+        AdcTimerCnt++;
90
+    }
91
+} 
92
+#endif // PYJ.2019.07.26_END -- 
93
+int _write (int file, uint8_t *ptr, uint16_t len)
94
+{
95
+    HAL_UART_Transmit(&huart1, ptr, len,10);
96
+//    HAL_UART_Transmit_IT(&huart1, ptr, len);
97
+    return len;
98
+}
99
+void Pol_Delay_us(volatile uint32_t microseconds)
100
+{
101
+  /* Go to number of cycles for system */
102
+  microseconds *= (SystemCoreClock / 1000000);
103
+ 
104
+  /* Delay till end */
105
+  while (microseconds--);
106
+}
107
+/* define address bits for addressing dac outputs. */
108
+#define SPI_DAC_ADDR0  (1 << 12)
109
+#define SPI_DAC_ADDR1  (1 << 13)
110
+#define SPI_DAC_ADDR2  (1 << 14)
111
+
112
+/* define addresses for each dac output. */
113
+#define SPI_DAC_OUTPUT_A   0x00
114
+#define SPI_DAC_OUTPUT_B   SPI_DAC_ADDR0
115
+#define SPI_DAC_OUTPUT_C   SPI_DAC_ADDR1
116
+#define SPI_DAC_OUTPUT_D  (SPI_DAC_ADDR1 | SPI_DAC_ADDR0)
117
+#define SPI_DAC_OUTPUT_E   SPI_DAC_ADDR2
118
+#define SPI_DAC_OUTPUT_F  (SPI_DAC_ADDR2 | SPI_DAC_ADDR0)
119
+#define SPI_DAC_OUTPUT_G  (SPI_DAC_ADDR2 | SPI_DAC_ADDR1)
120
+#define SPI_DAC_OUTPUT_H  (SPI_DAC_ADDR2 | SPI_DAC_ADDR1 | SPI_DAC_ADDR0)
121
+
122
+
123
+/* USER CODE END 0 */
124
+
125
+/**
126
+  * @brief  The application entry point.
127
+  * @retval int
128
+  */
129
+int main(void)
130
+{
131
+  /* USER CODE BEGIN 1 */
132
+
133
+  /* USER CODE END 1 */
134
+  
135
+
136
+  /* MCU Configuration--------------------------------------------------------*/
137
+
138
+  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
139
+  HAL_Init();
140
+
141
+  /* USER CODE BEGIN Init */
142
+
143
+  /* USER CODE END Init */
144
+
145
+  /* Configure the system clock */
146
+  SystemClock_Config();
147
+
148
+  /* USER CODE BEGIN SysInit */
149
+
150
+  /* USER CODE END SysInit */
151
+
152
+  /* Initialize all configured peripherals */
153
+  MX_GPIO_Init();
154
+  MX_DMA_Init();
155
+  MX_ADC1_Init();
156
+  MX_USART1_UART_Init();
157
+  MX_TIM6_Init();
158
+
159
+  /* Initialize interrupts */
160
+  MX_NVIC_Init();
161
+  /* USER CODE BEGIN 2 */
162
+  setbuf(stdout, NULL);
163
+#ifdef DEBUG_PRINT
164
+  printf("UART Start \r\n");
165
+#endif /* DEBUG_PRINT */
166
+    HAL_UART_Receive_DMA(&huart1, TerminalQueue.Buffer, 1);
167
+    PE43711_PinInit();
168
+    HAL_GPIO_WritePin(PATH_EN_3_5G_L_GPIO_Port,PATH_EN_3_5G_L_Pin, GPIO_PIN_SET);
169
+    HAL_GPIO_WritePin(PATH_EN_3_5G_H_GPIO_Port,PATH_EN_3_5G_H_Pin, GPIO_PIN_SET);
170
+    HAL_GPIO_WritePin(PATH_EN_3_5G_DL_GPIO_Port,PATH_EN_3_5G_DL_Pin, GPIO_PIN_SET);
171
+    HAL_GPIO_WritePin(PATH_EN_3_5G_UL_GPIO_Port,PATH_EN_3_5G_UL_Pin, GPIO_PIN_SET);
172
+    HAL_GPIO_WritePin(PATH_EN_3_5G_L_GPIO_Port,PATH_EN_3_5G_L_Pin, GPIO_PIN_SET);  
173
+    HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_H_GPIO_Port,PLL_ON_OFF_3_5G_H_Pin, GPIO_PIN_SET);
174
+    HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_L_GPIO_Port,PLL_ON_OFF_3_5G_L_Pin, GPIO_PIN_SET);  
175
+    HAL_GPIO_WritePin(PATH_EN_2_1G_DL_GPIO_Port,PATH_EN_2_1G_DL_Pin, GPIO_PIN_SET);
176
+    HAL_GPIO_WritePin(PATH_EN_2_1G_UL_GPIO_Port,PATH_EN_2_1G_UL_Pin, GPIO_PIN_SET);
177
+    HAL_GPIO_WritePin(PATH_EN_1_8G_DL_GPIO_Port,PATH_EN_1_8G_DL_Pin, GPIO_PIN_SET);
178
+    HAL_GPIO_WritePin(PATH_EN_1_8G_UL_GPIO_Port,PATH_EN_1_8G_UL_Pin, GPIO_PIN_SET);
179
+    HAL_GPIO_WritePin(_T_SYNC_UL_GPIO_Port,_T_SYNC_UL_Pin, GPIO_PIN_RESET);
180
+    HAL_GPIO_WritePin(T_SYNC_UL_GPIO_Port,T_SYNC_UL_Pin, GPIO_PIN_RESET);
181
+    HAL_GPIO_WritePin(_T_SYNC_DL_GPIO_Port,_T_SYNC_DL_Pin, GPIO_PIN_SET);
182
+    HAL_GPIO_WritePin(T_SYNC_DL_GPIO_Port,T_SYNC_DL_Pin, GPIO_PIN_SET);                
183
+    HAL_Delay(1);
184
+    Path_Init();
185
+    ADF4153_Init();
186
+    SubmitDAC(0x800C);
187
+    SubmitDAC(0xA000);
188
+#if 1 // PYJ.2019.07.30_BEGIN -- 
189
+    SubmitDAC(0x0FFF);
190
+    SubmitDAC(0x13FF);
191
+    SubmitDAC(0x23FF);
192
+    SubmitDAC(0x35FF);
193
+    SubmitDAC(0x46FF);
194
+    SubmitDAC(0x57FF);
195
+    SubmitDAC(0x68FF);
196
+    SubmitDAC(0x79FF);
197
+#endif // PYJ.2019.07.30_END -- 
198
+        
199
+//    ad53_write(0x2BFF);
200
+
201
+#ifdef DEBUG_PRINT
202
+  printf("\r\nPLL_EN_3_5G_L_GPIO_Port\r\n");
203
+#endif /* DEBUG_PRINT */
204
+  
205
+#ifdef DEBUG_PRINT
206
+  printf("\r\nPLL_EN_2_1G_UL_GPIO_Port\r\n");
207
+#endif /* DEBUG_PRINT */
208
+  HAL_Delay(1);
209
+  ADF4113_Initialize();
210
+//  BDA4601_Test();
211
+    HAL_ADCEx_Calibration_Start(&hadc1);
212
+    ADF4153_R_N_Reg_st temp_reg;
213
+    Bluecell_Flash_Read(&Flash_Save_data[INDEX_BLUE_HEADER]);
214
+    ATTEN_PLL_PATH_Initialize();
215
+
216
+//  ADF_Module_Ctrl(Pll_test,0x324000,0x144051,0x0017c2,0x0003c7);
217
+
218
+  /* USER CODE END 2 */
219
+
220
+  /* Infinite loop */
221
+  /* USER CODE BEGIN WHILE */
222
+//  while(HAL_ADCEx_Calibration_Start(&hadc1) != HAL_OK); //ADC Calibration 
223
+//   HAL_ADC_Start_DMA(&hadc1, (uint32_t*)ADCvalue, ADC_EA);
224
+  while (1)
225
+  {
226
+    if(HAL_GPIO_ReadPin(PLL_LD_3_5G_H_GPIO_Port, PLL_LD_3_5G_H_Pin) == GPIO_PIN_RESET){
227
+        temp_reg = ADF4153_Freq_Calc(3934500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);
228
+        ADF4153_Module_Ctrl(Pll_3_5_H,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
229
+        HAL_Delay(1);
230
+    }
231
+    if(HAL_GPIO_ReadPin(PLL_LD_3_5G_L_GPIO_Port, PLL_LD_3_5G_L_Pin) == GPIO_PIN_RESET){
232
+        temp_reg = ADF4153_Freq_Calc(3465500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);
233
+        ADF4153_Module_Ctrl(Pll_3_5_L,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
234
+        HAL_Delay(1);
235
+    }
236
+    if(LedTimerCnt > 500){HAL_GPIO_TogglePin(BOOT_LED_GPIO_Port,GPIO_PIN_14);LedTimerCnt = 0;}
237
+    while (TerminalQueue.data > 0 && UartRxTimerCnt > 100) GetDataFromUartQueue(&hTerminal);
238
+    if(AdcTimerCnt > 5000){
239
+        HAL_ADC_Start_DMA(&hadc1, (uint32_t*)ADCvalue, 14);  
240
+        for(uint8_t i = 0; i< ADC_EA; i += 2 ){
241
+            Prev_data[INDEX_DET_1_8G_DL_IN_H + i]     = (uint16_t)((ADCvalue[i] & 0xFF00) >> 8);
242
+            Prev_data[INDEX_DET_1_8G_DL_IN_L + i]     = (uint16_t)(ADCvalue[i] & 0x00FF);
243
+//            printf("Prev_data[INDEX_DET_1_8G_DL_IN_H + i] : %x\r\n",Prev_data[INDEX_DET_1_8G_DL_IN_H + i]);
244
+//            printf("Prev_data[INDEX_DET_1_8G_DL_IN_L + i] : %x\r\n",Prev_data[INDEX_DET_1_8G_DL_IN_L]);            
245
+        }
246
+//        for(int i = 0; i < 14; i++)
247
+//            printf("\r\nYJ[%d] : %x \r\n",i,ADCvalue[i]);
248
+//        HAL_Delay(3000);
249
+        RF_Status_Get();
250
+#if 1 // PYJ.2019.07.29_BEGIN -- 
251
+//        printf("====================================\r\n");
252
+//            for(uint8_t i = 0; i< ADC_EA; i++){
253
+//                printf("%x",ADCvalue[0]);
254
+//                printf("\r\n");
255
+//                printf("%d",ADCvalue[i]);
256
+//                printf("\r\n");
257
+//            }
258
+//                printf("\r\nADC[%d] : %d\r\n ",i,ADCvalue[i]);
259
+//        printf("====================================\r\n");
260
+#endif // PYJ.2019.07.29_END -- 
261
+        AdcTimerCnt = 0;
262
+
263
+    }
264
+
265
+    /* USER CODE END WHILE */
266
+
267
+    /* USER CODE BEGIN 3 */
268
+  }
269
+  /* USER CODE END 3 */
270
+}
271
+
272
+/**
273
+  * @brief System Clock Configuration
274
+  * @retval None
275
+  */
276
+void SystemClock_Config(void)
277
+{
278
+  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
279
+  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
280
+  RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
281
+
282
+  /** Initializes the CPU, AHB and APB busses clocks 
283
+  */
284
+  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
285
+  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
286
+  RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
287
+  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
288
+  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2;
289
+  RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL15;
290
+  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
291
+  {
292
+    Error_Handler();
293
+  }
294
+  /** Initializes the CPU, AHB and APB busses clocks 
295
+  */
296
+  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
297
+                              |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
298
+  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
299
+  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
300
+  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
301
+  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
302
+
303
+  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
304
+  {
305
+    Error_Handler();
306
+  }
307
+  PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC;
308
+  PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV6;
309
+  if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
310
+  {
311
+    Error_Handler();
312
+  }
313
+}
314
+
315
+/**
316
+  * @brief NVIC Configuration.
317
+  * @retval None
318
+  */
319
+static void MX_NVIC_Init(void)
320
+{
321
+  /* USART1_IRQn interrupt configuration */
322
+  HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
323
+  HAL_NVIC_EnableIRQ(USART1_IRQn);
324
+  /* TIM6_IRQn interrupt configuration */
325
+  HAL_NVIC_SetPriority(TIM6_IRQn, 0, 0);
326
+  HAL_NVIC_EnableIRQ(TIM6_IRQn);
327
+  /* DMA1_Channel1_IRQn interrupt configuration */
328
+  HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 0);
329
+  HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
330
+  /* DMA1_Channel4_IRQn interrupt configuration */
331
+  HAL_NVIC_SetPriority(DMA1_Channel4_IRQn, 0, 0);
332
+  HAL_NVIC_EnableIRQ(DMA1_Channel4_IRQn);
333
+  /* DMA1_Channel5_IRQn interrupt configuration */
334
+  HAL_NVIC_SetPriority(DMA1_Channel5_IRQn, 0, 0);
335
+  HAL_NVIC_EnableIRQ(DMA1_Channel5_IRQn);
336
+}
337
+
338
+/**
339
+  * @brief ADC1 Initialization Function
340
+  * @param None
341
+  * @retval None
342
+  */
343
+static void MX_ADC1_Init(void)
344
+{
345
+
346
+  /* USER CODE BEGIN ADC1_Init 0 */
347
+
348
+  /* USER CODE END ADC1_Init 0 */
349
+
350
+  ADC_ChannelConfTypeDef sConfig = {0};
351
+
352
+  /* USER CODE BEGIN ADC1_Init 1 */
353
+
354
+  /* USER CODE END ADC1_Init 1 */
355
+  /** Common config 
356
+  */
357
+  hadc1.Instance = ADC1;
358
+  hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE;
359
+  hadc1.Init.ContinuousConvMode = ENABLE;
360
+  hadc1.Init.DiscontinuousConvMode = DISABLE;
361
+  hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
362
+  hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
363
+  hadc1.Init.NbrOfConversion = 14;
364
+  if (HAL_ADC_Init(&hadc1) != HAL_OK)
365
+  {
366
+    Error_Handler();
367
+  }
368
+  /** Configure Regular Channel 
369
+  */
370
+  sConfig.Channel = ADC_CHANNEL_0;
371
+  sConfig.Rank = ADC_REGULAR_RANK_1;
372
+  sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
373
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
374
+  {
375
+    Error_Handler();
376
+  }
377
+  /** Configure Regular Channel 
378
+  */
379
+  sConfig.Channel = ADC_CHANNEL_1;
380
+  sConfig.Rank = ADC_REGULAR_RANK_2;
381
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
382
+  {
383
+    Error_Handler();
384
+  }
385
+  /** Configure Regular Channel 
386
+  */
387
+  sConfig.Channel = ADC_CHANNEL_2;
388
+  sConfig.Rank = ADC_REGULAR_RANK_3;
389
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
390
+  {
391
+    Error_Handler();
392
+  }
393
+  /** Configure Regular Channel 
394
+  */
395
+  sConfig.Channel = ADC_CHANNEL_3;
396
+  sConfig.Rank = ADC_REGULAR_RANK_4;
397
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
398
+  {
399
+    Error_Handler();
400
+  }
401
+  /** Configure Regular Channel 
402
+  */
403
+  sConfig.Channel = ADC_CHANNEL_4;
404
+  sConfig.Rank = ADC_REGULAR_RANK_5;
405
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
406
+  {
407
+    Error_Handler();
408
+  }
409
+  /** Configure Regular Channel 
410
+  */
411
+  sConfig.Channel = ADC_CHANNEL_5;
412
+  sConfig.Rank = ADC_REGULAR_RANK_6;
413
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
414
+  {
415
+    Error_Handler();
416
+  }
417
+  /** Configure Regular Channel 
418
+  */
419
+  sConfig.Channel = ADC_CHANNEL_6;
420
+  sConfig.Rank = ADC_REGULAR_RANK_7;
421
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
422
+  {
423
+    Error_Handler();
424
+  }
425
+  /** Configure Regular Channel 
426
+  */
427
+  sConfig.Channel = ADC_CHANNEL_7;
428
+  sConfig.Rank = ADC_REGULAR_RANK_8;
429
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
430
+  {
431
+    Error_Handler();
432
+  }
433
+  /** Configure Regular Channel 
434
+  */
435
+  sConfig.Channel = ADC_CHANNEL_8;
436
+  sConfig.Rank = ADC_REGULAR_RANK_9;
437
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
438
+  {
439
+    Error_Handler();
440
+  }
441
+  /** Configure Regular Channel 
442
+  */
443
+  sConfig.Channel = ADC_CHANNEL_9;
444
+  sConfig.Rank = ADC_REGULAR_RANK_10;
445
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
446
+  {
447
+    Error_Handler();
448
+  }
449
+  /** Configure Regular Channel 
450
+  */
451
+  sConfig.Channel = ADC_CHANNEL_10;
452
+  sConfig.Rank = ADC_REGULAR_RANK_11;
453
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
454
+  {
455
+    Error_Handler();
456
+  }
457
+  /** Configure Regular Channel 
458
+  */
459
+  sConfig.Channel = ADC_CHANNEL_11;
460
+  sConfig.Rank = ADC_REGULAR_RANK_12;
461
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
462
+  {
463
+    Error_Handler();
464
+  }
465
+  /** Configure Regular Channel 
466
+  */
467
+  sConfig.Channel = ADC_CHANNEL_12;
468
+  sConfig.Rank = ADC_REGULAR_RANK_13;
469
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
470
+  {
471
+    Error_Handler();
472
+  }
473
+  /** Configure Regular Channel 
474
+  */
475
+  sConfig.Channel = ADC_CHANNEL_13;
476
+  sConfig.Rank = ADC_REGULAR_RANK_14;
477
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
478
+  {
479
+    Error_Handler();
480
+  }
481
+  /* USER CODE BEGIN ADC1_Init 2 */
482
+
483
+  /* USER CODE END ADC1_Init 2 */
484
+
485
+}
486
+
487
+/**
488
+  * @brief TIM6 Initialization Function
489
+  * @param None
490
+  * @retval None
491
+  */
492
+static void MX_TIM6_Init(void)
493
+{
494
+
495
+  /* USER CODE BEGIN TIM6_Init 0 */
496
+
497
+  /* USER CODE END TIM6_Init 0 */
498
+
499
+  TIM_MasterConfigTypeDef sMasterConfig = {0};
500
+
501
+  /* USER CODE BEGIN TIM6_Init 1 */
502
+
503
+  /* USER CODE END TIM6_Init 1 */
504
+  htim6.Instance = TIM6;
505
+  htim6.Init.Prescaler = 6000-1;
506
+  htim6.Init.CounterMode = TIM_COUNTERMODE_UP;
507
+  htim6.Init.Period = 10;
508
+  htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
509
+  if (HAL_TIM_Base_Init(&htim6) != HAL_OK)
510
+  {
511
+    Error_Handler();
512
+  }
513
+  sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
514
+  sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
515
+  if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK)
516
+  {
517
+    Error_Handler();
518
+  }
519
+  /* USER CODE BEGIN TIM6_Init 2 */
520
+
521
+  /* USER CODE END TIM6_Init 2 */
522
+
523
+}
524
+
525
+/**
526
+  * @brief USART1 Initialization Function
527
+  * @param None
528
+  * @retval None
529
+  */
530
+static void MX_USART1_UART_Init(void)
531
+{
532
+
533
+  /* USER CODE BEGIN USART1_Init 0 */
534
+
535
+  /* USER CODE END USART1_Init 0 */
536
+
537
+  /* USER CODE BEGIN USART1_Init 1 */
538
+
539
+  /* USER CODE END USART1_Init 1 */
540
+  huart1.Instance = USART1;
541
+  huart1.Init.BaudRate = 115200;
542
+  huart1.Init.WordLength = UART_WORDLENGTH_8B;
543
+  huart1.Init.StopBits = UART_STOPBITS_1;
544
+  huart1.Init.Parity = UART_PARITY_NONE;
545
+  huart1.Init.Mode = UART_MODE_TX_RX;
546
+  huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
547
+  huart1.Init.OverSampling = UART_OVERSAMPLING_16;
548
+  if (HAL_UART_Init(&huart1) != HAL_OK)
549
+  {
550
+    Error_Handler();
551
+  }
552
+  /* USER CODE BEGIN USART1_Init 2 */
553
+
554
+  /* USER CODE END USART1_Init 2 */
555
+
556
+}
557
+
558
+/** 
559
+  * Enable DMA controller clock
560
+  */
561
+static void MX_DMA_Init(void) 
562
+{
563
+  /* DMA controller clock enable */
564
+  __HAL_RCC_DMA1_CLK_ENABLE();
565
+
566
+}
567
+
568
+/**
569
+  * @brief GPIO Initialization Function
570
+  * @param None
571
+  * @retval None
572
+  */
573
+static void MX_GPIO_Init(void)
574
+{
575
+  GPIO_InitTypeDef GPIO_InitStruct = {0};
576
+
577
+  /* GPIO Ports Clock Enable */
578
+  __HAL_RCC_GPIOE_CLK_ENABLE();
579
+  __HAL_RCC_GPIOC_CLK_ENABLE();
580
+  __HAL_RCC_GPIOF_CLK_ENABLE();
581
+  __HAL_RCC_GPIOA_CLK_ENABLE();
582
+  __HAL_RCC_GPIOB_CLK_ENABLE();
583
+  __HAL_RCC_GPIOD_CLK_ENABLE();
584
+  __HAL_RCC_GPIOG_CLK_ENABLE();
585
+
586
+  /*Configure GPIO pin Output Level */
587
+  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 
588
+                          |ATT_EN_1_8G_UL3_Pin|PATH_EN_2_1G_DL_Pin|PATH_EN_2_1G_UL_Pin, GPIO_PIN_RESET);
589
+
590
+  /*Configure GPIO pin Output Level */
591
+  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 
592
+                          |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);
593
+
594
+  /*Configure GPIO pin Output Level */
595
+  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 
596
+                          |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);
597
+
598
+  /*Configure GPIO pin Output Level */
599
+  HAL_GPIO_WritePin(GPIOD, PLL_DATA_Pin|PLL_CLK_Pin|ATT_DATA_Pin|ATT_CLK_Pin 
600
+                          |DA_LDAC_Pin|ATT_CLK_3_5G_Pin|ATT_EN_3_5G_Pin|ATT_DATA_3_5G_DL_Pin 
601
+                          |ATT_DATA_3_5G_UL_Pin|ATT_DATA_3_5G_COM1_Pin|ATT_DATA_3_5G_COM2_Pin|ATT_DATA_3_5G_COM3_Pin 
602
+                          |PATH_EN_3_5G_L_Pin, GPIO_PIN_RESET);
603
+
604
+  /*Configure GPIO pin Output Level */
605
+  HAL_GPIO_WritePin(GPIOG, DA_SYNC_Pin|DA_SCLK_Pin|DA_DIN_Pin|_T_SYNC_UL_Pin 
606
+                          |T_SYNC_UL_Pin|_T_SYNC_DL_Pin|T_SYNC_DL_Pin|PATH_EN_3_5G_H_Pin 
607
+                          |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 
608
+                          |BOOT_LED_Pin, GPIO_PIN_RESET);
609
+
610
+  /*Configure GPIO pin Output Level */
611
+  HAL_GPIO_WritePin(PLL_CLK_3_5G_GPIO_Port, PLL_CLK_3_5G_Pin, GPIO_PIN_RESET);
612
+
613
+  /*Configure GPIO pin Output Level */
614
+  HAL_GPIO_WritePin(GPIOB, PLL_EN_2_1G_DL_Pin|PLL_EN_2_1G_UL_Pin, GPIO_PIN_RESET);
615
+
616
+  /*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 
617
+                           ATT_EN_1_8G_UL3_Pin PATH_EN_2_1G_DL_Pin PATH_EN_2_1G_UL_Pin */
618
+  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 
619
+                          |ATT_EN_1_8G_UL3_Pin|PATH_EN_2_1G_DL_Pin|PATH_EN_2_1G_UL_Pin;
620
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
621
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
622
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
623
+  HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
624
+
625
+  /*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 
626
+                           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 */
627
+  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 
628
+                          |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;
629
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
630
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
631
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
632
+  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
633
+
634
+  /*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 
635
+                           ATT_EN_2_1G_UL1_Pin ATT_EN_2_1G_UL2_Pin ATT_EN_2_1G_UL3_Pin ATT_EN_2_1G_UL4_Pin */
636
+  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 
637
+                          |ATT_EN_2_1G_UL1_Pin|ATT_EN_2_1G_UL2_Pin|ATT_EN_2_1G_UL3_Pin|ATT_EN_2_1G_UL4_Pin;
638
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
639
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
640
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
641
+  HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
642
+
643
+  /*Configure GPIO pins : PLL_LD_1_8G_DL_Pin PLL_LD_1_8G_UL_Pin */
644
+  GPIO_InitStruct.Pin = PLL_LD_1_8G_DL_Pin|PLL_LD_1_8G_UL_Pin;
645
+  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
646
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
647
+  HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
648
+
649
+  /*Configure GPIO pins : PLL_DATA_Pin PLL_CLK_Pin ATT_DATA_Pin ATT_CLK_Pin 
650
+                           DA_LDAC_Pin ATT_CLK_3_5G_Pin ATT_EN_3_5G_Pin ATT_DATA_3_5G_DL_Pin 
651
+                           ATT_DATA_3_5G_UL_Pin ATT_DATA_3_5G_COM1_Pin ATT_DATA_3_5G_COM2_Pin ATT_DATA_3_5G_COM3_Pin 
652
+                           PATH_EN_3_5G_L_Pin */
653
+  GPIO_InitStruct.Pin = PLL_DATA_Pin|PLL_CLK_Pin|ATT_DATA_Pin|ATT_CLK_Pin 
654
+                          |DA_LDAC_Pin|ATT_CLK_3_5G_Pin|ATT_EN_3_5G_Pin|ATT_DATA_3_5G_DL_Pin 
655
+                          |ATT_DATA_3_5G_UL_Pin|ATT_DATA_3_5G_COM1_Pin|ATT_DATA_3_5G_COM2_Pin|ATT_DATA_3_5G_COM3_Pin 
656
+                          |PATH_EN_3_5G_L_Pin;
657
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
658
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
659
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
660
+  HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
661
+
662
+  /*Configure GPIO pins : ALARM_DC_Pin ALARM_AC_Pin */
663
+  GPIO_InitStruct.Pin = ALARM_DC_Pin|ALARM_AC_Pin;
664
+  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
665
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
666
+  HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
667
+
668
+  /*Configure GPIO pins : DA_SYNC_Pin DA_SCLK_Pin DA_DIN_Pin _T_SYNC_UL_Pin 
669
+                           T_SYNC_UL_Pin _T_SYNC_DL_Pin T_SYNC_DL_Pin PATH_EN_3_5G_H_Pin 
670
+                           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 
671
+                           BOOT_LED_Pin */
672
+  GPIO_InitStruct.Pin = DA_SYNC_Pin|DA_SCLK_Pin|DA_DIN_Pin|_T_SYNC_UL_Pin 
673
+                          |T_SYNC_UL_Pin|_T_SYNC_DL_Pin|T_SYNC_DL_Pin|PATH_EN_3_5G_H_Pin 
674
+                          |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 
675
+                          |BOOT_LED_Pin;
676
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
677
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
678
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
679
+  HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
680
+
681
+  /*Configure GPIO pins : PLL_LD_3_5G_L_Pin PLL_LD_3_5G_H_Pin */
682
+  GPIO_InitStruct.Pin = PLL_LD_3_5G_L_Pin|PLL_LD_3_5G_H_Pin;
683
+  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
684
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
685
+  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
686
+
687
+  /*Configure GPIO pin : PLL_CLK_3_5G_Pin */
688
+  GPIO_InitStruct.Pin = PLL_CLK_3_5G_Pin;
689
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
690
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
691
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
692
+  HAL_GPIO_Init(PLL_CLK_3_5G_GPIO_Port, &GPIO_InitStruct);
693
+
694
+  /*Configure GPIO pins : PLL_EN_2_1G_DL_Pin PLL_EN_2_1G_UL_Pin */
695
+  GPIO_InitStruct.Pin = PLL_EN_2_1G_DL_Pin|PLL_EN_2_1G_UL_Pin;
696
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
697
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
698
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
699
+  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
700
+
701
+  /*Configure GPIO pins : PLL_LD_2_1G_DL_Pin PLL_LD_2_1G_UL_Pin */
702
+  GPIO_InitStruct.Pin = PLL_LD_2_1G_DL_Pin|PLL_LD_2_1G_UL_Pin;
703
+  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
704
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
705
+  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
706
+
707
+}
708
+
709
+/* USER CODE BEGIN 4 */
710
+
711
+/* USER CODE END 4 */
712
+
713
+/**
714
+  * @brief  This function is executed in case of error occurrence.
715
+  * @retval None
716
+  */
717
+void Error_Handler(void)
718
+{
719
+  /* USER CODE BEGIN Error_Handler_Debug */
720
+  /* User can add his own implementation to report the HAL error return state */
721
+
722
+  /* USER CODE END Error_Handler_Debug */
723
+}
724
+
725
+#ifdef  USE_FULL_ASSERT
726
+/**
727
+  * @brief  Reports the name of the source file and the source line number
728
+  *         where the assert_param error has occurred.
729
+  * @param  file: pointer to the source file name
730
+  * @param  line: assert_param error line source number
731
+  * @retval None
732
+  */
733
+void assert_failed(uint8_t *file, uint32_t line)
734
+{ 
735
+  /* USER CODE BEGIN 6 */
736
+  /* User can add his own implementation to report the file name and line number,
737
+     tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
738
+  /* USER CODE END 6 */
739
+}
740
+#endif /* USE_FULL_ASSERT */
741
+
742
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 749 - 0
insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/main(4598).c

@@ -0,0 +1,749 @@
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
+extern PLL_Setting_st Pll_3_5_H;
59
+extern PLL_Setting_st Pll_3_5_L;
60
+
61
+//volatile uint32_t UartTxTimerCnt = 0;
62
+
63
+/* USER CODE END PV */
64
+
65
+/* Private function prototypes -----------------------------------------------*/
66
+void SystemClock_Config(void);
67
+static void MX_GPIO_Init(void);
68
+static void MX_DMA_Init(void);
69
+static void MX_ADC1_Init(void);
70
+static void MX_USART1_UART_Init(void);
71
+static void MX_TIM6_Init(void);
72
+static void MX_NVIC_Init(void);
73
+/* USER CODE BEGIN PFP */
74
+
75
+/* USER CODE END PFP */
76
+
77
+/* Private user code ---------------------------------------------------------*/
78
+/* USER CODE BEGIN 0 */
79
+
80
+uint32_t ADCvalue[ADC_EA];
81
+
82
+#if 1 // PYJ.2019.07.26_BEGIN --
83
+
84
+void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
85
+{
86
+    if(htim->Instance == TIM6){
87
+        UartRxTimerCnt++;
88
+        LedTimerCnt++;
89
+        AdcTimerCnt++;
90
+    }
91
+} 
92
+#endif // PYJ.2019.07.26_END -- 
93
+int _write (int file, uint8_t *ptr, uint16_t len)
94
+{
95
+    HAL_UART_Transmit(&huart1, ptr, len,10);
96
+//    HAL_UART_Transmit_IT(&huart1, ptr, len);
97
+    return len;
98
+}
99
+void Pol_Delay_us(volatile uint32_t microseconds)
100
+{
101
+  /* Go to number of cycles for system */
102
+  microseconds *= (SystemCoreClock / 1000000);
103
+ 
104
+  /* Delay till end */
105
+  while (microseconds--);
106
+}
107
+/* define address bits for addressing dac outputs. */
108
+#define SPI_DAC_ADDR0  (1 << 12)
109
+#define SPI_DAC_ADDR1  (1 << 13)
110
+#define SPI_DAC_ADDR2  (1 << 14)
111
+
112
+/* define addresses for each dac output. */
113
+#define SPI_DAC_OUTPUT_A   0x00
114
+#define SPI_DAC_OUTPUT_B   SPI_DAC_ADDR0
115
+#define SPI_DAC_OUTPUT_C   SPI_DAC_ADDR1
116
+#define SPI_DAC_OUTPUT_D  (SPI_DAC_ADDR1 | SPI_DAC_ADDR0)
117
+#define SPI_DAC_OUTPUT_E   SPI_DAC_ADDR2
118
+#define SPI_DAC_OUTPUT_F  (SPI_DAC_ADDR2 | SPI_DAC_ADDR0)
119
+#define SPI_DAC_OUTPUT_G  (SPI_DAC_ADDR2 | SPI_DAC_ADDR1)
120
+#define SPI_DAC_OUTPUT_H  (SPI_DAC_ADDR2 | SPI_DAC_ADDR1 | SPI_DAC_ADDR0)
121
+
122
+
123
+/* USER CODE END 0 */
124
+
125
+/**
126
+  * @brief  The application entry point.
127
+  * @retval int
128
+  */
129
+int main(void)
130
+{
131
+  /* USER CODE BEGIN 1 */
132
+
133
+  /* USER CODE END 1 */
134
+  
135
+
136
+  /* MCU Configuration--------------------------------------------------------*/
137
+
138
+  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
139
+  HAL_Init();
140
+
141
+  /* USER CODE BEGIN Init */
142
+
143
+  /* USER CODE END Init */
144
+
145
+  /* Configure the system clock */
146
+  SystemClock_Config();
147
+
148
+  /* USER CODE BEGIN SysInit */
149
+
150
+  /* USER CODE END SysInit */
151
+
152
+  /* Initialize all configured peripherals */
153
+  MX_GPIO_Init();
154
+  MX_DMA_Init();
155
+  MX_ADC1_Init();
156
+  MX_USART1_UART_Init();
157
+  MX_TIM6_Init();
158
+
159
+  /* Initialize interrupts */
160
+  MX_NVIC_Init();
161
+  /* USER CODE BEGIN 2 */
162
+  setbuf(stdout, NULL);
163
+#ifdef DEBUG_PRINT
164
+  printf("UART Start \r\n");
165
+#endif /* DEBUG_PRINT */
166
+    HAL_UART_Receive_DMA(&huart1, TerminalQueue.Buffer, 1);
167
+    PE43711_PinInit();
168
+    
169
+    HAL_GPIO_WritePin(PATH_EN_3_5G_L_GPIO_Port,PATH_EN_3_5G_L_Pin, GPIO_PIN_RESET);
170
+    HAL_GPIO_WritePin(PATH_EN_3_5G_H_GPIO_Port,PATH_EN_3_5G_H_Pin, GPIO_PIN_RESET);
171
+    HAL_GPIO_WritePin(PATH_EN_3_5G_DL_GPIO_Port,PATH_EN_3_5G_DL_Pin, GPIO_PIN_RESET);
172
+    HAL_GPIO_WritePin(PATH_EN_3_5G_UL_GPIO_Port,PATH_EN_3_5G_UL_Pin, GPIO_PIN_RESET);
173
+    HAL_GPIO_WritePin(PATH_EN_3_5G_L_GPIO_Port,PATH_EN_3_5G_L_Pin, GPIO_PIN_RESET);  
174
+    HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_H_GPIO_Port,PLL_ON_OFF_3_5G_H_Pin, GPIO_PIN_RESET);
175
+    HAL_GPIO_WritePin(PLL_ON_OFF_3_5G_L_GPIO_Port,PLL_ON_OFF_3_5G_L_Pin, GPIO_PIN_RESET);  
176
+    HAL_GPIO_WritePin(PATH_EN_2_1G_DL_GPIO_Port,PATH_EN_2_1G_DL_Pin, GPIO_PIN_RESET);
177
+    HAL_GPIO_WritePin(PATH_EN_2_1G_UL_GPIO_Port,PATH_EN_2_1G_UL_Pin, GPIO_PIN_RESET);
178
+    HAL_GPIO_WritePin(PATH_EN_1_8G_DL_GPIO_Port,PATH_EN_1_8G_DL_Pin, GPIO_PIN_RESET);
179
+    HAL_GPIO_WritePin(PATH_EN_1_8G_UL_GPIO_Port,PATH_EN_1_8G_UL_Pin, GPIO_PIN_RESET);
180
+
181
+    
182
+    HAL_GPIO_WritePin(_T_SYNC_UL_GPIO_Port,_T_SYNC_UL_Pin, GPIO_PIN_RESET);
183
+    HAL_GPIO_WritePin(T_SYNC_UL_GPIO_Port,T_SYNC_UL_Pin, GPIO_PIN_RESET);
184
+    HAL_GPIO_WritePin(_T_SYNC_DL_GPIO_Port,_T_SYNC_DL_Pin, GPIO_PIN_SET);
185
+    HAL_GPIO_WritePin(T_SYNC_DL_GPIO_Port,T_SYNC_DL_Pin, GPIO_PIN_SET);     
186
+    
187
+    HAL_Delay(1);
188
+    Path_Init();
189
+    ADF4153_Init();
190
+    SubmitDAC(0x800C);
191
+    SubmitDAC(0xA000);
192
+#if 1
193
+// PYJ.2019.07.30_BEGIN -- 
194
+    SubmitDAC(0x0FFF);
195
+    SubmitDAC(0x13FF);
196
+    SubmitDAC(0x23FF);
197
+    SubmitDAC(0x35FF);
198
+    SubmitDAC(0x46FF);
199
+    SubmitDAC(0x57FF);
200
+    SubmitDAC(0x68FF);
201
+    SubmitDAC(0x79FF);
202
+#endif // PYJ.2019.07.30_END -- 
203
+        
204
+//    ad53_write(0x2BFF);
205
+
206
+#ifdef DEBUG_PRINT
207
+  printf("\r\nPLL_EN_3_5G_L_GPIO_Port\r\n");
208
+#endif /* DEBUG_PRINT */
209
+  
210
+#ifdef DEBUG_PRINT
211
+  printf("\r\nPLL_EN_2_1G_UL_GPIO_Port\r\n");
212
+#endif /* DEBUG_PRINT */
213
+  HAL_Delay(1);
214
+  ADF4113_Initialize();
215
+//  BDA4601_Test();
216
+    HAL_ADCEx_Calibration_Start(&hadc1);
217
+    ADF4153_R_N_Reg_st temp_reg;
218
+#if 0 // PYJ.2019.08.01_BEGIN -- 
219
+    Bluecell_Flash_Read(&Flash_Save_data[INDEX_BLUE_HEADER]);
220
+    ATTEN_PLL_PATH_Initialize();
221
+#endif // PYJ.2019.08.01_END -- 
222
+
223
+//  ADF_Module_Ctrl(Pll_test,0x324000,0x144051,0x0017c2,0x0003c7);
224
+
225
+  /* USER CODE END 2 */
226
+
227
+  /* Infinite loop */
228
+  /* USER CODE BEGIN WHILE */
229
+//  while(HAL_ADCEx_Calibration_Start(&hadc1) != HAL_OK); //ADC Calibration 
230
+//   HAL_ADC_Start_DMA(&hadc1, (uint32_t*)ADCvalue, ADC_EA);
231
+  while (1)
232
+  {
233
+    if(HAL_GPIO_ReadPin(PLL_LD_3_5G_H_GPIO_Port, PLL_LD_3_5G_H_Pin) == GPIO_PIN_RESET){
234
+        temp_reg = ADF4153_Freq_Calc(3934500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);
235
+        ADF4153_Module_Ctrl(Pll_3_5_H,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
236
+        HAL_Delay(1);
237
+    }
238
+    if(HAL_GPIO_ReadPin(PLL_LD_3_5G_L_GPIO_Port, PLL_LD_3_5G_L_Pin) == GPIO_PIN_RESET){
239
+        temp_reg = ADF4153_Freq_Calc(3465500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);
240
+        ADF4153_Module_Ctrl(Pll_3_5_L,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
241
+        HAL_Delay(1);
242
+    }
243
+    if(LedTimerCnt > 500){HAL_GPIO_TogglePin(BOOT_LED_GPIO_Port,GPIO_PIN_14);LedTimerCnt = 0;}
244
+    while (TerminalQueue.data > 0 && UartRxTimerCnt > 100) GetDataFromUartQueue(&hTerminal);
245
+    if(AdcTimerCnt > 5000){
246
+        HAL_ADC_Start_DMA(&hadc1, (uint32_t*)ADCvalue, 14);  
247
+        for(uint8_t i = 0; i< ADC_EA; i += 2 ){
248
+            Prev_data[INDEX_DET_1_8G_DL_IN_H + i]     = (uint16_t)((ADCvalue[i] & 0xFF00) >> 8);
249
+            Prev_data[INDEX_DET_1_8G_DL_IN_L + i]     = (uint16_t)(ADCvalue[i] & 0x00FF);
250
+//            printf("Prev_data[INDEX_DET_1_8G_DL_IN_H + i] : %x\r\n",Prev_data[INDEX_DET_1_8G_DL_IN_H + i]);
251
+//            printf("Prev_data[INDEX_DET_1_8G_DL_IN_L + i] : %x\r\n",Prev_data[INDEX_DET_1_8G_DL_IN_L]);            
252
+        }
253
+//        for(int i = 0; i < 14; i++)
254
+//            printf("\r\nYJ[%d] : %x \r\n",i,ADCvalue[i]);
255
+//        HAL_Delay(3000);
256
+        RF_Status_Get();
257
+#if 1 // PYJ.2019.07.29_BEGIN -- 
258
+//        printf("====================================\r\n");
259
+//            for(uint8_t i = 0; i< ADC_EA; i++){
260
+//                printf("%x",ADCvalue[0]);
261
+//                printf("\r\n");
262
+//                printf("%d",ADCvalue[i]);
263
+//                printf("\r\n");
264
+//            }
265
+//                printf("\r\nADC[%d] : %d\r\n ",i,ADCvalue[i]);
266
+//        printf("====================================\r\n");
267
+#endif // PYJ.2019.07.29_END -- 
268
+        AdcTimerCnt = 0;
269
+
270
+    }
271
+
272
+    /* USER CODE END WHILE */
273
+
274
+    /* USER CODE BEGIN 3 */
275
+  }
276
+  /* USER CODE END 3 */
277
+}
278
+
279
+/**
280
+  * @brief System Clock Configuration
281
+  * @retval None
282
+  */
283
+void SystemClock_Config(void)
284
+{
285
+  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
286
+  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
287
+  RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
288
+
289
+  /** Initializes the CPU, AHB and APB busses clocks 
290
+  */
291
+  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
292
+  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
293
+  RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
294
+  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
295
+  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2;
296
+  RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL15;
297
+  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
298
+  {
299
+    Error_Handler();
300
+  }
301
+  /** Initializes the CPU, AHB and APB busses clocks 
302
+  */
303
+  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
304
+                              |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
305
+  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
306
+  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
307
+  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
308
+  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
309
+
310
+  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
311
+  {
312
+    Error_Handler();
313
+  }
314
+  PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_ADC;
315
+  PeriphClkInit.AdcClockSelection = RCC_ADCPCLK2_DIV6;
316
+  if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
317
+  {
318
+    Error_Handler();
319
+  }
320
+}
321
+
322
+/**
323
+  * @brief NVIC Configuration.
324
+  * @retval None
325
+  */
326
+static void MX_NVIC_Init(void)
327
+{
328
+  /* USART1_IRQn interrupt configuration */
329
+  HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
330
+  HAL_NVIC_EnableIRQ(USART1_IRQn);
331
+  /* TIM6_IRQn interrupt configuration */
332
+  HAL_NVIC_SetPriority(TIM6_IRQn, 0, 0);
333
+  HAL_NVIC_EnableIRQ(TIM6_IRQn);
334
+  /* DMA1_Channel1_IRQn interrupt configuration */
335
+  HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 0);
336
+  HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
337
+  /* DMA1_Channel4_IRQn interrupt configuration */
338
+  HAL_NVIC_SetPriority(DMA1_Channel4_IRQn, 0, 0);
339
+  HAL_NVIC_EnableIRQ(DMA1_Channel4_IRQn);
340
+  /* DMA1_Channel5_IRQn interrupt configuration */
341
+  HAL_NVIC_SetPriority(DMA1_Channel5_IRQn, 0, 0);
342
+  HAL_NVIC_EnableIRQ(DMA1_Channel5_IRQn);
343
+}
344
+
345
+/**
346
+  * @brief ADC1 Initialization Function
347
+  * @param None
348
+  * @retval None
349
+  */
350
+static void MX_ADC1_Init(void)
351
+{
352
+
353
+  /* USER CODE BEGIN ADC1_Init 0 */
354
+
355
+  /* USER CODE END ADC1_Init 0 */
356
+
357
+  ADC_ChannelConfTypeDef sConfig = {0};
358
+
359
+  /* USER CODE BEGIN ADC1_Init 1 */
360
+
361
+  /* USER CODE END ADC1_Init 1 */
362
+  /** Common config 
363
+  */
364
+  hadc1.Instance = ADC1;
365
+  hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE;
366
+  hadc1.Init.ContinuousConvMode = ENABLE;
367
+  hadc1.Init.DiscontinuousConvMode = DISABLE;
368
+  hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
369
+  hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
370
+  hadc1.Init.NbrOfConversion = 14;
371
+  if (HAL_ADC_Init(&hadc1) != HAL_OK)
372
+  {
373
+    Error_Handler();
374
+  }
375
+  /** Configure Regular Channel 
376
+  */
377
+  sConfig.Channel = ADC_CHANNEL_0;
378
+  sConfig.Rank = ADC_REGULAR_RANK_1;
379
+  sConfig.SamplingTime = ADC_SAMPLETIME_1CYCLE_5;
380
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
381
+  {
382
+    Error_Handler();
383
+  }
384
+  /** Configure Regular Channel 
385
+  */
386
+  sConfig.Channel = ADC_CHANNEL_1;
387
+  sConfig.Rank = ADC_REGULAR_RANK_2;
388
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
389
+  {
390
+    Error_Handler();
391
+  }
392
+  /** Configure Regular Channel 
393
+  */
394
+  sConfig.Channel = ADC_CHANNEL_2;
395
+  sConfig.Rank = ADC_REGULAR_RANK_3;
396
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
397
+  {
398
+    Error_Handler();
399
+  }
400
+  /** Configure Regular Channel 
401
+  */
402
+  sConfig.Channel = ADC_CHANNEL_3;
403
+  sConfig.Rank = ADC_REGULAR_RANK_4;
404
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
405
+  {
406
+    Error_Handler();
407
+  }
408
+  /** Configure Regular Channel 
409
+  */
410
+  sConfig.Channel = ADC_CHANNEL_4;
411
+  sConfig.Rank = ADC_REGULAR_RANK_5;
412
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
413
+  {
414
+    Error_Handler();
415
+  }
416
+  /** Configure Regular Channel 
417
+  */
418
+  sConfig.Channel = ADC_CHANNEL_5;
419
+  sConfig.Rank = ADC_REGULAR_RANK_6;
420
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
421
+  {
422
+    Error_Handler();
423
+  }
424
+  /** Configure Regular Channel 
425
+  */
426
+  sConfig.Channel = ADC_CHANNEL_6;
427
+  sConfig.Rank = ADC_REGULAR_RANK_7;
428
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
429
+  {
430
+    Error_Handler();
431
+  }
432
+  /** Configure Regular Channel 
433
+  */
434
+  sConfig.Channel = ADC_CHANNEL_7;
435
+  sConfig.Rank = ADC_REGULAR_RANK_8;
436
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
437
+  {
438
+    Error_Handler();
439
+  }
440
+  /** Configure Regular Channel 
441
+  */
442
+  sConfig.Channel = ADC_CHANNEL_8;
443
+  sConfig.Rank = ADC_REGULAR_RANK_9;
444
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
445
+  {
446
+    Error_Handler();
447
+  }
448
+  /** Configure Regular Channel 
449
+  */
450
+  sConfig.Channel = ADC_CHANNEL_9;
451
+  sConfig.Rank = ADC_REGULAR_RANK_10;
452
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
453
+  {
454
+    Error_Handler();
455
+  }
456
+  /** Configure Regular Channel 
457
+  */
458
+  sConfig.Channel = ADC_CHANNEL_10;
459
+  sConfig.Rank = ADC_REGULAR_RANK_11;
460
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
461
+  {
462
+    Error_Handler();
463
+  }
464
+  /** Configure Regular Channel 
465
+  */
466
+  sConfig.Channel = ADC_CHANNEL_11;
467
+  sConfig.Rank = ADC_REGULAR_RANK_12;
468
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
469
+  {
470
+    Error_Handler();
471
+  }
472
+  /** Configure Regular Channel 
473
+  */
474
+  sConfig.Channel = ADC_CHANNEL_12;
475
+  sConfig.Rank = ADC_REGULAR_RANK_13;
476
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
477
+  {
478
+    Error_Handler();
479
+  }
480
+  /** Configure Regular Channel 
481
+  */
482
+  sConfig.Channel = ADC_CHANNEL_13;
483
+  sConfig.Rank = ADC_REGULAR_RANK_14;
484
+  if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
485
+  {
486
+    Error_Handler();
487
+  }
488
+  /* USER CODE BEGIN ADC1_Init 2 */
489
+
490
+  /* USER CODE END ADC1_Init 2 */
491
+
492
+}
493
+
494
+/**
495
+  * @brief TIM6 Initialization Function
496
+  * @param None
497
+  * @retval None
498
+  */
499
+static void MX_TIM6_Init(void)
500
+{
501
+
502
+  /* USER CODE BEGIN TIM6_Init 0 */
503
+
504
+  /* USER CODE END TIM6_Init 0 */
505
+
506
+  TIM_MasterConfigTypeDef sMasterConfig = {0};
507
+
508
+  /* USER CODE BEGIN TIM6_Init 1 */
509
+
510
+  /* USER CODE END TIM6_Init 1 */
511
+  htim6.Instance = TIM6;
512
+  htim6.Init.Prescaler = 6000-1;
513
+  htim6.Init.CounterMode = TIM_COUNTERMODE_UP;
514
+  htim6.Init.Period = 10;
515
+  htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
516
+  if (HAL_TIM_Base_Init(&htim6) != HAL_OK)
517
+  {
518
+    Error_Handler();
519
+  }
520
+  sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
521
+  sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
522
+  if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK)
523
+  {
524
+    Error_Handler();
525
+  }
526
+  /* USER CODE BEGIN TIM6_Init 2 */
527
+
528
+  /* USER CODE END TIM6_Init 2 */
529
+
530
+}
531
+
532
+/**
533
+  * @brief USART1 Initialization Function
534
+  * @param None
535
+  * @retval None
536
+  */
537
+static void MX_USART1_UART_Init(void)
538
+{
539
+
540
+  /* USER CODE BEGIN USART1_Init 0 */
541
+
542
+  /* USER CODE END USART1_Init 0 */
543
+
544
+  /* USER CODE BEGIN USART1_Init 1 */
545
+
546
+  /* USER CODE END USART1_Init 1 */
547
+  huart1.Instance = USART1;
548
+  huart1.Init.BaudRate = 115200;
549
+  huart1.Init.WordLength = UART_WORDLENGTH_8B;
550
+  huart1.Init.StopBits = UART_STOPBITS_1;
551
+  huart1.Init.Parity = UART_PARITY_NONE;
552
+  huart1.Init.Mode = UART_MODE_TX_RX;
553
+  huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
554
+  huart1.Init.OverSampling = UART_OVERSAMPLING_16;
555
+  if (HAL_UART_Init(&huart1) != HAL_OK)
556
+  {
557
+    Error_Handler();
558
+  }
559
+  /* USER CODE BEGIN USART1_Init 2 */
560
+
561
+  /* USER CODE END USART1_Init 2 */
562
+
563
+}
564
+
565
+/** 
566
+  * Enable DMA controller clock
567
+  */
568
+static void MX_DMA_Init(void) 
569
+{
570
+  /* DMA controller clock enable */
571
+  __HAL_RCC_DMA1_CLK_ENABLE();
572
+
573
+}
574
+
575
+/**
576
+  * @brief GPIO Initialization Function
577
+  * @param None
578
+  * @retval None
579
+  */
580
+static void MX_GPIO_Init(void)
581
+{
582
+  GPIO_InitTypeDef GPIO_InitStruct = {0};
583
+
584
+  /* GPIO Ports Clock Enable */
585
+  __HAL_RCC_GPIOE_CLK_ENABLE();
586
+  __HAL_RCC_GPIOC_CLK_ENABLE();
587
+  __HAL_RCC_GPIOF_CLK_ENABLE();
588
+  __HAL_RCC_GPIOA_CLK_ENABLE();
589
+  __HAL_RCC_GPIOB_CLK_ENABLE();
590
+  __HAL_RCC_GPIOD_CLK_ENABLE();
591
+  __HAL_RCC_GPIOG_CLK_ENABLE();
592
+
593
+  /*Configure GPIO pin Output Level */
594
+  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 
595
+                          |ATT_EN_1_8G_UL3_Pin|PATH_EN_2_1G_DL_Pin|PATH_EN_2_1G_UL_Pin, GPIO_PIN_RESET);
596
+
597
+  /*Configure GPIO pin Output Level */
598
+  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 
599
+                          |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);
600
+
601
+  /*Configure GPIO pin Output Level */
602
+  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 
603
+                          |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);
604
+
605
+  /*Configure GPIO pin Output Level */
606
+  HAL_GPIO_WritePin(GPIOD, PLL_DATA_Pin|PLL_CLK_Pin|ATT_DATA_Pin|ATT_CLK_Pin 
607
+                          |DA_LDAC_Pin|ATT_CLK_3_5G_Pin|ATT_EN_3_5G_Pin|ATT_DATA_3_5G_DL_Pin 
608
+                          |ATT_DATA_3_5G_UL_Pin|ATT_DATA_3_5G_COM1_Pin|ATT_DATA_3_5G_COM2_Pin|ATT_DATA_3_5G_COM3_Pin 
609
+                          |PATH_EN_3_5G_L_Pin, GPIO_PIN_RESET);
610
+
611
+  /*Configure GPIO pin Output Level */
612
+  HAL_GPIO_WritePin(GPIOG, DA_SYNC_Pin|DA_SCLK_Pin|DA_DIN_Pin|_T_SYNC_UL_Pin 
613
+                          |T_SYNC_UL_Pin|_T_SYNC_DL_Pin|T_SYNC_DL_Pin|PATH_EN_3_5G_H_Pin 
614
+                          |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 
615
+                          |BOOT_LED_Pin, GPIO_PIN_RESET);
616
+
617
+  /*Configure GPIO pin Output Level */
618
+  HAL_GPIO_WritePin(PLL_CLK_3_5G_GPIO_Port, PLL_CLK_3_5G_Pin, GPIO_PIN_RESET);
619
+
620
+  /*Configure GPIO pin Output Level */
621
+  HAL_GPIO_WritePin(GPIOB, PLL_EN_2_1G_DL_Pin|PLL_EN_2_1G_UL_Pin, GPIO_PIN_RESET);
622
+
623
+  /*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 
624
+                           ATT_EN_1_8G_UL3_Pin PATH_EN_2_1G_DL_Pin PATH_EN_2_1G_UL_Pin */
625
+  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 
626
+                          |ATT_EN_1_8G_UL3_Pin|PATH_EN_2_1G_DL_Pin|PATH_EN_2_1G_UL_Pin;
627
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
628
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
629
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
630
+  HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
631
+
632
+  /*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 
633
+                           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 */
634
+  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 
635
+                          |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;
636
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
637
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
638
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
639
+  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
640
+
641
+  /*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 
642
+                           ATT_EN_2_1G_UL1_Pin ATT_EN_2_1G_UL2_Pin ATT_EN_2_1G_UL3_Pin ATT_EN_2_1G_UL4_Pin */
643
+  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 
644
+                          |ATT_EN_2_1G_UL1_Pin|ATT_EN_2_1G_UL2_Pin|ATT_EN_2_1G_UL3_Pin|ATT_EN_2_1G_UL4_Pin;
645
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
646
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
647
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
648
+  HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
649
+
650
+  /*Configure GPIO pins : PLL_LD_1_8G_DL_Pin PLL_LD_1_8G_UL_Pin */
651
+  GPIO_InitStruct.Pin = PLL_LD_1_8G_DL_Pin|PLL_LD_1_8G_UL_Pin;
652
+  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
653
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
654
+  HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
655
+
656
+  /*Configure GPIO pins : PLL_DATA_Pin PLL_CLK_Pin ATT_DATA_Pin ATT_CLK_Pin 
657
+                           DA_LDAC_Pin ATT_CLK_3_5G_Pin ATT_EN_3_5G_Pin ATT_DATA_3_5G_DL_Pin 
658
+                           ATT_DATA_3_5G_UL_Pin ATT_DATA_3_5G_COM1_Pin ATT_DATA_3_5G_COM2_Pin ATT_DATA_3_5G_COM3_Pin 
659
+                           PATH_EN_3_5G_L_Pin */
660
+  GPIO_InitStruct.Pin = PLL_DATA_Pin|PLL_CLK_Pin|ATT_DATA_Pin|ATT_CLK_Pin 
661
+                          |DA_LDAC_Pin|ATT_CLK_3_5G_Pin|ATT_EN_3_5G_Pin|ATT_DATA_3_5G_DL_Pin 
662
+                          |ATT_DATA_3_5G_UL_Pin|ATT_DATA_3_5G_COM1_Pin|ATT_DATA_3_5G_COM2_Pin|ATT_DATA_3_5G_COM3_Pin 
663
+                          |PATH_EN_3_5G_L_Pin;
664
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
665
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
666
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
667
+  HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
668
+
669
+  /*Configure GPIO pins : ALARM_DC_Pin ALARM_AC_Pin */
670
+  GPIO_InitStruct.Pin = ALARM_DC_Pin|ALARM_AC_Pin;
671
+  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
672
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
673
+  HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
674
+
675
+  /*Configure GPIO pins : DA_SYNC_Pin DA_SCLK_Pin DA_DIN_Pin _T_SYNC_UL_Pin 
676
+                           T_SYNC_UL_Pin _T_SYNC_DL_Pin T_SYNC_DL_Pin PATH_EN_3_5G_H_Pin 
677
+                           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 
678
+                           BOOT_LED_Pin */
679
+  GPIO_InitStruct.Pin = DA_SYNC_Pin|DA_SCLK_Pin|DA_DIN_Pin|_T_SYNC_UL_Pin 
680
+                          |T_SYNC_UL_Pin|_T_SYNC_DL_Pin|T_SYNC_DL_Pin|PATH_EN_3_5G_H_Pin 
681
+                          |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 
682
+                          |BOOT_LED_Pin;
683
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
684
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
685
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
686
+  HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
687
+
688
+  /*Configure GPIO pins : PLL_LD_3_5G_L_Pin PLL_LD_3_5G_H_Pin */
689
+  GPIO_InitStruct.Pin = PLL_LD_3_5G_L_Pin|PLL_LD_3_5G_H_Pin;
690
+  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
691
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
692
+  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
693
+
694
+  /*Configure GPIO pin : PLL_CLK_3_5G_Pin */
695
+  GPIO_InitStruct.Pin = PLL_CLK_3_5G_Pin;
696
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
697
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
698
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
699
+  HAL_GPIO_Init(PLL_CLK_3_5G_GPIO_Port, &GPIO_InitStruct);
700
+
701
+  /*Configure GPIO pins : PLL_EN_2_1G_DL_Pin PLL_EN_2_1G_UL_Pin */
702
+  GPIO_InitStruct.Pin = PLL_EN_2_1G_DL_Pin|PLL_EN_2_1G_UL_Pin;
703
+  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
704
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
705
+  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
706
+  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
707
+
708
+  /*Configure GPIO pins : PLL_LD_2_1G_DL_Pin PLL_LD_2_1G_UL_Pin */
709
+  GPIO_InitStruct.Pin = PLL_LD_2_1G_DL_Pin|PLL_LD_2_1G_UL_Pin;
710
+  GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
711
+  GPIO_InitStruct.Pull = GPIO_NOPULL;
712
+  HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
713
+
714
+}
715
+
716
+/* USER CODE BEGIN 4 */
717
+
718
+/* USER CODE END 4 */
719
+
720
+/**
721
+  * @brief  This function is executed in case of error occurrence.
722
+  * @retval None
723
+  */
724
+void Error_Handler(void)
725
+{
726
+  /* USER CODE BEGIN Error_Handler_Debug */
727
+  /* User can add his own implementation to report the HAL error return state */
728
+
729
+  /* USER CODE END Error_Handler_Debug */
730
+}
731
+
732
+#ifdef  USE_FULL_ASSERT
733
+/**
734
+  * @brief  Reports the name of the source file and the source line number
735
+  *         where the assert_param error has occurred.
736
+  * @param  file: pointer to the source file name
737
+  * @param  line: assert_param error line source number
738
+  * @retval None
739
+  */
740
+void assert_failed(uint8_t *file, uint32_t line)
741
+{ 
742
+  /* USER CODE BEGIN 6 */
743
+  /* User can add his own implementation to report the file name and line number,
744
+     tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
745
+  /* USER CODE END 6 */
746
+}
747
+#endif /* USE_FULL_ASSERT */
748
+
749
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

+ 132 - 0
insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/zig_operate(2485).h

@@ -0,0 +1,132 @@
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
+}Bluecell_Prot_t;
26
+
27
+typedef enum{
28
+    INDEX_BLUE_HEADER = 0,
29
+    INDEX_BLUE_TYPE,
30
+    INDEX_BLUE_LENGTH,
31
+    INDEX_BLUE_CRCINDEX,
32
+    INDEX_ATT_1_8G_DL1 ,
33
+    INDEX_ATT_1_8G_DL2 ,
34
+    INDEX_ATT_1_8G_UL1 ,
35
+    INDEX_ATT_1_8G_UL2 ,
36
+    INDEX_ATT_1_8G_UL3 ,
37
+    INDEX_ATT_1_8G_UL4 , 
38
+    INDEX_ATT_2_1G_DL1  = 10,
39
+    INDEX_ATT_2_1G_DL2 ,
40
+    INDEX_ATT_2_1G_UL1 ,
41
+    INDEX_ATT_2_1G_UL2 ,
42
+    INDEX_ATT_2_1G_UL3 , 
43
+    INDEX_ATT_2_1G_UL4 ,
44
+    INDEX_ATT_3_5G_DL  ,
45
+    INDEX_ATT_3_5G_UL  ,
46
+    INDEX_ATT_3_5G_COM1,
47
+    INDEX_ATT_3_5G_COM2, 
48
+    INDEX_ATT_3_5G_COM3 = 20,
49
+    INDEX_PLL_1_8G_DL_H,
50
+    INDEX_PLL_1_8G_DL_L,
51
+    INDEX_PLL_1_8G_UL_H,
52
+    INDEX_PLL_1_8G_UL_L,
53
+    INDEX_PLL_2_1G_DL_H,
54
+    INDEX_PLL_2_1G_DL_L,
55
+    INDEX_PLL_2_1G_UL_H,
56
+    INDEX_PLL_2_1G_UL_L,
57
+    INDEX_PLL_3_5G_DL_H ,
58
+    INDEX_PLL_3_5G_DL_L = 30,
59
+    INDEX_PLL_3_5G_UL_H ,
60
+    INDEX_PLL_3_5G_UL_L ,
61
+    INDEX_PLL_LD_6_BIT  ,
62
+    INDEX_DET_1_8G_DL_IN_H  ,
63
+    INDEX_DET_1_8G_DL_IN_L  ,
64
+    INDEX_DET_1_8G_DL_OUT_H ,
65
+    INDEX_DET_1_8G_DL_OUT_L ,
66
+    INDEX_DET_1_8G_UL_IN_H  ,
67
+    INDEX_DET_1_8G_UL_IN_L  ,
68
+    INDEX_DET_1_8G_UL_OUT_H = 40,
69
+    INDEX_DET_1_8G_UL_OUT_L ,
70
+    INDEX_DET_2_1G_DL_IN_H  ,
71
+    INDEX_DET_2_1G_DL_IN_L  ,
72
+    INDEX_DET_2_1G_DL_OUT_H ,
73
+    INDEX_DET_2_1G_DL_OUT_L ,
74
+    INDEX_DET_2_1G_UL_IN_H  ,
75
+    INDEX_DET_2_1G_UL_IN_L  ,
76
+    INDEX_DET_2_1G_UL_OUT_H ,
77
+    INDEX_DET_2_1G_UL_OUT_L ,
78
+    INDEX_DET_3_5G_DL_IN_H  = 50,
79
+    INDEX_DET_3_5G_DL_IN_L  ,
80
+    INDEX_DET_3_5G_DL_OUT_H ,
81
+    INDEX_DET_3_5G_DL_OUT_L ,
82
+    INDEX_DET_3_5G_UL_IN_H  ,
83
+    INDEX_DET_3_5G_UL_IN_L  ,
84
+    INDEX_DET_3_5G_UL_OUT_H ,
85
+    INDEX_DET_3_5G_UL_OUT_L ,
86
+    INDEX_RFU_TEMP_H    ,
87
+    INDEX_RFU_TEMP_L    ,
88
+    INDEX__28V_DET_H    = 60,
89
+    INDEX__28V_DET_L    ,
90
+    INDEX_ALARM_AC      ,
91
+    INDEX_ALARM_DC      ,
92
+    INDEX_PATH_EN_1_8G_DL   ,
93
+    INDEX_PATH_EN_1_8G_UL   ,
94
+    INDEX_PATH_EN_2_1G_DL   ,
95
+    INDEX_PATH_EN_2_1G_UL   ,
96
+    INDEX_PATH_EN_3_5G_L,
97
+    INDEX_PATH_EN_3_5G_H,
98
+    INDEX_PATH_EN_3_5G_DL   =70,
99
+    INDEX_PATH_EN_3_5G_UL   ,
100
+    INDEX_PLL_ON_OFF_3_5G_H ,
101
+    INDEX_PLL_ON_OFF_3_5G_L ,
102
+    INDEX_T_SYNC_DL,
103
+    INDEX__T_SYNC_DL,
104
+    INDEX_T_SYNC_UL,
105
+    INDEX__T_SYNC_UL,    
106
+    INDEX_DAC_VCtrl_A_H,
107
+    INDEX_DAC_VCtrl_A_L,
108
+    INDEX_DAC_VCtrl_B_H = 80, 
109
+    INDEX_DAC_VCtrl_B_L,
110
+    INDEX_DAC_VCtrl_C_H,
111
+    INDEX_DAC_VCtrl_C_L,
112
+    INDEX_DAC_VCtrl_D_H,
113
+    INDEX_DAC_VCtrl_D_L,
114
+    INDEX_DAC_VCtrl_E_H,
115
+    INDEX_DAC_VCtrl_E_L,
116
+    INDEX_DAC_VCtrl_F_H,
117
+    INDEX_DAC_VCtrl_F_L,
118
+    INDEX_DAC_VCtrl_G_H = 90,
119
+    INDEX_DAC_VCtrl_G_L,
120
+    INDEX_DAC_VCtrl_H_H,
121
+    INDEX_DAC_VCtrl_H_L,   
122
+    INDEX_BLUE_CRC, 
123
+    INDEX_BLUE_EOF,//95
124
+}Bluecell_Prot_Index;
125
+uint8_t Prev_data[INDEX_BLUE_EOF + 1];
126
+uint8_t Flash_Save_data[INDEX_BLUE_EOF + 1];
127
+
128
+//extern PLL_Setting_st Pll_3_5_H;
129
+//extern PLL_Setting_st Pll_3_5_L;
130
+
131
+
132
+#endif /* ZIG_OPERATE_H_ */

+ 682 - 0
insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/zig_operate(6046).c

@@ -0,0 +1,682 @@
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
+#ifdef DEBUG_PRINT
198
+        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]));
199
+#endif /* DEBUG_PRINT */
200
+    }
201
+#ifdef DEBUG_PRINT
202
+    printf("CRC Result : \"%d\"   \r\n",ret);
203
+#endif /* DEBUG_PRINT */
204
+
205
+    return ret;
206
+
207
+}
208
+
209
+PLL_Setting_st Pll_3_5_H = {
210
+     PLL_CLK_3_5G_GPIO_Port,
211
+     PLL_CLK_3_5G_Pin,
212
+     PLL_DATA_3_5G_GPIO_Port,
213
+     PLL_DATA_3_5G_Pin,
214
+   PLL_EN_3_5G_H_GPIO_Port,    
215
+   PLL_EN_3_5G_H_Pin,
216
+ };
217
+ PLL_Setting_st Pll_3_5_L = {
218
+     PLL_CLK_3_5G_GPIO_Port,
219
+     PLL_CLK_3_5G_Pin,
220
+     PLL_DATA_3_5G_GPIO_Port,
221
+     PLL_DATA_3_5G_Pin,
222
+       PLL_EN_3_5G_L_GPIO_Port,    
223
+       PLL_EN_3_5G_L_Pin,
224
+ };
225
+void RF_Status_Get(void){
226
+//    printf("\r\nYJ2 : Prev_data[INDEX_DET_1_8G_DL_IN_L ] : %x\r\n",Prev_data[INDEX_DET_1_8G_DL_IN_L]);            
227
+    uint8_t data[10];
228
+    Prev_data[INDEX_BLUE_HEADER]   = BLUECELL_HEADER;
229
+    Prev_data[INDEX_BLUE_TYPE]     = TYPE_BLUECELL_GET;
230
+    Prev_data[INDEX_BLUE_LENGTH]   = INDEX_BLUE_EOF - 2;
231
+    Prev_data[INDEX_BLUE_CRCINDEX] = INDEX_BLUE_CRC;
232
+    Prev_data[INDEX_BLUE_CRC]      = STH30_CreateCrc(&Prev_data[Type], Prev_data[Length]);
233
+    Prev_data[INDEX_BLUE_EOF] = BLUECELL_TAILER;    
234
+    HAL_UART_Transmit_DMA(&huart1,&Prev_data[INDEX_BLUE_HEADER],INDEX_BLUE_EOF + 1); 
235
+//    printf("\r\nYJ : %x",ADCvalue[0]);
236
+//    printf("\r\n");
237
+
238
+}
239
+
240
+void RF_Operate(uint8_t* data_buf){
241
+    uint16_t temp_val = 0;
242
+    uint8_t  ADC_Modify = 0;
243
+    ADF4153_R_N_Reg_st temp_reg;
244
+//    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]);
245
+    if(Prev_data[INDEX_ATT_1_8G_DL1] != data_buf[INDEX_ATT_1_8G_DL1]){
246
+        
247
+#if 0 // PYJ.2019.07.31_BEGIN -- 
248
+        printf("\r\nLINE : %d  \r\n",__LINE__);    
249
+#endif // PYJ.2019.07.31_END -- 
250
+        BDA4601_atten_ctrl(BDA4601_1_8G_DL1,(data_buf[INDEX_ATT_1_8G_DL1]));
251
+        Prev_data[INDEX_ATT_1_8G_DL1] = data_buf[INDEX_ATT_1_8G_DL1];
252
+    }
253
+    if(Prev_data[INDEX_ATT_1_8G_DL2] != data_buf[INDEX_ATT_1_8G_DL2]){
254
+#ifdef DEBUG_PRINT
255
+        printf("\r\nLINE : %d  \r\n",__LINE__);    
256
+#endif /* DEBUG_PRINT */
257
+        BDA4601_atten_ctrl(BDA4601_1_8G_DL2,(data_buf[INDEX_ATT_1_8G_DL2]));
258
+        Prev_data[INDEX_ATT_1_8G_DL2] = data_buf[INDEX_ATT_1_8G_DL2];
259
+    }
260
+    if(Prev_data[INDEX_ATT_1_8G_UL1] != data_buf[INDEX_ATT_1_8G_UL1]){
261
+#ifdef DEBUG_PRINT
262
+        printf("\r\nLINE : %d  \r\n",__LINE__);    
263
+#endif /* DEBUG_PRINT */
264
+        BDA4601_atten_ctrl(BDA4601_1_8G_UL1,(data_buf[INDEX_ATT_1_8G_UL1]));
265
+        Prev_data[INDEX_ATT_1_8G_UL1] = data_buf[INDEX_ATT_1_8G_UL1];
266
+    }
267
+    if(Prev_data[INDEX_ATT_1_8G_UL2] != data_buf[INDEX_ATT_1_8G_UL2]){
268
+#ifdef DEBUG_PRINT
269
+        printf("\r\nLINE : %d  \r\n",__LINE__);    
270
+#endif /* DEBUG_PRINT */
271
+        BDA4601_atten_ctrl(BDA4601_1_8G_UL2,(data_buf[INDEX_ATT_1_8G_UL2]));
272
+        Prev_data[INDEX_ATT_1_8G_UL2] = data_buf[INDEX_ATT_1_8G_UL2];
273
+
274
+    }
275
+    if(Prev_data[INDEX_ATT_1_8G_UL3] != data_buf[INDEX_ATT_1_8G_UL3]){
276
+        BDA4601_atten_ctrl(BDA4601_1_8G_UL3,(data_buf[INDEX_ATT_1_8G_UL3]));
277
+        Prev_data[INDEX_ATT_1_8G_UL3] = data_buf[INDEX_ATT_1_8G_UL3];
278
+
279
+    }
280
+    if(Prev_data[INDEX_ATT_1_8G_UL4] != data_buf[INDEX_ATT_1_8G_UL4]){
281
+#ifdef DEBUG_PRINT
282
+        printf("\r\nLINE : %d  \r\n",__LINE__);    
283
+#endif /* DEBUG_PRINT */
284
+        BDA4601_atten_ctrl(BDA4601_1_8G_UL4,(data_buf[INDEX_ATT_1_8G_UL4]));
285
+        Prev_data[INDEX_ATT_1_8G_UL4] = data_buf[INDEX_ATT_1_8G_UL4];
286
+
287
+    }
288
+    if(Prev_data[INDEX_ATT_2_1G_DL1] != data_buf[INDEX_ATT_2_1G_DL1]){
289
+#ifdef DEBUG_PRINT
290
+        printf("\r\nLINE : %d  \r\n",__LINE__);    
291
+#endif /* DEBUG_PRINT */
292
+        BDA4601_atten_ctrl(BDA4601_2_1G_DL1,(data_buf[INDEX_ATT_2_1G_DL1]));
293
+        Prev_data[INDEX_ATT_2_1G_DL1] = data_buf[INDEX_ATT_2_1G_DL1];
294
+
295
+    }
296
+    if(Prev_data[INDEX_ATT_2_1G_DL2] != data_buf[INDEX_ATT_2_1G_DL2]){
297
+#ifdef DEBUG_PRINT
298
+        printf("\r\nLINE : %d  \r\n",__LINE__);    
299
+#endif /* DEBUG_PRINT */
300
+        BDA4601_atten_ctrl(BDA4601_2_1G_DL2,(data_buf[INDEX_ATT_2_1G_DL2]));
301
+        Prev_data[INDEX_ATT_2_1G_DL2] = data_buf[INDEX_ATT_2_1G_DL2];
302
+
303
+    }
304
+    if(Prev_data[INDEX_ATT_2_1G_UL1] != data_buf[INDEX_ATT_2_1G_UL1]){
305
+#ifdef DEBUG_PRINT
306
+        printf("\r\nLINE : %d  \r\n",__LINE__);    
307
+#endif /* DEBUG_PRINT */
308
+        BDA4601_atten_ctrl(BDA4601_2_1G_UL1,(data_buf[INDEX_ATT_2_1G_UL1]));
309
+        Prev_data[INDEX_ATT_2_1G_UL1] = data_buf[INDEX_ATT_2_1G_UL1];
310
+
311
+    }
312
+    if(Prev_data[INDEX_ATT_2_1G_UL2] != data_buf[INDEX_ATT_2_1G_UL2]){
313
+        BDA4601_atten_ctrl(BDA4601_2_1G_UL2,(data_buf[INDEX_ATT_2_1G_UL2]));
314
+        Prev_data[INDEX_ATT_2_1G_UL2] = data_buf[INDEX_ATT_2_1G_UL2];
315
+
316
+    }
317
+    if(Prev_data[INDEX_ATT_2_1G_UL3] != data_buf[INDEX_ATT_2_1G_UL3]){
318
+        BDA4601_atten_ctrl(BDA4601_2_1G_UL3,(data_buf[INDEX_ATT_2_1G_UL3]));
319
+        Prev_data[INDEX_ATT_2_1G_UL3] = data_buf[INDEX_ATT_2_1G_UL3];
320
+
321
+    }
322
+    if(Prev_data[INDEX_ATT_2_1G_UL4] != data_buf[INDEX_ATT_2_1G_UL4]){
323
+        BDA4601_atten_ctrl(BDA4601_2_1G_UL4,(data_buf[INDEX_ATT_2_1G_UL4]));
324
+        Prev_data[INDEX_ATT_2_1G_UL4] = data_buf[INDEX_ATT_2_1G_UL4];
325
+    }
326
+    if(   (Prev_data[INDEX_ATT_3_5G_DL] != data_buf[INDEX_ATT_3_5G_DL])
327
+        ||(Prev_data[INDEX_ATT_3_5G_UL] != data_buf[INDEX_ATT_3_5G_UL])
328
+        ||(Prev_data[INDEX_ATT_3_5G_COM1] != data_buf[INDEX_ATT_3_5G_COM1])
329
+        ||(Prev_data[INDEX_ATT_3_5G_COM2] != data_buf[INDEX_ATT_3_5G_COM2])
330
+        ||(Prev_data[INDEX_ATT_3_5G_COM3] != data_buf[INDEX_ATT_3_5G_COM3])
331
+    ){
332
+        ALL_ATT_3_5G.data0 = Prev_data[INDEX_ATT_3_5G_DL]   = data_buf[INDEX_ATT_3_5G_DL];
333
+        ALL_ATT_3_5G.data1 = Prev_data[INDEX_ATT_3_5G_UL]   = data_buf[INDEX_ATT_3_5G_UL];
334
+        ALL_ATT_3_5G.data2 = Prev_data[INDEX_ATT_3_5G_COM1] = data_buf[INDEX_ATT_3_5G_COM1];
335
+        ALL_ATT_3_5G.data3 = Prev_data[INDEX_ATT_3_5G_COM2] = data_buf[INDEX_ATT_3_5G_COM2];
336
+        ALL_ATT_3_5G.data4 = Prev_data[INDEX_ATT_3_5G_COM3] = data_buf[INDEX_ATT_3_5G_COM3];
337
+        PE43711_ALL_atten_ctrl(ALL_ATT_3_5G);
338
+    }
339
+
340
+    if((Prev_data[INDEX_PLL_1_8G_DL_H] != data_buf[INDEX_PLL_1_8G_DL_H])
341
+        && (Prev_data[INDEX_PLL_1_8G_DL_L] != data_buf[INDEX_PLL_1_8G_DL_L])
342
+    ){
343
+        Prev_data[INDEX_PLL_1_8G_DL_H] = data_buf[INDEX_PLL_1_8G_DL_H];
344
+        Prev_data[INDEX_PLL_1_8G_DL_L] = data_buf[INDEX_PLL_1_8G_DL_L];
345
+        temp_val = (data_buf[INDEX_PLL_1_8G_DL_H] << 8) | (data_buf[INDEX_PLL_1_8G_DL_L]);
346
+        ADF4113_Module_Ctrl(ADF4113_1_8G_DL,0x410,halSynSetFreq((temp_val * 1000000) / 10 ),0x9F8092);
347
+    }
348
+    if((Prev_data[INDEX_PLL_1_8G_UL_H] != data_buf[INDEX_PLL_1_8G_UL_H])
349
+        && (Prev_data[INDEX_PLL_1_8G_UL_L] != data_buf[INDEX_PLL_1_8G_UL_L])){
350
+        temp_val = (data_buf[INDEX_PLL_1_8G_UL_H] << 8) | (data_buf[INDEX_PLL_1_8G_UL_L]);
351
+        Prev_data[INDEX_PLL_1_8G_UL_H] = data_buf[INDEX_PLL_1_8G_UL_H];
352
+        Prev_data[INDEX_PLL_1_8G_UL_L] = data_buf[INDEX_PLL_1_8G_UL_L];
353
+        ADF4113_Module_Ctrl(ADF4113_1_8G_UL,0x410,halSynSetFreq((temp_val * 1000000) / 10),0x9F8092);
354
+    }
355
+    if((Prev_data[INDEX_PLL_2_1G_DL_H] != data_buf[INDEX_PLL_2_1G_DL_H])
356
+        && (Prev_data[INDEX_PLL_2_1G_DL_L] != data_buf[INDEX_PLL_2_1G_DL_L])){
357
+        temp_val = ((data_buf[INDEX_PLL_2_1G_DL_H] << 8) | (data_buf[INDEX_PLL_2_1G_DL_L]));
358
+        Prev_data[INDEX_PLL_2_1G_DL_H] = data_buf[INDEX_PLL_2_1G_DL_H];
359
+        Prev_data[INDEX_PLL_2_1G_DL_L] = data_buf[INDEX_PLL_2_1G_DL_L];        
360
+        ADF4113_Module_Ctrl(ADF4113_2_1G_DL,0x410,halSynSetFreq((temp_val * 1000000) / 10),0x9F8092);
361
+    }
362
+    if((Prev_data[INDEX_PLL_2_1G_UL_H] != data_buf[INDEX_PLL_2_1G_UL_H])
363
+        && (Prev_data[INDEX_PLL_2_1G_UL_L] != data_buf[INDEX_PLL_2_1G_UL_L])){
364
+        Prev_data[INDEX_PLL_2_1G_UL_H] = data_buf[INDEX_PLL_2_1G_UL_H];
365
+        Prev_data[INDEX_PLL_2_1G_UL_L] = data_buf[INDEX_PLL_2_1G_UL_L];          
366
+        temp_val = (data_buf[INDEX_PLL_2_1G_UL_H] << 8) | (data_buf[INDEX_PLL_2_1G_UL_L]);
367
+        ADF4113_Module_Ctrl(ADF4113_2_1G_UL,0x410,halSynSetFreq((temp_val * 1000000) / 10),0x9F8092);
368
+
369
+    }
370
+    if((Prev_data[INDEX_PLL_3_5G_DL_H] != data_buf[INDEX_PLL_3_5G_DL_H])
371
+        && (Prev_data[INDEX_PLL_3_5G_DL_L] != data_buf[INDEX_PLL_3_5G_DL_L])){
372
+        Prev_data[INDEX_PLL_3_5G_DL_H] = data_buf[INDEX_PLL_3_5G_DL_H];
373
+        Prev_data[INDEX_PLL_3_5G_DL_L] = data_buf[INDEX_PLL_3_5G_DL_L];
374
+        temp_val = (data_buf[INDEX_PLL_3_5G_DL_H] << 8) | (data_buf[INDEX_PLL_3_5G_DL_L]);
375
+        temp_reg = ADF4153_Freq_Calc(3934500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);
376
+        ADF4153_Module_Ctrl(Pll_3_5_L,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
377
+    }
378
+    if((Prev_data[INDEX_PLL_3_5G_UL_H] != data_buf[INDEX_PLL_3_5G_UL_H])
379
+        && (Prev_data[INDEX_PLL_3_5G_UL_L] != data_buf[INDEX_PLL_3_5G_UL_L])){
380
+        Prev_data[INDEX_PLL_3_5G_UL_H] = data_buf[INDEX_PLL_3_5G_UL_H];
381
+        Prev_data[INDEX_PLL_3_5G_UL_L] = data_buf[INDEX_PLL_3_5G_UL_L];
382
+        temp_val = (data_buf[INDEX_PLL_3_5G_UL_H] << 8) | (data_buf[INDEX_PLL_3_5G_UL_L]);
383
+        temp_reg = ADF4153_Freq_Calc(3465500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);
384
+        ADF4153_Module_Ctrl(Pll_3_5_H,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
385
+
386
+    }
387
+    if(Prev_data[INDEX_PLL_LD_6_BIT] != data_buf[INDEX_PLL_LD_6_BIT]){
388
+
389
+    }
390
+#if 0 // PYJ.2019.07.28_BEGIN -- 
391
+    if(Prev_data[INDEX_DET_1_8G_DL_IN_H] != data_buf[INDEX_DET_1_8G_DL_IN_H]){
392
+
393
+    }
394
+    if(Prev_data[INDEX_DET_1_8G_DL_IN_L] != data_buf[INDEX_DET_1_8G_DL_IN_L]){
395
+
396
+    }
397
+    if(Prev_data[INDEX_DET_1_8G_DL_OUT_H] != data_buf[INDEX_DET_1_8G_DL_OUT_H]){
398
+
399
+    }
400
+    if(Prev_data[INDEX_DET_1_8G_DL_OUT_L] != data_buf[INDEX_DET_1_8G_DL_OUT_L]){
401
+
402
+    }
403
+    if(Prev_data[INDEX_DET_1_8G_UL_IN_H] != data_buf[INDEX_DET_1_8G_UL_IN_H]){
404
+
405
+    }
406
+    if(Prev_data[INDEX_DET_1_8G_UL_IN_L] != data_buf[INDEX_DET_1_8G_UL_IN_L]){
407
+
408
+    }
409
+    if(Prev_data[INDEX_DET_1_8G_UL_OUT_H] != data_buf[INDEX_DET_1_8G_UL_OUT_H]){
410
+
411
+    }
412
+    if(Prev_data[INDEX_DET_1_8G_UL_OUT_L] != data_buf[INDEX_DET_1_8G_UL_OUT_L]){
413
+
414
+    }
415
+    if(Prev_data[INDEX_DET_2_1G_DL_IN_H] != data_buf[INDEX_DET_2_1G_DL_IN_H]){
416
+
417
+    }
418
+    if(Prev_data[INDEX_DET_2_1G_DL_IN_L] != data_buf[INDEX_DET_2_1G_DL_IN_L]){
419
+
420
+    }
421
+    if(Prev_data[INDEX_DET_2_1G_DL_OUT_H] != data_buf[INDEX_DET_2_1G_DL_OUT_H]){
422
+
423
+    }
424
+    if(Prev_data[INDEX_DET_2_1G_DL_OUT_L] != data_buf[INDEX_DET_2_1G_DL_OUT_L]){
425
+
426
+    }
427
+    if(Prev_data[INDEX_DET_2_1G_UL_IN_H] != data_buf[INDEX_DET_2_1G_UL_IN_H]){
428
+
429
+    }
430
+    if(Prev_data[INDEX_DET_2_1G_UL_IN_L] != data_buf[INDEX_DET_2_1G_UL_IN_L]){
431
+
432
+    }
433
+
434
+    if(Prev_data[INDEX_DET_2_1G_UL_OUT_H] != data_buf[INDEX_DET_2_1G_UL_OUT_H]){
435
+
436
+    }
437
+    if(Prev_data[INDEX_DET_2_1G_UL_OUT_L] != data_buf[INDEX_DET_2_1G_UL_OUT_L]){
438
+
439
+    }
440
+    if(Prev_data[INDEX_DET_3_5G_DL_IN_H] != data_buf[INDEX_DET_3_5G_DL_IN_H]){
441
+
442
+    }
443
+    if(Prev_data[INDEX_DET_3_5G_DL_IN_L] != data_buf[INDEX_DET_3_5G_DL_IN_L]){
444
+
445
+    }
446
+    if(Prev_data[INDEX_DET_3_5G_DL_OUT_L] != data_buf[INDEX_DET_3_5G_DL_OUT_L]){
447
+
448
+    }
449
+    if(Prev_data[INDEX_DET_3_5G_DL_OUT_H] != data_buf[INDEX_DET_3_5G_DL_OUT_H]){
450
+
451
+    }
452
+    if(Prev_data[INDEX_DET_3_5G_UL_IN_H] != data_buf[INDEX_DET_3_5G_UL_IN_H]){
453
+
454
+    }
455
+    if(Prev_data[INDEX_DET_3_5G_UL_IN_L] != data_buf[INDEX_DET_3_5G_UL_IN_L]){
456
+
457
+    }
458
+
459
+    if(Prev_data[INDEX_DET_3_5G_UL_OUT_H] != data_buf[INDEX_DET_3_5G_UL_OUT_H]){
460
+
461
+    }
462
+    if(Prev_data[INDEX_DET_3_5G_UL_OUT_L] != data_buf[INDEX_DET_3_5G_UL_OUT_L]){
463
+
464
+    }
465
+    if(Prev_data[INDEX_RFU_TEMP_H] != data_buf[INDEX_RFU_TEMP_H]){
466
+
467
+    }
468
+    if(Prev_data[INDEX_RFU_TEMP_L] != data_buf[INDEX_RFU_TEMP_L]){
469
+
470
+    }
471
+    if(Prev_data[INDEX__28V_DET_H] != data_buf[INDEX__28V_DET_H]){
472
+
473
+    }
474
+    if(Prev_data[INDEX__28V_DET_L] != data_buf[INDEX__28V_DET_L]){
475
+
476
+    }
477
+#endif // PYJ.2019.07.28_END -- 
478
+    if(Prev_data[INDEX_ALARM_AC] != data_buf[INDEX_ALARM_AC]){
479
+
480
+    }
481
+    if(Prev_data[INDEX_ALARM_DC] != data_buf[INDEX_ALARM_DC]){
482
+
483
+    }
484
+    if(Prev_data[INDEX_PATH_EN_1_8G_DL] != data_buf[INDEX_PATH_EN_1_8G_DL]){
485
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_1_8G_DL,data_buf[INDEX_PATH_EN_1_8G_DL]);
486
+        Prev_data[INDEX_PATH_EN_1_8G_DL] = data_buf[INDEX_PATH_EN_1_8G_DL];
487
+    }
488
+    if(Prev_data[INDEX_PATH_EN_1_8G_UL] != data_buf[INDEX_PATH_EN_1_8G_UL]){
489
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_1_8G_UL,data_buf[INDEX_PATH_EN_1_8G_UL]);
490
+        Prev_data[INDEX_PATH_EN_1_8G_UL] = data_buf[INDEX_PATH_EN_1_8G_UL];
491
+
492
+    }
493
+
494
+    if(Prev_data[INDEX_PATH_EN_2_1G_DL] != data_buf[INDEX_PATH_EN_2_1G_DL]){
495
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_2_1G_DL,data_buf[INDEX_PATH_EN_2_1G_DL]);
496
+        Prev_data[INDEX_PATH_EN_2_1G_DL] = data_buf[INDEX_PATH_EN_2_1G_DL];
497
+
498
+    }
499
+    if(Prev_data[INDEX_PATH_EN_2_1G_UL] != data_buf[INDEX_PATH_EN_2_1G_UL]){
500
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_2_1G_UL,data_buf[INDEX_PATH_EN_2_1G_UL]);
501
+        Prev_data[INDEX_PATH_EN_2_1G_UL] = data_buf[INDEX_PATH_EN_2_1G_UL];
502
+
503
+    }
504
+    if(Prev_data[INDEX_PATH_EN_3_5G_L] != data_buf[INDEX_PATH_EN_3_5G_L]){
505
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_3_5G_L,data_buf[INDEX_PATH_EN_3_5G_L]);
506
+        Prev_data[INDEX_PATH_EN_3_5G_L] = data_buf[INDEX_PATH_EN_3_5G_L];
507
+
508
+    }
509
+    if(Prev_data[INDEX_PATH_EN_3_5G_H] != data_buf[INDEX_PATH_EN_3_5G_H]){
510
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_3_5G_H,data_buf[INDEX_PATH_EN_3_5G_H]);
511
+        Prev_data[INDEX_PATH_EN_3_5G_H] = data_buf[INDEX_PATH_EN_3_5G_H];
512
+
513
+    }
514
+    if(Prev_data[INDEX_PATH_EN_3_5G_DL] != data_buf[INDEX_PATH_EN_3_5G_DL]){
515
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_3_5G_DL,data_buf[INDEX_PATH_EN_3_5G_DL]);
516
+        Prev_data[INDEX_PATH_EN_3_5G_DL] = data_buf[INDEX_PATH_EN_3_5G_DL];
517
+
518
+    }
519
+    if(Prev_data[INDEX_PATH_EN_3_5G_UL] != data_buf[INDEX_PATH_EN_3_5G_UL]){
520
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_3_5G_UL,data_buf[INDEX_PATH_EN_3_5G_UL]);
521
+        Prev_data[INDEX_PATH_EN_3_5G_UL] = data_buf[INDEX_PATH_EN_3_5G_UL];
522
+
523
+    }
524
+    if(Prev_data[INDEX_PLL_ON_OFF_3_5G_H] != data_buf[INDEX_PLL_ON_OFF_3_5G_H]){
525
+        Power_ON_OFF_Ctrl(INDEX_PLL_ON_OFF_3_5G_H,data_buf[INDEX_PLL_ON_OFF_3_5G_H]);
526
+        Prev_data[INDEX_PLL_ON_OFF_3_5G_H] = data_buf[INDEX_PLL_ON_OFF_3_5G_H];
527
+        HAL_Delay(10);
528
+        printf("POWER : %d \r\n",Prev_data[INDEX_PLL_ON_OFF_3_5G_H]);
529
+        if(data_buf[INDEX_PLL_ON_OFF_3_5G_H]){
530
+            printf("PLL CTRL START !! \r\n");
531
+//            ADF4153_Init();
532
+            temp_reg = ADF4153_Freq_Calc(3934500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);
533
+            ADF4153_Module_Ctrl(Pll_3_5_H,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
534
+        }
535
+    }
536
+    if(Prev_data[INDEX_PLL_ON_OFF_3_5G_L] != data_buf[INDEX_PLL_ON_OFF_3_5G_L]){
537
+        Power_ON_OFF_Ctrl(INDEX_PLL_ON_OFF_3_5G_L,data_buf[INDEX_PLL_ON_OFF_3_5G_L]);
538
+        Prev_data[INDEX_PLL_ON_OFF_3_5G_L] = data_buf[INDEX_PLL_ON_OFF_3_5G_L];
539
+        HAL_Delay(10);
540
+        printf("POWER : %d \r\n",Prev_data[INDEX_PLL_ON_OFF_3_5G_L]);        
541
+        if(data_buf[INDEX_PLL_ON_OFF_3_5G_L]){
542
+            printf("PLL CTRL START !! \r\n");
543
+            temp_reg = ADF4153_Freq_Calc(3465500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);            
544
+            ADF4153_Module_Ctrl(Pll_3_5_L,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
545
+        }
546
+    }
547
+
548
+    if(Prev_data[INDEX_T_SYNC_DL] != data_buf[INDEX_T_SYNC_DL]){
549
+        Prev_data[INDEX_T_SYNC_DL] = data_buf[INDEX_T_SYNC_DL];
550
+        Power_ON_OFF_Ctrl(INDEX_T_SYNC_DL,data_buf[INDEX_T_SYNC_DL]);
551
+    }
552
+    if(Prev_data[INDEX__T_SYNC_DL] != data_buf[INDEX__T_SYNC_DL]){
553
+        Prev_data[INDEX__T_SYNC_DL] = data_buf[INDEX__T_SYNC_DL];
554
+        Power_ON_OFF_Ctrl(INDEX__T_SYNC_DL,data_buf[INDEX__T_SYNC_DL]);
555
+    }
556
+    if(Prev_data[INDEX_T_SYNC_UL] != data_buf[INDEX_T_SYNC_UL]){
557
+        Prev_data[INDEX_T_SYNC_UL] = data_buf[INDEX_T_SYNC_UL];
558
+        Power_ON_OFF_Ctrl(INDEX_T_SYNC_UL,data_buf[INDEX_T_SYNC_UL]);
559
+    }
560
+    if(Prev_data[INDEX__T_SYNC_UL] != data_buf[INDEX__T_SYNC_UL]){
561
+        Prev_data[INDEX__T_SYNC_UL] = data_buf[INDEX__T_SYNC_UL];
562
+        Power_ON_OFF_Ctrl(INDEX__T_SYNC_UL,data_buf[INDEX__T_SYNC_UL]);
563
+    }
564
+
565
+
566
+    if((Prev_data[INDEX_DAC_VCtrl_A_H] != data_buf[INDEX_DAC_VCtrl_A_H])
567
+        ||(Prev_data[INDEX_DAC_VCtrl_A_L] != data_buf[INDEX_DAC_VCtrl_A_L])){
568
+        ADC_Modify = 1;
569
+
570
+        Prev_data[INDEX_DAC_VCtrl_A_H] = data_buf[INDEX_DAC_VCtrl_A_H];
571
+        Prev_data[INDEX_DAC_VCtrl_A_L] = data_buf[INDEX_DAC_VCtrl_A_L];
572
+    }
573
+    if((Prev_data[INDEX_DAC_VCtrl_B_H] != data_buf[INDEX_DAC_VCtrl_B_H])
574
+        ||(Prev_data[INDEX_DAC_VCtrl_B_L] != data_buf[INDEX_DAC_VCtrl_B_L])){
575
+        ADC_Modify = 1;
576
+        
577
+        Prev_data[INDEX_DAC_VCtrl_B_H] = data_buf[INDEX_DAC_VCtrl_B_H];
578
+        Prev_data[INDEX_DAC_VCtrl_B_L] = data_buf[INDEX_DAC_VCtrl_B_L];        
579
+    }    
580
+    if((Prev_data[INDEX_DAC_VCtrl_C_H] != data_buf[INDEX_DAC_VCtrl_C_H])
581
+        ||(Prev_data[INDEX_DAC_VCtrl_C_L] != data_buf[INDEX_DAC_VCtrl_C_L])){
582
+        ADC_Modify = 1;
583
+
584
+        Prev_data[INDEX_DAC_VCtrl_C_H] = data_buf[INDEX_DAC_VCtrl_C_H];
585
+        Prev_data[INDEX_DAC_VCtrl_C_L] = data_buf[INDEX_DAC_VCtrl_C_L];        
586
+    }
587
+    if((Prev_data[INDEX_DAC_VCtrl_D_H] != data_buf[INDEX_DAC_VCtrl_D_H])
588
+        ||(Prev_data[INDEX_DAC_VCtrl_D_L] != data_buf[INDEX_DAC_VCtrl_D_L])){
589
+        ADC_Modify = 1;
590
+        Prev_data[INDEX_DAC_VCtrl_D_H] = data_buf[INDEX_DAC_VCtrl_D_H];
591
+        Prev_data[INDEX_DAC_VCtrl_D_L] = data_buf[INDEX_DAC_VCtrl_D_L];
592
+    }
593
+    if((Prev_data[INDEX_DAC_VCtrl_E_H] != data_buf[INDEX_DAC_VCtrl_E_H])
594
+        ||(Prev_data[INDEX_DAC_VCtrl_E_L] != data_buf[INDEX_DAC_VCtrl_E_L])){
595
+        ADC_Modify = 1;
596
+
597
+        Prev_data[INDEX_DAC_VCtrl_E_H] = data_buf[INDEX_DAC_VCtrl_E_H];
598
+        Prev_data[INDEX_DAC_VCtrl_E_L] = data_buf[INDEX_DAC_VCtrl_E_L];        
599
+    }
600
+    if((Prev_data[INDEX_DAC_VCtrl_F_H] != data_buf[INDEX_DAC_VCtrl_F_H])
601
+        ||(Prev_data[INDEX_DAC_VCtrl_F_L] != data_buf[INDEX_DAC_VCtrl_F_L])){
602
+        ADC_Modify = 1;
603
+        Prev_data[INDEX_DAC_VCtrl_F_H] = data_buf[INDEX_DAC_VCtrl_F_H];
604
+        Prev_data[INDEX_DAC_VCtrl_F_L] = data_buf[INDEX_DAC_VCtrl_F_L];        
605
+    }
606
+    if((Prev_data[INDEX_DAC_VCtrl_G_H] != data_buf[INDEX_DAC_VCtrl_G_H])
607
+        ||(Prev_data[INDEX_DAC_VCtrl_G_L] != data_buf[INDEX_DAC_VCtrl_G_L])){
608
+        ADC_Modify = 1;
609
+        Prev_data[INDEX_DAC_VCtrl_G_H] = data_buf[INDEX_DAC_VCtrl_G_H];
610
+        Prev_data[INDEX_DAC_VCtrl_G_L] = data_buf[INDEX_DAC_VCtrl_G_L];        
611
+    }    
612
+    if((Prev_data[INDEX_DAC_VCtrl_H_H] != data_buf[INDEX_DAC_VCtrl_H_H])
613
+        ||(Prev_data[INDEX_DAC_VCtrl_H_L] != data_buf[INDEX_DAC_VCtrl_H_L])){
614
+        ADC_Modify = 1;
615
+        Prev_data[INDEX_DAC_VCtrl_H_H] = data_buf[INDEX_DAC_VCtrl_H_H];
616
+        Prev_data[INDEX_DAC_VCtrl_H_L] = data_buf[INDEX_DAC_VCtrl_H_L];        
617
+    }
618
+    if(ADC_Modify){
619
+//        SubmitDAC(0xF000);
620
+//        HAL_Delay(1);
621
+//        SubmitDAC(0x800C);
622
+//        SubmitDAC(0xA000);
623
+        SubmitDAC((Prev_data[INDEX_DAC_VCtrl_A_H] << 8 | Prev_data[INDEX_DAC_VCtrl_A_L]) );    
624
+        SubmitDAC((Prev_data[INDEX_DAC_VCtrl_B_H] << 8 | Prev_data[INDEX_DAC_VCtrl_B_L]));    
625
+//        SubmitDAC(0x2FFF );
626
+        SubmitDAC((Prev_data[INDEX_DAC_VCtrl_C_H] << 8 | Prev_data[INDEX_DAC_VCtrl_C_L]));
627
+        SubmitDAC((Prev_data[INDEX_DAC_VCtrl_D_H] << 8 | Prev_data[INDEX_DAC_VCtrl_D_L]));
628
+        SubmitDAC((Prev_data[INDEX_DAC_VCtrl_E_H] << 8 | Prev_data[INDEX_DAC_VCtrl_E_L]));    
629
+        SubmitDAC((Prev_data[INDEX_DAC_VCtrl_F_H] << 8 | Prev_data[INDEX_DAC_VCtrl_F_L]));
630
+        SubmitDAC((Prev_data[INDEX_DAC_VCtrl_G_H] << 8 | Prev_data[INDEX_DAC_VCtrl_G_L]));
631
+        SubmitDAC((Prev_data[INDEX_DAC_VCtrl_H_H] << 8 | Prev_data[INDEX_DAC_VCtrl_H_L]));
632
+    }
633
+    
634
+}
635
+
636
+
637
+bool RF_Ctrl_Main(uint8_t* data_buf){
638
+    bool ret = false;
639
+    Bluecell_Prot_t type = data_buf[Type];
640
+    ret = RF_Data_Check(&data_buf[Header]); /* ERROR CHECK */
641
+    if(ret == false){
642
+        HAL_UART_Transmit(&huart1,&data_buf[INDEX_BLUE_HEADER],data_buf[INDEX_BLUE_LENGTH] + 2 + 1,3000); 
643
+        return ret;
644
+    }
645
+    
646
+    switch(type){
647
+    case TYPE_BLUECELL_RESET:
648
+        for(uint8_t i =0 ; i < data_buf[Length] + 6; i++)
649
+            printf("%02x ",data_buf[i]);
650
+        printf("Reset Start \r\n");
651
+        NVIC_SystemReset();
652
+        break;
653
+    case TYPE_BLUECELL_SET:
654
+#if 0 // PYJ.2019.07.31_BEGIN -- 
655
+    printf("TYPE_BLUECELL_SET : ");
656
+    for(uint8_t i =0 ; i < INDEX_BLUE_EOF + 1; i++)
657
+        printf("%02x ",data_buf[i]);
658
+#endif // PYJ.2019.07.31_END -- 
659
+        RF_Operate(&data_buf[Header]);
660
+        
661
+
662
+//        ADF4153_Freq_Calc(3465500000,40000000,2,5000);
663
+//        ADF4153_Freq_Calc(3993450000,40000000,2,5000);
664
+//        halSynSetFreq(1995000000);
665
+//        halSynSetFreq(1600000000);
666
+//        halSynSetFreq(1455000000);        
667
+        break;
668
+    case TYPE_BLUECELL_GET:
669
+        printf("\r\nTYPE_BLUECELL_GET : \r\n");
670
+        RF_Status_Get();
671
+        break;
672
+    case TYPE_BLUECELL_SAVE:
673
+        Bluecell_Flash_Write(&Prev_data[INDEX_BLUE_HEADER]);
674
+        break;
675
+        default:
676
+#ifdef DEBUG_PRINT // PYJ.2019.07.27_BEGIN --         
677
+            printf("Function : %s   LINE : %d    type : %d \r\n",__func__,__LINE__,type);
678
+#endif
679
+            break;
680
+    }
681
+    return ret;
682
+}

+ 681 - 0
insight/STM32F103_ATTEN_PLL_Zig.si4project/Backup/zig_operate(6248).c

@@ -0,0 +1,681 @@
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
+#ifdef DEBUG_PRINT
198
+        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]));
199
+#endif /* DEBUG_PRINT */
200
+    }
201
+#ifdef DEBUG_PRINT
202
+    printf("CRC Result : \"%d\"   \r\n",ret);
203
+#endif /* DEBUG_PRINT */
204
+
205
+    return ret;
206
+
207
+}
208
+
209
+PLL_Setting_st Pll_3_5_H = {
210
+     PLL_CLK_3_5G_GPIO_Port,
211
+     PLL_CLK_3_5G_Pin,
212
+     PLL_DATA_3_5G_GPIO_Port,
213
+     PLL_DATA_3_5G_Pin,
214
+   PLL_EN_3_5G_H_GPIO_Port,    
215
+   PLL_EN_3_5G_H_Pin,
216
+ };
217
+ PLL_Setting_st Pll_3_5_L = {
218
+     PLL_CLK_3_5G_GPIO_Port,
219
+     PLL_CLK_3_5G_Pin,
220
+     PLL_DATA_3_5G_GPIO_Port,
221
+     PLL_DATA_3_5G_Pin,
222
+       PLL_EN_3_5G_L_GPIO_Port,    
223
+       PLL_EN_3_5G_L_Pin,
224
+ };
225
+void RF_Status_Get(void){
226
+//    printf("\r\nYJ2 : Prev_data[INDEX_DET_1_8G_DL_IN_L ] : %x\r\n",Prev_data[INDEX_DET_1_8G_DL_IN_L]);            
227
+    uint8_t data[10];
228
+    Prev_data[INDEX_BLUE_HEADER]   = BLUECELL_HEADER;
229
+    Prev_data[INDEX_BLUE_TYPE]     = TYPE_BLUECELL_GET;
230
+    Prev_data[INDEX_BLUE_LENGTH]   = INDEX_BLUE_EOF - 2;
231
+    Prev_data[INDEX_BLUE_CRCINDEX] = INDEX_BLUE_CRC;
232
+    Prev_data[INDEX_BLUE_CRC]      = STH30_CreateCrc(&Prev_data[Type], Prev_data[Length]);
233
+    Prev_data[INDEX_BLUE_EOF] = BLUECELL_TAILER;    
234
+    HAL_UART_Transmit_DMA(&huart1,&Prev_data[INDEX_BLUE_HEADER],INDEX_BLUE_EOF + 1); 
235
+//    printf("\r\nYJ : %x",ADCvalue[0]);
236
+//    printf("\r\n");
237
+
238
+}
239
+
240
+void RF_Operate(uint8_t* data_buf){
241
+    uint16_t temp_val = 0;
242
+    uint8_t  ADC_Modify = 0;
243
+    ADF4153_R_N_Reg_st temp_reg;
244
+//    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]);
245
+    if(Prev_data[INDEX_ATT_1_8G_DL1] != data_buf[INDEX_ATT_1_8G_DL1]){
246
+        
247
+#if 0 // PYJ.2019.07.31_BEGIN -- 
248
+        printf("\r\nLINE : %d  \r\n",__LINE__);    
249
+#endif // PYJ.2019.07.31_END -- 
250
+        BDA4601_atten_ctrl(BDA4601_1_8G_DL1,(data_buf[INDEX_ATT_1_8G_DL1]));
251
+        Prev_data[INDEX_ATT_1_8G_DL1] = data_buf[INDEX_ATT_1_8G_DL1];
252
+    }
253
+    if(Prev_data[INDEX_ATT_1_8G_DL2] != data_buf[INDEX_ATT_1_8G_DL2]){
254
+#ifdef DEBUG_PRINT
255
+        printf("\r\nLINE : %d  \r\n",__LINE__);    
256
+#endif /* DEBUG_PRINT */
257
+        BDA4601_atten_ctrl(BDA4601_1_8G_DL2,(data_buf[INDEX_ATT_1_8G_DL2]));
258
+        Prev_data[INDEX_ATT_1_8G_DL2] = data_buf[INDEX_ATT_1_8G_DL2];
259
+    }
260
+    if(Prev_data[INDEX_ATT_1_8G_UL1] != data_buf[INDEX_ATT_1_8G_UL1]){
261
+#ifdef DEBUG_PRINT
262
+        printf("\r\nLINE : %d  \r\n",__LINE__);    
263
+#endif /* DEBUG_PRINT */
264
+        BDA4601_atten_ctrl(BDA4601_1_8G_UL1,(data_buf[INDEX_ATT_1_8G_UL1]));
265
+        Prev_data[INDEX_ATT_1_8G_UL1] = data_buf[INDEX_ATT_1_8G_UL1];
266
+    }
267
+    if(Prev_data[INDEX_ATT_1_8G_UL2] != data_buf[INDEX_ATT_1_8G_UL2]){
268
+#ifdef DEBUG_PRINT
269
+        printf("\r\nLINE : %d  \r\n",__LINE__);    
270
+#endif /* DEBUG_PRINT */
271
+        BDA4601_atten_ctrl(BDA4601_1_8G_UL2,(data_buf[INDEX_ATT_1_8G_UL2]));
272
+        Prev_data[INDEX_ATT_1_8G_UL2] = data_buf[INDEX_ATT_1_8G_UL2];
273
+
274
+    }
275
+    if(Prev_data[INDEX_ATT_1_8G_UL3] != data_buf[INDEX_ATT_1_8G_UL3]){
276
+        BDA4601_atten_ctrl(BDA4601_1_8G_UL3,(data_buf[INDEX_ATT_1_8G_UL3]));
277
+        Prev_data[INDEX_ATT_1_8G_UL3] = data_buf[INDEX_ATT_1_8G_UL3];
278
+
279
+    }
280
+    if(Prev_data[INDEX_ATT_1_8G_UL4] != data_buf[INDEX_ATT_1_8G_UL4]){
281
+#ifdef DEBUG_PRINT
282
+        printf("\r\nLINE : %d  \r\n",__LINE__);    
283
+#endif /* DEBUG_PRINT */
284
+        BDA4601_atten_ctrl(BDA4601_1_8G_UL4,(data_buf[INDEX_ATT_1_8G_UL4]));
285
+        Prev_data[INDEX_ATT_1_8G_UL4] = data_buf[INDEX_ATT_1_8G_UL4];
286
+
287
+    }
288
+    if(Prev_data[INDEX_ATT_2_1G_DL1] != data_buf[INDEX_ATT_2_1G_DL1]){
289
+#ifdef DEBUG_PRINT
290
+        printf("\r\nLINE : %d  \r\n",__LINE__);    
291
+#endif /* DEBUG_PRINT */
292
+        BDA4601_atten_ctrl(BDA4601_2_1G_DL1,(data_buf[INDEX_ATT_2_1G_DL1]));
293
+        Prev_data[INDEX_ATT_2_1G_DL1] = data_buf[INDEX_ATT_2_1G_DL1];
294
+
295
+    }
296
+    if(Prev_data[INDEX_ATT_2_1G_DL2] != data_buf[INDEX_ATT_2_1G_DL2]){
297
+#ifdef DEBUG_PRINT
298
+        printf("\r\nLINE : %d  \r\n",__LINE__);    
299
+#endif /* DEBUG_PRINT */
300
+        BDA4601_atten_ctrl(BDA4601_2_1G_DL2,(data_buf[INDEX_ATT_2_1G_DL2]));
301
+        Prev_data[INDEX_ATT_2_1G_DL2] = data_buf[INDEX_ATT_2_1G_DL2];
302
+
303
+    }
304
+    if(Prev_data[INDEX_ATT_2_1G_UL1] != data_buf[INDEX_ATT_2_1G_UL1]){
305
+#ifdef DEBUG_PRINT
306
+        printf("\r\nLINE : %d  \r\n",__LINE__);    
307
+#endif /* DEBUG_PRINT */
308
+        BDA4601_atten_ctrl(BDA4601_2_1G_UL1,(data_buf[INDEX_ATT_2_1G_UL1]));
309
+        Prev_data[INDEX_ATT_2_1G_UL1] = data_buf[INDEX_ATT_2_1G_UL1];
310
+
311
+    }
312
+    if(Prev_data[INDEX_ATT_2_1G_UL2] != data_buf[INDEX_ATT_2_1G_UL2]){
313
+        BDA4601_atten_ctrl(BDA4601_2_1G_UL2,(data_buf[INDEX_ATT_2_1G_UL2]));
314
+        Prev_data[INDEX_ATT_2_1G_UL2] = data_buf[INDEX_ATT_2_1G_UL2];
315
+
316
+    }
317
+    if(Prev_data[INDEX_ATT_2_1G_UL3] != data_buf[INDEX_ATT_2_1G_UL3]){
318
+        BDA4601_atten_ctrl(BDA4601_2_1G_UL3,(data_buf[INDEX_ATT_2_1G_UL3]));
319
+        Prev_data[INDEX_ATT_2_1G_UL3] = data_buf[INDEX_ATT_2_1G_UL3];
320
+
321
+    }
322
+    if(Prev_data[INDEX_ATT_2_1G_UL4] != data_buf[INDEX_ATT_2_1G_UL4]){
323
+        BDA4601_atten_ctrl(BDA4601_2_1G_UL4,(data_buf[INDEX_ATT_2_1G_UL4]));
324
+        Prev_data[INDEX_ATT_2_1G_UL4] = data_buf[INDEX_ATT_2_1G_UL4];
325
+    }
326
+    if(   (Prev_data[INDEX_ATT_3_5G_DL] != data_buf[INDEX_ATT_3_5G_DL])
327
+        ||(Prev_data[INDEX_ATT_3_5G_UL] != data_buf[INDEX_ATT_3_5G_UL])
328
+        ||(Prev_data[INDEX_ATT_3_5G_COM1] != data_buf[INDEX_ATT_3_5G_COM1])
329
+        ||(Prev_data[INDEX_ATT_3_5G_COM2] != data_buf[INDEX_ATT_3_5G_COM2])
330
+        ||(Prev_data[INDEX_ATT_3_5G_COM3] != data_buf[INDEX_ATT_3_5G_COM3])
331
+    ){
332
+        ALL_ATT_3_5G.data0 = Prev_data[INDEX_ATT_3_5G_DL]   = data_buf[INDEX_ATT_3_5G_DL];
333
+        ALL_ATT_3_5G.data1 = Prev_data[INDEX_ATT_3_5G_UL]   = data_buf[INDEX_ATT_3_5G_UL];
334
+        ALL_ATT_3_5G.data2 = Prev_data[INDEX_ATT_3_5G_COM1] = data_buf[INDEX_ATT_3_5G_COM1];
335
+        ALL_ATT_3_5G.data3 = Prev_data[INDEX_ATT_3_5G_COM2] = data_buf[INDEX_ATT_3_5G_COM2];
336
+        ALL_ATT_3_5G.data4 = Prev_data[INDEX_ATT_3_5G_COM3] = data_buf[INDEX_ATT_3_5G_COM3];
337
+        PE43711_ALL_atten_ctrl(ALL_ATT_3_5G);
338
+    }
339
+    if((Prev_data[INDEX_PLL_1_8G_DL_H] != data_buf[INDEX_PLL_1_8G_DL_H])
340
+        && (Prev_data[INDEX_PLL_1_8G_DL_L] != data_buf[INDEX_PLL_1_8G_DL_L])
341
+    ){
342
+        Prev_data[INDEX_PLL_1_8G_DL_H] = data_buf[INDEX_PLL_1_8G_DL_H];
343
+        Prev_data[INDEX_PLL_1_8G_DL_L] = data_buf[INDEX_PLL_1_8G_DL_L];
344
+        temp_val = (data_buf[INDEX_PLL_1_8G_DL_H] << 8) | (data_buf[INDEX_PLL_1_8G_DL_L]);
345
+        ADF4113_Module_Ctrl(ADF4113_1_8G_DL,0x410,halSynSetFreq((temp_val * 1000000) / 10 ),0x9F8092);
346
+    }
347
+    if((Prev_data[INDEX_PLL_1_8G_UL_H] != data_buf[INDEX_PLL_1_8G_UL_H])
348
+        && (Prev_data[INDEX_PLL_1_8G_UL_L] != data_buf[INDEX_PLL_1_8G_UL_L])){
349
+        temp_val = (data_buf[INDEX_PLL_1_8G_UL_H] << 8) | (data_buf[INDEX_PLL_1_8G_UL_L]);
350
+        Prev_data[INDEX_PLL_1_8G_UL_H] = data_buf[INDEX_PLL_1_8G_UL_H];
351
+        Prev_data[INDEX_PLL_1_8G_UL_L] = data_buf[INDEX_PLL_1_8G_UL_L];
352
+        ADF4113_Module_Ctrl(ADF4113_1_8G_UL,0x410,halSynSetFreq((temp_val * 1000000) / 10),0x9F8092);
353
+    }
354
+    if((Prev_data[INDEX_PLL_2_1G_DL_H] != data_buf[INDEX_PLL_2_1G_DL_H])
355
+        && (Prev_data[INDEX_PLL_2_1G_DL_L] != data_buf[INDEX_PLL_2_1G_DL_L])){
356
+        temp_val = ((data_buf[INDEX_PLL_2_1G_DL_H] << 8) | (data_buf[INDEX_PLL_2_1G_DL_L]));
357
+        Prev_data[INDEX_PLL_2_1G_DL_H] = data_buf[INDEX_PLL_2_1G_DL_H];
358
+        Prev_data[INDEX_PLL_2_1G_DL_L] = data_buf[INDEX_PLL_2_1G_DL_L];        
359
+        ADF4113_Module_Ctrl(ADF4113_2_1G_DL,0x410,halSynSetFreq((temp_val * 1000000) / 10),0x9F8092);
360
+    }
361
+    if((Prev_data[INDEX_PLL_2_1G_UL_H] != data_buf[INDEX_PLL_2_1G_UL_H])
362
+        && (Prev_data[INDEX_PLL_2_1G_UL_L] != data_buf[INDEX_PLL_2_1G_UL_L])){
363
+        Prev_data[INDEX_PLL_2_1G_UL_H] = data_buf[INDEX_PLL_2_1G_UL_H];
364
+        Prev_data[INDEX_PLL_2_1G_UL_L] = data_buf[INDEX_PLL_2_1G_UL_L];          
365
+        temp_val = (data_buf[INDEX_PLL_2_1G_UL_H] << 8) | (data_buf[INDEX_PLL_2_1G_UL_L]);
366
+        ADF4113_Module_Ctrl(ADF4113_2_1G_UL,0x410,halSynSetFreq((temp_val * 1000000) / 10),0x9F8092);
367
+
368
+    }
369
+    if((Prev_data[INDEX_PLL_3_5G_DL_H] != data_buf[INDEX_PLL_3_5G_DL_H])
370
+        && (Prev_data[INDEX_PLL_3_5G_DL_L] != data_buf[INDEX_PLL_3_5G_DL_L])){
371
+        Prev_data[INDEX_PLL_3_5G_DL_H] = data_buf[INDEX_PLL_3_5G_DL_H];
372
+        Prev_data[INDEX_PLL_3_5G_DL_L] = data_buf[INDEX_PLL_3_5G_DL_L];
373
+        temp_val = (data_buf[INDEX_PLL_3_5G_DL_H] << 8) | (data_buf[INDEX_PLL_3_5G_DL_L]);
374
+        temp_reg = ADF4153_Freq_Calc(3934500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);
375
+        ADF4153_Module_Ctrl(Pll_3_5_L,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
376
+    }
377
+    if((Prev_data[INDEX_PLL_3_5G_UL_H] != data_buf[INDEX_PLL_3_5G_UL_H])
378
+        && (Prev_data[INDEX_PLL_3_5G_UL_L] != data_buf[INDEX_PLL_3_5G_UL_L])){
379
+        Prev_data[INDEX_PLL_3_5G_UL_H] = data_buf[INDEX_PLL_3_5G_UL_H];
380
+        Prev_data[INDEX_PLL_3_5G_UL_L] = data_buf[INDEX_PLL_3_5G_UL_L];
381
+        temp_val = (data_buf[INDEX_PLL_3_5G_UL_H] << 8) | (data_buf[INDEX_PLL_3_5G_UL_L]);
382
+        temp_reg = ADF4153_Freq_Calc(3465500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);
383
+        ADF4153_Module_Ctrl(Pll_3_5_H,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
384
+
385
+    }
386
+    if(Prev_data[INDEX_PLL_LD_6_BIT] != data_buf[INDEX_PLL_LD_6_BIT]){
387
+
388
+    }
389
+#if 0 // PYJ.2019.07.28_BEGIN -- 
390
+    if(Prev_data[INDEX_DET_1_8G_DL_IN_H] != data_buf[INDEX_DET_1_8G_DL_IN_H]){
391
+
392
+    }
393
+    if(Prev_data[INDEX_DET_1_8G_DL_IN_L] != data_buf[INDEX_DET_1_8G_DL_IN_L]){
394
+
395
+    }
396
+    if(Prev_data[INDEX_DET_1_8G_DL_OUT_H] != data_buf[INDEX_DET_1_8G_DL_OUT_H]){
397
+
398
+    }
399
+    if(Prev_data[INDEX_DET_1_8G_DL_OUT_L] != data_buf[INDEX_DET_1_8G_DL_OUT_L]){
400
+
401
+    }
402
+    if(Prev_data[INDEX_DET_1_8G_UL_IN_H] != data_buf[INDEX_DET_1_8G_UL_IN_H]){
403
+
404
+    }
405
+    if(Prev_data[INDEX_DET_1_8G_UL_IN_L] != data_buf[INDEX_DET_1_8G_UL_IN_L]){
406
+
407
+    }
408
+    if(Prev_data[INDEX_DET_1_8G_UL_OUT_H] != data_buf[INDEX_DET_1_8G_UL_OUT_H]){
409
+
410
+    }
411
+    if(Prev_data[INDEX_DET_1_8G_UL_OUT_L] != data_buf[INDEX_DET_1_8G_UL_OUT_L]){
412
+
413
+    }
414
+    if(Prev_data[INDEX_DET_2_1G_DL_IN_H] != data_buf[INDEX_DET_2_1G_DL_IN_H]){
415
+
416
+    }
417
+    if(Prev_data[INDEX_DET_2_1G_DL_IN_L] != data_buf[INDEX_DET_2_1G_DL_IN_L]){
418
+
419
+    }
420
+    if(Prev_data[INDEX_DET_2_1G_DL_OUT_H] != data_buf[INDEX_DET_2_1G_DL_OUT_H]){
421
+
422
+    }
423
+    if(Prev_data[INDEX_DET_2_1G_DL_OUT_L] != data_buf[INDEX_DET_2_1G_DL_OUT_L]){
424
+
425
+    }
426
+    if(Prev_data[INDEX_DET_2_1G_UL_IN_H] != data_buf[INDEX_DET_2_1G_UL_IN_H]){
427
+
428
+    }
429
+    if(Prev_data[INDEX_DET_2_1G_UL_IN_L] != data_buf[INDEX_DET_2_1G_UL_IN_L]){
430
+
431
+    }
432
+
433
+    if(Prev_data[INDEX_DET_2_1G_UL_OUT_H] != data_buf[INDEX_DET_2_1G_UL_OUT_H]){
434
+
435
+    }
436
+    if(Prev_data[INDEX_DET_2_1G_UL_OUT_L] != data_buf[INDEX_DET_2_1G_UL_OUT_L]){
437
+
438
+    }
439
+    if(Prev_data[INDEX_DET_3_5G_DL_IN_H] != data_buf[INDEX_DET_3_5G_DL_IN_H]){
440
+
441
+    }
442
+    if(Prev_data[INDEX_DET_3_5G_DL_IN_L] != data_buf[INDEX_DET_3_5G_DL_IN_L]){
443
+
444
+    }
445
+    if(Prev_data[INDEX_DET_3_5G_DL_OUT_L] != data_buf[INDEX_DET_3_5G_DL_OUT_L]){
446
+
447
+    }
448
+    if(Prev_data[INDEX_DET_3_5G_DL_OUT_H] != data_buf[INDEX_DET_3_5G_DL_OUT_H]){
449
+
450
+    }
451
+    if(Prev_data[INDEX_DET_3_5G_UL_IN_H] != data_buf[INDEX_DET_3_5G_UL_IN_H]){
452
+
453
+    }
454
+    if(Prev_data[INDEX_DET_3_5G_UL_IN_L] != data_buf[INDEX_DET_3_5G_UL_IN_L]){
455
+
456
+    }
457
+
458
+    if(Prev_data[INDEX_DET_3_5G_UL_OUT_H] != data_buf[INDEX_DET_3_5G_UL_OUT_H]){
459
+
460
+    }
461
+    if(Prev_data[INDEX_DET_3_5G_UL_OUT_L] != data_buf[INDEX_DET_3_5G_UL_OUT_L]){
462
+
463
+    }
464
+    if(Prev_data[INDEX_RFU_TEMP_H] != data_buf[INDEX_RFU_TEMP_H]){
465
+
466
+    }
467
+    if(Prev_data[INDEX_RFU_TEMP_L] != data_buf[INDEX_RFU_TEMP_L]){
468
+
469
+    }
470
+    if(Prev_data[INDEX__28V_DET_H] != data_buf[INDEX__28V_DET_H]){
471
+
472
+    }
473
+    if(Prev_data[INDEX__28V_DET_L] != data_buf[INDEX__28V_DET_L]){
474
+
475
+    }
476
+#endif // PYJ.2019.07.28_END -- 
477
+    if(Prev_data[INDEX_ALARM_AC] != data_buf[INDEX_ALARM_AC]){
478
+
479
+    }
480
+    if(Prev_data[INDEX_ALARM_DC] != data_buf[INDEX_ALARM_DC]){
481
+
482
+    }
483
+    if(Prev_data[INDEX_PATH_EN_1_8G_DL] != data_buf[INDEX_PATH_EN_1_8G_DL]){
484
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_1_8G_DL,data_buf[INDEX_PATH_EN_1_8G_DL]);
485
+        Prev_data[INDEX_PATH_EN_1_8G_DL] = data_buf[INDEX_PATH_EN_1_8G_DL];
486
+    }
487
+    if(Prev_data[INDEX_PATH_EN_1_8G_UL] != data_buf[INDEX_PATH_EN_1_8G_UL]){
488
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_1_8G_UL,data_buf[INDEX_PATH_EN_1_8G_UL]);
489
+        Prev_data[INDEX_PATH_EN_1_8G_UL] = data_buf[INDEX_PATH_EN_1_8G_UL];
490
+
491
+    }
492
+
493
+    if(Prev_data[INDEX_PATH_EN_2_1G_DL] != data_buf[INDEX_PATH_EN_2_1G_DL]){
494
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_2_1G_DL,data_buf[INDEX_PATH_EN_2_1G_DL]);
495
+        Prev_data[INDEX_PATH_EN_2_1G_DL] = data_buf[INDEX_PATH_EN_2_1G_DL];
496
+
497
+    }
498
+    if(Prev_data[INDEX_PATH_EN_2_1G_UL] != data_buf[INDEX_PATH_EN_2_1G_UL]){
499
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_2_1G_UL,data_buf[INDEX_PATH_EN_2_1G_UL]);
500
+        Prev_data[INDEX_PATH_EN_2_1G_UL] = data_buf[INDEX_PATH_EN_2_1G_UL];
501
+
502
+    }
503
+    if(Prev_data[INDEX_PATH_EN_3_5G_L] != data_buf[INDEX_PATH_EN_3_5G_L]){
504
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_3_5G_L,data_buf[INDEX_PATH_EN_3_5G_L]);
505
+        Prev_data[INDEX_PATH_EN_3_5G_L] = data_buf[INDEX_PATH_EN_3_5G_L];
506
+
507
+    }
508
+    if(Prev_data[INDEX_PATH_EN_3_5G_H] != data_buf[INDEX_PATH_EN_3_5G_H]){
509
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_3_5G_H,data_buf[INDEX_PATH_EN_3_5G_H]);
510
+        Prev_data[INDEX_PATH_EN_3_5G_H] = data_buf[INDEX_PATH_EN_3_5G_H];
511
+
512
+    }
513
+    if(Prev_data[INDEX_PATH_EN_3_5G_DL] != data_buf[INDEX_PATH_EN_3_5G_DL]){
514
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_3_5G_DL,data_buf[INDEX_PATH_EN_3_5G_DL]);
515
+        Prev_data[INDEX_PATH_EN_3_5G_DL] = data_buf[INDEX_PATH_EN_3_5G_DL];
516
+
517
+    }
518
+    if(Prev_data[INDEX_PATH_EN_3_5G_UL] != data_buf[INDEX_PATH_EN_3_5G_UL]){
519
+        Power_ON_OFF_Ctrl(INDEX_PATH_EN_3_5G_UL,data_buf[INDEX_PATH_EN_3_5G_UL]);
520
+        Prev_data[INDEX_PATH_EN_3_5G_UL] = data_buf[INDEX_PATH_EN_3_5G_UL];
521
+
522
+    }
523
+    if(Prev_data[INDEX_PLL_ON_OFF_3_5G_H] != data_buf[INDEX_PLL_ON_OFF_3_5G_H]){
524
+        Power_ON_OFF_Ctrl(INDEX_PLL_ON_OFF_3_5G_H,data_buf[INDEX_PLL_ON_OFF_3_5G_H]);
525
+        Prev_data[INDEX_PLL_ON_OFF_3_5G_H] = data_buf[INDEX_PLL_ON_OFF_3_5G_H];
526
+        HAL_Delay(10);
527
+        printf("POWER : %d \r\n",Prev_data[INDEX_PLL_ON_OFF_3_5G_H]);
528
+        if(data_buf[INDEX_PLL_ON_OFF_3_5G_H]){
529
+            printf("PLL CTRL START !! \r\n");
530
+//            ADF4153_Init();
531
+            temp_reg = ADF4153_Freq_Calc(3934500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);
532
+            ADF4153_Module_Ctrl(Pll_3_5_H,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
533
+        }
534
+    }
535
+    if(Prev_data[INDEX_PLL_ON_OFF_3_5G_L] != data_buf[INDEX_PLL_ON_OFF_3_5G_L]){
536
+        Power_ON_OFF_Ctrl(INDEX_PLL_ON_OFF_3_5G_L,data_buf[INDEX_PLL_ON_OFF_3_5G_L]);
537
+        Prev_data[INDEX_PLL_ON_OFF_3_5G_L] = data_buf[INDEX_PLL_ON_OFF_3_5G_L];
538
+        HAL_Delay(10);
539
+        printf("POWER : %d \r\n",Prev_data[INDEX_PLL_ON_OFF_3_5G_L]);        
540
+        if(data_buf[INDEX_PLL_ON_OFF_3_5G_L]){
541
+            printf("PLL CTRL START !! \r\n");
542
+            temp_reg = ADF4153_Freq_Calc(3465500000,ADF4153_REFIN,ADF4153_RCOUNTER,ADF4153_CHANNEL_SPACING);            
543
+            ADF4153_Module_Ctrl(Pll_3_5_L,temp_reg.N_reg,temp_reg.R_reg,0x13c2,0x3);
544
+        }
545
+    }
546
+
547
+    if(Prev_data[INDEX_T_SYNC_DL] != data_buf[INDEX_T_SYNC_DL]){
548
+        Prev_data[INDEX_T_SYNC_DL] = data_buf[INDEX_T_SYNC_DL];
549
+        Power_ON_OFF_Ctrl(INDEX_T_SYNC_DL,data_buf[INDEX_T_SYNC_DL]);
550
+    }
551
+    if(Prev_data[INDEX__T_SYNC_DL] != data_buf[INDEX__T_SYNC_DL]){
552
+        Prev_data[INDEX__T_SYNC_DL] = data_buf[INDEX__T_SYNC_DL];
553
+        Power_ON_OFF_Ctrl(INDEX__T_SYNC_DL,data_buf[INDEX__T_SYNC_DL]);
554
+    }
555
+    if(Prev_data[INDEX_T_SYNC_UL] != data_buf[INDEX_T_SYNC_UL]){
556
+        Prev_data[INDEX_T_SYNC_UL] = data_buf[INDEX_T_SYNC_UL];
557
+        Power_ON_OFF_Ctrl(INDEX_T_SYNC_UL,data_buf[INDEX_T_SYNC_UL]);
558
+    }
559
+    if(Prev_data[INDEX__T_SYNC_UL] != data_buf[INDEX__T_SYNC_UL]){
560
+        Prev_data[INDEX__T_SYNC_UL] = data_buf[INDEX__T_SYNC_UL];
561
+        Power_ON_OFF_Ctrl(INDEX__T_SYNC_UL,data_buf[INDEX__T_SYNC_UL]);
562
+    }
563
+
564
+
565
+    if((Prev_data[INDEX_DAC_VCtrl_A_H] != data_buf[INDEX_DAC_VCtrl_A_H])
566
+        ||(Prev_data[INDEX_DAC_VCtrl_A_L] != data_buf[INDEX_DAC_VCtrl_A_L])){
567
+        ADC_Modify = 1;
568
+        Prev_data[INDEX_DAC_VCtrl_A_H] = data_buf[INDEX_DAC_VCtrl_A_H];
569
+        Prev_data[INDEX_DAC_VCtrl_A_L] = data_buf[INDEX_DAC_VCtrl_A_L];
570
+    }
571
+    if((Prev_data[INDEX_DAC_VCtrl_B_H] != data_buf[INDEX_DAC_VCtrl_B_H])
572
+        ||(Prev_data[INDEX_DAC_VCtrl_B_L] != data_buf[INDEX_DAC_VCtrl_B_L])){
573
+        ADC_Modify = 1;
574
+        
575
+        Prev_data[INDEX_DAC_VCtrl_B_H] = data_buf[INDEX_DAC_VCtrl_B_H];
576
+        Prev_data[INDEX_DAC_VCtrl_B_L] = data_buf[INDEX_DAC_VCtrl_B_L];        
577
+    }    
578
+    if((Prev_data[INDEX_DAC_VCtrl_C_H] != data_buf[INDEX_DAC_VCtrl_C_H])
579
+        ||(Prev_data[INDEX_DAC_VCtrl_C_L] != data_buf[INDEX_DAC_VCtrl_C_L])){
580
+        ADC_Modify = 1;
581
+        printf("Prev_data[INDEX_DAC_VCtrl_C_H] : %x \r\n",Prev_data[INDEX_DAC_VCtrl_C_H]);
582
+        printf("Prev_data[INDEX_DAC_VCtrl_C_L] : %x \r\n",Prev_data[INDEX_DAC_VCtrl_C_L]);
583
+
584
+        Prev_data[INDEX_DAC_VCtrl_C_H] = data_buf[INDEX_DAC_VCtrl_C_H];
585
+        Prev_data[INDEX_DAC_VCtrl_C_L] = data_buf[INDEX_DAC_VCtrl_C_L];        
586
+    }
587
+    if((Prev_data[INDEX_DAC_VCtrl_D_H] != data_buf[INDEX_DAC_VCtrl_D_H])
588
+        ||(Prev_data[INDEX_DAC_VCtrl_D_L] != data_buf[INDEX_DAC_VCtrl_D_L])){
589
+        ADC_Modify = 1;
590
+        Prev_data[INDEX_DAC_VCtrl_D_H] = data_buf[INDEX_DAC_VCtrl_D_H];
591
+        Prev_data[INDEX_DAC_VCtrl_D_L] = data_buf[INDEX_DAC_VCtrl_D_L];
592
+    }
593
+    if((Prev_data[INDEX_DAC_VCtrl_E_H] != data_buf[INDEX_DAC_VCtrl_E_H])
594
+        ||(Prev_data[INDEX_DAC_VCtrl_E_L] != data_buf[INDEX_DAC_VCtrl_E_L])){
595
+        ADC_Modify = 1;
596
+
597
+        Prev_data[INDEX_DAC_VCtrl_E_H] = data_buf[INDEX_DAC_VCtrl_E_H];
598
+        Prev_data[INDEX_DAC_VCtrl_E_L] = data_buf[INDEX_DAC_VCtrl_E_L];        
599
+    }
600
+    if((Prev_data[INDEX_DAC_VCtrl_F_H] != data_buf[INDEX_DAC_VCtrl_F_H])
601
+        ||(Prev_data[INDEX_DAC_VCtrl_F_L] != data_buf[INDEX_DAC_VCtrl_F_L])){
602
+        ADC_Modify = 1;
603
+        Prev_data[INDEX_DAC_VCtrl_F_H] = data_buf[INDEX_DAC_VCtrl_F_H];
604
+        Prev_data[INDEX_DAC_VCtrl_F_L] = data_buf[INDEX_DAC_VCtrl_F_L];        
605
+    }
606
+    if((Prev_data[INDEX_DAC_VCtrl_G_H] != data_buf[INDEX_DAC_VCtrl_G_H])
607
+        ||(Prev_data[INDEX_DAC_VCtrl_G_L] != data_buf[INDEX_DAC_VCtrl_G_L])){
608
+        ADC_Modify = 1;
609
+        Prev_data[INDEX_DAC_VCtrl_G_H] = data_buf[INDEX_DAC_VCtrl_G_H];
610
+        Prev_data[INDEX_DAC_VCtrl_G_L] = data_buf[INDEX_DAC_VCtrl_G_L];        
611
+    }    
612
+    if((Prev_data[INDEX_DAC_VCtrl_H_H] != data_buf[INDEX_DAC_VCtrl_H_H])
613
+        ||(Prev_data[INDEX_DAC_VCtrl_H_L] != data_buf[INDEX_DAC_VCtrl_H_L])){
614
+        ADC_Modify = 1;
615
+        Prev_data[INDEX_DAC_VCtrl_H_H] = data_buf[INDEX_DAC_VCtrl_H_H];
616
+        Prev_data[INDEX_DAC_VCtrl_H_L] = data_buf[INDEX_DAC_VCtrl_H_L];        
617
+    }
618
+    if(ADC_Modify){
619
+//        SubmitDAC(0xF000);
620
+//        HAL_Delay(1);
621
+//        SubmitDAC(0x800C);
622
+//        SubmitDAC(0x2FFF );
623
+//        SubmitDAC(0xA000);
624
+        SubmitDAC((Prev_data[INDEX_DAC_VCtrl_A_H] << 8 | Prev_data[INDEX_DAC_VCtrl_A_L]));    
625
+        SubmitDAC((Prev_data[INDEX_DAC_VCtrl_B_H] << 8 | Prev_data[INDEX_DAC_VCtrl_B_L]));    
626
+        SubmitDAC((Prev_data[INDEX_DAC_VCtrl_C_H] << 8 | Prev_data[INDEX_DAC_VCtrl_C_L]));
627
+        SubmitDAC((Prev_data[INDEX_DAC_VCtrl_D_H] << 8 | Prev_data[INDEX_DAC_VCtrl_D_L]));
628
+        SubmitDAC((Prev_data[INDEX_DAC_VCtrl_E_H] << 8 | Prev_data[INDEX_DAC_VCtrl_E_L]));    
629
+        SubmitDAC((Prev_data[INDEX_DAC_VCtrl_F_H] << 8 | Prev_data[INDEX_DAC_VCtrl_F_L]));
630
+        SubmitDAC((Prev_data[INDEX_DAC_VCtrl_G_H] << 8 | Prev_data[INDEX_DAC_VCtrl_G_L]));
631
+        SubmitDAC((Prev_data[INDEX_DAC_VCtrl_H_H] << 8 | Prev_data[INDEX_DAC_VCtrl_H_L]));
632
+    }
633
+    
634
+}
635
+
636
+
637
+bool RF_Ctrl_Main(uint8_t* data_buf){
638
+    bool ret = false;
639
+    Bluecell_Prot_t type = data_buf[Type];
640
+    ret = RF_Data_Check(&data_buf[Header]); /* ERROR CHECK */
641
+    if(ret == false){
642
+        HAL_UART_Transmit(&huart1,&data_buf[INDEX_BLUE_HEADER],data_buf[INDEX_BLUE_LENGTH] + 2 + 1,3000); 
643
+        return ret;
644
+    }
645
+    
646
+    switch(type){
647
+    case TYPE_BLUECELL_RESET:
648
+        for(uint8_t i =0 ; i < data_buf[Length] + 6; i++)
649
+            printf("%02x ",data_buf[i]);
650
+        printf("Reset Start \r\n");
651
+        NVIC_SystemReset();
652
+        break;
653
+    case TYPE_BLUECELL_SET:
654
+#if 0 // PYJ.2019.07.31_BEGIN -- 
655
+    printf("TYPE_BLUECELL_SET : ");
656
+    for(uint8_t i =0 ; i < INDEX_BLUE_EOF + 1; i++)
657
+        printf("%02x ",data_buf[i]);
658
+#endif // PYJ.2019.07.31_END -- 
659
+        RF_Operate(&data_buf[Header]);
660
+//        ADF4153_Freq_Calc(3465500000,40000000,2,5000);
661
+//        ADF4153_Freq_Calc(3993450000,40000000,2,5000);
662
+//        halSynSetFreq(1995000000);
663
+//        halSynSetFreq(1600000000);
664
+//        halSynSetFreq(1455000000);        
665
+        break;
666
+    case TYPE_BLUECELL_GET:
667
+        printf("\r\nTYPE_BLUECELL_GET : \r\n");
668
+        RF_Status_Get();
669
+        break;
670
+    case TYPE_BLUECELL_SAVE:
671
+        printf("\r\nFLASH Write\r\n");
672
+        Bluecell_Flash_Write(&Prev_data[INDEX_BLUE_HEADER]);
673
+        break;
674
+        default:
675
+#ifdef DEBUG_PRINT // PYJ.2019.07.27_BEGIN --         
676
+            printf("Function : %s   LINE : %d    type : %d \r\n",__func__,__LINE__,type);
677
+#endif
678
+            break;
679
+    }
680
+    return ret;
681
+}

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

@@ -1,2 +1,3 @@
1
----- why not? Matches (1 in 1 files) ----
2
-PE43711_ALL_atten_ctrl in PE43711.c (D:\workspace\STM32F103_ATTEN_PLL_Zig\Src) :     printf("why not? \r\n");
1
+---- RF_Operate Matches (2 in 1 files) ----
2
+zig_operate.c (D:\workspace\STM32F103_ATTEN_PLL_Zig\Src) line 240 : void RF_Operate(uint8_t* data_buf){
3
+RF_Ctrl_Main in zig_operate.c (D:\workspace\STM32F103_ATTEN_PLL_Zig\Src) :         RF_Operate(&data_buf[Header]);

BIN
insight/STM32F103_ATTEN_PLL_Zig.si4project/STM32F103_ATTEN_PLL_Zig.sip_xc


BIN
insight/STM32F103_ATTEN_PLL_Zig.si4project/STM32F103_ATTEN_PLL_Zig.sip_xf


BIN
insight/STM32F103_ATTEN_PLL_Zig.si4project/STM32F103_ATTEN_PLL_Zig.sip_xm


BIN
insight/STM32F103_ATTEN_PLL_Zig.si4project/STM32F103_ATTEN_PLL_Zig.sip_xr


BIN
insight/STM32F103_ATTEN_PLL_Zig.si4project/STM32F103_ATTEN_PLL_Zig.siproj


BIN
insight/STM32F103_ATTEN_PLL_Zig.si4project/STM32F103_ATTEN_PLL_Zig.siwork


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


BIN
insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Inc_uart.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_AD5318.c.sisc


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


BIN
insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_CRC16.c.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_flash.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_stm32f1xx_hal_msp.c.sisc


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


BIN
insight/STM32F103_ATTEN_PLL_Zig.si4project/cache/parse/.._.._Src_system_stm32f1xx.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