Browse Source

Shutdown Timer 추가 Shutdown 기능 구현 검증 필요.

PYJ 5 years ago
parent
commit
0275fb2d33
4 changed files with 1014 additions and 359 deletions
  1. 8 0
      Bluecell_Inc/Bluecell_operate.h
  2. 718 314
      Bluecell_Src/Bluecell_operate.c
  3. 4 0
      Inc/main.h
  4. 284 45
      Src/main.c

+ 8 - 0
Bluecell_Inc/Bluecell_operate.h

@@ -107,6 +107,13 @@ typedef enum{
107 107
     AGC_Alarm_DL4_Index,            
108 108
     AGC_Alarm_DL_Index_MAX,      
109 109
 };
110
+typedef enum{
111
+    ALC_Alarm_UL1_Index = 0,
112
+    ALC_Alarm_UL2_Index,        
113
+    ALC_Alarm_UL3_Index,        
114
+    ALC_Alarm_UL4_Index,            
115
+    ALC_Alarm_UL_Index_MAX,            
116
+};
110 117
 
111 118
 typedef enum{
112 119
 	Alarm_Bit_List = 0xE000,
@@ -400,6 +407,7 @@ ULO_Shutdown_Alarm4,
400 407
 }SERIAL_UL_t;
401 408
 
402 409
 
410
+#define RETRYCNT_MAX 4
403 411
 
404 412
 
405 413
 #define MBIC_HEADER_SIZE 18

File diff suppressed because it is too large
+ 718 - 314
Bluecell_Src/Bluecell_operate.c


+ 4 - 0
Inc/main.h

@@ -173,6 +173,10 @@ extern I2C_HandleTypeDef hi2c2;
173 173
 #define ATT_EN_DL1_GPIO_Port GPIOB
174 174
 /* USER CODE BEGIN Private defines */
175 175
 #define MBIC_ON_MAINTAIN_SEC 3000
176
+#define MBIC_ON_SHUTDOWN_MAINTAIN_SEC 5000
177
+#define MBIC_RECOVERY_SHUTDOWN_MAINTAIN_SEC 35000
178
+
179
+
176 180
 #define MBIC_OFF_MAINTAIN_SEC 10000
177 181
 
178 182
 #define ADC_AVERAGECNT 500

+ 284 - 45
Src/main.c

@@ -72,30 +72,47 @@ volatile uint32_t AdcTimerCnt = 0;
72 72
 volatile uint32_t LedTimerCnt = 0;
73 73
 volatile uint32_t UartRxTimerCnt = 0;
74 74
 volatile uint32_t LDTimerCnt = 0;
75
+
75 76
 volatile uint32_t ALCTimerCnt = 0;
76 77
 volatile uint32_t AGCTimerCnt = 0;
77
-volatile uint32_t AGCAlarmTimerCnt[AGC_Alarm_DL_Index_MAX] = {0,};
78
+
79
+volatile uint32_t AGC_On_AlarmTimerCnt[AGC_Alarm_DL_Index_MAX] = {0,};
80
+volatile uint32_t AGC_Off_AlarmTimerCnt[AGC_Alarm_DL_Index_MAX] = {0,};
81
+
82
+volatile uint32_t ALC_On_AlarmTimerCnt[ALC_Alarm_UL_Index_MAX] = {0,};
83
+volatile uint32_t ALC_Off_AlarmTimerCnt[ALC_Alarm_UL_Index_MAX] = {0,};
84
+
85
+
78 86
 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 87
 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 88
 
89
+volatile uint32_t DET_DL_Low_On_AlarmTimerCnt[DET_Alarm_DL_Index_MAX] = {0,};
90
+volatile uint32_t DET_DL_High_On_AlarmTimerCnt[DET_Alarm_DL_Index_MAX] = {0,};
91
+volatile uint32_t DET_DL_Low_Off_AlarmTimerCnt[DET_Alarm_DL_Index_MAX] = {0,};
92
+volatile uint32_t DET_DL_High_Off_AlarmTimerCnt[DET_Alarm_DL_Index_MAX] = {0,};
93
+
94
+
95
+volatile uint32_t DET_UL_Shutdown_On_AlarmTimerCnt[DET_Alarm_UL_Index_MAX] = {0,};
96
+volatile uint32_t DET_UL_Shutdown_Off_AlarmTimerCnt[DET_Alarm_UL_Index_MAX] = {0,};
97
+
98
+volatile uint32_t DET_DL_Shutdown_On_AlarmTimerCnt[DET_Alarm_DL_Index_MAX] = {0,};
99
+volatile uint32_t DET_DL_Shutdown_Off_AlarmTimerCnt[DET_Alarm_DL_Index_MAX] = {0,};
83 100
 
