Browse Source

Merge pull request #4591 from bluerobotics/param-metadata

Update parameter metadata for Sub
QGC4.4
Don Gagne 8 years ago committed by GitHub
parent
commit
8b65f65d4e
  1. 6
      src/FirmwarePlugin/APM/APMFirmwarePlugin.cc
  2. 1210
      src/FirmwarePlugin/APM/APMParameterFactMetaData.Sub.3.4.xml
  3. 7683
      src/FirmwarePlugin/APM/APMParameterFactMetaData.Sub.3.5.xml
  4. 1
      src/FirmwarePlugin/APM/APMResources.qrc
  5. 28
      src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc
  6. 6
      src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h

6
src/FirmwarePlugin/APM/APMFirmwarePlugin.cc

@ -797,7 +797,11 @@ QString APMFirmwarePlugin::internalParameterMetaDataFile(Vehicle* vehicle) @@ -797,7 +797,11 @@ QString APMFirmwarePlugin::internalParameterMetaDataFile(Vehicle* vehicle)
}
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Rover.3.2.xml");
case MAV_TYPE_SUBMARINE:
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Sub.3.4.xml");
if (vehicle->firmwareMajorVersion() < 3 || (vehicle->firmwareMajorVersion() == 3 && vehicle->firmwareMinorVersion() <= 4)) {
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Sub.3.4.xml");
} else {
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Sub.3.5.xml");
}
default:
return QString();
}

1210
src/FirmwarePlugin/APM/APMParameterFactMetaData.Sub.3.4.xml

File diff suppressed because it is too large Load Diff

7683
src/FirmwarePlugin/APM/APMParameterFactMetaData.Sub.3.5.xml

File diff suppressed because it is too large Load Diff

1
src/FirmwarePlugin/APM/APMResources.qrc

@ -50,6 +50,7 @@ @@ -50,6 +50,7 @@
<file alias="APMParameterFactMetaData.Rover.3.0.xml">APMParameterFactMetaData.Rover.3.0.xml</file>
<file alias="APMParameterFactMetaData.Rover.3.2.xml">APMParameterFactMetaData.Rover.3.2.xml</file>
<file alias="APMParameterFactMetaData.Sub.3.4.xml">APMParameterFactMetaData.Sub.3.4.xml</file>
<file alias="APMParameterFactMetaData.Sub.3.5.xml">APMParameterFactMetaData.Sub.3.5.xml</file>
<file alias="CopterGeoFenceEditor.qml">CopterGeoFenceEditor.qml</file>
<file alias="PlaneGeoFenceEditor.qml">PlaneGeoFenceEditor.qml</file>
<file alias="Copter.OfflineEditing.params">Copter3.4.OfflineEditing.params</file>

28
src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc

@ -25,8 +25,9 @@ @@ -25,8 +25,9 @@
/// @author Rustom Jehangir <rusty@bluerobotics.com>
#include "ArduSubFirmwarePlugin.h"
#include "QGCApplication.h"
#include "MissionManager.h"
bool ArduSubFirmwarePlugin::_remapParamNameIntialized = false;
FirmwarePlugin::remapParamNameMajorVersionMap_t ArduSubFirmwarePlugin::_remapParamName;
APMSubMode::APMSubMode(uint32_t mode, bool settable) :
APMCustomMode(mode, settable)
@ -46,6 +47,29 @@ ArduSubFirmwarePlugin::ArduSubFirmwarePlugin(void) @@ -46,6 +47,29 @@ ArduSubFirmwarePlugin::ArduSubFirmwarePlugin(void)
supportedFlightModes << APMSubMode(APMSubMode::STABILIZE ,true);
supportedFlightModes << APMSubMode(APMSubMode::ALT_HOLD ,true);
setSupportedModes(supportedFlightModes);
if (!_remapParamNameIntialized) {
FirmwarePlugin::remapParamNameMap_t& remapV3_5 = _remapParamName[3][5];
remapV3_5["SERVO5_FUNCTION"] = QStringLiteral("RC5_FUNCTION");
remapV3_5["SERVO6_FUNCTION"] = QStringLiteral("RC6_FUNCTION");
remapV3_5["SERVO7_FUNCTION"] = QStringLiteral("RC7_FUNCTION");
remapV3_5["SERVO8_FUNCTION"] = QStringLiteral("RC8_FUNCTION");
remapV3_5["SERVO9_FUNCTION"] = QStringLiteral("RC9_FUNCTION");
remapV3_5["SERVO10_FUNCTION"] = QStringLiteral("RC10_FUNCTION");
remapV3_5["SERVO11_FUNCTION"] = QStringLiteral("RC11_FUNCTION");
remapV3_5["SERVO12_FUNCTION"] = QStringLiteral("RC12_FUNCTION");
remapV3_5["SERVO13_FUNCTION"] = QStringLiteral("RC13_FUNCTION");
remapV3_5["SERVO14_FUNCTION"] = QStringLiteral("RC14_FUNCTION");
_remapParamNameIntialized = true;
}
}
int ArduSubFirmwarePlugin::remapParamNameHigestMinorVersionNumber(int majorVersionNumber) const
{
// Remapping supports up to 3.5
return majorVersionNumber == 3 ? 5 : Vehicle::versionNotSetValue;
}
int ArduSubFirmwarePlugin::manualControlReservedButtonCount(void)

6
src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h

@ -80,6 +80,12 @@ public: @@ -80,6 +80,12 @@ public:
bool supportsJSButton(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;
private:
static bool _remapParamNameIntialized;
static FirmwarePlugin::remapParamNameMajorVersionMap_t _remapParamName;
};
#endif

Loading…
Cancel
Save