dbrady-switchy 0.2.0 → 0.2.1

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