AUTOSAR CP SWS SAEJ1939RequestManager
AUTOSAR CP SWS SAEJ1939RequestManager
AUTOSAR CP R23-11
Specification of a Request
Document Title Manager for SAE J1939
Document Owner AUTOSAR
Document Responsibility AUTOSAR
Document Identification No 611
• Fixed reference to
J1939Rm_CheckReceivedComIPdu,
fixed name of
AUTOSAR J1939RmRequest2QueueSize, fixed
2023-11-23 R23-11 Release description of destAddress of
Management J1939Rm_CancelRequestTimeout
• J1939Rm_AckCode and
J1939Rm_ExtIdType changed to
uint8
AUTOSAR
2022-11-24 R22-11 Release • No content changes
Management
• Converted to LATEX
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
• 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
4
• Additional development error for function
parameter checks
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.
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
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
1
Short parameter groups with PDU2 format have no destination address, they are broad-
cast PGs by nature.
3 Related documentation
4.1 Limitations
The J1939 Request Manager only implements Request, Request2, and Ac-
knowledgement PGs. It does not provide support for the Transfer PG.
For details, refer to the section 5.1.6 “Code file structure” of the [4, SWS BSW General].
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.
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
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
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.1 Initialization
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)
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)
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.
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)
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)
→ 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)
c()
8 API specification
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.1 J1939Rm_ConfigType
c()
8.3.2 J1939Rm_StateType
c()
8.4.1 J1939Rm_Init
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
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
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
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
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
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.
8.4.7 J1939Rm_SendAck
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)
8.5.1 J1939Rm_RxIndication
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.
8.5.2 J1939Rm_TxConfirmation
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
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.1 J1939Rm_MainFunction
c()
[SWS_J1939Rm_00043] dThe frequency of invocations of J1939Rm_MainFunction
is determined by the configuration parameter J1939RmMainFunctionPeriod.c
(SRS_BSW_00478)
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()
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)
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.
8.7.3.1 <User>_RequestIndication
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.
8.7.3.2 <User>_AckIndication
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.
8.7.3.3 <User>_RequestTimeoutIndication
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.
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.
8.8.1.1 J1939Rm_SendAck
c(SRS_J1939_00017)
8.8.1.2 J1939Rm_SendRequest
c(SRS_J1939_00016)
8.8.1.3 J1939Rm_CancelRequestTimeout
c(SRS_J1939_00026)
These service ports provide call back functions of the J1939Rm to the application
SWCs.
8.8.2.1 J1939Rm_AckIndication
c(SRS_J1939_00015)
8.8.2.2 J1939Rm_RequestIndication
c(SRS_J1939_00014)
8.8.2.3 J1939Rm_RequestTimeoutIndication
c(SRS_J1939_00026)
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
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
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
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
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
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
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
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
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
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
4
Possible Errors E_OK
E_NOT_OK
c(SRS_J1939_00014)
8.8.3.6 AppRequestTimeoutIndication
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
4
Variation –
Possible Errors E_OK
E_NOT_OK
c(SRS_J1939_00026)
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
c()
8.8.4.2 J1939Rm_ExtIdType
c()
8.8.4.3 J1939Rm_ExtIdInfoType
c()
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.
PduR_CanIfRxIndication()
J1939Rm_RxIndication()
[NO]
ref
J1939Rm Ack Transmission
J1939Rm_RxIndication()
PduR_CanIfRxIndication()
J1939Rm_SendAck()
J1939Rm_SendAck()
PduR_CanIfTxConfirmation()
J1939Rm_TxConfirmation()
J1939Rm_TxConfirmation()
PduR_CanIfTxConfirmation()
PduR_CanIfRxIndication()
J1939Rm_RxIndication()
[YES] PduR_ComTransmit()
J1939Tp_Transmit()
Figure 9.3: Handling of Request for a COM PDU with PDU1 format
ref
J1939Rm Request Reception
[Acknowledgement]
J1939Rm_SendAck()
PduR_J1939RmTransmit()
CanIf_Transmit()
J1939Rm_SendRequest
()
J1939Rm_SendRequest
()
PduR_CanIfTxConfirmation()
J1939Rm_TxConfirmation()
J1939Rm_TxConfirmation()
PduR_CanIfTxConfirmation()
PduR_CanIfRxIndication()
J1939Rm_RxIndication()
J1939Rm_RxIndication()
PduR_CanIfRxIndication()
ref
J1939Rm Request Transmission
ref
J1939Rm Ack Reception
J1939Rm_CheckReceivedComIPdu
()
J1939Rm_CancelRequestTimeout()
<User>_RequestTimeoutIndication()
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.
J1939RmChannel:
J1939RmConfigSet: +subContainer EcucParamConfContainerDef
EcucParamConfContainerDef
lowerMultiplicity = 1
lowerMultiplicity = 1 upperMultiplicity = *
+container upperMultiplicity = 1
J1939RmNode:
+subContainer
EcucParamConfContainerDef
lowerMultiplicity = 1
upperMultiplicity = *
J1939Rm: EcucModuleDef
lowerMultiplicity = 0
upperMultiplicity = 1
+container
J1939RmGeneral: J1939RmVersionInfoApi:
+parameter
EcucParamConfContainerDef 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
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
+parameter min = 0
max = 65535
lowerMultiplicity = 1
upperMultiplicity = 1
withAuto = true
symbolicNameValue = true
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 = *
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
J1939RmCddUser: J1939RmUserId:
EcucParamConfContainerDef 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
ARElement
EcucModuleConfigurationValues
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 = *
J1939RmRteUser: J1939RmUserId:
EcucParamConfContainerDef EcucIntegerParamDef
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
J1939RmComIPdu:
J1939RmComIPduPGN:
EcucParamConfContainerDef
EcucIntegerParamDef
+parameter
lowerMultiplicity = 0
min = 0
upperMultiplicity = *
max = 262143
lowerMultiplicity = 1
upperMultiplicity = 1
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
10.1.1 J1939Rm
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
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
4
Scope / Dependency scope: local
No Included Containers
10.1.3 J1939RmConfigSet
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
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
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
4
Link time –
Post-build time –
Scope / Dependency scope: ECU
withAuto = true
No Included Containers
10.1.6 J1939RmAckmTxPdu
No Included Containers
10.1.7 J1939RmRqstRxPdu
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
No Included Containers
10.1.9 J1939RmRqst2RxPdu
No Included Containers
10.1.10 J1939RmRqst2TxPdu
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
No Included Containers
10.1.11 J1939RmNode
4
Configuration Parameters
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
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
No Included Containers
10.1.14 J1939RmDcmUser
No Included Containers
10.1.15 J1939RmCddUser
4
Post-build time –
Configuration Parameters
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
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
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
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
No Included Containers
10.1.17 J1939RmComUser
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
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
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
No Included Containers
none
none
[SWS_J1939Rm_NA]
none
none
none
none