Commit 2d839b39 authored by kovacsa's avatar kovacsa
Browse files

asn1 update

parent 05602c31
Loading
Loading
Loading
Loading
+115 −35
Original line number Diff line number Diff line
@@ -18,8 +18,7 @@ ReferencePosition ::= SEQUENCE {
  latitude Latitude,
  longitude Longitude,
  positionConfidenceEllipse PosConfidenceEllipse ,
  elevation Elevation,
  elevationConfidence ElevationConfidence
  elevation Elevation
}

DeltaReferencePosition ::= SEQUENCE {
@@ -32,7 +31,14 @@ Longitude ::= INTEGER { oneMicrodegreeEast (10), oneMicrodegreeWest (-10) } (-18

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

Elevation ::= INTEGER { seaLevel(0),oneMeter (1) } (-1000..7191)
Elevation ::= SEQUENCE {
 elevationValue ElevationValue,
 elevationConfidence ElevationConfidence
}

ElevationValue ::= INTEGER { seaLevel(0),oneMeter (1) } (-1000..7191)

ElevationConfidence ::= INTEGER { withinOneMeter(1), notValid(127) } (1..127)

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

@@ -72,64 +78,107 @@ SemiAxisLength ::= INTEGER{ oneCentimeter(1), notValid(4095) } (0..4095)
  trafficCondition TrafficConditionSubCauseCode,
  accident AccidentSubCauseCode,
  roadworks RoadworksSubCauseCode,
  peopleOnTheRoad PeopleOnTheRoadSubCauseCode,
  wrongWayDrivingWarning NULL,
  adverseWeatherConditionIndication AdverseWeatherConditionIndicationSubCauseCode,
  visibilityReduced VisibilityReducedSubCauseCode,
  precipitation PrecipitationSubCauseCode,
  slowVehicleWarning SlowVehicleWarningSubCauseCode,
  stationaryVehicleIndication StationaryVehicleIndicationSubCauseCode,
  humanPresenceOnTheRoad HumanPresenceOnTheRoadSubCauseCode,
  wrongWayDriving WrongWayDrivingSubCauseCode,
  adverseWeatherCondition-ExtremeWeatherCondition AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode,
  adverseWeatherCondition-Adhesion AdverseWeatherCondition-AdhesionSubCauseCode,
  adverseWeatherCondition-Visibility AdverseWeatherCondition-VisibilitySubCauseCode,
  adverseWeatherCondition-Precipitation AdverseWeatherCondition-PrecipitationSubCauseCode,
  slowVehicle SlowVehicleSubCauseCode,
  stationaryVehicle StationaryVehicleSubCauseCode,
  humanProblem HumanProblemSubCauseCode,
  emergencyVehicleApproachingIndication EmergencyVehicleApproachingIndicationSubCauseCode,
  hazardousLocation HazardousLocationSubCauseCode,
  collisionRiskWarning CollisionRiskWarningSubCauseCode,
  signalViolationWarning SignalViolationWarningSubCauseCode,
  emergencyVehicleApproaching EmergencyVehicleApproachingSubCauseCode,
  hazardousLocation-DangerousCurve HazardousLocation-DangerousCurveSubCauseCode,
  hazardousLocation-SurfaceCondition HazardousLocation-SurfaceConditionSubCauseCode,
  hazardousLocation-ObstacleOnTheRoad HazardousLocation-ObstacleOnTheRoadSubCauseCode,
  hazardousLocation-AnimalOnTheRoadCurve HazardousLocation-AnimalOnTheRoadSubCauseCode,
  collisionRisk CollisionRiskSubCauseCode,
  signalViolation SignalViolationSubCauseCode,
  emergencyElectronicBrakeLights EmergencyElectronicBrakeLightsSubCauseCode,
  rescueAndRecoveryWorkInProgress RescueAndRecoveryWorkInProgressSubCauseCode,
  dangerousEndOfQueue DangerousEndOfQueueSubCauseCode,
  dangerousDriving DangerousDrivingSubCauseCode,
  vehicleBreakdown VehicleBreakdownSubCauseCode,
  postCrash PostCrashSubCauseCode
  ...
 }

 TrafficConditionSubCauseCode ::= INTEGER {unknown(0), increasedVolumeOfTraffic(1) }  (0..1, ...)
 TrafficConditionSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), increasedVolumeOfTraffic(1), trafficJamSlowlyIncreasing(2), trafficJamIncreasing(3), trafficJamStronglyIncreasing(4), trafficStationary(5), trafficJamSlightlyDecreasing(6), trafficJamDecreasing(7), trafficJamStronglyDecreasing(8) }  (0..8, ...)
 
 AccidentSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), multiVehicleAccident(1), heavyAccident(2), accidentInvolvingLorry(3), accidentInvolvingBus(4), accidentInvolvingHazardousMaterials(5), accidentOnOppositeLane(6), unsecuredAccident(7), assistanceRequested(8) } (0..8, ...)
 
 RoadworksSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), majorRoadworks(1), roadMarkingWork(2), slowMovingRoadMaintenance(3) }  (0..3, ...)
 
 HumanPresenceOnTheRoadSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), childrenOnRoadway(1), cyclistOnRoadway(2), motorcyclistOnRoadway(3) }  (0..3, ...)
 
 WrongWayDrivingSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), wrongLane(1), wrongDirection(2) }  (0..2, ...)
 
 AccidentSubCauseCode ::= INTEGER {unknown(0), multiVehicleAccident(1), heavyAccident(2), accidentInvolvingLorry(3), accidentInvolvingBus(4), accidentInvolvingHazardousMaterials(5), accidentOnOppositeLane(6), unsecuredAccident(7), assistanceRequested(8) } (0..8, ...)
 AdverseWeatherCondition-ExtremeWeatherConditionSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), strongWinds(1), damagingHail(2), hurricane(3), thunderstorm(4), tornado(5), blizzard(6) }  (0..6, ...)
 
 RoadworksSubCauseCode ::= INTEGER {unknown(0), majorRoadworks(1), roadMarkingWork(2), slowMovingRoadMaintenance(3) }  (0..3, ...)
 AdverseWeatherCondition-AdhesionSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), heavyFrostOnRoad(1), fuelOnRoad(2), mudOnRoad(3), snowOnRoad(4), iceOnRoad(5), blackIceOnRoad(6), oilOnRoad(7), looseChippings(8), instantBlackIce(9), roadsSalted(10) }  (0..10, ...)
 
 PeopleOnTheRoadSubCauseCode ::= INTEGER {unknown(0), childrenOnRoadway(1), cyclistOnRoadway(2), motorcyclistOnRoadway(3) }  (0..3, ...)
 AdverseWeatherCondition-VisibilitySubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), fog(1), smoke(2), heavySnowfall(3), heavyRain(4), heavyHail(5), lowSunGlare(6), sandstorms(7), swarmsOfInsects(8) }  (0..8, ...)
 
 AdverseWeatherConditionIndicationSubCauseCode ::= INTEGER {unknown(0), strongWinds(1), damagingHail(2), hurricane(3), thunderstorm(4), tornado(5), blizzard(6) }  (0..6, ...)
 AdverseWeatherCondition-PrecipitationSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), heavyRain(1), heavySnowfall(2), softHail(3) }  (0..3, ...)
 
 VisibilityReducedSubCauseCode ::= INTEGER {unknown(0), fog(1), smoke(2), heavySnowfall(3), heavyRain(4), heavyHail(5), lowSunGlare(6), sandstorms(7), swarmsOfInsects(8) }  (0..8, ...)
 SlowVehicleSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), maintenanceVehicle(1), vehiclesSlowingToLookAtAccident(2), abnormalLoad(3), abnormalWideLoad(4), convoy(5), snowplough(6), deicing(7), saltingVehicles(8) }  (0..8, ...)
 
 PrecipitationSubCauseCode ::= INTEGER {unknown(0), heavyRain(1), heavySnowfall(2), heavyHail(3) }  (0..3, ...)
 StationaryVehicleSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0),  humanProblem(1), vehicleBreakdown(2), postCrash(3), publicTransportStop(4), carryingDangerousGoods(5) }  (0..5, ...)
 
 SlowVehicleWarningSubCauseCode ::= INTEGER {unknown(0), maintenanceVehicle(1), vehiclesSlowingToLookAtAccident(2), abnormalLoad(3), abnormalWideLoad(4), convoy(5), snowplough(6), deicing(7), saltingVehicles(8) }  (0..8, ...)
 HumanProblemSubCauseCode ::= INTEGER { noSpecificInformationAvailable(0), unknownHumanProblem(1), glycemiaProblem(2), heartProblem(3) } (0..3, ...)
 
 StationaryVehicleIndicationSubCauseCode ::= INTEGER {unknown(0),  accidentSignalledByManualECall(1), accidentSignalledByAutomaticECall(2), unknownVehicleProblem(3), lackOfFuel(4), lackOfBattery(5), engineProblem(6), transmissionProblem(7), engineCoolingProblem(8), brakingSystemProblem(9), steeringProblem(10), tyrePressureProblem(11) }  (0..11, ...)
 EmergencyVehicleApproachingSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), emergencyVehicleApproaching(1), prioritizedVehicleApproaching(2) }  (0..2, ...)
 
 HumanProblemSubCauseCode ::= INTEGER { unknown(0), unknownHumanProblem(1), glycemiaProblem(2), heartProblem(3) } (0..3, ...)
 HazardousLocation-DangerousCurveSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), dangerousLeftTurnCurve(1), dangerousRightTurnCurve(2), multipleCurvesStartingWithUnknownTurningDirection(3), multipleCurvesStartingWithLeftTurn(4), multipleCurvesStartingWithRightTurn(5) }  (0..5, ...)
 
 EmergencyVehicleApproachingIndicationSubCauseCode ::= INTEGER {unknown(0), emergencyVehicleApproaching(1), prioritizedVehicleApproaching(2) }  (0..2, ...)
 HazardousLocation-SurfaceConditionSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), rockfalls(1), earthquakeDamage(2), sewerCollapse(3), subsidence(4), snowDrifts(5), stormDamage(6), burstPipe(7), volcanoEruption(8), fallingIce(9) }  (0..9, ...)
 
 HazardousLocationSubCauseCode ::= INTEGER {unknown(0), dangerousCurve(1) }  (0..1, ...)
 HazardousLocation-ObstacleOnTheRoadSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), shedLoad(1), partsOfVehicles(2), partsOfTyres(3), bigObjects(4), fallenTrees(5), hubCaps(6), waitingVehicles(7) }  (0..7, ...)
 
 CollisionRiskWarningSubCauseCode ::= INTEGER {unknown(0), longitudinalCollisionRisk(1), crossingCollisionRisk(2), lateralCollisionRisk(3), vulnerableRoadUser(4) }  (0..4, ...)
 HazardousLocation-AnimalOnTheRoadSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), wildAnimals(1), herdOfAnimals(2), smallAnimals(3), largeAnimals(4) }  (0..4, ...)

 SignalViolationWarningSubCauseCode ::= INTEGER {unknown(0), stopSignViolation(1), trafficLightViolation(2), turningRegulationViolation(3) }  (0..3, ...)
 CollisionRiskSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), longitudinalCollisionRisk(1), crossingCollisionRisk(2), lateralCollisionRisk(3), vulnerableRoadUser(4) }  (0..4, ...)
 
 EmergencyElectronicBrakeLightsSubCauseCode ::= INTEGER {unknown(0), hardBrakingVehicle(1) }  (0..1, ...)
 SignalViolationSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), stopSignViolation(1), trafficLightViolation(2), turningRegulationViolation(3) }  (0..3, ...)
 
 EmergencyElectronicBrakeLightsSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), hardBrakingVehicle(1) }  (0..1, ...)

