Quellcode durchsuchen

#if 0 필요없는 Code 제거
알람 표시 할 때 무조건 올림 하여 알람 발생하도록 수정
FRBT 첫 Setting Data 설정 할 수 있도록 변수 추가
AGC를 Atten 있는 상태에서 ON하면 AGC Atten이 갑자기 -15 변하는 문제
FRBT Atten은 이상한 값으로 표시.
FRBT 7부터 Tracking 시작하도록 수정.
- AGC를 ON/OFF를 반복하면 FRBT D-Day가 하루 씩 감소 하는 문제 수정
- AGC를 OFF하면 Running 상태 하는 문제 수정
- AGC를 ON 하면 FRBT를 default 7일부터 다시 시작하면서 Tracking 하는 문제 수정

PYJ vor 4 Jahren
Ursprung
Commit
486b7461c9
1 geänderte Dateien mit 103 neuen und 95 gelöschten Zeilen
  1. 103 95
      Bluecell_Src/Bluecell_operate.c

+ 103 - 95
Bluecell_Src/Bluecell_operate.c

@@ -96,6 +96,8 @@ extern volatile uint32_t SelfTestLifeCnt;
96 96
 volatile uint8_t Prev_ALC_OnOff = 0;
97 97
 volatile uint8_t Prev_AGC_OnOff = 0;
98 98
 
99
+volatile bool timeset_init = false;
100
+
99 101
 /***************************************************************************************/
100 102
 /*                                  Function                                           */
101 103
 /***************************************************************************************/
@@ -2123,73 +2125,7 @@ bool Bluecell_Operate(uint8_t* data){
2123 2125
             bluecell_Currdatastatus.ULO_ALC_ON_OFF = Prev_ALC_OnOff;
2124 2126
             bluecell_Currdatastatus.DLI_AGC_ON_OFF = Prev_AGC_OnOff;
2125 2127
         }
