ETSI-ITS-CDD.asn 319 KB
Newer Older
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 specific WGS84 coordinate system is specified by the corresponding standards applying this DE.
tijinkj's avatar
tijinkj committed
 *
 * The value shall be set to:
 * - `n` (`n >= -900 000 000` and `n < 0`) x 10^-7 degree, i.e. negative values for latitudes south of the Equator,
 * - `0` is used for the latitude of the equator,
 * - `n` (`n > 0` and `n < 900 000 001`) x 10^-7 degree, i.e. positive values for latitudes north of the Equator,
 * - `900 000 001` when the information is unavailable.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @unit: 10^-7 degree
tijinkj's avatar
tijinkj committed
 * @category: GeoReference information
 * @revision: Editorial update in V2.1.1
 */
Latitude ::= INTEGER {
    unavailable(900000001)
} (-900000000..900000001)

/**
 * 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 [21].
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
 * - `-160` for acceleration values equal to or less than -16 m/s^2,
 * - `n` (`n > -160` and `n <= 0`) to indicate that the vehicle is accelerating towards the right side with regards to the vehicle orientation 
ASN.1 Documenter's avatar
ASN.1 Documenter committed
 *                            with acceleration equal to or less than n x 0,1 m/s^2 and greater than (n-1) x 0,1 m/s^2,
 * - `n` (`n > 0` and `n < 160`) to indicate that the vehicle is accelerating towards the left hand side with regards to the vehicle orientation 
ASN.1 Documenter's avatar
ASN.1 Documenter committed
						     with acceleration equal to or less than n x 0,1 m/s^2 and greater than (n-1) x 0,1 m/s^2,
 * - `160` for acceleration values greater than 15,9 m/s^2,
 * - `161` when the data is unavailable.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @note: the empty load vehicle is defined in ISO 1176 [8], clause 4.6.
tijinkj's avatar
tijinkj committed
 * @note: this DF is kept for backwards compatibility reasons only. It is recommended to use @ref AccelerationValue instead.
tijinkj's avatar
tijinkj committed
 *  
ASN.1 Documenter's avatar
ASN.1 Documenter committed
 * @unit: 0,1 m/s^2
tijinkj's avatar
tijinkj committed
 * @category: Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: Description updated in V2.1.1 (the meaning of 160 has changed slightly). 
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
LateralAccelerationValue ::= INTEGER {
    negativeOutOfRange (-160),
    positiveOutOfRange (160),
    unavailable        (161)  
} (-160 .. 161)
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.
 *
 * The corresponding bit shall be set to 1 under the following conditions:
 * - 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.
 *
 * @category Vehicle information
 * @revision: Editorial update in V2.1.1
 */
LightBarSirenInUse ::= BIT STRING {
    lightBarActivated (0),
    sirenActivated    (1)
} (SIZE(2))

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

 /**
 * This DE represents the vehicle acceleration at longitudinal direction in the centre of the mass of the empty vehicle.
tijinkj's avatar
tijinkj committed
 * The value shall be provided in the vehicle coordinate system as defined in ISO 8855 [21], clause 2.11.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
 * - `-160` for acceleration values equal to or less than -16 m/s^2,
 * - `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^2, and greater than (n-1) x 0,1 m/s^2
 * - `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^2, and greater than (n-1) x 0,1 m/s^2,
 * - `160` for acceleration values greater than 15,9 m/s^2,
 * - `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 for backwards compatibility reasons only. It is recommended to use @ref AccelerationValue instead.
tijinkj's avatar
tijinkj committed
 * 
tijinkj's avatar
tijinkj committed
 * @note: The empty load vehicle is defined in ISO 1176 [8], clause 4.6.
ASN.1 Documenter's avatar
ASN.1 Documenter committed
 * @unit: 0,1 m/s^2
tijinkj's avatar
tijinkj committed
 * @category: Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: description revised in V2.1.1 (the meaning of 160 has changed slightly). T
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
LongitudinalAccelerationValue::= INTEGER {
    negativeOutOfRange (-160),
    positiveOutOfRange (160),
    unavailable        (161)  
} (-160 .. 161)
tijinkj's avatar
tijinkj committed

/** 
tijinkj's avatar
tijinkj committed
 * This DE represents the longitudinal offset of a map-matched position along a matched lane, beginning from the lane's starting point.
tijinkj's avatar
tijinkj committed
 * 
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
 * - `n` (`n >= 0` and `n < 32766`) if the longitudinal offset information is equal to or less than n x 0,1 metre and more than (n-1) x 0,1 metre,
 * - `32 766` if the longitudinal offset is out of range, i.e. greater than 3276,5 m,
 * - `32 767` if the longitudinal offset information is not available. 
tijinkj's avatar
tijinkj committed
 *
 * @unit 0,1 metre
tijinkj's avatar
tijinkj committed
 * @category: GeoReference information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1
*/
tijinkj's avatar
tijinkj committed
LongitudinalLanePositionValue ::= INTEGER {
    outOfRange(32766),
    unavailable(32767)
}(0..32767)
tijinkj's avatar
tijinkj committed

/** 
ASN.1 Documenter's avatar
ASN.1 Documenter committed
 * This DE indicates the longitudinal lane position confidence value which represents the estimated accuracy of longitudinal lane position measurement with a default confidence level of 95 %.
tijinkj's avatar
tijinkj committed
 * If required, the confidence level can be defined by the corresponding standards applying this DE.
tijinkj's avatar
tijinkj committed
 *
 * The value shall be set to:
 * - `n` (`n > 0` and `n < 1 022`) if the  confidence value is equal to or less than n x 0,1 m, and more than (n-1) x 0,1 m,
 * - `1 022` if the confidence value is out of range i.e. greater than 102,1 m,
 * - `1 023` if the confidence value is unavailable.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @unit 0,1 metre
tijinkj's avatar
tijinkj committed
 * @category: GeoReference information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1
*/
LongitudinalLanePositionConfidence ::= INTEGER {
tijinkj's avatar
tijinkj committed
    outOfRange  (1022),
    unavailable (1023)  
} (0..1023)

/**
 * This DE indicates the components of an @ref PerceivedObject that are included in the @ref LowerTriangularPositiveSemidefiniteMatrix.
 *
 * The corresponding bit shall be set to 1 if the component is included:
 * - 0 - `xCoordinate`                   - when the component xCoordinate of the component @ref CartesianPosition3dWithConfidence is included,
 * - 1 - `yCoordinate`                   - when the component yCoordinate of the component @ref CartesianPosition3dWithConfidence is included,   
 * - 2 - `zCoordinate`                   - when the component zCoordinate of the component @ref CartesianPosition3dWithConfidence is included, 
 * - 3 - `xVelocityOrVelocityMagnitude`  - when the component xVelocity of the component @ref VelocityCartesian or the component VelocityMagnitude of the component @ref VelocityPolarWithZ is included,   
 * - 4 - `yVelocityOrVelocityDirection`  - when the component yVelocity of the component @ref VelocityCartesian or the component VelocityDirection of the component @ref VelocityPolarWithZ is included,   
 * - 5 - `zVelocity`                     - when the component zVelocity of the component @ref VelocityCartesian or of the component @ref VelocityPolarWithZ is included,
 * - 6 - `xAccelOrAccelMagnitude`        - when the component xAcceleration of the component @ref AccelerationCartesian or the component AccelerationMagnitude of the component @ref AccelerationPolarWithZ is included,  
 * - 7 - `yAccelOrAccelDirection`        - when the component yAcceleration of the component @ref AccelerationCartesian or the component AccelerationDirection of the component @ref AccelerationPolarWithZ is included,   
 * - 8 - `zAcceleration`                 - when the component zAcceleration of the component @ref AccelerationCartesian or of the component @ref AccelerationPolarWithZ is included,
 * - 9 - `zAngle`                        - when the component zAngle is included,
 * - 10 - `yAngle`                       - when the component yAngle is included,   
 * - 11 - `xAngle`                       - when the component xAngle is included,   
 * - 12 - `zAngularVelocity`             - when the component zAngularVelocity is included.   
tijinkj's avatar
tijinkj committed
 *
 * Otherwise, it shall be set to 0.
 *
tijinkj's avatar
tijinkj committed
 * @category: Sensing information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1
 */
MatrixIncludedComponents::= BIT STRING{
    xPosition                    (0),
    yPosition                    (1),
    zPosition                    (2),
    xVelocityOrVelocityMagnitude (3),
    yVelocityOrVelocityDirection (4),
    zSpeed                       (5),
    xAccelOrAccelMagnitude       (6),
    yAccelOrAccelDirection       (7),
    zAcceleration                (8),
    zAngle                       (9),  
    yAngle                      (10), 
    xAngle                      (11), 
tijinkj's avatar
tijinkj committed
    zAngularVelocity              (12)
tijinkj's avatar
tijinkj committed
} (SIZE(13,...))
tijinkj's avatar
tijinkj committed

