DSRC.asn 156 KB
Newer Older
ritterth's avatar
ritterth committed
* SRM message itself and also in the type of security CERT which is sent (the SSP in the CERT it used to identify the
* requester as being of type "police" and that they are allowed to send this message in this way). The BasicVehicleRole
* entry is often used and combined with other information about the requester as well, such as details of why the request is
* being made.
*
* - 0 - `basicVehicle`     - Light duty passenger vehicle type
* - 1 - `publicTransport`  - Used in EU for Transit us
* - 2 - `specialTransport` - Used in EU (e.g. heavy load)
* - 3 - `dangerousGoods`   - Used in EU for any HAZMAT
* - 4 - `roadWork`         - Used in EU for State and Local DOT uses
* - 5 - `roadRescue`       - Used in EU and in the US to include tow trucks.
* - 6 - `emergency`        - Used in EU for Police, Fire and Ambulance units
* - 7 - `safetyCar`        - Used in EU for Escort vehicles
* - 8 - `none-unknown`     - added to follow current SAE style guidelines
* - 9 - `truck`            - Heavy trucks with additional BSM rights and obligations
* - 10 - `motorcycle`      - Motorcycle
* - 11 - `roadSideSource`  - For infrastructure generated calls such as fire house, rail infrastructure, roadwork site, etc.
* - 12 - `police`          - Police vehicle
* - 13 - `fire`            - Firebrigade
* - 14 - `ambulance`       - (does not include private para-transit etc.)
* - 15 - `dot`             - all roadwork vehicles
* - 16 - `transit`         - all transit vehicles
* - 17 - `slowMoving`      - to also include oversize etc.
* - 18 - `stopNgo`         - to include trash trucks, school buses and others
* - 19 - `cyclist`         - bicycles
* - 20 - `pedestrian`      - also includes those with mobility limitations
* - 21 - `nonMotorized`    - other, horse drawn, etc.
* - 22 - `military`        - military vehicles
*
* @note: It should be observed that DSRC devices can at times change their roles (i.e. a fire operated by a volunteer
*    fireman can assume a fire role for a period of time when in service, or a pedestrian may assume a cyclist role when using
*    a bicycle). It should be observed that not all DSRC devices (or DSRC vehicles) can assume all roles, nor that a given
*    device in a given role will be provided with a security certificate (CERT) that has suitable SSP credentials to provide the
*    ability to send a particular message or message content. The ultimate responsibility to determine what role is to be used,
*    and what CERTs would be provided for that role (which in turn controls the messages and message content that can be
*    sent within SAE-defined PSIDs) rests with the regional deployment.
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
BasicVehicleRole ::= ENUMERATED {
  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),
  ...
}

ritterth's avatar
ritterth committed
/**
* The DSRC style day is a simple value consisting of integer values from zero to 31. The value of zero shall represent an unknown value.
*
* @unit: days
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
DDay ::= INTEGER (0..31)

ritterth's avatar
ritterth committed
/**
* This DE provides the final angle used in the last point of the lane path. Used to "cant" the stop line of the lane.
*
* 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.
*
* @unit: degree
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
DeltaAngle ::= INTEGER (-150..150)

ritterth's avatar
ritterth committed
/**
* This DE provides a time definition for an object's schedule adherence (typically a transit
* vehicle) within a limited range of time. When the reporting object is ahead of schedule, a positive value is used; when
* behind, a negative value is used. A value of zero indicates schedule adherence. This value is typically sent from a vehicle
* to the traffic signal controller's RSU to indicate the urgency of a signal request in the context of being within schedule or
* not. In another use case, the traffic signal controller may advise the transit vehicle to speed up (DeltaTime > 0) or to slow
* down (DeltaTime < 0) to optimize the transit vehicle distribution driving along a specific route (e.g. a Bus route).
*
* 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
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
DeltaTime ::= INTEGER (-122 .. 121)

ritterth's avatar
ritterth committed
/**
* This DE is used in maps and intersections to provide a human readable and
* recognizable name for the feature that follows. It is typically used when debugging a data flow and not in production use.
* One key exception to this general rule is to provide a human-readable string for disabled travelers in the case of
* crosswalks and sidewalk lane objects.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
DescriptiveName ::= IA5String (SIZE(1..63))

ritterth's avatar
ritterth committed
/**
* The DSRC hour consists of integer values from zero to 23 representing the hours within a day. The value of 31 shall
* represent an unknown value. The range 24 to 30 is used in some transit applications to represent schedule adherence.
*
* @unit: hours
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
DHour ::= INTEGER (0..31)

ritterth's avatar
ritterth committed
/**
* The DSRC style minute is a simple value consisting of integer values from zero to 59 representing the minutes
* within an hour. The value of 60 shall represent an unknown value.
*
* @unit: minutes
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
DMinute ::= INTEGER (0..60)

ritterth's avatar
ritterth committed
/**
* The DSRC month consists of integer values from one to 12, representing the month within a year. The value of 0
* shall represent an unknown value.
*
* @unit: months
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
DMonth ::= INTEGER (0..12)

ritterth's avatar
ritterth committed
/**
* The DSRC (time zone) offset consists of a signed integer representing an hour and minute value set from -14:00 to
* +14:00, representing all the world’s local time zones in units of minutes. The value of zero (00:00) may also represent an
* unknown value. Note some time zones are do not align to hourly boundaries.
*
* @unit: minutes from UTC time
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
DOffset ::= INTEGER (-840..840)

ritterth's avatar
ritterth committed
/**
* This DE is an integer value expressing the offset in a defined axis from a
* reference lane number from which a computed lane is offset. The measurement is taken from the reference lane center
* line to the new center line, independent of any width values. The units are a signed value with an LSB of 1 cm.
*
* @unit: cm
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
DrivenLineOffsetLg ::= INTEGER (-32767..32767)

ritterth's avatar
ritterth committed
/**
* The DrivenLineOffsetSmall data element is an integer value expressing the offset in a defined axis from a reference
* lane number from which a computed lane is offset. The measurement is taken from the reference lane center line to the
* new center line, independent of any width values. The units are a signed value with an LSB of 1 cm.
*
* @unit: cm
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
DrivenLineOffsetSm ::= INTEGER (-2047..2047)

ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
DSecond ::= INTEGER (0..65535)

ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
DSRCmsgID ::= INTEGER (0..32767)
  mapData                           DSRCmsgID ::=   18
  rtcmCorrections                   DSRCmsgID ::=   28
  signalPhaseAndTimingMessage       DSRCmsgID ::=   19
  signalRequestMessage              DSRCmsgID ::=   29
  signalStatusMessage               DSRCmsgID ::=   30

ritterth's avatar
ritterth committed
  /**
  *
  * @field xxxxx: .
  *
  * @category: Infrastructure information
  * @revision: V1.3.1
  */
ritterth's avatar
ritterth committed
DYear ::= INTEGER (0..4095)

ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
Elevation ::= INTEGER (-4096..61439)

ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
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)
   }


ritterth's avatar
ritterth committed
   /**
   *
   * @field xxxxx: .
   *
   * @category: Infrastructure information
   * @revision: V1.3.1
   */
ritterth's avatar
ritterth committed
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

ritterth's avatar
ritterth committed
   /**
   *
   * @field xxxxx: .
   *
   * @category: Infrastructure information
   * @revision: V1.3.1
   */
ritterth's avatar
ritterth committed
GNSSstatus ::= BIT STRING {
   unavailable               (0),
   isHealthy                 (1),
   isMonitored               (2),
   baseStationType           (3),
   aPDOPofUnder5             (4),
   inViewOfUnder5            (5),
   localCorrectionsPresent   (6),
   networkCorrectionsPresent (7)
   } (SIZE(8))

