Commit b877232d authored by Yann Garcia's avatar Yann Garcia
Browse files

RLT implementation

parent f5cd20fc
Loading
Loading
Loading
Loading
+8 −1
Original line number Original line Diff line number Diff line
@@ -16,6 +16,7 @@ module LibItsMapemSpatem_Pixits {
    import from LibCommon_BasicTypesAndValues all;
    import from LibCommon_BasicTypesAndValues all;
    
    
    // LibIts
    // LibIts
    import from ITS_Container language "ASN.1:1997" all;
    import from DSRC language "ASN.1:1997" all;
    import from DSRC language "ASN.1:1997" all;
    import from DSRC_REGION_noCircular language "ASN.1:1997" all;
    import from DSRC_REGION_noCircular language "ASN.1:1997" all;
    
    
@@ -38,7 +39,7 @@ module LibItsMapemSpatem_Pixits {
     * @desc Id for IntersectionReferenceID DF sending
     * @desc Id for IntersectionReferenceID DF sending
     * @see  ETSI TS 103 191-3 Table B.7
     * @see  ETSI TS 103 191-3 Table B.7
     */
     */
    modulepar IntersectionID PX_INTERSECTION_ID := 1500;
    modulepar IntersectionID PX_INTERSECTION_ID := 7;


    /**
    /**
     * @desc SignalGroup for MovementState DF sending
     * @desc SignalGroup for MovementState DF sending
@@ -46,4 +47,10 @@ module LibItsMapemSpatem_Pixits {
     */
     */
    modulepar SignalGroupID PX_SIGNAL_GROUP_ID := 128;
    modulepar SignalGroupID PX_SIGNAL_GROUP_ID := 128;
    
    
    /**
     * @desc 3D Reference point latitude
     * @see  ETSI TS 103 191-3 Table B.7
     */
    modulepar Latitude PX_3D_REF_POINT_LATITUDE := 0;
    
} // end LibItsMapemSpatem_Pixits
} // end LibItsMapemSpatem_Pixits
+86 −15
Original line number Original line Diff line number Diff line
@@ -216,8 +216,16 @@ module LibItsMapemSpatem_Templates {
        /**
        /**
         * @desc    Send template for Upper Tester Trigger event
         * @desc    Send template for Upper Tester Trigger event
         */
         */
            template (value) UtMapemSpatemTrigger m_utTriggerEvent ( Event p_event ) := {
        template (omit) UtMapemSpatemTrigger m_utTriggerEvent(
                event    := p_event
                                                              in Event p_event,
                                                              in template (omit) IntersectionID p_intersectionID := omit,
                                                              in template (omit) RegulatorySpeedLimit p_regulatorySpeedLimit := omit,
                                                              in template (omit) Latitude p_latitude := omit
                                                              ) := {
            event                := p_event,
            intersectionID       := p_intersectionID,
            regulatorySpeedLimit := p_regulatorySpeedLimit,
            latitude             := p_latitude
        }
        }
    }
    }


@@ -487,7 +495,7 @@ module LibItsMapemSpatem_Templates {
                    layerType         := *,
                    layerType         := *,
                    layerID           := *,
                    layerID           := *,
                    intersections     := *,
                    intersections     := *,
                    roadSegments      := *,
                    roadSegments      := ?,
                    dataParameters    := *,
                    dataParameters    := *,
                    restrictionList   := *,
                    restrictionList   := *,
                    regional          := *
                    regional          := *
@@ -496,17 +504,32 @@ module LibItsMapemSpatem_Templates {
                /**
                /**
                 * @desc    Receive template for MAPEM Message with no LayerType
                 * @desc    Receive template for MAPEM Message with no LayerType
                 */
                 */
                template (present) MapData mw_mapemWellFormatted modifies mw_defaultMapem := {
                template (present) MapData mw_mapem(
                                                    template (present) IntersectionGeometryList p_intersections := ?,
                                                    template (present) RoadSegmentList p_roadSegments := ?
                ) modifies mw_defaultMapem := {
                    layerType         := omit,
                    layerType         := omit,
                    layerID           := omit
                    layerID           := omit,
                    intersections     := p_intersections,
                    roadSegments      := p_roadSegments
                }
                
                template (present) IntersectionReferenceID mw_intersectionReferenceID(
                                                                                      template (present) IntersectionID p_intersectionID := ?,
                                                                                      template RoadRegulatorID p_roadRegulatorID := *
                ) := {
                    region  := p_roadRegulatorID,   // a globally unique regional assignment value typical assigned to a regional DOT authority the value zero shall be used for testing needs
                    id      := p_intersectionID     // a unique mapping to the intersection in question within the above region of use
                }
                }
                
                
                /**
                /**
                 * @desc    Receive template for MAPEM Message with no LayerType
                 * @desc    Receive template for MAPEM Message with no LayerType
                 */
                 */
                template (present) MapData mw_mapemLayerType(
                template (present) MapData mw_mapemLayerType(
                                                             in template (present) LayerID p_layerID := ?
                                                             template (present) IntersectionGeometryList p_intersections := ?,
                ) modifies mw_mapemWellFormatted := {
                                                             template (present) RoadSegmentList p_roadSegments := ?,
                                                             template (present) LayerID p_layerID := ?
                ) modifies mw_mapem := {
                    layerType         := ?,
                    layerType         := ?,
                    layerID           := p_layerID
                    layerID           := p_layerID
                }
                }
@@ -528,6 +551,17 @@ module LibItsMapemSpatem_Templates {
                    regional            := *
                    regional            := *
                }
                }
                
                
                template (present) Position3D mw_position3D(
                                                            template (present) Latitude p_latitude := ?,
                                                            template (present) Longitude p_longitude := ?,
                                                            template Position3D.regional p_regional := *
                ) := {
                    lat        := p_latitude,   // in 1/10th micro degrees
                    long       := p_longitude,  // in 1/10th micro degrees
                    elevation  := omit,         // in 10 cm units
                    regional   := p_regional
                }
                
                template (present) RoadSegment mw_roadSegment(
                template (present) RoadSegment mw_roadSegment(
                                                              template (present) RoadSegmentReferenceID p_id := ?,
                                                              template (present) RoadSegmentReferenceID p_id := ?,
                                                              template (present) MsgCount p_revision := ?,
                                                              template (present) MsgCount p_revision := ?,
@@ -544,8 +578,45 @@ module LibItsMapemSpatem_Templates {
                    regional    := *
                    regional    := *
                }
                }
                
                
                template (present) GenericLane mw_roadLane(
                                                           template (present) LaneID p_laneID := ?,
                                                           template (present) LaneAttributes p_laneAttributes := ?,
                                                           template ApproachID p_ingressApproach := *,
                                                           template ApproachID p_egressApproach := *,
                                                           template ConnectsToList p_connectsTo := *
                ) := {
                    laneID          := p_laneID, 
                    name            := *,
                    ingressApproach := p_ingressApproach,
                    egressApproach  := p_egressApproach,
                    laneAttributes  := p_laneAttributes, 
                    maneuvers       := *,
                    nodeList        := ?,
                    connectsTo      := p_connectsTo, 
                    overlays        := *, 
                    regional        := *
                }
                
            } // End of group mapemTemplatesRecv 
            } // End of group mapemTemplatesRecv 
            
            
            template (present) NodeXY mw_nodeXY(
                                                template (present) NodeOffsetPointXY p_delta := ?,
                                                template (present) NodeAttributeSetXY p_attributes := ?
                                                ) := {
                delta := p_delta,
                attributes := p_attributes
            }
            
            template (present) NodeAttributeSetXY mw_nodeAttributeSetXY_default := {
                localNode  := *,
                disabled   := *,
                enabled    := *,
                data       := *,
                dWidth     := ?,
                dElevation := *,
                regional   := *
            }
            
        } // End of group mapemTemplates 
        } // End of group mapemTemplates 
        
        
        group spatemTemplates {
        group spatemTemplates {
+31 −25
Original line number Original line Diff line number Diff line
@@ -19,6 +19,8 @@ module LibItsMapemSpatem_TypesAndValues {
    import from ITS_Container language "ASN.1:1997" all;
    import from ITS_Container language "ASN.1:1997" all;
    import from MAPEM_PDU_Descriptions language "ASN.1:1997" all;
    import from MAPEM_PDU_Descriptions language "ASN.1:1997" all;
    import from SPATEM_PDU_Descriptions language "ASN.1:1997" all;
    import from SPATEM_PDU_Descriptions language "ASN.1:1997" all;
    import from DSRC language "ASN.1:1997" all;
    import from DSRC_REGION_noCircular language "ASN.1:1997" all;
    import from EfcDsrcGeneric language "ASN.1:1997" all;
    import from EfcDsrcGeneric language "ASN.1:1997" all;
    
    
    // LibItsCommon
    // LibItsCommon
@@ -56,7 +58,11 @@ module LibItsMapemSpatem_TypesAndValues {
         * @desc Upper Tester message to request triggering of an event at IUT 
         * @desc Upper Tester message to request triggering of an event at IUT 
         */
         */
        type record UtMapemSpatemTrigger {
        type record UtMapemSpatemTrigger {
            Event    event
            Event    event,
            IntersectionID intersectionID,
            RegulatorySpeedLimit regulatorySpeedLimit,
            Latitude latitude
              
        } with {
        } with {
            variant "FIELDORDER(msb)"
            variant "FIELDORDER(msb)"
        }
        }