apiotics_factory 1.0.13 → 1.0.14
Sign up to get free protection for your applications and to get access to all the features.
- 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
|