QGCMAVLink.h 1.5 KB
Newer Older
1 2
/****************************************************************************
 *
Gus Grubba's avatar
Gus Grubba committed
3
 * (c) 2009-2020 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
4 5 6 7 8
 *
 * QGroundControl is licensed according to the terms in the file
 * COPYING.md in the root of the source code directory.
 *
 ****************************************************************************/
pixhawk's avatar
pixhawk committed
9

10
#pragma once
pixhawk's avatar
pixhawk committed
11

12 13
#include <QString>

14 15 16
#define MAVLINK_USE_MESSAGE_INFO
#define MAVLINK_EXTERNAL_RX_STATUS  // Single m_mavlink_status instance is in QGCApplication.cc
#include <stddef.h>                 // Hack workaround for Mav 2.0 header problem with respect to offsetof usage
17 18

// Ignore warnings from mavlink headers for both GCC/Clang and MSVC
19
#ifdef __GNUC__
20 21

#if __GNUC__ > 8
22 23
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Waddress-of-packed-member"
24 25 26 27 28
#else
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wall"
#endif

29
#else
30
#pragma warning(push, 0)
31
#endif
32

33 34
#include <mavlink_types.h>
extern mavlink_status_t m_mavlink_status[MAVLINK_COMM_NUM_BUFFERS];
35
#include <mavlink.h>
36

37
#ifdef __GNUC__
38
#pragma GCC diagnostic pop
39
#else
40
#pragma warning(pop, 0)
41
#endif
42

Don Gagne's avatar
Don Gagne committed
43 44
class QGCMAVLink {
public:
45 46 47 48 49 50
    static bool     isFixedWing         (MAV_TYPE mavType);
    static bool     isRover             (MAV_TYPE mavType);
    static bool     isSub               (MAV_TYPE mavType);
    static bool     isMultiRotor        (MAV_TYPE mavType);
    static bool     isVTOL              (MAV_TYPE mavType);
    static QString  mavResultToString   (MAV_RESULT result);
Don Gagne's avatar
Don Gagne committed
51 52
};

53