Commit Graph

1927 Commits

Author SHA1 Message Date
Martino Facchin 35e45c9fe0 [AVR] Add -g to elf.flags to allow inclusion of debug symbols in elf
Fixes #5539
2016-11-23 14:51:38 +01:00
Martino Facchin 54f7041224 [SAM] Add -MMD flag to generate depencencies files for S targets 2016-11-23 14:46:35 +01:00
Martino Facchin 65d86ace71 [AVR] Add -MMD flag to generate depencencies files for S targets 2016-11-23 14:46:04 +01:00
Matthijs Kooijman f9cf1790b5 Add support for the JTAGICE3 programmer
This adds the configuration needed to support JTAGICE3.
2016-11-23 13:08:26 +01:00
Matthijs Kooijman fc3971e877 Support the Atmel STK500 development board for ISP 2016-11-23 12:45:31 +01:00
Martino Facchin 58be0341d0 Update bundled avr core to 1.6.15 2016-11-22 11:21:23 +01:00
Kyle Evans 549a8055fa Fix signature and definition of utoa to match name 2016-10-13 17:21:11 -05:00
per1234 80f51f4c08 Set default values for Arduino AVR Boards upload.verify and program.verify
Arduino AVR Boards 1.6.11 added the {upload.verify} property to the tools.avrdude.upload recipe and {program.verify} to the tools.avrdude.program recipe to support the File > Preferences > Verify code after upload setting.

In Arduino IDE versions 1.6.8 and previous upload.verify is set to true or false depending on the preferences setting which causes Upload to an AVR board with Arduino IDE 1.6.8 or older and Arduino AVR Boards 1.6.11 or newer to generate AVRDUDE commands like:

avrdude -CC:\Users\per\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino2/etc/avrdude.conf -v true -patmega328p -carduino -PCOM21 -b115200 -D -Uflash:w:C:\Users\per\AppData\Local\Temp\buildece560c1024a4a94b7c3b05be61aa2fc.tmp/sketch_sep28a.ino.hex:i

program.verify is unset, which causes Upload Using Programmer to an AVR board with Arduino IDE 1.6.8 or older and Arduino AVR Boards 1.6.11 or newer to generate AVRDUDE commands like:

avrdude -CC:\Users\per\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino6/etc/avrdude.conf -v {program.verify} -patmega328p -cusbasp -Pusb -Uflash:w:C:\Users\per\AppData\Local\Temp\build77ff2e21c5523c5895e8d065447461cb.tmp/sketch_sep28a.ino.hex:i

AVRDUDE 6.0.1 is able to ignore the spurious item in the command and successfully upload but when used with AVRDUDE 6.3.0 this causes upload to fail:

avrdude: no programmer has been specified on the command line or the config file
         Specify a programmer using the -c option and try again

This means that Arduino AVR Boards 1.6.12 and 1.6.14 are not backwards compatible with Arduino IDE 1.6.8 and previous.

Setting a default empty value for the upload.verify and program.verify properties in platform.txt causes Arduino IDE 1.6.8 and older to generate an AVRDUDE command identical to that generated with Arduino AVR Boards 1.6.10 or older(meaning that, as previously, the preferences setting has no effect):

avrdude -CC:\Users\per\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino2/etc/avrdude.conf -v -patmega328p -carduino -PCOM21 -b115200 -D -Uflash:w:C:\Users\per\AppData\Local\Temp\buildece560c1024a4a94b7c3b05be61aa2fc.tmp/sketch_sep28a.ino.hex:i

Arduino IDE 1.6.9 and newer overrides the default values of upload.verify and program.verify, therefore this change has no effect on the AVRDUDE command generated and verification is controlled by the preferences setting as usual.

