aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-06-14Allow the READ PARAMETER command to return our version number.WestfW
(significant size impact: 14 bytes!) Initialized "address" to eliminate compiler warning (4 bytes!) Add "atmega168" as a more accurate target name than "diecimila" (keep diecimila as well for backward compatibility) Reduce the .hex and .lst targets that are stored in source control to the three basics: atmega8, atmega168, atmega328. The other targets remain in the makefile and makeall, but will need to be built from source if wanted. Which should be less of a problem now that the source is buildable without installing crosspack.
2011-06-14Modify Uno "lock" bits in boards.txt to make bootloader readable byWestfW
sketches. Part of http://code.google.com/p/arduino/issues/detail?id=554
2011-06-13http://code.google.com/p/arduino/issues/detail?id=368WestfW
Optiboot does not support ArduinoasISP programmer. When avrdude runs and talks to an arduino running ArduinoISP, it needs the optiboot (entered due to auto-reset) to abort and start the ArduinoISP "application" when it sees communications at the wrong serial speed. Unfortunately, optiboot treats all unrecognized command characters as "no-ops" and responds/loops for more commands, leading to a nice loop that never gets to the sketch. This patch causes characters received with Framing errors (the most likely error for speed mis-matches) to NOT reset the watchdog timer (normally done in getch()), which will cause the application to start if it continues for "a while." (tested. Works! Running ArduinoISP at speeds as high as 57600 still causes the bootloader to start the sketch (although it fails later on for other reasons.))
2011-06-11(make sure .hex and .lst are updated as well.)WestfW
2011-06-11Fix errors in LDSECTIONS refactoringWestfW
(found during atmega8 testing.)
2011-06-10Update version to reflect previous edit. Sigh.WestfW
2011-06-10Shrink code by using registers for variables "length" and "address"WestfW
http://code.google.com/p/optiboot/issues/detail?id=33 Fix high-value watchdog timeouts on ATmega8 http://code.google.com/p/optiboot/issues/detail?id=38 Change "start app on bad commands" code to start the app via the watchdog timer, so that the app is always started with the chip in fully reset state. http://code.google.com/p/optiboot/issues/detail?id=37
2011-06-10Add a version number to the optiboot source and binary.WestfW
http://code.google.com/p/arduino/issues/detail?id=554 end of flash memory where they can be read (at least in theory) by device programmers, hex-file examination, or application programs. This is done by putting the version number in a separate section (".version"), and using linker/objcopy magic to locate that section as appropriate for the target chip. (See http://lists.gnu.org/archive/html/avr-gcc-list/2011-02/msg00016.html for some discussion on the details.) Start the version at 4.1 (the last "packaged" version of optiboot was called version 3, so the "top of source" would be 4.0, and adding the version number makes 4.1) Refactor LDSECTION in the Makefile to LDSECTIONS so that multiple section start addresses can be defined. Change the _isp makefile definitions to make the bootloader section readable (but not writable) by the application section. (This would need to be done elsewhere as well to handle all bootloader programming techniques. Notably Arduino's boards.txt Note that this change does not change the "code" portion of optiboot at all. The only diffs in the .hex files are the added version word at the end of flash memory.
2011-06-10Update shell script makeallWestfW
2011-06-10This is a relatively significant edit that brings the Arduino copy ofWestfW
optiboot up-to-date with the optiboot source repository as of Jun-2011 (the last changes made in the optiboot repository were in Oct-2010) This adds support for several plaforms, fixes the "30k bug", and refactors the source to have separate stk500.h, boot.h, and pin_defs.h These are the arduino opticode issues fixed: http://code.google.com/p/arduino/issues/detail?id=380 optiboot has problems upload sketches bigger than 30 KB http://code.google.com/p/arduino/issues/detail?id=556 update optiboot to the point of the latest optiboot project sources. These are issues that had been solved in the optiboot source aready: http://code.google.com/p/arduino/issues/detail?id=364 optiboot leaves timer1 configured when starting app, breaks PWM on pin 9 and 10. (fixed with a workaround in arduino core.) aka http://code.google.com/p/optiboot/source/detail?r=c778fbe72df6ac13ef730c25283358c3c970f73e Support for ATmega8 and mega88. Fix fuse settings for mega168 _ISP targets Additional new platforms (mega, sanguino) http://code.google.com/p/optiboot/issues/detail?id=26 Set R1 to 0 (already in arduino code) http://code.google.com/p/optiboot/issues/detail?id=36&can=1 Fails to build correctly for mega88 After this commit, the only differences between the Arduino optiboot.c and the optiboot repository optiboot.c are cosmetic.
2011-06-09http://code.google.com/p/arduino/issues/detail?id=517WestfW
Remove the trailing comments when setting fuse values for the various *_isp targets, so that they won't cause avrdude errors. This was done the same way as in the optiboot source tree: http://code.google.com/p/optiboot/issues/detail?id=17 http://code.google.com/p/optiboot/source/detail?r=005fb033fc08c551b2f86f7c90c5db21549b3f20
2011-06-09Makefile modification to allow building optiboot in more environments.WestfW
Allows building within the Arduino Source tree, and within the Arduino IDE tree, as well as using CrossPack on Mac. Adds README.TXT to track arduino-specific changes (and documents the new build options.) This addresses Arduino issue: http://code.google.com/p/arduino/issues/detail?id=487 And optiboot issue http://code.google.com/p/optiboot/issues/detail?id=1 (which can be thought of as a subset of the Arduno issue.) Note that the binaries produced after these Makefile changes (using any of the compile environments) are identical to those produced by the crosspack-20100115 environment on a Mac.
2011-05-14Fixing 300 baud communication for serial.David A. Mellis
Because UBBR is only 12 bits, we were overflowing it at 300 baud because of the use of the U2X bit. Now we turn off U2X if it would yield a UBBR value that would overflow. Note that this breaks 300 baud communication with the computer on the Uno and Mega 2560 because the 8U2 USB-serial firmware has this same bug (and previously they cancelled each other out). Since, however, it seems more likely that people will need to use 300 baud to communicate with other (legacy) hardware than with the computer, I'm making this change. Issue for 8U2 firmware bug: http://code.google.com/p/arduino/issues/detail?id=542 http://code.google.com/p/arduino/issues/detail?id=522
2011-03-03Fixing warnings (David H. Lynch Jr).David A. Mellis
2011-02-25Small optimization in HardwareSerial.David A. Mellis
begin(long) -> begin(unsigned long)
2011-01-15Fix to optiboot infinite loop problem.David A. Mellis
Explicitly setting R1 to 0 so that the watchdog timer is properly initializing, preventing it from timing out and resetting the processor. http://code.google.com/p/optiboot/issues/detail?id=26 http://code.google.com/p/arduino/issues/detail?id=446
2010-12-11Changing String append to use realloc(); thanks to Paul Stoffregen.David A. Mellis
http://code.google.com/p/arduino/issues/detail?id=332
2010-12-04Minor ATmega8U2 firmware update and new .hex files.David A. Mellis
Adding LUFA_OPTS += -D DEVICE_STATE_AS_GPIOR=0 to makefile to save space, updating release number to 0x0001.
2010-12-04Minor bug fixes to the 8U2 USB-to-serial firmware.David A. Mellis
2010-12-03Replacing custom String.toInt() function with a call to atol().David A. Mellis
2010-11-29Fixing Linux UNO serial bug (thanks to Dean Camera).David A. Mellis
Enabling INTERRUPT_CONTROL_ENDPOINT in the makefile so we don't miss control messages from Linux. Also deleted two unused USB events to save a few bytes of space (the Mega 2560 .hex is now exactly 4096 bytes).
2010-11-29Redoing 448222e4b65e0cf44dfc0c494f7f76901f1fabea without all the extra files.David A. Mellis
Adds toInt() to String, WCharacter.h (from Wiring), and an SD Datalogger example.
2010-11-29Revert "added toInt() function to WString".David A. Mellis
This reverts commit 448222e4b65e0cf44dfc0c494f7f76901f1fabea.
2010-11-29added toInt() function to WStringTom Igoe
2010-11-22pulseIn() now times out while measuring the pulse, not just while waiting ↵David A. Mellis
for it to start.
2010-11-20SD File object implements Stream.David A. Mellis
Added peak() and available() using a single byte buffer. Added flush().
2010-11-11Fixing bug w/ subsequent calls to tone().David A. Mellis
http://code.google.com/p/arduino/issues/detail?id=397
2010-11-11Cast to encourage optimization of Serial ring buffer index calculations.David A. Mellis
http://code.google.com/p/arduino/issues/detail?id=391
2010-11-11Changing baud rate calculation to always use double speed mode except for ↵David A. Mellis
57600 baud at 16 MHz. http://code.google.com/p/arduino/issues/detail?id=394
2010-11-08Modifying Tone.cpp to use register-based (not CPU-based) #ifdefs.David A. Mellis
2010-10-17Modifying basic functions (digital and analog, read and write) to use ↵David A. Mellis
register-based ifdefs, not cpu-based. http://code.google.com/p/arduino/issues/detail?id=307 http://code.google.com/p/arduino/issues/detail?id=316 http://code.google.com/p/arduino/issues/detail?id=323 http://code.google.com/p/arduino/issues/detail?id=324
2010-10-17Making attachInterrupt() check registers, not CPUs.David A. Mellis
Patch by Mark Sproul, via Christian Maglie. http://code.google.com/p/arduino/issues/detail?id=340
2010-10-17Making HardwareSerial tests register-based, not CPU-based.David A. Mellis
Mark Sproul's patches, via Christian Maglie. http://code.google.com/p/arduino/issues/detail?id=315
2010-10-09Changing #include <> to #include "" in Tone.cpp.David A. Mellis
2010-10-02Fixing PWM on pins 9 & 10 on the Uno.David A. Mellis
Resetting TCCR1B to 0 after it's configured by optiboot. http://code.google.com/p/arduino/issues/detail?id=364
2010-09-28More information on USB VID/PIDs.David A. Mellis
2010-09-28Replacing Arduino VID / PID with the Atmel-supplied ones.David A. Mellis
2010-09-27Adding note about Arduino VID and PIDs.David A. Mellis
2010-09-24Adding readme about the firmwares.David A. Mellis
2010-09-24Adding usbserial and usbdfu firmwares (and combined compiled .hex files).David A. Mellis
2010-09-24Adding Arduino Mega 2560 board entry.David A. Mellis
2010-09-24Adding the Mega 2560 bootloader and boards.txt / boards menu entry.David A. Mellis
2010-09-22Adding optiboot and Arduino Uno boards menu entry.David A. Mellis
2010-09-081280 -> 1280/2560.David A. Mellis
2010-08-28Changing String::toCharArray() and getBytes() to accept a buffer, rather ↵David A. Mellis
than return one. That way they don't expose the internal representation of the String class, allowing future optimization. Thanks to Paul Stoffregen.
2010-08-28Returning a reference to a dummy character for indices beyond the string ↵David A. Mellis
length (in operator[]).
2010-08-18Adding some basic error checking to the String class (i.e. checking for a ↵David A. Mellis
non-null buffer before modifying its contents).
2010-08-17Now including stdlib.h from wiring.h so our abs() #define comes after the ↵David A. Mellis
stdlib abs() definition (and therefore doesn't break it).
2010-08-11Adding shiftIn() from Wiring (no count or delaytime though).David A. Mellis
2010-08-11Making Client inherit from Stream, which unforunately means taking peek() ↵David A. Mellis
out of Stream for now, since there's no immediate implementation for Client.