ritterth's avatar
ritterth committed
   /**
   *
   * @field xxxxx: .
   *
   * @category: Infrastructure information
   * @revision: V1.3.1
   */
ritterth's avatar
ritterth committed
HeadingConfidenceDSRC ::= ENUMERATED {
   unavailable   (0),
   prec10deg     (1),
   prec05deg     (2),
   prec01deg     (3),
   prec0-1deg    (4),
   prec0-05deg   (5),
   prec0-01deg   (6),
   prec0-0125deg (7)
   }

ritterth's avatar
ritterth committed
   /**
   *
   * @field xxxxx: .
   *
   * @category: Infrastructure information
   * @revision: V1.3.1
   */
ritterth's avatar
ritterth committed
HeadingDSRC ::= INTEGER (0..28800)

ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
IntersectionID ::= INTEGER (0..65535)

ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
IntersectionStatusObject ::= BIT STRING {
  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))

ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
LaneAttributes-Barrier ::= BIT STRING {
  median-RevocableLane     (0),
  median                   (1),
  whiteLineHashing         (2),
  stripedLines             (3),
  doubleStripedLines       (4),
  trafficCones             (5),
  constructionBarrier      (6),
  trafficChannels          (7),
  lowCurbs                 (8),
  highCurbs                (9)
} (SIZE (16))

ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
LaneAttributes-Bike ::= BIT STRING {
  bikeRevocableLane       (0),
  pedestrianUseAllowed    (1),
  isBikeFlyOverLane       (2),
  fixedCycleTime          (3),
  biDirectionalCycleTimes (4),
  isolatedByBarrier       (5),
  unsignalizedSegmentsPresent  (6)
} (SIZE (16))

ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
LaneAttributes-Crosswalk ::= BIT STRING {
  crosswalkRevocableLane  (0),
  bicyleUseAllowed        (1),
  isXwalkFlyOverLane      (2),
  fixedCycleTime          (3),
  biDirectionalCycleTimes (4),
  hasPushToWalkButton     (5),
  audioSupport            (6),
  rfSignalRequestPresent  (7),
  unsignalizedSegmentsPresent  (8)
} (SIZE (16))

ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
LaneAttributes-Parking ::= BIT STRING {
  parkingRevocableLane         (0),
  parallelParkingInUse         (1),
  headInParkingInUse           (2),
  doNotParkZone                (3),
  parkingForBusUse             (4),
  parkingForTaxiUse            (5),
  noPublicParkingUse           (6)
} (SIZE (16))

ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
LaneAttributes-Sidewalk ::= BIT STRING {
  sidewalk-RevocableLane  (0),
  bicyleUseAllowed        (1),
  isSidewalkFlyOverLane   (2),
  walkBikes               (3)
} (SIZE (16))

ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
LaneAttributes-Striping ::= BIT STRING {
  stripeToConnectingLanesRevocableLane      (0),
  stripeDrawOnLeft                          (1),
  stripeDrawOnRight                         (2),
  stripeToConnectingLanesLeft               (3),
  stripeToConnectingLanesRight              (4),
  stripeToConnectingLanesAhead              (5)
} (SIZE (16))

ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
LaneAttributes-TrackedVehicle ::= BIT STRING {
  spec-RevocableLane         (0),
  spec-commuterRailRoadTrack (1),
  spec-lightRailRoadTrack    (2),
  spec-heavyRailRoadTrack    (3),
  spec-otherRailType         (4)
} (SIZE (16))


ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
LaneAttributes-Vehicle ::= BIT STRING {
  isVehicleRevocableLane       (0),
  isVehicleFlyOverLane         (1),
  hovLaneUseOnly               (2),
  restrictedToBusUse           (3),
  restrictedToTaxiUse          (4),
  restrictedFromPublicUse      (5),
  hasIRbeaconCoverage          (6),
  permissionOnRequest          (7)
} (SIZE (8,...))

ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
LaneConnectionID ::= INTEGER (0..255)

ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
LaneDirection ::= BIT STRING {
  ingressPath     (0),
  egressPath      (1)
} (SIZE (2))

ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
LaneID ::= INTEGER (0..255)

