apiotics_factory 1.0.13 → 1.0.14
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/lib/apiotics_factory/version.rb +1 -1
- data/lib/templates/grove_pi/grove_pi.rb +21 -5
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9270010b9cb3c5341dcde31399a9a6d1dfd4ac97
|
4
|
+
data.tar.gz: fcaac312ac73565c72a1ca2b24a7242cafa0c480
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '025129626bfcbce7e4540a6b0bc406e0b618a7695415910e3b8e68425a7d150c32563a7a7a7c87bcb60fe8ff5450431193bf7a80c966fb1f8b0703dce352600e'
|
7
|
+
data.tar.gz: 8a0e7978b0dd1b00ae997c40d0bf1d18dad8ddd712ab2235c58845fee42c08a8dddc9bcf003a4f60b230bba3b69c93f0b79ece41584edea0faf07c9239480aa7
|
@@ -166,38 +166,42 @@ module GrovePi
|
|
166
166
|
if @_i2c_grove_pi == nil
|
167
167
|
raise 'No GrovePi found.'
|
168
168
|
end
|
169
|
-
|
170
|
-
raise "Unable to secure lock on #{LOCK_FILE_PATH}."
|
171
|
-
end
|
169
|
+
self.get_lock
|
172
170
|
end
|
173
171
|
end
|
174
172
|
|
175
173
|
def self._set_pin_mode(pin, mode)
|
176
174
|
self._ensure_init
|
177
175
|
@_i2c_grove_pi.i2cset @_i2c_grove_pi.address, CMD_PIN_MODE, pin, mode, 0
|
176
|
+
self.release_lock
|
178
177
|
end
|
179
178
|
|
180
179
|
def self._read_analog(pin)
|
181
180
|
self._ensure_init
|
182
181
|
@_i2c_grove_pi.i2cset @_i2c_grove_pi.address, CMD_READ_ANALOG, pin, 0, 0
|
183
182
|
bytes = @_i2c_grove_pi.i2cget(@_i2c_grove_pi.address, 3).chars
|
183
|
+
self.release_lock
|
184
184
|
return (bytes[1].ord * 256) + bytes[2].ord
|
185
185
|
end
|
186
186
|
|
187
187
|
def self._write_analog(pin, value)
|
188
188
|
self._ensure_init
|
189
189
|
@_i2c_grove_pi.i2cset @_i2c_grove_pi.address, CMD_WRITE_ANALOG, pin, value, 0
|
190
|
+
self.release_lock
|
190
191
|
end
|
191
192
|
|
192
193
|
def self._read_digital(pin)
|
193
194
|
self._ensure_init
|
194
195
|
@_i2c_grove_pi.i2cset @_i2c_grove_pi.address, CMD_READ_DIGITAL, pin, 0, 0
|
195
|
-
|
196
|
+
val = @_i2c_grove_pi.i2cget(@_i2c_grove_pi.address, 2)
|
197
|
+
self.release_lock
|
198
|
+
return val.chars[0].ord
|
196
199
|
end
|
197
200
|
|
198
201
|
def self._write_digital(pin, value)
|
199
202
|
self._ensure_init
|
200
203
|
@_i2c_grove_pi.i2cset @_i2c_grove_pi.address, CMD_WRITE_DIGITAL, pin, value, 0
|
204
|
+
self.release_lock
|
201
205
|
end
|
202
206
|
|
203
207
|
# Functions exposed to the user.
|
@@ -289,7 +293,7 @@ module GrovePi
|
|
289
293
|
for b in _bytes
|
290
294
|
bytes << b.ord
|
291
295
|
end
|
292
|
-
|
296
|
+
release_lock
|
293
297
|
return bytes
|
294
298
|
end
|
295
299
|
|
@@ -306,6 +310,7 @@ module GrovePi
|
|
306
310
|
end
|
307
311
|
|
308
312
|
@_i2c_slave_addresses[i2c_slave_address].i2cset i2c_slave_address, *data
|
313
|
+
release_lock
|
309
314
|
end
|
310
315
|
|
311
316
|
# Miscellaneous functions.
|
@@ -315,6 +320,7 @@ module GrovePi
|
|
315
320
|
self._ensure_init
|
316
321
|
@_i2c_grove_pi.i2cset @_i2c_grove_pi.address, CMD_READ_FIRMWARE_VERSION, 0, 0, 0
|
317
322
|
bytes = @_i2c_grove_pi.i2cget(@_i2c_grove_pi.address, 4).chars
|
323
|
+
self.release_lock
|
318
324
|
return [bytes[1].ord, bytes[2].ord, bytes[3].ord]
|
319
325
|
rescue Errno::EREMOTEIO
|
320
326
|
next
|
@@ -340,6 +346,7 @@ module GrovePi
|
|
340
346
|
@_i2c_grove_pi.i2cget(@_i2c_grove_pi.address, 1)
|
341
347
|
numbers = @_i2c_grove_pi.i2cget(@_i2c_grove_pi.address, 3).chars
|
342
348
|
|
349
|
+
self.release_lock
|
343
350
|
return (numbers[1].ord) * 256 + (numbers[2].ord)
|
344
351
|
end
|
345
352
|
|
@@ -384,6 +391,7 @@ module GrovePi
|
|
384
391
|
end
|
385
392
|
end
|
386
393
|
end
|
394
|
+
self.release_lock
|
387
395
|
end
|
388
396
|
|
389
397
|
|
@@ -395,6 +403,7 @@ module GrovePi
|
|
395
403
|
def self.fourDigit_init(pin)
|
396
404
|
self._ensure_init
|
397
405
|
@_i2c_grove_pi.i2cset(@_i2c_grove_pi.address, CMD_4DIG_INIT, pin, 0, 0)
|
406
|
+
self.release_lock
|
398
407
|
end
|
399
408
|
|
400
409
|
|
@@ -405,6 +414,7 @@ module GrovePi
|
|
405
414
|
self._ensure_init
|
406
415
|
@_i2c_grove_pi.i2cset(@_i2c_grove_pi.address, CMD_4DIG_DIGIT, pin, segment, value)
|
407
416
|
sleep(0.05)
|
417
|
+
self.release_lock
|
408
418
|
end
|
409
419
|
|
410
420
|
# Turn on entire display (88:88)
|
@@ -412,6 +422,7 @@ module GrovePi
|
|
412
422
|
self._ensure_init
|
413
423
|
@_i2c_grove_pi.i2cset(@_i2c_grove_pi.address, CMD_4DIG_ON, pin, 0, 0)
|
414
424
|
sleep(0.05)
|
425
|
+
self.release_lock
|
415
426
|
end
|
416
427
|
|
417
428
|
# Display a decimal value without leading zeros
|
@@ -427,6 +438,7 @@ module GrovePi
|
|
427
438
|
@_i2c_grove_pi.i2cset(@_i2c_grove_pi.address, CMD_4DIG_VALUE, pin, byte1, byte2)
|
428
439
|
|
429
440
|
sleep(0.05)
|
441
|
+
self.release_lock
|
430
442
|
end
|
431
443
|
|
432
444
|
# Display a string
|
@@ -456,6 +468,7 @@ module GrovePi
|
|
456
468
|
i += 1
|
457
469
|
sleep(0.05)
|
458
470
|
end
|
471
|
+
self.release_lock
|
459
472
|
end
|
460
473
|
|
461
474
|
# Set brightness of display
|
@@ -464,6 +477,7 @@ module GrovePi
|
|
464
477
|
self._ensure_init
|
465
478
|
@_i2c_grove_pi.i2cset(@_i2c_grove_pi.address, CMD_4DIG_BRIGHTNESS, pin, brightness.to_i, 0)
|
466
479
|
sleep(0.05)
|
480
|
+
self.release_lock
|
467
481
|
end
|
468
482
|
|
469
483
|
|
@@ -476,6 +490,7 @@ module GrovePi
|
|
476
490
|
left = value/100
|
477
491
|
right = value % 100
|
478
492
|
@_i2c_grove_pi.i2cset(@_i2c_grove_pi.address, CMD_4DIG_CLOCK, pin, left, right)
|
493
|
+
self.release_lock
|
479
494
|
return left, right
|
480
495
|
end
|
481
496
|
|
@@ -497,6 +512,7 @@ module GrovePi
|
|
497
512
|
end
|
498
513
|
|
499
514
|
@_i2c_slave_addresses[i2c_slave_address].i2cset *data
|
515
|
+
self.release_lock
|
500
516
|
end
|
501
517
|
|
502
518
|
# Set the color of the LCD RGB display
|