Преглед на файлове

FRBT Running 상태에서 Give Atten 이 5db 이상일땐 5db로 Fix / FRBT Running 상태에서 Atten 제어 못하도록 수정

PYJ преди 4 години
родител
ревизия
374cbdafce
променени са 1 файла, в които са добавени 39 реда и са изтрити 17 реда
  1. 39 17
      Bluecell_Src/Bluecell_operate.c

+ 39 - 17
Bluecell_Src/Bluecell_operate.c

@@ -3798,7 +3798,7 @@ uint32_t MBIC_DataSend(uint8_t* data){
3798
     Length += 2  ;HeaderLength++;
3798
     Length += 2  ;HeaderLength++;
3799
     tmpdata = bluecell_Currdatastatus.ATT_DL1_H << 8 | bluecell_Currdatastatus.ATT_DL1_L;
3799
     tmpdata = bluecell_Currdatastatus.ATT_DL1_H << 8 | bluecell_Currdatastatus.ATT_DL1_L;
3800
 //    tmpdata *= 10;
3800
 //    tmpdata *= 10;
3801
-//    printf("tmpdata : %x \r\n",tmpdata);
3801
+//    printf("1tmpdata : %d \r\n",tmpdata);
3802
     data[MBIC_PAYLOADSTART + i++] = ((tmpdata & 0xFF00) >> 8);
3802
     data[MBIC_PAYLOADSTART + i++] = ((tmpdata & 0xFF00) >> 8);
3803
     data[MBIC_PAYLOADSTART + i++] = (tmpdata & 0x00FF); 
3803
     data[MBIC_PAYLOADSTART + i++] = (tmpdata & 0x00FF); 
3804
 
3804
 
@@ -3810,6 +3810,8 @@ uint32_t MBIC_DataSend(uint8_t* data){
3810
     Length += 2        ;  HeaderLength++;
3810
     Length += 2        ;  HeaderLength++;
3811
     tmpdata = bluecell_Currdatastatus.ATT_DL2_H << 8 | bluecell_Currdatastatus.ATT_DL2_L;
3811
     tmpdata = bluecell_Currdatastatus.ATT_DL2_H << 8 | bluecell_Currdatastatus.ATT_DL2_L;
3812
 //    tmpdata *= 10;
3812
 //    tmpdata *= 10;
3813
+//    printf("2tmpdata : %d \r\n",tmpdatas);
3814
+
3813
     data[MBIC_PAYLOADSTART + i++] = ((tmpdata & 0xFF00) >> 8);
3815
     data[MBIC_PAYLOADSTART + i++] = ((tmpdata & 0xFF00) >> 8);
3814
     data[MBIC_PAYLOADSTART + i++] = (tmpdata & 0x00FF); 
3816
     data[MBIC_PAYLOADSTART + i++] = (tmpdata & 0x00FF); 
3815
 
3817
 
@@ -3821,6 +3823,8 @@ uint32_t MBIC_DataSend(uint8_t* data){
3821
     Length += 2          ;HeaderLength++;
3823
     Length += 2          ;HeaderLength++;
3822
     tmpdata = bluecell_Currdatastatus.ATT_DL3_H << 8 | bluecell_Currdatastatus.ATT_DL3_L;
3824
     tmpdata = bluecell_Currdatastatus.ATT_DL3_H << 8 | bluecell_Currdatastatus.ATT_DL3_L;
3823
 //    tmpdata *= 10;
3825
 //    tmpdata *= 10;
3826
+//    printf("3tmpdata : %d \r\n",tmpdata);
3827
+
3824
     data[MBIC_PAYLOADSTART + i++] = ((tmpdata & 0xFF00) >> 8);
3828
     data[MBIC_PAYLOADSTART + i++] = ((tmpdata & 0xFF00) >> 8);
3825
     data[MBIC_PAYLOADSTART + i++] = (tmpdata & 0x00FF); 
3829
     data[MBIC_PAYLOADSTART + i++] = (tmpdata & 0x00FF); 
3826
 
3830
 
@@ -3832,6 +3836,8 @@ uint32_t MBIC_DataSend(uint8_t* data){
3832
     Length += 2        ;  HeaderLength++;
3836
     Length += 2        ;  HeaderLength++;
3833
     tmpdata = bluecell_Currdatastatus.ATT_DL4_H << 8 | bluecell_Currdatastatus.ATT_DL4_L;
3837
     tmpdata = bluecell_Currdatastatus.ATT_DL4_H << 8 | bluecell_Currdatastatus.ATT_DL4_L;
3834
 //    tmpdata *= 10;
3838
 //    tmpdata *= 10;
3839
+//    printf("4tmpdata : %d \r\n",tmpdata);
3840
+
3835
     data[MBIC_PAYLOADSTART + i++] = ((tmpdata & 0xFF00) >> 8);
3841
     data[MBIC_PAYLOADSTART + i++] = ((tmpdata & 0xFF00) >> 8);
3836
     data[MBIC_PAYLOADSTART + i++] = (tmpdata & 0x00FF); 
3842
     data[MBIC_PAYLOADSTART + i++] = (tmpdata & 0x00FF); 
3837
 
3843
 
@@ -5598,7 +5604,7 @@ bool MBIC_Operate(uint8_t* data){
5598
                     &bluecell_Prevdatastatus.DLI_Shutdown_Retry_Count4);                  
5604
                     &bluecell_Prevdatastatus.DLI_Shutdown_Retry_Count4);                  
5599
                 break;
5605
                 break;
5600
             case  DLI_Gain_Atten1                         :
5606
             case  DLI_Gain_Atten1                         :
5601
-                if(bluecell_Currdatastatus.SelfTest == true)break;
5607
+                if(bluecell_Currdatastatus.SelfTest == true || bluecell_Currdatastatus.DLI_FRBT_Status == FRBT_RUNNING)break;
5602
                 bluecell_Currdatastatus.ATT_DL1_H = data[MBIC_PAYLOADSTART + 3]; 
5608
                 bluecell_Currdatastatus.ATT_DL1_H = data[MBIC_PAYLOADSTART + 3]; 
5603
                 bluecell_Currdatastatus.ATT_DL1_L = data[MBIC_PAYLOADSTART + 4]; 
5609
                 bluecell_Currdatastatus.ATT_DL1_L = data[MBIC_PAYLOADSTART + 4]; 
5604
 
5610
 
@@ -5608,7 +5614,7 @@ bool MBIC_Operate(uint8_t* data){
5608
                 CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
5614
                 CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
5609
                 break;
5615
                 break;
5610
             case  DLI_Gain_Atten2                         :
5616
             case  DLI_Gain_Atten2                         :
5611
-                if(bluecell_Currdatastatus.SelfTest == true)break;
5617
+                if(bluecell_Currdatastatus.SelfTest == true || bluecell_Currdatastatus.DLI_FRBT_Status == FRBT_RUNNING)break;
5612
                 bluecell_Currdatastatus.ATT_DL2_H = data[MBIC_PAYLOADSTART + 3]; 
5618
                 bluecell_Currdatastatus.ATT_DL2_H = data[MBIC_PAYLOADSTART + 3]; 
5613
                 bluecell_Currdatastatus.ATT_DL2_L = data[MBIC_PAYLOADSTART + 4]; 
5619
                 bluecell_Currdatastatus.ATT_DL2_L = data[MBIC_PAYLOADSTART + 4]; 
5614
                 DL_PrevIwillgiveAtten[AGC_Alarm_DL2_Index] = 0;
5620
                 DL_PrevIwillgiveAtten[AGC_Alarm_DL2_Index] = 0;
@@ -5618,7 +5624,7 @@ bool MBIC_Operate(uint8_t* data){
5618
 
5624
 
5619
                 break;
5625
                 break;
5620
             case  DLI_Gain_Atten3                         :
5626
             case  DLI_Gain_Atten3                         :
5621
-                if(bluecell_Currdatastatus.SelfTest == true)break;
5627
+                if(bluecell_Currdatastatus.SelfTest == true || bluecell_Currdatastatus.DLI_FRBT_Status == FRBT_RUNNING)break;
5622
                 bluecell_Currdatastatus.ATT_DL3_H = data[MBIC_PAYLOADSTART + 3]; 
5628
                 bluecell_Currdatastatus.ATT_DL3_H = data[MBIC_PAYLOADSTART + 3]; 
5623
                 bluecell_Currdatastatus.ATT_DL3_L = data[MBIC_PAYLOADSTART + 4]; 
5629
                 bluecell_Currdatastatus.ATT_DL3_L = data[MBIC_PAYLOADSTART + 4]; 
5624
                 DL_PrevIwillgiveAtten[AGC_Alarm_DL3_Index] = 0;
5630
                 DL_PrevIwillgiveAtten[AGC_Alarm_DL3_Index] = 0;
@@ -5626,7 +5632,7 @@ bool MBIC_Operate(uint8_t* data){
5626
 
5632
 
5627
                 break;
5633
                 break;
5628
             case  DLI_Gain_Atten4                         :
5634
             case  DLI_Gain_Atten4                         :
5629
-                if(bluecell_Currdatastatus.SelfTest == true)break;
5635
+                if(bluecell_Currdatastatus.SelfTest == true || bluecell_Currdatastatus.DLI_FRBT_Status == FRBT_RUNNING)break;
5630
                 bluecell_Currdatastatus.ATT_DL4_H = data[MBIC_PAYLOADSTART + 3]; 
5636
                 bluecell_Currdatastatus.ATT_DL4_H = data[MBIC_PAYLOADSTART + 3]; 
5631
                 bluecell_Currdatastatus.ATT_DL4_L = data[MBIC_PAYLOADSTART + 4]; 
5637
                 bluecell_Currdatastatus.ATT_DL4_L = data[MBIC_PAYLOADSTART + 4]; 
5632
                 DL_PrevIwillgiveAtten[AGC_Alarm_DL4_Index] = 0;
5638
                 DL_PrevIwillgiveAtten[AGC_Alarm_DL4_Index] = 0;
@@ -5740,8 +5746,13 @@ bool MBIC_Operate(uint8_t* data){
5740
 
5746
 
5741
                 break;
5747
                 break;
5742
             case  DLI_AGC_Threshold                       :
5748
             case  DLI_AGC_Threshold                       :
5743
-                bluecell_Currdatastatus.DLI_AGC_Threshold_H = data[MBIC_PAYLOADSTART + 3]; 
5744
-                bluecell_Currdatastatus.DLI_AGC_Threshold_L = data[MBIC_PAYLOADSTART + 4]; 
5749
+                tempdata = data[MBIC_PAYLOADSTART + 3] << 8 | data[MBIC_PAYLOADSTART + 4];
5750
+                if(tempdata < -250){
5751
+                    tempdata = -250;
5752
+//                    printf("Change SHUTDOWN THREAD HLOD : %d \r\n",tempdata);
5753
+                }
5754
+                bluecell_Currdatastatus.DLI_AGC_Threshold_H = ((tempdata & 0xFF00) >> 8); 
5755
+                bluecell_Currdatastatus.DLI_AGC_Threshold_L = ((tempdata & 0x00FF)); 
5745
 
5756
 
5746
                 break;
5757
                 break;
5747
             case  DLI_AGC_Threshold_Default               :
5758
             case  DLI_AGC_Threshold_Default               :
@@ -5763,8 +5774,14 @@ bool MBIC_Operate(uint8_t* data){
5763
                 }
5774
                 }
5764
                 break;
5775
                 break;
5765
             case  DLI_Shutdown_Threshold                  :
5776
             case  DLI_Shutdown_Threshold                  :
5766
-                bluecell_Currdatastatus.DLI_Shutdown_Threshold_H = data[MBIC_PAYLOADSTART + 3]; 
5767
-                bluecell_Currdatastatus.DLI_Shutdown_Threshold_L = data[MBIC_PAYLOADSTART + 4]; 
5777
+                tempdata = data[MBIC_PAYLOADSTART + 3] << 8 | data[MBIC_PAYLOADSTART + 4];
5778
+                if(tempdata < -250){
5779
+                    tempdata = -250;
5780
+//                    printf("Change SHUTDOWN THREAD HLOD : %d \r\n",tempdata);
5781
+                }
5782
+                bluecell_Currdatastatus.DLI_Shutdown_Threshold_H = ((tempdata & 0xFF00) >> 8); 
5783
+                bluecell_Currdatastatus.DLI_Shutdown_Threshold_L = ((tempdata & 0x00FF)); 
5784
+//                printf("DLI SHUTDOWN THREAD HLOD : %d \r\n",tempdata);
5768
 
5785
 
5769
                 break;
5786
                 break;
5770
             case  DLI_Shutdown_Threshold_Default          :
5787
             case  DLI_Shutdown_Threshold_Default          :
@@ -6539,7 +6556,8 @@ void DET_LevelAlarmCheck(){
6539
         else
6556
         else
6540
         {
6557
         {
6541
             //            if(LimitData_DL_Shutdown <= Res_Up_DL_dBm[DET_Alarm_DL1_Shutdown_Index + i]){
6558
             //            if(LimitData_DL_Shutdown <= Res_Up_DL_dBm[DET_Alarm_DL1_Shutdown_Index + i]){
6542
-            if(LimitData_DL_Shutdown < Res_Down_DL_dBm[DET_Alarm_DL1_Shutdown_Index + i]){
6559
+            if(LimitData_DL_Shutdown < Res_Down_DL_dBm[DET_Alarm_DL1_Shutdown_Index + i] 
6560
+                && DL_PathStatus[DET_Alarm_DL1_Shutdown_Index + i] == true){
6543
                 //            if(DL_Atten[DET_Alarm_DL1_Index + i] * 0.1 <= -15)
6561
                 //            if(DL_Atten[DET_Alarm_DL1_Index + i] * 0.1 <= -15)
6544
                 ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL1_Shutdown_Index + i] = true;
6562
                 ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL1_Shutdown_Index + i] = true;
6545
 //                if(i == 2){    
6563
 //                if(i == 2){    
@@ -6550,29 +6568,31 @@ void DET_LevelAlarmCheck(){
6550
             }
6568
             }
6551
             else{
6569
             else{
6552
                 if(LimitData_DL_Shutdown - 2 < Res_Up_DL_dBm[DET_Alarm_DL1_Shutdown_Index + i]
6570
                 if(LimitData_DL_Shutdown - 2 < Res_Up_DL_dBm[DET_Alarm_DL1_Shutdown_Index + i]
6553
-                && MBIC_DL_ShutdownCount[DET_Alarm_DL1_Shutdown_Index + i] > 0 ){
6571
+                && MBIC_DL_ShutdownCount[DET_Alarm_DL1_Shutdown_Index + i] > 0 
6572
+                 && DL_PathStatus[DET_Alarm_DL1_Shutdown_Index + i] == true){
6554
 //                    printf("4Res_Down_DL_dBm : %d \r\n",Res_Down_DL_dBm[DET_Alarm_DL1_Shutdown_Index ]);                         
6573
 //                    printf("4Res_Down_DL_dBm : %d \r\n",Res_Down_DL_dBm[DET_Alarm_DL1_Shutdown_Index ]);                         
6555
                     ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL1_Shutdown_Index + i] = true;
6574
                     ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL1_Shutdown_Index + i] = true;
6556
 //                    printf("Shutdown On 2_2\r\n");
6575
 //                    printf("Shutdown On 2_2\r\n");
6557
                 }
6576
                 }
6558
                 else if(MBIC_DL_ShutdownCount[DET_Alarm_DL1_Shutdown_Index + i] > 0
6577
                 else if(MBIC_DL_ShutdownCount[DET_Alarm_DL1_Shutdown_Index + i] > 0
6559
-                    && LimitData_DL_Shutdown - 2  < Res_Down_DL_dBm[DET_Alarm_DL1_Shutdown_Index + i]){
6578
+                    && LimitData_DL_Shutdown - 2  < Res_Down_DL_dBm[DET_Alarm_DL1_Shutdown_Index + i]
6579
+                     && DL_PathStatus[DET_Alarm_DL1_Shutdown_Index + i] == true){
6560
                     ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL1_Shutdown_Index + i] = true;
6580
                     ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL1_Shutdown_Index + i] = true;
6561
 //                    if(i == 2){
6581
 //                    if(i == 2){
6562
-////                        printf("Shutdown On 2_3\r\n");                                          
6582
+//                        printf("Shutdown On 2_3\r\n");                                          
6563
 //                    }
6583
 //                    }
6564
                 }                
6584
                 }                
6565
                 else if(MBIC_DL_ShutdownCount[DET_Alarm_DL1_Shutdown_Index + i] > 0){
6585
                 else if(MBIC_DL_ShutdownCount[DET_Alarm_DL1_Shutdown_Index + i] > 0){
6566
                     ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL1_Shutdown_Index + i] = false;
6586
                     ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL1_Shutdown_Index + i] = false;
6567
 //                    if(i == 2){
6587
 //                    if(i == 2){
6568
-////                        printf("Shutdown Off 2\r\n");                                          
6588
+//                        printf("Shutdown Off 2\r\n");                                          
6569
 //                    }
6589
 //                    }
6570
                 }
6590
                 }
6571
                 else if(MBIC_DL_ShutdownCount[DET_Alarm_DL1_Shutdown_Index + i] == 0
6591
                 else if(MBIC_DL_ShutdownCount[DET_Alarm_DL1_Shutdown_Index + i] == 0
6572
                     && LimitData_DL_Shutdown > Res_Up_DL_dBm[DET_Alarm_DL1_Shutdown_Index + i]){
6592
                     && LimitData_DL_Shutdown > Res_Up_DL_dBm[DET_Alarm_DL1_Shutdown_Index + i]){
6573
                     ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL1_Shutdown_Index + i] = false;
6593
                     ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL1_Shutdown_Index + i] = false;
6574
 //                    if(i == 2){
6594
 //                    if(i == 2){
6575
-////                        printf("Shutdown Off 3\r\n");                                          
6595
+//                        printf("Shutdown Ofsf 3\r\n");                                          
6576
 //                    }                    
6596
 //                    }                    
6577
                 }
6597
                 }
6578
             }
6598
             }
