Explorar o código

FRBT Test Mode / FRBT User Ctrl Zero 일 때 Atten 0 Setting / ALC Shutdown 이상동장 수정 /Alarm LED 이상 동작 수정

 ALC Shutdown 이상동장 수정
 -Detail-
   ALC Shutdown 시 On 을 안하고 곧바로 Shutdown Cnt 가 올라가는 문제
   ALC Shutdown 할 때 Path 가 False 일 때 Cnt 올라가도록 수정
 Alarm LED 이상 동작 수정
 -Detail-
   Mask 와 Alarm 을 실제 마스크 하여 LED 동작하도록 수정
PYJ %!s(int64=4) %!d(string=hai) anos
pai
achega
6a6e3776de
Modificáronse 1 ficheiros con 76 adicións e 13 borrados
  1. 76 13
      Bluecell_Src/Bluecell_operate.c

+ 76 - 13
Bluecell_Src/Bluecell_operate.c

@@ -185,9 +185,9 @@ bool UL_PathUserHandl[4] = {0,};
185 185
 typedef enum{
186 186
     DLI_FRBT_Time_Year = 0,
187 187
     DLI_FRBT_Time_Month,
188
-    DLI_FRBT_Time_Day,
189
-    DLI_FRBT_Time_Hour,
190 188
     DLI_FRBT_Time_Minute,
189
+    DLI_FRBT_Time_Hour,
190
+    DLI_FRBT_Time_Day,
191 191
     DLI_FRBT_Time_Second,    
192 192
     DLI_FRBT_Time_Index_Max,        
193 193
 };
