diff --git a/src/AutoPilotPlugins/APM/APMFlightModesComponentController.cc b/src/AutoPilotPlugins/APM/APMFlightModesComponentController.cc index d62eab020be27bde34ac17d88bf63be58accb684..9692045b7b5f9931ceb4ef93aa7e27e74e9a6bc5 100644 --- a/src/AutoPilotPlugins/APM/APMFlightModesComponentController.cc +++ b/src/AutoPilotPlugins/APM/APMFlightModesComponentController.cc @@ -31,7 +31,6 @@ APMFlightModesComponentController::APMFlightModesComponentController(void) : _activeFlightMode(0) , _channelCount(Vehicle::cMaxRcChannels) - , _fixedWing(_vehicle->vehicleType() == MAV_TYPE_FIXED_WING) { QStringList usedParams; usedParams << QStringLiteral("FLTMODE1") << QStringLiteral("FLTMODE2") << QStringLiteral("FLTMODE3") diff --git a/src/AutoPilotPlugins/APM/APMFlightModesComponentController.h b/src/AutoPilotPlugins/APM/APMFlightModesComponentController.h index 66b57d200744a7f5ed03c24e5f11763a33e7f8a0..8223e5a121adaab3a7addcaf9be4c237579ac37f 100644 --- a/src/AutoPilotPlugins/APM/APMFlightModesComponentController.h +++ b/src/AutoPilotPlugins/APM/APMFlightModesComponentController.h @@ -45,7 +45,6 @@ public: Q_PROPERTY(int activeFlightMode READ activeFlightMode NOTIFY activeFlightModeChanged) Q_PROPERTY(int channelCount MEMBER _channelCount CONSTANT) Q_PROPERTY(QVariantList channelOptionEnabled READ channelOptionEnabled NOTIFY channelOptionEnabledChanged) - Q_PROPERTY(bool fixedWing MEMBER _fixedWing CONSTANT) int activeFlightMode(void) const { return _activeFlightMode; } QVariantList channelOptionEnabled(void) const { return _rgChannelOptionEnabled; } @@ -61,7 +60,6 @@ private: int _activeFlightMode; int _channelCount; QVariantList _rgChannelOptionEnabled; - bool _fixedWing; }; #endif diff --git a/src/AutoPilotPlugins/APM/APMSensorsComponentController.cc b/src/AutoPilotPlugins/APM/APMSensorsComponentController.cc index d71b536fb1038c38f0c0ba94fc898205a625eca1..16d2d335d50b0d17a728156903d590bb08a3f9e4 100644 --- a/src/AutoPilotPlugins/APM/APMSensorsComponentController.cc +++ b/src/AutoPilotPlugins/APM/APMSensorsComponentController.cc @@ -430,23 +430,6 @@ void APMSensorsComponentController::_refreshParams(void) _autopilot->refreshParametersPrefix(FactSystem::defaultComponentId, QStringLiteral("INS_")); } -bool APMSensorsComponentController::fixedWing(void) -{ - switch (_vehicle->vehicleType()) { - case MAV_TYPE_FIXED_WING: - case MAV_TYPE_VTOL_DUOROTOR: - case MAV_TYPE_VTOL_QUADROTOR: - case MAV_TYPE_VTOL_TILTROTOR: - case MAV_TYPE_VTOL_RESERVED2: - case MAV_TYPE_VTOL_RESERVED3: - case MAV_TYPE_VTOL_RESERVED4: - case MAV_TYPE_VTOL_RESERVED5: - return true; - default: - return false; - } -} - void APMSensorsComponentController::_updateAndEmitShowOrientationCalArea(bool show) { _showOrientationCalArea = show; diff --git a/src/AutoPilotPlugins/APM/APMSensorsComponentController.h b/src/AutoPilotPlugins/APM/APMSensorsComponentController.h index 7af291585e39842ac584a9b72346d797a88caca2..12a14bf25bcc40da29aadd1807a931e1ef9ca0b5 100644 --- a/src/AutoPilotPlugins/APM/APMSensorsComponentController.h +++ b/src/AutoPilotPlugins/APM/APMSensorsComponentController.h @@ -42,8 +42,6 @@ class APMSensorsComponentController : public FactPanelController public: APMSensorsComponentController(void); - Q_PROPERTY(bool fixedWing READ fixedWing CONSTANT) - Q_PROPERTY(QQuickItem* statusLog MEMBER _statusLog) Q_PROPERTY(QQuickItem* progressBar MEMBER _progressBar) @@ -93,8 +91,6 @@ public: Q_INVOKABLE void cancelCalibration(void); Q_INVOKABLE void nextClicked(void); - bool fixedWing(void); - bool compassSetupNeeded(void) const; bool accelSetupNeeded(void) const; diff --git a/src/AutoPilotPlugins/PX4/PX4AdvancedFlightModesController.cc b/src/AutoPilotPlugins/PX4/PX4AdvancedFlightModesController.cc index 4eb989df71e1125ac71265185b2701c5550c6dba..f35eb06626364be54aa6ade6e82012d7c13c114d 100644 --- a/src/AutoPilotPlugins/PX4/PX4AdvancedFlightModesController.cc +++ b/src/AutoPilotPlugins/PX4/PX4AdvancedFlightModesController.cc @@ -61,7 +61,7 @@ PX4AdvancedFlightModesController::PX4AdvancedFlightModesController(void) : void PX4AdvancedFlightModesController::_init(void) { // FIXME: What about VTOL? That confuses the whole Flight Mode naming scheme - _fixedWing = _vehicle->vehicleType() == MAV_TYPE_FIXED_WING; + _fixedWing = _vehicle->fixedWing(); // We need to know min and max for channel in order to calculate percentage range for (int channel=0; channel<_chanMax; channel++) { diff --git a/src/AutoPilotPlugins/PX4/SensorsComponent.cc b/src/AutoPilotPlugins/PX4/SensorsComponent.cc index 8dd4180028bc04f8ce563eb973aaab8f36d56a17..42f66ecca44d2eb2dc27f1b5a2b7e3432cbe991b 100644 --- a/src/AutoPilotPlugins/PX4/SensorsComponent.cc +++ b/src/AutoPilotPlugins/PX4/SensorsComponent.cc @@ -75,7 +75,7 @@ QStringList SensorsComponent::setupCompleteChangedTriggerList(void) const QStringList triggers; triggers << "CAL_MAG0_ID" << "CAL_GYRO0_ID" << "CAL_ACC0_ID" << "CBRK_AIRSPD_CHK"; - if (_vehicle->fixedWing() && _autopilot->getParameterFact(FactSystem::defaultComponentId, _airspeedBreaker)->rawValue().toInt() != 162128) { + if ((_vehicle->fixedWing() || _vehicle->vtol()) && _autopilot->getParameterFact(FactSystem::defaultComponentId, _airspeedBreaker)->rawValue().toInt() != 162128) { triggers << "SENS_DPRES_OFF"; } @@ -91,16 +91,10 @@ QUrl SensorsComponent::summaryQmlSource(void) const { QString summaryQml; - switch (_vehicle->vehicleType()) { - case MAV_TYPE_FIXED_WING: - case MAV_TYPE_VTOL_DUOROTOR: - case MAV_TYPE_VTOL_QUADROTOR: - case MAV_TYPE_VTOL_TILTROTOR: - summaryQml = "qrc:/qml/SensorsComponentSummaryFixedWing.qml"; - break; - default: - summaryQml = "qrc:/qml/SensorsComponentSummary.qml"; - break; + if (_vehicle->fixedWing() || _vehicle->vtol()) { + summaryQml = "qrc:/qml/SensorsComponentSummaryFixedWing.qml"; + } else { + summaryQml = "qrc:/qml/SensorsComponentSummary.qml"; } return QUrl::fromUserInput(summaryQml); diff --git a/src/AutoPilotPlugins/PX4/SensorsComponent.qml b/src/AutoPilotPlugins/PX4/SensorsComponent.qml index 8a3699ae1935e62d02716668b55fd46a33fb1584..07fb839ff36eefc4b8466dc643d84148f1e98249 100644 --- a/src/AutoPilotPlugins/PX4/SensorsComponent.qml +++ b/src/AutoPilotPlugins/PX4/SensorsComponent.qml @@ -348,7 +348,7 @@ QGCView { id: airspeedButton width: parent.buttonWidth text: qsTr("Airspeed") - visible: controller.vehicle.fixedWing && controller.getParameterFact(-1, "CBRK_AIRSPD_CHK").value != 162128 + visible: (controller.vehicle.fixedWing || controller.vehicle.vtol) && controller.getParameterFact(-1, "CBRK_AIRSPD_CHK").value != 162128 indicatorGreen: sens_dpres_off.value != 0 onClicked: { diff --git a/src/Vehicle/Vehicle.cc b/src/Vehicle/Vehicle.cc index 5410b9201e18af08ec05fdcd88e6e6375e947f11..393f57b09592e0bdac4128d286f684ff29dbeace 100644 --- a/src/Vehicle/Vehicle.cc +++ b/src/Vehicle/Vehicle.cc @@ -1445,6 +1445,22 @@ bool Vehicle::multiRotor(void) const } } +bool Vehicle::vtol(void) const +{ + switch (vehicleType()) { + case MAV_TYPE_VTOL_DUOROTOR: + case MAV_TYPE_VTOL_QUADROTOR: + case MAV_TYPE_VTOL_TILTROTOR: + case MAV_TYPE_VTOL_RESERVED2: + case MAV_TYPE_VTOL_RESERVED3: + case MAV_TYPE_VTOL_RESERVED4: + case MAV_TYPE_VTOL_RESERVED5: + return true; + default: + return false; + } +} + void Vehicle::_setCoordinateValid(bool coordinateValid) { if (coordinateValid != _coordinateValid) { diff --git a/src/Vehicle/Vehicle.h b/src/Vehicle/Vehicle.h index 05afe3df4fb16888c3316f9f2c8de671e799e86e..44ec2770201ca41af33d63fefe49fd0adb414d9a 100644 --- a/src/Vehicle/Vehicle.h +++ b/src/Vehicle/Vehicle.h @@ -285,6 +285,7 @@ public: Q_PROPERTY(uint messagesLost READ messagesLost NOTIFY messagesLostChanged) Q_PROPERTY(bool fixedWing READ fixedWing CONSTANT) Q_PROPERTY(bool multiRotor READ multiRotor CONSTANT) + Q_PROPERTY(bool vtol READ vtol CONSTANT) Q_PROPERTY(bool autoDisconnect MEMBER _autoDisconnect NOTIFY autoDisconnectChanged) Q_PROPERTY(QString prearmError READ prearmError WRITE setPrearmError NOTIFY prearmErrorChanged) @@ -457,6 +458,7 @@ public: bool fixedWing(void) const; bool multiRotor(void) const; + bool vtol(void) const; void setFlying(bool flying); void setGuidedMode(bool guidedMode);