Loading ttcn/dPMR_Functions.ttcn +15 −0 Original line number Diff line number Diff line Loading @@ -48,5 +48,20 @@ return e_error; } // end f_msConfig_Ut // group UtilityFunctions { // function f_calledId2Upper(CalledId p_calledId) return CalledIdUP { // return p_calledId & 'FFF000'H; // } // function f_calledId2Lower(CalledId p_calledId) return CalledIdLP { // return p_calledId << 12; // } // function f_ownId2Upper(CalledId p_ownId) return OwnIdUP { // return p_ownId & 'FFF000'H; // } // function f_ownId2Lower(CalledId p_ownId) return OwnIdLP { // return p_ownId << 12; // } // // } // end UtilityFunctions } // end module dPMR_Functions ttcn/dPMR_Messages.ttcn +1 −1 Original line number Diff line number Diff line Loading @@ -123,7 +123,7 @@ group TransmissionSequences { type record PayloadContTransmission { HeaderFrame headerFrame, SuperFrameList sfLlist, SuperFrameList sfList, EndFrame endFrame } Loading ttcn/dPMR_Pixits.ttcn +9 −3 Original line number Diff line number Diff line Loading @@ -21,14 +21,20 @@ module dPMR_Pixits { modulepar {CSFColourcode PXT_SELECTED_CSF_COLOURCODE } // @desc: Voice Test Tone for frame 1, 2, 3 and 4, must be chosen // They consist each of 4x72 bits of data, =288 bits modulepar {Payload PXT_VOICE_TEST_TONE_F1} modulepar {Payload PXT_VOICE_TEST_TONE_F2} modulepar {Payload PXT_VOICE_TEST_TONE_F3} modulepar {Payload PXT_VOICE_TEST_TONE_F4} // @desc: Value of IUT Address modulepar {CalledId PXT_CALLED_ID := '111111110000000000000000'B} modulepar {CalledId PXT_CALLED_ID} //:= {isfAddress := {commonID := '11111111'B, fixedPart := '0000000000000000'B}}} // @desc: Value of Tester Address modulepar {OwnId PXT_OWN_ID := '111111110000000000000001'B} modulepar {OwnId PXT_OWN_ID } //:= '111111110000000000000001'B} // @desc: Max Time of IUT sending back response of configuration/action's func/msg Loading ttcn/dPMR_Templates.ttcn +182 −5 Original line number Diff line number Diff line Loading @@ -18,6 +18,79 @@ // import from dPMR_Pixits all; import from dPMR_Types all; import from dPMR_Values all; // import from dPMR_Functions all; template PayloadContTransmission m_payloadContTransmission ( template HeaderFrame p_headerFrame , template SuperFrameList p_superFrameList , template EndFrame p_endFrame ) := { headerFrame := p_headerFrame , sfList := p_superFrameList, endFrame := p_endFrame } template SuperFrameList m_superFrameListWith4Frames ( template SuperFrame p_superFrame) := { p_superFrame,p_superFrame,p_superFrame,p_superFrame //,m_superFrame,m_superFrame,m_superFrame } template SuperFrame m_superFrame ( template Frame1 m_frame1, template Frame2 m_frame2, template Frame3 m_frame3, template Frame4 m_frame4 ) := { frame1 := m_frame1, frame2 := m_frame2, frame3 := m_frame3, frame4 := m_frame4 } template Frame1 m_frame1AudibleTestTone ( CalledId p_calledID, Payload p_payload) := { frameSync := c_fs2, frameNumber := e_frame1, calledIdUP := f_calledId2Upper(p_calledID),// & 'FFF000'H, communicationsMode := e_voice, commsFormat := e_callAll, // This might be incorrect reserved2bit := c_reserved2bits, slowData := c_slowDataInVoiceEmpty, payload := p_payload } template Frame2 m_frame2AudibleTestTone ( CalledId p_calledID, Payload p_payload, ColourCode p_cc) := { colourCode := p_cc, frameNumber := e_frame2, calledIdLP := f_calledId2Lower(p_calledID), communicationsMode := e_voice, commsFormat := e_callAll, // This might be incorrect reserved2bit := c_reserved2bits, slowData := c_slowDataInVoiceEmpty, payload := p_payload } template Frame3 m_frame3AudibleTestTone ( OwnId p_ownID, Payload p_payload) := { frameSync := c_fs2, frameNumber := e_frame3, ownIdUP := f_ownId2Upper(p_ownID), communicationsMode := e_voice, commsFormat := e_callAll, // This might be incorrect reserved2bit := c_reserved2bits, slowData := c_slowDataInVoiceEmpty, payload := p_payload } template Frame4 m_frame4AudibleTestTone ( OwnId p_ownID, Payload p_payload, ColourCode p_cc) := { colourCode := p_cc, frameNumber := e_frame4, ownIdLP := f_ownId2Lower(p_ownID), communicationsMode := e_voice, commsFormat := e_callAll, // This might be incorrect reserved2bit := c_reserved2bits, slowData := c_slowDataInVoiceEmpty, payload := p_payload } template CallOrSrvReq m_callOrSrvReq( template HeaderFrame p_headerFrame , Loading Loading @@ -46,8 +119,17 @@ preamble := c_preamble, frameSync1 := c_fs1, headerInformation0 := p_headerInformation, headerInformation1 := p_headerInformation, colourCode := p_cc colourCode := p_cc, headerInformation1 := p_headerInformation }// end m_headerFrameConnectReq template HeaderFrame m_headerFrame (in template HeaderInformation p_headerInformation, ColourCode p_cc) := { preamble := c_preamble, frameSync1 := c_fs1, headerInformation0 := p_headerInformation, colourCode := p_cc, headerInformation1 := p_headerInformation }// end m_headerFrameConnectReq template EndInformation m_endInformation := { Loading Loading @@ -75,8 +157,103 @@ preamble := c_preamble, frameSync1 := c_fs1, headerInformation0 := p_headerInformation, headerInformation1 := p_headerInformation, colourCode := p_cc colourCode := p_cc, headerInformation1 := p_headerInformation } group UtilityFunctions { function f_calledId2Upper(CalledId p_calledId) return CalledIdUP { //var CalledIdUP p_tmp := CalledIdUP(p_calledId & 'FFF000'H); var CalledId t1 := p_calledId; var MSAddress t2 := p_calledId; var ISFAddress t3 := t2.isfAddress; var Common_ID t4 := t3.common_ID var FixedPart t5 := t3.fixedPart; var CalledIdUP retval; var CalledIdUP tmp; retval := '000000000000'B; retval := retval or4b t4; tmp := t5 and4b '1111000000000000'B; tmp := tmp >> 12; retval := retval or4b tmp; return retval; // nn := p_calledId; // oo := nn and4b 'FFF000'H; // return oo; } function f_calledId2Lower(CalledId p_calledId) return CalledIdLP { var CalledId t1 := p_calledId; var MSAddress t2 := p_calledId; var ISFAddress t3 := t2.isfAddress; var Common_ID t4 := t3.common_ID var FixedPart t5 := t3.fixedPart; var CalledIdUP retval; var CalledIdUP tmp; retval := '000000000000'B; retval := retval or4b t4; tmp := t5 and4b '1111000000000000'B; tmp := tmp >> 12; retval := retval or4b tmp; return retval; } function f_ownId2Upper(OwnId p_ownId) return OwnIdUP { var OwnId t1 := p_ownId; var MSAddress t2 := p_ownId; var ISFAddress t3 := t2.isfAddress; var Common_ID t4 := t3.common_ID var FixedPart t5 := t3.fixedPart; var CalledIdUP retval; var CalledIdUP tmp; retval := '000000000000'B; retval := retval or4b t4; tmp := t5 and4b '1111000000000000'B; tmp := tmp >> 12; retval := retval or4b tmp; return retval; } function f_ownId2Lower(OwnId p_ownId) return OwnIdLP { var OwnId t1 := p_ownId; var MSAddress t2 := p_ownId; var ISFAddress t3 := t2.isfAddress; var Common_ID t4 := t3.common_ID var FixedPart t5 := t3.fixedPart; var CalledIdUP retval; var CalledIdUP tmp; retval := '000000000000'B; retval := retval or4b t4; tmp := t5 and4b '1111000000000000'B; tmp := tmp >> 12; retval := retval or4b tmp; return retval; } } } // end module dPMR_Templates No newline at end of file ttcn/dPMR_TestCases.ttcn +55 −1 Original line number Diff line number Diff line Loading @@ -35,6 +35,10 @@ group IsfCsfCommon { testcase TC_PMR_0824_01(ColourCode p_cc, MSAddress p_ms_address) // The Common ID is User Selectable! // Here it should be > 0 && < 255 // fixed part shall be '1111111111111111' // Note also that this is NOT for CSF since // the address of CSF is in a different range // (Wrong in TP?) runs on ServerSyncComp system TestAdapter { Loading @@ -46,7 +50,7 @@ group IsfCsfCommon { f_cfSimuUp(v_simu, v_ut); //Test body // v_simu.start(f_msVoiceTransmissionCommon_ID_set_255(p_cc)); v_simu.start(f_msVoiceTransmissionCommon_ID_set_to_255(p_cc)); // v_ut.start(f_TC_IutToStandby_withCommon_ID_Ut(p_cc,p_ms_address)); // where to set the ,p_ms_address????? // synchronize both PTCs Loading @@ -56,6 +60,56 @@ group IsfCsfCommon { f_cfSimuDown(v_simu, v_ut); } // end TC_PMR_0824_01 function f_msVoiceTransmissionCommon_ID_set_to_255(ColourCode p_cc) runs on Simu { // Variables var FncRetCode v_ret := e_success; //Default activate(a_dftSimu()); //Preamble f_clientSyncAndVerdict(c_prDone, v_ret); //Test Body tc_ac.start ; dp1Port.send( m_payloadContTransmission( m_headerFrame( m_headerInformation(c_calledID_set_to_255, PXT_OWN_ID, e_voice, e_p2p), p_cc), m_superFrameListWith4Frames( m_superFrame( m_frame1AudibleTestTone(c_calledID_set_to_255,PXT_VOICE_TEST_TONE_F1), m_frame2AudibleTestTone(c_calledID_set_to_255,PXT_VOICE_TEST_TONE_F2,p_cc), m_frame3AudibleTestTone(PXT_OWN_ID,PXT_VOICE_TEST_TONE_F3), m_frame4AudibleTestTone(PXT_OWN_ID,PXT_VOICE_TEST_TONE_F4,p_cc) ) ), m_endFrameConnectReq) ); alt { [] dp1Port.receive(mw_acknowledgementAckOnConnectReq( m_headerInformation(PXT_OWN_ID, PXT_CALLED_ID, e_voice, e_p2p), p_cc) ) { setverdict(pass); } [] tc_ac.timeout { log("**** TC_PMR_0406_01: TC Timer expiration before reception of Acknowledgement ****"); setverdict(fail); } } // end alt //no Postamble deactivate; } // end f_msVoiceTransmissionCommon_ID_set_to_255 } // end group AllCall group Framing { Loading Loading
ttcn/dPMR_Functions.ttcn +15 −0 Original line number Diff line number Diff line Loading @@ -48,5 +48,20 @@ return e_error; } // end f_msConfig_Ut // group UtilityFunctions { // function f_calledId2Upper(CalledId p_calledId) return CalledIdUP { // return p_calledId & 'FFF000'H; // } // function f_calledId2Lower(CalledId p_calledId) return CalledIdLP { // return p_calledId << 12; // } // function f_ownId2Upper(CalledId p_ownId) return OwnIdUP { // return p_ownId & 'FFF000'H; // } // function f_ownId2Lower(CalledId p_ownId) return OwnIdLP { // return p_ownId << 12; // } // // } // end UtilityFunctions } // end module dPMR_Functions
ttcn/dPMR_Messages.ttcn +1 −1 Original line number Diff line number Diff line Loading @@ -123,7 +123,7 @@ group TransmissionSequences { type record PayloadContTransmission { HeaderFrame headerFrame, SuperFrameList sfLlist, SuperFrameList sfList, EndFrame endFrame } Loading
ttcn/dPMR_Pixits.ttcn +9 −3 Original line number Diff line number Diff line Loading @@ -21,14 +21,20 @@ module dPMR_Pixits { modulepar {CSFColourcode PXT_SELECTED_CSF_COLOURCODE } // @desc: Voice Test Tone for frame 1, 2, 3 and 4, must be chosen // They consist each of 4x72 bits of data, =288 bits modulepar {Payload PXT_VOICE_TEST_TONE_F1} modulepar {Payload PXT_VOICE_TEST_TONE_F2} modulepar {Payload PXT_VOICE_TEST_TONE_F3} modulepar {Payload PXT_VOICE_TEST_TONE_F4} // @desc: Value of IUT Address modulepar {CalledId PXT_CALLED_ID := '111111110000000000000000'B} modulepar {CalledId PXT_CALLED_ID} //:= {isfAddress := {commonID := '11111111'B, fixedPart := '0000000000000000'B}}} // @desc: Value of Tester Address modulepar {OwnId PXT_OWN_ID := '111111110000000000000001'B} modulepar {OwnId PXT_OWN_ID } //:= '111111110000000000000001'B} // @desc: Max Time of IUT sending back response of configuration/action's func/msg Loading
ttcn/dPMR_Templates.ttcn +182 −5 Original line number Diff line number Diff line Loading @@ -18,6 +18,79 @@ // import from dPMR_Pixits all; import from dPMR_Types all; import from dPMR_Values all; // import from dPMR_Functions all; template PayloadContTransmission m_payloadContTransmission ( template HeaderFrame p_headerFrame , template SuperFrameList p_superFrameList , template EndFrame p_endFrame ) := { headerFrame := p_headerFrame , sfList := p_superFrameList, endFrame := p_endFrame } template SuperFrameList m_superFrameListWith4Frames ( template SuperFrame p_superFrame) := { p_superFrame,p_superFrame,p_superFrame,p_superFrame //,m_superFrame,m_superFrame,m_superFrame } template SuperFrame m_superFrame ( template Frame1 m_frame1, template Frame2 m_frame2, template Frame3 m_frame3, template Frame4 m_frame4 ) := { frame1 := m_frame1, frame2 := m_frame2, frame3 := m_frame3, frame4 := m_frame4 } template Frame1 m_frame1AudibleTestTone ( CalledId p_calledID, Payload p_payload) := { frameSync := c_fs2, frameNumber := e_frame1, calledIdUP := f_calledId2Upper(p_calledID),// & 'FFF000'H, communicationsMode := e_voice, commsFormat := e_callAll, // This might be incorrect reserved2bit := c_reserved2bits, slowData := c_slowDataInVoiceEmpty, payload := p_payload } template Frame2 m_frame2AudibleTestTone ( CalledId p_calledID, Payload p_payload, ColourCode p_cc) := { colourCode := p_cc, frameNumber := e_frame2, calledIdLP := f_calledId2Lower(p_calledID), communicationsMode := e_voice, commsFormat := e_callAll, // This might be incorrect reserved2bit := c_reserved2bits, slowData := c_slowDataInVoiceEmpty, payload := p_payload } template Frame3 m_frame3AudibleTestTone ( OwnId p_ownID, Payload p_payload) := { frameSync := c_fs2, frameNumber := e_frame3, ownIdUP := f_ownId2Upper(p_ownID), communicationsMode := e_voice, commsFormat := e_callAll, // This might be incorrect reserved2bit := c_reserved2bits, slowData := c_slowDataInVoiceEmpty, payload := p_payload } template Frame4 m_frame4AudibleTestTone ( OwnId p_ownID, Payload p_payload, ColourCode p_cc) := { colourCode := p_cc, frameNumber := e_frame4, ownIdLP := f_ownId2Lower(p_ownID), communicationsMode := e_voice, commsFormat := e_callAll, // This might be incorrect reserved2bit := c_reserved2bits, slowData := c_slowDataInVoiceEmpty, payload := p_payload } template CallOrSrvReq m_callOrSrvReq( template HeaderFrame p_headerFrame , Loading Loading @@ -46,8 +119,17 @@ preamble := c_preamble, frameSync1 := c_fs1, headerInformation0 := p_headerInformation, headerInformation1 := p_headerInformation, colourCode := p_cc colourCode := p_cc, headerInformation1 := p_headerInformation }// end m_headerFrameConnectReq template HeaderFrame m_headerFrame (in template HeaderInformation p_headerInformation, ColourCode p_cc) := { preamble := c_preamble, frameSync1 := c_fs1, headerInformation0 := p_headerInformation, colourCode := p_cc, headerInformation1 := p_headerInformation }// end m_headerFrameConnectReq template EndInformation m_endInformation := { Loading Loading @@ -75,8 +157,103 @@ preamble := c_preamble, frameSync1 := c_fs1, headerInformation0 := p_headerInformation, headerInformation1 := p_headerInformation, colourCode := p_cc colourCode := p_cc, headerInformation1 := p_headerInformation } group UtilityFunctions { function f_calledId2Upper(CalledId p_calledId) return CalledIdUP { //var CalledIdUP p_tmp := CalledIdUP(p_calledId & 'FFF000'H); var CalledId t1 := p_calledId; var MSAddress t2 := p_calledId; var ISFAddress t3 := t2.isfAddress; var Common_ID t4 := t3.common_ID var FixedPart t5 := t3.fixedPart; var CalledIdUP retval; var CalledIdUP tmp; retval := '000000000000'B; retval := retval or4b t4; tmp := t5 and4b '1111000000000000'B; tmp := tmp >> 12; retval := retval or4b tmp; return retval; // nn := p_calledId; // oo := nn and4b 'FFF000'H; // return oo; } function f_calledId2Lower(CalledId p_calledId) return CalledIdLP { var CalledId t1 := p_calledId; var MSAddress t2 := p_calledId; var ISFAddress t3 := t2.isfAddress; var Common_ID t4 := t3.common_ID var FixedPart t5 := t3.fixedPart; var CalledIdUP retval; var CalledIdUP tmp; retval := '000000000000'B; retval := retval or4b t4; tmp := t5 and4b '1111000000000000'B; tmp := tmp >> 12; retval := retval or4b tmp; return retval; } function f_ownId2Upper(OwnId p_ownId) return OwnIdUP { var OwnId t1 := p_ownId; var MSAddress t2 := p_ownId; var ISFAddress t3 := t2.isfAddress; var Common_ID t4 := t3.common_ID var FixedPart t5 := t3.fixedPart; var CalledIdUP retval; var CalledIdUP tmp; retval := '000000000000'B; retval := retval or4b t4; tmp := t5 and4b '1111000000000000'B; tmp := tmp >> 12; retval := retval or4b tmp; return retval; } function f_ownId2Lower(OwnId p_ownId) return OwnIdLP { var OwnId t1 := p_ownId; var MSAddress t2 := p_ownId; var ISFAddress t3 := t2.isfAddress; var Common_ID t4 := t3.common_ID var FixedPart t5 := t3.fixedPart; var CalledIdUP retval; var CalledIdUP tmp; retval := '000000000000'B; retval := retval or4b t4; tmp := t5 and4b '1111000000000000'B; tmp := tmp >> 12; retval := retval or4b tmp; return retval; } } } // end module dPMR_Templates No newline at end of file
ttcn/dPMR_TestCases.ttcn +55 −1 Original line number Diff line number Diff line Loading @@ -35,6 +35,10 @@ group IsfCsfCommon { testcase TC_PMR_0824_01(ColourCode p_cc, MSAddress p_ms_address) // The Common ID is User Selectable! // Here it should be > 0 && < 255 // fixed part shall be '1111111111111111' // Note also that this is NOT for CSF since // the address of CSF is in a different range // (Wrong in TP?) runs on ServerSyncComp system TestAdapter { Loading @@ -46,7 +50,7 @@ group IsfCsfCommon { f_cfSimuUp(v_simu, v_ut); //Test body // v_simu.start(f_msVoiceTransmissionCommon_ID_set_255(p_cc)); v_simu.start(f_msVoiceTransmissionCommon_ID_set_to_255(p_cc)); // v_ut.start(f_TC_IutToStandby_withCommon_ID_Ut(p_cc,p_ms_address)); // where to set the ,p_ms_address????? // synchronize both PTCs Loading @@ -56,6 +60,56 @@ group IsfCsfCommon { f_cfSimuDown(v_simu, v_ut); } // end TC_PMR_0824_01 function f_msVoiceTransmissionCommon_ID_set_to_255(ColourCode p_cc) runs on Simu { // Variables var FncRetCode v_ret := e_success; //Default activate(a_dftSimu()); //Preamble f_clientSyncAndVerdict(c_prDone, v_ret); //Test Body tc_ac.start ; dp1Port.send( m_payloadContTransmission( m_headerFrame( m_headerInformation(c_calledID_set_to_255, PXT_OWN_ID, e_voice, e_p2p), p_cc), m_superFrameListWith4Frames( m_superFrame( m_frame1AudibleTestTone(c_calledID_set_to_255,PXT_VOICE_TEST_TONE_F1), m_frame2AudibleTestTone(c_calledID_set_to_255,PXT_VOICE_TEST_TONE_F2,p_cc), m_frame3AudibleTestTone(PXT_OWN_ID,PXT_VOICE_TEST_TONE_F3), m_frame4AudibleTestTone(PXT_OWN_ID,PXT_VOICE_TEST_TONE_F4,p_cc) ) ), m_endFrameConnectReq) ); alt { [] dp1Port.receive(mw_acknowledgementAckOnConnectReq( m_headerInformation(PXT_OWN_ID, PXT_CALLED_ID, e_voice, e_p2p), p_cc) ) { setverdict(pass); } [] tc_ac.timeout { log("**** TC_PMR_0406_01: TC Timer expiration before reception of Acknowledgement ****"); setverdict(fail); } } // end alt //no Postamble deactivate; } // end f_msVoiceTransmissionCommon_ID_set_to_255 } // end group AllCall group Framing { Loading