HWBS/ECU_APP/diagnose/Dcm_DID_Cfg.c

741 lines
16 KiB
C
Raw Normal View History

2023-08-21 16:48:00 +08:00
/* @<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>@<40>ַ<EFBFBD><D6B7>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5> */
/******************************************************************************
| File Name : @<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>
| Description: @<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*****************************************************************************/
/******************************************************************************
* Description: : Include File Section
******************************************************************************/
/* @<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD> */
#include "r_cg_macrodriver.h"
#include "Dcm_DID_Cfg.h"
//#include "R_TypeDefs.h"
//#include "r_fdl_types.h"
//#include "eel.h"
#include "r_cg_userdefine.h"
#include "Dcm_extern.h"
#include "hwCtrl.h"
#include "appTask.h"
unsigned char DF_Read(unsigned char* read_buf,unsigned char data_num,unsigned char len);
/******************************************************************************
* Description: : Global Variable Definition Section
******************************************************************************/
/*@ <20><><EFBFBD><EFBFBD>ȫ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD> */
extern uint16 adResult[7];
uint8 TempTxBuffer[40];
/******************************************************************************
* Description: : Static Variable Definition Section
******************************************************************************/
uint8 CaDcm_u_NRCData[DCM_NRCCOUNT] = {0x11,0x12,0x13,0x14,0x22,0x24,0x31,0x33,0x35,0x36,0x37,0x7F,0x72,0x71,0x73,0x78,0x7E}; /*27 <20><><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
uint8 wBuf[20] = {0,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xaa,0xbb,0xcc,0xdd,0xee,0xff,0};
/******************************************************************************
* Description: : Static Function Prototype Declaration
*****************************************************************************/
/*@<40><>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
/******************************************************************************
* Description: : Write User Function Code
*****************************************************************************/
/*@<40><><EFBFBD><EFBFBD>ͷע<CDB7>͸<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD><D0BA><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>մ˸<D5B4>ʽע<CABD><D7A2>*/
/******************************************************************************
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD>ʱ<EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD>ע : @
*****************************************************************************/
uint8 GetRTE_Dcm_DidServices_0x0200_ReadData(uint8* data)
{
data[0] = *(__far uint8 *)DID_0200_ADDR;
if(data[0] != 0xFF) //R_FDL_OK
return DCM_CHECK_OK;
else
return DCM_CHECK_NOK;
}
/******************************************************************************
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD>ʱ<EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD>ע : @
*****************************************************************************/
uint8 GetRTE_Dcm_DidServices_0x0201_ReadData(uint8* data)
{
data[0] = *(__far uint8 *)DID_0201_ADDR;
if(data[0] != 0xFF) //R_FDL_OK
return DCM_CHECK_OK;
else
return DCM_CHECK_NOK;
}
/******************************************************************************
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD>ʱ<EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD>ע : @
*****************************************************************************/
uint8 GetRTE_Dcm_DidServices_0xF110_ReadData(uint8* data)
{
if( 0 == DF_Read(data,GetIndexNumber(INDEX_0xF110),8)) //R_FDL_OK
return DCM_CHECK_OK;
else
return DCM_CHECK_NOK;
}
/******************************************************************************
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD>ʱ<EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD>ע : @
*****************************************************************************/
uint8 GetRTE_Dcm_DidServices_0xF112_ReadData(uint8* data)
{
if( 0 == DF_Read(data,GetIndexNumber(INDEX_0xF112),8)) //R_FDL_OK
return DCM_CHECK_OK;
else
return DCM_CHECK_NOK;
}
/******************************************************************************
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD>ʱ<EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD>ע : @
*****************************************************************************/
uint8 GetRTE_Dcm_DidServices_0xF197_ReadData(uint8* data)
{
(void)data;
data[0] = 'T';
data[1] = 'O';
data[2] = 'N';
data[3] = 'G';
data[4] = 'Y';
data[5] = 'U';
data[6] = '-';
data[7] = 'S';
data[8] = 'C';
data[9] = 'M';
return DCM_CHECK_OK;
}
/******************************************************************************
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD>ʱ<EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD>ע : @
*****************************************************************************/
uint8 GetRTE_Dcm_DidServices_0xF180_ReadData(uint8* data)
{
__far uint8 *p = DID_F180_ADDR;
(void)data;
data[0] = *p++;
data[1] = *p++;
data[2] = *p++;
data[3] = *p++;
data[4] = *p++;
data[5] = *p++;
data[6] = *p++;
data[7] = *p++;
data[8] = *p++;
data[9] = *p++;
data[10] = *p++;
data[11] = *p++;
data[12] = *p++;
data[13] = *p++;
data[14] = *p++;
data[15] = *p++;
return DCM_CHECK_OK;
}
/******************************************************************************
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ : @
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD> : @
*<EFBFBD>ʱ<EFBFBD><EFBFBD> : @
*<EFBFBD><EFBFBD>ע : @
*****************************************************************************/
uint8 GetRTE_Dcm_DidServices_0xF181_ReadData(uint8* data)
{
(void)data;
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0xF183_ReadData(uint8* data)
{
(void)data;
return DCM_CHECK_OK;
}
#define DCM_DEFAULT_SESSION 0x01 /*Ĭ<><C4AC>ģʽ*/
#define DCM_PROGRAMME_SESSION 0x02 /*<2A><><EFBFBD><EFBFBD>ģʽ*/
#define DCM_EXTEND_SESSION 0x04 /*<2A><>չģʽ*/
extern uint8 MngDcm_GetDiagnosticSession(void);
uint8 GetRTE_Dcm_DidServices_0xF186_ReadData(uint8* data)
{
uint8 temp = 0xFF;
temp = MngDcm_GetDiagnosticSession(); /* <20><>ǰ<EFBFBD>Ựģʽ */
if(temp == DCM_DEFAULT_SESSION){
*data = 0x01;
}
else if(temp == DCM_PROGRAMME_SESSION){
*data = 0x02;
}
else if(temp == DCM_EXTEND_SESSION){
*data = 0x03;
}
if( 0xFF != temp)
return DCM_CHECK_OK;
else
return DCM_CHECK_NOK;
}
uint8 GetRTE_Dcm_DidServices_0xF187_ReadData(uint8* data)
{
(void)data;//RF01-68013200
data[0] = 'R';
data[1] = 'F';
data[2] = '0';
data[3] = '1';
data[4] = '-';
data[5] = '6';
data[6] = '8';
data[7] = '0';
data[8] = '1';
data[9] = '3';
data[10] = '2';
data[11] = '0';
data[12] = '0';
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0xF189_ReadData(uint8* data)
{
(void)data;
data[0 ] = 'C';
data[1 ] = '4';
data[2 ] = '0';
data[3 ] = ' ';
data[4 ] = ' ';
data[5 ] = ' ';
data[6 ] = ' ';
data[7 ] = ' ';
data[8 ] = ' ';
data[9 ] = ' ';
data[10] = ' ';
data[11] = ' ';
data[12] = ' ';
data[13] = ' ';
data[14] = ' ';
data[15] = ' ';
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0xF18A_ReadData(uint8* data)
{
(void)data;
data[0] = 'C';
data[1] = 'L';
data[2] = '1';
data[3] = '7';
data[4] = '7';
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0xF18B_ReadData(uint8* data)
{
(void)data;
data[0] = 0x20;
GetManufacturingDate(&data[1]);
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0xF190_ReadData(uint8* data)
{
(void *)data;
if(0 == DF_Read(data,GetIndexNumber(INDEX_0xF190),17)) //R_FDL_OK
return DCM_CHECK_OK;
else
return DCM_CHECK_NOK;
}
uint8 GetRTE_Dcm_DidServices_0xF191_ReadData(uint8* data)
{
(void)data;
data[0] = '1';
data[1] = '.';
data[2] = '1';
data[3] = '.';
data[4] = '1';
data[5] = ' ';
data[6] = ' ';
data[7] = ' ';
data[8] = ' ';
data[9] = ' ';
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0xF192_ReadData(uint8* data)
{
(void)data;
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0xF193_ReadData(uint8* data)
{
__far uint8 *p = DID_F193_ADDR;
(void)data;
*data++ = *p++;
*data++ = *p++;
*data++ = *p++;
*data++ = *p++;
*data++ = *p++;
*data++ = *p++;
*data++ = *p++;
*data++ = *p++;
*data++ = *p++;
*data++ = *p++;
// GetHardwareVersion(data);
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0xF194_ReadData(uint8* data)
{
(void)data;
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0xF195_ReadData(uint8* data)
{
GetSoftwareVersion(data);
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0xF198_ReadData(uint8* data)
{
(void *)data;
if(0 == DF_Read(data,GetIndexNumber(INDEX_0xF198),16)) //R_FDL_OK
return DCM_CHECK_OK;
else
return DCM_CHECK_NOK;
}
uint8 GetRTE_Dcm_DidServices_0xF199_ReadData(uint8* data)
{
(void)data;
if(0 == DF_Read(data,GetIndexNumber(INDEX_0xF199),4)) //R_FDL_OK
return DCM_CHECK_OK;
else
return DCM_CHECK_NOK;
}
uint8 GetRTE_Dcm_DidServices_0xF19D_ReadData(uint8* data)
{
(void)data;
if(0 == DF_Read(data,GetIndexNumber(INDEX_0xF19D),4)) //R_FDL_OK
return DCM_CHECK_OK;
else
return DCM_CHECK_NOK;
}
uint8 GetRTE_Dcm_DidServices_0x6300_ReadData(uint8* data)
{
(void)data;
*data = GetIoParameter(IO_TEMP);
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0x6308_ReadData(uint8* data)
{
(void)data;
*data = GetIoParameter(IO_REC);
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0x630B_ReadData(uint8* data)
{
(void)data;
*data = GetIoParameter(IO_FAN);
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0x630C_ReadData(uint8* data)
{
(void)data;
*data = GetIoParameter(IO_MODE);
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0x630D_ReadData(uint8* data)
{
(void)data;
*data = GetIoParameter(IO_DEFROST);
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0x630F_ReadData(uint8* data)
{
(void)data;
*data = GetIoParameter(IO_AC);
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0xFD00_ReadData(uint8* data)
{
(void)data;
*data = GetIoParameter(IO_K30);
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0xF1A2_ReadData(uint8* data)
{
(void)data;
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0xF1A2_WriteData(uint8* data)
{
(void)data;
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0xF1A4_ReadData(uint8* data)
{
(void)data;
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0xF1A5_ReadData(uint8* data)
{
(void)data;
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0xF1A5_WriteData(uint8* data)
{
(void)data;
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0xF1A6_ReadData(uint8* data)
{
(void)data;
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0xF1A6_WriteData(uint8* data)
{
(void)data;
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0x061BReadData(uint8* data)
{
(void)data;
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0x061CReadData(uint8* data)
{
(void)data;
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0x061DReadData(uint8* data)
{
(void)data;
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0x061EReadData(uint8* data)
{
(void)data;
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0x061FReadData(uint8* data)
{
(void)data;
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0x0620ReadData(uint8* data)
{
(void)data;
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0x0621ReadData(uint8* data)
{
(void)data;
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0x0622ReadData(uint8* data)
{
(void)data;
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0x1701ReadData(uint8* data)
{
//getHallNum(data);
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0x1702ReadData(uint8* data)
{
//getHallSoftStop(data);
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0x1706ReadData(uint8* data)
{
//getMotorLearnState(data);
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0x1707ReadData(uint8* data)
{
//getMotorCurrent(data);
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0x1708ReadData(uint8* data)
{
//getInputStatus(data);
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0x1709ReadData(uint8* data)
{
//getOutputStatus(data);
return DCM_CHECK_OK;
}
uint8 GetRTE_Dcm_DidServices_0x170BReadData(uint8* data)
{
getIGNVoltage(data);
return DCM_CHECK_OK;
}
uint8 GetVehicel_u_SpeedVal(void)
{
uint8 LeVehicle_U_Speed = 1;
return LeVehicle_U_Speed;
}
/****************************************************************/
uint8 GetRTE_Dcm_DidServices_0xF110_WriteData(uint8* data)
{
uint8 temp;
for(temp = 0;temp < 8;temp++)
{
wBuf[temp] = data[temp];
}
temp = DF_Write(wBuf,GetIndexNumber(INDEX_0xF110),8);
if(temp == 0) //R_FDL_OK
return DCM_CHECK_OK;
else
return DCM_CHECK_NOK;
}
/****************************************************************/
uint8 GetRTE_Dcm_DidServices_0xF112_WriteData(uint8* data)
{
uint8 temp;
for(temp = 0;temp < 8;temp++)
{
wBuf[temp] = data[temp];
}
temp = DF_Write(wBuf,GetIndexNumber(INDEX_0xF112),8);
if(temp == 0) //R_FDL_OK
return DCM_CHECK_OK;
else
return DCM_CHECK_NOK;
}
uint8 GetRTE_Dcm_DidServices_0xF190_WriteData(uint8* data)
{
uint8 temp;
for(temp = 0;temp < 17;temp++)
{
wBuf[temp] = data[temp];
}
temp = DF_Write(wBuf,GetIndexNumber(INDEX_0xF190),17);
if(temp == 0) //R_FDL_OK
return DCM_CHECK_OK;
else
return DCM_CHECK_NOK;
}
uint8 GetRTE_Dcm_DidServices_0xF197_WriteData(uint8* data)
{
uint8 temp;
for(temp = 0;temp < 8;temp++)
{
wBuf[temp] = data[temp];
}
temp = DF_Write(wBuf,GetIndexNumber(INDEX_0xF197),8);
if(temp == 0) //R_FDL_OK
return DCM_CHECK_OK;
else
return DCM_CHECK_NOK;
}
uint8 GetRTE_Dcm_DidServices_0xF198_WriteData(uint8* data)
{
uint8 temp;
for(temp = 0;temp < 16;temp++)
{
wBuf[temp] = data[temp];
}
temp = DF_Write(wBuf,GetIndexNumber(INDEX_0xF198),16);
if(temp == 0) //R_FDL_OK
return DCM_CHECK_OK;
else
return DCM_CHECK_NOK;
}
uint8 GetRTE_Dcm_DidServices_0xF199_WriteData(uint8* data)
{
uint8 temp;
for(temp = 0;temp < 4;temp++)
{
wBuf[temp] = data[temp];
}
temp = DF_Write(wBuf,GetIndexNumber(INDEX_0xF199),4);
if(temp == 0) //R_FDL_OK
return DCM_CHECK_OK;
else
return DCM_CHECK_NOK;
}
uint8 GetRTE_Dcm_DidServices_0xF19D_WriteData(uint8* data)
{
uint8 temp;
for(temp = 0;temp < 4;temp++)
{
wBuf[temp] = data[temp];
}
temp = DF_Write(wBuf,GetIndexNumber(INDEX_0xF19D),4);
if(temp == 0) //R_FDL_OK
return DCM_CHECK_OK;
else
return DCM_CHECK_NOK;
}
/****************************************************************/
uint8 GetRTE_Dcm_DidServices_0x6300_WriteData(uint8* data)
{
uint8 temp;
temp = *(data+1);
WriteIoParameter(IO_TEMP,temp);
return DCM_CHECK_OK;
}
/****************************************************************/
uint8 GetRTE_Dcm_DidServices_0x6308_WriteData(uint8* data)
{
uint8 temp;
temp = *(data+1);
WriteIoParameter(IO_REC,temp);
return DCM_CHECK_OK;
}
/****************************************************************/
uint8 GetRTE_Dcm_DidServices_0x630B_WriteData(uint8* data)
{
uint8 temp;
temp = *(data+1);
WriteIoParameter(IO_FAN,temp);
return DCM_CHECK_OK;
}
/****************************************************************/
uint8 GetRTE_Dcm_DidServices_0x630C_WriteData(uint8* data)
{
uint8 temp;
temp = *(data+1);
WriteIoParameter(IO_MODE,temp);
return DCM_CHECK_OK;
}
/****************************************************************/
uint8 GetRTE_Dcm_DidServices_0x630E_WriteData(uint8* data)
{
uint8 temp;
temp = *(data+1);
WriteIoParameter(IO_REARDEF,temp);
return DCM_CHECK_OK;
}