Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
DENM-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (302637) denm (1) version (1)
}
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
ItsPduHeader, CauseCode, Percentage, StationID, Movement, InformationQuality, ReferencePosition, DangerousGoodsExtended, Direction, LaneCount, LaneNumber, LightBarSirenInUse, PathHistory, RoadClass, HeightLonCarr, PosLonCarr, PosPillar, PosCentMass, PositioningSolutionType, StationType, SpeedLimit, StationarySince, TimestampIts, WheelBaseVehicle, TurningRadius, PosFrontAx, PositionOfOccupants, Temperature, VehicleMass, VehicleIdentification, EnergyStorageType FROM ITS-Container {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (302637) cc (0) version (1)
};
DENM ::= SEQUENCE {
header ItsPduHeader,
denm DecentralizedEnvironmentalNotificationMessage
}
DecentralizedEnvironmentalNotificationMessage ::= SEQUENCE {
management ManagementContainer,
situation SituationContainer OPTIONAL,
location LocationContainer OPTIONAL,
alacarte AlacarteContainer OPTIONAL
}
ManagementContainer ::= SEQUENCE {
actionID ActionID,
dataVersion DataVersion,
detectionTime TimestampIts,
isNegation BOOLEAN,
eventPosition ReferencePosition,
relevanceDistance RelevanceDistance,
relevanceTrafficDirection RelevanceTrafficDirection,
validityDuration ValidityDuration DEFAULT defaultValidity,
transmissionInterval TransmissionInterval OPTIONAL
}
SituationContainer ::= SEQUENCE {
informationQuality InformationQuality,
eventType CauseCode,
linkedCause CauseCode OPTIONAL
}
LocationContainer ::= SEQUENCE {
eventSpeed Movement OPTIONAL,
eventPositionHeading Direction OPTIONAL,
traces Traces,
roadClass RoadClass OPTIONAL
}
ImpactReductionContainer ::= SEQUENCE {
heightLonCarrLeft HeightLonCarr,
heightLonCarrRight HeightLonCarr,
posLonCarrLeft PosLonCarr,
posLonCarrRight PosLonCarr,
positionOfPillars PositionOfPillars,
posCentMass PosCentMass,
wheelBaseVehicle WheelBaseVehicle,
turningRadius TurningRadius,
posFrontAx PosFrontAx,
positionOfOccupants PositionOfOccupants,
vehicleMass VehicleMass
}
PositionOfPillars ::= SEQUENCE (SIZE(1..3, ...)) OF PosPillar
RoadWorksContainerExtended ::= SEQUENCE {
lightBarSirenInUse LightBarSirenInUse OPTIONAL,
closedLanes LaneSets OPTIONAL,
restriction RestrictedTypes OPTIONAL,
speedLimit SpeedLimit OPTIONAL,
incidentIndication CauseCode OPTIONAL,
recommendedPath ItineraryPath OPTIONAL --Traces without timestamps
}
LaneSets ::= SEQUENCE OF LaneNumber
RestrictedTypes ::= SEQUENCE OF StationType
StationaryVehicleContainer ::= SEQUENCE {
stationType StationType,
stationarySince StationarySince OPTIONAL,
stationaryCause CauseCode OPTIONAL,
carryingDangerousGoods DangerousGoodsExtended OPTIONAL,
numberOfOccupants INTEGER(0..127) OPTIONAL,
vehicleIdentification VehicleIdentification OPTIONAL,
energyStorageType EnergyStorageType OPTIONAL
}
AlacarteContainer ::= SEQUENCE {
laneCount LaneCount OPTIONAL,
impactReduction ImpactReductionContainer OPTIONAL,
externalTemperature Temperature OPTIONAL,
roadWorks RoadWorksContainerExtended OPTIONAL,
positioningSolution PositioningSolutionType OPTIONAL,
stationaryVehicle StationaryVehicleContainer OPTIONAL,
...
}
ActionID ::= SEQUENCE {
originatorStationID StationID,
sequenceNumber SequenceNumber
}
SequenceNumber ::= INTEGER (0..65535)
DataVersion ::= INTEGER {firstVersion(0),secondVersion(1), cancellation(255) } (0..255)
defaultValidity INTEGER ::= 600
ValidityDuration ::= INTEGER { timeOfDetection(0), oneSecondAfterDetection(1) } (0..86400)
Traces ::= SEQUENCE SIZE(0..7) OF PathHistory
ItineraryPath ::= SEQUENCE SIZE(0..40) OF ReferencePosition
TransmissionInterval ::= INTEGER { oneMilliSecond(1), tenSeconds(10000) } (1..10000)
RelevanceDistance ::= ENUMERATED { lessThan50m(0)
, lessThan100m(1), lessThan200m(2), lessThan500m(3), lessThan1000m(4), lessThan5km(5), lessThan10km(6), over10km(7) }
RelevanceTrafficDirection ::= ENUMERATED { unavailable(0), upstreamTraffic(1), downstreamTraffic(2), allTrafficDirection(3) }
END