ITS-Container.asn 251 KB
Newer Older
tijinkj's avatar
tijinkj committed
 *
 * @category: Communication information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1 from @ref ItsPduHeader.
tijinkj's avatar
tijinkj committed
 */
MessageId::= INTEGER { 
tijinkj's avatar
tijinkj committed
    denm              (1),  
    cam               (2), 
    poi               (3), 
    spatem            (4), 
    mapem             (5), 
    ivim              (6), 
    ev-rsr            (7), 
    tistpgtransaction (8), 
    srem              (9), 
    ssem              (10), 
    evcsn             (11), 
    saem              (12), 
    rtcmem            (13), 
    cpm               (14),
    imzm              (15),
    vam               (16),
    dsm               (17) 
tijinkj's avatar
tijinkj committed
} (0..255)

/**
 * This DE represents the number of occupants in a vehicle.
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - `n (n > 1 and n < 126)` for the number n of occupants.
 * - `126` for values equal to or higher than 126.
 * - `127` if information is not available.`.
tijinkj's avatar
tijinkj committed
 *
 * @unit: 1 person
 * @category: Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: Editorial update in V2.1.1
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
NumberOfOccupants ::= INTEGER {
tijinkj's avatar
tijinkj committed
    outOfRange  (126),
    unavailable (127)
tijinkj's avatar
tijinkj committed
} (0 .. 127)
tijinkj's avatar
tijinkj committed

/** 
 * This DE represents a single-value indication about the overall information quality of a perceived object on the computation.
 * 
tijinkj's avatar
tijinkj committed
 * The value shall be set to:  
tijinkj's avatar
tijinkj committed
 * -`0`                     : if there is no confidence in detected object, e.g. for "ghost"-objects or if confidence could not be computed.
tijinkj's avatar
tijinkj committed
 * - `n (n > 0 and n < 15)` : for the applicable confidence value.
 * -`15`                    : if there is full confidence in the detected ObjectDescriptor.
tijinkj's avatar
tijinkj committed
 * 
tijinkj's avatar
tijinkj committed
 * @unit n/a
 * @category: Sensing information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1 
tijinkj's avatar
tijinkj committed
*/
ObjectConfidence ::= INTEGER {
    noConfidence        (0), 
    fullConfidence      (15) 
} (0..15)

/** 
 * This DE represents a single dimension of an object.
 *
 * @unit 0,1 m
 * @category: Sensing information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1 
tijinkj's avatar
tijinkj committed
*/
tijinkj's avatar
tijinkj committed
ObjectDimensionValue ::= INTEGER (0..1023)
tijinkj's avatar
tijinkj committed
 * This DE represents the accuracy of the provided object dimension value with a confidence level of 95%.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - `n (n > 0 and n < 101)` if the dimension accuracy is equal to or less than n x 0,01 meter, and more than (n-1) x 0,01 meter .
tijinkj's avatar
tijinkj committed
 * - `101` if the dimension accuracy is out of range i.e. greater than 1 m.
 * - `102` if the data is unavailable.
 *
tijinkj's avatar
tijinkj committed
 * @unit 0,01 m
 * @category: Sensing information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1 
tijinkj's avatar
tijinkj committed
*/
tijinkj's avatar
tijinkj committed
ObjectDimensionConfidence ::= INTEGER { 
tijinkj's avatar
tijinkj committed
    outOfRange              (101),
    unavailable             (102)
} (0..102)

/**
 * The DE indicates whether the detected object is classified as a dynamic (i.e. moving) object.
 * This value indicates whether an object has the general capability to move, i.e. change its
 * position.
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * -  `0` - dynamic             - if the object is moving.
 * -  `1` - hasBeenDynamic      - if the object has been dynamic before, e.g., a car stopping at a traffic light.
 * -  `2` - static              - if the object has been detected to be not moving throughout any previous observation.
 * -  `3` - unavailable         - if the information is unavailable. 
tijinkj's avatar
tijinkj committed
 *
 * @category: Sensing information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1 
tijinkj's avatar
tijinkj committed
*/
tijinkj's avatar
tijinkj committed
ObjectDynamicStatus ::= INTEGER {
tijinkj's avatar
tijinkj committed
    dynamic             (0),
    hasBeenDynamic      (1),
tijinkj's avatar
tijinkj committed
    static              (2),
    unavailable			(3)    
} (0..3)
tijinkj's avatar
tijinkj committed
 * This DE indicates the approximate position of the reference point of measurement for the object dimensions using a 9 cell grid. 
 * The point is located on the object´s face that is perpendicular to the direction of the object's @ref yawAngleValue
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @category: Basic information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1 
tijinkj's avatar
tijinkj committed
*/
tijinkj's avatar
tijinkj committed
ObjectRefPoint ::= INTEGER {
tijinkj's avatar
tijinkj committed
    bottomLeft      (0),
    midLeft         (1),
    topLeft         (2),
    bottomMid       (3),
    midMid          (4),
tijinkj's avatar
tijinkj committed
    topMid          (5),
    bottomRight     (6),
    midRight        (7),
    topRight        (8)
} (0..8)

