Commit 5a8ca915 authored by Denis Filatov's avatar Denis Filatov
Browse files

Merge branch 'ITS-001990' into 'release2'

Publication as V2.1.1

See merge request !1
parents 7880b384 8f9dff2f
Loading
Loading
Loading
Loading
Loading

.gitignore

0 → 100644
+4 −0
Original line number Diff line number Diff line
/.vscode
/archive
/dependencies
/doc
 No newline at end of file

.gitlab-ci.yml

0 → 100644
+13 −0
Original line number Diff line number Diff line
include:
  - project: 'forge-tools/asn2md'
    file: '/gitlab-ci/base.yml'

variables:
  ASN1_SRC: 'asn/*.asn asn/cdd_ts102894_2/*.asn'
  ASN2MD_OPTIONS: --force-all-fields

validate:
  extends: .validate

documentation:
  extends: .documentation

.gitmodules

0 → 100644
+3 −0
Original line number Diff line number Diff line
[submodule "cdd_ts102894_2"]
	path = asn/cdd_ts102894_2
	url = https://forge.etsi.org/rep/ITS/asn1/cdd_ts102894_2.git

LICENSE

0 → 100644
+23 −0
Original line number Diff line number Diff line
Copyright 2019 ETSI

Redistribution and use in source and binary forms, with or without 
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, 
   this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, 
   this list of conditions and the following disclaimer in the documentation 
   and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors 
   may be used to endorse or promote products derived from this software without 
   specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 
OF THE POSSIBILITY OF SUCH DAMAGE.
+302 −0
Original line number Diff line number Diff line
PIM-PDU-Descriptions  {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) pimPduRelease2 (104072) pim (1) major-version-2 (2) minor-version-1 (1)}

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS 

BasicContainer, ItsPduHeader, Identifier2B, ParkingSpaceStatus, StandardLength12b, TimestampIts, StationId, Wgs84Angle, DeltaPosition, Path, DeltaTimeTenthOfSecond, StandardLength1B, GeoPosition, ParkingReservationType, ParkingAreaArrangementType, ParkingOccupancyInfo, ParkingSpaceBasic, DeltaPositions, MessageSegmentationInfo, ObjectDimension
FROM ETSI-ITS-CDD {
    itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-4 (4) minor-version-2 (2)
} WITH SUCCESSORS
;

/**
 * This DF represents the Parking Information Service
 * and is the top level Protocol Data Unit.
 *
 * @field header: This header contains basic message information
 *
 * @field pimPayload: This field contains the data necessary for ParkingInformationMessage
 *
 * @category:
 * @revision: Created in V2.1.1
*/
ParkingInformationMessage ::= SEQUENCE {
	header          ItsPduHeader (WITH COMPONENTS {... , protocolVersion (2), messageId(21)}),
	pimPayload PimPayload
}

/**
 * This DF indicates the parameters necessary for the PIM
 *
 * @field managementContainer: The management container.
 *
 * @field detections: The list of detected spaces.
 *
 * @field arrivalIndication: This field is used to indicate the parking space intended to be occupied by the sender.
 *
 * @field departureIndication: This field is used to indicate the parking space from which the sender is about to depart.
 *
 * @category:
 * @revision: Created in V2.1.1
*/
PimPayload ::= SEQUENCE {
    managementContainer PimManagementContainer,
    detections          ParkingSpaceDetections OPTIONAL,
    arrivalIndication   ParkingSpaceIntentIndication OPTIONAL,
    departureIndication ParkingSpaceIntentIndication OPTIONAL,
    ...
}

/**
 * This DF  represents the management container of the PIM.
 * It shall include the following components:
 *
 * @field segmentationInfo: information regarding the message segmentation on facility layer.
*/
PimManagementContainer ::= SEQUENCE {
    segmentationInfo    MessageSegmentationInfo,
    ...
}

/**
 * This DF describes the list of space detections
 *
 * @field individualParkingSpaces: The list of individual parking spaces detected
 *
 * @field segmentsOfParkingSpaces: The list of parking spaces detected in a segment-based way
 *
 * @category:
 * @revision: Created in V2.1.1
*/
ParkingSpaceDetections ::= SEQUENCE {
    individualParkingSpaces     IndividualParkingSpaces,
    segmentsOfParkingSpaces     ParkingSpaceSegments,
    ...
}

