Added initial interfaces and some sensors implementing them

Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
This commit is contained in:
Mihai Stefanescu
2018-06-12 18:46:49 +03:00
committed by Mihai Tudor Panu
parent 6bf21a23e7
commit f035470822
102 changed files with 1183 additions and 182 deletions

View File

@ -26,7 +26,7 @@
#pragma once
#include <string>
#include "interfaces/iHumiditySensor.hpp"
#include <interfaces/iHumidity.hpp>
#include "bmp280.hpp"
@ -57,7 +57,7 @@ namespace upm {
* @snippet bmp280-bme280.cxx Interesting
*/
class BME280 : public BMP280, public IHumiditySensor {
class BME280 : public BMP280, virtual public iHumidity {
public:
/**
@ -96,7 +96,7 @@ namespace upm {
*
* @return The relative humidity in percent.
*/
float getHumidity();
virtual float getHumidity();
/**
* Set the humidity sensor oversampling parameter. See the data

View File

@ -110,6 +110,11 @@ float BMP280::getTemperature(bool fahrenheit)
return temperature;
}
float BMP280::getTemperature()
{
return getTemperature(false);
}
float BMP280::getPressure()
{
return bmp280_get_pressure(m_bmp280);

View File

@ -28,8 +28,8 @@
#include <string>
#include "bmp280.h"
#include "interfaces/iPressureSensor.hpp"
#include "interfaces/iTemperatureSensor.hpp"
#include <interfaces/iPressure.hpp>
#include <interfaces/iTemperature.hpp>
namespace upm {
@ -67,7 +67,7 @@ namespace upm {
* @snippet bmp280.cxx Interesting
*/
class BMP280 : public ITemperatureSensor, public IPressureSensor {
class BMP280 : virtual public iPressure, virtual public iTemperature {
public:
/**
@ -127,7 +127,17 @@ namespace upm {
* Celicus. Celsius is the default.
* @return The temperature in degrees Celsius or Fahrenheit.
*/
float getTemperature(bool fahrenheit=false);
float getTemperature(bool fahrenheit);
/**
* Return the current measured temperature. Note, this is not
* ambient temperature - this is the temperature used to fine tune
* the pressure measurement. update() must have been called prior
* to calling this method.
*
* @return The temperature in degrees Celsius.
*/
virtual float getTemperature();
/**
* Return the current measured pressure in Pascals (Pa). update()
@ -135,7 +145,7 @@ namespace upm {
*
* @return The pressure in Pascals (Pa).
*/
float getPressure();
virtual float getPressure();
/**
* Set the pressure at sea level in hecto-Pascals (hPA). This

View File

@ -2,37 +2,14 @@
/* BEGIN Java syntax ------------------------------------------------------- */
#ifdef SWIGJAVA
%import "../interfaces/javaupm_iTemperatureSensor.i"
%import "../interfaces/javaupm_iHumiditySensor.i"
%import "../interfaces/javaupm_iPressureSensor.i"
%include "arrays_java.i";
%include "../java_buffer.i"
%typemap(javaimports) SWIGTYPE %{
import upm_interfaces.*;
%}
JAVA_JNI_LOADLIBRARY(javaupm_bmp280)
#endif
/* END Java syntax */
/* BEGIN Javascript syntax ------------------------------------------------- */
#ifdef SWIGJAVASCRIPT
%include "iModuleStatus.hpp"
%include "iTemperatureSensor.hpp"
%include "iPressureSensor.hpp"
%include "iHumiditySensor.hpp"
#endif
/* END Javascript syntax */
/* BEGIN Python syntax ----------------------------------------------------- */
#ifdef SWIGPYTHON
%include "iModuleStatus.hpp"
%include "iTemperatureSensor.hpp"
%include "iPressureSensor.hpp"
%include "iHumiditySensor.hpp"
#endif
/* END Python syntax */
/* BEGIN Common SWIG syntax ------------------------------------------------- */