ITS-Container.asn 113 KB
Newer Older
Denis Filatov's avatar
Denis Filatov committed
 * The sub causes are described as following:
 * - 0 `unavailable`: in case information on the type of dangerous situation is unavailable,
 * - 1 `emergencyElectronicBrakeEngaged`: in case emergency electronic brake is engaged,
 * - 2 `preCrashSystemEngaged`: in case pre-crash system is engaged,
 * - 3 `espEngaged`: in case Electronic Stability Program (ESP) system is engaged,
 * - 4 `absEngaged`: in case Anti-lock braking system (ABS) is engaged,
 * - 5 `aebEngaged`: in case Autonomous Emergency Braking (AEB) system is engaged,
 * - 6 `brakeWarningEngaged`: in case brake warning is engaged,
 * - 7 `collisionRiskWarningEngaged`: in case collision risk warning is engaged,
 * - 8-255: reserved for future usage.
 *
 * @category: Traffic information
 */
Denis Filatov's avatar
Denis Filatov committed
DangerousSituationSubCauseCode ::= INTEGER {unavailable(0), emergencyElectronicBrakeEngaged(1), preCrashSystemEngaged(2), espEngaged(3), absEngaged(4), aebEngaged(5), brakeWarningEngaged(6), collisionRiskWarningEngaged(7)} (0..255)

Denis Filatov's avatar
Denis Filatov committed
/**
 * Encoded value of the sub cause codes of the event type `vehicleBreakdown` as specified in clause A.10.
 * Definition of the sub event cause is defined and the value is assigned according to clause 7.1.4 of ETSI EN 302 637-3 [i.3].
 * 
 * The sub causes are described as following:
 * - 0 `unavailable`         : in case further detailed information on cause of vehicle break down is unavailable,
 * - 1 `lackOfFuel`          : in case vehicle break down is due to lack of fuel,
 * - 2 `lackOfBatteryPower`  : in case vehicle break down is caused by lack of battery power,
 * - 3 `engineProblem`       : in case vehicle break down is caused by an engine problem,
 * - 4 `transmissionProblem` : in case vehicle break down is caused by transmission problem,
 * - 5 `engineCoolingProblem`: in case vehicle break down is caused by an engine cooling problem,
 * - 6 `brakingSystemProblem`: in case vehicle break down is caused by a braking system problem,
 * - 7 `steeringProblem`     : in case vehicle break down is caused by a steering problem,
 * - 8 `tyrePuncture`        : in case vehicle break down is caused by tire puncture,
 * - 9 `tyrePressureProblem` : in case low tyre pressure in detected,
 * - 10-255: reserved for future usage.
 *
 * @category: Traffic information
 */
Denis Filatov's avatar
Denis Filatov committed
VehicleBreakdownSubCauseCode ::= INTEGER {unavailable(0), lackOfFuel (1), lackOfBatteryPower (2), engineProblem(3), transmissionProblem(4), engineCoolingProblem(5), brakingSystemProblem(6), steeringProblem(7), tyrePuncture(8), tyrePressureProblem(9)} (0..255)
Denis Filatov's avatar
Denis Filatov committed
/**
 * Encoded value of the sub cause codes of the event type `postCrash` as specified in clause A.10.
 * Definition of the sub event cause is defined and the value is assigned according to clause 7.1.4 of ETSI EN 302 637-3 [i.3].
 * 
 * The sub causes are described as following:
 * - 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.
 *
 * @category: Traffic information
 */
Denis Filatov's avatar
Denis Filatov committed
PostCrashSubCauseCode ::= INTEGER {unavailable(0), accidentWithoutECallTriggered (1), accidentWithECallManuallyTriggered (2), accidentWithECallAutomaticallyTriggered (3), accidentWithECallTriggeredWithoutAccessToCellularNetwork(4)} (0..255)

Denis Filatov's avatar
Denis Filatov committed
/**
 * It describes the curvature of the vehicle trajectory and the accuracy.
 * The curvature detected by a vehicle represents the curvature of actual vehicle trajectory.
 * 
 * @field curvatureValue: Detected curvature of the vehicle trajectory.
 *        It shall be presented as defined in clause A.15
 * 
 * @field curvatureConfidence: Accuracy of the reported curvature value with a predefined confidence level. 
 *        It shall be presented as defined in clause A.14
 * 
 * @category: Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
Curvature ::= SEQUENCE {
 curvatureValue CurvatureValue,
 curvatureConfidence CurvatureConfidence
}

Denis Filatov's avatar
Denis Filatov committed
/**
 * It describes vehicle turning curve with the following information:
 * 
 *     Value = 1 / Radius * 10000
 * 
 * wherein radius is the vehicle turning curve radius. 
 * 
 * Positive values indicate a turning curve to the left hand side of the driver.
 * It corresponds to the vehicle coordinate system as defined in ISO 8855 [2].
 * - The value shall be set to `0` when the vehicle is moving straight.
 * - The value shall be set to `1023`, if the information is not available.
 * - For calculated values smaller than `-1023`, the DE shall be set to `-1023`.
 * - For calculated values bigger than `1022`, the DE shall be set to `1022`.
 * 
 * The DE is used in @ref Curvature DF as defined in clause A.107.
 * 
 * @note: The present DE is limited to vehicle types as defined in ISO 8855 [2].
 * 
 * @category: Vehicle information
 * @unit 1 over 10 000 metres
 */
