neo_rad 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.
Files changed (146) hide show
  1. checksums.yaml +7 -0
  2. data/History.txt +112 -0
  3. data/License.txt +282 -0
  4. data/Manifest.txt +144 -0
  5. data/README.rdoc +1 -0
  6. data/Rakefile +142 -0
  7. data/bin/rad +302 -0
  8. data/lib/examples/add_hysteresis.rb +13 -0
  9. data/lib/examples/basic_blink.rb +10 -0
  10. data/lib/examples/blink_m_address_assignment.rb +104 -0
  11. data/lib/examples/blink_m_hello.rb +14 -0
  12. data/lib/examples/blink_m_multi.rb +61 -0
  13. data/lib/examples/blink_with_serial.rb +16 -0
  14. data/lib/examples/configure_pa_lcd_boot.rb +91 -0
  15. data/lib/examples/debounce_methods.rb +49 -0
  16. data/lib/examples/external_variable_fu.rb +26 -0
  17. data/lib/examples/external_variables.rb +32 -0
  18. data/lib/examples/first_sound.rb +23 -0
  19. data/lib/examples/frequency_generator.rb +30 -0
  20. data/lib/examples/hello_array.rb +48 -0
  21. data/lib/examples/hello_array2.rb +112 -0
  22. data/lib/examples/hello_array_eeprom.rb +59 -0
  23. data/lib/examples/hello_clock.rb +84 -0
  24. data/lib/examples/hello_eeprom.rb +51 -0
  25. data/lib/examples/hello_eeprom_lcdpa.rb +81 -0
  26. data/lib/examples/hello_format_print.rb +94 -0
  27. data/lib/examples/hello_lcd_charset.rb +75 -0
  28. data/lib/examples/hello_pa_lcd.rb +59 -0
  29. data/lib/examples/hello_servos.rb +88 -0
  30. data/lib/examples/hello_spectra_sound.rb +38 -0
  31. data/lib/examples/hello_world.rb +11 -0
  32. data/lib/examples/hello_xbee.rb +12 -0
  33. data/lib/examples/hysteresis_duel.rb +39 -0
  34. data/lib/examples/i2c_with_clock_chip.rb +124 -0
  35. data/lib/examples/midi_beat_box.rb +86 -0
  36. data/lib/examples/midi_scales.rb +94 -0
  37. data/lib/examples/motor_knob.rb +30 -0
  38. data/lib/examples/servo_buttons.rb +23 -0
  39. data/lib/examples/servo_calibrate_continuous.rb +92 -0
  40. data/lib/examples/servo_throttle.rb +40 -0
  41. data/lib/examples/software_serial.rb +10 -0
  42. data/lib/examples/sparkfun_lcd.rb +48 -0
  43. data/lib/examples/spectra_soft_pot.rb +34 -0
  44. data/lib/examples/times_method.rb +8 -0
  45. data/lib/examples/toggle.rb +10 -0
  46. data/lib/examples/twitter.rb +57 -0
  47. data/lib/examples/two_wire.rb +14 -0
  48. data/lib/libraries/AFSoftSerial/AFSoftSerial.cpp +321 -0
  49. data/lib/libraries/AFSoftSerial/AFSoftSerial.h +61 -0
  50. data/lib/libraries/AFSoftSerial/keywords.txt +18 -0
  51. data/lib/libraries/AF_XPort/AF_XPort.cpp +166 -0
  52. data/lib/libraries/AF_XPort/AF_XPort.h +48 -0
  53. data/lib/libraries/DS1307/DS1307.cpp +162 -0
  54. data/lib/libraries/DS1307/DS1307.h +66 -0
  55. data/lib/libraries/DS1307/keywords.txt +18 -0
  56. data/lib/libraries/FrequencyTimer2/FrequencyTimer2.cpp +144 -0
  57. data/lib/libraries/FrequencyTimer2/FrequencyTimer2.h +42 -0
  58. data/lib/libraries/FrequencyTimer2/keywords.txt +22 -0
  59. data/lib/libraries/I2CEEPROM/I2CEEPROM.cpp +120 -0
  60. data/lib/libraries/I2CEEPROM/I2CEEPROM.h +70 -0
  61. data/lib/libraries/I2CEEPROM/keywords.txt +21 -0
  62. data/lib/libraries/LoopTimer/LoopTimer.cpp +35 -0
  63. data/lib/libraries/LoopTimer/LoopTimer.h +34 -0
  64. data/lib/libraries/LoopTimer/keywords.txt +27 -0
  65. data/lib/libraries/OneWire/OneWire.cpp +194 -0
  66. data/lib/libraries/OneWire/OneWire.h +63 -0
  67. data/lib/libraries/OneWire/keywords.txt +35 -0
  68. data/lib/libraries/OneWire/readme.txt +13 -0
  69. data/lib/libraries/SWSerLCDpa/SWSerLCDpa.cpp +296 -0
  70. data/lib/libraries/SWSerLCDpa/SWSerLCDpa.h +69 -0
  71. data/lib/libraries/SWSerLCDsf/SWSerLCDsf.cpp +311 -0
  72. data/lib/libraries/SWSerLCDsf/SWSerLCDsf.h +67 -0
  73. data/lib/libraries/Servo/Servo.cpp +192 -0
  74. data/lib/libraries/Servo/Servo.h +61 -0
  75. data/lib/libraries/Stepper/Stepper.cpp +220 -0
  76. data/lib/libraries/Stepper/Stepper.h +86 -0
  77. data/lib/libraries/Stepper/keywords.txt +28 -0
  78. data/lib/libraries/Wire/Wire.cpp +262 -0
  79. data/lib/libraries/Wire/Wire.h +67 -0
  80. data/lib/libraries/Wire/keywords.txt +31 -0
  81. data/lib/libraries/Wire/twi.h +57 -0
  82. data/lib/libraries/Wire/utility/twi.c +449 -0
  83. data/lib/libraries/Wire/utility/twi.h +57 -0
  84. data/lib/plugins/bitwise_ops.rb +54 -0
  85. data/lib/plugins/blink.rb +25 -0
  86. data/lib/plugins/blink_m.rb +356 -0
  87. data/lib/plugins/debounce.rb +138 -0
  88. data/lib/plugins/debug_output_to_lcd.rb +71 -0
  89. data/lib/plugins/hysteresis.rb +52 -0
  90. data/lib/plugins/input_output_state.rb +84 -0
  91. data/lib/plugins/lcd_padding.rb +58 -0
  92. data/lib/plugins/mem_test.rb +37 -0
  93. data/lib/plugins/midi.rb +60 -0
  94. data/lib/plugins/parallax_ping.rb +50 -0
  95. data/lib/plugins/servo_pulse.rb +31 -0
  96. data/lib/plugins/servo_setup.rb +86 -0
  97. data/lib/plugins/smoother.rb +54 -0
  98. data/lib/plugins/spark_fun_serial_lcd.rb +100 -0
  99. data/lib/plugins/spectra_symbol.rb +79 -0
  100. data/lib/plugins/twitter_connect.rb +145 -0
  101. data/lib/rad/README.rdoc +5 -0
  102. data/lib/rad/arduino_plugin.rb +246 -0
  103. data/lib/rad/arduino_sketch.rb +628 -0
  104. data/lib/rad/darwin_installer.rb +23 -0
  105. data/lib/rad/generators/makefile/makefile.erb +243 -0
  106. data/lib/rad/generators/makefile/makefile.rb +38 -0
  107. data/lib/rad/hardware_library.rb +813 -0
  108. data/lib/rad/init.rb +15 -0
  109. data/lib/rad/linux_installer.rb +132 -0
  110. data/lib/rad/progressbar.rb +236 -0
  111. data/lib/rad/rad_processor.rb +128 -0
  112. data/lib/rad/rad_rewriter.rb +94 -0
  113. data/lib/rad/rad_type_checker.rb +26 -0
  114. data/lib/rad/sim/arduino_sketch.rb +57 -0
  115. data/lib/rad/sketch_compiler.rb +47 -0
  116. data/lib/rad/tasks/build_and_make.rake +210 -0
  117. data/lib/rad/tasks/rad.rb +2 -0
  118. data/lib/rad/todo.txt +13 -0
  119. data/lib/rad/variable_processing.rb +153 -0
  120. data/lib/rad/version.rb +9 -0
  121. data/lib/rad.rb +5 -0
  122. data/scripts/txt2html +67 -0
  123. data/setup.rb +1585 -0
  124. data/spec/examples/hello_world.rb +11 -0
  125. data/spec/examples/serial_motor.rb +12 -0
  126. data/spec/models/arduino_sketch_spec.rb +82 -0
  127. data/spec/models/sketch_compiler_spec.rb +96 -0
  128. data/spec/models/spec_helper.rb +2 -0
  129. data/spec/sim/hello_world_spec.rb +42 -0
  130. data/spec/spec.opts +1 -0
  131. data/test/hello_world_test/Makefile +436 -0
  132. data/test/hello_world_test/hello_world.cpp +23 -0
  133. data/test/test_array_processing.rb +179 -0
  134. data/test/test_plugin_loading.rb +151 -0
  135. data/test/test_translation_post_processing.rb +185 -0
  136. data/test/test_variable_processing.rb +238 -0
  137. data/website/examples/assembler_test.rb.html +73 -0
  138. data/website/examples/gps_reader.rb.html +39 -0
  139. data/website/examples/hello_world.rb.html +38 -0
  140. data/website/examples/serial_motor.rb.html +41 -0
  141. data/website/index.html +178 -0
  142. data/website/index.txt +64 -0
  143. data/website/javascripts/rounded_corners_lite.inc.js +285 -0
  144. data/website/stylesheets/screen.css +169 -0
  145. data/website/template.rhtml +48 -0
  146. metadata +222 -0
