Browse Source

Allow VehicleComponent setup while armed

QGC4.4
Don Gagne 9 years ago
parent
commit
909e6ddab1
  1. 1
      src/AutoPilotPlugins/APM/APMSafetyComponent.h
  2. 1
      src/AutoPilotPlugins/APM/APMTuningComponent.h
  3. 19
      src/AutoPilotPlugins/PX4/PX4TuningComponent.h
  4. 1
      src/AutoPilotPlugins/PX4/PX4TuningComponentCopter.qml
  5. 19
      src/AutoPilotPlugins/PX4/SafetyComponent.h
  6. 2
      src/VehicleSetup/SetupView.qml
  7. 6
      src/VehicleSetup/VehicleComponent.cc
  8. 6
      src/VehicleSetup/VehicleComponent.h

1
src/AutoPilotPlugins/APM/APMSafetyComponent.h

@ -45,6 +45,7 @@ public:
QUrl setupSource(void) const final; QUrl setupSource(void) const final;
QUrl summaryQmlSource(void) const final; QUrl summaryQmlSource(void) const final;
QString prerequisiteSetup(void) const final; QString prerequisiteSetup(void) const final;
bool allowSetupWhileArmed(void) const final { return true; }
private: private:
const QString _name; const QString _name;

1
src/AutoPilotPlugins/APM/APMTuningComponent.h

@ -45,6 +45,7 @@ public:
QUrl setupSource(void) const final; QUrl setupSource(void) const final;
QUrl summaryQmlSource(void) const final; QUrl summaryQmlSource(void) const final;
QString prerequisiteSetup(void) const final; QString prerequisiteSetup(void) const final;
bool allowSetupWhileArmed(void) const final { return true; }
private: private:
const QString _name; const QString _name;

19
src/AutoPilotPlugins/PX4/PX4TuningComponent.h

@ -34,17 +34,18 @@ public:
PX4TuningComponent(Vehicle* vehicle, AutoPilotPlugin* autopilot, QObject* parent = NULL); PX4TuningComponent(Vehicle* vehicle, AutoPilotPlugin* autopilot, QObject* parent = NULL);
// Virtuals from VehicleComponent // Virtuals from VehicleComponent
virtual QStringList setupCompleteChangedTriggerList(void) const; QStringList setupCompleteChangedTriggerList(void) const final;
// Virtuals from VehicleComponent // Virtuals from VehicleComponent
virtual QString name(void) const; QString name(void) const final;
virtual QString description(void) const; QString description(void) const final;
virtual QString iconResource(void) const; QString iconResource(void) const final;
virtual bool requiresSetup(void) const; bool requiresSetup(void) const final;
virtual bool setupComplete(void) const; bool setupComplete(void) const final;
virtual QUrl setupSource(void) const; QUrl setupSource(void) const final;
virtual QUrl summaryQmlSource(void) const; QUrl summaryQmlSource(void) const final;
virtual QString prerequisiteSetup(void) const; QString prerequisiteSetup(void) const final;
bool allowSetupWhileArmed(void) const final { return true; }
private: private:
const QString _name; const QString _name;

1
src/AutoPilotPlugins/PX4/PX4TuningComponentCopter.qml

