libmaple

LeafLabs’ libmaple is the open source library we have developed for programming the STM32 line of microcontrollers. Libmaple’s source is on GitHub; patches are welcome.

Libmaple is split into two pieces:

  • A low-level layer, written in C, called libmaple proper, located in the libmaple/ subdirectory of the source repository.
  • A high-level layer, written in C++, called wirish, in the wirish/ subdirectory.

Wirish is largely compatible with the AVR libraries written for the Arduino and Wiring development boards. The Wirish Language Reference page is a good summary of what Wirish provides; a complete Wirish API index is also available. Wirish libraries are documented separately.

libmaple is bundled with the Maple IDE. However, we develop it separately, and release it standalone for users who might chafe at the “sketch” programming model of the IDE. The following pages document libmaple proper. As such, they’re intended for advanced users who know how to write C.