28 Commits

Author SHA1 Message Date
Budanov
7cd290901d json: changed JSON files to new spec
Signed-off-by: Budanov <daniil.budanov@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2017-07-05 18:28:51 -07:00
Budanov
f01c89b95a added sensor JSON docs
Signed-off-by: Budanov <daniil.budanov@intel.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2017-06-30 16:08:06 -07:00
Mihai Tudor Panu
c64d04d084 ads1x15: fixed case logic in getThresh() function
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2017-05-30 15:14:09 -07:00
Stefan Andritoiu
fe9254c004 java: Created a general interface that is no longer included in each package and updated examples
Signed-off-by: Bogdan Ichim <bogdan.ichim@rinftech.com>
Signed-off-by: Stefan Andritoiu <stefan.andritoiu@gmail.com>
2017-04-25 11:57:54 -07:00
Mihai Tudor Panu
3aef2ea70e docs: updated @param tags, added missing function descriptions, other minor changes
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2017-04-10 16:59:39 -07:00
Noel Eck
a655235c70 snippet: Updated all snippet tags
Ensure all src C++ headers which have corresponding C++ examples have
doxygen tags which point to those examples.  Some were missing, some
were invalid, some needed to be updated to match the new example names.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2017-04-05 15:16:20 -07:00
Noel Eck
51a181a14f java_interfaces: Moved ifdefs for swig version
Moved the SWIG version check from each sensor library .i file to
the base SWIG .i file (per interface).  This cleans up the number
of #if SWIG_VERSION's across the code base, and will make cleanup
of these easier at a later date.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2017-03-03 10:27:12 -08:00
Noel Eck
cfb4105dd8 docs: Added space to swig interface include
Documentation script was failing when parsing swig file.  Added
a space in the ads1x15 java swig file to make the doc parser happy.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2017-03-03 10:11:25 -08:00
sisinty sasmita patra
1f18369fbe SWIG_JAVA: C++ Interfaces to Java interfaces, Modified one Java Example
This commit translates C++ interfaces to Java interfaces, previously C++ Interfaces implemented java classes.

    * Added java swig interface files for all C++ interfaces to simplify swig
    javaupm_iADC.i
    javaupm_iCO2Sensor.i
    javaupm_iHumiditySensor.i
    javaupm_iLightController.i
    javaupm_iLightSensor.i
    javaupm_iModuleStatus.i
    javaupm_interfaces.i
    javaupm_iPressureSensor.i
    javaupm_iTemperatureSensor.i

    <example Usage>
        %include"../interfaces/javaupm_iADC.i"

    * Modified swig interface files for few sensors that implements interfaces
    ads1x15
    bmp280
    bmpx8x
    ds1808lc
    hlg150h
    lp8860
    max44009
    ms5611
    si1132
    si7005
    t6713

    * Removed few methods that were mentioned Protected and made them public, so that menthods can be overridden

    * Made IModuleStatus virtual to avoid ambiguity in multiple inheritance
    For example
    class A {};
    class B : public A {};
    class C : public A {};
    class D : public B, public C {};

    This can be solved as
    class A {};
    class B : virtual public A {};
    class C : virtual public A {};
    class D : public B, public C {};

    * Modified java interface files to support multiple swig versions

    * Modified javaupm interface file to support standard auto load library code

    * Fixed autoloadlibrary tests for interfaces

    * Created one interface example separately <BME280_InterfaceExample.java>,
    <example Usage>
        BME280_InterfaceExample.java
    since we cann't define swig versions inside java example file.
    So, instaed added swig versions in Cmake.
    <example Usage>
         if (SWIG_VERSION VERSION_GREATER 3.0.8)
           add_example_with_path(BME280_InterfaceExample bmp280 bmp280)
         endif()

Signed-off-by: sisinty sasmita patra <sisinty.s.patra@intel.com>
2017-03-02 20:14:03 -08:00
Noel Eck
283fce619e doc: Scrubbed ALL sensor library descriptions
In an effort to clean-up and standardize UPM library
documentation, this commit updates (and in most cases,
unifies) the CMake description string AND CXX header
@comname string.

Strings were taken from datasheets when possible, spelling
mistakes were addressed, copy/paste errors where fixed,
Title Case was used, etc.

    * Tested/updated/added @web tags
    * Added/updated invalid sensor images
    * Added/updated @man tags, added missing manufacturers

Signed-off-by: Noel Eck <noel.eck@intel.com>
2017-02-08 11:50:00 -08:00
Noel Eck
567476b89a cmake: Explicit dependency for mraa and interfaces
A handful of modules do not require mraa.  Captured this in
    src/CMakeLists.txt - only add mraa dependency for targets which
    use:

        upm_module_init(mraa ... )
            or
        upm_mixed_module_init(... REQUIRES mraa)

    All sensors which use UPM interfaces (src/interfaces) now
    explicitly add the interfaces target:

        upm_module_init(interfaces ... )
            or
        upm_mixed_module_init(... REQUIRES interfaces)

