From 1f4fbff1dd002ab24570a02b6130210c00535eaf Mon Sep 17 00:00:00 2001
From: berge <berge@642cae54-f987-0410-8976-d08d2a59187e>
Date: Wed, 25 Aug 2010 12:59:07 +0000
Subject: [PATCH] Reverted revision 95

---
 CAM/CAM.asn | 334 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 334 insertions(+)
 create mode 100644 CAM/CAM.asn

diff --git a/CAM/CAM.asn b/CAM/CAM.asn
new file mode 100644
index 00000000..ec316cb4
--- /dev/null
+++ b/CAM/CAM.asn
@@ -0,0 +1,334 @@
+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
+
+CamPdu ::= SEQUENCE {
+	header	ItsPduHeader,
+	cam	CoopAwareness
+
+}
+
+InvalidCamPdu ::= SEQUENCE {
+	header	ItsPduHeader,
+	cam	CoopAwarenessInvalid
+
+}
+
+
+ItsPduHeader ::= SEQUENCE {
+	-- protocolVersion fixed to 0
+	protocolVersion		INTEGER(0..255),
+
+	-- message type ID associated to CAM = 0, DENM=1
+	messageID 		INTEGER(0..255),
+
+	-- milliseconds elapsed since midnight January 1st, 1970 UTC
+	generationTime	TimeStamp
+}
+
+CoopAwareness ::= SEQUENCE {
+
+    -- STF405: introduced type StationID
+	stationID	StationID,
+
+	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?
+		...
+	},
+	
+	-- Basic characterization of an ITS station. A more detailed classification can be given by VehicleType.
+	camParameters CHOICE {
+	 irs IrsParameters,
+	 vehicle VehicleParameters
+	},
+	
+   ...
+}
+
+-- invalid message type containing only stationID and stationCharacteristic, for testing purposes
+CoopAwarenessInvalid ::= SEQUENCE { 
+
+	stationID	StationID,
+
+	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?
+		...
+	}
+-- other mandatory fields missing here (invalid message type)
+}
+
+
+	IrsParameters ::= SEQUENCE {
+	 referencePositionIrs ReferencePositionIrs,
+	 ...
+	}
+	
+	
+	VehicleParameters ::= SEQUENCE {
+	 referencePositionVehicle ReferencePositionVehicle,
+
+	-- STF405: replace taggedList with profile as described in chapter 7.2
+	 vehicleCommonParameters	VehicleCommonParameters,
+	 profileDependent 			ProfileParameters OPTIONAL,
+	 ...
+	}
+	
+ProfileParameters ::= CHOICE {
+	basicVehicle	    BasicVehicle,
+    emergencyVehicle        EmergencyVehicle,
+    publicTransportVehicle  PublicTransportVehicle,
+    ...
+}
+
+-- STF405: introduced as replacement for TaggedValue to reflect the profiles
+-- STF405: added yawRate at longAcceleration/yawRate confidence fields to the common parameters
+VehicleCommonParameters ::= SEQUENCE {
+     vehicleType                     VehicleType,
+     stationLength                   StationLength,
+     stationLengthConfidence         Confidence OPTIONAL,
+     stationWidth                    StationWidth,
+     stationWidthConfidence          Confidence OPTIONAL,
+     vehicleSpeed                    VehicleSpeed,
+     vehicleSpeedConfidence          Confidence,
+     longAcceleration                LongAcceleration,
+     longAccelerationConfidence	     Confidence,
+     accelerationControl             AccelerationControl,
+     yawRate			     		 YawRate,
+     yawRateConfidence	     	     Confidence,
+     exteriorLights                  ExteriorLights,
+     turnAdvice                      TurnAdvice OPTIONAL,
+     distanceToStopLine              DistanceToStopLine OPTIONAL,
+     occupancy                       Occupancy OPTIONAL,
+     doorOpen                        DoorOpen OPTIONAL,
+     posConfidenceEllipse            PosConfidenceEllipse,
+     curvature                       Curvature,
+     curvatureChange               	 CurvatureChange OPTIONAL,
+     curvatureConfidence	     	 Confidence,
+     crashStatus                     CrashStatus OPTIONAL,
+     headingConfidence               Confidence,
+     dangerousGoods                  DangerousGoods OPTIONAL,
+     ...
+}
+
+
+-- STF405: introduced as replacement for TaggedValue to reflect the profiles
+BasicVehicle ::= SEQUENCE {
+     ...
+}
+
+EmergencyVehicle ::= SEQUENCE {
+     lightBarInUse                   LightBarInUse OPTIONAL,
+     sireneInUse                     SireneInUse OPTIONAL,
+     emergencyResponseType           EmergencyResponseType,
+     ...
+}
+
+-- STF405: introduced as replacement for TaggedValue to reflect the profiles
+PublicTransportVehicle ::= SEQUENCE {
+     publicVehicleType              PublicVehicleType,
+     pTLineDescription              PTLineDescription OPTIONAL,
+     scheduleDeviation              ScheduleDeviation OPTIONAL,
+     trafficLightPriority           TrafficLightPriority OPTIONAL,
+     ...
+}
+
+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)
+
+CurvatureChange ::= 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..28799)
+
+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 {
+  hemisphere ENUMERATED { north (0), south (1) },
+  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 {
+  hemisphere ENUMERATED { east (0), west (1) },
+  degree  INTEGER (0..1800000000) -- multiples of 0.1 microdegree
+}
+
+Occupancy ::= INTEGER (0..255) 
+
+PosConfidenceEllipse ::= SEQUENCE {
+-- STF405: changed type from PositionConfidence to Confidence
+  semiMajorConfidence   Confidence,   -- confidence of the ellipse's major semi-axes
+-- STF405: changed type from PositionConfidence to Confidence
+  semiMinorConfidence   Confidence,   -- confidence of the ellipse's minor semi-axes
+  semiMajorOrientation   Direction
+} 
+
+Priority ::= INTEGER(0..7) 
+
+PTLineDescription ::= SEQUENCE {
+  courseOfJourney  CourseOfJourney,
+  lineRef          LineRef,
+  routeRef         RouteRef
+} 
+
+PublicVehicleType ::= INTEGER(0..255) 
+
+--STF405: splitted ReferencePosition to ReferencePositionVehicle/ReferencePositionIRS for conditionality handling. Also, tags have been removed.
+ReferencePositionVehicle ::= SEQUENCE {
+  longitude Longitude,
+  latitude Latitude,
+  elevation Elevation,
+  heading Direction,
+  streetName StreetName OPTIONAL,
+  positionConfidence Confidence,
+  elevationConfidence Confidence,
+  roadSegmentID RoadSegmentID OPTIONAL
+}
+
+ReferencePositionIrs ::= SEQUENCE {
+  longitude Longitude,
+  latitude Latitude,
+  elevation Elevation,
+  streetName StreetName OPTIONAL,
+  roadSegmentID 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 
+
+-- STF405: introduced
+StationID ::=   INTEGER(0..4294967295)
+
+StationLength ::= Dimension 
+
+StationWidth ::= Dimension 
+
+StreetName ::= IA5String(SIZE(1..32)) 
+
+Temperature ::= INTEGER (-40..215) 
+
+TimeStamp ::=	INTEGER (0.. 281474976710655)		-- units of milliseconds, 6 byte
+
+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)
+}
+
+-- STF405: changed
+YawRate ::= SEQUENCE {
+  yawDirection ENUMERATED { left (0), right (1) },
+  yawRateValue  INTEGER (0..32765)  		-- multiples of 0.01deg/s
+}
+
+END
+
-- 
GitLab