@ -28,6 +28,7 @@ import QGroundControl.Controls 1.0
FactSliderPanel { FactSliderPanel {
anchors.fill: parent anchors.fill: parent
panelTitle: "Tuning"
sliderModel: ListModel { sliderModel: ListModel {
ListElement { ListElement {

19
src/AutoPilotPlugins/PX4/SafetyComponent.h

@ -39,17 +39,18 @@ public:
SafetyComponent(Vehicle* vehicle, AutoPilotPlugin* autopilot, QObject* parent = NULL); SafetyComponent(Vehicle* vehicle, AutoPilotPlugin* autopilot, QObject* parent = NULL);
// Virtuals from VehicleComponent // Virtuals from VehicleComponent
virtual QStringList setupCompleteChangedTriggerList(void) const; QStringList setupCompleteChangedTriggerList(void) const;
// Virtuals from VehicleComponent // Virtuals from VehicleComponent
virtual QString name(void) const; QString name(void) const final;
virtual QString description(void) const; QString description(void) const final;
virtual QString iconResource(void) const; QString iconResource(void) const final;
virtual bool requiresSetup(void) const; bool requiresSetup(void) const final;
virtual bool setupComplete(void) const; bool setupComplete(void) const final;
virtual QUrl setupSource(void) const; QUrl setupSource(void) const final;
virtual QUrl summaryQmlSource(void) const; QUrl summaryQmlSource(void) const final;
virtual QString prerequisiteSetup(void) const; QString prerequisiteSetup(void) const final;
bool allowSetupWhileArmed(void) const final { return true; }
private: private:
const QString _name; const QString _name;

2
src/VehicleSetup/SetupView.qml

@ -101,7 +101,7 @@ Rectangle {
function showVehicleComponentPanel(vehicleComponent) function showVehicleComponentPanel(vehicleComponent)
{ {
if (multiVehicleManager.activeVehicle.armed) { if (multiVehicleManager.activeVehicle.armed && !vehicleComponent.allowSetupWhileArmed) {
_messagePanelText = _armedVehicleText _messagePanelText = _armedVehicleText
panelLoader.sourceComponent = messagePanelComponent panelLoader.sourceComponent = messagePanelComponent
} else { } else {

6
src/VehicleSetup/VehicleComponent.cc

@ -73,3 +73,9 @@ void VehicleComponent::_triggerUpdated(QVariant /*value*/)
{ {
emit setupCompleteChanged(setupComplete()); emit setupCompleteChanged(setupComplete());
} }
bool VehicleComponent::allowSetupWhileArmed(void) const
{
// Default is to not allow setup while armed
return false;
}

6
src/VehicleSetup/VehicleComponent.h

@ -49,7 +49,8 @@ class VehicleComponent : public QObject
Q_PROPERTY(QString iconResource READ iconResource CONSTANT) Q_PROPERTY(QString iconResource READ iconResource CONSTANT)
Q_PROPERTY(QUrl setupSource READ setupSource CONSTANT) Q_PROPERTY(QUrl setupSource READ setupSource CONSTANT)
Q_PROPERTY(QUrl summaryQmlSource READ summaryQmlSource CONSTANT) Q_PROPERTY(QUrl summaryQmlSource READ summaryQmlSource CONSTANT)
Q_PROPERTY(QString prerequisiteSetup READ prerequisiteSetup) Q_PROPERTY(QString prerequisiteSetup READ prerequisiteSetup CONSTANT)
Q_PROPERTY(bool allowSetupWhileArmed READ allowSetupWhileArmed CONSTANT)
public: public:
VehicleComponent(Vehicle* vehicle, AutoPilotPlugin* autopilot, QObject* parent = NULL); VehicleComponent(Vehicle* vehicle, AutoPilotPlugin* autopilot, QObject* parent = NULL);
@ -64,6 +65,9 @@ public:
virtual QUrl summaryQmlSource(void) const = 0; virtual QUrl summaryQmlSource(void) const = 0;
virtual QString prerequisiteSetup(void) const = 0; virtual QString prerequisiteSetup(void) const = 0;
// @return true: Setup panel can be shown while vehicle is armed
virtual bool allowSetupWhileArmed(void) const;
virtual void addSummaryQmlComponent(QQmlContext* context, QQuickItem* parent); virtual void addSummaryQmlComponent(QQmlContext* context, QQuickItem* parent);
/// @brief Returns an list of parameter names for which a change should cause the setupCompleteChanged /// @brief Returns an list of parameter names for which a change should cause the setupCompleteChanged

Loading…
Cancel
Save