Commit a2aec2ca authored by filatov's avatar filatov
Browse files

STF484 branch + asn1 files

parent 86130013
Loading
Loading
Loading
Loading
+95 −96
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

IMPORTS 
   ItsPduHeader, CauseCode, ReferencePosition, AccelerationControl, Curvature, CurvatureCalculationMode, Heading, PtActivation, LaneNumber, EmergencyPriority, EmbarkationStatus, Speed, DriveDirection, LongitudinalAcceleration, LateralAcceleration, VerticalAcceleration, StationType, ExteriorLights, DangerousGoodsBasic, PerformanceClass, SpecialTransportType, LightBarSirenInUse, VehicleRole, VehicleLength, VehicleWidth, PathHistory, RoadworksSubCauseCode, ClosedLanes, TrafficRule, SpeedLimit, SteeringWheelAngle, YawRate FROM ITS-Container {
ItsPduHeader, CauseCode, ReferencePosition, AccelerationControl, Curvature, CurvatureCalculationMode, Heading, LanePosition, EmergencyPriority, EmbarkationStatus, Speed, DriveDirection, LongitudinalAcceleration, LateralAcceleration, VerticalAcceleration, StationType, ExteriorLights, DangerousGoodsBasic, SpecialTransportType, LightBarSirenInUse, VehicleRole, VehicleLength, VehicleWidth, PathHistory, RoadworksSubCauseCode, ClosedLanes, TrafficRule, SpeedLimit, SteeringWheelAngle, PerformanceClass, YawRate, ProtectedCommunicationZone, PtActivation, Latitude, Longitude, ProtectedCommunicationZonesRSU, CenDsrcTollingZone FROM ITS-Container {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) 
};

@@ -17,10 +17,8 @@ IMPORTS
CAM ::= SEQUENCE {
	header ItsPduHeader,
	cam CoopAwareness

}


CoopAwareness ::= SEQUENCE {
	generationDeltaTime GenerationDeltaTime,
	camParameters CamParameters
@@ -36,13 +34,13 @@ CAM ::= SEQUENCE {

HighFrequencyContainer ::= CHOICE {
	basicVehicleContainerHighFrequency BasicVehicleContainerHighFrequency,
  emptyRSUContainerHighFrequency EmptyRSUContainerHighFrequency,
  ...  -- further type specific RSU containers might be added as extensions  
	rsuContainerHighFrequency RSUContainerHighFrequency,
	...
}

 LowFrequencyContainer ::= CHOICE {
  basicVehicleContainerLowFrequency BasicVehicleContainerLowFrequency,
  ...  -- further type specific RSU containers might be added as extensions  
	...
}

SpecialVehicleContainer ::= CHOICE {
@@ -73,11 +71,12 @@ CAM ::= SEQUENCE {
	curvatureCalculationMode CurvatureCalculationMode,
	yawRate YawRate,
	accelerationControl AccelerationControl OPTIONAL,
  laneNumber LaneNumber OPTIONAL,
	lanePosition LanePosition OPTIONAL,
	steeringWheelAngle SteeringWheelAngle OPTIONAL,
	lateralAcceleration LateralAcceleration OPTIONAL,
	verticalAcceleration VerticalAcceleration OPTIONAL,
  performanceClass PerformanceClass OPTIONAL
	performanceClass PerformanceClass OPTIONAL,
	cenDsrcTollingZone CenDsrcTollingZone OPTIONAL
}

BasicVehicleContainerLowFrequency  ::= SEQUENCE {
@@ -107,8 +106,7 @@ CAM ::= SEQUENCE {
 }

RescueContainer ::= SEQUENCE {
  lightBarSirenInUse LightBarSirenInUse,
  emergencyPriority EmergencyPriority OPTIONAL
	lightBarSirenInUse LightBarSirenInUse
}

EmergencyContainer ::= SEQUENCE {
@@ -124,10 +122,11 @@ CAM ::= SEQUENCE {
	speedLimit SpeedLimit OPTIONAL
}

 EmptyRSUContainerHighFrequency ::= NULL
RSUContainerHighFrequency ::= SEQUENCE {
	protectedCommunicationZonesRSU ProtectedCommunicationZonesRSU OPTIONAL,
	...
}

GenerationDeltaTime ::= INTEGER { oneMilliSec(1) } (0..65535)

 
END
 No newline at end of file
+501 −0
Original line number Diff line number Diff line
ITS-Container {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) 
}

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

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

StationID ::= INTEGER(0..4294967295)

ReferencePosition ::= SEQUENCE {
	latitude Latitude,
	longitude Longitude,
	positionConfidenceEllipse PosConfidenceEllipse ,
	altitude Altitude
}

DeltaReferencePosition ::= SEQUENCE {
	deltaLatitude DeltaLatitude,
	deltaLongitude DeltaLongitude,
	deltaAltitude DeltaAltitude
}

Longitude ::= INTEGER {oneMicrodegreeEast (10), oneMicrodegreeWest (-10), unavailable(1800000001)} (-1800000000..1800000001)

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

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

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

AltitudeConfidence ::= ENUMERATED {
	alt-000-01 (0),
	alt-000-02 (1),
	alt-000-05 (2),
	alt-000-10 (3),
	alt-000-20 (4),
	alt-000-50 (5),
	alt-001-00 (6),
	alt-002-00 (7),
	alt-005-00 (8),
	alt-010-00 (9),
	alt-020-00 (10),
	alt-050-00 (11),
	alt-100-00 (12),
	alt-200-00 (13),
	outOfRange (14),
	unavailable (15)
}

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

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

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

PosConfidenceEllipse ::= SEQUENCE {
	semiMajorConfidence SemiAxisLength,
	semiMinorConfidence SemiAxisLength,
	semiMajorOrientation HeadingValue
}

PathPoint ::= SEQUENCE {
	pathPosition DeltaReferencePosition,
	pathDeltaTime PathDeltaTime OPTIONAL
}

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

PtActivation ::= SEQUENCE {
	ptActivationType PtActivationType,
	ptActivationData PtActivationData
}

PtActivationType ::= INTEGER {undefinedCodingType(0), r09-16CodingType(1), vdv-50149CodingType(2)} (0..255)

PtActivationData ::= OCTET STRING (SIZE(1..20))

AccelerationControl ::= BIT STRING {
	brakePedalEngaged (0),
	gasPedalEngaged (1),
	emergencyBrakeEngaged (2),
	collisionWarningEngaged (3),
	accEngaged (4),
	cruiseControlEngaged (5),
	speedLimiterEngaged (6)
} (SIZE(7))


SemiAxisLength ::= INTEGER{oneCentimeter(1), outOfRange(4094), unavailable(4095)} (0..4095)

CauseCode ::= SEQUENCE {
	causeCode CauseCodeType,
	subCauseCode SubCauseCodeType
}

CauseCodeType ::= INTEGER {
	reserved (0),
	trafficCondition (1),
	accident (2),
	roadworks (3),
	adverseWeatherCondition-Adhesion (6),
	hazardousLocation-SurfaceCondition (9),
	hazardousLocation-ObstacleOnTheRoad (10),
	hazardousLocation-AnimalOnTheRoad (11),
	humanPresenceOnTheRoad (12),
	wrongWayDriving (14),
	rescueAndRecoveryWorkInProgress (15),
	adverseWeatherCondition-ExtremeWeatherCondition (17),
	adverseWeatherCondition-Visibility (18),
	adverseWeatherCondition-Precipitation (19),
	slowVehicle (26),
	dangerousEndOfQueue (27),
	vehicleBreakdown (91),
	postCrash (92),
	humanProblem (93),
	stationaryVehicle (94),
	emergencyVehicleApproaching (95),
	hazardousLocation-DangerousCurve (96),
	collisionRisk (97),
	signalViolation (98),
	dangerousSituation (99)
} (0..255)

SubCauseCodeType ::= INTEGER (0..255)

TrafficConditionSubCauseCode ::= INTEGER {unavailable(0), increasedVolumeOfTraffic(1), trafficJamSlowlyIncreasing(2), trafficJamIncreasing(3), trafficJamStronglyIncreasing(4), trafficStationary(5), trafficJamSlightlyDecreasing(6), trafficJamDecreasing(7), trafficJamStronglyDecreasing(8)} (0..255)

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), shortTermStationaryRoadworks(4), streetCleaning(5), winterService(6)} (0..255)

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

WrongWayDrivingSubCauseCode ::= INTEGER {unavailable(0), wrongLane(1), wrongDirection(2)} (0..255)

AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode ::= INTEGER {unavailable(0), strongWinds(1), damagingHail(2), hurricane(3), thunderstorm(4), tornado(5), blizzard(6)} (0..255)

AdverseWeatherCondition-AdhesionSubCauseCode ::= INTEGER {unavailable(0), heavyFrostOnRoad(1), fuelOnRoad(2), mudOnRoad(3), snowOnRoad(4), iceOnRoad(5), blackIceOnRoad(6), oilOnRoad(7), looseChippings(8), instantBlackIce(9), roadsSalted(10)} (0..255)

AdverseWeatherCondition-VisibilitySubCauseCode ::= INTEGER {unavailable(0), fog(1), smoke(2), heavySnowfall(3), heavyRain(4), heavyHail(5), lowSunGlare(6), sandstorms(7), swarmsOfInsects(8)} (0..255)

AdverseWeatherCondition-PrecipitationSubCauseCode ::= INTEGER {unavailable(0), heavyRain(1), heavySnowfall(2), softHail(3)} (0..255)

SlowVehicleSubCauseCode ::= INTEGER {unavailable(0), maintenanceVehicle(1), vehiclesSlowingToLookAtAccident(2), abnormalLoad(3), abnormalWideLoad(4), convoy(5), snowplough(6), deicing(7), saltingVehicles(8)} (0..255)
 
StationaryVehicleSubCauseCode ::= INTEGER {unavailable(0), humanProblem(1), vehicleBreakdown(2), postCrash(3), publicTransportStop(4), carryingDangerousGoods(5)} (0..255)

HumanProblemSubCauseCode ::= INTEGER {unavailable(0), glycemiaProblem(1), heartProblem(2)} (0..255)

EmergencyVehicleApproachingSubCauseCode ::= INTEGER {unavailable(0), emergencyVehicleApproaching(1), prioritizedVehicleApproaching(2)} (0..255)

HazardousLocation-DangerousCurveSubCauseCode ::= INTEGER {unavailable(0), dangerousLeftTurnCurve(1), dangerousRightTurnCurve(2), multipleCurvesStartingWithUnknownTurningDirection(3), multipleCurvesStartingWithLeftTurn(4), multipleCurvesStartingWithRightTurn(5)} (0..255)

HazardousLocation-SurfaceConditionSubCauseCode ::= INTEGER {unavailable(0), rockfalls(1), earthquakeDamage(2), sewerCollapse(3), subsidence(4), snowDrifts(5), stormDamage(6), burstPipe(7), volcanoEruption(8), fallingIce(9)} (0..255)

HazardousLocation-ObstacleOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), shedLoad(1), partsOfVehicles(2), partsOfTyres(3), bigObjects(4), fallenTrees(5), hubCaps(6), waitingVehicles(7)} (0..255)

HazardousLocation-AnimalOnTheRoadSubCauseCode ::= INTEGER {unavailable(0), wildAnimals(1), herdOfAnimals(2), smallAnimals(3), largeAnimals(4)} (0..255)

 CollisionRiskSubCauseCode ::= INTEGER {unavailable(0), longitudinalCollisionRisk(1), crossingCollisionRisk(2), lateralCollisionRisk(3), vulnerableRoadUser(4)} (0..255)
 
 SignalViolationSubCauseCode ::= INTEGER {unavailable(0), stopSignViolation(1), trafficLightViolation(2), turningRegulationViolation(3)} (0..255)

RescueAndRecoveryWorkInProgressSubCauseCode ::= INTEGER {unavailable(0), emergencyVehicles(1), rescueHelicopterLanding(2), policeActivityOngoing(3), medicalEmergencyOngoing(4), childAbductionInProgress(5)} (0..255)

DangerousEndOfQueueSubCauseCode ::= INTEGER {unavailable(0), suddenEndOfQueue(1), queueOverHill(2), queueAroundBend(3), queueInTunnel(4)} (0..255)

DangerousSituationSubCauseCode ::= INTEGER {unavailable(0), emergencyElectronicBrakeEngaged(1), preCrashSystemEngaged(2), espEngaged(3), absEngaged(4), aebEngaged(5), brakeWarningEngaged(6), collisionRiskWarningEngaged(7)} (0..255)

VehicleBreakdownSubCauseCode ::= INTEGER {unavailable(0), lackOfFuel (1), lackOfBatteryPower (2), engineProblem(3), transmissionProblem(4), engineCoolingProblem(5), brakingSystemProblem(6), steeringProblem(7), tyrePuncture(8)} (0..255)

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

Curvature ::= SEQUENCE {
 curvatureValue CurvatureValue,
 curvatureConfidence CurvatureConfidence
}

CurvatureValue ::= INTEGER {straight(0), reciprocalOf1MeterRadiusToRight(-30000), reciprocalOf1MeterRadiusToLeft(30000), unavailable(30001)} (-30000..30001)

CurvatureConfidence ::= ENUMERATED {
	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), unavailable(2), ...}

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

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

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

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

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

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

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


PerformanceClass ::= INTEGER {unavailable(0), performanceClassA(1), performanceClassB(2)} (0..7)

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

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

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

Speed ::= SEQUENCE {
	speedValue SpeedValue,
	speedConfidence SpeedConfidence
}

DriveDirection ::= ENUMERATED {forward (0), backward (1), unavailable (2)}

EmbarkationStatus ::= BOOLEAN

LongitudinalAcceleration ::= SEQUENCE {
	longitudinalAccelerationValue LongitudinalAccelerationValue,
	longitudinalAccelerationConfidence AccelerationConfidence
}

LongitudinalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredForward(1), pointOneMeterPerSecSquaredBackward(-1), unavailable(161)} (-160 .. 161)

AccelerationConfidence ::= INTEGER {pointOneMeterPerSecSquared(1), outOfRange(101), unavailable(102)} (0 .. 102)

LateralAcceleration ::= SEQUENCE {
	lateralAccelerationValue LateralAccelerationValue,
	lateralAccelerationConfidence AccelerationConfidence
}

LateralAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredToRight(-1), pointOneMeterPerSecSquaredToLeft(1), unavailable(161)} (-160 .. 161)

VerticalAcceleration ::= SEQUENCE {
	verticalAccelerationValue VerticalAccelerationValue,
	verticalAccelerationConfidence AccelerationConfidence
}

VerticalAccelerationValue ::= INTEGER {pointOneMeterPerSecSquaredUp(1), pointOneMeterPerSecSquaredDown(-1), unavailable(161)} (-160 .. 161)

StationType ::= INTEGER {unknown(0), pedestrian(1), cyclist(2), moped(3), motorcycle(4), passengerCar(5), bus(6), 
lightTruck(7), heavyTruck(8), trailer(9), specialVehicles(10), tram(11), roadSideUnit(15)} (0..255)

ExteriorLights ::= BIT STRING {
	lowBeamHeadlightsOn      (0),
	highBeamHeadlightsOn     (1),
	leftTurnSignalOn         (2),
	rightTurnSignalOn        (3),
	daytimeRunningLightsOn   (4),
	reverseLightOn           (5),
	fogLightOn               (6),
	parkingLightsOn          (7)
} (SIZE(8))

DangerousGoodsBasic::= ENUMERATED {
	explosives1(0),
	explosives2(1),
	explosives3(2),
	explosives4(3),
	explosives5(4),
	explosives6(5),
	flammableGases(6),
	nonFlammableGases(7),
	toxicGases(8),
	flammableLiquids(9),
	flammableSolids(10),
	substancesLiableToSpontaneousCombustion(11),
	substancesEmittingFlammableGasesUponContactWithWater(12),
	oxidizingSubstances(13),
	organicPeroxides(14),
	toxicSubstances(15),
	infectiousSubstances(16),
	radioactiveMaterial(17),
	corrosiveSubstances(18),
	miscellaneousDangerousSubstances(19)
}

DangerousGoodsExtended ::= SEQUENCE {
	dangerousGoodsType DangerousGoodsBasic,
	unNumber INTEGER (0..9999),
	elevatedTemperature BOOLEAN,
	tunnelsRestricted BOOLEAN,
	limitedQuantity BOOLEAN,
	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))

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

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

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

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

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

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

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

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

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

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

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

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

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

PositionOfOccupants ::= BIT STRING {
	row1LeftOccupied (0),
	row1RightOccupied (1),
	row1MidOccupied (2),
	row1NotDetectable (3),
	row1NotPresent (4),
	row2LeftOccupied (5),
	row2RightOccupied (6),
	row2MidOccupied (7),
	row2NotDetectable (8),
	row2NotPresent (9),
	row3LeftOccupied (10),
	row3RightOccupied (11),
	row3MidOccupied (12),
	row3NotDetectable (13),
	row3NotPresent (14),
	row4LeftOccupied (15),
	row4RightOccupied (16),
	row4MidOccupied (17),
	row4NotDetectable (18),
	row4NotPresent (19)} (SIZE(20))

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

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

WMInumber ::= IA5String (SIZE(1..3))

VDS ::= IA5String (SIZE(6))

EnergyStorageType ::= BIT STRING {hydrogenStorage(0), electricEnergyStorage(1), liquidPropaneGas(2), compressedNaturalGas(3), diesel(4), gasoline(5), ammonia(6)} (SIZE(7))

VehicleLength ::= SEQUENCE {
	vehicleLengthValue VehicleLengthValue,
	vehicleLengthConfidenceIndication VehicleLengthConfidenceIndication
}

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

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..40)) OF PathPoint

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

InformationQuality ::= INTEGER {unavailable(0), lowest(1), highest(7)} (0..7)

RoadType ::= ENUMERATED {
	urban-NoStructuralSeparationToOppositeLanes(0),
	urban-WithStructuralSeparationToOppositeLanes(1),
	nonUrban-NoStructuralSeparationToOppositeLanes(2),
	nonUrban-WithStructuralSeparationToOppositeLanes(3)}

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

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

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

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), 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)} (-32766..32767)

YawRateConfidence ::= ENUMERATED {
	degSec-000-01 (0),
	degSec-000-05 (1),
	degSec-000-10 (2),
	degSec-001-00 (3),
	degSec-005-00 (4),
	degSec-010-00 (5),
	degSec-100-00 (6),
	outOfRange (7),
	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
+59 −78

File changed.

Preview size limit exceeded, changes collapsed.

+1777 −0

File added.

Preview size limit exceeded, changes collapsed.

+21 −0
Original line number Diff line number Diff line
MAP-SPAT-CEN DEFINITIONS AUTOMATIC TAGS ::= 

BEGIN

IMPORTS 
   MapData, SpatData FROM DSRC
   ItsPduHeader FROM ITS-Container;

MAP ::= SEQUENCE
{
	header	ItsPduHeader,
	map		MapData
}

SPAT ::= SEQUENCE
{
	header	ItsPduHeader,
	spat	SpatData
}

END
Loading