84 101
 
85
-volatile bool     AlarmTimerOnSet = 0;
86
-volatile bool     AlarmTimerOffSet = 0;
87 102
 volatile uint32_t AlarmTimerOffCnt = 0;
88 103
 volatile uint32_t AlarmTimerOnCnt = 0;
89 104
 
90 105
 
91
-extern bool AGC_AlarmTimerSet[AGC_Alarm_DL_Index_MAX];
106
+volatile bool     AlarmTimerOnSet = 0;
107
+volatile bool     AlarmTimerOffSet = 0;
108
+//extern bool AGC_AlarmTimerSet[AGC_Alarm_DL_Index_MAX];
92 109
 extern bool ADC_Alarm_DL_High_Set[DET_Alarm_DL_Index_MAX];
93 110
 extern bool ADC_Alarm_DL_Low_Set[DET_Alarm_DL_Index_MAX];
94 111
 
95 112
 extern bool ADC_Alarm_UL_Set[DET_Alarm_UL_Index_MAX];
96
-
97
-
98
-
113
+extern uint8_t ALC_AlarmSet[ALC_Alarm_UL_Index_MAX];
114
+extern bool AGC_AlarmSet[AGC_Alarm_DL_Index_MAX];
115
+extern bool ADC_Alarm_UL_Shutdown_Set[DET_Alarm_UL_Shutdown_Index_MAX];
99 116
 /* USER CODE END PV */
100 117
 
101 118
 /* Private function prototypes -----------------------------------------------*/
@@ -879,104 +896,326 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
879 896
       LDTimerCnt++;
880 897
       ALCTimerCnt++;
881 898
       AGCTimerCnt++;