Signed-off-by: Noel Eck <noel.eck@intel.com>
2017-02-06 16:52:27 -08:00
Noel Eck
d345006c03 cmake: Dependency refactoring for includes and libs
This commit attempts to use a more cmake-friendly approach when
handling inter-target dependencies.  A combination of macros and
include_directories usage provided overzealous compile -I/blah
entries which equates to large catch-all build commands.  For
example, the last CXX target contains include directories for nearly
all preceeding targets (~190).  Library dependencies were also often
wrong or missing.

    * Removed nearly all used of include_directories (swig cmake
      commands still appear to need these for generating the swig
      command line)
    * Updated usage of target_link_libraries in upm_module_init,
      also changed to using target_include_directories per target.
      This greatly simplifies upm/mixed_module_init usage for libraries
      which depend on other libraries (in this project).

        example (src/tb7300/CMakeLists.txt)
            old:
                 # upm-libbacnetmstp will bring in libbacnet, I hope
                 set (reqlibname "upm-bacnetmstp")
                 include_directories(${BACNET_INCLUDE_DIRS})
                 include_directories("../bacnetmstp")
                 upm_module_init()
                 upm_target_link_libraries(${libname} bacnetmstp)
            new:
                 upm_module_init(bacnetmstp)

      The reason here, is that tb7300 depends on bacnetmstp, which
      depends on BACNET includes/libs, so tb7300 gets the headers and
      libraries transitively via its dependency on bacnetmstp.
    * Updated pkg-config .pc file generation flow to reflect changes
      with dependencies.
    * Create a real target for the interfaces (CXX abstract sensor
      classes).  Renamed the directory from 'upm/src/upm' to
      'upm/src/interfaces'  Also changed the install location of the
      interface headers to include/upm/interfaces.  Updated interface
      header usage to reflect this.
    * Updated a few sensor libs to use fwd declarations for mraa.
      Ideally the UPM libs would do more of this which eases the
      burden on anyone building on top of the sensor libraries since
      they would not need to know about mraa headers.
    * Fixed examples which use symbols not defined in local includes

Signed-off-by: Noel Eck <noel.eck@intel.com>
2017-02-06 10:23:28 -08:00
Noel Eck
9be920dbcd cxx_warnings: Misc changes to enable Werror
* CMake option to enable -Werror as default
    * Change to make sure all cxx examples have correct target name
    * Added PUBLIC CXX compiler flags to ads1x15 and ozw targets to
      work around compiler warnings
    * Renamed cmake variable for compiler warnings

Signed-off-by: Noel Eck <noel.eck@intel.com>
2016-11-03 16:45:32 -07:00
Noel Eck
a3a1fdc81b Wunused-variable: Fixed all unused variables in src
This commit addresses all warnings emitted from -Wunused-variable
in the C++ src.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2016-11-02 21:44:27 -07:00
Noel Eck
b5a33f6ee3 cmake: Cleanup of src CMakeLists.txt description field
Removed 'upm' string, capitalized first character, added descriptions
where necessary.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2016-10-20 16:19:59 -07:00
Noel Eck
edd8df4c50 encodings: Added check for non-8bit encodings in src tree.
This commit sanitizes source files for unicode encodings which
cause failures in downstream flows (docgen, python2 module loading,
etc...).

    * Removed explicit encodings from src files
    * Replaced 2 byte character encodings with ascii encodies:
        ± -> +/-
        ° -> deg
        “ -> "
        etc...
    * Added ctest to check src tree files for non-8bit encodings

Signed-off-by: Noel Eck <noel.eck@intel.com>
2016-10-05 14:39:30 -07:00
Mihai Tudor Panu
9a83bb7530 ads1x15: changed error types to runtime errors on failed i2c ops
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-08-23 10:41:14 -07:00
Mihai Tudor Panu
19d1af6a48 ads1x15: failed i2c frequency change should be non-fatal for this device
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-08-12 11:59:47 -07:00
Noel Eck
922e0cc26b cpp_headers: Renamed C++ headers from .h -> .hpp
To make room for UPM C and C++ sensor code to coexist, all UPM
C++ headers have been renamed from h -> hpp.  This commit contains
updates to documentation, includes, cmake collateral, examples, and
swig interface files.

    * Renamed all cxx/cpp header files which contain the string
    'copyright intel' from .h -> .hpp (if not already hpp).

    * Replaced all references to .h with .hpp in documentation,
    source files, cmake collateral, example code, and swig interface
    files.

    * Replaced cmake variable module_h with module_hpp.

    * Intentionally left upm.h since this file currently does not
    contain code (documentation only).

Signed-off-by: Noel Eck <noel.eck@intel.com>
2016-04-28 14:00:54 -07:00
Henry Bruce
9bc3d2ded0 interfaces: Removed isConfigured() from IModuleStaus
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-17 15:54:35 -07:00
Henry Bruce
17fd502cb5 ads1x15: ads1015 module now implements IADC. Removed ads1015_iadc.
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-17 15:51:06 -07:00
Henry Bruce
4220dd25b4 examples: Updated IADC example to use updated interface
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-17 15:50:33 -07:00
Henry Bruce
bbdbe56355 ads1015: Added ads1015_iadc module that implements IADC.
An ADS1015 implementation existed in the inferface fork before the ADS1x15
moulde was added to upstream repo. This retrofits the IADC interface onto
an implementation derived from ads1x15

Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-17 15:49:13 -07:00
Mihai Tudor Panu
ab15d1e98f ads1015: fixed sensor typo in doxygen tags
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-02-08 14:09:26 -08:00
Mihai Tudor Panu
4ff722ed2e ads1x15: changed description text to UTF-8 for compatibility with doxy2swig
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-01-04 12:56:45 -08:00
Mihai Tudor Panu
930ff6734d ads1x15: include documentation generated by doxy2swig for python
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-01-04 11:21:24 -08:00
Mihai Tudor Panu
40be9b68a5 ads1x15: updated doxygen tags to match existing groups
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-12-23 17:03:33 -08:00
Marc Graham
4259aeab7b ads1x15: initial commit for ads1x15 adc
Initial commit of ADS1x15 adc converter. Support for both ADS1015 12 bit
and ADS1115 16 bit  adc.
--signoff
Signed-off-by: Marc Graham <marc@m2ag.net>

Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-12-23 16:47:52 -08:00