/**
 * The DF shall contain a list of DF @ref IndividualParkingSpace.
 *
 * @category:
 * @revision: Created in V2.1.1
*/
IndividualParkingSpaces ::= SEQUENCE (SIZE (0..31)) OF IndividualParkingSpace

/**
 * The DF shall contain a list of DF @ref ParkingSpaceSegment.
 *
 * @category:
 * @revision: Created in V2.1.1
*/
ParkingSpaceSegments ::= SEQUENCE (SIZE (0..31)) OF ParkingSpaceSegment

/**
 * This DF indicates the space intended to be allocated by the ego vehicle
 *
 * @field spaceId: The identifier of an individual parking space. Unique for each sender.
 *
 * @field reporter: The station id of the reporter of the particular space. Shall be filled if the reporter is not the same as the sender.
 *
 * @field estimatedActionTime: The estimated time of completion of the intent (e.g., arrival or departure time).
 *
 * @field subjectParkingSpace: Represents the target of the parking space intent. If the intended parking space was received in a non individual
 * representation, then the sender shall genenrate an individual representation and append to the intent.
 *
 * @category:
 * @revision: Created in V2.1.1
*/
ParkingSpaceIntentIndication ::= SEQUENCE {
    spaceId                 Identifier2B,
    reporter                StationId OPTIONAL,
    estimatedCompletionTime TimestampIts OPTIONAL,
    subjectParkingSpace     IndividualParkingSpace OPTIONAL,
    ...
}

/**
 * This DF represents the location of an individual parking space
 * 
 * @field detectionMetaData: The field contains meta data about the individual parking space.
 * 
 * @field position: The position of the individual space.
 * 
 * @field attributes: Shared attributes of the parking space, such as status, arrangement type, occupancy rules,
 * and reservation type. These attributes provide key details about the parking space's characteristics.
 *
 * @field size: The size dimensions of the parking space, including width and length measurements.
 * 
 * @field externalParkingSpaceIds: Represents links to external systems, e.g., to electric vehicle charging stations.
 *
 * @category:
 * @revision: Created in V2.1.1
 */
IndividualParkingSpace ::= SEQUENCE {
    detectionMetaData       ParkingSpaceDetectionMetaData,
    position                GeoPosition,
    attributes              ParkingSpaceAttributes,
    size                    ParkingSpaceSize OPTIONAL,
    externalParkingSpaceIds ExternalParkingSpaceIdentifiers OPTIONAL,
    ...
}

/**
 * This DF describes parking space detection parameters
 *
 * @field id: The identifier of the detection. Shall be unique when combined with source
 *
 * @field source: The station id of the sender vehicle. Shall only be filled if the sender is not the detector.
 *
 * @field endTime: The end time of detection. (e.g., when the detector vehicle passed by)
 *
 * @category:
 * @revision: Created in V2.1.1
*/
ParkingSpaceDetectionMetaData ::= SEQUENCE {
    id          Identifier2B,
    source      StationId OPTIONAL,
    endTime     TimestampIts,
    ...
}

/**
 * This DF represents subsequent parking spaces
 *
 * @field detectionMetaData: The field contains meta data about the individual parking space.
 * 
 * @field detectionReferencePosition: The reference position related to the detection segment.
 * 
 * @field path: The path of the ego vehicle. A new point shall be at least added each time the heading of the
 * vehicle changes more then SegmentNewPathPointHeadingThreshold, the closest distance between the current
 * position and line calculated from the last two path points exceeds SegmentNewPathPointLateralDistanceThreshold,
 * or the detection segment is ended. The pathDeltaTime in the path points should not be filled.
 *
 * @field spacesOnTheLeft: The list of parking space segments on the left of the vehicle.
 *
 * @field spacesOnTheRight: The list of parking space segments on the right of the vehicle.
 *
 * @field externalParkingSpaceIds: Represents links to external systems, e.g., to electric vehicle charging stations.
 *
 * @category:
 * @revision: Created in V2.1.1
 */
