-
Notifications
You must be signed in to change notification settings - Fork 122
/
Copy pathTrafficController.siml
116 lines (116 loc) · 5.82 KB
/
TrafficController.siml
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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<ServiceInterface FormatVersion="1.0.0">
<Overview ID="1" Name="TrafficController" Version="1.0.0" isRemote="true">
<Description>This is a traffic light controlle service interface.</Description>
</Overview>
<DataTypeList>
<DataType ID="2" Name="eTrafficDirection" Type="Enumerate" Values="default">
<Description>The direction of traffic.</Description>
<FieldList>
<EnumEntry ID="4" Name="DirectionUndefiend">
<Value/>
<Description>Undefined direction.</Description>
</EnumEntry>
<EnumEntry ID="5" Name="DirectionSouthNorth">
<Value/>
<Description>The traffic direction is south-north.</Description>
</EnumEntry>
<EnumEntry ID="6" Name="DirectionEastWest">
<Value/>
<Description>The traffic direction is east-west.</Description>
</EnumEntry>
</FieldList>
</DataType>
<DataType ID="7" Name="eVehicleTrafficLight" Type="Enumerate" Values="default">
<Description>The states of vehicle traffic states.</Description>
<FieldList>
<EnumEntry ID="8" Name="VehicleLightOFF">
<Value/>
<Description>The vehicle lights are OFF.</Description>
</EnumEntry>
<EnumEntry ID="9" Name="VehicleLightsInit">
<Value/>
<Description>The vehicle lights are initialized (blink yellow).</Description>
</EnumEntry>
<EnumEntry ID="10" Name="VehicleLightRed">
<Value/>
<Description>Vehicle light is red.</Description>
</EnumEntry>
<EnumEntry ID="11" Name="VehicleLightYellow">
<Value/>
<Description>Vehicle light is yellow.</Description>
</EnumEntry>
<EnumEntry ID="12" Name="VehicleLightGreen">
<Value/>
<Description>The vehicle light is green.</Description>
</EnumEntry>
</FieldList>
</DataType>
<DataType ID="13" Name="ePedestrianTrafficLight" Type="Enumerate" Values="default">
<Description>The traffic light state of pedestrians.</Description>
<FieldList>
<EnumEntry ID="14" Name="PedestrianLightOFF">
<Value/>
<Description>The pedestrian light is OFF.</Description>
</EnumEntry>
<EnumEntry ID="15" Name="PedestrianLightRed">
<Value/>
<Description>Pedestrian light is red.</Description>
</EnumEntry>
<EnumEntry ID="16" Name="PedestrianLightGreen">
<Value/>
<Description>The pedestrian light is green.</Description>
</EnumEntry>
</FieldList>
</DataType>
<DataType ID="28" Name="sTrafficLight" Type="Structure">
<Description>Describes the direction of traffic and the states of lights for vehicle and pedestrians.</Description>
<FieldList>
<Field DataType="eTrafficDirection" ID="29" Name="trafficDirection">
<Value IsDefault="true">eTrafficDirection::DirectionUndefiend</Value>
<Description>The traffic direction</Description>
</Field>
<Field DataType="eVehicleTrafficLight" ID="30" Name="lightVehicle">
<Value IsDefault="true">eVehicleTrafficLight::VehicleLightOFF</Value>
<Description>The state of vehicle lights.</Description>
</Field>
<Field DataType="ePedestrianTrafficLight" ID="31" Name="lightPedestrian">
<Value IsDefault="true">ePedestrianTrafficLight::PedestrianLightOFF</Value>
<Description>Describes the state of pedestrian lights.</Description>
</Field>
</FieldList>
</DataType>
</DataTypeList>
<AttributeList>
<Attribute DataType="sTrafficLight" ID="32" Name="TrafficSouthNorth" Notify="OnChange">
<Description>The south-north traffic.</Description>
</Attribute>
<Attribute DataType="sTrafficLight" ID="33" Name="TrafficEastWest" Notify="OnChange">
<Description>The east-west traffic</Description>
</Attribute>
</AttributeList>
<MethodList>
<Method ID="21" MethodType="broadcast" Name="SouthNorth">
<Description>Broadcasts the light states of south-north direction.</Description>
<ParamList>
<Parameter DataType="eVehicleTrafficLight" ID="23" Name="LightVehicle">
<Description>Light state for vehicles</Description>
</Parameter>
<Parameter DataType="ePedestrianTrafficLight" ID="24" Name="LightPedestrian">
<Description>Light state for pedestrians.</Description>
</Parameter>
</ParamList>
</Method>
<Method ID="25" MethodType="broadcast" Name="EastWest">
<Description>Broadcasts the light states of east-west direction.</Description>
<ParamList>
<Parameter DataType="eVehicleTrafficLight" ID="26" Name="LightVehicle">
<Description>Light state for vehicles</Description>
</Parameter>
<Parameter DataType="ePedestrianTrafficLight" ID="27" Name="LightPedestrian">
<Description>Light state for pedestrians.</Description>
</Parameter>
</ParamList>
</Method>
</MethodList>
</ServiceInterface>