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
5c53796cec
added static touchPort() method to Serial class.
...
Used by Leonardo to quickly tap the comm port to initiate a reset without the potential problems of doing a full Serial object construct/dispose with all listeners, etc.
2012-02-13 00:37:21 -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
cb8e184ab8
Using setMinimumSize() instead of window listener for editor windows.
...
http://code.google.com/p/arduino/issues/detail?id=52
2012-02-12 19:58:40 -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
731ee15f0e
increased wait time for Leonardo uploading to 8 seconds
2012-02-06 15:27:44 -05:00
Zach Eveland
f2d5ea87ad
increased Leonardo bootloader timeout to 16 seconds
2012-02-06 15:23:41 -05:00
Zach Eveland
d8e906f81b
added LUFA CDC Bootloader.inf for testing - temporary only
2012-02-03 23:16:35 -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
3dfc2c6311
Serial.print() -> Serial.write() in SD SerialPrint_P function.
...
http://code.google.com/p/arduino/issues/detail?id=759
2012-02-03 17:32:54 -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
Tom Igoe
e828236692
Updated Joystick Mouse Control with hardware pin descriptions
...
Did it in the correct branch this time.
2012-01-16 15:28:04 -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
b78c50bc70
updated Arduino Leonardo.inf with PID for Leonardo bootloader
2012-01-10 17:25:29 -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
0797b618ec
Adding .gitignore to ignore (some) generated binaries.
2012-01-04 15:50:11 -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
102aabf4ff
removed old, invalid device reference in Leonardo .inf file.
...
PID 0x0032 was a leftover from bootloader testing - should never have been committed in the first place.
2011-12-31 12:24:38 -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