Browse Source

Merge pull request #5648 from DonLakeFlyer/PlanSignalling

Better plan load signaling
QGC4.4
Don Gagne 8 years ago committed by GitHub
parent
commit
47a9895acf
  1. 14
      src/Vehicle/Vehicle.cc
  2. 6
      src/Vehicle/Vehicle.h
  3. 2
      src/qgcunittest/UnitTest.cc

14
src/Vehicle/Vehicle.cc

@ -1959,7 +1959,7 @@ void Vehicle::_rallyPointLoadComplete(void) @@ -1959,7 +1959,7 @@ void Vehicle::_rallyPointLoadComplete(void)
qCDebug(VehicleLog) << "_missionLoadComplete _initialPlanRequestComplete = true";
if (!_initialPlanRequestComplete) {
_initialPlanRequestComplete = true;
emit initialPlanRequestCompleted();
emit initialPlanRequestCompleteChanged(true);
}
}
@ -2817,6 +2817,18 @@ void Vehicle::_updateDistanceToHome(void) @@ -2817,6 +2817,18 @@ void Vehicle::_updateDistanceToHome(void)
}
}
void Vehicle::forceInitialPlanRequestComplete(void)
{
_initialPlanRequestComplete = true;
emit initialPlanRequestCompleteChanged(true);
}
void Vehicle::sendPlan(QString planFile)
{
PlanMasterController::sendPlanToVehicle(this, planFile);
}
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------

6
src/Vehicle/Vehicle.h

@ -317,6 +317,7 @@ public: @@ -317,6 +317,7 @@ public:
Q_PROPERTY(QVariantList toolBarIndicators READ toolBarIndicators CONSTANT)
Q_PROPERTY(QVariantList cameraList READ cameraList CONSTANT)
Q_PROPERTY(QmlObjectListModel* adsbVehicles READ adsbVehicles CONSTANT)
Q_PROPERTY(bool initialPlanRequestComplete READ initialPlanRequestComplete NOTIFY initialPlanRequestCompleteChanged)
/// true: Vehicle is flying, false: Vehicle is on ground
Q_PROPERTY(bool flying READ flying NOTIFY flyingChanged)
@ -429,6 +430,7 @@ public: @@ -429,6 +430,7 @@ public:
Q_INVOKABLE void clearMessages();
Q_INVOKABLE void triggerCamera(void);
Q_INVOKABLE void sendPlan(QString planFile);
#if 0
// Temporarily removed, waiting for new command implementation
@ -700,7 +702,7 @@ public: @@ -700,7 +702,7 @@ public:
/// @return: true: initial request is complete, false: initial request is still in progress;
bool initialPlanRequestComplete(void) const { return _initialPlanRequestComplete; }
void forceInitialPlanRequestComplete(void) { _initialPlanRequestComplete = true; }
void forceInitialPlanRequestComplete(void);
void _setFlying(bool flying);
void _setLanding(bool landing);
@ -734,7 +736,7 @@ signals: @@ -734,7 +736,7 @@ signals:
void firmwareTypeChanged(void);
void vehicleTypeChanged(void);
void capabilitiesKnownChanged(bool capabilitiesKnown);
void initialPlanRequestCompleted(void);
void initialPlanRequestCompleteChanged(bool initialPlanRequestComplete);
void capabilityBitsChanged(uint64_t capabilityBits);
void messagesReceivedChanged ();

2
src/qgcunittest/UnitTest.cc

@ -394,7 +394,7 @@ void UnitTest::_connectMockLink(MAV_AUTOPILOT autopilot) @@ -394,7 +394,7 @@ void UnitTest::_connectMockLink(MAV_AUTOPILOT autopilot)
// Wait for plan request to complete
if (!_vehicle->initialPlanRequestComplete()) {
QSignalSpy spyPlan(_vehicle, SIGNAL(initialPlanRequestCompleted()));
QSignalSpy spyPlan(_vehicle, SIGNAL(initialPlanRequestCompleteChanged(bool)));
QCOMPARE(spyPlan.wait(10000), true);
}
}

Loading…
Cancel
Save