2024-12-23 11:04:44 +08:00
|
|
|
/*
|
|
|
|
* diagnostic_DID.c
|
|
|
|
*
|
|
|
|
* Created on: Feb 16, 2019
|
|
|
|
* Author: Administrator
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
#include "diagnostic_DID.h"
|
|
|
|
|
|
|
|
/*******************************配置DID*************************************/
|
|
|
|
const TYPE_DIDSRVARR DID_CheckArr[DEF_DID_NUM]={
|
|
|
|
{0xF187, 11, &DIDsrv_ReadPartnumber},
|
|
|
|
{0xF189, 4, &DIDsrv_ReadSoftwareVersion},
|
|
|
|
{0xF191, 11, &DIDsrv_ReadPartnumber},
|
|
|
|
{0xF1A3, 3, &DIDsrv_ReadHardwareVersion},
|
|
|
|
{0x062E, 3, &DIDsrv_ReadSlaveCoding},
|
|
|
|
{0x065E, 11, &DIDsrv_ReadPartnumber},
|
|
|
|
{0x068E, 4, &DIDsrv_ReadSoftwareVersion},
|
|
|
|
{0x06BE, 11, &DIDsrv_ReadPartnumber},
|
|
|
|
{0x06EE, 3, &DIDsrv_ReadHardwareVersion},
|
|
|
|
{0x071E, 20, &DIDsrv_ReadSerialnumber},
|
|
|
|
{0x074E, 13, &DIDsrv_ReadSystemName},
|
|
|
|
{0x6031, 3, &DIDsrv_ReadSlaveCoding},
|
|
|
|
{0x6231, 11, &DIDsrv_ReadPartnumber},
|
|
|
|
{0x6431, 4, &DIDsrv_ReadSoftwareVersion},
|
|
|
|
{0x6631, 11, &DIDsrv_ReadPartnumber},
|
|
|
|
{0x6831, 3, &DIDsrv_ReadHardwareVersion},
|
|
|
|
{0x6A31, 20, &DIDsrv_ReadSerialnumber},
|
|
|
|
{0x6C31, 13, &DIDsrv_ReadSystemName},
|
|
|
|
{0xF15B, 9, &DIDsrv_ReadF15B},
|
|
|
|
{0xF186, 1, &DIDsrv_ReadF186},
|
|
|
|
//{0xF198, 13, &DIDsrv_ReadF198},//样件读取错误
|
|
|
|
//{0xF19E, 16, &DIDsrv_ReadF19E},//数据有风险
|
|
|
|
{0xF1A2, 6, &DIDsrv_ReadF1A2},
|
|
|
|
{0xF1DF, 1, &DIDsrv_ReadF1DF},
|
|
|
|
{0xF18C, 20, &DIDsrv_ReadSerialnumber},
|
|
|
|
{0xF17C, 23, &DIDsrv_ReadFAZIT},
|
|
|
|
{0xF197, 13, &DIDsrv_ReadSystemName},
|
|
|
|
};
|
|
|
|
|
|
|
|
//const char DIDList_SWVersion[8]@0xff7000="SW0102";
|
2024-12-23 16:38:20 +08:00
|
|
|
const char DIDList_SWVersion[4]="0309";
|
2024-12-23 11:04:44 +08:00
|
|
|
const char DIDList_HWVersion[3]="H04";
|
|
|
|
const unsigned char DIDList_PartNumber[8]={0x11,0x22,0x33,0x44};
|
|
|
|
const unsigned char DIDList_ManufacturingData[8]={0x20,0x20,0x07,0x22};
|
|
|
|
const char DIDList_ECUname[16]={"DMK-BC316-77"};
|
|
|
|
const char DIDList_PartNum[11]={"5CG959442B "};
|
|
|
|
const unsigned char DIDList_SlaveCoding[3]={0x24,0x00,0x00};//按照样件改为24 00 00
|
|
|
|
const char DIDList_SerialNum[20]={"0521910200700191DQ4J"};
|
|
|
|
const char DIDList_SystemName[13]={"E221__MFL-TAT"};
|
|
|
|
const char DIDList_F15B[9]={0,1,1,0,0,0,0,0,0};
|
|
|
|
const char DIDList_F186[1]={1};
|
|
|
|
const char DIDList_F198[1]={0xff};
|
|
|
|
const char DIDList_F19E[16]={"EV_MFLTRWVW250GP"};
|
|
|
|
const char DIDList_F1A2[6]={"001001"};
|
|
|
|
const char DIDList_F1DF[1]={0x40};
|
|
|
|
const char DIDList_FAZIT[23]={"S5G-DMG18.11.2400010001"};
|
|
|
|
/******************************************************************************/
|
|
|
|
|
|
|
|
void DIDsrv_ReadSoftwareVersion(unsigned char length,unsigned char * addr)
|
|
|
|
{
|
|
|
|
DataCopy8bit((unsigned char *)DIDList_SWVersion,addr,length);
|
|
|
|
}
|
|
|
|
void DIDsrv_ReadFAZIT(unsigned char length,unsigned char * addr)
|
|
|
|
{
|
|
|
|
DataCopy8bit((unsigned char *)DIDList_FAZIT,addr,length);
|
|
|
|
}
|
|
|
|
void DIDsrv_ReadHardwareVersion(unsigned char length,unsigned char * addr)
|
|
|
|
{
|
|
|
|
DataCopy8bit((unsigned char *)DIDList_HWVersion,addr,length);
|
|
|
|
}
|
|
|
|
void DIDsrv_ReadBootloaderVersion(unsigned char length,unsigned char * addr)
|
|
|
|
{
|
|
|
|
DataCopy8bit((unsigned char *)0xfff000,addr,length);
|
|
|
|
}
|
|
|
|
void DIDsrv_ReadDMPartNumber(unsigned char length,unsigned char * addr)
|
|
|
|
{
|
|
|
|
DataCopy8bit((unsigned char *)DIDList_PartNumber,addr,length);
|
|
|
|
}
|
|
|
|
void DIDsrv_ReadManufacturingData(unsigned char length,unsigned char * addr)
|
|
|
|
{
|
|
|
|
DataCopy8bit((unsigned char *)DIDList_ManufacturingData,addr,length);
|
|
|
|
}
|
|
|
|
void DIDsrv_ReadECUname(unsigned char length,unsigned char * addr)
|
|
|
|
{
|
|
|
|
//unsigned char conf;
|
|
|
|
DataCopy8bit((unsigned char *)(DIDList_ECUname[0]),addr,length);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void DIDsrv_ReadPartnumber(unsigned char length,unsigned char * addr)
|
|
|
|
{
|
|
|
|
DataCopy8bit((unsigned char *)DIDList_PartNum,addr,length);
|
|
|
|
}
|
|
|
|
|
|
|
|
void DIDsrv_ReadSlaveCoding(unsigned char length,unsigned char * addr)
|
|
|
|
{
|
|
|
|
DataCopy8bit((unsigned char *)DIDList_SlaveCoding,addr,length);
|
|
|
|
}
|
|
|
|
|
|
|
|
void DIDsrv_ReadSerialnumber(unsigned char length,unsigned char * addr)
|
|
|
|
{
|
|
|
|
DataCopy8bit((unsigned char *)DIDList_SerialNum,addr,length);
|
|
|
|
}
|
|
|
|
|
|
|
|
void DIDsrv_ReadSystemName(unsigned char length,unsigned char * addr)
|
|
|
|
{
|
|
|
|
DataCopy8bit((unsigned char *)DIDList_SystemName,addr,length);
|
|
|
|
}
|
|
|
|
|
|
|
|
void DIDsrv_ReadF15B(unsigned char length,unsigned char * addr)
|
|
|
|
{
|
|
|
|
DataCopy8bit((unsigned char *)DIDList_F15B,addr,length);
|
|
|
|
}
|
|
|
|
void DIDsrv_ReadF186(unsigned char length,unsigned char * addr)
|
|
|
|
{
|
|
|
|
DataCopy8bit((unsigned char *)DIDList_F186,addr,length);
|
|
|
|
}
|
|
|
|
void DIDsrv_ReadF198(unsigned char length,unsigned char * addr)
|
|
|
|
{
|
|
|
|
DataCopy8bit((unsigned char *)DIDList_F198,addr,length);
|
|
|
|
}
|
|
|
|
void DIDsrv_ReadF19E(unsigned char length,unsigned char * addr)
|
|
|
|
{
|
|
|
|
DataCopy8bit((unsigned char *)DIDList_F19E,addr,length);
|
|
|
|
}
|
|
|
|
void DIDsrv_ReadF1A2(unsigned char length,unsigned char * addr)
|
|
|
|
{
|
|
|
|
DataCopy8bit((unsigned char *)DIDList_F1A2,addr,length);
|
|
|
|
}
|
|
|
|
void DIDsrv_ReadF1DF(unsigned char length,unsigned char * addr)
|
|
|
|
{
|
|
|
|
DataCopy8bit((unsigned char *)DIDList_F1DF,addr,length);
|
|
|
|
}
|
|
|
|
|
|
|
|
void DataCopy8bit(unsigned char* source,unsigned char* dest,unsigned char length)
|
|
|
|
{
|
|
|
|
while(length-- > 0)
|
|
|
|
{
|
|
|
|
*(dest++) = *(source++);
|
|
|
|
}
|
|
|
|
}
|