Commit 2797bbf9 authored by berge's avatar berge
Browse files

Added TC_GEONW_PON_GBC_BV_01

parent 6c0cee7b
Loading
Loading
Loading
Loading
+50 −1
Original line number Diff line number Diff line
@@ -335,6 +335,15 @@ module LibItsGeoNetworking_Functions {
            return v_return;
        }
        
        function f_getBroadcastArea(in charstring p_areaName) 
        return BroadcastArea {
         
            var BroadcastArea v_return;
            // TODO
            
            return v_return;
        }
        
    } // end geoPositionFunctions    
    
    group geoAltsteps {
@@ -430,6 +439,46 @@ module LibItsGeoNetworking_Functions {
            
        } // end geoGeoUnicastAltsteps
        
        group geoGeoBroadcastAltsteps {
            
            /**
             * @desc Receive GeoBroadcast packet
             */
            altstep a_receiveGeoBroadcast(
                in template (present) LongPosVector p_srcLongPosVec,
                in template (present) StationTypeIdentifier p_stationType,
                in template (present) UInt16 p_seqNumber
            ) runs on ItsNt {
                
                [] geoNetworkingPort.receive(mw_geoNwInd(mw_geoNwPdu(mw_geoBroadcastHeader(
                        p_srcLongPosVec,
                        p_stationType,
                        p_seqNumber
                    )))) {
                }
            }

            /**
             * @desc Receive GeoBroadcast packet for specific Geobroadcast Area
             */
            altstep a_receiveGeoBroadcastWithArea(                
                in template (present) LongPosVector p_srcLongPosVec,
                in template (present) StationTypeIdentifier p_stationType,
                in template (present) UInt16 p_seqNumber,
                in template (present) BroadcastArea p_broadcastArea
            ) runs on ItsNt {
                
                [] geoNetworkingPort.receive(mw_geoNwInd(mw_geoNwPdu(mw_geoBroadcastHeaderWithArea(
                        p_srcLongPosVec,
                        p_stationType,
                        p_seqNumber,
                        p_broadcastArea
                    )))) {
                }
            }               
                        
        } // end geoGeoBroadcastAltsteps
        
        group geoLocationServiceAltsteps {

            /**
@@ -615,7 +664,7 @@ module LibItsGeoNetworking_Functions {
            //TODO
        }

        function f_utGenerateGeoBroadcastMessage() runs on ItsNt {
        function f_utGenerateGeoBroadcastMessage(in charstring p_area) runs on ItsNt {
            //TODO
        }
        
+22 −2
Original line number Diff line number Diff line
@@ -247,7 +247,7 @@ module LibItsGeoNetworking_Templates {
            }  
            
            template Header mw_geoBroadcastHeader(
            	in template (present) LongPosVector p_senderLongPosVec,
                in template (present) LongPosVector p_sourceLongPosVec,
    			in template (present) StationTypeIdentifier p_stationType,
            	in template (present) UInt16 p_seqNumber
            ) := {
@@ -260,7 +260,7 @@ module LibItsGeoNetworking_Templates {
                    seqNumber := p_seqNumber,
                    lifetime := ?,
                    reserved := c_uInt8Zero,
                    srcPosVector := ?,
                    srcPosVector := p_sourceLongPosVec,
                    geoAreaPosLatitude := ?,
                    geoAreaPosLongitude := ?,
                    distanceA := ?,
@@ -270,6 +270,26 @@ module LibItsGeoNetworking_Templates {
                }
            } 
            
            template Header mw_geoBroadcastHeaderWithArea (
                in template (present) LongPosVector p_sourceLongPosVec,
                in template (present) StationTypeIdentifier p_stationType,
                in template (present) UInt16 p_seqNumber,
                in template (present) BroadcastArea p_broadcastArea
            ) modifies mw_geoBroadcastHeader := {
                geoBroadcastHeader := {
                    commonHeader := mw_commonHeader(
                        ?,
                        mw_geoBroadcastHeaderTypeWithSubType(p_broadcastArea.geoBrodcastSubType),
                        p_stationType
                    ),
                    geoAreaPosLatitude := p_broadcastArea.geoAreaPosLatitude,
                    geoAreaPosLongitude := p_broadcastArea.geoAreaPosLongitude,
                    distanceA := p_broadcastArea.distanceA,
                    distanceB := p_broadcastArea.distanceB,
                    angle := p_broadcastArea.angle
                }
            } 
                        
            template (value) HeaderTST m_geoBroadcastHeaderType(
            	in template (value) HeaderSubTypeGeoBroadcast p_headerSubType
            ) := {
+12 −0
Original line number Diff line number Diff line
@@ -18,6 +18,9 @@ module LibItsGeoNetworking_TypesAndValues {
        const charstring c_compNodeC := "NodeC";
        const charstring c_compNodeD := "NodeD";
        
        const charstring c_area1 := "AREA1";
        const charstring c_area2 := "AREA2";
                        
    } // end geoConfigurationValues

    group geoSyncMessages {
@@ -42,6 +45,15 @@ module LibItsGeoNetworking_TypesAndValues {
        
        type record of PositionEntry PositionTable;
        
        type record BroadcastArea {
            HeaderSubTypeGeoBroadcast geoBrodcastSubType,
            UInt32 geoAreaPosLatitude,
            UInt32 geoAreaPosLongitude,
            UInt16 distanceA,
            UInt16 distanceB,
            UInt8 angle    
        }
        
    } // end geoConfigurationTypes

	group geoNwValues {