LazGem 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +1 -0
- data/lib/LazGem/device.rb +67 -213
- data/lib/LazGem/ioctl.rb +45 -9
- data/lib/LazGem/version.rb +1 -1
- metadata +3 -5
- data/sample/sample_rxBin.rb +0 -74
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 76dd58cb44646e65529a4b39b7d1df1c683e706012f8246bc019da1785f91546
|
4
|
+
data.tar.gz: eaeef35b2ba4e6d51c43df459b7f63d5bc1a7d4c04e6fc2fee75da2f0c156eec
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3b6f8f43d5aaea14bf5a40c4e1864d09a26f8af0db87f5a7d5d6cd2d0cfd300e5f1da94b36e108b466bcf728cf7cdd838c53274e0c328abad85129ab3492d8b3
|
7
|
+
data.tar.gz: bdb3cad3dd35987602654dfa32d85fcf29979e406b0f3e39e7c64a1c7601f3a91c169b28979d262dd0e008ca6486fa22b3ff6dd2d31b908350a0e9a3dc0d8d33
|
data/.gitignore
CHANGED
data/lib/LazGem/device.rb
CHANGED
@@ -21,6 +21,7 @@ class LazGem::Device
|
|
21
21
|
|
22
22
|
def init(module_test=0x0000)
|
23
23
|
cmd = "sudo insmod /home/pi/driver/LazDriver/lazdriver.ko module_test="+module_test.to_s
|
24
|
+
# cmd = "sudo modprobe lazdriver module_test="+module_test.to_s
|
24
25
|
p cmd
|
25
26
|
result = system(cmd)
|
26
27
|
lzgw_dev = "/dev/lzgw"
|
@@ -52,13 +53,14 @@ class LazGem::Device
|
|
52
53
|
p e
|
53
54
|
end
|
54
55
|
begin
|
55
|
-
|
56
|
+
@@device_wr.close
|
56
57
|
rescue Exception => e
|
57
58
|
p e
|
58
59
|
end
|
59
60
|
@@devie_rd = nil
|
60
61
|
@@device_wr = nil
|
61
62
|
cmd = "sudo rmmod lazdriver"
|
63
|
+
# cmd = "sudo modprobe -r lazdriver"
|
62
64
|
system(cmd)
|
63
65
|
p cmd
|
64
66
|
end
|
@@ -66,33 +68,33 @@ class LazGem::Device
|
|
66
68
|
def available()
|
67
69
|
size = 2
|
68
70
|
len = @@device_rd.read(size)
|
69
|
-
|
70
|
-
|
71
|
+
if ((len == "") || (len == nil)) then # read result is empty
|
72
|
+
return 0
|
71
73
|
end
|
72
|
-
|
74
|
+
size = len.unpack("S*")[0]
|
73
75
|
return size
|
74
76
|
end
|
75
77
|
|
76
|
-
def
|
78
|
+
def read()
|
77
79
|
size = 2
|
78
80
|
len = @@device_rd.read(size)
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
81
|
+
if ((len == "") || (len == nil)) then # read result is empty
|
82
|
+
return 0
|
83
|
+
end
|
84
|
+
size = len.unpack("S*")[0]
|
83
85
|
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
86
|
+
# The received data is read
|
87
|
+
raw = @@device_rd.read(size)
|
88
|
+
if ((raw == "") || (raw == nil)) then # read result is empty
|
89
|
+
return -1
|
88
90
|
end
|
89
|
-
|
91
|
+
|
90
92
|
len = raw.length
|
91
93
|
header = raw.unpack("S*")[0]
|
92
94
|
|
93
|
-
|
95
|
+
src_addr_type = (header>>14) & 0x03
|
94
96
|
frame_ver = (header >> 12) & 0x03
|
95
|
-
|
97
|
+
dst_addr_type = (header >> 10) & 0x03
|
96
98
|
ielist = (header >> 9) & 0x01
|
97
99
|
seq_comp = (header >> 8) & 0x01
|
98
100
|
panid_comp = (header >> 6) & 0x01
|
@@ -104,199 +106,38 @@ class LazGem::Device
|
|
104
106
|
offset = 2
|
105
107
|
|
106
108
|
if seq_comp == 0 then
|
107
|
-
seq_num = raw[offset
|
108
|
-
offset
|
109
|
+
seq_num = raw[offset].unpack("C")[0]
|
110
|
+
offset += 1
|
109
111
|
end
|
110
|
-
|
111
|
-
if dst_addr_type
|
112
|
-
addr_type = 0
|
113
|
-
dst_panid = nil
|
114
|
-
src_panid = nil
|
115
|
-
elsif dst_addr_type == 0 && src_addr_type == 0 && panid_comp != 0 then
|
116
|
-
addr_type = 1
|
117
|
-
dst_panid = raw[offset..offset+2].unpack("S*")[0]
|
118
|
-
offset = offset + 2
|
119
|
-
dst_panid = nil
|
120
|
-
elsif dst_addr_type == 0 && src_addr_type != 0 && panid_comp == 0 then
|
121
|
-
addr_type = 2
|
122
|
-
dst_panid = nil
|
123
|
-
src_panid = raw[offset..offset+2].unpack("S*")[0]
|
124
|
-
offset = offset + 2
|
125
|
-
elsif dst_addr_type == 0 && src_addr_type != 0 && panid_comp != 0 then
|
126
|
-
addr_type = 3
|
127
|
-
dst_panid = nil
|
128
|
-
src_panid = nil
|
129
|
-
elsif dst_addr_type != 0 && src_addr_type == 0 && panid_comp == 0 then
|
112
|
+
# addr_type
|
113
|
+
if dst_addr_type != 0 then
|
130
114
|
addr_type = 4
|
131
|
-
dst_panid = raw[offset..offset+2].unpack("S*")[0]
|
132
|
-
offset = offset + 2
|
133
|
-
src_panid = nil
|
134
|
-
elsif dst_addr_type != 0 && src_addr_type == 0 && panid_comp != 0 then
|
135
|
-
addr_type = 5
|
136
|
-
dst_panid = nil
|
137
|
-
src_panid = nil
|
138
|
-
elsif dst_addr_type != 0 && src_addr_type != 0 && panid_comp == 0 then
|
139
|
-
addr_type = 6
|
140
|
-
dst_panid = raw[offset..offset+2].unpack("S*")[0]
|
141
|
-
offset = offset + 2
|
142
|
-
src_panid = nil
|
143
|
-
elsif dst_addr_type != 0 && src_addr_type != 0 && panid_comp != 0 then
|
144
|
-
addr_type = 7
|
145
|
-
dst_panid = nil
|
146
|
-
src_panid = nil
|
147
|
-
end
|
148
|
-
|
149
|
-
if dst_addr_type == 0 then
|
150
|
-
dst_addr = nil
|
151
|
-
elsif dst_addr_type == 1 then
|
152
|
-
dst_addr = raw[offset].unpack("C")[0]
|
153
|
-
offset = offset+1
|
154
|
-
elsif dst_addr_type == 2 then
|
155
|
-
dst_addr = raw[offset..offset+1].unpack("S*")[0]
|
156
|
-
offset = offset+2
|
157
|
-
else
|
158
|
-
dst_addr = raw[offset+7].unpack("H2")[0] +
|
159
|
-
raw[offset+6].unpack("H2")[0] +
|
160
|
-
raw[offset+5].unpack("H2")[0] +
|
161
|
-
raw[offset+4].unpack("H2")[0] +
|
162
|
-
raw[offset+3].unpack("H2")[0] +
|
163
|
-
raw[offset+2].unpack("H2")[0] +
|
164
|
-
raw[offset+1].unpack("H2")[0] +
|
165
|
-
raw[offset+0].unpack("H2")[0]
|
166
|
-
offset = offset+8
|
167
|
-
end
|
168
|
-
|
169
|
-
if src_addr_type == 0 then
|
170
|
-
src_addr = nil
|
171
|
-
elsif src_addr_type == 1 then
|
172
|
-
src_addr = raw[offset].unpack("C")[0]
|
173
|
-
offset = offset+1
|
174
|
-
elsif src_addr_type == 2 then
|
175
|
-
src_addr = raw[offset..offset+1].unpack("S")[0]
|
176
|
-
offset = offset+2
|
177
115
|
else
|
178
|
-
|
179
|
-
raw[offset+6].unpack("H2")[0] +
|
180
|
-
raw[offset+5].unpack("H2")[0] +
|
181
|
-
raw[offset+4].unpack("H2")[0] +
|
182
|
-
raw[offset+3].unpack("H2")[0] +
|
183
|
-
raw[offset+2].unpack("H2")[0] +
|
184
|
-
raw[offset+1].unpack("H2")[0] +
|
185
|
-
raw[offset+0].unpack("H2")[0]
|
186
|
-
offset = offset+8
|
116
|
+
addr_type = 0
|
187
117
|
end
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
rcv = Hash.new()
|
192
|
-
|
193
|
-
rcv["header"] = header
|
194
|
-
rcv["dst_addr_type"] = dst_addr_type
|
195
|
-
rcv["frame_ver"] = frame_ver
|
196
|
-
rcv["src_addr_type"] = src_addr_type
|
197
|
-
rcv["ielist"] = ielist
|
198
|
-
rcv["seq_comp"] = seq_comp
|
199
|
-
rcv["panid_comp"] = panid_comp
|
200
|
-
rcv["ack_req"] = ack_req
|
201
|
-
rcv["pending"] = pending
|
202
|
-
rcv["sec_enb"] = sec_enb
|
203
|
-
rcv["frame_type"] = frame_type
|
204
|
-
rcv["addr_type"] = addr_type
|
205
|
-
rcv["dst_panid"] = dst_panid
|
206
|
-
rcv["src_panid"] = src_panid
|
207
|
-
rcv["dst_addr"] = dst_addr
|
208
|
-
rcv["src_addr"] = src_addr
|
209
|
-
rcv["seq_num"] = seq_num
|
210
|
-
rcv["payload"] = payload
|
211
|
-
sec,nsec = get_rx_time()
|
212
|
-
rcv["sec"]=sec
|
213
|
-
rcv["nsec"]=nsec
|
214
|
-
rcv["rssi"]=get_rx_rssi()
|
215
|
-
return rcv
|
216
|
-
end
|
217
|
-
|
218
|
-
def read()
|
219
|
-
size = 2
|
220
|
-
len = @@device_rd.read(size)
|
221
|
-
if ((len == "") || (len == nil)) then # read result is empty
|
222
|
-
return 0
|
223
|
-
end
|
224
|
-
size = len.unpack("S*")[0]
|
225
|
-
|
226
|
-
# The received data is read
|
227
|
-
raw = @@device_rd.read(size)
|
228
|
-
if ((raw == "") || (raw == nil)) then # read result is empty
|
229
|
-
return -1
|
118
|
+
if src_addr_type != 0 then
|
119
|
+
addr_type += 2
|
230
120
|
end
|
231
|
-
|
232
|
-
|
233
|
-
header = raw.unpack("S*")[0]
|
234
|
-
|
235
|
-
dst_addr_type = (header>>14) & 0x03
|
236
|
-
frame_ver = (header >> 12) & 0x03
|
237
|
-
src_addr_type = (header >> 10) & 0x03
|
238
|
-
ielist = (header >> 9) & 0x01
|
239
|
-
seq_comp = (header >> 8) & 0x01
|
240
|
-
panid_comp = (header >> 6) & 0x01
|
241
|
-
ack_req = (header >> 5) & 0x01
|
242
|
-
pending = (header >> 4) & 0x01
|
243
|
-
sec_enb = (header >> 3) & 0x01
|
244
|
-
frame_type = (header >> 0) & 0x07
|
245
|
-
|
246
|
-
offset = 2
|
247
|
-
|
248
|
-
if seq_comp == 0 then
|
249
|
-
seq_num = raw[offset..offset+1].unpack("C")[0]
|
250
|
-
offset = offset + 1
|
121
|
+
if panid_comp != 0 then
|
122
|
+
addr_type += 1
|
251
123
|
end
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
dst_panid =
|
256
|
-
|
257
|
-
|
258
|
-
addr_type = 1
|
259
|
-
dst_panid = raw[offset..offset+2].unpack("S*")[0]
|
260
|
-
offset = offset + 2
|
261
|
-
dst_panid = nil
|
262
|
-
elsif dst_addr_type == 0 && src_addr_type != 0 && panid_comp == 0 then
|
263
|
-
addr_type = 2
|
264
|
-
dst_panid = nil
|
265
|
-
src_panid = raw[offset..offset+2].unpack("S*")[0]
|
266
|
-
offset = offset + 2
|
267
|
-
elsif dst_addr_type == 0 && src_addr_type != 0 && panid_comp != 0 then
|
268
|
-
addr_type = 3
|
269
|
-
dst_panid = nil
|
270
|
-
src_panid = nil
|
271
|
-
elsif dst_addr_type != 0 && src_addr_type == 0 && panid_comp == 0 then
|
272
|
-
addr_type = 4
|
273
|
-
dst_panid = raw[offset..offset+2].unpack("S*")[0]
|
274
|
-
offset = offset + 2
|
275
|
-
src_panid = nil
|
276
|
-
elsif dst_addr_type != 0 && src_addr_type == 0 && panid_comp != 0 then
|
277
|
-
addr_type = 5
|
278
|
-
dst_panid = nil
|
279
|
-
src_panid = nil
|
280
|
-
elsif dst_addr_type != 0 && src_addr_type != 0 && panid_comp == 0 then
|
281
|
-
addr_type = 6
|
282
|
-
dst_panid = raw[offset..offset+2].unpack("S*")[0]
|
283
|
-
offset = offset + 2
|
284
|
-
src_panid = nil
|
285
|
-
elsif dst_addr_type != 0 && src_addr_type != 0 && panid_comp != 0 then
|
286
|
-
addr_type = 7
|
124
|
+
# dst_panid
|
125
|
+
case addr_type
|
126
|
+
when 1, 4, 6 then
|
127
|
+
dst_panid = raw[offset..offset+1].unpack("S*")[0]
|
128
|
+
offset += 2
|
129
|
+
else
|
287
130
|
dst_panid = nil
|
288
|
-
src_panid = nil
|
289
131
|
end
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
elsif dst_addr_type == 1 then
|
132
|
+
# dst_addr
|
133
|
+
case dst_addr_type
|
134
|
+
when 1 then
|
294
135
|
dst_addr = raw[offset].unpack("C")[0]
|
295
|
-
offset
|
296
|
-
|
136
|
+
offset += 1
|
137
|
+
when 2 then
|
297
138
|
dst_addr = raw[offset..offset+1].unpack("S*")[0]
|
298
|
-
offset
|
299
|
-
|
139
|
+
offset += 2
|
140
|
+
when 3 then
|
300
141
|
dst_addr = raw[offset+7].unpack("H2")[0] +
|
301
142
|
raw[offset+6].unpack("H2")[0] +
|
302
143
|
raw[offset+5].unpack("H2")[0] +
|
@@ -305,18 +146,26 @@ class LazGem::Device
|
|
305
146
|
raw[offset+2].unpack("H2")[0] +
|
306
147
|
raw[offset+1].unpack("H2")[0] +
|
307
148
|
raw[offset+0].unpack("H2")[0]
|
308
|
-
offset
|
149
|
+
offset += 8
|
150
|
+
else
|
309
151
|
end
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
offset = offset+1
|
316
|
-
elsif src_addr_type == 2 then
|
317
|
-
src_addr = raw[offset..offset+1].unpack("S")[0]
|
318
|
-
offset = offset+2
|
152
|
+
# src_panid
|
153
|
+
case addr_type
|
154
|
+
when 2 then
|
155
|
+
src_panid = raw[offset..offset+1].unpack("S*")[0]
|
156
|
+
offset += 2
|
319
157
|
else
|
158
|
+
src_panid = nil
|
159
|
+
end
|
160
|
+
# src_addr
|
161
|
+
case src_addr_type
|
162
|
+
when 1 then
|
163
|
+
src_addr = raw[offset].unpack("C")[0]
|
164
|
+
offset += 1
|
165
|
+
when 2 then
|
166
|
+
src_addr = raw[offset..offset+1].unpack("S*")[0]
|
167
|
+
offset += 2
|
168
|
+
when 3 then
|
320
169
|
src_addr = raw[offset+7].unpack("H2")[0] +
|
321
170
|
raw[offset+6].unpack("H2")[0] +
|
322
171
|
raw[offset+5].unpack("H2")[0] +
|
@@ -325,7 +174,8 @@ class LazGem::Device
|
|
325
174
|
raw[offset+2].unpack("H2")[0] +
|
326
175
|
raw[offset+1].unpack("H2")[0] +
|
327
176
|
raw[offset+0].unpack("H2")[0]
|
328
|
-
offset
|
177
|
+
offset += 8
|
178
|
+
else
|
329
179
|
end
|
330
180
|
|
331
181
|
payload = raw[offset..len-1]
|
@@ -333,9 +183,9 @@ class LazGem::Device
|
|
333
183
|
rcv = Hash.new()
|
334
184
|
|
335
185
|
rcv["header"] = header
|
336
|
-
rcv["dst_addr_type"] = dst_addr_type
|
337
|
-
rcv["frame_ver"] = frame_ver
|
338
186
|
rcv["src_addr_type"] = src_addr_type
|
187
|
+
rcv["frame_ver"] = frame_ver
|
188
|
+
rcv["dst_addr_type"] = dst_addr_type
|
339
189
|
rcv["ielist"] = ielist
|
340
190
|
rcv["seq_comp"] = seq_comp
|
341
191
|
rcv["panid_comp"] = panid_comp
|
@@ -367,7 +217,11 @@ class LazGem::Device
|
|
367
217
|
def send(panid,addr,payload)
|
368
218
|
set_dst_panid(panid)
|
369
219
|
set_dst_addr0(addr)
|
370
|
-
|
220
|
+
begin
|
221
|
+
@@device_wr.write(payload)
|
222
|
+
rescue Exception => e
|
223
|
+
p e
|
224
|
+
end
|
371
225
|
sleep 0.001
|
372
226
|
end
|
373
227
|
end
|
data/lib/LazGem/ioctl.rb
CHANGED
@@ -66,9 +66,14 @@ class LazGem::Device
|
|
66
66
|
IOCTL_SET_EACK_ENB= IOCTL_PARAM+0x3F
|
67
67
|
IOCTL_GET_EACK= IOCTL_PARAM+0x40
|
68
68
|
IOCTL_SET_ACK_INTERVAL= IOCTL_PARAM+0x43
|
69
|
+
IOCTL_GET_ED_VALUE= IOCTL_PARAM+0x44
|
70
|
+
IOCTL_SET_ANT_SWITCH= IOCTL_PARAM+0x45
|
71
|
+
IOCTL_SET_DSSS_MODE= IOCTL_PARAM+0x80
|
72
|
+
IOCTL_SET_DSSS_SF= IOCTL_PARAM+0x81
|
73
|
+
IOCTL_SET_DSSS_SIZE= IOCTL_PARAM+0x82
|
69
74
|
IOCTL_RF= 0x2000
|
70
|
-
IOCTL_RF_READ= IOCTL_RF
|
71
|
-
IOCTL_RF_WRITE= IOCTL_RF
|
75
|
+
IOCTL_RF_READ= IOCTL_RF
|
76
|
+
IOCTL_RF_WRITE= IOCTL_RF
|
72
77
|
IOCTL_EEPROM= 0x3000
|
73
78
|
IOCTL_RX_LED= 0x4000
|
74
79
|
IOCTL_TX_LED= 0x4000
|
@@ -136,6 +141,12 @@ class LazGem::Device
|
|
136
141
|
def setAckTxInterval(interval)
|
137
142
|
size = @@device_wr.ioctl(IOCTL_SET_ACK_INTERVAL,interval)
|
138
143
|
end
|
144
|
+
def getEdValue()
|
145
|
+
ret = @@device_wr.ioctl(IOCTL_GET_ED_VALUE,0)
|
146
|
+
end
|
147
|
+
def setAntSw(antsw)
|
148
|
+
ret = @@device_wr.ioctl(IOCTL_SET_ANT_SWITCH,andsw)
|
149
|
+
end
|
139
150
|
def close()
|
140
151
|
data = 0
|
141
152
|
ret = @@device_wr.ioctl(IOCTL_SET_CLOSE,data)
|
@@ -262,8 +273,14 @@ class LazGem::Device
|
|
262
273
|
return ret
|
263
274
|
end
|
264
275
|
def set_dst_panid(panid)
|
265
|
-
ret = @@device_wr.ioctl(IOCTL_SET_DST_PANID,panid)
|
266
|
-
return ret
|
276
|
+
# ret = @@device_wr.ioctl(IOCTL_SET_DST_PANID,panid)
|
277
|
+
# return ret
|
278
|
+
begin
|
279
|
+
@@device_wr.ioctl(IOCTL_SET_DST_PANID,panid)
|
280
|
+
rescue Exception => e
|
281
|
+
p e
|
282
|
+
end
|
283
|
+
return 0
|
267
284
|
end
|
268
285
|
def get_my_addr0()
|
269
286
|
addr = 0;
|
@@ -291,8 +308,14 @@ class LazGem::Device
|
|
291
308
|
return ret
|
292
309
|
end
|
293
310
|
def set_dst_addr0(addr)
|
294
|
-
ret = @@device_wr.ioctl(IOCTL_SET_DST_ADDR0,addr)
|
295
|
-
return ret
|
311
|
+
# ret = @@device_wr.ioctl(IOCTL_SET_DST_ADDR0,addr)
|
312
|
+
# return ret
|
313
|
+
begin
|
314
|
+
@@device_wr.ioctl(IOCTL_SET_DST_ADDR0,addr)
|
315
|
+
rescue Exception => e
|
316
|
+
p e
|
317
|
+
end
|
318
|
+
return 0
|
296
319
|
end
|
297
320
|
def get_dst_addr1()
|
298
321
|
addr = 0;
|
@@ -403,6 +426,19 @@ class LazGem::Device
|
|
403
426
|
return rssi
|
404
427
|
end
|
405
428
|
|
429
|
+
|
430
|
+
def setModulation(mode)
|
431
|
+
ret = @@device_wr.ioctl(IOCTL_SET_DSSS_MODE,mode)
|
432
|
+
end
|
433
|
+
def setDsssSpreadFactor(sf)
|
434
|
+
ret = @@device_wr.ioctl(IOCTL_SET_DSSS_SF,sf)
|
435
|
+
end
|
436
|
+
def setDsssSize(size,addrmode)
|
437
|
+
size_mode = (size << 8 | addrmode)
|
438
|
+
ret = @@device_wr.ioctl(IOCTL_SET_DSSS_SIZE,size_mode)
|
439
|
+
end
|
440
|
+
|
441
|
+
|
406
442
|
def rf_reg_read(addr)
|
407
443
|
data = 0;
|
408
444
|
if addr >= 0 || addr <= 0xff then
|
@@ -411,8 +447,8 @@ class LazGem::Device
|
|
411
447
|
end
|
412
448
|
end
|
413
449
|
def rf_reg_write(addr,data)
|
414
|
-
if addr >= 0 ||
|
415
|
-
ret = @@device_wr.ioctl(IOCTL_RF_WRITE+addr ,data)
|
450
|
+
if addr >= 0 || addr <= 0xff || data >= 0 || data <= 0xff then
|
451
|
+
ret = @@device_wr.ioctl(IOCTL_RF_WRITE + addr + 0x80, data)
|
416
452
|
return ret
|
417
453
|
end
|
418
454
|
end
|
@@ -427,7 +463,7 @@ class LazGem::Device
|
|
427
463
|
|
428
464
|
def rx_led(time)
|
429
465
|
if time >= 0 || time <= 0xffff then
|
430
|
-
ret = @@device_wr.ioctl(IOCTL_RX_LED,time)
|
466
|
+
ret = @@device_wr.ioctl(IOCTL_RX_LED + 0x0800,time)
|
431
467
|
return ret
|
432
468
|
end
|
433
469
|
end
|
data/lib/LazGem/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: LazGem
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- NaotakaSaito
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2020-09-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -78,10 +78,8 @@ files:
|
|
78
78
|
- release.log
|
79
79
|
- sample/sample_promiscuous.rb
|
80
80
|
- sample/sample_rx.rb
|
81
|
-
- sample/sample_rxBin.rb
|
82
81
|
- sample/sample_tx.rb
|
83
82
|
- sample/sample_tx64.rb
|
84
|
-
- sample/tags
|
85
83
|
homepage: https://github.com/LAPIS-Lazurite/LazGem
|
86
84
|
licenses:
|
87
85
|
- MIT
|
@@ -102,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
102
100
|
version: '0'
|
103
101
|
requirements: []
|
104
102
|
rubyforge_project:
|
105
|
-
rubygems_version: 2.
|
103
|
+
rubygems_version: 2.7.6.2
|
106
104
|
signing_key:
|
107
105
|
specification_version: 4
|
108
106
|
summary: Lazurite ruby gem
|
data/sample/sample_rxBin.rb
DELETED
@@ -1,74 +0,0 @@
|
|
1
|
-
#! /usr/bin/ruby
|
2
|
-
# -*- coding: utf-8; mode: ruby -*-
|
3
|
-
# Function:
|
4
|
-
# Lazurite Sub-GHz/Lazurite Pi Gateway Sample program
|
5
|
-
# SerialMonitor.rb
|
6
|
-
require 'LazGem'
|
7
|
-
|
8
|
-
laz = LazGem::Device.new
|
9
|
-
|
10
|
-
# Halt process when CTRL+C is pushed.
|
11
|
-
finish_flag=0
|
12
|
-
Signal.trap(:INT){
|
13
|
-
finish_flag=1
|
14
|
-
}
|
15
|
-
|
16
|
-
if ARGV.size == 0
|
17
|
-
printf("please input argument of ch at least\n")
|
18
|
-
printf("command format is shown below...\n")
|
19
|
-
printf("./sample_rx.rb ch panid baud pwr\n")
|
20
|
-
printf(" ch: 24-61\n")
|
21
|
-
printf(" panid: 0-0xffff\n")
|
22
|
-
printf(" baud: 50 or 100\n")
|
23
|
-
printf(" pwr: 1 or 20\n")
|
24
|
-
exit 0
|
25
|
-
end
|
26
|
-
|
27
|
-
# open device deriver
|
28
|
-
|
29
|
-
dst_addr = 0xffff
|
30
|
-
ch = 36
|
31
|
-
panid = 0xabcd
|
32
|
-
baud = 100
|
33
|
-
pwr = 20
|
34
|
-
|
35
|
-
if ARGV.size > 0
|
36
|
-
ch=Integer(ARGV[0])
|
37
|
-
end
|
38
|
-
if ARGV.size > 1
|
39
|
-
panid = Integer(ARGV[1])
|
40
|
-
end
|
41
|
-
if ARGV.size > 2
|
42
|
-
baud = Integer(ARGV[2])
|
43
|
-
end
|
44
|
-
if ARGV.size > 3
|
45
|
-
pwr = Integer(ARGV[3])
|
46
|
-
end
|
47
|
-
|
48
|
-
laz.init()
|
49
|
-
|
50
|
-
print(sprintf("myAddress=0x%016x\n",laz.getMyAddr64()))
|
51
|
-
print(sprintf("myAddress=0x%04x\n",laz.getMyAddress()))
|
52
|
-
|
53
|
-
laz.begin(ch,panid,baud,pwr)
|
54
|
-
laz.rxEnable()
|
55
|
-
|
56
|
-
# printing header of receiving log
|
57
|
-
print(sprintf("time\t\t\t\t\t[ns]\trxPanid\trxAddr\ttxAddr\trssi\tpayload\n"))
|
58
|
-
print(sprintf("------------------------------------------------------------------------------------------\n"))
|
59
|
-
|
60
|
-
# main routine
|
61
|
-
while finish_flag == 0 do
|
62
|
-
if laz.available() <= 0
|
63
|
-
sleep 0.01
|
64
|
-
next
|
65
|
-
end
|
66
|
-
rcv = laz.readBin()
|
67
|
-
# printing data
|
68
|
-
p rcv
|
69
|
-
end
|
70
|
-
|
71
|
-
# finishing process
|
72
|
-
laz.remove()
|
73
|
-
|
74
|
-
|