Tested back to Arduino IDE 1.6.2, the oldest IDE version that supports Boards Manager updates.
2016-09-29 15:42:38 -07:00
Martino Facchin af334d59f1 Fix bundled avrdude urls 2016-09-22 12:40:51 +02:00
Martino Facchin b4cdb3b362 Fix link for bundled avr core in package_index_bundled 2016-09-21 15:05:17 +02:00
Martino Facchin 35743b1fa6 Update to avrdude 6.3 and avr core 1.6.14 2016-09-21 10:21:45 +02:00
Cristian Maglie cce03ea3a6 Converted some old examples from pde to ino 2016-09-21 09:54:30 +02:00
Iván Pérez 24cba16802 Spaces to tab 2016-09-12 09:00:04 +02:00
Iván Pérez 4650c2c3d8 WString: add `toDouble`
`toFloat` internally converts into double and then truncates into a
float, so why not add a method to return the double?
2016-09-12 08:56:02 +02:00
Sandeep Mistry 6c54454d1c Merge pull request #5300 from mischnic/attiny_anlReference
Add all analog references supported by the ATtinyX5 series
2016-09-08 15:37:27 -04:00
Niklas Mischkulnig a2a17a0c83 Requested changes to not change code for non ATtinyX5s 2016-09-07 19:02:48 +02:00
Kyle Chisholm b23e7193be remove extra semicolon
I was compiling with -Werror and this little error popped up
2016-08-28 21:48:09 -04:00
Niklas Mischkulnig 5d15f091a8 Add all analog references supported by the ATtinyX5 series 2016-08-27 11:48:04 +02:00
Paul Vivier 0272252e6a Update SoftwareSerialExample.ino
Also includes Micros per https://www.arduino.cc/en/Reference/SoftwareSerial
2016-08-14 19:14:53 -04:00
Cristian Maglie e80c085996 Use a specific hardware/package_index_bundled.json. AVR core version to 1.6.13
Previously, during the build, the full package_index.json was downloaded
and distributed with the Arduino IDE.
This lead to a situation where it was difficult to test new AVR cores
before publishing them to the public package_index.json.

Now the bundled AVR core is specificed in the file:
`hardware/package_index_bundled.json`
this index is loaded from the IDE at startup and the package_index.json
is overlayed on it.

This should also solve part of #5143 (Repeatable builds and snapshots of
package/library indexes)
2016-08-11 11:02:03 +02:00
Cristian Maglie 629b662de3 Revert "Bump avr core version to 1.6.13"
This must be made together with the release of AVR core 1.6.13.

This reverts commit d20e608623.
2016-08-09 14:58:47 +02:00
Martino Facchin d20e608623 Bump avr core version to 1.6.13 2016-08-05 16:59:51 +02:00
Martino Facchin 4b4f185239 Move lto flags before -Wl to fix Mega2560 "relax" substitution 2016-07-25 14:56:35 +02:00
Martino Facchin 0bdcafd00d publish sam core 1.6.9 2016-07-25 13:27:26 +02:00
Martino Facchin 19c4d6316b publish avr core 1.6.12 2016-07-25 13:27:07 +02:00
Cristian Maglie 4cf3278ee0 Enable LTO 2016-07-25 12:49:07 +02:00
Cristian Maglie ba0c41b93d Added -fpermissive flag.
This avoid build errors on old libraries. It may possibly be removed in
the future after a period of transition.
2016-07-25 12:49:07 +02:00
Martino Facchin e6d7cea175 Merge pull request #5128 from facchinm/configurable_usb210
[AVR][USB] Configurable USB_VERSION value via define
2016-07-22 10:08:04 +02:00
Martino Facchin ce81675549 Merge pull request #5135 from facchinm/usbsuspend_resume
Send an USB remote wakeup if data need to be written
2016-07-21 10:42:40 +02:00
Sandeep Mistry b37430b473 Wrap SoftwareSerial _SS_MAX_RX_BUFF define
To allow sketches to override value as per #58.
2016-07-18 15:54:46 -04:00
Sandeep Mistry 05be7ce395 Port #4667 to SAM core 2016-07-18 15:10:09 -04:00
Sandeep Mistry 1884d1d331 Cast to "unsigned int" instead of just "unsigned" for consistency 2016-07-18 15:04:29 -04:00
Sandeep Mistry 87643f93d5 Merge pull request #4667 from bblanchon/patch-1
Speed and size improvement in Print::printFloat()
2016-07-18 14:50:09 -04:00
Sandeep Mistry 98134a4aee Merge pull request #4718 from mattb5906/new-feature/stream-timeout-get-4680
Add getTimeout accessor method.
2016-07-18 14:18:59 -04:00
Cristian Maglie a5caee68a8 Merge branch 'invalidated-string-move' of https://github.com/sandeepmistry/Arduino 2016-07-18 18:30:23 +02:00
Martino Facchin 003d22f2a5 Send an USB remote wakeup if data need to be written
On Linux, setting autosuspend_delay_ms to N and control to auto allows the host pc to suspend the peripheral. Some Linux distro (Ubuntu, Mint) apply this behaviour by default.
If the sketch's prints where less frequent than N milliseconds the sketch prints would never arrive.
This patch allows sending a remote wakeup event to unsuspend the peripheral and allow the serial prints to be received.
2016-07-14 18:43:43 +02:00
Martino Facchin 28e10e95da [AVR][USB] fix IRQ flags clearing 2016-07-14 18:22:41 +02:00
Martino Facchin 40d7ab0dc5 configurable USB_VERSION string via define
to allow WebUSB development, provide a way to change the USB_VERSION reported
using an additional core.

