madrona-rad 0.2.5 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +14 -0
- data/Manifest.txt +41 -18
- data/Rakefile +5 -0
- data/bin/rad +16 -6
- data/lib/examples/blink_m_address_assignment.rb +104 -0
- data/lib/examples/blink_m_multi.rb +61 -0
- data/lib/examples/configure_pa_lcd_boot.rb +91 -0
- data/lib/examples/external_variables.rb +5 -1
- data/lib/examples/hello_array.rb +48 -0
- data/lib/examples/hello_array2.rb +79 -0
- data/lib/examples/hello_array_eeprom.rb +61 -0
- data/lib/examples/hello_eeprom.rb +4 -7
- data/lib/examples/hello_eeprom_lcdpa.rb +81 -0
- data/lib/examples/hello_lcd_charset.rb +75 -0
- data/lib/examples/hello_pa_lcd.rb +59 -0
- data/lib/examples/hysteresis_duel.rb +39 -0
- data/lib/examples/motor_knob.rb +30 -0
- data/lib/examples/orig_servo_throttle.rb +1 -1
- data/lib/examples/servo_calibrate_continuous.rb +92 -0
- data/lib/examples/servo_throttle.rb +1 -1
- data/lib/examples/sparkfun_lcd.rb +2 -2
- data/lib/examples/spectra_soft_pot.rb +34 -0
- data/lib/libraries/SWSerLCDpa/SWSerLCDpa.cpp +60 -25
- data/lib/libraries/SWSerLCDpa/SWSerLCDpa.h +8 -2
- data/lib/libraries/SWSerLCDsf/SWSerLCDsf.cpp +46 -27
- data/lib/libraries/SWSerLCDsf/SWSerLCDsf.h +5 -2
- data/lib/libraries/Stepper/Stepper.cpp +220 -0
- data/lib/libraries/Stepper/Stepper.h +86 -0
- data/lib/libraries/Stepper/keywords.txt +28 -0
- data/lib/libraries/Wire/utility/twi.c +449 -0
- data/lib/libraries/Wire/utility/twi.h +57 -0
- data/lib/plugins/blink_m.rb +79 -46
- data/lib/plugins/hysteresis.rb +52 -0
- data/lib/plugins/lcd_padding.rb +39 -0
- data/lib/plugins/spectra_symbol.rb +79 -0
- data/lib/rad/arduino_plugin.rb +21 -0
- data/lib/rad/arduino_sketch.rb +231 -53
- data/lib/rad/init.rb +2 -2
- data/lib/rad/rad_processor.rb +42 -1
- data/lib/rad/rad_type_checker.rb +26 -0
- data/lib/rad/sim/arduino_sketch.rb +57 -0
- data/lib/rad/tasks/build_and_make.rake +4 -4
- data/lib/rad/variable_processing.rb +49 -12
- data/lib/rad/version.rb +1 -1
- data/test/test_array_processing.rb +179 -0
- data/test/test_plugin_loading.rb +151 -0
- data/test/test_translation_post_processing.rb +185 -0
- data/{lib/test → test}/test_variable_processing.rb +63 -13
- data/website/index.html +8 -7
- metadata +66 -30
- data/lib/test/test_array_processing.rb +0 -78
@@ -0,0 +1,185 @@
|
|
1
|
+
#!/usr/local/bin/ruby -w
|
2
|
+
|
3
|
+
$TESTING = true
|
4
|
+
|
5
|
+
# this is a test stub for now
|
6
|
+
# lets review these
|
7
|
+
# neee to remove this constant from tests and pull it from rad
|
8
|
+
C_VAR_TYPES = "unsigned|int|long|double|str|char|byte|float|bool"
|
9
|
+
require "rubygems"
|
10
|
+
require "#{File.expand_path(File.dirname(__FILE__))}/../lib/rad/rad_processor.rb"
|
11
|
+
require "#{File.expand_path(File.dirname(__FILE__))}/../lib/rad/rad_rewriter.rb"
|
12
|
+
require "#{File.expand_path(File.dirname(__FILE__))}/../lib/rad/rad_type_checker.rb"
|
13
|
+
require "#{File.expand_path(File.dirname(__FILE__))}/../lib/rad/variable_processing"
|
14
|
+
require "#{File.expand_path(File.dirname(__FILE__))}/../lib/rad/arduino_sketch"
|
15
|
+
require 'test/unit'
|
16
|
+
|
17
|
+
|
18
|
+
class TranslationTesting < ArduinoSketch
|
19
|
+
|
20
|
+
def one
|
21
|
+
delay 1
|
22
|
+
end
|
23
|
+
|
24
|
+
def two
|
25
|
+
delay 1
|
26
|
+
@foo = 1
|
27
|
+
end
|
28
|
+
|
29
|
+
def three
|
30
|
+
@foo = 1
|
31
|
+
bar = 2
|
32
|
+
baz = wha
|
33
|
+
end
|
34
|
+
|
35
|
+
def four
|
36
|
+
@foo = 1
|
37
|
+
bar = 2
|
38
|
+
wiggle = wha
|
39
|
+
end
|
40
|
+
|
41
|
+
def five
|
42
|
+
@foo = 1
|
43
|
+
f = KOOL
|
44
|
+
end
|
45
|
+
|
46
|
+
def six
|
47
|
+
a = ZAK
|
48
|
+
|
49
|
+
end
|
50
|
+
|
51
|
+
def seven(int)
|
52
|
+
# coerce int to long int
|
53
|
+
a = int * 2
|
54
|
+
end
|
55
|
+
|
56
|
+
def eight(str)
|
57
|
+
# coerce str to string
|
58
|
+
a = ZAK + str
|
59
|
+
end
|
60
|
+
|
61
|
+
def nine
|
62
|
+
@my_array.each do |a|
|
63
|
+
delay a
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
|
68
|
+
end
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
class TestTranslationPostProcessing < Test::Unit::TestCase
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
def setup
|
78
|
+
$external_var_identifiers = ["__foo", "__toggle", "wiggle"]
|
79
|
+
$define_types = { "KOOL" => "long", "ZAK" => "str"}
|
80
|
+
$array_types = { "my_array" => "int"}
|
81
|
+
|
82
|
+
|
83
|
+
end
|
84
|
+
|
85
|
+
# remove these external variables and parens on variables
|
86
|
+
# need to actually run code through ruby_to_c for some of these tests
|
87
|
+
|
88
|
+
def test_int
|
89
|
+
name = "foo_a"
|
90
|
+
value_string = "int(__toggle = 0);"
|
91
|
+
expected = ""
|
92
|
+
result = ArduinoSketch.post_process_ruby_to_c_methods(value_string)
|
93
|
+
assert_equal(expected, result)
|
94
|
+
end
|
95
|
+
|
96
|
+
def test_bool
|
97
|
+
name = "foo_b"
|
98
|
+
value_string = "bool(__toggle = 0);"
|
99
|
+
expected = ""
|
100
|
+
result = ArduinoSketch.post_process_ruby_to_c_methods(value_string)
|
101
|
+
assert_equal(expected, result)
|
102
|
+
end
|
103
|
+
|
104
|
+
def test_long
|
105
|
+
name = "foo_c"
|
106
|
+
value_string = "long(__foo = 0);"
|
107
|
+
expected = ""
|
108
|
+
result = ArduinoSketch.post_process_ruby_to_c_methods(value_string)
|
109
|
+
assert_equal(expected, result)
|
110
|
+
end
|
111
|
+
|
112
|
+
def test_trans_one
|
113
|
+
name = "foo_d"
|
114
|
+
expected = "void\none() {\ndelay(1);\n}"
|
115
|
+
result = raw_rtc_meth = RADProcessor.translate(TranslationTesting, "one")
|
116
|
+
assert_equal(expected, result)
|
117
|
+
end
|
118
|
+
|
119
|
+
# notice the nice behavior of @foo
|
120
|
+
def test_trans_two
|
121
|
+
name = "foo_e"
|
122
|
+
expected = "void\ntwo() {\ndelay(1);\n__foo = 1;\n}"
|
123
|
+
result = raw_rtc_meth = RADProcessor.translate(TranslationTesting, "two")
|
124
|
+
assert_equal(expected, result)
|
125
|
+
end
|
126
|
+
|
127
|
+
# notice the nice behavior of @foo
|
128
|
+
def test_trans_three
|
129
|
+
name = "foo_f"
|
130
|
+
expected = "void\nthree() {\nlong bar;\nvoid * baz;\n__foo = 1;\nbar = 2;\nbaz = wha();\n}"
|
131
|
+
result = raw_rtc_meth = RADProcessor.translate(TranslationTesting, "three")
|
132
|
+
assert_equal(expected, result)
|
133
|
+
end
|
134
|
+
|
135
|
+
# need to take a closer look at this ... include "void * wiggle" regex?
|
136
|
+
#
|
137
|
+
def test_trans_four
|
138
|
+
name = "foo_f"
|
139
|
+
expected = "void\nfour() {\nlong bar;\nvoid * wiggle;\n__foo = 1;\nbar = 2;\nwiggle = wha();\n}"
|
140
|
+
result = raw_rtc_meth = RADProcessor.translate(TranslationTesting, "four")
|
141
|
+
assert_equal(expected, result)
|
142
|
+
end
|
143
|
+
|
144
|
+
def test_trans_five
|
145
|
+
name = "foo_f"
|
146
|
+
expected = "void\nfive() {\nlong f;\n__foo = 1;\nf = KOOL;\n}"
|
147
|
+
result = raw_rtc_meth = RADProcessor.translate(TranslationTesting, "five")
|
148
|
+
assert_equal(expected, result)
|
149
|
+
end
|
150
|
+
|
151
|
+
def test_trans_six
|
152
|
+
name = "foo_f"
|
153
|
+
expected = "void\nsix() {\nstr a;\na = ZAK;\n}"
|
154
|
+
result = raw_rtc_meth = RADProcessor.translate(TranslationTesting, "six")
|
155
|
+
assert_equal(expected, result)
|
156
|
+
end
|
157
|
+
|
158
|
+
def test_trans_seven
|
159
|
+
name = "foo_f"
|
160
|
+
expected = "void\nseven(long int) {\nlong a;\na = int * 2;\n}"
|
161
|
+
result = raw_rtc_meth = RADProcessor.translate(TranslationTesting, "seven")
|
162
|
+
assert_equal(expected, result)
|
163
|
+
end
|
164
|
+
|
165
|
+
def test_trans_eight
|
166
|
+
name = "foo_f"
|
167
|
+
expected = "void\neight(long str) {\nvoid * a;\na = ZAK + str;\n}"
|
168
|
+
result = raw_rtc_meth = RADProcessor.translate(TranslationTesting, "eight")
|
169
|
+
assert_equal(expected, result)
|
170
|
+
end
|
171
|
+
|
172
|
+
def test_trans_nine
|
173
|
+
name = "foo_f"
|
174
|
+
expected = "void\nnine() {\nunsigned int index_a;\nfor (index_a = 0; index_a < (int) (sizeof(__my_array) / sizeof(__my_array[0])); index_a++) {\nint a = __my_array[index_a];\ndelay(a);\n}\n}"
|
175
|
+
result = raw_rtc_meth = RADProcessor.translate(TranslationTesting, "nine")
|
176
|
+
assert_equal(expected, result)
|
177
|
+
end
|
178
|
+
|
179
|
+
|
180
|
+
## need to look at unsigned long
|
181
|
+
## need parens removal tests
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
end
|
@@ -4,9 +4,10 @@ $TESTING = true
|
|
4
4
|
|
5
5
|
# need to tell it where we are
|
6
6
|
# lets review these
|
7
|
-
|
8
|
-
|
9
|
-
require
|
7
|
+
# neee to remove this constant from tests and pull it from rad
|
8
|
+
C_VAR_TYPES = "unsigned|int|long|double|str|char|byte|float|bool"
|
9
|
+
require "#{File.expand_path(File.dirname(__FILE__))}/../lib/rad/variable_processing"
|
10
|
+
require "#{File.expand_path(File.dirname(__FILE__))}/../lib/rad/arduino_sketch"
|
10
11
|
require 'test/unit'
|
11
12
|
|
12
13
|
|
@@ -81,7 +82,7 @@ class TestVariableProcessing < Test::Unit::TestCase
|
|
81
82
|
def test_int_with_type
|
82
83
|
name = "foo_i"
|
83
84
|
value_string = "int"
|
84
|
-
expected = "
|
85
|
+
expected = "int __foo_i;"
|
85
86
|
result = @t.pre_process_vars(name, value_string)
|
86
87
|
assert_equal(expected, result[0])
|
87
88
|
end
|
@@ -94,7 +95,7 @@ class TestVariableProcessing < Test::Unit::TestCase
|
|
94
95
|
assert_equal(expected, result[0])
|
95
96
|
end
|
96
97
|
|
97
|
-
def
|
98
|
+
def test_int_with_type_two
|
98
99
|
name = "foo_k"
|
99
100
|
value_string = "2, int"
|
100
101
|
expected = "int __foo_k = 2;"
|
@@ -134,14 +135,6 @@ class TestVariableProcessing < Test::Unit::TestCase
|
|
134
135
|
assert_equal(expected, result[0])
|
135
136
|
end
|
136
137
|
|
137
|
-
def test_int_with_unsigned_long
|
138
|
-
name = "foo_p"
|
139
|
-
value_string = "2, long unsigned"
|
140
|
-
expected = "long unsigned __foo_p = 2;"
|
141
|
-
result = @t.pre_process_vars(name, value_string)
|
142
|
-
assert_equal(expected, result[0])
|
143
|
-
end
|
144
|
-
|
145
138
|
def test_int_with_short_int
|
146
139
|
name = "foo_q"
|
147
140
|
value_string = "2, short int"
|
@@ -182,6 +175,63 @@ class TestVariableProcessing < Test::Unit::TestCase
|
|
182
175
|
assert_equal(expected, result[0])
|
183
176
|
end
|
184
177
|
|
178
|
+
def test_negative_int_string
|
179
|
+
name = "foo_w"
|
180
|
+
value_string = "-1, int"
|
181
|
+
expected = "int __foo_w = -1;"
|
182
|
+
result = @t.pre_process_vars(name, value_string)
|
183
|
+
assert_equal(expected, result[0])
|
184
|
+
end
|
185
|
+
|
186
|
+
def test_negative_float_string
|
187
|
+
name = "foo_x"
|
188
|
+
value_string = "-0.1, float"
|
189
|
+
expected = "float __foo_x = -0.1;"
|
190
|
+
result = @t.pre_process_vars(name, value_string)
|
191
|
+
assert_equal(expected, result[0])
|
192
|
+
end
|
193
|
+
|
194
|
+
def test_negative_larger_float_string
|
195
|
+
name = "foo_y"
|
196
|
+
value_string = "-1000.01, float"
|
197
|
+
expected = "float __foo_y = -1000.01;"
|
198
|
+
result = @t.pre_process_vars(name, value_string)
|
199
|
+
assert_equal(expected, result[0])
|
200
|
+
end
|
201
|
+
|
202
|
+
def test_negative_long_string
|
203
|
+
name = "foo_z"
|
204
|
+
value_string = "-.0991, float"
|
205
|
+
expected = "float __foo_z = -0.0991;"
|
206
|
+
result = @t.pre_process_vars(name, value_string)
|
207
|
+
assert_equal(expected, result[0])
|
208
|
+
end
|
209
|
+
|
210
|
+
def test_negative_float_string_two
|
211
|
+
name = "foo_aa"
|
212
|
+
value_string = "-.01, float"
|
213
|
+
expected = "float __foo_aa = -0.01;"
|
214
|
+
result = @t.pre_process_vars(name, value_string)
|
215
|
+
assert_equal(expected, result[0])
|
216
|
+
end
|
217
|
+
|
218
|
+
def test_negative_interter_string
|
219
|
+
name = "foo_bb"
|
220
|
+
value_string = "-.01, float"
|
221
|
+
expected = "float __foo_bb = -0.01;"
|
222
|
+
result = @t.pre_process_vars(name, value_string)
|
223
|
+
assert_equal(expected, result[0])
|
224
|
+
end
|
225
|
+
|
226
|
+
def test_dash_string
|
227
|
+
name = "foo_cc"
|
228
|
+
value_string = "-hmmm"
|
229
|
+
expected = "char* __foo_cc = \"-hmmm\";"
|
230
|
+
result = @t.pre_process_vars(name, value_string)
|
231
|
+
assert_equal(expected, result[0])
|
232
|
+
end
|
233
|
+
|
234
|
+
|
185
235
|
|
186
236
|
|
187
237
|
|
data/website/index.html
CHANGED
@@ -35,12 +35,13 @@
|
|
35
35
|
<a href="http://rubyforge.org/projects/rad" class="numbers">0.2.2</a>
|
36
36
|
</div>
|
37
37
|
<div id="buy-arduino">
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
38
|
+
<h3>Sponsored by:</h3>
|
39
|
+
<h4>The Shoppe at Wulfden</h4>
|
40
|
+
<a href="http://www.wulfden.org/freeduino/freeduino.shtml">
|
41
|
+
<img src="http://www.wulfden.org/freeduino/freeduino-1.jpg" /><br />
|
42
42
|
</a>
|
43
|
-
|
43
|
+
<h4><a href="http://www.wulfden.org/freeduino/freeduino.shtml">Totally Open Arduino-Compatible Hardware</a></h4>
|
44
|
+
|
44
45
|
|
45
46
|
</div>
|
46
47
|
</div>
|
@@ -76,7 +77,7 @@
|
|
76
77
|
<p><code>$ sudo gem install rad</code></p>
|
77
78
|
|
78
79
|
|
79
|
-
<p>You’ll also need to have the Arduino environment installed, which you can get from <a href="http://www.arduino.cc/en/Main/Software">the Arduino website</a>. <span class="caps">RAD</span> currently requires Arduino
|
80
|
+
<p>You’ll also need to have the Arduino environment installed, which you can get from <a href="http://www.arduino.cc/en/Main/Software">the Arduino website</a>. <span class="caps">RAD</span> currently requires Arduino 0011, but we try to keep it up-to-date with new Arduino releases.</p>
|
80
81
|
|
81
82
|
|
82
83
|
<h2>The Basics</h2>
|
@@ -140,7 +141,7 @@ end
|
|
140
141
|
<p>There’s lots to do.</p>
|
141
142
|
|
142
143
|
|
143
|
-
<p>If you’re looking for a place to dive in and don’t know quite where, <a href="mailto:ruby-arduino-development@googlegroups.com">email the RAD Google Group</a>; we're friendly! If you want to start by taking a
|
144
|
+
<p>If you’re looking for a place to dive in and don’t know quite where, <a href="mailto:ruby-arduino-development@googlegroups.com">email the RAD Google Group</a>; we're friendly! If you want to start by taking a look at the code, check out RAD on GitHub: <code>http://github.com/atduskgreg/rad/tree/master</code>.</p>
|
144
145
|
|
145
146
|
|
146
147
|
<h2>License</h2>
|
metadata
CHANGED
@@ -1,37 +1,37 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: madrona-rad
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Greg Borenstein
|
8
|
-
-
|
8
|
+
- JD Barnhart
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2008-
|
13
|
+
date: 2008-07-30 00:00:00 -07:00
|
14
14
|
default_executable: rad
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
|
-
name:
|
17
|
+
name: RubyToC
|
18
18
|
version_requirement:
|
19
19
|
version_requirements: !ruby/object:Gem::Requirement
|
20
20
|
requirements:
|
21
|
-
- - "
|
21
|
+
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version:
|
23
|
+
version: 1.0.0
|
24
24
|
version:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
|
-
name:
|
26
|
+
name: hoe
|
27
27
|
version_requirement:
|
28
28
|
version_requirements: !ruby/object:Gem::Requirement
|
29
29
|
requirements:
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 1.
|
32
|
+
version: 1.7.0
|
33
33
|
version:
|
34
|
-
description:
|
34
|
+
description: A framework for programming the Arduino physcial computing platform using Ruby. RAD converts Ruby scripts written using a set of Rails-like conventions and helpers into C source code which can be compiled and run on the Arduino microcontroller.
|
35
35
|
email: jd@jdbarnhart.com
|
36
36
|
executables:
|
37
37
|
- rad
|
@@ -39,8 +39,18 @@ extensions: []
|
|
39
39
|
|
40
40
|
extra_rdoc_files:
|
41
41
|
- History.txt
|
42
|
+
- License.txt
|
42
43
|
- Manifest.txt
|
44
|
+
- lib/libraries/DS1307/keywords.txt
|
45
|
+
- lib/libraries/FrequencyTimer2/keywords.txt
|
46
|
+
- lib/libraries/OneWire/keywords.txt
|
47
|
+
- lib/libraries/OneWire/readme.txt
|
48
|
+
- lib/libraries/Servo/keywords.txt
|
49
|
+
- lib/libraries/Stepper/keywords.txt
|
50
|
+
- lib/libraries/Wire/keywords.txt
|
51
|
+
- lib/rad/todo.txt
|
43
52
|
- README.rdoc
|
53
|
+
- website/index.txt
|
44
54
|
files:
|
45
55
|
- History.txt
|
46
56
|
- License.txt
|
@@ -49,78 +59,101 @@ files:
|
|
49
59
|
- Rakefile
|
50
60
|
- bin/rad
|
51
61
|
- lib/examples/add_hysteresis.rb
|
62
|
+
- lib/examples/blink_m_address_assignment.rb
|
52
63
|
- lib/examples/blink_m_hello.rb
|
53
|
-
- lib/examples/
|
64
|
+
- lib/examples/blink_m_multi.rb
|
65
|
+
- lib/examples/configure_pa_lcd_boot.rb
|
54
66
|
- lib/examples/debounce_methods.rb
|
67
|
+
- lib/examples/external_variable_fu.rb
|
55
68
|
- lib/examples/external_variables.rb
|
56
69
|
- lib/examples/first_sound.rb
|
57
70
|
- lib/examples/frequency_generator.rb
|
71
|
+
- lib/examples/hello_array.rb
|
72
|
+
- lib/examples/hello_array2.rb
|
73
|
+
- lib/examples/hello_array_eeprom.rb
|
58
74
|
- lib/examples/hello_eeprom.rb
|
75
|
+
- lib/examples/hello_eeprom_lcdpa.rb
|
76
|
+
- lib/examples/hello_lcd_charset.rb
|
77
|
+
- lib/examples/hello_pa_lcd.rb
|
59
78
|
- lib/examples/hello_servos.rb
|
60
79
|
- lib/examples/hello_world.rb
|
80
|
+
- lib/examples/hysteresis_duel.rb
|
61
81
|
- lib/examples/i2c_with_clock_chip.rb
|
82
|
+
- lib/examples/motor_knob.rb
|
62
83
|
- lib/examples/orig_servo_throttle.rb
|
63
84
|
- lib/examples/servo_buttons.rb
|
85
|
+
- lib/examples/servo_calibrate_continuous.rb
|
64
86
|
- lib/examples/servo_throttle.rb
|
65
87
|
- lib/examples/sparkfun_lcd.rb
|
88
|
+
- lib/examples/spectra_soft_pot.rb
|
66
89
|
- lib/examples/times_method.rb
|
67
90
|
- lib/examples/toggle.rb
|
68
91
|
- lib/examples/two_wire.rb
|
69
92
|
- lib/libraries/DS1307/DS1307.cpp
|
70
93
|
- lib/libraries/DS1307/DS1307.h
|
71
94
|
- lib/libraries/DS1307/keywords.txt
|
72
|
-
- lib/libraries/FrequencyTimer2/keywords.txt
|
73
95
|
- lib/libraries/FrequencyTimer2/FrequencyTimer2.cpp
|
74
96
|
- lib/libraries/FrequencyTimer2/FrequencyTimer2.h
|
75
|
-
- lib/libraries/
|
97
|
+
- lib/libraries/FrequencyTimer2/keywords.txt
|
76
98
|
- lib/libraries/OneWire/OneWire.cpp
|
77
99
|
- lib/libraries/OneWire/OneWire.h
|
100
|
+
- lib/libraries/OneWire/keywords.txt
|
78
101
|
- lib/libraries/OneWire/readme.txt
|
79
|
-
- lib/libraries/Servo/keywords.txt
|
80
|
-
- lib/libraries/Servo/Servo.cpp
|
81
|
-
- lib/libraries/Servo/Servo.h
|
82
102
|
- lib/libraries/SWSerLCDpa/SWSerLCDpa.cpp
|
83
103
|
- lib/libraries/SWSerLCDpa/SWSerLCDpa.h
|
84
104
|
- lib/libraries/SWSerLCDsf/SWSerLCDsf.cpp
|
85
105
|
- lib/libraries/SWSerLCDsf/SWSerLCDsf.h
|
106
|
+
- lib/libraries/Servo/Servo.cpp
|
107
|
+
- lib/libraries/Servo/Servo.h
|
108
|
+
- lib/libraries/Servo/keywords.txt
|
109
|
+
- lib/libraries/Stepper/Stepper.cpp
|
110
|
+
- lib/libraries/Stepper/Stepper.h
|
111
|
+
- lib/libraries/Stepper/keywords.txt
|
86
112
|
- lib/libraries/Wire/Wire.cpp
|
87
|
-
- lib/libraries/Wire/keywords.txt
|
88
113
|
- lib/libraries/Wire/Wire.h
|
114
|
+
- lib/libraries/Wire/keywords.txt
|
89
115
|
- lib/libraries/Wire/twi.h
|
90
|
-
- lib/libraries/Wire/
|
91
|
-
- lib/libraries/Wire/
|
116
|
+
- lib/libraries/Wire/utility/twi.c
|
117
|
+
- lib/libraries/Wire/utility/twi.h
|
92
118
|
- lib/plugins/bitwise_ops.rb
|
93
119
|
- lib/plugins/blink_m.rb
|
94
120
|
- lib/plugins/debounce.rb
|
95
121
|
- lib/plugins/debug_output_to_lcd.rb
|
122
|
+
- lib/plugins/hysteresis.rb
|
96
123
|
- lib/plugins/i2c_eeprom.rb
|
97
124
|
- lib/plugins/input_output_state.rb
|
125
|
+
- lib/plugins/lcd_padding.rb
|
98
126
|
- lib/plugins/mem_test.rb
|
99
127
|
- lib/plugins/servo_pulse.rb
|
100
128
|
- lib/plugins/servo_setup.rb
|
101
129
|
- lib/plugins/smoother.rb
|
102
130
|
- lib/plugins/spark_fun_serial_lcd.rb
|
131
|
+
- lib/plugins/spectra_symbol.rb
|
103
132
|
- lib/rad.rb
|
104
|
-
- lib/rad/arduino_sketch.rb
|
105
133
|
- lib/rad/arduino_plugin.rb
|
134
|
+
- lib/rad/arduino_sketch.rb
|
135
|
+
- lib/rad/generators/makefile/makefile.erb
|
136
|
+
- lib/rad/generators/makefile/makefile.rb
|
137
|
+
- lib/rad/init.rb
|
106
138
|
- lib/rad/rad_processor.rb
|
107
139
|
- lib/rad/rad_rewriter.rb
|
108
|
-
- lib/rad/
|
109
|
-
- lib/rad/
|
110
|
-
- lib/rad/todo.txt
|
140
|
+
- lib/rad/rad_type_checker.rb
|
141
|
+
- lib/rad/sim/arduino_sketch.rb
|
111
142
|
- lib/rad/tasks/build_and_make.rake
|
112
143
|
- lib/rad/developer.rake
|
113
144
|
- lib/rad/tasks/rad.rb
|
145
|
+
- lib/rad/todo.txt
|
146
|
+
- lib/rad/variable_processing.rb
|
114
147
|
- lib/rad/version.rb
|
115
|
-
- lib/rad/generators/makefile/makefile.erb
|
116
|
-
- lib/rad/generators/makefile/makefile.rb
|
117
|
-
- lib/test/test_array_processing.rb
|
118
|
-
- lib/test/test_variable_processing.rb
|
119
148
|
- scripts/txt2html
|
120
149
|
- setup.rb
|
121
150
|
- spec/models/spec_helper.rb
|
122
151
|
- spec/models/arduino_sketch_spec.rb
|
123
152
|
- spec/spec.opts
|
153
|
+
- test/test_array_processing.rb
|
154
|
+
- test/test_plugin_loading.rb
|
155
|
+
- test/test_translation_post_processing.rb
|
156
|
+
- test/test_variable_processing.rb
|
124
157
|
- website/index.html
|
125
158
|
- website/index.txt
|
126
159
|
- website/javascripts/rounded_corners_lite.inc.js
|
@@ -131,7 +164,7 @@ files:
|
|
131
164
|
- website/examples/hello_world.rb.html
|
132
165
|
- website/examples/serial_motor.rb.html
|
133
166
|
has_rdoc: true
|
134
|
-
homepage: http://
|
167
|
+
homepage: http://rad.rubyforge.org
|
135
168
|
post_install_message:
|
136
169
|
rdoc_options:
|
137
170
|
- --main
|
@@ -156,6 +189,9 @@ rubyforge_project: rad
|
|
156
189
|
rubygems_version: 1.2.0
|
157
190
|
signing_key:
|
158
191
|
specification_version: 2
|
159
|
-
summary:
|
160
|
-
test_files:
|
161
|
-
|
192
|
+
summary: A framework for programming the Arduino physcial computing platform using Ruby. RAD converts Ruby scripts written using a set of Rails-like conventions and helpers into C source code which can be compiled and run on the Arduino microcontroller.
|
193
|
+
test_files:
|
194
|
+
- test/test_array_processing.rb
|
195
|
+
- test/test_plugin_loading.rb
|
196
|
+
- test/test_translation_post_processing.rb
|
197
|
+
- test/test_variable_processing.rb
|