maxcube-client 0.4.1 → 0.5.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 +4 -4
- data/.gitignore +6 -0
- data/.rubocop.yml +0 -3
- data/.yardopts +1 -0
- data/README.md +17 -2
- data/bin/maxcube-client +2 -27
- data/doc/MaxCube.html +502 -0
- data/doc/MaxCube/Messages.html +1927 -0
- data/doc/MaxCube/Messages/Handler.html +2912 -0
- data/doc/MaxCube/Messages/InvalidMessage.html +140 -0
- data/doc/MaxCube/Messages/InvalidMessageBody.html +264 -0
- data/doc/MaxCube/Messages/InvalidMessageFormat.html +247 -0
- data/doc/MaxCube/Messages/InvalidMessageLength.html +247 -0
- data/doc/MaxCube/Messages/InvalidMessageType.html +263 -0
- data/doc/MaxCube/Messages/Parser.html +520 -0
- data/doc/MaxCube/Messages/Serializer.html +701 -0
- data/doc/MaxCube/Messages/TCP.html +172 -0
- data/doc/MaxCube/Messages/TCP/Handler.html +1396 -0
- data/doc/MaxCube/Messages/TCP/Parser.html +462 -0
- data/doc/MaxCube/Messages/TCP/Parser/MessageA.html +186 -0
- data/doc/MaxCube/Messages/TCP/Parser/MessageC.html +1077 -0
- data/doc/MaxCube/Messages/TCP/Parser/MessageF.html +206 -0
- data/doc/MaxCube/Messages/TCP/Parser/MessageH.html +338 -0
- data/doc/MaxCube/Messages/TCP/Parser/MessageL.html +535 -0
- data/doc/MaxCube/Messages/TCP/Parser/MessageM.html +510 -0
- data/doc/MaxCube/Messages/TCP/Parser/MessageN.html +226 -0
- data/doc/MaxCube/Messages/TCP/Parser/MessageS.html +225 -0
- data/doc/MaxCube/Messages/TCP/Serializer.html +460 -0
- data/doc/MaxCube/Messages/TCP/Serializer/MessageA.html +186 -0
- data/doc/MaxCube/Messages/TCP/Serializer/MessageC.html +185 -0
- data/doc/MaxCube/Messages/TCP/Serializer/MessageF.html +206 -0
- data/doc/MaxCube/Messages/TCP/Serializer/MessageL.html +185 -0
- data/doc/MaxCube/Messages/TCP/Serializer/MessageM.html +428 -0
- data/doc/MaxCube/Messages/TCP/Serializer/MessageN.html +209 -0
- data/doc/MaxCube/Messages/TCP/Serializer/MessageQ.html +185 -0
- data/doc/MaxCube/Messages/TCP/Serializer/MessageS.html +1168 -0
- data/doc/MaxCube/Messages/TCP/Serializer/MessageT.html +240 -0
- data/doc/MaxCube/Messages/TCP/Serializer/MessageU.html +206 -0
- data/doc/MaxCube/Messages/TCP/Serializer/MessageZ.html +252 -0
- data/doc/MaxCube/Messages/UDP.html +164 -0
- data/doc/MaxCube/Messages/UDP/Handler.html +832 -0
- data/doc/MaxCube/Messages/UDP/Parser.html +609 -0
- data/doc/MaxCube/Messages/UDP/Parser/MessageH.html +218 -0
- data/doc/MaxCube/Messages/UDP/Parser/MessageI.html +215 -0
- data/doc/MaxCube/Messages/UDP/Parser/MessageN.html +226 -0
- data/doc/MaxCube/Messages/UDP/Serializer.html +484 -0
- data/doc/MaxCube/Network.html +167 -0
- data/doc/MaxCube/Network/TCP.html +150 -0
- data/doc/MaxCube/Network/TCP/Client.html +1930 -0
- data/doc/MaxCube/Network/TCP/Client/Commands.html +2457 -0
- data/doc/MaxCube/Network/TCP/SampleServer.html +910 -0
- data/doc/MaxCube/Network/UDP.html +150 -0
- data/doc/MaxCube/Network/UDP/Client.html +518 -0
- data/doc/MaxCube/Network/UDP/SampleSocket.html +628 -0
- data/doc/MaxCube/Runner.html +355 -0
- data/doc/_index.html +518 -0
- data/doc/class_list.html +51 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +58 -0
- data/doc/css/style.css +499 -0
- data/doc/file.README.html +140 -0
- data/doc/file_list.html +56 -0
- data/doc/frames.html +17 -0
- data/doc/index.html +140 -0
- data/doc/js/app.js +248 -0
- data/doc/js/full_list.js +216 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +1699 -0
- data/doc/top-level-namespace.html +110 -0
- data/lib/maxcube.rb +11 -0
- data/lib/maxcube/messages.rb +85 -8
- data/lib/maxcube/messages/handler.rb +138 -4
- data/lib/maxcube/messages/parser.rb +33 -2
- data/lib/maxcube/messages/serializer.rb +64 -16
- data/lib/maxcube/messages/tcp.rb +11 -7
- data/lib/maxcube/messages/tcp/handler.rb +50 -2
- data/lib/maxcube/messages/tcp/parser.rb +18 -17
- data/lib/maxcube/messages/tcp/serializer.rb +20 -21
- data/lib/maxcube/messages/tcp/type/a.rb +6 -6
- data/lib/maxcube/messages/tcp/type/c.rb +5 -3
- data/lib/maxcube/messages/tcp/type/f.rb +5 -3
- data/lib/maxcube/messages/tcp/type/h.rb +3 -2
- data/lib/maxcube/messages/tcp/type/l.rb +8 -7
- data/lib/maxcube/messages/tcp/type/m.rb +11 -7
- data/lib/maxcube/messages/tcp/type/n.rb +5 -3
- data/lib/maxcube/messages/tcp/type/q.rb +2 -2
- data/lib/maxcube/messages/tcp/type/s.rb +5 -2
- data/lib/maxcube/messages/tcp/type/t.rb +5 -4
- data/lib/maxcube/messages/tcp/type/u.rb +2 -1
- data/lib/maxcube/messages/tcp/type/z.rb +4 -2
- data/lib/maxcube/messages/udp.rb +7 -0
- data/lib/maxcube/messages/udp/handler.rb +28 -0
- data/lib/maxcube/messages/udp/parser.rb +23 -6
- data/lib/maxcube/messages/udp/serializer.rb +17 -1
- data/lib/maxcube/messages/udp/type/h.rb +2 -0
- data/lib/maxcube/messages/udp/type/i.rb +3 -0
- data/lib/maxcube/messages/udp/type/n.rb +3 -0
- data/lib/maxcube/network.rb +5 -1
- data/lib/maxcube/network/tcp.rb +3 -0
- data/lib/maxcube/network/tcp/client.rb +117 -3
- data/lib/maxcube/network/tcp/client/commands.rb +306 -239
- data/lib/maxcube/network/tcp/sample_server.rb +1 -0
- data/lib/maxcube/network/udp.rb +3 -0
- data/lib/maxcube/network/udp/client.rb +2 -0
- data/lib/maxcube/network/udp/sample_socket.rb +1 -0
- data/lib/maxcube/runner.rb +45 -0
- data/lib/maxcube/version.rb +2 -1
- data/maxcube-client.gemspec +2 -0
- metadata +84 -3
@@ -0,0 +1,535 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
|
+
<title>
|
7
|
+
Module: MaxCube::Messages::TCP::Parser::MessageL
|
8
|
+
|
9
|
+
— Documentation by YARD 0.9.12
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="../../../../css/style.css" type="text/css" charset="utf-8" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="../../../../css/common.css" type="text/css" charset="utf-8" />
|
16
|
+
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
18
|
+
pathId = "MaxCube::Messages::TCP::Parser::MessageL";
|
19
|
+
relpath = '../../../../';
|
20
|
+
</script>
|
21
|
+
|
22
|
+
|
23
|
+
<script type="text/javascript" charset="utf-8" src="../../../../js/jquery.js"></script>
|
24
|
+
|
25
|
+
<script type="text/javascript" charset="utf-8" src="../../../../js/app.js"></script>
|
26
|
+
|
27
|
+
|
28
|
+
</head>
|
29
|
+
<body>
|
30
|
+
<div class="nav_wrap">
|
31
|
+
<iframe id="nav" src="../../../../class_list.html?1"></iframe>
|
32
|
+
<div id="resizer"></div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div id="main" tabindex="-1">
|
36
|
+
<div id="header">
|
37
|
+
<div id="menu">
|
38
|
+
|
39
|
+
<a href="../../../../_index.html">Index (M)</a> »
|
40
|
+
<span class='title'><span class='object_link'><a href="../../../../MaxCube.html" title="MaxCube (module)">MaxCube</a></span></span> » <span class='title'><span class='object_link'><a href="../../../Messages.html" title="MaxCube::Messages (module)">Messages</a></span></span> » <span class='title'><span class='object_link'><a href="../../TCP.html" title="MaxCube::Messages::TCP (module)">TCP</a></span></span> » <span class='title'><span class='object_link'><a href="../Parser.html" title="MaxCube::Messages::TCP::Parser (class)">Parser</a></span></span>
|
41
|
+
»
|
42
|
+
<span class="title">MessageL</span>
|
43
|
+
|
44
|
+
</div>
|
45
|
+
|
46
|
+
<div id="search">
|
47
|
+
|
48
|
+
<a class="full_list_link" id="class_list_link"
|
49
|
+
href="../../../../class_list.html">
|
50
|
+
|
51
|
+
<svg width="24" height="24">
|
52
|
+
<rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
|
53
|
+
<rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
|
54
|
+
<rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
|
55
|
+
</svg>
|
56
|
+
</a>
|
57
|
+
|
58
|
+
</div>
|
59
|
+
<div class="clear"></div>
|
60
|
+
</div>
|
61
|
+
|
62
|
+
<div id="content"><h1>Module: MaxCube::Messages::TCP::Parser::MessageL
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
</h1>
|
67
|
+
<div class="box_info">
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
<dl>
|
80
|
+
<dt>Defined in:</dt>
|
81
|
+
<dd>lib/maxcube/messages/tcp/type/l.rb</dd>
|
82
|
+
</dl>
|
83
|
+
|
84
|
+
</div>
|
85
|
+
|
86
|
+
<h2>Overview</h2><div class="docstring">
|
87
|
+
<div class="discussion">
|
88
|
+
|
89
|
+
<p>Device list message.</p>
|
90
|
+
|
91
|
+
|
92
|
+
</div>
|
93
|
+
</div>
|
94
|
+
<div class="tags">
|
95
|
+
|
96
|
+
|
97
|
+
</div>
|
98
|
+
<h2>Constant Summary</h2>
|
99
|
+
<dl class="constants">
|
100
|
+
|
101
|
+
<dt id="LENGTHS-constant" class="">LENGTHS =
|
102
|
+
|
103
|
+
</dt>
|
104
|
+
<dd><pre class="code"><span class='lbracket'>[</span><span class='int'>6</span><span class='comma'>,</span> <span class='int'>11</span><span class='comma'>,</span> <span class='int'>12</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
|
105
|
+
|
106
|
+
<dt id="KEYS-constant" class="">KEYS =
|
107
|
+
<div class="docstring">
|
108
|
+
<div class="discussion">
|
109
|
+
|
110
|
+
<p>Mandatory hash keys.</p>
|
111
|
+
|
112
|
+
|
113
|
+
</div>
|
114
|
+
</div>
|
115
|
+
<div class="tags">
|
116
|
+
|
117
|
+
|
118
|
+
</div>
|
119
|
+
</dt>
|
120
|
+
<dd><pre class="code"><span class='qsymbols_beg'>%i[</span><span class='tstring_content'>devices</span><span class='tstring_end'>]</span></span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
|
121
|
+
|
122
|
+
</dl>
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
<h2>
|
132
|
+
Instance Method Summary
|
133
|
+
<small><a href="#" class="summary_toggle">collapse</a></small>
|
134
|
+
</h2>
|
135
|
+
|
136
|
+
<ul class="summary">
|
137
|
+
|
138
|
+
<li class="private ">
|
139
|
+
<span class="summary_signature">
|
140
|
+
|
141
|
+
<a href="#parse_tcp_l-instance_method" title="#parse_tcp_l (instance method)">#<strong>parse_tcp_l</strong>(body) ⇒ Object </a>
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
</span>
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
<span class="note title private">private</span>
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
|
154
|
+
|
155
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
156
|
+
|
157
|
+
</li>
|
158
|
+
|
159
|
+
|
160
|
+
<li class="private ">
|
161
|
+
<span class="summary_signature">
|
162
|
+
|
163
|
+
<a href="#parse_tcp_l_submsg_1-instance_method" title="#parse_tcp_l_submsg_1 (instance method)">#<strong>parse_tcp_l_submsg_1</strong> ⇒ Object </a>
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
</span>
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
<span class="note title private">private</span>
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
|
176
|
+
|
177
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
178
|
+
|
179
|
+
</li>
|
180
|
+
|
181
|
+
|
182
|
+
<li class="private ">
|
183
|
+
<span class="summary_signature">
|
184
|
+
|
185
|
+
<a href="#parse_tcp_l_submsg_2-instance_method" title="#parse_tcp_l_submsg_2 (instance method)">#<strong>parse_tcp_l_submsg_2</strong>(subhash) ⇒ Object </a>
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
</span>
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
<span class="note title private">private</span>
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
200
|
+
|
201
|
+
</li>
|
202
|
+
|
203
|
+
|
204
|
+
<li class="private ">
|
205
|
+
<span class="summary_signature">
|
206
|
+
|
207
|
+
<a href="#parse_tcp_l_submsg_3-instance_method" title="#parse_tcp_l_submsg_3 (instance method)">#<strong>parse_tcp_l_submsg_3</strong>(subhash, temperature_msb) ⇒ Object </a>
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
</span>
|
212
|
+
|
213
|
+
|
214
|
+
|
215
|
+
<span class="note title private">private</span>
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
|
220
|
+
|
221
|
+
<span class="summary_desc"><div class='inline'></div></span>
|
222
|
+
|
223
|
+
</li>
|
224
|
+
|
225
|
+
|
226
|
+
</ul>
|
227
|
+
|
228
|
+
|
229
|
+
|
230
|
+
|
231
|
+
<div id="instance_method_details" class="method_details_list">
|
232
|
+
<h2>Instance Method Details</h2>
|
233
|
+
|
234
|
+
|
235
|
+
<div class="method_details first">
|
236
|
+
<h3 class="signature first" id="parse_tcp_l-instance_method">
|
237
|
+
|
238
|
+
#<strong>parse_tcp_l</strong>(body) ⇒ <tt>Object</tt> <span class="extras">(private)</span>
|
239
|
+
|
240
|
+
|
241
|
+
|
242
|
+
|
243
|
+
|
244
|
+
</h3><table class="source_code">
|
245
|
+
<tr>
|
246
|
+
<td>
|
247
|
+
<pre class="lines">
|
248
|
+
|
249
|
+
|
250
|
+
15
|
251
|
+
16
|
252
|
+
17
|
253
|
+
18
|
254
|
+
19
|
255
|
+
20
|
256
|
+
21
|
257
|
+
22
|
258
|
+
23
|
259
|
+
24
|
260
|
+
25
|
261
|
+
26
|
262
|
+
27
|
263
|
+
28
|
264
|
+
29</pre>
|
265
|
+
</td>
|
266
|
+
<td>
|
267
|
+
<pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/l.rb', line 15</span>
|
268
|
+
|
269
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_parse_tcp_l'>parse_tcp_l</span><span class='lparen'>(</span><span class='id identifier rubyid_body'>body</span><span class='rparen'>)</span>
|
270
|
+
<span class='ivar'>@io</span> <span class='op'>=</span> <span class='const'>StringIO</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_decode'>decode</span><span class='lparen'>(</span><span class='id identifier rubyid_body'>body</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>rb</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
271
|
+
|
272
|
+
<span class='id identifier rubyid_hash'>hash</span> <span class='op'>=</span> <span class='lbrace'>{</span> <span class='label'>devices:</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> <span class='rbrace'>}</span>
|
273
|
+
<span class='kw'>until</span> <span class='ivar'>@io</span><span class='period'>.</span><span class='id identifier rubyid_eof?'>eof?</span>
|
274
|
+
<span class='id identifier rubyid_subhash'>subhash</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_tcp_l_submsg_1'>parse_tcp_l_submsg_1</span>
|
275
|
+
|
276
|
+
<span class='id identifier rubyid_temperature_msb'>temperature_msb</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_tcp_l_submsg_2'>parse_tcp_l_submsg_2</span><span class='lparen'>(</span><span class='id identifier rubyid_subhash'>subhash</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@length</span> <span class='op'>></span> <span class='int'>6</span>
|
277
|
+
<span class='id identifier rubyid_parse_tcp_l_submsg_3'>parse_tcp_l_submsg_3</span><span class='lparen'>(</span><span class='id identifier rubyid_subhash'>subhash</span><span class='comma'>,</span> <span class='id identifier rubyid_temperature_msb'>temperature_msb</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@length</span> <span class='op'>></span> <span class='int'>11</span>
|
278
|
+
|
279
|
+
<span class='id identifier rubyid_hash'>hash</span><span class='lbracket'>[</span><span class='symbol'>:devices</span><span class='rbracket'>]</span> <span class='op'><<</span> <span class='id identifier rubyid_subhash'>subhash</span>
|
280
|
+
<span class='kw'>end</span>
|
281
|
+
|
282
|
+
<span class='id identifier rubyid_hash'>hash</span>
|
283
|
+
<span class='kw'>end</span></pre>
|
284
|
+
</td>
|
285
|
+
</tr>
|
286
|
+
</table>
|
287
|
+
</div>
|
288
|
+
|
289
|
+
<div class="method_details ">
|
290
|
+
<h3 class="signature " id="parse_tcp_l_submsg_1-instance_method">
|
291
|
+
|
292
|
+
#<strong>parse_tcp_l_submsg_1</strong> ⇒ <tt>Object</tt> <span class="extras">(private)</span>
|
293
|
+
|
294
|
+
|
295
|
+
|
296
|
+
|
297
|
+
|
298
|
+
</h3><table class="source_code">
|
299
|
+
<tr>
|
300
|
+
<td>
|
301
|
+
<pre class="lines">
|
302
|
+
|
303
|
+
|
304
|
+
33
|
305
|
+
34
|
306
|
+
35
|
307
|
+
36
|
308
|
+
37
|
309
|
+
38
|
310
|
+
39
|
311
|
+
40
|
312
|
+
41
|
313
|
+
42
|
314
|
+
43
|
315
|
+
44
|
316
|
+
45
|
317
|
+
46
|
318
|
+
47
|
319
|
+
48
|
320
|
+
49
|
321
|
+
50
|
322
|
+
51
|
323
|
+
52
|
324
|
+
53
|
325
|
+
54
|
326
|
+
55
|
327
|
+
56
|
328
|
+
57
|
329
|
+
58
|
330
|
+
59
|
331
|
+
60
|
332
|
+
61
|
333
|
+
62
|
334
|
+
63
|
335
|
+
64
|
336
|
+
65</pre>
|
337
|
+
</td>
|
338
|
+
<td>
|
339
|
+
<pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/l.rb', line 33</span>
|
340
|
+
|
341
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_parse_tcp_l_submsg_1'>parse_tcp_l_submsg_1</span>
|
342
|
+
<span class='ivar'>@length</span> <span class='op'>=</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
|
343
|
+
<span class='kw'>unless</span> <span class='const'><span class='object_link'><a href="#LENGTHS-constant" title="MaxCube::Messages::TCP::Parser::MessageL::LENGTHS (constant)">LENGTHS</a></span></span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='ivar'>@length</span><span class='rparen'>)</span>
|
344
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../../InvalidMessageBody.html" title="MaxCube::Messages::InvalidMessageBody (class)">InvalidMessageBody</a></span></span>
|
345
|
+
<span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@msg_type</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>invalid length of submessage (</span><span class='embexpr_beg'>#{</span><span class='ivar'>@length</span><span class='embexpr_end'>}</span><span class='tstring_content'>):</span><span class='tstring_end'>"</span></span> \
|
346
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> should be in </span><span class='embexpr_beg'>#{</span><span class='const'><span class='object_link'><a href="#LENGTHS-constant" title="MaxCube::Messages::TCP::Parser::MessageL::LENGTHS (constant)">LENGTHS</a></span></span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
347
|
+
<span class='kw'>end</span>
|
348
|
+
<span class='id identifier rubyid_subhash'>subhash</span> <span class='op'>=</span> <span class='lbrace'>{</span>
|
349
|
+
<span class='label'>length:</span> <span class='ivar'>@length</span><span class='comma'>,</span>
|
350
|
+
<span class='label'>rf_address:</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>3</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span><span class='comma'>,</span>
|
351
|
+
<span class='label'>unknown:</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='rparen'>)</span><span class='comma'>,</span>
|
352
|
+
<span class='rbrace'>}</span>
|
353
|
+
<span class='id identifier rubyid_flags'>flags</span> <span class='op'>=</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>2</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
|
354
|
+
<span class='ivar'>@mode</span> <span class='op'>=</span> <span class='id identifier rubyid_device_mode'>device_mode</span><span class='lparen'>(</span><span class='id identifier rubyid_flags'>flags</span> <span class='op'>&</span> <span class='int'>0x3</span><span class='rparen'>)</span>
|
355
|
+
<span class='id identifier rubyid_subhash'>subhash</span><span class='lbracket'>[</span><span class='symbol'>:flags</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbrace'>{</span>
|
356
|
+
<span class='label'>value:</span> <span class='id identifier rubyid_flags'>flags</span><span class='comma'>,</span>
|
357
|
+
<span class='label'>mode:</span> <span class='ivar'>@mode</span><span class='comma'>,</span>
|
358
|
+
<span class='label'>dst_setting_active:</span> <span class='op'>!</span><span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_flags'>flags</span> <span class='op'>&</span> <span class='int'>0x8</span><span class='rparen'>)</span> <span class='op'>>></span> <span class='int'>3</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_zero?'>zero?</span><span class='comma'>,</span>
|
359
|
+
<span class='label'>gateway_known:</span> <span class='op'>!</span><span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_flags'>flags</span> <span class='op'>&</span> <span class='int'>0x10</span><span class='rparen'>)</span> <span class='op'>>></span> <span class='int'>4</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_zero?'>zero?</span><span class='comma'>,</span>
|
360
|
+
<span class='label'>panel_locked:</span> <span class='op'>!</span><span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_flags'>flags</span> <span class='op'>&</span> <span class='int'>0x20</span><span class='rparen'>)</span> <span class='op'>>></span> <span class='int'>5</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_zero?'>zero?</span><span class='comma'>,</span>
|
361
|
+
<span class='label'>link_error:</span> <span class='op'>!</span><span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_flags'>flags</span> <span class='op'>&</span> <span class='int'>0x40</span><span class='rparen'>)</span> <span class='op'>>></span> <span class='int'>6</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_zero?'>zero?</span><span class='comma'>,</span>
|
362
|
+
<span class='label'>low_battery:</span> <span class='op'>!</span><span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_flags'>flags</span> <span class='op'>&</span> <span class='int'>0x80</span><span class='rparen'>)</span> <span class='op'>>></span> <span class='int'>7</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_zero?'>zero?</span><span class='comma'>,</span>
|
363
|
+
<span class='label'>status_initialized:</span> <span class='op'>!</span><span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_flags'>flags</span> <span class='op'>&</span> <span class='int'>0x200</span><span class='rparen'>)</span> <span class='op'>>></span> <span class='int'>9</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_zero?'>zero?</span><span class='comma'>,</span>
|
364
|
+
<span class='label'>is_answer:</span> <span class='op'>!</span><span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_flags'>flags</span> <span class='op'>&</span> <span class='int'>0x400</span><span class='rparen'>)</span> <span class='op'>>></span> <span class='int'>10</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_zero?'>zero?</span><span class='comma'>,</span>
|
365
|
+
<span class='label'>error:</span> <span class='op'>!</span><span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_flags'>flags</span> <span class='op'>&</span> <span class='int'>0x800</span><span class='rparen'>)</span> <span class='op'>>></span> <span class='int'>11</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_zero?'>zero?</span><span class='comma'>,</span>
|
366
|
+
<span class='label'>valid_info:</span> <span class='op'>!</span><span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_flags'>flags</span> <span class='op'>&</span> <span class='int'>0x1000</span><span class='rparen'>)</span> <span class='op'>>></span> <span class='int'>12</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_zero?'>zero?</span><span class='comma'>,</span>
|
367
|
+
<span class='rbrace'>}</span>
|
368
|
+
|
369
|
+
<span class='id identifier rubyid_subhash'>subhash</span>
|
370
|
+
<span class='kw'>rescue</span> <span class='const'>IOError</span>
|
371
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../../InvalidMessageBody.html" title="MaxCube::Messages::InvalidMessageBody (class)">InvalidMessageBody</a></span></span>
|
372
|
+
<span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@msg_type</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>unexpected EOF reached at submessage 1st part</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
373
|
+
<span class='kw'>end</span></pre>
|
374
|
+
</td>
|
375
|
+
</tr>
|
376
|
+
</table>
|
377
|
+
</div>
|
378
|
+
|
379
|
+
<div class="method_details ">
|
380
|
+
<h3 class="signature " id="parse_tcp_l_submsg_2-instance_method">
|
381
|
+
|
382
|
+
#<strong>parse_tcp_l_submsg_2</strong>(subhash) ⇒ <tt>Object</tt> <span class="extras">(private)</span>
|
383
|
+
|
384
|
+
|
385
|
+
|
386
|
+
|
387
|
+
|
388
|
+
</h3><table class="source_code">
|
389
|
+
<tr>
|
390
|
+
<td>
|
391
|
+
<pre class="lines">
|
392
|
+
|
393
|
+
|
394
|
+
67
|
395
|
+
68
|
396
|
+
69
|
397
|
+
70
|
398
|
+
71
|
399
|
+
72
|
400
|
+
73
|
401
|
+
74
|
402
|
+
75
|
403
|
+
76
|
404
|
+
77
|
405
|
+
78
|
406
|
+
79
|
407
|
+
80
|
408
|
+
81
|
409
|
+
82
|
410
|
+
83
|
411
|
+
84
|
412
|
+
85
|
413
|
+
86
|
414
|
+
87
|
415
|
+
88
|
416
|
+
89
|
417
|
+
90
|
418
|
+
91
|
419
|
+
92
|
420
|
+
93
|
421
|
+
94
|
422
|
+
95
|
423
|
+
96
|
424
|
+
97
|
425
|
+
98
|
426
|
+
99
|
427
|
+
100
|
428
|
+
101
|
429
|
+
102
|
430
|
+
103
|
431
|
+
104
|
432
|
+
105
|
433
|
+
106</pre>
|
434
|
+
</td>
|
435
|
+
<td>
|
436
|
+
<pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/l.rb', line 67</span>
|
437
|
+
|
438
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_parse_tcp_l_submsg_2'>parse_tcp_l_submsg_2</span><span class='lparen'>(</span><span class='id identifier rubyid_subhash'>subhash</span><span class='rparen'>)</span>
|
439
|
+
<span class='id identifier rubyid_subhash'>subhash</span><span class='lbracket'>[</span><span class='symbol'>:valve_opening</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
|
440
|
+
|
441
|
+
<span class='id identifier rubyid_temperature'>temperature</span> <span class='op'>=</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
|
442
|
+
<span class='comment'># This bit may be used later
|
443
|
+
</span> <span class='id identifier rubyid_temperature_msb'>temperature_msb</span> <span class='op'>=</span> <span class='id identifier rubyid_temperature'>temperature</span> <span class='op'>>></span> <span class='int'>7</span>
|
444
|
+
<span class='id identifier rubyid_subhash'>subhash</span><span class='lbracket'>[</span><span class='symbol'>:temperature</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_temperature'>temperature</span> <span class='op'>&</span> <span class='int'>0x3f</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>/</span> <span class='int'>2</span>
|
445
|
+
|
446
|
+
<span class='id identifier rubyid_date_until'>date_until</span> <span class='op'>=</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>2</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
|
447
|
+
<span class='id identifier rubyid_year'>year</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_date_until'>date_until</span> <span class='op'>&</span> <span class='int'>0x1f</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='int'>2000</span>
|
448
|
+
<span class='id identifier rubyid_month'>month</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_date_until'>date_until</span> <span class='op'>&</span> <span class='int'>0x80</span><span class='rparen'>)</span> <span class='op'>>></span> <span class='int'>7</span><span class='rparen'>)</span> <span class='op'>|</span> <span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_date_until'>date_until</span> <span class='op'>&</span> <span class='int'>0xe000</span><span class='rparen'>)</span> <span class='op'>>></span> <span class='int'>12</span><span class='rparen'>)</span>
|
449
|
+
<span class='id identifier rubyid_day'>day</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_date_until'>date_until</span> <span class='op'>&</span> <span class='int'>0x1f00</span><span class='rparen'>)</span> <span class='op'>>></span> <span class='int'>8</span>
|
450
|
+
|
451
|
+
<span class='id identifier rubyid_time_until'>time_until</span> <span class='op'>=</span> <span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span>
|
452
|
+
<span class='id identifier rubyid_hours'>hours</span> <span class='op'>=</span> <span class='id identifier rubyid_time_until'>time_until</span> <span class='op'>/</span> <span class='int'>2</span>
|
453
|
+
<span class='id identifier rubyid_minutes'>minutes</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_time_until'>time_until</span> <span class='op'>%</span> <span class='int'>2</span><span class='rparen'>)</span> <span class='op'>*</span> <span class='int'>30</span>
|
454
|
+
<span class='comment'># Sometimes when device is in 'auto' mode,
|
455
|
+
</span> <span class='comment'># this field can contain 'actual_temperature' instead
|
456
|
+
</span> <span class='comment'># (but never if it is already contained in next byte)
|
457
|
+
</span> <span class='comment'># !It seems that 'date' is used for 'vacation' mode,
|
458
|
+
</span> <span class='comment'># but it is not sure ...
|
459
|
+
</span> <span class='kw'>begin</span>
|
460
|
+
<span class='id identifier rubyid_subhash'>subhash</span><span class='lbracket'>[</span><span class='symbol'>:datetime_until</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_month'>month</span><span class='comma'>,</span> <span class='id identifier rubyid_day'>day</span><span class='comma'>,</span>
|
461
|
+
<span class='id identifier rubyid_hours'>hours</span><span class='comma'>,</span> <span class='id identifier rubyid_minutes'>minutes</span><span class='rparen'>)</span>
|
462
|
+
<span class='kw'>rescue</span> <span class='const'>ArgumentError</span>
|
463
|
+
<span class='kw'>if</span> <span class='ivar'>@mode</span> <span class='op'>!=</span> <span class='symbol'>:auto</span> <span class='op'>||</span> <span class='ivar'>@length</span> <span class='op'>></span> <span class='int'>11</span>
|
464
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../../InvalidMessageBody.html" title="MaxCube::Messages::InvalidMessageBody (class)">InvalidMessageBody</a></span></span>
|
465
|
+
<span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@msg_type</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>unrecognized message part: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_date_until'>date_until</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span> \
|
466
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> (it does not seem to be 'date until'</span><span class='tstring_end'>"</span></span> \
|
467
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> nor 'actual temperature')</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
468
|
+
<span class='kw'>end</span>
|
469
|
+
<span class='id identifier rubyid_subhash'>subhash</span><span class='lbracket'>[</span><span class='symbol'>:actual_temperature</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_date_until'>date_until</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>/</span> <span class='int'>10</span>
|
470
|
+
<span class='kw'>end</span>
|
471
|
+
|
472
|
+
<span class='id identifier rubyid_temperature_msb'>temperature_msb</span>
|
473
|
+
<span class='kw'>rescue</span> <span class='const'>IOError</span>
|
474
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../../InvalidMessageBody.html" title="MaxCube::Messages::InvalidMessageBody (class)">InvalidMessageBody</a></span></span>
|
475
|
+
<span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@msg_type</span><span class='comma'>,</span>
|
476
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>unexpected EOF reached at submessage 2nd part</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
477
|
+
<span class='kw'>end</span></pre>
|
478
|
+
</td>
|
479
|
+
</tr>
|
480
|
+
</table>
|
481
|
+
</div>
|
482
|
+
|
483
|
+
<div class="method_details ">
|
484
|
+
<h3 class="signature " id="parse_tcp_l_submsg_3-instance_method">
|
485
|
+
|
486
|
+
#<strong>parse_tcp_l_submsg_3</strong>(subhash, temperature_msb) ⇒ <tt>Object</tt> <span class="extras">(private)</span>
|
487
|
+
|
488
|
+
|
489
|
+
|
490
|
+
|
491
|
+
|
492
|
+
</h3><table class="source_code">
|
493
|
+
<tr>
|
494
|
+
<td>
|
495
|
+
<pre class="lines">
|
496
|
+
|
497
|
+
|
498
|
+
108
|
499
|
+
109
|
500
|
+
110
|
501
|
+
111
|
502
|
+
112
|
503
|
+
113
|
504
|
+
114
|
505
|
+
115</pre>
|
506
|
+
</td>
|
507
|
+
<td>
|
508
|
+
<pre class="code"><span class="info file"># File 'lib/maxcube/messages/tcp/type/l.rb', line 108</span>
|
509
|
+
|
510
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_parse_tcp_l_submsg_3'>parse_tcp_l_submsg_3</span><span class='lparen'>(</span><span class='id identifier rubyid_subhash'>subhash</span><span class='comma'>,</span> <span class='id identifier rubyid_temperature_msb'>temperature_msb</span><span class='rparen'>)</span>
|
511
|
+
<span class='id identifier rubyid_subhash'>subhash</span><span class='lbracket'>[</span><span class='symbol'>:actual_temperature</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_temperature_msb'>temperature_msb</span> <span class='op'><<</span> <span class='int'>8</span><span class='rparen'>)</span> <span class='op'>|</span>
|
512
|
+
<span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='int'>1</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>/</span> <span class='int'>10</span>
|
513
|
+
<span class='kw'>rescue</span> <span class='const'>IOError</span>
|
514
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../../InvalidMessageBody.html" title="MaxCube::Messages::InvalidMessageBody (class)">InvalidMessageBody</a></span></span>
|
515
|
+
<span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='ivar'>@msg_type</span><span class='comma'>,</span>
|
516
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>unexpected EOF reached at submessage 3rd part</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
517
|
+
<span class='kw'>end</span></pre>
|
518
|
+
</td>
|
519
|
+
</tr>
|
520
|
+
</table>
|
521
|
+
</div>
|
522
|
+
|
523
|
+
</div>
|
524
|
+
|
525
|
+
</div>
|
526
|
+
|
527
|
+
<div id="footer">
|
528
|
+
Generated on Fri Feb 16 13:44:01 2018 by
|
529
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
530
|
+
0.9.12 (ruby-2.5.0).
|
531
|
+
</div>
|
532
|
+
|
533
|
+
</div>
|
534
|
+
</body>
|
535
|
+
</html>
|