0% found this document useful (0 votes)
55 views92 pages

AUTOSAR CP SWS SAEJ1939RequestManager

Uploaded by

IMS COCHIN
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
55 views92 pages

AUTOSAR CP SWS SAEJ1939RequestManager

Uploaded by

IMS COCHIN
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 92

Specification of a Request Manager for SAE J1939

AUTOSAR CP R23-11

Specification of a Request
Document Title Manager for SAE J1939
Document Owner AUTOSAR
Document Responsibility AUTOSAR
Document Identification No 611

Document Status published


Part of AUTOSAR Standard Classic Platform
Part of Standard Release R23-11

Document Change History


Date Release Changed by Description
• Fixed include file for configurable
callouts

• Fixed reference to
J1939Rm_CheckReceivedComIPdu,
fixed name of
AUTOSAR J1939RmRequest2QueueSize, fixed
2023-11-23 R23-11 Release description of destAddress of
Management J1939Rm_CancelRequestTimeout

• Added information about automatic


handle IDs to configuration

• J1939Rm_AckCode and
J1939Rm_ExtIdType changed to
uint8
AUTOSAR
2022-11-24 R22-11 Release • No content changes
Management
• Converted to LATEX

AUTOSAR • Fixed UserId parameter range


2021-11-25 R21-11 Release • Extended acronym and related
Management documents tables

• Improved linking of terms


AUTOSAR • Improved structure of error sections
2020-11-30 R20-11 Release • Replaced error descriptions with
Management generated tables
5

1 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
• Cleaned up EcuC diagrams
AUTOSAR
• Improved service port tables
2019-11-28 R19-11 Release
Management • Changed Document Status from Final to
published
• Changed header file structure

AUTOSAR • Improved name of


Release J1939Rm_ComRxIpduCallout
2018-10-31 4.4.0
Management • Harmonized J1939RM_E_UNINIT

• Routing of RQST/RQST2/ACKM
• Clarified availability of
J1939Rm_ComRxIpduCallout
AUTOSAR • Added internal feedback of ACKM
2017-12-08 4.3.1 Release
Management • Clarification of extIdInfo parameter and
underlying standard

• Improved parameter checks


• Request2 support

AUTOSAR • Improved handling of meta data


2016-11-30 4.3.0 Release • Reliable TxConfirmation replaces
Management timeout

• Separate configuration of different users


• Fixed names and signatures of service
AUTOSAR ports
2015-07-31 4.2.2 Release
• Support for explicit broadcast of ACKM
Management
• Introduction of further error classes
AUTOSAR • Improved interaction with COM
2014-10-31 4.2.1 Release
Management • Harmonized with SWS BSW General
• Clarified availability of callbacks
AUTOSAR
2014-03-31 4.1.3 Release • Standardized callback header names
Management
• Fixed UserType Enum
5

2 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
• Additional development error for function
parameter checks

AUTOSAR • Clarification of Request timeout and


Release state handling
2013-10-31 4.1.2
Management • Separate configuration of received and
transmitted PGNs

• Removed change documentation


AUTOSAR
2013-03-15 4.1.1 • Initial Release
Administration

3 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

Disclaimer

This work (specification and/or software implementation) and the material contained in
it, as released by AUTOSAR, is for the purpose of information only. AUTOSAR and the
companies that have contributed to it shall not be liable for any use of the work.
The material contained in this work is protected by copyright and other types of intel-
lectual property rights. The commercial exploitation of the material contained in this
work requires a license to such intellectual property rights.
This work may be utilized or reproduced without any modification, in any form or by
any means, for informational purposes only. For any other purpose, no part of the work
may be utilized or reproduced, in any form or by any means, without permission in
writing from the publisher.
The work has been developed for automotive applications only. It has neither been
developed, nor tested for non-automotive applications.
The word AUTOSAR and the AUTOSAR logo are registered trademarks.

4 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

Contents
1 Introduction and functional overview 9
1.1 Request Management according to SAE J1939 . . . . . . . . . . . . . . 9
1.2 J1939 Request Manager BSW Module . . . . . . . . . . . . . . . . . . . 9
1.3 J1939 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 Acronyms and Abbreviations 11

3 Related documentation 12
3.1 Input documents & related standards and norms . . . . . . . . . . . . . 12
3.2 Related specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4 Constraints and assumptions 14
4.1 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2 Applicability to car domains . . . . . . . . . . . . . . . . . . . . . . . . . 14
5 Dependencies to other modules 15
5.1 File structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.1.1 Code file structure . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.1.2 Header file structure . . . . . . . . . . . . . . . . . . . . . . . . 15
6 Requirements Tracing 16

7 Functional specification 18
7.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7.2 Module Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7.2.1 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
7.2.2 Timing Related Functionality . . . . . . . . . . . . . . . . . . . 19
7.3 Communication State Handling . . . . . . . . . . . . . . . . . . . . . . . 19
7.4 Reception of Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
7.4.1 Request Forwarding . . . . . . . . . . . . . . . . . . . . . . . . 20
7.4.2 Request Handling via COM . . . . . . . . . . . . . . . . . . . . 20
7.4.3 Request of Unknown PGNs . . . . . . . . . . . . . . . . . . . . 21
7.5 Transmission of Acknowledgements . . . . . . . . . . . . . . . . . . . . 21
7.6 Transmission of Requests . . . . . . . . . . . . . . . . . . . . . . . . . . 22
7.7 Reception of Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 23
7.8 Timeout Supervision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
7.9 Routing of Requests and Acknowledgements . . . . . . . . . . . . . . . 25
7.10 Error Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
7.10.1 Development Errors . . . . . . . . . . . . . . . . . . . . . . . . 26
7.10.2 Runtime Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.10.3 Transient Faults . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.10.4 Production Errors . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.10.5 Extended Production Errors . . . . . . . . . . . . . . . . . . . . 27
8 API specification 28

5 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

8.1 API Parameter Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . 28


8.2 Imported types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
8.3 Type definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
8.3.1 J1939Rm_ConfigType . . . . . . . . . . . . . . . . . . . . . . . 29
8.3.2 J1939Rm_StateType . . . . . . . . . . . . . . . . . . . . . . . 29
8.4 Function definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.4.1 J1939Rm_Init . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.4.2 J1939Rm_DeInit . . . . . . . . . . . . . . . . . . . . . . . . . . 30
8.4.3 J1939Rm_GetVersionInfo . . . . . . . . . . . . . . . . . . . . . 31
8.4.4 J1939Rm_SetState . . . . . . . . . . . . . . . . . . . . . . . . 31
8.4.5 J1939Rm_SendRequest . . . . . . . . . . . . . . . . . . . . . 32
8.4.6 J1939Rm_CancelRequestTimeout . . . . . . . . . . . . . . . . 33
8.4.7 J1939Rm_SendAck . . . . . . . . . . . . . . . . . . . . . . . . 35
8.5 Callback notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
8.5.1 J1939Rm_RxIndication . . . . . . . . . . . . . . . . . . . . . . 36
8.5.2 J1939Rm_TxConfirmation . . . . . . . . . . . . . . . . . . . . 37
8.5.3 J1939Rm_CheckReceivedComIPdu . . . . . . . . . . . . . . . 37
8.6 Scheduled functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
8.6.1 J1939Rm_MainFunction . . . . . . . . . . . . . . . . . . . . . 38
8.7 Expected interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
8.7.1 Mandatory interfaces . . . . . . . . . . . . . . . . . . . . . . . 39
8.7.2 Optional interfaces . . . . . . . . . . . . . . . . . . . . . . . . . 39
8.7.3 Configurable interfaces . . . . . . . . . . . . . . . . . . . . . . 39
8.7.3.1 <User>_RequestIndication . . . . . . . . . . . . . . . 40
8.7.3.2 <User>_AckIndication . . . . . . . . . . . . . . . . . . 41
8.7.3.3 <User>_RequestTimeoutIndication . . . . . . . . . . . 42
8.8 Service Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
8.8.1 Provided Service Ports . . . . . . . . . . . . . . . . . . . . . . 42
8.8.1.1 J1939Rm_SendAck . . . . . . . . . . . . . . . . . . . 43
8.8.1.2 J1939Rm_SendRequest . . . . . . . . . . . . . . . . . 43
8.8.1.3 J1939Rm_CancelRequestTimeout . . . . . . . . . . . 43
8.8.2 Required Service Ports . . . . . . . . . . . . . . . . . . . . . . 44
8.8.2.1 J1939Rm_AckIndication . . . . . . . . . . . . . . . . . 44
8.8.2.2 J1939Rm_RequestIndication . . . . . . . . . . . . . . 44
8.8.2.3 J1939Rm_RequestTimeoutIndication . . . . . . . . . . 44
8.8.3 Client-Server Interfaces . . . . . . . . . . . . . . . . . . . . . . 45
8.8.3.1 AppSendAck . . . . . . . . . . . . . . . . . . . . . . . 45
8.8.3.2 AppSendRequest . . . . . . . . . . . . . . . . . . . . . 46
8.8.3.3 AppCancelRequestTimeout . . . . . . . . . . . . . . . 47
8.8.3.4 AppAckIndication . . . . . . . . . . . . . . . . . . . . . 48
8.8.3.5 AppRequestIndication . . . . . . . . . . . . . . . . . . 49
8.8.3.6 AppRequestTimeoutIndication . . . . . . . . . . . . . 51
8.8.4 Implementation Data Types . . . . . . . . . . . . . . . . . . . . 52
8.8.4.1 J1939Rm_AckCode . . . . . . . . . . . . . . . . . . . 52
8.8.4.2 J1939Rm_ExtIdType . . . . . . . . . . . . . . . . . . . 53
8.8.4.3 J1939Rm_ExtIdInfoType . . . . . . . . . . . . . . . . . 53

6 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

9 Sequence diagrams 54
9.1 Reception of Request PG . . . . . . . . . . . . . . . . . . . . . . . . . . 54
9.2 Transmission of Acknowledgement PG . . . . . . . . . . . . . . . . . . . 54
9.3 Handling of Request for a COM Pdu . . . . . . . . . . . . . . . . . . . . 55
9.4 Handling of Request for a Diagnostic Pdu . . . . . . . . . . . . . . . . . 56
9.5 Transmission of Request PG . . . . . . . . . . . . . . . . . . . . . . . . . 56
9.6 Reception of Acknowledgement PG . . . . . . . . . . . . . . . . . . . . . 57
9.7 Monitoring of Request Timeout . . . . . . . . . . . . . . . . . . . . . . . 57
10 Configuration specification 59
10.1 Containers and configuration parameters . . . . . . . . . . . . . . . . . . 59
10.1.1 J1939Rm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
10.1.2 J1939RmGeneral . . . . . . . . . . . . . . . . . . . . . . . . . 66
10.1.3 J1939RmConfigSet . . . . . . . . . . . . . . . . . . . . . . . . 70
10.1.4 J1939RmChannel . . . . . . . . . . . . . . . . . . . . . . . . . 70
10.1.5 J1939RmAckmRxPdu . . . . . . . . . . . . . . . . . . . . . . . 72
10.1.6 J1939RmAckmTxPdu . . . . . . . . . . . . . . . . . . . . . . . 73
10.1.7 J1939RmRqstRxPdu . . . . . . . . . . . . . . . . . . . . . . . 74
10.1.8 J1939RmRqstTxPdu . . . . . . . . . . . . . . . . . . . . . . . 75
10.1.9 J1939RmRqst2RxPdu . . . . . . . . . . . . . . . . . . . . . . . 76
10.1.10 J1939RmRqst2TxPdu . . . . . . . . . . . . . . . . . . . . . . . 76
10.1.11 J1939RmNode . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
10.1.12 J1939RmUser . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
10.1.13 J1939RmNmUser . . . . . . . . . . . . . . . . . . . . . . . . . 79
10.1.14 J1939RmDcmUser . . . . . . . . . . . . . . . . . . . . . . . . 79
10.1.15 J1939RmCddUser . . . . . . . . . . . . . . . . . . . . . . . . . 80
10.1.16 J1939RmRteUser . . . . . . . . . . . . . . . . . . . . . . . . . 84
10.1.17 J1939RmComUser . . . . . . . . . . . . . . . . . . . . . . . . 87
10.1.18 J1939RmComIPdu . . . . . . . . . . . . . . . . . . . . . . . . 87
10.2 Published Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
A History of Constraints and Specification Items 90
A.1 Constraint and Specification Item History of this Document According
to AUTOSAR Release R21-11 . . . . . . . . . . . . . . . . . . . . . . . . 90
A.1.1 Added Specification Items in R21-11 . . . . . . . . . . . . . . . 90
A.1.2 Changed Specification Items in R21-11 . . . . . . . . . . . . . 90
A.1.3 Deleted Specification Items in R21-11 . . . . . . . . . . . . . . 90
A.2 Constraint and Specification Item History of this Document According
to AUTOSAR Release R22-11 . . . . . . . . . . . . . . . . . . . . . . . . 90
A.2.1 Added Specification Items in R22-11 . . . . . . . . . . . . . . . 90
A.2.2 Changed Specification Items in R22-11 . . . . . . . . . . . . . 90
A.2.3 Deleted Specification Items in R22-11 . . . . . . . . . . . . . . 90
A.3 Constraint and Specification Item History of this Document According
to AUTOSAR Release R23-11 . . . . . . . . . . . . . . . . . . . . . . . . 91
A.3.1 Added Specification Items in R23-11 . . . . . . . . . . . . . . . 91
A.3.2 Changed Specification Items in R23-11 . . . . . . . . . . . . . 91

7 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

A.3.3 Deleted Specification Items in R23-11 . . . . . . . . . . . . . . 91


B Not Applicable Requirements 92

8 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

1 Introduction and functional overview


This specification specifies the functionality, API and the configuration of the AUTOSAR
Basic Software module J1939 Request Manager.

1.1 Request Management according to SAE J1939


J1939 defines a special parameter group (PG) called Request (RQST, PGN =
0x0EA00), which may be used to request transmission of any other parameter
group. The Request parameter group just contains the PGN of the requested pa-
rameter group.
Depending on the destination address used by the Request PG, the response
must be sent directly to the requesting ECU, or to all ECUs. For short parameter
groups with PDU1 format, the destination address is set accordingly1 , for large
parameter groups the suitable transport protocol mode (BAM or CMDT, see [1,
SWS SAE J1939 Transport Layer] and [2, SAE J1939-21]) is used.
Depending on the requested parameter group and the destination address
of the Request PG, ECUs answer either with the requested parameter group, with
the special Acknowledgement parameter group (ACKM, PGN = 0x0E800), or not
at all.
Finally, J1939 defines that the response to a Request will be expected within 1.25s
after the Request was sent. The responding node is required to answer within 200ms.
Besides the Request PG, J1939 also defines a Request2 PG (RQST2, PGN =
0x0C900). The behavior of this PG is identical to that of the Request PG, with the
following extensions:
• A transmission with the Transfer PG can be requested to provide the same PG
from multiple ECUs.
• Extended identifier bytes can be specified to request a defined layout of
a multiplexed message.

1.2 J1939 Request Manager BSW Module


The J1939 Request Manager (J1939Rm) handles received and transmitted Re-
quest, Request2, and Acknowledgement PGs. It natively supports handling of
incoming requests for the AddressClaimed PG and is configurable to support incom-
ing requests for diagnostic and other J1939 PGNs. Unknown incoming requests are

1
Short parameter groups with PDU2 format have no destination address, they are broad-
cast PGs by nature.

9 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

answered with a negative Acknowledgement PG if they address a specific destina-


tion address.
The J1939Rm also supports transmission of requests and timeout supervision for the
resulting PG or acknowledgement.

1.3 J1939 Terminology


The terminology of J1939 differs noticeably from the usual AUTOSAR terminology.
For consistency reasons, this introduction used the terms of the J1939 specification,
while the remainder of this specification will use terms that are more common within
AUTOSAR:
• ‘I-PDU’ replaces ‘parameter group’

10 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

2 Acronyms and Abbreviations


The glossary below includes acronyms and abbreviations relevant to the J1939 Re-
quest Manager that are not included in the [3, AUTOSAR Glossary].
Abbreviation / Description
Acronym
AC J1939 AddressClaimed PG (PGN = 0x0EE00)
ACK J1939 Acknowledgement PG (ACKM) with control byte set to 0
ACKM J1939 Acknowledgement PG (PGN = 0x0E800)
BSW Basic Software (module)
CA Controller Application, role of an ECU tied to one address
CDD Complex Driver, any software that interfaces directly with AUTOSAR BSW, but is
not defined by AUTOSAR
DA Destination address, the address of the receiver of a PG.
DET Default Error Tracer, supports development and runtime error reporting
DP Data Page, the most significant bit (MSB) of the 18 bit PGN
EDP Extended Data Page, the second bit (after MSB) of the 18 bit PGN
Extended Iden- These bytes represent multiplexor values in a multiplexed message which is re-
tifier Bytes quested via RQST2
J1939Rm SAE J1939 Request Manager
MetaData Meta data transferred alongside a PDU
NACK J1939 Acknowledgement PG (ACKM) with control byte set to 1
PDU Protocol Data Unit, a message transferred between the layers of the AUTOSAR
stack, also known as I-PDU
PDU1 J1939 PDU Type 1, this kind of PDUs can be sent to a specific destination
address
PDU2 J1939 PDU Type 2, this kind of PDUs is always sent to the whole network
PDUF PDU Format, the middle byte of the 18 bit PGN
PDUS PDU Specific, the lower byte of the 18 bit PGN
PG Parameter Group
PGN Parameter Group Number (18 bits, contains EDP, DP, PDUF, PDUS)
RQST J1939 Request PG (PGN = 0x0EA00)
RQST2 J1939 Request2 PG (PGN = 0x0C900)
RTE AUTOSAR Runtime Environment
SA Source address, the address of the transmitter of a PG.
SW-C AUTOSAR Software Component (of the Application)
XFER J1939 Transfer PG (PGN = 0x0CA00)