tijinkj's avatar
tijinkj committed
/**
tijinkj's avatar
tijinkj committed
 * This DE indicates the face or part of a face of a solid object.
 *
 * The object is modelled  as a rectangular prism that has a length that is greater than its width, with the faces of the object being defined as:
 * - front: the face defined by the prism´s width and height, and which is the first face in direction of longitudinal movement of the object. 
 * - back: the face defined by the prism´s width and height, and which is the last face in direction of longitudinal movement of the object. 
 * - side: the faces defined by the prism´s length and height with "left" and "right" defined by looking at the front face and "front" and "back" defined w.r.t to the front and back faces. 
tijinkj's avatar
tijinkj committed
 *
 * Note: It is permissible to derive the required object dimensions and orientation from models to provide a best guess.
 * 
 * @category: Basic information
tijinkj's avatar
tijinkj committed
 * @revision: V2.1.1
tijinkj's avatar
tijinkj committed
*/
ObjectFace ::= ENUMERATED {
    front          (0), 
    sideLeftFront  (1), 
    sideLeftBack   (2), 
    sideRightFront (3), 
    sideRightBack  (4),
    back           (5)   
}
tijinkj's avatar
tijinkj committed
/** 
tijinkj's avatar
tijinkj committed
 * This DE represent a lateral position with lane-level resolution on the road reservation, which is not on regular traffic lanes. 
tijinkj's avatar
tijinkj committed
 * 
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - 0 - `unavailable` - if information on the lane position is unavailable.
 * - 1 - `sidewalk`    - if the position is on the side-walk.
 * - 2 - `parkingLane` - if the position is on an area at the side of the road not intended for travel but for vehicular parking.
 * - 3 - `bikeLane`    - if the position is on an area reserved for bicycles.
 * - 4-15              - reserved for future usage. Value 15 set to "max" in order to bound the size of the encoded field.
tijinkj's avatar
tijinkj committed
 *
 * @category: Road topology information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1 
tijinkj's avatar
tijinkj committed
*/
OffRoadLanePosition ::= ENUMERATED {
tijinkj's avatar
tijinkj committed
   unavailable (0), 
   sidewalk    (1), 
   parkingLane (2), 
   bikeLane    (3), 
   max         (15)
tijinkj's avatar
tijinkj committed
 * This DE represents a time period to describe the opening days and hours of a Point of Interest.
tijinkj's avatar
tijinkj committed
 * (for example local commerce).
Denis Filatov's avatar
Denis Filatov committed
 *
tijinkj's avatar
tijinkj committed
 * @category: Time information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
OpeningDaysHours ::= UTF8String 

tijinkj's avatar
tijinkj committed
/**
 * The DE represents an ordinal number that indicates the position of an element in a set. 
 * 
 * @category: Basic information
 * @revision: Created in V2.1.1
*/
OrdinalNumber1B ::= INTEGER(1..255)

tijinkj's avatar
tijinkj committed
/** 
 * This DE indicates the subclass of a detected object for object class "otherSubclass".
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - `0` - unknown       - if the subclass is unknown.
 * - `1` - roadSideUnit  - if the object is a roadside unit.
tijinkj's avatar
tijinkj committed
 *
 * @category: Sensing information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
OtherSubClass ::= INTEGER {
    unknown      (0),
    roadSideUnit (1)
tijinkj's avatar
tijinkj committed
} (0..255)

/**
 * This DE represents the recorded or estimated travel time between a position and a predefined reference position. 
 *
 * @unit 0.01 second
 * @category GeoReference information
tijinkj's avatar
tijinkj committed
 * @revision: same type as in V1.3.1 but now based on a basic type
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
PathDeltaTime ::= DeltaTimeHundredthOfSecond
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE denotes the ability of an ITS-S to provide up-to-date information.
 * A performance class value is used to describe age of data. The exact values are out of scope of the present document.
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 *  The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - `0` if  the performance class is unknown.
 * - `1` for performance class A as defined in ETSI TS 101 539-1 [i.6]
 * - `2` for performance class B as defined in ETSI TS 101 539-1 [i.6]
 * -  Values in the range `3 to 7` are reserved for future use.
Denis Filatov's avatar
Denis Filatov committed
 *
tijinkj's avatar
tijinkj 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
PerformanceClass ::= INTEGER {
tijinkj's avatar
tijinkj committed
    unavailable       (0), 
    performanceClassA (1), 
    performanceClassB (2)
tijinkj's avatar
tijinkj committed
} (0..7)
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE represents a telephone number
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * @category: Basic information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
PhoneNumber ::= NumericString (SIZE(1..16))

/**
 * This DE indicates the perpendicular distance from the centre of mass of an empty load vehicle to the front line of
 * the vehicle bounding box of the empty load vehicle.
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - `n (n > 0 and n < 62)` for any aplicable value n between 0,1 meter and 6,2 meters. 
tijinkj's avatar
tijinkj committed
 * - `62` for values equal to or higher than `6.2 metres`.
tijinkj's avatar
tijinkj committed
 * - `63`  if the 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.
 *
 * @unit 0,1 metre 
 * @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
PosCentMass ::= INTEGER {
tijinkj's avatar
tijinkj committed
    tenCentimeters (1), 
    outOfRange     (62),
    unavailable    (63)
tijinkj's avatar
tijinkj committed
} (1..63)
Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE indicates the positioning technology being used to estimate a geographical position.
Denis Filatov's avatar
Denis Filatov committed
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
 * - 0 `noPositioningSolution`  : no positioning solution used,
 * - 1 `sGNSS`                  : Global Navigation Satellite System used,
 * - 2 `dGNSS`                  : Differential GNSS used,
 * - 3 `sGNSSplusDR`            : GNSS and dead reckoning used,
 * - 4 `dGNSSplusDR`            : Differential GNSS and dead reckoning used,
 * - 5 `dR`                     : dead reckoning used.
tijinkj's avatar
tijinkj committed
 *
 * @category: GeoReference information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
PositioningSolutionType ::= ENUMERATED {
tijinkj's avatar
tijinkj committed
    noPositioningSolution (0), 
    sGNSS                 (1), 
    dGNSS                 (2), 
    sGNSSplusDR           (3), 
    dGNSSplusDR           (4), 
    dR                    (5), 
    ...
}
tijinkj's avatar
tijinkj committed

/**
 * This DE indicates whether a passenger seat is occupied or whether the occupation status is detectable or not.
 * 
 * The number of row in vehicle seats layout is counted in rows from the driver row backwards from front to the rear
 * of the vehicle.
 * The left side seat of a row refers to the left hand side seen from vehicle rear to front.
 * Additionally, a bit is reserved for each seat row, to indicate if the seat occupation of a row is detectable or not,
 * i.e. `row1NotDetectable (3)`, `row2NotDetectable(8)`, `row3NotDetectable(13)` and `row4NotDetectable(18)`.
 * Finally, a bit is reserved for each row seat to indicate if the seat row is present or not in the vehicle,
 * i.e. row1NotPresent `(4)`, row2NotPresent `(9)`, `row3NotPresent(14)`, `row4NotPresent(19)`.
 * 
 * When a seat is detected to be occupied, the corresponding seat occupation bit shall be set to `1`.
 * For example, when the row 1 left seat is occupied, `row1LeftOccupied(0)` bit shall be set to 1.
 * When a seat is detected to be not occupied, the corresponding seat occupation bit shall be set to `0`.
 * Otherwise, the value of seat occupation bit shall be set according to the following conditions:
 * - If the seat occupation of a seat row is not detectable, the corresponding bit shall be set to `1`.
 *   When any seat row not detectable bit is set to `1`, all corresponding seat occupation bits of the same row
 *   shall be set to `1`.
 * - If the seat row is not present, the corresponding not present bit of the same row shall be set to `1`.
 *   When any of the seat row not present bit is set to `1`, the corresponding not detectable bit for that row
 *   shall be set to `1`, and all the corresponding seat occupation bits in that row shall be set to `0`.
 * 
 * @category: Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
PositionOfOccupants ::= BIT STRING {
tijinkj's avatar
tijinkj committed
    row1LeftOccupied  (0),
tijinkj's avatar
tijinkj committed
    row1RightOccupied (1),
tijinkj's avatar
tijinkj committed
    row1MidOccupied   (2),
tijinkj's avatar
tijinkj committed
    row1NotDetectable (3),
tijinkj's avatar
tijinkj committed
    row1NotPresent    (4),
    row2LeftOccupied  (5),
tijinkj's avatar
tijinkj committed
    row2RightOccupied (6),
tijinkj's avatar
tijinkj committed
    row2MidOccupied   (7),
tijinkj's avatar
tijinkj committed
    row2NotDetectable (8),
tijinkj's avatar
tijinkj committed
    row2NotPresent    (9),
    row3LeftOccupied  (10),
tijinkj's avatar
tijinkj committed
    row3RightOccupied (11),
tijinkj's avatar
tijinkj committed
    row3MidOccupied   (12),
tijinkj's avatar
tijinkj committed
    row3NotDetectable (13),
tijinkj's avatar
tijinkj committed
    row3NotPresent    (14),
    row4LeftOccupied  (15),
tijinkj's avatar
tijinkj committed
    row4RightOccupied (16),
tijinkj's avatar
tijinkj committed
    row4MidOccupied   (17),
tijinkj's avatar
tijinkj committed
    row4NotDetectable (18),
tijinkj's avatar
tijinkj committed
    row4NotPresent    (19)
} (SIZE(20))
tijinkj's avatar
tijinkj committed

/**
 * This DE indicates the perpendicular distance between the vehicle front line of the bounding box and the front wheel axle in 10 centimetres.
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - `n (n > 0 and n < 19) for any aplicable value between 0,1 meter and 1,9 meters. 
 * - `19` for values equal to or higher than 1.9 metres.
 * - `20` if the information is unavailable.
tijinkj's avatar
tijinkj committed
 *
 * @category: Vehicle information
 * @unit 0.1 metre
tijinkj's avatar
tijinkj committed
 * @revision: Editorial update in V2.1.1
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
PosFrontAx ::= INTEGER {
tijinkj's avatar
tijinkj committed
    outOfRange (19), 
tijinkj's avatar
tijinkj committed
    unavailable(20)
} (1..20)
tijinkj's avatar
tijinkj committed

/**
 * This DE represents the distance from the centre of vehicle front bumper to the right or left longitudinal carrier of vehicle.
 * The left/right carrier refers to the left/right as seen from a passenger sitting in the vehicle.
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - `n (n > 0 and n < 126)` for any aplicable value between 0,01 meter and 1,26 meters. 
tijinkj's avatar
tijinkj committed
 * - `126` for values equal to or higher than 1.26 metres.
tijinkj's avatar
tijinkj committed
 * - `127` if the information is unavailable.
tijinkj's avatar
tijinkj committed
 *
 * @unit 0,01 metre 
 * @category Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: Editorial update in V2.1.1
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
PosLonCarr ::= INTEGER {
tijinkj's avatar
tijinkj committed
    outOfRange  (126),
    unavailable (127)
} (1..127)
tijinkj's avatar
tijinkj committed

/**
 * This DE represents the perpendicular inter-distance of neighbouring pillar axis of vehicle starting from the
 * middle point of the front line of the vehicle bounding box.
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - `n (n > 0 and n < 29)` for any aplicable value between 0,1 meter and 2,9 meters. 
 * - `29` for values equal to or greater than 2.9 metres.
tijinkj's avatar
tijinkj committed
 * - `30` if the information is unavailable.
tijinkj's avatar
tijinkj committed
 * 
 * @unit 0,1 metre 
 * @category Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: Editorial update in V2.1.1
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
PosPillar ::= INTEGER {
tijinkj's avatar
tijinkj committed
    outOfRange  (29),
    unavailable (30)
tijinkj's avatar
tijinkj committed
} (1..30)
tijinkj's avatar
tijinkj committed

/**
 * This DE represents the value of the sub cause codes of the @ref CauseCode `postCrash` .
 * 
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
 * - 0 `unavailable`                                               : in case further detailed information on post crash event is unavailable,
 * - 1 `accidentWithoutECallTriggered`                             : in case no eCall has been triggered for an accident,
 * - 2 `accidentWithECallManuallyTriggered`                        : in case eCall has been manually triggered and transmitted to eCall back end,
 * - 3 `accidentWithECallAutomaticallyTriggered`                   : in case eCall has been automatically triggered and transmitted to eCall back end,
 * - 4 `accidentWithECallTriggeredWithoutAccessToCellularNetwork`  : in case eCall has been triggered but cellular network is not accessible from triggering vehicle,
 * - 5-255                                                         : reserved for future usage.
Denis Filatov's avatar
Denis Filatov committed
 *
 * @category: Traffic information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
PostCrashSubCauseCode ::= INTEGER {
tijinkj's avatar
tijinkj committed
    unavailable                                              (0), 
    accidentWithoutECallTriggered                            (1), 
    accidentWithECallManuallyTriggered                       (2), 
    accidentWithECallAutomaticallyTriggered                  (3), 
    accidentWithECallTriggeredWithoutAccessToCellularNetwork (4)
Denis Filatov's avatar
Denis Filatov committed
} (0..255)
tijinkj's avatar
tijinkj committed
/**
* This DE represent the total amount of rain falling during one hour. It is measured in mm per hour at an area of 1 square meter.  
* 
* The following values are specified:
* - `n (n > 0 and n < 2000)` if the amount of rain falling is equal to or less than n x 0.1 mm/h and greater than (n-1) x 0.1 mm/h.
* - `2000` if the amount of rain falling is greater than 199.9 mm/h 
* - `2001` if the information is not available
*
* @unit: 0.1 mm/h 
* @category: Basic Information
* @revision: created in V2.1.1
*/
PrecipitationIntensity ::= INTEGER {
	outOfRange								(2000), 
	unavailable								(2001) 
} (1..2001)

Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * This DE represenst the indentifier of a protected communication zone.
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * 
 * @category: Infrastructure information, Communication information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
ProtectedZoneID ::= INTEGER (0.. 134217727)

/**
 * This DE represenst the radius of a protected communication zone. 
 * 
 * 
 * @unit: metre
 * @category: Infrastructure information, Communication information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
ProtectedZoneRadius ::= INTEGER (1..255,...)
tijinkj's avatar
tijinkj committed

/**
 * This DE indicates the type of a protected communication zone, so that an ITS-S is aware of the actions to do
 * while passing by such zone (e.g. reduce the transmit power in case of a DSRC tolling station).
 * 
 * The protected zone type is defined in ETSI TS 102 792 [i.16].
 * 
 * 
 * @category: Communication information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
ProtectedZoneType::= ENUMERATED {
    permanentCenDsrcTolling (0), 
    ..., 
    temporaryCenDsrcTolling (1) 
}

/**
 * This DE is used for various tasks in the public transportation environment, especially for controlling traffic
 * signal systems to prioritize and speed up public transportation in urban area (e.g. intersection "_bottlenecks_").
 * The traffic lights may be controlled by an approaching bus or tram automatically. This permits "_In Time_" activation
 * of the green phase, will enable the individual traffic to clear a potential traffic jam in advance. Thereby the
 * approaching bus or tram may pass an intersection with activated green light without slowing down the speed due to
 * traffic congestion. Other usage of the DE is the provision of information like the public transport line number
 * or the schedule delay of a public transport vehicle.
 * 
tijinkj's avatar
tijinkj committed
 * @category: Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
PtActivationData ::= OCTET STRING (SIZE(1..20))

/**
 * This DE indicates a certain coding type of the PtActivationData data.
 *
 * The folowing value are specified:
tijinkj's avatar
tijinkj committed
 * - `0` undefinedCodingType  : undefined coding type,
 * - `1` r09-16CodingType     : coding of PtActivationData conform to VDV recommendation 420 [i.8],
 * - `2` vdv-50149CodingType  : coding of PtActivationData based on VDV recommendation 420 [i.8].
tijinkj's avatar
tijinkj committed
 * - values 3 to 255          : reserved for alternative and future use.
tijinkj's avatar
tijinkj committed
 * 
 * @category: Vehicle information 
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
PtActivationType ::= INTEGER {
tijinkj's avatar
tijinkj committed
    undefinedCodingType (0), 
    r09-16CodingType    (1), 
    vdv-50149CodingType (2)
} (0..255)
tijinkj's avatar
tijinkj committed
/**
 * This DE represents the value of the sub cause codes of the @ref CauseCode `railwayLevelCrossing` .
 * 
 * The value shall be set to:
 * - 0 `unavailable`                   : in case no further detailed information on the railway level crossing status is available,
 * - 1 `doNotCrossAbnormalSituation`   : in case when something wrong is detected by equation or sensors of the railway level crossing, 
                                         including level crossing is closed for too long (e.g. more than 10 minutes long ; default value),
 * - 2 `closed`                        : in case the crossing is closed (barriers down),
 * - 3 `unguarded`                     : in case the level crossing is unguarded (i.e a Saint Andrew cross level crossing without detection of train),
 * - 4 `nominal`                       : in case the barriers are up and lights are off.
 * - 5-255: reserved for future usage.
 *
 * @category: Traffic information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
RailwayLevelCrossingSubCauseCode ::= INTEGER {
tijinkj's avatar
tijinkj committed
    unavailable                 (0), 
    doNotCrossAbnormalSituation (1), 
    closed                      (2), 
    unguarded                   (3), 
    nominal                     (4)
tijinkj's avatar
tijinkj committed
} (0..255)

tijinkj's avatar
tijinkj committed
/**
 * This DE indicates whether an ITS message is transmitted as request from ITS-S or a response transmitted from
 * ITS-S after receiving request from other ITS-Ss.
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
 * - 0 `request`  : for a request message. 
 * - 1 `response` : for a response message.  
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @category Communication information
tijinkj's avatar
tijinkj committed
 * @revision: Editorial update in V2.1.1
tijinkj's avatar
tijinkj committed
 */
RequestResponseIndication ::= ENUMERATED {
tijinkj's avatar
tijinkj committed
    request  (0), 
    response (1)
tijinkj's avatar
tijinkj committed
}

/**
 * This DE represents the value of the sub cause codes of the @ref CauseCode `rescueAndRecoveryWorkInProgress` 
 * 
 * The following value are specified:
 * - 0 `unavailable`             : in case further detailed information on rescue and recovery work is unavailable,
 * - 1 `emergencyVehicles`       : in case rescue work is ongoing by emergency vehicles,
 * - 2 `rescueHelicopterLanding` : in case rescue helicopter is landing,
 * - 3 `policeActivityOngoing`   : in case police activity is ongoing,
 * - 4 `medicalEmergencyOngoing` : in case medical emergency recovery is ongoing,
 * - 5 `childAbductionInProgress`: in case a child kidnapping alarm is activated and rescue work is ongoing,
 * - 6-255: reserved for future usage.
Denis Filatov's avatar
Denis Filatov committed
 *
 * @category: Traffic information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
RescueAndRecoveryWorkInProgressSubCauseCode ::= INTEGER {
tijinkj's avatar
tijinkj committed
   unavailable              (0), 
   emergencyVehicles        (1), 
   rescueHelicopterLanding  (2), 
   policeActivityOngoing    (3), 
   medicalEmergencyOngoing  (4), 
   childAbductionInProgress (5)
Denis Filatov's avatar
Denis Filatov committed
} (0..255)
tijinkj's avatar
tijinkj committed

/**
 * This DE indicates the type of a road segment.
 * 
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - 0 `urban-NoStructuralSeparationToOppositeLanes`       : for an urban road with no structural separation between lanes carrying traffic in opposite directions.
 * - 1 `urban-WithStructuralSeparationToOppositeLanes`     : for an urban road with structural separation between lanes carrying traffic in opposite directions.
 * - 2 `nonUrban-NoStructuralSeparationToOppositeLanes`    : for an non urban road with no structural separation between lanes carrying traffic in opposite directions.
 * - 3 `nonUrban-WithStructuralSeparationToOppositeLanes`  : for an non urban road with structural separation between lanes carrying traffic in opposite directions.
 *
tijinkj's avatar
tijinkj committed
 * @category: Road Topology Information
tijinkj's avatar
tijinkj committed
 * @revision: Editorial update in V2.1.1
tijinkj's avatar
tijinkj committed
 */
RoadType ::= ENUMERATED {
tijinkj's avatar
tijinkj committed
    urban-NoStructuralSeparationToOppositeLanes      (0),
    urban-WithStructuralSeparationToOppositeLanes    (1),
    nonUrban-NoStructuralSeparationToOppositeLanes   (2),
    nonUrban-WithStructuralSeparationToOppositeLanes (3)
}
tijinkj's avatar
tijinkj committed

/**
 * This DE represents the value of the sub cause codes of the @ref CauseCode `roadworks`.
 * 
tijinkj's avatar
tijinkj committed
The value shall be set to:
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
 * @revision: V1.3.1
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
RoadworksSubCauseCode ::= INTEGER {
tijinkj's avatar
tijinkj committed
    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. 
tijinkj's avatar
tijinkj committed
 * Otherwise  stationSafeDistanceIndication is set to TRUE. 
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)
tijinkj's avatar
tijinkj committed
 *
 * @category: Traffic information, Kinematics information
tijinkj's avatar
tijinkj committed
 * @revision: created in V2.1.1
tijinkj's avatar
tijinkj committed
*/
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,
tijinkj's avatar
tijinkj committed
 * - `n (n > 1 and n < 4 094)` if the accuracy is equal to or less than n cm,
tijinkj's avatar
tijinkj committed
 * - `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.
tijinkj's avatar
tijinkj committed
 * @unit 0,01 meter 
tijinkj's avatar
tijinkj committed
 * @category: GeoReference Information
tijinkj's avatar
tijinkj committed
 * @revision: Editorial update in V2.1.1
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
SemiAxisLength ::= INTEGER{
    outOfRange  (4094), 
    unavailable (4095)
} (0..4095)
tijinkj's avatar
tijinkj committed

/** 
 * This DE indicates the type of sensor.
 * 
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - `0` undefined          : in case the sensor type is undefined. 
 * - `1` radar              : in case the sensor is a radar.
 * - `2` lidar              : in case the sensor is a lidar.
 * - `3` monovideo          : in case the sensor is mono video.
 * - `4` stereovision       : in case the sensor is stereo vision.
 * - `5` nightvision        : in case the sensor is night vision.
 * - `6` ultrasonic         : in case the sensor is ultrasonic.
 * - `7` pmd                : in case the sensor is photonic mixing device.
 * - `8` inductionLoop      : in case the sensor is an induction loop.
 * - `9` sphericalCamera    : in case the sensor is a spherical camera.
 * - `10` uwb               : in case the sensor is ultra wide band.
 * - `11` localAggregation  : in case the information is provided by a system that aggregates information from different local sensors. Aggregation may include fusion.
 * - `12` itsAggregation    : in case the information is provided by a system that aggregates information from other received ITS messages.
tijinkj's avatar
tijinkj committed
 *
 * @category: Sensing Information
tijinkj's avatar
tijinkj committed
 * @revision: created in V2.1.1
tijinkj's avatar
tijinkj committed
*/
SensorType ::= INTEGER {
tijinkj's avatar
tijinkj committed
    undefined         (0),
    radar             (1),
    lidar             (2),
    monovideo         (3),
    stereovision      (4),
    nightvision       (5),
    ultrasonic        (6),
    pmd               (7),
    inductionLoop     (8),
    sphericalCamera   (9),
	uwb               (10),
    localAggregation  (11),
    itsAggregation (12)
tijinkj's avatar
tijinkj committed
} (0..15)

/**
 * This DE represents a sequence number.
 * 
tijinkj's avatar
tijinkj committed
 * @category: Basic information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
SequenceNumber ::=  INTEGER (0..65535)

/**
tijinkj's avatar
tijinkj committed
 * This DE represents the value of the sub cause codes of the @ref CauseCode `signalViolation`.
tijinkj's avatar
tijinkj committed
 * 
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - 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,
tijinkj's avatar
tijinkj committed
 * - 4-255                         : reserved for future usage.
Denis Filatov's avatar
Denis Filatov committed
 *
 * @category: Traffic information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
SignalViolationSubCauseCode ::= INTEGER {
tijinkj's avatar
tijinkj committed
    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 value shall be set to:
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,
tijinkj's avatar
tijinkj committed
 * - 9-255                              : reserved for future usage.
Denis Filatov's avatar
Denis Filatov committed
 * 
 * @category: Traffic information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
SlowVehicleSubCauseCode ::= INTEGER {
tijinkj's avatar
tijinkj committed
    unavailable                     (0), 
    maintenanceVehicle              (1), 
    vehiclesSlowingToLookAtAccident (2), 
    abnormalLoad                    (3), 
    abnormalWideLoad                (4), 
    convoy                          (5), 
    snowplough                      (6), 
    deicing                         (7), 
    saltingVehicles                 (8)
tijinkj's avatar
tijinkj committed
} (0..255)

Denis Filatov's avatar
Denis Filatov committed
/**
tijinkj's avatar
tijinkj committed
 * The DE indicates if a vehicle is carrying goods in the special transport conditions.

 * The corresponding bit shall be set to 1 under the following conditions:
 * - 0 `heavyLoad`        : the vehicle is carrying goods with heavy load.
 * - 1 `excessWidth`      : the vehicle is carrying goods in excess of width.
 * - 2 `excessLength`     : the vehicle is carrying goods in excess of length.
 * - 3 `excessHeight`     : the vehicle is carrying goods in excess of height.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * Otherwise, the corresponding bit shall be set to 0.
tijinkj's avatar
tijinkj committed
 * @category Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: Description revised in V2.1.1
tijinkj's avatar
tijinkj committed
 */
SpecialTransportType ::= BIT STRING {
tijinkj's avatar
tijinkj committed
    heavyLoad    (0),
    excessWidth  (1), 
    excessLength (2), 
    excessHeight (3)
tijinkj's avatar
tijinkj committed
} (SIZE(4))

/**
tijinkj's avatar
tijinkj committed
 * This DE represents the absolute accuracy of a speed value information for a predefined confidence level of 95%.
Denis Filatov's avatar
Denis Filatov committed
 * 
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - `n (n > 0 and n < 126)` if the speed accuracy is equal to or less than n cm/s.
tijinkj's avatar
tijinkj committed
 * - `126` if the speed accuracy is out of range, i.e. greater than 125 cm/s.
tijinkj's avatar
tijinkj committed
 * - `127` if the speed accuracy information is not available.
tijinkj's avatar
tijinkj committed
 *  
tijinkj's avatar
tijinkj committed
 * @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.
 * 
tijinkj's avatar
tijinkj committed
 * @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.
tijinkj's avatar
tijinkj committed
 *
 * @unit cm/s
 * @category: Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: Description revised in V2.1.1 
tijinkj's avatar
tijinkj committed
 */
SpeedConfidence ::= INTEGER {
tijinkj's avatar
tijinkj committed
    outOfRange  (126), 
    unavailable (127)
tijinkj's avatar
tijinkj committed
} (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
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
SpeedLimit ::= INTEGER (1..255)
tijinkj's avatar
tijinkj committed
 * This DE represents a speed value, i.e. the magnitude of the horizontal velocity-vector. 
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - `0` in a standstill situation.
tijinkj's avatar
tijinkj committed
 * - `n (n > 0 and n < 16382)` if the applicable value is equal to or less than n x 0,01 m/s, and greater than (n-1) x 0,01 m/s.
tijinkj's avatar
tijinkj committed
 * - `16382` for speed values greater than 163,81 m/s.
tijinkj's avatar
tijinkj committed
 * - `16383` if the speed accuracy information is not available.
tijinkj's avatar
tijinkj committed
 * 
 * @unit: 0,01 m/s
tijinkj's avatar
tijinkj committed
 * @category: Kinematics information
tijinkj's avatar
tijinkj committed
 * @revision: Description revised in V2.1.1 (the meaning of 16382 has changed slightly) 
tijinkj's avatar
tijinkj committed
*/
tijinkj's avatar
tijinkj committed
SpeedValue ::= INTEGER {
tijinkj's avatar
tijinkj committed
    standstill  (0), 
    outOfRange  (16382), 
    unavailable (16383)
tijinkj's avatar
tijinkj committed
} (0..16383)
tijinkj's avatar
tijinkj committed
 * This DE represents the value of a velocity component in a defined coordinate system.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - `-16383` if the speed is equal to or smaller than -163,83 m/s
tijinkj's avatar
tijinkj committed
 * - `n (n > -16383 and n < 16382)` if the applicable value is equal to or less than n x 0,01 m/s, and greater than `(n-1) x 0,01 m/s.
tijinkj's avatar
tijinkj committed
 * - `16382` for speed values equal to or greater than 163,81 m/s.
tijinkj's avatar
tijinkj committed
 * - `16383` if the speed accuracy information is not available.
 * 
 * @unit: 0,01 m/s
 * @category: Kinematics information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1
tijinkj's avatar
tijinkj committed
*/
SpeedValueExtended ::= INTEGER {
tijinkj's avatar
tijinkj committed
    negativeOutOfRange (-16383),
    psotiveOutOfRange  (16382),
    unavailable        (16383)
tijinkj's avatar
tijinkj committed
} (-16383..16383)


/**
tijinkj's avatar
tijinkj committed
 * This DE indicates the estimated probability of a stability level and conversely also the probability of a stability loss.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
 * - `0` to indicate an estimated probability of a loss of stability of 0%, i.e.  "stable". 
 * - `n (n > 0 and n < 50)` to indicate the actual stability level.
 * - `50` to indicate a estimated probability of a loss of stability of 100%, i.e. "total loss of stability".
 * - the values between 51 and 62 are reserved for future use. 
tijinkj's avatar
tijinkj committed
 * - `63`: this value indicates that the information is unavailable.
tijinkj's avatar
tijinkj committed
 *
 * @unit: 2%
 * @category: Kinematics information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
StabilityLossProbability ::= INTEGER {
    stable                  (0), 
tijinkj's avatar
tijinkj committed
    totalLossOfStability   (50), 
tijinkj's avatar
tijinkj committed
    unavailable            (63) 
tijinkj's avatar
tijinkj committed
} (0..63) 

/**
tijinkj's avatar
tijinkj committed
 * The DE represents length as a measure of distance between points or as a dimension of an object. 
tijinkj's avatar
tijinkj committed
 *
 * @unit: 0.1 meter
 * @category: Basic information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
StandardLength12b::= INTEGER (0..4095)
tijinkj's avatar
tijinkj committed
 * The DE represents length as a measure of distance between points or as a dimension of an object. 
 *
 * The value shall be set to:
 * - 0 `lessThan50m`   : for distances below 50 m. 
 * - 1 `lessThan100m`  : for distances below 100 m. 
 * - 2 `lessThan200m`  : for distances below 200 m. 
 * - 3 `lessThan500m`  : for distances below 300 m. 
 * - 4 `lessThan1000m` : for distances below 1000 m. 
 * - 5 `lessThan5km`   : for distances below 5000 m. 
 * - 6 `lessThan10km`  : for distances below 10000 m. 
 * - 7 `over10km`      : for distances over 10000 m. 
 *
 * @category: GeoReference information
 * @revision: Editorial update in V2.1.1
 */ 
StandardLength3b ::= ENUMERATED {
    lessThan50m   (0), 
    lessThan100m  (1), 
    lessThan200m  (2), 
    lessThan500m  (3), 
    lessThan1000m (4), 
    lessThan5km   (5), 
    lessThan10km  (6), 
    over10km      (7)
}

/**
 * The DE represents length as a measure of distance between points or as a dimension of an object. 
 *
 * @unit: 0.1 meter
 * @category: Basic information
 * @revision: Created in V2.1.1
 */
StandardLength9b::= INTEGER (0..511)

/**
 * The DE represents length as a measure of distance between points or as a dimension of an object. 
tijinkj's avatar
tijinkj committed
 *
 * @unit: 0.1 meter
 * @category: Basic information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
StandardLength1B::= INTEGER (0..255)

/**
 * The DE represents length as a measure of distance between points or as a dimension of an object.  
 *
 * @unit: 0.1 meter
 * @category: Basic information
 * @revision: Created in V2.1.1
 */
StandardLength2B::= INTEGER (0..65535)
tijinkj's avatar
tijinkj committed
 * This DE indicates the duration in minutes since which something is stationary.
tijinkj's avatar
tijinkj committed
 * 
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
 * - 0 `lessThan1Minute`         : for being stationary since less than 1 minute. 
 * - 1 `lessThan2Minutes`        : for being stationary since less than 2 minute and for equal to or more 1 minute. 
tijinkj's avatar
tijinkj committed
 * - 2 `lessThan15Minutes`       : for being stationary since less than 15 minutes and for equal to or more than 1 minute. 
tijinkj's avatar
tijinkj committed
 * - 3 `equalOrGreater15Minutes` : for being stationary since equal to or more than 15 minutes.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @category: Kinematics information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1
tijinkj's avatar
tijinkj committed
 */
StationarySince ::= ENUMERATED {
tijinkj's avatar
tijinkj committed
    lessThan1Minute         (0), 
    lessThan2Minutes        (1), 
    lessThan15Minutes       (2), 
    equalOrGreater15Minutes (3)
}
tijinkj's avatar
tijinkj committed
 * This DE provides the value of the sub cause codes of the @ref CauseCode "stationaryVehicle". 
tijinkj's avatar
tijinkj committed
 * 
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
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
 * @revision: V1.3.1
Denis Filatov's avatar
Denis Filatov committed
 */
tijinkj's avatar
tijinkj committed
StationaryVehicleSubCauseCode ::= INTEGER {
tijinkj's avatar
tijinkj committed
    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
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
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,
tijinkj's avatar
tijinkj committed
 * - 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)
tijinkj's avatar
tijinkj committed
 * - 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,
tijinkj's avatar
tijinkj committed
 * - 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,
tijinkj's avatar
tijinkj committed
 * - 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)
tijinkj's avatar
tijinkj committed
 * - 14  reserved for future usage
tijinkj's avatar
tijinkj committed
 * - 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),
tijinkj's avatar
tijinkj committed
 * - 16-255> reserved for future usage.
tijinkj's avatar
tijinkj committed
 * 
tijinkj's avatar
tijinkj committed
 * @category: Communication information.
tijinkj's avatar
tijinkj committed
 * @revision: revised in V2.1.1 (named values 12 and 13 added and note to value 9 deleted)
tijinkj's avatar
tijinkj committed
 */
StationType ::= INTEGER {
tijinkj's avatar
tijinkj committed
    unknown         (0), 
    pedestrian      (1), 
    cyclist         (2), 
    moped           (3),