arduino_firmata 0.2.4 → 0.2.5
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/History.txt +5 -0
- data/README.md +7 -0
- data/bin/arduino_firmata +1 -0
- data/lib/arduino_firmata/arduino.rb +2 -2
- data/lib/arduino_firmata/version.rb +1 -1
- data/test/test_arduino_firmata.rb +4 -7
- data/test/test_sysex.rb +34 -0
- metadata +51 -58
data/History.txt
CHANGED
data/README.md
CHANGED
@@ -143,6 +143,13 @@ end
|
|
143
143
|
Test
|
144
144
|
----
|
145
145
|
|
146
|
+
### Install SysexLedBlinkFirmata into Arduino
|
147
|
+
|
148
|
+
* https://github.com/shokai/arduino_firmata/blob/master/samples/sysex/StandardFirmataWithLedBlink/StandardFirmataWithLedBlink.ino
|
149
|
+
|
150
|
+
|
151
|
+
### Run Test
|
152
|
+
|
146
153
|
% gem install bundler
|
147
154
|
% bundle install
|
148
155
|
% export ARDUINO=/dev/tty.usb-device-name
|
data/bin/arduino_firmata
CHANGED
@@ -160,12 +160,12 @@ module ArduinoFirmata
|
|
160
160
|
private
|
161
161
|
def write(cmd)
|
162
162
|
return if status == Status::CLOSE
|
163
|
-
@serial.
|
163
|
+
@serial.write cmd.chr
|
164
164
|
end
|
165
165
|
|
166
166
|
def read
|
167
167
|
return if status == Status::CLOSE
|
168
|
-
@serial.
|
168
|
+
@serial.read 9600 rescue EOFError
|
169
169
|
end
|
170
170
|
|
171
171
|
def process_input
|
@@ -6,9 +6,12 @@ class TestArduinoFirmata < MiniTest::Unit::TestCase
|
|
6
6
|
@arduino = ArduinoFirmata.connect ENV['ARDUINO']
|
7
7
|
end
|
8
8
|
|
9
|
+
def teardown
|
10
|
+
@arduino.close
|
11
|
+
end
|
12
|
+
|
9
13
|
def test_arduino
|
10
14
|
assert @arduino.version > '2.0'
|
11
|
-
@arduino.close
|
12
15
|
end
|
13
16
|
|
14
17
|
def test_digital_read
|
@@ -16,7 +19,6 @@ class TestArduinoFirmata < MiniTest::Unit::TestCase
|
|
16
19
|
din = @arduino.digital_read pin
|
17
20
|
assert [true,false].include? din
|
18
21
|
end
|
19
|
-
@arduino.close
|
20
22
|
end
|
21
23
|
|
22
24
|
def test_analog_read
|
@@ -24,7 +26,6 @@ class TestArduinoFirmata < MiniTest::Unit::TestCase
|
|
24
26
|
ain = @arduino.analog_read pin
|
25
27
|
assert 0 <= ain and ain < 1024
|
26
28
|
end
|
27
|
-
@arduino.close
|
28
29
|
end
|
29
30
|
|
30
31
|
def test_digital_write
|
@@ -32,7 +33,6 @@ class TestArduinoFirmata < MiniTest::Unit::TestCase
|
|
32
33
|
assert @arduino.digital_write(pin, true) == true
|
33
34
|
assert @arduino.digital_write(pin, false) == false
|
34
35
|
end
|
35
|
-
@arduino.close
|
36
36
|
end
|
37
37
|
|
38
38
|
def test_analog_write
|
@@ -40,7 +40,6 @@ class TestArduinoFirmata < MiniTest::Unit::TestCase
|
|
40
40
|
value = rand(256)
|
41
41
|
assert @arduino.analog_write(pin, value) == value
|
42
42
|
end
|
43
|
-
@arduino.close
|
44
43
|
end
|
45
44
|
|
46
45
|
def test_servo_write
|
@@ -48,7 +47,6 @@ class TestArduinoFirmata < MiniTest::Unit::TestCase
|
|
48
47
|
angle = rand(181)
|
49
48
|
assert @arduino.servo_write(pin, angle) == angle
|
50
49
|
end
|
51
|
-
@arduino.close
|
52
50
|
end
|
53
51
|
|
54
52
|
def test_pin_mode
|
@@ -56,7 +54,6 @@ class TestArduinoFirmata < MiniTest::Unit::TestCase
|
|
56
54
|
mode = [ArduinoFirmata::OUTPUT, ArduinoFirmata::INPUT].sample
|
57
55
|
assert @arduino.pin_mode(pin, mode) == mode
|
58
56
|
end
|
59
|
-
@arduino.close
|
60
57
|
end
|
61
58
|
|
62
59
|
end
|
data/test/test_sysex.rb
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
## use samples/sysex/SysexLedBlinkFirmata/SysexLedBlinkFirmata.ino
|
2
|
+
|
3
|
+
require File.expand_path 'test_helper', File.dirname(__FILE__)
|
4
|
+
|
5
|
+
class TestSysex < MiniTest::Unit::TestCase
|
6
|
+
|
7
|
+
def setup
|
8
|
+
@arduino = ArduinoFirmata.connect ENV['ARDUINO']
|
9
|
+
end
|
10
|
+
|
11
|
+
def teardown
|
12
|
+
@arduino.close
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_sysex_command
|
16
|
+
__cmd = nil
|
17
|
+
__data = nil
|
18
|
+
@arduino.on :sysex do |cmd, data|
|
19
|
+
__cmd = cmd
|
20
|
+
__data = data
|
21
|
+
end
|
22
|
+
|
23
|
+
@arduino.sysex 0x01, [13, 3, 2]
|
24
|
+
|
25
|
+
100.times do
|
26
|
+
sleep 0.1
|
27
|
+
break if __cmd != nil
|
28
|
+
end
|
29
|
+
|
30
|
+
assert __cmd == 0x01
|
31
|
+
assert __data == [13, 0, 3, 0, 2, 0]
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
metadata
CHANGED
@@ -1,72 +1,60 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: arduino_firmata
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.4
|
3
|
+
version: !ruby/object:Gem::Version
|
5
4
|
prerelease:
|
5
|
+
version: 0.2.5
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Sho Hashimoto
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
|
13
|
+
date: 2013-03-13 00:00:00 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
15
16
|
name: serialport
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ! '>='
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: 1.1.0
|
22
|
-
type: :runtime
|
23
17
|
prerelease: false
|
24
|
-
|
18
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
19
|
none: false
|
26
|
-
requirements:
|
27
|
-
- -
|
28
|
-
- !ruby/object:Gem::Version
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
29
23
|
version: 1.1.0
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: args_parser
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ! '>='
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: 0.1.2
|
38
24
|
type: :runtime
|
25
|
+
version_requirements: *id001
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: args_parser
|
39
28
|
prerelease: false
|
40
|
-
|
29
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
41
30
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
45
34
|
version: 0.1.2
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: event_emitter
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: 0.2.2
|
54
35
|
type: :runtime
|
36
|
+
version_requirements: *id002
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: event_emitter
|
55
39
|
prerelease: false
|
56
|
-
|
40
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
57
41
|
none: false
|
58
|
-
requirements:
|
59
|
-
- -
|
60
|
-
- !ruby/object:Gem::Version
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
61
45
|
version: 0.2.2
|
46
|
+
type: :runtime
|
47
|
+
version_requirements: *id003
|
62
48
|
description: Arduino Firmata protocol (http://firmata.org) implementation on Ruby.
|
63
|
-
email:
|
49
|
+
email:
|
64
50
|
- hashimoto@shokai.org
|
65
|
-
executables:
|
51
|
+
executables:
|
66
52
|
- arduino_firmata
|
67
53
|
extensions: []
|
54
|
+
|
68
55
|
extra_rdoc_files: []
|
69
|
-
|
56
|
+
|
57
|
+
files:
|
70
58
|
- .gitignore
|
71
59
|
- Gemfile
|
72
60
|
- History.txt
|
@@ -100,32 +88,37 @@ files:
|
|
100
88
|
- test/test_block.rb
|
101
89
|
- test/test_classmethods.rb
|
102
90
|
- test/test_helper.rb
|
91
|
+
- test/test_sysex.rb
|
103
92
|
homepage: http://shokai.github.com/arduino_firmata
|
104
93
|
licenses: []
|
94
|
+
|
105
95
|
post_install_message:
|
106
96
|
rdoc_options: []
|
107
|
-
|
97
|
+
|
98
|
+
require_paths:
|
108
99
|
- lib
|
109
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
100
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
110
101
|
none: false
|
111
|
-
requirements:
|
112
|
-
- -
|
113
|
-
- !ruby/object:Gem::Version
|
114
|
-
version:
|
115
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - ">="
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: "0"
|
106
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
116
107
|
none: false
|
117
|
-
requirements:
|
118
|
-
- -
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
version:
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: "0"
|
121
112
|
requirements: []
|
113
|
+
|
122
114
|
rubyforge_project:
|
123
|
-
rubygems_version: 1.8.
|
115
|
+
rubygems_version: 1.8.17
|
124
116
|
signing_key:
|
125
117
|
specification_version: 3
|
126
118
|
summary: Arduino Firmata protocol (http://firmata.org) implementation on Ruby.
|
127
|
-
test_files:
|
119
|
+
test_files:
|
128
120
|
- test/test_arduino_firmata.rb
|
129
121
|
- test/test_block.rb
|
130
122
|
- test/test_classmethods.rb
|
131
123
|
- test/test_helper.rb
|
124
|
+
- test/test_sysex.rb
|