11 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

3 Related documentation

3.1 Input documents & related standards and norms

[1] Specification of a Transport Layer for SAE J1939


AUTOSAR_CP_SWS_SAEJ1939TransportLayer
[2] SAE J1939-21 Data Link Layer
[3] Glossary
AUTOSAR_FO_TR_Glossary
[4] General Specification of Basic Software Modules
AUTOSAR_CP_SWS_BSWGeneral
[5] Layered Software Architecture
AUTOSAR_CP_EXP_LayeredSoftwareArchitecture
[6] Specification of Communication
AUTOSAR_CP_SWS_COM
[7] Specification of PDU Router
AUTOSAR_CP_SWS_PDURouter
[8] Specification of Network Management for SAE J1939
AUTOSAR_CP_SWS_SAEJ1939NetworkManagement
[9] Specification of a Diagnostic Communication Manager for SAE J1939
AUTOSAR_CP_SWS_SAEJ1939DiagnosticCommunicationManager
[10] Specification of Default Error Tracer
AUTOSAR_CP_SWS_DefaultErrorTracer
[11] Specification of RTE Software
AUTOSAR_CP_SWS_RTE
[12] Complex Driver design and integration guideline
AUTOSAR_CP_EXP_CDDDesignAndIntegrationGuideline
[13] Specification of ECU Configuration
AUTOSAR_CP_TPS_ECUConfiguration
[14] Specification of CAN Interface
AUTOSAR_CP_SWS_CANInterface
[15] Specification of Communication Manager
AUTOSAR_CP_SWS_COMManager
[16] Requirements on BSW Modules for SAE J1939
AUTOSAR_CP_SRS_SAEJ1939
[17] General Requirements on Basic Software Modules
AUTOSAR_CP_SRS_BSWGeneral

12 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

[18] Specification of Communication Stack Types


AUTOSAR_CP_SWS_CommunicationStackTypes
[19] Specification of Standard Types
AUTOSAR_CP_SWS_StandardTypes
[20] List of Basic Software Modules
AUTOSAR_CP_TR_BSWModuleList
[21] System Template
AUTOSAR_CP_TPS_SystemTemplate

3.2 Related specification


AUTOSAR provides a General Specification on Basic Software modules [4, SWS BSW
General], which is also valid for SAE J1939 Request Manager.
Thus, the specification SWS BSW General shall be considered as additional and re-
quired specification for SAE J1939 Request Manager.

13 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4 Constraints and assumptions

4.1 Limitations
The J1939 Request Manager only implements Request, Request2, and Ac-
knowledgement PGs. It does not provide support for the Transfer PG.

4.2 Applicability to car domains


J1939 is developed by the SAE as a standard for heavy-duty on-highway, farming, and
construction vehicles. It is not applicable to passenger cars or light trucks.

14 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

5 Dependencies to other modules


The [5, EXP Layered Software Architecture] shows an overview of the neighboring
modules of the J1939 Request Manager.
The J1939 Request Manager (J1939Rm) has direct interfaces towards COM ([6,
SWS Communication]), the PDU Router (PduR, [7, SWS PDU Router]), the
J1939 Network Management module (J1939Nm, [8, SWS SAE J1939 Network
Management]), the J1939 Diagnostic Communication Management module (
J1939Dcm, [9, SWS SAE J1939 Diagnostic Communication Manager]), and the De-
fault Error Tracer (DET, [10, SWS Default Error Tracer]), and also to applica-
tion software components (SW-Cs) via the AUTOSAR Runtime Environment (RTE,
[11, SWS RTE]) and Complex Drivers (CDD, see [12, CDD Design And Integration
Guideline] and [13, TPS ECU Configuration]). Besides these, there are also indirect
dependencies towards the CAN Interface (CanIf, [14, SWS CAN Interface]) and
the Communication Manager (ComM, [15, SWS Communication Manager]).
The J1939 Request Manager includes header files of COM, J1939Nm, J1939Dcm,
PduR, DET, CDDs, and the RTE.

5.1 File structure

5.1.1 Code file structure

For details, refer to the section 5.1.6 “Code file structure” of the [4, SWS BSW General].

5.1.2 Header file structure

Besides the files defined in section 5.1.7 “Header file structure” of the [4, SWS BSW
General], the J1939 Request Manager needs to include the files defined below.
[SWS_J1939Rm_00114] dJ1939Rm shall include the header file Com.h if at least one
J1939RmComUser is configured.c(SRS_BSW_00301)
[SWS_J1939Rm_00111] dJ1939Rm shall include the header file J1939Nm.h if at least
one J1939RmNmUser is configured.c(SRS_BSW_00301)
[SWS_J1939Rm_00112] dJ1939Rm shall include the header file J1939Dcm.h if at
least one J1939RmDcmUser is configured.c(SRS_BSW_00301)
[SWS_J1939Rm_00113] dJ1939Rm shall include a header file named <apiSer-
vicePrefix>_Cbk.h for every configured J1939RmCddUser.c(SRS_BSW_00301)
Please note: Complex driver (CDD) APIs use the module prefix configured by the
apiServicePrefix of the CDD’s module description file.

15 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

6 Requirements Tracing
The following tables reference the requirements specified in [16, SRS SAE J1939] and
[17, SRS BSW General] and links to the fulfillment of these. Please note that if column
“Satisfied by” is empty for a specific requirement this means that this requirement is
not fulfilled by this document.
Requirement Description Satisfied by
[SRS_BSW_00171] Optional functionality of a Basic-SW [SWS_J1939Rm_00074] [SWS_J1939Rm_00075]
component that is not required in the [SWS_J1939Rm_00076] [SWS_J1939Rm_00079]
ECU shall be configurable at [SWS_J1939Rm_00080] [SWS_J1939Rm_00081]
pre-compile-time [SWS_J1939Rm_00082] [SWS_J1939Rm_00083]
[SWS_J1939Rm_00084] [SWS_J1939Rm_00085]
[SWS_J1939Rm_00086] [SWS_J1939Rm_00087]
[SRS_BSW_00301] All AUTOSAR Basic Software [SWS_J1939Rm_00111] [SWS_J1939Rm_00112]
Modules shall only import the [SWS_J1939Rm_00113] [SWS_J1939Rm_00114]
necessary information
[SRS_BSW_00350] All AUTOSAR Basic Software [SWS_J1939Rm_00011]
Modules shall allow the enabling/
disabling of detection and reporting of
development errors.
[SRS_BSW_00386] The BSW shall specify the [SWS_J1939Rm_00011] [SWS_J1939Rm_00033]
configuration and conditions for [SWS_J1939Rm_00040] [SWS_J1939Rm_00041]
detecting an error [SWS_J1939Rm_00067] [SWS_J1939Rm_00068]
[SWS_J1939Rm_00069] [SWS_J1939Rm_00070]
[SWS_J1939Rm_00071] [SWS_J1939Rm_00096]
[SRS_BSW_00407] Each BSW module shall provide a [SWS_J1939Rm_00039]
function to read out the version
information of a dedicated module
implementation
[SRS_BSW_00478] Timing limits of main functions [SWS_J1939Rm_00043] [SWS_J1939Rm_00072]
[SRS_J1939_00012] The J1939 Request Manager shall [SWS_J1939Rm_00012] [SWS_J1939Rm_00037]
provide an interface for module [SWS_J1939Rm_00073]
initialization
[SRS_J1939_00013] The J1939 Request Manager shall [SWS_J1939Rm_00013] [SWS_J1939Rm_00038]
provide an interface for module
shutdown
[SRS_J1939_00014] The J1939 Request Manager shall [SWS_J1939Rm_00002] [SWS_J1939Rm_00003]
forward incoming requests to [SWS_J1939Rm_00007] [SWS_J1939Rm_00008]
configured destinations [SWS_J1939Rm_00063] [SWS_J1939Rm_00100]
[SWS_J1939Rm_00107] [SWS_J1939Rm_00115]
[SWS_J1939Rm_00116] [SWS_J1939Rm_00122]
[SRS_J1939_00015] The J1939 Request Manager shall [SWS_J1939Rm_00026] [SWS_J1939Rm_00027]
forward incoming acknowledgements [SWS_J1939Rm_00028] [SWS_J1939Rm_00064]
to configured destinations [SWS_J1939Rm_00066] [SWS_J1939Rm_00101]
[SWS_J1939Rm_00106] [SWS_J1939Rm_00125]
[SWS_J1939Rm_00126]
[SRS_J1939_00016] The J1939 Request Manager shall [SWS_J1939Rm_00016] [SWS_J1939Rm_00021]
provide an interface for transmission [SWS_J1939Rm_00022] [SWS_J1939Rm_00023]
of request messages [SWS_J1939Rm_00025] [SWS_J1939Rm_00054]
[SWS_J1939Rm_00097] [SWS_J1939Rm_00104]
[SWS_J1939Rm_00117] [SWS_J1939Rm_00118]
[SWS_J1939Rm_00124]
[SRS_J1939_00017] The J1939 Request Manager shall [SWS_J1939Rm_00008] [SWS_J1939Rm_00009]
provide an interface for transmission [SWS_J1939Rm_00018] [SWS_J1939Rm_00019]
of acknowledgement messages [SWS_J1939Rm_00020] [SWS_J1939Rm_00056]
[SWS_J1939Rm_00098] [SWS_J1939Rm_00103]
[SWS_J1939Rm_00123]
5

16 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Requirement Description Satisfied by
[SRS_J1939_00026] The J1939 Request Manager shall [SWS_J1939Rm_00017] [SWS_J1939Rm_00024]
support timeout supervision for [SWS_J1939Rm_00029] [SWS_J1939Rm_00030]
outgoing requests [SWS_J1939Rm_00055] [SWS_J1939Rm_00065]
[SWS_J1939Rm_00099] [SWS_J1939Rm_00102]
[SWS_J1939Rm_00105] [SWS_J1939Rm_00108]
[SRS_J1939_00049] J1939 Modules shall support Meta [SWS_J1939Rm_00119] [SWS_J1939Rm_00120]
Data [SWS_J1939Rm_00121] [SWS_J1939Rm_00122]
[SWS_J1939Rm_00123] [SWS_J1939Rm_00124]
[SWS_J1939Rm_00125]
[SRS_J1939_00050] The J1939 Request Manager shall [SWS_J1939Rm_00127] [SWS_J1939Rm_00128]
route incoming requests and [SWS_J1939Rm_00129]
acknowledgements to connected
channels
Table 6.1: RequirementsTracing

17 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

7 Functional specification
This chapter defines the behavior of the J1939 Request Manager. The API of the
module is defined in chapter 8, while the configuration is defined in chapter 10.

7.1 Overview
On one side, the J1939 Request Manager is responsible for routing incoming RQST
and RQST2 PGs to the correct destination, and to provide an infrastructure for sending
responding ACKM PGs.
On the other side, the J1939 Request Manager also provides an infrastructure to
send RQST and RQST2 PGs, and to supervise timeout of the response(s), including but
not limited to ACKM PGs.
The J1939 Request Manager uses meta data items of type CAN_ID_32 of the re-
ceived and transmitted ACKM and RQST PGs to access the source address, the
destination address, and the priority which are encoded in the CAN ID.
[SWS_J1939Rm_00119] dMeta data items of type CAN_ID_32 contain the source
address in the fourth (least significant) byte.c(SRS_J1939_00049)
[SWS_J1939Rm_00120] dMeta data items of type CAN_ID_32 contain the destina-
tion address in the third byte.c(SRS_J1939_00049)
[SWS_J1939Rm_00121] dMeta data items of type CAN_ID_32 contain the priority in
the bits 2-4 of the first (most significant) byte, where bit 0 is the least significant bit of a
byte.c(SRS_J1939_00049)

7.2 Module Handling


This section contains description of auxiliary functionality of the J1939 Request
Manager.

7.2.1 Initialization

The J1939 Request Manager is initialized via J1939Rm_Init, and de-initialized


via J1939Rm_DeInit. Except for J1939Rm_GetVersionInfo and J1939Rm_Init,
the API functions of the J1939 Request Manager may only be called after the mod-
ule has been properly initialized.
[SWS_J1939Rm_00012] dA call to J1939Rm_Init initializes all internal variables and
sets the J1939 Request Manager to the initialized state.c(SRS_J1939_00012)

18 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

[SWS_J1939Rm_00013] dA call to J1939Rm_DeInit sets the J1939 Request


Manager back to the uninitialized state.c(SRS_J1939_00013)
[SWS_J1939Rm_00011] dWhen J1939Rm_Init is called in initialized state, the
J1939 Request Manager shall not re-initialize its internal variables. It shall instead
call Det_ReportError with the error code J1939RM_E_REINIT if development error
detection is enabled (see J1939RmDevErrorDetect).c(SRS_BSW_00350, SRS_-
BSW_00386)

7.2.2 Timing Related Functionality

To be able to measure times, the J1939 Request Manager is triggered cyclically via
the J1939Rm_MainFunction.
[SWS_J1939Rm_00072] dThe J1939 Request Manager shall use the J1939Rm_-
MainFunction for timing related purposes.c(SRS_BSW_00478)

7.3 Communication State Handling


In general, request handling is only active when the ECU is online (see [8, SWS SAE
J1939 Network Management] for details). The exceptions to this rule are received
and transmitted requests for the AddressClaimed PG, which must be possible in all
cases. The J1939 Request Manager provides an API that is used by the BSW Mode
Manager (BswM) to notify the J1939 communication state.
[SWS_J1939Rm_00073] dDuring initialization via J1939Rm_Init, the J1939 Re-
quest Manager assumes the offline state for all nodes on all channels.c(SRS_-
J1939_00012)
[SWS_J1939Rm_00014] dA call to J1939Rm_SetState sets the state of a node’s
channel to online or offline.c()
[SWS_J1939Rm_00015] dIn the offline state, the J1939 Request Manager only
processes requests for the AddressClaimed PG, while timeout supervision and ac-
knowledgement handling are completely disabled.c()

7.4 Reception of Requests


The J1939 Request Manager receives request PGs (RQST and RQST2) via
J1939Rm_RxIndication from the CAN Interface. The J1939 Request Man-
ager shall use the meta data item type CAN_ID_32 to be able to identify the sender,
the destination address, and the priority of the request.
[SWS_J1939Rm_00122] dThe J1939 Request Manager shall use a meta data
item of type CAN_ID_32 to determine the source address, destination ad-

19 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

dress, and priority of received request PGs.c(SRS_J1939_00014, SRS_J1939_-


00049)
[SWS_J1939Rm_00007] dThe J1939 Request Manager shall only accept re-
quests addressed to the whole network (global DA), or to one of the configured ad-
dresses of the ECU (see J1939RmNmNodeRef).c(SRS_J1939_00014)
Requests for the AddressClaimed PG (AC, PGN = 0x0EE00) always go to the J1939
Network Management module. Requests for the DMx PGs (DM01 to DM57) always
go to the J1939 Diagnostic Communication Manager, the destination of these
and other PGNs is configured via J1939RmUserRequestPGN.
Besides forwarding to the J1939 Network Management module, the J1939 Di-
agnostic Communication Manager, and CDDs, the J1939 Request Manager
can also forward requests to SW-Cs, and trigger COM to send requested PGs.

7.4.1 Request Forwarding

Forwarding to other BSW modules is done via the generic callout function User_Re-
questIndication. Forwarding to SW-C uses a dedicated service port function with
the same signature as the User_RequestIndication.
[SWS_J1939Rm_00002] dWhen J1939Rm_RxIndication is called by the PDU
Router to indicate reception of a request, and the requested PGN is configured via
J1939RmUserRequestPGN to trigger either the J1939 Diagnostic Communica-
tion Manager or a CDD, the J1939 Request Manager shall call the corresponding
User_RequestIndication.c(SRS_J1939_00014)
[SWS_J1939Rm_00116] dWhen J1939Rm_RxIndication is called by the PDU
Router to indicate reception of a request, and the requested PGN is
AddressClaimed (AC, 0x0EE00), the J1939 Request Manager shall call
J1939Nm_RequestIndication.c(SRS_J1939_00014)
[SWS_J1939Rm_00003] dWhen J1939Rm_RxIndication is called by the PDU
Router to indicate reception of a request, and the requested PGN is configured via
J1939RmUserRequestPGN to be forwarded to the RTE, the J1939 Request Man-
ager shall call the corresponding service port function.c(SRS_J1939_00014)

7.4.2 Request Handling via COM

If COM is configured as destination for the request of a certain PGN, the J1939 Re-
quest Manager will prepare the MetaData, and request COM to send the PDU with
the MetaData provided via Com_TriggerIPDUSendWithMetaData. This sequence
is shown in Figure 9.3.

