Commit 4c8ea956 authored by hu's avatar hu

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

parent 0ea8a23d
......@@ -32,6 +32,7 @@
#include "Popups.h"
#include "kwp2000_service.h"
#include "CAN_FUNC.h"
#include "GPIO.h"
#pragma alignvar(8)
Display_Modular_St Display_DTC[DTCNumeber + 1u];
......@@ -561,6 +562,17 @@ void GUI_TFTTelltales_Display(uint8_t Mode)
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 = Veh_Speed / 10u;
......@@ -7705,22 +7717,24 @@ void GUI_BG_DTCEngine_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 CanStatus1 = 0u;
uint32_t MenuDisDTCNumber = 0u;
CanStatus = CAN_MSG_Status(ID_CanMsg18FECA00_Msg_Count);
CanStatus1 = CAN_MSG_Status(ID_CanMsg18ECFF00_Msg_Count);
if (CanStatus != CAN_SIG_LOST)
{
Data_Value = Get_ID_18FECA00_Sig_DM1();
Data_Value = (uint32_t)(Data_Value & 0xFFFFu);
}
else
else if (CanStatus1 != CAN_SIG_LOST)
{
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);
if (MenuDTCNumTime < 50)
......@@ -7739,6 +7753,10 @@ void GUI_BG_MenuDTCEngine_Display(uint8_t Mode)
}
}
}
else
{
Data_Value = 0xFFFFu;
}
if (Mode == GUI_DISP_MODE_NORMAL)
{
......@@ -7770,14 +7788,10 @@ void GUI_BG_MenuDTCEngine_Display(uint8_t Mode)
* Return : None
* onther : 区域
--------------------------------------------------------------------------*/
void GUI_BG_DTCBrake_Display(uint8_t Mode)
void Common_test (void)
{
uint8_t DTCNumCode = 0u;
uint32_t DTNumValue = 0u;
uint32_t Data_Value = 0u;
uint8_t i = 0u;
uint32_t UdsCanID;
uint32_t UdsCanID = 0u;
UdsCanID = Common_Get_UdsCanIDSta();
if (UdsCanID == 0x18DAF00Bu)
{
......@@ -7788,7 +7802,26 @@ void GUI_BG_DTCBrake_Display(uint8_t Mode)
DTCNumberBrake[i] = DisDTCNumber[i];
}
}
}
void GUI_BG_DTCBrake_Display(uint8_t Mode)
{
uint8_t DTCNumCode = 0u;
uint32_t DTNumValue = 0u;
uint32_t Data_Value = 0u;
uint8_t i = 0u;
uint32_t UdsCanID;
/*
UdsCanID = Common_Get_UdsCanIDSta();
if (UdsCanID == 0x18DAF00Bu)
{
DisDTCNumBrake = DisDTCNum;
for (i = 0u; i < DisDTCNumBrake; i++)
{
DTCNumberBrake[i] = DisDTCNumber[i];
}
}
*/
//DTNum = DisDTCNumber[DTCDispNum];
Data_Value = DTCNumberBrake[DTCDispNum];
swap32(&Data_Value);
......@@ -7844,22 +7877,24 @@ void GUI_BG_DTCBrake_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 CanStatus1 = 0u;
uint32_t MenuDisDTCNumber = 0u;
CanStatus = CAN_MSG_Status(ID_CanMsg18FECA0B_Msg_Count);
CanStatus1 = CAN_MSG_Status(ID_CanMsg18ECFF0B_Msg_Count);
if (CanStatus != CAN_SIG_LOST)
{
Data_Value = Get_ID_18FECA0B_Sig_DM1();
Data_Value = (uint32_t)(Data_Value & 0xFFFFu);
}
else
else if (CanStatus1 != CAN_SIG_LOST)
{
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);
if (MenuDTCNumTime < 50)
......@@ -7878,6 +7913,10 @@ void GUI_BG_MenuDTCBrake_Display(uint8_t Mode)
}
}
}
else
{
Data_Value = 0xFFFFu;
}
if (Mode == GUI_DISP_MODE_NORMAL)
{
......@@ -7984,22 +8023,24 @@ void GUI_BG_DTCAMT_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 CanStatus1 = 0u;
uint32_t MenuDisDTCNumber = 0u;
CanStatus = CAN_MSG_Status(ID_CanMsg18FECA03_Msg_Count);
CanStatus1 = CAN_MSG_Status(ID_CanMsg18ECFF03_Msg_Count);
if (CanStatus != CAN_SIG_LOST)
{
Data_Value = Get_ID_18FECA03_Sig_DM1();
Data_Value = (uint32_t)(Data_Value & 0xFFFFu);
}
else
else if (CanStatus1 != CAN_SIG_LOST)
{
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);
if (MenuDTCNumTime < 50)
......@@ -8018,6 +8059,10 @@ void GUI_BG_MenuDTCAMT_Display(uint8_t Mode)
}
}
}
else
{
Data_Value = 0xFFFFu;
}
if (Mode == GUI_DISP_MODE_NORMAL)
{
......@@ -8123,22 +8168,24 @@ void GUI_BG_DTCRadar_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 CanStatus1 = 0u;
uint32_t MenuDisDTCNumber = 0u;
CanStatus = CAN_MSG_Status(ID_CanMsg18FECAA0_Msg_Count);
CanStatus1 = CAN_MSG_Status(ID_CanMsg18ECFFA0_Msg_Count);
if (CanStatus != CAN_SIG_LOST)
{
Data_Value = Get_ID_18FECAA0_Sig_DM1();
Data_Value = (uint32_t)(Data_Value & 0xFFFFu);
}
else
else if (CanStatus1 != CAN_SIG_LOST)
{
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);
if (MenuDTCNumTime < 50)
......@@ -8157,6 +8204,10 @@ void GUI_BG_MenuDTCRadar_Display(uint8_t Mode)
}
}
}
else
{
Data_Value = 0xFFFFu;
}
if (Mode == GUI_DISP_MODE_NORMAL)
{
......@@ -8263,22 +8314,24 @@ void GUI_BG_DTCCamera_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 CanStatus1 = 0u;
uint32_t MenuDisDTCNumber = 0u;
CanStatus = CAN_MSG_Status(ID_CanMsg18FECAE8_Msg_Count);
CanStatus1 = CAN_MSG_Status(ID_CanMsg18ECFFE8_Msg_Count);
if (CanStatus != CAN_SIG_LOST)
{
Data_Value = Get_ID_18FECAE8_Sig_DM1();
Data_Value = (uint32_t)(Data_Value & 0xFFFFu);
}
else
else if (CanStatus1 != CAN_SIG_LOST)
{
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);
if (MenuDTCNumTime < 50)
......@@ -8297,6 +8350,10 @@ void GUI_BG_MenuDTCCamera_Display(uint8_t Mode)
}
}
}
else
{
Data_Value = 0xFFFFu;
}
if (Mode == GUI_DISP_MODE_NORMAL)
{
......@@ -8402,22 +8459,24 @@ void GUI_BG_DTCRetarder_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 CanStatus1 = 0u;
uint32_t MenuDisDTCNumber = 0u;
CanStatus = CAN_MSG_Status(ID_CanMsg18FECA10_Msg_Count);
CanStatus1 = CAN_MSG_Status(ID_CanMsg18ECFF10_Msg_Count);
if (CanStatus != CAN_SIG_LOST)
{
Data_Value = Get_ID_18FECA10_Sig_DM1();
Data_Value = (uint32_t)(Data_Value & 0xFFFFu);
}
else
else if (CanStatus1 != CAN_SIG_LOST)
{
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);
if (MenuDTCNumTime < 50)
......@@ -8436,6 +8495,10 @@ void GUI_BG_MenuDTCIntarder_Display(uint8_t Mode)
}
}
}
else
{
Data_Value = 0xFFFFu;
}
if (Mode == GUI_DISP_MODE_NORMAL)
{
......@@ -10357,4 +10420,10 @@ void K_LINE_EOL_Val_Server(void)
EolNUM[9u][5u] = 0u;
EolNUM[9u][6u] = 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); /**/
void Common_EOL_User_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_Display(uint16_t PopupMsg);
......
......@@ -1050,14 +1050,15 @@ void Level2_6Menu_2Exit(void)
/*MENU发动机故障*/
void Level3_1Menu_1Enter(void)
{}
void Level3_1Menu_1Do(void)
{
GUI_OftenShow_Display();
GUI_BG_MenuDTCEngine_Display(GUI_DISP_MODE_NORMAL);
}
void Level3_1Menu_1Exit(void)
{}
{
Common_Set_MenuDTCNumTime(0u);
}
/*----三级菜单----故障代码----子菜单系列*/
/*MENU刹车故障*/
......@@ -1069,7 +1070,9 @@ void Level3_1Menu_2Do(void)
GUI_BG_MenuDTCBrake_Display(GUI_DISP_MODE_NORMAL);
}
void Level3_1Menu_2Exit(void)
{}
{
Common_Set_MenuDTCNumTime(0u);
}
/*----三级菜单----故障代码----子菜单系列*/
/*MENU变速箱故障*/
......@@ -1081,7 +1084,9 @@ void Level3_1Menu_3Do(void)
GUI_BG_MenuDTCAMT_Display(GUI_DISP_MODE_NORMAL);
}
void Level3_1Menu_3Exit(void)
{}
{
Common_Set_MenuDTCNumTime(0u);
}
/*----三级菜单----故障代码----子菜单系列*/
/*MENU雷达故障码*/
......@@ -1093,7 +1098,9 @@ void Level3_1Menu_4Do(void)
GUI_BG_MenuDTCRadar_Display(GUI_DISP_MODE_NORMAL);
}
void Level3_1Menu_4Exit(void)
{}
{
Common_Set_MenuDTCNumTime(0u);
}
/*----三级菜单----故障代码----子菜单系列*/
/*MENU摄像头故障码*/
......@@ -1105,7 +1112,9 @@ void Level3_1Menu_5Do(void)
GUI_BG_MenuDTCCamera_Display(GUI_DISP_MODE_NORMAL);
}
void Level3_1Menu_5Exit(void)
{}
{
Common_Set_MenuDTCNumTime(0u);
}
/*----三级菜单----故障代码----子菜单系列*/
/*MENU液力缓速器故障码*/
......@@ -1117,7 +1126,9 @@ void Level3_1Menu_6Do(void)
GUI_BG_MenuDTCIntarder_Display(GUI_DISP_MODE_NORMAL);
}
void Level3_1Menu_6Exit(void)
{}
{
Common_Set_MenuDTCNumTime(0u);
}
/*----三级菜单----保养通知----系列子菜单*/
/*发动机机油滤清器 特殊处理*/
......@@ -2181,7 +2192,25 @@ void LevelF1_1Menu_1Exit(void)
/*----工厂模式----DTC显示----刹车*-----*/
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)
{
GUI_OftenShow_Display();
......
......@@ -691,7 +691,7 @@ void TP_TransmitPDU(void)
/*重新赋值----20220326----*/
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[3u] = 0x55u;//g_txCanMsg.msg[3u];
canMag.Msg[4u] = 0x55u;//g_txCanMsg.msg[4u];
......
......@@ -135,7 +135,9 @@ void Sys_Run_Mode_2ms_Tasks(void)
{
Gauges_Time_Xms_Count(2);
}
UDS_10ms_Service();
Common_DTC_Server();
Common_test();
}
/*============================================================================*/
/*==============================================================================
......@@ -147,6 +149,13 @@ void Sys_Run_Mode_5ms_Tasks(void)
Id18EF1817_Send_Service();
Id18033317_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)
/*end*/
CD4051B_ReadSignal_Serviece();
Sound_Play_Service();
UDS_10ms_Service();
Can_BusOff_Fun();
Fuel_User_KL15_ON_Processing_Service();
......@@ -214,7 +223,6 @@ void Sys_Run_Mode_50ms_Tasks(void)
Sound_Scheduling_Service();
// BGTask();
IS31_Scan_Refresh();
Common_DTC_Server();
Drive_Info_IC1_STATUS_Rx();
Drive_Info_IC3_STATUS_Rx();
......@@ -254,13 +262,6 @@ void Sys_Run_Mode_100ms_Tasks(void)
/**/
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_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