ITS-Container.asn 201 KB
Newer Older
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE represents A unique identifier assigned to an entity.
 * 
 * @category: Road Topology Information
 */
RoadRegulatorId ::= INTEGER (0..65535)

/**
 * This DE represnets an identifier assigned to a section of roadway.
 * 
 * @category: Road Topology Information
 */
RoadSegmentID ::= INTEGER (0..65535)

/**
 * This DE indicates the type of a road segment.
 * 
 * @category: Road Topology Information
 */
RoadType ::= ENUMERATED {
    urban-NoStructuralSeparationToOppositeLanes(0),
    urban-WithStructuralSeparationToOppositeLanes(1),
    nonUrban-NoStructuralSeparationToOppositeLanes(2),
    nonUrban-WithStructuralSeparationToOppositeLanes(3)}

/**
 * This DE represents the value of the sub cause codes of the @ref CauseCode `roadworks`.
 * 
Denis Filatov's avatar
Denis Filatov committed
 * The sub causes are described as following:
tijinkj's avatar
tijinkj committed
 * - 0 `unavailable`                 : in case further detailed information on roadworks is unavailable,
 * - 1 `majorRoadworks`              : in case a major roadworks is ongoing,
 * - 2 `roadMarkingWork`             : in case a road marking work is ongoing,
 * - 3 `slowMovingRoadMaintenance`   : in case slow moving road maintenance work is ongoing,
 * - 4 `shortTermStationaryRoadworks`: in case a short term stationary roadwork is ongoing,
 * - 5 `streetCleaning`              : in case a vehicle street cleaning work is ongoing,
 * - 6 `winterService`               : in case winter service work is ongoing,
 * - 7-255 reserved for future usage.
Denis Filatov's avatar
Denis Filatov committed
 *
 * @category: Traffic information
 */
tijinkj's avatar
tijinkj committed
RoadworksSubCauseCode ::= INTEGER {
    unavailable(0), 
    majorRoadworks(1),
    roadMarkingWork(2), 
    slowMovingRoadMaintenance(3), 
    shortTermStationaryRoadworks(4), 
   streetCleaning(5), 
   winterService(6)
Denis Filatov's avatar
Denis Filatov committed
} (0..255)
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE indicates if a distance is safe 
 * This DE is FALSE  if  the triple  {LaD,  LoD, VD} < {MSLaD, MSLoD, MSVD} simultaneously  satisfied with confidence of  90 % or  more. 
 * Otherwise  stationSafeDistanceIndication is set as  TRUE   3
Denis Filatov's avatar
Denis Filatov committed
 *
tijinkj's avatar
tijinkj committed
 * @Note: the ebbreviations used are Lateral Distance (LaD),  Longitudinal Distance (LoD) and Vertical Distance (VD) 
 * and their respective  thresholds, Minimum  Safe  Lateral  Distance (MSLaD), Minimum  Safe  Longitudinal Distance  (MSLoD),  and  Minimum  Safe Vertical Distance (MSVD)
 * @category: tbd
 * Revision: created in V2.1.1
*/
SafeDistanceIndicator::= BOOLEAN

/**
 * This DE represenst the absolute position accuracy in one of the axis direction as defined in a shape of ellipse with a 
 * confidence level of 95 %. 
 * 
 * The value shall be set to:
 * - `1` if the accuracy is equal to or less than 1 cm,
 * - `n (n > 1 and n < 4 093)` if the accuracy is equal to or less than n cm,
 * - `4 093` if the accuracy is equal to or less than 4 093 cm,
 * - `4 094` if the accuracy is out of range, i.e. greater than 4 093 cm,
 * - `4 095` if the accuracy information is unavailable.
 * 
 * 
 * @note:	The fact that a position coordinate value is received with confidence set to 'unavailable(4095)'
 * can be caused by several reasons, such as:
 * - the sensor cannot deliver the accuracy at the defined confidence level because it is a low-end sensor,
 * - the sensor cannot calculate the accuracy due to lack of variables, or
 * - there has been a vehicle bus (e.g. CAN bus) error.
 * In all 3 cases above, the reported position coordinate value may be valid and used by the application.
 * If a position coordinate value is received and its confidence is set to 'outOfRange(4094)', it means that
 * the reported position coordinate value is not valid and therefore cannot be trusted. Such value is not useful
 * for the application.
 */
SemiAxisLength ::= INTEGER{oneCentimeter(1), outOfRange(4094), unavailable(4095)} (0..4095)

/** 
 * This DE indicates the type of sensor.
 * 
 * The following values are specified:
 * - undefined       (0),
 * - radar           (1),
 * - lidar           (2),
 * - monovideo       (3),
 * - stereovision    (4),
 * - nightvision     (5),
 * - ultrasonic      (6),
 * - pmd             (7),
 * - fusion          (8),    --< object information provided from sensor data fusion system
 * - inductionloop   (9),
 * - sphericalCamera (10),
 * - itssaggregation (11)    --< object information gathered from other received ITS messages
 * @unit n/a
*/
SensorType ::= INTEGER {
    undefined       (0),
    radar           (1),
    lidar           (2),
    monovideo       (3),
    stereovision    (4),
    nightvision     (5),
    ultrasonic      (6),
    pmd             (7),
    fusion          (8), 
    inductionloop   (9),
    sphericalCamera (10),
    itssaggregation (11) 
} (0..15)

/**
 * This DE represents a sequence number.
 * 
 * @category Other information
 */
SequenceNumber ::=  INTEGER (0..65535)

