Commit Graph

200 Commits

Author SHA1 Message Date
Zach Eveland 8f5869009c fixed minor compilation warnings for Leonardo 2012-03-03 13:26:57 -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
David A. Mellis 6c00397e22 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 3b962be273 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 95b51c7728 Fixing warnings (unsigned comparisons to 0). (maniacbug) 2012-01-02 12:57:23 -05:00
David A. Mellis 3f429a9c61 Fixing static is not at beginning of declaration warnings (maniacbug). 2012-01-02 12:38:23 -05:00
Zach Eveland cbce8ed4bf Merge branch 'master' of github.com:arduino/Arduino into new-extension 2011-12-31 11:21:44 -05:00
David A. Mellis 3ece2827a4 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
Zach Eveland 4e9fb924b2 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
Zach Eveland e405a6eb60 Revert "changed Keyboard write() method to type(). Made write() an alias for type() to allow subclassing by Stream."
This reverts commit de1d5fc0cb82874c0dcb766c5fb27ab36c5cb32c.
2011-12-20 17:08:07 -05:00
Zach Eveland e4930f866d changed Keyboard write() method to type(). Made write() an alias for type() to allow subclassing by Stream. 2011-12-20 17:00:19 -05:00
Zach Eveland 6dc00061df fixed attachInterrupt() on Leonardo
had to define a separate block for the 32U4 since it looks like a Mega-series board based on a simple register trick.  Only two useable HW interrupts though, compared to the Megas' 8, and numbering differs.
2011-12-19 15:40:12 -05:00
Zach Eveland 58fc0d17cc added asynchronous buffering of received CDC characters
This fixes the issue Federico reported where bytes written by host but not read by sketch would cause serial connection to lock up.  Ring buffer implementation is based on HardwareSerial.cpp.

Adds public accept() method to CDC.
2011-12-18 17:52:35 -05:00
Zach Eveland 177641003c fixed digitalWrite on timer 4 pins (D6 and D13) 2011-12-18 14:18:38 -05:00
Zach Eveland c58fcf5554 fixed TIMER4 use on Leonardo
ATMEGA32U4 has major differences in TIMER4 registers compared to ATMEGA1280 and 2560.  turnOffPWM, analogWrite, and initialize routines had wrong registers, bit names, etc.
2011-12-11 19:56:50 -05:00
David A. Mellis a9d1368e4c Updated reference voltage defines for ATmega1284P.
http://code.google.com/p/arduino/issues/detail?id=728
2011-12-02 17:18:15 -05:00
David A. Mellis c2263dfc0b Support 3rd external interrupt on ATmega1284P (maniacbug)
http://code.google.com/p/arduino/issues/detail?id=728
2011-12-02 17:17:27 -05:00
David A. Mellis aae9972a2b Fixing delayMicroseconds() timing for 20 MHz clocks. (Erdem U. Altinyurt)
http://code.google.com/p/arduino/issues/detail?id=306
2011-12-02 17:04:20 -05:00
David A. Mellis b86a613d99 readBytes() and readBytesUntil() handle zero bytes and return # of bytes read.
http://code.google.com/p/arduino/issues/detail?id=586
2011-11-19 16:23:19 -05:00
Zach Eveland 3c60b1e54f Fixed handling of Ax constants on Leonardo
Fixed mistake in assignment and handling of A6-A11 constants.  Renumbered constants for all Ax channels.
2011-11-16 10:49:41 -05:00
Zach Eveland 4b7771a815 restored original non-interrupt-driven DiskLoader
Interrupt-driven version was a dead-end - too many bugs with that approach.
2011-11-09 14:04:59 -05:00
Zach Eveland 61b03fc985 Merge branch 'new-extension' of github.com:arduino/Arduino into diskloader_reboot 2011-10-31 21:42:09 -04:00
David A. Mellis aaa69be264 Protecting the version of parseInt() and parseFloat(). (Paul Stoffregen)
This should allow us more flexibility in determining how to handle these functions later.  For example, in specifying that initial characters shouldn't be skipped.

