Commit 3162331a authored by mullers's avatar mullers
Browse files

asn definitions to be used for plugtest

parent 5d580c40
Loading
Loading
Loading
Loading

SPAT/SPAT.asn

0 → 100644
+94 −0
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

SPAT-PDU-Descriptions 

DEFINITIONS AUTOMATIC TAGS  ::= 

BEGIN

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

--	The root data frame for spat
SpatPdu ::= SEQUENCE {
	header	ItsPduHeader,
	spat		SignalPhaseAndTimingData

}

SignalPhaseAndTimingData ::= SEQUENCE {
	id IntersectionID,	-- this provided a unique mapping to the intersection map in question
	status IntersectionStatusObject,	-- general status of the controller
	states SEQUENCE (SIZE(1..255)) OF MovementState	-- each active Movement/lane is given in turn and contains its state, and seconds to the next event etc.
}

IntersectionID ::= INTEGER (0..999999)

IntersectionStatusObject ::= BIT STRING{
	manual (0), 	-- Manual Control is enabled. Timing reported is per programmed values, etc
					--but person at cabinet can manually request that certain intervals are terminated early (e.g. green)
	stopTime (1),	-- Stop Time is activated and all counting/timing has stopped.
	conflict (2),	-- Intersection is in Conflict Flash.
	preempt (3),	-- Preempt is Active
	transit (4),		-- Transit Signal Priority (TSP) is Active
	proceedYel(5),
	reserved1 (6),	-- Reserved
	reserved2 (7),	-- Reserved as zero
	flashYelAll (8),	-- controller is in yellow flash state for all legs (e.g. at night) (see OCIT)
	flashYelMin (9),	-- controller is in yellow flash state for minor legs only,major legs are switched off (see OCIT)
	partOff (10),	-- controller is partially switched off or partially yellow flashing (see OCIT)
	problem (11),	-- controller has communication problems (see OCIT)
	exceptional(12),	-- exceptional operation (e.g. during maintenance) (see OCIT)
	off (13)	 	-- controller is switched off (see OCIT)
}

MovementState ::= SEQUENCE {			-- the collection of lanes, by num, to which some state data applies
	movementId INTEGER OPTIONAL,
	--category TrafficCategory, 			indvidualTraffic, public transport, ..
	lineRef IA5String(SIZE(0..32)), 	-- see PTLineDescription
	laneSet LaneSet,					-- the collection of lanes, to which this state data applies
	currState ColorState OPTIONAL,	-- the state of a Motorised lane
	relevantManeuver TurnDirection, 	-- e.g. right turn
	nextChanges SEQUENCE OF Change	 	-- description of next phase changes
}

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

LaneNumber ::= INTEGER	-- Unique ID of a lane at an intersection or other topology data set.

TurnDirection ::= BIT STRING { -- Direction of turn movement for signal description or vehicle maneuver.
	uTurn (0),
	sharpRight (1),
	right (2),
	slightRight (3),
	straight (4),
	slightLeft (5),
	left (6),
	sharpLeft (7)
}

ColorState ::= BIT STRING {
	green(0),
	yellow(1),
	red(2),
	flashing(3)
}


Change ::= SEQUENCE{ -- change of signal phase
	minTimeToChange TimeToChange,	-- a count of the minimum time remaining in this state
	maxTimeToChange TimeToChange,	-- a count of the maximum time remaining in this state
	likelyTimeToChange TimeToChange,	-- a count of the most propable time remaining in this State
	confidence Confidence,			-- a confidence value for likelyTimeToChange
	passState BOOLEAN,				-- true, vehicles may pass
	predCnt INTEGER,				-- for which state is this valid?
	...
}


TimeToChange ::= INTEGER (0..65535)		-- time interval until signal state change reserved meanings: 0, 65531, 65532, 65533, 65534 and 65535

Confidence ::= INTEGER (0..15)

END
 No newline at end of file

TOPO/TOPO.asn

0 → 100644
+91 −0
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

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

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

}

Intersection ::= SEQUENCE {
	id IntersectionID,
	refPoint 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
}
ApproachObject ::= SEQUENCE {
	approach Approach
}


Approach ::= SEQUENCE { -- Egress or approach of a link containing all lanes
	drivingLanes SEQUENCE SIZE(0..32) OF VehicleReferenceLane
}

VehicleReferenceLane ::= SEQUENCE { -- lane defined by a point list
	laneNumber LaneNumber,
	laneWidth LaneWidth,
	nodeList NodeList,
	connectsTo ConnectsTo ,
	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 {
	lane LaneNumber,
	intersection IntersectionID,
	maneuver TurnDirection
}

TurnDirection ::= BIT STRING {
	uTurn (0),
	sharpRight (1),
	right (2),
	slightRight (3),
	straight (4),
	slightLeft (5),
	left (6),
	sharpLeft (7)
}

END
 No newline at end of file