ParkingSpaceSegment ::= SEQUENCE {
    detectionMetaData           ParkingSpaceDetectionMetaData,
    detectionReferencePosition  GeoPosition,
    path                        Path,
    spacesOnTheLeft             ParkingSegments OPTIONAL,
    spacesOnTheRight            ParkingSegments OPTIONAL,
    externalParkingSpaceIds     ExternalParkingSpaceIdentifiers OPTIONAL,
    ...
}
((WITH COMPONENTS {..., spacesOnTheLeft PRESENT}) |
 (WITH COMPONENTS {..., spacesOnTheRight PRESENT}))


/**
 * This DF represents external ids
 * 
 * @field evSEId: Electric Vehicle Supply Equipment Identification, as defined in ISO 15118.
 * 
 * @field parkingSpaceId: The identifier of the parking space, as defined in the ParkingSpaceBasic data frame.
 *
 * @category:
 * @revision: Created in V2.1.1
 */
ExternalParkingSpaceIdentifiers ::= SEQUENCE {
    evSEId          IA5String (SIZE(1..36)) OPTIONAL,
    parkingSpaceId  Identifier2B OPTIONAL,
    ...
}

/**
 * This DF describes a list of subsequent parking space segments
 *
 * @category:
 * @revision: Created in V2.1.1
*/
ParkingSegments ::= SEQUENCE SIZE(1..32, ...) OF ParkingSegment

/**
 * This DF represents a parking space segment
 *
 * @field distanceFromLastPoint: The starting point of the segment relative to the previous point.
 * The distance is measured on the path of the detector vehicle. If the first point is not the same
 * as the starting point of the path, a space shall be added with status unknown. If the last point is
 * not the same as the terminating point of the path, a space shall be added with status unknown.
 *
 * @field status: The status of the parking space.
 *
 * @field timeDelta: The time between the detectionTime and the detection of the current space
 * @note: D where X is detectionTime and Y is the detection of the current space:
 * ------Y---------X------>
 *       |<---D--->|
 *
 * @field offsetToPath: Distance between the path of the vehicle and the closest position of 
 * the parking space to the path.
 *
 * @field attributes: Shared attributes of the parking space, such as status, arrangement type, occupancy rules,
 * and reservation type. These attributes provide key details about the parking space's characteristics.
 *
 * @field size: The size dimensions of the parking space, including width and length measurements.
 *
 * @category:
 * @revision: Created in V2.1.1
 */
ParkingSegment ::= SEQUENCE {
    distanceFromLastPoint   StandardLength12b,
    timeDelta               DeltaTimeTenthOfSecond,
    offsetToPath            StandardLength1B OPTIONAL,
    attributes              ParkingSpaceAttributes,
    size                    ParkingSpaceSize OPTIONAL,
    ...
}

/**
 * This sequence encapsulates shared attributes for parking space entities.
 *
 * @field status: The status of the parking space.
 *
 * @field arrangementType: The arrangement of the parking space. It is optional to fill this field.
 *
 * @field occupancyRule: The occupancy rule of the parking space. It is optional to fill this field.
 *
 * @field reservationType: The reservation type of the parking space. If it is not filled, then the value is not known.
 * If it is filled with length 0, then no restriction applies.
 */

ParkingSpaceAttributes ::= SEQUENCE {
    status                  ParkingSpaceStatus,
    arrangementType         ParkingAreaArrangementType OPTIONAL,
    occupancyRule           ParkingOccupancyInfo OPTIONAL,
    reservationType         SEQUENCE (SIZE(0..3,...)) OF ParkingReservationType OPTIONAL,
    ...
}

/**
 * This sequence encapsulates the size dimensions of a parking space.
 *
 * @field observedWidth: The observed width of the physical space available for parking measured perpendicular
 * to the anticipated orientation of the parking vehicle.
 *
 * @field observedLength: The observed length of the physical space available for parking measured
 * in the direction of the parking vehicle.
 *
 * @field nominalWidth: The width of a parking space. This field indicates the length between
 * the center of the width markings, if there are any.
 *
 * @field nominalLength: The length of a parking space. This field indicates the length between
 * the center of the length markings, if there are any.
 */

ParkingSpaceSize ::= SEQUENCE {
    observedWidth           ObjectDimension OPTIONAL,
    observedLength          ObjectDimension OPTIONAL,
    nominalWidth            ObjectDimension OPTIONAL,
    nominalLength           ObjectDimension OPTIONAL
}


END
Loading