/**
 * This DE represenst thevalue of the sub cause codes of the @ref CauseCode `signalViolation`.
 * 
 * The following values are specified:
 * - 0 `unavailable`               : in case further detailed information on signal violation event is unavailable,
 * - 1 `stopSignViolation`         : in case a stop sign violation is detected,
 * - 2 `trafficLightViolation`     : in case a traffic light violation is detected,
 * - 3 `turningRegulationViolation`: in case a turning regulation violation is detected,
 * - 4-255: reserved for future usage.
Denis Filatov's avatar
Denis Filatov committed
 *
 * @category: Traffic information
 */
tijinkj's avatar
tijinkj committed
SignalViolationSubCauseCode ::= INTEGER {
    unavailable(0), 
    stopSignViolation(1), 
    trafficLightViolation(2), 
    turningRegulationViolation(3)
Denis Filatov's avatar
Denis Filatov committed
} (0..255)
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE represents the sub cause codes of the @ref CauseCode "slowVehicle".
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * The following values are specified:
Denis Filatov's avatar
Denis Filatov committed
 * - 0 `unavailable`                    : in case further detailed information on slow vehicle driving event is
 *                                        unavailable,
 * - 1 `maintenanceVehicle`             : in case of a slow driving maintenance vehicle on the road,
 * - 2 `vehiclesSlowingToLookAtAccident`: in case vehicle is temporally slowing down to look at accident, spot, etc.,
 * - 3 `abnormalLoad`                   : in case an abnormal loaded vehicle is driving slowly on the road,
 * - 4 `abnormalWideLoad`               : in case an abnormal wide load vehicle is driving slowly on the road,
 * - 5 `convoy`                         : in case of slow driving convoy on the road,
 * - 6 `snowplough`                     : in case of slow driving snow plough on the road,
 * - 7 `deicing`                        : in case of slow driving de-icing vehicle on the road,
 * - 8 `saltingVehicles`                : in case of slow driving salting vehicle on the road,
 * - 9-255 reserved for future usage.
 * 
 * @category: Traffic information
 */
tijinkj's avatar
tijinkj committed
SlowVehicleSubCauseCode ::= INTEGER {
    unavailable(0), 
    maintenanceVehicle(1), 
    vehiclesSlowingToLookAtAccident(2), 
    abnormalLoad(3), 
    abnormalWideLoad(4), 
    convoy(5), 
    snowplough(6), 
    deicing(7), 
    saltingVehicles(8)
} (0..255)

Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * The DE indicates if a vehicle is carrying goods with heavy load, excess width, excess length or excess height.
 * The corresponding bit shall be set to 1 when the special transport applies to the corresponding case.
 * Otherwise, the corresponding bit shall be set to 0.
 *
 * @category Vehicle information
 */
SpecialTransportType ::= BIT STRING {
    heavyLoad(0),
    excessWidth(1), 
    excessLength(2), 
    excessHeight(3)
} (SIZE(4))

/**
 * This DE represents the absolute accuracy of a speed value information for a predefined confidence level.
 * The required confidence level is defined by the station applying this DE.
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
 * - `1` if the speed accuracy is equal to or less than `1 cm/s`.
 * - `n (n > 1 and n < 125)` if the speed accuracy is equal to or less than `n cm/s`.
 * - `125` if the speed accuracy is equal to or less than `125 cm/s`.
 * - `126` if the speed accuracy is out of range, i.e. greater than `125 cm/s`.
 * - `127` if the speed accuracy information is not available.
 * 
 * 
 * @note:	The fact that a speed value is received with confidence set to `unavailable(127)` can be caused by several reasons, such as:
 * - the sensor cannot deliver the accuracy at the defined confidence level because it is a low-end sensor,
 * - the sensor cannot calculate the accuracy due to lack of variables, or
 * - there has been a vehicle bus (e.g. CAN bus) error.
 * In all 3 cases above, the reported speed value may be valid and used by the application.
 * 
 * @note: If a speed value is received and its confidence is set to `outOfRange(126)`, it means that the reported speed value is not valid and therefore cannot be trusted. Such is not useful for the application.
 *
 * @unit cm/s
 * @category: Vehicle information
 */
SpeedConfidence ::= INTEGER {
    equalOrWithinOneCentimeterPerSec(1), 
    equalOrWithinOneMeterPerSec(100), 
    outOfRange(126), 
    unavailable(127)
} (1..127)

/**
 * This DE represents a speed limitation applied to a geographical position, a road section or a geographical region.
 * 
 * @unit: km/h
 * @category: Infrastructure information, Traffic information
 */
SpeedLimit ::= INTEGER {
    oneKmPerHour(1)
} (1..255)

/**
 * This DE represents a speed value. 
 *
 * The following values are specified:
 * - standstill(0): this value is set for a standstill situation.
 * - In case of movement, DE is set to the applicable value between `0,01` and `163,82 m/s`.
 * - oneCentimeterPerSec(1): is an examplary value for 0,01 m/s
 * - For values equal to or greater than `163,82 m/s`, the value shall be set to `16 382`.
 * - When the information is not available, the value shall be set to `16 383`.
 * 
 * The DE is used in @ref Speed DF as defined in clause A.126.
 * 
 * @unit: 0,01 m/s
 * @category: Vehicle information
*/
SpeedValue ::= INTEGER {standstill(0), oneCentimeterPerSec(1), unavailable(16383)} (0..16383)