882
-      if(AGC_AlarmTimerSet[AGC_Alarm_DL1_Index] == true){
883
-          AGCAlarmTimerCnt[AGC_Alarm_DL1_Index]++;
884
-          if(AGCAlarmTimerCnt[AGC_Alarm_DL1_Index] == 0xFFFFFFFF){
885
-            AGCAlarmTimerCnt[AGC_Alarm_DL1_Index] = MBIC_ON_MAINTAIN_SEC;
899
+
900
+
901
+      if(ADC_Alarm_UL_Shutdown_Set[DET_Alarm_UL1_Shutdown_Index] == true){
902
+              DET_UL_Shutdown_Off_AlarmTimerCnt[ALC_Alarm_UL1_Index] = 0;
903
+              DET_UL_Shutdown_On_AlarmTimerCnt[ALC_Alarm_UL1_Index]++;
904
+              if(DET_UL_Shutdown_On_AlarmTimerCnt[ALC_Alarm_UL1_Index] == 0xFFFFFFFF){
905
+                DET_UL_Shutdown_On_AlarmTimerCnt[ALC_Alarm_UL1_Index] = MBIC_ON_MAINTAIN_SEC;
906
+              }
907
+          }else{
908
+              DET_UL_Shutdown_On_AlarmTimerCnt[ALC_Alarm_UL1_Index] = 0;
909
+              DET_UL_Shutdown_Off_AlarmTimerCnt[ALC_Alarm_UL1_Index]++;
910
+              if(DET_UL_Shutdown_Off_AlarmTimerCnt[ALC_Alarm_UL1_Index] == 0xFFFFFFFF){
911
+                DET_UL_Shutdown_Off_AlarmTimerCnt[ALC_Alarm_UL1_Index] = MBIC_OFF_MAINTAIN_SEC;
912
+              }
913
+
914
+
915
+      }
916
+      /*ALC Alarm timer start*/
917
+      if(ALC_AlarmSet[ALC_Alarm_UL1_Index] == true){
918
+          ALC_Off_AlarmTimerCnt[ALC_Alarm_UL1_Index] = 0;
919
+          ALC_On_AlarmTimerCnt[ALC_Alarm_UL1_Index]++;
920
+          if(ALC_On_AlarmTimerCnt[ALC_Alarm_UL1_Index] == 0xFFFFFFFF){
921
+            ALC_On_AlarmTimerCnt[ALC_Alarm_UL1_Index] = MBIC_ON_MAINTAIN_SEC;
886 922
           }
923
+      }else{
924
+          ALC_On_AlarmTimerCnt[ALC_Alarm_UL1_Index] = 0;
925
+          ALC_Off_AlarmTimerCnt[ALC_Alarm_UL1_Index]++;
926
+          if(ALC_Off_AlarmTimerCnt[ALC_Alarm_UL1_Index] == 0xFFFFFFFF){
927
+            ALC_Off_AlarmTimerCnt[ALC_Alarm_UL1_Index] = MBIC_OFF_MAINTAIN_SEC;
928
+          }          
887 929
       }
888
-      if(AGC_AlarmTimerSet[AGC_Alarm_DL2_Index] == true){
889
-          AGCAlarmTimerCnt[AGC_Alarm_DL2_Index]++;
890
-          if(AGCAlarmTimerCnt[AGC_Alarm_DL2_Index] == 0xFFFFFFFF){
891
-            AGCAlarmTimerCnt[AGC_Alarm_DL2_Index] = MBIC_ON_MAINTAIN_SEC;
930
+
931
+      if(ALC_AlarmSet[ALC_Alarm_UL2_Index] == true){
932
+          ALC_On_AlarmTimerCnt[ALC_Alarm_UL2_Index]++;
933
+          ALC_Off_AlarmTimerCnt[ALC_Alarm_UL2_Index] = 0;
934
+          if(ALC_On_AlarmTimerCnt[ALC_Alarm_UL2_Index] == 0xFFFFFFFF){
935
+            ALC_On_AlarmTimerCnt[ALC_Alarm_UL2_Index] = MBIC_ON_MAINTAIN_SEC;
892 936
           }
893
-          
937
+      }else{
938
+          ALC_On_AlarmTimerCnt[ALC_Alarm_UL2_Index] = 0;
939
+          ALC_Off_AlarmTimerCnt[ALC_Alarm_UL2_Index]++;
940
+          if(ALC_Off_AlarmTimerCnt[ALC_Alarm_UL2_Index] == 0xFFFFFFFF){
941
+            ALC_Off_AlarmTimerCnt[ALC_Alarm_UL2_Index] = MBIC_OFF_MAINTAIN_SEC;
942
+          }          
894 943
       }
895
-      if(AGC_AlarmTimerSet[AGC_Alarm_DL3_Index] == true){
896
-          AGCAlarmTimerCnt[AGC_Alarm_DL3_Index]++;
897
-          if(AGCAlarmTimerCnt[AGC_Alarm_DL3_Index] == 0xFFFFFFFF){
898
-            AGCAlarmTimerCnt[AGC_Alarm_DL3_Index] = MBIC_ON_MAINTAIN_SEC;
944
+      if(ALC_AlarmSet[ALC_Alarm_UL3_Index] == true){
945
+          ALC_On_AlarmTimerCnt[ALC_Alarm_UL3_Index]++;
946
+          ALC_Off_AlarmTimerCnt[ALC_Alarm_UL3_Index] = 0;
947
+          if(ALC_On_AlarmTimerCnt[ALC_Alarm_UL3_Index] == 0xFFFFFFFF){
948
+            ALC_On_AlarmTimerCnt[ALC_Alarm_UL3_Index] = MBIC_ON_MAINTAIN_SEC;
949
+          }
950
+      }else{
951
+          ALC_On_AlarmTimerCnt[ALC_Alarm_UL3_Index] = 0;
952
+          ALC_Off_AlarmTimerCnt[ALC_Alarm_UL3_Index]++;
953
+          if(ALC_Off_AlarmTimerCnt[ALC_Alarm_UL3_Index] == 0xFFFFFFFF){
954
+            ALC_Off_AlarmTimerCnt[ALC_Alarm_UL3_Index] = MBIC_OFF_MAINTAIN_SEC;
899 955
           }          
900 956
       }
901
-      if(AGC_AlarmTimerSet[AGC_Alarm_DL4_Index] == true){
902
-          AGCAlarmTimerCnt[AGC_Alarm_DL4_Index]++;  
903
-          if(AGCAlarmTimerCnt[AGC_Alarm_DL4_Index] == 0xFFFFFFFF){
904
-            AGCAlarmTimerCnt[AGC_Alarm_DL4_Index] = MBIC_ON_MAINTAIN_SEC;
957
+      if(ALC_AlarmSet[ALC_Alarm_UL4_Index] == true){
958
+          ALC_On_AlarmTimerCnt[ALC_Alarm_UL4_Index]++;
959
+          ALC_Off_AlarmTimerCnt[ALC_Alarm_UL4_Index] = 0;
960
+          if(ALC_On_AlarmTimerCnt[ALC_Alarm_UL4_Index] == 0xFFFFFFFF){
961
+            ALC_On_AlarmTimerCnt[ALC_Alarm_UL4_Index] = MBIC_ON_MAINTAIN_SEC;
962
+          }
963
+      }else{
964
+          ALC_On_AlarmTimerCnt[ALC_Alarm_UL4_Index] = 0;
965
+          ALC_Off_AlarmTimerCnt[ALC_Alarm_UL4_Index]++;
966
+          if(ALC_Off_AlarmTimerCnt[ALC_Alarm_UL4_Index] == 0xFFFFFFFF){
967
+            ALC_Off_AlarmTimerCnt[ALC_Alarm_UL4_Index] = MBIC_OFF_MAINTAIN_SEC;
968
+          }          
969
+      }     
970
+
971
+      /*AGC Alarm timer start*/      
972
+      if(AGC_AlarmSet[AGC_Alarm_DL1_Index] == true){
973
+          AGC_On_AlarmTimerCnt[AGC_Alarm_DL1_Index]++;
974
+          AGC_Off_AlarmTimerCnt[AGC_Alarm_DL1_Index] = 0;
975
+          if(AGC_On_AlarmTimerCnt[AGC_Alarm_DL1_Index] == 0xFFFFFFFF){
976
+            AGC_On_AlarmTimerCnt[AGC_Alarm_DL1_Index] = MBIC_ON_MAINTAIN_SEC;
977
+          }
978
+      }else{
979
+          AGC_On_AlarmTimerCnt[AGC_Alarm_DL1_Index] = 0;
980
+          AGC_Off_AlarmTimerCnt[AGC_Alarm_DL1_Index]++;
981
+          if(AGC_Off_AlarmTimerCnt[AGC_Alarm_DL1_Index] == 0xFFFFFFFF){
982
+            AGC_Off_AlarmTimerCnt[AGC_Alarm_DL1_Index] = MBIC_OFF_MAINTAIN_SEC;
905 983
           }          
906 984
       }
907 985
 
986
+      if(AGC_AlarmSet[AGC_Alarm_DL2_Index] == true){
987
+          AGC_On_AlarmTimerCnt[AGC_Alarm_DL2_Index]++;
988
+          AGC_Off_AlarmTimerCnt[AGC_Alarm_DL2_Index] = 0;
989
+          if(AGC_On_AlarmTimerCnt[AGC_Alarm_DL2_Index] == 0xFFFFFFFF){
990
+            AGC_On_AlarmTimerCnt[AGC_Alarm_DL2_Index] = MBIC_ON_MAINTAIN_SEC;
991
+          }
992
+      }else{
993
+          AGC_On_AlarmTimerCnt[AGC_Alarm_DL2_Index] = 0;
994
+          AGC_Off_AlarmTimerCnt[AGC_Alarm_DL2_Index]++;
995
+          if(AGC_Off_AlarmTimerCnt[AGC_Alarm_DL2_Index] == 0xFFFFFFFF){
996
+            AGC_Off_AlarmTimerCnt[AGC_Alarm_DL2_Index] = MBIC_OFF_MAINTAIN_SEC;
997
+          }          
998
+      }
999
+      if(AGC_AlarmSet[AGC_Alarm_DL3_Index] == true){
1000
+          AGC_On_AlarmTimerCnt[AGC_Alarm_DL3_Index]++;
1001
+          AGC_Off_AlarmTimerCnt[AGC_Alarm_DL3_Index] = 0;
1002
+          if(AGC_On_AlarmTimerCnt[AGC_Alarm_DL3_Index] == 0xFFFFFFFF){
1003
+            AGC_On_AlarmTimerCnt[AGC_Alarm_DL3_Index] = MBIC_ON_MAINTAIN_SEC;
1004
+          }
1005
+      }else{
1006
+          AGC_On_AlarmTimerCnt[AGC_Alarm_DL3_Index] = 0;
1007
+          AGC_Off_AlarmTimerCnt[AGC_Alarm_DL3_Index]++;
1008
+          if(AGC_Off_AlarmTimerCnt[AGC_Alarm_DL3_Index] == 0xFFFFFFFF){
1009
+            AGC_Off_AlarmTimerCnt[AGC_Alarm_DL3_Index] = MBIC_OFF_MAINTAIN_SEC;
1010
+          }          
1011
+      }
1012
+      if(AGC_AlarmSet[AGC_Alarm_DL4_Index] == true){
1013
+          AGC_On_AlarmTimerCnt[AGC_Alarm_DL4_Index]++;
1014
+          AGC_Off_AlarmTimerCnt[AGC_Alarm_DL4_Index] = 0;
1015
+          if(AGC_On_AlarmTimerCnt[AGC_Alarm_DL4_Index] == 0xFFFFFFFF){
1016
+            AGC_On_AlarmTimerCnt[AGC_Alarm_DL4_Index] = MBIC_ON_MAINTAIN_SEC;
1017
+          }
1018
+      }else{
1019
+          AGC_On_AlarmTimerCnt[AGC_Alarm_DL4_Index] = 0;
1020
+          AGC_Off_AlarmTimerCnt[AGC_Alarm_DL4_Index]++;
1021
+          if(AGC_Off_AlarmTimerCnt[AGC_Alarm_DL4_Index] == 0xFFFFFFFF){
1022
+            AGC_Off_AlarmTimerCnt[AGC_Alarm_DL4_Index] = MBIC_OFF_MAINTAIN_SEC;
1023
+          }          
1024
+      }      
1025
+    
1026
+
1027
+
1028
+    /*********************UL LEVEL HIGH START****************************/
908 1029
 
909 1030
     if(ADC_Alarm_UL_Set[DET_Alarm_UL1_Index ] == true){
1031
+        
910 1032
         DET_UL_On_AlarmTimerCnt[DET_Alarm_UL1_Index]++;
911 1033
         DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL1_Index] = 0;
912
-
913 1034
         if(DET_UL_On_AlarmTimerCnt[DET_Alarm_UL1_Index] == 0xFFFFFFFF){
914 1035
             DET_UL_On_AlarmTimerCnt[DET_Alarm_UL1_Index] = MBIC_ON_MAINTAIN_SEC;
915
-        }   
916
-        
1036
+        }
917 1037
     }
918 1038
     else{
919 1039
         DET_UL_On_AlarmTimerCnt[DET_Alarm_UL1_Index] = 0;
920 1040
         DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL1_Index]++;
921
-
922 1041
         if(DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL1_Index] == 0xFFFFFFFF){
923 1042
             DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL1_Index] = MBIC_OFF_MAINTAIN_SEC;
924
-        }           
1043
+        }    
925 1044
     }
926
-#if 0 // PYJ.2020.05.27_BEGIN -- 
927 1045
 
928 1046
     if(ADC_Alarm_UL_Set[DET_Alarm_UL2_Index ] == true){
929 1047
         DET_UL_On_AlarmTimerCnt[DET_Alarm_UL2_Index]++;
1048
+        DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL2_Index] = 0;
1049
+        if(DET_UL_On_AlarmTimerCnt[DET_Alarm_UL2_Index] == 0xFFFFFFFF){
1050
+            DET_UL_On_AlarmTimerCnt[DET_Alarm_UL2_Index] = MBIC_ON_MAINTAIN_SEC;
1051
+        }    
930 1052
     }
931 1053
     else{
932 1054
         DET_UL_On_AlarmTimerCnt[DET_Alarm_UL2_Index] = 0;
1055
+        DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL2_Index]++;
1056
+        if(DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL2_Index] == 0xFFFFFFFF){
1057
+            DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL2_Index] = MBIC_OFF_MAINTAIN_SEC;
1058
+        }     
933 1059
     }
