SlugsDataSensorView.h 5.73 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 71
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);

72

73 74 75
    /**
         * @brief Updates the Raw Data widget
    */
76
    void slugRawDataChanged (int uasId, const mavlink_raw_imu_t& rawData);
77

78
#ifdef MAVLINK_ENABLED_SLUGS
tecnosapiens's avatar
tecnosapiens committed
79 80 81 82 83
    /**
         * @brief Adds the UAS for data display
         *
         * Adds the UAS and makes all the correct connections for data display on the Widgets
    */
84
    void slugLocalPositionChanged(UASInterface* uas,
85 86 87 88
                                  double x,
                                  double y,
                                  double z,
                                  quint64 time);
tecnosapiens's avatar
tecnosapiens committed
89 90 91 92 93
    /**
         * @brief Adds the UAS for data display
         *
         * Adds the UAS and makes all the correct connections for data display on the Widgets
    */
94
    void slugSpeedLocalPositionChanged(UASInterface* uas,
95 96 97 98
                                       double vx,
                                       double vy,
                                       double vz,
                                       quint64 time);
tecnosapiens's avatar
tecnosapiens committed
99 100 101 102 103
    /**
         * @brief Adds the UAS for data display
         *
         * Adds the UAS and makes all the correct connections for data display on the Widgets
    */
104
    void slugAttitudeChanged(UASInterface* uas,
105 106 107 108
                             double slugroll,
                             double slugpitch,
                             double slugyaw,
                             quint64 time);
109 110 111 112 113 114 115 116 117 118 119

    /**
         * @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);
120

121 122 123 124 125 126 127 128 129 130
    /**
         * @brief set COG and SOG values
         *
         * COG and SOG GPS display on the Widgets
    */
    void slugsGPSCogSog(int systemId,
                        double cog,
                        double sog);


131 132 133 134 135 136 137

    /**
         * @brief Updates the CPU load widget - 170
    */
    void slugsCpuLoadChanged(int systemId,
                             const mavlink_cpu_load_t& cpuLoad);

tecnosapiens's avatar
tecnosapiens committed
138
    /**
139 140 141 142 143 144 145
         * @brief Updates the air data widget - 171
    */
    void slugsAirDataChanged(int systemId,
                             const mavlink_air_data_t& airData);

    /**
         * @brief Updates the sensor bias widget - 172
tecnosapiens's avatar
tecnosapiens committed
146
    */
147
    void slugsSensorBiasChanged(int systemId,
148 149
                                const mavlink_sensor_bias_t& sensorBias);

tecnosapiens's avatar
tecnosapiens committed
150
    /**
151
         * @brief Updates the diagnostic widget - 173
tecnosapiens's avatar
tecnosapiens committed
152
    */
153
    void slugsDiagnosticMessageChanged(int systemId,
154
                                       const mavlink_diagnostic_t& diagnostic);
155 156 157


    /**
158
         * @brief Updates the Navigation widget - 176
159 160
    */
    void slugsNavegationChanged(int systemId,
161
                                const mavlink_slugs_navigation_t& slugsNavigation);
162 163

    /**
164
         * @brief Updates the Data Log widget - 177
165 166
    */
   void  slugsDataLogChanged(int systemId,
167
                             const mavlink_data_log_t& dataLog);
168 169

   /**
170
        * @brief Updates the PWM Commands widget - 175
171 172
   */
   void slugsPWMChanged(int systemId,
173
                        const mavlink_pwm_commands_t& pwmCommands);
174 175

   /**
176
        * @brief Updates the filtered sensor measurements widget - 178
177 178
   */
   void slugsFilteredDataChanged(int systemId,
179
                                 const mavlink_filtered_data_t& filteredData);
180 181


182
   /**
183
        * @brief Updates the gps Date Time widget - 179
184
   */
185
    void slugsGPSDateTimeChanged(int systemId,
186
                                 const mavlink_gps_date_time_t& gpsDateTime);
187

188 189


190 191 192



193
#endif // MAVLINK_ENABLED_SLUGS
194 195 196 197 198 199 200 201

protected:
     UASInterface* activeUAS;

private:
    Ui::SlugsDataSensorView *ui;


202 203 204 205 206





207 208 209
};

#endif // SLUGSDATASENSORVIEW_H