Преглед изворни кода

SelfTest On/Off 시 Curr Path On 하도록 수정
SelfTest On 할 때 모든 Alarm Off 하도록 변경

PYJ пре 4 година
родитељ
комит
9eaf8cba06
1 измењених фајлова са 203 додато и 64 уклоњено
  1. 203 64
      Bluecell_Src/Bluecell_operate.c

+ 203 - 64
Bluecell_Src/Bluecell_operate.c

@@ -1869,8 +1869,138 @@ void Table_LengSet(){
1869 1869
 }
1870 1870
 
1871 1871
 
1872
+typedef enum{
1873
+    ATT_DL_PATH1,
1874
+    ATT_DL_PATH2,
1875
+    ATT_DL_PATH3,
1876
+    ATT_DL_PATH4,
1877
+    ATT_UL_PATH1,
1878
+    ATT_UL_PATH2,
1879
+    ATT_UL_PATH3,
1880
+    ATT_UL_PATH4,    
1881
+};
1882
+
1883
+typedef enum{
1884
+    ATT_DL_ShutdownCnt1,
1885
+    ATT_DL_ShutdownCnt2,
1886
+    ATT_DL_ShutdownCnt3,
1887
+    ATT_DL_ShutdownCnt4,
1888
+    ATT_UL_ShutdownCnt1,
1889
+    ATT_UL_ShutdownCnt2,
1890
+    ATT_UL_ShutdownCnt3,
1891
+    ATT_UL_ShutdownCnt4,    
1892
+};
1893
+
1894
+void Path_Ctrl(uint8_t onoff,uint8_t* Status){
1895
+        if(onoff == true){
1896
+            DL_Path_OnOff(Path1_OnOff,
1897
+                 onoff,
1898
+                 &bluecell_Currdatastatus.ATT_DL1_PATH,
1899
+                 &bluecell_Prevdatastatus.ATT_DL1_H,
1900
+                 &bluecell_Currdatastatus.DLI_Shutdown_Retry_Count1,
1901
+                 &bluecell_Prevdatastatus.DLI_Shutdown_Retry_Count1);
1902
+            DL_Path_OnOff(Path2_OnOff,
1903
+                 onoff,
1904
+                 &bluecell_Currdatastatus.ATT_DL2_PATH,
1905
+                 &bluecell_Prevdatastatus.ATT_DL2_H,
1906
+                 &bluecell_Currdatastatus.DLI_Shutdown_Retry_Count2,
1907
+                 &bluecell_Prevdatastatus.DLI_Shutdown_Retry_Count2);
1908
+            DL_Path_OnOff(Path3_OnOff,
1909
+                 onoff,
1910
+                 &bluecell_Currdatastatus.ATT_DL3_PATH,
1911
+                 &bluecell_Prevdatastatus.ATT_DL3_H,
1912
+                 &bluecell_Currdatastatus.DLI_Shutdown_Retry_Count3,
1913
+                 &bluecell_Prevdatastatus.DLI_Shutdown_Retry_Count3);
1914
+            DL_Path_OnOff(Path4_OnOff,
1915
+                 onoff,
1916
+                 &bluecell_Currdatastatus.ATT_DL4_PATH,
1917
+                 &bluecell_Prevdatastatus.ATT_DL4_H,
1918
+                 &bluecell_Currdatastatus.DLI_Shutdown_Retry_Count4,
1919
+                 &bluecell_Prevdatastatus.DLI_Shutdown_Retry_Count4);       
1920
+            UL_Path_OnOff(Path1_OnOff,
1921
+                 onoff,
1922
+                 &bluecell_Currdatastatus.ATT_UL1_PATH,
1923
+                 &bluecell_Prevdatastatus.ATT_UL1_H,
1924
+                 &bluecell_Currdatastatus.ULO_Shutdown_Retry_Count1,
1925
+                 &bluecell_Prevdatastatus.ULO_Shutdown_Retry_Count1);  
1926
+            UL_Path_OnOff(Path2_OnOff,
1927
+                 onoff,
1928
+                 &bluecell_Currdatastatus.ATT_UL2_PATH,
1929
+                 &bluecell_Prevdatastatus.ATT_UL2_H,
1930
+                 &bluecell_Currdatastatus.ULO_Shutdown_Retry_Count2,
1931
+                 &bluecell_Prevdatastatus.ULO_Shutdown_Retry_Count2);  
1932
+            UL_Path_OnOff(Path3_OnOff,
1933
+                 onoff,
1934
+                 &bluecell_Currdatastatus.ATT_UL3_PATH,
1935
+                 &bluecell_Prevdatastatus.ATT_UL3_H,
1936
+                 &bluecell_Currdatastatus.ULO_Shutdown_Retry_Count3,
1937
+                 &bluecell_Prevdatastatus.ULO_Shutdown_Retry_Count3);  
1938
+            UL_Path_OnOff(Path4_OnOff,
1939
+                 onoff,
1940
+                 &bluecell_Currdatastatus.ATT_UL4_PATH,
1941
+                 &bluecell_Prevdatastatus.ATT_UL4_H,
1942
+                 &bluecell_Currdatastatus.ULO_Shutdown_Retry_Count4,
1943
+                 &bluecell_Prevdatastatus.ULO_Shutdown_Retry_Count4);  
1944
+        }else{
1945
+            DL_Path_OnOff(Path1_OnOff,
1946
+                 Status[ATT_DL_PATH1],
1947
+                 &bluecell_Currdatastatus.ATT_DL1_PATH,
1948
+                 &bluecell_Prevdatastatus.ATT_DL1_H,
1949
+                 &bluecell_Currdatastatus.DLI_Shutdown_Retry_Count1,
1950
+                 &bluecell_Prevdatastatus.DLI_Shutdown_Retry_Count1);
1951
+            DL_Path_OnOff(Path2_OnOff,
1952
+                 Status[ATT_DL_PATH2],
1953
+                 &bluecell_Currdatastatus.ATT_DL2_PATH,
1954
+                 &bluecell_Prevdatastatus.ATT_DL2_H,
1955
+                 &bluecell_Currdatastatus.DLI_Shutdown_Retry_Count2,
1956
+                 &bluecell_Prevdatastatus.DLI_Shutdown_Retry_Count2);
1957
+            DL_Path_OnOff(Path3_OnOff,
1958
+                 Status[ATT_DL_PATH3],
1959
+                 &bluecell_Currdatastatus.ATT_DL3_PATH,
1960
+                 &bluecell_Prevdatastatus.ATT_DL3_H,
1961
+                 &bluecell_Currdatastatus.DLI_Shutdown_Retry_Count3,
1962
+                 &bluecell_Prevdatastatus.DLI_Shutdown_Retry_Count3);
1963
+            DL_Path_OnOff(Path4_OnOff,
1964
+                 Status[ATT_DL_PATH4],
1965
+                 &bluecell_Currdatastatus.ATT_DL4_PATH,
1966
+                 &bluecell_Prevdatastatus.ATT_DL4_H,
1967
+                 &bluecell_Currdatastatus.DLI_Shutdown_Retry_Count4,
1968
+                 &bluecell_Prevdatastatus.DLI_Shutdown_Retry_Count4);       
1969
+            UL_Path_OnOff(Path1_OnOff,
1970
+                 Status[ATT_UL_PATH1],
1971
+                 &bluecell_Currdatastatus.ATT_UL1_PATH,
1972
+                 &bluecell_Prevdatastatus.ATT_UL1_H,
1973
+                 &bluecell_Currdatastatus.ULO_Shutdown_Retry_Count1,
1974
+                 &bluecell_Prevdatastatus.ULO_Shutdown_Retry_Count1);  
1975
+            UL_Path_OnOff(Path2_OnOff,
1976
+                 Status[ATT_UL_PATH2],
1977
+                 &bluecell_Currdatastatus.ATT_UL2_PATH,
1978
+                 &bluecell_Prevdatastatus.ATT_UL2_H,
1979
+                 &bluecell_Currdatastatus.ULO_Shutdown_Retry_Count2,
1980
+                 &bluecell_Prevdatastatus.ULO_Shutdown_Retry_Count2);  
1981
+            UL_Path_OnOff(Path3_OnOff,
1982
+                 Status[ATT_UL_PATH3],
1983
+                 &bluecell_Currdatastatus.ATT_UL3_PATH,
1984
+                 &bluecell_Prevdatastatus.ATT_UL3_H,
1985
+                 &bluecell_Currdatastatus.ULO_Shutdown_Retry_Count3,
1986
+                 &bluecell_Prevdatastatus.ULO_Shutdown_Retry_Count3);  
1987
+            UL_Path_OnOff(Path4_OnOff,
1988
+                 Status[ATT_UL_PATH4],
1989
+                 &bluecell_Currdatastatus.ATT_UL4_PATH,
1990
+                 &bluecell_Prevdatastatus.ATT_UL4_H,
1991
+                 &bluecell_Currdatastatus.ULO_Shutdown_Retry_Count4,
1992
+                 &bluecell_Prevdatastatus.ULO_Shutdown_Retry_Count4);  
1993
+
1994
+        }
1995
+
1996
+}
1997
+uint8_t Prev_PathStatus[8];
1998
+uint8_t Prev_ShutdownCnt[8];
1999
+
1872 2000
 void SelfTest_Operate(uint8_t onoff){
1873
-//        printf("SelfTest %d \r\n ",data[BLUECELL_DATA]);
2001
+    
2002
+    
2003
+//    Carrier_ONOFF(bluecell_Currdatastatus.Carrier_ON_OFF);    
1874 2004
     SelfTest_Ctrl(SelfTest1,
1875 2005
         onoff,
1876 2006
         &bluecell_Currdatastatus.SelfTest,
@@ -1915,14 +2045,41 @@ void SelfTest_Operate(uint8_t onoff){
1915 2045
         bluecell_Currdatastatus.ULO_ALC_ON_OFF = false;
1916 2046
         bluecell_Currdatastatus.DLI_Shutdown_ON_OFF = false;
1917 2047
         bluecell_Currdatastatus.ULO_Shutdown_ON_OFF = false;
1918
-        
2048
+        Prev_PathStatus[ATT_DL_PATH1] = bluecell_Currdatastatus.ATT_DL1_PATH;
2049
+        Prev_PathStatus[ATT_DL_PATH2] = bluecell_Currdatastatus.ATT_DL2_PATH;
2050
+        Prev_PathStatus[ATT_DL_PATH3] = bluecell_Currdatastatus.ATT_DL3_PATH;
2051
+        Prev_PathStatus[ATT_DL_PATH4] = bluecell_Currdatastatus.ATT_DL4_PATH;
2052
+
2053
+        Prev_PathStatus[ATT_UL_PATH1] = bluecell_Currdatastatus.ATT_UL1_PATH;
2054
+        Prev_PathStatus[ATT_UL_PATH2] = bluecell_Currdatastatus.ATT_UL2_PATH;
2055
+        Prev_PathStatus[ATT_UL_PATH3] = bluecell_Currdatastatus.ATT_UL3_PATH;
2056
+        Prev_PathStatus[ATT_UL_PATH4] = bluecell_Currdatastatus.ATT_UL4_PATH;        
2057
+        bluecell_Currdatastatus.Carrier_ON_OFF = onoff; 
1919 2058
 //        printf("ALC AGC OFF\r\n");
1920 2059
     }else{
1921 2060
         bluecell_Currdatastatus.ULO_ALC_ON_OFF = Prev_ALC_OnOff;
1922 2061
         bluecell_Currdatastatus.DLI_AGC_ON_OFF = Prev_AGC_OnOff;
1923 2062
         bluecell_Currdatastatus.DLI_Shutdown_ON_OFF = Prev_DL_Shutdown_OnOff;
1924 2063
         bluecell_Currdatastatus.ULO_Shutdown_ON_OFF = Prev_UL_Shutdown_OnOff;
1925
-    }
2064
+
2065
+          bluecell_Currdatastatus.ATT_DL1_PATH = Prev_PathStatus[ATT_DL_PATH1];
2066
+          bluecell_Currdatastatus.ATT_DL2_PATH = Prev_PathStatus[ATT_DL_PATH2];
2067
+          bluecell_Currdatastatus.ATT_DL3_PATH = Prev_PathStatus[ATT_DL_PATH3];
2068
+          bluecell_Currdatastatus.ATT_DL4_PATH = Prev_PathStatus[ATT_DL_PATH4];
2069
+          bluecell_Currdatastatus.ATT_UL1_PATH = Prev_PathStatus[ATT_UL_PATH1];
2070
+          bluecell_Currdatastatus.ATT_UL2_PATH = Prev_PathStatus[ATT_UL_PATH2];
2071
+          bluecell_Currdatastatus.ATT_UL3_PATH = Prev_PathStatus[ATT_UL_PATH3];
2072
+          bluecell_Currdatastatus.ATT_UL4_PATH = Prev_PathStatus[ATT_UL_PATH4];        
2073
+          bluecell_Currdatastatus.DLI_Shutdown_Retry_Count1  = Prev_ShutdownCnt[ATT_DL_ShutdownCnt1];
2074
+          bluecell_Currdatastatus.DLI_Shutdown_Retry_Count2  = Prev_ShutdownCnt[ATT_DL_ShutdownCnt2];
2075
+          bluecell_Currdatastatus.DLI_Shutdown_Retry_Count3  = Prev_ShutdownCnt[ATT_DL_ShutdownCnt3];
2076
+          bluecell_Currdatastatus.DLI_Shutdown_Retry_Count4  = Prev_ShutdownCnt[ATT_DL_ShutdownCnt4];
2077
+          bluecell_Currdatastatus.ULO_Shutdown_Retry_Count1 = Prev_ShutdownCnt[ATT_UL_ShutdownCnt1];
2078
+          bluecell_Currdatastatus.ULO_Shutdown_Retry_Count2 = Prev_ShutdownCnt[ATT_UL_ShutdownCnt2];
2079
+          bluecell_Currdatastatus.ULO_Shutdown_Retry_Count3 = Prev_ShutdownCnt[ATT_UL_ShutdownCnt3];
2080
+          bluecell_Currdatastatus.ULO_Shutdown_Retry_Count4 = Prev_ShutdownCnt[ATT_UL_ShutdownCnt4];        
2081
+    }
2082
+    Path_Ctrl(onoff,&Prev_PathStatus);
1926 2083
 }
