mi100 0.3.1 → 0.4.0

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/mi100/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Mi100
2
- VERSION = "0.3.1"
2
+ VERSION = "0.4.0"
3
3
  end
data/lib/mi100.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # mi100.rb
2
2
  # Copyright (c) 2014 Masami Yamakawa
3
- #
3
+ #
4
4
  # This software is released under the MIT License.
5
5
  # http://opensource.org/lisenses/mit-license.php
6
6
 
@@ -25,15 +25,20 @@ class Mi100
25
25
  CMD_BLINK_LED = "D"
26
26
  CMD_TONE = "T"
27
27
  CMD_GET_LIGHT = "P"
28
-
28
+ CMD_TURN_RIGHT = "U"
29
+ CMD_TURN_LEFT = "A"
30
+ CMD_SET_SPEED = "W"
31
+ CMD_FREE_RAM = "M"
32
+
33
+ DEFAULT_SPEED = 1023
29
34
  DEFAULT_MOVE_DURATION = 300
30
35
  DEFAULT_SPIN_DURATION = 140
31
36
  DEFAULT_BLINK_DURATION = 600
32
37
  DEFAULT_TONE_DURATION = 300
33
-
38
+
34
39
  DEFAULT_MOVE_DIRECTION = "FORWARD"
35
40
  DEFAULT_SPIN_DIRECTION = "RIGHT"
36
-
41
+
37
42
  FREQUENCY = { DO: 262,
38
43
  DOS: 277,
39
44
  RE: 294,
@@ -58,7 +63,7 @@ class Mi100
58
63
  HLA: 880,
59
64
  HSI: 988,
60
65
  }
61
-
66
+
62
67
  def initialize(dev)
63
68
  retries_left = DEFAULT_RETRIES
64
69
  begin
@@ -70,87 +75,111 @@ class Mi100
70
75
  puts "Bluetooth connection failed."
71
76
  raise
72
77
  end
73
-
78
+
74
79
  end
75
-
80
+
76
81
  def close
77
82
  sleep 2
78
83
  @sp.close
79
84
  end
80
-
85
+
81
86
  def ping
82
87
  send_command_get_response CMD_PING
83
88
  end
84
-
89
+
85
90
  def power
86
91
  response = send_command_get_response CMD_GET_POWER_LEVEL
87
92
  voltage = response[1].to_i / 1000.0
88
93
  voltage.round 2
89
94
  end
90
-
95
+
91
96
  def light
92
97
  response = send_command_get_response CMD_GET_LIGHT
93
98
  response[1].to_i
94
99
  end
95
-
100
+
96
101
  def move(direction = DEFAULT_MOVE_DIRECTION, duration = DEFAULT_MOVE_DURATION)
97
102
  cmd = direction.upcase == "BACKWARD" ? CMD_MOVE_BACKWARD : CMD_MOVE_FORWARD
98
103
  send_command_get_response "#{cmd},#{duration.to_s}"
99
104
  end
100
-
105
+
101
106
  def spin(direction = DEFAULT_SPIN_DIRECTION, duration = DEFAULT_SPIN_DURATION)
102
107
  cmd = direction.upcase == "LEFT" ? CMD_SPIN_LEFT : CMD_SPIN_RIGHT
103
108
  send_command_get_response "#{cmd},#{duration.to_s}"
104
- end
105
-
109
+ end
110
+
106
111
  def move_forward(duration)
107
112
  send_command_get_response "#{CMD_MOVE_FORWARD},#{duration.to_s}"
108
113
  end
109
-
114
+
110
115
  def move_backward(duration)
111
116
  send_command_get_response "#{CMD_MOVE_BACKWARD},#{duration.to_s}"
112
117
  end
113
-
118
+
114
119
  def spin_right(duration)
115
120
  send_command_get_response "#{CMD_SPIN_RIGHT},#{duration.to_s}"
116
121
  end
