ITS-Container.asn 251 KB
Newer Older
tijinkj's avatar
tijinkj committed
DangerousSituationSubCauseCode ::= INTEGER {
tijinkj's avatar
tijinkj committed
    unavailable                     (0), 
    emergencyElectronicBrakeEngaged (1), 
    preCrashSystemEngaged           (2), 
    espEngaged                      (3), 
    absEngaged                      (4), 
    ebEngaged                       (5), 
    brakeWarningEngaged             (6), 
    collisionRiskWarningEngaged     (7)
tijinkj's avatar
tijinkj committed
} (0..255)

/**
 * This DE represents an offset altitude with regards to a defined altitude value.
 * It may be used to describe a geographical point with regards to a specific reference geographical position.
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - `-12700` for values equal to or lower than -127 metres.
 * - `n` (`n > -12700` and `n <= 0) for altitude offset n x 0,01 meter below the reference position.
tijinkj's avatar
tijinkj committed
 * - `0` for no altitudinal offset.
tijinkj's avatar
tijinkj committed
 * - `n` (`n > 0` and `n < 12799`) for altitude offset n x 0,01 meter above the reference position.
 * - `12799` for values equal to or greater than 127,99 metres.
tijinkj's avatar
tijinkj committed
 * - `12800` when the information is unavailable.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @unit: 0.01 metre
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
DeltaAltitude ::= INTEGER {
tijinkj's avatar
tijinkj committed
    negativeOutOfRange (-12700),
    positiveOutOfRange (12799),
    unavailable        (12800)
tijinkj's avatar
tijinkj committed
} (-12700..12800)

/**
 * This DE represents an offset latitude with regards to a defined latitude value.
 * It may be used to describe a geographical point with regards to a specific reference geographical position.
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - `n` (`n >= -131071` and `n < 0`) for offset n x 0,1 microdegrees towards the south from the reference position.
tijinkj's avatar
tijinkj committed
 * - `0` for no latitudinal offset.
tijinkj's avatar
tijinkj committed
 * - `n` (`n > 0` and `n < 131072`) for offset n x 0,1 microdegrees towards the north from the reference position. 
tijinkj's avatar
tijinkj committed
 * - `131072` when the information is unavailable.
tijinkj's avatar
tijinkj committed
 *
 * @unit: 0.1 microdegree
 * @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
DeltaLatitude ::= INTEGER {
tijinkj's avatar
tijinkj committed
    unavailable (131072)
} (-131071..131072)

tijinkj's avatar
tijinkj committed

/**
 * This DE represents an offset latitude with regards to a defined latitude value.
 * It may be used to describe a geographical point with regards to a specific reference geographical position.
 *
 * The value shall be set to:
 * - `n` (`n >= -32766` and `n < 0`) for offset n x 0,1 microdegrees towards the south from the reference position.
 * - `0` for no latitudinal offset.
 * - `n` (`n > 0` and `n < 32767`) for offset n x 0,1 microdegrees towards the north from the reference position. 
 * - `32767` when the information is unavailable.
 *
 * @unit: 0.1 microdegree
 * @category: GeoReference information
 * @revision: editorial update in V2.1.1
 */
DeltaLatitudeSmall::= INTEGER {
    unavailable (32767)
} (-32766..32767)


tijinkj's avatar
tijinkj committed
/**
 * This DE represents an offset longitude with regards to a defined longitude value.
 * It may be used to describe a geographical point with regards to a specific reference geographical position.
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - `n` (`n >= -131071` and `n < 0`) for offset n x 0,1 microdegrees towards the west from the reference position.
tijinkj's avatar
tijinkj committed
 * - `0` for no longitudinal offset.
tijinkj's avatar
tijinkj committed
 * - `n` (`n > 0` and `n < 131072`) for offset n x 0,1 microdegrees towards the east from the reference position. 
tijinkj's avatar
tijinkj committed
 * - `131072` when the information is unavailable.
tijinkj's avatar
tijinkj committed
 *
 * @unit: 0.1 microdegree
 * @category: GeoReference information
tijinkj's avatar
tijinkj committed
 * @revision: editorial update in V2.1.1
tijinkj's avatar
tijinkj committed
 */
DeltaLongitude ::= INTEGER {
    unavailable (131072)
} (-131071..131072)

tijinkj's avatar
tijinkj committed
/**
 * This DE represents an offset longitude with regards to a defined longitude value.
 * It may be used to describe a geographical point with regards to a specific reference geographical position.
 *
 * The value shall be set to:
 * - `n` (`n >= -32766` and `n < 0`) for offset n x 0,1 microdegrees towards the west from the reference position.
 * - `0` for no longitudinal offset.
 * - `n` (`n > 0` and `n < 32767`) for offset n x 0,1 microdegrees towards the east from the reference position. 
 * - `32767` when the information is unavailable.
 *
 * @unit: 0.1 microdegree
 * @category: GeoReference information
 * @revision: editorial update in V2.1.1
 */
DeltaLongitudeSmall::= INTEGER {
    unavailable (32767)
} (-32766..32767)

tijinkj's avatar
tijinkj committed
/** 
 * This DE represents a difference in time with respect to a reference time.
 *
 * @unit: 0,01 s
 * @category: Basic information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1
tijinkj's avatar
tijinkj committed
*/
tijinkj's avatar
tijinkj committed
DeltaTimeHundredthOfSecond::= INTEGER (1..65535, ...) 
tijinkj's avatar
tijinkj committed
/**
 * This DE represents a difference in time with respect to a reference time.

 * Example: a time interval between two consecutive message transmissions.
 * 
 * @unit: 1 ms
 * @category: Basic information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1 from the DE TransmissionInterval
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
DeltaTimeMilliSecondPos ::= INTEGER (1..10000)
tijinkj's avatar
tijinkj committed
/** 
tijinkj's avatar
tijinkj committed
 * This DE represents a difference in time with respect to a reference time.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @unit: 1 ms
 * @category: Basic information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1
tijinkj's avatar
tijinkj committed
*/
tijinkj's avatar
tijinkj committed
DeltaTimeMilliSecondPosNeg ::= INTEGER (-1500..1500)
tijinkj's avatar
tijinkj committed
 * This DE represents a difference in time with respect to a reference time.
tijinkj's avatar
tijinkj committed
 * It can be interpreted as the first 8 bytes of a GenerationDeltaTime. To convert it to a @ref GenerationDeltaTime, 
tijinkj's avatar
tijinkj committed
 * multiply by 256 (i.e. append a `00` byte)
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @unit: 256 milliseconds 
tijinkj's avatar
tijinkj committed
 * @category: Basic information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1
tijinkj's avatar
tijinkj committed
 */
DeltaTimeQuarterSecond::= INTEGER (1..255) 
tijinkj's avatar
tijinkj committed

