Commit Graph

783 Commits

Author SHA1 Message Date
Cristian Maglie 7e14a0d2fb [sam] updated boards.txt from upstream 2012-04-28 15:47:19 +02:00
Thibaut VIARD 86533a5e8f [sam] first USB with Init/Attach/Detach 2012-04-28 15:16:13 +02:00
Cristian Maglie 08b614048d [sam] fixed compiling on wiring_analog.c 2012-04-28 12:45:30 +02:00
Cristian Maglie 4da2833a81 [sam] updated Print class and all derivated classes. 2012-04-28 12:44:49 +02:00
Thibaut VIARD f09771258e [sam] fixing analog according to updated pmc api 2012-04-28 12:11:40 +02:00
Thibaut VIARD c0a5eb38e2 [sam] adding USB updates 2012-04-28 11:49:28 +02:00
Thibaut VIARD ed0be7c1b8 [sam] USB device cleanup 2012-04-28 10:14:04 +02:00
Thibaut VIARD 5f0a03c86c [sam] adding validation app for usb device stack 2012-04-28 09:56:53 +02:00
Thibaut VIARD fbf65ab217 [sam] updating makefiles: test app now builds all needed libs 2012-04-28 09:51:54 +02:00
Cristian Maglie afaeee22ac [sam] Fixed pinout for Serial4. Fixed keywords. Recompiled shipped libsam binary 2012-04-27 14:25:57 +02:00
Thibaut VIARD a4b61c7b1b [SAM] fixing header includes 2012-04-26 20:22:15 +02:00
Thibaut VIARD 88c10ba1e2 [SAM] fixing make clean 2012-04-26 20:21:33 +02:00
Thibaut VIARD d0d41ba673 Merge branch 'platforms-arm' of https://github.com/arduino/ARM into platforms-arm 2012-04-26 20:20:13 +02:00
Thibaut VIARD 4a50ae7f9c [SAM] Updating CMSIS to fix devices package IT handlers issue 2012-04-26 20:17:47 +02:00
Zach Eveland 2e575db249 changed PID values for Leonardo bootloader and sketch
done to avoid driver problems for users who installed the pre-release bootloader and driver
2012-04-25 15:56:18 -04:00
Cristian Maglie 45619b4336 [sam] SPI Fixed modes constants 2012-04-24 18:43:33 +02:00
Cristian Maglie 33870d3aae [sam] bugfix for SPI on SAM3*. Extended API for SPI master devices is in ALPHA, to be validated. 2012-04-24 09:31:50 +02:00
Cristian Maglie d6c57415a3 [sam] fixed compilation problem with temporary USB driver 2012-04-23 15:51:03 +02:00
Cristian Maglie 00ceed55d2 [sam] Fixed compilation problem on SPI class. SPI device is now called SPI_0 to avoid name clashes. 2012-04-23 15:50:30 +02:00
Zach Eveland 4fb17c47cd bugfix for configuring PWM on D6 and D13 too early. (thanks to Limor Fried)
was starting PWM on these pins too soon - in init() instead of when analogWrite() was called.  as a result doing output on port registers directly failed.
2012-04-19 15:52:16 -04:00
Zach Eveland 9904a6f497 bugfix for boards with a timer 4 but no channel D
compilation failed for Mega because the COM4D1 and OCR4D registers are defined for 32U4 but not for Mega
2012-04-19 15:46:32 -04:00
Cristian Maglie 95738df9bf [sam] update USB device API 2012-04-19 17:37:13 +02:00
Cristian Maglie 0b5e66af37 [sam] Moved USB stuff inside a folder 2012-04-18 14:52:30 +02:00
Cristian Maglie 008df0430c [sam] added AndroidAccesory class from ADK 2012-04-18 14:34:51 +02:00
Cristian Maglie 761d472f23 [sam] temporarily removed asserts from PMC_* functions 2012-04-12 10:37:02 +02:00
Zach Eveland bb9a4f89cc merged Caterina with Blink 2012-04-11 23:24:04 -04:00
Zach Eveland 7e235dbff8 fixed logic bug in Caterina that could stop the bootloader from entering self-programming mode 2012-04-11 23:19:05 -04:00
Thibault RICHARD 9aaf61327b [sam] added ADC test in validation app (makefile based) 2012-04-11 19:32:29 +02:00
Thibault RICHARD 6ae6a0eaf2 [sam] fixing ADC, taken from ASF, checked and tested verified 2012-04-11 19:30:13 +02:00
Thibault RICHARD 0832334a71 [sam] fixing makefiles for toolchain path containing spaces 2012-04-11 19:26:06 +02:00
Thibaut VIARD 431f3ea5fe [sam] preliminary update for analog 2012-04-10 18:27:43 +02:00
Zach Eveland d3a8e450ee Micro I hardly knew ye 2012-04-09 10:12:14 -04:00
Zach Eveland 3f6342e9bb Micro and Leonardo bootloaders for distribution are now merged with Blink sketch 2012-04-09 08:08:34 -04:00
Zach Eveland caeaa4571c sketch USB VID and PID values are passed in from boards.txt at compile time now. changed sketch PIDs to final values. also uncommented Micro section in boards.txt 2012-04-09 08:06:35 -04:00
Zach Eveland d02e4481d3 PID and VID are no longer hard-coded in bootloader. instead they are passed in at compile-time from makefile. also added and renamed built bootloader images for Micro and Leonardo 2012-04-09 08:03:56 -04:00
Zach Eveland 437025c6ee Revert "Revert "added a short delay and comment to boolean operator in CDC""
This reverts commit 200eefb4e2.
2012-04-06 21:23:17 -04:00
Federico Vanzati 200eefb4e2 Revert "added a short delay and comment to boolean operator in CDC"
This reverts commit ade4893f58.
2012-04-06 17:36:09 +02:00
Cristian Maglie 650d2e9a1a Added USBHost lib from Arduino ADK 2012-04-06 17:18:55 +02:00
Thibaut VIARD be1ded6c86 [sam] adding -fdata-sections to makefiles 2012-04-05 20:14:21 +02:00
Thibaut VIARD e10cabc054 [sam] fixing linker files and adding a compiler option 2012-04-05 18:23:19 +02:00
Thibaut VIARD 5e3faa6d5d [sam] putting temporary USBCore as disabled to allow compilation 2012-04-05 18:00:45 +02:00
Thibaut VIARD ba47ad6b8d [sam] fixing badly the SAM3U UDPHS driver 2012-04-05 12:13:48 +02:00
Zach Eveland ade4893f58 added a short delay and comment to boolean operator in CDC
Delay fixes problem where the port has been configured but not quite opened.  Federico found that 10 ms was the minimum time needed to avoid problems.
2012-04-03 10:52:38 -04:00
Cristian Maglie b7c8b3ea74 Fixed compiling on windows 2012-04-02 18:30:53 +02:00
Zach Eveland b685aef6ec added Boolean operators to HardwareSerial and CDC to test whether the port is ready to send data.
Mostly useful for Leonardo - simple way to test whether the port is actually opened by an application and ready to receive data.  For Serial objects attached to real UARTs always returns true.
2012-04-01 12:54:35 -04:00
Thibaut VIARD f83cd2f3e7 [sam] prelimanary work on USB Device stack 2012-03-29 21:11:05 +02:00
Thibaut VIARD 5b3580fe36 [sam] fixing boards definitions 2012-03-29 17:16:37 +02:00
Thibaut VIARD 009bc1b722 [sam] adding prototypes to USB_driver.h 2012-03-29 11:37:35 +02:00
Thibaut VIARD d7ae25360a [sam] removing usb driver from API core 2012-03-29 11:00:47 +02:00
Thibaut VIARD 1b591962f1 [sam] separating usb driver from core part 2012-03-29 10:59:24 +02:00
Thibaut VIARD f865dde7ee [sam] moving ATMEL boards to dedicated place 2012-03-29 10:48:24 +02:00
Thibaut VIARD 3ee8822678 [sam] adding atmel variants folder 2012-03-29 10:43:11 +02:00
Thibaut VIARD 4265a18f14 [sam] adding google ADK2 variant 2012-03-29 10:42:38 +02:00
Zach Eveland 97d9ce93ca fixed logic error in Keyboard.release() - now removes every occurrence of a key if it's present more than once 2012-03-28 19:46:32 -04:00
Zach Eveland b86ec2723a removed horrible multi-key Keyboard.press() and Keyboard.release() methods
Saves 924 bytes of Flash
2012-03-28 18:46:10 -04:00
Zach Eveland 3d15f3781a eliminated Keyboard.type() - unnecessary duplication of Keyboard.write() (David Mellis). Also edit KeyboardReprogram example which was the only example using type() 2012-03-28 18:35:26 -04:00
Thibaut VIARD dd8a20ad20 [sam] harmonizing building and source between variants (SAM EK need
rework)
2012-03-27 13:16:27 +02:00
Thibaut VIARD d77dbe24ef Merge branch 'platforms-arm' of https://github.com/arduino/ARM into platforms-arm 2012-03-27 12:22:32 +02:00
Thibaut VIARD e84859656a [sam] fixing int handlers prototypes and build files cleanup 2012-03-27 12:20:47 +02:00
Thibaut VIARD baf2b2cc07 [sam] adding c99 and c++98 std options 2012-03-27 12:13:51 +02:00
Thibaut VIARD 3f1cdbaf5a [sam] fixing warning and doing cleanup of libsam build 2012-03-27 12:03:40 +02:00
Zach Eveland 259a2f18b3 added methods to Keyboard to handle multiple simultaneous key presses or releases (up to six each) 2012-03-26 17:28:02 -04:00
Zach Eveland 63fdb8ef7a Keyboard.type() now just presses and releases the key indicated - doesn't releaseAll() 2012-03-26 17:00:16 -04:00
Zach Eveland 2e140e4950 added stub methods for begin() and end() to Mouse and Keyboard 2012-03-26 16:02:40 -04:00
Cristian Maglie 21c661c9d4 [sam] fixed basic IDE compilation for sam3x 2012-03-26 19:27:45 +02:00
Thibaut VIARD 042149a9b1 [sam] Fixing arduino_due_x variant 2012-03-26 18:09:10 +02:00
Thibaut VIARD 2aa1f3ea34 [sam] removing useless DAC datasheet 2012-03-26 17:18:40 +02:00
Thibaut VIARD 02f620c1d3 [sam] switching to CMSIS Atmel package 2012-03-26 16:50:47 +02:00
Thibaut VIARD 62f3181008 [sam] removing current CMSIS package, better to use Atmel one 2012-03-26 13:46:46 +02:00
Thibaut VIARD d1c8c5db3a [sam] fixing variants names following Cristian renaming 2012-03-26 13:26:19 +02:00
Zach Eveland a0f1f1a930 Merge branch 'master' of github.com:arduino/Arduino into LUFA_bootloader 2012-03-24 09:30:17 -04:00
unknown aa3dde0973 [sam] fixing libsam and adding support of due_x 2012-03-23 16:24:17 +01:00
unknown 33d4e07315 [sam] fixing wrong function header 2012-03-23 16:10:35 +01:00
unknown 47a37049eb [sam] Fixing cmsis system_sam3xa.c call to header 2012-03-23 16:03:41 +01:00
unknown bdb4e991aa [sam] renaming cmsis system files to be consistent with the series naming 2012-03-23 16:02:00 +01:00
Cristian Maglie d32541353e ARM: Added sam3x variant 2012-03-20 13:48:44 +01:00
David A. Mellis 13e0b9335c Putting ArduinoISP back to 19200 baud.
From 9600.  And lowering the delay in the heartbeat from 40 to 20,
which seems to fix things again.
2012-03-15 19:02:08 -04:00
Zach Eveland 067cca7baa reduced delay before starting the Leonardo bootloader
Since we use a magic RAM flag to signal to the bootloader there's a risk of the sketch overwriting the magic RAM location before the bootloader starts.  By reducing the watchdog timeout we reduce the chance of this happening.
2012-03-14 18:17:22 -04:00
Zach Eveland a05a0d531b bugfix for Caterina not starting sketch if "verify upload" turned off in IDE.
Previously, if avrdude skipped the upload step the read while write memory might never be reenabled.  This would prevent the bootloader from ending and the sketch from starting - the bootloader just continued to run even after a successful upload.  Now enable RWW when we receive the AVR109 "Exit bootloader" 'E' command.  Had to disable lock bit changing support in the bootloader to free up flash for the change - will anyone miss it?
2012-03-14 17:48:11 -04:00
Zach Eveland 2a19c327bb changed Caterina timeout after self-programming to 500 ms (from 250 ms)
attempt to fix bug reported by Dave Mellis:
"avrdude: ser_close(): can’t reset attributes for device: Invalid argument"
is thrown after attempting an upload in the IDE (though the upload seems to be successful)
2012-03-14 17:07:14 -04:00
Zach Eveland 30421143f9 give Leonardo bootloader 250 ms to finish housekeeping before leaving self-programming mode
Earlier approach had bootloader end as soon as it was told to.  On Linux this caused problems with avrdude because the microcontroller never had a chance to send an acknowledgement.
2012-03-08 14:20:12 -05:00
Zach Eveland 33116711b0 removed old version of Leonardo's caterina bootloader, replaced with LUFA-based caterina 2012-03-08 13:47:42 -05:00
Cristian Maglie 177746aa7f Fix for some strange behaviours during board reset 2012-03-07 16:21:04 +01:00
Zach Eveland 18f08bc7d4 Added Keyboard support for all modifier and all common non-printing keys. 2012-03-03 23:37:39 -05:00
Zach Eveland aec3752e52 Removed support for key mapping in Keyboard.
Was no longer being used and would be damn near impossible to support with the new scheme for handling modifiers and non-printing keyboard characters.
2012-03-03 23:06:44 -05:00
Zach Eveland db82ab90eb added Keyboard methods press(), release(), and releaseAll()
Changes mean that a single, persistent key report must be used so keys can be added or removed.  Also reimplemented type() using the new methods.
2012-03-03 22:54:45 -05:00
Zach Eveland 8a35793794 Merge branch 'master' of github.com:arduino/Arduino into LUFA_bootloader
Conflicts:
	.gitignore
2012-03-03 13:28:39 -05:00
Zach Eveland 7387db0673 fixed minor compilation warnings for Leonardo 2012-03-03 13:26:57 -05:00
David A. Mellis f4f62f9a12 Small changes for the ATmega1284.
http://code.google.com/p/arduino/issues/detail?id=736
2012-03-02 18:58:53 -05:00
Zach Eveland 09aa8bd678 reduced Caterina timeout to 8 seconds from 16 2012-03-01 08:51:47 -05:00
Zach Eveland 93a47f884d changed auto-reset logic for Leonardo. only do WDT manipulation if the port is opened at 1200 bps. (Dave Mellis) 2012-03-01 08:51:16 -05:00
Zach Eveland f505a3da4c Merge branch 'master' of github.com:arduino/Arduino into LUFA_bootloader 2012-03-01 08:32:21 -05:00
David A. Mellis 7ab140700b Switching Mini w/ ATmega328 upload protocol from stk500 to arduino. 2012-02-29 17:25:46 -05:00
Cristian Maglie 5eef4ca79c Autoreset 1200 bps fix. 2012-02-27 17:41:38 +01:00
Zach Eveland ae23ed0570 shortened the watchdog period for resetting Leonardo from 2 s to 250 ms. Reset into bootloader is much snappier. 2012-02-22 22:33:44 -05:00
Zach Eveland 65ddc6c43b Merge branch 'master' of github.com:arduino/Arduino into LUFA_bootloader 2012-02-22 15:19:32 -05:00
Zach Eveland 4c3aa52258 Leonardo now checks whether bootloader should be run after a WDT event.
Before the sketch initiates an auto-reset for upload it pokes a magic word into a specific RAM address.  On starting the bootloader checks this address.  If it finds the magic word it knows the bootloader code should run. If not it jumps straight back to sketch.

Test in a sketch by adding to setup():
wdt_enable(WDTO_2S);

Sketch should upload, start, run for two seconds, WDT, and sketch should restart (not bootloader).