117
-
122
+
118
123
  def spin_left(duration)
119
124
  send_command_get_response "#{CMD_SPIN_LEFT},#{duration.to_s}"
120
125
  end
121
-
126
+
127
+ def turn_right(duration)
128
+ send_command_get_response "#{CMD_TURN_RIGHT},#{duration.to_s}"
129
+ end
130
+
131
+ def turn_left(duration)
132
+ send_command_get_response "#{CMD_TURN_LEFT},#{duration.to_s}"
133
+ end
134
+
122
135
  def movef(duration = DEFAULT_MOVE_DURATION)
123
136
  move_forward duration
124
137
  end
125
-
138
+
126
139
  def moveb(duration = DEFAULT_MOVE_DURATION)
127
140
  move_backward duration
128
141
  end
129
-
142
+
130
143
  def spinr(duration = DEFAULT_SPIN_DURATION)
131
144
  spin_right duration
132
145
  end
133
-
146
+
134
147
  def spinl(duration = DEFAULT_SPIN_DURATION)
135
148
  spin_left duration
136
149
  end
137
-
150
+
138
151
  def move_forward!(duration)
139
152
  sendln "#{CMD_MOVE_FORWARD},#{duration.to_s}"
140
153
  end
141
-
154
+
142
155
  def move_backward!(duration)
143
156
  sendln "#{CMD_MOVE_BACKWARD},#{duration.to_s}"
144
157
  end
145
-
158
+
146
159
  def spin_right!(duration)
147
160
  sendln "#{CMD_SPIN_RIGHT},#{duration.to_s}"
148
161
  end
149
-
162
+
150
163
  def spin_left!(duration)
151
164
  sendln "#{CMD_SPIN_LEFT},#{duration.to_s}"
152
165
  end
153
-
166
+
167
+ def turn_right!(duration)
168
+ sendln "#{CMD_TURN_RIGHT},#{duration.to_s}"
169
+ end
170
+
171
+ def turn_left!(duration)
172
+ sendln "#{CMD_TURN_LEFT},#{duration.to_s}"
173
+ end
174
+
175
+ def speed(pwm_value = DEFAULT_SPEED)
176
+ send_command_get_response "#{CMD_SET_SPEED},#{pwm_value.to_s}"
177
+ end
178
+
179
+ def free_ram
180
+ send_command_get_response "#{CMD_FREE_RAM}"
181
+ end
182
+
154
183
  def blink(r = nil, g = nil, b = nil, duration = DEFAULT_BLINK_DURATION)
155
184
  r ||= rand(100)+1
156
185
  g ||= rand(100)+1
@@ -164,27 +193,27 @@ class Mi100
164
193
  def stop
165
194
  send_command_get_response CMD_STOP
166
195
  end
167
-
196
+
168
197
  def tone(frequency = nil, duration = DEFAULT_TONE_DURATION)
169
198
  frequency ||= rand(4186 - 28) + 28
170
199
  frequency = 4186 if frequency > 4186
171
200
  frequency = 28 if frequency < 28
172
201
  send_command_get_response "#{CMD_TONE},#{frequency.to_s},#{duration.to_s}"
173
202
  end
174
-
203
+
175
204
  def sound(pitch = "?", duration = DEFAULT_TONE_DURATION)
176
-
205
+
177
206
  if pitch.instance_of?(String)
178
207
  pitch = FREQUENCY.keys[rand(FREQUENCY.size)].to_s if pitch == "?"
179
208
  frequency = FREQUENCY[pitch.upcase.to_sym]
180
209
  else
181
210
  frequency = pitch
182
211
  end
183
-
212
+
184
213
  tone frequency, duration if frequency
185
214
  sleep duration.to_f / 1000.0
186
215
  end
187
-
216
+
188
217
  def good
189
218
  freqs = [440,880,1760]
190
219
  duration = 100.0
