SAMD CORE ?.?.?? ????.??.??

SAMD CORE 1.6.21 2019.04.01

* MKR boards: changed I2C to sercom2, SPI1 + Serial2 to sercom4
* Improved accuracy of delay() function. Thanks @BenF
* MKR 1500: Changed SARA module to be powered off on boot

SAMD CORE 1.6.20 2018.11.28

* Replaced boolean type with bool in examples. Thanks @per1234
* Added c++ linker command to allow to include libstdc++ when linking. Thanks @helmut64
* CPX driver fixes. Thanks @dhalbert
* I2S: Changed library to use 8 MHz oscillator source if 48MHz divider does not fit in 8 bits
* UART: Added frame error handling
* USB: Fixed memory leak on reconnects
* SDU: Added support for Arduino M0. Thanks @jandrassy
* Added arduinoOTA upload keys for Arduino M0. Thanks @jandrassy
* USB: Fixed USB Host failures and fixed memory overwrite in USBHost. Thanks @gdsports
* USB: Added method to return USB error code. Thanks @MarkFischer
* CDC: Clear line state on end()
* USB: Added USB device end() method
* Removed requirement that the DAC is on A0. Thanks @GabrielNotman
* Added alternate ports 44, 45 to make the SWCLK and SWDIO pins available on the Zero. Thanks @helmut64
* Added defines for MKR pin layout
* Fixed freeze in tone()
* Added MKR NB 1500 variant and bootloader
* Increased the default serial buffer size to 256

SAMD CORE 1.6.19 2018.07.11

* Fixed bootloader tools for .org boards
* M0: Updated pin definitions for D6, D7 and D13 to match Zero
* SPI: Fixed interrupt mask to block. Thanks @ggajoch
* Added MKR WiFi 1010 variant and bootloader
* Updated Windows Drivers to 1.4.0 and re-signed Adafruit_Circuit_Playground_Express.inf

SAMD CORE 1.6.18 2018.03.05

* Wire: Added support for general call (broadcast)
* SPI: Added SPI.notUsingInterrupt(...) API
* Fixed build errors if variant disabled USB
* Wire: TX and RX buffers are now 256 bytes (previously was 64 bytes)
* Added samd21e sercom compatibility. Thanks @mitchellpontague
* Fixed lock ups when outputting to UART during ISR
* Wire: correct I2C frequency calculations, and allow variant to overide default pull up resistor rise time
* USB: Fixed build errors when CDC_ENABLED was not set. Thanks @gdsports

SAMD CORE 1.6.17 2017.11.29

* More accurate approximation for multiplication factor of PLL to make 48Mhz. Thanks @joverbee
* Fix changing trigger mode (RISING/FALLING/...) in attachInterrupt(..) during runtime. Thanks @joverbee
* Improved ISR response time. Thanks @joverbee
* USB power current can now be overridden in the variant. Thanks @awatterott
* UART's now support optional RTS and CTS pins defined in the variant.
* Added support for MKR GSM 1400 and MKR WAN 1300

SAMD CORE 1.6.16 2017.08.23

* Is now possible to use PWM on D7 (though it can't be used with PWM on D12 at the same time). Thanks @Adminius
* PWMs now can perform real 16-bit resolution if analogWriteResolution(16) is set. Thanks @Adminius
* USB CDC: fixed issue of available() getting stuck when receiving ZLP's
* Serial (UART) tx is now buffered.
* Improved CRYSTALLESS stability. Thanks @tannewt
* Some fixes to Adafruit Circuit Playground Express variant. Thanks @ladyada
* Updated Stream and Print class
* Native USB now supports USB Serial Number
* Fixed pgm_read_ptr compatibility macro. Thanks @nkrkv

SAMD CORE 1.6.15 2017.04.27

* Added missing Windows driver for MKRFox1200
* Added SDU support for MKRFox1200

SAMD CORE 1.6.14 2017.04.04

* Fixed platform definition for openocd
* Added bootloader definitions for MKRFox1200
* Added lowpower function on USB subsystem

SAMD CORE 1.6.13 2017.03.31

* Added SDU (SD card Updater) library.
* Fixed 8MHz clock being generated incorrectly. Thanks @keestux

SAMD CORE 1.6.12 2017.02.07

* Fixed type conflict of utoa function. Thanks @kbumsik
* Fixed pinMode(pin, OUTPUT) not working after analogRead(pin)
* Reenabled support for Tian
* Fixed signature for Adafruit Circuit Playground Express board
* Added CMSIS headers for SAML21 chip series. Thanks @aethaniel

SAMD CORE 1.6.11 2016.12.23

* Temporarily disabled support for Arduino Tian until an upload issue is fixed

SAMD CORE 1.6.10 2016.12.23

* Added .org boards
* Fixed MKRZero `build.board` property
* linker: .data section is now aligned to 16 bytes address
* Added support for CRYSTALLESS configurations (thanks @ladyada)
* Added Circuits Playground board
* Added method to automatically retrieve sketch start via linker variable
  (see https://github.com/arduino/ArduinoCore-samd/pull/185)
* Fixed USBDevice.epBank1EnableTransferComplete method
* Adapted bootloader source code to CMSIS 4.5

SAMD CORE 1.6.9 2016.12.12

* MKR1000: Enabled PWM on pin 11, it is shared with pin A4
* SPI: Optimized SPI.transfer(...)
* Added linker flags for the ARM Math library
* Added new I2S library
* Bootloader: Check sketch vectors before waiting for double tap
* Upgraded CMSIS version to 4.5.0, and use new CMSIS-Atmel package
* Added Arduino MKRZero board.

SAMD CORE 1.6.8 2016.10.12

* Fixed regression on analogWrite. Thanks @bose-mdellisanti!
* Fixed regression on SerialUSB.available()
* C++ global constructors (if any) are now run after hardware initalization.

SAMD CORE 1.6.7 2016.09.28

* Fixed Serial.flush() blocking before any writes. Thanks @hangmoh
* Added snprintf_P to avr/pgmspace.h stub. Thanks @jantje
* Another small fix to String iterators. Thanks @Ivan-Perez @Chris--A
* Fixes SerialUSB.write(...) returning 0 instead of byte written
* Added Uart::availableForWrite()
* Added defines for RAMSTART, RAMSIZE, RAMEND
* Fixed writing LOW to a digital input pin blocking subsequent digitalRead attempts
* Fixed digitalWrite() unnecessarily activating the pull-up resistor
* Wire: Slave writes now use TX buffer
* Added getTimeout() method to Stream.
* Fixed glitch in PWM generation that may happen when calling analogWrite()
* PWM frequency is now 732.4Hz (before it was 187500.0Hz)
* Fixed PWM/analogwrite() not working on pin 13 on the Zero
* Improved reliability of SerialUSB under heavy load (this should solve
  all issues with MKR1000/WiFi101 firmware updater on MacOSX)
* Improved SerialUSB.read() performance
* Added String::toDouble()
* Bootloader: LED now pulses and USB TX/RX blink on transfer (like Leonardo)
* Bootloader: enabled USB string descriptors

SAMD CORE 1.6.6 2016.05.19

* Fixed digitalPinToInterrupt() macro, now it works as documented.
* Added analogInputToDigitalPin macro
* Fixed NUM_DIGITAL_PINS for Zero Board.
* On-board RX-TX LEDs now blinks when there is activity on the native USB port
* Fixed platform.txt, the core now compiles again with Arduino IDE <=1.6.5. Thanks @per1234
* Fixed Wire.write(0x00) "ambiguos method" error
* String class now supports iterators. Thanks @Chris--A
* Remove enabling bootloader protection when burning bootloader. This enables WDT, so sketches do not work.
* Added remote upload for Yun-Shield

SAMD CORE 1.6.5 2016.04.02

* Added Arduino/Genuino MKR1000 board
* Set NVMCTRL.MANW bit to 1 (default is 0). This prevents accidental writes on program memory.
* Bootloader: Fixed wrong UART speed (regression)
* Fixed incorrect return value from Wire.available() when the receive buffer is not fully read.
* Added DAC0 definition in Arduino/Genuino Zero variant file.
* Enabled bootloader protection after "Burn bootloader".

SAMD CORE 1.6.4 2016.02.19

* Fixed Wire address setup when running as slave.
* Fixed String constructor when using floating point numbers.
* USBHost: fixed blocking USBHost.Task(). Thanks @bbx10
* USBHost: fixed some ASCII Control codes in keyboard controller. Thanks @bbx10
* USBHost: ported some minor fix from upstream UHS2. Thanks @bbx10
* USBHost: fixed wrong library initialization. Thanks @bbx10 @ladyada
* better interrupt handling in Serial::accept()

SAMD CORE 1.6.3 2016.02.15

* Added drivers for Arduino/Genuino MKR1000 board
* Fixed Wire master repeated start behaviour
* Added SerialUSB methods: readBreak(), baud(), stopbits(), paritytype(), numbits(), dtr(), rts()
* Added SPI.transfer16(..) method
* Bugfix: added missing Serial.begin(baud, config) method. Thanks @tuxedo0801
* Fixed Serial baudrate calculations for 1200bps. Thanks @TomKeddie
* Fixed Serial.flush() that now waits until the last bit has been sent. Thanks @TomKeddie
* Fixed Serial configuration for data-bit. Thanks @TomKeddie
* Bootloader: 32Khz external oscillator is now used, improves USB clock. Thanks @aethaniel
* Bootloader: Clean up of makefiles and file organization. Thanks @aethaniel
* Added PWM capability to pins A1/A2 of Arduino Zero.
* variant.h/cpp: PWM capability is now determined by PIN_ATTR_PWM combined with
                 PIN_ATTR_TIMER or PIN_ATTR_TIMER_ALT for timer selection.
* Small fix to USBHost example "USB_desc.ino". Thanks @bbx10
* USBHost: USB-Keyboard right shift key was ignored. Thanks @bbx10 
* Wire library now support multiple instances in variant. Thanks @spiderkeys
* Ported some SerialUSB API (readBreak(), baud(), stopbits(), paritytype(), numbits(), dtr(), rts())

SAMD CORE 1.6.2 2015.11.03

* Fixed bug in delay calculations
* Fixed deadlock conditions in Wire. Thanks Erin Tomson
* Print not aborting on write() failure. Thanks @stickbreaker
* SPI can now be configured in variants. Thanks @aethaniel
* Implemented Wire.end
* Fixed external interrupt for pin 8 and 9
* Implemented Wire.setClock. Thanks @PaoloP74
* Wire: allow scanning bus via beginTransmission-endTransmission
* USB Device: big refactoring and bug fix
* USB Device: added PluggableUSB interface
* updated bossac to version 1.6.1-arduino

SAMD CORE 1.6.1 2015.07.21

* Added missing ATN pin definition
* Added missing bootloader key/value pair in boards.txt (this allows to burn bootloader with Sam-ICE too)
* Fixed min/max functions
* Fixed hooks for Cortex-M RTOS
* Fixed acknowledge of UART errors
* Enabled C11/C++11
* Fixed initialization in USB Device
* Updated bossac to version 1.6-arduino

SAMD CORE 1.6.0  2015.06.15

* First public release.