Curvature ::= INTEGER{ straight(0), reciprocalOf1MeterRadiusToRight(1), reciprocalOf1MeterRadiusToLeft(-1) } (-30000..30000)
 RescueAndRecoveryWorkInProgressSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), emergencyVehicles(1), rescueHelicopterLanding(2), policeActivityOngoing(3), medicalEmergencyOngoing(4), childAbductionInProgress(5) }  (0..5, ...)

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

 DangerousDrivingSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), emergencyElectronicBrake(1), preCrashSystemActivated(2), espActivated(3), absActivated(4), aebActivated(5), brakeWarningActivated(6), collisionRiskWarningActivated(7) }  (0..7, ...)
 
 VehicleBreakdownSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), lackOfFuel (1), lackOfBatteryPower (2), engineProblem(3), transmissionProblem(4), engineCoolingProblem(5), brakingSystemProblem(6), steeringProblem(7), tyrePuncture(8)} (0..8, ...)
 
 PostCrashSubCauseCode ::= INTEGER {noSpecificInformationAvailable(0), accidentWithoutECallTriggered (1), accidentWithECallManuallyTriggered (2), accidentWithECallAutomaticallyTriggered (3), accidentWithECallTriggeredWithoutAccessToCellularNetwork(4)} (0..4, ...)


Curvature ::= SEQUENCE {
 curvatureValue CurvatureValue,
 curvatureConfidence CurvatureConfidence
}
 
CurvatureValue ::= INTEGER{ straight(0), reciprocalOf1MeterRadiusToRight(1), reciprocalOf1MeterRadiusToLeft(-1) } (-30000..30000)

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

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

Direction ::= INTEGER {north(0), east(900), south(1800), west(2700)} (0..3599)
Direction ::= SEQUENCE {
 directionValue DirectionValue,
 directionConfidence DirectionConfidence
}

DirectionValue ::= INTEGER {north(0), east(900), south(1800), west(2700)} (0..3599)

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

ElevationConfidence ::= INTEGER { withinOneMeter(1), notValid(127) } (1..127)
LaneCount ::= SEQUENCE {
 laneNumber LaneNumber,
 laneNumberConfidence LaneNumberConfidence
}


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

@@ -154,7 +203,18 @@ DriveDirection ::= ENUMERATED { forward (0), backward (1) }

EmbarkationStatus ::= BOOLEAN

LongitudinalAcceleration ::= INTEGER { pointOneMeterPerSecSquared(1), notValid (160)} (-160 .. 160)
LongitudinalAcceleration ::= SEQUENCE {
 longitudinalAccelerationValue LongitudinalAccelerationValue,
 longitudinalAccelerationConfidence LongitudinalAccelerationConfidence
}

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

LongitudinalAccelerationConfidence ::= INTEGER { pointOneMeterPerSecSquared(1), outOfRange(101), notValid(102)} (0 .. 102)

LateralAcceleration ::= INTEGER { pointOneMeterPerSecSquaredToRight(1), pointOneMeterPerSecSquaredToLeft(-1)} (-160 .. 160)

VerticalAcceleration ::= INTEGER { eightCentimeterPerSecSquaredUp(1), eightCentimeterPerSecSquaredDown(-1)} (-126 .. 127)

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)
@@ -199,7 +259,7 @@ DangerousGoodsExtended ::= SEQUENCE {
   unNumber            INTEGER (0..9999),
   emergencyActionCode IA5String OPTIONAL,
   phoneNumber         IA5String OPTIONAL,
   companyName         IA5String OPTIONAL,
   companyName         UTF8String OPTIONAL,
   elevatedTemperature BOOLEAN,
   tunnelsRestricted   BOOLEAN,
   limitedQuantity     BOOLEAN
@@ -251,7 +311,25 @@ PositionOfOccupants ::= BIT STRING {
 tier3MidOccupied     (8)
}

VehicleLength  ::= INTEGER { tenCentimeters(1), outOfRange(1022), unknown(1023) }  (1..1023)
PositioningSolutionType ::= ENUMERATED { noPositioningSolution(0), SGNSS(1), DGNSS(2), SGNSSplusDR(3), DGNSSplusDR(4), DR(5), ... }

VehicleIdentification ::= SEQUENCE {
 wMInumber WMInumber,
 vDS VDS
}
 
WMInumber ::= IA5String (SIZE(1..3))

VDS ::= IA5String (SIZE(6))

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

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

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

VehicleLengthConfidenceIndication ::= ENUMERATED { noTrailerPresent(0), trailerPresentWithUnknownLength(1), 
trailerPresenceIsUnknown(2) }
@@ -277,6 +355,8 @@ highway(5),
reserved(6), 
unknown(7) }

SteeringWheelAngle  ::= INTEGER { straight(0), onePointFiveDegreesToRight(1), onePointFiveDegreesToLeft(-1), 189degreesAndBeyondToRight(126), 189degreesAndBeyondToLeft(-126), unavailable(127) }  (-126..127)

TimestampUtc ::= TIME (SETTINGS "Basic=Date-Time Date=YMD Year=Basic Time=HMSF3 Local-or-UTC=Z")

VehicleRole ::= ENUMERATED { default(0),