Commit 05602c31 authored by kovacsa's avatar kovacsa
Browse files

asn1 update

parent 6e553b48
Loading
Loading
Loading
Loading
+62 −48
Original line number Diff line number Diff line
ITS-Container {
 itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102637) cc (0) version (2) 
 itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (302637) cc (0) version (1) 
}

DEFINITIONS AUTOMATIC TAGS ::= 

BEGIN


ItsPduHeader ::= SEQUENCE {
	protocolVersion		INTEGER{ currentVersion(2) } (0..255),
	protocolVersion		INTEGER{ currentVersion(1) } (0..255),
	messageID 		INTEGER{ denm(1),cam(2), poi(3) } (0..255),
	stationID StationID
}
@@ -29,11 +28,11 @@ DeltaReferencePosition ::= SEQUENCE {
  deltaElevation DeltaElevation
}

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

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

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

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

@@ -50,7 +49,7 @@ PosConfidenceEllipse ::= SEQUENCE {

PathPoint ::= SEQUENCE {
 pathPosition DeltaReferencePosition,
 pathDeltaTime PathDeltaTime
 pathDeltaTime PathDeltaTime OPTIONAL -- omitted for path  recommended by infrastructure 
}

PathDeltaTime ::= INTEGER { tenMilliSecondsInPast(1) } (0..65535, ...)    -- timing of predicted future path will be using the range extension
@@ -80,6 +79,7 @@ SemiAxisLength ::= INTEGER{ oneCentimeter(1), notValid(4095) } (0..4095)
  precipitation PrecipitationSubCauseCode,
  slowVehicleWarning SlowVehicleWarningSubCauseCode,
  stationaryVehicleIndication StationaryVehicleIndicationSubCauseCode,
  humanProblem HumanProblemSubCauseCode,
  emergencyVehicleApproachingIndication EmergencyVehicleApproachingIndicationSubCauseCode,
  hazardousLocation HazardousLocationSubCauseCode,
  collisionRiskWarning CollisionRiskWarningSubCauseCode,
@@ -104,7 +104,9 @@ SemiAxisLength ::= INTEGER{ oneCentimeter(1), notValid(4095) } (0..4095)
 
 SlowVehicleWarningSubCauseCode ::= INTEGER {unknown(0), maintenanceVehicle(1), vehiclesSlowingToLookAtAccident(2), abnormalLoad(3), abnormalWideLoad(4), convoy(5), snowplough(6), deicing(7), saltingVehicles(8) }  (0..8, ...)
 
 StationaryVehicleIndicationSubCauseCode ::= INTEGER {unknown(0), unknownHumanProblem(1), glycemiaProblem(2), heartProblem(3), accidentSignalledByManualECall(4), accidentSignalledByAutomaticECall(5), unknownVehicleProblem(6), lackOfFuel(7), lackOfBattery(8), engineProblem(9), transmissionProblem(10), engineCoolingProblem(11), brakingSystemProblem(12), steeringProblem(13), tyrePressureProblem(14) }  (0..14, ...)
 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, ...)
 
 HumanProblemSubCauseCode ::= INTEGER { unknown(0), unknownHumanProblem(1), glycemiaProblem(2), heartProblem(3) } (0..3, ...)
 
 EmergencyVehicleApproachingIndicationSubCauseCode ::= INTEGER {unknown(0), emergencyVehicleApproaching(1), prioritizedVehicleApproaching(2) }  (0..2, ...)
 
@@ -119,17 +121,15 @@ SemiAxisLength ::= INTEGER{ oneCentimeter(1), notValid(4095) } (0..4095)

Curvature ::= INTEGER{ straight(0), reciprocalOf1MeterRadiusToRight(1), reciprocalOf1MeterRadiusToLeft(-1) } (-30000..30000)

CurvatureChange  ::=  INTEGER{ noChange(0) } (-1020..1020)	-- removing this type is under discussion

CurvatureAccuracy ::= INTEGER { lessThanOnePercentDeviation(0), onePercentDeviatfion(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), ... }

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

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

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

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

@@ -139,9 +139,9 @@ LaneNumberConfidence ::= Percentage

Percentage ::= INTEGER (0..100)

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

VehicleSpeedConfidence ::= INTEGER { notValid(127) } (0..127)
VehicleSpeedConfidence ::= INTEGER { withinOneCentimeterPerSec(1), withinOneMeterPerSec(100), outOfRange(126), notValid(127) } (1..127)

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

@@ -164,22 +164,47 @@ ExteriorLights ::= BIT STRING {
 highBeamHeadlightsOn     (1),
 leftTurnSignalOn         (2),
 rightTurnSignalOn        (3), 
 
 daytimeRunningLightsOn   (4),
 

 reverseLightOn           (5),
 

 fogLightOn               (6),
 


 parkingLightsOn          (7)
} (SIZE(8))


DangerousGoods ::= ENUMERATED { unknown(0), explosives(1), flammableGases(2), toxicGases(3), flammableLiquids(4), flammalbeSolids(5), substancesLiableToSpontaneousCombustion(6), substancesEmittingFlammableGasesUponContactWithWater(7), oxidizingSubstances(8), organicPeroxides(9), toxicSubstances(10), infectiousSubstances(11), radioactiveMaterial(12), corrosiveSubstances(13), miscellaneousDangerousSubstances(14) }
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),
   emergencyActionCode IA5String OPTIONAL,
   phoneNumber         IA5String OPTIONAL,
   companyName         IA5String OPTIONAL,
   elevatedTemperature BOOLEAN,
   tunnelsRestricted   BOOLEAN,
   limitedQuantity     BOOLEAN
}


SpecialTransportType  ::= ENUMERATED { heavyLoad(0), excessWidth(1) } 

@@ -192,9 +217,9 @@ HeightLonCarr ::= INTEGER { oneCentimeter(1) } (0..100)

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

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

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

RoadworkType ::= ENUMERATED { winterService(0),
 streetCleaning(1)
@@ -202,6 +227,8 @@ RoadworkType ::= ENUMERATED { winterService(0),

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

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

TrafficRule ::= ENUMERATED { noPassing(0),
 noPassingForTrucks(1)
 }
@@ -221,21 +248,17 @@ PositionOfOccupants ::= BIT STRING {
 tier2MidOccupied     (5),
 tier3LeftOccupied    (6),
 tier3RightOccupied   (7),
 tier3MidOccupied     (8),
 tier3NotDetectable   (9)
 tier3MidOccupied     (8)
}

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

VehicleLengthConfidenceIndication ::= ENUMERATED { noTrailerPresent(0), trailerPresentWithUnknownLength(1), 
trailerPresenceIsUnknown(2) }

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

VehicleWidth  ::= INTEGER { tenCentimeters(1), outOfRange(30), unknown(31) }  (1..31)

IncidentRule ::= BIT STRING {
 leftLaneClosed (0), rightLaneClosed (1), noPassing (2), noPassingForTrucks (3)
}
PathHistory::=  SEQUENCE (SIZE(0..40)) OF PathPoint

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

@@ -254,16 +277,7 @@ highway(5),
reserved(6), 
unknown(7) }

TimestampUtc ::= SEQUENCE {
   year INTEGER (2010..2130, ...),
   mon INTEGER (1..12),
   day INTEGER (1..31),
   hh INTEGER (0..23),
   min INTEGER (0..59),
   sec INTEGER (0..60), -- Note upper limit 60 to account for leap seconds
   msec INTEGER (0..999)
}

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

VehicleRole ::= ENUMERATED { default(0), 
publicTransport(1),