2061 Commits

Author SHA1 Message Date
Samuli Rissanen
e4dd6457bb kx122: Added missing function implementation
Signed-off-by: Samuli Rissanen samuli.rissanen@hotmail.com
Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-02-23 20:21:43 +02:00
Samuli Rissanen
ad36f83857 kx122: Moved definitions, documentation tweaks
Signed-off-by: Samuli Rissanen <samuli.rissanen@hotmail.com>
Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-02-23 13:17:37 +02:00
Samuli Rissanen
2a17fe094e kx122: Added C and C++ examples
Signed-off-by: Samuli Rissanen <samuli.rissanen@hotmail.com>
Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-02-22 13:21:01 +02:00
Samuli Rissanen
8f99289a48 kx122: Added driver files to src
Signed-off-by: Samuli Rissanen <samuli.rissanen@hotmail.com>
Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-02-22 13:04:31 +02:00
Noel Eck
829da899fc docs: Updated doc dependencies for all languages
This commit changes how the UPM doc targets build.  The doc targets no
longer rebuild each time.

    * doc (doxygen) target depends only on C/C++ source
    * jsdoc (yuidoc) depends on doc and a stamp file
    * pydoc (sphinx) depends on the output index.xml from doc
    * pyupm_doxy2swig depends on python2 python extensions

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-02-21 15:08:03 -08:00
Noel Eck
20aa4962f0 SWIG: Moved common SWIG syntax to ${libname}.i
This commit moves common SWIG syntax to a ${libname}.i for sensor
libraries.  Much of the swig content was originally duplicated for
each wrapper language which has lead to inconsistencies between wrappers
over time.  This commit moves all swig syntax to a common file.  Language
specific swig syntax can be added with #ifdef SWIG<LANGUAGE>.

The src/CMakeLists.txt will look first for a language-specific .i file,
then fall back to ${libname}.i.  In this way, it's possible to override
the common ${libname}.i file.  If a fallback .i file does NOT exist,
UPM CMake will generate a simple interface file for all languages.

Example:
    If no src/abp/pyupm_abp.i and no src/abp/abp.i then
    generate ${CMAKE_CURRENT_BINARY_DIR}/abp.i

When src/CMakeLists.txt uses a common ${libname}.i, it adds a -module
<language>upm_${libname} to the swig command line.

In the example below, a -module argument is provided for both Java and
Javascript, while the python module takes all syntax from pyupm_abp.i.

    SWIG FILE              Language       CMake added SWIG args
    ---------------        ----------     ---------------------
    src/abp/abp.i          java           -module javaupm_abp
    src/abp/abp.i          javascript     -module jsupm_abp
    src/abp/pyupm_abp.i    python

This commit removes ~4500 redundant lines for the UPM repository and
helps promote uniformity for the SWIG'ed languages.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-02-21 10:51:44 -08:00
Noel Eck
3d674efb51 CTest: Removed failing JSON lint test
Currently failing since a dependency has been deprecated.  Will enable
once a solution is in place.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-02-20 14:58:05 -08:00
Mihai Tudor Panu
cc7fec9ae0 upm: version 1.6.0
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
v1.6.0
2018-02-20 07:45:15 -08:00
Mihai Tudor Panu
4a1eb99d6d doxygen: updated library brief description tags
Touched on all library brief descriptions for better integration with ISS and fixed a few typos and connection tags in the process.

Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2018-02-14 11:33:09 -08:00
Mihai Tudor Panu
a12baf379f doxygen: updated descriptions to clean up @con tags for xml generation
This ensures the generated xml paragraphs for the connection field won't have nested children and hence should be readable by the ISS parser properly

Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2018-02-13 11:37:08 -08:00
Noel Eck
38817b72dc pydoc: Fixed mix of python2/3 modules with pydoc
The pydoc target copies python binaries and modules to pyupm.  Since the
find command didn't make a distinction between python2/3 modules, a mix
of each could end up in pyupm.  If sphinx runs under a mismatching
interpreter (mismatching against the python binaries) the build would
fail with load errors

    * Only copy python2 modules (and binaries) to pyupm directory
    * Explicitly run the sphinx tools w/python2
    * Removed doc dependency to each library target (not needed).

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-02-12 16:15:59 -08:00
Noel Eck
fe7bd75c91 C: Fixes for sign compares in C libraries
Added explicit error for sign compares to CMake.  Updated a handful of C
source which compared unsigned vs signed.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-02-07 14:29:35 -08:00
Noel Eck
460fdc2eb5 Travis-ci: Switch from curl to wget for automation
Currently ~2/5 UPM travis-ci jobs are failing with an SSL error from curl
when grabbing the 1.9.0 version of docker-compose.  This commit is a
brute-force attempt to make this go away.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-02-07 14:11:10 -08:00
Mihai Tudor Panu
9d51454290 FindNodejs: extend search path to detect ubuntu provided nodejs
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2018-02-07 10:36:42 -05:00
Noel Eck
6f72c52a44 CMake: Update FindNpm module and usage
FindNpm REQUIRE functionality was not provided by FindNpm.cmake.
UpdatedUpdated FindNpm to extract version, global node_modules
directory, and to fail if REQUIRE was set and npm was not found.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-02-06 14:11:28 -08:00
Noel Eck
7d83e8c569 FindNodejs: Updated to find node<version>
Updates to the FindNodejs.cmake module to find newer installs of nodejs
across other distros.  For example openSUSE: /usr/include/node6/node.h

    * Added PATH_SUFFIX to find_path for node.h.
    * Standardized usage of message() (added STATUS)
    * Call find_package_handle_standard_args with version
    * Reformatted to look uniform.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-02-06 09:35:57 -08:00
Alex Tereschenko
96bcfc9128 lis2ds12: remove surplus accFactor coefficient
As we've established in PR #623 (adding lis3dh support), this coefficient
is not needed and actually is cancelled out in calculations, so remove it.

Signed-off-by: Alex Tereschenko <alext.mkrs@gmail.com>
2018-01-28 11:00:27 +01:00
Noel Eck
6be656d5b0 Java: Added loadLibrary macro for packages
These four libaries were previously blacklisted for building Java
packages.  Updating to include loadLibrary macro.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-01-24 14:55:44 -08:00
Noel Eck
3cfea676e2 lcd: Renamed 'i2clcd' library to 'lcd'
All other upm library directories match their corresponding library
name, the i2clcd was an outlier which caused problems for CMake and
testing.

    * Replaced usage of i2clcd with lcd
    * Renamed source files and examples
    * Updated examples to use correct class
    * Updated documentation where necessary (left changelog sections)

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-01-24 13:00:53 -08:00
Noel Eck
f64060b9d2 pydoc: Removed include for sensor specific _doc.i files
There is a single monolithic .i file which provides documentation for
the python methods.  The per-sensor flow is not used.  Removing for now,
may investigate implementing a per-sensor doc.i file again in the future.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-01-24 11:55:54 -08:00
Noel Eck
36ebd15abc java_blacklist: Enable Java blacklisted modules
Enable building java wrappers for a few that were previously
blacklisted.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-01-24 11:55:54 -08:00
Noel Eck
23a57b8c90 nrf24l01: Initialize member variable
Initialize a member variable pointer to NULL.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-01-24 10:42:05 -08:00
Noel Eck
666452e873 SWIGJAVA: Remove the last JAVA ifdefs from src
Removed all references to #ifdef SWIGJAVA and JAVACALLBACK from the
library source.  All java-specific source code has been moved to the
corresponding library's .i file for java.

    * Update library source
    * Update examples where necessary
    * The function pointer methodology has been remove from libraries
      which provided callbacks as both a class and a function pointer
      implementation.  Examples were updated to use the class version
      of callbacks.
    * Updated documentation for SWIGJAVA

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-01-24 09:31:05 -08:00
Noel Eck
d49ab2ac95 SWIG: Added documentation to _upm.i
Includes documentation on the macros provided as well as a top-level
description of the file.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-01-24 09:31:05 -08:00
Noel Eck
d06e632f3b SWIG: Move from include->import
Do no expose _upm.i in the wrapper code.  Also updated syntax to use a
relative path to _upm.i.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-01-24 09:31:05 -08:00
Serban Waltter
e192a125f3 Added new macros for installISR and applied where possible. 2018-01-24 09:31:05 -08:00
Serban Waltter
63b2b33df7 Moved SWIG code from C++ files (hpp and cxx) to SWIG interface files (.i). Added getter/setter methods for classes with protected or private vars. 2018-01-24 09:31:05 -08:00
Serban Waltter
2551596309 Added the JAVA_JNI_LOADLIBRARY macro for the jniclasscode pragma included in _upm.i for all java SWIG interface files. 2018-01-24 09:31:05 -08:00
Noel Eck
6725559669 JAVA: Remove library source compile from JAVA packages
Previously the JAVA packages re-compile UPM library source files.  This
was a work-around for compiling JAVA-specific functionality from the UPM
source into the SWIG'ed JAVA pacakges.

This commit removes the source from the JAVA SWIG compile and provides
an example on how to add the JAVA-specific code with a swig extend call.

    * Added _upm.i file for %import (not %include)
    * Added macros to _upm.i; 1 which performs the loadLibrary, and one
      which adds the java installISR runnable.
    * Updated the src/CMakeLists.txt file to NOT build library src into
      pacakges.
    * Updated the a110x library with examples on how to use the macros.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-01-24 09:30:23 -08:00
