go_easy_btn 0.0.7 → 0.0.8
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.
- data/lib/go_easy_btn.rb +15 -7
- metadata +3 -3
data/lib/go_easy_btn.rb
CHANGED
@@ -6,24 +6,25 @@ class GoEasyButton
|
|
6
6
|
BTN_COMMAND = 'PRESSED'
|
7
7
|
|
8
8
|
def initialize(options = {})
|
9
|
-
raise 'not found serial port has been' unless File.exists? options[:dev]
|
9
|
+
raise Errno::ENOENT, 'not found serial port has been' unless File.exists? options[:dev]
|
10
10
|
@cmd = options[:cmd]
|
11
11
|
@device = options[:dev]
|
12
|
-
@
|
12
|
+
@baud = options[:baud] || 115200
|
13
13
|
@count = 0
|
14
14
|
@start_time = Time.now
|
15
15
|
end
|
16
16
|
|
17
17
|
def make_it_easy
|
18
|
-
|
19
|
-
|
20
|
-
SerialPort.open @device, @port do |port|
|
18
|
+
SerialPort.open @device, @baud do |port|
|
21
19
|
begin
|
20
|
+
puts "Making It Easy\n\n"
|
22
21
|
while data = port.readline
|
23
22
|
run_command if data.strip == BTN_COMMAND
|
24
23
|
end
|
25
|
-
rescue Interrupt
|
24
|
+
rescue Interrupt
|
26
25
|
puts "\rgoing bye bye now", stats(true)
|
26
|
+
rescue EOFError
|
27
|
+
handle_disconnect
|
27
28
|
end
|
28
29
|
end
|
29
30
|
end
|
@@ -33,7 +34,7 @@ class GoEasyButton
|
|
33
34
|
def run_command
|
34
35
|
puts border
|
35
36
|
|
36
|
-
Alerter.alert 'I am going to make this easy
|
37
|
+
Thread.new { Alerter.alert 'I am going to make this easy?' }
|
37
38
|
puts "Executing: #{@cmd}"
|
38
39
|
|
39
40
|
success = system @cmd
|
@@ -49,6 +50,13 @@ class GoEasyButton
|
|
49
50
|
puts msg, border, stats
|
50
51
|
end
|
51
52
|
|
53
|
+
def handle_disconnect(msg = 'disconnected')
|
54
|
+
make_it_easy
|
55
|
+
rescue Errno::ENOENT # still not connected
|
56
|
+
sleep 1
|
57
|
+
retry
|
58
|
+
end
|
59
|
+
|
52
60
|
private
|
53
61
|
|
54
62
|
def stats(verbose = false)
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 8
|
9
|
+
version: 0.0.8
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Josh Nussbaum, Diego Salazar
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2012-11-
|
17
|
+
date: 2012-11-30 00:00:00 -05:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|