/** 
 * This DE represents a  difference in time with respect to a reference time.
 *
tijinkj's avatar
tijinkj committed
 * @unit: 0,1 s
 * @category: Basic information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1
tijinkj's avatar
tijinkj committed
*/
tijinkj's avatar
tijinkj committed
DeltaTimeTenthOfSecond::= INTEGER {
    unavailable (127)  
tijinkj's avatar
tijinkj committed
} (0..127) 
tijinkj's avatar
tijinkj committed

/** 
 * This DE represents a  difference in time with respect to a reference time.
 *
tijinkj's avatar
tijinkj committed
 * @unit: 1 s
 * @category: Basic information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1 from ValidityDuration
tijinkj's avatar
tijinkj committed
*/
tijinkj's avatar
tijinkj committed
DeltaTimeSecond ::= INTEGER  (0..86400)

tijinkj's avatar
tijinkj committed
/**
 * This DE indicates a direction with respect to a defined reference direction.
 * Example: a reference direction may be implicitly defined by the definition of a geographical zone.
 *
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - 0 - `sameDirection`     - to indicate the same direction as the reference direction.
 * - 1 - `oppositeDirection` - to indicateopposite direction as the reference direction.
 * - 2 - `bothDirections`    - to indicate both directions, i.e. the same and the opposite direction.
 * - 3 - `unavailable`       - to indicate that the information is unavailable.
tijinkj's avatar
tijinkj committed
 *
 * @category: GeoReference information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1
tijinkj's avatar
tijinkj committed
 */
Direction::= INTEGER{
tijinkj's avatar
tijinkj committed
    sameDirection     (0),
    oppositeDirection (1),
    bothDirections    (2),
    unavailable       (3)
tijinkj's avatar
tijinkj committed
 } (0..3)

tijinkj's avatar
tijinkj committed
/**
 * This DE indicates in which direction something is moving.
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - 0 - `forward`     - to indicate it is moving forward.
 * - 1 - `backwards`   - to indicate it is moving backwards.
 * - 2 - `unavailable` - to indicate that the information is unavailable.
tijinkj's avatar
tijinkj committed
 *
 * @category: Kinematics information
tijinkj's avatar
tijinkj committed
 * @revision: editorial update in V2.1.1
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
DriveDirection ::= ENUMERATED {
tijinkj's avatar
tijinkj committed
    forward     (0), 
    backward    (1), 
    unavailable (2)
}
tijinkj's avatar
tijinkj committed

/**
 * This DE indicates whether a driving lane is open to traffic.
 * 
 * A lane is counted from inside border of the road excluding the hardshoulder. The size of the bit string shall
 * correspond to the total number of the driving lanes in the carriageway.
 * 
 * The numbering is matched to @ref LanePosition.
tijinkj's avatar
tijinkj committed
 * The bit `0` is used to indicate the innermost lane, bit `1` is used to indicate the second lane from inside border.
tijinkj's avatar
tijinkj committed
 * 
tijinkj's avatar
tijinkj committed
 * If a lane is closed to traffic, the corresponding bit shall be set to `1`. Otherwise, it shall be set to `0`.
tijinkj's avatar
tijinkj committed
 * 
tijinkj's avatar
tijinkj committed
 * @note:Hard shoulder status is not provided by this DE but in @ref HardShoulderStatus.
tijinkj's avatar
tijinkj committed
 * 
 * @category: Traffic information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
DrivingLaneStatus ::= BIT STRING (SIZE (1..13))

/**
 * This DE indicates whether a vehicle (e.g. public transport vehicle, truck) is under the embarkation process.
tijinkj's avatar
tijinkj committed
 * If that is the case, the value is *TRUE*, otherwise *FALSE*.
tijinkj's avatar
tijinkj committed
 *
 * @category: Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: editorial update in V2.1.1
tijinkj's avatar
tijinkj committed
 */
EmbarkationStatus ::= BOOLEAN

/**
tijinkj's avatar
tijinkj committed
 * This DE indicates the right of priority requested or assumed by an operating emergency vehicle.
tijinkj's avatar
tijinkj committed
 * The right-of-priority bit shall be set to `1` if the corresponding right is requested.
tijinkj's avatar
tijinkj committed
 * 
tijinkj's avatar
tijinkj committed
 * The corresponding bit shall be set to 1 under the following conditions:
 * - 0 - `requestForRightOfWay`                  - when the vehicle is requesting/assuming the right of way.
 * - 1 - `requestForFreeCrossingAtATrafficLight` - when the vehicle is requesting/assuming the right to pass at a (red) traffic light.
 *
tijinkj's avatar
tijinkj committed
 * @category: Traffic information
tijinkj's avatar
tijinkj committed
 * @revision: description revised in V2.1.1
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
EmergencyPriority ::= BIT STRING {
    requestForRightOfWay                  (0), 
    requestForFreeCrossingAtATrafficLight (1)
tijinkj's avatar
tijinkj committed
} (SIZE(2))

/**
 * This DE represents the value of the sub cause codes of the @ref CauseCode "emergencyVehicleApproaching". 
 * 
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - 0 - `unavailable`                  - in case further detailed information on the emergency vehicle approaching event 
 *                                        is unavailable,
 * - 1 - `emergencyVehicleApproaching`  - in case an operating emergency vehicle is approaching,
 * - 2 -`prioritizedVehicleApproaching` - in case a prioritized vehicle (e.g. bus) is approaching,
 * - 3-255                              - reserved for future usage.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @category: Traffic information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
EmergencyVehicleApproachingSubCauseCode ::= INTEGER {
tijinkj's avatar
tijinkj committed
    unavailable                   (0), 
    emergencyVehicleApproaching   (1), 
    prioritizedVehicleApproaching (2)
tijinkj's avatar
tijinkj committed
} (0..255)

/**
 * This DE indicated the type of energy being used and stored in vehicle.
tijinkj's avatar
tijinkj committed
 *
 * The corresponding bit shall be set to 1 under the following conditions:
 * - 0 - `hydrogenStorage`       - when hydrogen is being used and stored in vehicle.
 * - 1 - `electricEnergyStorage` - when electric energy is being used and stored in vehicle.
 * - 2 - `liquidPropaneGas`      - when liquid Propane Gas (LPG) is being used and stored in vehicle.   
 * - 3 - `compressedNaturalGas ` - when compressedNaturalGas (CNG) is being used and stored in vehicle.
 * - 4 - `diesel`                - when diesel is being used and stored in vehicle.
 * - 5 - `gasoline`              - when gasoline is being used and stored in vehicle.
 * - 6 - `ammonia`               - when ammonia is being used and stored in vehicle.
 *
tijinkj's avatar
tijinkj committed
 * - Otherwise, the corresponding bit shall be set to `0`.
 *
 * @category: Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: editorial revision in V2.1.1 
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
EnergyStorageType ::= BIT STRING {
    hydrogenStorage       (0), 
    electricEnergyStorage (1), 
    liquidPropaneGas      (2), 
    compressedNaturalGas  (3), 
    diesel                (4), 
    gasoline              (5), 
    ammonia               (6)
}(SIZE(7))
tijinkj's avatar
tijinkj committed
/**
 * This DE represents one of the specific categories in the L category: L1, L2, L3, L4, L5, L6, or L7 according to UNECE/TRANS/WP.29/78/Rev.4 [i.18].
 *
 *
 * @category: Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: V2.1.1
tijinkj's avatar
tijinkj committed
 */