20 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

[SWS_J1939Rm_00115] dWhen J1939Rm_RxIndication is called by the PDU


Router to indicate reception of a request, and the requested PGN is configured via
J1939RmComIPduPGN to be handled via COM, and when the extended identi-
fier bytes of an RQST2 match the multiplexor values of a multiplexed message, the
J1939 Request Manager shall prepare the MetaData from the given information
and provide it to COM via Com_TriggerIPDUSendWithMetaData together with the
PduId of the transmitted COM I-PDU referenced by J1939RmComIPduRef.c(SRS_-
J1939_00014)

7.4.3 Request of Unknown PGNs

The J1939 Request Manager shall respond to requests for unknown PGNs with a
NACK, but only when the request was sent to a specific destination address.
[SWS_J1939Rm_00008] dWhen J1939Rm_RxIndication is called by the PDU
Router to indicate reception of a request, and the requested PGN or the re-
quested extended identifier bytes are not configured, and the destina-
tion address is not the broadcast address, the J1939 Request Manager shall
call PduR_J1939RmTransmit to send a negative acknowledgement (NACK).c(SRS_-
J1939_00014, SRS_J1939_00017)

7.5 Transmission of Acknowledgements


For unknown PGNs, the J1939 Request Manager transmits a negative acknowl-
edgement by itself (see section 7.4.3 above). Modules that receive requests from the
J1939 Request Manager may use the API J1939Rm_SendAck to transmit the ac-
knowledgement variants defined by the J1939 standard (see section 5.4.4 in [2, SAE
J1939-21]).
The Acknowledgement PG is supposed to have a fixed destination address
(0xFF), configured via CanIfTxPduCanId in the CAN Interface. The J1939 Re-
quest Manager shall use the meta data item type CAN_ID_32 so that it can modify
the priority and source address.
[SWS_J1939Rm_00009] dWhen a BSW module, a CDD, or an SW-C (via service
port and RTE) calls J1939Rm_SendAck, the J1939 Request Manager shall call
PduR_J1939RmTransmit to send the required acknowledgement.c(SRS_J1939_-
00017)
[SWS_J1939Rm_00123] dThe J1939 Request Manager shall use a meta data
item of type CAN_ID_32 to provide the source address and priority of transmitted
Acknowledgement PGs.c(SRS_J1939_00017, SRS_J1939_00049)
There is only one I-PDU available to send Acknowledgement PGs. Still, it must
be ensured, that no Acknowledgement PG is lost, even when a new transmission is

21 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

initiated while this I-PDU is already occupied by another transmission. To achieve this,
the J1939 Request Manager needs to queue Acknowledgement PGs.
[SWS_J1939Rm_00018] dTransmission requests for the Acknowledgement PG shall
be queued when a previous transmission of this PG is still pending. The size of this
queue is determined by J1939RmAckQueueSize.c(SRS_J1939_00017)
[SWS_J1939Rm_00019] dThe J1939 Request Manager shall use the J1939Rm_-
TxConfirmation with result E_OK of the associated I-PDU to trigger transmission of
pending Acknowledgement PGs.c(SRS_J1939_00017)
[SWS_J1939Rm_00020] dIf the J1939Rm_TxConfirmation is called with result
E_NOT_OK, the J1939 Request Manager shall flush the Acknowledgement PG
queue.c(SRS_J1939_00017)
The acknowledgement type (Control byte), the extended identifier bytes, and
the Address parameter of the Acknowledgement PG are set according to the argu-
ments of the J1939Rm_SendAck function. The destination address is always
the global address, as defined in [2, SAE J1939-21].
[SWS_J1939Rm_00126] dWhen an acknowledgement is sent, it shall also be handled
internally as if it was received via J1939Rm_RxIndication.c(SRS_J1939_00015)

7.6 Transmission of Requests


As stated in section 7.1, the J1939 Request Manager also supports transmission
of requests, reception of responding acknowledgements, and timeout supervision for
the responses.
To trigger the transmission of a request, the J1939 Request Manager provides the
API J1939Rm_SendRequest.
The J1939 Request Manager shall use the meta data item type CAN_ID_32 to be
able to set the priority and the source and destination address freely. The CAN
Interface must be configured such that the PDUF and data page bits are fixed, while
the remaining bits of the CAN ID are variable.
[SWS_J1939Rm_00016] dWhen a BSW module, a CDD, or an SW-C (via service port
and RTE) calls J1939Rm_SendRequest, the J1939 Request Manager shall call
PduR_J1939RmTransmit to send the request.c(SRS_J1939_00016)
[SWS_J1939Rm_00117] dWhen no extended identifier bytes are provided
with J1939Rm_SendRequest, J1939Rm shall send an RQST PG. When one or more
extended identifier bytes are provided, an RQST2 PG shall be sent.c(SRS_J1939_-
00016)
[SWS_J1939Rm_00124] dThe J1939 Request Manager shall use a meta data
item of type CAN_ID_32 to provide the source address, destination address,

22 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

and priority of transmitted Request and Request2 PGs.c(SRS_J1939_00016, SRS_-


J1939_00049)
There is only one I-PDU available to send Request PGs, and one for Request2 PGs.
Still, it must be ensured that no request PG is lost, even when a new transmission is
initiated while this I-PDU is already occupied by another transmission. To achieve this,
the J1939 Request Manager needs to queue request PGs.
[SWS_J1939Rm_00021] dTransmission requests for the Request PG shall be queued
when a previous transmission of this PG is still pending. The size of this queue is
determined by J1939RmRequestQueueSize.c(SRS_J1939_00016)
[SWS_J1939Rm_00118] dTransmission requests for the Request2 PG shall be
queued when a previous transmission of this PG is still pending. The size of this queue
is determined by J1939RmRequest2QueueSize.c(SRS_J1939_00016)
[SWS_J1939Rm_00022] dThe J1939 Request Manager shall use the J1939Rm_-
TxConfirmation with result E_OK of the associated I-PDU to trigger transmission of
pending Request and Request2 PGs.c(SRS_J1939_00016)
[SWS_J1939Rm_00023] dIf the J1939Rm_TxConfirmation is called with result
E_NOT_OK, the J1939 Request Manager shall flush the corresponding request PG
queue.c(SRS_J1939_00016)
To be able to do timeout supervision, the J1939 Request Manager needs
to remember the initiator, the destination address, extended identifier
bytes, and the PGN of the request.
[SWS_J1939Rm_00024] dWhen J1939Rm_SendRequest is called with the param-
eter checkTimeout set to TRUE and a destination address that is not the
broadcast address (0xFF), and timeout handling is enabled for the caller via
J1939RmUserTimeoutSupervision: The J1939 Request Manager shall store
(separately for each node) the calling module’s user ID, the PGN, extended iden-
tifier bytes, the source address, and the destination address of the re-
quest.c(SRS_J1939_00026)
Finally, requests to the global address must also be handled internally as described in
section 7.4.
[SWS_J1939Rm_00025] dWhen a request is sent with the global destination ad-
dress, it shall also be handled internally as if it was received via J1939Rm_RxIndi-
cation.c(SRS_J1939_00016)

7.7 Reception of Acknowledgements


The J1939 Request Manager receives Acknowledgement PGs (ACKM) via
J1939Rm_RxIndication from the CAN Interface. The J1939 Request Manager
shall use the meta data item type CAN_ID_32 to be able to identify the priority and the
sender of the acknowledgement.

23 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

[SWS_J1939Rm_00125] dThe J1939 Request Manager shall use a meta data


item of type CAN_ID_32 to determine the source address and priority of received
Acknowledgement PGs.c(SRS_J1939_00015, SRS_J1939_00049)
[SWS_J1939Rm_00026] dThe J1939 Request Manager shall only accept ac-
knowledgements where the AddressAcknowledged is set to one of the configured ad-
dresses of the ECU (see J1939RmNmNodeRef).c(SRS_J1939_00015)
The scheduling of received Acknowledgement PGs is configured similarly to the Re-
quest PG, see section 7.4.1, but the destinations are restricted to CDD and Application,
because the J1939Nm and the J1939Dcm currently do not need to request any infor-
mation from other ECUs.
[SWS_J1939Rm_00066] dWhen J1939Rm_RxIndication is called by the PDU
Router to indicate reception of an acknowledgement which matches a pending re-
quest (acknowledged PGN, source address, acknowledged address), the J1939
Request Manager shall call the User_AckIndication or the service port function
corresponding to the stored user ID.c(SRS_J1939_00015)
[SWS_J1939Rm_00027] dWhen J1939Rm_RxIndication is called by the PDU
Router to indicate reception of an acknowledgement which does not match a pending
request, and the acknowledged PGN is configured via J1939RmUserAckPGN to trigger
a CDD, the J1939 Request Manager shall call the corresponding User_AckIndi-
cation.c(SRS_J1939_00015)
[SWS_J1939Rm_00028] dWhen J1939Rm_RxIndication is called by the PDU
Router to indicate reception of an acknowledgement which does not match a pend-
ing request, and the acknowledged PGN is configured via J1939RmUserAckPGN to
be forwarded to the RTE, the J1939 Request Manager shall call the corresponding
service port function.c(SRS_J1939_00015)

7.8 Timeout Supervision


The SAE J1939 specification [2, SAE J1939-21] defines a maximum delay of 200ms
for the answer to a request. This delay is not supervised by the J1939 Request
Manager. On the other hand, the timeout of 1.25s for the reception of the answer
to a request will be supervised by the J1939 Request Manager, if configured ac-
cordingly via J1939RmUserTimeoutSupervision. In that case, when the request
is transmitted, the timer is started and the request data is stored as described in
[SWS_J1939Rm_00024].
[SWS_J1939Rm_00017] dIf timeout supervision is enabled for the caller of
J1939Rm_SendRequest via J1939RmUserTimeoutSupervision, and the param-
eter checkTimeout is TRUE, and the destination address is not the broadcast ad-
dress (0xFF): The J1939 Request Manager shall start timeout supervision.c(SRS_-
J1939_00026)

24 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

[SWS_J1939Rm_00029] dWhen an acknowledgement matching the request is re-


ceived, when J1939Rm_CheckReceivedComIPdu is called which matches the re-
quest, or when a CDD or an application SW-C calls J1939Rm_CancelRequestTime-
out, the timeout supervision of the request is stopped.c(SRS_J1939_00026)
[SWS_J1939Rm_00030] dIf the timeout supervision for a request reaches 1.25s, the
J1939 Request Manager shall call the User_RequestTimeoutIndication cor-
responding to the userId parameter of the initial J1939Rm_SendRequest.c(SRS_-
J1939_00026)

7.9 Routing of Requests and Acknowledgements


Depending on the configuration of J1939NmSharedAddressSpace and
J1939NmExternalNodeGatewayedChannelRef referring to J1939NmChannels
that reference the same ComMChannels as the J1939RmChannels, the Re-
quest, Request2, and Acknowledgement PGs need to be routed from one
J1939RmChannel to another.
[SWS_J1939Rm_00127] dIf J1939RmGatewaySupport is enabled,
and a J1939RmChannel is linked to another J1939RmChannel via a
J1939NmSharedAddressSpace: All Request, Request2, and Acknowledgement
PGs that are received on the first J1939RmChannel shall be forwarded to the second
J1939RmChannel.c(SRS_J1939_00050)
Note: The complete path between two J1939RmChannels linked via a
J1939NmSharedAddressSpace is:
J1939RmChannel → J1939RmComMNetworkHandleRef → ComM-
Channel ← J1939NmComMNetworkHandleRef ← J1939NmChannel
← J1939NmSharedChannelRef ← J1939NmSharedAddressSpace
→ J1939NmSharedChannelRef → J1939NmChannel →
J1939NmComMNetworkHandleRef → ComMChannel ←
J1939RmComMNetworkHandleRef ← J1939RmChannel
[SWS_J1939Rm_00128] dIf J1939RmGatewaySupport is enabled, and
a J1939RmChannel is referenced by another J1939RmChannel via a
J1939NmExternalNodeGatewayedChannelRef: All Request, Request2,
and Acknowledgement PGs that are received on the first J1939RmChannel shall be
forwarded to the second J1939RmChannel.c(SRS_J1939_00050)
Note: The complete path between two J1939RmChannels linked via a
J1939NmExternalNodeGatewayedChannelRef is:
J1939RmChannel → J1939RmComMNetworkHandleRef → ComMChan-
nel ← J1939NmComMNetworkHandleRef ← J1939NmChannel ←
J1939NmExternalNodeGatewayedChannelRef ← J1939NmExternalNode
→ J1939NmExternalNodeChannelRef → J1939NmChannel

25 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

→ J1939NmComMNetworkHandleRef → ComMChannel ←
J1939RmComMNetworkHandleRef ← J1939RmChannel
[SWS_J1939Rm_00129] dRequest and Request2 PGs shall only be forwarded if the
destination address of the PG is the global address (0xFF) or a destination
address that does not correspond to any J1939NmNodePreferredAddress refer-
enced by a J1939RmNode that references the J1939RmChannel on which the PG was
received.c(SRS_J1939_00050)

7.10 Error Classification


The section 7.2 “Error Handling” of the [4, SWS BSW General] describes the error
handling of the Basic Software in detail. Above all, it constitutes a classification scheme
consisting of five error types which may occur in BSW modules.
Based on this foundation, this section specifies particular errors arranged in the re-
spective subsections below.

7.10.1 Development Errors

[SWS_J1939Rm_00031] Definiton of development errors in module J1939Rm d


Type of error Related error code Error value
An API was called while the module was J1939RM_E_UNINIT 0x01
uninitialized
The Init API was called twice J1939RM_E_REINIT 0x02
J1939Rm_Init was called with an invalid J1939RM_E_INIT_FAILED 0x03
configuration pointer
An API service was called with a NULL pointer J1939RM_E_PARAM_POINTER 0x10
An API service was called with a wrong ID J1939RM_E_INVALID_PDU_SDU_ID 0x11
An API service was called with wrong network J1939RM_E_INVALID_NETWORK_ID 0x12
handle
The API J1939Rm_SetState was called with a J1939RM_E_INVALID_STATE 0x13
wrong state
An API was called with an illegal user ID J1939RM_E_INVALID_USER 0x14
An API was called with an unknown or illegal PGN J1939RM_E_INVALID_PGN 0x15
An API was called with an illegal priority J1939RM_E_INVALID_PRIO 0x16
An API was called with an illegal node address J1939RM_E_INVALID_ADDRESS 0x17
An API was called with an illegal Boolean option J1939RM_E_INVALID_OPTION 0x18
An API was called with an illegal AckCode J1939RM_E_INVALID_ACK_CODE 0x19
An API was called with an illegal node ID J1939RM_E_INVALID_NODE_ID 0x1a
An API was called with invalid extended identifier J1939RM_E_INVALID_EXTID_INFO 0x1b
bytes

c()

26 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

7.10.2 Runtime Errors

Runtime errors have not yet been classified.

7.10.3 Transient Faults

There are no transient faults.

7.10.4 Production Errors

There are no production errors.

7.10.5 Extended Production Errors

There are no extended production errors.

27 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

8 API specification

8.1 API Parameter Checking


The J1939 Request Manager performs parameter checks for all called APIs. It
reports the development error J1939RM_E_PARAM_POINTER when a call provides a
NULL pointer, J1939RM_E_INVALID_PDU_SDU_ID when a check of a PDU ID fails,
J1939RM_E_INVALID_NETWORK_ID when a check of a network handle fails, and
J1939RM_E_INVALID_NODE_ID when a check of a node handle fails.
J1939RM_E_PARAM_POINTER shall be reported as specified in [4, SWS BSW Gen-
eral] by [SWS_BSW_00212].
[SWS_J1939Rm_00033] dIf development error detection is enabled via
J1939RmDevErrorDetect, the J1939 Request Manager shall check PduId-
Type parameters (PDU IDs) of its API functions against the configured IDs, and shall
report the development error J1939RM_E_INVALID_PDU_SDU_ID when an unknown
ID is provided by the call.c(SRS_BSW_00386)
[SWS_J1939Rm_00041] dIf development error detection is enabled via
J1939RmDevErrorDetect, the J1939 Request Manager shall check Net-
workHandleType parameters (network handles) of its API functions against the
referenced network handles of ComM, and shall report the development error
J1939RM_E_INVALID_NETWORK_ID when an unknown handle is provided by the
call.c(SRS_BSW_00386)
[SWS_J1939Rm_00096] dIf development error detection is enabled via
J1939RmDevErrorDetect, the J1939 Request Manager shall check node
handle parameters of its API functions against the node handles of J1939Nm
referenced via J1939RmNmNodeRef, and shall report the development error
J1939RM_E_INVALID_NODE_ID when an unknown handle is provided by the call.c
(SRS_BSW_00386)

8.2 Imported types


In this section, all types used by the J1939 Request Manager are listed together
with the defining module:
[SWS_J1939Rm_00035] Definition of imported datatypes of module J1939Rm d
Module Header File Imported Type
ComStack_Types ComStack_Types.h NetworkHandleType
ComStack_Types.h PduIdType
ComStack_Types.h PduInfoType
ComStack_Types.h PduLengthType
5

28 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Module Header File Imported Type
Std Std_Types.h Std_ReturnType
Std_Types.h Std_VersionInfoType

