Commit 9720c500 authored by tepelmann's avatar tepelmann
Browse files

Introduction of GN parameters for checking.

Further correction of msgSubID.
parent 8a7f7d9e
Loading
Loading
Loading
Loading
+88 −7
Original line number Diff line number Diff line
@@ -7,6 +7,9 @@
 */
module LibItsMapSpat_Templates {

    // LibCommon
    import from LibCommon_BasicTypesAndValues all;
    
    // LibIts
    import from LibItsCommon_Functions all;
    import from LibItsCommon_TypesAndValues all;
@@ -25,25 +28,103 @@ module LibItsMapSpat_Templates {
         * @desc    Send template for MAP Message (MapSpatPort Primitive)
         * @param   p_mapMsg    The MAP Message to be sent
         */
        template (value) MapReq m_mapReq ( template (value) MAP_PDU p_mapMsg ) := {  msgOut := p_mapMsg }
        template (value) MapReq m_mapReq (
            template (value) MAP_PDU p_mapMsg
        ) := {
            msgOut := p_mapMsg
        }
        
        /**
         * @desc    Receive template for MAP Message (MapSpatPort Primitive)
         * @param   p_mapMsg    The expected MAP Message
         */
        template (present) MapInd mw_mapInd ( template (present) MapMsg p_mapMsg ) := { msgIn := p_mapMsg }
        template (present) MapInd mw_mapInd (
            template (present) MapMsg p_mapMsg
        ) := {
            msgIn := p_mapMsg,
            gnNextHeader := *,
            gnHeaderType := *,
            gnHeaderSubtype := *,
            gnLifetime := *,
            gnTrafficClass := *,
            btpDestinationPort := *,
            btpInfo := * 
        }
        
        /**
         * @desc    Receive template for MAP Message (MapSpatPort Primitive)
         * @param   p_mapMsg            The expected MAP 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) MapInd mw_mapIndWithGnParameters (
            template (present) MapMsg p_mapMsg,
            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_mapInd := { 
            gnNextHeader := p_gnNextHeader,
            gnHeaderType := p_gnHeaderType,
            gnHeaderSubtype := p_gnHeaderSubtype,
            gnLifetime := p_gnLifetime,
            gnTrafficClass := p_gnTrafficClass
        }
        
        /**
         * @desc    Send template for SPAT Message (MapSpatPort Primitive)
         * @param   p_mapMsg    The SPAT Message to be sent
         */
        template (value) SpatReq m_spatReq ( template (value) SPAT_PDU p_spatMsg ) := { msgOut := p_spatMsg }
        template (value) SpatReq m_spatReq (
            template (value) SPAT_PDU p_spatMsg
        ) := {
            msgOut := p_spatMsg
        }
        
        /**
         * @desc    Receive template for SPAT Message (MapSpatPort Primitive)
         * @param   p_mapMsg    The expected SPAT Message
         */
       template (present) SpatInd mw_spatInd ( template (present) SpatMsg p_spatMsg ) := { msgIn := p_spatMsg };
        template (present) SpatInd mw_spatInd (
            template (present) SpatMsg p_spatMsg
        ) := {
            msgIn := p_spatMsg,
            gnNextHeader := *,
            gnHeaderType := *,
            gnHeaderSubtype := *,
            gnLifetime := *,
            gnTrafficClass := *,
            btpDestinationPort := *,
            btpInfo := * 
        };

        /**
         * @desc    Receive template for SPAT Message (MapSpatPort Primitive)
         * @param   p_spatMsg            The expected SPAT 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) SpatInd mw_spatIndWithGnParameters (
            template (present) SpatMsg p_spatMsg,
            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_spatInd := { 
            gnNextHeader := p_gnNextHeader,
            gnHeaderType := p_gnHeaderType,
            gnHeaderSubtype := p_gnHeaderSubtype,
            gnLifetime := p_gnLifetime,
            gnTrafficClass := p_gnTrafficClass
        }
        
    }

@@ -201,7 +282,7 @@ module LibItsMapSpat_Templates {
         */
        template (value) MapData m_map := {
            msgID             := mapData_P,
            msgSubID          := 0,  
            msgSubID          := 1,
            msgIssueRevision  := PX_MSG_ISSUE_REVISION,
            layerType         := omit,
            layerID           := omit,
@@ -262,7 +343,7 @@ module LibItsMapSpat_Templates {
         * @desc    Receive template for MAP Message with no LayerType
         */
        template (present) MapData mw_mapWellFormatted modifies mw_anyMap := {
            msgSubID          := 0,
            msgSubID          := 1,
            layerType         := omit
        }
        
@@ -271,7 +352,7 @@ module LibItsMapSpat_Templates {
         */
        template (value) SPAT m_spat := {
            msgID          := signalPhaseAndTimingMessage_P,
            msgSubID       := 0,
            msgSubID       := 1,
            name           := omit, 
            intersections  := m_intersections,
            regional       := omit
+23 −3
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@
module LibItsMapSpat_TestSystem {
    
    // LibCommon
    import from LibCommon_BasicTypesAndValues all;
    import from LibCommon_Time {modulepar all};
    import from LibCommon_Sync all;

@@ -99,8 +100,27 @@ module LibItsMapSpat_TestSystem {
            encode (msgSpat) "LibItsMapSpat_asn1"
        }
        
        type record MapInd { MapMsg msgIn };
        type record SpatInd { SpatMsg msgIn };
        type record MapInd {
            MapMsg msgIn,
            UInt8   gnNextHeader optional,
            UInt8   gnHeaderType optional,
            UInt8   gnHeaderSubtype optional,
            UInt32  gnLifetime optional,
            UInt8   gnTrafficClass optional,
            UInt16  btpDestinationPort optional,
            UInt16  btpInfo optional
        };
        
        type record SpatInd {
            SpatMsg msgIn,
            UInt8   gnNextHeader optional,
            UInt8   gnHeaderType optional,
            UInt8   gnHeaderSubtype optional,
            UInt32  gnLifetime optional,
            UInt8   gnTrafficClass optional,
            UInt16  btpDestinationPort optional,
            UInt16  btpInfo optional
        };
        
        /**
        * @desc Appl MAP and SPAT Request Primitive