What’s New

This page tracks updates to libmaple.

v0.0.13

General Changes

  • Additional STM32 support: for this release, libmaple was taught how to target STM32F1 value line (thanks to Anton Eltchaninov) and STM32F2 series microcontrollers. It learned a huge bag of new tricks as a result, so this list is only a summary of the most important changes.

  • New include style: You should now include libmaple and Wirish headers like this (respectively):

    #include <libmaple/libmaple.h>
    #include <wirish/wirish.h>
    

    The old include style (e.g. #include "libmaple.h") is now deprecated, and will break in the next release. This is more standard usage for libraries, and was necessary to e.g. allow for implementing a Wiring/Arduino-style SPI library (which is included as #include "SPI.h" and clashes with spi.h on case-insensitive filesystems like OS X’s).

  • Windows instructions for the Unix Toolchain Quickstart.

Wirish

  • Wire I2C library: New, improved, and more Arduino-compatible Wire library, thanks to Trystan Jones.

libmaple proper

Better documentation: The old documentation for libmaple’s C layer did little more than list the Doxygen comments in the source code. It now includes explanatory material and usage notes. See libmaple API Index.

Major changes by header follow.

Header Changes
<libmaple/rcc.h> rcc_clk_init() is deprecated. Use rcc_configure_pll() as the basis for a portable replacement; see the rcc_clk_init() docs for a porting guide.
<libmaple/libmaple_types.h> Various new attributes and type qualifiers.
<libmaple/adc.h> New adc_enable_single_swstart() and adc_config_gpio(), for portably enabling ADC peripherals and their associated pins for use with adc_read().