⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 diag_iso14230.h

📁 Freediag contains various drivers (ISO9141, ISO14230, SAEJ1850-VPW, SAEJ1850-PWM) for different adap
💻 H
字号:
/*
 *	freediag - Vehicle Diagnostic Utility
 *
 * CVSID $Id: diag_iso14230.h,v 1.2 2002/04/03 04:56:40 bjorn_helgaas Exp $
 *
 * Copyright (C) 2001 Richard Almeida & Ibex Ltd (rpa@ibex.co.uk)
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *
 *************************************************************************
 *
 * ISO 14230 (Keyword Protocol 2000) layer 3
 *
 * (c) 2001 R.P.Almeida
 *
 * This is NOT freely distributable
 * Once it is complete it will be released under the Gnu public
 * licence
 *
 * Read in conjunction with the ISO document, and the Swedish
 * recommended practice documents
 */


/***** ISO 14230-3, application interface *****/

/*
 * Service Identifier (request) codes
 * names made up
 */

/* 00->0F SAE J1979 Diagnostic Test Modes */
#define DIAG_KW2K_SI_STADS	0x10	/* startDiagnosticSession */
#define DIAG_KW2K_SI_ER	0x11	/* ecuReset */
#define DIAG_KW2K_SI_RDFFD	0x12	/* readFreezeFrameData */
#define DIAG_KW2K_SI_RDTC	0x13	/* readDiagnosticTroubleCodes */
#define DIAG_KW2K_SI_CDI	0x14	/* clearDiagnosticInformation */

#define DIAG_KW2K_SI_RDSODTC	0x17	/* readStatusOfDiagnosticTroubleCodes */
#define DIAG_KW2K_SI_RDTCBS	0x18	/* readDiagnosticTroubleCodesByStatus */

#define DIAG_KW2K_SI_REID	0x1A	/* readEcuId */

#define DIAG_KW2K_SI_STODS	0x20	/* stopDiagnosticSession */
#define DIAG_KW2K_SI_RDDBLI	0x21	/* readDataByLocalId */
#define DIAG_KW2K_SI_RDDBCI	0x22	/* readDataByCommonId */
#define DIAG_KW2K_SI_RDMBA	0x23	/* readMemoryByAddress */

#define DIAG_KW2K_SI_SRDT	0x25	/* stopRepeatedDataTransmission */
#define DIAG_KW2K_SI_SDR	0x26	/* setDataRates */
#define DIAG_KW2K_SI_SA	0x27	/* securityAccess */

#define DIAG_KW2K_SI_DDLI	0x2C	/* dynamicallyDefineLocalId */
#define DIAG_KW2K_SI_WRDBCI	0x2E	/* writeDataByCommonId */
#define DIAG_KW2K_SI_IOCBCI	0x2F	/* inputOutputControlByCommonId */
#define DIAG_KW2K_SI_IOCBLI	0x30	/* inputOutputControlByLocalId */
#define DIAG_KW2K_SI_STARBLI	0x31	/* startRoutineByLocalID */
#define DIAG_KW2K_SI_STORBLI	0x32	/* stopRoutineByLocalID */
#define DIAG_KW2K_SI_RRRBLI	0x33	/* requestRoutineResultsByLocalId */
#define DIAG_KW2K_SI_RD	0x34	/* requestDownload */
#define DIAG_KW2K_SI_RU	0x35	/* requestUpload */
#define DIAG_KW2K_SI_TD	0x36	/* transfer data */
#define DIAG_KW2K_SI_RTE	0x37	/* request transfer exit */
#define DIAG_KW2K_SI_STARBA	0x38	/* startRoutineByAddress
#define DIAG_KW2K_SI_STORBA	0x39	/* stopRoutineByAddress
#define DIAG_KW2K_SI_RRRBA	0x3A	/* requestRoutineResultsByAddress */
#define DIAG_KW2K_SI_WRDBLI	0x3B	/* writeDataByLocalId */

