DEENESPTFRRUARHIKOZHNL

UDP Network Management (UdpNm)

ModulUdpNm (UDP Network Management)
BSW-Modul-ID33
Standard-Header#include "UdpNm.h"
SWS-SpezifikationAUTOSAR_CP_SWS_UDPNetworkManagement.pdf, AUTOSAR_SWS_UDPNetworkManagement.pdf
Umfang107 Records · 6 Snippets
ClusterEthernet-Stack

UDP Network Management (UdpNm)

AUTOSAR Classic Communication Services-Modul UDP Network Management (UdpNm, Spezifikation: AUTOSAR_CP_SWS_UDPNetworkManagement.pdf, AUTOSAR_SWS_UDPNetworkManagement.pdf).

Funktionen — Übersicht

Typen — Übersicht

Anforderungen — Übersicht

Funktionen & Typen — Detailansicht

함수 UdpNm_Init [SWS_UdpNm_00208] 📄 PDF

void UdpNm_Init(const UdpNm_ConfigType* UdpNmConfigPtr);

Initialize the complete Udp Nm module, i.e. all channels which are activated at configuration time are initialized. A UDP socket shall be set up with the TCP/ IP stack. Caveats: This function has to be called after initialization of the TCP/ IP stack. Configuration: Mandatory

함수 UdpNm_PassiveStartUp [SWS_UdpNm_00211] 📄 PDF

Std_ReturnType UdpNm_PassiveStartUp(NetworkHandleType nmChannelHandle);

Passive startup of the AUTOSAR Udp Nm. It triggers the transition from Bus - Sleep Mode or Prepare Bus Sleep Mode to the Network Mode in Repeat Message State. Caveats: Udp Nm is initialized correctly.

함수 UdpNm_NetworkRequest [SWS_UdpNm_00213] 📄 PDF

Std_ReturnType UdpNm_NetworkRequest(NetworkHandleType nmChannelHandle);

Request the network, since ECU needs to communicate on the bus. Network state shall be changed to 'requested' Caveats: Udp Nm is initialized correctly. Configuration: Optional (Only available if Udp Nm Passive Mode Enabled == false)

함수 UdpNm_NetworkRelease [SWS_UdpNm_00214] 📄 PDF

Std_ReturnType UdpNm_NetworkRelease(NetworkHandleType nmChannelHandle);

Release the network, since ECU doesn't have to communicate on the bus. Network state shall be changed to 'released'. Caveats: Udp Nm is initialized correctly. Configuration: Optional (Only available if Udp Nm Passive Mode Enabled == false)

함수 UdpNm_DisableCommunication [SWS_UdpNm_00215] 📄 PDF

Std_ReturnType UdpNm_DisableCommunication(NetworkHandleType nmChannelHandle);

Disable the NM PDU transmission ability due to a ISO14229 Communication Control (0x28) service Caveats: Udp Nm is initialized correctly. Configuration: Optional (Only available if Udp Nm Com Control Enabled == true)

함수 UdpNm_EnableCommunication [SWS_UdpNm_00216] 📄 PDF

Std_ReturnType UdpNm_EnableCommunication(NetworkHandleType nmChannelHandle);

Enable the NM PDU transmission ability due to a ISO14229 Communication Control (0x28) service Caveats: Udp Nm is initialized correctly. Configuration: Optional (Only available if U dp Nm Com Control Enabled == true).

함수 UdpNm_SetUserData [SWS_UdpNm_00217] 📄 PDF

Std_ReturnType UdpNm_SetUserData(NetworkHandleType nmChannelHandle, const uint8* nmUserDataPtr);

Set user data for all NM messages transmitted on the bus after this function has returned without error. Caveats: Udp Nm is initialized correctly. Configuration: Optional (Only available if Udp Nm User Data Enabled==true and Udp Nm Passive Mode Enabled==false).

함수 UdpNm_GetUserData [SWS_UdpNm_00218] 📄 PDF

Std_ReturnType UdpNm_GetUserData(NetworkHandleType nmChannelHandle, uint8* nmUserDataPtr);

Get user data from the most recently received NM message. Cave ats: Udp Nm is initialized correctly. Configuration: Optional (Only available if Udp Nm User Data Enabled == true).

함수 UdpNm_GetNodeIdentifier [SWS_UdpNm_00219] 📄 PDF

Std_ReturnType UdpNm_GetNodeIdentifier(NetworkHandleType nmChannelHandle, uint8* nmNodeIdPtr);

Get node identifier from the most recently received NM PDU. Caveats: Udp Nm is initialized correctly.

함수 UdpNm_GetLocalNodeIdentifier [SWS_UdpNm_00220] 📄 PDF

Std_ReturnType UdpNm_GetLocalNodeIdentifier(NetworkHandleType nmChannelHandle, uint8* nmNodeIdPtr);

Service Name Udp Nm_ Get Local Node Identifier Syntax Std_ Return Type Udp Nm_ Get Local Node Identifier ( Network Handle Type nm Channel Handle, uint8* nm Node Id Ptr ) Service ID [hex] 0x07 Sync/ Async Synchronous Reentrancy Reentrant Parameters (in) nm Channel Handle Identification of the NM - channel Parameters (inout) None Parameters (out) nm Node Id Ptr Pointer where node identifier of the local node shall be copied to. Return value Std _ Return - Type E_ OK: No error E_ NOT_ OK: Getting of the node identifier of the local node has failed or is not configured for this network handle. Descri ption Get node identifier configured for the local node. Caveats: Udp Nm is initialized correctly. Available via Udp Nm.h

함수 UdpNm_RepeatMessageRequest [SWS_UdpNm_00221] 📄 PDF

Std_ReturnType UdpNm_RepeatMessageRequest(NetworkHandleType nmChannelHandle);

Set Repeat Message Request Bit for all NM messages transmitted on the bus after this function has returned without error. Available vi a Udp Nm.h

함수 UdpNm_RequestBusSynchronization [SWS_UdpNm_00226] 📄 PDF

Std_ReturnType UdpNm_RequestBusSynchronization(NetworkHandleType nmChannelHandle);

Request bus synchronization. Caveats: Udp Nm is initialized correctly. Configuration: Optional (only available if Udp Nm Bus Synchronization Enabled==true and Udp Nm Passive Mode Enabled ==false).

함수 UdpNm_CheckRemoteSleepIndication [SWS_UdpNm_00227] 📄 PDF

Std_ReturnType UdpNm_CheckRemoteSleepIndication(NetworkHandleType nmChannelHandle, boolean* NmRemoteSleepIndPtr);

Check if remote sleep indication takes place or not. Cave ats: Udp Nm is initialized correctly. Configuration: Optional (only available if Udp Nm Remote Sleep Ind Enabled == true)

함수 UdpNm_SoAdIfTxConfirmation [SWS_UdpNm_00228] 📄 PDF

void UdpNm_SoAdIfTxConfirmation(PduIdType TxPduId, Std_ReturnType result);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

함수 UdpNm_MainFunction<Instance_Id> [SWS_UdpNm_00234] 📄 PDF

void UdpNm_MainFunction<Instance_Id>(void);

Main function of the Udp Nm which processes the algorithm describes in that document. E.g.: Udp Nm_ Main Function_0() represents the Udp Nm instance for the UDP chann el 0 Udp Nm_ Main Function_1() represents the Udp Nm instance for the UDP channel 1

함수 UdpNm_GetPduData [SWS_UdpNm_00309] 📄 PDF

Std_ReturnType UdpNm_GetPduData(NetworkHandleType nmChannelHandle, uint8* nmPduDataPtr);

Get the whole PDU data out of the most recently received NM message. Caveats: Udp Nm is initialized correctly.

함수 UdpNm_GetState [SWS_UdpNm_00310] 📄 PDF

Std_ReturnType UdpNm_GetState(NetworkHandleType nmChannelHandle, Nm_StateType* nmStatePtr, Nm_ModeType* nmModePtr);

Returns the state and the mode of the network management. Caveats: Udp Nm is initia lized correctly. Configuration: Mandatory

함수 UdpNm_SoAdIfTriggerTransmit [SWS_UdpNm_91001] 📄 PDF

Std_ReturnType UdpNm_SoAdIfTriggerTransmit(PduIdType TxPduId, PduInfoType* PduInfoPtr);

Within this API, the upper layer module (called module) shall check whether the available data fits into the b uffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without ch anging Pdu Info Ptr.

함수 UdpNm_RequestSynchronizedPncShutdown [SWS_UdpNm_91002] 📄 PDF

Std_ReturnType UdpNm_RequestSynchronizedPncShutdown(NetworkHandleType nmChannelHandle, PNCHandleType pncId);

Requests transmission of a NM - PDU with PNSR bit set to 1 (PN shutdown message) Tags: atp.Status=draft

함수 UdpNm_PnLearningRequest [SWS_UdpNm_91004] 📄 PDF

Std_ReturnType UdpNm_PnLearningRequest(NetworkHandleType nmChannelHandle);

Set Repeat Message Request Bit and Partial Network Learning Bit for NM messages tran smitted next on the bus. This will force all nodes on the bus to enter the PNC Learning Phase. This is needed for the optional Dynamic PNC - to - channel - mapping feature. Tags: atp.Status=draft

함수 UdpNm_RepeatMessageIndication [SWS_UdpNm_91008] 📄 PDF

void UdpNm_RepeatMessageIndication(NetworkHandleType nmNetworkHandle);

Service to indicate that an NM message with set Repeat Message Re- quest Bit has been received. This is needed for node detection and PNC dynamic learning.

함수 UdpNm_ActivateTxPnShutdownMsg [SWS_UdpNm_91009] 📄 PDF

Std_ReturnType UdpNm_ActivateTxPnShutdownMsg(NetworkHandleType nmChannelHandle);

NM indicate to activate the transmission of PN shutdown messages on the given NM-Channel. This results in transmission of a NM-PDU with PNSR bit set to 1 (PN shutdown message). ▽ △

함수 UdpNm_DeactivateTxPnShutdownMsg [SWS_UdpNm_91010] 📄 PDF

Std_ReturnType UdpNm_DeactivateTxPnShutdownMsg(NetworkHandleType nmChannelHandle);

NM indicate to deactive the transmission of PN shutdown messages on the given NM-Channel. This result in transmission of a usual NM-PDUs with PNSR bit set to 0.

타입 UdpNm_PduPositionType [SWS_UdpNm_00304] 📄 PDF

Used to define the position of the control bit vector within the NM PACKET.

requirement SWS_UdpNm_00018 [SWS_UdpNm_00018] 📄 PDF

Type of error Related error code Error value API service used without module initialization UDPNM_ E_ UNINIT 0x01 API service called with wrong channel handle UDPNM_ E_ INVALID_ CHANNEL 0x02 API service called with wrong PDU ID. UDPNM_ E_ INVALID_ PDUID 0x03 Udp Nm initialization has failed, e.g. selected configuration set doesn't exist UDPNM_ E_ INIT_ FAILED 0x04 Null pointer has been passed as an argument UDPNM_ E_ PARAM_ POINTER 0x12

requirement SWS_UdpNm_00129 [SWS_UdpNm_00129] 📄 PDF

: When the network is requested in Bus - Sleep Mode, the UdpNm module shall enter the Network Mode; by default the UdpNm module shall enter the Repeat Message State (refer to SWS_UdpNm_ 00095 and SWS_UdpNm_00104 ).

requirement SWS_UdpNm_00130 [SWS_UdpNm_00130] 📄 PDF

[SWS_UdpNm_00130] ⌈The service call UdpNm_RequestBusSynchronization shall trigger transmission of a single Network Management PDU if UdpNmPassiveModeEnabled (configuration parameter) is FALSE.⌋() Rationale: This service is typically used for supporting the NM gateway extensions.

requirement SWS_UdpNm_00131 [SWS_UdpNm_00131] 📄 PDF

The AUTOSAR UdpNm algorithm shall support up to 250 nodes per NM-Cluster by default.

requirement SWS_UdpNm_00132 [SWS_UdpNm_00132] 📄 PDF

[SWS_UdpNm_00132] Upstream requirements: RS_Nm_02508 ⌈The service call UdpNm_GetNodeIdentifier shall provide the node identifier out of the most recently received Network Management PDU if UdpNmNodeIdEnabled is set to TRUE.⌋

requirement SWS_UdpNm_00133 [SWS_UdpNm_00133] 📄 PDF

[SWS_UdpNm_00133] Upstream requirements: RS_Nm_02508 ⌈The service call UdpNm_GetLocalNodeIdentifier shall provide the node identi- fier configured for the local host node if UdpNmNodeIdEnabled is set to TRUE.⌋

requirement SWS_UdpNm_00137 [SWS_UdpNm_00137] 📄 PDF

If the service UdpNm_RepeatMessageRequest is called in Repeat Message State, Prepare Bus - Sleep Mode or Bus - Sleep Mode, the UdpNm module shall not execute the service and return E_NOT _ OK .

requirement SWS_UdpNm_00138 [SWS_UdpNm_00138] 📄 PDF

The service call UdpNm_GetPduData shall provide whole payload (Source Node ID, Control Bit Ve ctor and User Data) of the most recently received Network Management PDU if UdpNmNodeDetectionEnabled or UdpNmUserDataEnabled or UdpNmNodeIdEnabled is set to TRUE .

requirement SWS_UdpNm_00147 [SWS_UdpNm_00147] 📄 PDF

If UdpNm_PassiveStartUp is called in the Network Mode, the UdpNm module shall not execute this service and shall return E_NOT _ OK .

requirement SWS_UdpNm_00153 [SWS_UdpNm_00153] 📄 PDF

[SWS_UdpNm_00153] Upstream requirements: RS_Nm_00052 ⌈The service call UdpNm_CheckRemoteSleepIndication shall provide the infor- mation about current status of Remote Sleep Indication (i.e. already detected or not).⌋

requirement SWS_UdpNm_00176 [SWS_UdpNm_00176] 📄 PDF

[SWS_UdpNm_00176] Upstream requirements: RS_Nm_02512 ⌈The optional service UdpNm_EnableCommunication shall enable the NM PDU transmission ability if the NM PDU transmission ability is disabled.⌋

requirement SWS_UdpNm_00177 [SWS_UdpNm_00177] 📄 PDF

[SWS_UdpNm_00177] Upstream requirements: RS_Nm_02512 ⌈The optional service UdpNm_EnableCommunication shall return E_NOT_OK if the NM PDU transmission ability is already enabled when the service is called.⌋

requirement SWS_UdpNm_00187 [SWS_UdpNm_00187] 📄 PDF

[SWS_UdpNm_00187] ⌈If UdpNm_RequestBusSynchronization is called in Bus- Sleep Mode and Prepare Bus-Sleep Mode the UdpNm module shall not execute the service and shall return E_NOT_OK.⌋()

requirement SWS_UdpNm_00189 [SWS_UdpNm_00189] 📄 PDF

Development errors shall not be returned by API functions; in case of a development error, the respective API function will return E_NOT _OK , if applicable.

requirement SWS_UdpNm_00190 [SWS_UdpNm_00190] 📄 PDF

Production errors shall not be returned by API functions; in case of a production e rror, the respective API function will return E_NOT _OK , if applicable.

requirement SWS_UdpNm_00192 [SWS_UdpNm_00192] 📄 PDF

When NM API service with an invalid network handle is called, the called function shall not be executed, but instead of that it shall report UDPNM_E_INVALID_CH ANNEL to the Default Error Tracer (if development error detection is enabled) otherwise it shall return E_NOT_OK to the calling function

requirement SWS_UdpNm_00196 [SWS_UdpNm_00196] 📄 PDF

If detection of development errors is enabled by UDPNM_DEV_ERROR_DETECT (configuration parameter), vali dity checks for all input parameters shall be performed for each UDP NM API service call.

requirement SWS_UdpNm_00197 [SWS_UdpNm_00197] 📄 PDF

Parameter type checking shall be performed at compile time; if types do not match, the compilation process shall be stopped and respective com pilation warnings or errors shall be returned as far as supported by the compiler.

requirement SWS_UdpNm_00198 [SWS_UdpNm_00198] 📄 PDF

Parameter value check (for parameters of the constant value) shall be performed at configuration time; if the value is invalid, the configuration pr ocess shall be stopped and the respective configuration error shall be reported.

requirement SWS_UdpNm_00199 [SWS_UdpNm_00199] 📄 PDF

Parameter value check (for parameters of the variable value) shall be performed at execution time; if the value is invalid, execution of a service sha ll be denied and the respective development error shall be reported.

requirement SWS_UdpNm_00244 [SWS_UdpNm_00244] 📄 PDF

[SWS_UdpNm_00244] ⌈The UdpNm module shall reject the execution of a service called with an invalid parameter and shall inform the DET.⌋() AUTOSAR UdpNm API consists of services, which are UDP specific and can be called whenever they are required; each service apart from UdpNm_Init refers to one NM channel only.

requirement SWS_UdpNm_00305 [SWS_UdpNm_00305] 📄 PDF

[SWS_UdpNm_00305] Upstream requirements: RS_Nm_02512 ⌈The service UdpNm_EnableCommunication shall return E_NOT_OK, if the current mode is not Network Mode.⌋

requirement SWS_UdpNm_00306 [SWS_UdpNm_00306] 📄 PDF

[SWS_UdpNm_00306] Upstream requirements: RS_Nm_02512 ⌈If the module operates in passive mode (UdpNmPassiveModeEnabled is TRUE) the service UdpNm_EnableCommunication shall have no effects and shall directly return E_NOT_OK.⌋

requirement SWS_UdpNm_00307 [SWS_UdpNm_00307] 📄 PDF

[SWS_UdpNm_00307] Upstream requirements: RS_Nm_02512 ⌈If the module operates in passive mode (UdpNmPassiveModeEnabled) the ser- vice UdpNm_DisableCommunication shall have no effects and shall directly return E_NOT_OK.⌋

requirement SWS_UdpNm_00314 [SWS_UdpNm_00314] 📄 PDF

If UdpNmComUserDataSupport is enabled and the UdpNm User Data length does not match with the length of the referenced I - PDU an error shall be reported at generation time.

requirement SWS_UdpNm_00315 [SWS_UdpNm_00315] 📄 PDF

If UdpNmComUserDataSupport or UdpNmPnEnabled is enabled the UdpNm implementation shall provide an API UdpNm_Transmit .

requirement SWS_UdpNm_00317 [SWS_UdpNm_00317] 📄 PDF

If UdpNmComUserDataSupport is enabled and NM - PDU is not configured for triggered transmission in SoAd ( SoAdBswModules/SoAdIfTriggerTransmit = FALSE ), the UdpNm shall collect the NM User Data from the referenced N M I - PDU by calling PduR_UdpNmTriggerTransmit and combine the user data with the further NM bytes each time before it requests the transmission of the corresponding NM message.

requirement SWS_UdpNm_00318 [SWS_UdpNm_00318] 📄 PDF

[SWS_UdpNm_00318] Upstream requirements: SRS_BSW_00323, SRS_BSW_00337 ⌈If DET is enabled for the UdpNm module, the function UdpNm_GetVersionInfo shall raise UDPNM_E_PARAM_POINTER, if the argument versioninfo is a NULL pointer and return without any action.⌋

requirement SWS_UdpNm_00320 [SWS_UdpNm_00320] 📄 PDF

If the UdpNm cal led NM_CoordReadyToSleepIndication and is still in Network Mode it shall notify the Nm by calling Nm_CoordReadyToSleepCancellation on the first reception of a NM message with the NmCoordinatorSleepReady bit (see CBV ) se t it to 0

requirement SWS_UdpNm_00329 [SWS_UdpNm_00329] 📄 PDF

If UdpNmPnEnabled is TRUE , the PNI bit in the received NM - PDU is 0 and UdpNmAllNmM essagesKeepAwake is TRUE , the UdpNm module shall perform the normal Rx Indication handling and omitting the extensions for partial networking.

requirement SWS_UdpNm_00331 [SWS_UdpNm_00331] 📄 PDF

{OBSOLETE rep la ced by SWS_UdpNm_00486 } If UdpNmPnEnabled is TRUE and the PNI bit in the received NM - PDU is 1, UdpNm module s hall process the Partial Networking Information of the NM - PDU as described in chapter 7.8.3 to 7.8.6 .

requirement SWS_UdpNm_00334 [SWS_UdpNm_00334] 📄 PDF

When entering the Repeat Message State from Bus Sleep Mode or Prepare Bus Sleep Mode because of UdpNm_NetworkRequest() (active wakeup) and if UdpNmImmediateNmTrans missions is greater zero, the NM PDUs shall be transmitted using UdpNmImmediateNmCycleTime as cycle time. The transmission of the first NM PDU shall be triggered as soon as possible. After the transmission the Message Cycle Timer shall be reloaded with Udp NmImmediateNmCycleTime . The UdpNmMsgCycleOffset shall not be applied in this case.

requirement SWS_UdpNm_00336 [SWS_UdpNm_00336] 📄 PDF

{OBSOLETE} Every bit of the PN Info Range represents one Partial Network. If the bit is set to 1 the Partia l Network is requested. If the bit is set to 0 there is no request for this PN.

requirement SWS_UdpNm_00364 [SWS_UdpNm_00364] 📄 PDF

If UdpNm has entered Network mode or called Nm_CoordReadyToSleepCancellation before it shall notify the NM by calling Nm_ Coord ReadyTo Sleep Indication on the first reception of NM message with the NmCoordinatorSleepReady bit (see CBV ) set to 1

requirement SWS_UdpNm_00367 [SWS_UdpNm_00367] 📄 PDF

If the UdpNm module leaves the NetworkMode and UdpNmActiveWakeupBitEnabled is TRUE , the UdpNm module shall clear th e ActiveWakeupBit in the CBV .

requirement SWS_UdpNm_00372 [SWS_UdpNm_00372] 📄 PDF

{OBSOLETE} If UdpNmPnEiraCalcEnabled is TRUE and UdpNmPnEraCalcEnabled is TRUE , the PN status information shall be stored separately for both, the EIRA and ERA information (compare to SWS_UdpNM_00344 and SWS_UdpNM_00355 ) .

requirement SWS_UdpNm_00373 [SWS_UdpNm_00373] 📄 PDF

The position of the Car Wake up bit in the NM - PDU is defined by the configuration parameters UdpNmCarWakeUpBytePosition and UdpNmCarWakeUpBitPosition .

requirement SWS_UdpNm_00374 [SWS_UdpNm_00374] 📄 PDF

If the Car Wakeup bit within any received NM - PDU is 1, UdpNmCarWakeUpRxEnabled is TRUE , and UdpNmCarWakeUpFilte rEnabled is FALSE UdpNm shall call Nm_CarWakeUpIndication and perform the standard Rx indication handling .

requirement SWS_UdpNm_00375 [SWS_UdpNm_00375] 📄 PDF

If UdpNm_GetPduData is called in the context of Nm_CarWakeUpIndication and if UdpNmNodeDetectionEnabled or UdpNmUserDataEnable d or UdpNmNodeIdEnabled is set to TRUE , UdpNm shall return the PDU data of the PDU that causes the call of Nm_CarWakeUpIndication .

requirement SWS_UdpNm_00376 [SWS_UdpNm_00376] 📄 PDF

I f UdpNmCarWakeUpFilterEnabled is TRUE , the Car Wakeup bit within any received NM - PDU is 1, UdpNmCarWakeUpRxEnabled is TRUE and the Node ID in the received NM - PDU is equal to UdpNmCarWakeUpFilterNodeId the UdpNm module shall call Nm _ CarWakeUpIndication and perform the standard Rx Indication handling

requirement SWS_UdpNm_00379 [SWS_UdpNm_00379] 📄 PDF

If UdpNm_SoAdIfTxConfirmation is called with result E_NOT_OK , UdpNm shall call the function Nm_TxTimeoutException .

requirement SWS_UdpNm_00463 [SWS_UdpNm_00463] 📄 PDF

When UdpNm Callback Notifications with an invalid Pdu ID are called, the called function shall not be executed and E_NOT_OK shall be returned if possible. If Development Error Detection is enabled then additionally UdpNm shall repo rt UDPNM_E_INVALID_PDUID to the Default Error Tracer.

requirement SWS_UdpNm_00464 [SWS_UdpNm_00464] 📄 PDF

If UdpNmComUserDataSuppo rt is enabled and if UdpNm is in RepeatMessage state or NormalOperation state and if UdpNm_Transmit is called, UdpNm shall request an additional transmission of the NM PDU with the current d ata.

requirement SWS_UdpNm_00465 [SWS_UdpNm_00465] 📄 PDF

Type of error Related error code Error value NM - Timeout timer has expired outside Ready Sleep State (either in Repeat Message state or in Normal Operation state) UDPNM_ E_ NETWORK_ TIMEOUT 0x11 A NM message with PN S hutdown Request Bit was received on a channel that is actively coordinated by the Com M PNC Gateway. Tags: atp.Status=draft UDPNM_ E_ INVALID_ PN_ SYNC_ SHUTDOWN_ REQUEST 0x20 Retransmission timer for a PN shutdown message has expired, because a PN shutdown message could not be transmitted on the network within the configured duration of re - transmission. UDPNM_ E_ TRANSMISSION_ OF_ PN_ SHUTDOWN_ MESSAGE_ FAILED 0x21

requirement SWS_UdpNm_00466 [SWS_UdpNm_00466] 📄 PDF

When the NM - Timeout Timer expires in the Repeat Message Stat e, the UdpNm module shall report the runtime error UDPNM_E_NETWORK_TIMEOUT to the Default Error Tracer .

requirement SWS_UdpNm_00467 [SWS_UdpNm_00467] 📄 PDF

When the NM - Timeout Timer expires in the Normal Operation State, the UdpNm module shall report runtime error UDPNM_E_NETWORK_TIMEOUT to the Default Error Tracer .

requirement SWS_UdpNm_00468 [SWS_UdpNm_00468] 📄 PDF

{ DRAFT } If function UdpNm_PnLearningRequest is called on a channel where UdpNmDynamicPncToChannelMappingEnabled is set to TRUE and UdpNm is in the Network Mode the UdpNm module shall set the Repeat Message Bit and the Partial Network Learning Bit in the CBV to 1 on this channel and change to or restart the Repeat Message State.

requirement SWS_UdpNm_00469 [SWS_UdpNm_00469] 📄 PDF

{ DRAFT } If the bits Partial Network Learning and Rep eat Message Request both are received with value 1 on a channel where UdpNmDynamicPncToChannelMappingEnabled is set to TRUE and UdpNm is in the Network Mode the UdpNm module shall set the Partial Network Learning Bit in the CBV to 1 on this channel and change to or restart the Repeat Message State.

requirement SWS_UdpNm_00470 [SWS_UdpNm_00470] 📄 PDF

{ DRAFT } If UdpNmDynamicPncToChannelMappingSupport is set to TRUE UdpNm shall clear the Partial Network Learning Bit when leaving the Repeat Messa ge State.

requirement SWS_UdpNm_00471 [SWS_UdpNm_00471] 📄 PDF

If the function UdpNm_PnLearningRequest is called in “Prepare Bus - Sleep Mode” or “Bus Sleep Mode” no functionality shall be executed and E_NOT_OK shall be returned.

requirement SWS_UdpNm_00473 [SWS_UdpNm_00473] 📄 PDF

{ DRAFT } If UdpNmSynchronizedPncShutdownEnabled is TRUE , the PNI bit in the received NM - PDU is 1, the PNSR bit in the received NM - PDU is 1 and the corresponding ComMChannel configured via UdpNmComMNetworkHandleRef where this NM - PDU was received is actively coordi nated (ComMPncGatewayType set to COMM_GATEWAY_TYPE_ACTIVE), then the UdpNm module shall ignore the received NM - PDU. Additionally, the UdpNm module shall:  report the runtime error UDPNM_E_INVALID_PN_SYNC_SHUTDOWN_REQUEST to the Default Error Tracer  request a transmission of a NM - PDU with the current PN information lastet in the next main function call of the affected UdpNm - Channel, If UdpNmPnSyncShutdownErrorReactionEnabled is set to TRUE

requirement SWS_UdpNm_00474 [SWS_UdpNm_00474] 📄 PDF

{DRAFT} If UdpNmSynchronizedPncShutdownEnabled is set to TRUE and the UdpNm module is indicated via UdpNm_RequestSynchronizedPncShutdown , the UdpNm module shall store the given PNC (pncId) per given UdpNm - Channel (nmChannelHandle) as pending request for a synchronized PNC shutdown

requirement SWS_UdpNm_00475 [SWS_UdpNm_00475] 📄 PDF

{ OBSOLETE replaced by SWS_UdpNm_00490 } If UdpNmSynchronizedPncS hutdownEnabled is set to TRUE , requests for synchronized PNC shutdown are pending and no transmission confirmation (indicated via UdpNm_TxConfirmation ) of a previous call is pending, then the UdpNm module shall request in the next main function call of the corresponding NM - channel a transmission of a NM message by calling SoAd_IfTransmit . In case the NM - PDU is not configured for a triggered transmission in the SoAd ( SoAdBswModules/SoAdIfTriggerTransmit = FALSE ), UdpNm shall set for this message additionally the following data beneath the normal data:  Set the PNSR bit in the CBV to 1  Overwrite the PN information in the user data (after NM User Data has been fetched, if UdpNmComUserDataSupport is enabled) by setting bits th at corresponds to PNC IDs stored as pending request for a synchronized PNC shutdown to 1 and all other bits to 0.

requirement SWS_UdpNm_00476 [SWS_UdpNm_00476] 📄 PDF

{DRAFT} If UdpNmSynchronizedPncShutdownEnabled is set to TRUE , the UdpNm module has requested a transmission of a NM - PDU as PN shutdown message (see SWS_UdpNm_00490 ) and UdpNm_TxConfirmation is cal led with result E_OK , the UdpNm shall consider those PNC IDs stored as pending request for a synchronized PNC shutdown of the corresponding NM - channel as completed and remove them from storage. Additionally, if UdpNmPnShutdownMessageRetransmissionDuration is configured, then UdpNm shall cancel the retransmission timer for PN shutdown messages of the affected NM - channel.

requirement SWS_UdpNm_00477 [SWS_UdpNm_00477] 📄 PDF

{DRAFT} If UdpNm SynchronizedPncShutdownEnabled is set to TRUE , UdpNmPnShutdownMessageRetransmissionDuration is configured, the UdpNm module has requested a transmission due to synchronized PNC shutdown (see SWS_UdpNm_00475 ), UdpNm_SoAd IfTxConfirmation is called with result E_NOT_OK or or the transmissions request for this PN shutdown message was not accepted ( SoAd_IfTransmit returned E_NOT_OK ), then the UdpNm module shall keep those PNC IDs stored as pending request for a synchronized P NC shutdown and perform a retransmission in the next main function.

requirement SWS_UdpNm_00478 [SWS_UdpNm_00478] 📄 PDF

{OBSOLETE replaced by SWS_UdpNm_00488 } If UdpNmSynchronizedPncShutdownEnabled is TRUE and the PNSR bit of the received NM PDU is set to 1, then the UdpNm module shall set the bits in the ERA PDU to 0 of the corresponding bits which are set to 1 in the rece ived PN info range, stop the according monitoring for these externally requested PNs (see SWS_UdpNm_00359 ) and inform the upper layers in the given order:  call PduR_UdpNmRxIndication() for the configured ERA PDU  call N m_ForwardSynchronizedPncShutdown() with the configured NetworkHandle (UdpNmComMNetworkHandleRef)

requirement SWS_UdpNm_00479 [SWS_UdpNm_00479] 📄 PDF

{DRAFT} If UdpNmSynchronizedPncShutdownEnabled is set to TRUE the UdpNm implementation shall provide an API UdpNm_R equestSynchronizedPncShutdown .

requirement SWS_UdpNm_00480 [SWS_UdpNm_00480] 📄 PDF

{ OBSOLETE replaced by SWS_UdpNm_00494 } If UdpNmSynchronizedPncShutdownEnabled is set to TRUE and requests for synchronized PNC shutdown are pending, then the UdpNm module shall set for this message additionally the following data beneath the normal data within the call of UdpNm_TriggerTransmit:  Set the PNSR bit in the CBV to 1  Overwrite the PN information in the user data (after NM User Data has been fetched, if UdpNmComUserDataSupport is enabled) by setting bits that correspond to PNC IDs stored as pending request for a synchronized PNC shutdow n to 1 and all other bits to 0.

requirement SWS_UdpNm_00482 [SWS_UdpNm_00482] 📄 PDF

