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;
......
This diff is collapsed.
......@@ -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