Skip to content

1.1.3 - Unified Wire and SPI libraries, fixes for analog/digital pin name issues and much more

Compare
Choose a tag to compare
@SpenceKonde SpenceKonde released this 10 Jul 16:38

Huge update - this brings the long-awaited Unified SPI and Wire libraries - Now, finally, you can use SPI and Wire on parts with a USI instead of the full SPI/TWI hardware without having to use a special USI-based library and adjust your libraries to refer to it - you can just use the SPI or Wire libraries, and it will determine which implementation to use, and the libraries you're including will pull in this unified library automatically (since it has the same name and implements the same interface).
A partial list of new features and fixes:

  • Unified SPI/USI library. You don't have to mess around with alternate USI SPI libraries. Just #include <SPI.h> and use it normally, and the new unified SPI library will pick the appropriate library.
  • Unified Wire library - same deal; just #include <Wire.h> and you'll get a wire-compatible library using either the USI or TWI hardware, or software I2C master / hardware I2C slave for the 841 and 828.
  • You can now use analog pin names (ex, A10 ) with pinMode() and digitalWrite().
  • __cxa_pure_virtual issue fixed - classes with virtual functions will now compile.
  • Exporting compiled binaries with bootloader is now only done for platforms where this results in a usable binary (ie, the Tiny828 only).
  • Added support for yield()
  • Added arduino stream files to improve compatibility of stream classes.
  • Many minor part-specific fixes
  • Stopped spurious compiler warnings
  • AVR Dragon programmer supported (with the usual caveats)