The additional (webUSB) core will survive IDE and AVR core updates
2016-07-13 14:28:17 +02:00
Sandeep Mistry f49c7ae3de Make String::move of an invalidated String result in an invalidated String 2016-07-12 17:29:13 -04:00
Arturo Guadalupi bbd3ae274b Merge pull request #4864 from sandeepmistry/avr-usb-tx
Subtract one from USB_EP_SIZE in USB_SendSpace
2016-07-11 18:02:38 +02:00
Arturo Guadalupi e90cf55143 Merge pull request #5018 from sandeepmistry/sam-SerialUSB.availableForWrite
SAM: Add Serial_::availableForWrite
2016-07-07 18:12:27 +02:00
Arturo Guadalupi 843ec70eae Merge pull request #4814 from sandeepmistry/avr-pin_
Add PIN_* defines to AVR variants
2016-07-07 17:51:31 +02:00
Arturo Guadalupi 3d92deb7a3 Merge pull request #4813 from sandeepmistry/sam-i2c-symbols
Port SDA and SCL symbols to SAM
2016-07-07 17:49:39 +02:00
Cristian Maglie b599c4d694 Update revision log. Made samd/WString.h identical again to avr version. 2016-06-28 21:00:09 +02:00
Christopher Andrews 0e8904350d Modified begin() & end() for read/write
begin() and end() only allowed read access, these changes now allow both.
2016-06-28 20:58:38 +02:00
Ivan-Perez f68a722bde WString.h: allow modifying the string while iterating 2016-06-28 20:58:38 +02:00
Ivan-Perez 07fa22fd52 WString.h: Add const qualifier to `begin` and `end` functions 2016-06-28 20:58:38 +02:00
Sandeep Mistry d69c372986 Add Serial_::availableForWrite 2016-06-06 10:13:18 -04:00
kellerkindt ab4e114624 Fix buffer being overwritten by multiple twi_transmit calls
Fixes that more complex methods (like Stream::print(float)) do not work properly.

Without this fix, Wire.print(1.01f); results in '1' because Print::printFloat(double, uint8_t) performs multiple print() and therefore twi_transmit calls. Also Wire.println("Heyho"); results only in a newline character.
2016-06-05 03:01:57 +02:00
jantje 43a8c3868e fix for #4993 2016-05-29 16:00:16 +02:00
Martino Facchin a73c18c1f4 Move Caterina_BL related defines into generic USBCore.h
In an excess of confidence, these defines were added to Leonardo's variant.h
3rd party boards sometimes avoid inheriting this variant but they still define USBCON, thus breaking the build
2016-05-18 14:23:40 +02:00
Brent Wilkins e8f9002e75 Fixing issue #4940 (typo) 2016-05-10 08:33:12 -06:00
Martino Facchin 388592e416 update SAM core to 1.6.8 2016-05-10 10:18:36 +02:00
Martino Facchin 271a1e4fbc update AVR core to 1.6.11 2016-05-10 10:18:15 +02:00
Martino Facchin 8807a0d1cd add support for remote upload on Yun shield 2016-05-10 10:13:51 +02:00
Cristian Maglie 7cd88df271 sam: added {upload.verify} option in platform.txt 2016-04-28 15:36:56 +02:00
Cristian Maglie bca77163fb Merge branch 'upload-without-verify' of https://github.com/gh-megabit/Arduino 2016-04-28 15:09:27 +02:00
Cristian Maglie 66c9303bf0 Merge branch 'sam-recipe_ar_pattern-backwards-compatibility' of https://github.com/sandeepmistry/Arduino 2016-04-26 17:30:45 +02:00
Cristian Maglie 9492d5ee05 Removed extra whitespaces in WString.h 2016-04-20 20:30:24 +02:00
Cristian Maglie 1c76ee9d7c Added string iterator in sam core.
See #2179
2016-04-20 17:07:54 +02:00
Christopher Andrews 500a3fdbe7 Removed C++11 dependency for `begin()` and `end()`
As I was not able to base the return types of `begin()` & `end()` off the c_str() function, I have changed the source so the features can be used by C++98 code, while still allowing ranged loops in C++11.
2016-04-20 16:07:52 +02:00
Christopher Andrews 8e385bfbaf Updated String library to use C++11 iterators.
This will allow using the String library in a ranged for loop:

```C++
String s = "Hi, this is a test";

for( char c : s )
  Serial.print( c );
```
2016-04-20 16:07:52 +02:00
gh-megabit 4b64ef74ba Implement Do-Not-Verify-After-Upload preference for Serial Uploads 2016-04-15 21:15:34 +01:00
Sandeep Mistry 817d700a75 Subtract one from USB_EP_SIZE in USB_SendSpace
This avoids dealing with ZLP’s in USB_Send, because the max packet size
will be EP size - 1.
2016-04-14 10:06:47 -04:00
Martino Facchin 4c901d3f9f [AVR] Discover newer bootloader at runtime
Replaces #4280, only checks for the bootloader once

Tested with Hoodloader2, should work with every LUFA-derived bootloader released after 2014 (.apitable_signatures section must be placed at end of the flash)

BootloaderAPITable.S :

.global BootloaderAPI_Signatures
BootloaderAPI_Signatures:

    .long BOOT_START_ADDR ; Start address of the bootloader
    .word 0xDF00 ; Signature for the CDC class bootloader
    .word 0xDCFB ; Signature for a LUFA class bootloader

makefile:

BOOT_API_LD_FLAGS    += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures,  BootloaderAPI_Signatures,  8)
2016-04-06 17:41:06 +02:00
Bradley Luke Totaro 1e461ce5fb Update SoftwareSerial.cpp 2016-04-05 15:10:46 -04:00
Sandeep Mistry c2c3f4623c Correct NUM_DIGITAL_PINS to include analog pins 2016-04-05 12:11:06 -04:00
Cristian Maglie e9ac544f23 Merge branch 'sam-analogInputToDigitalPin' of https://github.com/sandeepmistry/Arduino 2016-04-05 17:19:15 +02:00
Sandeep Mistry 9795f2d23a Sync avr/pgmspace.h entries with SAMD core
Some entries were missing.
2016-04-05 09:33:06 -04:00
Sandeep Mistry faf591339a Add PIN_* defines to AVR variants 2016-04-04 15:41:38 -04:00
Sandeep Mistry ea7fbdec6b Port SDA and SCL symbols to SAM 2016-04-04 15:03:14 -04:00
Sandeep Mistry aabdb852b5 Port analogInputToDigitalPin macro to SAM core 2016-04-04 14:29:07 -04:00
Sandeep Mistry 40d46d57a2 recipe.ar.pattern backwards compatibility
Port of https://github.com/arduino/Arduino/pull/4737
2016-04-04 14:12:56 -04:00
Sandeep Mistry e8cb0aeea3 Replace force linking "{build.path}/core/syscalls_sam3.c.o" with -u flags 2016-04-04 14:10:23 -04:00
Sandeep Mistry 509721213b Add comment for archive_file_path 2016-04-04 13:27:47 -04:00
Sandeep Mistry 6241459627 Merge pull request #4737 from per1234/recipe_ar_pattern-backwards-compatibility
AVR recipe.ar.pattern backwards compatibility
2016-04-04 13:26:05 -04:00
Sandeep Mistry ed9240d5e7 Merge pull request #4716 from asukiaaa/master
Corrected comments of rx and tx in a SoftwareSerial example.
2016-04-04 10:00:47 -04:00
Arturo Guadalupi a7ca976623 Merge pull request #4669 from sandeepmistry/software-serial-peek-cast
Add missing cast to SoftwareSerial::peek() when returning buffered value
2016-03-31 15:03:55 +02:00
per1234 efbc3640cc AVR recipe.ar.pattern backwards compatibility
Define archive_file_path in Arduino AVR Boards platform.txt to provide
backwards compatibility with IDE versions previous to 1.6.6. The
archive_file_path value set in platform.txt is overridden in IDE 1.6.6+.
This produces avr-ar commands identical to the previous behavior.
2016-03-22 03:31:10 -07:00
asukiaaa c2499b8377 Corrected comments of rx and tx for SoftwareSerial example. 2016-03-19 16:21:07 +09:00
mattb5906 5bfd17f231 Add getTimeout accessor method. 2016-03-18 22:26:37 +00:00
per1234 bd39621f46 Clean up comments in platform.txt
- Remove comment in Arduino AVR Boards platform.txt about -w flag. This
is no longer relevant since the compiler warning level is now set by the
user.
- Fix typos
2016-03-15 15:42:16 -07:00
Phil Manofsky 1983f7a869 Update boards.txt
added "build.usb_manufacturer" entry that overrides default macro in USBCore.cpp source file. this isn't really necessary since the source macro is the same as in "boards.txt", but it gives 3rd party board vendors direction in how to have their SAM3X board use their own manufacturer string during USB enumeration.
2016-03-14 23:25:13 -04:00
Phil Manofsky 18250aec57 allows use of "myboard.build.pid" in boards.txt
3rd party boards that use sam core can have their own USB product ID that is defined in "boards.txt"
2016-03-14 23:20:46 -04:00
Phil Manofsky 4be3e49172 3rd party can use own Product/manufacturer string
now "myboard.build.usb_product" and "myboard.build.usb_manufacturer" from a 3rd party board in "boards.txt" are used in source code. if they aren't defined in "boards.txt", default values are used.
2016-03-14 23:16:36 -04:00
Phil Manofsky f5282f2ce6 allows use of "myboard.build.vid" in boards.txt
allows people to create board that depends on sam core to use their own Vendor ID instead of Arduino's
2016-03-14 23:09:26 -04:00
Sandeep Mistry 98699dfa7c Make SoftwareSerial receive buffer a uint8_t array 2016-03-10 10:23:50 -05:00
Sandeep Mistry dfc3a64744 Add missing cast to SoftwareSerial::peek() when returning buffered value 2016-03-10 10:23:50 -05:00
Paolo Paolucci 26e25a4d58 Fix Wire register
Move TWBR register from Wire.cpp to twi.c file.
2016-03-09 15:47:55 -05:00
Benoît Blanchon 9509587472 Speed and size improvement in Print::printFloat()
Avoid using the overload of print() for signed integer since a negative value is not allowed here.
This results in a smaller (unless print(int) is used somewhere else in the program) and faster code because the overload for unsigned integer is simpler.
2016-03-08 22:13:10 +01:00
Martino Facchin 5f9168d3a2 update sam core to version 1.6.7 2016-03-08 11:45:52 +01:00
Sandeep Mistry 10ef7ef7e1 Move AVR Wire library utility folder under source 2016-03-04 17:11:56 -05:00
Cristian Maglie 576ac3ca30 AVR core version to 1.6.10 2016-03-04 14:56:09 +01:00
Sandeep Mistry 244b20b7cc Merge pull request #4646 from arduino/SimonePDA-patch-3
Update library.properties
2016-03-03 15:19:26 -05:00
Sandeep Mistry 391a015de0 Merge pull request #4645 from arduino/SimonePDA-patch-2
Update library.properties
2016-03-03 15:19:06 -05:00
SimonePDA 1eabcfbefa Update library.properties 2016-03-03 19:57:04 +01:00
SimonePDA 65eac8e892 Update library.properties 2016-03-03 19:34:02 +01:00
SimonePDA bb8ee5ac95 Update library.properties 2016-03-03 19:26:22 +01:00
SimonePDA 8bd908c446 Update library.properties 2016-03-03 19:13:25 +01:00
Sandeep Mistry b7f279610b Use modulo operator in Print::printNumber
Port of @tico-tico’s change in
https://github.com/tico-tico/Arduino/commit/a7454b6b5c59187b95c4224aad87
bb01faa06e85 to SAM core.
2016-03-03 12:00:54 -05:00