apiotics_factory 1.0.16 → 1.0.17

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f5b1a2310ee7ed5c2853859e3a26288e7424b6ed
4
- data.tar.gz: e5dd72dd9a7ab69cf6be41cd8d95b6afd4786007
3
+ metadata.gz: 2ea4136f25984b4d1c62dc85c657c5c04a89f753
4
+ data.tar.gz: e214651a7cedab80f695a6e86734e55055bcf4bf
5
5
  SHA512:
6
- metadata.gz: 90679be12114cfffcb42547e0423f8484911b2bc4d1ab8abf71f6cdfca815334feba760e2902d3cee8d2ac6e0fff0ccdf2c6a1e8ef5ccceb303bbbc1e3b7dbfa
7
- data.tar.gz: cd41cfc767470987178ea28d5312e8834aa06e7836310a9f97347b00ef32e0ee13dbe734f5d0f891fc8f884c0dbc5a920e37c6cc38f726656aac240d223cfabd
6
+ metadata.gz: 43638445a83dafe569f668372031b87007c53e3a2ae0802b3700ae5b54bf7fe807a78c7c33e166a474895fe425953b13c1ca12fe2f8c6f07df714ac8966a51da
7
+ data.tar.gz: 2cb015822df5617e5ea6d6d9a1179299f64e9057a4c9c4329402762384399c6279fc9757df79acc3d6e557340b2a0b7d3a0b33b68a99ea07c13ac60fc8c1b601
@@ -1,3 +1,3 @@
1
1
  module ApioticsFactory
2
- VERSION = '1.0.16'
2
+ VERSION = '1.0.17'
3
3
  end
@@ -1,12 +1,11 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  module GrovePi
4
- require 'json'
5
4
  require_relative 'i2c'
6
5
  require_relative 'i2c/driver/i2c-dev'
7
6
 
8
7
  at_exit do
9
- release_lock
8
+ GrovePi.release_lock
10
9
  end
11
10
 
12
11
  # Commands.
@@ -68,7 +67,7 @@ module GrovePi
68
67
  @_i2c_grove_pi = nil
69
68
 
70
69
  # Initialize i2c file path
71
- @_i2c_device_file = nil
70
+ @@_i2c_device_file = nil
72
71
 
73
72
 
74
73
 
@@ -132,19 +131,24 @@ module GrovePi
132
131
  cycle = true
133
132
  while cycle == true
134
133
  begin
135
- @_i2c_device_file = File.open(LOCK_FILE_PATH, File::WRONLY|File::CREAT|File::EXCL)
134
+ puts "Getting lock."
135
+ @@_i2c_device_file = File.open(LOCK_FILE_PATH, File::WRONLY|File::CREAT|File::EXCL)
136
136
  cycle = false
137
+ puts "Lock acquired."
137
138
  rescue
138
- sleep 0.1
139
+ puts "Could not get lock."
139
140
  end
140
141
  end
141
142
  end
142
143
 
143
144
  def self.release_lock
144
- if @_i2c_device_file.is_a?(File)
145
- @_i2c_device_file.close
145
+ puts "Releasing lock."
146
+ if @@_i2c_device_file.is_a?(File)
147
+ @@_i2c_device_file.close
146
148
  File.delete(LOCK_FILE_PATH)
147
- @_i2c_device_file = nil
149
+ @@_i2c_device_file = nil
150
+ puts "Lock released."
151
+ sleep 0.1
148
152
  end
149
153
  end
150
154
 
@@ -166,42 +170,42 @@ module GrovePi
166
170
  if @_i2c_grove_pi == nil
167
171
  raise 'No GrovePi found.'
168
172
  end
169
- self.get_lock
173
+ GrovePi.get_lock
170
174
  end
171
175
  end
172
176
 
173
177
  def self._set_pin_mode(pin, mode)
174
178
  self._ensure_init
175
179
  @_i2c_grove_pi.i2cset @_i2c_grove_pi.address, CMD_PIN_MODE, pin, mode, 0
176
- self.release_lock
180
+ GrovePi.release_lock
177
181
  end
178
182
 
179
183
  def self._read_analog(pin)
180
184
  self._ensure_init
181
185
  @_i2c_grove_pi.i2cset @_i2c_grove_pi.address, CMD_READ_ANALOG, pin, 0, 0
182
186
  bytes = @_i2c_grove_pi.i2cget(@_i2c_grove_pi.address, 3).chars
183
- self.release_lock
187
+ GrovePi.release_lock
184
188
  return (bytes[1].ord * 256) + bytes[2].ord
185
189
  end
186
190
 
187
191
  def self._write_analog(pin, value)
188
192
  self._ensure_init
189
193
  @_i2c_grove_pi.i2cset @_i2c_grove_pi.address, CMD_WRITE_ANALOG, pin, value, 0
190
- self.release_lock
194
+ GrovePi.release_lock
191
195
  end
192
196
 
193
197
  def self._read_digital(pin)
194
198
  self._ensure_init
195
199
  @_i2c_grove_pi.i2cset @_i2c_grove_pi.address, CMD_READ_DIGITAL, pin, 0, 0
196
200
  val = @_i2c_grove_pi.i2cget(@_i2c_grove_pi.address, 2)
197
- self.release_lock
201
+ GrovePi.release_lock
198
202
  return val.chars[0].ord
199
203
  end
200
204
 
201
205
  def self._write_digital(pin, value)
202
206
  self._ensure_init
203
207
  @_i2c_grove_pi.i2cset @_i2c_grove_pi.address, CMD_WRITE_DIGITAL, pin, value, 0
204
- self.release_lock
208
+ GrovePi.release_lock
205
209
  end
206
210
 
207
211
  # Functions exposed to the user.
@@ -310,7 +314,7 @@ module GrovePi
310
314
  end
311
315
 
312
316
  @_i2c_slave_addresses[i2c_slave_address].i2cset i2c_slave_address, *data
313
- release_lock
317
+ GrovePi.release_lock
314
318
  end
315
319
 
316
320
  # Miscellaneous functions.
@@ -346,7 +350,7 @@ module GrovePi
346
350
  @_i2c_grove_pi.i2cget(@_i2c_grove_pi.address, 1)
347
351
  numbers = @_i2c_grove_pi.i2cget(@_i2c_grove_pi.address, 3).chars
348
352
 
349
- self.release_lock
353
+ GrovePi.release_lock
350
354
  return (numbers[1].ord) * 256 + (numbers[2].ord)
351
355
  end
352
356
 
@@ -391,7 +395,7 @@ module GrovePi
391
395
  end
392
396
  end
393
397
  end
394
- self.release_lock
398
+ GrovePi.release_lock
395
399
  end
396
400
 
397
401
 
@@ -403,7 +407,7 @@ module GrovePi
403
407
  def self.fourDigit_init(pin)
404
408
  self._ensure_init
405
409
  @_i2c_grove_pi.i2cset(@_i2c_grove_pi.address, CMD_4DIG_INIT, pin, 0, 0)
406
- self.release_lock
410
+ GrovePi.release_lock
407
411
  end
408
412
 
409
413
 
@@ -414,7 +418,7 @@ module GrovePi
414
418
  self._ensure_init
415
419
  @_i2c_grove_pi.i2cset(@_i2c_grove_pi.address, CMD_4DIG_DIGIT, pin, segment, value)
416
420
  sleep(0.05)
417
- self.release_lock
421
+ GrovePi.release_lock
418
422
  end
419
423
 
420
424
  # Turn on entire display (88:88)
@@ -422,7 +426,7 @@ module GrovePi
422
426
  self._ensure_init
423
427
  @_i2c_grove_pi.i2cset(@_i2c_grove_pi.address, CMD_4DIG_ON, pin, 0, 0)
424
428
  sleep(0.05)
425
- self.release_lock
429
+ GrovePi.release_lock
426
430
  end
427
431
 
428
432
  # Display a decimal value without leading zeros
@@ -438,7 +442,7 @@ module GrovePi
438
442
  @_i2c_grove_pi.i2cset(@_i2c_grove_pi.address, CMD_4DIG_VALUE, pin, byte1, byte2)
439
443
 
440
444
  sleep(0.05)
441
- self.release_lock
445
+ GrovePi.release_lock
442
446
  end
443
447
 
444
448
  # Display a string
@@ -468,7 +472,7 @@ module GrovePi
468
472
  i += 1
469
473
  sleep(0.05)
470
474
  end
471
- self.release_lock
475
+ GrovePi.release_lock
472
476
  end
473
477
 
474
478
  # Set brightness of display
@@ -477,7 +481,7 @@ module GrovePi
477
481
  self._ensure_init
478
482
  @_i2c_grove_pi.i2cset(@_i2c_grove_pi.address, CMD_4DIG_BRIGHTNESS, pin, brightness.to_i, 0)
479
483
  sleep(0.05)
480
- self.release_lock
484
+ GrovePi.release_lock
481
485
  end
482
486
 
483
487
 
@@ -512,7 +516,7 @@ module GrovePi
512
516
  end
513
517
 
514
518
  @_i2c_slave_addresses[i2c_slave_address].i2cset *data
515
- self.release_lock
519
+ GrovePi.release_lock
516
520
  end
517
521
 
518
522
  # Set the color of the LCD RGB display
@@ -556,4 +560,4 @@ module GrovePi
556
560
 
557
561
  # TODO: Implement rest of the commands that are supported by the firmware.
558
562
 
559
- end
563
+ end
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.16
4
+ version: 1.0.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Apiotics