Commits (15)
/build/
/.external/
/.build/
include:
- project: 'forge-tools/asn2md'
file: '/gitlab-ci/base.yml'
variables:
ASN1_SRC: '*.asn cdd/*.asn'
ASN2MD_OPTIONS: --force-all-fields
validate:
extends: .validate
documentation:
extends: .documentation
[submodule "cdd"]
path = cdd
url = https://forge.etsi.org/rep/ITS/asn1/cdd_ts102894_2.git
[submodule "asn2md"]
path = asn2md
url = https://forge.etsi.org/rep/forge-tools/asn2md.git
/** draft 001 of the ETSI-ITS-DSRC-AddGrpC module for TS 103 301 V2.2.1 integrating:
* initial revision based on ASN.1 files of [ISO TS 19091] and [SAE J2735]
*/
-- Note: the above information will be deleted before publication
--! @options: no-fields-header
ETSI-ITS-DSRC-AddGrpC {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) dsrc (6) addgrpc (0) major-version-2 (2) minor-version-1 (1)
}
DEFINITIONS AUTOMATIC TAGS::= BEGIN
IMPORTS
DeltaTime, FuelType, IntersectionID, LaneConnectionID, LaneID, NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, VehicleHeight
FROM ETSI-ITS-DSRC {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) dsrc (6) major-version-2 (2) minor-version-1 (1)
}
WITH SUCCESSORS
Altitude, DeltaAltitude, StationID, VehicleMass
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-1 (1)
}
WITH SUCCESSORS;
/**
* This DF adds positioning support from the infrastructure to the vehicle.
*
* @field itsStationPositions: defines a list of ITS stations (e.g. vehicles) and their corresponding position on
* the driving lane as defined in the lane topology of the MapData message or the GNSS position
* deviation of the ITS Station from the high precision reference position in X/Y coordinates. It
* enables accurate, real-time positioning support to the moving ITS entities by the infrastructure.*
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ConnectionManeuverAssist-addGrpC ::= SEQUENCE {
itsStationPosition ItsStationPositionList OPTIONAL,
...
}
/**
* This DF defines the trajectory for travelling through the conflict area of an intersection and connects
* e.g an ingress with an egress lane. The trajectory is defined by two or more nodes.
* The starting node overlaps e.g. with the node of the ingress lane towards the
* conflict zone. The ending node overlaps e.g. with the first node of the connected egress lane.
* See the example in clause [ISO TS 19091] G.8.2.5.
*
* @field nodes: defines a list of nodes for the trajectory. It defines e.g. a geometric trajectory from an ingressing
* to a connected egressing lane and the X/Y position value of the first node of the trajectory is the same as
* the node of the ingress lane. The X/Y position of the last node is the same as the X/Y position of the first
* node of the egressing lane.
* @field connectionID: defines the identifier of an allowed `maneuver` (e.g. ingress / egress relation).
* A generic Lane offers one or more allowed `maneuvers`, therefore the trajectory is reference to the related `maneuver`.
*
* @note: @ref Reg-GenericLane allows providing up to 4 connecting trajectories. In case a lane has more than 4 connecting trajectories,
* priority should be given to connecting trajectories of motorized traffic and complex manoeuvres.
*
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ConnectionTrajectory-addGrpC ::= SEQUENCE {
nodes NodeSetXY,
connectionID LaneConnectionID,
...
}
/**
* This DF defines a list of prioritization responses e.g. public transport acceleration.
* The signal prioritization (e.g. public transport) procedure in this profile follows two strategies.
* - For simple prioritization requests, the CAM/SPAT messages are used.
* This allows the migration of old legal systems towards C-ITS.
* In this case, the CAM message is used to trigger the request towards the traffic light controller.
* The traffic light controller checks the request and broadcasts the status for the priority request with this DF (see [ISO TS 19091] G.5.1.9).
* - For more complex signal requests, the SignalRequestMessage/SignalStatusMessage messages are to be used.
*
* @field activePrioritizations: list of Prioritizations.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
IntersectionState-addGrpC ::= SEQUENCE {
activePrioritizations PrioritizationResponseList OPTIONAL,
...
}
/**
* Lanes may have limitations regarding vehicle height (e.g. due to a tunnel) and vehicle weight (e.g. due to a bridge).
*
* @field maxVehicleHeight: maximum allowed vehicle height
* @field maxVehicleWeight: maximum allowed vehicle mass
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
LaneAttributes-addGrpC ::= SEQUENCE {
maxVehicleHeight VehicleHeight OPTIONAL,
maxVehicleWeight VehicleMass OPTIONAL,
...
}
/**
* This DF defines a list of three-dimensional positions of signal heads in an intersection.
* It enables vehicles to identify the signal head location for optical evaluation of the traffic light.
* Combined with the SPAT/MapData messages, it enables e.g. driving vehicles to enhance safety decision in critical situations.
*
* @field signalHeadLocations: list of geo positions
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
MapData-addGrpC ::= SEQUENCE {
signalHeadLocations SignalHeadLocationList OPTIONAL,
...
}
/**
* Priority and preemption have a considerable impact to the timing parameters in the SPAT message (eventState).
* User acceptance is expected to increase if the reason for sudden changes in timing parameters is communicated to them.
*
* @field stateChangeReason: reason code
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
MovementEvent-addGrpC ::= SEQUENCE {
stateChangeReason ExceptionalCondition OPTIONAL,
...
}
/**
* This DF defines additional attributes to support public transport and to enable a simple way of defining lane links.
*
* @field ptvRequest: defines control types attached to a node on a lane used by public transport for triggering
* the transmission of messages (e.g. prioritization request). It includes control points for public transport prioritization.
* These control points are currently implemented by legacy systems using hardware sensors mounted on the roadside.
* @field nodeLink: defines a link to one or to a set of another node/lane from this node. The nodeLink allows to set a link between specific nodes
* of generic lanes or trajectories. This supports e.g. lane merging/diverging situations ([ISO TS 19091] G.8.2.7) and the linking of trajectories
* in the conflict zone to lanes (see example [ISO TS 19091] G.8.2.5).
* @field node: defines an identifier of this node.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
NodeAttributeSet-addGrpC ::= SEQUENCE {
ptvRequest PtvRequestType OPTIONAL,
nodeLink NodeLink OPTIONAL,
node Node OPTIONAL,
...
}
/**
* This DF includes the altitude data element defined in the common data dictionary [ETSI CDD].
*
* @field elevation: the data element is replaced by the ETSI `altitude` data element using the regional extension.
* The `altitude` data element is defined in Position3D-addGrpC of this profile.
* Position3D-addGrpC extends the @ref Position3D using the regional extension framework.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
Position3D-addGrpC ::= SEQUENCE {
altitude Altitude,
...
}
/**
* This DF defines the driving restriction based on toxic emission type.
* The meaning of the word `restriction` is ambiguous as it may have a double interpretation, being:
* - only these vehicles are allowed OR
* - these vehicles are not allowed and all others are.
* The former is what is intended by the base standard.
*
* @field emission: restriction baesed on emission.
* @field fuel: restriction baesed on fuel.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
RestrictionUserType-addGrpC ::= SEQUENCE {
emission EmissionType OPTIONAL,
fuel FuelType OPTIONAL,
...
}
/**
* Some road authorities like to give priority to vehicles based on the type of fuel they use. In addition,
* electric vehicles may receive priority based on their battery status.
*
* @field fuel: fuel used by vehicle.
* @field batteryStatus: current batter status of vehicle.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
RequestorDescription-addGrpC ::= SEQUENCE {
fuel FuelType OPTIONAL,
batteryStatus BatteryStatus OPTIONAL,
...
}
/**
* The traffic control centre (TCC) may advice a public transport vehicle (e.g. bus) to synchronize his travel time.
* This may happen when, for example, two busses, due to special traffic conditions, are out of schedule.
* The first might be too late, the second too fast. The consequence is that the second is driving
* just behind the first and is empty as all passengers are within the first one. To avoid this often-occurring
* situation, the TCC transmits time synchronization advices to the public transport vehicles using the
* signal status message.
*
* @field synchToSchedule: DeltaTime.
* @field rejectedReason: RejectedReason.
*
* @Note: The @ref PrioritizationResponseStatus provides optionally the reason for prioritization response rejection.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
SignalStatusPackage-addGrpC ::= SEQUENCE {
synchToSchedule DeltaTime OPTIONAL,
rejectedReason RejectedReason OPTIONAL,
...
}
/**
* This DF is used to provide real-time positioning information feedback to a specific ITS station
* (e.g. vehicle, pedestrian, bicycle) by infrastructure equipment.
* The position information includes, for example, the driving, crossing lane and/or the X/Y coordinates in relation to
* the reference position of the MapData. The `timeReference` indicates the time stamp of the the
* message (received from an ITS station) for which the positioning feedback has been computed.
*
* @field stationID: unique identifier.
* @field laneID: LaneID.
* @field nodeXY: NodeOffsetPointXY.
* @field timeReference: TimeReference.
*
* @note: The computation of the positioning feedback is out of focus of this standard.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ItsStationPosition ::= SEQUENCE {
stationID StationID,
laneID LaneID OPTIONAL,
nodeXY NodeOffsetPointXY OPTIONAL,
timeReference TimeReference OPTIONAL,
...
}
ItsStationPositionList ::= SEQUENCE SIZE(1..5) OF ItsStationPosition
/**
* This DF is used to to identify a node of a lane (waypoint) by its `lane` and node identifier `id`.
*
* The `intersectionID` is used if the referenced lane belongs to an adjacent intersection. If the node
* belongs to a connection trajectory ([ISO TS 19091] G.5.1.2) the `connectionID` is used.
*
* @field id: unique identifier.
* @field lane: identifier from lane.
* @field connectionID: identifier from connection.
* @field intersectionID: identifier from intersection.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
Node ::= SEQUENCE {
id INTEGER,
lane LaneID OPTIONAL,
connectionID LaneConnectionID OPTIONAL,
intersectionID IntersectionID OPTIONAL,
...
}
NodeLink ::= SEQUENCE SIZE (1..5) OF Node
/**
* This DF is used to provide the prioritization status response and the
* signal group identifier for a specific ITS station (e.g. vehicle).
*
* @field stationID: StationID.
* @field priorState: PrioritizationResponseStatus.
* @field signalGroup: SignalGroupID.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
PrioritizationResponse ::= SEQUENCE {
stationID StationID,
priorState PrioritizationResponseStatus,
signalGroup SignalGroupID,
...
}
PrioritizationResponseList ::= SEQUENCE SIZE(1..10) OF PrioritizationResponse
/**
* This DF defines the XYZ position of a signal head within an intersection
* and indicates the related signal group identifier.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
SignalHeadLocation ::= SEQUENCE {
nodeXY NodeOffsetPointXY,
nodeZ DeltaAltitude,
signalGroupID SignalGroupID,
...
}
SignalHeadLocationList ::= SEQUENCE (SIZE(1..64)) OF SignalHeadLocation
/**
* This DE defines an enumerated list of battery states.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
BatteryStatus ::= ENUMERATED {
unknown,
critical,
low,
good,
...
}
/**
* This DE defines an enumerated list of toxic emission types for vehicles.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
EmissionType ::= ENUMERATED {
euro1,
euro2,
euro3,
euro4,
euro5,
euro6,
...
}
/**
* This DE defines a list of reasons for sudden changes in
* eventState parameters, thereby offering a reason for extended waiting times.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
ExceptionalCondition ::= ENUMERATED {
unknown,
publicTransportPriority,
emergencyVehiclePriority,
trainPriority,
bridgeOpen,
vehicleHeight,
weather,
trafficJam,
tunnelClosure,
meteringActive,
truckPriority,
bicyclePlatoonPriority,
vehiclePlatoonPriority,
...
}
/**
* This DE defines a list of activation requests used for C-ITS migration of legacy public
* transport prioritization systems.
* The activation points are used while approaching to an intersection.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
PtvRequestType ::= ENUMERATED {
preRequest,
mainRequest,
doorCloseRequest,
cancelRequest,
emergencyRequest,
...
}
/**
* This DE defines a list of reasons for rejected priority requests.
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
RejectedReason ::= ENUMERATED {
unknown,
exceptionalCondition,
maxWaitingTimeExceeded,
ptPriorityDisabled,
higherPTPriorityGranted,
vehicleTrackingUnknown,
...
}
/**
* This DE defines a value in milliseconds in the current minute related to UTC time.
* The range of 60 000 covers one minute (60 seconds * 1 000 milliseconds)
*
* @category: Infrastructure information
* @revision: V1.3.1
*/
TimeReference ::= INTEGER { oneMilliSec(1) } (0..60000)
/**
* ## References:
* 1. [ISO TS 19091]: "Intelligent transport systems - Cooperative ITS - Using V2I and I2V communications for applications related to signalized intersections".
* 2. [SAE J2735]: "SURFACE VEHICLE STANDARD - V2X Communications Message Set Dictionary"
*/
END
/** draft 001 of the ETSI-ITS-DSRC-REGION module for TS 103 301 V2.2.1 integrating:
* initial revision based on ASN.1 files of [ISO TS 19091] and [SAE J2735]
*/
-- Note: the above information will be deleted before publication
--! @options: no-fields-header
ETSI-ITS-DSRC-REGION {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) dsrc (6) region (1) major-version-2 (2) minor-version-1 (1)
}
DEFINITIONS AUTOMATIC TAGS::= BEGIN
IMPORTS
addGrpC, REG-EXT-ID-AND-TYPE
FROM ETSI-ITS-DSRC {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) dsrc (6) major-version-2 (2) minor-version-1 (1)
}
WITH SUCCESSORS
ConnectionManeuverAssist-addGrpC, ConnectionTrajectory-addGrpC,
IntersectionState-addGrpC, LaneAttributes-addGrpC, MapData-addGrpC,
MovementEvent-addGrpC, NodeAttributeSet-addGrpC, Position3D-addGrpC, RequestorDescription-addGrpC, RestrictionUserType-addGrpC, SignalStatusPackage-addGrpC
FROM ETSI-ITS-DSRC-AddGrpC {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) dsrc (6) addgrpc (0) major-version-2 (2) minor-version-1 (1)
}
WITH SUCCESSORS;
Reg-AdvisorySpeed REG-EXT-ID-AND-TYPE ::= { ... }
Reg-ComputedLane REG-EXT-ID-AND-TYPE ::= { ... }
Reg-ConnectionManeuverAssist REG-EXT-ID-AND-TYPE ::= {
{ConnectionManeuverAssist-addGrpC IDENTIFIED BY addGrpC},
...
}
Reg-GenericLane REG-EXT-ID-AND-TYPE ::= {
{ConnectionTrajectory-addGrpC IDENTIFIED BY addGrpC} ,
...
}
Reg-IntersectionGeometry REG-EXT-ID-AND-TYPE ::= { ... }
Reg-IntersectionState REG-EXT-ID-AND-TYPE ::= {
{IntersectionState-addGrpC IDENTIFIED BY addGrpC},
...
}
Reg-LaneAttributes REG-EXT-ID-AND-TYPE ::= {
{LaneAttributes-addGrpC IDENTIFIED BY addGrpC} ,
...
}
Reg-LaneDataAttribute REG-EXT-ID-AND-TYPE ::= { ... }
Reg-MapData REG-EXT-ID-AND-TYPE ::= {
{MapData-addGrpC IDENTIFIED BY addGrpC},
...
}
Reg-MovementEvent REG-EXT-ID-AND-TYPE ::= {
{MovementEvent-addGrpC IDENTIFIED BY addGrpC} ,
...
}
Reg-MovementState REG-EXT-ID-AND-TYPE ::= { ... }
Reg-NodeAttributeSetXY REG-EXT-ID-AND-TYPE ::= {
{NodeAttributeSet-addGrpC IDENTIFIED BY addGrpC},
...
}
Reg-NodeOffsetPointXY REG-EXT-ID-AND-TYPE ::= { ... }
Reg-Position3D REG-EXT-ID-AND-TYPE ::= {
{Position3D-addGrpC IDENTIFIED BY addGrpC} ,
...
}
Reg-RequestorDescription REG-EXT-ID-AND-TYPE ::= {
{ RequestorDescription-addGrpC IDENTIFIED BY addGrpC} ,
...
}
Reg-RequestorType REG-EXT-ID-AND-TYPE ::= { ... }
Reg-RestrictionUserType REG-EXT-ID-AND-TYPE ::= {
{RestrictionUserType-addGrpC IDENTIFIED BY addGrpC} ,
...
}
Reg-RoadSegment REG-EXT-ID-AND-TYPE ::= { ... }
Reg-RTCMcorrections REG-EXT-ID-AND-TYPE ::= { ... }
Reg-SignalControlZone REG-EXT-ID-AND-TYPE ::= { ... }
Reg-SignalRequest REG-EXT-ID-AND-TYPE ::= { ... }
Reg-SignalRequestMessage REG-EXT-ID-AND-TYPE ::= { ... }
Reg-SignalRequestPackage REG-EXT-ID-AND-TYPE ::= { ... }
Reg-SignalStatus REG-EXT-ID-AND-TYPE ::= { ... }
Reg-SignalStatusMessage REG-EXT-ID-AND-TYPE ::= { ... }
Reg-SignalStatusPackage REG-EXT-ID-AND-TYPE ::= {
{ SignalStatusPackage-addGrpC IDENTIFIED BY addGrpC },
...
}
Reg-SPAT REG-EXT-ID-AND-TYPE ::= { ... }
END
This diff is collapsed.
FROM ubuntu:bionic
FROM alpine
RUN apk --update add git less openssh gcc autoconf automake libtool make musl-dev bison flex && \
git clone https://github.com/fillabs/asn1c.git /asn1c-build && \
mkdir -p /asn1c && \
cd /asn1c-build && autoreconf -iv && ./configure --prefix=/usr && make && make install
WORKDIR /home/etsi-its-asn1
RUN apt update
RUN apt install -y git build-essential automake libtool wget sed
RUN git -C /home/etsi-its-asn1 clone https://github.com/brchiu/asn1c.git -n asn1c
RUN git -C /home/etsi-its-asn1/asn1c checkout velichkov_s1ap_plus_option_group_plus_adding_trailing_ull
RUN git -C /home/etsi-its-asn1/asn1c status -v
RUN ( cd /home/etsi-its-asn1/asn1c ; autoreconf -iv ; ./configure --prefix=/usr )
RUN make -C /home/etsi-its-asn1/asn1c
RUN make -C /home/etsi-its-asn1/asn1c install
RUN rm -rf /home/etsi-its-asn1/asn1c
WORKDIR /home/etsi-its-asn1
CMD ./syntax_check.bash
CMD ./syntax_check.sh
-- @brief Specification of the In vehicle information Message ETSI TS 103 301
-- Latest version available at @url https://forge.etsi.org/rep/ITS/asn1/is_ts103301.git
/** draft 001 of the IVIM-PDU-Descriptions module for TS 103 301 V2.2.1 integrating:
* initial revision based on ASN.1 files of [ISO TS 19091] and [SAE J2735]
*/
-- Note: the above information will be deleted before publication
--! @options: no-fields-header
IVIM-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) ivim (2) version2 (2)
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) ivim (2) major-version-2 (2) minor-version-1 (1)
}
DEFINITIONS AUTOMATIC TAGS ::=
......@@ -11,29 +15,33 @@ BEGIN
IMPORTS
-- @brief Include ISO 19321
-- Include references from @url https://standards.iso.org/iso/ts/19321/ed-2/en/ISO19321IVIv2.asn
IviStructure
FROM IVI { iso (1) standard (0) ivi (19321) version2 (2) }
FROM IVI {
iso (1) standard (0) ivi (19321) major-version-3 (3) minor-version-1 (1)
}
WITH SUCCESSORS
-- @brief Include ETSI TS 102 894-2
-- Include references from @url https://forge.etsi.org/rep/ITS/ITS_ASN1/blob/master/CDD_TS102894-2/ITS-Container.asn
ItsPduHeader
FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)};
-- In vehicle information Message Message
-- @brief In vehicle information Message Root
-- This DF includes DEs for the IVIM protocolVersion, the IVI message type identifier _messageID_,
-- the station identifier _stationID_ of the originating ITS-S and the IVI data from ISO TS 19321.
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-1 (1)
}
WITH SUCCESSORS;
/**
* In vehicle information Message Message
* This DF includes DEs for the IVIM protocolVersion, the IVI message type identifier `messageID`,
* the station identifier `stationID` of the originating ITS-S and the IVI data from ISO TS 19321.
*
* @field header: The DE `protocolVersion` is used to select the appropriate protocol decoder at the receiving ITS-S.
* It shall be set to 2.
* The DE `messageID` shall be ivim(6).
* @field ivi: contains the IVI data as defined in ISO TS 19321.
*
* @category: Basic Information
* @revision: V1.3.1
*/
IVIM ::= SEQUENCE {
-- @details header
-- The DE _protocolVersion_ is used to select the appropriate protocol decoder at the receiving ITS-S.
-- It shall be set to 2.
-- The DE _messageID_ shall be ivim(6).
header ItsPduHeader,
-- @details ivi
-- The DE _ivi_ contains the IVI data as defined in ISO TS 19321.
ivi IviStructure
}
......
-- @brief Specification of the Map (lane topology) extended Message ETSI TS 103 301
-- Latest version available at @url https://forge.etsi.org/rep/ITS/asn1/is_ts103301.git
/** draft 001 of the MAPEM-PDU-Descriptions module for TS 103 831 V2.2.1 integrating:
* initial revision based on ASN.1 files of [ISO TS 19091] and [SAE J2735]
*/
-- Note: the above information will be deleted before publication
--! @options: no-fields-header
MAPEM-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) mapem (1) version2 (2)
......@@ -11,28 +15,39 @@ BEGIN
IMPORTS
-- @brief Include ISO TS 19091
-- Include references from @url https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn
MapData FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2) }
/**
* Includes from ETSI-ITS-DSRC
*/
MapData
FROM ETSI-ITS-DSRC {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) dsrc (6) major-version-2 (2) minor-version-1 (1)
}
WITH SUCCESSORS
-- @brief Include ETSI TS 102 894-2
-- Include references from @url https://forge.etsi.org/rep/ITS/ITS_ASN1/blob/master/CDD_TS102894-2/ITS-Container.asn
/**
* Include ETSI TS 102 894-2 (ETSI-ITS-CDD)
*/
ItsPduHeader
FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)};
-- Map (lane topology) extended Message
-- @brief Map (lane topology) extended Message Root
-- This DF includes DEs for the MAPEM: protocolVersion, the MAPEM message type identifier _messageID_,
-- the station identifier _stationID_ of the originating ITS-S and the Map data from ISO TS 19091.
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-1 (1)
}
WITH SUCCESSORS;
/**
* Map (lane topology) extended Message
* This DF includes DEs for the MAPEM: protocolVersion, the MAPEM message type identifier `messageID`,
* the station identifier `stationID` of the originating ITS-S and the Map data from ETSI-ITS-DSRC.
*
* @field header: The DE `protocolVersion` is used to select the appropriate protocol decoder at the receiving ITS-S.
* It shall be set to 2.
* The DE `messageID` shall be mapem(5).
* @field map: contains the MAP data as defined in ETSI-ITS-DSRC.
*
* @category: Basic Information
* @revision: V1.3.1
*/
MAPEM ::= SEQUENCE {
-- @details header
-- The DE _protocolVersion_ is used to select the appropriate protocol decoder at the receiving ITS-S.
-- It shall be set to 2.
-- The DE _messageID_ shall be mapem(5).
header ItsPduHeader,
-- @details map
-- The DE _map_ contains the MAP data as defined in ISO TS 19091.
map MapData
}
......
# Abstract syntax notation module for ETSI TS 103 301
# Abstract syntax notation module for ETSI TS 103 301 Release 2
These modules will be published as a part of delivery **[ETSI TS 103 301 v2.1.1](https://www.etsi.org/deliver/etsi_ts/103300_103399/103301/01.02.01_60/ts_103301v010201p.pdf) (2021-??)**
These modules will be published as a part of delivery **ETSI TS 103 301 v2.2.1**
# Status: STABLE DRAFT - donot use
## License
......@@ -10,14 +12,12 @@ See the attached LICENSE file or visit https://forge.etsi.org/legal-matters.
## Dependencies
* The **[ITS-Container](https://forge.etsi.org/rep/ITS/asn1/cdd_ts102894_2)** module from **[ETSI TS 102 894-2 v1.3.1](https://www.etsi.org/deliver/etsi_ts/102800_102899/10289402/01.03.01_60/ts_10289402v010301p.pdf)**: "Intelligent Transport Systems (ITS); Users and applications requirements; Part 2: Applications and facilities layer common data dictionary".
* The **[DSRC](https://standards.iso.org/iso/ts/19091/ed-2/en)** module from **CEN ISO/TS 19091-2018**: "Intelligent transport systems - Cooperative ITS - Using V2I and I2V communications for applications related to signalized intersections".
* The **[IVI](https://standards.iso.org/iso/ts/19321/ed-2/en/)** module from **CEN ISO/TS 19321-2020**: "Intelligent transport systems - Cooperative ITS - Dictionary of in-vehicle information (IVI) data structures".
* The **[ETSI-ITS-CDD](https://forge.etsi.org/rep/ITS/asn1/cdd_ts102894_2)** module from **ETSI TS 102 894-2**: "Intelligent Transport Systems (ITS); Users and applications requirements; Part 2: Applications and facilities layer common data dictionary".
* The **[IVI](https://standards.iso.org/iso/ts/19321/ed-3/en/)** module from **CEN ISO/TS 19321**: "Intelligent transport systems - Cooperative ITS - Dictionary of in-vehicle information (IVI) data structures".
## Syntax check
The correctness of these ASN.1 files can be verified using the bash script **syntax_check.bash**
The correctness of these ASN.1 files can be verified using the bash script **syntax_check.sh**
See the notes in this script for further details.
......@@ -25,6 +25,6 @@ For convenience a Dockerfile is available that might be useful for this.
```
Usage:
>docker build -t etsi-its-asn-is:2.1.1 .
>docker run -v `pwd`:/home/etsi-its-asn1 etsi-its-asn-is:2.1.1
>docker build -t etsi-its-asn-is:2.2.1 .
>docker run -v `pwd`:/home/etsi-its-asn1 etsi-its-asn-is:2.2.1
```
-- @brief Specification of the RTCM corrections extended Message ETSI TS 103 301
-- Latest version available at @url https://forge.etsi.org/rep/ITS/asn1/is_ts103301.git
/** draft 001 of the RTCMEM-PDU-Descriptions module for TS 103 831 V2.2.1 integrating:
* initial revision based on ASN.1 files of [ISO TS 19091] and [SAE J2735]
*/
-- Note: the above information will be deleted before publication
--! @options: no-fields-header
RTCMEM-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) rtcmem (5) version1 (1)
......@@ -11,29 +15,39 @@ BEGIN
IMPORTS
-- @brief Include ISO 19091
-- Include references from @url https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn
/**
* Includes from ETSI-ITS-DSRC
*/
RTCMcorrections
FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2) }
FROM ETSI-ITS-DSRC {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) dsrc (6) major-version-2 (2) minor-version-1 (1)
}
WITH SUCCESSORS
-- @brief Include ETSI TS 102 894-2
-- Include references from @url https://forge.etsi.org/rep/ITS/ITS_ASN1/blob/master/CDD_TS102894-2/ITS-Container.asn
/**
* Include ETSI TS 102 894-2 (ETSI-ITS-CDD)
*/
ItsPduHeader
FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)};
-- RTCM corrections extended extended Message
-- @brief RTCM corrections extended extended Message Root
-- This DF includes DEs for the RTCMEM: protocolVersion, the RTCMEM message type identifier _messageID_,
-- the station identifier _stationID_ of the originating ITS-S and the RTCM corrections as os ISO TS 19091.
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-1 (1)
}
WITH SUCCESSORS;
/**
* RTCM corrections extended extended Message
* This DF includes DEs for the RTCMEM: protocolVersion, the RTCMEM message type identifier `messageID`,
* the station identifier `stationID` of the originating ITS-S and the RTCM corrections as of ETSI-ITS-DSRC.
*
* @field header: The DE `protocolVersion` is used to select the appropriate protocol decoder at the receiving ITS-S.
* It shall be set to 1.
* The DE `messageID` shall be rtcmem(13).
* @field rtcmc: contains the RTCM corrections data as defined in ETSI-ITS-DSRC.
*
* @category: Basic Information
* @revision: V1.3.1
*/
RTCMEM ::= SEQUENCE {
-- @details header
-- The DE _protocolVersion_ is used to select the appropriate protocol decoder at the receiving ITS-S.
-- It shall be set to 1.
-- The DE _messageID_ shall be rtcmem(13).
header ItsPduHeader,
-- @details rtcmc
-- The DE _rtcmc_ contains the RTCM corrections data as defined in ISO TS 19091.
rtcmc RTCMcorrections
}
......
-- @brief Specification of the Signal phase and timing extended Message ETSI TS 103 301
-- Latest version available at @url https://forge.etsi.org/rep/ITS/asn1/is_ts103301.git
/** draft 001 of the SPATEM-PDU-Descriptions module for TS 103 301 V2.2.1 integrating:
* initial revision based on ASN.1 files of [ISO TS 19091] and [SAE J2735]
*/
-- Note: the above information will be deleted before publication
--! @options: no-fields-header
SPATEM-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) spatem (0) version2 (2)
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) spatem (0) major-version-2 (2) minor-version-1 (1)
}
DEFINITIONS AUTOMATIC TAGS ::=
......@@ -11,29 +15,41 @@ BEGIN
IMPORTS
-- @brief Include ISO TS 19091
-- Include references from @url https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn
/**
* Includes from ETSI-ITS-DSRC
*/
SPAT
FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2) }
FROM ETSI-ITS-DSRC {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) dsrc (6) major-version-2 (2) minor-version-1 (1)
}
WITH SUCCESSORS
-- @brief Include ETSI TS 102 894-2
-- Include references from @url https://forge.etsi.org/rep/ITS/ITS_ASN1/blob/master/CDD_TS102894-2/ITS-Container.asn
/**
* Include ETSI TS 102 894-2 (ETSI-ITS-CDD)
*/
ItsPduHeader
FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2) };
-- Signal phase and timing extended Message
-- @brief Signal phase and timing extended Message Root
-- This DF includes DEs for the SPATEM: protocolVersion, the SPATEM message type identifier _messageID_,
-- the station identifier _stationID_ of the originating ITS-S and the SPaT data from ISO TS 19091.
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-1 (1)
}
WITH SUCCESSORS;
/**
* Signal phase and timing extended Message
*
* Signal phase and timing extended Message Root
* This DF includes DEs for the SPATEM: protocolVersion, the SPATEM message type identifier `messageID`,
* the station identifier `stationID` of the originating ITS-S and the SPaT data from ETSI-ITS-DSRC module.
*
* @field header: The DE `protocolVersion` used to select the appropriate protocol decoder at the receiving ITS-S.
* It shall be set to 2.
* The DE `messageID` shall be spatem(4).
* @field spat: contains the SPaT data as defined in ETSI-ITS-DSRC.
*
* @category: Basic Information
* @revision: V1.3.1
*/
SPATEM ::= SEQUENCE {
-- @details header
-- The DE _protocolVersion_ is used to select the appropriate protocol decoder at the receiving ITS-S.
-- It shall be set to 2.
-- The DE _messageID_ shall be spatem(4).
header ItsPduHeader,
-- @details spat
-- The DE _spat_ contains the SPaT data as defined in ISO TS 19091.
spat SPAT
}
......
-- @brief Specification of the Signal request extended Message ETSI TS 103 301
-- Latest version available at @url https://forge.etsi.org/rep/ITS/asn1/is_ts103301.git
/** draft 001 of the SREM-PDU-Descriptions module for TS 103 831 V2.2.1 integrating:
* initial revision based on ASN.1 files of [ISO TS 19091] and [SAE J2735]
*/
-- Note: the above information will be deleted before publication
--! @options: no-fields-header
SREM-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) srem (3) version2 (2)
......@@ -11,29 +15,39 @@ BEGIN
IMPORTS
-- @brief Include ISO 19091
-- Include references from @url https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn
/**
* Includes from ETSI-ITS-DSRC
*/
SignalRequestMessage
FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2) }
FROM ETSI-ITS-DSRC {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) dsrc (6) major-version-2 (2) minor-version-1 (1)
}
WITH SUCCESSORS
-- @brief Include ETSI TS 102 894-2
-- Include references from @url https://forge.etsi.org/rep/ITS/ITS_ASN1/blob/master/CDD_TS102894-2/ITS-Container.asn
/**
* Include ETSI TS 102 894-2 (ETSI-ITS-CDD)
*/
ItsPduHeader
FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)};
-- Signal request extended Message Message
-- @brief Signal request extended Message Root
-- This DF includes DEs for the SREM: protocolVersion, the SREM message type identifier _messageID_,
-- the station identifier _stationID_ of the originating ITS-S and the signal request data ISO TS 19091.
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-1 (1)
}
WITH SUCCESSORS;
/**
* Signal request extended Message Message
* This DF includes DEs for the SREM: protocolVersion, the SREM message type identifier `messageID`,
* the station identifier `stationID` of the originating ITS-S and the signal request data from ETSI-ITS-DSRC.
*
* @field header: The DE `protocolVersion` is used to select the appropriate protocol decoder at the receiving ITS-S.
* It shall be set to 2.
* The DE `messageID` shall be srem(9).
* @field srm: contains the Signal request data as defined in ETSI-ITS-DSRC.
*
* @category: Basic Information
* @revision: V1.3.1
*/
SREM ::= SEQUENCE {
-- @details header
-- The DE _protocolVersion_ is used to select the appropriate protocol decoder at the receiving ITS-S.
-- It shall be set to 2.
-- The DE _messageID_ shall be srem(9).
header ItsPduHeader,
-- @details srm
-- The DE _srm_ contains the Signal request data as defined in ISO TS 19091.
srm SignalRequestMessage
}
......
-- @brief Specification of the Signal status extended Message ETSI TS 103 301
-- Latest version available at @url https://forge.etsi.org/rep/ITS/asn1/is_ts103301.git
/** draft 001 of the SSEM-PDU-Descriptions module for TS 103 831 V2.2.1 integrating:
* initial revision based on ASN.1 files of [ISO TS 19091] and [SAE J2735]
*/
-- Note: the above information will be deleted before publication
--! @options: no-fields-header
SSEM-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) ssem (4) version2 (2)
......@@ -11,29 +15,40 @@ BEGIN
IMPORTS
-- @brief Include ISO 19091
-- Include references from @url https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn
/**
* Includes from ETSI-ITS-DSRC
*/
SignalStatusMessage
FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2) }
FROM ETSI-ITS-DSRC {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103301 (103301) dsrc (6) major-version-2 (2) minor-version-1 (1)
}
WITH SUCCESSORS
-- @brief Include ETSI TS 102 894-2
-- Include references from @url https://forge.etsi.org/rep/ITS/ITS_ASN1/blob/master/CDD_TS102894-2/ITS-Container.asn
/**
* Include ETSI TS 102 894-2 (ETSI-ITS-CDD)
*/
ItsPduHeader
FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)};
-- Signal status extended Message
-- @brief Signal status extended Message Root
-- This DF includes DEs for the SSEM: protocolVersion, the SSEM message type identifier _messageID_ and
-- the station identifier _stationID_ of the originating ITS-S and the signal status data ISO TS 19091.
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-1 (1)
}
WITH SUCCESSORS;
/**
* Signal status extended Message
*
* This DF includes DEs for the SSEM: protocolVersion, the SSEM message type identifier `messageID` and
* the station identifier `stationID` of the originating ITS-S and the signal status data from ETSI-ITS-DSRC.
*
* @field header: The DE `protocolVersion` is used to select the appropriate protocol decoder at the receiving ITS-S.
* It shall be set to 2.
* The DE `messageID` shall be ssem(10).
* @field ssm: contains the Signal status data as defined in ETSI-ITS-DSRC.
*
* @category: Basic Information
* @revision: V1.3.1
*/
SSEM ::= SEQUENCE {
-- @details header
-- The DE _protocolVersion_ is used to select the appropriate protocol decoder at the receiving ITS-S.
-- It shall be set to 2.
-- The DE _messageID_ shall be ssem(10).
header ItsPduHeader,
-- @details ssm
-- The DE _ssm_ contains the Signal status data as defined in ISO TS 19091.
ssm SignalStatusMessage
}
......
Subproject commit 2c263b52d9aa3b7b613c9ca8f8c4bbc70c57be18
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import re
import sys
RE_COMMENTS = re.compile(r'^\s*--.*?\n|--.*?(?:--|$)|/\*.*?\*/[\t ]*\n?', re.MULTILINE|re.DOTALL)
def remove_comments(content):
return RE_COMMENTS.sub('\n', content)
def main():
content = open(sys.argv[1], mode="r", encoding='latin-1').read()
print(remove_comments(content))
if __name__ == '__main__':
main()
Subproject commit 2d2450e79aab4c7032ef615b72ddefaf2e5ba8a9
Subproject commit 607993448648f50b75312c8fca777f0de67b7ad7
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.