rbone 0.1.2 → 0.1.3

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.
Files changed (3) hide show
  1. data/lib/rbone/app.rb +21 -2
  2. data/lib/rbone/version.rb +1 -1
  3. metadata +9 -9
@@ -24,6 +24,7 @@ module Rbone
24
24
 
25
25
  def initialize
26
26
  @exported_pins = []
27
+ @start_time = Time.now
27
28
  if block_given?
28
29
  yield(self)
29
30
  end
@@ -81,7 +82,7 @@ module Rbone
81
82
 
82
83
  if value == HIGH || value == LOW
83
84
  File.open(filename, 'w') do |f|
84
- f.write(value.to_s)
85
+ f.write(value.to_s)
85
86
  end
86
87
  return true
87
88
  else
@@ -92,7 +93,9 @@ module Rbone
92
93
  def digitalRead(pin)
93
94
  if DIGITAL_PINS.include?(pin)
94
95
  filename = '/sys/class/gpio/gpio%d/value' % [pin]
95
- value = open(filename).read
96
+ File.open(filename, 'r') do |f|
97
+ value = f.read.chomp
98
+ end
96
99
  case value.chomp
97
100
  when '0' then LOW
98
101
  when '1' then HIGH
@@ -118,6 +121,22 @@ module Rbone
118
121
  sleep(ms.to_f / 1000.0)
119
122
  end
120
123
 
124
+ def delayMicroseconds(ms)
125
+ sleep(ms.to_f / 1_000_000)
126
+ end
127
+
128
+ def millis
129
+ (Time.now.to_i - @start_time.to_i) * 1000
130
+ end
131
+
132
+ def micros
133
+ (Time.now.to_i - @start_time.to_i) * 1_000_000
134
+ end
135
+
136
+ def map(x, a1, a2, b1, b2)
137
+ b1 + (x - a1) * (b2 - b1) / (a2 - a1)
138
+ end
139
+
121
140
  def cleanup!
122
141
  f = File.open('/sys/class/gpio/unexport', 'w')
123
142
  while pin = @exported_pins.pop
@@ -1,3 +1,3 @@
1
1
  module Rbone
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbone
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-05-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: &70239113915320 !ruby/object:Gem::Requirement
16
+ requirement: &70349566284100 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70239113915320
24
+ version_requirements: *70349566284100
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &70239113914880 !ruby/object:Gem::Requirement
27
+ requirement: &70349566283620 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70239113914880
35
+ version_requirements: *70349566283620
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: fakefs
38
- requirement: &70239113914320 !ruby/object:Gem::Requirement
38
+ requirement: &70349566283080 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70239113914320
46
+ version_requirements: *70349566283080
47
47
  description: This gem provides a simple interface for writing Arduino-style programs
48
48
  for the BeagleBone.
49
49
  email:
@@ -80,7 +80,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
80
80
  version: '0'
81
81
  segments:
82
82
  - 0
83
- hash: 597916065967207294
83
+ hash: 4427378904925698514
84
84
  required_rubygems_version: !ruby/object:Gem::Requirement
85
85
  none: false
86
86
  requirements:
@@ -89,7 +89,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
89
89
  version: '0'
90
90
  segments:
91
91
  - 0
92
- hash: 597916065967207294
92
+ hash: 4427378904925698514
93
93
  requirements: []
94
94
  rubyforge_project:
95
95
  rubygems_version: 1.8.11