Commit bf8daa9b authored by hu's avatar hu

调整故障码显示

parent b4cb204d
......@@ -2,6 +2,7 @@
#include "CAN_Communication_Matrix.h"
/*增加外发计算部分引用文件*/
#include "Common_Interface.h"
#include "app_ServiceProc.h"
#include "Gauges.h"
#include "GaugesInterface.h"
#include "Telltales.h"
......@@ -1157,3 +1158,58 @@ uint8_t Common_GetTXNum_18033317(void)
{
return TXNum_18033317;
}
/*-------------------------------------------------------------------------
* Function Name : GetAllDtcFault
* Description :
* Input : None
* Output : None
* Return : None
* onther : None
--------------------------------------------------------------------------*/
void GetAllDtcFault(uint32_t* pCurFault, uint8_t* pCurFaultNum, uint32_t* pHisFault, uint8_t* pHisFaultNum)
{
uint8_t i = 0;
uint8_t DtcCurFaultCn = 0;
uint8_t DtcHisFaultCn = 0;
uint32_t DtcFaultTmp = 0;
for (i = 0; i < 25; i++)
{
DtcFaultTmp = DiagReciveDTC.SubDTC.StructDTC[i];
swap32(&DtcFaultTmp);
if ((DtcFaultTmp & 0x01) == 0x01) /*当前故障*/
{
pCurFault[DtcCurFaultCn] = DtcFaultTmp;
DtcCurFaultCn++;
}
if ((DtcFaultTmp & 0x21) == 0x20) /*历史故障*/
{
pHisFault[DtcHisFaultCn] = DtcFaultTmp;
DtcHisFaultCn++;
}
}
*pCurFaultNum = DtcCurFaultCn;
*pHisFaultNum = DtcHisFaultCn;
}
/*-------------------------------------------------------------------------
* Function Name : GetAllDtcFault
* Description :
* Input : None
* Output : None
* Return : None
* onther : None
--------------------------------------------------------------------------*/
void swap32(uint32_t *DwData)
{
uint8_t *ptmp = (uint8_t *)DwData;
ptmp[0] ^= ptmp[3];
ptmp[3] ^= ptmp[0];
ptmp[0] ^= ptmp[3];
ptmp[1] ^= ptmp[2];
ptmp[2] ^= ptmp[1];
ptmp[1] ^= ptmp[2];
}
\ No newline at end of file
......@@ -64,10 +64,8 @@ void Id18033317_Send_Service(void);
void MSG_18021733_REC_COPY(uint8_t copy[]);
void GetAllDtcFault(uint32_t* pCurFault, uint8_t* pCurFaultNum, uint32_t* pHisFault, uint8_t* pHisFaultNum);
void swap32(uint32_t *DwData);
void DoCan_Data_Indicatiom ( uint32_t Identifier, uint8_t dlc, uint8_t pData[] );
void DoCAN_GetEngineDUC_N_PDU ( void );
#endif
\ No newline at end of file
This diff is collapsed.
......@@ -313,6 +313,7 @@ static const uint16_t GUIBGAVGSpeedPosX[4] = {667u, 642u, 617u, 592u};
static const uint16_t GUIBGAVGFuelPosX[4] = {667u, 628u, 603u, 578u};
static const uint16_t GUIBGTestPosX[6] = {569u, 540u, 497u, 468u, 424u, 395u};
static const uint16_t GUIBGDTCPosX[5] = {558u, 528u, 468u, 438u, 408u};
typedef void ( * Disp_Mod_Menu ) (uint8_t Mode);
typedef struct
......
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