source: flair-src/trunk/lib/FlairSensorActuator/src/unexported/Gx3_25_imu_impl.h @ 5

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

sensoractuator

File size: 2.0 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 Gx3_25_imu_impl.h
7 * \brief Classe intégrant la centrale 3dmgx3-25
8 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
9 * \date 2011/08/19
10 * \version 4.0
11 */
12
13#ifndef GX3_25_IMU_IMPL_H
14#define GX3_25_IMU_IMPL_H
15
16#include "Gx3_25_imu.h"
17#include <unistd.h> //ssize_t
18
19namespace flair {
20    namespace core {
21        class FrameworkManager;
22        class SerialPort;
23        class AhrsData;
24    }
25    namespace gui {
26        class SpinBox;
27        class CheckBox;
28        class PushButton;
29        class Label;
30    }
31}
32
33/*! \class Gx3_25_imu_impl
34*
35* \brief Classe intégrant la centrale 3dmgx3-25
36*/
37
38class Gx3_25_imu_impl {
39
40    public:
41        Gx3_25_imu_impl(flair::sensor::Gx3_25_imu* self,std::string name,flair::core::SerialPort *serialport,flair::sensor::Gx3_25_imu::Command_t command,flair::gui::GroupBox* setupgroupbox);
42        ~Gx3_25_imu_impl();
43        void Run(void);
44
45    private:
46        void DeviceReset(void);
47        void GetData(uint8_t* buf,ssize_t buf_size,flair::core::Time *time);
48        float Dequeue(uint8_t** buf);
49        void GyrosBias(void);
50        void SamplingSettings(void);
51        void SetBaudrate(int value);
52        bool CalcChecksum(uint8_t *buf,int size);
53        int FirmwareNumber(void);
54        void PrintModelInfo(void);
55        void RealignUpNorth(bool realign_up,bool realign_north);
56
57        void SetContinuousMode(uint8_t continuous_command);
58
59        flair::gui::GroupBox *setupgroupbox;
60        flair::gui::SpinBox *data_rate,*gyro_acc_size,*mag_size,*up_comp,*north_comp;
61        flair::gui::CheckBox *coning,*disable_magn,*disable_north_comp,*disable_grav_comp;
62        flair::gui::PushButton *button_bias;
63        flair::gui::Label *data_rate_label;
64
65        flair::core::SerialPort *serialport;
66        uint8_t command;
67        flair::sensor::Gx3_25_imu *self;
68        flair::core::AhrsData *ahrsData;
69};
70
71#endif // GX3_25_IMU_IMPL_H
Note: See TracBrowser for help on using the repository browser.