瀏覽代碼

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 3798
     Length += 2  ;HeaderLength++;
3799 3799
     tmpdata = bluecell_Currdatastatus.ATT_DL1_H << 8 | bluecell_Currdatastatus.ATT_DL1_L;
3800 3800
 //    tmpdata *= 10;
3801
-//    printf("tmpdata : %x \r\n",tmpdata);
3801
+//    printf("1tmpdata : %d \r\n",tmpdata);
3802 3802
     data[MBIC_PAYLOADSTART + i++] = ((tmpdata & 0xFF00) >> 8);
3803 3803
     data[MBIC_PAYLOADSTART + i++] = (tmpdata & 0x00FF); 
3804 3804
 
@@ -3810,6 +3810,8 @@ uint32_t MBIC_DataSend(uint8_t* data){
3810 3810
     Length += 2        ;  HeaderLength++;
3811 3811
     tmpdata = bluecell_Currdatastatus.ATT_DL2_H << 8 | bluecell_Currdatastatus.ATT_DL2_L;
3812 3812
 //    tmpdata *= 10;
3813
+//    printf("2tmpdata : %d \r\n",tmpdatas);
3814
+
3813 3815
     data[MBIC_PAYLOADSTART + i++] = ((tmpdata & 0xFF00) >> 8);
3814 3816
     data[MBIC_PAYLOADSTART + i++] = (tmpdata & 0x00FF); 
3815 3817
 
@@ -3821,6 +3823,8 @@ uint32_t MBIC_DataSend(uint8_t* data){
3821 3823
     Length += 2          ;HeaderLength++;
3822 3824
     tmpdata = bluecell_Currdatastatus.ATT_DL3_H << 8 | bluecell_Currdatastatus.ATT_DL3_L;
3823 3825
 //    tmpdata *= 10;
3826
+//    printf("3tmpdata : %d \r\n",tmpdata);
3827
+
3824 3828
     data[MBIC_PAYLOADSTART + i++] = ((tmpdata & 0xFF00) >> 8);
3825 3829
     data[MBIC_PAYLOADSTART + i++] = (tmpdata & 0x00FF); 
3826 3830
 
@@ -3832,6 +3836,8 @@ uint32_t MBIC_DataSend(uint8_t* data){
3832 3836
     Length += 2        ;  HeaderLength++;
3833 3837
     tmpdata = bluecell_Currdatastatus.ATT_DL4_H << 8 | bluecell_Currdatastatus.ATT_DL4_L;
3834 3838
 //    tmpdata *= 10;
3839
+//    printf("4tmpdata : %d \r\n",tmpdata);
3840
+
3835 3841
     data[MBIC_PAYLOADSTART + i++] = ((tmpdata & 0xFF00) >> 8);
3836 3842
     data[MBIC_PAYLOADSTART + i++] = (tmpdata & 0x00FF); 
3837 3843
 
@@ -5598,7 +5604,7 @@ bool MBIC_Operate(uint8_t* data){
5598 5604
                     &bluecell_Prevdatastatus.DLI_Shutdown_Retry_Count4);                  
5599 5605
                 break;
5600 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 5608
                 bluecell_Currdatastatus.ATT_DL1_H = data[MBIC_PAYLOADSTART + 3]; 
5603 5609
                 bluecell_Currdatastatus.ATT_DL1_L = data[MBIC_PAYLOADSTART + 4]; 
5604 5610
 
@@ -5608,7 +5614,7 @@ bool MBIC_Operate(uint8_t* data){
5608 5614
                 CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
5609 5615
                 break;
5610 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 5618
                 bluecell_Currdatastatus.ATT_DL2_H = data[MBIC_PAYLOADSTART + 3]; 
5613 5619
                 bluecell_Currdatastatus.ATT_DL2_L = data[MBIC_PAYLOADSTART + 4]; 
5614 5620
                 DL_PrevIwillgiveAtten[AGC_Alarm_DL2_Index] = 0;
@@ -5618,7 +5624,7 @@ bool MBIC_Operate(uint8_t* data){
5618 5624
 
5619 5625
                 break;
5620 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 5628
                 bluecell_Currdatastatus.ATT_DL3_H = data[MBIC_PAYLOADSTART + 3]; 
5623 5629
                 bluecell_Currdatastatus.ATT_DL3_L = data[MBIC_PAYLOADSTART + 4]; 
5624 5630
                 DL_PrevIwillgiveAtten[AGC_Alarm_DL3_Index] = 0;
@@ -5626,7 +5632,7 @@ bool MBIC_Operate(uint8_t* data){
5626 5632
 
5627 5633
                 break;
5628 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 5636
                 bluecell_Currdatastatus.ATT_DL4_H = data[MBIC_PAYLOADSTART + 3]; 
5631 5637
                 bluecell_Currdatastatus.ATT_DL4_L = data[MBIC_PAYLOADSTART + 4]; 
5632 5638
                 DL_PrevIwillgiveAtten[AGC_Alarm_DL4_Index] = 0;
@@ -5740,8 +5746,13 @@ bool MBIC_Operate(uint8_t* data){
5740 5746
 
5741 5747
                 break;
5742 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 5757
                 break;
5747 5758
             case  DLI_AGC_Threshold_Default               :
@@ -5763,8 +5774,14 @@ bool MBIC_Operate(uint8_t* data){
5763 5774
                 }
5764 5775
                 break;
5765 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 5786
                 break;
5770 5787
             case  DLI_Shutdown_Threshold_Default          :
@@ -6539,7 +6556,8 @@ void DET_LevelAlarmCheck(){
6539 6556
         else
6540 6557
         {
6541 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 6561
                 //            if(DL_Atten[DET_Alarm_DL1_Index + i] * 0.1 <= -15)
6544 6562
                 ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL1_Shutdown_Index + i] = true;
6545 6563
 //                if(i == 2){    
@@ -6550,29 +6568,31 @@ void DET_LevelAlarmCheck(){
6550 6568
             }
6551 6569
             else{
6552 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 6573
 //                    printf("4Res_Down_DL_dBm : %d \r\n",Res_Down_DL_dBm[DET_Alarm_DL1_Shutdown_Index ]);                         
6555 6574
                     ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL1_Shutdown_Index + i] = true;
6556 6575
 //                    printf("Shutdown On 2_2\r\n");
6557 6576
                 }
6558 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 6580
                     ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL1_Shutdown_Index + i] = true;
6561 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 6585
                 else if(MBIC_DL_ShutdownCount[DET_Alarm_DL1_Shutdown_Index + i] > 0){
6566 6586
                     ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL1_Shutdown_Index + i] = false;
6567 6587
 //                    if(i == 2){
6568
-////                        printf("Shutdown Off 2\r\n");                                          
6588
+//                        printf("Shutdown Off 2\r\n");                                          
6569 6589
 //                    }
6570 6590
                 }
6571 6591
                 else if(MBIC_DL_ShutdownCount[DET_Alarm_DL1_Shutdown_Index + i] == 0
6572 6592
                     && LimitData_DL_Shutdown > Res_Up_DL_dBm[DET_Alarm_DL1_Shutdown_Index + i]){
6573 6593
                     ADC_Alarm_DL_Shutdown_Set[DET_Alarm_DL1_Shutdown_Index + i] = false;
6574 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 8139
             if(CurrAtten == FRBT_Atten)
8120 8140
                 return;
8121 8141
             
8122
-            if(CurrAtten + ResdBm <= Limitdata - 1){
8142
+            if(CurrAtten + ResdBm <= Limitdata - 1){ // -1 -17 <= -10 -1
8123 8143
                 IwillgiveAtten = ((CurrAtten) + 1);
8124
-                
8144
+                if(IwillgiveAtten > 5){
8145
+                    IwillgiveAtten = 5;
8146
+                }
8125 8147
                 DL_PrevIwillgiveAtten[Tableindex] = IwillgiveAtten;
8126 8148
                 DL_MainAtten[DLI_AGC_H] = (((IwillgiveAtten * 10) & 0xFF00) >> 8) ;
8127 8149
                 DL_MainAtten[DLI_AGC_L] = (((IwillgiveAtten * 10) & 0x00FF));