934 1060
 
935 1061
     if(ADC_Alarm_UL_Set[DET_Alarm_UL3_Index ] == true){
936 1062
         DET_UL_On_AlarmTimerCnt[DET_Alarm_UL3_Index]++;
1063
+        DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL3_Index] = 0;     
1064
+        if(DET_UL_On_AlarmTimerCnt[DET_Alarm_UL3_Index] == 0xFFFFFFFF){
1065
+            DET_UL_On_AlarmTimerCnt[DET_Alarm_UL3_Index] = MBIC_ON_MAINTAIN_SEC;
1066
+        }    
937 1067
     }
938 1068
     else{
939 1069
         DET_UL_On_AlarmTimerCnt[DET_Alarm_UL3_Index] = 0;
1070
+        DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL3_Index]++;  
1071
+        if(DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL3_Index] == 0xFFFFFFFF){
1072
+            DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL3_Index] = MBIC_OFF_MAINTAIN_SEC;
1073
+        }     
940 1074
     }
941 1075
 
942 1076
     if(ADC_Alarm_UL_Set[DET_Alarm_UL4_Index ] == true){
943 1077
         DET_UL_On_AlarmTimerCnt[DET_Alarm_UL4_Index]++;
1078
+        DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL4_Index] = 0;    
1079
+        if(DET_UL_On_AlarmTimerCnt[DET_Alarm_UL4_Index] == 0xFFFFFFFF){
1080
+            DET_UL_On_AlarmTimerCnt[DET_Alarm_UL4_Index] = MBIC_ON_MAINTAIN_SEC;
1081
+        }    
944 1082
     }
