Private
Public Access
2
0
Commit Graph

172 Commits

Author SHA1 Message Date
Yong Li
02399b61f9 mraa.c: Add new API to support I2C bus number query
Add two new API to get the usable I2C bus count and related I2C adapter number

Signed-off-by: Yong Li <yong.b.li@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-08-25 11:36:14 +01:00
Brendan Le Foll
5d24868582 mraa.c: Fix close/free fail introduced earlier
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-08-20 19:09:42 +01:00
Brendan Le Foll
0ad753689e mraa.c: Fix error handing resource leaks in mraa_file_contains_*
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-08-14 15:36:50 +01:00
Brendan Le Foll
8269340c25 mraa.c: log level syslog messages
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-08-14 11:15:57 +01:00
Brendan Le Foll
45133922aa mraa.c: Fix ressource leaks during error handling
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-08-13 15:25:59 +01:00
Brendan Le Foll
5717bba0d4 mraa.c: fix ARMPLAT elif not being done on define like if statement
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-07-24 14:04:47 +01:00
Brendan Le Foll
a5d13670f4 mraa.c: Fix buffer overfow in mraa_find_i2c_bus
All files in sysfs are 4K minimum so allocate a 4k buffer to hold the result -
even if it'll never be that big

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-07-15 13:50:29 +01:00
Brendan Le Foll
df0dbb0c73 mraa: add internal mraa_find_i2c_bus function
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-07-10 11:11:41 +01:00
Brendan Le Foll
76a34afe84 mraa.c: Fix readlink call not terminating its buffer
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-07-01 10:59:03 +01:00
Michael Ring
095ff894a7 mraa.c: Remove mraa_init() from mraa_pin_mode_test
If platform is not initalised at this stage then there is no need to attempt
again

Signed-off-by: Michael Ring <mail@michael-ring.org>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-04-08 22:19:14 +01:00
Michael Ring
bff7b558eb mraa.c: Add _contains helper functions
Signed-off-by: Michael Ring <mail@michael-ring.org>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-04-08 22:19:14 +01:00
Michael Ring
d2fcadc8d5 mraa.c: change helper functions to use const char*
Signed-off-by: Michael Ring <mail@michael-ring.org>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-04-08 22:19:14 +01:00
Brendan Le Foll
ffcf3d7d07 clang-format: run clang-format on C/C++ code
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-03-23 15:15:48 +00:00
Michael Ring
827e1974bf api/mraa: add mraa_get_pin_name
Add mraa_get_pin_name to get the real world name of the pin.

Signed-off-by: Michael Ring <mail@michael-ring.org>
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2015-03-19 00:16:32 +00:00
Brendan Le Foll
76ffa35cec mraa.c: stop C constructor calling mraa_init() in SWIG builds
Closes #65

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-03-01 10:22:14 +00:00
Michael Ring
8e305a1032 mraa.c added internal helper functions to support globbing and link analysis
Signed-off-by: Michael Ring <mail@michael-ring.org>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-02-15 22:38:36 +00:00
Thomas Ingleby
459ecc0c1c src/mraa.c: mux mapped
Don't own gpio of muxes, so it isnt unexported.

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2015-02-05 16:20:09 +00:00
Brendan Le Foll
8ccefe95e5 Revert "setup_mux_mapped: use HIGH/LOW instead"
This reverts commit 6c73a8adce as it breaks
galileo gen1 muxing.

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-02-05 15:17:50 +00:00
Brendan Le Foll
baa1a0ae03 mraa.c: Allow running mraa_init() as non root
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-01-31 09:26:24 +00:00
Alex Tereschenko
82bb1c573d mraa: we now log version and user ID into syslog upon init
Closes #98.

