Commit aa341058 authored by kovacsa's avatar kovacsa
Browse files

asn.1 update

parent 9c7eb695
Loading
Loading
Loading
Loading
+81 −101
Original line number Diff line number Diff line
@@ -16,15 +16,11 @@ CoopAwareness ::= SEQUENCE {
	messageID 		INTEGER(0..255),

	-- milliseconds elapsed since midnight January 1st, 1970 UTC
	generationTime	INTEGER (0.. 281474976710655),
	generationTime	TimeStamp,

    -- STF405: introduced type StationID
	stationId	StationID,
	stationID	StationID,

	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
@@ -32,24 +28,41 @@ CoopAwareness ::= SEQUENCE {
		...
	},
	
	-- tagged list has optional and mandatory entries depending on the profile of the 
	-- Basic characterization of an ITS station. A more detailed classification can be given by VehicleType.
	camParameters CHOICE {
	 irs IrsParameters,
	 vehicle VehicleParameters
	},
	
   ...
}

	IrsParameters SEQUENCE {
	 referencePosition ReferencePositionIrs,
	 ...
	}
	
	
	VehicleParameters SEQUENCE {
	 referencePosition ReferencePositionVehicle,

	-- a Parameter list that has optional and mandatory entries depending on the profile of the 
	-- ITS station, this is defined in a separate document
	-- STF405: replace taggedList with profile as described in chapter 7.2
	-- taggedList	SET SIZE(0..32) OF TaggedValue,
	profile ProfileParameters,

	 commonParameters	BasicVehicle,
	 profileDependent 	ProfileParameters OPTIONAL,
	 ...
	}
	
ProfileParameters ::= CHOICE {
    basicVehicle            [1] BasicVehicle,
    basicIRS                [2] NULL,
    emergencyVehicle        [3] EmergencyVehicle,
    publicTransportVehicle  [4] PublicTransportVehicle,
    emergencyVehicle        EmergencyVehicle,
    publicTransportVehicle  PublicTransportVehicle,
    ...
}

-- STF405: replaced by the different profiles BasicVehicle, BasicIRS, EmergencyVehicle and PublicTransportVehicle

-- STF405: replaced by the different profiles BasicVehicle, EmergencyVehicle and PublicTransportVehicle. Also removed tags
--TaggedValue ::= CHOICE {
--	 vehicleType           			 [1] VehicleType,
--	 publicVehicleType     			 [2] PublicVehicleType,
@@ -93,83 +106,43 @@ ProfileParameters ::= CHOICE {

-- STF405: introduced as replacement for TaggedValue to reflect the profiles
BasicVehicle ::= SEQUENCE {
     vehicleType                     [1] VehicleType,
     stationLength                   [6] StationLength,
     stationLengthConfidence         [7] Confidence OPTIONAL,
     stationWidth                    [8] StationWidth,
     stationWidthConfidence          [9] Confidence OPTIONAL,
     vehicleSpeed                   [10] VehicleSpeed,
     vehicleSpeedConfidence         [11] Confidence,
     longAcceleration               [12] LongAcceleration,
     accelerationControl            [16] AccelerationControl,
     exteriorLights                 [17] ExteriorLights,
     turnAdvice                     [23] TurnAdvice OPTIONAL,
     distanceToStopLine             [24] DistanceToStopLine OPTIONAL,
     occupancy                      [26] Occupancy OPTIONAL,
     doorOpen                       [29] DoorOpen OPTIONAL,
     posConfidenceEllipse           [31] PosConfidenceEllipse,
     curvature                      [32] Curvature,
     curvatureGradient              [33] CurvatureGradient OPTIONAL,
     crashStatus                    [36] CrashStatus OPTIONAL,
     headingConfidence              [37] Confidence,
     dangerousGoods             [38] DangerousGoods OPTIONAL,
     vehicleType                     VehicleType,
     stationLength                   StationLength,
     stationLengthConfidence         Confidence OPTIONAL,
     stationWidth                    StationWidth,
     stationWidthConfidence          Confidence OPTIONAL,
     vehicleSpeed                    VehicleSpeed,
     vehicleSpeedConfidence          Confidence,
     longAcceleration                LongAcceleration,
     accelerationControl             AccelerationControl,
     exteriorLights                  ExteriorLights,
     turnAdvice                      TurnAdvice OPTIONAL,
     distanceToStopLine              DistanceToStopLine OPTIONAL,
     occupancy                       Occupancy OPTIONAL,
     doorOpen                        DoorOpen OPTIONAL,
     posConfidenceEllipse            PosConfidenceEllipse,
     curvature                       Curvature,
     curvatureGradient               CurvatureGradient OPTIONAL,
     crashStatus                     CrashStatus OPTIONAL,
     headingConfidence               Confidence,
     dangerousGoods                  DangerousGoods OPTIONAL,
     ...
}

-- STF405: introduced as replacement for TaggedValue to reflect the profiles
EmergencyVehicle ::= SEQUENCE {
     vehicleType                     [1] VehicleType,
     lightBarInUse                   [3] LightBarInUse OPTIONAL,
     sireneInUse                     [4] SireneInUse OPTIONAL,
     emergencyResponseType           [5] EmergencyResponseType,
     stationLength                   [6] StationLength,
     stationLengthConfidence         [7] Confidence OPTIONAL,
     stationWidth                    [8] StationWidth,
     stationWidthConfidence          [9] Confidence OPTIONAL,
     vehicleSpeed                   [10] VehicleSpeed,
     vehicleSpeedConfidence         [11] Confidence,
     longAcceleration               [12] LongAcceleration,
     accelerationControl            [16] AccelerationControl,
     exteriorLights                 [17] ExteriorLights,
     turnAdvice                     [23] TurnAdvice OPTIONAL,
     distanceToStopLine             [24] DistanceToStopLine OPTIONAL,
     occupancy                      [26] Occupancy OPTIONAL,
     doorOpen                       [29] DoorOpen OPTIONAL,
     posConfidenceEllipse           [31] PosConfidenceEllipse,
     curvature                      [32] Curvature,
     curvatureGradient              [33] CurvatureGradient OPTIONAL,
     crashStatus                    [36] CrashStatus OPTIONAL,
     headingConfidence              [37] Confidence,
     dangerousGoods                 [38] DangerousGoods OPTIONAL,
     lightBarInUse                   LightBarInUse OPTIONAL,
     sireneInUse                     SireneInUse OPTIONAL,
     emergencyResponseType           EmergencyResponseType,
     ...
}

-- STF405: introduced as replacement for TaggedValue to reflect the profiles
PublicTransportVehicle ::= SEQUENCE {
     vehicleType                     [1] VehicleType,
     publicVehicleType               [2] PublicVehicleType,
     stationLength                   [6] StationLength,
     stationLengthConfidence         [7] Confidence OPTIONAL,
     stationWidth                    [8] StationWidth,
     stationWidthConfidence          [9] Confidence OPTIONAL,
     vehicleSpeed                   [10] VehicleSpeed,
     vehicleSpeedConfidence         [11] Confidence,
     longAcceleration               [12] LongAcceleration,
     accelerationControl            [16] AccelerationControl,
     exteriorLights                 [17] ExteriorLights,
     pTLineDescription              [22] PTLineDescription OPTIONAL,
     turnAdvice                     [23] TurnAdvice OPTIONAL,
     distanceToStopLine             [24] DistanceToStopLine OPTIONAL,
     occupancy                      [26] Occupancy OPTIONAL,
     scheduleDeviation              [27] ScheduleDeviation OPTIONAL,
     trafficLightPriority           [28] TrafficLightPriority OPTIONAL,
     doorOpen                       [29] DoorOpen OPTIONAL,
     posConfidenceEllipse           [31] PosConfidenceEllipse,
     curvature                      [32] Curvature,
     curvatureGradient              [33] CurvatureGradient OPTIONAL,
     crashStatus                    [36] CrashStatus OPTIONAL,
     headingConfidence              [37] Confidence,
     dangerousGoods                 [38] DangerousGoods OPTIONAL,
     publicVehicleType              PublicVehicleType,
     pTLineDescription              PTLineDescription OPTIONAL,
     scheduleDeviation              ScheduleDeviation OPTIONAL,
     trafficLightPriority           TrafficLightPriority OPTIONAL,
     ...
}

@@ -280,33 +253,38 @@ PTLineDescription ::= SEQUENCE {

PublicVehicleType ::= INTEGER(0..255) 

ReferencePosition ::= SEQUENCE {
--STF405: splitted ReferencePosition to ReferencePositionVehicle/ReferencePositionIRS for conditionality handling. Also, tags have been removed.
ReferencePositionVehicle ::= SEQUENCE {
  longitude Longitude,
  latitude Latitude,
  elevation Elevation,
  heading [1] Direction OPTIONAL, -- if relevant for position reference
  streetName [2] StreetName OPTIONAL,
-- STF405: changed optionallity due to introduction of new PositionConfidence type
-- STF405: changed optionality due to type splitting
--  heading [1] Direction OPTIONAL,
  heading Direction,
  streetName StreetName OPTIONAL,
-- STF405: changed optionality due to type splitting
--  positionConfidence [3] PositionConfidence OPTIONAL, 
  positionConfidence [3] PositionConfidence, -- ommitted for fixed position, e.g. infrastructure location
-- STF405: changed optionallity due to introduction of new PositionConfidence type
  positionConfidence Confidence,
-- STF405: changed optionality due to type splitting
--  elevationConfidence [4] Confidence OPTIONAL, 
  elevationConfidence [4] ElevationConfidence, -- ommitted for fixed position, e.g. infrastructure location
  roadSegmentID [5] RoadSegmentID OPTIONAL
  elevationConfidence Confidence,
  roadSegmentID RoadSegmentID OPTIONAL
}

-- STF405: introduced
PositionConfidence ::= CHOICE {
  mobile Confidence,
  stationary NULL	-- omitted for fixed position, e.g. infrastructure location
}

-- STF405: introduced
ElevationConfidence ::= CHOICE {
  mobile Confidence,
  stationary NULL	-- omitted for fixed position, e.g. infrastructure location
ReferencePositionIrs ::= SEQUENCE {
  longitude Longitude,
  latitude Latitude,
  elevation Elevation,
-- STF405: removed heading and confidence elements due to type splitting
--  heading [1] Direction OPTIONAL,
  streetName StreetName OPTIONAL,
--  positionConfidence [3] PositionConfidence OPTIONAL, 
--  elevationConfidence [4] Confidence OPTIONAL, 
  roadSegmentID RoadSegmentID OPTIONAL
}


RoadSegmentID ::= INTEGER (0..99999999) 

RouteRef ::= IA5String(SIZE(0..32)) 
@@ -335,6 +313,8 @@ StreetName ::= IA5String(SIZE(1..32))

Temperature ::= INTEGER (-40..215) 

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

TrafficLightPriority ::= Priority 

TurnAdvice ::= SEQUENCE {
+46 −29
Original line number Diff line number Diff line
@@ -7,26 +7,35 @@ DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

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

--STF405: all unnecessary tags have been removed

--STF405: doubled defined, renamed
--DecentralizedSituation ::= SEQUENCE {
DecentralizedEnvironmentalNotificationMessage ::= SEQUENCE {
	management	DecentralizedSituationManagement,	--  container with DEN management and version control
	situation	DecentralizedSituation,  			-- container with event description, incl. type, severity
	location	DecentralizedSituationLocation		-- container with event location, location referencing with more detailed location description and the relevance area
 }

DecentralizedSituationManagement::= SEQUENCE {
	-- protocol version number of the DENM
	protocolVersion	INTEGER (0..255),
	
	-- unique message type identifier assigned to the DENM		
	messageID	MessageID,	-- 1 byte 
	messageID	INTEGER(0..255),	-- 1 byte 
	
	-- time at which an originator  ITS  station generates the DENM
	generationtime	TimeStamp,		--  6 byte
	generationTime	TimeStamp,		--  6 byte
	
	management	DecentralizedSituationManagement,	--  container with DEN management and version control
	situation	DecentralizedSituation,  			-- container with event description, incl. type, severity
	location	DecentralizedSituationLocation,		-- container with event location, location referencing with more detailed location description and the relevance area
	
	...
 }

DecentralizedSituationManagement::= SEQUENCE {
	-- unique identifier about an event from one originator ITS station, combination of node ID and a sequence number
	actionID	ActionID,	-- 6 byte
	
	-- version of the DENM indicating updates from the same originator ITS station; value of 255 is used for the  cancellation message sent from the originator ITS station
	
	-- STF405: changed inline definition to explicit
@@ -73,33 +82,38 @@ DecentralizedSituation::= SEQUENCE {
	-- STF405: changed to profile based on the changes in the CAM module
	-- taggedList	SET SIZE(0..32) OF TaggedList OPTIONAL 
	-- optional taggedlist with TaggedValue  OPTIONAL
	commonParameters	BasicVehicle OPTIONAL,
	profile ProfileParameters    OPTIONAL
}

DecentralizedSituationLocation::= SEQUENCE {
	-- description of the event position
	-- STF405: as the eventPosition CHOICe is extensible the EventArea type can be added when needed
	eventPosition	CHOICE	{
		-- the geographical position of the reference position 
		refPosition	[0] RefPosition,	
--		refPosition	RefPosition,	
		refPosition	ReferencePositionVehicle,	
		...
	},
	-- description of  the relevance area for the  DENM dissemination
	--STF405:  type definition of RelevanceArea missing!
	--STF405:  changed DecentralizedSituationLocation to extensible SEQUENCE, so that definition of RelevanceArea can be added when needed!
	--relevanceArea	RelevanceArea,
	-- location referencing of the event position
	locationRef	CHOICE {
		-- consequence position of the trace location referencing mechanism
		trace	[0]	TraceLocData,
		trace	TraceLocData,
		-- more location referencing mechanism to be added
		...
	},
	...
}
}

MessageID ::=  	INTEGER (0..255) 		-- 1 byte

--STF405: renamed to TimeStamp as this is actually referenced, LongTimeStamp never
--STF405: changed MessageID to inline definition, as in CAM
--MessageID ::=  	INTEGER (0..255) 		-- 1 byte

--STF405: uses imported TimeStamp type instead as this is actually referenced, LongTimeStamp never
--LongTimeStamp ::=	INTEGER (0.. 281474976710655)		
TimeStamp ::=	INTEGER (0.. 281474976710655)		-- units of milliseconds, 6 byte

ActionID ::= SEQUENCE {
	stationID 	StationID,	-- a 4 byte value
@@ -217,24 +231,25 @@ Severity ::= ENUMERATED -- 1 byte
-- 	...
-- }

RefPosition ::= SEQUENCE {
	situationLat	Latitude,  	-- 4 bytes
	situationLong	Longitude,  	-- 4 bytes
	situationAlt	Altitude,	-- 2 bytes
	-- accuracy of the reference position
	accuracy	PositionAccuracy,	-- 4 bytes	
	-- speed of the detected event if it is in mobility, i.e. vehicle station
	speed	Speed	OPTIONAL,		-- 2 bytes
	-- direction of the event if it is in mobility, i.e. vehicle station
	direction	Direction	OPTIONAL	-- 2 bytes
}
--STF405: replaced by imported type from CAM
--RefPosition ::= SEQUENCE {
--	situationLat	Latitude,  	-- 4 bytes
--	situationLong	Longitude,  	-- 4 bytes
--	situationAlt	Altitude,	-- 2 bytes
--	-- accuracy of the reference position
--	accuracy	PositionAccuracy,	-- 4 bytes	
--	-- speed of the detected event if it is in mobility, i.e. vehicle station
--	speed	Speed	OPTIONAL,		-- 2 bytes
--	-- direction of the event if it is in mobility, i.e. vehicle station
--	direction	Direction	OPTIONAL	-- 2 bytes
--}

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

PositionAccuracy ::= OCTET STRING (SIZE(4))	

--STF405: removed OPTIONAL, as it is syntactically incorrect
Direction ::= INTEGER{north(0), east(7200), south(14400), west(21600)} (0..28799)
--STF405: removed Direction, as it is imported from CAM
--Direction ::= INTEGER{north(0), east(7200), south(14400), west(21600)} (0..28799)

--STF405: removed OPTIONAL, as it is syntactically incorrect
Speed ::= INTEGER (-32765..32765)	 -- multiples of 0.01 m/s 
@@ -258,7 +273,9 @@ Waypoint ::= SEQUENCE{
	--  waypoint positions included in the trace.	
	ptLat 	Latitude,							--a 4 bytes value 
	ptLong 	Longitude,						--a 4 bytes value
	ptAlt 	Altitude,							--a 2 bytes value
--STF405: type name is made consistent with CAM definitions
--	ptAlt 	Altitude,							--a 2 bytes value
	ptAlt 	Elevation,
	...
	--STF405: removed repetition
}