aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-06-04Added Printable interface class to allow printing of classes such as IPAddressDavid A. Mellis
2011-05-20Fixing 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-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-05-12Small optimization in HardwareSerial.David A. Mellis
begin(long) -> begin(unsigned long) Conflicts: hardware/arduino/cores/arduino/HardwareSerial.h
2011-05-07Optimizing printing of numbers (writing a single buffer).David A. Mellis
Fix from Bill Greiman via Limor.
2011-05-07Adding serialEvent(), serialEvent1(), etc.David A. Mellis
Called from within the serial receive interrupt. These are implemented as an empty weak function in the core that be overridden by the user's sketch. http://code.google.com/p/arduino/issues/detail?id=263
2011-05-07Refactoring the UART0 / USART0 receive interrupt handler.David A. Mellis
2011-05-07Changing Serial.flush() to write outgoing data, not drop incoming data.David A. Mellis
This brings it in line with most other uses of flush(), both in and out of Arduino. http://code.google.com/p/arduino/issues/detail?id=497
2011-04-10Added virtual destructor to Printable, which also requires new and delete ↵amcewen
operators to be added
2011-04-02Added a brief explanation of how you'd use Printableamcewen
2011-04-01Added Printable interface class to allow printing of classes such as IPAddressamcewen
2011-03-31Pulled out Server API into the NetServer base class, and a few minor changes ↵amcewen
to get the NetClient API to work well with the WiFly library
2011-03-31Restoring concatenation of built-in types with String.David A. Mellis
2011-03-28Pulled out Client API into a base class to allow multiple derived classes to ↵amcewen
use it, and moved it (plus IPAddress) out of the Ethernet library so that other libraries can find it. First steps in integrating the WiFly code so it's easier to switch between that and Ethernet
2011-03-27Adding F("foo") syntax for flash strings.David A. Mellis
2011-03-26String: removing implicit numeric conversions and new approach to "if (s)".David A. Mellis
This makes explicit the String constructors that take numeric types and chars and removes the versions of concat() and operator=() and operator+() that accept numberic types. It also replaces the operator bool() with a operator that converts to a function pointer. This allows for uses like "if (s)" but not "s + 123". See: http://www.artima.com/cppsource/safebool.html. This allowed removing the disambiguating operator+() functions and relying solely on StringSumHelper and anonymous temporaries once again. Also, now treating unsigned char's like int when constructing Strings from them, i.e. String(byte(65)) is now "65" not "A". This is consistent with the new behavior of Serial.print(byte).
2011-03-23Commenting String API behavior.David A. Mellis
2011-03-19Return an invalid string (not a partial one) when operator+() fails.David A. Mellis
2011-03-18Starting to distinguish between empty strings and invalid (null) ones.David A. Mellis
2011-03-13Protecting String copy() and move().David A. Mellis
2011-03-13Adding additional String + operators for disambiguation.David A. Mellis
The operator bool() means that you could implicitly convert a String to a bool and then add it to it an int, for example. Which means our operator+ has to match exactly or it will be ambiguous.
2011-03-13Moving move() to __GXX_EXPERIMENTAL_CXX0X__ only, adding operator bool().David A. Mellis
2011-03-12Modifying String.concat() to return success or failure, not this.David A. Mellis
Which means you can't chain multiple concat() calls together, but you can check if they succeeded or not.
2011-03-11Don't return the string when modifying its value.David A. Mellis
Changing toLowerCase(), toUpperCase(), trim() and replace() to return void instead of a reference to the string that's just been changed. That way, it's clear that the functions modify the string they've been called on.
2011-03-11Renaming append() back to concat().David A. Mellis
2011-03-11Removing F("string") syntax for now.David A. Mellis
We should probably add something like this back in later, but I want to do one thing at a time. This removes the __FlashStringHelper class as well.
2011-03-11Rewrite of the String class by Paul Stoffregen.David A. Mellis
http://www.pjrc.com/teensy/string_class_experimental.html
2011-03-09Fixing typo in boards.txt.David A. Mellis
2011-03-06Flushing outgoing and incoming data in Serial.end().David A. Mellis
That is, waiting for outgoing data to transmit and dropping any received data.
2011-03-06Fixing race condition in Serial write (Brian Cook).David A. Mellis
2011-03-06Moving TCCR1B reset into #ifdef check.David A. Mellis
2011-03-05Implemented serial transmit buffering.David A. Mellis
Now Serial.write() places characters in the transmit buffer, and the data register empty interrupt reads and transmit them. Based loosely on the implementation here: ftp://wookey.org.uk/arduino. http://code.google.com/p/arduino/issues/detail?id=262
2011-03-04Factoring pin definitions out of the core.David A. Mellis
That is, there's now a pins/ directory in a platform, which includes multiple directories, each of which has its own pins_arduino.h. The boards.txt gets a new preferences, <BOARD>.build.pins, whose values is a sub-directory of the pins/ directory (possibly with a "platform:" prefix). That sub-directory is then placed in the include path during compilation.
2011-03-03Moving all pin definitions into pins_arduino.h.David A. Mellis
This is a step towards providing portability across AVR's by simply including an appropriate header file.
2011-03-03Fixing warnings (David H. Lynch Jr).David A. Mellis
2011-03-03Rearranging internal #defines in headers.David A. Mellis
2011-03-03Removing optimized digitalWrite(), digitalRead(), pinMode().David A. Mellis
2011-03-02Re-arranging header files and small fixes to optimized core functions.David A. Mellis
2011-03-01Moving wiring.h contents into Arduino.h.David A. Mellis
2011-03-01Renamed WProgram.h to Arduino.h.David A. Mellis
2011-02-26Removing BYTE keyword (use Serial.write() instead).David A. Mellis
2011-02-25Small optimization in HardwareSerial.David A. Mellis
begin(long) -> begin(unsigned long)
2011-02-22Merge branch 'master' into new-extensionDavid A. Mellis
2011-02-18Revert "Changes to optimized digitalWrte(), etc."David A. Mellis
This reverts commit aa1f1cbda9d6bb52785f98b40746920853d6579b.
2011-02-18Revert "Adding noAnalogWrite() function to disable PWM."David A. Mellis
This reverts commit 38d4a34fec6925b29a732d13e200f54ee4b42025.
2011-02-12Adding noAnalogWrite() function to disable PWM.David A. Mellis
Also, removing the inline version of digitalPinToTimer() (since we're not optimizing the functions that use it anyway). The noAnalogWrite() function is in wiring_analog.c, deriving from the previous turnOffPWM() which has moved from wiring_digital.c. http://code.google.com/p/arduino/issues/detail?id=476
2011-02-11Changes to optimized digitalWrte(), etc.David A. Mellis
Factoring out the implementation of digitalWrite(), digitalRead(), and pinMode() into macros that can either be inlined (for constant pin numbers) or executed within a function (non-constant pins). Removing testing for timers on pins in digitalWrite(), digitalRead(), and pinMode(). Moving pin to port macros from pins_arduino.h to wiring.h.
2011-02-11Optimized digitalWrite(), etc. from Alvaro Lopez.David A. Mellis
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