113 Commits

Author SHA1 Message Date
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
01036f7dae autodoc: Removed autodoc directive from py swig
Since UPM uses doxy2swig, there is no need for the swig interface
file autodoc for python.

Also, turned on the doxy2swig --quiet switch which cleans up the build
log a tiny bit.

This removes a redundant chunk of documentation from python modules
(per each function).

Old:

           def pH(self, samples=15):
         +->   """
         |     pH(DFRPH self, unsigned int samples=15) -> float
         |
         |     Parameters
         |     ----------
     swig|     samples: unsigned int
         |
         |     pH(DFRPH self) -> float
         |
         |     Parameters
         |     ----------
         +->   self: upm::DFRPH *

         +->   float pH(unsigned int
         |     samples=15)
         |
         |     Take a number of samples and return the detected pH value. The default
         |     number of samples is 15.
         |
doxy2swig|     Parameters:
         |     -----------
         |
         |     samples:  The number of samples to average over, default 15
         |
         |     The pH value detected
         |     """
         +->   return _pyupm_dfrph.DFRPH_pH(self, samples)

   New:

           def pH(self, samples=15):
         +->    """
         |      float pH(unsigned int
         |      samples=15)
         |
         |      Take a number of samples and return the detected pH value. The default
         |      number of samples is 15.
         |
doxy2swig|      Parameters:
         |      -----------
         |
         |      samples:  The number of samples to average over, default 15
         |
         |      The pH value detected
         +->    """

Signed-off-by: Noel Eck <noel.eck@intel.com>
2017-07-14 15:33:59 -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
Jon Trulson
ab171573f9 lcd/lcm1602/jhd1313m1: remove lcm1602 and jhd1313m1 from lcd library
The lcm1602 and jhd1313m1 drivers had been rewritten in C with a C++
wrapper some time ago, however the original lcm and jhd drivers were
still present in the lcd library.  In addition, to avoid header file
conflicts, the new, separated lcm and jhd header files were renamed
with a .hxx prefix.

This patch:

- renames the new lcm1602/ and jhd1313m1/ header files to have the
  usual .hpp prefix.

- removes the lcm1602, jhd1313m1, and sainsmartks drivers from the
  lcd/ (i2clcd) library.

- fixes the examples to use the "new" libraries (lcm1602 and
  jhd1313m1)

- changes the argument type for the createChar() (C++) to use a byte
  vector (std::vector<uint8_t>) rather than a typedef'd char array.
  The lcm1602_create_char() function (C) uses a standard char *.  The
  use of std::vector is well supported by SWIG.

- SWIG interface files changed to use upm_vectortypes.i, and removes
  the carrays helpers, which should no longer be needed for these
  drivers.

- removes the inclusion of the driver C .h header files into the SWIG
  interface files - this should not be needed for these drivers.

- the sainsmartks driver will be placed into it's own new lcdks (LCD
  Keypad Shield) library.  This library should support the
  SainsmartKS, DFRobot LCD Keypad Shield, and similar products from
  other manufacturers in a future commit.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
2017-03-16 12:39:52 -06: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
Mihai Tudor Panu
dfc7a710d4 firmata: extended data types on pins to allow subplatform usage
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-12-08 15:10:36 -08:00
Jon Trulson
aab0c5afe2 lcm1602, st7735: Fix up some Worder warnings
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-11-03 12:51:07 -06:00
Jon Trulson
0589f445f0 Wreorder: fix a variety of re-ordering warnings
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-11-03 12:19:21 -06:00
Noel Eck
c63692b5fd Wreorder: Fixed a subset of reorder errors
This commit addresses warnings emitted from -Wreorder
in the C++ src.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2016-11-03 10:19:59 -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
Noel Eck
62718daf0b python: Build both python2 and python3 modules
Updated UPM cmake to build both python2/3 modules if the necessary
python libs are available.

    * Removed BUILDPYTHON3 cmake option in favor of building both
      versions
    * Added cmake module to find both python2 and python3
    * Added macro which can be called from per-sensor cmake files
      to add dependency libraries via target_link_libraries as well
      as swig_link_libraries (for java, nodejs, and python)
    * Python2 is required for python documentation builds
    * Cleanup of python usage throughout UPM cmakelists.
    * Make find_package for Node required.  Removed check for NODE_FOUND
      (which should have been NODEJS_FOUND) in favor of REQUIRED.
    * The cxx and .py wrapper files get generated in python2/3 (instead
      of the same directory).  It appears these files are identical,
      however since the targets can be built in parallel it's safer to split
      them out.
    * Updated all cmake dependencies related to building documentation.
    * Removed unused classname from cmake files

