dbrady-switchy 0.2.0 → 0.2.1

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/switchy.rb +12 -0
  2. metadata +2 -2
data/lib/switchy.rb CHANGED
@@ -86,44 +86,56 @@ class Switchy
86
86
  end
87
87
 
88
88
  attr_accessor :modem, :baud
89
+ attr_accessor :borked # true when the device was not found at startup. Makes switchy-inclusive apps noncrashy when they find themselves unexpectedly switchy-excluded
90
+ def borked?; @borked; end
89
91
 
90
92
  def initialize(modem = '/dev/tty.usbmodem12341', baud=38400)
93
+ @borked = !File.exists?(modem)
94
+ puts "**** Could not find Switchy device on #{modem}" if borked?
91
95
  @modem, @baud = modem, baud
92
96
  connect
93
97
  end
94
98
 
95
99
  def connect
100
+ return if borked?
96
101
  @sp = SerialPort.new @modem, @baud
97
102
  end
98
103
 
99
104
  def disconnect
105
+ return if borked?
100
106
  # ???
101
107
  end
102
108
 
103
109
  # Set pin "b4", 1 # turn on pin b4
104
110
  def set_pin(p, v)
111
+ return if borked?
105
112
  cmd = "#{p.upcase}=#{v}\r\n"
106
113
  @sp.write cmd
107
114
  end
108
115
 
109
116
  def set_light(l, v)
117
+ return if borked?
110
118
  cmd = "C#{l+3}=#{v}\r\n"
111
119
  @sp.write cmd
112
120
  end
113
121
 
114
122
  def light1=(v)
123
+ return if borked?
115
124
  set_light 1, v
116
125
  end
117
126
 
118
127
  def light2=(v)
128
+ return if borked?
119
129
  set_light 2, v
120
130
  end
121
131
 
122
132
  def light3=(v)
133
+ return if borked?
123
134
  set_light 3, v
124
135
  end
125
136
 
126
137
  def light4=(v)
138
+ return if borked?
127
139
  set_light 4, v
128
140
  end
129
141
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dbrady-switchy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Brady
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-05-12 00:00:00 -07:00
12
+ date: 2009-07-09 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency