Commit cd5230bc authored by berge's avatar berge
Browse files

Updated ITS-Container.asn to correct version

parent 8f945cb4
Loading
Loading
Loading
Loading
+346 −288
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@ BEGIN

ItsPduHeader ::= SEQUENCE {
	protocolVersion INTEGER{currentVersion(1)} (0..255),
	messageID 		INTEGER{ denm(1),cam(2), poi(3), spat(4), map(5), ivi(6), ivs(7), ev-rsr(8)  } (0..255),
	messageID INTEGER{denm(1),cam(2), poi(3), spat(4), map(5), ivi(6), ev-rsr(7)} (0..255),
	stationID StationID
}

@@ -27,16 +27,16 @@ DeltaReferencePosition ::= SEQUENCE {
	deltaAltitude DeltaAltitude
}

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

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

Altitude ::= SEQUENCE {
	altitudeValue AltitudeValue,
	altitudeConfidence AltitudeConfidence
}

AltitudeValue ::= INTEGER { seaLevel(0), oneCentimeter(1), unavailable(800001) } (-100000..800001)
AltitudeValue ::= INTEGER {referenceEllipsoidSurface(0), oneCentimeter(1), unavailable(800001)} (-100000..800001)

AltitudeConfidence ::= ENUMERATED {
	alt-000-01 (0),
@@ -57,17 +57,16 @@ outOfRange (14),
	unavailable (15)
}

DeltaLongitude ::= INTEGER { oneMicrodegreeEast (10), oneMicrodegreeWest (-10) } (-131072..131071) -- multiples of 0.1 microdegree
DeltaLongitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavailable(131072)} (-131071..131072)

DeltaLatitude ::= INTEGER { oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10) } (-131072..131071) -- multiples of 0.1 microdegree
DeltaLatitude ::= INTEGER {oneMicrodegreeNorth (10), oneMicrodegreeSouth (-10) , unavailable(131072)} (-131071..131072)

DeltaAltitude ::= INTEGER {oneCentimeterUp (1), oneCentimeterDown (-1), unavailable(12800)} (-12700..12800)


PosConfidenceEllipse ::= SEQUENCE {
  semiMajorConfidence   SemiAxisLength,   -- confidence of the ellipse's major semi-axes
  semiMinorConfidence   SemiAxisLength,   -- confidence of the ellipse's minor semi-axes
  semiMajorOrientation  Heading
	semiMajorConfidence SemiAxisLength,
	semiMinorConfidence SemiAxisLength,
	semiMajorOrientation HeadingValue
}

PathPoint ::= SEQUENCE {
@@ -75,7 +74,7 @@ PathPoint ::= SEQUENCE {
	pathDeltaTime PathDeltaTime OPTIONAL
}

PathDeltaTime ::= INTEGER { tenMilliSecondsInPast(1) } (0..65535, ...) 
PathDeltaTime ::= INTEGER {tenMilliSecondsInPast(1)} (1..65535, ...)

PtActivation ::= SEQUENCE {
	ptActivationType PtActivationType,
@@ -138,7 +137,7 @@ SemiAxisLength ::= INTEGER{ oneCentimeter(1), outOfRange(4094), unavailable(4095

AccidentSubCauseCode ::= INTEGER {unavailable(0), multiVehicleAccident(1), heavyAccident(2), accidentInvolvingLorry(3), accidentInvolvingBus(4), accidentInvolvingHazardousMaterials(5), accidentOnOppositeLane(6), unsecuredAccident(7), assistanceRequested(8)} (0..255)

 RoadworksSubCauseCode ::= INTEGER {unavailable(0), majorRoadworks(1), roadMarkingWork(2), slowMovingRoadMaintenance(3), winterService(4), streetCleaning(5) }  (0..255)
RoadworksSubCauseCode ::= INTEGER {unavailable(0), majorRoadworks(1), roadMarkingWork(2), slowMovingRoadMaintenance(3), shortTermStationaryRoadworks(4), streetCleaning(5), winterService(6)} (0..255)

HumanPresenceOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), childrenOnRoadway(1), cyclistOnRoadway(2), motorcyclistOnRoadway(3)} (0..255)

@@ -182,7 +181,6 @@ SemiAxisLength ::= INTEGER{ oneCentimeter(1), outOfRange(4094), unavailable(4095

PostCrashSubCauseCode ::= INTEGER {unavailable(0), accidentWithoutECallTriggered (1), accidentWithECallManuallyTriggered (2), accidentWithECallAutomaticallyTriggered (3), accidentWithECallTriggeredWithoutAccessToCellularNetwork(4)} (0..255)


Curvature ::= SEQUENCE {
 curvatureValue CurvatureValue,
 curvatureConfidence CurvatureConfidence
@@ -191,28 +189,28 @@ Curvature ::= SEQUENCE {
CurvatureValue ::= INTEGER {straight(0), reciprocalOf1MeterRadiusToRight(-30000), reciprocalOf1MeterRadiusToLeft(30000), unavailable(30001)} (-30000..30001)

CurvatureConfidence ::= ENUMERATED {
 onePerMeter-0-00002 (0), -- within  0.00002 m^-1
 onePerMeter-0-0001 (1), -- within 0.0001 m^-1
 onePerMeter-0-0005 (2), -- within 0.0005 m^-1
 onePerMeter-0-002 (3), -- within 0.002 m^-1
 onePerMeter-0-01 (4), -- within 0.01 m^-1
 onePerMeter-0-1 (5), -- within 0.1 m^-1
	onePerMeter-0-00002 (0),
	onePerMeter-0-0001 (1),
	onePerMeter-0-0005 (2),
	onePerMeter-0-002 (3),
	onePerMeter-0-01 (4),
	onePerMeter-0-1 (5),
	outOfRange (6),
	unavailable (7)
}

CurvatureCalculationMode ::= ENUMERATED { yawRateUsed(0), yawRateNotUsed(1), transitionMode(2), ... }
CurvatureCalculationMode ::= ENUMERATED {yawRateUsed(0), yawRateNotUsed(1), unavailable(2), ...}

Heading ::= SEQUENCE {
	headingValue HeadingValue,
	headingConfidence HeadingConfidence
}

HeadingValue ::= INTEGER { wgs84North(0), wgs84East(900), wgs84South(1800), wgs84West(2700), unavailable(3600) } (0..3600)
HeadingValue ::= INTEGER {wgs84North(0), wgs84East(900), wgs84South(1800), wgs84West(2700), unavailable(3601)} (0..3601)

HeadingConfidence ::= INTEGER { withinZeroPointOneDegree(1), withinOneDegree(10), outOfRange(126), unavailable(127) } (1..127)
HeadingConfidence ::= INTEGER {equalOrWithinZeroPointOneDegree (1), equalOrWithinOneDegree (10), outOfRange(126), unavailable(127)} (1..127)

LaneNumber ::= INTEGER { offTheRoad(-1), hardShoulder(0),
LanePosition::= INTEGER {offTheRoad(-1), hardShoulder(0),
outermostDrivingLane(1), secondLaneFromOutside(2)} (-1..14)

ClosedLanes ::= SEQUENCE {
@@ -223,14 +221,14 @@ ClosedLanes ::= SEQUENCE {

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

DrivingLaneStatus ::= BIT STRING { outermostLaneClosed(1), secondLaneFromOutsideClosed(2) } (SIZE (1..14)) -- numbering matches LaneNumber numbering
DrivingLaneStatus ::= BIT STRING {outermostLaneClosed(1), secondLaneFromOutsideClosed(2)} (SIZE (1..14))


PerformanceClass ::= INTEGER { unavailable(0), performanceClassA(1), performanceClassB(2) } (0..7)  -- values in range 3-7 are reserved for later definition
PerformanceClass ::= INTEGER {unavailable(0), performanceClassA(1), performanceClassB(2)} (0..7)

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

SpeedConfidence ::= INTEGER { withinOneCentimeterPerSec(1), withinOneMeterPerSec(100), outOfRange(126), unavailable(127) } (1..127)
SpeedConfidence ::= INTEGER {equalOrWithinOneCentimeterPerSec(1), equalOrWithinOneMeterPerSec(100), outOfRange(126), unavailable(127)} (1..127)

VehicleMass ::= INTEGER {hundredKg(1), unavailable(1024)} (1..1024) 

@@ -309,9 +307,9 @@ DangerousGoodsExtended ::= SEQUENCE {
	elevatedTemperature BOOLEAN,
	tunnelsRestricted BOOLEAN,
	limitedQuantity BOOLEAN,
   emergencyActionCode IA5String OPTIONAL,
   phoneNumber         IA5String OPTIONAL,
   companyName         UTF8String OPTIONAL
	emergencyActionCode IA5String (SIZE (1..24)) OPTIONAL,
	phoneNumber IA5String (SIZE (1..24)) OPTIONAL,
	companyName UTF8String (SIZE (1..24)) OPTIONAL
}

SpecialTransportType ::= BIT STRING {heavyLoad(0), excessWidth(1), excessLength(2), excessHeight(3)} (SIZE(4))
@@ -321,31 +319,30 @@ LightBarSirenInUse ::= BIT STRING {
	sirenActivated (1)
} (SIZE(2))

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

PosLonCarr ::= INTEGER { oneCentimeter(1), unavailable(127) } (0..127)
PosLonCarr ::= INTEGER {oneCentimeter(1), unavailable(127)} (1..127)

PosPillar ::= INTEGER { tenCentimeters(1), unavailable(30) } (0..30)
PosPillar ::= INTEGER {tenCentimeters(1), unavailable(30)} (1..30)

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

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

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

StationarySince ::= ENUMERATED { lessThan1Minute(0), lessThan2Minutes(1), lessThan15Minutes(2), over15Minutes(3) }
StationarySince ::= ENUMERATED {lessThan1Minute(0), lessThan2Minutes(1), lessThan15Minutes(2), equalOrGreater15Minutes(3)}

Temperature ::= INTEGER { oneDegreeCelsius(1) } (-60..67)
Temperature ::= INTEGER {equalOrSmallerThanMinus60Deg (-60), oneDegreeCelsius(1), equalOrGreaterThan67Deg(67)} (-60..67)

TrafficRule ::= ENUMERATED { noPassing(0),
 noPassingForTrucks(1), ...
TrafficRule ::= ENUMERATED {noPassing(0), noPassingForTrucks(1), passToRight(2), passToLeft(3), ...
}

WheelBaseVehicle ::= INTEGER { tenCentimeters(1), unavailable(127) } (0..127)
WheelBaseVehicle ::= INTEGER {tenCentimeters(1), unavailable(127)} (1..127)

TurningRadius ::= INTEGER { point4Meters(1), unavailable(255) } (0..255)
TurningRadius ::= INTEGER {point4Meters(1), unavailable(255)} (1..255)

PosFrontAx ::= INTEGER { tenCentimeters(1), unavailable(20) } (0..20)
PosFrontAx ::= INTEGER {tenCentimeters(1), unavailable(20)} (1..20)

PositionOfOccupants ::= BIT STRING {
	row1LeftOccupied (0),
@@ -372,8 +369,9 @@ PositionOfOccupants ::= BIT STRING {
PositioningSolutionType ::= ENUMERATED {noPositioningSolution(0), sGNSS(1), dGNSS(2), sGNSSplusDR(3), dGNSSplusDR(4), dR(5), ...}

VehicleIdentification ::= SEQUENCE {
 wMInumber WMInumber,
 vDS VDS
	wMInumber WMInumber OPTIONAL,
	vDS VDS OPTIONAL,
	...
}

WMInumber ::= IA5String (SIZE(1..3))
@@ -389,12 +387,11 @@ VehicleLength ::= SEQUENCE {

VehicleLengthValue ::= INTEGER {tenCentimeters(1), outOfRange(1022), unavailable(1023)}  (1..1023)

VehicleLengthConfidenceIndication ::= ENUMERATED { noTrailerPresent(0), trailerPresentWithKnownLength(1), trailerPresentWithUnknownLength(2), 
trailerPresenceIsUnknown(3) }
VehicleLengthConfidenceIndication ::= ENUMERATED {noTrailerPresent(0), trailerPresentWithKnownLength(1), trailerPresentWithUnknownLength(2), trailerPresenceIsUnknown(3), unavailable(4)}

VehicleWidth ::= INTEGER {tenCentimeters(1), outOfRange(61), unavailable(62)} (1..62)

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

EmergencyPriority ::= BIT STRING {requestForRightOfWay(0), requestForFreeCrossingAtATrafficLight(1)} (SIZE(2))

@@ -408,24 +405,23 @@ RoadType ::= ENUMERATED {

SteeringWheelAngle ::= SEQUENCE {
	steeringWheelAngleValue SteeringWheelAngleValue,
 steeringWheelConfidence SteeringWheelConfidence
	steeringWheelAngleConfidence SteeringWheelAngleConfidence
}

SteeringWheelAngleValue  ::= INTEGER { straight(0), onePointFiveDegreesToRight(-1), onePointFiveDegreesToLeft(1), unavailable(511) } (-511..511)
SteeringWheelAngleValue ::= INTEGER {straight(0), onePointFiveDegreesToRight(-1), onePointFiveDegreesToLeft(1), unavailable(512)} (-511..512)

SteeringWheelConfidence ::= INTEGER { withinOnePointFiveDegrees(1), outOfRange(126), unavailable(127) } (1..127)
SteeringWheelAngleConfidence ::= INTEGER {equalOrWithinOnePointFiveDegree (1), outOfRange(126), unavailable(127)} (1..127)

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

VehicleRole ::= ENUMERATED { default(0), publicTransport(1), specialTransport(2), dangerousGoods(3), roadWork(4), rescue(5), emergency(6), safetyCar(7) }
VehicleRole ::= ENUMERATED {default(0), publicTransport(1), specialTransport(2), dangerousGoods(3), roadWork(4), rescue(5), emergency(6), safetyCar(7), agriculture(8),commercial(9),military(10),roadOperator(11),taxi(12), reserved1(13), reserved2(14), reserved3(15)}

YawRate::= SEQUENCE {
	yawRateValue YawRateValue,
	yawRateConfidence YawRateConfidence
}

YawRateValue ::= INTEGER { straight(0), degSec-000-01ToRight(-1), degSec-000-01ToLeft(1), unavailable(32767) } (-32767..32767)
-- LSB units of 0.01 degrees per second
YawRateValue ::= INTEGER {straight(0), degSec-000-01ToRight(-1), degSec-000-01ToLeft(1), unavailable(32767)} (-32766..32767)

YawRateConfidence ::= ENUMERATED {
	degSec-000-01 (0),
@@ -439,5 +435,67 @@ YawRateConfidence ::= ENUMERATED {
	unavailable (8)
}

ProtectedZoneType::=  ENUMERATED {
	cenDsrcTolling (0),
	...
}

RelevanceDistance ::= ENUMERATED {lessThan50m(0), lessThan100m(1), lessThan200m(2), lessThan500m(3), lessThan1000m(4), lessThan5km(5), lessThan10km(6), over10km(7)}

RelevanceTrafficDirection ::= ENUMERATED {allTrafficDirections(0), upstreamTraffic(1), downstreamTraffic(2), oppositeTraffic(3)}

TransmissionInterval ::= INTEGER {oneMilliSecond(1), tenSeconds(10000)} (1..10000)

ValidityDuration ::=	INTEGER {timeOfDetection(0), oneSecondAfterDetection(1)} (0..86400)

ActionID ::= SEQUENCE {
	originatingStationID StationID,
	sequenceNumber SequenceNumber
}

ItineraryPath ::= SEQUENCE SIZE(1..40) OF ReferencePosition

ProtectedCommunicationZone ::= SEQUENCE {
	protectedZoneType		ProtectedZoneType,
	expiryTime TimestampIts OPTIONAL,
	protectedZoneLatitude	Latitude,
	protectedZoneLongitude	Longitude,
	protectedZoneRadius	ProtectedZoneRadius OPTIONAL,
	protectedZoneID	ProtectedZoneID OPTIONAL
}

Traces ::= SEQUENCE SIZE(1..7) OF PathHistory

NumberOfOccupants ::= INTEGER {oneOccupant (1), unavailable(127)} (0 .. 127)

SequenceNumber ::=	INTEGER (0..65535)

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

RestrictedTypes ::= SEQUENCE (SIZE(1..3, ...)) OF StationType

EventHistory::= SEQUENCE (SIZE(1..23)) OF EventPoint

EventPoint ::= SEQUENCE {
	eventPosition DeltaReferencePosition,
	eventDeltaTime PathDeltaTime OPTIONAL,
	informationQuality InformationQuality
}

ProtectedCommunicationZonesRSU ::= SEQUENCE (SIZE(1..16)) OF ProtectedCommunicationZone 



CenDsrcTollingZone ::= SEQUENCE {
	protectedZoneLatitude Latitude,
	protectedZoneLongitude Longitude,
	cenDsrcTollingZoneID CenDsrcTollingZoneID OPTIONAL
}

ProtectedZoneRadius ::= INTEGER {oneMeter(1)} (1..255,...)

ProtectedZoneID ::= INTEGER (0.. 134217727)

CenDsrcTollingZoneID ::= ProtectedZoneID

END
 No newline at end of file