/** 
 * This DE represents a speed value with extended range. 
 *
 * The following values are specified:
 * -  negativeSpeedMaximum   (-16383), - this value is set in case of speed values equal to or smaller than -163,83 m/s
 * -   standstill             (0), this value is set in case of stanstill. 
 * -   oneCentimeterPerSec    (1), this is an exemplary value 0,01 m/s
 * -   speedMaximum           (16382), --< this value is setfor values equal to or greater than 163,82 m/s
  * -   unavailable            (16383)  --< this value is set if information is not available
 * @unit 0,01 m/s
*/
SpeedValueExtended ::= INTEGER {
    negativeSpeedMaximum   (-16383),
    standstill             (0),
    oneCentimeterPerSec    (1),
    speedMaximum           (16382),
    unavailable            (16383)  
} (-16383..16383)


/**
 * This DE indicates the  estimated probability  of  a  stability  level LOSS? : OR the actual estimated stability level??? tbd.
 *
 * The following values are specified:
 * - zero(0): this value indicates stable. 
 * - Values between 1 and 50 indicate the actual stability level.
 * - twoPercent (1): an exemplary value for 2 percent.
 * - hundredPercent(50): this value indicates total stability.
 * - the values between 51 and 62 are reserved. 
 * - unavailable (63): this value indicates that the information is unavailable.. 
 *
 * @unit: 2%
 * @category: Kinematics information
 */
StabilityLossProbability ::= INTEGER { 
    zero(0), 
    twoPercent (1),
    hundredPercent(50), 
    unavailable (63) 
} (0..63) 

/**
 * Length as a measure of distance between points or objects used in the definition of various other types. 
 *
 * @unit: 0.1 meter
 * @category: Basic information
 */
StandardLength::= INTEGER (0..16383)

/**
 * Length as a measure of distance between points or objects used in the definition of various other types 
 *
 * The DE is used in @ref tbd
 * @unit: 0.1 meter
 * @category: Basic information
 */
StandardLengthSmall::= INTEGER (0..255)

/**
 * This DE indicates the duration in minutes of a something being stationary.
 * 
 * The following values are specified:
 * - lessThan1Minute(0: being stationary since less than 1 minute. 
 * - lessThan2Minutes(1): being stationary since less than 2 minute and for equal to or more 1 minute. 
 * - lessThan15Minutes(2)´: being stationary since less than 15 minutes and for equal to or more than 1 minute. 
 * - equalOrGreater15Minutes(3): being stationary since equal to or greater than 15 minutes.
 * @category: Kinematics information
 */
StationarySince ::= ENUMERATED {
    lessThan1Minute(0), 
    lessThan2Minutes(1), 
    lessThan15Minutes(2), 
    equalOrGreater15Minutes(3)}

/**
 * This DE provides the value of the sub cause codes of the @ref CauseCode "stationaryVehicle" 
 * 
 * The following values are specified:
Denis Filatov's avatar
Denis Filatov committed
 * - 0 `unavailable`           : in case further detailed information on stationary vehicle is unavailable,
 * - 1 `humanProblem`          : in case stationary vehicle is due to health problem of driver or passenger,
 * - 2 `vehicleBreakdown`      : in case stationary vehicle is due to vehicle break down,
 * - 3 `postCrash`             : in case stationary vehicle is caused by collision,
 * - 4 `publicTransportStop`   : in case public transport vehicle is stationary at bus stop,
 * - 5 `carryingDangerousGoods`: in case the stationary vehicle is carrying dangerous goods,
tijinkj's avatar
tijinkj committed
 * - 6 `vehicleOnFire`         : in case of vehicle on fire.
 * - 7-255 reserved for future usage.
Denis Filatov's avatar
Denis Filatov committed
 *
 * @category: Traffic information
 */
tijinkj's avatar
tijinkj committed
StationaryVehicleSubCauseCode ::= INTEGER {
    unavailable(0), 
    humanProblem(1), 
    vehicleBreakdown(2), 
    postCrash(3), 
    publicTransportStop(4), 
    carryingDangerousGoods(5), 
    vehicleOnFire (6)} 
(0..255)
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE represents the identifier of an ITS-S.
 * The ITS-S ID may be a pseudonym. It may change over space and/or over time.
Denis Filatov's avatar
Denis Filatov committed
 *