c()
The types that are declared in ComStack_Types.h are defined in [18, SWS Commu-
nication Stack Types], while the types declared in Std_Types.h are defined in [19,
SWS Standard Types].

8.3 Type definitions

8.3.1 J1939Rm_ConfigType

[SWS_J1939Rm_00036] Definition of datatype J1939Rm_ConfigType d


Name J1939Rm_ConfigType
Kind Structure
Elements implementation specific
Type –
Comment –
Description This is the base type for the configuration of the J1939 Request Manager.
A pointer to an instance of this structure will be used in the initialization of the J1939 Request
Manager.
The content of this structure is defined in chapter 10 Configuration specification.
Available via J1939Rm.h

c()

8.3.2 J1939Rm_StateType

[SWS_J1939Rm_00049] Definition of datatype J1939Rm_StateType d


Name J1939Rm_StateType
Kind Enumeration
Range J1939RM_STATE_OFFLINE 0x00 Only Request for AC
J1939RM_STATE_ONLINE 0x01 Normal communication
Description This type represents the communication state of the J1939 Request Manager.
Available via J1939Rm.h

c()

29 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

8.4 Function definitions


This is a list of functions provided for upper layer modules.

8.4.1 J1939Rm_Init

[SWS_J1939Rm_00037] Definition of API function J1939Rm_Init d


Service Name J1939Rm_Init
Syntax void J1939Rm_Init (
const J1939Rm_ConfigType* configPtr
)
Service ID [hex] 0x01
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) configPtr Pointer to selected configuration structure
Parameters (inout) None
Parameters (out) None
Return value None
Description This function initializes the J1939 Request Manager.
Available via J1939Rm.h

c(SRS_J1939_00012)
See section 7.2.1 for details.
See section 8.1 for parameter checks.
J1939RM_E_INIT_FAILED shall be reported as specified in [4, SWS BSW General]
by [SWS_BSW_00050].

8.4.2 J1939Rm_DeInit

[SWS_J1939Rm_00038] Definition of API function J1939Rm_DeInit d


Service Name J1939Rm_DeInit
Syntax void J1939Rm_DeInit (
void
)
Service ID [hex] 0x02
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) None
Parameters (inout) None
Parameters (out) None
Return value None
5

30 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Description This function resets the J1939 Request Manager to the uninitialized state.
Available via J1939Rm.h

c(SRS_J1939_00013)
See section 7.2.1 for details.

8.4.3 J1939Rm_GetVersionInfo

[SWS_J1939Rm_00039] Definition of API function J1939Rm_GetVersionInfo d


Service Name J1939Rm_GetVersionInfo
Syntax void J1939Rm_GetVersionInfo (
Std_VersionInfoType* versionInfo
)
Service ID [hex] 0x03
Sync/Async Synchronous
Reentrancy Non Reentrant
Parameters (in) None
Parameters (inout) None
Parameters (out) versionInfo Pointer to where to store the version information of this module.
Return value None
Description Returns the version information of this module.
Available via J1939Rm.h

c(SRS_BSW_00407)
See section 8.3.4 “Get Version Information” of [4, SWS BSW General] for details. The
module ID of the J1939 Request Manager is defined in [20, TR BSW Module List].
See section 8.1 for parameter checks.

8.4.4 J1939Rm_SetState

[SWS_J1939Rm_00048] Definition of API function J1939Rm_SetState d


Service Name J1939Rm_SetState
Syntax Std_ReturnType J1939Rm_SetState (
NetworkHandleType channel,
uint8 node,
J1939Rm_StateType newState
)
Service ID [hex] 0x05
Sync/Async Synchronous
Reentrancy Reentrant
Parameters (in) channel Channel for which the state shall be changed.
5

31 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
node Node for which the state shall be changed.
newState New state the J1939Rm shall enter, see definition of J1939Rm_
StateType for available states.
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: New communication state was set
E_NOT_OK: Communication state was not changed due to wrong
value in NewState or wrong initialization state of the module.
Description Changes the communication state of J1939Rm to offline (only Request for AC supported) or
online.
Available via J1939Rm.h

c()
[SWS_J1939Rm_00040] dThe J1939 Request Manager shall reject the state
change by returning E_NOT_OK when the newState is not in the valid range. If devel-
opment error detection is enabled via J1939RmDevErrorDetect, the development
error J1939RM_E_INVALID_STATE shall be reported.c(SRS_BSW_00386)
See section 7.2.1 for error handling and section 8.1 for parameter checks.

8.4.5 J1939Rm_SendRequest

[SWS_J1939Rm_00054] Definition of API function J1939Rm_SendRequest d


Service Name J1939Rm_SendRequest
Syntax Std_ReturnType J1939Rm_SendRequest (
uint8 userId,
NetworkHandleType channel,
uint32 requestedPgn,
const J1939Rm_ExtIdInfoType* extIdInfo,
uint8 destAddress,
uint8 priority,
boolean checkTimeout
)
Service ID [hex] 0x07
Sync/Async Synchronous
Reentrancy Reentrant

Parameters (in) userId Identification of the calling module.


channel Channel on which the request shall be sent.
requestedPgn PGN of the requested PG.
extIdInfo Extended identifier bytes. J1939RM_EXTID_NONE is assumed if
a NULL pointer is provided.
destAddress Address of the destination node or 0xFF for broadcast.
priority Priority of the Request PG.
checkTimeout TRUE: Timeout supervision will be performed FALSE: No timeout
supervision will be started
Parameters (inout) None
Parameters (out) None
5

32 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Return value Std_ReturnType E_OK: Transmission request is accepted
E_NOT_OK: Transmission request is not accepted
Description Requests transmission of a Request or Request2 PG.
Available via J1939Rm.h

c(SRS_J1939_00016)
[SWS_J1939Rm_00074] dThe J1939Rm_SendRequest API function shall only be
available if J1939RmUserSendRequest is set for at least one user.c(SRS_BSW_-
00171)
See section 7.6 for details.
[SWS_J1939Rm_00067] dThe J1939 Request Manager shall reject transmission
of a request by returning E_NOT_OK when the requestedPgn, the extIdType
element within the extIdInfo, the destAddress, or the priority are not in
the valid range, or when the userId is not one of the configured user IDs (see
J1939RmUserId), or when checkTimeout is true but timeout handling is disabled for
the calling module (see J1939RmUserTimeoutSupervision). If development error
detection is enabled via J1939RmDevErrorDetect, the corresponding development
error shall be reported: J1939RM_E_INVALID_USER for userId, J1939RM_E_-
INVALID_EXTID_INFO for extIdInfo, J1939RM_E_INVALID_PGN for request-
edPgn, J1939RM_E_INVALID_PRIO for priority, J1939RM_E_INVALID_AD-
DRESS for destAddress, and J1939RM_E_INVALID_OPTION for checkTimeout.c
(SRS_BSW_00386)
[SWS_J1939Rm_00068] dThe J1939 Request Manager shall reject transmission
of a request by returning E_NOT_OK when another request is pending and the request
queue is full.c(SRS_BSW_00386)
See section 7.2.1 for further error handling and section 8.1 for further parameter
checks.

8.4.6 J1939Rm_CancelRequestTimeout

[SWS_J1939Rm_00055] Definition of API function J1939Rm_CancelRequest


Timeout d
Service Name J1939Rm_CancelRequestTimeout
Syntax Std_ReturnType J1939Rm_CancelRequestTimeout (
uint8 userId,
NetworkHandleType channel,
uint32 requestedPgn,
const J1939Rm_ExtIdInfoType* extIdInfo,
uint8 destAddress
)
Service ID [hex] 0x08
5

33 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Sync/Async Synchronous
Reentrancy Reentrant
Parameters (in) userId Identification of the calling module.
channel Channel on which the request was sent.
requestedPgn PGN of the requested PG.
extIdInfo Extended identifier bytes. J1939RM_EXTID_NONE is assumed if
a NULL pointer is provided.
destAddress Address of the destination node.
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: Cancellation of request timeout was successful
E_NOT_OK: Cancellation of request timeout was not successful
Description Cancels timeout monitoring of a request. If the request is not active, or timeout monitoring was
not requested, this call has no effect.
Available via J1939Rm.h

c(SRS_J1939_00026)
[SWS_J1939Rm_00075] dThe J1939Rm_CancelRequestTimeout API function
shall only be available if J1939RmUserTimeoutSupervision is set for at least one
user.c(SRS_BSW_00171)
See section 7.8 for details.
[SWS_J1939Rm_00069] dThe J1939 Request Manager shall ignore the timeout
cancellation request when the requestedPgn, the extIdType element within the
extIdInfo, or the destAddress are not in the valid range, or when the userId is
not one of the configured user IDs (see J1939RmUserId), or if no suitable entry can
be found in the list of pending requests. If development error detection is enabled via
J1939RmDevErrorDetect, the corresponding development error shall be reported:
J1939RM_E_INVALID_USER for userId, J1939RM_E_INVALID_PGN for request-
edPgn, J1939RM_E_INVALID_EXTID_INFO for extIdInfo, and J1939RM_E_IN-
VALID_ADDRESS for destAddress.c(SRS_BSW_00386)
See section 7.2.1 for further error handling and section 8.1 for further parameter
checks.

34 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

8.4.7 J1939Rm_SendAck

[SWS_J1939Rm_00056] Definition of API function J1939Rm_SendAck d


Service Name J1939Rm_SendAck
Syntax Std_ReturnType J1939Rm_SendAck (
uint8 userId,
NetworkHandleType channel,
uint32 ackPgn,
const J1939Rm_ExtIdInfoType* extIdInfo,
J1939Rm_AckCode ackCode,
uint8 ackAddress,
uint8 priority,
boolean broadcast
)
Service ID [hex] 0x09
Sync/Async Synchronous
Reentrancy Reentrant

Parameters (in) userId Identification of the calling module.


channel Channel on which the acknowledgement shall be sent.
ackPgn Acknowledged PGN.
extIdInfo Extended identifier bytes. J1939RM_EXTID_NONE is assumed if
a NULL pointer is provided.
ackCode Type of acknowledgement, see definition of J1939Rm_AckCode
for available codes.
ackAddress Address of the node that sent the request.
priority Priority of the Acknowledgement PG.
broadcast Indicates whether the ACKM is a response to a broadcast
request.
Parameters (inout) None
Parameters (out) None
Return value Std_ReturnType E_OK: Transmission request is accepted
E_NOT_OK: Transmission request is not accepted
Description Requests transmission of an Acknowledgement PG.
Available via J1939Rm.h

c(SRS_J1939_00017)
[SWS_J1939Rm_00076] dThe J1939Rm_SendAck API function shall only be avail-
able if J1939RmUserSendAck is set for at least one user.c(SRS_BSW_00171)
See section 7.5 for details.
[SWS_J1939Rm_00070] dThe J1939 Request Manager shall reject transmis-
sion of an acknowledgement by returning E_NOT_OK when the ackPgn, the
extIdType element within the extIdInfo, the ackAddress, or the prior-
ity are not in the valid range, or when the userId is not one of the config-
ured user IDs (see J1939RmUserId). If development error detection is enabled
via J1939RmDevErrorDetect, the corresponding development error shall be re-
ported: J1939RM_E_INVALID_USER for userId, J1939RM_E_INVALID_EXTID_-
INFO for extIdInfo, J1939RM_E_INVALID_PGN for ackPgn, J1939RM_E_IN-
VALID_ACK_CODE for ackCode, J1939RM_E_INVALID_ADDRESS for ackAddress,
and J1939RM_E_INVALID_PRIO for priority.c(SRS_BSW_00386)

35 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

[SWS_J1939Rm_00071] dThe J1939 Request Manager shall reject transmission


of an acknowledgement by returning E_NOT_OK when another acknowledgement is
pending and the acknowledgement queue is full.c(SRS_BSW_00386)
See section 7.2.1 for further error handling and section 8.1 for further parameter
checks.

8.5 Callback notifications


This is a list of functions provided for other modules.

8.5.1 J1939Rm_RxIndication

[SWS_J1939Rm_00058] Definition of callback function J1939Rm_RxIndication d


Service Name J1939Rm_RxIndication
Syntax void J1939Rm_RxIndication (
PduIdType RxPduId,
const PduInfoType* PduInfoPtr
)
Service ID [hex] 0x42
Sync/Async Synchronous
Reentrancy Reentrant for different PduIds. Non reentrant for the same PduId.
Parameters (in) RxPduId ID of the received PDU.
PduInfoPtr Contains the length (SduLength) of the received PDU, a pointer
to a buffer (SduDataPtr) containing the PDU, and the MetaData
related to this PDU.
Parameters (inout) None
Parameters (out) None
Return value None
Description Indication of a received PDU from a lower layer communication interface module.
Available via J1939Rm.h

c()
[SWS_J1939Rm_00080] dThe J1939Rm_RxIndication call back func-
tion shall only be available if J1939RmUserAckIndication or
J1939RmUserRequestIndication is set for at least one user.c(SRS_BSW_-
00171)
See sections 7.4 and 7.7 for details.
See section 7.2.1 for error handling and section 8.1 for parameter checks.

36 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

8.5.2 J1939Rm_TxConfirmation

[SWS_J1939Rm_00059] Definition of callback function J1939Rm_TxConfirma-


tion d
Service Name J1939Rm_TxConfirmation
Syntax void J1939Rm_TxConfirmation (
PduIdType TxPduId,
Std_ReturnType result
)
Service ID [hex] 0x40
Sync/Async Synchronous
Reentrancy Reentrant for different PduIds. Non reentrant for the same PduId.
Parameters (in) TxPduId ID of the PDU that has been transmitted.
result E_OK: The PDU was transmitted. E_NOT_OK: Transmission of
the PDU failed.
Parameters (inout) None
Parameters (out) None
Return value None
Description The lower layer communication interface module confirms the transmission of a PDU, or the
failure to transmit a PDU.
Available via J1939Rm.h

c()
[SWS_J1939Rm_00081] dThe J1939Rm_TxConfirmation call back function shall
only be available if J1939RmUserSendAck or J1939RmUserSendRequest is set for
at least one user.c(SRS_BSW_00171)
See sections 7.5 and 7.6 for details.
See section 7.2.1 for error handling and section 8.1 for parameter checks.

8.5.3 J1939Rm_CheckReceivedComIPdu

[SWS_J1939Rm_00062] Definition of callback function J1939Rm_CheckRe-


ceivedComIPdu d
Service Name J1939Rm_CheckReceivedComIPdu
Syntax boolean J1939Rm_CheckReceivedComIPdu (
PduIdType PduId,
const PduInfoType* PduInfoPtr
)
Service ID [hex] 0x28
Sync/Async Synchronous
Reentrancy Reentrant for different PduIds. Non reentrant for the same PduId.
Parameters (in) PduId ID of the received ComIPdu.
PduInfoPtr Length (SduLength) of the received ComIPdu and a pointer to the
data of the ComIPdu (SduDataPtr).
Parameters (inout) None
5

37 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Parameters (out) None
Return value boolean Shall be always true to ensure the ComIPdu is received.
Description Reports a received ComIPdu. If this ComIPdu was requested via J1939Rm_SendRequest or
the SendRequest service operation, a request timeout for this request is stopped.
Available via J1939Rm_Com.h

c()
[SWS_J1939Rm_00079] dThe J1939Rm_CheckReceivedComIPdu call back func-
tion shall only be available if J1939RmUserTimeoutSupervision is set for at least
one user.c(SRS_BSW_00171)
See section 7.8 for details.
See section 7.2.1 for error handling and section 8.1 for parameter checks.

8.6 Scheduled functions


This function is directly called by Basic Software Scheduler (SchM).

8.6.1 J1939Rm_MainFunction

[SWS_J1939Rm_00042] Definition of scheduled function J1939Rm_MainFunc-


tion d
Service Name J1939Rm_MainFunction
Syntax void J1939Rm_MainFunction (
void
)
Service ID [hex] 0x04
Description Main function of the J1939 Request Manager. Used for scheduling purposes and timeout
supervision.
Available via SchM_J1939Rm.h

c()
[SWS_J1939Rm_00043] dThe frequency of invocations of J1939Rm_MainFunction
is determined by the configuration parameter J1939RmMainFunctionPeriod.c
(SRS_BSW_00478)

8.7 Expected interfaces


In this section, all interfaces required from other modules are listed.

38 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

8.7.1 Mandatory interfaces

This section defines all interfaces that are required to fulfill the core functionality of the
module.
[SWS_J1939Rm_00044] Definition of mandatory interfaces in module J1939Rm d
API Function Header File Description
PduR_J1939RmTransmit PduR_J1939Rm.h Requests transmission of a PDU.

c()

8.7.2 Optional interfaces

This section defines all interfaces that are required to fulfill an optional functionality of
the module.
[SWS_J1939Rm_00045] Definition of optional interfaces in module J1939Rm d
API Function Header File Description
Com_TriggerIPDUSendWithMetaData Com.h By a call to Com_TriggerIPDUSendWithMetaData
the AUTOSAR COM module updates its internal
metadata for the I-PDU with the given ID by copying
the metadata from the given position and with
respect to length of the globally configured Meta
DataType of this I-PDU. Then the I-PDU is triggered
for transmission.
Det_ReportError Det.h Service to report development errors.
J1939Dcm_RequestIndication J1939Dcm.h Indicates reception of a Request or Request2 PG.
J1939Nm_RequestIndication J1939Nm.h Indicates reception of a Request or Request2 PG.

