summaryrefslogtreecommitdiffstats
path: root/epan/dissectors/asn1/its/EVCSN-PDU-Descriptions.asn
blob: b95dfd085d96e81a7994518a7287928c7ba6fd35 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
-- Point of Interest (POI) notification for charging spot
-- for electric vehicle
-- EVCSN Message definition
-- ASN.1 Start Definition

EVCSN-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5)
wg1 (1) ts (101556) evcsn (1) version (1)
}

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS
    ItsPduHeader,
    StationID,
    TimestampIts, -- CORRECTION
    DigitalMap, -- PATCH
    ReferencePosition
FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-3 (3) minor-version-1 (1)}
;

-- Root Message PDU: EvcsnPdu

EvcsnPdu ::= SEQUENCE {
	header	ItsPduHeader,
	evcsn	EVChargingSpotNotificationPOIMessage
}

EVChargingSpotNotificationPOIMessage ::= SEQUENCE {
	poiHeader	ItsPOIHeader, -- Specific POI Message Header
	evcsnData	ItsEVCSNData  -- Electric Vehicle Charging Spot Data Elements
}

ItsPOIHeader ::= SEQUENCE {
	poiType                 POIType, -- set to "EV charging station POI ID = 1"
    	timeStamp               TimestampIts, -- CORRECTION
	relayCapable            BOOLEAN
}


ItsEVCSNData ::= SEQUENCE {
	totalNumberOfStations   NumberStations,
	chargingStationsData    SEQUENCE (SIZE(1..256)) OF ItsChargingStationData
}

ItsChargingStationData ::= SEQUENCE {
	chargingStationID     	StationID,
	utilityDistributorId  	UTF8String (SIZE(1..32))	OPTIONAL,
	providerID            	UTF8String (SIZE(1..32))	OPTIONAL,
	chargingStationLocation	ReferencePosition,
	address               	UTF8String 	        	OPTIONAL,
	phoneNumber           	NumericString (SIZE(1..16))    	OPTIONAL,
	accessibility         	UTF8String (SIZE(1..32)),
	digitalMap            	DigitalMap           		OPTIONAL,
	openingDaysHours      	UTF8String,
	pricing               	UTF8String,
	bookingContactInfo    	UTF8String          		OPTIONAL,
	payment               	UTF8String          		OPTIONAL,
	chargingSpotsAvailable  ItsChargingSpots,
	...
}


ItsChargingSpots ::= SEQUENCE (SIZE(1..16)) OF ItsChargingSpotDataElements


ItsChargingSpotDataElements ::= SEQUENCE {
	type			ChargingSpotType,
	evEquipmentID	UTF8String	OPTIONAL,
	typeOfReceptacle	TypeOfReceptacle,
	energyAvailability	UTF8String,
	parkingPlacesData	ParkingPlacesData	OPTIONAL
}

-- DigitalMap ::= SEQUENCE (SIZE(1..256)) OF ReferencePosition PATCH

ChargingSpotType ::= BIT STRING {
	standardChargeMode1(0),
	standardChargeMode2(1),
	standardOrFastChargeMode3(2),
	fastChargeWithExternalCharger(3),
	quickDrop(8),
	inductiveChargeWhileStationary(12),
	inductiveChargeWhileDriving(14)
}

TypeOfReceptacle	::= BIT STRING

ParkingPlacesData	::= SEQUENCE (SIZE(1..4)) OF SpotAvailability

SpotAvailability 	::= SEQUENCE {
	maxWaitingTimeMinutes INTEGER (0..1400), -- 0 if available or max waiting
						 -- time (minutes)
	blocking              BOOLEAN            -- true if the spot can be blocked
}

POIType                ::= INTEGER(0..65535)
NumberStations         ::= INTEGER(1..256)

END