Network Management Interface (Nm)
AUTOSAR Classic Communication Services-Modul Network Management Interface (Nm, Spezifikation: AUTOSAR_CP_SWS_NetworkManagementInterface.pdf, AUTOSAR_SWS_NMInterface.pdf, AUTOSAR_SWS_NetworkManagementInterface.pdf).
Funktionen — Übersicht
void Nm_Init (const Nm_ConfigType* ConfigPtr);Initializes the NM Interface.Std_ReturnType Nm_PassiveStartUp (NetworkHandleType NetworkHandle);This function calls the Nm_PassiveStartUp function in case NmBusType is not set to NM_BUSNM_LOCALNM (e.Std_ReturnType Nm_NetworkRequest (NetworkHandleType NetworkHandle);This function calls the Nm_NetworkRequest (e.Std_ReturnType Nm_DisableCommunication (NetworkHandleType NetworkHandle);Disables the NM PDU transmission ability.Std_ReturnType Nm_EnableCommunication (NetworkHandleType NetworkHandle);Enables the NM PDU transmission ability.Std_ReturnType Nm_SetUserData (NetworkHandleType NetworkHandle, const uint8* nmUserDataPtr);Set user data for NM messages transmitted next on the bus.Std_ReturnType Nm_GetUserData (NetworkHandleType NetworkHandle, uint8* nmUserDataPtr);Get user data out of the last successfully received NM message.Std_ReturnType Nm_GetPduData (NetworkHandleType NetworkHandle, uint8* nmPduData);Get the whole PDU data out of the most recently received NM message.Std_ReturnType Nm_RepeatMessageRequest (NetworkHandleType NetworkHandle);Set Repeat Message Request Bit for NM messages transmitted next on the bus.Std_ReturnType Nm_GetNodeIdentifier (NetworkHandleType NetworkHandle, uint8* nmNodeIdPtr);Get node identifier out of the last successfully received NM-message.Std_ReturnType Nm_GetLocalNodeIdentifier (NetworkHandleType NetworkHandle, uint8* nmNodeIdPtr);Get node identifier configured for the local node.Std_ReturnType Nm_CheckRemoteSleepIndication (NetworkHandleType nmNetworkHandle, boolean* nmRemoteSleepIndPtr);Check if remote sleep indication takes place or not.Std_ReturnType Nm_GetState (NetworkHandleType nmNetworkHandle, Nm_StateType* nmStatePtr, Nm_ModeType* nmModePtr);Returns the state of the network management.void Nm_GetVersionInfo (Std_VersionInfoType* nmVerInfoPtr);This service returns the version information of this module.Std_ReturnType Nm_NetworkRelease (NetworkHandleType NetworkHandle);This function calls the Nm_NetworkRelease bus specific function in case NmBusType is not set to NM_BUSNM_LOCALNM (e.void Nm_PduRxIndication (NetworkHandleType nmNetworkHandle);Notification that a NM message has been received.void Nm_StateChangeNotification (NetworkHandleType nmNetworkHandle, Nm_StateType nmPreviousState, Nm_StateType nmCurrentState);Notification that the state of the lower layer Nm has changed.void Nm_MainFunction (void);This function implements the processes of the NM Interface, which need a fix cyclic scheduling.void Nm_NetworkStartIndication (NetworkHandleType nmNetworkHandle);Notification that a NM-message has been received in the Bus-Sleep Mode, what indicates that some nodes in the network have...void Nm_NetworkMode (NetworkHandleType nmNetworkHandle);Notification that the network management has entered Network Mode.void Nm_PrepareBusSleepMode (NetworkHandleType nmNetworkHandle);Notification that the network management has entered Prepare Bus-Sleep Mode.void Nm_BusSleepMode (NetworkHandleType nmNetworkHandle);Notification that the network management has entered Bus-Sleep Mode.void Nm_RemoteSleepIndication (NetworkHandleType nmNetworkHandle);Notification that the network management has detected that all other nodes on the network are ready to enter Bus-Sleep Mode.void Nm_RemoteSleepCancellation (NetworkHandleType nmNetworkHandle);Notification that the network management has detected that not all other nodes on the network are longer ready to enter...void Nm_SynchronizationPoint (NetworkHandleType nmNetworkHandle);Notification to the NM Coordinator functionality that this is a suitable point in time to initiate the coordinated shutdown on.void Nm_RepeatMessageIndication (NetworkHandleType nmNetworkHandle, boolean pnLearningBitSet);Service to indicate that an NM message with set Repeat Message Re- quest Bit has been received.void Nm_TxTimeoutException (NetworkHandleType nmNetworkHandle);Service to indicate that an attempt to send an NM message failed.void Nm_CarWakeUpIndication (NetworkHandleType nmChannelHandle);This function is called by a Nm to indicate reception of a CWU request.void Nm_CoordReadyToSleepIndication (NetworkHandleType nmChannelHandle);Sets an indication, when the NM Coordinator Sleep Ready bit in the Control Bit Vector is setvoid Nm_CoordReadyToSleepCancellation (NetworkHandleType nmChannelHandle);Cancels an indication, when the NM Coordinator Sleep Ready bit in the Control Bit Vector is set back to 0.void <NmCarWakeUpCallout> (NetworkHandleType nmNetworkHandle);Callout function to be called by Nm_CarWakeUpIndication()void Nm_SynchronizeMode (NetworkHandleType nmNetworkHandle);Notification that the network management has entered Synchronize Mode.Std_ReturnType Nm_PnLearningRequest (NetworkHandleType NetworkHandle);Set Repeat Message Request Bit and Partial Network Learning Bit for NM messages transmitted next on the bus.void Nm_ForwardSynchronizedPncShutdown (void);Notification that the network management has received a PN shutdown message on a particular NM-channel.Std_ReturnType Nm_RequestSynchronizedPncShutdown (NetworkHandleType NetworkHandle, PNCHandleType PncId);This function store the request for a synchronized PNC shutdown of a particular PNC given by PncId per given NM-Channel.void Nm_PncBitVectorRxIndication (NetworkHandleType NetworkHandle, const uint8* PncBitVectorPtr, boolean* RelevantPncRequestDetectedPtr);Indication that a bus specific network management has received a NM message on a particular NM-channel that contain a PNC bit...void Nm_UpdateIRA (NetworkHandleType NetworkHandle, const uint8* PncBitVectorPtr);Indication by ComM of internal PNC requests.void Nm_PncBitVectorTxIndication (NetworkHandleType NetworkHandle, uint8* PncBitVectorPtr);Function called by Nms to request the aggregated internal PNC requests for transmission within the Nm message.void Nm_ForwardSynchronizedPncShutdown (NetworkHandleType NetworkHandle, const uint8* PncBitVectorPtr);Notification that the network management has received a PN shutdown message on a particular NM-channel.void Nm_PncBitVectorTxConfirmation (NetworkHandleType NetworkHandle, const uint8* PncBitVectorPtr, Std_ReturnType result);Function called by Nms to confirm the state of the transmission for the given PNC bit vector on the given NM-Channel.
Typen — Übersicht
enum Nm_ModeTypeOperational modes of the network management.enum Nm_StateTypeStates of the network management state machine.enum Nm_BusNmTypeBusNm Typestruct Nm_ConfigTypeConfiguration data structure of the Nm module.
Anforderungen — Übersicht
SWS_Nm_00001The coordination algorithm shall be able to handle a topology where several coordinated busses are connected to one NM...SWS_Nm_00002As long as the node implementing the NM Coordinator is not ready to go to sleep on at least one of the busses in a...SWS_Nm_00003As long as at least one bus in the coordination cluster is not ready to sleep (i.SWS_Nm_00006The Nm shall convert generic function calls from the ComM to bus specific functions of the bus specific NM layer.SWS_Nm_00012The Nm shall convert callback functions called by the bus specific NM layers to generic callbacks to the ComM.SWS_Nm_00020A scheduled main function shall only contain logic related to the NM Coordinator functionality.SWS_Nm_00028All callbacks of the Nm shall assume that they can run either in task or in interrupt context.SWS_Nm_00051The NM Coordinator shall be able to coordinate busses run- ning the official AUTOSAR bus specific NMs as well as all other...SWS_Nm_00055The NM Interface configuration shall provide the parameter Nm- CoordinatorSupportEnabled to define if the support of the NM...SWS_Nm_00091The Base functionality of Nm may be implemented completely or partly using macros.SWS_Nm_00117Module Header File Imported Type Com Com.SWS_Nm_00119Nm_GetState – Returns the state and the mode of the network management.SWS_Nm_00121In case the main function is called before the Nm has been ini- tialized, the main function shall immediately return without...SWS_Nm_00124The following header files shall be included by the Nm Interface module: • Std_Types.SWS_Nm_00127Caveats of Nm_Init : This service function has to be called af- ter the initialization of the respective bus interface.SWS_Nm_00128Caveats of Nm_PassiveStartUp : The and the Nm itself are initialized correctly.SWS_Nm_00129Caveats of Nm_NetworkRequest : The and the Nm itself are initialized correctly.SWS_Nm_00130If Nm_NetworkRequest is called with a network handle where NmPassiveModeEnabled is set to TRUE it shall not execute any...SWS_Nm_00131Caveats of Nm_NetworkRelease : The and the Nm itself are initialized correctly.SWS_Nm_00132If Nm_NetworkRelease is called with a network handle where NmPassiveModeEnabled is set to TRUE it shall not execute any...SWS_Nm_00133Caveats of Nm_DisableCommunication : The and the Nm itself are initialized correctly.SWS_Nm_00134Configuration of Nm_DisableCommunication : This function is only available if NmComControlEnabled is set to TRUE.SWS_Nm_00135Caveats of Nm_EnableCommunication : The and the Nm itself are initialized correctly.SWS_Nm_00136Configuration of Nm_EnableCommunication : This function is only available if NmComControlEnabled is set to TRUE.SWS_Nm_00137Caveats of Nm_SetUserData : The and the Nm itself are initialized correctly.SWS_Nm_00138Configuration of Nm_SetUserData : This function is only avail- able if NmUserDataEnabled is set to TRUE.SWS_Nm_00139Caveats of Nm_GetUserData : The and the Nm itself are initialized correctly.SWS_Nm_00140Configuration of Nm_GetUserData : This function is only avail- able if NmUserDataEnabled is set to TRUE.SWS_Nm_00141Caveats of Nm_GetPduData : The and the Nm itself are initialized correctly.SWS_Nm_00143Caveats of Nm_RepeatMessageRequest : The and the Nm itself are initialized correctly.SWS_Nm_00145Caveats of Nm_GetNodeIdentifier : The and the Nm itself are initialized correctly.SWS_Nm_00147Caveats of Nm_GetLocalNodeIdentifier : The and the Nm itself are initialized correctly.SWS_Nm_00149Caveats of Nm_CheckRemoteSleepIndication : The and the Nm itself are initialized correctly.SWS_Nm_00150Configuration of Nm_CheckRemoteSleepIndication : This function is only available if NmRemoteSleepIndEnabled is set to TRUE.SWS_Nm_00151Caveats of Nm_GetState : The and the Nm itself are initialized correctly.SWS_Nm_00155The indication through callback function Nm_Network- StartIndication : shall be forwarded to ComM by calling the ComM_Nm_-...SWS_Nm_00158The indication through callback function Nm_NetworkMode : shall be forwarded to ComM by calling the ComM_Nm_NetworkMode.SWS_Nm_00161The indication through callback function Nm_PrepareBus- SleepMode : shall be forwarded to ComM by calling...SWS_Nm_00163The indication through callback function Nm_BusSleepMode : shall be forwarded to ComM by calling the ComM_Nm_BusSleepMode.SWS_Nm_00164Configuration of Nm_PduRxIndication : This function is only available if NmPduRxIndicationEnabled is set to TRUE.SWS_Nm_00165Configuration of Nm_StateChangeNotification : This func- tion is only available if NmStateChangeIndEnabled is set to TRUE.SWS_Nm_00166Nm_ActivateTxPnShutdownMsg – NM indicate to activate the transmission of PN shutdown messages on the given NM-Channel.SWS_Nm_00167It shall be possible to configure multiple NM coordination clusters that shall be coordinated independently.SWS_Nm_00168Each bus shall belong to zero or one NM coordination cluster.SWS_Nm_00169Shutdown shall only be coordinated on the presently awake net- works of a coordination cluster.SWS_Nm_00171When all networks of a coordination cluster are either ready to go to sleep or already in ”bus-sleep mode“ the NM Coordinator...SWS_Nm_00172If the configuration parameter NmSynchronizingNetwork is TRUE for any of the busses in a coordination cluster, the...SWS_Nm_00173If not all conditions to start the coordinated shutdown have been met, or if the coordinated shutdown has already been started...SWS_Nm_00174If the configuration parameter NmSynchronizingNetwork is FALSE for all of the presently awake busses in a coordination...SWS_Nm_00175When the coordinated shutdown is started, a shutdown de- lay timer shall be activated for each currently awake channel in the...SWS_Nm_00176When a shutdown timer expires for a network, Nm shall in case BusNmType is not set to NM_BUSNM_LOCALNM release the network by...SWS_Nm_00177Nm shall keep track of all networks that have been released but have not yet reported ”bus-sleep mode“.SWS_Nm_00181The coordinated shutdown shall be aborted if any network in that NM Coordination Cluster , • indicates...SWS_Nm_00182If the coordinated shutdown is aborted, NM Coordinator shall call ComM_Nm_RestartIndication for all networks that already...SWS_Nm_00183If the coordinated shutdown is aborted, NM Coordinator shall in case BusNmType is not set NM_BUSNM_LOCALNM request the network...SWS_Nm_00185If the coordination algorithm has been aborted, all con- ditions that guard the initiation of the coordinated shutdown shall...SWS_Nm_00228If a bus of a coordination cluster has the parameter NmChannel- SleepMaster set to TRUE , the NM Coordinator shall consider...SWS_Nm_00232Type of error Related error code Error value API service used without Nm interface initialization NM_E_UNINIT 0x00 API Service...SWS_Nm_00233If the pre-processor switch NmDevErrorDetect is set to TRUE , all function calls containing a NetworkHandleType parameter...SWS_Nm_00235If a coordinated shutdown has been aborted and Nm re- ceives E_NOT_OK on a Nm_NetworkRequest , that network shall not be con-...SWS_Nm_00236If a coordinated shutdown has been initiated and Nm re- ceives E_NOT_OK on a Nm_NetworkRelease , the shutdown shall be imme-...SWS_Nm_00241Configuration of Nm_SetUserData : If NmComUserDataSup- port is TRUE the API Nm_SetUserData shall not be available.SWS_Nm_00243The Nm Interface shall optionally include the header file of De- fault Error Tracer (depending on the pre-processor switch...SWS_Nm_00245If the ComM calls Nm_PassiveStartUp () for a network that is part of a coordinated cluster of networks, the Nm coordinator...SWS_Nm_00247The code file structure shall not be defined within this specification completely.SWS_Nm_00249If NmStateReportEnabled is set to TRUE and NmStateRe- portSignalRef is configured, when one of the state transitions mentioned...SWS_Nm_00251Configuration of Nm_CarWakeUpIndication : Optional If NmCarWakeUpRxEnabled is TRUE , The Nm shall provide the API Nm_CarWake-...SWS_Nm_00252If the Nm calls Nm_CarWakeUpIndication and NmCar- WakeUpCallout is defined, the NM Interface shall call the callout function...SWS_Nm_00255Configuration of Nm_CoordReadyToSleepIndication : Op- tional If NmCoordinatorSyncSupport is set to TRUE , the Nm shall provide...SWS_Nm_00256The NM-Coordinator shall support two or more NM- Coordinators connected to the same NM Cluster.SWS_Nm_00257On its passively coordinated channels a NM-Coordinator shall send Nm messages only if the node has a network management...SWS_Nm_00259The NM Coordinator shall set the NMcoordinatorSleepReady bit in the NM message via Nm_SetSleepReadyBit to the value 1 at his...SWS_Nm_00261If Nm_CoordReadyToSleepIndication is received on a passively coordinated channel the NmCoordinator shall set the...SWS_Nm_00262The NM Coordinator shall start coordinated shutdown af- ter the Sleep Ready Bit with SET status has been requested.SWS_Nm_00267NM Coordinator shall set the NMCoordinatorSleepReady bit to UNSET (0) via API call to Nm_SetSleepReadyBit on all actively...SWS_Nm_00271If Nm_CoordReadyToSleepCancellation is received on a passively coordinated channel the NmCoordinator shall set the...SWS_Nm_00273Configuration of Nm_CoordReadyToSleepCancellation : Op- tional If NmCoordinatorSyncSupport is set to TRUE , the Nm shall...SWS_Nm_00277Configuration of Nm_RemoteSleepIndication : This function is only available if NmRemoteSleepIndEnabled is set to TRUE.SWS_Nm_00278Configuration of Nm_RemoteSleepCancellation : This func- tion is only available if NmRemoteSleepIndEnabled is set to TRUE.SWS_Nm_00279If NmCoordinatorSupportEnabled is set to TRUE, the Nm_- MainFunction API shall be available.SWS_Nm_00280The functionality of coordinating nested sub busses shall be avail- able if the NmCoordinatorSyncSupport parameter is set to TRUE.SWS_Nm_00281NmGlobalCoordinatorTime shall be set at least to the maxi- mum time needed to shut down all Networks coordinated.SWS_Nm_00283The Configuration pointer ConfigPtr shall always have a NULL_PTR value.SWS_Nm_00284If the NmGlobalCoordinatorTime is zero the shutdown delay timer of all channels shall also be zero.SWS_Nm_00285If the Nm calls Nm_CarWakeUpIndication and Nm- CarWakeUpCallout is not defined, the NM Interface shall call the function...SWS_Nm_00286If Nm_DisableCommunication is called with a network handle where NmPassiveModeEnabled is set to TRUE it shall not execute any...SWS_Nm_00287If Nm_EnableCommunication is called with a network handle where NmPassiveModeEnabled is set to TRUE it shall not execute any...SWS_Nm_00288If Nm_SetUserData is called with a network handle where Nm- PassiveModeEnabled is set to TRUE it shall not execute any...SWS_Nm_00289If Nm_RepeatMessageRequest is called with a network handle where NmPassiveModeEnabled is set to TRUE it shall not execute any...SWS_Nm_00290If Nm_CheckRemoteSleepIndication is called with a network handle where NmPassiveModeEnabled is set to TRUE it shall not...SWS_Nm_00292If the NM Coordinator functionality is configured, the con- figuration parameter NmCycletimeMainFunction shall be configured...SWS_Nm_00293If on a coordinated network the coordinator detects a mode change to NM_MODE_SYNCHRONIZE , NM_MODE_PREPARE_BUS_SLEEP or...SWS_Nm_00302If NmPnEiraCalcEnabled is set to TRUE, then Nm shall provide the possibility to store external and internal requested PNCs...SWS_Nm_00305If the reception of PN shutdown message via callback function Nm_ForwardSynchronizedPncShutdown is indicated, then Nm shall...SWS_Nm_00308The PNC bit vector filter algorithm shall evaluate the bytes of the given PNC bit vector in the context of...SWS_Nm_00310Every bit (PNC bit) of the PNC bit vector represents one Par- tial Network Cluster (PNC).SWS_Nm_00311The PNC bit vector filter algorithm shall compare (bitwise AND) the received PNC bit vector with the PN filter mask to detect...SWS_Nm_00312If Nm_PncBitVectorRxIndication is called, NmPnEiraCal- cEnabled or NmPnEraCalcEnabled is set to TRUE and at least one PNC bit...SWS_Nm_00313If • NmPnEiraCalcEnabled is TRUE • and a PNC bit vector is received via Nm_PncBitVectorRxIndica- tion (, ) or...SWS_Nm_00314⌊ DRAFT g If • NmPnEiraCalcEnabled is TRUE • and a transmission of a PNC bit vector is indicated via Nm_PncBitVec-...SWS_Nm_00317If Nm_UpdateIRA (, ) is called, the Nm shall store the received unfilterred PncBitVec- tor per given NM-channel.SWS_Nm_00318If NmPnEiraCalcEnabled is TRUE, then Nm shall provide a pos- sibility to monitor each relevant PNC in the context of...SWS_Nm_00319If NmPnEiraCalcEnabled is TRUE and every time a PNC is stored as "PNC requested" (see [SWS_Nm_00313]), then the monitoring for...SWS_Nm_00320If NmPnEiraCalcEnabled is TRUE and a PNC is not requested again within NmPnResetTime the corresponding stored value for this...SWS_Nm_00321If NmPnEiraCalcEnabled is TRUE and the stored value for a PNC is set to PNC requested or back to PNC released (see...SWS_Nm_00322If NmPnEraCalcEnabled is TRUE, then Nm shall provide the pos- sibility to store relevant external PNCs request per channel.SWS_Nm_00323If • NmPnEraCalcEnabled is TRUE • and a PNC bit vector is received via Nm_PncBitVectorRxIndication(, ) • and PNCs are...SWS_Nm_00324If NmPnEraCalcEnabled is TRUE, then Nm shall provide a pos- sibility to monitor each relevant PNC per channel in the context...SWS_Nm_00325If NmPnEraCalcEnabled is TRUE, then every time a PNC is stored as "PNC requested" (see [SWS_Nm_00323]), the monitoring for...SWS_Nm_00326If NmPnEraCalcEnabled is TRUE and a PNC is not requested again within NmPnResetTime the corresponding stored value for this PN...SWS_Nm_00327If NmPnEraCalcEnabled is TRUE and the stored value for a PNC is set to PNC requested or back to PNC released (see...SWS_Nm_00328If NmPartialNetworkSupportEnabled is set to TRUE, then all PNC reset timers shall be stopped at initialization.SWS_Nm_00329If NmPartialNetworkSupportEnabled is set to TRUE, then the evaluation of the PNC states in combination with PNC reset timers...SWS_Nm_00330For all configured NM-channel where NmPartialNetworkSup- portEnabled is set TRUE, Nm shall provide the possibility to store...SWS_Nm_00331If NmPnEiraCalcEnabled is TRUE and NmPnEraCalcEn- abled is TRUE , the PNC status information has to be stored separately for...SWS_Nm_00332⌊ DRAFT g If NmPnEiraCalcEnabled is set to TRUE and Nm_- PncBitVectorTxIndication (NetworkHandle, PncBitVectorPtr) is called,...SWS_Nm_00483If BusNmType is NM_BUSNM_LOCALNM and ComM requests Nm_- PassiveStartUp() or Nm_NetworkRequest() then Nm shall inform ComM...SWS_Nm_00484The Nm module shall apply appropriate mechanisms to allow calls of its APIs from other partitions than its main function, e.SWS_Nm_00485Nm shall interact with Nm (i.SWS_Nm_00486The Nm kernel shall be assigned to the same partition as ComM kernel in order to keep the interaction between these two...SWS_Nm_00487When Nm_StateChangeNotification is called to report a change of the Nm state, Nm shall call BswM_Nm_StateChangeNotification()...SWS_Nm_00488If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_PassiveStartUp shall raise the error...SWS_Nm_00489If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_NetworkRequest shall raise the error...SWS_Nm_00490If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_NetworkRelease shall raise the error...SWS_Nm_00491If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_DisableCommunication shall raise the error...SWS_Nm_00492If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_EnableCommunication shall raise the error...SWS_Nm_00493If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_SetUserData shall raise the error...SWS_Nm_00494If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_GetUserData shall raise the error...SWS_Nm_00495If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_GetPduData shall raise the error...SWS_Nm_00496If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_RepeatMessageRequest shall raise the error...SWS_Nm_00497If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_GetNodeIdentifier shall raise the error...SWS_Nm_00498If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_GetLocalNodeIdentifier shall raise the error...SWS_Nm_00499If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_CheckRemoteSleepIndication shall raise the error...SWS_Nm_00500If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_GetState shall raise the error...SWS_Nm_00501If NmDynamicPncToChannelMappingEnabled is set to TRUE and Nm_StateChangeNotification is called, then...SWS_Nm_00502Nm_PnLearningRequest shall only be available if NmDynam- icPncToChannelMappingSupport is set to TRUE.SWS_Nm_00503If Nm_PnLearningRequest is called with a network handle for a bus system where NmDynamicPncToChannelMappingEnabled is set to...SWS_Nm_00504If Nm_RepeatMessageIndication is called with pn- LearningBitSet set to TRUE and NmDynamicPncToChannelMappingEn- abled is set...SWS_Nm_00505If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_PnLearningRequest shall raise the error...SWS_Nm_00506⌊ DRAFT g If function Nm_RequestSynchronizedPncShutdown is called, NmSynchronizedPncShutdownEnabled is set to TRUE and NmStan-...SWS_Nm_00507⌊ OBSOLETE g The indication of a received PN shutdown message via callback function Nm_ForwardSynchronizedPncShutdown shall be...SWS_Nm_00508If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_RequestSynchronizedPncShutdown shall raise the...SWS_Nm_00509[SWS_Nm_00509] occur, Nm_StateChangeNotification shall call Com_SendSignal(uint8, Com_SignalIdType, const void*) for the...SWS_Nm_00521If function Nm_RequestSynchronizedPncShutdown is called, NmSynchronizedPncShutdownEnabled is set to TRUE and NmStandardBusType...SWS_Nm_00523If NmSynchronizedPncShutdownEnabled is set to TRUE, re- quests for synchronized PNC shutdown are pending and PNC shutdown...SWS_Nm_00524If NmSynchronizedPncShutdownEnabled is set to TRUE, no requests for synchronized PNC shutdown are pending, PNC shutdown...SWS_Nm_00525If NmPnShutdownMessageRetransmissionDuration is configured and Nm_RequestSynchronizedPncShutdown is called (refer to...SWS_Nm_00527If NmSynchronizedPncShutdownEnabled is set to TRUE, PNC shutdown handling has been activated (refer to [SWS_Nm_00523]) and...SWS_Nm_00529If NmSynchronizedPncShutdownEnabled is set to TRUE and the Nm module has stored PNC IDs as pending request for a synchronized...SWS_Nm_00530If NmSynchronizedPncShutdownEnabled is set to TRUE, NmPnShutdownMessageRetransmissionDuration is not configured, the corre-...SWS_Nm_00532If NmSynchronizedPncShutdownEnabled is set to TRUE and a retransmission timer for a PN shutdown message (see NmP-...SWS_Nm_00533If NmPartialNetworkSupportEnabled is set to TRUE, then PNC shutdown handling shall be considered as deactivated at initialization.SWS_Nm_00534If • NmPnEiraCalcEnabled is set to TRUE • and a transmission of a PNC bit vector is indicated via Nm_PncBitVec-...SWS_Nm_00535If NmPnEiraCalcEnabled is TRUE, Nm_PncBitVec- torTxIndication (, PncBitVectorPtr ) is called and no requests for synchronized...SWS_Nm_00536If • NmPnEiraCalcEnabled is set to TRUE • and requests for a synchronized PNC shutdown are pending on the given NM- channel •...SWS_Nm_00537If NmPnEiraCalcEnabled is set to TRUE, Nm_PncBitVec- torTxIndication (NetworkHandle , PncBitVectorPtr ) is called and requests...SWS_Nm_00999Not applicable requirements These requirements are not ap- plicable to this specification.SWS_Nm_91011Type of error Related error code Error value Retransmission timer for a PN shutdown message has expired, because a PN shutdown...SWS_Nm_CONSTR_00001The length of all configured NmPnFilterMaskByte s shall have the same length (in bytes) as the NmPncBitVectorLength of the...SWS_Nm_NA_00999Not applicable requirements These requirements are not applicable to this specification.
Funktionen & Typen — Detailansicht
fonction Nm_Init [SWS_Nm_00030] 📄 PDF
void Nm_Init(const Nm_ConfigType* ConfigPtr);
Initializes the NM Interface.
fonction Nm_PassiveStartUp [SWS_Nm_00031] 📄 PDF
Std_ReturnType Nm_PassiveStartUp(NetworkHandleType NetworkHandle);
This function calls the <Bus>Nm_PassiveStartUp function in case NmBusType is not set to NM_BUSNM_LOCALNM (e.g. CanNm_PassiveStartUp function is called for NM_BUSNM_ CANNM).
fonction Nm_NetworkRequest [SWS_Nm_00032] 📄 PDF
Std_ReturnType Nm_NetworkRequest(NetworkHandleType NetworkHandle);
This function calls the <Bus>Nm_NetworkRequest (e.g. CanNm_NetworkRequest function is called if channel is configured as CAN) function in case NmBusType is not set to NM_BUSNM_ LOCALNM.
fonction Nm_DisableCommunication [SWS_Nm_00033] 📄 PDF
Std_ReturnType Nm_DisableCommunication(NetworkHandleType NetworkHandle);
Disables the NM PDU transmission ability. For that purpose <Bus>Nm_DisableCommunication shall be called in case NmBusType is not set to NM_BUSNM_LOCALNM (e.g. CanNm_Disable Communication function is called if channel is configured as CAN).
fonction Nm_EnableCommunication [SWS_Nm_00034] 📄 PDF
Std_ReturnType Nm_EnableCommunication(NetworkHandleType NetworkHandle);
Enables the NM PDU transmission ability. For that purpose <Bus>Nm_EnableCommunication shall be called in case NmBusType is not set to NM_BUSNM_LOCALNM. (e.g. CanNm_Enable Communication function is called if channel is configured as CAN).
fonction Nm_SetUserData [SWS_Nm_00035] 📄 PDF
Std_ReturnType Nm_SetUserData(NetworkHandleType NetworkHandle, const uint8* nmUserDataPtr);
Set user data for NM messages transmitted next on the bus. For that purpose <Bus>Nm_Set UserData shall be called in case NmBusType is not set to NM_BUSNM_LOCALNM. (e.g. Can Nm_SetUserData function is called if channel is configured as CAN).
fonction Nm_GetUserData [SWS_Nm_00036] 📄 PDF
Std_ReturnType Nm_GetUserData(NetworkHandleType NetworkHandle, uint8* nmUserDataPtr);
Get user data out of the last successfully received NM message. For that purpose <Bus>Nm_ GetUserData shall be called in case NmBusType is not set to NM_BUSNM_LOCALNM. (e.g. CanNm_GetUserData function is called if channel is configured as CAN).
fonction Nm_GetPduData [SWS_Nm_00037] 📄 PDF
Std_ReturnType Nm_GetPduData(NetworkHandleType NetworkHandle, uint8* nmPduData);
Get the whole PDU data out of the most recently received NM message. For that purpose <Bus Nm>_GetPduData shall be called in case NmBusType is not set to NM_BUSNM_LOCALNM. (e.g. CanNm_GetPduData function is called if channel is configured as CAN).
fonction Nm_RepeatMessageRequest [SWS_Nm_00038] 📄 PDF
Std_ReturnType Nm_RepeatMessageRequest(NetworkHandleType NetworkHandle);
Set Repeat Message Request Bit for NM messages transmitted next on the bus. For that purpose <Bus>Nm_RepeatMessageRequest shall be called in case NmBusType is not set to NM_BUSNM_LOCALNM. (e.g. CanNm_RepeatMessageRequest function is called if channel is configured as CAN). This will force all nodes on the bus to transmit NM messages so that they can be identified.
fonction Nm_GetNodeIdentifier [SWS_Nm_00039] 📄 PDF
Std_ReturnType Nm_GetNodeIdentifier(NetworkHandleType NetworkHandle, uint8* nmNodeIdPtr);
Get node identifier out of the last successfully received NM-message. The function <Bus>Nm_ GetNodeIdentifier shall be called in case NmBusType is not set to NM_BUSNM_LOCALNM. (e.g. CanNm_GetNodeIdentifier function is called if channel is configured as CAN).
fonction Nm_GetLocalNodeIdentifier [SWS_Nm_00040] 📄 PDF
Std_ReturnType Nm_GetLocalNodeIdentifier(NetworkHandleType NetworkHandle, uint8* nmNodeIdPtr);
Get node identifier configured for the local node. For that purpose <Bus>Nm_GetLocalNode Identifier shall be called in case NmBusType is not set to NM_BUSNM_LOCALNM. (e.g. Can Nm_GetLocalNodeIdentifier function is called if channel is configured as CAN).
fonction Nm_CheckRemoteSleepIndication [SWS_Nm_00042] 📄 PDF
Std_ReturnType Nm_CheckRemoteSleepIndication(NetworkHandleType nmNetworkHandle, boolean* nmRemoteSleepIndPtr);
Check if remote sleep indication takes place or not. For that purpose <Bus>Nm_CheckRemote SleepIndication shall be called in case NmBusType is not set to NM_BUSNM_LOCALNM. (e.g. CanNm_CheckRemoteSleepIndication function is called if channel is configured as CAN).
fonction Nm_GetState [SWS_Nm_00043] 📄 PDF
Std_ReturnType Nm_GetState(NetworkHandleType nmNetworkHandle, Nm_StateType* nmStatePtr, Nm_ModeType* nmModePtr);
Returns the state of the network management. The function <Bus>Nm_GetState shall be called in case NmBusType is not set to NM_BUSNM_LOCALNM. (e.g. CanNm_GetState function is called if channel is configured as CAN).
fonction Nm_GetVersionInfo [SWS_Nm_00044] 📄 PDF
void Nm_GetVersionInfo(Std_VersionInfoType* nmVerInfoPtr);
This service returns the version information of this module.
fonction Nm_NetworkRelease [SWS_Nm_00046] 📄 PDF
Std_ReturnType Nm_NetworkRelease(NetworkHandleType NetworkHandle);
This function calls the <Bus>Nm_NetworkRelease bus specific function in case NmBusType is not set to NM_BUSNM_LOCALNM (e.g. CanNm_NetworkRelease function is called if channel is configured as CAN).
fonction Nm_PduRxIndication [SWS_Nm_00112] 📄 PDF
void Nm_PduRxIndication(NetworkHandleType nmNetworkHandle);
Notification that a NM message has been received.
fonction Nm_StateChangeNotification [SWS_Nm_00114] 📄 PDF
void Nm_StateChangeNotification(NetworkHandleType nmNetworkHandle, Nm_StateType nmPreviousState, Nm_StateType nmCurrentState);
Notification that the state of the lower layer <Bus>Nm has changed.
fonction Nm_MainFunction [SWS_Nm_00118] 📄 PDF
void Nm_MainFunction(void);
This function implements the processes of the NM Interface, which need a fix cyclic scheduling.
fonction Nm_NetworkStartIndication [SWS_Nm_00154] 📄 PDF
void Nm_NetworkStartIndication(NetworkHandleType nmNetworkHandle);
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.
fonction Nm_NetworkMode [SWS_Nm_00156] 📄 PDF
void Nm_NetworkMode(NetworkHandleType nmNetworkHandle);
Notification that the network management has entered Network Mode.
fonction Nm_PrepareBusSleepMode [SWS_Nm_00159] 📄 PDF
void Nm_PrepareBusSleepMode(NetworkHandleType nmNetworkHandle);
Notification that the network management has entered Prepare Bus-Sleep Mode.
fonction Nm_BusSleepMode [SWS_Nm_00162] 📄 PDF
void Nm_BusSleepMode(NetworkHandleType nmNetworkHandle);
Notification that the network management has entered Bus-Sleep Mode.
fonction Nm_RemoteSleepIndication [SWS_Nm_00192] 📄 PDF
void Nm_RemoteSleepIndication(NetworkHandleType nmNetworkHandle);
Notification that the network management has detected that all other nodes on the network are ready to enter Bus-Sleep Mode.
fonction Nm_RemoteSleepCancellation [SWS_Nm_00193] 📄 PDF
void Nm_RemoteSleepCancellation(NetworkHandleType nmNetworkHandle);
Notification that the network management has detected that not all other nodes on the network are longer ready to enter Bus-Sleep Mode.
fonction Nm_SynchronizationPoint [SWS_Nm_00194] 📄 PDF
void Nm_SynchronizationPoint(NetworkHandleType nmNetworkHandle);
Notification to the NM Coordinator functionality that this is a suitable point in time to initiate the coordinated shutdown on.
fonction Nm_RepeatMessageIndication [SWS_Nm_00230] 📄 PDF
void Nm_RepeatMessageIndication(NetworkHandleType nmNetworkHandle, boolean pnLearningBitSet);
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.
fonction Nm_TxTimeoutException [SWS_Nm_00234] 📄 PDF
void Nm_TxTimeoutException(NetworkHandleType nmNetworkHandle);
Service to indicate that an attempt to send an NM message failed.
fonction Nm_CarWakeUpIndication [SWS_Nm_00250] 📄 PDF
void Nm_CarWakeUpIndication(NetworkHandleType nmChannelHandle);
This function is called by a <Bus>Nm to indicate reception of a CWU request.
fonction Nm_CoordReadyToSleepIndication [SWS_Nm_00254] 📄 PDF
void Nm_CoordReadyToSleepIndication(NetworkHandleType nmChannelHandle);
Sets an indication, when the NM Coordinator Sleep Ready bit in the Control Bit Vector is set
fonction Nm_CoordReadyToSleepCancellation [SWS_Nm_00272] 📄 PDF
void Nm_CoordReadyToSleepCancellation(NetworkHandleType nmChannelHandle);
Cancels an indication, when the NM Coordinator Sleep Ready bit in the Control Bit Vector is set back to 0.
fonction <NmCarWakeUpCallout> [SWS_Nm_00291] 📄 PDF
void <NmCarWakeUpCallout>(NetworkHandleType nmNetworkHandle);
Callout function to be called by Nm_CarWakeUpIndication()
fonction Nm_SynchronizeMode [SWS_Nm_91002] 📄 PDF
void Nm_SynchronizeMode(NetworkHandleType nmNetworkHandle);
Notification that the network management has entered Synchronize Mode.
fonction Nm_PnLearningRequest [SWS_Nm_91003] 📄 PDF
Std_ReturnType Nm_PnLearningRequest(NetworkHandleType NetworkHandle);
Set Repeat Message Request Bit and Partial Network Learning Bit for NM messages transmitted next on the bus. For that purpose <Bus>Nm_PnLearningRequest shall be called (e.g. CanNm_PnLearningRequest function if channel is configured as CAN). This will force all nodes to enter the PNC Learning Phase and re-enter Repeat Message Stat. This is needed for the optional Dynamic PNC-to-channel-mapping feature.
fonction Nm_ForwardSynchronizedPncShutdown [SWS_Nm_91004] 📄 PDF
void Nm_ForwardSynchronizedPncShutdown(void);
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. Tags: atp.Status=draft
fonction Nm_RequestSynchronizedPncShutdown [SWS_Nm_91005] 📄 PDF
Std_ReturnType Nm_RequestSynchronizedPncShutdown(NetworkHandleType NetworkHandle, PNCHandleType PncId);
This function store the request for a synchronized PNC shutdown of a particular PNC given by PncId per given NM-Channel. The handling of the synchronized PNC shutdown process is mainly done in the context of the Nm_Mainfunction. The function call is only valid if NmStandardBusType is not set to NM_BUSNM_LOCALNM as a <Bus>Nm like CanNm is needed to transmit the PNC shutdown requests.
fonction Nm_PncBitVectorRxIndication [SWS_Nm_91006] 📄 PDF
void Nm_PncBitVectorRxIndication(NetworkHandleType NetworkHandle, const uint8* PncBitVectorPtr, boolean* RelevantPncRequestDetectedPtr);
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 the 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 RelevantPncRequestDetectedPtr refers to a boolean with value set to TRUE. Otherwise refer to booelan with value set to FALSE. RelevantPncRequestDetectedPtr is evaluated by the callee <Bus>Nm module to qualify the further processing of the received NM-PDU.
fonction Nm_UpdateIRA [SWS_Nm_91007] 📄 PDF
void Nm_UpdateIRA(NetworkHandleType NetworkHandle, const uint8* PncBitVectorPtr);
Indication by ComM of internal PNC requests. This is used to aggregate the internal PNC requests.
fonction Nm_PncBitVectorTxIndication [SWS_Nm_91008] 📄 PDF
void Nm_PncBitVectorTxIndication(NetworkHandleType NetworkHandle, uint8* PncBitVectorPtr);
Function called by <Bus>Nms to request the aggregated internal PNC requests for transmission within the Nm message.
fonction Nm_ForwardSynchronizedPncShutdown [SWS_Nm_91009] 📄 PDF
void Nm_ForwardSynchronizedPncShutdown(NetworkHandleType NetworkHandle, const uint8* PncBitVectorPtr);
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.
fonction Nm_PncBitVectorTxConfirmation [SWS_Nm_91010] 📄 PDF
void Nm_PncBitVectorTxConfirmation(NetworkHandleType NetworkHandle, const uint8* PncBitVectorPtr, Std_ReturnType result);
Function called by <Bus>Nms to confirm the state of the transmission for the given PNC bit vector on the given NM-Channel.
type Nm_ModeType [SWS_Nm_00274] 📄 PDF
Operational modes of the network management.
type Nm_StateType [SWS_Nm_00275] 📄 PDF
States of the network management state machine.
type Nm_BusNmType [SWS_Nm_00276] 📄 PDF
BusNm Type
type Nm_ConfigType [SWS_Nm_00282] 📄 PDF
Configuration data structure of the Nm module.
requirement SWS_Nm_00001 [SWS_Nm_00001] 📄 PDF
The coordination algorithm shall be able to handle a topology where several coordinated busses are connected to one NM Coordinator .
requirement SWS_Nm_00002 [SWS_Nm_00002] 📄 PDF
As long as the node implementing the NM Coordinator is not ready to go to sleep on at least one of the busses in a coordination cluster (i.e. that it has actively requested the network), the NM Coordinator shall ensure that the network is requested on all currently active busses in that coordination cluster.
requirement SWS_Nm_00003 [SWS_Nm_00003] 📄 PDF
As long as at least one bus in the coordination cluster is not ready to sleep (i.e. because another node than the NM Coordinator is requesting that bus), the NM Coordinator shall still ensure that the network is requested on all currently active busses in that coordination cluster even if the local ECU itself is ready to go to sleep on all busses of that coordination cluster.
requirement SWS_Nm_00006 [SWS_Nm_00006] 📄 PDF
The Nm shall convert generic function calls from the ComM to bus specific functions of the bus specific NM layer.
requirement SWS_Nm_00012 [SWS_Nm_00012] 📄 PDF
The Nm shall convert callback functions called by the bus specific NM layers to generic callbacks to the ComM.
requirement SWS_Nm_00020 [SWS_Nm_00020] 📄 PDF
A scheduled main function shall only contain logic related to the NM Coordinator functionality .
requirement SWS_Nm_00028 [SWS_Nm_00028] 📄 PDF
All callbacks of the Nm shall assume that they can run either in task or in interrupt context.
requirement SWS_Nm_00051 [SWS_Nm_00051] 📄 PDF
The NM Coordinator shall be able to coordinate busses run- ning the official AUTOSAR bus specific NMs as well as all other generic bus NM s im- plementing the required functionality, callbacks and interfaces.
requirement SWS_Nm_00055 [SWS_Nm_00055] 📄 PDF
The NM Interface configuration shall provide the parameter Nm- CoordinatorSupportEnabled to define if the support of the NM Coordinator func- tionality is present or not.
requirement SWS_Nm_00091 [SWS_Nm_00091] 📄 PDF
The Base functionality of Nm may be implemented completely or partly using macros.
requirement SWS_Nm_00117 [SWS_Nm_00117] 📄 PDF
Module Header File Imported Type Com Com.h Com_SignalIdType ComStack_Types.h NetworkHandleType ComStack_Types ComStack_Types.h PNCHandleType Std_Types.h Std_ReturnType Std Std_Types.h Std_VersionInfoType
requirement SWS_Nm_00119 [SWS_Nm_00119] 📄 PDF
<Bus>Nm_GetState – Returns the state and the mode of the network management. <Bus>Nm_NetworkRelease – Release the network, since ECU doesn't have to communicate on the bus. <Bus>Nm_NetworkRequest – Request the network, since ECU needs to communicate on the bus. <Bus>Nm_PassiveStartUp – Passive startup of the NM. It triggers the transition from Bus-Sleep Mode to the Network Mode without requesting the network. ComM_Nm_BusSleepMode ComM_Nm.h Notification that the network management has entered Bus-Sleep Mode. This callback function should perform a transition of the hardware and transceiver to bus-sleep mode. ComM_Nm_NetworkMode ComM_Nm.h Notification that the network management has entered Network Mode. ComM_Nm_NetworkStartIndication ComM_Nm.h Indication 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. API Function Header File Description ComM_Nm_PrepareBusSleepMode ComM_Nm.h Notification that the network management has entered Prepare Bus-Sleep Mode. Reentrancy: Reentrant (but not for the same NM-Channel) ComM_Nm_RestartIndication ComM_Nm.h If NmIf has started to shut down the coordinated busses, AND not all coordinated busses have indicated bus sleep state, AND on at least on one of the coordinated busses NM is restarted, THEN the NM Interface shall call the callback function ComM_ Nm_RestartIndication with the nmNetworkHandle of the channels which have already indicated bus sleep state.
requirement SWS_Nm_00121 [SWS_Nm_00121] 📄 PDF
In case the main function is called before the Nm has been ini- tialized, the main function shall immediately return without yielding an error.
requirement SWS_Nm_00124 [SWS_Nm_00124] 📄 PDF
The following header files shall be included by the Nm Interface module: • Std_Types.h (for AUTOSAR standard types ) Note: Platform_Types.h (for platform specific types) is indirectly included via AUTOSAR standard types. • ComM_Nm.h (for Communication Manager callback functions) • BswM_Nm.h (If the BswM is used for CarWakeup-functionalitiy)
requirement SWS_Nm_00127 [SWS_Nm_00127] 📄 PDF
Caveats of Nm_Init : This service function has to be called af- ter the initialization of the respective bus interface.
requirement SWS_Nm_00128 [SWS_Nm_00128] 📄 PDF
Caveats of Nm_PassiveStartUp : The <BusNm> and the Nm itself are initialized correctly.
requirement SWS_Nm_00129 [SWS_Nm_00129] 📄 PDF
Caveats of Nm_NetworkRequest : The <BusNm> and the Nm itself are initialized correctly.
requirement SWS_Nm_00130 [SWS_Nm_00130] 📄 PDF
If Nm_NetworkRequest is called with a network handle where NmPassiveModeEnabled is set to TRUE it shall not execute any functionality and return with E_NOT_OK . If NmDevErrorDetect is set to TRUE then it shall raise the error NM_E_INVALID_CHANNEL in this case.
requirement SWS_Nm_00131 [SWS_Nm_00131] 📄 PDF
Caveats of Nm_NetworkRelease : The <BusNm> and the Nm itself are initialized correctly.
requirement SWS_Nm_00132 [SWS_Nm_00132] 📄 PDF
If Nm_NetworkRelease is called with a network handle where NmPassiveModeEnabled is set to TRUE it shall not execute any functionality and return with E_NOT_OK . If NmDevErrorDetect is set to TRUE then it shall raise the error NM_E_INVALID_CHANNEL in this case.
requirement SWS_Nm_00133 [SWS_Nm_00133] 📄 PDF
Caveats of Nm_DisableCommunication : The <BusNm> and the Nm itself are initialized correctly.
requirement SWS_Nm_00134 [SWS_Nm_00134] 📄 PDF
Configuration of Nm_DisableCommunication : This function is only available if NmComControlEnabled is set to TRUE .
requirement SWS_Nm_00135 [SWS_Nm_00135] 📄 PDF
Caveats of Nm_EnableCommunication : The <BusNm> and the Nm itself are initialized correctly.
requirement SWS_Nm_00136 [SWS_Nm_00136] 📄 PDF
Configuration of Nm_EnableCommunication : This function is only available if NmComControlEnabled is set to TRUE .
requirement SWS_Nm_00137 [SWS_Nm_00137] 📄 PDF
Caveats of Nm_SetUserData : The <BusNm> and the Nm itself are initialized correctly.
requirement SWS_Nm_00138 [SWS_Nm_00138] 📄 PDF
Configuration of Nm_SetUserData : This function is only avail- able if NmUserDataEnabled is set to TRUE .
requirement SWS_Nm_00139 [SWS_Nm_00139] 📄 PDF
Caveats of Nm_GetUserData : The <BusNm> and the Nm itself are initialized correctly.
requirement SWS_Nm_00140 [SWS_Nm_00140] 📄 PDF
Configuration of Nm_GetUserData : This function is only avail- able if NmUserDataEnabled is set to TRUE .
requirement SWS_Nm_00141 [SWS_Nm_00141] 📄 PDF
Caveats of Nm_GetPduData : The <BusNm> and the Nm itself are initialized correctly.
requirement SWS_Nm_00143 [SWS_Nm_00143] 📄 PDF
Caveats of Nm_RepeatMessageRequest : The <BusNm> and the Nm itself are initialized correctly.
requirement SWS_Nm_00145 [SWS_Nm_00145] 📄 PDF
Caveats of Nm_GetNodeIdentifier : The <BusNm> and the Nm itself are initialized correctly.
requirement SWS_Nm_00147 [SWS_Nm_00147] 📄 PDF
Caveats of Nm_GetLocalNodeIdentifier : The <BusNm> and the Nm itself are initialized correctly.
requirement SWS_Nm_00149 [SWS_Nm_00149] 📄 PDF
Caveats of Nm_CheckRemoteSleepIndication : The <BusNm> and the Nm itself are initialized correctly.
requirement SWS_Nm_00150 [SWS_Nm_00150] 📄 PDF
Configuration of Nm_CheckRemoteSleepIndication : This function is only available if NmRemoteSleepIndEnabled is set to TRUE .
requirement SWS_Nm_00151 [SWS_Nm_00151] 📄 PDF
Caveats of Nm_GetState : The <BusNm> and the Nm itself are initialized correctly.
requirement SWS_Nm_00155 [SWS_Nm_00155] 📄 PDF
The indication through callback function Nm_Network- StartIndication : shall be forwarded to ComM by calling the ComM_Nm_- NetworkStartIndication .
requirement SWS_Nm_00158 [SWS_Nm_00158] 📄 PDF
The indication through callback function Nm_NetworkMode : shall be forwarded to ComM by calling the ComM_Nm_NetworkMode .
requirement SWS_Nm_00161 [SWS_Nm_00161] 📄 PDF
The indication through callback function Nm_PrepareBus- SleepMode : shall be forwarded to ComM by calling ComM_Nm_PrepareBusSleep- Mode .
requirement SWS_Nm_00163 [SWS_Nm_00163] 📄 PDF
The indication through callback function Nm_BusSleepMode : shall be forwarded to ComM by calling the ComM_Nm_BusSleepMode .
requirement SWS_Nm_00164 [SWS_Nm_00164] 📄 PDF
Configuration of Nm_PduRxIndication : This function is only available if NmPduRxIndicationEnabled is set to TRUE.
requirement SWS_Nm_00165 [SWS_Nm_00165] 📄 PDF
Configuration of Nm_StateChangeNotification : This func- tion is only available if NmStateChangeIndEnabled is set to TRUE.
requirement SWS_Nm_00166 [SWS_Nm_00166] 📄 PDF
<Bus>Nm_ActivateTxPnShutdownMsg – 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). <Bus>Nm_CheckRemoteSleep Indication – Check if remote sleep indication takes place or not. <Bus>Nm_DeactivateTxPnShutdown Msg – 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. <Bus>Nm_DisableCommunication – Disable the NM PDU transmission ability. <Bus>Nm_EnableCommunication – Enable the NM PDU transmission ability. <Bus>Nm_GetLocalNodeIdentifier – Get node identifier configured for the local node. <Bus>Nm_GetNodeIdentifier – Get node identifier out of the last successfully received NM-message. <Bus>Nm_GetPduData – Pointer where NM PDU shall be copied to. <Bus>Nm_GetUserData – Get user data out of the last successfully received NM message. <Bus>Nm_PnLearningRequest – – <Bus>Nm_RepeatMessageRequest – Request a Repeat Message Request to be transmitted next on the bus. <Bus>Nm_RequestBus Synchronization – Request bus synchronization. <Bus>Nm_RequestSynchronizedPnc Shutdown – – <Bus>Nm_SetSleepReadyBit – Set the NM Coordinator Sleep Ready bit in the Control Bit Vector <Bus>Nm_SetUserData – Set user data for NM messages transmitted next on the bus. API Function Header File Description BswM_Nm_CarWakeUpIndication BswM_Nm.h Function called by Nm to indicate a CarWakeup. Com_SendSignal Com.h The service Com_SendSignal updates the signal object identified by SignalId with the signal referenced by the SignalDataPtr parameter. ComM_Nm_ForwardSynchronizedPnc Shutdown ComM_Nm.h If an ECU in role of an intermediate PNC coordinator receives a PN shutdown message via a <Bus>Nm, then ComM is immediately indicated via ComM_ Nm_ForwardSynchronizedPncShutdown to forward the request for a synchronized PNC shutdown of the affected PNCs given by PncBitVectorPtr. Therefore, ComM will immediately release the affected PNC state machines and forward the PNC bit vector to the affected ComM Channels and the corresponding NM channels, respectively. Note: This supports a nearly synchronized PNC shutdown across the PN topology from the top-level PNC coordinator down to the subordinated PNC node. ComM_Nm_PncLearningBitIndication ComM_Nm.h Service to indicate that an NM message with set PNC Learning Bit has been received. ComM_Nm_RepeatMessageLeft Indication ComM_Nm.h Notification that the state of all <Bus>Nm has left RepeatMessage. This interface is used to indicate by the optional Dynamic PNC-to-channel-mapping feature to indicate that learning phase ends. ComM_Nm_UpdateEIRA ComM_Nm.h Function to indicate the current aggregated external / internal PNC request called by Nm. ComM_Nm_UpdateERA ComM_Nm.h Function to indicate the current external PNC request per channel called by Nm. Det_ReportError Det.h Service to report development errors.
requirement SWS_Nm_00167 [SWS_Nm_00167] 📄 PDF
It shall be possible to configure multiple NM coordination clusters that shall be coordinated independently.
requirement SWS_Nm_00168 [SWS_Nm_00168] 📄 PDF
Each bus shall belong to zero or one NM coordination cluster.
requirement SWS_Nm_00169 [SWS_Nm_00169] 📄 PDF
Shutdown shall only be coordinated on the presently awake net- works of a coordination cluster. Networks that are already in ”bus-sleep mode“ shall still be monitored but not coordinated.
requirement SWS_Nm_00171 [SWS_Nm_00171] 📄 PDF
When all networks of a coordination cluster are either ready to go to sleep or already in ”bus-sleep mode“ the NM Coordinator shall start the coordinated shutdown on all awake networks. The NM Coordinator shall eval- uate continuously if the coordinated shutdown can be started.
requirement SWS_Nm_00172 [SWS_Nm_00172] 📄 PDF
If the configuration parameter NmSynchronizingNetwork is TRUE for any of the busses in a coordination cluster, the coordination shutdown shall be delayed until a network that is configured as synchronizing network for this coordination cluster invoked Nm_SynchronizationPoint .
requirement SWS_Nm_00173 [SWS_Nm_00173] 📄 PDF
If not all conditions to start the coordinated shutdown have been met, or if the coordinated shutdown has already been started (but not aborted), calls to Nm_SynchronizationPoint shall be ignored.
requirement SWS_Nm_00174 [SWS_Nm_00174] 📄 PDF
If the configuration parameter NmSynchronizingNetwork is FALSE for all of the presently awake busses in a coordination cluster, the timers shall be started after all shutdown conditions have been met, without waiting for a call to Nm_SynchronizationPoint (). (see also [SWS_Nm_00172]).
requirement SWS_Nm_00175 [SWS_Nm_00175] 📄 PDF
When the coordinated shutdown is started, a shutdown de- lay timer shall be activated for each currently awake channel in the coordination clus- ter. Each timer shall be set to NmGlobalCoordinatorTime . In case NmBusType is not set to NM_BUSNM_LOCALNM additionally the shutdown time of the specific channel TSHUTDOWN_CHANNEL shall be subtracted.
requirement SWS_Nm_00176 [SWS_Nm_00176] 📄 PDF
When a shutdown timer expires for a network, Nm shall in case BusNmType is not set to NM_BUSNM_LOCALNM release the network by calling the <Bus>Nm_RequestBusSynchronization followed by <Bus>Nm_NetworkRe- lease . In case BusNmType is set to NM_BUSNM_LOCALNM Nm shall inform ComM about shutdown by calling ComM_Nm_BusSleepMode() .
requirement SWS_Nm_00177 [SWS_Nm_00177] 📄 PDF
Nm shall keep track of all networks that have been released but have not yet reported ”bus-sleep mode“. If the shutdown is aborted, these networks shall still be considered active networks.
requirement SWS_Nm_00181 [SWS_Nm_00181] 📄 PDF
The coordinated shutdown shall be aborted if any network in that NM Coordination Cluster , • indicates Nm_RemoteSleepCancellation or • indicates Nm_NetworkMode or • indicates Nm_CoordReadyToSleepCancellation • or the ComM request one of the networks with Nm_NetworkRequest or Nm_- PassiveStartUp .
requirement SWS_Nm_00182 [SWS_Nm_00182] 📄 PDF
If the coordinated shutdown is aborted, NM Coordinator shall call ComM_Nm_RestartIndication for all networks that already indicated ”bus sleep“.
requirement SWS_Nm_00183 [SWS_Nm_00183] 📄 PDF
If the coordinated shutdown is aborted, NM Coordinator shall in case BusNmType is not set NM_BUSNM_LOCALNM request the network from the <Bus>Nm 's for the networks that have not indicated ”bus sleep“. In case BusNmType is set to NM_BUSNM_LOCALNM Nm shall inform ComM about network startup by calling ComM_Nm_NetworkMode() .
requirement SWS_Nm_00185 [SWS_Nm_00185] 📄 PDF
If the coordination algorithm has been aborted, all con- ditions that guard the initiation of the coordinated shutdown shall be evaluated again.
requirement SWS_Nm_00228 [SWS_Nm_00228] 📄 PDF
If a bus of a coordination cluster has the parameter NmChannel- SleepMaster set to TRUE , the NM Coordinator shall consider that bus ready to sleep at all times and shall not await an invocation of Nm_RemoteSleepIndication from that bus before starting shutdown of that network.
requirement SWS_Nm_00232 [SWS_Nm_00232] 📄 PDF
Type of error Related error code Error value API service used without Nm interface initialization NM_E_UNINIT 0x00 API Service called with wrong parameter but not with NULL-pointer NM_E_INVALID_CHANNEL 0x01 API service called with a NULL pointer NM_E_PARAM_POINTER 0x02
requirement SWS_Nm_00233 [SWS_Nm_00233] 📄 PDF
If the pre-processor switch NmDevErrorDetect is set to TRUE , all function calls containing a NetworkHandleType parameter shall raise the error NM_- E_INVALID_CHANNEL if the network parameter is not a configured network handle.
requirement SWS_Nm_00235 [SWS_Nm_00235] 📄 PDF
If a coordinated shutdown has been aborted and Nm re- ceives E_NOT_OK on a <Bus>Nm_NetworkRequest , that network shall not be con- sidered awake when the conditions for initiating a coordinated shutdown are evaluated again.
requirement SWS_Nm_00236 [SWS_Nm_00236] 📄 PDF
If a coordinated shutdown has been initiated and Nm re- ceives E_NOT_OK on a <Bus>Nm_NetworkRelease , the shutdown shall be imme- diately aborted. For all networks that have not entered ”bus-sleep mode“, Nm shall request the networks. This includes the network that indicated an error for <Bus> Nm_NetworkRelease . As soon as this has been done, the conditions for initiating coordinated shutdown can be evaluated again. This applies also to networks that were not actively participating in the current coordinated shutdown.
requirement SWS_Nm_00241 [SWS_Nm_00241] 📄 PDF
Configuration of Nm_SetUserData : If NmComUserDataSup- port is TRUE the API Nm_SetUserData shall not be available.
requirement SWS_Nm_00243 [SWS_Nm_00243] 📄 PDF
The Nm Interface shall optionally include the header file of De- fault Error Tracer (depending on the pre-processor switch NmDevErrorDetect, see ECUC_Nm_00203). • Det.h for service of the Default Error Tracer.
requirement SWS_Nm_00245 [SWS_Nm_00245] 📄 PDF
If the ComM calls Nm_PassiveStartUp () for a network that is part of a coordinated cluster of networks, the Nm coordinator functionality shall treat this call as if the ComM had called Nm_NetworkRequest (). In case BusNmType is not set to NM_BUSNM_LOCALNM the Nm shall forward a call of <Bus>Nm_NetworkRe- quest to the lower layer and accordingly, the network shall be counted as requested by the NM coordinator.
requirement SWS_Nm_00247 [SWS_Nm_00247] 📄 PDF
The code file structure shall not be defined within this specification completely. At this point it shall be pointed out that the code-file structure shall include the following files named:
requirement SWS_Nm_00249 [SWS_Nm_00249] 📄 PDF
If NmStateReportEnabled is set to TRUE and NmStateRe- portSignalRef is configured, when one of the state transitions mentioned in Table 7.4 occur, Nm_StateChangeNotification shall call Com_SendSignal(uint8, Com_SignalIdType, const void * ) for the signal referenced by NmStateRe- portSignalRef with the value according to Table 7.4
requirement SWS_Nm_00251 [SWS_Nm_00251] 📄 PDF
Configuration of Nm_CarWakeUpIndication : Optional If NmCarWakeUpRxEnabled is TRUE , The Nm shall provide the API Nm_CarWake- UpIndication .
requirement SWS_Nm_00252 [SWS_Nm_00252] 📄 PDF
If the <bus>Nm calls Nm_CarWakeUpIndication and NmCar- WakeUpCallout is defined, the NM Interface shall call the callout function defined by NmCarWakeUpCallout with nmNetworkHandle as parameter.
requirement SWS_Nm_00255 [SWS_Nm_00255] 📄 PDF
Configuration of Nm_CoordReadyToSleepIndication : Op- tional If NmCoordinatorSyncSupport is set to TRUE , the Nm shall provide the API Nm_- CoordReadyToSleepIndication .
requirement SWS_Nm_00256 [SWS_Nm_00256] 📄 PDF
The NM-Coordinator shall support two or more NM- Coordinators connected to the same NM Cluster .
requirement SWS_Nm_00257 [SWS_Nm_00257] 📄 PDF
On its passively coordinated channels a NM-Coordinator shall send Nm messages only if the node has a network management request pending or a connected network which is coordinated actively by that NM Coordinator is not ready to sleep.
requirement SWS_Nm_00259 [SWS_Nm_00259] 📄 PDF
The NM Coordinator shall set the NMcoordinatorSleepReady bit in the NM message via <Bus>Nm_SetSleepReadyBit to the value 1 at his actively coordinated channels, IF all nodes of the NM Coordination cluster are ready to sleep (RemoteSleepIndi- cation) AND IF NmSynchronizingNetwork is enabled a Nm_SynchronizationPoint () call has been received on the corresponding channel AND If all channels of this NM Coordination cluster are configured as NmActiveCo- ordinator == TRUE . AND If the NmBusType is not configured to NM_BUSNM_LOCALNM .
requirement SWS_Nm_00261 [SWS_Nm_00261] 📄 PDF
If Nm_CoordReadyToSleepIndication is received on a passively coordinated channel the NmCoordinator shall set the NMCoordinatorSleep- Ready bit to SET (1) via API call to <Bus>Nm_SetSleepReadyBit on all actively coordinated channels.
requirement SWS_Nm_00262 [SWS_Nm_00262] 📄 PDF
The NM Coordinator shall start coordinated shutdown af- ter the Sleep Ready Bit with SET status has been requested.
requirement SWS_Nm_00267 [SWS_Nm_00267] 📄 PDF
NM Coordinator shall set the NMCoordinatorSleepReady bit to UNSET (0) via API call to <Bus>Nm_SetSleepReadyBit on all actively coordinated channels if the coordinated shutdown has been aborted for any reason.
requirement SWS_Nm_00271 [SWS_Nm_00271] 📄 PDF
If Nm_CoordReadyToSleepCancellation is received on a passively coordinated channel the NmCoordinator shall set the NMCoordinatorSleep- Ready bit to UNSET (0) via API call to <Bus>Nm_SetSleepReadyBit on all actively coordinated channels.
requirement SWS_Nm_00273 [SWS_Nm_00273] 📄 PDF
Configuration of Nm_CoordReadyToSleepCancellation : Op- tional If NmCoordinatorSyncSupport is set to TRUE , the Nm shall provide the API Nm_- CoordReadyToSleepCancellation .
requirement SWS_Nm_00277 [SWS_Nm_00277] 📄 PDF
Configuration of Nm_RemoteSleepIndication : This function is only available if NmRemoteSleepIndEnabled is set to TRUE .
requirement SWS_Nm_00278 [SWS_Nm_00278] 📄 PDF
Configuration of Nm_RemoteSleepCancellation : This func- tion is only available if NmRemoteSleepIndEnabled is set to TRUE .
requirement SWS_Nm_00279 [SWS_Nm_00279] 📄 PDF
If NmCoordinatorSupportEnabled is set to TRUE, the Nm_- MainFunction API shall be available.
requirement SWS_Nm_00280 [SWS_Nm_00280] 📄 PDF
The functionality of coordinating nested sub busses shall be avail- able if the NmCoordinatorSyncSupport parameter is set to TRUE .
requirement SWS_Nm_00281 [SWS_Nm_00281] 📄 PDF
NmGlobalCoordinatorTime shall be set at least to the maxi- mum time needed to shut down all Networks coordinated.
requirement SWS_Nm_00283 [SWS_Nm_00283] 📄 PDF
The Configuration pointer ConfigPtr shall always have a NULL_PTR value.
requirement SWS_Nm_00284 [SWS_Nm_00284] 📄 PDF
If the NmGlobalCoordinatorTime is zero the shutdown delay timer of all channels shall also be zero.
requirement SWS_Nm_00285 [SWS_Nm_00285] 📄 PDF
If the <bus>Nm calls Nm_CarWakeUpIndication and Nm- CarWakeUpCallout is not defined, the NM Interface shall call the function BswM_Nm_CarWakeUpIndication with nmNetworkHandle as parameter.
requirement SWS_Nm_00286 [SWS_Nm_00286] 📄 PDF
If Nm_DisableCommunication is called with a network handle where NmPassiveModeEnabled is set to TRUE it shall not execute any functionality and return with E_NOT_OK . If NmDevErrorDetect is set to TRUE then it shall raise the error NM_E_INVALID_CHANNEL in this case.
requirement SWS_Nm_00287 [SWS_Nm_00287] 📄 PDF
If Nm_EnableCommunication is called with a network handle where NmPassiveModeEnabled is set to TRUE it shall not execute any functionality and return with E_NOT_OK . If NmDevErrorDetect is set to TRUE then it shall raise the error NM_E_INVALID_CHANNEL in this case.
requirement SWS_Nm_00288 [SWS_Nm_00288] 📄 PDF
If Nm_SetUserData is called with a network handle where Nm- PassiveModeEnabled is set to TRUE it shall not execute any functionality and return with E_NOT_OK . If NmDevErrorDetect is set to TRUE then it shall raise the error NM_E_INVALID_CHANNEL in this case.
requirement SWS_Nm_00289 [SWS_Nm_00289] 📄 PDF
If Nm_RepeatMessageRequest is called with a network handle where NmPassiveModeEnabled is set to TRUE it shall not execute any functionality and return with E_NOT_OK . If NmDevErrorDetect is set to TRUE then it shall raise the error NM_E_INVALID_CHANNEL in this case.
requirement SWS_Nm_00290 [SWS_Nm_00290] 📄 PDF
If Nm_CheckRemoteSleepIndication is called with a network handle where NmPassiveModeEnabled is set to TRUE it shall not execute any func- tionality and return with E_NOT_OK . If NmDevErrorDetect is set to TRUE then it shall raise the error NM_E_INVALID_CHANNEL in this case.
requirement SWS_Nm_00292 [SWS_Nm_00292] 📄 PDF
If the NM Coordinator functionality is configured, the con- figuration parameter NmCycletimeMainFunction shall be configured (see [SWS_Nm_00118]).
requirement SWS_Nm_00293 [SWS_Nm_00293] 📄 PDF
If on a coordinated network the coordinator detects a mode change to NM_MODE_SYNCHRONIZE , NM_MODE_PREPARE_BUS_SLEEP or NM_BUS_- SLEEP AND the coordinated cluster this network belongs to has not started the shut- down process AND if there is no internal network mode request for that channel by ComM, the coordinator shall treat this network as remote sleep and shall call <Bus> Nm_NetworkRelease for this network. If additionally for this network the configuration parameter NmSynchronizingNetwork is TRUE then the coordinator shall not wait for Nm_SynchronizationPoint on this network.
requirement SWS_Nm_00302 [SWS_Nm_00302] 📄 PDF
If NmPnEiraCalcEnabled is set to TRUE, then Nm shall provide the possibility to store external and internal requested PNCs combined over all NM- channels where NmPnEnabled is set to TRUE. At initialization the values of all PNCs within EIRA shall be set to 0 (PNC released).
requirement SWS_Nm_00305 [SWS_Nm_00305] 📄 PDF
If the reception of PN shutdown message via callback function Nm_ForwardSynchronizedPncShutdown is indicated, then Nm shall stop the ERA related monitoring of external PNC requests of the PNCs (see [SWS_Nm_00324])) which are indicated for an PNC shutdown (PNC bit set to '1') in the given PNC bit vector , set the corresponding ERA bits to '0' in the ERA of the indicated NM-channel and forward the indication to ComM with the corresponding ComMChan- nel by calling ComM_Nm_ForwardSynchronizedPncShutdown(<ComMChannel>, <PncBitVector>) .
requirement SWS_Nm_00308 [SWS_Nm_00308] 📄 PDF
The PNC bit vector filter algorithm shall evaluate the bytes of the given PNC bit vector in the context of Nm_PncBitVectorRxIndication .
requirement SWS_Nm_00310 [SWS_Nm_00310] 📄 PDF
Every bit (PNC bit) of the PNC bit vector represents one Par- tial Network Cluster (PNC). If the PNC bit is set to 1 the Partial Network Cluster is requested. If the bit is set to 0 there is no request for this PNC.
requirement SWS_Nm_00311 [SWS_Nm_00311] 📄 PDF
The PNC bit vector filter algorithm shall compare (bitwise AND) the received PNC bit vector with the PN filter mask to detect if a relevant PNC is requested or not. Each PNC bit of the PN filter mask shall have the following meaning: • 0: The PNC request is irrelevant for the ECU. The communication stack of the ECU is not kept awake if this bit is set in a received PNC bit vector . • 1: The PNC request is relevant for the ECU. The communication stack of the ECU is kept awake if this bit is set in a received PNC bit vector .
requirement SWS_Nm_00312 [SWS_Nm_00312] 📄 PDF
If Nm_PncBitVectorRxIndication is called, NmPnEiraCal- cEnabled or NmPnEraCalcEnabled is set to TRUE and at least one PNC bit is de- tected as relevant PNC request according to [SWS_Nm_00311] in the given PNC bit vector , the OUT parameter RelevantPncRequestDetectedPtr shall be set to TRUE. Otherwise the value of RelevantPncRequestDetectedPtr shall be set to FALSE.
requirement SWS_Nm_00313 [SWS_Nm_00313] 📄 PDF
If • NmPnEiraCalcEnabled is TRUE • and a PNC bit vector is received via Nm_PncBitVectorRxIndica- tion (<Nm-channel>, < PNC bit vector of external PNC requests>) or Nm_ForwardSynchronizedPncShutdown (<NM-channel>, < PNC bit vec- tor PNCs indicated for a synchronized shutdown>) • and PNCs are requested within this message (bits set to 1) • and the requested PNCs are set to 1 within the configured PN filter mask then Nm shall store the request information (value 1) for these PNCs as "PNC re- quested".
requirement SWS_Nm_00314 [SWS_Nm_00314] 📄 PDF
⌊ DRAFT g If • NmPnEiraCalcEnabled is TRUE • and a transmission of a PNC bit vector is indicated via Nm_PncBitVec- torTxIndication (<NM-channel>, <buffer to provide the unfiltered PNC bit vector of aggregated internal PNC requests >) • and PNCs are requested within the stored unfiltered PNC bit vector (bits set to 1) • and the requested PNCs of the stored unfiltered PNC bit vector for internal PNC requests are set to 1 within the configured PN filter mask then Nm shall store the request information (value 1) for these PNCs as "PNC re- quested".
requirement SWS_Nm_00317 [SWS_Nm_00317] 📄 PDF
If Nm_UpdateIRA (<NM-channel>, <PncBitVector of aggregated internal PNC requests>) is called, the Nm shall store the received unfilterred PncBitVec- tor per given NM-channel. Therefore, the Nm module shall copy the amount of bytes with respect of the configured length (see NmPncBitVectorLength ) of the given NM- Channel.
requirement SWS_Nm_00318 [SWS_Nm_00318] 📄 PDF
If NmPnEiraCalcEnabled is TRUE, then Nm shall provide a pos- sibility to monitor each relevant PNC in the context of Nm_Mainfunction . The moni- toring shall consider the PNC state, if the PNC is still externally or internally requested on at least one of the relevant NM-channels.
requirement SWS_Nm_00319 [SWS_Nm_00319] 📄 PDF
If NmPnEiraCalcEnabled is TRUE and every time a PNC is stored as "PNC requested" (see [SWS_Nm_00313]), then the monitoring for this PNC shall be restarted with respect to NmPnResetTime in the context of Nm_Mainfunc- tion .
requirement SWS_Nm_00320 [SWS_Nm_00320] 📄 PDF
If NmPnEiraCalcEnabled is TRUE and a PNC is not requested again within NmPnResetTime the corresponding stored value for this PNC shall be set to PNC released (value 0) in the context of Nm_Mainfunction .
requirement SWS_Nm_00321 [SWS_Nm_00321] 📄 PDF
If NmPnEiraCalcEnabled is TRUE and the stored value for a PNC is set to PNC requested or back to PNC released (see [SWS_Nm_00313] and [SWS_Nm_00320]), then Nm shall forward the changed state of EIRA to ComM by calling ComM_Nm_UpdateEIRA(<PncBitVector of EIRA>)) .
requirement SWS_Nm_00322 [SWS_Nm_00322] 📄 PDF
If NmPnEraCalcEnabled is TRUE, then Nm shall provide the pos- sibility to store relevant external PNCs request per channel. At initialization the values of all PNCs shall be set to 0 (PNC released).
requirement SWS_Nm_00323 [SWS_Nm_00323] 📄 PDF
If • NmPnEraCalcEnabled is TRUE • and a PNC bit vector is received via Nm_PncBitVectorRxIndication(<NM- channel>, <PncBitVector of external PNC requests>) • and PNCs are requested within this message (bits set to 1) • and the requested PNCs are set to 1 within the configured PN filter mask then Nm shall store the PNC request information (value 1) for these PNCs as "PNC requested" per given channel.
requirement SWS_Nm_00324 [SWS_Nm_00324] 📄 PDF
If NmPnEraCalcEnabled is TRUE, then Nm shall provide a pos- sibility to monitor each relevant PNC per channel in the context of Nm_Mainfunction . The monitoring shall consider the PNC state, if the PNC is still externally requested on the corresponding NM-channels.
requirement SWS_Nm_00325 [SWS_Nm_00325] 📄 PDF
If NmPnEraCalcEnabled is TRUE, then every time a PNC is stored as "PNC requested" (see [SWS_Nm_00323]), the monitoring for this PNC shall be restarted with respect to NmPnResetTime in the context of Nm_Mainfunction .
requirement SWS_Nm_00326 [SWS_Nm_00326] 📄 PDF
If NmPnEraCalcEnabled is TRUE and a PNC is not requested again within NmPnResetTime the corresponding stored value for this PN shall be set to PNC released (value 0).
requirement SWS_Nm_00327 [SWS_Nm_00327] 📄 PDF
If NmPnEraCalcEnabled is TRUE and the stored value for a PNC is set to PNC requested or back to PNC released (see [SWS_Nm_00323] and [SWS_Nm_00326]), then Nm shall forward the changed state of ERA of the affected NM-channel to ComM by calling ComM_Nm_UpdateERA(<ComMChannel>, <PncBitVector of ERA>) .
requirement SWS_Nm_00328 [SWS_Nm_00328] 📄 PDF
If NmPartialNetworkSupportEnabled is set to TRUE, then all PNC reset timers shall be stopped at initialization.
requirement SWS_Nm_00329 [SWS_Nm_00329] 📄 PDF
If NmPartialNetworkSupportEnabled is set to TRUE, then the evaluation of the PNC states in combination with PNC reset timers shall consider at least the following order: • Update PNC reset timers • Evaluate the PNC states • Perform actions based on the current state of PNC reset timer and PNC requests
requirement SWS_Nm_00330 [SWS_Nm_00330] 📄 PDF
For all configured NM-channel where NmPartialNetworkSup- portEnabled is set TRUE, Nm shall provide the possibility to store external and in- ternal requested PNCs combined over all NM-channels where NmPnEnabled is set to TRUE. At initialization the values of all PNCs within EIRA shall be set to 0 (PNC released).
requirement SWS_Nm_00331 [SWS_Nm_00331] 📄 PDF
If NmPnEiraCalcEnabled is TRUE and NmPnEraCalcEn- abled is TRUE , the PNC status information has to be stored separately for both, the EIRA and ERA information (compare [SWS_Nm_00302] and [SWS_Nm_00322]).
requirement SWS_Nm_00332 [SWS_Nm_00332] 📄 PDF
⌊ DRAFT g If NmPnEiraCalcEnabled is set to TRUE and Nm_- PncBitVectorTxIndication (NetworkHandle, PncBitVectorPtr) is called, then Nm shall copy the unfiltered PNC bit vector for internal PNC requests of the given NM- channel to the buffer indicated by PncBitVectorPtr.
requirement SWS_Nm_00483 [SWS_Nm_00483] 📄 PDF
If BusNmType is NM_BUSNM_LOCALNM and ComM requests Nm_- PassiveStartUp() or Nm_NetworkRequest() then Nm shall inform ComM about start of network by calling ComM_Nm_NetworkMode() . Rationale : Buses of type NM_LOCAL_NM which are coordinated do not have a network management message but are synchronized e.g. by a master - slave concept like LIN). These Bus-Types are always directly started on request by ComM but the shutdown will be done by coordinator algorithm.
requirement SWS_Nm_00484 [SWS_Nm_00484] 📄 PDF
The Nm module shall apply appropriate mechanisms to allow calls of its APIs from other partitions than its main function, e.g. by providing a Nm satellite.
requirement SWS_Nm_00485 [SWS_Nm_00485] 📄 PDF
Nm shall interact with <Bus>Nm (i.e. call <Bus>Nm APIs) only in the partition, where the respective <Bus>Nm module is assigned to.
requirement SWS_Nm_00486 [SWS_Nm_00486] 📄 PDF
The Nm kernel shall be assigned to the same partition as ComM kernel in order to keep the interaction between these two modules on an intra-partition basis.
requirement SWS_Nm_00487 [SWS_Nm_00487] 📄 PDF
When Nm_StateChangeNotification is called to report a change of the Nm state, Nm shall call BswM_Nm_StateChangeNotification() with the reported current state.
requirement SWS_Nm_00488 [SWS_Nm_00488] 📄 PDF
If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_PassiveStartUp shall raise the error NM_E_INVALID_CHANNEL if the parameter NetworkHandle is not a configured network handle.
requirement SWS_Nm_00489 [SWS_Nm_00489] 📄 PDF
If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_NetworkRequest shall raise the error NM_E_INVALID_CHANNEL if the parameter NetworkHandle is not a configured network handle.
requirement SWS_Nm_00490 [SWS_Nm_00490] 📄 PDF
If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_NetworkRelease shall raise the error NM_E_INVALID_CHANNEL if the parameter NetworkHandle is not a configured network handle.
requirement SWS_Nm_00491 [SWS_Nm_00491] 📄 PDF
If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_DisableCommunication shall raise the error NM_E_INVALID_- CHANNEL if the parameter NetworkHandle is not a configured network handle.
requirement SWS_Nm_00492 [SWS_Nm_00492] 📄 PDF
If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_EnableCommunication shall raise the error NM_E_INVALID_- CHANNEL if the parameter NetworkHandle is not a configured network handle.
requirement SWS_Nm_00493 [SWS_Nm_00493] 📄 PDF
If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_SetUserData shall raise the error NM_E_INVALID_CHANNEL if the parameter NetworkHandle is not a configured network handle.
requirement SWS_Nm_00494 [SWS_Nm_00494] 📄 PDF
If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_GetUserData shall raise the error NM_E_INVALID_CHANNEL if the parameter NetworkHandle is not a configured network handle.
requirement SWS_Nm_00495 [SWS_Nm_00495] 📄 PDF
If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_GetPduData shall raise the error NM_E_INVALID_CHANNEL if the parameter NetworkHandle is not a configured network handle.
requirement SWS_Nm_00496 [SWS_Nm_00496] 📄 PDF
If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_RepeatMessageRequest shall raise the error NM_E_INVALID_- CHANNEL if the parameter NetworkHandle is not a configured network handle.
requirement SWS_Nm_00497 [SWS_Nm_00497] 📄 PDF
If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_GetNodeIdentifier shall raise the error NM_E_INVALID_CHAN- NEL if the parameter NetworkHandle is not a configured network handle.
requirement SWS_Nm_00498 [SWS_Nm_00498] 📄 PDF
If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_GetLocalNodeIdentifier shall raise the error NM_E_INVALID_- CHANNEL if the parameter NetworkHandle is not a configured network handle.
requirement SWS_Nm_00499 [SWS_Nm_00499] 📄 PDF
If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_CheckRemoteSleepIndication shall raise the error NM_E_IN- VALID_CHANNEL if the parameter nmNetworkHandle is not a configured network handle.
requirement SWS_Nm_00500 [SWS_Nm_00500] 📄 PDF
If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_GetState shall raise the error NM_E_INVALID_CHANNEL if the pa- rameter nmNetworkHandle is not a configured network handle.
requirement SWS_Nm_00501 [SWS_Nm_00501] 📄 PDF
If NmDynamicPncToChannelMappingEnabled is set to TRUE and Nm_StateChangeNotification is called, then ComM_Nm_RepeatMessageLeftIndication() shall be called when nmPre- viousState is set to NM_STATE_REPEAT_MESSAGE and nmCurrentState is different from NM_STATE_REPEAT_MESSAGE .
requirement SWS_Nm_00502 [SWS_Nm_00502] 📄 PDF
Nm_PnLearningRequest shall only be available if NmDynam- icPncToChannelMappingSupport is set to TRUE .
requirement SWS_Nm_00503 [SWS_Nm_00503] 📄 PDF
If Nm_PnLearningRequest is called with a network handle for a bus system where NmDynamicPncToChannelMappingEnabled is set to FALSE Nm shall not execute any functionality and return with E_NOT_OK . If NmDevErrorDetect is set to TRUE then it shall raise the error NM_E_INVALID_CHANNEL in this case.
requirement SWS_Nm_00504 [SWS_Nm_00504] 📄 PDF
If Nm_RepeatMessageIndication is called with pn- LearningBitSet set to TRUE and NmDynamicPncToChannelMappingEn- abled is set to TRUE for the provided nmNetworkHandle Nm shall call ComM_Nm_PncLearningBitIndication with the corresponding network handle.
requirement SWS_Nm_00505 [SWS_Nm_00505] 📄 PDF
If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_PnLearningRequest shall raise the error NM_E_INVALID_CHAN- NEL if the parameter NetworkHandle is not a configured network handle.
requirement SWS_Nm_00506 [SWS_Nm_00506] 📄 PDF
⌊ DRAFT g If function Nm_RequestSynchronizedPncShutdown is called, NmSynchronizedPncShutdownEnabled is set to TRUE and NmStan- dardBusType is set to a type other than NM_BUSNM_LOCALNM , the function shall immediately forward the call to the affected <Bus>Nm by calling <Bus> Nm_RequestSynchronizedPncShutdown . Otherwise the function shall return with E_NOT_OK .
requirement SWS_Nm_00507 [SWS_Nm_00507] 📄 PDF
⌊ OBSOLETE g The indication of a received PN shutdown message via callback function Nm_ForwardSynchronizedPncShutdown shall be forwarded to ComM with the corresponding ComMChannel by calling ComM_Nm_ForwardSynchronizedPncShutdown(<ComMChannel>) .
requirement SWS_Nm_00508 [SWS_Nm_00508] 📄 PDF
If the pre-processor switch NmDevErrorDetect is set to TRUE , the function Nm_RequestSynchronizedPncShutdown shall raise the error NM_E_- INVALID_CHANNEL if the parameter NetworkHandle is not a configured network handle.
requirement SWS_Nm_00509 [SWS_Nm_00509] 📄 PDF
[SWS_Nm_00509] occur, Nm_StateChangeNotification shall call Com_SendSignal(uint8, Com_SignalIdType, const void*) for the signal referenced by NmStateRe- portSignalRef with the value according to [SWS_Nm_00509].⌋ Note: The transmitted signal has to be at least a 6 bit signal in Com that should be part of the NM message.
requirement SWS_Nm_00521 [SWS_Nm_00521] 📄 PDF
If function Nm_RequestSynchronizedPncShutdown is called, NmSynchronizedPncShutdownEnabled is set to TRUE and NmStandardBusType of the given NM-channel is set to a type other than NM_BUSNM_LOCALNM , the Nm module shall store the given PNC (PncId) per given NM-channel ( NetworkHandle ) as a pending request for a synchronized PNC shutdown.
requirement SWS_Nm_00523 [SWS_Nm_00523] 📄 PDF
If NmSynchronizedPncShutdownEnabled is set to TRUE, re- quests for synchronized PNC shutdown are pending and PNC shutdown handling has been deactived, then Nm shall activate the PNC shutdown handling by calling <Bus> Nm_ActivateTxPnShutdownMsg .
requirement SWS_Nm_00524 [SWS_Nm_00524] 📄 PDF
If NmSynchronizedPncShutdownEnabled is set to TRUE, no requests for synchronized PNC shutdown are pending, PNC shutdown handling has been activated, then Nm shall deactivate the PNC shutdown handling by calling <Bus> Nm_DeactivateTxPnShutdownMsg .
requirement SWS_Nm_00525 [SWS_Nm_00525] 📄 PDF
If NmPnShutdownMessageRetransmissionDuration is configured and Nm_RequestSynchronizedPncShutdown is called (refer to [SWS_Nm_00523]), then the corresponding retransmission timer for PN shutdown messages shall be started with NmPnShutdownMessageRetransmissionDura- tion on all affected NM-channels.
requirement SWS_Nm_00527 [SWS_Nm_00527] 📄 PDF
If NmSynchronizedPncShutdownEnabled is set to TRUE, PNC shutdown handling has been activated (refer to [SWS_Nm_00523]) and Nm_- PncBitVectorTxConfirmation is called with E_OK, then the Nm module shall consider those PNC IDs, stored as pending request for a synchronized PNC shut- down of the given NM-channel, as completed which were indicated by the given PNC bit vector (PNC bit set '1') and remove them from storage. Additionally, if NmPn- ShutdownMessageRetransmissionDuration is configured, then the Nm module shall cancel the retransmission timer for PN shutdown messages of the affected NM- channel.
requirement SWS_Nm_00529 [SWS_Nm_00529] 📄 PDF
If NmSynchronizedPncShutdownEnabled is set to TRUE and the Nm module has stored PNC IDs as pending request for a synchronized PNC shut- down, then Nm shall remove those PNC IDs from storage which are either externally or internally requested again: • Nm shall check on reception of an PNC bit vector via call of Nm_- PncBitVectorRxIndication , if externally requested PNCs are received. • Nm shall check on update of an PNC bit vector via call of Nm_UpdateIRA , if internal PNC requests are available .
requirement SWS_Nm_00530 [SWS_Nm_00530] 📄 PDF
If NmSynchronizedPncShutdownEnabled is set to TRUE, NmPnShutdownMessageRetransmissionDuration is not configured, the corre- sponding <Bus>Nm module of this NM-channel has indicated transmission request via call of Nm_PncBitVectorTxIndication and Nm_PncBitVectorTxConfir- mation is called with result E_NOT_OK (transmission of the given PNC bit vector failed), then the Nm shall remove the PNC IDs stored as pending request for a syn- chronized PNC shutdown of the corresponding NM-channel and report the runtime error NM_E_TRANSMISSION_OF_PN_SHUTDOWN_MESSAGE_FAILED to DET .
requirement SWS_Nm_00532 [SWS_Nm_00532] 📄 PDF
If NmSynchronizedPncShutdownEnabled is set to TRUE and a retransmission timer for a PN shutdown message (see NmP- nShutdownMessageRetransmissionDuration ) expires, then Nm shall remove the pending request for a synchronized PNC shutdown of the cor- responding NM-channel from the storage and report the runtime error NM_E_TRANSMISSION_OF_PN_SHUTDOWN_MESSAGE_FAILED to DET .
requirement SWS_Nm_00533 [SWS_Nm_00533] 📄 PDF
If NmPartialNetworkSupportEnabled is set to TRUE, then PNC shutdown handling shall be considered as deactivated at initialization.
requirement SWS_Nm_00534 [SWS_Nm_00534] 📄 PDF
If • NmPnEiraCalcEnabled is set to TRUE • and a transmission of a PNC bit vector is indicated via Nm_PncBitVec- torTxIndication (<NM-channel>, <buffer to provide the unfiltered PNC bit vector of aggregated internal PNC requests >) • and no requests for a synchronized PNC shutdown are pending on the given NM-channel • and PNCs are requested within the stored unfiltered PNC bit vector (bits set to 1) • and the requested PNCs of the stored unfiltered PNC bit vector for internal PNC requests are set to 1 within the configured PN filter mask then Nm shall store the request information (value 1) for these PNCs as "PNC re- quested".
requirement SWS_Nm_00535 [SWS_Nm_00535] 📄 PDF
If NmPnEiraCalcEnabled is TRUE, Nm_PncBitVec- torTxIndication (<NM-channel>, PncBitVectorPtr <buffer to provide the unfiltered PNC bit vector>) is called and no requests for synchronized PNC shutdown are pending on the given NM-channel, then Nm shall copy the unfiltered PNC bit vector for internal PNC requests of the given NM-channel to the buffer indicated by PncBitVectorPtr .
requirement SWS_Nm_00536 [SWS_Nm_00536] 📄 PDF
If • NmPnEiraCalcEnabled is set to TRUE • and requests for a synchronized PNC shutdown are pending on the given NM- channel • and a transmission of a PNC bit vector is indicated via Nm_PncBitVec- torTxIndication (<NM-channel>, <buffer to provide the PNC bit vector of the aggregated synchronized PNC requests >), • and PNCs are requested for a synchronized PNC shutdown within the PNC bit vector (bits set to 1) • and the aggregated synchronized PNC requests of the PNC bit vector are set to 1 within the configured PN filter mask, then Nm shall store the request information (value 1) for these PNCs as "PNC re- quested".
requirement SWS_Nm_00537 [SWS_Nm_00537] 📄 PDF
If NmPnEiraCalcEnabled is set to TRUE, Nm_PncBitVec- torTxIndication (NetworkHandle <NM-channel>, PncBitVectorPtr <buffer to pro- vide the aggregated synchronized PNC requests as bit vector>) is called and requests for synchronized PNC shutdown are pending on the given NM-channel, then Nm shall set the buffer indicated by PncBitVectorPtr as follows : • set all according bits to 1 that relate to a PNC requested for synchronized PNC shutdown of the given NM-channel • set all other bits to 0
requirement SWS_Nm_00999 [SWS_Nm_00999] 📄 PDF
Not applicable requirements These requirements are not ap- plicable to this specification.
requirement SWS_Nm_91011 [SWS_Nm_91011] 📄 PDF
Type of error Related error code Error value 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. NM_E_TRANSMISSION_OF_PN_SHUTDOWN_ MESSAGE_FAILED 0x10
requirement SWS_Nm_CONSTR_00001 [SWS_Nm_CONSTR_00001] 📄 PDF
The length of all configured NmPnFilterMaskByte s shall have the same length (in bytes) as the NmPncBitVectorLength of the cor- responding NM-channel. A configuration tool shall reject a configuration as invalid (error), if the length of the configured NmPnFilterMaskByte s differ from the config- ured NmPncBitVectorLength of the corresponding NM-channel.
requirement SWS_Nm_NA_00999 [SWS_Nm_NA_00999] 📄 PDF
Not applicable requirements These requirements are not applicable to this specification.
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/CP_MOD_Nm- Status
- unspecified
- Version
AUTOSAR/AP/record/CP_MOD_Nm@rel:R20-11#342ef03f- Content hash
342ef03f- Source
- https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_NetworkManagementInterface.pdf#nameddest=SWS_Nm_00030