Commit Graph

1246 Commits

Author SHA1 Message Date
David A. Mellis f43c0918ff Merge branch 'dhcp' of github.com:amcewen/Arduino.
This includes DCHP support and new UDP API for the Ethernet library.
2011-03-23 23:28:33 -04:00
David A. Mellis efae89ea0e Commenting String API behavior. 2011-03-23 22:42:05 -04:00
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
amcewen 7f18110b80 Fixed bug in parsePacket where it could block indefinitely if called when no packets were available to be read. 2011-02-04 21:44:51 +00:00
amcewen 4000c9199b Added new method to UDP to take a hostname rather than an IP address. Part of issue 243 2011-02-04 21:15:42 +00:00
amcewen a310cb8e4d Proposed fix for issue 243, adding DNS to the Ethernet library. Uses a slightly modified version of the agreed API as the host/port parameters have been moved from the Client constructor to the Client::connect methods. This means it's possible for errors to be returned if the DNS lookup fails and also reduces the RAM footprint of the Client class as it no longer needs to store the host/port for later use in Client::connect. 2011-01-25 16:29:38 +00:00
amcewen a42dc0b455 Fix for issue 62, adding DHCP support. New begin() method added to EthernetClass which takes just a MAC address and gets the rest of its configuration information via DHCP. Examples updated to use the IPAddress class and some have been changed to get their config via DHCP. 2011-01-16 20:11:50 +00: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
amcewen 5caad5bdb4 Added a method to read data into a char buffer so that character-based (rather than byte-based) operations don't require a cast. As requested by Tom Igoe. Part of the fix to issue 439. 2011-01-13 17:55:08 +00:00
amcewen a3c7a1bedd Merge remote branch 'upstream/master' into dhcp-dns 2011-01-13 17:03:30 +00:00