/** @req COMM472 @req COMM602 @req COMM261 */ static Std_ReturnType ComM_Internal_NotifyNm( const ComM_ChannelType* ChannelConf){ ComM_Internal_ChannelType* ChannelInternal = &ComM_Internal.Channels[ChannelConf->Number]; Std_ReturnType globalStatus = E_OK; if ((ChannelConf->NmVariant == COMM_NM_VARIANT_FULL) || (ChannelConf->NmVariant == COMM_NM_VARIANT_PASSIVE)) { #if defined(USE_NM) || defined(COMM_TESTS) Nm_ReturnType nmStatus = NM_E_OK; if (ChannelInternal->Mode == COMM_FULL_COMMUNICATION) { if (ChannelInternal->SubMode == COMM_SUBMODE_NETWORK_REQUESTED) { nmStatus = Nm_NetworkRequest(ChannelConf->NmChannelHandle); /**< @req COMM129.1 */ } else if (ChannelInternal->SubMode == COMM_SUBMODE_READY_SLEEP) { nmStatus = Nm_NetworkRelease(ChannelConf->NmChannelHandle); /**< @req COMM133.1 */ } else { //Nothing to be done. } } if (nmStatus != NM_E_OK) { globalStatus = E_NOT_OK; } #else globalStatus = E_NOT_OK; #endif } return globalStatus; }
/** @req COMM472 @req COMM602 @req COMM261 */ static Std_ReturnType ComM_Internal_NotifyNm( const ComM_ChannelType* ChannelConf){ ComM_Internal_ChannelType* ChannelInternal = &ComM_Internal.Channels[ChannelConf->Number]; Std_ReturnType status = E_OK; if (ChannelConf->NmVariant == COMM_NM_VARIANT_FULL) { #if defined(USE_NM) || defined(COMM_TESTS) if (ChannelInternal->Mode == COMM_FULL_COMMUNICATION) { if (ChannelInternal->SubMode == COMM_FULL_COM_NETWORK_REQUESTED) { status = Nm_NetworkRequest(ChannelConf->NmChannelHandle); /** @req COMM869.partially */ /** @req COMM870 */ } else if (ChannelInternal->SubMode == COMM_FULL_COM_READY_SLEEP) { status = Nm_NetworkRelease(ChannelConf->NmChannelHandle); /**< @req COMM133 */ } } #else status = E_NOT_OK; #endif } if (ChannelConf->NmVariant == COMM_NM_VARIANT_NONE || ChannelConf->NmVariant == COMM_NM_VARIANT_LIGHT) { if (ChannelInternal->Mode == COMM_FULL_COMMUNICATION) { if (ChannelInternal->SubMode == COMM_FULL_COM_NETWORK_REQUESTED) { /* start timer */ /* cancelling timer by restarting it */ ChannelInternal->FullComMinDurationTimeLeft = COMM_T_MIN_FULL_COM_MODE_DURATION; /** @req COMM886 */ /** @req COMM887 */ } else if (ChannelInternal->SubMode == COMM_FULL_COM_READY_SLEEP) { ChannelInternal->LightTimeoutTimeLeft = ChannelConf->LightTimeout; /** @req COMM891 */ } } } return status; }