Commit b1ebd45e authored by hu's avatar hu

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

parent bf5ee947
...@@ -503,8 +503,8 @@ void Gui_BeepPrioProc(_Beep *Bp) ...@@ -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].Prio = ParkAlr;
Bp[17].OnTime = T1_500ms; Bp[17].OnTime = T1_500ms;
......
...@@ -180,7 +180,7 @@ void App_CheckCanDrop(void) ...@@ -180,7 +180,7 @@ void App_CheckCanDrop(void)
{ {
g_CanSwith.WIF = 0; g_CanSwith.WIF = 0;
g_CanSwith.DriverWarn = 0; g_CanSwith.DriverWarn = 0;
g_CanSwith.DriverLimited = 0; //g_CanSwith.DriverLimited = 0;
Disable_signal(g_canClock.signal.Exist65279); Disable_signal(g_canClock.signal.Exist65279);
} }
} }
...@@ -486,7 +486,7 @@ void App_CheckCanDrop(void) ...@@ -486,7 +486,7 @@ void App_CheckCanDrop(void)
} }
if (g_canClock.ID65110_A3Cn == null) if (g_canClock.ID65110_A3Cn == null)
{ {
g_canClock.ID65110Start_00Cn = 0; g_canClock.ID65110Start_A3Cn = 0;
g_adblueMeter.CurBoardVal = 0; g_adblueMeter.CurBoardVal = 0;
g_adblueMeter.DispPosition = 0; g_adblueMeter.DispPosition = 0;
g_adblueMeter.CurPosition = 0; g_adblueMeter.CurPosition = 0;
......
...@@ -26,8 +26,9 @@ void App_ReceiveCanMsg(void) ...@@ -26,8 +26,9 @@ void App_ReceiveCanMsg(void)
INT16U Can_Power_H; INT16U Can_Power_H;
INT16U Can_Power_L; INT16U Can_Power_L;
INT16U Can_Power; INT16U Can_Power;
//--------- Meter Signal ---------// //--------- Meter Signal ---------//
//转速 //0x0CF00400 转速 Engine_speed
if (g_canMsg61444.ProceF == MSG_FULL) if (g_canMsg61444.ProceF == MSG_FULL)
{ {
g_revMeter.CurBoardVal = ((INT16U)g_canMsg61444.Data[4]) << 8; g_revMeter.CurBoardVal = ((INT16U)g_canMsg61444.Data[4]) << 8;
...@@ -45,7 +46,34 @@ void App_ReceiveCanMsg(void) ...@@ -45,7 +46,34 @@ void App_ReceiveCanMsg(void)
g_canMsg61444.ProceF = EMPOTY; 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) if (g_canMsg65262.ProceF == MSG_FULL)
{ {
//水温 Engine_colant_temperature //水温 Engine_colant_temperature
...@@ -78,122 +106,95 @@ void App_ReceiveCanMsg(void) ...@@ -78,122 +106,95 @@ void App_ReceiveCanMsg(void)
g_canMsg65262.ProceF = EMPOTY; g_canMsg65262.ProceF = EMPOTY;
} }
//天蓝液_00 //0x18FEFF00
if (g_canMsg65110_00.ProceF == MSG_FULL) 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;
} }
else
g_canMsg65110_00.ProceF = EMPOTY;
}
//天蓝液_3D
if (g_canMsg65110_3D.ProceF == MSG_FULL)
{
if (ConfigItem.AdblueConfig == 3)
{ {
g_adblueMeter.CurBoardVal = ((INT16U)g_canMsg65110_3D.Data[0]) * 4; g_CanSwith.WIF = 0;
} }
g_canMsg65110_3D.ProceF = EMPOTY; //驾驶员警告(黄)
} if ((g_canMsg65279.Data[1] & 0x07) == 0x01) //2020-10-08(改功能)
//--------- Led Signal ---------//
//机油压力
if (g_canMsg65263.ProceF == MSG_FULL)
{
if ((ConfigItem.EngConfig == 2) || (ConfigItem.EngConfig == 3))
{ {
if (g_canMsg65263.Data[3] < P_60kpa) g_CanSwith.DriverWarn = S_on;
{
g_CanSwith.OilLamp = 1;
}
else if (g_canMsg65263.Data[3] > P_80kpa)
{
g_CanSwith.OilLamp = 0;
}
} }
else if (ConfigItem.EngConfig == 4) else if ((g_canMsg65279.Data[1] & 0x07) == 0x04)
{ {
if (g_canMsg65263.Data[3] < P_68kpa) g_CanSwith.DriverWarn = S_Flash;
{
g_CanSwith.OilLamp = 1;
}
else if (g_canMsg65263.Data[3] > P_88kpa)
{
g_CanSwith.OilLamp = 0;
}
} }
else if (ConfigItem.EngConfig == 5) else
{ {
if (g_canMsg65263.Data[3] < P_80kpa) g_CanSwith.DriverWarn = S_off;
{
g_CanSwith.OilLamp = 1;
}
else if (g_canMsg65263.Data[3] > P_100kpa)
{
g_CanSwith.OilLamp = 0;
}
} }
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 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 else
{ {
g_CanSwith.InhibiteDPF = 0; g_CanSwith.PreHeat = 0;
} }
//发动机排放滤清器DPF //Engine Protection System has Shutdown Engine "Engine Protection System has Shutdown Engine 发动机保护系统使发动机停机" 4 32 2
if ((g_canMsg64892.Data[0] & 0x07) == 1)
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.InhibiteDPF = 1;
g_CanSwith.DPF = 0;
g_CanSwith.DPFf = 0;
} }
else else
{ {
g_CanSwith.DPF = 0; g_CanSwith.InhibiteDPF = 0;
g_CanSwith.DPFf = 0;
g_CanSwith.DPF_Red = 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; g_CanSwith.DpfHiTemp = 1;
} }
...@@ -205,96 +206,53 @@ void App_ReceiveCanMsg(void) ...@@ -205,96 +206,53 @@ void App_ReceiveCanMsg(void)
g_canMsg64892.ProceF = EMPOTY; g_canMsg64892.ProceF = EMPOTY;
} }
// //64775 0x18FD0700
if (g_canMsg61441.ProceF == MSG_FULL) if (g_canMsg64775_00.ProceF == MSG_FULL)
{ {
//ABS //发动机排放故障OBD1
if ((g_canMsg61441.Data[5] & 0x30) == 0x10) if ((g_canMsg64775_00.Data[0] & 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)
{ {
g_CanSwith.ESPoff = 1; g_CanSwith.EngMIL1 = 1;
} }
else else
{ {
g_CanSwith.ESPoff = 0; g_CanSwith.EngMIL1 = 0;
} }
g_canMsg61441.ProceF = EMPOTY; g_canMsg64775_00.ProceF = EMPOTY;
} }
// //0x18FD070F 64775
if (g_canMsg65252.ProceF == MSG_FULL) if (g_canMsg64775_0F.ProceF == MSG_FULL)
{ {
//预热 g_canMsg64775_0F.ProceF = EMPOTY;
if ((g_canMsg65252.Data[3] & 0x03) == 0x01) }
{
g_CanSwith.PreHeat = 1;
}
else
{
g_CanSwith.PreHeat = 0;
}
//
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)) //ECM_ERC1 0x18F00029/0F/10 61440 100 8
{ if (g_canMsg61440_29.ProceF == MSG_FULL)
g_CanSwith.DriverLimited = S_on; //2021-4-12 {
} g_canMsg61440_29.ProceF = EMPOTY;
else }
{
g_CanSwith.DriverLimited = S_off;
}
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) if (g_canMsg65265.ProceF == MSG_FULL)
{ {
//定速巡航有效位 //定速巡航有效位
...@@ -314,53 +272,62 @@ void App_ReceiveCanMsg(void) ...@@ -314,53 +272,62 @@ void App_ReceiveCanMsg(void)
g_canMsg65265.ProceF = EMPOTY; g_canMsg65265.ProceF = EMPOTY;
} }
// //ECM_EFL/P1 0x18FEEF00 65263 500 8
if (g_canMsg64775_00.ProceF == MSG_FULL) if (g_canMsg65263.ProceF == MSG_FULL)
{ {
//发动机排放故障2020/05/11 if ((ConfigItem.EngConfig == 2) || (ConfigItem.EngConfig == 3))
//发动机排放故障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
{ {
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;
}
} }
else if (ConfigItem.EngConfig == 4)
//2021-03-30齐建国要加5077识别码
if ((g_canMsg64775_00.Data[0] & 0x03) == 0x01)
{ {
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;
}
} }
else if ((ConfigItem.EngConfig == 9) || (ConfigItem.EngConfig == 10)) //后加的2020/05/11
//STOP1
if ((g_canMsg64775_00.Data[0] & 0x30) == 0x10)
{ {
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 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) if (g_canMsg65226ECM.ProceF == MSG_FULL)
{ {
//发动机排放故障OBD2 //发动机排放故障OBD2
...@@ -414,19 +381,137 @@ void App_ReceiveCanMsg(void) ...@@ -414,19 +381,137 @@ void App_ReceiveCanMsg(void)
g_canMsg65226ECM.ProceF = EMPOTY; g_canMsg65226ECM.ProceF = EMPOTY;
} }
//油耗 //EPS_DM1 0x18FECA13 65226 1000 8
if (g_canMsg65266.ProceF == MSG_FULL) 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(); App_ReceiveCanTireMsg();
...@@ -651,12 +736,4 @@ void App_K30ReceiveCanMsg(void) ...@@ -651,12 +736,4 @@ void App_K30ReceiveCanMsg(void)
g_canMsg60439.ProceF = EMPOTY; 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) ...@@ -469,7 +469,7 @@ void Api_ClockGenerate(void)
} }
//----------------- KL15硬线灯去抖 ------------------------------------------------// //----------------- KL15硬线灯去抖 ------------------------------------------------//
//手刹 //驻车制动
if (LINE_IN_PARKING == LOW) if (LINE_IN_PARKING == LOW)
{ {
if (g_LED.pParkTime < T_0_5s) if (g_LED.pParkTime < T_0_5s)
...@@ -481,6 +481,7 @@ void Api_ClockGenerate(void) ...@@ -481,6 +481,7 @@ void Api_ClockGenerate(void)
{ {
g_LED.pParkTime = null; g_LED.pParkTime = null;
} }
/* /*
//EBD-pin5 //EBD-pin5
if(pBrakeIn == LOW) if(pBrakeIn == LOW)
......
...@@ -111,7 +111,7 @@ EXTERN_VAR volatile INT8U bSafeBeltLed; ...@@ -111,7 +111,7 @@ EXTERN_VAR volatile INT8U bSafeBeltLed;
EXTERN_VAR volatile INT8U bPasBeltLed; EXTERN_VAR volatile INT8U bPasBeltLed;
//--can--// //--can--//
EXTERN_VAR volatile _LightSts g_LightSts;//左右转向专用 EXTERN_VAR volatile _LightSts g_LightSts; //左右转向专用
EXTERN_VAR volatile _CanSwith g_CanSwith; EXTERN_VAR volatile _CanSwith g_CanSwith;
EXTERN_VAR volatile _CanClock g_canClock; EXTERN_VAR volatile _CanClock g_canClock;
EXTERN_VAR volatile INT8U g_CanTimeOut20ms; EXTERN_VAR volatile INT8U g_CanTimeOut20ms;
...@@ -128,7 +128,6 @@ EXTERN_VAR volatile _RevCanMsg g_canMsg65279; // ...@@ -128,7 +128,6 @@ EXTERN_VAR volatile _RevCanMsg g_canMsg65279; //
EXTERN_VAR volatile _RevCanMsg g_canMsg65252; //预热 0x18FEE400 EXTERN_VAR volatile _RevCanMsg g_canMsg65252; //预热 0x18FEE400
EXTERN_VAR volatile _RevCanMsg g_canMsg64892; //DPF 0x18FD7C00 EXTERN_VAR volatile _RevCanMsg g_canMsg64892; //DPF 0x18FD7C00
EXTERN_VAR volatile _RevCanMsg g_canMsg65265; //定速巡航 0x18FEF100 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_canMsg65263; //机油压力 0x18FEEF00
EXTERN_VAR volatile _RevCanMsg g_canMsg65248; // 0x18FEE000 EXTERN_VAR volatile _RevCanMsg g_canMsg65248; // 0x18FEE000
EXTERN_VAR volatile _RevCanMsg g_canMsg61442; // 0x0CF00203 EXTERN_VAR volatile _RevCanMsg g_canMsg61442; // 0x0CF00203
......
...@@ -156,8 +156,8 @@ typedef struct ...@@ -156,8 +156,8 @@ typedef struct
INT8U DPF_Red : 1; INT8U DPF_Red : 1;
INT8U ECO : 1; INT8U ECO : 1;
INT8U DriverLimited : 3; //驾驶性能限制
INT8U CanPowerOver : 1; INT8U CanPowerOver : 1;
INT8U Reserve1 : 3;
INT8U EngFailure4 : 1; //EPC1 INT8U EngFailure4 : 1; //EPC1
INT8U Hazard_Lights : 1; //危险灯 INT8U Hazard_Lights : 1; //危险灯
......
...@@ -24,18 +24,15 @@ void App_Paramer_Init(void) ...@@ -24,18 +24,15 @@ void App_Paramer_Init(void)
INT8U i; INT8U i;
//-- 主界面初始化 --// //-- 主界面初始化 --//
if((ConfigItem.GasConfig == 1) && if((ConfigItem.GasConfig == 1) && ((ConfigItem.AdblueConfig == 0) || (ConfigItem.AdblueConfig == 1)))
((ConfigItem.AdblueConfig == 2) || (ConfigItem.AdblueConfig == 3)))
{ {
g_Style = 1;//气压 + adblue g_Style = 1;//气压 + adblue
} }
else if((ConfigItem.GasConfig == 0) && else if((ConfigItem.GasConfig == 0) &&((ConfigItem.AdblueConfig == 0) || (ConfigItem.AdblueConfig == 1)))
((ConfigItem.AdblueConfig == 2) || (ConfigItem.AdblueConfig == 3)))
{ {
g_Style = 2;//adblue g_Style = 2;//adblue
} }
else if((ConfigItem.GasConfig == 1) && else if((ConfigItem.GasConfig == 1) && ((ConfigItem.AdblueConfig != 0 ) && (ConfigItem.AdblueConfig != 1)))
((ConfigItem.AdblueConfig == 0) || (ConfigItem.AdblueConfig == 1)))
{ {
g_Style = 3;//气压 g_Style = 3;//气压
} }
...@@ -357,7 +354,7 @@ void App_State_OFF(void) ...@@ -357,7 +354,7 @@ void App_State_OFF(void)
//-- Can Clear All --// //-- Can Clear All --//
g_CanSwith.CabLock = 0; g_CanSwith.CabLock = 0;
g_CanSwith.ParkLamp = 0;
g_CanSwith.VacuumCylinder = 0; g_CanSwith.VacuumCylinder = 0;
g_CanSwith.OilLamp = 0; g_CanSwith.OilLamp = 0;
g_CanSwith.ExhaustBrake = 0; g_CanSwith.ExhaustBrake = 0;
...@@ -387,7 +384,6 @@ void App_State_OFF(void) ...@@ -387,7 +384,6 @@ void App_State_OFF(void)
g_CanSwith.VDCLampStatus = 0; g_CanSwith.VDCLampStatus = 0;
g_CanSwith.WIF = 0; g_CanSwith.WIF = 0;
g_CanSwith.DriverWarn = 0; g_CanSwith.DriverWarn = 0;
g_CanSwith.DriverLimited = 0;
g_CanSwith.ParkErr = 0; g_CanSwith.ParkErr = 0;
g_CanSwith.AutoHoldAct = 0; g_CanSwith.AutoHoldAct = 0;
g_CanSwith.AutoHoldWork = 0; g_CanSwith.AutoHoldWork = 0;
......
...@@ -171,7 +171,7 @@ void Gui_Adblue_Disp_Manage(void) ...@@ -171,7 +171,7 @@ void Gui_Adblue_Disp_Manage(void)
if(g_sysFlag.Bits.AdbuleMeterInit == Disable) if(g_sysFlag.Bits.AdbuleMeterInit == Disable)
{ {
//超时维持 //超时维持
if(ConfigItem.AdblueConfig == 2) if(ConfigItem.AdblueConfig == 0) //13%
{ {
if(g_canClock.signal.Exist65110_00) if(g_canClock.signal.Exist65110_00)
{ {
...@@ -185,9 +185,9 @@ void Gui_Adblue_Disp_Manage(void) ...@@ -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 if(g_adblueMeter.CurPosition <= 43) // 2021-04-12 (10%)36改(12%)43
{ {
......
...@@ -110,14 +110,36 @@ void Gui_KL15LedDisplay(void) ...@@ -110,14 +110,36 @@ void Gui_KL15LedDisplay(void)
//--------5912驱动指示灯 //--------5912驱动指示灯
//BD8379_D0 2 驻车制动 //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 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 油水分离 //BD8379_D1 油含水 15 油水分离
if (Test_Hyq) if (Test_Hyq)
{ {
...@@ -181,6 +203,7 @@ void Gui_KL15LedDisplay(void) ...@@ -181,6 +203,7 @@ void Gui_KL15LedDisplay(void)
{ {
BD83790A &= ~BD8379_D7; //off BD83790A &= ~BD8379_D7; //off
} }
//BD8379_D8 6 ABS故障 //BD8379_D8 6 ABS故障
if (DIDFlag.Bits.DID1011Valid == Enable) if (DIDFlag.Bits.DID1011Valid == Enable)
{ {
...@@ -197,33 +220,17 @@ void Gui_KL15LedDisplay(void) ...@@ -197,33 +220,17 @@ void Gui_KL15LedDisplay(void)
{ {
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300)) 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 BD83790A |= BD8379_D8; //on
} }
} }
else else
{ {
if (ConfigItem.ABS_ESCConfig == 0) if ((ConfigItem.ABS_ESCConfig == 0) || (ConfigItem.ABS_ESCConfig == 1) || (ConfigItem.ABS_ESCConfig == 2))
{
//硬线(+..)
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)
{ {
//can //can
if (g_CanSwith.ABSLamp) if (g_CanSwith.ABSLamp == 1u)
{ {
BD83790A |= BD8379_D8; //on BD83790A |= BD8379_D8; //on
bDSTable[PicABS] |= DS0_MASK; bDSTable[PicABS] |= DS0_MASK;
...@@ -242,14 +249,42 @@ void Gui_KL15LedDisplay(void) ...@@ -242,14 +249,42 @@ void Gui_KL15LedDisplay(void)
} }
} }
} }
//BD8379_D9 制动器故障 4 制动气压不足/制动系统故障 //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 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 //BD8379_D10 预留3
if (Test_Hyq) if (Test_Hyq)
...@@ -271,14 +306,45 @@ void Gui_KL15LedDisplay(void) ...@@ -271,14 +306,45 @@ void Gui_KL15LedDisplay(void)
} }
//BD8379_D0 OBD 10 发动机排放故障 //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 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 燃油报警 //BD8379_D1 7 燃油报警
if (Test_Hyq) if (Test_Hyq)
{ {
...@@ -306,6 +372,7 @@ void Gui_KL15LedDisplay(void) ...@@ -306,6 +372,7 @@ void Gui_KL15LedDisplay(void)
{ {
BD83790B &= ~BD8379_D3; //off BD83790B &= ~BD8379_D3; //off
} }
//BD8379_D4 13 车厢举升报警 //BD8379_D4 13 车厢举升报警
if (Test_Hyq) if (Test_Hyq)
{ {
...@@ -315,6 +382,7 @@ void Gui_KL15LedDisplay(void) ...@@ -315,6 +382,7 @@ void Gui_KL15LedDisplay(void)
{ {
BD83790B &= ~BD8379_D4; //off BD83790B &= ~BD8379_D4; //off
} }
//BD8379_D5 22 DPF禁止再生 //BD8379_D5 22 DPF禁止再生
if (Test_Hyq) if (Test_Hyq)
{ {
...@@ -324,6 +392,7 @@ void Gui_KL15LedDisplay(void) ...@@ -324,6 +392,7 @@ void Gui_KL15LedDisplay(void)
{ {
BD83790B &= ~BD8379_D5; //off BD83790B &= ~BD8379_D5; //off
} }
//BD8379_D6 11 发动机故障 //BD8379_D6 11 发动机故障
if (Test_Hyq) if (Test_Hyq)
{ {
...@@ -333,6 +402,7 @@ void Gui_KL15LedDisplay(void) ...@@ -333,6 +402,7 @@ void Gui_KL15LedDisplay(void)
{ {
BD83790B &= ~BD8379_D6; //off BD83790B &= ~BD8379_D6; //off
} }
//BD8379_D7 机油报警 3 低油压报警 //BD8379_D7 机油报警 3 低油压报警
if (Test_Hyq) if (Test_Hyq)
{ {
...@@ -342,6 +412,7 @@ void Gui_KL15LedDisplay(void) ...@@ -342,6 +412,7 @@ void Gui_KL15LedDisplay(void)
{ {
BD83790B &= ~BD8379_D7; //off BD83790B &= ~BD8379_D7; //off
} }
//BD8379_D8 18 DPF再生(黄色) //BD8379_D8 18 DPF再生(黄色)
if (Test_Hyq) if (Test_Hyq)
{ {
...@@ -351,6 +422,7 @@ void Gui_KL15LedDisplay(void) ...@@ -351,6 +422,7 @@ void Gui_KL15LedDisplay(void)
{ {
BD83790B &= ~BD8379_D8; //off BD83790B &= ~BD8379_D8; //off
} }
//BD8379_D9 21 DPF再生(红色) //BD8379_D9 21 DPF再生(红色)
if (Test_Hyq) if (Test_Hyq)
{ {
...@@ -360,6 +432,7 @@ void Gui_KL15LedDisplay(void) ...@@ -360,6 +432,7 @@ void Gui_KL15LedDisplay(void)
{ {
BD83790B &= ~BD8379_D9; //off BD83790B &= ~BD8379_D9; //off
} }
//BD8379_D10 12 制动蹄片磨损报警 //BD8379_D10 12 制动蹄片磨损报警
if (Test_Hyq) if (Test_Hyq)
{ {
...@@ -369,15 +442,8 @@ void Gui_KL15LedDisplay(void) ...@@ -369,15 +442,8 @@ void Gui_KL15LedDisplay(void)
{ {
BD83790B &= ~BD8379_D10; //off BD83790B &= ~BD8379_D10; //off
} }
//BD8379_D11 门开 门开在30电上 //BD8379_D11 门开 门开在30电上
if (Test_Hyq)
{
BD83790B |= BD8379_D11; //on
}
else
{
BD83790B &= ~BD8379_D11; //off
}
} }
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* Function Name : Gui_KL30LedDisplay * Function Name : Gui_KL30LedDisplay
...@@ -560,9 +626,9 @@ void Gui_KL30LedDisplay(void) ...@@ -560,9 +626,9 @@ void Gui_KL30LedDisplay(void)
} }
//16 门开-LED //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 BD83790B |= BD8379_D11; //on
} }
...@@ -572,14 +638,78 @@ void Gui_KL30LedDisplay(void) ...@@ -572,14 +638,78 @@ void Gui_KL30LedDisplay(void)
} }
} }
else 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) if (g_LED.pDoorOpenTime >= T_0_3s)
{ {
BD83790B |= BD8379_D11; //on g_CanSwith.DrDoorStae = 1;
g_CanSwith.PssDoorStae = 1;
} }
else 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