1927 2084
 
1928 2085
 bool Bluecell_Operate(uint8_t* data){
@@ -2097,23 +2254,6 @@ bool Bluecell_Operate(uint8_t* data){
2097 2254
 //		printf("ret : %f ,tmp %f \r\n",ret,tmp );
2098 2255
 		break;
2099 2256
 	case ATT_DL1_PATH 		 :
2100
-#if 0 // PYJ.2020.07.03_BEGIN -- 
2101
-
2102
-        bluecell_Currdatastatus.ATT_DL1_PATH = data[BLUECELL_DATA]; 
2103
-        bluecell_Currdatastatus.DLI_Shutdown_Retry_Count1 = 0;
2104
-        bluecell_Prevdatastatus.DLI_Shutdown_Retry_Count1 = 0xFF;
2105
-        if(data[BLUECELL_DATA]==0){
2106
-            HAL_GPIO_WritePin(PATH_EN_DL1_GPIO_Port,PATH_EN_DL1_Pin,GPIO_PIN_RESET);//CLOCK        
2107
-            DL_PathUserHandl[0] = true;
2108
-        }
2109
-        else{
2110
-            bluecell_Prevdatastatus.ATT_DL1_H = 0xFF;
2111
-            bluecell_Prevdatastatus.ATT_DL1_L =0xFF;
2112
-            DL_PathUserHandl[0] = false;                    
2113
-            HAL_GPIO_WritePin(PATH_EN_DL1_GPIO_Port,PATH_EN_DL1_Pin,GPIO_PIN_SET);//CLOCK
2114
-        }                
2115
-        CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
2116
-#else
2117 2257
 //       printf("DL PATH 1 : %d \r\n",data[BLUECELL_DATA]);
2118 2258
        if(bluecell_Currdatastatus.Carrier_ON_OFF == false)
2119 2259
               return true;
@@ -2121,7 +2261,6 @@ bool Bluecell_Operate(uint8_t* data){
2121 2261
            bluecell_Currdatastatus.Path_TempSave_Bit |= 0x80;
2122 2262
        else
2123 2263
           bluecell_Currdatastatus.Path_TempSave_Bit &= ~0x80;
2124
-       printf("%d :  bluecell_Currdatastatus.Path_TempSave_Bit : %x \r\n",data[BLUECELL_DATA], bluecell_Currdatastatus.Path_TempSave_Bit);
2125 2264
 
2126 2265
 
2127 2266
        DL_Path_OnOff(Path1_OnOff,
@@ -2131,24 +2270,8 @@ bool Bluecell_Operate(uint8_t* data){
2131 2270
             &bluecell_Currdatastatus.DLI_Shutdown_Retry_Count1,
2132 2271
             &bluecell_Prevdatastatus.DLI_Shutdown_Retry_Count1)  ;  
2133 2272
 
2134
-#endif // PYJ.2020.07.03_END -- 
2135
-	
2136
-
2137 2273
 		break;
2138 2274
 	case ATT_UL1_PATH        :
2139
-#if 0 // PYJ.2020.07.03_BEGIN -- 
2140
-        if(data[BLUECELL_DATA]==0){
2141
-            HAL_GPIO_WritePin(PATH_EN_UL1_GPIO_Port,PATH_EN_UL1_Pin,GPIO_PIN_RESET);//CLOCK
2142
-            bluecell_Currdatastatus.ULO_Shutdown_Retry_Count1 = 0;
2143
-        }
2144
-        else{
2145
-            HAL_GPIO_WritePin(PATH_EN_UL1_GPIO_Port,PATH_EN_UL1_Pin,GPIO_PIN_SET);//CLOCK
2146
-            bluecell_Prevdatastatus.ATT_UL1_H = 0xFF;
2147
-            bluecell_Prevdatastatus.ATT_UL1_L = 0xFF;
2148
-            CompareAttenData(bluecell_Currdatastatus,bluecell_Prevdatastatus);
2149
-
2150
-        }
2151
-#else
2152 2275
         if(bluecell_Currdatastatus.Carrier_ON_OFF == false)
2153 2276
                return true;
2154 2277
         if(data[BLUECELL_DATA] != 0)
@@ -2156,7 +2279,6 @@ bool Bluecell_Operate(uint8_t* data){
2156 2279
         else
2157 2280
            bluecell_Currdatastatus.Path_TempSave_Bit &= ~0x08;
2158 2281
 //        printf("%d :  bluecell_Currdatastatus.Path_TempSave_Bit : %x \r\n",data[BLUECELL_DATA], bluecell_Currdatastatus.Path_TempSave_Bit);
2159
-
2160 2282
         UL_Path_OnOff(Path1_OnOff,
2161 2283
              data[BLUECELL_DATA],
2162 2284
              &bluecell_Currdatastatus.ATT_UL1_PATH,
@@ -2164,7 +2286,6 @@ bool Bluecell_Operate(uint8_t* data){
2164 2286
              &bluecell_Currdatastatus.ULO_Shutdown_Retry_Count1,
2165 2287
              &bluecell_Prevdatastatus.ULO_Shutdown_Retry_Count1)  ;  
2166 2288
 
2167
-#endif // PYJ.2020.07.03_END -- 
2168 2289
         bluecell_Currdatastatus.ATT_UL1_PATH = data[BLUECELL_DATA];
2169 2290
 //        printf("Function : %s Line %d \r\n",__func__,__LINE__);
2170 2291
 		break;
@@ -9319,29 +9440,6 @@ void FRBT_Operate(){
9319 9440
 }
9320 9441
 void LED_Alarm_Check(){
9321 9442
     if(bluecell_Currdatastatus.ALARM_TESTMODE == false){
9322
-#if 0 // PYJ.2020.08.18_BEGIN -- 
9323
-      if(  (bluecell_Currdatastatus.ALARM_TEMP_HIGH      > 0 && bluecell_Currdatastatus.ALARM_MASK1 != false) 
9324
-        || (bluecell_Currdatastatus.ALARM_DLI_Level      > 0 && bluecell_Currdatastatus.ALARM_MASK2 != false)
9325
-        || (bluecell_Currdatastatus.ALARM_DLI_SHTUTDOWN  > 0 && bluecell_Currdatastatus.ALARM_MASK3 != false)
9326
-        || (bluecell_Currdatastatus.ALARM_DLI_AGC_Alarm  > 0 && bluecell_Currdatastatus.ALARM_MASK3 != false)
9327
-        || (bluecell_Currdatastatus.ALARM_ULO_Level      > 0 && bluecell_Currdatastatus.ALARM_MASK4 != false)
9328
-        || (bluecell_Currdatastatus.ALARM_ULO_ALC_Alarm  > 0 && bluecell_Currdatastatus.ALARM_MASK5 != false)
9329
-        || (bluecell_Currdatastatus.ALARM_ULO_SHTUTDOWN  > 0 && bluecell_Currdatastatus.ALARM_MASK5 != false))
9330
-        {
9331
-    //        AlarmTimerOnSet = true;
9332
-    //        AlarmTimerOffSet = false;
9333
-    //        if(AlarmTimerOnCnt > 3000){
9334
-                Alarm_LED_OnSet  = true;
9335
-    //        }
9336
-        }else{
9337
-    //        AlarmTimerOffSet = true;// False 
9338
-    //        if(AlarmTimerOffCnt > 10000){
9339
-    //            AlarmTimerOnSet = false;
9340
-                Alarm_LED_OnSet = false;
9341
-    //            printf("=================AlarmTimerOffCnt=================\r\n");
9342
-    //        }
9343
-        }
9344
-#else
9345 9443
           if(bluecell_Currdatastatus.SelfTest == true){
9346 9444
               Alarm_LED_OnSet = false;
9347 9445
           }
@@ -9357,8 +9455,6 @@ void LED_Alarm_Check(){
9357 9455
             }else{
9358 9456
                     Alarm_LED_OnSet = false;
9359 9457
             }
9360
-
9361
-#endif // PYJ.2020.08.18_END -- 
9362 9458
     }
9363 9459
     else{
9364 9460
         if(bluecell_Currdatastatus.ALARM_Test_Dummy1         > 0 
@@ -9373,7 +9469,49 @@ void LED_Alarm_Check(){
9373 9469
             Alarm_LED_OnSet = false;
9374 9470
         }
9375 9471
 
9472
+    }
9473
+
9376 9474
 }
9475
+void AlarmCheck_Exception(){
9476
+    if(bluecell_Currdatastatus.SelfTest == true){
9477
+        bluecell_Currdatastatus.ALARM_TEMP_HIGH      = 0; 
9478
+        bluecell_Currdatastatus.ALARM_DLI_Level      = 0;
9479
+        bluecell_Currdatastatus.ALARM_DLI_SHTUTDOWN  = 0;
9480
+        bluecell_Currdatastatus.ALARM_DLI_AGC_Alarm  = 0;
9481
+        bluecell_Currdatastatus.ALARM_ULO_Level      = 0;
9482
+        bluecell_Currdatastatus.ALARM_ULO_ALC_Alarm  = 0;
9483
+        bluecell_Currdatastatus.ALARM_ULO_SHTUTDOWN  = 0;
9484
+        bluecell_Currdatastatus.Temp_High_Alarm = false;
9485
+        bluecell_Currdatastatus.DLI_AGC_Alarm1 = false;
9486
+        bluecell_Currdatastatus.DLI_AGC_Alarm2 = false;
9487
+        bluecell_Currdatastatus.DLI_AGC_Alarm3 = false;
9488
+        bluecell_Currdatastatus.DLI_AGC_Alarm4 = false;
9489
+        bluecell_Currdatastatus.ULO_ALC_Alarm1 = false;
9490
+        bluecell_Currdatastatus.ULO_ALC_Alarm2 = false;
9491
+        bluecell_Currdatastatus.ULO_ALC_Alarm3 = false;
9492
+        bluecell_Currdatastatus.ULO_ALC_Alarm4 = false;
9493
+        bluecell_Currdatastatus.ULO_Shutdown_Alarm1 = false;            
9494
+        bluecell_Currdatastatus.ULO_Shutdown_Alarm2 = false;            
9495
+        bluecell_Currdatastatus.ULO_Shutdown_Alarm3 = false;            
9496
+        bluecell_Currdatastatus.ULO_Shutdown_Alarm4 = false;
9497
+        bluecell_Currdatastatus.DLI_Shutdown_Alarm1 = false;            
9498
+        bluecell_Currdatastatus.DLI_Shutdown_Alarm2 = false;            
9499
+        bluecell_Currdatastatus.DLI_Shutdown_Alarm3 = false;            
9500
+        bluecell_Currdatastatus.DLI_Shutdown_Alarm4 = false;
9501
+        
9502
+        bluecell_Currdatastatus.DLI_Level_Low_Alarm1 = false;
9503
+        bluecell_Currdatastatus.DLI_Level_Low_Alarm2 = false;
9504
+        bluecell_Currdatastatus.DLI_Level_Low_Alarm3 = false;
9505
+        bluecell_Currdatastatus.DLI_Level_Low_Alarm4 = false;   
9506
+        bluecell_Currdatastatus.DLI_Level_High_Alarm1 = false;            
9507
+        bluecell_Currdatastatus.DLI_Level_High_Alarm2 = false;            
9508
+        bluecell_Currdatastatus.DLI_Level_High_Alarm3 = false;            
9509
+        bluecell_Currdatastatus.DLI_Level_High_Alarm4 = false;  
9510
+        bluecell_Currdatastatus.ULO_Level_High_Alarm1 = false;        
9511
+        bluecell_Currdatastatus.ULO_Level_High_Alarm2 = false;        
9512
+        bluecell_Currdatastatus.ULO_Level_High_Alarm3 = false;        
9513
+        bluecell_Currdatastatus.ULO_Level_High_Alarm4 = false;                
9514
+    }
9377 9515
 
9378 9516
 }
9379 9517
 void Alarm_Check(){
@@ -9391,6 +9529,7 @@ void Alarm_Check(){
9391 9529
     DLI_ShutdownAlarmCheck();   
9392 9530
     DLI_LevelAlarmCheck();
9393 9531
     ULO_LevelAlarmCheck();
9532
+    AlarmCheck_Exception();
9394 9533
 }
9395 9534
 
9396 9535
 typedef struct{