945 1083
     else{
946 1084
         DET_UL_On_AlarmTimerCnt[DET_Alarm_UL4_Index] = 0;
1085
+        DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL4_Index]++;       
1086
+        if(DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL4_Index] == 0xFFFFFFFF){
1087
+            DET_UL_Off_AlarmTimerCnt[DET_Alarm_UL4_Index] = MBIC_OFF_MAINTAIN_SEC;
1088
+        }     
947 1089
     }
948 1090
 
949 1091
 
950 1092
 
951 1093
 
952
-    if(ADC_Alarm_DL_Set[DET_Alarm_DL1_Index ] == true){
953
-        DET_DL_On_AlarmTimerCnt[DET_Alarm_DL1_Index]++;
1094
+
1095
+    /*********************DL LEVEL LOW START****************************/
1096
+    if(ADC_Alarm_DL_Low_Set[DET_Alarm_DL1_Index ] == true){
1097
+        
1098
+        DET_DL_Low_On_AlarmTimerCnt[DET_Alarm_DL1_Index]++;
1099
+        DET_DL_Low_Off_AlarmTimerCnt[DET_Alarm_DL1_Index] = 0;
1100
+        if(DET_DL_Low_On_AlarmTimerCnt[DET_Alarm_DL1_Index] == 0xFFFFFFFF){
1101
+            DET_DL_Low_On_AlarmTimerCnt[DET_Alarm_DL1_Index] = MBIC_ON_MAINTAIN_SEC;
1102
+        }
1103
+    }
1104
+    else{
1105
+        DET_DL_Low_On_AlarmTimerCnt[DET_Alarm_DL1_Index] = 0;
1106
+        DET_DL_Low_Off_AlarmTimerCnt[DET_Alarm_DL1_Index]++;
1107
+        if(DET_DL_Low_Off_AlarmTimerCnt[DET_Alarm_DL1_Index] == 0xFFFFFFFF){
1108
+            DET_DL_Low_Off_AlarmTimerCnt[DET_Alarm_DL1_Index] = MBIC_OFF_MAINTAIN_SEC;
1109
+        }    
1110
+    }
1111
+
1112
+    if(ADC_Alarm_DL_Low_Set[DET_Alarm_DL2_Index ] == true){
1113
+        DET_DL_Low_On_AlarmTimerCnt[DET_Alarm_DL2_Index]++;
1114
+        DET_DL_Low_Off_AlarmTimerCnt[DET_Alarm_DL2_Index] = 0;
1115
+        if(DET_DL_Low_On_AlarmTimerCnt[DET_Alarm_DL2_Index] == 0xFFFFFFFF){
1116
+            DET_DL_Low_On_AlarmTimerCnt[DET_Alarm_DL2_Index] = MBIC_ON_MAINTAIN_SEC;
1117
+        }    
1118
+    }
1119
+    else{
1120
+        DET_DL_Low_On_AlarmTimerCnt[DET_Alarm_DL2_Index] = 0;
1121
+        DET_DL_Low_Off_AlarmTimerCnt[DET_Alarm_DL2_Index]++;
1122
+        if(DET_DL_Low_Off_AlarmTimerCnt[DET_Alarm_DL2_Index] == 0xFFFFFFFF){
1123
+            DET_DL_Low_Off_AlarmTimerCnt[DET_Alarm_DL2_Index] = MBIC_OFF_MAINTAIN_SEC;
1124
+        }     
1125
+    }
1126
+
1127
+    if(ADC_Alarm_DL_Low_Set[DET_Alarm_DL3_Index ] == true){
1128
+        DET_DL_Low_On_AlarmTimerCnt[DET_Alarm_DL3_Index]++;
1129
+        DET_DL_Low_Off_AlarmTimerCnt[DET_Alarm_DL3_Index] = 0;     
1130
+        if(DET_DL_Low_On_AlarmTimerCnt[DET_Alarm_DL3_Index] == 0xFFFFFFFF){
1131
+            DET_DL_Low_On_AlarmTimerCnt[DET_Alarm_DL3_Index] = MBIC_ON_MAINTAIN_SEC;
1132
+        }    
1133
+    }
1134
+    else{
1135
+        DET_DL_Low_On_AlarmTimerCnt[DET_Alarm_DL3_Index] = 0;
1136
+        DET_DL_Low_Off_AlarmTimerCnt[DET_Alarm_DL3_Index]++;  
1137
+        if(DET_DL_Low_Off_AlarmTimerCnt[DET_Alarm_DL3_Index] == 0xFFFFFFFF){
1138
+            DET_DL_Low_Off_AlarmTimerCnt[DET_Alarm_DL3_Index] = MBIC_OFF_MAINTAIN_SEC;
1139
+        }     
1140
+    }
1141
+
1142
+    if(ADC_Alarm_DL_Low_Set[DET_Alarm_DL4_Index ] == true){
1143
+        DET_DL_Low_On_AlarmTimerCnt[DET_Alarm_DL4_Index]++;
1144
+        DET_DL_Low_Off_AlarmTimerCnt[DET_Alarm_DL4_Index] = 0;    
1145
+        if(DET_DL_Low_On_AlarmTimerCnt[DET_Alarm_DL4_Index] == 0xFFFFFFFF){
1146
+            DET_DL_Low_On_AlarmTimerCnt[DET_Alarm_DL4_Index] = MBIC_ON_MAINTAIN_SEC;
1147
+        }    
1148
+    }
1149
+    else{
1150
+        DET_DL_Low_On_AlarmTimerCnt[DET_Alarm_DL4_Index] = 0;
1151
+        DET_DL_Low_Off_AlarmTimerCnt[DET_Alarm_DL4_Index]++;       
1152
+        if(DET_DL_Low_Off_AlarmTimerCnt[DET_Alarm_DL4_Index] == 0xFFFFFFFF){
1153
+            DET_DL_Low_Off_AlarmTimerCnt[DET_Alarm_DL4_Index] = MBIC_OFF_MAINTAIN_SEC;
1154
+        }     
1155
+    }
1156
+    /*********************DL LEVEL LOW END****************************/    
1157
+    /*********************DL LEVEL HIGH START***************************/
1158
+    if(ADC_Alarm_DL_High_Set[DET_Alarm_DL1_Index ] == true){
1159
+        
1160
+        DET_DL_High_On_AlarmTimerCnt[DET_Alarm_DL1_Index]++;
1161
+        DET_DL_High_Off_AlarmTimerCnt[DET_Alarm_DL1_Index] = 0;
1162
+        if(DET_DL_High_On_AlarmTimerCnt[DET_Alarm_DL1_Index] == 0xFFFFFFFF){
1163
+            DET_DL_High_On_AlarmTimerCnt[DET_Alarm_DL1_Index] = MBIC_ON_MAINTAIN_SEC;
1164
+        }
954 1165
     }
955 1166
     else{
956
-        DET_DL_On_AlarmTimerCnt[DET_Alarm_DL1_Index] = 0;
1167
+        DET_DL_High_On_AlarmTimerCnt[DET_Alarm_DL1_Index] = 0;
1168
+        DET_DL_High_Off_AlarmTimerCnt[DET_Alarm_DL1_Index]++;
1169
+        if(DET_DL_High_Off_AlarmTimerCnt[DET_Alarm_DL1_Index] == 0xFFFFFFFF){
1170
+            DET_DL_High_Off_AlarmTimerCnt[DET_Alarm_DL1_Index] = MBIC_OFF_MAINTAIN_SEC;
1171
+        }    
957 1172
     }
958 1173
 
959
-    if(ADC_Alarm_DL_Set[DET_Alarm_DL2_Index ] == true){
960
-        DET_DL_On_AlarmTimerCnt[DET_Alarm_DL2_Index]++;
1174
+    if(ADC_Alarm_DL_High_Set[DET_Alarm_DL2_Index ] == true){
1175
+        DET_DL_High_On_AlarmTimerCnt[DET_Alarm_DL2_Index]++;
1176
+        DET_DL_High_Off_AlarmTimerCnt[DET_Alarm_DL2_Index] = 0;
1177
+        if(DET_DL_High_On_AlarmTimerCnt[DET_Alarm_DL2_Index] == 0xFFFFFFFF){
1178
+            DET_DL_High_On_AlarmTimerCnt[DET_Alarm_DL2_Index] = MBIC_ON_MAINTAIN_SEC;
1179
+        }    
961 1180
     }
962 1181
     else{
963
-        DET_DL_On_AlarmTimerCnt[DET_Alarm_DL2_Index] = 0;
1182
+        DET_DL_High_On_AlarmTimerCnt[DET_Alarm_DL2_Index] = 0;
1183
+        DET_DL_High_Off_AlarmTimerCnt[DET_Alarm_DL2_Index]++;
1184
+        if(DET_DL_High_Off_AlarmTimerCnt[DET_Alarm_DL2_Index] == 0xFFFFFFFF){
1185
+            DET_DL_High_Off_AlarmTimerCnt[DET_Alarm_DL2_Index] = MBIC_OFF_MAINTAIN_SEC;
1186
+        }     
964 1187
     }
965 1188
 
966
-    if(ADC_Alarm_DL_Set[DET_Alarm_DL3_Index ] == true){
967
-        DET_DL_On_AlarmTimerCnt[DET_Alarm_DL3_Index]++;
1189
+    if(ADC_Alarm_DL_High_Set[DET_Alarm_DL3_Index ] == true){
1190
+        DET_DL_High_On_AlarmTimerCnt[DET_Alarm_DL3_Index]++;
1191
+        DET_DL_High_Off_AlarmTimerCnt[DET_Alarm_DL3_Index] = 0;     
1192
+        if(DET_DL_High_On_AlarmTimerCnt[DET_Alarm_DL3_Index] == 0xFFFFFFFF){
1193
+            DET_DL_High_On_AlarmTimerCnt[DET_Alarm_DL3_Index] = MBIC_ON_MAINTAIN_SEC;
1194
+        }    
968 1195
     }
969 1196
     else{
970
-        DET_DL_On_AlarmTimerCnt[DET_Alarm_DL3_Index] = 0;
1197
+        DET_DL_High_On_AlarmTimerCnt[DET_Alarm_DL3_Index] = 0;
1198
+        DET_DL_High_Off_AlarmTimerCnt[DET_Alarm_DL3_Index]++;  
1199
+        if(DET_DL_High_Off_AlarmTimerCnt[DET_Alarm_DL3_Index] == 0xFFFFFFFF){
1200
+            DET_DL_High_Off_AlarmTimerCnt[DET_Alarm_DL3_Index] = MBIC_OFF_MAINTAIN_SEC;
1201
+        }     
971 1202
     }
972 1203
 
973
-    if(ADC_Alarm_DL_Set[DET_Alarm_DL4_Index ] == true){
974
-        DET_DL_On_AlarmTimerCnt[DET_Alarm_DL4_Index]++;
1204
+    if(ADC_Alarm_DL_High_Set[DET_Alarm_DL4_Index ] == true){
1205
+        DET_DL_High_On_AlarmTimerCnt[DET_Alarm_DL4_Index]++;
1206
+        DET_DL_High_Off_AlarmTimerCnt[DET_Alarm_DL4_Index] = 0;    
1207
+        if(DET_DL_High_On_AlarmTimerCnt[DET_Alarm_DL4_Index] == 0xFFFFFFFF){
1208
+            DET_DL_High_On_AlarmTimerCnt[DET_Alarm_DL4_Index] = MBIC_ON_MAINTAIN_SEC;
1209
+        }    
975 1210
     }
976 1211
     else{
977
-        DET_DL_On_AlarmTimerCnt[DET_Alarm_DL4_Index] = 0;
1212
+        DET_DL_High_On_AlarmTimerCnt[DET_Alarm_DL4_Index] = 0;
1213
+        DET_DL_High_Off_AlarmTimerCnt[DET_Alarm_DL4_Index]++;       
1214
+        if(DET_DL_High_Off_AlarmTimerCnt[DET_Alarm_DL4_Index] == 0xFFFFFFFF){
1215
+            DET_DL_High_Off_AlarmTimerCnt[DET_Alarm_DL4_Index] = MBIC_OFF_MAINTAIN_SEC;
1216
+        }     
978 1217
     }
979
-#endif // PYJ.2020.05.27_END -- 
1218
+      /*********************DL LEVEL HIGH END***************************/
980 1219
 
981 1220
     
982 1221
       /*3 Sec Time Cnt */