http://code.google.com/p/arduino/issues/detail?id=698
2011-10-29 17:40:23 -04:00
Zach Eveland 3524f2ff0b Revert "Merge branch 'master' of github.com:arduino/Arduino into diskloader_reboot"
This reverts commit df9835efafd13685251749bc210c0b96a18a96a5, reversing
changes made to ec45af8bfa9222a807c075dd1db4b5aa798bba03.

Conflicts:

	hardware/arduino/variants/mega/pins_arduino.h
	libraries/Ethernet/examples/PachubeClientString/PachubeClientString.ino
2011-10-27 11:45:13 -04:00
Zach Eveland ec93cd74a1 Merge branch 'new-extension' of github.com:arduino/Arduino into diskloader_reboot
Conflicts:
	hardware/arduino/variants/mega/pins_arduino.h
	libraries/Ethernet/examples/PachubeClient/PachubeClient.ino
	libraries/Ethernet/examples/PachubeClientString/PachubeClientString.ino
2011-10-27 11:41:02 -04:00
Zach Eveland 415a5e119d changes in core and boards.txt to support new bootloader
old bootloader could fit in only 2 kB of flash.  new version has to have a 4 kB block - jump-to address and boards.txt must reflect this.
2011-10-27 11:36:10 -04:00
Zach Eveland 29cfd9e9fe Merge branch 'master' of github.com:arduino/Arduino into diskloader_reboot
Conflicts:
	app/src/processing/app/Editor.java
	app/src/processing/app/Sketch.java
	build/shared/examples/4.Communication/SerialCallResponse/SerialCallResponse.pde
	build/shared/lib/theme/theme.txt
	hardware/arduino/cores/arduino/HardwareSerial.h
	hardware/arduino/cores/arduino/Print.cpp
	hardware/arduino/cores/arduino/WString.h
	hardware/arduino/variants/mega/pins_arduino.h
	libraries/Ethernet/examples/PachubeClient/PachubeClient.ino
	libraries/Ethernet/examples/PachubeClientString/PachubeClientString.ino
	libraries/Firmata/examples/EchoString/EchoString.ino
	libraries/SD/File.cpp
	libraries/SoftwareSerial/SoftwareSerial.cpp
	libraries/SoftwareSerial/SoftwareSerial.h
	libraries/SoftwareSerial/examples/SoftwareSerialExample/SoftwareSerialExample.ino
	libraries/SoftwareSerial/keywords.txt
2011-10-27 09:32:27 -04:00
David A. Mellis 5c9d10ad94 Bug fix in replace().
http://code.google.com/p/arduino/issues/detail?id=694
2011-10-25 11:15:14 -04:00
David A. Mellis 8d48010edf Moving ARDUINO_MAIN from main.cpp to wiring_digital.c and hiding PA, PB, etc.
http://code.google.com/p/arduino/issues/detail?id=677
http://code.google.com/p/arduino/issues/detail?id=691
2011-10-24 16:50:15 -04:00
David A. Mellis 85f10a7150 Correcting analogReference() constants for ATtiny24/44/84 and 25/45/85.
DEFAULT, EXTERNAL, and INTERNAL have different values on those processors.
2011-10-24 15:44:01 -04:00
David A. Mellis d3fa070d10 Lowering timer 1 prescale factor (to 8 from 64) for F_CPU less than 8 MHz.
Otherwise, you can see flicker on an LED.
2011-10-21 11:54:11 -04:00
David A. Mellis 77cdeb5b93 Fixing more warnings (Paul Stoffregen). 2011-10-10 11:28:44 -04:00
David A. Mellis 075bb009b9 Fixing warnings in Stream (Paul Stoffregen)
http://code.google.com/p/arduino/issues/detail?id=208
2011-10-02 09:44:21 -04:00
David A. Mellis e0c524b057 Using alternate timer 0 overflow interrupt signal name for ATtiny24/44/84. 2011-09-30 11:24:44 -04:00
Zach Eveland d004d6a9b4 added Mouse.isPressed() method 2011-09-16 16:59:14 -04:00
Zach Eveland 3287477db1 made some Keyboard methods private 2011-09-16 16:43:07 -04:00
Zach Eveland 5bbe2a63e4 added support for TIMER4D used for PWM on Leonardo and Micro D6 2011-09-16 16:36:42 -04:00