madrona-rad 0.2.7 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +6 -15
- data/Manifest.txt +38 -5
- data/README.rdoc +19 -7
- data/Rakefile +4 -3
- data/bin/rad +214 -130
- data/lib/examples/basic_blink.rb +10 -0
- data/lib/examples/blink_with_serial.rb +16 -0
- data/lib/examples/external_variable_fu.rb +21 -19
- data/lib/examples/external_variables.rb +0 -3
- data/lib/examples/hello_array2.rb +34 -1
- data/lib/examples/hello_array_eeprom.rb +4 -6
- data/lib/examples/hello_clock.rb +84 -0
- data/lib/examples/hello_eeprom.rb +3 -3
- data/lib/examples/hello_eeprom_lcdpa.rb +2 -2
- data/lib/examples/hello_format_print.rb +94 -0
- data/lib/examples/hello_spectra_sound.rb +38 -0
- data/lib/examples/hello_world.rb +3 -3
- data/lib/examples/hello_xbee.rb +12 -0
- data/lib/examples/midi_beat_box.rb +86 -0
- data/lib/examples/midi_scales.rb +94 -0
- data/lib/examples/servo_throttle.rb +11 -8
- data/lib/examples/software_serial.rb +10 -0
- data/lib/examples/twitter.rb +57 -0
- data/lib/libraries/AFSoftSerial/AFSoftSerial.cpp +321 -0
- data/lib/libraries/AFSoftSerial/AFSoftSerial.h +61 -0
- data/lib/libraries/{Servo → AFSoftSerial}/keywords.txt +18 -25
- data/lib/libraries/AF_XPort/AF_XPort.cpp +166 -0
- data/lib/libraries/AF_XPort/AF_XPort.h +48 -0
- data/lib/libraries/DS1307/DS1307.cpp +10 -9
- data/lib/libraries/DS1307/DS1307.h +6 -4
- data/lib/libraries/I2CEEPROM/I2CEEPROM.cpp +120 -0
- data/lib/libraries/I2CEEPROM/I2CEEPROM.h +70 -0
- data/lib/libraries/I2CEEPROM/keywords.txt +21 -0
- data/lib/libraries/LoopTimer/LoopTimer.cpp +35 -0
- data/lib/libraries/LoopTimer/LoopTimer.h +34 -0
- data/lib/libraries/LoopTimer/keywords.txt +27 -0
- data/lib/libraries/SWSerLCDpa/SWSerLCDpa.cpp +42 -48
- data/lib/libraries/SWSerLCDpa/SWSerLCDpa.h +11 -12
- data/lib/libraries/SWSerLCDsf/SWSerLCDsf.cpp +38 -0
- data/lib/libraries/SWSerLCDsf/SWSerLCDsf.h +9 -2
- data/lib/plugins/blink.rb +25 -0
- data/lib/plugins/blink_m.rb +3 -3
- data/lib/plugins/lcd_padding.rb +19 -0
- data/lib/plugins/midi.rb +60 -0
- data/lib/plugins/parallax_ping.rb +50 -0
- data/lib/plugins/servo_setup.rb +1 -1
- data/lib/plugins/twitter_connect.rb +145 -0
- data/lib/rad/README.rdoc +5 -0
- data/lib/rad/arduino_sketch.rb +91 -904
- data/lib/rad/darwin_installer.rb +23 -0
- data/lib/rad/generators/makefile/makefile.erb +1 -1
- data/lib/rad/generators/makefile/makefile.rb +3 -3
- data/lib/rad/hardware_library.rb +813 -0
- data/lib/rad/init.rb +4 -2
- data/lib/rad/linux_installer.rb +132 -0
- data/lib/rad/progressbar.rb +236 -0
- data/lib/rad/rad_processor.rb +56 -9
- data/lib/rad/rad_rewriter.rb +7 -2
- data/lib/rad/rad_type_checker.rb +1 -1
- data/lib/rad/sketch_compiler.rb +47 -0
- data/lib/rad/tasks/build_and_make.rake +41 -48
- data/lib/rad/version.rb +2 -2
- data/spec/examples/hello_world.rb +11 -0
- data/spec/examples/serial_motor.rb +12 -0
- data/spec/models/sketch_compiler_spec.rb +96 -0
- data/spec/sim/hello_world_spec.rb +0 -0
- data/test/hello_world_test/Makefile +436 -0
- data/test/hello_world_test/hello_world.cpp +23 -0
- data/test/test_array_processing.rb +1 -1
- data/test/test_plugin_loading.rb +1 -1
- data/test/test_translation_post_processing.rb +14 -70
- metadata +52 -39
- data/lib/examples/orig_servo_throttle.rb +0 -39
- data/lib/plugins/i2c_eeprom.rb +0 -70
data/lib/rad/rad_rewriter.rb
CHANGED
@@ -1,7 +1,11 @@
|
|
1
1
|
require 'ruby_to_ansi_c'
|
2
2
|
|
3
3
|
class RADRewriter < Rewriter
|
4
|
-
|
4
|
+
def initialize # :nodoc:
|
5
|
+
super
|
6
|
+
self.auto_shift_type = true
|
7
|
+
end
|
8
|
+
|
5
9
|
def process_iter(exp)
|
6
10
|
call = process exp.shift
|
7
11
|
var = process exp.shift
|
@@ -50,6 +54,7 @@ class RADRewriter < Rewriter
|
|
50
54
|
s(:lasgn, var_name,
|
51
55
|
s(:call, s(:lvar, var_name), :+,
|
52
56
|
s(:arglist, s(:lit, 1))))), true))
|
57
|
+
|
53
58
|
when :times then
|
54
59
|
# REFACTOR: mostly duped from above and gave default start value of 0
|
55
60
|
# and a finish value that was the start value above
|
@@ -91,4 +96,4 @@ class RADRewriter < Rewriter
|
|
91
96
|
end
|
92
97
|
end
|
93
98
|
|
94
|
-
end
|
99
|
+
end
|
data/lib/rad/rad_type_checker.rb
CHANGED
@@ -0,0 +1,47 @@
|
|
1
|
+
# TODO:
|
2
|
+
# compilation
|
3
|
+
# gather pieces of code we need as strings
|
4
|
+
# translate non-loop methods
|
5
|
+
# do plugin stuff
|
6
|
+
# deal with examples/ exception
|
7
|
+
# manage upload process
|
8
|
+
# compose_setup should move in here entirely
|
9
|
+
|
10
|
+
# require 'arduino_sketch'
|
11
|
+
|
12
|
+
class SketchCompiler
|
13
|
+
attr_accessor :path, :body, :klass, :target_dir, :name
|
14
|
+
|
15
|
+
def initialize path_to_sketch
|
16
|
+
@path = File.expand_path(path_to_sketch)
|
17
|
+
@body = open(@path).read
|
18
|
+
@name = @path.split("/").last.split(".").first
|
19
|
+
@klass = @name.split(".").first.split("_").collect{|c| c.capitalize}.join("")
|
20
|
+
@target_dir = parent_dir
|
21
|
+
end
|
22
|
+
|
23
|
+
def parent_dir
|
24
|
+
self.path.split("/")[0..@path.split("/").length-2].join("/")
|
25
|
+
end
|
26
|
+
|
27
|
+
def build_dir
|
28
|
+
"#{self.target_dir}/#{self.name}"
|
29
|
+
end
|
30
|
+
|
31
|
+
def create_build_dir! optional_path_prefix=nil
|
32
|
+
self.target_dir = optional_path_prefix if optional_path_prefix
|
33
|
+
mkdir_p build_dir
|
34
|
+
end
|
35
|
+
|
36
|
+
def process_constants
|
37
|
+
self.body.gsub!("HIGH", "1")
|
38
|
+
self.body.gsub!("LOW", "0")
|
39
|
+
self.body.gsub!("ON", "1")
|
40
|
+
self.body.gsub!("OFF", "0")
|
41
|
+
end
|
42
|
+
|
43
|
+
def sketch_methods
|
44
|
+
self.body.scan(/^\s*def\s.\w*/).collect{ |m| m.gsub(/\s*def\s*/, "") }
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
@@ -19,18 +19,20 @@ namespace :test do
|
|
19
19
|
end
|
20
20
|
|
21
21
|
task :compile => :gather do
|
22
|
+
|
22
23
|
@examples.each {|e| run_tests(e, "compile")}
|
23
|
-
end
|
24
24
|
end
|
25
25
|
|
26
26
|
desc "gather all tests"
|
27
27
|
task :gather do # => "make:upload" do
|
28
28
|
@examples = []
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
29
|
+
if ENV['sketch']
|
30
|
+
@examples << ENV['sketch']
|
31
|
+
else
|
32
|
+
Dir.entries( File.expand_path("#{RAD_ROOT}/examples/") ).each do |f|
|
33
|
+
@examples << f.split('.').first if (f =~ /\.rb$/)
|
33
34
|
end
|
35
|
+
end
|
34
36
|
end
|
35
37
|
|
36
38
|
end
|
@@ -44,34 +46,34 @@ namespace :make do
|
|
44
46
|
puts "Reset the Arduino and hit enter.\n==If your board doesn't need it, you can turn off this prompt in config/software.yml=="
|
45
47
|
STDIN.gets.chomp
|
46
48
|
end
|
47
|
-
sh %{cd #{
|
49
|
+
sh %{cd #{@sketch.build_dir}; make upload}
|
48
50
|
end
|
49
51
|
|
50
52
|
desc "generate a makefile and use it to compile the .cpp"
|
51
53
|
task :compile => [:clean_sketch_dir, "build:sketch"] do # should also depend on "build:sketch"
|
52
|
-
Makefile.compose_for_sketch( @
|
54
|
+
Makefile.compose_for_sketch( @sketch.build_dir )
|
55
|
+
|
53
56
|
# not allowed? sh %{export PATH=#{Makefile.software_params[:arduino_root]}/tools/avr/bin:$PATH}
|
54
|
-
sh %{cd #{
|
57
|
+
sh %{cd #{@sketch.build_dir}; make depend; make}
|
55
58
|
end
|
56
59
|
|
57
60
|
desc "generate a makefile and use it to compile the .cpp using the current .cpp file"
|
58
61
|
task :compile_cpp => ["build:sketch_dir", "build:gather_required_plugins", "build:plugin_setup", "build:setup", :clean_sketch_dir] do # should also depend on "build:sketch"
|
59
|
-
Makefile.compose_for_sketch( @
|
62
|
+
Makefile.compose_for_sketch( @sketch.build_dir )
|
60
63
|
# not allowed? sh %{export PATH=#{Makefile.software_params[:arduino_root]}/tools/avr/bin:$PATH}
|
61
|
-
sh %{cd #{
|
64
|
+
sh %{cd #{@sketch.build_dir}; make depend; make}
|
62
65
|
end
|
63
66
|
|
64
67
|
desc "generate a makefile and use it to compile the .cpp and upload it using current .cpp file"
|
65
68
|
task :upload_cpp => ["build:sketch_dir", "build:gather_required_plugins", "build:plugin_setup", "build:setup", :clean_sketch_dir] do # should also depend on "build:sketch"
|
66
|
-
Makefile.compose_for_sketch( @
|
69
|
+
Makefile.compose_for_sketch( @sketch.build_dir )
|
67
70
|
# not allowed? sh %{export PATH=#{Makefile.software_params[:arduino_root]}/tools/avr/bin:$PATH}
|
68
|
-
sh %{cd #{
|
71
|
+
sh %{cd #{@sketch.build_dir}; make depend; make upload}
|
69
72
|
end
|
70
73
|
|
71
74
|
task :clean_sketch_dir => ["build:file_list", "build:sketch_dir"] do
|
72
|
-
@
|
73
|
-
|
74
|
-
sh %{rm #{RAD_ROOT}/#{@test_dir + @sketch_name}/#{f}}
|
75
|
+
FileList.new(Dir.entries("#{@sketch.build_dir}")).exclude("#{@sketch.name}.cpp").exclude(/^\./).each do |f|
|
76
|
+
sh %{rm #{@sketch.build_dir}/#{f}}
|
75
77
|
end
|
76
78
|
end
|
77
79
|
|
@@ -81,14 +83,13 @@ namespace :build do
|
|
81
83
|
|
82
84
|
desc "actually build the sketch"
|
83
85
|
task :sketch => [:file_list, :sketch_dir, :gather_required_plugins, :plugin_setup, :setup] do
|
84
|
-
klass = @sketch_class.split(".").first.split("_").collect{|c| c.capitalize}.join("")
|
85
|
-
eval ArduinoSketch.pre_process(File.read(@test_dir + @sketch_class))
|
86
86
|
c_methods = []
|
87
87
|
sketch_signatures = []
|
88
88
|
# until we better understand RubyToC let's see what's happening on errors
|
89
|
-
|
90
|
-
|
91
|
-
|
89
|
+
@sketch.sketch_methods.each do |meth|
|
90
|
+
# use the shiny new RubyToC version
|
91
|
+
raw_rtc_meth = RADProcessor.translate(@sketch.path, @sketch.klass.intern, meth.intern)
|
92
|
+
puts "Translator Error: #{raw_rtc_meth.inspect}" if raw_rtc_meth =~ /\/\/ ERROR:/
|
92
93
|
c_methods << raw_rtc_meth unless meth == "setup"
|
93
94
|
# treat the setup method differently
|
94
95
|
@additional_setup = [] if meth == "setup"
|
@@ -98,33 +99,31 @@ namespace :build do
|
|
98
99
|
clean_c_methods = []
|
99
100
|
# remove external variables that were previously injected
|
100
101
|
c_methods.join("\n").each { |meth| clean_c_methods << ArduinoSketch.post_process_ruby_to_c_methods(meth) }
|
101
|
-
c_methods_with_timer = clean_c_methods.join.gsub(/loop\(\)\s\{/,"loop() {
|
102
|
+
c_methods_with_timer = clean_c_methods.join.gsub(/loop\(\)\s\{/,"loop() {")
|
102
103
|
# last chance to add/change setup
|
103
104
|
@setup[2] << sketch_signatures.join("\n") unless sketch_signatures.empty?
|
104
105
|
# add special setup method to existing setup if present
|
105
106
|
if @additional_setup
|
106
107
|
@setup[2] << "void additional_setup();" # declaration
|
107
|
-
@setup[4] << "
|
108
|
+
@setup[4] << "\tadditional_setup();" # call from setup
|
108
109
|
@setup[5] << @additional_setup.join("") #
|
109
110
|
end
|
110
111
|
result = "#{@setup.join( "\n" )}\n#{c_methods_with_timer}\n"
|
111
|
-
|
112
|
-
File.open("#{@test_dir}#{name}/#{name}.cpp", "w"){|f| f << result}
|
112
|
+
File.open("#{@sketch.build_dir}/#{@sketch.name}.cpp", "w"){|f| f << result}
|
113
113
|
end
|
114
114
|
|
115
115
|
# needs to write the library include and the method signatures
|
116
116
|
desc "build setup function"
|
117
117
|
task :setup do
|
118
|
-
|
119
|
-
eval "class #{klass} < ArduinoSketch; end;"
|
118
|
+
eval "class #{@sketch.klass} < ArduinoSketch; end;"
|
120
119
|
|
121
|
-
@@as =
|
120
|
+
@@as = HardwareLibrary.new
|
122
121
|
|
123
122
|
delegate_methods = @@as.methods - Object.new.methods
|
124
123
|
delegate_methods.reject!{|m| m == "compose_setup"}
|
125
124
|
|
126
125
|
delegate_methods.each do |meth|
|
127
|
-
constantize(klass).module_eval <<-CODE
|
126
|
+
constantize(@sketch.klass).module_eval <<-CODE
|
128
127
|
def self.#{meth}(*args)
|
129
128
|
@@as.#{meth}(*args)
|
130
129
|
end
|
@@ -132,14 +131,17 @@ namespace :build do
|
|
132
131
|
end
|
133
132
|
# allow variable declaration without quotes: @foo = int
|
134
133
|
["long","unsigned","int","byte","short"].each do |type|
|
135
|
-
constantize(klass).module_eval <<-CODE
|
134
|
+
constantize(@sketch.klass).module_eval <<-CODE
|
136
135
|
def self.#{type}
|
137
136
|
return "#{type}"
|
138
137
|
end
|
139
138
|
CODE
|
140
139
|
end
|
141
|
-
|
142
|
-
|
140
|
+
|
141
|
+
@sketch.process_constants
|
142
|
+
|
143
|
+
eval ArduinoSketch.pre_process(@sketch.body)
|
144
|
+
@@as.process_external_vars(constantize(@sketch.klass))
|
143
145
|
@setup = @@as.compose_setup
|
144
146
|
end
|
145
147
|
|
@@ -170,36 +172,27 @@ namespace :build do
|
|
170
172
|
desc "determine which plugins to load based on use of methods in sketch"
|
171
173
|
task :gather_required_plugins do
|
172
174
|
@plugin_names.each do |name|
|
173
|
-
ArduinoPlugin.check_for_plugin_use(
|
175
|
+
ArduinoPlugin.check_for_plugin_use(@sketch.body, File.read("vendor/plugins/#{name}"), name )
|
174
176
|
end
|
175
177
|
puts "#{$plugins_to_load.length} of #{$plugin_methods_hash.length} plugins are being loaded: #{$plugins_to_load.join(", ")}"
|
176
178
|
end
|
177
179
|
|
178
180
|
desc "setup target directory named after your sketch class"
|
179
181
|
task :sketch_dir => [:file_list] do
|
180
|
-
|
182
|
+
@sketch.create_build_dir!
|
181
183
|
end
|
182
184
|
|
183
185
|
task :file_list do
|
184
186
|
# take another look at this, since if the root directory name is changed, everything breaks
|
185
187
|
# perhaps we generate a constant when the project is generated an pop it here or in the init file
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
ENV['sketch'] = ENV['sketch'].gsub(/^examples\//, "")
|
192
|
-
@test_dir = "examples/"
|
188
|
+
if ENV['sketch']
|
189
|
+
@sketch = SketchCompiler.new File.expand_path("#{ENV['sketch']}.rb")
|
190
|
+
else
|
191
|
+
# assume the only .rb file in the sketch dir is the sketch:
|
192
|
+
@sketch = SketchCompiler.new Dir.glob("#{File.expand_path(File.dirname(__FILE__))}/../../../*.rb").first
|
193
193
|
end
|
194
|
-
|
195
|
-
$sketch_file_location = @test_dir + @sketch_class
|
196
|
-
@file_names = []
|
194
|
+
|
197
195
|
@plugin_names = []
|
198
|
-
Dir.entries( File.expand_path(RAD_ROOT) ).each do |f|
|
199
|
-
if (f =~ /\.rb$/)
|
200
|
-
@file_names << f
|
201
|
-
end
|
202
|
-
end
|
203
196
|
Dir.entries( File.expand_path("#{RAD_ROOT}/vendor/plugins/") ).each do |f|
|
204
197
|
if (f =~ /\.rb$/)
|
205
198
|
@plugin_names << f
|
data/lib/rad/version.rb
CHANGED
@@ -0,0 +1,12 @@
|
|
1
|
+
# Hardware: motor control circuit (i.e. TIP-120 control pin)
|
2
|
+
# connected at pin 7.
|
3
|
+
# Demo: http://www.youtube.com/watch?v=7OguEBfdTe0
|
4
|
+
|
5
|
+
class SerialMotor < ArduinoSketch
|
6
|
+
output_pin 7, :as => :motor
|
7
|
+
serial_begin
|
8
|
+
|
9
|
+
def loop
|
10
|
+
digitalWrite(motor, serial_read) if serial_available
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,96 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/spec_helper.rb'
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + "/../../lib/rad/sketch_compiler.rb")
|
3
|
+
|
4
|
+
context "SketchCompiler#sketch_methods" do
|
5
|
+
before do
|
6
|
+
@as = File.expand_path(File.dirname(__FILE__)) + "/../../lib/examples/i2c_with_clock_chip.rb"
|
7
|
+
@sc = SketchCompiler.new @as
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should locate all the methods defined in the sketch" do
|
11
|
+
@sc.sketch_methods.should include( "loop")
|
12
|
+
@sc.sketch_methods.should include( "printlz")
|
13
|
+
@sc.sketch_methods.should include( "print_hexbyte")
|
14
|
+
@sc.sketch_methods.should include( "clear_bottom_line")
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
context "SketchCompiler#process_constants" do
|
19
|
+
before do
|
20
|
+
@as = File.expand_path(File.dirname(__FILE__)) + "/../../lib/examples/external_variable_fu.rb"
|
21
|
+
@sc = SketchCompiler.new @as
|
22
|
+
end
|
23
|
+
|
24
|
+
it "should correctly process constants" do
|
25
|
+
@sc.process_constants
|
26
|
+
@sc.body.should_not match(/HIGH/)
|
27
|
+
@sc.body.should_not match(/LOW/)
|
28
|
+
@sc.body.should_not match(/ON/)
|
29
|
+
@sc.body.should_not match(/OFF/)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
context "SketchCompiler.new" do
|
34
|
+
before do
|
35
|
+
@as = File.expand_path(File.dirname(__FILE__)) + "/../../lib/examples/add_hysteresis.rb"
|
36
|
+
end
|
37
|
+
it "should correctly absolutize a path with /../ that starts at /" do
|
38
|
+
SketchCompiler.new(@as).path.should == "/Users/greg/code/rad/lib/examples/add_hysteresis.rb"
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should correct absolutize a relative path" do
|
42
|
+
SketchCompiler.new("lib/examples/add_hysteresis.rb").path.should == "/Users/greg/code/rad/lib/examples/add_hysteresis.rb"
|
43
|
+
end
|
44
|
+
|
45
|
+
it "should load the body of the sketch" do
|
46
|
+
sc = SketchCompiler.new @as
|
47
|
+
sc.body.should == open(@as).read
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
context "SketchCompiler#sketch_class" do
|
53
|
+
before do
|
54
|
+
@sc = SketchCompiler.new File.expand_path(File.dirname(__FILE__)) + "/../../lib/examples/add_hysteresis.rb"
|
55
|
+
end
|
56
|
+
it "should calculate correctly from the path" do
|
57
|
+
@sc.klass.should == "AddHysteresis"
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
context "SketchCompiler#create_build_dir! without a path prefix" do
|
62
|
+
before do
|
63
|
+
@sc = SketchCompiler.new("lib/examples/add_hysteresis.rb")
|
64
|
+
end
|
65
|
+
it "should create the sketch dir in the correct place" do
|
66
|
+
@sc.should_receive( :mkdir_p ).with( "/Users/greg/code/rad/lib/examples/add_hysteresis" )
|
67
|
+
@sc.create_build_dir!
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
context "SketchCompiler#create_build_dir! with a path prefix" do
|
72
|
+
before do
|
73
|
+
@sc = SketchCompiler.new("lib/examples/add_hysteresis.rb")
|
74
|
+
end
|
75
|
+
it "should create the sketch dir in the correct place" do
|
76
|
+
@sc.should_receive( :mkdir_p ).with( "prefix/add_hysteresis" )
|
77
|
+
@sc.create_build_dir! "prefix"
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
context "SketchCompiler#build_dir" do
|
82
|
+
before do
|
83
|
+
@sc = SketchCompiler.new("lib/examples/add_hysteresis.rb")
|
84
|
+
end
|
85
|
+
|
86
|
+
|
87
|
+
it "should be correct with a default target_dir" do
|
88
|
+
@sc.build_dir.should == "/Users/greg/code/rad/lib/examples/add_hysteresis"
|
89
|
+
end
|
90
|
+
|
91
|
+
it "should be correct with an altered target_dir" do
|
92
|
+
@sc.target_dir = "examples"
|
93
|
+
@sc.build_dir.should == "examples/add_hysteresis"
|
94
|
+
end
|
95
|
+
|
96
|
+
end
|
File without changes
|
@@ -0,0 +1,436 @@
|
|
1
|
+
# Arduino makefile
|
2
|
+
#
|
3
|
+
# This makefile allows you to build sketches from the command line
|
4
|
+
# without the Arduino environment (or Java).
|
5
|
+
#
|
6
|
+
# The Arduino environment does preliminary processing on a sketch before
|
7
|
+
# compiling it. If you're using this makefile instead, you'll need to do
|
8
|
+
# a few things differently:
|
9
|
+
#
|
10
|
+
# - Give your program's file a .cpp extension (e.g. foo.cpp).
|
11
|
+
#
|
12
|
+
# - Put this line at top of your code: #include <WProgram.h>
|
13
|
+
#
|
14
|
+
# - Write prototypes for all your functions (or define them before you
|
15
|
+
# call them). A prototype declares the types of parameters a
|
16
|
+
# function will take and what type of value it will return. This
|
17
|
+
# means that you can have a call to a function before the definition
|
18
|
+
# of the function. A function prototype looks like the first line of
|
19
|
+
# the function, with a semi-colon at the end. For example:
|
20
|
+
# int digitalRead(int pin);
|
21
|
+
#
|
22
|
+
# - Write a main() function for your program that returns an int, calls
|
23
|
+
# init() and setup() once (in that order), and then calls loop()
|
24
|
+
# repeatedly():
|
25
|
+
#
|
26
|
+
# int main()
|
27
|
+
# {
|
28
|
+
# init();
|
29
|
+
# setup();
|
30
|
+
#
|
31
|
+
# for (;;)
|
32
|
+
# loop();
|
33
|
+
#
|
34
|
+
# return 0;
|
35
|
+
# }
|
36
|
+
#
|
37
|
+
# Instructions for using the makefile:
|
38
|
+
#
|
39
|
+
# 1. Copy this file into the folder with your sketch.
|
40
|
+
#
|
41
|
+
# 2. Below, modify the line containing "TARGET" to refer to the name of
|
42
|
+
# of your program's file without an extension (e.g. TARGET = foo).
|
43
|
+
#
|
44
|
+
# 3. Modify the line containg "ARDUINO" to point the directory that
|
45
|
+
# contains the Arduino core (for normal Arduino installations, this
|
46
|
+
# is the hardware/cores/arduino sub-directory).
|
47
|
+
#
|
48
|
+
# 4. Modify the line containing "PORT" to refer to the filename
|
49
|
+
# representing the USB or serial connection to your Arduino board
|
50
|
+
# (e.g. PORT = /dev/tty.USB0). If the exact name of this file
|
51
|
+
# changes, you can use * as a wildcard (e.g. PORT = /dev/tty.USB*).
|
52
|
+
#
|
53
|
+
# 5. At the command line, change to the directory containing your
|
54
|
+
# program's file and the makefile.
|
55
|
+
#
|
56
|
+
# 6. Type "make" and press enter to compile/verify your program.
|
57
|
+
#
|
58
|
+
# 7. Type "make upload", reset your Arduino board, and press enter to
|
59
|
+
# upload your program to the Arduino board.
|
60
|
+
#
|
61
|
+
# $Id$
|
62
|
+
|
63
|
+
PORT = /dev/tty.usb*
|
64
|
+
TARGET = hello_world
|
65
|
+
ARDUINO = /Applications/arduino-0012/hardware/cores/arduino
|
66
|
+
SOFTWARE_SERIAL = /Applications/arduino-0012/hardware/libraries/SoftwareSerial
|
67
|
+
SRC = $(ARDUINO)/pins_arduino.c $(ARDUINO)/wiring.c \
|
68
|
+
$(ARDUINO)/wiring_analog.c $(ARDUINO)/wiring_digital.c \
|
69
|
+
$(ARDUINO)/wiring_pulse.c $(ARDUINO)/wiring_serial.c \
|
70
|
+
$(ARDUINO)/wiring_shift.c $(ARDUINO)/WInterrupts.c
|
71
|
+
CXXSRC = $(ARDUINO)/HardwareSerial.cpp $(SOFTWARE_SERIAL)/SoftwareSerial.cpp $(ARDUINO)/Print.cpp
|
72
|
+
MCU = atmega168
|
73
|
+
ASRC =
|
74
|
+
F_CPU = 16000000
|
75
|
+
FORMAT = ihex
|
76
|
+
UPLOAD_RATE = 19200
|
77
|
+
BIN_DIR = /Applications/arduino-0012/hardware/tools/avr/bin
|
78
|
+
|
79
|
+
# Name of this Makefile (used for "make depend").
|
80
|
+
MAKEFILE = Makefile
|
81
|
+
|
82
|
+
# Debugging format.
|
83
|
+
# Native formats for AVR-GCC's -g are stabs [default], or dwarf-2.
|
84
|
+
# AVR (extended) COFF requires stabs, plus an avr-objcopy run.
|
85
|
+
DEBUG = stabs
|
86
|
+
|
87
|
+
OPT = s
|
88
|
+
|
89
|
+
# Place -D or -U options here
|
90
|
+
CDEFS = -DF_CPU=$(F_CPU)
|
91
|
+
CXXDEFS = -DF_CPU=$(F_CPU)
|
92
|
+
|
93
|
+
# Place -I options here
|
94
|
+
CINCS = -I$(ARDUINO) -I$(SOFTWARE_SERIAL)
|
95
|
+
+CXXINCS = -I$(ARDUINO) -I$(SOFTWARE_SERIAL)
|
96
|
+
|
97
|
+
# Compiler flag to set the C Standard level.
|
98
|
+
# c89 - "ANSI" C
|
99
|
+
# gnu89 - c89 plus GCC extensions
|
100
|
+
# c99 - ISO C99 standard (not yet fully implemented)
|
101
|
+
# gnu99 - c99 plus GCC extensions
|
102
|
+
CSTANDARD = -std=gnu99
|
103
|
+
CDEBUG = -g$(DEBUG)
|
104
|
+
CWARN = -Wall -Wstrict-prototypes
|
105
|
+
CTUNING = -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums
|
106
|
+
#CEXTRA = -Wa,-adhlns=$(<:.c=.lst)
|
107
|
+
|
108
|
+
CFLAGS = $(CDEBUG) $(CDEFS) $(CINCS) -O$(OPT) $(CWARN) $(CSTANDARD) $(CEXTRA)
|
109
|
+
CXXFLAGS = $(CDEFS) $(CINCS) -O$(OPT)
|
110
|
+
#ASFLAGS = -Wa,-adhlns=$(<:.S=.lst),-gstabs
|
111
|
+
LDFLAGS = -lm
|
112
|
+
|
113
|
+
|
114
|
+
# Programming support using avrdude. Settings and variables.
|
115
|
+
AVRDUDE_PROGRAMMER = stk500
|
116
|
+
AVRDUDE_PORT = $(PORT)
|
117
|
+
AVRDUDE_WRITE_FLASH = -U flash:w:$(TARGET).hex
|
118
|
+
AVRDUDE_FLAGS = -F -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER) \
|
119
|
+
-b $(UPLOAD_RATE) -C /Applications/arduino-0012/hardware/tools/avr/etc/avrdude.conf
|
120
|
+
|
121
|
+
# Program settings
|
122
|
+
CC = $(BIN_DIR)/avr-gcc
|
123
|
+
CXX = $(BIN_DIR)/avr-g++
|
124
|
+
OBJCOPY = $(BIN_DIR)/avr-objcopy
|
125
|
+
OBJDUMP = $(BIN_DIR)/avr-objdump
|
126
|
+
AR = $(BIN_DIR)/avr-ar
|
127
|
+
SIZE = $(BIN_DIR)/avr-size
|
128
|
+
NM = $(BIN_DIR)/avr-nm
|
129
|
+
AVRDUDE = $(BIN_DIR)/avrdude
|
130
|
+
REMOVE = rm -f
|
131
|
+
MV = mv -f
|
132
|
+
|
133
|
+
# Define all object files.
|
134
|
+
OBJ = $(SRC:.c=.o) $(CXXSRC:.cpp=.o) $(ASRC:.S=.o)
|
135
|
+
|
136
|
+
# Define all listing files.
|
137
|
+
LST = $(ASRC:.S=.lst) $(CXXSRC:.cpp=.lst) $(SRC:.c=.lst)
|
138
|
+
|
139
|
+
# Combine all necessary flags and optional flags.
|
140
|
+
# Add target processor to flags.
|
141
|
+
ALL_CFLAGS = -mmcu=$(MCU) -I. $(CFLAGS)
|
142
|
+
ALL_CXXFLAGS = -mmcu=$(MCU) -I. $(CXXFLAGS)
|
143
|
+
ALL_ASFLAGS = -mmcu=$(MCU) -I. -x assembler-with-cpp $(ASFLAGS)
|
144
|
+
|
145
|
+
|
146
|
+
# Default target.
|
147
|
+
all: build
|
148
|
+
|
149
|
+
build: elf hex
|
150
|
+
|
151
|
+
elf: $(TARGET).elf
|
152
|
+
hex: $(TARGET).hex
|
153
|
+
eep: $(TARGET).eep
|
154
|
+
lss: $(TARGET).lss
|
155
|
+
sym: $(TARGET).sym
|
156
|
+
|
157
|
+
# Program the device.
|
158
|
+
upload: $(TARGET).hex
|
159
|
+
$(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH)
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
# Convert ELF to COFF for use in debugging / simulating in AVR Studio or VMLAB.
|
165
|
+
COFFCONVERT=$(OBJCOPY) --debugging \
|
166
|
+
--change-section-address .data-0x800000 \
|
167
|
+
--change-section-address .bss-0x800000 \
|
168
|
+
--change-section-address .noinit-0x800000 \
|
169
|
+
--change-section-address .eeprom-0x810000
|
170
|
+
|
171
|
+
|
172
|
+
coff: $(TARGET).elf
|
173
|
+
$(COFFCONVERT) -O coff-avr $(TARGET).elf $(TARGET).cof
|
174
|
+
|
175
|
+
|
176
|
+
extcoff: $(TARGET).elf
|
177
|
+
$(COFFCONVERT) -O coff-ext-avr $(TARGET).elf $(TARGET).cof
|
178
|
+
|
179
|
+
|
180
|
+
.SUFFIXES: .elf .hex .eep .lss .sym
|
181
|
+
|
182
|
+
.elf.hex:
|
183
|
+
$(OBJCOPY) -O $(FORMAT) -R .eeprom $< $@
|
184
|
+
|
185
|
+
.elf.eep:
|
186
|
+
-$(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" \
|
187
|
+
--change-section-lma .eeprom=0 -O $(FORMAT) $< $@
|
188
|
+
|
189
|
+
# Create extended listing file from ELF output file.
|
190
|
+
.elf.lss:
|
191
|
+
$(OBJDUMP) -h -S $< > $@
|
192
|
+
|
193
|
+
# Create a symbol table from ELF output file.
|
194
|
+
.elf.sym:
|
195
|
+
$(NM) -n $< > $@
|
196
|
+
|
197
|
+
|
198
|
+
core.a: $(OBJ)
|
199
|
+
@for i in $(OBJ); do echo $(AR) rcs core.a $$i; $(AR) rcs core.a $$i; done
|
200
|
+
|
201
|
+
# Link: create ELF output file from library.
|
202
|
+
$(TARGET).elf: core.a
|
203
|
+
$(CC) $(ALL_CFLAGS) -o $@ $(TARGET).cpp -L. core.a $(LDFLAGS)
|
204
|
+
|
205
|
+
# Compile: create object files from C++ source files.
|
206
|
+
.cpp.o:
|
207
|
+
$(CXX) -c $(ALL_CXXFLAGS) $< -o $@
|
208
|
+
|
209
|
+
# Compile: create object files from C source files.
|
210
|
+
.c.o:
|
211
|
+
$(CC) -c $(ALL_CFLAGS) $< -o $@
|
212
|
+
|
213
|
+
|
214
|
+
# Compile: create assembler files from C source files.
|
215
|
+
.c.s:
|
216
|
+
$(CC) -S $(ALL_CFLAGS) $< -o $@
|
217
|
+
|
218
|
+
|
219
|
+
# Assemble: create object files from assembler source files.
|
220
|
+
.S.o:
|
221
|
+
$(CC) -c $(ALL_ASFLAGS) $< -o $@
|
222
|
+
|
223
|
+
|
224
|
+
|
225
|
+
# Target: clean project.
|
226
|
+
clean:
|
227
|
+
$(REMOVE) $(TARGET).hex $(TARGET).eep $(TARGET).cof $(TARGET).elf \
|
228
|
+
$(TARGET).map $(TARGET).sym $(TARGET).lss core.a \
|
229
|
+
$(OBJ) $(LST) $(SRC:.c=.s) $(SRC:.c=.d) $(CXXSRC:.cpp=.s) $(CXXSRC:.cpp=.d)
|
230
|
+
|
231
|
+
depend:
|
232
|
+
if grep '^# DO NOT DELETE' $(MAKEFILE) >/dev/null; \
|
233
|
+
then \
|
234
|
+
sed -e '/^# DO NOT DELETE/,$$d' $(MAKEFILE) > \
|
235
|
+
$(MAKEFILE).$$$$ && \
|
236
|
+
$(MV) $(MAKEFILE).$$$$ $(MAKEFILE); \
|
237
|
+
fi
|
238
|
+
echo '# DO NOT DELETE THIS LINE -- make depend depends on it.' \
|
239
|
+
>> $(MAKEFILE); \
|
240
|
+
$(CC) -M -mmcu=$(MCU) $(CDEFS) $(CINCS) $(SRC) $(ASRC) >> $(MAKEFILE)
|
241
|
+
|
242
|
+
.PHONY: all build elf hex eep lss sym program coff extcoff clean depend
|
243
|
+
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
244
|
+
pins_arduino.o: \
|
245
|
+
/Applications/arduino-0012/hardware/cores/arduino/pins_arduino.c \
|
246
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
|
247
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
|
248
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
|
249
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
|
250
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
|
251
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
|
252
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
|
253
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
|
254
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
|
255
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
|
256
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
|
257
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring_private.h \
|
258
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
|
259
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
|
260
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
|
261
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
|
262
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
|
263
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stdarg.h \
|
264
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stddef.h \
|
265
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring.h \
|
266
|
+
/Applications/arduino-0012/hardware/cores/arduino/binary.h \
|
267
|
+
/Applications/arduino-0012/hardware/cores/arduino/pins_arduino.h \
|
268
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/pgmspace.h
|
269
|
+
wiring.o: /Applications/arduino-0012/hardware/cores/arduino/wiring.c \
|
270
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring_private.h \
|
271
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
|
272
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
|
273
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
|
274
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
|
275
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
|
276
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
|
277
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
|
278
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
|
279
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
|
280
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
|
281
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
|
282
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
|
283
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
|
284
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
|
285
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
|
286
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
|
287
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stdarg.h \
|
288
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stddef.h \
|
289
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring.h \
|
290
|
+
/Applications/arduino-0012/hardware/cores/arduino/binary.h
|
291
|
+
wiring_analog.o: \
|
292
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring_analog.c \
|
293
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring_private.h \
|
294
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
|
295
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
|
296
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
|
297
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
|
298
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
|
299
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
|
300
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
|
301
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
|
302
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
|
303
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
|
304
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
|
305
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
|
306
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
|
307
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
|
308
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
|
309
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
|
310
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stdarg.h \
|
311
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stddef.h \
|
312
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring.h \
|
313
|
+
/Applications/arduino-0012/hardware/cores/arduino/binary.h \
|
314
|
+
/Applications/arduino-0012/hardware/cores/arduino/pins_arduino.h \
|
315
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/pgmspace.h
|
316
|
+
wiring_digital.o: \
|
317
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring_digital.c \
|
318
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring_private.h \
|
319
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
|
320
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
|
321
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
|
322
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
|
323
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
|
324
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
|
325
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
|
326
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
|
327
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
|
328
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
|
329
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
|
330
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
|
331
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
|
332
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
|
333
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
|
334
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
|
335
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stdarg.h \
|
336
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stddef.h \
|
337
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring.h \
|
338
|
+
/Applications/arduino-0012/hardware/cores/arduino/binary.h \
|
339
|
+
/Applications/arduino-0012/hardware/cores/arduino/pins_arduino.h \
|
340
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/pgmspace.h
|
341
|
+
wiring_pulse.o: \
|
342
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring_pulse.c \
|
343
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring_private.h \
|
344
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
|
345
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
|
346
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
|
347
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
|
348
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
|
349
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
|
350
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
|
351
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
|
352
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
|
353
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
|
354
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
|
355
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
|
356
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
|
357
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
|
358
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
|
359
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
|
360
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stdarg.h \
|
361
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stddef.h \
|
362
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring.h \
|
363
|
+
/Applications/arduino-0012/hardware/cores/arduino/binary.h \
|
364
|
+
/Applications/arduino-0012/hardware/cores/arduino/pins_arduino.h \
|
365
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/pgmspace.h
|
366
|
+
wiring_serial.o: \
|
367
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring_serial.c \
|
368
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring_private.h \
|
369
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
|
370
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
|
371
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
|
372
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
|
373
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
|
374
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
|
375
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
|
376
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
|
377
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
|
378
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
|
379
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
|
380
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
|
381
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
|
382
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
|
383
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
|
384
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
|
385
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stdarg.h \
|
386
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stddef.h \
|
387
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring.h \
|
388
|
+
/Applications/arduino-0012/hardware/cores/arduino/binary.h
|
389
|
+
wiring_shift.o: \
|
390
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring_shift.c \
|
391
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring_private.h \
|
392
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
|
393
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
|
394
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
|
395
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
|
396
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
|
397
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
|
398
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
|
399
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
|
400
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
|
401
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
|
402
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
|
403
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
|
404
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
|
405
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
|
406
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h \
|
407
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
|
408
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stdarg.h \
|
409
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stddef.h \
|
410
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring.h \
|
411
|
+
/Applications/arduino-0012/hardware/cores/arduino/binary.h
|
412
|
+
WInterrupts.o: \
|
413
|
+
/Applications/arduino-0012/hardware/cores/arduino/WInterrupts.c \
|
414
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/inttypes.h \
|
415
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdint.h \
|
416
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/io.h \
|
417
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/sfr_defs.h \
|
418
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iom168.h \
|
419
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/iomx8.h \
|
420
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/portpins.h \
|
421
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/common.h \
|
422
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/version.h \
|
423
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/fuse.h \
|
424
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/lock.h \
|
425
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/interrupt.h \
|
426
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/pgmspace.h \
|
427
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stddef.h \
|
428
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/stdio.h \
|
429
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/include/stdarg.h \
|
430
|
+
/Applications/arduino-0012/hardware/cores/arduino/WConstants.h \
|
431
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring.h \
|
432
|
+
/Applications/arduino-0012/hardware/cores/arduino/binary.h \
|
433
|
+
/Applications/arduino-0012/hardware/cores/arduino/wiring_private.h \
|
434
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/avr/delay.h \
|
435
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay.h \
|
436
|
+
/Applications/arduino-0012/hardware/tools/avr/bin/../lib/gcc/avr/4.3.0/../../../../avr/include/util/delay_basic.h
|