#define DIAG_KW2K_SI_WRMBA	0x3D	/* writeMemoryByAddress */
#define DIAG_KW2K_SI_TP		0x3E	/* testerPresent */

#define DIAG_KW2K_SI_SCR	0x81	/* startCommunication */
#define DIAG_KW2K_SI_SPR	0x82	/* stopCommunication */
#define DIAG_KW2K_SI_ATP	0x83	/* accessTimingParameters */


/*
 * Responses
 *
 * Positive responses are  service ID + 0x40
 */
#define DIAG_KW2K_RC_NR	0x7F	/* negative Response */



/*
 * Service response codes
 * names from ISO book
 */
#define DIAG_KW2K_RC_GR	0x10	/* generalReject */
#define DIAG_KW2K_RC_SNS	0x11	/* serviceNotSupported */
#define DIAG_KW2K_RC_SFNS_IF	0x12	/* subFunctionNotSupported-Invalid Format */
#define DIAG_KW2K_RC_B_RR	0x21	/* busy-repeatRequest */
#define DIAG_KW2K_RC_CNCORSE	0x22	/* conditionsNoteCorrectOrRequestSequenceError */
#define DIAG_KW2K_RC_RNC	0x23	/* routineNotCompleteOrServiceInProgress */
#define DIAG_KW2K_RC_ROOT	0x31	/* requestOutOfRange */
#define DIAG_KW2K_RC_SAD_SAR	0x33	/* securityAccessDenied-securityAccessRequested */
#define DIAG_KW2K_RC_IK	0x35	/* invalidKey */
#define DIAG_KW2K_RC_ENOA	0x36	/* exceedNumberOfAttempts */
#define DIAG_KW2K_RC_RTDNE	0x37	/* requiredTimeDelayNotExpired */
#define DIAG_KW2K_RC_DNA	0x40	/* downloadNotAccepted */
#define DIAG_KW2K_RC_IDT	0x41	/* improperDownloadType */

#define DIAG_KW2K_RC_CNDTSA	0x42	/* canNotDownloadToSpecifiedAddress */
#define DIAG_KW2K_RC_CNDNOBR	0x43	/* canNotDownloadNumberOfBytesRequested */
#define DIAG_KW2K_RC_UNA	0x50	/* uploadNotAccepted */
#define DIAG_KW2K_RC_IUT	0x51	/* improperUploadType */
#define DIAG_KW2K_RC_CNUFSA	0x52	/* canNotUploadFromSpecifiedAddress */
#define DIAG_KW2K_RC_CNUNOBR	0x53	/* canNotUploadNumberOfBytesRequested */
#define DIAG_KW2K_RC_TS	0x71	/* transferSuspended */
#define DIAG_KW2K_RC_TA	0x72	/* transferAborted */
#define DIAG_KW2K_RC_IAIBT	0x74	/* illegalAddressInBlockTransfer */
#define DIAG_KW2K_RC_IBCIBT	0x75	/* illegalByteCountInBlockTransfer */
#define DIAG_KW2K_RC_IBTT	0x76	/* illegalBlockTrasnferType */
#define DIAG_KW2K_RC_BTCDE	0x77	/* blockTransferDataChecksumError */
#define DIAG_KW2K_RC_RCR_RP	0x78	/* requestCorrectyRcvd-RspPending */
#define DIAG_KW2K_RC_IBCDBT	0x79	/* incorrectByteCountDuringBlockTransfer */
#define DIAG_KW2K_RC_SNSIADS	0x80	/* serviceNotSupportedInActiveDiagnosticMode */

#define DIAG_KW2K_RC_SCRPR	0xC1	/* StartComms +ve response */
#define DIAG_KW2K_RC_SPRPR	0xC2	/* StopComms +ve response */
#define DIAG_KW2K_RC_ATPPR	0xC3	/* AccessTimingParams +ve response */

/* 81-8F	reserved */
/* 90-F9	vehicle manufacturer specific */
/* FA-FE	system supplier specific */
/* FF		reserved by document */

/* Exports */
char * diag_l3_iso14230_decode_response(diag_msg_t *msg);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -