Przeglądaj źródła

Det 통합 ,Alarm index 추가

UL Alarm Set Val 추가
PYJ 5 lat temu
rodzic
commit
a9a41dda25
4 zmienionych plików z 529 dodań i 328 usunięć
  1. 46 32
      Bluecell_Inc/Bluecell_operate.h
  2. 363 286
      Bluecell_Src/Bluecell_operate.c
  3. 4 0
      Inc/main.h
  4. 116 10
      Src/main.c

+ 46 - 32
Bluecell_Inc/Bluecell_operate.h

@@ -635,22 +635,22 @@ typedef struct{
635
     uint8_t ATT_UL3_L;
635
     uint8_t ATT_UL3_L;
636
     uint8_t ATT_UL4_H;
636
     uint8_t ATT_UL4_H;
637
     uint8_t ATT_UL4_L;
637
     uint8_t ATT_UL4_L;
638
-    uint8_t DET_DL1_IN_H;//ADC3   5
639
-    uint8_t DET_DL1_IN_L;//ADC3   5
640
-    uint8_t DET_DL2_IN_H;//ADC3   6 
641
-    uint8_t DET_DL2_IN_L;//ADC3   6
642
-    uint8_t DET_DL3_IN_H;//ADC3   7
643
-    uint8_t DET_DL3_IN_L;//ADC3   7
644
-    uint8_t DET_DL4_IN_H;//ADC3   8   
645
-    uint8_t DET_DL4_IN_L;//ADC3   8
646
-    uint8_t DET_UL1_IN_H;//ADC1   4  
647
-    uint8_t DET_UL1_IN_L;//ADC1   4 
648
-    uint8_t DET_UL2_IN_H;//ADC1   5 
649
-    uint8_t DET_UL2_IN_L;//ADC1   5
650
-    uint8_t DET_UL3_IN_H;//ADC1   6
651
-    uint8_t DET_UL3_IN_L;//ADC1   6
652
-    uint8_t DET_UL4_IN_H;//ADC3   4
653
-    uint8_t DET_UL4_IN_L;//ADC3   4
638
+    uint8_t ULO_Level1_H;
639
+    uint8_t ULO_Level1_L;
640
+    uint8_t ULO_Level2_H;
641
+    uint8_t ULO_Level2_L;
642
+    uint8_t ULO_Level3_H;
643
+    uint8_t ULO_Level3_L;
644
+    uint8_t ULO_Level4_H;
645
+    uint8_t ULO_Level4_L;
646
+    uint8_t DLI_Level1_H;
647
+    uint8_t DLI_Level1_L;
648
+    uint8_t DLI_Level2_H;
649
+    uint8_t DLI_Level2_L;
650
+    uint8_t DLI_Level3_H;
651
+    uint8_t DLI_Level3_L;
652
+    uint8_t DLI_Level4_H;
653
+    uint8_t DLI_Level4_L;    
654
     uint8_t BLUECELL_RESERVE1;
654
     uint8_t BLUECELL_RESERVE1;
655
     uint8_t DET_TEMP;
655
     uint8_t DET_TEMP;
656
     uint8_t DLI_AGC_ON_OFF;
656
     uint8_t DLI_AGC_ON_OFF;
@@ -793,22 +793,22 @@ typedef struct{
793
     uint8_t ULO_Level_High_Threshold_H;
793
     uint8_t ULO_Level_High_Threshold_H;
794
     uint8_t ULO_Level_High_Threshold_L;
794
     uint8_t ULO_Level_High_Threshold_L;
795
     uint8_t ULO_Level_High_Threshold_default;
795
     uint8_t ULO_Level_High_Threshold_default;
796
-    uint8_t ULO_Level1_H;
797
-    uint8_t ULO_Level1_L;
798
-    uint8_t ULO_Level2_H;
799
-    uint8_t ULO_Level2_L;
800
-    uint8_t ULO_Level3_H;
801
-    uint8_t ULO_Level3_L;
802
-    uint8_t ULO_Level4_H;
803
-    uint8_t ULO_Level4_L;
804
-    uint8_t DLI_Level1_H;
805
-    uint8_t DLI_Level1_L;
806
-    uint8_t DLI_Level2_H;
807
-    uint8_t DLI_Level2_L;
808
-    uint8_t DLI_Level3_H;
809
-    uint8_t DLI_Level3_L;
810
-    uint8_t DLI_Level4_H;
811
-    uint8_t DLI_Level4_L;
796
+    uint8_t BLUECELL_RESERVE22;//ADC3   5
797
+    uint8_t BLUECELL_RESERVE23;//ADC3   5
798
+    uint8_t BLUECELL_RESERVE24;//ADC3   6 
799
+    uint8_t BLUECELL_RESERVE25;//ADC3   6
800
+    uint8_t BLUECELL_RESERVE26;//ADC3   7
801
+    uint8_t BLUECELL_RESERVE27;//ADC3   7
802
+    uint8_t BLUECELL_RESERVE28;//ADC3   8   
803
+    uint8_t BLUECELL_RESERVE29;//ADC3   8
804
+    uint8_t BLUECELL_RESERVE30;//ADC1   4  
805
+    uint8_t BLUECELL_RESERVE31;//ADC1   4 
806
+    uint8_t BLUECELL_RESERVE32;//ADC1   5 
807
+    uint8_t BLUECELL_RESERVE33;//ADC1   5
808
+    uint8_t BLUECELL_RESERVE34;//ADC1   6
809
+    uint8_t BLUECELL_RESERVE35;//ADC1   6
810
+    uint8_t BLUECELL_RESERVE36;//ADC3   4
811
+    uint8_t BLUECELL_RESERVE37;//ADC3   4
812
     uint8_t ULO_Level_High_Alarm1;
812
     uint8_t ULO_Level_High_Alarm1;
813
     uint8_t ULO_Level_High_Alarm2;
813
     uint8_t ULO_Level_High_Alarm2;
814
     uint8_t ULO_Level_High_Alarm3;
814
     uint8_t ULO_Level_High_Alarm3;
@@ -1104,6 +1104,20 @@ typedef enum{
1104
   Bluecell_DET_DL4_ADC_INDEX_L,
1104
   Bluecell_DET_DL4_ADC_INDEX_L,
1105
   Bluecell_ADC3_MaxLength,
1105
   Bluecell_ADC3_MaxLength,
1106
 }Bluecell_ADC3_Index;
1106
 }Bluecell_ADC3_Index;
1107
+  typedef enum{
1108
+    DET_Alarm_DL1_Index = 0,
1109
+    DET_Alarm_DL2_Index,
1110
+    DET_Alarm_DL3_Index,
1111
+    DET_Alarm_DL4_Index,
1112
+    DET_Alarm_DL_Index_MAX,
1113
+};
1114
+typedef enum{
1115
+    DET_Alarm_UL1_Index = 0,
1116
+    DET_Alarm_UL2_Index,
1117
+    DET_Alarm_UL3_Index,
1118
+    DET_Alarm_UL4_Index,
1119
+    DET_Alarm_UL_Index_MAX,
1120
+};
1107
 #define ADC1_EA Bluecell_ADC1_MaxLength /2
1121
 #define ADC1_EA Bluecell_ADC1_MaxLength /2
1108
 #define ADC3_EA Bluecell_ADC3_MaxLength /2
1122
 #define ADC3_EA Bluecell_ADC3_MaxLength /2
1109
 
1123
 

+ 363 - 286
Bluecell_Src/Bluecell_operate.c

@@ -7,8 +7,6 @@
7
 #include "PE43711.h"
7
 #include "PE43711.h"
8
 #include "eeprom.h"
8
 #include "eeprom.h"
9
 
9
 
10
-extern volatile uint32_t LedTimerCnt;
11
-extern volatile uint32_t AdcTimerCnt;
12
 
10
 
13
 /***************************************************************************************/
11
 /***************************************************************************************/
14
 /*                                  Extern Function                                    */
12
 /*                                  Extern Function                                    */
@@ -30,6 +28,13 @@ extern ALL_PE43711_st ALL_ATT;
30
 extern volatile uint16_t ADC1valuearray[4][ADC_AVERAGECNT];
28
 extern volatile uint16_t ADC1valuearray[4][ADC_AVERAGECNT];
31
 extern volatile uint16_t ADC3valuearray[5][ADC_AVERAGECNT];
29
 extern volatile uint16_t ADC3valuearray[5][ADC_AVERAGECNT];
32
 
30
 
31
+extern volatile uint32_t LedTimerCnt;
32
+extern volatile uint32_t AdcTimerCnt;
33
+extern volatile uint32_t DET_UL_On_AlarmTimerCnt[DET_Alarm_UL_Index_MAX];
34
+extern volatile uint32_t DET_DL_On_AlarmTimerCnt[DET_Alarm_DL_Index_MAX];
35
+extern volatile uint32_t DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL_Index_MAX];
36
+extern volatile uint32_t DET_DL_Off_AlarmTimerCnt[DET_Alarm_DL_Index_MAX];
37
+
33
 /***************************************************************************************/
38
 /***************************************************************************************/
34
 /*                                  Function                                           */
39
 /*                                  Function                                           */
35
 /***************************************************************************************/
40
 /***************************************************************************************/
@@ -43,6 +48,8 @@ uint8_t PE43711_Calc(uint8_t* Table,uint8_t high_bit,uint8_t low_bit,uint8_t off
43
 uint8_t PE43711_Calc_NoTable(uint8_t high_bit,uint8_t low_bit);
48
 uint8_t PE43711_Calc_NoTable(uint8_t high_bit,uint8_t low_bit);
44
 double PE43711_Double(uint8_t high_bit,uint8_t low_bit);
49
 double PE43711_Double(uint8_t high_bit,uint8_t low_bit);
45
 void Booting_LED_Check(void);
50
 void Booting_LED_Check(void);
51
+double Bluecell_TestPro(double value );
52
+double AGC_AutoControl_ADC_Compare(double CurrentAdc,uint8_t* CompareAdc,uint8_t size);
46
 
53
 
47
 
54
 
48
 
55
 
@@ -51,7 +58,7 @@ void Booting_LED_Check(void);
51
 /*                                  Valuable                                           */
58
 /*                                  Valuable                                           */
52
 /***************************************************************************************/
59
 /***************************************************************************************/
53
 
60
 
54
-
61
+bool Alarm_LED_OnSet = false;
55
 uint8_t DataWrite[sizeof(BLUESTATUS_st)] = {0,};
62
 uint8_t DataWrite[sizeof(BLUESTATUS_st)] = {0,};
56
 uint8_t Txdata[512];
63
 uint8_t Txdata[512];
57
 int8_t AutoControl_Save[sizeof(ALC_dBm_t)];
64
 int8_t AutoControl_Save[sizeof(ALC_dBm_t)];
@@ -142,13 +149,14 @@ void Boot_LED_Toggle(void){
142
   if(LedTimerCnt > 1000){
149
   if(LedTimerCnt > 1000){
143
     HAL_GPIO_TogglePin(BOOT_LED_GPIO_Port,BOOT_LED_Pin);
150
     HAL_GPIO_TogglePin(BOOT_LED_GPIO_Port,BOOT_LED_Pin);
144
     HAL_GPIO_TogglePin(LED_FAIL_GPIO_Port,LED_FAIL_Pin);
151
     HAL_GPIO_TogglePin(LED_FAIL_GPIO_Port,LED_FAIL_Pin);
145
-    if(AlarmTimerOnCnt > 3000){
152
+//    if(AlarmTimerOnCnt > 3000){
153
+    if(Alarm_LED_OnSet == true){
146
         HAL_GPIO_WritePin(LED_ACT_GPIO_Port,LED_ACT_Pin,GPIO_PIN_SET);
154
         HAL_GPIO_WritePin(LED_ACT_GPIO_Port,LED_ACT_Pin,GPIO_PIN_SET);
147
     }else{
155
     }else{
148
         HAL_GPIO_WritePin(LED_ACT_GPIO_Port,LED_ACT_Pin,GPIO_PIN_RESET);
156
         HAL_GPIO_WritePin(LED_ACT_GPIO_Port,LED_ACT_Pin,GPIO_PIN_RESET);
149
     }
157
     }
158
+    printf("Alarm_LED_OnSet : %d\r\n",Alarm_LED_OnSet);
150
     LedTimerCnt = 0;
159
     LedTimerCnt = 0;
151
-//    printf("LED OF OFF\r\n");
152
   }
160
   }
153
   
161
   
154
 }
162
 }
