Commit e2606cb9 authored by petersenj's avatar petersenj
Browse files

implemented TC_PMR_1004_01

parent e3cb238c
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -377,8 +377,28 @@ group UtilityFunctions {
			}
		}
        
		/*
		* @desc f_getWrongColourCode returns wrong colourcode i.e. != inparam
		*
		* @param ColourCode
		*/
		function f_getWrongColourCode(ColourCode p_cc) return ColourCode {
			var ColourCode v_retcc;
			if (PIC_ISF_OR_CSF == e_isf) {
				if (p_cc.isfColourCode != c_grpAcf1) {
					v_retcc.isfColourCode :=c_grpAcf1;
				}
			} else {
				if (p_cc.csfColourCode != c_grpBcf1) { 
					v_retcc.csfColourCode :=c_grpBcf1;
				}
			}
			return v_retcc;
		}
	
	} //end UtilityFunctions


	group UtFunctions {

			/**
+17 −1
Original line number Diff line number Diff line
@@ -736,9 +736,25 @@
													 ) := {
	  		channelNr :=  p_channelNumber,
			politeLvl  := omit,
			signalLevel := omit
			signalLevel := omit,
			colourCode  := omit,
			taActParams := e_taStandby
		}

		template TaRequest m_interfereOnWrongCC(ChannelNumber p_channelNumber,
												Int8   p_signalLevel,
												ColourCode	  p_cc,
												TaActParams	  p_taAction) := {
	  		channelNr :=  p_channelNumber,
			politeLvl  := omit,
			signalLevel := p_signalLevel,
			colourCode  := p_cc,
			taActParams := p_taAction
		}



	 
	}


+60 −1
Original line number Diff line number Diff line
@@ -125,7 +125,7 @@ module dPMR_TestCases {
				f_cfMseUp(v_mse, v_ut);

				//Test body  
//				v_mse.start(f_TC_transmitOnWrongCCAndReceiveVoice_MS01()); // TODO TODO implement!!!
				v_mse.start(f_TC_transmitOnWrongCCAndReceiveVoice_MS01()); // TODO TODO implement!!!
				if (PIC_ISF_OR_CSF == e_isf) {
					v_ut.start(f_TC_msAction_UT(e_politeToOwnCC, m_commandISFCSF_utRequest( 	omit , 
																			c_defaultCommonId,
@@ -2981,6 +2981,65 @@ module dPMR_TestCases {

		} // end function f_TC_voiceTx_MS01

		/**
		* @desc	Check that a voice transmission from the MS (IUT) consists of a Header Frame, a list of
		*       Super Frames, and an End Frame, TA shall emmit on voice -102dBm and on WRONG colour code
		*/
		function f_TC_transmitOnWrongCCAndReceiveVoice_MS01 (  )
		runs on Mse{
			// Variables
			var FncRetCode v_ret := e_success;
			var UInt16 v_sfCount := 0;
			var default v_defvar;

			//Test System Parameters
			f_initMse();
	
			//Default
			v_defvar := activate(a_dftMse(vc_mse.colourCode, e_voice));

			//Preamble
			
			v_ret := f_handshake_Ta(m_interfereOnWrongCC(
										f_getChannelNrFromColourCode(
											vc_mse.colourCode), c_102dBm, f_getWrongColourCode(vc_mse.colourCode),e_continousVoiceOnChannelWithWrongCC ));
			f_clientSyncAndVerdict(c_prDone, v_ret);

			//Test Body
			tc_ac.start ;
			alt {
			[] dp1Port.receive(	m_voiceorT1orT2PayloadTransmission(
									m_headerFrame(
										mw_headerInformationTx(
											vc_mse.testerId, 
											vc_mse.iutId, 
											e_voice, 
											e_p2p),
					                       vc_mse.colourCode),
									mw_superFrameList_OneOrManyElem(
										m_superFrame(
											mw_frame1Voice(vc_mse.testerIdUP ),
				            	       		mw_frame2Voice(vc_mse.testerIdLP, vc_mse.colourCode),
											mw_frame3Voice(vc_mse.iutIdUP),
											mw_frame4Voice(vc_mse.iutIdLP,vc_mse.colourCode))),
									m_endFrame(mw_endInformation(e_noAckReq)))) 
 				{
					// received correctly
					tc_ac.stop ;
					setverdict(pass);
				}
			[] tc_ac.timeout
			  	{
					log("**** f_TC_voiceTx_MS01: Timeout: TC Timer expiration before reception of complete Voice transmission ****");
					setverdict(fail);	
				}
			} // end alt
			f_clientSyncAndVerdict(c_tbDone, v_ret);

			deactivate;

		} // end function f_TC_voiceTx_MS01

		/**
		* @desc	Check that a voice transmission from the MS (IUT) consists of a Header Frame, a list of
		*       Super Frames, and an End Frame,
+2 −0
Original line number Diff line number Diff line
@@ -29,6 +29,8 @@ module dPMR_TestExecution {

		// 	group ChannelAccess  { // Clause 5.1.2

			if (PIC_MS_POLITE_OWN_CC) {execute(TC_PMR_1004_01() );}
				
		//}
		//	group Framing {// Clause 5.1.3
			if (PIC_CSF_VOICE_SUPPORT or PIC_ISF_VOICE_SUPPORT) {execute(TC_PMR_0401_01() );}
+11 −1
Original line number Diff line number Diff line
@@ -498,7 +498,10 @@ module dPMR_Types {
		type record TaRequest {
			ChannelNumber	channelNr	optional,  	// ChannelNr used
			PoliteLvl   	politeLvl 	optional,  	// Only needed for transmission
			Int8 			signalLevel optional    //in units of dBM
			Int8 			signalLevel optional,   // in units of dBM
			ColourCode		colourCode	optional,	// set the colourcode
			TaActParams		taActParams optional	// Instruction for the test adapter

			//only for CSF special instruction to test adpter to create and execute voice alls in addition to the voice calls controlled by TTCN
			// testerAddress
			//iutId , msAddress
@@ -540,6 +543,13 @@ module dPMR_Types {
			e_ta_success,
			e_ta_noSuccess
		}
		/**
		*  @desc Collection of commands to be executed by test adapter
		*/
		type enumerated TaActParams {
			e_taStandby (0), 				//Please use default values...
			e_continousVoiceOnChannelWithWrongCC (1) // send cont voice on channel, with wrong cc
		}

		/**
		*  @desc Collection of commands to be executed by test operator
Loading