This repository has been archived by the owner on Jan 7, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 39
/
communication.xml
95 lines (78 loc) · 2.43 KB
/
communication.xml
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
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE rca SYSTEM "communication.dtd">
<rca version="1.0">
<!-- Basic data types -->
<builtin name="int8_t" size="1" />
<builtin name="int16_t" size="2" />
<builtin name="int32_t" size="4" />
<builtin name="uint8_t" size="1" />
<builtin name="uint16_t" size="2" />
<builtin name="uint32_t" size="4" />
<builtin name="float" size="4" />
<builtin name="char" size="1" />
<typedef name="Bool" type="uint8_t">
<description>On x86 systems the bool-type has 4 bytes and on AVRs it has 1 byte.
This type is defined to make it possible to send bools from everywhere.</description>
</typedef>
<!-- Aggregated data types -->
<struct name="position">
<description>Position of the Robot on the Playground.</description>
<element name="x" type="int16_t" unit="mm" />
<element name="y" type="int16_t" unit="mm" />
</struct>
<struct name="Location">
<description>Lage = Position + Orientierung</description>
<element name="x" type="int16_t" unit="mm" />
<element name="y" type="int16_t" unit="mm" />
<element name="phi" type="float" unit="rad" />
</struct>
<!-- Events -->
<event name="Robot Location" type="Location" id="0x13">
<description>The current Location of the Robot. Pivot point of the differential drive.</description>
</event>
<!-- Components -->
<component name="sender" id="0x01">
</component>
<component name="receiver" id="0x02">
<actions>
<action name="set position" id="0x01" parameterType="position" />
<action name="get position" id="0x02" returnType="position" />
</actions>
</component>
<component name="odometry" id="0x03">
<actions>
<action name="set led red" id="0x09" parameterType="Bool" />
</actions>
<events>
<publish>
<event name="Robot Location" />
<!-- <event name="Odometry Speed" /> -->
<!-- <event name="Odometry Encoder Integration" /> -->
</publish>
</events>
</component>
<component name="gui" id="0x04">
<events>
<subscribe>
<event name="Robot Location" />
</subscribe>
</events>
</component>
<!-- Containers -->
<container name="sender" id="0x10">
<component name="sender" />
</container>
<container name="receiver" id="0x20">
<component name="receiver" />
</container>
<container name="odometry" id="0x30">
<component name="odometry" />
</container>
<container name="sender receiver" id="0x40">
<component name="sender" />
<component name="receiver" />
</container>
<container name="gui" id="0x50">
<component name="gui" />
</container>
</rca>