Denis Filatov's avatar
Denis Filatov committed
CurvatureValue ::= INTEGER {straight(0), unavailable(1023)} (-1023..1023)
Denis Filatov's avatar
Denis Filatov committed
/**
 * It describes the absolute accuracy range of a reported curvature value for a predefined confidence level.
 * The required confidence level is defined by the corresponding standards applying the DE.
 * 
 * The value shall be set to:
 * - 0 if the accuracy is less than or equal to 0,00002 m-1
 * - 1 if the accuracy is less than or equal to 0,0001 m-1
 * - 2 if the accuracy is less than or equal to 0,0005 m-1
 * - 3 if the accuracy is less than or equal to 0,002 m-1
 * - 4 if the accuracy is less than or equal to 0,01 m-1
 * - 5 if the accuracy is less than or equal to 0,1 m-1
 * - 6 if the accuracy is out of range, i.e. greater than 0,1 m-1
 * - 7 if the information is not available
 * 
 * The DE is used in Curvature DF as defined in clause A.107.
 * @note:	The fact that a curvature value is received with confidence set to `unavailable(7)` 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 curvature value may be valid and used by the application.
 * If a curvature value is received and its confidence is set to 'outOfRange(6)', it means that the reported curvature value is not valid and therefore cannot be trusted. Such value is not useful for the application.
 */
