aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-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-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
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