Commit 80ab578f authored by hu's avatar hu

增加指示灯逻辑

parent b1ebd45e
This diff is collapsed.
This diff is collapsed.
...@@ -52,13 +52,12 @@ void App_Paramer_Init(void) ...@@ -52,13 +52,12 @@ void App_Paramer_Init(void)
//Enable_signal(g_canClock.signal.ExistF004); //Enable_signal(g_canClock.signal.ExistF004);
// g_canClock.IDF004Cn = 200; //10ms // g_canClock.IDF004Cn = 200; //10ms
// g_canClock.IDFE56Cn = 200; //10ms // g_canClock.IDFE56Cn = 200; //10ms
g_Init.InitLedCheckTime = 0; g_Init.InitLedCheckTime = 0;
g_Init.InitLedCheckOBDTime = 0; g_Init.InitLedCheckOBDTime = 0;
g_canMsgFE56.ProceF == EMPTY; g_canMsgFE56.ProceF == EMPTY;
if(G_Button.MainMenu != 4) if (G_Button.MainMenu != 4)
{ {
G_Button.MainMenu = 1; G_Button.MainMenu = 1;
...@@ -79,16 +78,11 @@ void App_Paramer_Init(void) ...@@ -79,16 +78,11 @@ void App_Paramer_Init(void)
Disable_signal(g_sysFlag.Bits.FuelMeterInit); Disable_signal(g_sysFlag.Bits.FuelMeterInit);
Disable_signal(g_sysFlag.Bits.AdjEnable); Disable_signal(g_sysFlag.Bits.AdjEnable);
Disable_signal(g_sysFlag.Bits.PowerLvi); Disable_signal(g_sysFlag.Bits.PowerLvi);
if(!g_sysFlag.Bits.WakeUpState) if (!g_sysFlag.Bits.WakeUpState)
{ {
Enable_signal(g_sysFlag.Bits.CanWakeUp); Enable_signal(g_sysFlag.Bits.CanWakeUp);
} }
//motor //motor
g_vehMeter.Dir = keep_local; g_vehMeter.Dir = keep_local;
g_vehMeter.DestPosition = null; g_vehMeter.DestPosition = null;
...@@ -167,7 +161,7 @@ void App_Paramer_Init(void) ...@@ -167,7 +161,7 @@ void App_Paramer_Init(void)
Api_SetBaseTimer(T_100ms, (_Clock *)&g_Clock); Api_SetBaseTimer(T_100ms, (_Clock *)&g_Clock);
Gui_Offset_Init(); Gui_Offset_Init();
bDSTable[ID_FUELLOW] &= (~(DS0_MASK | DS1_MASK)); //clear DS0 & DS1 bDSTable[ID_FUELLOW] &= (~(DS0_MASK | DS1_MASK)); //clear DS0 & DS1
bDSTable[ID_ADBLUE ] &= (~(DS0_MASK | DS1_MASK)); //clear DS0 & DS1 bDSTable[ID_ADBLUE] &= (~(DS0_MASK | DS1_MASK)); //clear DS0 & DS1
////////////////////glz--20170107 ////////////////////glz--20170107
CanMinuteTime = 0; CanMinuteTime = 0;
bCurMenuIDX = 0; bCurMenuIDX = 0;
...@@ -185,7 +179,6 @@ void App_Paramer_Init(void) ...@@ -185,7 +179,6 @@ void App_Paramer_Init(void)
--------------------------------------------------------------------------*/ --------------------------------------------------------------------------*/
void App_State_OFF(void) void App_State_OFF(void)
{ {
} }
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* Function Name : App_StarUpInfo * Function Name : App_StarUpInfo
...@@ -215,31 +208,19 @@ void App_StarUpInfo(void) ...@@ -215,31 +208,19 @@ void App_StarUpInfo(void)
Disable_signal(g_gas1Meter.MakeZero); Disable_signal(g_gas1Meter.MakeZero);
Disable_signal(g_gas2Meter.MakeZero); Disable_signal(g_gas2Meter.MakeZero);
g_OverSpeed = 120; g_OverSpeed = 120;
g_fuelMeter.OldPosition = null; g_fuelMeter.OldPosition = null;
Gui_MenuInit(); Gui_MenuInit();
Gui_Offset_Init(); Gui_Offset_Init();
g_runStep = SYS_INIT_TASK; g_runStep = SYS_INIT_TASK;
pABSout = LEDOFF; pABSout = LEDOFF;
pOilout = LEDOFF; pOilout = LEDOFF;
pFuelOut = LEDOFF; pFuelOut = LEDOFF;
pTempOut = LEDOFF; pTempOut = LEDOFF;
} }
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
...@@ -253,20 +234,19 @@ void App_StarUpInfo(void) ...@@ -253,20 +234,19 @@ void App_StarUpInfo(void)
void App_Load_Data(void) void App_Load_Data(void)
{ {
bsp_IIC_ReadPage(0xa2, EE_REVREDLED_ADDR, (INT8U *)&Rev_RedLight, 8);
bsp_IIC_ReadPage(0xa2, EE_REVREDLED_ADDR, (INT8U *) &Rev_RedLight, 8); g_chksun = Api_CreateCRCCheckSum((INT8U *)&Rev_RedLight, 6);
g_chksun = Api_CreateCRCCheckSum((INT8U *) &Rev_RedLight, 6); if ((Rev_RedLight.bCheckFlag != 0x55) || (g_chksun != Rev_RedLight.bCheckSun))
if((Rev_RedLight.bCheckFlag != 0x55) || (g_chksun != Rev_RedLight.bCheckSun))
{ {
Rev_RedLight.RevRedLight = 3200; Rev_RedLight.RevRedLight = 3200;
Rev_RedLight.bSetAdblue = 0; Rev_RedLight.bSetAdblue = 0;
Rev_RedLight.bSetCheck = 0; Rev_RedLight.bSetCheck = 0;
} }
///
bsp_IIC_ReadPage(0xa2, EE_RADIO_ADDR, (INT8U *) &Radio, 10); //
g_chksun = Api_CreateCRCCheckSum((INT8U *) &Radio, 8); bsp_IIC_ReadPage(0xa2, EE_RADIO_ADDR, (INT8U *)&Radio, 10);
if((Radio.bCheckFlag != 0x55) || (g_chksun != Radio.bCheckSun)) g_chksun = Api_CreateCRCCheckSum((INT8U *)&Radio, 8);
if ((Radio.bCheckFlag != 0x55) || (g_chksun != Radio.bCheckSun))
{ {
Radio.RevRadio = 2; Radio.RevRadio = 2;
Radio.VehRadio = 520; Radio.VehRadio = 520;
...@@ -277,7 +257,7 @@ void App_Load_Data(void) ...@@ -277,7 +257,7 @@ void App_Load_Data(void)
Api_ReadMeterInfo(0xa0, EE_VEH_ADDR, (INT8U *)&g_vehMeterInfo); Api_ReadMeterInfo(0xa0, EE_VEH_ADDR, (INT8U *)&g_vehMeterInfo);
g_chksun = Api_CreateCheckSun((INT8U *)&g_vehMeterInfo.Resistor[0], g_vehMeterInfo.bFlag, 33); g_chksun = Api_CreateCheckSun((INT8U *)&g_vehMeterInfo.Resistor[0], g_vehMeterInfo.bFlag, 33);
if((g_vehMeterInfo.bFlag != 0x55) || (g_vehMeterInfo.bCheckSun != g_chksun)) if ((g_vehMeterInfo.bFlag != 0x55) || (g_vehMeterInfo.bCheckSun != g_chksun))
{ {
g_vehMeterInfo.bVirtualVal = 8; g_vehMeterInfo.bVirtualVal = 8;
g_vehMeterInfo.Resistor[0] = 0; g_vehMeterInfo.Resistor[0] = 0;
...@@ -319,10 +299,10 @@ void App_Load_Data(void) ...@@ -319,10 +299,10 @@ void App_Load_Data(void)
g_vehLcdInfo.DashStep[7] = g_vehMeterInfo.DashStep[7]; g_vehLcdInfo.DashStep[7] = g_vehMeterInfo.DashStep[7];
// //
Api_ReadMeterInfo(0xa0, EE_REV_ADDR, (INT8U *) &g_revMeterInfo); Api_ReadMeterInfo(0xa0, EE_REV_ADDR, (INT8U *)&g_revMeterInfo);
g_chksun = Api_CreateCheckSun((INT8U *) &g_revMeterInfo.Resistor[0], g_revMeterInfo.bFlag, 33); g_chksun = Api_CreateCheckSun((INT8U *)&g_revMeterInfo.Resistor[0], g_revMeterInfo.bFlag, 33);
if((g_revMeterInfo.bFlag != 0x55) || (g_revMeterInfo.bCheckSun != g_chksun)) if ((g_revMeterInfo.bFlag != 0x55) || (g_revMeterInfo.bCheckSun != g_chksun))
{ {
g_revMeterInfo.bVirtualVal = 5; g_revMeterInfo.bVirtualVal = 5;
g_revMeterInfo.Resistor[0] = 0; g_revMeterInfo.Resistor[0] = 0;
...@@ -343,7 +323,8 @@ void App_Load_Data(void) ...@@ -343,7 +323,8 @@ void App_Load_Data(void)
g_revMeterInfo.DashStep[6] = 0; // g_revMeterInfo.DashStep[6] = 0; //
g_revMeterInfo.DashStep[7] = 0; // g_revMeterInfo.DashStep[7] = 0; //
} }
//////
//
g_gas1MeterInfo.bVirtualVal = 7; g_gas1MeterInfo.bVirtualVal = 7;
g_gas1MeterInfo.Resistor[0] = 102; //0 g_gas1MeterInfo.Resistor[0] = 102; //0
...@@ -445,7 +426,6 @@ void App_Load_Data(void) ...@@ -445,7 +426,6 @@ void App_Load_Data(void)
g_fuelMeterInfo.DashStep[6] = 0; g_fuelMeterInfo.DashStep[6] = 0;
g_fuelMeterInfo.DashStep[7] = 0; g_fuelMeterInfo.DashStep[7] = 0;
g_fuelEcoParamer.bVirtualVal = 4; g_fuelEcoParamer.bVirtualVal = 4;
g_fuelEcoParamer.Resistor[0] = 0; g_fuelEcoParamer.Resistor[0] = 0;
...@@ -462,8 +442,7 @@ void App_Load_Data(void) ...@@ -462,8 +442,7 @@ void App_Load_Data(void)
w1 = g_vehMeterInfo.Resistor[g_vehMeterInfo.bVirtualVal - 1]; w1 = g_vehMeterInfo.Resistor[g_vehMeterInfo.bVirtualVal - 1];
VehFreLimit = w / (w1 * Radio.VehRadio * Radio.VehNum / 3600) / 4; VehFreLimit = w / (w1 * Radio.VehRadio * Radio.VehNum / 3600) / 4;
w = TPM1Clock; w = TPM1Clock;
w1 = g_revMeterInfo.Resistor[ g_revMeterInfo.bVirtualVal - 1]; w1 = g_revMeterInfo.Resistor[g_revMeterInfo.bVirtualVal - 1];
RevFreLimit = w / (w1 * Radio.RevRadio / 60) / 4; RevFreLimit = w / (w1 * Radio.RevRadio / 60) / 4;
Rev_Limit = App_CalMicroStep((INT32U)Rev_RedLight.RevRedLight, (_EE_MeterInfo *)&g_revMeterInfo); Rev_Limit = App_CalMicroStep((INT32U)Rev_RedLight.RevRedLight, (_EE_MeterInfo *)&g_revMeterInfo);
} }
...@@ -240,6 +240,7 @@ void App_CheckCanDrop(void) ...@@ -240,6 +240,7 @@ void App_CheckCanDrop(void)
} }
if (g_canClock.ID64775_00Cn == null) if (g_canClock.ID64775_00Cn == null)
{ {
g_CanSwith.OilLamp1 = 0;
g_CanSwith.EngMIL1 = 0; g_CanSwith.EngMIL1 = 0;
g_CanSwith.EngFailure1 = 0; g_CanSwith.EngFailure1 = 0;
g_CanSwith.EngFailure4 = 0; g_CanSwith.EngFailure4 = 0;
...@@ -321,8 +322,6 @@ void App_CheckCanDrop(void) ...@@ -321,8 +322,6 @@ void App_CheckCanDrop(void)
} }
if (g_canClock.ID61440_00Cn == null) if (g_canClock.ID61440_00Cn == null)
{ {
g_CanSwith.OilLamp = 0;
Disable_signal(g_canClock.signal.Exist61440_00); Disable_signal(g_canClock.signal.Exist61440_00);
} }
} }
...@@ -340,7 +339,7 @@ void App_CheckCanDrop(void) ...@@ -340,7 +339,7 @@ void App_CheckCanDrop(void)
} }
if (g_canClock.ID61440_29Cn == null) if (g_canClock.ID61440_29Cn == null)
{ {
g_CanSwith.OilLamp = 0;
Disable_signal(g_canClock.signal.Exist61440_29); Disable_signal(g_canClock.signal.Exist61440_29);
} }
...@@ -359,7 +358,7 @@ void App_CheckCanDrop(void) ...@@ -359,7 +358,7 @@ void App_CheckCanDrop(void)
} }
if (g_canClock.ID61440_0FCn == null) if (g_canClock.ID61440_0FCn == null)
{ {
g_CanSwith.OilLamp = 0;
Disable_signal(g_canClock.signal.Exist61440_0F); Disable_signal(g_canClock.signal.Exist61440_0F);
} }
...@@ -378,7 +377,7 @@ void App_CheckCanDrop(void) ...@@ -378,7 +377,7 @@ void App_CheckCanDrop(void)
} }
if (g_canClock.ID61440_10Cn == null) if (g_canClock.ID61440_10Cn == null)
{ {
g_CanSwith.OilLamp = 0;
Disable_signal(g_canClock.signal.Exist61440_10); Disable_signal(g_canClock.signal.Exist61440_10);
} }
...@@ -444,7 +443,7 @@ void App_CheckCanDrop(void) ...@@ -444,7 +443,7 @@ void App_CheckCanDrop(void)
} }
if (g_canClock.ID65248Cn == null) if (g_canClock.ID65248Cn == null)
{ {
g_CanSwith.OilLamp = 0;
Disable_signal(g_canClock.signal.Exist65248); Disable_signal(g_canClock.signal.Exist65248);
} }
...@@ -641,6 +640,7 @@ void App_CheckCanDrop(void) ...@@ -641,6 +640,7 @@ void App_CheckCanDrop(void)
if (g_canClock.ID61441Cn == null) if (g_canClock.ID61441Cn == null)
{ {
g_CanSwith.ABSLamp = 0; g_CanSwith.ABSLamp = 0;
g_CanSwith.ABSLamp1 = 0;
g_CanSwith.ASR = 0; g_CanSwith.ASR = 0;
g_CanSwith.ESPoff = 0; g_CanSwith.ESPoff = 0;
......
...@@ -163,6 +163,7 @@ ...@@ -163,6 +163,7 @@
#define wdt_reset() __RESET_WATCHDOG() #define wdt_reset() __RESET_WATCHDOG()
//-- 机油压力 --// //-- 机油压力 --//
#define P_55kpa 14
#define P_60kpa 15 #define P_60kpa 15
#define P_68kpa 17 #define P_68kpa 17
#define P_80kpa 20 #define P_80kpa 20
......
...@@ -11,7 +11,7 @@ Layout=C_layout.hwl ...@@ -11,7 +11,7 @@ Layout=C_layout.hwl
LoadDialogOptions=AUTOERASEANDFLASH RUNANDSTOPAFTERLOAD="main" LoadDialogOptions=AUTOERASEANDFLASH RUNANDSTOPAFTERLOAD="main"
CPU=HC12 CPU=HC12
AEFWarningDialog=FALSE AEFWarningDialog=FALSE
MainFrame=2,3,-1,-1,-1,-1,248,32,1208,692 MainFrame=2,3,-32000,-32000,-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 TOOLBAR=57600 57601 32795 0 57635 57634 57637 0 57671 57669 0 32777 32776 32782 32780 32781 32778 0 32806
Configuration=TBDML.hwc Configuration=TBDML.hwc
Statusbar=1 Statusbar=1
......
...@@ -120,7 +120,7 @@ void App_ReceiveCanMsg(void) ...@@ -120,7 +120,7 @@ void App_ReceiveCanMsg(void)
} }
//驾驶员警告(黄) //驾驶员警告(黄)
if ((g_canMsg65279.Data[1] & 0x07) == 0x01) //2020-10-08(改功能) if ((g_canMsg65279.Data[1] & 0x07) == 0x01)
{ {
g_CanSwith.DriverWarn = S_on; g_CanSwith.DriverWarn = S_on;
} }
...@@ -166,11 +166,29 @@ void App_ReceiveCanMsg(void) ...@@ -166,11 +166,29 @@ void App_ReceiveCanMsg(void)
if (g_canMsg64892.ProceF == MSG_FULL) if (g_canMsg64892.ProceF == MSG_FULL)
{ {
//DPF指示灯 //DPF指示灯
if ((g_canMsg64892.Data[0] & 0x07) == 0x01) if ((g_canMsg64892.Data[0] & 0x07) == 1)
{ {
g_CanSwith.DPF = 1;
g_CanSwith.DPFf = 0;
g_CanSwith.DPF_Red = 0;
}
else if ((g_canMsg64892.Data[0] & 0x07) == 4)
{
g_CanSwith.DPFf = 1;
g_CanSwith.DPF = 0;
g_CanSwith.DPF_Red = 0;
}
else if ((g_canMsg64892.Data[0] & 0x07) == 2)
{
g_CanSwith.DPF_Red = 1;
g_CanSwith.DPF = 0;
g_CanSwith.DPFf = 0;
} }
else else
{ {
g_CanSwith.DPF = 0;
g_CanSwith.DPFf = 0;
g_CanSwith.DPF_Red = 0;
} }
//新加禁止DPF指示 //新加禁止DPF指示
...@@ -194,7 +212,7 @@ void App_ReceiveCanMsg(void) ...@@ -194,7 +212,7 @@ void App_ReceiveCanMsg(void)
//} //}
//发动机排气温度高指示灯 //发动机排气温度高指示灯
if ((g_canMsg64892.Data[6] & 0x1c) == 0x01) if ((g_canMsg64892.Data[6] & 0x1c) == 0x04)
{ {
g_CanSwith.DpfHiTemp = 1; g_CanSwith.DpfHiTemp = 1;
} }
...@@ -209,8 +227,18 @@ void App_ReceiveCanMsg(void) ...@@ -209,8 +227,18 @@ void App_ReceiveCanMsg(void)
//64775 0x18FD0700 //64775 0x18FD0700
if (g_canMsg64775_00.ProceF == MSG_FULL) if (g_canMsg64775_00.ProceF == MSG_FULL)
{ {
//发动机排放故障OBD1 //发动机故障EPC1 Engine Red Stop Lamp Command Engine Red Stop Lamp Command Intel 0 4 2 Unsigned
if ((g_canMsg64775_00.Data[0] & 0x30) == 0x10) if ((g_canMsg64775_00.Data[0] & 0x30) == 0x10)
{
g_CanSwith.EngFailure1 = 1;
}
else
{
g_CanSwith.EngFailure1 = 0;
}
//发动机排放故障OBD1 MIL OBD Malfunction Indicator Lamp Command Intel 0 6 2
if ((g_canMsg64775_00.Data[0] & 0xC0) == 0x40)
{ {
g_CanSwith.EngMIL1 = 1; g_CanSwith.EngMIL1 = 1;
} }
...@@ -219,6 +247,16 @@ void App_ReceiveCanMsg(void) ...@@ -219,6 +247,16 @@ void App_ReceiveCanMsg(void)
g_CanSwith.EngMIL1 = 0; g_CanSwith.EngMIL1 = 0;
} }
//Engine Oil Pressure Low Lamp "Engine Oil Pressure Low Lamp Command 机油压力低灯" Intel 1 12 2
if ((g_canMsg64775_00.Data[1] & 0x30) == 0x10)
{
g_CanSwith.OilLamp1 = 1;
}
else
{
g_CanSwith.OilLamp1 = 0;
}
g_canMsg64775_00.ProceF = EMPOTY; g_canMsg64775_00.ProceF = EMPOTY;
} }
...@@ -275,9 +313,9 @@ void App_ReceiveCanMsg(void) ...@@ -275,9 +313,9 @@ void App_ReceiveCanMsg(void)
//ECM_EFL/P1 0x18FEEF00 65263 500 8 //ECM_EFL/P1 0x18FEEF00 65263 500 8
if (g_canMsg65263.ProceF == MSG_FULL) if (g_canMsg65263.ProceF == MSG_FULL)
{ {
if ((ConfigItem.EngConfig == 2) || (ConfigItem.EngConfig == 3)) if (ConfigItem.EngConfig == 0x00)
{ {
if (g_canMsg65263.Data[3] < P_60kpa) if (g_canMsg65263.Data[3] < P_55kpa)
{ {
g_CanSwith.OilLamp = 1; g_CanSwith.OilLamp = 1;
} }
...@@ -286,29 +324,7 @@ void App_ReceiveCanMsg(void) ...@@ -286,29 +324,7 @@ void App_ReceiveCanMsg(void)
g_CanSwith.OilLamp = 0; g_CanSwith.OilLamp = 0;
} }
} }
else if (ConfigItem.EngConfig == 4) else if (ConfigItem.EngConfig == 0x01)
{
if (g_canMsg65263.Data[3] < P_68kpa)
{
g_CanSwith.OilLamp = 1;
}
else if (g_canMsg65263.Data[3] > P_88kpa)
{
g_CanSwith.OilLamp = 0;
}
}
else if (ConfigItem.EngConfig == 5)
{
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
{ {
if (g_canMsg65263.Data[3] < P_60kpa) if (g_canMsg65263.Data[3] < P_60kpa)
{ {
...@@ -476,7 +492,16 @@ void App_ReceiveCanMsg(void) ...@@ -476,7 +492,16 @@ void App_ReceiveCanMsg(void)
//ABS_EBC1 0x18F0010B 61441 100 8 //ABS_EBC1 0x18F0010B 61441 100 8
if (g_canMsg61441.ProceF == MSG_FULL) if (g_canMsg61441.ProceF == MSG_FULL)
{ {
//ABS //ABS 1
if ((g_canMsg61441.Data[0] & 0x30) == 0x10)
{
g_CanSwith.ABSLamp1 = 1;
}
else
{
g_CanSwith.ABSLamp1 = 0;
}
//ABS 0
if ((g_canMsg61441.Data[5] & 0x30) == 0x10) if ((g_canMsg61441.Data[5] & 0x30) == 0x10)
{ {
g_CanSwith.ABSLamp = 1; g_CanSwith.ABSLamp = 1;
...@@ -485,6 +510,7 @@ void App_ReceiveCanMsg(void) ...@@ -485,6 +510,7 @@ void App_ReceiveCanMsg(void)
{ {
g_CanSwith.ABSLamp = 0; g_CanSwith.ABSLamp = 0;
} }
/*
//ASR //ASR
if ((g_canMsg61441.Data[5] & 0xC0) == 0x40) if ((g_canMsg61441.Data[5] & 0xC0) == 0x40)
{ {
...@@ -494,7 +520,7 @@ void App_ReceiveCanMsg(void) ...@@ -494,7 +520,7 @@ void App_ReceiveCanMsg(void)
{ {
g_CanSwith.ASR = 0; g_CanSwith.ASR = 0;
} }
*/
g_canMsg61441.ProceF = EMPOTY; g_canMsg61441.ProceF = EMPOTY;
} }
...@@ -735,5 +761,4 @@ void App_K30ReceiveCanMsg(void) ...@@ -735,5 +761,4 @@ void App_K30ReceiveCanMsg(void)
g_canMsg60439.ProceF = EMPOTY; g_canMsg60439.ProceF = EMPOTY;
} }
} }
...@@ -482,113 +482,117 @@ void Api_ClockGenerate(void) ...@@ -482,113 +482,117 @@ void Api_ClockGenerate(void)
g_LED.pParkTime = null; g_LED.pParkTime = null;
} }
/* //机油压力-
//EBD-pin5 if (LINE_IN_OILn == LOW)
if(pBrakeIn == LOW)
{ {
if(g_LED.pBrakeTime < T_0_5s) if (g_LED.pOilTime < T_0_5s)
{ {
g_LED.pBrakeTime ++; g_LED.pOilTime++;
} }
} }
else else
{ {
g_LED.pBrakeTime = null; g_LED.pOilTime = null;
} }
//机油压力-TFT
//ABS if (((LINE_IN_OILn == LOW) && (ConfigItem.EngConfig == 3)) ||
if(pABSIn == LOW) ((g_CanSwith.OilLamp) && ((ConfigItem.EngConfig == 0) || (ConfigItem.EngConfig == 1))) ||
((g_CanSwith.OilLamp1) && (ConfigItem.EngConfig == 2)))
{ {
if(g_LED.ABSFaultTimes < T_0_5s) if (g_revMeter.CurBoardVal > 300)
{ {
g_LED.ABSFaultTimes ++; if (g_LED.pTFTOilTime < T_15_0s)
{
g_LED.pTFTOilTime++;
} }
} }
else else
{ {
g_LED.ABSFaultTimes = null; g_LED.pTFTOilTime = 0;
}
//安全带
if(pSafeBelt1In == LOW)
{
if(g_LED.pSafeBelt1Time < T_0_5s)
{
g_LED.pSafeBelt1Time ++;
} }
} }
else else
{ {
g_LED.pSafeBelt1Time = null; g_LED.pTFTOilTime = null;
} }
//机油压力- //制动蹄片磨损+
if(pOilIn == LOW) if (LINE_IN_HOOVES == HIGH)
{ {
if(g_LED.pOilTime < T_0_5s) if (g_LED.pBrakeShoeTime < T_0_5s)
{ {
g_LED.pOilTime ++; g_LED.pBrakeShoeTime++;
} }
} }
else else
{ {
g_LED.pOilTime = null; g_LED.pBrakeShoeTime = null;
} }
//机油压力-TFT
if(((pOilIn == LOW) && ((ConfigItem.EngConfig == 1)||(ConfigItem.EngConfig == 11)||(ConfigItem.EngConfig == 12)))|| //取力器-
((g_CanSwith.OilLamp) && (((ConfigItem.EngConfig >= 2) && (ConfigItem.EngConfig <= 5))||(ConfigItem.EngConfig == 9)||(ConfigItem.EngConfig == 10)))) if (LINE_IN_Power_takeoff == HIGH)
{
if(g_revMeter.CurBoardVal > 300)
{ {
if(g_LED.pTFTOilTime < T_15_0s) if (g_LED.pPowerTakeoffTime < T_0_5s)
{ {
g_LED.pTFTOilTime ++; g_LED.pPowerTakeoffTime++;
} }
} }
else else
{ {
g_LED.pTFTOilTime = 0; g_LED.pPowerTakeoffTime = null;
}
/*
//EBD-pin5
if(pBrakeIn == LOW)
{
if(g_LED.pBrakeTime < T_0_5s)
{
g_LED.pBrakeTime ++;
} }
} }
else else
{ {
g_LED.pTFTOilTime = null; g_LED.pBrakeTime = null;
} }
//排气制动+
if(pExhaustBrakIn == HIGH) //ABS
if(pABSIn == LOW)
{ {
if(g_LED.pExhaustBrakTime < T_0_5s) if(g_LED.ABSFaultTimes < T_0_5s)
{ {
g_LED.pExhaustBrakTime ++; g_LED.ABSFaultTimes ++;
} }
} }
else else
{ {
g_LED.pExhaustBrakTime = null; g_LED.ABSFaultTimes = null;
} }
//制动蹄片磨损+ //安全带
if(pBrakeShoeIn == HIGH) if(pSafeBelt1In == LOW)
{ {
if(g_LED.pBrakeShoeTime < T_0_5s) if(g_LED.pSafeBelt1Time < T_0_5s)
{ {
g_LED.pBrakeShoeTime ++; g_LED.pSafeBelt1Time ++;
} }
} }
else else
{ {
g_LED.pBrakeShoeTime = null; g_LED.pSafeBelt1Time = null;
} }
//取力器-
if(pPTOIn == HIGH) //排气制动+
if(pExhaustBrakIn == HIGH)
{ {
if(g_LED.pPowerTakeoffTime < T_0_5s) if(g_LED.pExhaustBrakTime < T_0_5s)
{ {
g_LED.pPowerTakeoffTime ++; g_LED.pExhaustBrakTime ++;
} }
} }
else else
{ {
g_LED.pPowerTakeoffTime = null; g_LED.pExhaustBrakTime = null;
} }
//驾驶室锁止- //驾驶室锁止-
......
...@@ -157,7 +157,9 @@ typedef struct ...@@ -157,7 +157,9 @@ typedef struct
INT8U DPF_Red : 1; INT8U DPF_Red : 1;
INT8U ECO : 1; INT8U ECO : 1;
INT8U CanPowerOver : 1; INT8U CanPowerOver : 1;
INT8U Reserve1 : 3; INT8U ABSLamp1 : 1;
INT8U OilLamp1 : 1;
INT8U Reserve1 : 1;
INT8U EngFailure4 : 1; //EPC1 INT8U EngFailure4 : 1; //EPC1
INT8U Hazard_Lights : 1; //危险灯 INT8U Hazard_Lights : 1; //危险灯
...@@ -853,6 +855,7 @@ typedef struct ...@@ -853,6 +855,7 @@ typedef struct
INT8U OverSpdConfig; INT8U OverSpdConfig;
INT8U LDWSConfig; INT8U LDWSConfig;
INT8U EngConfig; INT8U EngConfig;
INT8U BrakeShoeConfig;
} _Config; } _Config;
typedef struct typedef struct
......
This diff is collapsed.
...@@ -49,13 +49,20 @@ void Gui_KL15LedDisplay(void) ...@@ -49,13 +49,20 @@ void Gui_KL15LedDisplay(void)
{ {
//---------直驱指示灯------ //---------直驱指示灯------
//01 取力器工作 //01 取力器工作
if (1) if (g_LED.pPowerTakeoffTime >= T_0_3s)
{ {
LED_Power_TakeOFF_Out = LEDON; //on LED_Power_TakeOFF_Out = LEDON; //on
if (bCurMenuIDX != _MN_SHOW_ERRINFO)
bDSTable[PicPowerTakeoff] |= DS0_MASK;
if ((bDSTableShowTime[PicPowerTakeoff] == T1_5s) && ((bDSTable[PicPowerTakeoff] & DS0_MASK) == DS0_MASK))
bDSTable[PicPowerTakeoff] = 0;
} }
else else
{ {
LED_Power_TakeOFF_Out = LEDOFF; //off LED_Power_TakeOFF_Out = LEDOFF; //off
bDSTable[PicPowerTakeoff] = 0;
bDSTableShowTime[PicPowerTakeoff] = 0;
} }
//08 安全带 //08 安全带
...@@ -69,7 +76,7 @@ void Gui_KL15LedDisplay(void) ...@@ -69,7 +76,7 @@ void Gui_KL15LedDisplay(void)
} }
//09 充电状态——指示灯 不受软件控制 //09 充电状态——指示灯 不受软件控制
//19 发动机排气系统温度高——指示灯 //19 发动机排气系统温度高——指示灯
if (1) if (g_CanSwith.DpfHiTemp == 0x01u)
{ {
LED_EXCSysHighTemp_OUT = LEDON; //on LED_EXCSysHighTemp_OUT = LEDON; //on
} }
...@@ -141,14 +148,24 @@ void Gui_KL15LedDisplay(void) ...@@ -141,14 +148,24 @@ void Gui_KL15LedDisplay(void)
} }
//BD8379_D1 油含水 15 油水分离 //BD8379_D1 油含水 15 油水分离
if (Test_Hyq) if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{ {
BD83790A |= BD8379_D1; //on BD83790A |= BD8379_D1; //on
} }
else else
{
if (g_CanSwith.WIF)
{
BD83790A |= BD8379_D1; //on
bDSTable[PicWIF] |= DS0_MASK;
}
else
{ {
BD83790A &= ~BD8379_D1; //off BD83790A &= ~BD8379_D1; //off
bDSTable[PicWIF] = 0;
} }
}
//BD8379_D2 Svs灯 25 发动机保护灯 //BD8379_D2 Svs灯 25 发动机保护灯
if (Test_Hyq) if (Test_Hyq)
{ {
...@@ -158,8 +175,22 @@ void Gui_KL15LedDisplay(void) ...@@ -158,8 +175,22 @@ void Gui_KL15LedDisplay(void)
{ {
BD83790A &= ~BD8379_D2; //off BD83790A &= ~BD8379_D2; //off
} }
//BD8379_D3 20 驾驶员警告 //BD8379_D3 20 驾驶员警告
if (Test_Hyq) if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
BD83790A |= BD8379_D3; //on
}
else
{
if (g_CanSwith.DriverWarn == S_on)
{
BD83790A |= BD8379_D3; //on
}
else if (g_CanSwith.DriverWarn == S_Flash)
{
//Flash
if (g_CanSwith.OutFlashFlag)
{ {
BD83790A |= BD8379_D3; //on BD83790A |= BD8379_D3; //on
} }
...@@ -167,6 +198,13 @@ void Gui_KL15LedDisplay(void) ...@@ -167,6 +198,13 @@ void Gui_KL15LedDisplay(void)
{ {
BD83790A &= ~BD8379_D3; //off BD83790A &= ~BD8379_D3; //off
} }
}
else
{
BD83790A &= ~BD8379_D3; //off
}
}
//BD8379_D4 预留 //BD8379_D4 预留
if (Test_Hyq) if (Test_Hyq)
{ {
...@@ -176,8 +214,11 @@ void Gui_KL15LedDisplay(void) ...@@ -176,8 +214,11 @@ void Gui_KL15LedDisplay(void)
{ {
BD83790A &= ~BD8379_D4; //off BD83790A &= ~BD8379_D4; //off
} }
//BD8379_D5 水温报警灯 5 发动机水温高 //BD8379_D5 水温报警灯 5 发动机水温高
if (Test_Hyq) if (DIDFlag.Bits.DID102CValid == Enable)
{
if (IOCTL_DID102C.FF_Byte == 1)
{ {
BD83790A |= BD8379_D5; //on BD83790A |= BD8379_D5; //on
} }
...@@ -185,8 +226,81 @@ void Gui_KL15LedDisplay(void) ...@@ -185,8 +226,81 @@ void Gui_KL15LedDisplay(void)
{ {
BD83790A &= ~BD8379_D5; //off BD83790A &= ~BD8379_D5; //off
} }
//BD8379_D6 24 巡航指示灯 }
if (Test_Hyq) else
{
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
BD83790A |= BD8379_D5; //on
}
else
{
if ((g_canClock.signal.Exist65262) && (!g_sysFlag.Bits.TempMeterInit) && (CheckStep == 2))
{
if (g_tempMeter.CurPosition >= 160) //8格点亮
{
BD83790A |= BD8379_D5; //on
bDSTable[PicTempHigh] |= DS0_MASK;
}
else
{
if (ConfigItem.TempConfig == 0)
{
if (g_tempMeter.CurPosition <= 133) //解报98degC
{
BD83790A &= ~BD8379_D5; //off
bDSTable[PicTempHigh] = 0;
}
}
else if (ConfigItem.TempConfig == 1)
{
if (g_tempMeter.CurPosition <= 120) //解报102degC
{
BD83790A &= ~BD8379_D5; //off
bDSTable[PicTempHigh] = 0;
}
}
else if (ConfigItem.TempConfig == 2)
{
if (g_tempMeter.CurPosition <= 130) //解报103degC
{
BD83790A &= ~BD8379_D5; //off
bDSTable[PicTempHigh] = 0;
}
}
else if (ConfigItem.TempConfig == 3)
{
if (g_tempMeter.CurPosition <= 140) //解报108degC
{
BD83790A &= ~BD8379_D5; //off
bDSTable[PicTempHigh] = 0;
}
}
else if (ConfigItem.TempConfig == 4)
{
if (g_tempMeter.CurPosition <= 155) //解报118degC
{
BD83790A &= ~BD8379_D5; //off
bDSTable[PicTempHigh] = 0;
}
}
else
{
;
}
}
}
else
{
BD83790A &= ~BD8379_D5; //off
}
}
}
//BD8379_D6 24 巡航指示灯 定速巡航
if (DIDFlag.Bits.DID1018Valid == Enable)
{
if (IOCTL_DID1018.FF_Byte == 1)
{ {
BD83790A |= BD8379_D6; //on BD83790A |= BD8379_D6; //on
} }
...@@ -194,6 +308,44 @@ void Gui_KL15LedDisplay(void) ...@@ -194,6 +308,44 @@ void Gui_KL15LedDisplay(void)
{ {
BD83790A &= ~BD8379_D6; //off BD83790A &= ~BD8379_D6; //off
} }
}
else
{
if (g_CanSwith.CruSysAct)
{
BD83790A |= BD8379_D6; //on
}
else
{
BD83790A &= ~BD8379_D6; //off
}
//定速巡航-LCD
if ((g_CanSwith.CruSysAct) &&
(bCruiseSpeedCur >= 30) && (bCruiseSpeedCur <= 250))
{
if (bCruiseSpeedLast != bCruiseSpeedCur)
{
//非故障信息界面-插入显示
if (bCurMenuIDX != _MN_SHOW_ERRINFO)
bDSTable[PicCruise] |= DS0_MASK;
bDSTableShowTime[PicCruise] = 0;
bDSUpdateFlag = 1;
bCruiseSpeedLast = bCruiseSpeedCur;
}
//显示完删除队列-N
if ((bDSTableShowTime[PicCruise] == T1_5s) && ((bDSTable[PicCruise] & DS0_MASK) == DS0_MASK))
bDSTable[PicCruise] = 0;
}
else
{
bCruiseSpeedLast = 0xffff;
g_ClearCruise = 1;
bDSTable[PicCruise] = 0;
}
}
//BD8379_D7 17 EPS故障 //BD8379_D7 17 EPS故障
if (Test_Hyq) if (Test_Hyq)
{ {
...@@ -220,16 +372,16 @@ void Gui_KL15LedDisplay(void) ...@@ -220,16 +372,16 @@ 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) || (ConfigItem.ABS_ESCConfig == 2)) if ((ConfigItem.ABS_ESCConfig == 0) || (ConfigItem.ABS_ESCConfig == 1))
{ {
BD83790A |= BD8379_D8; //on BD83790A |= BD8379_D8; //on
} }
} }
else else
{ {
if ((ConfigItem.ABS_ESCConfig == 0) || (ConfigItem.ABS_ESCConfig == 1) || (ConfigItem.ABS_ESCConfig == 2)) if (ConfigItem.ABS_ESCConfig == 0)
{ {
//can //ABS_warn_lamp 0x18F0010B 5 46 2
if (g_CanSwith.ABSLamp == 1u) if (g_CanSwith.ABSLamp == 1u)
{ {
BD83790A |= BD8379_D8; //on BD83790A |= BD8379_D8; //on
...@@ -243,6 +395,22 @@ void Gui_KL15LedDisplay(void) ...@@ -243,6 +395,22 @@ void Gui_KL15LedDisplay(void)
DTC_ABSErrFlag = Disable; DTC_ABSErrFlag = Disable;
} }
} }
else if (ConfigItem.ABS_ESCConfig == 1)
{
//ABS_active 0x18F0010B 0 4 2
if (g_CanSwith.ABSLamp1 == 1u)
{
BD83790A |= BD8379_D8; //on
bDSTable[PicABS] |= DS0_MASK;
DTC_ABSErrFlag = Enable;
}
else
{
BD83790A &= ~BD8379_D8; //off
bDSTable[PicABS] = 0;
DTC_ABSErrFlag = Disable;
}
}
else else
{ {
; ;
...@@ -327,7 +495,7 @@ void Gui_KL15LedDisplay(void) ...@@ -327,7 +495,7 @@ void Gui_KL15LedDisplay(void)
else if ((ConfigItem.EngConfig == 0) || (ConfigItem.EngConfig == 1)) else if ((ConfigItem.EngConfig == 0) || (ConfigItem.EngConfig == 1))
{ {
//if ((g_LED.pMILOffTime1 >= T_2_0s) && (OBDLamp == 0)) //if ((g_LED.pMILOffTime1 >= T_2_0s) && (OBDLamp == 0))
if (g_LED.pMILOffTime1 >= T_2_0s) if (g_LED.pMILOffTime1 >= T_2_0s) //延时熄灭
{ {
BD83790B &= ~BD8379_D0; //off BD83790B &= ~BD8379_D0; //off
DTC_OBDErrFlag = Disable; DTC_OBDErrFlag = Disable;
...@@ -355,13 +523,34 @@ void Gui_KL15LedDisplay(void) ...@@ -355,13 +523,34 @@ void Gui_KL15LedDisplay(void)
BD83790B &= ~BD8379_D1; //off BD83790B &= ~BD8379_D1; //off
} }
//BD8379_D2 预热指示灯 14 发动机预热 //BD8379_D2 预热指示灯 14 发动机预热
if (Test_Hyq) if (DIDFlag.Bits.DID102AValid == Enable)
{
if (IOCTL_DID102A.FF_Byte == 1)
{ {
BD83790B |= BD8379_D2; //on BD83790A |= BD8379_D2; //on
} }
else else
{ {
BD83790B &= ~BD8379_D2; //off BD83790A &= ~BD8379_D2; //off
}
}
else
{
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
BD83790A |= BD8379_D2; //on
}
else
{
if (g_CanSwith.PreHeat)
{
BD83790A |= BD8379_D2; //on
}
else
{
BD83790A &= ~BD8379_D2; //off
}
}
} }
//BD8379_D3 预留2 //BD8379_D3 预留2
if (Test_Hyq) if (Test_Hyq)
...@@ -394,17 +583,59 @@ void Gui_KL15LedDisplay(void) ...@@ -394,17 +583,59 @@ void Gui_KL15LedDisplay(void)
} }
//BD8379_D6 11 发动机故障 //BD8379_D6 11 发动机故障
if (Test_Hyq) if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{ {
BD83790B |= BD8379_D6; //on BD83790B |= BD8379_D6; //on
} }
else if ((ConfigItem.EngConfig == 0) || (ConfigItem.EngConfig == 1)) //?ó?????????ó????
{
if (g_canClock.signal.Exist64775_00)
{
if (g_CanSwith.EngFailure1)
{
BD83790B |= BD8379_D6; //on
bDSTable[PicEPC] |= DS0_MASK;
DTC_EPCErrFlag = Enable;
}
else else
{ {
BD83790B &= ~BD8379_D6; //off BD83790B &= ~BD8379_D6; //off
bDSTable[PicEPC] = 0;
DTC_EPCErrFlag = Disable;
}
}
else //掉线点亮
{
BD83790B |= BD8379_D6; //on
bDSTable[PicEPC] = 0;
DTC_EPCErrFlag = Enable;
}
} }
//BD8379_D7 机油报警 3 低油压报警 //BD8379_D7 机油报警 3 低油压报警
if (Test_Hyq) if (DIDFlag.Bits.DID100BValid == Enable)
{
if (IOCTL_DID100B.FF_Byte == 1)
{
BD83790B |= BD8379_D7; //on
}
else
{
BD83790B &= ~BD8379_D7; //off
}
}
else
{
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
BD83790B |= BD8379_D7; //on
}
else
{
if (((g_LED.pOilTime >= T_0_5s) && (ConfigItem.EngConfig == 3)) ||
((g_CanSwith.OilLamp) && ((ConfigItem.EngConfig == 0) || (ConfigItem.EngConfig == 1))) ||
((g_CanSwith.OilLamp1) && (ConfigItem.EngConfig == 2)))
{ {
BD83790B |= BD8379_D7; //on BD83790B |= BD8379_D7; //on
} }
...@@ -413,18 +644,45 @@ void Gui_KL15LedDisplay(void) ...@@ -413,18 +644,45 @@ void Gui_KL15LedDisplay(void)
BD83790B &= ~BD8379_D7; //off BD83790B &= ~BD8379_D7; //off
} }
//机油压力低-LCD
if (g_LED.pTFTOilTime > T_10_0s)
{
bDSTable[PicOilLow] |= DS0_MASK;
}
else
{
bDSTable[PicOilLow] = 0;
}
}
}
//BD8379_D8 18 DPF再生(黄色) //BD8379_D8 18 DPF再生(黄色)
if (Test_Hyq) if (g_CanSwith.DPF || g_CanSwith.DPFf)
{
if (g_CanSwith.DPF)
{ {
BD83790B |= BD8379_D8; //on BD83790B |= BD8379_D8; //on
} }
else else
{
if (g_CanSwith.OutFlashFlag)
{
BD83790B |= BD8379_D8; //on
}
else
{
BD83790B &= ~BD8379_D8; //off
}
}
}
else
{ {
BD83790B &= ~BD8379_D8; //off BD83790B &= ~BD8379_D8; //off
} }
//BD8379_D9 21 DPF再生(红色) //BD8379_D9 21 DPF再生(红色)
if (Test_Hyq) if (g_CanSwith.DPF_Red)
{ {
BD83790B |= BD8379_D9; //on BD83790B |= BD8379_D9; //on
} }
...@@ -434,15 +692,16 @@ void Gui_KL15LedDisplay(void) ...@@ -434,15 +692,16 @@ void Gui_KL15LedDisplay(void)
} }
//BD8379_D10 12 制动蹄片磨损报警 //BD8379_D10 12 制动蹄片磨损报警
if (Test_Hyq) if ((g_LED.pBrakeShoeTime >= T_0_3s) && (ConfigItem.BrakeShoeConfig == 0x01))
{ {
BD83790B |= BD8379_D10; //on BD83790B |= BD8379_D10; //on
bDSTable[PicBrakePiece] |= DS0_MASK;
} }
else else
{ {
BD83790B &= ~BD8379_D10; //off BD83790B &= ~BD8379_D10; //off
bDSTable[PicBrakePiece] = 0;
} }
//BD8379_D11 门开 门开在30电上 //BD8379_D11 门开 门开在30电上
} }
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
......
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