/* * 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"; const char DIDList_SWVersion[4]="0309"; 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++); } }