Commit b5a9a190 authored by tepelmann's avatar tepelmann
Browse files

Updated group geoFormatingAndDataValidity to ETSI TS 102 871-02 v2.1.1.

parent fb4b196b
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ module LibItsGeoNetworking_Functions {
    
    // Libcommon
    import from LibCommon_BasicTypesAndValues all;
    import from LibCommon_DataStrings all;
    import from LibCommon_VerdictControl {type FncRetCode;}
    import from LibCommon_Sync all;
    import from LibCommon_Time all;
@@ -584,7 +585,7 @@ module LibItsGeoNetworking_Functions {
        /**
         * @desc    Get the position vector corresponding to a key
         * @param   p_positionKey   Reference key of the searched position vector
         * @return  LongPosVector - The serached position vector
         * @return  LongPosVector - The searched position vector
         */
        function f_getPosition(
            in charstring p_positionKey
@@ -1541,6 +1542,18 @@ module LibItsGeoNetworking_Functions {
            return PICS_GN_DEFAULT_HOP_LIMIT;
        }
        
        /**
         * @desc    Is the ITS-S mobile or stationary?
         * @return  Flags indicating whether the ITS-S is mobile or stationary.
         * @see     PICS_GN_IS_MOBILE
         */
        function f_isMobile() return Bit8 {
            if (PICS_GN_IS_MOBILE) {
              return '10000000'B;
            }
            return '00000000'B;
        }
        
        /**
         * @desc    Gets the LS retransmission timer.. Valid for NetRepInterval = default (cong. ctrl).
         * @return  LS retransmission timer in seconds
+81 −75
Original line number Diff line number Diff line
/**
 *  @author     ETSI / STF405
 *  @author     ETSI / STF405 / STF449
 *  @version    $URL$
 *              $Id$
 *  @desc       GeoNetworking PICS
@@ -19,7 +19,7 @@ module LibItsGeoNetworking_Pics {
        
        /**
         * @desc GeoNetworking address of the GeoAdhoc router 
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/1
         * @see  ETSI TS 102 871-1 v2.1.1 A.36/1
         */
        modulepar GN_Address PICS_GN_LOCAL_GN_ADDR := {
            typeOfAddress := e_manual,
@@ -30,148 +30,154 @@ module LibItsGeoNetworking_Pics {

        /**
         * @desc Is address manually configured
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/2
         * @see  ETSI TS 102 871-1 v2.1.1 A.32/2
         */
        modulepar TypeOfAddress    PICS_GN_LOCAL_ADDR_CONF_METHOD := e_initial;
        
//        /**
//         * @desc Type of ITS Station    
//         * @see  ETSI TS 102 871-1 v1.1.1 A.40/4
//         * @see  ETSI TS 102 871-1 v2.1.1 A.36/4
//         */
//        modulepar StationTypeIdentifier PICS_GN_STATION_TYPE := e_vehicleStation;
//        
        /**
         * @desc Is the IUT mobile?
         * @see  ETSI TS 102 871-1 v2.1.1 A.36/5
         */
        modulepar boolean PICS_GN_IS_MOBILE := true;
        
        /**
         * @desc Minimum update frequency of local position vector (LPV) in ms
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/5
         * @see  ETSI TS 102 871-1 v2.1.1 A.36/7
         */
        modulepar integer PICS_GN_MINIMUM_UPDATE_FREQUENCY_LPV := 1000;
            
        /**
         * @desc Maximum size of GN-SDU [bytes]
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/6
         * @see  ETSI TS 102 871-1 v2.1.1 A.36/8
         */
        modulepar integer PICS_GN_MAX_SDU_SIZE := 1416;
        modulepar integer PICS_GN_MAX_SDU_SIZE := 1398;
        
        /**
         * @desc GN_MAX: Maximum size of GeoNetworking header [bytes]
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/7
         * @see  ETSI TS 102 871-1 v2.1.1 A.36/9
         */
        modulepar integer PICS_GN_MAX_GN_HEADER_SIZE := 84;
        modulepar integer PICS_GN_MAX_GN_HEADER_SIZE := 88;
        
        /**
         * @desc Lifetime of location table entry [s]
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/8
         * @see  ETSI TS 102 871-1 v2.1.1 A.36/10
         */
        modulepar integer PICS_GN_LIFETIME_LOC_TE := 20;
        
        /**
         * @desc Maximum number of retransmissions of LS_REQUEST packets
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/10
         * @see  ETSI TS 102 871-1 v2.1.1 A.36/13
         */
        modulepar integer PICS_GN_LOCATION_SERVICE_MAX_RETRANS := 10;
        
        /**
         * @desc Duration of Location service retransmit timer [ms]
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/11
         * @see  ETSI TS 102 871-1 v1.1.1 A.36/14
         */
        modulepar integer PICS_GN_LOCATION_SERVICE_RETRANSMIT_TIMER := 1000;
        
        /**
         * @desc Size of Location service packet buffer [Byte]
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/12
         * @see  ETSI TS 102 871-1 v2.1.1 A.36/15
         */
        modulepar integer PICS_GN_LOCATION_SERVICE_PACKET_BUFFER_SIZE := 1024;
        
        /**
         * @desc Duration of Beacon service retransmit timer [ms]
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/13
         * @see  ETSI TS 102 871-1 v2.1.1 A.36/16
         */
        modulepar integer PICS_GN_BEACON_SERVICE_TIMER := 3000;
        
        /**
         * @desc Maximum beacon jitter [ms]
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/14
         * @see  ETSI TS 102 871-1 v2.1.1 A.36/17
         */
        modulepar integer PICS_GN_BEACON_SERVICE_MAX_JITTER := 150;
        
        /**
         * @desc Default hop limit indicating the maximum number of hops a packet travels
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/15
         * @see  ETSI TS 102 871-1 v2.1.1 A.36/18
         */
        modulepar UInt8 PICS_GN_DEFAULT_HOP_LIMIT := 10;
        
        /**
         * @desc Upper limit of the maximum lifetime [s]
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/16
         * @see  ETSI TS 102 871-1 v2.1.1 A.40/19
         */
        modulepar integer PICS_GN_MAX_PACKET_LIFETIME := 600;
        
        /**
         * @desc Lower limit of the packet repetition interval [ms]
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/17
         * @see  ETSI TS 102 871-1 v2.1.1 A.36/23
         */
        modulepar integer PICS_GN_MIN_PACKET_REPETITION_INTERVAL := 100;
        
        /**
         * @desc Default GeoUnicast forwarding algorithm
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/18
         * @see  ETSI TS 102 871-1 v2.1.1 A.40/24
         */
        modulepar GeoUnicastForwardingAlgorithm PICS_GN_GEOUNICAST_FORWARDING_ALGORITHM := e_greedy;
        
        /**
         * @desc Default GeoBroadcast forwarding algorithm
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/19
         * @see  ETSI TS 102 871-1 v2.1.1 A.36/25
         */
        modulepar GeoBroadcastForwardingAlgorithm PICS_GN_GEOBROADCAST_FORWARDING_ALGORITHM := e_simple;
        
        /**
         * @desc Size of UC forwarding packet buffer [Kbytes]
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/24
         */
        modulepar integer PICS_GN_UC_FORWARDING_PACKET_BUFFER_SIZE := 255;    
        
        /**
         * @desc Size of BC forwarding packet buffer [Kbytes]
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/25
         */
        modulepar integer PICS_GN_BC_FORWARDING_PACKET_BUFFER_SIZE := 1024;    
    
        /** 
         * @desc Forwarding: Default traffic class Relevance
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/27
         */
        modulepar integer PICS_GN_TRAFFIC_CLASS_RELEVANCE := 3;    
    
        /**
         * @desc Forwarding: Forwarding: Default traffic class Reliability
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/28
         * @desc Minimum duration a packet shall be buffered in the CBF packet buffer [ms]
         * @see  ETSI TS 102 871-1 v2.1.1 A.36/26
         */        
        modulepar integer PICS_GN_TRAFFIC_CLASS_RELIABILITY := 10;    
        modulepar integer PICS_GN_GEOUNICAST_CBF_MIN_TIME := 1;
        
        /**
         * @desc Forwarding: Forwarding: Default traffic class Latency
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/29
         * @desc Maximum duration a packet shall be buffered in the CBF packet buffer [ms]
         * @see  ETSI TS 102 871-1 v2.1.1 A.36/27
         */        
        modulepar integer PICS_GN_TRAFFIC_CLASS_LATENCY := 10;    
        modulepar integer PICS_GN_GEOUNICAST_CBF_MAX_TIME := 100;
        
        /**
         * @desc Default theoretical maximum communication range [m]
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/22
         * @see  ETSI TS 102 871-1 v2.1.1 A.36/30
         */
        modulepar integer PICS_GN_DEFAULT_MAX_COMMUNICATION_RANGE := 1000;
        
        /**
         * @desc Minimum duration a packet shall be buffered in the CBF packet buffer [ms]
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/20
         * @desc Size of UC forwarding packet buffer [Kbytes]
         * @see  ETSI TS 102 871-1 v2.1.1 A.36/34
         */
        modulepar integer PICS_GN_GEOUNICAST_CBF_MIN_TIME := 1;
        modulepar integer PICS_GN_UC_FORWARDING_PACKET_BUFFER_SIZE := 256;
        
        /**
         * @desc Maximum duration a packet shall be buffered in the CBF packet buffer [ms]
         * @see  ETSI TS 102 871-1 v1.1.1 A.40/21
         * @desc Size of BC forwarding packet buffer [Kbytes]
         * @see  ETSI TS 102 871-1 v2.1.1 A.36/35
         */
        modulepar integer PICS_GN_GEOUNICAST_CBF_MAX_TIME := 100;
        modulepar integer PICS_GN_BC_FORWARDING_PACKET_BUFFER_SIZE := 1024;
        
//        /** 
//         * @desc Forwarding: Default traffic class Relevance
//         * @see  ETSI TS 102 871-1 v1.1.1 A.40/27
//         */
//        modulepar integer PICS_GN_TRAFFIC_CLASS_RELEVANCE := 3;
//        
//        /**
//         * @desc Forwarding: Forwarding: Default traffic class Reliability
//         * @see  ETSI TS 102 871-1 v1.1.1 A.40/28
//         */
//        modulepar integer PICS_GN_TRAFFIC_CLASS_RELIABILITY := 10;
//        
//        /**
//         * @desc Forwarding: Forwarding: Default traffic class Latency
//         * @see  ETSI TS 102 871-1 v1.1.1 A.40/29
//         */
//        modulepar integer PICS_GN_TRAFFIC_CLASS_LATENCY := 10;
//        
        /** 
         * @desc IUT's Mac address 
         */
+91 −8
Original line number Diff line number Diff line
@@ -572,6 +572,52 @@ module LibItsGeoNetworking_Templates {
                payload := ?
            }
            
            /**
             * @desc    Receive template for GeoNetworking Unicast Packet
             * @param   p_destinationShortPosVec    Short position vector of destination 
             * @param   p_seqNumber                 Sequence number of GeoUnicast packet
             * @param   p_hopLimit                  Maximum number of hops (Default: ?)
             * @see mw_geoNwUnicastPacket
             */
            template (present) GnNonSecuredPacket mw_geoNwUnicastPacketWithHl(
                in template (present) ShortPosVector p_destinationShortPosVec,
                in template (present) UInt16 p_seqNumber,
                in template (present) UInt8 p_hopLimit := ?
            ) modifies mw_geoNwUnicastPacket := {
                commonHeader := mw_commonHeaderWithHopLimit(
                    PX_GN_UPPER_LAYER,
                    mw_geoUnicastHeaderType,
                    p_hopLimit
                ),
                extendedHeader := mw_geoUnicastHeader(
                    p_destinationShortPosVec,
                    p_seqNumber
                ),
                payload := ?
            }
            
            /**
             * @desc    Receive template for GeoNetworking Unicast Packet
             * @param   p_destinationShortPosVec    Short position vector of destination 
             * @param   p_seqNumber                 Sequence number of GeoUnicast packet
             * @param   p_hopLimit                  Maximum number of hops (Default: ?)
             * @param   p_flags                     Flags in the common header (Default: ?)
             * @see     mw_geoNwUnicastPacketWithHl
             */
            template (present) GnNonSecuredPacket mw_geoNwUnicastPacketWithHlAndFlags(
                in template (present) ShortPosVector p_destinationShortPosVec,
                in template (present) UInt16 p_seqNumber,
                in template (present) UInt8 p_hopLimit := ?,
                in template (present) Bit8 p_flags := ?
            ) modifies mw_geoNwUnicastPacketWithHl := {
                commonHeader := mw_commonHeaderWithHopLimitAndFlags(
                    PX_GN_UPPER_LAYER,
                    mw_geoUnicastHeaderType,
                    p_hopLimit,
                    p_flags
                )
            }
            
            /**
             * @desc    Receive template for GeoNetworking Unicast Packet
             * @param   p_destinationShortPosVec    Short position vector of destination 
@@ -917,12 +963,14 @@ module LibItsGeoNetworking_Templates {
             * @desc    Receive template for GeoNetworking Beacon Packet
             * 
             * @param   p_sourceLongPosVec  Long position vector of source (Default: ?)
             * @param   p_nextHeader        Next header (Default: PX_GN_UPPER_LAYER)
             */
            template (present) GnNonSecuredPacket mw_geoNwBeaconPacket(
                in template (present) LongPosVector p_sourceLongPosVec := ?
                in template (present) LongPosVector p_sourceLongPosVec := ?,
                in template (present) NextHeader p_nextHeader := PX_GN_UPPER_LAYER
            ) := {
                commonHeader := mw_commonHeader(
                    PX_GN_UPPER_LAYER,
                commonHeader := mw_commonHeader_noPayload(
                    p_nextHeader,
                    m_beaconHeaderType
                ),
                extendedHeader := mw_beaconHeader(p_sourceLongPosVec),
@@ -955,13 +1003,16 @@ module LibItsGeoNetworking_Templates {
            /**
             * @desc    Receive template for GeoNetworking SHB Packet
             * @param   p_sourceLongPosVec  Long position vector of source (Default: ?)
             * @param   p_hopLimit          Maximum number of hops (Default: ?)
             */
            template (present) GnNonSecuredPacket mw_geoNwShbPacket(
                in template (present) LongPosVector p_sourceLongPosVec := ?
                in template (present) LongPosVector p_sourceLongPosVec := ?,
                in template (present) UInt8 p_hopLimit := ?
            ) := {
                commonHeader := mw_commonHeader(
                commonHeader := mw_commonHeaderWithHopLimit(
                    PX_GN_UPPER_LAYER,
                    m_shbHeaderType
                    m_shbHeaderType,
                    p_hopLimit
                ),
                extendedHeader := mw_shbHeader(p_sourceLongPosVec),
                payload := ?
@@ -975,16 +1026,18 @@ module LibItsGeoNetworking_Templates {
             * @desc    Send template for GeoNetworking TSB Packet
             * @param   p_seqNumber         Sequence number of TSB packet
             * @param   p_sourceLongPosVec  Long position vector of source
             * @param   p_hopLimit          The maximum number of hops (Default: c_defaultHopLimit)
             */
            template (value) GnNonSecuredPacket m_geoNwTsbPacket(
                in template (value) UInt16 p_seqNumber,
                in template (value) LongPosVector p_sourceLongPosVec
                in template (value) LongPosVector p_sourceLongPosVec,
                in template (value) UInt8 p_hopLimit := c_defaultHopLimit
            ) := {
                commonHeader := m_commonHeader(
                    PX_GN_UPPER_LAYER,
                    m_tsbHeaderType,
                    m_trafficClass,
                    c_defaultHopLimit
                    p_hopLimit
                ),
                extendedHeader := m_tsbHeader(
                    p_seqNumber,
@@ -1141,6 +1194,18 @@ module LibItsGeoNetworking_Templates {
                reserved2 := ?
            }
            
            /**
             * @desc    Receive template for Common header with no payload
             * @param   p_nextHeader        Id of next header
             * @param   p_headerTypeSubType         Header's type and sub-type
             */
            template CommonHeader mw_commonHeader_noPayload (
                in template (present) NextHeader p_nextHeader,
                in template (present) HeaderTST p_headerTypeSubType
            ) modifies mw_commonHeader := {
                plLength := 0
            }
            
            /**
             * @desc    Receive template for Common header with specific Hop limit
             * @param   p_senderLongPosVec  Long position vector of sender 
@@ -1157,6 +1222,24 @@ module LibItsGeoNetworking_Templates {
                maxHopLimit := p_hopLimit
            }
            
            /**
             * @desc    Receive template for Common header with specific Hop limit
             * @param   p_senderLongPosVec  Long position vector of sender 
             * @param   p_nextHeader        Id of next header
             * @param   p_headerTypeSubType Header's type and sub-type
             * @param   p_hopLimit          Maximum number of hops
             * @param   p_flags             Flags in the common header
             * @see     mw_commonHeaderWithHopLimit
             */
            template CommonHeader mw_commonHeaderWithHopLimitAndFlags (
                in template (present) NextHeader p_nextHeader,
                in template (present) HeaderTST p_headerTypeSubType,
                in template (present) UInt8 p_hopLimit,
                in template (present) Bit8 p_flags
            ) modifies mw_commonHeaderWithHopLimit := {
                flags := p_flags
            }
            
            /**
             * @desc    Receive template for Common header with specific Traffic Class
             * @param   p_senderLongPosVec  Long position vector of sender