Commit Graph

357 Commits

Author SHA1 Message Date
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