CAM-PDU-Descriptions { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102637) cam (2) version1 (1) } DEFINITIONS AUTOMATIC TAGS ::= BEGIN -- The root data frame for cooperative awareness messages CoopAwareness ::= SEQUENCE { -- protocolVersionCAM fixed to 0 protocolVersionCAM INTEGER(0..255), -- message type ID associated to CAM = 0 messageID INTEGER(0..255), -- milliseconds elapsed since midnight January 1st, 1970 UTC generationTime INTEGER (0.. 281474976710655), stationId INTEGER(0..4294967295), referencePosition ReferencePosition, -- Basic characterization of an ITS station. A more detailed classification can be given by -- VehicleType. stationCharacteristics SEQUENCE { mobile BOOLEAN, -- will ITS station change position? private BOOLEAN, -- not public authority physicalRelevant BOOLEAN, -- can another mobile ITS station crash into this station? ... }, -- tagged list has optional and mandatory entries depending on the profile of the -- ITS station, this is defined in a separate document taggedList SET SIZE(0..32) OF TaggedValue, ... } TaggedValue ::= CHOICE { vehicleType [1] VehicleType, publicVehicleType [2] PublicVehicleType, lightBarInUse [3] LightBarInUse, sireneInUse [4] SireneInUse, emergencyResponseType [5] EmergencyResponseType, stationLength [6] StationLength, stationLengthConfidence [7] Confidence, stationWidth [8] StationWidth, stationWidthConfidence [9] Confidence, vehicleSpeed [10] VehicleSpeed, vehicleSpeedConfidence [11] Confidence, longAcceleration [12] LongAcceleration, longAccelConfidence [13] Confidence, yawRate [14] YawRate, yawRateConfidence [15] Confidence, accelerationControl [16] AccelerationControl, exteriorLights [17] ExteriorLights, causeCode [18] CauseCode, ambientAirTemperature [19] AmbientAirTemperature, speed [20] Speed, --other speed than vehicle speed -- heading [21] Heading, pTLineDescription [22] PTLineDescription, turnAdvice [23] TurnAdvice, distanceToStopLine [24] DistanceToStopLine, distanceToStoLineConfidence [25] Confidence, occupancy [26] Occupancy, scheduleDeviation [27] ScheduleDeviation, trafficLightPriority [28] TrafficLightPriority, doorOpen [29] DoorOpen, dataReference [30] DataReference, posConfidenceElli [31] PosConfidenceEllipse, curvature [32] Curvature, curvatureGradient [33] CurvatureGradient, curvatureConfidence [34] Confidence, wiperSystemFront [35] WiperSystemFront, crashStatus [36] CrashStatus, headingConfidence [37] Confidence, dangerousGoods [38] DangerousGoods, ... } AccelerationControl ::= BIT STRING { brakePedal (0), throttlePedal (1), cruiseControl (2), acc (3), limiter (4), brakeAssist (5) } AmbientAirTemperature ::= Temperature CauseCode ::= INTEGER (0..100, ...) Confidence ::= INTEGER (0..15) CourseOfJourney ::= IA5String(SIZE(0..32)) CrashStatus ::= BOOLEAN Curvature ::= INTEGER (-32765..32765) CurvatureGradient ::= INTEGER (-1023..1023) DataReference ::= IA5String(SIZE(1..128)) DangerousGoods ::= INTEGER (0..8191) Dimension ::= INTEGER (0..16383) Direction ::= INTEGER{north(0), east(7200), south(14400), west(21600)} (0..28800) Distance ::= INTEGER (0..65535) -- multiples of 1.0m DistanceToStopLine ::= Distance DoorOpen ::= BIT STRING { driver (0), passenger (1), -- any passenger door maintenance (2), -- hood, other access to engine, or similar luggage (3) } Elevation ::= INTEGER (-10000..16767215) -- multiples of 0.1 m EmergencyResponseType ::= ENUMERATED { none (0), staticSafeguard (1), -- e.g. at accident spot movingSafeguard (2), -- e.g. convoy or abnormal load rightOfWay (3), -- claiming right of way ... } ExteriorLights ::= BIT STRING { lowBeamHeadlightsOn (0), highBeamHeadlightsOn (1), leftTurnSignalOn (2), rightTurnSignalOn (3), automaticLightControlOn (4), daytimeRunningLightsOn (5), fogLightOn (6), parkingLightsOn (7) } Heading ::= Direction Latitude ::= SEQUENCE { isSouth BOOLEAN, -- true if on southern hemisphere (sign flag) degree INTEGER (0..900000000) -- multiples of 0.1 microdegree } LightBarInUse ::= SimpleSystemState LineRef ::= IA5String(SIZE(0..32)) LongAcceleration ::= INTEGER (-2000..2000) -- multiples of 0.01 m/s^2 Longitude ::= SEQUENCE { isEast BOOLEAN, -- true if east of 0-meridian (sign flag) degree INTEGER (0..1800000000) -- multiples of 0.1 microdegree } Occupancy ::= INTEGER (0..255) PosConfidenceEllipse ::= SEQUENCE { semiMajorConfidence PositionConfidence, -- confidence of the ellipse's major semi-axes semiMinorConfidence PositionConfidence, -- confidence of the ellipse's minor semi-axes semiMajorOrientation Direction } PositionConfidence ::= Confidence -- 2^PositionConfidence * 0.1m Priority ::= INTEGER(0..7) PTLineDescription ::= SEQUENCE { courseOfJourney CourseOfJourney, lineRef LineRef, routeRef RouteRef } PublicVehicleType ::= INTEGER(0..255) ReferencePosition ::= SEQUENCE { longitude Longitude, latitude Latitude, elevation Elevation, heading [1] Direction OPTIONAL, -- if relevant for position reference streetName [2] StreetName OPTIONAL, positionConfidence [3] PositionConfidence OPTIONAL, -- ommitted for fixed position, e.g. infrastructure location elevationConfidence [4] Confidence OPTIONAL, -- ommitted for fixed position, e.g. infrastructure location roadSegmentID [5] RoadSegmentID OPTIONAL } RoadSegmentID ::= INTEGER (0..99999999) RouteRef ::= IA5String(SIZE(0..32)) ScheduleDeviation ::= INTEGER (-900..3600) -- seconds, positiv delay; negative ahead of schedule SimpleSystemState ::= ENUMERATED { unavailable (0), -- not equipped or out of order disabled (1), -- switched off by user or due to driving situation, e.g. ACC below minimum speed enabled (2), -- switched on but no action, e.g. ESP in normal operation, limiter below limit speed engaged (3) -- switched on and in action, e.g. light bar flashing, limiter limiting speed } SireneInUse ::= SimpleSystemState Speed ::= INTEGER (-32765..32765) -- multiples of 0.01 m/s StationLength ::= Dimension StationWidth ::= Dimension StreetName ::= IA5String(SIZE(1..32)) Temperature ::= INTEGER (-40..215) TrafficLightPriority ::= Priority TurnAdvice ::= SEQUENCE { direction TurnDirection, distance Distance } TurnDirection ::= BIT STRING { uTurn (0), sharpRight (1), right (2), slightRight (3), straight (4), slightLeft (5), left (6), sharpLeft (7) } VehicleSpeed ::= Speed VehicleType ::= INTEGER (0..255) WiperSystemFront ::= ENUMERATED { idle (0), interval (1), normal (2), fast (3), washerActive (4) } YawRate ::= INTEGER (-32765..32765) END