David A. Mellis
db64d2fc32
Fixing 300 baud communication for serial.
...
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-14 12:25:39 -04:00
David A. Mellis
d59fcb8eed
Fixing warnings (David H. Lynch Jr).
2011-03-03 22:56:20 -05:00
David A. Mellis
13e3ba87e3
Small optimization in HardwareSerial.
...
begin(long) -> begin(unsigned long)
2011-02-25 18:36:46 -05:00
David A. Mellis
63f4021447
Changing String append to use realloc(); thanks to Paul Stoffregen.
...
http://code.google.com/p/arduino/issues/detail?id=332
2010-12-11 15:22:07 -05:00
David A. Mellis
32388c908f
Replacing custom String.toInt() function with a call to atol().
2010-12-03 23:12:41 -05:00
David A. Mellis
d98d31eb1a
Redoing 448222e4b6
without all the extra files.
...
Adds toInt() to String, WCharacter.h (from Wiring), and an SD Datalogger example.
2010-11-29 15:20:30 -05:00
David A. Mellis
920212ee05
Revert "added toInt() function to WString".
...
This reverts commit 448222e4b6
.
2010-11-29 15:14:10 -05:00
Tom Igoe
448222e4b6
added toInt() function to WString
2010-11-29 11:31:00 -05:00
David A. Mellis
4dad13532f
pulseIn() now times out while measuring the pulse, not just while waiting for it to start.
2010-11-22 23:33:59 -05:00
David A. Mellis
fcc4188b15
SD File object implements Stream.
...
Added peak() and available() using a single byte buffer.
Added flush().
2010-11-20 11:45:05 -05:00
David A. Mellis
c11098c237
Fixing bug w/ subsequent calls to tone().
...
http://code.google.com/p/arduino/issues/detail?id=397
2010-11-11 23:57:12 -05:00
David A. Mellis
a403c19ade
Cast to encourage optimization of Serial ring buffer index calculations.
...
http://code.google.com/p/arduino/issues/detail?id=391
2010-11-11 23:29:21 -05:00
David A. Mellis
66755f9bce
Changing baud rate calculation to always use double speed mode except for 57600 baud at 16 MHz.
...
http://code.google.com/p/arduino/issues/detail?id=394
2010-11-11 23:28:21 -05:00
David A. Mellis
9b42d2dc03
Modifying Tone.cpp to use register-based (not CPU-based) #ifdefs.
2010-11-08 23:09:29 -05:00
David A. Mellis
b0bc52d7d5
Modifying basic functions (digital and analog, read and write) to use 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-17 17:55:53 -04:00
David A. Mellis
b0888a34b5
Making attachInterrupt() check registers, not CPUs.
...
Patch by Mark Sproul, via Christian Maglie.
http://code.google.com/p/arduino/issues/detail?id=340
2010-10-17 14:05:46 -04:00
David A. Mellis
1cb3c97610
Making HardwareSerial tests register-based, not CPU-based.
...
Mark Sproul's patches, via Christian Maglie.
http://code.google.com/p/arduino/issues/detail?id=315
2010-10-17 13:36:02 -04:00
David A. Mellis
9cad196ae5
Changing #include <> to #include "" in Tone.cpp.
2010-10-09 17:08:19 -04:00
David A. Mellis
b3ba5d4f97
Fixing PWM on pins 9 & 10 on the Uno.
...
Resetting TCCR1B to 0 after it's configured by optiboot.
http://code.google.com/p/arduino/issues/detail?id=364
2010-10-02 13:38:10 -04:00
David A. Mellis
27cfd22066
1280 -> 1280/2560.
2010-09-08 22:33:33 +00:00
David A. Mellis
722b93dce4
Changing String::toCharArray() and getBytes() to accept a buffer, rather 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-28 10:23:54 +00:00
David A. Mellis
f8077a96d7
Returning a reference to a dummy character for indices beyond the string length (in operator[]).
2010-08-28 09:55:26 +00:00
David A. Mellis
a48d96ee49
Adding some basic error checking to the String class (i.e. checking for a non-null buffer before modifying its contents).
2010-08-18 21:39:28 +00:00
David A. Mellis
5ede40be13
Now including stdlib.h from wiring.h so our abs() #define comes after the stdlib abs() definition (and therefore doesn't break it).
2010-08-17 21:50:41 +00:00
David A. Mellis
57e2c152f1
Adding shiftIn() from Wiring (no count or delaytime though).
2010-08-11 22:59:00 +00:00
David A. Mellis
54d367b1e0
Making Client inherit from Stream, which unforunately means taking peek() out of Stream for now, since there's no immediate implementation for Client.
2010-08-11 18:19:01 +00:00
David A. Mellis
e2fe4d0dfa
No longer requiring WProgram.h for Print / Stream classes (replaced Arduino-specific type names in String).
2010-08-06 01:23:19 +00:00
David A. Mellis
0aec45afbc
Moving SPI pin definitions into core (from SPI library): SS, MISO, MOSI, and SCK.
2010-08-02 22:33:11 +00:00
David A. Mellis
94045e292a
changing available() to return an int (because the Ethernet Client class or another stream might need more than 255 bytes).
2010-08-02 22:23:48 +00:00
Tom Igoe
81e7814887
added more String examples
2010-07-27 22:59:18 +00:00
David A. Mellis
4e33e6cb9f
Reverting changes to String class and modifying to allow + and += to work on more types.
2010-07-27 14:20:56 +00:00
Tom Igoe
cd4c0e56e2
removed append() from String library
2010-07-27 10:18:04 +00:00
Tom Igoe
b78768f761
checked in Xiaoyang Feng's changes to String library
2010-07-27 10:09:09 +00:00
Tom Igoe
27b3254e99
Checked in Xiaoyang's changes to String library
2010-07-27 10:06:49 +00:00
Tom Igoe
8fcb098533
Checked in Xiaoyang's changes to String library
2010-07-27 10:06:43 +00:00
David A. Mellis
52e0e1a999
INTERNAL -> INTERNAL1V1 AND INTERNAL2V56 on the Mega (issue #194 ).
2010-07-10 21:07:51 +00:00
David A. Mellis
4fa7eb8e32
whitespace.
2010-07-05 16:08:35 +00:00
David A. Mellis
31601ffe77
Adding a peek() function to Stream and HardwareSerial (Serial).
2010-07-04 23:31:55 +00:00
David A. Mellis
934312682e
Adding support for printing Strings to the Print class.
2010-07-04 23:22:34 +00:00
David A. Mellis
880bc682a9
Modifying String from new/delete to malloc()/free(). Also #include'ing WString.h from WProgram.h.
2010-07-04 16:36:52 +00:00
David A. Mellis
99abaed344
Adding WString.h and WString.cpp straight from Wiring (r. 726). Won't actually work yet.
2010-07-04 16:27:23 +00:00
David A. Mellis
e2f5f0c9d6
Disabling interrupts while digitalWrite() and pinMode() modify registers (issue #146 ).
...
Updating revisions.
2010-06-12 20:32:58 +00:00
David A. Mellis
e2169fa0a4
Re-enabling timer 2 pwm after tone() ends.
...
Factored out common code to disable timers.
2010-06-12 19:47:41 +00:00
David A. Mellis
0557d46fc2
Adding a basic Stream interface and modifying HardwareSerial to inherit from it.
2010-05-28 22:41:03 +00:00
David A. Mellis
8f416eb54a
More accurate delay() function from BenF.
2010-05-25 20:16:15 +00:00
David A. Mellis
3738f450c0
Adding A0=14, A1=15, etc. aliases for analog input pins and modifying analogRead() to accept them (in addition to 0, 1, 2, etc.). Removing some unused code elsewhere.
2010-05-16 04:05:40 +00:00
David A. Mellis
d91b4c1f38
Limiting tone generation to timer 2 only to prevent conflicts with the Servo library.
2010-01-09 17:02:27 +00:00
David A. Mellis
b4402e1e26
Adding tone() and noTone() functions, using Brett Hagman's Tone library.
2009-12-29 20:57:07 +00:00
David A. Mellis
6672d51d56
Removing (no longer maintaining) the Makefile.
2009-12-28 15:39:19 +00:00
David A. Mellis
def86681b7
Adding precision parameter for printing of floats / doubles. Restructured the print() and println() functions a bit.
2009-12-25 20:20:27 +00:00