mirror of
https://github.com/eclipse/upm.git
synced 2025-07-05 19:31:15 +03:00
Added iMagnetometer interface
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:

committed by
Mihai Tudor Panu

parent
aa966946d5
commit
f28a6d2561
@ -2,5 +2,5 @@ set (libname "lsm9ds0")
|
||||
set (libdescription "Triaxial Gyroscope/accelerometer/magnetometer Sensor")
|
||||
set (module_src ${libname}.cxx)
|
||||
set (module_hpp ${libname}.hpp)
|
||||
set (module_iface iAcceleration.hpp iGyroscope.hpp)
|
||||
set (module_iface iAcceleration.hpp iGyroscope.hpp iMagnetometer.hpp)
|
||||
upm_module_init(mraa)
|
||||
|
@ -645,8 +645,11 @@ std::vector<float> LSM9DS0::getGyroscope()
|
||||
|
||||
std::vector<float> LSM9DS0::getMagnetometer()
|
||||
{
|
||||
update();
|
||||
std::vector<float> v(3);
|
||||
getMagnetometer(&v[0], &v[1], &v[2]);
|
||||
v[0] = (m_magX * m_magScale) / 1000.0;
|
||||
v[1] = (m_magY * m_magScale) / 1000.0;
|
||||
v[2] = (m_magZ * m_magScale) / 1000.0;
|
||||
return v;
|
||||
}
|
||||
|
||||
|
@ -32,6 +32,7 @@
|
||||
|
||||
#include <interfaces/iAcceleration.hpp>
|
||||
#include <interfaces/iGyroscope.hpp>
|
||||
#include <interfaces/iMagnetometer.hpp>
|
||||
|
||||
#define LSM9DS0_I2C_BUS 1
|
||||
#define LSM9DS0_DEFAULT_XM_ADDR 0x1d
|
||||
@ -80,7 +81,7 @@ namespace upm {
|
||||
* @snippet lsm9ds0.cxx Interesting
|
||||
*/
|
||||
|
||||
class LSM9DS0: virtual public iAcceleration, virtual public iGyroscope {
|
||||
class LSM9DS0: virtual public iAcceleration, virtual public iGyroscope, virtual public iMagnetometer {
|
||||
public:
|
||||
|
||||
// NOTE: reserved registers must not be written into or permanent
|
||||
|
Reference in New Issue
Block a user