Signed-off-by: Alex Tereschenko <alext.mkrs@gmail.com>
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2015-01-26 15:09:47 +00:00
Thomas Ingleby
6c73a8adce setup_mux_mapped: use HIGH/LOW instead
Avoids on some platforms where when setting a mux will set it low when
it wouldn't be safe to.

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2015-01-22 17:40:16 +00:00
Thomas Ingleby
e8bc227a92 api/platform_name: Change return when null platform
Easier to error check against

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2015-01-21 15:39:29 +00:00
Thomas Ingleby
53a9a7dce4 internal/platform_name: move to const char*
Instead of plain char* to avoid need to malloc and do all the needed
error checking needed that goes along with that.

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2015-01-21 15:35:54 +00:00
Thomas Ingleby
067487f9ec mraa/platform: add mraa_get_pin_count()
Will return physical pin count.
Closes #75

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2015-01-21 15:17:34 +00:00
Thomas Ingleby
ed4c68eba1 uart: cleanup and bring inline with standard
Removed mraa_setup_uart from core mraa.c moved logic within init
function
Add more syslog output for easier debugging.

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2015-01-20 14:44:28 +00:00
Philippe Coval
17ee0c9669 mraa.c: fix FTBFS on printf by adding format
gcc-4.8.2 fails to build from source and complains :

  error: format not a string literal and no format arguments

Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-01-12 18:12:37 +00:00
Brendan Le Foll
d6bbd0bf38 mraa.c: fix missing break statement in case switch
Missing in mraa_pin_mode_test causes an erroneous syslog message. Fixes #86

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-01-05 23:04:50 +00:00
Brendan Le Foll
2574efdb1d mraa.c: mraa_pin_mode_test should check against b->gpio_count -1
It's already the case for rpi & MMAX but it should be noted that on 1 indexed
boards gpio_count should be +1

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-12-18 14:28:36 +00:00
Brendan Le Foll
1ee5e25f85 mraa.c: add syslog msg in case we get an unknown pinmode
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-12-18 14:13:04 +00:00
Brendan Le Foll
a769f78e83 mraa.c: fix uart mraa_pin_mode_test
switch statement was missing a clause for MRAA_PIN_UART meaning it always
returned False

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-12-18 14:11:27 +00:00
Brendan Le Foll
d58adefa3c mraa.c: fix aio mraa_pin_mode_test
test was adding board gpio_count to pin so that 0 would use the info for pin 14
on some boards when asking for aio capability

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-12-18 14:07:59 +00:00
Alex Tereschenko
3c4742c6e4 mraa.c: Fixed potential segfault on free()-ing NULL in mraa_deinit()
Signed-off-by: Alex Tereschenko <alext.mkrs@gmail.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-12-16 21:22:59 +00:00
Brendan Le Foll
e5835fa0da mraa.c: remove DEBUG define
debug DEFINE crept in from 6bc2b0fb53

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-12-16 20:38:06 +00:00
Alex Tereschenko
083db5bd27 mraa.c: added user check into mraa_init() & increase verbosity
mraa_init() will now:
- print user name and EUID of the process instead of UID,
- print full platform text name in addition to numeric type,
- return, log and print an error if started by non-root user

Fixes #64

Signed-off-by: Alex Tereschenko <alext.mkrs@gmail.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-12-16 20:33:30 +00:00
Brendan Le Foll
71118af233 mraa.c: do not check return value of mraa_gpio_dir when used on muxes
Doing so breaks galileo gen2 (gpio2) and others. Failing early is rather
pointless in any case so we may as well attempt the write, muxes do not
neccesarily have directions that work

Fixes #68

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-12-15 11:50:54 +00:00
Brendan Le Foll
643bb99892 mraa.c: fix error handling & leak in mraa_setup_mux_mapped
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-12-10 15:38:14 +00:00
Brendan Le Foll
e9297d8283 mraa.c: check already initialised before anything else in mraa_init
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-12-09 18:39:21 +00:00
Thomas Ingleby
f9d466bb84 arm: add initial skeleton for arm platform support
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-12-08 15:32:42 +00:00
Thomas Ingleby
b0a21e2c30 arch: initial framework for supporting other architectures added.
x86: all platforms moved into x86 directory

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-12-08 15:32:42 +00:00
Thomas Ingleby
d1185efc0a mraa: add mraa_get_platform_name
getPlatformName for c++/swig API
Closes #35

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-11-26 15:17:28 +00:00
Brendan Le Foll
148c22fb27 mraa.c: fix char count in board_name
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-11-20 15:08:31 +00:00
Henry Bruce
6bc2b0fb53 intel_minnow_max: Added platform definition
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
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
5d7c85c7a1 pwm: move pwm setup to module
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-11-17 17:41:47 +00:00
Thomas Ingleby
e39268899c spi: move spi setup from core into module
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-11-17 17:41:47 +00:00
Thomas Ingleby
ffd38bb68c i2c: move i2c setup from core into module
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-11-17 17:40:48 +00:00
Thomas Ingleby
66c5011cfb aio: move aio setup from core into module
Added additional syslog messages for debugging

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-11-17 17:40:48 +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
Thomas Ingleby
1cbdef1ab3 internal: add function protype for mux setup.
Now accesible from all mraa modules

Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-11-17 17:40:48 +00:00
Thomas Ingleby
2be24d8887 spi: expose defined CS
Signed-off-by: Thomas Ingleby <thomas.c.ingleby@intel.com>
2014-11-17 17:40:48 +00:00