SlugsDataSensorView.h 5.37 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
/*=====================================================================

QGroundControl Open Source Ground Control Station

(c) 2009, 2010 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>

This file is part of the QGROUNDCONTROL project

    QGROUNDCONTROL is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    QGROUNDCONTROL is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.

======================================================================*/

/**
 * @file
 *   @brief Grpahical presentation of SLUGS generated data
 *
 *   @author Juan F. Robles  <jfroblesc@gmail.com>
 *
 */

#ifndef SLUGSDATASENSORVIEW_H
#define SLUGSDATASENSORVIEW_H

#include <QWidget>

#include "UASInterface.h"
tecnosapiens's avatar
tecnosapiens committed
38
#include "SlugsMAV.h"
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78

namespace Ui {
    class SlugsDataSensorView;
}

class SlugsDataSensorView : public QWidget
{
    Q_OBJECT

public:
    explicit SlugsDataSensorView(QWidget *parent = 0);
    ~SlugsDataSensorView();

public slots:
    /**
         * @brief Adds the UAS for data display
         *
         * Adds the UAS and makes all the correct connections for data display on the Widgets. If
         * there is no current UAS active, it sets it as active.

         * @param uas The UAS being added
    */
    void addUAS(UASInterface* uas);

    /**
         * @brief Sets the UAS as active
         *
         * @param uas The UAS being set as active
    */
    void setActiveUAS(UASInterface* uas);

    /**
         * @brief Adds the UAS for data display
         *
         * Adds the UAS and makes all the correct connections for data display on the Widgets
    */

    void refresh();


79 80


tecnosapiens's avatar
tecnosapiens committed
81 82 83 84 85
    /**
         * @brief Adds the UAS for data display
         *
         * Adds the UAS and makes all the correct connections for data display on the Widgets
    */
86 87 88 89 90
    void slugLocalPositionChanged(UASInterface* uasTemp,
                                  double x,
                                  double y,
                                  double z,
                                  quint64 time);
tecnosapiens's avatar
tecnosapiens committed
91 92 93 94 95
    /**
         * @brief Adds the UAS for data display
         *
         * Adds the UAS and makes all the correct connections for data display on the Widgets
    */
96 97 98 99 100
    void slugSpeedLocalPositionChanged(UASInterface* uasTemp,
                                       double vx,
                                       double vy,
                                       double vz,
                                       quint64 time);
tecnosapiens's avatar
tecnosapiens committed
101 102 103 104 105
    /**
         * @brief Adds the UAS for data display
         *
         * Adds the UAS and makes all the correct connections for data display on the Widgets
    */
106 107 108 109 110
    void slugAttitudeChanged(UASInterface* uasTemp,
                             double slugroll,
                             double slugpitch,
                             double slugyaw,
                             quint64 time);
tecnosapiens's avatar
tecnosapiens committed
111 112 113 114 115
    /**
         * @brief Adds the UAS for data display
         *
         * Adds the UAS and makes all the correct connections for data display on the Widgets
    */
116 117 118 119 120 121 122 123
    void slugsSensorBiasChanged(UASInterface* uasTemp,
                                            double axb,
                                            double ayb,
                                            double azb,
                                            double gxb,
                                            double gyb,
                                            double gzb,
                                            quint64 time);
tecnosapiens's avatar
tecnosapiens committed
124 125 126 127 128
    /**
         * @brief Adds the UAS for data display
         *
         * Adds the UAS and makes all the correct connections for data display on the Widgets
    */
tecnosapiens's avatar
tecnosapiens committed
129 130 131 132 133 134 135 136
//    void slugsDiagnosticMessageChanged(UASInterface* uasTemp,
//                                       double diagfl1,
//                                       double diagfl2,
//                                       double diagfl3,
//                                       int16_t diagsh1,
//                                       int16_t diagsh2,
//                                       int16_t diagsh3,
//                                       quint64 time);
137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163

protected:
    QTimer* updateTimer;
     UASInterface* activeUAS;

     // Position and Attitude
     //Position
     double Xpos;
     double Ypos;
     double Zpos;
     quint64 TimeActualPosition;
     //Speed
     double VXpos;
     double VYpos;
     double VZpos;
     quint64 TimeActualSpeed;
     //Attitude
     double roll;
     double pitch;
     double yaw;
     quint64 TimeActualAttitude;

     //Sensor Biases
     //Acelerometer
     double Axb;
     double Ayb;
     double Azb;
164

165 166 167 168
     //Gyro
     double Gxb;
     double Gyb;
     double Gzb;
169 170
     quint64 TimeActualBias;

tecnosapiens's avatar
tecnosapiens committed
171 172 173 174 175 176 177 178
     //Diagnostic
     double diagFl1;
     double diagFl2;
     double diagFl3;
     int16_t diagSh1;
     int16_t diagSh2;
     int16_t diagSh3;
     quint64 timeDiagnostic;
179 180 181 182 183 184 185 186 187 188 189 190




private:
    Ui::SlugsDataSensorView *ui;
    void loadParameters();


};

#endif // SLUGSDATASENSORVIEW_H