{"id":257022,"date":"2024-10-19T16:59:52","date_gmt":"2024-10-19T16:59:52","guid":{"rendered":"https:\/\/pdfstandards.shop\/product\/uncategorized\/bs-iso-22900-22009\/"},"modified":"2024-10-25T12:33:22","modified_gmt":"2024-10-25T12:33:22","slug":"bs-iso-22900-22009","status":"publish","type":"product","link":"https:\/\/pdfstandards.shop\/product\/publishers\/bsi\/bs-iso-22900-22009\/","title":{"rendered":"BS ISO 22900-2:2009"},"content":{"rendered":"

PDF Catalog<\/h4>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
PDF Pages<\/th>\nPDF Title<\/th>\n<\/tr>\n
11<\/td>\nScope
Normative references <\/td>\n<\/tr>\n
12<\/td>\nTerms and definitions
Symbols and abbreviated terms <\/td>\n<\/tr>\n
14<\/td>\nSpecification release version information
Specification release version location
Specification release version
Modular VCI use cases
OEM merger
OEM cross vehicle platform ECU(s) <\/td>\n<\/tr>\n
15<\/td>\nCentral source diagnostic data and exchange during ECU devel
OEM franchised dealer and aftermarket service outlet diagnos
Modular VCI software architecture
Overview <\/td>\n<\/tr>\n
16<\/td>\nModular VCI D-Server software <\/td>\n<\/tr>\n
17<\/td>\nRuntime format based on ODX
MVCI protocol module software
MVCI protocol module configurations <\/td>\n<\/tr>\n
18<\/td>\nD-PDU\u00a0API use cases
Overview
Use case\u00a01: Single MVCI protocol module <\/td>\n<\/tr>\n
19<\/td>\nUse case\u00a02: Multiple MVCI protocol modules supported by same <\/td>\n<\/tr>\n
20<\/td>\nUse case\u00a03: Multiple MVCI protocol modules supported by diff <\/td>\n<\/tr>\n
21<\/td>\nDiagnostic protocol data unit (D-PDU) API
Software requirements
General requirements <\/td>\n<\/tr>\n
22<\/td>\nVehicle protocol requirements
Timing requirements for protocol handler messages <\/td>\n<\/tr>\n
24<\/td>\nSerialization requirements for protocol handler messages <\/td>\n<\/tr>\n
25<\/td>\nCompatibility requirements <\/td>\n<\/tr>\n
26<\/td>\nTimestamp requirements
General information
Timestamp for transmitted messages
Timestamp for received messages
Timestamp for events, errors and indications
Timestamp for start of message indication <\/td>\n<\/tr>\n
27<\/td>\nAPI function overview and communication principles
Terms used within the D-PDU\u00a0API
Resource
ComLogicalLink
ComPrimitive
ComParam
Function overview <\/td>\n<\/tr>\n
29<\/td>\nGeneral usage <\/td>\n<\/tr>\n
31<\/td>\nAsynchronous and synchronous communication
General information <\/td>\n<\/tr>\n
32<\/td>\nEvent callback (asynchronous mode)
Polling (synchronous mode)
Usage of resource locking and resource unlocking
Usage of ComPrimitives
ComPrimitive overview <\/td>\n<\/tr>\n
33<\/td>\nComPrimitive send\/receive cycle overview
General information <\/td>\n<\/tr>\n
34<\/td>\nNumReceiveCycles description
NumSendCycles description <\/td>\n<\/tr>\n
35<\/td>\nComPrimitive principles
General information
Starting communication <\/td>\n<\/tr>\n
37<\/td>\nStopping communication <\/td>\n<\/tr>\n
38<\/td>\nSend and receive handling <\/td>\n<\/tr>\n
41<\/td>\nComPrimitives in non-raw mode
ComPrimitives in raw mode (PassThru) <\/td>\n<\/tr>\n
42<\/td>\nComPrimitive sequence diagrams
Single request\/single response (master\/slave communication) <\/td>\n<\/tr>\n
43<\/td>\nSingle request\/single response (master\/slave communication)
Single request\/multiple responses <\/td>\n<\/tr>\n
45<\/td>\nSingle request\/multiple responses \u2014 Functional Addressing <\/td>\n<\/tr>\n
46<\/td>\nSingle or multiple requests\/no responses <\/td>\n<\/tr>\n
47<\/td>\nNo request\/single or multiple responses
Parallel execution of ComPrimitives <\/td>\n<\/tr>\n
48<\/td>\nCancelling a running ComPrimitive
Destruction of ComPrimitives
Tool integration
Requirement for generic configuration
Tool integrator \u2013 use case <\/td>\n<\/tr>\n
50<\/td>\nAPI functions \u2013 interface description
Overview
PDUConstruct
Purpose
Behaviour <\/td>\n<\/tr>\n
51<\/td>\nC\/C++ prototype
Parameters
Example
Return values
PDUDestruct
Purpose
Behaviour <\/td>\n<\/tr>\n
52<\/td>\nC\/C++ prototype
Parameters
Return values
PDUIoCtl
Purpose
Behaviour
C\/C++ prototype <\/td>\n<\/tr>\n
53<\/td>\nParameters
Examples
Return values
PDUGetVersion
Purpose <\/td>\n<\/tr>\n
54<\/td>\nBehaviour
C\/C++ prototype
Parameters
Return values
PDUGetStatus
Purpose
Behaviour <\/td>\n<\/tr>\n
55<\/td>\nC\/C++ prototype
Parameters
Return values
PDUGetLastError
Purpose <\/td>\n<\/tr>\n
56<\/td>\nBehaviour
C\/C++ prototype
Parameters
Return values <\/td>\n<\/tr>\n
57<\/td>\nPDUGetResourceStatus
Purpose
Behaviour
C\/C++ prototype
Parameters
Return values <\/td>\n<\/tr>\n
58<\/td>\nPDUCreateComLogicalLink
Purpose
General
Unknown Resource Id Scheme
Specific Resource Id Scheme
Behaviour <\/td>\n<\/tr>\n
59<\/td>\nBehaviour \u2014 Use Cases
C\/C++ prototype
Parameters <\/td>\n<\/tr>\n
60<\/td>\nReturn values
PDUDestroyComLogicalLink
Purpose
Behaviour <\/td>\n<\/tr>\n
61<\/td>\nC\/C++ prototype
Parameters
Return values
PDUConnect
Purpose <\/td>\n<\/tr>\n
62<\/td>\nBehaviour
C\/C++ prototype
Parameters
Return values <\/td>\n<\/tr>\n
63<\/td>\nPDUDisconnect
Purpose
Behaviour
C\/C++ prototype
Parameters
Return values <\/td>\n<\/tr>\n
64<\/td>\nPDULockResource
Purpose
Behaviour
Behaviour \u2014 Use Cases
C\/C++ prototype <\/td>\n<\/tr>\n
65<\/td>\nParameters
Return values
PDUUnlockResource
Purpose
Behaviour
C\/C++ prototype
Parameters <\/td>\n<\/tr>\n
66<\/td>\nReturn values
PDUGetComParam
Purpose
Behaviour
C\/C++ prototype <\/td>\n<\/tr>\n
67<\/td>\nParameters
Return values
Example for ComParam Buffer Operation <\/td>\n<\/tr>\n
69<\/td>\nExample for ComParam buffer operation for PDUConnect
Example for ComParam buffer operation using TempParamUpdate <\/td>\n<\/tr>\n
70<\/td>\nExample for ComParam buffer operation using PDU_COPT_UPDATEP <\/td>\n<\/tr>\n
71<\/td>\nExample for ComParam buffer attachment to a ComPrimitive <\/td>\n<\/tr>\n
73<\/td>\nAdditional example for ComPrimitive queuing
PDUSetComParam
Purpose
Behaviour
Behaviour \u2014 Use Cases <\/td>\n<\/tr>\n
74<\/td>\nC\/C++ prototype
Parameters <\/td>\n<\/tr>\n
75<\/td>\nReturn values
PDUStartComPrimitive
Purpose
Behaviour <\/td>\n<\/tr>\n
76<\/td>\nBehaviour \u2014 Use Cases <\/td>\n<\/tr>\n
77<\/td>\nBehaviour \u2014 ComPrimitive status events <\/td>\n<\/tr>\n
78<\/td>\nC\/C++ prototype
Parameters <\/td>\n<\/tr>\n
79<\/td>\nReturn values
PDUCancelComPrimitive
Purpose
Behaviour
C\/C++ prototype <\/td>\n<\/tr>\n
80<\/td>\nParameters
Return values
PDUGetEventItem
Purpose
Behaviour <\/td>\n<\/tr>\n
81<\/td>\nC\/C++ prototype
Parameters
Return values
PDUDestroyItem
Purpose
Behaviour <\/td>\n<\/tr>\n
82<\/td>\nC\/C++ prototype
Parameters
Return values
PDURegisterEventCallback
Purpose
Behaviour <\/td>\n<\/tr>\n
83<\/td>\nC\/C++ Prototype
Parameters <\/td>\n<\/tr>\n
84<\/td>\nReturn values
EventCallback prototype
Purpose <\/td>\n<\/tr>\n
85<\/td>\nC\/C++ prototype
Parameters
Return values
PDUGetObjectId
Purpose
Behaviour
C\/C++ prototype <\/td>\n<\/tr>\n
86<\/td>\nParameters
Return values
PDUGetModuleIds
Purpose
Behaviour <\/td>\n<\/tr>\n
87<\/td>\nBehaviour \u2014 Use Cases <\/td>\n<\/tr>\n
88<\/td>\nC\/C++ prototype
Parameters
Return values
PDUGetResourceIds
Purpose
Behaviour <\/td>\n<\/tr>\n
89<\/td>\nC\/C++ prototype
Parameters
Return values
PDUGetConflictingResources
Purpose <\/td>\n<\/tr>\n
90<\/td>\nBehaviour
C\/C++ prototype
Parameters
Return values
PDUGetUniqueRespIdTable
Purpose <\/td>\n<\/tr>\n
91<\/td>\nBehaviour
C\/C++ prototype
Parameters
Return values <\/td>\n<\/tr>\n
92<\/td>\nPDUSetUniqueRespIdTable
Purpose
Behaviour
Behaviour \u2014 Use Cases
C\/C++ prototype
Parameters <\/td>\n<\/tr>\n
93<\/td>\nReturn values
Using the Unique Response ID Table (URID Table) for physical <\/td>\n<\/tr>\n
94<\/td>\nHandling of known and unknown responses from an ECU
Use cases <\/td>\n<\/tr>\n
95<\/td>\nHandling of known ECU response ids
Handling of unknown ECU response ids <\/td>\n<\/tr>\n
96<\/td>\nECU Response Handling Flow Chart <\/td>\n<\/tr>\n
97<\/td>\nPDUModuleConnect
Purpose
Behaviour
Behaviour \u2014 Use Cases <\/td>\n<\/tr>\n
98<\/td>\nC\/C++ prototype
Parameters
Return values
PDUModuleDisconnect
Purpose <\/td>\n<\/tr>\n
99<\/td>\nBehaviour
C\/C++ prototype
Parameters
Return values
PDUGetTimestamp
Purpose
Behaviour <\/td>\n<\/tr>\n
100<\/td>\nC\/C++ prototype
Parameters
Return values
I\/O control section
IOCTL\u00a0API command overview <\/td>\n<\/tr>\n
102<\/td>\nPDU_IOCTL_RESET <\/td>\n<\/tr>\n
103<\/td>\nPDU_IOCTL_CLEAR_TX_QUEUE
PDU_IOCTL_SUSPEND_TX_QUEUE <\/td>\n<\/tr>\n
104<\/td>\nPDU_IOCTL_RESUME_TX_QUEUE
PDU_IOCTL_CLEAR_RX_QUEUE <\/td>\n<\/tr>\n
105<\/td>\nPDU_IOCTL_READ_VBATT
PDU_IOCTL_SET_PROG_VOLTAGE <\/td>\n<\/tr>\n
106<\/td>\nPDU_IOCTL_READ_PROG_VOLTAGE <\/td>\n<\/tr>\n
107<\/td>\nPDU_IOCTL_GENERIC
PDU_IOCTL_SET_BUFFER_SIZE <\/td>\n<\/tr>\n
108<\/td>\nPDU_IOCTL_GET_CABLE_ID
PDU_IOCTL_START_MSG_FILTER <\/td>\n<\/tr>\n
110<\/td>\nMSG_FILTER block diagram
PDU_IOCTL_STOP_MSG_FILTER <\/td>\n<\/tr>\n
111<\/td>\nPDU_IOCTL_CLEAR_MSG_FILTER
PDU_IOCTL_SET_EVENT_QUEUE_PROPERTIES <\/td>\n<\/tr>\n
112<\/td>\nPDU_IOCTL_SEND_BREAK <\/td>\n<\/tr>\n
113<\/td>\nPDU_IOCTL_READ_IGNITION_SENSE_STATE <\/td>\n<\/tr>\n
114<\/td>\nAPI functions \u2014 error handling
Synchronous error handling
Asynchronous error handling
Installation
Generic description <\/td>\n<\/tr>\n
115<\/td>\nWindows installation process
Locating the Windows D-PDU\u00a0API DLL
Loading the Windows D-PDU\u00a0API DLL <\/td>\n<\/tr>\n
116<\/td>\nLinux installation process
Locating the Linux D-PDU\u00a0API shared library
Loading the Linux D-PDU\u00a0API shared library
Selecting MVCI protocol modules
Application notes
Interaction with the MDF
Accessing additional hardware features for MVCI protocol mod <\/td>\n<\/tr>\n
117<\/td>\nDocumentation and information provided by MVCI protocol modu
Performance Testing <\/td>\n<\/tr>\n
118<\/td>\nUsing the D-PDU\u00a0API with existing applications
SAE\u00a0J2534-1 and RP1210a existing standards
Data structures
API functions \u2014 data structure definitions
Abstract basic data types <\/td>\n<\/tr>\n
119<\/td>\nDefinitions
Bit encoding for UNUM32 <\/td>\n<\/tr>\n
120<\/td>\nAPI data structures
General information
Generic Item for type evaluation and casting <\/td>\n<\/tr>\n
121<\/td>\nItems for IOCTL data transfer (PDUIoctl)
Item for Generic IOCTL data item
IOCTL programming voltage structure (PDU_IT_IO_PROG_VOLTAGE)
IOCTL byte array structure (PDU_IT_IO_BYTEARRAY)
IOCTL filter list structure (PDU_IT_IO_FILTER)
IOCTL filter data structure <\/td>\n<\/tr>\n
122<\/td>\nIOCTL event queue property structure (PDU_IT_IO_EVENT_QUEUE_
Item for resource status information (used by PDUGetResource
Item for ComParam data (used by PDUGetComParam, PDUSetComPar <\/td>\n<\/tr>\n
123<\/td>\nItem for module identification (used by PDUGetModuleIds) <\/td>\n<\/tr>\n
124<\/td>\nItems for resource identification (used by PDUGetResourceIds
Structure for resource data (used by PDUGetResourceIds and P
Item for conflicting resources (used by PDUGetConflictingRes <\/td>\n<\/tr>\n
125<\/td>\nItem for unique response identification (used by PDUGetUniqu <\/td>\n<\/tr>\n
126<\/td>\nItem for event notification
Structure for status data
Asynchronous event information notification for PDU_IT_INFO <\/td>\n<\/tr>\n
127<\/td>\nAsynchronous error notification structure for the PDU_IT_ERR
Structure for result data
Structure for extra result data information <\/td>\n<\/tr>\n
128<\/td>\nStructure for flag data
Structure for version information (used by PDUGetVersion)
Coding of version numbers <\/td>\n<\/tr>\n
129<\/td>\nCoding of dates
Structure to control a ComPrimitive’s operation (used by PDU <\/td>\n<\/tr>\n
130<\/td>\nStructure for expected response
Expected response type <\/td>\n<\/tr>\n
131<\/td>\nArray of unique response ids (pUniqueRespIds)
Expected response matching rules
Expected response example <\/td>\n<\/tr>\n
132<\/td>\nExpected response structure (RawMode\/NonRawMode) <\/td>\n<\/tr>\n<\/table>\n","protected":false},"excerpt":{"rendered":"

Road vehicles. Modular vehicle communication interface (MVCI) – Diagnostic protocol data unit application programming interface (D-PDU API)<\/b><\/p>\n\n\n\n\n
Published By<\/td>\nPublication Date<\/td>\nNumber of Pages<\/td>\n<\/tr>\n
BSI<\/b><\/a><\/td>\n2009<\/td>\n338<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"featured_media":257026,"template":"","meta":{"rank_math_lock_modified_date":false,"ep_exclude_from_search":false},"product_cat":[742,2641],"product_tag":[],"class_list":{"0":"post-257022","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-43-040-15","7":"product_cat-bsi","9":"first","10":"instock","11":"sold-individually","12":"shipping-taxable","13":"purchasable","14":"product-type-simple"},"_links":{"self":[{"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/product\/257022","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/types\/product"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/media\/257026"}],"wp:attachment":[{"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/media?parent=257022"}],"wp:term":[{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/product_cat?post=257022"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/pdfstandards.shop\/wp-json\/wp\/v2\/product_tag?post=257022"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}