Commit 8f684b3d authored by reinaortega's avatar reinaortega
Browse files

Changes moved to commonContainer branch

parent 7e1179ab
Loading
Loading
Loading
Loading
+20 −49
Original line number 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

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

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

IMPORTS 
   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 {
 itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102637) cc (3) version (3) 
};
    ItsPduHeader, VehicleCommonParameters, ProfileParameters, StationID, TimeStamp, ReferencePosition 
FROM DENM-PDU-Descriptions { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102637) denm (3) version2 (2) };


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


CoopAwareness ::= SEQUENCE {
	generationDeltaTime GenerationDeltaTime,
	camParameters CamParameters,

   ...
}
	stationID	StationID,

	CamParameters ::= SEQUENCE {
	 basicContainer	BasicContainer,
	 basicVehicleContainer BasicVehicleContainerHighFrequency OPTIONAL,
	 basicVehicleContainerStatic BasicVehicleContainerLowFrequency OPTIONAL,
	 specialVehicleContainer SpecialVehicleContainer OPTIONAL,
	-- Basic characterization of an ITS station. A more detailed classification can be given by VehicleType.
	stationCharacteristics	SEQUENCE {
		mobileItsStation			BOOLEAN,	-- will ITS station change position?
		privateItsStation			BOOLEAN,	-- not public authority
		physicalRelevantItsStation	BOOLEAN,	-- can another mobile ITS station crash into this station?
		...
	}
	},
	
	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
 }
	
 SpecialVehicleContainer ::= SEQUENCE {
  lightBarSirenInUse LightBarSirenInUse OPTIONAL,
  incidentIndication IncidentIndication OPTIONAL,
  incidentRule IncidentRule OPTIONAL,
  dangerousGoods DangerousGoods OPTIONAL,
  ptLineRoute PtLineRoute OPTIONAL,
  ptScheduleDelay PtScheduleDelay OPTIONAL,
  priority Priority OPTIONAL
	CamParameters ::= SEQUENCE {
	 vehicleCommonParameters	VehicleCommonParameters,
	 profileDependent 		ProfileParameters OPTIONAL,
	 ...
	}
	
 GenerationDeltaTime ::= INTEGER { oneMilliSec(1) } (0..65535)
 

END
+0 −213
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 (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
+413 −160

File changed.

Preview size limit exceeded, changes collapsed.