ecs1030: move example and fix doc

Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit is contained in:
Brendan Le Foll 2014-09-07 21:44:16 +01:00
parent d15bf86157
commit b347f47406
3 changed files with 55 additions and 48 deletions

View File

@ -28,7 +28,7 @@ add_executable (nrf8001-broadcast-example nrf8001_broadcast.cxx)
add_executable (nrf8001-helloworld-example nrf8001_helloworld.cxx)
add_executable (lpd8806-example lpd8806-example.cxx)
add_executable (mlx90614-example mlx90614-example.cxx)
add_executable (ecs1030-example ecs1030-example.cxx)
add_executable (ecs1030-example ecs1030.cxx)
add_executable (mq2-example mq2-example.cxx)
add_executable (mq3-example mq3-example.cxx)
add_executable (mq5-example mq5-example.cxx)

View File

@ -28,6 +28,8 @@
#include <mraa/aio.h>
#include <mraa/gpio.h>
namespace upm {
#define NUMBER_OF_SAMPLES 500
#define ADC_RESOLUTION 1024
#define SUPPLYVOLTAGE 5100
@ -39,59 +41,64 @@
#define TRUE HIGH
#define FALSE LOW
namespace upm {
class ECS1030 {
public:
static const uint8_t DELAY_MS = 20000 / NUMBER_OF_SAMPLES; /* 1/50Hz is 20ms period */
static const uint8_t VOLT_M = 5.1 / 1023;
static const uint8_t R_LOAD = 2000.0 / CURRENT_RATIO;
/**
* @brief C++ API for ECS1030 (electricity sensor)
*
* @snippet ecs1030.cxx Interesting
*/
/**
* Instanciates a ECS1030 (current sensor) object
*
* @param pinNumber number of the data pin
*/
ECS1030 (uint8_t pinNumber);
class ECS1030 {
public:
static const uint8_t DELAY_MS = 20000 / NUMBER_OF_SAMPLES; /* 1/50Hz is 20ms period */
static const uint8_t VOLT_M = 5.1 / 1023;
static const uint8_t R_LOAD = 2000.0 / CURRENT_RATIO;
/**
* ECS1030 object destructor, basicaly it close the GPIO.
*/
~ECS1030 ();
/**
* Instanciates a ECS1030 (current sensor) object
*
* @param pinNumber number of the data pin
*/
ECS1030 (uint8_t pinNumber);
/**
* Return currency data for the sampled period
*/
double getCurrency_A ();
/**
* ECS1030 object destructor, basicaly it close the GPIO.
*/
~ECS1030 ();
/**
* Return power data for the sampled period
*/
double getPower_A ();
/**
* Return currency data for the sampled period
*/
double getCurrency_A ();
/**
* Return currency data for the sampled period
*/
double getCurrency_B ();
/**
* Return power data for the sampled period
*/
double getPower_A ();
/**
* Return power data for the sampled period
*/
double getPower_B ();
/**
* Return currency data for the sampled period
*/
double getCurrency_B ();
/**
* Return name of the component
*/
std::string name() {
return m_name;
}
private:
std::string m_name;
mraa_aio_context m_dataPinCtx;
/**
* Return power data for the sampled period
*/
double getPower_B ();
double m_calibration;
int m_lastSample;
double m_lastFilter;
int m_sample;
double m_filteredSample;
};
/**
* Return name of the component
*/
std::string name() {
return m_name;
}
private:
std::string m_name;
mraa_aio_context m_dataPinCtx;
double m_calibration;
int m_lastSample;
double m_lastFilter;
int m_sample;
double m_filteredSample;
};
}