Private
Public Access
2
0
Commit Graph

118 Commits

Author SHA1 Message Date
Kurt Eckhardt
455ab6f063 x86/edison: Speed up mraa_gpio_dir
Reasonable speed up in the mraa_gpio_dir on the Edison Arduino board

Signed-off-by: Kurt Eckhardt <kurte@rockisland.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-12-19 14:40:02 +00:00
Kurt Eckhardt
21d88d15eb gpio.c: add advance_func->gpio_close_pre
Signed-off-by: Kurt Eckhardt <kurte@rockisland.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-12-19 14:40:01 +00:00
Brendan Le Foll
4d8b82eedb gpio.c: styling, avoid bracketless if statements
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-12-15 16:23:18 +00:00
Brendan Le Foll
24e52bdbbd gpio.c: cast return value explicitly
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-11-26 13:58:28 +00:00
Brendan Le Foll
51cfc7981d gpio.c: fail early in case of error when reading file
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-11-26 13:56:33 +00:00
Brendan Le Foll
fefe0a24cd gpio.c: check return status of open call
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-11-26 13:56:10 +00:00
Brendan Le Foll
1a1c9c2db2 gpio.c: fix incorrect debug message due to merge
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-11-26 11:43:30 +00:00
Henry Bruce
57540cd86c gpio.c: check that real gpio did initialise correctly
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>
2014-11-20 15:08:31 +00:00
Brendan Le Foll
e84baf6636 gpio.c: free context if we fail to write to export
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-11-19 23:46:25 +00:00
Thomas Ingleby
3865bebe8d mmap: remove implementation of mmap gpio
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>
2014-11-17 17:41:47 +00:00
Thomas Ingleby
401f0cfe65 gpio: move gpio setup from core into module
Added syslog lines for easier fault investigation

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-11-17 17:40:48 +00:00
Bernd Barsuhn
428c99f940 gpio: fix identation
Signed-off-by: Bernd Barsuhn <bernd.barsuhn@me.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-11-04 10:13:45 +00:00
Bernd Barsuhn
2a851d7cc7 gpio: make mraa_gpio_isr_exit block until the interrupt handling thread is terminated.
Signed-off-by: Bernd Barsuhn <bernd.barsuhn@me.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-11-04 10:12:34 +00:00
Brendan Le Foll
a6b3d384b2 syslog: unify error msg style
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>
2014-10-22 21:09:11 +01:00
Brendan Le Foll
2b5e38b40c coverity: Fix issues found by coverity scan
* 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>
2014-10-03 22:50:18 +01:00
Brendan Le Foll
6d5a3d796c gpio: add more error checking for mraa_gpio_context
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-10-03 12:00:11 +01:00
Brendan Le Foll
32d8a6f0ca syslog: remove all fprintf calls and use syslog instead
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>
2014-09-25 14:31:04 +01:00
Thomas Ingleby
e602460688 hook: move gpio init post hook
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-09-09 17:28:43 +01:00
Brendan Le Foll
854585ef49 gpio.c: styling - remove tabs
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-09-09 17:28:28 +01:00
Brendan Le Foll
c977a6d19c gpio.c: close fd in mmap function
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-07-28 16:39:00 +02:00
Thomas Ingleby
b95436c468 gpio: remove printf's, change init-post hook
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-07-14 18:25:40 +01:00
Thomas Ingleby
ce1fe370c4 intel_galileo_rev_g: remove platform code from core
* Using hook functionality swap_complex is now done in the pre direction
* set area.

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-07-14 17:46:18 +01:00
Thomas Ingleby
fb030b5e9f hook: change structure to pointer
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-07-14 15:37:55 +01:00
Thomas Ingleby
9bacfcff5f Merge branch 'hook'
Conflicts:
	include/intel_galileo_rev_d.h
	include/intel_galileo_rev_g.h
	include/mraa_adv_func.h
	include/mraa_internal.h
	src/gpio/gpio.c
	src/mraa.c
