Browse Source

HFR 검수 개선 사항
Carrier Off 시 Alarm Data OFF 상태로 변경
FRBT Day 0 지정시 상태 IDLE 로변경
FRBT Tracking 상태로 변경 지점은 한 곳에서만 변경 가능 하도록 수정

PYJ 5 years ago
parent
commit
952cccdbfe
2 changed files with 29 additions and 14 deletions
  1. 28 14
      Bluecell_Src/Bluecell_operate.c
  2. 1 0
      Src/main.c

+ 28 - 14
Bluecell_Src/Bluecell_operate.c

@@ -3573,7 +3573,7 @@ uint32_t MBIC_DataSend(uint8_t* data){
3573 3573
     uint16_t Crcret = 0;
3574 3574
     int16_t tmpdata = 0;
3575 3575
      uint32_t HeaderLength = 79;
3576
-	 
3576
+	
3577 3577
 
3578 3578
     
3579 3579
     /*ALARM BIT LIST*/
@@ -3588,15 +3588,22 @@ uint32_t MBIC_DataSend(uint8_t* data){
3588 3588
     data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_MASK3 = 0xFF;
3589 3589
     data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_MASK4 = 0x0F;
3590 3590
     data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_MASK5 = 0xFF;
3591
-    data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_TEMP_HIGH;
3592
-    data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_DLI_Level;
3593
-    data[MBIC_PAYLOADSTART + i++] = (bluecell_Currdatastatus.ALARM_DLI_AGC_Alarm & 0xF0 )
3594
-                                  | (bluecell_Currdatastatus.ALARM_DLI_SHTUTDOWN & 0x0F);
3595
-    
3596
-    data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_ULO_Level;
3597
-    data[MBIC_PAYLOADSTART + i++] = (bluecell_Currdatastatus.ALARM_ULO_ALC_Alarm & 0xF0)
3598
-                                    |(bluecell_Currdatastatus.ALARM_ULO_SHTUTDOWN & 0x0F);
3599
-    
3591
+     if(bluecell_Currdatastatus.Carrier_ON_OFF == false){
3592
+        data[MBIC_PAYLOADSTART + i++] = 0;
3593
+        data[MBIC_PAYLOADSTART + i++] = 0;
3594
+        data[MBIC_PAYLOADSTART + i++] = 0;
3595
+        data[MBIC_PAYLOADSTART + i++] = 0;
3596
+        data[MBIC_PAYLOADSTART + i++] = 0;
3597
+     }else{
3598
+        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_TEMP_HIGH;
3599
+        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_DLI_Level;
3600
+        data[MBIC_PAYLOADSTART + i++] = (bluecell_Currdatastatus.ALARM_DLI_AGC_Alarm & 0xF0 )
3601
+                                      | (bluecell_Currdatastatus.ALARM_DLI_SHTUTDOWN & 0x0F);
3602
+        
3603
+        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_ULO_Level;
3604
+        data[MBIC_PAYLOADSTART + i++] = (bluecell_Currdatastatus.ALARM_ULO_ALC_Alarm & 0xF0)
3605
+                                        |(bluecell_Currdatastatus.ALARM_ULO_SHTUTDOWN & 0x0F);
3606
+    }
3600 3607
     /*ALARM BIT MASK*/
3601 3608
     data[MBIC_PAYLOADSTART + i++] = MBIC_AID;
3602 3609
     data[MBIC_PAYLOADSTART + i++] = Alarm_Mask;
@@ -5040,8 +5047,8 @@ bool MBIC_Operate(uint8_t* data){
5040 5047
                     bluecell_Currdatastatus.Serial_Number[i] = data[MBIC_PAYLOADSTART + 3 + i]; 
5041 5048
                 break;
5042 5049
             case  Carrier_ON_OFF                          :
5043
-                Carrier_ONOFF(bluecell_Currdatastatus.Carrier_ON_OFF);
5044 5050
                 bluecell_Currdatastatus.Carrier_ON_OFF = data[MBIC_PAYLOADSTART + 3]; 
5051
+                Carrier_ONOFF(bluecell_Currdatastatus.Carrier_ON_OFF);
5045 5052
                 break;
5046 5053
             case  DLI_RF_Path1_ON_OFF             :
5047 5054
              if(bluecell_Currdatastatus.Carrier_ON_OFF == false)
@@ -5182,6 +5189,13 @@ bool MBIC_Operate(uint8_t* data){
5182 5189
                 break;
5183 5190
             case DLI_FRBT_D_Day: 
5184 5191
                 bluecell_Currdatastatus.DLI_FRBT_D_Day = data[MBIC_PAYLOADSTART + 3];
5192
+                if(bluecell_Currdatastatus.DLI_FRBT_D_Day == 0){
5193
+                    FRBT_Day_Inc = 0;
5194
+                    bluecell_Currdatastatus.DLI_FRBT_Status = FRBT_IDEL; 
5195
+                    
5196
+                }else{
5197
+                    bluecell_Currdatastatus.DLI_FRBT_Status = FRBT_TRACKING; 
5198
+                }
5185 5199
                 break;
5186 5200
 
5187 5201
             case  DLI_AGC_ON_OFF                   :
@@ -5204,7 +5218,6 @@ bool MBIC_Operate(uint8_t* data){
5204 5218
                         StartTimeFRBT_Day[DLI_FRBT_Time_Year + i] = data[MBIC_TIME_0 + i]; /* Curr day */
5205 5219
                     }
5206 5220
                     FRBT_Day_Inc = 1;
5207
-                    bluecell_Currdatastatus.DLI_FRBT_Status = FRBT_TRACKING;   
5208 5221
                     printf("FRBT Tracking START \r\n");
5209 5222
                     printf("FRBT Start Time Save : %d Y %d M %d D %d H %d M %d S\r\n",
5210 5223
                     StartTimeFRBT_Day[DLI_FRBT_Time_Year],
@@ -9272,7 +9285,7 @@ void DLI_AGCAlarmCheck(){
9272 9285
             bluecell_Currdatastatus.ALARM_DLI_AGC_Alarm |= ALARM_AGC_P4;
9273 9286
             bluecell_Currdatastatus.DLI_AGC_Alarm4       = true;
9274 9287
         }else{
9275
-            if(AGC_Off_AlarmTimerCnt[AGC_Alarm_DL3_Index] >= MBIC_OFF_MAINTAIN_SEC){
9288
+            if(AGC_Off_AlarmTimerCnt[AGC_Alarm_DL4_Index] >= MBIC_OFF_MAINTAIN_SEC){
9276 9289
                 bluecell_Currdatastatus.ALARM_DLI_AGC_Alarm &= ~ALARM_AGC_P4;
9277 9290
                 bluecell_Currdatastatus.DLI_AGC_Alarm4       = false;            
9278 9291
             }
@@ -9495,7 +9508,8 @@ void SelfTestTimer_Operate()
9495 9508
 }
9496 9509
 void FRBT_Operate(){
9497 9510
 
9498
-    if(bluecell_Currdatastatus.DLI_AGC_ON_OFF == false){    /*AGC ON ONLY*/
9511
+    if(bluecell_Currdatastatus.DLI_FRBT_D_Day == 0  || bluecell_Currdatastatus.DLI_AGC_ON_OFF == false){    /*AGC ON ONLY*/
9512
+        bluecell_Currdatastatus.DLI_FRBT_Status = FRBT_IDEL;
9499 9513
 //        printf("AGC OFF \r\n");
9500 9514
         return;
9501 9515
     }

+ 1 - 0
Src/main.c

@@ -1022,6 +1022,7 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
1022 1022
             ALC_Off_AlarmTimerCnt[ALC_Alarm_UL3_Index] = MBIC_OFF_MAINTAIN_SEC;
1023 1023
           }          
1024 1024
       }
1025
+      
1025 1026
       if(ALC_AlarmSet[ALC_Alarm_UL4_Index] == true){
1026 1027
           ALC_On_AlarmTimerCnt[ALC_Alarm_UL4_Index]++;
1027 1028
           ALC_Off_AlarmTimerCnt[ALC_Alarm_UL4_Index] = 0;