Welcome to mraa’s documentation!

Libmraa is a C/C++ library with bindings to Python, Javascript and Java to interface with the I/O on Galileo, Edison & other platforms, with a structured and sane API where port names/numbering matches the board that you are on. Use of libmraa does not tie you to specific hardware with board detection done at runtime you can create portable code that will work across the supported platforms.

The intent is to make it easier for developers and sensor manufacturers to map their sensors & actuators on top of supported hardware and to allow control of low level communication protocol by high level languages & constructs.

Compiling & Debugging libmraa

Libmraa is a C library and SWIG is used to generate bindings therefore to debug, you very quickly need to use the same methods as you would for debugging a C library. Generally attaching gdb to python works well, build mraa with debug symbols and set breakpoints either in the SWIG _wrap functions, the C++ method/functions or the underlying C function. More info can be found on the C/C++ documentation:

API Changelog

Changelog

Indices and tables