EuVehicleCategoryL ::= ENUMERATED { l1, l2, l3, l4, l5, l6, l7 }

/**
 * This DE represents one of the specific categories in the M category: M1, M2, or M3 according to UNECE/TRANS/WP.29/78/Rev.4 [i.18].
 *
 *
 * @category: Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: V2.1.1
tijinkj's avatar
tijinkj committed
 */
EuVehicleCategoryM ::= ENUMERATED {m1, m2, m3}

/**
 * This DE represents one of the specific categories in the N category: N1, N2, or N3 according to UNECE/TRANS/WP.29/78/Rev.4 [i.18].
 *
 *
 * @category: Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: V2.1.1
tijinkj's avatar
tijinkj committed
 */
EuVehicleCategoryN ::= ENUMERATED {n1, n2, n3}

/**
 * This DE represents one of the specific categories in the O category: O1, O2, O3 or O4 according to UNECE/TRANS/WP.29/78/Rev.4 [i.18].
 *
 *
 * @category: Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: V2.1.1
tijinkj's avatar
tijinkj committed
 */
EuVehicleCategoryO ::= ENUMERATED {o1, o2, o3, o4}

tijinkj's avatar
tijinkj committed
/**
 * This DE describes the status of the exterior light switches of a vehicle.
tijinkj's avatar
tijinkj committed
 *
 * The corresponding bit shall be set to 1 under the following conditions:
 * - 0 - `lowBeamHeadlightsOn`    - when the low beam head light switch is on.
 * - 1 - `highBeamHeadlightsOn`   - when the high beam head light switch is on.
 * - 2 - `leftTurnSignalOn`       - when the left turnSignal switch is on.
 * - 3 - `rightTurnSignalOn`      - when the right turn signal switch is on.
 * - 4 - `daytimeRunningLightsOn` - when the daytime running light switch is on.
 * - 5 - `reverseLightOn`         - when the reverse light switch is on.
 * - 6 - `fogLightOn`             - when the tail fog light switch is on.
 * - 7 - `parkingLightsOn`        - when the parking light switch is on.
 * 
 * @note: The value of each bit indicates the state of the switch, which commands the corresponding light.
tijinkj's avatar
tijinkj committed
 * The bit corresponding to a specific light is set to `1`, when the corresponding switch is turned on,
 * either manually by the driver or automatically by a vehicle system. The bit value does not indicate
 * if the corresponding lamps are alight or not.
 * 
 * If a vehicle 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`.
 * 
 * As the bit value indicates only the state of the switch, the turn signal and hazard signal bit values shall not
 * alternate with the blinking interval.
 * 
 * For hazard indicator, the `leftTurnSignalOn` (2) and `rightTurnSignalOn` (3) shall be both set to 1.
 * 
 * @category Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: Description revised in V2.1.1
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
ExteriorLights ::= BIT STRING {
tijinkj's avatar
tijinkj committed
    lowBeamHeadlightsOn      (0),
    highBeamHeadlightsOn     (1),
    leftTurnSignalOn         (2),
    rightTurnSignalOn        (3),
    daytimeRunningLightsOn   (4),
    reverseLightOn           (5),
    fogLightOn               (6),
    parkingLightsOn          (7)
} (SIZE(8))

/**
 * This DE represents a timestamp based on TimestampIts modulo 65 536.
 * This means that generationDeltaTime = TimestampIts mod 65 536.
 *
 * @category Time information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1 based on EN 302 637-2
tijinkj's avatar
tijinkj committed
*/
GenerationDeltaTime ::= INTEGER { oneMilliSec(1) } (0..65535)

/**
 * This DE indicates the current status of a hard shoulder: whether it is available for special usage
 * (e.g. for stopping or for driving) or closed for all vehicles.
 * 
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - 0 - `availableForStopping` - if the hard shoulder is available for stopping in e.g. emergency situations. 
 * - 1 - `closed`               - if the hard shoulder is closed and cannot be occupied in any case.
 * - 2 - `availableForDriving`  - if the hard shoulder is available for regular driving.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @category: Traffic information
tijinkj's avatar
tijinkj committed
 * @revision: Description revised in V2.1.1
tijinkj's avatar
tijinkj committed
 */
HardShoulderStatus ::= ENUMERATED {
tijinkj's avatar
tijinkj committed
    availableForStopping (0), 
    closed               (1), 
    availableForDriving  (2)}
tijinkj's avatar
tijinkj committed
 * This DE represents the value of the sub cause code of the @ref CauseCode `hazardousLocation-AnimalOnTheRoad`.
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 the animal on the road event is unavailable,
 * - 1 - `wildAnimals`  - in case wild animals are detected on the road,
 * - 2 - `herdOfAnimals`- in case herd of animals are detected on the road,
 * - 3 - `smallAnimals` - in case small size animal is detected on the road,
 * - 4 - `largeAnimals` - in case large size animal is detected on the road,
 * - 5-255              - reserved for future usage.
tijinkj's avatar
tijinkj committed
 *
 * @category: Traffic information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
HazardousLocation-AnimalOnTheRoadSubCauseCode ::= INTEGER {
tijinkj's avatar
tijinkj committed
    unavailable   (0), 
    wildAnimals   (1), 
    herdOfAnimals (2), 
    smallAnimals  (3), 
    largeAnimals  (4)
tijinkj's avatar
tijinkj committed
} (0..255)
tijinkj's avatar
tijinkj committed
 * This DE represents the sub cause code of the @ref CauseCode  `hazardousLocation-DangerousCurve`.
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 the dangerous curve is unavailable,
 * - 1 - `dangerousLeftTurnCurve`                             - in case the dangerous curve is a left turn curve,
 * - 2 - `dangerousRightTurnCurve`                            - in case the dangerous curve is a right turn curve,
 * - 3 - `multipleCurvesStartingWithUnknownTurningDirection`  - in case of multiple curves for which the starting curve turning direction is not known,
 * - 4 - `multipleCurvesStartingWithLeftTurn`                 - in case of multiple curves starting with a left turn curve,
 * - 5 - `multipleCurvesStartingWithRightTurn`                - in case of multiple curves stating with a right turn curve,
 * - 6-255                                                    - are reserved for future usage.
