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

RLT implementation

parent f5cd20fc
......@@ -16,6 +16,7 @@ module LibItsMapemSpatem_Pixits {
import from LibCommon_BasicTypesAndValues all;
// LibIts
import from ITS_Container language "ASN.1:1997" all;
import from DSRC 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
* @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
......@@ -46,4 +47,10 @@ module LibItsMapemSpatem_Pixits {
*/
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
......@@ -214,10 +214,18 @@ module LibItsMapemSpatem_Templates {
}
/**
* @desc Send template for Upper Tester Trigger event
*/
template (value) UtMapemSpatemTrigger m_utTriggerEvent ( Event p_event ) := {
event := p_event
* @desc Send template for Upper Tester Trigger event
*/
template (omit) UtMapemSpatemTrigger m_utTriggerEvent(
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
}
}
......@@ -310,9 +318,9 @@ module LibItsMapemSpatem_Templates {
* @param p_messageID The expected message id (Default: MAPEM id)
*/
template (present) ItsPduHeader mw_itsPduHeaderMapem(
template (present) StationID p_stationID := ?,
template (present) ItsPduHeader.protocolVersion p_protocolVersion := LibItsCommon_ASN1_NamedNumbers.ItsPduHeader_protocolVersion_currentVersion_,
template (present) ItsPduHeader.messageID p_messageID := LibItsCommon_ASN1_NamedNumbers.ItsPduHeader_messageID_mapem_
template (present) StationID p_stationID := ?,
template (present) ItsPduHeader.protocolVersion p_protocolVersion := LibItsCommon_ASN1_NamedNumbers.ItsPduHeader_protocolVersion_currentVersion_,
template (present) ItsPduHeader.messageID p_messageID := LibItsCommon_ASN1_NamedNumbers.ItsPduHeader_messageID_mapem_
) := {
protocolVersion := p_protocolVersion,
messageID := p_messageID,
......@@ -326,9 +334,9 @@ module LibItsMapemSpatem_Templates {
* @param p_messageID The expected message id (Default: SPATEM id)
*/
template (present) ItsPduHeader mw_itsPduHeaderSpatem(
template (present) StationID p_stationID := ?,
template (present) ItsPduHeader.protocolVersion p_protocolVersion := LibItsCommon_ASN1_NamedNumbers.ItsPduHeader_protocolVersion_currentVersion_,
template (present) ItsPduHeader.messageID p_messageID := LibItsCommon_ASN1_NamedNumbers.ItsPduHeader_messageID_spatem_
template (present) StationID p_stationID := ?,
template (present) ItsPduHeader.protocolVersion p_protocolVersion := LibItsCommon_ASN1_NamedNumbers.ItsPduHeader_protocolVersion_currentVersion_,
template (present) ItsPduHeader.messageID p_messageID := LibItsCommon_ASN1_NamedNumbers.ItsPduHeader_messageID_spatem_
) := {
protocolVersion := p_protocolVersion,
messageID := p_messageID,
......@@ -487,7 +495,7 @@ module LibItsMapemSpatem_Templates {
layerType := *,
layerID := *,
intersections := *,
roadSegments := *,
roadSegments := ?,
dataParameters := *,
restrictionList := *,
regional := *
......@@ -496,17 +504,32 @@ module LibItsMapemSpatem_Templates {
/**
* @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,
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
*/
template (present) MapData mw_mapemLayerType(
in template (present) LayerID p_layerID := ?
) modifies mw_mapemWellFormatted := {
template (present) IntersectionGeometryList p_intersections := ?,
template (present) RoadSegmentList p_roadSegments := ?,
template (present) LayerID p_layerID := ?
) modifies mw_mapem := {
layerType := ?,
layerID := p_layerID
}
......@@ -528,6 +551,17 @@ module LibItsMapemSpatem_Templates {
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) RoadSegmentReferenceID p_id := ?,
template (present) MsgCount p_revision := ?,
......@@ -544,8 +578,45 @@ module LibItsMapemSpatem_Templates {
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
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
group spatemTemplates {
......
......@@ -19,6 +19,8 @@ module LibItsMapemSpatem_TypesAndValues {
import from ITS_Container 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 DSRC language "ASN.1:1997" all;
import from DSRC_REGION_noCircular language "ASN.1:1997" all;
import from EfcDsrcGeneric language "ASN.1:1997" all;
// LibItsCommon
......@@ -30,35 +32,39 @@ module LibItsMapemSpatem_TypesAndValues {
group utPrimitives {
/**
* @desc Upper Tester message to initialize IUT
* @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the IUT shall use
*/
type record UtMapemSpatemInitialize {
Oct8 hashedId8
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester results message of the MAPEM/SPATEM IUT
* @member utMapemSpatemInitialize -
* @member utMapemSpatemTriggerResult -
*/
type union UtMapemSpatemResults {
boolean utMapemSpatemInitializeResult,
boolean utMapemSpatemTriggerResult
} with {
variant ""
} // End of type UtMapemSpatemResults
/**
* @desc Upper Tester message to initialize IUT
* @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the IUT shall use
*/
type record UtMapemSpatemInitialize {
Oct8 hashedId8
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester results message of the MAPEM/SPATEM IUT
* @member utMapemSpatemInitialize -
* @member utMapemSpatemTriggerResult -
*/
type union UtMapemSpatemResults {
boolean utMapemSpatemInitializeResult,
boolean utMapemSpatemTriggerResult
} with {
variant ""
} // End of type UtMapemSpatemResults
/**
* @desc Upper Tester message to request triggering of an event at IUT
*/
type record UtMapemSpatemTrigger {
Event event
} with {
variant "FIELDORDER(msb)"
Event event,
IntersectionID intersectionID,
RegulatorySpeedLimit regulatorySpeedLimit,
Latitude latitude
} with {
variant "FIELDORDER(msb)"
}
type enumerated Event {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment