Commit dc686227 authored by berge's avatar berge
Browse files

TPs v0.0.7 in all GN TCs

parent f4dce2aa
Loading
Loading
Loading
Loading
+24 −24
Original line number Original line Diff line number Diff line
@@ -94,58 +94,58 @@ module LibItsGeoNetworking_Functions {
        /**
        /**
         * @desc This configuration features:
         * @desc This configuration features:
         *       - one ITS node (IUT)
         *       - one ITS node (IUT)
         *       - one ITS node (NodeA)
         *       - one ITS node (NodeB)
         *       - one ITS node (NodeB)
         *       - Area1 which only includes NodeA, NodeB and IUT
         *       - one ITS node (NodeD)
         *       - Area2 which only includes NodeA and NodeB 
         *       - Area1 which only includes NodeB, NodeD and IUT
         *         NodeA being close to the area center          
         *       - Area2 which only includes NodeB and NodeD 
         *         NodeB being close to the area center          
         *         
         *         
         * @param p_nodeA
         * @param p_nodeB
         * @param p_nodeB
         * @param p_nodeD
         */
         */
        function f_cf02Up(out ItsNt p_nodeA, out ItsNt p_nodeB) runs on ItsMtc {
        function f_cf02Up(out ItsNt p_nodeB, out ItsNt p_nodeD) runs on ItsMtc {
            
            
            // Variables
            // Variables
            var PositionTable v_positionTable := {};
            var PositionTable v_positionTable := {};
            
            
            // Create
            // Create
            p_nodeA := ItsNt.create(c_compNodeA) alive;
            p_nodeB := ItsNt.create(c_compNodeB) alive;
            p_nodeB := ItsNt.create(c_compNodeB) alive;
            p_nodeD := ItsNt.create(c_compNodeD) alive;


            // Map            
            // Map            
            map(p_nodeA:geoNetworkingPort, system:geoNetworkingPort);
            map(p_nodeB:geoNetworkingPort, system:geoNetworkingPort);
            map(p_nodeB:geoNetworkingPort, system:geoNetworkingPort);
            map(p_nodeD:geoNetworkingPort, system:geoNetworkingPort);
            
            
            // Connect            
            // Connect            
            connect(p_nodeA:syncPort, self:syncPort);
            connect(p_nodeB:syncPort, self:syncPort);
            connect(p_nodeB:syncPort, self:syncPort);
            connect(p_nodeD:syncPort, self:syncPort);
        
        
            // Position table
            // Position table
            f_addPosition(v_positionTable, c_compIut, f_getIutLongPosVector());
            f_addPosition(v_positionTable, c_compIut, f_getIutLongPosVector());
            f_addPosition(v_positionTable, c_compNodeA, f_computePosition());
            f_addPosition(v_positionTable, c_compNodeB, f_computePosition());
            f_addPosition(v_positionTable, c_compNodeB, f_computePosition());
            f_addPosition(v_positionTable, c_compNodeD, f_computePosition());
            
            
            p_nodeA.start(f_initialiseComponent(v_positionTable, c_compNodeA));
            p_nodeB.start(f_initialiseComponent(v_positionTable, c_compNodeB));
            p_nodeB.start(f_initialiseComponent(v_positionTable, c_compNodeB));
            p_nodeA.done;
            p_nodeD.start(f_initialiseComponent(v_positionTable, c_compNodeD));
            p_nodeB.done;
            p_nodeD.done;
            p_nodeD.done;
        
        
        } // end f_cf02Up
        } // end f_cf02Up


        /**
        /**
         * @desc Deletes configuration cf02
         * @desc Deletes configuration cf02
         * @param p_nodeA
         * @param p_nodeB
         * @param p_nodeB
         * @param p_nodeD
         */
         */
        function f_cf02Down(in ItsNt p_nodeA, in ItsNt p_nodeB) runs on ItsMtc {
        function f_cf02Down(in ItsNt p_nodeB, in ItsNt p_nodeD) runs on ItsMtc {
            
            
            // Map
            // Map
            unmap(p_nodeA:geoNetworkingPort, system:geoNetworkingPort);
            unmap(p_nodeB:geoNetworkingPort, system:geoNetworkingPort);
            unmap(p_nodeB:geoNetworkingPort, system:geoNetworkingPort);
            unmap(p_nodeD:geoNetworkingPort, system:geoNetworkingPort);
            
            
            // Connect
            // Connect
            disconnect(p_nodeA:syncPort, self:syncPort);
            disconnect(p_nodeB:syncPort, self:syncPort);
            disconnect(p_nodeB:syncPort, self:syncPort);
            disconnect(p_nodeD:syncPort, self:syncPort);
        
        
        } // end f_cf02Down
        } // end f_cf02Down
        
        
@@ -665,7 +665,7 @@ module LibItsGeoNetworking_Functions {
                in template (present) StationTypeIdentifier p_stationType,
                in template (present) StationTypeIdentifier p_stationType,
                in template (present) UInt16 p_seqNumber,
                in template (present) UInt16 p_seqNumber,
                in template (present) GN_Address p_gnAddress,
                in template (present) GN_Address p_gnAddress,
                out template (value) LongPosVector p_reqSrcPosVector
                out LongPosVector p_reqSrcPosVector
            ) runs on ItsNt {
            ) runs on ItsNt {
                var GeoNetworkingInd v_msg;
                var GeoNetworkingInd v_msg;
                
                
@@ -680,7 +680,7 @@ module LibItsGeoNetworking_Functions {
                        )
                        )
                    )
                    )
                ) -> value v_msg {
                ) -> value v_msg {
                    p_reqSrcPosVector := v_msg.msgIn.header.lsRequestHeader.srcPosVector;
                    p_reqSrcPosVector := valueof(v_msg.msgIn.header.lsRequestHeader.srcPosVector);
                }
                }
            }
            }
            
            
