Initial implementation of iAcceleration

Signed-off-by: Serban Waltter <serban.waltter@rinftech.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
This commit is contained in:
Serban Waltter
2018-07-26 18:06:33 +03:00
committed by Mihai Tudor Panu
parent 90524273ec
commit f992876461
48 changed files with 512 additions and 35 deletions

View File

@ -109,6 +109,15 @@ std::vector<float> LSM6DSL::getAccelerometer()
return std::vector<float>(v, v+3);
}
std::vector<float> LSM6DSL::getAcceleration()
{
std::vector<float> v(3);
lsm6dsl_get_accelerometer(m_lsm6dsl, &v[0], &v[1], &v[2]);
return v;
}
void LSM6DSL::getGyroscope(float *x, float *y, float *z)
{
lsm6dsl_get_gyroscope(m_lsm6dsl, x, y, z);

View File

@ -31,6 +31,8 @@
#include <mraa/gpio.hpp>
#include "lsm6dsl.h"
#include <interfaces/iAcceleration.hpp>
namespace upm {
/**
@ -63,7 +65,7 @@ namespace upm {
* @snippet lsm6dsl.cxx Interesting
*/
class LSM6DSL {
class LSM6DSL: virtual public iAcceleration {
public:
/**
@ -128,6 +130,13 @@ namespace upm {
*/
std::vector<float> getAccelerometer();
/**
* get acceleration values
*
* @return stl vector of size 3 representing the 3 axis
*/
virtual std::vector<float> getAcceleration();
/**
* Return gyroscope data in degrees per second (DPS).
* update() must have been called prior to calling this