pitasc_library - monitors/basic.xml
Model definitions
line 17: monitor_sync
line 67: monitor_execution_counter
line 106: monitor_duration
line 128: monitor_script_result
File contents
1<?xml version="1.0" encoding="UTF-8"?>
2
3<pitasc>
4
5 <models>
6
7 <type id="monitor_nop" prototype="monitor">
8 <meta>
9 <member id="description">Monitor that never fires</member>
10 <member id="categories">logic</member>
11 <member id="implementation">
12 </member>
13 </meta>
14 </type>
15
16
17 <type id="monitor_sync" prototype="monitor">
18 <meta>
19 <member id="description">Contains other monitors and triggers when all sub-events match.</member>
20 <member id="categories">logic</member>
21 <member id="implementation">
22 <clone prototype="orocos">
23 <member id="package">cppitasc_monitors</member>
24 <member id="component">SyncMonitor</member>
25 </clone>
26 </member>
27 </meta>
28 <data>
29 <type id="monitors" data_type="list:monitor" prototype="base">
30 <meta>
31 <member id="description">Sub-monitors that need to be synced.</member>
32 <member id="visibility">required</member>
33 </meta>
34 </type>
35 <type id="events" prototype="string_csv">
36 <meta>
37 <member id="description">Events that trigger the sync. If empty, **succeeded** is assumed for all sub monitors.</member>
38 <member id="visibility">basic</member>
39 </meta>
40 <data></data>
41 </type>
42 </data>
43 </type>
44
45
46 <type id="monitor_cycle_counter" prototype="monitor">
47 <meta>
48 <member id="description">Triggers after a certain number of cycles.</member>
49 <member id="categories">logic</member>
50 <member id="implementation">
51 </member>
52 </meta>
53 <data>
54 <type id="count" prototype="int_parameter">
55 <meta>
56 <member id="description">The number of cycles before the event is raised</member>
57 <member id="visibility">required</member>
58 <clone prototype="restrictions">
59 <clone prototype="int_min">0</clone>
60 </clone>
61 </meta>
62 </type>
63 </data>
64 </type>
65
66
67 <type id="monitor_execution_counter" prototype="monitor">
68 <meta>
69 <member id="description">Triggers after a certain number of executions of the parent skill. Can trigger a **reject_event** if the number of exections is not reached yet.</member>
70 <member id="categories">logic</member>
71 <member id="implementation">
72 <clone prototype="orocos">
73 <member id="package">cppitasc_monitors</member>
74 <member id="component">ExecutionCounterMonitor</member>
75 </clone>
76 </member>
77 </meta>
78 <data>
79 <type id="count" prototype="int_parameter">
80 <meta>
81 <member id="description">Number of executions before triggering</member>
82 <member id="visibility">required</member>
83 <clone prototype="restrictions">
84 <clone prototype="int_min">1</clone>
85 </clone>
86 </meta>
87 </type>
88 <type id="reject_event" prototype="string_parameter">
89 <meta>
90 <member id="description">The event to be triggered if count **is not** reached.</member>
91 <member id="visibility">basic</member>
92 </meta>
93 <data>preempted</data>
94 </type>
95 <type id="fire_on_reject" prototype="bool_parameter">
96 <meta>
97 <member id="description">If true, the **reject_event** is triggered if the **count** is not reached yet.</member>
98 <member id="visibility">basic</member>
99 </meta>
100 <data>false</data>
101 </type>
102 </data>
103 </type>
104
105
106 <type id="monitor_duration" prototype="monitor">
107 <meta>
108 <member id="description">Triggers after a certain time.</member>
109 <member id="categories">logic</member>
110 <member id="implementation">
111 <clone prototype="orocos">
112 <member id="package">cppitasc_monitors</member>
113 <member id="component">DurationMonitor</member>
114 </clone>
115 </member>
116 </meta>
117 <data>
118 <type id="duration" prototype="float_parameter">
119 <meta>
120 <member id="description">The amount of time to wait until triggering</member>
121 <member id="visibility">required</member>
122 </meta>
123 </type>
124 </data>
125 </type>
126
127
128 <type id="monitor_script_result" prototype="monitor">
129 <meta>
130 <member id="description">Triggers when a script returns a certain result.</member>
131 <member id="categories">logic</member>
132 <member id="implementation">
133 <clone prototype="orocos">
134 <member id="package">cppitasc_monitors</member>
135 <member id="component">ScriptResultMonitor</member>
136 </clone>
137 </member>
138 </meta>
139 <data>
140 <type id="script" data_type="parameter:script" prototype="base">
141 <meta>
142 <member id="description">The script to watch</member>
143 <member id="visibility">required</member>
144 </meta>
145 </type>
146 <type id="possible_results" prototype="string_csv">
147 <meta>
148 <member id="description">The possible results that can be returned by the script</member>
149 <member id="visibility">required</member>
150 </meta>
151 </type>
152 <type id="events" prototype="string_csv">
153 <meta>
154 <member id="description">The respective events that are fired, in the order according to the possible results</member>
155 <member id="visibility">required</member>
156 </meta>
157 </type>
158 <member id="event"></member> <!-- must not be set, but 'events' instead -->
159 <member id="event.meta.visibility">hidden</member>
160 </data>
161 </type>
162
163
164 <type id="monitor_trigger_script_result" prototype="monitor">
165 <meta>
166 <member id="description">Triggers when a script calling a trigger-like service finishes.</member>
167 <member id="categories">logic</member>
168 <member id="implementation">
169 </member>
170 </meta>
171 <data>
172 <type id="script" data_type="parameter:script" prototype="base">
173 <meta>
174 <member id="description">The script to watch</member>
175 <member id="visibility">required</member>
176 </meta>
177 </type>
178 <type id="fail_event" prototype="string_parameter">
179 <meta>
180 <member id="description">The event to be triggered on failure.</member>
181 <member id="visibility">basic</member>
182 </meta>
183 <data>preempted</data>
184 </type>
185 </data>
186 </type>
187
188 </models>
189
190</pitasc>