Browse Source

Better plan load signaling

QGC4.4
Don Gagne 8 years ago
parent
commit
c9ffe70ee5
  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);
}
}
@ -2812,6 +2812,18 @@ void Vehicle::_updateDistanceToHome(void) @@ -2812,6 +2812,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

@ -316,6 +316,7 @@ public: @@ -316,6 +316,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)
@ -428,6 +429,7 @@ public: @@ -428,6 +429,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
@ -698,7 +700,7 @@ public: @@ -698,7 +700,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);
@ -732,7 +734,7 @@ signals: @@ -732,7 +734,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