c()
[SWS_J1939Rm_00082] dThe Com_TriggerIPDUSendWithMetaData function is
only required if at least one J1939RmComUser is configured.c(SRS_BSW_00171)
[SWS_J1939Rm_00083] dThe J1939Dcm_RequestIndication function is only re-
quired if at least one J1939RmDcmUser is configured.c(SRS_BSW_00171)
[SWS_J1939Rm_00084] dThe J1939Nm_RequestIndication function is only re-
quired if at least one J1939RmNmUser is configured.c(SRS_BSW_00171)

8.7.3 Configurable interfaces

In this section, all interfaces are listed where the target function could be configured.
The target function is usually a call-back function. The name of this kind of interfaces
is not fixed because they are configurable.

39 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

8.7.3.1 <User>_RequestIndication

[SWS_J1939Rm_00063] Definition of configurable interface < User >_Request


Indication d
Service Name < User >_RequestIndication
Syntax void < User >_RequestIndication (
uint8 node,
NetworkHandleType channel,
uint32 requestedPgn,
const J1939Rm_ExtIdInfoType* extIdInfo,
uint8 sourceAddress,
uint8 destAddress,
uint8 priority
)
Service ID [hex] 0x47
Sync/Async Synchronous
Reentrancy Reentrant

Parameters (in) node Node by which the request was received.


channel Channel on which the request was received.
requestedPgn PGN of the requested PG.
extIdInfo Extended identifier bytes.
sourceAddress Address of the node that sent the Request PG.
destAddress Address of this node or 0xFF for broadcast.
priority Priority of the Request PG.
Parameters (inout) None
Parameters (out) None
Return value None
Description Indicates reception of a Request or Request2 PG.
Available via <apiServicePrefix>_J1939Rm.h, where apiServicePrefix is taken from the CDD’s module
definition reference via J1939RmUserCddRef

c(SRS_J1939_00014)
[SWS_J1939Rm_00085] dThe configured User_RequestIndication function shall
be available for each user that has J1939RmUserRequestIndication enabled.c
(SRS_BSW_00171)
See section 7.4 for details.

40 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

8.7.3.2 <User>_AckIndication

[SWS_J1939Rm_00064] Definition of configurable interface < User >_AckIndica-


tion d
Service Name < User >_AckIndication
Syntax void < User >_AckIndication (
uint8 node,
NetworkHandleType channel,
uint32 ackPgn,
const J1939Rm_ExtIdInfoType* extIdInfo,
J1939Rm_AckCode ackCode,
uint8 ackAddress,
uint8 sourceAddress,
uint8 priority
)
Service ID [hex] 0x4d
Sync/Async Synchronous
Reentrancy Reentrant

Parameters (in) node Node by which the acknowledgement was received.


channel Channel on which the acknowledgement was received.
ackPgn Acknowledged PGN.
extIdInfo Extended identifier bytes.
ackCode Type of acknowledgement, see definition of J1939Rm_AckCode
for available codes.
ackAddress Address of this node.
sourceAddress Address of the node that sent the Acknowledgement PG.
priority Priority of the Acknowledgement PG.
Parameters (inout) None
Parameters (out) None
Return value None
Description Indicates reception of an Acknowledgement PG.
Available via <apiServicePrefix>_J1939Rm.h, where apiServicePrefix is taken from the CDD’s module
definition reference via J1939RmUserCddRef

c(SRS_J1939_00015)
[SWS_J1939Rm_00086] dThe configured User_AckIndication function shall be
available for each user that has J1939RmUserAckIndication enabled.c(SRS_-
BSW_00171)
See section 7.7 for details.

41 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

8.7.3.3 <User>_RequestTimeoutIndication

[SWS_J1939Rm_00065] Definition of configurable interface < User >_Request


TimeoutIndication d
Service Name < User >_RequestTimeoutIndication
Syntax void < User >_RequestTimeoutIndication (
uint8 node,
NetworkHandleType channel,
uint32 requestedPgn,
const J1939Rm_ExtIdInfoType* extIdInfo,
uint8 destAddress
)
Service ID [hex] 0x4e
Sync/Async Synchronous
Reentrancy Reentrant
Parameters (in) node Node by which the request was sent.
channel Channel on which the request was sent.
requestedPgn PGN of the requested PG.
extIdInfo Extended identifier bytes.
destAddress Address of the destination node or 0xFF for broadcast.
Parameters (inout) None
Parameters (out) None
Return value None
Description Indicates timeout of a request triggered with the same parameters.
Available via <apiServicePrefix>_J1939Rm.h, where apiServicePrefix is taken from the CDD’s module
definition reference via J1939RmUserCddRef

c(SRS_J1939_00026)
[SWS_J1939Rm_00087] dThe configured User_RequestTime-
outIndication function shall be available for each user that has
J1939RmUserTimeoutSupervision enabled.c(SRS_BSW_00171)
See section 7.8 for details.

8.8 Service Interfaces


This section defines the client server interfaces and the derived service ports used by
J1939Rm to communicate with application software components (SWCs).

8.8.1 Provided Service Ports

These service ports provide API functions of the J1939Rm to the application SWCs.
Please note: All three ports use a port defined argument value to provide the userId
argument of the corresponding BSW interfaces.

42 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

8.8.1.1 J1939Rm_SendAck

[SWS_J1939Rm_00098] Definition of Port J1939Rm_SendAck_{user} provided


by module J1939Rm d
Name J1939Rm_SendAck_{user}
Kind ProvidedPort Interface AppSendAck
Description –
Port Defined Type uint8
Argument Value(s)
Value {ecuc(J1939Rm/J1939RmConfigSet/J1939RmNode/J1939RmUser/J1939Rm
RteUser/J1939RmUserId.value)}
Variation {ecuc(J1939Rm/J1939RmGeneral.J1939RmSupportAckTransmission)} == true
user = {ecuc(J1939Rm/J1939RmConfigSet/J1939RmNode/J1939RmUser.SHORT-NAME)}

c(SRS_J1939_00017)

8.8.1.2 J1939Rm_SendRequest

[SWS_J1939Rm_00097] Definition of Port J1939Rm_SendRequest_{user} pro-


vided by module J1939Rm d
Name J1939Rm_SendRequest_{user}
Kind ProvidedPort Interface AppSendRequest
Description –
Port Defined Type uint8
Argument Value(s)
Value {ecuc(J1939Rm/J1939RmConfigSet/J1939RmNode/J1939RmUser/J1939Rm
RteUser/J1939RmUserId.value)}
Variation {ecuc(J1939Rm/J1939RmGeneral.J1939RmSupportRequestTransmission)} == true
user = {ecuc(J1939Rm/J1939RmConfigSet/J1939RmNode/J1939RmUser.SHORT-NAME)}

c(SRS_J1939_00016)

8.8.1.3 J1939Rm_CancelRequestTimeout

[SWS_J1939Rm_00099] Definition of Port J1939Rm_CancelRequestTime-


out_{user} provided by module J1939Rm d
Name J1939Rm_CancelRequestTimeout_{user}
Kind ProvidedPort Interface AppCancelRequestTimeout
Description –
Port Defined Type uint8
Argument Value(s)
Value {ecuc(J1939Rm/J1939RmConfigSet/J1939RmNode/J1939RmUser/J1939Rm
RteUser/J1939RmUserId.value)}
Variation {ecuc(J1939Rm/J1939RmGeneral.J1939RmSupportTimeoutSupervision)} == true
user = {ecuc(J1939Rm/J1939RmConfigSet/J1939RmNode/J1939RmUser.SHORT-NAME)}

c(SRS_J1939_00026)

43 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

8.8.2 Required Service Ports

These service ports provide call back functions of the J1939Rm to the application
SWCs.

8.8.2.1 J1939Rm_AckIndication

[SWS_J1939Rm_00101] Definition of Port J1939Rm_AckIndication_{user} re-


quired by module J1939Rm d
Name J1939Rm_AckIndication_{user}
Kind RequiredPort Interface AppAckIndication
Description –
Variation {ecuc(J1939Rm/J1939RmGeneral.J1939RmSupportAckIndication)} == true
user = {ecuc(J1939Rm/J1939RmConfigSet/J1939RmNode/J1939RmUser.SHORT-NAME)}

c(SRS_J1939_00015)

8.8.2.2 J1939Rm_RequestIndication

[SWS_J1939Rm_00100] Definition of Port J1939Rm_RequestIndication_{user}


required by module J1939Rm d
Name J1939Rm_RequestIndication_{user}
Kind RequiredPort Interface AppRequestIndication
Description –
Variation {ecuc(J1939Rm/J1939RmGeneral.J1939RmSupportRequestIndication)} == true
user = {ecuc(J1939Rm/J1939RmConfigSet/J1939RmNode/J1939RmUser.SHORT-NAME)}

c(SRS_J1939_00014)

8.8.2.3 J1939Rm_RequestTimeoutIndication

[SWS_J1939Rm_00102] Definition of Port J1939Rm_RequestTimeoutIndica-


tion_{user} required by module J1939Rm d
Name J1939Rm_RequestTimeoutIndication_{user}
Kind RequiredPort Interface AppRequestTimeoutIndication
Description –
Variation {ecuc(J1939Rm/J1939RmGeneral.J1939RmSupportTimeoutSupervision)} == true
user = {ecuc(J1939Rm/J1939RmConfigSet/J1939RmNode/J1939RmUser.SHORT-NAME)}

c(SRS_J1939_00026)

44 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

8.8.3 Client-Server Interfaces

This section lists the client-server interfaces used by the ports provided and required
by the J1939 Request Manager.
Please note: The availability of these interfaces depends on the configuration of the
J1939 Request Manager. The relevant parameters of the J1939 Request Man-
ager configuration are listed as “Variation” of the operations.

8.8.3.1 AppSendAck

[SWS_J1939Rm_00103] Definition of ClientServerInterface AppSendAck d


Name AppSendAck
Comment –
IsService true
Variation {ecuc(J1939Rm/J1939RmGeneral.J1939RmSupportAckTransmission)} == true
Possible Errors 0 E_OK Operation successful
1 E_NOT_OK Operation failed

Operation SendAck
Comment Requests transmission of an Acknowledgement PG.
Mapped to API J1939Rm_SendAck
Variation –
channel
Parameters Type NetworkHandleType
Direction IN
Comment Channel on which the acknowledgement shall be sent.
Variation –
ackPgn
Type uint32
Direction IN
Comment Acknowledged PGN.
Variation –
extIdInfo
Type J1939Rm_ExtIdInfoType
Direction IN
Comment –
Variation –
ackCode
Type J1939Rm_AckCode
Direction IN
Comment Type of acknowledgement, see definition of J1939Rm_AckCode for available
codes.
Variation –
ackAddress
5

45 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Type uint8
Direction IN
Comment Address of the node that sent the request.
Variation –
priority
Type uint8
Direction IN
Comment Priority of the Acknowledgement PG.
Variation –
broadcast
Type boolean
Direction IN
Comment Indicates whether the ACKM is a response to a broadcast request.
Variation –
Possible Errors E_OK
E_NOT_OK

c(SRS_J1939_00017)

8.8.3.2 AppSendRequest

[SWS_J1939Rm_00104] Definition of ClientServerInterface AppSendRequest d


Name AppSendRequest
Comment –
IsService true
Variation {ecuc(J1939Rm/J1939RmGeneral.J1939RmSupportRequestTransmission)} == true
Possible Errors 0 E_OK Operation successful
1 E_NOT_OK Operation failed

Operation SendRequest
Comment Requests transmission of a Request or Request2 PG.
Mapped to API J1939Rm_SendRequest
Variation –
channel
Parameters
Type NetworkHandleType
Direction IN
Comment Channel on which the request shall be sent.
Variation –
requestedPgn
Type uint32
Direction IN
Comment PGN of the requested PG.
Variation –
5

46 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
extIdInfo
Type J1939Rm_ExtIdInfoType
Direction IN
Comment –
Variation –
destAddress
Type uint8
Direction IN
Comment Address of the destination node or 0xFF for broadcast.
Variation –
priority
Type uint8
Direction IN
Comment Priority of the Request PG.
Variation –
checkTimeout
Type boolean
Direction IN
Comment TRUE: Timeout supervision will be performed
FALSE: No timeout supervision will be started
Variation –
Possible Errors E_OK
E_NOT_OK

c(SRS_J1939_00016)

8.8.3.3 AppCancelRequestTimeout

[SWS_J1939Rm_00105] Definition of ClientServerInterface AppCancelRequest


Timeout d
Name AppCancelRequestTimeout
Comment –
IsService true
Variation {ecuc(J1939Rm/J1939RmGeneral.J1939RmSupportTimeoutSupervision)} == true
Possible Errors 0 E_OK Operation successful
1 E_NOT_OK Operation failed

Operation CancelRequestTimeout
Comment Cancels timeout monitoring of a request. If the request is not active, or timeout monitoring was
not requested, this call has no effect.
Mapped to API J1939Rm_CancelRequestTimeout
Variation –
Parameters channel
Type NetworkHandleType
5

47 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Direction IN
Comment Channel on which the request was sent.
Variation –
requestedPgn
Type uint32
Direction IN
Comment PGN of the requested PG.
Variation –
extIdInfo
Type J1939Rm_ExtIdInfoType
Direction IN
Comment –
Variation –
destAddress
Type uint8
Direction IN
Comment Address of the destination node.
Variation –
Possible Errors E_OK
E_NOT_OK

c(SRS_J1939_00026)

8.8.3.4 AppAckIndication

[SWS_J1939Rm_00106] Definition of ClientServerInterface AppAckIndication d


Name AppAckIndication
Comment –
IsService true
Variation {ecuc(J1939Rm/J1939RmGeneral.J1939RmSupportAckIndication)} == true
Possible Errors 0 E_OK Operation successful
1 E_NOT_OK Operation failed

Operation AckIndication
Comment Indicates reception of an Acknowledgement PG.
Mapped to API < User >_AckIndication
Variation –
Parameters node
Type uint8
Direction IN
Comment Node by which the acknowledgement was received.
Variation –
channel
Type NetworkHandleType
5

48 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Direction IN
Comment Channel on which the acknowledgement was received.
Variation –
ackPgn
Type uint32
Direction IN
Comment Acknowledged PGN.
Variation –
extIdInfo
Type J1939Rm_ExtIdInfoType
Direction IN
Comment Extended identifier bytes.
Variation –
ackCode
Type J1939Rm_AckCode
Direction IN
Comment Type of acknowledgement, see definition of J1939Rm_AckCode for available
codes.
Variation –
ackAddress
Type uint8
Direction IN
Comment Address of this node.
Variation –
sourceAddress
Type uint8
Direction IN
Comment Address of the node that sent the Acknowledgement PG.
Variation –
priority
Type uint8
Direction IN
Comment Priority of the Acknowledgement PG.
Variation –
Possible Errors E_OK
E_NOT_OK

c(SRS_J1939_00015)

8.8.3.5 AppRequestIndication

[SWS_J1939Rm_00107] Definition of ClientServerInterface AppRequestIndica-


tion d

49 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

Name AppRequestIndication
Comment –
IsService true
Variation {ecuc(J1939Rm/J1939RmGeneral.J1939RmSupportRequestIndication)} == true
Possible Errors 0 E_OK Operation successful
1 E_NOT_OK Operation failed

Operation RequestIndication
Comment Indicates reception of a Request or Request2 PG.
Mapped to API < User >_RequestIndication
Variation –
node
Type uint8
Parameters
Direction IN
Comment Node by which the request was received.
Variation –
channel
Type NetworkHandleType
Direction IN
Comment Channel on which the request was received.
Variation –
requestedPgn
Type uint32
Direction IN
Comment PGN of the requested PG.
Variation –
extIdInfo
Type J1939Rm_ExtIdInfoType
Direction IN
Comment Extended identifier bytes.
Variation –
sourceAddress
Type uint8
Direction IN
Comment Address of the node that sent the Request PG.
Variation –
destAddress
Type uint8
Direction IN
Comment Address of this node or 0xFF for broadcast.
Variation –
priority
Type uint8
Direction IN
Comment Priority of the Request PG.
Variation –
5

50 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Possible Errors E_OK
E_NOT_OK

c(SRS_J1939_00014)

8.8.3.6 AppRequestTimeoutIndication

[SWS_J1939Rm_00108] Definition of ClientServerInterface AppRequestTimeout


Indication d
Name AppRequestTimeoutIndication
Comment –
IsService true
Variation {ecuc(J1939Rm/J1939RmGeneral.J1939RmSupportTimeoutSupervision)} == true
Possible Errors 0 E_OK Operation successful
1 E_NOT_OK Operation failed

Operation RequestTimeoutIndication
Comment Indicates timeout of a request triggered with the same parameters.
Mapped to API < User >_RequestTimeoutIndication
Variation –
node
Parameters Type uint8
Direction IN
Comment Node by which the request was sent.
Variation –
channel
Type NetworkHandleType
Direction IN
Comment Channel on which the request was sent.
Variation –
requestedPgn
Type uint32
Direction IN
Comment PGN of the requested PG.
Variation –
extIdInfo
Type J1939Rm_ExtIdInfoType
Direction IN
Comment Extended identifier bytes.
Variation –
destAddress
Type uint8
Direction IN
Comment Address of the destination node or 0xFF for broadcast.
5

