Zach Eveland
7d26163b16
on a CDC or HID write() error, call setWriteError(). better handling of USB_Send errors in CDC.
2011-08-30 17:25:35 -04:00
Zach Eveland
6049e4455a
support for non-Leonardo boards is back!
2011-08-30 11:50:08 -04:00
Zach Eveland
0b3acaea21
CDC and HID write() routines now return non-void - brought in line with new write behavior
2011-08-30 11:04:34 -04:00
Zach Eveland
0a34c0f35e
brought leonardo folder in line with new variants scheme
2011-08-30 10:45:41 -04:00
Zach Eveland
91f89da73a
Merge branch 'mainline' into new-extension
2011-08-30 08:38:06 -04:00
Zach Eveland
6345e2942a
auto-upload-and-reset works now at 300 bps. patched avrdude for Mac to support 300 bps connection, changed core and boards.txt to match
2011-08-27 20:32:34 -04:00
Zach Eveland
bef7d736d2
bootloader ends as soon as sketch upload finishes. restored pulsing of LED while bootloader running.
2011-08-27 07:00:07 -04:00
David A. Mellis
b73cf39d94
Moving write errors out of return value into separate API methods.
...
write(), print(), println() now return size_t (and don't use negative values to signal errors).
Print adds writeError() for checking for write errors, clearWriteError() to reset the flag to false, and a protected setWriteError() for signalling errors.
http://code.google.com/p/arduino/issues/detail?id=598
2011-08-26 16:08:14 -04:00
David A. Mellis
929597375b
Changing from long to ssize_t (int) for write(), print(), println() return.
2011-08-26 14:20:41 -04:00
Zach Eveland
eebe997dce
bugfix - Serial.write() would try to send even if no CDC connection was open.
2011-08-24 21:04:30 -04:00
Zach Eveland
ff5fe87864
changed auto-reset method for upload: now triggered by opening port at 1200 bps
2011-08-24 17:12:28 -04:00
David A. Mellis
8059abe581
write(), print(), and println() now return number of bytes written.
...
The type is long, and negative values indicate errors. Needs more testing.
http://code.google.com/p/arduino/issues/detail?id=551
2011-08-23 19:12:03 -04:00
David A. Mellis
b788ad593f
Distinguishing those boards with eight analog inputs (Fio, BT, Nano, Mini).
...
http://code.google.com/p/arduino/issues/detail?id=499
2011-08-23 17:29:20 -04:00
David A. Mellis
d00f0949ed
Renaming pins/ directory to the more generic variants/
...
http://code.google.com/p/arduino/issues/detail?id=588
2011-08-23 17:07:39 -04:00
Zach Eveland
dd539bacf8
USB microcontrollers will call USB.attach() after init(), before setup()
2011-08-18 19:59:35 -04:00
Zach Eveland
5b989d13b3
HW Serial on pins 0 and 1 works. Accessed by Serial1.* methods
2011-08-18 19:40:04 -04:00
David A. Mellis
4b0a87b405
Stream.readBytesUntil() now writes null terminator within length.
2011-08-18 15:13:47 -04:00
David A. Mellis
cb39ad9739
A few API changes to new Stream parsing functions.
...
Renamed readChars() -> readBytes(), readCharsUntil() -> readBytesUntil().
Changed timeouts to milliseconds from seconds; default from 5 to 1 seconds.
Removed readCharsBetween().
2011-08-17 14:16:47 -04:00
David A. Mellis
682b58e577
Integrating Stream searching & parsing (Michael Margolis)
...
This from Michael's TextFinder library, incorporated into the Stream class: find(), findUntil(), parseInt(), parseFloat(), readChars(), readCharsUntil(), readCharsBetween(), setTimeout().
2011-08-17 13:53:49 -04:00
Zach Eveland
e3848670a7
Temporary fix for auto-reset from IDE. Will reset chip when DTR is asserted, no matter what CDC baud rate is selected.
2011-08-16 13:43:55 -04:00
Zach Eveland
3f6df054ee
Serial via USB works
...
Integrated rest of Peter's USB implementation
2011-08-14 16:59:34 -04:00
Zach Eveland
e254d2989d
LEDs for D13, TX, and RX are more in line with Uno-like behavior during sketch uploading.
...
D13 flashes on reboot, TX and RX flash with USB data transfer.
2011-08-14 16:02:16 -04:00
Zach Eveland
c149be22f7
rebuilt Diskloader, added LED control macros for Leonardo, removed Microtouch defines
2011-08-14 15:11:23 -04:00
Zach Eveland
13a269df2e
increased bootloader delay to approx. 3.5 s
2011-08-14 14:29:44 -04:00
David A. Mellis
d338f22bde
Adding basic macros for analog + digital pin information.
...
http://code.google.com/p/arduino/issues/detail?id=495
2011-08-12 18:27:00 -04:00
David A. Mellis
f179794a45
Adding pin-change interrupt pin mapping macros to pins_arduino.h.
...
http://code.google.com/p/arduino/issues/detail?id=490
2011-08-12 17:31:22 -04:00
David A. Mellis
f14fd94d0e
Adding SCL, SDA, and LED #defines.
2011-08-12 16:59:24 -04:00
Zach Eveland
213091f487
cleaned up types. set D5 as not a PWM pin for now.
2011-08-11 14:16:13 -04:00
Zach Eveland
9b954df303
committed USB API, initial HardwareSerial-USBSerial integration
2011-08-11 14:08:38 -04:00
Zach Eveland
0ecdd723cf
diskloader source and binary for 32u4
2011-08-11 10:31:39 -04:00
Zach Eveland
cdf887b10b
support for 32u4 and Leonardo pins, uploading, and bootloader programming
2011-08-10 23:36:36 -04:00
David A. Mellis
87a04fc064
Added Printable interface class to allow printing of classes such as IPAddress
2011-06-04 09:19:17 -04:00
David A. Mellis
2711c9910b
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-20 13:29:13 -04:00
David A. Mellis
8c0fdf1e43
Small optimization in HardwareSerial.
...
begin(long) -> begin(unsigned long)
Conflicts:
hardware/arduino/cores/arduino/HardwareSerial.h
2011-05-12 16:58:56 -04:00
David A. Mellis
1747292711
Optimizing printing of numbers (writing a single buffer).
...
Fix from Bill Greiman via Limor.
2011-05-07 18:17:32 -04:00
David A. Mellis
cf044cd236
Adding serialEvent(), serialEvent1(), etc.
...
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-07 13:04:13 -04:00
David A. Mellis
c740778bf6
Refactoring the UART0 / USART0 receive interrupt handler.
2011-05-07 12:47:43 -04:00
David A. Mellis
694b8ad392
Changing Serial.flush() to write outgoing data, not drop incoming data.
...
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-05-07 12:05:27 -04:00
David A. Mellis
d12fe18480
Restoring concatenation of built-in types with String.
2011-03-31 10:56:14 -04:00
David A. Mellis
0ac0dcf158
Adding F("foo") syntax for flash strings.
2011-03-27 15:06:20 -04:00
David A. Mellis
e3c7a54725
String: removing implicit numeric conversions and new approach to "if (s)".
...
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-26 18:52:54 -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
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