relayrace 1.0.1 → 1.0.2

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 (2) hide show
  1. data/lib/relayrace.rb +9 -25
  2. metadata +3 -3
@@ -1,4 +1,3 @@
1
- require 'monitor'
2
1
  require 'serialport'
3
2
  require 'system_timer'
4
3
 
@@ -6,12 +5,6 @@ class RelayrAce
6
5
  def initialize(port, logger = nil)
7
6
  @port = port
8
7
  @logger = logger
9
- open_serial_port
10
- end
11
-
12
- def close
13
- @serial.close
14
- @serial = @port = nil
15
8
  end
16
9
 
17
10
  def get_relay(relay)
@@ -43,25 +36,16 @@ class RelayrAce
43
36
  end
44
37
 
45
38
  def send_cmd(cmd)
46
- @serial.synchronize do
47
- begin
48
- SystemTimer.timeout_after(10) do
49
- @serial.write("\r\n")
50
- 2.times { @serial.getc == ':' }
51
- @serial.write("#{cmd}\r\n")
39
+ begin
40
+ SystemTimer.timeout_after(10) do
41
+ SerialPort.open(@port, 115200, 8, 1, SerialPort::NONE) do |tty|
42
+ tty.write("\r\n")
43
+ 2.times { tty.getc == ':' }
44
+ tty.write("#{cmd}\r\n")
52
45
  end
53
- rescue Timeout::Error
54
- @logger.warn "Reopening serial port due to timeout" if @logger
55
- open_serial_port
56
46
  end
47
+ rescue Timeout::Error
48
+ @logger.warn "Failed to execute operation #{cmd}" if @logger
57
49
  end
58
50
  end
59
-
60
- private
61
- def open_serial_port
62
- @serial.close if @serial
63
- sleep 1 # Give the OS a chance to catch up
64
- @serial = SerialPort.new(@port, 115200, 8, 1, SerialPort::NONE)
65
- @serial.extend(MonitorMixin)
66
- end
67
- end
51
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relayrace
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 19
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 1
10
- version: 1.0.1
9
+ - 2
10
+ version: 1.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Mat Trudel