apiotics_factory 1.0.16 → 1.0.17

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: 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