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;
......
This diff is collapsed.
...@@ -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,6 +110,25 @@ void Gui_KL15LedDisplay(void) ...@@ -110,6 +110,25 @@ void Gui_KL15LedDisplay(void)
//--------5912驱动指示灯 //--------5912驱动指示灯
//BD8379_D0 2 驻车制动 //BD8379_D0 2 驻车制动
if (DIDFlag.Bits.DID1009Valid == Enable)
{
if (IOCTL_DID1009.FF_Byte == 1)
{
BD83790A |= BD8379_D0; //on
}
else
{
BD83790A &= ~BD8379_D0; //off
}
}
else
{
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)) if ((LINE_IN_PARKING == 0u) && (g_LED.pParkTime >= T_0_3s))
{ {
BD83790A |= BD8379_D0; //on BD83790A |= BD8379_D0; //on
...@@ -118,6 +137,9 @@ void Gui_KL15LedDisplay(void) ...@@ -118,6 +137,9 @@ void Gui_KL15LedDisplay(void)
{ {
BD83790A &= ~BD8379_D0; //off 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)
{
if (IOCTL_DID1030.FF_Byte == 1)
{
BD83790A |= BD8379_D9; //on
}
else
{
BD83790A &= ~BD8379_D9; //off
}
}
else
{
if ((g_LED.CheckLightsTime < T_CheckTime) && (g_revMeter.CurBoardVal < 300))
{
if (ConfigItem.GasConfig == 1)
{ {
BD83790A |= BD8379_D9; //on 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 else
{ {
BD83790A &= ~BD8379_D9; //off 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)
{
if (IOCTL_DID100D.FF_Byte == 1)
{
BD83790B |= BD8379_D0; //on
}
else
{
BD83790B &= ~BD8379_D0; //off
}
}
else
{
if (g_revMeter.CurBoardVal <= 300)
{ {
BD83790B |= BD8379_D0; //on 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 else
{ {
BD83790B &= ~BD8379_D0; //off 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,22 @@ void Gui_KL30LedDisplay(void) ...@@ -560,9 +626,22 @@ void Gui_KL30LedDisplay(void)
} }
//16 门开-LED //16 门开-LED
if (DIDFlag.Bits.DID1007Valid == Enable)
{
if (IOCTL_DID1007.FF_Byte == 1)
{
BD83790B |= BD8379_D11; //on
}
else
{
BD83790B &= ~BD8379_D11; //off
}
}
else
{
if (g_canClock.signal.Exist60439) if (g_canClock.signal.Exist60439)
{ {
if (g_CanSwith.DrDoorStae || g_CanSwith.PssDoorStae || g_CanSwith.RLDoorStae || g_CanSwith.RRDoorStae) if ((g_CanSwith.DrDoorStae == 1u) || (g_CanSwith.PssDoorStae == 1u) || (g_CanSwith.RLDoorStae == 1u) || (g_CanSwith.RRDoorStae == 1u))
{ {
BD83790B |= BD8379_D11; //on BD83790B |= BD8379_D11; //on
} }
...@@ -582,4 +661,55 @@ void Gui_KL30LedDisplay(void) ...@@ -582,4 +661,55 @@ void Gui_KL30LedDisplay(void)
BD83790B &= ~BD8379_D11; //off BD83790B &= ~BD8379_D11; //off
} }
} }
}
//------------------------ Door Signl KL30 Receive ----------------------//
//can信号不存在时,检测硬线信号
if (!g_canClock.signal.Exist60439)
{
if (g_LED.pDoorOpenTime >= T_0_3s)
{
g_CanSwith.DrDoorStae = 1;
g_CanSwith.PssDoorStae = 1;
}
else
{
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