Commit 945b2ac4 authored by hu's avatar hu

调整DTC诊断功能

parent 4c8ea956
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
#include "TYW_stdint.h" #include "TYW_stdint.h"
#define DTCNumberBuf 50u
typedef struct typedef struct
{ {
uint32_t TripA_Fuel; uint32_t TripA_Fuel;
...@@ -20,8 +22,22 @@ typedef struct ...@@ -20,8 +22,22 @@ typedef struct
} USER_ECU; } USER_ECU;
extern USER_ECU User_ECU; extern USER_ECU User_ECU;
extern uint32_t DisDTCNumber[50]; //extern uint32_t DisDTCNumber[50];
extern uint32_t DisDTCNum; extern uint32_t DTCNumberEngine[DTCNumberBuf];
extern uint32_t DTCNumberBrake[DTCNumberBuf];
extern uint32_t DTCNumberAMT[DTCNumberBuf];
extern uint32_t DTCNumberRadar[DTCNumberBuf];
extern uint32_t DTCNumberCamera[DTCNumberBuf];
extern uint32_t DTCNumberRetarder[DTCNumberBuf];
//extern uint32_t DisDTCNum;
extern uint32_t DisDTCNumEngine ;
extern uint32_t DisDTCNumBrake ;
extern uint32_t DisDTCNumAMT ;
extern uint32_t DisDTCNumRadar ;
extern uint32_t DisDTCNumCamera ;
extern uint32_t DisDTCNumRetarder ;
#define MAX_MULCANDATALEN 100 #define MAX_MULCANDATALEN 100
typedef union typedef union
...@@ -104,8 +120,20 @@ void Common_Set_LDWS_Flag_Sta(uint8_t Vol); ...@@ -104,8 +120,20 @@ void Common_Set_LDWS_Flag_Sta(uint8_t Vol);
uint8_t Common_Get_LDWS_Flag_Sta(void); uint8_t Common_Get_LDWS_Flag_Sta(void);
uint8_t Common_Get_Water_Temp_Level_Flag(void); uint8_t Common_Get_Water_Temp_Level_Flag(void);
void Common_DTC_Server(void); void Common_DTCEngine_Server(void);
void GetAllDtcFault(uint32_t* pCurFault, uint8_t* pCurFaultNum, uint32_t* pHisFault, uint8_t* pHisFaultNum); void Common_DTCBrake_Server(void);
void Common_DTCAMT_Server(void);
void Common_DTCRadar_Server(void);
void Common_DTCCamera_Server(void);
void Common_DTCRetarder_Server(void);
void GetAllDtcEngineFault(uint32_t* pCurFault, uint8_t* pCurFaultNum, uint32_t* pHisFault, uint8_t* pHisFaultNum);
void GetAllDtcBrakeFault(uint32_t* pCurFault, uint8_t* pCurFaultNum, uint32_t* pHisFault, uint8_t* pHisFaultNum);
void GetAllDtcAMTFault(uint32_t* pCurFault, uint8_t* pCurFaultNum, uint32_t* pHisFault, uint8_t* pHisFaultNum);
void GetAllDtcRadarFault(uint32_t* pCurFault, uint8_t* pCurFaultNum, uint32_t* pHisFault, uint8_t* pHisFaultNum);
void GetAllDtcCameraFault(uint32_t* pCurFault, uint8_t* pCurFaultNum, uint32_t* pHisFault, uint8_t* pHisFaultNum);
void GetAllDtcRetarderFault(uint32_t* pCurFault, uint8_t* pCurFaultNum, uint32_t* pHisFault, uint8_t* pHisFaultNum);
void swap32(uint32_t *DwData); void swap32(uint32_t *DwData);
void DoCAN_Get_Multi_frame00_Recv(void); void DoCAN_Get_Multi_frame00_Recv(void);
......
...@@ -52,20 +52,6 @@ _TPMS TPMS_Matching; ...@@ -52,20 +52,6 @@ _TPMS TPMS_Matching;
_UserSet User_set_Num; _UserSet User_set_Num;
_UserSet User_App; _UserSet User_App;
uint32_t DTCNumberEngine[DTCNumberBuf];
uint32_t DTCNumberBrake[DTCNumberBuf];
uint32_t DTCNumberAMT[DTCNumberBuf];
uint32_t DTCNumberRadar[DTCNumberBuf];
uint32_t DTCNumberCamera[DTCNumberBuf];
uint32_t DTCNumberRetarder[DTCNumberBuf];
uint32_t DisDTCNumEngine ;
uint32_t DisDTCNumBrake ;
uint32_t DisDTCNumAMT ;
uint32_t DisDTCNumRadar ;
uint32_t DisDTCNumCamera ;
uint32_t DisDTCNumRetarder ;
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* Function Name : GUI_Display_KL15_ON_Init * Function Name : GUI_Display_KL15_ON_Init
* Description : * Description :
...@@ -7410,148 +7396,6 @@ void GUI_BG_FacDTCClearF_Display(uint8_t Mode) ...@@ -7410,148 +7396,6 @@ void GUI_BG_FacDTCClearF_Display(uint8_t Mode)
GUI_General_Display(MENU_Sprite, SpriteSize, GUI_BLENDMODE_SRC_OVER); GUI_General_Display(MENU_Sprite, SpriteSize, GUI_BLENDMODE_SRC_OVER);
} }
} }
/*--------------------------------------------------------------------------
* Function Name : GUI_Display_DTC_Server
* Description :
* Input : None
* Output : None
* Return : None
* onther : 区域
--------------------------------------------------------------------------*/
void GUI_Display_DTC_Server(void)
{
uint8_t i = 0u;
uint8_t DTCNum = 0u;
/*发动机故障*/
//if (DisDTCNum != 0x00u)
//{
// Display_DTC[0u].Disp_True_False = 1u;
//}
//else
//{
// Display_DTC[0u].Disp_True_False = 0u;
//}
/*刹车故障*/
if (DisDTCNum != 0x00u)
{
Display_DTC[1u].Disp_True_False = 1u;
}
else
{
Display_DTC[1u].Disp_True_False = 0u;
}
/*变速箱故障*/
//if (DisDTCNum != 0x00u)
//{
// Display_DTC[2u].Disp_True_False = 1u;
//}
//else
//{
// Display_DTC[2u].Disp_True_False = 0u;
//}
///*雷达故障码*/
//if (DisDTCNum != 0x00u)
//{
// Display_DTC[3u].Disp_True_False = 1u;
//}
//else
//{
// Display_DTC[3u].Disp_True_False = 0u;
//}
///*摄像头故障码*/
//if (DisDTCNum != 0x00u)
//{
// Display_DTC[4u].Disp_True_False = 1u;
//}
//else
//{
// Display_DTC[4u].Disp_True_False = 0u;
//}
///*液力缓速器故障码*/
//if (DisDTCNum != 0x00u)
//{
// Display_DTC[5u].Disp_True_False = 1u;
//}
//else
//{
// Display_DTC[5u].Disp_True_False = 0u;
//}
/*SCR故障*/
//if (DisDTCNum != 0x00u)
//{
// Display_DTC[0u].Disp_True_False = 1u;
//}
//else
//{
// Display_DTC[0u].Disp_True_False = 0u;
//}
/*无故障*/
Display_DTC[DTCNumeber].Disp_True_False = 1u;
if (Display_DTC[GUIDTCNumDis].Disp_True_False == 1u)
{
if (DTCNumTime <= 50u)
{
DTCNumTime ++;
}
else
{
DTCNumTime = 0u;
GUIDTCNumDis++;
for ( ; (DTCNumeber - 1u) ; )
{
if (Display_DTC[GUIDTCNumDis].Disp_True_False == 0u)
{
GUIDTCNumDis++;
}
else
{
break;
}
}
}
}
else
{
for ( ; (DTCNumeber - 1u) ; )
{
if (Display_DTC[GUIDTCNumDis].Disp_True_False == 0u)
{
GUIDTCNumDis++;
}
else
{
break;
}
}
}
if (GUIDTCNumDis < (DTCNumeber - 1u))
{
;/*Do Nothing !*/
}
else
{
GUIDTCNumDis = 0u;
}
for (i = 0u; i < (DTCNumeber - 1u); i++)
{
DTCNum += Display_DTC[i].Disp_True_False;
}
if (DTCNum == 0u)
{
GUIDTCNumDis = DTCNumeber;
}
Display_DTC[GUIDTCNumDis].Disp_Mod_Menu_Cbk(GUI_DISP_MODE_NORMAL);
}
/*-------------------------------------------------------------------------- /*--------------------------------------------------------------------------
* Function Name : GUI_BG_FacMenu6_Display * Function Name : GUI_BG_FacMenu6_Display
...@@ -7566,19 +7410,6 @@ void GUI_BG_DTCEngine_Display(uint8_t Mode) ...@@ -7566,19 +7410,6 @@ void GUI_BG_DTCEngine_Display(uint8_t Mode)
uint8_t DTCNumCode = 0u; uint8_t DTCNumCode = 0u;
uint32_t DTNumValue = 0u; uint32_t DTNumValue = 0u;
//uint32_t DTNum = 0u; //uint32_t DTNum = 0u;
uint8_t i = 0u;
uint32_t UdsCanID;
UdsCanID = Common_Get_UdsCanIDSta();
if (UdsCanID == 0x7E8u)
{
DisDTCNumEngine = DisDTCNum;
for (i = 0u; i < DisDTCNumEngine; i++)
{
DTCNumberEngine[i] = DisDTCNumber[i];
}
}
DTNum = DTCNumberEngine[DTCDispNum]; DTNum = DTCNumberEngine[DTCDispNum];
...@@ -7788,40 +7619,12 @@ void GUI_BG_MenuDTCEngine_Display(uint8_t Mode) ...@@ -7788,40 +7619,12 @@ 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;
uint32_t DTNumValue = 0u; uint32_t DTNumValue = 0u;
uint32_t Data_Value = 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]; //DTNum = DisDTCNumber[DTCDispNum];
Data_Value = DTCNumberBrake[DTCDispNum]; Data_Value = DTCNumberBrake[DTCDispNum];
swap32(&Data_Value); swap32(&Data_Value);
...@@ -7953,19 +7756,6 @@ void GUI_BG_DTCAMT_Display(uint8_t Mode) ...@@ -7953,19 +7756,6 @@ void GUI_BG_DTCAMT_Display(uint8_t Mode)
uint8_t DTCNumCode = 0u; uint8_t DTCNumCode = 0u;
uint32_t DTNumValue = 0u; uint32_t DTNumValue = 0u;
uint32_t Data_Value = 0u; uint32_t Data_Value = 0u;
uint8_t i = 0u;
uint32_t UdsCanID;
UdsCanID = Common_Get_UdsCanIDSta();
if (UdsCanID == 0x18DAF003)
{
DisDTCNumAMT = DisDTCNum;
for (i = 0u; i < DisDTCNumAMT; i++)
{
DTCNumberAMT[i] = DisDTCNumber[i];
}
}
//DTNum = DisDTCNumber[DTCDispNum]; //DTNum = DisDTCNumber[DTCDispNum];
Data_Value = DTCNumberAMT[DTCDispNum]; Data_Value = DTCNumberAMT[DTCDispNum];
...@@ -8098,19 +7888,6 @@ void GUI_BG_DTCRadar_Display(uint8_t Mode) ...@@ -8098,19 +7888,6 @@ void GUI_BG_DTCRadar_Display(uint8_t Mode)
uint8_t DTCNumCode = 0u; uint8_t DTCNumCode = 0u;
uint32_t DTNumValue = 0u; uint32_t DTNumValue = 0u;
uint32_t Data_Value = 0u; uint32_t Data_Value = 0u;
uint8_t i = 0u;
uint32_t UdsCanID;
UdsCanID = Common_Get_UdsCanIDSta();
if (UdsCanID == 0x18DAF0A0u)
{
DisDTCNumRadar = DisDTCNum;
for (i = 0u; i < DisDTCNumRadar; i++)
{
DTCNumberRadar[i] = DisDTCNumber[i];
}
}
//DTNum = DisDTCNumber[DTCDispNum]; //DTNum = DisDTCNumber[DTCDispNum];
Data_Value = DTCNumberRadar[DTCDispNum]; Data_Value = DTCNumberRadar[DTCDispNum];
...@@ -8244,19 +8021,6 @@ void GUI_BG_DTCCamera_Display(uint8_t Mode) ...@@ -8244,19 +8021,6 @@ void GUI_BG_DTCCamera_Display(uint8_t Mode)
uint8_t DTCNumCode = 0u; uint8_t DTCNumCode = 0u;
uint32_t DTNumValue = 0u; uint32_t DTNumValue = 0u;
uint32_t Data_Value = 0u; uint32_t Data_Value = 0u;
uint8_t i = 0u;
uint32_t UdsCanID;
UdsCanID = Common_Get_UdsCanIDSta();
if (UdsCanID == 0x18DAF0E8u)
{
DisDTCNumCamera = DisDTCNum;
for (i = 0u; i < DisDTCNumCamera; i++)
{
DTCNumberCamera[i] = DisDTCNumber[i];
}
}
//DTNum = DisDTCNumber[DTCDispNum]; //DTNum = DisDTCNumber[DTCDispNum];
Data_Value = DTCNumberCamera[DTCDispNum]; Data_Value = DTCNumberCamera[DTCDispNum];
...@@ -8389,19 +8153,6 @@ void GUI_BG_DTCRetarder_Display(uint8_t Mode) ...@@ -8389,19 +8153,6 @@ void GUI_BG_DTCRetarder_Display(uint8_t Mode)
uint8_t DTCNumCode = 0u; uint8_t DTCNumCode = 0u;
uint32_t DTNumValue = 0u; uint32_t DTNumValue = 0u;
uint32_t Data_Value = 0u; uint32_t Data_Value = 0u;
uint8_t i = 0u;
uint32_t UdsCanID;
UdsCanID = Common_Get_UdsCanIDSta();
if (UdsCanID == 0x18DAF010u)
{
DisDTCNumRetarder = DisDTCNum;
for (i = 0u; i < DisDTCNumRetarder; i++)
{
DTCNumberRetarder[i] = DisDTCNumber[i];
}
}
//DTNum = DisDTCNumber[DTCDispNum]; //DTNum = DisDTCNumber[DTCDispNum];
Data_Value = DTCNumberRetarder[DTCDispNum]; Data_Value = DTCNumberRetarder[DTCDispNum];
......
...@@ -13,21 +13,6 @@ ...@@ -13,21 +13,6 @@
#define Language_Cn 1u #define Language_Cn 1u
#define DTCNumeber 6u /*最小数值为1*/ #define DTCNumeber 6u /*最小数值为1*/
#define DTCNumberBuf 50u
extern uint32_t DTCNumberEngine[DTCNumberBuf];
extern uint32_t DTCNumberBrake[DTCNumberBuf];
extern uint32_t DTCNumberAMT[DTCNumberBuf];
extern uint32_t DTCNumberRadar[DTCNumberBuf];
extern uint32_t DTCNumberCamera[DTCNumberBuf];
extern uint32_t DTCNumberRetarder[DTCNumberBuf];
extern uint32_t DisDTCNumEngine ;
extern uint32_t DisDTCNumBrake ;
extern uint32_t DisDTCNumAMT ;
extern uint32_t DisDTCNumRadar ;
extern uint32_t DisDTCNumCamera ;
extern uint32_t DisDTCNumRetarder ;
#define FState_COilTimeOutNum 60u /*3S*/ #define FState_COilTimeOutNum 60u /*3S*/
...@@ -555,8 +540,6 @@ void GUI_BG_DeaHIDAutoInit1_Display(uint8_t Mode); /**/ ...@@ -555,8 +540,6 @@ void GUI_BG_DeaHIDAutoInit1_Display(uint8_t Mode); /**/
void GUI_BG_DeaHIDAutoInit2_Display(uint8_t Mode); /**/ void GUI_BG_DeaHIDAutoInit2_Display(uint8_t Mode); /**/
void GUI_BG_DeaMeterExit_Display(uint8_t Mode); /*经销商模式是否结束经销商模式*/ void GUI_BG_DeaMeterExit_Display(uint8_t Mode); /*经销商模式是否结束经销商模式*/
void GUI_Display_DTC_Server(void); /**/
void GUI_BG_MenuDTCEngine_Display(uint8_t Mode); /*MENU发动机故障*/ void GUI_BG_MenuDTCEngine_Display(uint8_t Mode); /*MENU发动机故障*/
void GUI_BG_MenuDTCBrake_Display(uint8_t Mode); /*MENU刹车故障*/ void GUI_BG_MenuDTCBrake_Display(uint8_t Mode); /*MENU刹车故障*/
void GUI_BG_MenuDTCAMT_Display(uint8_t Mode); /*MENU变速箱故障*/ void GUI_BG_MenuDTCAMT_Display(uint8_t Mode); /*MENU变速箱故障*/
...@@ -579,7 +562,7 @@ void Common_EOL_User_Server(void); /**/ ...@@ -579,7 +562,7 @@ 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_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);
......
...@@ -2458,22 +2458,6 @@ void LevelF1_6Menu_2Exit(void) ...@@ -2458,22 +2458,6 @@ void LevelF1_6Menu_2Exit(void)
/*----工厂模式---- 116发动机----*/ /*----工厂模式---- 116发动机----*/
void LevelF2_1Menu_1Enter(void) void LevelF2_1Menu_1Enter(void)
{ {
uint8_t i = 0u;
for (i = 0u; i < 50; i++)
{
DTCNumberEngine[i] = 0x00u;
DTCNumberBrake[i] = 0x00u;
DTCNumberAMT[i] = 0x00u;
DTCNumberRadar[i] = 0x00u;
DTCNumberCamera[i] = 0x00u;
DTCNumberRetarder[i] = 0x00u;
}
DisDTCNumEngine = 0u ;
DisDTCNumBrake = 0u ;
DisDTCNumAMT = 0u ;
DisDTCNumRadar = 0u ;
DisDTCNumCamera = 0u ;
DisDTCNumRetarder = 0u ;
//03 19 02 0C 55 55 55 55 //03 19 02 0C 55 55 55 55
_CAN_Msg canMag; _CAN_Msg canMag;
...@@ -2519,7 +2503,6 @@ void LevelF2_1Menu_1Do(void) ...@@ -2519,7 +2503,6 @@ void LevelF2_1Menu_1Do(void)
if (DTCNumDis == 1u) /*计时*/ if (DTCNumDis == 1u) /*计时*/
{ {
//GUI_Display_DTC_Server();
GUI_BG_DTCEngine_Display(GUI_DISP_MODE_NORMAL); GUI_BG_DTCEngine_Display(GUI_DISP_MODE_NORMAL);
} }
else /*故障码读取中*/ else /*故障码读取中*/
...@@ -2533,22 +2516,6 @@ void LevelF2_1Menu_1Exit(void) ...@@ -2533,22 +2516,6 @@ void LevelF2_1Menu_1Exit(void)
/*----工厂模式----117 刹车----*/ /*----工厂模式----117 刹车----*/
void LevelF2_1Menu_2Enter(void) void LevelF2_1Menu_2Enter(void)
{ {
uint8_t i = 0u;
for (i = 0u; i < 50; i++)
{
DTCNumberEngine[i] = 0x00u;
DTCNumberBrake[i] = 0x00u;
DTCNumberAMT[i] = 0x00u;
DTCNumberRadar[i] = 0x00u;
DTCNumberCamera[i] = 0x00u;
DTCNumberRetarder[i] = 0x00u;
}
DisDTCNumEngine = 0u ;
DisDTCNumBrake = 0u ;
DisDTCNumAMT = 0u ;
DisDTCNumRadar = 0u ;
DisDTCNumCamera = 0u ;
DisDTCNumRetarder = 0u ;
//03 19 02 0C 55 55 55 55 //03 19 02 0C 55 55 55 55
_CAN_Msg canMag; _CAN_Msg canMag;
...@@ -2606,22 +2573,6 @@ void LevelF2_1Menu_2Exit(void) ...@@ -2606,22 +2573,6 @@ void LevelF2_1Menu_2Exit(void)
/*----工厂模式----118 变速箱----*/ /*----工厂模式----118 变速箱----*/
void LevelF2_1Menu_3Enter(void) void LevelF2_1Menu_3Enter(void)
{ {
uint8_t i = 0u;
for (i = 0u; i < 50; i++)
{
DTCNumberEngine[i] = 0x00u;
DTCNumberBrake[i] = 0x00u;
DTCNumberAMT[i] = 0x00u;
DTCNumberRadar[i] = 0x00u;
DTCNumberCamera[i] = 0x00u;
DTCNumberRetarder[i] = 0x00u;
}
DisDTCNumEngine = 0u ;
DisDTCNumBrake = 0u ;
DisDTCNumAMT = 0u ;
DisDTCNumRadar = 0u ;
DisDTCNumCamera = 0u ;
DisDTCNumRetarder = 0u ;
//03 19 02 0C 55 55 55 55 //03 19 02 0C 55 55 55 55
_CAN_Msg canMag; _CAN_Msg canMag;
...@@ -2679,22 +2630,6 @@ void LevelF2_1Menu_3Exit(void) ...@@ -2679,22 +2630,6 @@ void LevelF2_1Menu_3Exit(void)
/*----工厂模式----119 雷达----*/ /*----工厂模式----119 雷达----*/
void LevelF2_1Menu_4Enter(void) void LevelF2_1Menu_4Enter(void)
{ {
uint8_t i = 0u;
for (i = 0u; i < 50; i++)
{
DTCNumberEngine[i] = 0x00u;
DTCNumberBrake[i] = 0x00u;
DTCNumberAMT[i] = 0x00u;
DTCNumberRadar[i] = 0x00u;
DTCNumberCamera[i] = 0x00u;
DTCNumberRetarder[i] = 0x00u;
}
DisDTCNumEngine = 0u ;
DisDTCNumBrake = 0u ;
DisDTCNumAMT = 0u ;
DisDTCNumRadar = 0u ;
DisDTCNumCamera = 0u ;
DisDTCNumRetarder = 0u ;
//03 19 02 0C 55 55 55 55 //03 19 02 0C 55 55 55 55
_CAN_Msg canMag; _CAN_Msg canMag;
...@@ -2752,22 +2687,6 @@ void LevelF2_1Menu_4Exit(void) ...@@ -2752,22 +2687,6 @@ void LevelF2_1Menu_4Exit(void)
/*----工厂模式----120 摄像头----*/ /*----工厂模式----120 摄像头----*/
void LevelF2_1Menu_5Enter(void) void LevelF2_1Menu_5Enter(void)
{ {
uint8_t i = 0u;
for (i = 0u; i < 50; i++)
{
DTCNumberEngine[i] = 0x00u;
DTCNumberBrake[i] = 0x00u;
DTCNumberAMT[i] = 0x00u;
DTCNumberRadar[i] = 0x00u;
DTCNumberCamera[i] = 0x00u;
DTCNumberRetarder[i] = 0x00u;
}
DisDTCNumEngine = 0u ;
DisDTCNumBrake = 0u ;
DisDTCNumAMT = 0u ;
DisDTCNumRadar = 0u ;
DisDTCNumCamera = 0u ;
DisDTCNumRetarder = 0u ;
//03 19 02 0C 55 55 55 55 //03 19 02 0C 55 55 55 55
_CAN_Msg canMag; _CAN_Msg canMag;
...@@ -2825,22 +2744,6 @@ void LevelF2_1Menu_5Exit(void) ...@@ -2825,22 +2744,6 @@ void LevelF2_1Menu_5Exit(void)
/*----工厂模式----121 液缓----*/ /*----工厂模式----121 液缓----*/
void LevelF2_1Menu_6Enter(void) void LevelF2_1Menu_6Enter(void)
{ {
uint8_t i = 0u;
for (i = 0u; i < 50; i++)
{
DTCNumberEngine[i] = 0x00u;
DTCNumberBrake[i] = 0x00u;
DTCNumberAMT[i] = 0x00u;
DTCNumberRadar[i] = 0x00u;
DTCNumberCamera[i] = 0x00u;
DTCNumberRetarder[i] = 0x00u;
}
DisDTCNumEngine = 0u ;
DisDTCNumBrake = 0u ;
DisDTCNumAMT = 0u ;
DisDTCNumRadar = 0u ;
DisDTCNumCamera = 0u ;
DisDTCNumRetarder = 0u ;
//03 19 02 0C 55 55 55 55 //03 19 02 0C 55 55 55 55
_CAN_Msg canMag; _CAN_Msg canMag;
...@@ -3572,22 +3475,6 @@ void LevelD2_5Menu_1Exit(void) ...@@ -3572,22 +3475,6 @@ void LevelD2_5Menu_1Exit(void)
/*----经销商模式----发动机----*/ /*----经销商模式----发动机----*/
void LevelD2_1Menu_1Enter(void) void LevelD2_1Menu_1Enter(void)
{ {
uint8_t i = 0u;
for (i = 0u; i < 50; i++)
{
DTCNumberEngine[i] = 0x00u;
DTCNumberBrake[i] = 0x00u;
DTCNumberAMT[i] = 0x00u;
DTCNumberRadar[i] = 0x00u;
DTCNumberCamera[i] = 0x00u;
DTCNumberRetarder[i] = 0x00u;
}
DisDTCNumEngine = 0u ;
DisDTCNumBrake = 0u ;
DisDTCNumAMT = 0u ;
DisDTCNumRadar = 0u ;
DisDTCNumCamera = 0u ;
DisDTCNumRetarder = 0u ;
//03 19 02 0C 55 55 55 55 //03 19 02 0C 55 55 55 55
_CAN_Msg canMag; _CAN_Msg canMag;
...@@ -3646,22 +3533,6 @@ void LevelD2_1Menu_1Exit(void) ...@@ -3646,22 +3533,6 @@ void LevelD2_1Menu_1Exit(void)
/*----经销商模式----刹车----*/ /*----经销商模式----刹车----*/
void LevelD2_1Menu_2Enter(void) void LevelD2_1Menu_2Enter(void)
{ {
uint8_t i = 0u;
for (i = 0u; i < 50; i++)
{
DTCNumberEngine[i] = 0x00u;
DTCNumberBrake[i] = 0x00u;
DTCNumberAMT[i] = 0x00u;
DTCNumberRadar[i] = 0x00u;
DTCNumberCamera[i] = 0x00u;
DTCNumberRetarder[i] = 0x00u;
}
DisDTCNumEngine = 0u ;
DisDTCNumBrake = 0u ;
DisDTCNumAMT = 0u ;
DisDTCNumRadar = 0u ;
DisDTCNumCamera = 0u ;
DisDTCNumRetarder = 0u ;
//03 19 02 0C 55 55 55 55 //03 19 02 0C 55 55 55 55
_CAN_Msg canMag; _CAN_Msg canMag;
...@@ -3719,22 +3590,6 @@ void LevelD2_1Menu_2Exit(void) ...@@ -3719,22 +3590,6 @@ void LevelD2_1Menu_2Exit(void)
/*----经销商模式----变速箱----*/ /*----经销商模式----变速箱----*/
void LevelD2_1Menu_3Enter(void) void LevelD2_1Menu_3Enter(void)
{ {
uint8_t i = 0u;
for (i = 0u; i < 50; i++)
{
DTCNumberEngine[i] = 0x00u;
DTCNumberBrake[i] = 0x00u;
DTCNumberAMT[i] = 0x00u;
DTCNumberRadar[i] = 0x00u;
DTCNumberCamera[i] = 0x00u;
DTCNumberRetarder[i] = 0x00u;
}
DisDTCNumEngine = 0u ;
DisDTCNumBrake = 0u ;
DisDTCNumAMT = 0u ;
DisDTCNumRadar = 0u ;
DisDTCNumCamera = 0u ;
DisDTCNumRetarder = 0u ;
//03 19 02 0C 55 55 55 55 //03 19 02 0C 55 55 55 55
_CAN_Msg canMag; _CAN_Msg canMag;
...@@ -3792,22 +3647,6 @@ void LevelD2_1Menu_3Exit(void) ...@@ -3792,22 +3647,6 @@ void LevelD2_1Menu_3Exit(void)
/*----经销商模式----雷达----*/ /*----经销商模式----雷达----*/
void LevelD2_1Menu_4Enter(void) void LevelD2_1Menu_4Enter(void)
{ {
uint8_t i = 0u;
for (i = 0u; i < 50; i++)
{
DTCNumberEngine[i] = 0x00u;
DTCNumberBrake[i] = 0x00u;
DTCNumberAMT[i] = 0x00u;
DTCNumberRadar[i] = 0x00u;
DTCNumberCamera[i] = 0x00u;
DTCNumberRetarder[i] = 0x00u;
}
DisDTCNumEngine = 0u ;
DisDTCNumBrake = 0u ;
DisDTCNumAMT = 0u ;
DisDTCNumRadar = 0u ;
DisDTCNumCamera = 0u ;
DisDTCNumRetarder = 0u ;
//03 19 02 0C 55 55 55 55 //03 19 02 0C 55 55 55 55
_CAN_Msg canMag; _CAN_Msg canMag;
...@@ -3865,22 +3704,6 @@ void LevelD2_1Menu_4Exit(void) ...@@ -3865,22 +3704,6 @@ void LevelD2_1Menu_4Exit(void)
/*----经销商模式----摄像头----*/ /*----经销商模式----摄像头----*/
void LevelD2_1Menu_5Enter(void) void LevelD2_1Menu_5Enter(void)
{ {
uint8_t i = 0u;
for (i = 0u; i < 50; i++)
{
DTCNumberEngine[i] = 0x00u;
DTCNumberBrake[i] = 0x00u;
DTCNumberAMT[i] = 0x00u;
DTCNumberRadar[i] = 0x00u;
DTCNumberCamera[i] = 0x00u;
DTCNumberRetarder[i] = 0x00u;
}
DisDTCNumEngine = 0u ;
DisDTCNumBrake = 0u ;
DisDTCNumAMT = 0u ;
DisDTCNumRadar = 0u ;
DisDTCNumCamera = 0u ;
DisDTCNumRetarder = 0u ;
//03 19 02 0C 55 55 55 55 //03 19 02 0C 55 55 55 55
_CAN_Msg canMag; _CAN_Msg canMag;
...@@ -3938,22 +3761,6 @@ void LevelD2_1Menu_5Exit(void) ...@@ -3938,22 +3761,6 @@ void LevelD2_1Menu_5Exit(void)
/*----经销商模式----液缓----*/ /*----经销商模式----液缓----*/
void LevelD2_1Menu_6Enter(void) void LevelD2_1Menu_6Enter(void)
{ {
uint8_t i = 0u;
for (i = 0u; i < 50; i++)
{
DTCNumberEngine[i] = 0x00u;
DTCNumberBrake[i] = 0x00u;
DTCNumberAMT[i] = 0x00u;
DTCNumberRadar[i] = 0x00u;
DTCNumberCamera[i] = 0x00u;
DTCNumberRetarder[i] = 0x00u;
}
DisDTCNumEngine = 0u ;
DisDTCNumBrake = 0u ;
DisDTCNumAMT = 0u ;
DisDTCNumRadar = 0u ;
DisDTCNumCamera = 0u ;
DisDTCNumRetarder = 0u ;
//03 19 02 0C 55 55 55 55 //03 19 02 0C 55 55 55 55
_CAN_Msg canMag; _CAN_Msg canMag;
......
...@@ -925,6 +925,7 @@ void Common_Set_UdsCanIDSta(uint32_t Val) ...@@ -925,6 +925,7 @@ void Common_Set_UdsCanIDSta(uint32_t Val)
{ {
UdsCanIDSta = Val; UdsCanIDSta = Val;
} }
uint32_t Common_Get_UdsCanIDSta(void) uint32_t Common_Get_UdsCanIDSta(void)
{ {
return UdsCanIDSta; return UdsCanIDSta;
......
...@@ -146,8 +146,6 @@ void Can_Read_Msg(uint32_t m_id, uint8_t m_dlc, uint8_t m_Msg[]) ...@@ -146,8 +146,6 @@ void Can_Read_Msg(uint32_t m_id, uint8_t m_dlc, uint8_t m_Msg[])
{ {
ReceivedMsg(m_id, m_dlc); ReceivedMsg(m_id, m_dlc);
Co_Can_Buff_Set(Co_Can_ConvertSubID(m_id), m_dlc, m_Msg);
if ( if (
(m_id == 0x18DAF003u) || (m_id == 0x18DAF003u) ||
(m_id == 0x18DAF00Bu) || (m_id == 0x18DAF00Bu) ||
...@@ -159,6 +157,8 @@ void Can_Read_Msg(uint32_t m_id, uint8_t m_dlc, uint8_t m_Msg[]) ...@@ -159,6 +157,8 @@ void Can_Read_Msg(uint32_t m_id, uint8_t m_dlc, uint8_t m_Msg[])
Common_Set_UdsCanIDSta(m_id); Common_Set_UdsCanIDSta(m_id);
LK_Link_main(m_id, (uint8_t*)m_Msg, (m_dlc & 0x0f)); LK_Link_main(m_id, (uint8_t*)m_Msg, (m_dlc & 0x0f));
} }
Co_Can_Buff_Set(Co_Can_ConvertSubID(m_id), m_dlc, m_Msg);
} }
void Can_Read_Msg2(uint32_t m_id, uint8_t m_dlc, uint8_t m_Msg[]) void Can_Read_Msg2(uint32_t m_id, uint8_t m_dlc, uint8_t m_Msg[])
......
...@@ -13,7 +13,7 @@ volatile _LinkData LinkData; ...@@ -13,7 +13,7 @@ volatile _LinkData LinkData;
* Return : None * Return : None
* onther : * onther :
--------------------------------------------------------------------------*/ --------------------------------------------------------------------------*/
void LK_Link_main(uint16_t PDU_addr, uint8_t *CAN_BufAddr, uint8_t dlc) void LK_Link_main(uint32_t PDU_addr, uint8_t *CAN_BufAddr, uint8_t dlc)
{ {
if (LinkDataBuf[0].TransferStatus == empoty) if (LinkDataBuf[0].TransferStatus == empoty)
{ {
......
...@@ -12,6 +12,6 @@ EXTERN_LK_DIAGNO volatile _LinkData LinkDataBuf[2]; ...@@ -12,6 +12,6 @@ EXTERN_LK_DIAGNO volatile _LinkData LinkDataBuf[2];
EXTERN_LK_DIAGNO volatile _LinkData LinkData; EXTERN_LK_DIAGNO volatile _LinkData LinkData;
EXTERN_LK_DIAGNO void LK_FillMsg(uint8_t *data, uint8_t FillData, uint8_t dlc); EXTERN_LK_DIAGNO void LK_FillMsg(uint8_t *data, uint8_t FillData, uint8_t dlc);
EXTERN_LK_DIAGNO void LK_Link_main(uint16_t PDU_addr, uint8_t *CAN_BufAddr, uint8_t dlc); EXTERN_LK_DIAGNO void LK_Link_main(uint32_t PDU_addr, uint8_t *CAN_BufAddr, uint8_t dlc);
#endif /* LK_DIAGNO_H_ */ #endif /* LK_DIAGNO_H_ */
...@@ -8,6 +8,8 @@ ...@@ -8,6 +8,8 @@
#include "app_ServiceProc.h" #include "app_ServiceProc.h"
#include <string.h> #include <string.h>
#include "Common_Interface.h"
#define GLOBALS_UDS_CFG #define GLOBALS_UDS_CFG
#define GLOBALS_USER_DEF #define GLOBALS_USER_DEF
...@@ -17,6 +19,14 @@ volatile _N_USData Exct_USData; //报文接收的ID数据 ...@@ -17,6 +19,14 @@ volatile _N_USData Exct_USData; //报文接收的ID数据
volatile _DiagClock DiagClock; volatile _DiagClock DiagClock;
volatile _ErrorFrame Error; //错误信息 volatile _ErrorFrame Error; //错误信息
_DiagReciveDTC DiagReciveDTC; _DiagReciveDTC DiagReciveDTC;
_DiagReciveDTC DiagReciveDTCEngine;
_DiagReciveDTC DiagReciveDTCBrake;
_DiagReciveDTC DiagReciveDTCAMT;
_DiagReciveDTC DiagReciveDTCRadar;
_DiagReciveDTC DiagReciveDTCCamera;
_DiagReciveDTC DiagReciveDTCRetarder;
_DiagReciveGaugePara DiagReciveGaugePara; _DiagReciveGaugePara DiagReciveGaugePara;
//volatile uint32_t CrcCheckSum; //volatile uint32_t CrcCheckSum;
...@@ -176,9 +186,12 @@ void Diagnosis_main(void) ...@@ -176,9 +186,12 @@ void Diagnosis_main(void)
{ {
switch (Exct_USData.ind.N_TAtype) switch (Exct_USData.ind.N_TAtype)
{ {
case ID_BCM_ResAddr: case ID_BCM_ResAddr:
case 0x18DAF003u:/*变速箱AMT*/
case 0x18DAF00Bu:/*刹车EBS*/
case 0x18DAF010u:/*液缓*/
case 0x18DAF0A0u:/*雷达*/
case 0x18DAF0E8u:/*摄像头*/
switch (Exct_USData.ind.MsgData[0]) switch (Exct_USData.ind.MsgData[0])
{ {
case ReqReadDtcId: case ReqReadDtcId:
...@@ -198,7 +211,6 @@ void Diagnosis_main(void) ...@@ -198,7 +211,6 @@ void Diagnosis_main(void)
break; break;
} }
break; break;
//case ID_PhyAddr: //case ID_PhyAddr:
// switch (Exct_USData.ind.MsgData[0]) // switch (Exct_USData.ind.MsgData[0])
// { // {
...@@ -1197,19 +1209,96 @@ void App_14_service(_N_USData *AppUSData) ...@@ -1197,19 +1209,96 @@ void App_14_service(_N_USData *AppUSData)
--------------------------------------------------------------------------*/ --------------------------------------------------------------------------*/
void App_59_service(_N_USData *AppUSData) void App_59_service(_N_USData *AppUSData)
{ {
uint32_t UdsCanID = 0u;
uint16_t DID; uint16_t DID;
App_ErrorInfoInit((_N_USData *)AppUSData); App_ErrorInfoInit((_N_USData *)AppUSData);
//获取DID //获取DID
App_Load_DID((uint16_t *)&DID, (uint8_t *)&AppUSData->ind.MsgData[1]); App_Load_DID((uint16_t *)&DID, (uint8_t *)&AppUSData->ind.MsgData[1]);
(void)memset((uint8_t *)&DiagReciveDTC.UnionDTC, 0, sizeof(_DiagReciveDTC));
//(void)memset((uint8_t *)&DiagReciveDTC.UnionDTC, 0, sizeof(_DiagReciveDTC));
//if (AppUSData->ind.Length > 1)
//{
// if (AppUSData->ind.MsgData[1] == 0x02)
// {
// App_CopyRam((uint8_t *)&DiagReciveDTC.UnionDTC, (uint8_t *)&AppUSData->ind.MsgData[3], (AppUSData->ind.Length - 3));
// }
//}
UdsCanID = Common_Get_UdsCanIDSta();
switch (UdsCanID)
{
case ID_BCM_ResAddr:/*发动机*/
(void)memset((uint8_t *)&DiagReciveDTCEngine.UnionDTC, 0, sizeof(_DiagReciveDTC));
if (AppUSData->ind.Length > 1)
{
if (AppUSData->ind.MsgData[1] == 0x02)
{
App_CopyRam((uint8_t *)&DiagReciveDTCEngine.UnionDTC, (uint8_t *)&AppUSData->ind.MsgData[3], (AppUSData->ind.Length - 3));
}
}
break;
case 0x18DAF003u:/*变速箱AMT*/
(void)memset((uint8_t *)&DiagReciveDTCAMT.UnionDTC, 0, sizeof(_DiagReciveDTC));
if (AppUSData->ind.Length > 1)
{
if (AppUSData->ind.MsgData[1] == 0x02)
{
App_CopyRam((uint8_t *)&DiagReciveDTCAMT.UnionDTC, (uint8_t *)&AppUSData->ind.MsgData[3], (AppUSData->ind.Length - 3));
}
}
break;
case 0x18DAF00Bu:/*刹车EBS*/
(void)memset((uint8_t *)&DiagReciveDTCBrake.UnionDTC, 0, sizeof(_DiagReciveDTC));
if (AppUSData->ind.Length > 1) if (AppUSData->ind.Length > 1)
{ {
if (AppUSData->ind.MsgData[1] == 0x02)
{
App_CopyRam((uint8_t *)&DiagReciveDTCBrake.UnionDTC, (uint8_t *)&AppUSData->ind.MsgData[3], (AppUSData->ind.Length - 3));
}
}
break;
case 0x18DAF010u:/*液缓*/
(void)memset((uint8_t *)&DiagReciveDTCRetarder.UnionDTC, 0, sizeof(_DiagReciveDTC));
if (AppUSData->ind.Length > 1)
{
if (AppUSData->ind.MsgData[1] == 0x02) if (AppUSData->ind.MsgData[1] == 0x02)
{ {
App_CopyRam((uint8_t *)&DiagReciveDTC.UnionDTC, (uint8_t *)&AppUSData->ind.MsgData[3], (AppUSData->ind.Length - 3)); App_CopyRam((uint8_t *)&DiagReciveDTCRetarder.UnionDTC, (uint8_t *)&AppUSData->ind.MsgData[3], (AppUSData->ind.Length - 3));
} }
} }
break;
case 0x18DAF0A0u:/*雷达*/
(void)memset((uint8_t *)&DiagReciveDTCRadar.UnionDTC, 0, sizeof(_DiagReciveDTC));
if (AppUSData->ind.Length > 1)
{
if (AppUSData->ind.MsgData[1] == 0x02)
{
App_CopyRam((uint8_t *)&DiagReciveDTCRadar.UnionDTC, (uint8_t *)&AppUSData->ind.MsgData[3], (AppUSData->ind.Length - 3));
}
}
break;
case 0x18DAF0E8u:/*摄像头*/
(void)memset((uint8_t *)&DiagReciveDTCCamera.UnionDTC, 0, sizeof(_DiagReciveDTC));
if (AppUSData->ind.Length > 1)
{
if (AppUSData->ind.MsgData[1] == 0x02)
{
App_CopyRam((uint8_t *)&DiagReciveDTCCamera.UnionDTC, (uint8_t *)&AppUSData->ind.MsgData[3], (AppUSData->ind.Length - 3));
}
}
break;
default:
break;
}
} }
/*------------------------------------------------------------------------- /*-------------------------------------------------------------------------
* Function Name : App_2F_service * Function Name : App_2F_service
......
...@@ -34,7 +34,7 @@ typedef enum ...@@ -34,7 +34,7 @@ typedef enum
} TransSt; } TransSt;
typedef struct typedef struct
{ {
uint16_t Identifier; //Fun--PGN-- uint32_t Identifier; //Fun--PGN--
uint8_t DLC; uint8_t DLC;
uint8_t Data[8]; uint8_t Data[8];
TransSt TransferStatus; TransSt TransferStatus;
...@@ -62,7 +62,7 @@ typedef struct ...@@ -62,7 +62,7 @@ typedef struct
{ {
struct struct
{ {
uint16_t N_TAtype; uint32_t N_TAtype;
uint16_t Length; uint16_t Length;
uint8_t N_SA; uint8_t N_SA;
uint8_t N_TA; uint8_t N_TA;
...@@ -78,7 +78,7 @@ typedef struct ...@@ -78,7 +78,7 @@ typedef struct
{ {
struct struct
{ {
uint16_t N_TAtype; //PGN 55808--0xDA00 uint32_t N_TAtype; //PGN 55808--0xDA00
uint16_t Length; uint16_t Length;
uint8_t N_SA; uint8_t N_SA;
uint8_t N_TA; uint8_t N_TA;
...@@ -194,5 +194,13 @@ typedef struct ...@@ -194,5 +194,13 @@ typedef struct
#include "app_ServiceProc.h" #include "app_ServiceProc.h"
#include "app_Service.h" #include "app_Service.h"
extern _DiagReciveDTC DiagReciveDTC ; extern _DiagReciveDTC DiagReciveDTC ;
extern _DiagReciveDTC DiagReciveDTCEngine;
extern _DiagReciveDTC DiagReciveDTCBrake;
extern _DiagReciveDTC DiagReciveDTCAMT;
extern _DiagReciveDTC DiagReciveDTCRadar;
extern _DiagReciveDTC DiagReciveDTCCamera;
extern _DiagReciveDTC DiagReciveDTCRetarder;
extern _DiagReciveGaugePara DiagReciveGaugePara; extern _DiagReciveGaugePara DiagReciveGaugePara;
#endif /* _UDS_INCLUDES_H_ */ #endif /* _UDS_INCLUDES_H_ */
...@@ -136,8 +136,13 @@ void Sys_Run_Mode_2ms_Tasks(void) ...@@ -136,8 +136,13 @@ void Sys_Run_Mode_2ms_Tasks(void)
Gauges_Time_Xms_Count(2); Gauges_Time_Xms_Count(2);
} }
Common_DTC_Server(); //Common_DTC_Server();
Common_test(); Common_DTCEngine_Server();
Common_DTCBrake_Server();
Common_DTCAMT_Server();
Common_DTCRadar_Server();
Common_DTCCamera_Server();
Common_DTCRetarder_Server();
} }
/*============================================================================*/ /*============================================================================*/
/*============================================================================== /*==============================================================================
......
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