2014-07-11 11:56:45 +01:00
Thomas Ingleby
1fafd97f5e hook: rename from declared struct to adance_func
* Removed bitfield, now checks if pointer NULL.

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-07-11 09:14:49 +01:00
Thomas Ingleby
0e46b94793 hook: remove hooks, move into branch.
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-07-01 18:32:38 +01:00
Thomas Ingleby
d0ea43f8d1 mraa: initial implementation of "hooks"
* 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>
2014-06-27 15:37:48 +01:00
Thomas Ingleby
88de5b9c35 gpio: remove direction error printing
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-06-26 18:38:13 +01:00
Thomas Ingleby
6853997a92 mraa: rename from maa to mraa
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-06-24 17:24:54 +01:00
Thomas Ingleby
f035dcd341 Merge branch 'gen2' 2014-06-20 16:22:27 +01:00
Thomas Ingleby
11486368b1 gpio: no printing to stderr on direction change.
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-06-20 16:19:59 +01:00
Kiveisha Yevgeniy
6fbe2a7e53 gpio: Added args param to maa_gpio_isr and added documentation
Signed-off-by: Kiveisha Yevgeniy <yevgeniy.kiveisha@intel.com>
2014-06-19 16:23:43 +00:00
Thomas Ingleby
fa4a302398 maa: add support for enabling pins and pulldowns
* Not Complete

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-06-17 20:15:36 +01:00
Thomas Ingleby
7af6a96a13 mmap: added mmap io to gpio
* 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>
2014-05-29 16:30:07 +01:00
Thomas Ingleby
98800a5c76 gpio: made export functions static.
* removed functions from api also

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-05-21 14:55:14 +01:00
Thomas Ingleby
2b8ab38418 maa: hide and rename internal maa functions
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>
2014-05-21 13:17:16 +01:00
Thomas Ingleby
7abd8f5529 gpio: add ownership gaurd
* 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>
2014-05-20 14:11:41 +01:00
Thomas Ingleby
e2f72540ef gpio: use open in all function opposed to fopen
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-05-20 10:57:15 +01:00
Brendan Le Foll
3d10fc1c0d gpio.c: PyEval_Call now casts void* to PyObject* before call, fixing warning
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-05-19 10:35:29 +01:00
Brendan Le Foll
045b704063 gpio: fix use of memset sizeof param
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-05-16 14:44:04 +01:00
Brendan Le Foll
058084cd88 gpio.hpp: Add C++ wrapper around Gpio
* 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>
2014-05-16 14:31:37 +01:00
Brendan Le Foll
6dc1500f5a gpio: make isr_exit function use pthread_cancel and treat error cases more cleanly
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-05-15 14:42:44 +01:00
Brendan Le Foll
6811fe4a24 gpio: add signal type to pthread_kill
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-05-13 22:18:46 +00:00
Brendan Le Foll
b7d38a22e8 gpio: fix compiler warning with blank return
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-05-13 21:57:28 +00:00
Brendan Le Foll
ef225dbe26 swig: fix usage of SWIGPYTHON for python specific code
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-05-13 20:55:08 +00:00
Brendan Le Foll
f7169cc5c5 swig: Add support for isr/callbacks from python
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-05-13 20:47:50 +00:00
Brendan Le Foll
126b1314b0 gpio: rework of gpio - using open() for value_fp
* 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>
2014-05-13 15:35:27 +01:00
Brendan Le Foll
356c7afacd gpio: don't do a pthread_kill if thread id is 0
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-05-07 17:45:02 +01:00
Brendan Le Foll
37b5d9f0cc gpio: initial implementation of interupt handling on gpio
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-05-07 14:48:21 +01:00
Brendan Le Foll
ecc2c92027 gpio: only call ferror in free() case as dev has already been free'd by swig code
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-05-06 18:12:53 +01:00