@@ -891,8 +899,8 @@ void Bluecell_StructCpy(uint8_t* dst,uint8_t* src,uint16_t size){
891
 }
899
 }
892
 
900
 
893
 
901
 
894
-uint16_t ConvertTo2byte(uint8_t highbit, uint8_t lowbit){
895
-    uint16_t ret = 0;
902
+int16_t ConvertTo2byte(uint8_t highbit, uint8_t lowbit){
903
+    int16_t ret = 0;
896
     ret += ((highbit << 8) & 0xFF00);
904
     ret += ((highbit << 8) & 0xFF00);
897
     ret += (lowbit & 0x00FF);
905
     ret += (lowbit & 0x00FF);
898
 
906
 
@@ -1587,7 +1595,7 @@ bool Bluecell_Operate(uint8_t* data){
1587
         tempdata = (( bluecell_Currdatastatus.DLI_Level_High_Threshold_H << 8) & 0xFF00) ;
1595
         tempdata = (( bluecell_Currdatastatus.DLI_Level_High_Threshold_H << 8) & 0xFF00) ;
1588
         tempdata +=  bluecell_Currdatastatus.DLI_Level_High_Threshold_L ;
1596
         tempdata +=  bluecell_Currdatastatus.DLI_Level_High_Threshold_L ;
1589
         tempdata /= 10;
1597
         tempdata /= 10;
1590
-        printf("tempdata : %d\r\n",tempdata);
1598
+        printf("DLI_Level_High_Threshold : %d\r\n",tempdata);
1591
 //        bluecell_Currdatastatus.DLI_Level_High_Threshold_H = ((tempdata & 0xFF00) >> 8);
1599
 //        bluecell_Currdatastatus.DLI_Level_High_Threshold_H = ((tempdata & 0xFF00) >> 8);
1592
 //        bluecell_Currdatastatus.DLI_Level_High_Threshold_L = (tempdata & 0x00FF);
1600
 //        bluecell_Currdatastatus.DLI_Level_High_Threshold_L = (tempdata & 0x00FF);
1593
         break;
1601
         break;
@@ -1596,8 +1604,8 @@ bool Bluecell_Operate(uint8_t* data){
1596
         bluecell_Currdatastatus.DLI_Level_Low_Threshold_L = data[BLUECELL_DATA + i++];
1604
         bluecell_Currdatastatus.DLI_Level_Low_Threshold_L = data[BLUECELL_DATA + i++];
1597
         tempdata = (( bluecell_Currdatastatus.DLI_Level_Low_Threshold_H << 8) & 0xFF00) ;
1605
         tempdata = (( bluecell_Currdatastatus.DLI_Level_Low_Threshold_H << 8) & 0xFF00) ;
1598
         tempdata +=  bluecell_Currdatastatus.DLI_Level_Low_Threshold_L ;
1606
         tempdata +=  bluecell_Currdatastatus.DLI_Level_Low_Threshold_L ;
1599
-//        tempdata /= 10;
1600
-//         printf("tempdata : %d\r\n",tempdata);
1607
+        tempdata /= 10;
1608
+         printf("DLI_Level_Low_Threshold : %d\r\n",tempdata);
1601
 //        bluecell_Currdatastatus.DLI_Level_Low_Threshold_H = ((tempdata & 0xFF00) >> 8);
1609
 //        bluecell_Currdatastatus.DLI_Level_Low_Threshold_H = ((tempdata & 0xFF00) >> 8);
1602
 //        bluecell_Currdatastatus.DLI_Level_Low_Threshold_L = (tempdata & 0x00FF);    
1610
 //        bluecell_Currdatastatus.DLI_Level_Low_Threshold_L = (tempdata & 0x00FF);    
1603
 
1611
 
@@ -1636,8 +1644,8 @@ bool Bluecell_Operate(uint8_t* data){
1636
         bluecell_Currdatastatus.ULO_Level_High_Threshold_L = data[BLUECELL_DATA + i++];
1644
         bluecell_Currdatastatus.ULO_Level_High_Threshold_L = data[BLUECELL_DATA + i++];
1637
         tempdata = (( bluecell_Currdatastatus.ULO_Level_High_Threshold_H << 8) & 0xFF00) ;
1645
         tempdata = (( bluecell_Currdatastatus.ULO_Level_High_Threshold_H << 8) & 0xFF00) ;
1638
         tempdata +=  bluecell_Currdatastatus.ULO_Level_High_Threshold_L ;
1646
         tempdata +=  bluecell_Currdatastatus.ULO_Level_High_Threshold_L ;
1639
-//        tempdata /= 10;
1640
-//         printf("tempdata : %d\r\n",tempdata);
1647
+        tempdata /= 10;
1648
+         printf("ULO_Level_High_Threshold : %d\r\n",tempdata);
1641
 //        bluecell_Currdatastatus.ULO_Level_High_Threshold_H = ((tempdata & 0xFF00) >> 8);
1649
 //        bluecell_Currdatastatus.ULO_Level_High_Threshold_H = ((tempdata & 0xFF00) >> 8);
1642
 //        bluecell_Currdatastatus.ULO_Level_High_Threshold_L = (tempdata & 0x00FF);   
1650
 //        bluecell_Currdatastatus.ULO_Level_High_Threshold_L = (tempdata & 0x00FF);   
1643
 
1651
 
@@ -1657,7 +1665,7 @@ bool Bluecell_Operate(uint8_t* data){
1657
         tempdata = (( bluecell_Currdatastatus.ULO_ALC_Threshold_H << 8) & 0xFF00) ;
1665
         tempdata = (( bluecell_Currdatastatus.ULO_ALC_Threshold_H << 8) & 0xFF00) ;
1658
         tempdata +=  bluecell_Currdatastatus.ULO_ALC_Threshold_L ;
1666
         tempdata +=  bluecell_Currdatastatus.ULO_ALC_Threshold_L ;
1659
         tempdata /= 10;
1667
         tempdata /= 10;
1660
-        printf("tempdata : %d\r\n",tempdata);
1668
+        printf("ULO_ALC_Threshold : %d\r\n",tempdata);
1661
 //        bluecell_Currdatastatus.ULO_ALC_Threshold_H = ((tempdata & 0xFF00) >> 8);
1669
 //        bluecell_Currdatastatus.ULO_ALC_Threshold_H = ((tempdata & 0xFF00) >> 8);
1662
 //        bluecell_Currdatastatus.ULO_ALC_Threshold_L = (tempdata & 0x00FF);
1670
 //        bluecell_Currdatastatus.ULO_ALC_Threshold_L = (tempdata & 0x00FF);
1663
 
1671
 
@@ -1945,25 +1953,25 @@ bool MBIC_Operate(uint8_t* data){
1945
         
1953
         
1946
         data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.Carrier_ON_OFF;
1954
         data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.Carrier_ON_OFF;
1947
 
1955
 
1948
-        Temp_ADC = ((bluecell_Currdatastatus.DET_DL1_IN_H << 8) & 0xFF00 
1949
-                   |(bluecell_Currdatastatus.DET_DL1_IN_L));
1956
+        Temp_ADC = ((bluecell_Currdatastatus.DLI_Level1_H << 8) & 0xFF00 
1957
+                   |(bluecell_Currdatastatus.DLI_Level1_L));
1950
         data[MBIC_PAYLOADSTART + i++] = ((Temp_ADC & 0xFF00) >> 8);
1958
         data[MBIC_PAYLOADSTART + i++] = ((Temp_ADC & 0xFF00) >> 8);
1951
         data[MBIC_PAYLOADSTART + i++] = (Temp_ADC & 0x00FF);
1959
         data[MBIC_PAYLOADSTART + i++] = (Temp_ADC & 0x00FF);
1952
         
1960
         
1953
-        Temp_ADC = ((bluecell_Currdatastatus.DET_DL2_IN_H << 8) & 0xFF00 
1954
-                   |(bluecell_Currdatastatus.DET_DL2_IN_L));
1961
+        Temp_ADC = ((bluecell_Currdatastatus.DLI_Level2_H << 8) & 0xFF00 
1962
+                   |(bluecell_Currdatastatus.DLI_Level2_L));
1955
         data[MBIC_PAYLOADSTART + i++] = ((Temp_ADC & 0xFF00) >> 8);
1963
         data[MBIC_PAYLOADSTART + i++] = ((Temp_ADC & 0xFF00) >> 8);
1956
         data[MBIC_PAYLOADSTART + i++] = (Temp_ADC & 0x00FF);
1964
         data[MBIC_PAYLOADSTART + i++] = (Temp_ADC & 0x00FF);
1957
 
1965
 
1958
 
1966
 
1959
-        Temp_ADC = ((bluecell_Currdatastatus.DET_DL3_IN_H << 8) & 0xFF00 
1960
-                   |(bluecell_Currdatastatus.DET_DL3_IN_L));
1967
+        Temp_ADC = ((bluecell_Currdatastatus.DLI_Level3_H << 8) & 0xFF00 
1968
+                   |(bluecell_Currdatastatus.DLI_Level3_L));
1961
 
1969
 
1962
         data[MBIC_PAYLOADSTART + i++] = ((Temp_ADC & 0xFF00) >> 8);
1970
         data[MBIC_PAYLOADSTART + i++] = ((Temp_ADC & 0xFF00) >> 8);
1963
         data[MBIC_PAYLOADSTART + i++] = (Temp_ADC & 0x00FF);
1971
         data[MBIC_PAYLOADSTART + i++] = (Temp_ADC & 0x00FF);
1964
 
1972
 
1965
-        Temp_ADC = ((bluecell_Currdatastatus.DET_DL4_IN_H << 8) & 0xFF00 
1966
-                   |(bluecell_Currdatastatus.DET_DL4_IN_L));
1973
+        Temp_ADC = ((bluecell_Currdatastatus.DLI_Level4_H << 8) & 0xFF00 
1974
+                   |(bluecell_Currdatastatus.DLI_Level4_L));
1967
         data[MBIC_PAYLOADSTART + i++] = ((Temp_ADC & 0xFF00) >> 8);
1975
         data[MBIC_PAYLOADSTART + i++] = ((Temp_ADC & 0xFF00) >> 8);
1968
         data[MBIC_PAYLOADSTART + i++] = (Temp_ADC & 0x00FF);
1976
         data[MBIC_PAYLOADSTART + i++] = (Temp_ADC & 0x00FF);
1969
 
1977
 
@@ -1973,14 +1981,14 @@ bool MBIC_Operate(uint8_t* data){
1973
         data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ATT_DL3_PATH;
1981
         data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ATT_DL3_PATH;
1974
         data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ATT_DL4_PATH;
1982
         data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.ATT_DL4_PATH;
1975
 
1983
 
1976
-        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DET_DL1_IN_H;
1977
-        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DET_DL1_IN_L;
1978
-        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DET_DL2_IN_H;
1979
-        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DET_DL2_IN_L;
1980
-        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DET_DL3_IN_H;
1981
-        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DET_DL3_IN_L;
1982
-        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DET_DL4_IN_H;
1983
-        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DET_DL4_IN_L;
1984
+        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level1_H;
1985
+        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level1_L;
1986
+        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level2_H;
1987
+        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level2_L;
1988
+        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level3_H;
1989
+        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level3_L;
1990
+        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level4_H;
1991
+        data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.DLI_Level4_L;
1984
         /*USER == OFFSET */
1992
         /*USER == OFFSET */
1985
         data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.bluecell_User_DL1_H;
1993
         data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.bluecell_User_DL1_H;
1986
         data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.bluecell_User_DL1_L;
1994
         data[MBIC_PAYLOADSTART + i++] = bluecell_Currdatastatus.bluecell_User_DL1_L;
@@ -2002,28 +2010,28 @@ bool MBIC_Operate(uint8_t* data){
2002
 
2010
 
2003
         /*DLI LEVEL QUESTION START ???? */
2011
         /*DLI LEVEL QUESTION START ???? */
2004
 
2012
 
2005
-        temp  = (bluecell_Currdatastatus.DET_DL1_IN_H << 8 
2006
-              | bluecell_Currdatastatus.DET_DL1_IN_L) * 3.3/4095; 
2013
+        temp  = (bluecell_Currdatastatus.DLI_Level1_H << 8 
2014
+              | bluecell_Currdatastatus.DLI_Level1_L) * 3.3/4095; 
2007
         Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
2015
         Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
2008
         Level *= 10;
2016
         Level *= 10;
2009
         bluecell_Currdatastatus.DLI_Level1_H = ((Level & 0xFF00) >> 8);
2017
         bluecell_Currdatastatus.DLI_Level1_H = ((Level & 0xFF00) >> 8);
2010
         bluecell_Currdatastatus.DLI_Level1_L = ((Level & 0xFF00) >> 8);
2018
         bluecell_Currdatastatus.DLI_Level1_L = ((Level & 0xFF00) >> 8);
2011
-        temp  = (bluecell_Currdatastatus.DET_DL2_IN_H << 8 
2012
-              | bluecell_Currdatastatus.DET_DL2_IN_L) * 3.3/4095; 
2019
+        temp  = (bluecell_Currdatastatus.DLI_Level2_H << 8 
2020
+              | bluecell_Currdatastatus.DLI_Level2_L) * 3.3/4095; 
2013
         Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
2021
         Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
2014
         Level *= 10;
2022
         Level *= 10;
2015
         bluecell_Currdatastatus.DLI_Level1_H = ((Level & 0xFF00) >> 8);
2023
         bluecell_Currdatastatus.DLI_Level1_H = ((Level & 0xFF00) >> 8);
2016
         bluecell_Currdatastatus.DLI_Level1_L = ((Level & 0xFF00) >> 8);
2024
         bluecell_Currdatastatus.DLI_Level1_L = ((Level & 0xFF00) >> 8);
2017
         
2025
         
2018
-        temp  = (bluecell_Currdatastatus.DET_DL3_IN_H << 8 
2019
-              | bluecell_Currdatastatus.DET_DL3_IN_L) * 3.3/4095; 
2026
+        temp  = (bluecell_Currdatastatus.DLI_Level3_H << 8 
2027
+              | bluecell_Currdatastatus.DLI_Level3_L) * 3.3/4095; 
2020
         Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
2028
         Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
2021
         Level *= 10;
2029
         Level *= 10;
2022
         bluecell_Currdatastatus.DLI_Level1_H = ((Level & 0xFF00) >> 8);
2030
         bluecell_Currdatastatus.DLI_Level1_H = ((Level & 0xFF00) >> 8);
2023
         bluecell_Currdatastatus.DLI_Level1_L = ((Level & 0xFF00) >> 8);
2031
         bluecell_Currdatastatus.DLI_Level1_L = ((Level & 0xFF00) >> 8);
2024
         
2032
         
2025
-        temp  = (bluecell_Currdatastatus.DET_DL4_IN_H << 8 
2026
-              | bluecell_Currdatastatus.DET_DL4_IN_L) * 3.3/4095; 
2033
+        temp  = (bluecell_Currdatastatus.DLI_Level4_H << 8 
2034
+              | bluecell_Currdatastatus.DLI_Level4_L) * 3.3/4095; 
2027
         Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
2035
         Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
2028
         Level *= 10;
2036
         Level *= 10;
2029
         bluecell_Currdatastatus.DLI_Level1_H = ((Level & 0xFF00) >> 8);
2037
         bluecell_Currdatastatus.DLI_Level1_H = ((Level & 0xFF00) >> 8);
@@ -2116,28 +2124,28 @@ bool MBIC_Operate(uint8_t* data){
2116
         /*ULO LEVEL QUESTION START ???? */
2124
         /*ULO LEVEL QUESTION START ???? */
2117
 
2125
 
2118
 
2126
 
2119
-        temp  = (bluecell_Currdatastatus.DET_UL1_IN_H << 8 
2120
-              | bluecell_Currdatastatus.DET_UL1_IN_L) * 3.3/4095; 
2127
+        temp  = (bluecell_Currdatastatus.ULO_Level1_H << 8 
2128
+              | bluecell_Currdatastatus.ULO_Level1_L) * 3.3/4095; 
2121
         Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
2129
         Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
2122
         Level *= 10;
2130
         Level *= 10;
2123
         bluecell_Currdatastatus.ULO_Level1_H = ((Level & 0xFF00) >> 8);
2131
         bluecell_Currdatastatus.ULO_Level1_H = ((Level & 0xFF00) >> 8);
2124
         bluecell_Currdatastatus.ULO_Level1_L = ((Level & 0xFF00) >> 8);
2132
         bluecell_Currdatastatus.ULO_Level1_L = ((Level & 0xFF00) >> 8);
2125
-        temp  = (bluecell_Currdatastatus.DET_UL2_IN_H << 8 
2126
-              | bluecell_Currdatastatus.DET_UL2_IN_L) * 3.3/4095; 
2133
+        temp  = (bluecell_Currdatastatus.ULO_Level2_H << 8 
2134
+              | bluecell_Currdatastatus.ULO_Level2_L) * 3.3/4095; 
2127
         Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
2135
         Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
2128
         Level *= 10;
2136
         Level *= 10;
2129
         bluecell_Currdatastatus.ULO_Level2_H = ((Level & 0xFF00) >> 8);
2137
         bluecell_Currdatastatus.ULO_Level2_H = ((Level & 0xFF00) >> 8);
2130
         bluecell_Currdatastatus.ULO_Level2_L = ((Level & 0xFF00) >> 8);
2138
         bluecell_Currdatastatus.ULO_Level2_L = ((Level & 0xFF00) >> 8);
2131
         
2139
         
2132
-        temp  = (bluecell_Currdatastatus.DET_UL3_IN_H << 8 
2133
-              | bluecell_Currdatastatus.DET_UL3_IN_L) * 3.3/4095; 
2140
+        temp  = (bluecell_Currdatastatus.ULO_Level3_H << 8 
2141
+              | bluecell_Currdatastatus.ULO_Level3_L) * 3.3/4095; 
2134
         Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
2142
         Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
2135
         Level *= 10;
2143
         Level *= 10;
2136
         bluecell_Currdatastatus.ULO_Level3_H = ((Level & 0xFF00) >> 8);
2144
         bluecell_Currdatastatus.ULO_Level3_H = ((Level & 0xFF00) >> 8);
2137
         bluecell_Currdatastatus.ULO_Level3_L = ((Level & 0xFF00) >> 8);
2145
         bluecell_Currdatastatus.ULO_Level3_L = ((Level & 0xFF00) >> 8);
2138
         
2146
         
2139
-        temp  = (bluecell_Currdatastatus.DET_UL4_IN_H << 8 
2140
-              | bluecell_Currdatastatus.DET_UL4_IN_L) * 3.3/4095; 
2147
+        temp  = (bluecell_Currdatastatus.ULO_Level4_H << 8 
2148
+              | bluecell_Currdatastatus.ULO_Level4_L) * 3.3/4095; 
2141
         Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
2149
         Level = AutoControl_ADC_Compare(temp,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
2142
         Level *= 10;
2150
         Level *= 10;
2143
         bluecell_Currdatastatus.ULO_Level4_H = ((Level & 0xFF00) >> 8);
2151
         bluecell_Currdatastatus.ULO_Level4_H = ((Level & 0xFF00) >> 8);
@@ -2750,6 +2758,119 @@ uint32_t SumFunc(uint16_t* data,uint16_t size){
2750
     return ret;
2758
     return ret;
2751
 }
2759
 }
2752
 
2760
 
2761
+
2762
+
2763
+
2764
+bool ADC_Alarm_DL_Set[DET_Alarm_DL_Index_MAX] = {false,} ;
2765
+bool ADC_Alarm_UL_Set[DET_Alarm_UL_Index_MAX] = {false,} ;
2766
+void DET_LevelAlarmCheck(){
2767
+    int16_t DL[DET_Alarm_DL_Index_MAX] = {0,};
2768
+    int16_t UL[DET_Alarm_UL_Index_MAX] = {0,};
2769
+    int16_t LimitData_UL_High = 0;
2770
+    
2771
+    int16_t LimitData_DL_High = 0;    
2772
+    int16_t LimitData_DL_Low = 0;    
2773
+    double ret = 0;
2774
+    int8_t Res_DL_dBm[DET_Alarm_DL_Index_MAX] = {0,};
2775
+    int8_t Res_UL_dBm[DET_Alarm_UL_Index_MAX] = {0,};    
2776
+    
2777
+
2778
+    LimitData_UL_High = ConvertTo2byte(bluecell_Currdatastatus.ULO_Level_High_Threshold_H,bluecell_Currdatastatus.ULO_Level_High_Threshold_L) / 10;
2779
+    LimitData_DL_High = ConvertTo2byte(bluecell_Currdatastatus.DLI_Level_High_Threshold_H,bluecell_Currdatastatus.DLI_Level_High_Threshold_L)/ 10;
2780
+    LimitData_DL_Low = ConvertTo2byte(bluecell_Currdatastatus.DLI_Level_Low_Threshold_H,bluecell_Currdatastatus.DLI_Level_Low_Threshold_L)/ 10;
2781
+    DL[DET_Alarm_DL1_Index] = ConvertTo2byte(bluecell_Currdatastatus.DLI_Level1_H,bluecell_Currdatastatus.DLI_Level1_L);
2782
+    DL[DET_Alarm_DL2_Index] = ConvertTo2byte(bluecell_Currdatastatus.DLI_Level2_H,bluecell_Currdatastatus.DLI_Level2_L);
2783
+    DL[DET_Alarm_DL3_Index] = ConvertTo2byte(bluecell_Currdatastatus.DLI_Level3_H,bluecell_Currdatastatus.DLI_Level3_L);
2784
+    DL[DET_Alarm_DL4_Index] = ConvertTo2byte(bluecell_Currdatastatus.DLI_Level4_H,bluecell_Currdatastatus.DLI_Level4_L);
2785
+    UL[DET_Alarm_UL1_Index] = ConvertTo2byte(bluecell_Currdatastatus.ULO_Level1_H,bluecell_Currdatastatus.ULO_Level1_L);
2786
+    UL[DET_Alarm_UL2_Index] = ConvertTo2byte(bluecell_Currdatastatus.ULO_Level2_H,bluecell_Currdatastatus.ULO_Level2_L);
2787
+    UL[DET_Alarm_UL3_Index] = ConvertTo2byte(bluecell_Currdatastatus.ULO_Level3_H,bluecell_Currdatastatus.ULO_Level3_L);
2788
+    UL[DET_Alarm_UL4_Index] = ConvertTo2byte(bluecell_Currdatastatus.ULO_Level4_H,bluecell_Currdatastatus.ULO_Level4_L);
2789
+
2790
+    ret  = bluecell_Currdatastatus.DLI_Level1_H << 8;
2791
+    ret += bluecell_Currdatastatus.DLI_Level1_L;   
2792
+    ret *= 0.001;    
2793
+    Res_DL_dBm[DET_Alarm_DL1_Index] 
2794
+        = (int8_t)Bluecell_TestPro(AGC_AutoControl_ADC_Compare(ret,&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st)));
2795
+    ret  = bluecell_Currdatastatus.DLI_Level2_H << 8;
2796
+    ret += bluecell_Currdatastatus.DLI_Level2_L;   
2797
+    ret *= 0.001;  
2798
+
2799
+    Res_DL_dBm[DET_Alarm_DL2_Index] 
2800
+        = (int8_t)Bluecell_TestPro(AGC_AutoControl_ADC_Compare(ret,&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st)));
2801
+    ret  = bluecell_Currdatastatus.DLI_Level3_H << 8;
2802
+    ret += bluecell_Currdatastatus.DLI_Level3_L;   
2803
+    ret *= 0.001;  
2804
+
2805
+    Res_DL_dBm[DET_Alarm_DL3_Index] 
2806
+        = (int8_t)Bluecell_TestPro(AGC_AutoControl_ADC_Compare(ret,&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st)));
2807
+
2808
+
2809
+    ret  = bluecell_Currdatastatus.DLI_Level4_H << 8;
2810
+    ret += bluecell_Currdatastatus.DLI_Level4_L;   
2811
+    ret *= 0.001;  
2812
+
2813
+    Res_DL_dBm[DET_Alarm_DL4_Index] 
2814
+        = (int8_t)Bluecell_TestPro(AGC_AutoControl_ADC_Compare(ret,&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st)));
2815
+
2816
+
2817
+
2818
+    ret  = bluecell_Currdatastatus.ULO_Level1_H << 8;
2819
+    ret += bluecell_Currdatastatus.ULO_Level1_L;   
2820
+    ret *= 0.001;
2821
+
2822
+    Res_UL_dBm[DET_Alarm_UL1_Index] 
2823
+        = (int8_t)Bluecell_TestPro(AutoControl_ADC_Compare(ret,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st)));
2824
+
2825
+//    printf("LimitData_UL_High : %d \r\n",LimitData_UL_High);
2826
+//    printf("DET_High : %d \r\n",Res_UL_dBm[DET_Alarm_UL1_Index] );
2827
+
2828
+    ret  = bluecell_Currdatastatus.ULO_Level2_H << 8;
2829
+    ret += bluecell_Currdatastatus.ULO_Level2_L;   
2830
+    ret *= 0.001;
2831
+
2832
+    Res_UL_dBm[DET_Alarm_UL2_Index] 
2833
+        = (int8_t)Bluecell_TestPro(AutoControl_ADC_Compare(ret,&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st)));
2834
+
2835
+    ret  = bluecell_Currdatastatus.ULO_Level3_H << 8;
2836
+    ret += bluecell_Currdatastatus.ULO_Level3_L;   
2837
+    ret *= 0.001;
2838
+
2839
+    Res_UL_dBm[DET_Alarm_UL3_Index] 
2840
+        = (int8_t)Bluecell_TestPro(AutoControl_ADC_Compare(ret,&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st)));
2841
+
2842
+
2843
+    ret  = bluecell_Currdatastatus.ULO_Level4_H << 8;
2844
+    ret += bluecell_Currdatastatus.ULO_Level4_L;   
2845
+    ret *= 0.001;
2846
+
2847
+    Res_UL_dBm[DET_Alarm_UL4_Index] 
2848
+        = (int8_t)Bluecell_TestPro(AutoControl_ADC_Compare(ret,&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st)));
2849
+
2850
+
2851
+//    printf("LimitData_DL_High : %d \r\n",LimitData_DL_High);    
2852
+//    printf("LimitData_DL_Low : %d \r\n",LimitData_DL_Low);   
2853
+    for(int i = 0 ; i < DET_Alarm_UL_Index_MAX; i++){
2854
+        if(LimitData_UL_High > Res_UL_dBm[DET_Alarm_UL1_Index + i]){
2855
+            ADC_Alarm_UL_Set[DET_Alarm_UL1_Index + i] = true;
2856
+//            printf("ADC_Alarm_UL_Set %d ,Value : %d\r\n",DET_Alarm_UL1_Index + i,ADC_Alarm_UL_Set[DET_Alarm_UL1_Index + i]);
2857
+        }
2858
+        else{
2859
+            ADC_Alarm_UL_Set[DET_Alarm_UL1_Index + i] = false;
2860
+//            printf("ADC_Alarm_UL_Set %d ,Value : %d\r\n",DET_Alarm_UL1_Index + i,ADC_Alarm_UL_Set[DET_Alarm_UL1_Index + i] );            
2861
+        }
2862
+    }
2863
+#if 1 // PYJ.2020.05.27_BEGIN -- 
2864
+    for(int i = 0 ; i < DET_Alarm_DL_Index_MAX; i++){
2865
+        if(LimitData_DL_High > Res_DL_dBm[DET_Alarm_DL1_Index + i]
2866
+         &&LimitData_DL_Low < Res_DL_dBm[DET_Alarm_DL1_Index + i])
2867
+            ADC_Alarm_DL_Set[DET_Alarm_DL1_Index + i] = true;
2868
+        else
2869
+            ADC_Alarm_DL_Set[DET_Alarm_DL1_Index + i] = false;
2870
+    }    
2871
+//    HAL_Delay(1000);
2872
+#endif // PYJ.2020.05.27_END -- 
2873
+}
2753
 void ADC_Check(void){
2874
 void ADC_Check(void){
2754
     //static uint8_t Cnt = 0;
2875
     //static uint8_t Cnt = 0;
2755
    double ADC1DoubleRet[4];
2876
    double ADC1DoubleRet[4];
@@ -2792,33 +2913,33 @@ void ADC_Check(void){
2792
                 ADC3_Average_value[i] = 0;
2913
                 ADC3_Average_value[i] = 0;
2793
             }
2914
             }
2794
             
2915
             
2795
-            bluecell_Currdatastatus.DET_DL1_IN_H 
2916
+            bluecell_Currdatastatus.DLI_Level1_H 
2796
                 = ((ADC3Ret[1] & 0xFF00) >> 8);
2917
                 = ((ADC3Ret[1] & 0xFF00) >> 8);
2797
-            bluecell_Currdatastatus.DET_DL1_IN_L 
2918
+            bluecell_Currdatastatus.DLI_Level1_L 
2798
                 = ((ADC3Ret[1] & 0x00FF));
2919
                 = ((ADC3Ret[1] & 0x00FF));
2799
             
2920
             
2800
 
2921
 
2801
-            bluecell_Currdatastatus.DET_DL2_IN_H 
2922
+            bluecell_Currdatastatus.DLI_Level2_H 
2802
                 = ((ADC3Ret[2] & 0xFF00) >> 8);
2923
                 = ((ADC3Ret[2] & 0xFF00) >> 8);
2803
-            bluecell_Currdatastatus.DET_DL2_IN_L 
2924
+            bluecell_Currdatastatus.DLI_Level2_L 
2804
                 = ((ADC3Ret[2] & 0x00FF) );
2925
                 = ((ADC3Ret[2] & 0x00FF) );
2805
 
2926
 
2806
                 
2927
                 
2807
-            bluecell_Currdatastatus.DET_DL3_IN_H 
2928
+            bluecell_Currdatastatus.DLI_Level3_H 
2808
                 = ((ADC3Ret[3] & 0xFF00) >> 8);
2929
                 = ((ADC3Ret[3] & 0xFF00) >> 8);
2809
-            bluecell_Currdatastatus.DET_DL3_IN_L 
2930
+            bluecell_Currdatastatus.DLI_Level3_L 
2810
                 = ((ADC3Ret[3] & 0x00FF) );
2931
                 = ((ADC3Ret[3] & 0x00FF) );
2811
 
2932
 
2812
                 
2933
                 
2813
-            bluecell_Currdatastatus.DET_DL4_IN_H 
2934
+            bluecell_Currdatastatus.DLI_Level4_H 
2814
                 = ((ADC3Ret[4] & 0xFF00) >> 8);
2935
                 = ((ADC3Ret[4] & 0xFF00) >> 8);
2815
-            bluecell_Currdatastatus.DET_DL4_IN_L 
2936
+            bluecell_Currdatastatus.DLI_Level4_L 
2816
                 = ((ADC3Ret[4] & 0x00FF) );
2937
                 = ((ADC3Ret[4] & 0x00FF) );
2817
 
2938
 
2818
                 
2939
                 
2819
-            bluecell_Currdatastatus.DET_UL4_IN_H 
2940
+            bluecell_Currdatastatus.ULO_Level4_H 
2820
                 = ((ADC3Ret[0] & 0xFF00) >> 8);
2941
                 = ((ADC3Ret[0] & 0xFF00) >> 8);
2821
-            bluecell_Currdatastatus.DET_UL4_IN_L 
2942
+            bluecell_Currdatastatus.ULO_Level4_L 
2822
                 = ((ADC3Ret[0] & 0x00FF) );
2943
                 = ((ADC3Ret[0] & 0x00FF) );
2823
 #endif // PYJ.2020.05.25_END -- 
2944
 #endif // PYJ.2020.05.25_END -- 
2824
 #if 0 // PYJ.2020.04.26_BEGIN -- 
2945
 #if 0 // PYJ.2020.04.26_BEGIN -- 
@@ -2864,21 +2985,21 @@ void ADC_Check(void){
2864
             ADC1_Average_value[i] = 0;
2985
             ADC1_Average_value[i] = 0;
2865
         }
2986
         }
2866
        
2987
        
2867
-        bluecell_Currdatastatus.DET_UL1_IN_H 
2988
+        bluecell_Currdatastatus.ULO_Level1_H 
2868
             = ((ADC1Ret[0] & 0xFF00) >> 8);
2989
             = ((ADC1Ret[0] & 0xFF00) >> 8);
2869
-        bluecell_Currdatastatus.DET_UL1_IN_L 
2990
+        bluecell_Currdatastatus.ULO_Level1_L 
2870
             = ((ADC1Ret[0] & 0x00FF) );
2991
             = ((ADC1Ret[0] & 0x00FF) );
2871
 
2992
 
2872
             
2993
             
2873
-        bluecell_Currdatastatus.DET_UL2_IN_H 
2994
+        bluecell_Currdatastatus.ULO_Level2_H 
2874
             = ((ADC1Ret[1] & 0xFF00) >> 8);
2995
             = ((ADC1Ret[1] & 0xFF00) >> 8);
2875
-        bluecell_Currdatastatus.DET_UL2_IN_L 
2996
+        bluecell_Currdatastatus.ULO_Level2_L 
2876
             = ((ADC1Ret[1] & 0x00FF) );
2997
             = ((ADC1Ret[1] & 0x00FF) );
2877
 
2998
 
2878
             
2999
             
2879
-        bluecell_Currdatastatus.DET_UL3_IN_H 
3000
+        bluecell_Currdatastatus.ULO_Level3_H 
2880
             = ((ADC1Ret[2] & 0xFF00) >> 8);
3001
             = ((ADC1Ret[2] & 0xFF00) >> 8);
2881
-        bluecell_Currdatastatus.DET_UL3_IN_L 
3002
+        bluecell_Currdatastatus.ULO_Level3_L 
2882
             = ((ADC1Ret[2] & 0x00FF) );
3003
             = ((ADC1Ret[2] & 0x00FF) );
2883
 
3004
 
2884
 //            printf("ADC1_Average_value[%d] : %d / %f \r\n",i,ADC1_Average_value[i],ADC1_Average_value[i]/cnt[i] * Volt_Calc_val);            
3005
 //            printf("ADC1_Average_value[%d] : %d / %f \r\n",i,ADC1_Average_value[i],ADC1_Average_value[i]/cnt[i] * Volt_Calc_val);            
@@ -3312,8 +3433,8 @@ void ALC_Function(){ //DL
3312
             //ret 현재 Voltage 값 출력 
3433
             //ret 현재 Voltage 값 출력 
3313
             //ret 에 따른 현재 DBM 구현 
3434
             //ret 에 따른 현재 DBM 구현 
3314
             
3435
             
3315
-            ret  = bluecell_Currdatastatus.DET_UL1_IN_H << 8;
3316
-            ret += bluecell_Currdatastatus.DET_UL1_IN_L;   
3436
+            ret  = bluecell_Currdatastatus.ULO_Level1_H << 8;
3437
+            ret += bluecell_Currdatastatus.ULO_Level1_L;   
3317
             ret *= 0.001;
3438
             ret *= 0.001;
3318
 
3439
 
3319
             
3440
             
@@ -3340,7 +3461,7 @@ void ALC_Function(){ //DL
3340
     //                        printf("ResdBm : UL1 : %f \r\n",ResdBm);
3461
     //                        printf("ResdBm : UL1 : %f \r\n",ResdBm);
3341
      
3462
      
3342
 
3463
 
3343
-                //CurrnALC_MIN_SettingValue = MinusConvert(bluecell_Currdatastatus.DET_UL1_IN_H,CurrnALC_MIN_SettingValue);
3464
+                //CurrnALC_MIN_SettingValue = MinusConvert(bluecell_Currdatastatus.ULO_Level1_H,CurrnALC_MIN_SettingValue);
3344
     //            Limitdata = (( bluecell_Currdatastatus.ATT_UL1_H << 8) & 0xFF00) ;
3465
     //            Limitdata = (( bluecell_Currdatastatus.ATT_UL1_H << 8) & 0xFF00) ;
3345
     //            Limitdata +=  bluecell_Currdatastatus.ATT_UL1_L ;
3466
     //            Limitdata +=  bluecell_Currdatastatus.ATT_UL1_L ;
3346
     //
3467
     //
@@ -3385,8 +3506,8 @@ void ALC_Function(){ //DL
3385
             //ret 현재 Voltage 값 출력 
3506
             //ret 현재 Voltage 값 출력 
3386
             //ret 에 따른 현재 DBM 구현 
3507
             //ret 에 따른 현재 DBM 구현 
3387
             
3508
             
3388
-            ret  = bluecell_Currdatastatus.DET_UL2_IN_H << 8;
3389
-            ret += bluecell_Currdatastatus.DET_UL2_IN_L;   
3509
+            ret  = bluecell_Currdatastatus.ULO_Level2_H << 8;
3510
+            ret += bluecell_Currdatastatus.ULO_Level2_L;   
3390
             ret *= 0.001;
3511
             ret *= 0.001;
3391
             
3512
             
3392
             
3513
             
@@ -3417,8 +3538,8 @@ void ALC_Function(){ //DL
3417
             //ret 현재 Voltage 값 출력 
3538
             //ret 현재 Voltage 값 출력 
3418
             //ret 에 따른 현재 DBM 구현 
3539
             //ret 에 따른 현재 DBM 구현 
3419
             
3540
             
3420
-            ret  = bluecell_Currdatastatus.DET_UL3_IN_H << 8;
3421
-            ret += bluecell_Currdatastatus.DET_UL3_IN_L;   
3541
+            ret  = bluecell_Currdatastatus.ULO_Level3_H << 8;
3542
+            ret += bluecell_Currdatastatus.ULO_Level3_L;   
3422
             ret *= 0.001;
3543
             ret *= 0.001;
3423
             
3544
             
3424
             
3545
             
@@ -3452,8 +3573,8 @@ void ALC_Function(){ //DL
3452
             //ret 현재 Voltage 값 출력 
3573
             //ret 현재 Voltage 값 출력 
3453
             //ret 에 따른 현재 DBM 구현 
3574
             //ret 에 따른 현재 DBM 구현 
3454
             
3575
             
3455
-            ret  = bluecell_Currdatastatus.DET_UL4_IN_H << 8;
3456
-            ret += bluecell_Currdatastatus.DET_UL4_IN_L;   
3576
+            ret  = bluecell_Currdatastatus.ULO_Level4_H << 8;
3577
+            ret += bluecell_Currdatastatus.ULO_Level4_L;   
3457
             ret *= 0.001;
3578
             ret *= 0.001;
3458
             
3579
             
3459
             
3580
             
@@ -3516,19 +3637,19 @@ void AGC_Alarm_Check(uint8_t Path_Index,double AGC_Det,uint8_t* AGC_Table,uint16
3516
 
3637
 
3517
     if(AGC_Det > TableAdc + step){/*Alarm Enable*/
3638
     if(AGC_Det > TableAdc + step){/*Alarm Enable*/
3518
         AGC_AlarmSet[Path_Index] = true; /*Alarm Check val*/
3639
         AGC_AlarmSet[Path_Index] = true; /*Alarm Check val*/
3519
-        AGC_AlarmTimerSet[Path_Index] = false;/*Alarm Timer Setting Val*/
3520
-        AGCAlarmTimerCnt[Path_Index] = 0;/*Alarm Time Cnt Val*/
3521
-        printf("AGC ALARM ON %d \r\n",Path_Index + 1);
3640
+//        AGC_AlarmTimerSet[Path_Index] = false;/*Alarm Timer Setting Val*/
3641
+//        AGCAlarmTimerCnt[Path_Index] = 0;/*Alarm Time Cnt Val*/
3642
+//        printf("AGC ALARM ON %d \r\n",Path_Index + 1);
3522
     }else{/*Alarm Disable*/
3643
     }else{/*Alarm Disable*/
3523
-        if(AGC_AlarmSet[Path_Index] == true && CurrAtten <= 18){/*Alarm Disalbe Condition*/
3524
-            AGC_AlarmTimerSet[Path_Index] = true;
3525
-        }else{/*Alarm Disalbe Fail*/
3526
-            AGC_AlarmTimerSet[Path_Index] = false;
3527
-            AGCAlarmTimerCnt[Path_Index] = 0;
3528
-        }
3529
-        if(AGCAlarmTimerCnt[Path_Index] > 3000){
3644
+//        if(AGC_AlarmSet[Path_Index] == true && CurrAtten <= 18){/*Alarm Disalbe Condition*/
3645
+//            AGC_AlarmTimerSet[Path_Index] = true;
3646
+//        }else{/*Alarm Disalbe Fail*/
3647
+//            AGC_AlarmTimerSet[Path_Index] = false;
3648
+//            AGCAlarmTimerCnt[Path_Index] = 0;
3649
+//        }
3650
+//        if(AGCAlarmTimerCnt[Path_Index] > 3000){
3530
             AGC_AlarmSet[Path_Index] = false;
3651
             AGC_AlarmSet[Path_Index] = false;
3531
-        }
3652
+//        }
3532
     }
3653
     }
3533
 
3654
 
3534
 }
3655
 }
@@ -3558,8 +3679,8 @@ void AGC_Function(){//DL
3558
 #if 1 // PYJ.2020.05.25_BEGIN -- 
3679
 #if 1 // PYJ.2020.05.25_BEGIN -- 
3559
                         //ret 현재 Voltage 값 출력 
3680
                         //ret 현재 Voltage 값 출력 
3560
             //ret 에 따른 현재 DBM 구현 
3681
             //ret 에 따른 현재 DBM 구현 
3561
-            ret  = bluecell_Currdatastatus.DET_DL1_IN_H << 8;
3562
-            ret += bluecell_Currdatastatus.DET_DL1_IN_L;   
3682
+            ret  = bluecell_Currdatastatus.DLI_Level1_H << 8;
3683
+            ret += bluecell_Currdatastatus.DLI_Level1_L;   
3563
             ret *= 0.001;
3684
             ret *= 0.001;
3564
             
3685
             
3565
             
3686
             
@@ -3593,8 +3714,8 @@ void AGC_Function(){//DL
3593
 
3714
 
3594
 
3715
 
3595
 
3716
 
3596
-       ret  = bluecell_Currdatastatus.DET_DL2_IN_H << 8;
3597
-       ret += bluecell_Currdatastatus.DET_DL2_IN_L;   
3717
+       ret  = bluecell_Currdatastatus.DLI_Level2_H << 8;
3718
+       ret += bluecell_Currdatastatus.DLI_Level2_L;   
3598
        ret *= 0.001;
3719
        ret *= 0.001;
3599
       
3720
       
3600
        ResdBm = (int8_t)Bluecell_TestPro(AGC_AutoControl_ADC_Compare(ret,&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st)));
3721
        ResdBm = (int8_t)Bluecell_TestPro(AGC_AutoControl_ADC_Compare(ret,&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st)));
@@ -3624,8 +3745,8 @@ void AGC_Function(){//DL
3624
 
3745
 
3625
 
3746
 
3626
 
3747
 
3627
-        ret  = bluecell_Currdatastatus.DET_DL3_IN_H << 8;
3628
-        ret += bluecell_Currdatastatus.DET_DL3_IN_L;   
3748
+        ret  = bluecell_Currdatastatus.DLI_Level3_H << 8;
3749
+        ret += bluecell_Currdatastatus.DLI_Level3_L;   
3629
         ret *= 0.001;
3750
         ret *= 0.001;
3630
         
3751
         
3631
         ResdBm = (int8_t)Bluecell_TestPro(AGC_AutoControl_ADC_Compare(ret,&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st)));
3752
         ResdBm = (int8_t)Bluecell_TestPro(AGC_AutoControl_ADC_Compare(ret,&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st)));
@@ -3657,8 +3778,8 @@ void AGC_Function(){//DL
3657
 #endif // PYJ.2020.05.25_END -- 
3778
 #endif // PYJ.2020.05.25_END -- 
3658
 
3779
 
3659
 
3780
 
3660
-            ret  = bluecell_Currdatastatus.DET_DL4_IN_H << 8;
3661
-            ret += bluecell_Currdatastatus.DET_DL4_IN_L;   
3781
+            ret  = bluecell_Currdatastatus.DLI_Level4_H << 8;
3782
+            ret += bluecell_Currdatastatus.DLI_Level4_L;   
3662
             ret *= 0.001;
3783
             ret *= 0.001;
3663
             ResdBm = (int8_t)Bluecell_TestPro(AGC_AutoControl_ADC_Compare(ret,&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st)));
3784
             ResdBm = (int8_t)Bluecell_TestPro(AGC_AutoControl_ADC_Compare(ret,&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEDL_st)));
3664
             for(i = 0; i < sizeof(AGC_dBm_t); i++){
3785
             for(i = 0; i < sizeof(AGC_dBm_t); i++){
@@ -3702,10 +3823,15 @@ void Alarm_Check(){
3702
     || bluecell_Currdatastatus.ALARM_ULO_ALC_SHTUTDOWN     > 0){
3823
     || bluecell_Currdatastatus.ALARM_ULO_ALC_SHTUTDOWN     > 0){
3703
         AlarmTimerOnSet = true;
3824
         AlarmTimerOnSet = true;
3704
         AlarmTimerOffSet = false;
3825
         AlarmTimerOffSet = false;
3826
+        if(AlarmTimerOnCnt > 3000){
3827
+            Alarm_LED_OnSet  = true;
3828
+        }
3705
     }else{
3829
     }else{
3706
         AlarmTimerOffSet = true;// False 
3830
         AlarmTimerOffSet = true;// False 
3707
         if(AlarmTimerOffCnt > 10000){
3831
         if(AlarmTimerOffCnt > 10000){
3708
             AlarmTimerOnSet = false;
3832
             AlarmTimerOnSet = false;
3833
+            Alarm_LED_OnSet = false;
3834
+//            printf("=================AlarmTimerOffCnt=================\r\n");
3709
         }
3835
         }
3710
     }
3836
     }
3711
 
3837
 
@@ -3719,191 +3845,9 @@ void Alarm_Check(){
3719
     }
3845
     }
3720
     /******************************TEMP END*******************************************/ 
3846
     /******************************TEMP END*******************************************/ 
3721
 
3847
 
3722
-    /******************************ULO LEVEL START*******************************************/ 
3723
-    
3724
-    if(bluecell_Currdatastatus.ULO_ALC_ON_OFF == true){ // ALC ON 
3725
-#if 0 // PYJ.2020.05.23_BEGIN -- 
3726
-        temp = ((bluecell_Currdatastatus.ULO_ALC_Threshold_H << 8) & 0xFF00);
3727
-        temp += (bluecell_Currdatastatus.ULO_ALC_Threshold_L & 0x00FF);
3728
-        temp /= 10;
3729
-        
3730
-        ret  = bluecell_Currdatastatus.DET_UL1_IN_H << 8;
3731
-        ret += bluecell_Currdatastatus.DET_UL1_IN_L;   
3732
-        ret *= 0.001;
3733
-        ResdBm[0] = AutoControl_ADC_Compare(ret,&Det_UL1.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
3734
-        ret  = bluecell_Currdatastatus.DET_UL1_IN_H << 8;
3735
-        ret += bluecell_Currdatastatus.DET_UL1_IN_L;   
3736
-        ret *= 0.001;
3737
-        ResdBm[1] = AutoControl_ADC_Compare(ret,&Det_UL2.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
3738
-
3739
-        ret  = bluecell_Currdatastatus.DET_UL1_IN_H << 8;
3740
-        ret += bluecell_Currdatastatus.DET_UL1_IN_L;   
3741
-        ret *= 0.001;
3742
-        ResdBm[2] = AutoControl_ADC_Compare(ret,&Det_UL3.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
3743
-        ret  = bluecell_Currdatastatus.DET_UL1_IN_H << 8;
3744
-        ret += bluecell_Currdatastatus.DET_UL1_IN_L;   
3745
-        ret *= 0.001;
3746
-        ResdBm[3] = AutoControl_ADC_Compare(ret,&Det_UL4.Table_Det_15_dBm_H,sizeof(DET_TABLEUL_st));
3747
-        
3748
-#endif // PYJ.2020.05.23_END -- 
3749
-     /*4개의 디텍 중에 한개라도 상한치를 넘었을 경우 알림 */
3750
-        if(ALC_AlarmSet[ALC_Alarm_UL1_Index] == true){
3751
-             printf("ULO_ALC_Alarm1 OCCUR\r\n");
3752
-            bluecell_Currdatastatus.ALARM_ULO_Level |= ALARM_ULO_P1_LEVEL_HIGH;
3753
-            bluecell_Currdatastatus.ULO_ALC_Alarm1  = true;
3754
-        }else{
3755
-            bluecell_Currdatastatus.ALARM_ULO_Level &= ~ALARM_ULO_P1_LEVEL_HIGH;
3756
-            bluecell_Currdatastatus.ULO_ALC_Alarm1  = false;
3757
-        }
3758
-
3759
-        if(ALC_AlarmSet[ALC_Alarm_UL2_Index] == true){
3760
-             printf("ULO_ALC_Alarm2 OCCUR\r\n");
3761
-            bluecell_Currdatastatus.ALARM_ULO_Level |= ALARM_ULO_P2_LEVEL_HIGH;
3762
-            bluecell_Currdatastatus.ULO_ALC_Alarm2  = true;
3763
-        }else{
3764
-            bluecell_Currdatastatus.ALARM_ULO_Level &= ~ALARM_ULO_P2_LEVEL_HIGH;
3765
-            bluecell_Currdatastatus.ULO_ALC_Alarm2  = false;
3766
-        }        
3767
-        if(ALC_AlarmSet[ALC_Alarm_UL3_Index] == true){
3768
-             printf("ULO_ALC_Alarm3 OCCUR\r\n");
3769
-            bluecell_Currdatastatus.ALARM_ULO_Level |= ALARM_ULO_P3_LEVEL_HIGH;
3770
-            bluecell_Currdatastatus.ULO_ALC_Alarm3  = true;
3771
-        }else{
3772
-            bluecell_Currdatastatus.ALARM_ULO_Level &= ~ALARM_ULO_P3_LEVEL_HIGH;
3773
-            bluecell_Currdatastatus.ULO_ALC_Alarm3  = false;
3774
-        }        
3775
-        if(ALC_AlarmSet[ALC_Alarm_UL4_Index] == true){
3776
-             printf("ULO_ALC_Alarm4 OCCUR\r\n");
3777
-            bluecell_Currdatastatus.ALARM_ULO_Level |= ALARM_ULO_P4_LEVEL_HIGH;
3778
-            bluecell_Currdatastatus.ULO_ALC_Alarm4  = true;
3779
-        }else{
3780
-            bluecell_Currdatastatus.ALARM_ULO_Level &= ~ALARM_ULO_P4_LEVEL_HIGH;
3781
-            bluecell_Currdatastatus.ULO_ALC_Alarm4  = false;
3782
-        }                
3783
-#if 0 // PYJ.2020.05.23_BEGIN -- 
3784
-        if( temp > ResdBm[1]){
3785
-            printf("ULO_ALC_Alarm2 OCCUR\r\n");
3786
-            bluecell_Currdatastatus.ALARM_ULO_Level |= ALARM_ULO_P2_LEVEL_HIGH;
3787
-            bluecell_Currdatastatus.ULO_ALC_Alarm2  = true;        
3788
-        }else{
3789
-            bluecell_Currdatastatus.ALARM_ULO_Level &= ~ALARM_ULO_P2_LEVEL_HIGH;
3790
-            bluecell_Currdatastatus.ULO_ALC_Alarm2  = false;        
3791
-
3792
-        }
3793
-        if(temp > ResdBm[2]){
3794
-            printf("ULO_ALC_Alarm3 OCCUR\r\n");
3795
-            bluecell_Currdatastatus.ALARM_ULO_Level |= ALARM_ULO_P3_LEVEL_HIGH;
3796
-            bluecell_Currdatastatus.ULO_ALC_Alarm3  = true;        
3797
-        }else{
3798
-            bluecell_Currdatastatus.ALARM_ULO_Level &= ~ALARM_ULO_P3_LEVEL_HIGH;
3799
-            bluecell_Currdatastatus.ULO_ALC_Alarm3  = false;        
3800
 
3848
 
3801
-        }
3802
-        if(temp > ResdBm[3]){
3803
-            printf("ULO_ALC_Alarm4 OCCUR\r\n");
3804
-            bluecell_Currdatastatus.ALARM_ULO_Level |= ALARM_ULO_P4_LEVEL_HIGH;
3805
-            bluecell_Currdatastatus.ULO_ALC_Alarm4  = true;        
3806
-        }else{
3807
-            bluecell_Currdatastatus.ALARM_ULO_Level &= ~ALARM_ULO_P4_LEVEL_HIGH;
3808
-            bluecell_Currdatastatus.ULO_ALC_Alarm4  = false;        
3809
-        }
3810
-#endif // PYJ.2020.05.23_END -- 
3811
-#if 0 // PYJ.2020.05.23_BEGIN -- 
3812
-        /******************************ULO LEVEL END*******************************************/ 
3813
-        /******************************ULO ALC Start*******************************************/ 
3814
-        temp = ((bluecell_Currdatastatus.ULO_ALC_Threshold_H << 8) & 0xFF00);
3815
-        temp += (bluecell_Currdatastatus.ULO_ALC_Threshold_L & 0x00FF);
3816
-        if(temp > ResdBm[0]){
3817
-            bluecell_Currdatastatus.ALARM_ULO_ALC_Alarm |= ALARM_ALC_P1;
3818
-        }
3819
-        if( temp > ResdBm[1]){
3820
-            bluecell_Currdatastatus.ALARM_ULO_ALC_Alarm |= ALARM_ALC_P2;
3821
-        }
3822
-        if(temp > ResdBm[2]){
3823
-            bluecell_Currdatastatus.ALARM_ULO_ALC_Alarm |= ALARM_ALC_P3;
3824
-        }
3825
-        if(temp > ResdBm[3]){
3826
-            bluecell_Currdatastatus.ALARM_ULO_ALC_Alarm |= ALARM_ALC_P4;
3827
-        }
3828
-        /******************************ULO ALC END*******************************************/ 
3829
-        temp = ((bluecell_Currdatastatus.ULO_Shutdown_Threshold_H << 8) & 0xFF00);
3830
-        temp += (bluecell_Currdatastatus.ULO_Shutdown_Threshold_L & 0x00FF);    
3831
-        if(temp > ResdBm[0]){
3832
-            bluecell_Currdatastatus.ALARM_ULO_ALC_SHTUTDOWN |= ALARM_ULO_SHUTDOWN_P1;
3833
-        }
3834
-        if( temp > ResdBm[1]){
3835
-            bluecell_Currdatastatus.ALARM_ULO_ALC_SHTUTDOWN |= ALARM_ULO_SHUTDOWN_P2;
3836
-        }
3837
-        if(temp > ResdBm[2]){
3838
-            bluecell_Currdatastatus.ALARM_ULO_ALC_SHTUTDOWN |= ALARM_ULO_SHUTDOWN_P3;
3839
-        }
3840
-        if(temp > ResdBm[3]){
3841
-            bluecell_Currdatastatus.ALARM_ULO_ALC_SHTUTDOWN |= ALARM_ULO_SHUTDOWN_P4;
3842
-        }
3843
-#endif // PYJ.2020.05.23_END -- 
3844
-    }
3845
-    /******************************DLI LEVEL START*******************************************/ 
3849
+    /******************************DLI AGC START******************************************/     
3846
     if(bluecell_Currdatastatus.DLI_AGC_ON_OFF == true){
3850
     if(bluecell_Currdatastatus.DLI_AGC_ON_OFF == true){
3847
-#if 0 // PYJ.2020.05.25_BEGIN -- 
3848
-        ret  = bluecell_Currdatastatus.DET_DL1_IN_H << 8;
3849
-        ret += bluecell_Currdatastatus.DET_DL1_IN_L;   
3850
-        ret *= 0.001;
3851
-        ResdBm[0] = AutoControl_ADC_Compare(ret,&Det_DL1.Table_Det5_dBm_H,sizeof(DET_TABLEUL_st));
3852
-
3853
-        ret  = bluecell_Currdatastatus.DET_DL2_IN_H << 8;
3854
-        ret += bluecell_Currdatastatus.DET_DL2_IN_L;   
3855
-        ret *= 0.001;
3856
-        ResdBm[1] = AutoControl_ADC_Compare(ret,&Det_DL2.Table_Det5_dBm_H,sizeof(DET_TABLEUL_st));
3857
-
3858
-        ret  = bluecell_Currdatastatus.DET_DL3_IN_H << 8;
3859
-        ret += bluecell_Currdatastatus.DET_DL3_IN_L;   
3860
-        ret *= 0.001;
3861
-        ResdBm[2] = AutoControl_ADC_Compare(ret,&Det_DL3.Table_Det5_dBm_H,sizeof(DET_TABLEUL_st));
3862
-
3863
-        ret  = bluecell_Currdatastatus.DET_DL4_IN_H << 8;
3864
-        ret += bluecell_Currdatastatus.DET_DL4_IN_L;   
3865
-        ret *= 0.001;
3866
-        ResdBm[3] = AutoControl_ADC_Compare(ret,&Det_DL4.Table_Det5_dBm_H,sizeof(DET_TABLEUL_st));
3867
-
3868
-        temp = ((bluecell_Currdatastatus.DLI_Level_High_Threshold_H << 8) & 0xFF00);
3869
-        temp += (bluecell_Currdatastatus.DLI_Level_High_Threshold_L & 0x00FF);
3870
-        /*4개의 디텍 중에 한개라도 상한치를 넘었을 경우 알림 */
3871
-        if(temp < ResdBm[0]){
3872
-            bluecell_Currdatastatus.ALARM_DLI_Level |= ALARM_DLI_P1_LEVEL_HIGH;
3873
-        }
3874
-        if( temp < ResdBm[1]){
3875
-            bluecell_Currdatastatus.ALARM_DLI_Level |= ALARM_DLI_P2_LEVEL_HIGH;
3876
-        }
3877
-        if(temp < ResdBm[2]){
3878
-            bluecell_Currdatastatus.ALARM_DLI_Level |= ALARM_DLI_P3_LEVEL_HIGH;
3879
-        }
3880
-        if(temp < ResdBm[3]){
3881
-            bluecell_Currdatastatus.ALARM_DLI_Level |= ALARM_DLI_P4_LEVEL_HIGH;
3882
-        }
3883
-#endif // PYJ.2020.05.25_END -- 
3884
-
3885
-#if 0 // PYJ.2020.05.20_BEGIN -- 
3886
-        temp = ((bluecell_Currdatastatus.DLI_Level_Low_Threshold_H << 8) & 0xFF00);
3887
-        temp += (bluecell_Currdatastatus.DLI_Level_Low_Threshold_L & 0x00FF);
3888
-        /*4개의 디텍 중에 한개라도 상한치를 넘었을 경우 알림 */
3889
-        if(temp > ResdBm[0]){
3890
-            bluecell_Currdatastatus.ALARM_DLI_Level |= ALARM_DLI_P1_LEVEL_HIGH;
3891
-        }
3892
-        if( temp > ResdBm[1]){
3893
-            bluecell_Currdatastatus.ALARM_DLI_Level |= ALARM_DLI_P2_LEVEL_HIGH;
3894
-        }
3895
-        if(temp > ResdBm[2]){
3896
-            bluecell_Currdatastatus.ALARM_DLI_Level |= ALARM_DLI_P3_LEVEL_HIGH;
3897
-        }
3898
-        if(temp > ResdBm[3]){
3899
-            bluecell_Currdatastatus.ALARM_DLI_Level |= ALARM_DLI_P4_LEVEL_HIGH;
3900
-        }    
3901
-#endif // PYJ.2020.05.20_END -- 
3902
-        /******************************DLI LEVEL END*******************************************/     
3903
-        /******************************DLI AGC START******************************************/     
3904
-        
3905
-
3906
-        
3907
         temp = ((bluecell_Currdatastatus.ATT_DL1_H << 8) & 0xFF00);
3851
         temp = ((bluecell_Currdatastatus.ATT_DL1_H << 8) & 0xFF00);
3908
         temp += (bluecell_Currdatastatus.ATT_DL1_L & 0x00FF);
3852
         temp += (bluecell_Currdatastatus.ATT_DL1_L & 0x00FF);
3909
         temp /= 10;
3853
         temp /= 10;
@@ -3943,27 +3887,160 @@ void Alarm_Check(){
3943
         }
3887
         }
3944
     }
3888
     }
3945
     /******************************DLI AGC END******************************************/     
3889
     /******************************DLI AGC END******************************************/     
3946
-    /******************************DLI ShutDown Start******************************************/     
3947
-#if 0 // PYJ.2020.05.23_BEGIN -- 
3948
-    temp = ((bluecell_Currdatastatus.DLI_Shutdown_Threshold_H << 8) & 0xFF00);
3949
-    temp += (bluecell_Currdatastatus.DLI_Shutdown_Threshold_L & 0x00FF);
3890
+    /******************************DLI ALC START******************************************/     
3891
+    if(bluecell_Currdatastatus.ULO_ALC_ON_OFF == true){ // ALC ON 
3892
+     /*4개의 디텍 중에 한개라도 상한치를 넘었을 경우 알림 */
3893
+        if(ALC_AlarmSet[ALC_Alarm_UL1_Index] == true){
3894
+             printf("ULO_ALC_Alarm1 OCCUR\r\n");
3895
+            bluecell_Currdatastatus.ALARM_ULO_Level |= ALARM_ALC_P1;
3896
+            bluecell_Currdatastatus.ULO_ALC_Alarm1  = true;
3897
+        }else{
3898
+            bluecell_Currdatastatus.ALARM_ULO_Level &= ~ALARM_ALC_P1;
3899
+            bluecell_Currdatastatus.ULO_ALC_Alarm1  = false;
3900
+        }
3950
 
3901
 
3902
+        if(ALC_AlarmSet[ALC_Alarm_UL2_Index] == true){
3903
+             printf("ULO_ALC_Alarm2 OCCUR\r\n");
3904
+            bluecell_Currdatastatus.ALARM_ULO_Level |= ALARM_ALC_P2;
3905
+            bluecell_Currdatastatus.ULO_ALC_Alarm2  = true;
3906
+        }else{
3907
+            bluecell_Currdatastatus.ALARM_ULO_Level &= ~ALARM_ALC_P2;
3908
+            bluecell_Currdatastatus.ULO_ALC_Alarm2  = false;
3909
+        }        
3910
+        if(ALC_AlarmSet[ALC_Alarm_UL3_Index] == true){
3911
+             printf("ULO_ALC_Alarm3 OCCUR\r\n");
3912
+            bluecell_Currdatastatus.ALARM_ULO_Level |= ALARM_ALC_P3;
3913
+            bluecell_Currdatastatus.ULO_ALC_Alarm3  = true;
3914
+        }else{
3915
+            bluecell_Currdatastatus.ALARM_ULO_Level &= ~ALARM_ALC_P3;
3916
+            bluecell_Currdatastatus.ULO_ALC_Alarm3  = false;
3917
+        }        
3918
+        if(ALC_AlarmSet[ALC_Alarm_UL4_Index] == true){
3919
+             printf("ULO_ALC_Alarm4 OCCUR\r\n");
3920
+            bluecell_Currdatastatus.ALARM_ULO_Level |= ALARM_ALC_P4;
3921
+            bluecell_Currdatastatus.ULO_ALC_Alarm4  = true;
3922
+        }else{
3923
+            bluecell_Currdatastatus.ALARM_ULO_Level &= ~ALARM_ALC_P4;
3924
+            bluecell_Currdatastatus.ULO_ALC_Alarm4  = false;
3925
+        }                
3926
+    }
3927
+    /******************************DLI ALC END******************************************/
3928
+    /******************************ULO LEVEL START*******************************************/   
3929
+#if 0 // PYJ.2020.05.27_BEGIN -- 
3930
+    if(DET_UL_On_AlarmTimerCnt[DET_Alarm_UL1_Index] >= 3000){
3931
+        bluecell_Currdatastatus.ALARM_ULO_Level |= ALARM_ULO_P1_LEVEL_HIGH;
3932
+        bluecell_Currdatastatus.ULO_Level_High_Alarm1 = true;
3933
+//        printf("ULO_Level_High_Alarm1 OCCUR\r\n");
3934
+    }else if(DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL1_Index] >= 10000){
3935
+        bluecell_Currdatastatus.ALARM_ULO_Level &= ~ALARM_ULO_P1_LEVEL_HIGH;
3936
+        bluecell_Currdatastatus.ULO_Level_High_Alarm1 = false;
3937
+    }
3938
+    if(DET_UL_On_AlarmTimerCnt[DET_Alarm_UL2_Index] >= 3000){
3939
+        bluecell_Currdatastatus.ALARM_ULO_Level |= ALARM_ULO_P2_LEVEL_HIGH;
3940
+        bluecell_Currdatastatus.ULO_Level_High_Alarm2 = true;
3941
+//        printf("ULO_Level_High_Alarm2 OCCUR\r\n");
3942
+
3943
+    }else{
3944
+        bluecell_Currdatastatus.ALARM_ULO_Level &= ~ALARM_ULO_P2_LEVEL_HIGH;
3945
+        bluecell_Currdatastatus.ULO_Level_High_Alarm2 = false;
3946
+    }
3947
+    if(DET_UL_On_AlarmTimerCnt[DET_Alarm_UL3_Index] >= 3000){
3948
+        bluecell_Currdatastatus.ALARM_ULO_Level |= ALARM_ULO_P3_LEVEL_HIGH;
3949
+        bluecell_Currdatastatus.ULO_Level_High_Alarm3 = true;
3950
+//        printf("ULO_Level_High_Alarm3 OCCUR\r\n");
3951
+    }else{
3952
+        bluecell_Currdatastatus.ALARM_ULO_Level &= ~ALARM_ULO_P3_LEVEL_HIGH;
3953
+        bluecell_Currdatastatus.ULO_Level_High_Alarm3 = false;
3954
+    }
3955
+    if(DET_UL_On_AlarmTimerCnt[DET_Alarm_UL4_Index] >= 3000){
3956
+        bluecell_Currdatastatus.ALARM_ULO_Level |= ALARM_ULO_P4_LEVEL_HIGH;
3957
+        bluecell_Currdatastatus.ULO_Level_High_Alarm4 = true;
3958
+//        printf("ULO_Level_High_Alarm4 OCCUR\r\n");
3959
+    }else{
3960
+        bluecell_Currdatastatus.ALARM_ULO_Level &= ~ALARM_ULO_P4_LEVEL_HIGH;
3961
+        bluecell_Currdatastatus.ULO_Level_High_Alarm4 = false;
3962
+    }    
3963
+#else
3964
+    if(ADC_Alarm_UL_Set[DET_Alarm_UL1_Index] == true){
3965
+        bluecell_Currdatastatus.ALARM_ULO_Level |= ALARM_ULO_P1_LEVEL_HIGH;
3966
+        bluecell_Currdatastatus.ULO_Level_High_Alarm1 = true;
3967
+
3968
+    }else{
3969
+        bluecell_Currdatastatus.ALARM_ULO_Level &= ~ALARM_ULO_P1_LEVEL_HIGH;
3970
+        bluecell_Currdatastatus.ULO_Level_High_Alarm1 = false;
3971
+    }
3972
+
3973
+    if(ADC_Alarm_UL_Set[DET_Alarm_UL2_Index] == true){
3974
+        bluecell_Currdatastatus.ALARM_ULO_Level |= ALARM_ULO_P2_LEVEL_HIGH;
3975
+        bluecell_Currdatastatus.ULO_Level_High_Alarm2 = true;
3976
+
3977
+    }else{
3978
+        bluecell_Currdatastatus.ALARM_ULO_Level &= ~ALARM_ULO_P2_LEVEL_HIGH;
3979
+        bluecell_Currdatastatus.ULO_Level_High_Alarm2 = false;
3980
+    }
3981
+
3982
+    if(ADC_Alarm_UL_Set[DET_Alarm_UL3_Index] == true){
3983
+        bluecell_Currdatastatus.ALARM_ULO_Level |= ALARM_ULO_P3_LEVEL_HIGH;
3984
+        bluecell_Currdatastatus.ULO_Level_High_Alarm3 = true;
3985
+
3986
+    }else{
3987
+        bluecell_Currdatastatus.ALARM_ULO_Level &= ~ALARM_ULO_P3_LEVEL_HIGH;
3988
+        bluecell_Currdatastatus.ULO_Level_High_Alarm3 = false;
3989
+    }
3990
+
3991
+    if(ADC_Alarm_UL_Set[DET_Alarm_UL4_Index] == true){
3992
+        bluecell_Currdatastatus.ALARM_ULO_Level |= ALARM_ULO_P4_LEVEL_HIGH;
3993
+        bluecell_Currdatastatus.ULO_Level_High_Alarm4 = true;
3994
+
3995
+    }else{
3996
+        bluecell_Currdatastatus.ALARM_ULO_Level &= ~ALARM_ULO_P4_LEVEL_HIGH;
3997
+        bluecell_Currdatastatus.ULO_Level_High_Alarm4 = false;
3998
+    }
3999
+
4000
+#endif // PYJ.2020.05.27_END -- 
4001
+    /******************************ULO LEVEL END*******************************************/ 
3951
     
4002
     
3952
-    if(temp > ResdBm[0]){
3953
-        bluecell_Currdatastatus.ALARM_DLI_AGC_SHTUTDOWN |= ALARM_DLI_SHUTDOWN_P1;
4003
+    /******************************DLI LEVEL START*******************************************/ 
4004
+
4005
+    if(ADC_Alarm_DL_Set[DET_Alarm_DL1_Index] == true){
4006
+        bluecell_Currdatastatus.ALARM_DLI_Level |= ALARM_DLI_P1_LEVEL_HIGH;
4007
+        bluecell_Currdatastatus.DLI_Level_High_Alarm1 = true;
4008
+
4009
+    }else{
4010
+        bluecell_Currdatastatus.ALARM_DLI_Level &= ~ALARM_DLI_P1_LEVEL_HIGH;
4011
+        bluecell_Currdatastatus.DLI_Level_High_Alarm1 = false;
3954
     }
4012
     }
3955
-    if( temp > ResdBm[1]){
3956
-        bluecell_Currdatastatus.ALARM_DLI_AGC_SHTUTDOWN |= ALARM_DLI_SHUTDOWN_P2;
4013
+
4014
+    if(ADC_Alarm_DL_Set[DET_Alarm_DL2_Index] == true){
4015
+        bluecell_Currdatastatus.ALARM_DLI_Level |= ALARM_DLI_P2_LEVEL_HIGH;
4016
+        bluecell_Currdatastatus.DLI_Level_High_Alarm2 = true;
4017
+
4018
+    }else{
4019
+        bluecell_Currdatastatus.ALARM_DLI_Level &= ~ALARM_DLI_P2_LEVEL_HIGH;
4020
+        bluecell_Currdatastatus.DLI_Level_High_Alarm2 = false;
3957
     }
4021
     }
3958
-    if(temp > ResdBm[2]){
3959
-        bluecell_Currdatastatus.ALARM_DLI_AGC_SHTUTDOWN |= ALARM_DLI_SHUTDOWN_P3;
4022
+
4023
+    if(ADC_Alarm_DL_Set[DET_Alarm_DL3_Index] == true){
4024
+        bluecell_Currdatastatus.ALARM_DLI_Level |= ALARM_DLI_P3_LEVEL_HIGH;
4025
+        bluecell_Currdatastatus.DLI_Level_High_Alarm3 = true;
4026
+
4027
+    }else{
4028
+        bluecell_Currdatastatus.ALARM_DLI_Level &= ~ALARM_DLI_P3_LEVEL_HIGH;
4029
+        bluecell_Currdatastatus.DLI_Level_High_Alarm3 = false;
3960
     }
4030
     }
3961
-    if(temp > ResdBm[3]){
3962
-        bluecell_Currdatastatus.ALARM_DLI_AGC_SHTUTDOWN |= ALARM_DLI_SHUTDOWN_P4;
3963
-    }  
3964
 
4031
 
4032
+    if(ADC_Alarm_DL_Set[DET_Alarm_DL4_Index] == true){
4033
+        bluecell_Currdatastatus.ALARM_DLI_Level |= ALARM_DLI_P4_LEVEL_HIGH;
4034
+        bluecell_Currdatastatus.DLI_Level_High_Alarm4 = true;
4035
+
4036
+    }else{
4037
+        bluecell_Currdatastatus.ALARM_DLI_Level &= ~ALARM_DLI_P4_LEVEL_HIGH;
4038
+        bluecell_Currdatastatus.DLI_Level_High_Alarm4 = false;
4039
+    }     
4040
+    /******************************DLI LEVEL END*******************************************/     
4041
+    
4042
+    /******************************DLI ShutDown Start******************************************/     
3965
     /******************************DLI ShutDown END******************************************/     
4043
     /******************************DLI ShutDown END******************************************/     
3966
-#endif // PYJ.2020.05.23_END -- 
3967
 
4044
 
3968
     
4045
     
3969
 }
4046
 }

+ 4 - 0
Inc/main.h

@@ -172,6 +172,9 @@ extern I2C_HandleTypeDef hi2c2;
172
 #define ATT_EN_DL1_Pin GPIO_PIN_9
172
 #define ATT_EN_DL1_Pin GPIO_PIN_9
173
 #define ATT_EN_DL1_GPIO_Port GPIOB
173
 #define ATT_EN_DL1_GPIO_Port GPIOB
174
 /* USER CODE BEGIN Private defines */
174
 /* USER CODE BEGIN Private defines */
175
+#define MBIC_ON_MAINTAIN_SEC 3000
176
+#define MBIC_OFF_MAINTAIN_SEC 10000
177
+
175
 #define ADC_AVERAGECNT 500
178
 #define ADC_AVERAGECNT 500
176
 #define ADC1_CNT 4
179
 #define ADC1_CNT 4
177
 #define ADC3_CNT 5
180
 #define ADC3_CNT 5
@@ -185,3 +188,4 @@ extern I2C_HandleTypeDef hi2c2;
185
 #endif /* __MAIN_H */
188
 #endif /* __MAIN_H */
186
 
189
 
187
 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
190
 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
191
+

+ 116 - 10
Src/main.c

@@ -75,13 +75,22 @@ volatile uint32_t LDTimerCnt = 0;
75
 volatile uint32_t ALCTimerCnt = 0;
75
 volatile uint32_t ALCTimerCnt = 0;
76
 volatile uint32_t AGCTimerCnt = 0;
76
 volatile uint32_t AGCTimerCnt = 0;
77
 volatile uint32_t AGCAlarmTimerCnt[AGC_Alarm_DL_Index_MAX] = {0,};
77
 volatile uint32_t AGCAlarmTimerCnt[AGC_Alarm_DL_Index_MAX] = {0,};
78
+volatile uint32_t DET_UL_On_AlarmTimerCnt[DET_Alarm_UL_Index_MAX] = {0,};
79
+volatile uint32_t DET_DL_On_AlarmTimerCnt[DET_Alarm_DL_Index_MAX] = {0,};
80
+volatile uint32_t DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL_Index_MAX] = {0,};
81
+volatile uint32_t DET_DL_Off_AlarmTimerCnt[DET_Alarm_DL_Index_MAX] = {0,};
82
+
83
+
78
 
84
 
79
 volatile bool     AlarmTimerOnSet = 0;
85
 volatile bool     AlarmTimerOnSet = 0;
80
 volatile bool     AlarmTimerOffSet = 0;
86
 volatile bool     AlarmTimerOffSet = 0;
81
-volatile uint32_t AlarmTimerOnCnt = 0;
82
 volatile uint32_t AlarmTimerOffCnt = 0;
87
 volatile uint32_t AlarmTimerOffCnt = 0;
88
+volatile uint32_t AlarmTimerOnCnt = 0;
89
+
83
 
90
 
84
 extern bool AGC_AlarmTimerSet[AGC_Alarm_DL_Index_MAX];
91
 extern bool AGC_AlarmTimerSet[AGC_Alarm_DL_Index_MAX];
92
+extern bool ADC_Alarm_DL_Set[DET_Alarm_DL_Index_MAX];
93
+extern bool ADC_Alarm_UL_Set[DET_Alarm_UL_Index_MAX];
85
 
94
 
86
 
95
 
87
 
96
 
@@ -101,6 +110,7 @@ static void MX_NVIC_Init(void);
101
 /* USER CODE BEGIN PFP */
110
 /* USER CODE BEGIN PFP */
102
 extern void Booting_LedInit(void);
111
 extern void Booting_LedInit(void);
103
 extern void Bluecell_AttenInitialize();
112
 extern void Bluecell_AttenInitialize();
113
+extern void DET_LevelAlarmCheck();
104
 
114
 
105
 /* USER CODE END PFP */
115
 /* USER CODE END PFP */
106
 
116
 
@@ -264,6 +274,8 @@ void eepromtest_j1(){
264
     printf("\r\n");
274
     printf("\r\n");
265
 
275
 
266
 }
276
 }
277
+extern void DET_LevelAlarmCheck();
278
+
267
 #endif // PYJ.2020.04.23_END -- 
279
 #endif // PYJ.2020.04.23_END -- 
268
 
280
 
269
 extern void ALC_Function();
281
 extern void ALC_Function();
@@ -364,6 +376,7 @@ int main(void)
364
     ALC_Function();
376
     ALC_Function();
365
     AGC_Function();
377
     AGC_Function();
366
     Alarm_Check();
378
     Alarm_Check();
379
+    DET_LevelAlarmCheck();
367
     /* USER CODE END WHILE */
380
     /* USER CODE END WHILE */
368
 
381
 
369
     /* USER CODE BEGIN 3 */
382
     /* USER CODE BEGIN 3 */
@@ -864,21 +877,113 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
864
       LDTimerCnt++;
877
       LDTimerCnt++;
865
       ALCTimerCnt++;
878
       ALCTimerCnt++;
866
       AGCTimerCnt++;
879
       AGCTimerCnt++;
867
-      if(AGC_AlarmTimerSet[AGC_Alarm_DL1_Index] == true)
880
+      if(AGC_AlarmTimerSet[AGC_Alarm_DL1_Index] == true){
868
           AGCAlarmTimerCnt[AGC_Alarm_DL1_Index]++;
881
           AGCAlarmTimerCnt[AGC_Alarm_DL1_Index]++;
869
-      if(AGC_AlarmTimerSet[AGC_Alarm_DL2_Index] == true)
882
+          if(AGCAlarmTimerCnt[AGC_Alarm_DL1_Index] == 0xFFFFFFFF){
883
+            AGCAlarmTimerCnt[AGC_Alarm_DL1_Index] = MBIC_ON_MAINTAIN_SEC;
884
+          }
885
+      }
886
+      if(AGC_AlarmTimerSet[AGC_Alarm_DL2_Index] == true){
870
           AGCAlarmTimerCnt[AGC_Alarm_DL2_Index]++;
887
           AGCAlarmTimerCnt[AGC_Alarm_DL2_Index]++;
871
-      if(AGC_AlarmTimerSet[AGC_Alarm_DL3_Index] == true)
888
+          if(AGCAlarmTimerCnt[AGC_Alarm_DL2_Index] == 0xFFFFFFFF){
889
+            AGCAlarmTimerCnt[AGC_Alarm_DL2_Index] = MBIC_ON_MAINTAIN_SEC;
890
+          }
891
+          
892
+      }
893
+      if(AGC_AlarmTimerSet[AGC_Alarm_DL3_Index] == true){
872
           AGCAlarmTimerCnt[AGC_Alarm_DL3_Index]++;
894
           AGCAlarmTimerCnt[AGC_Alarm_DL3_Index]++;
873
-      if(AGC_AlarmTimerSet[AGC_Alarm_DL4_Index] == true)
874
-          AGCAlarmTimerCnt[AGC_Alarm_DL4_Index]++;      
895
+          if(AGCAlarmTimerCnt[AGC_Alarm_DL3_Index] == 0xFFFFFFFF){
896
+            AGCAlarmTimerCnt[AGC_Alarm_DL3_Index] = MBIC_ON_MAINTAIN_SEC;
897
+          }          
898
+      }
899
+      if(AGC_AlarmTimerSet[AGC_Alarm_DL4_Index] == true){
900
+          AGCAlarmTimerCnt[AGC_Alarm_DL4_Index]++;  
901
+          if(AGCAlarmTimerCnt[AGC_Alarm_DL4_Index] == 0xFFFFFFFF){
902
+            AGCAlarmTimerCnt[AGC_Alarm_DL4_Index] = MBIC_ON_MAINTAIN_SEC;
903
+          }          
904
+      }
905
+
906
+
907
+    if(ADC_Alarm_UL_Set[DET_Alarm_UL1_Index ] == true){
908
+        DET_UL_On_AlarmTimerCnt[DET_Alarm_UL1_Index]++;
909
+        DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL1_Index] = 0;
910
+
911
+        if(DET_UL_On_AlarmTimerCnt[DET_Alarm_UL1_Index] == 0xFFFFFFFF){
912
+            DET_UL_On_AlarmTimerCnt[DET_Alarm_UL1_Index] = MBIC_ON_MAINTAIN_SEC;
913
+        }   
914
+        
915
+    }
916
+    else{
917
+        DET_UL_On_AlarmTimerCnt[DET_Alarm_UL1_Index] = 0;
918
+        DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL1_Index]++;
919
+
920
+        if(DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL1_Index] == 0xFFFFFFFF){
921
+            DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL1_Index] = MBIC_OFF_MAINTAIN_SEC;
922
+        }           
923
+    }
924
+#if 0 // PYJ.2020.05.27_BEGIN -- 
925
+
926
+    if(ADC_Alarm_UL_Set[DET_Alarm_UL2_Index ] == true){
927
+        DET_UL_On_AlarmTimerCnt[DET_Alarm_UL2_Index]++;
928
+    }
929
+    else{
930
+        DET_UL_On_AlarmTimerCnt[DET_Alarm_UL2_Index] = 0;
931
+    }
932
+
933
+    if(ADC_Alarm_UL_Set[DET_Alarm_UL3_Index ] == true){
934
+        DET_UL_On_AlarmTimerCnt[DET_Alarm_UL3_Index]++;
935
+    }
936
+    else{
937
+        DET_UL_On_AlarmTimerCnt[DET_Alarm_UL3_Index] = 0;
938
+    }
939
+
940
+    if(ADC_Alarm_UL_Set[DET_Alarm_UL4_Index ] == true){
941
+        DET_UL_On_AlarmTimerCnt[DET_Alarm_UL4_Index]++;
942
+    }
943
+    else{
944
+        DET_UL_On_AlarmTimerCnt[DET_Alarm_UL4_Index] = 0;
945
+    }
946
+
947
+
948
+
949
+
950
+    if(ADC_Alarm_DL_Set[DET_Alarm_DL1_Index ] == true){
951
+        DET_DL_On_AlarmTimerCnt[DET_Alarm_DL1_Index]++;
952
+    }
953
+    else{
954
+        DET_DL_On_AlarmTimerCnt[DET_Alarm_DL1_Index] = 0;
955
+    }
956
+
957
+    if(ADC_Alarm_DL_Set[DET_Alarm_DL2_Index ] == true){
958
+        DET_DL_On_AlarmTimerCnt[DET_Alarm_DL2_Index]++;
959
+    }
960
+    else{
961
+        DET_DL_On_AlarmTimerCnt[DET_Alarm_DL2_Index] = 0;
962
+    }
963
+
964
+    if(ADC_Alarm_DL_Set[DET_Alarm_DL3_Index ] == true){
965
+        DET_DL_On_AlarmTimerCnt[DET_Alarm_DL3_Index]++;
966
+    }
967
+    else{
968
+        DET_DL_On_AlarmTimerCnt[DET_Alarm_DL3_Index] = 0;
969
+    }
875
 
