Commit c389bcc5 authored by DonLakeFlyer's avatar DonLakeFlyer

parent 83328ad9
...@@ -6,6 +6,9 @@ Note: This file only contains high level features or important fixes. ...@@ -6,6 +6,9 @@ Note: This file only contains high level features or important fixes.
### 3.6.0 - Daily Build ### 3.6.0 - Daily Build
* ArduPilot: Copter - Update support to 3.5+
* ArduPilot: Plane - Update support to 3.8+
* ArduPilot: Rover - Update support to 3.4+
* Plan/Pattern: Support named presets to simplify commonly used settings setup. Currently only supported by Survey. * Plan/Pattern: Support named presets to simplify commonly used settings setup. Currently only supported by Survey.
* ArduCopter: Handle 3.7 parameter name change from CH#_OPT to RC#_OPTION. * ArduCopter: Handle 3.7 parameter name change from CH#_OPT to RC#_OPTION.
* Improved support for flashing/connecting to ChibiOS bootloaders boards. * Improved support for flashing/connecting to ChibiOS bootloaders boards.
......
...@@ -257,8 +257,6 @@ ...@@ -257,8 +257,6 @@
<file alias="Video.SettingsGroup.json">src/Settings/Video.SettingsGroup.json</file> <file alias="Video.SettingsGroup.json">src/Settings/Video.SettingsGroup.json</file>
</qresource> </qresource>
<qresource prefix="/MockLink"> <qresource prefix="/MockLink">
<file alias="APMArduCopterMockLink.params">src/comm/APMArduCopterMockLink.params</file>
<file alias="APMArduPlaneMockLink.params">src/comm/APMArduPlaneMockLink.params</file>
<file alias="APMArduSubMockLink.params">src/comm/APMArduSubMockLink.params</file> <file alias="APMArduSubMockLink.params">src/comm/APMArduSubMockLink.params</file>
<file alias="PX4MockLink.params">src/comm/PX4MockLink.params</file> <file alias="PX4MockLink.params">src/comm/PX4MockLink.params</file>
</qresource> </qresource>
......
...@@ -55,16 +55,16 @@ SetupPage { ...@@ -55,16 +55,16 @@ SetupPage {
property Fact _mountAngMinPan: controller.getParameterFact(-1, "MNT_ANGMIN_PAN") property Fact _mountAngMinPan: controller.getParameterFact(-1, "MNT_ANGMIN_PAN")
property Fact _mountAngMaxPan: controller.getParameterFact(-1, "MNT_ANGMAX_PAN") property Fact _mountAngMaxPan: controller.getParameterFact(-1, "MNT_ANGMAX_PAN")
property Fact _rc5Function: controller.getParameterFact(-1, "r.SERVO5_FUNCTION") property Fact _rc5Function: controller.getParameterFact(-1, "SERVO5_FUNCTION")
property Fact _rc6Function: controller.getParameterFact(-1, "r.SERVO6_FUNCTION") property Fact _rc6Function: controller.getParameterFact(-1, "SERVO6_FUNCTION")
property Fact _rc7Function: controller.getParameterFact(-1, "r.SERVO7_FUNCTION") property Fact _rc7Function: controller.getParameterFact(-1, "SERVO7_FUNCTION")
property Fact _rc8Function: controller.getParameterFact(-1, "r.SERVO8_FUNCTION") property Fact _rc8Function: controller.getParameterFact(-1, "SERVO8_FUNCTION")
property Fact _rc9Function: controller.getParameterFact(-1, "r.SERVO9_FUNCTION") property Fact _rc9Function: controller.getParameterFact(-1, "SERVO9_FUNCTION")
property Fact _rc10Function: controller.getParameterFact(-1, "r.SERVO10_FUNCTION") property Fact _rc10Function: controller.getParameterFact(-1, "SERVO10_FUNCTION")
property Fact _rc11Function: controller.getParameterFact(-1, "r.SERVO11_FUNCTION") property Fact _rc11Function: controller.getParameterFact(-1, "SERVO11_FUNCTION")
property Fact _rc12Function: controller.getParameterFact(-1, "r.SERVO12_FUNCTION") property Fact _rc12Function: controller.getParameterFact(-1, "SERVO12_FUNCTION")
property Fact _rc13Function: controller.getParameterFact(-1, "r.SERVO13_FUNCTION") property Fact _rc13Function: controller.getParameterFact(-1, "SERVO13_FUNCTION")
property Fact _rc14Function: controller.getParameterFact(-1, "r.SERVO14_FUNCTION") property Fact _rc14Function: controller.getParameterFact(-1, "SERVO14_FUNCTION")
property bool _tiltEnabled: false property bool _tiltEnabled: false
property bool _panEnabled: false property bool _panEnabled: false
...@@ -92,7 +92,7 @@ SetupPage { ...@@ -92,7 +92,7 @@ SetupPage {
} }
function setGimbalSettingsServoInfo(loader, channel) { function setGimbalSettingsServoInfo(loader, channel) {
var rcPrefix = "r.SERVO" + channel + "_" var rcPrefix = "SERVO" + channel + "_"
loader.gimbalOutIndex = channel - 4 loader.gimbalOutIndex = channel - 4
loader.servoPWMMinFact = controller.getParameterFact(-1, rcPrefix + "MIN") loader.servoPWMMinFact = controller.getParameterFact(-1, rcPrefix + "MIN")
...@@ -110,7 +110,7 @@ SetupPage { ...@@ -110,7 +110,7 @@ SetupPage {
_panEnabled = false _panEnabled = false
_rollEnabled = false _rollEnabled = false
for (var channel=_firstGimbalOutChannel; channel<=_lastGimbalOutChannel; channel++) { for (var channel=_firstGimbalOutChannel; channel<=_lastGimbalOutChannel; channel++) {
var functionFact = controller.getParameterFact(-1, "r.SERVO" + channel + "_FUNCTION") var functionFact = controller.getParameterFact(-1, "SERVO" + channel + "_FUNCTION")
if (functionFact.value == _rcFunctionMountTilt) { if (functionFact.value == _rcFunctionMountTilt) {
_tiltEnabled = true _tiltEnabled = true
setGimbalSettingsServoInfo(gimbalDirectionTiltLoader, channel) setGimbalSettingsServoInfo(gimbalDirectionTiltLoader, channel)
...@@ -127,7 +127,7 @@ SetupPage { ...@@ -127,7 +127,7 @@ SetupPage {
function setRCFunction(channel, rcFunction) { function setRCFunction(channel, rcFunction) {
// First clear any previous settings for this function // First clear any previous settings for this function
for (var index=_firstGimbalOutChannel; index<=_lastGimbalOutChannel; index++) { for (var index=_firstGimbalOutChannel; index<=_lastGimbalOutChannel; index++) {
var functionFact = controller.getParameterFact(-1, "r.SERVO" + index + "_FUNCTION") var functionFact = controller.getParameterFact(-1, "SERVO" + index + "_FUNCTION")
if (functionFact.value != _rcFunctionDisabled && functionFact.value == rcFunction) { if (functionFact.value != _rcFunctionDisabled && functionFact.value == rcFunction) {
functionFact.value = _rcFunctionDisabled functionFact.value = _rcFunctionDisabled
} }
...@@ -135,7 +135,7 @@ SetupPage { ...@@ -135,7 +135,7 @@ SetupPage {
// Now set the function into the new channel // Now set the function into the new channel
if (channel != 0) { if (channel != 0) {
var functionFact = controller.getParameterFact(-1, "r.SERVO" + channel + "_FUNCTION") var functionFact = controller.getParameterFact(-1, "SERVO" + channel + "_FUNCTION")
functionFact.value = rcFunction functionFact.value = rcFunction
} }
} }
......
...@@ -35,16 +35,16 @@ SetupPage { ...@@ -35,16 +35,16 @@ SetupPage {
property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle
property bool _oldFW: _activeVehicle.versionCompare(3, 5, 2) < 0 property bool _oldFW: _activeVehicle.versionCompare(3, 5, 2) < 0
property Fact _rc5Function: controller.getParameterFact(-1, "r.SERVO5_FUNCTION") property Fact _rc5Function: controller.getParameterFact(-1, "SERVO5_FUNCTION")
property Fact _rc6Function: controller.getParameterFact(-1, "r.SERVO6_FUNCTION") property Fact _rc6Function: controller.getParameterFact(-1, "SERVO6_FUNCTION")
property Fact _rc7Function: controller.getParameterFact(-1, "r.SERVO7_FUNCTION") property Fact _rc7Function: controller.getParameterFact(-1, "SERVO7_FUNCTION")
property Fact _rc8Function: controller.getParameterFact(-1, "r.SERVO8_FUNCTION") property Fact _rc8Function: controller.getParameterFact(-1, "SERVO8_FUNCTION")
property Fact _rc9Function: controller.getParameterFact(-1, "r.SERVO9_FUNCTION") property Fact _rc9Function: controller.getParameterFact(-1, "SERVO9_FUNCTION")
property Fact _rc10Function: controller.getParameterFact(-1, "r.SERVO10_FUNCTION") property Fact _rc10Function: controller.getParameterFact(-1, "SERVO10_FUNCTION")
property Fact _rc11Function: controller.getParameterFact(-1, "r.SERVO11_FUNCTION") property Fact _rc11Function: controller.getParameterFact(-1, "SERVO11_FUNCTION")
property Fact _rc12Function: controller.getParameterFact(-1, "r.SERVO12_FUNCTION") property Fact _rc12Function: controller.getParameterFact(-1, "SERVO12_FUNCTION")
property Fact _rc13Function: controller.getParameterFact(-1, "r.SERVO13_FUNCTION") property Fact _rc13Function: controller.getParameterFact(-1, "SERVO13_FUNCTION")
property Fact _rc14Function: controller.getParameterFact(-1, "r.SERVO14_FUNCTION") property Fact _rc14Function: controller.getParameterFact(-1, "SERVO14_FUNCTION")
property Fact _stepSize: _oldFW ? controller.getParameterFact(-1, "JS_LIGHTS_STEP") : null // v3.5.1 and prior property Fact _stepSize: _oldFW ? controller.getParameterFact(-1, "JS_LIGHTS_STEP") : null // v3.5.1 and prior
property Fact _numSteps: _oldFW ? null : controller.getParameterFact(-1, "JS_LIGHTS_STEPS") // v3.5.2 and up property Fact _numSteps: _oldFW ? null : controller.getParameterFact(-1, "JS_LIGHTS_STEPS") // v3.5.2 and up
...@@ -66,7 +66,7 @@ SetupPage { ...@@ -66,7 +66,7 @@ SetupPage {
lightsLoader.lights1OutIndex = 0 lightsLoader.lights1OutIndex = 0
lightsLoader.lights2OutIndex = 0 lightsLoader.lights2OutIndex = 0
for (var channel=_firstLightsOutChannel; channel<=_lastLightsOutChannel; channel++) { for (var channel=_firstLightsOutChannel; channel<=_lastLightsOutChannel; channel++) {
var functionFact = controller.getParameterFact(-1, "r.SERVO" + channel + "_FUNCTION") var functionFact = controller.getParameterFact(-1, "SERVO" + channel + "_FUNCTION")
if (functionFact.value == _rcFunctionRCIN9) { if (functionFact.value == _rcFunctionRCIN9) {
lightsLoader.lights1OutIndex = channel - 4 lightsLoader.lights1OutIndex = channel - 4
} else if (functionFact.value == _rcFunctionRCIN10) { } else if (functionFact.value == _rcFunctionRCIN10) {
...@@ -78,7 +78,7 @@ SetupPage { ...@@ -78,7 +78,7 @@ SetupPage {
function setRCFunction(channel, rcFunction) { function setRCFunction(channel, rcFunction) {
// First clear any previous settings for this function // First clear any previous settings for this function
for (var index=_firstLightsOutChannel; index<=_lastLightsOutChannel; index++) { for (var index=_firstLightsOutChannel; index<=_lastLightsOutChannel; index++) {
var functionFact = controller.getParameterFact(-1, "r.SERVO" + index + "_FUNCTION") var functionFact = controller.getParameterFact(-1, "SERVO" + index + "_FUNCTION")
if (functionFact.value != _rcFunctionDisabled && functionFact.value == rcFunction) { if (functionFact.value != _rcFunctionDisabled && functionFact.value == rcFunction) {
functionFact.value = _rcFunctionDisabled functionFact.value = _rcFunctionDisabled
} }
...@@ -86,7 +86,7 @@ SetupPage { ...@@ -86,7 +86,7 @@ SetupPage {
// Now set the function into the new channel // Now set the function into the new channel
if (channel != 0) { if (channel != 0) {
var functionFact = controller.getParameterFact(-1, "r.SERVO" + channel + "_FUNCTION") var functionFact = controller.getParameterFact(-1, "SERVO" + channel + "_FUNCTION")
functionFact.value = rcFunction functionFact.value = rcFunction
} }
} }
......
...@@ -14,16 +14,16 @@ FactPanel { ...@@ -14,16 +14,16 @@ FactPanel {
QGCPalette { id: qgcPal; colorGroupEnabled: enabled } QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
FactPanelController { id: controller; factPanel: panel } FactPanelController { id: controller; factPanel: panel }
property Fact _rc5Function: controller.getParameterFact(-1, "r.SERVO5_FUNCTION") property Fact _rc5Function: controller.getParameterFact(-1, "SERVO5_FUNCTION")
property Fact _rc6Function: controller.getParameterFact(-1, "r.SERVO6_FUNCTION") property Fact _rc6Function: controller.getParameterFact(-1, "SERVO6_FUNCTION")
property Fact _rc7Function: controller.getParameterFact(-1, "r.SERVO7_FUNCTION") property Fact _rc7Function: controller.getParameterFact(-1, "SERVO7_FUNCTION")
property Fact _rc8Function: controller.getParameterFact(-1, "r.SERVO8_FUNCTION") property Fact _rc8Function: controller.getParameterFact(-1, "SERVO8_FUNCTION")
property Fact _rc9Function: controller.getParameterFact(-1, "r.SERVO9_FUNCTION") property Fact _rc9Function: controller.getParameterFact(-1, "SERVO9_FUNCTION")
property Fact _rc10Function: controller.getParameterFact(-1, "r.SERVO10_FUNCTION") property Fact _rc10Function: controller.getParameterFact(-1, "SERVO10_FUNCTION")
property Fact _rc11Function: controller.getParameterFact(-1, "r.SERVO11_FUNCTION") property Fact _rc11Function: controller.getParameterFact(-1, "SERVO11_FUNCTION")
property Fact _rc12Function: controller.getParameterFact(-1, "r.SERVO12_FUNCTION") property Fact _rc12Function: controller.getParameterFact(-1, "SERVO12_FUNCTION")
property Fact _rc13Function: controller.getParameterFact(-1, "r.SERVO13_FUNCTION") property Fact _rc13Function: controller.getParameterFact(-1, "SERVO13_FUNCTION")
property Fact _rc14Function: controller.getParameterFact(-1, "r.SERVO14_FUNCTION") property Fact _rc14Function: controller.getParameterFact(-1, "SERVO14_FUNCTION")
readonly property int _rcFunctionRCIN9: 59 readonly property int _rcFunctionRCIN9: 59
readonly property int _rcFunctionRCIN10: 60 readonly property int _rcFunctionRCIN10: 60
...@@ -40,7 +40,7 @@ FactPanel { ...@@ -40,7 +40,7 @@ FactPanel {
lightsLoader.lights1OutIndex = 0 lightsLoader.lights1OutIndex = 0
lightsLoader.lights2OutIndex = 0 lightsLoader.lights2OutIndex = 0
for (var channel=_firstLightsOutChannel; channel<=_lastLightsOutChannel; channel++) { for (var channel=_firstLightsOutChannel; channel<=_lastLightsOutChannel; channel++) {
var functionFact = controller.getParameterFact(-1, "r.SERVO" + channel + "_FUNCTION") var functionFact = controller.getParameterFact(-1, "SERVO" + channel + "_FUNCTION")
if (functionFact.value == _rcFunctionRCIN9) { if (functionFact.value == _rcFunctionRCIN9) {
lightsLoader.lights1OutIndex = channel - 4 lightsLoader.lights1OutIndex = channel - 4
} else if (functionFact.value == _rcFunctionRCIN10) { } else if (functionFact.value == _rcFunctionRCIN10) {
......
...@@ -364,7 +364,7 @@ bool APMFirmwarePlugin::_handleIncomingStatusText(Vehicle* vehicle, mavlink_mess ...@@ -364,7 +364,7 @@ bool APMFirmwarePlugin::_handleIncomingStatusText(Vehicle* vehicle, mavlink_mess
case MAV_TYPE_VTOL_RESERVED5: case MAV_TYPE_VTOL_RESERVED5:
case MAV_TYPE_FIXED_WING: case MAV_TYPE_FIXED_WING:
supportedMajorNumber = 3; supportedMajorNumber = 3;
supportedMinorNumber = 4; supportedMinorNumber = 8;
break; break;
case MAV_TYPE_QUADROTOR: case MAV_TYPE_QUADROTOR:
// Start TCP video handshake with ARTOO in case it's a Solo running ArduPilot firmware // Start TCP video handshake with ARTOO in case it's a Solo running ArduPilot firmware
...@@ -376,8 +376,12 @@ bool APMFirmwarePlugin::_handleIncomingStatusText(Vehicle* vehicle, mavlink_mess ...@@ -376,8 +376,12 @@ bool APMFirmwarePlugin::_handleIncomingStatusText(Vehicle* vehicle, mavlink_mess
case MAV_TYPE_OCTOROTOR: case MAV_TYPE_OCTOROTOR:
case MAV_TYPE_TRICOPTER: case MAV_TYPE_TRICOPTER:
supportedMajorNumber = 3; supportedMajorNumber = 3;
supportedMinorNumber = 3; supportedMinorNumber = 5;
break; break;
case MAV_TYPE_GROUND_ROVER:
case MAV_TYPE_SURFACE_BOAT:
supportedMajorNumber = 3;
supportedMinorNumber = 4;
default: default:
break; break;
} }
...@@ -654,7 +658,7 @@ void APMFirmwarePlugin::initializeVehicle(Vehicle* vehicle) ...@@ -654,7 +658,7 @@ void APMFirmwarePlugin::initializeVehicle(Vehicle* vehicle)
case MAV_TYPE_TRICOPTER: case MAV_TYPE_TRICOPTER:
case MAV_TYPE_COAXIAL: case MAV_TYPE_COAXIAL:
case MAV_TYPE_HELICOPTER: case MAV_TYPE_HELICOPTER:
vehicle->setFirmwareVersion(3, 4, 0); vehicle->setFirmwareVersion(3, 6, 0);
break; break;
case MAV_TYPE_VTOL_DUOROTOR: case MAV_TYPE_VTOL_DUOROTOR:
case MAV_TYPE_VTOL_QUADROTOR: case MAV_TYPE_VTOL_QUADROTOR:
...@@ -664,11 +668,11 @@ void APMFirmwarePlugin::initializeVehicle(Vehicle* vehicle) ...@@ -664,11 +668,11 @@ void APMFirmwarePlugin::initializeVehicle(Vehicle* vehicle)
case MAV_TYPE_VTOL_RESERVED4: case MAV_TYPE_VTOL_RESERVED4:
case MAV_TYPE_VTOL_RESERVED5: case MAV_TYPE_VTOL_RESERVED5:
case MAV_TYPE_FIXED_WING: case MAV_TYPE_FIXED_WING:
vehicle->setFirmwareVersion(3, 5, 0); vehicle->setFirmwareVersion(3, 9, 0);
break; break;
case MAV_TYPE_GROUND_ROVER: case MAV_TYPE_GROUND_ROVER:
case MAV_TYPE_SURFACE_BOAT: case MAV_TYPE_SURFACE_BOAT:
vehicle->setFirmwareVersion(3, 0, 0); vehicle->setFirmwareVersion(3, 5, 0);
break; break;
case MAV_TYPE_SUBMARINE: case MAV_TYPE_SUBMARINE:
vehicle->setFirmwareVersion(3, 4, 0); vehicle->setFirmwareVersion(3, 4, 0);
...@@ -813,14 +817,7 @@ QString APMFirmwarePlugin::internalParameterMetaDataFile(Vehicle* vehicle) ...@@ -813,14 +817,7 @@ QString APMFirmwarePlugin::internalParameterMetaDataFile(Vehicle* vehicle)
if (vehicle->versionCompare(3, 6, 0) >= 0) { // 3.6.0 and higher if (vehicle->versionCompare(3, 6, 0) >= 0) { // 3.6.0 and higher
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Copter.3.6.xml"); return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Copter.3.6.xml");
} }
if (vehicle->versionCompare(3, 5, 0) >= 0) { // 3.5.x return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Copter.3.5.xml");
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Copter.3.5.xml");
}
if (vehicle->versionCompare(3, 4, 0) >= 0) { // 3.4.x
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Copter.3.4.xml");
}
// Up to 3.3.x
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Copter.3.3.xml");
case MAV_TYPE_VTOL_DUOROTOR: case MAV_TYPE_VTOL_DUOROTOR:
case MAV_TYPE_VTOL_QUADROTOR: case MAV_TYPE_VTOL_QUADROTOR:
...@@ -830,28 +827,23 @@ QString APMFirmwarePlugin::internalParameterMetaDataFile(Vehicle* vehicle) ...@@ -830,28 +827,23 @@ QString APMFirmwarePlugin::internalParameterMetaDataFile(Vehicle* vehicle)
case MAV_TYPE_VTOL_RESERVED4: case MAV_TYPE_VTOL_RESERVED4:
case MAV_TYPE_VTOL_RESERVED5: case MAV_TYPE_VTOL_RESERVED5:
case MAV_TYPE_FIXED_WING: case MAV_TYPE_FIXED_WING:
if (vehicle->versionCompare(3, 8, 0) >= 0) { // 3.8.0 and higher if (vehicle->versionCompare(3, 10, 0) >= 0) {
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.8.xml"); return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.10.xml");
} }
if (vehicle->versionCompare(3, 7, 0) >= 0) { // 3.7.x if (vehicle->versionCompare(3, 9, 0) >= 0) {
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.7.xml"); return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.9.xml");
} }
if (vehicle->versionCompare(3, 5, 0) >= 0) { // 3.5.x to 3.6.x return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.8.xml");
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.5.xml");
}
// up to 3.4.x
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.3.xml");
case MAV_TYPE_GROUND_ROVER: case MAV_TYPE_GROUND_ROVER:
case MAV_TYPE_SURFACE_BOAT: case MAV_TYPE_SURFACE_BOAT:
if (vehicle->versionCompare(3, 4, 0) >= 0) { // 3.4.0 and higher if (vehicle->versionCompare(3, 6, 0) >= 0) {
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Rover.3.4.xml"); return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Rover.3.6.xml");
} }
if (vehicle->versionCompare(3, 2, 0) >= 0) { // 3.2.x to 3.3.x if (vehicle->versionCompare(3, 5, 0) >= 0) {
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Rover.3.2.xml"); return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Rover.3.5.xml");
} }
// up to 3.1.x return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Rover.3.4.xml");
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Rover.3.0.xml");
case MAV_TYPE_SUBMARINE: case MAV_TYPE_SUBMARINE:
if (vehicle->versionCompare(3, 6, 0) >= 0) { // 3.5.x if (vehicle->versionCompare(3, 6, 0) >= 0) { // 3.5.x
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
...@@ -41,22 +41,20 @@ ...@@ -41,22 +41,20 @@
<file alias="APMAirframeFactMetaData.xml">../../AutoPilotPlugins/APM/APMAirframeFactMetaData.xml</file> <file alias="APMAirframeFactMetaData.xml">../../AutoPilotPlugins/APM/APMAirframeFactMetaData.xml</file>
</qresource> </qresource>
<qresource prefix="/FirmwarePlugin/APM"> <qresource prefix="/FirmwarePlugin/APM">
<file alias="APMParameterFactMetaData.Plane.3.3.xml">APMParameterFactMetaData.Plane.3.3.xml</file>
<file alias="APMParameterFactMetaData.Plane.3.5.xml">APMParameterFactMetaData.Plane.3.5.xml</file>
<file alias="APMParameterFactMetaData.Plane.3.7.xml">APMParameterFactMetaData.Plane.3.7.xml</file>
<file alias="APMParameterFactMetaData.Plane.3.8.xml">APMParameterFactMetaData.Plane.3.8.xml</file> <file alias="APMParameterFactMetaData.Plane.3.8.xml">APMParameterFactMetaData.Plane.3.8.xml</file>
<file alias="APMParameterFactMetaData.Copter.3.3.xml">APMParameterFactMetaData.Copter.3.3.xml</file> <file alias="APMParameterFactMetaData.Plane.3.9.xml">APMParameterFactMetaData.Plane.3.9.xml</file>
<file alias="APMParameterFactMetaData.Copter.3.4.xml">APMParameterFactMetaData.Copter.3.4.xml</file> <file alias="APMParameterFactMetaData.Plane.3.10.xml">APMParameterFactMetaData.Plane.3.10.xml</file>
<file alias="APMParameterFactMetaData.Copter.3.5.xml">APMParameterFactMetaData.Copter.3.5.xml</file> <file alias="APMParameterFactMetaData.Copter.3.5.xml">APMParameterFactMetaData.Copter.3.5.xml</file>
<file alias="APMParameterFactMetaData.Copter.3.6.xml">APMParameterFactMetaData.Copter.3.6.xml</file> <file alias="APMParameterFactMetaData.Copter.3.6.xml">APMParameterFactMetaData.Copter.3.6.xml</file>
<file alias="APMParameterFactMetaData.Copter.3.7.xml">APMParameterFactMetaData.Copter.3.7.xml</file> <file alias="APMParameterFactMetaData.Copter.3.7.xml">APMParameterFactMetaData.Copter.3.7.xml</file>
<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.Rover.3.4.xml">APMParameterFactMetaData.Rover.3.4.xml</file> <file alias="APMParameterFactMetaData.Rover.3.4.xml">APMParameterFactMetaData.Rover.3.4.xml</file>
<file alias="APMParameterFactMetaData.Rover.3.5.xml">APMParameterFactMetaData.Rover.3.5.xml</file>
<file alias="APMParameterFactMetaData.Rover.3.6.xml">APMParameterFactMetaData.Rover.3.6.xml</file>
<file alias="APMParameterFactMetaData.Sub.3.4.xml">APMParameterFactMetaData.Sub.3.4.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="APMParameterFactMetaData.Sub.3.5.xml">APMParameterFactMetaData.Sub.3.5.xml</file>
<file alias="APMParameterFactMetaData.Sub.3.6dev.xml">APMParameterFactMetaData.Sub.3.6dev.xml</file> <file alias="APMParameterFactMetaData.Sub.3.6dev.xml">APMParameterFactMetaData.Sub.3.6dev.xml</file>
<file alias="Copter.OfflineEditing.params">Copter3.5.OfflineEditing.params</file> <file alias="Copter.OfflineEditing.params">Copter3.6.OfflineEditing.params</file>
<file alias="Plane.OfflineEditing.params">Plane3.7.OfflineEditing.params</file> <file alias="Plane.OfflineEditing.params">Plane3.9.OfflineEditing.params</file>
<file alias="Rover.OfflineEditing.params">Rover3.5.OfflineEditing.params</file>
</qresource> </qresource>
</RCC> </RCC>
...@@ -70,84 +70,9 @@ ArduCopterFirmwarePlugin::ArduCopterFirmwarePlugin(void) ...@@ -70,84 +70,9 @@ ArduCopterFirmwarePlugin::ArduCopterFirmwarePlugin(void)
supportedFlightModes << APMCopterMode(APMCopterMode::GUIDED_NOGPS,true); supportedFlightModes << APMCopterMode(APMCopterMode::GUIDED_NOGPS,true);
supportedFlightModes << APMCopterMode(APMCopterMode::SAFE_RTL,true); supportedFlightModes << APMCopterMode(APMCopterMode::SAFE_RTL,true);
setSupportedModes(supportedFlightModes); setSupportedModes(supportedFlightModes);
if (!_remapParamNameIntialized) { if (!_remapParamNameIntialized) {
FirmwarePlugin::remapParamNameMap_t& remapV3_4 = _remapParamName[3][4];
remapV3_4["ATC_ANG_RLL_P"] = QStringLiteral("STB_RLL_P");
remapV3_4["ATC_ANG_PIT_P"] = QStringLiteral("STB_PIT_P");
remapV3_4["ATC_ANG_YAW_P"] = QStringLiteral("STB_YAW_P");
remapV3_4["ATC_RAT_RLL_P"] = QStringLiteral("RATE_RLL_P");
remapV3_4["ATC_RAT_RLL_I"] = QStringLiteral("RATE_RLL_I");
remapV3_4["ATC_RAT_RLL_IMAX"] = QStringLiteral("RATE_RLL_IMAX");
remapV3_4["ATC_RAT_RLL_D"] = QStringLiteral("RATE_RLL_D");
remapV3_4["ATC_RAT_RLL_FILT"] = QStringLiteral("RATE_RLL_FILT_HZ");
remapV3_4["ATC_RAT_PIT_P"] = QStringLiteral("RATE_PIT_P");
remapV3_4["ATC_RAT_PIT_I"] = QStringLiteral("RATE_PIT_I");
remapV3_4["ATC_RAT_PIT_IMAX"] = QStringLiteral("RATE_PIT_IMAX");
remapV3_4["ATC_RAT_PIT_D"] = QStringLiteral("RATE_PIT_D");
remapV3_4["ATC_RAT_PIT_FILT"] = QStringLiteral("RATE_PIT_FILT_HZ");
remapV3_4["ATC_RAT_YAW_P"] = QStringLiteral("RATE_YAW_P");
remapV3_4["ATC_RAT_YAW_I"] = QStringLiteral("RATE_YAW_I");
remapV3_4["ATC_RAT_YAW_IMAX"] = QStringLiteral("RATE_YAW_IMAX");
remapV3_4["ATC_RAT_YAW_D"] = QStringLiteral("RATE_YAW_D");
remapV3_4["ATC_RAT_YAW_FILT"] = QStringLiteral("RATE_YAW_FILT_HZ");
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");
remapV3_5["SERVO5_MIN"] = QStringLiteral("RC5_MIN");
remapV3_5["SERVO6_MIN"] = QStringLiteral("RC6_MIN");
remapV3_5["SERVO7_MIN"] = QStringLiteral("RC7_MIN");
remapV3_5["SERVO8_MIN"] = QStringLiteral("RC8_MIN");
remapV3_5["SERVO9_MIN"] = QStringLiteral("RC9_MIN");
remapV3_5["SERVO10_MIN"] = QStringLiteral("RC10_MIN");
remapV3_5["SERVO11_MIN"] = QStringLiteral("RC11_MIN");
remapV3_5["SERVO12_MIN"] = QStringLiteral("RC12_MIN");
remapV3_5["SERVO13_MIN"] = QStringLiteral("RC13_MIN");
remapV3_5["SERVO14_MIN"] = QStringLiteral("RC14_MIN");
remapV3_5["SERVO5_MAX"] = QStringLiteral("RC5_MAX");
remapV3_5["SERVO6_MAX"] = QStringLiteral("RC6_MAX");
remapV3_5["SERVO7_MAX"] = QStringLiteral("RC7_MAX");
remapV3_5["SERVO8_MAX"] = QStringLiteral("RC8_MAX");
remapV3_5["SERVO9_MAX"] = QStringLiteral("RC9_MAX");
remapV3_5["SERVO10_MAX"] = QStringLiteral("RC10_MAX");
remapV3_5["SERVO11_MAX"] = QStringLiteral("RC11_MAX");
remapV3_5["SERVO12_MAX"] = QStringLiteral("RC12_MAX");
remapV3_5["SERVO13_MAX"] = QStringLiteral("RC13_MAX");
remapV3_5["SERVO14_MAX"] = QStringLiteral("RC14_MAX");
remapV3_5["SERVO5_REVERSED"] = QStringLiteral("RC5_REVERSED");
remapV3_5["SERVO6_REVERSED"] = QStringLiteral("RC6_REVERSED");
remapV3_5["SERVO7_REVERSED"] = QStringLiteral("RC7_REVERSED");
remapV3_5["SERVO8_REVERSED"] = QStringLiteral("RC8_REVERSED");
remapV3_5["SERVO9_REVERSED"] = QStringLiteral("RC9_REVERSED");
remapV3_5["SERVO10_REVERSED"] = QStringLiteral("RC10_REVERSED");
remapV3_5["SERVO11_REVERSED"] = QStringLiteral("RC11_REVERSED");
remapV3_5["SERVO12_REVERSED"] = QStringLiteral("RC12_REVERSED");
remapV3_5["SERVO13_REVERSED"] = QStringLiteral("RC13_REVERSED");
remapV3_5["SERVO14_REVERSED"] = QStringLiteral("RC14_REVERSED");
remapV3_5["ARMING_VOLT_MIN"] = QStringLiteral("ARMING_MIN_VOLT");
remapV3_5["ARMING_VOLT2_MIN"] = QStringLiteral("ARMING_MIN_VOLT2");
FirmwarePlugin::remapParamNameMap_t& remapV3_6 = _remapParamName[3][6]; FirmwarePlugin::remapParamNameMap_t& remapV3_6 = _remapParamName[3][6];
remapV3_6["BATT_AMP_PERVLT"] = QStringLiteral("BATT_AMP_PERVOL"); remapV3_6["BATT_AMP_PERVLT"] = QStringLiteral("BATT_AMP_PERVOL");
......
...@@ -64,55 +64,6 @@ ArduPlaneFirmwarePlugin::ArduPlaneFirmwarePlugin(void) ...@@ -64,55 +64,6 @@ ArduPlaneFirmwarePlugin::ArduPlaneFirmwarePlugin(void)
setSupportedModes(supportedFlightModes); setSupportedModes(supportedFlightModes);
if (!_remapParamNameIntialized) { if (!_remapParamNameIntialized) {
FirmwarePlugin::remapParamNameMap_t& remapV3_8 = _remapParamName[3][8];
remapV3_8["SERVO5_FUNCTION"] = QStringLiteral("RC5_FUNCTION");
remapV3_8["SERVO6_FUNCTION"] = QStringLiteral("RC6_FUNCTION");
remapV3_8["SERVO7_FUNCTION"] = QStringLiteral("RC7_FUNCTION");
remapV3_8["SERVO8_FUNCTION"] = QStringLiteral("RC8_FUNCTION");
remapV3_8["SERVO9_FUNCTION"] = QStringLiteral("RC9_FUNCTION");
remapV3_8["SERVO10_FUNCTION"] = QStringLiteral("RC10_FUNCTION");
remapV3_8["SERVO11_FUNCTION"] = QStringLiteral("RC11_FUNCTION");
remapV3_8["SERVO12_FUNCTION"] = QStringLiteral("RC12_FUNCTION");
remapV3_8["SERVO13_FUNCTION"] = QStringLiteral("RC13_FUNCTION");
remapV3_8["SERVO14_FUNCTION"] = QStringLiteral("RC14_FUNCTION");
remapV3_8["SERVO5_MIN"] = QStringLiteral("RC5_MIN");
remapV3_8["SERVO6_MIN"] = QStringLiteral("RC6_MIN");
remapV3_8["SERVO7_MIN"] = QStringLiteral("RC7_MIN");
remapV3_8["SERVO8_MIN"] = QStringLiteral("RC8_MIN");
remapV3_8["SERVO9_MIN"] = QStringLiteral("RC9_MIN");
remapV3_8["SERVO10_MIN"] = QStringLiteral("RC10_MIN");
remapV3_8["SERVO11_MIN"] = QStringLiteral("RC11_MIN");
remapV3_8["SERVO12_MIN"] = QStringLiteral("RC12_MIN");
remapV3_8["SERVO13_MIN"] = QStringLiteral("RC13_MIN");
remapV3_8["SERVO14_MIN"] = QStringLiteral("RC14_MIN");
remapV3_8["SERVO5_MAX"] = QStringLiteral("RC5_MAX");
remapV3_8["SERVO6_MAX"] = QStringLiteral("RC6_MAX");
remapV3_8["SERVO7_MAX"] = QStringLiteral("RC7_MAX");
remapV3_8["SERVO8_MAX"] = QStringLiteral("RC8_MAX");
remapV3_8["SERVO9_MAX"] = QStringLiteral("RC9_MAX");
remapV3_8["SERVO10_MAX"] = QStringLiteral("RC10_MAX");
remapV3_8["SERVO11_MAX"] = QStringLiteral("RC11_MAX");
remapV3_8["SERVO12_MAX"] = QStringLiteral("RC12_MAX");
remapV3_8["SERVO13_MAX"] = QStringLiteral("RC13_MAX");
remapV3_8["SERVO14_MAX"] = QStringLiteral("RC14_MAX");
remapV3_8["SERVO5_REVERSED"] = QStringLiteral("RC5_REVERSED");
remapV3_8["SERVO6_REVERSED"] = QStringLiteral("RC6_REVERSED");
remapV3_8["SERVO7_REVERSED"] = QStringLiteral("RC7_REVERSED");
remapV3_8["SERVO8_REVERSED"] = QStringLiteral("RC8_REVERSED");
remapV3_8["SERVO9_REVERSED"] = QStringLiteral("RC9_REVERSED");
remapV3_8["SERVO10_REVERSED"] = QStringLiteral("RC10_REVERSED");
remapV3_8["SERVO11_REVERSED"] = QStringLiteral("RC11_REVERSED");
remapV3_8["SERVO12_REVERSED"] = QStringLiteral("RC12_REVERSED");
remapV3_8["SERVO13_REVERSED"] = QStringLiteral("RC13_REVERSED");
remapV3_8["SERVO14_REVERSED"] = QStringLiteral("RC14_REVERSED");
remapV3_8["ARMING_VOLT_MIN"] = QStringLiteral("ARMING_MIN_VOLT");
remapV3_8["ARMING_VOLT2_MIN"] = QStringLiteral("ARMING_MIN_VOLT2");
FirmwarePlugin::remapParamNameMap_t& remapV3_10 = _remapParamName[3][10]; FirmwarePlugin::remapParamNameMap_t& remapV3_10 = _remapParamName[3][10];
remapV3_10["BATT_ARM_VOLT"] = QStringLiteral("ARMING_VOLT_MIN"); remapV3_10["BATT_ARM_VOLT"] = QStringLiteral("ARMING_VOLT_MIN");
......
...@@ -51,55 +51,6 @@ ArduRoverFirmwarePlugin::ArduRoverFirmwarePlugin(void) ...@@ -51,55 +51,6 @@ ArduRoverFirmwarePlugin::ArduRoverFirmwarePlugin(void)
setSupportedModes(supportedFlightModes); setSupportedModes(supportedFlightModes);
if (!_remapParamNameIntialized) { if (!_remapParamNameIntialized) {
FirmwarePlugin::remapParamNameMap_t& remapV3_2 = _remapParamName[3][2];
remapV3_2["SERVO5_FUNCTION"] = QStringLiteral("RC5_FUNCTION");
remapV3_2["SERVO6_FUNCTION"] = QStringLiteral("RC6_FUNCTION");
remapV3_2["SERVO7_FUNCTION"] = QStringLiteral("RC7_FUNCTION");
remapV3_2["SERVO8_FUNCTION"] = QStringLiteral("RC8_FUNCTION");
remapV3_2["SERVO9_FUNCTION"] = QStringLiteral("RC9_FUNCTION");
remapV3_2["SERVO10_FUNCTION"] = QStringLiteral("RC10_FUNCTION");
remapV3_2["SERVO11_FUNCTION"] = QStringLiteral("RC11_FUNCTION");
remapV3_2["SERVO12_FUNCTION"] = QStringLiteral("RC12_FUNCTION");
remapV3_2["SERVO13_FUNCTION"] = QStringLiteral("RC13_FUNCTION");
remapV3_2["SERVO14_FUNCTION"] = QStringLiteral("RC14_FUNCTION");
remapV3_2["SERVO5_MIN"] = QStringLiteral("RC5_MIN");
remapV3_2["SERVO6_MIN"] = QStringLiteral("RC6_MIN");
remapV3_2["SERVO7_MIN"] = QStringLiteral("RC7_MIN");
remapV3_2["SERVO8_MIN"] = QStringLiteral("RC8_MIN");
remapV3_2["SERVO9_MIN"] = QStringLiteral("RC9_MIN");
remapV3_2["SERVO10_MIN"] = QStringLiteral("RC10_MIN");
remapV3_2["SERVO11_MIN"] = QStringLiteral("RC11_MIN");
remapV3_2["SERVO12_MIN"] = QStringLiteral("RC12_MIN");
remapV3_2["SERVO13_MIN"] = QStringLiteral("RC13_MIN");
remapV3_2["SERVO14_MIN"] = QStringLiteral("RC14_MIN");
remapV3_2["SERVO5_MAX"] = QStringLiteral("RC5_MAX");
remapV3_2["SERVO6_MAX"] = QStringLiteral("RC6_MAX");
remapV3_2["SERVO7_MAX"] = QStringLiteral("RC7_MAX");
remapV3_2["SERVO8_MAX"] = QStringLiteral("RC8_MAX");
remapV3_2["SERVO9_MAX"] = QStringLiteral("RC9_MAX");
remapV3_2["SERVO10_MAX"] = QStringLiteral("RC10_MAX");
remapV3_2["SERVO11_MAX"] = QStringLiteral("RC11_MAX");
remapV3_2["SERVO12_MAX"] = QStringLiteral("RC12_MAX");
remapV3_2["SERVO13_MAX"] = QStringLiteral("RC13_MAX");
remapV3_2["SERVO14_MAX"] = QStringLiteral("RC14_MAX");
remapV3_2["SERVO5_REVERSED"] = QStringLiteral("RC5_REVERSED");
remapV3_2["SERVO6_REVERSED"] = QStringLiteral("RC6_REVERSED");
remapV3_2["SERVO7_REVERSED"] = QStringLiteral("RC7_REVERSED");
remapV3_2["SERVO8_REVERSED"] = QStringLiteral("RC8_REVERSED");
remapV3_2["SERVO9_REVERSED"] = QStringLiteral("RC9_REVERSED");
remapV3_2["SERVO10_REVERSED"] = QStringLiteral("RC10_REVERSED");
remapV3_2["SERVO11_REVERSED"] = QStringLiteral("RC11_REVERSED");
remapV3_2["SERVO12_REVERSED"] = QStringLiteral("RC12_REVERSED");
remapV3_2["SERVO13_REVERSED"] = QStringLiteral("RC13_REVERSED");
remapV3_2["SERVO14_REVERSED"] = QStringLiteral("RC14_REVERSED");
remapV3_2["ARMING_VOLT_MIN"] = QStringLiteral("ARMING_MIN_VOLT");
remapV3_2["ARMING_VOLT2_MIN"] = QStringLiteral("ARMING_MIN_VOLT2");
FirmwarePlugin::remapParamNameMap_t& remapV3_5 = _remapParamName[3][5]; FirmwarePlugin::remapParamNameMap_t& remapV3_5 = _remapParamName[3][5];
remapV3_5["BATT_ARM_VOLT"] = QStringLiteral("ARMING_VOLT_MIN"); remapV3_5["BATT_ARM_VOLT"] = QStringLiteral("ARMING_VOLT_MIN");
......
...@@ -47,10 +47,11 @@ public: ...@@ -47,10 +47,11 @@ public:
// Overrides from FirmwarePlugin // Overrides from FirmwarePlugin
QString pauseFlightMode (void) const override { return QString("Hold"); } QString pauseFlightMode (void) const override { return QString("Hold"); }
void guidedModeChangeAltitude (Vehicle* vehicle, double altitudeChange) final; void guidedModeChangeAltitude (Vehicle* vehicle, double altitudeChange) override;
int remapParamNameHigestMinorVersionNumber (int majorVersionNumber) const final; int remapParamNameHigestMinorVersionNumber (int majorVersionNumber) const override;
const FirmwarePlugin::remapParamNameMajorVersionMap_t& paramNameRemapMajorVersionMap(void) const final { return _remapParamName; } const FirmwarePlugin::remapParamNameMajorVersionMap_t& paramNameRemapMajorVersionMap(void) const override { return _remapParamName; }
bool supportsNegativeThrust(void) final; bool supportsNegativeThrust (void) override;
QString offlineEditingParamFile (Vehicle* vehicle) override { Q_UNUSED(vehicle); return QStringLiteral(":/FirmwarePlugin/APM/Rover.OfflineEditing.params"); }
private: private:
static bool _remapParamNameIntialized; static bool _remapParamNameIntialized;
......
# Args: [ArduCopter|ArduPlane] [Copter.3.7|...]
cd ~/repos/ardupilot cd ~/repos/ardupilot
rm apm.pdef.xml rm -f apm.pdef.xml
./Tools/autotest/param_metadata/param_parse.py --vehicle ArduCopter ./Tools/autotest/param_metadata/param_parse.py --vehicle $1