@@ -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
@@ -0,0 +1,23 @@
1
+ #include <WProgram.h>
2
+
3
+ void loop();
4
+ void setup();
5
+ int main();
6
+
7
+ void setup() {
8
+ pinMode(13, OUTPUT);
9
+ }
10
+
11
+ int main() {
12
+ init();
13
+ setup();
14
+ for( ;; ) { loop(); }
15
+ return 0;
16
+ }
17
+
18
+ void loop() {
19
+ digitalWrite( 13, HIGH );
20
+ delay( 500 );
21
+ digitalWrite( 13, LOW );
22
+ delay( 500 );
23
+ }
@@ -0,0 +1,179 @@
1
+ $TESTING = true
2
+
3
+ # need to tell it where we are
4
+ # lets review these
5
+ # neee to remove this constant from tests and pull it from rad
6
+ C_VAR_TYPES = "unsigned|int|long|double|str|char|byte|float|bool"
7
+ require "#{File.expand_path(File.dirname(__FILE__))}/../lib/rad/variable_processing"
8
+ require "#{File.expand_path(File.dirname(__FILE__))}/../lib/rad/arduino_sketch"
9
+ require 'test/unit'
10
+
11
+
12
+ class TestArrayProcessing < Test::Unit::TestCase
13
+
14
+ def setup
15
+ @t = ArduinoSketch.new
16
+ # vars
17
+ end
18
+
19
+ # with July 25 2008 rework of arrays, this needs reworking/pruning
20
+
21
+ def test_int_array
22
+ name = "foo_a"
23
+ value_string = "int tomatoes[]"
24
+ expected = "int tomatoes[];"
25
+ result = @t.array(value_string)
26
+ assert_equal(expected, result[0])
27
+ end
28
+
29
+ def test_int_array_with_semi
30
+ name = "foo_b"
31
+ value_string = "int tomatoes[];"
32
+ expected = "int tomatoes[];"
33
+ result = @t.array(value_string)
34
+ assert_equal(expected, result[0])
35
+ end
36
+
37
+ def test_int_array_with_assignment
38
+ name = "foo_c"
39
+ value_string = "int tomatoes[] = {1,2,3,4}"
40
+ expected = "int tomatoes[] = {1,2,3,4};"
41
+ result = @t.array(value_string)
42
+ assert_equal(expected, result[0])
43
+ end
44
+
45
+ def test_int_array_with_assignment_and_semi
46
+ name = "foo_d"
47
+ value_string = "int tomatoes[] = {1,2,3};"
48
+ expected = "int tomatoes[] = {1,2,3};"
49
+ result = @t.array(value_string)
50
+ assert_equal(expected, result[0])
51
+ end
52
+
53
+ def test_unsigned_int_array
54
+ name = "foo_e"
55
+ value_string = "unsigned int tomatoes[]"
56
+ expected = "unsigned int tomatoes[];"
57
+ result = @t.array(value_string)
58
+ assert_equal(expected, result[0])
59
+ end
60
+
61
+ def test_unsigned_int_array_with_assignment
62
+ name = "foo_f"
63
+ value_string = "unsigned int tomatoes[] = {1,2,3};"
64
+ expected = "unsigned int tomatoes[] = {1,2,3};"
65
+ result = @t.array(value_string)
66
+ assert_equal(expected, result[0])
67
+ end
68
+
69
+ ### adding defines
70
+
71
+ def test_define_numbers
72
+ name = "foo_g"
73
+ value_string = "NUMBERS 10"
74
+ expected = "#define NUMBERS 10"
75
+ result = @t.define(value_string)
76
+ assert_equal(expected, result[0])
77
+ end
78
+
79
+ def test_define_numbers_type
80
+ name = "foo_gg"
81
+ value_string = "NUMBERS 10"
82
+ expected = "long"
83
+ result = @t.define(value_string)
84
+ assert_equal(expected, result[1])
85
+ end
86
+
87
+ def test_define_value_type_long_via_gvar
88
+ name = "foo_ggg"
89
+ value_string = "NUMBERS 10"
90
+ expected = "long"
91
+ result = @t.define(value_string)
92
+ assert_equal(expected, $define_types["NUMBERS"])
93
+ end
94
+
95
+ def test_define_string
96
+ name = "foo_h"
97
+ value_string = "TEXT word"
98
+ expected = "#define TEXT \"word\""
99
+ result = @t.define(value_string)
100
+ assert_equal(expected, result[0])
101
+ end
102
+
103
+ def test_define_string_type
104
+ name = "foo_hh"
105
+ value_string = "TEXT word"
106
+ expected = "str"
107
+ result = @t.define(value_string)
108
+ assert_equal(expected, result[1])
109
+ end
110
+
111
+ def test_define_string_type__via_gvar
112
+ name = "foo_hhh"
113
+ value_string = "TEXT word"
114
+ expected = "str"
115
+ result = @t.define(value_string)
116
+ assert_equal(expected, $define_types["TEXT"])
117
+ end
118
+
119
+ def test_define_stings_with_spaces
120
+ name = "foo_i"
121
+ value_string = "TEXT words with spaces"
122
+ expected = "#define TEXT \"words with spaces\""
123
+ result = @t.define(value_string)
124
+ assert_equal(expected, result[0])
125
+ end
126
+
127
+ def test_define_stings_with_spaces_type
128
+ name = "foo_ii"
129
+ value_string = "TEXT words with spaces"
130
+ expected = "str"
131
+ result = @t.define(value_string)
132
+ assert_equal(expected, result[1])
133
+ end
134
+
135
+ def test_define_stings_with_spaces_type_via_gvar
136
+ name = "foo_iii"
137
+ value_string = "TEXT words with spaces"
138
+ expected = "str"
139
+ result = @t.define(value_string)
140
+ assert_equal(expected, $define_types["TEXT"])
141
+ end
142
+
143
+ def test_define_float
144
+ name = "foo_j"
145
+ value_string = "FLOAT 10.0"
146
+ expected = "#define FLOAT 10.0"
147
+ result = @t.define(value_string)
148
+ assert_equal(expected, result[0])
149
+ end
150
+
151
+ def test_define_float_type
152
+ name = "foo_jj"
153
+ value_string = "FLOAT 10.0"
154
+ expected = "float"
155
+ result = @t.define(value_string)
156
+ assert_equal(expected, result[1])
157
+ end
158
+
159
+
160
+ def test_define_float_type_via_gvar
161
+ name = "foo_jjj"
162
+ value_string = "FLOAT 10.0"
163
+ expected = "float"
164
+ result = @t.define(value_string)
165
+ assert_equal(expected, $define_types["FLOAT"])
166
+ end
167
+
168
+ #
169
+
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+ # question for brian... do we need variable assignment with no value when
178
+ # we have "" and 0
179
+ end