970
 
971
+    if(ADC_Alarm_DL_Set[DET_Alarm_DL4_Index ] == true){
972
+        DET_DL_On_AlarmTimerCnt[DET_Alarm_DL4_Index]++;
973
+    }
974
+    else{
975
+        DET_DL_On_AlarmTimerCnt[DET_Alarm_DL4_Index] = 0;
976
+    }
977
+#endif // PYJ.2020.05.27_END -- 
978
+
979
+    
876
       /*3 Sec Time Cnt */
980
       /*3 Sec Time Cnt */
877
       if(AlarmTimerOnSet == true){
981
       if(AlarmTimerOnSet == true){
878
         if(AlarmTimerOnCnt == 0xFFFFFFFF)
982
         if(AlarmTimerOnCnt == 0xFFFFFFFF)
879
-            AlarmTimerOnCnt = 3000;
880
-        else
983
+            AlarmTimerOnCnt = MBIC_ON_MAINTAIN_SEC;
984
+        else{
881
             AlarmTimerOnCnt++;
985
             AlarmTimerOnCnt++;
986
+        }
882
       }
987
       }
883
       else{
988
       else{
884
         AlarmTimerOnCnt = 0;
989
         AlarmTimerOnCnt = 0;
@@ -888,9 +993,10 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
888
       /*10 Sec Time Cnt*/
993
       /*10 Sec Time Cnt*/
889
       if(AlarmTimerOffSet == true){
994
       if(AlarmTimerOffSet == true){
890
         if(AlarmTimerOffCnt == 0xFFFFFFFF)
995
         if(AlarmTimerOffCnt == 0xFFFFFFFF)
891
-            AlarmTimerOffCnt = 10000;
892
-        else
996
+            AlarmTimerOffCnt = MBIC_OFF_MAINTAIN_SEC;
997
+        else{
893
             AlarmTimerOffCnt++;
998
             AlarmTimerOffCnt++;
999
+        }
894
       }
1000
       }
895
       else{
1001
       else{
896
         AlarmTimerOffCnt = 0;
1002
         AlarmTimerOffCnt = 0;