@@ -8119,9 +8139,11 @@ void AGC_Package_Operate(uint8_t* Threshold,uint8_t* DL_MainAtten,uint8_t Tablei
8119
             if(CurrAtten == FRBT_Atten)
8139
             if(CurrAtten == FRBT_Atten)
8120
                 return;
8140
                 return;
8121
             
8141
             
8122
-            if(CurrAtten + ResdBm <= Limitdata - 1){
8142
+            if(CurrAtten + ResdBm <= Limitdata - 1){ // -1 -17 <= -10 -1
8123
                 IwillgiveAtten = ((CurrAtten) + 1);
8143
                 IwillgiveAtten = ((CurrAtten) + 1);
8124
-                
8144
+                if(IwillgiveAtten > 5){
8145
+                    IwillgiveAtten = 5;
8146
+                }
8125
                 DL_PrevIwillgiveAtten[Tableindex] = IwillgiveAtten;
8147
                 DL_PrevIwillgiveAtten[Tableindex] = IwillgiveAtten;
8126
                 DL_MainAtten[DLI_AGC_H] = (((IwillgiveAtten * 10) & 0xFF00) >> 8) ;
8148
                 DL_MainAtten[DLI_AGC_H] = (((IwillgiveAtten * 10) & 0xFF00) >> 8) ;
8127
                 DL_MainAtten[DLI_AGC_L] = (((IwillgiveAtten * 10) & 0x00FF));  
8149
                 DL_MainAtten[DLI_AGC_L] = (((IwillgiveAtten * 10) & 0x00FF));