ritterth's avatar
ritterth committed
/**
* Large MapData descriptions are not possible to be broadcast with a single message and have to be
fragmented using two or more messages over the air. Therefore, the `DE_layerID` allows defining an
index for fragmentation of large MapData descriptions. The fragmentation of the messages shall be
executed on application layer. The fragmentation occurs on an approach base. This means that almost a
complete approach (e.g. lanes, connectsTo, etc.) has to be included within a fragment.
The decimal value of the `layerID` is used to define the amount of maximum MapData fragments. The
lower value defines the actual fragment.
194
© ISO 2018 – All rights reservedISO/PRF TS 19091:2019 (E)
Example:
If a MapData consists of three fragments (e.g. three approaches), the fragments are identified as follows:
—31 first fragment of three (e.g. approach south);
—33 third fragment of three (e.g. approach north).

32 second fragment of three (e.g. approach west);
If there are only two fragments, the fragment identification will be 21, 22.
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
LayerID ::= INTEGER (0..100)

ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
LayerType ::= ENUMERATED {
  none,
  mixedContent,
  generalMapData,
  intersectionData,
  curveData,
  roadwaySectionData,
  parkingAreaData,
  sharedLaneData,
  ...
}

ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
LaneWidth ::= INTEGER (0..32767)

ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
MergeDivergeNodeAngle ::= INTEGER (-180..180)

ritterth's avatar
ritterth committed
/**
*
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
MinuteOfTheYear ::= INTEGER (0..527040)

ritterth's avatar
ritterth committed
/**
* The MovementPhaseState data element provides the overall current state of the movement (in many cases a
* signal state), including its core phase state and an indication of whether this state is permissive or protected.
*
* It is expected that the allowed transitions from one state to another will be defined by regional deployments. Not all
* regions will use all states; however, no new states are to be defined. In most regions a regulatory body provides precise
* legal definitions of these state changes. For example, in the US the MUTCD is used, as is indicated in the US regional
* variant of the above image. In various regions and modes of transportation, the visual expression of these states varies
* (the precise meaning of various color combinations, shapes, and/or flashing etc.). The below definition is designed to to
* be independent of these regional conventions.

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

* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
MovementPhaseState ::= ENUMERATED {
  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)
}

ritterth's avatar
ritterth committed
/**
* The DE_MsgCount data element is used to provide a sequence number within a stream of messages with the same
DSRCmsgID and from the same sender. A sender may initialize this element to any value in the range 0-127 when
sending the first message with a given DSRCmsgID, or if the sender has changed identity (e.g. by changing its
TemporaryID) since sending the most recent message with that DSRCmsgID. Depending on the application the sequence
number may change with every message or may remain fixed during a stream of messages when the content within each
message has not changed from the prior message sent. For this element, the value after 127 is zero.
The receipt of a non-sequential MsgCount value (from the same sending device and message type) implies that one or
more messages from that sending device may have been lost, unless MsgCount has been re-initialized due to an identity
change.

Remarks: In the absence of additional requirements defined in a standard using this data element, the follow guidelines
shall be used.
In usage, some devices change their Temporary ID frequently, to prevent identity tracking, while others do not. A change
in Temporary ID data element value (which also changes the message contents in which it appears) implies that the
MsgCount may also change value.
If a sender is composing a message with new content with a given DSRCmsgID, and the TemporaryID has not changed
since it sent the previous message, the sender shall increment the previous value.
If a sender is composing a message with new content with a given DSRCmsgID, and the TemporaryID has changed since
it sent the previous message, the sender may set the MsgCount element to any valid value in the range (including
incrementing the previous value).
If a sender is composing a message with the same content as the most recent message with the same DSRCmsgID, and
less than 10 seconds have elapsed since it sent the previous message with that DSRCmsgID, the sender will use the
same MsgCount as sent in the previous message.
If a sender is composing a message with the same content as the most recent message with the same DSRCmsgID, and
at least 10 seconds have elapsed since it sent the previous message with that DSRCmsgID, the sender may set the
MsgCount element to any valid value in the range; this includes the re-use of the previous value.
If a sending device sends more than one stream of messages from message types that utilize the MsgCount element, it
shall maintain a separate MsgCount state for each message type so that the MsgCount value in a given message
identifies its place in the stream of that message type. The MsgCount element is a function only of the message type in a
given sending device, not of the one or more applications in that device which may be sending the same type of message.

* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
MsgCount ::= INTEGER (0..127)

ritterth's avatar
ritterth committed
/**
* A 9-bit delta offset in X, Y or Z direction from some known point. For non-vehicle centric coordinate frames of
reference, offset is positive to the East (X) and to the North (Y) directions. The most negative value shall be used to
indicate an unknown value.
-- a range of +- 2.55 meters
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
Offset-B09 ::= INTEGER (-256..255)

ritterth's avatar
ritterth committed
/**
* A 10-bit delta offset in X, Y or Z direction from some known point. For non-vehicle centric coordinate frames of
reference, offset is positive to the East (X) and to the North (Y) directions. The most negative value shall be used to
indicate an unknown value.
a range of +- 5.11 meters
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
Offset-B10 ::= INTEGER (-512..511)

ritterth's avatar
ritterth committed
/**
* An 11-bit delta offset in X or Y direction from some known point. For non-vehicle centric coordinate frames of
reference, offset is positive to the East (X) and to the North (Y) directions. The most negative value shall be used to
indicate an unknown value.
* a range of +- 10.23 meters
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
Offset-B11 ::= INTEGER (-1024..1023)

ritterth's avatar
ritterth committed
/**
* A 12-bit delta offset in X, Y or Z direction from some known point. For non-vehicle centric coordinate frames of
reference, non-vehicle centric coordinate frames of reference, offset is positive to the East (X) and to the North (Y)
directions. The most negative value shall be used to indicate an unknown value.
*a range of +- 20.47 meters
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
Offset-B12 ::= INTEGER (-2048..2047)

ritterth's avatar
ritterth committed
/**
* A 13-bit delta offset in X or Y direction from some known point. For non-vehicle centric coordinate frames of
reference, offset is positive to the East (X) and to the North (Y) directions. The most negative value shall be used to
indicate an unknown value.
* a range of +- 40.95 meters
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
Offset-B13 ::= INTEGER (-4096..4095)

ritterth's avatar
ritterth committed
/**
* A 14-bit delta offset in X or Y direction from some known point. For non-vehicle centric coordinate frames of
reference, offset is positive to the East (X) and to the North (Y) directions.
* a range of +- 81.91 meters
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
Offset-B14 ::= INTEGER (-8192..8191)

ritterth's avatar
ritterth committed
/**
* A 16-bit delta offset in X, Y or Z direction from some known point. For non-vehicle centric coordinate frames of
reference, offset is positive to the East (X) and to the North (Y) directions. The most negative value shall be used to
indicate an unknown value.
* a range of +- 327.68 meters
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
Offset-B16 ::= INTEGER (-32768..32767)

ritterth's avatar
ritterth committed
/**
*The PedestrianBicycleDetect data element is used to provide an indication of whether Pedestrians and/or Bicyclists
have been detected in the crossing lane.
-- true if ANY Pedestrians or Bicyclists are
-- detected crossing the target lane or lanes
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
PedestrianBicycleDetect ::= BOOLEAN

ritterth's avatar
ritterth committed
/**
* The DE_PositionConfidence entry is used to provide the 95% confidence level for the currently reported value of
entries such as the DE_Position entries, taking into account the current calibration and precision of the sensor(s) used to
measure and/or calculate the value. It is used in the horizontal plane. This data element is only to provide the listener with
information on the limitations of the sensing system; not to support any type of automatic error correction or to imply a
guaranteed maximum error. This data element should not be used for fault detection or diagnosis, but if a vehicle is able
to detect a fault, the confidence interval should be increased accordingly. The frame of reference and axis of rotation used
shall be accordance with that defined in Section 11 of this standard.

unavailable (0), -- B'0000 Not Equipped or unavailable
a500m
(1), -- B'0001 500m or about 5 * 10 ^ -3 decimal degrees
a200m
(2), -- B'0010 200m or about 2 * 10 ^ -3 decimal degrees
a100m
(3), -- B'0011 100m or about 1 * 10 ^ -3 decimal degrees
a50m
(4), -- B'0100 50m
or about 5 * 10 ^ -4 decimal degrees
a20m
(5), -- B'0101 20m
or about 2 * 10 ^ -4 decimal degrees
a10m
(6), -- B'0110 10m
or about 1 * 10 ^ -4 decimal degrees
a5m
(7), -- B'0111 5m
or about 5 * 10 ^ -5 decimal degrees
a2m
(8), -- B'1000 2m
or about 2 * 10 ^ -5 decimal degrees
a1m
(9), -- B'1001 1m
or about 1 * 10 ^ -5 decimal degrees
a50cm (10), -- B'1010 0.50m or about 5 * 10 ^ -6 decimal degrees
a20cm (11), -- B'1011 0.20m or about 2 * 10 ^ -6 decimal degrees
a10cm (12), -- B'1100 0.10m or about 1 * 10 ^ -6 decimal degrees
a5cm
(13), -- B'1101 0.05m or about 5 * 10 ^ -7 decimal degrees
a2cm
(14), -- B'1110 0.02m or about 2 * 10 ^ -7 decimal degrees
a1cm
(15) -- B'1111 0.01m or about 1 * 10 ^ -7 decimal degrees
- Encoded as a 4 bit value
* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
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)
ritterth's avatar
ritterth committed
 }

 /**
 *The PrioritizationResponseStatus data element is used in the PrioritizationResponse data frame to indicate the
general status of a prior prioritization request.

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

 * @field xxxxx: .
 *
 * @category: Infrastructure information
 * @revision: V1.3.1
 */
