Skip to content
Snippets Groups Projects
Sensor_LSM9DS1.h 846 B
#pragma once

#include "MinMaxAvgFilter.h"
#include <Arduino.h>
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_LSM9DS1.h>
#include <Adafruit_Sensor.h>  // not used but required!

class Sensor_LSM9DS1 
{
    public:
        Sensor_LSM9DS1();
        bool begin();
        void measure();
        void reset();
        unsigned int getNumberOfMeasurements(){return measurementCounter;}
        XYZ<float> getAcceleration(){return acceleration.getValue();}
        XYZ<float> getMagneticFluxDensities(){return magneticFluxDensities.getValue();}
        XYZ<float> getAngularVelocity(){return angularVelocity.getValue();}

    private:
        Adafruit_LSM9DS1 lsm_sensor;
        MinMaxAvgFilter acceleration;
        MinMaxAvgFilter magneticFluxDensities;
        MinMaxAvgFilter angularVelocity;
        unsigned int measurementCounter;
};