Had to cut out unused descriptor code to make the bootloader still fit in 4k.
2012-02-14 12:17:30 -05:00
Zach Eveland 94c09c2618 Changed Leonardo fuses to select longer clock startup time.
Done with the aim of discriminating more reliably between reset sources.
2012-02-14 10:00:55 -05:00
Zach Eveland 52b0c7214b Leonardo bootloader jumps straight to sketch for a power-on reset.
Disconnect programmer after burning bootloader to get the full effect.  ICSP and JTAG programmers do a hardware reset after any reset condition, confusing the firmware a little.
2012-02-14 09:59:48 -05:00
Cristian Maglie 9d4cb18f05 ARM: Fixed some compiling issues 2012-02-13 18:00:10 +01:00
Cristian Maglie 1479b2b4cf ARM: updated package preferences 2012-02-13 17:58:30 +01:00
Zach Eveland bab3c5eade Leonardo auto-reset-and-upload changes for Windows (explanation below)
On Windows COM port changes when board switched between bootloader and sketch.  No way to prevent this so now Windows users have to select the upload port separate from the comm port.  Also, handling of reset into bootloader was broken on Windows.  Would occasionally leave the original COM port completely unusable.  Changed the way this reset is initiated.
Finally, had to add upload.disable.flushing=true flag to boards.txt so IDE wouldn't try to flush the original COM port after it disappeared.
2012-02-13 00:56:06 -05:00
Zach Eveland 25a4fe8607 changed Leonardo bootloader and sketch PID values again (now 0x0701 for bootloader, 0x0801 for sketch) 2012-02-13 00:10:16 -05:00
David A. Mellis 0acebeeff4 prog_char -> char PROGMEM in Print.cpp
http://code.google.com/p/arduino/issues/detail?id=795
2012-02-12 19:52:03 -05:00
Zach Eveland c39793001c adjusting descriptors - trying to prevent sketch and bootloader from grabbing different COM numbers on Windows 2012-02-08 01:16:56 -05:00
Zach Eveland 4ee57f12e9 changed Caterina descriptors - Arduino LLC VID, new PID, manufacturer string, and serial number 2012-02-07 23:52:55 -05:00
Zach Eveland 5d53eed01a fixed bug in Caterina which caused some programming instructions to fail
Timer 1 interrupts were trashing self-programming timing.  Now disable Timer 1 compare match before doing Flash tasks and reenable afterward.
2012-02-07 23:46:31 -05:00
Zach Eveland f2d5ea87ad increased Leonardo bootloader timeout to 16 seconds 2012-02-06 15:23:41 -05:00
Cristian Maglie 043c190876 Upload size computation is now parametric 2012-02-06 00:51:24 +01:00
Cristian Maglie a141a1dc1e Upload/Program with configurable generic command line tools (wip) 2012-02-05 23:17:15 +01:00
Zach Eveland 5483adf8fe proper bootloader timeout and LED control in Leonardo bootloader 2012-02-03 23:15:04 -05:00
Zach Eveland 1e0700b536 fixed starting Leonardo bootloader from sketch
AvrdudeUploader class opens and closes Leonardo port at the magic baudrate before starting avrdude; reduced reset timeout from 250 ms to 15 ms
2012-02-03 21:42:46 -05:00
Zach Eveland 086ed6382c modify boards.txt with new settings for Caterina_LUFA 2012-02-03 20:24:24 -05:00
Zach Eveland 5eb7ad154b Merge branch 'master' of github.com:arduino/Arduino into LUFA_bootloader 2012-02-03 19:54:33 -05:00
David A. Mellis 915e4889e4 Making head and tail unsigned to avoid division in serial ISR.
http://code.google.com/p/arduino/issues/detail?id=776
2012-02-03 17:24:29 -05:00
Cristian Maglie 30ec90aca3 First attemp to generalize upload for mutiplatform IDE 2012-02-01 14:34:29 +01:00
Zach Eveland 1303b6fbba Caterina now cleanly hands off operation to the sketch
had to remove TIMER1 operation from bootloader - was interfering with normal sketch operation
2012-01-24 18:04:10 -05:00
Zach Eveland 6498b66059 move interrupt vector table to application section before jumping to it after upload finished. 2012-01-21 16:51:55 -05:00
Zach Eveland 73f6f2edd5 Leonardo bootloader checks reason for reset and jumps immediately to sketch if reset was caused by WDT 2012-01-21 16:39:06 -05:00
Zach Eveland 371b72c681 stripped all LUFA LED control. from LUFA-based Caterina 2012-01-19 21:31:51 -05:00
Zach Eveland 83c9f21667 changed fuses to select 4k bootloader for LUFA-based Caterina 2012-01-19 21:18:07 -05:00
Zach Eveland db397d5b35 added Board/LEDs.h to LUFA-based Caterina 2012-01-19 21:17:12 -05:00
Zach Eveland 98b0491fbd superficial changes to stock LUFA CDC bootloader - renamed project, removed unnecessary files 2012-01-19 20:31:35 -05:00
Zach Eveland 9c0352b22a initial checkin of LUFA 111009 CDC bootloader 2012-01-19 20:04:55 -05:00
Cristian Maglie 861aa9308b [arm] other refinements to platform.txt for sam3u 2012-01-13 20:41:01 +01:00
Cristian Maglie fe001fdaba Factored out some common build variables 2012-01-13 20:39:48 +01:00
Cristian Maglie 160fa18adb Fixed platforms.txt and corrected some paths for multiplatform IDE 2012-01-13 19:09:07 +01:00
Cristian Maglie 34d9004db7 disabled test projects (should be moved in another folder) 2012-01-13 18:14:58 +01:00
Cristian Maglie 47e8a813c8 Merge refinements 2012-01-11 13:59:16 +01:00
Cristian Maglie 1a92ce8fdb Moved 'sam' platform inside arduino package. 2012-01-11 13:46:51 +01:00
Cristian Maglie a50431e3a4 Merge branch 'new-extension' into HEAD
Conflicts:
	.classpath
	.settings/org.eclipse.jdt.core.prefs
	.settings/org.eclipse.jdt.ui.prefs
	app/src/processing/app/Base.java
	app/src/processing/app/Editor.java
	app/src/processing/app/Sketch.java
	app/src/processing/app/debug/Compiler.java
	build/build.xml
	build/shared/lib/preferences.txt
	hardware/arduino/avr/boards.txt
	hardware/arduino/avr/bootloaders/atmega/ATmegaBOOT_168.c
	hardware/arduino/avr/bootloaders/atmega/ATmegaBOOT_168_atmega1280.hex
	hardware/arduino/avr/bootloaders/atmega/ATmegaBOOT_168_atmega328.hex
	hardware/arduino/avr/bootloaders/atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex
	hardware/arduino/avr/bootloaders/atmega/ATmegaBOOT_168_diecimila.hex
	hardware/arduino/avr/bootloaders/atmega/ATmegaBOOT_168_ng.hex
	hardware/arduino/avr/bootloaders/atmega/ATmegaBOOT_168_pro_8MHz.hex
	hardware/arduino/avr/bootloaders/atmega/Makefile
	hardware/arduino/avr/bootloaders/atmega8/ATmegaBOOT.c
	hardware/arduino/avr/bootloaders/atmega8/ATmegaBOOT.hex
	hardware/arduino/avr/bootloaders/atmega8/Makefile
	hardware/arduino/avr/bootloaders/bt/ATmegaBOOT_168.c
	hardware/arduino/avr/bootloaders/bt/ATmegaBOOT_168.hex
	hardware/arduino/avr/bootloaders/bt/ATmegaBOOT_168_atmega328_bt.hex
	hardware/arduino/avr/bootloaders/bt/Makefile
	hardware/arduino/avr/bootloaders/lilypad/LilyPadBOOT_168.hex
	hardware/arduino/avr/bootloaders/lilypad/src/ATmegaBOOT.c
	hardware/arduino/avr/bootloaders/lilypad/src/Makefile
	hardware/arduino/avr/bootloaders/optiboot/optiboot.c
	hardware/arduino/avr/bootloaders/optiboot/optiboot_atmega328-Mini.hex
	hardware/arduino/avr/bootloaders/stk500v2/License.txt
	hardware/arduino/avr/bootloaders/stk500v2/Makefile
	hardware/arduino/avr/bootloaders/stk500v2/STK500V2.pnproj
	hardware/arduino/avr/bootloaders/stk500v2/STK500V2.pnps
	hardware/arduino/avr/bootloaders/stk500v2/avrinterruptnames.h
	hardware/arduino/avr/bootloaders/stk500v2/command.h
	hardware/arduino/avr/bootloaders/stk500v2/stk500boot.c
	hardware/arduino/avr/bootloaders/stk500v2/stk500boot.ppg
	hardware/arduino/avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex
	hardware/arduino/avr/cores/arduino/Arduino.h
	hardware/arduino/avr/cores/arduino/HardwareSerial.cpp
	hardware/arduino/avr/cores/arduino/HardwareSerial.h
	hardware/arduino/avr/cores/arduino/IPAddress.cpp
	hardware/arduino/avr/cores/arduino/IPAddress.h
	hardware/arduino/avr/cores/arduino/Printable.h
	hardware/arduino/avr/cores/arduino/Tone.cpp
	hardware/arduino/avr/cores/arduino/WCharacter.h
	hardware/arduino/avr/cores/arduino/WInterrupts.c
	hardware/arduino/avr/cores/arduino/WMath.cpp
	hardware/arduino/avr/cores/arduino/WString.cpp
	hardware/arduino/avr/cores/arduino/WString.h
	hardware/arduino/avr/cores/arduino/binary.h
	hardware/arduino/avr/cores/arduino/wiring.c
	hardware/arduino/avr/cores/arduino/wiring_analog.c
	hardware/arduino/avr/cores/arduino/wiring_digital.c
	hardware/arduino/avr/cores/arduino/wiring_private.h
	hardware/arduino/avr/cores/arduino/wiring_pulse.c
	hardware/arduino/avr/cores/arduino/wiring_shift.c
	hardware/arduino/avr/firmwares/MEGA-dfu_and_usbserial_combined.hex
	hardware/arduino/avr/firmwares/README.txt
	hardware/arduino/avr/firmwares/UNO-dfu_and_usbserial_combined.hex
	hardware/arduino/avr/firmwares/arduino-usbdfu/Arduino-usbdfu.c
	hardware/arduino/avr/firmwares/arduino-usbdfu/Arduino-usbdfu.h
	hardware/arduino/avr/firmwares/arduino-usbdfu/Board/LEDs.h
	hardware/arduino/avr/firmwares/arduino-usbdfu/Descriptors.c
	hardware/arduino/avr/firmwares/arduino-usbdfu/Descriptors.h
	hardware/arduino/avr/firmwares/arduino-usbdfu/makefile
	hardware/arduino/avr/firmwares/arduino-usbdfu/readme.txt
	hardware/arduino/avr/firmwares/arduino-usbserial/Arduino-usbserial-mega.hex
	hardware/arduino/avr/firmwares/arduino-usbserial/Arduino-usbserial-uno.hex
	hardware/arduino/avr/firmwares/arduino-usbserial/Arduino-usbserial.c
	hardware/arduino/avr/firmwares/arduino-usbserial/Arduino-usbserial.h
	hardware/arduino/avr/firmwares/arduino-usbserial/Board/LEDs.h
	hardware/arduino/avr/firmwares/arduino-usbserial/Descriptors.c
	hardware/arduino/avr/firmwares/arduino-usbserial/Descriptors.h
	hardware/arduino/avr/firmwares/arduino-usbserial/Lib/LightweightRingBuff.h
	hardware/arduino/avr/firmwares/arduino-usbserial/makefile
	hardware/arduino/avr/firmwares/arduino-usbserial/readme.txt
	hardware/arduino/avr/libraries/EEPROM/EEPROM.cpp
	hardware/arduino/avr/libraries/EEPROM/examples/eeprom_clear/eeprom_clear.ino
	hardware/arduino/avr/libraries/EEPROM/examples/eeprom_read/eeprom_read.ino
	hardware/arduino/avr/libraries/EEPROM/examples/eeprom_write/eeprom_write.ino
	hardware/arduino/avr/libraries/EEPROM/keywords.txt
	hardware/arduino/avr/libraries/Ethernet/Dhcp.cpp
	hardware/arduino/avr/libraries/Ethernet/Dhcp.h
	hardware/arduino/avr/libraries/Ethernet/Dns.cpp
	hardware/arduino/avr/libraries/Ethernet/Dns.h
	hardware/arduino/avr/libraries/Ethernet/Ethernet.cpp
	hardware/arduino/avr/libraries/Ethernet/Ethernet.h
	hardware/arduino/avr/libraries/Ethernet/EthernetClient.cpp
	hardware/arduino/avr/libraries/Ethernet/EthernetServer.cpp
	hardware/arduino/avr/libraries/Ethernet/EthernetUdp.cpp
	hardware/arduino/avr/libraries/Ethernet/EthernetUdp.h
	hardware/arduino/avr/libraries/Ethernet/examples/BarometricPressureWebServer/BarometricPressureWebServer.ino
	hardware/arduino/avr/libraries/Ethernet/examples/ChatServer/ChatServer.ino
	hardware/arduino/avr/libraries/Ethernet/examples/DhcpAddressPrinter/DhcpAddressPrinter.ino
	hardware/arduino/avr/libraries/Ethernet/examples/DnsWebClient/DnsWebClient.ino
	hardware/arduino/avr/libraries/Ethernet/examples/PachubeClient/PachubeClient.ino
	hardware/arduino/avr/libraries/Ethernet/examples/PachubeClientString/PachubeClientString.ino
	hardware/arduino/avr/libraries/Ethernet/examples/TelnetClient/TelnetClient.ino
	hardware/arduino/avr/libraries/Ethernet/examples/UDPSendReceiveString/UDPSendReceiveString.ino
	hardware/arduino/avr/libraries/Ethernet/examples/UdpNtpClient/UdpNtpClient.ino
	hardware/arduino/avr/libraries/Ethernet/examples/WebClient/WebClient.ino
	hardware/arduino/avr/libraries/Ethernet/examples/WebServer/WebServer.ino
	hardware/arduino/avr/libraries/Ethernet/keywords.txt
	hardware/arduino/avr/libraries/Ethernet/util.h
	hardware/arduino/avr/libraries/Ethernet/utility/socket.cpp
	hardware/arduino/avr/libraries/Ethernet/utility/socket.h
	hardware/arduino/avr/libraries/Ethernet/utility/w5100.cpp
	hardware/arduino/avr/libraries/Ethernet/utility/w5100.h
	hardware/arduino/avr/libraries/Firmata/Boards.h
	hardware/arduino/avr/libraries/Firmata/Firmata.cpp
	hardware/arduino/avr/libraries/Firmata/Firmata.h
	hardware/arduino/avr/libraries/Firmata/LICENSE.txt
	hardware/arduino/avr/libraries/Firmata/TODO.txt
	hardware/arduino/avr/libraries/Firmata/examples/AllInputsFirmata/AllInputsFirmata.ino
	hardware/arduino/avr/libraries/Firmata/examples/AnalogFirmata/AnalogFirmata.ino
	hardware/arduino/avr/libraries/Firmata/examples/EchoString/EchoString.ino
	hardware/arduino/avr/libraries/Firmata/examples/I2CFirmata/I2CFirmata.ino
	hardware/arduino/avr/libraries/Firmata/examples/OldStandardFirmata/LICENSE.txt
	hardware/arduino/avr/libraries/Firmata/examples/OldStandardFirmata/OldStandardFirmata.ino
	hardware/arduino/avr/libraries/Firmata/examples/ServoFirmata/ServoFirmata.ino
	hardware/arduino/avr/libraries/Firmata/examples/SimpleAnalogFirmata/SimpleAnalogFirmata.ino
	hardware/arduino/avr/libraries/Firmata/examples/SimpleDigitalFirmata/SimpleDigitalFirmata.ino
	hardware/arduino/avr/libraries/Firmata/examples/StandardFirmata/LICENSE.txt
	hardware/arduino/avr/libraries/Firmata/examples/StandardFirmata/StandardFirmata.ino
	hardware/arduino/avr/libraries/Firmata/keywords.txt
	hardware/arduino/avr/libraries/SD/File.cpp
	hardware/arduino/avr/libraries/SD/README.txt
	hardware/arduino/avr/libraries/SD/SD.cpp
	hardware/arduino/avr/libraries/SD/SD.h
	hardware/arduino/avr/libraries/SD/examples/CardInfo/CardInfo.ino
	hardware/arduino/avr/libraries/SD/examples/Datalogger/Datalogger.ino
	hardware/arduino/avr/libraries/SD/examples/DumpFile/DumpFile.ino
	hardware/arduino/avr/libraries/SD/examples/Files/Files.ino
	hardware/arduino/avr/libraries/SD/examples/ReadWrite/ReadWrite.ino
	hardware/arduino/avr/libraries/SD/examples/listfiles/listfiles.ino
	hardware/arduino/avr/libraries/SD/keywords.txt
	hardware/arduino/avr/libraries/SD/utility/FatStructs.h
	hardware/arduino/avr/libraries/SD/utility/Sd2Card.cpp
	hardware/arduino/avr/libraries/SD/utility/Sd2Card.h
	hardware/arduino/avr/libraries/SD/utility/Sd2PinMap.h
	hardware/arduino/avr/libraries/SD/utility/SdFat.h
	hardware/arduino/avr/libraries/SD/utility/SdFatUtil.h
	hardware/arduino/avr/libraries/SD/utility/SdFatmainpage.h
	hardware/arduino/avr/libraries/SD/utility/SdFile.cpp
	hardware/arduino/avr/libraries/SD/utility/SdInfo.h
	hardware/arduino/avr/libraries/SD/utility/SdVolume.cpp
	hardware/arduino/avr/libraries/SPI/SPI.cpp
	hardware/arduino/avr/libraries/SPI/SPI.h
	hardware/arduino/avr/libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor.ino
	hardware/arduino/avr/libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor/BarometricPressureSensor.ino
	hardware/arduino/avr/libraries/SPI/examples/DigitalPotControl/DigitalPotControl.ino
	hardware/arduino/avr/libraries/SPI/keywords.txt
	hardware/arduino/avr/libraries/Servo/Servo.cpp
	hardware/arduino/avr/libraries/Servo/Servo.h
	hardware/arduino/avr/libraries/Servo/examples/Knob/Knob.ino
	hardware/arduino/avr/libraries/Servo/examples/Sweep/Sweep.ino
	hardware/arduino/avr/libraries/Servo/keywords.txt
	hardware/arduino/avr/libraries/SoftwareSerial/SoftwareSerial.cpp
	hardware/arduino/avr/libraries/SoftwareSerial/SoftwareSerial.h
	hardware/arduino/avr/libraries/SoftwareSerial/examples/SoftwareSerialExample/SoftwareSerialExample.ino
	hardware/arduino/avr/libraries/SoftwareSerial/keywords.txt
	hardware/arduino/avr/libraries/Wire/Wire.cpp
	hardware/arduino/avr/libraries/Wire/Wire.h
	hardware/arduino/avr/libraries/Wire/examples/SFRRanger_reader/SFRRanger_reader.ino
	hardware/arduino/avr/libraries/Wire/examples/digital_potentiometer/digital_potentiometer.ino
	hardware/arduino/avr/libraries/Wire/examples/master_reader/master_reader.ino
	hardware/arduino/avr/libraries/Wire/examples/master_writer/master_writer.ino
	hardware/arduino/avr/libraries/Wire/examples/slave_receiver/slave_receiver.ino
	hardware/arduino/avr/libraries/Wire/examples/slave_sender/slave_sender.ino
	hardware/arduino/avr/libraries/Wire/keywords.txt
	hardware/arduino/avr/libraries/Wire/utility/twi.c
	hardware/arduino/avr/libraries/Wire/utility/twi.h
	hardware/arduino/avr/programmers.txt
	hardware/arduino/avr/variants/mega/pins_arduino.h
	hardware/arduino/avr/variants/micro/pins_arduino.h
	hardware/arduino/avr/variants/standard/pins_arduino.h
	hardware/arduino/boards.txt
	hardware/arduino/bootloaders/atmega/ATmegaBOOT_168.c
	hardware/arduino/bootloaders/atmega/ATmegaBOOT_168_atmega1280.hex
	hardware/arduino/bootloaders/atmega/ATmegaBOOT_168_atmega328.hex
	hardware/arduino/bootloaders/atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex
	hardware/arduino/bootloaders/atmega/ATmegaBOOT_168_diecimila.hex
	hardware/arduino/bootloaders/atmega/ATmegaBOOT_168_ng.hex
	hardware/arduino/bootloaders/atmega/ATmegaBOOT_168_pro_8MHz.hex
	hardware/arduino/bootloaders/atmega/Makefile
	hardware/arduino/bootloaders/atmega8/ATmegaBOOT.c
	hardware/arduino/bootloaders/atmega8/ATmegaBOOT.hex
	hardware/arduino/bootloaders/atmega8/Makefile
	hardware/arduino/bootloaders/bt/ATmegaBOOT_168.c
	hardware/arduino/bootloaders/bt/ATmegaBOOT_168.hex
	hardware/arduino/bootloaders/bt/ATmegaBOOT_168_atmega328_bt.hex
	hardware/arduino/bootloaders/bt/Makefile
	hardware/arduino/bootloaders/lilypad/LilyPadBOOT_168.hex
	hardware/arduino/bootloaders/lilypad/src/ATmegaBOOT.c
	hardware/arduino/bootloaders/lilypad/src/Makefile
	hardware/arduino/bootloaders/optiboot/optiboot.c
	hardware/arduino/bootloaders/optiboot/optiboot_atmega328_pro_8MHz.hex
	hardware/arduino/bootloaders/stk500v2/License.txt
	hardware/arduino/bootloaders/stk500v2/Makefile
	hardware/arduino/bootloaders/stk500v2/STK500V2.pnproj
	hardware/arduino/bootloaders/stk500v2/STK500V2.pnps
	hardware/arduino/bootloaders/stk500v2/avrinterruptnames.h
	hardware/arduino/bootloaders/stk500v2/command.h
	hardware/arduino/bootloaders/stk500v2/stk500boot.c
	hardware/arduino/bootloaders/stk500v2/stk500boot.ppg
	hardware/arduino/bootloaders/stk500v2/stk500boot_v2_mega2560.hex
	hardware/arduino/cores/arduino/Arduino.h
	hardware/arduino/cores/arduino/HardwareSerial.cpp
	hardware/arduino/cores/arduino/HardwareSerial.h
	hardware/arduino/cores/arduino/Stream.h
	hardware/arduino/cores/arduino/Tone.cpp
	hardware/arduino/cores/arduino/WCharacter.h
	hardware/arduino/cores/arduino/WInterrupts.c
	hardware/arduino/cores/arduino/WMath.cpp
	hardware/arduino/cores/arduino/WString.cpp
	hardware/arduino/cores/arduino/WString.h
	hardware/arduino/cores/arduino/binary.h
	hardware/arduino/cores/arduino/wiring.c
	hardware/arduino/cores/arduino/wiring_analog.c
	hardware/arduino/cores/arduino/wiring_digital.c
	hardware/arduino/cores/arduino/wiring_private.h
	hardware/arduino/cores/arduino/wiring_pulse.c
	hardware/arduino/cores/arduino/wiring_shift.c
	hardware/arduino/firmwares/MEGA-dfu_and_usbserial_combined.hex
	hardware/arduino/firmwares/README.txt
	hardware/arduino/firmwares/UNO-dfu_and_usbserial_combined.hex
	hardware/arduino/firmwares/arduino-usbdfu/Arduino-usbdfu.c
	hardware/arduino/firmwares/arduino-usbdfu/Arduino-usbdfu.h
	hardware/arduino/firmwares/arduino-usbdfu/Board/LEDs.h
	hardware/arduino/firmwares/arduino-usbdfu/Descriptors.c
	hardware/arduino/firmwares/arduino-usbdfu/Descriptors.h
	hardware/arduino/firmwares/arduino-usbdfu/makefile
	hardware/arduino/firmwares/arduino-usbdfu/readme.txt
	hardware/arduino/firmwares/arduino-usbserial/Arduino-usbserial-mega.hex
	hardware/arduino/firmwares/arduino-usbserial/Arduino-usbserial-uno.hex
	hardware/arduino/firmwares/arduino-usbserial/Arduino-usbserial.c
	hardware/arduino/firmwares/arduino-usbserial/Arduino-usbserial.h
	hardware/arduino/firmwares/arduino-usbserial/Board/LEDs.h
	hardware/arduino/firmwares/arduino-usbserial/Descriptors.c
	hardware/arduino/firmwares/arduino-usbserial/Descriptors.h
	hardware/arduino/firmwares/arduino-usbserial/Lib/LightweightRingBuff.h
	hardware/arduino/firmwares/arduino-usbserial/makefile
	hardware/arduino/firmwares/arduino-usbserial/readme.txt
	hardware/arduino/pins/mega/pins_arduino.h
	hardware/arduino/pins/standard/pins_arduino.h
	hardware/arduino/programmers.txt
	hardware/avr/boards.txt
	hardware/avr/bootloaders/atmega/ATmegaBOOT_168.c
	hardware/avr/bootloaders/atmega/ATmegaBOOT_168_atmega1280.hex
	hardware/avr/bootloaders/atmega/ATmegaBOOT_168_atmega328.hex
	hardware/avr/bootloaders/atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex
	hardware/avr/bootloaders/atmega/ATmegaBOOT_168_diecimila.hex
	hardware/avr/bootloaders/atmega/ATmegaBOOT_168_ng.hex
	hardware/avr/bootloaders/atmega/ATmegaBOOT_168_pro_8MHz.hex
	hardware/avr/bootloaders/atmega/Makefile
	hardware/avr/bootloaders/atmega8/ATmegaBOOT.c
	hardware/avr/bootloaders/atmega8/ATmegaBOOT.hex
	hardware/avr/bootloaders/atmega8/Makefile
	hardware/avr/bootloaders/bt/ATmegaBOOT_168.c
	hardware/avr/bootloaders/bt/ATmegaBOOT_168.hex
	hardware/avr/bootloaders/bt/ATmegaBOOT_168_atmega328_bt.hex
	hardware/avr/bootloaders/bt/Makefile
	hardware/avr/bootloaders/lilypad/LilyPadBOOT_168.hex
	hardware/avr/bootloaders/lilypad/src/ATmegaBOOT.c
	hardware/avr/bootloaders/lilypad/src/Makefile
	hardware/avr/bootloaders/optiboot/Makefile
	hardware/avr/bootloaders/optiboot/makeall
	hardware/avr/bootloaders/optiboot/optiboot.c
	hardware/avr/bootloaders/optiboot/optiboot_atmega328.hex
	hardware/avr/bootloaders/optiboot/optiboot_atmega328.lst
	hardware/avr/bootloaders/optiboot/optiboot_atmega328_pro_8MHz.hex
	hardware/avr/bootloaders/optiboot/optiboot_atmega328_pro_8MHz.lst
	hardware/avr/bootloaders/optiboot/optiboot_diecimila.hex
	hardware/avr/bootloaders/optiboot/optiboot_diecimila.lst
	hardware/avr/bootloaders/optiboot/optiboot_lilypad.hex
	hardware/avr/bootloaders/optiboot/optiboot_lilypad.lst
	hardware/avr/bootloaders/optiboot/optiboot_lilypad_resonator.hex
	hardware/avr/bootloaders/optiboot/optiboot_lilypad_resonator.lst
	hardware/avr/bootloaders/optiboot/optiboot_luminet.hex
	hardware/avr/bootloaders/optiboot/optiboot_luminet.lst
	hardware/avr/bootloaders/optiboot/optiboot_pro_16MHz.hex
	hardware/avr/bootloaders/optiboot/optiboot_pro_16MHz.lst
	hardware/avr/bootloaders/optiboot/optiboot_pro_20mhz.hex
	hardware/avr/bootloaders/optiboot/optiboot_pro_20mhz.lst
	hardware/avr/bootloaders/optiboot/optiboot_pro_8MHz.hex
	hardware/avr/bootloaders/optiboot/optiboot_pro_8MHz.lst
	hardware/avr/bootloaders/stk500v2/License.txt
	hardware/avr/bootloaders/stk500v2/Makefile
	hardware/avr/bootloaders/stk500v2/STK500V2.pnproj
	hardware/avr/bootloaders/stk500v2/STK500V2.pnps
	hardware/avr/bootloaders/stk500v2/avrinterruptnames.h
	hardware/avr/bootloaders/stk500v2/command.h
	hardware/avr/bootloaders/stk500v2/stk500boot.c
	hardware/avr/bootloaders/stk500v2/stk500boot.ppg
	hardware/avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex
	hardware/avr/cores/arduino/Arduino.h
	hardware/avr/cores/arduino/HardwareSerial.cpp
	hardware/avr/cores/arduino/HardwareSerial.h
	hardware/avr/cores/arduino/Print.cpp
	hardware/avr/cores/arduino/Print.h
	hardware/avr/cores/arduino/Stream.h
	hardware/avr/cores/arduino/WCharacter.h
	hardware/avr/cores/arduino/WInterrupts.c
	hardware/avr/cores/arduino/WMath.cpp
	hardware/avr/cores/arduino/WString.cpp
	hardware/avr/cores/arduino/WString.h
	hardware/avr/cores/arduino/main.cpp
	hardware/avr/cores/arduino/wiring.c
	hardware/avr/cores/arduino/wiring_analog.c
	hardware/avr/cores/arduino/wiring_digital.c
	hardware/avr/cores/arduino/wiring_private.h
	hardware/avr/cores/arduino/wiring_pulse.c
	hardware/avr/cores/arduino/wiring_shift.c
	hardware/avr/firmwares/MEGA-dfu_and_usbserial_combined.hex
	hardware/avr/firmwares/README.txt
	hardware/avr/firmwares/UNO-dfu_and_usbserial_combined.hex
	hardware/avr/firmwares/arduino-usbdfu/Arduino-usbdfu.c
	hardware/avr/firmwares/arduino-usbdfu/Arduino-usbdfu.h
	hardware/avr/firmwares/arduino-usbdfu/Board/LEDs.h
	hardware/avr/firmwares/arduino-usbdfu/Descriptors.c
	hardware/avr/firmwares/arduino-usbdfu/Descriptors.h
	hardware/avr/firmwares/arduino-usbdfu/makefile
	hardware/avr/firmwares/arduino-usbdfu/readme.txt
	hardware/avr/firmwares/arduino-usbserial/Arduino-usbserial-mega.hex
	hardware/avr/firmwares/arduino-usbserial/Arduino-usbserial-uno.hex
	hardware/avr/firmwares/arduino-usbserial/Arduino-usbserial.c
	hardware/avr/firmwares/arduino-usbserial/Arduino-usbserial.h
	hardware/avr/firmwares/arduino-usbserial/Board/LEDs.h
	hardware/avr/firmwares/arduino-usbserial/Descriptors.c
	hardware/avr/firmwares/arduino-usbserial/Descriptors.h
	hardware/avr/firmwares/arduino-usbserial/Lib/LightweightRingBuff.h
	hardware/avr/firmwares/arduino-usbserial/makefile
	hardware/avr/firmwares/arduino-usbserial/readme.txt
	hardware/avr/libraries/EEPROM/EEPROM.cpp
	hardware/avr/libraries/EEPROM/EEPROM.h
	hardware/avr/libraries/EEPROM/examples/eeprom_clear/eeprom_clear.pde
	hardware/avr/libraries/EEPROM/examples/eeprom_read/eeprom_read.pde
	hardware/avr/libraries/EEPROM/examples/eeprom_write/eeprom_write.pde
	hardware/avr/libraries/EEPROM/keywords.txt
	hardware/avr/libraries/Ethernet/Client.cpp
	hardware/avr/libraries/Ethernet/Client.h
	hardware/avr/libraries/Ethernet/Dhcp.cpp
	hardware/avr/libraries/Ethernet/Dhcp.h
	hardware/avr/libraries/Ethernet/Dns.cpp
	hardware/avr/libraries/Ethernet/Dns.h
	hardware/avr/libraries/Ethernet/Ethernet.cpp
	hardware/avr/libraries/Ethernet/Ethernet.h
	hardware/avr/libraries/Ethernet/IPAddress.cpp
	hardware/avr/libraries/Ethernet/IPAddress.h
	hardware/avr/libraries/Ethernet/Server.cpp
	hardware/avr/libraries/Ethernet/Server.h
	hardware/avr/libraries/Ethernet/Udp.cpp
	hardware/avr/libraries/Ethernet/Udp.h
	hardware/avr/libraries/Ethernet/examples/BarometricPressureWebServer/BarometricPressureWebServer.pde
	hardware/avr/libraries/Ethernet/examples/ChatServer/ChatServer.pde
	hardware/avr/libraries/Ethernet/examples/DhcpAddressPrinter/DhcpAddressPrinter.pde
	hardware/avr/libraries/Ethernet/examples/DnsWebClient/DnsWebClient.pde
	hardware/avr/libraries/Ethernet/examples/PachubeClient/PachubeClient.pde
	hardware/avr/libraries/Ethernet/examples/PachubeClientString/PachubeClientString.pde
	hardware/avr/libraries/Ethernet/examples/TelnetClient/TelnetClient.pde
	hardware/avr/libraries/Ethernet/examples/UDPSendReceiveString/UDPSendReceiveString.pde
	hardware/avr/libraries/Ethernet/examples/UdpNtpClient/UdpNtpClient.pde
	hardware/avr/libraries/Ethernet/examples/WebClient/WebClient.pde
	hardware/avr/libraries/Ethernet/examples/WebServer/WebServer.pde
	hardware/avr/libraries/Ethernet/keywords.txt
	hardware/avr/libraries/Ethernet/util.h
	hardware/avr/libraries/Ethernet/utility/socket.cpp
	hardware/avr/libraries/Ethernet/utility/socket.h
	hardware/avr/libraries/Ethernet/utility/w5100.cpp
	hardware/avr/libraries/Ethernet/utility/w5100.h
	hardware/avr/libraries/Firmata/Boards.h
	hardware/avr/libraries/Firmata/Firmata.cpp
	hardware/avr/libraries/Firmata/Firmata.h
	hardware/avr/libraries/Firmata/LICENSE.txt
	hardware/avr/libraries/Firmata/TODO.txt
	hardware/avr/libraries/Firmata/examples/AllInputsFirmata/AllInputsFirmata.pde
	hardware/avr/libraries/Firmata/examples/AnalogFirmata/AnalogFirmata.pde
	hardware/avr/libraries/Firmata/examples/AnalogFirmata/Makefile
	hardware/avr/libraries/Firmata/examples/EchoString/EchoString.pde
	hardware/avr/libraries/Firmata/examples/EchoString/Makefile
	hardware/avr/libraries/Firmata/examples/I2CFirmata/I2CFirmata.pde
	hardware/avr/libraries/Firmata/examples/OldStandardFirmata/LICENSE.txt
	hardware/avr/libraries/Firmata/examples/OldStandardFirmata/OldStandardFirmata.pde
	hardware/avr/libraries/Firmata/examples/ServoFirmata/Makefile
	hardware/avr/libraries/Firmata/examples/ServoFirmata/ServoFirmata.pde
	hardware/avr/libraries/Firmata/examples/SimpleAnalogFirmata/Makefile
	hardware/avr/libraries/Firmata/examples/SimpleAnalogFirmata/SimpleAnalogFirmata.pde
	hardware/avr/libraries/Firmata/examples/SimpleDigitalFirmata/Makefile
	hardware/avr/libraries/Firmata/examples/SimpleDigitalFirmata/SimpleDigitalFirmata.pde
	hardware/avr/libraries/Firmata/examples/StandardFirmata/LICENSE.txt
	hardware/avr/libraries/Firmata/examples/StandardFirmata/Makefile
	hardware/avr/libraries/Firmata/examples/StandardFirmata/StandardFirmata.pde
	hardware/avr/libraries/Firmata/examples/StandardFirmata_2_2_forUNO_0_3/StandardFirmata_2_2_forUNO_0_3.pde
	hardware/avr/libraries/Firmata/keywords.txt
	hardware/avr/libraries/SD/File.cpp
	hardware/avr/libraries/SD/README.txt
	hardware/avr/libraries/SD/SD.cpp
	hardware/avr/libraries/SD/SD.h
	hardware/avr/libraries/SD/examples/CardInfo/CardInfo.pde
	hardware/avr/libraries/SD/examples/Datalogger/Datalogger.pde
	hardware/avr/libraries/SD/examples/DumpFile/DumpFile.pde
	hardware/avr/libraries/SD/examples/Files/Files.pde
	hardware/avr/libraries/SD/examples/ReadWrite/ReadWrite.pde
	hardware/avr/libraries/SD/examples/listfiles/listfiles.pde
	hardware/avr/libraries/SD/keywords.txt
	hardware/avr/libraries/SD/utility/FatStructs.h
	hardware/avr/libraries/SD/utility/Sd2Card.cpp
	hardware/avr/libraries/SD/utility/Sd2Card.h
	hardware/avr/libraries/SD/utility/Sd2PinMap.h
	hardware/avr/libraries/SD/utility/SdFat.h
	hardware/avr/libraries/SD/utility/SdFatUtil.h
	hardware/avr/libraries/SD/utility/SdFatmainpage.h
	hardware/avr/libraries/SD/utility/SdFile.cpp
	hardware/avr/libraries/SD/utility/SdInfo.h
	hardware/avr/libraries/SD/utility/SdVolume.cpp
	hardware/avr/libraries/SPI/SPI.cpp
	hardware/avr/libraries/SPI/SPI.h
	hardware/avr/libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor/BarometricPressureSensor.pde
	hardware/avr/libraries/Servo/Servo.cpp
	hardware/avr/libraries/Servo/Servo.h
	hardware/avr/libraries/Servo/examples/Knob/Knob.pde
	hardware/avr/libraries/Servo/examples/Sweep/Sweep.pde
	hardware/avr/libraries/Servo/keywords.txt
	hardware/avr/libraries/SoftwareSerial/SoftwareSerial.cpp
	hardware/avr/libraries/SoftwareSerial/SoftwareSerial.h
	hardware/avr/libraries/SoftwareSerial/examples/SoftwareSerialExample/SoftwareSerialExample.ino
	hardware/avr/libraries/SoftwareSerial/examples/TwoPortRXExample/TwoPortRXExample.pde
	hardware/avr/libraries/SoftwareSerial/icrmacros.h
	hardware/avr/libraries/SoftwareSerial/keywords.txt
	hardware/avr/libraries/Wire/Wire.cpp
	hardware/avr/libraries/Wire/Wire.h
	hardware/avr/libraries/Wire/utility/twi.c
	hardware/avr/libraries/Wire/utility/twi.h
	hardware/avr/programmers.txt
	hardware/avr/variants/mega/pins_arduino.h
	hardware/avr/variants/standard/pins_arduino.h
	hardware/sam/cores/sam/Tone.cpp.disabled
	hardware/sam/cores/sam/binary.h
	hardware/sam/libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor.pde
	hardware/sam/libraries/SPI/examples/DigitalPotControl/DigitalPotControl.pde
	hardware/sam/libraries/SPI/keywords.txt
	hardware/sam/libraries/Wire/examples/SFRRanger_reader/SFRRanger_reader.pde
	hardware/sam/libraries/Wire/examples/digital_potentiometer/digital_potentiometer.pde
	hardware/sam/libraries/Wire/examples/master_reader/master_reader.pde
	hardware/sam/libraries/Wire/examples/master_writer/master_writer.pde
	hardware/sam/libraries/Wire/examples/slave_receiver/slave_receiver.pde
	hardware/sam/libraries/Wire/examples/slave_sender/slave_sender.pde
	hardware/sam/libraries/Wire/keywords.txt
	libraries/EEPROM/EEPROM.cpp
	libraries/EEPROM/EEPROM.h
	libraries/EEPROM/examples/eeprom_clear/eeprom_clear.pde
	libraries/EEPROM/examples/eeprom_read/eeprom_read.pde
	libraries/EEPROM/examples/eeprom_write/eeprom_write.pde
	libraries/EEPROM/keywords.txt
	libraries/Ethernet/Client.cpp
	libraries/Ethernet/Dhcp.cpp
	libraries/Ethernet/Dhcp.h
	libraries/Ethernet/Dns.cpp
	libraries/Ethernet/Dns.h
	libraries/Ethernet/Ethernet.cpp
	libraries/Ethernet/Ethernet.h
	libraries/Ethernet/IPAddress.cpp
	libraries/Ethernet/IPAddress.h
	libraries/Ethernet/Server.cpp
	libraries/Ethernet/Udp.cpp
	libraries/Ethernet/Udp.h
	libraries/Ethernet/examples/BarometricPressureWebServer/BarometricPressureWebServer.pde
	libraries/Ethernet/examples/ChatServer/ChatServer.pde
	libraries/Ethernet/examples/DhcpAddressPrinter/DhcpAddressPrinter.pde
	libraries/Ethernet/examples/DnsWebClient/DnsWebClient.pde
	libraries/Ethernet/examples/PachubeClient/PachubeClient.pde
	libraries/Ethernet/examples/PachubeClientString/PachubeClientString.pde
	libraries/Ethernet/examples/TelnetClient/TelnetClient.pde
	libraries/Ethernet/examples/UDPSendReceiveString/UDPSendReceiveString.pde
	libraries/Ethernet/examples/UdpNtpClient/UdpNtpClient.pde
	libraries/Ethernet/examples/WebClient/WebClient.pde
	libraries/Ethernet/examples/WebServer/WebServer.pde
	libraries/Ethernet/keywords.txt
	libraries/Ethernet/util.h
	libraries/Ethernet/utility/socket.cpp
	libraries/Ethernet/utility/socket.h
	libraries/Ethernet/utility/w5100.cpp
	libraries/Ethernet/utility/w5100.h
	libraries/Firmata/Boards.h
	libraries/Firmata/Firmata.cpp
	libraries/Firmata/Firmata.h
	libraries/Firmata/LICENSE.txt
	libraries/Firmata/TODO.txt
	libraries/Firmata/examples/AllInputsFirmata/AllInputsFirmata.pde
	libraries/Firmata/examples/AnalogFirmata/AnalogFirmata.pde
	libraries/Firmata/examples/EchoString/EchoString.pde
	libraries/Firmata/examples/I2CFirmata/I2CFirmata.pde
	libraries/Firmata/examples/OldStandardFirmata/LICENSE.txt
	libraries/Firmata/examples/OldStandardFirmata/OldStandardFirmata.pde
	libraries/Firmata/examples/ServoFirmata/ServoFirmata.pde
	libraries/Firmata/examples/SimpleAnalogFirmata/SimpleAnalogFirmata.pde
	libraries/Firmata/examples/SimpleDigitalFirmata/SimpleDigitalFirmata.pde
	libraries/Firmata/examples/StandardFirmata/LICENSE.txt
	libraries/Firmata/examples/StandardFirmata_2_2_forUNO_0_3/StandardFirmata_2_2_forUNO_0_3.pde
	libraries/Firmata/keywords.txt
	libraries/SD/File.cpp
	libraries/SD/README.txt
	libraries/SD/SD.cpp
	libraries/SD/SD.h
	libraries/SD/examples/CardInfo/CardInfo.pde
	libraries/SD/examples/Datalogger/Datalogger.pde
	libraries/SD/examples/DumpFile/DumpFile.pde
	libraries/SD/examples/Files/Files.pde
	libraries/SD/examples/ReadWrite/ReadWrite.pde
	libraries/SD/examples/listfiles/listfiles.pde
	libraries/SD/keywords.txt
	libraries/SD/utility/FatStructs.h
	libraries/SD/utility/Sd2Card.cpp
	libraries/SD/utility/Sd2Card.h
	libraries/SD/utility/Sd2PinMap.h
	libraries/SD/utility/SdFat.h
	libraries/SD/utility/SdFatUtil.h
	libraries/SD/utility/SdFatmainpage.h
	libraries/SD/utility/SdFile.cpp
	libraries/SD/utility/SdInfo.h
	libraries/SD/utility/SdVolume.cpp
	libraries/SPI/SPI.cpp
	libraries/SPI/SPI.h
	libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor.pde
	libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor/BarometricPressureSensor.pde
	libraries/SPI/examples/DigitalPotControl/DigitalPotControl.pde
	libraries/SPI/keywords.txt
	libraries/Servo/Servo.cpp
	libraries/Servo/Servo.h
	libraries/Servo/examples/Knob/Knob.pde
	libraries/Servo/examples/Sweep/Sweep.pde
	libraries/Servo/keywords.txt
	libraries/SoftwareSerial/SoftwareSerial.cpp
	libraries/SoftwareSerial/SoftwareSerial.h
	libraries/SoftwareSerial/examples/SoftwareSerialExample/SoftwareSerialExample.ino
	libraries/SoftwareSerial/keywords.txt
	libraries/Wire/Wire.cpp
	libraries/Wire/Wire.h
	libraries/Wire/examples/SFRRanger_reader/SFRRanger_reader.pde
	libraries/Wire/examples/digital_potentiometer/digital_potentiometer.pde
	libraries/Wire/examples/master_reader/master_reader.pde
	libraries/Wire/examples/master_writer/master_writer.pde
	libraries/Wire/examples/slave_receiver/slave_receiver.pde
	libraries/Wire/examples/slave_sender/slave_sender.pde
	libraries/Wire/keywords.txt
	libraries/Wire/utility/twi.c
	libraries/Wire/utility/twi.h
2012-01-11 13:45:31 +01:00
Zach Eveland 0fc76a6b87 made Leonardo and Micro bootloader PIDs same as sketch PIDs 2012-01-10 21:23:01 -05:00
Zach Eveland 2dfb0dce2c restored composite and non-composite device descriptors (removed in 4b05c3fc75)
Windows wants to see both types of device descriptors.
2012-01-10 20:52:57 -05:00
Zach Eveland 77b40e6bba reenabled HID to force Leonardo bootloader to enumerate as a composite device 2012-01-10 17:04:32 -05:00
Zach Eveland 932afb8428 renamed DiskLoader to Caterina (after Leonardo's mom) 2012-01-10 16:29:47 -05:00
Zach Eveland 99fea13f84 changed USB PID for Leonardo and Micro bootloaders
sketch and bootloader will use different PIDs to distinguish one from the other.
2012-01-10 16:09:56 -05:00
Zach Eveland 48ed974834 fixed warning when comparing pgm_read_word(0) to -1 (thanks, Limor Fried and Phillip Torrone) 2012-01-10 16:00:46 -05:00
Zach Eveland e3b89d178d got rid of u8, u16, u32 typedefs in Diskloader
done to bring types in line with others in Arduino core
2012-01-10 15:51:44 -05:00
Zach Eveland f403b001a2 made the bootloader's LED control macro names less offensive
TX_LED_OFF() instead of TXLED0, etc.
2012-01-10 15:38:26 -05:00
Zach Eveland 4b05c3fc75 added conditional compilation for HID, removed conditional compilation for CDC (is always used). disabled HID by default. also always enumerates as composite now.
the bootloader must always have a CDC interface.  HID is optional and not even complete to reduce size.
2012-01-10 15:31:56 -05:00
Zach Eveland 015044add5 fix bug in handling of long descriptors for bootloader USB (thank you, Todd Krein, Limor Fried, and Phillip Torrone)
descriptors longer than 255 bytes were being shortened, causing problems with enumeration under Windows
2012-01-10 14:25:40 -05:00
Zach Eveland 2622ad5580 Merge branch 'master' of github.com:arduino/Arduino into new-extension 2012-01-10 12:02:27 -05:00
Cristian Maglie 742f59ac98 Disable PDC controller during TWI init. 2012-01-09 18:53:46 +01:00
Cristian Maglie c2d1de3844 Removed unused/unuseful defines from platform.txt 2012-01-09 18:51:51 +01:00
David A. Mellis 11281ec77e Adding links to documentation of boards.txt and programmers.txt files. 2012-01-04 16:01:52 -05:00
Cristian Maglie 57b8713cab Moved libraries folder inside platform folder. Now libraries and examples are searched per board/platform 2012-01-04 15:14:51 +01:00
David A. Mellis 76c964d32b Adding INPUT_PULLUP option pinMode(). (Paul Stoffregen).
This also changes pinMode(pin, INPUT); to explicitly disable the pull-up resistor, even if it was previously set.

http://code.google.com/p/arduino/issues/detail?id=246
2012-01-02 14:20:28 -05:00
David A. Mellis 5088b09f2d Fixing findUntil() problem with repeated initial characters. (Jeffery.zksun)
http://code.google.com/p/arduino/issues/detail?id=768
2012-01-02 13:49:59 -05:00
Cristian Maglie 387e6b63c7 Renamed platforms.txt to platform.txt 2012-01-02 19:11:57 +01:00
David A. Mellis cce4ef7c69 Fixing warnings (unsigned comparisons to 0). (maniacbug) 2012-01-02 12:57:23 -05:00
David A. Mellis c441bc1a0d Fixing static is not at beginning of declaration warnings (maniacbug). 2012-01-02 12:38:23 -05:00
Cristian Maglie 06b6d060db Removed implicit xxxx.platform=avr from boards.txt 2012-01-02 17:02:04 +01:00
Zach Eveland f39ec37722 reset the Leonardo board when leaving the bootloader, before starting the sketch
Done so all IO and other registers are properly reinitialized when a new sketch is uploaded or when an existing sketch is started.  Uses a watchdog timeout with a 15 ms period to accomplish the reset.  Bootloader checks the reason for reset and only enumerates as bootloader and enters the programming loop if reset was NOT caused by WDT.
2011-12-31 12:19:08 -05:00
Cristian Maglie 5ad4422fc7 Merge remote-tracking branch 'arduino/master' into platforms-b 2011-12-31 17:29:36 +01:00
Zach Eveland 8f9ec88f57 Merge branch 'master' of github.com:arduino/Arduino into new-extension 2011-12-31 11:21:44 -05:00
Cristian Maglie abe41d805d platforms.txt recipes now have symbolic variables instead of indexes ({0},{1},etc.)
Recipes arguments are splitted with spaces instead of |. Single argument containing spaces
should be placed between "double quotes".
Refactored and formatted Compiler class, removed all unused code in comments.
2011-12-31 14:32:48 +01:00
David A. Mellis f520bb5051 Simplifying microseconds <-> clock cycles conversions. (Rob Tillaart)
This should fix problems with overflows in pulseIn().  It may make millis() slightly less precise for clock speeds that aren't multiple of 1 million, but we don't really support those anyway.

http://code.google.com/p/arduino/issues/detail?id=675
2011-12-30 18:05:12 -05:00
Cristian Maglie 1b3ae5fa63 Created second level in hardware folder: hardware/PACKAGE/PLATFORM/...
Made some helper class for files filtering.
platforms.txt now contains only one platform at a time.
Some cleanup in Compiler and AvrDudeUploader classes.
2011-12-30 15:46:04 +01:00
David A. Mellis 80a2154279 Fixing ArduinoISP sketch by lowering baud rate to 9600 (from 19200).
http://code.google.com/p/arduino/issues/detail?id=661
2011-12-28 18:43:36 -05:00
Zach Eveland bdf7107507 bootloader merged with blink sketch
full set of descriptors in sketch fixes driver installation issue on Win7.
2011-12-26 17:19:48 -05:00
Cristian Maglie 668345cdf3 USB Core porting WIP 2011-12-22 21:29:14 +01:00
Cristian Maglie e63c2d1429 Various post-merge refinements. 2011-12-22 13:07:39 +01:00
Cristian Maglie 65c15d93eb Merge commit 'fcbbf8f4b4960bae1091c0cd9dc58b4a1885baf6' into platforms-b
Conflicts:
	app/src/processing/app/Base.java
	app/src/processing/app/debug/Compiler.java
	build/build.xml
	hardware/arduino/boards.txt
2011-12-22 00:35:33 +01:00
Zach Eveland 20e7f2d354 changed Keyboard write() method to type(). Made write() an alias for type() to allow subclassing by Stream. 2011-12-20 17:09:44 -05:00
Zach Eveland 20564fb1d0 Revert "changed Keyboard write() method to type(). Made write() an alias for type() to allow subclassing by Stream."
This reverts commit de1d5fc0cb.
2011-12-20 17:08:07 -05:00
Zach Eveland de1d5fc0cb changed Keyboard write() method to type(). Made write() an alias for type() to allow subclassing by Stream. 2011-12-20 17:00:19 -05:00
Zach Eveland d874bc9832 fixed attachInterrupt() on Leonardo
had to define a separate block for the 32U4 since it looks like a Mega-series board based on a simple register trick.  Only two useable HW interrupts though, compared to the Megas' 8, and numbering differs.
2011-12-19 15:40:12 -05:00
Zach Eveland fd28193336 added asynchronous buffering of received CDC characters
This fixes the issue Federico reported where bytes written by host but not read by sketch would cause serial connection to lock up.  Ring buffer implementation is based on HardwareSerial.cpp.

Adds public accept() method to CDC.
2011-12-18 17:52:35 -05:00
Zach Eveland 6a44faedbb fixed digitalWrite on timer 4 pins (D6 and D13) 2011-12-18 14:18:38 -05:00
Zach Eveland 4b358f21d9 fix bootloader size in boards.txt - 2 kB instead of 4 kB 2011-12-18 12:52:30 -05:00
Cristian Maglie 7d7da2d826 analogWrite() with Timer Counter device 2011-12-14 13:35:58 +01:00
Zach Eveland 699315c359 fixed TIMER4 use on Leonardo
ATMEGA32U4 has major differences in TIMER4 registers compared to ATMEGA1280 and 2560.  turnOffPWM, analogWrite, and initialize routines had wrong registers, bit names, etc.
2011-12-11 19:56:50 -05:00
Cristian Maglie d07099d090 First PWM draft, independent duty cycle for high and low channel should
be done.
2011-12-07 00:22:03 +01:00
Cristian Maglie fdcb017d41 SPI initialization fix. Seems working need more testing 2011-12-05 19:21:19 +01:00
Cristian Maglie e484f0712a Fixed USARTClass 2011-12-05 14:28:51 +01:00
David A. Mellis eb380de972 Updated reference voltage defines for ATmega1284P.
http://code.google.com/p/arduino/issues/detail?id=728
2011-12-02 17:18:15 -05:00
David A. Mellis d7d0e304d5 Support 3rd external interrupt on ATmega1284P (maniacbug)
http://code.google.com/p/arduino/issues/detail?id=728
2011-12-02 17:17:27 -05:00
David A. Mellis 0d70c7272e Fixing delayMicroseconds() timing for 20 MHz clocks. (Erdem U. Altinyurt)
http://code.google.com/p/arduino/issues/detail?id=306
2011-12-02 17:04:20 -05:00
Cristian Maglie 5a238022a3 SPI lib (WIP) 2011-12-02 16:29:50 +01:00
Cristian Maglie 906bb28f9e Applied to UsartClass the same fix adopted for UartClass 2011-12-01 15:50:37 +01:00
David A. Mellis dca1dc429a Removing Leonardo (and Mouse/Keyboard examples) for Arduino 1.0 release.
These will return, but the code isn't finished yet so I don't want to include it.
2011-11-28 18:47:45 -05:00
Cristian Maglie 037ecd3e3e Fixed 'shaking' readings from ADC/ADC12 2011-11-27 19:15:33 +01:00
David A. Mellis 3df132aea9 Correcting Arduino Mini w/ ATmega328 bootloader file and fuses (untested). 2011-11-25 19:26:01 -06:00
Cristian Maglie c8ec267d0b Bugfix UARTClass 2011-11-23 23:15:13 +01:00
Thibaut VIARD 5c88944e39 [sam] fixing analog by adding ADC channel information into variant 2011-11-23 18:54:49 +01:00
Thibaut VIARD 3259609a71 [sam] updating CMSIS matching patch delivered by ARM today 2011-11-23 09:03:05 +01:00
Cristian Maglie 05b3c0cc85 USB: removed some include file to let core compile again 2011-11-21 18:32:21 +01:00
Cristian Maglie 59f68ab4ec Added USB lib from arduino repository (as-is, work in progress). 2011-11-21 18:19:39 +01:00
Cristian Maglie 1c9738e3db Fix syntax error on wiring_analog 2011-11-21 13:15:00 +01:00
Thibaut VIARD f77fcec4e9 [sam] fixing typo in comment 2011-11-21 12:18:21 +01:00
Thibaut VIARD 7cbb284eb4 [sam] fixing analog on Due, normally 2011-11-21 12:16:54 +01:00
David A. Mellis ed48d17e20 readBytes() and readBytesUntil() handle zero bytes and return # of bytes read.
http://code.google.com/p/arduino/issues/detail?id=586
2011-11-19 16:23:19 -05:00
David A. Mellis 4119b9089b Adding Arduino Mini w/ ATmega328.
http://code.google.com/p/arduino/issues/detail?id=710
2011-11-19 16:22:46 -05:00
Cristian Maglie 062278262d Merge branch 'uart-fix' into new-extension
Conflicts:
	hardware/sam/cores/sam/Arduino.h
2011-11-18 11:55:03 +01:00
Cristian Maglie bd9da76fbe Include libsam headers as external "C"-decl 2011-11-18 11:32:28 +01:00
Thibaut VIARD cd94333c41 [sam] fixing GCC linker scripts 2011-11-17 17:20:39 +01:00
Thibaut VIARD 7b5228310b [sam] updating headers and getting the branch back to work 2011-11-17 16:56:47 +01:00
Cristian Maglie 713cf88328 Removed disabled file 2011-11-17 09:13:25 +01:00
Cristian Maglie 3b0a174f2c Pulse API ported. 2011-11-16 23:53:46 +01:00
Zach Eveland 75eb722759 Leonardo bootloader now sends iSerial string during enumeration. Seems to satisfy Windows' composite device requirements. 2011-11-16 16:38:22 -05:00