Commits (1)
......@@ -5,7 +5,7 @@
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
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 ::=
......@@ -14,8 +14,10 @@ BEGIN
IMPORTS
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 {
header ItsPduHeader,
......
......@@ -5,7 +5,7 @@
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
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 ::=
......@@ -13,9 +13,11 @@ DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
MapData FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) }
ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)};
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)}
;
-- End of IMPORTS
MAPEM ::= SEQUENCE {
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 @@
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
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 ::=
......@@ -15,9 +15,11 @@ DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
SPAT FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) }
ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) };
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) }
;
-- End of IMPORTS
SPATEM ::= SEQUENCE {
header ItsPduHeader,
......
......@@ -5,7 +5,7 @@
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
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 ::=
......@@ -13,8 +13,11 @@ DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
SignalRequestMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) }
ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) };
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)}
;
-- End of IMPORTS
SREM ::= SEQUENCE {
header ItsPduHeader,
......
......@@ -5,7 +5,7 @@
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
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 ::=
......@@ -13,9 +13,11 @@ DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
SignalStatusMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) }
ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) };
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)}
;
-- End of IMPORTS
SSEM ::= SEQUENCE {
header ItsPduHeader,
......
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ISO TS 14816
--
-- This ASN.1 was generateds: 30.08.2016
--
-- This document contains only the data element needed for the encoding of an IVI message
-- as defined in ISO TS 19321(2015)
--
-- Published version location:
-- http://standards.iso.org/iso/14816/
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AVIAEINumberingAndDataStructures {iso(1) standard(0) iso14816(14816) asnm1(1) version1(1)}
DEFINITIONS AUTOMATIC TAGS::= BEGIN
IMPORTS;
CS5::= SEQUENCE {
vin VisibleString, -- 17 characters VIN
fill BIT STRING (SIZE(9)) -- set to '000000000'
}
CountryCode::= BIT STRING(SIZE(10))
AVIAEIIssuerIdentifier::= INTEGER(0 .. 16383)
END
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ISO TS 14816
--
-- This ASN.1 was generateds: 30.08.2016
--
-- This document contains only the data element needed for the encoding of an IVI message
-- as defined in ISO TS 19321(2015)
--
-- Published version location:
-- http://standards.iso.org/iso/14816/
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AVIAEINumberingAndDataStructures {iso(1) standard(0) iso14816(14816) asnm1(1) version1(1)}
DEFINITIONS AUTOMATIC TAGS::= BEGIN
IMPORTS;
CS5::= SEQUENCE {
vin VisibleString, -- 17 characters VIN
fill BIT STRING (SIZE(9)) -- set to '000000000'
}
CountryCode::= BIT STRING(SIZE(10))
AVIAEIIssuerIdentifier::= INTEGER(0 .. 16383)
END
......@@ -18,12 +18,14 @@ IMPORTS
CountryCode, CS5, AVIAEIIssuerIdentifier
FROM AVIAEINumberingAndDataStructures {iso(1) standard(0) iso14816(14816) asnm1(1) version1(1)}
-- defined in ISO 14816 --
-- AttributeIdList
-- FROM EfcDsrcGeneric {iso(1) standard(0) 14906 generic(1) version5(5)};
;
AttributeIdList, Attributes{}, AttributeList{}
FROM EfcDsrcGeneric {iso(1) standard(0) 14906 generic(1) version5(5)}
-- NOTE: The following are the definitions of the action and response
-- parameters
;
-- End of IMPORTS
AxleWeightLimits ::= SEQUENCE {
maxLadenweightOnAxle1 Int2,
maxLadenweightOnAxle2 Int2,
......
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ISO TS 17419
--
-- This ASN.1 was generateds: 30.08.2016
--
-- This document contains only the data element needed for the encoding of an IVI message
-- as defined in ISO TS 19321(2015)
--
-- Published version location:
-- http://standards.iso.org/iso/ts/17419/
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CITSapplMgmtIDs {iso(1) standard(0) cits-applMgmt (17419) ids (1) version1 (1)}
DEFINITIONS AUTOMATIC TAGS::=BEGIN
IMPORTS
;
-- End of IMPORTS
-- Types
-- Variable length data types
VarLengthNumber::=CHOICE{
content [0] INTEGER(0..127), -- one octet length
extension [1] Ext1
}
Ext1::=CHOICE{
content [0] INTEGER(128..16511), -- two octets length
extension [1] Ext2
}
Ext2::=CHOICE{
content [0] INTEGER(16512..2113663), -- three octets length
extension [1] Ext3
}
Ext3::=INTEGER(2113664..270549119,...) -- four and more octets length
END
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ISO TS 17419
--
-- This ASN.1 was generateds: 30.08.2016
--
-- This document contains only the data element needed for the encoding of an IVI message
-- as defined in ISO TS 19321(2015)
--
-- Published version location:
-- http://standards.iso.org/iso/ts/17419/
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CITSapplMgmtIDs {iso(1) standard(0) cits-applMgmt (17419) ids (1) version1 (1)}
DEFINITIONS AUTOMATIC TAGS::=BEGIN
IMPORTS
;
-- End of IMPORTS
-- Types
-- Variable length data types
VarLengthNumber::=CHOICE{
content [0] INTEGER(0..127), -- one octet length
extension [1] Ext1
}
Ext1::=CHOICE{
content [0] INTEGER(128..16511), -- two octets length
extension [1] Ext2
}
Ext2::=CHOICE{
content [0] INTEGER(16512..2113663), -- three octets length
extension [1] Ext3
}
Ext3::=INTEGER(2113664..270549119,...) -- four and more octets length
END
......@@ -15,89 +15,144 @@
--
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
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
IMPORTS
--FIXME RGY all definitions are moved to IS-DSRC-noCircular to cut circular import loop
--NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, DeltaTime, LaneID FROM DSRC
NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, DeltaTime, LaneID 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) };
--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, LaneConnectionID, FuelType, VehicleHeight FROM DSRC-REGION-noCircular
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 {
itsStationPositions ItsStationPositionList OPTIONAL,
rsuGNSSOffset NodeOffsetPointXY OPTIONAL,
itsStationPosition ItsStationPositionList OPTIONAL,
...
}
ConnectionTrajectory-addGrpC ::= SEQUENCE {
nodes NodeSetXY,
connectionID LaneConnectionID,
...
}
/*FIXME RGY moved to AddGrpC-noCircular to cut circular import loop
Control-addGrpC ::= SEQUENCE {
ptvRequest PtvRequestType,
...
}
*/
IntersectionState-addGrpC ::= SEQUENCE {
activePrioritizations PrioritizationResponseList OPTIONAL,
...
}
LaneAttributes-addGrpC ::= SEQUENCE {
maxVehicleHeight VehicleHeight OPTIONAL,
maxVehicleWeight VehicleMass OPTIONAL,
...
}
MapData-addGrpC ::= SEQUENCE {
signalHeadLocations SignalHeadLocationList OPTIONAL,
...
}
Position3D-addGrpC ::= SEQUENCE {
altitude Altitude,
MovementEvent-addGrpC ::= SEQUENCE {
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,
priorState PrioritizationResponseStatus,
signalGroup SignalGroupID,
Position3D-addGrpC ::= SEQUENCE {
altitude Altitude,
...
}
RestrictionUserType-addGrpC ::= SEQUENCE {
emission EmissionType OPTIONAL,
fuel FuelType OPTIONAL,
...
}
SignalHeadLocationList ::= SEQUENCE (SIZE(1..64)) OF SignalHeadLocation
SignalHeadLocation ::= SEQUENCE {
nodeXY NodeOffsetPointXY,
nodeZ DeltaAltitude,
signalGroupID SignalGroupID,
RequestorDescription-addGrpC ::= SEQUENCE {
fuel FuelType OPTIONAL,
batteryStatus BatteryStatus OPTIONAL,
...
}
SignalStatusPackage-addGrpC ::= SEQUENCE {
synchToSchedule DeltaTime OPTIONAL,
rejectedReason RejectedReason OPTIONAL,
...
}
ItsStationPositionList::= SEQUENCE SIZE(1..5) OF ItsStationPosition
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- Data frames
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ItsStationPosition ::= SEQUENCE {
stationID StationID,
stationID StationID,
laneID LaneID OPTIONAL,
nodeXY NodeOffsetPointXY 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 {
euro1,
euro2,
......@@ -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
PtvRequestType ::= ENUMERATED {
preRequest,
......@@ -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
......@@ -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
IMPORTS
--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-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)}
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
DeltaAngle, DeltaTime, LaneID, NodeSetXY, PrioritizationResponseStatus, RegionalExtension, SignalGroupID, SpeedLimitList, Velocity,
Reg-LaneDataAttribute, Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY FROM DSRC-REGION-noCircular
Iso3833VehicleType FROM ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version (1)}
;
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
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 {
}
*/
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 {
timeStamp MinuteOfTheYear OPTIONAL,
name DescriptiveName OPTIONAL,
-- human readable name for this collection
-- to be used only in debug mode
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
RegionalExtension {{Reg-SPAT}} OPTIONAL,
...
......@@ -96,15 +116,7 @@ SignalRequestMessage ::= SEQUENCE {
sequenceNumber MsgCount OPTIONAL,
requests SignalRequestList OPTIONAL,
-- Request Data for one or more signalized
-- intersections that support SRM dialogs
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
RegionalExtension {{Reg-SignalRequestMessage}} OPTIONAL,
...
......@@ -114,69 +126,26 @@ SignalStatusMessage ::= SEQUENCE {
timeStamp MinuteOfTheYear OPTIONAL,
second DSecond,
sequenceNumber MsgCount OPTIONAL,
-- Status Data for one of more signalized intersections
status SignalStatusList,
regional SEQUENCE (SIZE(1..4)) OF
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...
-- This table typicaly contains data frame entries.
-- Data frames
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
--
AdvisorySpeed ::= SEQUENCE {
type AdvisorySpeedType,
-- the type of advisory which this is.
speed SpeedAdvice OPTIONAL,
-- See Section 11 for converting and translating speed
-- 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
confidence SpeedConfidenceDSRC 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,
-- the vehicle types to which it applies
-- when absent, the AdvisorySpeed applies to
-- all motor vehicle types
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-AdvisorySpeed}} OPTIONAL,
...
......@@ -184,12 +153,14 @@ AdvisorySpeed ::= SEQUENCE {
AdvisorySpeedList ::= SEQUENCE (SIZE(1..16)) OF AdvisorySpeed
AntennaOffsetSet ::= SEQUENCE {
antOffsetX Offset-B12,
antOffsetY Offset-B09,
antOffsetZ Offset-B10
}
ComputedLane ::= SEQUENCE {
-- Data needed to created a computed lane
referenceLaneId LaneID,
-- the lane ID upon which this
-- computed lane will be based
-- Lane Offset in X and Y direction
offsetXaxis CHOICE {
small DrivenLineOffsetSm,
large DrivenLineOffsetLg
......@@ -198,27 +169,9 @@ ComputedLane ::= SEQUENCE {
small DrivenLineOffsetSm,
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,
-- 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,
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
RegionalExtension {{Reg-ComputedLane}} OPTIONAL,
...
......@@ -226,83 +179,26 @@ ComputedLane ::= SEQUENCE {
ConnectsToList ::= SEQUENCE (SIZE(1..16)) OF Connection
ConnectingLane ::= SEQUENCE {
lane LaneID, -- Index of the connecting lane
lane LaneID,
maneuver AllowedManeuvers OPTIONAL
-- The Maneuver between
-- the enclosing lane and this lane
-- at the stop line to connect them
}
Connection ::= SEQUENCE {
-- The subject lane connecting to this lane is:
connectingLane ConnectingLane,
-- The index of the connecting lane and also
-- the maneuver from the current lane to it
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,
-- 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,
-- 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
-- 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 {
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,
-- 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,
-- 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,
-- 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,
-- 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
RegionalExtension {{Reg-ConnectionManeuverAssist}} OPTIONAL,
...
......@@ -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
-- The unique ID numbers for each
-- lane object which is 'active'
-- as part of the dynamic map contents.
FullPositionVector ::= SEQUENCE {
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 {
laneID LaneID,
-- The unique ID number assigned
-- to this lane object
name DescriptiveName OPTIONAL,
-- often for debug use only
-- but at times used to name ped crossings
ingressApproach ApproachID OPTIONAL, -- inbound
egressApproach ApproachID OPTIONAL, -- outbound
-- Approach IDs to which this lane belongs
ingressApproach ApproachID OPTIONAL,
egressApproach ApproachID OPTIONAL,
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,
-- the permitted maneuvers for this lane
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,
-- 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,
-- 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
RegionalExtension {{Reg-GenericLane}} OPTIONAL,
...
......@@ -369,39 +264,13 @@ IntersectionAccessPoint ::= CHOICE {
IntersectionGeometry ::= SEQUENCE {
name DescriptiveName OPTIONAL,
-- For debug use only
id IntersectionReferenceID,
-- A globally unique value set,
-- consisting of a regionID and
-- intersection ID assignment
revision MsgCount,
-- Required default values about lane descriptions follow
refPoint Position3D, -- The reference from which subsequent
-- data points are offset until a new
-- point is used.
refPoint Position3D,
laneWidth LaneWidth OPTIONAL,
-- Reference width used by all subsequent
-- lanes unless a new width is given
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
-- 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
laneSet LaneList,
preemptPriorityData PreemptPriorityList OPTIONAL,
-- data about one or more regional
-- preempt or priority zones
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-IntersectionGeometry}} OPTIONAL,
...
......@@ -411,47 +280,19 @@ IntersectionGeometryList ::= SEQUENCE (SIZE(1..32)) OF IntersectionGeometry
IntersectionReferenceID ::= SEQUENCE {
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
-- a unique mapping to the intersection
-- in question within the above region of use
}
IntersectionState ::= SEQUENCE {
name DescriptiveName OPTIONAL,
-- human readable name for intersection
-- to be used only in debug mode
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,
status IntersectionStatusObject,
-- general status of the controller(s)
moy MinuteOfTheYear OPTIONAL,
-- Minute of current UTC year
-- used only with messages to be archived
timeStamp DSecond OPTIONAL,
-- the mSec point in the current UTC minute that
-- this message was constructed
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,
-- 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,
-- Assist data
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-IntersectionState}} OPTIONAL,
...
......@@ -460,36 +301,20 @@ IntersectionState ::= SEQUENCE {
IntersectionStateList ::= SEQUENCE (SIZE(1..32)) OF IntersectionState
LaneAttributes ::= SEQUENCE {
directionalUse LaneDirection, -- directions of lane use
sharedWith LaneSharing, -- co-users of the lane path
laneType LaneTypeAttributes, -- specific lane type data
directionalUse LaneDirection,
sharedWith LaneSharing,
laneType LaneTypeAttributes,
regional RegionalExtension {{Reg-LaneAttributes}} OPTIONAL
}
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
LaneDataAttribute ::= CHOICE {
-- Segment attribute types and the data needed for each
pathEndPointAngle DeltaAngle,
-- adjusts final point/width slant
-- of the lane to align with the stop line
laneCrownPointCenter RoadwayCrownAngle,
-- sets the canter of the road bed
-- from centerline point
laneCrownPointLeft RoadwayCrownAngle,
-- sets the canter of the road bed
-- from left edge
laneCrownPointRight RoadwayCrownAngle,
-- sets the canter of the road bed
-- from right edge
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,
-- Reference regulatory speed limits
-- used by all segments
-- Add others as needed, in regional space
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-LaneDataAttribute}},
...
......@@ -501,17 +326,9 @@ LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute
LaneList ::= SEQUENCE (SIZE(1..255)) OF GenericLane
LaneSharing ::= BIT STRING {
-- With bits as defined:
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),
-- Assert if the lane object path and width details represents
-- 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.
otherNonMotorizedTrafficTypes (2),
individualMotorizedVehicleTraffic (3),
busVehicleTraffic (4),
taxiVehicleTraffic (5),
......@@ -520,72 +337,39 @@ LaneSharing ::= BIT STRING {
trackedVehicleTraffic (8),
pedestrianTraffic (9)
} (SIZE (10))
-- All zeros would indicate 'not shared' and 'not overlapping'
LaneTypeAttributes ::= CHOICE {
vehicle LaneAttributes-Vehicle, -- motor vehicle lanes
crosswalk LaneAttributes-Crosswalk, -- pedestrian crosswalks
bikeLane LaneAttributes-Bike, -- bike lanes
sidewalk LaneAttributes-Sidewalk, -- pedestrian sidewalk paths
median LaneAttributes-Barrier, -- medians & channelization
striping LaneAttributes-Striping, -- roadway markings
trackedVehicle LaneAttributes-TrackedVehicle, -- trains and trolleys
parking LaneAttributes-Parking, -- parking and stopping lanes
vehicle LaneAttributes-Vehicle,
crosswalk LaneAttributes-Crosswalk,
bikeLane LaneAttributes-Bike,
sidewalk LaneAttributes-Sidewalk,
median LaneAttributes-Barrier,
striping LaneAttributes-Striping,
trackedVehicle LaneAttributes-TrackedVehicle,
parking LaneAttributes-Parking,
...
}
ManeuverAssistList ::= SEQUENCE (SIZE(1..16)) OF ConnectionManeuverAssist
MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent
MovementEvent ::= SEQUENCE {
eventState MovementPhaseState,
-- Consisting of:
-- Phase state (the basic 11 states)
-- Directional, protected, or permissive state
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,
-- 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
RegionalExtension {{Reg-MovementEvent}} OPTIONAL,
...
}
MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent
MovementList ::= SEQUENCE (SIZE(1..255)) OF MovementState
MovementState ::= SEQUENCE {
movementName DescriptiveName OPTIONAL,
-- uniquely defines movement by name
-- human readable name for intersection
-- to be used only in debug mode
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,
-- 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,
-- 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
RegionalExtension {{Reg-MovementState}} OPTIONAL,
...
......@@ -594,74 +378,35 @@ MovementState ::= SEQUENCE {
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
NodeAttributeSetXY ::= SEQUENCE {
localNode NodeAttributeXYList OPTIONAL,
-- Attribute states which pertain to this node point
disabled SegmentAttributeXYList OPTIONAL,
-- Attribute states which are disabled at this node point
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,
-- 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,
-- 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,
-- 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
RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL,
...
}
NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY
NodeAttributeXY ::= ENUMERATED {
-- Various values which pertain only to the current node point
-- General Items
reserved,
stopLine, -- point where a mid-path stop line exists
-- See also 'do not block' for segments
-- Path finish details
roundedCapStyleA, -- Used to control final path rounded end shape
-- with edge of curve at final point in a circle
roundedCapStyleB, -- Used to control final path rounded end shape
-- with edge of curve extending 50% of width past
-- final point in a circle
-- Topography Points (items with no concept of a distance along the path)
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
stopLine,
roundedCapStyleA,
roundedCapStyleB,
mergePoint,
divergePoint,
downstreamStopLine,
downstreamStartNode,
closedToTraffic,
safeIsland,
curbPresentAtStepOff,
hydrantPresent,
...
}
*/
NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY
Node-LLmD-64b ::= SEQUENCE {
lon Longitude,
lat Latitude
......@@ -706,54 +451,49 @@ Node-XY-32b ::= SEQUENCE {
NodeListXY ::= CHOICE {
nodes NodeSetXY,
-- a lane made up of two or more
-- XY node points and any attributes
-- defined in those nodes
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
NodeOffsetPointXY ::= CHOICE {
-- Nodes with X,Y content
node-XY1 Node-XY-20b, -- node is within 5.11m of last node
node-XY2 Node-XY-22b, -- node is within 10.23m of last node
node-XY3 Node-XY-24b, -- node is within 20.47m of last node
node-XY4 Node-XY-26b, -- node is within 40.96m of last node
node-XY5 Node-XY-28b, -- node is within 81.91m of last node
node-XY6 Node-XY-32b, -- node is within 327.67m of last node
node-LatLon Node-LLmD-64b, -- node is a full 32b Lat/Lon range
node-XY1 Node-XY-20b,
node-XY2 Node-XY-22b,
node-XY3 Node-XY-24b,
node-XY4 Node-XY-26b,
node-XY5 Node-XY-28b,
node-XY6 Node-XY-32b,
node-LatLon Node-LLmD-64b,
regional RegionalExtension {{Reg-NodeOffsetPointXY}}
-- node which follows is of a
-- regional definition type
}
NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY
NodeXY ::= SEQUENCE {
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,
-- 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
-- The unique ID numbers for any lane object which have
-- spatial paths that overlay (run on top of, and not
-- simply cross with) the current lane.
-- Such as a train path that overlays a motor vehicle
-- lane object for a roadway segment.
PositionalAccuracy ::= SEQUENCE {
semiMajor SemiMajorAxisAccuracy,
semiMinor SemiMinorAxisAccuracy,
orientation SemiMajorAxisOrientation
}
PositionConfidenceSet ::= SEQUENCE {
pos PositionConfidence, -- for both horizontal directions
elevation ElevationConfidence
}
Position3D ::= SEQUENCE {
lat Latitude, -- in 1/10th micro degrees
long Longitude, -- in 1/10th micro degrees
elevation Elevation OPTIONAL, -- in 10 cm units
lat Latitude,
long Longitude,
elevation Elevation OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-Position3D}} OPTIONAL,
...
......@@ -764,36 +504,19 @@ PreemptPriorityList ::= SEQUENCE (SIZE(1..32)) OF SignalControlZone
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
RegulatorySpeedLimit ::= SEQUENCE {
type SpeedLimitType,
-- The type of regulatory speed which follows
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 {
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,
-- Information regarding all type and class data
-- about the requesting vehicle
position RequestorPositionVector OPTIONAL,
-- The location of the requesting vehicle
name DescriptiveName OPTIONAL,
-- A human readable name for debugging use
-- Support for Transit requests
routeName DescriptiveName OPTIONAL,
-- A string for transit operations use
transitStatus TransitVehicleStatus OPTIONAL,
-- current vehicle state (loading, etc.)
transitOccupancy TransitVehicleOccupancy OPTIONAL,
-- current vehicle occupancy
transitSchedule DeltaTime OPTIONAL,
-- current vehicle schedule adherence
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RequestorDescription}} OPTIONAL,
...
......@@ -807,83 +530,46 @@ RequestorPositionVector ::= SEQUENCE {
}
RequestorType ::= SEQUENCE {
-- Defines who is requesting
role BasicVehicleRole, -- Basic role of this user at this time
subrole RequestSubRole OPTIONAL, -- A local list with role based items
-- 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
role BasicVehicleRole,
subrole RequestSubRole OPTIONAL,
request RequestImportanceLevel OPTIONAL,
iso3883 Iso3833VehicleType OPTIONAL,
hpmsType VehicleType OPTIONAL, -- HPMS classification types
hpmsType VehicleType OPTIONAL,
regional RegionalExtension {{Reg-RequestorType}} OPTIONAL,
...
}
RestrictionClassAssignment ::= SEQUENCE {
id RestrictionClassID,
-- the unique value (within an intersection or local region)
-- that is assigned to this group of users
users RestrictionUserTypeList
-- The list of user types/classes
-- to which this restriction ID applies
}
RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment
RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF RestrictionUserType
RestrictionUserType ::= CHOICE {
basicType RestrictionAppliesTo,
-- a set of the most commonly used types
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RestrictionUserType}},
...
}
RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF RestrictionUserType
RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane
RoadSegmentReferenceID ::= SEQUENCE {
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
-- 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 {
name DescriptiveName OPTIONAL,
id RoadSegmentReferenceID,
-- a globally unique value for the segment
revision MsgCount,
-- Required default values about the descriptions to follow
refPoint Position3D, -- the reference from which subsequent
-- data points are offset until a new
-- point is used.
refPoint Position3D,
laneWidth LaneWidth OPTIONAL,
-- Reference width used by all subsequent
-- lanes unless a new width is given
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,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RoadSegment}} OPTIONAL,
...
......@@ -891,6 +577,13 @@ RoadSegment ::= SEQUENCE {
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
SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY
*/
......@@ -901,17 +594,22 @@ SignalControlZone ::= SEQUENCE {
}
SignalRequesterInfo ::= SEQUENCE {
-- These three items serve to uniquely identify the requester
-- and the specific request to all parties
id VehicleID,
request RequestID,
sequenceNumber MsgCount,
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
SignalRequestPackage ::= SEQUENCE {
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,
second 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
RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL,
...
}
SignalRequest ::= SEQUENCE {
-- the unique ID of the target intersection
SignalStatus ::= SEQUENCE {
sequenceNumber MsgCount,
id IntersectionReferenceID,
-- 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
sigStatus SignalStatusPackageList,
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
SignalStatusPackageList ::= SEQUENCE (SIZE(1..32)) OF SignalStatusPackage
SignalStatusPackage ::= SEQUENCE {
-- The party that made the initial SRM request
requester SignalRequesterInfo OPTIONAL,
-- The lanes or approaches used in the request
inboundOn IntersectionAccessPoint, -- estimated lane / approach of vehicle
inboundOn IntersectionAccessPoint,
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,
second DSecond OPTIONAL,
duration DSecond OPTIONAL,
-- the SRM status for this request
status PrioritizationResponseStatus,
-- Status of request, this may include rejection
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL,
...
}
SignalStatus ::= SEQUENCE {
sequenceNumber MsgCount,
-- changed whenever the below contents have change
id IntersectionReferenceID,
-- 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,
...
SpeedandHeadingandThrottleConfidence ::= SEQUENCE {
heading HeadingConfidenceDSRC,
speed SpeedConfidenceDSRC,
throttle ThrottleConfidence
}
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit
SpeedLimitType ::= ENUMERATED {
unknown, -- Speed limit type not available
maxSpeedInSchoolZone, -- Only sent when the limit is active
maxSpeedInSchoolZoneWhenChildrenArePresent, -- Sent at any time
maxSpeedInConstructionZone, -- Used for work zones, incident zones, etc.
-- where a reduced speed is present
unknown,
maxSpeedInSchoolZone,
maxSpeedInSchoolZoneWhenChildrenArePresent,
maxSpeedInConstructionZone,
vehicleMinSpeed,
vehicleMaxSpeed, -- Regulatory speed limit for general traffic
vehicleMaxSpeed,
vehicleNightMaxSpeed,
truckMinSpeed,
......@@ -1041,33 +683,14 @@ SpeedLimitType ::= ENUMERATED {
TimeChangeDetails ::= SEQUENCE {
startTime TimeMark OPTIONAL,
-- When this phase 1st started
minEndTime TimeMark,
-- Expected shortest end time
maxEndTime TimeMark OPTIONAL,
-- Expected longest end time
likelyTime TimeMark OPTIONAL,
-- Best predicted value based on other data
confidence TimeIntervalConfidence OPTIONAL,
-- Applies to above time element only
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)
-- 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 {
transmisson TransmissionState,
......@@ -1081,11 +704,8 @@ VehicleID ::= CHOICE {
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
--
-- Start of entries from table Data_Elements...
-- This table typicaly contains data element entries.
-- data elements
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
--
AdvisorySpeedType ::= ENUMERATED {
none (0),
......@@ -1093,172 +713,153 @@ AdvisorySpeedType ::= ENUMERATED {
ecoDrive (2),
transit (3),
...
} -- Note: subject to further growth
}
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),
-- a Straight movement is allowed in this lane
maneuverLeftAllowed (1),
-- a Left Turn movement is allowed in this lane
maneuverRightAllowed (2),
-- a Right Turn movement is allowed in this lane
maneuverUTurnAllowed (3),
-- a U turn movement is allowed in this lane
maneuverLeftTurnOnRedAllowed (4),
-- a Stop, and then proceed when safe movement
-- is allowed in this lane
maneuverRightTurnOnRedAllowed (5),
-- a Stop, and then proceed when safe movement
-- is allowed in this lane
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),
-- the vehicle should not stop at the stop line
-- (example: a flashing green arrow)
yieldAllwaysRequired (8),
-- the allowed movements above are not protected
-- (example: an permanent yellow condition)
goWithHalt (9),
-- after making a full stop, may proceed
caution (10),
-- proceed past stop line with caution
reserved1 (11)
-- used to align to 12 Bit Field
} (SIZE(12))
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 {
-- Values used in the EU and in the US
basicVehicle (0), -- Light duty passenger vehicle type
publicTransport (1), -- Used in EU for Transit us
specialTransport (2), -- Used in EU (e.g. heavy load)
dangerousGoods (3), -- Used in EU for any HAZMAT
roadWork (4), -- Used in EU for State and Local DOT uses
roadRescue (5), -- Used in EU and in the US to include tow trucks.
emergency (6), -- Used in EU for Police, Fire and Ambulance units
safetyCar (7), -- Used in EU for Escort vehicles
-- Begin US unique numbering
none-unknown (8), -- added to follow current SAE style guidelines
truck (9), -- Heavy trucks with additional BSM rights and obligations
motorcycle (10), --
roadSideSource (11), -- For infrastructure generated calls such as
-- fire house, rail infrastructure, roadwork site, etc.
police (12), --
fire (13), --
ambulance (14), -- (does not include private para-transit etc.)
dot (15), -- all roadwork vehicles
transit (16), -- all transit vehicles
slowMoving (17), -- to also include oversize etc.
stopNgo (18), -- to include trash trucks, school buses and others
-- that routinely disturb the free flow of traffic
cyclist (19), --
pedestrian (20), -- also includes those with mobility limitations
nonMotorized (21), -- other, horse drawn, etc.
military (22), --
basicVehicle (0),
publicTransport (1),
specialTransport (2),
dangerousGoods (3),
roadWork (4),
roadRescue (5),
emergency (6),
safetyCar (7),
none-unknown (8),
truck (9),
motorcycle (10),
roadSideSource (11),
police (12),
fire (13),
ambulance (14),
dot (15),
transit (16),
slowMoving (17),
stopNgo (18),
cyclist (19),
pedestrian (20),
nonMotorized (21),
military (22),
...
}
DDay ::= INTEGER (0..31)
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
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)
-- 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))
DHour ::= INTEGER (0..31)
DMinute ::= INTEGER (0..60)
DMonth ::= INTEGER (0..12)
DOffset ::= INTEGER (-840..840)
DrivenLineOffsetLg ::= INTEGER (-32767..32767)
-- LSB units are 1 cm.
DrivenLineOffsetSm ::= INTEGER (-2047..2047)
-- LSB units are 1 cm.
DSecond ::= INTEGER (0..65535) -- units of milliseconds
DSecond ::= INTEGER (0..65535)
DSRCmsgID ::= INTEGER (0..32767)
mapData DSRCmsgID ::= 18 -- MAP, intersections
signalPhaseAndTimingMessage DSRCmsgID ::= 19 -- SPAT
signalRequestMessage DSRCmsgID ::= 29 -- SRM
signalStatusMessage DSRCmsgID ::= 30 -- SSM
mapData DSRCmsgID ::= 18
rtcmCorrections DSRCmsgID ::= 28
signalPhaseAndTimingMessage DSRCmsgID ::= 19
signalRequestMessage DSRCmsgID ::= 29
signalStatusMessage DSRCmsgID ::= 30
DYear ::= INTEGER (0..4095)
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)
-- 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
ElevationConfidence ::= ENUMERATED {
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)
}
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 {
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),
-- And all counting/timing has stopped.
failureFlash (2),
-- Above to be used for any detected hardware failures,
-- e.g. conflict monitor as well as for police flash
preemptIsActive (3),
signalPriorityIsActive (4),
-- Additional states
fixedTimeOperation (5),
-- Schedule of signals is based on time only
-- (i.e. the state can be calculated)
trafficDependentOperation (6),
-- Operation is based on different levels of traffic parameters
-- (requests, duration of gaps or more complex parameters)
standbyOperation (7),
-- Controller: partially switched off or partially amber flashing
failureMode (8),
-- Controller has a problem or failure in operation
off (9),
-- Controller is switched off
-- Related to MAP and SPAT bindings
recentMAPmessageUpdate (10),
-- Map revision with content changes
recentChangeInMAPassignedLanesIDsUsed (11),
-- Change in MAP's assigned lanes used (lane changes)
-- Changes in the active lane list description
noValidMAPisAvailableAtThisTime (12),
-- MAP (and various lanes indexes) not available
noValidSPATisAvailableAtThisTime (13)
-- SPAT system is not working at this time
-- Bits 14,15 reserved at this time and shall be zero
} (SIZE(16))
LaneAttributes-Barrier ::= BIT STRING {
-- With bits as defined:
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),
whiteLineHashing (2),
stripedLines (3),
......@@ -1268,197 +869,92 @@ LaneAttributes-Barrier ::= BIT STRING {
trafficChannels (7),
lowCurbs (8),
highCurbs (9)
-- Bits 10~15 reserved and set to zero
} (SIZE (16))
LaneAttributes-Bike ::= BIT STRING {
-- With bits as defined:
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),
-- The path allows pedestrian traffic,
-- if not set, this mode is prohibited
isBikeFlyOverLane (2),
-- path of lane is not at grade
fixedCycleTime (3),
-- the phases use preset times
-- i.e. there is not a 'push to cross' button
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),
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))
LaneAttributes-Crosswalk ::= BIT STRING {
-- With bits as defined:
-- MUTCD provides no suitable "types" to use here
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),
-- The path allows bicycle traffic,
-- if not set, this mode is prohibited
isXwalkFlyOverLane (2),
-- path of lane is not at grade
fixedCycleTime (3),
-- ped walk phases use preset times
-- i.e. there is not a 'push to cross' button
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),
-- Has a demand input
audioSupport (6),
-- audio crossing cues present
rfSignalRequestPresent (7),
-- Supports RF push to walk technologies
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))
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),
-- this lane may be activated or not based
-- on the current SPAT message contents
-- if not asserted, the lane is ALWAYS present
parallelParkingInUse (1),
headInParkingInUse (2),
doNotParkZone (3),
-- used to denote fire hydrants as well as
-- short disruptions in a parking zone
parkingForBusUse (4),
parkingForTaxiUse (5),
noPublicParkingUse (6)
-- private parking, as in front of
-- private property
-- Bits 7~15 reserved and set to zero
} (SIZE (16))
LaneAttributes-Sidewalk ::= BIT STRING {
-- With bits as defined:
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),
-- The path allows bicycle traffic,
-- if not set, this mode is prohibited
isSidewalkFlyOverLane (2),
-- path of lane is not at grade
walkBikes (3)
-- bike traffic must dismount and walk
-- Bits 4~15 reserved and set to zero
} (SIZE (16))
LaneAttributes-Striping ::= BIT STRING {
-- With bits as defined:
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),
stripeDrawOnRight (2),
-- which side of lane to mark
stripeToConnectingLanesLeft (3),
stripeToConnectingLanesRight (4),
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))
LaneAttributes-TrackedVehicle ::= BIT STRING {
-- With bits as defined:
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-lightRailRoadTrack (2),
spec-heavyRailRoadTrack (3),
spec-otherRailType (4)
-- Bits 5~15 reserved and set to zero
} (SIZE (16))
LaneAttributes-Vehicle ::= BIT STRING {
-- With bits as defined:
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),
-- path of lane is not at grade
hovLaneUseOnly (2),
restrictedToBusUse (3),
restrictedToTaxiUse (4),
restrictedFromPublicUse (5),
hasIRbeaconCoverage (6),
permissionOnRequest (7) -- e.g. to inform about a lane for e-cars
permissionOnRequest (7)
} (SIZE (8,...))
LaneConnectionID ::= INTEGER (0..255)
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),
-- travel from rear of path to front
-- is allowed
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))
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
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)
LayerType ::= ENUMERATED {
none,
mixedContent, -- two or more of the below types
mixedContent,
generalMapData,
intersectionData,
curveData,
......@@ -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
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)
-- the value 527040 shall be used for invalid
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),
-- This state is used for unknown or error
dark (1),
-- The signal head is dark (unlit)
-- Reds
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),
-- 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),
-- 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),
-- 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),
-- 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),
-- 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),
-- 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)
-- 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)
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
Offset-B10 ::= INTEGER (-512..511)
-- a range of +- 5.11 meters
Offset-B11 ::= INTEGER (-1024..1023)
-- a range of +- 10.23 meters
Offset-B12 ::= INTEGER (-2048..2047)
-- a range of +- 20.47 meters
Offset-B13 ::= INTEGER (-4096..4095)
-- a range of +- 40.95 meters
Offset-B14 ::= INTEGER (-8192..8191)
-- a range of +- 81.91 meters
Offset-B16 ::= INTEGER (-32768..32767)
-- a range of +- 327.68 meters
*/
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
PrioritizationResponseStatus ::= ENUMERATED {
unknown (0),
-- Unknown state
requested (1),
-- This prioritization request was detected
-- by the traffic controller
processing (2),
-- Checking request
-- (request is in queue, other requests are prior)
watchOtherTraffic (3),
-- Cannot give full permission,
-- therefore watch for other traffic
-- Note that other requests may be present
granted (4),
-- Intervention was successful
-- and now prioritization is active
rejected (5),
-- The prioritization or preemption request was
-- rejected by the traffic controller
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),
-- 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 {
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
RegionId ::= INTEGER (0..255)
noRegion RegionId ::= 0 -- Use default supplied stubs
addGrpA RegionId ::= 1 -- USA
addGrpB RegionId ::= 2 -- Japan
addGrpC RegionId ::= 3 -- EU
-- NOTE: new registered regional IDs will be added here
-- The values 128 and above are for local region use
noRegion RegionId ::= 0
addGrpA RegionId ::= 1
addGrpB RegionId ::= 2
addGrpC RegionId ::= 3
*/
RequestID ::= INTEGER (0..255)
RequestImportanceLevel ::= ENUMERATED {
requestImportanceLevelUnKnown (0),
requestImportanceLevel1 (1), -- The least important request
requestImportanceLevel2 (2), -- The values here shall be assigned
requestImportanceLevel3 (3), -- Meanings based on regional needs
requestImportanceLevel4 (4), -- for each of the basic roles which
requestImportanceLevel5 (5), -- are defined elsewhere
requestImportanceLevel1 (1),
requestImportanceLevel2 (2),
requestImportanceLevel3 (3),
requestImportanceLevel4 (4),
requestImportanceLevel5 (5),
requestImportanceLevel6 (6),
requestImportanceLevel7 (7),
requestImportanceLevel8 (8),
......@@ -1653,17 +1069,17 @@ RequestImportanceLevel ::= ENUMERATED {
requestImportanceLevel11 (11),
requestImportanceLevel12 (12),
requestImportanceLevel13 (13),
requestImportanceLevel14 (14), -- The most important request
requestImportanceReserved (15) -- Reserved for future use
requestImportanceLevel14 (14),
requestImportanceReserved (15)
}
RequestSubRole ::= ENUMERATED {
requestSubRoleUnKnown (0),
requestSubRole1 (1), -- The first type of sub role
requestSubRole2 (2), -- The values here shall be assigned
requestSubRole3 (3), -- Meanings based on regional needs
requestSubRole4 (4), -- to refine and expand the basic
requestSubRole5 (5), -- roles which are defined elsewhere
requestSubRole1 (1),
requestSubRole2 (2),
requestSubRole3 (3),
requestSubRole4 (4),
requestSubRole5 (5),
requestSubRole6 (6),
requestSubRole7 (7),
requestSubRole8 (8),
......@@ -1672,170 +1088,170 @@ RequestSubRole ::= ENUMERATED {
requestSubRole11 (11),
requestSubRole12 (12),
requestSubRole13 (13),
requestSubRole14 (14), -- The last type of sub role
requestSubRoleReserved (15) -- Reserved for future use
requestSubRole14 (14),
requestSubRoleReserved (15)
}
RestrictionAppliesTo ::= ENUMERATED {
none, -- applies to nothing
equippedTransit, -- buses etc.
none,
equippedTransit,
equippedTaxis,
equippedOther, -- other vehicle types with
-- necessary signal phase state
-- reception equipment
emissionCompliant, -- regional variants with more
-- definitive items also exist
equippedOther,
emissionCompliant,
equippedBicycle,
weightCompliant,
heightCompliant,
-- Items dealing with traveler needs serviced by the infrastructure
-- These end users (which are not vehicles) are presumed to be suitably equipped
pedestrians,
slowMovingPersons,
wheelchairUsers,
visualDisabilities,
audioDisabilities, -- hearing
audioDisabilities,
otherUnknownDisabilities,
...
}
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)
-- The value zero shall be used for testing only
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
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
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
SegmentAttributeXY ::= ENUMERATED {
-- Various values which can be Enabled and Disabled for a lane segment
-- General Items
reserved ,
doNotBlock , -- segment where a vehicle
-- may not come to a stop
whiteLine , -- segment where lane crossing not allowed
-- such as the final few meters of a lane
-- Porous Lane states, merging, turn outs, parking etc.
mergingLaneLeft , -- indicates porous lanes
doNotBlock ,
whiteLine ,
mergingLaneLeft ,
mergingLaneRight ,
curbOnLeft , -- indicates presence of curbs
curbOnLeft ,
curbOnRight ,
loadingzoneOnLeft , -- loading or drop off zones
loadingzoneOnLeft ,
loadingzoneOnRight ,
turnOutPointOnLeft , -- opening to adjacent street/alley/road
turnOutPointOnLeft ,
turnOutPointOnRight ,
adjacentParkingOnLeft , -- side of road parking
adjacentParkingOnLeft ,
adjacentParkingOnRight ,
-- Bike Lane Needs
adjacentBikeLaneOnLeft , -- presence of marked bike lanes
adjacentBikeLaneOnLeft ,
adjacentBikeLaneOnRight ,
sharedBikeLane , -- right of way is shared with bikes
-- who may occupy entire lane width
sharedBikeLane ,
bikeBoxInFront ,
-- Transit Needs
transitStopOnLeft , -- any form of bus/transit loading
-- with pull in-out access to lane on left
transitStopOnRight , -- any form of bus/transit loading
-- with pull in-out access to lane on right
transitStopInLane , -- any form of bus/transit loading
-- in mid path of the lane
sharedWithTrackedVehicle , -- lane is shared with train or trolley
-- not used for crossing tracks
-- Pedestrian Support Attributes
safeIsland , -- begin/end a safety island in path
lowCurbsPresent , -- for ADA support
rumbleStripPresent , -- for ADA support
audibleSignalingPresent , -- for ADA support
adaptiveTimingPresent , -- for ADA support
rfSignalRequestPresent , -- Supports RF push to walk technologies
partialCurbIntrusion , -- path is blocked by a median or curb
-- but at least 1 meter remains open for use
-- 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
transitStopOnLeft ,
transitStopOnRight ,
transitStopInLane ,
sharedWithTrackedVehicle ,
safeIsland ,
lowCurbsPresent ,
rumbleStripPresent ,
audibleSignalingPresent ,
adaptiveTimingPresent ,
rfSignalRequestPresent ,
partialCurbIntrusion ,
taperToLeft ,
taperToRight ,
taperToCenterLine ,
parallelParking ,
headInParking ,
freeParking ,
timeRestrictionsOnParking ,
costToPark ,
midBlockCurbPresent ,
unEvenPavementPresent ,
...
}
*/
SemiMajorAxisAccuracy ::= INTEGER (0..255)
SemiMajorAxisOrientation ::= INTEGER (0..65535)
SemiMinorAxisAccuracy ::= INTEGER (0..255)
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))
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)
-- 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 {
occupancyUnknown (0),
......@@ -1849,65 +1265,51 @@ TransitVehicleOccupancy ::= ENUMERATED {
}
TransitVehicleStatus ::= BIT STRING {
loading (0), -- parking and unable to move at this time
anADAuse (1), -- an ADA access is in progress (wheelchairs, kneeling, etc.)
aBikeLoad (2), -- loading of a bicycle is in progress
doorOpen (3), -- a vehicle door is open for passenger access
charging (4), -- a vehicle is connected to charging point
atStopLine (5) -- a vehicle is at the stop line for the lane it is in
loading (0),
anADAuse (1),
aBikeLoad (2),
doorOpen (3),
charging (4),
atStopLine (5)
} (SIZE(8))
TransmissionState ::= ENUMERATED {
neutral (0), -- Neutral
park (1), -- Park
forwardGears (2), -- Forward gears
reverseGears (3), -- Reverse gears
neutral (0),
park (1),
forwardGears (2),
reverseGears (3),
reserved1 (4),
reserved2 (5),
reserved3 (6),
unavailable (7) -- not-equipped or unavailable value,
-- Any related speed is relative to the vehicle reference frame used
unavailable (7)
}
VehicleType ::= ENUMERATED {
none (0), -- Not Equipped, Not known or unavailable
unknown (1), -- Does not fit any other category
special (2), -- Special use
moto (3), -- Motorcycle
car (4), -- Passenger car
carOther (5), -- Four tire single units
bus (6), -- Buses
axleCnt2 (7), -- Two axle, six tire single units
axleCnt3 (8), -- Three axle, single units
axleCnt4 (9), -- Four or more axle, single unit
axleCnt4Trailer (10), -- Four or less axle, single trailer
axleCnt5Trailer (11), -- Five or less axle, single trailer
axleCnt6Trailer (12), -- Six or more axle, single trailer
axleCnt5MultiTrailer (13), -- Five or less axle, multi-trailer
axleCnt6MultiTrailer (14), -- Six axle, multi-trailer
axleCnt7MultiTrailer (15), -- Seven or more axle, multi-trailer
none (0),
unknown (1),
special (2),
moto (3),
car (4),
carOther (5),
bus (6),
axleCnt2 (7),
axleCnt3 (8),
axleCnt4 (9),
axleCnt4Trailer (10),
axleCnt5Trailer (11),
axleCnt6Trailer (12),
axleCnt5MultiTrailer (13),
axleCnt6MultiTrailer (14),
axleCnt7MultiTrailer (15),
...
}
/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
Velocity ::= INTEGER (0..8191) -- Units of 0.02 m/s
-- The value 8191 indicates that
-- velocity is unavailable
Velocity ::= INTEGER (0..8191)
*/
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
WaitOnStopline ::= BOOLEAN
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
--FIXME RGY moved here from file SPAT_MAP_ISO_TS_19091.asn
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
--
-- module: DSRC
......@@ -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
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
IMPORTS
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
------------------------------------------------------
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)
-- With an angle range from
-- negative 150 to positive 150
......@@ -63,11 +108,6 @@ LaneDataAttribute ::= CHOICE {
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)
-- In units of 1.5 degrees from north
-- the value -180 shall be used to represent
......@@ -208,6 +248,8 @@ NodeAttributeXY ::= ENUMERATED {
...
}
Offset-B09 ::= INTEGER (-256..255)
Offset-B10 ::= INTEGER (-512..511)
-- a range of +- 5.11 meters
......@@ -413,7 +455,7 @@ Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... }
Reg-NodeOffsetPointXY REG-EXT-ID-AND-TYPE ::= { ... }
Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= {
{Control-addGrpC IDENTIFIED BY addGrpC} ,
{NodeAttributeSet-addGrpC IDENTIFIED BY addGrpC} ,
...
}
END
......@@ -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
IMPORTS
--FIXME RGY definitions moved to non-circularity module
--addGrpC, REG-EXT-ID-AND-TYPE FROM DSRC
addGrpC, REG-EXT-ID-AND-TYPE FROM DSRC-REGION-noCircular
--FIXME RGY Control-addGrpC has been moved to a non-circularity module
Control-addGrpC FROM AddGrpC-noCircular
ConnectionManeuverAssist-addGrpC, ConnectionTrajectory-addGrpC, IntersectionState-addGrpC, /*Control-addGrpC,*/ Position3D-addGrpC, RestrictionUserType-addGrpC,
SignalStatusPackage-addGrpC, MapData-addGrpC FROM AddGrpC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1)};
NodeAttributeSet-addGrpC, addGrpC, REG-EXT-ID-AND-TYPE FROM DSRC-REGION-noCircular
--FIXME RGY NodeAttributeSet-addGrpC has been moved to a non-circularity module
--NodeAttributeSet-addGrpC FROM AddGrpC-noCircular
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) version2 (2)};
Reg-AdvisorySpeed REG-EXT-ID-AND-TYPE ::= { ... }
......@@ -49,31 +49,37 @@ 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
Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... }
*/
Reg-MapData REG-EXT-ID-AND-TYPE ::= {
{MapData-addGrpC IDENTIFIED BY addGrpC},
...
{MapData-addGrpC IDENTIFIED BY addGrpC},
...
}
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-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
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
Reg-NodeOffsetPointXY 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 ::= { ... }
......@@ -95,6 +104,8 @@ Reg-RestrictionUserType 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-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
-- as defined in ISO TS 19091 and SAEJ2735
-- This document contains the data element needed for the encoding the SPAT, MapData, SignalRequestMessage, SignalStatusMessage, RTCMcorrections
-- 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
--
--
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
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
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) };
ConnectionManeuverAssist-addGrpC ::= SEQUENCE {
itsStationPositions ItsStationPositionList OPTIONAL,
rsuGNSSOffset NodeOffsetPointXY OPTIONAL,
...
DeltaTime, FuelType, IntersectionID, LaneConnectionID, LaneID, NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, VehicleHeight
FROM DSRC {
iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)
}
ConnectionTrajectory-addGrpC ::= SEQUENCE {
nodes NodeSetXY,
...
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 {
itsStationPosition ItsStationPositionList OPTIONAL,
...
}
Control-addGrpC ::= SEQUENCE {
ptvRequest PtvRequestType,
...
ConnectionTrajectory-addGrpC ::= SEQUENCE {
nodes NodeSetXY,
connectionID LaneConnectionID,
...
}
IntersectionState-addGrpC ::= SEQUENCE {
activePrioritizations PrioritizationResponseList OPTIONAL,
...
IntersectionState-addGrpC ::= SEQUENCE {
activePrioritizations PrioritizationResponseList OPTIONAL,
...
}
MapData-addGrpC ::= SEQUENCE {
signalHeadLocations SignalHeadLocationList OPTIONAL,
...
LaneAttributes-addGrpC ::= SEQUENCE {
maxVehicleHeight VehicleHeight OPTIONAL,
maxVehicleWeight VehicleMass OPTIONAL,
...
}
Position3D-addGrpC ::= SEQUENCE {
altitude Altitude,
...
MapData-addGrpC ::= SEQUENCE {
signalHeadLocations SignalHeadLocationList OPTIONAL,
...
}
PrioritizationResponseList ::= SEQUENCE SIZE(1..10) OF PrioritizationResponse
MovementEvent-addGrpC ::= SEQUENCE {
stateChangeReason ExceptionalCondition OPTIONAL,
...
}
PrioritizationResponse ::= SEQUENCE {
stationID StationID,
priorState PrioritizationResponseStatus,
signalGroup SignalGroupID,
...
NodeAttributeSet-addGrpC ::= SEQUENCE {
ptvRequest PtvRequestType OPTIONAL,
nodeLink NodeLink OPTIONAL,
node Node OPTIONAL,
...
}
RestrictionUserType-addGrpC ::= SEQUENCE {
emission EmissionType OPTIONAL,
...
Position3D-addGrpC ::= SEQUENCE {
altitude Altitude,
...
}
SignalHeadLocationList ::= SEQUENCE (SIZE(1..64)) OF SignalHeadLocation
RestrictionUserType-addGrpC ::= SEQUENCE {
emission EmissionType OPTIONAL,
fuel FuelType OPTIONAL,
...
}
SignalHeadLocation ::= SEQUENCE {
nodeXY NodeOffsetPointXY,
nodeZ DeltaAltitude,
signalGroupID SignalGroupID,
...
RequestorDescription-addGrpC ::= SEQUENCE {
fuel FuelType OPTIONAL,
batteryStatus BatteryStatus OPTIONAL,
...
}
SignalStatusPackage-addGrpC ::= SEQUENCE {
synchToSchedule DeltaTime OPTIONAL,
...
synchToSchedule DeltaTime OPTIONAL,
rejectedReason RejectedReason OPTIONAL,
...
}
ItsStationPositionList::= SEQUENCE SIZE(1..5) OF ItsStationPosition
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- Data frames
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ItsStationPosition ::= SEQUENCE {
stationID StationID,
laneID LaneID OPTIONAL,
nodeXY NodeOffsetPointXY OPTIONAL,
timeReference TimeReference OPTIONAL,
...
ItsStationPosition ::= SEQUENCE {
stationID StationID,
laneID LaneID OPTIONAL,
nodeXY NodeOffsetPointXY OPTIONAL,
timeReference TimeReference OPTIONAL,
...
}
EmissionType ::= ENUMERATED {
euro1,
euro2,
euro3,
euro4,
euro5,
euro6,
...
ItsStationPositionList ::= SEQUENCE SIZE(1..5) OF ItsStationPosition
Node ::= SEQUENCE {
id INTEGER,
lane LaneID OPTIONAL,
connectionID LaneConnectionID OPTIONAL,
intersectionID IntersectionID OPTIONAL,
...
}
PtvRequestType ::= ENUMERATED {
preRequest,
mainRequest,
doorCloseRequest,
cancelRequest,
emergencyRequest,
...
NodeLink ::= SEQUENCE SIZE (1..5) OF Node
PrioritizationResponse ::= SEQUENCE {
stationID StationID,
priorState PrioritizationResponseStatus,
signalGroup SignalGroupID,
...
}
TimeReference ::= INTEGER { oneMilliSec(1) } (0..65535)
PrioritizationResponseList ::= SEQUENCE SIZE(1..10) OF PrioritizationResponse
END
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 {
euro1,
euro2,
euro3,
euro4,
euro5,
euro6,
...
}
ExceptionalCondition ::= ENUMERATED {
unknown,
publicTransportPriority,
emergencyVehiclePriority,
trainPriority,
bridgeOpen,
vehicleHeight,
weather,
trafficJam,
tunnelClosure,
meteringActive,
truckPriority,
bicyclePlatoonPriority,
vehiclePlatoonPriority,
...
}
PtvRequestType ::= ENUMERATED {
preRequest,
mainRequest,
doorCloseRequest,
cancelRequest,
emergencyRequest,
...
}
RejectedReason ::= ENUMERATED {
unknown,
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
--
-- Some Types renamed (added xxxDSRC) to avoid name-clashes with CDD
--
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) }
DEFINITIONS AUTOMATIC TAGS::= BEGIN
DSRC {
iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)
}
DEFINITIONS AUTOMATIC TAGS::= BEGIN
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) };
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
--
-- Start of entries from table Messages...
-- This table typicaly contains message entries.
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
--
Longitude, Latitude, StationID
FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }
MessageFrame ::= SEQUENCE {
messageId MESSAGE-ID-AND-TYPE.&id({MessageTypes}),
value MESSAGE-ID-AND-TYPE.&Type({MessageTypes}{@.messageId}),
...
}
Reg-AdvisorySpeed, Reg-ComputedLane, Reg-ConnectionManeuverAssist, Reg-GenericLane,
Reg-IntersectionGeometry, Reg-IntersectionState, Reg-LaneAttributes, Reg-MapData,
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 {
&id RegionId UNIQUE,
&Type
} WITH SYNTAX {&Type IDENTIFIED BY &id}
&id RegionId UNIQUE,
&Type
} WITH SYNTAX {&Type IDENTIFIED BY &id}
RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE {
regionId REG-EXT-ID-AND-TYPE.&id( {Set} ),
regExtValue REG-EXT-ID-AND-TYPE.&Type( {Set}{@regionId} )
}
SPAT ::= SEQUENCE {
timeStamp MinuteOfTheYear OPTIONAL,
name DescriptiveName OPTIONAL,
-- human readable name for this collection
-- to be used only in debug mode
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
RegionalExtension {{Reg-SPAT}} OPTIONAL,
...
}
regionId REG-EXT-ID-AND-TYPE.&id( {Set} ),
regExtValue REG-EXT-ID-AND-TYPE.&Type( {Set}{@regionId} )
}
SignalRequestMessage ::= SEQUENCE {
timeStamp MinuteOfTheYear OPTIONAL,
second DSecond,
sequenceNumber MsgCount OPTIONAL,
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,
...
}
requests SignalRequestList OPTIONAL,
-- Request Data for one or more signalized
-- intersections that support SRM dialogs
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,
...
}
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
SPAT ::= SEQUENCE {
timeStamp MinuteOfTheYear OPTIONAL,
name DescriptiveName OPTIONAL,
intersections IntersectionStateList,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SPAT}} OPTIONAL,
...
}
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalRequestMessage}} OPTIONAL,
...
SignalRequestMessage ::= SEQUENCE {
timeStamp MinuteOfTheYear OPTIONAL,
second DSecond,
sequenceNumber MsgCount OPTIONAL,
requests SignalRequestList OPTIONAL,
requestor RequestorDescription,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalRequestMessage}} OPTIONAL,
...
}
SignalStatusMessage ::= SEQUENCE {
timeStamp MinuteOfTheYear OPTIONAL,
second DSecond,
sequenceNumber MsgCount OPTIONAL,
-- Status Data for one of more signalized intersections
status SignalStatusList,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalStatusMessage}} OPTIONAL,
...
timeStamp MinuteOfTheYear OPTIONAL,
second DSecond,
sequenceNumber MsgCount OPTIONAL,
status SignalStatusList,
regional SEQUENCE (SIZE(1..4)) OF
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...
-- This table typicaly contains data frame entries.
-- Data frames
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
--
AdvisorySpeed ::= SEQUENCE {
type AdvisorySpeedType,
-- the type of advisory which this is.
speed SpeedAdvice OPTIONAL,
-- See Section 11 for converting and translating speed
-- 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,
-- 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,
-- the vehicle types to which it applies
-- when absent, the AdvisorySpeed applies to
-- all motor vehicle types
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-AdvisorySpeed}} OPTIONAL,
...
}
type AdvisorySpeedType,
speed SpeedAdvice OPTIONAL,
confidence SpeedConfidenceDSRC OPTIONAL,
distance ZoneLength OPTIONAL,
class RestrictionClassID OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-AdvisorySpeed}} OPTIONAL,
...
}
AdvisorySpeedList ::= SEQUENCE (SIZE(1..16)) OF AdvisorySpeed
ComputedLane ::= SEQUENCE {
-- Data needed to created a computed lane
referenceLaneId LaneID,
-- the lane ID upon which this
-- computed lane will be based
-- Lane Offset in X and Y direction
offsetXaxis CHOICE {
small DrivenLineOffsetSm,
large DrivenLineOffsetLg
},
offsetYaxis CHOICE {
small DrivenLineOffsetSm,
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,
-- 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,
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
RegionalExtension {{Reg-ComputedLane}} OPTIONAL,
...
AntennaOffsetSet ::= SEQUENCE {
antOffsetX Offset-B12,
antOffsetY Offset-B09,
antOffsetZ Offset-B10
}
ComputedLane ::= SEQUENCE {
referenceLaneId LaneID,
offsetXaxis CHOICE {
small DrivenLineOffsetSm,
large DrivenLineOffsetLg
},
offsetYaxis CHOICE {
small DrivenLineOffsetSm,
large DrivenLineOffsetLg
},
rotateXY Angle OPTIONAL,
scaleXaxis Scale-B12 OPTIONAL,
scaleYaxis Scale-B12 OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-ComputedLane}} OPTIONAL,
...
}
ConnectsToList ::= SEQUENCE (SIZE(1..16)) OF Connection
ConnectingLane ::= SEQUENCE {
lane LaneID, -- Index of the connecting lane
maneuver AllowedManeuvers OPTIONAL
-- The Maneuver between
-- the enclosing lane and this lane
-- at the stop line to connect them
}
lane LaneID,
maneuver AllowedManeuvers OPTIONAL
}
Connection ::= SEQUENCE {
-- The subject lane connecting to this lane is:
connectingLane ConnectingLane,
-- The index of the connecting lane and also
-- the maneuver from the current lane to it
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,
-- 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,
-- 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
-- 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
}
connectingLane ConnectingLane,
remoteIntersection IntersectionReferenceID OPTIONAL,
signalGroup SignalGroupID OPTIONAL,
userClass RestrictionClassID OPTIONAL,
connectionID LaneConnectionID OPTIONAL
}
ConnectionManeuverAssist ::= SEQUENCE {
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,
-- 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,
-- 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,
-- 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,
-- 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
RegionalExtension {{Reg-ConnectionManeuverAssist}} OPTIONAL,
...
}
connectionID LaneConnectionID,
queueLength ZoneLength OPTIONAL,
availableStorageLength ZoneLength OPTIONAL,
waitOnStop WaitOnStopline OPTIONAL,
pedBicycleDetect PedestrianBicycleDetect OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-ConnectionManeuverAssist}} OPTIONAL,
...
}
DataParameters ::= SEQUENCE {
processMethod IA5String(SIZE(1..255)) OPTIONAL,
processAgency IA5String(SIZE(1..255)) OPTIONAL,
lastCheckedDate IA5String(SIZE(1..255)) OPTIONAL,
geoidUsed IA5String(SIZE(1..255)) OPTIONAL,
...
processMethod IA5String(SIZE(1..255)) OPTIONAL,
processAgency IA5String(SIZE(1..255)) OPTIONAL,
lastCheckedDate 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
-- The unique ID numbers for each
-- lane object which is 'active'
-- as part of the dynamic map contents.
GenericLane ::= SEQUENCE {
laneID LaneID,
-- The unique ID number assigned
-- to this lane object
name DescriptiveName OPTIONAL,
-- often for debug use only
-- but at times used to name ped crossings
ingressApproach ApproachID OPTIONAL, -- inbound
egressApproach ApproachID OPTIONAL, -- outbound
-- Approach IDs to which this lane belongs
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,
-- the permitted maneuvers for this lane
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,
-- 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,
-- 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
RegionalExtension {{Reg-GenericLane}} OPTIONAL,
FullPositionVector ::= SEQUENCE {
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 {
laneID LaneID,
name DescriptiveName OPTIONAL,
ingressApproach ApproachID OPTIONAL,
egressApproach ApproachID OPTIONAL,
laneAttributes LaneAttributes,
maneuvers AllowedManeuvers OPTIONAL,
nodeList NodeListXY,
connectsTo ConnectsToList OPTIONAL,
overlays OverlayLaneList OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-GenericLane}} OPTIONAL,
...
}
IntersectionAccessPoint ::= CHOICE {
lane LaneID,
approach ApproachID,
connection LaneConnectionID,
...
}
lane LaneID,
approach ApproachID,
connection LaneConnectionID,
...
}
IntersectionGeometry ::= SEQUENCE {
name DescriptiveName OPTIONAL,
-- For debug use only
id IntersectionReferenceID,
-- A globally unique value set,
-- consisting of a regionID and
-- intersection ID assignment
revision MsgCount,
-- 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,
-- Reference width used by all subsequent
-- lanes unless a new width is given
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
-- 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,
-- data about one or more regional
-- preempt or priority zones
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-IntersectionGeometry}} OPTIONAL,
...
}
name DescriptiveName OPTIONAL,
id IntersectionReferenceID,
revision MsgCount,
refPoint Position3D,
laneWidth LaneWidth OPTIONAL,
speedLimits SpeedLimitList OPTIONAL,
laneSet LaneList,
preemptPriorityData PreemptPriorityList OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-IntersectionGeometry}} OPTIONAL,
...
}
IntersectionGeometryList ::= SEQUENCE (SIZE(1..32)) OF IntersectionGeometry
IntersectionReferenceID ::= SEQUENCE {
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
-- a unique mapping to the intersection
-- in question within the above region of use
}
region RoadRegulatorID OPTIONAL,
id IntersectionID
}
IntersectionState ::= SEQUENCE {
name DescriptiveName OPTIONAL,
-- human readable name for intersection
-- to be used only in debug mode
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,
status IntersectionStatusObject,
-- general status of the controller(s)
moy MinuteOfTheYear OPTIONAL,
-- Minute of current UTC year
-- used only with messages to be archived
timeStamp DSecond OPTIONAL,
-- the mSec point in the current UTC minute that
-- this message was constructed
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,
-- 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,
-- Assist data
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-IntersectionState}} OPTIONAL,
...
}
name DescriptiveName OPTIONAL,
id IntersectionReferenceID,
revision MsgCount,
status IntersectionStatusObject,
moy MinuteOfTheYear OPTIONAL,
timeStamp DSecond OPTIONAL,
enabledLanes EnabledLaneList OPTIONAL,
states MovementList,
maneuverAssistList ManeuverAssistList OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-IntersectionState}} OPTIONAL,
...
}
IntersectionStateList ::= SEQUENCE (SIZE(1..32)) OF IntersectionState
LaneAttributes ::= SEQUENCE {
directionalUse LaneDirection, -- directions of lane use
sharedWith LaneSharing, -- co-users of the lane path
laneType LaneTypeAttributes, -- specific lane type data
regional RegionalExtension {{Reg-LaneAttributes}} OPTIONAL
}
directionalUse LaneDirection,
sharedWith LaneSharing,
laneType LaneTypeAttributes,
regional RegionalExtension {{Reg-LaneAttributes}} OPTIONAL
}
LaneDataAttribute ::= CHOICE {
-- Segment attribute types and the data needed for each
pathEndPointAngle DeltaAngle,
-- adjusts final point/width slant
-- of the lane to align with the stop line
laneCrownPointCenter RoadwayCrownAngle,
-- sets the canter of the road bed
-- from centerline point
laneCrownPointLeft RoadwayCrownAngle,
-- sets the canter of the road bed
-- from left edge
laneCrownPointRight RoadwayCrownAngle,
-- sets the canter of the road bed
-- from right edge
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,
-- Reference regulatory speed limits
-- used by all segments
-- Add others as needed, in regional space
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-LaneDataAttribute}},
...
}
pathEndPointAngle DeltaAngle,
laneCrownPointCenter RoadwayCrownAngle,
laneCrownPointLeft RoadwayCrownAngle,
laneCrownPointRight RoadwayCrownAngle,
laneAngle MergeDivergeNodeAngle,
speedLimits SpeedLimitList,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-LaneDataAttribute}},
...
}
LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute
LaneList ::= SEQUENCE (SIZE(1..255)) OF GenericLane
LaneSharing ::= BIT STRING {
-- With bits as defined:
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),
-- Assert if the lane object path and width details represents
-- 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),
busVehicleTraffic (4),
taxiVehicleTraffic (5),
pedestriansTraffic (6),
cyclistVehicleTraffic (7),
trackedVehicleTraffic (8),
pedestrianTraffic (9)
} (SIZE (10))
-- All zeros would indicate 'not shared' and 'not overlapping'
overlappingLaneDescriptionProvided (0),
multipleLanesTreatedAsOneLane (1),
otherNonMotorizedTrafficTypes (2),
individualMotorizedVehicleTraffic (3),
busVehicleTraffic (4),
taxiVehicleTraffic (5),
pedestriansTraffic (6),
cyclistVehicleTraffic (7),
trackedVehicleTraffic (8),
pedestrianTraffic (9)
} (SIZE (10))
LaneTypeAttributes ::= CHOICE {
vehicle LaneAttributes-Vehicle, -- motor vehicle lanes
crosswalk LaneAttributes-Crosswalk, -- pedestrian crosswalks
bikeLane LaneAttributes-Bike, -- bike lanes
sidewalk LaneAttributes-Sidewalk, -- pedestrian sidewalk paths
median LaneAttributes-Barrier, -- medians & channelization
striping LaneAttributes-Striping, -- roadway markings
trackedVehicle LaneAttributes-TrackedVehicle, -- trains and trolleys
parking LaneAttributes-Parking, -- parking and stopping lanes
...
}
vehicle LaneAttributes-Vehicle,
crosswalk LaneAttributes-Crosswalk,
bikeLane LaneAttributes-Bike,
sidewalk LaneAttributes-Sidewalk,
median LaneAttributes-Barrier,
striping LaneAttributes-Striping,
trackedVehicle LaneAttributes-TrackedVehicle,
parking LaneAttributes-Parking,
...
}
ManeuverAssistList ::= SEQUENCE (SIZE(1..16)) OF ConnectionManeuverAssist
MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent
MovementEvent ::= SEQUENCE {
eventState MovementPhaseState,
-- Consisting of:
-- Phase state (the basic 11 states)
-- Directional, protected, or permissive state
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,
-- 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
RegionalExtension {{Reg-MovementEvent}} OPTIONAL,
...
}
eventState MovementPhaseState,
timing TimeChangeDetails OPTIONAL,
speeds AdvisorySpeedList OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-MovementEvent}} OPTIONAL,
...
}
MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent
MovementList ::= SEQUENCE (SIZE(1..255)) OF MovementState
MovementState ::= SEQUENCE {
movementName DescriptiveName OPTIONAL,
-- uniquely defines movement by name
-- human readable name for intersection
-- to be used only in debug mode
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,
-- 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,
-- 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
RegionalExtension {{Reg-MovementState}} OPTIONAL,
...
}
movementName DescriptiveName OPTIONAL,
signalGroup SignalGroupID,
state-time-speed MovementEventList,
maneuverAssistList ManeuverAssistList OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-MovementState}} OPTIONAL,
...
}
NodeAttributeSetXY ::= SEQUENCE {
localNode NodeAttributeXYList OPTIONAL,
-- Attribute states which pertain to this node point
disabled SegmentAttributeXYList OPTIONAL,
-- Attribute states which are disabled at this node point
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,
-- 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,
-- 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,
-- 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
RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL,
...
}
NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY
localNode NodeAttributeXYList OPTIONAL,
disabled SegmentAttributeXYList OPTIONAL,
enabled SegmentAttributeXYList OPTIONAL,
data LaneDataAttributeList OPTIONAL,
dWidth Offset-B10 OPTIONAL,
dElevation Offset-B10 OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL,
...
}
NodeAttributeXY ::= ENUMERATED {
-- Various values which pertain only to the current node point
-- General Items
reserved,
stopLine, -- point where a mid-path stop line exists
-- See also 'do not block' for segments
-- Path finish details
roundedCapStyleA, -- Used to control final path rounded end shape
-- with edge of curve at final point in a circle
roundedCapStyleB, -- Used to control final path rounded end shape
-- with edge of curve extending 50% of width past
-- final point in a circle
-- Topography Points (items with no concept of a distance along the path)
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
...
}
reserved,
stopLine,
roundedCapStyleA,
roundedCapStyleB,
mergePoint,
divergePoint,
downstreamStopLine,
downstreamStartNode,
closedToTraffic,
safeIsland,
curbPresentAtStepOff,
hydrantPresent,
...
}
NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY
Node-LLmD-64b ::= SEQUENCE {
lon Longitude,
lat Latitude
}
lon Longitude,
lat Latitude
}
Node-XY-20b ::= SEQUENCE {
x Offset-B10,
y Offset-B10
}
Node-XY-20b ::= SEQUENCE {
x Offset-B10,
y Offset-B10
}
Node-XY-22b ::= SEQUENCE {
x Offset-B11,
y Offset-B11
}
x Offset-B11,
y Offset-B11
}
Node-XY-24b ::= SEQUENCE {
x Offset-B12,
y Offset-B12
}
x Offset-B12,
y Offset-B12
}
Node-XY-26b ::= SEQUENCE {
x Offset-B13,
y Offset-B13
}
x Offset-B13,
y Offset-B13
}
Node-XY-28b ::= SEQUENCE {
x Offset-B14,
y Offset-B14
}
x Offset-B14,
y Offset-B14
}
Node-XY-32b ::= SEQUENCE {
x Offset-B16,
y Offset-B16
}
x Offset-B16,
y Offset-B16
}
NodeListXY ::= CHOICE {
nodes NodeSetXY,
-- a lane made up of two or more
-- XY node points and any attributes
-- defined in those nodes
computed ComputedLane,
-- a lane path computed by translating
-- the data defined by another lane
...
}
nodes NodeSetXY,
computed ComputedLane,
...
}
NodeOffsetPointXY ::= CHOICE {
-- Nodes with X,Y content
node-XY1 Node-XY-20b, -- node is within 5.11m of last node
node-XY2 Node-XY-22b, -- node is within 10.23m of last node
node-XY3 Node-XY-24b, -- node is within 20.47m of last node
node-XY4 Node-XY-26b, -- node is within 40.96m of last node
node-XY5 Node-XY-28b, -- node is within 81.91m of last node
node-XY6 Node-XY-32b, -- node is within 327.67m of last node
node-LatLon Node-LLmD-64b, -- node is a full 32b Lat/Lon range
regional RegionalExtension {{Reg-NodeOffsetPointXY}}
-- node which follows is of a
-- regional definition type
}
NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY
node-XY1 Node-XY-20b,
node-XY2 Node-XY-22b,
node-XY3 Node-XY-24b,
node-XY4 Node-XY-26b,
node-XY5 Node-XY-28b,
node-XY6 Node-XY-32b,
node-LatLon Node-LLmD-64b,
regional RegionalExtension {{Reg-NodeOffsetPointXY}}
}
NodeXY ::= SEQUENCE {
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,
-- Any optional Attributes which are needed
-- This includes changes to the current lane width and elevation
...
delta NodeOffsetPointXY,
attributes NodeAttributeSetXY OPTIONAL,
...
}
NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY
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
-- simply cross with) the current lane.
-- Such as a train path that overlays a motor vehicle
-- lane object for a roadway segment.
Position3D ::= SEQUENCE {
lat Latitude, -- in 1/10th micro degrees
long Longitude, -- in 1/10th micro degrees
elevation Elevation OPTIONAL, -- in 10 cm units
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-Position3D}} OPTIONAL,
...
PositionalAccuracy ::= SEQUENCE {
semiMajor SemiMajorAxisAccuracy,
semiMinor SemiMinorAxisAccuracy,
orientation SemiMajorAxisOrientation
}
PositionConfidenceSet ::= SEQUENCE {
pos PositionConfidence, -- for both horizontal directions
elevation ElevationConfidence
}
Position3D ::= SEQUENCE {
lat Latitude,
long Longitude,
elevation Elevation OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-Position3D}} OPTIONAL,
...
}
PreemptPriorityList ::= SEQUENCE (SIZE(1..32)) OF SignalControlZone
RegulatorySpeedLimit ::= SEQUENCE {
type SpeedLimitType,
-- The type of regulatory speed which follows
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
}
type SpeedLimitType,
speed Velocity
}
RequestorDescription ::= SEQUENCE {
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,
-- Information regarding all type and class data
-- about the requesting vehicle
position RequestorPositionVector OPTIONAL,
-- The location of the requesting vehicle
name DescriptiveName OPTIONAL,
-- A human readable name for debugging use
-- Support for Transit requests
routeName DescriptiveName OPTIONAL,
-- A string for transit operations use
transitStatus TransitVehicleStatus OPTIONAL,
-- current vehicle state (loading, etc.)
transitOccupancy TransitVehicleOccupancy OPTIONAL,
-- current vehicle occupancy
transitSchedule DeltaTime OPTIONAL,
-- current vehicle schedule adherence
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RequestorDescription}} OPTIONAL,
...
}
id VehicleID,
type RequestorType OPTIONAL,
position RequestorPositionVector OPTIONAL,
name DescriptiveName OPTIONAL,
routeName DescriptiveName OPTIONAL,
transitStatus TransitVehicleStatus OPTIONAL,
transitOccupancy TransitVehicleOccupancy OPTIONAL,
transitSchedule DeltaTime OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RequestorDescription}} OPTIONAL,
...
}
RequestorPositionVector ::= SEQUENCE {
position Position3D,
heading Angle OPTIONAL,
speed TransmissionAndSpeed OPTIONAL,
...
}
position Position3D,
heading Angle OPTIONAL,
speed TransmissionAndSpeed OPTIONAL,
...
}
RequestorType ::= SEQUENCE {
-- Defines who is requesting
role BasicVehicleRole, -- Basic role of this user at this time
subrole RequestSubRole OPTIONAL, -- A local list with role based items
-- 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,
hpmsType VehicleType OPTIONAL, -- HPMS classification types
regional RegionalExtension {{Reg-RequestorType}} OPTIONAL,
...
}
role BasicVehicleRole,
subrole RequestSubRole OPTIONAL,
request RequestImportanceLevel OPTIONAL,
iso3883 Iso3833VehicleType OPTIONAL,
hpmsType VehicleType OPTIONAL,
regional RegionalExtension {{Reg-RequestorType}} OPTIONAL,
...
}
RestrictionClassAssignment ::= SEQUENCE {
id RestrictionClassID,
-- the unique value (within an intersection or local region)
-- that is assigned to this group of users
users RestrictionUserTypeList
-- The list of user types/classes
-- to which this restriction ID applies
}
id RestrictionClassID,
users RestrictionUserTypeList
}
RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment
RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF RestrictionUserType
RestrictionUserType ::= CHOICE {
basicType RestrictionAppliesTo,
-- a set of the most commonly used types
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RestrictionUserType}},
...
}
basicType RestrictionAppliesTo,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RestrictionUserType}},
...
}
RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF RestrictionUserType
RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane
RoadSegmentReferenceID ::= SEQUENCE {
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
-- 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
}
region RoadRegulatorID OPTIONAL,
id RoadSegmentID
}
RoadSegment ::= SEQUENCE {
name DescriptiveName OPTIONAL,
id RoadSegmentReferenceID,
-- a globally unique value for the segment
revision MsgCount,
-- Required default values about the descriptions to follow
refPoint Position3D, -- the reference from which subsequent
-- data points are offset until a new
-- point is used.
laneWidth LaneWidth OPTIONAL,
-- Reference width used by all subsequent
-- lanes unless a new width is given
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,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RoadSegment}} OPTIONAL,
...
}
name DescriptiveName OPTIONAL,
id RoadSegmentReferenceID,
revision MsgCount,
refPoint Position3D,
laneWidth LaneWidth OPTIONAL,
speedLimits SpeedLimitList OPTIONAL,
roadLaneSet RoadLaneSetList,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-RoadSegment}} OPTIONAL,
...
}
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
SignalControlZone ::= SEQUENCE {
zone RegionalExtension {{Reg-SignalControlZone}},
...
}
}
SignalRequesterInfo ::= SEQUENCE {
-- These three items serve to uniquely identify the requester
-- and the specific request to all parties
id VehicleID,
request RequestID,
sequenceNumber MsgCount,
role BasicVehicleRole OPTIONAL,
typeData RequestorType OPTIONAL,
-- Used when addition data besides the role
-- is needed, at which point the role entry
-- above is not sent.
...
}
id VehicleID,
request RequestID,
sequenceNumber MsgCount,
role BasicVehicleRole OPTIONAL,
typeData RequestorType OPTIONAL,
...
}
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
SignalRequestPackage ::= SEQUENCE {
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,
second 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
RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL,
...
}
request SignalRequest,
minute MinuteOfTheYear OPTIONAL,
second DSecond OPTIONAL,
duration DSecond OPTIONAL,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL,
...
}
SignalRequest ::= SEQUENCE {
-- the unique ID of the target intersection
id IntersectionReferenceID,
-- 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
RegionalExtension {{Reg-SignalRequest}} OPTIONAL,
...
}
SignalStatus ::= SEQUENCE {
sequenceNumber MsgCount,
id IntersectionReferenceID,
sigStatus SignalStatusPackageList,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalStatus}} OPTIONAL,
...
}
SignalStatusList ::= SEQUENCE (SIZE(1..32)) OF SignalStatus
SignalStatusPackageList ::= SEQUENCE (SIZE(1..32)) OF SignalStatusPackage
SignalStatusPackage ::= SEQUENCE {
-- The party that made the initial SRM request
requester SignalRequesterInfo OPTIONAL,
-- The lanes or approaches used in the request
inboundOn IntersectionAccessPoint, -- estimated lane / approach of vehicle
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,
second DSecond OPTIONAL,
duration DSecond OPTIONAL,
-- the SRM status for this request
status PrioritizationResponseStatus,
-- Status of request, this may include rejection
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL,
...
}
requester SignalRequesterInfo OPTIONAL,
inboundOn IntersectionAccessPoint,
outboundOn IntersectionAccessPoint OPTIONAL,
minute MinuteOfTheYear OPTIONAL,
second DSecond OPTIONAL,
duration DSecond OPTIONAL,
status PrioritizationResponseStatus,
regional SEQUENCE (SIZE(1..4)) OF
RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL,
...
}
SignalStatus ::= SEQUENCE {
sequenceNumber MsgCount,
-- changed whenever the below contents have change
id IntersectionReferenceID,
-- 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,
...
SpeedandHeadingandThrottleConfidence ::= SEQUENCE {
heading HeadingConfidenceDSRC,
speed SpeedConfidenceDSRC,
throttle ThrottleConfidence
}
SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit
SpeedLimitType ::= ENUMERATED {
unknown, -- Speed limit type not available
maxSpeedInSchoolZone, -- Only sent when the limit is active
maxSpeedInSchoolZoneWhenChildrenArePresent, -- Sent at any time
maxSpeedInConstructionZone, -- Used for work zones, incident zones, etc.
-- where a reduced speed is present
vehicleMinSpeed,
vehicleMaxSpeed, -- Regulatory speed limit for general traffic
vehicleNightMaxSpeed,
truckMinSpeed,
truckMaxSpeed,
truckNightMaxSpeed,
vehiclesWithTrailersMinSpeed,
vehiclesWithTrailersMaxSpeed,
vehiclesWithTrailersNightMaxSpeed,
...
}
unknown,
maxSpeedInSchoolZone,
maxSpeedInSchoolZoneWhenChildrenArePresent,
maxSpeedInConstructionZone,
vehicleMinSpeed,
vehicleMaxSpeed,
vehicleNightMaxSpeed,
truckMinSpeed,
truckMaxSpeed,
truckNightMaxSpeed,
vehiclesWithTrailersMinSpeed,
vehiclesWithTrailersMaxSpeed,
vehiclesWithTrailersNightMaxSpeed,
...
}
TimeChangeDetails ::= SEQUENCE {
startTime TimeMark OPTIONAL,
-- When this phase 1st started
minEndTime TimeMark,
-- Expected shortest end time
maxEndTime TimeMark OPTIONAL,
-- Expected longest end time
likelyTime TimeMark OPTIONAL,
-- Best predicted value based on other data
confidence TimeIntervalConfidence OPTIONAL,
-- Applies to above time element only
nextTime TimeMark OPTIONAL
-- A rough estimate of time when
-- this phase may next occur again
-- used to support various ECO driving power
-- management needs.
}
startTime TimeMark OPTIONAL,
minEndTime TimeMark,
maxEndTime TimeMark OPTIONAL,
likelyTime TimeMark OPTIONAL,
confidence TimeIntervalConfidence OPTIONAL,
nextTime TimeMark OPTIONAL
}
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 {
transmisson TransmissionState,
speed Velocity
}
transmisson TransmissionState,
speed Velocity
}
VehicleID ::= CHOICE {
entityID TemporaryID,
stationID StationID
}
entityID TemporaryID,
stationID StationID
}
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
--
-- Start of entries from table Data_Elements...
-- This table typicaly contains data element entries.
-- data elements
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
--
AdvisorySpeedType ::= ENUMERATED {
none (0),
greenwave (1),
ecoDrive (2),
transit (3),
...
} -- Note: subject to further growth
none (0),
greenwave (1),
ecoDrive (2),
transit (3),
...
}
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),
-- a Straight movement is allowed in this lane
maneuverLeftAllowed (1),
-- a Left Turn movement is allowed in this lane
maneuverRightAllowed (2),
-- a Right Turn movement is allowed in this lane
maneuverUTurnAllowed (3),
-- a U turn movement is allowed in this lane
maneuverLeftTurnOnRedAllowed (4),
-- a Stop, and then proceed when safe movement
-- is allowed in this lane
maneuverRightTurnOnRedAllowed (5),
-- a Stop, and then proceed when safe movement
-- is allowed in this lane
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),
-- the vehicle should not stop at the stop line
-- (example: a flashing green arrow)
yieldAllwaysRequired (8),
-- the allowed movements above are not protected
-- (example: an permanent yellow condition)
goWithHalt (9),
-- after making a full stop, may proceed
caution (10),
-- proceed past stop line with caution
reserved1 (11)
-- used to align to 12 Bit Field
} (SIZE(12))
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
maneuverStraightAllowed (0),
maneuverLeftAllowed (1),
maneuverRightAllowed (2),
maneuverUTurnAllowed (3),
maneuverLeftTurnOnRedAllowed (4),
maneuverRightTurnOnRedAllowed (5),
maneuverLaneChangeAllowed (6),
maneuverNoStoppingAllowed (7),
yieldAllwaysRequired (8),
goWithHalt (9),
caution (10),
reserved1 (11)
} (SIZE(12))
Angle ::= INTEGER (0..28800)
ApproachID ::= INTEGER (0..15)
BasicVehicleRole ::= ENUMERATED {
-- Values used in the EU and in the US
basicVehicle (0), -- Light duty passenger vehicle type
publicTransport (1), -- Used in EU for Transit us
specialTransport (2), -- Used in EU (e.g. heavy load)
dangerousGoods (3), -- Used in EU for any HAZMAT
roadWork (4), -- Used in EU for State and Local DOT uses
roadRescue (5), -- Used in EU and in the US to include tow trucks.
emergency (6), -- Used in EU for Police, Fire and Ambulance units
safetyCar (7), -- Used in EU for Escort vehicles
-- Begin US unique numbering
none-unknown (8), -- added to follow current SAE style guidelines
truck (9), -- Heavy trucks with additional BSM rights and obligations
motorcycle (10), --
roadSideSource (11), -- For infrastructure generated calls such as
-- fire house, rail infrastructure, roadwork site, etc.
police (12), --
fire (13), --
ambulance (14), -- (does not include private para-transit etc.)
dot (15), -- all roadwork vehicles
transit (16), -- all transit vehicles
slowMoving (17), -- to also include oversize etc.
stopNgo (18), -- to include trash trucks, school buses and others
-- that routinely disturb the free flow of traffic
cyclist (19), --
pedestrian (20), -- also includes those with mobility limitations
nonMotorized (21), -- other, horse drawn, etc.
military (22), --
...
}
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)
-- 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
basicVehicle (0),
publicTransport (1),
specialTransport (2),
dangerousGoods (3),
roadWork (4),
roadRescue (5),
emergency (6),
safetyCar (7),
none-unknown (8),
truck (9),
motorcycle (10),
roadSideSource (11),
police (12),
fire (13),
ambulance (14),
dot (15),
transit (16),
slowMoving (17),
stopNgo (18),
cyclist (19),
pedestrian (20),
nonMotorized (21),
military (22),
...
}
DDay ::= INTEGER (0..31)
DeltaAngle ::= INTEGER (-150..150)
DeltaTime ::= INTEGER (-122 .. 121)
DescriptiveName ::= IA5String (SIZE(1..63))
DrivenLineOffsetLg ::= INTEGER (-32767..32767)
-- LSB units are 1 cm.
DHour ::= INTEGER (0..31)
DMinute ::= INTEGER (0..60)
DMonth ::= INTEGER (0..12)
DOffset ::= INTEGER (-840..840)
DrivenLineOffsetLg ::= INTEGER (-32767..32767)
DrivenLineOffsetSm ::= INTEGER (-2047..2047)
-- LSB units are 1 cm.
DrivenLineOffsetSm ::= INTEGER (-2047..2047)
DSecond ::= INTEGER (0..65535)
DSecond ::= INTEGER (0..65535) -- units of milliseconds
DSRCmsgID ::= INTEGER (0..32767)
mapData DSRCmsgID ::= 18 -- MAP, intersections
signalPhaseAndTimingMessage DSRCmsgID ::= 19 -- SPAT
signalRequestMessage DSRCmsgID ::= 29 -- SRM
signalStatusMessage DSRCmsgID ::= 30 -- SSM
mapData DSRCmsgID ::= 18
rtcmCorrections DSRCmsgID ::= 28
signalPhaseAndTimingMessage DSRCmsgID ::= 19
signalRequestMessage DSRCmsgID ::= 29
signalStatusMessage DSRCmsgID ::= 30
DYear ::= INTEGER (0..4095)
Elevation ::= INTEGER (-4096..61439)
ElevationConfidence ::= ENUMERATED {
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)
}
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
HeadingDSRC ::= INTEGER (0..28800)
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 {
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),
-- And all counting/timing has stopped.
failureFlash (2),
-- Above to be used for any detected hardware failures,
-- e.g. conflict monitor as well as for police flash
preemptIsActive (3),
signalPriorityIsActive (4),
-- Additional states
fixedTimeOperation (5),
-- Schedule of signals is based on time only
-- (i.e. the state can be calculated)
trafficDependentOperation (6),
-- Operation is based on different levels of traffic parameters
-- (requests, duration of gaps or more complex parameters)
standbyOperation (7),
-- Controller: partially switched off or partially amber flashing
failureMode (8),
-- Controller has a problem or failure in operation
off (9),
-- Controller is switched off
-- Related to MAP and SPAT bindings
recentMAPmessageUpdate (10),
-- Map revision with content changes
recentChangeInMAPassignedLanesIDsUsed (11),
-- Change in MAP's assigned lanes used (lane changes)
-- Changes in the active lane list description
noValidMAPisAvailableAtThisTime (12),
-- MAP (and various lanes indexes) not available
noValidSPATisAvailableAtThisTime (13)
-- SPAT system is not working at this time
-- Bits 14,15 reserved at this time and shall be zero
} (SIZE(16))
manualControlIsEnabled (0),
stopTimeIsActivated (1),
failureFlash (2),
preemptIsActive (3),
signalPriorityIsActive (4),
fixedTimeOperation (5),
trafficDependentOperation (6),
standbyOperation (7),
failureMode (8),
off (9),
recentMAPmessageUpdate (10),
recentChangeInMAPassignedLanesIDsUsed (11),
noValidMAPisAvailableAtThisTime (12),
noValidSPATisAvailableAtThisTime (13)
} (SIZE(16))
LaneAttributes-Barrier ::= BIT STRING {
-- With bits as defined:
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),
whiteLineHashing (2),
stripedLines (3),
doubleStripedLines (4),
trafficCones (5),
constructionBarrier (6),
trafficChannels (7),
lowCurbs (8),
highCurbs (9)
-- Bits 10~15 reserved and set to zero
} (SIZE (16))
median-RevocableLane (0),
median (1),
whiteLineHashing (2),
stripedLines (3),
doubleStripedLines (4),
trafficCones (5),
constructionBarrier (6),
trafficChannels (7),
lowCurbs (8),
highCurbs (9)
} (SIZE (16))
LaneAttributes-Bike ::= BIT STRING {
-- With bits as defined:
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),
-- The path allows pedestrian traffic,
-- if not set, this mode is prohibited
isBikeFlyOverLane (2),
-- path of lane is not at grade
fixedCycleTime (3),
-- the phases use preset times
-- i.e. there is not a 'push to cross' button
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),
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))
LaneAttributes-Crosswalk ::= BIT STRING {
-- With bits as defined:
-- MUTCD provides no suitable "types" to use here
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),
-- The path allows bicycle traffic,
-- if not set, this mode is prohibited
isXwalkFlyOverLane (2),
-- path of lane is not at grade
fixedCycleTime (3),
-- ped walk phases use preset times
-- i.e. there is not a 'push to cross' button
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),
-- Has a demand input
audioSupport (6),
-- audio crossing cues present
rfSignalRequestPresent (7),
-- Supports RF push to walk technologies
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))
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),
-- this lane may be activated or not based
-- on the current SPAT message contents
-- if not asserted, the lane is ALWAYS present
parallelParkingInUse (1),
headInParkingInUse (2),
doNotParkZone (3),
-- used to denote fire hydrants as well as
-- short disruptions in a parking zone
parkingForBusUse (4),
parkingForTaxiUse (5),
noPublicParkingUse (6)
-- private parking, as in front of
-- private property
-- Bits 7~15 reserved and set to zero
} (SIZE (16))
LaneAttributes-Sidewalk ::= BIT STRING {
-- With bits as defined:
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),
-- The path allows bicycle traffic,
-- if not set, this mode is prohibited
isSidewalkFlyOverLane (2),
-- path of lane is not at grade
walkBikes (3)
-- bike traffic must dismount and walk
-- Bits 4~15 reserved and set to zero
} (SIZE (16))
LaneAttributes-Striping ::= BIT STRING {
-- With bits as defined:
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),
stripeDrawOnRight (2),
-- which side of lane to mark
stripeToConnectingLanesLeft (3),
stripeToConnectingLanesRight (4),
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))
LaneAttributes-TrackedVehicle ::= BIT STRING {
-- With bits as defined:
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-lightRailRoadTrack (2),
spec-heavyRailRoadTrack (3),
spec-otherRailType (4)
-- Bits 5~15 reserved and set to zero
} (SIZE (16))
LaneAttributes-Vehicle ::= BIT STRING {
-- With bits as defined:
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),
-- path of lane is not at grade
hovLaneUseOnly (2),
restrictedToBusUse (3),
restrictedToTaxiUse (4),
restrictedFromPublicUse (5),
hasIRbeaconCoverage (6),
permissionOnRequest (7) -- e.g. to inform about a lane for e-cars
} (SIZE (8,...))
bikeRevocableLane (0),
pedestrianUseAllowed (1),
isBikeFlyOverLane (2),
fixedCycleTime (3),
biDirectionalCycleTimes (4),
isolatedByBarrier (5),
unsignalizedSegmentsPresent (6)
} (SIZE (16))
LaneAttributes-Crosswalk ::= BIT STRING {
crosswalkRevocableLane (0),
bicyleUseAllowed (1),
isXwalkFlyOverLane (2),
fixedCycleTime (3),
biDirectionalCycleTimes (4),
hasPushToWalkButton (5),
audioSupport (6),
rfSignalRequestPresent (7),
unsignalizedSegmentsPresent (8)
} (SIZE (16))
LaneAttributes-Parking ::= BIT STRING {
parkingRevocableLane (0),
parallelParkingInUse (1),
headInParkingInUse (2),
doNotParkZone (3),
parkingForBusUse (4),
parkingForTaxiUse (5),
noPublicParkingUse (6)
} (SIZE (16))
LaneAttributes-Sidewalk ::= BIT STRING {
sidewalk-RevocableLane (0),
bicyleUseAllowed (1),
isSidewalkFlyOverLane (2),
walkBikes (3)
} (SIZE (16))
LaneAttributes-Striping ::= BIT STRING {
stripeToConnectingLanesRevocableLane (0),
stripeDrawOnLeft (1),
stripeDrawOnRight (2),
stripeToConnectingLanesLeft (3),
stripeToConnectingLanesRight (4),
stripeToConnectingLanesAhead (5)
} (SIZE (16))
LaneAttributes-TrackedVehicle ::= BIT STRING {
spec-RevocableLane (0),
spec-commuterRailRoadTrack (1),
spec-lightRailRoadTrack (2),
spec-heavyRailRoadTrack (3),
spec-otherRailType (4)
} (SIZE (16))
LaneAttributes-Vehicle ::= BIT STRING {
isVehicleRevocableLane (0),
isVehicleFlyOverLane (1),
hovLaneUseOnly (2),
restrictedToBusUse (3),
restrictedToTaxiUse (4),
restrictedFromPublicUse (5),
hasIRbeaconCoverage (6),
permissionOnRequest (7)
} (SIZE (8,...))
LaneConnectionID ::= INTEGER (0..255)
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),
-- travel from rear of path to front
-- is allowed
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))
ingressPath (0),
egressPath (1)
} (SIZE (2))
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)
LayerType ::= ENUMERATED {
none,
mixedContent, -- two or more of the below types
generalMapData,
intersectionData,
curveData,
roadwaySectionData,
parkingAreaData,
sharedLaneData,
...
}
LaneWidth ::= INTEGER (0..32767) -- units of 1 cm
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)
-- the value 527040 shall be used for invalid
none,
mixedContent,
generalMapData,
intersectionData,
curveData,
roadwaySectionData,
parkingAreaData,
sharedLaneData,
...
}
LaneWidth ::= INTEGER (0..32767)
MergeDivergeNodeAngle ::= INTEGER (-180..180)
MinuteOfTheYear ::= INTEGER (0..527040)
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),
-- This state is used for unknown or error
dark (1),
-- The signal head is dark (unlit)
-- Reds
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),
-- 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),
-- 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),
-- 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),
-- 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),
-- 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),
-- 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)
-- 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
unavailable (0),
dark (1),
stop-Then-Proceed (2),
stop-And-Remain (3),
pre-Movement (4),
permissive-Movement-Allowed (5),
protected-Movement-Allowed (6),
permissive-clearance (7),
protected-clearance (8),
caution-Conflicting-Traffic (9)
}
MsgCount ::= INTEGER (0..127)
Offset-B09 ::= INTEGER (-256..255)
Offset-B10 ::= INTEGER (-512..511)
-- a range of +- 5.11 meters
Offset-B11 ::= INTEGER (-1024..1023)
-- a range of +- 10.23 meters
Offset-B12 ::= INTEGER (-2048..2047)
-- a range of +- 20.47 meters
Offset-B13 ::= INTEGER (-4096..4095)
-- a range of +- 40.95 meters
Offset-B14 ::= INTEGER (-8192..8191)
-- a range of +- 81.91 meters
Offset-B16 ::= INTEGER (-32768..32767)
-- a range of +- 327.68 meters
PedestrianBicycleDetect ::= BOOLEAN
-- true if ANY Pedestrians or Bicyclists are
-- detected crossing the target lane or lanes
PedestrianBicycleDetect ::= BOOLEAN
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 {
unknown (0),
-- Unknown state
requested (1),
-- This prioritization request was detected
-- by the traffic controller
processing (2),
-- Checking request
-- (request is in queue, other requests are prior)
watchOtherTraffic (3),
-- Cannot give full permission,
-- therefore watch for other traffic
-- Note that other requests may be present
granted (4),
-- Intervention was successful
-- and now prioritization is active
rejected (5),
-- The prioritization or preemption request was
-- rejected by the traffic controller
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),
-- Prior conditions have resulted in a reservice
-- locked event: the controller requires the
-- passage of time before another similar request
-- will be accepted
...
unknown (0),
requested (1),
processing (2),
watchOtherTraffic (3),
granted (4),
rejected (5),
maxPresence (6),
reserviceLocked (7),
...
}
PriorityRequestType ::= ENUMERATED {
priorityRequestTypeReserved (0),
priorityRequest (1),
priorityRequestUpdate (2),
priorityCancellation (3),
...
}
priorityRequestTypeReserved (0),
priorityRequest (1),
priorityRequestUpdate (2),
priorityCancellation (3),
...
}
RegionId ::= INTEGER (0..255)
noRegion RegionId ::= 0 -- Use default supplied stubs
addGrpA RegionId ::= 1 -- USA
addGrpB RegionId ::= 2 -- Japan
addGrpC RegionId ::= 3 -- EU
-- NOTE: new registered regional IDs will be added here
-- The values 128 and above are for local region use
noRegion RegionId ::= 0
addGrpA RegionId ::= 1
addGrpB RegionId ::= 2
addGrpC RegionId ::= 3
RequestID ::= INTEGER (0..255)
RequestImportanceLevel ::= ENUMERATED {
requestImportanceLevelUnKnown (0),
requestImportanceLevel1 (1), -- The least important request
requestImportanceLevel2 (2), -- The values here shall be assigned
requestImportanceLevel3 (3), -- Meanings based on regional needs
requestImportanceLevel4 (4), -- for each of the basic roles which
requestImportanceLevel5 (5), -- are defined elsewhere
requestImportanceLevel6 (6),
requestImportanceLevel7 (7),
requestImportanceLevel8 (8),
requestImportanceLevel9 (9),
requestImportanceLevel10 (10),
requestImportanceLevel11 (11),
requestImportanceLevel12 (12),
requestImportanceLevel13 (13),
requestImportanceLevel14 (14), -- The most important request
requestImportanceReserved (15) -- Reserved for future use
}
requestImportanceLevelUnKnown (0),
requestImportanceLevel1 (1),
requestImportanceLevel2 (2),
requestImportanceLevel3 (3),
requestImportanceLevel4 (4),
requestImportanceLevel5 (5),
requestImportanceLevel6 (6),
requestImportanceLevel7 (7),
requestImportanceLevel8 (8),
requestImportanceLevel9 (9),
requestImportanceLevel10 (10),
requestImportanceLevel11 (11),
requestImportanceLevel12 (12),
requestImportanceLevel13 (13),
requestImportanceLevel14 (14),
requestImportanceReserved (15)
}
RequestSubRole ::= ENUMERATED {
requestSubRoleUnKnown (0),
requestSubRole1 (1), -- The first type of sub role
requestSubRole2 (2), -- The values here shall be assigned
requestSubRole3 (3), -- Meanings based on regional needs
requestSubRole4 (4), -- to refine and expand the basic
requestSubRole5 (5), -- roles which are defined elsewhere
requestSubRole6 (6),
requestSubRole7 (7),
requestSubRole8 (8),
requestSubRole9 (9),
requestSubRole10 (10),
requestSubRole11 (11),
requestSubRole12 (12),
requestSubRole13 (13),
requestSubRole14 (14), -- The last type of sub role
requestSubRoleReserved (15) -- Reserved for future use
}
requestSubRoleUnKnown (0),
requestSubRole1 (1),
requestSubRole2 (2),
requestSubRole3 (3),
requestSubRole4 (4),
requestSubRole5 (5),
requestSubRole6 (6),
requestSubRole7 (7),
requestSubRole8 (8),
requestSubRole9 (9),
requestSubRole10 (10),
requestSubRole11 (11),
requestSubRole12 (12),
requestSubRole13 (13),
requestSubRole14 (14),
requestSubRoleReserved (15)
}
RestrictionAppliesTo ::= ENUMERATED {
none, -- applies to nothing
equippedTransit, -- buses etc.
equippedTaxis,
equippedOther, -- other vehicle types with
-- necessary signal phase state
-- reception equipment
emissionCompliant, -- regional variants with more
-- definitive items also exist
equippedBicycle,
weightCompliant,
heightCompliant,
-- Items dealing with traveler needs serviced by the infrastructure
-- These end users (which are not vehicles) are presumed to be suitably equipped
pedestrians,
slowMovingPersons,
wheelchairUsers,
visualDisabilities,
audioDisabilities, -- hearing
otherUnknownDisabilities,
...
}
none,
equippedTransit,
equippedTaxis,
equippedOther,
emissionCompliant,
equippedBicycle,
weightCompliant,
heightCompliant,
pedestrians,
slowMovingPersons,
wheelchairUsers,
visualDisabilities,
audioDisabilities,
otherUnknownDisabilities,
...
}
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)
-- The value zero shall be used for testing only
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)
-- 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
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
RoadwayCrownAngle ::= INTEGER (-128..127)
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)
SegmentAttributeXY ::= ENUMERATED {
-- Various values which can be Enabled and Disabled for a lane segment
-- General Items
reserved ,
doNotBlock , -- segment where a vehicle
-- may not come to a stop
whiteLine , -- segment where lane crossing not allowed
-- such as the final few meters of a lane
-- Porous Lane states, merging, turn outs, parking etc.
mergingLaneLeft , -- indicates porous lanes
mergingLaneRight ,
curbOnLeft , -- indicates presence of curbs
curbOnRight ,
loadingzoneOnLeft , -- loading or drop off zones
loadingzoneOnRight ,
turnOutPointOnLeft , -- opening to adjacent street/alley/road
turnOutPointOnRight ,
adjacentParkingOnLeft , -- side of road parking
adjacentParkingOnRight ,
-- Bike Lane Needs
adjacentBikeLaneOnLeft , -- presence of marked bike lanes
adjacentBikeLaneOnRight ,
sharedBikeLane , -- right of way is shared with bikes
-- who may occupy entire lane width
bikeBoxInFront ,
-- Transit Needs
transitStopOnLeft , -- any form of bus/transit loading
-- with pull in-out access to lane on left
transitStopOnRight , -- any form of bus/transit loading
-- with pull in-out access to lane on right
transitStopInLane , -- any form of bus/transit loading
-- in mid path of the lane
sharedWithTrackedVehicle , -- lane is shared with train or trolley
-- not used for crossing tracks
-- Pedestrian Support Attributes
safeIsland , -- begin/end a safety island in path
lowCurbsPresent , -- for ADA support
rumbleStripPresent , -- for ADA support
audibleSignalingPresent , -- for ADA support
adaptiveTimingPresent , -- for ADA support
rfSignalRequestPresent , -- Supports RF push to walk technologies
partialCurbIntrusion , -- path is blocked by a median or curb
-- but at least 1 meter remains open for use
-- 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
...
}
reserved ,
doNotBlock ,
whiteLine ,
mergingLaneLeft ,
mergingLaneRight ,
curbOnLeft ,
curbOnRight ,
loadingzoneOnLeft ,
loadingzoneOnRight ,
turnOutPointOnLeft ,
turnOutPointOnRight ,
adjacentParkingOnLeft ,
adjacentParkingOnRight ,
adjacentBikeLaneOnLeft ,
adjacentBikeLaneOnRight ,
sharedBikeLane ,
bikeBoxInFront ,
transitStopOnLeft ,
transitStopOnRight ,
transitStopInLane ,
sharedWithTrackedVehicle ,
safeIsland ,
lowCurbsPresent ,
rumbleStripPresent ,
audibleSignalingPresent ,
adaptiveTimingPresent ,
rfSignalRequestPresent ,
partialCurbIntrusion ,
taperToLeft ,
taperToRight ,
taperToCenterLine ,
parallelParking ,
headInParking ,
freeParking ,
timeRestrictionsOnParking ,
costToPark ,
midBlockCurbPresent ,
unEvenPavementPresent ,
...
}
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
SemiMajorAxisAccuracy ::= INTEGER (0..255)
SemiMajorAxisOrientation ::= INTEGER (0..65535)
SemiMinorAxisAccuracy ::= INTEGER (0..255)
SpeedAdvice ::= INTEGER (0..500)
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))
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%
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)
TransitVehicleOccupancy ::= ENUMERATED {
occupancyUnknown (0),
occupancyEmpty (1),
occupancyVeryLow (2),
occupancyLow (3),
occupancyMed (4),
occupancyHigh (5),
occupancyNearlyFull (6),
occupancyFull (7)
}
occupancyUnknown (0),
occupancyEmpty (1),
occupancyVeryLow (2),
occupancyLow (3),
occupancyMed (4),
occupancyHigh (5),
occupancyNearlyFull (6),
occupancyFull (7)
}
TransitVehicleStatus ::= BIT STRING {
loading (0), -- parking and unable to move at this time
anADAuse (1), -- an ADA access is in progress (wheelchairs, kneeling, etc.)
aBikeLoad (2), -- loading of a bicycle is in progress
doorOpen (3), -- a vehicle door is open for passenger access
charging (4), -- a vehicle is connected to charging point
atStopLine (5) -- a vehicle is at the stop line for the lane it is in
} (SIZE(8))
loading (0),
anADAuse (1),
aBikeLoad (2),
doorOpen (3),
charging (4),
atStopLine (5)
} (SIZE(8))
TransmissionState ::= ENUMERATED {
neutral (0), -- Neutral
park (1), -- Park
forwardGears (2), -- Forward gears
reverseGears (3), -- Reverse gears
reserved1 (4),
reserved2 (5),
reserved3 (6),
unavailable (7) -- not-equipped or unavailable value,
-- Any related speed is relative to the vehicle reference frame used
}
neutral (0),
park (1),
forwardGears (2),
reverseGears (3),
reserved1 (4),
reserved2 (5),
reserved3 (6),
unavailable (7)
}
VehicleHeight ::= INTEGER (0..127)
VehicleType ::= ENUMERATED {
none (0), -- Not Equipped, Not known or unavailable
unknown (1), -- Does not fit any other category
special (2), -- Special use
moto (3), -- Motorcycle
car (4), -- Passenger car
carOther (5), -- Four tire single units
bus (6), -- Buses
axleCnt2 (7), -- Two axle, six tire single units
axleCnt3 (8), -- Three axle, single units
axleCnt4 (9), -- Four or more axle, single unit
axleCnt4Trailer (10), -- Four or less axle, single trailer
axleCnt5Trailer (11), -- Five or less axle, single trailer
axleCnt6Trailer (12), -- Six or more axle, single trailer
axleCnt5MultiTrailer (13), -- Five or less axle, multi-trailer
axleCnt6MultiTrailer (14), -- Six axle, multi-trailer
axleCnt7MultiTrailer (15), -- Seven or more axle, multi-trailer
...
}
Velocity ::= INTEGER (0..8191) -- Units of 0.02 m/s
-- The value 8191 indicates that
-- velocity is unavailable
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
none (0),
unknown (1),
special (2),
moto (3),
car (4),
carOther (5),
bus (6),
axleCnt2 (7),
axleCnt3 (8),
axleCnt4 (9),
axleCnt4Trailer (10),
axleCnt5Trailer (11),
axleCnt6Trailer (12),
axleCnt5MultiTrailer (13),
axleCnt6MultiTrailer (14),
axleCnt7MultiTrailer (15),
...
}
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)
Velocity ::= INTEGER (0..8191)
END
WaitOnStopline ::= BOOLEAN
ZoneLength ::= INTEGER (0..10000)
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
--
--
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
REGION { iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1) }
DEFINITIONS AUTOMATIC TAGS::= BEGIN
REGION {
iso (1) standard (0) signalizedIntersection (19091) profilec (2) region (1)
version2 (2)
}
DEFINITIONS AUTOMATIC TAGS::= BEGIN
IMPORTS
addGrpC, REG-EXT-ID-AND-TYPE FROM DSRC
ConnectionManeuverAssist-addGrpC, ConnectionTrajectory-addGrpC, IntersectionState-addGrpC, Control-addGrpC, Position3D-addGrpC, RestrictionUserType-addGrpC,
SignalStatusPackage-addGrpC, MapData-addGrpC FROM AddGrpC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1)};
Reg-AdvisorySpeed REG-EXT-ID-AND-TYPE ::= { ... }
addGrpC, REG-EXT-ID-AND-TYPE
FROM DSRC {
iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)
}
Reg-ComputedLane REG-EXT-ID-AND-TYPE ::= { ... }
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-ConnectionManeuverAssist REG-EXT-ID-AND-TYPE ::= {
{ConnectionManeuverAssist-addGrpC IDENTIFIED BY addGrpC} ,
...
}
Reg-AdvisorySpeed REG-EXT-ID-AND-TYPE ::= { ... }
Reg-GenericLane REG-EXT-ID-AND-TYPE ::= {
{ConnectionTrajectory-addGrpC IDENTIFIED BY addGrpC} ,
...
}
Reg-ComputedLane REG-EXT-ID-AND-TYPE ::= { ... }
Reg-IntersectionGeometry REG-EXT-ID-AND-TYPE ::= { ... }
Reg-ConnectionManeuverAssist REG-EXT-ID-AND-TYPE ::= {
{ConnectionManeuverAssist-addGrpC IDENTIFIED BY addGrpC},
...
}
Reg-IntersectionState REG-EXT-ID-AND-TYPE ::= {
{IntersectionState-addGrpC IDENTIFIED BY addGrpC} ,
...
Reg-GenericLane REG-EXT-ID-AND-TYPE ::= {
{ConnectionTrajectory-addGrpC IDENTIFIED BY addGrpC} ,
...
}
Reg-LaneAttributes REG-EXT-ID-AND-TYPE ::= { ... }
Reg-IntersectionGeometry REG-EXT-ID-AND-TYPE ::= { ... }
Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... }
Reg-IntersectionState REG-EXT-ID-AND-TYPE ::= {
{IntersectionState-addGrpC IDENTIFIED BY addGrpC},
...
}
Reg-MapData REG-EXT-ID-AND-TYPE ::= {
{MapData-addGrpC IDENTIFIED BY addGrpC},
...
Reg-LaneAttributes REG-EXT-ID-AND-TYPE ::= {
{LaneAttributes-addGrpC IDENTIFIED BY addGrpC} ,
...
}
Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... }
Reg-MovementEvent REG-EXT-ID-AND-TYPE ::= { ... }
Reg-MapData REG-EXT-ID-AND-TYPE ::= {
{MapData-addGrpC IDENTIFIED BY addGrpC},
...
}
Reg-MovementState 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-NodeAttributeSetLL REG-EXT-ID-AND-TYPE ::= { ... }
-- Reg-NodeAttributeSetLL REG-EXT-ID-AND-TYPE ::= { ... }
Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= {
{Control-addGrpC IDENTIFIED BY addGrpC} ,
...
Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= {
{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 ::= { ... }
Reg-Position3D REG-EXT-ID-AND-TYPE ::= {
{Position3D-addGrpC IDENTIFIED BY addGrpC} ,
...
Reg-Position3D REG-EXT-ID-AND-TYPE ::= {
{Position3D-addGrpC IDENTIFIED BY addGrpC} ,
...
}
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 ::= { ... }
Reg-RestrictionUserType REG-EXT-ID-AND-TYPE ::= {
{RestrictionUserType-addGrpC IDENTIFIED BY addGrpC} ,
...
Reg-RestrictionUserType REG-EXT-ID-AND-TYPE ::= {
{RestrictionUserType-addGrpC IDENTIFIED BY addGrpC} ,
...
}
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 ::= { ... }
Reg-SignalRequestMessage REG-EXT-ID-AND-TYPE ::= { ... }
Reg-SignalRequestMessage REG-EXT-ID-AND-TYPE ::= { ... }
Reg-SignalRequestPackage REG-EXT-ID-AND-TYPE ::= { ... }
Reg-SignalRequestPackage REG-EXT-ID-AND-TYPE ::= { ... }
Reg-SignalStatus REG-EXT-ID-AND-TYPE ::= { ... }
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 ::= {
{ SignalStatusPackage-addGrpC IDENTIFIED BY addGrpC} ,
...
Reg-SignalStatusPackage REG-EXT-ID-AND-TYPE ::= {
{ SignalStatusPackage-addGrpC IDENTIFIED BY addGrpC },
...
}
Reg-SPAT REG-EXT-ID-AND-TYPE ::= { ... }
Reg-SPAT REG-EXT-ID-AND-TYPE ::= { ... }
END
......@@ -22,10 +22,15 @@ AxleWeightLimits, DieselEmissionValues, ExhaustEmissionValues, EngineCharacteris
FROM EfcDsrcApplication {iso(1) standard(0) 14906 application(0) version5(5)}
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
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:
......
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ISO TS 24534-3:2015
--
-- This ASN.1 was generateds: 30.08.2016
--
-- This document contains only the data element needed for the encoding of an IVI message
-- as defined in ISO TS 19321(2015)
--
-- Published version location:
-- http://standards.iso.org/iso/24534/-3/
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ISO 24534-3:2015
-- Version 29.4.2015
ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version1 (1)}
DEFINITIONS AUTOMATIC TAGS ::= BEGIN
IMPORTS;
-- Electronic Registration Identification (ERI)- Vehicle Data
EuVehicleCategoryCode ::= CHOICE {
euVehicleCategoryL EuVehicleCategoryL, -- conforms to EU 2002/24 and UNECE 1999
euVehicleCategoryM EuVehicleCategoryM, -- conforms to EU 2001/116 and UNECE 1999
euVehicleCategoryN EuVehicleCategoryN, -- conforms to EU 2001/116 and UNECE 1999
euVehicleCategoryO EuVehicleCategoryO, -- conforms to EU 2001/116 and UNECE 1999
euVehilcleCategoryT NULL, -- conforms to UNECE 1999
euVehilcleCategoryG NULL -- conforms to EU 2001/116 and UNECE 1999
}
EuVehicleCategoryL ::= ENUMERATED { l1, l2, l3, l4, l5, l6, l7 }
EuVehicleCategoryM ::= ENUMERATED {m1, m2, m3}
EuVehicleCategoryN ::= ENUMERATED {n1, n2, n3}
EuVehicleCategoryO ::= ENUMERATED {o1, o2, o3, o4}
Iso3833VehicleType ::= INTEGER {
passengerCar (0), -- term No 3.1.1
saloon (1), -- term No 3.1.1.1 (sedan)
convertibleSaloon (2), -- term No 3.1.1.2
pullmanSaloon (3), -- term No 3.1.1.3
stationWagon (4), -- term No 3.1.1.4
truckStationWagon (5), -- term No 3.1.1.4.1
coupe (6), -- term No 3.1.1.5 (coupé)
convertible (7), -- term No 3.1.1.6 (open tourer, roadstar, spider)
multipurposePassengerCar (8), -- term No 3.1.1.7
forwardControlPassengerCar (9), -- term No 3.1.1.8
specialPassengerCar (10), -- term No 3.1.1.9
bus (11), -- term No 3.1.2
minibus (12), -- term No 3.1.2.1
urbanBus (13), -- term No 3.1.2.2
interurbanCoach (14), -- term No 3.1.2.3
longDistanceCoach (15), -- term No 3.1.2.4
articulatedBus (16), -- term No 3.1.2.5
trolleyBus (17), -- term No 3.1.2.6
specialBus (18), -- term No 3.1.2.7
commercialVehicle (19), -- term No 3.1.3
specialCommercialVehicle (20), -- term No 3.1.3.1
specialVehicle (21), -- term No 3.1.4
trailingTowingVehicle (22), -- term No 3.1.5 (draw-bar tractor)
semiTrailerTowingVehicle (23), -- term No 3.1.6 (fifth wheel tractor)
trailer (24), -- term No 3.2.1
busTrailer (25), -- term No 3.2.1.1
generalPurposeTrailer (26), -- term No 3.2.1.2
caravan (27), -- term No 3.2.1.3
specialTrailer (28), -- term No 3.2.1.4
semiTrailer (29), -- term No 3.2.2
busSemiTrailer (30), -- term No 3.2.2.1
generalPurposeSemiTrailer (31), -- term No 3.2.2.2
specialSemiTrailer (32), -- term No 3.2.2.3
roadTrain (33), -- term No 3.3.1
passengerRoadTrain (34), -- term No 3.3.2
articulatedRoadTrain (35), -- term No 3.3.3
doubleRoadTrain (36), -- term No 3.3.4
compositeRoadTrain (37), -- term No 3.3.5
specialRoadTrain (38), -- term No 3.3.6
moped (39), -- term No 3.4
motorCycle (40) -- term No 3.5
} (0..255)
END
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ISO TS 24534-3:2015
--
-- This ASN.1 was generateds: 30.08.2016
--
-- This document contains only the data element needed for the encoding of an IVI message
-- as defined in ISO TS 19321(2015)
--
-- Published version location:
-- http://standards.iso.org/iso/24534/-3/
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ISO 24534-3:2015
-- Version 29.4.2015
ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version1 (1)}
DEFINITIONS AUTOMATIC TAGS ::= BEGIN
IMPORTS;
-- Electronic Registration Identification (ERI)- Vehicle Data
EuVehicleCategoryCode ::= CHOICE {
euVehicleCategoryL EuVehicleCategoryL, -- conforms to EU 2002/24 and UNECE 1999
euVehicleCategoryM EuVehicleCategoryM, -- conforms to EU 2001/116 and UNECE 1999
euVehicleCategoryN EuVehicleCategoryN, -- conforms to EU 2001/116 and UNECE 1999
euVehicleCategoryO EuVehicleCategoryO, -- conforms to EU 2001/116 and UNECE 1999
euVehilcleCategoryT NULL, -- conforms to UNECE 1999
euVehilcleCategoryG NULL -- conforms to EU 2001/116 and UNECE 1999
}
EuVehicleCategoryL ::= ENUMERATED { l1, l2, l3, l4, l5, l6, l7 }
EuVehicleCategoryM ::= ENUMERATED {m1, m2, m3}
EuVehicleCategoryN ::= ENUMERATED {n1, n2, n3}
EuVehicleCategoryO ::= ENUMERATED {o1, o2, o3, o4}
Iso3833VehicleType ::= INTEGER {
passengerCar (0), -- term No 3.1.1
saloon (1), -- term No 3.1.1.1 (sedan)
convertibleSaloon (2), -- term No 3.1.1.2
pullmanSaloon (3), -- term No 3.1.1.3
stationWagon (4), -- term No 3.1.1.4
truckStationWagon (5), -- term No 3.1.1.4.1
coupe (6), -- term No 3.1.1.5 (coupé)
convertible (7), -- term No 3.1.1.6 (open tourer, roadstar, spider)
multipurposePassengerCar (8), -- term No 3.1.1.7
forwardControlPassengerCar (9), -- term No 3.1.1.8
specialPassengerCar (10), -- term No 3.1.1.9
bus (11), -- term No 3.1.2
minibus (12), -- term No 3.1.2.1
urbanBus (13), -- term No 3.1.2.2
interurbanCoach (14), -- term No 3.1.2.3
longDistanceCoach (15), -- term No 3.1.2.4
articulatedBus (16), -- term No 3.1.2.5
trolleyBus (17), -- term No 3.1.2.6
specialBus (18), -- term No 3.1.2.7
commercialVehicle (19), -- term No 3.1.3
specialCommercialVehicle (20), -- term No 3.1.3.1
specialVehicle (21), -- term No 3.1.4
trailingTowingVehicle (22), -- term No 3.1.5 (draw-bar tractor)
semiTrailerTowingVehicle (23), -- term No 3.1.6 (fifth wheel tractor)
trailer (24), -- term No 3.2.1
busTrailer (25), -- term No 3.2.1.1
generalPurposeTrailer (26), -- term No 3.2.1.2
caravan (27), -- term No 3.2.1.3
specialTrailer (28), -- term No 3.2.1.4
semiTrailer (29), -- term No 3.2.2
busSemiTrailer (30), -- term No 3.2.2.1
generalPurposeSemiTrailer (31), -- term No 3.2.2.2
specialSemiTrailer (32), -- term No 3.2.2.3
roadTrain (33), -- term No 3.3.1
passengerRoadTrain (34), -- term No 3.3.2
articulatedRoadTrain (35), -- term No 3.3.3
doubleRoadTrain (36), -- term No 3.3.4
compositeRoadTrain (37), -- term No 3.3.5
specialRoadTrain (38), -- term No 3.3.6
moped (39), -- term No 3.4
motorCycle (40) -- term No 3.5
} (0..255)
END
......@@ -656,7 +656,7 @@ module LibItsMapemSpatem_Templates {
template (omit) AdvisorySpeed m_advisorySpeed(
in template (value) AdvisorySpeedType p_type,
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) RestrictionClassID p_class := omit
) := {
......
......@@ -20,6 +20,7 @@ module LibItsSremSsem_Templates {
import from SREM_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_REGION_noCircular language "ASN.1:1997" all;
// LibItsCommon
import from LibItsCommon_TypesAndValues all;
......