Commits (1)
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
IVIM-PDU-Descriptions { IVIM-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) ivim (2) version1 (1) itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) ivim (2) version2 (2)
} }
DEFINITIONS AUTOMATIC TAGS ::= DEFINITIONS AUTOMATIC TAGS ::=
...@@ -14,8 +14,10 @@ BEGIN ...@@ -14,8 +14,10 @@ BEGIN
IMPORTS IMPORTS
IviStructure FROM IVI {iso (1) standard (0) ivi (19321) version1 (1)} IviStructure FROM IVI {iso (1) standard (0) ivi (19321) version1 (1)}
ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)}; ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)}
;
-- End of IMPORTS
IVIM ::= SEQUENCE { IVIM ::= SEQUENCE {
header ItsPduHeader, header ItsPduHeader,
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
MAPEM-PDU-Descriptions { MAPEM-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) mapem (1) version1 (1) itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) mapem (1) version2 (2)
} }
DEFINITIONS AUTOMATIC TAGS ::= DEFINITIONS AUTOMATIC TAGS ::=
...@@ -13,9 +13,11 @@ DEFINITIONS AUTOMATIC TAGS ::= ...@@ -13,9 +13,11 @@ DEFINITIONS AUTOMATIC TAGS ::=
BEGIN BEGIN
IMPORTS IMPORTS
MapData FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } MapData FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2) }
ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)}; ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)}
;
-- End of IMPORTS
MAPEM ::= SEQUENCE { MAPEM ::= SEQUENCE {
header ItsPduHeader, header ItsPduHeader,
......
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
--
-- module: RTCM corrections extended message
--
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
RTCMEM-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) rtcmem (5) version1 (1)
}
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
RTCMcorrections FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2) }
ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)}
;
-- End of IMPORTS
RTCMEM ::= SEQUENCE {
header ItsPduHeader,
rtcmc RTCMcorrections
}
END
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
SPATEM-PDU-Descriptions { SPATEM-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) spatem (0) version1 (1) itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) spatem (0) version2 (2)
} }
DEFINITIONS AUTOMATIC TAGS ::= DEFINITIONS AUTOMATIC TAGS ::=
...@@ -15,9 +15,11 @@ DEFINITIONS AUTOMATIC TAGS ::= ...@@ -15,9 +15,11 @@ DEFINITIONS AUTOMATIC TAGS ::=
BEGIN BEGIN
IMPORTS IMPORTS
SPAT FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } SPAT FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2) }
ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }; ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }
;
-- End of IMPORTS
SPATEM ::= SEQUENCE { SPATEM ::= SEQUENCE {
header ItsPduHeader, header ItsPduHeader,
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
SREM-PDU-Descriptions { SREM-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) srem (3) version1 (1) itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) srem (3) version2 (2)
} }
DEFINITIONS AUTOMATIC TAGS ::= DEFINITIONS AUTOMATIC TAGS ::=
...@@ -13,8 +13,11 @@ DEFINITIONS AUTOMATIC TAGS ::= ...@@ -13,8 +13,11 @@ DEFINITIONS AUTOMATIC TAGS ::=
BEGIN BEGIN
IMPORTS IMPORTS
SignalRequestMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } SignalRequestMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2) }
ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }; ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)}
;
-- End of IMPORTS
SREM ::= SEQUENCE { SREM ::= SEQUENCE {
header ItsPduHeader, header ItsPduHeader,
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
SSEM-PDU-Descriptions { SSEM-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) ssem (4) version1 (1) itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (103301) ssem (4) version2 (2)
} }
DEFINITIONS AUTOMATIC TAGS ::= DEFINITIONS AUTOMATIC TAGS ::=
...@@ -13,9 +13,11 @@ DEFINITIONS AUTOMATIC TAGS ::= ...@@ -13,9 +13,11 @@ DEFINITIONS AUTOMATIC TAGS ::=
BEGIN BEGIN
IMPORTS IMPORTS
SignalStatusMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } SignalStatusMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2) }
ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }; ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)}
;
-- End of IMPORTS
SSEM ::= SEQUENCE { SSEM ::= SEQUENCE {
header ItsPduHeader, header ItsPduHeader,
......
...@@ -18,12 +18,14 @@ IMPORTS ...@@ -18,12 +18,14 @@ IMPORTS
CountryCode, CS5, AVIAEIIssuerIdentifier CountryCode, CS5, AVIAEIIssuerIdentifier
FROM AVIAEINumberingAndDataStructures {iso(1) standard(0) iso14816(14816) asnm1(1) version1(1)} FROM AVIAEINumberingAndDataStructures {iso(1) standard(0) iso14816(14816) asnm1(1) version1(1)}
-- defined in ISO 14816 -- -- defined in ISO 14816 --
-- AttributeIdList AttributeIdList, Attributes{}, AttributeList{}
-- FROM EfcDsrcGeneric {iso(1) standard(0) 14906 generic(1) version5(5)}; FROM EfcDsrcGeneric {iso(1) standard(0) 14906 generic(1) version5(5)}
;
-- NOTE: The following are the definitions of the action and response -- NOTE: The following are the definitions of the action and response
-- parameters -- parameters
;
-- End of IMPORTS
AxleWeightLimits ::= SEQUENCE { AxleWeightLimits ::= SEQUENCE {
maxLadenweightOnAxle1 Int2, maxLadenweightOnAxle1 Int2,
maxLadenweightOnAxle2 Int2, maxLadenweightOnAxle2 Int2,
......
...@@ -15,81 +15,90 @@ ...@@ -15,81 +15,90 @@
-- --
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
AddGrpC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1) } AddGrpC {
iso (1) standard (0) signalizedIntersection (19091) profilec (2) addgrpc (0)
version2 (2)
}
DEFINITIONS AUTOMATIC TAGS::= BEGIN DEFINITIONS AUTOMATIC TAGS::= BEGIN
IMPORTS IMPORTS
--FIXME RGY all definitions are moved to IS-DSRC-noCircular to cut circular import loop --FIXME RGY all definitions are moved to IS-DSRC-noCircular to cut circular import loop
--NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, DeltaTime, LaneID FROM DSRC --DeltaTime, FuelType, IntersectionID, LaneConnectionID, LaneID, NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, VehicleHeight FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2) }
NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, DeltaTime, LaneID FROM DSRC-REGION-noCircular NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, DeltaTime, LaneID, LaneConnectionID, FuelType, VehicleHeight FROM DSRC-REGION-noCircular
Altitude, StationID, DeltaAltitude FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) };
Altitude, StationID, DeltaAltitude, VehicleMass FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) };
ConnectionManeuverAssist-addGrpC ::= SEQUENCE { ConnectionManeuverAssist-addGrpC ::= SEQUENCE {
itsStationPositions ItsStationPositionList OPTIONAL, itsStationPosition ItsStationPositionList OPTIONAL,
rsuGNSSOffset NodeOffsetPointXY OPTIONAL,
... ...
} }
ConnectionTrajectory-addGrpC ::= SEQUENCE { ConnectionTrajectory-addGrpC ::= SEQUENCE {
nodes NodeSetXY, nodes NodeSetXY,
connectionID LaneConnectionID,
... ...
} }
/*FIXME RGY moved to AddGrpC-noCircular to cut circular import loop
Control-addGrpC ::= SEQUENCE {
ptvRequest PtvRequestType,
...
}
*/
IntersectionState-addGrpC ::= SEQUENCE { IntersectionState-addGrpC ::= SEQUENCE {
activePrioritizations PrioritizationResponseList OPTIONAL, activePrioritizations PrioritizationResponseList OPTIONAL,
... ...
} }
LaneAttributes-addGrpC ::= SEQUENCE {
maxVehicleHeight VehicleHeight OPTIONAL,
maxVehicleWeight VehicleMass OPTIONAL,
...
}
MapData-addGrpC ::= SEQUENCE { MapData-addGrpC ::= SEQUENCE {
signalHeadLocations SignalHeadLocationList OPTIONAL, signalHeadLocations SignalHeadLocationList OPTIONAL,
... ...
} }
Position3D-addGrpC ::= SEQUENCE { MovementEvent-addGrpC ::= SEQUENCE {
altitude Altitude, stateChangeReason ExceptionalCondition OPTIONAL,
... ...
} }
PrioritizationResponseList ::= SEQUENCE SIZE(1..10) OF PrioritizationResponse /*FIXME RGY moved to AddGrpC-noCircular to cut circular import loop
NodeAttributeSet-addGrpC ::= SEQUENCE {
ptvRequest PtvRequestType OPTIONAL,
nodeLink NodeLink OPTIONAL,
node Node OPTIONAL,
...
}
*/
PrioritizationResponse ::= SEQUENCE {
stationID StationID, Position3D-addGrpC ::= SEQUENCE {
priorState PrioritizationResponseStatus, altitude Altitude,
signalGroup SignalGroupID,
... ...
} }
RestrictionUserType-addGrpC ::= SEQUENCE { RestrictionUserType-addGrpC ::= SEQUENCE {
emission EmissionType OPTIONAL, emission EmissionType OPTIONAL,
fuel FuelType OPTIONAL,
... ...
} }
SignalHeadLocationList ::= SEQUENCE (SIZE(1..64)) OF SignalHeadLocation RequestorDescription-addGrpC ::= SEQUENCE {
fuel FuelType OPTIONAL,
SignalHeadLocation ::= SEQUENCE { batteryStatus BatteryStatus OPTIONAL,
nodeXY NodeOffsetPointXY,
nodeZ DeltaAltitude,
signalGroupID SignalGroupID,
... ...
} }
SignalStatusPackage-addGrpC ::= SEQUENCE { SignalStatusPackage-addGrpC ::= SEQUENCE {
synchToSchedule DeltaTime OPTIONAL, synchToSchedule DeltaTime OPTIONAL,
rejectedReason RejectedReason OPTIONAL,
... ...
} }
ItsStationPositionList::= SEQUENCE SIZE(1..5) OF ItsStationPosition -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- Data frames
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ItsStationPosition ::= SEQUENCE { ItsStationPosition ::= SEQUENCE {
stationID StationID, stationID StationID,
...@@ -98,6 +107,52 @@ ItsStationPosition ::= SEQUENCE { ...@@ -98,6 +107,52 @@ ItsStationPosition ::= SEQUENCE {
timeReference TimeReference OPTIONAL, timeReference TimeReference OPTIONAL,
... ...
} }
ItsStationPositionList ::= SEQUENCE SIZE(1..5) OF ItsStationPosition
/*FIXME YGA Moved to DSRC-REGION_noCircular to cut circular import loop
Node ::= SEQUENCE {
id INTEGER,
lane LaneID OPTIONAL,
connectionID LaneConnectionID OPTIONAL,
intersectionID IntersectionID OPTIONAL,
...
}
NodeLink ::= SEQUENCE SIZE (1..5) OF Node
*/
PrioritizationResponse ::= SEQUENCE {
stationID StationID,
priorState PrioritizationResponseStatus,
signalGroup SignalGroupID,
...
}
PrioritizationResponseList ::= SEQUENCE SIZE(1..10) OF PrioritizationResponse
SignalHeadLocation ::= SEQUENCE {
nodeXY NodeOffsetPointXY,
nodeZ DeltaAltitude,
signalGroupID SignalGroupID,
...
}
SignalHeadLocationList ::= SEQUENCE (SIZE(1..64)) OF SignalHeadLocation
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- Data elements
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BatteryStatus ::= ENUMERATED {
unknown,
critical,
low,
good,
...
}
EmissionType ::= ENUMERATED { EmissionType ::= ENUMERATED {
euro1, euro1,
euro2, euro2,
...@@ -108,6 +163,23 @@ EmissionType ::= ENUMERATED { ...@@ -108,6 +163,23 @@ EmissionType ::= ENUMERATED {
... ...
} }
ExceptionalCondition ::= ENUMERATED {
unknown,
publicTransportPriority,
emergencyVehiclePriority,
trainPriority,
bridgeOpen,
vehicleHeight,
weather,
trafficJam,
tunnelClosure,
meteringActive,
truckPriority,
bicyclePlatoonPriority,
vehiclePlatoonPriority,
...
}
/*FIXME RGY moved to AddGrpC-noCircular to cut circular import loop /*FIXME RGY moved to AddGrpC-noCircular to cut circular import loop
PtvRequestType ::= ENUMERATED { PtvRequestType ::= ENUMERATED {
preRequest, preRequest,
...@@ -119,6 +191,18 @@ PtvRequestType ::= ENUMERATED { ...@@ -119,6 +191,18 @@ PtvRequestType ::= ENUMERATED {
} }
*/ */
TimeReference ::= INTEGER { oneMilliSec(1) } (0..65535) RejectedReason ::= ENUMERATED {
unknown,
exceptionalCondition,
maxWaitingTimeExceeded,
ptPriorityDisabled,
higherPTPriorityGranted,
vehicleTrackingUnknown,
...
}
TimeReference ::= INTEGER { oneMilliSec(1) } (0..60000)
END END
...@@ -14,24 +14,26 @@ ...@@ -14,24 +14,26 @@
-- --
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } DSRC {
iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)
}
DEFINITIONS AUTOMATIC TAGS::= BEGIN DEFINITIONS AUTOMATIC TAGS::= BEGIN
IMPORTS IMPORTS
--FIXME RGY definitions moved to module DSRC-REGION-noCircular are commented our below --FIXME RGY definitions moved to module DSRC-REGION-noCircular are commented our below
StationID, Longitude, Latitude, SpeedConfidence FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }
Reg-SPAT,Reg-SignalRequestMessage, Reg-SignalStatusMessage, Reg-MapData, Reg-AdvisorySpeed, Reg-ComputedLane, Reg-ConnectionManeuverAssist, Reg-SPAT,Reg-SignalRequestMessage, Reg-SignalStatusMessage, Reg-MapData, Reg-AdvisorySpeed, Reg-ComputedLane, Reg-ConnectionManeuverAssist,
Reg-GenericLane, Reg-IntersectionGeometry, Reg-IntersectionState, Reg-LaneAttributes, /*Reg-LaneDataAttribute,*/ Reg-MovementEvent, Reg-MovementState, Reg-GenericLane, Reg-IntersectionGeometry, Reg-IntersectionState, Reg-LaneAttributes, /*Reg-LaneDataAttribute,*/ Reg-MovementEvent, Reg-MovementState,
/*Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY,*/ Reg-Position3D, Reg-RequestorDescription, Reg-RequestorType, Reg-RestrictionUserType, Reg-RoadSegment, /*Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY,*/ Reg-Position3D, Reg-RequestorDescription, Reg-RequestorType, Reg-RestrictionUserType, Reg-RoadSegment,
Reg-SignalControlZone, Reg-SignalRequestPackage, Reg-SignalRequest, Reg-SignalStatusPackage, Reg-SignalStatus FROM REGION {iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1)} Reg-SignalControlZone, Reg-SignalRequestPackage, Reg-SignalRequest, Reg-SignalStatusPackage, Reg-SignalStatus, Reg-RTCMcorrections FROM REGION {iso (1) standard (0) signalizedIntersection (19091) profilec (2) region (1) version2 (2)}
--FIXME RGY definitions moved to DSRC-REGION-noCircular but also refernced here are re-imported --FIXME RGY definitions moved to DSRC-REGION-noCircular but also refernced here are re-imported
DeltaAngle, DeltaTime, LaneID, NodeSetXY, PrioritizationResponseStatus, RegionalExtension, SignalGroupID, SpeedLimitList, Velocity, DeltaAngle, DeltaTime, LaneID, LaneConnectionID, IntersectionID, NodeSetXY, PrioritizationResponseStatus, RegionalExtension, SignalGroupID, SpeedLimitList, Velocity, NodeOffsetPointXY, NodeAttributeXY, Reg-LaneDataAttribute, Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY, Offset-B12, Offset-B09, Offset-B10 FROM DSRC-REGION-noCircular
Reg-LaneDataAttribute, Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY FROM DSRC-REGION-noCircular
Iso3833VehicleType FROM ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version (1)}
;
Iso3833VehicleType FROM ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version1 (1)}
Longitude, Latitude, StationID FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }
;
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
-- --
...@@ -73,18 +75,36 @@ RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE { ...@@ -73,18 +75,36 @@ RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE {
} }
*/ */
MapData ::= SEQUENCE {
timeStamp MinuteOfTheYear OPTIONAL,
msgIssueRevision MsgCount,
layerType LayerType OPTIONAL,
layerID LayerID OPTIONAL,
intersections IntersectionGeometryList OPTIONAL,
roadSegments RoadSegmentList OPTIONAL,
dataParameters DataParameters OPTIONAL,
restrictionList RestrictionClassList OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-MapData}} OPTIONAL,
...
}
RTCMcorrections ::= SEQUENCE {
msgCnt MsgCount,
rev RTCM-Revision,
timeStamp MinuteOfTheYear OPTIONAL,
anchorPoint FullPositionVector OPTIONAL,
rtcmHeader RTCMheader OPTIONAL,
msgs RTCMmessageList,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RTCMcorrections}} OPTIONAL,
...
}
SPAT ::= SEQUENCE { SPAT ::= SEQUENCE {
timeStamp MinuteOfTheYear OPTIONAL, timeStamp MinuteOfTheYear OPTIONAL,
name DescriptiveName OPTIONAL, name DescriptiveName OPTIONAL,
-- human readable name for this collection
-- to be used only in debug mode
intersections IntersectionStateList, intersections IntersectionStateList,
-- sets of SPAT data (one per intersection)
-- If PrioritizationResponse data is required, it is found
-- in the RegionalSPAT entry below
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SPAT}} OPTIONAL, RegionalExtension {{Reg-SPAT}} OPTIONAL,
... ...
...@@ -96,15 +116,7 @@ SignalRequestMessage ::= SEQUENCE { ...@@ -96,15 +116,7 @@ SignalRequestMessage ::= SEQUENCE {
sequenceNumber MsgCount OPTIONAL, sequenceNumber MsgCount OPTIONAL,
requests SignalRequestList OPTIONAL, requests SignalRequestList OPTIONAL,
-- Request Data for one or more signalized
-- intersections that support SRM dialogs
requestor RequestorDescription, requestor RequestorDescription,
-- Requesting Device and other User Data
-- contains vehicle ID (if from a vehicle)
-- as well as type data and current position
-- and may contain additional transit data
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalRequestMessage}} OPTIONAL, RegionalExtension {{Reg-SignalRequestMessage}} OPTIONAL,
... ...
...@@ -114,69 +126,26 @@ SignalStatusMessage ::= SEQUENCE { ...@@ -114,69 +126,26 @@ SignalStatusMessage ::= SEQUENCE {
timeStamp MinuteOfTheYear OPTIONAL, timeStamp MinuteOfTheYear OPTIONAL,
second DSecond, second DSecond,
sequenceNumber MsgCount OPTIONAL, sequenceNumber MsgCount OPTIONAL,
-- Status Data for one of more signalized intersections
status SignalStatusList, status SignalStatusList,
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalStatusMessage}} OPTIONAL, RegionalExtension {{Reg-SignalStatusMessage}} OPTIONAL,
... ...
} }
MapData ::= SEQUENCE {
timeStamp MinuteOfTheYear OPTIONAL,
msgIssueRevision MsgCount,
layerType LayerType OPTIONAL,
layerID LayerID OPTIONAL,
intersections IntersectionGeometryList OPTIONAL,
-- All Intersection definitions
roadSegments RoadSegmentList OPTIONAL,
-- All roadway descriptions
dataParameters DataParameters OPTIONAL,
-- Any meta data regarding the map contents
restrictionList RestrictionClassList OPTIONAL,
-- Any restriction ID tables which have
-- established for these map entries
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-MapData}} OPTIONAL,
-- NOTE:
-- Other map data will be added here as it is defined
-- Examples of the type of content to be added include
-- curve warnings, construction routes, etc.
...
}
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
--
-- Start of entries from table Data_Frames... -- Start of entries from table Data_Frames...
-- This table typicaly contains data frame entries. -- Data frames
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
--
AdvisorySpeed ::= SEQUENCE { AdvisorySpeed ::= SEQUENCE {
type AdvisorySpeedType, type AdvisorySpeedType,
-- the type of advisory which this is.
speed SpeedAdvice OPTIONAL, speed SpeedAdvice OPTIONAL,
-- See Section 11 for converting and translating speed confidence SpeedConfidenceDSRC OPTIONAL,
-- expressed in mph into units of m/s
-- This element is optional ONLY when superceded
-- by the presence of a regional speed element found in
-- Reg-AdvisorySpeed entry
confidence SpeedConfidence OPTIONAL,
-- A confidence value for the above speed
distance ZoneLength OPTIONAL, distance ZoneLength OPTIONAL,
-- Unit = 1 meter,
-- The distance indicates the region for which the advised speed
-- is recommended, it is specified upstream from the stop bar
-- along the connected egressing lane
class RestrictionClassID OPTIONAL, class RestrictionClassID OPTIONAL,
-- the vehicle types to which it applies
-- when absent, the AdvisorySpeed applies to
-- all motor vehicle types
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-AdvisorySpeed}} OPTIONAL, RegionalExtension {{Reg-AdvisorySpeed}} OPTIONAL,
... ...
...@@ -184,12 +153,14 @@ AdvisorySpeed ::= SEQUENCE { ...@@ -184,12 +153,14 @@ AdvisorySpeed ::= SEQUENCE {
AdvisorySpeedList ::= SEQUENCE (SIZE(1..16)) OF AdvisorySpeed AdvisorySpeedList ::= SEQUENCE (SIZE(1..16)) OF AdvisorySpeed
AntennaOffsetSet ::= SEQUENCE {
antOffsetX Offset-B12,
antOffsetY Offset-B09,
antOffsetZ Offset-B10
}
ComputedLane ::= SEQUENCE { ComputedLane ::= SEQUENCE {
-- Data needed to created a computed lane
referenceLaneId LaneID, referenceLaneId LaneID,
-- the lane ID upon which this
-- computed lane will be based
-- Lane Offset in X and Y direction
offsetXaxis CHOICE { offsetXaxis CHOICE {
small DrivenLineOffsetSm, small DrivenLineOffsetSm,
large DrivenLineOffsetLg large DrivenLineOffsetLg
...@@ -198,27 +169,9 @@ ComputedLane ::= SEQUENCE { ...@@ -198,27 +169,9 @@ ComputedLane ::= SEQUENCE {
small DrivenLineOffsetSm, small DrivenLineOffsetSm,
large DrivenLineOffsetLg large DrivenLineOffsetLg
}, },
-- A path X offset value for translations of the
-- path's points when creating translated lanes.
-- The values found in the reference lane are
-- all offset based on the X and Y values from
-- the coordinates of the reference lane's
-- initial path point.
-- Lane Rotation
rotateXY Angle OPTIONAL, rotateXY Angle OPTIONAL,
-- A path rotation value for the entire lane
-- Observe that this rotates the existing orientation
-- of the referenced lane, it does not replace it.
-- Rotation occurs about the initial path point.
-- Lane Path Scale (zooming)
scaleXaxis Scale-B12 OPTIONAL, scaleXaxis Scale-B12 OPTIONAL,
scaleYaxis Scale-B12 OPTIONAL, scaleYaxis Scale-B12 OPTIONAL,
-- value for translations or zooming of the path's
-- points. The values found in the reference lane
-- are all expanded or contracted based on the X
-- and Y and width values from the coordinates of
-- the reference lane's initial path point.
-- The Z axis remains untouched.
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-ComputedLane}} OPTIONAL, RegionalExtension {{Reg-ComputedLane}} OPTIONAL,
... ...
...@@ -226,83 +179,26 @@ ComputedLane ::= SEQUENCE { ...@@ -226,83 +179,26 @@ ComputedLane ::= SEQUENCE {
ConnectsToList ::= SEQUENCE (SIZE(1..16)) OF Connection ConnectsToList ::= SEQUENCE (SIZE(1..16)) OF Connection
ConnectingLane ::= SEQUENCE { ConnectingLane ::= SEQUENCE {
lane LaneID, -- Index of the connecting lane lane LaneID,
maneuver AllowedManeuvers OPTIONAL maneuver AllowedManeuvers OPTIONAL
-- The Maneuver between
-- the enclosing lane and this lane
-- at the stop line to connect them
} }
Connection ::= SEQUENCE { Connection ::= SEQUENCE {
-- The subject lane connecting to this lane is:
connectingLane ConnectingLane, connectingLane ConnectingLane,
-- The index of the connecting lane and also
-- the maneuver from the current lane to it
remoteIntersection IntersectionReferenceID OPTIONAL, remoteIntersection IntersectionReferenceID OPTIONAL,
-- This entry is only used when the
-- indicated connecting lane belongs
-- to another intersection layout. This
-- provides a means to create meshes of lanes
-- SPAT mapping details at the stop line are:
signalGroup SignalGroupID OPTIONAL, signalGroup SignalGroupID OPTIONAL,
-- The matching signal group send by
-- the SPAT message for this lane/maneuver.
-- Shall be present unless the connectingLane
-- has no signal group (is un-signalized)
userClass RestrictionClassID OPTIONAL, userClass RestrictionClassID OPTIONAL,
-- The Restriction Class of users this applies to
-- The use of some lane/maneuver and SignalGroupID
-- pairings are restricted to selected users.
-- When absent, the SignalGroupID applies to all
-- Movement assist details are given by:
connectionID LaneConnectionID OPTIONAL connectionID LaneConnectionID OPTIONAL
-- An optional connection index used to
-- relate this lane connection to any dynamic
-- clearance data in the SPAT. Note that
-- the index may be shared with other
-- connections if the clearance data is common
} }
ConnectionManeuverAssist ::= SEQUENCE { ConnectionManeuverAssist ::= SEQUENCE {
connectionID LaneConnectionID, connectionID LaneConnectionID,
-- the common connectionID used by all lanes to which
-- this data applies
-- (this value traces to ConnectsTo entries in lanes)
-- Expected Clearance Information
queueLength ZoneLength OPTIONAL, queueLength ZoneLength OPTIONAL,
-- Unit = 1 meter, 0 = no queue
-- The distance from the stop line to the back
-- edge of the last vehicle in the queue,
-- as measured along the lane center line.
availableStorageLength ZoneLength OPTIONAL, availableStorageLength ZoneLength OPTIONAL,
-- Unit = 1 meter, 0 = no space remains
-- Distance (e.g. beginning from the downstream
-- stop-line up to a given distance) with a high
-- probability for successfully executing the
-- connecting maneuver between the two lanes
-- during the current cycle.
-- Used for enhancing the awareness of vehicles
-- to anticipate if they can pass the stop line
-- of the lane. Used for optimizing the green wave,
-- due to knowledge of vehicles waiting in front
-- of a red light (downstream).
-- The element nextTime in TimeChangeDetails
-- in the containing data frame contains the next
-- timemark at which an active phase is expected,
-- a form of storage flush interval.
waitOnStop WaitOnStopline OPTIONAL, waitOnStop WaitOnStopline OPTIONAL,
-- If "true", the vehicles on this specific connecting
-- maneuver have to stop on the stop-line and not
-- to enter the collision area
pedBicycleDetect PedestrianBicycleDetect OPTIONAL, pedBicycleDetect PedestrianBicycleDetect OPTIONAL,
-- true if ANY ped or bicycles are detected crossing
-- the above lanes. Set to false ONLY if there is a
-- high certainty that there are none present,
-- otherwise element is not sent.
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-ConnectionManeuverAssist}} OPTIONAL, RegionalExtension {{Reg-ConnectionManeuverAssist}} OPTIONAL,
... ...
...@@ -316,45 +212,44 @@ DataParameters ::= SEQUENCE { ...@@ -316,45 +212,44 @@ DataParameters ::= SEQUENCE {
... ...
} }
DDateTime ::= SEQUENCE {
year DYear OPTIONAL,
month DMonth OPTIONAL,
day DDay OPTIONAL,
hour DHour OPTIONAL,
minute DMinute OPTIONAL,
second DSecond OPTIONAL,
offset DOffset OPTIONAL
}
EnabledLaneList ::= SEQUENCE (SIZE(1..16)) OF LaneID EnabledLaneList ::= SEQUENCE (SIZE(1..16)) OF LaneID
-- The unique ID numbers for each
-- lane object which is 'active' FullPositionVector ::= SEQUENCE {
-- as part of the dynamic map contents. utcTime DDateTime OPTIONAL, -- time with mSec precision
long Longitude,
lat Latitude,
elevation Elevation OPTIONAL,
heading HeadingDSRC OPTIONAL,
speed TransmissionAndSpeed OPTIONAL,
posAccuracy PositionalAccuracy OPTIONAL,
timeConfidence TimeConfidence OPTIONAL,
posConfidence PositionConfidenceSet OPTIONAL,
speedConfidence SpeedandHeadingandThrottleConfidence OPTIONAL,
...
}
GenericLane ::= SEQUENCE { GenericLane ::= SEQUENCE {
laneID LaneID, laneID LaneID,
-- The unique ID number assigned
-- to this lane object
name DescriptiveName OPTIONAL, name DescriptiveName OPTIONAL,
-- often for debug use only ingressApproach ApproachID OPTIONAL,
-- but at times used to name ped crossings egressApproach ApproachID OPTIONAL,
ingressApproach ApproachID OPTIONAL, -- inbound
egressApproach ApproachID OPTIONAL, -- outbound
-- Approach IDs to which this lane belongs
laneAttributes LaneAttributes, laneAttributes LaneAttributes,
-- All Attribute information about
-- the basic selected lane type
-- Directions of use, Geometric co-sharing
-- and Type Specific Attributes
-- These Attributes are 'lane - global' that is,
-- they are true for the entire length of the lane
maneuvers AllowedManeuvers OPTIONAL, maneuvers AllowedManeuvers OPTIONAL,
-- the permitted maneuvers for this lane
nodeList NodeListXY, nodeList NodeListXY,
-- Lane spatial path information as well as
-- various Attribute information along the node path
-- Attributes found here are more general and may
-- come and go over the length of the lane.
connectsTo ConnectsToList OPTIONAL, connectsTo ConnectsToList OPTIONAL,
-- a list of other lanes and their signal group IDs
-- each connecting lane and its signal group ID
-- is given, therefore this element provides the
-- information formerly in "signalGroups" in prior
-- editions.
overlays OverlayLaneList OPTIONAL, overlays OverlayLaneList OPTIONAL,
-- A list of any lanes which have spatial paths that
-- overlay (run on top of, and not simply cross)
-- the path of this lane when used
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-GenericLane}} OPTIONAL, RegionalExtension {{Reg-GenericLane}} OPTIONAL,
... ...
...@@ -369,39 +264,13 @@ IntersectionAccessPoint ::= CHOICE { ...@@ -369,39 +264,13 @@ IntersectionAccessPoint ::= CHOICE {
IntersectionGeometry ::= SEQUENCE { IntersectionGeometry ::= SEQUENCE {
name DescriptiveName OPTIONAL, name DescriptiveName OPTIONAL,
-- For debug use only
id IntersectionReferenceID, id IntersectionReferenceID,
-- A globally unique value set,
-- consisting of a regionID and
-- intersection ID assignment
revision MsgCount, revision MsgCount,
refPoint Position3D,
-- Required default values about lane descriptions follow
refPoint Position3D, -- The reference from which subsequent
-- data points are offset until a new
-- point is used.
laneWidth LaneWidth OPTIONAL, laneWidth LaneWidth OPTIONAL,
-- Reference width used by all subsequent
-- lanes unless a new width is given
speedLimits SpeedLimitList OPTIONAL, speedLimits SpeedLimitList OPTIONAL,
-- Reference regulatory speed limits laneSet LaneList,
-- used by all subsequent
-- lanes unless a new speed is given
-- See Section 11 for converting and
-- translating speed expressed in mph
-- into units of m/s
-- Complete details regarding each lane type in this intersection
laneSet LaneList, -- Data about one or more lanes
-- (all lane data is found here)
-- Data describing how to use and request preemption and
-- priority services from this intersection (if supported)
-- NOTE Additonal data may be added in the next release of the
-- standard at this point to handle this concept
preemptPriorityData PreemptPriorityList OPTIONAL, preemptPriorityData PreemptPriorityList OPTIONAL,
-- data about one or more regional
-- preempt or priority zones
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-IntersectionGeometry}} OPTIONAL, RegionalExtension {{Reg-IntersectionGeometry}} OPTIONAL,
... ...
...@@ -411,47 +280,19 @@ IntersectionGeometryList ::= SEQUENCE (SIZE(1..32)) OF IntersectionGeometry ...@@ -411,47 +280,19 @@ IntersectionGeometryList ::= SEQUENCE (SIZE(1..32)) OF IntersectionGeometry
IntersectionReferenceID ::= SEQUENCE { IntersectionReferenceID ::= SEQUENCE {
region RoadRegulatorID OPTIONAL, region RoadRegulatorID OPTIONAL,
-- a globally unique regional assignment value
-- typical assigned to a regional DOT authority
-- the value zero shall be used for testing needs
id IntersectionID id IntersectionID
-- a unique mapping to the intersection
-- in question within the above region of use
} }
IntersectionState ::= SEQUENCE { IntersectionState ::= SEQUENCE {
name DescriptiveName OPTIONAL, name DescriptiveName OPTIONAL,
-- human readable name for intersection
-- to be used only in debug mode
id IntersectionReferenceID, id IntersectionReferenceID,
-- A globally unique value set, consisting of a
-- regionID and intersection ID assignment
-- provides a unique mapping to the
-- intersection MAP in question
-- which provides complete location
-- and approach/move/lane data
revision MsgCount, revision MsgCount,
status IntersectionStatusObject, status IntersectionStatusObject,
-- general status of the controller(s)
moy MinuteOfTheYear OPTIONAL, moy MinuteOfTheYear OPTIONAL,
-- Minute of current UTC year
-- used only with messages to be archived
timeStamp DSecond OPTIONAL, timeStamp DSecond OPTIONAL,
-- the mSec point in the current UTC minute that
-- this message was constructed
enabledLanes EnabledLaneList OPTIONAL, enabledLanes EnabledLaneList OPTIONAL,
-- a list of lanes where the RevocableLane bit
-- has been set which are now active and
-- therefore part of the current intersection
states MovementList, states MovementList,
-- Each Movement is given in turn
-- and contains its signal phase state,
-- mapping to the lanes it applies to, and
-- point in time it will end, and it
-- may contain both active and future states
maneuverAssistList ManeuverAssistList OPTIONAL, maneuverAssistList ManeuverAssistList OPTIONAL,
-- Assist data
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-IntersectionState}} OPTIONAL, RegionalExtension {{Reg-IntersectionState}} OPTIONAL,
... ...
...@@ -460,36 +301,20 @@ IntersectionState ::= SEQUENCE { ...@@ -460,36 +301,20 @@ IntersectionState ::= SEQUENCE {
IntersectionStateList ::= SEQUENCE (SIZE(1..32)) OF IntersectionState IntersectionStateList ::= SEQUENCE (SIZE(1..32)) OF IntersectionState
LaneAttributes ::= SEQUENCE { LaneAttributes ::= SEQUENCE {
directionalUse LaneDirection, -- directions of lane use directionalUse LaneDirection,
sharedWith LaneSharing, -- co-users of the lane path sharedWith LaneSharing,
laneType LaneTypeAttributes, -- specific lane type data laneType LaneTypeAttributes,
regional RegionalExtension {{Reg-LaneAttributes}} OPTIONAL regional RegionalExtension {{Reg-LaneAttributes}} OPTIONAL
} }
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop /*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
LaneDataAttribute ::= CHOICE { LaneDataAttribute ::= CHOICE {
-- Segment attribute types and the data needed for each
pathEndPointAngle DeltaAngle, pathEndPointAngle DeltaAngle,
-- adjusts final point/width slant
-- of the lane to align with the stop line
laneCrownPointCenter RoadwayCrownAngle, laneCrownPointCenter RoadwayCrownAngle,
-- sets the canter of the road bed
-- from centerline point
laneCrownPointLeft RoadwayCrownAngle, laneCrownPointLeft RoadwayCrownAngle,
-- sets the canter of the road bed
-- from left edge
laneCrownPointRight RoadwayCrownAngle, laneCrownPointRight RoadwayCrownAngle,
-- sets the canter of the road bed
-- from right edge
laneAngle MergeDivergeNodeAngle, laneAngle MergeDivergeNodeAngle,
-- the angle or direction of another lane
-- this is required to support Japan style
-- when a merge point angle is required
speedLimits SpeedLimitList, speedLimits SpeedLimitList,
-- Reference regulatory speed limits
-- used by all segments
-- Add others as needed, in regional space
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-LaneDataAttribute}}, RegionalExtension {{Reg-LaneDataAttribute}},
... ...
...@@ -501,17 +326,9 @@ LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute ...@@ -501,17 +326,9 @@ LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute
LaneList ::= SEQUENCE (SIZE(1..255)) OF GenericLane LaneList ::= SEQUENCE (SIZE(1..255)) OF GenericLane
LaneSharing ::= BIT STRING { LaneSharing ::= BIT STRING {
-- With bits as defined:
overlappingLaneDescriptionProvided (0), overlappingLaneDescriptionProvided (0),
-- Assert when another lane object is present to describe the
-- path of the overlapping shared lane
-- this construct is not used for lane objects which simply cross
multipleLanesTreatedAsOneLane (1), multipleLanesTreatedAsOneLane (1),
-- Assert if the lane object path and width details represents otherNonMotorizedTrafficTypes (2),
-- multiple lanes within it that are not further described
-- Various modes and type of traffic that may share this lane:
otherNonMotorizedTrafficTypes (2), -- horse drawn etc.
individualMotorizedVehicleTraffic (3), individualMotorizedVehicleTraffic (3),
busVehicleTraffic (4), busVehicleTraffic (4),
taxiVehicleTraffic (5), taxiVehicleTraffic (5),
...@@ -520,72 +337,39 @@ LaneSharing ::= BIT STRING { ...@@ -520,72 +337,39 @@ LaneSharing ::= BIT STRING {
trackedVehicleTraffic (8), trackedVehicleTraffic (8),
pedestrianTraffic (9) pedestrianTraffic (9)
} (SIZE (10)) } (SIZE (10))
-- All zeros would indicate 'not shared' and 'not overlapping'
LaneTypeAttributes ::= CHOICE { LaneTypeAttributes ::= CHOICE {
vehicle LaneAttributes-Vehicle, -- motor vehicle lanes vehicle LaneAttributes-Vehicle,
crosswalk LaneAttributes-Crosswalk, -- pedestrian crosswalks crosswalk LaneAttributes-Crosswalk,
bikeLane LaneAttributes-Bike, -- bike lanes bikeLane LaneAttributes-Bike,
sidewalk LaneAttributes-Sidewalk, -- pedestrian sidewalk paths sidewalk LaneAttributes-Sidewalk,
median LaneAttributes-Barrier, -- medians & channelization median LaneAttributes-Barrier,
striping LaneAttributes-Striping, -- roadway markings striping LaneAttributes-Striping,
trackedVehicle LaneAttributes-TrackedVehicle, -- trains and trolleys trackedVehicle LaneAttributes-TrackedVehicle,
parking LaneAttributes-Parking, -- parking and stopping lanes parking LaneAttributes-Parking,
... ...
} }
ManeuverAssistList ::= SEQUENCE (SIZE(1..16)) OF ConnectionManeuverAssist ManeuverAssistList ::= SEQUENCE (SIZE(1..16)) OF ConnectionManeuverAssist
MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent
MovementEvent ::= SEQUENCE { MovementEvent ::= SEQUENCE {
eventState MovementPhaseState, eventState MovementPhaseState,
-- Consisting of:
-- Phase state (the basic 11 states)
-- Directional, protected, or permissive state
timing TimeChangeDetails OPTIONAL, timing TimeChangeDetails OPTIONAL,
-- Timing Data in UTC time stamps for event
-- includes start and min/max end times of phase
-- confidence and estimated next occurrence
speeds AdvisorySpeedList OPTIONAL, speeds AdvisorySpeedList OPTIONAL,
-- various speed advisories for use by
-- general and specific types of vehicles
-- supporting green-wave and other flow needs
-- See Section 11 for converting and translating
-- speed expressed in mph into units of m/s
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-MovementEvent}} OPTIONAL, RegionalExtension {{Reg-MovementEvent}} OPTIONAL,
... ...
} }
MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent
MovementList ::= SEQUENCE (SIZE(1..255)) OF MovementState MovementList ::= SEQUENCE (SIZE(1..255)) OF MovementState
MovementState ::= SEQUENCE { MovementState ::= SEQUENCE {
movementName DescriptiveName OPTIONAL, movementName DescriptiveName OPTIONAL,
-- uniquely defines movement by name
-- human readable name for intersection
-- to be used only in debug mode
signalGroup SignalGroupID, signalGroup SignalGroupID,
-- the group id is used to map to lists
-- of lanes (and their descriptions)
-- which this MovementState data applies to
-- see comments in the Remarks for usage details
state-time-speed MovementEventList, state-time-speed MovementEventList,
-- Consisting of sets of movement data with:
-- a) SignalPhaseState
-- b) TimeChangeDetails, and
-- c) AdvisorySpeeds (optional )
-- Note one or more of the movement events may be for
-- a future time and that this allows conveying multiple
-- predictive phase and movement timing for various uses
-- for the current signal group
maneuverAssistList ManeuverAssistList OPTIONAL, maneuverAssistList ManeuverAssistList OPTIONAL,
-- This information may also be placed in the
-- IntersectionState when common information applies to
-- different lanes in the same way
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-MovementState}} OPTIONAL, RegionalExtension {{Reg-MovementState}} OPTIONAL,
... ...
...@@ -594,74 +378,35 @@ MovementState ::= SEQUENCE { ...@@ -594,74 +378,35 @@ MovementState ::= SEQUENCE {
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop /*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
NodeAttributeSetXY ::= SEQUENCE { NodeAttributeSetXY ::= SEQUENCE {
localNode NodeAttributeXYList OPTIONAL, localNode NodeAttributeXYList OPTIONAL,
-- Attribute states which pertain to this node point
disabled SegmentAttributeXYList OPTIONAL, disabled SegmentAttributeXYList OPTIONAL,
-- Attribute states which are disabled at this node point
enabled SegmentAttributeXYList OPTIONAL, enabled SegmentAttributeXYList OPTIONAL,
-- Attribute states which are enabled at this node point
-- and which remain enabled until disabled or the lane ends
data LaneDataAttributeList OPTIONAL, data LaneDataAttributeList OPTIONAL,
-- Attributes which require an additional data values
-- some of these are local to the node point, while others
-- persist with the provided values until changed
-- and this is indicated in each entry
dWidth Offset-B10 OPTIONAL, dWidth Offset-B10 OPTIONAL,
-- A value added to the current lane width
-- at this node and from this node onwards, in 1cm steps
-- lane width between nodes are a linear taper between pts
-- the value of zero shall not be sent here
dElevation Offset-B10 OPTIONAL, dElevation Offset-B10 OPTIONAL,
-- A value added to the current Elevation
-- at this node from this node onwards, in 10cm steps
-- elevations between nodes are a linear taper between pts
-- the value of zero shall not be sent here
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL, RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL,
... ...
} }
NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY
NodeAttributeXY ::= ENUMERATED { NodeAttributeXY ::= ENUMERATED {
-- Various values which pertain only to the current node point
-- General Items
reserved, reserved,
stopLine, -- point where a mid-path stop line exists stopLine,
-- See also 'do not block' for segments roundedCapStyleA,
roundedCapStyleB,
-- Path finish details mergePoint,
roundedCapStyleA, -- Used to control final path rounded end shape divergePoint,
-- with edge of curve at final point in a circle downstreamStopLine,
roundedCapStyleB, -- Used to control final path rounded end shape downstreamStartNode,
-- with edge of curve extending 50% of width past closedToTraffic,
-- final point in a circle safeIsland,
curbPresentAtStepOff,
-- Topography Points (items with no concept of a distance along the path) hydrantPresent,
mergePoint, -- Japan merge with 1 or more lanes
divergePoint, -- Japan diverge with 1 or more lanes
downstreamStopLine, -- Japan style downstream intersection
-- (a 2nd intersection) stop line
downstreamStartNode, -- Japan style downstream intersection
-- (a 2nd intersection) start node
-- Pedestrian Support Attributes
closedToTraffic, -- where a pedestrian may NOT go
-- to be used during construction events
safeIsland, -- a pedestrian safe stopping point
-- also called a traffic island
-- This usage described a point feature on a path,
-- other entries can describe a path
curbPresentAtStepOff, -- the sidewalk to street curb is NOT
-- angled where it meets the edge of the
-- roadway (user must step up/down)
-- Lane geometry details (see standard for defined shapes)
hydrantPresent, -- Or other services access
... ...
} }
*/ */
NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY
Node-LLmD-64b ::= SEQUENCE { Node-LLmD-64b ::= SEQUENCE {
lon Longitude, lon Longitude,
lat Latitude lat Latitude
...@@ -706,54 +451,49 @@ Node-XY-32b ::= SEQUENCE { ...@@ -706,54 +451,49 @@ Node-XY-32b ::= SEQUENCE {
NodeListXY ::= CHOICE { NodeListXY ::= CHOICE {
nodes NodeSetXY, nodes NodeSetXY,
-- a lane made up of two or more
-- XY node points and any attributes
-- defined in those nodes
computed ComputedLane, computed ComputedLane,
-- a lane path computed by translating
-- the data defined by another lane
... ...
} }
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop /*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
NodeOffsetPointXY ::= CHOICE { NodeOffsetPointXY ::= CHOICE {
-- Nodes with X,Y content node-XY1 Node-XY-20b,
node-XY1 Node-XY-20b, -- node is within 5.11m of last node node-XY2 Node-XY-22b,
node-XY2 Node-XY-22b, -- node is within 10.23m of last node node-XY3 Node-XY-24b,
node-XY3 Node-XY-24b, -- node is within 20.47m of last node node-XY4 Node-XY-26b,
node-XY4 Node-XY-26b, -- node is within 40.96m of last node node-XY5 Node-XY-28b,
node-XY5 Node-XY-28b, -- node is within 81.91m of last node node-XY6 Node-XY-32b,
node-XY6 Node-XY-32b, -- node is within 327.67m of last node node-LatLon Node-LLmD-64b,
node-LatLon Node-LLmD-64b, -- node is a full 32b Lat/Lon range
regional RegionalExtension {{Reg-NodeOffsetPointXY}} regional RegionalExtension {{Reg-NodeOffsetPointXY}}
-- node which follows is of a
-- regional definition type
} }
NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY
NodeXY ::= SEQUENCE { NodeXY ::= SEQUENCE {
delta NodeOffsetPointXY, delta NodeOffsetPointXY,
-- A choice of which X,Y offset value to use
-- this includes various delta values as well a regional choices
attributes NodeAttributeSetXY OPTIONAL, attributes NodeAttributeSetXY OPTIONAL,
-- Any optional Attributes which are needed
-- This includes changes to the current lane width and elevation
... ...
} }
NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY
*/ */
OverlayLaneList ::= SEQUENCE (SIZE(1..5)) OF LaneID OverlayLaneList ::= SEQUENCE (SIZE(1..5)) OF LaneID
-- The unique ID numbers for any lane object which have
-- spatial paths that overlay (run on top of, and not PositionalAccuracy ::= SEQUENCE {
-- simply cross with) the current lane. semiMajor SemiMajorAxisAccuracy,
-- Such as a train path that overlays a motor vehicle semiMinor SemiMinorAxisAccuracy,
-- lane object for a roadway segment. orientation SemiMajorAxisOrientation
}
PositionConfidenceSet ::= SEQUENCE {
pos PositionConfidence, -- for both horizontal directions
elevation ElevationConfidence
}
Position3D ::= SEQUENCE { Position3D ::= SEQUENCE {
lat Latitude, -- in 1/10th micro degrees lat Latitude,
long Longitude, -- in 1/10th micro degrees long Longitude,
elevation Elevation OPTIONAL, -- in 10 cm units elevation Elevation OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-Position3D}} OPTIONAL, RegionalExtension {{Reg-Position3D}} OPTIONAL,
... ...
...@@ -764,36 +504,19 @@ PreemptPriorityList ::= SEQUENCE (SIZE(1..32)) OF SignalControlZone ...@@ -764,36 +504,19 @@ PreemptPriorityList ::= SEQUENCE (SIZE(1..32)) OF SignalControlZone
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop /*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
RegulatorySpeedLimit ::= SEQUENCE { RegulatorySpeedLimit ::= SEQUENCE {
type SpeedLimitType, type SpeedLimitType,
-- The type of regulatory speed which follows
speed Velocity speed Velocity
-- The speed in units of 0.02 m/s
-- See Section 11 for converting and translating
-- speed expressed in mph into units of m/s
} }
*/ */
RequestorDescription ::= SEQUENCE { RequestorDescription ::= SEQUENCE {
id VehicleID, id VehicleID,
-- The ID used in the BSM or CAM of the requestor
-- This ID is presumed not to change
-- during the exchange
type RequestorType OPTIONAL, type RequestorType OPTIONAL,
-- Information regarding all type and class data
-- about the requesting vehicle
position RequestorPositionVector OPTIONAL, position RequestorPositionVector OPTIONAL,
-- The location of the requesting vehicle
name DescriptiveName OPTIONAL, name DescriptiveName OPTIONAL,
-- A human readable name for debugging use
-- Support for Transit requests
routeName DescriptiveName OPTIONAL, routeName DescriptiveName OPTIONAL,
-- A string for transit operations use
transitStatus TransitVehicleStatus OPTIONAL, transitStatus TransitVehicleStatus OPTIONAL,
-- current vehicle state (loading, etc.)
transitOccupancy TransitVehicleOccupancy OPTIONAL, transitOccupancy TransitVehicleOccupancy OPTIONAL,
-- current vehicle occupancy
transitSchedule DeltaTime OPTIONAL, transitSchedule DeltaTime OPTIONAL,
-- current vehicle schedule adherence
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RequestorDescription}} OPTIONAL, RegionalExtension {{Reg-RequestorDescription}} OPTIONAL,
... ...
...@@ -807,83 +530,46 @@ RequestorPositionVector ::= SEQUENCE { ...@@ -807,83 +530,46 @@ RequestorPositionVector ::= SEQUENCE {
} }
RequestorType ::= SEQUENCE { RequestorType ::= SEQUENCE {
-- Defines who is requesting role BasicVehicleRole,
role BasicVehicleRole, -- Basic role of this user at this time subrole RequestSubRole OPTIONAL,
subrole RequestSubRole OPTIONAL, -- A local list with role based items request RequestImportanceLevel OPTIONAL,
-- Defines what kind of request (a level of importance in the Priority Scheme)
request RequestImportanceLevel OPTIONAL, -- A local list with request items
-- Additional classification details
iso3883 Iso3833VehicleType OPTIONAL, iso3883 Iso3833VehicleType OPTIONAL,
hpmsType VehicleType OPTIONAL, -- HPMS classification types hpmsType VehicleType OPTIONAL,
regional RegionalExtension {{Reg-RequestorType}} OPTIONAL, regional RegionalExtension {{Reg-RequestorType}} OPTIONAL,
... ...
} }
RestrictionClassAssignment ::= SEQUENCE { RestrictionClassAssignment ::= SEQUENCE {
id RestrictionClassID, id RestrictionClassID,
-- the unique value (within an intersection or local region)
-- that is assigned to this group of users
users RestrictionUserTypeList users RestrictionUserTypeList
-- The list of user types/classes
-- to which this restriction ID applies
} }
RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment
RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF RestrictionUserType
RestrictionUserType ::= CHOICE { RestrictionUserType ::= CHOICE {
basicType RestrictionAppliesTo, basicType RestrictionAppliesTo,
-- a set of the most commonly used types
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RestrictionUserType}}, RegionalExtension {{Reg-RestrictionUserType}},
... ...
} }
RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF RestrictionUserType
RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane
RoadSegmentReferenceID ::= SEQUENCE { RoadSegmentReferenceID ::= SEQUENCE {
region RoadRegulatorID OPTIONAL, region RoadRegulatorID OPTIONAL,
-- a globally unique regional assignment value
-- typically assigned to a regional DOT authority
-- the value zero shall be used for testing needs
id RoadSegmentID id RoadSegmentID
-- a unique mapping to the road segment
-- in question within the above region of use
-- during its period of assignment and use
-- note that unlike intersectionID values,
-- this value can be reused by the region
} }
RoadSegment ::= SEQUENCE { RoadSegment ::= SEQUENCE {
name DescriptiveName OPTIONAL, name DescriptiveName OPTIONAL,
id RoadSegmentReferenceID, id RoadSegmentReferenceID,
-- a globally unique value for the segment
revision MsgCount, revision MsgCount,
-- Required default values about the descriptions to follow refPoint Position3D,
refPoint Position3D, -- the reference from which subsequent
-- data points are offset until a new
-- point is used.
laneWidth LaneWidth OPTIONAL, laneWidth LaneWidth OPTIONAL,
-- Reference width used by all subsequent
-- lanes unless a new width is given
speedLimits SpeedLimitList OPTIONAL, speedLimits SpeedLimitList OPTIONAL,
-- Reference regulatory speed limits
-- used by all subsequent
-- lanes unless a new speed is given
-- See Section 11 for converting and
-- translating speed expressed in mph
-- into units of m/s
-- Data describing disruptions in the RoadSegment
-- such as work zones etc will be added here;
-- in the US the SAE ITIS codes would be used here
-- The details regarding each lane type in the RoadSegment
roadLaneSet RoadLaneSetList, roadLaneSet RoadLaneSetList,
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RoadSegment}} OPTIONAL, RegionalExtension {{Reg-RoadSegment}} OPTIONAL,
... ...
...@@ -891,6 +577,13 @@ RoadSegment ::= SEQUENCE { ...@@ -891,6 +577,13 @@ RoadSegment ::= SEQUENCE {
RoadSegmentList ::= SEQUENCE (SIZE(1..32)) OF RoadSegment RoadSegmentList ::= SEQUENCE (SIZE(1..32)) OF RoadSegment
RTCMheader ::= SEQUENCE {
status GNSSstatus,
offsetSet AntennaOffsetSet
}
RTCMmessageList ::= SEQUENCE (SIZE(1..5)) OF RTCMmessage
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop /*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY
*/ */
...@@ -901,17 +594,22 @@ SignalControlZone ::= SEQUENCE { ...@@ -901,17 +594,22 @@ SignalControlZone ::= SEQUENCE {
} }
SignalRequesterInfo ::= SEQUENCE { SignalRequesterInfo ::= SEQUENCE {
-- These three items serve to uniquely identify the requester
-- and the specific request to all parties
id VehicleID, id VehicleID,
request RequestID, request RequestID,
sequenceNumber MsgCount, sequenceNumber MsgCount,
role BasicVehicleRole OPTIONAL, role BasicVehicleRole OPTIONAL,
typeData RequestorType OPTIONAL, typeData RequestorType OPTIONAL,
-- Used when addition data besides the role ...
-- is needed, at which point the role entry }
-- above is not sent.
SignalRequest ::= SEQUENCE {
id IntersectionReferenceID,
requestID RequestID,
requestType PriorityRequestType,
inBoundLane IntersectionAccessPoint,
outBoundLane IntersectionAccessPoint OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalRequest}} OPTIONAL,
... ...
} }
...@@ -919,53 +617,20 @@ SignalRequestList ::= SEQUENCE (SIZE(1..32)) OF SignalRequestPackage ...@@ -919,53 +617,20 @@ SignalRequestList ::= SEQUENCE (SIZE(1..32)) OF SignalRequestPackage
SignalRequestPackage ::= SEQUENCE { SignalRequestPackage ::= SEQUENCE {
request SignalRequest, request SignalRequest,
-- The specific request to the intersection
-- contains IntersectionID, request type,
-- requested action (approach/lane request)
-- The Estimated Time of Arrival (ETA) when the service is requested
minute MinuteOfTheYear OPTIONAL, minute MinuteOfTheYear OPTIONAL,
second DSecond OPTIONAL, second DSecond OPTIONAL,
duration DSecond OPTIONAL, duration DSecond OPTIONAL,
-- The duration value is used to provide a short interval that
-- extends the ETA so that the requesting vehicle can arrive at
-- the point of service with uncertainty or with some desired
-- duration of service. This concept can be used to avoid needing
-- to frequently update the request.
-- The requester must update the ETA and duration values if the
-- period of services extends beyond the duration time.
-- It should be assumed that if the vehicle does not clear the
-- intersection when the duration is reached, the request will
-- be cancelled and the intersection will revert to
-- normal operation.
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL, RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL,
... ...
} }
SignalRequest ::= SEQUENCE { SignalStatus ::= SEQUENCE {
-- the unique ID of the target intersection sequenceNumber MsgCount,
id IntersectionReferenceID, id IntersectionReferenceID,
sigStatus SignalStatusPackageList,
-- The unique requestID used by the requestor
requestID RequestID,
-- The type of request or cancel for priority or preempt use
-- when a prior request is canceled, only the requestID is needed
requestType PriorityRequestType,
-- In typical use either an approach or a lane number would
-- be given, this indicates the requested
-- path through the intersection to the degree it is known.
inBoundLane IntersectionAccessPoint,
-- desired entry approach or lane
outBoundLane IntersectionAccessPoint OPTIONAL,
-- desired exit approach or lane
-- the values zero is used to indicate
-- intent to stop within the intersection
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalRequest}} OPTIONAL, RegionalExtension {{Reg-SignalStatus}} OPTIONAL,
... ...
} }
...@@ -974,58 +639,35 @@ SignalStatusList ::= SEQUENCE (SIZE(1..32)) OF SignalStatus ...@@ -974,58 +639,35 @@ SignalStatusList ::= SEQUENCE (SIZE(1..32)) OF SignalStatus
SignalStatusPackageList ::= SEQUENCE (SIZE(1..32)) OF SignalStatusPackage SignalStatusPackageList ::= SEQUENCE (SIZE(1..32)) OF SignalStatusPackage
SignalStatusPackage ::= SEQUENCE { SignalStatusPackage ::= SEQUENCE {
-- The party that made the initial SRM request
requester SignalRequesterInfo OPTIONAL, requester SignalRequesterInfo OPTIONAL,
-- The lanes or approaches used in the request inboundOn IntersectionAccessPoint,
inboundOn IntersectionAccessPoint, -- estimated lane / approach of vehicle
outboundOn IntersectionAccessPoint OPTIONAL, outboundOn IntersectionAccessPoint OPTIONAL,
-- The Estimated Time of Arrival (ETA) when the service is requested
-- This data echos the data of the request
minute MinuteOfTheYear OPTIONAL, minute MinuteOfTheYear OPTIONAL,
second DSecond OPTIONAL, second DSecond OPTIONAL,
duration DSecond OPTIONAL, duration DSecond OPTIONAL,
-- the SRM status for this request
status PrioritizationResponseStatus, status PrioritizationResponseStatus,
-- Status of request, this may include rejection
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL, RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL,
... ...
} }
SignalStatus ::= SEQUENCE { SpeedandHeadingandThrottleConfidence ::= SEQUENCE {
sequenceNumber MsgCount, heading HeadingConfidenceDSRC,
-- changed whenever the below contents have change speed SpeedConfidenceDSRC,
id IntersectionReferenceID, throttle ThrottleConfidence
-- this provides a unique mapping to the
-- intersection map in question
-- which provides complete location
-- and approach/movement/lane data
-- as well as zones for priority/preemption
sigStatus SignalStatusPackageList,
-- a list of detailed status containing all
-- priority or preemption state data, both
-- active and pending, and who requested it
-- requests which are denied are also listed
-- here for a short period of time
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalStatus}} OPTIONAL,
...
} }
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop /*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit
SpeedLimitType ::= ENUMERATED { SpeedLimitType ::= ENUMERATED {
unknown, -- Speed limit type not available unknown,
maxSpeedInSchoolZone, -- Only sent when the limit is active maxSpeedInSchoolZone,
maxSpeedInSchoolZoneWhenChildrenArePresent, -- Sent at any time maxSpeedInSchoolZoneWhenChildrenArePresent,
maxSpeedInConstructionZone, -- Used for work zones, incident zones, etc. maxSpeedInConstructionZone,
-- where a reduced speed is present
vehicleMinSpeed, vehicleMinSpeed,
vehicleMaxSpeed, -- Regulatory speed limit for general traffic vehicleMaxSpeed,
vehicleNightMaxSpeed, vehicleNightMaxSpeed,
truckMinSpeed, truckMinSpeed,
...@@ -1041,33 +683,14 @@ SpeedLimitType ::= ENUMERATED { ...@@ -1041,33 +683,14 @@ SpeedLimitType ::= ENUMERATED {
TimeChangeDetails ::= SEQUENCE { TimeChangeDetails ::= SEQUENCE {
startTime TimeMark OPTIONAL, startTime TimeMark OPTIONAL,
-- When this phase 1st started
minEndTime TimeMark, minEndTime TimeMark,
-- Expected shortest end time
maxEndTime TimeMark OPTIONAL, maxEndTime TimeMark OPTIONAL,
-- Expected longest end time
likelyTime TimeMark OPTIONAL, likelyTime TimeMark OPTIONAL,
-- Best predicted value based on other data
confidence TimeIntervalConfidence OPTIONAL, confidence TimeIntervalConfidence OPTIONAL,
-- Applies to above time element only
nextTime TimeMark OPTIONAL nextTime TimeMark OPTIONAL
-- A rough estimate of time when
-- this phase may next occur again
-- used to support various ECO driving power
-- management needs.
} }
TimeMark ::= INTEGER (0..36001) TimeMark ::= INTEGER (0..36001)
-- Tenths of a second in the current or next hour
-- In units of 1/10th second from UTC time
-- A range of 0~36000 covers one hour
-- The values 35991..36000 are used when a leap second occurs
-- The value 36001 is used to indicate time >3600 seconds
-- 36002 is to be used when value undefined or unknown
-- Note that this is NOT expressed in GPS time
-- or in local time
TransmissionAndSpeed ::= SEQUENCE { TransmissionAndSpeed ::= SEQUENCE {
transmisson TransmissionState, transmisson TransmissionState,
...@@ -1081,11 +704,8 @@ VehicleID ::= CHOICE { ...@@ -1081,11 +704,8 @@ VehicleID ::= CHOICE {
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
-- -- data elements
-- Start of entries from table Data_Elements...
-- This table typicaly contains data element entries.
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
--
AdvisorySpeedType ::= ENUMERATED { AdvisorySpeedType ::= ENUMERATED {
none (0), none (0),
...@@ -1093,172 +713,153 @@ AdvisorySpeedType ::= ENUMERATED { ...@@ -1093,172 +713,153 @@ AdvisorySpeedType ::= ENUMERATED {
ecoDrive (2), ecoDrive (2),
transit (3), transit (3),
... ...
} -- Note: subject to further growth }
AllowedManeuvers ::= BIT STRING { AllowedManeuvers ::= BIT STRING {
-- With bits as defined:
-- Allowed maneuvers at path end (stop line)
-- All maneuvers with bits not set are therefore prohibited !
-- A value of zero shall be used for unknown, indicating no Maneuver
maneuverStraightAllowed (0), maneuverStraightAllowed (0),
-- a Straight movement is allowed in this lane
maneuverLeftAllowed (1), maneuverLeftAllowed (1),
-- a Left Turn movement is allowed in this lane
maneuverRightAllowed (2), maneuverRightAllowed (2),
-- a Right Turn movement is allowed in this lane
maneuverUTurnAllowed (3), maneuverUTurnAllowed (3),
-- a U turn movement is allowed in this lane
maneuverLeftTurnOnRedAllowed (4), maneuverLeftTurnOnRedAllowed (4),
-- a Stop, and then proceed when safe movement
-- is allowed in this lane
maneuverRightTurnOnRedAllowed (5), maneuverRightTurnOnRedAllowed (5),
-- a Stop, and then proceed when safe movement
-- is allowed in this lane
maneuverLaneChangeAllowed (6), maneuverLaneChangeAllowed (6),
-- a movement which changes to an outer lane
-- on the egress side is allowed in this lane
-- (example: left into either outbound lane)
maneuverNoStoppingAllowed (7), maneuverNoStoppingAllowed (7),
-- the vehicle should not stop at the stop line
-- (example: a flashing green arrow)
yieldAllwaysRequired (8), yieldAllwaysRequired (8),
-- the allowed movements above are not protected
-- (example: an permanent yellow condition)
goWithHalt (9), goWithHalt (9),
-- after making a full stop, may proceed
caution (10), caution (10),
-- proceed past stop line with caution
reserved1 (11) reserved1 (11)
-- used to align to 12 Bit Field
} (SIZE(12)) } (SIZE(12))
Angle ::= INTEGER (0..28800) Angle ::= INTEGER (0..28800)
-- LSB of 0.0125 degrees
-- A range of 0 to 359.9875 degrees
ApproachID ::= INTEGER (0..15) -- zero to be used when valid value is unknown ApproachID ::= INTEGER (0..15)
BasicVehicleRole ::= ENUMERATED { BasicVehicleRole ::= ENUMERATED {
-- Values used in the EU and in the US basicVehicle (0),
basicVehicle (0), -- Light duty passenger vehicle type publicTransport (1),
publicTransport (1), -- Used in EU for Transit us specialTransport (2),
specialTransport (2), -- Used in EU (e.g. heavy load) dangerousGoods (3),
dangerousGoods (3), -- Used in EU for any HAZMAT roadWork (4),
roadWork (4), -- Used in EU for State and Local DOT uses roadRescue (5),
roadRescue (5), -- Used in EU and in the US to include tow trucks. emergency (6),
emergency (6), -- Used in EU for Police, Fire and Ambulance units safetyCar (7),
safetyCar (7), -- Used in EU for Escort vehicles none-unknown (8),
-- Begin US unique numbering truck (9),
none-unknown (8), -- added to follow current SAE style guidelines motorcycle (10),
truck (9), -- Heavy trucks with additional BSM rights and obligations roadSideSource (11),
motorcycle (10), -- police (12),
roadSideSource (11), -- For infrastructure generated calls such as fire (13),
-- fire house, rail infrastructure, roadwork site, etc. ambulance (14),
police (12), -- dot (15),
fire (13), -- transit (16),
ambulance (14), -- (does not include private para-transit etc.) slowMoving (17),
dot (15), -- all roadwork vehicles stopNgo (18),
transit (16), -- all transit vehicles cyclist (19),
slowMoving (17), -- to also include oversize etc. pedestrian (20),
stopNgo (18), -- to include trash trucks, school buses and others nonMotorized (21),
-- that routinely disturb the free flow of traffic military (22),
cyclist (19), --
pedestrian (20), -- also includes those with mobility limitations
nonMotorized (21), -- other, horse drawn, etc.
military (22), --
... ...
} }
DDay ::= INTEGER (0..31)
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop /*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
DeltaAngle ::= INTEGER (-150..150) DeltaAngle ::= INTEGER (-150..150)
-- With an angle range from
-- negative 150 to positive 150
-- in one degree steps where zero is directly
-- along the axis or the lane center line as defined by the
-- two closest points
DeltaTime ::= INTEGER (-122 .. 121) DeltaTime ::= INTEGER (-122 .. 121)
-- Supporting a range of +/- 20 minute in steps of 10 seconds
-- the value of -121 shall be used when more than -20 minutes
-- the value of +120 shall be used when more than +20 minutes
-- the value -122 shall be used when the value is unavailable
*/ */
DescriptiveName ::= IA5String (SIZE(1..63)) DescriptiveName ::= IA5String (SIZE(1..63))
DHour ::= INTEGER (0..31)
DMinute ::= INTEGER (0..60)
DMonth ::= INTEGER (0..12)
DOffset ::= INTEGER (-840..840)
DrivenLineOffsetLg ::= INTEGER (-32767..32767) DrivenLineOffsetLg ::= INTEGER (-32767..32767)
-- LSB units are 1 cm.
DrivenLineOffsetSm ::= INTEGER (-2047..2047) DrivenLineOffsetSm ::= INTEGER (-2047..2047)
-- LSB units are 1 cm.
DSecond ::= INTEGER (0..65535) -- units of milliseconds DSecond ::= INTEGER (0..65535)
DSRCmsgID ::= INTEGER (0..32767) DSRCmsgID ::= INTEGER (0..32767)
mapData DSRCmsgID ::= 18 -- MAP, intersections mapData DSRCmsgID ::= 18
signalPhaseAndTimingMessage DSRCmsgID ::= 19 -- SPAT rtcmCorrections DSRCmsgID ::= 28
signalRequestMessage DSRCmsgID ::= 29 -- SRM signalPhaseAndTimingMessage DSRCmsgID ::= 19
signalStatusMessage DSRCmsgID ::= 30 -- SSM signalRequestMessage DSRCmsgID ::= 29
signalStatusMessage DSRCmsgID ::= 30
DYear ::= INTEGER (0..4095)
Elevation ::= INTEGER (-4096..61439) Elevation ::= INTEGER (-4096..61439)
-- In units of 10 cm steps above or below the reference ellipsoid
-- Providing a range of -409.5 to + 6143.9 meters
-- The value -4096 shall be used when Unknown is to be sent
IntersectionID ::= INTEGER (0..65535) ElevationConfidence ::= ENUMERATED {
-- The values zero through 255 are allocated for testing purposes unavailable (0),
-- Note that the value assigned to an intersection will be elev-500-00 (1),
-- unique within a given regional ID only elev-200-00 (2),
elev-100-00 (3),
elev-050-00 (4),
elev-020-00 (5),
elev-010-00 (6),
elev-005-00 (7),
elev-002-00 (8),
elev-001-00 (9),
elev-000-50 (10),
elev-000-20 (11),
elev-000-10 (12),
elev-000-05 (13),
elev-000-02 (14),
elev-000-01 (15)
}
GNSSstatus ::= BIT STRING {
unavailable (0),
isHealthy (1),
isMonitored (2),
baseStationType (3),
aPDOPofUnder5 (4),
inViewOfUnder5 (5),
localCorrectionsPresent (6),
networkCorrectionsPresent (7)
} (SIZE(8))
HeadingConfidenceDSRC ::= ENUMERATED {
unavailable (0),
prec10deg (1),
prec05deg (2),
prec01deg (3),
prec0-1deg (4),
prec0-05deg (5),
prec0-01deg (6),
prec0-0125deg (7)
}
HeadingDSRC ::= INTEGER (0..28800)
IntersectionStatusObject ::= BIT STRING { IntersectionStatusObject ::= BIT STRING {
manualControlIsEnabled (0), manualControlIsEnabled (0),
-- Timing reported is per programmed values, etc. but person
-- at cabinet can manually request that certain intervals are
-- terminated early (e.g. green).
stopTimeIsActivated (1), stopTimeIsActivated (1),
-- And all counting/timing has stopped.
failureFlash (2), failureFlash (2),
-- Above to be used for any detected hardware failures,
-- e.g. conflict monitor as well as for police flash
preemptIsActive (3), preemptIsActive (3),
signalPriorityIsActive (4), signalPriorityIsActive (4),
-- Additional states
fixedTimeOperation (5), fixedTimeOperation (5),
-- Schedule of signals is based on time only
-- (i.e. the state can be calculated)
trafficDependentOperation (6), trafficDependentOperation (6),
-- Operation is based on different levels of traffic parameters
-- (requests, duration of gaps or more complex parameters)
standbyOperation (7), standbyOperation (7),
-- Controller: partially switched off or partially amber flashing
failureMode (8), failureMode (8),
-- Controller has a problem or failure in operation
off (9), off (9),
-- Controller is switched off
-- Related to MAP and SPAT bindings
recentMAPmessageUpdate (10), recentMAPmessageUpdate (10),
-- Map revision with content changes
recentChangeInMAPassignedLanesIDsUsed (11), recentChangeInMAPassignedLanesIDsUsed (11),
-- Change in MAP's assigned lanes used (lane changes)
-- Changes in the active lane list description
noValidMAPisAvailableAtThisTime (12), noValidMAPisAvailableAtThisTime (12),
-- MAP (and various lanes indexes) not available
noValidSPATisAvailableAtThisTime (13) noValidSPATisAvailableAtThisTime (13)
-- SPAT system is not working at this time
-- Bits 14,15 reserved at this time and shall be zero
} (SIZE(16)) } (SIZE(16))
LaneAttributes-Barrier ::= BIT STRING { LaneAttributes-Barrier ::= BIT STRING {
-- With bits as defined:
median-RevocableLane (0), median-RevocableLane (0),
-- this lane may be activated or not based
-- on the current SPAT message contents
-- if not asserted, the lane is ALWAYS present
median (1), median (1),
whiteLineHashing (2), whiteLineHashing (2),
stripedLines (3), stripedLines (3),
...@@ -1268,197 +869,92 @@ LaneAttributes-Barrier ::= BIT STRING { ...@@ -1268,197 +869,92 @@ LaneAttributes-Barrier ::= BIT STRING {
trafficChannels (7), trafficChannels (7),
lowCurbs (8), lowCurbs (8),
highCurbs (9) highCurbs (9)
-- Bits 10~15 reserved and set to zero
} (SIZE (16)) } (SIZE (16))
LaneAttributes-Bike ::= BIT STRING { LaneAttributes-Bike ::= BIT STRING {
-- With bits as defined:
bikeRevocableLane (0), bikeRevocableLane (0),
-- this lane may be activated or not based
-- on the current SPAT message contents
-- if not asserted, the lane is ALWAYS present
pedestrianUseAllowed (1), pedestrianUseAllowed (1),
-- The path allows pedestrian traffic,
-- if not set, this mode is prohibited
isBikeFlyOverLane (2), isBikeFlyOverLane (2),
-- path of lane is not at grade
fixedCycleTime (3), fixedCycleTime (3),
-- the phases use preset times
-- i.e. there is not a 'push to cross' button
biDirectionalCycleTimes (4), biDirectionalCycleTimes (4),
-- ped walk phases use different SignalGroupID
-- for each direction. The first SignalGroupID
-- in the first Connection represents 'inbound'
-- flow (the direction of travel towards the first
-- node point) while second SignalGroupID in the
-- next Connection entry represents the 'outbound'
-- flow. And use of RestrictionClassID entries
-- in the Connect follow this same pattern in pairs.
isolatedByBarrier (5), isolatedByBarrier (5),
unsignalizedSegmentsPresent (6) unsignalizedSegmentsPresent (6)
-- The lane path consists of one of more segments
-- which are not part of a signal group ID
-- Bits 7~15 reserved and set to zero
} (SIZE (16)) } (SIZE (16))
LaneAttributes-Crosswalk ::= BIT STRING { LaneAttributes-Crosswalk ::= BIT STRING {
-- With bits as defined:
-- MUTCD provides no suitable "types" to use here
crosswalkRevocableLane (0), crosswalkRevocableLane (0),
-- this lane may be activated or not based
-- on the current SPAT message contents
-- if not asserted, the lane is ALWAYS present
bicyleUseAllowed (1), bicyleUseAllowed (1),
-- The path allows bicycle traffic,
-- if not set, this mode is prohibited
isXwalkFlyOverLane (2), isXwalkFlyOverLane (2),
-- path of lane is not at grade
fixedCycleTime (3), fixedCycleTime (3),
-- ped walk phases use preset times
-- i.e. there is not a 'push to cross' button
biDirectionalCycleTimes (4), biDirectionalCycleTimes (4),
-- ped walk phases use different SignalGroupID
-- for each direction. The first SignalGroupID
-- in the first Connection represents 'inbound'
-- flow (the direction of travel towards the first
-- node point) while second SignalGroupID in the
-- next Connection entry represents the 'outbound'
-- flow. And use of RestrictionClassID entries
-- in the Connect follow this same pattern in pairs.
hasPushToWalkButton (5), hasPushToWalkButton (5),
-- Has a demand input
audioSupport (6), audioSupport (6),
-- audio crossing cues present
rfSignalRequestPresent (7), rfSignalRequestPresent (7),
-- Supports RF push to walk technologies
unsignalizedSegmentsPresent (8) unsignalizedSegmentsPresent (8)
-- The lane path consists of one of more segments
-- which are not part of a signal group ID
-- Bits 9~15 reserved and set to zero
} (SIZE (16)) } (SIZE (16))
LaneAttributes-Parking ::= BIT STRING { LaneAttributes-Parking ::= BIT STRING {
-- With bits as defined:
-- Parking use details, note that detailed restrictions such as
-- allowed hours are sent by way of ITIS codes in the TIM message
parkingRevocableLane (0), parkingRevocableLane (0),
-- this lane may be activated or not based
-- on the current SPAT message contents
-- if not asserted, the lane is ALWAYS present
parallelParkingInUse (1), parallelParkingInUse (1),
headInParkingInUse (2), headInParkingInUse (2),
doNotParkZone (3), doNotParkZone (3),
-- used to denote fire hydrants as well as
-- short disruptions in a parking zone
parkingForBusUse (4), parkingForBusUse (4),
parkingForTaxiUse (5), parkingForTaxiUse (5),
noPublicParkingUse (6) noPublicParkingUse (6)
-- private parking, as in front of
-- private property
-- Bits 7~15 reserved and set to zero
} (SIZE (16)) } (SIZE (16))
LaneAttributes-Sidewalk ::= BIT STRING { LaneAttributes-Sidewalk ::= BIT STRING {
-- With bits as defined:
sidewalk-RevocableLane (0), sidewalk-RevocableLane (0),
-- this lane may be activated or not based
-- on the current SPAT message contents
-- if not asserted, the lane is ALWAYS present
bicyleUseAllowed (1), bicyleUseAllowed (1),
-- The path allows bicycle traffic,
-- if not set, this mode is prohibited
isSidewalkFlyOverLane (2), isSidewalkFlyOverLane (2),
-- path of lane is not at grade
walkBikes (3) walkBikes (3)
-- bike traffic must dismount and walk
-- Bits 4~15 reserved and set to zero
} (SIZE (16)) } (SIZE (16))
LaneAttributes-Striping ::= BIT STRING { LaneAttributes-Striping ::= BIT STRING {
-- With bits as defined:
stripeToConnectingLanesRevocableLane (0), stripeToConnectingLanesRevocableLane (0),
-- this lane may be activated or not activated based
-- on the current SPAT message contents
-- if not asserted, the lane is ALWAYS present
stripeDrawOnLeft (1), stripeDrawOnLeft (1),
stripeDrawOnRight (2), stripeDrawOnRight (2),
-- which side of lane to mark
stripeToConnectingLanesLeft (3), stripeToConnectingLanesLeft (3),
stripeToConnectingLanesRight (4), stripeToConnectingLanesRight (4),
stripeToConnectingLanesAhead (5) stripeToConnectingLanesAhead (5)
-- the stripe type should be
-- presented to the user visually
-- to reflect stripes in the
-- intersection for the type of
-- movement indicated
-- Bits 6~15 reserved and set to zero
} (SIZE (16)) } (SIZE (16))
LaneAttributes-TrackedVehicle ::= BIT STRING { LaneAttributes-TrackedVehicle ::= BIT STRING {
-- With bits as defined:
spec-RevocableLane (0), spec-RevocableLane (0),
-- this lane may be activated or not based
-- on the current SPAT message contents
-- if not asserted, the lane is ALWAYS present
spec-commuterRailRoadTrack (1), spec-commuterRailRoadTrack (1),
spec-lightRailRoadTrack (2), spec-lightRailRoadTrack (2),
spec-heavyRailRoadTrack (3), spec-heavyRailRoadTrack (3),
spec-otherRailType (4) spec-otherRailType (4)
-- Bits 5~15 reserved and set to zero
} (SIZE (16)) } (SIZE (16))
LaneAttributes-Vehicle ::= BIT STRING { LaneAttributes-Vehicle ::= BIT STRING {
-- With bits as defined:
isVehicleRevocableLane (0), isVehicleRevocableLane (0),
-- this lane may be activated or not based
-- on the current SPAT message contents
-- if not asserted, the lane is ALWAYS present
isVehicleFlyOverLane (1), isVehicleFlyOverLane (1),
-- path of lane is not at grade
hovLaneUseOnly (2), hovLaneUseOnly (2),
restrictedToBusUse (3), restrictedToBusUse (3),
restrictedToTaxiUse (4), restrictedToTaxiUse (4),
restrictedFromPublicUse (5), restrictedFromPublicUse (5),
hasIRbeaconCoverage (6), hasIRbeaconCoverage (6),
permissionOnRequest (7) -- e.g. to inform about a lane for e-cars permissionOnRequest (7)
} (SIZE (8,...)) } (SIZE (8,...))
LaneConnectionID ::= INTEGER (0..255)
LaneDirection ::= BIT STRING { LaneDirection ::= BIT STRING {
-- With bits as defined:
-- Allowed directions of travel in the lane object
-- All lanes are described from the stop line outwards
ingressPath (0), ingressPath (0),
-- travel from rear of path to front
-- is allowed
egressPath (1) egressPath (1)
-- travel from front of path to rear
-- is allowed
-- Notes: No Travel, i.e. the lane object type does not support
-- travel (medians, curbs, etc.) is indicated by not
-- asserting any bit value
-- Bi-Directional Travel (such as a ped crosswalk) is
-- indicated by asserting both of the bits
} (SIZE (2)) } (SIZE (2))
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop /*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
LaneID ::= INTEGER (0..255) LaneID ::= INTEGER (0..255)
-- the value 0 shall be used when the lane ID is
-- not available or not known
-- the value 255 is reserved for future use
*/ */
LayerID ::= INTEGER (0..100) LayerID ::= INTEGER (0..100)
LayerType ::= ENUMERATED { LayerType ::= ENUMERATED {
none, none,
mixedContent, -- two or more of the below types mixedContent,
generalMapData, generalMapData,
intersectionData, intersectionData,
curveData, curveData,
...@@ -1468,152 +964,74 @@ LayerType ::= ENUMERATED { ...@@ -1468,152 +964,74 @@ LayerType ::= ENUMERATED {
... ...
} }
LaneWidth ::= INTEGER (0..32767) -- units of 1 cm LaneWidth ::= INTEGER (0..32767)
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop /*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
MergeDivergeNodeAngle ::= INTEGER (-180..180) MergeDivergeNodeAngle ::= INTEGER (-180..180)
-- In units of 1.5 degrees from north
-- the value -180 shall be used to represent
-- data is not available or unknown
*/ */
MinuteOfTheYear ::= INTEGER (0..527040) MinuteOfTheYear ::= INTEGER (0..527040)
-- the value 527040 shall be used for invalid
MovementPhaseState ::= ENUMERATED { MovementPhaseState ::= ENUMERATED {
-- Note that based on the regions and the operating mode not every
-- phase will be used in all transportation modes and that not
-- every phase will be used in all transportation modes
unavailable (0), unavailable (0),
-- This state is used for unknown or error
dark (1), dark (1),
-- The signal head is dark (unlit)
-- Reds
stop-Then-Proceed (2), stop-Then-Proceed (2),
-- Often called 'flashing red' in US
-- Driver Action:
-- Stop vehicle at stop line.
-- Do not proceed unless it is safe.
-- Note that the right to proceed either right or left when
-- it is safe may be contained in the lane description to
-- handle what is called a 'right on red'
stop-And-Remain (3), stop-And-Remain (3),
-- e.g. called 'red light' in US
-- Driver Action:
-- Stop vehicle at stop line.
-- Do not proceed.
-- Note that the right to proceed either right or left when
-- it is safe may be contained in the lane description to
-- handle what is called a 'right on red'
-- Greens
pre-Movement (4), pre-Movement (4),
-- Not used in the US, red+yellow partly in EU
-- Driver Action:
-- Stop vehicle.
-- Prepare to proceed (pending green)
-- (Prepare for transition to green/go)
permissive-Movement-Allowed (5), permissive-Movement-Allowed (5),
-- Often called 'permissive green' in US
-- Driver Action:
-- Proceed with caution,
-- must yield to all conflicting traffic
-- Conflicting traffic may be present
-- in the intersection conflict area
protected-Movement-Allowed (6), protected-Movement-Allowed (6),
-- Often called 'protected green' in US
-- Driver Action:
-- Proceed, tossing caution to the wind,
-- in indicated (allowed) direction.
-- Yellows / Ambers
-- The vehicle is not allowed to cross the stop bar if it is possible
-- to stop without danger.
permissive-clearance (7), permissive-clearance (7),
-- Often called 'permissive yellow' in US
-- Driver Action:
-- Prepare to stop.
-- Proceed if unable to stop,
-- Clear Intersection.
-- Conflicting traffic may be present
-- in the intersection conflict area
protected-clearance (8), protected-clearance (8),
-- Often called 'protected yellow' in US
-- Driver Action:
-- Prepare to stop.
-- Proceed if unable to stop,
-- in indicated direction (to connected lane)
-- Clear Intersection.
caution-Conflicting-Traffic (9) caution-Conflicting-Traffic (9)
-- Often called 'flashing yellow' in US
-- Often used for extended periods of time
-- Driver Action:
-- Proceed with caution,
-- Conflicting traffic may be present
-- in the intersection conflict area
} }
-- The above number assignments are not used with UPER encoding
-- and are only to be used with DER or implicit encoding
MsgCount ::= INTEGER (0..127) MsgCount ::= INTEGER (0..127)
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop /*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
Offset-B10 ::= INTEGER (-512..511) Offset-B10 ::= INTEGER (-512..511)
-- a range of +- 5.11 meters
Offset-B11 ::= INTEGER (-1024..1023) Offset-B11 ::= INTEGER (-1024..1023)
-- a range of +- 10.23 meters
Offset-B12 ::= INTEGER (-2048..2047) Offset-B12 ::= INTEGER (-2048..2047)
-- a range of +- 20.47 meters
Offset-B13 ::= INTEGER (-4096..4095) Offset-B13 ::= INTEGER (-4096..4095)
-- a range of +- 40.95 meters
Offset-B14 ::= INTEGER (-8192..8191) Offset-B14 ::= INTEGER (-8192..8191)
-- a range of +- 81.91 meters
Offset-B16 ::= INTEGER (-32768..32767) Offset-B16 ::= INTEGER (-32768..32767)
-- a range of +- 327.68 meters
*/ */
PedestrianBicycleDetect ::= BOOLEAN PedestrianBicycleDetect ::= BOOLEAN
-- true if ANY Pedestrians or Bicyclists are
-- detected crossing the target lane or lanes PositionConfidence ::= ENUMERATED {
unavailable (0),
a500m (1),
a200m (2),
a100m (3),
a50m (4),
a20m (5),
a10m (6),
a5m (7),
a2m (8),
a1m (9),
a50cm (10),
a20cm (11),
a10cm (12),
a5cm (13),
a2cm (14),
a1cm (15)
}
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop /*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
PrioritizationResponseStatus ::= ENUMERATED { PrioritizationResponseStatus ::= ENUMERATED {
unknown (0), unknown (0),
-- Unknown state
requested (1), requested (1),
-- This prioritization request was detected
-- by the traffic controller
processing (2), processing (2),
-- Checking request
-- (request is in queue, other requests are prior)
watchOtherTraffic (3), watchOtherTraffic (3),
-- Cannot give full permission,
-- therefore watch for other traffic
-- Note that other requests may be present
granted (4), granted (4),
-- Intervention was successful
-- and now prioritization is active
rejected (5), rejected (5),
-- The prioritization or preemption request was
-- rejected by the traffic controller
maxPresence (6), maxPresence (6),
-- The Request has exceeded maxPresence time
-- Used when the controller has determined that
-- the requester should then back off and
-- request an alternative.
reserviceLocked (7), reserviceLocked (7),
-- Prior conditions have resulted in a reservice
-- locked event: the controller requires the
-- passage of time before another similar request
-- will be accepted
... ...
} }
*/ */
...@@ -1628,23 +1046,21 @@ PriorityRequestType ::= ENUMERATED { ...@@ -1628,23 +1046,21 @@ PriorityRequestType ::= ENUMERATED {
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop /*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
RegionId ::= INTEGER (0..255) RegionId ::= INTEGER (0..255)
noRegion RegionId ::= 0 -- Use default supplied stubs noRegion RegionId ::= 0
addGrpA RegionId ::= 1 -- USA addGrpA RegionId ::= 1
addGrpB RegionId ::= 2 -- Japan addGrpB RegionId ::= 2
addGrpC RegionId ::= 3 -- EU addGrpC RegionId ::= 3
-- NOTE: new registered regional IDs will be added here
-- The values 128 and above are for local region use
*/ */
RequestID ::= INTEGER (0..255) RequestID ::= INTEGER (0..255)
RequestImportanceLevel ::= ENUMERATED { RequestImportanceLevel ::= ENUMERATED {
requestImportanceLevelUnKnown (0), requestImportanceLevelUnKnown (0),
requestImportanceLevel1 (1), -- The least important request requestImportanceLevel1 (1),
requestImportanceLevel2 (2), -- The values here shall be assigned requestImportanceLevel2 (2),
requestImportanceLevel3 (3), -- Meanings based on regional needs requestImportanceLevel3 (3),
requestImportanceLevel4 (4), -- for each of the basic roles which requestImportanceLevel4 (4),
requestImportanceLevel5 (5), -- are defined elsewhere requestImportanceLevel5 (5),
requestImportanceLevel6 (6), requestImportanceLevel6 (6),
requestImportanceLevel7 (7), requestImportanceLevel7 (7),
requestImportanceLevel8 (8), requestImportanceLevel8 (8),
...@@ -1653,17 +1069,17 @@ RequestImportanceLevel ::= ENUMERATED { ...@@ -1653,17 +1069,17 @@ RequestImportanceLevel ::= ENUMERATED {
requestImportanceLevel11 (11), requestImportanceLevel11 (11),
requestImportanceLevel12 (12), requestImportanceLevel12 (12),
requestImportanceLevel13 (13), requestImportanceLevel13 (13),
requestImportanceLevel14 (14), -- The most important request requestImportanceLevel14 (14),
requestImportanceReserved (15) -- Reserved for future use requestImportanceReserved (15)
} }
RequestSubRole ::= ENUMERATED { RequestSubRole ::= ENUMERATED {
requestSubRoleUnKnown (0), requestSubRoleUnKnown (0),
requestSubRole1 (1), -- The first type of sub role requestSubRole1 (1),
requestSubRole2 (2), -- The values here shall be assigned requestSubRole2 (2),
requestSubRole3 (3), -- Meanings based on regional needs requestSubRole3 (3),
requestSubRole4 (4), -- to refine and expand the basic requestSubRole4 (4),
requestSubRole5 (5), -- roles which are defined elsewhere requestSubRole5 (5),
requestSubRole6 (6), requestSubRole6 (6),
requestSubRole7 (7), requestSubRole7 (7),
requestSubRole8 (8), requestSubRole8 (8),
...@@ -1672,170 +1088,170 @@ RequestSubRole ::= ENUMERATED { ...@@ -1672,170 +1088,170 @@ RequestSubRole ::= ENUMERATED {
requestSubRole11 (11), requestSubRole11 (11),
requestSubRole12 (12), requestSubRole12 (12),
requestSubRole13 (13), requestSubRole13 (13),
requestSubRole14 (14), -- The last type of sub role requestSubRole14 (14),
requestSubRoleReserved (15) -- Reserved for future use requestSubRoleReserved (15)
} }
RestrictionAppliesTo ::= ENUMERATED { RestrictionAppliesTo ::= ENUMERATED {
none, -- applies to nothing none,
equippedTransit, -- buses etc. equippedTransit,
equippedTaxis, equippedTaxis,
equippedOther, -- other vehicle types with equippedOther,
-- necessary signal phase state emissionCompliant,
-- reception equipment
emissionCompliant, -- regional variants with more
-- definitive items also exist
equippedBicycle, equippedBicycle,
weightCompliant, weightCompliant,
heightCompliant, heightCompliant,
-- Items dealing with traveler needs serviced by the infrastructure
-- These end users (which are not vehicles) are presumed to be suitably equipped
pedestrians, pedestrians,
slowMovingPersons, slowMovingPersons,
wheelchairUsers, wheelchairUsers,
visualDisabilities, visualDisabilities,
audioDisabilities, -- hearing audioDisabilities,
otherUnknownDisabilities, otherUnknownDisabilities,
... ...
} }
RestrictionClassID ::= INTEGER (0..255) RestrictionClassID ::= INTEGER (0..255)
-- An index value to identify data about classes of users
-- the value used varies with each intersection's
-- needs and is defined in the map to the assigned
-- classes of supported users.
RoadRegulatorID ::= INTEGER (0..65535) RoadRegulatorID ::= INTEGER (0..65535)
-- The value zero shall be used for testing only
RoadSegmentID ::= INTEGER (0..65535) RoadSegmentID ::= INTEGER (0..65535)
-- The values zero to 255 shall be used for testing only
-- Note that the value assigned to an RoadSegment will be
-- unique within a given regional ID only during its use
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop /*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
RoadwayCrownAngle ::= INTEGER (-128..127) RoadwayCrownAngle ::= INTEGER (-128..127)
-- In LSB units of 0.3 degrees of angle
-- over a range of -38.1 to + 38.1 degrees
-- The value -128 shall be used for unknown
-- The value zero shall be used for angles
-- which are between -0.15 and +0.15
*/ */
Scale-B12 ::= INTEGER (-2048..2047) -- in steps of 0.05 percent RTCMmessage ::= OCTET STRING (SIZE(1..1023))
RTCM-Revision ::= ENUMERATED {
unknown (0),
rtcmRev2 (1), -- Std 10402.x et al
rtcmRev3 (2), -- Std 10403.x et al
reserved (3),
...
}
Scale-B12 ::= INTEGER (-2048..2047)
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop /*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
SignalGroupID ::= INTEGER (0..255) SignalGroupID ::= INTEGER (0..255)
-- The value 0 shall be used when the ID is
-- not available or not known
-- the value 255 is reserved to indicate a
-- permanent green movement state
-- therefore a simple 8 phase signal controller
-- device might use 1..9 as its groupIDs
*/ */
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop /*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
SegmentAttributeXY ::= ENUMERATED { SegmentAttributeXY ::= ENUMERATED {
-- Various values which can be Enabled and Disabled for a lane segment
-- General Items
reserved , reserved ,
doNotBlock , -- segment where a vehicle doNotBlock ,
-- may not come to a stop whiteLine ,
whiteLine , -- segment where lane crossing not allowed mergingLaneLeft ,
-- such as the final few meters of a lane
-- Porous Lane states, merging, turn outs, parking etc.
mergingLaneLeft , -- indicates porous lanes
mergingLaneRight , mergingLaneRight ,
curbOnLeft ,
curbOnLeft , -- indicates presence of curbs
curbOnRight , curbOnRight ,
loadingzoneOnLeft ,
loadingzoneOnLeft , -- loading or drop off zones
loadingzoneOnRight , loadingzoneOnRight ,
turnOutPointOnLeft ,
turnOutPointOnLeft , -- opening to adjacent street/alley/road
turnOutPointOnRight , turnOutPointOnRight ,
adjacentParkingOnLeft ,
adjacentParkingOnLeft , -- side of road parking
adjacentParkingOnRight , adjacentParkingOnRight ,
adjacentBikeLaneOnLeft ,
-- Bike Lane Needs
adjacentBikeLaneOnLeft , -- presence of marked bike lanes
adjacentBikeLaneOnRight , adjacentBikeLaneOnRight ,
sharedBikeLane , -- right of way is shared with bikes sharedBikeLane ,
-- who may occupy entire lane width
bikeBoxInFront , bikeBoxInFront ,
transitStopOnLeft ,
-- Transit Needs transitStopOnRight ,
transitStopOnLeft , -- any form of bus/transit loading transitStopInLane ,
-- with pull in-out access to lane on left sharedWithTrackedVehicle ,
transitStopOnRight , -- any form of bus/transit loading safeIsland ,
-- with pull in-out access to lane on right lowCurbsPresent ,
transitStopInLane , -- any form of bus/transit loading rumbleStripPresent ,
-- in mid path of the lane audibleSignalingPresent ,
sharedWithTrackedVehicle , -- lane is shared with train or trolley adaptiveTimingPresent ,
-- not used for crossing tracks rfSignalRequestPresent ,
partialCurbIntrusion ,
taperToLeft ,
-- Pedestrian Support Attributes taperToRight ,
safeIsland , -- begin/end a safety island in path taperToCenterLine ,
lowCurbsPresent , -- for ADA support parallelParking ,
rumbleStripPresent , -- for ADA support headInParking ,
audibleSignalingPresent , -- for ADA support freeParking ,
adaptiveTimingPresent , -- for ADA support timeRestrictionsOnParking ,
rfSignalRequestPresent , -- Supports RF push to walk technologies costToPark ,
partialCurbIntrusion , -- path is blocked by a median or curb midBlockCurbPresent ,
-- but at least 1 meter remains open for use unEvenPavementPresent ,
-- and at-grade passage
-- Lane geometry details (see standard for defined shapes)
taperToLeft , -- Used to control final path shape
taperToRight , -- Used to control final path shape
taperToCenterLine , -- Used to control final path shape
-- Parking Lane and Curb Attributes
parallelParking , --
headInParking , -- Parking at an angle with the street
freeParking , -- no restriction on use of parking
timeRestrictionsOnParking , -- Parking is not permitted at all times
-- typically used when the 'parking' lane
-- becomes a driving lane at times
costToPark , -- Used where parking has a cost
midBlockCurbPresent , -- a protruding curb near lane edge
unEvenPavementPresent , -- a disjoint height at lane edge
... ...
} }
*/ */
SemiMajorAxisAccuracy ::= INTEGER (0..255)
SemiMajorAxisOrientation ::= INTEGER (0..65535)
SemiMinorAxisAccuracy ::= INTEGER (0..255)
SpeedAdvice ::= INTEGER (0..500) SpeedAdvice ::= INTEGER (0..500)
-- LSB units are 0.1 m/s^2
-- the value 499 shall be used for values at or greater than 49.9 m/s
-- the value 500 shall be used to indicate that speed is unavailable
SpeedConfidenceDSRC ::= ENUMERATED {
unavailable (0), -- Not Equipped or unavailable
prec100ms (1), -- 100 meters / sec
prec10ms (2), -- 10 meters / sec
prec5ms (3), -- 5 meters / sec
prec1ms (4), -- 1 meters / sec
prec0-1ms (5), -- 0.1 meters / sec
prec0-05ms (6), -- 0.05 meters / sec
prec0-01ms (7) -- 0.01 meters / sec
}
TemporaryID ::= OCTET STRING (SIZE(4)) TemporaryID ::= OCTET STRING (SIZE(4))
ThrottleConfidence ::= ENUMERATED {
unavailable (0),
prec10percent (1),
prec1percent (2),
prec0-5percent (3)
}
TimeConfidence ::= ENUMERATED {
unavailable (0),
time-100-000 (1),
time-050-000 (2),
time-020-000 (3),
time-010-000 (4),
time-002-000 (5),
time-001-000 (6),
time-000-500 (7),
time-000-200 (8),
time-000-100 (9),
time-000-050 (10),
time-000-020 (11),
time-000-010 (12),
time-000-005 (13),
time-000-002 (14),
time-000-001 (15),
time-000-000-5 (16),
time-000-000-2 (17),
time-000-000-1 (18),
time-000-000-05 (19),
time-000-000-02 (20),
time-000-000-01 (21),
time-000-000-005 (22),
time-000-000-002 (23),
time-000-000-001 (24),
time-000-000-000-5 (25),
time-000-000-000-2 (26),
time-000-000-000-1 (27),
time-000-000-000-05 (28),
time-000-000-000-02 (29),
time-000-000-000-01 (30),
time-000-000-000-005 (31),
time-000-000-000-002 (32),
time-000-000-000-001 (33),
time-000-000-000-000-5 (34),
time-000-000-000-000-2 (35),
time-000-000-000-000-1 (36),
time-000-000-000-000-05 (37),
time-000-000-000-000-02 (38),
time-000-000-000-000-01 (39)
}
TimeIntervalConfidence ::= INTEGER (0..15) TimeIntervalConfidence ::= INTEGER (0..15)
-- Value Probability
-- 0 21%
-- 1 36%
-- 2 47%
-- 3 56%
-- 4 62%
-- 5 68%
-- 6 73%
-- 7 77%
-- 8 81%
-- 9 85%
-- 10 88%
-- 11 91%
-- 12 94%
-- 13 96%
-- 14 98%
-- 15 100%
TransitVehicleOccupancy ::= ENUMERATED { TransitVehicleOccupancy ::= ENUMERATED {
occupancyUnknown (0), occupancyUnknown (0),
...@@ -1849,65 +1265,51 @@ TransitVehicleOccupancy ::= ENUMERATED { ...@@ -1849,65 +1265,51 @@ TransitVehicleOccupancy ::= ENUMERATED {
} }
TransitVehicleStatus ::= BIT STRING { TransitVehicleStatus ::= BIT STRING {
loading (0), -- parking and unable to move at this time loading (0),
anADAuse (1), -- an ADA access is in progress (wheelchairs, kneeling, etc.) anADAuse (1),
aBikeLoad (2), -- loading of a bicycle is in progress aBikeLoad (2),
doorOpen (3), -- a vehicle door is open for passenger access doorOpen (3),
charging (4), -- a vehicle is connected to charging point charging (4),
atStopLine (5) -- a vehicle is at the stop line for the lane it is in atStopLine (5)
} (SIZE(8)) } (SIZE(8))
TransmissionState ::= ENUMERATED { TransmissionState ::= ENUMERATED {
neutral (0), -- Neutral neutral (0),
park (1), -- Park park (1),
forwardGears (2), -- Forward gears forwardGears (2),
reverseGears (3), -- Reverse gears reverseGears (3),
reserved1 (4), reserved1 (4),
reserved2 (5), reserved2 (5),
reserved3 (6), reserved3 (6),
unavailable (7) -- not-equipped or unavailable value, unavailable (7)
-- Any related speed is relative to the vehicle reference frame used
} }
VehicleType ::= ENUMERATED { VehicleType ::= ENUMERATED {
none (0), -- Not Equipped, Not known or unavailable none (0),
unknown (1), -- Does not fit any other category unknown (1),
special (2), -- Special use special (2),
moto (3), -- Motorcycle moto (3),
car (4), -- Passenger car car (4),
carOther (5), -- Four tire single units carOther (5),
bus (6), -- Buses bus (6),
axleCnt2 (7), -- Two axle, six tire single units axleCnt2 (7),
axleCnt3 (8), -- Three axle, single units axleCnt3 (8),
axleCnt4 (9), -- Four or more axle, single unit axleCnt4 (9),
axleCnt4Trailer (10), -- Four or less axle, single trailer axleCnt4Trailer (10),
axleCnt5Trailer (11), -- Five or less axle, single trailer axleCnt5Trailer (11),
axleCnt6Trailer (12), -- Six or more axle, single trailer axleCnt6Trailer (12),
axleCnt5MultiTrailer (13), -- Five or less axle, multi-trailer axleCnt5MultiTrailer (13),
axleCnt6MultiTrailer (14), -- Six axle, multi-trailer axleCnt6MultiTrailer (14),
axleCnt7MultiTrailer (15), -- Seven or more axle, multi-trailer axleCnt7MultiTrailer (15),
... ...
} }
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop /*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
Velocity ::= INTEGER (0..8191) -- Units of 0.02 m/s Velocity ::= INTEGER (0..8191)
-- The value 8191 indicates that
-- velocity is unavailable
*/ */
WaitOnStopline ::= BOOLEAN -- WaitOnStopline ::= BOOLEAN
-- True or False
-- If "true", the vehicles on this specific connecting
-- maneuver have to stop on the stop-line
-- and not to enter the collision area
ZoneLength ::= INTEGER (0..10000) ZoneLength ::= INTEGER (0..10000)
-- Unit = 1 meter, 0 = unknown,
-- The value 10000 to be used for Distances >=10000 m
-- (e.g. from known point to another point along a
-- known path, often against traffic flow direction
-- when used for measuring queues)
END END
--FIXME RGY moved here from file SPAT_MAP_ISO_TS_19091.asn
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
-- --
-- module: DSRC -- module: DSRC
...@@ -7,19 +5,66 @@ ...@@ -7,19 +5,66 @@
-- --
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
--FIXME RGY definitions are moved here from IS-DSRC and IS-REGION; created to cut circular import loops amongst ASN.1 files --FIXME RGY definitions are moved here from IS-DSRC and IS-REGION; created to cut circular import loops amongst ASN.1 files
DSRC-REGION-noCircular { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } DSRC-REGION-noCircular { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (2) }
DEFINITIONS AUTOMATIC TAGS::= BEGIN DEFINITIONS AUTOMATIC TAGS::= BEGIN
IMPORTS IMPORTS
Longitude, Latitude FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) } Longitude, Latitude FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }
Control-addGrpC FROM AddGrpC-noCircular { iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1) }; --NodeAttributeSet-addGrpC, LaneID FROM AddGrpC-noCircular { iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1) }
;
------------------------------------------------------ ------------------------------------------------------
--FIXME RGY BELOW ARE DEFINITIONS MOVED FROM DSRC --FIXME RGY BELOW ARE DEFINITIONS MOVED FROM DSRC
------------------------------------------------------ ------------------------------------------------------
FuelType ::= INTEGER (0..15)
unknownFuel FuelType ::= 0
gasoline FuelType ::= 1
ethanol FuelType ::= 2
diesel FuelType ::= 3
electric FuelType ::= 4
hybrid FuelType ::= 5
hydrogen FuelType ::= 6
natGasLiquid FuelType ::= 7
natGasComp FuelType ::= 8
propane FuelType ::= 9
VehicleHeight ::= INTEGER (0..127)
LaneID ::= INTEGER (0..255)
LaneConnectionID ::= INTEGER (0..255)
IntersectionID ::= INTEGER (0..65535)
Node ::= SEQUENCE {
id INTEGER,
lane LaneID OPTIONAL,
connectionID LaneConnectionID OPTIONAL,
intersectionID IntersectionID OPTIONAL,
...
}
NodeLink ::= SEQUENCE SIZE (1..5) OF Node
NodeAttributeSet-addGrpC ::= SEQUENCE {
ptvRequest PtvRequestType OPTIONAL,
nodeLink NodeLink OPTIONAL,
node Node OPTIONAL,
...
}
PtvRequestType ::= ENUMERATED {
preRequest,
mainRequest,
doorCloseRequest,
cancelRequest,
emergencyRequest,
...
}
DeltaAngle ::= INTEGER (-150..150) DeltaAngle ::= INTEGER (-150..150)
-- With an angle range from -- With an angle range from
-- negative 150 to positive 150 -- negative 150 to positive 150
...@@ -63,11 +108,6 @@ LaneDataAttribute ::= CHOICE { ...@@ -63,11 +108,6 @@ LaneDataAttribute ::= CHOICE {
LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute
LaneID ::= INTEGER (0..255)
-- the value 0 shall be used when the lane ID is
-- not available or not known
-- the value 255 is reserved for future use
MergeDivergeNodeAngle ::= INTEGER (-180..180) MergeDivergeNodeAngle ::= INTEGER (-180..180)
-- In units of 1.5 degrees from north -- In units of 1.5 degrees from north
-- the value -180 shall be used to represent -- the value -180 shall be used to represent
...@@ -208,6 +248,8 @@ NodeAttributeXY ::= ENUMERATED { ...@@ -208,6 +248,8 @@ NodeAttributeXY ::= ENUMERATED {
... ...
} }
Offset-B09 ::= INTEGER (-256..255)
Offset-B10 ::= INTEGER (-512..511) Offset-B10 ::= INTEGER (-512..511)
-- a range of +- 5.11 meters -- a range of +- 5.11 meters
...@@ -413,7 +455,7 @@ Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... } ...@@ -413,7 +455,7 @@ Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... }
Reg-NodeOffsetPointXY REG-EXT-ID-AND-TYPE ::= { ... } Reg-NodeOffsetPointXY REG-EXT-ID-AND-TYPE ::= { ... }
Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= { Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= {
{Control-addGrpC IDENTIFIED BY addGrpC} , {NodeAttributeSet-addGrpC IDENTIFIED BY addGrpC} ,
... ...
} }
END END
...@@ -14,18 +14,18 @@ ...@@ -14,18 +14,18 @@
-- --
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
REGION { iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1) } REGION {iso (1) standard (0) signalizedIntersection (19091) profilec (2) region (1) version2 (2)}
DEFINITIONS AUTOMATIC TAGS::= BEGIN DEFINITIONS AUTOMATIC TAGS::= BEGIN
IMPORTS IMPORTS
--FIXME RGY definitions moved to non-circularity module --FIXME RGY definitions moved to non-circularity module
--addGrpC, REG-EXT-ID-AND-TYPE FROM DSRC --addGrpC, REG-EXT-ID-AND-TYPE FROM DSRC
addGrpC, REG-EXT-ID-AND-TYPE FROM DSRC-REGION-noCircular NodeAttributeSet-addGrpC, addGrpC, REG-EXT-ID-AND-TYPE FROM DSRC-REGION-noCircular
--FIXME RGY Control-addGrpC has been moved to a non-circularity module --FIXME RGY NodeAttributeSet-addGrpC has been moved to a non-circularity module
Control-addGrpC FROM AddGrpC-noCircular --NodeAttributeSet-addGrpC FROM AddGrpC-noCircular
ConnectionManeuverAssist-addGrpC, ConnectionTrajectory-addGrpC, IntersectionState-addGrpC, /*Control-addGrpC,*/ Position3D-addGrpC, RestrictionUserType-addGrpC, ConnectionManeuverAssist-addGrpC, ConnectionTrajectory-addGrpC, IntersectionState-addGrpC, /*NodeAttributeSet-addGrpC,*/ Position3D-addGrpC, RestrictionUserType-addGrpC, LaneAttributes-addGrpC, MovementEvent-addGrpC, RequestorDescription-addGrpC,
SignalStatusPackage-addGrpC, MapData-addGrpC FROM AddGrpC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1)}; SignalStatusPackage-addGrpC, MapData-addGrpC FROM AddGrpC {iso (1) standard (0) signalizedIntersection (19091) profilec (2) addgrpc (0) version2 (2)};
Reg-AdvisorySpeed REG-EXT-ID-AND-TYPE ::= { ... } Reg-AdvisorySpeed REG-EXT-ID-AND-TYPE ::= { ... }
...@@ -49,7 +49,10 @@ Reg-IntersectionState REG-EXT-ID-AND-TYPE ::= { ...@@ -49,7 +49,10 @@ Reg-IntersectionState REG-EXT-ID-AND-TYPE ::= {
... ...
} }
Reg-LaneAttributes REG-EXT-ID-AND-TYPE ::= { ... } Reg-LaneAttributes REG-EXT-ID-AND-TYPE ::= {
{LaneAttributes-addGrpC IDENTIFIED BY addGrpC} ,
...
}
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop /*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... } Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... }
...@@ -60,20 +63,23 @@ Reg-MapData REG-EXT-ID-AND-TYPE ::= { ...@@ -60,20 +63,23 @@ Reg-MapData REG-EXT-ID-AND-TYPE ::= {
... ...
} }
Reg-MovementEvent REG-EXT-ID-AND-TYPE ::= { ... } Reg-MovementEvent REG-EXT-ID-AND-TYPE ::= {
{MovementEvent-addGrpC IDENTIFIED BY addGrpC} ,
...
}
Reg-MovementState REG-EXT-ID-AND-TYPE ::= { ... } Reg-MovementState REG-EXT-ID-AND-TYPE ::= { ... }
Reg-NodeAttributeSetLL REG-EXT-ID-AND-TYPE ::= { ... } -- Reg-NodeAttributeSetLL REG-EXT-ID-AND-TYPE ::= { ... }
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop /*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= { Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= {
{Control-addGrpC IDENTIFIED BY addGrpC} , {NodeAttributeSet-addGrpC IDENTIFIED BY addGrpC} ,
... ...
} }
*/ */
Reg-NodeOffsetPointLL REG-EXT-ID-AND-TYPE ::= { ... } -- Reg-NodeOffsetPointLL REG-EXT-ID-AND-TYPE ::= { ... }
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop /*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
Reg-NodeOffsetPointXY REG-EXT-ID-AND-TYPE ::= { ... } Reg-NodeOffsetPointXY REG-EXT-ID-AND-TYPE ::= { ... }
...@@ -84,7 +90,10 @@ Reg-Position3D REG-EXT-ID-AND-TYPE ::= { ...@@ -84,7 +90,10 @@ Reg-Position3D REG-EXT-ID-AND-TYPE ::= {
... ...
} }
Reg-RequestorDescription REG-EXT-ID-AND-TYPE ::= { ... } Reg-RequestorDescription REG-EXT-ID-AND-TYPE ::= {
{ RequestorDescription-addGrpC IDENTIFIED BY addGrpC} ,
...
}
Reg-RequestorType REG-EXT-ID-AND-TYPE ::= { ... } Reg-RequestorType REG-EXT-ID-AND-TYPE ::= { ... }
...@@ -95,6 +104,8 @@ Reg-RestrictionUserType REG-EXT-ID-AND-TYPE ::= { ...@@ -95,6 +104,8 @@ Reg-RestrictionUserType REG-EXT-ID-AND-TYPE ::= {
Reg-RoadSegment REG-EXT-ID-AND-TYPE ::= { ... } Reg-RoadSegment REG-EXT-ID-AND-TYPE ::= { ... }
Reg-RTCMcorrections REG-EXT-ID-AND-TYPE ::= { ... }
Reg-SignalControlZone REG-EXT-ID-AND-TYPE ::= { ... } Reg-SignalControlZone REG-EXT-ID-AND-TYPE ::= { ... }
Reg-SignalRequest REG-EXT-ID-AND-TYPE ::= { ... } Reg-SignalRequest REG-EXT-ID-AND-TYPE ::= { ... }
......
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ISO TS 19091 -- ISO TS 19091 2018
-- --
-- This ASN.1 was generated: 30.08.2016 -- This document includes three ASN.1 modules
-- AddGrpC
-- REGION
-- DSRC
-- --
-- This document contains the data element needed for the encoding the SPAT, MapData, SignalRequestMessage, SignalStatusMessage message -- This document contains the data element needed for the encoding the SPAT, MapData, SignalRequestMessage, SignalStatusMessage, RTCMcorrections
-- as defined in ISO TS 19091 and SAEJ2735 -- as defined in ISO TS 19091 and basic data element referenced to SAEJ2735
-- --
-- It includes the addendunm extensions for Addgrp-C (e.g. Europe) -- It includes the addendum extensions for Addgrp-C (e.g. Europe)
-- --
-- ISO Standards maintenance Portal:
-- http://standards.iso.org/iso/ts/19091/addgrp_c/
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
-- --
-- module: AddGrpC -- module: AddGrpC
-- --
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
AddGrpC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1) } AddGrpC {
iso (1) standard (0) signalizedIntersection (19091) profilec (2) addgrpc (0)
version2 (2)
}
DEFINITIONS AUTOMATIC TAGS::= BEGIN DEFINITIONS AUTOMATIC TAGS::= BEGIN
IMPORTS IMPORTS
NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, DeltaTime, LaneID FROM DSRC
Altitude, StationID, DeltaAltitude FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) };
DeltaTime, FuelType, IntersectionID, LaneConnectionID, LaneID, NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, VehicleHeight
FROM DSRC {
iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)
}
Altitude, DeltaAltitude, StationID, VehicleMass
FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) };
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- AddGrpC data dictionary extensions to SAEJ2735
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ConnectionManeuverAssist-addGrpC ::= SEQUENCE { ConnectionManeuverAssist-addGrpC ::= SEQUENCE {
itsStationPositions ItsStationPositionList OPTIONAL, itsStationPosition ItsStationPositionList OPTIONAL,
rsuGNSSOffset NodeOffsetPointXY OPTIONAL,
... ...
} }
ConnectionTrajectory-addGrpC ::= SEQUENCE { ConnectionTrajectory-addGrpC ::= SEQUENCE {
nodes NodeSetXY, nodes NodeSetXY,
connectionID LaneConnectionID,
... ...
} }
Control-addGrpC ::= SEQUENCE { IntersectionState-addGrpC ::= SEQUENCE {
ptvRequest PtvRequestType, activePrioritizations PrioritizationResponseList OPTIONAL,
... ...
} }
IntersectionState-addGrpC ::= SEQUENCE { LaneAttributes-addGrpC ::= SEQUENCE {
activePrioritizations PrioritizationResponseList OPTIONAL, maxVehicleHeight VehicleHeight OPTIONAL,
maxVehicleWeight VehicleMass OPTIONAL,
... ...
} }
...@@ -52,41 +69,45 @@ MapData-addGrpC ::= SEQUENCE { ...@@ -52,41 +69,45 @@ MapData-addGrpC ::= SEQUENCE {
... ...
} }
Position3D-addGrpC ::= SEQUENCE { MovementEvent-addGrpC ::= SEQUENCE {
altitude Altitude, stateChangeReason ExceptionalCondition OPTIONAL,
... ...
} }
PrioritizationResponseList ::= SEQUENCE SIZE(1..10) OF PrioritizationResponse NodeAttributeSet-addGrpC ::= SEQUENCE {
ptvRequest PtvRequestType OPTIONAL,
nodeLink NodeLink OPTIONAL,
node Node OPTIONAL,
...
}
PrioritizationResponse ::= SEQUENCE { Position3D-addGrpC ::= SEQUENCE {
stationID StationID, altitude Altitude,
priorState PrioritizationResponseStatus,
signalGroup SignalGroupID,
... ...
} }
RestrictionUserType-addGrpC ::= SEQUENCE { RestrictionUserType-addGrpC ::= SEQUENCE {
emission EmissionType OPTIONAL, emission EmissionType OPTIONAL,
fuel FuelType OPTIONAL,
... ...
} }
SignalHeadLocationList ::= SEQUENCE (SIZE(1..64)) OF SignalHeadLocation RequestorDescription-addGrpC ::= SEQUENCE {
fuel FuelType OPTIONAL,
SignalHeadLocation ::= SEQUENCE { batteryStatus BatteryStatus OPTIONAL,
nodeXY NodeOffsetPointXY,
nodeZ DeltaAltitude,
signalGroupID SignalGroupID,
... ...
} }
SignalStatusPackage-addGrpC ::= SEQUENCE { SignalStatusPackage-addGrpC ::= SEQUENCE {
synchToSchedule DeltaTime OPTIONAL, synchToSchedule DeltaTime OPTIONAL,
rejectedReason RejectedReason OPTIONAL,
... ...
} }
ItsStationPositionList::= SEQUENCE SIZE(1..5) OF ItsStationPosition -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- Data frames
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ItsStationPosition ::= SEQUENCE { ItsStationPosition ::= SEQUENCE {
stationID StationID, stationID StationID,
...@@ -95,6 +116,50 @@ ItsStationPosition ::= SEQUENCE { ...@@ -95,6 +116,50 @@ ItsStationPosition ::= SEQUENCE {
timeReference TimeReference OPTIONAL, timeReference TimeReference OPTIONAL,
... ...
} }
ItsStationPositionList ::= SEQUENCE SIZE(1..5) OF ItsStationPosition
Node ::= SEQUENCE {
id INTEGER,
lane LaneID OPTIONAL,
connectionID LaneConnectionID OPTIONAL,
intersectionID IntersectionID OPTIONAL,
...
}
NodeLink ::= SEQUENCE SIZE (1..5) OF Node
PrioritizationResponse ::= SEQUENCE {
stationID StationID,
priorState PrioritizationResponseStatus,
signalGroup SignalGroupID,
...
}
PrioritizationResponseList ::= SEQUENCE SIZE(1..10) OF PrioritizationResponse
SignalHeadLocation ::= SEQUENCE {
nodeXY NodeOffsetPointXY,
nodeZ DeltaAltitude,
signalGroupID SignalGroupID,
...
}
SignalHeadLocationList ::= SEQUENCE (SIZE(1..64)) OF SignalHeadLocation
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- Data elements
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BatteryStatus ::= ENUMERATED {
unknown,
critical,
low,
good,
...
}
EmissionType ::= ENUMERATED { EmissionType ::= ENUMERATED {
euro1, euro1,
euro2, euro2,
...@@ -105,6 +170,23 @@ EmissionType ::= ENUMERATED { ...@@ -105,6 +170,23 @@ EmissionType ::= ENUMERATED {
... ...
} }
ExceptionalCondition ::= ENUMERATED {
unknown,
publicTransportPriority,
emergencyVehiclePriority,
trainPriority,
bridgeOpen,
vehicleHeight,
weather,
trafficJam,
tunnelClosure,
meteringActive,
truckPriority,
bicyclePlatoonPriority,
vehiclePlatoonPriority,
...
}
PtvRequestType ::= ENUMERATED { PtvRequestType ::= ENUMERATED {
preRequest, preRequest,
mainRequest, mainRequest,
...@@ -114,9 +196,16 @@ PtvRequestType ::= ENUMERATED { ...@@ -114,9 +196,16 @@ PtvRequestType ::= ENUMERATED {
... ...
} }
TimeReference ::= INTEGER { oneMilliSec(1) } (0..65535) RejectedReason ::= ENUMERATED {
unknown,
END exceptionalCondition,
maxWaitingTimeExceeded,
ptPriorityDisabled,
higherPTPriorityGranted,
vehicleTrackingUnknown,
...
}
TimeReference ::= INTEGER { oneMilliSec(1) } (0..60000)
END
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ISO TS 19091
--
-- This ASN.1 was generated: 30.08.2016
--
-- This document contains the data element needed for the encoding the SPAT, MapData, SignalRequestMessage, SignalStatusMessage message
-- as defined in ISO TS 19091 and SAEJ2735
--
-- It includes the addendunm extensions for Addgrp-C (e.g. Europe)
--
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
-- --
-- module: DSRC -- module: DSRC
-- Some Types renamed (added xxxDSRC) to avoid name-clashes with CDD
-- --
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) }
DSRC {
iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)
}
DEFINITIONS AUTOMATIC TAGS::= BEGIN DEFINITIONS AUTOMATIC TAGS::= BEGIN
IMPORTS IMPORTS
StationID, Longitude, Latitude, SpeedConfidence FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }
Reg-SPAT,Reg-SignalRequestMessage, Reg-SignalStatusMessage, Reg-MapData, Reg-AdvisorySpeed, Reg-ComputedLane, Reg-ConnectionManeuverAssist,
Reg-GenericLane, Reg-IntersectionGeometry, Reg-IntersectionState, Reg-LaneAttributes, Reg-LaneDataAttribute, Reg-MovementEvent, Reg-MovementState,
Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY,Reg-Position3D, Reg-RequestorDescription, Reg-RequestorType, Reg-RestrictionUserType, Reg-RoadSegment,
Reg-SignalControlZone, Reg-SignalRequestPackage, Reg-SignalRequest, Reg-SignalStatusPackage, Reg-SignalStatus FROM REGION { iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1)}
Iso3833VehicleType FROM ElectronicRegistrationIdentificationVehicleDataModule { iso(1) standard(0) iso24534 (24534) vehicleData (1) version (1) };
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ Longitude, Latitude, StationID
-- FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }
-- Start of entries from table Messages...
-- This table typicaly contains message entries.
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
--
MessageFrame ::= SEQUENCE { Reg-AdvisorySpeed, Reg-ComputedLane, Reg-ConnectionManeuverAssist, Reg-GenericLane,
messageId MESSAGE-ID-AND-TYPE.&id({MessageTypes}), Reg-IntersectionGeometry, Reg-IntersectionState, Reg-LaneAttributes, Reg-MapData,
value MESSAGE-ID-AND-TYPE.&Type({MessageTypes}{@.messageId}), Reg-LaneDataAttribute, Reg-MovementEvent, Reg-MovementState,
... Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY, Reg-Position3D, Reg-RequestorDescription, Reg-RequestorType, Reg-RestrictionUserType, Reg-RoadSegment,
} Reg-RTCMcorrections, Reg-SignalControlZone, Reg-SignalRequestPackage, Reg-SignalRequest, Reg-SignalStatus, Reg-SignalStatusPackage, Reg-SignalRequestMessage,
Reg-SignalStatusMessage, Reg-SPAT
FROM REGION {iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version2 (2)}
MESSAGE-ID-AND-TYPE ::= CLASS {
&id DSRCmsgID UNIQUE,
&Type
} WITH SYNTAX {&Type IDENTIFIED BY &id}
MessageTypes MESSAGE-ID-AND-TYPE ::= {
{ MapData IDENTIFIED BY mapData } |
{ SPAT IDENTIFIED BY signalPhaseAndTimingMessage } |
{ SignalRequestMessage IDENTIFIED BY signalRequestMessage } |
{ SignalStatusMessage IDENTIFIED BY signalStatusMessage },
... -- Expansion to be used only by the SAE J2735 DSRC TC
}
Iso3833VehicleType
FROM ElectronicRegistrationIdentificationVehicleDataModule { iso(1) standard(0) iso24534 (24534) vehicleData (1) version1 (1) };
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
-- Messages
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
-- Regional extensions support
REG-EXT-ID-AND-TYPE ::= CLASS { REG-EXT-ID-AND-TYPE ::= CLASS {
&id RegionId UNIQUE, &id RegionId UNIQUE,
&Type &Type
} WITH SYNTAX {&Type IDENTIFIED BY &id} } WITH SYNTAX {&Type IDENTIFIED BY &id}
RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE { RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE {
regionId REG-EXT-ID-AND-TYPE.&id( {Set} ), regionId REG-EXT-ID-AND-TYPE.&id( {Set} ),
regExtValue REG-EXT-ID-AND-TYPE.&Type( {Set}{@regionId} ) regExtValue REG-EXT-ID-AND-TYPE.&Type( {Set}{@regionId} )
} }
MapData ::= SEQUENCE {
timeStamp MinuteOfTheYear OPTIONAL,
msgIssueRevision MsgCount,
layerType LayerType OPTIONAL,
layerID LayerID OPTIONAL,
intersections IntersectionGeometryList OPTIONAL,
roadSegments RoadSegmentList OPTIONAL,
dataParameters DataParameters OPTIONAL,
restrictionList RestrictionClassList OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-MapData}} OPTIONAL,
...
}
RTCMcorrections ::= SEQUENCE {
msgCnt MsgCount,
rev RTCM-Revision,
timeStamp MinuteOfTheYear OPTIONAL,
anchorPoint FullPositionVector OPTIONAL,
rtcmHeader RTCMheader OPTIONAL,
msgs RTCMmessageList,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RTCMcorrections}} OPTIONAL,
...
}
SPAT ::= SEQUENCE { SPAT ::= SEQUENCE {
timeStamp MinuteOfTheYear OPTIONAL, timeStamp MinuteOfTheYear OPTIONAL,
name DescriptiveName OPTIONAL, name DescriptiveName OPTIONAL,
-- human readable name for this collection
-- to be used only in debug mode
intersections IntersectionStateList, intersections IntersectionStateList,
-- sets of SPAT data (one per intersection)
-- If PrioritizationResponse data is required, it is found
-- in the RegionalSPAT entry below
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SPAT}} OPTIONAL, RegionalExtension {{Reg-SPAT}} OPTIONAL,
... ...
} }
SignalRequestMessage ::= SEQUENCE { SignalRequestMessage ::= SEQUENCE {
timeStamp MinuteOfTheYear OPTIONAL, timeStamp MinuteOfTheYear OPTIONAL,
second DSecond, second DSecond,
sequenceNumber MsgCount OPTIONAL, sequenceNumber MsgCount OPTIONAL,
requests SignalRequestList OPTIONAL, requests SignalRequestList OPTIONAL,
-- Request Data for one or more signalized
-- intersections that support SRM dialogs
requestor RequestorDescription, requestor RequestorDescription,
-- Requesting Device and other User Data
-- contains vehicle ID (if from a vehicle)
-- as well as type data and current position
-- and may contain additional transit data
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalRequestMessage}} OPTIONAL, RegionalExtension {{Reg-SignalRequestMessage}} OPTIONAL,
... ...
...@@ -107,82 +92,41 @@ SignalStatusMessage ::= SEQUENCE { ...@@ -107,82 +92,41 @@ SignalStatusMessage ::= SEQUENCE {
timeStamp MinuteOfTheYear OPTIONAL, timeStamp MinuteOfTheYear OPTIONAL,
second DSecond, second DSecond,
sequenceNumber MsgCount OPTIONAL, sequenceNumber MsgCount OPTIONAL,
-- Status Data for one of more signalized intersections
status SignalStatusList, status SignalStatusList,
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalStatusMessage}} OPTIONAL, RegionalExtension {{Reg-SignalStatusMessage}} OPTIONAL,
... ...
} }
MapData ::= SEQUENCE {
timeStamp MinuteOfTheYear OPTIONAL,
msgIssueRevision MsgCount,
layerType LayerType OPTIONAL,
layerID LayerID OPTIONAL,
intersections IntersectionGeometryList OPTIONAL,
-- All Intersection definitions
roadSegments RoadSegmentList OPTIONAL,
-- All roadway descriptions
dataParameters DataParameters OPTIONAL,
-- Any meta data regarding the map contents
restrictionList RestrictionClassList OPTIONAL,
-- Any restriction ID tables which have
-- established for these map entries
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-MapData}} OPTIONAL,
-- NOTE:
-- Other map data will be added here as it is defined
-- Examples of the type of content to be added include
-- curve warnings, construction routes, etc.
...
}
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
--
-- Start of entries from table Data_Frames... -- Start of entries from table Data_Frames...
-- This table typicaly contains data frame entries. -- Data frames
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
--
AdvisorySpeed ::= SEQUENCE { AdvisorySpeed ::= SEQUENCE {
type AdvisorySpeedType, type AdvisorySpeedType,
-- the type of advisory which this is.
speed SpeedAdvice OPTIONAL, speed SpeedAdvice OPTIONAL,
-- See Section 11 for converting and translating speed confidence SpeedConfidenceDSRC OPTIONAL,
-- expressed in mph into units of m/s
-- This element is optional ONLY when superceded
-- by the presence of a regional speed element found in
-- Reg-AdvisorySpeed entry
confidence SpeedConfidence OPTIONAL,
-- A confidence value for the above speed
distance ZoneLength OPTIONAL, distance ZoneLength OPTIONAL,
-- Unit = 1 meter,
-- The distance indicates the region for which the advised speed
-- is recommended, it is specified upstream from the stop bar
-- along the connected egressing lane
class RestrictionClassID OPTIONAL, class RestrictionClassID OPTIONAL,
-- the vehicle types to which it applies
-- when absent, the AdvisorySpeed applies to
-- all motor vehicle types
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-AdvisorySpeed}} OPTIONAL, RegionalExtension {{Reg-AdvisorySpeed}} OPTIONAL,
... ...
} }
AdvisorySpeedList ::= SEQUENCE (SIZE(1..16)) OF AdvisorySpeed AdvisorySpeedList ::= SEQUENCE (SIZE(1..16)) OF AdvisorySpeed
AntennaOffsetSet ::= SEQUENCE {
antOffsetX Offset-B12,
antOffsetY Offset-B09,
antOffsetZ Offset-B10
}
ComputedLane ::= SEQUENCE { ComputedLane ::= SEQUENCE {
-- Data needed to created a computed lane
referenceLaneId LaneID, referenceLaneId LaneID,
-- the lane ID upon which this
-- computed lane will be based
-- Lane Offset in X and Y direction
offsetXaxis CHOICE { offsetXaxis CHOICE {
small DrivenLineOffsetSm, small DrivenLineOffsetSm,
large DrivenLineOffsetLg large DrivenLineOffsetLg
...@@ -191,115 +135,39 @@ ComputedLane ::= SEQUENCE { ...@@ -191,115 +135,39 @@ ComputedLane ::= SEQUENCE {
small DrivenLineOffsetSm, small DrivenLineOffsetSm,
large DrivenLineOffsetLg large DrivenLineOffsetLg
}, },
-- A path X offset value for translations of the
-- path's points when creating translated lanes.
-- The values found in the reference lane are
-- all offset based on the X and Y values from
-- the coordinates of the reference lane's
-- initial path point.
-- Lane Rotation
rotateXY Angle OPTIONAL, rotateXY Angle OPTIONAL,
-- A path rotation value for the entire lane
-- Observe that this rotates the existing orientation
-- of the referenced lane, it does not replace it.
-- Rotation occurs about the initial path point.
-- Lane Path Scale (zooming)
scaleXaxis Scale-B12 OPTIONAL, scaleXaxis Scale-B12 OPTIONAL,
scaleYaxis Scale-B12 OPTIONAL, scaleYaxis Scale-B12 OPTIONAL,
-- value for translations or zooming of the path's
-- points. The values found in the reference lane
-- are all expanded or contracted based on the X
-- and Y and width values from the coordinates of
-- the reference lane's initial path point.
-- The Z axis remains untouched.
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-ComputedLane}} OPTIONAL, RegionalExtension {{Reg-ComputedLane}} OPTIONAL,
... ...
} }
ConnectsToList ::= SEQUENCE (SIZE(1..16)) OF Connection ConnectsToList ::= SEQUENCE (SIZE(1..16)) OF Connection
ConnectingLane ::= SEQUENCE { ConnectingLane ::= SEQUENCE {
lane LaneID, -- Index of the connecting lane lane LaneID,
maneuver AllowedManeuvers OPTIONAL maneuver AllowedManeuvers OPTIONAL
-- The Maneuver between }
-- the enclosing lane and this lane
-- at the stop line to connect them
}
Connection ::= SEQUENCE { Connection ::= SEQUENCE {
-- The subject lane connecting to this lane is:
connectingLane ConnectingLane, connectingLane ConnectingLane,
-- The index of the connecting lane and also
-- the maneuver from the current lane to it
remoteIntersection IntersectionReferenceID OPTIONAL, remoteIntersection IntersectionReferenceID OPTIONAL,
-- This entry is only used when the
-- indicated connecting lane belongs
-- to another intersection layout. This
-- provides a means to create meshes of lanes
-- SPAT mapping details at the stop line are:
signalGroup SignalGroupID OPTIONAL, signalGroup SignalGroupID OPTIONAL,
-- The matching signal group send by
-- the SPAT message for this lane/maneuver.
-- Shall be present unless the connectingLane
-- has no signal group (is un-signalized)
userClass RestrictionClassID OPTIONAL, userClass RestrictionClassID OPTIONAL,
-- The Restriction Class of users this applies to
-- The use of some lane/maneuver and SignalGroupID
-- pairings are restricted to selected users.
-- When absent, the SignalGroupID applies to all
-- Movement assist details are given by:
connectionID LaneConnectionID OPTIONAL connectionID LaneConnectionID OPTIONAL
-- An optional connection index used to }
-- relate this lane connection to any dynamic
-- clearance data in the SPAT. Note that
-- the index may be shared with other
-- connections if the clearance data is common
}
ConnectionManeuverAssist ::= SEQUENCE { ConnectionManeuverAssist ::= SEQUENCE {
connectionID LaneConnectionID, connectionID LaneConnectionID,
-- the common connectionID used by all lanes to which
-- this data applies
-- (this value traces to ConnectsTo entries in lanes)
-- Expected Clearance Information
queueLength ZoneLength OPTIONAL, queueLength ZoneLength OPTIONAL,
-- Unit = 1 meter, 0 = no queue
-- The distance from the stop line to the back
-- edge of the last vehicle in the queue,
-- as measured along the lane center line.
availableStorageLength ZoneLength OPTIONAL, availableStorageLength ZoneLength OPTIONAL,
-- Unit = 1 meter, 0 = no space remains
-- Distance (e.g. beginning from the downstream
-- stop-line up to a given distance) with a high
-- probability for successfully executing the
-- connecting maneuver between the two lanes
-- during the current cycle.
-- Used for enhancing the awareness of vehicles
-- to anticipate if they can pass the stop line
-- of the lane. Used for optimizing the green wave,
-- due to knowledge of vehicles waiting in front
-- of a red light (downstream).
-- The element nextTime in TimeChangeDetails
-- in the containing data frame contains the next
-- timemark at which an active phase is expected,
-- a form of storage flush interval.
waitOnStop WaitOnStopline OPTIONAL, waitOnStop WaitOnStopline OPTIONAL,
-- If "true", the vehicles on this specific connecting
-- maneuver have to stop on the stop-line and not
-- to enter the collision area
pedBicycleDetect PedestrianBicycleDetect OPTIONAL, pedBicycleDetect PedestrianBicycleDetect OPTIONAL,
-- true if ANY ped or bicycles are detected crossing
-- the above lanes. Set to false ONLY if there is a
-- high certainty that there are none present,
-- otherwise element is not sent.
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-ConnectionManeuverAssist}} OPTIONAL, RegionalExtension {{Reg-ConnectionManeuverAssist}} OPTIONAL,
... ...
} }
DataParameters ::= SEQUENCE { DataParameters ::= SEQUENCE {
processMethod IA5String(SIZE(1..255)) OPTIONAL, processMethod IA5String(SIZE(1..255)) OPTIONAL,
...@@ -307,202 +175,123 @@ DataParameters ::= SEQUENCE { ...@@ -307,202 +175,123 @@ DataParameters ::= SEQUENCE {
lastCheckedDate IA5String(SIZE(1..255)) OPTIONAL, lastCheckedDate IA5String(SIZE(1..255)) OPTIONAL,
geoidUsed IA5String(SIZE(1..255)) OPTIONAL, geoidUsed IA5String(SIZE(1..255)) OPTIONAL,
... ...
}
DDateTime ::= SEQUENCE {
year DYear OPTIONAL,
month DMonth OPTIONAL,
day DDay OPTIONAL,
hour DHour OPTIONAL,
minute DMinute OPTIONAL,
second DSecond OPTIONAL,
offset DOffset OPTIONAL
} }
EnabledLaneList ::= SEQUENCE (SIZE(1..16)) OF LaneID EnabledLaneList ::= SEQUENCE (SIZE(1..16)) OF LaneID
-- The unique ID numbers for each
-- lane object which is 'active' FullPositionVector ::= SEQUENCE {
-- as part of the dynamic map contents. utcTime DDateTime OPTIONAL, -- time with mSec precision
long Longitude,
lat Latitude,
elevation Elevation OPTIONAL,
heading HeadingDSRC OPTIONAL,
speed TransmissionAndSpeed OPTIONAL,
posAccuracy PositionalAccuracy OPTIONAL,
timeConfidence TimeConfidence OPTIONAL,
posConfidence PositionConfidenceSet OPTIONAL,
speedConfidence SpeedandHeadingandThrottleConfidence OPTIONAL,
...
}
GenericLane ::= SEQUENCE { GenericLane ::= SEQUENCE {
laneID LaneID, laneID LaneID,
-- The unique ID number assigned
-- to this lane object
name DescriptiveName OPTIONAL, name DescriptiveName OPTIONAL,
-- often for debug use only ingressApproach ApproachID OPTIONAL,
-- but at times used to name ped crossings egressApproach ApproachID OPTIONAL,
ingressApproach ApproachID OPTIONAL, -- inbound
egressApproach ApproachID OPTIONAL, -- outbound
-- Approach IDs to which this lane belongs
laneAttributes LaneAttributes, laneAttributes LaneAttributes,
-- All Attribute information about
-- the basic selected lane type
-- Directions of use, Geometric co-sharing
-- and Type Specific Attributes
-- These Attributes are 'lane - global' that is,
-- they are true for the entire length of the lane
maneuvers AllowedManeuvers OPTIONAL, maneuvers AllowedManeuvers OPTIONAL,
-- the permitted maneuvers for this lane
nodeList NodeListXY, nodeList NodeListXY,
-- Lane spatial path information as well as
-- various Attribute information along the node path
-- Attributes found here are more general and may
-- come and go over the length of the lane.
connectsTo ConnectsToList OPTIONAL, connectsTo ConnectsToList OPTIONAL,
-- a list of other lanes and their signal group IDs
-- each connecting lane and its signal group ID
-- is given, therefore this element provides the
-- information formerly in "signalGroups" in prior
-- editions.
overlays OverlayLaneList OPTIONAL, overlays OverlayLaneList OPTIONAL,
-- A list of any lanes which have spatial paths that
-- overlay (run on top of, and not simply cross)
-- the path of this lane when used
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-GenericLane}} OPTIONAL, RegionalExtension {{Reg-GenericLane}} OPTIONAL,
... ...
} }
IntersectionAccessPoint ::= CHOICE { IntersectionAccessPoint ::= CHOICE {
lane LaneID, lane LaneID,
approach ApproachID, approach ApproachID,
connection LaneConnectionID, connection LaneConnectionID,
... ...
} }
IntersectionGeometry ::= SEQUENCE { IntersectionGeometry ::= SEQUENCE {
name DescriptiveName OPTIONAL, name DescriptiveName OPTIONAL,
-- For debug use only
id IntersectionReferenceID, id IntersectionReferenceID,
-- A globally unique value set,
-- consisting of a regionID and
-- intersection ID assignment
revision MsgCount, revision MsgCount,
refPoint Position3D,
-- Required default values about lane descriptions follow
refPoint Position3D, -- The reference from which subsequent
-- data points are offset until a new
-- point is used.
laneWidth LaneWidth OPTIONAL, laneWidth LaneWidth OPTIONAL,
-- Reference width used by all subsequent
-- lanes unless a new width is given
speedLimits SpeedLimitList OPTIONAL, speedLimits SpeedLimitList OPTIONAL,
-- Reference regulatory speed limits laneSet LaneList,
-- used by all subsequent
-- lanes unless a new speed is given
-- See Section 11 for converting and
-- translating speed expressed in mph
-- into units of m/s
-- Complete details regarding each lane type in this intersection
laneSet LaneList, -- Data about one or more lanes
-- (all lane data is found here)
-- Data describing how to use and request preemption and
-- priority services from this intersection (if supported)
-- NOTE Additonal data may be added in the next release of the
-- standard at this point to handle this concept
preemptPriorityData PreemptPriorityList OPTIONAL, preemptPriorityData PreemptPriorityList OPTIONAL,
-- data about one or more regional
-- preempt or priority zones
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-IntersectionGeometry}} OPTIONAL, RegionalExtension {{Reg-IntersectionGeometry}} OPTIONAL,
... ...
} }
IntersectionGeometryList ::= SEQUENCE (SIZE(1..32)) OF IntersectionGeometry IntersectionGeometryList ::= SEQUENCE (SIZE(1..32)) OF IntersectionGeometry
IntersectionReferenceID ::= SEQUENCE { IntersectionReferenceID ::= SEQUENCE {
region RoadRegulatorID OPTIONAL, region RoadRegulatorID OPTIONAL,
-- a globally unique regional assignment value
-- typical assigned to a regional DOT authority
-- the value zero shall be used for testing needs
id IntersectionID id IntersectionID
-- a unique mapping to the intersection }
-- in question within the above region of use
}
IntersectionState ::= SEQUENCE { IntersectionState ::= SEQUENCE {
name DescriptiveName OPTIONAL, name DescriptiveName OPTIONAL,
-- human readable name for intersection
-- to be used only in debug mode
id IntersectionReferenceID, id IntersectionReferenceID,
-- A globally unique value set, consisting of a
-- regionID and intersection ID assignment
-- provides a unique mapping to the
-- intersection MAP in question
-- which provides complete location
-- and approach/move/lane data
revision MsgCount, revision MsgCount,
status IntersectionStatusObject, status IntersectionStatusObject,
-- general status of the controller(s)
moy MinuteOfTheYear OPTIONAL, moy MinuteOfTheYear OPTIONAL,
-- Minute of current UTC year
-- used only with messages to be archived
timeStamp DSecond OPTIONAL, timeStamp DSecond OPTIONAL,
-- the mSec point in the current UTC minute that
-- this message was constructed
enabledLanes EnabledLaneList OPTIONAL, enabledLanes EnabledLaneList OPTIONAL,
-- a list of lanes where the RevocableLane bit
-- has been set which are now active and
-- therefore part of the current intersection
states MovementList, states MovementList,
-- Each Movement is given in turn
-- and contains its signal phase state,
-- mapping to the lanes it applies to, and
-- point in time it will end, and it
-- may contain both active and future states
maneuverAssistList ManeuverAssistList OPTIONAL, maneuverAssistList ManeuverAssistList OPTIONAL,
-- Assist data
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-IntersectionState}} OPTIONAL, RegionalExtension {{Reg-IntersectionState}} OPTIONAL,
... ...
} }
IntersectionStateList ::= SEQUENCE (SIZE(1..32)) OF IntersectionState IntersectionStateList ::= SEQUENCE (SIZE(1..32)) OF IntersectionState
LaneAttributes ::= SEQUENCE { LaneAttributes ::= SEQUENCE {
directionalUse LaneDirection, -- directions of lane use directionalUse LaneDirection,
sharedWith LaneSharing, -- co-users of the lane path sharedWith LaneSharing,
laneType LaneTypeAttributes, -- specific lane type data laneType LaneTypeAttributes,
regional RegionalExtension {{Reg-LaneAttributes}} OPTIONAL regional RegionalExtension {{Reg-LaneAttributes}} OPTIONAL
} }
LaneDataAttribute ::= CHOICE { LaneDataAttribute ::= CHOICE {
-- Segment attribute types and the data needed for each
pathEndPointAngle DeltaAngle, pathEndPointAngle DeltaAngle,
-- adjusts final point/width slant
-- of the lane to align with the stop line
laneCrownPointCenter RoadwayCrownAngle, laneCrownPointCenter RoadwayCrownAngle,
-- sets the canter of the road bed
-- from centerline point
laneCrownPointLeft RoadwayCrownAngle, laneCrownPointLeft RoadwayCrownAngle,
-- sets the canter of the road bed
-- from left edge
laneCrownPointRight RoadwayCrownAngle, laneCrownPointRight RoadwayCrownAngle,
-- sets the canter of the road bed
-- from right edge
laneAngle MergeDivergeNodeAngle, laneAngle MergeDivergeNodeAngle,
-- the angle or direction of another lane
-- this is required to support Japan style
-- when a merge point angle is required
speedLimits SpeedLimitList, speedLimits SpeedLimitList,
-- Reference regulatory speed limits
-- used by all segments
-- Add others as needed, in regional space
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-LaneDataAttribute}}, RegionalExtension {{Reg-LaneDataAttribute}},
... ...
} }
LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute
LaneList ::= SEQUENCE (SIZE(1..255)) OF GenericLane LaneList ::= SEQUENCE (SIZE(1..255)) OF GenericLane
LaneSharing ::= BIT STRING { LaneSharing ::= BIT STRING {
-- With bits as defined:
overlappingLaneDescriptionProvided (0), overlappingLaneDescriptionProvided (0),
-- Assert when another lane object is present to describe the
-- path of the overlapping shared lane
-- this construct is not used for lane objects which simply cross
multipleLanesTreatedAsOneLane (1), multipleLanesTreatedAsOneLane (1),
-- Assert if the lane object path and width details represents otherNonMotorizedTrafficTypes (2),
-- multiple lanes within it that are not further described
-- Various modes and type of traffic that may share this lane:
otherNonMotorizedTrafficTypes (2), -- horse drawn etc.
individualMotorizedVehicleTraffic (3), individualMotorizedVehicleTraffic (3),
busVehicleTraffic (4), busVehicleTraffic (4),
taxiVehicleTraffic (5), taxiVehicleTraffic (5),
...@@ -510,560 +299,358 @@ LaneSharing ::= BIT STRING { ...@@ -510,560 +299,358 @@ LaneSharing ::= BIT STRING {
cyclistVehicleTraffic (7), cyclistVehicleTraffic (7),
trackedVehicleTraffic (8), trackedVehicleTraffic (8),
pedestrianTraffic (9) pedestrianTraffic (9)
} (SIZE (10)) } (SIZE (10))
-- All zeros would indicate 'not shared' and 'not overlapping'
LaneTypeAttributes ::= CHOICE { LaneTypeAttributes ::= CHOICE {
vehicle LaneAttributes-Vehicle, -- motor vehicle lanes vehicle LaneAttributes-Vehicle,
crosswalk LaneAttributes-Crosswalk, -- pedestrian crosswalks crosswalk LaneAttributes-Crosswalk,
bikeLane LaneAttributes-Bike, -- bike lanes bikeLane LaneAttributes-Bike,
sidewalk LaneAttributes-Sidewalk, -- pedestrian sidewalk paths sidewalk LaneAttributes-Sidewalk,
median LaneAttributes-Barrier, -- medians & channelization median LaneAttributes-Barrier,
striping LaneAttributes-Striping, -- roadway markings striping LaneAttributes-Striping,
trackedVehicle LaneAttributes-TrackedVehicle, -- trains and trolleys trackedVehicle LaneAttributes-TrackedVehicle,
parking LaneAttributes-Parking, -- parking and stopping lanes parking LaneAttributes-Parking,
... ...
} }
ManeuverAssistList ::= SEQUENCE (SIZE(1..16)) OF ConnectionManeuverAssist ManeuverAssistList ::= SEQUENCE (SIZE(1..16)) OF ConnectionManeuverAssist
MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent
MovementEvent ::= SEQUENCE { MovementEvent ::= SEQUENCE {
eventState MovementPhaseState, eventState MovementPhaseState,
-- Consisting of:
-- Phase state (the basic 11 states)
-- Directional, protected, or permissive state
timing TimeChangeDetails OPTIONAL, timing TimeChangeDetails OPTIONAL,
-- Timing Data in UTC time stamps for event
-- includes start and min/max end times of phase
-- confidence and estimated next occurrence
speeds AdvisorySpeedList OPTIONAL, speeds AdvisorySpeedList OPTIONAL,
-- various speed advisories for use by
-- general and specific types of vehicles
-- supporting green-wave and other flow needs
-- See Section 11 for converting and translating
-- speed expressed in mph into units of m/s
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-MovementEvent}} OPTIONAL, RegionalExtension {{Reg-MovementEvent}} OPTIONAL,
... ...
} }
MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent
MovementList ::= SEQUENCE (SIZE(1..255)) OF MovementState MovementList ::= SEQUENCE (SIZE(1..255)) OF MovementState
MovementState ::= SEQUENCE { MovementState ::= SEQUENCE {
movementName DescriptiveName OPTIONAL, movementName DescriptiveName OPTIONAL,
-- uniquely defines movement by name
-- human readable name for intersection
-- to be used only in debug mode
signalGroup SignalGroupID, signalGroup SignalGroupID,
-- the group id is used to map to lists
-- of lanes (and their descriptions)
-- which this MovementState data applies to
-- see comments in the Remarks for usage details
state-time-speed MovementEventList, state-time-speed MovementEventList,
-- Consisting of sets of movement data with:
-- a) SignalPhaseState
-- b) TimeChangeDetails, and
-- c) AdvisorySpeeds (optional )
-- Note one or more of the movement events may be for
-- a future time and that this allows conveying multiple
-- predictive phase and movement timing for various uses
-- for the current signal group
maneuverAssistList ManeuverAssistList OPTIONAL, maneuverAssistList ManeuverAssistList OPTIONAL,
-- This information may also be placed in the
-- IntersectionState when common information applies to
-- different lanes in the same way
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-MovementState}} OPTIONAL, RegionalExtension {{Reg-MovementState}} OPTIONAL,
... ...
} }
NodeAttributeSetXY ::= SEQUENCE { NodeAttributeSetXY ::= SEQUENCE {
localNode NodeAttributeXYList OPTIONAL, localNode NodeAttributeXYList OPTIONAL,
-- Attribute states which pertain to this node point
disabled SegmentAttributeXYList OPTIONAL, disabled SegmentAttributeXYList OPTIONAL,
-- Attribute states which are disabled at this node point
enabled SegmentAttributeXYList OPTIONAL, enabled SegmentAttributeXYList OPTIONAL,
-- Attribute states which are enabled at this node point
-- and which remain enabled until disabled or the lane ends
data LaneDataAttributeList OPTIONAL, data LaneDataAttributeList OPTIONAL,
-- Attributes which require an additional data values
-- some of these are local to the node point, while others
-- persist with the provided values until changed
-- and this is indicated in each entry
dWidth Offset-B10 OPTIONAL, dWidth Offset-B10 OPTIONAL,
-- A value added to the current lane width
-- at this node and from this node onwards, in 1cm steps
-- lane width between nodes are a linear taper between pts
-- the value of zero shall not be sent here
dElevation Offset-B10 OPTIONAL, dElevation Offset-B10 OPTIONAL,
-- A value added to the current Elevation
-- at this node from this node onwards, in 10cm steps
-- elevations between nodes are a linear taper between pts
-- the value of zero shall not be sent here
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL, RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL,
... ...
} }
NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY
NodeAttributeXY ::= ENUMERATED { NodeAttributeXY ::= ENUMERATED {
-- Various values which pertain only to the current node point
-- General Items
reserved, reserved,
stopLine, -- point where a mid-path stop line exists stopLine,
-- See also 'do not block' for segments roundedCapStyleA,
roundedCapStyleB,
-- Path finish details mergePoint,
roundedCapStyleA, -- Used to control final path rounded end shape divergePoint,
-- with edge of curve at final point in a circle downstreamStopLine,
roundedCapStyleB, -- Used to control final path rounded end shape downstreamStartNode,
-- with edge of curve extending 50% of width past closedToTraffic,
-- final point in a circle safeIsland,
curbPresentAtStepOff,
-- Topography Points (items with no concept of a distance along the path) hydrantPresent,
mergePoint, -- Japan merge with 1 or more lanes
divergePoint, -- Japan diverge with 1 or more lanes
downstreamStopLine, -- Japan style downstream intersection
-- (a 2nd intersection) stop line
downstreamStartNode, -- Japan style downstream intersection
-- (a 2nd intersection) start node
-- Pedestrian Support Attributes
closedToTraffic, -- where a pedestrian may NOT go
-- to be used during construction events
safeIsland, -- a pedestrian safe stopping point
-- also called a traffic island
-- This usage described a point feature on a path,
-- other entries can describe a path
curbPresentAtStepOff, -- the sidewalk to street curb is NOT
-- angled where it meets the edge of the
-- roadway (user must step up/down)
-- Lane geometry details (see standard for defined shapes)
hydrantPresent, -- Or other services access
... ...
} }
NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY
Node-LLmD-64b ::= SEQUENCE { Node-LLmD-64b ::= SEQUENCE {
lon Longitude, lon Longitude,
lat Latitude lat Latitude
} }
Node-XY-20b ::= SEQUENCE { Node-XY-20b ::= SEQUENCE {
x Offset-B10, x Offset-B10,
y Offset-B10 y Offset-B10
} }
Node-XY-22b ::= SEQUENCE { Node-XY-22b ::= SEQUENCE {
x Offset-B11, x Offset-B11,
y Offset-B11 y Offset-B11
} }
Node-XY-24b ::= SEQUENCE { Node-XY-24b ::= SEQUENCE {
x Offset-B12, x Offset-B12,
y Offset-B12 y Offset-B12
} }
Node-XY-26b ::= SEQUENCE { Node-XY-26b ::= SEQUENCE {
x Offset-B13, x Offset-B13,
y Offset-B13 y Offset-B13
} }
Node-XY-28b ::= SEQUENCE { Node-XY-28b ::= SEQUENCE {
x Offset-B14, x Offset-B14,
y Offset-B14 y Offset-B14
} }
Node-XY-32b ::= SEQUENCE { Node-XY-32b ::= SEQUENCE {
x Offset-B16, x Offset-B16,
y Offset-B16 y Offset-B16
} }
NodeListXY ::= CHOICE { NodeListXY ::= CHOICE {
nodes NodeSetXY, nodes NodeSetXY,
-- a lane made up of two or more
-- XY node points and any attributes
-- defined in those nodes
computed ComputedLane, computed ComputedLane,
-- a lane path computed by translating
-- the data defined by another lane
... ...
} }
NodeOffsetPointXY ::= CHOICE { NodeOffsetPointXY ::= CHOICE {
-- Nodes with X,Y content node-XY1 Node-XY-20b,
node-XY1 Node-XY-20b, -- node is within 5.11m of last node node-XY2 Node-XY-22b,
node-XY2 Node-XY-22b, -- node is within 10.23m of last node node-XY3 Node-XY-24b,
node-XY3 Node-XY-24b, -- node is within 20.47m of last node node-XY4 Node-XY-26b,
node-XY4 Node-XY-26b, -- node is within 40.96m of last node node-XY5 Node-XY-28b,
node-XY5 Node-XY-28b, -- node is within 81.91m of last node node-XY6 Node-XY-32b,
node-XY6 Node-XY-32b, -- node is within 327.67m of last node node-LatLon Node-LLmD-64b,
node-LatLon Node-LLmD-64b, -- node is a full 32b Lat/Lon range
regional RegionalExtension {{Reg-NodeOffsetPointXY}} regional RegionalExtension {{Reg-NodeOffsetPointXY}}
-- node which follows is of a }
-- regional definition type
}
NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY
NodeXY ::= SEQUENCE { NodeXY ::= SEQUENCE {
delta NodeOffsetPointXY, delta NodeOffsetPointXY,
-- A choice of which X,Y offset value to use
-- this includes various delta values as well a regional choices
attributes NodeAttributeSetXY OPTIONAL, attributes NodeAttributeSetXY OPTIONAL,
-- Any optional Attributes which are needed
-- This includes changes to the current lane width and elevation
... ...
} }
NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY
OverlayLaneList ::= SEQUENCE (SIZE(1..5)) OF LaneID OverlayLaneList ::= SEQUENCE (SIZE(1..5)) OF LaneID
-- The unique ID numbers for any lane object which have
-- spatial paths that overlay (run on top of, and not PositionalAccuracy ::= SEQUENCE {
-- simply cross with) the current lane. semiMajor SemiMajorAxisAccuracy,
-- Such as a train path that overlays a motor vehicle semiMinor SemiMinorAxisAccuracy,
-- lane object for a roadway segment. orientation SemiMajorAxisOrientation
}
PositionConfidenceSet ::= SEQUENCE {
pos PositionConfidence, -- for both horizontal directions
elevation ElevationConfidence
}
Position3D ::= SEQUENCE { Position3D ::= SEQUENCE {
lat Latitude, -- in 1/10th micro degrees lat Latitude,
long Longitude, -- in 1/10th micro degrees long Longitude,
elevation Elevation OPTIONAL, -- in 10 cm units elevation Elevation OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-Position3D}} OPTIONAL, RegionalExtension {{Reg-Position3D}} OPTIONAL,
... ...
} }
PreemptPriorityList ::= SEQUENCE (SIZE(1..32)) OF SignalControlZone PreemptPriorityList ::= SEQUENCE (SIZE(1..32)) OF SignalControlZone
RegulatorySpeedLimit ::= SEQUENCE { RegulatorySpeedLimit ::= SEQUENCE {
type SpeedLimitType, type SpeedLimitType,
-- The type of regulatory speed which follows
speed Velocity speed Velocity
-- The speed in units of 0.02 m/s }
-- See Section 11 for converting and translating
-- speed expressed in mph into units of m/s
}
RequestorDescription ::= SEQUENCE { RequestorDescription ::= SEQUENCE {
id VehicleID, id VehicleID,
-- The ID used in the BSM or CAM of the requestor
-- This ID is presumed not to change
-- during the exchange
type RequestorType OPTIONAL, type RequestorType OPTIONAL,
-- Information regarding all type and class data
-- about the requesting vehicle
position RequestorPositionVector OPTIONAL, position RequestorPositionVector OPTIONAL,
-- The location of the requesting vehicle
name DescriptiveName OPTIONAL, name DescriptiveName OPTIONAL,
-- A human readable name for debugging use
-- Support for Transit requests
routeName DescriptiveName OPTIONAL, routeName DescriptiveName OPTIONAL,
-- A string for transit operations use
transitStatus TransitVehicleStatus OPTIONAL, transitStatus TransitVehicleStatus OPTIONAL,
-- current vehicle state (loading, etc.)
transitOccupancy TransitVehicleOccupancy OPTIONAL, transitOccupancy TransitVehicleOccupancy OPTIONAL,
-- current vehicle occupancy
transitSchedule DeltaTime OPTIONAL, transitSchedule DeltaTime OPTIONAL,
-- current vehicle schedule adherence
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RequestorDescription}} OPTIONAL, RegionalExtension {{Reg-RequestorDescription}} OPTIONAL,
... ...
} }
RequestorPositionVector ::= SEQUENCE { RequestorPositionVector ::= SEQUENCE {
position Position3D, position Position3D,
heading Angle OPTIONAL, heading Angle OPTIONAL,
speed TransmissionAndSpeed OPTIONAL, speed TransmissionAndSpeed OPTIONAL,
... ...
} }
RequestorType ::= SEQUENCE { RequestorType ::= SEQUENCE {
-- Defines who is requesting role BasicVehicleRole,
role BasicVehicleRole, -- Basic role of this user at this time subrole RequestSubRole OPTIONAL,
subrole RequestSubRole OPTIONAL, -- A local list with role based items request RequestImportanceLevel OPTIONAL,
-- Defines what kind of request (a level of importance in the Priority Scheme)
request RequestImportanceLevel OPTIONAL, -- A local list with request items
-- Additional classification details
iso3883 Iso3833VehicleType OPTIONAL, iso3883 Iso3833VehicleType OPTIONAL,
hpmsType VehicleType OPTIONAL, -- HPMS classification types hpmsType VehicleType OPTIONAL,
regional RegionalExtension {{Reg-RequestorType}} OPTIONAL, regional RegionalExtension {{Reg-RequestorType}} OPTIONAL,
... ...
} }
RestrictionClassAssignment ::= SEQUENCE { RestrictionClassAssignment ::= SEQUENCE {
id RestrictionClassID, id RestrictionClassID,
-- the unique value (within an intersection or local region)
-- that is assigned to this group of users
users RestrictionUserTypeList users RestrictionUserTypeList
-- The list of user types/classes }
-- to which this restriction ID applies
}
RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment
RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF RestrictionUserType
RestrictionUserType ::= CHOICE { RestrictionUserType ::= CHOICE {
basicType RestrictionAppliesTo, basicType RestrictionAppliesTo,
-- a set of the most commonly used types
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RestrictionUserType}}, RegionalExtension {{Reg-RestrictionUserType}},
... ...
} }
RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF RestrictionUserType
RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane
RoadSegmentReferenceID ::= SEQUENCE { RoadSegmentReferenceID ::= SEQUENCE {
region RoadRegulatorID OPTIONAL, region RoadRegulatorID OPTIONAL,
-- a globally unique regional assignment value
-- typically assigned to a regional DOT authority
-- the value zero shall be used for testing needs
id RoadSegmentID id RoadSegmentID
-- a unique mapping to the road segment }
-- in question within the above region of use
-- during its period of assignment and use
-- note that unlike intersectionID values,
-- this value can be reused by the region
}
RoadSegment ::= SEQUENCE { RoadSegment ::= SEQUENCE {
name DescriptiveName OPTIONAL, name DescriptiveName OPTIONAL,
id RoadSegmentReferenceID, id RoadSegmentReferenceID,
-- a globally unique value for the segment
revision MsgCount, revision MsgCount,
-- Required default values about the descriptions to follow refPoint Position3D,
refPoint Position3D, -- the reference from which subsequent
-- data points are offset until a new
-- point is used.
laneWidth LaneWidth OPTIONAL, laneWidth LaneWidth OPTIONAL,
-- Reference width used by all subsequent
-- lanes unless a new width is given
speedLimits SpeedLimitList OPTIONAL, speedLimits SpeedLimitList OPTIONAL,
-- Reference regulatory speed limits
-- used by all subsequent
-- lanes unless a new speed is given
-- See Section 11 for converting and
-- translating speed expressed in mph
-- into units of m/s
-- Data describing disruptions in the RoadSegment
-- such as work zones etc will be added here;
-- in the US the SAE ITIS codes would be used here
-- The details regarding each lane type in the RoadSegment
roadLaneSet RoadLaneSetList, roadLaneSet RoadLaneSetList,
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RoadSegment}} OPTIONAL, RegionalExtension {{Reg-RoadSegment}} OPTIONAL,
... ...
} }
RoadSegmentList ::= SEQUENCE (SIZE(1..32)) OF RoadSegment RoadSegmentList ::= SEQUENCE (SIZE(1..32)) OF RoadSegment
RTCMheader ::= SEQUENCE {
status GNSSstatus,
offsetSet AntennaOffsetSet
}
RTCMmessageList ::= SEQUENCE (SIZE(1..5)) OF RTCMmessage
SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY
SignalControlZone ::= SEQUENCE { SignalControlZone ::= SEQUENCE {
zone RegionalExtension {{Reg-SignalControlZone}}, zone RegionalExtension {{Reg-SignalControlZone}},
... ...
} }
SignalRequesterInfo ::= SEQUENCE { SignalRequesterInfo ::= SEQUENCE {
-- These three items serve to uniquely identify the requester
-- and the specific request to all parties
id VehicleID, id VehicleID,
request RequestID, request RequestID,
sequenceNumber MsgCount, sequenceNumber MsgCount,
role BasicVehicleRole OPTIONAL, role BasicVehicleRole OPTIONAL,
typeData RequestorType OPTIONAL, typeData RequestorType OPTIONAL,
-- Used when addition data besides the role
-- is needed, at which point the role entry
-- above is not sent.
... ...
} }
SignalRequest ::= SEQUENCE {
id IntersectionReferenceID,
requestID RequestID,
requestType PriorityRequestType,
inBoundLane IntersectionAccessPoint,
outBoundLane IntersectionAccessPoint OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalRequest}} OPTIONAL,
...
}
SignalRequestList ::= SEQUENCE (SIZE(1..32)) OF SignalRequestPackage SignalRequestList ::= SEQUENCE (SIZE(1..32)) OF SignalRequestPackage
SignalRequestPackage ::= SEQUENCE { SignalRequestPackage ::= SEQUENCE {
request SignalRequest, request SignalRequest,
-- The specific request to the intersection
-- contains IntersectionID, request type,
-- requested action (approach/lane request)
-- The Estimated Time of Arrival (ETA) when the service is requested
minute MinuteOfTheYear OPTIONAL, minute MinuteOfTheYear OPTIONAL,
second DSecond OPTIONAL, second DSecond OPTIONAL,
duration DSecond OPTIONAL, duration DSecond OPTIONAL,
-- The duration value is used to provide a short interval that
-- extends the ETA so that the requesting vehicle can arrive at
-- the point of service with uncertainty or with some desired
-- duration of service. This concept can be used to avoid needing
-- to frequently update the request.
-- The requester must update the ETA and duration values if the
-- period of services extends beyond the duration time.
-- It should be assumed that if the vehicle does not clear the
-- intersection when the duration is reached, the request will
-- be cancelled and the intersection will revert to
-- normal operation.
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL, RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL,
... ...
} }
SignalRequest ::= SEQUENCE { SignalStatus ::= SEQUENCE {
-- the unique ID of the target intersection sequenceNumber MsgCount,
id IntersectionReferenceID, id IntersectionReferenceID,
sigStatus SignalStatusPackageList,
-- The unique requestID used by the requestor
requestID RequestID,
-- The type of request or cancel for priority or preempt use
-- when a prior request is canceled, only the requestID is needed
requestType PriorityRequestType,
-- In typical use either an approach or a lane number would
-- be given, this indicates the requested
-- path through the intersection to the degree it is known.
inBoundLane IntersectionAccessPoint,
-- desired entry approach or lane
outBoundLane IntersectionAccessPoint OPTIONAL,
-- desired exit approach or lane
-- the values zero is used to indicate
-- intent to stop within the intersection
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalRequest}} OPTIONAL, RegionalExtension {{Reg-SignalStatus}} OPTIONAL,
... ...
} }
SignalStatusList ::= SEQUENCE (SIZE(1..32)) OF SignalStatus SignalStatusList ::= SEQUENCE (SIZE(1..32)) OF SignalStatus
SignalStatusPackageList ::= SEQUENCE (SIZE(1..32)) OF SignalStatusPackage SignalStatusPackageList ::= SEQUENCE (SIZE(1..32)) OF SignalStatusPackage
SignalStatusPackage ::= SEQUENCE { SignalStatusPackage ::= SEQUENCE {
-- The party that made the initial SRM request
requester SignalRequesterInfo OPTIONAL, requester SignalRequesterInfo OPTIONAL,
-- The lanes or approaches used in the request inboundOn IntersectionAccessPoint,
inboundOn IntersectionAccessPoint, -- estimated lane / approach of vehicle
outboundOn IntersectionAccessPoint OPTIONAL, outboundOn IntersectionAccessPoint OPTIONAL,
-- The Estimated Time of Arrival (ETA) when the service is requested
-- This data echos the data of the request
minute MinuteOfTheYear OPTIONAL, minute MinuteOfTheYear OPTIONAL,
second DSecond OPTIONAL, second DSecond OPTIONAL,
duration DSecond OPTIONAL, duration DSecond OPTIONAL,
-- the SRM status for this request
status PrioritizationResponseStatus, status PrioritizationResponseStatus,
-- Status of request, this may include rejection
regional SEQUENCE (SIZE(1..4)) OF regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL, RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL,
... ...
} }
SignalStatus ::= SEQUENCE { SpeedandHeadingandThrottleConfidence ::= SEQUENCE {
sequenceNumber MsgCount, heading HeadingConfidenceDSRC,
-- changed whenever the below contents have change speed SpeedConfidenceDSRC,
id IntersectionReferenceID, throttle ThrottleConfidence
-- this provides a unique mapping to the
-- intersection map in question
-- which provides complete location
-- and approach/movement/lane data
-- as well as zones for priority/preemption
sigStatus SignalStatusPackageList,
-- a list of detailed status containing all
-- priority or preemption state data, both
-- active and pending, and who requested it
-- requests which are denied are also listed
-- here for a short period of time
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalStatus}} OPTIONAL,
...
} }
SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit
SpeedLimitType ::= ENUMERATED { SpeedLimitType ::= ENUMERATED {
unknown, -- Speed limit type not available unknown,
maxSpeedInSchoolZone, -- Only sent when the limit is active maxSpeedInSchoolZone,
maxSpeedInSchoolZoneWhenChildrenArePresent, -- Sent at any time maxSpeedInSchoolZoneWhenChildrenArePresent,
maxSpeedInConstructionZone, -- Used for work zones, incident zones, etc. maxSpeedInConstructionZone,
-- where a reduced speed is present
vehicleMinSpeed, vehicleMinSpeed,
vehicleMaxSpeed, -- Regulatory speed limit for general traffic vehicleMaxSpeed,
vehicleNightMaxSpeed, vehicleNightMaxSpeed,
truckMinSpeed, truckMinSpeed,
truckMaxSpeed, truckMaxSpeed,
truckNightMaxSpeed, truckNightMaxSpeed,
vehiclesWithTrailersMinSpeed, vehiclesWithTrailersMinSpeed,
vehiclesWithTrailersMaxSpeed, vehiclesWithTrailersMaxSpeed,
vehiclesWithTrailersNightMaxSpeed, vehiclesWithTrailersNightMaxSpeed,
... ...
} }
TimeChangeDetails ::= SEQUENCE { TimeChangeDetails ::= SEQUENCE {
startTime TimeMark OPTIONAL, startTime TimeMark OPTIONAL,
-- When this phase 1st started
minEndTime TimeMark, minEndTime TimeMark,
-- Expected shortest end time
maxEndTime TimeMark OPTIONAL, maxEndTime TimeMark OPTIONAL,
-- Expected longest end time
likelyTime TimeMark OPTIONAL, likelyTime TimeMark OPTIONAL,
-- Best predicted value based on other data
confidence TimeIntervalConfidence OPTIONAL, confidence TimeIntervalConfidence OPTIONAL,
-- Applies to above time element only
nextTime TimeMark OPTIONAL nextTime TimeMark OPTIONAL
-- A rough estimate of time when }
-- this phase may next occur again
-- used to support various ECO driving power
-- management needs.
}
TimeMark ::= INTEGER (0..36001) TimeMark ::= INTEGER (0..36001)
-- Tenths of a second in the current or next hour
-- In units of 1/10th second from UTC time
-- A range of 0~36000 covers one hour
-- The values 35991..36000 are used when a leap second occurs
-- The value 36001 is used to indicate time >3600 seconds
-- 36002 is to be used when value undefined or unknown
-- Note that this is NOT expressed in GPS time
-- or in local time
TransmissionAndSpeed ::= SEQUENCE { TransmissionAndSpeed ::= SEQUENCE {
transmisson TransmissionState, transmisson TransmissionState,
speed Velocity speed Velocity
} }
VehicleID ::= CHOICE { VehicleID ::= CHOICE {
entityID TemporaryID, entityID TemporaryID,
stationID StationID stationID StationID
} }
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
-- -- data elements
-- Start of entries from table Data_Elements...
-- This table typicaly contains data element entries.
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ -- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
--
AdvisorySpeedType ::= ENUMERATED { AdvisorySpeedType ::= ENUMERATED {
none (0), none (0),
...@@ -1071,170 +658,164 @@ AdvisorySpeedType ::= ENUMERATED { ...@@ -1071,170 +658,164 @@ AdvisorySpeedType ::= ENUMERATED {
ecoDrive (2), ecoDrive (2),
transit (3), transit (3),
... ...
} -- Note: subject to further growth }
AllowedManeuvers ::= BIT STRING { AllowedManeuvers ::= BIT STRING {
-- With bits as defined:
-- Allowed maneuvers at path end (stop line)
-- All maneuvers with bits not set are therefore prohibited !
-- A value of zero shall be used for unknown, indicating no Maneuver
maneuverStraightAllowed (0), maneuverStraightAllowed (0),
-- a Straight movement is allowed in this lane
maneuverLeftAllowed (1), maneuverLeftAllowed (1),
-- a Left Turn movement is allowed in this lane
maneuverRightAllowed (2), maneuverRightAllowed (2),
-- a Right Turn movement is allowed in this lane
maneuverUTurnAllowed (3), maneuverUTurnAllowed (3),
-- a U turn movement is allowed in this lane
maneuverLeftTurnOnRedAllowed (4), maneuverLeftTurnOnRedAllowed (4),
-- a Stop, and then proceed when safe movement
-- is allowed in this lane
maneuverRightTurnOnRedAllowed (5), maneuverRightTurnOnRedAllowed (5),
-- a Stop, and then proceed when safe movement
-- is allowed in this lane
maneuverLaneChangeAllowed (6), maneuverLaneChangeAllowed (6),
-- a movement which changes to an outer lane
-- on the egress side is allowed in this lane
-- (example: left into either outbound lane)
maneuverNoStoppingAllowed (7), maneuverNoStoppingAllowed (7),
-- the vehicle should not stop at the stop line
-- (example: a flashing green arrow)
yieldAllwaysRequired (8), yieldAllwaysRequired (8),
-- the allowed movements above are not protected
-- (example: an permanent yellow condition)
goWithHalt (9), goWithHalt (9),
-- after making a full stop, may proceed
caution (10), caution (10),
-- proceed past stop line with caution
reserved1 (11) reserved1 (11)
-- used to align to 12 Bit Field } (SIZE(12))
} (SIZE(12))
Angle ::= INTEGER (0..28800) Angle ::= INTEGER (0..28800)
-- LSB of 0.0125 degrees
-- A range of 0 to 359.9875 degrees
ApproachID ::= INTEGER (0..15) -- zero to be used when valid value is unknown ApproachID ::= INTEGER (0..15)
BasicVehicleRole ::= ENUMERATED { BasicVehicleRole ::= ENUMERATED {
-- Values used in the EU and in the US basicVehicle (0),
basicVehicle (0), -- Light duty passenger vehicle type publicTransport (1),
publicTransport (1), -- Used in EU for Transit us specialTransport (2),
specialTransport (2), -- Used in EU (e.g. heavy load) dangerousGoods (3),
dangerousGoods (3), -- Used in EU for any HAZMAT roadWork (4),
roadWork (4), -- Used in EU for State and Local DOT uses roadRescue (5),
roadRescue (5), -- Used in EU and in the US to include tow trucks. emergency (6),
emergency (6), -- Used in EU for Police, Fire and Ambulance units safetyCar (7),
safetyCar (7), -- Used in EU for Escort vehicles none-unknown (8),
-- Begin US unique numbering truck (9),
none-unknown (8), -- added to follow current SAE style guidelines motorcycle (10),
truck (9), -- Heavy trucks with additional BSM rights and obligations roadSideSource (11),
motorcycle (10), -- police (12),
roadSideSource (11), -- For infrastructure generated calls such as fire (13),
-- fire house, rail infrastructure, roadwork site, etc. ambulance (14),
police (12), -- dot (15),
fire (13), -- transit (16),
ambulance (14), -- (does not include private para-transit etc.) slowMoving (17),
dot (15), -- all roadwork vehicles stopNgo (18),
transit (16), -- all transit vehicles cyclist (19),
slowMoving (17), -- to also include oversize etc. pedestrian (20),
stopNgo (18), -- to include trash trucks, school buses and others nonMotorized (21),
-- that routinely disturb the free flow of traffic military (22),
cyclist (19), --
pedestrian (20), -- also includes those with mobility limitations
nonMotorized (21), -- other, horse drawn, etc.
military (22), --
... ...
} }
DDay ::= INTEGER (0..31)
DeltaAngle ::= INTEGER (-150..150) DeltaAngle ::= INTEGER (-150..150)
-- With an angle range from
-- negative 150 to positive 150
-- in one degree steps where zero is directly
-- along the axis or the lane center line as defined by the
-- two closest points
DeltaTime ::= INTEGER (-122 .. 121) DeltaTime ::= INTEGER (-122 .. 121)
-- Supporting a range of +/- 20 minute in steps of 10 seconds
-- the value of -121 shall be used when more than -20 minutes
-- the value of +120 shall be used when more than +20 minutes
-- the value -122 shall be used when the value is unavailable
DescriptiveName ::= IA5String (SIZE(1..63)) DescriptiveName ::= IA5String (SIZE(1..63))
DHour ::= INTEGER (0..31)
DMinute ::= INTEGER (0..60)
DMonth ::= INTEGER (0..12)
DOffset ::= INTEGER (-840..840)
DrivenLineOffsetLg ::= INTEGER (-32767..32767) DrivenLineOffsetLg ::= INTEGER (-32767..32767)
-- LSB units are 1 cm.
DrivenLineOffsetSm ::= INTEGER (-2047..2047) DrivenLineOffsetSm ::= INTEGER (-2047..2047)
-- LSB units are 1 cm.
DSecond ::= INTEGER (0..65535) -- units of milliseconds DSecond ::= INTEGER (0..65535)
DSRCmsgID ::= INTEGER (0..32767) DSRCmsgID ::= INTEGER (0..32767)
mapData DSRCmsgID ::= 18 -- MAP, intersections mapData DSRCmsgID ::= 18
signalPhaseAndTimingMessage DSRCmsgID ::= 19 -- SPAT rtcmCorrections DSRCmsgID ::= 28
signalRequestMessage DSRCmsgID ::= 29 -- SRM signalPhaseAndTimingMessage DSRCmsgID ::= 19
signalStatusMessage DSRCmsgID ::= 30 -- SSM signalRequestMessage DSRCmsgID ::= 29
signalStatusMessage DSRCmsgID ::= 30
DYear ::= INTEGER (0..4095)
Elevation ::= INTEGER (-4096..61439) Elevation ::= INTEGER (-4096..61439)
-- In units of 10 cm steps above or below the reference ellipsoid
-- Providing a range of -409.5 to + 6143.9 meters ElevationConfidence ::= ENUMERATED {
-- The value -4096 shall be used when Unknown is to be sent unavailable (0),
elev-500-00 (1),
elev-200-00 (2),
elev-100-00 (3),
elev-050-00 (4),
elev-020-00 (5),
elev-010-00 (6),
elev-005-00 (7),
elev-002-00 (8),
elev-001-00 (9),
elev-000-50 (10),
elev-000-20 (11),
elev-000-10 (12),
elev-000-05 (13),
elev-000-02 (14),
elev-000-01 (15)
}
FuelType ::= INTEGER (0..15)
unknownFuel FuelType ::= 0
gasoline FuelType ::= 1
ethanol FuelType ::= 2
diesel FuelType ::= 3
electric FuelType ::= 4
hybrid FuelType ::= 5
hydrogen FuelType ::= 6
natGasLiquid FuelType ::= 7
natGasComp FuelType ::= 8
propane FuelType ::= 9
GNSSstatus ::= BIT STRING {
unavailable (0),
isHealthy (1),
isMonitored (2),
baseStationType (3),
aPDOPofUnder5 (4),
inViewOfUnder5 (5),
localCorrectionsPresent (6),
networkCorrectionsPresent (7)
} (SIZE(8))
HeadingConfidenceDSRC ::= ENUMERATED {
unavailable (0),
prec10deg (1),
prec05deg (2),
prec01deg (3),
prec0-1deg (4),
prec0-05deg (5),
prec0-01deg (6),
prec0-0125deg (7)
}
HeadingDSRC ::= INTEGER (0..28800)
IntersectionID ::= INTEGER (0..65535) IntersectionID ::= INTEGER (0..65535)
-- The values zero through 255 are allocated for testing purposes
-- Note that the value assigned to an intersection will be
-- unique within a given regional ID only
IntersectionStatusObject ::= BIT STRING { IntersectionStatusObject ::= BIT STRING {
manualControlIsEnabled (0), manualControlIsEnabled (0),
-- Timing reported is per programmed values, etc. but person
-- at cabinet can manually request that certain intervals are
-- terminated early (e.g. green).
stopTimeIsActivated (1), stopTimeIsActivated (1),
-- And all counting/timing has stopped.
failureFlash (2), failureFlash (2),
-- Above to be used for any detected hardware failures,
-- e.g. conflict monitor as well as for police flash
preemptIsActive (3), preemptIsActive (3),
signalPriorityIsActive (4), signalPriorityIsActive (4),
-- Additional states
fixedTimeOperation (5), fixedTimeOperation (5),
-- Schedule of signals is based on time only
-- (i.e. the state can be calculated)
trafficDependentOperation (6), trafficDependentOperation (6),
-- Operation is based on different levels of traffic parameters
-- (requests, duration of gaps or more complex parameters)
standbyOperation (7), standbyOperation (7),
-- Controller: partially switched off or partially amber flashing
failureMode (8), failureMode (8),
-- Controller has a problem or failure in operation
off (9), off (9),
-- Controller is switched off
-- Related to MAP and SPAT bindings
recentMAPmessageUpdate (10), recentMAPmessageUpdate (10),
-- Map revision with content changes
recentChangeInMAPassignedLanesIDsUsed (11), recentChangeInMAPassignedLanesIDsUsed (11),
-- Change in MAP's assigned lanes used (lane changes)
-- Changes in the active lane list description
noValidMAPisAvailableAtThisTime (12), noValidMAPisAvailableAtThisTime (12),
-- MAP (and various lanes indexes) not available
noValidSPATisAvailableAtThisTime (13) noValidSPATisAvailableAtThisTime (13)
-- SPAT system is not working at this time } (SIZE(16))
-- Bits 14,15 reserved at this time and shall be zero
} (SIZE(16))
LaneAttributes-Barrier ::= BIT STRING { LaneAttributes-Barrier ::= BIT STRING {
-- With bits as defined:
median-RevocableLane (0), median-RevocableLane (0),
-- this lane may be activated or not based
-- on the current SPAT message contents
-- if not asserted, the lane is ALWAYS present
median (1), median (1),
whiteLineHashing (2), whiteLineHashing (2),
stripedLines (3), stripedLines (3),
...@@ -1244,195 +825,90 @@ LaneAttributes-Barrier ::= BIT STRING { ...@@ -1244,195 +825,90 @@ LaneAttributes-Barrier ::= BIT STRING {
trafficChannels (7), trafficChannels (7),
lowCurbs (8), lowCurbs (8),
highCurbs (9) highCurbs (9)
-- Bits 10~15 reserved and set to zero } (SIZE (16))
} (SIZE (16))
LaneAttributes-Bike ::= BIT STRING { LaneAttributes-Bike ::= BIT STRING {
-- With bits as defined:
bikeRevocableLane (0), bikeRevocableLane (0),
-- this lane may be activated or not based
-- on the current SPAT message contents
-- if not asserted, the lane is ALWAYS present
pedestrianUseAllowed (1), pedestrianUseAllowed (1),
-- The path allows pedestrian traffic,
-- if not set, this mode is prohibited
isBikeFlyOverLane (2), isBikeFlyOverLane (2),
-- path of lane is not at grade
fixedCycleTime (3), fixedCycleTime (3),
-- the phases use preset times
-- i.e. there is not a 'push to cross' button
biDirectionalCycleTimes (4), biDirectionalCycleTimes (4),
-- ped walk phases use different SignalGroupID
-- for each direction. The first SignalGroupID
-- in the first Connection represents 'inbound'
-- flow (the direction of travel towards the first
-- node point) while second SignalGroupID in the
-- next Connection entry represents the 'outbound'
-- flow. And use of RestrictionClassID entries
-- in the Connect follow this same pattern in pairs.
isolatedByBarrier (5), isolatedByBarrier (5),
unsignalizedSegmentsPresent (6) unsignalizedSegmentsPresent (6)
-- The lane path consists of one of more segments } (SIZE (16))
-- which are not part of a signal group ID
-- Bits 7~15 reserved and set to zero
} (SIZE (16))
LaneAttributes-Crosswalk ::= BIT STRING { LaneAttributes-Crosswalk ::= BIT STRING {
-- With bits as defined:
-- MUTCD provides no suitable "types" to use here
crosswalkRevocableLane (0), crosswalkRevocableLane (0),
-- this lane may be activated or not based
-- on the current SPAT message contents
-- if not asserted, the lane is ALWAYS present
bicyleUseAllowed (1), bicyleUseAllowed (1),
-- The path allows bicycle traffic,
-- if not set, this mode is prohibited
isXwalkFlyOverLane (2), isXwalkFlyOverLane (2),
-- path of lane is not at grade
fixedCycleTime (3), fixedCycleTime (3),
-- ped walk phases use preset times
-- i.e. there is not a 'push to cross' button
biDirectionalCycleTimes (4), biDirectionalCycleTimes (4),
-- ped walk phases use different SignalGroupID
-- for each direction. The first SignalGroupID
-- in the first Connection represents 'inbound'
-- flow (the direction of travel towards the first
-- node point) while second SignalGroupID in the
-- next Connection entry represents the 'outbound'
-- flow. And use of RestrictionClassID entries
-- in the Connect follow this same pattern in pairs.
hasPushToWalkButton (5), hasPushToWalkButton (5),
-- Has a demand input
audioSupport (6), audioSupport (6),
-- audio crossing cues present
rfSignalRequestPresent (7), rfSignalRequestPresent (7),
-- Supports RF push to walk technologies
unsignalizedSegmentsPresent (8) unsignalizedSegmentsPresent (8)
-- The lane path consists of one of more segments } (SIZE (16))
-- which are not part of a signal group ID
-- Bits 9~15 reserved and set to zero
} (SIZE (16))
LaneAttributes-Parking ::= BIT STRING { LaneAttributes-Parking ::= BIT STRING {
-- With bits as defined:
-- Parking use details, note that detailed restrictions such as
-- allowed hours are sent by way of ITIS codes in the TIM message
parkingRevocableLane (0), parkingRevocableLane (0),
-- this lane may be activated or not based
-- on the current SPAT message contents
-- if not asserted, the lane is ALWAYS present
parallelParkingInUse (1), parallelParkingInUse (1),
headInParkingInUse (2), headInParkingInUse (2),
doNotParkZone (3), doNotParkZone (3),
-- used to denote fire hydrants as well as
-- short disruptions in a parking zone
parkingForBusUse (4), parkingForBusUse (4),
parkingForTaxiUse (5), parkingForTaxiUse (5),
noPublicParkingUse (6) noPublicParkingUse (6)
-- private parking, as in front of } (SIZE (16))
-- private property
-- Bits 7~15 reserved and set to zero
} (SIZE (16))
LaneAttributes-Sidewalk ::= BIT STRING { LaneAttributes-Sidewalk ::= BIT STRING {
-- With bits as defined:
sidewalk-RevocableLane (0), sidewalk-RevocableLane (0),
-- this lane may be activated or not based
-- on the current SPAT message contents
-- if not asserted, the lane is ALWAYS present
bicyleUseAllowed (1), bicyleUseAllowed (1),
-- The path allows bicycle traffic,
-- if not set, this mode is prohibited
isSidewalkFlyOverLane (2), isSidewalkFlyOverLane (2),
-- path of lane is not at grade
walkBikes (3) walkBikes (3)
-- bike traffic must dismount and walk } (SIZE (16))
-- Bits 4~15 reserved and set to zero
} (SIZE (16))
LaneAttributes-Striping ::= BIT STRING { LaneAttributes-Striping ::= BIT STRING {
-- With bits as defined:
stripeToConnectingLanesRevocableLane (0), stripeToConnectingLanesRevocableLane (0),
-- this lane may be activated or not activated based
-- on the current SPAT message contents
-- if not asserted, the lane is ALWAYS present
stripeDrawOnLeft (1), stripeDrawOnLeft (1),
stripeDrawOnRight (2), stripeDrawOnRight (2),
-- which side of lane to mark
stripeToConnectingLanesLeft (3), stripeToConnectingLanesLeft (3),
stripeToConnectingLanesRight (4), stripeToConnectingLanesRight (4),
stripeToConnectingLanesAhead (5) stripeToConnectingLanesAhead (5)
-- the stripe type should be } (SIZE (16))
-- presented to the user visually
-- to reflect stripes in the
-- intersection for the type of
-- movement indicated
-- Bits 6~15 reserved and set to zero
} (SIZE (16))
LaneAttributes-TrackedVehicle ::= BIT STRING { LaneAttributes-TrackedVehicle ::= BIT STRING {
-- With bits as defined:
spec-RevocableLane (0), spec-RevocableLane (0),
-- this lane may be activated or not based
-- on the current SPAT message contents
-- if not asserted, the lane is ALWAYS present
spec-commuterRailRoadTrack (1), spec-commuterRailRoadTrack (1),
spec-lightRailRoadTrack (2), spec-lightRailRoadTrack (2),
spec-heavyRailRoadTrack (3), spec-heavyRailRoadTrack (3),
spec-otherRailType (4) spec-otherRailType (4)
-- Bits 5~15 reserved and set to zero } (SIZE (16))
} (SIZE (16))
LaneAttributes-Vehicle ::= BIT STRING { LaneAttributes-Vehicle ::= BIT STRING {
-- With bits as defined:
isVehicleRevocableLane (0), isVehicleRevocableLane (0),
-- this lane may be activated or not based
-- on the current SPAT message contents
-- if not asserted, the lane is ALWAYS present
isVehicleFlyOverLane (1), isVehicleFlyOverLane (1),
-- path of lane is not at grade
hovLaneUseOnly (2), hovLaneUseOnly (2),
restrictedToBusUse (3), restrictedToBusUse (3),
restrictedToTaxiUse (4), restrictedToTaxiUse (4),
restrictedFromPublicUse (5), restrictedFromPublicUse (5),
hasIRbeaconCoverage (6), hasIRbeaconCoverage (6),
permissionOnRequest (7) -- e.g. to inform about a lane for e-cars permissionOnRequest (7)
} (SIZE (8,...))
} (SIZE (8,...))
LaneConnectionID ::= INTEGER (0..255) LaneConnectionID ::= INTEGER (0..255)
LaneDirection ::= BIT STRING { LaneDirection ::= BIT STRING {
-- With bits as defined:
-- Allowed directions of travel in the lane object
-- All lanes are described from the stop line outwards
ingressPath (0), ingressPath (0),
-- travel from rear of path to front
-- is allowed
egressPath (1) egressPath (1)
-- travel from front of path to rear } (SIZE (2))
-- is allowed
-- Notes: No Travel, i.e. the lane object type does not support
-- travel (medians, curbs, etc.) is indicated by not
-- asserting any bit value
-- Bi-Directional Travel (such as a ped crosswalk) is
-- indicated by asserting both of the bits
} (SIZE (2))
LaneID ::= INTEGER (0..255) LaneID ::= INTEGER (0..255)
-- the value 0 shall be used when the lane ID is
-- not available or not known
-- the value 255 is reserved for future use
LayerID ::= INTEGER (0..100) LayerID ::= INTEGER (0..100)
LayerType ::= ENUMERATED { LayerType ::= ENUMERATED {
none, none,
mixedContent, -- two or more of the below types mixedContent,
generalMapData, generalMapData,
intersectionData, intersectionData,
curveData, curveData,
...@@ -1440,149 +916,73 @@ LayerType ::= ENUMERATED { ...@@ -1440,149 +916,73 @@ LayerType ::= ENUMERATED {
parkingAreaData, parkingAreaData,
sharedLaneData, sharedLaneData,
... ...
} }
LaneWidth ::= INTEGER (0..32767) -- units of 1 cm LaneWidth ::= INTEGER (0..32767)
MergeDivergeNodeAngle ::= INTEGER (-180..180) MergeDivergeNodeAngle ::= INTEGER (-180..180)
-- In units of 1.5 degrees from north
-- the value -180 shall be used to represent
-- data is not available or unknown
MinuteOfTheYear ::= INTEGER (0..527040) MinuteOfTheYear ::= INTEGER (0..527040)
-- the value 527040 shall be used for invalid
MovementPhaseState ::= ENUMERATED { MovementPhaseState ::= ENUMERATED {
-- Note that based on the regions and the operating mode not every
-- phase will be used in all transportation modes and that not
-- every phase will be used in all transportation modes
unavailable (0), unavailable (0),
-- This state is used for unknown or error
dark (1), dark (1),
-- The signal head is dark (unlit)
-- Reds
stop-Then-Proceed (2), stop-Then-Proceed (2),
-- Often called 'flashing red' in US
-- Driver Action:
-- Stop vehicle at stop line.
-- Do not proceed unless it is safe.
-- Note that the right to proceed either right or left when
-- it is safe may be contained in the lane description to
-- handle what is called a 'right on red'
stop-And-Remain (3), stop-And-Remain (3),
-- e.g. called 'red light' in US
-- Driver Action:
-- Stop vehicle at stop line.
-- Do not proceed.
-- Note that the right to proceed either right or left when
-- it is safe may be contained in the lane description to
-- handle what is called a 'right on red'
-- Greens
pre-Movement (4), pre-Movement (4),
-- Not used in the US, red+yellow partly in EU
-- Driver Action:
-- Stop vehicle.
-- Prepare to proceed (pending green)
-- (Prepare for transition to green/go)
permissive-Movement-Allowed (5), permissive-Movement-Allowed (5),
-- Often called 'permissive green' in US
-- Driver Action:
-- Proceed with caution,
-- must yield to all conflicting traffic
-- Conflicting traffic may be present
-- in the intersection conflict area
protected-Movement-Allowed (6), protected-Movement-Allowed (6),
-- Often called 'protected green' in US
-- Driver Action:
-- Proceed, tossing caution to the wind,
-- in indicated (allowed) direction.
-- Yellows / Ambers
-- The vehicle is not allowed to cross the stop bar if it is possible
-- to stop without danger.
permissive-clearance (7), permissive-clearance (7),
-- Often called 'permissive yellow' in US
-- Driver Action:
-- Prepare to stop.
-- Proceed if unable to stop,
-- Clear Intersection.
-- Conflicting traffic may be present
-- in the intersection conflict area
protected-clearance (8), protected-clearance (8),
-- Often called 'protected yellow' in US
-- Driver Action:
-- Prepare to stop.
-- Proceed if unable to stop,
-- in indicated direction (to connected lane)
-- Clear Intersection.
caution-Conflicting-Traffic (9) caution-Conflicting-Traffic (9)
-- Often called 'flashing yellow' in US }
-- Often used for extended periods of time
-- Driver Action:
-- Proceed with caution,
-- Conflicting traffic may be present
-- in the intersection conflict area
}
-- The above number assignments are not used with UPER encoding
-- and are only to be used with DER or implicit encoding
MsgCount ::= INTEGER (0..127) MsgCount ::= INTEGER (0..127)
Offset-B09 ::= INTEGER (-256..255)
Offset-B10 ::= INTEGER (-512..511) Offset-B10 ::= INTEGER (-512..511)
-- a range of +- 5.11 meters
Offset-B11 ::= INTEGER (-1024..1023) Offset-B11 ::= INTEGER (-1024..1023)
-- a range of +- 10.23 meters
Offset-B12 ::= INTEGER (-2048..2047) Offset-B12 ::= INTEGER (-2048..2047)
-- a range of +- 20.47 meters
Offset-B13 ::= INTEGER (-4096..4095) Offset-B13 ::= INTEGER (-4096..4095)
-- a range of +- 40.95 meters
Offset-B14 ::= INTEGER (-8192..8191) Offset-B14 ::= INTEGER (-8192..8191)
-- a range of +- 81.91 meters
Offset-B16 ::= INTEGER (-32768..32767) Offset-B16 ::= INTEGER (-32768..32767)
-- a range of +- 327.68 meters
PedestrianBicycleDetect ::= BOOLEAN PedestrianBicycleDetect ::= BOOLEAN
-- true if ANY Pedestrians or Bicyclists are
-- detected crossing the target lane or lanes PositionConfidence ::= ENUMERATED {
unavailable (0),
a500m (1),
a200m (2),
a100m (3),
a50m (4),
a20m (5),
a10m (6),
a5m (7),
a2m (8),
a1m (9),
a50cm (10),
a20cm (11),
a10cm (12),
a5cm (13),
a2cm (14),
a1cm (15)
}
PrioritizationResponseStatus ::= ENUMERATED { PrioritizationResponseStatus ::= ENUMERATED {
unknown (0), unknown (0),
-- Unknown state
requested (1), requested (1),
-- This prioritization request was detected
-- by the traffic controller
processing (2), processing (2),
-- Checking request
-- (request is in queue, other requests are prior)
watchOtherTraffic (3), watchOtherTraffic (3),
-- Cannot give full permission,
-- therefore watch for other traffic
-- Note that other requests may be present
granted (4), granted (4),
-- Intervention was successful
-- and now prioritization is active
rejected (5), rejected (5),
-- The prioritization or preemption request was
-- rejected by the traffic controller
maxPresence (6), maxPresence (6),
-- The Request has exceeded maxPresence time
-- Used when the controller has determined that
-- the requester should then back off and
-- request an alternative.
reserviceLocked (7), reserviceLocked (7),
-- Prior conditions have resulted in a reservice
-- locked event: the controller requires the
-- passage of time before another similar request
-- will be accepted
... ...
} }
...@@ -1592,25 +992,23 @@ PriorityRequestType ::= ENUMERATED { ...@@ -1592,25 +992,23 @@ PriorityRequestType ::= ENUMERATED {
priorityRequestUpdate (2), priorityRequestUpdate (2),
priorityCancellation (3), priorityCancellation (3),
... ...
} }
RegionId ::= INTEGER (0..255) RegionId ::= INTEGER (0..255)
noRegion RegionId ::= 0 -- Use default supplied stubs noRegion RegionId ::= 0
addGrpA RegionId ::= 1 -- USA addGrpA RegionId ::= 1
addGrpB RegionId ::= 2 -- Japan addGrpB RegionId ::= 2
addGrpC RegionId ::= 3 -- EU addGrpC RegionId ::= 3
-- NOTE: new registered regional IDs will be added here
-- The values 128 and above are for local region use
RequestID ::= INTEGER (0..255) RequestID ::= INTEGER (0..255)
RequestImportanceLevel ::= ENUMERATED { RequestImportanceLevel ::= ENUMERATED {
requestImportanceLevelUnKnown (0), requestImportanceLevelUnKnown (0),
requestImportanceLevel1 (1), -- The least important request requestImportanceLevel1 (1),
requestImportanceLevel2 (2), -- The values here shall be assigned requestImportanceLevel2 (2),
requestImportanceLevel3 (3), -- Meanings based on regional needs requestImportanceLevel3 (3),
requestImportanceLevel4 (4), -- for each of the basic roles which requestImportanceLevel4 (4),
requestImportanceLevel5 (5), -- are defined elsewhere requestImportanceLevel5 (5),
requestImportanceLevel6 (6), requestImportanceLevel6 (6),
requestImportanceLevel7 (7), requestImportanceLevel7 (7),
requestImportanceLevel8 (8), requestImportanceLevel8 (8),
...@@ -1619,17 +1017,17 @@ RequestImportanceLevel ::= ENUMERATED { ...@@ -1619,17 +1017,17 @@ RequestImportanceLevel ::= ENUMERATED {
requestImportanceLevel11 (11), requestImportanceLevel11 (11),
requestImportanceLevel12 (12), requestImportanceLevel12 (12),
requestImportanceLevel13 (13), requestImportanceLevel13 (13),
requestImportanceLevel14 (14), -- The most important request requestImportanceLevel14 (14),
requestImportanceReserved (15) -- Reserved for future use requestImportanceReserved (15)
} }
RequestSubRole ::= ENUMERATED { RequestSubRole ::= ENUMERATED {
requestSubRoleUnKnown (0), requestSubRoleUnKnown (0),
requestSubRole1 (1), -- The first type of sub role requestSubRole1 (1),
requestSubRole2 (2), -- The values here shall be assigned requestSubRole2 (2),
requestSubRole3 (3), -- Meanings based on regional needs requestSubRole3 (3),
requestSubRole4 (4), -- to refine and expand the basic requestSubRole4 (4),
requestSubRole5 (5), -- roles which are defined elsewhere requestSubRole5 (5),
requestSubRole6 (6), requestSubRole6 (6),
requestSubRole7 (7), requestSubRole7 (7),
requestSubRole8 (8), requestSubRole8 (8),
...@@ -1638,164 +1036,164 @@ RequestSubRole ::= ENUMERATED { ...@@ -1638,164 +1036,164 @@ RequestSubRole ::= ENUMERATED {
requestSubRole11 (11), requestSubRole11 (11),
requestSubRole12 (12), requestSubRole12 (12),
requestSubRole13 (13), requestSubRole13 (13),
requestSubRole14 (14), -- The last type of sub role requestSubRole14 (14),
requestSubRoleReserved (15) -- Reserved for future use requestSubRoleReserved (15)
} }
RestrictionAppliesTo ::= ENUMERATED { RestrictionAppliesTo ::= ENUMERATED {
none, -- applies to nothing none,
equippedTransit, -- buses etc. equippedTransit,
equippedTaxis, equippedTaxis,
equippedOther, -- other vehicle types with equippedOther,
-- necessary signal phase state emissionCompliant,
-- reception equipment
emissionCompliant, -- regional variants with more
-- definitive items also exist
equippedBicycle, equippedBicycle,
weightCompliant, weightCompliant,
heightCompliant, heightCompliant,
-- Items dealing with traveler needs serviced by the infrastructure
-- These end users (which are not vehicles) are presumed to be suitably equipped
pedestrians, pedestrians,
slowMovingPersons, slowMovingPersons,
wheelchairUsers, wheelchairUsers,
visualDisabilities, visualDisabilities,
audioDisabilities, -- hearing audioDisabilities,
otherUnknownDisabilities, otherUnknownDisabilities,
... ...
} }
RestrictionClassID ::= INTEGER (0..255) RestrictionClassID ::= INTEGER (0..255)
-- An index value to identify data about classes of users
-- the value used varies with each intersection's
-- needs and is defined in the map to the assigned
-- classes of supported users.
RoadRegulatorID ::= INTEGER (0..65535) RoadRegulatorID ::= INTEGER (0..65535)
-- The value zero shall be used for testing only
RoadSegmentID ::= INTEGER (0..65535) RoadSegmentID ::= INTEGER (0..65535)
-- The values zero to 255 shall be used for testing only
-- Note that the value assigned to an RoadSegment will be
-- unique within a given regional ID only during its use
RoadwayCrownAngle ::= INTEGER (-128..127) RoadwayCrownAngle ::= INTEGER (-128..127)
-- In LSB units of 0.3 degrees of angle
-- over a range of -38.1 to + 38.1 degrees
-- The value -128 shall be used for unknown
-- The value zero shall be used for angles
-- which are between -0.15 and +0.15
Scale-B12 ::= INTEGER (-2048..2047) -- in steps of 0.05 percent RTCMmessage ::= OCTET STRING (SIZE(1..1023))
RTCM-Revision ::= ENUMERATED {
unknown (0),
rtcmRev2 (1), -- Std 10402.x et al
rtcmRev3 (2), -- Std 10403.x et al
reserved (3),
...
}
Scale-B12 ::= INTEGER (-2048..2047)
SignalGroupID ::= INTEGER (0..255) SignalGroupID ::= INTEGER (0..255)
-- The value 0 shall be used when the ID is
-- not available or not known
-- the value 255 is reserved to indicate a
-- permanent green movement state
-- therefore a simple 8 phase signal controller
-- device might use 1..9 as its groupIDs
SegmentAttributeXY ::= ENUMERATED { SegmentAttributeXY ::= ENUMERATED {
-- Various values which can be Enabled and Disabled for a lane segment
-- General Items
reserved , reserved ,
doNotBlock , -- segment where a vehicle doNotBlock ,
-- may not come to a stop whiteLine ,
whiteLine , -- segment where lane crossing not allowed mergingLaneLeft ,
-- such as the final few meters of a lane
-- Porous Lane states, merging, turn outs, parking etc.
mergingLaneLeft , -- indicates porous lanes
mergingLaneRight , mergingLaneRight ,
curbOnLeft ,
curbOnLeft , -- indicates presence of curbs
curbOnRight , curbOnRight ,
loadingzoneOnLeft ,
loadingzoneOnLeft , -- loading or drop off zones
loadingzoneOnRight , loadingzoneOnRight ,
turnOutPointOnLeft ,
turnOutPointOnLeft , -- opening to adjacent street/alley/road
turnOutPointOnRight , turnOutPointOnRight ,
adjacentParkingOnLeft ,
adjacentParkingOnLeft , -- side of road parking
adjacentParkingOnRight , adjacentParkingOnRight ,
adjacentBikeLaneOnLeft ,
-- Bike Lane Needs
adjacentBikeLaneOnLeft , -- presence of marked bike lanes
adjacentBikeLaneOnRight , adjacentBikeLaneOnRight ,
sharedBikeLane , -- right of way is shared with bikes sharedBikeLane ,
-- who may occupy entire lane width
bikeBoxInFront , bikeBoxInFront ,
transitStopOnLeft ,
-- Transit Needs transitStopOnRight ,
transitStopOnLeft , -- any form of bus/transit loading transitStopInLane ,
-- with pull in-out access to lane on left sharedWithTrackedVehicle ,
transitStopOnRight , -- any form of bus/transit loading safeIsland ,
-- with pull in-out access to lane on right lowCurbsPresent ,
transitStopInLane , -- any form of bus/transit loading rumbleStripPresent ,
-- in mid path of the lane audibleSignalingPresent ,
sharedWithTrackedVehicle , -- lane is shared with train or trolley adaptiveTimingPresent ,
-- not used for crossing tracks rfSignalRequestPresent ,
partialCurbIntrusion ,
taperToLeft ,
-- Pedestrian Support Attributes taperToRight ,
safeIsland , -- begin/end a safety island in path taperToCenterLine ,
lowCurbsPresent , -- for ADA support parallelParking ,
rumbleStripPresent , -- for ADA support headInParking ,
audibleSignalingPresent , -- for ADA support freeParking ,
adaptiveTimingPresent , -- for ADA support timeRestrictionsOnParking ,
rfSignalRequestPresent , -- Supports RF push to walk technologies costToPark ,
partialCurbIntrusion , -- path is blocked by a median or curb midBlockCurbPresent ,
-- but at least 1 meter remains open for use unEvenPavementPresent ,
-- and at-grade passage
-- Lane geometry details (see standard for defined shapes)
taperToLeft , -- Used to control final path shape
taperToRight , -- Used to control final path shape
taperToCenterLine , -- Used to control final path shape
-- Parking Lane and Curb Attributes
parallelParking , --
headInParking , -- Parking at an angle with the street
freeParking , -- no restriction on use of parking
timeRestrictionsOnParking , -- Parking is not permitted at all times
-- typically used when the 'parking' lane
-- becomes a driving lane at times
costToPark , -- Used where parking has a cost
midBlockCurbPresent , -- a protruding curb near lane edge
unEvenPavementPresent , -- a disjoint height at lane edge
... ...
} }
SemiMajorAxisAccuracy ::= INTEGER (0..255)
SemiMajorAxisOrientation ::= INTEGER (0..65535)
SemiMinorAxisAccuracy ::= INTEGER (0..255)
SpeedAdvice ::= INTEGER (0..500) SpeedAdvice ::= INTEGER (0..500)
-- LSB units are 0.1 m/s^2
-- the value 499 shall be used for values at or greater than 49.9 m/s
-- the value 500 shall be used to indicate that speed is unavailable
SpeedConfidenceDSRC ::= ENUMERATED {
unavailable (0), -- Not Equipped or unavailable
prec100ms (1), -- 100 meters / sec
prec10ms (2), -- 10 meters / sec
prec5ms (3), -- 5 meters / sec
prec1ms (4), -- 1 meters / sec
prec0-1ms (5), -- 0.1 meters / sec
prec0-05ms (6), -- 0.05 meters / sec
prec0-01ms (7) -- 0.01 meters / sec
}
TemporaryID ::= OCTET STRING (SIZE(4)) TemporaryID ::= OCTET STRING (SIZE(4))
ThrottleConfidence ::= ENUMERATED {
unavailable (0),
prec10percent (1),
prec1percent (2),
prec0-5percent (3)
}
TimeConfidence ::= ENUMERATED {
unavailable (0),
time-100-000 (1),
time-050-000 (2),
time-020-000 (3),
time-010-000 (4),
time-002-000 (5),
time-001-000 (6),
time-000-500 (7),
time-000-200 (8),
time-000-100 (9),
time-000-050 (10),
time-000-020 (11),
time-000-010 (12),
time-000-005 (13),
time-000-002 (14),
time-000-001 (15),
time-000-000-5 (16),
time-000-000-2 (17),
time-000-000-1 (18),
time-000-000-05 (19),
time-000-000-02 (20),
time-000-000-01 (21),
time-000-000-005 (22),
time-000-000-002 (23),
time-000-000-001 (24),
time-000-000-000-5 (25),
time-000-000-000-2 (26),
time-000-000-000-1 (27),
time-000-000-000-05 (28),
time-000-000-000-02 (29),
time-000-000-000-01 (30),
time-000-000-000-005 (31),
time-000-000-000-002 (32),
time-000-000-000-001 (33),
time-000-000-000-000-5 (34),
time-000-000-000-000-2 (35),
time-000-000-000-000-1 (36),
time-000-000-000-000-05 (37),
time-000-000-000-000-02 (38),
time-000-000-000-000-01 (39)
}
TimeIntervalConfidence ::= INTEGER (0..15) TimeIntervalConfidence ::= INTEGER (0..15)
-- Value Probability
-- 0 21%
-- 1 36%
-- 2 47%
-- 3 56%
-- 4 62%
-- 5 68%
-- 6 73%
-- 7 77%
-- 8 81%
-- 9 85%
-- 10 88%
-- 11 91%
-- 12 94%
-- 13 96%
-- 14 98%
-- 15 100%
TransitVehicleOccupancy ::= ENUMERATED { TransitVehicleOccupancy ::= ENUMERATED {
occupancyUnknown (0), occupancyUnknown (0),
...@@ -1806,65 +1204,54 @@ TransitVehicleOccupancy ::= ENUMERATED { ...@@ -1806,65 +1204,54 @@ TransitVehicleOccupancy ::= ENUMERATED {
occupancyHigh (5), occupancyHigh (5),
occupancyNearlyFull (6), occupancyNearlyFull (6),
occupancyFull (7) occupancyFull (7)
} }
TransitVehicleStatus ::= BIT STRING { TransitVehicleStatus ::= BIT STRING {
loading (0), -- parking and unable to move at this time loading (0),
anADAuse (1), -- an ADA access is in progress (wheelchairs, kneeling, etc.) anADAuse (1),
aBikeLoad (2), -- loading of a bicycle is in progress aBikeLoad (2),
doorOpen (3), -- a vehicle door is open for passenger access doorOpen (3),
charging (4), -- a vehicle is connected to charging point charging (4),
atStopLine (5) -- a vehicle is at the stop line for the lane it is in atStopLine (5)
} (SIZE(8)) } (SIZE(8))
TransmissionState ::= ENUMERATED { TransmissionState ::= ENUMERATED {
neutral (0), -- Neutral neutral (0),
park (1), -- Park park (1),
forwardGears (2), -- Forward gears forwardGears (2),
reverseGears (3), -- Reverse gears reverseGears (3),
reserved1 (4), reserved1 (4),
reserved2 (5), reserved2 (5),
reserved3 (6), reserved3 (6),
unavailable (7) -- not-equipped or unavailable value, unavailable (7)
-- Any related speed is relative to the vehicle reference frame used }
}
VehicleHeight ::= INTEGER (0..127)
VehicleType ::= ENUMERATED { VehicleType ::= ENUMERATED {
none (0), -- Not Equipped, Not known or unavailable none (0),
unknown (1), -- Does not fit any other category unknown (1),
special (2), -- Special use special (2),
moto (3), -- Motorcycle moto (3),
car (4), -- Passenger car car (4),
carOther (5), -- Four tire single units carOther (5),
bus (6), -- Buses bus (6),
axleCnt2 (7), -- Two axle, six tire single units axleCnt2 (7),
axleCnt3 (8), -- Three axle, single units axleCnt3 (8),
axleCnt4 (9), -- Four or more axle, single unit axleCnt4 (9),
axleCnt4Trailer (10), -- Four or less axle, single trailer axleCnt4Trailer (10),
axleCnt5Trailer (11), -- Five or less axle, single trailer axleCnt5Trailer (11),
axleCnt6Trailer (12), -- Six or more axle, single trailer axleCnt6Trailer (12),
axleCnt5MultiTrailer (13), -- Five or less axle, multi-trailer axleCnt5MultiTrailer (13),
axleCnt6MultiTrailer (14), -- Six axle, multi-trailer axleCnt6MultiTrailer (14),
axleCnt7MultiTrailer (15), -- Seven or more axle, multi-trailer axleCnt7MultiTrailer (15),
... ...
} }
Velocity ::= INTEGER (0..8191) -- Units of 0.02 m/s Velocity ::= INTEGER (0..8191)
-- The value 8191 indicates that
-- velocity is unavailable
WaitOnStopline ::= BOOLEAN -- WaitOnStopline ::= BOOLEAN
-- True or False
-- If "true", the vehicles on this specific connecting
-- maneuver have to stop on the stop-line
-- and not to enter the collision area
ZoneLength ::= INTEGER (0..10000) ZoneLength ::= INTEGER (0..10000)
-- Unit = 1 meter, 0 = unknown,
-- The value 10000 to be used for Distances >=10000 m
-- (e.g. from known point to another point along a
-- known path, often against traffic flow direction
-- when used for measuring queues)
END END
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ISO TS 19091
--
-- This ASN.1 was generated: 30.08.2016
--
-- This document contains the data element needed for the encoding the SPAT, MapData, SignalRequestMessage, SignalStatusMessage message
-- as defined in ISO TS 19091 and SAEJ2735
--
-- It includes the addendunm extensions for Addgrp-C (e.g. Europe)
--
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
-- --
-- module: REGION -- module: REGION
-- --
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^- -- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
REGION { iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1) }
REGION {
iso (1) standard (0) signalizedIntersection (19091) profilec (2) region (1)
version2 (2)
}
DEFINITIONS AUTOMATIC TAGS::= BEGIN DEFINITIONS AUTOMATIC TAGS::= BEGIN
IMPORTS IMPORTS
addGrpC, REG-EXT-ID-AND-TYPE FROM DSRC
ConnectionManeuverAssist-addGrpC, ConnectionTrajectory-addGrpC, IntersectionState-addGrpC, Control-addGrpC, Position3D-addGrpC, RestrictionUserType-addGrpC, addGrpC, REG-EXT-ID-AND-TYPE
SignalStatusPackage-addGrpC, MapData-addGrpC FROM AddGrpC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1)}; FROM DSRC {
iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)
}
ConnectionManeuverAssist-addGrpC, ConnectionTrajectory-addGrpC,
IntersectionState-addGrpC, LaneAttributes-addGrpC, MapData-addGrpC,
MovementEvent-addGrpC, NodeAttributeSet-addGrpC, Position3D-addGrpC, RequestorDescription-addGrpC, RestrictionUserType-addGrpC, SignalStatusPackage-addGrpC
FROM AddGrpC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version2 (2)};
Reg-AdvisorySpeed REG-EXT-ID-AND-TYPE ::= { ... } Reg-AdvisorySpeed REG-EXT-ID-AND-TYPE ::= { ... }
Reg-ComputedLane REG-EXT-ID-AND-TYPE ::= { ... } Reg-ComputedLane REG-EXT-ID-AND-TYPE ::= { ... }
Reg-ConnectionManeuverAssist REG-EXT-ID-AND-TYPE ::= { Reg-ConnectionManeuverAssist REG-EXT-ID-AND-TYPE ::= {
{ConnectionManeuverAssist-addGrpC IDENTIFIED BY addGrpC} , {ConnectionManeuverAssist-addGrpC IDENTIFIED BY addGrpC},
... ...
} }
...@@ -42,12 +40,14 @@ Reg-GenericLane REG-EXT-ID-AND-TYPE ::= { ...@@ -42,12 +40,14 @@ Reg-GenericLane REG-EXT-ID-AND-TYPE ::= {
Reg-IntersectionGeometry REG-EXT-ID-AND-TYPE ::= { ... } Reg-IntersectionGeometry REG-EXT-ID-AND-TYPE ::= { ... }
Reg-IntersectionState REG-EXT-ID-AND-TYPE ::= { Reg-IntersectionState REG-EXT-ID-AND-TYPE ::= {
{IntersectionState-addGrpC IDENTIFIED BY addGrpC} , {IntersectionState-addGrpC IDENTIFIED BY addGrpC},
... ...
} }
Reg-LaneAttributes REG-EXT-ID-AND-TYPE ::= { ... } Reg-LaneAttributes REG-EXT-ID-AND-TYPE ::= {
{LaneAttributes-addGrpC IDENTIFIED BY addGrpC} ,
...
}
Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... } Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... }
Reg-MapData REG-EXT-ID-AND-TYPE ::= { Reg-MapData REG-EXT-ID-AND-TYPE ::= {
...@@ -55,18 +55,20 @@ Reg-MapData REG-EXT-ID-AND-TYPE ::= { ...@@ -55,18 +55,20 @@ Reg-MapData REG-EXT-ID-AND-TYPE ::= {
... ...
} }
Reg-MovementEvent REG-EXT-ID-AND-TYPE ::= { ... } Reg-MovementEvent REG-EXT-ID-AND-TYPE ::= {
{MovementEvent-addGrpC IDENTIFIED BY addGrpC} ,
...
}
Reg-MovementState REG-EXT-ID-AND-TYPE ::= { ... } Reg-MovementState REG-EXT-ID-AND-TYPE ::= { ... }
Reg-NodeAttributeSetLL REG-EXT-ID-AND-TYPE ::= { ... } -- Reg-NodeAttributeSetLL REG-EXT-ID-AND-TYPE ::= { ... }
Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= { Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= {
{Control-addGrpC IDENTIFIED BY addGrpC} , {NodeAttributeSet-addGrpC IDENTIFIED BY addGrpC},
... ...
} }
Reg-NodeOffsetPointLL REG-EXT-ID-AND-TYPE ::= { ... } -- Reg-NodeOffsetPointLL REG-EXT-ID-AND-TYPE ::= { ... }
Reg-NodeOffsetPointXY REG-EXT-ID-AND-TYPE ::= { ... } Reg-NodeOffsetPointXY REG-EXT-ID-AND-TYPE ::= { ... }
...@@ -75,7 +77,10 @@ Reg-Position3D REG-EXT-ID-AND-TYPE ::= { ...@@ -75,7 +77,10 @@ Reg-Position3D REG-EXT-ID-AND-TYPE ::= {
... ...
} }
Reg-RequestorDescription REG-EXT-ID-AND-TYPE ::= { ... } Reg-RequestorDescription REG-EXT-ID-AND-TYPE ::= {
{ RequestorDescription-addGrpC IDENTIFIED BY addGrpC} ,
...
}
Reg-RequestorType REG-EXT-ID-AND-TYPE ::= { ... } Reg-RequestorType REG-EXT-ID-AND-TYPE ::= { ... }
...@@ -86,6 +91,8 @@ Reg-RestrictionUserType REG-EXT-ID-AND-TYPE ::= { ...@@ -86,6 +91,8 @@ Reg-RestrictionUserType REG-EXT-ID-AND-TYPE ::= {
Reg-RoadSegment REG-EXT-ID-AND-TYPE ::= { ... } Reg-RoadSegment REG-EXT-ID-AND-TYPE ::= { ... }
Reg-RTCMcorrections REG-EXT-ID-AND-TYPE ::= { ... }
Reg-SignalControlZone REG-EXT-ID-AND-TYPE ::= { ... } Reg-SignalControlZone REG-EXT-ID-AND-TYPE ::= { ... }
Reg-SignalRequest REG-EXT-ID-AND-TYPE ::= { ... } Reg-SignalRequest REG-EXT-ID-AND-TYPE ::= { ... }
...@@ -99,13 +106,10 @@ Reg-SignalStatus REG-EXT-ID-AND-TYPE ::= { ... } ...@@ -99,13 +106,10 @@ Reg-SignalStatus REG-EXT-ID-AND-TYPE ::= { ... }
Reg-SignalStatusMessage REG-EXT-ID-AND-TYPE ::= { ... } Reg-SignalStatusMessage REG-EXT-ID-AND-TYPE ::= { ... }
Reg-SignalStatusPackage REG-EXT-ID-AND-TYPE ::= { Reg-SignalStatusPackage REG-EXT-ID-AND-TYPE ::= {
{ SignalStatusPackage-addGrpC IDENTIFIED BY addGrpC} , { SignalStatusPackage-addGrpC IDENTIFIED BY addGrpC },
... ...
} }
Reg-SPAT REG-EXT-ID-AND-TYPE ::= { ... } Reg-SPAT REG-EXT-ID-AND-TYPE ::= { ... }
END END
...@@ -22,10 +22,15 @@ AxleWeightLimits, DieselEmissionValues, ExhaustEmissionValues, EngineCharacteris ...@@ -22,10 +22,15 @@ AxleWeightLimits, DieselEmissionValues, ExhaustEmissionValues, EngineCharacteris
FROM EfcDsrcApplication {iso(1) standard(0) 14906 application(0) version5(5)} FROM EfcDsrcApplication {iso(1) standard(0) 14906 application(0) version5(5)}
EuVehicleCategoryCode, Iso3833VehicleType EuVehicleCategoryCode, Iso3833VehicleType
FROM ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version (1)} FROM ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version1 (1)}
VarLengthNumber VarLengthNumber
FROM CITSapplMgmtIDs {iso(1) standard(0) cits-applMgmt (17419) ids (1) version1 (1)}; FROM CITSapplMgmtIDs {iso(1) standard(0) cits-applMgmt (17419) ids (1) version1 (1)}
;
-- End of IMPORTS
--Definition of IVI message to be send over the air is outside of the scope and given for information only: --Definition of IVI message to be send over the air is outside of the scope and given for information only:
......
...@@ -656,7 +656,7 @@ module LibItsMapemSpatem_Templates { ...@@ -656,7 +656,7 @@ module LibItsMapemSpatem_Templates {
template (omit) AdvisorySpeed m_advisorySpeed( template (omit) AdvisorySpeed m_advisorySpeed(
in template (value) AdvisorySpeedType p_type, in template (value) AdvisorySpeedType p_type,
in template (omit) SpeedAdvice p_speed := omit, in template (omit) SpeedAdvice p_speed := omit,
in template (omit) SpeedConfidence p_confidence := omit, in template (omit) SpeedConfidenceDSRC p_confidence := omit,
in template (omit) ZoneLength p_distance := omit, in template (omit) ZoneLength p_distance := omit,
in template (omit) RestrictionClassID p_class := omit in template (omit) RestrictionClassID p_class := omit
) := { ) := {
......
...@@ -20,6 +20,7 @@ module LibItsSremSsem_Templates { ...@@ -20,6 +20,7 @@ module LibItsSremSsem_Templates {
import from SREM_PDU_Descriptions language "ASN.1:1997" all; import from SREM_PDU_Descriptions language "ASN.1:1997" all;
import from SSEM_PDU_Descriptions language "ASN.1:1997" all; import from SSEM_PDU_Descriptions 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;
// LibItsCommon // LibItsCommon
import from LibItsCommon_TypesAndValues all; import from LibItsCommon_TypesAndValues all;
......