@@ -193,38 +222,38 @@ class Mi100
193
222
  sleep duration / 1000.0
194
223
  end
195
224
  end
196
-
225
+
197
226
  def bad
198
227
  duration = 400.0
199
228
  freq = 100
200
229
  tone freq, duration
201
230
  sleep duration / 1000.0
202
231
  end
203
-
232
+
204
233
  def talk(str)
205
234
  morsecoder = Morsecoder.new str
206
235
  morsecoder.each {|frequency, duration| sound(frequency,duration)}
207
236
  end
208
-
237
+
209
238
  def morse_frequency
210
239
  Morsecoder.default_frequency
211
240
  end
212
-
241
+
213
242
  def morse_frequency=(frequency)
214
243
  Morsecoder.default_frequency = frequency
215
244
  end
216
-
245
+
217
246
  def morse_unit
218
247
  Morsecoder.default_unit
219
248
  end
220
-
249
+
221
250
  def morse_unit=(millisec)
222
251
  Morsecoder.default_unit = millisec
223
252
  end
224
-
253
+
225
254
  # Private methods
226
255
  private
227
-
256
+
228
257
  def initialize_serialport(dev)
229
258
  require 'serialport'
230
259
  @sp = SerialPort.new dev, 38400, 8, 1, SerialPort::NONE
@@ -233,8 +262,8 @@ class Mi100
233
262
  @sp.write_timeout = WRITE_TIMEOUT
234
263
  end
235
264
  end
236
-
237
-
265
+
266
+
238
267
  def send_command_get_response(cmd = CMD_PING)
239
268
  empty_receive_buffer
240
269
  sendln cmd
@@ -249,11 +278,11 @@ class Mi100
249
278
  end
250
279
  received_line.chomp.split(",")
251
280
  end
252
-
281
+
253
282
  def sendln str
254
283
  @sp.write str + "\n"
255
284
  end
256
-
285
+
257
286
  def empty_receive_buffer
258
287
  @sp.read_timeout = SHORT_READ_TIMEOUT
259
288
  begin
@@ -261,7 +290,7 @@ class Mi100
261
290
  end while char && char.length > 0
262
291
  @sp.read_timeout = READ_TIMEOUT
263
292
  end
264
-
293
+
265
294
  def receiveln
266
295
  if is_windows?
267
296
  start_time = Time.now
@@ -282,5 +311,5 @@ class Mi100
282
311
  def is_windows?
283
312
  os = RUBY_PLATFORM.split("-")[1]
284
313
  os == 'mswin' or os == 'bccwin' or os == 'mingw' or os == 'mingw32'
285
- end
314
+ end
286
315
  end
data/spec/mi100_spec.rb CHANGED
@@ -14,41 +14,41 @@ describe Mi100 do
14
14
  mi100 = Mi100.new "COM5"
15
15
  expect(mi100).to be_a Mi100
16
16
  end
17
-
17
+
18
18
  it 'should send "H" on :ping' do
19
19
  Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_PING,1234])
20
20
  mi100 = Mi100.new "COM5"
21
21
  expect(mi100.ping).to eq(["H",1234])
22
22
  expect(mi100).to have_received(:send_command_get_response).with("H")
23
23
  end
24
-
24
+
25
25
  it 'should send "H" and return rounded power level on :power' do
26
26
  Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_GET_POWER_LEVEL,1188])
27
27
  mi100 = Mi100.new "COM5"
28
28
  expect(mi100.power).to eq(1.19)
29
29
  expect(mi100).to have_received(:send_command_get_response).with("H")
30
30
  end
31
-
31
+
32
32
  it 'should send "P" and get light level on :light' do
33
33
  Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_GET_LIGHT,1188])
34
34
  mi100 = Mi100.new "COM5"
35
35
  expect(mi100.light).to eq(1188)
36
36
  expect(mi100).to have_received(:send_command_get_response).with("P")
37
37
  end
38
-
38
+
39
39
  it 'should send "F,duration" on :move with "FORWARD"' do
40
40
  Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_MOVE_FORWARD,1234])
41
41
  mi100 = Mi100.new "COM5"
42
42
  expect(mi100.move "FORWARD").to eq(["F",1234])
43
43
  expect(mi100).to have_received(:send_command_get_response).with("F,300")
44
44
  end
45
-
45
+
46
46
  it 'should send "B,duration" on move "BACKWARD"' do
47
47
  Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_MOVE_BACKWARD,1234])
48
48
  mi100 = Mi100.new "COM5"
49
49
  expect(mi100.move "BACKWARD").to eq(["B",1234])
50
50
  expect(mi100).to have_received(:send_command_get_response).with("B,300")
51
- end
51
+ end
52
52
 
53
53
  it 'should send "R,140" on spin "RIGHT"' do
54
54
  Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_SPIN_RIGHT,1234])
@@ -77,34 +77,48 @@ describe Mi100 do
77
77
  expect(mi100.move_backward 500).to eq(["B",1234])
78
78
  expect(mi100).to have_received(:send_command_get_response).with("B,500")
79
79
  end
80
-
80
+
81
81
  it 'should send "R,duration" spin_right duration' do
82
82
  Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_SPIN_RIGHT,1234])
83
83
  mi100 = Mi100.new "COM5"
84
84
  expect(mi100.spin_right 500).to eq(["R",1234])
85
85
  expect(mi100).to have_received(:send_command_get_response).with("R,500")
86
86
  end
87
-
87
+
88
88
  it 'should send "L,duration" on spin_left duration' do
89
89
  Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_SPIN_LEFT,1234])
90
90
  mi100 = Mi100.new "COM5"
91
91
  expect(mi100.spin_left 500).to eq(["L",1234])
92
92
  expect(mi100).to have_received(:send_command_get_response).with("L,500")
93
93
  end
94
-
94
+
95
+ it 'should send "U,duration" on turn_right duration' do
96
+ Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_TURN_RIGHT,1234])
97
+ mi100 = Mi100.new "COM5"
98
+ expect(mi100.turn_right 500).to eq(["U",1234])
99
+ expect(mi100).to have_received(:send_command_get_response).with("U,500")
100
+ end
101
+
102
+ it 'should send "A,duration" on turn_left duration' do
103
+ Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_TURN_LEFT,1234])
104
+ mi100 = Mi100.new "COM5"
105
+ expect(mi100.turn_left 500).to eq(["A",1234])
106
+ expect(mi100).to have_received(:send_command_get_response).with("A,500")
107
+ end
108
+
95
109
  it 'should send "F, 300" on movef' do
96
110
  Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_MOVE_FORWARD,1234])
97
111
  mi100 = Mi100.new "COM5"
98
112
  expect(mi100.movef).to eq(["F",1234])
99
113
  expect(mi100).to have_received(:send_command_get_response).with("F,300")
100
114
  end
101
-
115
+
102
116
  it 'should send "B,300" on moveb' do
103
117
  Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_MOVE_BACKWARD,1234])
104
118
  mi100 = Mi100.new "COM5"
105
119
  expect(mi100.moveb).to eq(["B",1234])
106
120
  expect(mi100).to have_received(:send_command_get_response).with("B,300")
107
- end
121
+ end
108
122
 
109
123
  it 'should send "R,140" spinr' do
110
124
  Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_SPIN_RIGHT,1234])
@@ -126,27 +140,62 @@ describe Mi100 do
126
140
  expect(mi100.move_forward! 500).to eq(6)
127
141
  expect(mi100).to have_received(:sendln).with("F,500")
128
142
  end
129
-
143
+
130
144
  it 'should send "B,duration" on move_backward! duration in async' do
131
145
  Mi100.any_instance.stub(:sendln => 6)
132
146
  mi100 = Mi100.new "COM5"
133
147
  expect(mi100.move_backward! 500).to eq(6)
134
148
  expect(mi100).to have_received(:sendln).with("B,500")
135
149
  end
136
-
137
- it 'should send "R,duration" on spin_right! duration in async' do
150
+
151
+ it 'should send "R,duration" on spin_right! duration in async' do
138
152
  Mi100.any_instance.stub(:sendln => 6)
139
153
  mi100 = Mi100.new "COM5"
140
154
  expect(mi100.spin_right! 500).to eq(6)
141
155
  expect(mi100).to have_received(:sendln).with("R,500")
142
156
  end
143
-
157
+
144
158
  it 'should send "L,duration" on spin_left! duration in async' do
145
159
  Mi100.any_instance.stub(:sendln => 6)
146
160
  mi100 = Mi100.new "COM5"
147
161
  expect(mi100.spin_left! 500).to eq(6)
148
162
  expect(mi100).to have_received(:sendln).with("L,500")
149
- end
163
+ end
164
+
165
+ it 'should send "U,duration" on turn_right! duration in async' do
166
+ Mi100.any_instance.stub(:sendln => 6)
167
+ mi100 = Mi100.new "COM5"
168
+ expect(mi100.turn_right! 500).to eq(6)
169
+ expect(mi100).to have_received(:sendln).with("U,500")
170
+ end
171
+
172
+ it 'should send "A,duration" on turn_left! duration in async' do
173
+ Mi100.any_instance.stub(:sendln => 6)
174
+ mi100 = Mi100.new "COM5"
175
+ expect(mi100.turn_left! 500).to eq(6)
176
+ expect(mi100).to have_received(:sendln).with("A,500")
177
+ end
178
+
179
+ it 'should send "W,pwm_value" on speed pwm_value' do
180
+ Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_SET_SPEED,1234])
181
+ mi100 = Mi100.new "COM5"
182
+ expect(mi100.speed 500).to eq(["W",1234])
183
+ expect(mi100).to have_received(:send_command_get_response).with("W,500")
184
+ end
185
+
186
+ it 'should reset default speed' do
187
+ Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_SET_SPEED,1234])
188
+ mi100 = Mi100.new "COM5"
189
+ expect(mi100.speed).to eq(["W",1234])
190
+ expect(mi100).to have_received(:send_command_get_response).with("W,1023")
191
+ end
192
+
193
+ it 'should send "M" and get free ram memory area on :free_ram' do
194
+ Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_FREE_RAM,1234])
195
+ mi100 = Mi100.new "COM5"
196
+ expect(mi100.free_ram).to eq(["M",1234])
197
+ expect(mi100).to have_received(:send_command_get_response).with("M")
198
+ end
150
199
 
151
200
  it 'should send "D,100, 50, 50,duration on blink 100,50,50,duration' do
152
201
  Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_BLINK_LED,1234])
@@ -168,72 +217,72 @@ describe Mi100 do
168
217
  expect(mi100.tone).to eq(["T",1234])
169
218
  expect(mi100).to have_received(:send_command_get_response).with(/T,\d{2,4},300/)
170
219
  end
171
-
220
+
172
221
  it 'should limit minimum tone frequency to 28 on tome' do
173
222
  Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_TONE,1234])
174
223
  mi100 = Mi100.new "COM5"
175
224
  mi100.tone 20, 500
176
225
  expect(mi100).to have_received(:send_command_get_response).with("T,28,500")
177
226
  end
178
-
227
+
179
228
  it 'should send "T,440,1000" on sound "la", 1000' do
180
229
  Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_TONE,1234])
181
230
  mi100 = Mi100.new "COM5"
182
231
  mi100.sound "la",1000
183
232
  expect(mi100).to have_received(:send_command_get_response).with("T,440,1000")
184
- end
233
+ end
185
234
 
186
235
  it 'sound should not call tone with false frequency' do
187
236
  mi100 = Mi100.new "COM5"
