This commit adds node based tests provided by Nico to the ctest
framework already established in UPM.
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
The mraa_i2c_read_bytes_call didn't work with firmata based
platforms and was changed to mraa_i2c_read_bytes_data call which
worked.
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
This patch reworks error handling in the C driver to more reliably detect
errors, and for C++, throw exceptions when they are detected.
The C++ API is unchanged aside from the fact that more methods will
throw an exception on errors now.
This addresses the error handling deficiencies reported in Issue #593.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
* Use docker images from docker hub instead of building them on Travis
* Fix doxygen warnings for Markdown Files
* Modify Travis build matrix to include stages and additional jobs
* Add doxygen2jsdoc submodule
* Add doxyport submodule
* Remove duplicated code in doxy/node directory
* Generate documentation for each language in Travis
Signed-off-by: Nicolas Oliver <dario.n.oliver@intel.com>
remove utf8 characters from:
* examples/c++/mcp9808.cxx
* examples/c++/tmp006.cxx
* src/bmp280/bmp280.c
* src/max30100/max30100.c
add -j8 options to make command in scripts/sonar-scan.sh
Signed-off-by: Nicolas Oliver <dario.n.oliver@intel.com>
Make a build heriarchy to reduce images size.
Add Android Things builds to build matrix.
Drop gcc-4 builds, use gcc-5 and gcc-6 instead.
Add SonarQube static analysis scans.
Signed-off-by: Nicolas Oliver <dario.n.oliver@intel.com>
Make sure I2c bus is initialized with provided bus number.
Removed unnecessary mraa::Result variable in favor of immediate checks.
Signed-off-by: Noel Eck <noel.eck@intel.com>
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>
Many of the UPM libraries allocate space on the heap but do not
explicitly handle copying and assignment. This commit uses C++11 delete
to forbit both the copy and assignment operator for these classes.
The C++ examples which used assignment operators to initialize class
instances were also updated since it did not appear necessary in those
cases to use the assignment operator.
Signed-off-by: Noel Eck <noel.eck@intel.com>
Removed redundant usage of MODULE_LIST and SUBDIRS variables.
Treat utilities and interfaces directories the same (add both if not
added when using MODULE_LIST).
Signed-off-by: Noel Eck <noel.eck@intel.com>
The custom command used to create a per-library jar can hit a race
condition where upm_interfaces.jar is in the process of building when
the javac command runs for a target. This is because the javac command
was provided a full path to the upm_interfaces.jar file for ALL java
targets (even targets which do NOT use the interfaces).
Example:
javac -cp path/to/upm_interfaces.jar
If upm_interfaces.jar does not exist, javac is fine.
if upm_interfaces.jar exists and is a valid file, javac is fine.
If upm_interfaces.jar exists and is empty, javac throws an error.
For the targets which do not have a dependency on the interfaces,
it's possible one will run javac when the upm_interfaces.jar file is
building in parallel and will fail since the file is
open/incomplete/empty.
The fix is to only provide the full path to the upm_interfaces.jar file
for targets which depend on the interfaces. These will pass since they
depend on the java interfaces target.
Signed-off-by: Noel Eck <noel.eck@intel.com>