Denis Filatov's avatar
Denis Filatov committed
CurvatureConfidence ::= ENUMERATED {
Denis Filatov's avatar
Denis Filatov committed
    onePerMeter-0-00002 (0),
    onePerMeter-0-0001 (1),
    onePerMeter-0-0005 (2),
    onePerMeter-0-002 (3),
    onePerMeter-0-01 (4),
    onePerMeter-0-1 (5),
    outOfRange (6),
    unavailable (7)
Denis Filatov's avatar
Denis Filatov committed
/**
 * It describes whether the yaw rate is used to calculate the curvature for a reported curvature value.
 * 
 * When the information of curvature calculation mode is unknown, the value shall be set to 2.
 * @category: Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
CurvatureCalculationMode ::= ENUMERATED {yawRateUsed(0), yawRateNotUsed(1), unavailable(2), ...}

Denis Filatov's avatar
Denis Filatov committed
/**
 * Heading in a WGS84 co-ordinates system.
 * 
 * @param headingValue: a heading value. It shall be presented as defined in clause A.35,
 * 
 * @param headingConfidence: the accuracy of the reported heading value with a predefined confidence level.
 * It shall be presented as defined in clause A.34.
 * 
 * @category: GeoReference information, Vehicle information, Road topology information
 */
Denis Filatov's avatar
Denis Filatov committed
Heading ::= SEQUENCE {
Denis Filatov's avatar
Denis Filatov committed
    headingValue HeadingValue,
    headingConfidence HeadingConfidence
Denis Filatov's avatar
Denis Filatov committed
/**
 * Orientation of a heading with regards to the WGS84 north.
 * 
 * When the information is not available, the DE shall be set to `3 601`.
 * 
 * The DE is used in @ref Heading DF as defined in clause A.112, and @ref PosConfidenceEllipse DF as defined in clause A.119.
 * 
 * @unit: 0,1 degree
 * @category: GeoReference information, Vehicle information, Road topology information
*/
Denis Filatov's avatar
Denis Filatov committed
HeadingValue ::= INTEGER {wgs84North(0), wgs84East(900), wgs84South(1800), wgs84West(2700), unavailable(3601)} (0..3601)

Denis Filatov's avatar
Denis Filatov committed
/**
 * The absolute accuracy of a reported heading value for a predefined confidence level (e.g. 95 %).
 * The required confidence level is defined by the corresponding standards applying the DE.
 * 
 * The value shall be set to:
 * - `1` if the heading accuracy is equal to or less than 0,1 degree,
 * - `n (n > 1 and n < 125)` if the heading accuracy is equal to or less than n × 0,1 degree,
 * - `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.
 * 
 * The DE is used in Heading DF as defined in clause A.112.
 *
 * @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.
 *
 * @unit: 0,1 degree
 * @category: GeoReference information, Vehicle information, Road topology information
 */
Denis Filatov's avatar
Denis Filatov committed
HeadingConfidence ::= INTEGER {equalOrWithinZeroPointOneDegree (1), equalOrWithinOneDegree (10), outOfRange(126), unavailable(127)} (1..127)

Denis Filatov's avatar
Denis Filatov committed
/**
 * This DE indicates the transversal position information on the road in resolution of lanes, counted from
 * the inside border of the road for a given traffic direction. For example, the innermostDrivingLane corresponds
 * to the left most lane of the carriageway in a country with right-land traffic, and to the right most lane of the
 * carriageway in a left-land traffic (e.g. in UK). The value -1 denotes that the referenced position is outside the road.
 * @category: GeoReference information, Road topology information
*/
LanePosition ::= INTEGER {offTheRoad(-1), innerHardShoulder(0),
innermostDrivingLane(1), secondLaneFromInside(2), outerHardShoulder(14) } (-1..14)
Denis Filatov's avatar
Denis Filatov committed
/**
 * This DF indicates the opening/closure status of a lane or a set of lanes.
 * 
 * @field innerhardShoulderStatus: this information is optional and shall be included if the information is known.
 * It indicates the open/closing status of inner hard shoulder lanes. It shall be presented as defined in clause A.29
 * 
 * @field outerhardShoulderStatus: this information is optional and shall be included if the information is known.
 * It indicates the open/closing status of outer hard shoulder lanes. It shall be presented as defined in clause A.29
 * 
 * @field drivingLaneStatus: this information is optional and shall be included if the information is known.
 * It indicates the open/closing status of driving lanes. It shall be presented as defined in clause A.23
 * For roads with more than 13 driving lanes, the drivingLaneStatus DE shall not be set.
 * 
 * @category: GeoReference information, Road topology information
 */
Denis Filatov's avatar
Denis Filatov committed
ClosedLanes ::= SEQUENCE {
Denis Filatov's avatar
Denis Filatov committed
    innerhardShoulderStatus HardShoulderStatus OPTIONAL,
Denis Filatov's avatar
Denis Filatov committed
    outerhardShoulderStatus HardShoulderStatus OPTIONAL,
Denis Filatov's avatar
Denis Filatov committed
    drivingLaneStatus DrivingLaneStatus OPTIONAL,
    ...
Denis Filatov's avatar
Denis Filatov committed
/**
 * This DE indicates the current status of a hard shoulder lane whether it is available for special usage
 * (e.g. for stopping or for driving) or closed for all vehicles.
 * 
 * The DE is used in @ref ClosedLanes DF as defined in clause A.106.
 * @category: Traffic information
 */
Denis Filatov's avatar
Denis Filatov committed
HardShoulderStatus ::= ENUMERATED {availableForStopping(0), closed(1), availableForDriving(2)}

Denis Filatov's avatar
Denis Filatov committed
/**
 * DE that 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 DE as defined in clause A.40.
 * The bit 0 is used to indicate the innermostLane, bit 1 is used to indicate the second lane from inside border.
 * 
 * If a lane is closed to traffic, the corresponding bit shall be set to 1. Otherwise, it shall be set to 0.
 * 
 * @note:	Hard shoulder status is not provided by this DE but in @ref HardShoulderStatus as defined in clause A.29.
 * 
 * The DE is used in @ref ClosedLanes DF as defined in clause A.106.
 * @category: Traffic information
 */
Denis Filatov's avatar
Denis Filatov committed
DrivingLaneStatus ::= BIT STRING (SIZE (1..13))
Denis Filatov's avatar
Denis Filatov 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.
 * 
 * As defined in ETSI TS 101 539-1 [i.6], performance class A shall be set to `1`, performance class B shall be set to 2.
 * When the performance class is unknown, it shall be set to `0`. 
 * 
 * Values in the range `3 to 7` are reserved for future use.
 *
 * @category: Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
PerformanceClass ::= INTEGER {unavailable(0), performanceClassA(1), performanceClassB(2)} (0..7)

Denis Filatov's avatar
Denis Filatov committed
/**
 * A speed value. 
 * - For values equal to or greater than `163,82 m/s`, the value shall be set to `16 382`.
 * - When the information is not available, the value shall be set to `16 383`.
 * 
 * The DE is used in @ref Speed DF as defined in clause A.126.
 * 
 * @unit: 0,01 m/s
 * @category: Vehicle information
*/
Denis Filatov's avatar
Denis Filatov committed
SpeedValue ::= INTEGER {standstill(0), oneCentimeterPerSec(1), unavailable(16383)} (0..16383)

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

Denis Filatov's avatar
Denis Filatov committed
/**
 * Mass of an empty loaded vehicle in multiple of 100 kg.
 * - The value shall be set to `1 023` if the vehicle mass is equal to or greater than `102 300 kg`.
 * - The value shall be set to `1 024` when the vehicle mass information is unavailable.
 * 
 * @note:	The empty load vehicle is defined in ISO 1176 [i.9], clause 4.6.
 * 
 * @unit: 100kg
 * @category: Vehicle information
*/
Denis Filatov's avatar
Denis Filatov committed
VehicleMass ::= INTEGER {hundredKg(1), unavailable(1024)} (1..1024) 

Denis Filatov's avatar
Denis Filatov committed
/**
 * Describes the speed and corresponding accuracy of the speed information for a moving object (e.g. vehicle).
 * 
 * @field speedValue: speed value.
 * It shall be presented as defined in clause A.74,
 * 
 * @field speedConfidence: accuracy of the reported speed value.
 * It shall be presented as defined in clause A.72.
 *
 * @category: Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
Speed ::= SEQUENCE {
Denis Filatov's avatar
Denis Filatov committed
    speedValue SpeedValue,
    speedConfidence SpeedConfidence
Denis Filatov's avatar
Denis Filatov committed
/**
 * Denotes whether a vehicle is driving forward or backward.
 * When the information is unavailable, the value shall be set to 2.
 *
 * @category: Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
DriveDirection ::= ENUMERATED {forward (0), backward (1), unavailable (2)}

Denis Filatov's avatar
Denis Filatov committed
/**
 * Indicates whether a vehicle (e.g. public transport vehicle, truck) is under the embarkation process.
 * If it is the case, the value shall be set to TRUE.
 *
 * @category: Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
EmbarkationStatus ::= BOOLEAN

Denis Filatov's avatar
Denis Filatov committed
/**
 * It indicates the vehicle acceleration at longitudinal direction and the accuracy of the longitudinal acceleration.
 *
 * @field longitudinalAccelerationValue: longitudinal acceleration value at a point in time.
 * It shall be presented as specified in clause A.45,

 * @field longitudinalAccelerationConfidence: accuracy of the reported longitudinal acceleration value with a predefined
 * confidence level. It shall be presented as defined in clause A.1.
 *
 * @category: Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
LongitudinalAcceleration ::= SEQUENCE {
Denis Filatov's avatar
Denis Filatov committed
    longitudinalAccelerationValue LongitudinalAccelerationValue,
    longitudinalAccelerationConfidence AccelerationConfidence
Denis Filatov's avatar
Denis Filatov committed
 /**
 * 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].
 * - Negative values indicate that the vehicle is braking.
 * - For values equal to or greater than 16 m/s2, the value shall be set to -160.
 * - Positive values indicate that the vehicle is accelerating.
 * - For acceleration equal to or greater than 16 m/s2 the value shall be set to 160.
 * - When the data is unavailable, the value shall be set to 161.
 * 
 * This acceleration is along the tangent plane of the road surface and does not include gravity components.
 * 
 * The DE is used in @ref LongitudinalAcceleration DF as defined in clause A.116.
 * 
 * @note: The empty load vehicle is defined in ISO 1176 [i.9], clause 4.6.
 *
 * @category: Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
LongitudinalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredForward(1), pointOneMeterPerSecSquaredBackward(-1), unavailable(161)} (-160 .. 161)

Denis Filatov's avatar
Denis Filatov committed
/**
 * The absolute accuracy of a reported vehicle acceleration value with a predefined confidence level (e.g. 95 %). The required confidence level is defined by the corresponding standards applying the DE.
 *
 * The value shall be set to:
 * - `1` if the acceleration accuracy is equal to or less than 0,1 m/s2.
 * - `n (n > 1 and n < 100)` if the acceleration accuracy is equal to or less than n × 0,1 m/s2.
 * - `100` if the acceleration accuracy is equal to or less than 10 m/s2.
 * - `101` if the acceleration accuracy is out of range i.e. greater than 10 m/s2.
 * - `102` if the data is unavailable.
 *
 * The DE is used in LateralAcceleration DF as defined in clause A.115, LongitudinalAcceleration DF as defined in clause A.116, or VerticalAcceleration DF as defined in clause A.129.
 *
 * @note: The fact that an acceleration value is received with confidence set to 'unavailable(102)' 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 acceleration value may be valid and used by the application.
 * 
 * If an acceleration value is received and its confidence is set to `outOfRange(101)`, it means that the value is not valid and therefore cannot be trusted. Such value is not useful for the application.
 *
 * @unit 0,1 m/s2
 * @category Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
AccelerationConfidence ::= INTEGER {pointOneMeterPerSecSquared(1), outOfRange(101), unavailable(102)} (0 .. 102)

Denis Filatov's avatar
Denis Filatov committed
/**
 * Indicates the vehicle acceleration at lateral direction and the accuracy of the lateral acceleration.
 * 
 * @field: lateralAccelerationValue: lateral acceleration value at a point in time.
 * It shall be presented as specified in clause A.42,
 * 
 * @field: lateralAccelerationConfidence: accuracy of the reported lateral acceleration value with
 * a predefined confidence level. It shall be presented as defined in clause A.1.
 * 
 * @category Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
LateralAcceleration ::= SEQUENCE {
Denis Filatov's avatar
Denis Filatov committed
    lateralAccelerationValue LateralAccelerationValue,
    lateralAccelerationConfidence AccelerationConfidence
Denis Filatov's avatar
Denis Filatov committed
/**
 * Vehicle acceleration at lateral direction in the centre of the mass of the empty vehicle.
 * It corresponds to the vehicle coordinate system as specified in ISO 8855 [2].
 * - Negative value indicates that the vehicle is accelerating towards the right side with regards to the vehicle orientation.
 * - For values equal to or greater than 16 m/s2 towards the right, the value shall be set to -160.
 * - Positive values indicate the acceleration to the left hand side with regards to the vehicle orientation.
 * - For values equal to or greater than 16 m/s2 towards the left, the value shall be set to 160.
 * - When the information is not available, the value shall be set to 161.
 * 
 * The DE is used in @ref LateralAcceleration DF as defined in clause A.115.
 * 
 * @note:	The empty load vehicle is defined in ISO 1176 [i.9], clause 4.6.
 * 
 * @category Vehicle information
 * @unit: 0.1 m/s<sup>2</sup>
 */
Denis Filatov's avatar
Denis Filatov committed
LateralAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredToRight(-1), pointOneMeterPerSecSquaredToLeft(1), unavailable(161)} (-160 .. 161)

Denis Filatov's avatar
Denis Filatov committed
/**
 * It indicates the vehicle acceleration at vertical direction and the accuracy of the vertical acceleration.
 * 
 * @field: verticalAccelerationValue: vertical acceleration value at a point in time.
 * It shall be presented as specified in clause A.96,
 * 
 * @field: verticalAccelerationConfidence: accuracy of the reported vertical acceleration value with
 * a predefined confidence level. It shall be presented as defined in clause A.1.
 * 
 * @category Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
VerticalAcceleration ::= SEQUENCE {
Denis Filatov's avatar
Denis Filatov committed
    verticalAccelerationValue VerticalAccelerationValue,
    verticalAccelerationConfidence AccelerationConfidence
Denis Filatov's avatar
Denis Filatov committed
/**
 * Vehicle acceleration at vertical direction in the centre of the mass of the empty vehicle.
 * It corresponds to the vehicle coordinate system as specified in ISO 8855 [2].
 * - Positive values indicate that the vehicle is accelerating upwards.
 * - The value shall be set to `160` if the upwards acceleration is equal to or greater than 16 m/s<sup>2</sup>.-
 * - Negative values indicate the vehicle is accelerating downwards.
 * - The value shall be set to `-160` if the downwards acceleration is equal to or greater than 16 m/s<sup>2</sup>.
 * - The value shall be set to `161` if the information is not available.
 * 
 * The DE is used in @ref VerticalAcceleration DF as defined in clause A.129.
 * 
 * @note: The empty load vehicle is defined in ISO 1176 [i.9], clause 4.6.
 *
 * @category Vehicle information
 * @unit: 0.1 m/s<sup>2</sup>
 *  
 */
Denis Filatov's avatar
Denis Filatov committed
VerticalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredUp(1), pointOneMeterPerSecSquaredDown(-1), unavailable(161)} (-160 .. 161)

Denis Filatov's avatar
Denis Filatov committed
/**
 * 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.
 * 
 * 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 traveling on foot, incl. possible use of roller skates or skateboards,
 * - 2 `cyclist`: ITS-S mounted on non-motorized unicycles, bicycles , tricycles, quadracycles,
 * - 3 `moped`: ITS-S mounted on light motor vehicles with less than four wheels as defined in UNECE/TRANS/WP.29/78/Rev.4 [i.18] class L1, L2,
 * - 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,
 * - 5 `passengerCar`: ITS-S mounted on small passenger vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 [i.18] class M1,
 * - 6 `bus`: ITS-S mounted on large passenger vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 [i.18] class M2, M3,
 * - 7 `lightTruck`: ITS-S mounted on light Goods Vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 [i.18] class N1,
 * - 8 `heavyTruck`: ITS-S mounted on Heavy Goods Vehicles as defined in UNECE/TRANS/WP.29/78/Rev.4 [i.18] class N2 and N3,
 * - 9 `trailer`: ITS-S mounted on an unpowered vehicle that is intended to be towed by a powered vehicle as defined in UNECE/TRANS/WP.29/78/Rev.4 [i.18] class O,
 *   ***NOTE***: Only to be used when not towed.
 * - 10 `specialVehicles`: ITS-S mounted on vehicles which have special purposes other than the above (e.g. moving road works vehicle),
 * - 11 `tram`: ITS-S mounted on a vehicle which runs on tracks along public streets,
 * - 12 `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),
 * - 13 16-255: reserved for future usage.
 * 
 * The DE is used in @ref RestrictedTypes DF as defined in clause A.125.
 * 
 * @category Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
StationType ::= INTEGER {unknown(0), pedestrian(1), cyclist(2), moped(3), motorcycle(4), passengerCar(5), bus(6), 
lightTruck(7), heavyTruck(8), trailer(9), specialVehicles(10), tram(11), roadSideUnit(15)} (0..255)

Denis Filatov's avatar
Denis Filatov committed
/**
 * This DE describes the status of the exterior light switches of a vehicle.
 * 
 * The value of each bit indicates the state of the switch, which commands the corresponding light.
 * The bit corresponding to a specific light is set to `1`, when the corresponding switch is turned on,
 * either manually by the driver or 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`.
 * 
 * The `fogLightOn` only indicates the status of the tail fog lamp switch.
 * 
 * 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
 */
Denis Filatov's avatar
Denis Filatov committed
ExteriorLights ::= BIT STRING {
Denis Filatov's avatar
Denis Filatov committed
    lowBeamHeadlightsOn      (0),
    highBeamHeadlightsOn     (1),
    leftTurnSignalOn         (2),
    rightTurnSignalOn        (3),
    daytimeRunningLightsOn   (4),
    reverseLightOn           (5),
    fogLightOn               (6),
    parkingLightsOn          (7)
Denis Filatov's avatar
Denis Filatov committed
} (SIZE(8))

Denis Filatov's avatar
Denis Filatov committed
/**
 * This DE indicates the type of the dangerous goods being carried by a heavy vehicle.
 * The value is assigned according to "_class_" and "_division_" definitions of dangerous goods as specified in part II,
 * chapter 2.1.1.1 of European Agreement concerning the International Carriage of Dangerous Goods by Road [i.4].
 * 
 * The DE is used in @ref DangerousGoodsExtended DF as defined in clause A.108.
 * 
 * @category Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
DangerousGoodsBasic::= ENUMERATED {
Denis Filatov's avatar
Denis Filatov committed
    explosives1(0),
    explosives2(1),
    explosives3(2),
    explosives4(3),
    explosives5(4),
    explosives6(5),
    flammableGases(6),
    nonFlammableGases(7),
    toxicGases(8),
    flammableLiquids(9),
    flammableSolids(10),
    substancesLiableToSpontaneousCombustion(11),
    substancesEmittingFlammableGasesUponContactWithWater(12),
    oxidizingSubstances(13),
    organicPeroxides(14),
    toxicSubstances(15),
    infectiousSubstances(16),
    radioactiveMaterial(17),
    corrosiveSubstances(18),
    miscellaneousDangerousSubstances(19)
Denis Filatov's avatar
Denis Filatov committed
/**
 * This DF provides a description of dangerous goods being carried by a heavy vehicle.
 * 
 * @field dangerousGoodsType: Type of dangerous goods, It shall be presented as defined in clause A.17,
 * 
 * @field unNumber: a 4-digit number that identifies the substance of the dangerous goods as specified in
 * United Nations Recommendations on the Transport of Dangerous Goods - Model Regulations [i.5],
 * 
 * @field elevatedTemperature: whether the carried dangerous goods are transported at high temperature.
 * If yes, the value shall be set to TRUE,
 * 
 * @field tunnelsRestricted: whether the heavy vehicle carrying dangerous goods is restricted to enter tunnels.
 * If yes, the value shall be set to TRUE,
 * 
 * @field limitedQuantity: whether the carried dangerous goods are packed with limited quantity.
 * If yes, the value shall be set to TRUE,
 * 
 * @field emergencyActionCode: physical signage placard at the vehicle that carries information on how an emergency
 * service should deal with an incident. This DE is optional; it shall be present if the information is available,
 * 
 * @field phoneNumber: contact phone number of assistance service in case of incident or accident.
 * This DE is optional, it shall be present if the information is available.
 * It shall be presented as defined in clause A.135,
 * 
 * @field companyName: name of company that manages the transportation of the dangerous goods.
 * This DE is optional; it shall be present if the information is available.
 * 
 * @category Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
DangerousGoodsExtended ::= SEQUENCE {
Denis Filatov's avatar
Denis Filatov committed
    dangerousGoodsType DangerousGoodsBasic,
    unNumber INTEGER (0..9999),
    elevatedTemperature BOOLEAN,
    tunnelsRestricted BOOLEAN,
    limitedQuantity BOOLEAN,
    emergencyActionCode IA5String (SIZE (1..24)) OPTIONAL,
    phoneNumber PhoneNumber OPTIONAL,
    companyName UTF8String (SIZE (1..24)) OPTIONAL,
        ...
Denis Filatov's avatar
Denis Filatov committed
/**
 * It indicates if a vehicle is carrying goods with heavy load, excess width, excess length or excess height.
 * The corresponding bit shall be set to 1 when the special transport applies to the corresponding case.
 * Otherwise, the corresponding bit shall be set to 0.
 *
 * @category Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
SpecialTransportType ::= BIT STRING {heavyLoad(0), excessWidth(1), excessLength(2), excessHeight(3)} (SIZE(4))

Denis Filatov's avatar
Denis Filatov committed
/**
 * It describes 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.
 * When the light bar or audible alarm is active, the corresponding bits shall be set to 1.
 * Otherwise, it shall be set to 0.
 *
 * @category Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
LightBarSirenInUse ::= BIT STRING {
Denis Filatov's avatar
Denis Filatov committed
    lightBarActivated (0),
    sirenActivated (1)
Denis Filatov's avatar
Denis Filatov committed
} (SIZE(2))

Denis Filatov's avatar
Denis Filatov committed
/**
 * Height of left or right longitude carrier of vehicle from base to top (left or right carrier seen from vehicle
 * rear to front). For values equal to or greater than 99 cm, the DE shall be set to 99.
 * If the value is unavailable, the DE shall be set to 100.
 *
 * @unit 1 centimeter
 * @category Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
HeightLonCarr ::= INTEGER {oneCentimeter(1), unavailable(100)} (1..100)

Denis Filatov's avatar
Denis Filatov committed
/**
 * 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.
 * For values equal to or higher than 1.26 metres, the value shall be set to `126`.
 * If the information is unavailable, the value shall be set to `127`.
 *
 * @unit 1 centimeter
 * @category Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
PosLonCarr ::= INTEGER {oneCentimeter(1), unavailable(127)} (1..127)

Denis Filatov's avatar
Denis Filatov committed
/**
 * It indicates the perpendicular inter-distance of neighbouring pillar axis of vehicle starting from the
 * middle point of the front line of the vehicle bounding box.
 * For values equal to or greater than 2.9 metres, the value shall be set to `29`.
 * The value shall be set to `30` if the information is unavailable.
 * 
 * The DE is used in @ref PositionOfPillars DF as defined in clause A.120.
 * 
 * @unit 1 centimeter
 * @category Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
PosPillar ::= INTEGER {tenCentimeters(1), unavailable(30)} (1..30)

Denis Filatov's avatar
Denis Filatov committed
/**
 * It 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.
 * For values equal to or higher than 6.2 metres, the data value be set to `62`.
 * The value shall be set to `63` if the information is unavailable.
 * 
 * @note:	The empty load vehicle is defined in ISO 1176 [i.9], clause 4.6.
 *
 * @unit 1 centimeter
 * @category Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
PosCentMass ::= INTEGER {tenCentimeters(1), unavailable(63)} (1..63)

Denis Filatov's avatar
Denis Filatov committed
/**
 * This DE includes 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.
 * @category Communication information
 */
Denis Filatov's avatar
Denis Filatov committed
RequestResponseIndication ::= ENUMERATED {request(0), response(1)}

Denis Filatov's avatar
Denis Filatov committed
/**
 * Speed limitation applied to a geographical position, a road section or a geographical region.
 * 
 * @unit: km/h
 * @category: Infrastructure information, Traffic information
 */
Denis Filatov's avatar
Denis Filatov committed
SpeedLimit ::= INTEGER {oneKmPerHour(1)} (1..255)

Denis Filatov's avatar
Denis Filatov committed
/**
 * It indicates the duration in minutes of a vehicle being stationary.
 * For a vehicle being stationary since equal to or greater than 15 minutes, the value shall be set to `3`.
 * @category: Infrastructure information, Traffic information
 */
Denis Filatov's avatar
Denis Filatov committed
StationarySince ::= ENUMERATED {lessThan1Minute(0), lessThan2Minutes(1), lessThan15Minutes(2), equalOrGreater15Minutes(3)}

Denis Filatov's avatar
Denis Filatov committed
/**
 * Temperature.
 * - For temperature equal to or less than -60 °C, the value shall be set to  `60`.
 * - For temperature equal to or greater than 67 °C, the value shall be set to `67`.
 * 
 * @unit: °C
 * @category: Other information
 */
Denis Filatov's avatar
Denis Filatov committed
Temperature ::= INTEGER {equalOrSmallerThanMinus60Deg (-60), oneDegreeCelsius(1), equalOrGreaterThan67Deg(67)} (-60..67)

Denis Filatov's avatar
Denis Filatov committed
/**
 * It indicates traffic rules that apply to vehicles at a certain position.
 * It includes the following information:
 * - If overtaking is prohibited for all vehicles, the DE shall be set to `0`.
 * - If overtaking is prohibited for trucks, the DE shall be set to `1`.
 * - If vehicles should pass to the right lane, the DE shall be set to `2`.
 * - If vehicles should pass to the left lane, the DE shall be set to `3`.
 *
 * @category: Infrastructure information, Traffic information
 */
Denis Filatov's avatar
Denis Filatov committed
TrafficRule ::= ENUMERATED {noPassing(0), noPassingForTrucks(1), passToRight(2), passToLeft(3), ...
}

Denis Filatov's avatar
Denis Filatov committed
/**
 * Perpendicular distance between front and rear axle of the wheel base of vehicle.
 * - The value shall be set to `126` if the wheel base distance is equal to or greater than 12.6 metres.
 * - The value shall be set to `127` if the information is unavailable.
 *
 * @category: Vehicle information
 * @unit 0.1 metre
 */
Denis Filatov's avatar
Denis Filatov committed
WheelBaseVehicle ::= INTEGER {tenCentimeters(1), unavailable(127)} (1..127)

Denis Filatov's avatar
Denis Filatov committed
/**
 * The smallest circular turn (i.e. U-turn) that the vehicle is capable of making.
 * - The value shall be set to `254` if the turning radius is equal to or greater than 254 × 0.4 metre = 101.6 metres.
 * - The value shall be set to `255` if the information is unavailable.
 * 
 * For vehicle with tracker, the turning radius applies to the vehicle only.
 *
 * @category: Vehicle information
 * @unit 0.4 metre
 */
Denis Filatov's avatar
Denis Filatov committed
TurningRadius ::= INTEGER {point4Meters(1), unavailable(255)} (1..255)

Denis Filatov's avatar
Denis Filatov committed
/**
 * Perpendicular distance between the vehicle front line of the bounding box and the front wheel axle in 10 centimetres.
 * - For values equal to or higher than 1.9 metres, the DE shall be set to `19`.
 * - The value shall bet set to `20` if the information is unavailable.
 * @category: Vehicle information
 * @unit 0.1 metre
 */
Denis Filatov's avatar
Denis Filatov committed
PosFrontAx ::= INTEGER {tenCentimeters(1), unavailable(20)} (1..20)

Denis Filatov's avatar
Denis Filatov committed
/**
 * It 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
 */
Denis Filatov's avatar
Denis Filatov committed
PositionOfOccupants ::= BIT STRING {
Denis Filatov's avatar
Denis Filatov committed
    row1LeftOccupied (0),
    row1RightOccupied (1),
    row1MidOccupied (2),
    row1NotDetectable (3),
    row1NotPresent (4),
    row2LeftOccupied (5),
    row2RightOccupied (6),
    row2MidOccupied (7),
    row2NotDetectable (8),
    row2NotPresent (9),
    row3LeftOccupied (10),
    row3RightOccupied (11),
    row3MidOccupied (12),
    row3NotDetectable (13),
    row3NotPresent (14),
    row4LeftOccupied (15),
    row4RightOccupied (16),
    row4MidOccupied (17),
    row4NotDetectable (18),
    row4NotPresent (19)} (SIZE(20))
Denis Filatov's avatar
Denis Filatov committed
/**
 * It indicates the positioning technology being used to estimate a geographical position.
 * It covers the following positioning solutions:
 * - 1 `sGNSS`: Global Navigation Satellite System,
 * - 2 `dGNSS`: Differential GNSS,
 * - 3 `sGNSSplusDR`: GNSS and dead reckoning,
 * - 4 `dGNSSplusDR`: Differential GNSS and dead reckoning,
 * - 5 `dR`: dead reckoning.
 *
 * @category: GeoReference information
 */
Denis Filatov's avatar
Denis Filatov committed
PositioningSolutionType ::= ENUMERATED {noPositioningSolution(0), sGNSS(1), dGNSS(2), sGNSSplusDR(3), dGNSSplusDR(4), dR(5), ...}

Denis Filatov's avatar
Denis Filatov committed
/**
 * This DF provides information related to the identification of a vehicle.
 * 
 * @field wMInumber: World Manufacturer Identifier (WMI) code. It shall be presented as defined in clause A.98,
 * 
 * @field vDS: Vehicle Descriptor Section (VDS). It shall be presented as defined in clause A.89.
 * 
 * @category: Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
VehicleIdentification ::= SEQUENCE {
Denis Filatov's avatar
Denis Filatov committed
    wMInumber WMInumber OPTIONAL,
    vDS VDS OPTIONAL,
    ...
Denis Filatov's avatar
Denis Filatov committed
/**
 * World Manufacturer Identifier (WMI). The values are assigned according to ISO 3779 [i.7].
 * 
 * The DE is used in @ref VehicleIdentification DF as defined in clause A.130.
 *
 * @category: Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
WMInumber ::= IA5String (SIZE(1..3))

Denis Filatov's avatar
Denis Filatov committed
/**
 * Vehicle Descriptor Section (VDS). The values are assigned according to ISO 3779 [i.7].
 * 
 * The DE is used in @ref VehicleIdentification DF as defined in clause A.130.
 *
 * @category: Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
VDS ::= IA5String (SIZE(6))

Denis Filatov's avatar
Denis Filatov committed
/**
 * Type of energy being used and stored in vehicle.
 * - If a storage type is used by the vehicle, the corresponding bit shall be set to `1`.
 * - Otherwise, the corresponding bit shall be set to `0`.
 *
 * @category: Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
EnergyStorageType ::= BIT STRING {hydrogenStorage(0), electricEnergyStorage(1), liquidPropaneGas(2), compressedNaturalGas(3), diesel(4), gasoline(5), ammonia(6)} (SIZE(7))

Denis Filatov's avatar
Denis Filatov committed
/**
 * Length of vehicle and accuracy indication information.
 * 
 * @field vehicleLengthValue: length of vehicle. It shall be presented as defined in clause A.92
 * 
 * @field vehicleLengthConfidenceIndication: indication of reported length value confidence.
 * It shall be presented as defined in clause A.91.
 * 
 * @category: Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
VehicleLength ::= SEQUENCE {
Denis Filatov's avatar
Denis Filatov committed
    vehicleLengthValue VehicleLengthValue,
    vehicleLengthConfidenceIndication VehicleLengthConfidenceIndication
Denis Filatov's avatar
Denis Filatov committed
/**
 * Length of a vehicle.
 * - The value shall be set to 1 022 if the vehicle length is equal to or greater than 102.2 metres.
 * - The value shall be set to 1 023 if the information in unavailable.
 * 
 * The DE is used in @ref VehicleLength DF as defined in clause A.131.
 * 
 * @unit: 0.1 metre
 * @category: Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
VehicleLengthValue ::= INTEGER {tenCentimeters(1), outOfRange(1022), unavailable(1023)}  (1..1023)

Denis Filatov's avatar
Denis Filatov committed
/**
 * To indicate whether the presence of a trailer is detectable or whether its length is included in a
 * reported vehicle length value.
 * - When the information is not known, the value shall be set to `unavailable(4)`.
 * 
 * The DE is used in @ref VehicleLength DF as defined in clause A.131.
 *  
 * @category: Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
VehicleLengthConfidenceIndication ::= ENUMERATED {noTrailerPresent(0), trailerPresentWithKnownLength(1), trailerPresentWithUnknownLength(2), trailerPresenceIsUnknown(3), unavailable(4)}

Denis Filatov's avatar
Denis Filatov committed
/**
 * Width of a vehicle, including side mirrors.
 * - For a vehicle width equal to or greater than 6.1 metres, the value shall be set to `61`.
 * - The value shall be set to `62` if the information is unavailable.
 * 
 * @unit: 0.1 metre
 * @category: Vehicle information 
 */
Denis Filatov's avatar
Denis Filatov committed
VehicleWidth ::= INTEGER {tenCentimeters(1), outOfRange(61), unavailable(62)} (1..62)

Denis Filatov's avatar
Denis Filatov committed
/**
 * DF that defines a path with a set of path points.
 * It may contain up to `40` path points. Each path point shall be presented as defined in clause A.118 @ref PathPoint.
 * 
 * It may be used to describe the historical path of a vehicle.
 *
 * @category: GeoReference information, Vehicle information
 */
Denis Filatov's avatar
Denis Filatov committed
PathHistory::= SEQUENCE (SIZE(0..40)) OF PathPoint

Denis Filatov's avatar
Denis Filatov committed
/**
 * It indicates the right of priority requested by an operating emergency vehicle.
 * The right-of-priority bit shall be set to 1 if the corresponding right is requested.
 * 
 * @category: Traffic information
 */
Denis Filatov's avatar
Denis Filatov committed
EmergencyPriority ::= BIT STRING {requestForRightOfWay(0), requestForFreeCrossingAtATrafficLight(1)} (SIZE(2))

Denis Filatov's avatar
Denis Filatov committed
/**
 * Quality level of provided information.
 * 
 * The DE is used in @ref EventPoint DF as defined in clause A.111.
 * 
 * @category: Other information
 * @note:	Definition of quality level is out of scope of the present document.
 */
Denis Filatov's avatar
Denis Filatov committed
InformationQuality ::= INTEGER {unavailable(0), lowest(1), highest(7)} (0..7)

Denis Filatov's avatar
Denis Filatov committed
/**
 * Type of a road segment.
 * 
 * @category: Road Topology Information
 * > NOTE: Definition of road type is out of scope of the present document.
 */
Denis Filatov's avatar
Denis Filatov committed
RoadType ::= ENUMERATED {
Denis Filatov's avatar
Denis Filatov committed
    urban-NoStructuralSeparationToOppositeLanes(0),
    urban-WithStructuralSeparationToOppositeLanes(1),
    nonUrban-NoStructuralSeparationToOppositeLanes(2),
    nonUrban-WithStructuralSeparationToOppositeLanes(3)}
Denis Filatov's avatar
Denis Filatov committed
/**
 * Steering wheel angle of the vehicle at certain point in time.
 * 
 * @field steeringWheelAngleValue: steering wheel angle value. It shall be presented as defined in clause A.80,
 * 
 * @field steeringWheelAngleConfidence: accuracy of the reported steering wheel angle value.
 * It shall be presented as defined in clause A.79.
 * 
 * @category: Vehicle Information
 */
Denis Filatov's avatar
Denis Filatov committed
SteeringWheelAngle ::= SEQUENCE {
Denis Filatov's avatar
Denis Filatov committed
    steeringWheelAngleValue SteeringWheelAngleValue,
    steeringWheelAngleConfidence SteeringWheelAngleConfidence
Denis Filatov's avatar
Denis Filatov committed
/**
 * Steering wheel angle of the vehicle at certain point in time.
 * It corresponds to the vehicle coordinate system as specified in ISO 8855 [2].
 * - Positive values indicate that the steering wheel angle is turning counter-clockwise (i.e. to the left).
 * - Negative values shall be used when the steering wheel angle is turning clockwise (i.e. to the right).
 * - The value shall be set to `511` if the steering wheel angle is equal to or greater than 511 × 1,5 degrees = 766,5 degrees to the left.
 * - The value shall be set to `-511` if the steering wheel angle is equal to or greater than 511 × 1,5 degrees = 766,5 degrees to the right.
 * - When the information is not available, the value shall be set to `512`.
 * 
 * The DE is used in @ref SteeringWheelAngle DF as defined in clause A.127.
 * @unit: 1.5 degree
 * @category: Vehicle Information
 */
Denis Filatov's avatar
Denis Filatov committed
SteeringWheelAngleValue ::= INTEGER {straight(0), onePointFiveDegreesToRight(-1), onePointFiveDegreesToLeft(1), unavailable(512)} (-511..512)

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

Denis Filatov's avatar
Denis Filatov committed
/**
 * Number of milliseconds since `2004-01-01T00:00:00.000Z`, as specified in ISO 8601 [i.10].
 *