If UdpNmSynchronizedPncShutdownEnabled is set to TRUE and the UdpNm module has stored PNC IDs as pending request for a synchronized PNC shutdown, then the UdpNm shall remove those PNC IDs from storage which are either externally or internally requested a gain:  UdpNm shall check on reception of an NM - message, if externally requested PNCs are received  UdpNm shall check up front to each transmission of an PN shutdown message if internal PNC requests are available by deriving the internal PNC requests from the corresponding ComPdu (see UdpNmTxUserDataPduRef )

requirement SWS_UdpNm_00483 [SWS_UdpNm_00483] 📄 PDF

If UdpNmSynchronizedPncShutdownEnabled is set to TRUE , UdpNmPnShutdownMessageRetransmissionDuration is not configured, the UdpNm module has requested a transmission due to synchronized PNC shutdown (see SWS_UdpNm_00475 ), UdpNm_TxConfirmation is called with result E_NOT_OK or the transmissions request for this PN shutdown message was not accepted ( SoAdIf_Transmit returned E_NOT_OK ), then the UdpNm shall remove the PNC IDs stored as pending request for a synchronized PNC shutdown of the corresponding NM - channel and report the runtime error UDPNM_E_TRANSMISSION_OF_PN_SHUTDOWN_MESSAGE_FAILED to DET.

requirement SWS_UdpNm_00484 [SWS_UdpNm_00484] 📄 PDF

If UdpNmSynchronizedPncShutdownEnabled is set to TRUE and a retransmission timer for a PN shutdown message (see ECUC_UdpNm_00098 ) expires, then UdpNm shall remove the pending request for a synchronized PNC shutdown of the correspond ing NM - channel from the storage and report the runtime error UDPNM_E_TRANSMISSION_OF_PN_SHUTDOWN_MESSAGE_FAILED to DET .

requirement SWS_UdpNm_00485 [SWS_UdpNm_00485] 📄 PDF

{DRAFT} During initialization and if UdpNmPnEnabled is TRUE , the UdpNm module shall set each byte of the PNC bit vector to 0x00 .

requirement SWS_UdpNm_00487 [SWS_UdpNm_00487] 📄 PDF

{ DRAFT } If UdpNmPnEnabled is set to TRUE and Nm_PncBitVectorRxIndication was called, then a received NM PDU shall only be considered for further processing under the following conditions:  UdpNmA llNmMessagesKeepAwake is set to TRUE OR  the output value of RelevantPncRequestDetectedPtr is set to TRUE

requirement SWS_UdpNm_00488 [SWS_UdpNm_00488] 📄 PDF

{DRAFT} If UdpNmSynchronizedPncShutdownEnabled is TRUE , the PNI bit in the received NM - PDU is set to 1 and the PNSR bit is set to 1, UdpNm module shall extract the PNC bit vector from the received NM - PDU according to the partial ne twork configuration ( NmPncBitVectorOffset and NmPncBitVectorLength of the corresponding NM - channel) and forward the PNC bit vector by calling Nm_ForwardSynchronizedPncShutdown .

requirement SWS_UdpNm_00489 [SWS_UdpNm_00489] 📄 PDF

{DRAFT} If UdpNmPnEnabled is TRUE, NM - PDU is not configured for triggered transmission in SoAd ( SoAdBswModules/SoAdIfTriggerTransmit set to FALSE ), no requests for s ynchronized PNC shutdown are pending and a NM - PDU has to be transmitted, the UdpNm module shall perform the following actions in the given order: - Call Nm_PncBitVectorTxIndication (<NM - channel>, <buffer to store the unfiltered PNC bit vector of aggregated in ternal PNC requests>) to indicate the transmission request and to retrieve internal PNC requests. - Copy the received PNC bit vector for internal PNC requests to the NM - PDU by considering NmPncBitVectorOffset and NmPncBitVectorLength of the corresponding NM - channel - If user data is enabled, fetch the available data (either from Com if UdpNmComUserDataSupport is enabled or from internal storage) and copy the data in the user data range of the NM - PDU. - Trigger transmission of the NM - PDU by calling SoAd_IfTransmit

requirement SWS_UdpNm_00490 [SWS_UdpNm_00490] 📄 PDF

{DRAFT} If UdpNmSynchronizedPncShutdownEnabled is set to TRUE , requests for synchronized PNC shutdown are pending and no transmission confirmation (indicated via UdpNm_TxConfirmation ) of a pre vious call is pending, then the UdpNm module shall request in the next main function call a transmission of a NM - PDU as PN shutdown message by calling SoAd_IfTransmit . In case the NM - PDU is not configured for triggered transmission in SoAd ( SoAdBswModules/ SoAdIfTriggerTransmit = FALSE ), UdpNm shall set for this message additionally the following data beneath the normal data:  Set the PNSR bit in the CBV to 1  If user data is enabled, fetch the available data (either from Com if UdpNmComUserDataSupport is enab led or from internal storage) and copy the data in the user data range of the NM - PDU  Write the PNC bit vector with respect to NmPncBitVectorOffset and NmPncBitVectorLength of the corresponding NM - channel by setting bits that corresponds to PNC IDs stored a s pending request for a synchronized PNC shutdown to 1 and all other bits to 0

requirement SWS_UdpNm_00491 [SWS_UdpNm_00491] 📄 PDF

{DRAFT} The remaining bytes not assigned to Nm System Bytes or PNC bit vector shall be available for User Data.

requirement SWS_UdpNm_00492 [SWS_UdpNm_00492] 📄 PDF

{DRAFT} When a Null pointer has been passed to a UdpNm service, the called function shall not be executed and it shall return E_NOT_OK to the calling function if applicable. If development error detection is enabled (UdpNmDevErrorDetect is set to TRUE) the corres ponding error UDPNM_E_PARAM_POINTER shall be reported to DET.

requirement SWS_UdpNm_00493 [SWS_UdpNm_00493] 📄 PDF

{DRAFT} If UdpNmPnEnabled is TRUE , and either UdpNmSynchronizedPncShutdownEnabled is set to TRUE and no requests for synchronized PNC shutdown are pending or UdpNmSynchronizedPncShutdownEnabled is set to FALSE , then the UdpNm module shall perform the following actions in the given order within the ca ll of UdpNm_TriggerTransmit : - Call Nm_ PncBitVectorTxIndication (<NM - channel>, <buffer to store the unfiltered PNC bit vector of aggregated internal PNC requests>) to indicate the transmission request and to retrieve internal PNC requests - Copy the received PN C bit vector for internal PNC requests to the NM - PDU by considering NmPncBitVectorOffset and NmPncBitVectorLength of the corresponding NM - channel - If user data is enabled, fetch the available data (either from Com if UdpNmComUserDataSupport is enabled or fr om internal storage) and copy the data in the user data range of the NM - PDU .

requirement SWS_UdpNm_00494 [SWS_UdpNm_00494] 📄 PDF

{DRAFT} If UdpNmSynchronizedPncShutdownEnabled is set to TRUE and requests for synchronized PNC shutdown are pending, then the UdpNm module shall set for this message additionally the follo wing data beneath the normal data within the call of UdpNm_TriggerTransmit : - Set the PNSR bit in the CBV to 1 - If user data is enabled, fetch the available data (either from Com if UdpNmComUserDataSupport is enabled or from internal storage) and copy the dat a in the user data range of the NM - PDU - Write the PNC bit vector with respect to NmPncBitVectorOffset and NmPncBitVectorLength of the corresponding NM - channel by setting bits that corresponds to PNC IDs stored as pending request for a synchronized PNC shutd own to 1 and all other bits to 0

requirement SWS_UdpNm_00495 [SWS_UdpNm_00495] 📄 PDF

If UdpNm_SoAdIfTriggerTransmit is called a nd UdpNmComUserDataSupport is enabled, UdpNm shall collect the NM User Data from the referenced NM I - PDU by calling PduR_UdpNmTriggerTransmit and copy the data to the user data range of the NM - PDU.

requirement SWS_UdpNm_00505 [SWS_UdpNm_00505] 📄 PDF

[SWS_UdpNm_00505] Upstream requirements: RS_Nm_02572 ⌈If UdpNmSynchronizedPncShutdownEnabled is set to TRUE the UdpNm imple- mentation shall provide the API UdpNm_ActivateTxPnShutdownMsg.⌋

requirement SWS_UdpNm_00506 [SWS_UdpNm_00506] 📄 PDF

[SWS_UdpNm_00506] Upstream requirements: RS_Nm_02572 ⌈If UdpNmSynchronizedPncShutdownEnabled is set to TRUE and UdpNm_ActivateTxPnShutdownMsg is called with a valid NM-Channel ( nmChannelHandle), then the UdpNm module shall consider the PN shutdown message transmission as active on the given NM-channel, set PNSR bit in the CBV to 1 and return with E_OK.⌋

requirement SWS_UdpNm_00507 [SWS_UdpNm_00507] 📄 PDF

[SWS_UdpNm_00507] Upstream requirements: RS_Nm_02572 ⌈If UdpNmSynchronizedPncShutdownEnabled is set to TRUE the UdpNm imple- mentation shall provide the API UdpNm_DeactivateTxPnShutdownMsg.⌋

requirement SWS_UdpNm_00508 [SWS_UdpNm_00508] 📄 PDF

[SWS_UdpNm_00508] Upstream requirements: RS_Nm_02572 ⌈If UdpNmSynchronizedPncShutdownEnabled is set to TRUE and UdpNm_DeactivateTxPnShutdownMsg is called with a valid NM-Channel ( nmChannelHandle), then the UdpNm module shall consider the PN shutdown message transmission as inactive on the given NM-channel, set PNSR bit in the CBV to 0 and return with E_OK.⌋

requirement SWS_UdpNm_91006 [SWS_UdpNm_91006] 📄 PDF