ritterth's avatar
ritterth committed
PrioritizationResponseStatus ::= ENUMERATED {
  unknown           (0),
  requested         (1),
  processing        (2),
  watchOtherTraffic (3),
  granted           (4),
  rejected          (5),
  maxPresence       (6),
  reserviceLocked   (7),
  ...
}

ritterth's avatar
ritterth committed
/**
* The PriorityRequestType data element provides a means to indicate if a request (found in the Signal Request
Message) represents a new service request, a request update, or a request cancellation for either preemption or priority
services.


* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
PriorityRequestType ::= ENUMERATED {
  priorityRequestTypeReserved (0),
  priorityRequest             (1),
  priorityRequestUpdate       (2),
  priorityCancellation        (3),
  ...
}

ritterth's avatar
ritterth committed
/**
* The DE_RegionId is a data element used to define regions where unique additional content may be added and
used in the message set. The index values defined below represent various regions known at the time of publication. This
list is expected to grow over time. The index values assigned here can be augmented by local (uncoordinated)
assignments in the allowed range. It should be noted that such a local value is specified in the "REGION" ASN module, so
there is no need to edit the DSRC ASN specification of the standard. This process is further described in Section 11.1.

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

* @field xxxxx: .
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ritterth's avatar
ritterth committed
RegionId ::= INTEGER (0..255)
  noRegion     RegionId ::= 0
  addGrpA      RegionId ::= 1
  addGrpB      RegionId ::= 2
  addGrpC      RegionId ::= 3

ritterth's avatar
ritterth committed
  /**
  *
  * @field xxxxx: .