source: flair-dev/trunk/include/FlairFilter/AhrsComplementaryFilter.h @ 68

Last change on this file since 68 was 68, checked in by Sanahuja Guillaume, 3 years ago

maj for armv5te

File size: 1.9 KB
Line 
1// %flair:license{
2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
4// %flair:license}
5/*!
6 * \file AhrsComplementaryFilter.h
7 * \brief Class defining an Ahrs Kalman filter
8 * \author Augustin Manecy (RT-MaG Toolbox author, augustin.manecy@gmail.com), API changes by Guillaume Sanahuja to fit the Flair framework
9 * \date 2014/01/15
10 * \version 4.0
11 */
12
13#ifndef AHRSCOMPLEMENTARYFILTER_H
14#define AHRSCOMPLEMENTARYFILTER_H
15
16#include <Ahrs.h>
17#include <Vector3D.h>
18#include <Quaternion.h>
19
20namespace flair {
21    namespace sensor {
22        class Imu;
23    }
24    namespace gui {
25        class DoubleSpinBox;
26        class Vector3DSpinBox;
27    }
28}
29
30namespace flair { namespace filter {
31    /*! \class AhrsComplementaryFilter
32    *
33    * \brief Class defining an Ahrs complementary filter
34    *
35    * Implementation from Augustin Manecy
36    */
37    class AhrsComplementaryFilter : public Ahrs {
38        public:
39            /*!
40            * \brief Constructor
41            *
42            * Construct an AhrsComplementaryFilter.
43            *
44            * \param parent parent
45            * \param name name
46            */
47            AhrsComplementaryFilter(const sensor::Imu* parent,std::string name);
48
49            /*!
50            * \brief Destructor
51            *
52            */
53            ~AhrsComplementaryFilter();
54
55        private:
56            /*!
57            * \brief Update using provided datas
58            *
59            * Reimplemented from IODevice.
60            *
61            * \param data data from the parent to process
62            */
63            void UpdateFrom(const core::io_data *data);
64
65            core::Quaternion QHat;
66            core::Vector3Df BHat;
67            gui::DoubleSpinBox *ka[3];
68            gui::DoubleSpinBox *kb[3];
69            gui::DoubleSpinBox *km[3];
70            gui::Vector3DSpinBox *magRef;
71    };
72} // end namespace filter
73} // end namespace flair
74#endif // AHRSCOMPLEMENTARYFILTER_H
Note: See TracBrowser for help on using the repository browser.