Det _ Report Error Det.h Service to report development errors. Nm _ Car Wake Up - Indication Nm.h This function is called by a <Bus>Nm to indicate reception of a CWU request. Nm _ Coord Ready - To Sleep - Cancellation Nm.h Cancels an indication, when the NM Coordinator Sleep Ready bit in the Control Bit Vector is set back to 0. Nm _ Coord Ready - To Sleep Indication Nm.h Sets an indication, when the NM Coordinator Sleep Ready bit in the Control Bit Vector is set Nm _ Forward - Synchronized Pnc - Shutdown Nm.h Notification that the network management has received a PN shutdown message on a particular NM - channel. This is used to grant a nearly synchronized PNC shutdown across the entire PN topology. Nm _ Pdu Rx - Indication Nm.h Not ification that a NM message has been received. Nm _ Pnc Bit - Vector Rx - Indication (draft) Nm.h Indication that a bus specific network management has received a NM message on a particular NM - channel that contain a PNC bit vector. This is used to aggregate t he external PNC requests. The function evaluate if a relevant PNC request (PNC bit set to '1') is available in the given PNC bit vector. If a relevant PNC request is available (PNC bit passes the PNC bit vector filter), then the Relevant Pnc Request Detect ed Ptr refers to a boolean with value set to TRUE. Otherwise refer to booelan with value set to FALSE. Relevant Pnc Request Detected Ptr is evaluated by the callee <Bus>Nm module to qualify the further processing of the received NM - PDU. Tags: atp.Status=dr aft Nm _ Pnc Bit - Vector Tx - Indication (draft) Nm.h Function called by <Bus>Nms to request the aggregated internal PNC requests for transmission within the Nm message. Tags: atp.Status=draft Nm _ Remote - Sleep Cancellation Nm.h Notification that the network management has detected that not all other nodes on the network are longer ready to enter Bus - Sleep Mode. Nm _ Remote - Sleep Indication Nm.h Notification that the network management has detected that all other nodes on the net work are ready to enter Bus - Sleep Mode. Nm _ Repeat - Message - Indication Nm.h Service to indicate that an NM message with set Repeat Message Re - quest Bit has been received. This is needed for node detection and the Dynamic PNC - to - channel - mapping feature. Nm _ State - Nm.h Notification that the state of the lower layer <Bus Nm> has changed. Change - Notification Nm _ Tx Timeout - Exception Nm.h Service to indicate that an attempt to send an NM message failed. Pdu R _ Udp Nm Rx - Indication Pdu R_ Udp Nm.h Indicat ion of a received PDU from a lower layer communication interface module. Pdu R _ Udp Nm - Trigger Transmit Pdu R_ Udp Nm.h Within this API, the upper layer module (called module) shall check whether the available data fits into the buffer size reported by P du Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr. Pdu R _ Udp Nm Tx - Confirmation Pdu R_ Udp Nm.h The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

requirement SWS_UdpNm_91007 [SWS_UdpNm_91007] 📄 PDF

Det _ Report - Runtime Error Det.h Service to report runtime errors. If a callout has been configured then this callout shall be called. Nm _ Bus Sleep - Mode Nm.h Notification that the network management has entered Bus - Sleep Mode. Nm _ Network - Nm.h No tification that the network management has entered Network Mode. Mode Nm _ Network - Start Indication Nm.h Notification that a NM - message has been received in the Bus - Sleep Mode, what indicates that some nodes in the network have already entered the Network Mode . Nm _ Prepare - Bus Sleep Mode Nm.h Notification that the network management has entered Prepare Bus - Sleep Mode. So Ad _ If - Transmit So Ad.h Requests transmission of a PDU.

requirement SWS_UdpNm_91011 [SWS_UdpNm_91011] 📄 PDF

[SWS_UdpNm_91011] Definition of imported datatypes of module UdpNm Upstream requirements: RS_Nm_00044 ⌈ Module Header File Imported Type ComStack_Types.h NetworkHandleType ComStack_Types.h PduIdType ComStack_Types.h PduInfoType Comtype ComStack_Types.h PduLengthType NmStack_types.h Nm_ModeType Nm NmStack_types.h Nm_StateType Std_Types.h Std_ReturnType Std Std_Types.h Std_VersionInfoType ⌋

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_UdpNm
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_UdpNm@rel:R20-11#180671a7
Content hash
180671a7
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_UDPNetworkManagement.pdf#nameddest=SWS_UdpNm_00208

주제 맵

초기화 및 상태

2

상세 보기

개요에서 항목을 선택하세요.

초기화 및 상태

This service returns the version information of this module.

void UdpNm_GetVersionInfo(Std_VersionInfoType* versioninfo);
UdpNm_Init 함수

Initialize the complete Udp Nm module, i.e. all channels which are activated at configuration time are initialized. A UDP socket shall be set up with the TCP/ IP stack. Caveats: This function has to be called after initialization of the TCP/ IP stack. Configuration: Mandatory

void UdpNm_Init(const UdpNm_ConfigType* UdpNmConfigPtr);

서비스

NM indicate to activate the transmission of PN shutdown messages on the given NM-Channel. This results in transmission of a NM-PDU with PNSR bit set to 1 (PN shutdown message). ▽ △

Std_ReturnType UdpNm_ActivateTxPnShutdownMsg(NetworkHandleType nmChannelHandle);

Check if remote sleep indication takes place or not. Cave ats: Udp Nm is initialized correctly. Configuration: Optional (only available if Udp Nm Remote Sleep Ind Enabled == true)

Std_ReturnType UdpNm_CheckRemoteSleepIndication(NetworkHandleType nmChannelHandle, boolean* NmRemoteSleepIndPtr);

NM indicate to deactive the transmission of PN shutdown messages on the given NM-Channel. This result in transmission of a usual NM-PDUs with PNSR bit set to 0.

Std_ReturnType UdpNm_DeactivateTxPnShutdownMsg(NetworkHandleType nmChannelHandle);

Disable the NM PDU transmission ability due to a ISO14229 Communication Control (0x28) service Caveats: Udp Nm is initialized correctly. Configuration: Optional (Only available if Udp Nm Com Control Enabled == true)

Std_ReturnType UdpNm_DisableCommunication(NetworkHandleType nmChannelHandle);

Enable the NM PDU transmission ability due to a ISO14229 Communication Control (0x28) service Caveats: Udp Nm is initialized correctly. Configuration: Optional (Only available if U dp Nm Com Control Enabled == true).

Std_ReturnType UdpNm_EnableCommunication(NetworkHandleType nmChannelHandle);

Service Name Udp Nm_ Get Local Node Identifier Syntax Std_ Return Type Udp Nm_ Get Local Node Identifier ( Network Handle Type nm Channel Handle, uint8* nm Node Id Ptr ) Service ID [hex] 0x07 Sync/ Async Synchronous Reentrancy Reentrant Parameters (in) nm Channel Handle Identification of the NM - channel Parameters (inout) None Parameters (out) nm Node Id Ptr Pointer where node identifier of the local node shall be copied to. Return value Std _ Return - Type E_ OK: No error E_ NOT_ OK: Getting of the node identifier of the local node has failed or is not configured for this network handle. Descri ption Get node identifier configured for the local node. Caveats: Udp Nm is initialized correctly. Available via Udp Nm.h

Std_ReturnType UdpNm_GetLocalNodeIdentifier(NetworkHandleType nmChannelHandle, uint8* nmNodeIdPtr);

Get node identifier from the most recently received NM PDU. Caveats: Udp Nm is initialized correctly.

Std_ReturnType UdpNm_GetNodeIdentifier(NetworkHandleType nmChannelHandle, uint8* nmNodeIdPtr);

Get the whole PDU data out of the most recently received NM message. Caveats: Udp Nm is initialized correctly.

Std_ReturnType UdpNm_GetPduData(NetworkHandleType nmChannelHandle, uint8* nmPduDataPtr);

Returns the state and the mode of the network management. Caveats: Udp Nm is initia lized correctly. Configuration: Mandatory

Std_ReturnType UdpNm_GetState(NetworkHandleType nmChannelHandle, Nm_StateType* nmStatePtr, Nm_ModeType* nmModePtr);

Get user data from the most recently received NM message. Cave ats: Udp Nm is initialized correctly. Configuration: Optional (Only available if Udp Nm User Data Enabled == true).

Std_ReturnType UdpNm_GetUserData(NetworkHandleType nmChannelHandle, uint8* nmUserDataPtr);

Release the network, since ECU doesn't have to communicate on the bus. Network state shall be changed to 'released'. Caveats: Udp Nm is initialized correctly. Configuration: Optional (Only available if Udp Nm Passive Mode Enabled == false)

Std_ReturnType UdpNm_NetworkRelease(NetworkHandleType nmChannelHandle);

Request the network, since ECU needs to communicate on the bus. Network state shall be changed to 'requested' Caveats: Udp Nm is initialized correctly. Configuration: Optional (Only available if Udp Nm Passive Mode Enabled == false)

Std_ReturnType UdpNm_NetworkRequest(NetworkHandleType nmChannelHandle);

Passive startup of the AUTOSAR Udp Nm. It triggers the transition from Bus - Sleep Mode or Prepare Bus Sleep Mode to the Network Mode in Repeat Message State. Caveats: Udp Nm is initialized correctly.

Std_ReturnType UdpNm_PassiveStartUp(NetworkHandleType nmChannelHandle);

Set Repeat Message Request Bit and Partial Network Learning Bit for NM messages tran smitted next on the bus. This will force all nodes on the bus to enter the PNC Learning Phase. This is needed for the optional Dynamic PNC - to - channel - mapping feature. Tags: atp.Status=draft

Std_ReturnType UdpNm_PnLearningRequest(NetworkHandleType nmChannelHandle);

Service to indicate that an NM message with set Repeat Message Re- quest Bit has been received. This is needed for node detection and PNC dynamic learning.

void UdpNm_RepeatMessageIndication(NetworkHandleType nmNetworkHandle);

Set Repeat Message Request Bit for all NM messages transmitted on the bus after this function has returned without error. Available vi a Udp Nm.h

Std_ReturnType UdpNm_RepeatMessageRequest(NetworkHandleType nmChannelHandle);

Request bus synchronization. Caveats: Udp Nm is initialized correctly. Configuration: Optional (only available if Udp Nm Bus Synchronization Enabled==true and Udp Nm Passive Mode Enabled ==false).

Std_ReturnType UdpNm_RequestBusSynchronization(NetworkHandleType nmChannelHandle);

Requests transmission of a NM - PDU with PNSR bit set to 1 (PN shutdown message) Tags: atp.Status=draft

Std_ReturnType UdpNm_RequestSynchronizedPncShutdown(NetworkHandleType nmChannelHandle, PNCHandleType pncId);

Set the NM Coordinator Sleep Ready bit in the Control Bit Vector

Std_ReturnType UdpNm_SetSleepReadyBit(NetworkHandleType nmChannelHandle, boolean nmSleepReadyBit);

Set user data for all NM messages transmitted on the bus after this function has returned without error. Caveats: Udp Nm is initialized correctly. Configuration: Optional (Only available if Udp Nm User Data Enabled==true and Udp Nm Passive Mode Enabled==false).

Std_ReturnType UdpNm_SetUserData(NetworkHandleType nmChannelHandle, const uint8* nmUserDataPtr);

Within this API, the upper layer module (called module) shall check whether the available data fits into the b uffer size reported by Pdu Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without ch anging Pdu Info Ptr.

Std_ReturnType UdpNm_SoAdIfTriggerTransmit(PduIdType TxPduId, PduInfoType* PduInfoPtr);

Requests transmission of a PDU.

Std_ReturnType UdpNm_Transmit(PduIdType TxPduId, const PduInfoType* PduInfoPtr);

콜백

Indication of a received PDU from a lower layer communication interface module.

void UdpNm_SoAdIfRxIndication(PduIdType RxPduId, const PduInfoType* PduInfoPtr);

The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

void UdpNm_SoAdIfTxConfirmation(PduIdType TxPduId, Std_ReturnType result);

주기적

Main function of the Udp Nm which processes the algorithm describes in that document. E.g.: Udp Nm_ Main Function_0() represents the Udp Nm instance for the UDP chann el 0 Udp Nm_ Main Function_1() represents the Udp Nm instance for the UDP channel 1

