Commit 4c8ea956 authored by hu's avatar hu

调整J1939多包故障码显示,正常

parent 0ea8a23d
...@@ -1695,13 +1695,9 @@ void DoCAN_Get_Multi_frame00_Recv(void) ...@@ -1695,13 +1695,9 @@ void DoCAN_Get_Multi_frame00_Recv(void)
/*数据头*/ /*数据头*/
if (PRIO != 0x20u) if (PRIO != 0x20u)
{ {
for (i = 0u; i < MAX_MULCANDATALEN; i++)
{
ECM18EBFF00.DataDTC.UnionDTC[i] = 0x00u;
}
return ; return ;
} }
/*判断PGN*/ /*判断PGN*/
PGN = Get_ID_18ECFF00_Sig_PGN(); PGN = Get_ID_18ECFF00_Sig_PGN();
if (PGN == 0xFECAu) if (PGN == 0xFECAu)
...@@ -1711,9 +1707,6 @@ void DoCAN_Get_Multi_frame00_Recv(void) ...@@ -1711,9 +1707,6 @@ void DoCAN_Get_Multi_frame00_Recv(void)
CanStatus = CAN_MSG_Status(ID_CanMsg18ECFF00_Msg_Count); CanStatus = CAN_MSG_Status(ID_CanMsg18ECFF00_Msg_Count);
/*接收数据*/
if (CanStatus == CAN_SIG_NORMAL)
{
/*存储*/ /*存储*/
if ( if (
(ECM18EBFF00.bPrePckNum < ECM18EBFF00.bPackage) && (ECM18EBFF00.bPrePckNum < ECM18EBFF00.bPackage) &&
...@@ -1727,6 +1720,7 @@ void DoCAN_Get_Multi_frame00_Recv(void) ...@@ -1727,6 +1720,7 @@ void DoCAN_Get_Multi_frame00_Recv(void)
ECM18EBFF00.bPrePckNum ++; ECM18EBFF00.bPrePckNum ++;
ECM18EBFF00.bRcvBusy = 1; /*正在接收*/ ECM18EBFF00.bRcvBusy = 1; /*正在接收*/
} }
/*存储后清空各个标识*/ /*存储后清空各个标识*/
if ( ECM18EBFF00.bPrePckNum == ECM18EBFF00.bPackage) if ( ECM18EBFF00.bPrePckNum == ECM18EBFF00.bPackage)
{ {
...@@ -1735,18 +1729,6 @@ void DoCAN_Get_Multi_frame00_Recv(void) ...@@ -1735,18 +1729,6 @@ void DoCAN_Get_Multi_frame00_Recv(void)
ECM18EBFF00.bCtrByte = 0; ECM18EBFF00.bCtrByte = 0;
} }
} }
}
else
{
ECM18EBFF00.bPackage = 0 ;
ECM18EBFF00.bPrePckNum = 0;
ECM18EBFF00.bLength = 0;
for (i = 0; i < MAX_MULCANDATALEN; i++)
{
ECM18EBFF00.DataDTC.UnionDTC[i] = 0x00;
}
}
} }
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
...@@ -1769,13 +1751,9 @@ void DoCAN_Get_Multi_frame03_Recv(void) ...@@ -1769,13 +1751,9 @@ void DoCAN_Get_Multi_frame03_Recv(void)
/*数据头*/ /*数据头*/
if (PRIO != 0x20u) if (PRIO != 0x20u)
{ {
for (i = 0u; i < MAX_MULCANDATALEN; i++)
{
ECM18EBFF03.DataDTC.UnionDTC[i] = 0x00u;
}
return ; return ;
} }
/*判断PGN*/ /*判断PGN*/
PGN = Get_ID_18ECFF03_Sig_PGN(); PGN = Get_ID_18ECFF03_Sig_PGN();
if (PGN == 0xFECAu) if (PGN == 0xFECAu)
...@@ -1785,9 +1763,6 @@ void DoCAN_Get_Multi_frame03_Recv(void) ...@@ -1785,9 +1763,6 @@ void DoCAN_Get_Multi_frame03_Recv(void)
CanStatus = CAN_MSG_Status(ID_CanMsg18ECFF03_Msg_Count); CanStatus = CAN_MSG_Status(ID_CanMsg18ECFF03_Msg_Count);
/*接收数据*/
if (CanStatus == CAN_SIG_NORMAL)
{
/*存储*/ /*存储*/
if ( if (
(ECM18EBFF03.bPrePckNum < ECM18EBFF03.bPackage) && (ECM18EBFF03.bPrePckNum < ECM18EBFF03.bPackage) &&
...@@ -1801,6 +1776,7 @@ void DoCAN_Get_Multi_frame03_Recv(void) ...@@ -1801,6 +1776,7 @@ void DoCAN_Get_Multi_frame03_Recv(void)
ECM18EBFF03.bPrePckNum ++; ECM18EBFF03.bPrePckNum ++;
ECM18EBFF03.bRcvBusy = 1; /*正在接收*/ ECM18EBFF03.bRcvBusy = 1; /*正在接收*/
} }
/*存储后清空各个标识*/ /*存储后清空各个标识*/
if ( ECM18EBFF03.bPrePckNum == ECM18EBFF03.bPackage) if ( ECM18EBFF03.bPrePckNum == ECM18EBFF03.bPackage)
{ {
...@@ -1809,18 +1785,6 @@ void DoCAN_Get_Multi_frame03_Recv(void) ...@@ -1809,18 +1785,6 @@ void DoCAN_Get_Multi_frame03_Recv(void)
ECM18EBFF03.bCtrByte = 0; ECM18EBFF03.bCtrByte = 0;
} }
} }
}
else
{
ECM18EBFF03.bPackage = 0 ;
ECM18EBFF03.bPrePckNum = 0;
ECM18EBFF03.bLength = 0;
for (i = 0; i < MAX_MULCANDATALEN; i++)
{
ECM18EBFF03.DataDTC.UnionDTC[i] = 0x00;
}
}
} }
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
...@@ -1843,13 +1807,9 @@ void DoCAN_Get_Multi_frame0B_Recv(void) ...@@ -1843,13 +1807,9 @@ void DoCAN_Get_Multi_frame0B_Recv(void)
/*数据头*/ /*数据头*/
if (PRIO != 0x20u) if (PRIO != 0x20u)
{ {
for (i = 0u; i < MAX_MULCANDATALEN; i++)
{
ECM18EBFF0B.DataDTC.UnionDTC[i] = 0x00u;
}
return ; return ;
} }
/*判断PGN*/ /*判断PGN*/
PGN = Get_ID_18ECFF0B_Sig_PGN(); PGN = Get_ID_18ECFF0B_Sig_PGN();
if (PGN == 0xFECAu) if (PGN == 0xFECAu)
...@@ -1859,9 +1819,6 @@ void DoCAN_Get_Multi_frame0B_Recv(void) ...@@ -1859,9 +1819,6 @@ void DoCAN_Get_Multi_frame0B_Recv(void)
CanStatus = CAN_MSG_Status(ID_CanMsg18ECFF0B_Msg_Count); CanStatus = CAN_MSG_Status(ID_CanMsg18ECFF0B_Msg_Count);
/*接收数据*/
if (CanStatus == CAN_SIG_NORMAL)
{
/*存储*/ /*存储*/
if ( if (
(ECM18EBFF0B.bPrePckNum < ECM18EBFF0B.bPackage) && (ECM18EBFF0B.bPrePckNum < ECM18EBFF0B.bPackage) &&
...@@ -1883,18 +1840,6 @@ void DoCAN_Get_Multi_frame0B_Recv(void) ...@@ -1883,18 +1840,6 @@ void DoCAN_Get_Multi_frame0B_Recv(void)
ECM18EBFF0B.bCtrByte = 0; ECM18EBFF0B.bCtrByte = 0;
} }
} }
}
else
{
ECM18EBFF0B.bPackage = 0 ;
ECM18EBFF0B.bPrePckNum = 0;
ECM18EBFF0B.bLength = 0;
for (i = 0; i < MAX_MULCANDATALEN; i++)
{
ECM18EBFF0B.DataDTC.UnionDTC[i] = 0x00;
}
}
} }
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
...@@ -1917,11 +1862,6 @@ void DoCAN_Get_Multi_frame10_Recv(void) ...@@ -1917,11 +1862,6 @@ void DoCAN_Get_Multi_frame10_Recv(void)
/*数据头*/ /*数据头*/
if (PRIO != 0x20u) if (PRIO != 0x20u)
{ {
for (i = 0u; i < MAX_MULCANDATALEN; i++)
{
ECM18EBFF10.DataDTC.UnionDTC[i] = 0x00u;
}
return ; return ;
} }
/*判断PGN*/ /*判断PGN*/
...@@ -1933,9 +1873,6 @@ void DoCAN_Get_Multi_frame10_Recv(void) ...@@ -1933,9 +1873,6 @@ void DoCAN_Get_Multi_frame10_Recv(void)
CanStatus = CAN_MSG_Status(ID_CanMsg18ECFF10_Msg_Count); CanStatus = CAN_MSG_Status(ID_CanMsg18ECFF10_Msg_Count);
/*接收数据*/
if (CanStatus == CAN_SIG_NORMAL)
{
/*存储*/ /*存储*/
if ( if (
(ECM18EBFF10.bPrePckNum < ECM18EBFF10.bPackage) && (ECM18EBFF10.bPrePckNum < ECM18EBFF10.bPackage) &&
...@@ -1957,18 +1894,6 @@ void DoCAN_Get_Multi_frame10_Recv(void) ...@@ -1957,18 +1894,6 @@ void DoCAN_Get_Multi_frame10_Recv(void)
ECM18EBFF10.bCtrByte = 0; ECM18EBFF10.bCtrByte = 0;
} }
} }
}
else
{
ECM18EBFF10.bPackage = 0 ;
ECM18EBFF10.bPrePckNum = 0;
ECM18EBFF10.bLength = 0;
for (i = 0; i < MAX_MULCANDATALEN; i++)
{
ECM18EBFF10.DataDTC.UnionDTC[i] = 0x00;
}
}
} }
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
...@@ -1991,11 +1916,6 @@ void DoCAN_Get_Multi_frameA0_Recv(void) ...@@ -1991,11 +1916,6 @@ void DoCAN_Get_Multi_frameA0_Recv(void)
/*数据头*/ /*数据头*/
if (PRIO != 0x20u) if (PRIO != 0x20u)
{ {
for (i = 0u; i < MAX_MULCANDATALEN; i++)
{
ECM18EBFFA0.DataDTC.UnionDTC[i] = 0x00u;
}
return ; return ;
} }
/*判断PGN*/ /*判断PGN*/
...@@ -2007,9 +1927,6 @@ void DoCAN_Get_Multi_frameA0_Recv(void) ...@@ -2007,9 +1927,6 @@ void DoCAN_Get_Multi_frameA0_Recv(void)
CanStatus = CAN_MSG_Status(ID_CanMsg18ECFFA0_Msg_Count); CanStatus = CAN_MSG_Status(ID_CanMsg18ECFFA0_Msg_Count);
/*接收数据*/
if (CanStatus == CAN_SIG_NORMAL)
{
/*存储*/ /*存储*/
if ( if (
(ECM18EBFFA0.bPrePckNum < ECM18EBFFA0.bPackage) && (ECM18EBFFA0.bPrePckNum < ECM18EBFFA0.bPackage) &&
...@@ -2031,18 +1948,6 @@ void DoCAN_Get_Multi_frameA0_Recv(void) ...@@ -2031,18 +1948,6 @@ void DoCAN_Get_Multi_frameA0_Recv(void)
ECM18EBFFA0.bCtrByte = 0; ECM18EBFFA0.bCtrByte = 0;
} }
} }
}
else
{
ECM18EBFFA0.bPackage = 0 ;
ECM18EBFFA0.bPrePckNum = 0;
ECM18EBFFA0.bLength = 0;
for (i = 0; i < MAX_MULCANDATALEN; i++)
{
ECM18EBFFA0.DataDTC.UnionDTC[i] = 0x00;
}
}
} }
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
...@@ -2065,11 +1970,6 @@ void DoCAN_Get_Multi_frameE8_Recv(void) ...@@ -2065,11 +1970,6 @@ void DoCAN_Get_Multi_frameE8_Recv(void)
/*数据头*/ /*数据头*/
if (PRIO != 0x20u) if (PRIO != 0x20u)
{ {
for (i = 0u; i < MAX_MULCANDATALEN; i++)
{
ECM18EBFFE8.DataDTC.UnionDTC[i] = 0x00u;
}
return ; return ;
} }
/*判断PGN*/ /*判断PGN*/
...@@ -2081,9 +1981,6 @@ void DoCAN_Get_Multi_frameE8_Recv(void) ...@@ -2081,9 +1981,6 @@ void DoCAN_Get_Multi_frameE8_Recv(void)
CanStatus = CAN_MSG_Status(ID_CanMsg18ECFFE8_Msg_Count); CanStatus = CAN_MSG_Status(ID_CanMsg18ECFFE8_Msg_Count);
/*接收数据*/
if (CanStatus == CAN_SIG_NORMAL)
{
/*存储*/ /*存储*/
if ( if (
(ECM18EBFFE8.bPrePckNum < ECM18EBFFE8.bPackage) && (ECM18EBFFE8.bPrePckNum < ECM18EBFFE8.bPackage) &&
...@@ -2105,16 +2002,4 @@ void DoCAN_Get_Multi_frameE8_Recv(void) ...@@ -2105,16 +2002,4 @@ void DoCAN_Get_Multi_frameE8_Recv(void)
ECM18EBFFE8.bCtrByte = 0; ECM18EBFFE8.bCtrByte = 0;
} }
} }
}
else
{
ECM18EBFFE8.bPackage = 0 ;
ECM18EBFFE8.bPrePckNum = 0;
ECM18EBFFE8.bLength = 0;
for (i = 0; i < MAX_MULCANDATALEN; i++)
{
ECM18EBFFE8.DataDTC.UnionDTC[i] = 0x00;
}
}
} }
\ No newline at end of file
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include "Popups.h" #include "Popups.h"
#include "kwp2000_service.h" #include "kwp2000_service.h"
#include "CAN_FUNC.h" #include "CAN_FUNC.h"
#include "GPIO.h"
#pragma alignvar(8) #pragma alignvar(8)
Display_Modular_St Display_DTC[DTCNumeber + 1u]; Display_Modular_St Display_DTC[DTCNumeber + 1u];
...@@ -561,6 +562,17 @@ void GUI_TFTTelltales_Display(uint8_t Mode) ...@@ -561,6 +562,17 @@ void GUI_TFTTelltales_Display(uint8_t Mode)
if (Mode == GUI_DISP_MODE_NORMAL) if (Mode == GUI_DISP_MODE_NORMAL)
{ {
/*B9硬线输出*/
if ((Get_ID_18F00503_Sig_Current_Gear() == 0x7Bu) ||
(Get_ID_18F00503_Sig_Current_Gear() == 0x7Cu))
{
USB_SDO_MCU = 1;/*三极管 8050*/
}
else
{
USB_SDO_MCU = 0;
}
/*超速报警指示灯*/ /*超速报警指示灯*/
Veh_Speed = Common_Get_Disp_V_Speed(); Veh_Speed = Common_Get_Disp_V_Speed();
Veh_Speed = Veh_Speed / 10u; Veh_Speed = Veh_Speed / 10u;
...@@ -7705,22 +7717,24 @@ void GUI_BG_DTCEngine_Display(uint8_t Mode) ...@@ -7705,22 +7717,24 @@ void GUI_BG_DTCEngine_Display(uint8_t Mode)
--------------------------------------------------------------------------*/ --------------------------------------------------------------------------*/
void GUI_BG_MenuDTCEngine_Display(uint8_t Mode) void GUI_BG_MenuDTCEngine_Display(uint8_t Mode)
{ {
uint32_t Data_Value = 0u; uint32_t Data_Value = 0xFFFFu;
uint32_t CanStatus = 0u; uint32_t CanStatus = 0u;
uint32_t CanStatus1 = 0u;
uint32_t MenuDisDTCNumber = 0u; uint32_t MenuDisDTCNumber = 0u;
CanStatus = CAN_MSG_Status(ID_CanMsg18FECA00_Msg_Count); CanStatus = CAN_MSG_Status(ID_CanMsg18FECA00_Msg_Count);
CanStatus1 = CAN_MSG_Status(ID_CanMsg18ECFF00_Msg_Count);
if (CanStatus != CAN_SIG_LOST) if (CanStatus != CAN_SIG_LOST)
{ {
Data_Value = Get_ID_18FECA00_Sig_DM1(); Data_Value = Get_ID_18FECA00_Sig_DM1();
Data_Value = (uint32_t)(Data_Value & 0xFFFFu); Data_Value = (uint32_t)(Data_Value & 0xFFFFu);
} }
else else if (CanStatus1 != CAN_SIG_LOST)
{ {
Data_Value = ECM18EBFF00.DataDTC.SubDTC.StructDTC[MenuGUIDTCNowDis]; Data_Value = ECM18EBFF00.DataDTC.SubDTC.StructDTC[MenuGUIDTCNowDis];
Data_Value = (uint32_t)(Data_Value & 0xFFFFu); Data_Value = (uint32_t)((Data_Value >> 16u) & 0xFFFFu);
MenuDisDTCNumber = (ECM18EBFF00.bLength / 4u); MenuDisDTCNumber = (ECM18EBFF00.bLength / 4u);
if (MenuDTCNumTime < 50) if (MenuDTCNumTime < 50)
...@@ -7739,6 +7753,10 @@ void GUI_BG_MenuDTCEngine_Display(uint8_t Mode) ...@@ -7739,6 +7753,10 @@ void GUI_BG_MenuDTCEngine_Display(uint8_t Mode)
} }
} }
} }
else
{
Data_Value = 0xFFFFu;
}
if (Mode == GUI_DISP_MODE_NORMAL) if (Mode == GUI_DISP_MODE_NORMAL)
{ {
...@@ -7770,6 +7788,21 @@ void GUI_BG_MenuDTCEngine_Display(uint8_t Mode) ...@@ -7770,6 +7788,21 @@ void GUI_BG_MenuDTCEngine_Display(uint8_t Mode)
* Return : None * Return : None
* onther : 区域 * onther : 区域
--------------------------------------------------------------------------*/ --------------------------------------------------------------------------*/
void Common_test (void)
{
uint8_t i = 0u;
uint32_t UdsCanID = 0u;
UdsCanID = Common_Get_UdsCanIDSta();
if (UdsCanID == 0x18DAF00Bu)
{
DisDTCNumBrake = DisDTCNum;
for (i = 0u; i < DisDTCNumBrake; i++)
{
DTCNumberBrake[i] = DisDTCNumber[i];
}
}
}
void GUI_BG_DTCBrake_Display(uint8_t Mode) void GUI_BG_DTCBrake_Display(uint8_t Mode)
{ {
uint8_t DTCNumCode = 0u; uint8_t DTCNumCode = 0u;
...@@ -7777,7 +7810,7 @@ void GUI_BG_DTCBrake_Display(uint8_t Mode) ...@@ -7777,7 +7810,7 @@ void GUI_BG_DTCBrake_Display(uint8_t Mode)
uint32_t Data_Value = 0u; uint32_t Data_Value = 0u;
uint8_t i = 0u; uint8_t i = 0u;
uint32_t UdsCanID; uint32_t UdsCanID;
/*
UdsCanID = Common_Get_UdsCanIDSta(); UdsCanID = Common_Get_UdsCanIDSta();
if (UdsCanID == 0x18DAF00Bu) if (UdsCanID == 0x18DAF00Bu)
{ {
...@@ -7788,7 +7821,7 @@ void GUI_BG_DTCBrake_Display(uint8_t Mode) ...@@ -7788,7 +7821,7 @@ void GUI_BG_DTCBrake_Display(uint8_t Mode)
DTCNumberBrake[i] = DisDTCNumber[i]; DTCNumberBrake[i] = DisDTCNumber[i];
} }
} }
*/
//DTNum = DisDTCNumber[DTCDispNum]; //DTNum = DisDTCNumber[DTCDispNum];
Data_Value = DTCNumberBrake[DTCDispNum]; Data_Value = DTCNumberBrake[DTCDispNum];
swap32(&Data_Value); swap32(&Data_Value);
...@@ -7844,22 +7877,24 @@ void GUI_BG_DTCBrake_Display(uint8_t Mode) ...@@ -7844,22 +7877,24 @@ void GUI_BG_DTCBrake_Display(uint8_t Mode)
--------------------------------------------------------------------------*/ --------------------------------------------------------------------------*/
void GUI_BG_MenuDTCBrake_Display(uint8_t Mode) void GUI_BG_MenuDTCBrake_Display(uint8_t Mode)
{ {
uint32_t Data_Value = 0u; uint32_t Data_Value = 0xFFFFu;
uint32_t CanStatus = 0u; uint32_t CanStatus = 0u;
uint32_t CanStatus1 = 0u;
uint32_t MenuDisDTCNumber = 0u; uint32_t MenuDisDTCNumber = 0u;
CanStatus = CAN_MSG_Status(ID_CanMsg18FECA0B_Msg_Count); CanStatus = CAN_MSG_Status(ID_CanMsg18FECA0B_Msg_Count);
CanStatus1 = CAN_MSG_Status(ID_CanMsg18ECFF0B_Msg_Count);
if (CanStatus != CAN_SIG_LOST) if (CanStatus != CAN_SIG_LOST)
{ {
Data_Value = Get_ID_18FECA0B_Sig_DM1(); Data_Value = Get_ID_18FECA0B_Sig_DM1();
Data_Value = (uint32_t)(Data_Value & 0xFFFFu); Data_Value = (uint32_t)(Data_Value & 0xFFFFu);
} }
else else if (CanStatus1 != CAN_SIG_LOST)
{ {
Data_Value = ECM18EBFF0B.DataDTC.SubDTC.StructDTC[MenuGUIDTCNowDis]; Data_Value = ECM18EBFF0B.DataDTC.SubDTC.StructDTC[MenuGUIDTCNowDis];
Data_Value = (uint32_t)(Data_Value & 0xFFFFu); Data_Value = (uint32_t)((Data_Value >> 16u) & 0xFFFFu);
MenuDisDTCNumber = (ECM18EBFF0B.bLength / 4u); MenuDisDTCNumber = (ECM18EBFF0B.bLength / 4u);
if (MenuDTCNumTime < 50) if (MenuDTCNumTime < 50)
...@@ -7878,6 +7913,10 @@ void GUI_BG_MenuDTCBrake_Display(uint8_t Mode) ...@@ -7878,6 +7913,10 @@ void GUI_BG_MenuDTCBrake_Display(uint8_t Mode)
} }
} }
} }
else
{
Data_Value = 0xFFFFu;
}
if (Mode == GUI_DISP_MODE_NORMAL) if (Mode == GUI_DISP_MODE_NORMAL)
{ {
...@@ -7984,22 +8023,24 @@ void GUI_BG_DTCAMT_Display(uint8_t Mode) ...@@ -7984,22 +8023,24 @@ void GUI_BG_DTCAMT_Display(uint8_t Mode)
--------------------------------------------------------------------------*/ --------------------------------------------------------------------------*/
void GUI_BG_MenuDTCAMT_Display(uint8_t Mode) void GUI_BG_MenuDTCAMT_Display(uint8_t Mode)
{ {
uint32_t Data_Value = 0u; uint32_t Data_Value = 0xFFFFu;
uint32_t CanStatus = 0u; uint32_t CanStatus = 0u;
uint32_t CanStatus1 = 0u;
uint32_t MenuDisDTCNumber = 0u; uint32_t MenuDisDTCNumber = 0u;
CanStatus = CAN_MSG_Status(ID_CanMsg18FECA03_Msg_Count); CanStatus = CAN_MSG_Status(ID_CanMsg18FECA03_Msg_Count);
CanStatus1 = CAN_MSG_Status(ID_CanMsg18ECFF03_Msg_Count);
if (CanStatus != CAN_SIG_LOST) if (CanStatus != CAN_SIG_LOST)
{ {
Data_Value = Get_ID_18FECA03_Sig_DM1(); Data_Value = Get_ID_18FECA03_Sig_DM1();
Data_Value = (uint32_t)(Data_Value & 0xFFFFu); Data_Value = (uint32_t)(Data_Value & 0xFFFFu);
} }
else else if (CanStatus1 != CAN_SIG_LOST)
{ {
Data_Value = ECM18EBFF03.DataDTC.SubDTC.StructDTC[MenuGUIDTCNowDis]; Data_Value = ECM18EBFF03.DataDTC.SubDTC.StructDTC[MenuGUIDTCNowDis];
Data_Value = (uint32_t)(Data_Value & 0xFFFFu); Data_Value = (uint32_t)((Data_Value >> 16u) & 0xFFFFu);
MenuDisDTCNumber = (ECM18EBFF03.bLength / 4u); MenuDisDTCNumber = (ECM18EBFF03.bLength / 4u);
if (MenuDTCNumTime < 50) if (MenuDTCNumTime < 50)
...@@ -8018,6 +8059,10 @@ void GUI_BG_MenuDTCAMT_Display(uint8_t Mode) ...@@ -8018,6 +8059,10 @@ void GUI_BG_MenuDTCAMT_Display(uint8_t Mode)
} }
} }
} }
else
{
Data_Value = 0xFFFFu;
}
if (Mode == GUI_DISP_MODE_NORMAL) if (Mode == GUI_DISP_MODE_NORMAL)
{ {
...@@ -8123,22 +8168,24 @@ void GUI_BG_DTCRadar_Display(uint8_t Mode) ...@@ -8123,22 +8168,24 @@ void GUI_BG_DTCRadar_Display(uint8_t Mode)
--------------------------------------------------------------------------*/ --------------------------------------------------------------------------*/
void GUI_BG_MenuDTCRadar_Display(uint8_t Mode) void GUI_BG_MenuDTCRadar_Display(uint8_t Mode)
{ {
uint32_t Data_Value = 0u; uint32_t Data_Value = 0xFFFFu;
uint32_t CanStatus = 0u; uint32_t CanStatus = 0u;
uint32_t CanStatus1 = 0u;
uint32_t MenuDisDTCNumber = 0u; uint32_t MenuDisDTCNumber = 0u;
CanStatus = CAN_MSG_Status(ID_CanMsg18FECAA0_Msg_Count); CanStatus = CAN_MSG_Status(ID_CanMsg18FECAA0_Msg_Count);
CanStatus1 = CAN_MSG_Status(ID_CanMsg18ECFFA0_Msg_Count);
if (CanStatus != CAN_SIG_LOST) if (CanStatus != CAN_SIG_LOST)
{ {
Data_Value = Get_ID_18FECAA0_Sig_DM1(); Data_Value = Get_ID_18FECAA0_Sig_DM1();
Data_Value = (uint32_t)(Data_Value & 0xFFFFu); Data_Value = (uint32_t)(Data_Value & 0xFFFFu);
} }
else else if (CanStatus1 != CAN_SIG_LOST)
{ {
Data_Value = ECM18EBFFA0.DataDTC.SubDTC.StructDTC[MenuGUIDTCNowDis]; Data_Value = ECM18EBFFA0.DataDTC.SubDTC.StructDTC[MenuGUIDTCNowDis];
Data_Value = (uint32_t)(Data_Value & 0xFFFFu); Data_Value = (uint32_t)((Data_Value >> 16u) & 0xFFFFu);
MenuDisDTCNumber = (ECM18EBFFA0.bLength / 4u); MenuDisDTCNumber = (ECM18EBFFA0.bLength / 4u);
if (MenuDTCNumTime < 50) if (MenuDTCNumTime < 50)
...@@ -8157,6 +8204,10 @@ void GUI_BG_MenuDTCRadar_Display(uint8_t Mode) ...@@ -8157,6 +8204,10 @@ void GUI_BG_MenuDTCRadar_Display(uint8_t Mode)
} }
} }
} }
else
{
Data_Value = 0xFFFFu;
}
if (Mode == GUI_DISP_MODE_NORMAL) if (Mode == GUI_DISP_MODE_NORMAL)
{ {
...@@ -8263,22 +8314,24 @@ void GUI_BG_DTCCamera_Display(uint8_t Mode) ...@@ -8263,22 +8314,24 @@ void GUI_BG_DTCCamera_Display(uint8_t Mode)
--------------------------------------------------------------------------*/ --------------------------------------------------------------------------*/
void GUI_BG_MenuDTCCamera_Display(uint8_t Mode) void GUI_BG_MenuDTCCamera_Display(uint8_t Mode)
{ {
uint32_t Data_Value = 0u; uint32_t Data_Value = 0xFFFFu;
uint32_t CanStatus = 0u; uint32_t CanStatus = 0u;
uint32_t CanStatus1 = 0u;
uint32_t MenuDisDTCNumber = 0u; uint32_t MenuDisDTCNumber = 0u;
CanStatus = CAN_MSG_Status(ID_CanMsg18FECAE8_Msg_Count); CanStatus = CAN_MSG_Status(ID_CanMsg18FECAE8_Msg_Count);
CanStatus1 = CAN_MSG_Status(ID_CanMsg18ECFFE8_Msg_Count);
if (CanStatus != CAN_SIG_LOST) if (CanStatus != CAN_SIG_LOST)
{ {
Data_Value = Get_ID_18FECAE8_Sig_DM1(); Data_Value = Get_ID_18FECAE8_Sig_DM1();
Data_Value = (uint32_t)(Data_Value & 0xFFFFu); Data_Value = (uint32_t)(Data_Value & 0xFFFFu);
} }
else else if (CanStatus1 != CAN_SIG_LOST)
{ {
Data_Value = ECM18EBFFE8.DataDTC.SubDTC.StructDTC[MenuGUIDTCNowDis]; Data_Value = ECM18EBFFE8.DataDTC.SubDTC.StructDTC[MenuGUIDTCNowDis];
Data_Value = (uint32_t)(Data_Value & 0xFFFFu); Data_Value = (uint32_t)((Data_Value >> 16u) & 0xFFFFu);
MenuDisDTCNumber = (ECM18EBFFE8.bLength / 4u); MenuDisDTCNumber = (ECM18EBFFE8.bLength / 4u);
if (MenuDTCNumTime < 50) if (MenuDTCNumTime < 50)
...@@ -8297,6 +8350,10 @@ void GUI_BG_MenuDTCCamera_Display(uint8_t Mode) ...@@ -8297,6 +8350,10 @@ void GUI_BG_MenuDTCCamera_Display(uint8_t Mode)
} }
} }
} }
else
{
Data_Value = 0xFFFFu;
}
if (Mode == GUI_DISP_MODE_NORMAL) if (Mode == GUI_DISP_MODE_NORMAL)
{ {
...@@ -8402,22 +8459,24 @@ void GUI_BG_DTCRetarder_Display(uint8_t Mode) ...@@ -8402,22 +8459,24 @@ void GUI_BG_DTCRetarder_Display(uint8_t Mode)
--------------------------------------------------------------------------*/ --------------------------------------------------------------------------*/
void GUI_BG_MenuDTCIntarder_Display(uint8_t Mode) void GUI_BG_MenuDTCIntarder_Display(uint8_t Mode)
{ {
uint32_t Data_Value = 0u; uint32_t Data_Value = 0xFFFFu;
uint32_t CanStatus = 0u; uint32_t CanStatus = 0u;
uint32_t CanStatus1 = 0u;
uint32_t MenuDisDTCNumber = 0u; uint32_t MenuDisDTCNumber = 0u;
CanStatus = CAN_MSG_Status(ID_CanMsg18FECA10_Msg_Count); CanStatus = CAN_MSG_Status(ID_CanMsg18FECA10_Msg_Count);
CanStatus1 = CAN_MSG_Status(ID_CanMsg18ECFF10_Msg_Count);
if (CanStatus != CAN_SIG_LOST) if (CanStatus != CAN_SIG_LOST)
{ {
Data_Value = Get_ID_18FECA10_Sig_DM1(); Data_Value = Get_ID_18FECA10_Sig_DM1();
Data_Value = (uint32_t)(Data_Value & 0xFFFFu); Data_Value = (uint32_t)(Data_Value & 0xFFFFu);
} }
else else if (CanStatus1 != CAN_SIG_LOST)
{ {
Data_Value = ECM18EBFF10.DataDTC.SubDTC.StructDTC[MenuGUIDTCNowDis]; Data_Value = ECM18EBFF10.DataDTC.SubDTC.StructDTC[MenuGUIDTCNowDis];
Data_Value = (uint32_t)(Data_Value & 0xFFFFu); Data_Value = (uint32_t)((Data_Value >> 16u) & 0xFFFFu);
MenuDisDTCNumber = (ECM18EBFF10.bLength / 4u); MenuDisDTCNumber = (ECM18EBFF10.bLength / 4u);
if (MenuDTCNumTime < 50) if (MenuDTCNumTime < 50)
...@@ -8436,6 +8495,10 @@ void GUI_BG_MenuDTCIntarder_Display(uint8_t Mode) ...@@ -8436,6 +8495,10 @@ void GUI_BG_MenuDTCIntarder_Display(uint8_t Mode)
} }
} }
} }
else
{
Data_Value = 0xFFFFu;
}
if (Mode == GUI_DISP_MODE_NORMAL) if (Mode == GUI_DISP_MODE_NORMAL)
{ {
...@@ -10358,3 +10421,9 @@ void K_LINE_EOL_Val_Server(void) ...@@ -10358,3 +10421,9 @@ void K_LINE_EOL_Val_Server(void)
EolNUM[9u][6u] = 0u; EolNUM[9u][6u] = 0u;
EolNUM[9u][7u] = 0u; EolNUM[9u][7u] = 0u;
} }
void Common_Set_MenuDTCNumTime(uint32_t Vol)
{
MenuDTCNumTime = Vol;
MenuGUIDTCNowDis = Vol;
}
\ No newline at end of file
...@@ -578,6 +578,8 @@ void GUI_Test_Display(uint8_t Mode); /**/ ...@@ -578,6 +578,8 @@ void GUI_Test_Display(uint8_t Mode); /**/
void Common_EOL_User_Server(void); /**/ void Common_EOL_User_Server(void); /**/
void K_LINE_EOL_Val_Server(void); /**/ void K_LINE_EOL_Val_Server(void); /**/
void Common_Set_MenuDTCNumTime(uint32_t Vol);
void Common_test (void);
/*-----报警--------------------------------------------------------*/ /*-----报警--------------------------------------------------------*/
void GUI_General_Popup(void); void GUI_General_Popup(void);
void GUI_General_Popup_Display(uint16_t PopupMsg); void GUI_General_Popup_Display(uint16_t PopupMsg);
......
...@@ -1050,14 +1050,15 @@ void Level2_6Menu_2Exit(void) ...@@ -1050,14 +1050,15 @@ void Level2_6Menu_2Exit(void)
/*MENU发动机故障*/ /*MENU发动机故障*/
void Level3_1Menu_1Enter(void) void Level3_1Menu_1Enter(void)
{} {}
void Level3_1Menu_1Do(void) void Level3_1Menu_1Do(void)
{ {
GUI_OftenShow_Display(); GUI_OftenShow_Display();
GUI_BG_MenuDTCEngine_Display(GUI_DISP_MODE_NORMAL); GUI_BG_MenuDTCEngine_Display(GUI_DISP_MODE_NORMAL);
} }
void Level3_1Menu_1Exit(void) void Level3_1Menu_1Exit(void)
{} {
Common_Set_MenuDTCNumTime(0u);
}
/*----三级菜单----故障代码----子菜单系列*/ /*----三级菜单----故障代码----子菜单系列*/
/*MENU刹车故障*/ /*MENU刹车故障*/
...@@ -1069,7 +1070,9 @@ void Level3_1Menu_2Do(void) ...@@ -1069,7 +1070,9 @@ void Level3_1Menu_2Do(void)
GUI_BG_MenuDTCBrake_Display(GUI_DISP_MODE_NORMAL); GUI_BG_MenuDTCBrake_Display(GUI_DISP_MODE_NORMAL);
} }
void Level3_1Menu_2Exit(void) void Level3_1Menu_2Exit(void)
{} {
Common_Set_MenuDTCNumTime(0u);
}
/*----三级菜单----故障代码----子菜单系列*/ /*----三级菜单----故障代码----子菜单系列*/
/*MENU变速箱故障*/ /*MENU变速箱故障*/
...@@ -1081,7 +1084,9 @@ void Level3_1Menu_3Do(void) ...@@ -1081,7 +1084,9 @@ void Level3_1Menu_3Do(void)
GUI_BG_MenuDTCAMT_Display(GUI_DISP_MODE_NORMAL); GUI_BG_MenuDTCAMT_Display(GUI_DISP_MODE_NORMAL);
} }
void Level3_1Menu_3Exit(void) void Level3_1Menu_3Exit(void)
{} {
Common_Set_MenuDTCNumTime(0u);
}
/*----三级菜单----故障代码----子菜单系列*/ /*----三级菜单----故障代码----子菜单系列*/
/*MENU雷达故障码*/ /*MENU雷达故障码*/
...@@ -1093,7 +1098,9 @@ void Level3_1Menu_4Do(void) ...@@ -1093,7 +1098,9 @@ void Level3_1Menu_4Do(void)
GUI_BG_MenuDTCRadar_Display(GUI_DISP_MODE_NORMAL); GUI_BG_MenuDTCRadar_Display(GUI_DISP_MODE_NORMAL);
} }
void Level3_1Menu_4Exit(void) void Level3_1Menu_4Exit(void)
{} {
Common_Set_MenuDTCNumTime(0u);
}
/*----三级菜单----故障代码----子菜单系列*/ /*----三级菜单----故障代码----子菜单系列*/
/*MENU摄像头故障码*/ /*MENU摄像头故障码*/
...@@ -1105,7 +1112,9 @@ void Level3_1Menu_5Do(void) ...@@ -1105,7 +1112,9 @@ void Level3_1Menu_5Do(void)
GUI_BG_MenuDTCCamera_Display(GUI_DISP_MODE_NORMAL); GUI_BG_MenuDTCCamera_Display(GUI_DISP_MODE_NORMAL);
} }
void Level3_1Menu_5Exit(void) void Level3_1Menu_5Exit(void)
{} {
Common_Set_MenuDTCNumTime(0u);
}
/*----三级菜单----故障代码----子菜单系列*/ /*----三级菜单----故障代码----子菜单系列*/
/*MENU液力缓速器故障码*/ /*MENU液力缓速器故障码*/
...@@ -1117,7 +1126,9 @@ void Level3_1Menu_6Do(void) ...@@ -1117,7 +1126,9 @@ void Level3_1Menu_6Do(void)
GUI_BG_MenuDTCIntarder_Display(GUI_DISP_MODE_NORMAL); GUI_BG_MenuDTCIntarder_Display(GUI_DISP_MODE_NORMAL);
} }
void Level3_1Menu_6Exit(void) void Level3_1Menu_6Exit(void)
{} {
Common_Set_MenuDTCNumTime(0u);
}
/*----三级菜单----保养通知----系列子菜单*/ /*----三级菜单----保养通知----系列子菜单*/
/*发动机机油滤清器 特殊处理*/ /*发动机机油滤清器 特殊处理*/
...@@ -2181,7 +2192,25 @@ void LevelF1_1Menu_1Exit(void) ...@@ -2181,7 +2192,25 @@ void LevelF1_1Menu_1Exit(void)
/*----工厂模式----DTC显示----刹车*-----*/ /*----工厂模式----DTC显示----刹车*-----*/
void LevelF1_1Menu_2Enter(void) void LevelF1_1Menu_2Enter(void)
{} {
_CAN_Msg canMag;
canMag.MsgID = 0x18DA0BF0u;
canMag.MsgDLC = 8u;
canMag.MsgPro = 2u;//0u;
canMag.MsgStd = 1u;
canMag.MsgRTR = 0u;
canMag.Msg[0u] = 0x03u;
canMag.Msg[1u] = 0x19u;
canMag.Msg[2u] = 0x01u;
canMag.Msg[3u] = 0x01u;
canMag.Msg[4u] = 0x00u;
canMag.Msg[5u] = 0x00u;
canMag.Msg[6u] = 0x00u;
canMag.Msg[7u] = 0x00u;
Can_Write(&canMag);
}
void LevelF1_1Menu_2Do(void) void LevelF1_1Menu_2Do(void)
{ {
GUI_OftenShow_Display(); GUI_OftenShow_Display();
......
...@@ -691,7 +691,7 @@ void TP_TransmitPDU(void) ...@@ -691,7 +691,7 @@ void TP_TransmitPDU(void)
/*重新赋值----20220326----*/ /*重新赋值----20220326----*/
canMag.Msg[0u] = g_txCanMsg.msg[0u]; canMag.Msg[0u] = g_txCanMsg.msg[0u];
canMag.Msg[1u] = 0x00u;//g_txCanMsg.msg[1u]; canMag.Msg[1u] = 0x32u;//g_txCanMsg.msg[1u];
canMag.Msg[2u] = g_txCanMsg.msg[2u]; canMag.Msg[2u] = g_txCanMsg.msg[2u];
canMag.Msg[3u] = 0x55u;//g_txCanMsg.msg[3u]; canMag.Msg[3u] = 0x55u;//g_txCanMsg.msg[3u];
canMag.Msg[4u] = 0x55u;//g_txCanMsg.msg[4u]; canMag.Msg[4u] = 0x55u;//g_txCanMsg.msg[4u];
......
...@@ -135,7 +135,9 @@ void Sys_Run_Mode_2ms_Tasks(void) ...@@ -135,7 +135,9 @@ void Sys_Run_Mode_2ms_Tasks(void)
{ {
Gauges_Time_Xms_Count(2); Gauges_Time_Xms_Count(2);
} }
UDS_10ms_Service();
Common_DTC_Server();
Common_test();
} }
/*============================================================================*/ /*============================================================================*/
/*============================================================================== /*==============================================================================
...@@ -147,6 +149,13 @@ void Sys_Run_Mode_5ms_Tasks(void) ...@@ -147,6 +149,13 @@ void Sys_Run_Mode_5ms_Tasks(void)
Id18EF1817_Send_Service(); Id18EF1817_Send_Service();
Id18033317_Send_Service(); Id18033317_Send_Service();
Id18FFE517_Send_Service(); Id18FFE517_Send_Service();
DoCAN_Get_Multi_frame00_Recv();
DoCAN_Get_Multi_frame03_Recv();
DoCAN_Get_Multi_frame0B_Recv();
DoCAN_Get_Multi_frame10_Recv();
DoCAN_Get_Multi_frameA0_Recv();
DoCAN_Get_Multi_frameE8_Recv();
} }
/*============================================================================== /*==============================================================================
...@@ -177,7 +186,7 @@ void Sys_Run_Mode_10ms_Tasks(void) ...@@ -177,7 +186,7 @@ void Sys_Run_Mode_10ms_Tasks(void)
/*end*/ /*end*/
CD4051B_ReadSignal_Serviece(); CD4051B_ReadSignal_Serviece();
Sound_Play_Service(); Sound_Play_Service();
UDS_10ms_Service();
Can_BusOff_Fun(); Can_BusOff_Fun();
Fuel_User_KL15_ON_Processing_Service(); Fuel_User_KL15_ON_Processing_Service();
...@@ -214,7 +223,6 @@ void Sys_Run_Mode_50ms_Tasks(void) ...@@ -214,7 +223,6 @@ void Sys_Run_Mode_50ms_Tasks(void)
Sound_Scheduling_Service(); Sound_Scheduling_Service();
// BGTask(); // BGTask();
IS31_Scan_Refresh(); IS31_Scan_Refresh();
Common_DTC_Server();
Drive_Info_IC1_STATUS_Rx(); Drive_Info_IC1_STATUS_Rx();
Drive_Info_IC3_STATUS_Rx(); Drive_Info_IC3_STATUS_Rx();
...@@ -254,13 +262,6 @@ void Sys_Run_Mode_100ms_Tasks(void) ...@@ -254,13 +262,6 @@ void Sys_Run_Mode_100ms_Tasks(void)
/**/ /**/
Common_Set_K_Line_Value(); Common_Set_K_Line_Value();
DoCAN_Get_Multi_frame00_Recv();
DoCAN_Get_Multi_frame03_Recv();
DoCAN_Get_Multi_frame0B_Recv();
DoCAN_Get_Multi_frame10_Recv();
DoCAN_Get_Multi_frameA0_Recv();
DoCAN_Get_Multi_frameE8_Recv();
Drive_Info_Speed1_Plus_Conversion(); Drive_Info_Speed1_Plus_Conversion();
Drive_Info_Speed2_Plus_Conversion(); Drive_Info_Speed2_Plus_Conversion();
......
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