Signed-off-by: Noel Eck <noel.eck@intel.com>
2016-09-30 17:01:41 -07:00
Noel Eck
c1f9d15f67 upmc: Updates for building C modules w/base UPM
Test commit for building C UPM modules.

    * Added C include directory
    * Added C utilities directory
    * Rename C++ upm.h -> upm.hpp to make room for C upm.h
    * Added upm_mixed_module_init function to src/CMakeLists.txt.  This
      function takes filesnames similar to upm_module_init and does a
      bit of processing before calling upm_module_init.
    * Added c example directory.  Changed c++ example names.
    * Added dfrph implemention for testing (C++ wraps C).  Added mraa
      to .pc requires for dfrph.  Tested against stand-alone project.
      Added dfrph c example.
    * Update implemention of pkg-config file generation.
    * Added two cmake cache variables: BUILDCPP and BUILDFTI
    * Removed src from swig_add_module calls, added libname to
      swig_link_libraries calls.  Shrinks swig'ed binaries by ~13%.
    * Added install target in upm/CMakeLists.txt to install C header,
      directory.  Is this where we want this?
    * C FTI header directory is include/fti

Signed-off-by: Noel Eck <noel.eck@intel.com>
2016-09-14 14:07:44 -07:00
Mihai Tudor Panu
5304192813 jhd1313m1: added backlight control functions
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-08-30 15:16:07 -07:00
Mihai Tudor Panu
2b642ab7a4 ssd1306: failed i2c frequency change should be non-fatal for this device
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-08-23 10:40:59 -07:00
Akira Tsukamoto
9a74a3b4f5 LCD:jhd1313m1:HD44780 Setting number of rows and font size
Signed-off-by: Akira Tsukamoto <akira.tsukamoto@linaro.org>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-06-17 14:24:36 -07:00
Akira Tsukamoto
25c0f8ebb1 LCD:jhd1313m1:HD44780 Adding workaround of errata on init
HD44780 fails to initialize unsuccessfully without the workaround.

Adding workaround based on HD77480 datasheet for initialization
and software reset.

Signed-off-by: Akira Tsukamoto <akira.tsukamoto@linaro.org>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-06-17 14:23:53 -07:00
Mihai Tudor Panu
de986764d4 lcm1602: added backlight control and default bus/address for I2C variants
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-05-12 13:48:06 -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
Jon Trulson
b3a8fd7172 eboled: change write_word to writeWord for MRAA 1.0 API change.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Noel Eck <noel.eck@intel.com>
2016-04-28 13:17:20 -07:00
Mihai Tudor Panu
5324808e82 docs: minor doc, image and example fixes for some lcds
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-02-10 12:58:23 -08:00
Mihai Tudor Panu
7d64e5458f docs: added new sensor images
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-02-10 10:59:42 -08:00
Mihai Tudor Panu
3522e4ee8f eboled: updated python sample and function description for refresh()
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-01-29 16:56:07 -08:00
Zion Orent
387b2b86b0 swig: ensure that all uint*_t passed in have the correct type.
Otherwise, we generate an exception.  This should fix Issue #172:

https://github.com/intel-iot-devkit/upm/issues/172

Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-12-21 16:36:31 -08:00
Noel Eck
e003a11723 cmake: added doxygen doc content to python sensor modules
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-12-21 16:20:15 -08:00
Stefan Andritoiu
dddba3e8a4 java: Added auto load library code in upm SWIG interfaces
Signed-off-by: Stefan Andritoiu <stefan.andritoiu@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-11-24 14:36:17 -08:00
Mihai Tudor Panu
1040b4e51f lcm1602: small patches to comments and examples
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-10-05 17:18:32 -07:00
Sergey Kiselev
1713d44a4b lcm1602: Add support for various LCD configurations / sizes
Signed-off-by: Sergey Kiselev <sergey.kiselev@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-10-05 14:47:52 -07:00
Mihai Tudor Panu
e3dde0e390 ssd1306: remove unprintable characters from header file
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-23 11:59:03 -07:00
Andrei Vasiliu
a427d6ebe5 eboled: Solved compilation warnings
Signed-off-by: Andrei Vasiliu <andrei.vasiliu@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-22 11:18:59 -07:00
Tyler Gibson
14a3924fb2 eboled: Sparkfun OLED Block Improvements
Signed-off-by: Tyler Gibson <tgibson@microsoft.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-21 16:08:44 -07:00
Jon Trulson
7323b58b61 ssd1327: throw exception(s) on fatal errors
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-17 17:10:16 -07:00
Jon Trulson
cb6427b22e ssd1308: throw exception(s) on fatal errors
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-17 17:10:05 -07:00
Jon Trulson
f29141087e lcm1602,jhd1313m1: throw exception(s) on fatal errors
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-17 17:04:03 -07:00
Mihai Tudor Panu
4e70ed4973 ssd1306: updated to C++ types and new exceptions, fixed repeated call to i2cfrequency
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-15 18:27:09 -07:00
Marc Graham
3159005aa3 ssd1306: initial implementation
Signed-off-by: Marc Graham <marc@m2ag.net>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-15 18:20:45 -07:00
Stefan Andritoiu
ef74a7b137 java: Eliminated double definition of SWIGJAVA and the need for "#undefine SWIGJAVA"
Signed-off-by: Stefan Andritoiu <stefan.andritoiu@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>

Conflicts:
	src/CMakeLists.txt
2015-09-15 17:58:22 -07:00
Andrei Vasiliu
2e5fbd0d54 java: ignoring BasicFonts matrix
Signed-off-by: Andrei Vasiliu <andrei.vasiliu@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-15 17:08:48 -07:00
Petre Eftime
2cab79b4c2 java: Changed size_t and unsigned int to int in array declarations. Renamed buf to buffer where necesarry. Moved most Java array typemaps to java_buffer.i. Fixed some String buffers.
Signed-off-by: Petre Eftime <petre.p.eftime@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>

Conflicts:
	src/upm.i
2015-09-15 17:01:39 -07:00
Andrei Vasiliu
b8835958e2 java: now using the C++ style types from mraa defined in types.hpp
Signed-off-by: Andrei Vasiliu <andrei.vasiliu@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-15 16:44:18 -07:00
Petre Eftime
2ceb6a9d8d java: fix Java arrays for lcd modules
Signed-off-by: Petre Eftime <petre.p.eftime@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-04 13:51:52 -07:00
Stefan Andritoiu
3d74ea9820 java: in methods taking buffers as arguments, changed buffer type from short[] to byte[]
Signed-off-by: Stefan Andritoiu <stefan.andritoiu@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-04 13:51:19 -07:00
Andrei Vasiliu
945a6d4828 java: code cleanup to enable comment parsing with external tools.
Using an external code parsing library we discovered that there are
non-printable characters in some source files which break the parser.
This commit removes these characters and rewrites a type definition
which was also breaking the parser.

Signed-off-by: Mircea Bardac <mircea.bardac@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-04 13:49:06 -07:00
Stefan Andritoiu
323905a215 java: added callback functionality
Signed-off-by: Stefan Andritoiu <stefan.andritoiu@intel.com>
Signed-off-by: Andrei Vasiliu <andrei.vasiliu@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-04 13:48:50 -07:00
Stefan Andritoiu
3e59323abb java: solved SWIGTYPE_* issues
Signed-off-by: Stefan Andritoiu <stefan.andritoiu@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-04 13:48:41 -07:00
Mihai Tudor Panu
f8766cccdc java: added java interfaces for sparkfun sensor blocks
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-08-13 16:38:40 -07:00
Stefan Andritoiu
4bea93163d Added Java bindings for the remaining sensors
Signed-off-by: Stefan Andritoiu <stefan.andritoiu@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-08-13 16:26:18 -07:00