Commit 4b538b7b authored by kovacsa's avatar kovacsa
Browse files

import switching

parent 6018ec33
Loading
Loading
Loading
Loading
+5 −238
Original line number Diff line number Diff line
@@ -6,6 +6,11 @@ DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS 
    ItsPduHeader, VehicleCommonParameters, ProfileParameters, StationID, TimeStamp, ReferencePosition 
FROM CAM-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

CamPdu ::= SEQUENCE {
@@ -14,16 +19,6 @@ CamPdu ::= SEQUENCE {

}

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 {

@@ -51,234 +46,6 @@ CoopAwareness ::= SEQUENCE {
	 ...
	}
	
ProfileParameters ::= CHOICE {
	basicVehicle	    BasicVehicle,
    emergencyVehicle        EmergencyVehicle,
    publicTransportVehicle  PublicTransportVehicle,
    ...
}

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,
     ...
}


BasicVehicle ::= SEQUENCE {
     ...
}

EmergencyVehicle ::= SEQUENCE {
     lightBarInUse                   LightBarInUse OPTIONAL,
     sireneInUse                     SireneInUse OPTIONAL,
     emergencyResponseType           EmergencyResponseType,
     ...
}

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 {
  semiMajorConfidence   Confidence,   -- confidence of the ellipse's major semi-axes
  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) 

ReferencePosition ::= SEQUENCE {
  longitude Longitude,
  latitude Latitude,
  elevation Elevation,
  heading Direction OPTIONAL, --present if mobileItsStation flag is TRUE
  streetName StreetName OPTIONAL,
  positionConfidence Confidence OPTIONAL, --present if mobileItsStation flag is TRUE
  elevationConfidence Confidence OPTIONAL, --present if mobileItsStation flag is TRUE
  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 

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

YawRate ::= SEQUENCE {
  yawDirection ENUMERATED { left (0), right (1) },
  yawRateValue  INTEGER (0..32765)  		-- multiples of 0.01deg/s
}

END
+241 −5
Original line number Diff line number Diff line
@@ -6,11 +6,6 @@ DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS 
    ItsPduHeader, Latitude, Longitude, Elevation, Speed, VehicleCommonParameters, ProfileParameters, StationID, TimeStamp, ReferencePosition 
FROM CAM-PDU-Descriptions { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102637) cam (2) version1 (1) };


DenmPdu ::= SEQUENCE {
	header	ItsPduHeader,	
	denm	DecentralizedEnvironmentalNotificationMessage
@@ -100,6 +95,40 @@ ActionID ::= SEQUENCE {
	sequenceNo 	SequenceNo	-- a 2 byte value
}

Elevation ::= INTEGER (-10000..16767215) -- multiples of 0.1 m

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
}

Latitude ::= SEQUENCE {
  hemisphere ENUMERATED { north (0), south (1) },
  degree  INTEGER (0..900000000) -- multiples of 0.1 microdegree
} 

Longitude ::= SEQUENCE {
  hemisphere ENUMERATED { east (0), west (1) },
  degree  INTEGER (0..1800000000) -- multiples of 0.1 microdegree
}

ReferencePosition ::= SEQUENCE {
  longitude Longitude,
  latitude Latitude,
  elevation Elevation,
  heading Direction OPTIONAL, --present if mobileItsStation flag is TRUE
  streetName StreetName OPTIONAL,
  positionConfidence Confidence OPTIONAL, --present if mobileItsStation flag is TRUE
  elevationConfidence Confidence OPTIONAL, --present if mobileItsStation flag is TRUE
  roadSegmentID RoadSegmentID OPTIONAL
}

SequenceNo ::=	INTEGER (0..65535)		-- increased by 1 each time a new event is detected by the same ITS  station.

DataVersion ::= INTEGER {firstVersion(0),secondVersion(1),cancellation(255) } (0..255)
@@ -128,6 +157,10 @@ Severity ::= ENUMERATED -- 1 byte
	highestDanger	(4)		--danger level 3: 
}

Speed ::= INTEGER (-32765..32765)  -- multiples of 0.01 m/s 

StationID ::=   INTEGER(0..4294967295)

TraceLocData ::=	SEQUENCE {
	--3 bits, identifier of the trace
	traceID	INTEGER(0 .. 7),	
@@ -135,6 +168,8 @@ TraceLocData ::= SEQUENCE {
	waypoints	SEQUENCE (SIZE(0..31)) OF	Waypoint
}

TimeStamp ::=	INTEGER (0.. 281474976710655)		-- units of milliseconds, 6 byte

Waypoint  ::=		SEQUENCE{
	--  waypoint positions included in the trace.	
	ptLat 	Latitude,							--a 4 bytes value 
@@ -143,4 +178,205 @@ Waypoint ::= SEQUENCE{
	...
}


-- common and profile dependent parameter definitions follow

ProfileParameters ::= CHOICE {
	basicVehicle	    BasicVehicle,
    emergencyVehicle        EmergencyVehicle,
    publicTransportVehicle  PublicTransportVehicle,
    ...
}

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,
     ...
}


BasicVehicle ::= SEQUENCE {
     ...
}

EmergencyVehicle ::= SEQUENCE {
     lightBarInUse                   LightBarInUse OPTIONAL,
     sireneInUse                     SireneInUse OPTIONAL,
     emergencyResponseType           EmergencyResponseType,
     ...
}

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

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

LightBarInUse ::= SimpleSystemState 

LineRef ::= IA5String(SIZE(0..32)) 

LongAcceleration ::= INTEGER (-2000..2000)  -- multiples of 0.01 m/s^2 

Occupancy ::= INTEGER (0..255) 

PosConfidenceEllipse ::= SEQUENCE {
  semiMajorConfidence   Confidence,   -- confidence of the ellipse's major semi-axes
  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) 

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 

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 ::= SEQUENCE {
  yawDirection ENUMERATED { left (0), right (1) },
  yawRateValue  INTEGER (0..32765)  		-- multiples of 0.01deg/s
}

END