51 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Variation –
Possible Errors E_OK
E_NOT_OK

c(SRS_J1939_00026)

8.8.4 Implementation Data Types

In this section, the implementation data types used by the client-server interfaces of
the J1939 Request Manager are listed.
Please note: It is essential that the implementation of the J1939 Request Manager
does not define these data types twice, by including them both from the RTE generated
header and the own types header.

8.8.4.1 J1939Rm_AckCode

[SWS_J1939Rm_00057] Definition of ImplementationDataType J1939Rm_Ack


Code d
Name J1939Rm_AckCode
Kind Type
Derived from uint8
Range J1939RM_ACK_POSITIVE 0x00 Positive Acknowledgement
J1939RM_ACK_NEGATIVE 0x01 Negative Acknowledgement
J1939RM_ACK_ACCESS_ 0x02 Access Denied
DENIED
J1939RM_ACK_CANNOT_ 0x03 Cannot Respond
RESPOND
Description This type represents the available kinds of acknowledgements.
Variation –
Available via Rte_J1939Rm_Type.h

c()

52 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

8.8.4.2 J1939Rm_ExtIdType

[SWS_J1939Rm_91000] Definition of ImplementationDataType J1939Rm_ExtId


Type d
Name J1939Rm_ExtIdType
Kind Type
Derived from uint8
Range J1939RM_EXTID_NONE 0x00 No extended identifier bytes (0)
J1939RM_EXTID_ONE 0x01 One extended identifier byte (1)
J1939RM_EXTID_TWO 0x02 Two extended identifier bytes (2)
J1939RM_EXTID_THREE 0x03 Three extended identifier bytes (3)
J1939RM_EXTID_GF 0x04 Group function value, only for
ACKM (4)
Description This type represents the available kinds of extended identifier usage.
Variation –
Available via Rte_J1939Rm_Type.h

c()

8.8.4.3 J1939Rm_ExtIdInfoType

[SWS_J1939Rm_91001] Definition of ImplementationDataType J1939Rm_ExtId


InfoType d
Name J1939Rm_ExtIdInfoType
Kind Structure
extIdType
Elements
Type J1939Rm_ExtIdType
Comment Denotes the number of extended identifier bytes.
extId1
Type uint8
Comment First extended identifier byte or group function for ACKM.
extId2
Type uint8
Comment Second extended identifier byte.
extId3
Type uint8
Comment Third extended identifier byte.
Description This type represents a set of extended identifiers.
Variation –
Available via Rte_J1939Rm_Type.h

c()

53 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

9 Sequence diagrams
The following sequence diagrams shall give an impression of the way the J1939 Re-
quest Manager shall behave and interoperate with other BSW modules. They are not
complete and not binding for the implementation.

9.1 Reception of Request PG


The following diagram shows the interaction with PduR and a J1939Rm User when a
Request PG is received.
J1939Rm User «module» «module» «module»
J1939Rm PduR CanIf

PduR_CanIfRxIndication()
J1939Rm_RxIndication()

alt Requested PGN is configured


[YES] <User>_RequestIndication()

[NO]
ref
J1939Rm Ack Transmission 

J1939Rm_RxIndication()
PduR_CanIfRxIndication()

Figure 9.1: Reception of Request PG

9.2 Transmission of Acknowledgement PG


The following diagram shows the interaction with a J1939Rm User and PduR when an
Acknowledgement PG is transmitted.

54 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

J1939Rm User «module» «module» «module»


J1939Rm PduR CanIf

J1939Rm_SendAck()

opt Ack Queue is full


PduR_J1939RmTransmit()
[NO] CanIf_Transmit()

J1939Rm_SendAck()

PduR_CanIfTxConfirmation()
J1939Rm_TxConfirmation()

opt Ack Queue is empty


PduR_J1939RmTransmit()
[NO] CanIf_Transmit()

J1939Rm_TxConfirmation()
PduR_CanIfTxConfirmation()

Figure 9.2: Transmission of Acknowledgement PG

9.3 Handling of Request for a COM Pdu


The following diagram shows the interaction with PduR and COM when the J1939 Re-
quest Manager receives a Request for a PG of PDU1 format that is transmitted as
COM PDU.
«module» «module» «module» «module» «module»
Com J1939Rm PduR J1939Tp CanIf

PduR_CanIfRxIndication()
J1939Rm_RxIndication()

opt COM IPdu requested

[YES] Com_TriggerIPDUSendWithMetaData()     

alt TP API used


PduR_ComTransmit()
[NO] CanIf_Transmit()

[YES] PduR_ComTransmit()
J1939Tp_Transmit()

Figure 9.3: Handling of Request for a COM PDU with PDU1 format

55 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

9.4 Handling of Request for a Diagnostic Pdu


The following diagram shows the interaction with PduR and J1939Dcm when a request
for a diagnostic PG is received.
«module» «module» «module» «module»
J1939Dcm J1939Rm PduR CanIf

ref
J1939Rm Request Reception

alt Request answered by


[Requested PG] PduR_J1939DcmTransmit()
CanIf_Transmit()

[Acknowledgement]
J1939Rm_SendAck()
PduR_J1939RmTransmit()
CanIf_Transmit()

Figure 9.4: Handling of Request for a Diagnostic Pdu

9.5 Transmission of Request PG


The following diagram shows the interaction with a J1939Rm User and PduR when a
Request PG is transmitted.
J1939Rm User «module» «module» «module»
J1939Rm PduR CanIf

J1939Rm_SendRequest
()

opt Request Queue is full


PduR_J1939RmTransmit()
[NO] CanIf_Transmit()

J1939Rm_SendRequest
()

PduR_CanIfTxConfirmation()
J1939Rm_TxConfirmation()

opt Request Queue is empty


PduR_J1939RmTransmit()
[NO] CanIf_Transmit()

J1939Rm_TxConfirmation()
PduR_CanIfTxConfirmation()

Figure 9.5: Transmission of Request PG

56 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

9.6 Reception of Acknowledgement PG


The following diagram shows the interaction with PduR and a J1939Rm User when an
Acknowledgement PG is received.
J1939Rm User «module» «module» «module»
J1939Rm PduR CanIf

PduR_CanIfRxIndication()
J1939Rm_RxIndication()

opt Acknowledged PGN is configured


[YES]
<User>_AckIndication()

J1939Rm_RxIndication()
PduR_CanIfRxIndication()

Figure 9.6: Reception of Acknowledgement PG

9.7 Monitoring of Request Timeout


The following diagram shows the interaction with a J1939Rm User and PduR when the
J1939Rm monitors timeout of a transmitted Request PG.

57 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

J1939Rm User «module» «module» «module»


J1939Rm PduR CanIf

ref
J1939Rm Request Transmission

  

loop until Timeout

break Ack for requested PGN received

ref
J1939Rm Ack Reception

break PGN received via COM

J1939Rm_CheckReceivedComIPdu
()

break Timer canceled

J1939Rm_CancelRequestTimeout()

opt Timeout occurred

<User>_RequestTimeoutIndication()

Figure 9.7: Monitoring of Request Timeout

58 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

10 Configuration specification
In general, this chapter defines configuration parameters and their clustering into con-
tainers. For general information about the definition of containers and parameters,
refer to the section 10.1 “Introduction to configuration specification” in [4, SWS BSW
General].
Section 10.1 specifies the structure (containers) and the parameters of the module
SAE J1939 Request Manager.
Section 10.2 specifies published information of the module SAE J1939 Request
Manager.

10.1 Containers and configuration parameters


The following sections summarize all configuration parameters of the J1939 Request
Manager. The detailed meaning of the parameters is described in chapters 7 and 8.
Some of these containers and parameters are derived from classes and attributes of
the [21, TPS System Template], which also contains the rules for these derivations.
The following pictures show an overview of the configuration parameters available for
J1939Rm:
J1939Rm: EcucModuleDef J1939RmGeneral:
+container EcucParamConfContainerDef
lowerMultiplicity = 0
upperMultiplicity = 1
upperMultiplicity = 1
lowerMultiplicity = 1

J1939RmChannel:
J1939RmConfigSet: +subContainer EcucParamConfContainerDef
EcucParamConfContainerDef
lowerMultiplicity = 1
lowerMultiplicity = 1 upperMultiplicity = *
+container upperMultiplicity = 1

J1939RmNode:
+subContainer
EcucParamConfContainerDef

lowerMultiplicity = 1
upperMultiplicity = *

Figure 10.1: Configuration container J1939Rm with subcontainer J1939RmConfigSet

59 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

J1939Rm: EcucModuleDef

lowerMultiplicity = 0
upperMultiplicity = 1

+container

J1939RmGeneral: J1939RmVersionInfoApi:
+parameter
EcucParamConfContainerDef EcucBooleanParamDef

upperMultiplicity = 1 defaultValue = false


+parameter J1939RmDevErrorDetect:
lowerMultiplicity = 1 EcucBooleanParamDef

defaultValue = false
J1939RmMainFunctionPeriod:
+parameter EcucFloatParamDef

max = INF
min = 0

+parameter J1939RmSupportAckIndication:
EcucBooleanParamDef

+parameter J1939RmSupportAckTransmission:
EcucBooleanParamDef

+parameter J1939RmSupportRequestIndication:
EcucBooleanParamDef

+parameter J1939RmSupportRequestTransmission:
EcucBooleanParamDef

+parameter J1939RmSupportTimeoutSupervision:
EcucBooleanParamDef

+parameter J1939RmSupportRequest2:
EcucBooleanParamDef

+parameter J1939RmGatewaySupport:
EcucBooleanParamDef

Figure 10.2: Configuration container J1939RmGeneral

60 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

J1939RmChannel: ComMChannel:
EcucParamConfContainerDef +reference J1939RmComMNetworkHandleRef: +destination EcucParamConfContainerDef
EcucReferenceDef
lowerMultiplicity = 1 lowerMultiplicity = 1
upperMultiplicity = * requiresSymbolicNameValue = true upperMultiplicity = 256

J1939RmAckmRxPdu:
+subContainer EcucParamConfContainerDef

upperMultiplicity = 1 +parameter
lowerMultiplicity = 0
ComMChannelId:
EcucIntegerParamDef

J1939RmAckmTxPdu: min = 0
+subContainer EcucParamConfContainerDef max = 255
withAuto = true
upperMultiplicity = 1
symbolicNameValue = true
lowerMultiplicity = 0

J1939RmRqstRxPdu:
+subContainer EcucParamConfContainerDef

upperMultiplicity = 1
lowerMultiplicity = 0

J1939RmRqstTxPdu:
+subContainer EcucParamConfContainerDef

upperMultiplicity = 1
lowerMultiplicity = 0

J1939RmRqst2RxPdu:
+subContainer EcucParamConfContainerDef

lowerMultiplicity = 0
upperMultiplicity = 1

J1939RmRqst2TxPdu:
+subContainer EcucParamConfContainerDef

lowerMultiplicity = 0
upperMultiplicity = 1

J1939RmAckQueueSize:
EcucIntegerParamDef
+parameter
min = 0
max = 255
lowerMultiplicity = 1
upperMultiplicity = 1

J1939RmRequestQueueSize:
EcucIntegerParamDef
+parameter
min = 0
max = 255
lowerMultiplicity = 1
upperMultiplicity = 1

J1939RmRequestTimeoutMonitors:
EcucIntegerParamDef
+parameter
min = 0
max = 255
lowerMultiplicity = 1
upperMultiplicity = 1

J1939RmRequest2QueueSize:
EcucIntegerParamDef
+parameter
min = 0
max = 255
lowerMultiplicity = 1
upperMultiplicity = 1

Figure 10.3: Configuration container J1939RmChannel

61 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

J1939RmRqst2RxPdu: +reference +destination


J1939RmChannel: J1939RmRqst2RxPduRef: Pdu:
EcucParamConfContainerDef
EcucParamConfContainerDef EcucReferenceDef EcucParamConfContainerDef
lowerMultiplicity = 0
lowerMultiplicity = 1 lowerMultiplicity = 0
upperMultiplicity = 1
upperMultiplicity = * upperMultiplicity = *
J1939RmRqst2RxPduId:
+subContainer EcucIntegerParamDef

+parameter min = 0
max = 65535
lowerMultiplicity = 1
upperMultiplicity = 1
withAuto = true
symbolicNameValue = true

J1939RmRqst2TxPdu: +reference +destination


EcucParamConfContainerDef J1939RmRqst2TxPduRef:
EcucReferenceDef
lowerMultiplicity = 0
upperMultiplicity = 1
+subContainer J1939RmRqst2TxPduId:
EcucIntegerParamDef
+parameter min = 0
max = 65535
lowerMultiplicity = 1
upperMultiplicity = 1
withAuto = true
symbolicNameValue = true

J1939RmAckmRxPdu: +reference +destination


EcucParamConfContainerDef J1939RmAckmRxPduRef:
EcucReferenceDef
upperMultiplicity = 1
lowerMultiplicity = 0
+subContainer
J1939RmAckmRxPduId:
EcucIntegerParamDef
+parameter
min = 0
max = 65535
withAuto = true
symbolicNameValue = true

J1939RmAckmTxPdu: +reference +destination


J1939RmAckmTxPduRef:
EcucParamConfContainerDef EcucReferenceDef
upperMultiplicity = 1
lowerMultiplicity = 0
+subContainer J1939RmAckmTxPduId:
EcucIntegerParamDef
+parameter
min = 0
max = 65535
withAuto = true
symbolicNameValue = true

J1939RmRqstRxPdu: +reference +destination


J1939RmRqstRxPduRef:
EcucParamConfContainerDef EcucReferenceDef
upperMultiplicity = 1
lowerMultiplicity = 0
+subContainer J1939RmRqstRxPduId:
EcucIntegerParamDef
+parameter
min = 0
max = 65535
withAuto = true
symbolicNameValue = true

J1939RmRqstTxPdu: +reference J1939RmRqstTxPduRef: +destination


EcucParamConfContainerDef EcucReferenceDef
upperMultiplicity = 1
lowerMultiplicity = 0
+subContainer
J1939RmRqstTxPduId:
EcucIntegerParamDef
+parameter
min = 0
max = 65535
withAuto = true
symbolicNameValue = true
(from EcucPdu)

Figure 10.4: Configuration container J1939RmChannel with PDUs

62 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

J1939RmNode: J1939RmNmNodeRef:
EcucParamConfContainerDef +destination
EcucReferenceDef J1939NmNode:
lowerMultiplicity = 1 +reference EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = * upperMultiplicity = 1 lowerMultiplicity = 1
requiresSymbolicNameValue = true upperMultiplicity = *

+parameter

J1939NmNodeId:
EcucIntegerParamDef

min = 0
max = 255
withAuto = true
symbolicNameValue = true

J1939RmChannel:
J1939RmNodeChannelRef:
EcucParamConfContainerDef
+reference EcucReferenceDef +destination
lowerMultiplicity = 1
lowerMultiplicity = 1
upperMultiplicity = *
upperMultiplicity = *

+subContainer J1939RmUser:
EcucChoiceContainerDef

lowerMultiplicity = 1
upperMultiplicity = *

Figure 10.5: Configuration container J1939RmNode

J1939RmUser: J1939RmCddUser:
EcucChoiceContainerDef +choice EcucParamConfContainerDef

lowerMultiplicity = 1 lowerMultiplicity = 0
upperMultiplicity = * upperMultiplicity = 1

J1939RmComUser: J1939RmComIPdu:
+choice EcucParamConfContainerDef +subContainer EcucParamConfContainerDef

lowerMultiplicity = 0 lowerMultiplicity = 0
upperMultiplicity = 1 upperMultiplicity = *

J1939RmDcmUser:
+choice EcucParamConfContainerDef

lowerMultiplicity = 0
upperMultiplicity = 1

J1939RmNmUser:
+choice EcucParamConfContainerDef

lowerMultiplicity = 0
upperMultiplicity = 1

J1939RmRteUser:
+choice EcucParamConfContainerDef

lowerMultiplicity = 0
upperMultiplicity = 1

Figure 10.6: Configuration container J1939RmUser

63 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

J1939RmCddUser: J1939RmUserId:
EcucParamConfContainerDef EcucIntegerParamDef

lowerMultiplicity = 0 +parameter min = 0


upperMultiplicity = 1 max = 254
lowerMultiplicity = 0
upperMultiplicity = 1
withAuto = true J1939RmUserRequestPGN:
symbolicNameValue = true EcucIntegerParamDef

+parameter min = 0
max = 262143
lowerMultiplicity = 0
upperMultiplicity = *

J1939RmUserRequestIndication:
+parameter EcucBooleanParamDef

lowerMultiplicity = 1
upperMultiplicity = 1

J1939RmUserAckIndication:
+parameter EcucBooleanParamDef

lowerMultiplicity = 1
upperMultiplicity = 1

J1939RmUserSendRequest:
+parameter EcucBooleanParamDef

lowerMultiplicity = 1
upperMultiplicity = 1

J1939RmUserSendAck:
+parameter EcucBooleanParamDef

lowerMultiplicity = 1
upperMultiplicity = 1

