LazGem 0.1.3 → 0.1.4
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 +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
|
-
|