mirror of
https://github.com/eclipse/upm.git
synced 2025-03-24 01:10:22 +03:00
EHR: Removed Grove dependency
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
This commit is contained in:
parent
f9a36314fb
commit
a08b8bbcb0
@ -143,7 +143,7 @@ add_example (ds1307)
|
|||||||
add_example (a110x)
|
add_example (a110x)
|
||||||
add_example (gp2y0a)
|
add_example (gp2y0a)
|
||||||
add_example (moisture)
|
add_example (moisture)
|
||||||
add_example (groveehr)
|
add_example (ehr)
|
||||||
add_example (ta12200)
|
add_example (ta12200)
|
||||||
add_example (grovelinefinder)
|
add_example (grovelinefinder)
|
||||||
add_example (vdiv)
|
add_example (vdiv)
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include "groveehr.hpp"
|
#include "ehr.hpp"
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
@ -43,8 +43,8 @@ int main()
|
|||||||
signal(SIGINT, sig_handler);
|
signal(SIGINT, sig_handler);
|
||||||
|
|
||||||
//! [Interesting]
|
//! [Interesting]
|
||||||
// Instantiate a Grove Ear-clip Heart Rate sensor on digital pin D2
|
// Instantiate a Ear-clip Heart Rate sensor on digital pin D2
|
||||||
upm::GroveEHR* heart = new upm::GroveEHR(2);
|
upm::EHR* heart = new upm::EHR(2);
|
||||||
|
|
||||||
// set the beat counter to 0, init the clock and start counting beats
|
// set the beat counter to 0, init the clock and start counting beats
|
||||||
heart->clearBeatCounter();
|
heart->clearBeatCounter();
|
||||||
@ -75,4 +75,4 @@ int main()
|
|||||||
|
|
||||||
delete heart;
|
delete heart;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
@ -33,7 +33,7 @@ add_example(ES08ASample servo)
|
|||||||
add_example(GroveButtonSample grove)
|
add_example(GroveButtonSample grove)
|
||||||
add_example(GroveButton_intrSample grove)
|
add_example(GroveButton_intrSample grove)
|
||||||
add_example(Collision collision)
|
add_example(Collision collision)
|
||||||
add_example(GroveEHRSample groveehr)
|
add_example(EHRSample ehr)
|
||||||
add_example(Emg emg)
|
add_example(Emg emg)
|
||||||
add_example(Gsr gsr)
|
add_example(Gsr gsr)
|
||||||
add_example(GroveLed_multiSample grove)
|
add_example(GroveLed_multiSample grove)
|
||||||
|
@ -23,12 +23,12 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
//NOT TESTED!!!
|
//NOT TESTED!!!
|
||||||
public class GroveEHRSample {
|
public class EHRSample {
|
||||||
|
|
||||||
public static void main(String[] args) throws InterruptedException {
|
public static void main(String[] args) throws InterruptedException {
|
||||||
// ! [Interesting]
|
// ! [Interesting]
|
||||||
// Instantiate a Grove Ear-clip Heart Rate sensor on digital pin D2
|
// Instantiate a Ear-clip Heart Rate sensor on digital pin D2
|
||||||
upm_groveehr.GroveEHR heart = new upm_groveehr.GroveEHR(2);
|
upm_ehr.EHR heart = new upm_ehr.EHR(2);
|
||||||
|
|
||||||
// set the beat counter to 0, init the clock and start counting beats
|
// set the beat counter to 0, init the clock and start counting beats
|
||||||
heart.clearBeatCounter();
|
heart.clearBeatCounter();
|
@ -23,9 +23,9 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// Load heart rate sensor module
|
// Load heart rate sensor module
|
||||||
var heartRateSensor = require('jsupm_groveehr');
|
var heartRateSensor = require('jsupm_ehr');
|
||||||
// Instantiate a Grove Ear-clip Heart Rate sensor on digital pin D2
|
// Instantiate a Ear-clip Heart Rate sensor on digital pin D2
|
||||||
var myHeartRateSensor = new heartRateSensor.GroveEHR(2);
|
var myHeartRateSensor = new heartRateSensor.EHR(2);
|
||||||
|
|
||||||
// set the beat counter to 0, init the clock and start counting beats
|
// set the beat counter to 0, init the clock and start counting beats
|
||||||
myHeartRateSensor.clearBeatCounter();
|
myHeartRateSensor.clearBeatCounter();
|
@ -23,10 +23,10 @@
|
|||||||
|
|
||||||
|
|
||||||
import time, sys, signal, atexit
|
import time, sys, signal, atexit
|
||||||
import pyupm_groveehr as upmGroveehr
|
import pyupm_ehr as upmehr
|
||||||
|
|
||||||
# Instantiate a Grove Ear-clip Heart Rate sensor on digital pin D2
|
# Instantiate a Ear-clip Heart Rate sensor on digital pin D2
|
||||||
myHeartRateSensor = upmGroveehr.GroveEHR(2)
|
myHeartRateSensor = upmehr.EHR(2)
|
||||||
|
|
||||||
|
|
||||||
## Exit handlers ##
|
## Exit handlers ##
|
5
src/ehr/CMakeLists.txt
Normal file
5
src/ehr/CMakeLists.txt
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
upm_mixed_module_init (NAME ehr
|
||||||
|
DESCRIPTION "upm ear-clip heart rate sensor module"
|
||||||
|
CPP_HDR ehr.hpp
|
||||||
|
CPP_SRC ehr.cxx
|
||||||
|
REQUIRES mraa)
|
@ -26,12 +26,12 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
|
||||||
#include "groveehr.hpp"
|
#include "ehr.hpp"
|
||||||
|
|
||||||
using namespace upm;
|
using namespace upm;
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
GroveEHR::GroveEHR(int pin)
|
EHR::EHR(int pin)
|
||||||
{
|
{
|
||||||
if ( !(m_gpio = mraa_gpio_init(pin)) )
|
if ( !(m_gpio = mraa_gpio_init(pin)) )
|
||||||
{
|
{
|
||||||
@ -46,17 +46,17 @@ GroveEHR::GroveEHR(int pin)
|
|||||||
m_beatCounter = 0;
|
m_beatCounter = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
GroveEHR::~GroveEHR()
|
EHR::~EHR()
|
||||||
{
|
{
|
||||||
mraa_gpio_close(m_gpio);
|
mraa_gpio_close(m_gpio);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GroveEHR::initClock()
|
void EHR::initClock()
|
||||||
{
|
{
|
||||||
gettimeofday(&m_startTime, NULL);
|
gettimeofday(&m_startTime, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t GroveEHR::getMillis()
|
uint32_t EHR::getMillis()
|
||||||
{
|
{
|
||||||
struct timeval elapsed, now;
|
struct timeval elapsed, now;
|
||||||
uint32_t elapse;
|
uint32_t elapse;
|
||||||
@ -84,36 +84,36 @@ uint32_t GroveEHR::getMillis()
|
|||||||
return elapse;
|
return elapse;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GroveEHR::clearBeatCounter()
|
void EHR::clearBeatCounter()
|
||||||
{
|
{
|
||||||
m_beatCounter = 0;
|
m_beatCounter = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GroveEHR::startBeatCounter()
|
void EHR::startBeatCounter()
|
||||||
{
|
{
|
||||||
// install our interrupt handler
|
// install our interrupt handler
|
||||||
mraa_gpio_isr(m_gpio, MRAA_GPIO_EDGE_RISING,
|
mraa_gpio_isr(m_gpio, MRAA_GPIO_EDGE_RISING,
|
||||||
&beatISR, this);
|
&beatISR, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GroveEHR::stopBeatCounter()
|
void EHR::stopBeatCounter()
|
||||||
{
|
{
|
||||||
// remove the interrupt handler
|
// remove the interrupt handler
|
||||||
mraa_gpio_isr_exit(m_gpio);
|
mraa_gpio_isr_exit(m_gpio);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t GroveEHR::beatCounter()
|
uint32_t EHR::beatCounter()
|
||||||
{
|
{
|
||||||
return m_beatCounter;
|
return m_beatCounter;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GroveEHR::beatISR(void *ctx)
|
void EHR::beatISR(void *ctx)
|
||||||
{
|
{
|
||||||
upm::GroveEHR *This = (upm::GroveEHR *)ctx;
|
upm::EHR *This = (upm::EHR *)ctx;
|
||||||
This->m_beatCounter++;
|
This->m_beatCounter++;
|
||||||
}
|
}
|
||||||
|
|
||||||
int GroveEHR::heartRate()
|
int EHR::heartRate()
|
||||||
{
|
{
|
||||||
uint32_t millis = getMillis();
|
uint32_t millis = getMillis();
|
||||||
uint32_t beats = beatCounter();
|
uint32_t beats = beatCounter();
|
@ -30,39 +30,39 @@
|
|||||||
|
|
||||||
namespace upm {
|
namespace upm {
|
||||||
/**
|
/**
|
||||||
* @brief Grove Ear-clip Heart Rate Sensor library
|
* @brief Ear-clip Heart Rate Sensor library
|
||||||
* @defgroup groveehr libupm-groveehr
|
* @defgroup ehr libupm-ehr
|
||||||
* @ingroup seeed gpio medical
|
* @ingroup seeed gpio medical
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @library groveehr
|
* @library ehr
|
||||||
* @sensor groveehr
|
* @sensor ehr
|
||||||
* @comname Grove Ear-clip Heart Rate Sensor
|
* @comname Ear-clip Heart Rate Sensor
|
||||||
* @type medical
|
* @type medical
|
||||||
* @man seeed
|
* @man seeed
|
||||||
* @con gpio
|
* @con gpio
|
||||||
*
|
*
|
||||||
* @brief API for the Grove Ear-clip Heart Rate Sensor
|
* @brief API for the Ear-clip Heart Rate Sensor
|
||||||
*
|
*
|
||||||
* UPM module for the Grove ear-clip heart rate sensor. It is used to measure your
|
* UPM module for the ear-clip heart rate sensor. It is used to measure your
|
||||||
* heart rate.
|
* heart rate.
|
||||||
*
|
*
|
||||||
* @image html groveehr.jpg
|
* @image html ehr.jpg
|
||||||
* @snippet groveehr.cxx Interesting
|
* @snippet ehr.cxx Interesting
|
||||||
*/
|
*/
|
||||||
class GroveEHR {
|
class EHR {
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
* GroveEHR constructor
|
* EHR constructor
|
||||||
*
|
*
|
||||||
* @param pin Digital pin to use
|
* @param pin Digital pin to use
|
||||||
*/
|
*/
|
||||||
GroveEHR(int pin);
|
EHR(int pin);
|
||||||
/**
|
/**
|
||||||
* GroveEHR destructor
|
* EHR destructor
|
||||||
*/
|
*/
|
||||||
~GroveEHR();
|
~EHR();
|
||||||
/**
|
/**
|
||||||
* Returns the time of milliseconds elapsed since initClock()
|
* Returns the time of milliseconds elapsed since initClock()
|
||||||
* was last called.
|
* was last called.
|
@ -1,18 +1,18 @@
|
|||||||
%module javaupm_groveehr
|
%module javaupm_ehr
|
||||||
%include "../upm.i"
|
%include "../upm.i"
|
||||||
|
|
||||||
%ignore beatISR;
|
%ignore beatISR;
|
||||||
|
|
||||||
%{
|
%{
|
||||||
#include "groveehr.hpp"
|
#include "ehr.hpp"
|
||||||
%}
|
%}
|
||||||
|
|
||||||
%include "groveehr.hpp"
|
%include "ehr.hpp"
|
||||||
|
|
||||||
%pragma(java) jniclasscode=%{
|
%pragma(java) jniclasscode=%{
|
||||||
static {
|
static {
|
||||||
try {
|
try {
|
||||||
System.loadLibrary("javaupm_groveehr");
|
System.loadLibrary("javaupm_ehr");
|
||||||
} catch (UnsatisfiedLinkError e) {
|
} catch (UnsatisfiedLinkError e) {
|
||||||
System.err.println("Native code library failed to load. \n" + e);
|
System.err.println("Native code library failed to load. \n" + e);
|
||||||
System.exit(1);
|
System.exit(1);
|
8
src/ehr/jsupm_ehr.i
Normal file
8
src/ehr/jsupm_ehr.i
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
%module jsupm_ehr
|
||||||
|
%include "../upm.i"
|
||||||
|
|
||||||
|
%{
|
||||||
|
#include "ehr.hpp"
|
||||||
|
%}
|
||||||
|
|
||||||
|
%include "ehr.hpp"
|
@ -1,11 +1,11 @@
|
|||||||
// Include doxygen-generated documentation
|
// Include doxygen-generated documentation
|
||||||
%include "pyupm_doxy2swig.i"
|
%include "pyupm_doxy2swig.i"
|
||||||
%module pyupm_groveehr
|
%module pyupm_ehr
|
||||||
%include "../upm.i"
|
%include "../upm.i"
|
||||||
|
|
||||||
%feature("autodoc", "3");
|
%feature("autodoc", "3");
|
||||||
|
|
||||||
%include "groveehr.hpp"
|
%include "ehr.hpp"
|
||||||
%{
|
%{
|
||||||
#include "groveehr.hpp"
|
#include "ehr.hpp"
|
||||||
%}
|
%}
|
@ -1,5 +0,0 @@
|
|||||||
set (libname "groveehr")
|
|
||||||
set (libdescription "upm grove ear-clip heart rate sensor module")
|
|
||||||
set (module_src ${libname}.cxx)
|
|
||||||
set (module_hpp ${libname}.hpp)
|
|
||||||
upm_module_init()
|
|
@ -1,8 +0,0 @@
|
|||||||
%module jsupm_groveehr
|
|
||||||
%include "../upm.i"
|
|
||||||
|
|
||||||
%{
|
|
||||||
#include "groveehr.hpp"
|
|
||||||
%}
|
|
||||||
|
|
||||||
%include "groveehr.hpp"
|
|
Loading…
x
Reference in New Issue
Block a user