Commit Graph

235 Commits

Author SHA1 Message Date
David A. Mellis 00ab72619e Serial.flush() waits for last character to be transmitted (michele.mazzucchi)
http://code.google.com/p/arduino/issues/detail?id=871
2012-08-28 08:02:54 -04:00
Adam Dunlap c40ab91c41 Fix issue 866
Fix issue 866 by adding a const qualifier to what the F macro casts to.
2012-08-16 20:59:33 -07:00
David A. Mellis e77ee2903b Print "ovf" if float to be printed doesn't fit in a long.
http://code.google.com/p/arduino/issues/detail?id=967
2012-06-28 23:20:56 -04:00
David A. Mellis 2ef2f9d5c7 Print "inf" for infinite floating point numbers (using isinf()).
http://code.google.com/p/arduino/issues/detail?id=961
2012-06-23 10:37:35 -05:00
David A. Mellis 29ff4f779a Adding write(str) and write(buf, size) for USB CDC.
So that they work on the Leonardo.

http://code.google.com/p/arduino/issues/detail?id=958
2012-06-14 15:54:13 +01:00
David A. Mellis 3436ca97cb Printing NaN values as "nan" in printFloat().
http://code.google.com/p/arduino/issues/detail?id=946
2012-06-04 23:30:41 -04:00
David A. Mellis 57973bcd49 Check for NULL pointer in Print.write().
Otherwise, trying to print(NULL) or write(NULL) could print a random
character.

http://code.google.com/p/arduino/issues/detail?id=941
2012-06-03 07:48:32 -04:00
Kristian Lauszus 4ed0bd2bd5 Added support for interrupt on INT2 and INT3 on the Leonardo 2012-06-02 20:08:46 +02:00
David A. Mellis 810803c6d3 Merge remote-tracking branch 'upstream/master' 2012-05-21 09:31:54 -07:00
David A. Mellis b495294aa3 Adding readString() and readStringUntil() to Stream (Adrian McEwen).
This isn't necessarily a particularly efficient implementation (it
allocates memory one character at a time and so may lead to
fragmentation) but it seems to work.

http://code.google.com/p/arduino/issues/detail?id=454
2012-05-16 15:39:34 -04:00
Zach Eveland efa7593772 Mouse.isPressed() now checks only for left button by default
if no argument is given now checks left button by default to be consistent with press() and release() (thanks, David Mellis)
2012-05-15 15:48:51 -04:00
Zach Eveland 757a77ab67 renamed Leonardo USB_ class to USBDevice_ to be unambiguous. renamed "USB" object to "USBDevice" to prevent conflict with USB Host library (thanks Massimo) 2012-05-01 11:18:15 -04:00
Zach Eveland d755d0035d changed PID values for Leonardo bootloader and sketch
done to avoid driver problems for users who installed the pre-release bootloader and driver
2012-04-25 15:56:18 -04:00
Zach Eveland 6ae1a17235 bugfix for configuring PWM on D6 and D13 too early. (thanks to Limor Fried)
was starting PWM on these pins too soon - in init() instead of when analogWrite() was called.  as a result doing output on port registers directly failed.
2012-04-19 15:52:16 -04:00
Zach Eveland 56ddc4637d bugfix for boards with a timer 4 but no channel D
compilation failed for Mega because the COM4D1 and OCR4D registers are defined for 32U4 but not for Mega
2012-04-19 15:46:32 -04:00
Zach Eveland 49f7fb00fd fixed logic bug in Caterina that could stop the bootloader from entering self-programming mode 2012-04-11 23:19:05 -04:00
Zach Eveland e2e0260094 Micro I hardly knew ye 2012-04-09 10:12:14 -04:00
Zach Eveland ec83f55b62 sketch USB VID and PID values are passed in from boards.txt at compile time now. changed sketch PIDs to final values. also uncommented Micro section in boards.txt 2012-04-09 08:06:35 -04:00
Zach Eveland ee611dc194 Revert "Revert "added a short delay and comment to boolean operator in CDC""
This reverts commit 200eefb4e2ac7796c5c901e8fd9369c85ec544c5.
2012-04-06 21:23:17 -04:00
Federico Vanzati 02c5849501 Revert "added a short delay and comment to boolean operator in CDC"
This reverts commit ade4893f585e3e94fa6cf683620e1d12afc88ecd.
2012-04-06 17:36:09 +02:00
Zach Eveland dd55096901 added a short delay and comment to boolean operator in CDC
Delay fixes problem where the port has been configured but not quite opened.  Federico found that 10 ms was the minimum time needed to avoid problems.
2012-04-03 10:52:38 -04:00
Zach Eveland a984b581a8 added Boolean operators to HardwareSerial and CDC to test whether the port is ready to send data.
Mostly useful for Leonardo - simple way to test whether the port is actually opened by an application and ready to receive data.  For Serial objects attached to real UARTs always returns true.
2012-04-01 12:54:35 -04:00
Zach Eveland 1534b2b730 fixed logic error in Keyboard.release() - now removes every occurrence of a key if it's present more than once 2012-03-28 19:46:32 -04:00
Zach Eveland 83feb14013 removed horrible multi-key Keyboard.press() and Keyboard.release() methods
Saves 924 bytes of Flash
2012-03-28 18:46:10 -04:00
Zach Eveland d3eabc9c01 eliminated Keyboard.type() - unnecessary duplication of Keyboard.write() (David Mellis). Also edit KeyboardReprogram example which was the only example using type() 2012-03-28 18:35:26 -04:00
Zach Eveland 58c36f76d5 added methods to Keyboard to handle multiple simultaneous key presses or releases (up to six each) 2012-03-26 17:28:02 -04:00
Zach Eveland f646c9186d Keyboard.type() now just presses and releases the key indicated - doesn't releaseAll() 2012-03-26 17:00:16 -04:00
Zach Eveland 9c040a8a2b added stub methods for begin() and end() to Mouse and Keyboard 2012-03-26 16:02:40 -04:00
Zach Eveland 8c618773b5 reduced delay before starting the Leonardo bootloader
Since we use a magic RAM flag to signal to the bootloader there's a risk of the sketch overwriting the magic RAM location before the bootloader starts.  By reducing the watchdog timeout we reduce the chance of this happening.
2012-03-14 18:17:22 -04:00
Cristian Maglie b407337677 Fix for some strange behaviours during board reset 2012-03-07 16:21:04 +01:00
Zach Eveland 1566006871 Added Keyboard support for all modifier and all common non-printing keys. 2012-03-03 23:37:39 -05:00
Zach Eveland 54fb0bf3f5 Removed support for key mapping in Keyboard.
Was no longer being used and would be damn near impossible to support with the new scheme for handling modifiers and non-printing keyboard characters.
2012-03-03 23:06:44 -05:00
Zach Eveland fbea67532a added Keyboard methods press(), release(), and releaseAll()
Changes mean that a single, persistent key report must be used so keys can be added or removed.  Also reimplemented type() using the new methods.
2012-03-03 22:54:45 -05:00
Zach Eveland 74863e4bdf Merge branch 'master' of github.com:arduino/Arduino into LUFA_bootloader
Conflicts:
	.gitignore
