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

Disable CompassMot for Sub

parent c62e1fbb
...@@ -532,6 +532,10 @@ SetupPage { ...@@ -532,6 +532,10 @@ SetupPage {
id: motorInterferenceButton id: motorInterferenceButton
width: parent.buttonWidth width: parent.buttonWidth
text: qsTr("CompassMot") 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) onClicked: showDialog(compassMotDialogComponent, qsTr("CompassMot - Compass Motor Interference Calibration"), qgcView.showDialogFullWidth, StandardButton.Cancel | StandardButton.Ok)
} }
......
...@@ -101,3 +101,8 @@ bool ArduSubFirmwarePlugin::supportsCalibratePressure(void) ...@@ -101,3 +101,8 @@ bool ArduSubFirmwarePlugin::supportsCalibratePressure(void)
{ {
return true; return true;
} }
bool ArduSubFirmwarePlugin::supportsMotorInterference(void)
{
return false;
}
...@@ -81,6 +81,8 @@ public: ...@@ -81,6 +81,8 @@ public:
bool supportsCalibratePressure(void); bool supportsCalibratePressure(void);
bool supportsMotorInterference(void);
QString brandImage(const Vehicle* vehicle) const { Q_UNUSED(vehicle); return QStringLiteral("/qmlimages/APM/BrandImageSub"); } QString brandImage(const Vehicle* vehicle) const { Q_UNUSED(vehicle); return QStringLiteral("/qmlimages/APM/BrandImageSub"); }
const FirmwarePlugin::remapParamNameMajorVersionMap_t& paramNameRemapMajorVersionMap(void) const final { return _remapParamName; } const FirmwarePlugin::remapParamNameMajorVersionMap_t& paramNameRemapMajorVersionMap(void) const final { return _remapParamName; }
int remapParamNameHigestMinorVersionNumber(int majorVersionNumber) const final; int remapParamNameHigestMinorVersionNumber(int majorVersionNumber) const final;
......
...@@ -139,6 +139,11 @@ bool FirmwarePlugin::supportsCalibratePressure(void) ...@@ -139,6 +139,11 @@ bool FirmwarePlugin::supportsCalibratePressure(void)
return false; return false;
} }
bool FirmwarePlugin::supportsMotorInterference(void)
{
return true;
}
bool FirmwarePlugin::supportsJSButton(void) bool FirmwarePlugin::supportsJSButton(void)
{ {
return false; return false;
......
...@@ -167,6 +167,10 @@ public: ...@@ -167,6 +167,10 @@ public:
/// zero at the current pressure. Default is false. /// zero at the current pressure. Default is false.
virtual bool supportsCalibratePressure(void); 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 /// 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 /// 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. /// spec implementations such that the base code can remain mavlink generic.
......
...@@ -1777,6 +1777,11 @@ bool Vehicle::supportsCalibratePressure(void) const ...@@ -1777,6 +1777,11 @@ bool Vehicle::supportsCalibratePressure(void) const
return _firmwarePlugin->supportsCalibratePressure(); return _firmwarePlugin->supportsCalibratePressure();
} }
bool Vehicle::supportsMotorInterference(void) const
{
return _firmwarePlugin->supportsMotorInterference();
}
void Vehicle::_setCoordinateValid(bool coordinateValid) void Vehicle::_setCoordinateValid(bool coordinateValid)
{ {
if (coordinateValid != _coordinateValid) { if (coordinateValid != _coordinateValid) {
......
...@@ -282,7 +282,8 @@ public: ...@@ -282,7 +282,8 @@ public:
Q_PROPERTY(bool supportsThrottleModeCenterZero READ supportsThrottleModeCenterZero CONSTANT) Q_PROPERTY(bool supportsThrottleModeCenterZero READ supportsThrottleModeCenterZero CONSTANT)
Q_PROPERTY(bool supportsJSButton READ supportsJSButton CONSTANT) Q_PROPERTY(bool supportsJSButton READ supportsJSButton CONSTANT)
Q_PROPERTY(bool supportsRadio READ supportsRadio 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(bool autoDisconnect MEMBER _autoDisconnect NOTIFY autoDisconnectChanged)
Q_PROPERTY(QString prearmError READ prearmError WRITE setPrearmError NOTIFY prearmErrorChanged) Q_PROPERTY(QString prearmError READ prearmError WRITE setPrearmError NOTIFY prearmErrorChanged)
Q_PROPERTY(int motorCount READ motorCount CONSTANT) Q_PROPERTY(int motorCount READ motorCount CONSTANT)
...@@ -506,6 +507,7 @@ public: ...@@ -506,6 +507,7 @@ public:
bool supportsRadio(void) const; bool supportsRadio(void) const;
bool supportsJSButton(void) const; bool supportsJSButton(void) const;
bool supportsCalibratePressure(void) const; bool supportsCalibratePressure(void) const;
bool supportsMotorInterference(void) const;
void setFlying(bool flying); void setFlying(bool flying);
void setGuidedMode(bool guidedMode); 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