Skip to content
DSRC.asn 78.5 KiB
Newer Older
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- 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
-- 
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

filatov's avatar
filatov committed
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
-- 
-- module: DSRC
-- 
-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
filatov's avatar
filatov committed
DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } 

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) }
filatov's avatar
filatov committed
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)}

--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)}
;

filatov's avatar
filatov committed

-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
-- 
-- Start of entries from table Messages...
-- This table typicaly contains message entries.
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
-- 

MessageFrame ::= SEQUENCE {
   messageId   MESSAGE-ID-AND-TYPE.&id({MessageTypes}),
   value       MESSAGE-ID-AND-TYPE.&Type({MessageTypes}{@.messageId}),
   ...
   }

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
   }


/*FIXME RGY moved to IS-DSRC-REGION-noCircular to cut circular import loop
filatov's avatar
filatov committed
-- Regional extensions support
REG-EXT-ID-AND-TYPE ::= CLASS {
   &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} )
   }
filatov's avatar
filatov committed
 
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,
   ...
   }

SignalRequestMessage ::= SEQUENCE {    
   timeStamp       MinuteOfTheYear  OPTIONAL,
   second          DSecond,
   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,
   ...
}

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.
-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
-- 

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,
   ...
   }

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
                         },  
Loading full blame...