Browse Source

Keep track of armed position

QGC4.4
Gus Grubba 5 years ago
parent
commit
2367b18279
  1. 5
      src/Vehicle/Vehicle.cc
  2. 6
      src/Vehicle/Vehicle.h

5
src/Vehicle/Vehicle.cc

@ -2957,6 +2957,11 @@ void Vehicle::_handleFlightModeChanged(const QString& flightMode) @@ -2957,6 +2957,11 @@ void Vehicle::_handleFlightModeChanged(const QString& flightMode)
void Vehicle::_announceArmedChanged(bool armed)
{
_say(QString("%1 %2").arg(_vehicleIdSpeech()).arg(armed ? tr("armed") : tr("disarmed")));
if(armed) {
//-- Keep track of armed coordinates
_armedPosition = _coordinate;
emit armedPositionChanged();
}
}
void Vehicle::_setFlying(bool flying)

6
src/Vehicle/Vehicle.h

@ -538,6 +538,7 @@ public: @@ -538,6 +538,7 @@ public:
Q_PROPERTY(AutoPilotPlugin* autopilot MEMBER _autopilotPlugin CONSTANT)
Q_PROPERTY(QGeoCoordinate coordinate READ coordinate NOTIFY coordinateChanged)
Q_PROPERTY(QGeoCoordinate homePosition READ homePosition NOTIFY homePositionChanged)
Q_PROPERTY(QGeoCoordinate armedPosition READ armedPosition NOTIFY armedPositionChanged)
Q_PROPERTY(bool armed READ armed WRITE setArmed NOTIFY armedChanged)
Q_PROPERTY(bool autoDisarm READ autoDisarm NOTIFY autoDisarmChanged)
Q_PROPERTY(bool flightModeSetAvailable READ flightModeSetAvailable CONSTANT)
@ -792,7 +793,8 @@ public: @@ -792,7 +793,8 @@ public:
// Property accessors
QGeoCoordinate coordinate(void) { return _coordinate; }
QGeoCoordinate coordinate (void) { return _coordinate; }
QGeoCoordinate armedPosition (void) { return _armedPosition; }
typedef enum {
JoystickModeRC, ///< Joystick emulates an RC Transmitter
@ -1123,6 +1125,7 @@ signals: @@ -1123,6 +1125,7 @@ signals:
void activeChanged(bool active);
void mavlinkMessageReceived(const mavlink_message_t& message);
void homePositionChanged(const QGeoCoordinate& homePosition);
void armedPositionChanged();
void armedChanged(bool armed);
void flightModeChanged(const QString& flightMode);
void hilModeChanged(bool hilMode);
@ -1367,6 +1370,7 @@ private: @@ -1367,6 +1370,7 @@ private:
QGeoCoordinate _coordinate;
QGeoCoordinate _homePosition;
QGeoCoordinate _armedPosition;
UASInterface* _mav;
int _currentMessageCount;

Loading…
Cancel
Save