J1939RmUserAckPGN:
EcucIntegerParamDef
+parameter
min = 0
max = 262143
lowerMultiplicity = 0
upperMultiplicity = *
J1939RmUserTimeoutSupervision:
+parameter EcucBooleanParamDef

lowerMultiplicity = 1
upperMultiplicity = 1

J1939RmUserCddRef: EcucForeignReferenceDef
+reference
lowerMultiplicity = 1
upperMultiplicity = 1
destinationType = ECUC-MODULE-CONFIGURATION-VALUES

Ecu Configuration Description Template

ARElement
EcucModuleConfigurationValues

Figure 10.7: Configuration container J1939RmCddUser

64 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

J1939RmUserId:
J1939RmDcmUser:
EcucIntegerParamDef
EcucParamConfContainerDef

+parameter min = 0
lowerMultiplicity = 0
max = 254
upperMultiplicity = 1
lowerMultiplicity = 1
upperMultiplicity = 1
withAuto = true
symbolicNameValue = true

J1939RmUserRequestPGN:
EcucIntegerParamDef
+parameter
min = 0
max = 262143
lowerMultiplicity = 0
upperMultiplicity = *

Figure 10.8: Configuration container J1939RmDcmUser

J1939RmRteUser: J1939RmUserId:
EcucParamConfContainerDef EcucIntegerParamDef

lowerMultiplicity = 0 +parameter min = 0


upperMultiplicity = 1 max = 254
lowerMultiplicity = 0
upperMultiplicity = 1
withAuto = true
symbolicNameValue = true J1939RmUserRequestPGN:
EcucIntegerParamDef
+parameter
min = 0
max = 262143
lowerMultiplicity = 0
J1939RmUserAckIndication: upperMultiplicity = *
+parameter EcucBooleanParamDef

lowerMultiplicity = 1
upperMultiplicity = 1

J1939RmUserRequestIndication:
+parameter EcucBooleanParamDef

lowerMultiplicity = 1
upperMultiplicity = 1
J1939RmUserSendRequest:
+parameter EcucBooleanParamDef

lowerMultiplicity = 1
upperMultiplicity = 1
J1939RmUserSendAck:
+parameter EcucBooleanParamDef

lowerMultiplicity = 1
upperMultiplicity = 1
J1939RmUserAckPGN:
EcucIntegerParamDef
+parameter
min = 0
max = 262143
lowerMultiplicity = 0
upperMultiplicity = *
J1939RmUserTimeoutSupervision:
+parameter EcucBooleanParamDef

lowerMultiplicity = 1
upperMultiplicity = 1

Figure 10.9: Configuration container J1939RmRteUser

65 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

J1939RmComIPdu:
J1939RmComIPduPGN:
EcucParamConfContainerDef
EcucIntegerParamDef
+parameter
lowerMultiplicity = 0
min = 0
upperMultiplicity = *
max = 262143
lowerMultiplicity = 1
upperMultiplicity = 1

+reference J1939RmComIPduRef: +destination Pdu: EcucParamConfContainerDef


EcucReferenceDef lowerMultiplicity = 0
upperMultiplicity = *

J1939RmComIPduExtId1:
EcucIntegerParamDef
+parameter
min = 0
max = 255
lowerMultiplicity = 0
upperMultiplicity = 1

J1939RmComIPduExtId2:
EcucIntegerParamDef
+parameter
min = 0
max = 255
lowerMultiplicity = 0
upperMultiplicity = 1

J1939RmComIPduExtId3:
EcucIntegerParamDef
+parameter
min = 0
max = 255
lowerMultiplicity = 0
upperMultiplicity = 1

Figure 10.10: Configuration container J1939RmComIPdu

10.1.1 J1939Rm

SWS Item [ECUC_J1939Rm_00043]


Module Name J1939Rm
Description Configuration of the J1939 Request Manager.
Post-Build Variant Support true
Supported Config Variants VARIANT-LINK-TIME, VARIANT-POST-BUILD, VARIANT-PRE-COMPILE

Included Containers
Container Name Multiplicity Scope / Dependency
J1939RmConfigSet 1 This container contains the configuration parameters and sub
containers of the AUTOSAR J1939Rm module.
J1939RmGeneral 1 Contains the general configuration parameters of the module.

10.1.2 J1939RmGeneral

SWS Item [ECUC_J1939Rm_00001]


Container Name J1939RmGeneral
Parent Container J1939Rm
Description Contains the general configuration parameters of the module.
Configuration Parameters

66 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

SWS Item [ECUC_J1939Rm_00003]


Parameter Name J1939RmDevErrorDetect
Parent Container J1939RmGeneral
Description Switches the development error detection and notification on or off.
• true: detection and notification is enabled.
• false: detection and notification is disabled.
Multiplicity 1
Type EcucBooleanParamDef
Default value false
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00084]


Parameter Name J1939RmGatewaySupport
Parent Container J1939RmGeneral
Description Enables/disables support for routing Request and Acknowledgement messages.
Multiplicity 1
Type EcucBooleanParamDef
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00004]


Parameter Name J1939RmMainFunctionPeriod
Parent Container J1939RmGeneral
Description Execution cycle of J1939Rm_MainFunction in seconds.
Multiplicity 1
Type EcucFloatParamDef
Range ]0 .. INF[
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME,
VARIANT-POST-BUILD
Post-build time –
Scope / Dependency scope: ECU

SWS Item [ECUC_J1939Rm_00054]


Parameter Name J1939RmSupportAckIndication
Parent Container J1939RmGeneral
Description Pre-processor switch for enabling support of acknowledgement indications.
5

67 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Multiplicity 1
Type EcucBooleanParamDef
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00055]


Parameter Name J1939RmSupportAckTransmission
Parent Container J1939RmGeneral
Description Pre-processor switch for enabling support of acknowledgement transmission.
Multiplicity 1
Type EcucBooleanParamDef
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00073]


Parameter Name J1939RmSupportRequest2
Parent Container J1939RmGeneral
Description Pre-processor switch for enabling support of the Request2 PG. Please note: Transfer is
not supported.
Multiplicity 1
Type EcucBooleanParamDef
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00056]


Parameter Name J1939RmSupportRequestIndication
Parent Container J1939RmGeneral
Description Pre-processor switch for enabling support of request indications.
Multiplicity 1
Type EcucBooleanParamDef
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
5

68 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00057]


Parameter Name J1939RmSupportRequestTransmission
Parent Container J1939RmGeneral
Description Pre-processor switch for enabling support of request transmission.
Multiplicity 1
Type EcucBooleanParamDef
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00058]


Parameter Name J1939RmSupportTimeoutSupervision
Parent Container J1939RmGeneral
Description Pre-processor switch for enabling support of request timeout supervision.
Multiplicity 1
Type EcucBooleanParamDef
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00002]


Parameter Name J1939RmVersionInfoApi
Parent Container J1939RmGeneral
Description Pre-processor switch for enabling version info API support.
Multiplicity 1
Type EcucBooleanParamDef
Default value false
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

No Included Containers

69 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

10.1.3 J1939RmConfigSet

SWS Item [ECUC_J1939Rm_00017]


Container Name J1939RmConfigSet
Parent Container J1939Rm
Description This container contains the configuration parameters and sub containers of the
AUTOSAR J1939Rm module.
Configuration Parameters

Included Containers
Container Name Multiplicity Scope / Dependency
J1939RmChannel 1..* Contains the parameters for a CAN channel supported by the
J1939 Request Manager.
J1939RmNode 1..* Contains the parameters for the support of a logical J1939 node
(identified by an ECU address).

10.1.4 J1939RmChannel

SWS Item [ECUC_J1939Rm_00009]


Container Name J1939RmChannel
Parent Container J1939RmConfigSet
Description Contains the parameters for a CAN channel supported by the J1939 Request Manager.
Post-Build Variant Multiplicity true
Multiplicity Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Configuration Parameters

SWS Item [ECUC_J1939Rm_00007]


Parameter Name J1939RmAckQueueSize
Parent Container J1939RmChannel
Description Number of transmitted Acknowledgement messages that can be stored.
Multiplicity 1
Type EcucIntegerParamDef
Range 0 .. 255
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME,
VARIANT-POST-BUILD
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00074]


Parameter Name J1939RmRequest2QueueSize
Parent Container J1939RmChannel
5

70 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Description Number of transmitted Request2 messages that can be stored.
Multiplicity 1
Type EcucIntegerParamDef
Range 0 .. 255
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME,
VARIANT-POST-BUILD
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00006]


Parameter Name J1939RmRequestQueueSize
Parent Container J1939RmChannel
Description Number of transmitted Request messages that can be stored.
Multiplicity 1
Type EcucIntegerParamDef
Range 0 .. 255
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME,
VARIANT-POST-BUILD
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00008]


Parameter Name J1939RmRequestTimeoutMonitors
Parent Container J1939RmChannel
Description Number of transmitted requests that can be monitored for timeout.
Multiplicity 1
Type EcucIntegerParamDef
Range 0 .. 255
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME,
VARIANT-POST-BUILD
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00051]


Parameter Name J1939RmComMNetworkHandleRef
Parent Container J1939RmChannel
Description Reference to the channel defined by the ComMChannel providing access to the unique
channel index ComMChannelId.
Multiplicity 1
5

71 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Type Symbolic name reference to ComMChannel
Post-Build Variant Value false
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME,
VARIANT-POST-BUILD
Post-build time –
Scope / Dependency scope: local

Included Containers
Container Name Multiplicity Scope / Dependency
J1939RmAckmRxPdu 0..1 Contains the configuration of the I-PDU used to receive the
Acknowledgement PG. This PDU consumes a meta data item of
type CAN_ID_32.
J1939RmAckmTxPdu 0..1 Contains the configuration of the I-PDU used to transmit the
Acknowledgement PG. This PDU produces a meta data item of
type CAN_ID_32.
J1939RmRqst2RxPdu 0..1 Contains the configuration of the I-PDU used to receive the
Request2 PG. This PDU consumes a meta data item of type
CAN_ID_32.
J1939RmRqst2TxPdu 0..1 Contains the configuration of the I-PDU used to transmit the
Request2 PG. This PDU produces a meta data item of type
CAN_ID_32.
J1939RmRqstRxPdu 0..1 Contains the configuration of the I-PDU used to receive the
Request PG. This PDU consumes a meta data item of type
CAN_ID_32.
J1939RmRqstTxPdu 0..1 Contains the configuration of the I-PDU used to transmit the
Request PG. This PDU produces a meta data item of type CAN_
ID_32.

10.1.5 J1939RmAckmRxPdu

SWS Item [ECUC_J1939Rm_00011]


Container Name J1939RmAckmRxPdu
Parent Container J1939RmChannel
Description Contains the configuration of the I-PDU used to receive the Acknowledgement PG.
This PDU consumes a meta data item of type CAN_ID_32.
Configuration Parameters

SWS Item [ECUC_J1939Rm_00015]


Parameter Name J1939RmAckmRxPduId
Parent Container J1939RmAckmRxPdu
Description The I-PDU identifier used for RxIndication from PduR.
Multiplicity 1
Type EcucIntegerParamDef (Symbolic Name generated for this parameter)
Range 0 .. 65535
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
5

72 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Link time –
Post-build time –
Scope / Dependency scope: ECU
withAuto = true

SWS Item [ECUC_J1939Rm_00016]


Parameter Name J1939RmAckmRxPduRef
Parent Container J1939RmAckmRxPdu
Description Reference to the Pdu object representing the I-PDU.
Multiplicity 1
Type Reference to Pdu
Post-Build Variant Value false
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME,
VARIANT-POST-BUILD
Post-build time –
Scope / Dependency scope: local

No Included Containers

10.1.6 J1939RmAckmTxPdu

SWS Item [ECUC_J1939Rm_00012]


Container Name J1939RmAckmTxPdu
Parent Container J1939RmChannel
Description Contains the configuration of the I-PDU used to transmit the Acknowledgement PG.
This PDU produces a meta data item of type CAN_ID_32.
Configuration Parameters

SWS Item [ECUC_J1939Rm_00018]


Parameter Name J1939RmAckmTxPduId
Parent Container J1939RmAckmTxPdu
Description The I-PDU identifier used for TxConfirmation from PduR.
Multiplicity 1
Type EcucIntegerParamDef (Symbolic Name generated for this parameter)
Range 0 .. 65535
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: ECU
withAuto = true

73 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

SWS Item [ECUC_J1939Rm_00019]


Parameter Name J1939RmAckmTxPduRef
Parent Container J1939RmAckmTxPdu
Description Reference to the Pdu object representing the I-PDU.
Multiplicity 1
Type Reference to Pdu
Post-Build Variant Value false
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME,
VARIANT-POST-BUILD
Post-build time –
Scope / Dependency scope: local

No Included Containers

10.1.7 J1939RmRqstRxPdu

SWS Item [ECUC_J1939Rm_00013]


Container Name J1939RmRqstRxPdu
Parent Container J1939RmChannel
Description Contains the configuration of the I-PDU used to receive the Request PG. This PDU
consumes a meta data item of type CAN_ID_32.
Configuration Parameters

SWS Item [ECUC_J1939Rm_00020]


Parameter Name J1939RmRqstRxPduId
Parent Container J1939RmRqstRxPdu
Description The I-PDU identifier used for RxIndication from PduR.
Multiplicity 1
Type EcucIntegerParamDef (Symbolic Name generated for this parameter)
Range 0 .. 65535
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: ECU
withAuto = true

SWS Item [ECUC_J1939Rm_00021]


Parameter Name J1939RmRqstRxPduRef
Parent Container J1939RmRqstRxPdu
Description Reference to the Pdu object representing the I-PDU.
Multiplicity 1
Type Reference to Pdu
5

74 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Post-Build Variant Value false
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME,
VARIANT-POST-BUILD
Post-build time –
Scope / Dependency scope: local

No Included Containers

10.1.8 J1939RmRqstTxPdu

SWS Item [ECUC_J1939Rm_00014]


Container Name J1939RmRqstTxPdu
Parent Container J1939RmChannel
Description Contains the configuration of the I-PDU used to transmit the Request PG. This PDU
produces a meta data item of type CAN_ID_32.
Configuration Parameters

SWS Item [ECUC_J1939Rm_00022]


Parameter Name J1939RmRqstTxPduId
Parent Container J1939RmRqstTxPdu
Description The I-PDU identifier used for TxConfirmation from PduR.
Multiplicity 1
Type EcucIntegerParamDef (Symbolic Name generated for this parameter)
Range 0 .. 65535
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: ECU
withAuto = true

SWS Item [ECUC_J1939Rm_00023]


Parameter Name J1939RmRqstTxPduRef
Parent Container J1939RmRqstTxPdu
Description Reference to the Pdu object representing the I-PDU.
Multiplicity 1
Type Reference to Pdu
Post-Build Variant Value false
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME,
VARIANT-POST-BUILD
Post-build time –
Scope / Dependency scope: local

No Included Containers

75 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

10.1.9 J1939RmRqst2RxPdu

SWS Item [ECUC_J1939Rm_00075]


Container Name J1939RmRqst2RxPdu
Parent Container J1939RmChannel
Description Contains the configuration of the I-PDU used to receive the Request2 PG. This PDU
consumes a meta data item of type CAN_ID_32.
Configuration Parameters

SWS Item [ECUC_J1939Rm_00078]


Parameter Name J1939RmRqst2RxPduId
Parent Container J1939RmRqst2RxPdu
Description The I-PDU identifier used for RxIndication from PduR.
Multiplicity 1
Type EcucIntegerParamDef (Symbolic Name generated for this parameter)
Range 0 .. 65535
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: ECU
withAuto = true

SWS Item [ECUC_J1939Rm_00077]


Parameter Name J1939RmRqst2RxPduRef
Parent Container J1939RmRqst2RxPdu
Description Reference to the Pdu object representing the I-PDU.
Multiplicity 1
Type Reference to Pdu
Post-Build Variant Value false
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME,
VARIANT-POST-BUILD
Post-build time –
Scope / Dependency scope: local

No Included Containers

10.1.10 J1939RmRqst2TxPdu

SWS Item [ECUC_J1939Rm_00076]


Container Name J1939RmRqst2TxPdu
Parent Container J1939RmChannel
5

76 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Description Contains the configuration of the I-PDU used to transmit the Request2 PG. This PDU
produces a meta data item of type CAN_ID_32.
Configuration Parameters

SWS Item [ECUC_J1939Rm_00080]


Parameter Name J1939RmRqst2TxPduId
Parent Container J1939RmRqst2TxPdu
Description The I-PDU identifier used for TxConfirmation from PduR.
Multiplicity 1
Type EcucIntegerParamDef (Symbolic Name generated for this parameter)
Range 0 .. 65535
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: ECU
withAuto = true

SWS Item [ECUC_J1939Rm_00079]


Parameter Name J1939RmRqst2TxPduRef
Parent Container J1939RmRqst2TxPdu
Description Reference to the Pdu object representing the I-PDU.
Multiplicity 1
Type Reference to Pdu
Post-Build Variant Value false
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME,
VARIANT-POST-BUILD
Post-build time –
Scope / Dependency scope: local

No Included Containers

10.1.11 J1939RmNode

SWS Item [ECUC_J1939Rm_00049]