Noel Eck
680649ba6f zfm20: Use mraa::Uart instead of tty
Updated the ZFM20 class to use UART functionality provided through the
mraa::Uart class instead of using the UART directly.

    * Switch to mraa::Uart
    * Added raw uart string constructor, closes #621
    * Updated examples
    * Added a common.i to minimize interface duplication
    * Removed pointers from C++ functions where references are
      preferable
    * Removed dependency on termios
    * Added typedefs to handle pass-by-reference
    * Removed flushes
    * Removed code after throws

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-01-23 15:51:54 -08:00
Noel Eck
74b5ec00dc Java: Added an unresolved symbol check for Java packages
Tell the linker to error on unresolved symbols.  This enables future
Java work (removing library source from Java packages) by flagging
missing reference.s

TODO: Move this up one level to all libraries.  The reason this was not
done in the same commit is that the NodeJs libraries contain unresolved
references which must come from node but remain unresolved in the NodeJs
packages.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-01-22 16:47:42 -08:00
Noel Eck
abefdfc756 CMake: Moved swig macros to functions
Switched these macros to functions so changes at the
upm_swig_<extension> level don't propogate further than necessary.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-01-22 16:47:42 -08:00
Noel Eck
f97a62b055 Threading: Scrubbed usage of threading in libraries
Removed include for pthreads from libraries where it appears NOT to be
used.  Added ${CMAKE_THREAD_LIBS_INIT} to CMakeLists.txt for libraries
which appear to require threading.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-01-22 16:47:42 -08:00
Abhishek Malik
7422ec937c JSON: Fixing Sensor Name field
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2018-01-18 13:26:34 -05:00
Alex Tereschenko
a842898bd5 lis3dh: add sensor support based on lis2ds12 module
Adding STMicro LIS3DH sensor support. This module is based on
the one for lis2ds12 (thanks, jontrulson!), but as sensors are
noticeably different, the contents underwent major rework.

Examples and basic API are left the same.

Tested on Intel Edison with Arduino board using both I2C and SPI.

Signed-off-by: Alex Tereschenko <alext.mkrs@gmail.com>
2018-01-16 20:30:34 -08:00
malikabh
76949d9358 JSON: Correcting the Sensor Class field
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2018-01-16 15:23:33 -05:00
Mihai Tudor Panu
b244fe45d1 led: update to use gpioled if desired, better C code wrapper
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2018-01-12 08:19:44 -08:00
Mihai Tudor Panu
b367a63010 upm: fix pin and bus types to allow subplatform usage in C libs
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2018-01-12 08:15:36 -08:00
Noel Eck
a5680d9b9a Doxygen: Turn off messages
Turn off non-warning/error doxygen messages to clean up the build log.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-01-11 11:53:50 -08:00
malikabh
a6111a83b5 JSON: Correcting bad sensor names
Signed-off-by: malikabh <abhishek.malik@intel.com>
2018-01-10 13:47:57 -05:00
malikabh
450f071f7d JSON: Correcting the Sensor Class tag BMX055
Signed-off-by: malikabh <abhishek.malik@intel.com>
2018-01-10 11:48:18 -05:00
Alex Tereschenko
82c8acf0fe examples/lis2ds12.py: fix comment typo
Signed-off-by: Alex Tereschenko <alext.mkrs@gmail.com>
2018-01-07 19:46:05 +01:00
Alex Tereschenko
a65cd2e59b lis2ds12.{h,hpp}: add missing parameter description
Signed-off-by: Alex Tereschenko <alext.mkrs@gmail.com>
2018-01-04 16:29:06 -08:00
Noel Eck
c154ec6cb8 ad8232: Removed C example (doesn't exist)
Previous commit failed because the C examples doesn't exist.  The
version BEFORE that passes even though the C example filename pointed to
a test for a different sensor library.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2017-12-05 16:31:18 -08:00
Noel Eck
d9d48e939f ad8232: Fixed copy/paste error in json
bmp280.c -> ad8232.c

Also converted to unix line endings.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2017-12-05 16:09:06 -08:00
Noel Eck
b1a49f0d3c rhusb: Memory leak fix in sendCommand
Fix for case where dataAvailable always returns true.  Previously, if
this ever happened (eg mock platform), string resp is resized until the
system is out of memory.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2017-11-27 15:40:03 -08:00
Noel Eck
ac89a4a130 examples: Add install component for all examples
Provide the functionality to install all UPM examples to
DATADIR/upm/examples.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2017-11-16 12:07:00 -08:00
Noel Eck
f848deb35b components: Refactor UPM install components
Removed the per-target install component in favor of a limited set of
insinstall components.

Available install components are: "upm" "upm-dev" "upm-java"
"upm-nodejs" "upm-python2" "upm-python3"

Signed-off-by: Noel Eck <noel.eck@intel.com>
2017-11-16 12:00:42 -08:00
Noel Eck
71b2b9b1fc JSON: Install JSON library descriptor files
Install the provided json files to DATADIR.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2017-11-10 16:17:18 -08:00
Noel Eck
18b8ca2633 examples/python: Add/update shebang line
Added/updated the shebang line on all python examples with:

Also chmod +x a few of the python examples.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2017-11-02 15:39:45 -07:00