tijinkj's avatar
tijinkj committed
 * 
 * The definition of whether a curve is dangerous may vary according to region and according to vehicle types/mass
 * and vehicle speed driving on the curve. This definition is out of scope of the present document.
 *
 * @category: Traffic information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
HazardousLocation-DangerousCurveSubCauseCode ::= INTEGER {
tijinkj's avatar
tijinkj committed
    unavailable                                       (0), 
    dangerousLeftTurnCurve                            (1), 
    dangerousRightTurnCurve                           (2), 
    multipleCurvesStartingWithUnknownTurningDirection (3), 
    multipleCurvesStartingWithLeftTurn                (4), 
    multipleCurvesStartingWithRightTurn               (5)
tijinkj's avatar
tijinkj committed
} (0..255)

/**
 * This DE represents the value of the sub cause code of the @ref CauseCode `hazardousLocation-ObstacleOnTheRoad`. 
 * 
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - 0 - `unavailable`    - in case further detailed information on the detected obstacle is unavailable,
 * - 1 - `shedLoad`       - in case detected obstacle is large amount of obstacles (shedload),
 * - 2 - `partsOfVehicles`- in case detected obstacles are parts of vehicles,
 * - 3 - `partsOfTyres`   - in case the detected obstacles are parts of tyres,
 * - 4 - `bigObjects`     - in case the detected obstacles are big objects,
 * - 5 - `fallenTrees`    - in case the detected obstacles are fallen trees,
 * - 6 - `hubCaps`        - in case the detected obstacles are hub caps,
 * - 7 - `waitingVehicles`- in case the detected obstacles are waiting vehicles,
 * - 8-255                - reserved for future usage.
tijinkj's avatar
tijinkj committed
 *
 * @category: Traffic information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
HazardousLocation-ObstacleOnTheRoadSubCauseCode ::= INTEGER {
tijinkj's avatar
tijinkj committed
    unavailable     (0), 
    shedLoad        (1), 
    partsOfVehicles (2), 
    partsOfTyres    (3), 
    bigObjects      (4), 
    fallenTrees     (5), 
    hubCaps         (6), 
    waitingVehicles (7)
tijinkj's avatar
tijinkj committed
} (0..255)

/**
 * This DE represents the value of the sub cause code of the @ref CauseCode `hazardousLocation-SurfaceCondition`. 
 * 
tijinkj's avatar
tijinkj committed
The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - 0  - `unavailable`     - in case further detailed information on the road surface condition is unavailable,
 * - 1  - `rockfalls`       - in case rock falls are detected on the road surface,
 * - 2  - `earthquakeDamage`- in case the road surface is damaged by earthquake,
 * - 3  - `sewerCollapse`   - in case of sewer collapse on the road surface,
 * - 4  - `subsidence`      - in case road surface is damaged by subsidence,
 * - 5  - `snowDrifts`      - in case road surface is damaged due to snow drift,
 * - 6  - `stormDamage`     - in case road surface is damaged by strong storm,
 * - 7  - `burstPipe`       - in case road surface is damaged due to pipe burst,
 * - 8  - `volcanoEruption` - in case road surface is damaged due to volcano eruption,
 * - 9  - `fallingIce`      - in case road surface damage is due to falling ice,
 * - 10 - `fire`            - in case there is fire on or near to the road surface,
 * - 11-255                 - reserved for future usage.
tijinkj's avatar
tijinkj committed
 *
 * @category: Traffic information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
HazardousLocation-SurfaceConditionSubCauseCode ::= INTEGER {
tijinkj's avatar
tijinkj committed
    unavailable      (0), 
    rockfalls        (1), 
    earthquakeDamage (2), 
    sewerCollapse    (3), 
    subsidence       (4), 
    snowDrifts       (5), 
    stormDamage      (6), 
    burstPipe        (7), 
    volcanoEruption  (8), 
    fallingIce       (9), 
    fire             (10)
tijinkj's avatar
tijinkj committed
} (0..255)

tijinkj's avatar
tijinkj committed
/**
tijinkj's avatar
tijinkj committed
 * This DE represents the absolute accuracy of a reported heading value for 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
 * - `1` if the heading accuracy is equal to or less than 0,1 degree,
tijinkj's avatar
tijinkj committed
 * - `n (n > 1 and n < 125)` if the heading accuracy is equal to or less than n x 0,1 degree and more than (n-1) x 0,1 degree,
tijinkj's avatar
tijinkj committed
 * - `125` if the heading accuracy is equal to or less than 12,5 degrees,
 * - `126` if the heading accuracy is out of range, i.e. greater than 12,5 degrees,
 * - `127` if the heading accuracy information is not available.
 * 
 * @note:	The fact that a 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 heading value may be valid and used by the application.
 *
 * @note: If a heading value is received and its confidence is set to `outOfRange(126)`, it means that the reported
 * heading value is not valid and therefore cannot be trusted. Such value is not useful for the application.
tijinkj's avatar
tijinkj committed
 * @note: this DE is kept for backwards compatibility reasons only. It is reccomended to use the @ref Wgs84AngleConfidence instead. 
tijinkj's avatar
tijinkj committed
 * 
 * @unit: 0,1 degree
 * @category: GeoReference information
tijinkj's avatar
tijinkj committed
 * @revision: Description revised in V2.1.1
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
HeadingConfidence ::= Wgs84AngleConfidence
tijinkj's avatar
tijinkj committed

/**
HeadingValue
 * This DE represents the orientation of the horizontal velocity vector with regards to the WGS84 north.
tijinkj's avatar
tijinkj committed
 * When the information is not available, the DE shall be set to 3 601. The value 3600 shall not be used.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @note: this DE is kept for backwards compatibility reasons only. It is reccomended to use the @ref Wgs84AngleValue instead. 
tijinkj's avatar
tijinkj committed
 *
 * Unit: 0,1 degree
 * Categories: GeoReference information
tijinkj's avatar
tijinkj committed
 * @revision: Description revised in V2.1.1 (usage of value 3600 specified) 
tijinkj's avatar
tijinkj committed
*/
tijinkj's avatar
tijinkj committed
HeadingValue ::= Wgs84AngleValue
tijinkj's avatar
tijinkj committed
/**
 * This DE represents the height of the left or right longitude carrier of vehicle from base to top (left or right carrier seen from vehicle
tijinkj's avatar
tijinkj committed
 * rear to front). 
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - `n (n >= 1 and n < 99)` if the height information is equal to or less than n x 0,01 meter and more than (n-1) x 0,01 meter.
 * - `99` if the height is out of range, i.e. equal to or greater than 98 cm.
tijinkj's avatar
tijinkj committed
 * - `100` if the height information is not available.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @unit 0,01 meter
tijinkj's avatar
tijinkj committed
 * @category Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: Description revised in V2.1.1 (the definition of 99 has changed slightly) 
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
HeightLonCarr ::= INTEGER {
tijinkj's avatar
tijinkj committed
    unavailable(100)
} (1..100)

/**
 * This DE represents the value of the sub cause code of the @ref CauseCode `humanPresenceOnTheRoad`.
 * 
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - 0 - `unavailable`          - in case further detailed information on human presence on the road is unavailable,
 * - 1 - `childrenOnRoadway`    - in case children are detected on the road event,
 * - 2 - `cyclistOnRoadway`     - in case cyclist presence is detected on the road,
 * - 3 - `motorcyclistOnRoadway`- in case motorcyclist presence is detected on the road,
 * - 4-255                      - are reserved for future usage.
tijinkj's avatar
tijinkj committed
 *
 * @category: Traffic information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
HumanPresenceOnTheRoadSubCauseCode ::= INTEGER {
tijinkj's avatar
tijinkj committed
    unavailable           (0), 
    childrenOnRoadway     (1), 
    cyclistOnRoadway      (2), 
    motorcyclistOnRoadway (3)
tijinkj's avatar
tijinkj committed
} (0..255)
tijinkj's avatar
tijinkj committed

/**
 * This DE represents the value of the sub cause codes of the @ref CauseCode "humanProblem".
 * 
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - 0 - `unavailable`    - in case further detailed information on human health problem is unavailable,
 * - 1 - `glycemiaProblem`- in case human problem is due to glycaemia problem,
 * - 2 - `heartProblem`   - in case human problem is due to heart problem,
 * - 3-255                - reserved for future usage.
tijinkj's avatar
tijinkj committed
 *
 * @category: Traffic information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
HumanProblemSubCauseCode ::= INTEGER {
tijinkj's avatar
tijinkj committed
    unavailable     (0), 
    glycemiaProblem (1), 
    heartProblem    (2)
tijinkj's avatar
tijinkj committed
} (0..255)

/** 
 * This DE is a general identifier.
 * 
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
Identifier1B ::= INTEGER (0..255)

/** 
 * This DE is a general identifier.
 * 
 * @category: Basic information
 * @revision: Created in V2.1.1
*/
Identifier2B ::= INTEGER (0..65535)
tijinkj's avatar
tijinkj committed

