Commit c61ccd73 authored by mullers's avatar mullers
Browse files

ITS-container added

parent d9d8b560
Loading
Loading
Loading
Loading
+49 −20
Original line number Original line Diff line number Diff line
-- This ASN.1 specification has been checked for conformance with the ASN.1 standard by the OSS ASN.1 Tools
-- This ASN.1 specification has been checked for conformance with the ASN.1 standard by the OSS ASN.1 Tools


CAM-PDU-Descriptions {
CAM-PDU-Descriptions {
 itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102637) cam (2) version1 (1) 
 itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102637) cam (2) version (3) 
}
}


DEFINITIONS AUTOMATIC TAGS ::= 
DEFINITIONS AUTOMATIC TAGS ::= 
@@ -9,8 +9,9 @@ DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
BEGIN


IMPORTS 
IMPORTS 
    ItsPduHeader, VehicleCommonParameters, ProfileParameters, StationID, TimeStamp, ReferencePosition 
   ItsPduHeader, ReferencePosition, AccelerationControl, Curvature, CurvatureAccuracy, CurvatureCalculationMode, Direction, DirectionConfidence, IncidentIndication, IncidentRule, LaneCount, LaneCountConfidence, Percentage, Priority, PtLineRoute, PtScheduleDelay, VehicleSpeed, DriveDirection, LongitudinalAcceleration, StationType, ExteriorLights, LongTruck, DangerousGoods, SpecialTransport, LightBarSirenInUse, Mass, VehicleWidth, VehicleLength, VehicleLengthConfidenceIndication, PathHistory FROM ITS-Container {
FROM DENM-PDU-Descriptions { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102637) denm (3) version2 (2) };
 itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102637) cc (3) version (3) 
};




--	The root data frame for cooperative awareness messages
--	The root data frame for cooperative awareness messages
@@ -23,31 +24,59 @@ CamPdu ::= SEQUENCE {




CoopAwareness ::= SEQUENCE {
CoopAwareness ::= SEQUENCE {
	generationDeltaTime GenerationDeltaTime,
	camParameters CamParameters,
	
	
	stationID	StationID,
   ...
}


	-- Basic characterization of an ITS station. A more detailed classification can be given by VehicleType.
	CamParameters ::= SEQUENCE {
	stationCharacteristics	SEQUENCE {
	 basicContainer	BasicContainer,
		mobileItsStation			BOOLEAN,	-- will ITS station change position?
	 basicVehicleContainer BasicVehicleContainerHighFrequency OPTIONAL,
		privateItsStation			BOOLEAN,	-- not public authority
	 basicVehicleContainerStatic BasicVehicleContainerLowFrequency OPTIONAL,
		physicalRelevantItsStation	BOOLEAN,	-- can another mobile ITS station crash into this station?
	 specialVehicleContainer SpecialVehicleContainer OPTIONAL,
	 ...
	 ...
	},
	}
	
	
	referencePosition ReferencePosition,
	camParameters CamParameters OPTIONAL, -- presently omitted for Irs


   ...
 BasicContainer ::= SEQUENCE {
  stationType StationType,
  referencePosition ReferencePosition
 }
 }
 
 
 BasicVehicleContainerHighFrequency  ::= SEQUENCE {
  heading Direction,
  headingConfidence DirectionConfidence,
  laneCount LaneCount OPTIONAL,
  vehicleSpeed VehicleSpeed,
  driveDirection DriveDirection,
  longitudinalAcceleration LongitudinalAcceleration,
  accelerationControl AccelerationControl,
  curvature Curvature,
  curvatureAccuracy CurvatureAccuracy,
  curvatureCalculationMode CurvatureCalculationMode
 }


 BasicVehicleContainerLowFrequency  ::= SEQUENCE {
  vehicleWidth VehicleWidth,
  vehicleLength VehicleLength,
  vehicleLengthConfidenceIndication VehicleLengthConfidenceIndication,
  exteriorLights ExteriorLights,
  pathHistory PathHistory
 }
 
 
	CamParameters ::= SEQUENCE {
 SpecialVehicleContainer ::= SEQUENCE {
	 vehicleCommonParameters	VehicleCommonParameters,
  lightBarSirenInUse LightBarSirenInUse OPTIONAL,
	 profileDependent 		ProfileParameters OPTIONAL,
  incidentIndication IncidentIndication OPTIONAL,
	 ...
  incidentRule IncidentRule OPTIONAL,
  dangerousGoods DangerousGoods OPTIONAL,
  ptLineRoute PtLineRoute OPTIONAL,
  ptScheduleDelay PtScheduleDelay OPTIONAL,
  priority Priority OPTIONAL
 }
 }
 
 
 GenerationDeltaTime ::= INTEGER { oneMilliSec(1) } (0..65535)
 
	
	
END
END
+213 −0
Original line number Original line Diff line number Diff line
ITS-Container {
 itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102637) cc (3) version (3) 
}

