diff --git a/C_Layout.hwl b/C_Layout.hwl
index a410e1bce041ca0742359a0c069f110e791402c1..505334bed7f632b9a28f2f6c7dde10c84bc9a7ae 100644
--- a/C_Layout.hwl
+++ b/C_Layout.hwl
@@ -1,7 +1,7 @@
 OPEN source 0 0 60 100
 Source < attributes TOOLTIP on,TOOLTIP_FORMAT signed,TOOLTIP_MODE details,FREEZE off,MARKS off
 OPEN assembly 60 0 40 31
-Assembly < attributes ADR on,CODE off,ABSADR on,SYMB off,FORMAT Auto,FREEZE off,TOPPC 0xF2ADC0
+Assembly < attributes ADR on,CODE off,ABSADR on,SYMB off,FORMAT Auto,FREEZE off,TOPPC 0xF48000
 OPEN procedure 0 39 60 17
 Procedure < attributes VALUES on,TYPES off
 OPEN register 60 31 40 25
@@ -17,4 +17,4 @@ Command < attributes CACHESIZE 1000
 bckcolor 50331647
 font 'Courier New' 9 BLACK
 AUTOSIZE on
-ACTIVATE "Command" "Register" "Memory" "Procedure" "Assembly" "Data:2" "Data:1" "Source"
+ACTIVATE "Command" "Register" "Memory" "Procedure" "Assembly" "Data:2" "Source" "Data:1"
diff --git a/Sources/EEPROM/api_EEPROM.c b/Sources/EEPROM/api_EEPROM.c
index 764107cd15a8d86acd27753e813a82d603395a69..630c0c33e9f5a8834a30006502d8acac70dd3b33 100644
--- a/Sources/EEPROM/api_EEPROM.c
+++ b/Sources/EEPROM/api_EEPROM.c
@@ -381,9 +381,9 @@ void Init2EData(void)
                                      //Byte2::Bit7 - Bit4 单位                 : default:0 km/h,L/100km
 
         Diag2eData.D_F1A8[3] = 0x46; //3200-5000rpm
-                                     //Byte3::Bit0        车道偏离LDWS             : default:0 未配置
+                                     //Byte3::Bit0        车道偏离LDWS         : default:0 未配置
                                      //Byte3::Bit3 - Bit1 水温表报警点         : default:2 105degC
-                                     //Byte3::Bit7 - Bit4 转速表红区           : default:2 3200rpm
+                                     //Byte3::Bit7 - Bit6 发动机系统保护SVS    : default:0 CAN  1 硬线 
 
         Diag2eData.D_F1A8[4] = 0x20; //Byte4::Bit6 - Bit5 燃油表参数           : default:0 E点105Ω;F点7Ω
                                      //Byte4::Bit7        冷却液液位报警       : default:0 未配置
@@ -413,9 +413,8 @@ void Init2EData(void)
         ConfigItem.LDWSConfig = Diag2eData.D_F1A8[3] & 0x01;
         //水温表报警点
         ConfigItem.TempConfig = (Diag2eData.D_F1A8[3] >> 1) & 0x07;
-        //转速红区配置
-        g_RedArea = (Diag2eData.D_F1A8[3] >> 4) & 0x0F;
-        g_RedArea = 2400 + g_RedArea * 200; //--//
+        //发动机系统保护 SVS 
+        ConfigItem.SVSConfig = (Diag2eData.D_F1A8[3] >> 6) & 0x03;
         //燃油
         ConfigItem.FuelConfig = (Diag2eData.D_F1A8[4] >> 5) & 0x03;
         //冷却液位低
@@ -452,9 +451,8 @@ void Init2EData(void)
         ConfigItem.LDWSConfig = Diag2eData.D_F1A8[3] & 0x01;
         //水温表报警点
         ConfigItem.TempConfig = (Diag2eData.D_F1A8[3] >> 1) & 0x07;
-        //转速红区配置
-        g_RedArea = (Diag2eData.D_F1A8[3] >> 4) & 0x0F;
-        g_RedArea = 2400 + g_RedArea * 200; //--//
+         //发动机系统保护 SVS 
+        ConfigItem.SVSConfig = (Diag2eData.D_F1A8[3] >> 6) & 0x03;
         //燃油
         ConfigItem.FuelConfig = (Diag2eData.D_F1A8[4] >> 5) & 0x03;
         //冷却液位低
diff --git a/TBDML.ini b/TBDML.ini
index 09bf946bcb9c7ca886eef04bf5d124fbe2e12732..4256e285e9de2be6d1c291d4f4667633381c06b3 100644
--- a/TBDML.ini
+++ b/TBDML.ini
@@ -11,7 +11,7 @@ Layout=C_layout.hwl
 LoadDialogOptions=AUTOERASEANDFLASH RUNANDSTOPAFTERLOAD="main"
 CPU=HC12
 AEFWarningDialog=FALSE
-MainFrame=2,3,-32000,-32000,-1,-1,248,32,1208,692
+MainFrame=2,3,-1,-1,-1,-1,248,32,1208,692
 TOOLBAR=57600 57601 32795 0 57635 57634 57637 0 57671 57669 0 32777 32776 32782 32780 32781 32778 0 32806
 Configuration=TBDML.hwc
 Statusbar=1
diff --git a/api_Sources/api_CAN.c b/api_Sources/api_CAN.c
index 0d22725e498fb6ad6ce9dd5e1e65206c33d492bd..088879537732000f89feb88482c62ad9bdae040a 100644
--- a/api_Sources/api_CAN.c
+++ b/api_Sources/api_CAN.c
@@ -120,7 +120,7 @@ void App_ReceiveCanMsg(void)
 		}
 
 		//驾驶员警告(黄)
-		if ((g_canMsg65279.Data[1] & 0x07) == 0x01) 
+		if ((g_canMsg65279.Data[1] & 0x07) == 0x01)
 		{
 			g_CanSwith.DriverWarn = S_on;
 		}
@@ -528,7 +528,7 @@ void App_ReceiveCanMsg(void)
 	if (g_canMsg04119.ProceF == MSG_FULL)
 	{
 		//ESP关闭
-		if ((g_canMsg61441.Data[2] & 0x0C) == 0x04)
+		if ((g_canMsg04119.Data[0] & 0x03) == 0x01)
 		{
 			g_CanSwith.ESPoff = 1;
 		}
diff --git a/api_Sources/api_RTC.c b/api_Sources/api_RTC.c
index fd2057ea165782214beb830417155f4131175be6..aa8ec7adfc07b008eb3200e0e01649d1277e3a63 100644
--- a/api_Sources/api_RTC.c
+++ b/api_Sources/api_RTC.c
@@ -541,7 +541,31 @@ void Api_ClockGenerate(void)
             {
                 g_LED.pPowerTakeoffTime = null;
             }
+            //安全带
+            if (LINT_IN_SAFEBELTn == LOW)
+            {
+                if (g_LED.pSafeBelt1Time < T_0_5s)
+                {
+                    g_LED.pSafeBelt1Time++;
+                }
+            }
+            else
+            {
+                g_LED.pSafeBelt1Time = null;
+            }
 
+            //车厢举升
+            if (LINE_IN_CONTAINERn == LOW)
+            {
+                if (g_LED.pConTainerTime < T_0_5s)
+                {
+                    g_LED.pConTainerTime++;
+                }
+            }
+            else
+            {
+                g_LED.pConTainerTime = null;
+            }
             /*
             //EBD-pin5  
             if(pBrakeIn == LOW)
@@ -568,20 +592,7 @@ void Api_ClockGenerate(void)
             {
                 g_LED.ABSFaultTimes = null;
             }          
-            //安全带
-            if(pSafeBelt1In == LOW)
-            {
-                if(g_LED.pSafeBelt1Time < T_0_5s)
-                {
-                    g_LED.pSafeBelt1Time ++;
-                }
-            }
-            else
-            {
-                g_LED.pSafeBelt1Time = null;
-            }
-            
-
+ 
             //排气制动+
             if(pExhaustBrakIn == HIGH)
             {
diff --git a/app_Headers/g_VarType.h b/app_Headers/g_VarType.h
index 4133e07f86d165d100fc31cc75ced673a334364a..99c13ab45cbce58cc256871bd0fed85a67ad02ae 100644
--- a/app_Headers/g_VarType.h
+++ b/app_Headers/g_VarType.h
@@ -699,6 +699,7 @@ typedef struct
 	INT8U LTurnDiTime;
 	INT8U RTurnEnTime;
 	INT8U RTurnDiTime;
+	INT8U pConTainerTime;
 
 } _LED;
 
@@ -856,6 +857,7 @@ typedef struct
 	INT8U LDWSConfig;
 	INT8U EngConfig;
 	INT8U BrakeShoeConfig;
+	INT8U SVSConfig;
 } _Config;
 
 typedef struct
diff --git a/gui_Sources/gui_Led.c b/gui_Sources/gui_Led.c
index a8bae62665b7456de0993974b59bc3c7d96bbd74..aace3ca969864561fc79e5873d9001188102e81a 100644
--- a/gui_Sources/gui_Led.c
+++ b/gui_Sources/gui_Led.c
@@ -44,7 +44,6 @@ void Gui_AllLedOff(void)
  * Return         : None
  * onther         :
  --------------------------------------------------------------------------*/
-INT8U Test_Hyq;
 void Gui_KL15LedDisplay(void)
 {
 	//---------直驱指示灯------
@@ -66,13 +65,88 @@ void Gui_KL15LedDisplay(void)
 	}
 
 	//08 安全带
-	if (1)
+	if (DIDFlag.Bits.DID1017Valid == Enable)
 	{
-		LED_SafeBelt_OUT = LEDON; //on
+		if (IOCTL_DID1017.FF_Byte == 1)
+		{
+			LED_SafeBelt_OUT = LEDON; //on
+		}
+		else
+		{
+			LED_SafeBelt_OUT = LEDOFF; //off
+		}
 	}
 	else
 	{
-		LED_SafeBelt_OUT = LEDOFF; //off
+		//主安全带
+		if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
+		{
+			LED_SafeBelt_OUT = LEDON; //on
+		}
+		else
+		{
+			if (g_LED.pSafeBelt1Time >= T_0_3s || g_CanSwith.DriverBelt)
+			{
+				LED_SafeBelt_OUT = LEDON; //on
+			}
+			else
+			{
+				LED_SafeBelt_OUT = LEDOFF; //off
+			}
+			//主副安全带-LCD
+			if (g_LED.pSafeBelt1Time >= T_0_3s)
+			{
+				//非故障信息界面-插入显示
+				if (bCurMenuIDX != _MN_SHOW_ERRINFO)
+					bDSTable[PicDrSafeBelt] |= DS0_MASK;
+
+				//显示完删除队列-N
+				if ((bDSTableShowTime[PicDrSafeBelt] == T1_5s) && ((bDSTable[PicDrSafeBelt] & DS0_MASK) == DS0_MASK))
+					bDSTable[PicDrSafeBelt] = 0;
+			}
+			/*else if (g_CanSwith.DriverBelt || g_CanSwith.PsngrBelt)
+			{
+				//非故障信息界面-插入显示
+				if (bCurMenuIDX != _MN_SHOW_ERRINFO)
+					bDSTable[PicDrSafeBelt] |= DS0_MASK;
+				if ((g_CanSwith.OldDriverBelt == 0) && (g_CanSwith.OldPsngrBelt == 0))
+				{
+					if (g_CanSwith.DriverBelt || g_CanSwith.PsngrBelt)
+					{
+						bDSTableShowTime[PicDrSafeBelt] = 0;
+					}
+				}
+				else if ((g_CanSwith.OldDriverBelt == 1) && (g_CanSwith.OldPsngrBelt == 0))
+				{
+					if (g_CanSwith.PsngrBelt)
+					{
+						bDSTableShowTime[PicDrSafeBelt] = 0;
+					}
+				}
+				else if ((g_CanSwith.OldDriverBelt == 0) && (g_CanSwith.OldPsngrBelt == 1))
+				{
+					if (g_CanSwith.DriverBelt)
+					{
+						bDSTableShowTime[PicDrSafeBelt] = 0;
+					}
+				}
+				else
+				{
+					;
+				}
+				g_CanSwith.OldDriverBelt = g_CanSwith.DriverBelt;
+				g_CanSwith.OldPsngrBelt = g_CanSwith.PsngrBelt;
+
+				//显示完删除队列-N
+				if ((bDSTableShowTime[PicDrSafeBelt] == T1_5s) && ((bDSTable[PicDrSafeBelt] & DS0_MASK) == DS0_MASK))
+					bDSTable[PicDrSafeBelt] = 0;
+			}*/
+			else
+			{
+				bDSTable[PicDrSafeBelt] = 0;
+				bDSTableShowTime[PicDrSafeBelt] = 0;
+			}
+		}
 	}
 	//09 充电状态——指示灯  不受软件控制
 	//19 发动机排气系统温度高——指示灯
@@ -85,8 +159,8 @@ void Gui_KL15LedDisplay(void)
 		LED_EXCSysHighTemp_OUT = LEDOFF; //off
 	}
 
-	//26 ESC关闭
-	if (1)
+	//26 ESC关闭  (预留)
+	if (0)
 	{
 		LED_ESCOFF_OUT = LEDON; //on
 	}
