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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c59e4c2af33710657bcf828cac7f8fad3a31020d
4
- data.tar.gz: b35cff21244a958ca0a4de7c03aa720eb53ac6a3
3
+ metadata.gz: 9270010b9cb3c5341dcde31399a9a6d1dfd4ac97
4
+ data.tar.gz: fcaac312ac73565c72a1ca2b24a7242cafa0c480
5
5
  SHA512:
6
- metadata.gz: 20530e3885b7bab8fb53a069745f0be79ec34d59d39ce0805011100548d09e10d60acfab728130ef91852907639af4f001eea66f6fb925409e6748fc1c277d31
7
- data.tar.gz: 409a7a0181e5a6d84bac9910ae51ace88a5c9511e2f3c491106bd56c83e2c7ed43d90946001b7e3297d7c8cfe70a523d7fd6d2a91578ea4c424d82123adfa70f
6
+ metadata.gz: '025129626bfcbce7e4540a6b0bc406e0b618a7695415910e3b8e68425a7d150c32563a7a7a7c87bcb60fe8ff5450431193bf7a80c966fb1f8b0703dce352600e'
7
+ data.tar.gz: 8a0e7978b0dd1b00ae997c40d0bf1d18dad8ddd712ab2235c58845fee42c08a8dddc9bcf003a4f60b230bba3b69c93f0b79ece41584edea0faf07c9239480aa7
@@ -1,3 +1,3 @@
1
1
  module ApioticsFactory
2
- VERSION = '1.0.13'
2
+ VERSION = '1.0.14'
3
3
  end
@@ -166,38 +166,42 @@ module GrovePi
166
166
  if @_i2c_grove_pi == nil
167
167
  raise 'No GrovePi found.'
168
168
  end
169
- unless @_i2c_device_file.is_a(File)
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
- return @_i2c_grove_pi.i2cget(@_i2c_grove_pi.address, 2).chars[0].ord
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apiotics_factory
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.13
4
+ version: 1.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Apiotics