The GPIOs are not mapped correctly in MRAA for tuchuk board. This patch corrects the GPIO maps and the PIN assignments. Note: 1) There are nothing called I2S(x)SDO and I2S(x)SDI available over breakout pins, the usage is commented now. 2) There is nothing called SPP0FS3, is now commented, what we have is SPP1FS3. 3) I2C1SDA available twise 15 and 71. PIN 71 as per gpio used should be renamed as ISHI2C0SDA 4) I2C1SCL available twise 17 and 73. PIN 73 as per gpio used should be renamed as ISHI2C0SCL 5) UART1TX available twise 22 and 74. PIN 74 as per gpio used is ISHUART1TXD and is not available in breakout. 6) UART1RX available twise 24 and 76. PIN 76 as per gpio used is ISHUART1RXD and is not available in breakout. 7) I2C2SDA available twise 19 and 75. PIN 75 as per gpio used is ISHI2C1SDA and is not available in breakout pins 8) I2C2SCL available twise 21 and 77. PIN 75 as per gpio used is ISHI2C1SCL and is not available in breakout pins 9) PIN 78 UART1RT as per GPIO used is ISHUART1RT and is not available in breakout pins 10) PIN 80 UART1CT as per GPIO is ISHUART1CT and is not available in breakout pins BIOS used is 193 Signed-off-by: Arun Ravindran <arun.ravindran@intel.com> Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
Libmraa is a C/C++ library with bindings to Java, Python and JavaScript to interface with the IO 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.
Supported Boards
X86
- Galileo Gen 1 - Rev D
- Galileo Gen 2 - Rev H
- Edison
- Intel DE3815
- Minnowboard Max
- NUC 5th generation
- UP
- Intel Joule
ARM
USB
Mock
JSON platform
Installing on your board
Installing on Ubuntu
Here is a PPA for installing on ubuntu: https://launchpad.net/~mraa/+archive/ubuntu/mraa
sudo add-apt-repository ppa:mraa/mraa
sudo apt-get update
sudo apt-get install libmraa1 libmraa-dev mraa-tools python-mraa python3-mraa
Node.js package is available seperately.
Install on Arch Linux
There is an AUR package for mraa here: https://aur.archlinux.org/packages/mraa
Install on openSUSE
REPO="openSUSE_Tumbleweed"
if test "$(arch)" == "aarch64"; then
REPO="openSUSE_Factory_ARM"
fi
sudo zypper ar http://download.opensuse.org/repositories/hardware/$REPO/hardware.repo
sudo zypper in mraa
Installing for Node.js only
You can also install just the node.js mraa module by using npm. You will need a C++ compiler and the node development headers, however it's not required to have SWIG installed.
npm install mraa
Note that installing mraa in this way builds mraa without json-c so you cannot use mraa_init_json_platform(). Also building this way means the mraa.node includes a static version of libmraa rather than relying on a dynamic library in /usr/lib.
Installing on Intel 32bit Yocto based opkg image
See the section below on compiling or use our repository to install on a glibc based yocto poky image that supports opkg. Adding this repository is as simple as and you'll have the latest stable tagged build of mraa installed!
echo "src mraa-upm http://iotdk.intel.com/repos/3.5/intelgalactic/opkg/i586" > /etc/opkg/mraa-upm.conf
opkg update
opkg install mraa
If you would like to get the latest & greatest builds from master HEAD you can use our -dev repository
echo "src mraa-upm http://iotdk.intel.com/repos/3.5/intelgalactic-dev/opkg/i586" > /etc/opkg/mraa-upm.conf
opkg update
opkg install mraa
Compiling
See documentation on building
Examples
See the examples available for various languages
Debugging
Sometimes it just doesn't want to work, let us try and help you, you can file issues in github or join us in #mraa on freenode IRC, hang around for a little while because we're not necessarily on 24/7, but we'll get back to you! Have a glance at our debugging page too.
API Documentation
Contact Us
To ask questions either file issues in github or send emails on our mailing list. You might also catch us on the mraa channel on freenode IRC.
See the Contribution documentation for more details.
Changelog
Version changelog here.