void UdpNm_MainFunction<Instance_Id>(void);

타입

Used to define the position of the control bit vector within the NM PACKET.

요구사항

SWS_UdpNm_00018 requirement

Type of error Related error code Error value API service used without module initialization UDPNM_ E_ UNINIT 0x01 API service called with wrong channel handle UDPNM_ E_ INVALID_ CHANNEL 0x02 API service called with wrong PDU ID. UDPNM_ E_ INVALID_ PDUID 0x03 Udp Nm initialization has failed, e.g. selected configuration set doesn't exist UDPNM_ E_ INIT_ FAILED 0x04 Null pointer has been passed as an argument UDPNM_ E_ PARAM_ POINTER 0x12

SWS_UdpNm_00129 requirement

: When the network is requested in Bus - Sleep Mode, the UdpNm module shall enter the Network Mode; by default the UdpNm module shall enter the Repeat Message State (refer to SWS_UdpNm_ 00095 and SWS_UdpNm_00104 ).

SWS_UdpNm_00130 requirement

[SWS_UdpNm_00130] ⌈The service call UdpNm_RequestBusSynchronization shall trigger transmission of a single Network Management PDU if UdpNmPassiveModeEnabled (configuration parameter) is FALSE.⌋() Rationale: This service is typically used for supporting the NM gateway extensions.

SWS_UdpNm_00131 requirement

The AUTOSAR UdpNm algorithm shall support up to 250 nodes per NM-Cluster by default.

SWS_UdpNm_00132 requirement

[SWS_UdpNm_00132] Upstream requirements: RS_Nm_02508 ⌈The service call UdpNm_GetNodeIdentifier shall provide the node identifier out of the most recently received Network Management PDU if UdpNmNodeIdEnabled is set to TRUE.⌋

SWS_UdpNm_00133 requirement

[SWS_UdpNm_00133] Upstream requirements: RS_Nm_02508 ⌈The service call UdpNm_GetLocalNodeIdentifier shall provide the node identi- fier configured for the local host node if UdpNmNodeIdEnabled is set to TRUE.⌋

SWS_UdpNm_00137 requirement

If the service UdpNm_RepeatMessageRequest is called in Repeat Message State, Prepare Bus - Sleep Mode or Bus - Sleep Mode, the UdpNm module shall not execute the service and return E_NOT _ OK .

SWS_UdpNm_00138 requirement

The service call UdpNm_GetPduData shall provide whole payload (Source Node ID, Control Bit Ve ctor and User Data) of the most recently received Network Management PDU if UdpNmNodeDetectionEnabled or UdpNmUserDataEnabled or UdpNmNodeIdEnabled is set to TRUE .

SWS_UdpNm_00147 requirement

If UdpNm_PassiveStartUp is called in the Network Mode, the UdpNm module shall not execute this service and shall return E_NOT _ OK .

SWS_UdpNm_00153 requirement

[SWS_UdpNm_00153] Upstream requirements: RS_Nm_00052 ⌈The service call UdpNm_CheckRemoteSleepIndication shall provide the infor- mation about current status of Remote Sleep Indication (i.e. already detected or not).⌋

SWS_UdpNm_00176 requirement

[SWS_UdpNm_00176] Upstream requirements: RS_Nm_02512 ⌈The optional service UdpNm_EnableCommunication shall enable the NM PDU transmission ability if the NM PDU transmission ability is disabled.⌋

SWS_UdpNm_00177 requirement

[SWS_UdpNm_00177] Upstream requirements: RS_Nm_02512 ⌈The optional service UdpNm_EnableCommunication shall return E_NOT_OK if the NM PDU transmission ability is already enabled when the service is called.⌋

SWS_UdpNm_00187 requirement

[SWS_UdpNm_00187] ⌈If UdpNm_RequestBusSynchronization is called in Bus- Sleep Mode and Prepare Bus-Sleep Mode the UdpNm module shall not execute the service and shall return E_NOT_OK.⌋()

SWS_UdpNm_00189 requirement

Development errors shall not be returned by API functions; in case of a development error, the respective API function will return E_NOT _OK , if applicable.

SWS_UdpNm_00190 requirement

Production errors shall not be returned by API functions; in case of a production e rror, the respective API function will return E_NOT _OK , if applicable.

SWS_UdpNm_00192 requirement

When NM API service with an invalid network handle is called, the called function shall not be executed, but instead of that it shall report UDPNM_E_INVALID_CH ANNEL to the Default Error Tracer (if development error detection is enabled) otherwise it shall return E_NOT_OK to the calling function

SWS_UdpNm_00196 requirement

If detection of development errors is enabled by UDPNM_DEV_ERROR_DETECT (configuration parameter), vali dity checks for all input parameters shall be performed for each UDP NM API service call.

SWS_UdpNm_00197 requirement

Parameter type checking shall be performed at compile time; if types do not match, the compilation process shall be stopped and respective com pilation warnings or errors shall be returned as far as supported by the compiler.

SWS_UdpNm_00198 requirement

Parameter value check (for parameters of the constant value) shall be performed at configuration time; if the value is invalid, the configuration pr ocess shall be stopped and the respective configuration error shall be reported.

SWS_UdpNm_00199 requirement

Parameter value check (for parameters of the variable value) shall be performed at execution time; if the value is invalid, execution of a service sha ll be denied and the respective development error shall be reported.

SWS_UdpNm_00244 requirement

[SWS_UdpNm_00244] ⌈The UdpNm module shall reject the execution of a service called with an invalid parameter and shall inform the DET.⌋() AUTOSAR UdpNm API consists of services, which are UDP specific and can be called whenever they are required; each service apart from UdpNm_Init refers to one NM channel only.

SWS_UdpNm_00305 requirement

[SWS_UdpNm_00305] Upstream requirements: RS_Nm_02512 ⌈The service UdpNm_EnableCommunication shall return E_NOT_OK, if the current mode is not Network Mode.⌋

SWS_UdpNm_00306 requirement

[SWS_UdpNm_00306] Upstream requirements: RS_Nm_02512 ⌈If the module operates in passive mode (UdpNmPassiveModeEnabled is TRUE) the service UdpNm_EnableCommunication shall have no effects and shall directly return E_NOT_OK.⌋

SWS_UdpNm_00307 requirement

[SWS_UdpNm_00307] Upstream requirements: RS_Nm_02512 ⌈If the module operates in passive mode (UdpNmPassiveModeEnabled) the ser- vice UdpNm_DisableCommunication shall have no effects and shall directly return E_NOT_OK.⌋

SWS_UdpNm_00314 requirement

If UdpNmComUserDataSupport is enabled and the UdpNm User Data length does not match with the length of the referenced I - PDU an error shall be reported at generation time.

SWS_UdpNm_00315 requirement

If UdpNmComUserDataSupport or UdpNmPnEnabled is enabled the UdpNm implementation shall provide an API UdpNm_Transmit .

SWS_UdpNm_00317 requirement

If UdpNmComUserDataSupport is enabled and NM - PDU is not configured for triggered transmission in SoAd ( SoAdBswModules/SoAdIfTriggerTransmit = FALSE ), the UdpNm shall collect the NM User Data from the referenced N M I - PDU by calling PduR_UdpNmTriggerTransmit and combine the user data with the further NM bytes each time before it requests the transmission of the corresponding NM message.

SWS_UdpNm_00318 requirement

[SWS_UdpNm_00318] Upstream requirements: SRS_BSW_00323, SRS_BSW_00337 ⌈If DET is enabled for the UdpNm module, the function UdpNm_GetVersionInfo shall raise UDPNM_E_PARAM_POINTER, if the argument versioninfo is a NULL pointer and return without any action.⌋

SWS_UdpNm_00320 requirement

If the UdpNm cal led NM_CoordReadyToSleepIndication and is still in Network Mode it shall notify the Nm by calling Nm_CoordReadyToSleepCancellation on the first reception of a NM message with the NmCoordinatorSleepReady bit (see CBV ) se t it to 0

SWS_UdpNm_00329 requirement

If UdpNmPnEnabled is TRUE , the PNI bit in the received NM - PDU is 0 and UdpNmAllNmM essagesKeepAwake is TRUE , the UdpNm module shall perform the normal Rx Indication handling and omitting the extensions for partial networking.

SWS_UdpNm_00331 requirement

{OBSOLETE rep la ced by SWS_UdpNm_00486 } If UdpNmPnEnabled is TRUE and the PNI bit in the received NM - PDU is 1, UdpNm module s hall process the Partial Networking Information of the NM - PDU as described in chapter 7.8.3 to 7.8.6 .

SWS_UdpNm_00334 requirement

When entering the Repeat Message State from Bus Sleep Mode or Prepare Bus Sleep Mode because of UdpNm_NetworkRequest() (active wakeup) and if UdpNmImmediateNmTrans missions is greater zero, the NM PDUs shall be transmitted using UdpNmImmediateNmCycleTime as cycle time. The transmission of the first NM PDU shall be triggered as soon as possible. After the transmission the Message Cycle Timer shall be reloaded with Udp NmImmediateNmCycleTime . The UdpNmMsgCycleOffset shall not be applied in this case.

SWS_UdpNm_00336 requirement

{OBSOLETE} Every bit of the PN Info Range represents one Partial Network. If the bit is set to 1 the Partia l Network is requested. If the bit is set to 0 there is no request for this PN.

SWS_UdpNm_00364 requirement

If UdpNm has entered Network mode or called Nm_CoordReadyToSleepCancellation before it shall notify the NM by calling Nm_ Coord ReadyTo Sleep Indication on the first reception of NM message with the NmCoordinatorSleepReady bit (see CBV ) set to 1

SWS_UdpNm_00367 requirement

If the UdpNm module leaves the NetworkMode and UdpNmActiveWakeupBitEnabled is TRUE , the UdpNm module shall clear th e ActiveWakeupBit in the CBV .

SWS_UdpNm_00372 requirement

{OBSOLETE} If UdpNmPnEiraCalcEnabled is TRUE and UdpNmPnEraCalcEnabled is TRUE , the PN status information shall be stored separately for both, the EIRA and ERA information (compare to SWS_UdpNM_00344 and SWS_UdpNM_00355 ) .

SWS_UdpNm_00373 requirement

The position of the Car Wake up bit in the NM - PDU is defined by the configuration parameters UdpNmCarWakeUpBytePosition and UdpNmCarWakeUpBitPosition .

SWS_UdpNm_00374 requirement

If the Car Wakeup bit within any received NM - PDU is 1, UdpNmCarWakeUpRxEnabled is TRUE , and UdpNmCarWakeUpFilte rEnabled is FALSE UdpNm shall call Nm_CarWakeUpIndication and perform the standard Rx indication handling .

SWS_UdpNm_00375 requirement

If UdpNm_GetPduData is called in the context of Nm_CarWakeUpIndication and if UdpNmNodeDetectionEnabled or UdpNmUserDataEnable d or UdpNmNodeIdEnabled is set to TRUE , UdpNm shall return the PDU data of the PDU that causes the call of Nm_CarWakeUpIndication .

