Alarus
5aa4dafe21
Update hardware/arduino/cores/arduino/HardwareSerial.h
...
Adding advanced begin (); with the ability to specify the length of bits, parity, stop bits.
2012-08-12 20:18:50 +06:00
Shigeru KANEMOTO
44556206a8
Fix for tone() on Leonardo.
2012-08-08 18:27:40 +09:00
David A. Mellis
d83543cff1
Use "wiring" (not "stk500v2") avrdude protocol for uploads to Mega 2560.
...
It performs the auto-reset in avrdude. Otherwise, some uploads seem to fail (possibly because it takes too long to launch avrdude from the IDE, so there's too much of a delay between the auto-reset done by the IDE and the upload).
http://code.google.com/p/arduino/issues/detail?id=806
2012-07-15 09:12:08 -04:00
David A. Mellis
6036846ce3
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
71a615c65d
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
f833374312
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
308d907694
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
b787982eec
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
dab4d8dee6
Added support for interrupt on INT2 and INT3 on the Leonardo
2012-06-02 20:08:46 +02:00
David A. Mellis
2cbde219c1
Merge remote-tracking branch 'upstream/master'
2012-05-21 09:31:54 -07:00
David A. Mellis
81edb9064a
Updating SoftwareSerial pin mapping (pin change interrupts) for Leonardo.
2012-05-20 15:56:49 -07:00
Zach Eveland
5c77b0ee3b
added pin change interrupt defines for Leonardo. fix for broken software serial on Leonardo
2012-05-19 22:05:46 -04:00
David A. Mellis
39eed5acc2
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
b29ae7a249
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
9520a531de
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
2e575db249
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
4fb17c47cd
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
9904a6f497
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
bb9a4f89cc
merged Caterina with Blink
2012-04-11 23:24:04 -04:00
Zach Eveland
7e235dbff8
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
d3a8e450ee
Micro I hardly knew ye
2012-04-09 10:12:14 -04:00
Zach Eveland
3f6342e9bb
Micro and Leonardo bootloaders for distribution are now merged with Blink sketch
2012-04-09 08:08:34 -04:00
Zach Eveland
caeaa4571c
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
d02e4481d3
PID and VID are no longer hard-coded in bootloader. instead they are passed in at compile-time from makefile. also added and renamed built bootloader images for Micro and Leonardo
2012-04-09 08:03:56 -04:00
Zach Eveland
437025c6ee
Revert "Revert "added a short delay and comment to boolean operator in CDC""
...
This reverts commit 200eefb4e2
.
2012-04-06 21:23:17 -04:00
Federico Vanzati
200eefb4e2
Revert "added a short delay and comment to boolean operator in CDC"
...
This reverts commit ade4893f58
.
2012-04-06 17:36:09 +02:00
Zach Eveland
ade4893f58
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
b685aef6ec
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
97d9ce93ca
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
b86ec2723a
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
3d15f3781a
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
259a2f18b3
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
63fdb8ef7a
Keyboard.type() now just presses and releases the key indicated - doesn't releaseAll()
2012-03-26 17:00:16 -04:00
Zach Eveland
2e140e4950
added stub methods for begin() and end() to Mouse and Keyboard
2012-03-26 16:02:40 -04:00
Zach Eveland
a0f1f1a930
Merge branch 'master' of github.com:arduino/Arduino into LUFA_bootloader
2012-03-24 09:30:17 -04:00
David A. Mellis
13e0b9335c
Putting ArduinoISP back to 19200 baud.
...
From 9600. And lowering the delay in the heartbeat from 40 to 20,
which seems to fix things again.
2012-03-15 19:02:08 -04:00
Zach Eveland
067cca7baa
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
Zach Eveland
a05a0d531b
bugfix for Caterina not starting sketch if "verify upload" turned off in IDE.
...
Previously, if avrdude skipped the upload step the read while write memory might never be reenabled. This would prevent the bootloader from ending and the sketch from starting - the bootloader just continued to run even after a successful upload. Now enable RWW when we receive the AVR109 "Exit bootloader" 'E' command. Had to disable lock bit changing support in the bootloader to free up flash for the change - will anyone miss it?
2012-03-14 17:48:11 -04:00
Zach Eveland
2a19c327bb
changed Caterina timeout after self-programming to 500 ms (from 250 ms)
...
attempt to fix bug reported by Dave Mellis:
"avrdude: ser_close(): can’t reset attributes for device: Invalid argument"
is thrown after attempting an upload in the IDE (though the upload seems to be successful)
2012-03-14 17:07:14 -04:00
Zach Eveland
30421143f9
give Leonardo bootloader 250 ms to finish housekeeping before leaving self-programming mode
...
Earlier approach had bootloader end as soon as it was told to. On Linux this caused problems with avrdude because the microcontroller never had a chance to send an acknowledgement.
2012-03-08 14:20:12 -05:00
Zach Eveland
33116711b0
removed old version of Leonardo's caterina bootloader, replaced with LUFA-based caterina
2012-03-08 13:47:42 -05:00
Cristian Maglie
177746aa7f
Fix for some strange behaviours during board reset
2012-03-07 16:21:04 +01:00
Zach Eveland
18f08bc7d4
Added Keyboard support for all modifier and all common non-printing keys.
2012-03-03 23:37:39 -05:00
Zach Eveland
aec3752e52
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
db82ab90eb
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
8a35793794
Merge branch 'master' of github.com:arduino/Arduino into LUFA_bootloader
...
Conflicts:
.gitignore
2012-03-03 13:28:39 -05:00
Zach Eveland
7387db0673
fixed minor compilation warnings for Leonardo
2012-03-03 13:26:57 -05:00
David A. Mellis
f4f62f9a12
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
09aa8bd678
reduced Caterina timeout to 8 seconds from 16
2012-03-01 08:51:47 -05:00
Zach Eveland
93a47f884d
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
Zach Eveland
f505a3da4c
Merge branch 'master' of github.com:arduino/Arduino into LUFA_bootloader
2012-03-01 08:32:21 -05:00
David A. Mellis
7ab140700b
Switching Mini w/ ATmega328 upload protocol from stk500 to arduino.
2012-02-29 17:25:46 -05:00
Cristian Maglie
5eef4ca79c
Autoreset 1200 bps fix.
2012-02-27 17:41:38 +01:00
Zach Eveland
ae23ed0570
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
65ddc6c43b
Merge branch 'master' of github.com:arduino/Arduino into LUFA_bootloader
2012-02-22 15:19:32 -05:00
Zach Eveland
4c3aa52258
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
94c09c2618
Changed Leonardo fuses to select longer clock startup time.
...
Done with the aim of discriminating more reliably between reset sources.
2012-02-14 10:00:55 -05:00
Zach Eveland
52b0c7214b
Leonardo bootloader jumps straight to sketch for a power-on reset.
...
Disconnect programmer after burning bootloader to get the full effect. ICSP and JTAG programmers do a hardware reset after any reset condition, confusing the firmware a little.
2012-02-14 09:59:48 -05:00
Zach Eveland
bab3c5eade
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
25a4fe8607
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
0acebeeff4
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
c39793001c
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
4ee57f12e9
changed Caterina descriptors - Arduino LLC VID, new PID, manufacturer string, and serial number
2012-02-07 23:52:55 -05:00
Zach Eveland
5d53eed01a
fixed bug in Caterina which caused some programming instructions to fail
...
Timer 1 interrupts were trashing self-programming timing. Now disable Timer 1 compare match before doing Flash tasks and reenable afterward.
2012-02-07 23:46:31 -05:00
Zach Eveland
f2d5ea87ad
increased Leonardo bootloader timeout to 16 seconds
2012-02-06 15:23:41 -05:00
Zach Eveland
5483adf8fe
proper bootloader timeout and LED control in Leonardo bootloader
2012-02-03 23:15:04 -05:00
Zach Eveland
1e0700b536
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
086ed6382c
modify boards.txt with new settings for Caterina_LUFA
2012-02-03 20:24:24 -05:00
Zach Eveland
5eb7ad154b
Merge branch 'master' of github.com:arduino/Arduino into LUFA_bootloader
2012-02-03 19:54:33 -05:00
David A. Mellis
915e4889e4
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
1303b6fbba
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
6498b66059
move interrupt vector table to application section before jumping to it after upload finished.
2012-01-21 16:51:55 -05:00
Zach Eveland
73f6f2edd5
Leonardo bootloader checks reason for reset and jumps immediately to sketch if reset was caused by WDT
2012-01-21 16:39:06 -05:00
Zach Eveland
371b72c681
stripped all LUFA LED control. from LUFA-based Caterina
2012-01-19 21:31:51 -05:00
Zach Eveland
83c9f21667
changed fuses to select 4k bootloader for LUFA-based Caterina
2012-01-19 21:18:07 -05:00
Zach Eveland
db397d5b35
added Board/LEDs.h to LUFA-based Caterina
2012-01-19 21:17:12 -05:00
Zach Eveland
98b0491fbd
superficial changes to stock LUFA CDC bootloader - renamed project, removed unnecessary files
2012-01-19 20:31:35 -05:00
Zach Eveland
9c0352b22a
initial checkin of LUFA 111009 CDC bootloader
2012-01-19 20:04:55 -05:00
Zach Eveland
0fc76a6b87
made Leonardo and Micro bootloader PIDs same as sketch PIDs
2012-01-10 21:23:01 -05:00
Zach Eveland
2dfb0dce2c
restored composite and non-composite device descriptors (removed in 4b05c3fc75
)
...
Windows wants to see both types of device descriptors.
2012-01-10 20:52:57 -05:00
Zach Eveland
77b40e6bba
reenabled HID to force Leonardo bootloader to enumerate as a composite device
2012-01-10 17:04:32 -05:00
Zach Eveland
932afb8428
renamed DiskLoader to Caterina (after Leonardo's mom)
2012-01-10 16:29:47 -05:00
Zach Eveland
99fea13f84
changed USB PID for Leonardo and Micro bootloaders
...
sketch and bootloader will use different PIDs to distinguish one from the other.
2012-01-10 16:09:56 -05:00
Zach Eveland
48ed974834
fixed warning when comparing pgm_read_word(0) to -1 (thanks, Limor Fried and Phillip Torrone)
2012-01-10 16:00:46 -05:00
Zach Eveland
e3b89d178d
got rid of u8, u16, u32 typedefs in Diskloader
...
done to bring types in line with others in Arduino core
2012-01-10 15:51:44 -05:00
Zach Eveland
f403b001a2
made the bootloader's LED control macro names less offensive
...
TX_LED_OFF() instead of TXLED0, etc.
2012-01-10 15:38:26 -05:00
Zach Eveland
4b05c3fc75
added conditional compilation for HID, removed conditional compilation for CDC (is always used). disabled HID by default. also always enumerates as composite now.
...
the bootloader must always have a CDC interface. HID is optional and not even complete to reduce size.
2012-01-10 15:31:56 -05:00
Zach Eveland
015044add5
fix bug in handling of long descriptors for bootloader USB (thank you, Todd Krein, Limor Fried, and Phillip Torrone)
...
descriptors longer than 255 bytes were being shortened, causing problems with enumeration under Windows
2012-01-10 14:25:40 -05:00
Zach Eveland
2622ad5580
Merge branch 'master' of github.com:arduino/Arduino into new-extension
2012-01-10 12:02:27 -05:00
David A. Mellis
11281ec77e
Adding links to documentation of boards.txt and programmers.txt files.
2012-01-04 16:01:52 -05:00
David A. Mellis
76c964d32b
Adding INPUT_PULLUP option pinMode(). (Paul Stoffregen).
...
This also changes pinMode(pin, INPUT); to explicitly disable the pull-up resistor, even if it was previously set.
http://code.google.com/p/arduino/issues/detail?id=246
2012-01-02 14:20:28 -05:00
David A. Mellis
5088b09f2d
Fixing findUntil() problem with repeated initial characters. (Jeffery.zksun)
...
http://code.google.com/p/arduino/issues/detail?id=768
2012-01-02 13:49:59 -05:00
David A. Mellis
cce4ef7c69
Fixing warnings (unsigned comparisons to 0). (maniacbug)
2012-01-02 12:57:23 -05:00
David A. Mellis
c441bc1a0d
Fixing static is not at beginning of declaration warnings (maniacbug).
2012-01-02 12:38:23 -05:00
Zach Eveland
f39ec37722
reset the Leonardo board when leaving the bootloader, before starting the sketch
...
Done so all IO and other registers are properly reinitialized when a new sketch is uploaded or when an existing sketch is started. Uses a watchdog timeout with a 15 ms period to accomplish the reset. Bootloader checks the reason for reset and only enumerates as bootloader and enters the programming loop if reset was NOT caused by WDT.
2011-12-31 12:19:08 -05:00
Zach Eveland
8f9ec88f57
Merge branch 'master' of github.com:arduino/Arduino into new-extension
2011-12-31 11:21:44 -05:00
David A. Mellis
f520bb5051
Simplifying microseconds <-> clock cycles conversions. (Rob Tillaart)
...
This should fix problems with overflows in pulseIn(). It may make millis() slightly less precise for clock speeds that aren't multiple of 1 million, but we don't really support those anyway.
http://code.google.com/p/arduino/issues/detail?id=675
2011-12-30 18:05:12 -05:00
David A. Mellis
80a2154279
Fixing ArduinoISP sketch by lowering baud rate to 9600 (from 19200).
...
http://code.google.com/p/arduino/issues/detail?id=661
2011-12-28 18:43:36 -05:00
Zach Eveland
bdf7107507
bootloader merged with blink sketch
...
full set of descriptors in sketch fixes driver installation issue on Win7.
2011-12-26 17:19:48 -05:00
Zach Eveland
20e7f2d354
changed Keyboard write() method to type(). Made write() an alias for type() to allow subclassing by Stream.
2011-12-20 17:09:44 -05:00