1-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2-- ISO TS 19091
3--
4-- This ASN.1 was generated: 30.08.2016
5--
6-- This document contains the data element needed for the encoding the SPAT, MapData, SignalRequestMessage, SignalStatusMessage message
7-- as defined in ISO TS 19091 and SAEJ2735
8--
9-- It includes the addendunm extensions for Addgrp-C (e.g. Europe)
10--
11-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12
13
14-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
15--
16-- module: DSRC
17-- Some Types renamed (added xxxDSRC) to avoid name-clashes with CDD
18--
19-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
20
21DSRC {
22  iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)
23}
24
25DEFINITIONS AUTOMATIC TAGS::= BEGIN
26
27IMPORTS
28
29Longitude, Latitude, StationID
30FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) }
31
32Reg-AdvisorySpeed, Reg-ComputedLane, Reg-ConnectionManeuverAssist, Reg-GenericLane,
33Reg-IntersectionGeometry, Reg-IntersectionState, Reg-LaneAttributes, Reg-MapData,
34Reg-LaneDataAttribute, Reg-MovementEvent, Reg-MovementState,
35Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY, Reg-Position3D, Reg-RequestorDescription, Reg-RequestorType, Reg-RestrictionUserType, Reg-RoadSegment,
36Reg-RTCMcorrections, Reg-SignalControlZone, Reg-SignalRequestPackage, Reg-SignalRequest, Reg-SignalStatus, Reg-SignalStatusPackage, Reg-SignalRequestMessage,
37Reg-SignalStatusMessage, Reg-SPAT
38FROM REGION  {iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version2 (2)}
39
40
41Iso3833VehicleType
42FROM ElectronicRegistrationIdentificationVehicleDataModule { iso(1) standard(0) iso24534 (24534) vehicleData (1) version1 (1) };
43
44-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
45-- Messages
46-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
47
48REG-EXT-ID-AND-TYPE ::= CLASS {
49  &id     RegionId UNIQUE,
50  &Type
51} WITH SYNTAX {&Type IDENTIFIED BY &id}
52
53RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE {
54  regionId     REG-EXT-ID-AND-TYPE.&id( {Set} ),
55  regExtValue  REG-EXT-ID-AND-TYPE.&Type( {Set}{@regionId} )
56}
57
58MapData ::= SEQUENCE {
59  timeStamp         MinuteOfTheYear OPTIONAL,
60  msgIssueRevision  MsgCount,
61  layerType         LayerType OPTIONAL,
62  layerID           LayerID  OPTIONAL,
63  intersections     IntersectionGeometryList OPTIONAL,
64  roadSegments      RoadSegmentList OPTIONAL,
65  dataParameters    DataParameters OPTIONAL,
66  restrictionList   RestrictionClassList OPTIONAL,
67  regional          SEQUENCE (SIZE(1..4)) OF
68                    RegionalExtension {{Reg-MapData}} OPTIONAL,
69  ...
70}
71
72RTCMcorrections ::= SEQUENCE {
73   msgCnt      MsgCount,
74   rev         RTCM-Revision,
75   timeStamp   MinuteOfTheYear  OPTIONAL,
76   anchorPoint FullPositionVector OPTIONAL,
77   rtcmHeader  RTCMheader OPTIONAL,
78   msgs        RTCMmessageList,
79   regional    SEQUENCE (SIZE(1..4)) OF
80               RegionalExtension {{Reg-RTCMcorrections}} OPTIONAL,
81   ...
82}
83
84SPAT ::= SEQUENCE {
85  timeStamp     MinuteOfTheYear OPTIONAL,
86  name          DescriptiveName OPTIONAL,
87  intersections IntersectionStateList,
88  regional      SEQUENCE (SIZE(1..4)) OF
89                RegionalExtension {{Reg-SPAT}} OPTIONAL,
90  ...
91}
92
93SignalRequestMessage ::= SEQUENCE {
94  timeStamp       MinuteOfTheYear  OPTIONAL,
95  second          DSecond,
96  sequenceNumber  MsgCount         OPTIONAL,
97  requests        SignalRequestList OPTIONAL,
98  requestor       RequestorDescription,
99  regional        SEQUENCE (SIZE(1..4)) OF
100                  RegionalExtension {{Reg-SignalRequestMessage}} OPTIONAL,
101  ...
102}
103
104SignalStatusMessage ::= SEQUENCE {
105  timeStamp       MinuteOfTheYear  OPTIONAL,
106  second          DSecond,
107  sequenceNumber  MsgCount         OPTIONAL,
108  status          SignalStatusList,
109  regional        SEQUENCE (SIZE(1..4)) OF
110                  RegionalExtension {{Reg-SignalStatusMessage}} OPTIONAL,
111  ...
112}
113
114
115
116
117-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
118-- Start of entries from table Data_Frames...
119-- Data frames
120-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
121
122AdvisorySpeed ::= SEQUENCE {
123  type        AdvisorySpeedType,
124  speed       SpeedAdvice OPTIONAL,
125  confidence  SpeedConfidenceDSRC OPTIONAL,
126  distance    ZoneLength OPTIONAL,
127  class       RestrictionClassID OPTIONAL,
128  regional    SEQUENCE (SIZE(1..4)) OF
129              RegionalExtension {{Reg-AdvisorySpeed}} OPTIONAL,
130  ...
131}
132
133AdvisorySpeedList ::= SEQUENCE (SIZE(1..16)) OF AdvisorySpeed
134
135AntennaOffsetSet ::= SEQUENCE {
136   antOffsetX  Offset-B12,
137   antOffsetY  Offset-B09,
138   antOffsetZ  Offset-B10
139   }
140
141ComputedLane ::= SEQUENCE {
142  referenceLaneId    LaneID,
143  offsetXaxis        CHOICE {
144                        small   DrivenLineOffsetSm,
145                        large   DrivenLineOffsetLg
146                        },
147  offsetYaxis        CHOICE {
148                        small   DrivenLineOffsetSm,
149                        large   DrivenLineOffsetLg
150                        },
151  rotateXY           Angle OPTIONAL,
152  scaleXaxis         Scale-B12 OPTIONAL,
153  scaleYaxis         Scale-B12 OPTIONAL,
154  regional  SEQUENCE (SIZE(1..4)) OF
155            RegionalExtension {{Reg-ComputedLane}} OPTIONAL,
156  ...
157}
158
159ConnectsToList ::= SEQUENCE (SIZE(1..16)) OF Connection
160
161ConnectingLane ::= SEQUENCE {
162  lane      LaneID,
163  maneuver  AllowedManeuvers OPTIONAL
164}
165
166Connection ::= SEQUENCE {
167  connectingLane     ConnectingLane,
168  remoteIntersection IntersectionReferenceID OPTIONAL,
169  signalGroup        SignalGroupID OPTIONAL,
170  userClass          RestrictionClassID OPTIONAL,
171  connectionID       LaneConnectionID OPTIONAL
172}
173
174ConnectionManeuverAssist ::= SEQUENCE {
175  connectionID         LaneConnectionID,
176  queueLength          ZoneLength OPTIONAL,
177  availableStorageLength ZoneLength OPTIONAL,
178  waitOnStop           WaitOnStopline OPTIONAL,
179  pedBicycleDetect     PedestrianBicycleDetect OPTIONAL,
180  regional  SEQUENCE (SIZE(1..4)) OF
181            RegionalExtension {{Reg-ConnectionManeuverAssist}} OPTIONAL,
182  ...
183}
184
185DataParameters ::= SEQUENCE {
186  processMethod     IA5String(SIZE(1..255)) OPTIONAL,
187  processAgency     IA5String(SIZE(1..255)) OPTIONAL,
188  lastCheckedDate   IA5String(SIZE(1..255)) OPTIONAL,
189  geoidUsed         IA5String(SIZE(1..255)) OPTIONAL,
190  ...
191}
192
193
194DDateTime ::= SEQUENCE {
195   year    DYear    OPTIONAL,
196   month   DMonth   OPTIONAL,
197   day     DDay     OPTIONAL,
198   hour    DHour    OPTIONAL,
199   minute  DMinute  OPTIONAL,
200   second  DSecond  OPTIONAL,
201   offset  DOffset  OPTIONAL
202   }
203
204EnabledLaneList ::= SEQUENCE (SIZE(1..16)) OF LaneID
205
206FullPositionVector ::= SEQUENCE {
207   utcTime             DDateTime OPTIONAL,   -- time with mSec precision
208   long                Longitude,
209   lat                 Latitude,
210   elevation           Elevation  OPTIONAL,
211   heading             HeadingDSRC OPTIONAL,
212   speed               TransmissionAndSpeed OPTIONAL,
213   posAccuracy         PositionalAccuracy OPTIONAL,
214   timeConfidence      TimeConfidence OPTIONAL,
215   posConfidence       PositionConfidenceSet OPTIONAL,
216   speedConfidence     SpeedandHeadingandThrottleConfidence OPTIONAL,
217   ...
218   }
219
220
221GenericLane ::= SEQUENCE {
222  laneID           LaneID,
223  name             DescriptiveName OPTIONAL,
224  ingressApproach  ApproachID OPTIONAL,
225  egressApproach   ApproachID OPTIONAL,
226  laneAttributes   LaneAttributes,
227  maneuvers        AllowedManeuvers OPTIONAL,
228  nodeList         NodeListXY,
229  connectsTo       ConnectsToList OPTIONAL,
230  overlays         OverlayLaneList OPTIONAL,
231  regional  SEQUENCE (SIZE(1..4)) OF
232            RegionalExtension {{Reg-GenericLane}} OPTIONAL,
233  ...
234}
235
236IntersectionAccessPoint ::= CHOICE {
237  lane       LaneID,
238  approach   ApproachID,
239  connection LaneConnectionID,
240  ...
241}
242
243IntersectionGeometry ::= SEQUENCE {
244  name        DescriptiveName OPTIONAL,
245  id          IntersectionReferenceID,
246  revision    MsgCount,
247  refPoint    Position3D,
248  laneWidth   LaneWidth OPTIONAL,
249  speedLimits SpeedLimitList OPTIONAL,
250  laneSet     LaneList,
251  preemptPriorityData PreemptPriorityList OPTIONAL,
252  regional     SEQUENCE (SIZE(1..4)) OF
253               RegionalExtension {{Reg-IntersectionGeometry}} OPTIONAL,
254  ...
255}
256
257IntersectionGeometryList ::= SEQUENCE (SIZE(1..32)) OF IntersectionGeometry
258
259IntersectionReferenceID ::= SEQUENCE {
260  region  RoadRegulatorID OPTIONAL,
261  id      IntersectionID
262}
263
264IntersectionState ::= SEQUENCE {
265  name         DescriptiveName OPTIONAL,
266  id           IntersectionReferenceID,
267  revision     MsgCount,
268  status       IntersectionStatusObject,
269  moy          MinuteOfTheYear OPTIONAL,
270  timeStamp    DSecond OPTIONAL,
271  enabledLanes EnabledLaneList OPTIONAL,
272  states       MovementList,
273  maneuverAssistList  ManeuverAssistList OPTIONAL,
274  regional     SEQUENCE (SIZE(1..4)) OF
275               RegionalExtension {{Reg-IntersectionState}} OPTIONAL,
276  ...
277}
278
279IntersectionStateList ::= SEQUENCE (SIZE(1..32)) OF  IntersectionState
280
281LaneAttributes ::= SEQUENCE {
282  directionalUse  LaneDirection,
283  sharedWith      LaneSharing,
284  laneType        LaneTypeAttributes,
285  regional        RegionalExtension {{Reg-LaneAttributes}} OPTIONAL
286}
287
288LaneDataAttribute ::= CHOICE {
289   pathEndPointAngle        DeltaAngle,
290   laneCrownPointCenter     RoadwayCrownAngle,
291   laneCrownPointLeft       RoadwayCrownAngle,
292   laneCrownPointRight      RoadwayCrownAngle,
293   laneAngle                MergeDivergeNodeAngle,
294   speedLimits              SpeedLimitList,
295   regional  SEQUENCE (SIZE(1..4)) OF
296             RegionalExtension {{Reg-LaneDataAttribute}},
297   ...
298}
299
300LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute
301
302LaneList ::= SEQUENCE (SIZE(1..255)) OF GenericLane
303
304LaneSharing ::= BIT STRING {
305   overlappingLaneDescriptionProvided  (0),
306   multipleLanesTreatedAsOneLane       (1),
307   otherNonMotorizedTrafficTypes       (2),
308   individualMotorizedVehicleTraffic   (3),
309   busVehicleTraffic                   (4),
310   taxiVehicleTraffic                  (5),
311   pedestriansTraffic                  (6),
312   cyclistVehicleTraffic               (7),
313   trackedVehicleTraffic               (8),
314   pedestrianTraffic                   (9)
315} (SIZE (10))
316
317LaneTypeAttributes ::= CHOICE {
318  vehicle        LaneAttributes-Vehicle,
319  crosswalk      LaneAttributes-Crosswalk,
320  bikeLane       LaneAttributes-Bike,
321  sidewalk       LaneAttributes-Sidewalk,
322  median         LaneAttributes-Barrier,
323  striping       LaneAttributes-Striping,
324  trackedVehicle LaneAttributes-TrackedVehicle,
325  parking        LaneAttributes-Parking,
326  ...
327}
328
329ManeuverAssistList ::= SEQUENCE (SIZE(1..16)) OF ConnectionManeuverAssist
330
331MovementEvent ::= SEQUENCE {
332  eventState   MovementPhaseState,
333  timing       TimeChangeDetails OPTIONAL,
334  speeds       AdvisorySpeedList OPTIONAL,
335  regional     SEQUENCE (SIZE(1..4)) OF
336               RegionalExtension {{Reg-MovementEvent}} OPTIONAL,
337  ...
338}
339
340MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent
341
342MovementList ::= SEQUENCE (SIZE(1..255)) OF MovementState
343
344MovementState ::= SEQUENCE {
345  movementName       DescriptiveName OPTIONAL,
346  signalGroup        SignalGroupID,
347  state-time-speed   MovementEventList,
348  maneuverAssistList ManeuverAssistList OPTIONAL,
349  regional           SEQUENCE (SIZE(1..4)) OF
350                     RegionalExtension {{Reg-MovementState}} OPTIONAL,
351  ...
352}
353
354NodeAttributeSetXY ::= SEQUENCE {
355  localNode    NodeAttributeXYList OPTIONAL,
356  disabled     SegmentAttributeXYList OPTIONAL,
357  enabled      SegmentAttributeXYList OPTIONAL,
358  data         LaneDataAttributeList OPTIONAL,
359  dWidth       Offset-B10 OPTIONAL,
360  dElevation   Offset-B10 OPTIONAL,
361  regional     SEQUENCE (SIZE(1..4)) OF
362               RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL,
363  ...
364}
365
366NodeAttributeXY ::= ENUMERATED {
367  reserved,
368  stopLine,
369  roundedCapStyleA,
370  roundedCapStyleB,
371  mergePoint,
372  divergePoint,
373  downstreamStopLine,
374  downstreamStartNode,
375  closedToTraffic,
376  safeIsland,
377  curbPresentAtStepOff,
378  hydrantPresent,
379  ...
380}
381
382NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY
383
384Node-LLmD-64b ::= SEQUENCE {
385  lon  Longitude,
386  lat  Latitude
387}
388
389Node-XY-20b ::= SEQUENCE {
390  x  Offset-B10,
391  y  Offset-B10
392}
393
394Node-XY-22b ::= SEQUENCE {
395  x  Offset-B11,
396  y  Offset-B11
397}
398
399Node-XY-24b ::= SEQUENCE {
400  x  Offset-B12,
401  y  Offset-B12
402}
403
404Node-XY-26b ::= SEQUENCE {
405  x  Offset-B13,
406  y  Offset-B13
407}
408
409Node-XY-28b ::= SEQUENCE {
410  x  Offset-B14,
411  y  Offset-B14
412}
413
414Node-XY-32b ::= SEQUENCE {
415  x  Offset-B16,
416  y  Offset-B16
417}
418
419NodeListXY ::= CHOICE {
420  nodes     NodeSetXY,
421  computed  ComputedLane,
422  ...
423}
424
425NodeOffsetPointXY ::= CHOICE {
426  node-XY1         Node-XY-20b,
427  node-XY2         Node-XY-22b,
428  node-XY3         Node-XY-24b,
429  node-XY4         Node-XY-26b,
430  node-XY5         Node-XY-28b,
431  node-XY6         Node-XY-32b,
432  node-LatLon      Node-LLmD-64b,
433  regional         RegionalExtension {{Reg-NodeOffsetPointXY}}
434}
435
436NodeXY ::= SEQUENCE {
437  delta       NodeOffsetPointXY,
438  attributes  NodeAttributeSetXY OPTIONAL,
439  ...
440}
441
442NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY
443
444OverlayLaneList ::= SEQUENCE (SIZE(1..5)) OF LaneID
445
446PositionalAccuracy ::= SEQUENCE {
447   semiMajor     SemiMajorAxisAccuracy,
448   semiMinor     SemiMinorAxisAccuracy,
449   orientation   SemiMajorAxisOrientation
450}
451
452PositionConfidenceSet ::= SEQUENCE {
453   pos        PositionConfidence, -- for both horizontal directions
454   elevation  ElevationConfidence
455   }
456
457
458Position3D ::= SEQUENCE {
459  lat        Latitude,
460  long       Longitude,
461  elevation  Elevation  OPTIONAL,
462  regional   SEQUENCE (SIZE(1..4)) OF
463             RegionalExtension {{Reg-Position3D}} OPTIONAL,
464  ...
465}
466
467PreemptPriorityList ::= SEQUENCE (SIZE(1..32)) OF SignalControlZone
468
469RegulatorySpeedLimit ::= SEQUENCE {
470  type        SpeedLimitType,
471  speed       Velocity
472}
473
474RequestorDescription ::= SEQUENCE {
475  id                VehicleID,
476  type              RequestorType OPTIONAL,
477  position          RequestorPositionVector OPTIONAL,
478  name              DescriptiveName OPTIONAL,
479  routeName         DescriptiveName OPTIONAL,
480  transitStatus     TransitVehicleStatus OPTIONAL,
481  transitOccupancy  TransitVehicleOccupancy OPTIONAL,
482  transitSchedule   DeltaTime OPTIONAL,
483  regional          SEQUENCE (SIZE(1..4)) OF
484                    RegionalExtension {{Reg-RequestorDescription}} OPTIONAL,
485  ...
486}
487
488RequestorPositionVector ::= SEQUENCE {
489  position           Position3D,
490  heading            Angle OPTIONAL,
491  speed              TransmissionAndSpeed OPTIONAL,
492  ...
493}
494
495RequestorType ::= SEQUENCE {
496  role         BasicVehicleRole,
497  subrole      RequestSubRole OPTIONAL,
498  request      RequestImportanceLevel OPTIONAL,
499  iso3883      Iso3833VehicleType OPTIONAL,
500  hpmsType     VehicleType OPTIONAL,
501  regional     RegionalExtension {{Reg-RequestorType}} OPTIONAL,
502  ...
503}
504
505RestrictionClassAssignment ::= SEQUENCE {
506  id       RestrictionClassID,
507  users    RestrictionUserTypeList
508}
509
510RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment
511
512RestrictionUserType ::= CHOICE {
513  basicType   RestrictionAppliesTo,
514  regional    SEQUENCE (SIZE(1..4)) OF
515              RegionalExtension {{Reg-RestrictionUserType}},
516  ...
517}
518
519RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF  RestrictionUserType
520
521RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane
522
523RoadSegmentReferenceID ::= SEQUENCE {
524  region  RoadRegulatorID OPTIONAL,
525  id      RoadSegmentID
526}
527
528RoadSegment ::= SEQUENCE {
529  name        DescriptiveName OPTIONAL,
530  id          RoadSegmentReferenceID,
531  revision    MsgCount,
532  refPoint    Position3D,
533  laneWidth   LaneWidth OPTIONAL,
534  speedLimits SpeedLimitList OPTIONAL,
535  roadLaneSet RoadLaneSetList,
536  regional    SEQUENCE (SIZE(1..4)) OF
537              RegionalExtension {{Reg-RoadSegment}} OPTIONAL,
538  ...
539}
540
541RoadSegmentList ::= SEQUENCE (SIZE(1..32)) OF RoadSegment
542
543RTCMheader ::= SEQUENCE {
544   status     GNSSstatus,
545   offsetSet  AntennaOffsetSet
546   }
547
548RTCMmessageList ::= SEQUENCE (SIZE(1..5)) OF RTCMmessage
549
550SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY
551
552SignalControlZone ::=  SEQUENCE {
553  zone  RegionalExtension {{Reg-SignalControlZone}},
554  ...
555}
556
557SignalRequesterInfo ::= SEQUENCE {
558  id             VehicleID,
559  request        RequestID,
560  sequenceNumber MsgCount,
561  role           BasicVehicleRole OPTIONAL,
562  typeData       RequestorType OPTIONAL,
563  ...
564}
565
566SignalRequest ::= SEQUENCE {
567  id            IntersectionReferenceID,
568  requestID     RequestID,
569  requestType   PriorityRequestType,
570  inBoundLane   IntersectionAccessPoint,
571  outBoundLane  IntersectionAccessPoint OPTIONAL,
572  regional      SEQUENCE (SIZE(1..4)) OF
573                RegionalExtension {{Reg-SignalRequest}} OPTIONAL,
574  ...
575}
576
577SignalRequestList ::= SEQUENCE (SIZE(1..32)) OF SignalRequestPackage
578
579SignalRequestPackage ::= SEQUENCE {
580  request        SignalRequest,
581  minute         MinuteOfTheYear OPTIONAL,
582  second         DSecond OPTIONAL,
583  duration       DSecond OPTIONAL,
584  regional       SEQUENCE (SIZE(1..4)) OF
585                 RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL,
586  ...
587}
588
589SignalStatus ::= SEQUENCE {
590  sequenceNumber MsgCount,
591  id             IntersectionReferenceID,
592  sigStatus      SignalStatusPackageList,
593  regional       SEQUENCE (SIZE(1..4)) OF
594                 RegionalExtension {{Reg-SignalStatus}} OPTIONAL,
595  ...
596}
597
598SignalStatusList ::= SEQUENCE (SIZE(1..32)) OF SignalStatus
599
600SignalStatusPackageList ::= SEQUENCE (SIZE(1..32)) OF SignalStatusPackage
601
602SignalStatusPackage ::= SEQUENCE {
603  requester    SignalRequesterInfo OPTIONAL,
604  inboundOn    IntersectionAccessPoint,
605  outboundOn   IntersectionAccessPoint OPTIONAL,
606
607  minute       MinuteOfTheYear OPTIONAL,
608  second       DSecond OPTIONAL,
609  duration     DSecond OPTIONAL,
610  status       PrioritizationResponseStatus,
611  regional     SEQUENCE (SIZE(1..4)) OF
612               RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL,
613  ...
614}
615
616SpeedandHeadingandThrottleConfidence ::= SEQUENCE {
617   heading   HeadingConfidenceDSRC,
618   speed     SpeedConfidenceDSRC,
619   throttle  ThrottleConfidence
620   }
621
622
623SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit
624
625SpeedLimitType ::= ENUMERATED {
626   unknown,
627   maxSpeedInSchoolZone,
628   maxSpeedInSchoolZoneWhenChildrenArePresent,
629   maxSpeedInConstructionZone,
630   vehicleMinSpeed,
631   vehicleMaxSpeed,
632   vehicleNightMaxSpeed,
633   truckMinSpeed,
634   truckMaxSpeed,
635   truckNightMaxSpeed,
636   vehiclesWithTrailersMinSpeed,
637   vehiclesWithTrailersMaxSpeed,
638   vehiclesWithTrailersNightMaxSpeed,
639   ...
640}
641
642TimeChangeDetails ::= SEQUENCE {
643  startTime   TimeMark           OPTIONAL,
644  minEndTime  TimeMark,
645  maxEndTime  TimeMark           OPTIONAL,
646  likelyTime  TimeMark           OPTIONAL,
647  confidence  TimeIntervalConfidence OPTIONAL,
648  nextTime    TimeMark           OPTIONAL
649}
650
651TimeMark ::= INTEGER (0..36001)
652
653TransmissionAndSpeed ::= SEQUENCE {
654  transmisson   TransmissionState,
655  speed         Velocity
656}
657
658VehicleID ::= CHOICE {
659  entityID     TemporaryID,
660  stationID    StationID
661}
662
663
664-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
665-- data elements
666-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
667
668AdvisorySpeedType ::= ENUMERATED {
669  none       (0),
670  greenwave  (1),
671  ecoDrive   (2),
672  transit    (3),
673  ...
674}
675
676AllowedManeuvers ::= BIT STRING {
677  maneuverStraightAllowed      (0),
678  maneuverLeftAllowed          (1),
679  maneuverRightAllowed         (2),
680  maneuverUTurnAllowed         (3),
681  maneuverLeftTurnOnRedAllowed (4),
682  maneuverRightTurnOnRedAllowed (5),
683  maneuverLaneChangeAllowed    (6),
684  maneuverNoStoppingAllowed    (7),
685  yieldAllwaysRequired         (8),
686  goWithHalt                   (9),
687  caution                      (10),
688  reserved1                    (11)
689} (SIZE(12))
690
691Angle ::= INTEGER (0..28800)
692
693ApproachID ::= INTEGER (0..15)
694
695BasicVehicleRole ::= ENUMERATED {
696  basicVehicle     (0),
697  publicTransport  (1),
698  specialTransport (2),
699  dangerousGoods   (3),
700  roadWork         (4),
701  roadRescue       (5),
702  emergency        (6),
703  safetyCar        (7),
704  none-unknown     (8),
705  truck            (9),
706  motorcycle      (10),
707  roadSideSource  (11),
708  police          (12),
709  fire            (13),
710  ambulance       (14),
711  dot             (15),
712  transit         (16),
713  slowMoving      (17),
714  stopNgo         (18),
715  cyclist         (19),
716  pedestrian      (20),
717  nonMotorized    (21),
718  military        (22),
719  ...
720}
721
722DDay ::= INTEGER (0..31)
723
724DeltaAngle ::= INTEGER (-150..150)
725
726DeltaTime ::= INTEGER (-122 .. 121)
727
728DescriptiveName ::= IA5String (SIZE(1..63))
729
730DHour ::= INTEGER (0..31)
731
732DMinute ::= INTEGER (0..60)
733
734DMonth ::= INTEGER (0..12)
735
736DOffset ::= INTEGER (-840..840)
737
738DrivenLineOffsetLg ::= INTEGER (-32767..32767)
739
740DrivenLineOffsetSm ::= INTEGER (-2047..2047)
741
742DSecond ::= INTEGER (0..65535)
743
744DSRCmsgID ::= INTEGER (0..32767)
745  mapData                           DSRCmsgID ::=   18
746  rtcmCorrections                   DSRCmsgID ::=   28
747  signalPhaseAndTimingMessage       DSRCmsgID ::=   19
748  signalRequestMessage              DSRCmsgID ::=   29
749  signalStatusMessage               DSRCmsgID ::=   30
750
751DYear ::= INTEGER (0..4095)
752
753Elevation ::= INTEGER (-4096..61439)
754
755ElevationConfidence ::= ENUMERATED {
756   unavailable (0),
757   elev-500-00 (1),
758   elev-200-00 (2),
759   elev-100-00 (3),
760   elev-050-00 (4),
761   elev-020-00 (5),
762   elev-010-00 (6),
763   elev-005-00 (7),
764   elev-002-00 (8),
765   elev-001-00 (9),
766   elev-000-50 (10),
767   elev-000-20 (11),
768   elev-000-10 (12),
769   elev-000-05 (13),
770   elev-000-02 (14),
771   elev-000-01 (15)
772   }
773
774
775FuelType ::= INTEGER (0..15)
776   unknownFuel FuelType  ::= 0
777   gasoline FuelType     ::= 1
778   ethanol FuelType      ::= 2
779   diesel FuelType       ::= 3
780   electric FuelType     ::= 4
781   hybrid FuelType       ::= 5
782   hydrogen FuelType     ::= 6
783   natGasLiquid FuelType ::= 7
784   natGasComp FuelType   ::= 8
785   propane FuelType      ::= 9
786
787GNSSstatus ::= BIT STRING {
788   unavailable               (0),
789   isHealthy                 (1),
790   isMonitored               (2),
791   baseStationType           (3),
792   aPDOPofUnder5             (4),
793   inViewOfUnder5            (5),
794   localCorrectionsPresent   (6),
795   networkCorrectionsPresent (7)
796   } (SIZE(8))
797
798HeadingConfidenceDSRC ::= ENUMERATED {
799   unavailable   (0),
800   prec10deg     (1),
801   prec05deg     (2),
802   prec01deg     (3),
803   prec0-1deg    (4),
804   prec0-05deg   (5),
805   prec0-01deg   (6),
806   prec0-0125deg (7)
807   }
808
809HeadingDSRC ::= INTEGER (0..28800)
810
811IntersectionID ::= INTEGER (0..65535)
812
813IntersectionStatusObject ::= BIT STRING {
814  manualControlIsEnabled                (0),
815  stopTimeIsActivated                   (1),
816  failureFlash                          (2),
817  preemptIsActive                       (3),
818  signalPriorityIsActive                (4),
819  fixedTimeOperation                    (5),
820  trafficDependentOperation             (6),
821  standbyOperation                      (7),
822  failureMode                           (8),
823  off                                   (9),
824  recentMAPmessageUpdate                (10),
825  recentChangeInMAPassignedLanesIDsUsed (11),
826  noValidMAPisAvailableAtThisTime       (12),
827  noValidSPATisAvailableAtThisTime      (13)
828} (SIZE(16))
829
830LaneAttributes-Barrier ::= BIT STRING {
831  median-RevocableLane     (0),
832  median                   (1),
833  whiteLineHashing         (2),
834  stripedLines             (3),
835  doubleStripedLines       (4),
836  trafficCones             (5),
837  constructionBarrier      (6),
838  trafficChannels          (7),
839  lowCurbs                 (8),
840  highCurbs                (9)
841} (SIZE (16))
842
843LaneAttributes-Bike ::= BIT STRING {
844  bikeRevocableLane       (0),
845  pedestrianUseAllowed    (1),
846  isBikeFlyOverLane       (2),
847  fixedCycleTime          (3),
848  biDirectionalCycleTimes (4),
849  isolatedByBarrier       (5),
850  unsignalizedSegmentsPresent  (6)
851} (SIZE (16))
852
853LaneAttributes-Crosswalk ::= BIT STRING {
854  crosswalkRevocableLane  (0),
855  bicyleUseAllowed        (1),
856  isXwalkFlyOverLane      (2),
857  fixedCycleTime          (3),
858  biDirectionalCycleTimes (4),
859  hasPushToWalkButton     (5),
860  audioSupport            (6),
861  rfSignalRequestPresent  (7),
862  unsignalizedSegmentsPresent  (8)
863} (SIZE (16))
864
865LaneAttributes-Parking ::= BIT STRING {
866  parkingRevocableLane         (0),
867  parallelParkingInUse         (1),
868  headInParkingInUse           (2),
869  doNotParkZone                (3),
870  parkingForBusUse             (4),
871  parkingForTaxiUse            (5),
872  noPublicParkingUse           (6)
873} (SIZE (16))
874
875LaneAttributes-Sidewalk ::= BIT STRING {
876  sidewalk-RevocableLane  (0),
877  bicyleUseAllowed        (1),
878  isSidewalkFlyOverLane   (2),
879  walkBikes               (3)
880} (SIZE (16))
881
882LaneAttributes-Striping ::= BIT STRING {
883  stripeToConnectingLanesRevocableLane      (0),
884  stripeDrawOnLeft                          (1),
885  stripeDrawOnRight                         (2),
886  stripeToConnectingLanesLeft               (3),
887  stripeToConnectingLanesRight              (4),
888  stripeToConnectingLanesAhead              (5)
889} (SIZE (16))
890
891LaneAttributes-TrackedVehicle ::= BIT STRING {
892  spec-RevocableLane         (0),
893  spec-commuterRailRoadTrack (1),
894  spec-lightRailRoadTrack    (2),
895  spec-heavyRailRoadTrack    (3),
896  spec-otherRailType         (4)
897} (SIZE (16))
898
899
900LaneAttributes-Vehicle ::= BIT STRING {
901  isVehicleRevocableLane       (0),
902  isVehicleFlyOverLane         (1),
903  hovLaneUseOnly               (2),
904  restrictedToBusUse           (3),
905  restrictedToTaxiUse          (4),
906  restrictedFromPublicUse      (5),
907  hasIRbeaconCoverage          (6),
908  permissionOnRequest          (7)
909} (SIZE (8,...))
910
911LaneConnectionID ::= INTEGER (0..255)
912
913LaneDirection ::= BIT STRING {
914  ingressPath     (0),
915  egressPath      (1)
916} (SIZE (2))
917
918LaneID ::= INTEGER (0..255)
919
920LayerID ::= INTEGER (0..100)
921
922LayerType ::= ENUMERATED {
923  none,
924  mixedContent,
925  generalMapData,
926  intersectionData,
927  curveData,
928  roadwaySectionData,
929  parkingAreaData,
930  sharedLaneData,
931  ...
932}
933
934LaneWidth ::= INTEGER (0..32767)
935
936MergeDivergeNodeAngle ::= INTEGER (-180..180)
937
938MinuteOfTheYear ::= INTEGER (0..527040)
939
940MovementPhaseState ::= ENUMERATED {
941  unavailable (0),
942  dark (1),
943  stop-Then-Proceed (2),
944  stop-And-Remain (3),
945  pre-Movement (4),
946  permissive-Movement-Allowed (5),
947  protected-Movement-Allowed (6),
948  permissive-clearance (7),
949  protected-clearance (8),
950  caution-Conflicting-Traffic (9)
951}
952
953MsgCount ::= INTEGER (0..127)
954
955Offset-B09 ::= INTEGER (-256..255)
956
957Offset-B10 ::= INTEGER (-512..511)
958
959Offset-B11 ::= INTEGER (-1024..1023)
960
961Offset-B12 ::= INTEGER (-2048..2047)
962
963Offset-B13 ::= INTEGER (-4096..4095)
964
965Offset-B14 ::= INTEGER (-8192..8191)
966
967Offset-B16 ::= INTEGER (-32768..32767)
968
969PedestrianBicycleDetect ::= BOOLEAN
970
971PositionConfidence ::= ENUMERATED {
972   unavailable (0),
973   a500m   (1),
974   a200m   (2),
975   a100m   (3),
976   a50m    (4),
977   a20m    (5),
978   a10m    (6),
979   a5m     (7),
980   a2m     (8),
981   a1m     (9),
982   a50cm  (10),
983   a20cm  (11),
984   a10cm  (12),
985   a5cm   (13),
986   a2cm   (14),
987   a1cm   (15)
988   }
989
990PrioritizationResponseStatus ::= ENUMERATED {
991  unknown           (0),
992  requested         (1),
993  processing        (2),
994  watchOtherTraffic (3),
995  granted           (4),
996  rejected          (5),
997  maxPresence       (6),
998  reserviceLocked   (7),
999  ...
1000}
1001
1002PriorityRequestType ::= ENUMERATED {
1003  priorityRequestTypeReserved (0),
1004  priorityRequest             (1),
1005  priorityRequestUpdate       (2),
1006  priorityCancellation        (3),
1007  ...
1008}
1009
1010RegionId ::= INTEGER (0..255)
1011  noRegion     RegionId ::= 0
1012  addGrpA      RegionId ::= 1
1013  addGrpB      RegionId ::= 2
1014  addGrpC      RegionId ::= 3
1015
1016RequestID ::= INTEGER (0..255)
1017
1018RequestImportanceLevel ::= ENUMERATED {
1019  requestImportanceLevelUnKnown  (0),
1020  requestImportanceLevel1        (1),
1021  requestImportanceLevel2        (2),
1022  requestImportanceLevel3        (3),
1023  requestImportanceLevel4        (4),
1024  requestImportanceLevel5        (5),
1025  requestImportanceLevel6        (6),
1026  requestImportanceLevel7        (7),
1027  requestImportanceLevel8        (8),
1028  requestImportanceLevel9        (9),
1029  requestImportanceLevel10      (10),
1030  requestImportanceLevel11      (11),
1031  requestImportanceLevel12      (12),
1032  requestImportanceLevel13      (13),
1033  requestImportanceLevel14      (14),
1034  requestImportanceReserved     (15)
1035}
1036
1037RequestSubRole ::= ENUMERATED {
1038  requestSubRoleUnKnown    (0),
1039  requestSubRole1          (1),
1040  requestSubRole2          (2),
1041  requestSubRole3          (3),
1042  requestSubRole4          (4),
1043  requestSubRole5          (5),
1044  requestSubRole6          (6),
1045  requestSubRole7          (7),
1046  requestSubRole8          (8),
1047  requestSubRole9          (9),
1048  requestSubRole10        (10),
1049  requestSubRole11        (11),
1050  requestSubRole12        (12),
1051  requestSubRole13        (13),
1052  requestSubRole14        (14),
1053  requestSubRoleReserved  (15)
1054}
1055
1056RestrictionAppliesTo ::= ENUMERATED {
1057  none,
1058  equippedTransit,
1059  equippedTaxis,
1060  equippedOther,
1061  emissionCompliant,
1062  equippedBicycle,
1063  weightCompliant,
1064  heightCompliant,
1065  pedestrians,
1066  slowMovingPersons,
1067  wheelchairUsers,
1068  visualDisabilities,
1069  audioDisabilities,
1070  otherUnknownDisabilities,
1071  ...
1072}
1073
1074RestrictionClassID ::= INTEGER (0..255)
1075
1076RoadRegulatorID ::= INTEGER (0..65535)
1077
1078RoadSegmentID ::= INTEGER (0..65535)
1079
1080RoadwayCrownAngle ::= INTEGER (-128..127)
1081
1082RTCMmessage ::= OCTET STRING (SIZE(1..1023))
1083
1084RTCM-Revision ::= ENUMERATED {
1085  unknown (0),
1086  rtcmRev2 (1), -- Std 10402.x et al
1087  rtcmRev3 (2), -- Std 10403.x et al
1088  reserved (3),
1089  ...
1090}
1091
1092Scale-B12 ::= INTEGER (-2048..2047)
1093
1094SignalGroupID ::= INTEGER (0..255)
1095
1096SegmentAttributeXY ::= ENUMERATED {
1097  reserved                  ,
1098  doNotBlock                ,
1099  whiteLine                 ,
1100  mergingLaneLeft           ,
1101  mergingLaneRight          ,
1102  curbOnLeft                ,
1103  curbOnRight               ,
1104  loadingzoneOnLeft         ,
1105  loadingzoneOnRight        ,
1106  turnOutPointOnLeft        ,
1107  turnOutPointOnRight       ,
1108  adjacentParkingOnLeft     ,
1109  adjacentParkingOnRight    ,
1110  adjacentBikeLaneOnLeft    ,
1111  adjacentBikeLaneOnRight   ,
1112  sharedBikeLane            ,
1113  bikeBoxInFront            ,
1114  transitStopOnLeft         ,
1115  transitStopOnRight        ,
1116  transitStopInLane         ,
1117  sharedWithTrackedVehicle  ,
1118  safeIsland                ,
1119  lowCurbsPresent           ,
1120  rumbleStripPresent        ,
1121  audibleSignalingPresent   ,
1122  adaptiveTimingPresent     ,
1123  rfSignalRequestPresent    ,
1124  partialCurbIntrusion      ,
1125  taperToLeft               ,
1126  taperToRight              ,
1127  taperToCenterLine         ,
1128  parallelParking           ,
1129  headInParking             ,
1130  freeParking               ,
1131  timeRestrictionsOnParking ,
1132  costToPark                ,
1133  midBlockCurbPresent       ,
1134  unEvenPavementPresent     ,
1135  ...
1136}
1137
1138SemiMajorAxisAccuracy ::= INTEGER (0..255)
1139
1140SemiMajorAxisOrientation ::= INTEGER (0..65535)
1141
1142SemiMinorAxisAccuracy ::= INTEGER (0..255)
1143
1144SpeedAdvice ::= INTEGER (0..500)
1145
1146SpeedConfidenceDSRC ::= ENUMERATED {
1147   unavailable (0), -- Not Equipped or unavailable
1148   prec100ms   (1), -- 100  meters / sec
1149   prec10ms    (2), -- 10   meters / sec
1150   prec5ms     (3), -- 5    meters / sec
1151   prec1ms     (4), -- 1    meters / sec
1152   prec0-1ms   (5), -- 0.1  meters / sec
1153   prec0-05ms  (6), -- 0.05 meters / sec
1154   prec0-01ms  (7)  -- 0.01 meters / sec
1155   }
1156
1157TemporaryID ::= OCTET STRING (SIZE(4))
1158
1159ThrottleConfidence ::= ENUMERATED {
1160   unavailable     (0),
1161   prec10percent   (1),
1162   prec1percent    (2),
1163   prec0-5percent  (3)
1164   }
1165
1166TimeConfidence ::= ENUMERATED {
1167   unavailable              (0),
1168   time-100-000             (1),
1169   time-050-000             (2),
1170   time-020-000             (3),
1171   time-010-000             (4),
1172   time-002-000             (5),
1173   time-001-000             (6),
1174   time-000-500             (7),
1175   time-000-200             (8),
1176   time-000-100             (9),
1177   time-000-050            (10),
1178   time-000-020            (11),
1179   time-000-010            (12),
1180   time-000-005            (13),
1181   time-000-002            (14),
1182   time-000-001            (15),
1183   time-000-000-5          (16),
1184   time-000-000-2          (17),
1185   time-000-000-1          (18),
1186   time-000-000-05         (19),
1187   time-000-000-02         (20),
1188   time-000-000-01         (21),
1189   time-000-000-005        (22),
1190   time-000-000-002        (23),
1191   time-000-000-001        (24),
1192   time-000-000-000-5      (25),
1193   time-000-000-000-2      (26),
1194   time-000-000-000-1      (27),
1195   time-000-000-000-05     (28),
1196   time-000-000-000-02     (29),
1197   time-000-000-000-01     (30),
1198   time-000-000-000-005    (31),
1199   time-000-000-000-002    (32),
1200   time-000-000-000-001    (33),
1201   time-000-000-000-000-5  (34),
1202   time-000-000-000-000-2  (35),
1203   time-000-000-000-000-1  (36),
1204   time-000-000-000-000-05 (37),
1205   time-000-000-000-000-02 (38),
1206   time-000-000-000-000-01 (39)
1207}
1208
1209TimeIntervalConfidence ::= INTEGER (0..15)
1210
1211TransitVehicleOccupancy ::= ENUMERATED {
1212  occupancyUnknown    (0),
1213  occupancyEmpty      (1),
1214  occupancyVeryLow    (2),
1215  occupancyLow        (3),
1216  occupancyMed        (4),
1217  occupancyHigh       (5),
1218  occupancyNearlyFull (6),
1219  occupancyFull       (7)
1220}
1221
1222TransitVehicleStatus ::= BIT STRING {
1223  loading     (0),
1224  anADAuse    (1),
1225  aBikeLoad   (2),
1226  doorOpen    (3),
1227  charging    (4),
1228  atStopLine  (5)
1229} (SIZE(8))
1230
1231TransmissionState ::= ENUMERATED {
1232  neutral      (0),
1233  park         (1),
1234  forwardGears (2),
1235  reverseGears (3),
1236  reserved1    (4),
1237  reserved2    (5),
1238  reserved3    (6),
1239  unavailable  (7)
1240}
1241
1242VehicleHeight ::= INTEGER (0..127)
1243
1244VehicleType ::= ENUMERATED {
1245  none                 (0),
1246  unknown              (1),
1247  special              (2),
1248  moto                 (3),
1249  car                  (4),
1250  carOther             (5),
1251  bus                  (6),
1252  axleCnt2             (7),
1253  axleCnt3             (8),
1254  axleCnt4             (9),
1255  axleCnt4Trailer      (10),
1256  axleCnt5Trailer      (11),
1257  axleCnt6Trailer      (12),
1258  axleCnt5MultiTrailer (13),
1259  axleCnt6MultiTrailer (14),
1260  axleCnt7MultiTrailer (15),
1261  ...
1262}
1263
1264Velocity ::= INTEGER (0..8191)
1265
1266WaitOnStopline ::= BOOLEAN
1267
1268ZoneLength ::= INTEGER (0..10000)
1269
1270END
1271
1272-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
1273--
1274-- module: AddGrpC
1275--
1276-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
1277AddGrpC {
1278  iso (1) standard (0) signalizedIntersection (19091) profilec (2) addgrpc (0)
1279  version2 (2)
1280  }
1281
1282DEFINITIONS AUTOMATIC TAGS::= BEGIN
1283
1284IMPORTS
1285
1286DeltaTime, FuelType, IntersectionID, LaneConnectionID, LaneID, NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, VehicleHeight
1287FROM DSRC {
1288  iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)
1289}
1290
1291
1292Altitude, DeltaAltitude, StationID, VehicleMass
1293FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) };
1294
1295-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1296-- AddGrpC data dictionary extensions to SAEJ2735
1297-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1298
1299ConnectionManeuverAssist-addGrpC ::=	SEQUENCE {
1300  itsStationPosition ItsStationPositionList OPTIONAL,
1301  ...
1302}
1303
1304ConnectionTrajectory-addGrpC ::= SEQUENCE {
1305  nodes         NodeSetXY,
1306  connectionID  LaneConnectionID,
1307  ...
1308}
1309
1310IntersectionState-addGrpC ::=	SEQUENCE {
1311  activePrioritizations  PrioritizationResponseList	OPTIONAL,
1312  ...
1313}
1314
1315LaneAttributes-addGrpC ::= SEQUENCE {
1316  maxVehicleHeight  VehicleHeight OPTIONAL,
1317  maxVehicleWeight  VehicleMass   OPTIONAL,
1318  ...
1319}
1320
1321MapData-addGrpC ::=	SEQUENCE {
1322  signalHeadLocations  SignalHeadLocationList	OPTIONAL,
1323  ...
1324}
1325
1326MovementEvent-addGrpC ::= SEQUENCE {
1327  stateChangeReason  ExceptionalCondition OPTIONAL,
1328  ...
1329}
1330
1331NodeAttributeSet-addGrpC  ::=	SEQUENCE {
1332  ptvRequest  PtvRequestType  OPTIONAL,
1333  nodeLink    NodeLink        OPTIONAL,
1334  node        Node            OPTIONAL,
1335  ...
1336}
1337
1338Position3D-addGrpC ::=	SEQUENCE {
1339  altitude  Altitude,
1340  ...
1341}
1342
1343RestrictionUserType-addGrpC ::=	SEQUENCE {
1344  emission  EmissionType OPTIONAL,
1345  fuel      FuelType     OPTIONAL,
1346  ...
1347}
1348
1349RequestorDescription-addGrpC ::= SEQUENCE {
1350  fuel           FuelType      OPTIONAL,
1351  batteryStatus  BatteryStatus OPTIONAL,
1352  ...
1353}
1354
1355SignalStatusPackage-addGrpC ::= SEQUENCE {
1356  synchToSchedule  DeltaTime      OPTIONAL,
1357  rejectedReason   RejectedReason OPTIONAL,
1358  ...
1359}
1360
1361
1362-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1363-- Data frames
1364-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1365
1366ItsStationPosition ::=	SEQUENCE {
1367  stationID      StationID,
1368  laneID         LaneID             OPTIONAL,
1369  nodeXY         NodeOffsetPointXY  OPTIONAL,
1370  timeReference  TimeReference      OPTIONAL,
1371  ...
1372}
1373
1374ItsStationPositionList ::=	SEQUENCE SIZE(1..5) OF ItsStationPosition
1375
1376Node ::= SEQUENCE {
1377  id              INTEGER,
1378  lane            LaneID           OPTIONAL,
1379  connectionID    LaneConnectionID OPTIONAL,
1380  intersectionID  IntersectionID   OPTIONAL,
1381  ...
1382}
1383
1384NodeLink ::= SEQUENCE SIZE (1..5) OF Node
1385
1386PrioritizationResponse ::=	SEQUENCE {
1387  stationID    StationID,
1388  priorState   PrioritizationResponseStatus,
1389  signalGroup  SignalGroupID,
1390  ...
1391}
1392
1393PrioritizationResponseList ::=	SEQUENCE SIZE(1..10) OF PrioritizationResponse
1394
1395SignalHeadLocation ::=	SEQUENCE {
1396  nodeXY         NodeOffsetPointXY,
1397  nodeZ          DeltaAltitude,
1398  signalGroupID  SignalGroupID,
1399  ...
1400}
1401
1402SignalHeadLocationList ::=	SEQUENCE (SIZE(1..64)) OF	SignalHeadLocation
1403
1404
1405-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1406-- Data elements
1407-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1408
1409BatteryStatus ::= ENUMERATED {
1410  unknown,
1411  critical,
1412  low,
1413  good,
1414  ...
1415}
1416
1417EmissionType ::= ENUMERATED {
1418  euro1,
1419  euro2,
1420  euro3,
1421  euro4,
1422  euro5,
1423  euro6,
1424  ...
1425}
1426
1427ExceptionalCondition ::= ENUMERATED {
1428  unknown,
1429  publicTransportPriority,
1430  emergencyVehiclePriority,
1431  trainPriority,
1432  bridgeOpen,
1433  vehicleHeight,
1434  weather,
1435  trafficJam,
1436  tunnelClosure,
1437  meteringActive,
1438  truckPriority,
1439  bicyclePlatoonPriority,
1440  vehiclePlatoonPriority,
1441  ...
1442}
1443
1444PtvRequestType  ::= ENUMERATED {
1445  preRequest,
1446  mainRequest,
1447  doorCloseRequest,
1448  cancelRequest,
1449  emergencyRequest,
1450  ...
1451}
1452
1453RejectedReason ::= ENUMERATED {
1454  unknown,
1455  exceptionalCondition,
1456  maxWaitingTimeExceeded,
1457  ptPriorityDisabled,
1458  higherPTPriorityGranted,
1459  vehicleTrackingUnknown,
1460  ...
1461}
1462
1463TimeReference ::= INTEGER { oneMilliSec(1) } (0..60000)
1464
1465END
1466
1467
1468-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
1469--
1470-- module: REGION
1471--
1472-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
1473
1474REGION {
1475  iso (1) standard (0) signalizedIntersection (19091) profilec (2) region (1)
1476  version2 (2)
1477}
1478
1479DEFINITIONS AUTOMATIC TAGS::= BEGIN
1480
1481IMPORTS
1482
1483addGrpC, REG-EXT-ID-AND-TYPE
1484FROM DSRC {
1485  iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)
1486}
1487
1488ConnectionManeuverAssist-addGrpC, ConnectionTrajectory-addGrpC,
1489IntersectionState-addGrpC, LaneAttributes-addGrpC, MapData-addGrpC,
1490MovementEvent-addGrpC, NodeAttributeSet-addGrpC, Position3D-addGrpC, RequestorDescription-addGrpC, RestrictionUserType-addGrpC, SignalStatusPackage-addGrpC
1491FROM AddGrpC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version2 (2)};
1492
1493Reg-AdvisorySpeed	            REG-EXT-ID-AND-TYPE ::= { ... }
1494
1495Reg-ComputedLane	            REG-EXT-ID-AND-TYPE ::= { ... }
1496
1497Reg-ConnectionManeuverAssist	REG-EXT-ID-AND-TYPE ::= {
1498  {ConnectionManeuverAssist-addGrpC  IDENTIFIED BY addGrpC},
1499  ...
1500}
1501
1502Reg-GenericLane	             REG-EXT-ID-AND-TYPE ::= {
1503  {ConnectionTrajectory-addGrpC	IDENTIFIED BY addGrpC} ,
1504  ...
1505}
1506
1507Reg-IntersectionGeometry  	  REG-EXT-ID-AND-TYPE ::= { ... }
1508
1509Reg-IntersectionState           REG-EXT-ID-AND-TYPE ::= {
1510  {IntersectionState-addGrpC IDENTIFIED BY addGrpC},
1511  ...
1512}
1513
1514Reg-LaneAttributes	             REG-EXT-ID-AND-TYPE ::= {
1515   {LaneAttributes-addGrpC IDENTIFIED BY addGrpC} ,
1516   ...
1517}
1518Reg-LaneDataAttribute           REG-EXT-ID-AND-TYPE ::= { ... }
1519
1520Reg-MapData	REG-EXT-ID-AND-TYPE ::= {
1521  {MapData-addGrpC  IDENTIFIED BY addGrpC},
1522  ...
1523}
1524
1525Reg-MovementEvent	            REG-EXT-ID-AND-TYPE ::= {
1526   {MovementEvent-addGrpC IDENTIFIED BY addGrpC} ,
1527   ...
1528}
1529Reg-MovementState               REG-EXT-ID-AND-TYPE ::= { ... }
1530
1531-- Reg-NodeAttributeSetLL       REG-EXT-ID-AND-TYPE ::= { ... }
1532
1533Reg-NodeAttributeSetXY          REG-EXT-ID-AND-TYPE ::= {
1534  {NodeAttributeSet-addGrpC   IDENTIFIED BY addGrpC},
1535  ...
1536}
1537
1538-- Reg-NodeOffsetPointLL	   REG-EXT-ID-AND-TYPE ::= { ... }
1539
1540Reg-NodeOffsetPointXY	       REG-EXT-ID-AND-TYPE ::= { ... }
1541
1542Reg-Position3D	              REG-EXT-ID-AND-TYPE ::= {
1543  {Position3D-addGrpC  IDENTIFIED BY addGrpC} ,
1544  ...
1545}
1546
1547Reg-RequestorDescription      REG-EXT-ID-AND-TYPE ::= {
1548   { RequestorDescription-addGrpC IDENTIFIED BY addGrpC} ,
1549   ...
1550}
1551
1552Reg-RequestorType	            REG-EXT-ID-AND-TYPE ::= { ... }
1553
1554Reg-RestrictionUserType	  REG-EXT-ID-AND-TYPE ::= {
1555  {RestrictionUserType-addGrpC IDENTIFIED BY addGrpC} ,
1556  ...
1557}
1558
1559Reg-RoadSegment	             REG-EXT-ID-AND-TYPE ::= { ... }
1560
1561Reg-RTCMcorrections             REG-EXT-ID-AND-TYPE ::= { ... }
1562
1563Reg-SignalControlZone           REG-EXT-ID-AND-TYPE ::= { ... }
1564
1565Reg-SignalRequest               REG-EXT-ID-AND-TYPE ::= { ... }
1566
1567Reg-SignalRequestMessage        REG-EXT-ID-AND-TYPE ::= { ... }
1568
1569Reg-SignalRequestPackage        REG-EXT-ID-AND-TYPE ::= { ... }
1570
1571Reg-SignalStatus	        REG-EXT-ID-AND-TYPE ::= { ... }
1572
1573Reg-SignalStatusMessage	 REG-EXT-ID-AND-TYPE ::= { ... }
1574
1575Reg-SignalStatusPackage	 REG-EXT-ID-AND-TYPE ::= {
1576  { SignalStatusPackage-addGrpC IDENTIFIED BY addGrpC },
1577  ...
1578}
1579
1580Reg-SPAT	                   REG-EXT-ID-AND-TYPE ::= { ... }
1581
1582END
1583