SWS_UdpNm_00376 requirement

I f UdpNmCarWakeUpFilterEnabled is TRUE , the Car Wakeup bit within any received NM - PDU is 1, UdpNmCarWakeUpRxEnabled is TRUE and the Node ID in the received NM - PDU is equal to UdpNmCarWakeUpFilterNodeId the UdpNm module shall call Nm _ CarWakeUpIndication and perform the standard Rx Indication handling

SWS_UdpNm_00379 requirement

If UdpNm_SoAdIfTxConfirmation is called with result E_NOT_OK , UdpNm shall call the function Nm_TxTimeoutException .

SWS_UdpNm_00463 requirement

When UdpNm Callback Notifications with an invalid Pdu ID are called, the called function shall not be executed and E_NOT_OK shall be returned if possible. If Development Error Detection is enabled then additionally UdpNm shall repo rt UDPNM_E_INVALID_PDUID to the Default Error Tracer.

SWS_UdpNm_00464 requirement

If UdpNmComUserDataSuppo rt is enabled and if UdpNm is in RepeatMessage state or NormalOperation state and if UdpNm_Transmit is called, UdpNm shall request an additional transmission of the NM PDU with the current d ata.

SWS_UdpNm_00465 requirement

Type of error Related error code Error value NM - Timeout timer has expired outside Ready Sleep State (either in Repeat Message state or in Normal Operation state) UDPNM_ E_ NETWORK_ TIMEOUT 0x11 A NM message with PN S hutdown Request Bit was received on a channel that is actively coordinated by the Com M PNC Gateway. Tags: atp.Status=draft UDPNM_ E_ INVALID_ PN_ SYNC_ SHUTDOWN_ REQUEST 0x20 Retransmission timer for a PN shutdown message has expired, because a PN shutdown message could not be transmitted on the network within the configured duration of re - transmission. UDPNM_ E_ TRANSMISSION_ OF_ PN_ SHUTDOWN_ MESSAGE_ FAILED 0x21

SWS_UdpNm_00466 requirement

When the NM - Timeout Timer expires in the Repeat Message Stat e, the UdpNm module shall report the runtime error UDPNM_E_NETWORK_TIMEOUT to the Default Error Tracer .

SWS_UdpNm_00467 requirement

When the NM - Timeout Timer expires in the Normal Operation State, the UdpNm module shall report runtime error UDPNM_E_NETWORK_TIMEOUT to the Default Error Tracer .

SWS_UdpNm_00468 requirement

{ DRAFT } If function UdpNm_PnLearningRequest is called on a channel where UdpNmDynamicPncToChannelMappingEnabled is set to TRUE and UdpNm is in the Network Mode the UdpNm module shall set the Repeat Message Bit and the Partial Network Learning Bit in the CBV to 1 on this channel and change to or restart the Repeat Message State.

SWS_UdpNm_00469 requirement

{ DRAFT } If the bits Partial Network Learning and Rep eat Message Request both are received with value 1 on a channel where UdpNmDynamicPncToChannelMappingEnabled is set to TRUE and UdpNm is in the Network Mode the UdpNm module shall set the Partial Network Learning Bit in the CBV to 1 on this channel and change to or restart the Repeat Message State.

SWS_UdpNm_00470 requirement

{ DRAFT } If UdpNmDynamicPncToChannelMappingSupport is set to TRUE UdpNm shall clear the Partial Network Learning Bit when leaving the Repeat Messa ge State.

SWS_UdpNm_00471 requirement

If the function UdpNm_PnLearningRequest is called in “Prepare Bus - Sleep Mode” or “Bus Sleep Mode” no functionality shall be executed and E_NOT_OK shall be returned.

SWS_UdpNm_00473 requirement

{ DRAFT } If UdpNmSynchronizedPncShutdownEnabled is TRUE , the PNI bit in the received NM - PDU is 1, the PNSR bit in the received NM - PDU is 1 and the corresponding ComMChannel configured via UdpNmComMNetworkHandleRef where this NM - PDU was received is actively coordi nated (ComMPncGatewayType set to COMM_GATEWAY_TYPE_ACTIVE), then the UdpNm module shall ignore the received NM - PDU. Additionally, the UdpNm module shall:  report the runtime error UDPNM_E_INVALID_PN_SYNC_SHUTDOWN_REQUEST to the Default Error Tracer  request a transmission of a NM - PDU with the current PN information lastet in the next main function call of the affected UdpNm - Channel, If UdpNmPnSyncShutdownErrorReactionEnabled is set to TRUE

SWS_UdpNm_00474 requirement

{DRAFT} If UdpNmSynchronizedPncShutdownEnabled is set to TRUE and the UdpNm module is indicated via UdpNm_RequestSynchronizedPncShutdown , the UdpNm module shall store the given PNC (pncId) per given UdpNm - Channel (nmChannelHandle) as pending request for a synchronized PNC shutdown

SWS_UdpNm_00475 requirement

{ OBSOLETE replaced by SWS_UdpNm_00490 } If UdpNmSynchronizedPncS hutdownEnabled is set to TRUE , requests for synchronized PNC shutdown are pending and no transmission confirmation (indicated via UdpNm_TxConfirmation ) of a previous call is pending, then the UdpNm module shall request in the next main function call of the corresponding NM - channel a transmission of a NM message by calling SoAd_IfTransmit . In case the NM - PDU is not configured for a triggered transmission in the SoAd ( SoAdBswModules/SoAdIfTriggerTransmit = FALSE ), UdpNm shall set for this message additionally the following data beneath the normal data:  Set the PNSR bit in the CBV to 1  Overwrite the PN information in the user data (after NM User Data has been fetched, if UdpNmComUserDataSupport is enabled) by setting bits th at corresponds to PNC IDs stored as pending request for a synchronized PNC shutdown to 1 and all other bits to 0.

SWS_UdpNm_00476 requirement

{DRAFT} If UdpNmSynchronizedPncShutdownEnabled is set to TRUE , the UdpNm module has requested a transmission of a NM - PDU as PN shutdown message (see SWS_UdpNm_00490 ) and UdpNm_TxConfirmation is cal led with result E_OK , the UdpNm shall consider those PNC IDs stored as pending request for a synchronized PNC shutdown of the corresponding NM - channel as completed and remove them from storage. Additionally, if UdpNmPnShutdownMessageRetransmissionDuration is configured, then UdpNm shall cancel the retransmission timer for PN shutdown messages of the affected NM - channel.

SWS_UdpNm_00477 requirement

{DRAFT} If UdpNm SynchronizedPncShutdownEnabled is set to TRUE , UdpNmPnShutdownMessageRetransmissionDuration is configured, the UdpNm module has requested a transmission due to synchronized PNC shutdown (see SWS_UdpNm_00475 ), UdpNm_SoAd IfTxConfirmation is called with result E_NOT_OK or or the transmissions request for this PN shutdown message was not accepted ( SoAd_IfTransmit returned E_NOT_OK ), then the UdpNm module shall keep those PNC IDs stored as pending request for a synchronized P NC shutdown and perform a retransmission in the next main function.

SWS_UdpNm_00478 requirement

{OBSOLETE replaced by SWS_UdpNm_00488 } If UdpNmSynchronizedPncShutdownEnabled is TRUE and the PNSR bit of the received NM PDU is set to 1, then the UdpNm module shall set the bits in the ERA PDU to 0 of the corresponding bits which are set to 1 in the rece ived PN info range, stop the according monitoring for these externally requested PNs (see SWS_UdpNm_00359 ) and inform the upper layers in the given order:  call PduR_UdpNmRxIndication() for the configured ERA PDU  call N m_ForwardSynchronizedPncShutdown() with the configured NetworkHandle (UdpNmComMNetworkHandleRef)

SWS_UdpNm_00479 requirement

{DRAFT} If UdpNmSynchronizedPncShutdownEnabled is set to TRUE the UdpNm implementation shall provide an API UdpNm_R equestSynchronizedPncShutdown .

SWS_UdpNm_00480 requirement

{ OBSOLETE replaced by SWS_UdpNm_00494 } If UdpNmSynchronizedPncShutdownEnabled is set to TRUE and requests for synchronized PNC shutdown are pending, then the UdpNm module shall set for this message additionally the following data beneath the normal data within the call of UdpNm_TriggerTransmit:  Set the PNSR bit in the CBV to 1  Overwrite the PN information in the user data (after NM User Data has been fetched, if UdpNmComUserDataSupport is enabled) by setting bits that correspond to PNC IDs stored as pending request for a synchronized PNC shutdow n to 1 and all other bits to 0.

SWS_UdpNm_00482 requirement

If UdpNmSynchronizedPncShutdownEnabled is set to TRUE and the UdpNm module has stored PNC IDs as pending request for a synchronized PNC shutdown, then the UdpNm shall remove those PNC IDs from storage which are either externally or internally requested a gain:  UdpNm shall check on reception of an NM - message, if externally requested PNCs are received  UdpNm shall check up front to each transmission of an PN shutdown message if internal PNC requests are available by deriving the internal PNC requests from the corresponding ComPdu (see UdpNmTxUserDataPduRef )

SWS_UdpNm_00483 requirement

If UdpNmSynchronizedPncShutdownEnabled is set to TRUE , UdpNmPnShutdownMessageRetransmissionDuration is not configured, the UdpNm module has requested a transmission due to synchronized PNC shutdown (see SWS_UdpNm_00475 ), UdpNm_TxConfirmation is called with result E_NOT_OK or the transmissions request for this PN shutdown message was not accepted ( SoAdIf_Transmit returned E_NOT_OK ), then the UdpNm shall remove the PNC IDs stored as pending request for a synchronized PNC shutdown of the corresponding NM - channel and report the runtime error UDPNM_E_TRANSMISSION_OF_PN_SHUTDOWN_MESSAGE_FAILED to DET.

SWS_UdpNm_00484 requirement

If UdpNmSynchronizedPncShutdownEnabled is set to TRUE and a retransmission timer for a PN shutdown message (see ECUC_UdpNm_00098 ) expires, then UdpNm shall remove the pending request for a synchronized PNC shutdown of the correspond ing NM - channel from the storage and report the runtime error UDPNM_E_TRANSMISSION_OF_PN_SHUTDOWN_MESSAGE_FAILED to DET .

SWS_UdpNm_00485 requirement

{DRAFT} During initialization and if UdpNmPnEnabled is TRUE , the UdpNm module shall set each byte of the PNC bit vector to 0x00 .

SWS_UdpNm_00487 requirement

{ DRAFT } If UdpNmPnEnabled is set to TRUE and Nm_PncBitVectorRxIndication was called, then a received NM PDU shall only be considered for further processing under the following conditions:  UdpNmA llNmMessagesKeepAwake is set to TRUE OR  the output value of RelevantPncRequestDetectedPtr is set to TRUE

SWS_UdpNm_00488 requirement