Container Name J1939RmNode
Parent Container J1939RmConfigSet
Description Contains the parameters for the support of a logical J1939 node (identified by an ECU
address).
Post-Build Variant Multiplicity true
Multiplicity Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
5

77 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Configuration Parameters

SWS Item [ECUC_J1939Rm_00005]


Parameter Name J1939RmNmNodeRef
Parent Container J1939RmNode
Description Reference to the corresponding J1939Nm node.
Multiplicity 1
Type Symbolic name reference to J1939NmNode
Post-Build Variant Value false
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME,
VARIANT-POST-BUILD
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00052]


Parameter Name J1939RmNodeChannelRef
Parent Container J1939RmNode
Description Reference to the channels this node has access to.
Multiplicity 1..*
Type Reference to J1939RmChannel
Post-Build Variant Multiplicity false
Post-Build Variant Value false
Multiplicity Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME,
VARIANT-POST-BUILD
Post-build time –
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME,
VARIANT-POST-BUILD
Post-build time –
Scope / Dependency scope: local

Included Containers
Container Name Multiplicity Scope / Dependency
J1939RmUser 1..* Contains the configuration of a module that uses the request and
acknowledgement interfaces of J1939Rm.

10.1.12 J1939RmUser

SWS Item [ECUC_J1939Rm_00010]


Choice Container Name J1939RmUser
Parent Container J1939RmNode
Description Contains the configuration of a module that uses the request and acknowledgement
interfaces of J1939Rm.
Post-Build Variant Multiplicity true
5

78 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Multiplicity Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD

Container Choices
Container Name Multiplicity Scope / Dependency
J1939RmCddUser 0..1 J1939Rm User representing a complex driver (CDD). CDDs may
use all services provided by J1939Rm.
J1939RmComUser 0..1 J1939Rm User representing AUTOSAR COM. Supports
requests for COM I-PDUs.
J1939RmDcmUser 0..1 J1939Rm User representing the J1939Dcm. Requires request
indication and transmission of acknowledgement.
J1939RmNmUser 0..1 J1939Rm User representing the J1939Nm. Requires request
indication.
J1939RmRteUser 0..1 J1939Rm User representing an application software component
(SW-C). SW-Cs may use all services provided by the J1939Rm
via service ports.

10.1.13 J1939RmNmUser

SWS Item [ECUC_J1939Rm_00071]


Container Name J1939RmNmUser
Parent Container J1939RmUser
Description J1939Rm User representing the J1939Nm. Requires request indication.
Post-Build Variant Multiplicity true
Multiplicity Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Configuration Parameters

No Included Containers

10.1.14 J1939RmDcmUser

SWS Item [ECUC_J1939Rm_00068]


Container Name J1939RmDcmUser
Parent Container J1939RmUser
Description J1939Rm User representing the J1939Dcm. Requires request indication and
transmission of acknowledgement.
Post-Build Variant Multiplicity true
Multiplicity Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Configuration Parameters

79 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

SWS Item [ECUC_J1939Rm_00072]


Parameter Name J1939RmUserId
Parent Container J1939RmDcmUser
Description Identifier used by J1939Dcm when calling J1939Rm_SendAck.
Multiplicity 1
Type EcucIntegerParamDef (Symbolic Name generated for this parameter)
Range 0 .. 254
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: ECU
withAuto = true

SWS Item [ECUC_J1939Rm_00070]


Parameter Name J1939RmUserRequestPGN
Parent Container J1939RmDcmUser
Description PGN of DMx PG supported by J1939Dcm.
Multiplicity 0..*
Type EcucIntegerParamDef
Range 0 .. 262143
Default value –
Post-Build Variant Multiplicity true
Post-Build Variant Value true
Multiplicity Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: local

No Included Containers

10.1.15 J1939RmCddUser

SWS Item [ECUC_J1939Rm_00066]


Container Name J1939RmCddUser
Parent Container J1939RmUser
Description J1939Rm User representing a complex driver (CDD). CDDs may use all services
provided by J1939Rm.
Post-Build Variant Multiplicity false
Multiplicity Configuration Class Pre-compile time X All Variants
Link time –
5

80 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Post-build time –
Configuration Parameters

SWS Item [ECUC_J1939Rm_00028]


Parameter Name J1939RmUserAckIndication
Parent Container J1939RmCddUser
Description Enable AckIndication for this module. In case of CDD, the name is <apiServicePrefix>_
AckIndication. In case of RTE, the operation AckIndication of the required port
J1939Rm_AckIndication_{user} is called.
Multiplicity 1
Type EcucBooleanParamDef
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00061]


Parameter Name J1939RmUserAckPGN
Parent Container J1939RmCddUser
Description PGN supported to be acknowledged to this module. The PGNs supported by different
modules should usually be disjunctive.
Multiplicity 0..*
Type EcucIntegerParamDef
Range 0 .. 262143
Default value –
Post-Build Variant Multiplicity false
Post-Build Variant Value false
Multiplicity Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00025]


Parameter Name J1939RmUserId
Parent Container J1939RmCddUser
Description Identifier used by a module using J1939Rm. This parameter is only required when the
module uses transmission of requests or acknowledgements.
Multiplicity 0..1
Type EcucIntegerParamDef (Symbolic Name generated for this parameter)
Range 0 .. 254
Default value –
Post-Build Variant Multiplicity false
Post-Build Variant Value false
5

81 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Multiplicity Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: ECU
withAuto = true

SWS Item [ECUC_J1939Rm_00027]


Parameter Name J1939RmUserRequestIndication
Parent Container J1939RmCddUser
Description Enable RequestIndication for this module. In case of J1939Nm or J1939Dcm, the
name is fixed. In case of CDD, the name is <apiServicePrefix>_RequestIndication. In
case of RTE, J1939Rm will call the operation RequestIndication of the required port
J1939Rm_RequestIndication_{user}.
Multiplicity 1
Type EcucBooleanParamDef
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00026]


Parameter Name J1939RmUserRequestPGN
Parent Container J1939RmCddUser
Description PGN supported to be requested from this module. The PGNs supported by different
modules should usually be disjunctive.
Multiplicity 0..*
Type EcucIntegerParamDef
Range 0 .. 262143
Default value –
Post-Build Variant Multiplicity false
Post-Build Variant Value false
Multiplicity Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00030]


Parameter Name J1939RmUserSendAck
Parent Container J1939RmCddUser
5

82 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Description Enable the SendAck API for this module. In case of RTE, the operation SendAck of the
provided port J1939Rm_SendAck_{user} is called.
Multiplicity 1
Type EcucBooleanParamDef
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00029]


Parameter Name J1939RmUserSendRequest
Parent Container J1939RmCddUser
Description Enable the SendRequest API for this module. In case of RTE, the operation Send
Request of the provided port J1939Rm_SendRequest_{user} is called.
Multiplicity 1
Type EcucBooleanParamDef
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00031]


Parameter Name J1939RmUserTimeoutSupervision
Parent Container J1939RmCddUser
Description Enable RequestTimeoutIndication and CancelRequestTimeout for this module.
RequestTimeoutIndication: In case of CDD, the name is <apiServicePrefix>_Request
TimeoutIndication. In case of RTE, the operation RequestTimeoutIndication of the
required port J1939Rm_RequestTimeoutIndication_{user} is called.
CancelRequestTimeout: In case of RTE, the operation CancelRequestTimeout of the
provided port J1939Rm_CancelRequestTimeout_{user} is called.
Multiplicity 1
Type EcucBooleanParamDef
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00042]


Parameter Name J1939RmUserCddRef
Parent Container J1939RmCddUser
Description Reference to the CDD module description.
Multiplicity 1
5

83 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Type Foreign reference to ECUC-MODULE-CONFIGURATION-VALUES
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

No Included Containers

10.1.16 J1939RmRteUser

SWS Item [ECUC_J1939Rm_00069]


Container Name J1939RmRteUser
Parent Container J1939RmUser
Description J1939Rm User representing an application software component (SW-C). SW-Cs may
use all services provided by the J1939Rm via service ports.
Post-Build Variant Multiplicity false
Multiplicity Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Configuration Parameters

SWS Item [ECUC_J1939Rm_00028]


Parameter Name J1939RmUserAckIndication
Parent Container J1939RmRteUser
Description Enable AckIndication for this module. In case of CDD, the name is <apiServicePrefix>_
AckIndication. In case of RTE, the operation AckIndication of the required port
J1939Rm_AckIndication_{user} is called.
Multiplicity 1
Type EcucBooleanParamDef
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00061]


Parameter Name J1939RmUserAckPGN
Parent Container J1939RmRteUser
Description PGN supported to be acknowledged to this module. The PGNs supported by different
modules should usually be disjunctive.
Multiplicity 0..*
Type EcucIntegerParamDef
Range 0 .. 262143
5

84 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Default value –
Post-Build Variant Multiplicity false
Post-Build Variant Value false
Multiplicity Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00025]


Parameter Name J1939RmUserId
Parent Container J1939RmRteUser
Description Identifier used by a module using J1939Rm. This parameter is only required when the
module uses transmission of requests or acknowledgements.
Multiplicity 0..1
Type EcucIntegerParamDef (Symbolic Name generated for this parameter)
Range 0 .. 254
Default value –
Post-Build Variant Multiplicity false
Post-Build Variant Value false
Multiplicity Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: ECU
withAuto = true

SWS Item [ECUC_J1939Rm_00027]


Parameter Name J1939RmUserRequestIndication
Parent Container J1939RmRteUser
Description Enable RequestIndication for this module. In case of J1939Nm or J1939Dcm, the
name is fixed. In case of CDD, the name is <apiServicePrefix>_RequestIndication. In
case of RTE, J1939Rm will call the operation RequestIndication of the required port
J1939Rm_RequestIndication_{user}.
Multiplicity 1
Type EcucBooleanParamDef
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

85 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

SWS Item [ECUC_J1939Rm_00026]


Parameter Name J1939RmUserRequestPGN
Parent Container J1939RmRteUser
Description PGN supported to be requested from this module. The PGNs supported by different
modules should usually be disjunctive.
Multiplicity 0..*
Type EcucIntegerParamDef
Range 0 .. 262143
Default value –
Post-Build Variant Multiplicity false
Post-Build Variant Value false
Multiplicity Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00030]


Parameter Name J1939RmUserSendAck
Parent Container J1939RmRteUser
Description Enable the SendAck API for this module. In case of RTE, the operation SendAck of the
provided port J1939Rm_SendAck_{user} is called.
Multiplicity 1
Type EcucBooleanParamDef
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00029]


Parameter Name J1939RmUserSendRequest
Parent Container J1939RmRteUser
Description Enable the SendRequest API for this module. In case of RTE, the operation Send
Request of the provided port J1939Rm_SendRequest_{user} is called.
Multiplicity 1
Type EcucBooleanParamDef
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

86 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

SWS Item [ECUC_J1939Rm_00031]


Parameter Name J1939RmUserTimeoutSupervision
Parent Container J1939RmRteUser
Description Enable RequestTimeoutIndication and CancelRequestTimeout for this module.
RequestTimeoutIndication: In case of CDD, the name is <apiServicePrefix>_Request
TimeoutIndication. In case of RTE, the operation RequestTimeoutIndication of the
required port J1939Rm_RequestTimeoutIndication_{user} is called.
CancelRequestTimeout: In case of RTE, the operation CancelRequestTimeout of the
provided port J1939Rm_CancelRequestTimeout_{user} is called.
Multiplicity 1
Type EcucBooleanParamDef
Default value –
Post-Build Variant Value false
Value Configuration Class Pre-compile time X All Variants
Link time –
Post-build time –
Scope / Dependency scope: local

No Included Containers

10.1.17 J1939RmComUser

SWS Item [ECUC_J1939Rm_00067]


Container Name J1939RmComUser
Parent Container J1939RmUser
Description J1939Rm User representing AUTOSAR COM. Supports requests for COM I-PDUs.
Post-Build Variant Multiplicity true
Multiplicity Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Configuration Parameters

Included Containers
Container Name Multiplicity Scope / Dependency
J1939RmComIPdu 0..* Contains the configuration of an I-PDU that is to be transmitted
on request by COM.

10.1.18 J1939RmComIPdu

SWS Item [ECUC_J1939Rm_00032]


Container Name J1939RmComIPdu
Parent Container J1939RmComUser
Description Contains the configuration of an I-PDU that is to be transmitted on request by COM.
5

87 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Post-Build Variant Multiplicity true
Multiplicity Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Configuration Parameters

SWS Item [ECUC_J1939Rm_00081]


Parameter Name J1939RmComIPduExtId1
Parent Container J1939RmComIPdu
Description First extended identifier byte of the COM I-PDU.
Multiplicity 0..1
Type EcucIntegerParamDef
Range 0 .. 255
Default value –
Post-Build Variant Multiplicity true
Post-Build Variant Value true
Multiplicity Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00082]


Parameter Name J1939RmComIPduExtId2
Parent Container J1939RmComIPdu
Description Second extended identifier byte of the COM I-PDU.
Multiplicity 0..1
Type EcucIntegerParamDef
Range 0 .. 255
Default value –
Post-Build Variant Multiplicity true
Post-Build Variant Value true
Multiplicity Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00083]


Parameter Name J1939RmComIPduExtId3
Parent Container J1939RmComIPdu
Description Third extended identifier byte of the COM I-PDU.
Multiplicity 0..1
5

88 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

4
Type EcucIntegerParamDef
Range 0 .. 255
Default value –
Post-Build Variant Multiplicity true
Post-Build Variant Value true
Multiplicity Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00033]


Parameter Name J1939RmComIPduPGN
Parent Container J1939RmComIPdu
Description PGN of the COM I-PDU.
Multiplicity 1
Type EcucIntegerParamDef
Range 0 .. 262143
Default value –
Post-Build Variant Value true
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: local

SWS Item [ECUC_J1939Rm_00065]


Parameter Name J1939RmComIPduRef
Parent Container J1939RmComIPdu
Description Reference to the Pdu object representing the I-PDU.
Multiplicity 1
Type Reference to Pdu
Post-Build Variant Value false
Value Configuration Class Pre-compile time X VARIANT-PRE-COMPILE
Link time X VARIANT-LINK-TIME
Post-build time X VARIANT-POST-BUILD
Scope / Dependency scope: local

No Included Containers

10.2 Published Information


For details refer to the chapter 10.3 “Published Information” [4, SWS BSW General].

89 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

A History of Constraints and Specification Items


Please note that the lists in this chapter also include constraints and specification items
that have been removed from the specification in a later version. These constraints and
specification items do not appear as hyperlinks in the document.

A.1 Constraint and Specification Item History of this Document


According to AUTOSAR Release R21-11

A.1.1 Added Specification Items in R21-11

none

A.1.2 Changed Specification Items in R21-11

[SWS_J1939Rm_00033] [SWS_J1939Rm_00118] [SWS_J1939Rm_00124] [SWS_-


J1939Rm_00127] [SWS_J1939Rm_00128] [SWS_J1939Rm_00129]

A.1.3 Deleted Specification Items in R21-11

none

A.2 Constraint and Specification Item History of this Document


According to AUTOSAR Release R22-11

A.2.1 Added Specification Items in R22-11

[SWS_J1939Rm_NA]

A.2.2 Changed Specification Items in R22-11

none

A.2.3 Deleted Specification Items in R22-11

none

90 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

A.3 Constraint and Specification Item History of this Document


According to AUTOSAR Release R23-11

A.3.1 Added Specification Items in R23-11

none

A.3.2 Changed Specification Items in R23-11

[SWS_J1939Rm_00029] [SWS_J1939Rm_00055] [SWS_J1939Rm_00057] [SWS_-


J1939Rm_00063] [SWS_J1939Rm_00064] [SWS_J1939Rm_00065] [SWS_-
J1939Rm_00105] [SWS_J1939Rm_00118] [SWS_J1939Rm_91000]

A.3.3 Deleted Specification Items in R23-11

none

91 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager


Specification of a Request Manager for SAE J1939
AUTOSAR CP R23-11

B Not Applicable Requirements


[SWS_J1939Rm_NA] dThese requirements are not applicable to this specifica-
tion.c(SRS_J1939_00001, SRS_J1939_00002, SRS_J1939_00003, SRS_J1939_-
00004, SRS_J1939_00006, SRS_J1939_00010, SRS_J1939_00011, SRS_J1939_-
00018, SRS_J1939_00019, SRS_J1939_00020, SRS_J1939_00021, SRS_J1939_-
00022, SRS_J1939_00023, SRS_J1939_00024, SRS_J1939_00025, SRS_J1939_-
00027, SRS_J1939_00028, SRS_J1939_00029, SRS_J1939_00030, SRS_J1939_-
00031, SRS_J1939_00032, SRS_J1939_00033, SRS_J1939_00034, SRS_J1939_-
00035, SRS_J1939_00036, SRS_J1939_00037, SRS_J1939_00038, SRS_J1939_-
00039, SRS_J1939_00040, SRS_J1939_00041, SRS_J1939_00042, SRS_J1939_-
00043, SRS_J1939_00044, SRS_J1939_00045, SRS_J1939_00046, SRS_J1939_-
00047, SRS_J1939_00048, SRS_J1939_00051, SRS_J1939_NA)

92 of 92 Document ID 611: AUTOSAR_CP_SWS_SAEJ1939RequestManager

You might also like