@@ -775,7 +775,7 @@ module LibItsGeoNetworking_Functions {
          in template (value) StationTypeIdentifier p_reqStationType,
          in template (value) StationTypeIdentifier p_reqStationType,
          in template (value) UInt16 p_reqSeqNumber,
          in template (value) UInt16 p_reqSeqNumber,
          in template (value) GN_Address p_gnAddress,
          in template (value) GN_Address p_gnAddress,
          out template (value) LongPosVector p_repSrcPosVector
          out LongPosVector p_repSrcPosVector
        ) runs on ItsNt return FncRetCode {
        ) runs on ItsNt return FncRetCode {
            var FncRetCode v_ret := e_error;
            var FncRetCode v_ret := e_error;
            var GeoNetworkingInd v_msg;
            var GeoNetworkingInd v_msg;
@@ -809,7 +809,7 @@ module LibItsGeoNetworking_Functions {
                        )
                        )
                    ) -> value v_msg { 
                    ) -> value v_msg { 
                    tc_ac.stop;
                    tc_ac.stop;
                    p_repSrcPosVector := v_msg.msgIn.header.lsRequestHeader.srcPosVector;
                    p_repSrcPosVector := valueof(v_msg.msgIn.header.lsRequestHeader.srcPosVector);
                    v_ret := e_success;
                    v_ret := e_success;
                }
                }
            }
            }
+6 −4
Original line number Original line Diff line number Diff line
@@ -168,10 +168,12 @@ module LibItsGeoNetworking_Templates {
                latency := e_veryLow
                latency := e_veryLow
            }
            }
            
            
            template (present) TrafficClass mw_trafficClass(
            template TrafficClass mw_trafficClass(
                in template (present) Reliability p_reliability,
                in template (present) Reliability p_reliability,
                in template (present) Latency p_latency
                in template (present) Latency p_latency
            ) modifies m_trafficClass := {
            ) := {
                reserved := c_uInt1Zero,
                relevance := c_uInt3Zero,
                reliability := p_reliability,
                reliability := p_reliability,
                latency := p_latency
                latency := p_latency
            }
            }