cosmos-unpacking_interface 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +10 -0
- data/.travis.yml +7 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +158 -0
- data/Rakefile +12 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/config/data/README.txt +1 -0
- data/config/data/crc.txt +198 -0
- data/config/system/system.txt +29 -0
- data/config/targets/COSMOS/cmd_tlm/cosmos_server_cmds.txt +41 -0
- data/config/targets/COSMOS/cmd_tlm/cosmos_server_tlm.txt +15 -0
- data/config/targets/COSMOS/cmd_tlm_server.txt +6 -0
- data/config/targets/COSMOS/screens/limits_change.txt +20 -0
- data/config/targets/COSMOS/screens/version.txt +19 -0
- data/config/targets/COSMOS/target.txt +9 -0
- data/config/targets/PI/cmd_tlm/pi_tlm_test.txt +12 -0
- data/config/targets/PI/cmd_tlm/pi_tlm_test_1.txt +13 -0
- data/config/targets/PI/cmd_tlm/pi_tlm_test_2.txt +68 -0
- data/config/targets/PI/cmd_tlm/pi_tlm_test_3.txt +12 -0
- data/config/targets/PI/cmd_tlm_server.txt +4 -0
- data/config/targets/PI/target.txt +4 -0
- data/cosmos-unpacking_interface.gemspec +34 -0
- data/doc/Cosmos.html +98 -0
- data/doc/Cosmos/AggregatePacketMapper.html +152 -0
- data/doc/Cosmos/AggregatePacketProcesser.html +249 -0
- data/doc/Cosmos/BaseNameMap.html +364 -0
- data/doc/Cosmos/UnpackingInterface.html +399 -0
- data/doc/UnpackingInterface.html +110 -0
- data/doc/created.rid +7 -0
- data/doc/css/fonts.css +167 -0
- data/doc/css/rdoc.css +590 -0
- data/doc/fonts/Lato-Light.ttf +0 -0
- data/doc/fonts/Lato-LightItalic.ttf +0 -0
- data/doc/fonts/Lato-Regular.ttf +0 -0
- data/doc/fonts/Lato-RegularItalic.ttf +0 -0
- data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
- data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
- data/doc/images/add.png +0 -0
- data/doc/images/arrow_up.png +0 -0
- data/doc/images/brick.png +0 -0
- data/doc/images/brick_link.png +0 -0
- data/doc/images/bug.png +0 -0
- data/doc/images/bullet_black.png +0 -0
- data/doc/images/bullet_toggle_minus.png +0 -0
- data/doc/images/bullet_toggle_plus.png +0 -0
- data/doc/images/date.png +0 -0
- data/doc/images/delete.png +0 -0
- data/doc/images/find.png +0 -0
- data/doc/images/loadingAnimation.gif +0 -0
- data/doc/images/macFFBgHack.png +0 -0
- data/doc/images/package.png +0 -0
- data/doc/images/page_green.png +0 -0
- data/doc/images/page_white_text.png +0 -0
- data/doc/images/page_white_width.png +0 -0
- data/doc/images/plugin.png +0 -0
- data/doc/images/ruby.png +0 -0
- data/doc/images/tag_blue.png +0 -0
- data/doc/images/tag_green.png +0 -0
- data/doc/images/transparent.png +0 -0
- data/doc/images/wrench.png +0 -0
- data/doc/images/wrench_orange.png +0 -0
- data/doc/images/zoom.png +0 -0
- data/doc/index.html +91 -0
- data/doc/js/darkfish.js +161 -0
- data/doc/js/jquery.js +4 -0
- data/doc/js/navigation.js +141 -0
- data/doc/js/navigation.js.gz +0 -0
- data/doc/js/search.js +109 -0
- data/doc/js/search_index.js +1 -0
- data/doc/js/search_index.js.gz +0 -0
- data/doc/js/searcher.js +229 -0
- data/doc/js/searcher.js.gz +0 -0
- data/doc/lib/README_rdoc.html +118 -0
- data/doc/table_of_contents.html +140 -0
- data/lib/cosmos/unpacking_interface.rb +14 -0
- data/lib/cosmos/unpacking_interface/aggregate_packet_mapper.rb +14 -0
- data/lib/cosmos/unpacking_interface/aggregate_packet_processor.rb +42 -0
- data/lib/cosmos/unpacking_interface/base_name_map.rb +67 -0
- data/lib/cosmos/unpacking_interface/unpacking_interface.rb +87 -0
- data/lib/cosmos/unpacking_interface/version.rb +3 -0
- metadata +174 -0
@@ -0,0 +1,399 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<meta charset="UTF-8">
|
6
|
+
|
7
|
+
<title>class Cosmos::UnpackingInterface - RDoc Documentation</title>
|
8
|
+
|
9
|
+
<script type="text/javascript">
|
10
|
+
var rdoc_rel_prefix = "../";
|
11
|
+
var index_rel_prefix = "../";
|
12
|
+
</script>
|
13
|
+
|
14
|
+
<script src="../js/jquery.js"></script>
|
15
|
+
<script src="../js/darkfish.js"></script>
|
16
|
+
|
17
|
+
<link href="../css/fonts.css" rel="stylesheet">
|
18
|
+
<link href="../css/rdoc.css" rel="stylesheet">
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
<body id="top" role="document" class="class">
|
23
|
+
<nav role="navigation">
|
24
|
+
<div id="project-navigation">
|
25
|
+
<div id="home-section" role="region" title="Quick navigation" class="nav-section">
|
26
|
+
<h2>
|
27
|
+
<a href="../index.html" rel="home">Home</a>
|
28
|
+
</h2>
|
29
|
+
|
30
|
+
<div id="table-of-contents-navigation">
|
31
|
+
<a href="../table_of_contents.html#pages">Pages</a>
|
32
|
+
<a href="../table_of_contents.html#classes">Classes</a>
|
33
|
+
<a href="../table_of_contents.html#methods">Methods</a>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
|
37
|
+
<div id="search-section" role="search" class="project-section initially-hidden">
|
38
|
+
<form action="#" method="get" accept-charset="utf-8">
|
39
|
+
<div id="search-field-wrapper">
|
40
|
+
<input id="search-field" role="combobox" aria-label="Search"
|
41
|
+
aria-autocomplete="list" aria-controls="search-results"
|
42
|
+
type="text" name="search" placeholder="Search" spellcheck="false"
|
43
|
+
title="Type to search, Up and Down to navigate, Enter to load">
|
44
|
+
</div>
|
45
|
+
|
46
|
+
<ul id="search-results" aria-label="Search Results"
|
47
|
+
aria-busy="false" aria-expanded="false"
|
48
|
+
aria-atomic="false" class="initially-hidden"></ul>
|
49
|
+
</form>
|
50
|
+
</div>
|
51
|
+
|
52
|
+
</div>
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
<div id="class-metadata">
|
57
|
+
|
58
|
+
<div id="parent-class-section" class="nav-section">
|
59
|
+
<h3>Parent</h3>
|
60
|
+
|
61
|
+
|
62
|
+
<p class="link">TcpipServerInterface
|
63
|
+
|
64
|
+
</div>
|
65
|
+
|
66
|
+
|
67
|
+
|
68
|
+
<!-- Method Quickref -->
|
69
|
+
<div id="method-list-section" class="nav-section">
|
70
|
+
<h3>Methods</h3>
|
71
|
+
|
72
|
+
<ul class="link-list" role="directory">
|
73
|
+
|
74
|
+
<li ><a href="#method-i-agg_pkt_map">#agg_pkt_map</a>
|
75
|
+
|
76
|
+
<li class="calls-super" ><a href="#method-i-connect">#connect</a>
|
77
|
+
|
78
|
+
<li ><a href="#method-i-packet_mapper">#packet_mapper</a>
|
79
|
+
|
80
|
+
<li ><a href="#method-i-process">#process</a>
|
81
|
+
|
82
|
+
<li class="calls-super" ><a href="#method-i-read">#read</a>
|
83
|
+
|
84
|
+
<li ><a href="#method-i-target">#target</a>
|
85
|
+
|
86
|
+
<li ><a href="#method-i-transforms">#transforms</a>
|
87
|
+
|
88
|
+
</ul>
|
89
|
+
</div>
|
90
|
+
|
91
|
+
</div>
|
92
|
+
</nav>
|
93
|
+
|
94
|
+
<main role="main" aria-labelledby="class-Cosmos::UnpackingInterface">
|
95
|
+
<h1 id="class-Cosmos::UnpackingInterface" class="class">
|
96
|
+
class Cosmos::UnpackingInterface
|
97
|
+
</h1>
|
98
|
+
|
99
|
+
<section class="description">
|
100
|
+
|
101
|
+
<p>A custom interface that unpacks aggregate packets (packets with many granules) into many simple packets (packets with a single granule). This way we can use all the cosmos niceties without having to send packets for individual measurements. Essentially we unpack an aggregate packet into many packets that are stored in a queue that is read from. When the queue is empty we look for new aggregate packets</p>
|
102
|
+
|
103
|
+
</section>
|
104
|
+
|
105
|
+
|
106
|
+
<section id="5Buntitled-5D" class="documentation-section">
|
107
|
+
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
<section id="public-instance-5Buntitled-5D-method-details" class="method-section">
|
117
|
+
<header>
|
118
|
+
<h3>Public Instance Methods</h3>
|
119
|
+
</header>
|
120
|
+
|
121
|
+
|
122
|
+
<div id="method-i-agg_pkt_map" class="method-detail ">
|
123
|
+
|
124
|
+
<div class="method-heading">
|
125
|
+
<span class="method-name">agg_pkt_map</span><span
|
126
|
+
class="method-args">()</span>
|
127
|
+
|
128
|
+
<span class="method-click-advice">click to toggle source</span>
|
129
|
+
|
130
|
+
</div>
|
131
|
+
|
132
|
+
|
133
|
+
<div class="method-description">
|
134
|
+
|
135
|
+
<p>Maps aggregate packets (packets with many granules) to simple packets (packets with a single granule) should have the form 'AggregatePacket' => 'SimplePacket' For example: 'Science' => 'Science2'</p>
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
<div class="method-source-code" id="agg_pkt_map-source">
|
141
|
+
<pre><span class="ruby-comment"># File lib/cosmos/unpacking_interface/unpacking_interface.rb, line 28</span>
|
142
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">agg_pkt_map</span>
|
143
|
+
{}
|
144
|
+
<span class="ruby-keyword">end</span></pre>
|
145
|
+
</div>
|
146
|
+
|
147
|
+
</div>
|
148
|
+
|
149
|
+
|
150
|
+
|
151
|
+
|
152
|
+
</div>
|
153
|
+
|
154
|
+
|
155
|
+
<div id="method-i-connect" class="method-detail ">
|
156
|
+
|
157
|
+
<div class="method-heading">
|
158
|
+
<span class="method-name">connect</span><span
|
159
|
+
class="method-args">()</span>
|
160
|
+
|
161
|
+
<span class="method-click-advice">click to toggle source</span>
|
162
|
+
|
163
|
+
</div>
|
164
|
+
|
165
|
+
|
166
|
+
<div class="method-description">
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
<div class="method-calls-super">
|
172
|
+
Calls superclass method
|
173
|
+
|
174
|
+
</div>
|
175
|
+
|
176
|
+
|
177
|
+
|
178
|
+
<div class="method-source-code" id="connect-source">
|
179
|
+
<pre><span class="ruby-comment"># File lib/cosmos/unpacking_interface/unpacking_interface.rb, line 44</span>
|
180
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">connect</span>
|
181
|
+
<span class="ruby-ivar">@derived_queue</span> = []
|
182
|
+
<span class="ruby-keyword">super</span>()
|
183
|
+
<span class="ruby-keyword">end</span></pre>
|
184
|
+
</div>
|
185
|
+
|
186
|
+
</div>
|
187
|
+
|
188
|
+
|
189
|
+
|
190
|
+
|
191
|
+
</div>
|
192
|
+
|
193
|
+
|
194
|
+
<div id="method-i-packet_mapper" class="method-detail ">
|
195
|
+
|
196
|
+
<div class="method-heading">
|
197
|
+
<span class="method-name">packet_mapper</span><span
|
198
|
+
class="method-args">()</span>
|
199
|
+
|
200
|
+
<span class="method-click-advice">click to toggle source</span>
|
201
|
+
|
202
|
+
</div>
|
203
|
+
|
204
|
+
|
205
|
+
<div class="method-description">
|
206
|
+
|
207
|
+
<p>Create and return a new instance of your own custom PacketMapper</p>
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
|
212
|
+
<div class="method-source-code" id="packet_mapper-source">
|
213
|
+
<pre><span class="ruby-comment"># File lib/cosmos/unpacking_interface/unpacking_interface.rb, line 40</span>
|
214
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">packet_mapper</span>
|
215
|
+
<span class="ruby-constant">PacketMapper</span>.<span class="ruby-identifier">new</span>
|
216
|
+
<span class="ruby-keyword">end</span></pre>
|
217
|
+
</div>
|
218
|
+
|
219
|
+
</div>
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
|
224
|
+
</div>
|
225
|
+
|
226
|
+
|
227
|
+
<div id="method-i-process" class="method-detail ">
|
228
|
+
|
229
|
+
<div class="method-heading">
|
230
|
+
<span class="method-name">process</span><span
|
231
|
+
class="method-args">(packet:, target:, agg_packet:, simple_packet:)</span>
|
232
|
+
|
233
|
+
<span class="method-click-advice">click to toggle source</span>
|
234
|
+
|
235
|
+
</div>
|
236
|
+
|
237
|
+
|
238
|
+
<div class="method-description">
|
239
|
+
|
240
|
+
<p>Unpack an aggregate packet if necessary and add resulting packets to the internal FIFO queue</p>
|
241
|
+
|
242
|
+
|
243
|
+
|
244
|
+
|
245
|
+
<div class="method-source-code" id="process-source">
|
246
|
+
<pre><span class="ruby-comment"># File lib/cosmos/unpacking_interface/unpacking_interface.rb, line 52</span>
|
247
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">process</span>(<span class="ruby-value">packet:</span>, <span class="ruby-value">target:</span>, <span class="ruby-value">agg_packet:</span>, <span class="ruby-value">simple_packet:</span>)
|
248
|
+
<span class="ruby-identifier">agg_pkt</span> = <span class="ruby-constant">System</span>.<span class="ruby-identifier">telemetry</span>.<span class="ruby-identifier">packet</span>(<span class="ruby-identifier">target</span>, <span class="ruby-identifier">agg_packet</span>)
|
249
|
+
<span class="ruby-keyword">if</span>(<span class="ruby-identifier">agg_pkt</span>.<span class="ruby-identifier">identify?</span>(<span class="ruby-identifier">packet</span>.<span class="ruby-identifier">buffer</span>))
|
250
|
+
<span class="ruby-identifier">processor</span> = <span class="ruby-constant">AggregatePacketProcesser</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">packet_mapper</span>, <span class="ruby-identifier">transforms</span>)
|
251
|
+
<span class="ruby-identifier">agg_pkt</span>.<span class="ruby-identifier">buffer</span> = <span class="ruby-identifier">packet</span>.<span class="ruby-identifier">buffer</span>.<span class="ruby-identifier">clone</span>
|
252
|
+
<span class="ruby-identifier">result</span> = <span class="ruby-identifier">processor</span>.<span class="ruby-identifier">unpack</span>(<span class="ruby-identifier">agg_pkt</span>, <span class="ruby-identifier">target</span>, <span class="ruby-identifier">simple_packet</span>)
|
253
|
+
|
254
|
+
<span class="ruby-ivar">@derived_queue</span>.<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">result</span>)
|
255
|
+
<span class="ruby-keyword">end</span>
|
256
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">packet</span>
|
257
|
+
<span class="ruby-keyword">end</span></pre>
|
258
|
+
</div>
|
259
|
+
|
260
|
+
</div>
|
261
|
+
|
262
|
+
|
263
|
+
|
264
|
+
|
265
|
+
</div>
|
266
|
+
|
267
|
+
|
268
|
+
<div id="method-i-read" class="method-detail ">
|
269
|
+
|
270
|
+
<div class="method-heading">
|
271
|
+
<span class="method-name">read</span><span
|
272
|
+
class="method-args">()</span>
|
273
|
+
|
274
|
+
<span class="method-click-advice">click to toggle source</span>
|
275
|
+
|
276
|
+
</div>
|
277
|
+
|
278
|
+
|
279
|
+
<div class="method-description">
|
280
|
+
|
281
|
+
<p>This method is called by COSMOS internally, essentially if we have packets on the queue read those otherwise wait for a packet, and unpack if necessary</p>
|
282
|
+
|
283
|
+
|
284
|
+
<div class="method-calls-super">
|
285
|
+
Calls superclass method
|
286
|
+
|
287
|
+
</div>
|
288
|
+
|
289
|
+
|
290
|
+
|
291
|
+
<div class="method-source-code" id="read-source">
|
292
|
+
<pre><span class="ruby-comment"># File lib/cosmos/unpacking_interface/unpacking_interface.rb, line 67</span>
|
293
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">read</span>
|
294
|
+
<span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@derived_queue</span>.<span class="ruby-identifier">empty?</span>
|
295
|
+
<span class="ruby-identifier">p1</span> = <span class="ruby-ivar">@derived_queue</span>.<span class="ruby-identifier">shift</span>
|
296
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">p1</span>
|
297
|
+
<span class="ruby-keyword">else</span>
|
298
|
+
|
299
|
+
<span class="ruby-comment"># This is a blocking call to wait for an actual packet to come over the wire</span>
|
300
|
+
<span class="ruby-identifier">packet</span> = <span class="ruby-keyword">super</span>()
|
301
|
+
|
302
|
+
<span class="ruby-identifier">agg_pkt_map</span>.<span class="ruby-identifier">select</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">agg_packet</span>, <span class="ruby-identifier">simple_packet</span><span class="ruby-operator">|</span>
|
303
|
+
<span class="ruby-identifier">agg_pkt</span> = <span class="ruby-constant">System</span>.<span class="ruby-identifier">telemetry</span>.<span class="ruby-identifier">packet</span>(<span class="ruby-identifier">target</span>, <span class="ruby-identifier">agg_packet</span>)
|
304
|
+
<span class="ruby-keyword">if</span>(<span class="ruby-identifier">agg_pkt</span>.<span class="ruby-identifier">identify?</span>(<span class="ruby-identifier">packet</span>.<span class="ruby-identifier">buffer</span>))
|
305
|
+
<span class="ruby-identifier">process</span>(<span class="ruby-value">packet:</span> <span class="ruby-identifier">packet</span>, <span class="ruby-value">target:</span> <span class="ruby-identifier">target</span>, <span class="ruby-value">agg_packet:</span> <span class="ruby-identifier">agg_packet</span>, <span class="ruby-value">simple_packet:</span> <span class="ruby-identifier">simple_packet</span>)
|
306
|
+
<span class="ruby-keyword">end</span>
|
307
|
+
<span class="ruby-keyword">end</span>
|
308
|
+
|
309
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">packet</span>
|
310
|
+
<span class="ruby-keyword">end</span>
|
311
|
+
<span class="ruby-keyword">end</span></pre>
|
312
|
+
</div>
|
313
|
+
|
314
|
+
</div>
|
315
|
+
|
316
|
+
|
317
|
+
|
318
|
+
|
319
|
+
</div>
|
320
|
+
|
321
|
+
|
322
|
+
<div id="method-i-target" class="method-detail ">
|
323
|
+
|
324
|
+
<div class="method-heading">
|
325
|
+
<span class="method-name">target</span><span
|
326
|
+
class="method-args">()</span>
|
327
|
+
|
328
|
+
<span class="method-click-advice">click to toggle source</span>
|
329
|
+
|
330
|
+
</div>
|
331
|
+
|
332
|
+
|
333
|
+
<div class="method-description">
|
334
|
+
|
335
|
+
<p><a href="../Cosmos.html"><code>Cosmos</code></a> target interface is being used with</p>
|
336
|
+
|
337
|
+
|
338
|
+
|
339
|
+
|
340
|
+
<div class="method-source-code" id="target-source">
|
341
|
+
<pre><span class="ruby-comment"># File lib/cosmos/unpacking_interface/unpacking_interface.rb, line 34</span>
|
342
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">target</span>
|
343
|
+
<span class="ruby-string">""</span>
|
344
|
+
<span class="ruby-keyword">end</span></pre>
|
345
|
+
</div>
|
346
|
+
|
347
|
+
</div>
|
348
|
+
|
349
|
+
|
350
|
+
|
351
|
+
|
352
|
+
</div>
|
353
|
+
|
354
|
+
|
355
|
+
<div id="method-i-transforms" class="method-detail ">
|
356
|
+
|
357
|
+
<div class="method-heading">
|
358
|
+
<span class="method-name">transforms</span><span
|
359
|
+
class="method-args">()</span>
|
360
|
+
|
361
|
+
<span class="method-click-advice">click to toggle source</span>
|
362
|
+
|
363
|
+
</div>
|
364
|
+
|
365
|
+
|
366
|
+
<div class="method-description">
|
367
|
+
|
368
|
+
<p>Transformations defined on an item in a simple packet. Entries should be of the form: “<TARGET>-<PACKET_NAME>-<ITEM_NAME>” => Proc where the proc can accept the following parameters TargetName, ItemName, key, value, index index is the index of the granule in the aggregate packet that was transformed into the simple packet More info about procs can be found here: <a href="https://ruby-doc.org/core-2.4.1/Proc.html">ruby-doc.org/core-2.4.1/Proc.html</a></p>
|
369
|
+
|
370
|
+
|
371
|
+
|
372
|
+
|
373
|
+
<div class="method-source-code" id="transforms-source">
|
374
|
+
<pre><span class="ruby-comment"># File lib/cosmos/unpacking_interface/unpacking_interface.rb, line 20</span>
|
375
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">transforms</span>
|
376
|
+
{}
|
377
|
+
<span class="ruby-keyword">end</span></pre>
|
378
|
+
</div>
|
379
|
+
|
380
|
+
</div>
|
381
|
+
|
382
|
+
|
383
|
+
|
384
|
+
|
385
|
+
</div>
|
386
|
+
|
387
|
+
|
388
|
+
</section>
|
389
|
+
|
390
|
+
</section>
|
391
|
+
</main>
|
392
|
+
|
393
|
+
|
394
|
+
<footer id="validator-badges" role="contentinfo">
|
395
|
+
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
396
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.1.
|
397
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
398
|
+
</footer>
|
399
|
+
|
@@ -0,0 +1,110 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<meta charset="UTF-8">
|
6
|
+
|
7
|
+
<title>module UnpackingInterface - RDoc Documentation</title>
|
8
|
+
|
9
|
+
<script type="text/javascript">
|
10
|
+
var rdoc_rel_prefix = "./";
|
11
|
+
var index_rel_prefix = "./";
|
12
|
+
</script>
|
13
|
+
|
14
|
+
<script src="./js/jquery.js"></script>
|
15
|
+
<script src="./js/darkfish.js"></script>
|
16
|
+
|
17
|
+
<link href="./css/fonts.css" rel="stylesheet">
|
18
|
+
<link href="./css/rdoc.css" rel="stylesheet">
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
<body id="top" role="document" class="module">
|
23
|
+
<nav role="navigation">
|
24
|
+
<div id="project-navigation">
|
25
|
+
<div id="home-section" role="region" title="Quick navigation" class="nav-section">
|
26
|
+
<h2>
|
27
|
+
<a href="./index.html" rel="home">Home</a>
|
28
|
+
</h2>
|
29
|
+
|
30
|
+
<div id="table-of-contents-navigation">
|
31
|
+
<a href="./table_of_contents.html#pages">Pages</a>
|
32
|
+
<a href="./table_of_contents.html#classes">Classes</a>
|
33
|
+
<a href="./table_of_contents.html#methods">Methods</a>
|
34
|
+
</div>
|
35
|
+
</div>
|
36
|
+
|
37
|
+
<div id="search-section" role="search" class="project-section initially-hidden">
|
38
|
+
<form action="#" method="get" accept-charset="utf-8">
|
39
|
+
<div id="search-field-wrapper">
|
40
|
+
<input id="search-field" role="combobox" aria-label="Search"
|
41
|
+
aria-autocomplete="list" aria-controls="search-results"
|
42
|
+
type="text" name="search" placeholder="Search" spellcheck="false"
|
43
|
+
title="Type to search, Up and Down to navigate, Enter to load">
|
44
|
+
</div>
|
45
|
+
|
46
|
+
<ul id="search-results" aria-label="Search Results"
|
47
|
+
aria-busy="false" aria-expanded="false"
|
48
|
+
aria-atomic="false" class="initially-hidden"></ul>
|
49
|
+
</form>
|
50
|
+
</div>
|
51
|
+
|
52
|
+
</div>
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
<div id="class-metadata">
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
|
62
|
+
</div>
|
63
|
+
</nav>
|
64
|
+
|
65
|
+
<main role="main" aria-labelledby="module-UnpackingInterface">
|
66
|
+
<h1 id="module-UnpackingInterface" class="module">
|
67
|
+
module UnpackingInterface
|
68
|
+
</h1>
|
69
|
+
|
70
|
+
<section class="description">
|
71
|
+
|
72
|
+
<p>A custom extendable interface that unpacks aggregate packets (packets with many granules) into many simple packets (packets with a single granule). This way we can use all the cosmos niceties without having to send packets for individual measurements. Essentially we unpack an aggregate packet into many packets that are stored in a queue that is read from. When the queue is empty we look for new aggregate packets</p>
|
73
|
+
|
74
|
+
</section>
|
75
|
+
|
76
|
+
|
77
|
+
<section id="5Buntitled-5D" class="documentation-section">
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
<section class="constants-list">
|
84
|
+
<header>
|
85
|
+
<h3>Constants</h3>
|
86
|
+
</header>
|
87
|
+
<dl>
|
88
|
+
|
89
|
+
<dt id="VERSION">VERSION
|
90
|
+
|
91
|
+
<dd>
|
92
|
+
|
93
|
+
|
94
|
+
</dl>
|
95
|
+
</section>
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
</section>
|
102
|
+
</main>
|
103
|
+
|
104
|
+
|
105
|
+
<footer id="validator-badges" role="contentinfo">
|
106
|
+
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
107
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.1.
|
108
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
109
|
+
</footer>
|
110
|
+
|