Commit 29e3c496 authored by Jacob Walser's avatar Jacob Walser

Disable CompassMot for Sub

parent c62e1fbb
......@@ -532,6 +532,10 @@ SetupPage {
id: motorInterferenceButton
width: parent.buttonWidth
text: qsTr("CompassMot")
visible: _activeVehicle ? _activeVehicle.supportsMotorInterference : false
property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle
onClicked: showDialog(compassMotDialogComponent, qsTr("CompassMot - Compass Motor Interference Calibration"), qgcView.showDialogFullWidth, StandardButton.Cancel | StandardButton.Ok)
}
......
......@@ -101,3 +101,8 @@ bool ArduSubFirmwarePlugin::supportsCalibratePressure(void)
{
return true;
}
bool ArduSubFirmwarePlugin::supportsMotorInterference(void)
{
return false;
}
......@@ -81,6 +81,8 @@ public:
bool supportsCalibratePressure(void);
bool supportsMotorInterference(void);
QString brandImage(const Vehicle* vehicle) const { Q_UNUSED(vehicle); return QStringLiteral("/qmlimages/APM/BrandImageSub"); }
const FirmwarePlugin::remapParamNameMajorVersionMap_t& paramNameRemapMajorVersionMap(void) const final { return _remapParamName; }
int remapParamNameHigestMinorVersionNumber(int majorVersionNumber) const final;
......
......@@ -139,6 +139,11 @@ bool FirmwarePlugin::supportsCalibratePressure(void)
return false;
}
bool FirmwarePlugin::supportsMotorInterference(void)
{
return true;
}
bool FirmwarePlugin::supportsJSButton(void)
{
return false;
......
......@@ -167,6 +167,10 @@ public:
/// zero at the current pressure. Default is false.
virtual bool supportsCalibratePressure(void);
/// Returns true if the firmware supports calibrating motor interference offsets for the compass
/// (CompassMot). Default is true.
virtual bool supportsMotorInterference(void);
/// Called before any mavlink message is processed by Vehicle such that the firmwre plugin
/// can adjust any message characteristics. This is handy to adjust or differences in mavlink
/// spec implementations such that the base code can remain mavlink generic.
......
......@@ -1777,6 +1777,11 @@ bool Vehicle::supportsCalibratePressure(void) const
return _firmwarePlugin->supportsCalibratePressure();
}
bool Vehicle::supportsMotorInterference(void) const
{
return _firmwarePlugin->supportsMotorInterference();
}
void Vehicle::_setCoordinateValid(bool coordinateValid)
{
if (coordinateValid != _coordinateValid) {
......
......@@ -282,7 +282,8 @@ public:
Q_PROPERTY(bool supportsThrottleModeCenterZero READ supportsThrottleModeCenterZero CONSTANT)
Q_PROPERTY(bool supportsJSButton READ supportsJSButton CONSTANT)
Q_PROPERTY(bool supportsRadio READ supportsRadio CONSTANT)
Q_PROPERTY(bool supportsCalibratePressure READ supportsCalibratePressure CONSTANT)
Q_PROPERTY(bool supportsCalibratePressure READ supportsCalibratePressure CONSTANT)
Q_PROPERTY(bool supportsMotorInterference READ supportsMotorInterference CONSTANT)
Q_PROPERTY(bool autoDisconnect MEMBER _autoDisconnect NOTIFY autoDisconnectChanged)
Q_PROPERTY(QString prearmError READ prearmError WRITE setPrearmError NOTIFY prearmErrorChanged)
Q_PROPERTY(int motorCount READ motorCount CONSTANT)
......@@ -506,6 +507,7 @@ public:
bool supportsRadio(void) const;
bool supportsJSButton(void) const;
bool supportsCalibratePressure(void) const;
bool supportsMotorInterference(void) const;
void setFlying(bool flying);
void setGuidedMode(bool guidedMode);
......
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