module LibItsRtcmem_Templates { // LibCommon import from LibCommon_BasicTypesAndValues all; import from LibCommon_DataStrings all; // LibIts import from ITS_Container language "ASN.1:1997" all; import from RTCMEM_PDU_Descriptions language "ASN.1:1997" all; import from DSRC language "ASN.1:1997" all; import from IEEE1609dot2BaseTypes language "ASN.1:1997" all; // LibItsCommon import from LibItsCommon_TypesAndValues all; import from LibItsCommon_Functions all; import from LibItsCommon_ASN1_NamedNumbers all; // LibItsRtcmem import from LibItsRtcmem_TestSystem all; import from LibItsRtcmem_TypesAndValues all; import from LibItsRtcmem_Pixits all; group primitivesTemplates { /** * @desc Send template for RTCMEM Message (RtcmemPort Primitive) * @param p_rtcmemMsg The RTCMEM Message to be sent */ template (value) RtcmemReq m_rtcmemReq( in template (value) RTCMEM p_rtcmemMsg ) := { msgOut := p_rtcmemMsg } /** * @desc Receive template for RTCMEM Message (RtcmemPort Primitive) * @param p_rtcmemMsg The expected RTCMEM Message */ template (present) RtcmemInd mw_rtcmemInd( template (present) RTCMEM p_rtcmemMsg ) := { msgIn := p_rtcmemMsg, recvTime := ?, gnNextHeader := *, gnHeaderType := *, gnHeaderSubtype := *, gnLifetime := *, gnTrafficClass := *, btpDestinationPort := *, btpInfo := *, ssp := *, its_aid := * } /** * @desc Receive template for RTCMEM Message (RtcmemPort Primitive) * @param p_rtcmemMsg The expected RTCMEM Message * @param p_gnNextHeader GN next header value * @param p_gnHeaderType GN header type value * @param p_gnHeaderSubtype GN header subtype value * @param p_gnLifetime GN packet lifetime value (ms) * @param p_gnTrafficClass GN traffic class value */ template (present) RtcmemInd mw_rtcmemIndWithGnParameters( template (present) RTCMEM p_rtcmemMsg, in template UInt8 p_gnNextHeader := *, in template UInt8 p_gnHeaderType := *, in template UInt8 p_gnHeaderSubtype := *, in template UInt32 p_gnLifetime := *, in template UInt8 p_gnTrafficClass := * ) modifies mw_rtcmemInd := { gnNextHeader := p_gnNextHeader, gnHeaderType := p_gnHeaderType, gnHeaderSubtype := p_gnHeaderSubtype, gnLifetime := p_gnLifetime, gnTrafficClass := p_gnTrafficClass } /** * @desc Receive template for RTCMEM Message (RtcmemPort Primitive) * @param p_rtcmemMsg Expected RTCMEM Message * @param p_btpDestinationPort BTP destination port value * @param p_btpInfo BTP destination port info value (if BTP-B) or BTP source port value (if BTP-A) */ template (present) RtcmemInd mw_rtcmemIndWithBtpParameters( template (present) RTCMEM p_rtcmemMsg, template UInt16 p_btpDestinationPort := *, template UInt16 p_btpInfo := * ) modifies mw_rtcmemInd := { btpDestinationPort := p_btpDestinationPort, btpInfo := p_btpInfo }; /** * @desc Receive template for RTCMEM Message (RtcmemPort Primitive) * @param p_rtcmemMsg The expected RTCMEM Message * @param p_ssp SSP value * @param p_its_aid ITS-AID value */ template (present) RtcmemInd mw_rtcmemIndWithSecurityParameters( template (present) RTCMEM p_rtcmemMsg, template (present) Bit24 p_ssp := ?, template (present) UInt32 p_its_aid := ? ) modifies mw_rtcmemInd := { ssp := p_ssp, its_aid := p_its_aid } } group utPrimitives { /** * @desc Send template for Upper Tester event initialization * @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the IUT shall use */ template (value) UtRtcmemInitialize m_rtcmemInitialize( in HashedId8 p_hashedId8 := '0000000000000000'O ) := { hashedId8 := p_hashedId8 } /** * @desc Send template for Upper Tester Trigger event */ template (omit) UtRtcmemTrigger m_utTriggerEvent( in MsgCount p_msgCnt, in RTCM_Revision p_rev := rtcmRev3, in RTCMmessageList p_msgs, in template (omit) MinuteOfTheYear p_timeStamp := omit, in template (omit) FullPositionVector p_anchorPoint := omit, in template (omit) RTCMheader p_rtcmHeader := omit ) := { msgCnt := p_msgCnt, rev := p_rev, msgs := p_msgs, timeStamp := p_timeStamp, anchorPoint := p_anchorPoint, rtcmHeader := p_rtcmHeader } /** * @desc Send template for Upper Tester Trigger event */ template (omit) UtRtcmemTermination m_utTriggerTermination( in MsgCount p_msgCnt ) := { msgCnt := p_msgCnt } } group rtcmemPduTemplates { /** * @desc Send template for RTCMEM PDU * @param p_map The RTCMEM Message */ template (value) RTCMEM m_rtcmemPdu( in template (value) RTCMcorrections p_rtcmc ) := { header := m_itsPduHeader( - , - ,LibItsCommon_ASN1_NamedNumbers.ItsPduHeader_messageID_rtcmem_), rtcmc := p_rtcmc } /** * @desc Receive template for RTCMEM PDU * @param p_rtcmc The RTCMEM Message */ template (present) RTCMEM mw_rtcmemPdu( template (present) RTCMcorrections p_rtcmc := ? ) := { header := mw_itsPduHeaderRtcmem, rtcmc := p_rtcmc } } // End of group rtcmemPduTemplates group headerTemplates { /** * @desc Default send template for ITS PDU header * @param p_stationID The source station ID (Default: test system station id) * @param p_protocolVersion The protocol version (Default: current RTCMEM protocol version) * @param p_messageID The message Id (Default: RTCMEM id) */ template (value) ItsPduHeader m_itsPduHeader( in template (value) StationID p_stationID := f_getTsStationId(), in template (value) ItsPduHeader.protocolVersion p_protocolVersion := LibItsCommon_ASN1_NamedNumbers.ItsPduHeader_protocolVersion_currentVersion_, in template (value) ItsPduHeader.messageID p_messageID ) := { protocolVersion := p_protocolVersion, messageID := p_messageID, stationID := p_stationID } /** * @desc Default receive template for ITS PDU header * @param p_stationID The expected station id (Default: any) * @param p_protocolVersion The expected protocol version (Default: current RTCMEM protocol version) * @param p_messageID The expected message id (Default: RTCMEM message id) */ template ItsPduHeader mw_itsPduHeader( template (present) StationID p_stationID := ?, template (present) ItsPduHeader.protocolVersion p_protocolVersion := LibItsCommon_ASN1_NamedNumbers.ItsPduHeader_protocolVersion_currentVersion_, template (present) ItsPduHeader.messageID p_messageID := ? ) := { protocolVersion := p_protocolVersion, messageID := p_messageID, stationID := p_stationID } /** * @desc Default receive template for ITS PDU header * @param p_stationID The expected station id (Default: any) * @param p_protocolVersion The expected protocol version (Default: current RTCMEM protocol version) * @param p_messageID The expected message id (Default: SREM id) */ template ItsPduHeader mw_itsPduHeaderRtcmem( template (present) StationID p_stationID := ?, template (present) ItsPduHeader.protocolVersion p_protocolVersion := LibItsCommon_ASN1_NamedNumbers.ItsPduHeader_protocolVersion_currentVersion_, template (present) ItsPduHeader.messageID p_messageID := LibItsCommon_ASN1_NamedNumbers.ItsPduHeader_messageID_rtcmem_ ) := { protocolVersion := p_protocolVersion, messageID := p_messageID, stationID := p_stationID } /** * @desc Default receive template for the station id */ template (present) StationID mw_anyStationId := ?; } // End of group headerTemplates group rtcmemTemplatesSend { /** * @desc Receive template for RTCMEM Message */ template (value) RTCMcorrections m_defaultRtcmem( in MsgCount p_msgCnt, in RTCM_Revision p_rev := rtcmRev3, in RTCMmessageList p_msgs, in template (omit) MinuteOfTheYear p_timeStamp := omit, in template (omit) FullPositionVector p_anchorPoint := omit, in template (omit) RTCMheader p_rtcmHeader := omit ) := { msgCnt := p_msgCnt, rev := p_rev, timeStamp := p_timeStamp, anchorPoint := p_anchorPoint, rtcmHeader := p_rtcmHeader, msgs := p_msgs, regional := omit } // End of template m_defaultRtcmem } // End of group rtcmemTemplatesSend group rtcmemTemplatesRecv { /** * @desc Receive template for RTCMEM Message */ template (present) RTCMcorrections mw_defaultRtcmem := { msgCnt := ?, rev := ?, timeStamp := *, anchorPoint := *, rtcmHeader := *, msgs := ?, regional := * } } // End of group rtcmemTemplatesRecv } // End of module LibItsRtcmem_Templates