2126
-#if 0 // PYJ.2020.09.03_BEGIN -- 
2127
-        if(bluecell_Currdatastatus.SelfTest == false && bluecell_Currdatastatus.SelfTest != data[BLUECELL_DATA]){
2128
-            bluecell_Currdatastatus.SelfTest_ATT_DL1_H = bluecell_Currdatastatus.ATT_DL1_H;
2129
-            bluecell_Currdatastatus.SelfTest_ATT_DL2_H = bluecell_Currdatastatus.ATT_DL2_H;
2130
-            bluecell_Currdatastatus.SelfTest_ATT_DL3_H = bluecell_Currdatastatus.ATT_DL3_H;
2131
-            bluecell_Currdatastatus.SelfTest_ATT_DL4_H = bluecell_Currdatastatus.ATT_DL4_H;
2132
-
2133
-            bluecell_Currdatastatus.SelfTest_ATT_DL1_L = bluecell_Currdatastatus.ATT_DL1_L;
2134
-            bluecell_Currdatastatus.SelfTest_ATT_DL2_L = bluecell_Currdatastatus.ATT_DL2_L;
2135
-            bluecell_Currdatastatus.SelfTest_ATT_DL3_L = bluecell_Currdatastatus.ATT_DL3_L;
2136
-            bluecell_Currdatastatus.SelfTest_ATT_DL4_L = bluecell_Currdatastatus.ATT_DL4_L;                    
2137
-
2138
-            bluecell_Currdatastatus.SelfTest_ATT_UL1_H = bluecell_Currdatastatus.ATT_UL1_H;
2139
-            bluecell_Currdatastatus.SelfTest_ATT_UL2_H = bluecell_Currdatastatus.ATT_UL2_H;
2140
-            bluecell_Currdatastatus.SelfTest_ATT_UL3_H = bluecell_Currdatastatus.ATT_UL3_H;
2141
-            bluecell_Currdatastatus.SelfTest_ATT_UL4_H = bluecell_Currdatastatus.ATT_UL4_H;
2142
-
2143
-            bluecell_Currdatastatus.SelfTest_ATT_UL1_L = bluecell_Currdatastatus.ATT_UL1_L;
2144
-            bluecell_Currdatastatus.SelfTest_ATT_UL2_L = bluecell_Currdatastatus.ATT_UL2_L;
2145
-            bluecell_Currdatastatus.SelfTest_ATT_UL3_L = bluecell_Currdatastatus.ATT_UL3_L;
2146
-            bluecell_Currdatastatus.SelfTest_ATT_UL4_L = bluecell_Currdatastatus.ATT_UL4_L;                    
2147
-
2148
-            bluecell_Currdatastatus.ATT_DL1_H = 0;
2149
-            bluecell_Currdatastatus.ATT_DL2_H = 0;
2150
-            bluecell_Currdatastatus.ATT_DL3_H = 0;
2151
-            bluecell_Currdatastatus.ATT_DL4_H = 0;
2152
-
2153
-            bluecell_Currdatastatus.ATT_DL1_L = 0;
2154
-            bluecell_Currdatastatus.ATT_DL2_L = 0;
2155
-            bluecell_Currdatastatus.ATT_DL3_L = 0;
2156
-            bluecell_Currdatastatus.ATT_DL4_L = 0;                    
2157
-
2158
-            bluecell_Currdatastatus.ATT_UL1_H = 0;
2159
-            bluecell_Currdatastatus.ATT_UL2_H = 0;
2160
-            bluecell_Currdatastatus.ATT_UL3_H = 0;
2161
-            bluecell_Currdatastatus.ATT_UL4_H = 0;
2162
-
2163
-            bluecell_Currdatastatus.ATT_UL1_L = 0;
2164
-            bluecell_Currdatastatus.ATT_UL2_L = 0;
2165
-            bluecell_Currdatastatus.ATT_UL3_L = 0;
2166
-            bluecell_Currdatastatus.ATT_UL4_L = 0;                        
2167
-
2168
-            
2169
-        }
2170
-        else{
2171
-            bluecell_Currdatastatus.ATT_DL1_H = bluecell_Currdatastatus.SelfTest_ATT_DL1_H ;
2172
-            bluecell_Currdatastatus.ATT_DL2_H = bluecell_Currdatastatus.SelfTest_ATT_DL2_H ;
2173
-            bluecell_Currdatastatus.ATT_DL3_H = bluecell_Currdatastatus.SelfTest_ATT_DL3_H ;
2174
-            bluecell_Currdatastatus.ATT_DL4_H = bluecell_Currdatastatus.SelfTest_ATT_DL4_H ;
2175
-
2176
-            bluecell_Currdatastatus.ATT_DL1_L = bluecell_Currdatastatus.SelfTest_ATT_DL1_L ;
2177
-            bluecell_Currdatastatus.ATT_DL2_L = bluecell_Currdatastatus.SelfTest_ATT_DL2_L ;
2178
-            bluecell_Currdatastatus.ATT_DL3_L = bluecell_Currdatastatus.SelfTest_ATT_DL3_L ;
2179
-            bluecell_Currdatastatus.ATT_DL4_L = bluecell_Currdatastatus.SelfTest_ATT_DL4_L ;                    
2180
-
2181
-            bluecell_Currdatastatus.ATT_UL1_H = bluecell_Currdatastatus.SelfTest_ATT_UL1_H ;
2182
-            bluecell_Currdatastatus.ATT_UL2_H = bluecell_Currdatastatus.SelfTest_ATT_UL2_H ;
2183
-            bluecell_Currdatastatus.ATT_UL3_H = bluecell_Currdatastatus.SelfTest_ATT_UL3_H ;
2184
-            bluecell_Currdatastatus.ATT_UL4_H = bluecell_Currdatastatus.SelfTest_ATT_UL4_H ;
2185
-
2186
-            bluecell_Currdatastatus.ATT_UL1_L = bluecell_Currdatastatus.SelfTest_ATT_UL1_L ;
2187
-            bluecell_Currdatastatus.ATT_UL2_L = bluecell_Currdatastatus.SelfTest_ATT_UL2_L ;
2188
-            bluecell_Currdatastatus.ATT_UL3_L = bluecell_Currdatastatus.SelfTest_ATT_UL3_L ;
2189
-            bluecell_Currdatastatus.ATT_UL4_L = bluecell_Currdatastatus.SelfTest_ATT_UL4_L ;                    
2190
-
2191
-        }   
2192
-#endif // PYJ.2020.09.03_END --         
2128
+       
2193 2129
 //        printf("bluecell_Currdatastatus.SelfTest : %d \r\n",bluecell_Currdatastatus.SelfTest);
2194 2130
 		break;
2195 2131
     case Bluecell_Path1_GainValue:
@@ -2556,9 +2492,47 @@ bool Bluecell_Operate(uint8_t* data){
2556 2492
         break;
2557 2493
     case Bluecell_DLI_AGC_ON_OFF:                             
2558 2494
         bluecell_Currdatastatus.DLI_AGC_ON_OFF = data[BLUECELL_DATA + i];
2559
-//        printf("AGC ON OFF SET : %d \r\n",bluecell_Currdatastatus.DLI_AGC_ON_OFF);
2560
-        if(bluecell_Currdatastatus.DLI_AGC_ON_OFF == 0)
2495
+        if( bluecell_Currdatastatus.DLI_AGC_ON_OFF == false){
2496
+            AGC_AlarmSet[AGC_Alarm_DL1_Index] = false;
2497
+            AGC_AlarmSet[AGC_Alarm_DL2_Index] = false;
2498
+            AGC_AlarmSet[AGC_Alarm_DL3_Index] = false;
2499
+            AGC_AlarmSet[AGC_Alarm_DL4_Index] = false;
2500
+            for(int i = 0; i < DLI_FRBT_Time_Index_Max; i++){
2501
+               PrevFRBT_Day[DLI_FRBT_Time_Year + i] = FRBT_Day[DLI_FRBT_Time_Year + i] = 0;
2502
+            }
2503
+
2504
+//                    FRBT_UserCtrl = 0;
2505
+            bluecell_Currdatastatus.DLI_FRBT_Status = FRBT_IDEL;                    
2561 2506
             bluecell_Currdatastatus.ALARM_DLI_AGC_Alarm = 0;
2507
+        }else{
2508
+#if 0 // PYJ.2020.09.15_BEGIN -- 
2509
+            for(int i = 0; i < DLI_FRBT_Time_Index_Max; i++){
2510
+                StartTimeFRBT_Day[DLI_FRBT_Time_Year + i] = data[MBIC_TIME_0 + i]; /* Curr day */
2511
+            }
2512
+#endif // PYJ.2020.09.15_END -- 
2513
+//                    FRBT_UserCtrl = 1;
2514
+//                    printf("FRBT Tracking START \r\n");
2515
+//                    printf("FRBT Start Time Save : %d Y %d M %d D %d H %d M %d S\r\n",
2516
+//                    StartTimeFRBT_Day[DLI_FRBT_Time_Year],
2517
+//                    StartTimeFRBT_Day[DLI_FRBT_Time_Month],
2518
+//                    StartTimeFRBT_Day[DLI_FRBT_Time_Day],
2519
+//                    StartTimeFRBT_Day[DLI_FRBT_Time_Hour],
2520
+//                    StartTimeFRBT_Day[DLI_FRBT_Time_Minute],
2521
+//                    StartTimeFRBT_Day[DLI_FRBT_Time_Second]);
2522
+        }
2523
+        bluecell_Currdatastatus.DLI_FRBT_D_Day  = DLI_FRBT_DAY_DEFAULT;
2524
+        DL_AGC_StartAtten[AGC_Alarm_DL1_Index] 
2525
+            = bluecell_Currdatastatus.ATT_DL1_H << 8 | bluecell_Currdatastatus.ATT_DL1_L;
2526
+        DL_AGC_StartAtten[AGC_Alarm_DL2_Index] 
2527
+            = bluecell_Currdatastatus.ATT_DL2_H << 8 | bluecell_Currdatastatus.ATT_DL2_L;
2528
+        DL_AGC_StartAtten[AGC_Alarm_DL3_Index] 
2529
+            = bluecell_Currdatastatus.ATT_DL3_H << 8 | bluecell_Currdatastatus.ATT_DL3_L;
2530
+        DL_AGC_StartAtten[AGC_Alarm_DL4_Index] 
2531
+            = bluecell_Currdatastatus.ATT_DL4_H << 8 | bluecell_Currdatastatus.ATT_DL4_L;
2532
+
2533
+        for(int i = 0; i < AGC_Alarm_DL_Index_MAX; i++){
2534
+            DL_PrevIwillgiveAtten[i]= 0;                
2535
+        }
2562 2536
         break;
2563 2537
     case Bluecell_ULO_ALC_ON_OFF:                             
2564 2538
         bluecell_Currdatastatus.ULO_ALC_ON_OFF = data[BLUECELL_DATA + i];
@@ -2787,6 +2761,7 @@ bool Bluecell_Operate(uint8_t* data){
2787 2761
         break;
2788 2762
     case Bluecell_TimeSetting:
2789 2763
         TimeSetting(&data[BLUECELL_CRCINDEX]);
2764
+
2790 2765
 #if 0 // PYJ.2020.07.03_BEGIN -- 
2791 2766
             for(int i = 0; i < DLI_FRBT_Time_Index_Max; i++){
2792 2767
                 FRBT_Day[DLI_FRBT_Time_Year + i] = data[BLUECELL_CRCINDEX + i]; /* Curr day */
@@ -2975,7 +2950,7 @@ void HFR_TypeInit(){
2975 2950
     MBIC Request List 
2976 2951
     Turn off all paths at boot
2977 2952
  */
2978
-   
2953
+
2979 2954
     MBIC_UL_ShutdownCount = &bluecell_Currdatastatus.ULO_Shutdown_Retry_Count1;   
2980 2955
     MBIC_DL_ShutdownCount = &bluecell_Currdatastatus.DLI_Shutdown_Retry_Count1;   
2981 2956
 
@@ -4449,7 +4424,11 @@ void TimeSetting(uint8_t* data){
4449 4424
         for(int i = 0; i < DLI_FRBT_Time_Index_Max; i++){
4450 4425
             FRBT_Day[DLI_FRBT_Time_Year + i] = data[i]; /* Curr day */
4451 4426
         }
4452
-        
4427
+        if(timeset_init == false){
4428
+            PrevFRBT_Day[DLI_FRBT_Time_Day] = FRBT_Day[DLI_FRBT_Time_Day];
4429
+            timeset_init = true;
4430
+            return;
4431
+        }
4453 4432
 //        printf("BLUECELL TIME APPLY : %d - %d - %d - %d - %d - %d \r\n",        
4454 4433
 //        FRBT_Day[DLI_FRBT_Time_Year],
4455 4434
 //        FRBT_Day[DLI_FRBT_Time_Month],
@@ -4930,16 +4909,12 @@ uint8_t* Alarm_Report_Send(uint16_t Alarm_type,uint8_t val){
4930 4909
 
4931 4910
     Res_UL_dBm[DET_Alarm_UL4_Index] 
4932 4911
         = bluecell_Currdatastatus.ULO_Level4_H << 8 | bluecell_Currdatastatus.ULO_Level4_L;//(int8_t)Bluecell_TestPro(AutoControl_ADC_Compare(ret,&Det_UL4.Table_Det_15_dBm_H,Det_UL4.Table_Length * 2));
4933
-
4934
-    Res_DL_dBm[DET_Alarm_DL1_Index] *= 0.1;
4935
-    Res_DL_dBm[DET_Alarm_DL2_Index] *= 0.1;
4936
-    Res_DL_dBm[DET_Alarm_DL4_Index] *= 0.1;
4937
-    Res_DL_dBm[DET_Alarm_DL3_Index] *= 0.1;
4912
+    for(int i = 0; i < DET_Alarm_DL_Index_MAX; i++)
4913
+        Res_DL_dBm[DET_Alarm_DL1_Index + i] *= 0.1;
4914
+    
4915
+    for(int i = 0; i < DET_Alarm_UL_Index_MAX; i++)
4916
+        Res_UL_dBm[DET_Alarm_UL1_Index + i] *= 0.1;
4938 4917
     
4939
-    Res_UL_dBm[DET_Alarm_UL1_Index] *= 0.1;
4940
-    Res_UL_dBm[DET_Alarm_UL2_Index] *= 0.1;
4941
-    Res_UL_dBm[DET_Alarm_UL4_Index] *= 0.1;
4942
-    Res_UL_dBm[DET_Alarm_UL3_Index] *= 0.1;
4943 4918
 
4944 4919
  
4945 4920
     switch(Alarm_type){
@@ -5027,7 +5002,7 @@ uint8_t* Alarm_Report_Send(uint16_t Alarm_type,uint8_t val){
5027 5002
     Alarm_ReportData[MBIC_PAYLOADSTART + 44] = 0x03; 
5028 5003
 //        printf(" Alarm_ReportData[MBIC_PAYLOADSTART + 43] : %x \r\n", Alarm_ReportData[MBIC_PAYLOADSTART + 43]);    
5029 5004
     Uart1_Data_Send(&Alarm_ReportData[0],sizeof(Alarm_ReportData));
5030
-            printf(" Alarm_ReportData[MBIC_PAYLOADSTART + 42] : %x \r\n", Alarm_ReportData[MBIC_PAYLOADSTART + 42]);
5005
+    printf(" Alarm_ReportData[MBIC_PAYLOADSTART + 42] : %x \r\n", Alarm_ReportData[MBIC_PAYLOADSTART + 42]);
5031 5006
 }
5032 5007
 
5033 5008
 bool MBIC_Operate(uint8_t* data){
@@ -5106,6 +5081,9 @@ bool MBIC_Operate(uint8_t* data){
5106 5081
         if(Initialize == false){
5107 5082
             Bluecell_DataInit();
5108 5083
             Bluecell_AttenInitialize();
5084
+//            for(int i = MBIC_TIME_0; i <= MBIC_TIME_5; i++){
5085
+//                FRBT_Day[DLI_FRBT_Time_Year + (i - MBIC_TIME_0)] = data[i]; /* Curr day */
5086
+//            }        
5109 5087
             Initialize = true;
5110 5088
 
5111 5089
         }
@@ -5388,6 +5366,7 @@ bool MBIC_Operate(uint8_t* data){
5388 5366
 //                    StartTimeFRBT_Day[DLI_FRBT_Time_Minute],
5389 5367
 //                    StartTimeFRBT_Day[DLI_FRBT_Time_Second]);
5390 5368
                 }
5369
+                bluecell_Currdatastatus.DLI_FRBT_D_Day  = DLI_FRBT_DAY_DEFAULT;
5391 5370
                 DL_AGC_StartAtten[AGC_Alarm_DL1_Index] 
5392 5371
                     = bluecell_Currdatastatus.ATT_DL1_H << 8 | bluecell_Currdatastatus.ATT_DL1_L;
5393 5372
                 DL_AGC_StartAtten[AGC_Alarm_DL2_Index] 
@@ -6014,11 +5993,23 @@ void DET_LevelAlarmCheck(){
6014 5993
     Res_DL_dBm[DET_Alarm_DL4_Index] 
6015 5994
         = bluecell_Currdatastatus.DLI_Level4_H << 8 | bluecell_Currdatastatus.DLI_Level4_L;//(int8_t)Bluecell_TestPro(AGC_AutoControl_ADC_Compare(ret,&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st)));
6016 5995
 
6017
-    Res_DL_dBm[DET_Alarm_DL1_Index] *= 0.1;
6018
-    Res_DL_dBm[DET_Alarm_DL2_Index] *= 0.1;
6019
-    Res_DL_dBm[DET_Alarm_DL4_Index] *= 0.1;
6020
-    Res_DL_dBm[DET_Alarm_DL3_Index] *= 0.1;
6021
-
5996
+//    printf("Res_DL_dBm[DET_Alarm_DL1_Index] : %d \r\n",Res_DL_dBm[DET_Alarm_DL1_Index]);
5997
+    for(int i = 0; i < DET_Alarm_DL_Index_MAX; i++){
5998
+        if(Res_DL_dBm[DET_Alarm_DL1_Index + i] % 10 != 0){
5999
+            Res_DL_dBm[DET_Alarm_DL1_Index + i] *= 0.1;
6000
+            if(Res_DL_dBm[DET_Alarm_DL1_Index + i] < 0)
6001
+                Res_DL_dBm[DET_Alarm_DL1_Index + i]--;
6002
+            else
6003
+                Res_DL_dBm[DET_Alarm_DL1_Index + i]++;
6004
+        }else{
6005
+            Res_DL_dBm[DET_Alarm_DL1_Index + i] *= 0.1;
6006
+        }
6007
+    }
6008
+//    printf("Res_DL_dBm[DET_Alarm_DL1_Index] : %d \r\n",Res_DL_dBm[DET_Alarm_DL1_Index]);    
6009
+//    Res_DL_dBm[DET_Alarm_DL1_Index] *= 0.1;
6010
+//    Res_DL_dBm[DET_Alarm_DL2_Index] *= 0.1;
6011
+//    Res_DL_dBm[DET_Alarm_DL4_Index] *= 0.1;
6012
+//    Res_DL_dBm[DET_Alarm_DL3_Index] *= 0.1;
6022 6013
 
6023 6014
     ret  = bluecell_Currdatastatus.ULO_P1_Level1_H << 8;
6024 6015
     ret += bluecell_Currdatastatus.ULO_P1_Level1_L;   
@@ -6050,10 +6041,22 @@ void DET_LevelAlarmCheck(){
6050 6041
     Res_UL_dBm[DET_Alarm_UL4_Index] 
6051 6042
         = bluecell_Currdatastatus.ULO_Level4_H << 8 | bluecell_Currdatastatus.ULO_Level4_L;//(int8_t)Bluecell_TestPro(AutoControl_ADC_Compare(ret,&Det_UL4.Table_Det_15_dBm_H,Det_UL4.Table_Length * 2));
6052 6043
 
6053
-    Res_UL_dBm[DET_Alarm_UL1_Index] *= 0.1;
6054
-    Res_UL_dBm[DET_Alarm_UL2_Index] *= 0.1;
6055
-    Res_UL_dBm[DET_Alarm_UL3_Index] *= 0.1;
6056
-    Res_UL_dBm[DET_Alarm_UL4_Index] *= 0.1;
6044
+//    Res_UL_dBm[DET_Alarm_UL1_Index] *= 0.1;
6045
+//    Res_UL_dBm[DET_Alarm_UL2_Index] *= 0.1;
6046
+//    Res_UL_dBm[DET_Alarm_UL3_Index] *= 0.1;
6047
+//    Res_UL_dBm[DET_Alarm_UL4_Index] *= 0.1;
6048
+    for(int i = 0; i < DET_Alarm_UL_Index_MAX; i++){
6049
+        if(Res_UL_dBm[DET_Alarm_UL1_Index + i] % 10 != 0){
6050
+            Res_UL_dBm[DET_Alarm_UL1_Index + i] *= 0.1;
6051
+            if(Res_UL_dBm[DET_Alarm_UL1_Index + i] < 0)
6052
+                Res_UL_dBm[DET_Alarm_UL1_Index + i]--;
6053
+            else
6054
+                Res_UL_dBm[DET_Alarm_UL1_Index + i]++;
6055
+        }else{
6056
+            Res_UL_dBm[DET_Alarm_UL1_Index + i] *= 0.1;
6057
+        }
6058
+
6059
+    }
6057 6060
 
6058 6061
 
6059 6062
     /*
@@ -6063,6 +6066,7 @@ void DET_LevelAlarmCheck(){
6063 6066
     for(int i = 0 ; i < DET_Alarm_DL_Index_MAX; i++){
6064 6067
         if(LimitData_DL_High <= Res_DL_dBm[DET_Alarm_DL1_Index + i]){
6065 6068
             ADC_Alarm_DL_High_Set[DET_Alarm_DL1_Index + i] = true;
6069
+//            printf("DL High Threadhold : %d |||| DL Det : %d \r\n",LimitData_DL_High,Res_DL_dBm[DET_Alarm_DL1_Index + i]);
6066 6070
 //            printf("ADC_Alarm_DL_High_Set %d ,Value : %d\r\n",DET_Alarm_UL1_Index + i,ADC_Alarm_DL_High_Set[DET_Alarm_UL1_Index + i]);            
6067 6071
         }
6068 6072
         else{
@@ -8340,15 +8344,16 @@ void AGC_Package_Operate(uint8_t* Threshold,uint8_t* DL_MainAtten,uint8_t Tablei
8340 8344
         if((CurrAtten) < IwillgiveAtten)
8341 8345
             IwillgiveAtten = (CurrAtten );
8342 8346
 
8343
-        if(ResdBm > Limitdata &&  DL_PrevIwillgiveAtten[Tableindex] > IwillgiveAtten){
8347
+        if((ResdBm + CurrAtten) > Limitdata &&  DL_PrevIwillgiveAtten[Tableindex] > IwillgiveAtten){
8344 8348
 //            printf("IwillgiveAtten : %d \r\n",IwillgiveAtten);
8345 8349
             DL_PrevIwillgiveAtten[Tableindex] = IwillgiveAtten;
8346
-            IwillgiveAtten = (DL_AGC_StartAtten[Tableindex]*0.1) + IwillgiveAtten;
8350
+//            IwillgiveAtten = (DL_AGC_StartAtten[Tableindex]*0.1) + IwillgiveAtten;
8347 8351
 //            printf("WILLATTEN RET : %d \r\n",IwillgiveAtten);
8348 8352
             AGC_Alarm_Check(AGC_Alarm_DL1_Index + Tableindex,ret,&DL_Table->Table_Det5_dBm_H,IwillgiveAtten);
8349 8353
 
8350 8354
             DL_MainAtten[DLI_AGC_H] = (((IwillgiveAtten * 10) & 0xFF00) >> 8) ;
8351 8355
             DL_MainAtten[DLI_AGC_L] = (((IwillgiveAtten * 10) & 0x00FF));   
8356
+//            printf("Apply Curr ATTEN %d \r\n", (int16_t)(DL_MainAtten[DLI_AGC_H] << 8 |  DL_MainAtten[DLI_AGC_L]));
8352 8357
             CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
8353 8358
         }
8354 8359
         else if(bluecell_Currdatastatus.DLI_FRBT_Status == FRBT_RUNNING){
@@ -8360,7 +8365,8 @@ void AGC_Package_Operate(uint8_t* Threshold,uint8_t* DL_MainAtten,uint8_t Tablei
8360 8365
                 
8361 8366
                 DL_PrevIwillgiveAtten[Tableindex] = IwillgiveAtten;
8362 8367
                 DL_MainAtten[DLI_AGC_H] = (((IwillgiveAtten * 10) & 0xFF00) >> 8) ;
8363
-                DL_MainAtten[DLI_AGC_L] = (((IwillgiveAtten * 10) & 0x00FF));   
8368
+                DL_MainAtten[DLI_AGC_L] = (((IwillgiveAtten * 10) & 0x00FF));  
8369
+              
8364 8370
                 CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);            
8365 8371
             }
8366 8372
         }
@@ -8483,6 +8489,7 @@ void AGC_Function(){//DL
8483 8489
                             &bluecell_Currdatastatus.DLI_Level1_H,
8484 8490
                             &Det_DL1.Table_Det5_dBm_H                        ,
8485 8491
                             &bluecell_Currdatastatus.DLI_FRBT_Atten1_H);
8492
+#if 1 // PYJ.2020.09.15_BEGIN -- 
8486 8493
         AGC_Package_Operate(&bluecell_Currdatastatus.DLI_AGC_Threshold_H,
8487 8494
                             &bluecell_Currdatastatus.ATT_DL2_H,
8488 8495
                             AGC_Alarm_DL2_Index,
@@ -8504,6 +8511,7 @@ void AGC_Function(){//DL
8504 8511
                             &bluecell_Currdatastatus.DLI_Level4_H,
8505 8512
                             &Det_DL4.Table_Det5_dBm_H,
8506 8513
                             &bluecell_Currdatastatus.DLI_FRBT_Atten4_H);    
8514
+#endif // PYJ.2020.09.15_END -- 
8507 8515
 
8508 8516
         }
8509 8517
         DL_Det_Function(MBIC_Table_DL1_INDEX,&bluecell_Currdatastatus.DLI_P1_Level1_H,&Det_DL1.Table_Det5_dBm_H,&bluecell_Currdatastatus.DLI_Level1_H);
@@ -9262,8 +9270,8 @@ void SelfTestTimer_Operate()
9262 9270
     SelfTest_TimerOff(SelfTest4,&bluecell_Currdatastatus.SelfTest);
9263 9271
 }
9264 9272
 void FRBT_Operate(){
9265
-    if(bluecell_Currdatastatus.DLI_FRBT_D_Day == 0  || bluecell_Currdatastatus.DLI_AGC_ON_OFF == false){    /*AGC ON ONLY*/
9266
-        if(FRBT_UserCtrl_Get() == true){
9273
+    if(bluecell_Currdatastatus.DLI_FRBT_D_Day == 0 || bluecell_Currdatastatus.DLI_AGC_ON_OFF == false){    /*AGC ON ONLY*/
9274
+        if(FRBT_UserCtrl_Get() == true || bluecell_Currdatastatus.DLI_AGC_ON_OFF == false){
9267 9275
             bluecell_Currdatastatus.DLI_FRBT_Status = FRBT_IDEL;
9268 9276
         }else{
9269 9277
             bluecell_Currdatastatus.DLI_FRBT_Status = FRBT_RUNNING;