/**
 * This DE represents the quality level of provided information.
 * 
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
 * - 0 - if the information is unavailable.
 * - 1 - if the quality level is lowest
 * - `n (n > 1 and n < 7)` if the quality level is n. 
 * - 7 - if the quality level is highest
tijinkj's avatar
tijinkj committed
 * @note: Definition of quality level is out of scope of the present document.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @category: Basic information
tijinkj's avatar
tijinkj committed
 * @revision: Editorial update in V2.1.1
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
InformationQuality ::= INTEGER (0..7)
tijinkj's avatar
tijinkj committed

/** 
 * This DE defines the type of an interference management zone, so that an ITS-S can 
 * assert the actions to do while passing by such zone (e.g. reduce the transmit power in case of a DSRC tolling station).
tijinkj's avatar
tijinkj committed
 * It is an extension of the type @ref ProtectedZoneType.

tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - 0 - `permanentCenDsrcTolling` - as specified in ETSI TS 102 792 [i.23]
 * - 1 - `temporaryCenDsrcTolling` - as specified in ETSI TS 102 792 [i.23]
 * - 2 - `unavailable`             - default value. Set to 2 for backwards compatibility with DSRC tolling
 * - 3 - `urbanRail(3)`            - as specified in ETSI TS 103 724 [i.24], clause 7
 * - 4 - `satelliteStation`        - as specified in ETSI TS 103 724 [i.24], clause 7
 * - 5 - `fixedLinks(5)`           - as specified in ETSI TS 103 724 [i.24], clause 7
tijinkj's avatar
tijinkj committed
 *
 * @category: Communication information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1
tijinkj's avatar
tijinkj committed
 */