tijinkj's avatar
tijinkj committed
 * @category: Basic information
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
StationID ::= INTEGER(0..4294967295)
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE represenst the type of technical context the ITS-S is integrated in.
 * The station type depends on the integration environment of ITS-S into vehicle, mobile devices or at infrastructure.
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
 * - 0 `unknown`: information about the ITS-S context is not provided,
 * - 1 pedestrian`: ITS-S carried by human being not using a mechanical device for their trip (VRU profile 1).
 * - 2 `cyclist`: ITS-S mounted on non-motorized unicycles, bicycles , tricycles, quadracycles,
 * - 3 `moped`: ITS-S mounted on light motor vehicles with less than four wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 [i.18] class L1, L2 (VRU Profile 3)
 * - 4 `motorcycles`: ITS-S mounted on motor vehicles with less than four wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 [i.18] class L3, L4, L5, L6, L7 (VRU Profile 3)
 * - 5 `passengerCar`: ITS-S mounted on small passenger vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 [i.18] class M1,
 * - 6 `bus`: ITS-S mounted on large passenger vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 [i.18] class M2, M3,
 * - 7 `lightTruck`: ITS-S mounted on light Goods Vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 [i.18] class N1,
 * - 8 `heavyTruck`: ITS-S mounted on Heavy Goods Vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 [i.18] class N2 and N3,
 * - 9 `trailer`: ITS-S mounted on an unpowered vehicle that is intended to be towed by a powered vehicle as defined in UNECE/TRANS/WP.29/78/Rev.4 [i.18] class O,
 *   ***NOTE***: Only to be used when not towed.
 * - 10 `specialVehicles`: ITS-S mounted on vehicles which have special purposes other than the above (e.g. moving road works vehicle),
 * - 11 `tram`: ITS-S mounted on a vehicle which runs on tracks along public streets,
 * - 12 `lightVruVehicle`: ITS-S carried by a human being traveling on light vehicle , incl. possible use of roller skates or skateboards (VRU profile 2).
 * - 13 `animal`: ITS-S carried by an animal presenting a safety risk to other road users e.g. domesticated dog in a city or horse (VRU Profile 4)
 * - 15 `roadSideUnit`: ITS-S mounted on an infrastructure typically positioned outside of the drivable roadway (e.g. on a gantry, on a pole, on a stationary road works trailer); the infrastructure is static during the entire operation period of the ITS-S (e.g. no stop and go activity),
 * - 16 16-255: reserved for future usage.
 * 
 * 
 * @category Vehicle information tbd.
 */
StationType ::= INTEGER {
    unknown(0), 
    pedestrian(1), 
    cyclist(2), 
    moped(3), 
    motorcycle(4), 
    passengerCar(5), 
    bus(6), 
    lightTruck(7), 
    heavyTruck(8), 
    trailer(9), 
    specialVehicles(10), 
    tram(11), 
    lightVruVehicle(12), 
    animal (13), 
    roadSideUnit(15)
} (0..255)

/**
 * This DE represents the absolute accuracy for a reported steering wheel angle value for a confidence level of 95 %.
 * The required confidence level is defined by the station applying this DE.
 * 
 * The following values are specified:
 * - `1` if the steering wheel angle accuracy is equal to or less than 1,5 degrees,
 * - `n (n > 1 and n < 125)` if the steering wheel angle accuracy is equal to or less than n × 1,5 degrees,
 * - `125` if the steering wheel angle accuracy is equal to or less than 1,5 degrees ×125 = 187,5 degrees,
 * - `126` if the accuracy is out of range, i.e. greater than 187,5 degrees,
 * - `127` if the accuracy information is not available.
 * 
 * @note 1: The fact that a steering wheel angle value is received with confidence set to 'unavailable(127)'
 * can be caused by several reasons, such as:
 * - the sensor cannot deliver the accuracy at the defined confidence level because it is a low-end sensor,
 * - the sensor cannot calculate the accuracy due to lack of variables, or
 * - there has been a vehicle bus (e.g. CAN bus) error.
 * In all 3 cases above, the reported steering wheel angle value may be valid and used by the application.
 * 
 * If a steering wheel angle value is received and its confidence is set to 'outOfRange(126)',
 * it means that the reported steering wheel angle value is not valid and therefore cannot be trusted.
 * Such value is not useful for the application.
 * 
 * @unit: 1.5 degree
 * @category: Vehicle Information
*/
SteeringWheelAngleConfidence ::= INTEGER {
    equalOrWithinOnePointFiveDegree (1), 
    outOfRange(126), 
    unavailable(127)
} (1..127)

/**
 * This DE represents the steering wheel angle of the vehicle at certain point in time.
 * It corresponds to the vehicle coordinate system as specified in ISO 8855 [2].
 * 
 * The following values are specified:
 * - Positive values indicate that the steering wheel angle is turning counter-clockwise (i.e. to the left).
 * - Negative values shall be used when the steering wheel angle is turning clockwise (i.e. to the right).
 * - The value shall be set to `511` if the steering wheel angle is equal to or greater than 511 × 1,5 degrees = 766,5 degrees to the left.
 * - The value shall be set to `-511` if the steering wheel angle is equal to or greater than 511 × 1,5 degrees = 766,5 degrees to the right.
 * - When the information is not available, the value shall be set to `512`.
 * 
 * The DE is used in @ref SteeringWheelAngle DF as defined in clause A.127.
 * @unit: 1.5 degree
 * @category: Vehicle Information
 */
SteeringWheelAngleValue ::= INTEGER {
    straight(0), 
    onePointFiveDegreesToRight(-1), 
    onePointFiveDegreesToLeft(1), 
    unavailable(512)
} (-511..512)

/**
 * This DE indicates the sub cause of a detected event.
 * 
 * @note 1: The sub cause code value assignment varies based on value of @ref CauseCode
Denis Filatov's avatar
Denis Filatov committed
 *
 * @category: Traffic information
 */
tijinkj's avatar
tijinkj committed
SubCauseCodeType ::= INTEGER (0..255)

/**
 * This DE indicates a temperature value.
 * - For temperature equal to or less than -60 °C, the value shall be set to  `60`.
 * - For temperature equal to or greater than 67 °C, the value shall be set to `67`.
 * 
 * @unit: °C
 * @category: Basic information
 */
Temperature ::= INTEGER {
    equalOrSmallerThanMinus60Deg (-60), 
    oneDegreeCelsius(1), 
    equalOrGreaterThan67Deg(67)} (-60..67)
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE represenst the number of milliseconds since `2004-01-01T00:00:00.000Z`, as specified in ISO 8601 [i.10].
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * EXAMPLE:	The value for TimestampIts for `2007-01-01T00:00:00.000Z` is `94 694 401 000` milliseconds,
 * which includes one leap second insertion since `2004-01-01T00:00:00.000Z`.
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 *  
 * @unit: millisecond
 * @category: Basic Information
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
TimestampIts ::= INTEGER {utcStartOf2004(0), oneMillisecAfterUTCStartOf2004(1)} (0..4398046511103)
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE represents the value of the sub cause codes of the @ref CauseCode `trafficCondition`. 
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * The following values are specified:
 * - 0 `unavailable`                 : in case further detailed information on traffic jam is unavailable,
 * - 1 `increasedVolumeOfTraffic`    : in case detected jam volume is increased,
 * - 2 `trafficJamSlowlyIncreasing`  : in case detected traffic jam volume is increasing slowly,
 * - 3 `trafficJamIncreasing`        : in case traffic jam volume is increasing,
 * - 4 `trafficJamStronglyIncreasing`: in case traffic jam volume is strongly increasing,
 * - 5 `trafficStationary`           : in case traffic is stationary,
 * - 6 `trafficJamSlightlyDecreasing`: in case traffic jam volume is decreasing slowly,
 * - 7 `trafficJamDecreasing`        : in case traffic jam volume is decreasing,
 * - 8 `trafficJamStronglyDecreasing`: in case traffic jam volume is decreasing rapidly,
 * - 9-255: reserved for future usage.
Denis Filatov's avatar
Denis Filatov committed
 *
 * @category: Traffic information
 */
tijinkj's avatar
tijinkj committed
TrafficConditionSubCauseCode ::= INTEGER {
    unavailable(0),
    increasedVolumeOfTraffic(1),
    trafficJamSlowlyIncreasing(2),
    trafficJamIncreasing(3),
    trafficJamStronglyIncreasing(4),
    trafficStationary(5),
    trafficJamSlightlyDecreasing(6),
    trafficJamDecreasing(7),
    trafficJamStronglyDecreasing(8)
} (0..255)
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE indicates traffic rules that apply to vehicles at a certain position.
Denis Filatov's avatar
Denis Filatov committed
 *
tijinkj's avatar
tijinkj committed
 * The following values are specified:
 * - If overtaking is prohibited for all vehicles, the DE shall be set to `0`.
 * - If overtaking is prohibited for trucks, the DE shall be set to `1`.
 * - If vehicles should pass to the right lane, the DE shall be set to `2`.
 * - If vehicles should pass to the left lane, the DE shall be set to `3`.
 *
 * @category: Infrastructure information, Traffic information
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
TrafficRule ::= ENUMERATED {
    noPassing(0), 
    noPassingForTrucks(1), 
    passToRight(2), 
    passToLeft(3), ...}
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This  DE  defines  the  probability  that the ego trajectory  intercepts  with any  other object's  trajectory  on the  road. 
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * @category: Kinematics information
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
TrajectoryInterceptionProbability ::= INTEGER { 
    zero(0), 
    twoPercent(1), 
    fourPercent(2), 
    oneHundredPercent(50), 
    unavailable (63) } (0..63) 
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE  defines  the  confidence level of the trajectoryInterceptionProbability.
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * @category: Kinematics information
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
TrajectoryInterceptionConfidence ::= INTEGER { 
    lessthan50percent(0), 
    between50and70Percent(1),
    between70and90Percent(2), 
    above90Percent(3) } (0..3)

Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE represents a time interval between two consecutive message transmissions.
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * @unit: milliseconds
 * @category: Basic information
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
TransmissionInterval ::= INTEGER {
    oneMilliSecond(1), 
    tenSeconds(10000)
} (1..10000)
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE  provides  the turning direction. 
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * @category: 
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
TurningDirection::= ENUMERATED {
    left, 
    right 
}
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE represents the smallest circular turn (i.e. U-turn) that the vehicle is capable of making.
 *
 * The following values are specified:
 * - The DE is set to the applicable value in the range of 1 to 253 meters.
 * - The value shall be set to `254` if the turning radius is equal to or greater than 254 x 0.4 metre = 101.6 metres.
 * - The value shall be set to `255` if the information is unavailable.
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * For vehicle with tracker, the turning radius applies to the vehicle only.
Denis Filatov's avatar
Denis Filatov committed
 *
tijinkj's avatar
tijinkj committed
 * @category: Vehicle information
 * @unit 0.4 metre
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
TurningRadius ::= INTEGER {
    point4Meters(1), 
    unavailable(255)
} (1..255)
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This De represents the Vehicle Descriptor Section (VDS). The values are assigned according to ISO 3779 [i.7].
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * @category: Vehicle information
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
VDS ::= IA5String (SIZE(6))
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE represents the value of the sub cause codes of the @CauseCode `vehicleBreakdown`. 
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * The following values are specified:
Denis Filatov's avatar
Denis Filatov committed
 * - 0 `unavailable`         : in case further detailed information on cause of vehicle break down is unavailable,
 * - 1 `lackOfFuel`          : in case vehicle break down is due to lack of fuel,
 * - 2 `lackOfBatteryPower`  : in case vehicle break down is caused by lack of battery power,
 * - 3 `engineProblem`       : in case vehicle break down is caused by an engine problem,
 * - 4 `transmissionProblem` : in case vehicle break down is caused by transmission problem,
 * - 5 `engineCoolingProblem`: in case vehicle break down is caused by an engine cooling problem,
 * - 6 `brakingSystemProblem`: in case vehicle break down is caused by a braking system problem,
 * - 7 `steeringProblem`     : in case vehicle break down is caused by a steering problem,
 * - 8 `tyrePuncture`        : in case vehicle break down is caused by tire puncture,
 * - 9 `tyrePressureProblem` : in case low tyre pressure in detected,
 * - 10-255: reserved for future usage.
 *
 * @category: Traffic information
 */
tijinkj's avatar
tijinkj committed
VehicleBreakdownSubCauseCode ::= INTEGER {
    unavailable(0), 
    lackOfFuel (1), 
    lackOfBatteryPower (2), 
    engineProblem(3), 
    transmissionProblem(4), 
    engineCoolingProblem(5), 
    brakingSystemProblem(6), 
    steeringProblem(7), 
    tyrePuncture(8), 
    tyrePressureProblem(9), 
    vehicleOnFire (10)
} (0..255)

/** 
 * This DE represents the height if the vehicle, measured from the ground to the highest point, excluding any antennas.
 * In case vehicles are equipped with adjustable ride heights, camper shells, and any other
 * equipment which may result in varying height, the largest possible height shall be used.
 *
 * @unit 5 cm (DE ranges to 6.35 m)
*/
VehicleHeight ::= INTEGER (0..127) --tbd
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE provides information about the presence of a trailer. 
Denis Filatov's avatar
Denis Filatov committed
 *
tijinkj's avatar
tijinkj committed
 * The following values are specified:
 * - noTrailerPresent(0): used when no trailer is present.
 * - trailerPresentWithKnownLength(1): used when a trailer is present and the length is  included in a reported vehicle length value.
 * - trailerPresentWithUnknownLength(2): used when a trailer is present and the length is not included in a reported vehicle length value.
 * - trailerPresenceIsUnknown(3): used when the trailer presence is unknown.
 * - unavailable(4): value used when the information is not known. 
 * 
 * @category: Vehicle information
 * Revision: Editorial update in V2.1.1
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
VehicleLengthConfidenceIndication ::= ENUMERATED {
    noTrailerPresent(0), 
    trailerPresentWithKnownLength(1), 
    trailerPresentWithUnknownLength(2), 
    trailerPresenceIsUnknown(3), 
    unavailable(4)}
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE represents the length of a vehicle.
 *
 * The following values are specified:
 * - The DE is set to the applicable value in the range of 1 cm and 102,2 meters.
 * - The DE is set to 1 022 if the vehicle length is equal to or greater than 102.2 metres.
 * - The DE is set to 1 023 if the information in unavailable.
tijinkj's avatar
tijinkj committed
 * @unit: 0.1 metre
Denis Filatov's avatar
Denis Filatov committed
 * @category: Vehicle information
tijinkj's avatar
tijinkj committed
 * Revision: Editorial update in V2.1.1
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
VehicleLengthValue ::= INTEGER {
    tenCentimeters(1), 
    outOfRange(1022), 
    unavailable(1023)
}  (1..1023)
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE represents the mass of an empty loaded vehicle in multiple of 100 kg.
 *
 * The following values are specified: 
 * - The DE is set to the applicable value in the range of 100 kg and 102 200 kg.
 * - The value shall be set to `1 023` if the vehicle mass is equal to or greater than `102 300 kg`.
 * - The value shall be set to `1 024` when the vehicle mass information is unavailable.
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * @note:	The empty load vehicle is defined in ISO 1176 [i.9], clause 4.6.
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * @unit: 100kg
Denis Filatov's avatar
Denis Filatov committed
 * @category: Vehicle information
tijinkj's avatar
tijinkj committed
 * Revision: Editorial update in V2.1.1
*/
VehicleMass ::= INTEGER {
    hundredKg(1), 
    unavailable(1024)} (1..1024) 
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE indicates the role played by a vehicle at a point in time.
 * The DE shall be set to:
 * - 0 `default`: default vehicle role as indicated by the vehicle type,
 * - 1 `publicTransport`: vehicle is used to operate public transport service,
 * - 2 `specialTransport`: vehicle is used for special transport purpose, e.g. oversized trucks,
 * - 3 `dangerousGoods`: vehicle is used for dangerous goods transportation,
 * - 4 `roadWork`: vehicle is used to realize roadwork or road maintenance mission,
 * - 5 `rescue`: vehicle is used for rescue purpose in case of an accident, e.g. as a towing service,
 * - 6 `emergency`: vehicle is used for emergency mission, e.g. ambulance, fire brigade,
 * - 7 `safetyCar`: vehicle is used for public safety, e.g. patrol,
 * - 8 `agriculture`: vehicle is used for agriculture, e.g. farm tractor as defined
 *   in CEN/TS 16157-3 [3], annex A, table A.137,
 * - 9 `commercial`: vehicle is used for transportation of commercial goods as defined
 *   in CEN/TS 16157-3 [3], annex A, table A.137,
 * - 10 `military`: vehicle is used for military purpose as defined in CEN/TS 16157-3 [3], annex A, table A.137,
 * - 11 `roadOperator`: vehicle is used in road operator missions as defined in CEN/TS 16157-3 [3], annex A, table A.137,
 * - 12 `taxi`: vehicle is used to provide an authorized taxi service as defined
 *   in CEN/TS 16157-3 [3], annex A, table A.137,
 * - 13 `reserved`: reserved for future usage,
 * - 14 `reserved`: reserved for future usage,
 * - 15 `reserved`: reserved for future usage.
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * @category: Vehicle Information
 * Revision: V1.3.1
 */
VehicleRole ::= ENUMERATED {
    default(0), 
    publicTransport(1), 
    specialTransport(2), 
    dangerousGoods(3), 
    roadWork(4), 
    rescue(5), 
    emergency(6), 
    safetyCar(7), 
    agriculture(8), 
    commercial(9), 
    military(10), 
    roadOperator(11), 
    taxi(12), 
    reserved1(13), 
    reserved2(14), 
    reserved3(15)}

/**
 * This DE describes the subclass of a vehicle.

 unknown             (0),    -- < the type of vehicle is unknown
 passengerCar        (1),    --< the detected object is a small passenger car as defined in
                              --< UNECE/TRANS/WP.29/78/Rev.4 class M1
 bus                 (2),    --< the detected object is a large passenger vehicle as defined
                                --< in UNECE/TRANS/WP.29/78/Rev.4 class M2, M3
   lightTruck          (3),    --< the detected object is a light goods vehicle as defined
                                --< in UNECE/TRANS/WP.29/78/Rev.4 class N1
    heavyTruck          (4),    --< the detected object is a heavy goods vehicle as defined
                                --< in UNECE/TRANS/WP.29/78/Rev.4 class N2, N3
    trailer             (5),    --< the detected object is an unpowered vehicle that is intended
                                --< to be towed by a powered vehicle as defined in
                                --< UNECE/TRANS/WP.29/78/Rev.4 class O
    specialVehicles     (6),    --< the detected object is a vehicle which has a special purpose
                                --< other than the above (e.g. moving road works vehicle)
    tram                (7),    --< the detected object is a vehicle running on tracks along
                                --< public streets
    emergencyVehicle    (8),    --< the detected object is a vehicle used in an emergency situation
                                --< such as an ambulance, police car or fire engine
    agricultural        (9)     --< the detected object is a vehicle used for agricultural purposes


 * @unit n/a
 * Revision: V1.3.1
 */
VehicleSubclass ::= INTEGER {
    unknown             (0),    
    passengerCar        (1),    
    bus                 (2),    
    lightTruck          (3),    
    heavyTruck          (4),    
    trailer             (5),    
    specialVehicles     (6),    
    tram                (7),    
    emergencyVehicle    (8),    
    agricultural        (9)     
} (0..255)
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * Width of a vehicle, excluding side mirrors and possible similar extensions.
 * - For a vehicle width equal to or greater than 6.1 metres, the value shall be set to `61`.
 * - The value shall be set to `62` if the information is unavailable.
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * @unit: 0.1 metre
 * @category: Vehicle information 
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
VehicleWidth ::= INTEGER {tenCentimeters(1), outOfRange(61), unavailable(62)} (1..62)
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * Vehicle acceleration at vertical direction in the centre of the mass of the empty vehicle.
 * It corresponds to the vehicle coordinate system as specified in ISO 8855 [2].
 * - Positive values indicate that the vehicle is accelerating upwards.
 * - The value shall be set to `160` if the upwards acceleration is equal to or greater than 16 m/s<sup>2</sup>.-
 * - Negative values indicate the vehicle is accelerating downwards.
 * - The value shall be set to `-160` if the downwards acceleration is equal to or greater than 16 m/s<sup>2</sup>.
 * - The value shall be set to `161` if the information is not available.
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * The DE is used in @ref VerticalAcceleration DF as defined in clause A.129.
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * @note: The empty load vehicle is defined in ISO 1176 [i.9], clause 4.6.
 *
 * @category Vehicle information
 * @unit: 0.1 m/s<sup>2</sup>
 *  
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
VerticalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredUp(1), pointOneMeterPerSecSquaredDown(-1), unavailable(161)} (-160 .. 161)
tijinkj's avatar
tijinkj committed
/** 
 * Identifies all the VRU profile types that are believed to be within the cluster
 * Bitmap encoding VRU profiles, to allow multiple profiles to be indicated in a single cluster (heterogeneous cluster if more than one profile).
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * The corresponding bit shall be set to 1 under the following conditions:
 * - pedestrian (0): The VRU cluster contains at least one pedestrian VRU,
 * - bicycle(1): The VRU cluster contains at least one bicycle VRU member,
 * - motorcycle(2): The VRU cluster contains at least one motorcycle VRU member,
 * - animal(3): The VRU cluster contains at least one animal VRU member,
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * Otherwise, the corresponding bit shall be set to 0.
 *
Denis Filatov's avatar
Denis Filatov committed
*/
tijinkj's avatar
tijinkj committed
VruClusterProfiles ::= BIT STRING {
    pedestrian(0),
    bicyclist(1),
    motorcyclist(2),
    animal(3)
} (SIZE(4))

/**
 * value of the possible VRU usage conditions
 * - The VRU usage conditions are described as follows:
 * - unavailable (0), -- Not specified,
 * - other (1), -- Used for states not defined below,
 * - idle (2), -- Human is not interacting with device,
 * - listeningToAudio (3), -- Any audio source other than calling,
 * - typing (4), -- Including texting, entering addresses and other manual input activity,
 * - calling (5),
 * - playingGames (6),
 * - reading (7),
 * - viewing (8) -- Watching dynamic content, including following navigation prompts, viewing videos or other visual contents that are not static,
 * - value 9 to 255: reserved for future usage. Value 255 set to "max" in order to bound the size of the encoded field.
 *
 * @category: VRU information
 */
VruDeviceUsage ::= ENUMERATED {unavailable(0), other(1), idle(2), listeningToAudio(3), typing(4), calling(5), playingGames(6), reading(7), viewing(8), max(255)}
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * value of the possible VRU environment conditions.
 * The VRU environment conditions are described as follows:
 * - unavailable (0): in case information on the type of environment is unavailable,
 * - intersectionCrossing (1),
 * - zebraCrossing (2),
 * - sidewalk (3),
 * - onVehicleRoad (4),
 * - value 6 to 255: reserved for future usage. Value 255 is set to "max" in order to bound the size of the encoded field.
Denis Filatov's avatar
Denis Filatov committed
 *
tijinkj's avatar
tijinkj committed
 * @category: VRU information
 */
VruEnvironment ::= ENUMERATED {unavailable (0), intersectionCrossing(1), zebraCrossing(2), sidewalk (3), onVehicleRoad(4), protectedGeographicArea(5), max (255)}

/**
 * Status of the possible human control over a VRU vehicle.
 * - unavailable (0): in case information on is unavailable,
 * - braking (1): the VRU is braking
 * - hardBraking (2): the VRU is braking hard
 * - stopPedaling (3): the VRU stopped pedaling
 * - brakingAndStopPedaling (4): the VRU stopped pedaling an is braking 
 * - hardBrakingAndStopPedaling (5): the VRU stopped pedaling an is braking hard
 * - noReaction (6): the VRU is not changing its behavior
 * - value 5 to 255: reserved for future usage. Value 255 is set to "max" in order to bound the size of the encoded field.
Denis Filatov's avatar
Denis Filatov committed
 *
tijinkj's avatar
tijinkj committed
 * @category: VRU information
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
VruMovementControl ::= ENUMERATED {unavailable (0), braking(1), hardBraking(2), stopPedaling (3), brakingAndStopPedaling(4), hardBrakingAndStopPedaling (5), noReaction(6), max (255)}
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * Profile of a pedestrian
 * - unavailable (0): in case information on is unavailable,
 * - ordinary-pedestrian(1): a pedestrian to which no more-specific profile applies
 * - road-worker(2): a pedestrian with the role of a road worker
 * - first-responder(3): a pedestrian with the role of a first responder 
 * - value 4 to 15: reserved for future usage. Value 15 is set to "max" in order to bound the size of the encoded field.
 *
 * @category: VRU information
 */
VruSubProfilePedestrian ::= ENUMERATED {
    unavailable(0), 
    ordinary-pedestrian(1),
    road-worker(2), 
    first-responder(3),
    max(15)
}
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * Profile of a VRU and its light VRU vehicle / animal. 
 * The corresponding value shall be set as follows:
 * - unavailable (0): in case information on is unavailable,
 * - bicyclist (1): cycle and bicyclist
 * - wheelchair-user(2): wheelchair and its user
 * - horse-and-rider(3): horse and rider
 * - rollerskater(4): rolleskater and skater
 * - e-scooter(5): e-scooter and rider
 * - personal-transporter(6): personal-transporter
 * - pedelec(7): pedelec and rider
 * - speed-pedelec(8): speed-pedelec rider 
 * - value 9 to 15: reserved for future usage. Value 15 is set to "max" in order to bound the size of the encoded field.
 *
 * @category: VRU information
 */
VruSubProfilelightVruVehicle ::= ENUMERATED {
    unavailable(0), 
    bicyclist(1), 
    wheelchair-user(2), 
    horse-and-rider(3), 
    rollerskater(4), 
    e-scooter(5), 
    personal-transporter(6),
    pedelec(7), 
    speed-pedelec(8),
    max(15)
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * Profile of a motorcyclist and corresponding vehicle.
 * The corresponding value shall be set as follows:
 * - unavailable (0): in case information on is unavailable,
 * - moped (1): moped and rider
 * - motorcycle(2): motorcycle and rider
 * - motorcycle-and-sidecar-right(3): 
 * - motorcycle-and-sidecar-left(4): 
 * - value 5 to 15: reserved for future usage. Value 15 is set to "max" in order to bound the size of the encoded field.
 *
 * @category: VRU information
 */
VruSubProfileMotorcyclist ::= ENUMERATED { 
    unavailable(0), 
	moped(1), 
	motorcycle(2), 
	motorcycle-and-sidecar-right(3), 
    motorcycle-and-sidecar-left(4), 
	max(15)
}
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * Profile of a animal
 * The corresponding value shall be set as follows:
 * - unavailable (0): in case information on is unavailable,
 * - wild-animal (1): in case of a animal living in the wildness. 
 * - farm-animal(2): in case of an animal beloning to a farm.
 * - service-animal(3): in case of an animal that supports a human being. 
 * - value 4 to 15: reserved for future usage. Value 15 is set to "max" in order to bound the size of the encoded field.
 *
 * @category: VRU information
 */
VruSubProfileAnimal ::= ENUMERATED {
    unavailable(0), 
    wild-animal(1), 
    farm-animal(2), 
    service-animal(3),   
    max(15)
}

/**
 * Size of a VRU including the  VRU vehicle used.
 * The corresponding value shall be set as follows:
 * - unavailable(0): There is no matched size class or due to privacy reasons in profile 1. 
 * - low (1): the VRU size class is low depending on the VRU profile
 * - medium (2): the VRU size class is medium depending on the VRU profile
 * - high (3): the VRU size class is high depending on the VRU profile
 * - value 4 to 15: reserved for future usage. Value 15 is set to "max" in order to bound the size of the encoded field.
 *
 * @category: VRU information
 */
VruSizeClass ::= ENUMERATED {
    unavailable (0), 
    low(1), 
    medium(2), 
    high (3), 
    max(15)
}

/**
 * This DE describes the status of the exterior light switches of a vehicle or a VRU.
 * The DE is an extension of the existing vehicular DE ExteriorLight.
 * The value of each bit indicates the state of the switch, which commands the corresponding light. 
 * The bit corresponding to a specific light is set to 1, when the corresponding switch is turned on, either manually by the driver or VRU or automatically by a vehicle or VRU system. 
 * - Bit unavailable (0) corresponds to no information available. 
 * - Bit backFlashLight (1),corresponds to the back flash light.
 * - Bit helmetLight (2), corresponds to the helmet light.
 * - Bit armLight (3), corresponds to the arm light.
 * - Bit legLight (4), corresponds to the leg leight.
 * - Bit wheelLight (5) corresponds to wheel light. 
 * - Bits 6 to 8: reserved for future use. 
 * The bit values do not indicate if the corresponding lamps are alight or not.
 * If  VRU is not equipped with a certain light or if the light switch status information is not available, the corresponding bit shall be set to 0.
 */ 
VruSpecificExteriorLights ::= BIT STRING {
        unavailable (0),