2012-03-03 13:28:39 -05:00
Zach Eveland 8f5869009c fixed minor compilation warnings for Leonardo 2012-03-03 13:26:57 -05:00
David A. Mellis 4fade7007f Small changes for the ATmega1284.
http://code.google.com/p/arduino/issues/detail?id=736
2012-03-02 18:58:53 -05:00
Zach Eveland c8ca7f9636 changed auto-reset logic for Leonardo. only do WDT manipulation if the port is opened at 1200 bps. (Dave Mellis) 2012-03-01 08:51:16 -05:00
Cristian Maglie 73066a4ca2 Autoreset 1200 bps fix. 2012-02-27 17:41:38 +01:00
Zach Eveland 0138ee9b01 shortened the watchdog period for resetting Leonardo from 2 s to 250 ms. Reset into bootloader is much snappier. 2012-02-22 22:33:44 -05:00
Zach Eveland 66019a7550 Merge branch 'master' of github.com:arduino/Arduino into LUFA_bootloader 2012-02-22 15:19:32 -05:00
Zach Eveland 7948125208 Leonardo now checks whether bootloader should be run after a WDT event.
Before the sketch initiates an auto-reset for upload it pokes a magic word into a specific RAM address.  On starting the bootloader checks this address.  If it finds the magic word it knows the bootloader code should run. If not it jumps straight back to sketch.

Test in a sketch by adding to setup():
wdt_enable(WDTO_2S);

Sketch should upload, start, run for two seconds, WDT, and sketch should restart (not bootloader).

Had to cut out unused descriptor code to make the bootloader still fit in 4k.
2012-02-14 12:17:30 -05:00
Zach Eveland 924e5a4846 Leonardo auto-reset-and-upload changes for Windows (explanation below)
On Windows COM port changes when board switched between bootloader and sketch.  No way to prevent this so now Windows users have to select the upload port separate from the comm port.  Also, handling of reset into bootloader was broken on Windows.  Would occasionally leave the original COM port completely unusable.  Changed the way this reset is initiated.
Finally, had to add upload.disable.flushing=true flag to boards.txt so IDE wouldn't try to flush the original COM port after it disappeared.
2012-02-13 00:56:06 -05:00
Zach Eveland ac3aca0acf changed Leonardo bootloader and sketch PID values again (now 0x0701 for bootloader, 0x0801 for sketch) 2012-02-13 00:10:16 -05:00
David A. Mellis a7afdf40ba prog_char -> char PROGMEM in Print.cpp
http://code.google.com/p/arduino/issues/detail?id=795
2012-02-12 19:52:03 -05:00
Zach Eveland 35bbf80ba9 adjusting descriptors - trying to prevent sketch and bootloader from grabbing different COM numbers on Windows 2012-02-08 01:16:56 -05:00
Zach Eveland d7b0507e8a fixed starting Leonardo bootloader from sketch
AvrdudeUploader class opens and closes Leonardo port at the magic baudrate before starting avrdude; reduced reset timeout from 250 ms to 15 ms
2012-02-03 21:42:46 -05:00
Zach Eveland a794f295e0 Merge branch 'master' of github.com:arduino/Arduino into LUFA_bootloader 2012-02-03 19:54:33 -05:00
David A. Mellis e1438efb3a Making head and tail unsigned to avoid division in serial ISR.
http://code.google.com/p/arduino/issues/detail?id=776
2012-02-03 17:24:29 -05:00
Zach Eveland 45d3b10295 Caterina now cleanly hands off operation to the sketch
had to remove TIMER1 operation from bootloader - was interfering with normal sketch operation
2012-01-24 18:04:10 -05:00
Zach Eveland 989f672d34 Merge branch 'master' of github.com:arduino/Arduino into new-extension 2012-01-10 12:02:27 -05:00