Commit fedb5c29 authored by berge's avatar berge
Browse files

Updated DENM ASN.1 definitions to latest TB-approved version

parent 8ecb2b42
Loading
Loading
Loading
Loading
+16 −8
Original line number Original line Diff line number Diff line
@@ -7,7 +7,7 @@ DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
BEGIN


IMPORTS 
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 {
   ItsPduHeader, CauseCode, StationID, Movement, InformationQuality, ReferencePosition, DangerousGoodsExtended, Direction, LaneNumber, LightBarSirenInUse, PathHistory, RoadClass, HeightLonCarr, PosLonCarr, PosPillar, PosCentMass, PositioningSolutionType, RequestResponseIndication, 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) 
 itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (302637) cc (0) version (1) 
};
};


@@ -28,9 +28,10 @@ DecentralizedEnvironmentalNotificationMessage ::= SEQUENCE {


ManagementContainer ::= SEQUENCE {
ManagementContainer ::= SEQUENCE {
	actionID	ActionID,
	actionID	ActionID,
	dataVersion	DataVersion,
	detectionTime	TimestampIts,
	detectionTime	TimestampIts,
	referenceTime	TimestampIts,
	isNegation	BOOLEAN,
	isNegation	BOOLEAN,
	isCancellation	BOOLEAN,
	eventPosition	ReferencePosition,
	eventPosition	ReferencePosition,
	relevanceDistance	RelevanceDistance,
	relevanceDistance	RelevanceDistance,
	relevanceTrafficDirection RelevanceTrafficDirection,
	relevanceTrafficDirection RelevanceTrafficDirection,
@@ -62,21 +63,30 @@ ImpactReductionContainer ::= SEQUENCE {
  turningRadius TurningRadius,
  turningRadius TurningRadius,
  posFrontAx PosFrontAx,
  posFrontAx PosFrontAx,
  positionOfOccupants PositionOfOccupants,
  positionOfOccupants PositionOfOccupants,
  vehicleMass VehicleMass 
  vehicleMass VehicleMass,
  requestResponseIndication RequestResponseIndication
}
}


PositionOfPillars ::= SEQUENCE (SIZE(1..3, ...)) OF PosPillar
PositionOfPillars ::= SEQUENCE (SIZE(1..3, ...)) OF PosPillar


 RoadWorksContainerExtended ::= SEQUENCE {
 RoadWorksContainerExtended ::= SEQUENCE {
  lightBarSirenInUse LightBarSirenInUse OPTIONAL,
  lightBarSirenInUse LightBarSirenInUse OPTIONAL,
  closedLanes LaneSets OPTIONAL,
  closedLanes ClosedLanes OPTIONAL,
  restriction RestrictedTypes OPTIONAL,
  restriction RestrictedTypes OPTIONAL,
  speedLimit SpeedLimit OPTIONAL,
  speedLimit SpeedLimit OPTIONAL,
  incidentIndication CauseCode OPTIONAL,
  incidentIndication CauseCode OPTIONAL,
  recommendedPath ItineraryPath OPTIONAL	--Traces without timestamps
  recommendedPath ItineraryPath OPTIONAL	--Traces without timestamps
 }
 }


LaneSets ::= SEQUENCE OF LaneNumber
ClosedLanes ::= SEQUENCE {
 hardShoulderStatus HardShoulderStatus OPTIONAL,
 drivingLaneStatus DrivingLaneStatus,
 ... 
}

HardShoulderStatus ::= ENUMERATED { availableForStopping(0), closed(1), availableForDriving(2) }

DrivingLaneStatus ::= BIT STRING { outermostLaneClosed(0), secondLaneFromOutsideClosed(1) } (SIZE (1..14))


RestrictedTypes ::= SEQUENCE OF StationType
RestrictedTypes ::= SEQUENCE OF StationType


@@ -92,7 +102,7 @@ StationaryVehicleContainer ::= SEQUENCE {




AlacarteContainer ::= SEQUENCE {
AlacarteContainer ::= SEQUENCE {
	laneCount LaneCount OPTIONAL,
	laneNumber LaneNumber OPTIONAL,
	impactReduction	ImpactReductionContainer OPTIONAL,
	impactReduction	ImpactReductionContainer OPTIONAL,
	externalTemperature Temperature OPTIONAL,
	externalTemperature Temperature OPTIONAL,
	roadWorks RoadWorksContainerExtended OPTIONAL,
	roadWorks RoadWorksContainerExtended OPTIONAL,
@@ -109,8 +119,6 @@ AlacarteContainer ::= SEQUENCE {


 SequenceNumber ::=	INTEGER (0..65535)
 SequenceNumber ::=	INTEGER (0..65535)


 DataVersion ::= INTEGER {firstVersion(0),secondVersion(1), cancellation(255) } (0..255)

 defaultValidity INTEGER ::= 600
 defaultValidity INTEGER ::= 600
 
 
 ValidityDuration ::=	INTEGER { timeOfDetection(0), oneSecondAfterDetection(1) } (0..86400)
 ValidityDuration ::=	INTEGER { timeOfDetection(0), oneSecondAfterDetection(1) } (0..86400)
+17 −22
Original line number Original line Diff line number Diff line
ITS-Container {
ITS-Container {
 itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (302637) cc (0) version (1) 
 itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cc (2) version (1) 
}
}


DEFINITIONS AUTOMATIC TAGS ::= 
DEFINITIONS AUTOMATIC TAGS ::= 
@@ -27,9 +27,9 @@ DeltaReferencePosition ::= SEQUENCE {
  deltaElevation DeltaElevation
  deltaElevation DeltaElevation
}
}


Longitude ::= INTEGER { oneMicrodegreeEast (10), oneMicrodegreeWest (-10) } (-1800000000..1800000001) -- multiples of 0.1 microdegree
Longitude ::= INTEGER { oneMicrodegreeEast (10), oneMicrodegreeWest (-10) } (-1799999999..1800000000) -- multiples of 0.1 microdegree


Latitude ::= INTEGER { oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10) } (-900000000..900000001) -- multiples of 0.1 microdegree
Latitude ::= INTEGER { oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10) } (-900000000..900000000) -- multiples of 0.1 microdegree


Elevation ::= SEQUENCE {
Elevation ::= SEQUENCE {
 elevationValue ElevationValue,
 elevationValue ElevationValue,
@@ -68,7 +68,7 @@ AccelerationControl ::= BIT STRING {
 accActive       (4),
 accActive       (4),
 cruiseControl   (5),
 cruiseControl   (5),
 speedLimiterActive (6)
 speedLimiterActive (6)
} 
} (SIZE(7))




SemiAxisLength ::= INTEGER{ oneCentimeter(1), unavailable(4095) } (0..4095)
SemiAxisLength ::= INTEGER{ oneCentimeter(1), unavailable(4095) } (0..4095)
@@ -166,7 +166,7 @@ CurvatureValue ::= INTEGER{ straight(0), reciprocalOf1MeterRadiusToRight(1), rec


CurvatureConfidence ::= INTEGER { lessThanOnePercentDeviation(0), onePercentDeviation(1), tenPercentDeviation(10), overTenPercentDeviation(11), notAvailable(12) } (0..12)
CurvatureConfidence ::= INTEGER { lessThanOnePercentDeviation(0), onePercentDeviation(1), tenPercentDeviation(10), overTenPercentDeviation(11), notAvailable(12) } (0..12)


CurvatureCalculationMode ::= ENUMERATED { yawRateNotAvailable(0), yawRateAvailable(1), ... }
CurvatureCalculationMode ::= ENUMERATED { yawRateNotUsed(0), yawRateUsed(1), ... }


Direction ::= SEQUENCE {
Direction ::= SEQUENCE {
 directionValue DirectionValue,
 directionValue DirectionValue,
@@ -177,19 +177,10 @@ DirectionValue ::= INTEGER {north(0), east(900), south(1800), west(2700), unavai


DirectionConfidence ::= INTEGER { withinZeroPointOneDegree(1), withinOneDegree(10), unavailable(127) } (1..127)
DirectionConfidence ::= INTEGER { withinZeroPointOneDegree(1), withinOneDegree(10), unavailable(127) } (1..127)


LaneCount ::= SEQUENCE {
LaneNumber ::= INTEGER { offTheRoad(-1), hardShoulder(0),
 laneNumber LaneNumber,
outermostDrivingLane(1), secondLaneFromOutside(2) } (-1..14)
 laneNumberConfidence LaneNumberConfidence
}


LaneNumber ::= INTEGER { offTheRoad(0) } (0..15)

LaneInfo ::= ENUMERATED { leftLaneClosed(0), rightLaneClosed(1) }


LaneNumberConfidence ::= Percentage
LaneClosure ::= BIT STRING { hardShoulderClosed(0), outermostLaneClosed(1), secondLaneFromOutsideClosed(2) } (SIZE (2..14))

Percentage ::= INTEGER (0..100)


VehicleSpeed ::= INTEGER { standstill(0), oneCentimeterPerSec(1)  } (0..16383)
VehicleSpeed ::= INTEGER { standstill(0), oneCentimeterPerSec(1)  } (0..16383)


@@ -269,12 +260,12 @@ DangerousGoodsExtended ::= SEQUENCE {
}
}




SpecialTransportType  ::= ENUMERATED { heavyLoad(0), excessWidth(1) } 
SpecialTransportType  ::= BIT STRING { heavyLoad(0), excessWidth(1), excessLength(2), excessHeight(3) } (SIZE(4))


LightBarSirenInUse ::= BIT STRING {
LightBarSirenInUse ::= BIT STRING {
 lightBarActivated (0),
 lightBarActivated (0),
 sirenActivated (1)
 sirenActivated (1)
}
} (SIZE(2))


HeightLonCarr ::= INTEGER { oneCentimeter(1), unknown(100) } (0..100)
HeightLonCarr ::= INTEGER { oneCentimeter(1), unknown(100) } (0..100)


@@ -284,6 +275,8 @@ PosPillar ::= INTEGER { tenCentimeters(1), unknown(30) } (0..30)


PosCentMass ::= INTEGER { tenCentimeters(1), unknown(63) } (0..63)
PosCentMass ::= INTEGER { tenCentimeters(1), unknown(63) } (0..63)


RequestResponseIndication ::= ENUMERATED { request(0), response(1) }

SpeedLimit ::= INTEGER { oneKmPerHour(1) } (0..150)
SpeedLimit ::= INTEGER { oneKmPerHour(1) } (0..150)


StationarySince ::= ENUMERATED { lessThan1Minute(0), lessThan2Minutes(1), lessThan15Minutes(2), over15Minutes(3) }
StationarySince ::= ENUMERATED { lessThan1Minute(0), lessThan2Minutes(1), lessThan15Minutes(2), over15Minutes(3) }
@@ -317,7 +310,7 @@ PositionOfOccupants ::= BIT STRING {
 row4RightOccupied   (13),
 row4RightOccupied   (13),
 row4MidOccupied     (14),
 row4MidOccupied     (14),
 row4NotDetectable   (15)
 row4NotDetectable   (15)
}
} (SIZE(16))


PositioningSolutionType ::= ENUMERATED { noPositioningSolution(0), sGNSS(1), dGNSS(2), sGNSSplusDR(3), dGNSSplusDR(4), dR(5), ... }
PositioningSolutionType ::= ENUMERATED { noPositioningSolution(0), sGNSS(1), dGNSS(2), sGNSSplusDR(3), dGNSSplusDR(4), dR(5), ... }


@@ -346,7 +339,9 @@ VehicleWidth ::= INTEGER { tenCentimeters(1), outOfRange(61), unknown(62) } (1


PathHistory::=  SEQUENCE (SIZE(0..40)) OF PathPoint
PathHistory::=  SEQUENCE (SIZE(0..40)) OF PathPoint


Priority ::= INTEGER { lowest(0), highest(3) }  (0..3)
PtPriority ::= INTEGER { lowest(0), highest(3) }  (0..3)

EmergencyPriority ::= INTEGER { requestForRightOfWay(0), requestForFreeCrossingAtATrafficLight(1) } (0..1)


PtLineNumber ::= UTF8String (SIZE(1..5))
PtLineNumber ::= UTF8String (SIZE(1..5))


@@ -360,7 +355,7 @@ RoadClass ::= ENUMERATED {
 nonUrban-NoStructuralSeparationToOppositeLanes(2),
 nonUrban-NoStructuralSeparationToOppositeLanes(2),
 nonUrban-WithStructuralSeparationToOppositeLanes(3) }
 nonUrban-WithStructuralSeparationToOppositeLanes(3) }


SteeringWheelAngle  ::= INTEGER { straight(0), onePointFiveDegreesToRight(1), onePointFiveDegreesToLeft(-1), outOfRangeToRight(126), outOfRangeToLeft(-126), unavailable(127) }  (-126..127)
SteeringWheelAngle  ::= INTEGER { straight(0), onePointFiveDegreesToRight(1), onePointFiveDegreesToLeft(-1), outOfRangeToRight(126), outOfRangeToLeft(-126) }  (-126..126)


TimestampIts ::= INTEGER { utcStartOf2004(0), oneMillisecAfterUTCStartOf2004(1) } (0..3153600000000)
TimestampIts ::= INTEGER { utcStartOf2004(0), oneMillisecAfterUTCStartOf2004(1) } (0..3153600000000)