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 (nrf8001-helloworld-example nrf8001_helloworld.cxx)
add_executable (lpd8806-example lpd8806-example.cxx) add_executable (lpd8806-example lpd8806-example.cxx)
add_executable (mlx90614-example mlx90614-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 (mq2-example mq2-example.cxx)
add_executable (mq3-example mq3-example.cxx) add_executable (mq3-example mq3-example.cxx)
add_executable (mq5-example mq5-example.cxx) add_executable (mq5-example mq5-example.cxx)

View File

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