Commit 585f8efd authored by DonLakeFlyer's avatar DonLakeFlyer

Initial Heli Setup page

parent f2b147d6
...@@ -948,6 +948,7 @@ APMFirmwarePlugin { ...@@ -948,6 +948,7 @@ APMFirmwarePlugin {
src/AutoPilotPlugins/APM/APMCompassCal.h \ src/AutoPilotPlugins/APM/APMCompassCal.h \
src/AutoPilotPlugins/APM/APMFlightModesComponent.h \ src/AutoPilotPlugins/APM/APMFlightModesComponent.h \
src/AutoPilotPlugins/APM/APMFlightModesComponentController.h \ src/AutoPilotPlugins/APM/APMFlightModesComponentController.h \
src/AutoPilotPlugins/APM/APMHeliComponent.h \
src/AutoPilotPlugins/APM/APMLightsComponent.h \ src/AutoPilotPlugins/APM/APMLightsComponent.h \
src/AutoPilotPlugins/APM/APMSubFrameComponent.h \ src/AutoPilotPlugins/APM/APMSubFrameComponent.h \
src/AutoPilotPlugins/APM/APMPowerComponent.h \ src/AutoPilotPlugins/APM/APMPowerComponent.h \
...@@ -973,6 +974,7 @@ APMFirmwarePlugin { ...@@ -973,6 +974,7 @@ APMFirmwarePlugin {
src/AutoPilotPlugins/APM/APMCompassCal.cc \ src/AutoPilotPlugins/APM/APMCompassCal.cc \
src/AutoPilotPlugins/APM/APMFlightModesComponent.cc \ src/AutoPilotPlugins/APM/APMFlightModesComponent.cc \
src/AutoPilotPlugins/APM/APMFlightModesComponentController.cc \ src/AutoPilotPlugins/APM/APMFlightModesComponentController.cc \
src/AutoPilotPlugins/APM/APMHeliComponent.cc \
src/AutoPilotPlugins/APM/APMLightsComponent.cc \ src/AutoPilotPlugins/APM/APMLightsComponent.cc \
src/AutoPilotPlugins/APM/APMSubFrameComponent.cc \ src/AutoPilotPlugins/APM/APMSubFrameComponent.cc \
src/AutoPilotPlugins/APM/APMPowerComponent.cc \ src/AutoPilotPlugins/APM/APMPowerComponent.cc \
......
...@@ -28,27 +28,29 @@ ...@@ -28,27 +28,29 @@
#include "APMLightsComponent.h" #include "APMLightsComponent.h"
#include "APMSubFrameComponent.h" #include "APMSubFrameComponent.h"
#include "ESP8266Component.h" #include "ESP8266Component.h"
#include "APMHeliComponent.h"
/// This is the AutoPilotPlugin implementatin for the MAV_AUTOPILOT_ARDUPILOT type. /// This is the AutoPilotPlugin implementatin for the MAV_AUTOPILOT_ARDUPILOT type.
APMAutoPilotPlugin::APMAutoPilotPlugin(Vehicle* vehicle, QObject* parent) APMAutoPilotPlugin::APMAutoPilotPlugin(Vehicle* vehicle, QObject* parent)
: AutoPilotPlugin(vehicle, parent) : AutoPilotPlugin (vehicle, parent)
, _incorrectParameterVersion(false) , _incorrectParameterVersion(false)
, _airframeComponent(NULL) , _airframeComponent (NULL)
, _cameraComponent(NULL) , _cameraComponent (NULL)
, _lightsComponent(NULL) , _lightsComponent (NULL)
, _subFrameComponent(NULL) , _subFrameComponent (NULL)
, _flightModesComponent(NULL) , _flightModesComponent (NULL)
, _powerComponent(NULL) , _powerComponent (NULL)
#if 0 #if 0
// Temporarily removed, waiting for new command implementation // Temporarily removed, waiting for new command implementation
, _motorComponent(NULL) , _motorComponent (NULL)
#endif #endif
, _radioComponent(NULL) , _radioComponent (NULL)
, _safetyComponent(NULL) , _safetyComponent (NULL)
, _sensorsComponent(NULL) , _sensorsComponent (NULL)
, _tuningComponent(NULL) , _tuningComponent (NULL)
, _airframeFacts(new APMAirframeLoader(this, vehicle->uas(), this)) , _airframeFacts (new APMAirframeLoader(this, vehicle->uas(), this))
, _esp8266Component(NULL) , _esp8266Component (NULL)
, _heliComponent (NULL)
{ {
APMAirframeLoader::loadAirframeFactMetaData(); APMAirframeLoader::loadAirframeFactMetaData();
} }
...@@ -101,6 +103,12 @@ const QVariantList& APMAutoPilotPlugin::vehicleComponents(void) ...@@ -101,6 +103,12 @@ const QVariantList& APMAutoPilotPlugin::vehicleComponents(void)
_safetyComponent->setupTriggerSignals(); _safetyComponent->setupTriggerSignals();
_components.append(QVariant::fromValue((VehicleComponent*)_safetyComponent)); _components.append(QVariant::fromValue((VehicleComponent*)_safetyComponent));
if (_vehicle->vehicleType() == MAV_TYPE_HELICOPTER) {
_heliComponent = new APMHeliComponent(_vehicle, this);
_heliComponent->setupTriggerSignals();
_components.append(QVariant::fromValue((VehicleComponent*)_heliComponent));
}
_tuningComponent = new APMTuningComponent(_vehicle, this); _tuningComponent = new APMTuningComponent(_vehicle, this);
_tuningComponent->setupTriggerSignals(); _tuningComponent->setupTriggerSignals();
_components.append(QVariant::fromValue((VehicleComponent*)_tuningComponent)); _components.append(QVariant::fromValue((VehicleComponent*)_tuningComponent));
......
...@@ -27,6 +27,7 @@ class APMCameraComponent; ...@@ -27,6 +27,7 @@ class APMCameraComponent;
class APMLightsComponent; class APMLightsComponent;
class APMSubFrameComponent; class APMSubFrameComponent;
class ESP8266Component; class ESP8266Component;
class APMHeliComponent;
/// This is the APM specific implementation of the AutoPilot class. /// This is the APM specific implementation of the AutoPilot class.
class APMAutoPilotPlugin : public AutoPilotPlugin class APMAutoPilotPlugin : public AutoPilotPlugin
...@@ -59,6 +60,7 @@ protected: ...@@ -59,6 +60,7 @@ protected:
APMTuningComponent* _tuningComponent; APMTuningComponent* _tuningComponent;
APMAirframeLoader* _airframeFacts; APMAirframeLoader* _airframeFacts;
ESP8266Component* _esp8266Component; ESP8266Component* _esp8266Component;
APMHeliComponent* _heliComponent;
private: private:
QVariantList _components; QVariantList _components;
......
/****************************************************************************
*
* (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
****************************************************************************/
#include "APMHeliComponent.h"
#include "APMAutoPilotPlugin.h"
APMHeliComponent::APMHeliComponent(Vehicle* vehicle, AutoPilotPlugin* autopilot, QObject* parent)
: VehicleComponent(vehicle, autopilot, parent)
, _name(tr("Heli"))
{
}
QString APMHeliComponent::name(void) const
{
return _name;
}
QString APMHeliComponent::description(void) const
{
return tr("Heli Setup is used to setup parameters which are specific to a helicopter.");
}
QString APMHeliComponent::iconResource(void) const
{
return QString();
}
bool APMHeliComponent::requiresSetup(void) const
{
return false;
}
bool APMHeliComponent::setupComplete(void) const
{
return true;
}
QStringList APMHeliComponent::setupCompleteChangedTriggerList(void) const
{
return QStringList();
}
QUrl APMHeliComponent::setupSource(void) const
{
return QStringLiteral("qrc:/qml/APMHeliComponent.qml");
}
QUrl APMHeliComponent::summaryQmlSource(void) const
{
return QUrl();
}
/****************************************************************************
*
* (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
****************************************************************************/
#pragma once
#include "VehicleComponent.h"
class APMHeliComponent : public VehicleComponent
{
Q_OBJECT
public:
APMHeliComponent(Vehicle* vehicle, AutoPilotPlugin* autopilot, QObject* parent = NULL);
// Virtuals from VehicleComponent
QStringList setupCompleteChangedTriggerList(void) const override;
// Virtuals from VehicleComponent
QString name(void) const override;
QString description(void) const override;
QString iconResource(void) const override;
bool requiresSetup(void) const override;
bool setupComplete(void) const override;
QUrl setupSource(void) const override;
QUrl summaryQmlSource(void) const override;
bool allowSetupWhileArmed(void) const override { return true; }
private:
const QString _name;
QVariantList _summaryItems;
};
This diff is collapsed.
...@@ -16,7 +16,5 @@ QGCCheckBox { ...@@ -16,7 +16,5 @@ QGCCheckBox {
(fact.value === 0 ? Qt.Unchecked : Qt.Checked)) : (fact.value === 0 ? Qt.Unchecked : Qt.Checked)) :
Qt.Unchecked Qt.Unchecked
text: qsTr("Label")
onClicked: fact.value = (checked ? checkedValue : uncheckedValue) onClicked: fact.value = (checked ? checkedValue : uncheckedValue)
} }
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
<file alias="APMCameraComponentSummary.qml">../../AutoPilotPlugins/APM/APMCameraComponentSummary.qml</file> <file alias="APMCameraComponentSummary.qml">../../AutoPilotPlugins/APM/APMCameraComponentSummary.qml</file>
<file alias="APMFlightModesComponent.qml">../../AutoPilotPlugins/APM/APMFlightModesComponent.qml</file> <file alias="APMFlightModesComponent.qml">../../AutoPilotPlugins/APM/APMFlightModesComponent.qml</file>
<file alias="APMFlightModesComponentSummary.qml">../../AutoPilotPlugins/APM/APMFlightModesComponentSummary.qml</file> <file alias="APMFlightModesComponentSummary.qml">../../AutoPilotPlugins/APM/APMFlightModesComponentSummary.qml</file>
<file alias="APMHeliComponent.qml">../../AutoPilotPlugins/APM/APMHeliComponent.qml</file>
<file alias="APMLightsComponent.qml">../../AutoPilotPlugins/APM/APMLightsComponent.qml</file> <file alias="APMLightsComponent.qml">../../AutoPilotPlugins/APM/APMLightsComponent.qml</file>
<file alias="APMLightsComponentSummary.qml">../../AutoPilotPlugins/APM/APMLightsComponentSummary.qml</file> <file alias="APMLightsComponentSummary.qml">../../AutoPilotPlugins/APM/APMLightsComponentSummary.qml</file>
<file alias="APMSubFrameComponent.qml">../../AutoPilotPlugins/APM/APMSubFrameComponent.qml</file> <file alias="APMSubFrameComponent.qml">../../AutoPilotPlugins/APM/APMSubFrameComponent.qml</file>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment