Commit 96964ff6 authored by Jasja Tijink's avatar Jasja Tijink
Browse files

Replace ETSI-ITS-CDD.asn

parent 8bb87386
Loading
Loading
Loading
Loading
+110 −83
Original line number Diff line number Diff line
/** draft 005 of the CCD module for TS 102 894-2 V2.2.1 integrating:
/** draft 006 of the CCD module for TS 102 894-2 V2.2.1 integrating:
- ITSWG1(23)062003   Update VAM parameters definitions in ITS Common Data Dictionary
- ITSWG1(23)063016   CPM ASN.1 format (CDD+CPS)
- ITSWG1(23)063017   Generalize the opening angles of the radial shape options
@@ -20,7 +20,12 @@
- ITSWG1(23)000132   Add subCauseCodes to causeCode 11 HazardousLocation-AnimalOnTheRoad
- ITSWG1(23)000132   Add subCauseCodes to causeCode 12 humanPresenceOnTheRoad
- ITSWG1(23)000134   Relative event position using road configuration container in DENM
- ITSWG1(23)064026   CDD extension to enable Proposal for encoding areas in location container in DENMs through predicted paths
- ITSWG1(23)000192r1 Bosch comments for DENM Release 2
- ITSWG1(23)000195   BMF comments to CDD Release 2
- ITSWG1(23)000193	 TS 102 894-2 CR adding sub-cause codes to impassability cause code
*/
-- Note: the above information will be deleted before publication! 

--! @options: no-fields-header

@@ -656,7 +661,7 @@ CartesianAngularVelocityComponentValue ::= INTEGER {
 * - 101-255                                               - are reserved for future usage.
 *
 * @category: Traffic information
 * @revision: V1.3.1, value 28 added in V2.2.1, definition of values 12 and 95 changed on V2.2.1
 * @revision: V1.3.1, value 28 added in V2.2.1, definition of values 12 and 95 changed in V2.2.1
 */
CauseCodeType ::= INTEGER {
    trafficCondition                                (1),
@@ -815,17 +820,23 @@ ClusterLeaveReason ::= INTEGER {
 * - 3 - `lateralCollisionRisk`           - in case the type of detected collision risk is lateral collision risk,
 * - 4 - `vulnerableRoadUser`             - in case the type of detected collision risk involves vulnerable road users
 *                                          e.g. pedestrians or bicycles.
 * - 5-255                          - are reserved for future usage.
 * - 5 - `collisionRiskWithPedestrian`    - in case the type of detected collision risk involves at least one pedestrian, 
 * - 6 - `collisionRiskWithCyclist`       - in case the type of detected collision risk involves at least one cyclist (and no pedestrians),
 * - 7 - `collisionRiskWithMotorVehicle`  - in case the type of detected collision risk involves at least one motor vehicle (and no pedestrians or cyclists),
 * - 8-255                                - are reserved for future usage.
 *
 * @category: Traffic information
 * @revision: V1.3.1
 * @revision: V1.3.1, values 5-7 assigned in V2.2.1
 */
CollisionRiskSubCauseCode ::= INTEGER {
    unavailable                   (0), 
    longitudinalCollisionRisk     (1), 
    crossingCollisionRisk         (2), 
    lateralCollisionRisk          (3), 
    vulnerableRoadUser        (4)
    vulnerableRoadUser            (4),
    collisionRiskWithPedestrian   (5), 
    collisionRiskWithCyclist      (6), 
    collisionRiskWithMotorVehicle (7) 
}(0..255)

/** 
@@ -1192,7 +1203,7 @@ DeltaTimeSecond ::= INTEGER (0..86400)
 *
 * The value shall be set to:
 * - `-0` for a difference in time of 0 seconds. 
 * - `n` (`n > 0` and `n <= 128`) to indicate a time value equal to or less than n x 10 s, and greater than (n-1) x 10 s,
 * - `n` (`n > 0` and `n < 128`) to indicate a time value equal to or less than n x 10 s, and greater than (n-1) x 10 s,
 *
 * @unit: 10 s
 * @category: Basic information
@@ -1716,7 +1727,18 @@ Identifier2B ::= INTEGER (0..65535)
 * - 4 `landslips`                - in case the road is affected by landslips,
 * - 5 `chemicalSpillage`         - in case the road is affected by chemical spillage,
 * - 6 `winterClosure`            - in case the road is impassable due to a winter closure.
 * - 7-255                        - are reserved for future usage.
 * - 7 `sinkhole`                 - in case the road is impassable due to large holes in the road surface.
 * - 8 `earthquakeDamage`         - in case the road is obstructed or partially obstructed because of damage caused by an earthquake.
 * - 9 `fallenTrees`              - in case the road is obstructed or partially obstructed by one or more fallen trees. 
 * - 10 `rockfalls`               - in case the road is obstructed or partially obstructed due to fallen rocks.
 * - 11 `sewerOverflow`           - in case the road is obstructed or partially obstructed by overflows from one or more sewers. 
 * - 12 `stormDamage`             - in case the road is obstructed or partially obstructed by debris caused by strong winds.
 * - 13 `subsidence`              - in case the road surface has sunken or collapsed in places.
 * - 14 `burstPipe`               - in case the road surface has sunken or collapsed in places due to burst pipes.
 * - 15 `burstWaterMain`          - in case the road is obstructed due to local flooding and/or subsidence. 
 * - 16 `fallenPowerCables`       - in case the road is obstructed or partly obstructed by one or more fallen power cables.
 * - 17 `snowDrifts`              - in case the road is obstructed or partially obstructed by snow drifting in progress or patches of deep snow due to earlier drifting.
 * - 15-255                       - are reserved for future usage.
 *
 * @category: Traffic information
 * @revision: Created in V2.2.1
@@ -1728,7 +1750,18 @@ ImpassabilitySubCauseCode ::= INTEGER {
    blastingOfAvalanches      (3), 
    landslips                 (4), 
    chemicalSpillage          (5),
    winterClosure             (6)
    winterClosure             (6),
    sinkhole                  (7),
    earthquakeDamage          (8),
    fallenTrees               (9),
    rockfalls                 (10),
    sewerOverflow             (11),
    stormDamage               (12),
    subsidence                (13),
    burstPipe                 (14),
    burstWaterMain            (15),
    fallenPowerCables         (16),
    snowDrifts                (17)
} (0..255)

/**
@@ -2184,12 +2217,12 @@ MatrixIncludedComponents::= BIT STRING{
 *  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],
 *  - 3  - `poi`               - for Point of Interest message as specified in ETSI TS 101 556-1 [9],
 *  - 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],
 *  - 7  - `ev-rsr`            - for Electric vehicle recharging spot reservation message, as defined in ETSI TS 101 556-3 [11],
 *  - 8  - `tistpgtransaction` - for messages for Tyre Information System (TIS) and Tyre Pressure Gauge (TPG) interoperability, as specified in ETSI TS 101 556-2 [10],
 *  - 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],
@@ -2206,17 +2239,17 @@ MatrixIncludedComponents::= BIT STRING{
 *  - 22-255                   - reserved for future usage.
 *
 * @category: Communication information
 * @revision: Created in V2.1.1 from @ref ItsPduHeader.
 * @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
 */
MessageId::= INTEGER { 
    denm              (1),  
    cam               (2), 
    poi               (3), 
    poim              (3), 
    spatem            (4), 
    mapem             (5), 
    ivim              (6), 
    ev-rsr            (7), 
    tistpgtransaction (8), 
    rfu1              (7), 
    rfu2              (8), 
    srem              (9), 
    ssem              (10), 
    evcsn             (11), 
@@ -3522,27 +3555,24 @@ TrafficConditionSubCauseCode ::= INTEGER {
} (0..255)

/**
 * This DE indicates a traffic direction that is relevant to information indicated in a message.
 * This DE indicates a direction of traffic with respect to a reference direction, and a portion of that traffic with respect to a reference position.
 * 
 * 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. 
 *
 * The terms `upstream`, `downstream` and `oppositeTraffic` are relative to the event position.
 *
 * @note: Upstream traffic corresponds to the incoming traffic towards the event position,
 * and downstream traffic to the departing traffic away from the event position.
 * - 0 `allTrafficDirections`                                    - for all directions of traffic, 
 * - 1 `sameAsReferenceDirection-upstreamOfReferencePosition`    - for the direction of traffic according to the reference direction, and the portion of traffic upstream of the reference position, 
 * - 2 `sameAsReferenceDirection-downstreamOfReferencePosition`  - for the direction of traffic according to the reference direction, and the portion of traffic downstream of the reference position, 
 * - 3 `oppositeToReferenceDirection`                            - for the direction of traffic opposite to the reference direction. 
 *
 * @note: Upstream traffic corresponds to the incoming traffic towards the event position, and downstream traffic to the departing traffic away from the event position.
 * @category: GeoReference information
 * @revision: Created in V2.1.1 from RelevanceTrafficDirection
 * @revision: Created in V2.1.1 from RelevanceTrafficDirection, description and naming of values changed in V2.2.1
 *
 */
 TrafficDirection ::= ENUMERATED {
    allTrafficDirections(0), 
    upstreamTraffic      (1), 
    downstreamTraffic    (2), 
    oppositeTraffic      (3)
    sameAsReferenceDirection-upstreamOfReferencePosition(1), 
    sameAsReferenceDirection-downstreamOfReferencePosition(2), 
    oppositeToReferenceDirection(3)
}

/**
@@ -3881,13 +3911,13 @@ VehicleMass ::= INTEGER {
 * - 9 `commercial`       - to indicate that the vehicle is used for transportation of commercial goods,
 * - 10 `military`        - to indicate that the vehicle is used for military purpose, 
 * - 11 `roadOperator`    - to indicate that the vehicle is used in road operator missions,
 * - 12 `taxi`            - to indicate that the vehicle is used to provide an authorized taxi service.
 * - 13 `reserved`        - is reserved for future usage.
 * - 14 `reserved`        - is reserved for future usage.
 * - 15 `reserved`        - is reserved for future usage.
 * - 12 `taxi`            - to indicate that the vehicle is used to provide an authorized taxi service,
 * - 13 `uvar`            - to indicate that the vehicle is authorized to enter a zone according to the applicable Urban Vehicle Access Restrictions.
 * - 14 `rfu1`            - is reserved for future usage.
 * - 15 `rfu2`            - is reserved for future usage.
 * 
 * @category: Vehicle Information
 * @revision: Description updated in V2.1.1 (removed reference to CEN/TS 16157-3)
 * @revision: Description updated in V2.1.1 (removed reference to CEN/TS 16157-3), value 13 assigned in V2.2.1
 */
VehicleRole ::= ENUMERATED {
    default         (0), 
@@ -3903,9 +3933,9 @@ VehicleRole ::= ENUMERATED {
    military        (10), 
    roadOperator    (11), 
    taxi            (12), 
    reserved1       (13), 
    reserved2       (14), 
    reserved3       (15)
    uvar            (13), 
    rfu1            (14), 
    rfu2            (15)
}

/**
@@ -4076,18 +4106,20 @@ VruSubProfilePedestrian ::= INTEGER {
 *
 * The value shall be set to:
 * - 0 `unavailable`           - to indicate that the information  is unavailable,
 * - 1 `bicyclist `            - to indicate a cycle and bicyclist,
 * - 1 `bicyclist `            - to indicate a cycle and bicyclist to which no more-specific profile applies, 
 * - 2 `wheelchair-user`       - to indicate a wheelchair and its user,
 * - 3 `horse-and-rider`       - to indicate a horse and rider,
 * - 4 `rollerskater`          - to indicate a rolleskater and skater,
 * - 4 `rollerskater`          - to indicate a roller-skater and skater,
 * - 5 `e-scooter`             - to indicate an e-scooter and rider,
 * - 6 `personal-transporter`  - to indicate a personal-transporter and rider,
 * - 7 `pedelec`               - to indicate a pedelec and rider,
 * - 7 `pedelec`               - to indicate a pedelec and rider to which no more-specific profile applies,
 * - 8 `speed-pedelec`         - to indicate a speed-pedelec and rider.
 * - 9 to 15                   - are reserved for future usage. 
 * - 9 `roadbike`              - to indicate a road bicycle (or road pedelec) and rider,
 * - 10 `childrensbike`        - to indicate a children’s bicycle (or children’s pedelec) and rider,
 * - 11 to 15                  - are reserved for future usage. 
 *
 * @category: VRU information
 * @revision: Created in V2.1.1
 * @revision: Created in V2.1.1, values 9 and 10 assigned in V2.2.1
 */
VruSubProfileBicyclist ::= INTEGER {
    unavailable          (0), 
@@ -4098,7 +4130,9 @@ VruSubProfileBicyclist ::= INTEGER {
    e-scooter            (5), 
    personal-transporter (6),
    pedelec              (7), 
    speed-pedelec        (8)
    speed-pedelec        (8),
    roadbike             (9),
    childrensbike        (10)
}(0..15)

/**
@@ -4893,12 +4927,13 @@ CauseCodeChoice::= CHOICE {
 * It shall include the following components: 
 *
 * @field ccAndScc: the main cause of a detected event. Each entry is of a different type and represents the sub cause code.
 *
 * The semantics of the entire DF are completely defined by the component causeCode. The interpretation of the subCauseCode may 
 * provide additional information that is not strictly necessary to understand the causeCode itself, and is therefore optional.

 * The semantics of the entire DF are completely defined by the choice value which represents the cause code value. 
 * The interpretation of the sub cause code value may provide additional information that is not strictly necessary to understand 
 * the cause code itself, and is therefore optional.
 *
 * @category: Traffic information
 * @revision: Created in V2.1.1, 
 * @revision: Created in V2.1.1, description amended in V2.2.1
 */
CauseCodeV2 ::= SEQUENCE {
    ccAndScc    CauseCodeChoice,
@@ -6061,13 +6096,13 @@ PathHistory::= SEQUENCE (SIZE(0..40)) OF PathPoint

/**
 * This DF represents a predicted path or trajectory with a set of predicted points and optional information to generate a shape which is estimated to contain the real path. 
 * It shall contain up to `16` @ref PathPoint. 
 * It shall contain up to `16` @ref PathPointPredicted. 
 * 
 * The first PathPoint presents an offset delta position with regards to an external reference position.
 * Each other PathPoint presents an offset delta position and optionally an offset travel time with regards to the previous PathPoint. 
 *
 * @category: GeoReference information
 * @revision: created in V2.1.1 , size constraint changed to SIZE(1..16) in V2.2.1
 * @revision: created in V2.1.1 , size constraint changed to SIZE(1..16, ...) in V2.2.1
 */
PathPredicted::= SEQUENCE (SIZE(1..16,...)) OF PathPointPredicted

@@ -6086,7 +6121,11 @@ PathPredicted::= SEQUENCE (SIZE(1..16,...)) OF PathPointPredicted
 * @revision: created in V2.2.1
 */
PathPredicted2::= SEQUENCE{
    pathPredicted     PathPredicted,
    pathPredicted     PathPredicted
   ((WITH COMPONENT (WITH COMPONENTS {..., pathDeltaTime ABSENT, symmetricAreaOffset ABSENT})) |
    (WITH COMPONENT (WITH COMPONENTS {..., pathDeltaTime PRESENT, symmetricAreaOffset ABSENT})) |
    (WITH COMPONENT (WITH COMPONENTS {..., pathDeltaTime ABSENT, symmetricAreaOffset PRESENT})) |
    (WITH COMPONENT (WITH COMPONENTS {..., pathDeltaTime PRESENT, symmetricAreaOffset PRESENT}))),
    usageIndication   UsageIndication,
    confidenceLevel   ConfidenceLevel,   
    ...
@@ -6133,23 +6172,11 @@ PathPoint ::= SEQUENCE {
 *
 * @field altitudeConfidence: the optional confidence value associated to the altitude value of the geographical position, with default value unavailable.
 * 
 * @field pathDeltaTime: the optional travel time separated from the waypoint to the predefined reference position.
 * @field pathDeltaTime: the optional travel time to the waypoint from the predefined reference position.

 * @field symmetricAreaOffset: the optional symmetric offset applied to the position in order to generate a shape.
 * if the component asymmetricAreaOffset is absent, the symmetricAreaOffset is applied to both sides of the position (left and right)
 * If the component asymmetricAreaOffset is present, the symmetricAreaOffset is applied to the enclosed side of a curve. 
 * If the curvature of the path is 0 the offset is applied to the left handside of the path. 
 * To determine how the lateral offset is to be applied to the path, the following steps are executed: 
 * - For each nth pathPointPredicted (ppp_n), vectors v_(n-) and v_(n+) from ppp_n to ppp_(n-1) and from ppp_n to ppp_(n+1) are created. 
 * - v^_(n-) and v^_(n+), the normalized vectors of vectors v_(n-) and v_(n+) are created.  
 * - v^_o the normalized sum of the vectors v^_(n-) and v^_(n+) is calculated. 
 * The symmetrical border offset spans a vector in the direction of both v^_o and -v^_o, if the asymmetrical border offset is ABSENT.
 * The symmetrical border offset spans a vector in the direction of v^_o if the asymmetrical border offset is PRESENT.
 * The ends of the border offsets vectors of ppp_n for each side are connected to the border offsets vectors of the endings of ppp_(n-1) and ppp_(n+1) to create the indicated zone. 
 * If @ref PathPredicted has only one element, the encoded area represents a circle with the asymmetricAreaOffset as the defining radius.
 * @field symmetricAreaOffset: the optional symmetric offset to generate a shape, see Annex D for details.
 *  
 * @field asymmetricAreaOffset: the optional asymmetric offset applied to the outer curve of the path in order to generate a shape. 
 * The asymmetrical border offset spans a vector in the direction of -v^_o
 * @field asymmetricAreaOffset: the optional asymmetric offset to generate a shape, see Annex D for details. 
 *
 * @category GeoReference information
 * @revision: Created in V2.1.1, type of pathDeltaTime changed and optionality added, fields symmetricAreaOffset and asymmetricAreaOffset added in V2.2.1
@@ -6160,7 +6187,7 @@ PathPointPredicted::= SEQUENCE {
  horizontalPositionConfidence  PosConfidenceEllipse OPTIONAL,   
  deltaAltitude                 DeltaAltitude DEFAULT unavailable, 
  altitudeConfidence            AltitudeConfidence DEFAULT unavailable,
  pathDeltaTime                 PathDeltaTimeChoice,
  pathDeltaTime                 PathDeltaTimeChoice OPTIONAL,
  symmetricAreaOffset           StandardLength9b OPTIONAL, 
  asymmetricAreaOffset          StandardLength9b OPTIONAL, 
  ... 
@@ -7235,9 +7262,9 @@ YawRate::= SEQUENCE {
 * 6.   ISO 3779 (2011-07): "Road vehicles - Vehicle identification number (VIN) Content and structure".
 * 7.   VDV recommendation 420 (1992): "Technical Requirements for Automatic Vehicle Location / Control Systems - Radio Data Transmission (BON Version) with Supplement 1 and Supplement 2".
 * 8.   ISO 1176:1990: "Road vehicles - Masses - Vocabulary and codes".
 * 9.   ETSI TS 101 556-1: "Intelligent Transport Systems (ITS); Infrastructure to Vehicle Communication; Electric Vehicle Charging Spot Notification Specification".
 * 10.  ETSI TS 101 556-2: "Intelligent Transport Systems (ITS); Infrastructure to Vehicle Communication; Part 2: Communication system specification to support application requirements for Tyre Information System (TIS) and Tyre Pressure Gauge (TPG) interoperability".
 * 11.  ETSI TS 101 556-3: "Intelligent Transport Systems (ITS); Infrastructure to Vehicle Communications; Part 3: Communications system for the planning and reservation of EV energy supply using wireless networks".
 * 9.   ETSI TS 103 916 Intelligent Transport Systems (ITS); Parking Availability Service Specification; Release 2
 * 10.  void
 * 11.  void
 * 12.  ETSI TS 103 300-3: "Intelligent Transport Systems (ITS);  Vulnerable Road Users (VRU) awareness;  Part 3: Specification of VRU awareness basic service; Release 2"
 * 13.  ETSI TS 103 724: "Intelligent Transport Systems (ITS); Facilities layer  function; Interference Management Zone Message (IMZM); Release 2"
 * 14.	ETSI TS 102 792: "Intelligent Transport Systems (ITS); Mitigation techniques to avoid interference between European CEN Dedicated Short Range Communication (CEN DSRC) equipment and Intelligent Transport Systems (ITS) operating in the 5 GHz frequency range".