SlugsDataSensorView.h 5.22 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
#include "mavlink.h"
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

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);

71

72
    void slugRawDataChanged (int uasId, const mavlink_raw_imu_t& rawData);
73

74
#ifdef MAVLINK_ENABLED_SLUGS
tecnosapiens's avatar
tecnosapiens committed
75 76 77 78 79
    /**
         * @brief Adds the UAS for data display
         *
         * Adds the UAS and makes all the correct connections for data display on the Widgets
    */
80
    void slugLocalPositionChanged(UASInterface* uas,
81 82 83 84
                                  double x,
                                  double y,
                                  double z,
                                  quint64 time);
tecnosapiens's avatar
tecnosapiens committed
85 86 87 88 89
    /**
         * @brief Adds the UAS for data display
         *
         * Adds the UAS and makes all the correct connections for data display on the Widgets
    */
90
    void slugSpeedLocalPositionChanged(UASInterface* uas,
91 92 93 94
                                       double vx,
                                       double vy,
                                       double vz,
                                       quint64 time);
tecnosapiens's avatar
tecnosapiens committed
95 96 97 98 99
    /**
         * @brief Adds the UAS for data display
         *
         * Adds the UAS and makes all the correct connections for data display on the Widgets
    */
100
    void slugAttitudeChanged(UASInterface* uas,
101 102 103 104
                             double slugroll,
                             double slugpitch,
                             double slugyaw,
                             quint64 time);
105 106 107 108 109 110 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
    */
    void slugsGlobalPositionChanged(UASInterface* uas,
                                    double lat,
                                    double lon,
                                    double alt,
                                    quint64 time);
tecnosapiens's avatar
tecnosapiens committed
116
    /**
117
         * @brief Updates the sensor bias widget
tecnosapiens's avatar
tecnosapiens committed
118
    */
119
    void slugsSensorBiasChanged(int systemId,
120 121
                                const mavlink_sensor_bias_t& sensorBias);

tecnosapiens's avatar
tecnosapiens committed
122
    /**
123
         * @brief Updates the diagnostic widget
tecnosapiens's avatar
tecnosapiens committed
124
    */
125
    void slugsDiagnosticMessageChanged(int systemId,
126
                                       const mavlink_diagnostic_t& diagnostic);
127 128

    /**
129
         * @brief Updates the CPU load widget
130 131
    */
    void slugsCpuLoadChanged(int systemId,
132
                             const mavlink_cpu_load_t& cpuLoad);
133 134 135


    /**
136
         * @brief Updates the Navigation widget
137 138
    */
    void slugsNavegationChanged(int systemId,
139
                                const mavlink_slugs_navigation_t& slugsNavigation);
140 141

    /**
142
         * @brief Updates the Data Log widget
143 144
    */
   void  slugsDataLogChanged(int systemId,
145
                             const mavlink_data_log_t& dataLog);
146 147

   /**
148
        * @brief Updates the PWM Commands widget
149 150
   */
   void slugsPWMChanged(int systemId,
151
                        const mavlink_pwm_commands_t& pwmCommands);
152 153

   /**
154
        * @brief Updates the filtered sensor measurements widget
155 156
   */
   void slugsFilteredDataChanged(int systemId,
157
                                 const mavlink_filtered_data_t& filteredData);
158 159


160 161 162
   /**
        * @brief Updates the gps Date Time widget
   */
163
    void slugsGPSDateTimeChanged(int systemId,
164
                                 const mavlink_gps_date_time_t& gpsDateTime);
165

166
#endif // MAVLINK_ENABLED_SLUGS
167 168 169 170 171 172 173 174 175 176 177

protected:
     UASInterface* activeUAS;

private:
    Ui::SlugsDataSensorView *ui;


};

#endif // SLUGSDATASENSORVIEW_H