diff --git a/src/Vehicle/Vehicle.cc b/src/Vehicle/Vehicle.cc index 20554b30e11ca5a4a815db1540483d29503baebd..be003bd4ab3ff3938e3e59cb0eba2045466f7b66 100644 --- a/src/Vehicle/Vehicle.cc +++ b/src/Vehicle/Vehicle.cc @@ -1334,3 +1334,23 @@ void Vehicle::_say(const QString& text, int severity) if (!qgcApp()->runningUnitTests()) qgcApp()->toolbox()->audioOutput()->say(text.toLower(), severity); } + +bool Vehicle::fixedWing(void) const +{ + return vehicleType() == MAV_TYPE_FIXED_WING; +} + +bool Vehicle::multiRotor(void) const +{ + switch (vehicleType()) { + case MAV_TYPE_QUADROTOR: + case MAV_TYPE_COAXIAL: + case MAV_TYPE_HELICOPTER: + case MAV_TYPE_HEXAROTOR: + case MAV_TYPE_OCTOROTOR: + case MAV_TYPE_TRICOPTER: + return true; + default: + return false; + } +} diff --git a/src/Vehicle/Vehicle.h b/src/Vehicle/Vehicle.h index e04570e4178821bd3fb6acbe4b77e4886886a62a..4f35bc05a3d1de8289012024c6e0ebe379c4a077 100644 --- a/src/Vehicle/Vehicle.h +++ b/src/Vehicle/Vehicle.h @@ -122,6 +122,8 @@ public: Q_PROPERTY(uint messagesReceived READ messagesReceived NOTIFY messagesReceivedChanged) Q_PROPERTY(uint messagesSent READ messagesSent NOTIFY messagesSentChanged) Q_PROPERTY(uint messagesLost READ messagesLost NOTIFY messagesLostChanged) + Q_PROPERTY(bool fixedWing READ fixedWing CONSTANT) + Q_PROPERTY(bool multiRotor READ multiRotor CONSTANT) /// Resets link status counters Q_INVOKABLE void resetCounters (); @@ -170,8 +172,8 @@ public: // Property accesors int id(void) { return _id; } - MAV_AUTOPILOT firmwareType(void) { return _firmwareType; } - MAV_TYPE vehicleType(void) { return _vehicleType; } + MAV_AUTOPILOT firmwareType(void) const { return _firmwareType; } + MAV_TYPE vehicleType(void) const { return _vehicleType; } /// Returns the highest quality link available to the Vehicle LinkInterface* priorityLink(void); @@ -214,6 +216,9 @@ public: bool hilMode(void); void setHilMode(bool hilMode); + bool fixedWing(void) const; + bool multiRotor(void) const; + QmlObjectListModel* trajectoryPoints(void) { return &_mapTrajectoryList; } int flowImageIndex() { return _flowImageIndex; }