@@ -5276,6 +5276,11 @@ bool MBIC_Operate(uint8_t* data){
5276 5276
                 bluecell_Currdatastatus.ALARM_MASK3 = data[MBIC_PAYLOADSTART + 5]; 
5277 5277
                 bluecell_Currdatastatus.ALARM_MASK4 = data[MBIC_PAYLOADSTART + 6]; 
5278 5278
                 bluecell_Currdatastatus.ALARM_MASK5 = data[MBIC_PAYLOADSTART + 7]; 
5279
+//                printf("bluecell_Currdatastatus.ALARM_MASK1 : %x \r\n",data[MBIC_PAYLOADSTART + 3]);                
5280
+//                printf("bluecell_Currdatastatus.ALARM_MASK2 : %x \r\n",data[MBIC_PAYLOADSTART + 4]);                
5281
+//                printf("bluecell_Currdatastatus.ALARM_MASK3 : %x \r\n",data[MBIC_PAYLOADSTART + 5]);                
5282
+//                printf("bluecell_Currdatastatus.ALARM_MASK4 : %x \r\n",data[MBIC_PAYLOADSTART + 6]);                
5283
+//                printf("bluecell_Currdatastatus.ALARM_MASK5 : %x \r\n",data[MBIC_PAYLOADSTART + 7]);                                
5279 5284
                 break;
5280 5285
             case  Alarm_Test_Mode                         :
5281 5286
 //                printf("bluecell_Currdatastatus.ALsARM_TESTMODE : %d \r\n",bluecell_Currdatastatus.ALARM_TESTMODE);
@@ -5505,6 +5510,24 @@ bool MBIC_Operate(uint8_t* data){
5505 5510
                 if(bluecell_Currdatastatus.DLI_FRBT_D_Day == 0){
5506 5511
                     FRBT_UserCtrl = true;
5507 5512
                     bluecell_Currdatastatus.DLI_FRBT_Status = FRBT_IDEL; 
5513
+                    /*DL Gain Atten Init*/
5514
+                    /*FRBT Atten init*/
5515
+                    bluecell_Currdatastatus.ATT_DL1_H = DLI_ATTEN_DEFAULT; 
5516
+                    bluecell_Currdatastatus.ATT_DL1_L = DLI_ATTEN_DEFAULT;
5517
+                    bluecell_Currdatastatus.ATT_DL2_H = DLI_ATTEN_DEFAULT; 
5518
+                    bluecell_Currdatastatus.ATT_DL2_L = DLI_ATTEN_DEFAULT;
5519
+                    bluecell_Currdatastatus.ATT_DL3_H = DLI_ATTEN_DEFAULT; 
5520
+                    bluecell_Currdatastatus.ATT_DL3_L = DLI_ATTEN_DEFAULT;
5521
+                    bluecell_Currdatastatus.ATT_DL4_H = DLI_ATTEN_DEFAULT; 
5522
+                    bluecell_Currdatastatus.ATT_DL4_L = DLI_ATTEN_DEFAULT;                    
5523
+                    bluecell_Currdatastatus.DLI_FRBT_Atten1_H = DLI_FRBT_ATTEN_DEFALUT;
5524
+                    bluecell_Currdatastatus.DLI_FRBT_Atten2_H = DLI_FRBT_ATTEN_DEFALUT;
5525
+                    bluecell_Currdatastatus.DLI_FRBT_Atten3_H = DLI_FRBT_ATTEN_DEFALUT;
5526
+                    bluecell_Currdatastatus.DLI_FRBT_Atten4_H = DLI_FRBT_ATTEN_DEFALUT;
5527
+                    bluecell_Currdatastatus.DLI_FRBT_Atten1_L= DLI_FRBT_ATTEN_DEFALUT;    
5528
+                    bluecell_Currdatastatus.DLI_FRBT_Atten2_L= DLI_FRBT_ATTEN_DEFALUT;    
5529
+                    bluecell_Currdatastatus.DLI_FRBT_Atten3_L= DLI_FRBT_ATTEN_DEFALUT;    
5530
+                    bluecell_Currdatastatus.DLI_FRBT_Atten4_L= DLI_FRBT_ATTEN_DEFALUT;                       
5508 5531
                     
5509 5532
                 }else{
5510 5533
                     bluecell_Currdatastatus.DLI_FRBT_Status = FRBT_TRACKING; 
@@ -6277,11 +6300,13 @@ void DET_LevelAlarmCheck(){
6277 6300
 //    printf("============================================================================\r\n");
6278 6301
     /*UL Shutdown Check */
6279 6302
     for(int i = 0 ; i < DET_Alarm_UL_Shutdown_Index_MAX; i++){
6280
-
6281
-        /*UL Shutdown Cnt plus Condition Check */
6282
-        if(LimitData_UL_Shutdown <= Res_UL_dBm[DET_Alarm_UL1_Shutdown_Index + i]){
6283
-//            if(i != 0)
6303
+//          if(i != 0)
6284 6304
 //                continue;
6305
+        /*UL Shutdown Cnt plus Condition Check */
6306
+        if(LimitData_UL_Shutdown <= Res_UL_dBm[DET_Alarm_UL1_Shutdown_Index + i] 
6307
+            && UL_PathStatus[DET_Alarm_UL1_Shutdown_Index + i] == true){
6308
+          
6309
+//            printf("UL_PathStatus[%d] %d \r\n",i,UL_PathStatus[DET_Alarm_UL1_Shutdown_Index + i]);
6285 6310
             ADC_Alarm_UL_Shutdown_Set[DET_Alarm_UL1_Shutdown_Index + i] = true;
6286 6311
 //            printf("1 Shutdown threas hold : %d | Curr Meas : %d Shutdown UL %d | Alarm ON Count : %d\r\n",LimitData_UL_Shutdown,Res_UL_dBm[DET_Alarm_UL1_Shutdown_Index + i],i + 1,UL_RetryCount[DET_Alarm_UL1_Shutdown_Index + i] );
6287 6312
         }
@@ -6289,8 +6314,9 @@ void DET_LevelAlarmCheck(){
6289 6314
 //            if(i != 0)
6290 6315
 //                continue;  
6291 6316
             /*UL Shutdown Minus Condition Check */            
6292
-            if(LimitData_UL_Shutdown - 2 >= Res_UL_dBm[DET_Alarm_UL1_Shutdown_Index + i])
6293
-            ADC_Alarm_UL_Shutdown_Set[DET_Alarm_UL1_Shutdown_Index + i] = false;
6317
+            if(LimitData_UL_Shutdown - 2 >= Res_UL_dBm[DET_Alarm_UL1_Shutdown_Index + i] || UL_PathStatus[DET_Alarm_UL1_Shutdown_Index + i] == false)
6318
+                ADC_Alarm_UL_Shutdown_Set[DET_Alarm_UL1_Shutdown_Index + i] = false;
6319
+//                printf("ADC_Alarm_UL_Shutdown_Set[DET_Alarm_UL1_Shutdown_Index + i] =  %d \r\n ",ADC_Alarm_UL_Shutdown_Set[DET_Alarm_UL1_Shutdown_Index ]);
6294 6320
 //            printf("2 Shutdown threas hold : %d | Curr Meas : %d Shutdown UL %d | Alarm OFF Count : %d\r\n",LimitData_UL_Shutdown,Res_UL_dBm[DET_Alarm_UL1_Shutdown_Index + i],i + 1,UL_RetryCount[DET_Alarm_UL1_Shutdown_Index + i] );
6295 6321
             if(UL_PathStatus[DET_Alarm_UL1_Shutdown_Index + i] == true){
6296 6322
                 ADC_Alarm_UL_Normal_Shutdown_Set[DET_Alarm_UL1_Shutdown_Index + i] = true;
@@ -6307,6 +6333,7 @@ void DET_LevelAlarmCheck(){
6307 6333
             }            
6308 6334
         }
6309 6335
     }
6336
+    
6310 6337
     /*
6311 6338
         UL Level Alarm Check Part
6312 6339
     */
@@ -8957,7 +8984,8 @@ void UL_Shutdown_Operate(uint8_t Index,uint8_t* Path,uint8_t* PrevATT,uint8_t* R
8957 8984
     if((*RetryCnt) < 3
8958 8985
 //        && (PrevMBIC_UL_ShutdownCount[Index] != MBIC_UL_ShutdownCount[Index])
8959 8986
         && DET_UL_Shutdown_Off_AlarmTimerCnt[Index] >= MBIC_RECOVERY_SHUTDOWN_MAINTAIN_SEC
8960
-        && (*RetryCnt) > 0){
8987
+        && (*RetryCnt) > 0
8988
+        && (*Path) == false){
8961 8989
         HAL_GPIO_WritePin(Port,Pin,GPIO_PIN_SET);//CLOCK
8962 8990
 //        printf();
8963 8991
         *Path = true;            
@@ -8974,13 +9002,12 @@ void UL_Shutdown_Operate(uint8_t Index,uint8_t* Path,uint8_t* PrevATT,uint8_t* R
8974 9002
         PrevATT[UL_Shutdown_L] = 0xFF;
8975 9003
         CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus); 
8976 9004
     }                  
8977
-    if(DET_UL_Shutdown_On_AlarmTimerCnt[Index] >= MBIC_ON_SHUTDOWN_MAINTAIN_SEC)
9005
+    if(DET_UL_Shutdown_On_AlarmTimerCnt[Index] >= MBIC_ON_SHUTDOWN_MAINTAIN_SEC && (*Path) == true)
8978 9006
     {
8979 9007
         /*Shutdown 5sec Alarm*/
8980 9008
         HAL_GPIO_WritePin(Port,Pin,GPIO_PIN_RESET);//CLOCK      
8981 9009
         *Path = false;
8982 9010
         (*RetryCnt)++;
8983
-        DET_UL_Shutdown_On_AlarmTimerCnt[Index] = 0;
8984 9011
         
8985 9012
         if((*RetryCnt) >= RETRYCNT_MAX){
8986 9013
             (*RetryCnt) = RETRYCNT_MAX;
@@ -8998,7 +9025,9 @@ void UL_Shutdown_Operate(uint8_t Index,uint8_t* Path,uint8_t* PrevATT,uint8_t* R
8998 9025
         bluecell_Currdatastatus.ALARM_ULO_SHTUTDOWN |= AlarmFlag;
8999 9026
         *ShutdownAlarm       = true;
9000 9027
     }
9001
-
9028
+//    printf("DET_UL_Shutdown_Off_AlarmTimerCnt[%d] : %d\r\n",Index,DET_UL_Shutdown_Off_AlarmTimerCnt[Index]);
9029
+//    printf("ADC_Alarm_UL_Shutdown_Set[%d] : %d\r\n",Index,ADC_Alarm_UL_Shutdown_Set[Index]);    
9030
+//     
9002 9031
 }
9003 9032
 
9004 9033
 void ULO_ShutdownAlarmCheck(){
@@ -9028,6 +9057,7 @@ void ULO_ShutdownAlarmCheck(){
9028 9057
                             &bluecell_Currdatastatus.ULO_Shutdown_Retry_Count1,
9029 9058
                             &bluecell_Currdatastatus.ULO_Shutdown_Alarm1,
9030 9059
                             ALARM_ULO_SHUTDOWN_P1);
9060
+#if 1 // PYJ.2020.09.23_BEGIN -- 
9031 9061
     UL_Shutdown_Operate(DET_Alarm_UL2_Shutdown_Index,
9032 9062
                             &bluecell_Currdatastatus.ATT_UL2_PATH,
9033 9063
                             &bluecell_Prevdatastatus.ATT_UL2_H,
@@ -9046,6 +9076,7 @@ void ULO_ShutdownAlarmCheck(){
9046 9076
                             &bluecell_Currdatastatus.ULO_Shutdown_Retry_Count4,
9047 9077
                             &bluecell_Currdatastatus.ULO_Shutdown_Alarm4,
9048 9078
                             ALARM_ULO_SHUTDOWN_P4);
9079
+#endif // PYJ.2020.09.23_END -- 
9049 9080
 #else
9050 9081
 
9051 9082
 
@@ -9442,8 +9473,11 @@ void LED_Alarm_Check(){
9442 9473
     if(bluecell_Currdatastatus.ALARM_TESTMODE == false){
9443 9474
           if(bluecell_Currdatastatus.SelfTest == true){
9444 9475
               Alarm_LED_OnSet = false;
9476
+              printf("%d\r\n",__LINE__);
9445 9477
           }
9446
-          else if(  (bluecell_Currdatastatus.ALARM_TEMP_HIGH      > 0 && bluecell_Currdatastatus.ALARM_MASK1 != false) 
9478
+#if 0 // PYJ.2020.09.23_BEGIN -- 
9479
+          else if( 
9480
+               (bluecell_Currdatastatus.ALARM_TEMP_HIGH      > 0 && bluecell_Currdatastatus.ALARM_MASK1 != false) 
9447 9481
             || (bluecell_Currdatastatus.ALARM_DLI_Level      > 0 && bluecell_Currdatastatus.ALARM_MASK2 != false)
9448 9482
             || (bluecell_Currdatastatus.ALARM_DLI_SHTUTDOWN  > 0 && bluecell_Currdatastatus.ALARM_MASK3 != false)
9449 9483
             || (bluecell_Currdatastatus.ALARM_DLI_AGC_Alarm  > 0 && bluecell_Currdatastatus.ALARM_MASK3 != false)
@@ -9452,9 +9486,36 @@ void LED_Alarm_Check(){
9452 9486
             || (bluecell_Currdatastatus.ALARM_ULO_SHTUTDOWN  > 0 && bluecell_Currdatastatus.ALARM_MASK5 != false))
9453 9487
             {
9454 9488
                     Alarm_LED_OnSet  = true;
9489
+//                                  printf("%d    ::: bluecell_Currdatastatus.ALARM_MASK2 : %x \r\n",__LINE__,bluecell_Currdatastatus.ALARM_MASK2);
9455 9490
             }else{
9456 9491
                     Alarm_LED_OnSet = false;
9492
+                                  printf("%d    ::: bluecell_Currdatastatus.ALARM_MASK2 : %x \r\n",__LINE__,bluecell_Currdatastatus.ALARM_MASK2);
9457 9493
             }
9494
+#else
9495
+          else if( 
9496
+               ((bluecell_Currdatastatus.ALARM_TEMP_HIGH       & bluecell_Currdatastatus.ALARM_MASK1)> 0) 
9497
+            || ((bluecell_Currdatastatus.ALARM_DLI_Level       & bluecell_Currdatastatus.ALARM_MASK2)> 0)
9498
+            || ((bluecell_Currdatastatus.ALARM_DLI_SHTUTDOWN   & bluecell_Currdatastatus.ALARM_MASK3)> 0)
9499
+            || ((bluecell_Currdatastatus.ALARM_DLI_AGC_Alarm   & bluecell_Currdatastatus.ALARM_MASK3)> 0)
9500
+            || ((bluecell_Currdatastatus.ALARM_ULO_Level       & bluecell_Currdatastatus.ALARM_MASK4)> 0)
9501
+            || ((bluecell_Currdatastatus.ALARM_ULO_ALC_Alarm   & bluecell_Currdatastatus.ALARM_MASK5)> 0)
9502
+            || ((bluecell_Currdatastatus.ALARM_ULO_SHTUTDOWN   & bluecell_Currdatastatus.ALARM_MASK5)> 0))
9503
+            {
9504
+                    Alarm_LED_OnSet  = true;
9505
+//                                  printf("%d    ::: bluecell_Currdatastatus.ALARM_MASK2 : %x \r\n",__LINE__,bluecell_Currdatastatus.ALARM_MASK2);
9506
+            }else{
9507
+                    Alarm_LED_OnSet = false;
9508
+//                    printf  ("bluecell_Currdatastatus.ALARM_MASK1 : %x \r\n",bluecell_Currdatastatus.ALARM_TEMP_HIGH       & bluecell_Currdatastatus.ALARM_MASK1) ;
9509
+//                    printf ("bluecell_Currdatastatus.ALARM_MASK2 : %x \r\n",bluecell_Currdatastatus.ALARM_DLI_Level       & bluecell_Currdatastatus.ALARM_MASK2);
9510
+//                    printf ("bluecell_Currdatastatus.ALARM_MASK3 : %x \r\n",bluecell_Currdatastatus.ALARM_DLI_SHTUTDOWN   & bluecell_Currdatastatus.ALARM_MASK3);
9511
+//                    printf ("bluecell_Currdatastatus.ALARM_MASK3 : %x \r\n",bluecell_Currdatastatus.ALARM_DLI_AGC_Alarm   & bluecell_Currdatastatus.ALARM_MASK3);
9512
+//                    printf ("bluecell_Currdatastatus.ALARM_MASK4 : %x \r\n",bluecell_Currdatastatus.ALARM_ULO_Level       & bluecell_Currdatastatus.ALARM_MASK4);
9513
+//                    printf ("bluecell_Currdatastatus.ALARM_MASK5 : %x \r\n",bluecell_Currdatastatus.ALARM_ULO_ALC_Alarm   & bluecell_Currdatastatus.ALARM_MASK5);
9514
+//                    printf ("bluecell_Currdatastatus.ALARM_MASK5 : %x \r\n",bluecell_Currdatastatus.ALARM_ULO_SHTUTDOWN   & bluecell_Currdatastatus.ALARM_MASK5);                  
9515
+            }
9516
+
9517
+
9518
+#endif // PYJ.2020.09.23_END -- 
9458 9519
     }
9459 9520
     else{
9460 9521
         if(bluecell_Currdatastatus.ALARM_Test_Dummy1         > 0 
@@ -9464,9 +9525,11 @@ void LED_Alarm_Check(){
9464 9525
         || bluecell_Currdatastatus.ALARM_Test_Dummy5         > 0)
9465 9526
         {
9466 9527
             Alarm_LED_OnSet  = true;
9528
+                          printf("%d\r\n",__LINE__);
9467 9529
         }
9468 9530
         else{
9469 9531
             Alarm_LED_OnSet = false;
9532
+                          printf("%d\r\n",__LINE__);
9470 9533
         }
9471 9534
 
9472 9535
     }