Commit b887cbd9 authored by Don Gagne's avatar Don Gagne

Airframe component is always created

parent a9e46e2e
......@@ -544,10 +544,12 @@ SOURCES += \
#
INCLUDEPATH += \
src/AutoPilotPlugins/APM \
src/AutoPilotPlugins/Common \
src/AutoPilotPlugins/PX4 \
src/AutoPilotPlugins/APM \
src/FirmwarePlugin \
src/FirmwarePlugin/APM \
src/FirmwarePlugin/PX4 \
src/Vehicle \
src/VehicleSetup \
......
......@@ -25,13 +25,14 @@
/// @author Don Gagne <don@thegagnes.com>
#include "APMAirframeComponent.h"
#include "QGCQmlWidgetHolder.h"
#include "ArduCopterFirmwarePlugin.h"
APMAirframeComponent::APMAirframeComponent(Vehicle* vehicle, AutoPilotPlugin* autopilot, QObject* parent) :
APMComponent(vehicle, autopilot, parent),
_name(tr("Airframe"))
APMAirframeComponent::APMAirframeComponent(Vehicle* vehicle, AutoPilotPlugin* autopilot, QObject* parent)
: APMComponent(vehicle, autopilot, parent)
, _copterFirmware(false)
, _name("Airframe")
{
_copterFirmware = qobject_cast<ArduCopterFirmwarePlugin*>(_vehicle->firmwarePlugin()) != NULL;
}
QString APMAirframeComponent::name(void) const
......@@ -52,28 +53,45 @@ QString APMAirframeComponent::iconResource(void) const
bool APMAirframeComponent::requiresSetup(void) const
{
return true;
return _copterFirmware;
}
bool APMAirframeComponent::setupComplete(void) const
{
//: Not the correct one, but it works for the moment.
return _autopilot->getParameterFact(FactSystem::defaultComponentId, "FRAME")->rawValue().toInt() != -1;
if (_copterFirmware) {
return _autopilot->getParameterFact(FactSystem::defaultComponentId, "FRAME")->rawValue().toInt() >= 0;
} else {
return true;
}
}
QStringList APMAirframeComponent::setupCompleteChangedTriggerList(void) const
{
return QStringList();
QStringList list;
if (_copterFirmware) {
list << "FRAME";
}
return list;
}
QUrl APMAirframeComponent::setupSource(void) const
{
return QUrl::fromUserInput("qrc:/qml/APMAirframeComponent.qml");
if (_copterFirmware) {
return QUrl::fromUserInput("qrc:/qml/APMAirframeComponent.qml");
} else {
return QUrl();
}
}
QUrl APMAirframeComponent::summaryQmlSource(void) const
{
return QUrl::fromUserInput("qrc:/qml/APMAirframeComponentSummary.qml");
if (_copterFirmware) {
return QUrl::fromUserInput("qrc:/qml/APMAirframeComponentSummary.qml");
} else {
return QUrl();
}
}
QString APMAirframeComponent::prerequisiteSetup(void) const
......
......@@ -47,8 +47,8 @@ public:
virtual QString prerequisiteSetup(void) const;
private:
bool _copterFirmware;
const QString _name;
QVariantList _summaryItems;
};
#endif
......@@ -67,14 +67,12 @@ const QVariantList& APMAutoPilotPlugin::vehicleComponents(void)
Q_ASSERT(_vehicle);
if (parametersReady()) {
if (dynamic_cast<ArduCopterFirmwarePlugin*>(_vehicle->firmwarePlugin())){
_airframeComponent = new APMAirframeComponent(_vehicle, this);
if(_airframeComponent) {
_airframeComponent->setupTriggerSignals();
_components.append(QVariant::fromValue((VehicleComponent*)_airframeComponent));
} else {
qWarning() << "new APMAirframeComponent failed";
}
_airframeComponent = new APMAirframeComponent(_vehicle, this);
if(_airframeComponent) {
_airframeComponent->setupTriggerSignals();
_components.append(QVariant::fromValue((VehicleComponent*)_airframeComponent));
} else {
qWarning() << "new APMAirframeComponent failed";
}
_flightModesComponent = new APMFlightModesComponent(_vehicle, this);
......
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