Commit b1ebd45e authored by hu's avatar hu

重新调整CAN接收信号处理,没有内容,只有框架

parent bf5ee947
......@@ -503,8 +503,8 @@ void Gui_BeepPrioProc(_Beep *Bp)
}
//-- 手刹 --//
if(((g_LED.pParkTime > T_0_3s)||g_CanSwith.ParkLamp)&&(SetMeuMsg.Language==1))
//-- 驻车制动 手刹 --//
if((g_LED.pParkTime > T_0_3s)&&(SetMeuMsg.Language==1))
{
Bp[17].Prio = ParkAlr;
Bp[17].OnTime = T1_500ms;
......
......@@ -180,7 +180,7 @@ void App_CheckCanDrop(void)
{
g_CanSwith.WIF = 0;
g_CanSwith.DriverWarn = 0;
g_CanSwith.DriverLimited = 0;
//g_CanSwith.DriverLimited = 0;
Disable_signal(g_canClock.signal.Exist65279);
}
}
......@@ -486,7 +486,7 @@ void App_CheckCanDrop(void)
}
if (g_canClock.ID65110_A3Cn == null)
{
g_canClock.ID65110Start_00Cn = 0;
g_canClock.ID65110Start_A3Cn = 0;
g_adblueMeter.CurBoardVal = 0;
g_adblueMeter.DispPosition = 0;
g_adblueMeter.CurPosition = 0;
......
......@@ -26,8 +26,9 @@ void App_ReceiveCanMsg(void)
INT16U Can_Power_H;
INT16U Can_Power_L;
INT16U Can_Power;
//--------- Meter Signal ---------//
//转速
//0x0CF00400 转速 Engine_speed
if (g_canMsg61444.ProceF == MSG_FULL)
{
g_revMeter.CurBoardVal = ((INT16U)g_canMsg61444.Data[4]) << 8;
......@@ -45,7 +46,34 @@ void App_ReceiveCanMsg(void)
g_canMsg61444.ProceF = EMPOTY;
}
//水温
//0x18FEF200 油耗
if (g_canMsg65266.ProceF == MSG_FULL)
{
//T,100ms unit,L/h --convert uL Engine_fuel_rate "Engine Fuel Rate 发动机燃油消耗率 (小时油耗)"
wTemp = g_canMsg65266.Data[1];
wTemp = (wTemp << 8) | g_canMsg65266.Data[0];
Sum_FuelConsumption = Sum_FuelConsumption + (wTemp * 50 / 36);
FuelConsumption = FuelConsumption + (wTemp * 50 / 36);
//Engine Instantaneous Fuel Economy "Engine Instantaneous Fuel Economy 发动机燃油经济性(瞬时油耗)" 1/512 2 16 16
//FlEco "Engine Average Fuel Economy 发动机平均燃油经济性(平均油耗)" 1/512 4 32 16
g_canMsg65266.ProceF = EMPOTY;
}
//0x18FEF500 65269
if (g_canMsg65269.ProceF == MSG_FULL)
{
//"Cab Interior Temperature" "Cab Interior Temperature 驾驶室温度 " 1 8 16 0.0313 -273
//Ambient_Air_Temperature" Temperature of air surrounding vehicle.环境温度" 3 24 16 0.0313 -273
//Road Surface Temperature "Road Surface Temperature 发动机路表温度" 6 48 16 0.0313 -273
g_canMsg65269.ProceF = EMPOTY;
}
//0x18FEEE00 水温
if (g_canMsg65262.ProceF == MSG_FULL)
{
//水温 Engine_colant_temperature
......@@ -78,122 +106,95 @@ void App_ReceiveCanMsg(void)
g_canMsg65262.ProceF = EMPOTY;
}
//天蓝液_00
if (g_canMsg65110_00.ProceF == MSG_FULL)
//0x18FEFF00
if (g_canMsg65279.ProceF == MSG_FULL)
{
if (ConfigItem.AdblueConfig == 2)
//油水分离
if ((g_canMsg65279.Data[0] & 0x03) == 0x01)
{
g_adblueMeter.CurBoardVal = ((INT16U)g_canMsg65110_00.Data[0]) * 4;
g_CanSwith.WIF = 1;
}
g_canMsg65110_00.ProceF = EMPOTY;
}
//天蓝液_3D
if (g_canMsg65110_3D.ProceF == MSG_FULL)
{
if (ConfigItem.AdblueConfig == 3)
else
{
g_adblueMeter.CurBoardVal = ((INT16U)g_canMsg65110_3D.Data[0]) * 4;
g_CanSwith.WIF = 0;
}
g_canMsg65110_3D.ProceF = EMPOTY;
}
//--------- Led Signal ---------//
//机油压力
if (g_canMsg65263.ProceF == MSG_FULL)
{
if ((ConfigItem.EngConfig == 2) || (ConfigItem.EngConfig == 3))
//驾驶员警告(黄)
if ((g_canMsg65279.Data[1] & 0x07) == 0x01) //2020-10-08(改功能)
{
if (g_canMsg65263.Data[3] < P_60kpa)
{
g_CanSwith.OilLamp = 1;
}
else if (g_canMsg65263.Data[3] > P_80kpa)
{
g_CanSwith.OilLamp = 0;
}
g_CanSwith.DriverWarn = S_on;
}
else if (ConfigItem.EngConfig == 4)
else if ((g_canMsg65279.Data[1] & 0x07) == 0x04)
{
if (g_canMsg65263.Data[3] < P_68kpa)
{
g_CanSwith.OilLamp = 1;
}
else if (g_canMsg65263.Data[3] > P_88kpa)
{
g_CanSwith.OilLamp = 0;
}
g_CanSwith.DriverWarn = S_Flash;
}
else if (ConfigItem.EngConfig == 5)
else
{
if (g_canMsg65263.Data[3] < P_80kpa)
{
g_CanSwith.OilLamp = 1;
}
else if (g_canMsg65263.Data[3] > P_100kpa)
{
g_CanSwith.OilLamp = 0;
}
g_CanSwith.DriverWarn = S_off;
}
else if ((ConfigItem.EngConfig == 9) || (ConfigItem.EngConfig == 10)) //后加的2020/05/11
//Com_stOperinduSev "Com_stOperinduSev 排放诱导系统" 1 13 3
if ((g_canMsg65279.Data[1] & 0xE0) == 0x01)
{
if (g_canMsg65263.Data[3] < P_60kpa)
{
g_CanSwith.OilLamp = 1;
}
else if (g_canMsg65263.Data[3] > P_80kpa)
{
g_CanSwith.OilLamp = 0;
}
}
else
{
g_CanSwith.OilLamp = 0;
}
g_canMsg65263.ProceF = EMPOTY;
g_canMsg65279.ProceF = EMPOTY;
}
//
if (g_canMsg64892.ProceF == MSG_FULL)
//0x18FEE400 65252
if (g_canMsg65252.ProceF == MSG_FULL)
{
//新加禁止DPF指示
if ((g_canMsg64892.Data[2] & 0x0C) == 0x04)
//预热
if ((g_canMsg65252.Data[3] & 0x03) == 0x01)
{
g_CanSwith.InhibiteDPF = 1;
g_CanSwith.PreHeat = 1;
}
else
{
g_CanSwith.InhibiteDPF = 0;
g_CanSwith.PreHeat = 0;
}
//发动机排放滤清器DPF
if ((g_canMsg64892.Data[0] & 0x07) == 1)
//Engine Protection System has Shutdown Engine "Engine Protection System has Shutdown Engine 发动机保护系统使发动机停机" 4 32 2
g_canMsg65252.ProceF = EMPOTY;
}
//0x18FD7C00 64892
if (g_canMsg64892.ProceF == MSG_FULL)
{
//DPF指示灯
if ((g_canMsg64892.Data[0] & 0x07) == 0x01)
{
g_CanSwith.DPF = 1;
g_CanSwith.DPFf = 0;
g_CanSwith.DPF_Red = 0;
}
else if ((g_canMsg64892.Data[0] & 0x07) == 4)
else
{
g_CanSwith.DPFf = 1;
g_CanSwith.DPF = 0;
g_CanSwith.DPF_Red = 0;
}
else if ((g_canMsg64892.Data[0] & 0x07) == 2) //---20200523
//新加禁止DPF指示
if ((g_canMsg64892.Data[2] & 0x03) == 0x01)
{
g_CanSwith.DPF_Red = 1;
g_CanSwith.DPF = 0;
g_CanSwith.DPFf = 0;
g_CanSwith.InhibiteDPF = 1;
}
else
{
g_CanSwith.DPF = 0;
g_CanSwith.DPFf = 0;
g_CanSwith.DPF_Red = 0;
g_CanSwith.InhibiteDPF = 0;
}
//发动机排气系统温度高
if ((g_canMsg64892.Data[6] & 0x1c) == 0x04)
//DPF禁止再生开关
//if ((g_canMsg64892.Data[2] & 0x0C) == 0x01)
//{
// g_CanSwith.InhibiteDPFONOFF = 1;
//}
//else
//{
// g_CanSwith.InhibiteDPFONOFF = 0;
//}
//发动机排气温度高指示灯
if ((g_canMsg64892.Data[6] & 0x1c) == 0x01)
{
g_CanSwith.DpfHiTemp = 1;
}
......@@ -205,96 +206,53 @@ void App_ReceiveCanMsg(void)
g_canMsg64892.ProceF = EMPOTY;
}
//
if (g_canMsg61441.ProceF == MSG_FULL)
//64775 0x18FD0700
if (g_canMsg64775_00.ProceF == MSG_FULL)
{
//ABS
if ((g_canMsg61441.Data[5] & 0x30) == 0x10)
{
g_CanSwith.ABSLamp = 1;
}
else
{
g_CanSwith.ABSLamp = 0;
}
//ASR
if ((g_canMsg61441.Data[5] & 0xC0) == 0x40)
{
g_CanSwith.ASR = 1;
}
else
{
g_CanSwith.ASR = 0;
}
//ESP关闭
if ((g_canMsg61441.Data[2] & 0x0C) == 0x04)
//发动机排放故障OBD1
if ((g_canMsg64775_00.Data[0] & 0x30) == 0x10)
{
g_CanSwith.ESPoff = 1;
g_CanSwith.EngMIL1 = 1;
}
else
{
g_CanSwith.ESPoff = 0;
g_CanSwith.EngMIL1 = 0;
}
g_canMsg61441.ProceF = EMPOTY;
g_canMsg64775_00.ProceF = EMPOTY;
}
//
if (g_canMsg65252.ProceF == MSG_FULL)
//0x18FD070F 64775
if (g_canMsg64775_0F.ProceF == MSG_FULL)
{
//预热
if ((g_canMsg65252.Data[3] & 0x03) == 0x01)
{
g_CanSwith.PreHeat = 1;
}
else
{
g_CanSwith.PreHeat = 0;
}
//
g_canMsg64775_0F.ProceF = EMPOTY;
}
g_canMsg65252.ProceF = EMPOTY;
//0x18F0000F 61440
if (g_canMsg61440_0F.ProceF == MSG_FULL)
{
g_canMsg61440_0F.ProceF = EMPOTY;
}
//
if (g_canMsg65279.ProceF == MSG_FULL)
//ECM_ERC1 0x18F00000 61440 100 8
if (g_canMsg61440_00.ProceF == MSG_FULL)
{
//油水分离
if ((g_canMsg65279.Data[0] & 0x03) == 0x01)
{
g_CanSwith.WIF = 1;
}
else
{
g_CanSwith.WIF = 0;
}
//驾驶员警告(黄)
if ((g_canMsg65279.Data[1] & 0x07) == 0x01) //2020-10-08(改功能)
{
g_CanSwith.DriverWarn = S_on;
}
else if ((g_canMsg65279.Data[1] & 0x07) == 0x04)
{
g_CanSwith.DriverWarn = S_Flash;
}
else
{
g_CanSwith.DriverWarn = S_off;
}
//驾驶性能限制(红)
g_canMsg61440_00.ProceF = EMPOTY;
}
if (((g_canMsg65279.Data[1] & 0x38) == 0x08) || ((g_canMsg65279.Data[1] & 0x38) == 0x18) || ((g_canMsg65279.Data[1] & 0x38) == 0x20) || ((g_canMsg65279.Data[1] & 0x38) == 0x28))
{
g_CanSwith.DriverLimited = S_on; //2021-4-12
}
else
{
g_CanSwith.DriverLimited = S_off;
}
//ECM_ERC1 0x18F00029/0F/10 61440 100 8
if (g_canMsg61440_29.ProceF == MSG_FULL)
{
g_canMsg61440_29.ProceF = EMPOTY;
}
g_canMsg65279.ProceF = EMPOTY;
if (g_canMsg61440_10.ProceF == MSG_FULL)
{
g_canMsg61440_10.ProceF = EMPOTY;
}
//
//ECM_CCVS 0x18FEF100 65265 100 8
if (g_canMsg65265.ProceF == MSG_FULL)
{
//定速巡航有效位
......@@ -314,53 +272,62 @@ void App_ReceiveCanMsg(void)
g_canMsg65265.ProceF = EMPOTY;
}
//
if (g_canMsg64775_00.ProceF == MSG_FULL)
//ECM_EFL/P1 0x18FEEF00 65263 500 8
if (g_canMsg65263.ProceF == MSG_FULL)
{
//发动机排放故障2020/05/11
//发动机排放故障OBD1
if ((g_canMsg64775_00.Data[0] & 0xC0) == 0x40)
{
g_CanSwith.EngMIL1 = 1;
}
else
{
g_CanSwith.EngMIL1 = 0;
}
//发动机故障EPC1
if ((g_canMsg64775_00.Data[0] & 0x0c) == 0x04)
{
g_CanSwith.EngFailure1 = 1;
}
else
if ((ConfigItem.EngConfig == 2) || (ConfigItem.EngConfig == 3))
{
g_CanSwith.EngFailure1 = 0;
if (g_canMsg65263.Data[3] < P_60kpa)
{
g_CanSwith.OilLamp = 1;
}
else if (g_canMsg65263.Data[3] > P_80kpa)
{
g_CanSwith.OilLamp = 0;
}
}
//2021-03-30齐建国要加5077识别码
if ((g_canMsg64775_00.Data[0] & 0x03) == 0x01)
else if (ConfigItem.EngConfig == 4)
{
g_CanSwith.EngFailure4 = 1;
if (g_canMsg65263.Data[3] < P_68kpa)
{
g_CanSwith.OilLamp = 1;
}
else if (g_canMsg65263.Data[3] > P_88kpa)
{
g_CanSwith.OilLamp = 0;
}
}
else
else if (ConfigItem.EngConfig == 5)
{
g_CanSwith.EngFailure4 = 0;
if (g_canMsg65263.Data[3] < P_80kpa)
{
g_CanSwith.OilLamp = 1;
}
else if (g_canMsg65263.Data[3] > P_100kpa)
{
g_CanSwith.OilLamp = 0;
}
}
//STOP1
if ((g_canMsg64775_00.Data[0] & 0x30) == 0x10)
else if ((ConfigItem.EngConfig == 9) || (ConfigItem.EngConfig == 10)) //后加的2020/05/11
{
g_CanSwith.STOP1 = 1;
if (g_canMsg65263.Data[3] < P_60kpa)
{
g_CanSwith.OilLamp = 1;
}
else if (g_canMsg65263.Data[3] > P_80kpa)
{
g_CanSwith.OilLamp = 0;
}
}
else
{
g_CanSwith.STOP1 = 0;
g_CanSwith.OilLamp = 0;
}
g_canMsg64775_00.ProceF = EMPOTY;
g_canMsg65263.ProceF = EMPOTY;
}
//-------- 故障码 ----------------//
//DM1 0x18FECA00 65226 1000 8
if (g_canMsg65226ECM.ProceF == MSG_FULL)
{
//发动机排放故障OBD2
......@@ -414,19 +381,137 @@ void App_ReceiveCanMsg(void)
g_canMsg65226ECM.ProceF = EMPOTY;
}
//油耗
if (g_canMsg65266.ProceF == MSG_FULL)
//EPS_DM1 0x18FECA13 65226 1000 8
if (g_canMsg65226EPS.ProceF == MSG_FULL)
{
//T,100ms unit,L/h --convert uL
wTemp = g_canMsg65266.Data[1];
wTemp = (wTemp << 8) | g_canMsg65266.Data[0];
Sum_FuelConsumption = Sum_FuelConsumption + (wTemp * 50 / 36);
FuelConsumption = FuelConsumption + (wTemp * 50 / 36);
g_canMsg65266.ProceF = EMPOTY;
g_canMsg65226EPS.ProceF = EMPOTY;
}
//ECM_VD 0x18FEE000 65248 100 8
if (g_canMsg65248.ProceF == MSG_FULL)
{
g_canMsg65248.ProceF = EMPOTY;
}
//--- 杂 ---//
//ECM_IC1 0x18FEF600 65270 500 8
if (g_canMsg65248.ProceF == MSG_FULL)
{
g_canMsg65248.ProceF = EMPOTY;
}
//ECM_AT1TI1 0x18FE5600 65110 1000 8 //天蓝液_00
if (g_canMsg65110_00.ProceF == MSG_FULL)
{
if (ConfigItem.AdblueConfig == 0)
{
g_adblueMeter.CurBoardVal = ((INT16U)g_canMsg65110_00.Data[0]) * 4;
}
g_canMsg65110_00.ProceF = EMPOTY;
}
//天蓝液_A3
if (g_canMsg65110_A3.ProceF == MSG_FULL)
{
if (ConfigItem.AdblueConfig == 1)
{
g_adblueMeter.CurBoardVal = ((INT16U)g_canMsg65110_A3.Data[0]) * 4;
}
g_canMsg65110_A3.ProceF = EMPOTY;
}
//AT1T1 0x18FE563D 65110 1000 8
if (g_canMsg65110_3D.ProceF == MSG_FULL)
{
g_canMsg65110_3D.ProceF = EMPOTY;
}
//AMT_ETC1 0x0CF00203 61442 10 8
if (g_canMsg61442.ProceF == MSG_FULL)
{
g_canMsg61442.ProceF = EMPOTY;
}
//AMT-ETC2 0x18F00503 61445 100 8
if (g_canMsg61445.ProceF == MSG_FULL)
{
g_canMsg61445.ProceF = EMPOTY;
}
//A1DEFI 0x18FD9BA3 64923 1000 8
if (g_canMsg64923.ProceF == MSG_FULL)
{
g_canMsg64923.ProceF = EMPOTY;
}
//DCU_ 0x18F00E51 61454 50 8
if (g_canMsg61454_51.ProceF == MSG_FULL)
{
g_canMsg61454_51.ProceF = EMPOTY;
}
//DCU_ 0x18F00F52 61455 50
if (g_canMsg61454_52.ProceF == MSG_FULL)
{
g_canMsg61454_52.ProceF = EMPOTY;
}
//ABS_EBC2 0x18FEBF0B 65215 100 8
if (g_canMsg65215.ProceF == MSG_FULL)
{
g_canMsg65215.ProceF = EMPOTY;
}
//ABS_EBC1 0x18F0010B 61441 100 8
if (g_canMsg61441.ProceF == MSG_FULL)
{
//ABS
if ((g_canMsg61441.Data[5] & 0x30) == 0x10)
{
g_CanSwith.ABSLamp = 1;
}
else
{
g_CanSwith.ABSLamp = 0;
}
//ASR
if ((g_canMsg61441.Data[5] & 0xC0) == 0x40)
{
g_CanSwith.ASR = 1;
}
else
{
g_CanSwith.ASR = 0;
}
g_canMsg61441.ProceF = EMPOTY;
}
//EPS 0x18101713 4119 100 8
if (g_canMsg04119.ProceF == MSG_FULL)
{
//ESP关闭
if ((g_canMsg61441.Data[2] & 0x0C) == 0x04)
{
g_CanSwith.ESPoff = 1;
}
else
{
g_CanSwith.ESPoff = 0;
}
g_canMsg04119.ProceF = EMPOTY;
}
//-- 胎压处理 --//
App_ReceiveCanTireMsg();
......@@ -651,12 +736,4 @@ void App_K30ReceiveCanMsg(void)
g_canMsg60439.ProceF = EMPOTY;
}
//IG-ON报文解析
if (g_curkeyinput != KeyOFF)
{
//if (g_canMsg60439.ProceF == MSG_FULL)
//{
// g_canMsg60439.ProceF = EMPOTY;
//}
}
}
......@@ -469,7 +469,7 @@ void Api_ClockGenerate(void)
}
//----------------- KL15硬线灯去抖 ------------------------------------------------//
//手刹
//驻车制动
if (LINE_IN_PARKING == LOW)
{
if (g_LED.pParkTime < T_0_5s)
......@@ -481,6 +481,7 @@ void Api_ClockGenerate(void)
{
g_LED.pParkTime = null;
}
/*
//EBD-pin5
if(pBrakeIn == LOW)
......
......@@ -111,7 +111,7 @@ EXTERN_VAR volatile INT8U bSafeBeltLed;
EXTERN_VAR volatile INT8U bPasBeltLed;
//--can--//
EXTERN_VAR volatile _LightSts g_LightSts;//左右转向专用
EXTERN_VAR volatile _LightSts g_LightSts; //左右转向专用
EXTERN_VAR volatile _CanSwith g_CanSwith;
EXTERN_VAR volatile _CanClock g_canClock;
EXTERN_VAR volatile INT8U g_CanTimeOut20ms;
......@@ -128,7 +128,6 @@ EXTERN_VAR volatile _RevCanMsg g_canMsg65279; //
EXTERN_VAR volatile _RevCanMsg g_canMsg65252; //预热 0x18FEE400
EXTERN_VAR volatile _RevCanMsg g_canMsg64892; //DPF 0x18FD7C00
EXTERN_VAR volatile _RevCanMsg g_canMsg65265; //定速巡航 0x18FEF100
//EXTERN_VAR volatile _RevCanMsg g_canMsg65265BCM; //手刹 0x18FEF121
EXTERN_VAR volatile _RevCanMsg g_canMsg65263; //机油压力 0x18FEEF00
EXTERN_VAR volatile _RevCanMsg g_canMsg65248; // 0x18FEE000
EXTERN_VAR volatile _RevCanMsg g_canMsg61442; // 0x0CF00203
......
......@@ -156,8 +156,8 @@ typedef struct
INT8U DPF_Red : 1;
INT8U ECO : 1;
INT8U DriverLimited : 3; //驾驶性能限制
INT8U CanPowerOver : 1;
INT8U Reserve1 : 3;
INT8U EngFailure4 : 1; //EPC1
INT8U Hazard_Lights : 1; //危险灯
......
......@@ -24,18 +24,15 @@ void App_Paramer_Init(void)
INT8U i;
//-- 主界面初始化 --//
if((ConfigItem.GasConfig == 1) &&
((ConfigItem.AdblueConfig == 2) || (ConfigItem.AdblueConfig == 3)))
if((ConfigItem.GasConfig == 1) && ((ConfigItem.AdblueConfig == 0) || (ConfigItem.AdblueConfig == 1)))
{
g_Style = 1;//气压 + adblue
}
else if((ConfigItem.GasConfig == 0) &&
((ConfigItem.AdblueConfig == 2) || (ConfigItem.AdblueConfig == 3)))
else if((ConfigItem.GasConfig == 0) &&((ConfigItem.AdblueConfig == 0) || (ConfigItem.AdblueConfig == 1)))
{
g_Style = 2;//adblue
}
else if((ConfigItem.GasConfig == 1) &&
((ConfigItem.AdblueConfig == 0) || (ConfigItem.AdblueConfig == 1)))
else if((ConfigItem.GasConfig == 1) && ((ConfigItem.AdblueConfig != 0 ) && (ConfigItem.AdblueConfig != 1)))
{
g_Style = 3;//气压
}
......@@ -357,7 +354,7 @@ void App_State_OFF(void)
//-- Can Clear All --//
g_CanSwith.CabLock = 0;
g_CanSwith.ParkLamp = 0;
g_CanSwith.VacuumCylinder = 0;
g_CanSwith.OilLamp = 0;
g_CanSwith.ExhaustBrake = 0;
......@@ -387,7 +384,6 @@ void App_State_OFF(void)
g_CanSwith.VDCLampStatus = 0;
g_CanSwith.WIF = 0;
g_CanSwith.DriverWarn = 0;
g_CanSwith.DriverLimited = 0;
g_CanSwith.ParkErr = 0;
g_CanSwith.AutoHoldAct = 0;
g_CanSwith.AutoHoldWork = 0;
......
......@@ -171,7 +171,7 @@ void Gui_Adblue_Disp_Manage(void)
if(g_sysFlag.Bits.AdbuleMeterInit == Disable)
{
//超时维持
if(ConfigItem.AdblueConfig == 2)
if(ConfigItem.AdblueConfig == 0) //13%
{
if(g_canClock.signal.Exist65110_00)
{
......@@ -185,9 +185,9 @@ void Gui_Adblue_Disp_Manage(void)
}
}
}
else if(ConfigItem.AdblueConfig == 3)
else if(ConfigItem.AdblueConfig == 1) //15%
{
if(g_canClock.signal.Exist65110_3D)
if(g_canClock.signal.Exist65110_A3)
{
if(g_adblueMeter.CurPosition <= 43) // 2021-04-12 (10%)36改(12%)43
{
......
......@@ -110,14 +110,36 @@ void Gui_KL15LedDisplay(void)
//--------5912驱动指示灯
//BD8379_D0 2 驻车制动
if ((LINE_IN_PARKING == 0u) && (g_LED.pParkTime >= T_0_3s))
if (DIDFlag.Bits.DID1009Valid == Enable)
{
BD83790A |= BD8379_D0; //on
if (IOCTL_DID1009.FF_Byte == 1)
{
BD83790A |= BD8379_D0; //on
}
else
{
BD83790A &= ~BD8379_D0; //off
}
}
else
{
BD83790A &= ~BD8379_D0; //off
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
BD83790A |= BD8379_D0; //on
}
else
{
if ((LINE_IN_PARKING == 0u) && (g_LED.pParkTime >= T_0_3s))
{
BD83790A |= BD8379_D0; //on
}
else
{
BD83790A &= ~BD8379_D0; //off
}
}
}
//BD8379_D1 油含水 15 油水分离
if (Test_Hyq)
{
......@@ -181,6 +203,7 @@ void Gui_KL15LedDisplay(void)
{
BD83790A &= ~BD8379_D7; //off
}
//BD8379_D8 6 ABS故障
if (DIDFlag.Bits.DID1011Valid == Enable)
{
......@@ -197,33 +220,17 @@ void Gui_KL15LedDisplay(void)
{
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
if ((ConfigItem.ABS_ESCConfig == 0) || (ConfigItem.ABS_ESCConfig == 1))
if ((ConfigItem.ABS_ESCConfig == 0) || (ConfigItem.ABS_ESCConfig == 1) || (ConfigItem.ABS_ESCConfig == 2))
{
BD83790A |= BD8379_D8; //on
}
}
else
{
if (ConfigItem.ABS_ESCConfig == 0)
{
//硬线(+..)
if (g_LED.ABSFaultTimes > T_0_1s)
{
BD83790A &= ~BD8379_D8; //off
bDSTable[PicABS] = 0;
DTC_ABSErrFlag = Disable;
}
else
{
BD83790A |= BD8379_D8; //on
bDSTable[PicABS] |= DS0_MASK;
DTC_ABSErrFlag = Enable;
}
}
else if (ConfigItem.ABS_ESCConfig == 1)
if ((ConfigItem.ABS_ESCConfig == 0) || (ConfigItem.ABS_ESCConfig == 1) || (ConfigItem.ABS_ESCConfig == 2))
{
//can
if (g_CanSwith.ABSLamp)
if (g_CanSwith.ABSLamp == 1u)
{
BD83790A |= BD8379_D8; //on
bDSTable[PicABS] |= DS0_MASK;
......@@ -242,14 +249,42 @@ void Gui_KL15LedDisplay(void)
}
}
}
//BD8379_D9 制动器故障 4 制动气压不足/制动系统故障
if (Test_Hyq)
if (DIDFlag.Bits.DID1030Valid == Enable)
{
BD83790A |= BD8379_D9; //on
if (IOCTL_DID1030.FF_Byte == 1)
{
BD83790A |= BD8379_D9; //on
}
else
{
BD83790A &= ~BD8379_D9; //off
}
}
else
{
BD83790A &= ~BD8379_D9; //off
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
if (ConfigItem.GasConfig == 1)
{
BD83790A |= BD8379_D9; //on
}
}
else
{
if ((g_sysFlag.Bits.Gas2LedEn || g_sysFlag.Bits.Gas1LedEn) &&
(ConfigItem.GasConfig == 1))
{
BD83790A |= BD8379_D9; //on
bDSTable[PicGasLow] |= DS0_MASK;
}
else
{
BD83790A &= ~BD8379_D9; //off
bDSTable[PicGasLow] = 0;
}
}
}
//BD8379_D10 预留3
if (Test_Hyq)
......@@ -271,14 +306,45 @@ void Gui_KL15LedDisplay(void)
}
//BD8379_D0 OBD 10 发动机排放故障
if (Test_Hyq)
if (DIDFlag.Bits.DID100DValid == Enable)
{
BD83790B |= BD8379_D0; //on
if (IOCTL_DID100D.FF_Byte == 1)
{
BD83790B |= BD8379_D0; //on
}
else
{
BD83790B &= ~BD8379_D0; //off
}
}
else
{
BD83790B &= ~BD8379_D0; //off
if (g_revMeter.CurBoardVal <= 300)
{
BD83790B |= BD8379_D0; //on
DTC_OBDErrFlag = Disable;
}
else if ((ConfigItem.EngConfig == 0) || (ConfigItem.EngConfig == 1))
{
//if ((g_LED.pMILOffTime1 >= T_2_0s) && (OBDLamp == 0))
if (g_LED.pMILOffTime1 >= T_2_0s)
{
BD83790B &= ~BD8379_D0; //off
DTC_OBDErrFlag = Disable;
}
else
{
BD83790B |= BD8379_D0; //on
DTC_OBDErrFlag = Enable;
}
}
else
{
BD83790B &= ~BD8379_D0; //off
DTC_OBDErrFlag = Disable;
}
}
//BD8379_D1 7 燃油报警
if (Test_Hyq)
{
......@@ -306,6 +372,7 @@ void Gui_KL15LedDisplay(void)
{
BD83790B &= ~BD8379_D3; //off
}
//BD8379_D4 13 车厢举升报警
if (Test_Hyq)
{
......@@ -315,6 +382,7 @@ void Gui_KL15LedDisplay(void)
{
BD83790B &= ~BD8379_D4; //off
}
//BD8379_D5 22 DPF禁止再生
if (Test_Hyq)
{
......@@ -324,6 +392,7 @@ void Gui_KL15LedDisplay(void)
{
BD83790B &= ~BD8379_D5; //off
}
//BD8379_D6 11 发动机故障
if (Test_Hyq)
{
......@@ -333,6 +402,7 @@ void Gui_KL15LedDisplay(void)
{
BD83790B &= ~BD8379_D6; //off
}
//BD8379_D7 机油报警 3 低油压报警
if (Test_Hyq)
{
......@@ -342,6 +412,7 @@ void Gui_KL15LedDisplay(void)
{
BD83790B &= ~BD8379_D7; //off
}
//BD8379_D8 18 DPF再生(黄色)
if (Test_Hyq)
{
......@@ -351,6 +422,7 @@ void Gui_KL15LedDisplay(void)
{
BD83790B &= ~BD8379_D8; //off
}
//BD8379_D9 21 DPF再生(红色)
if (Test_Hyq)
{
......@@ -360,6 +432,7 @@ void Gui_KL15LedDisplay(void)
{
BD83790B &= ~BD8379_D9; //off
}
//BD8379_D10 12 制动蹄片磨损报警
if (Test_Hyq)
{
......@@ -369,15 +442,8 @@ void Gui_KL15LedDisplay(void)
{
BD83790B &= ~BD8379_D10; //off
}
//BD8379_D11 门开 门开在30电上
if (Test_Hyq)
{
BD83790B |= BD8379_D11; //on
}
else
{
BD83790B &= ~BD8379_D11; //off
}
}
/*-------------------------------------------------------------------------
* Function Name : Gui_KL30LedDisplay
......@@ -560,9 +626,9 @@ void Gui_KL30LedDisplay(void)
}
//16 门开-LED
if (g_canClock.signal.Exist60439)
if (DIDFlag.Bits.DID1007Valid == Enable)
{
if (g_CanSwith.DrDoorStae || g_CanSwith.PssDoorStae || g_CanSwith.RLDoorStae || g_CanSwith.RRDoorStae)
if (IOCTL_DID1007.FF_Byte == 1)
{
BD83790B |= BD8379_D11; //on
}
......@@ -572,14 +638,78 @@ void Gui_KL30LedDisplay(void)
}
}
else
{
if (g_canClock.signal.Exist60439)
{
if ((g_CanSwith.DrDoorStae == 1u) || (g_CanSwith.PssDoorStae == 1u) || (g_CanSwith.RLDoorStae == 1u) || (g_CanSwith.RRDoorStae == 1u))
{
BD83790B |= BD8379_D11; //on
}
else
{
BD83790B &= ~BD8379_D11; //off
}
}
else
{
if (g_LED.pDoorOpenTime >= T_0_3s)
{
BD83790B |= BD8379_D11; //on
}
else
{
BD83790B &= ~BD8379_D11; //off
}
}
}
//------------------------ Door Signl KL30 Receive ----------------------//
//can信号不存在时,检测硬线信号
if (!g_canClock.signal.Exist60439)
{
if (g_LED.pDoorOpenTime >= T_0_3s)
{
BD83790B |= BD8379_D11; //on
g_CanSwith.DrDoorStae = 1;
g_CanSwith.PssDoorStae = 1;
}
else
{
BD83790B &= ~BD8379_D11; //off
g_CanSwith.DrDoorStae = 0;
g_CanSwith.PssDoorStae = 0;
}
}
//车门状态
if ((g_CanSwith.DrDoorStae) || (g_CanSwith.PssDoorStae) || (g_CanSwith.RLDoorStae) || (g_CanSwith.RRDoorStae))
{
bDSTable[PicDoorOpen] |= DS0_MASK;
//如果车门的状态发生改变,且已经添加到lcdque里
if ((((g_CanSwith.OldDrDoorStae != g_CanSwith.DrDoorStae)) ||
((g_CanSwith.OldPssDoorStae != g_CanSwith.PssDoorStae)) ||
((g_CanSwith.OldRLDoorStae != g_CanSwith.RLDoorStae)) ||
((g_CanSwith.OldRRDoorStae != g_CanSwith.RRDoorStae))) &&
((bDSTable[PicDoorOpen] & LCD_MASK) == LCD_MASK))
{
//车门状态发生改变,更新一次显示
if (((wDS_LcdQueue[bCurDsPos]) == (PicDoorOpen)) && ((bDSTable[PicDoorOpen] & DS0_MASK) == 1))
{
bDSUpdateFlag = 1;
}
//清除lcdque,重新加入队列
bDSTable[PicDoorOpen] &= (~LCD_MASK);
if (bLcdDsCnt >= 1)
bLcdDsCnt--;
}
}
else
{
bDSTable[PicDoorOpen] = 0;
}
g_CanSwith.OldDrDoorStae = g_CanSwith.DrDoorStae; //主
g_CanSwith.OldPssDoorStae = g_CanSwith.PssDoorStae; //副
g_CanSwith.OldRLDoorStae = g_CanSwith.RLDoorStae; //左后
g_CanSwith.OldRRDoorStae = g_CanSwith.RRDoorStae; //右后
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment