rbone 0.1.2 → 0.1.3

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