188
237
  mi100.stub(:tone)
189
238
  mi100.sound false, 300
190
239
  expect(mi100).not_to have_received(:tone)
191
- end
240
+ end
192
241
 
193
242
  it 'should send three good tones on good' do
194
243
  Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_TONE,1234])
195
244
  mi100 = Mi100.new "COM5"
196
245
  mi100.good
197
246
  expect(mi100).to have_received(:send_command_get_response).exactly(3).times
198
- end
199
-
247
+ end
248
+
200
249
  it 'should send one bad tone on bad' do
201
250
  Mi100.any_instance.stub(:send_command_get_response => [Mi100::CMD_TONE,1234])
202
251
  mi100 = Mi100.new "COM5"
203
252
  mi100.bad
204
253
  expect(mi100).to have_received(:send_command_get_response).once
205
- end
206
-
254
+ end
255
+
207
256
  it 'should talk morse code' do
208
257
  mi100 = Mi100.new "COM5"
209
258
  mi100.stub(:tone)
210
259
  mi100.talk "sos"
211
260
  expect(mi100).to have_received(:tone).exactly(6).times.with(4000,50)
212
261
  expect(mi100).to have_received(:tone).exactly(3).times.with(4000,150)
213
- end
214
-
262
+ end
263
+
215
264
  it 'should access to morse_frequency' do
216
265
  mi100 = Mi100.new "COM5"
217
266
  expect(mi100.morse_frequency).to eq(4000)
218
267
  expect(mi100.morse_frequency = 440).to eq(440)
219
268
  expect(mi100.morse_frequency).to eq(440)
220
- end
221
-
269
+ end
270
+
222
271
  it 'should access to morse_unit' do
223
272
  mi100 = Mi100.new "COM5"
224
273
  expect(mi100.morse_unit).to eq(50)
225
274
  expect(mi100.morse_unit = 100).to eq(100)
226
275
  expect(mi100.morse_unit).to eq(100)
227
276
  end
228
-
277
+
229
278
  it 'should talk with new default frequency and unit' do
230
279
  mi100 = Mi100.new "COM5"
231
280
  mi100.stub(:tone)
232
281
  mi100.talk "sos"
233
282
  expect(mi100).to have_received(:tone).exactly(6).times.with(440,100)
234
283
  expect(mi100).to have_received(:tone).exactly(3).times.with(440,300)
235
- end
236
-
284
+ end
285
+
237
286
  it 'should reset default frequency and unit' do
238
287
  Mi100::Morsecoder.reset
239
288
  expect(Mi100::Morsecoder.default_frequency).to eq(4000)
@@ -242,11 +291,11 @@ describe Mi100 do
242
291
  expect(mi100.morse_frequency).to eq(4000)
243
292
  expect(mi100.morse_unit).to eq(50)
244
293
  end
245
-
294
+
246
295
  it 'should provide Morsecode.to_morse_from class method converting the string to the morse code array' do
247
296
  morsecode = Mi100::Morsecoder.to_morse_from "sos"
248
297
  expect(morsecode.size).to eq(21)
249
298
  expect(morsecode[0]).to eq ({:frequency=>4000, :duration=>50})
250
- end
251
-
299
+ end
300
+
252
301
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mi100
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-03-29 00:00:00.000000000Z
12
+ date: 2014-10-15 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
- requirement: &16171272 !ruby/object:Gem::Requirement
16
+ requirement: &15936960 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '1.3'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *16171272
24
+ version_requirements: *15936960
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &16171020 !ruby/object:Gem::Requirement
27
+ requirement: &15936696 !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: *16171020
35
+ version_requirements: *15936696
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &16170744 !ruby/object:Gem::Requirement
38
+ requirement: &15936420 !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: *16170744
46
+ version_requirements: *15936420
47
47
  description: A ruby gem for controlling MI100 of monoxit through bluetooth virtual
48
48
  serial port.
49
49
  email: