On platforms without muxing perform a little more checking when the 'real'
linux/sysfs gpio is opened. We don't expect this to fail but on platforms where
the linux gpios can be changed depending on pinctrl/bios configuration this
might not always be the case.
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
Instead of trying to have an implementation that covers most platforms
Leave all mmap up to platform definition. Through function pointers.
gpio_mmap_setup sets up the mmap
Within the internal gpio context struct two more function pointers now
exist mmap_read & mmap_write. They exist there so each context can its
own function for handling a write and read.
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
syslog messages should be written as <module>: Message in order to increase
readability and usefulness
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
* Fix a few resource leaks in error conditions
* Makes strtol() calls safer in pwm module
* Make sure buffer is terminated after read() in aio
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
Syslog is now used for all error messages, return values in the code should be
used by programmers to see the status of the library/board and syslog can be
used to see quickly from a debugging perspective what has gone wrong. A few
cosmetics where improved as well as a mraa_set_log_level() call where the
syslog log mask can be set directly from libmraa.
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
* Should allow for more platform quirks to be handled by mraa without
* massive conditional areas per platform.
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
* added function to gpio to use mmap
* changed board definition format around mmap io (fast-gpio)
* Intel Galileo Rev D updated to follow changed definitions
* Example performing mmap io to pin 2 added.
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
Based on feedback received. All check functions renamed to setup.
Update all modules to use new name and header.
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
* Will not unexport if the context did not export it. Can be forced.
* Checks if pin is already exported.
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
* maa_gpio_context bcomes an opaque pointer
* C++ wrapper class Gpio created
* swig now uses C++ wrapper Gpio to generate API
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
* fixes maa_gpio_read by using simple posix file io
* fixes blink sample to have much more error checking
* blink sample now takes an argument
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>