Commit 1d0948f0 authored by mullers's avatar mullers
Browse files

definitions from NORDSYS copied

parent 95982f44
Loading
Loading
Loading
Loading
+82 −53
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

TOPO-PDU-Descriptions

@@ -6,78 +5,57 @@ DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS ItsPduHeader, ReferencePosition FROM ITS-Container {
 itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102637) cc (0) version (1) 
IMPORTS ItsPduHeader, Latitude, Longitude FROM ITS-Container {
 itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102637) cc (0) version (2) 
};

--	The root data frame for spat
TopoPdu ::= SEQUENCE {
	header	ItsPduHeader,
	topo	Intersection

	topo	TOPO
}

Intersection ::= SEQUENCE {
TOPO ::=  SEQUENCE { 
   id          IntersectionID,
	refPoint ReferencePosition,
	approaches SEQUENCE SIZE(1..32) OF ApproachObject
   refPoint    IntersectionReferencePosition, 						-- In SAE2735 this values is called Position3D
														-- To stay compatible with current TOPO implementation, it has been renamed to ReferencePosition
   approaches SEQUENCE (SIZE(1..32)) OF  ApproachObject
}

IntersectionID ::= INTEGER (0..999999)

--ReferencePosition ::= SEQUENCE {
	-- longitude Longitude,
	--latitude Latitude
--}

Latitude ::= SEQUENCE {
	degree INTEGER (-900000000..900000000) -- multiples of 0.1 microdegree
IntersectionReferencePosition ::=  SEQUENCE { 
   lat         Latitude,
   long        Longitude
}

ApproachObject ::=  SEQUENCE {
	approach Approach
   laneWidth    LaneWidth  OPTIONAL,					-- Not used in DRIVE C2X
   approach     Approach,  
   egress       Approach OPTIONAL						-- Not used in DRIVE C2X
}


Approach ::= SEQUENCE { -- Egress or approach of a link containing all lanes
	drivingLanes SEQUENCE SIZE(0..32) OF VehicleReferenceLane
Approach ::=  SEQUENCE { 								-- Computed and Special lanes have been removed
   id             ApproachNumber,     
   drivingLanes   SEQUENCE (SIZE(0..32)) OF VehicleReferenceLane
} 

VehicleReferenceLane ::= SEQUENCE { -- lane defined by a point list
VehicleReferenceLane ::=  SEQUENCE { 
   laneNumber       LaneNumber,  
   laneWidth        LaneWidth,  
   laneAttributes   VehicleLaneAttributes,  			-- Used in DRIVE C2X to specify turn possibilities.
														-- Replaces ConnectsTo information.
   nodeList         NodeList,
	connectsTo ConnectsTo ,
   keepOutList      NodeList OPTIONAL,					-- Not used in DRIVE C2X
   connectsTo       ConnectsTo  OPTIONAL,				-- Not used in DRIVE C2X
   speedLimit       INTEGER (0..150)
}

LaneNumber ::= INTEGER

LaneWidth ::= Dimension --	Dimension of an object, e.g. height, wheelbase Granularity 0.01m

Dimension ::= INTEGER (0..16383)

-- List of relative positions describing an egress or approach
-- first point is the the stop line or point at the boarder of the intersection area
NodeList ::= SEQUENCE{
	nodes SEQUENCE SIZE (2..64) OF Offsets
}		


Offsets ::= SEQUENCE { -- providing offsets in an karthesian coordinate system in 1cm granularity
	xOffset INTEGER (-32767..32767),
	yOffset INTEGER (-32767..32767)
}


ConnectsTo ::= SEQUENCE(SIZE(1..48)) OF ConnectionInformation	-- List of possible connection of a lane

ConnectionInformation ::= SEQUENCE {
ConnectionInformation ::= SEQUENCE {					-- Not used in DRIVE C2X
	lane LaneNumber,
	intersection IntersectionID,
	maneuver TurnDirection
}

TurnDirection ::= BIT STRING {
TurnDirection ::= BIT STRING {							-- Not used in DRIVE C2X
	uTurn (0),
	sharpRight (1),
	right (2),
@@ -88,4 +66,55 @@ TurnDirection ::= BIT STRING {
	sharpLeft (7)
}

NodeList ::= SEQUENCE{
	nodes SEQUENCE SIZE (2..64) OF Offsets
}

Offsets ::= SEQUENCE {									-- z-offset has been removed.
	xOffset INTEGER (-32767..32767),
	yOffset INTEGER (-32767..32767)
}

VehicleLaneAttributes ::= BIT STRING { 
      noData                   (0),  					-- Not used in DRIVE C2X
      egressPath               (1),						-- Not used in DRIVE C2X
      maneuverStraightAllowed  (2), 	
      maneuverLeftAllowed      (3), 
      maneuverRightAllowed     (4), 
      yield                    (5),						-- Not used in DRIVE C2X
      maneuverNoUTurn          (6),						-- Not used in DRIVE C2X
      maneuverNoTurnOnRed      (7),						-- Not used in DRIVE C2X
      maneuverNoStop           (8),						-- Not used in DRIVE C2X
      noStop                   (9),						-- Not used in DRIVE C2X
      noTurnOnRed             (10),						-- Not used in DRIVE C2X
      hovLane                 (11),						-- Not used in DRIVE C2X
      bus                     (12),						-- Not used in DRIVE C2X
      taxi                    (13),						-- Not used in DRIVE C2X
      maneuverHOVLane         (14),						-- Not used in DRIVE C2X
      maneuverSharedLane      (15),						-- Not used in DRIVE C2X
      bike                    (16),						-- Not used in DRIVE C2X
      train                   (17),						-- Not used in DRIVE C2X
      individualTraffic       (18),						-- Not used in DRIVE C2X
      vehiclesEntering        (19),						-- Not used in DRIVE C2X
      vehiclesLeaving         (20)						-- Not used in DRIVE C2X
}

ConnectsTo ::= SEQUENCE(SIZE(1..48)) OF ConnectionInformation

TimeToChange ::= INTEGER (0..65535)

Confidence ::= INTEGER (0..15)							-- Not (yet) used in DRIVE C2X

IntersectionID ::= INTEGER (0..999999)

LaneSet ::= SET( SIZE(1..127)) OF LaneNumber

LaneNumber ::= INTEGER

LaneWidth ::= Dimension

Dimension ::= INTEGER (0..16383)

ApproachNumber ::= INTEGER (0..127)

END
 No newline at end of file