InterferenceManagementZoneType ::= ENUMERATED {
tijinkj's avatar
tijinkj committed
    permanentCenDsrcTolling (0),
    temporaryCenDsrcTolling (1),
    unavailable             (2), 
    urbanRail               (3),      
    satelliteStation        (4),
    fixedLinks              (5), 
tijinkj's avatar
tijinkj committed
/**
 * This DE represents the vehicle type according to ISO 3833 [4].
tijinkj's avatar
tijinkj committed
 * A "term No" refers to the number of the corresponding term and its definition in ISO 3833.
tijinkj's avatar
tijinkj committed
 *
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - 0	- `passengerCar`              - term No 3.1.1
 * - 1	- `saloon`                    - term No 3.1.1.1 (sedan)
 * - 2	- `convertibleSaloon`         - term No 3.1.1.2
 * - 3	- `pullmanSaloon`             - term No 3.1.1.3
 * - 4	- `stationWagon`              - term No 3.1.1.4
 * - 5	- `truckStationWagon`         - term No 3.1.1.4.1
 * - 6	- `coupe`                     - term No 3.1.1.5 (coupe)
 * - 7	- `convertible`               - term No 3.1.1.6 (open tourer, roadstar, spider)
 * - 8	- `multipurposePassengerCar`  - term No 3.1.1.7
 * - 9	- `forwardControlPassengerCar`- term No 3.1.1.8
 * - 10	- `specialPassengerCar`       - term No 3.1.1.9
 * - 11	- `bus	(11)`                 - term No 3.1.2
 * - 12	- `minibus`                   - term No 3.1.2.1
 * - 13	- `urbanBus`                  - term No 3.1.2.2
 * - 14	- `interurbanCoach`           - term No 3.1.2.3
 * - 15	- `longDistanceCoach`         - term No 3.1.2.4
 * - 16	- `articulatedBus`            - term No 3.1.2.5
 * - 17	- `trolleyBus	`             - term No 3.1.2.6
 * - 18	- `specialBus`                - term No 3.1.2.7
 * - 19	- `commercialVehicle	`     - term No 3.1.3
 * - 20	- `specialCommercialVehicle`  - term No 3.1.3.1
 * - 21	- `specialVehicle	`         - term No 3.1.4
 * - 22	- `trailingTowingVehicle	` - term No 3.1.5 (draw-bar tractor)
 * - 23	- `semiTrailerTowingVehicle`  - term No 3.1.6 (fifth wheel tractor)
 * - 24	- `trailer`                   - term No 3.2.1
 * - 25	- `busTrailer`                - term No 3.2.1.1
 * - 26	- `generalPurposeTrailer`     - term No 3.2.1.2
 * - 27	- `caravan`                   - term No 3.2.1.3
 * - 28	- `specialTrailer`            - term No 3.2.1.4
 * - 29	- `semiTrailer`               - term No 3.2.2
 * - 30	- `busSemiTrailer	`         - term No 3.2.2.1
 * - 31	- `generalPurposeSemiTrailer` - term No 3.2.2.2
 * - 32	- `specialSemiTrailer`        - term No 3.2.2.3
 * - 33	- `roadTrain`                 - term No 3.3.1
 * - 34	- `passengerRoadTrain	`     - term No 3.3.2
 * - 35	- `articulatedRoadTrain`      - term No 3.3.3
 * - 36	- `doubleRoadTrain`           - term No 3.3.4
 * - 37	- `compositeRoadTrain`        - term No 3.3.5
 * - 38	- `specialRoadTrain`          - term No 3.3.6
 * - 39	- `moped`                     - term No 3.4
 * - 40	- `motorCycle`                - term No 3.5
 * - 41-255                           - reserved for future use
tijinkj's avatar
tijinkj committed
 * 
 * @category: Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1
tijinkj's avatar
tijinkj committed
 */

Iso3833VehicleType ::= INTEGER {
tijinkj's avatar
tijinkj committed
	passengerCar                 (0),
	saloon                       (1),	
tijinkj's avatar
tijinkj committed
	convertibleSaloon            (2),	
tijinkj's avatar
tijinkj committed
	pullmanSaloon                (3),	
tijinkj's avatar
tijinkj committed
	stationWagon                 (4),	
tijinkj's avatar
tijinkj committed
	truckStationWagon            (5),	
tijinkj's avatar
tijinkj committed
	coupe                        (6),
	convertible                  (7),	
tijinkj's avatar
tijinkj committed
	multipurposePassengerCar     (8),	
	forwardControlPassengerCar   (9),	
tijinkj's avatar
tijinkj committed
	specialPassengerCar	         (10),
	bus	                         (11),
tijinkj's avatar
tijinkj committed
	minibus                      (12),	
tijinkj's avatar
tijinkj committed
	urbanBus	                 (13),	
tijinkj's avatar
tijinkj committed
	interurbanCoach              (14),	
tijinkj's avatar
tijinkj committed
	longDistanceCoach	         (15),	
tijinkj's avatar
tijinkj committed
	articulatedBus               (16),	
tijinkj's avatar
tijinkj committed
	trolleyBus	                 (17),
	specialBus	                 (18),	
	commercialVehicle	         (19),	
	specialCommercialVehicle	 (20),
tijinkj's avatar
tijinkj committed
	specialVehicle               (21),	
	trailingTowingVehicle        (22),	
tijinkj's avatar
tijinkj committed
	semiTrailerTowingVehicle	 (23),	
tijinkj's avatar
tijinkj committed
	trailer                      (24),	
tijinkj's avatar
tijinkj committed
	busTrailer	                 (25),
tijinkj's avatar
tijinkj committed
	generalPurposeTrailer        (26),
	caravan                      (27),	
	specialTrailer               (28),	
tijinkj's avatar
tijinkj committed
	semiTrailer	                 (29),	
tijinkj's avatar
tijinkj committed
	busSemiTrailer               (30),	
tijinkj's avatar
tijinkj committed
	generalPurposeSemiTrailer	 (31),
	specialSemiTrailer	         (32),	
	roadTrain	                 (33),	
	passengerRoadTrain	         (34),	
tijinkj's avatar
tijinkj committed
	articulatedRoadTrain         (35),	
tijinkj's avatar
tijinkj committed
	doubleRoadTrain	             (36),
	compositeRoadTrain	         (37),	
	specialRoadTrain	         (38),	
tijinkj's avatar
tijinkj committed
	moped                        (39),	
tijinkj's avatar
tijinkj committed
	motorCycle	                 (40)	
	} (0..255)

tijinkj's avatar
tijinkj committed
/**
tijinkj's avatar
tijinkj committed
 * This DE indicates a transversal position on the carriageway at a specific longitudinal position, in resolution of lanes of the carriageway. 
 *
 * For right-hand traffic roads, the value shall be set to:
 * - `-1` if the position is off, i.e. besides the road.
 * - `0` if the position is on the inner hard shoulder, i.e. the hard should adjacent to the leftmost lane.
 * - `n (n >0 and n < 14)`, if the position is on the n-th driving lane counted from the leftmost lane to the rightmost lane of a specific traffic direction. 
 * - `14` if the position is on the outer hard shoulder, i.e. the hard should adjacent to rightmost lane (if present).
 *
 * For left-hand traffic roads, the value shall be set to:
 * - `-1` if the position is off, i.e. besides the road.
 * - `0` if the position is on the inner hard shoulder, i.e. the hard should adjacent to the rightmost lane.
 * - `n (n >0 and n < 14)`, if the position is on the n-th driving lane counted from the rightmost lane to the leftmost lane of a specific traffic direction. 
 * - `14` if the position is on the outer hard shoulder, i.e. the hard should adjacent to leftmost lane (if present).
tijinkj's avatar
tijinkj committed
 *  @note: in practice this means that the position is counted from "inside" to "outside" no matter which traffic practice is used.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * If the carriageway allows only traffic in one direction (e.g. in case of dual or multiple carriageway roads), the position is counted from the physical border of the carriageway. 
 * If the carriageway allows traffic in both directions and there is no physical delimitation between traffic directions (e.g. on a single carrriageway road), 
 * the position is counted from the legal (i.e. optical) separation between traffic directions (horizontal marking). 

tijinkj's avatar
tijinkj committed
 * @category: Road topology information
tijinkj's avatar
tijinkj committed
 * @revision: Description revised in V2.1.1
tijinkj's avatar
tijinkj committed
*/
tijinkj's avatar
tijinkj committed
LanePosition ::= INTEGER {
    offTheRoad           (-1), 
    innerHardShoulder    (0), 
    outerHardShoulder    (14) 
} (-1..14)
tijinkj's avatar
tijinkj committed
 * This DE represents the type of a lane. 
 * 
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - 0	- `traffic`            - Lane dedicated to the movement of vehicles.
 * - 1	- `through`            - Lane dedicated to the movement of vehicles travelling ahead and not turning.
 * - 2	- `reversible`         - Lane where the direction of traffic can be changed to match the peak flow.
 * - 3	- `acceleration`	   - Lane that allows vehicles entering a road to accelerate to the speed of through traffic before merging with it.
 * - 4	- `deceleration`       - Lane that allows vehicles exiting a road to decelerate before leaving it.
 * - 5	- `leftHandTurning`    - Lane reserved for slowing down and making a left turn, so as not to disrupt traffic.
 * - 6	- `rightHandTurning`   - Lane reserved for slowing down and making a right turn so as not to disrupt traffic.
 * - 7	- `dedicatedVehicle`   - Lane dedicated to movement of motor vehicles with specific characteristics, such as heavy goods vehicles, etc. 
tijinkj's avatar
tijinkj committed
 * - 8	- `bus`                - Lane dedicated to movement of buses providing public transport.
tijinkj's avatar
tijinkj committed
 * - 9	- `taxi`               - Lane dedicated to movement of taxis.
 * - 10	- `hov`                - Carpooling lane or high occupancy vehicle lane.
 * - 11	- `hot`                - High occupancy vehicle lanes that is allowed to be used without meeting the occupancy criteria by paying a toll.
 * - 12	- `pedestrian`         - Lanes dedicated to pedestrians such as pedestrian sidewalk paths.
tijinkj's avatar
tijinkj committed
 * - 13	- `cycleLane`	       - Lane dedicated to exclusive or preferred use by bicycles.
 * - 14	- `median`             - Lane not dedicated to movement of vehicles but representing a median / central reservation  such as the central median 
tijinkj's avatar
tijinkj committed
                                 separating the two directional carriageways of the highway.
 * - 15	- `striping`	       - Lane not dedicated to movement of vehicles but covered with roadway markings.
tijinkj's avatar
tijinkj committed
 * - 16	- `trackedVehicle`     - Lane dedicated to movement of trains, trams and trolleys.
tijinkj's avatar
tijinkj committed
 * - 17	- `parking`            - Lanes dedicated to vehicles parking, stopping and loading lanes.
 * - 18	- `emergency`          - Lane dedicated to vehicles in breakdown or to emergency vehicles also called hard shoulder.
 * - 19	- `verge`              - Lane representing the verge, i.e. a narrow strip of grass or plants and sometimes also trees located between 
                                 the road surface edge and the boundary of a road.
 * - 20	`minimumRiskManoeuvre` - Lane dedicated to automated vehicles making a minimum risk manoeuvre.
 * - values 21 to 30             reserved for future use 
tijinkj's avatar
tijinkj committed
 *
 * @category: Road topology information
tijinkj's avatar
tijinkj committed
 * @revision: V2.1.1
tijinkj's avatar
tijinkj committed
*/
LaneType::= INTEGER{
tijinkj's avatar
tijinkj committed
	traffic              (0),
	through	             (1),
	reversible           (2),
tijinkj's avatar
tijinkj committed
	acceleration         (3),
	deceleration         (4),
	leftHandTurning      (5),
	rightHandTurning     (6),
	dedicatedVehicle     (7),
	bus                  (8),
	taxi                 (9),
tijinkj's avatar
tijinkj committed
	hov                  (10),
tijinkj's avatar
tijinkj committed
	hot	                 (11),
	pedestrian           (12),
tijinkj's avatar
tijinkj committed
	cycleLane            (13),
tijinkj's avatar
tijinkj committed
	median               (14),   
	striping             (15),
	trackedVehicle       (16),
	parking	             (17),
	emergency            (18),
	verge                (19),
	minimumRiskManoeuvre (20),
	unknown              (31)
tijinkj's avatar
tijinkj committed
}(0..31)

tijinkj's avatar
tijinkj committed
/**
 * This DE represents the width of a lane measured at a defined position.
 *
 * @unit: 0.01 meter
 * @category: GeoReference information
 * @revision: Created in V2.1.1
 */
LaneWidth::= INTEGER (0..1023)

tijinkj's avatar
tijinkj committed
/**
 * This DE represents the absolute geographical latitude in a WGS84 coordinate system, providing a range of 90 degrees in north or
 * in south hemisphere.
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - `n (n >= -900000000 and n < 0)`, i.e. negative values for latitudes south of the Equator.
tijinkj's avatar
tijinkj committed
 * - `0` is used for the latitude of the equator.
tijinkj's avatar
tijinkj committed
 * - `n (n > 0 and n < 900000001)`, i.e. positive values for latitudes north of the Equator.
tijinkj's avatar
tijinkj committed
 * - `900 000 001` when the information is unavailable.
tijinkj's avatar
tijinkj committed
 *
 * @unit: 0.1 microdegree
 * @category: GeoReference information
tijinkj's avatar
tijinkj committed
 * @revision: Editorial update in V2.1.1
tijinkj's avatar
tijinkj committed
 */
Latitude ::= INTEGER {
    unavailable(900000001)
} (-900000000..900000001)

/**
tijinkj's avatar
tijinkj committed
 * This DE represents the vehicle acceleration at lateral direction in the centre of the mass of the empty vehicle.
tijinkj's avatar
tijinkj committed
 * It corresponds to the vehicle coordinate system as specified in ISO 8855 [2].
tijinkj's avatar
tijinkj committed

 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - `-160` for values equal to or less than -16 m/s<sup>2</sup>.
tijinkj's avatar
tijinkj committed
 * - `n (n > -160 and n <= 0)` to indicate that the vehicle is accelerating towards the right side with regards to the vehicle orientation 
tijinkj's avatar
tijinkj committed
 *                            with acceleration equal to or less than n x 0,1 m/s<sup>2</sup>, and greater than (n-1) x 0,1 m/s<sup>2</sup>.
tijinkj's avatar
tijinkj committed
 * - `n (n > 0 and n < 160)` to indicate that the vehicle is accelerating towards the left hand side with regards to the vehicle orientation 
tijinkj's avatar
tijinkj committed
						     with acceleration equal to or less than n x 0,1 m/s<sup>2</sup>, and greater than (n-1) x 0,1 m/s<sup>2</sup>.
tijinkj's avatar
tijinkj committed
 * - `160` for acceleration or greater than 15,9 m/s<sup>2</sup>.
tijinkj's avatar
tijinkj committed
 * - `161` when the data is unavailable.
tijinkj's avatar
tijinkj committed
 *
 * @note: the empty load vehicle is defined in ISO 1176 [i.9], clause 4.6.
 * @note: this DF is kept forbackwards compatibility reasons only. It is recommended to use @ref AccelerationValue instead
tijinkj's avatar
tijinkj committed
 *  
 * @unit: 0.1 m/s<sup>2</sup>
 * @category Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: Description updated in V2.1.1 (the meaning of 160 has changed slightly). This type is now based on the more generic type AccelerationValue.
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
LateralAccelerationValue ::= AccelerationValue
tijinkj's avatar
tijinkj committed

/**
 * This DE indicates the status of light bar and any sort of audible alarm system besides the horn.
 * This includes various common sirens as well as backup up beepers and other slow speed manoeuvring alerts.
 *
tijinkj's avatar
tijinkj committed
 * The corresponding bit shall be set to 1 under the following conditions:
tijinkj's avatar
tijinkj committed
 * - 0 - `lightBarActivated`      - when the light bar is activated.
 * - 1 - `sirenActivated`         - when the siren is activated.
tijinkj's avatar
tijinkj committed
 *
 * Otherwise, it shall be set to 0.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @category Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: Editorial update in V2.1.1
tijinkj's avatar
tijinkj committed
 */
LightBarSirenInUse ::= BIT STRING {
    lightBarActivated (0),
tijinkj's avatar
tijinkj committed
    sirenActivated    (1)
tijinkj's avatar
tijinkj committed
} (SIZE(2))

/**
 * This DE represents the absolute geographical longitude in a WGS84 co-ordinate system, providing a range of 180 degrees
 * to the east or to the west of the prime meridian.
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
 * - `n (n > -1800000000 and n < 0)`, i.e. negative values for longitudes to the west.
 * - `0` to indicate the prime meridian. 
 * - `n (n > 0 and n < 1800000001)`, i.e. positive values for longitudes to the east.
tijinkj's avatar
tijinkj committed
 * - `1 800 000 001` when the information is unavailable.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * The value -1800000000 shall not be used. 
 * 
tijinkj's avatar
tijinkj committed
 * @unit: 0.1 microdegree
 * @category: GeoReference information
tijinkj's avatar
tijinkj committed
 * @revision: Description revised in V2.1.1
tijinkj's avatar
tijinkj committed
 */
Longitude ::= INTEGER {
tijinkj's avatar
tijinkj committed
    valueNotUsed (-1800000000),
    unavailable  (1800000001)
tijinkj's avatar
tijinkj committed
} (-1800000000..1800000001)

 /**
 * This DE represents the vehicle acceleration at longitudinal direction in the centre of the mass of the empty vehicle.
 * It corresponds to the vehicle coordinate system as specified in ISO 8855 [2].
 *
tijinkj's avatar
tijinkj committed
* The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - `-160` for values equal to or less than -16 m/s<sup>2</sup>.
tijinkj's avatar
tijinkj committed
 * - `n (n > -160 and n <= 0)` to indicate that the vehicle is braking with acceleration equal to or less than n x 0,1 m/s<sup>2</sup>, and greater than (n-1) x 0,1 m/s<sup>2</sup>.
 * - `n (n > 0 and n < 160)` to indicate that the vehicle is accelerating with acceleration equal to or less than n x 0,1 m/s<sup>2</sup>, and greater than (n-1) x 0,1 m/s<sup>2</sup>.
tijinkj's avatar
tijinkj committed
 * - `160` for acceleration or greater than 15,9 m/s<sup>2</sup>.
tijinkj's avatar
tijinkj committed
 * - `161` when the data is unavailable. 
tijinkj's avatar
tijinkj committed
 * 
 * This acceleration is along the tangent plane of the road surface and does not include gravity components.
tijinkj's avatar
tijinkj committed
 * @note: this DF is kept forbackwards compatibility reasons only. It is recommended to use @ref AccelerationValue instead
tijinkj's avatar
tijinkj committed
 * 
 * @note: The empty load vehicle is defined in ISO 1176 [i.9], clause 4.6.
 * @category: Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: description revised in V2.1.1 (the meaning of 160 has changed slightly). This type is now based on  the generic type AccelerationValue.
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
LongitudinalAccelerationValue::= AccelerationValue
tijinkj's avatar
tijinkj committed

/** 
 * This DE represents the longitudinal offset of the map-matched position of a particular object along the
tijinkj's avatar
tijinkj committed
 * matched lane, beginning from the lane's starting point.
tijinkj's avatar
tijinkj committed
 * 
 * @unit 0,1 m
 * @category: Road topology information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1
tijinkj's avatar
tijinkj committed
*/
tijinkj's avatar
tijinkj committed
LongitudinalLanePositionValue ::= INTEGER (0..32767)
tijinkj's avatar
tijinkj committed

/** 
 * This DE represents the absolute accuracy of longitudinal lane position measurement to a confidence level of 95%.
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
tijinkj's avatar
tijinkj committed
 * - `n (n > 0 and n < 101)` if the  accuracy is equal to or less than n x 0,01 m, and more than (n-1) x 0,01 m.
tijinkj's avatar
tijinkj committed
 * - `101` if the acceleration accuracy is out of range i.e. greater than 1 m.
 * - `102` if the data is unavailable.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @unit 0,01 meter
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
*/
LongitudinalLanePositionConfidence ::= INTEGER {
tijinkj's avatar
tijinkj committed
    outOfRange  (101),
    unavailable (102)  
tijinkj's avatar
tijinkj committed
} (0..102)

/** 
 * This DE represents the type of facility layer message.
 *
tijinkj's avatar
tijinkj committed
 *  The value shall be set to:
tijinkj's avatar
tijinkj committed
 *	- 1  - `denm`              - for Decentralized Environmental Notification Message (DENM) as specified in ETSI EN 302 637-3 [i.3],
 *  - 2  - `cam`               - for Cooperative Awareness Message (CAM) as specified in ETSI EN 302 637-2 [i.2],
 *  - 3  - `poi`               - for Point of Interest message as specified in ETSI TS 101 556-1 [i.11],
 *  - 4  - `spatem`            - for Signal Phase And Timing Extended Message (SPATEM) as specified in ETSI TS 103 301 [i.17],
 *  - 5  - `mapem`             - for MAP Extended Message (MAPEM) as specified in ETSI TS 103 301 [i.17],
 *  - 6  - `ivim`              - for in Vehicle Information Message (IVIM) as specified in ETSI TS 103 301 [i.17],
 *  - 7  - `ev-rsr`            - for Electric vehicle recharging spot reservation message, as defined in ETSI TS 101 556-3 [i.14],
 *  - 8  - `tistpgtransaction` - for messages for Tyre Information System (TIS) and Tyre Pressure Gauge (TPG) interoperability, as specified in ETSI TS 101 556-2 [i.15],
 *  - 9  - `srem`              - for Signal Request Extended Message as specified in ETSI TS 103 301 [i.17],
 *  - 10 - `ssem`              - for Signal request Status Extended Message as specified in ETSI TS 103 301 [i.17],
 *  - 11 - `evcsn`             - for Electrical Vehicle Charging Spot Notification message as specified in ETSI TS 101 556-1 [i.11],
 *  - 12 - `saem`              - for Services Announcement Extended Message as specified in ETSI EN 302 890-1 [i.19],
 *  - 13 - `rtcmem`            - for Radio Technical Commission for Maritime Services Extended Message (RTCMEM) as specified in ETSI TS 103 301 [i.17],
 *  - 14 - `cpm`               - for Collective Perception Message (CPM) as specified in ETSI TS 103 324 [i.20],
 *  - 15 - `imzm`              - for Interference Management Zone Message (IMZM) as specified in ETSI TS 103 724 [i.13],
 *  - 16 - `vam`               - for Vulnerable Road User Awareness Message as specified in ETSI TS 130 300-3 [i.12], 
 *  - 17 - `dsm`               - for Diagnosis, logging and Status Message (DSM) as specified in ETSI TS 103 693 [i.21].
 *  - 18-255                   - reserved for future usage,