Bläddra i källkod

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

PYJ 5 år sedan
förälder
incheckning
952cccdbfe
2 ändrade filer med 29 tillägg och 14 borttagningar
  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
     uint16_t Crcret = 0;
3573
     uint16_t Crcret = 0;
3574
     int16_t tmpdata = 0;
3574
     int16_t tmpdata = 0;
3575
      uint32_t HeaderLength = 79;
3575
      uint32_t HeaderLength = 79;
3576
-	 
3576
+	
3577
 
3577
 
3578
     
3578
     
3579
     /*ALARM BIT LIST*/
3579
     /*ALARM BIT LIST*/
@@ -3588,15 +3588,22 @@ uint32_t MBIC_DataSend(uint8_t* data){
3588
     data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_MASK3 = 0xFF;
3588
     data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_MASK3 = 0xFF;
3589
     data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_MASK4 = 0x0F;
3589
     data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_MASK4 = 0x0F;
3590
     data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ALARM_MASK5 = 0xFF;
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
     /*ALARM BIT MASK*/
3607
     /*ALARM BIT MASK*/
3601
     data[MBIC_PAYLOADSTART + i++] = MBIC_AID;
3608
     data[MBIC_PAYLOADSTART + i++] = MBIC_AID;
3602
     data[MBIC_PAYLOADSTART + i++] = Alarm_Mask;
3609
     data[MBIC_PAYLOADSTART + i++] = Alarm_Mask;
@@ -5040,8 +5047,8 @@ bool MBIC_Operate(uint8_t* data){
5040
                     bluecell_Currdatastatus.Serial_Number[i] = data[MBIC_PAYLOADSTART + 3 + i]; 
5047
                     bluecell_Currdatastatus.Serial_Number[i] = data[MBIC_PAYLOADSTART + 3 + i]; 
5041
                 break;
5048
                 break;
5042
             case  Carrier_ON_OFF                          :
5049
             case  Carrier_ON_OFF                          :
5043
-                Carrier_ONOFF(bluecell_Currdatastatus.Carrier_ON_OFF);
5044
                 bluecell_Currdatastatus.Carrier_ON_OFF = data[MBIC_PAYLOADSTART + 3]; 
5050
                 bluecell_Currdatastatus.Carrier_ON_OFF = data[MBIC_PAYLOADSTART + 3]; 
5051
+                Carrier_ONOFF(bluecell_Currdatastatus.Carrier_ON_OFF);
5045
                 break;
5052
                 break;
5046
             case  DLI_RF_Path1_ON_OFF             :
5053
             case  DLI_RF_Path1_ON_OFF             :
5047
              if(bluecell_Currdatastatus.Carrier_ON_OFF == false)
5054
              if(bluecell_Currdatastatus.Carrier_ON_OFF == false)
@@ -5182,6 +5189,13 @@ bool MBIC_Operate(uint8_t* data){
5182
                 break;
5189
                 break;
5183
             case DLI_FRBT_D_Day: 
5190
             case DLI_FRBT_D_Day: 
5184
                 bluecell_Currdatastatus.DLI_FRBT_D_Day = data[MBIC_PAYLOADSTART + 3];
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
                 break;
5199
                 break;
5186
 
5200
 
5187
             case  DLI_AGC_ON_OFF                   :
5201
             case  DLI_AGC_ON_OFF                   :
@@ -5204,7 +5218,6 @@ bool MBIC_Operate(uint8_t* data){
5204
                         StartTimeFRBT_Day[DLI_FRBT_Time_Year + i] = data[MBIC_TIME_0 + i]; /* Curr day */
5218
                         StartTimeFRBT_Day[DLI_FRBT_Time_Year + i] = data[MBIC_TIME_0 + i]; /* Curr day */
5205
                     }
5219
                     }
5206
                     FRBT_Day_Inc = 1;
5220
                     FRBT_Day_Inc = 1;
5207
-                    bluecell_Currdatastatus.DLI_FRBT_Status = FRBT_TRACKING;   
5208
                     printf("FRBT Tracking START \r\n");
5221
                     printf("FRBT Tracking START \r\n");
5209
                     printf("FRBT Start Time Save : %d Y %d M %d D %d H %d M %d S\r\n",
5222
                     printf("FRBT Start Time Save : %d Y %d M %d D %d H %d M %d S\r\n",
5210
                     StartTimeFRBT_Day[DLI_FRBT_Time_Year],
5223
                     StartTimeFRBT_Day[DLI_FRBT_Time_Year],
@@ -9272,7 +9285,7 @@ void DLI_AGCAlarmCheck(){
9272
             bluecell_Currdatastatus.ALARM_DLI_AGC_Alarm |= ALARM_AGC_P4;
9285
             bluecell_Currdatastatus.ALARM_DLI_AGC_Alarm |= ALARM_AGC_P4;
9273
             bluecell_Currdatastatus.DLI_AGC_Alarm4       = true;
9286
             bluecell_Currdatastatus.DLI_AGC_Alarm4       = true;
9274
         }else{
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
                 bluecell_Currdatastatus.ALARM_DLI_AGC_Alarm &= ~ALARM_AGC_P4;
9289
                 bluecell_Currdatastatus.ALARM_DLI_AGC_Alarm &= ~ALARM_AGC_P4;
9277
                 bluecell_Currdatastatus.DLI_AGC_Alarm4       = false;            
9290
                 bluecell_Currdatastatus.DLI_AGC_Alarm4       = false;            
9278
             }
9291
             }
@@ -9495,7 +9508,8 @@ void SelfTestTimer_Operate()
9495
 }
9508
 }
9496
 void FRBT_Operate(){
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
 //        printf("AGC OFF \r\n");
9513
 //        printf("AGC OFF \r\n");
9500
         return;
9514
         return;
9501
     }
9515
     }

+ 1 - 0
Src/main.c

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