{DRAFT} If UdpNmSynchronizedPncShutdownEnabled is TRUE , the PNI bit in the received NM - PDU is set to 1 and the PNSR bit is set to 1, UdpNm module shall extract the PNC bit vector from the received NM - PDU according to the partial ne twork configuration ( NmPncBitVectorOffset and NmPncBitVectorLength of the corresponding NM - channel) and forward the PNC bit vector by calling Nm_ForwardSynchronizedPncShutdown .

SWS_UdpNm_00489 requirement

{DRAFT} If UdpNmPnEnabled is TRUE, NM - PDU is not configured for triggered transmission in SoAd ( SoAdBswModules/SoAdIfTriggerTransmit set to FALSE ), no requests for s ynchronized PNC shutdown are pending and a NM - PDU has to be transmitted, the UdpNm module shall perform the following actions in the given order: - Call Nm_PncBitVectorTxIndication (<NM - channel>, <buffer to store the unfiltered PNC bit vector of aggregated in ternal PNC requests>) to indicate the transmission request and to retrieve internal PNC requests. - Copy the received PNC bit vector for internal PNC requests to the NM - PDU by considering NmPncBitVectorOffset and NmPncBitVectorLength of the corresponding NM - channel - If user data is enabled, fetch the available data (either from Com if UdpNmComUserDataSupport is enabled or from internal storage) and copy the data in the user data range of the NM - PDU. - Trigger transmission of the NM - PDU by calling SoAd_IfTransmit

SWS_UdpNm_00490 requirement

{DRAFT} If UdpNmSynchronizedPncShutdownEnabled is set to TRUE , requests for synchronized PNC shutdown are pending and no transmission confirmation (indicated via UdpNm_TxConfirmation ) of a pre vious call is pending, then the UdpNm module shall request in the next main function call a transmission of a NM - PDU as PN shutdown message by calling SoAd_IfTransmit . In case the NM - PDU is not configured for triggered transmission in SoAd ( SoAdBswModules/ SoAdIfTriggerTransmit = FALSE ), UdpNm shall set for this message additionally the following data beneath the normal data:  Set the PNSR bit in the CBV to 1  If user data is enabled, fetch the available data (either from Com if UdpNmComUserDataSupport is enab led or from internal storage) and copy the data in the user data range of the NM - PDU  Write the PNC bit vector with respect to NmPncBitVectorOffset and NmPncBitVectorLength of the corresponding NM - channel by setting bits that corresponds to PNC IDs stored a s pending request for a synchronized PNC shutdown to 1 and all other bits to 0

SWS_UdpNm_00491 requirement

{DRAFT} The remaining bytes not assigned to Nm System Bytes or PNC bit vector shall be available for User Data.

SWS_UdpNm_00492 requirement

{DRAFT} When a Null pointer has been passed to a UdpNm service, the called function shall not be executed and it shall return E_NOT_OK to the calling function if applicable. If development error detection is enabled (UdpNmDevErrorDetect is set to TRUE) the corres ponding error UDPNM_E_PARAM_POINTER shall be reported to DET.

SWS_UdpNm_00493 requirement

{DRAFT} If UdpNmPnEnabled is TRUE , and either UdpNmSynchronizedPncShutdownEnabled is set to TRUE and no requests for synchronized PNC shutdown are pending or UdpNmSynchronizedPncShutdownEnabled is set to FALSE , then the UdpNm module shall perform the following actions in the given order within the ca ll of UdpNm_TriggerTransmit : - Call Nm_ PncBitVectorTxIndication (<NM - channel>, <buffer to store the unfiltered PNC bit vector of aggregated internal PNC requests>) to indicate the transmission request and to retrieve internal PNC requests - Copy the received PN C bit vector for internal PNC requests to the NM - PDU by considering NmPncBitVectorOffset and NmPncBitVectorLength of the corresponding NM - channel - If user data is enabled, fetch the available data (either from Com if UdpNmComUserDataSupport is enabled or fr om internal storage) and copy the data in the user data range of the NM - PDU .

SWS_UdpNm_00494 requirement

{DRAFT} If UdpNmSynchronizedPncShutdownEnabled is set to TRUE and requests for synchronized PNC shutdown are pending, then the UdpNm module shall set for this message additionally the follo wing data beneath the normal data within the call of UdpNm_TriggerTransmit : - Set the PNSR bit in the CBV to 1 - If user data is enabled, fetch the available data (either from Com if UdpNmComUserDataSupport is enabled or from internal storage) and copy the dat a in the user data range of the NM - PDU - Write the PNC bit vector with respect to NmPncBitVectorOffset and NmPncBitVectorLength of the corresponding NM - channel by setting bits that corresponds to PNC IDs stored as pending request for a synchronized PNC shutd own to 1 and all other bits to 0

SWS_UdpNm_00495 requirement

If UdpNm_SoAdIfTriggerTransmit is called a nd UdpNmComUserDataSupport is enabled, UdpNm shall collect the NM User Data from the referenced NM I - PDU by calling PduR_UdpNmTriggerTransmit and copy the data to the user data range of the NM - PDU.

SWS_UdpNm_00505 requirement

[SWS_UdpNm_00505] Upstream requirements: RS_Nm_02572 ⌈If UdpNmSynchronizedPncShutdownEnabled is set to TRUE the UdpNm imple- mentation shall provide the API UdpNm_ActivateTxPnShutdownMsg.⌋

SWS_UdpNm_00506 requirement

[SWS_UdpNm_00506] Upstream requirements: RS_Nm_02572 ⌈If UdpNmSynchronizedPncShutdownEnabled is set to TRUE and UdpNm_ActivateTxPnShutdownMsg is called with a valid NM-Channel ( nmChannelHandle), then the UdpNm module shall consider the PN shutdown message transmission as active on the given NM-channel, set PNSR bit in the CBV to 1 and return with E_OK.⌋

SWS_UdpNm_00507 requirement

[SWS_UdpNm_00507] Upstream requirements: RS_Nm_02572 ⌈If UdpNmSynchronizedPncShutdownEnabled is set to TRUE the UdpNm imple- mentation shall provide the API UdpNm_DeactivateTxPnShutdownMsg.⌋

SWS_UdpNm_00508 requirement

[SWS_UdpNm_00508] Upstream requirements: RS_Nm_02572 ⌈If UdpNmSynchronizedPncShutdownEnabled is set to TRUE and UdpNm_DeactivateTxPnShutdownMsg is called with a valid NM-Channel ( nmChannelHandle), then the UdpNm module shall consider the PN shutdown message transmission as inactive on the given NM-channel, set PNSR bit in the CBV to 0 and return with E_OK.⌋

SWS_UdpNm_91006 requirement

Det _ Report Error Det.h Service to report development errors. Nm _ Car Wake Up - Indication Nm.h This function is called by a <Bus>Nm to indicate reception of a CWU request. Nm _ Coord Ready - To Sleep - Cancellation Nm.h Cancels an indication, when the NM Coordinator Sleep Ready bit in the Control Bit Vector is set back to 0. Nm _ Coord Ready - To Sleep Indication Nm.h Sets an indication, when the NM Coordinator Sleep Ready bit in the Control Bit Vector is set Nm _ Forward - Synchronized Pnc - Shutdown Nm.h Notification that the network management has received a PN shutdown message on a particular NM - channel. This is used to grant a nearly synchronized PNC shutdown across the entire PN topology. Nm _ Pdu Rx - Indication Nm.h Not ification that a NM message has been received. Nm _ Pnc Bit - Vector Rx - Indication (draft) Nm.h Indication that a bus specific network management has received a NM message on a particular NM - channel that contain a PNC bit vector. This is used to aggregate t he external PNC requests. The function evaluate if a relevant PNC request (PNC bit set to '1') is available in the given PNC bit vector. If a relevant PNC request is available (PNC bit passes the PNC bit vector filter), then the Relevant Pnc Request Detect ed Ptr refers to a boolean with value set to TRUE. Otherwise refer to booelan with value set to FALSE. Relevant Pnc Request Detected Ptr is evaluated by the callee <Bus>Nm module to qualify the further processing of the received NM - PDU. Tags: atp.Status=dr aft Nm _ Pnc Bit - Vector Tx - Indication (draft) Nm.h Function called by <Bus>Nms to request the aggregated internal PNC requests for transmission within the Nm message. Tags: atp.Status=draft Nm _ Remote - Sleep Cancellation Nm.h Notification that the network management has detected that not all other nodes on the network are longer ready to enter Bus - Sleep Mode. Nm _ Remote - Sleep Indication Nm.h Notification that the network management has detected that all other nodes on the net work are ready to enter Bus - Sleep Mode. Nm _ Repeat - Message - Indication Nm.h Service to indicate that an NM message with set Repeat Message Re - quest Bit has been received. This is needed for node detection and the Dynamic PNC - to - channel - mapping feature. Nm _ State - Nm.h Notification that the state of the lower layer <Bus Nm> has changed. Change - Notification Nm _ Tx Timeout - Exception Nm.h Service to indicate that an attempt to send an NM message failed. Pdu R _ Udp Nm Rx - Indication Pdu R_ Udp Nm.h Indicat ion of a received PDU from a lower layer communication interface module. Pdu R _ Udp Nm - Trigger Transmit Pdu R_ Udp Nm.h Within this API, the upper layer module (called module) shall check whether the available data fits into the buffer size reported by P du Info Ptr - >Sdu Length. If it fits, it shall copy its data into the buffer provided by Pdu Info Ptr - >Sdu Data Ptr and update the length of the actual copied data in Pdu Info Ptr - >Sdu Length. If not, it returns E_ NOT_ OK without changing Pdu Info Ptr. Pdu R _ Udp Nm Tx - Confirmation Pdu R_ Udp Nm.h The lower layer communication interface module confirms the transmission of a PDU, or the failure to transmit a PDU.

SWS_UdpNm_91007 requirement

Det _ Report - Runtime Error Det.h Service to report runtime errors. If a callout has been configured then this callout shall be called. Nm _ Bus Sleep - Mode Nm.h Notification that the network management has entered Bus - Sleep Mode. Nm _ Network - Nm.h No tification that the network management has entered Network Mode. Mode Nm _ Network - Start Indication Nm.h Notification that a NM - message has been received in the Bus - Sleep Mode, what indicates that some nodes in the network have already entered the Network Mode . Nm _ Prepare - Bus Sleep Mode Nm.h Notification that the network management has entered Prepare Bus - Sleep Mode. So Ad _ If - Transmit So Ad.h Requests transmission of a PDU.

SWS_UdpNm_91011 requirement

[SWS_UdpNm_91011] Definition of imported datatypes of module UdpNm Upstream requirements: RS_Nm_00044 ⌈ Module Header File Imported Type ComStack_Types.h NetworkHandleType ComStack_Types.h PduIdType ComStack_Types.h PduInfoType Comtype ComStack_Types.h PduLengthType NmStack_types.h Nm_ModeType Nm NmStack_types.h Nm_StateType Std_Types.h Std_ReturnType Std Std_Types.h Std_VersionInfoType ⌋