Commit Graph

1137 Commits

Author SHA1 Message Date
David A. Mellis 7d4073ef73 Return an invalid string (not a partial one) when operator+() fails. 2011-03-19 11:14:17 -04:00
David A. Mellis d3a5532d13 Starting to distinguish between empty strings and invalid (null) ones. 2011-03-18 21:45:27 -04:00
David A. Mellis a5929892d4 Adding test for string concatenation w/ + operator. 2011-03-13 19:43:01 -04:00
David A. Mellis 6f3ceb399d Protecting String copy() and move(). 2011-03-13 19:39:04 -04:00
David A. Mellis 488e672ea0 Adding additional String + operators for disambiguation.
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-13 19:31:10 -04:00
David A. Mellis cc24d41b74 Moving move() to __GXX_EXPERIMENTAL_CXX0X__ only, adding operator bool(). 2011-03-13 16:46:06 -04:00
David A. Mellis f5f2e09636 Modifying String.concat() to return success or failure, not this.
Which means you can't chain multiple concat() calls together, but you can check if they succeeded or not.
2011-03-12 14:03:34 -05:00
David A. Mellis 6727c8a831 Don't return the string when modifying its value.
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-11 18:54:58 -05:00
David A. Mellis 7fa866ffea Renaming append() back to concat(). 2011-03-11 18:04:31 -05:00
David A. Mellis 9139094c36 Removing F("string") syntax for now.
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-11 18:01:40 -05:00
David A. Mellis 1d9bbc01e3 Rewrite of the String class by Paul Stoffregen.
http://www.pjrc.com/teensy/string_class_experimental.html
2011-03-11 17:56:10 -05:00
David A. Mellis 6b890f8c7d Fixing typo in boards.txt. 2011-03-09 21:22:04 -05:00
David A. Mellis af841d166d Flushing outgoing and incoming data in Serial.end().
That is, waiting for outgoing data to transmit and dropping any received data.
2011-03-06 12:20:42 -05:00
David A. Mellis 1bef2990b6 Fixing race condition in Serial write (Brian Cook). 2011-03-06 11:47:18 -05:00
David A. Mellis 10ecfa8bea Moving TCCR1B reset into #ifdef check. 2011-03-06 11:29:35 -05:00
David A. Mellis 7f0cc2111c Implemented serial transmit buffering.
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-05 14:17:26 -05:00
David A. Mellis 19597b1d0b Factoring pin definitions out of the core.
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-04 21:05:05 -05:00
David A. Mellis 2f4d339c6b Fixing include in SoftwareSerial.cpp. 2011-03-04 09:10:14 -05:00
David A. Mellis afb60e1163 Moving all pin definitions into pins_arduino.h.
This is a step towards providing portability across AVR's by simply including an appropriate header file.
2011-03-03 23:54:33 -05:00
David A. Mellis 5234a96b34 Rearranging internal #defines in headers. 2011-03-03 18:57:05 -05:00
David A. Mellis ba14230883 Removing optimized digitalWrite(), digitalRead(), pinMode(). 2011-03-03 18:46:45 -05:00
David A. Mellis 1dd4bd6d2a Removing Client operator==(int) and operator!=(int) from Ethernet library.
http://code.google.com/p/arduino/issues/detail?id=408
2011-03-02 23:45:51 -05:00
David A. Mellis 4ea2d99c1a Re-arranging header files and small fixes to optimized core functions. 2011-03-02 23:05:25 -05:00
David A. Mellis bb7a044884 Moving wiring.h contents into Arduino.h. 2011-03-01 20:00:16 -05:00
David A. Mellis d05e4021d0 Renamed WProgram.h to Arduino.h. 2011-03-01 19:52:13 -05:00
David A. Mellis 97abbd7a31 Removing BYTE keyword (use Serial.write() instead). 2011-02-26 13:58:03 -05:00
David A. Mellis 3eae87adc9 Modifying examples to use Serial.write() instead of Serial.print(BYTE). 2011-02-26 13:57:41 -05:00
David A. Mellis d15e9aa98a Merge branch 'master' into new-extension 2011-02-22 22:02:22 -05:00
David A. Mellis a1648c0775 Merge branch 'new-extension' of github.com:arduino/Arduino into new-extension 2011-02-18 10:45:25 -05:00
David A. Mellis d180ad18a9 Revert "Changes to optimized digitalWrte(), etc."
This reverts commit aa1f1cbda9.
2011-02-18 10:41:29 -05:00
David A. Mellis 956a4f2024 Revert "Adding noAnalogWrite() function to disable PWM."
This reverts commit 38d4a34fec.
2011-02-18 10:40:56 -05:00
Mikal Hart 2832e8e0a8 A modification of [New]SoftSerial to meet certain requests David
Mellis asked about in preparation for integration into core:
1. Remove notion of library version
2. Remove little used "enable_timer0" method.
3. Rename is_listening to isListening
i

:insert

:
:set showmode
2011-02-17 23:55:38 -06:00
David A. Mellis 24e62aa4e7 Switching to RXTX-2.1-7r2 on 64-bit Linux (working version).
This also means we don't need a separate RXTXcomm.jar file for 64-bit Linux.
2011-02-16 23:26:40 -05:00
David A. Mellis 99480327a6 Switching to RXTX 2.1-7r2 on Linux 64-bit.
This is the version in the arduino/RXTX github repository, built with no options passed to configure.
2011-02-16 23:16:22 -05:00
David A. Mellis 6e227dda6e Updating 64-bit linux version of avrdude (to one with usbtiny support).
This also means we don't need a separate avrdude.conf for the 64-bit Linux version of avrdude.
2011-02-16 20:56:33 -05:00
David A. Mellis 253ab0cace Support for building on 64-bit Linux.
Includes changes to the build.xml, 64-bit versions of avrdude and RXTX native libraries, and alternative versions of the RXTX jar and avrdude.conf for those 64-bit versions (because they also have other differences).
2011-02-16 20:23:24 -05:00
David A. Mellis 38d4a34fec Adding noAnalogWrite() function to disable PWM.
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-12 14:47:08 -05:00
David A. Mellis aa1f1cbda9 Changes to optimized digitalWrte(), etc.
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-11 19:29:46 -05:00
David A. Mellis 9dccd634c5 Optimized digitalWrite(), etc. from Alvaro Lopez. 2011-02-11 17:53:24 -05:00
tigoe 40d2c3db0b Fixed typo in Midi communication example 2011-02-08 13:46:31 -08:00
David A. Mellis d4ed482d2a Merge branch 'master' of github.com:arduino/Arduino 2011-01-15 13:33:36 +00:00
David A. Mellis 94168bd0f4 Fix to optiboot infinite loop problem.
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
2011-01-15 13:29:08 +00:00
tigoe e6dc688d2b Changed pin number to reconcile code with drawing on Arduino site. 2011-01-12 03:59:02 -08:00
David A. Mellis 80bb16db8c Adding new SoftwareSerial (NewSoftSerial by Mikal Hart). 2011-01-09 12:45:46 -05:00
David A. Mellis e816ffb0b6 Removing SoftwareSerial (to replace it with NewSoftSerial). 2011-01-09 12:44:52 -05:00
David A. Mellis 5009fc15fa Merge branch 'master' of https://github.com/amcewen/Arduino into amcewen-master 2011-01-04 23:03:47 -05:00
amcewen 983d8af814 Final changes for the Client part of issue 416, which actually include the corrent return values. This should have been in the previous commit, but I'm still getting my head round git. 2011-01-02 22:49:11 +00:00
amcewen 66eb0852f7 Merge branch 'dhcp-dns' 2011-01-02 22:32:27 +00:00
amcewen 81b6c69f29 An improved patch for the Client part of issue 416 (adding a multi-byte read). This one moves all of the checking into recv, so that single-byte reads also benefit. It also returns -1 if there's no data available unless we've reached EOF, in which case it returns 0. 2011-01-02 22:21:24 +00:00
amcewen ca07ac18f3 Update to the fix for Issue #436 - UdpClass renamed to UDP and the constructor moved into the .cpp to prevent compilation errors in certain conditions if w5100.h hasn't been included before Udp.h 2011-01-01 21:42:23 +00:00