diff --git a/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java b/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java index 047463db8da..e69d671d2e4 100644 --- a/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java +++ b/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java @@ -36,6 +36,8 @@ import cc.arduino.contributions.SignatureVerifier; import cc.arduino.contributions.filters.BuiltInPredicate; import cc.arduino.contributions.filters.InstalledPredicate; + +import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.module.mrbean.MrBeanModule; @@ -87,8 +89,13 @@ public void parseIndex() throws Exception { File[] indexFiles = preferencesFolder.listFiles(new TestPackageIndexFilenameFilter(new PackageIndexFilenameFilter(Constants.DEFAULT_INDEX_FILE_NAME))); for (File indexFile : indexFiles) { - ContributionsIndex contributionsIndex = parseIndex(indexFile); - mergeContributions(contributionsIndex, indexFile); + try { + ContributionsIndex contributionsIndex = parseIndex(indexFile); + mergeContributions(contributionsIndex, indexFile); + } catch (JsonProcessingException e) { + System.err.println(I18n.format(tr("Skipping contributed index file {0}, parsing error occured:"), indexFile)); + System.err.println(e); + } } List packages = index.getPackages(); diff --git a/arduino-core/src/processing/app/i18n/Resources_en.po b/arduino-core/src/processing/app/i18n/Resources_en.po index 00b1bcc1dd6..39069d058a9 100644 --- a/arduino-core/src/processing/app/i18n/Resources_en.po +++ b/arduino-core/src/processing/app/i18n/Resources_en.po @@ -1885,6 +1885,11 @@ msgstr "Sketchbook location:" msgid "Sketchbook path not defined" msgstr "Sketchbook path not defined" +#: ../../../../../arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java:96 +#, java-format +msgid "Skipping contributed index file {0}, parsing error occured:" +msgstr "" + #: ../../../../../app/src/processing/app/Preferences.java:185 msgid "Slovak" msgstr "Slovak" diff --git a/arduino-core/src/processing/app/i18n/Resources_en.properties b/arduino-core/src/processing/app/i18n/Resources_en.properties index 7ef286d6b33..17d42338c29 100644 --- a/arduino-core/src/processing/app/i18n/Resources_en.properties +++ b/arduino-core/src/processing/app/i18n/Resources_en.properties @@ -1378,6 +1378,10 @@ Sketchbook\ location\:=Sketchbook location\: #: ../../../processing/app/BaseNoGui.java:428 Sketchbook\ path\ not\ defined=Sketchbook path not defined +#: ../../../../../arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java:96 +#, java-format +!Skipping\ contributed\ index\ file\ {0},\ parsing\ error\ occured\:= + #: ../../../../../app/src/processing/app/Preferences.java:185 Slovak=Slovak diff --git a/build/arduino-builder-linux32-1.3.14.tar.bz2.sha b/build/arduino-builder-linux32-1.3.14.tar.bz2.sha deleted file mode 100644 index fa8a4d1ecc8..00000000000 --- a/build/arduino-builder-linux32-1.3.14.tar.bz2.sha +++ /dev/null @@ -1 +0,0 @@ -8cff35ac5691c15fe1825e8d166c6c0ccc001b44 diff --git a/build/arduino-builder-linux32-1.3.15.tar.bz2.sha b/build/arduino-builder-linux32-1.3.15.tar.bz2.sha new file mode 100644 index 00000000000..bedb2416f51 --- /dev/null +++ b/build/arduino-builder-linux32-1.3.15.tar.bz2.sha @@ -0,0 +1 @@ +d192fdadce5298f02b8fd5d310f0d8c3c359e41f diff --git a/build/arduino-builder-linux64-1.3.14.tar.bz2.sha b/build/arduino-builder-linux64-1.3.14.tar.bz2.sha deleted file mode 100644 index c9556aec51d..00000000000 --- a/build/arduino-builder-linux64-1.3.14.tar.bz2.sha +++ /dev/null @@ -1 +0,0 @@ -d6b64b953292a503385976b6f9893eb55ac13828 diff --git a/build/arduino-builder-linux64-1.3.15.tar.bz2.sha b/build/arduino-builder-linux64-1.3.15.tar.bz2.sha new file mode 100644 index 00000000000..35bf012fa57 --- /dev/null +++ b/build/arduino-builder-linux64-1.3.15.tar.bz2.sha @@ -0,0 +1 @@ +5c78ef903c9d45e89f84a77673bb6582712e982b diff --git a/build/arduino-builder-macosx-1.3.14.tar.bz2.sha b/build/arduino-builder-macosx-1.3.14.tar.bz2.sha deleted file mode 100644 index 970a023c54b..00000000000 --- a/build/arduino-builder-macosx-1.3.14.tar.bz2.sha +++ /dev/null @@ -1 +0,0 @@ -df319e9b7c8fae287890539d03d156870b4eb89e diff --git a/build/arduino-builder-macosx-1.3.15.tar.bz2.sha b/build/arduino-builder-macosx-1.3.15.tar.bz2.sha new file mode 100644 index 00000000000..0b0b9491d1a --- /dev/null +++ b/build/arduino-builder-macosx-1.3.15.tar.bz2.sha @@ -0,0 +1 @@ +708692dfc3af793170cdc964367abc628fcf0811 diff --git a/build/arduino-builder-windows-1.3.14.zip.sha b/build/arduino-builder-windows-1.3.14.zip.sha deleted file mode 100644 index d6b063a6166..00000000000 --- a/build/arduino-builder-windows-1.3.14.zip.sha +++ /dev/null @@ -1 +0,0 @@ -efcf35dd0e503183451be9b0b3ce5ca1eb2419b9 diff --git a/build/arduino-builder-windows-1.3.15.zip.sha b/build/arduino-builder-windows-1.3.15.zip.sha new file mode 100644 index 00000000000..fbdcdaac936 --- /dev/null +++ b/build/arduino-builder-windows-1.3.15.zip.sha @@ -0,0 +1 @@ +c504cf4bd956325e7c86982ff06990a976ae5867 diff --git a/build/build.xml b/build/build.xml index bedebdc237b..43464da190c 100644 --- a/build/build.xml +++ b/build/build.xml @@ -77,7 +77,7 @@ - + diff --git a/build/shared/examples/04.Communication/ReadASCIIString/ReadASCIIString.ino b/build/shared/examples/04.Communication/ReadASCIIString/ReadASCIIString.ino index acb9386f482..074c9c78976 100644 --- a/build/shared/examples/04.Communication/ReadASCIIString/ReadASCIIString.ino +++ b/build/shared/examples/04.Communication/ReadASCIIString/ReadASCIIString.ino @@ -5,14 +5,17 @@ It looks for an ASCII string of comma-separated values. It parses them into ints, and uses those to fade an RGB LED. - Circuit: Common-anode RGB LED wired like so: - * Red cathode: digital pin 3 - * Green cathode: digital pin 5 - * blue cathode: digital pin 6 - * anode: +5V + Circuit: Common-Cathode RGB LED wired like so: + * Red anode: digital pin 3 + * Green anode: digital pin 5 + * Blue anode: digital pin 6 + * Cathode : GND created 13 Apr 2012 by Tom Igoe + + modified 14 Mar 2016 + by Arturo Guadalupi This example code is in the public domain. */ diff --git a/build/shared/revisions.txt b/build/shared/revisions.txt index a98c4f85804..3a4dcd68de0 100644 --- a/build/shared/revisions.txt +++ b/build/shared/revisions.txt @@ -1,7 +1,13 @@ ARDUINO 1.6.9 [ide] +* Catch and report errors during parsing contributed index files +* Fixed IDE version color on about dialog box. Thanks @ivanebernal + [core] +* sam: Allow 3rd party boards that depend on SAM core to use their own + USB vid/pid and manufacturer/product strings. Thanks @philmanofsky. + [libraries] ARDUINO 1.6.8 - 2016.03.09 diff --git a/hardware/arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.cpp b/hardware/arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.cpp index 0a16ff7108b..376762e75c8 100644 --- a/hardware/arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.cpp +++ b/hardware/arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.cpp @@ -48,7 +48,7 @@ The latest version of this library can always be found at // Statics // SoftwareSerial *SoftwareSerial::active_object = 0; -char SoftwareSerial::_receive_buffer[_SS_MAX_RX_BUFF]; +uint8_t SoftwareSerial::_receive_buffer[_SS_MAX_RX_BUFF]; volatile uint8_t SoftwareSerial::_receive_buffer_tail = 0; volatile uint8_t SoftwareSerial::_receive_buffer_head = 0; diff --git a/hardware/arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.h b/hardware/arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.h index 622e2a516d5..26183ba853d 100644 --- a/hardware/arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.h +++ b/hardware/arduino/avr/libraries/SoftwareSerial/src/SoftwareSerial.h @@ -66,7 +66,7 @@ class SoftwareSerial : public Stream uint16_t _inverse_logic:1; // static data - static char _receive_buffer[_SS_MAX_RX_BUFF]; + static uint8_t _receive_buffer[_SS_MAX_RX_BUFF]; static volatile uint8_t _receive_buffer_tail; static volatile uint8_t _receive_buffer_head; static SoftwareSerial *active_object; diff --git a/hardware/arduino/avr/platform.txt b/hardware/arduino/avr/platform.txt index 4a3c6bbcdc6..0e8bc54ed29 100644 --- a/hardware/arduino/avr/platform.txt +++ b/hardware/arduino/avr/platform.txt @@ -9,7 +9,7 @@ name=Arduino AVR Boards version=1.6.10 # AVR compile variables -# --------------------- +# --------------------- compiler.warning_flags=-w compiler.warning_flags.none=-w @@ -17,12 +17,10 @@ compiler.warning_flags.default= compiler.warning_flags.more=-Wall compiler.warning_flags.all=-Wall -Wextra -# Default "compiler.path" is correct, change only if you want to overidde the initial value +# Default "compiler.path" is correct, change only if you want to override the initial value compiler.path={runtime.tools.avr-gcc.path}/bin/ compiler.c.cmd=avr-gcc compiler.c.flags=-c -g -Os {compiler.warning_flags} -std=gnu11 -ffunction-sections -fdata-sections -MMD -# -w flag added to avoid printing a wrong warning http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59396 -# This is fixed in gcc 4.8.3 and will be removed as soon as we update the toolchain compiler.c.elf.flags={compiler.warning_flags} -Os -Wl,--gc-sections compiler.c.elf.cmd=avr-gcc compiler.S.flags=-c -g -x assembler-with-cpp @@ -37,7 +35,7 @@ compiler.elf2hex.cmd=avr-objcopy compiler.ldflags= compiler.size.cmd=avr-size -# This can be overriden in boards.txt +# This can be overridden in boards.txt build.extra_flags= # These can be overridden in platform.local.txt @@ -113,7 +111,7 @@ tools.avrdude.bootloader.pattern="{cmd.path}" "-C{config.path}" {bootloader.verb # USB Default Flags -# Default blank usb manufacturer will be filled it at compile time +# Default blank usb manufacturer will be filled in at compile time # - from numeric vendor ID, set to Unknown otherwise build.usb_manufacturer="Unknown" build.usb_flags=-DUSB_VID={build.vid} -DUSB_PID={build.pid} '-DUSB_MANUFACTURER={build.usb_manufacturer}' '-DUSB_PRODUCT={build.usb_product}' diff --git a/hardware/arduino/sam/boards.txt b/hardware/arduino/sam/boards.txt index 249420051ab..5503786126c 100644 --- a/hardware/arduino/sam/boards.txt +++ b/hardware/arduino/sam/boards.txt @@ -12,6 +12,7 @@ arduino_due_x_dbg.upload.wait_for_upload_port=false arduino_due_x_dbg.upload.native_usb=false arduino_due_x_dbg.build.mcu=cortex-m3 arduino_due_x_dbg.build.f_cpu=84000000L +arduino_due_x_dbg.build.usb_manufacturer="Arduino LLC" arduino_due_x_dbg.build.usb_product="Arduino Due" arduino_due_x_dbg.build.board=SAM_DUE arduino_due_x_dbg.build.core=arduino @@ -35,6 +36,7 @@ arduino_due_x.upload.wait_for_upload_port=true arduino_due_x.upload.native_usb=true arduino_due_x.build.mcu=cortex-m3 arduino_due_x.build.f_cpu=84000000L +arduino_due_x.build.usb_manufacturer="Arduino LLC" arduino_due_x.build.usb_product="Arduino Due" arduino_due_x.build.board=SAM_DUE arduino_due_x.build.core=arduino diff --git a/hardware/arduino/sam/cores/arduino/Arduino.h b/hardware/arduino/sam/cores/arduino/Arduino.h index 4fae76a2a30..015c1156284 100644 --- a/hardware/arduino/sam/cores/arduino/Arduino.h +++ b/hardware/arduino/sam/cores/arduino/Arduino.h @@ -209,10 +209,14 @@ extern const PinDescription g_APinDescription[] ; #include "watchdog.h" // USB Device -#define USB_VID 0x2341 // arduino LLC vid -#define USB_PID_LEONARDO 0x0034 -#define USB_PID_MICRO 0x0035 -#define USB_PID_DUE 0x003E +#ifndef USB_VID +#define USB_VID 0x2341 // arduino LLC vid +#endif + +#ifndef USB_PID +#define USB_PID 0x003E // arduino Due pid +#endif + #include "USB/USBDesc.h" #include "USB/USBCore.h" #include "USB/USBAPI.h" diff --git a/hardware/arduino/sam/cores/arduino/USB/USBCore.cpp b/hardware/arduino/sam/cores/arduino/USB/USBCore.cpp index 5cddc4c6ba2..e7652016d50 100644 --- a/hardware/arduino/sam/cores/arduino/USB/USBCore.cpp +++ b/hardware/arduino/sam/cores/arduino/USB/USBCore.cpp @@ -66,27 +66,16 @@ const uint16_t STRING_LANGUAGE[2] = { }; #ifndef USB_PRODUCT -// Use a hardcoded product name if none is provided -#if USB_PID == USB_PID_DUE #define USB_PRODUCT "Arduino Due" -#else -#define USB_PRODUCT "USB IO Board" -#endif #endif const uint8_t STRING_PRODUCT[] = USB_PRODUCT; -#if USB_VID == 0x2341 -# if defined(USB_MANUFACTURER) -# undef USB_MANUFACTURER -# endif -# define USB_MANUFACTURER "Arduino LLC" -#elif !defined(USB_MANUFACTURER) -// Fall through to unknown if no manufacturer name was provided in a macro -# define USB_MANUFACTURER "Unknown" +#ifndef USB_MANUFACTURER +#define USB_MANUFACTURER "Arduino LLC" #endif -const uint8_t STRING_MANUFACTURER[12] = USB_MANUFACTURER; +const uint8_t STRING_MANUFACTURER[] = USB_MANUFACTURER; #ifdef CDC_ENABLED #define DEVICE_CLASS 0x02 diff --git a/hardware/arduino/sam/platform.txt b/hardware/arduino/sam/platform.txt index 513563a07be..0f376b6b324 100644 --- a/hardware/arduino/sam/platform.txt +++ b/hardware/arduino/sam/platform.txt @@ -36,7 +36,7 @@ compiler.ldflags= compiler.size.cmd=arm-none-eabi-size compiler.define=-DARDUINO= -# this can be overriden in boards.txt +# This can be overridden in boards.txt build.extra_flags= # These can be overridden in platform.local.txt