DEFINITIONS AUTOMATIC TAGS ::= 

BEGIN


ItsPduHeader ::= SEQUENCE {
	protocolVersion		INTEGER{ currentVersion(3) } (0..255),
	messageID 		INTEGER{ cam(0), denm(1) } (0..255),
	stationID StationID
}

StationID ::=   INTEGER(0..4294967295)

ReferencePosition ::= SEQUENCE {
  longitude Longitude,
  latitude Latitude,
  positionConfidenceEllipse PosConfidenceEllipse ,
  elevation Elevation,
  elevationConfidence ElevationConfidence
}

DeltaPosition ::= SEQUENCE {
  deltaLongitude DeltaLongitude,
  deltaLatitude DeltaLatitude,
  positionConfidenceEllipse PosConfidenceEllipse
}

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

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

Elevation ::= INTEGER (-1000..7191) -- multiples of 1 m

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

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


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

PathPoint ::= SEQUENCE {
 pathPosition DeltaPosition,
 pathDeltaTime PathDeltaTime
}

PathDeltaTime ::= INTEGER { hundredMilliSecondsInPast(1), hundredMilliSecondsInFuture(-1) } (-31..31, ...)

AccelerationControl ::= BIT STRING {
 notValid      (0),
 breakPedalActive (1),
 gasPedalActive (2),
 emergencyBrakeActive (3),
 collisionWarningActive (4),
 accActive       (5),
 cruiseControl   (6),
 speedLimiterActive (7)
} 


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), 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..4095)

DirectionConfidence ::= INTEGER { notValid(127) } (0..127)

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

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

LaneCountConfidence ::= Percentage

Percentage ::= INTEGER (0..100)

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

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

LongitudinalAcceleration ::= INTEGER { pointOneMeterPerSecSquared(1), notValid (160)} (-160 .. 160)

StationType ::= INTEGER { unkown(0), passengerCar(1), bus(2) } (0..255)

VehicleHeight ::= INTEGER { tenCentimeters(1), outOfRange(51) } (0..51)
VehicleWidth ::= INTEGER { tenCentimeters(1), outOfRange(51) } (0..51)
VehicleLengthNormal ::= INTEGER { tenCentimeters(1), outOfRange(127) } (0..127)

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


LongTruck ::= ENUMERATED { lengthOf18point75Meters, ... }

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) }

SpecialTransport  ::= ENUMERATED { toBeDefined } -- not well defined yet

LightBarSirenInUse ::= BIT STRING {
 noActivity (0),
 lightBarAvailable (1),
 lightBarActivated (2),
 sirenAvailable (3),
 sirenActivated (4)
}

Mass ::= INTEGER { hundredKg(1), exceeding50Tons(500), massUnknown(501) } (0..501)

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

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

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

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

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

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

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

PositionOfOccupants ::= BIT STRING {
 tier1LeftOccupied    (0),
 tier1RightOccupied   (1),
 tier1MidOccupied     (2),
 tier2LeftOccupied    (3),
 tier2RightOccupied   (4),
 tier2MidOccupied     (5),
 tier3LeftOccupied    (6),
 tier3RightOccupied   (7),
 tier3MidOccupied     (8),
 tier3NotDetectable   (9)
}

VehicleLength ::= CHOICE { vehicleLengthNormal VehicleLengthNormal, longTruck LongTruck}

VehicleLengthConfidenceIndication ::= ENUMERATED { noTrailerPresent(0), trailerPresentWithUnkownLength(1), 
trailerPresenceIsUnkown(2) }

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

IncidentIndication ::= ENUMERATED { attention(0), 
trafficJamAhead(1), 
slowVehicle(2), 
heavyGoodsTransport(3), 
movingRoadWorks(4), 
publicTransportDisembarkation(5), ...
}

IncidentRule ::= BIT STRING {
 leftLaneClosed (0),
 
rightLaneClosed
 (1),
 
noPassing
 (2),
 
noPassingForTrucks (3)
}

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

PtLineRoute ::= BIT STRING

PtScheduleDelay ::= INTEGER { oneSecondAheadOfSchedule(-1), noDelay(0), oneSecondDelay(1) }  (-300..3795)

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

RoadClass ::= ENUMERATED { gravelRoad(0)
, localRoad(1), 
districtRoad(2), 
countryRoad(3), 
stateRoad(4), 
highway(5), 
reserved(6), 
unknown(7) }

Timestamp  ::= INTEGER { startOf1970(0), oneMillisecAfterStartOf1970(1) }  (0..281474976710655)

END
+160 −413

File changed.

Preview size limit exceeded, changes collapsed.