/** 
 * This DE represents the type of facility layer message.
 *
 *  The value shall be set to:
 *	- 1  - `denm`              - for Decentralized Environmental Notification Message (DENM) as specified in ETSI EN 302 637-3 [2],
 *  - 2  - `cam`               - for Cooperative Awareness Message (CAM) as specified in ETSI EN 302 637-2 [1],
tijinkj's avatar
tijinkj committed
 *  - 3  - `poim`              - for Point of Interest message as specified in ETSI TS 103 916 [9],
 *  - 4  - `spatem`            - for Signal Phase And Timing Extended Message (SPATEM) as specified in ETSI TS 103 301 [15],
 *  - 5  - `mapem`             - for MAP Extended Message (MAPEM) as specified in ETSI TS 103 301 [15],
 *  - 6  - `ivim`              - for in Vehicle Information Message (IVIM) as specified in ETSI TS 103 301 [15],
tijinkj's avatar
tijinkj committed
 *  - 7  - `rfu1`              - reserved for future usage,
 *  - 8  - `rfu2`              - reserved for future usage,
 *  - 9  - `srem`              - for Signal Request Extended Message as specified in ETSI TS 103 301 [15],
 *  - 10 - `ssem`              - for Signal request Status Extended Message as specified in ETSI TS 103 301 [15],
 *  - 11 - `evcsn`             - for Electrical Vehicle Charging Spot Notification message as specified in ETSI TS 101 556-1 [9],
 *  - 12 - `saem`              - for Services Announcement Extended Message as specified in ETSI EN 302 890-1 [17],
 *  - 13 - `rtcmem`            - for Radio Technical Commission for Maritime Services Extended Message (RTCMEM) as specified in ETSI TS 103 301 [15],
 *  - 14 - `cpm`               - reserved for Collective Perception Message (CPM), 
 *  - 15 - `imzm`              - for Interference Management Zone Message (IMZM) as specified in ETSI TS 103 724 [13],
 *  - 16 - `vam`               - for Vulnerable Road User Awareness Message as specified in ETSI TS 130 300-3 [12], 
 *  - 17 - `dsm`               - reserved for Diagnosis, logging and Status Message,
 *  - 18 - `pcim`              - reserved for Parking Control Infrastructure Message,
 *  - 19 - `pcvm`              - reserved for Parking Control Vehicle Message,
 *  - 20 - `mcm`               - reserved for Manoeuvre Coordination Message,
 *  - 21 - `pam`               - reserved for Parking Availability Message,
tijinkj's avatar
tijinkj committed
 *  - 22-255                   - reserved for future usage.
tijinkj's avatar
tijinkj committed
 *
 * @category: Communication information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1 from @ref ItsPduHeader. Value 3 re-assigned to poim and value 7 and 8 reserved in V2.2.1
tijinkj's avatar
tijinkj committed
 */
MessageId::= INTEGER { 
    denm              (1),  
    cam               (2), 
tijinkj's avatar
tijinkj committed
    poim              (3), 
tijinkj's avatar
tijinkj committed
    spatem            (4), 
    mapem             (5), 
    ivim              (6), 
tijinkj's avatar
tijinkj committed
    rfu1              (7), 
    rfu2              (8), 
tijinkj's avatar
tijinkj committed
    srem              (9), 
    ssem              (10), 
    evcsn             (11), 
    saem              (12), 
    rtcmem            (13), 
    cpm               (14),
    imzm              (15),
    vam               (16),
tijinkj's avatar
tijinkj committed
    dsm               (17), 
    pcim              (18),
    pcvm              (19),
    mcm               (20),
    pam               (21)
tijinkj's avatar
tijinkj committed
} (0..255)

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

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

/** 
 * This DE represents a single dimension of an object.
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
 * - `n` (`n > 0` and `n < 255`) if the  accuracy is equal to or less than n x 0,1 m, and more than (n-1) x 0,1 m,
 * - `255` if the accuracy is out of range i.e. greater than 25,4 m,
 * - `256` if the data is unavailable.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @unit 0,1 m
tijinkj's avatar
tijinkj committed
 * @category: Basic information
tijinkj's avatar
tijinkj committed
 * @revision: Created in V2.1.1 
*/
tijinkj's avatar
tijinkj committed
ObjectDimensionValue ::= INTEGER { 
    outOfRange              (255),
    unavailable             (256)
}(1..256)
tijinkj's avatar
tijinkj committed

/** 
ASN.1 Documenter's avatar
ASN.1 Documenter committed
 * This DE indicates the object dimension confidence value which represents the estimated absolute accuracy of an object dimension value with a default confidence level of 95 %.
tijinkj's avatar
tijinkj committed
 * If required, the confidence level can be defined by the corresponding standards applying this DE.
tijinkj's avatar
tijinkj committed
 *
 * The value shall be set to:
 * - `n` (`n > 0` and `n < 31`) if the confidence value is equal to or less than n x 0,1 metre, and more than (n-1) x 0,1 metre,
 * - `31` if the confidence value is out of range i.e. greater than 3,0 m,
 * - `32` if the confidence value is unavailable.
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @unit 0,1 m
tijinkj's avatar
tijinkj committed
 * @category: Sensing information
 * @revision: Created in V2.1.1 
*/
ObjectDimensionConfidence ::= INTEGER { 
tijinkj's avatar
tijinkj committed
    outOfRange              (31),
    unavailable             (32)
} (1..32)
tijinkj's avatar
tijinkj committed

/**
 * This DE indicates the face or part of a face of a solid object.
 *
 * The object is modelled  as a rectangular prism that has a length that is greater than its width, with the faces of the object being defined as:
 * - front: the face defined by the prism's width and height, and which is the first face in direction of longitudinal movement of the object,
 * - back: the face defined by the prism's width and height, and which is the last face in direction of longitudinal movement of the object,
 * - side: the faces defined by the prism's length and height with "left" and "right" defined by looking at the front face and "front" and "back" defined w.r.t to the front and back faces. 
tijinkj's avatar
tijinkj committed
 *
 * Note: It is permissible to derive the required object dimensions and orientation from models to provide a best guess.
 * 
 * @category: Basic information
 * @revision: V2.1.1
*/
ObjectFace ::= ENUMERATED {
    front          (0), 
    sideLeftFront  (1), 
    sideLeftBack   (2), 
    sideRightFront (3), 
    sideRightBack  (4),
    back           (5)   
}

/**
 * This DE represents a time period to describe the opening days and hours of a Point of Interest.
 * (for example local commerce).
 *
tijinkj's avatar
tijinkj committed
 * @category: Basic information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
 */
OpeningDaysHours ::= UTF8String 

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


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

/** 
tijinkj's avatar
tijinkj committed
 * This DE indicates the subclass of a detected object for @ref ObjectClass "otherSubclass".
tijinkj's avatar
tijinkj committed
 *
 * The value shall be set to:
 * - `0` - unknown          - if the subclass is unknown.
 * - `1` - singleObject     - if the object is a single object.
 * - `2` - multipleObjects  - if the object is a group of multiple objects.
 * - `3` - bulkMaterial     - if the object is a bulk material.
tijinkj's avatar
tijinkj committed
 *
 * @category: Sensing information
 * @revision: Created in V2.1.1
 */
OtherSubClass ::= INTEGER {
tijinkj's avatar
tijinkj committed
    unknown         (0),
tijinkj's avatar
tijinkj committed
    singleObject    (1),
    multipleObjects (2),
    bulkMaterial    (3)
tijinkj's avatar
tijinkj committed
} (0..255)

/**
 * This DE represents the recorded or estimated travel time between a position and a predefined reference position. 
 *
tijinkj's avatar
tijinkj committed
 * @unit 0,01 second
tijinkj's avatar
tijinkj committed
 * @category: Basic information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
PathDeltaTime ::= INTEGER (1..65535, ...) 
tijinkj's avatar
tijinkj committed

tijinkj's avatar
tijinkj committed
/** 
tijinkj's avatar
tijinkj committed
 * This DE indicates an ordinal number that represents the position of a component in the list of @ref Traces or @ref TracesExtended. 
 *
 * The value shall be set to:
 * - `0` - noPath  - if no path is identified
 * - `1..7`        - for instances 1..7 of @ref Traces 
 * - `8..14`       - for instances 1..7 of @ref TracesExtended. 
tijinkj's avatar
tijinkj committed
 *
 * @category: Road topology information
 * @revision: Created in V2.2.1
*/
PathId ::= INTEGER {
    noPath        (0),
    path1         (1),
    path2         (2),
    path3         (3),
    path4         (4),
    path5         (5),
    path6         (6),
    path7         (7),
    pathExtended1 (8),
    pathExtended2 (9),
    pathExtended3 (10),
    pathExtended4 (11),
    pathExtended5 (12),
    pathExtended6 (13),
    pathExtended7 (14)
} (0..14)

tijinkj's avatar
tijinkj committed
/**
 * This DE denotes the ability of an ITS-S to provide up-to-date information.
 * A performance class value is used to describe age of data. The exact values are out of scope of the present document.
 * 
 *  The value shall be set to:
 * - `0` if  the performance class is unknown,
 * - `1` for performance class A as defined in ETSI TS 101 539-1 [5],
 * - `2` for performance class B as defined in ETSI TS 101 539-1 [5],
 * -  3-7 reserved for future use.
tijinkj's avatar
tijinkj committed
 *
 * @category: Vehicle information
 * @revision: Editorial update in V2.1.1
 */
PerformanceClass ::= INTEGER {
    unavailable       (0), 
    performanceClassA (1), 
    performanceClassB (2)
} (0..7)

/**
 * This DE represents a telephone number
 * 
 * @category: Basic information
 * @revision: V1.3.1
 */
PhoneNumber ::= NumericString (SIZE(1..16))

/**
 * This DE indicates the perpendicular distance from the centre of mass of an empty load vehicle to the front line of
 * the vehicle bounding box of the empty load vehicle.
 *
 * The value shall be set to:
 * - `n` (`n > 0` and `n < 62`) for any aplicable value n between 0,1 metre and 6,2 metres, 
 * - `62` for values equal to or higher than 6.1 metres,
 * - `63`  if the information is unavailable.
tijinkj's avatar
tijinkj committed
 * 
tijinkj's avatar
tijinkj committed
 * @note:	The empty load vehicle is defined in ISO 1176 [8], clause 4.6.
tijinkj's avatar
tijinkj committed
 *
 * @unit 0,1 metre 
 * @category Vehicle information
tijinkj's avatar
tijinkj committed
 * @revision: description revised in V2.1.1 (the meaning of 62 has changed slightly) 
tijinkj's avatar
tijinkj committed
 */
PosCentMass ::= INTEGER {
tijinkj's avatar
tijinkj committed
    tenCentimetres (1), 
tijinkj's avatar
tijinkj committed
    outOfRange     (62),
    unavailable    (63)
} (1..63)

/**
 * This DE indicates the positioning technology being used to estimate a geographical position.
 *
 * The value shall be set to:
 * - 0 `noPositioningSolution`  - no positioning solution used,
 * - 1 `sGNSS`                  - Global Navigation Satellite System used,
 * - 2 `dGNSS`                  - Differential GNSS used,
 * - 3 `sGNSSplusDR`            - GNSS and dead reckoning used,
 * - 4 `dGNSSplusDR`            - Differential GNSS and dead reckoning used,
tijinkj's avatar
tijinkj committed
 * - 5 `dR`                     - dead reckoning used,
 * - 6 `manuallyByOperator`     - position set manually by a human operator.
tijinkj's avatar
tijinkj committed
 *
 * @category: GeoReference information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1, extension with value 6 added in V2.2.1
tijinkj's avatar
tijinkj committed
 */
PositioningSolutionType ::= ENUMERATED {
    noPositioningSolution (0), 
    sGNSS                 (1), 
    dGNSS                 (2), 
    sGNSSplusDR           (3), 
    dGNSSplusDR           (4), 
    dR                    (5), 
tijinkj's avatar
tijinkj committed
    ...,
    manuallyByOperator    (6)
tijinkj's avatar
tijinkj committed
}

/**
 * This DE indicates whether a passenger seat is occupied or whether the occupation status is detectable or not.
 * 
 * The number of row in vehicle seats layout is counted in rows from the driver row backwards from front to the rear
 * of the vehicle.
 * The left side seat of a row refers to the left hand side seen from vehicle rear to front.
 * Additionally, a bit is reserved for each seat row, to indicate if the seat occupation of a row is detectable or not,
 * i.e. `row1NotDetectable (3)`, `row2NotDetectable(8)`, `row3NotDetectable(13)` and `row4NotDetectable(18)`.
tijinkj's avatar
tijinkj committed
 * 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)`.
tijinkj's avatar
tijinkj committed
 * 
 * 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`.
tijinkj's avatar
tijinkj committed
 * 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`.
tijinkj's avatar
tijinkj committed
 * 
 * @category: Vehicle information
 * @revision: V1.3.1
 */
PositionOfOccupants ::= BIT STRING {
    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))

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

tijinkj's avatar
tijinkj committed
/** 
 * This DE represents a position along a single dimension such as the middle of a road or lane, measured as an offset from an externally defined starting point, 
 * in direction of an externally defined reference direction.
 * 
 * The value shall be set to:
 * - `n` (`n >= -8190` and `n < 0`) if the position is equal to or less than n x 1 metre and more than (n-1) x 1 metre, in opposite direction of the reference direction,
 * - `0` if the position is at the starting point,
 * - `n` (`n > 0` and `n < 8190`) if the position is equal to or less than n x 1 metre and more than (n-1) x 1 metre, in the same direction as the reference direction,
 * - `8 190` if the position is out of range, i.e. equal to or greater than 8 189 m,
 * - `8 191` if the position information is not available. 
 *
 * @unit 1 metre
 * @category: GeoReference information
 * @revision: Created in V2.2.1
 */
Position1d ::= INTEGER {
    outOfRange(8190),
    unavailable(8191)
}(-8190..8191)

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

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

/**
 * This DE represents the value of the sub cause codes of the @ref CauseCode `postCrash` .
tijinkj's avatar
tijinkj committed
 * 
 * The value shall be set to:
 * - 0 `unavailable`                                               - in case further detailed information on post crash event is unavailable,
 * - 1 `accidentWithoutECallTriggered`                             - in case no eCall has been triggered for an accident,
 * - 2 `accidentWithECallManuallyTriggered`                        - in case eCall has been manually triggered and transmitted to eCall back end,
 * - 3 `accidentWithECallAutomaticallyTriggered`                   - in case eCall has been automatically triggered and transmitted to eCall back end,
 * - 4 `accidentWithECallTriggeredWithoutAccessToCellularNetwork`  - in case eCall has been triggered but cellular network is not accessible from triggering vehicle.
tijinkj's avatar
tijinkj committed
 * - 5-255                                                         - are reserved for future usage.
tijinkj's avatar
tijinkj committed
 *
 * @category: Traffic information
 * @revision: V1.3.1
 */
PostCrashSubCauseCode ::= INTEGER {
    unavailable                                              (0), 
    accidentWithoutECallTriggered                            (1), 
    accidentWithECallManuallyTriggered                       (2), 
    accidentWithECallAutomaticallyTriggered                  (3), 
    accidentWithECallTriggeredWithoutAccessToCellularNetwork (4)
} (0..255)

/**
tijinkj's avatar
tijinkj committed
* This DE represent the total amount of rain falling during one hour. It is measured in mm per hour at an area of 1 square metre.  
tijinkj's avatar
tijinkj committed
* 
* The following values are specified:
* - `n` (`n > 0` and `n < 2000`) if the amount of rain falling is equal to or less than n x 0,1 mm/h and greater than (n-1) x 0,1 mm/h,
* - `2000` if the amount of rain falling is greater than 199.9 mm/h, 
* - `2001` if the information is not available.
tijinkj's avatar
tijinkj committed
*
tijinkj's avatar
tijinkj committed
* @unit: 0,1 mm/h 
tijinkj's avatar
tijinkj committed
* @category: Basic Information
* @revision: created in V2.1.1
*/
PrecipitationIntensity ::= INTEGER {
	outOfRange								(2000), 
	unavailable								(2001) 
} (1..2001)

/**
tijinkj's avatar
tijinkj committed
 * This DE represents the indentifier of a protected communication zone.
tijinkj's avatar
tijinkj committed
 * 
 * 
 * @category: Infrastructure information, Communication information
tijinkj's avatar
tijinkj committed
 * @revision: Revision in V2.1.1 (changed name from ProtectedZoneID to ProtectedZoneId)
tijinkj's avatar
tijinkj committed
 */
tijinkj's avatar
tijinkj committed
ProtectedZoneId ::= INTEGER (0.. 134217727)
tijinkj's avatar
tijinkj committed

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

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

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

/**
 * This DE indicates a certain coding type of the PtActivationData data.
 *
 * The folowing value are specified:
 * - 0 `undefinedCodingType`  : undefined coding type,
 * - 1 `r09-16CodingType`     : coding of PtActivationData conform to VDV recommendation 420 [7],
 * - 2 `vdv-50149CodingType`  : coding of PtActivationData based on VDV recommendation 420 [7].
 * - 3 - 255                  : reserved for alternative and future use.
tijinkj's avatar
tijinkj committed
 * 
 * @category: Vehicle information 
 * @revision: V1.3.1
 */
PtActivationType ::= INTEGER {
    undefinedCodingType (0), 
    r09-16CodingType    (1), 
    vdv-50149CodingType (2)
} (0..255)

/**
 * This DE represents the value of the sub cause codes of the @ref CauseCode `railwayLevelCrossing` .
tijinkj's avatar
tijinkj committed
 * 
 * The value shall be set to:
 * - 0 `unavailable`                   - in case no further detailed information on the railway level crossing status is available,
 * - 1 `doNotCrossAbnormalSituation`   - in case when something wrong is detected by equation or sensors of the railway level crossing, 
tijinkj's avatar
tijinkj committed
                                         including level crossing is closed for too long (e.g. more than 10 minutes long ; default value),
 * - 2 `closed`                        - in case the crossing is closed (barriers down),
 * - 3 `unguarded`                     - in case the level crossing is unguarded (i.e a Saint Andrew cross level crossing without detection of train),
 * - 4 `nominal`                       - in case the barriers are up and lights are off.
tijinkj's avatar
tijinkj committed
 * - 5-255: reserved for future usage.
 *
 * @category: Traffic information
 * @revision: V1.3.1
 */
RailwayLevelCrossingSubCauseCode ::= INTEGER {
    unavailable                 (0), 
    doNotCrossAbnormalSituation (1), 
    closed                      (2), 
    unguarded                   (3), 
    nominal                     (4)
} (0..255)

tijinkj's avatar
tijinkj committed
/**
 * This DE describes a distance of relevance for information indicated in a message.
 *
 * The value shall be set to:
 * - 0 `lessThan50m`   - for distances below 50 m,
 * - 1 `lessThan100m`  - for distances below 100 m, 
 * - 2 `lessThan200m`  - for distances below 200 m, 
 * - 3 `lessThan500m`  - for distances below 300 m, 
 * - 4 `lessThan1000m` - for distances below 1 000 m, 
 * - 5 `lessThan5km`   - for distances below 5 000 m, 
 * - 6 `lessThan10km`  - for distances below 10 000 m, 
 * - 7 `over10km`      - for distances over 10 000 m. 
tijinkj's avatar
tijinkj committed
 * 
tijinkj's avatar
tijinkj committed
 * @note: this DE is kept for backwards compatibility reasons only. It is recommended to use the @ref StandardLength3b instead. 
tijinkj's avatar
tijinkj committed
 *
 * @category: GeoReference information
 * @revision: Editorial update in V2.1.1
 */ 
RelevanceDistance ::= ENUMERATED {
    lessThan50m(0), 
    lessThan100m(1), 
    lessThan200m(2), 
    lessThan500m(3), 
    lessThan1000m(4), 
    lessThan5km(5), 
    lessThan10km(6), 
    over10km(7)
}

/**
 * This DE indicates a traffic direction that is relevant to information indicated in a message.
 * 
 * The value shall be set to:
 * - 0 `allTrafficDirections` - for all traffic directions, 
 * - 1 `upstreamTraffic`      - for upstream traffic, 
 * - 2 `downstreamTraffic`    - for downstream traffic, 
 * - 3 `oppositeTraffic`      - for traffic in the opposite direction. 
tijinkj's avatar
tijinkj committed
 *
 * The terms `upstream`, `downstream` and `oppositeTraffic` are relative to the event position.
tijinkj's avatar
tijinkj committed
 *
 * @note: Upstream traffic corresponds to the incoming traffic towards the event position,
 * and downstream traffic to the departing traffic away from the event position.
 *
tijinkj's avatar
tijinkj committed
 * @note: this DE is kept for backwards compatibility reasons only. It is recommended to use the @ref TrafficDirection instead. 
tijinkj's avatar
tijinkj committed
 *
 * @category: GeoReference information
 * @revision: Editorial update in V2.1.1
 */
RelevanceTrafficDirection ::= ENUMERATED {
    allTrafficDirections(0), 
    upstreamTraffic(1), 
    downstreamTraffic(2), 
    oppositeTraffic(3)
}

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

/**
 * This DE represents the value of the sub cause codes of the @ref CauseCode `rescueAndRecoveryWorkInProgress` 
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 rescue and recovery work is unavailable,
 * - 1 `emergencyVehicles`        - in case rescue and/or safeguarding work is ongoing by emergency vehicles, i.e. by vehicles that have the absolute right of way,
 * - 2 `rescueHelicopterLanding`  - in case rescue helicopter is landing,
 * - 3 `policeActivityOngoing`    - in case police activity is ongoing (only to be used if a more specific sub cause than (1) is needed),
 * - 4 `medicalEmergencyOngoing`  - in case medical emergency recovery is ongoing (only to be used if a more specific sub cause than (1) is needed),
 * - 5 `childAbductionInProgress` - in case a child kidnapping alarm is activated and rescue work is ongoing (only to be used if a more specific sub cause than (1) is needed),
 * - 6 `prioritizedVehicle`       - in case rescue and/or safeguarding work is ongoing by prioritized vehicles, i.e. by vehicles that have priority but not the absolute right of way,
 * - 7 `rescueAndRecoveryVehicle` - in case technical rescue work is ongoing by rescue and recovery vehicles.
 * - 8-255: reserved for future usage.

tijinkj's avatar
tijinkj committed
 *
 * @category: Traffic information
tijinkj's avatar
tijinkj committed
 * @revision: V1.3.1, named values 6 and 7 added in V2.2.1
tijinkj's avatar
tijinkj committed
 */
RescueAndRecoveryWorkInProgressSubCauseCode ::= INTEGER {
   unavailable              (0), 
   emergencyVehicles        (1), 
   rescueHelicopterLanding  (2), 
   policeActivityOngoing    (3), 
   medicalEmergencyOngoing  (4), 
tijinkj's avatar
tijinkj committed
   childAbductionInProgress (5),
   prioritizedVehicle       (6),
   rescueAndRecoveryVehicle (7)
tijinkj's avatar
tijinkj committed
} (0..255)


tijinkj's avatar
tijinkj committed
/** 
 * This DE indicates an ordinal number that represents the position of a component in the list @ref RoadConfigurationSectionList. 
 *
 * The value shall be set to:
 * - `0`     - if no road section is identified
 * - `1..8`  - for instances 1..8 of @ref RoadConfigurationSectionList 
 *
 * @category: Road topology information
 * @revision: Created in V2.2.1
*/

RoadSectionId::= INTEGER (0..8, ...)

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

/**
 * This DE represents the value of the sub cause codes of the @ref CauseCode `roadworks`.
tijinkj's avatar
tijinkj committed
 * 
The value shall be set to:
 * - 0 `unavailable`                 - in case further detailed information on roadworks is unavailable,
 * - 1 `majorRoadworks`              - in case a major roadworks is ongoing,
 * - 2 `roadMarkingWork`             - in case a road marking work is ongoing,
 * - 3 `slowMovingRoadMaintenance`   - in case slow moving road maintenance work is ongoing,
 * - 4 `shortTermStationaryRoadworks`- in case a short term stationary roadwork is ongoing,
 * - 5 `streetCleaning`              - in case a vehicle street cleaning work is ongoing,
 * - 6 `winterService`               - in case winter service work is ongoing.
tijinkj's avatar
tijinkj committed
 * - 7-255                           - are reserved for future usage.
tijinkj's avatar
tijinkj committed
 *
 * @category: Traffic information
 * @revision: V1.3.1
 */
RoadworksSubCauseCode ::= INTEGER {
    unavailable                  (0), 
    majorRoadworks               (1),
    roadMarkingWork              (2), 
    slowMovingRoadMaintenance    (3), 
    shortTermStationaryRoadworks (4), 
   streetCleaning                (5), 
   winterService                 (6)
} (0..255)

/**
tijinkj's avatar
tijinkj committed
 * This DE indicates if a distance is safe. 
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * The value shall be set to:
 * -  `FALSE`  if  the triple  {LaD,  LoD, VD} < {MSLaD, MSLoD, MSVD} is simultaneously  satisfied with confidence level of  90 % or  more, 
 * -  `TRUE` otherwise. 
tijinkj's avatar
tijinkj committed
 *
 * @note: the abbreviations used are Lateral Distance (LaD),  Longitudinal Distance (LoD) and Vertical Distance (VD) 
tijinkj's avatar
tijinkj committed
 * and their respective  thresholds, Minimum  Safe  Lateral  Distance (MSLaD), Minimum  Safe  Longitudinal Distance  (MSLoD),  and  Minimum  Safe Vertical Distance (MSVD).
tijinkj's avatar
tijinkj committed
 *
tijinkj's avatar
tijinkj committed
 * @category: Traffic information, Kinematic information
tijinkj's avatar
tijinkj committed
 * @revision: created in V2.1.1
*/
SafeDistanceIndicator::= BOOLEAN

/**
tijinkj's avatar
tijinkj committed
 * This DE indicates the horizontal position confidence value which represents the estimated absolute position accuracy, in one of the axis direction as defined in a shape of ellipse with a 
tijinkj's avatar
tijinkj committed
 * confidence level of 95 %. 
 * 
 * The value shall be set to:
 * - `n` (`n > 0` and `n < 4 094`) if the accuracy is equal to or less than n * 0,01 metre,
 * - `4 094` if the accuracy is out of range, i.e. greater than 4,093 m,
 * - `4 095` if the accuracy information is unavailable.
tijinkj's avatar
tijinkj committed
 *
 * The value 0 shall not be used.
tijinkj's avatar
tijinkj committed
 * 
 * @note: The fact that a position coordinate value is received with confidence value set to `unavailable(4095)`.
tijinkj's avatar
tijinkj committed
 * 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.
tijinkj's avatar
tijinkj committed
 * In all 3 cases above, the position coordinate value may be valid and used by the application.
 * If a position coordinate value is received and its confidence value is set to `outOfRange(4094)`, it means that
tijinkj's avatar
tijinkj committed
 * the position coordinate value is not valid and therefore cannot be trusted. Such value is not useful
tijinkj's avatar
tijinkj committed
 * for the application.

tijinkj's avatar
tijinkj committed
 * @unit 0,01 metre 
tijinkj's avatar
tijinkj committed
 * @category: GeoReference Information
tijinkj's avatar
tijinkj committed
 * @revision: Description revised in V2.1.1
tijinkj's avatar
tijinkj committed
 */
SemiAxisLength ::= INTEGER{
tijinkj's avatar
tijinkj committed
    doNotUse    (0),
tijinkj's avatar
tijinkj committed
    outOfRange  (4094), 
    unavailable (4095)
} (0..4095)

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

tijinkj's avatar
tijinkj committed
/** 
 * This DE indicates the type of sensor(s).
 * The corresponding bit shall be set to 1 under the following conditions:
 * 
 * - 0  `undefined`         - in case the sensor type is undefined. 
 * - 1  `radar`             - in case the sensor is a radar,
 * - 2  `lidar`             - in case the sensor is a lidar,
 * - 3  `monovideo`         - in case the sensor is mono video,
 * - 4  `stereovision`      - in case the sensor is stereo vision,
 * - 5  `nightvision`       - in case the sensor is night vision,
 * - 6  `ultrasonic`        - in case the sensor is ultrasonic,
 * - 7  `pmd`               - in case the sensor is photonic mixing device,
 * - 8  `inductionLoop`     - in case the sensor is an induction loop,
 * - 9  `sphericalCamera`   - in case the sensor is a spherical camera,
 * - 10 `uwb`               - in case the sensor is ultra wide band,
 * - 11 `acoustic`          - in case the sensor is acoustic,
 * - 12 `localAggregation`  - in case the information is provided by a system that aggregates information from different local sensors. Aggregation may include fusion,
 * - 13 `itsAggregation`    - in case the information is provided by a system that aggregates information from other received ITS messages.
 * - 14-15                  - are reserved for future usage.