@@ -95,8 +169,8 @@ void Gui_KL15LedDisplay(void)
 		LED_ESCOFF_OUT = LEDOFF; //off
 	}
 
-	//23 ECO
-	if (1)
+	//23 ECO  (预留)
+	if (0)
 	{
 		LED_ECO_OUT = LEDON; //on
 	}
@@ -105,8 +179,8 @@ void Gui_KL15LedDisplay(void)
 		LED_ECO_OUT = LEDOFF; //off
 	}
 
-	//27 ESC故障
-	if (1)
+	//27 ESC故障  (预留)
+	if (0)
 	{
 		LED_ESC_OUT = LEDON; //on
 	}
@@ -167,13 +241,27 @@ void Gui_KL15LedDisplay(void)
 	}
 
 	//BD8379_D2 Svs灯  25 发动机保护灯
-	if (Test_Hyq)
+	if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
 	{
 		BD83790A |= BD8379_D2; //on
 	}
 	else
 	{
-		BD83790A &= ~BD8379_D2; //off
+		if ((ConfigItem.SVSConfig == 0x00u) || (ConfigItem.SVSConfig == 0x01u))
+		{
+			if (g_CanSwith.EngFailure1 == 0x01u)
+			{
+				BD83790A |= BD8379_D2; //on
+			}
+			else
+			{
+				BD83790A &= ~BD8379_D2; //off
+			}
+		}
+		else
+		{
+			BD83790A &= ~BD8379_D2; //off
+		}
 	}
 
 	//BD8379_D3 20 驾驶员警告
@@ -206,7 +294,7 @@ void Gui_KL15LedDisplay(void)
 	}
 
 	//BD8379_D4 预留
-	if (Test_Hyq)
+	if (0)
 	{
 		BD83790A |= BD8379_D4; //on
 	}
@@ -347,13 +435,20 @@ void Gui_KL15LedDisplay(void)
 		}
 	}
 	//BD8379_D7 17 EPS故障
-	if (Test_Hyq)
+	if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
 	{
 		BD83790A |= BD8379_D7; //on
 	}
 	else
 	{
-		BD83790A &= ~BD8379_D7; //off
+		if (g_CanSwith.ESPoff == 0x01u)
+		{
+			BD83790A |= BD8379_D7; //on
+		}
+		else
+		{
+			BD83790A &= ~BD8379_D7; //off
+		}
 	}
 
 	//BD8379_D8 6 ABS故障
@@ -455,7 +550,7 @@ void Gui_KL15LedDisplay(void)
 		}
 	}
 	//BD8379_D10 预留3
-	if (Test_Hyq)
+	if (0)
 	{
 		BD83790A |= BD8379_D10; //on
 	}
@@ -464,7 +559,7 @@ void Gui_KL15LedDisplay(void)
 		BD83790A &= ~BD8379_D10; //off
 	}
 	//BD8379_D11 预留4
-	if (Test_Hyq)
+	if (0)
 	{
 		BD83790A |= BD8379_D11; //on
 	}
@@ -514,7 +609,7 @@ void Gui_KL15LedDisplay(void)
 	}
 
 	//BD8379_D1  7 燃油报警
-	if (Test_Hyq)
+	if (0)
 	{
 		BD83790B |= BD8379_D1; //on
 	}
@@ -553,7 +648,7 @@ void Gui_KL15LedDisplay(void)
 		}
 	}
 	//BD8379_D3 预留2
-	if (Test_Hyq)
+	if (0)
 	{
 		BD83790B |= BD8379_D3; //on
 	}
@@ -563,7 +658,7 @@ void Gui_KL15LedDisplay(void)
 	}
 
 	//BD8379_D4 13 车厢举升报警
-	if (Test_Hyq)
+	if (g_LED.pConTainerTime >= T_0_5s)
 	{
 		BD83790B |= BD8379_D4; //on
 	}
@@ -573,13 +668,20 @@ void Gui_KL15LedDisplay(void)
 	}
 
 	//BD8379_D5 22 DPF禁止再生
-	if (Test_Hyq)
+	if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
 	{
 		BD83790B |= BD8379_D5; //on
 	}
 	else
 	{
-		BD83790B &= ~BD8379_D5; //off
+		if (g_CanSwith.InhibiteDPF == 0x01u)
+		{
+			BD83790B |= BD8379_D5; //on
+		}
+		else
+		{
+			BD83790B &= ~BD8379_D5; //off
+		}
 	}
 
 	//BD8379_D6 11 发动机故障