Loading ttcn/dPMR_Functions.ttcn +56 −0 Original line number Original line Diff line number Diff line Loading @@ -133,6 +133,37 @@ } // end f_handshake_Ut } // end f_handshake_Ut /** * @desc Configure Tester * @param p_msCfgParams MS config parameters * @param p_ret the return code */ function f_handshake_Ta( template TaRequest p_taRequest) runs on Mse return FncRetCode{ taPort.send(p_taRequest); tc_maxTimeCfgActRly.start; alt{ []taPort.receive(mw_taConfirm_success){ tc_maxTimeCfgActRly.stop; setverdict(pass); return e_success; } []taPort.receive(mw_taConfirm_noSuccess){ tc_maxTimeCfgActRly.stop; log("*** f_handshake_Ta: Error message received ***"); setverdict(fail); return e_error; } []tc_maxTimeCfgActRly.timeout{ log("*** f_handshake_Ta: timeout of configuration or action ***"); setverdict(fail); return e_error; } } } // end f_handshake_Ta } //end configFunctions } //end configFunctions Loading Loading @@ -379,4 +410,29 @@ group UtilityFunctions { }//end UtFunctions }//end UtFunctions group taFunctions { /** * @desc This function will put the Test Adapter in an idle mode listening to a * certain channel using the Pixit id or address * @param p_cc the colour code (the channel) */ function f_taToStandby() runs on Mse return FncRetCode { //Variables var FncRetCode v_ret := e_success; v_ret := f_handshake_Ta(m_toStandBy_taRequest( f_getChannelNrFromColourCode( vc_mse.colourCode))); return v_ret; } // end taFunctions }//end testerFunctions } // end module dPMR_Functions } // end module dPMR_Functions ttcn/dPMR_Templates.ttcn +23 −2 Original line number Original line Diff line number Diff line Loading @@ -251,7 +251,7 @@ CrcD p_crcD, CrcD p_crcD, Data p_data) := { Data p_data) := { colourCode := p_cc, colourCode := p_cc, packetDataFrameNumber := ? , packetDataFrameNumber := ? ,//todo jp validDataLength := p_validDataLen , validDataLength := p_validDataLen , reserved14bit := c_reserved14bitForT3Data , reserved14bit := c_reserved14bitForT3Data , crcForData := p_crcD, crcForData := p_crcD, Loading Loading @@ -703,7 +703,7 @@ } // end group ConfigurationTemplates } // end group ConfigurationTemplates // TODO check these complements if they are correct.... group FncRetCodeTmplts { group FncRetCodeTmplts { template FncRetCode m_success := e_success; template FncRetCode m_success := e_success; Loading @@ -721,5 +721,26 @@ observation := * observation := * } } template TaConfirm mw_taConfirm_success := { success := e_ta_success, observation := * } template TaConfirm mw_taConfirm_noSuccess := { success := e_ta_noSuccess, observation := * } group testAdapterTemplates { template TaRequest m_toStandBy_taRequest( ChannelNumber p_channelNumber ) := { channelNr := p_channelNumber, politeLvl := omit, signalLevel := omit } } } // end module dPMR_Templates } // end module dPMR_Templates ttcn/dPMR_TestCases.ttcn +2 −1 Original line number Original line Diff line number Diff line Loading @@ -1164,6 +1164,7 @@ module dPMR_TestCases { v_dftMse := activate(a_dftMse(vc_mse.colourCode, e_voice)); v_dftMse := activate(a_dftMse(vc_mse.colourCode, e_voice)); //Preamble //Preamble v_ret := f_taToStandby(); f_clientSyncAndVerdict(c_prDone, v_ret); f_clientSyncAndVerdict(c_prDone, v_ret); //Test Body //Test Body Loading ttcn/dPMR_TestSystem.ttcn +13 −0 Original line number Original line Diff line number Diff line Loading @@ -27,6 +27,7 @@ group componentDefs { type component Mse { type component Mse { port Dp1Port dp1Port ; port Dp1Port dp1Port ; port UtPort utPort; port UtPort utPort; port TaPort taPort; timer tc_ac := PXT_TAC; timer tc_ac := PXT_TAC; timer tc_noac := PXT_TNOAC; timer tc_noac := PXT_TNOAC; Loading @@ -40,6 +41,7 @@ group componentDefs { port SyncPort syncPort; port SyncPort syncPort; port SyncPort syncSendPort; port SyncPort syncSendPort; timer tc_sync := PX_TSYNC_TIME_LIMIT; timer tc_sync := PX_TSYNC_TIME_LIMIT; timer tc_maxTimeCfgActRly := PXT_MAX_TIME_CFG_ACT_RLY; } } Loading @@ -48,6 +50,7 @@ group componentDefs { port Dp1Port taDp1Port; port Dp1Port taDp1Port; // port TaDp2PortRx tadPmrCommands; // port TaDp2PortRx tadPmrCommands; port Dp1Port taUtPort ; port Dp1Port taUtPort ; port TaTaPort taTaPort; } } /** /** Loading Loading @@ -93,6 +96,16 @@ group portDefs { in UtConfirm; in UtConfirm; } } type port TaPort message{ out TaRequest; in TaConfirm; } type port TaTaPort message { inout TaRequest; inout TaConfirm; } } // end group portDefs } // end group portDefs group componentVariableDefs { group componentVariableDefs { Loading ttcn/dPMR_Types.ttcn +25 −1 Original line number Original line Diff line number Diff line Loading @@ -495,6 +495,15 @@ module dPMR_Types { UtActParams utActParams optional // Instruction for the test operator UtActParams utActParams optional // Instruction for the test operator } } type record TaRequest { ChannelNumber channelNr optional, // ChannelNr used PoliteLvl politeLvl optional, // Only needed for transmission Int8 signalLevel optional //in units of dBM //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 //voice } /** /** * * Loading @@ -517,6 +526,21 @@ module dPMR_Types { e_noChangeObserved e_noChangeObserved } } /** * * @desc A generic response which is returned for all upper test requests. * */ type record TaConfirm { TA_Success success, Observation observation optional } type enumerated TA_Success { e_ta_success, e_ta_noSuccess } /** /** * @desc Collection of commands to be executed by test operator * @desc Collection of commands to be executed by test operator */ */ Loading Loading
ttcn/dPMR_Functions.ttcn +56 −0 Original line number Original line Diff line number Diff line Loading @@ -133,6 +133,37 @@ } // end f_handshake_Ut } // end f_handshake_Ut /** * @desc Configure Tester * @param p_msCfgParams MS config parameters * @param p_ret the return code */ function f_handshake_Ta( template TaRequest p_taRequest) runs on Mse return FncRetCode{ taPort.send(p_taRequest); tc_maxTimeCfgActRly.start; alt{ []taPort.receive(mw_taConfirm_success){ tc_maxTimeCfgActRly.stop; setverdict(pass); return e_success; } []taPort.receive(mw_taConfirm_noSuccess){ tc_maxTimeCfgActRly.stop; log("*** f_handshake_Ta: Error message received ***"); setverdict(fail); return e_error; } []tc_maxTimeCfgActRly.timeout{ log("*** f_handshake_Ta: timeout of configuration or action ***"); setverdict(fail); return e_error; } } } // end f_handshake_Ta } //end configFunctions } //end configFunctions Loading Loading @@ -379,4 +410,29 @@ group UtilityFunctions { }//end UtFunctions }//end UtFunctions group taFunctions { /** * @desc This function will put the Test Adapter in an idle mode listening to a * certain channel using the Pixit id or address * @param p_cc the colour code (the channel) */ function f_taToStandby() runs on Mse return FncRetCode { //Variables var FncRetCode v_ret := e_success; v_ret := f_handshake_Ta(m_toStandBy_taRequest( f_getChannelNrFromColourCode( vc_mse.colourCode))); return v_ret; } // end taFunctions }//end testerFunctions } // end module dPMR_Functions } // end module dPMR_Functions
ttcn/dPMR_Templates.ttcn +23 −2 Original line number Original line Diff line number Diff line Loading @@ -251,7 +251,7 @@ CrcD p_crcD, CrcD p_crcD, Data p_data) := { Data p_data) := { colourCode := p_cc, colourCode := p_cc, packetDataFrameNumber := ? , packetDataFrameNumber := ? ,//todo jp validDataLength := p_validDataLen , validDataLength := p_validDataLen , reserved14bit := c_reserved14bitForT3Data , reserved14bit := c_reserved14bitForT3Data , crcForData := p_crcD, crcForData := p_crcD, Loading Loading @@ -703,7 +703,7 @@ } // end group ConfigurationTemplates } // end group ConfigurationTemplates // TODO check these complements if they are correct.... group FncRetCodeTmplts { group FncRetCodeTmplts { template FncRetCode m_success := e_success; template FncRetCode m_success := e_success; Loading @@ -721,5 +721,26 @@ observation := * observation := * } } template TaConfirm mw_taConfirm_success := { success := e_ta_success, observation := * } template TaConfirm mw_taConfirm_noSuccess := { success := e_ta_noSuccess, observation := * } group testAdapterTemplates { template TaRequest m_toStandBy_taRequest( ChannelNumber p_channelNumber ) := { channelNr := p_channelNumber, politeLvl := omit, signalLevel := omit } } } // end module dPMR_Templates } // end module dPMR_Templates
ttcn/dPMR_TestCases.ttcn +2 −1 Original line number Original line Diff line number Diff line Loading @@ -1164,6 +1164,7 @@ module dPMR_TestCases { v_dftMse := activate(a_dftMse(vc_mse.colourCode, e_voice)); v_dftMse := activate(a_dftMse(vc_mse.colourCode, e_voice)); //Preamble //Preamble v_ret := f_taToStandby(); f_clientSyncAndVerdict(c_prDone, v_ret); f_clientSyncAndVerdict(c_prDone, v_ret); //Test Body //Test Body Loading
ttcn/dPMR_TestSystem.ttcn +13 −0 Original line number Original line Diff line number Diff line Loading @@ -27,6 +27,7 @@ group componentDefs { type component Mse { type component Mse { port Dp1Port dp1Port ; port Dp1Port dp1Port ; port UtPort utPort; port UtPort utPort; port TaPort taPort; timer tc_ac := PXT_TAC; timer tc_ac := PXT_TAC; timer tc_noac := PXT_TNOAC; timer tc_noac := PXT_TNOAC; Loading @@ -40,6 +41,7 @@ group componentDefs { port SyncPort syncPort; port SyncPort syncPort; port SyncPort syncSendPort; port SyncPort syncSendPort; timer tc_sync := PX_TSYNC_TIME_LIMIT; timer tc_sync := PX_TSYNC_TIME_LIMIT; timer tc_maxTimeCfgActRly := PXT_MAX_TIME_CFG_ACT_RLY; } } Loading @@ -48,6 +50,7 @@ group componentDefs { port Dp1Port taDp1Port; port Dp1Port taDp1Port; // port TaDp2PortRx tadPmrCommands; // port TaDp2PortRx tadPmrCommands; port Dp1Port taUtPort ; port Dp1Port taUtPort ; port TaTaPort taTaPort; } } /** /** Loading Loading @@ -93,6 +96,16 @@ group portDefs { in UtConfirm; in UtConfirm; } } type port TaPort message{ out TaRequest; in TaConfirm; } type port TaTaPort message { inout TaRequest; inout TaConfirm; } } // end group portDefs } // end group portDefs group componentVariableDefs { group componentVariableDefs { Loading
ttcn/dPMR_Types.ttcn +25 −1 Original line number Original line Diff line number Diff line Loading @@ -495,6 +495,15 @@ module dPMR_Types { UtActParams utActParams optional // Instruction for the test operator UtActParams utActParams optional // Instruction for the test operator } } type record TaRequest { ChannelNumber channelNr optional, // ChannelNr used PoliteLvl politeLvl optional, // Only needed for transmission Int8 signalLevel optional //in units of dBM //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 //voice } /** /** * * Loading @@ -517,6 +526,21 @@ module dPMR_Types { e_noChangeObserved e_noChangeObserved } } /** * * @desc A generic response which is returned for all upper test requests. * */ type record TaConfirm { TA_Success success, Observation observation optional } type enumerated TA_Success { e_ta_success, e_ta_noSuccess } /** /** * @desc Collection of commands to be executed by test operator * @desc Collection of commands to be executed by test operator */ */ Loading