Browse Source

Merge branch 'master' of https://github.com/mavlink/qgroundcontrol into foo

# Conflicts:
#	src/AutoPilotPlugins/APM/APMAirframeComponent.qml
#	src/AutoPilotPlugins/APM/APMAirframeComponentSummary.qml
#	src/AutoPilotPlugins/APM/APMLightsComponent.qml
QGC4.4
Gus Grubba 6 years ago
parent
commit
b3807a9f3d
  1. 20
      ChangeLog.md
  2. 5
      QGCSetup.pri
  3. BIN
      deploy/px4driver.msi
  4. 4
      qgroundcontrol.pro
  5. 2
      qgroundcontrol.qrc
  6. 40
      src/AutoPilotPlugins/APM/APMAirframeComponent.cc
  7. 6
      src/AutoPilotPlugins/APM/APMAirframeComponent.h
  8. 207
      src/AutoPilotPlugins/APM/APMAirframeComponent.qml
  9. 47
      src/AutoPilotPlugins/APM/APMAirframeComponentAirframes.cc
  10. 49
      src/AutoPilotPlugins/APM/APMAirframeComponentAirframes.h
  11. 307
      src/AutoPilotPlugins/APM/APMAirframeComponentController.cc
  12. 101
      src/AutoPilotPlugins/APM/APMAirframeComponentController.h
  13. 21
      src/AutoPilotPlugins/APM/APMAirframeComponentSummary.qml
  14. 34
      src/AutoPilotPlugins/APM/APMAirframeFactMetaData.xml
  15. 87
      src/AutoPilotPlugins/APM/APMAirframeLoader.cc
  16. 46
      src/AutoPilotPlugins/APM/APMAirframeLoader.h
  17. 6
      src/AutoPilotPlugins/APM/APMAutoPilotPlugin.cc
  18. 2
      src/AutoPilotPlugins/APM/APMAutoPilotPlugin.h
  19. 28
      src/AutoPilotPlugins/APM/APMCameraComponent.qml
  20. 31
      src/AutoPilotPlugins/APM/APMLightsComponent.qml
  21. 22
      src/AutoPilotPlugins/APM/APMLightsComponentSummary.qml
  22. 544
      src/AutoPilotPlugins/APM/APMTuningComponentCopter.qml
  23. 78
      src/AutoPilotPlugins/Common/Images/AirframeUnknown.svg
  24. 1
      src/AutoPilotPlugins/PX4/PX4TuningComponentCopter.qml
  25. 48
      src/FirmwarePlugin/APM/APMFirmwarePlugin.cc
  26. 5336
      src/FirmwarePlugin/APM/APMParameterFactMetaData.Copter.3.3.xml
  27. 6695
      src/FirmwarePlugin/APM/APMParameterFactMetaData.Copter.3.4.xml
  28. 13856
      src/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.10.xml
  29. 5032
      src/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.3.xml
  30. 6156
      src/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.5.xml
  31. 7143
      src/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.7.xml
  32. 1353
      src/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.8.xml
  33. 10898
      src/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.9.xml
  34. 6072
      src/FirmwarePlugin/APM/APMParameterFactMetaData.Rover.3.0.xml
  35. 11650
      src/FirmwarePlugin/APM/APMParameterFactMetaData.Rover.3.5.xml
  36. 12830
      src/FirmwarePlugin/APM/APMParameterFactMetaData.Rover.3.6.xml
  37. 19
      src/FirmwarePlugin/APM/APMResources.qrc
  38. 75
      src/FirmwarePlugin/APM/ArduCopterFirmwarePlugin.cc
  39. 49
      src/FirmwarePlugin/APM/ArduPlaneFirmwarePlugin.cc
  40. 49
      src/FirmwarePlugin/APM/ArduRoverFirmwarePlugin.cc
  41. 1
      src/FirmwarePlugin/APM/ArduRoverFirmwarePlugin.h
  42. 7
      src/FirmwarePlugin/APM/BuildParamMetaData.sh
  43. 483
      src/FirmwarePlugin/APM/Copter3.6.OfflineEditing.params
  44. 663
      src/FirmwarePlugin/APM/Plane3.7.OfflineEditing.params
  45. BIN
      src/FirmwarePlugin/APM/Plane3.9.OfflineEditing.params
  46. 895
      src/FirmwarePlugin/APM/Rover3.5.OfflineEditing.params
  47. 69
      src/FirmwarePlugin/PX4/PX4ParameterFactMetaData.xml
  48. 7
      src/PlanView/GeoFenceMapVisuals.qml
  49. 6
      src/QmlControls/PIDTuning.qml
  50. 2
      src/Terrain/TerrainQuery.cc
  51. 6
      src/Vehicle/Vehicle.cc
  52. 776
      src/comm/APMArduCopterMockLink.params
  53. 587
      src/comm/APMArduPlaneMockLink.params
  54. 20
      src/comm/MockLink.cc

20
ChangeLog.md

@ -6,6 +6,13 @@ Note: This file only contains high level features or important fixes. @@ -6,6 +6,13 @@ Note: This file only contains high level features or important fixes.
### 3.6.0 - Daily Build
* ArduCopter: Add PID Tuning page to Tuning Setup
* ArduPilot: Copter - Advanced Tuning support
* ArduPilot: Rover - Frame setup support
* ArduPilot: Copter - Update support to 3.5+
* ArduPilot: Plane - Update support to 3.8+
* ArduPilot: Rover - Update support to 3.4+
* ArduPilot: Rework Airframe setup ui
* 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.
* Improved support for flashing/connecting to ChibiOS bootloaders boards.
@ -13,12 +20,21 @@ Note: This file only contains high level features or important fixes. @@ -13,12 +20,21 @@ Note: This file only contains high level features or important fixes.
* ArduPilot: Support configurable mavlink stream rates. Available from Settings/Mavlink page.
* Major rewrite and bug fix pass through Structure Scan. Previous version had such bad problems that it can no longer be supported. Plans with Structure Scan will need to be recreated. New QGC will not load old Structure Scan plans.
### 3.5.1 - Not yet released
### 3.5.3 - Not yet released
* Fix crash when clicking on GeoFence polygon vertex
* PX4: Fix missing ```MC_YAW_FF``` parameter in PID Tuning
* ArduPilot: Fix parameter file save generating bad characters from git hash
### 3.5.2 - Stable
* Fix Ubuntu AppImage startup failure
### 3.5.1
* Update Windows usb drivers
* Add ArduPilot CubeBlack Service Bulletin check
* Fix visibility of PX4/ArduPilot logo in toolbar
* Fix tile set count but in OfflineMaps which would cause image and elevation tile set to have incorrect counts and be incorrectly marked as download incomplete.
### 3.5.0 - Stable
### 3.5.0
* Plan GeoFence: Fix loading of fence from intermediate 3.4 code
* Structure Scan: Fix loading of structure scan height
* ArduPilot: Fix location of planned home position when not connected to vehicle. Issue #6840.

5
QGCSetup.pri

@ -138,8 +138,9 @@ LinuxBuild { @@ -138,8 +138,9 @@ LinuxBuild {
!contains(DEFINES, __rasp_pi2__) {
# Some Qt distributions link with *.so.56
QT_LIB_LIST += \
libicudata.so* \
libicuuc.so*
libicudata.so.56 \
libicui18n.so.56 \
libicuuc.so.56
}
for(QT_LIB, QT_LIB_LIST) {

BIN
deploy/px4driver.msi

Binary file not shown.

4
qgroundcontrol.pro

@ -809,9 +809,7 @@ APMFirmwarePlugin { @@ -809,9 +809,7 @@ APMFirmwarePlugin {
HEADERS += \
src/AutoPilotPlugins/APM/APMAirframeComponent.h \
src/AutoPilotPlugins/APM/APMAirframeComponentAirframes.h \
src/AutoPilotPlugins/APM/APMAirframeComponentController.h \
src/AutoPilotPlugins/APM/APMAirframeLoader.h \
src/AutoPilotPlugins/APM/APMAutoPilotPlugin.h \
src/AutoPilotPlugins/APM/APMCameraComponent.h \
src/AutoPilotPlugins/APM/APMCompassCal.h \
@ -836,9 +834,7 @@ APMFirmwarePlugin { @@ -836,9 +834,7 @@ APMFirmwarePlugin {
SOURCES += \
src/AutoPilotPlugins/APM/APMAirframeComponent.cc \
src/AutoPilotPlugins/APM/APMAirframeComponentAirframes.cc \
src/AutoPilotPlugins/APM/APMAirframeComponentController.cc \
src/AutoPilotPlugins/APM/APMAirframeLoader.cc \
src/AutoPilotPlugins/APM/APMAutoPilotPlugin.cc \
src/AutoPilotPlugins/APM/APMCameraComponent.cc \
src/AutoPilotPlugins/APM/APMCompassCal.cc \

2
qgroundcontrol.qrc

@ -255,8 +255,6 @@ @@ -255,8 +255,6 @@
<file alias="Video.SettingsGroup.json">src/Settings/Video.SettingsGroup.json</file>
</qresource>
<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="PX4MockLink.params">src/comm/PX4MockLink.params</file>
</qresource>

40
src/AutoPilotPlugins/APM/APMAirframeComponent.cc

@ -11,28 +11,22 @@ @@ -11,28 +11,22 @@
#include "ArduCopterFirmwarePlugin.h"
#include "ParameterManager.h"
const char* APMAirframeComponent::_oldFrameParam = "FRAME";
const char* APMAirframeComponent::_newFrameParam = "FRAME_CLASS";
const char* APMAirframeComponent::_frameClassParam = "FRAME_CLASS";
APMAirframeComponent::APMAirframeComponent(Vehicle* vehicle, AutoPilotPlugin* autopilot, QObject* parent)
: VehicleComponent(vehicle, autopilot, parent)
, _requiresFrameSetup(false)
, _name(tr("Airframe"))
: VehicleComponent (vehicle, autopilot, parent)
, _requiresFrameSetup (false)
, _name (tr("Frame"))
{
if (qobject_cast<ArduCopterFirmwarePlugin*>(_vehicle->firmwarePlugin()) != NULL) {
ParameterManager* paramMgr = _vehicle->parameterManager();
_requiresFrameSetup = true;
if (paramMgr->parameterExists(FactSystem::defaultComponentId, _oldFrameParam)) {
_useNewFrameParam = false;
_frameParamFact = paramMgr->getParameter(FactSystem::defaultComponentId, _oldFrameParam);
MAV_TYPE vehicleType = vehicle->vehicleType();
if (vehicleType == MAV_TYPE_TRICOPTER || vehicleType == MAV_TYPE_HELICOPTER) {
_requiresFrameSetup = false;
}
} else {
_useNewFrameParam = true;
_frameParamFact = paramMgr->getParameter(FactSystem::defaultComponentId, _newFrameParam);
ParameterManager* paramMgr = vehicle->parameterManager();
if (paramMgr->parameterExists(FactSystem::defaultComponentId, _frameClassParam)) {
_frameClassFact = paramMgr->getParameter(FactSystem::defaultComponentId, _frameClassParam);
if (vehicle->vehicleType() != MAV_TYPE_HELICOPTER) {
_requiresFrameSetup = true;
}
} else {
_frameClassFact = nullptr;
}
}
@ -43,7 +37,7 @@ QString APMAirframeComponent::name(void) const @@ -43,7 +37,7 @@ QString APMAirframeComponent::name(void) const
QString APMAirframeComponent::description(void) const
{
return tr("Airframe Setup is used to select the airframe which matches your vehicle.");
return tr("Frame Setup is used to select the airframe which matches your vehicle.");
}
QString APMAirframeComponent::iconResource(void) const
@ -59,11 +53,7 @@ bool APMAirframeComponent::requiresSetup(void) const @@ -59,11 +53,7 @@ bool APMAirframeComponent::requiresSetup(void) const
bool APMAirframeComponent::setupComplete(void) const
{
if (_requiresFrameSetup) {
if (_useNewFrameParam) {
return _frameParamFact->rawValue().toInt() > 0;
} else {
return _frameParamFact->rawValue().toInt() >= 0;
}
return _frameClassFact->rawValue().toInt() != 0;
} else {
return true;
}
@ -74,7 +64,7 @@ QStringList APMAirframeComponent::setupCompleteChangedTriggerList(void) const @@ -74,7 +64,7 @@ QStringList APMAirframeComponent::setupCompleteChangedTriggerList(void) const
QStringList list;
if (_requiresFrameSetup) {
list << (_useNewFrameParam ? _newFrameParam : _oldFrameParam);
list << _frameClassParam;
}
return list;

6
src/AutoPilotPlugins/APM/APMAirframeComponent.h

@ -35,11 +35,9 @@ public: @@ -35,11 +35,9 @@ public:
private:
bool _requiresFrameSetup; ///< true: FRAME parameter must be set
const QString _name;
Fact* _frameParamFact;
bool _useNewFrameParam;
Fact* _frameClassFact;
static const char* _oldFrameParam;
static const char* _newFrameParam;
static const char* _frameClassParam;
};
#endif

207
src/AutoPilotPlugins/APM/APMAirframeComponent.qml

@ -22,82 +22,159 @@ import QGroundControl.ScreenTools 1.0 @@ -22,82 +22,159 @@ import QGroundControl.ScreenTools 1.0
SetupPage {
id: airframePage
pageComponent: _useOldFrameParam ? oldFramePageComponent: newFramePageComponent
property real _margins: ScreenTools.defaultFontPixelWidth
property bool _useOldFrameParam: controller.parameterExists(-1, "FRAME")
property Fact _oldFrameParam: controller.getParameterFact(-1, "FRAME", false)
property Fact _newFrameParam: controller.getParameterFact(-1, "FRAME_CLASS", false)
property Fact _frameTypeParam: controller.getParameterFact(-1, "FRAME_TYPE", false)
APMAirframeComponentController {
id: controller
}
pageComponent: pageComponent
Component {
id: oldFramePageComponent
Column {
width: availableWidth
height: 1000
spacing: _margins
RowLayout {
anchors.left: parent.left
anchors.right: parent.right
spacing: _margins
QGCLabel {
font.pointSize: ScreenTools.mediumFontPointSize
wrapMode: Text.WordWrap
text: qsTr("Please select your airframe type")
Layout.fillWidth: true
}
}
Repeater {
model: controller.airframeTypesModel
QGCRadioButton {
text: object.name
checked: controller.currentAirframeType == object
onCheckedChanged: {
if (checked) {
controller.currentAirframeType = object
}
id: pageComponent
ColumnLayout {
id: mainColumn
width: availableWidth
property real _minW: ScreenTools.defaultFontPixelWidth * 20
property real _boxWidth: _minW
property real _boxSpace: ScreenTools.defaultFontPixelWidth
property real _margins: ScreenTools.defaultFontPixelWidth
property Fact _frameClass: controller.getParameterFact(-1, "FRAME_CLASS")
property Fact _frameType: controller.getParameterFact(-1, "FRAME_TYPE", false) // FRAME_TYPE is not available on all Rover versions
property bool _frameTypeAvailable: controller.parameterExists(-1, "FRAME_TYPE")
readonly property real spacerHeight: ScreenTools.defaultFontPixelHeight
onWidthChanged: computeDimensions()
Component.onCompleted: computeDimensions()
function computeDimensions() {
var sw = 0
var rw = 0
var idx = Math.floor(mainColumn.width / (_minW + ScreenTools.defaultFontPixelWidth))
if(idx < 1) {
_boxWidth = mainColumn.width
_boxSpace = 0
} else {
_boxSpace = 0
if(idx > 1) {
_boxSpace = ScreenTools.defaultFontPixelWidth
sw = _boxSpace * (idx - 1)
}
rw = mainColumn.width - sw
_boxWidth = rw / idx
}
}
} // Column
} // Component - oldFramePageComponent
Component {
id: newFramePageComponent
Grid {
width: availableWidth
spacing: _margins
columns: 2
APMAirframeComponentController {
id: controller
factPanel: airframePage.viewPanel
}
QGCLabel {
text: qsTr("Frame Class:")
id: helpText
Layout.fillWidth: true
text: (_frameClass.rawValue === 0 ?
qsTr("Airframe is currently not set.") :
qsTr("Currently set to frame class '%1'").arg(_frameClass.enumStringValue) +
(_frameTypeAvailable ? qsTr(" and frame type '%2'").arg(_frameType.enumStringValue) : "") +
qsTr(".", "period for end of sentence")) +
qsTr(" To change this configuration, select the desired frame class below and frame type.")
font.family: ScreenTools.demiboldFontFamily
wrapMode: Text.WordWrap
}
FactComboBox {
fact: _newFrameParam
indexModel: false
width: ScreenTools.defaultFontPixelWidth * 15
Item {
id: lastSpacer
height: parent.spacerHeight
width: 10
}
QGCLabel {
text: qsTr("Frame Type:")
}
Flow {
id: flowView
Layout.fillWidth: true
spacing: _boxSpace
FactComboBox {
fact: _frameTypeParam
indexModel: false
width: ScreenTools.defaultFontPixelWidth * 15
}
}
}
ExclusiveGroup {
id: airframeTypeExclusive
}
Repeater {
model: controller.frameClassModel
// Outer summary item rectangle
Rectangle {
id: outerRect
width: _boxWidth
height: ScreenTools.defaultFontPixelHeight * 14
color: qgcPal.window
readonly property real titleHeight: ScreenTools.defaultFontPixelHeight * 1.75
readonly property real innerMargin: ScreenTools.defaultFontPixelWidth
MouseArea {
anchors.fill: parent
onClicked: airframeCheckBox.checked = true
}
QGCLabel {
id: title
text: object.name
}
Rectangle {
anchors.topMargin: ScreenTools.defaultFontPixelHeight / 2
anchors.top: title.bottom
anchors.bottom: parent.bottom
anchors.left: parent.left
anchors.right: parent.right
color: airframeCheckBox.checked ? qgcPal.buttonHighlight : qgcPal.windowShade
ColumnLayout {
anchors.margins: innerMargin
anchors.fill: parent
spacing: innerMargin
Image {
id: image
Layout.fillWidth: true
Layout.fillHeight: true
fillMode: Image.PreserveAspectFit
smooth: true
antialiasing: true
sourceSize.width: width
source: object.imageResource
}
QGCCheckBox {
// Although this item is invisible we still use it to manage state
id: airframeCheckBox
checked: object.frameClass === _frameClass.rawValue
exclusiveGroup: airframeTypeExclusive
visible: false
onCheckedChanged: {
if (checked) {
_frameClass.rawValue = object.frameClass
}
}
}
QGCLabel {
text: qsTr("Frame Type")
font.pointSize: ScreenTools.smallFontPointSize
color: qgcPal.buttonHighlightText
visible: airframeCheckBox.checked && object.frameTypeSupported
}
FactComboBox {
id: combo
Layout.fillWidth: true
fact: _frameType
indexModel: false
visible: airframeCheckBox.checked && object.frameTypeSupported
}
}
}
}
} // Repeater - summary boxes
} // Flow - summary boxes
} // Column
} // Component
} // SetupPage

47
src/AutoPilotPlugins/APM/APMAirframeComponentAirframes.cc

@ -1,47 +0,0 @@ @@ -1,47 +0,0 @@
/****************************************************************************
*
* (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
****************************************************************************/
/// @file
/// @author Don Gagne <don@thegagnes.com>
#include "APMAirframeComponentAirframes.h"
#include "APMAirframeComponentController.h"
QMap<QString, APMAirframeComponentAirframes::AirframeType_t*> APMAirframeComponentAirframes::rgAirframeTypes;
QMap<QString, APMAirframeComponentAirframes::AirframeType_t*>& APMAirframeComponentAirframes::get() {
return rgAirframeTypes;
}
void APMAirframeComponentAirframes::insert(const QString& group, int groupId, const QString& image,const QString& name, const QString& file)
{
AirframeType_t *g;
if (!rgAirframeTypes.contains(group)) {
g = new AirframeType_t;
g->name = group;
g->type = groupId;
g->imageResource = image.isEmpty() ? QString() : QStringLiteral("qrc:/qmlimages/") + image;
rgAirframeTypes.insert(group, g);
} else {
g = rgAirframeTypes.value(group);
}
if (!name.isEmpty() && !file.isEmpty())
g->rgAirframeInfo.append(new APMAirframe(name, file, g->type));
}
void APMAirframeComponentAirframes::clear() {
QList<AirframeType_t*> valueList = get().values();
foreach(AirframeType_t *pType, valueList) {
qDeleteAll(pType->rgAirframeInfo);
delete pType;
}
rgAirframeTypes.clear();
}

49
src/AutoPilotPlugins/APM/APMAirframeComponentAirframes.h

@ -1,49 +0,0 @@ @@ -1,49 +0,0 @@
/****************************************************************************
*
* (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
****************************************************************************/
/// @file
/// @author Don Gagne <don@thegagnes.com>
#ifndef APMAirframeComponentAirframes_H
#define APMAirframeComponentAirframes_H
#include <QObject>
#include <QQuickItem>
#include <QList>
#include <QMap>
#include "UASInterface.h"
#include "AutoPilotPlugin.h"
class APMAirframe;
/// MVC Controller for AirframeComponent.qml.
class APMAirframeComponentAirframes
{
public:
typedef struct {
QString name;
QString imageResource;
int type;
QList<APMAirframe*> rgAirframeInfo;
} AirframeType_t;
typedef QMap<QString, AirframeType_t*> AirframeTypeMap;
static AirframeTypeMap& get();
static void clear();
static void insert(const QString& group, int groupId, const QString& image,const QString& name = QString(), const QString& file = QString());
protected:
static AirframeTypeMap rgAirframeTypes;
private:
};
#endif

307
src/AutoPilotPlugins/APM/APMAirframeComponentController.cc

@ -7,17 +7,14 @@ @@ -7,17 +7,14 @@
*
****************************************************************************/
/// @file
/// @author Don Gagne <don@thegagnes.com>
#include "APMAirframeComponentController.h"
#include "APMAirframeComponentAirframes.h"
#include "QGCMAVLink.h"
#include "MultiVehicleManager.h"
#include "QGCApplication.h"
#include "QGCFileDownload.h"
#include "ParameterManager.h"
#include "ArduCopterFirmwarePlugin.h"
#include "ArduRoverFirmwarePlugin.h"
#include <QVariant>
#include <QQmlProperty>
@ -26,71 +23,165 @@ @@ -26,71 +23,165 @@
#include <QJsonParseError>
#include <QJsonObject>
bool APMAirframeComponentController::_typesRegistered = false;
const char* APMAirframeComponentController::_oldFrameParam = "FRAME";
const char* APMAirframeComponentController::_newFrameParam = "FRAME_CLASS";
APMAirframeComponentController::APMAirframeComponentController(void) :
_airframeTypesModel(new QmlObjectListModel(this))
// These should match the ArduCopter FRAME_CLASS parameter enum meta data
#define FRAME_CLASS_UNDEFINED 0
#define FRAME_CLASS_QUAD 1
#define FRAME_CLASS_HEX 2
#define FRAME_CLASS_OCTA 3
#define FRAME_CLASS_OCTAQUAD 4
#define FRAME_CLASS_Y6 5
#define FRAME_CLASS_HELI 6
#define FRAME_CLASS_TRI 7
#define FRAME_CLASS_SINGLECOPTER 8
#define FRAME_CLASS_COAXCOPTER 9
#define FRAME_CLASS_BICOPTER 10
#define FRAME_CLASS_HELI_DUAL 11
#define FRAME_CLASS_DODECAHEXA 12
#define FRAME_CLASS_HELIQUAD 13
// These should match the ArduCopter FRAME_TYPE parameter enum meta data
#define FRAME_TYPE_PLUS 0
#define FRAME_TYPE_X 1
#define FRAME_TYPE_V 2
#define FRAME_TYPE_H 3
#define FRAME_TYPE_V_TAIL 4
#define FRAME_TYPE_A_TAIL 5
#define FRAME_TYPE_Y6B 10
#define FRAME_TYPE_Y6F 11
#define FRAME_TYPE_BETAFLIGHTX 12
#define FRAME_TYPE_DJIX 13
#define FRAME_TYPE_CLOCKWISEX 14
// These should match the Rover FRAME_CLASS parameter enum meta data
#define FRAME_CLASS_ROVER 1
#define FRAME_CLASS_BOAT 2
#define FRAME_CLASS_BALANCEBOT 3
// These should match the Rover FRAME_TYPE parameter enum meta data
#define FRAME_TYPE_UNDEFINED 0
#define FRAME_TYPE_OMNI3 1
#define FRAME_TYPE_OMNIX 2
#define FRAME_TYPE_OMNIPLUS 3
typedef struct {
int frameClass;
int frameType;
const char* imageResource;
} FrameToImageInfo_t;
static const FrameToImageInfo_t s_rgFrameToImageCopter[] = {
{ FRAME_CLASS_QUAD, FRAME_TYPE_PLUS, "QuadRotorPlus" },
{ FRAME_CLASS_QUAD, FRAME_TYPE_X, "QuadRotorX" },
{ FRAME_CLASS_QUAD, FRAME_TYPE_V, "QuadRotorWide" },
{ FRAME_CLASS_QUAD, FRAME_TYPE_H, "QuadRotorH" },
{ FRAME_CLASS_QUAD, FRAME_TYPE_V_TAIL, "QuadRotorVTail" },
{ FRAME_CLASS_QUAD, FRAME_TYPE_A_TAIL, "QuadRotorATail" },
{ FRAME_CLASS_HEX, FRAME_TYPE_PLUS, "HexaRotorPlus" },
{ FRAME_CLASS_HEX, FRAME_TYPE_X, "HexaRotorX" },
{ FRAME_CLASS_OCTA, FRAME_TYPE_PLUS, "OctoRotorPlus" },
{ FRAME_CLASS_OCTA, FRAME_TYPE_X, "OctoRotorX" },
{ FRAME_CLASS_OCTAQUAD, FRAME_TYPE_PLUS, "OctoRotorPlusCoaxial" },
{ FRAME_CLASS_OCTAQUAD, FRAME_TYPE_X, "OctoRotorXCoaxial" },
{ FRAME_CLASS_Y6, FRAME_TYPE_Y6B, "Y6B" },
{ FRAME_CLASS_Y6, FRAME_TYPE_Y6F, "AirframeUnknown" },
{ FRAME_CLASS_Y6, -1, "Y6A" },
{ FRAME_CLASS_HELI, -1, "Helicopter" },
{ FRAME_CLASS_TRI, -1, "YPlus" },
};
static const FrameToImageInfo_t s_rgFrameToImageRover[] = {
{ FRAME_CLASS_ROVER, -1, "Rover" },
{ FRAME_CLASS_BOAT, -1, "Boat" },
};
static QString s_findImageResourceCopter(int frameClass, int frameType)
{
if (!_typesRegistered) {
_typesRegistered = true;
qmlRegisterUncreatableType<APMAirframeType>("QGroundControl.Controllers", 1, 0, "APMAirframeType", QStringLiteral("Can only reference APMAirframeType"));
}
_fillAirFrames();
for (size_t i=0; i<sizeof(s_rgFrameToImageCopter)/sizeof(s_rgFrameToImageCopter[0]); i++) {
const FrameToImageInfo_t* pFrameToImageInfo = &s_rgFrameToImageCopter[i];
Fact* frame = NULL;
if (parameterExists(FactSystem::defaultComponentId, _oldFrameParam)) {
frame = getParameterFact(FactSystem::defaultComponentId, _oldFrameParam);
} else if (parameterExists(FactSystem::defaultComponentId, _newFrameParam)){
frame = getParameterFact(FactSystem::defaultComponentId, _newFrameParam);
if (pFrameToImageInfo->frameClass == frameClass && pFrameToImageInfo->frameType == frameType) {
return pFrameToImageInfo->imageResource;
} else if (pFrameToImageInfo->frameClass == frameClass && pFrameToImageInfo->frameType == -1) {
return pFrameToImageInfo->imageResource;
}
}
if (frame) {
connect(frame, &Fact::rawValueChanged, this, &APMAirframeComponentController::_factFrameChanged);
_factFrameChanged(frame->rawValue());
}
return QStringLiteral("AirframeUnknown");
}
APMAirframeComponentController::~APMAirframeComponentController()
static QString s_findImageResourceRover(int frameClass, int frameType)
{
Q_UNUSED(frameType);
}
for (size_t i=0; i<sizeof(s_rgFrameToImageRover)/sizeof(s_rgFrameToImageRover[0]); i++) {
const FrameToImageInfo_t* pFrameToImageInfo = &s_rgFrameToImageRover[i];
void APMAirframeComponentController::_factFrameChanged(QVariant value)
{
FrameId v = (FrameId) value.toInt();
for(int i = 0, size = _airframeTypesModel->count(); i < size; i++ ) {
APMAirframeType *airframeType = qobject_cast<APMAirframeType*>(_airframeTypesModel->get(i));
Q_ASSERT(airframeType);
if (airframeType->type() == v) {
_currentAirframeType = airframeType;
break;
if (pFrameToImageInfo->frameClass == frameClass) {
return pFrameToImageInfo->imageResource;
}
}
emit currentAirframeTypeChanged(_currentAirframeType);
return QStringLiteral("AirframeUnknown");
}
void APMAirframeComponentController::_fillAirFrames()
APMAirframeComponentController::APMAirframeComponentController(void)
: _frameClassFact (getParameterFact(FactSystem::defaultComponentId, QStringLiteral("FRAME_CLASS")))
, _frameTypeFact (getParameterFact(FactSystem::defaultComponentId, QStringLiteral("FRAME_TYPE"), false /* reportMissing */))
, _frameClassModel (new QmlObjectListModel(this))
{
for (int tindex = 0; tindex < APMAirframeComponentAirframes::get().count(); tindex++) {
const APMAirframeComponentAirframes::AirframeType_t* pType = APMAirframeComponentAirframes::get().values().at(tindex);
_fillFrameClasses();
}
APMAirframeType* airframeType = new APMAirframeType(pType->name, pType->imageResource, pType->type, this);
Q_CHECK_PTR(airframeType);
APMAirframeComponentController::~APMAirframeComponentController()
{
for (int index = 0; index < pType->rgAirframeInfo.count(); index++) {
const APMAirframe* pInfo = pType->rgAirframeInfo.at(index);
Q_CHECK_PTR(pInfo);
}
airframeType->addAirframe(pInfo->name(), pInfo->params(), pInfo->type());
void APMAirframeComponentController::_fillFrameClasses()
{
FirmwarePlugin* fwPlugin = _vehicle->firmwarePlugin();
if (qobject_cast<ArduCopterFirmwarePlugin*>(fwPlugin)) {
QList<int> frameTypeNotSupported;
frameTypeNotSupported << FRAME_CLASS_HELI
<< FRAME_CLASS_SINGLECOPTER
<< FRAME_CLASS_COAXCOPTER
<< FRAME_CLASS_BICOPTER
<< FRAME_CLASS_HELI_DUAL
<< FRAME_CLASS_HELIQUAD;
for (int i=1; i<_frameClassFact->enumStrings().count(); i++) {
QString frameClassName = _frameClassFact->enumStrings()[i];
int frameClass = _frameClassFact->enumValues()[i].toInt();
int defaultFrameType;
if (frameClass == FRAME_CLASS_HELI) {
// Heli requires it's own firmware variant. You can't switch to Heli from a Copter variant firmware.
continue;
}
if (frameTypeNotSupported.contains(frameClass)) {
defaultFrameType = -1;
} else {
defaultFrameType = FRAME_TYPE_X;
}
_frameClassModel->append(new APMFrameClass(frameClassName, true /* copter */, frameClass, _frameTypeFact, defaultFrameType, _frameClassModel));
}
} else if (qobject_cast<ArduRoverFirmwarePlugin*>(fwPlugin)) {
for (int i=1; i<_frameClassFact->enumStrings().count(); i++) {
QString frameClassName = _frameClassFact->enumStrings()[i];
int frameClass = _frameClassFact->enumValues()[i].toInt();
int defaultFrameType;
if (_frameTypeFact) {
defaultFrameType = FRAME_TYPE_UNDEFINED;
} else {
defaultFrameType = -1;
}
_frameClassModel->append(new APMFrameClass(frameClassName, false /* copter */, frameClass, _frameTypeFact, defaultFrameType, _frameClassModel));
}
_airframeTypesModel->append(airframeType);
}
emit loadAirframesCompleted();
}
void APMAirframeComponentController::_loadParametersFromDownloadFile(const QString& downloadedParamFile)
@ -120,86 +211,6 @@ void APMAirframeComponentController::_loadParametersFromDownloadFile(const QStri @@ -120,86 +211,6 @@ void APMAirframeComponentController::_loadParametersFromDownloadFile(const QStri
_vehicle->parameterManager()->refreshAllParameters();
}
APMAirframeType::APMAirframeType(const QString& name, const QString& imageResource, int type, QObject* parent) :
QObject(parent),
_name(name),
_imageResource(imageResource),
_type(type),
_dirty(false)
{
}
APMAirframeType::~APMAirframeType()
{
}
void APMAirframeType::addAirframe(const QString& name, const QString& file, int type)
{
APMAirframe* airframe = new APMAirframe(name, file, type);
Q_CHECK_PTR(airframe);
_airframes.append(QVariant::fromValue(airframe));
}
APMAirframe::APMAirframe(const QString& name, const QString& paramsFile, int type, QObject* parent) :
QObject(parent),
_name(name),
_paramsFile(paramsFile),
_type(type)
{
}
QString APMAirframe::name() const
{
return _name;
}
QString APMAirframe::params() const
{
return _paramsFile;
}
int APMAirframe::type() const
{
return _type;
}
APMAirframe::~APMAirframe()
{
}
QString APMAirframeType::imageResource() const
{
return _imageResource;
}
QString APMAirframeType::name() const
{
return _name;
}
int APMAirframeType::type() const
{
return _type;
}
APMAirframeType *APMAirframeComponentController::currentAirframeType() const
{
return _currentAirframeType;
}
QString APMAirframeComponentController::currentAirframeTypeName() const
{
return _vehicle->vehicleTypeName();
}
void APMAirframeComponentController::setCurrentAirframeType(APMAirframeType *t)
{
Fact *param = getParameterFact(-1, QStringLiteral("FRAME"));
Q_ASSERT(param);
param->setRawValue(t->type());
}
void APMAirframeComponentController::loadParameters(const QString& paramFile)
{
qgcApp()->setOverrideCursor(Qt::WaitCursor);
@ -258,3 +269,37 @@ void APMAirframeComponentController::_paramFileDownloadError(QString errorMsg) @@ -258,3 +269,37 @@ void APMAirframeComponentController::_paramFileDownloadError(QString errorMsg)
qgcApp()->showMessage(tr("Param file download failed: %1").arg(errorMsg));
qgcApp()->restoreOverrideCursor();
}
APMFrameClass::APMFrameClass(const QString& name, bool copter, int frameClass, Fact* frameTypeFact, int defaultFrameType, QObject* parent)
: QObject (parent)
, _name (name)
, _copter (copter)
, _frameClass (frameClass)
, _defaultFrameType (defaultFrameType)
, _frameTypeSupported (defaultFrameType != -1)
, _frameTypeFact (frameTypeFact)
{
if (frameTypeFact) {
connect(frameTypeFact, &Fact::rawValueChanged, this, &APMFrameClass::imageResourceChanged);
connect(frameTypeFact, &Fact::rawValueChanged, this, &APMFrameClass::frameTypeChanged);
}
}
APMFrameClass::~APMFrameClass()
{
}
QString APMFrameClass::imageResource(void)
{
QString imageResource;
int frameType = _frameTypeFact ? _frameTypeFact->rawValue().toInt() : -1;
if (_copter) {
imageResource = s_findImageResourceCopter(_frameClass, frameType);
} else {
imageResource = s_findImageResourceRover(_frameClass, frameType);
}
return QStringLiteral("/qmlimages/Airframe/%1").arg(imageResource);
}

101
src/AutoPilotPlugins/APM/APMAirframeComponentController.h

@ -7,12 +7,7 @@ @@ -7,12 +7,7 @@
*
****************************************************************************/
/// @file
/// @author Don Gagne <don@thegagnes.com>
#ifndef APMAirframeComponentController_H
#define APMAirframeComponentController_H
#pragma once
#include <QObject>
#include <QQuickItem>
@ -22,7 +17,6 @@ @@ -22,7 +17,6 @@
#include "UASInterface.h"
#include "AutoPilotPlugin.h"
#include "FactPanelController.h"
#include "APMAirframeComponentAirframes.h"
class APMAirframeModel;
class APMAirframeType;
@ -33,98 +27,57 @@ class APMAirframeComponentController : public FactPanelController @@ -33,98 +27,57 @@ class APMAirframeComponentController : public FactPanelController
Q_OBJECT
public:
enum FrameId{FRAME_TYPE_PLUS = 0,
FRAME_TYPE_X = 1,
FRAME_TYPE_V = 2,
FRAME_TYPE_H = 3,
FRAME_TYPE_NEWY6 = 10};
Q_ENUM(FrameId)
APMAirframeComponentController(void);
~APMAirframeComponentController();
Q_PROPERTY(QmlObjectListModel* airframeTypesModel MEMBER _airframeTypesModel CONSTANT)
Q_PROPERTY(APMAirframeType* currentAirframeType READ currentAirframeType WRITE setCurrentAirframeType NOTIFY currentAirframeTypeChanged)
Q_PROPERTY(QmlObjectListModel* frameClassModel MEMBER _frameClassModel CONSTANT)
Q_INVOKABLE void loadParameters(const QString& paramFile);
int currentAirframeIndex(void);
void setCurrentAirframeIndex(int newIndex);
signals:
void loadAirframesCompleted();
void currentAirframeTypeChanged(APMAirframeType* airframeType);
public slots:
APMAirframeType *currentAirframeType() const;
Q_INVOKABLE QString currentAirframeTypeName() const;
void setCurrentAirframeType(APMAirframeType *t);
private slots:
void _fillAirFrames(void);
void _factFrameChanged(QVariant v);
void _githubJsonDownloadFinished(QString remoteFile, QString localFile);
void _githubJsonDownloadError(QString errorMsg);
void _paramFileDownloadFinished(QString remoteFile, QString localFile);
void _paramFileDownloadError(QString errorMsg);
private:
void _fillFrameClasses(void);
void _loadParametersFromDownloadFile(const QString& downloadedParamFile);
APMAirframeType *_currentAirframeType;
QmlObjectListModel *_airframeTypesModel;
static bool _typesRegistered;
static const char* _oldFrameParam;
static const char* _newFrameParam;
Fact* _frameClassFact;
Fact* _frameTypeFact;
QmlObjectListModel* _frameClassModel;
};
class APMAirframe : public QObject
class APMFrameClass : public QObject
{
Q_OBJECT
public:
APMAirframe(const QString& name, const QString& paramsFile, int type, QObject* parent = NULL);
~APMAirframe();
APMFrameClass(const QString& name, bool copter, int frameClass, Fact* frameTypeFact, int defaultFrameType, QObject* parent = nullptr);
~APMFrameClass();
Q_PROPERTY(QString name MEMBER _name CONSTANT)
Q_PROPERTY(int type MEMBER _type CONSTANT)
Q_PROPERTY(QString params MEMBER _paramsFile CONSTANT)
QString name() const;
QString params() const;
int type() const;
Q_PROPERTY(QString name MEMBER _name CONSTANT)
Q_PROPERTY(int frameClass MEMBER _frameClass CONSTANT)
Q_PROPERTY(int frameType READ frameType NOTIFY frameTypeChanged)
Q_PROPERTY(int defaultFrameType MEMBER _defaultFrameType CONSTANT)
Q_PROPERTY(QString imageResource READ imageResource NOTIFY imageResourceChanged)
Q_PROPERTY(bool frameTypeSupported MEMBER _frameTypeSupported CONSTANT)
int frameType (void) { return _frameTypeFact->rawValue().toInt(); };
QString imageResource (void);
private:
QString _name;
QString _paramsFile;
int _type;
};
bool _copter;
QString _imageResource;
int _frameClass;
int _defaultFrameType;
bool _frameTypeSupported;
class APMAirframeType : public QObject
{
Q_OBJECT
public:
APMAirframeType(const QString& name, const QString& imageResource, int type, QObject* parent = NULL);
~APMAirframeType();
Q_PROPERTY(QString name MEMBER _name CONSTANT)
Q_PROPERTY(QString imageResource MEMBER _imageResource CONSTANT)
Q_PROPERTY(QVariantList airframes MEMBER _airframes CONSTANT)
Q_PROPERTY(int type MEMBER _type CONSTANT)
Q_PROPERTY(bool dirty MEMBER _dirty CONSTANT)
void addAirframe(const QString& name, const QString& paramsFile, int type);
signals:
void imageResourceChanged(void);
void frameTypeChanged();
QString name() const;
QString imageResource() const;
int type() const;
private:
QString _name;
QString _imageResource;
QVariantList _airframes;
int _type;
bool _dirty;
Fact* _frameTypeFact;
};
#endif

21
src/AutoPilotPlugins/APM/APMAirframeComponentSummary.qml

@ -7,39 +7,34 @@ import QGroundControl.Controls 1.0 @@ -7,39 +7,34 @@ import QGroundControl.Controls 1.0
import QGroundControl.Controllers 1.0
import QGroundControl.Palette 1.0
Item {
FactPanel {
id: panel
anchors.fill: parent
color: qgcPal.windowShadeDark
QGCPalette { id: qgcPal; colorGroupEnabled: enabled }
APMAirframeComponentController {
id: controller
factPanel: panel
}
property bool _frameAvailable: controller.parameterExists(-1, "FRAME")
property Fact _frame: controller.getParameterFact(-1, "FRAME", false)
property Fact _frameClass: controller.getParameterFact(-1, "FRAME_CLASS", false)
property Fact _frameClass: controller.getParameterFact(-1, "FRAME_CLASS")
property Fact _frameType: controller.getParameterFact(-1, "FRAME_TYPE", false)
property bool _frameTypeAvailable: controller.parameterExists(-1, "FRAME_TYPE")
Column {
anchors.fill: parent
VehicleSummaryRow {
labelText: qsTr("Frame Type")
valueText: visible ? controller.currentAirframeTypeName() + " " + _frame.enumStringValue : ""
visible: _frameAvailable
}
VehicleSummaryRow {
labelText: qsTr("Frame Class")
valueText: visible ? _frameClass.enumStringValue : ""
visible: !_frameAvailable
valueText: _frameClass.enumStringValue
}
VehicleSummaryRow {
labelText: qsTr("Frame Type")
valueText: visible ? _frameType.enumStringValue : ""
visible: !_frameAvailable
visible: _frameTypeAvailable
}
VehicleSummaryRow {

34
src/AutoPilotPlugins/APM/APMAirframeFactMetaData.xml

@ -1,34 +0,0 @@ @@ -1,34 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<airframes>
<version>1</version>
<airframe_group image="AirframeQuadRotorPlus.png" name="Plus Style: Quad, Hexa, Octo, Heli" id="0">
<airframe name="3DR Aero M" file="3DR_AERO_M.param"/>
<airframe name="3DR Aero RTF" file="3DR_Aero_RTF.param"/>
<airframe name="3DR Rover" file="3DR_Rover.param"/>
<airframe name="3DR Tarot" file="3DR_Tarot.bgsc"/>
<airframe name="Parrot Bebop" file="Parrot_Bebop.param"/>
<airframe name="Storm32" file="SToRM32-MAVLink.param"/>
</airframe_group>
<airframe_group image="AirframeQuadRotorX.png" name="X Style, Y6A Style: Quad, Hexa, Octo, X8, Tri, Y6A" id="1">
<airframe name="3DR X8-M RTF" file="3DR_X8-M_RTF.param"/>
<airframe name="3DR Y6A" file="3DR_Y6A_RTF.param"/>
<airframe name="3DR X8+ RTF" file="3DR_X8+_RTF.param"/>
<airframe name="3DR QUAD X4 RTF" file="3DR_QUAD_X4_RTF.param"/>
<airframe name="3DR X8" file="3DR_X8_RTF.param"/>
</airframe_group>
<airframe_group image="AirframeQuadRotorH.png" name="V (3DR Iris)" id="2">
<airframe name="Iris with GoPro" file="Iris with Front Mount Go Pro.param"/>
<airframe name="Iris with Tarot" file="Iris with Tarot Gimbal.param"/>
<airframe name="3DR Iris+" file="3DR_Iris+.param"/>
<airframe name="Iris" file="Iris.param"/>
</airframe_group>
<airframe_group image="AirframeQuadRotorH.png" name="V Tail" id="4">
</airframe_group>
<airframe_group image="AirframeQuadRotorH.png" name="A Tail" id="5">
</airframe_group>
<airframe_group name="H: X and H differ in prop rotation" id="3">
</airframe_group>
<airframe_group name="Y6B Frame (3DR TriCopter): Y6B and Y6A differ in prop rotation" id="10">
<airframe name="3DR Y6B" file="3DR_Y6B_RTF.param"/>
</airframe_group>
<airframes>

87
src/AutoPilotPlugins/APM/APMAirframeLoader.cc

@ -1,87 +0,0 @@ @@ -1,87 +0,0 @@
/****************************************************************************
*
* (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
****************************************************************************/
/// @file
/// @author Don Gagne <don@thegagnes.com>
#include "APMAirframeLoader.h"
#include "QGCApplication.h"
#include "QGCLoggingCategory.h"
#include "APMAirframeComponentAirframes.h"
#include <QFile>
#include <QFileInfo>
#include <QDir>
#include <QDebug>
QGC_LOGGING_CATEGORY(APMAirframeLoaderLog, "APMAirframeLoaderLog")
bool APMAirframeLoader::_airframeMetaDataLoaded = false;
APMAirframeLoader::APMAirframeLoader(AutoPilotPlugin* autopilot, UASInterface* uas, QObject* parent)
{
Q_UNUSED(autopilot);
Q_UNUSED(uas);
Q_UNUSED(parent);
Q_ASSERT(uas);
}
/// Load Airframe Fact meta data
void APMAirframeLoader::loadAirframeFactMetaData(void)
{
if (_airframeMetaDataLoaded) {
return;
}
qCDebug(APMAirframeLoaderLog) << "Loading APM airframe fact meta data";
Q_ASSERT(APMAirframeComponentAirframes::get().count() == 0);
QString airframeFilename(QStringLiteral(":/AutoPilotPlugins/APM/APMAirframeFactMetaData.xml"));
qCDebug(APMAirframeLoaderLog) << "Loading meta data file:" << airframeFilename;
QFile xmlFile(airframeFilename);
Q_ASSERT(xmlFile.exists());
bool success = xmlFile.open(QIODevice::ReadOnly);
Q_UNUSED(success);
Q_ASSERT(success);
QXmlStreamReader xml(xmlFile.readAll());
xmlFile.close();
if (xml.hasError()) {
qCWarning(APMAirframeLoaderLog) << "Badly formed XML" << xml.errorString();
return;
}
QString airframeGroup;
QString image;
int groupId = 0;
while (!xml.atEnd()) {
if (xml.isStartElement()) {
QString elementName = xml.name().toString();
QXmlStreamAttributes attr = xml.attributes();
if (elementName == QLatin1Literal("airframe_group")) {
airframeGroup = attr.value(QStringLiteral("name")).toString();
image = attr.value(QStringLiteral("image")).toString();
groupId = attr.value(QStringLiteral("id")).toInt();
APMAirframeComponentAirframes::insert(airframeGroup, groupId, image);
} else if (elementName == QLatin1Literal("airframe")) {
QString name = attr.value(QStringLiteral("name")).toString();
QString file = attr.value(QStringLiteral("file")).toString();
APMAirframeComponentAirframes::insert(airframeGroup, groupId, image, name, file);
}
}
xml.readNext();
}
_airframeMetaDataLoaded = true;
}

46
src/AutoPilotPlugins/APM/APMAirframeLoader.h

@ -1,46 +0,0 @@ @@ -1,46 +0,0 @@
/****************************************************************************
*
* (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
*
* QGroundControl is licensed according to the terms in the file
* COPYING.md in the root of the source code directory.
*
****************************************************************************/
#ifndef APMAirframeLoader_H
#define APMAirframeLoader_H
#include <QObject>
#include <QMap>
#include <QXmlStreamReader>
#include <QLoggingCategory>
#include "ParameterManager.h"
#include "FactSystem.h"
#include "UASInterface.h"
#include "AutoPilotPlugin.h"
/// @file APMAirframeLoader.h
/// @author Lorenz Meier <lm@qgroundcontrol.org>
Q_DECLARE_LOGGING_CATEGORY(APMAirframeLoaderLog)
/// Collection of Parameter Facts for PX4 AutoPilot
class APMAirframeLoader : QObject
{
Q_OBJECT
public:
/// @param uas Uas which this set of facts is associated with
APMAirframeLoader(AutoPilotPlugin* autpilot,UASInterface* uas, QObject* parent = NULL);
static void loadAirframeFactMetaData(void);
private:
static bool _airframeMetaDataLoaded; ///< true: parameter meta data already loaded
static QMap<QString, FactMetaData*> _mapParameterName2FactMetaData; ///< Maps from a parameter name to FactMetaData
};
#endif // APMAirframeLoader_H

6
src/AutoPilotPlugins/APM/APMAutoPilotPlugin.cc

@ -15,8 +15,6 @@ @@ -15,8 +15,6 @@
#include "FirmwarePlugin/APM/ArduCopterFirmwarePlugin.h"
#include "VehicleComponent.h"
#include "APMAirframeComponent.h"
#include "APMAirframeComponentAirframes.h"
#include "APMAirframeLoader.h"
#include "APMFlightModesComponent.h"
#include "APMRadioComponent.h"
#include "APMSafetyComponent.h"
@ -30,6 +28,7 @@ @@ -30,6 +28,7 @@
#include "ESP8266Component.h"
#include "APMHeliComponent.h"
#include "QGCApplication.h"
#include "ParameterManager.h"
#if !defined(NO_SERIAL_LINK) && !defined(__android__)
#include <QSerialPortInfo>
@ -50,12 +49,9 @@ APMAutoPilotPlugin::APMAutoPilotPlugin(Vehicle* vehicle, QObject* parent) @@ -50,12 +49,9 @@ APMAutoPilotPlugin::APMAutoPilotPlugin(Vehicle* vehicle, QObject* parent)
, _safetyComponent (NULL)
, _sensorsComponent (NULL)
, _tuningComponent (NULL)
, _airframeFacts (new APMAirframeLoader(this, vehicle->uas(), this))
, _esp8266Component (NULL)
, _heliComponent (NULL)
{
APMAirframeLoader::loadAirframeFactMetaData();
#if !defined(NO_SERIAL_LINK) && !defined(__android__)
connect(vehicle->parameterManager(), &ParameterManager::parametersReadyChanged, this, &APMAutoPilotPlugin::_checkForBadCubeBlack);
#endif

2
src/AutoPilotPlugins/APM/APMAutoPilotPlugin.h

@ -15,7 +15,6 @@ @@ -15,7 +15,6 @@
#include "Vehicle.h"
class APMAirframeComponent;
class APMAirframeLoader;
class APMFlightModesComponent;
class APMRadioComponent;
class APMTuningComponent;
@ -55,7 +54,6 @@ protected: @@ -55,7 +54,6 @@ protected:
APMSafetyComponent* _safetyComponent;
APMSensorsComponent* _sensorsComponent;
APMTuningComponent* _tuningComponent;
APMAirframeLoader* _airframeFacts;
ESP8266Component* _esp8266Component;
APMHeliComponent* _heliComponent;

28
src/AutoPilotPlugins/APM/APMCameraComponent.qml

@ -55,16 +55,16 @@ SetupPage { @@ -55,16 +55,16 @@ SetupPage {
property Fact _mountAngMinPan: controller.getParameterFact(-1, "MNT_ANGMIN_PAN")
property Fact _mountAngMaxPan: controller.getParameterFact(-1, "MNT_ANGMAX_PAN")
property Fact _rc5Function: controller.getParameterFact(-1, "r.SERVO5_FUNCTION")
property Fact _rc6Function: controller.getParameterFact(-1, "r.SERVO6_FUNCTION")
property Fact _rc7Function: controller.getParameterFact(-1, "r.SERVO7_FUNCTION")
property Fact _rc8Function: controller.getParameterFact(-1, "r.SERVO8_FUNCTION")
property Fact _rc9Function: controller.getParameterFact(-1, "r.SERVO9_FUNCTION")
property Fact _rc10Function: controller.getParameterFact(-1, "r.SERVO10_FUNCTION")
property Fact _rc11Function: controller.getParameterFact(-1, "r.SERVO11_FUNCTION")
property Fact _rc12Function: controller.getParameterFact(-1, "r.SERVO12_FUNCTION")
property Fact _rc13Function: controller.getParameterFact(-1, "r.SERVO13_FUNCTION")
property Fact _rc14Function: controller.getParameterFact(-1, "r.SERVO14_FUNCTION")
property Fact _rc5Function: controller.getParameterFact(-1, "SERVO5_FUNCTION")
property Fact _rc6Function: controller.getParameterFact(-1, "SERVO6_FUNCTION")
property Fact _rc7Function: controller.getParameterFact(-1, "SERVO7_FUNCTION")
property Fact _rc8Function: controller.getParameterFact(-1, "SERVO8_FUNCTION")
property Fact _rc9Function: controller.getParameterFact(-1, "SERVO9_FUNCTION")
property Fact _rc10Function: controller.getParameterFact(-1, "SERVO10_FUNCTION")
property Fact _rc11Function: controller.getParameterFact(-1, "SERVO11_FUNCTION")
property Fact _rc12Function: controller.getParameterFact(-1, "SERVO12_FUNCTION")
property Fact _rc13Function: controller.getParameterFact(-1, "SERVO13_FUNCTION")
property Fact _rc14Function: controller.getParameterFact(-1, "SERVO14_FUNCTION")
property bool _tiltEnabled: false
property bool _panEnabled: false
@ -92,7 +92,7 @@ SetupPage { @@ -92,7 +92,7 @@ SetupPage {
}
function setGimbalSettingsServoInfo(loader, channel) {
var rcPrefix = "r.SERVO" + channel + "_"
var rcPrefix = "SERVO" + channel + "_"
loader.gimbalOutIndex = channel - 4
loader.servoPWMMinFact = controller.getParameterFact(-1, rcPrefix + "MIN")
@ -110,7 +110,7 @@ SetupPage { @@ -110,7 +110,7 @@ SetupPage {
_panEnabled = false
_rollEnabled = false
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) {
_tiltEnabled = true
setGimbalSettingsServoInfo(gimbalDirectionTiltLoader, channel)
@ -127,7 +127,7 @@ SetupPage { @@ -127,7 +127,7 @@ SetupPage {
function setRCFunction(channel, rcFunction) {
// First clear any previous settings for this function
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) {
functionFact.value = _rcFunctionDisabled
}
@ -135,7 +135,7 @@ SetupPage { @@ -135,7 +135,7 @@ SetupPage {
// Now set the function into the new channel
if (channel != 0) {
var functionFact = controller.getParameterFact(-1, "r.SERVO" + channel + "_FUNCTION")
var functionFact = controller.getParameterFact(-1, "SERVO" + channel + "_FUNCTION")
functionFact.value = rcFunction
}
}

31
src/AutoPilotPlugins/APM/APMLightsComponent.qml

@ -29,21 +29,22 @@ SetupPage { @@ -29,21 +29,22 @@ SetupPage {
spacing: _margins
width: availableWidth
FactPanelController { id: controller; }
FactPanelController { id: controller; factPanel: lightsPage.viewPanel }
QGCPalette { id: palette; colorGroupEnabled: true }
property bool _oldFW: activeVehicle.versionCompare(3, 5, 2) < 0
property Fact _rc5Function: controller.getParameterFact(-1, "r.SERVO5_FUNCTION")
property Fact _rc6Function: controller.getParameterFact(-1, "r.SERVO6_FUNCTION")
property Fact _rc7Function: controller.getParameterFact(-1, "r.SERVO7_FUNCTION")
property Fact _rc8Function: controller.getParameterFact(-1, "r.SERVO8_FUNCTION")
property Fact _rc9Function: controller.getParameterFact(-1, "r.SERVO9_FUNCTION")
property Fact _rc10Function: controller.getParameterFact(-1, "r.SERVO10_FUNCTION")
property Fact _rc11Function: controller.getParameterFact(-1, "r.SERVO11_FUNCTION")
property Fact _rc12Function: controller.getParameterFact(-1, "r.SERVO12_FUNCTION")
property Fact _rc13Function: controller.getParameterFact(-1, "r.SERVO13_FUNCTION")
property Fact _rc14Function: controller.getParameterFact(-1, "r.SERVO14_FUNCTION")
property var _activeVehicle: QGroundControl.multiVehicleManager.activeVehicle
property bool _oldFW: _activeVehicle.versionCompare(3, 5, 2) < 0
property Fact _rc5Function: controller.getParameterFact(-1, "SERVO5_FUNCTION")
property Fact _rc6Function: controller.getParameterFact(-1, "SERVO6_FUNCTION")
property Fact _rc7Function: controller.getParameterFact(-1, "SERVO7_FUNCTION")
property Fact _rc8Function: controller.getParameterFact(-1, "SERVO8_FUNCTION")
property Fact _rc9Function: controller.getParameterFact(-1, "SERVO9_FUNCTION")
property Fact _rc10Function: controller.getParameterFact(-1, "SERVO10_FUNCTION")
property Fact _rc11Function: controller.getParameterFact(-1, "SERVO11_FUNCTION")
property Fact _rc12Function: controller.getParameterFact(-1, "SERVO12_FUNCTION")
property Fact _rc13Function: controller.getParameterFact(-1, "SERVO13_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 _numSteps: _oldFW ? null : controller.getParameterFact(-1, "JS_LIGHTS_STEPS") // v3.5.2 and up
@ -65,7 +66,7 @@ SetupPage { @@ -65,7 +66,7 @@ SetupPage {
lightsLoader.lights1OutIndex = 0
lightsLoader.lights2OutIndex = 0
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) {
lightsLoader.lights1OutIndex = channel - 4
} else if (functionFact.value == _rcFunctionRCIN10) {
@ -77,7 +78,7 @@ SetupPage { @@ -77,7 +78,7 @@ SetupPage {
function setRCFunction(channel, rcFunction) {
// First clear any previous settings for this function
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) {
functionFact.value = _rcFunctionDisabled
}
@ -85,7 +86,7 @@ SetupPage { @@ -85,7 +86,7 @@ SetupPage {
// Now set the function into the new channel
if (channel != 0) {
var functionFact = controller.getParameterFact(-1, "r.SERVO" + channel + "_FUNCTION")
var functionFact = controller.getParameterFact(-1, "SERVO" + channel + "_FUNCTION")
functionFact.value = rcFunction
}
}

22
src/AutoPilotPlugins/APM/APMLightsComponentSummary.qml

@ -11,16 +11,16 @@ Item { @@ -11,16 +11,16 @@ Item {
FactPanelController { id: controller; }
property Fact _rc5Function: controller.getParameterFact(-1, "r.SERVO5_FUNCTION")
property Fact _rc6Function: controller.getParameterFact(-1, "r.SERVO6_FUNCTION")
property Fact _rc7Function: controller.getParameterFact(-1, "r.SERVO7_FUNCTION")
property Fact _rc8Function: controller.getParameterFact(-1, "r.SERVO8_FUNCTION")
property Fact _rc9Function: controller.getParameterFact(-1, "r.SERVO9_FUNCTION")
property Fact _rc10Function: controller.getParameterFact(-1, "r.SERVO10_FUNCTION")
property Fact _rc11Function: controller.getParameterFact(-1, "r.SERVO11_FUNCTION")
property Fact _rc12Function: controller.getParameterFact(-1, "r.SERVO12_FUNCTION")
property Fact _rc13Function: controller.getParameterFact(-1, "r.SERVO13_FUNCTION")
property Fact _rc14Function: controller.getParameterFact(-1, "r.SERVO14_FUNCTION")
property Fact _rc5Function: controller.getParameterFact(-1, "SERVO5_FUNCTION")
property Fact _rc6Function: controller.getParameterFact(-1, "SERVO6_FUNCTION")
property Fact _rc7Function: controller.getParameterFact(-1, "SERVO7_FUNCTION")
property Fact _rc8Function: controller.getParameterFact(-1, "SERVO8_FUNCTION")
property Fact _rc9Function: controller.getParameterFact(-1, "SERVO9_FUNCTION")
property Fact _rc10Function: controller.getParameterFact(-1, "SERVO10_FUNCTION")
property Fact _rc11Function: controller.getParameterFact(-1, "SERVO11_FUNCTION")
property Fact _rc12Function: controller.getParameterFact(-1, "SERVO12_FUNCTION")
property Fact _rc13Function: controller.getParameterFact(-1, "SERVO13_FUNCTION")
property Fact _rc14Function: controller.getParameterFact(-1, "SERVO14_FUNCTION")
readonly property int _rcFunctionRCIN9: 59
readonly property int _rcFunctionRCIN10: 60
@ -37,7 +37,7 @@ Item { @@ -37,7 +37,7 @@ Item {
lightsLoader.lights1OutIndex = 0
lightsLoader.lights2OutIndex = 0
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) {
lightsLoader.lights1OutIndex = channel - 4
} else if (functionFact.value == _rcFunctionRCIN10) {

544
src/AutoPilotPlugins/APM/APMTuningComponentCopter.qml

@ -10,6 +10,7 @@ @@ -10,6 +10,7 @@
import QtQuick 2.3
import QtQuick.Controls 1.2
import QtQuick.Layouts 1.2
import QGroundControl.FactSystem 1.0
import QGroundControl.FactControls 1.0
@ -25,21 +26,20 @@ SetupPage { @@ -25,21 +26,20 @@ SetupPage {
id: tuningPageComponent
Column {
width: availableWidth
spacing: _margins
width: availableWidth
QGCPalette { id: palette; colorGroupEnabled: true }
property bool _rcFeelAvailable: controller.parameterExists(-1, "RC_FEEL")
property bool _atcInputTCAvailable: controller.parameterExists(-1, "ATC_INPUT_TC")
property Fact _rcFeel: controller.getParameterFact(-1, "RC_FEEL", false)
property Fact _atcInputTC: controller.getParameterFact(-1, "ATC_INPUT_TC", false)
property Fact _rateRollP: controller.getParameterFact(-1, "r.ATC_RAT_RLL_P")
property Fact _rateRollI: controller.getParameterFact(-1, "r.ATC_RAT_RLL_I")
property Fact _ratePitchP: controller.getParameterFact(-1, "r.ATC_RAT_PIT_P")
property Fact _ratePitchI: controller.getParameterFact(-1, "r.ATC_RAT_PIT_I")
property Fact _rateClimbP: controller.getParameterFact(-1, "r.PSC_ACCZ_P")
property Fact _rateClimbI: controller.getParameterFact(-1, "r.PSC_ACCZ_I")
property Fact _rateRollP: controller.getParameterFact(-1, "ATC_RAT_RLL_P")
property Fact _rateRollI: controller.getParameterFact(-1, "ATC_RAT_RLL_I")
property Fact _ratePitchP: controller.getParameterFact(-1, "ATC_RAT_PIT_P")
property Fact _ratePitchI: controller.getParameterFact(-1, "ATC_RAT_PIT_I")
property Fact _rateClimbP: controller.getParameterFact(-1, "PSC_ACCZ_P")
property Fact _rateClimbI: controller.getParameterFact(-1, "PSC_ACCZ_I")
property Fact _motSpinArm: controller.getParameterFact(-1, "MOT_SPIN_ARM")
property Fact _motSpinMin: controller.getParameterFact(-1, "MOT_SPIN_MIN")
property Fact _ch7Opt: controller.getParameterFact(-1, "r.RC7_OPTION")
property Fact _ch8Opt: controller.getParameterFact(-1, "r.RC8_OPTION")
@ -64,6 +64,7 @@ SetupPage { @@ -64,6 +64,7 @@ SetupPage {
ExclusiveGroup { id: returnAltRadioGroup }
Component.onCompleted: {
showAdvanced = !ScreenTools.isMobile
// Qml Sliders have a strange behavior in which they first set Slider::value to some internal
// setting and then set Slider::value to the bound properties value. If you have an onValueChanged
// handler which updates your property with the new value, this first value change will trash
@ -71,9 +72,6 @@ SetupPage { @@ -71,9 +72,6 @@ SetupPage {
// after Qml load is done. We also don't track value changes until Qml load completes.
rollPitch.value = _rateRollP.value
climb.value = _rateClimbP.value
if (_rcFeelAvailable) {
rcFeel.value = _rcFeel.value
}
if (_atcInputTCAvailable) {
atcInputTC.value = _atcInputTC.value
}
@ -119,297 +117,365 @@ SetupPage { @@ -119,297 +117,365 @@ SetupPage {
Connections { target: _ch11Opt; onValueChanged: calcAutoTuneChannel() }
Connections { target: _ch12Opt; onValueChanged: calcAutoTuneChannel() }
QGCLabel {
id: basicLabel
text: qsTr("Basic Tuning")
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
id: basicTuningRect
Column {
anchors.left: parent.left
anchors.right: parent.right
height: basicTuningColumn.y + basicTuningColumn.height + _margins
color: palette.windowShade
spacing: _margins
visible: !advanced
Column {
id: basicTuningColumn
anchors.margins: _margins
QGCLabel {
text: qsTr("Basic Tuning")
font.family: ScreenTools.demiboldFontFamily
}
Rectangle {
id: basicTuningRect
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
spacing: _margins
height: basicTuningColumn.y + basicTuningColumn.height + _margins
color: palette.windowShade
Column {
anchors.left: parent.left
anchors.right: parent.right
id: basicTuningColumn
anchors.margins: _margins
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
spacing: _margins
QGCLabel {
text: qsTr("Roll/Pitch Sensitivity")
font.family: ScreenTools.demiboldFontFamily
}
QGCLabel {
text: qsTr("Slide to the right if the copter is sluggish or slide to the left if the copter is twitchy")
}
Slider {
id: rollPitch
Column {
anchors.left: parent.left
anchors.right: parent.right
minimumValue: 0.08
maximumValue: 0.4
stepSize: 0.01
tickmarksEnabled: true
onValueChanged: {
if (_loadComplete) {
_rateRollP.value = value
_rateRollI.value = value
_ratePitchP.value = value
_ratePitchI.value = value
}
}
}
}
Column {
anchors.left: parent.left
anchors.right: parent.right
QGCLabel {
text: qsTr("Roll/Pitch Sensitivity")
font.family: ScreenTools.demiboldFontFamily
}
QGCLabel {
text: qsTr("Climb Sensitivity")
font.family: ScreenTools.demiboldFontFamily
}
QGCLabel {
text: qsTr("Slide to the right if the copter is sluggish or slide to the left if the copter is twitchy")
}
QGCLabel {
text: qsTr("Slide to the right to climb more aggressively or slide to the left to climb more gently")
Slider {
id: rollPitch
anchors.left: parent.left
anchors.right: parent.right
minimumValue: 0.08
maximumValue: 0.4
stepSize: 0.01
tickmarksEnabled: true
onValueChanged: {
if (_loadComplete) {
_rateRollP.value = value
_rateRollI.value = value
_ratePitchP.value = value
_ratePitchI.value = value
}
}
}
}
Slider {
id: climb
Column {
anchors.left: parent.left
anchors.right: parent.right
minimumValue: 0.3
maximumValue: 1.0
stepSize: 0.02
tickmarksEnabled: true
value: _rateClimbP.value
onValueChanged: {
if (_loadComplete) {
_rateClimbP.value = value
_rateClimbI.value = value * 2
}
}
}
}
Column {
anchors.left: parent.left
anchors.right: parent.right
visible: _rcFeelAvailable
QGCLabel {
text: qsTr("Climb Sensitivity")
font.family: ScreenTools.demiboldFontFamily
}
QGCLabel {
text: qsTr("RC Roll/Pitch Feel")
font.family: ScreenTools.demiboldFontFamily
}
QGCLabel {
text: qsTr("Slide to the right to climb more aggressively or slide to the left to climb more gently")
}
QGCLabel {
text: qsTr("Slide to the left for soft control, slide to the right for crisp control")
Slider {
id: climb
anchors.left: parent.left
anchors.right: parent.right
minimumValue: 0.3
maximumValue: 1.0
stepSize: 0.02
tickmarksEnabled: true
value: _rateClimbP.value
onValueChanged: {
if (_loadComplete) {
_rateClimbP.value = value
_rateClimbI.value = value * 2
}
}
}
}
Slider {
id: rcFeel
Column {
anchors.left: parent.left
anchors.right: parent.right
minimumValue: 0
maximumValue: 100
stepSize: 5.0
tickmarksEnabled: true
onValueChanged: {
if (_loadComplete) {
_rcFeel.value = value
visible: _atcInputTCAvailable
QGCLabel {
text: qsTr("RC Roll/Pitch Feel")
font.family: ScreenTools.demiboldFontFamily
}
QGCLabel {
text: qsTr("Slide to the left for soft control, slide to the right for crisp control")
}
Slider {
id: atcInputTC
anchors.left: parent.left
anchors.right: parent.right
minimumValue: _atcInputTC.min
maximumValue: _atcInputTC.max
stepSize: _atcInputTC.increment
tickmarksEnabled: true
onValueChanged: {
if (_loadComplete) {
_atcInputTC.value = value
}
}
}
}
}
Column {
anchors.left: parent.left
anchors.right: parent.right
visible: _atcInputTCAvailable
Column {
anchors.left: parent.left
anchors.right: parent.right
QGCLabel {
text: qsTr("RC Roll/Pitch Feel")
font.family: ScreenTools.demiboldFontFamily
}
QGCLabel {
text: qsTr("Spin While Armed")
font.family: ScreenTools.demiboldFontFamily
}
QGCLabel {
text: qsTr("Slide to the left for soft control, slide to the right for crisp control")
QGCLabel {
text: qsTr("Adjust the amount the motors spin to indicate armed")
}
Slider {
anchors.left: parent.left
anchors.right: parent.right
minimumValue: 0
maximumValue: Math.max(0.3, _motSpinArm.rawValue)
stepSize: 0.01
tickmarksEnabled: true
value: _motSpinArm.rawValue
onValueChanged: {
if (_loadComplete) {
_motSpinArm.rawValue = value
}
}
}
}
Slider {
id: atcInputTC
Column {
anchors.left: parent.left
anchors.right: parent.right
minimumValue: _atcInputTC.min
maximumValue: _atcInputTC.max
stepSize: _atcInputTC.increment
tickmarksEnabled: true
onValueChanged: {
if (_loadComplete) {
_atcInputTC.value = value
QGCLabel {
text: qsTr("Minimum Thrust")
font.family: ScreenTools.demiboldFontFamily
}
QGCLabel {
text: qsTr("Adjust the minimum amount of thrust require for the vehicle to move")
}
QGCLabel {
text: qsTr("Warning: This setting should be higher than 'Spin While Armed'")
color: palette.warningText
visible: _motSpinMin.rawValue < _motSpinArm.rawValue
}
Slider {
anchors.left: parent.left
anchors.right: parent.right
minimumValue: 0
maximumValue: Math.max(0.3, _motSpinMin.rawValue)
stepSize: 0.01
tickmarksEnabled: true
value: _motSpinMin.rawValue
onValueChanged: {
if (_loadComplete) {
_motSpinMin.rawValue = value
}
}
}
}
}
}
} // Rectangle - Basic tuning
} // Rectangle - Basic tuning
Flow {
id: flowLayout
anchors.left: parent.left
anchors.right: parent.right
spacing: _margins
Rectangle {
height: autoTuneLabel.height + autoTuneRect.height
width: autoTuneRect.width
color: palette.window
QGCLabel {
id: autoTuneLabel
text: qsTr("AutoTune")
font.family: ScreenTools.demiboldFontFamily
}
Flow {
id: flowLayout
Layout.fillWidth: true
spacing: _margins
Rectangle {
id: autoTuneRect
width: autoTuneColumn.x + autoTuneColumn.width + _margins
height: autoTuneColumn.y + autoTuneColumn.height + _margins
anchors.top: autoTuneLabel.bottom
color: palette.windowShade
Column {
id: autoTuneColumn
anchors.margins: _margins
anchors.left: parent.left
anchors.top: parent.top
spacing: _margins
height: autoTuneLabel.height + autoTuneRect.height
width: autoTuneRect.width
color: palette.window
Row {
spacing: _margins
QGCLabel {
id: autoTuneLabel
text: qsTr("AutoTune")
font.family: ScreenTools.demiboldFontFamily
}
QGCLabel { text: qsTr("Axes to AutoTune:") }
FactBitmask { fact: _autoTuneAxes }
}
Rectangle {
id: autoTuneRect
width: autoTuneColumn.x + autoTuneColumn.width + _margins
height: autoTuneColumn.y + autoTuneColumn.height + _margins
anchors.top: autoTuneLabel.bottom
color: palette.windowShade
Column {
id: autoTuneColumn
anchors.margins: _margins
anchors.left: parent.left
anchors.top: parent.top
spacing: _margins
Row {
spacing: _margins
QGCLabel { text: qsTr("Axes to AutoTune:") }
FactBitmask { fact: _autoTuneAxes }
}
Row {
spacing: _margins
Row {
spacing: _margins
QGCLabel {
anchors.baseline: autoTuneChannelCombo.baseline
text: qsTr("Channel for AutoTune switch:")
}
QGCLabel {
anchors.baseline: autoTuneChannelCombo.baseline
text: qsTr("Channel for AutoTune switch:")
}
QGCComboBox {
id: autoTuneChannelCombo
width: ScreenTools.defaultFontPixelWidth * 14
model: [qsTr("None"), qsTr("Channel 7"), qsTr("Channel 8"), qsTr("Channel 9"), qsTr("Channel 10"), qsTr("Channel 11"), qsTr("Channel 12") ]
currentIndex: _autoTuneSwitchChannelIndex
QGCComboBox {
id: autoTuneChannelCombo
width: ScreenTools.defaultFontPixelWidth * 14
model: [qsTr("None"), qsTr("Channel 7"), qsTr("Channel 8"), qsTr("Channel 9"), qsTr("Channel 10"), qsTr("Channel 11"), qsTr("Channel 12") ]
currentIndex: _autoTuneSwitchChannelIndex
onActivated: {
var channel = index
onActivated: {
var channel = index
if (channel > 0) {
channel += 6
if (channel > 0) {
channel += 6
}
setChannelAutoTuneOption(channel)
}
setChannelAutoTuneOption(channel)
}
}
}
}
} // Rectangle - AutoTune
} // Rectangle - AutoTuneWrap
Rectangle {
height: inFlightTuneLabel.height + channel6TuningOption.height
width: channel6TuningOption.width
color: palette.window
QGCLabel {
id: inFlightTuneLabel
text: qsTr("In Flight Tuning")
font.family: ScreenTools.demiboldFontFamily
}
} // Rectangle - AutoTune
} // Rectangle - AutoTuneWrap
Rectangle {
id: channel6TuningOption
width: channel6TuningOptColumn.width + (_margins * 2)
height: channel6TuningOptColumn.height + ScreenTools.defaultFontPixelHeight
anchors.top: inFlightTuneLabel.bottom
color: qgcPal.windowShade
height: inFlightTuneLabel.height + channel6TuningOption.height
width: channel6TuningOption.width
color: palette.window
Column {
id: channel6TuningOptColumn
anchors.margins: ScreenTools.defaultFontPixelWidth
anchors.left: parent.left
anchors.top: parent.top
spacing: ScreenTools.defaultFontPixelHeight
QGCLabel {
id: inFlightTuneLabel
text: qsTr("In Flight Tuning")
font.family: ScreenTools.demiboldFontFamily
}
Row {
spacing: ScreenTools.defaultFontPixelWidth
property Fact nullFact: Fact { }
Rectangle {
id: channel6TuningOption
width: channel6TuningOptColumn.width + (_margins * 2)
height: channel6TuningOptColumn.height + ScreenTools.defaultFontPixelHeight
anchors.top: inFlightTuneLabel.bottom
color: qgcPal.windowShade
Column {
id: channel6TuningOptColumn
anchors.margins: ScreenTools.defaultFontPixelWidth
anchors.left: parent.left
anchors.top: parent.top
spacing: ScreenTools.defaultFontPixelHeight
Row {
spacing: ScreenTools.defaultFontPixelWidth
property Fact nullFact: Fact { }
QGCLabel {
anchors.baseline: optCombo.baseline
text: qsTr("RC Channel 6 Option (Tuning):")
//color: controller.channelOptionEnabled[modelData] ? "yellow" : qgcPal.text
}
QGCLabel {
anchors.baseline: optCombo.baseline
text: qsTr("RC Channel 6 Option (Tuning):")
//color: controller.channelOptionEnabled[modelData] ? "yellow" : qgcPal.text
FactComboBox {
id: optCombo
width: ScreenTools.defaultFontPixelWidth * 15
fact: controller.getParameterFact(-1, "TUNE")
indexModel: false
}
}
FactComboBox {
id: optCombo
width: ScreenTools.defaultFontPixelWidth * 15
fact: controller.getParameterFact(-1, "TUNE")
indexModel: false
}
}
Row {
spacing: ScreenTools.defaultFontPixelWidth
property Fact nullFact: Fact { }
Row {
spacing: ScreenTools.defaultFontPixelWidth
property Fact nullFact: Fact { }
QGCLabel {
anchors.baseline: tuneMinField.baseline
text: qsTr("Min:")
//color: controller.channelOptionEnabled[modelData] ? "yellow" : qgcPal.text
}
QGCLabel {
anchors.baseline: tuneMinField.baseline
text: qsTr("Min:")
//color: controller.channelOptionEnabled[modelData] ? "yellow" : qgcPal.text
}
FactTextField {
id: tuneMinField
validator: DoubleValidator {bottom: 0; top: 32767;}
fact: controller.getParameterFact(-1, "TUNE_LOW")
}
FactTextField {
id: tuneMinField
validator: DoubleValidator {bottom: 0; top: 32767;}
fact: controller.getParameterFact(-1, "TUNE_LOW")
}
QGCLabel {
anchors.baseline: tuneMaxField.baseline
text: qsTr("Max:")
//color: controller.channelOptionEnabled[modelData] ? "yellow" : qgcPal.text
}
QGCLabel {
anchors.baseline: tuneMaxField.baseline
text: qsTr("Max:")
//color: controller.channelOptionEnabled[modelData] ? "yellow" : qgcPal.text
FactTextField {
id: tuneMaxField
validator: DoubleValidator {bottom: 0; top: 32767;}
fact: controller.getParameterFact(-1, "TUNE_HIGH")
}
}
} // Column - Channel 6 Tuning option
} // Rectangle - Channel 6 Tuning options
} // Rectangle - Channel 6 Tuning options wrap
} // Flow - Tune
}
FactTextField {
id: tuneMaxField
validator: DoubleValidator {bottom: 0; top: 32767;}
fact: controller.getParameterFact(-1, "TUNE_HIGH")
}
}
} // Column - Channel 6 Tuning option
} // Rectangle - Channel 6 Tuning options
} // Rectangle - Channel 6 Tuning options wrap
} // Flow - Tune
Loader {
anchors.left: parent.left
anchors.right: parent.right
sourceComponent: advanced ? advancePageComponent : undefined
}
Component {
id: advancePageComponent
PIDTuning {
anchors.left: parent.left
anchors.right: parent.right
tuneList: [ qsTr("Roll"), qsTr("Pitch"), qsTr("Yaw") ]
params: [
[ controller.getParameterFact(-1, "ATC_ANG_RLL_P"),
controller.getParameterFact(-1, "ATC_RAT_RLL_P"),
controller.getParameterFact(-1, "ATC_RAT_RLL_I"),
controller.getParameterFact(-1, "ATC_RAT_RLL_D") ],
[ controller.getParameterFact(-1, "ATC_ANG_PIT_P"),
controller.getParameterFact(-1, "ATC_RAT_PIT_P"),
controller.getParameterFact(-1, "ATC_RAT_PIT_I"),
controller.getParameterFact(-1, "ATC_RAT_PIT_D") ],
[ controller.getParameterFact(-1, "ATC_ANG_YAW_P"),
controller.getParameterFact(-1, "ATC_RAT_YAW_P"),
controller.getParameterFact(-1, "ATC_RAT_YAW_I") ] ]
}
} // Component - Advanced Page
} // Column
} // Component
} // SetupView

78
src/AutoPilotPlugins/Common/Images/AirframeUnknown.svg

@ -1,44 +1,42 @@ @@ -1,44 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="draw" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 292.04 291.775" enable-background="new 0 0 292.04 291.775" xml:space="preserve">
viewBox="0 0 288 288" style="enable-background:new 0 0 288 288;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
.st1{fill:#FF442B;stroke:#000000;stroke-linejoin:round;stroke-miterlimit:10;}
.st2{fill:#FF442B;stroke:#000000;stroke-miterlimit:10;}
</style>
<title>AirframeUnknown</title>
<path fill="none" stroke="#AAAAAA" stroke-miterlimit="10" d="M240.395,189.29c-12.42,0.019-24.402,4.586-33.683,12.84
l-26.953-26.806c0.432-1.125,0.655-2.319,0.657-3.524v-51.187c0-1.367-0.283-2.719-0.833-3.97l27.141-26.984
c21.094,18.672,53.33,16.71,72.003-4.384c18.672-21.094,16.71-53.33-4.384-72.003c-21.094-18.672-53.33-16.71-72.003,4.384
c-17.035,19.244-17.092,48.156-0.134,67.467l-26.954,26.794c-1.455-0.796-3.087-1.212-4.746-1.21h-51.182
c-1.093,0.002-2.178,0.186-3.211,0.543L89.83,85.123c18.601-21.18,16.51-53.429-4.67-72.03c-21.18-18.601-53.429-16.51-72.03,4.67
c-18.601,21.18-16.51,53.429,4.67,72.03c19.324,16.971,48.256,16.913,67.512-0.134l25.71,25.557c-1.049,1.605-1.607,3.482-1.605,5.4
v51.188c0,1.759,0.471,3.485,1.364,5l-25.469,25.317c-21.093-18.672-53.329-16.709-72.001,4.384s-16.709,53.329,4.384,72.001
c21.093,18.672,53.329,16.709,72.001-4.384c17.035-19.243,17.092-48.154,0.134-67.465l25.813-25.66
c1.17,0.471,2.419,0.713,3.68,0.714h51.188c1.812,0,3.588-0.501,5.134-1.446l26.553,26.408
c-18.566,21.182-16.446,53.403,4.736,71.969c21.182,18.566,53.403,16.446,71.969-4.736c18.566-21.182,16.446-53.403-4.736-71.969
C264.826,193.749,252.817,189.252,240.395,189.29z"/>
<path fill="none" stroke="#AAAAAA" stroke-miterlimit="10" d="M240.553,40.28c-6.193-0.007-11.219,5.007-11.226,11.2
c-0.007,6.193,5.007,11.219,11.2,11.226c6.18,0.007,11.201-4.988,11.226-11.168c0.043-6.174-4.927-11.215-11.102-11.258
C240.619,40.28,240.586,40.28,240.553,40.28z"/>
<path fill="none" stroke="#AAAAAA" stroke-miterlimit="10" d="M51.487,40.28c6.193-0.007,11.219,5.007,11.226,11.2
c0.007,6.193-5.007,11.219-11.2,11.226c-6.18,0.007-11.201-4.988-11.226-11.168c-0.043-6.174,4.927-11.215,11.102-11.258
C51.421,40.28,51.454,40.28,51.487,40.28z"/>
<path fill="none" stroke="#AAAAAA" stroke-miterlimit="10" d="M51.487,251.496c6.193,0.007,11.219-5.007,11.226-11.2
c0.007-6.193-5.007-11.219-11.2-11.226c-6.18-0.007-11.201,4.988-11.226,11.168c-0.043,6.174,4.927,11.215,11.102,11.258
C51.421,251.496,51.454,251.496,51.487,251.496z"/>
<path fill="none" stroke="#AAAAAA" stroke-miterlimit="10" d="M240.553,251.496c-6.193,0.007-11.219-5.007-11.226-11.2
c-0.007-6.193,5.007-11.219,11.2-11.226c6.18-0.007,11.201,4.988,11.226,11.168c0.043,6.174-4.927,11.215-11.102,11.258
C240.619,251.496,240.586,251.496,240.553,251.496z"/>
<path fill="#FFFFFF" d="M146.024,194.838c-26.782,0.037-48.523-21.644-48.56-48.426c-0.037-26.782,21.644-48.523,48.426-48.56h0.134
c26.782-0.037,48.523,21.644,48.56,48.426c0.037,26.782-21.644,48.523-48.426,48.56l0,0H146.024z"/>
<path d="M146.024,98.352c26.506-0.036,48.023,21.421,48.059,47.927c0.036,26.506-21.421,48.023-47.927,48.059h-0.132
c-26.506,0.037-48.023-21.421-48.06-47.927s21.421-48.023,47.927-48.06l0,0H146.024 M146.024,97.352h-0.135
c-27.058,0.038-48.963,22.003-48.925,49.061c0.038,27.058,22.003,48.963,49.061,48.925l0,0h0.135
c27.058-0.038,48.963-22.003,48.925-49.061C195.047,119.219,173.082,97.314,146.024,97.352L146.024,97.352z"/>
<path fill="#FF442B" stroke="#000000" stroke-miterlimit="10" d="M137.638,158.247v-2.961c-0.057-2.334,0.509-4.641,1.641-6.683
c1.577-2.394,3.617-4.448,6-6.042c2.079-1.345,3.947-2.99,5.545-4.881c0.883-1.221,1.353-2.693,1.34-4.2
c0.084-1.563-0.642-3.059-1.92-3.961c-1.605-0.995-3.477-1.47-5.362-1.36c-4,0-8.562,1.307-13.685,3.921l-4.361-8.763
c5.766-3.286,12.29-5.009,18.927-5c5.495,0,9.861,1.32,13.1,3.961c3.201,2.553,5.005,6.471,4.862,10.563
c0.07,2.672-0.624,5.308-2,7.6c-1.333,2.133-3.867,4.533-7.6,7.2c-1.813,1.208-3.45,2.663-4.862,4.322
c-0.728,1.159-1.084,2.513-1.021,3.881v2.4h-10.6L137.638,158.247z M136.358,171.932c-0.137-1.871,0.516-3.714,1.8-5.082
c1.455-1.237,3.337-1.855,5.242-1.721c1.88-0.119,3.73,0.515,5.142,1.761c2.435,2.9,2.427,7.133-0.02,10.023
c-1.391,1.275-3.239,1.932-5.122,1.821c-1.901,0.12-3.772-0.521-5.2-1.781c-1.289-1.343-1.957-3.163-1.843-5.021H136.358z"/>
<g>
<g>
<g>
<path class="st0" d="M144,229.8c-69.8,0-144-17.3-144-49.3c0-17.2,23.3-32.3,63.9-41.3c2.3-0.5,4.7,1,5.2,3.3
c0.5,2.4-1,4.7-3.3,5.2c-34.7,7.7-57.1,20.5-57.1,32.8c0,19.2,55.6,40.5,135.3,40.5s135.3-21.4,135.3-40.5
c0-12.2-22.4-25.1-57.1-32.8c-2.4-0.5-3.8-2.9-3.3-5.2c0.5-2.4,2.9-3.8,5.2-3.3c40.6,9,63.9,24.1,63.9,41.3
C288,212.5,213.8,229.8,144,229.8z"/>
<path class="st0" d="M144,191.9c-41.3,0-85.1-10.6-85.1-30.3c0-2.4,2-4.4,4.4-4.4s4.4,2,4.4,4.4c0,9,29.1,21.6,76.4,21.6
s76.4-12.6,76.4-21.6c0-2.4,2-4.4,4.4-4.4c2.4,0,4.4,2,4.4,4.4C229.1,181.2,185.2,191.9,144,191.9z"/>
<path class="st0" d="M225.2,165.9c-2.4,0-4.4-2-4.4-4.4c0-42.4-34.5-76.8-76.8-76.8c-42.4,0-76.8,34.5-76.8,76.8
c0,2.4-0.5,4.1-2.9,4.1c-2.4,0-5.8-1.7-5.8-4.1C58.4,114.4,96.8,76,144,76s85.6,38.4,85.6,85.6
C229.5,164,227.6,165.9,225.2,165.9z"/>
</g>
<g>
<path class="st0" d="M246.9,255.5h-13.6c-1.6,0-3.2-0.9-3.9-2.4l-16-31.6c-1.1-2.1-0.2-4.8,1.9-5.9c2.1-1.1,4.8-0.2,5.9,1.9
l14.8,29.2h10.9c2.4,0,4.4,2,4.4,4.4C251.2,253.5,249.3,255.5,246.9,255.5z"/>
<path class="st0" d="M54.7,255.6H41.1c-2.4,0-4.4-2-4.4-4.4s2-4.4,4.4-4.4H52l14.8-29.2c1.1-2.1,3.7-3,5.9-1.9
c2.2,1.1,3,3.7,1.9,5.9l-16,31.6C57.8,254.7,56.3,255.6,54.7,255.6z"/>
</g>
<path class="st0" d="M144,84.7c-2.4,0-4.4-2-4.4-4.4v-24c0-2.4,2-4.4,4.4-4.4s4.4,2,4.4,4.4v24C148.3,82.8,146.4,84.7,144,84.7z"
/>
<path class="st0" d="M144,60.7c-7.8,0-14.2-6.4-14.2-14.2s6.4-14.2,14.2-14.2s14.2,6.4,14.2,14.2S151.8,60.7,144,60.7z M144,41.1
c-3,0-5.5,2.4-5.5,5.5c0,3,2.4,5.5,5.5,5.5s5.5-2.4,5.5-5.5C149.4,43.5,147,41.1,144,41.1z"/>
</g>
<path class="st1" d="M136.6,147v-3.6c-0.1-2.9,0.6-5.7,2-8.2c1.9-2.9,4.4-5.5,7.4-7.4c2.5-1.6,4.8-3.7,6.8-6
c1.1-1.5,1.7-3.3,1.6-5.1c0.1-1.9-0.8-3.8-2.4-4.9c-2-1.2-4.3-1.8-6.6-1.7c-4.9,0-10.5,1.6-16.8,4.8l-5.3-10.7
c7.1-4,15.1-6.1,23.2-6.1c6.7,0,12.1,1.6,16.1,4.9c3.9,3.1,6.1,7.9,6,13c0.1,3.3-0.8,6.5-2.5,9.3c-1.6,2.6-4.7,5.6-9.3,8.8
c-2.2,1.5-4.2,3.3-6,5.3c-0.9,1.4-1.3,3.1-1.3,4.8v2.9L136.6,147L136.6,147z"/>
<path class="st2" d="M135,163.7c-0.2-2.3,0.6-4.6,2.2-6.2c1.8-1.5,4.1-2.3,6.4-2.1c2.3-0.1,4.6,0.6,6.3,2.2c3,3.6,3,8.7,0,12.3
c-1.7,1.6-4,2.4-6.3,2.2c-2.3,0.1-4.6-0.6-6.4-2.2C135.7,168.2,134.9,166,135,163.7L135,163.7z"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

1
src/AutoPilotPlugins/PX4/PX4TuningComponentCopter.qml

@ -110,7 +110,6 @@ SetupPage { @@ -110,7 +110,6 @@ SetupPage {
controller.getParameterFact(-1, "MC_YAWRATE_P"),
controller.getParameterFact(-1, "MC_YAWRATE_I"),
controller.getParameterFact(-1, "MC_YAWRATE_D"),
controller.getParameterFact(-1, "MC_YAW_FF"),
controller.getParameterFact(-1, "MC_YAWRATE_FF") ] ]
}
} // Component - Advanced Page

48
src/FirmwarePlugin/APM/APMFirmwarePlugin.cc

@ -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_FIXED_WING:
supportedMajorNumber = 3;
supportedMinorNumber = 4;
supportedMinorNumber = 8;
break;
case MAV_TYPE_QUADROTOR:
// 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_TRICOPTER:
supportedMajorNumber = 3;
supportedMinorNumber = 3;
supportedMinorNumber = 5;
break;
case MAV_TYPE_GROUND_ROVER:
case MAV_TYPE_SURFACE_BOAT:
supportedMajorNumber = 3;
supportedMinorNumber = 4;
default:
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_COAXIAL:
case MAV_TYPE_HELICOPTER:
vehicle->setFirmwareVersion(3, 4, 0);
vehicle->setFirmwareVersion(3, 6, 0);
break;
case MAV_TYPE_VTOL_DUOROTOR:
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_RESERVED5:
case MAV_TYPE_FIXED_WING:
vehicle->setFirmwareVersion(3, 5, 0);
vehicle->setFirmwareVersion(3, 9, 0);
break;
case MAV_TYPE_GROUND_ROVER:
case MAV_TYPE_SURFACE_BOAT:
vehicle->setFirmwareVersion(3, 0, 0);
vehicle->setFirmwareVersion(3, 5, 0);
break;
case MAV_TYPE_SUBMARINE:
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
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");
}
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");
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Copter.3.5.xml");
case MAV_TYPE_VTOL_DUOROTOR:
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_RESERVED5:
case MAV_TYPE_FIXED_WING:
if (vehicle->versionCompare(3, 8, 0) >= 0) { // 3.8.0 and higher
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.8.xml");
if (vehicle->versionCompare(3, 10, 0) >= 0) {
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.10.xml");
}
if (vehicle->versionCompare(3, 7, 0) >= 0) { // 3.7.x
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.7.xml");
if (vehicle->versionCompare(3, 9, 0) >= 0) {
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.5.xml");
}
// up to 3.4.x
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.3.xml");
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.8.xml");
case MAV_TYPE_GROUND_ROVER:
case MAV_TYPE_SURFACE_BOAT:
if (vehicle->versionCompare(3, 4, 0) >= 0) { // 3.4.0 and higher
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Rover.3.4.xml");
if (vehicle->versionCompare(3, 6, 0) >= 0) {
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Rover.3.6.xml");
}
if (vehicle->versionCompare(3, 2, 0) >= 0) { // 3.2.x to 3.3.x
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Rover.3.2.xml");
if (vehicle->versionCompare(3, 5, 0) >= 0) {
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Rover.3.5.xml");
}
// up to 3.1.x
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Rover.3.0.xml");
return QStringLiteral(":/FirmwarePlugin/APM/APMParameterFactMetaData.Rover.3.4.xml");
case MAV_TYPE_SUBMARINE:
if (vehicle->versionCompare(3, 6, 0) >= 0) { // 3.5.x

5336
src/FirmwarePlugin/APM/APMParameterFactMetaData.Copter.3.3.xml

File diff suppressed because it is too large Load Diff

6695
src/FirmwarePlugin/APM/APMParameterFactMetaData.Copter.3.4.xml

File diff suppressed because it is too large Load Diff

13856
src/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.10.xml

File diff suppressed because it is too large Load Diff

5032
src/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.3.xml

File diff suppressed because it is too large Load Diff

6156
src/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.5.xml

File diff suppressed because it is too large Load Diff

7143
src/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.7.xml

File diff suppressed because it is too large Load Diff

1353
src/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.8.xml

File diff suppressed because it is too large Load Diff

10898
src/FirmwarePlugin/APM/APMParameterFactMetaData.Rover.3.2.xml → src/FirmwarePlugin/APM/APMParameterFactMetaData.Plane.3.9.xml

File diff suppressed because it is too large Load Diff

6072
src/FirmwarePlugin/APM/APMParameterFactMetaData.Rover.3.0.xml

File diff suppressed because it is too large Load Diff

11650
src/FirmwarePlugin/APM/APMParameterFactMetaData.Rover.3.5.xml

File diff suppressed because it is too large Load Diff

12830
src/FirmwarePlugin/APM/APMParameterFactMetaData.Rover.3.6.xml

File diff suppressed because it is too large Load Diff

19
src/FirmwarePlugin/APM/APMResources.qrc

@ -37,26 +37,21 @@ @@ -37,26 +37,21 @@
<file alias="APM/MavCmdInfoSub.json">MavCmdInfoSub.json</file>
<file alias="APM/MavCmdInfoVTOL.json">MavCmdInfoVTOL.json</file>
</qresource>
<qresource prefix="/AutoPilotPlugins/APM">
<file alias="APMAirframeFactMetaData.xml">../../AutoPilotPlugins/APM/APMAirframeFactMetaData.xml</file>
</qresource>
<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.Copter.3.3.xml">APMParameterFactMetaData.Copter.3.3.xml</file>
<file alias="APMParameterFactMetaData.Copter.3.4.xml">APMParameterFactMetaData.Copter.3.4.xml</file>
<file alias="APMParameterFactMetaData.Plane.3.9.xml">APMParameterFactMetaData.Plane.3.9.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.6.xml">APMParameterFactMetaData.Copter.3.6.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.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.5.xml">APMParameterFactMetaData.Sub.3.5.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="Plane.OfflineEditing.params">Plane3.7.OfflineEditing.params</file>
<file alias="Copter.OfflineEditing.params">Copter3.6.OfflineEditing.params</file>
<file alias="Plane.OfflineEditing.params">Plane3.9.OfflineEditing.params</file>
<file alias="Rover.OfflineEditing.params">Rover3.5.OfflineEditing.params</file>
</qresource>
</RCC>

75
src/FirmwarePlugin/APM/ArduCopterFirmwarePlugin.cc

@ -69,84 +69,9 @@ ArduCopterFirmwarePlugin::ArduCopterFirmwarePlugin(void) @@ -69,84 +69,9 @@ ArduCopterFirmwarePlugin::ArduCopterFirmwarePlugin(void)
supportedFlightModes << APMCopterMode(APMCopterMode::GUIDED_NOGPS,true);
supportedFlightModes << APMCopterMode(APMCopterMode::SAFE_RTL,true);
setSupportedModes(supportedFlightModes);
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];
remapV3_6["BATT_AMP_PERVLT"] = QStringLiteral("BATT_AMP_PERVOL");

49
src/FirmwarePlugin/APM/ArduPlaneFirmwarePlugin.cc

@ -64,55 +64,6 @@ ArduPlaneFirmwarePlugin::ArduPlaneFirmwarePlugin(void) @@ -64,55 +64,6 @@ ArduPlaneFirmwarePlugin::ArduPlaneFirmwarePlugin(void)
setSupportedModes(supportedFlightModes);
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];
remapV3_10["BATT_ARM_VOLT"] = QStringLiteral("ARMING_VOLT_MIN");

49
src/FirmwarePlugin/APM/ArduRoverFirmwarePlugin.cc

@ -51,55 +51,6 @@ ArduRoverFirmwarePlugin::ArduRoverFirmwarePlugin(void) @@ -51,55 +51,6 @@ ArduRoverFirmwarePlugin::ArduRoverFirmwarePlugin(void)
setSupportedModes(supportedFlightModes);
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];
remapV3_5["BATT_ARM_VOLT"] = QStringLiteral("ARMING_VOLT_MIN");

1
src/FirmwarePlugin/APM/ArduRoverFirmwarePlugin.h

@ -52,6 +52,7 @@ public: @@ -52,6 +52,7 @@ public:
const FirmwarePlugin::remapParamNameMajorVersionMap_t& paramNameRemapMajorVersionMap(void) const final { return _remapParamName; }
bool supportsNegativeThrust (void) final;
bool supportsSmartRTL (void) const override { return true; }
QString offlineEditingParamFile (Vehicle* vehicle) override { Q_UNUSED(vehicle); return QStringLiteral(":/FirmwarePlugin/APM/Rover.OfflineEditing.params"); }
private:
static bool _remapParamNameIntialized;

7
src/FirmwarePlugin/APM/BuildParamMetaData.sh

@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
# Args: [ArduCopter|ArduPlane] [Copter.3.7|...]
cd ~/repos/ardupilot
rm apm.pdef.xml
./Tools/autotest/param_metadata/param_parse.py --vehicle ArduCopter
cp apm.pdef.xml ~/repos/qgroundcontrol/src/FirmwarePlugin/APM/APMParameterFactMetaData.Copter.3.7.xml
rm -f apm.pdef.xml
./Tools/autotest/param_metadata/param_parse.py --vehicle $1
cp apm.pdef.xml ~/repos/qgroundcontrol/src/FirmwarePlugin/APM/APMParameterFactMetaData.$2.xml
rm apm.pdef.xml
cd ~/repos/qgroundcontrol/src/FirmwarePlugin/APM

483
src/FirmwarePlugin/APM/Copter3.5.OfflineEditing.params → src/FirmwarePlugin/APM/Copter3.6.OfflineEditing.params

@ -2,68 +2,72 @@ @@ -2,68 +2,72 @@
#
# Stack: ArduPilot
# Vehicle: Multi-Rotor
# Version: 3.5.0 rc
# Git Revision: efab409b
# Version: 3.6.8
# Git Revision: 2f40967
#
# Vehicle-Id Component-Id Name Value Type
1 1 ACCEL_Z_D 0.000000000000000000 9
1 1 ACCEL_Z_FF 0.000000000000000000 9
1 1 ACCEL_Z_FILT 20.000000000000000000 9
1 1 ACCEL_Z_I 1.000000000000000000 9
1 1 ACCEL_Z_IMAX 800.000000000000000000 9
1 1 ACCEL_Z_P 0.500000000000000000 9
1 1 ACRO_BAL_PITCH 1.000000000000000000 9
1 1 ACRO_BAL_ROLL 1.000000000000000000 9
1 1 ACRO_RP_EXPO 0.300000011920928955 9
1 1 ACRO_RP_P 4.500000000000000000 9
1 1 ACRO_THR_MID 0.000000000000000000 9
1 1 ACRO_TRAINER 2 2
1 1 ACRO_YAW_P 3.000000000000000000 9
1 1 ACRO_YAW_P 4.500000000000000000 9
1 1 ACRO_Y_EXPO 0.000000000000000000 9
1 1 ADSB_ENABLE 0 2
1 1 AHRS_COMP_BETA 0.100000001490116119 9
1 1 AHRS_CUSTOM_PIT 0.000000000000000000 9
1 1 AHRS_CUSTOM_ROLL 0.000000000000000000 9
1 1 AHRS_CUSTOM_YAW 0.000000000000000000 9
1 1 AHRS_EKF_TYPE 2 2
1 1 AHRS_GPS_GAIN 1.000000000000000000 9
1 1 AHRS_GPS_MINSATS 6 2
1 1 AHRS_GPS_USE 1 2
1 1 AHRS_ORIENTATION 0 2
1 1 AHRS_RP_P 0.200000002980232239 9
1 1 AHRS_TRIM_X -0.005487891845405102 9
1 1 AHRS_TRIM_Y 0.009387995116412640 9
1 1 AHRS_TRIM_X -0.002736995229497552 9
1 1 AHRS_TRIM_Y -0.002316886559128761 9
1 1 AHRS_TRIM_Z 0.000000000000000000 9
1 1 AHRS_WIND_MAX 0 2
1 1 AHRS_YAW_P 0.200000002980232239 9
1 1 ANGLE_MAX 3000 4
1 1 ANGLE_MAX 4500 4
1 1 ARMING_ACCTHRESH 0.750000000000000000 9
1 1 ARMING_CHECK 1 4
1 1 ARMING_RUDDER 2 2
1 1 ARMING_VOLT2_MIN 0.000000000000000000 9
1 1 ARMING_VOLT_MIN 0.000000000000000000 9
1 1 ATC_ACCEL_P_MAX 110000.000000000000000000 9
1 1 ATC_ACCEL_R_MAX 110000.000000000000000000 9
1 1 ATC_ACCEL_Y_MAX 18000.000000000000000000 9
1 1 ATC_ACCEL_Y_MAX 27000.000000000000000000 9
1 1 ATC_ANGLE_BOOST 1 2
1 1 ATC_ANG_LIM_TC 1.000000000000000000 9
1 1 ATC_ANG_PIT_P 11.250000000000000000 9
1 1 ATC_ANG_RLL_P 11.250000000000000000 9
1 1 ATC_ANG_YAW_P 6.000000000000000000 9
1 1 ATC_ANG_PIT_P 4.500000000000000000 9
1 1 ATC_ANG_RLL_P 4.500000000000000000 9
1 1 ATC_ANG_YAW_P 4.500000000000000000 9
1 1 ATC_INPUT_TC 0.150000005960464478 9
1 1 ATC_RATE_FF_ENAB 1 2
1 1 ATC_RAT_PIT_D 0.008325000293552876 9
1 1 ATC_RATE_P_MAX 0.000000000000000000 9
1 1 ATC_RATE_R_MAX 0.000000000000000000 9
1 1 ATC_RATE_Y_MAX 0.000000000000000000 9
1 1 ATC_RAT_PIT_D 0.003599999938160181 9
1 1 ATC_RAT_PIT_FF 0.000000000000000000 9
1 1 ATC_RAT_PIT_FILT 20.000000000000000000 9
1 1 ATC_RAT_PIT_I 0.126000002026557922 9
1 1 ATC_RAT_PIT_IMAX 0.222222223877906799 9
1 1 ATC_RAT_PIT_P 0.126000002026557922 9
1 1 ATC_RAT_RLL_D 0.011249999515712261 9
1 1 ATC_RAT_PIT_I 0.090000003576278687 9
1 1 ATC_RAT_PIT_IMAX 0.500000000000000000 9
1 1 ATC_RAT_PIT_P 0.135000005364418030 9
1 1 ATC_RAT_RLL_D 0.003599999938160181 9
1 1 ATC_RAT_RLL_FF 0.000000000000000000 9
1 1 ATC_RAT_RLL_FILT 20.000000000000000000 9
1 1 ATC_RAT_RLL_I 0.182249993085861206 9
1 1 ATC_RAT_RLL_IMAX 0.222222223877906799 9
1 1 ATC_RAT_RLL_P 0.182249993085861206 9
1 1 ATC_RAT_YAW_D 0.003600000170990825 9
1 1 ATC_RAT_RLL_I 0.090000003576278687 9
1 1 ATC_RAT_RLL_IMAX 0.500000000000000000 9
1 1 ATC_RAT_RLL_P 0.135000005364418030 9
1 1 ATC_RAT_YAW_D 0.000000000000000000 9
1 1 ATC_RAT_YAW_FF 0.000000000000000000 9
1 1 ATC_RAT_YAW_FILT 5.000000000000000000 9
1 1 ATC_RAT_YAW_I 0.035999998450279236 9
1 1 ATC_RAT_YAW_IMAX 0.222000002861022949 9
1 1 ATC_RAT_YAW_P 0.359999984502792358 9
1 1 ATC_SLEW_YAW 1000.000000000000000000 9
1 1 ATC_RAT_YAW_FILT 2.500000000000000000 9
1 1 ATC_RAT_YAW_I 0.017999999225139618 9
1 1 ATC_RAT_YAW_IMAX 0.500000000000000000 9
1 1 ATC_RAT_YAW_P 0.180000007152557373 9
1 1 ATC_SLEW_YAW 6000.000000000000000000 9
1 1 ATC_THR_MIX_MAN 0.500000000000000000 9
1 1 ATC_THR_MIX_MAX 0.500000000000000000 9
1 1 ATC_THR_MIX_MIN 0.100000001490116119 9
@ -72,43 +76,46 @@ @@ -72,43 +76,46 @@
1 1 AUTOTUNE_MIN_D 0.001000000047497451 9
1 1 AVD_ENABLE 0 2
1 1 AVOID_ANGLE_MAX 1000 4
1 1 AVOID_DIST_MAX 10.000000000000000000 9
1 1 AVOID_BEHAVE 0 2
1 1 AVOID_DIST_MAX 5.000000000000000000 9
1 1 AVOID_ENABLE 3 2
1 1 AVOID_MARGIN 2.000000000000000000 9
1 1 BATT2_AMP_OFFSET 0.000000000000000000 9
1 1 BATT2_AMP_PERVOL 17.000000000000000000 9
1 1 BATT2_CAPACITY 3300 6
1 1 BATT2_CURR_PIN 3 2
1 1 BATT2_MONITOR 0 2
1 1 BATT2_SERIAL_NUM -1 6
1 1 BATT2_VOLT_MULT 10.100000381469726563 9
1 1 BATT2_VOLT_PIN 2 2
1 1 BATT_AMP_OFFSET 0.000000000000000000 9
1 1 BATT_AMP_PERVOLT 17.000000000000000000 9
1 1 BATT_CAPACITY 5100 6
1 1 BATT_CURR_PIN 3 2
1 1 BATT_AMP_PERVLT 17.000000000000000000 9
1 1 BATT_ARM_MAH 0 6
1 1 BATT_ARM_VOLT 0.000000000000000000 9
1 1 BATT_CAPACITY 3300 6
1 1 BATT_CRT_MAH 0.000000000000000000 9
1 1 BATT_CRT_VOLT 0.000000000000000000 9
1 1 BATT_CURR_PIN 12 2
1 1 BATT_FS_CRT_ACT 0 2
1 1 BATT_FS_LOW_ACT 0 2
1 1 BATT_FS_VOLTSRC 0 2
1 1 BATT_LOW_MAH 0.000000000000000000 9
1 1 BATT_LOW_TIMER 10 2
1 1 BATT_LOW_VOLT 10.500000000000000000 9
1 1 BATT_MONITOR 4 2
1 1 BATT_SERIAL_NUM -1 6
1 1 BATT_VOLT_MULT 12.020000457763671875 9
1 1 BATT_VOLT_PIN 2 2
1 1 BATT_VOLT_TIMER 10 2
1 1 BATT_VOLT_MULT 10.100000381469726563 9
1 1 BATT_VOLT_PIN 13 2
1 1 BCN_ALT 0.000000000000000000 9
1 1 BCN_LATITUDE 0.000000000000000000 9
1 1 BCN_LONGITUDE 0.000000000000000000 9
1 1 BCN_ORIENT_YAW 0 4
1 1 BCN_TYPE 0 2
1 1 BRD_CAN_ENABLE 0 2
1 1 BRD_IMU_TARGTEMP -1 2
1 1 BRD_IO_ENABLE 1 2
1 1 BRD_PWM_COUNT 4 2
1 1 BRD_PWM_COUNT 6 2
1 1 BRD_RTC_TYPES 1 2
1 1 BRD_SAFETYENABLE 1 2
1 1 BRD_SAFETYOPTION 3 4
1 1 BRD_SAFETY_MASK 16368 6
1 1 BRD_SBUS_OUT 0 2
1 1 BRD_SD_SLOWDOWN 0 2
1 1 BRD_SER1_RTSCTS 2 2
1 1 BRD_SER2_RTSCTS 2 2
1 1 BRD_SERIAL_NUM 0 4
1 1 BRD_TYPE 2 2
1 1 BRD_TYPE 4 2
1 1 BTN_ENABLE 0 2
1 1 CAM_AUTO_ONLY 0 2
1 1 CAM_DURATION 10 2
1 1 CAM_FEEDBACK_PIN -1 2
1 1 CAM_FEEDBACK_POL 1 2
@ -119,34 +126,39 @@ @@ -119,34 +126,39 @@
1 1 CAM_SERVO_ON 1300 4
1 1 CAM_TRIGG_DIST 0.000000000000000000 9
1 1 CAM_TRIGG_TYPE 0 2
1 1 CAN_D1_PROTOCOL 1 2
1 1 CAN_D2_PROTOCOL 1 2
1 1 CAN_P1_DRIVER 0 2
1 1 CAN_P2_DRIVER 0 2
1 1 CH10_OPT 0 2
1 1 CH11_OPT 0 2
1 1 CH12_OPT 0 2
1 1 CH7_OPT 4 2
1 1 CH7_OPT 0 2
1 1 CH8_OPT 0 2
1 1 CH9_OPT 0 2
1 1 CHUTE_ENABLED 0 2
1 1 CIRCLE_RADIUS 1000.000000000000000000 9
1 1 CIRCLE_RATE 20.000000000000000000 9
1 1 CLI_ENABLED 0 2
1 1 COMPASS_AUTODEC 1 2
1 1 COMPASS_AUTO_ROT 2 2
1 1 COMPASS_CAL_FIT 16.000000000000000000 9
1 1 COMPASS_DEC 0.000000000000000000 9
1 1 COMPASS_DEC 0.278999209403991699 9
1 1 COMPASS_DEV_ID 466441 6
1 1 COMPASS_DEV_ID2 131594 6
1 1 COMPASS_DEV_ID3 0 6
1 1 COMPASS_DIA2_X 0.990296721458435059 9
1 1 COMPASS_DIA2_Y 0.971784174442291260 9
1 1 COMPASS_DIA2_Z 1.007365465164184570 9
1 1 COMPASS_DIA3_X 0.000000000000000000 9
1 1 COMPASS_DIA3_Y 0.000000000000000000 9
1 1 COMPASS_DIA3_Z 0.000000000000000000 9
1 1 COMPASS_DIA_X 0.947009563446044922 9
1 1 COMPASS_DIA_Y 0.937935292720794678 9
1 1 COMPASS_DIA_Z 1.060336470603942871 9
1 1 COMPASS_DEV_ID2 460042 6
1 1 COMPASS_DEV_ID3 263178 6
1 1 COMPASS_DIA2_X 1.000000000000000000 9
1 1 COMPASS_DIA2_Y 1.000000000000000000 9
1 1 COMPASS_DIA2_Z 1.000000000000000000 9
1 1 COMPASS_DIA3_X 1.000000000000000000 9
1 1 COMPASS_DIA3_Y 1.000000000000000000 9
1 1 COMPASS_DIA3_Z 1.000000000000000000 9
1 1 COMPASS_DIA_X 0.953128099441528320 9
1 1 COMPASS_DIA_Y 0.925101161003112793 9
1 1 COMPASS_DIA_Z 1.151406884193420410 9
1 1 COMPASS_EXTERN2 0 2
1 1 COMPASS_EXTERN3 0 2
1 1 COMPASS_EXTERNAL 1 2
1 1 COMPASS_FLTR_RNG 0 2
1 1 COMPASS_LEARN 0 2
1 1 COMPASS_MOT2_X 0.000000000000000000 9
1 1 COMPASS_MOT2_Y 0.000000000000000000 9
@ -158,29 +170,31 @@ @@ -158,29 +170,31 @@
1 1 COMPASS_MOT_X 0.000000000000000000 9
1 1 COMPASS_MOT_Y 0.000000000000000000 9
1 1 COMPASS_MOT_Z 0.000000000000000000 9
1 1 COMPASS_ODI2_X -0.006166019476950169 9
1 1 COMPASS_ODI2_Y 0.001182210398837924 9
1 1 COMPASS_ODI2_Z 0.018183957785367966 9
1 1 COMPASS_ODI2_X 0.000000000000000000 9
1 1 COMPASS_ODI2_Y 0.000000000000000000 9
1 1 COMPASS_ODI2_Z 0.000000000000000000 9
1 1 COMPASS_ODI3_X 0.000000000000000000 9
1 1 COMPASS_ODI3_Y 0.000000000000000000 9
1 1 COMPASS_ODI3_Z 0.000000000000000000 9
1 1 COMPASS_ODI_X -0.013673859648406506 9
1 1 COMPASS_ODI_Y 0.001898076618090272 9
1 1 COMPASS_ODI_Z -0.007604577112942934 9
1 1 COMPASS_OFFS_MAX 600 4
1 1 COMPASS_OFS2_X 280.823242187500000000 9
1 1 COMPASS_OFS2_Y 87.670928955078125000 9
1 1 COMPASS_OFS2_Z -469.461639404296875000 9
1 1 COMPASS_OFS3_X 0.000000000000000000 9
1 1 COMPASS_OFS3_Y 0.000000000000000000 9
1 1 COMPASS_OFS3_Z 0.000000000000000000 9
1 1 COMPASS_OFS_X -112.272964477539062500 9
1 1 COMPASS_OFS_Y -5.009645462036132813 9
1 1 COMPASS_OFS_Z 34.276287078857421875 9
1 1 COMPASS_ODI_X 0.006310019642114639 9
1 1 COMPASS_ODI_Y 0.029108555987477303 9
1 1 COMPASS_ODI_Z 0.020488956943154335 9
1 1 COMPASS_OFFS_MAX 850 4
1 1 COMPASS_OFS2_X 89.986877441406250000 9
1 1 COMPASS_OFS2_Y 305.980743408203125000 9
1 1 COMPASS_OFS2_Z 73.274467468261718750 9
1 1 COMPASS_OFS3_X -517.217224121093750000 9
1 1 COMPASS_OFS3_Y 113.171249389648437500 9
1 1 COMPASS_OFS3_Z -571.336425781250000000 9
1 1 COMPASS_OFS_X -117.353210449218750000 9
1 1 COMPASS_OFS_Y -14.182374000549316406 9
1 1 COMPASS_OFS_Z -15.413072586059570313 9
1 1 COMPASS_ORIENT 0 2
1 1 COMPASS_ORIENT2 0 2
1 1 COMPASS_ORIENT3 0 2
1 1 COMPASS_PMOT_EN 0 2
1 1 COMPASS_PRIMARY 0 2
1 1 COMPASS_TYPEMASK 0 6
1 1 COMPASS_USE 1 2
1 1 COMPASS_USE2 1 2
1 1 COMPASS_USE3 1 2
@ -219,6 +233,7 @@ @@ -219,6 +233,7 @@
1 1 EK2_MAG_M_NSE 0.050000000745058060 9
1 1 EK2_MAX_FLOW 2.500000000000000000 9
1 1 EK2_NOAID_M_NSE 10.000000000000000000 9
1 1 EK2_OGN_HGT_MASK 0 2
1 1 EK2_POSNE_M_NSE 1.000000000000000000 9
1 1 EK2_POS_I_GATE 500 4
1 1 EK2_RNG_I_GATE 500 4
@ -238,12 +253,20 @@ @@ -238,12 +253,20 @@
1 1 ESC_CALIBRATION 0 2
1 1 FENCE_ACTION 1 2
1 1 FENCE_ALT_MAX 100.000000000000000000 9
1 1 FENCE_ENABLE 1 2
1 1 FENCE_ENABLE 0 2
1 1 FENCE_MARGIN 2.000000000000000000 9
1 1 FENCE_RADIUS 300.000000000000000000 9
1 1 FENCE_TOTAL 0 2
1 1 FENCE_TYPE 3 2
1 1 FLOW_BUS_ID 0 2
1 1 FENCE_TYPE 7 2
1 1 FHLD_BRAKE_RATE 8 2
1 1 FHLD_FILT_HZ 5.000000000000000000 9
1 1 FHLD_FLOW_MAX 0.600000023841857910 9
1 1 FHLD_QUAL_MIN 10 2
1 1 FHLD_XY_FILT_HZ 5.000000000000000000 9
1 1 FHLD_XY_I 0.300000011920928955 9
1 1 FHLD_XY_IMAX 3000.000000000000000000 9
1 1 FHLD_XY_P 0.200000002980232239 9
1 1 FLOW_ADDR 0 2
1 1 FLOW_ENABLE 0 2
1 1 FLOW_FXSCALER 0 4
1 1 FLOW_FYSCALER 0 4
@ -252,16 +275,15 @@ @@ -252,16 +275,15 @@
1 1 FLOW_POS_Y 0.000000000000000000 9
1 1 FLOW_POS_Z 0.000000000000000000 9
1 1 FLTMODE1 0 2
1 1 FLTMODE2 5 2
1 1 FLTMODE3 3 2
1 1 FLTMODE4 6 2
1 1 FLTMODE5 6 2
1 1 FLTMODE6 6 2
1 1 FLTMODE2 0 2
1 1 FLTMODE3 0 2
1 1 FLTMODE4 0 2
1 1 FLTMODE5 0 2
1 1 FLTMODE6 0 2
1 1 FLTMODE_CH 5 2
1 1 FOLL_ENABLE 0 2
1 1 FRAME_CLASS 1 2
1 1 FRAME_TYPE 2 2
1 1 FS_BATT_ENABLE 1 2
1 1 FS_BATT_MAH 0.000000000000000000 9
1 1 FS_BATT_VOLTAGE 10.500000000000000000 9
1 1 FRAME_TYPE 1 2
1 1 FS_CRASH_CHECK 1 2
1 1 FS_EKF_ACTION 1 2
1 1 FS_EKF_THRESH 0.800000011920928955 9
@ -269,12 +291,13 @@ @@ -269,12 +291,13 @@
1 1 FS_THR_ENABLE 1 2
1 1 FS_THR_VALUE 975 4
1 1 GCS_PID_MASK 0 4
1 1 GND_ABS_PRESS 101975.898437500000000000 9
1 1 GND_ABS_PRESS 102497.242187500000000000 9
1 1 GND_ABS_PRESS2 0.000000000000000000 9
1 1 GND_ABS_PRESS3 0.000000000000000000 9
1 1 GND_ALT_OFFSET 0.000000000000000000 9
1 1 GND_EFFECT_COMP 0 2
1 1 GND_EXT_BUS -1 2
1 1 GND_FLTR_RNG 0 2
1 1 GND_PRIMARY 0 2
1 1 GND_TEMP 0.000000000000000000 9
1 1 GPS_AUTO_CONFIG 1 2
@ -285,7 +308,7 @@ @@ -285,7 +308,7 @@
1 1 GPS_DELAY_MS2 0 4
1 1 GPS_GNSS_MODE 0 2
1 1 GPS_GNSS_MODE2 0 2
1 1 GPS_HDOP_GOOD 250 4
1 1 GPS_HDOP_GOOD 140 4
1 1 GPS_INJECT_TO 127 2
1 1 GPS_MIN_DGPS 100 2
1 1 GPS_MIN_ELEV -100 2
@ -299,19 +322,19 @@ @@ -299,19 +322,19 @@
1 1 GPS_RATE_MS 200 4
1 1 GPS_RATE_MS2 200 4
1 1 GPS_RAW_DATA 0 2
1 1 GPS_SAVE_CFG 0 2
1 1 GPS_SAVE_CFG 2 2
1 1 GPS_SBAS_MODE 2 2
1 1 GPS_SBP_LOGMASK -256 4
1 1 GPS_TYPE 1 2
1 1 GPS_TYPE2 0 2
1 1 GRIP_ENABLE 0 2
1 1 INS_ACC2OFFS_X 0.465681284666061401 9
1 1 INS_ACC2OFFS_Y -0.163094490766525269 9
1 1 INS_ACC2OFFS_Z 0.841708540916442871 9
1 1 INS_ACC2SCAL_X 1.025157928466796875 9
1 1 INS_ACC2SCAL_Y 1.017194271087646484 9
1 1 INS_ACC2SCAL_Z 1.034052014350891113 9
1 1 INS_ACC2_ID 1114634 6
1 1 INS_ACC2OFFS_X 0.073714897036552429 9
1 1 INS_ACC2OFFS_Y 0.133638754487037659 9
1 1 INS_ACC2OFFS_Z 0.117672137916088104 9
1 1 INS_ACC2SCAL_X 1.001639485359191895 9
1 1 INS_ACC2SCAL_Y 0.999040424823760986 9
1 1 INS_ACC2SCAL_Z 0.993145823478698730 9
1 1 INS_ACC2_ID 1442826 6
1 1 INS_ACC3OFFS_X 0.000000000000000000 9
1 1 INS_ACC3OFFS_Y 0.000000000000000000 9
1 1 INS_ACC3OFFS_Z 0.000000000000000000 9
@ -320,29 +343,36 @@ @@ -320,29 +343,36 @@
1 1 INS_ACC3SCAL_Z 0.000000000000000000 9
1 1 INS_ACC3_ID 0 6
1 1 INS_ACCEL_FILTER 20 2
1 1 INS_ACCOFFS_X -0.064211823046207428 9
1 1 INS_ACCOFFS_Y -0.180485680699348450 9
1 1 INS_ACCOFFS_Z -0.311422348022460938 9
1 1 INS_ACCSCAL_X 0.995959579944610596 9
1 1 INS_ACCSCAL_Y 1.004220247268676758 9
1 1 INS_ACCSCAL_Z 0.992680013179779053 9
1 1 INS_ACCOFFS_X -0.153744637966156006 9
1 1 INS_ACCOFFS_Y -1.060018897056579590 9
1 1 INS_ACCOFFS_Z -0.570219874382019043 9
1 1 INS_ACCSCAL_X 0.998239696025848389 9
1 1 INS_ACCSCAL_Y 1.025957822799682617 9
1 1 INS_ACCSCAL_Z 0.996956229209899902 9
1 1 INS_ACC_BODYFIX 2 2
1 1 INS_ACC_ID 1246218 6
1 1 INS_FAST_SAMPLE 0 2
1 1 INS_GYR2OFFS_X 0.033170118927955627 9
1 1 INS_GYR2OFFS_Y -0.008167488500475883 9
1 1 INS_GYR2OFFS_Z -0.009966009296476841 9
1 1 INS_GYR2_ID 2228490 6
1 1 INS_ACC_ID 1246730 6
1 1 INS_ENABLE_MASK 127 2
1 1 INS_FAST_SAMPLE 1 2
1 1 INS_GYR2OFFS_X -0.034788243472576141 9
1 1 INS_GYR2OFFS_Y 0.004041521344333887 9
1 1 INS_GYR2OFFS_Z -0.000514922372531146 9
1 1 INS_GYR2_ID 2360330 6
1 1 INS_GYR3OFFS_X 0.000000000000000000 9
1 1 INS_GYR3OFFS_Y 0.000000000000000000 9
1 1 INS_GYR3OFFS_Z 0.000000000000000000 9
1 1 INS_GYR3_ID 0 6
1 1 INS_GYROFFS_X -0.020668458193540573 9
1 1 INS_GYROFFS_Y 0.071772724390029907 9
1 1 INS_GYROFFS_Z -0.002931264694780111 9
1 1 INS_GYROFFS_X -0.051060669124126434 9
1 1 INS_GYROFFS_Y -0.004331125877797604 9
1 1 INS_GYROFFS_Z -0.004950095433741808 9
1 1 INS_GYRO_FILTER 20 2
1 1 INS_GYR_CAL 1 2
1 1 INS_GYR_ID 2163722 6
1 1 INS_GYR_ID 2164234 6
1 1 INS_LOG_BAT_CNT 1024 4
1 1 INS_LOG_BAT_LGCT 32 4
1 1 INS_LOG_BAT_LGIN 20 2
1 1 INS_LOG_BAT_MASK 0 2
1 1 INS_LOG_BAT_OPT 0 2
1 1 INS_NOTCH_ENABLE 0 2
1 1 INS_POS1_X 0.000000000000000000 9
1 1 INS_POS1_Y 0.000000000000000000 9
1 1 INS_POS1_Z 0.000000000000000000 9
@ -352,32 +382,42 @@ @@ -352,32 +382,42 @@
1 1 INS_POS3_X 0.000000000000000000 9
1 1 INS_POS3_Y 0.000000000000000000 9
1 1 INS_POS3_Z 0.000000000000000000 9
1 1 INS_PRODUCT_ID 5 4
1 1 INS_PRODUCT_ID 0 4
1 1 INS_STILL_THRESH 2.500000000000000000 9
1 1 INS_TRIM_OPTION 1 2
1 1 INS_USE 1 2
1 1 INS_USE2 1 2
1 1 INS_USE3 0 2
1 1 LAND_ALT_LOW 1000 4
1 1 LAND_REPOSITION 1 2
1 1 LAND_SPEED 50 4
1 1 LAND_SPEED_HIGH 0 4
1 1 LGR_SERVO_DEPLOY 1750 4
1 1 LGR_SERVO_RTRACT 1250 4
1 1 LGR_STARTUP 0 2
1 1 LOG_BACKEND_TYPE 1 2
1 1 LOG_BITMASK 176126 6
1 1 LOG_DISARMED 0 2
1 1 LOG_FILE_BUFSIZE 16 2
1 1 LOG_FILE_DSRMROT 0 2
1 1 LOG_MAV_BUFSIZE 8 2
1 1 LOG_REPLAY 0 2
1 1 LOIT_ACC_MAX 500.000000000000000000 9
1 1 LOIT_ANG_MAX 0.000000000000000000 9
1 1 LOIT_BRK_ACCEL 250.000000000000000000 9
1 1 LOIT_BRK_DELAY 1.000000000000000000 9
1 1 LOIT_BRK_JERK 500.000000000000000000 9
1 1 LOIT_SPEED 1250.000000000000000000 9
1 1 MAG_ENABLE 1 2
1 1 MIS_OPTIONS 0 4
1 1 MIS_RESTART 0 2
1 1 MIS_TOTAL 0 4
1 1 MNT_ANGMAX_PAN 4500 4
1 1 MNT_ANGMAX_ROL 4500 4
1 1 MNT_ANGMAX_TIL 0 4
1 1 MNT_ANGMAX_TIL 4500 4
1 1 MNT_ANGMIN_PAN -4500 4
1 1 MNT_ANGMIN_ROL -4500 4
1 1 MNT_ANGMIN_TIL -9000 4
1 1 MNT_ANGMIN_TIL -4500 4
1 1 MNT_DEFLT_MODE 3 2
1 1 MNT_JSTICK_SPD 0 2
1 1 MNT_LEAD_PTCH 0.000000000000000000 9
@ -387,18 +427,20 @@ @@ -387,18 +427,20 @@
1 1 MNT_NEUTRAL_Z 0.000000000000000000 9
1 1 MNT_RC_IN_PAN 0 2
1 1 MNT_RC_IN_ROLL 0 2
1 1 MNT_RC_IN_TILT 6 2
1 1 MNT_RC_IN_TILT 0 2
1 1 MNT_RETRACT_X 0.000000000000000000 9
1 1 MNT_RETRACT_Y 0.000000000000000000 9
1 1 MNT_RETRACT_Z 0.000000000000000000 9
1 1 MNT_STAB_PAN 0 2
1 1 MNT_STAB_ROLL 0 2
1 1 MNT_STAB_TILT 0 2
1 1 MNT_TYPE 1 2
1 1 MNT_TYPE 0 2
1 1 MOT_BAT_CURR_MAX 0.000000000000000000 9
1 1 MOT_BAT_CURR_TC 5.000000000000000000 9
1 1 MOT_BAT_IDX 0 2
1 1 MOT_BAT_VOLT_MAX 0.000000000000000000 9
1 1 MOT_BAT_VOLT_MIN 0.000000000000000000 9
1 1 MOT_BOOST_SCALE 0.000000000000000000 9
1 1 MOT_HOVER_LEARN 2 2
1 1 MOT_PWM_MAX 0 4
1 1 MOT_PWM_MIN 0 4
@ -409,23 +451,24 @@ @@ -409,23 +451,24 @@
1 1 MOT_SPIN_MIN 0.150000005960464478 9
1 1 MOT_SPOOL_TIME 0.500000000000000000 9
1 1 MOT_THST_EXPO 0.649999976158142090 9
1 1 MOT_THST_HOVER 0.472181797027587891 9
1 1 MOT_THST_HOVER 0.349999994039535522 9
1 1 MOT_YAW_HEADROOM 200 4
1 1 NTF_BUZZ_ENABLE 1 2
1 1 NTF_BUZZ_PIN 0 2
1 1 NTF_DISPLAY_TYPE 0 2
1 1 NTF_LED_BRIGHT 3 2
1 1 NTF_LED_OVERRIDE 0 2
1 1 NTF_LED_TYPES 199 6
1 1 PHLD_BRAKE_ANGLE 3000 4
1 1 PHLD_BRAKE_RATE 8 4
1 1 PILOT_ACCEL_Z 250 4
1 1 PILOT_SPEED_DN 0 4
1 1 PILOT_SPEED_UP 250 4
1 1 PILOT_THR_BHV 0 4
1 1 PILOT_THR_FILT 0.000000000000000000 9
1 1 PILOT_TKOFF_ALT 0.000000000000000000 9
1 1 PILOT_TKOFF_DZ 100 4
1 1 PILOT_VELZ_MAX 250 4
1 1 PLND_ENABLED 0 2
1 1 POS_XY_P 1.000000000000000000 9
1 1 POS_Z_P 1.000000000000000000 9
1 1 PRX_IGN_ANG1 0 4
1 1 PRX_IGN_ANG2 0 4
1 1 PRX_IGN_ANG3 0 4
@ -441,7 +484,23 @@ @@ -441,7 +484,23 @@
1 1 PRX_ORIENT 0 2
1 1 PRX_TYPE 0 2
1 1 PRX_YAW_CORR 22 4
1 1 PSC_ACCZ_D 0.000000000000000000 9
1 1 PSC_ACCZ_FF 0.000000000000000000 9
1 1 PSC_ACCZ_FILT 20.000000000000000000 9
1 1 PSC_ACCZ_I 1.000000000000000000 9
1 1 PSC_ACCZ_IMAX 800.000000000000000000 9
1 1 PSC_ACCZ_P 0.500000000000000000 9
1 1 PSC_ACC_XY_FILT 2.000000000000000000 9
1 1 PSC_ANGLE_MAX 0.000000000000000000 9
1 1 PSC_POSXY_P 1.000000000000000000 9
1 1 PSC_POSZ_P 1.000000000000000000 9
1 1 PSC_VELXY_D 0.500000000000000000 9
1 1 PSC_VELXY_D_FILT 5.000000000000000000 9
1 1 PSC_VELXY_FILT 5.000000000000000000 9
1 1 PSC_VELXY_I 1.000000000000000000 9
1 1 PSC_VELXY_IMAX 1000.000000000000000000 9
1 1 PSC_VELXY_P 2.000000000000000000 9
1 1 PSC_VELZ_P 5.000000000000000000 9
1 1 RALLY_INCL_HOME 1 2
1 1 RALLY_LIMIT_KM 0.300000011920928955 9
1 1 RALLY_TOTAL 0 2
@ -529,11 +588,11 @@ @@ -529,11 +588,11 @@
1 1 RCMAP_ROLL 1 2
1 1 RCMAP_THROTTLE 3 2
1 1 RCMAP_YAW 4 2
1 1 RC_FEEL_RP 25 2
1 1 RC_OVERRIDE_TIME 3.000000000000000000 9
1 1 RC_SPEED 490 4
1 1 RELAY_DEFAULT 0 2
1 1 RELAY_PIN 54 2
1 1 RELAY_PIN2 55 2
1 1 RELAY_PIN -1 2
1 1 RELAY_PIN2 -1 2
1 1 RELAY_PIN3 -1 2
1 1 RELAY_PIN4 -1 2
1 1 RNGFND2_ADDR 0 2
@ -579,14 +638,8 @@ @@ -579,14 +638,8 @@
1 1 RPM_PIN 54 2
1 1 RPM_SCALING 1.000000000000000000 9
1 1 RPM_TYPE 0 2
1 1 RSSI_ANA_PIN 0 2
1 1 RSSI_CHANNEL 0 2
1 1 RSSI_CHAN_HIGH 2000 4
1 1 RSSI_CHAN_LOW 1000 4
1 1 RSSI_PIN_HIGH 5.000000000000000000 9
1 1 RSSI_PIN_LOW 0.000000000000000000 9
1 1 RSSI_TYPE 0 2
1 1 RTL_ALT 100 4
1 1 RTL_ALT 1500 4
1 1 RTL_ALT_FINAL 0 4
1 1 RTL_CLIMB_MIN 0 4
1 1 RTL_CONE_SLOPE 3.000000000000000000 9
@ -595,40 +648,42 @@ @@ -595,40 +648,42 @@
1 1 SCHED_DEBUG 0 2
1 1 SCHED_LOOP_RATE 400 4
1 1 SERIAL0_BAUD 115 6
1 1 SERIAL0_PROTOCOL 1 2
1 1 SERIAL0_PROTOCOL 2 2
1 1 SERIAL1_BAUD 57 6
1 1 SERIAL1_PROTOCOL 1 2
1 1 SERIAL2_BAUD 9 6
1 1 SERIAL2_PROTOCOL 3 2
1 1 SERIAL2_BAUD 57 6
1 1 SERIAL2_PROTOCOL 1 2
1 1 SERIAL3_BAUD 38 6
1 1 SERIAL3_PROTOCOL 5 2
1 1 SERIAL4_BAUD 38 6
1 1 SERIAL4_PROTOCOL 5 2
1 1 SERIAL5_BAUD 57 6
1 1 SERIAL5_PROTOCOL -1 2
1 1 SERIAL5_BAUD 921600 6
1 1 SERIAL5_PROTOCOL 1 2
1 1 SERIAL6_BAUD 57 6
1 1 SERIAL6_PROTOCOL -1 2
1 1 SERVO10_FUNCTION 0 2
1 1 SERVO10_MAX 2000 4
1 1 SERVO10_MIN 1000 4
1 1 SERVO10_MAX 1900 4
1 1 SERVO10_MIN 1100 4
1 1 SERVO10_REVERSED 0 2
1 1 SERVO10_TRIM 1500 4
1 1 SERVO11_FUNCTION 0 2
1 1 SERVO11_MAX 2000 4
1 1 SERVO11_MIN 1000 4
1 1 SERVO11_MAX 1900 4
1 1 SERVO11_MIN 1100 4
1 1 SERVO11_REVERSED 0 2
1 1 SERVO11_TRIM 1500 4
1 1 SERVO12_FUNCTION 0 2
1 1 SERVO12_MAX 2000 4
1 1 SERVO12_MIN 1000 4
1 1 SERVO12_MAX 1900 4
1 1 SERVO12_MIN 1100 4
1 1 SERVO12_REVERSED 0 2
1 1 SERVO12_TRIM 1500 4
1 1 SERVO13_FUNCTION 0 2
1 1 SERVO13_MAX 2000 4
1 1 SERVO13_MIN 1000 4
1 1 SERVO13_MAX 1900 4
1 1 SERVO13_MIN 1100 4
1 1 SERVO13_REVERSED 0 2
1 1 SERVO13_TRIM 1500 4
1 1 SERVO14_FUNCTION 0 2
1 1 SERVO14_MAX 2000 4
1 1 SERVO14_MIN 1000 4
1 1 SERVO14_MAX 1900 4
1 1 SERVO14_MIN 1100 4
1 1 SERVO14_REVERSED 0 2
1 1 SERVO14_TRIM 1500 4
1 1 SERVO15_FUNCTION 0 2
@ -642,74 +697,83 @@ @@ -642,74 +697,83 @@
1 1 SERVO16_REVERSED 0 2
1 1 SERVO16_TRIM 1500 4
1 1 SERVO1_FUNCTION 33 2
1 1 SERVO1_MAX 2015 4
1 1 SERVO1_MIN 991 4
1 1 SERVO1_MAX 1900 4
1 1 SERVO1_MIN 1100 4
1 1 SERVO1_REVERSED 0 2
1 1 SERVO1_TRIM 1503 4
1 1 SERVO1_TRIM 1500 4
1 1 SERVO2_FUNCTION 34 2
1 1 SERVO2_MAX 2016 4
1 1 SERVO2_MIN 991 4
1 1 SERVO2_MAX 1900 4
1 1 SERVO2_MIN 1100 4
1 1 SERVO2_REVERSED 0 2
1 1 SERVO2_TRIM 1503 4
1 1 SERVO2_TRIM 1500 4
1 1 SERVO3_FUNCTION 35 2
1 1 SERVO3_MAX 2016 4
1 1 SERVO3_MIN 992 4
1 1 SERVO3_MAX 1900 4
1 1 SERVO3_MIN 1100 4
1 1 SERVO3_REVERSED 0 2
1 1 SERVO3_TRIM 992 4
1 1 SERVO3_TRIM 1500 4
1 1 SERVO4_FUNCTION 36 2
1 1 SERVO4_MAX 2015 4
1 1 SERVO4_MIN 991 4
1 1 SERVO4_MAX 1900 4
1 1 SERVO4_MIN 1100 4
1 1 SERVO4_REVERSED 0 2
1 1 SERVO4_TRIM 1503 4
1 1 SERVO4_TRIM 1500 4
1 1 SERVO5_FUNCTION 0 2
1 1 SERVO5_MAX 2016 4
1 1 SERVO5_MIN 991 4
1 1 SERVO5_MAX 1900 4
1 1 SERVO5_MIN 1100 4
1 1 SERVO5_REVERSED 0 2
1 1 SERVO5_TRIM 1503 4
1 1 SERVO5_TRIM 1500 4
1 1 SERVO6_FUNCTION 0 2
1 1 SERVO6_MAX 2016 4
1 1 SERVO6_MIN 991 4
1 1 SERVO6_MAX 1900 4
1 1 SERVO6_MIN 1100 4
1 1 SERVO6_REVERSED 0 2
1 1 SERVO6_TRIM 1503 4
1 1 SERVO6_TRIM 1500 4
1 1 SERVO7_FUNCTION 0 2
1 1 SERVO7_MAX 2016 4
1 1 SERVO7_MIN 991 4
1 1 SERVO7_MAX 1900 4
1 1 SERVO7_MIN 1100 4
1 1 SERVO7_REVERSED 0 2
1 1 SERVO7_TRIM 1503 4
1 1 SERVO7_TRIM 1500 4
1 1 SERVO8_FUNCTION 0 2
1 1 SERVO8_MAX 2000 4
1 1 SERVO8_MIN 1000 4
1 1 SERVO8_MAX 1900 4
1 1 SERVO8_MIN 1100 4
1 1 SERVO8_REVERSED 0 2
1 1 SERVO8_TRIM 1500 4
1 1 SERVO9_FUNCTION 7 2
1 1 SERVO9_MAX 2000 4
1 1 SERVO9_MIN 1000 4
1 1 SERVO9_FUNCTION 0 2
1 1 SERVO9_MAX 1900 4
1 1 SERVO9_MIN 1100 4
1 1 SERVO9_REVERSED 0 2
1 1 SERVO9_TRIM 1500 4
1 1 SERVO_CANESC_BM 0 6
1 1 SERVO_CANSRV_BM 0 6
1 1 SERVO_BLH_AUTO 0 2
1 1 SERVO_BLH_DEBUG 0 2
1 1 SERVO_BLH_MASK 0 6
1 1 SERVO_BLH_OTYPE 0 2
1 1 SERVO_BLH_PORT 0 2
1 1 SERVO_BLH_TEST 0 2
1 1 SERVO_BLH_TMOUT 0 4
1 1 SERVO_BLH_TRATE 0 4
1 1 SERVO_RATE 50 4
1 1 SERVO_SBUS_RATE 50 4
1 1 SERVO_VOLZ_MASK 0 6
1 1 SIMPLE 0 2
1 1 SPRAY_ENABLE 0 2
1 1 SR0_ADSB 5 4
1 1 SR0_EXTRA1 0 4
1 1 SR0_EXTRA2 0 4
1 1 SR0_EXTRA3 0 4
1 1 SR0_EXT_STAT 0 4
1 1 SR0_PARAMS 0 4
1 1 SR0_POSITION 0 4
1 1 SR0_EXTRA1 10 4
1 1 SR0_EXTRA2 10 4
1 1 SR0_EXTRA3 3 4
1 1 SR0_EXT_STAT 2 4
1 1 SR0_PARAMS 10 4
1 1 SR0_POSITION 3 4
1 1 SR0_RAW_CTRL 0 4
1 1 SR0_RAW_SENS 0 4
1 1 SR0_RC_CHAN 0 4
1 1 SR0_RAW_SENS 2 4
1 1 SR0_RC_CHAN 2 4
1 1 SR1_ADSB 5 4
1 1 SR1_EXTRA1 10 4
1 1 SR1_EXTRA2 10 4
1 1 SR1_EXTRA3 3 4
1 1 SR1_EXT_STAT 2 4
1 1 SR1_PARAMS 10 4
1 1 SR1_POSITION 3 4
1 1 SR1_EXTRA1 0 4
1 1 SR1_EXTRA2 0 4
1 1 SR1_EXTRA3 0 4
1 1 SR1_EXT_STAT 0 4
1 1 SR1_PARAMS 0 4
1 1 SR1_POSITION 0 4
1 1 SR1_RAW_CTRL 0 4
1 1 SR1_RAW_SENS 2 4
1 1 SR1_RC_CHAN 2 4
1 1 SR1_RAW_SENS 0 4
1 1 SR1_RC_CHAN 0 4
1 1 SR2_ADSB 5 4
1 1 SR2_EXTRA1 0 4
1 1 SR2_EXTRA2 0 4
@ -730,16 +794,18 @@ @@ -730,16 +794,18 @@
1 1 SR3_RAW_CTRL 0 4
1 1 SR3_RAW_SENS 0 4
1 1 SR3_RC_CHAN 0 4
1 1 STAT_BOOTCNT 16 4
1 1 STAT_FLTTIME 623 6
1 1 STAT_RESET 20034978 6
1 1 STAT_RUNTIME 3525 6
1 1 SRTL_ACCURACY 2.000000000000000000 9
1 1 SRTL_POINTS 150 4
1 1 STAT_BOOTCNT 5 4
1 1 STAT_FLTTIME 0 6
1 1 STAT_RESET 99683128 6
1 1 STAT_RUNTIME 3940 6
1 1 SUPER_SIMPLE 0 2
1 1 SYSID_ENFORCE 0 2
1 1 SYSID_MYGCS 255 4
1 1 SYSID_SW_MREV 120 4
1 1 SYSID_SW_TYPE 10 2
1 1 SYSID_THISMAV 1 4
1 1 TCAL_ENABLED 0 2
1 1 TELEM_DELAY 0 2
1 1 TERRAIN_ENABLE 1 2
1 1 TERRAIN_FOLLOW 0 2
@ -747,29 +813,20 @@ @@ -747,29 +813,20 @@
1 1 THROW_MOT_START 0 2
1 1 THROW_NEXTMODE 18 2
1 1 THROW_TYPE 0 2
1 1 THR_DZ 50 4
1 1 THR_DZ 100 4
1 1 TUNE 0 2
1 1 TUNE_HIGH 1000 4
1 1 TUNE_LOW 0 4
1 1 VEL_XY_FILT_HZ 5.000000000000000000 9
1 1 VEL_XY_I 0.500000000000000000 9
1 1 VEL_XY_IMAX 1000.000000000000000000 9
1 1 VEL_XY_P 1.000000000000000000 9
1 1 VEL_Z_P 5.000000000000000000 9
1 1 VISO_ORIENT 0 2
1 1 VISO_POS_X 0.000000000000000000 9
1 1 VISO_POS_Y 0.000000000000000000 9
1 1 VISO_POS_Z 0.000000000000000000 9
1 1 VISO_TYPE 0 2
1 1 WPNAV_ACCEL 250.000000000000000000 9
1 1 WPNAV_ACCEL 100.000000000000000000 9
1 1 WPNAV_ACCEL_Z 100.000000000000000000 9
1 1 WPNAV_LOIT_JERK 1000.000000000000000000 9
1 1 WPNAV_LOIT_MAXA 250.000000000000000000 9
1 1 WPNAV_LOIT_MINA 25.000000000000000000 9
1 1 WPNAV_LOIT_SPEED 1000.000000000000000000 9
1 1 WPNAV_RADIUS 200.000000000000000000 9
1 1 WPNAV_RFND_USE 1 2
1 1 WPNAV_SPEED 650.000000000000000000 9
1 1 WPNAV_SPEED 500.000000000000000000 9
1 1 WPNAV_SPEED_DN 150.000000000000000000 9
1 1 WPNAV_SPEED_UP 250.000000000000000000 9
1 1 WP_NAVALT_MIN 0.000000000000000000 9

663
src/FirmwarePlugin/APM/Plane3.7.OfflineEditing.params

@ -1,663 +0,0 @@ @@ -1,663 +0,0 @@
# Onboard parameters for vehicle 1
#
# MAV ID COMPONENT ID PARAM NAME VALUE (FLOAT)
1 1 ACRO_LOCKING 0 2
1 1 ACRO_PITCH_RATE 180 4
1 1 ACRO_ROLL_RATE 180 4
1 1 ADSB_ENABLE 0 2
1 1 AFS_ENABLE 0 2
1 1 AHRS_COMP_BETA 0.100000001490116119 9
1 1 AHRS_EKF_TYPE 2 2
1 1 AHRS_GPS_GAIN 1.000000000000000000 9
1 1 AHRS_GPS_MINSATS 6 2
1 1 AHRS_GPS_USE 1 2
1 1 AHRS_ORIENTATION 0 2
1 1 AHRS_RP_P 0.200000002980232239 9
1 1 AHRS_TRIM_X 0.000000000000000000 9
1 1 AHRS_TRIM_Y 0.000000000000000000 9
1 1 AHRS_TRIM_Z 0.000000000000000000 9
1 1 AHRS_WIND_MAX 0 2
1 1 AHRS_YAW_P 0.200000002980232239 9
1 1 ALT_CTRL_ALG 0 2
1 1 ALT_HOLD_FBWCM 0 4
1 1 ALT_HOLD_RTL 10000 6
1 1 ALT_MIX 1.000000000000000000 9
1 1 ALT_OFFSET 0 4
1 1 ARMING_ACCTHRESH 0.750000000000000000 9
1 1 ARMING_CHECK 1 4
1 1 ARMING_MIN_VOLT 0.000000000000000000 9
1 1 ARMING_MIN_VOLT2 0.000000000000000000 9
1 1 ARMING_REQUIRE 1 2
1 1 ARMING_RUDDER 1 2
1 1 ARSPD_AUTOCAL 0 2
1 1 ARSPD_ENABLE 1 2
1 1 ARSPD_FBW_MAX 22 4
1 1 ARSPD_FBW_MIN 9 4
1 1 ARSPD_OFFSET 2.770258665084838867 9
1 1 ARSPD_PIN 15 2
1 1 ARSPD_PSI_RANGE 1.000000000000000000 9
1 1 ARSPD_RATIO 1.993600010871887207 9
1 1 ARSPD_SKIP_CAL 0 2
1 1 ARSPD_TUBE_ORDER 2 2
1 1 ARSPD_USE 0 2
1 1 AUTOTUNE_LEVEL 6 2
1 1 AUTO_FBW_STEER 0 2
1 1 AVD_ENABLE 0 2
1 1 BATT2_AMP_OFFSET 0.000000000000000000 9
1 1 BATT2_AMP_PERVOL 17.000000000000000000 9
1 1 BATT2_CAPACITY 3300 6
1 1 BATT2_CURR_PIN 3 2
1 1 BATT2_MONITOR 0 2
1 1 BATT2_VOLT_MULT 10.100000381469726562 9
1 1 BATT2_VOLT_PIN 2 2
1 1 BATT2_WATT_MAX 0 4
1 1 BATT_AMP_OFFSET 0.000000000000000000 9
1 1 BATT_AMP_PERVOLT 17.000000000000000000 9
1 1 BATT_CAPACITY 3300 6
1 1 BATT_CURR_PIN 3 2
1 1 BATT_MONITOR 0 2
1 1 BATT_VOLT_MULT 10.100000381469726562 9
1 1 BATT_VOLT_PIN 2 2
1 1 BATT_WATT_MAX 0 4
1 1 BRD_CAN_ENABLE 0 2
1 1 BRD_IMU_TARGTEMP -1 2
1 1 BRD_PWM_COUNT 4 2
1 1 BRD_SAFETYENABLE 1 2
1 1 BRD_SAFETY_MASK 0 6
1 1 BRD_SBUS_OUT 0 2
1 1 BRD_SER1_RTSCTS 2 2
1 1 BRD_SER2_RTSCTS 2 2
1 1 BRD_SERIAL_NUM 0 4
1 1 BRD_TYPE 2 2
1 1 BTN_ENABLE 0 2
1 1 CAM_DURATION 10 2
1 1 CAM_FEEDBACK_PIN -1 2
1 1 CAM_FEEDBACK_POL 1 2
1 1 CAM_MAX_ROLL 0 4
1 1 CAM_MIN_INTERVAL 0 4
1 1 CAM_RELAY_ON 1 2
1 1 CAM_SERVO_OFF 1100 4
1 1 CAM_SERVO_ON 1300 4
1 1 CAM_TRIGG_DIST 0.000000000000000000 9
1 1 CAM_TRIGG_TYPE 0 2
1 1 CHUTE_CHAN 0 2
1 1 CHUTE_ENABLED 0 2
1 1 CLI_ENABLED 0 2
1 1 COMPASS_AUTODEC 1 2
1 1 COMPASS_CAL_FIT 8.000000000000000000 9
1 1 COMPASS_DEC 0.000000000000000000 9
1 1 COMPASS_DEV_ID 131594 6
1 1 COMPASS_DEV_ID2 0 6
1 1 COMPASS_DEV_ID3 0 6
1 1 COMPASS_DIA2_X 0.000000000000000000 9
1 1 COMPASS_DIA2_Y 0.000000000000000000 9
1 1 COMPASS_DIA2_Z 0.000000000000000000 9
1 1 COMPASS_DIA3_X 0.000000000000000000 9
1 1 COMPASS_DIA3_Y 0.000000000000000000 9
1 1 COMPASS_DIA3_Z 0.000000000000000000 9
1 1 COMPASS_DIA_X 1.000000000000000000 9
1 1 COMPASS_DIA_Y 1.000000000000000000 9
1 1 COMPASS_DIA_Z 1.000000000000000000 9
1 1 COMPASS_EXTERN2 0 2
1 1 COMPASS_EXTERN3 0 2
1 1 COMPASS_EXTERNAL 0 2
1 1 COMPASS_LEARN 1 2
1 1 COMPASS_MOT2_X 0.000000000000000000 9
1 1 COMPASS_MOT2_Y 0.000000000000000000 9
1 1 COMPASS_MOT2_Z 0.000000000000000000 9
1 1 COMPASS_MOT3_X 0.000000000000000000 9
1 1 COMPASS_MOT3_Y 0.000000000000000000 9
1 1 COMPASS_MOT3_Z 0.000000000000000000 9
1 1 COMPASS_MOTCT 0 2
1 1 COMPASS_MOT_X 0.000000000000000000 9
1 1 COMPASS_MOT_Y 0.000000000000000000 9
1 1 COMPASS_MOT_Z 0.000000000000000000 9
1 1 COMPASS_ODI2_X 0.000000000000000000 9
1 1 COMPASS_ODI2_Y 0.000000000000000000 9
1 1 COMPASS_ODI2_Z 0.000000000000000000 9
1 1 COMPASS_ODI3_X 0.000000000000000000 9
1 1 COMPASS_ODI3_Y 0.000000000000000000 9
1 1 COMPASS_ODI3_Z 0.000000000000000000 9
1 1 COMPASS_ODI_X 0.000000000000000000 9
1 1 COMPASS_ODI_Y 0.000000000000000000 9
1 1 COMPASS_ODI_Z 0.000000000000000000 9
1 1 COMPASS_OFS2_X 0.000000000000000000 9
1 1 COMPASS_OFS2_Y 0.000000000000000000 9
1 1 COMPASS_OFS2_Z 0.000000000000000000 9
1 1 COMPASS_OFS3_X 0.000000000000000000 9
1 1 COMPASS_OFS3_Y 0.000000000000000000 9
1 1 COMPASS_OFS3_Z 0.000000000000000000 9
1 1 COMPASS_OFS_X 0.000000000000000000 9
1 1 COMPASS_OFS_Y 0.000000000000000000 9
1 1 COMPASS_OFS_Z 0.000000000000000000 9
1 1 COMPASS_ORIENT 0 2
1 1 COMPASS_ORIENT2 0 2
1 1 COMPASS_ORIENT3 0 2
1 1 COMPASS_PRIMARY 0 2
1 1 COMPASS_USE 1 2
1 1 COMPASS_USE2 1 2
1 1 COMPASS_USE3 1 2
1 1 CRASH_ACC_THRESH 0 2
1 1 CRASH_DETECT 0 2
1 1 DSPOILR_RUD_RATE 100 4
1 1 EK2_ABIAS_P_NSE 0.004999999888241291 9
1 1 EK2_ACC_P_NSE 0.600000023841857910 9
1 1 EK2_ALT_M_NSE 3.000000000000000000 9
1 1 EK2_ALT_SOURCE 0 2
1 1 EK2_CHECK_SCALE 150 4
1 1 EK2_EAS_I_GATE 400 4
1 1 EK2_EAS_M_NSE 1.399999976158142090 9
1 1 EK2_ENABLE 1 2
1 1 EK2_FLOW_DELAY 10 2
1 1 EK2_FLOW_I_GATE 300 4
1 1 EK2_FLOW_M_NSE 0.250000000000000000 9
1 1 EK2_GBIAS_P_NSE 0.000099999997473788 9
1 1 EK2_GLITCH_RAD 25 2
1 1 EK2_GPS_CHECK 31 2
1 1 EK2_GPS_DELAY 220 4
1 1 EK2_GPS_TYPE 0 2
1 1 EK2_GSCL_P_NSE 0.000500000023748726 9
1 1 EK2_GYRO_P_NSE 0.029999999329447746 9
1 1 EK2_HGT_DELAY 60 4
1 1 EK2_HGT_I_GATE 500 4
1 1 EK2_IMU_MASK 3 2
1 1 EK2_LOG_MASK 1 2
1 1 EK2_MAGB_P_NSE 0.000099999997473788 9
1 1 EK2_MAGE_P_NSE 0.001000000047497451 9
1 1 EK2_MAG_CAL 0 2
1 1 EK2_MAG_I_GATE 300 4
1 1 EK2_MAG_M_NSE 0.050000000745058060 9
1 1 EK2_MAX_FLOW 2.500000000000000000 9
1 1 EK2_NOAID_M_NSE 10.000000000000000000 9
1 1 EK2_POSNE_M_NSE 1.000000000000000000 9
1 1 EK2_POS_I_GATE 500 4
1 1 EK2_RNG_I_GATE 500 4
1 1 EK2_RNG_M_NSE 0.500000000000000000 9
1 1 EK2_RNG_USE_HGT -1 2
1 1 EK2_TAU_OUTPUT 25 2
1 1 EK2_VELD_M_NSE 0.699999988079071045 9
1 1 EK2_VELNE_M_NSE 0.500000000000000000 9
1 1 EK2_VEL_I_GATE 500 4
1 1 EK2_WIND_PSCALE 0.500000000000000000 9
1 1 EK2_WIND_P_NSE 0.100000001490116119 9
1 1 EK2_YAW_I_GATE 300 4
1 1 EK2_YAW_M_NSE 0.500000000000000000 9
1 1 EKF_ENABLE 0 2
1 1 ELEVON_CH1_REV 0 2
1 1 ELEVON_CH2_REV 0 2
1 1 ELEVON_MIXING 0 2
1 1 ELEVON_OUTPUT 0 2
1 1 ELEVON_REVERSE 0 2
1 1 FBWA_TDRAG_CHAN 0 2
1 1 FBWB_CLIMB_RATE 2 2
1 1 FBWB_ELEV_REV 0 2
1 1 FENCE_ACTION 0 2
1 1 FENCE_AUTOENABLE 0 2
1 1 FENCE_CHANNEL 0 2
1 1 FENCE_MAXALT 0 4
1 1 FENCE_MINALT 0 4
1 1 FENCE_RETALT 0 4
1 1 FENCE_RET_RALLY 0 2
1 1 FENCE_TOTAL 0 2
1 1 FLAPERON_OUTPUT 0 2
1 1 FLAP_1_PERCNT 0 2
1 1 FLAP_1_SPEED 0 2
1 1 FLAP_2_PERCNT 0 2
1 1 FLAP_2_SPEED 0 2
1 1 FLAP_IN_CHANNEL 0 2
1 1 FLAP_SLEWRATE 75 2
1 1 FLOW_ENABLE 0 2
1 1 FLOW_FXSCALER 0 4
1 1 FLOW_FYSCALER 0 4
1 1 FLOW_ORIENT_YAW 0 4
1 1 FLTMODE1 11 2
1 1 FLTMODE2 11 2
1 1 FLTMODE3 5 2
1 1 FLTMODE4 5 2
1 1 FLTMODE5 0 2
1 1 FLTMODE6 0 2
1 1 FLTMODE_CH 8 2
1 1 FORMAT_VERSION 13 4
1 1 FS_BATT_MAH 0.000000000000000000 9
1 1 FS_BATT_VOLTAGE 0.000000000000000000 9
1 1 FS_GCS_ENABL 0 2
1 1 FS_LONG_ACTN 0 2
1 1 FS_LONG_TIMEOUT 5.000000000000000000 9
1 1 FS_SHORT_ACTN 0 2
1 1 FS_SHORT_TIMEOUT 1.500000000000000000 9
1 1 GCS_PID_MASK 0 4
1 1 GLIDE_SLOPE_MIN 15 4
1 1 GLIDE_SLOPE_THR 5.000000000000000000 9
1 1 GND_ABS_PRESS 101321.710937500000000000 9
1 1 GND_ALT_OFFSET 0.000000000000000000 9
1 1 GND_PRIMARY 0 2
1 1 GND_TEMP 25.000000000000000000 9
1 1 GPS_AUTO_CONFIG 1 2
1 1 GPS_AUTO_SWITCH 1 2
1 1 GPS_GNSS_MODE 0 2
1 1 GPS_GNSS_MODE2 0 2
1 1 GPS_INJECT_TO 127 2
1 1 GPS_MIN_DGPS 100 2
1 1 GPS_MIN_ELEV -100 2
1 1 GPS_NAVFILTER 8 2
1 1 GPS_RAW_DATA 0 2
1 1 GPS_SAVE_CFG 0 2
1 1 GPS_SBAS_MODE 2 2
1 1 GPS_SBP_LOGMASK -256 4
1 1 GPS_TYPE 1 2
1 1 GPS_TYPE2 0 2
1 1 GROUND_STEER_ALT 0.000000000000000000 9
1 1 GROUND_STEER_DPS 90 4
1 1 HIL_ERR_LIMIT 5.000000000000000000 9
1 1 HIL_MODE 0 2
1 1 HIL_SERVOS 0 2
1 1 ICE_ENABLE 0 2
1 1 INITIAL_MODE 0 2
1 1 INS_ACC2OFFS_X 0.000000000000000000 9
1 1 INS_ACC2OFFS_Y 0.000000000000000000 9
1 1 INS_ACC2OFFS_Z 0.000000000000000000 9
1 1 INS_ACC2SCAL_X 1.000000000000000000 9
1 1 INS_ACC2SCAL_Y 1.000000000000000000 9
1 1 INS_ACC2SCAL_Z 1.000000000000000000 9
1 1 INS_ACC3OFFS_X 0.000000000000000000 9
1 1 INS_ACC3OFFS_Y 0.000000000000000000 9
1 1 INS_ACC3OFFS_Z 0.000000000000000000 9
1 1 INS_ACC3SCAL_X 0.000000000000000000 9
1 1 INS_ACC3SCAL_Y 0.000000000000000000 9
1 1 INS_ACC3SCAL_Z 0.000000000000000000 9
1 1 INS_ACCEL_FILTER 20 2
1 1 INS_ACCOFFS_X 0.000000000000000000 9
1 1 INS_ACCOFFS_Y 0.000000000000000000 9
1 1 INS_ACCOFFS_Z 0.000000000000000000 9
1 1 INS_ACCSCAL_X 1.000000000000000000 9
1 1 INS_ACCSCAL_Y 1.000000000000000000 9
1 1 INS_ACCSCAL_Z 1.000000000000000000 9
1 1 INS_ACC_BODYFIX 2 2
1 1 INS_GYR2OFFS_X 0.000000000000000000 9
1 1 INS_GYR2OFFS_Y 0.000000000000000000 9
1 1 INS_GYR2OFFS_Z 0.000000000000000000 9
1 1 INS_GYR3OFFS_X 0.000000000000000000 9
1 1 INS_GYR3OFFS_Y 0.000000000000000000 9
1 1 INS_GYR3OFFS_Z 0.000000000000000000 9
1 1 INS_GYROFFS_X 0.000000000000000000 9
1 1 INS_GYROFFS_Y 0.000000000000000000 9
1 1 INS_GYROFFS_Z 0.000000000000000000 9
1 1 INS_GYRO_FILTER 20 2
1 1 INS_GYR_CAL 1 2
1 1 INS_PRODUCT_ID 5 4
1 1 INS_STILL_THRESH 0.100000001490116119 9
1 1 INS_TRIM_OPTION 1 2
1 1 INS_USE 1 2
1 1 INS_USE2 1 2
1 1 INS_USE3 0 2
1 1 INVERTEDFLT_CH 0 2
1 1 KFF_RDDRMIX 0.500000000000000000 9
1 1 KFF_THR2PTCH 0.000000000000000000 9
1 1 LAND_ABORT_DEG 0.000000000000000000 9
1 1 LAND_ABORT_THR 0 2
1 1 LAND_DISARMDELAY 20 2
1 1 LAND_FLAP_PERCNT 0 2
1 1 LAND_FLARE_ALT 3.000000000000000000 9
1 1 LAND_FLARE_SEC 2.000000000000000000 9
1 1 LAND_PF_ALT 10.000000000000000000 9
1 1 LAND_PF_ARSPD 0.000000000000000000 9
1 1 LAND_PF_SEC 6.000000000000000000 9
1 1 LAND_PITCH_CD 0 4
1 1 LAND_SLOPE_RCALC 2.000000000000000000 9
1 1 LAND_THEN_NEUTRL 0 2
1 1 LAND_THR_SLEW 0 2
1 1 LEVEL_ROLL_LIMIT 5 2
1 1 LIM_PITCH_MAX 2000 4
1 1 LIM_PITCH_MIN -2500 4
1 1 LIM_ROLL_CD 4500 4
1 1 LOG_BACKEND_TYPE 1 2
1 1 LOG_BITMASK 65535 6
1 1 LOG_DISARMED 0 2
1 1 LOG_FILE_BUFSIZE 16 2
1 1 LOG_REPLAY 0 2
1 1 MAG_ENABLE 1 2
1 1 MIN_GNDSPD_CM 0 6
1 1 MIS_RESTART 0 2
1 1 MIS_TOTAL 0 4
1 1 MIXING_GAIN 0.500000000000000000 9
1 1 MIXING_OFFSET 0 4
1 1 MNT_ANGMAX_PAN 4500 4
1 1 MNT_ANGMAX_ROL 4500 4
1 1 MNT_ANGMAX_TIL 4500 4
1 1 MNT_ANGMIN_PAN -4500 4
1 1 MNT_ANGMIN_ROL -4500 4
1 1 MNT_ANGMIN_TIL -4500 4
1 1 MNT_DEFLT_MODE 3 2
1 1 MNT_JSTICK_SPD 0 2
1 1 MNT_LEAD_PTCH 0.000000000000000000 9
1 1 MNT_LEAD_RLL 0.000000000000000000 9
1 1 MNT_NEUTRAL_X 0.000000000000000000 9
1 1 MNT_NEUTRAL_Y 0.000000000000000000 9
1 1 MNT_NEUTRAL_Z 0.000000000000000000 9
1 1 MNT_RC_IN_PAN 0 2
1 1 MNT_RC_IN_ROLL 0 2
1 1 MNT_RC_IN_TILT 0 2
1 1 MNT_RETRACT_X 0.000000000000000000 9
1 1 MNT_RETRACT_Y 0.000000000000000000 9
1 1 MNT_RETRACT_Z 0.000000000000000000 9
1 1 MNT_STAB_PAN 0 2
1 1 MNT_STAB_ROLL 0 2
1 1 MNT_STAB_TILT 0 2
1 1 MNT_TYPE 0 2
1 1 NAVL1_DAMPING 0.750000000000000000 9
1 1 NAVL1_PERIOD 20.000000000000000000 9
1 1 NAVL1_XTRACK_I 0.019999999552965164 9
1 1 NAV_CONTROLLER 1 2
1 1 NTF_BUZZ_ENABLE 1 2
1 1 NTF_LED_BRIGHT 3 2
1 1 NTF_LED_OVERRIDE 0 2
1 1 OVERRIDE_CHAN 0 2
1 1 OVERRIDE_SAFETY 1 2
1 1 PTCH2SRV_D 0.019999999552965164 9
1 1 PTCH2SRV_FF 0.000000000000000000 9
1 1 PTCH2SRV_I 0.150000005960464478 9
1 1 PTCH2SRV_IMAX 3000 4
1 1 PTCH2SRV_P 0.600000023841857910 9
1 1 PTCH2SRV_RLL 1.000000000000000000 9
1 1 PTCH2SRV_RMAX_DN 0 4
1 1 PTCH2SRV_RMAX_UP 0 4
1 1 PTCH2SRV_TCONST 0.500000000000000000 9
1 1 Q_ENABLE 0 2
1 1 RALLY_INCL_HOME 0 2
1 1 RALLY_LIMIT_KM 5.000000000000000000 9
1 1 RALLY_TOTAL 0 2
1 1 RC10_DZ 0 4
1 1 RC10_FUNCTION 0 2
1 1 RC10_MAX 1900 4
1 1 RC10_MIN 1100 4
1 1 RC10_REV 1 2
1 1 RC10_TRIM 1500 4
1 1 RC11_DZ 0 4
1 1 RC11_FUNCTION 0 2
1 1 RC11_MAX 1900 4
1 1 RC11_MIN 1100 4
1 1 RC11_REV 1 2
1 1 RC11_TRIM 1500 4
1 1 RC12_DZ 0 4
1 1 RC12_FUNCTION 0 2
1 1 RC12_MAX 1900 4
1 1 RC12_MIN 1100 4
1 1 RC12_REV 1 2
1 1 RC12_TRIM 1500 4
1 1 RC13_DZ 0 4
1 1 RC13_FUNCTION 0 2
1 1 RC13_MAX 1900 4
1 1 RC13_MIN 1100 4
1 1 RC13_REV 1 2
1 1 RC13_TRIM 1500 4
1 1 RC14_DZ 0 4
1 1 RC14_FUNCTION 0 2
1 1 RC14_MAX 1900 4
1 1 RC14_MIN 1100 4
1 1 RC14_REV 1 2
1 1 RC14_TRIM 1500 4
1 1 RC15_DZ 0 4
1 1 RC15_FUNCTION 0 2
1 1 RC15_MAX 1900 4
1 1 RC15_MIN 1100 4
1 1 RC15_REV 1 2
1 1 RC15_TRIM 1500 4
1 1 RC16_DZ 0 4
1 1 RC16_FUNCTION 0 2
1 1 RC16_MAX 1900 4
1 1 RC16_MIN 1100 4
1 1 RC16_REV 1 2
1 1 RC16_TRIM 1500 4
1 1 RC1_DZ 30 4
1 1 RC1_MAX 1900 4
1 1 RC1_MIN 1100 4
1 1 RC1_REV 1 2
1 1 RC1_TRIM 1500 4
1 1 RC2_DZ 30 4
1 1 RC2_MAX 1900 4
1 1 RC2_MIN 1100 4
1 1 RC2_REV 1 2
1 1 RC2_TRIM 1500 4
1 1 RC3_DZ 30 4
1 1 RC3_MAX 1900 4
1 1 RC3_MIN 1100 4
1 1 RC3_REV 1 2
1 1 RC3_TRIM 1100 4
1 1 RC4_DZ 30 4
1 1 RC4_MAX 1900 4
1 1 RC4_MIN 1100 4
1 1 RC4_REV 1 2
1 1 RC4_TRIM 1500 4
1 1 RC5_DZ 0 4
1 1 RC5_FUNCTION 0 2
1 1 RC5_MAX 1900 4
1 1 RC5_MIN 1100 4
1 1 RC5_REV 1 2
1 1 RC5_TRIM 1500 4
1 1 RC6_DZ 0 4
1 1 RC6_FUNCTION 0 2
1 1 RC6_MAX 1900 4
1 1 RC6_MIN 1100 4
1 1 RC6_REV 1 2
1 1 RC6_TRIM 1500 4
1 1 RC7_DZ 0 4
1 1 RC7_FUNCTION 0 2
1 1 RC7_MAX 1900 4
1 1 RC7_MIN 1100 4
1 1 RC7_REV 1 2
1 1 RC7_TRIM 1500 4
1 1 RC8_DZ 0 4
1 1 RC8_FUNCTION 0 2
1 1 RC8_MAX 1900 4
1 1 RC8_MIN 1100 4
1 1 RC8_REV 1 2
1 1 RC8_TRIM 1500 4
1 1 RC9_DZ 0 4
1 1 RC9_FUNCTION 0 2
1 1 RC9_MAX 1900 4
1 1 RC9_MIN 1100 4
1 1 RC9_REV 1 2
1 1 RC9_TRIM 1500 4
1 1 RCMAP_PITCH 2 2
1 1 RCMAP_ROLL 1 2
1 1 RCMAP_THROTTLE 3 2
1 1 RCMAP_YAW 4 2
1 1 RELAY_DEFAULT 0 2
1 1 RELAY_PIN 54 2
1 1 RELAY_PIN2 55 2
1 1 RELAY_PIN3 -1 2
1 1 RELAY_PIN4 -1 2
1 1 RLL2SRV_D 0.019999999552965164 9
1 1 RLL2SRV_FF 0.000000000000000000 9
1 1 RLL2SRV_I 0.100000001490116119 9
1 1 RLL2SRV_IMAX 3000 4
1 1 RLL2SRV_P 0.600000023841857910 9
1 1 RLL2SRV_RMAX 0 4
1 1 RLL2SRV_TCONST 0.500000000000000000 9
1 1 RNGFND2_ADDR 0 2
1 1 RNGFND2_FUNCTION 0 2
1 1 RNGFND2_GNDCLEAR 10 2
1 1 RNGFND2_MAX_CM 700 4
1 1 RNGFND2_MIN_CM 20 4
1 1 RNGFND2_OFFSET 0.000000000000000000 9
1 1 RNGFND2_PIN -1 2
1 1 RNGFND2_RMETRIC 1 2
1 1 RNGFND2_SCALING 3.000000000000000000 9
1 1 RNGFND2_SETTLE 0 4
1 1 RNGFND2_STOP_PIN -1 2
1 1 RNGFND2_TYPE 0 2
1 1 RNGFND_ADDR 0 2
1 1 RNGFND_FUNCTION 0 2
1 1 RNGFND_GNDCLEAR 10 2
1 1 RNGFND_LANDING 0 2
1 1 RNGFND_MAX_CM 700 4
1 1 RNGFND_MIN_CM 20 4
1 1 RNGFND_OFFSET 0.000000000000000000 9
1 1 RNGFND_PIN -1 2
1 1 RNGFND_PWRRNG 0 4
1 1 RNGFND_RMETRIC 1 2
1 1 RNGFND_SCALING 3.000000000000000000 9
1 1 RNGFND_SETTLE 0 4
1 1 RNGFND_STOP_PIN -1 2
1 1 RNGFND_TYPE 0 2
1 1 RPM2_SCALING 1.000000000000000000 9
1 1 RPM2_TYPE 0 2
1 1 RPM_MAX 100000.000000000000000000 9
1 1 RPM_MIN 10.000000000000000000 9
1 1 RPM_MIN_QUAL 0.500000000000000000 9
1 1 RPM_SCALING 1.000000000000000000 9
1 1 RPM_TYPE 0 2
1 1 RSSI_ANA_PIN 0 2
1 1 RSSI_CHANNEL 0 2
1 1 RSSI_CHAN_HIGH 2000 4
1 1 RSSI_CHAN_LOW 1000 4
1 1 RSSI_PIN_HIGH 5.000000000000000000 9
1 1 RSSI_PIN_LOW 0.000000000000000000 9
1 1 RSSI_TYPE 0 2
1 1 RST_MISSION_CH 0 2
1 1 RST_SWITCH_CH 0 2
1 1 RTL_AUTOLAND 0 2
1 1 RTL_RADIUS 0 4
1 1 RUDDER_ONLY 0 2
1 1 SCALING_SPEED 15.000000000000000000 9
1 1 SCHED_DEBUG 0 2
1 1 SCHED_LOOP_RATE 50 4
1 1 SERIAL0_BAUD 115 6
1 1 SERIAL0_PROTOCOL 1 2
1 1 SERIAL1_BAUD 57 6
1 1 SERIAL1_PROTOCOL 1 2
1 1 SERIAL2_BAUD 57 6
1 1 SERIAL2_PROTOCOL 1 2
1 1 SERIAL3_BAUD 38 6
1 1 SERIAL3_PROTOCOL 5 2
1 1 SERIAL4_BAUD 38 6
1 1 SERIAL4_PROTOCOL 5 2
1 1 SERIAL5_BAUD 57 6
1 1 SERIAL5_PROTOCOL -1 2
1 1 SR0_ADSB 5 4
1 1 SR0_EXTRA1 10 4
1 1 SR0_EXTRA2 10 4
1 1 SR0_EXTRA3 3 4
1 1 SR0_EXT_STAT 2 4
1 1 SR0_PARAMS 10 4
1 1 SR0_POSITION 3 4
1 1 SR0_RAW_CTRL 1 4
1 1 SR0_RAW_SENS 2 4
1 1 SR0_RC_CHAN 2 4
1 1 SR1_ADSB 5 4
1 1 SR1_EXTRA1 1 4
1 1 SR1_EXTRA2 1 4
1 1 SR1_EXTRA3 1 4
1 1 SR1_EXT_STAT 1 4
1 1 SR1_PARAMS 10 4
1 1 SR1_POSITION 1 4
1 1 SR1_RAW_CTRL 1 4
1 1 SR1_RAW_SENS 1 4
1 1 SR1_RC_CHAN 1 4
1 1 SR2_ADSB 5 4
1 1 SR2_EXTRA1 1 4
1 1 SR2_EXTRA2 1 4
1 1 SR2_EXTRA3 1 4
1 1 SR2_EXT_STAT 1 4
1 1 SR2_PARAMS 10 4
1 1 SR2_POSITION 1 4
1 1 SR2_RAW_CTRL 1 4
1 1 SR2_RAW_SENS 1 4
1 1 SR2_RC_CHAN 1 4
1 1 SR3_ADSB 5 4
1 1 SR3_EXTRA1 1 4
1 1 SR3_EXTRA2 1 4
1 1 SR3_EXTRA3 1 4
1 1 SR3_EXT_STAT 1 4
1 1 SR3_PARAMS 10 4
1 1 SR3_POSITION 1 4
1 1 SR3_RAW_CTRL 1 4
1 1 SR3_RAW_SENS 1 4
1 1 SR3_RC_CHAN 1 4
1 1 STAB_PITCH_DOWN 2.000000000000000000 9
1 1 STALL_PREVENTION 1 2
1 1 STEER2SRV_D 0.004999999888241291 9
1 1 STEER2SRV_FF 0.000000000000000000 9
1 1 STEER2SRV_I 0.200000002980232239 9
1 1 STEER2SRV_IMAX 1500 4
1 1 STEER2SRV_MINSPD 1.000000000000000000 9
1 1 STEER2SRV_P 1.799999952316284180 9
1 1 STEER2SRV_TCONST 0.750000000000000000 9
1 1 STICK_MIXING 1 2
1 1 SYSID_MYGCS 255 4
1 1 SYSID_SW_TYPE 0 2
1 1 SYSID_THISMAV 1 4
1 1 SYS_NUM_RESETS 1 4
1 1 TECS_APPR_SMAX 0.000000000000000000 9
1 1 TECS_CLMB_MAX 5.000000000000000000 9
1 1 TECS_HGT_OMEGA 3.000000000000000000 9
1 1 TECS_INTEG_GAIN 0.100000001490116119 9
1 1 TECS_LAND_ARSPD -1.000000000000000000 9
1 1 TECS_LAND_DAMP 0.500000000000000000 9
1 1 TECS_LAND_IGAIN 0.000000000000000000 9
1 1 TECS_LAND_PDAMP 0.000000000000000000 9
1 1 TECS_LAND_PMAX 10 2
1 1 TECS_LAND_SINK 0.250000000000000000 9
1 1 TECS_LAND_SPDWGT -1.000000000000000000 9
1 1 TECS_LAND_SRC 0.000000000000000000 9
1 1 TECS_LAND_TCONST 2.000000000000000000 9
1 1 TECS_LAND_TDAMP 0.000000000000000000 9
1 1 TECS_LAND_THR -1.000000000000000000 9
1 1 TECS_PITCH_MAX 0 2
1 1 TECS_PITCH_MIN 0 2
1 1 TECS_PTCH_DAMP 0.000000000000000000 9
1 1 TECS_RLL2THR 10.000000000000000000 9
1 1 TECS_SINK_MAX 5.000000000000000000 9
1 1 TECS_SINK_MIN 2.000000000000000000 9
1 1 TECS_SPDWEIGHT 1.000000000000000000 9
1 1 TECS_SPD_OMEGA 2.000000000000000000 9
1 1 TECS_THR_DAMP 0.500000000000000000 9
1 1 TECS_TIME_CONST 5.000000000000000000 9
1 1 TECS_TKOFF_IGAIN 0.000000000000000000 9
1 1 TECS_VERT_ACC 7.000000000000000000 9
1 1 TELEM_DELAY 0 2
1 1 TERRAIN_ENABLE 1 2
1 1 TERRAIN_FOLLOW 0 2
1 1 TERRAIN_LOOKAHD 2000 4
1 1 TERRAIN_SPACING 100 4
1 1 THROTTLE_NUDGE 1 2
1 1 THR_FAILSAFE 1 2
1 1 THR_FS_VALUE 950 4
1 1 THR_MAX 75 2
1 1 THR_MIN 0 2
1 1 THR_PASS_STAB 0 2
1 1 THR_SLEWRATE 100 2
1 1 THR_SUPP_MAN 0 2
1 1 TKOFF_FLAP_PCNT 0 2
1 1 TKOFF_PLIM_SEC 2.000000000000000000 9
1 1 TKOFF_ROTATE_SPD 0.000000000000000000 9
1 1 TKOFF_TDRAG_ELEV 0 2
1 1 TKOFF_TDRAG_SPD1 0.000000000000000000 9
1 1 TKOFF_THR_DELAY 2 2
1 1 TKOFF_THR_MAX 0 2
1 1 TKOFF_THR_MINACC 0.000000000000000000 9
1 1 TKOFF_THR_MINSPD 0.000000000000000000 9
1 1 TKOFF_THR_SLEW 0 2
1 1 TRIM_ARSPD_CM 1200 6
1 1 TRIM_AUTO 0 2
1 1 TRIM_PITCH_CD 0 4
1 1 TRIM_RC_AT_START 0 2
1 1 TRIM_THROTTLE 45 2
1 1 TUNE_CHAN 0 2
1 1 TUNE_CHAN_MAX 2000 4
1 1 TUNE_CHAN_MIN 1000 4
1 1 TUNE_ERR_THRESH 0.150000005960464478 9
1 1 TUNE_MODE_REVERT 1 2
1 1 TUNE_PARAM 0 4
1 1 TUNE_RANGE 2.000000000000000000 9
1 1 TUNE_SELECTOR 0 2
1 1 USE_REV_THRUST 2 4
1 1 VTAIL_OUTPUT 0 2
1 1 WP_LOITER_RAD 60 4
1 1 WP_MAX_RADIUS 0 4
1 1 WP_RADIUS 90 4
1 1 YAW2SRV_DAMP 0.000000000000000000 9
1 1 YAW2SRV_IMAX 1500 4
1 1 YAW2SRV_INT 0.000000000000000000 9
1 1 YAW2SRV_RLL 1.000000000000000000 9
1 1 YAW2SRV_SLIP 0.000000000000000000 9

BIN
src/FirmwarePlugin/APM/Plane3.9.OfflineEditing.params

Binary file not shown.

895
src/FirmwarePlugin/APM/Rover3.5.OfflineEditing.params

@ -0,0 +1,895 @@ @@ -0,0 +1,895 @@
# Onboard parameters for Vehicle 1
#
# Stack: ArduPilot
# Vehicle: Rover
# Version: 3.5.0
# Git Revision: af36fc5
#
# Vehicle-Id Component-Id Name Value Type
1 1 ACRO_TURN_RATE 180.000000000000000000 9
1 1 AHRS_COMP_BETA 0.100000001490116119 9
1 1 AHRS_CUSTOM_PIT 0.000000000000000000 9
1 1 AHRS_CUSTOM_ROLL 0.000000000000000000 9
1 1 AHRS_CUSTOM_YAW 0.000000000000000000 9
1 1 AHRS_EKF_TYPE 2 2
1 1 AHRS_GPS_GAIN 1.000000000000000000 9
1 1 AHRS_GPS_MINSATS 6 2
1 1 AHRS_GPS_USE 1 2
1 1 AHRS_ORIENTATION 0 2
1 1 AHRS_RP_P 0.200000002980232239 9
1 1 AHRS_TRIM_X 0.000000000000000000 9
1 1 AHRS_TRIM_Y 0.000000000000000000 9
1 1 AHRS_TRIM_Z 0.000000000000000000 9
1 1 AHRS_WIND_MAX 0 2
1 1 AHRS_YAW_P 0.200000002980232239 9
1 1 ARMING_ACCTHRESH 0.750000000000000000 9
1 1 ARMING_CHECK 1 4
1 1 ARMING_MIS_ITEMS 0 6
1 1 ARMING_REQUIRE 1 2
1 1 ARMING_RUDDER 2 2
1 1 ARSPD2_TYPE 0 2
1 1 ARSPD_AUTOCAL 0 2
1 1 ARSPD_BUS 1 2
1 1 ARSPD_OFFSET 0.000000000000000000 9
1 1 ARSPD_PIN 1 2
1 1 ARSPD_PRIMARY 0 2
1 1 ARSPD_PSI_RANGE 1.000000000000000000 9
1 1 ARSPD_RATIO 1.993600010871887207 9
1 1 ARSPD_SKIP_CAL 0 2
1 1 ARSPD_TUBE_ORDER 2 2
1 1 ARSPD_TYPE 2 2
1 1 ARSPD_USE 0 2
1 1 ATC_ACCEL_MAX 2.000000000000000000 9
1 1 ATC_BAL_D 0.029999999329447746 9
1 1 ATC_BAL_FF 0.000000000000000000 9
1 1 ATC_BAL_FILT 10.000000000000000000 9
1 1 ATC_BAL_I 1.500000000000000000 9
1 1 ATC_BAL_IMAX 1.000000000000000000 9
1 1 ATC_BAL_P 1.799999952316284180 9
1 1 ATC_BAL_SPD_FF 1.000000000000000000 9
1 1 ATC_BRAKE 1 2
1 1 ATC_DECEL_MAX 0.000000000000000000 9
1 1 ATC_SAIL_D 0.000000000000000000 9
1 1 ATC_SAIL_FF 0.000000000000000000 9
1 1 ATC_SAIL_FILT 10.000000000000000000 9
1 1 ATC_SAIL_I 0.100000001490116119 9
1 1 ATC_SAIL_IMAX 1.000000000000000000 9
1 1 ATC_SAIL_P 1.000000000000000000 9
1 1 ATC_SPEED_D 0.000000000000000000 9
1 1 ATC_SPEED_FF 0.000000000000000000 9
1 1 ATC_SPEED_FILT 10.000000000000000000 9
1 1 ATC_SPEED_I 0.200000002980232239 9
1 1 ATC_SPEED_IMAX 1.000000000000000000 9
1 1 ATC_SPEED_P 0.100000001490116119 9
1 1 ATC_STOP_SPEED 0.100000001490116119 9
1 1 ATC_STR_ACC_MAX 180.000000000000000000 9
1 1 ATC_STR_ANG_P 2.500000000000000000 9
1 1 ATC_STR_RAT_D 0.000000000000000000 9
1 1 ATC_STR_RAT_FF 0.750000000000000000 9
1 1 ATC_STR_RAT_FILT 10.000000000000000000 9
1 1 ATC_STR_RAT_I 0.200000002980232239 9
1 1 ATC_STR_RAT_IMAX 1.000000000000000000 9
1 1 ATC_STR_RAT_MAX 360.000000000000000000 9
1 1 ATC_STR_RAT_P 0.200000002980232239 9
1 1 AUTO_KICKSTART 0.000000000000000000 9
1 1 AUTO_TRIGGER_PIN -1 2
1 1 AVOID_ANGLE_MAX 1000 4
1 1 AVOID_BEHAVE 1 2
1 1 AVOID_DIST_MAX 5.000000000000000000 9
1 1 AVOID_ENABLE 3 2
1 1 AVOID_MARGIN 2.000000000000000000 9
1 1 BAL_PITCH_MAX 2.000000000000000000 9
1 1 BATT2_MONITOR 0 2
1 1 BATT3_MONITOR 0 2
1 1 BATT4_MONITOR 0 2
1 1 BATT5_MONITOR 0 2
1 1 BATT6_MONITOR 0 2
1 1 BATT7_MONITOR 0 2
1 1 BATT8_MONITOR 0 2
1 1 BATT9_MONITOR 0 2
1 1 BATT_AMP_OFFSET 0.000000000000000000 9
1 1 BATT_AMP_PERVLT 17.000000000000000000 9
1 1 BATT_ARM_MAH 0 6
1 1 BATT_ARM_VOLT 0.000000000000000000 9
1 1 BATT_CAPACITY 3300 6
1 1 BATT_CRT_MAH 0.000000000000000000 9
1 1 BATT_CRT_VOLT 0.000000000000000000 9
1 1 BATT_CURR_PIN 12 2
1 1 BATT_FS_CRT_ACT 0 2
1 1 BATT_FS_LOW_ACT 0 2
1 1 BATT_FS_VOLTSRC 0 2
1 1 BATT_LOW_MAH 0.000000000000000000 9
1 1 BATT_LOW_TIMER 10 2
1 1 BATT_LOW_VOLT 0.000000000000000000 9
1 1 BATT_MONITOR 4 2
1 1 BATT_SERIAL_NUM -1 6
1 1 BATT_VOLT_MULT 10.100000381469726563 9
1 1 BATT_VOLT_PIN 13 2
1 1 BCN_ALT 0.000000000000000000 9
1 1 BCN_LATITUDE 0.000000000000000000 9
1 1 BCN_LONGITUDE 0.000000000000000000 9
1 1 BCN_ORIENT_YAW 0 4
1 1 BCN_TYPE 0 2
1 1 BRD_PWM_COUNT 8 2
1 1 BRD_RTC_TYPES 1 2
1 1 BRD_SERIAL_NUM 0 4
1 1 BRD_VBUS_MIN 4.300000190734863281 9
1 1 BRD_VSERVO_MIN 0.000000000000000000 9
1 1 BTN_ENABLE 0 2
1 1 CAM_AUTO_ONLY 0 2
1 1 CAM_DURATION 10 2
1 1 CAM_FEEDBACK_PIN -1 2
1 1 CAM_FEEDBACK_POL 1 2
1 1 CAM_MAX_ROLL 0 4
1 1 CAM_MIN_INTERVAL 0 4
1 1 CAM_RELAY_ON 1 2
1 1 CAM_SERVO_OFF 1100 4
1 1 CAM_SERVO_ON 1300 4
1 1 CAM_TRIGG_DIST 0.000000000000000000 9
1 1 CAM_TRIGG_TYPE 0 2
1 1 CAM_TYPE 0 2
1 1 COMPASS_AUTODEC 1 2
1 1 COMPASS_AUTO_ROT 2 2
1 1 COMPASS_CAL_FIT 16.000000000000000000 9
1 1 COMPASS_DEC 0.207368880510330200 9
1 1 COMPASS_DEV_ID 983044 6
1 1 COMPASS_DEV_ID2 983052 6
1 1 COMPASS_DEV_ID3 0 6
1 1 COMPASS_DIA2_X 1.000000000000000000 9
1 1 COMPASS_DIA2_Y 1.000000000000000000 9
1 1 COMPASS_DIA2_Z 1.000000000000000000 9
1 1 COMPASS_DIA3_X 0.000000000000000000 9
1 1 COMPASS_DIA3_Y 0.000000000000000000 9
1 1 COMPASS_DIA3_Z 0.000000000000000000 9
1 1 COMPASS_DIA_X 1.000000000000000000 9
1 1 COMPASS_DIA_Y 1.000000000000000000 9
1 1 COMPASS_DIA_Z 1.000000000000000000 9
1 1 COMPASS_EXP_DID -1 6
1 1 COMPASS_EXP_DID2 -1 6
1 1 COMPASS_EXP_DID3 -1 6
1 1 COMPASS_EXTERN2 0 2
1 1 COMPASS_EXTERN3 0 2
1 1 COMPASS_EXTERNAL 1 2
1 1 COMPASS_FLTR_RNG 0 2
1 1 COMPASS_LEARN 1 2
1 1 COMPASS_MOT2_X 0.000000000000000000 9
1 1 COMPASS_MOT2_Y 0.000000000000000000 9
1 1 COMPASS_MOT2_Z 0.000000000000000000 9
1 1 COMPASS_MOT3_X 0.000000000000000000 9
1 1 COMPASS_MOT3_Y 0.000000000000000000 9
1 1 COMPASS_MOT3_Z 0.000000000000000000 9
1 1 COMPASS_MOTCT 0 2
1 1 COMPASS_MOT_X 0.000000000000000000 9
1 1 COMPASS_MOT_Y 0.000000000000000000 9
1 1 COMPASS_MOT_Z 0.000000000000000000 9
1 1 COMPASS_ODI2_X 0.000000000000000000 9
1 1 COMPASS_ODI2_Y 0.000000000000000000 9
1 1 COMPASS_ODI2_Z 0.000000000000000000 9
1 1 COMPASS_ODI3_X 0.000000000000000000 9
1 1 COMPASS_ODI3_Y 0.000000000000000000 9
1 1 COMPASS_ODI3_Z 0.000000000000000000 9
1 1 COMPASS_ODI_X 0.000000000000000000 9
1 1 COMPASS_ODI_Y 0.000000000000000000 9
1 1 COMPASS_ODI_Z 0.000000000000000000 9
1 1 COMPASS_OFFS_MAX 1250 4
1 1 COMPASS_OFS2_X 5.000000000000000000 9
1 1 COMPASS_OFS2_Y 13.000000000000000000 9
1 1 COMPASS_OFS2_Z -18.000000000000000000 9
1 1 COMPASS_OFS3_X 5.000000000000000000 9
1 1 COMPASS_OFS3_Y 13.000000000000000000 9
1 1 COMPASS_OFS3_Z -18.000000000000000000 9
1 1 COMPASS_OFS_X 5.000000000000000000 9
1 1 COMPASS_OFS_Y 13.000000000000000000 9
1 1 COMPASS_OFS_Z -18.000000000000000000 9
1 1 COMPASS_ORIENT 0 2
1 1 COMPASS_ORIENT2 0 2
1 1 COMPASS_ORIENT3 0 2
1 1 COMPASS_PMOT_EN 0 2
1 1 COMPASS_PRIMARY 0 2
1 1 COMPASS_TYPEMASK 0 6
1 1 COMPASS_USE 1 2
1 1 COMPASS_USE2 1 2
1 1 COMPASS_USE3 1 2
1 1 CRASH_ANGLE 0 2
1 1 CRUISE_SPEED 5.000000000000000000 9
1 1 CRUISE_THROTTLE 30 2
1 1 EK2_ABIAS_P_NSE 0.004999999888241291 9
1 1 EK2_ACC_P_NSE 0.600000023841857910 9
1 1 EK2_ALT_M_NSE 3.000000000000000000 9
1 1 EK2_ALT_SOURCE 0 2
1 1 EK2_BCN_DELAY 50 2
1 1 EK2_BCN_I_GTE 500 4
1 1 EK2_BCN_M_NSE 1.000000000000000000 9
1 1 EK2_CHECK_SCALE 100 4
1 1 EK2_EAS_I_GATE 400 4
1 1 EK2_EAS_M_NSE 1.399999976158142090 9
1 1 EK2_ENABLE 1 2
1 1 EK2_FLOW_DELAY 10 2
1 1 EK2_FLOW_I_GATE 300 4
1 1 EK2_FLOW_M_NSE 0.250000000000000000 9
1 1 EK2_GBIAS_P_NSE 0.000099999997473788 9
1 1 EK2_GLITCH_RAD 25 2
1 1 EK2_GPS_CHECK 31 2
1 1 EK2_GPS_TYPE 0 2
1 1 EK2_GSCL_P_NSE 0.000500000023748726 9
1 1 EK2_GYRO_P_NSE 0.029999999329447746 9
1 1 EK2_HGT_DELAY 60 4
1 1 EK2_HGT_I_GATE 500 4
1 1 EK2_IMU_MASK 3 2
1 1 EK2_LOG_MASK 1 2
1 1 EK2_MAGB_P_NSE 0.000099999997473788 9
1 1 EK2_MAGE_P_NSE 0.001000000047497451 9
1 1 EK2_MAG_CAL 2 2
1 1 EK2_MAG_I_GATE 300 4
1 1 EK2_MAG_MASK 0 2
1 1 EK2_MAG_M_NSE 0.050000000745058060 9
1 1 EK2_MAX_FLOW 2.500000000000000000 9
1 1 EK2_NOAID_M_NSE 10.000000000000000000 9
1 1 EK2_OGN_HGT_MASK 0 2
1 1 EK2_POSNE_M_NSE 1.000000000000000000 9
1 1 EK2_POS_I_GATE 500 4
1 1 EK2_RNG_I_GATE 500 4
1 1 EK2_RNG_M_NSE 0.500000000000000000 9
1 1 EK2_RNG_USE_HGT -1 2
1 1 EK2_RNG_USE_SPD 2.000000000000000000 9
1 1 EK2_TAU_OUTPUT 25 2
1 1 EK2_TERR_GRAD 0.100000001490116119 9
1 1 EK2_VELD_M_NSE 0.699999988079071045 9
1 1 EK2_VELNE_M_NSE 0.500000000000000000 9
1 1 EK2_VEL_I_GATE 500 4
1 1 EK2_WIND_PSCALE 0.500000000000000000 9
1 1 EK2_WIND_P_NSE 0.100000001490116119 9
1 1 EK2_YAW_I_GATE 300 4
1 1 EK2_YAW_M_NSE 0.500000000000000000 9
1 1 EK3_ENABLE 0 2
1 1 FENCE_ACTION 1 2
1 1 FENCE_ENABLE 0 2
1 1 FENCE_MARGIN 2.000000000000000000 9
1 1 FENCE_RADIUS 300.000000000000000000 9
1 1 FENCE_TOTAL 0 2
1 1 FENCE_TYPE 6 2
1 1 FOLL_ENABLE 0 2
1 1 FORMAT_VERSION 16 4
1 1 FRAME_CLASS 1 2
1 1 FRAME_TYPE 0 2
1 1 FS_ACTION 2 2
1 1 FS_CRASH_CHECK 0 2
1 1 FS_EKF_ACTION 1 2
1 1 FS_EKF_THRESH 0.800000011920928955 9
1 1 FS_GCS_ENABLE 0 2
1 1 FS_THR_ENABLE 1 2
1 1 FS_THR_VALUE 910 4
1 1 FS_TIMEOUT 1.500000000000000000 9
1 1 GCS_PID_MASK 0 4
1 1 GND_ABS_PRESS 94502.554687500000000000 9
1 1 GND_ABS_PRESS2 0.000000000000000000 9
1 1 GND_ABS_PRESS3 0.000000000000000000 9
1 1 GND_ALT_OFFSET 0.000000000000000000 9
1 1 GND_EXT_BUS -1 2
1 1 GND_FLTR_RNG 0 2
1 1 GND_PRIMARY 0 2
1 1 GND_PROBE_EXT 0 6
1 1 GND_TEMP 0.000000000000000000 9
1 1 GPS_AUTO_CONFIG 1 2
1 1 GPS_AUTO_SWITCH 1 2
1 1 GPS_BLEND_MASK 5 2
1 1 GPS_BLEND_TC 10.000000000000000000 9
1 1 GPS_DELAY_MS 0 4
1 1 GPS_DELAY_MS2 0 4
1 1 GPS_GNSS_MODE 0 2
1 1 GPS_GNSS_MODE2 0 2
1 1 GPS_INJECT_TO 127 2
1 1 GPS_MIN_DGPS 100 2
1 1 GPS_MIN_ELEV -100 2
1 1 GPS_NAVFILTER 8 2
1 1 GPS_POS1_X 0.000000000000000000 9
1 1 GPS_POS1_Y 0.000000000000000000 9
1 1 GPS_POS1_Z 0.000000000000000000 9
1 1 GPS_POS2_X 0.000000000000000000 9
1 1 GPS_POS2_Y 0.000000000000000000 9
1 1 GPS_POS2_Z 0.000000000000000000 9
1 1 GPS_RATE_MS 200 4
1 1 GPS_RATE_MS2 200 4
1 1 GPS_RAW_DATA 0 2
1 1 GPS_SAVE_CFG 2 2
1 1 GPS_SBAS_MODE 2 2
1 1 GPS_SBP_LOGMASK -256 4
1 1 GPS_TYPE 1 2
1 1 GPS_TYPE2 0 2
1 1 INITIAL_MODE 0 2
1 1 INS_ACC2OFFS_X 0.001000000047497451 9
1 1 INS_ACC2OFFS_Y 0.001000000047497451 9
1 1 INS_ACC2OFFS_Z 0.001000000047497451 9
1 1 INS_ACC2SCAL_X 1.001000046730041504 9
1 1 INS_ACC2SCAL_Y 1.001000046730041504 9
1 1 INS_ACC2SCAL_Z 1.001000046730041504 9
1 1 INS_ACC2_ID 2753036 6
1 1 INS_ACC3OFFS_X 0.000000000000000000 9
1 1 INS_ACC3OFFS_Y 0.000000000000000000 9
1 1 INS_ACC3OFFS_Z 0.000000000000000000 9
1 1 INS_ACC3SCAL_X 0.000000000000000000 9
1 1 INS_ACC3SCAL_Y 0.000000000000000000 9
1 1 INS_ACC3SCAL_Z 0.000000000000000000 9
1 1 INS_ACC3_ID 0 6
1 1 INS_ACCEL_FILTER 10 2
1 1 INS_ACCOFFS_X 0.001000000047497451 9
1 1 INS_ACCOFFS_Y 0.001000000047497451 9
1 1 INS_ACCOFFS_Z 0.001000000047497451 9
1 1 INS_ACCSCAL_X 1.001000046730041504 9
1 1 INS_ACCSCAL_Y 1.001000046730041504 9
1 1 INS_ACCSCAL_Z 1.001000046730041504 9
1 1 INS_ACC_BODYFIX 2 2
1 1 INS_ACC_ID 2753028 6
1 1 INS_ENABLE_MASK 1 2
1 1 INS_FAST_SAMPLE 0 2
1 1 INS_GYR2OFFS_X 0.000079388511949219 9
1 1 INS_GYR2OFFS_Y 0.000044256739784032 9
1 1 INS_GYR2OFFS_Z 0.000034722477721516 9
1 1 INS_GYR2_ID 2752780 6
1 1 INS_GYR3OFFS_X 0.000000000000000000 9
1 1 INS_GYR3OFFS_Y 0.000000000000000000 9
1 1 INS_GYR3OFFS_Z 0.000000000000000000 9
1 1 INS_GYR3_ID 0 6
1 1 INS_GYROFFS_X 0.000044763299229089 9
1 1 INS_GYROFFS_Y 0.000041648974729469 9
1 1 INS_GYROFFS_Z 0.000037954148865538 9
1 1 INS_GYRO_FILTER 4 2
1 1 INS_GYR_CAL 1 2
1 1 INS_GYR_ID 2752772 6
1 1 INS_LOG_BAT_CNT 1024 4
1 1 INS_LOG_BAT_LGCT 32 4
1 1 INS_LOG_BAT_LGIN 20 2
1 1 INS_LOG_BAT_MASK 127 2
1 1 INS_LOG_BAT_OPT 0 2
1 1 INS_NOTCH_ENABLE 0 2
1 1 INS_POS1_X 0.000000000000000000 9
1 1 INS_POS1_Y 0.000000000000000000 9
1 1 INS_POS1_Z 0.000000000000000000 9
1 1 INS_POS2_X 0.000000000000000000 9
1 1 INS_POS2_Y 0.000000000000000000 9
1 1 INS_POS2_Z 0.000000000000000000 9
1 1 INS_POS3_X 0.000000000000000000 9
1 1 INS_POS3_Y 0.000000000000000000 9
1 1 INS_POS3_Z 0.000000000000000000 9
1 1 INS_STILL_THRESH 0.100000001490116119 9
1 1 INS_TRIM_OPTION 1 2
1 1 INS_USE 1 2
1 1 INS_USE2 1 2
1 1 INS_USE3 0 2
1 1 LOG_BACKEND_TYPE 1 2
1 1 LOG_BITMASK 65535 6
1 1 LOG_DISARMED 0 2
1 1 LOG_FILE_BUFSIZE 16 2
1 1 LOG_FILE_DSRMROT 0 2
1 1 LOG_MAV_BUFSIZE 8 2
1 1 LOG_REPLAY 0 2
1 1 LOIT_RADIUS 2.000000000000000000 9
1 1 LOIT_TYPE 0 2
1 1 MAG_ENABLE 1 2
1 1 MIS_DONE_BEHAVE 0 2
1 1 MIS_OPTIONS 0 4
1 1 MIS_RESTART 0 2
1 1 MIS_TOTAL 0 4
1 1 MNT_ANGMAX_PAN 4500 4
1 1 MNT_ANGMAX_ROL 4500 4
1 1 MNT_ANGMAX_TIL 4500 4
1 1 MNT_ANGMIN_PAN -4500 4
1 1 MNT_ANGMIN_ROL -4500 4
1 1 MNT_ANGMIN_TIL -4500 4
1 1 MNT_DEFLT_MODE 3 2
1 1 MNT_JSTICK_SPD 0 2
1 1 MNT_LEAD_PTCH 0.000000000000000000 9
1 1 MNT_LEAD_RLL 0.000000000000000000 9
1 1 MNT_NEUTRAL_X 0.000000000000000000 9
1 1 MNT_NEUTRAL_Y 0.000000000000000000 9
1 1 MNT_NEUTRAL_Z 0.000000000000000000 9
1 1 MNT_RC_IN_PAN 0 2
1 1 MNT_RC_IN_ROLL 0 2
1 1 MNT_RC_IN_TILT 0 2
1 1 MNT_RETRACT_X 0.000000000000000000 9
1 1 MNT_RETRACT_Y 0.000000000000000000 9
1 1 MNT_RETRACT_Z 0.000000000000000000 9
1 1 MNT_STAB_PAN 0 2
1 1 MNT_STAB_ROLL 0 2
1 1 MNT_STAB_TILT 0 2
1 1 MNT_TYPE 0 2
1 1 MODE1 0 2
1 1 MODE2 0 2
1 1 MODE3 11 2
1 1 MODE4 10 2
1 1 MODE5 2 2
1 1 MODE6 0 2
1 1 MODE_CH 8 2
1 1 MOT_PWM_FREQ 16 2
1 1 MOT_PWM_TYPE 0 2
1 1 MOT_SAFE_DISARM 0 2
1 1 MOT_SLEWRATE 100 4
1 1 MOT_SPD_SCA_BASE 1.000000000000000000 9
1 1 MOT_THR_MAX 100 2
1 1 MOT_THR_MIN 0 2
1 1 MOT_THST_EXPO 0.000000000000000000 9
1 1 MOT_VEC_THR_BASE 0.000000000000000000 9
1 1 NAVL1_DAMPING 0.750000000000000000 9
1 1 NAVL1_PERIOD 8.000000000000000000 9
1 1 NAVL1_XTRACK_I 0.019999999552965164 9
1 1 NTF_BUZZ_ENABLE 1 2
1 1 NTF_BUZZ_PIN 0 2
1 1 NTF_DISPLAY_TYPE 0 2
1 1 NTF_LED_BRIGHT 3 2
1 1 NTF_LED_OVERRIDE 0 2
1 1 NTF_LED_TYPES 199 6
1 1 NTF_OREO_THEME 0 2
1 1 PILOT_STEER_TYPE 0 2
1 1 PIVOT_TURN_ANGLE 60 4
1 1 PIVOT_TURN_RATE 90 4
1 1 PRX_IGN_ANG1 0 4
1 1 PRX_IGN_ANG2 0 4
1 1 PRX_IGN_ANG3 0 4
1 1 PRX_IGN_ANG4 0 4
1 1 PRX_IGN_ANG5 0 4
1 1 PRX_IGN_ANG6 0 4
1 1 PRX_IGN_WID1 0 2
1 1 PRX_IGN_WID2 0 2
1 1 PRX_IGN_WID3 0 2
1 1 PRX_IGN_WID4 0 2
1 1 PRX_IGN_WID5 0 2
1 1 PRX_IGN_WID6 0 2
1 1 PRX_ORIENT 0 2
1 1 PRX_TYPE 0 2
1 1 PRX_YAW_CORR 22 4
1 1 RALLY_INCL_HOME 1 2
1 1 RALLY_LIMIT_KM 0.500000000000000000 9
1 1 RALLY_TOTAL 0 2
1 1 RC10_DZ 0 4
1 1 RC10_MAX 1900 4
1 1 RC10_MIN 1100 4
1 1 RC10_OPTION 0 4
1 1 RC10_REVERSED 0 2
1 1 RC10_TRIM 1500 4
1 1 RC11_DZ 0 4
1 1 RC11_MAX 1900 4
1 1 RC11_MIN 1100 4
1 1 RC11_OPTION 0 4
1 1 RC11_REVERSED 0 2
1 1 RC11_TRIM 1500 4
1 1 RC12_DZ 0 4
1 1 RC12_MAX 1900 4
1 1 RC12_MIN 1100 4
1 1 RC12_OPTION 0 4
1 1 RC12_REVERSED 0 2
1 1 RC12_TRIM 1500 4
1 1 RC13_DZ 0 4
1 1 RC13_MAX 1900 4
1 1 RC13_MIN 1100 4
1 1 RC13_OPTION 0 4
1 1 RC13_REVERSED 0 2
1 1 RC13_TRIM 1500 4
1 1 RC14_DZ 0 4
1 1 RC14_MAX 1900 4
1 1 RC14_MIN 1100 4
1 1 RC14_OPTION 0 4
1 1 RC14_REVERSED 0 2
1 1 RC14_TRIM 1500 4
1 1 RC15_DZ 0 4
1 1 RC15_MAX 1900 4
1 1 RC15_MIN 1100 4
1 1 RC15_OPTION 0 4
1 1 RC15_REVERSED 0 2
1 1 RC15_TRIM 1500 4
1 1 RC16_DZ 0 4
1 1 RC16_MAX 1900 4
1 1 RC16_MIN 1100 4
1 1 RC16_OPTION 0 4
1 1 RC16_REVERSED 0 2
1 1 RC16_TRIM 1500 4
1 1 RC1_DZ 30 4
1 1 RC1_MAX 2000 4
1 1 RC1_MIN 1000 4
1 1 RC1_OPTION 0 4
1 1 RC1_REVERSED 0 2
1 1 RC1_TRIM 1500 4
1 1 RC2_DZ 0 4
1 1 RC2_MAX 1900 4
1 1 RC2_MIN 1100 4
1 1 RC2_OPTION 0 4
1 1 RC2_REVERSED 0 2
1 1 RC2_TRIM 1500 4
1 1 RC3_DZ 30 4
1 1 RC3_MAX 2000 4
1 1 RC3_MIN 1000 4
1 1 RC3_OPTION 0 4
1 1 RC3_REVERSED 0 2
1 1 RC3_TRIM 1500 4
1 1 RC4_DZ 30 4
1 1 RC4_MAX 1900 4
1 1 RC4_MIN 1100 4
1 1 RC4_OPTION 0 4
1 1 RC4_REVERSED 0 2
1 1 RC4_TRIM 1500 4
1 1 RC5_DZ 0 4
1 1 RC5_MAX 1900 4
1 1 RC5_MIN 1100 4
1 1 RC5_OPTION 0 4
1 1 RC5_REVERSED 0 2
1 1 RC5_TRIM 1500 4
1 1 RC6_DZ 0 4
1 1 RC6_MAX 1900 4
1 1 RC6_MIN 1100 4
1 1 RC6_OPTION 0 4
1 1 RC6_REVERSED 0 2
1 1 RC6_TRIM 1500 4
1 1 RC7_DZ 0 4
1 1 RC7_MAX 1900 4
1 1 RC7_MIN 1100 4
1 1 RC7_OPTION 0 4
1 1 RC7_REVERSED 0 2
1 1 RC7_TRIM 1500 4
1 1 RC8_DZ 0 4
1 1 RC8_MAX 1900 4
1 1 RC8_MIN 1100 4
1 1 RC8_OPTION 0 4
1 1 RC8_REVERSED 0 2
1 1 RC8_TRIM 1500 4
1 1 RC9_DZ 0 4
1 1 RC9_MAX 1900 4
1 1 RC9_MIN 1100 4
1 1 RC9_OPTION 0 4
1 1 RC9_REVERSED 0 2
1 1 RC9_TRIM 1500 4
1 1 RCMAP_PITCH 2 2
1 1 RCMAP_ROLL 1 2
1 1 RCMAP_THROTTLE 3 2
1 1 RCMAP_YAW 4 2
1 1 RC_OPTIONS 0 6
1 1 RC_OVERRIDE_TIME 3.000000000000000000 9
1 1 RELAY_DEFAULT 0 2
1 1 RELAY_PIN 1 2
1 1 RELAY_PIN2 2 2
1 1 RELAY_PIN3 -1 2
1 1 RELAY_PIN4 -1 2
1 1 RELAY_PIN5 -1 2
1 1 RELAY_PIN6 -1 2
1 1 RNGFND2_ADDR 0 2
1 1 RNGFND2_FUNCTION 0 2
1 1 RNGFND2_GNDCLEAR 10 2
1 1 RNGFND2_MAX_CM 700 4
1 1 RNGFND2_MIN_CM 20 4
1 1 RNGFND2_OFFSET 0.000000000000000000 9
1 1 RNGFND2_ORIENT 0 2
1 1 RNGFND2_PIN -1 2
1 1 RNGFND2_POS_X 0.000000000000000000 9
1 1 RNGFND2_POS_Y 0.000000000000000000 9
1 1 RNGFND2_POS_Z 0.000000000000000000 9
1 1 RNGFND2_RMETRIC 1 2
1 1 RNGFND2_SCALING 3.000000000000000000 9
1 1 RNGFND2_SETTLE 0 4
1 1 RNGFND2_STOP_PIN -1 2
1 1 RNGFND2_TYPE 0 2
1 1 RNGFND_ADDR 0 2
1 1 RNGFND_DEBOUNCE 2 2
1 1 RNGFND_FUNCTION 0 2
1 1 RNGFND_GNDCLEAR 10 2
1 1 RNGFND_MAX_CM 700 4
1 1 RNGFND_MIN_CM 20 4
1 1 RNGFND_OFFSET 0.000000000000000000 9
1 1 RNGFND_ORIENT 0 2
1 1 RNGFND_PIN -1 2
1 1 RNGFND_POS_X 0.000000000000000000 9
1 1 RNGFND_POS_Y 0.000000000000000000 9
1 1 RNGFND_POS_Z 0.000000000000000000 9
1 1 RNGFND_PWRRNG 0 4
1 1 RNGFND_RMETRIC 1 2
1 1 RNGFND_SCALING 3.000000000000000000 9
1 1 RNGFND_SETTLE 0 4
1 1 RNGFND_STOP_PIN -1 2
1 1 RNGFND_TRIGGR_CM 100 4
1 1 RNGFND_TURN_ANGL 45.000000000000000000 9
1 1 RNGFND_TURN_TIME 1.000000000000000000 9
1 1 RNGFND_TYPE 0 2
1 1 RSSI_TYPE 0 2
1 1 RST_SWITCH_CH 0 2
1 1 RTL_SPEED 0.000000000000000000 9
1 1 SAIL_ANGLE_IDEAL 25.000000000000000000 9
1 1 SAIL_ANGLE_MAX 90.000000000000000000 9
1 1 SAIL_ANGLE_MIN 0.000000000000000000 9
1 1 SAIL_HEEL_MAX 15.000000000000000000 9
1 1 SAIL_NO_GO_ANGLE 45.000000000000000000 9
1 1 SCHED_DEBUG 0 2
1 1 SCHED_LOOP_RATE 50 4
1 1 SERIAL0_BAUD 115 6
1 1 SERIAL0_PROTOCOL 2 2
1 1 SERIAL1_BAUD 57 6
1 1 SERIAL1_OPTIONS 0 4
1 1 SERIAL1_PROTOCOL 1 2
1 1 SERIAL2_BAUD 57 6
1 1 SERIAL2_OPTIONS 0 4
1 1 SERIAL2_PROTOCOL 1 2
1 1 SERIAL3_BAUD 38 6
1 1 SERIAL3_OPTIONS 0 4
1 1 SERIAL3_PROTOCOL 5 2
1 1 SERIAL4_BAUD 38 6
1 1 SERIAL4_OPTIONS 0 4
1 1 SERIAL4_PROTOCOL 5 2
1 1 SERIAL5_BAUD 57 6
1 1 SERIAL5_OPTIONS 0 4
1 1 SERIAL5_PROTOCOL -1 2
1 1 SERIAL6_BAUD 57 6
1 1 SERIAL6_OPTIONS 0 4
1 1 SERIAL6_PROTOCOL -1 2
1 1 SERIAL_PASS1 0 2
1 1 SERIAL_PASS2 -1 2
1 1 SERIAL_PASSTIMO 15 2
1 1 SERVO10_FUNCTION 0 2
1 1 SERVO10_MAX 1900 4
1 1 SERVO10_MIN 1100 4
1 1 SERVO10_REVERSED 0 2
1 1 SERVO10_TRIM 1500 4
1 1 SERVO11_FUNCTION 0 2
1 1 SERVO11_MAX 1900 4
1 1 SERVO11_MIN 1100 4
1 1 SERVO11_REVERSED 0 2
1 1 SERVO11_TRIM 1500 4
1 1 SERVO12_FUNCTION 0 2
1 1 SERVO12_MAX 1900 4
1 1 SERVO12_MIN 1100 4
1 1 SERVO12_REVERSED 0 2
1 1 SERVO12_TRIM 1500 4
1 1 SERVO13_FUNCTION 0 2
1 1 SERVO13_MAX 1900 4
1 1 SERVO13_MIN 1100 4
1 1 SERVO13_REVERSED 0 2
1 1 SERVO13_TRIM 1500 4
1 1 SERVO14_FUNCTION 0 2
1 1 SERVO14_MAX 1900 4
1 1 SERVO14_MIN 1100 4
1 1 SERVO14_REVERSED 0 2
1 1 SERVO14_TRIM 1500 4
1 1 SERVO15_FUNCTION 0 2
1 1 SERVO15_MAX 1900 4
1 1 SERVO15_MIN 1100 4
1 1 SERVO15_REVERSED 0 2
1 1 SERVO15_TRIM 1500 4
1 1 SERVO16_FUNCTION 0 2
1 1 SERVO16_MAX 1900 4
1 1 SERVO16_MIN 1100 4
1 1 SERVO16_REVERSED 0 2
1 1 SERVO16_TRIM 1500 4
1 1 SERVO1_FUNCTION 26 2
1 1 SERVO1_MAX 2000 4
1 1 SERVO1_MIN 1000 4
1 1 SERVO1_REVERSED 0 2
1 1 SERVO1_TRIM 1500 4
1 1 SERVO2_FUNCTION 0 2
1 1 SERVO2_MAX 1900 4
1 1 SERVO2_MIN 1100 4
1 1 SERVO2_REVERSED 0 2
1 1 SERVO2_TRIM 1500 4
1 1 SERVO3_FUNCTION 70 2
1 1 SERVO3_MAX 2000 4
1 1 SERVO3_MIN 1000 4
1 1 SERVO3_REVERSED 0 2
1 1 SERVO3_TRIM 1500 4
1 1 SERVO4_FUNCTION 0 2
1 1 SERVO4_MAX 1900 4
1 1 SERVO4_MIN 1100 4
1 1 SERVO4_REVERSED 0 2
1 1 SERVO4_TRIM 1500 4
1 1 SERVO5_FUNCTION 0 2
1 1 SERVO5_MAX 1900 4
1 1 SERVO5_MIN 1100 4
1 1 SERVO5_REVERSED 0 2
1 1 SERVO5_TRIM 1500 4
1 1 SERVO6_FUNCTION 0 2
1 1 SERVO6_MAX 1900 4
1 1 SERVO6_MIN 1100 4
1 1 SERVO6_REVERSED 0 2
1 1 SERVO6_TRIM 1500 4
1 1 SERVO7_FUNCTION 0 2
1 1 SERVO7_MAX 1900 4
1 1 SERVO7_MIN 1100 4
1 1 SERVO7_REVERSED 0 2
1 1 SERVO7_TRIM 1500 4
1 1 SERVO8_FUNCTION 0 2
1 1 SERVO8_MAX 1900 4
1 1 SERVO8_MIN 1100 4
1 1 SERVO8_REVERSED 0 2
1 1 SERVO8_TRIM 1500 4
1 1 SERVO9_FUNCTION 0 2
1 1 SERVO9_MAX 1900 4
1 1 SERVO9_MIN 1100 4
1 1 SERVO9_REVERSED 0 2
1 1 SERVO9_TRIM 1500 4
1 1 SERVO_RATE 50 4
1 1 SERVO_ROB_POSMAX 4095 6
1 1 SERVO_ROB_POSMIN 0 6
1 1 SERVO_SBUS_RATE 50 4
1 1 SERVO_VOLZ_MASK 0 6
1 1 SIMPLE_TYPE 0 2
1 1 SIM_ACC2_BIAS_X 0.000000000000000000 9
1 1 SIM_ACC2_BIAS_Y 0.000000000000000000 9
1 1 SIM_ACC2_BIAS_Z 0.000000000000000000 9
1 1 SIM_ACC2_RND 0.000000000000000000 9
1 1 SIM_ACCEL_FAIL 0.000000000000000000 9
1 1 SIM_ACC_BIAS_X 0.000000000000000000 9
1 1 SIM_ACC_BIAS_Y 0.000000000000000000 9
1 1 SIM_ACC_BIAS_Z 0.000000000000000000 9
1 1 SIM_ACC_RND 0.000000000000000000 9
1 1 SIM_ADSB_ALT 1000.000000000000000000 9
1 1 SIM_ADSB_COUNT -1 4
1 1 SIM_ADSB_RADIUS 10000.000000000000000000 9
1 1 SIM_ADSB_TX 0 2
1 1 SIM_ARSPD2_FAIL 0.000000000000000000 9
1 1 SIM_ARSPD2_FAILP 0.000000000000000000 9
1 1 SIM_ARSPD2_PITOT 0.000000000000000000 9
1 1 SIM_ARSPD_FAIL 0.000000000000000000 9
1 1 SIM_ARSPD_FAIL_P 0.000000000000000000 9
1 1 SIM_ARSPD_PITOT 0.000000000000000000 9
1 1 SIM_ARSPD_RND 0.500000000000000000 9
1 1 SIM_ARSPD_SIGN 0 2
1 1 SIM_BARO_DELAY 0 4
1 1 SIM_BARO_DISABLE 0 2
1 1 SIM_BARO_DRIFT 0.000000000000000000 9
1 1 SIM_BARO_GLITCH 0.000000000000000000 9
1 1 SIM_BARO_RND 0.200000002980232239 9
1 1 SIM_BATT_VOLTAGE 12.600000381469726563 9
1 1 SIM_DRIFT_SPEED 0.050000000745058060 9
1 1 SIM_DRIFT_TIME 5.000000000000000000 9
1 1 SIM_ENGINE_FAIL 0 2
1 1 SIM_ENGINE_MUL 1.000000000000000000 9
1 1 SIM_FLOAT_EXCEPT 1 2
1 1 SIM_FLOW_DELAY 0 2
1 1 SIM_FLOW_ENABLE 0 2
1 1 SIM_FLOW_POS_X 0.000000000000000000 9
1 1 SIM_FLOW_POS_Y 0.000000000000000000 9
1 1 SIM_FLOW_POS_Z 0.000000000000000000 9
1 1 SIM_FLOW_RATE 10 4
1 1 SIM_GP2_GLITCH_X 0.000000000000000000 9
1 1 SIM_GP2_GLITCH_Y 0.000000000000000000 9
1 1 SIM_GP2_GLITCH_Z 0.000000000000000000 9
1 1 SIM_GPS2_ENABLE 0 2
1 1 SIM_GPS2_TYPE 1 2
1 1 SIM_GPS_ALT_OFS 0 4
1 1 SIM_GPS_BYTELOSS 0.000000000000000000 9
1 1 SIM_GPS_DELAY 1 2
1 1 SIM_GPS_DISABLE 0 2
1 1 SIM_GPS_DRIFTALT 0.000000000000000000 9
1 1 SIM_GPS_GLITCH_X 0.000000000000000000 9
1 1 SIM_GPS_GLITCH_Y 0.000000000000000000 9
1 1 SIM_GPS_GLITCH_Z 0.000000000000000000 9
1 1 SIM_GPS_HZ 5 2
1 1 SIM_GPS_LOCKTIME 0 4
1 1 SIM_GPS_NOISE 0.000000000000000000 9
1 1 SIM_GPS_NUMSATS 10 2
1 1 SIM_GPS_POS_X 0.000000000000000000 9
1 1 SIM_GPS_POS_Y 0.000000000000000000 9
1 1 SIM_GPS_POS_Z 0.000000000000000000 9
1 1 SIM_GPS_TYPE 1 2
1 1 SIM_GRPE_ENABLE 0 2
1 1 SIM_GRPE_PIN -1 2
1 1 SIM_GRPS_ENABLE 0 2
1 1 SIM_GRPS_GRAB 2000 4
1 1 SIM_GRPS_PIN -1 2
1 1 SIM_GRPS_RELEASE 1000 4
1 1 SIM_GRPS_REVERSE 0 2
1 1 SIM_GYR_RND 0.000000000000000000 9
1 1 SIM_GYR_SCALE_X 0.000000000000000000 9
1 1 SIM_GYR_SCALE_Y 0.000000000000000000 9
1 1 SIM_GYR_SCALE_Z 0.000000000000000000 9
1 1 SIM_IMU_POS_X 0.000000000000000000 9
1 1 SIM_IMU_POS_Y 0.000000000000000000 9
1 1 SIM_IMU_POS_Z 0.000000000000000000 9
1 1 SIM_MAG_ALY_HGT 1.000000000000000000 9
1 1 SIM_MAG_ALY_X 0.000000000000000000 9
1 1 SIM_MAG_ALY_Y 0.000000000000000000 9
1 1 SIM_MAG_ALY_Z 0.000000000000000000 9
1 1 SIM_MAG_DELAY 0 4
1 1 SIM_MAG_DIA_X 0.000000000000000000 9
1 1 SIM_MAG_DIA_Y 0.000000000000000000 9
1 1 SIM_MAG_DIA_Z 0.000000000000000000 9
1 1 SIM_MAG_ERROR 0.000000000000000000 9
1 1 SIM_MAG_MOT_X 0.000000000000000000 9
1 1 SIM_MAG_MOT_Y 0.000000000000000000 9
1 1 SIM_MAG_MOT_Z 0.000000000000000000 9
1 1 SIM_MAG_ODI_X 0.000000000000000000 9
1 1 SIM_MAG_ODI_Y 0.000000000000000000 9
1 1 SIM_MAG_ODI_Z 0.000000000000000000 9
1 1 SIM_MAG_OFS_X 5.000000000000000000 9
1 1 SIM_MAG_OFS_Y 13.000000000000000000 9
1 1 SIM_MAG_OFS_Z -18.000000000000000000 9
1 1 SIM_MAG_ORIENT 0 2
1 1 SIM_MAG_RND 0.000000000000000000 9
1 1 SIM_ODOM_ENABLE 0 2
1 1 SIM_PARA_ENABLE 0 2
1 1 SIM_PARA_PIN -1 2
1 1 SIM_PIN_MASK 121 4
1 1 SIM_RC_CHANCOUNT 16 2
1 1 SIM_RC_FAIL 0 2
1 1 SIM_SERVO_SPEED 0.140000000596046448 9
1 1 SIM_SONAR_GLITCH 0.000000000000000000 9
1 1 SIM_SONAR_POS_X 0.000000000000000000 9
1 1 SIM_SONAR_POS_Y 0.000000000000000000 9
1 1 SIM_SONAR_POS_Z 0.000000000000000000 9
1 1 SIM_SONAR_RND 0.000000000000000000 9
1 1 SIM_SONAR_SCALE 12.121199607849121094 9
1 1 SIM_SPEEDUP 1.000000000000000000 9
1 1 SIM_SPR_ENABLE 0 2
1 1 SIM_SPR_PUMP -1 2
1 1 SIM_SPR_SPIN -1 2
1 1 SIM_TEMP_BFACTOR 0.000000000000000000 9
1 1 SIM_TEMP_FLIGHT 35.000000000000000000 9
1 1 SIM_TEMP_START 25.000000000000000000 9
1 1 SIM_TEMP_TCONST 30.000000000000000000 9
1 1 SIM_TERRAIN 1 2
1 1 SIM_VIB_FREQ_X 0.000000000000000000 9
1 1 SIM_VIB_FREQ_Y 0.000000000000000000 9
1 1 SIM_VIB_FREQ_Z 0.000000000000000000 9
1 1 SIM_VICON_HSTLEN 0 2
1 1 SIM_WIND_DELAY 0 4
1 1 SIM_WIND_DIR 180.000000000000000000 9
1 1 SIM_WIND_DIR_Z 0.000000000000000000 9
1 1 SIM_WIND_SPD 0.000000000000000000 9
1 1 SIM_WIND_T 0 2
1 1 SIM_WIND_TURB 0.000000000000000000 9
1 1 SIM_WIND_T_ALT 60.000000000000000000 9
1 1 SIM_WIND_T_COEF 0.009999999776482582 9
1 1 SIM_WOW_PIN -1 2
1 1 SPRAY_ENABLE 0 2
1 1 SR0_EXTRA1 4 4
1 1 SR0_EXTRA2 4 4
1 1 SR0_EXTRA3 4 4
1 1 SR0_EXT_STAT 4 4
1 1 SR0_PARAMS 10 4
1 1 SR0_POSITION 4 4
1 1 SR0_RAW_CTRL 4 4
1 1 SR0_RAW_SENS 4 4
1 1 SR0_RC_CHAN 4 4
1 1 SR1_EXTRA1 1 4
1 1 SR1_EXTRA2 1 4
1 1 SR1_EXTRA3 1 4
1 1 SR1_EXT_STAT 1 4
1 1 SR1_PARAMS 10 4
1 1 SR1_POSITION 1 4
1 1 SR1_RAW_CTRL 1 4
1 1 SR1_RAW_SENS 1 4
1 1 SR1_RC_CHAN 1 4
1 1 SR2_EXTRA1 1 4
1 1 SR2_EXTRA2 1 4
1 1 SR2_EXTRA3 1 4
1 1 SR2_EXT_STAT 1 4
1 1 SR2_PARAMS 10 4
1 1 SR2_POSITION 1 4
1 1 SR2_RAW_CTRL 1 4
1 1 SR2_RAW_SENS 1 4
1 1 SR2_RC_CHAN 1 4
1 1 SR3_EXTRA1 1 4
1 1 SR3_EXTRA2 1 4
1 1 SR3_EXTRA3 1 4
1 1 SR3_EXT_STAT 1 4
1 1 SR3_PARAMS 10 4
1 1 SR3_POSITION 1 4
1 1 SR3_RAW_CTRL 1 4
1 1 SR3_RAW_SENS 1 4
1 1 SR3_RC_CHAN 1 4
1 1 SRTL_ACCURACY 2.000000000000000000 9
1 1 SRTL_POINTS 300 4
1 1 STAT_BOOTCNT 6 4
1 1 STAT_FLTTIME 0 6
1 1 STAT_RESET 104866392 6
1 1 STAT_RUNTIME 955 6
1 1 SYSID_ENFORCE 0 2
1 1 SYSID_MYGCS 255 4
1 1 SYSID_THISMAV 1 4
1 1 TELEM_DELAY 0 2
1 1 TURN_MAX_G 0.600000023841857910 9
1 1 TURN_RADIUS 0.899999976158142090 9
1 1 VISO_ORIENT 0 2
1 1 VISO_POS_X 0.000000000000000000 9
1 1 VISO_POS_Y 0.000000000000000000 9
1 1 VISO_POS_Z 0.000000000000000000 9
1 1 VISO_TYPE 0 2
1 1 WENC_TYPE 0 2
1 1 WNDVN_TYPE 0 2
1 1 WP_OVERSHOOT 2.000000000000000000 9
1 1 WP_RADIUS 3.000000000000000000 9
1 1 WP_SPEED 0.000000000000000000 9
1 1 WRC_ENABLE 0 2

69
src/FirmwarePlugin/PX4/PX4ParameterFactMetaData.xml

@ -644,6 +644,29 @@ Note: ekf2 will limit the delta velocity bias estimate magnitude to be less than @@ -644,6 +644,29 @@ Note: ekf2 will limit the delta velocity bias estimate magnitude to be less than
<long_desc>The default allows to arm the vehicle without GPS signal.</long_desc>
<boolean />
</parameter>
<parameter category="Developer" default="0" name="COM_ASPD_FS_ACT" type="INT32">
<short_desc>Airspeed fault detection (Experimental)</short_desc>
<long_desc>Failsafe action when bad airspeed measurements are detected. Ensure the COM_ASPD_STALL parameter is set correctly before use.</long_desc>
<values>
<value code="0">disabled</value>
<value code="1">log a message</value>
<value code="2">log a message, warn the user</value>
<value code="3">log a message, warn the user, switch to non-airspeed TECS mode</value>
<value code="4">log a message, warn the user, switch to non-airspeed TECS mode, switch to Return mode after COM_ASPD_FS_DLY seconds</value>
</values>
</parameter>
<parameter category="Developer" default="0" name="COM_ASPD_FS_DLY" type="INT32">
<short_desc>Airspeed fault detection delay before RTL (Experimental)</short_desc>
<long_desc>RTL delay after bad airspeed measurements are detected if COM_ASPD_FS_ACT is set to 4. Ensure the COM_ASPD_STALL parameter is set correctly before use. The failsafe start and stop delays are controlled by the COM_TAS_FS_T1 and COM_TAS_FS_T2 parameters. Additional protection against persistent airspeed sensor errors can be enabled using the COM_TAS_FS_INNOV parameter, but these addtional checks are more prone to false positives in windy conditions.</long_desc>
<min>0</min>
<max>300</max>
<unit>s</unit>
</parameter>
<parameter category="Developer" default="10.0" name="COM_ASPD_STALL" type="FLOAT">
<short_desc>Airspeed fault detection stall airspeed. (Experimental)</short_desc>
<long_desc>This is the minimum indicated airspeed at which the wing can produce 1g of lift. It is used by the airspeed sensor fault detection and failsafe calculation to detect a significant airspeed low measurement error condition and should be set based on flight test for reliable operation. The failsafe response is controlled by the COM_ASPD_FS_ACT parameter.</long_desc>
<unit>m/s</unit>
</parameter>
<parameter default="-1.0" name="COM_DISARM_LAND" type="FLOAT">
<short_desc>Time-out for auto disarm after landing</short_desc>
<long_desc>A non-zero, positive value specifies the time-out period in seconds after which the vehicle will be automatically disarmed in case a landing situation has been detected during this period. The vehicle will also auto-disarm right after arming if it has not even flown, however the time will always be 10 seconds such that the pilot has enough time to take off. A negative value means that automatic disarming triggered by landing detection is disabled.</long_desc>
@ -872,6 +895,14 @@ See COM_OBL_ACT and COM_OBL_RC_ACT to configure action</short_desc> @@ -872,6 +895,14 @@ See COM_OBL_ACT and COM_OBL_RC_ACT to configure action</short_desc>
<unit>s</unit>
<increment>1</increment>
</parameter>
<parameter default="0" name="COM_POSCTL_NAVL" type="INT32">
<short_desc>Position control navigation loss response</short_desc>
<long_desc>This sets the flight mode that will be used if navigation accuracy is no longer adequate for position control. Navigation accuracy checks can be disabled using the CBRK_VELPOSERR parameter, but doing so will remove protection for all flight modes.</long_desc>
<values>
<value code="0">Assume use of remote control after fallback. Switch to Altitude mode if a height estimate is available, else switch to MANUAL.</value>
<value code="1">Assume no use of remote control after fallback. Switch to Land mode if a height estimate is available, else switch to TERMINATION.</value>
</values>
</parameter>
<parameter default="1" name="COM_POS_FS_DELAY" type="INT32">
<short_desc>Loss of position failsafe activation delay</short_desc>
<long_desc>This sets number of seconds that the position checks need to be failed before the failsafe will activate. The default value has been optimised for rotary wing applications. For fixed wing applications, a larger value between 5 and 10 should be used.</long_desc>
@ -942,6 +973,32 @@ See COM_OBL_ACT and COM_OBL_RC_ACT to configure action</short_desc> @@ -942,6 +973,32 @@ See COM_OBL_ACT and COM_OBL_RC_ACT to configure action</short_desc>
<decimal>0</decimal>
<increment>0.05</increment>
</parameter>
<parameter category="Developer" default="1.0" name="COM_TAS_FS_INNOV" type="FLOAT">
<short_desc>Airspeed failsafe consistency threshold (Experimental)</short_desc>
<long_desc>This specifies the minimum airspeed test ratio as logged in estimator_status.tas_test_ratio required to trigger a failsafe. Larger values make the check less sensitive, smaller values make it more sensitive. Start with a value of 1.0 when tuning. When estimator_status.tas_test_ratio is &gt; 1.0 it indicates the inconsistency between predicted and measured airspeed is large enough to cause the navigation EKF to reject airspeed measurements. The time required to detect a fault when the threshold is exceeded depends on the size of the exceedance and is controlled by the COM_TAS_FS_INTEG parameter. The subsequent failsafe response is controlled by the COM_ASPD_FS_ACT parameter.</long_desc>
<min>0.5</min>
<max>3.0</max>
</parameter>
<parameter category="Developer" default="-1.0" name="COM_TAS_FS_INTEG" type="FLOAT">
<short_desc>Airspeed failsafe consistency delay (Experimental)</short_desc>
<long_desc>This sets the time integral of airspeed test ratio exceedance above COM_TAS_FS_INNOV required to trigger a failsafe. For example if COM_TAS_FS_INNOV is 100 and estimator_status.tas_test_ratio is 2.0, then the exceedance is 1.0 and the integral will rise at a rate of 1.0/second. A negative value disables the check. Larger positive values make the check less sensitive, smaller positive values make it more sensitive. The failsafe response is controlled by the COM_ASPD_FS_ACT parameter.</long_desc>
<max>30.0</max>
<unit>s</unit>
</parameter>
<parameter category="Developer" default="3" name="COM_TAS_FS_T1" type="INT32">
<short_desc>Airspeed failsafe stop delay (Experimental)</short_desc>
<long_desc>Delay before stopping use of airspeed sensor if checks indicate sensor is bad. The failsafe response is controlled by the COM_ASPD_FS_ACT parameter.</long_desc>
<min>1</min>
<max>10</max>
<unit>s</unit>
</parameter>
<parameter category="Developer" default="100" name="COM_TAS_FS_T2" type="INT32">
<short_desc>Airspeed failsafe start delay (Experimental)</short_desc>
<long_desc>Delay before switching back to using airspeed sensor if checks indicate sensor is good. The failsafe response is controlled by the COM_ASPD_FS_ACT parameter.</long_desc>
<min>10</min>
<max>1000</max>
<unit>s</unit>
</parameter>
<parameter default="1" name="COM_VEL_FS_EVH" type="FLOAT">
<short_desc>Horizontal velocity error threshold</short_desc>
<long_desc>This is the horizontal velocity error (EVH) threshold that will trigger a failsafe. The default is appropriate for a multicopter. Can be increased for a fixed-wing.</long_desc>
@ -3862,14 +3919,6 @@ Used to calculate increased terrain random walk nosie due to movement</short_des @@ -3862,14 +3919,6 @@ Used to calculate increased terrain random walk nosie due to movement</short_des
<short_desc>Flag to enable obstacle avoidance</short_desc>
<boolean />
</parameter>
<parameter default="0" name="COM_POSCTL_NAVL" type="INT32">
<short_desc>Position control navigation loss response</short_desc>
<long_desc>This sets the flight mode that will be used if navigation accuracy is no longer adequate for position control. Navigation accuracy checks can be disabled using the CBRK_VELPOSERR parameter, but doing so will remove protection for all flight modes.</long_desc>
<values>
<value code="0">Assume use of remote control after fallback. Switch to Altitude mode if a height estimate is available, else switch to MANUAL.</value>
<value code="1">Assume no use of remote control after fallback. Switch to Land mode if a height estimate is available, else switch to TERMINATION.</value>
</values>
</parameter>
<parameter default="0" name="COM_TAKEOFF_ACT" type="INT32">
<short_desc>Action after TAKEOFF has been accepted</short_desc>
<long_desc>The mode transition after TAKEOFF has completed successfully.</long_desc>
@ -9105,8 +9154,8 @@ is less than 50% of this value</short_desc> @@ -9105,8 +9154,8 @@ is less than 50% of this value</short_desc>
<max>2</max>
<reboot_required>true</reboot_required>
<values>
<value code="1">local_position_estimator, attitude_estimator_q</value>
<value code="2">ekf2</value>
<value code="1">local_position_estimator, attitude_estimator_q (unsupported)</value>
<value code="2">ekf2 (recommended)</value>
</values>
</parameter>
<parameter default="1" name="SYS_PARAM_VER" type="INT32">

7
src/PlanView/GeoFenceMapVisuals.qml

@ -20,6 +20,7 @@ import QGroundControl.FlightMap 1.0 @@ -20,6 +20,7 @@ import QGroundControl.FlightMap 1.0
/// GeoFence map visuals
Item {
id: _root
z: QGroundControl.zOrderMapItems
property var map
@ -88,10 +89,15 @@ Item { @@ -88,10 +89,15 @@ Item {
_paramCircleFenceComponent.destroy()
}
// By default the parent for Instantiator.delegate item is the Instatiator itself. By there is a bug
// in Qt which will cause a crash if this delete item has Menu item within it. Since the Menu item
// doesn't like having a non-visual item as parent. This is likely related to hybrid QQuickWidtget+QML
// Hence Qt folks are going to care. In order to workaround you have to parent the item to _root Item instead.
Instantiator {
model: _polygons
delegate : QGCMapPolygonVisuals {
parent: _root
mapControl: map
mapPolygon: object
borderWidth: object.inclusion ? _borderWidthInclusion : _borderWidthExclusion
@ -105,6 +111,7 @@ Item { @@ -105,6 +111,7 @@ Item {
model: _circles
delegate : QGCMapCircleVisuals {
parent: _root
mapControl: map
mapCircle: object
borderWidth: object.inclusion ? _borderWidthInclusion : _borderWidthExclusion

6
src/QmlControls/PIDTuning.qml

@ -316,7 +316,7 @@ RowLayout { @@ -316,7 +316,7 @@ RowLayout {
}
Item { width: 1; height: 1 }
QGCLabel { text: qsTr("Saved Tuning Values:") }
QGCLabel { text: qsTr("Clipboard Values:") }
GridLayout {
rows: savedRepeater.model.length
@ -341,12 +341,12 @@ RowLayout { @@ -341,12 +341,12 @@ RowLayout {
spacing: _margins
QGCButton {
text: qsTr("Save Values")
text: qsTr("Save To Clipboard")
onClicked: saveTuningParamValues()
}
QGCButton {
text: qsTr("Reset To Saved Values")
text: qsTr("Restore From Clipboard")
onClicked: resetToSavedTuningParamValues()
}
}

2
src/Terrain/TerrainQuery.cc

@ -489,7 +489,7 @@ void TerrainTileManager::_terrainDone(QByteArray responseBytes, QNetworkReply::N @@ -489,7 +489,7 @@ void TerrainTileManager::_terrainDone(QByteArray responseBytes, QNetworkReply::N
return;
}
qWarning() << "Received some bytes of terrain data: " << responseBytes.size();
qCDebug(TerrainQueryLog) << "Received some bytes of terrain data: " << responseBytes.size();
TerrainTile* terrainTile = new TerrainTile(responseBytes);
if (terrainTile->isValid()) {

6
src/Vehicle/Vehicle.cc

@ -1308,13 +1308,15 @@ void Vehicle::_handleAutopilotVersion(LinkInterface *link, mavlink_message_t& me @@ -1308,13 +1308,15 @@ void Vehicle::_handleAutopilotVersion(LinkInterface *link, mavlink_message_t& me
// PX4 Firmware stores the first 16 characters of the git hash as binary, with the individual bytes in reverse order
_gitHash = "";
QByteArray array((char*)autopilotVersion.flight_custom_version, 8);
for (int i = 7; i >= 0; i--) {
_gitHash.append(QString("%1").arg(autopilotVersion.flight_custom_version[i], 2, 16, QChar('0')));
}
} else {
// APM Firmware stores the first 8 characters of the git hash as an ASCII character string
_gitHash = QString::fromUtf8((char*)autopilotVersion.flight_custom_version, 8);
char nullStr[9];
strncpy(nullStr, (char*)autopilotVersion.flight_custom_version, 8);
nullStr[8] = 0;
_gitHash = nullStr;
}
if (_toolbox->corePlugin()->options()->checkFirmwareVersion()) {
_firmwarePlugin->checkIfIsLatestStable(this);

776
src/comm/APMArduCopterMockLink.params

@ -1,776 +0,0 @@ @@ -1,776 +0,0 @@
# Onboard parameters for Vehicle 1
#
# Stack: ArduPilot
# Vehicle: Multi-Rotor
# Version: 3.5.0 rc
# Git Revision: efab409b
#
# Vehicle-Id Component-Id Name Value Type
1 1 ACCEL_Z_D 0.000000000000000000 9
1 1 ACCEL_Z_FF 0.000000000000000000 9
1 1 ACCEL_Z_FILT 20.000000000000000000 9
1 1 ACCEL_Z_I 1.000000000000000000 9
1 1 ACCEL_Z_IMAX 800.000000000000000000 9
1 1 ACCEL_Z_P 0.500000000000000000 9
1 1 ACRO_BAL_PITCH 1.000000000000000000 9
1 1 ACRO_BAL_ROLL 1.000000000000000000 9
1 1 ACRO_RP_EXPO 0.300000011920928955 9
1 1 ACRO_RP_P 4.500000000000000000 9
1 1 ACRO_THR_MID 0.000000000000000000 9
1 1 ACRO_TRAINER 2 2
1 1 ACRO_YAW_P 3.000000000000000000 9
1 1 ACRO_Y_EXPO 0.000000000000000000 9
1 1 ADSB_ENABLE 0 2
1 1 AHRS_COMP_BETA 0.100000001490116119 9
1 1 AHRS_EKF_TYPE 2 2
1 1 AHRS_GPS_GAIN 1.000000000000000000 9
1 1 AHRS_GPS_MINSATS 6 2
1 1 AHRS_GPS_USE 1 2
1 1 AHRS_ORIENTATION 0 2
1 1 AHRS_RP_P 0.200000002980232239 9
1 1 AHRS_TRIM_X -0.005487891845405102 9
1 1 AHRS_TRIM_Y 0.009387995116412640 9
1 1 AHRS_TRIM_Z 0.000000000000000000 9
1 1 AHRS_WIND_MAX 0 2
1 1 AHRS_YAW_P 0.200000002980232239 9
1 1 ANGLE_MAX 3000 4
1 1 ARMING_ACCTHRESH 0.750000000000000000 9
1 1 ARMING_CHECK 1 4
1 1 ATC_ACCEL_P_MAX 110000.000000000000000000 9
1 1 ATC_ACCEL_R_MAX 110000.000000000000000000 9
1 1 ATC_ACCEL_Y_MAX 18000.000000000000000000 9
1 1 ATC_ANGLE_BOOST 1 2
1 1 ATC_ANG_LIM_TC 1.000000000000000000 9
1 1 ATC_ANG_PIT_P 11.250000000000000000 9
1 1 ATC_ANG_RLL_P 11.250000000000000000 9
1 1 ATC_ANG_YAW_P 6.000000000000000000 9
1 1 ATC_RATE_FF_ENAB 1 2
1 1 ATC_RAT_PIT_D 0.008325000293552876 9
1 1 ATC_RAT_PIT_FF 0.000000000000000000 9
1 1 ATC_RAT_PIT_FILT 20.000000000000000000 9
1 1 ATC_RAT_PIT_I 0.126000002026557922 9
1 1 ATC_RAT_PIT_IMAX 0.222222223877906799 9
1 1 ATC_RAT_PIT_P 0.126000002026557922 9
1 1 ATC_RAT_RLL_D 0.011249999515712261 9
1 1 ATC_RAT_RLL_FF 0.000000000000000000 9
1 1 ATC_RAT_RLL_FILT 20.000000000000000000 9
1 1 ATC_RAT_RLL_I 0.182249993085861206 9
1 1 ATC_RAT_RLL_IMAX 0.222222223877906799 9
1 1 ATC_RAT_RLL_P 0.182249993085861206 9
1 1 ATC_RAT_YAW_D 0.003600000170990825 9
1 1 ATC_RAT_YAW_FF 0.000000000000000000 9
1 1 ATC_RAT_YAW_FILT 5.000000000000000000 9
1 1 ATC_RAT_YAW_I 0.035999998450279236 9
1 1 ATC_RAT_YAW_IMAX 0.222000002861022949 9
1 1 ATC_RAT_YAW_P 0.359999984502792358 9
1 1 ATC_SLEW_YAW 1000.000000000000000000 9
1 1 ATC_THR_MIX_MAN 0.500000000000000000 9
1 1 ATC_THR_MIX_MAX 0.500000000000000000 9
1 1 ATC_THR_MIX_MIN 0.100000001490116119 9
1 1 AUTOTUNE_AGGR 0.100000001490116119 9
1 1 AUTOTUNE_AXES 7 2
1 1 AUTOTUNE_MIN_D 0.001000000047497451 9
1 1 AVD_ENABLE 0 2
1 1 AVOID_ANGLE_MAX 1000 4
1 1 AVOID_DIST_MAX 10.000000000000000000 9
1 1 AVOID_ENABLE 3 2
1 1 AVOID_MARGIN 2.000000000000000000 9
1 1 BATT2_AMP_OFFSET 0.000000000000000000 9
1 1 BATT2_AMP_PERVOL 17.000000000000000000 9
1 1 BATT2_CAPACITY 3300 6
1 1 BATT2_CURR_PIN 3 2
1 1 BATT2_MONITOR 0 2
1 1 BATT2_SERIAL_NUM -1 6
1 1 BATT2_VOLT_MULT 10.100000381469726563 9
1 1 BATT2_VOLT_PIN 2 2
1 1 BATT_AMP_OFFSET 0.000000000000000000 9
1 1 BATT_AMP_PERVOLT 17.000000000000000000 9
1 1 BATT_CAPACITY 5100 6
1 1 BATT_CURR_PIN 3 2
1 1 BATT_MONITOR 4 2
1 1 BATT_SERIAL_NUM -1 6
1 1 BATT_VOLT_MULT 12.020000457763671875 9
1 1 BATT_VOLT_PIN 2 2
1 1 BATT_VOLT_TIMER 10 2
1 1 BCN_ALT 0.000000000000000000 9
1 1 BCN_LATITUDE 0.000000000000000000 9
1 1 BCN_LONGITUDE 0.000000000000000000 9
1 1 BCN_ORIENT_YAW 0 4
1 1 BCN_TYPE 0 2
1 1 BRD_CAN_ENABLE 0 2
1 1 BRD_IMU_TARGTEMP -1 2
1 1 BRD_IO_ENABLE 1 2
1 1 BRD_PWM_COUNT 4 2
1 1 BRD_SAFETYENABLE 1 2
1 1 BRD_SAFETY_MASK 16368 6
1 1 BRD_SBUS_OUT 0 2
1 1 BRD_SER1_RTSCTS 2 2
1 1 BRD_SER2_RTSCTS 2 2
1 1 BRD_SERIAL_NUM 0 4
1 1 BRD_TYPE 2 2
1 1 BTN_ENABLE 0 2
1 1 CAM_DURATION 10 2
1 1 CAM_FEEDBACK_PIN -1 2
1 1 CAM_FEEDBACK_POL 1 2
1 1 CAM_MAX_ROLL 0 4
1 1 CAM_MIN_INTERVAL 0 4
1 1 CAM_RELAY_ON 1 2
1 1 CAM_SERVO_OFF 1100 4
1 1 CAM_SERVO_ON 1300 4
1 1 CAM_TRIGG_DIST 0.000000000000000000 9
1 1 CAM_TRIGG_TYPE 0 2
1 1 CH10_OPT 0 2
1 1 CH11_OPT 0 2
1 1 CH12_OPT 0 2
1 1 CH7_OPT 4 2
1 1 CH8_OPT 0 2
1 1 CH9_OPT 0 2
1 1 CHUTE_ENABLED 0 2
1 1 CIRCLE_RADIUS 1000.000000000000000000 9
1 1 CIRCLE_RATE 20.000000000000000000 9
1 1 CLI_ENABLED 0 2
1 1 COMPASS_AUTODEC 1 2
1 1 COMPASS_CAL_FIT 16.000000000000000000 9
1 1 COMPASS_DEC 0.000000000000000000 9
1 1 COMPASS_DEV_ID 466441 6
1 1 COMPASS_DEV_ID2 131594 6
1 1 COMPASS_DEV_ID3 0 6
1 1 COMPASS_DIA2_X 0.990296721458435059 9
1 1 COMPASS_DIA2_Y 0.971784174442291260 9
1 1 COMPASS_DIA2_Z 1.007365465164184570 9
1 1 COMPASS_DIA3_X 0.000000000000000000 9
1 1 COMPASS_DIA3_Y 0.000000000000000000 9
1 1 COMPASS_DIA3_Z 0.000000000000000000 9
1 1 COMPASS_DIA_X 0.947009563446044922 9
1 1 COMPASS_DIA_Y 0.937935292720794678 9
1 1 COMPASS_DIA_Z 1.060336470603942871 9
1 1 COMPASS_EXTERN2 0 2
1 1 COMPASS_EXTERN3 0 2
1 1 COMPASS_EXTERNAL 1 2
1 1 COMPASS_LEARN 0 2
1 1 COMPASS_MOT2_X 0.000000000000000000 9
1 1 COMPASS_MOT2_Y 0.000000000000000000 9
1 1 COMPASS_MOT2_Z 0.000000000000000000 9
1 1 COMPASS_MOT3_X 0.000000000000000000 9
1 1 COMPASS_MOT3_Y 0.000000000000000000 9
1 1 COMPASS_MOT3_Z 0.000000000000000000 9
1 1 COMPASS_MOTCT 0 2
1 1 COMPASS_MOT_X 0.000000000000000000 9
1 1 COMPASS_MOT_Y 0.000000000000000000 9
1 1 COMPASS_MOT_Z 0.000000000000000000 9
1 1 COMPASS_ODI2_X -0.006166019476950169 9
1 1 COMPASS_ODI2_Y 0.001182210398837924 9
1 1 COMPASS_ODI2_Z 0.018183957785367966 9
1 1 COMPASS_ODI3_X 0.000000000000000000 9
1 1 COMPASS_ODI3_Y 0.000000000000000000 9
1 1 COMPASS_ODI3_Z 0.000000000000000000 9
1 1 COMPASS_ODI_X -0.013673859648406506 9
1 1 COMPASS_ODI_Y 0.001898076618090272 9
1 1 COMPASS_ODI_Z -0.007604577112942934 9
1 1 COMPASS_OFFS_MAX 600 4
1 1 COMPASS_OFS2_X 280.823242187500000000 9
1 1 COMPASS_OFS2_Y 87.670928955078125000 9
1 1 COMPASS_OFS2_Z -469.461639404296875000 9
1 1 COMPASS_OFS3_X 0.000000000000000000 9
1 1 COMPASS_OFS3_Y 0.000000000000000000 9
1 1 COMPASS_OFS3_Z 0.000000000000000000 9
1 1 COMPASS_OFS_X -112.272964477539062500 9
1 1 COMPASS_OFS_Y -5.009645462036132813 9
1 1 COMPASS_OFS_Z 34.276287078857421875 9
1 1 COMPASS_ORIENT 0 2
1 1 COMPASS_ORIENT2 0 2
1 1 COMPASS_ORIENT3 0 2
1 1 COMPASS_PRIMARY 0 2
1 1 COMPASS_USE 1 2
1 1 COMPASS_USE2 1 2
1 1 COMPASS_USE3 1 2
1 1 DEV_OPTIONS 0 6
1 1 DISARM_DELAY 10 2
1 1 EK2_ABIAS_P_NSE 0.004999999888241291 9
1 1 EK2_ACC_P_NSE 0.600000023841857910 9
1 1 EK2_ALT_M_NSE 3.000000000000000000 9
1 1 EK2_ALT_SOURCE 0 2
1 1 EK2_BCN_DELAY 50 2
1 1 EK2_BCN_I_GTE 500 4
1 1 EK2_BCN_M_NSE 1.000000000000000000 9
1 1 EK2_CHECK_SCALE 100 4
1 1 EK2_EAS_I_GATE 400 4
1 1 EK2_EAS_M_NSE 1.399999976158142090 9
1 1 EK2_ENABLE 1 2
1 1 EK2_FLOW_DELAY 10 2
1 1 EK2_FLOW_I_GATE 300 4
1 1 EK2_FLOW_M_NSE 0.250000000000000000 9
1 1 EK2_GBIAS_P_NSE 0.000099999997473788 9
1 1 EK2_GLITCH_RAD 25 2
1 1 EK2_GPS_CHECK 31 2
1 1 EK2_GPS_DELAY 220 4
1 1 EK2_GPS_TYPE 0 2
1 1 EK2_GSCL_P_NSE 0.000500000023748726 9
1 1 EK2_GYRO_P_NSE 0.029999999329447746 9
1 1 EK2_HGT_DELAY 60 4
1 1 EK2_HGT_I_GATE 500 4
1 1 EK2_IMU_MASK 3 2
1 1 EK2_LOG_MASK 1 2
1 1 EK2_MAGB_P_NSE 0.000099999997473788 9
1 1 EK2_MAGE_P_NSE 0.001000000047497451 9
1 1 EK2_MAG_CAL 3 2
1 1 EK2_MAG_I_GATE 300 4
1 1 EK2_MAG_MASK 0 2
1 1 EK2_MAG_M_NSE 0.050000000745058060 9
1 1 EK2_MAX_FLOW 2.500000000000000000 9
1 1 EK2_NOAID_M_NSE 10.000000000000000000 9
1 1 EK2_POSNE_M_NSE 1.000000000000000000 9
1 1 EK2_POS_I_GATE 500 4
1 1 EK2_RNG_I_GATE 500 4
1 1 EK2_RNG_M_NSE 0.500000000000000000 9
1 1 EK2_RNG_USE_HGT -1 2
1 1 EK2_RNG_USE_SPD 2.000000000000000000 9
1 1 EK2_TAU_OUTPUT 25 2
1 1 EK2_TERR_GRAD 0.100000001490116119 9
1 1 EK2_VELD_M_NSE 0.699999988079071045 9
1 1 EK2_VELNE_M_NSE 0.500000000000000000 9
1 1 EK2_VEL_I_GATE 500 4
1 1 EK2_WIND_PSCALE 0.500000000000000000 9
1 1 EK2_WIND_P_NSE 0.100000001490116119 9
1 1 EK2_YAW_I_GATE 300 4
1 1 EK2_YAW_M_NSE 0.500000000000000000 9
1 1 EK3_ENABLE 0 2
1 1 ESC_CALIBRATION 0 2
1 1 FENCE_ACTION 1 2
1 1 FENCE_ALT_MAX 100.000000000000000000 9
1 1 FENCE_ENABLE 1 2
1 1 FENCE_MARGIN 2.000000000000000000 9
1 1 FENCE_RADIUS 300.000000000000000000 9
1 1 FENCE_TOTAL 0 2
1 1 FENCE_TYPE 3 2
1 1 FLOW_BUS_ID 0 2
1 1 FLOW_ENABLE 0 2
1 1 FLOW_FXSCALER 0 4
1 1 FLOW_FYSCALER 0 4
1 1 FLOW_ORIENT_YAW 0 4
1 1 FLOW_POS_X 0.000000000000000000 9
1 1 FLOW_POS_Y 0.000000000000000000 9
1 1 FLOW_POS_Z 0.000000000000000000 9
1 1 FLTMODE1 0 2
1 1 FLTMODE2 5 2
1 1 FLTMODE3 3 2
1 1 FLTMODE4 6 2
1 1 FLTMODE5 6 2
1 1 FLTMODE6 6 2
1 1 FRAME_CLASS 1 2
1 1 FRAME_TYPE 2 2
1 1 FS_BATT_ENABLE 1 2
1 1 FS_BATT_MAH 0.000000000000000000 9
1 1 FS_BATT_VOLTAGE 10.500000000000000000 9
1 1 FS_CRASH_CHECK 1 2
1 1 FS_EKF_ACTION 1 2
1 1 FS_EKF_THRESH 0.800000011920928955 9
1 1 FS_GCS_ENABLE 1 2
1 1 FS_THR_ENABLE 1 2
1 1 FS_THR_VALUE 975 4
1 1 GCS_PID_MASK 0 4
1 1 GND_ABS_PRESS 101975.898437500000000000 9
1 1 GND_ABS_PRESS2 0.000000000000000000 9
1 1 GND_ABS_PRESS3 0.000000000000000000 9
1 1 GND_ALT_OFFSET 0.000000000000000000 9
1 1 GND_EFFECT_COMP 0 2
1 1 GND_EXT_BUS -1 2
1 1 GND_PRIMARY 0 2
1 1 GND_TEMP 0.000000000000000000 9
1 1 GPS_AUTO_CONFIG 1 2
1 1 GPS_AUTO_SWITCH 1 2
1 1 GPS_BLEND_MASK 5 2
1 1 GPS_BLEND_TC 10.000000000000000000 9
1 1 GPS_DELAY_MS 0 4
1 1 GPS_DELAY_MS2 0 4
1 1 GPS_GNSS_MODE 0 2
1 1 GPS_GNSS_MODE2 0 2
1 1 GPS_HDOP_GOOD 250 4
1 1 GPS_INJECT_TO 127 2
1 1 GPS_MIN_DGPS 100 2
1 1 GPS_MIN_ELEV -100 2
1 1 GPS_NAVFILTER 8 2
1 1 GPS_POS1_X 0.000000000000000000 9
1 1 GPS_POS1_Y 0.000000000000000000 9
1 1 GPS_POS1_Z 0.000000000000000000 9
1 1 GPS_POS2_X 0.000000000000000000 9
1 1 GPS_POS2_Y 0.000000000000000000 9
1 1 GPS_POS2_Z 0.000000000000000000 9
1 1 GPS_RATE_MS 200 4
1 1 GPS_RATE_MS2 200 4
1 1 GPS_RAW_DATA 0 2
1 1 GPS_SAVE_CFG 0 2
1 1 GPS_SBAS_MODE 2 2
1 1 GPS_SBP_LOGMASK -256 4
1 1 GPS_TYPE 1 2
1 1 GPS_TYPE2 0 2
1 1 GRIP_ENABLE 0 2
1 1 INS_ACC2OFFS_X 0.465681284666061401 9
1 1 INS_ACC2OFFS_Y -0.163094490766525269 9
1 1 INS_ACC2OFFS_Z 0.841708540916442871 9
1 1 INS_ACC2SCAL_X 1.025157928466796875 9
1 1 INS_ACC2SCAL_Y 1.017194271087646484 9
1 1 INS_ACC2SCAL_Z 1.034052014350891113 9
1 1 INS_ACC2_ID 1114634 6
1 1 INS_ACC3OFFS_X 0.000000000000000000 9
1 1 INS_ACC3OFFS_Y 0.000000000000000000 9
1 1 INS_ACC3OFFS_Z 0.000000000000000000 9
1 1 INS_ACC3SCAL_X 0.000000000000000000 9
1 1 INS_ACC3SCAL_Y 0.000000000000000000 9
1 1 INS_ACC3SCAL_Z 0.000000000000000000 9
1 1 INS_ACC3_ID 0 6
1 1 INS_ACCEL_FILTER 20 2
1 1 INS_ACCOFFS_X -0.064211823046207428 9
1 1 INS_ACCOFFS_Y -0.180485680699348450 9
1 1 INS_ACCOFFS_Z -0.311422348022460938 9
1 1 INS_ACCSCAL_X 0.995959579944610596 9
1 1 INS_ACCSCAL_Y 1.004220247268676758 9
1 1 INS_ACCSCAL_Z 0.992680013179779053 9
1 1 INS_ACC_BODYFIX 2 2
1 1 INS_ACC_ID 1246218 6
1 1 INS_FAST_SAMPLE 0 2
1 1 INS_GYR2OFFS_X 0.033170118927955627 9
1 1 INS_GYR2OFFS_Y -0.008167488500475883 9
1 1 INS_GYR2OFFS_Z -0.009966009296476841 9
1 1 INS_GYR2_ID 2228490 6
1 1 INS_GYR3OFFS_X 0.000000000000000000 9
1 1 INS_GYR3OFFS_Y 0.000000000000000000 9
1 1 INS_GYR3OFFS_Z 0.000000000000000000 9
1 1 INS_GYR3_ID 0 6
1 1 INS_GYROFFS_X -0.020668458193540573 9
1 1 INS_GYROFFS_Y 0.071772724390029907 9
1 1 INS_GYROFFS_Z -0.002931264694780111 9
1 1 INS_GYRO_FILTER 20 2
1 1 INS_GYR_CAL 1 2
1 1 INS_GYR_ID 2163722 6
1 1 INS_POS1_X 0.000000000000000000 9
1 1 INS_POS1_Y 0.000000000000000000 9
1 1 INS_POS1_Z 0.000000000000000000 9
1 1 INS_POS2_X 0.000000000000000000 9
1 1 INS_POS2_Y 0.000000000000000000 9
1 1 INS_POS2_Z 0.000000000000000000 9
1 1 INS_POS3_X 0.000000000000000000 9
1 1 INS_POS3_Y 0.000000000000000000 9
1 1 INS_POS3_Z 0.000000000000000000 9
1 1 INS_PRODUCT_ID 5 4
1 1 INS_STILL_THRESH 2.500000000000000000 9
1 1 INS_TRIM_OPTION 1 2
1 1 INS_USE 1 2
1 1 INS_USE2 1 2
1 1 INS_USE3 0 2
1 1 LAND_REPOSITION 1 2
1 1 LAND_SPEED 50 4
1 1 LAND_SPEED_HIGH 0 4
1 1 LGR_SERVO_DEPLOY 1750 4
1 1 LGR_SERVO_RTRACT 1250 4
1 1 LOG_BACKEND_TYPE 1 2
1 1 LOG_BITMASK 176126 6
1 1 LOG_DISARMED 0 2
1 1 LOG_FILE_BUFSIZE 16 2
1 1 LOG_FILE_DSRMROT 0 2
1 1 LOG_REPLAY 0 2
1 1 MAG_ENABLE 1 2
1 1 MIS_RESTART 0 2
1 1 MIS_TOTAL 0 4
1 1 MNT_ANGMAX_PAN 4500 4
1 1 MNT_ANGMAX_ROL 4500 4
1 1 MNT_ANGMAX_TIL 0 4
1 1 MNT_ANGMIN_PAN -4500 4
1 1 MNT_ANGMIN_ROL -4500 4
1 1 MNT_ANGMIN_TIL -9000 4
1 1 MNT_DEFLT_MODE 3 2
1 1 MNT_JSTICK_SPD 0 2
1 1 MNT_LEAD_PTCH 0.000000000000000000 9
1 1 MNT_LEAD_RLL 0.000000000000000000 9
1 1 MNT_NEUTRAL_X 0.000000000000000000 9
1 1 MNT_NEUTRAL_Y 0.000000000000000000 9
1 1 MNT_NEUTRAL_Z 0.000000000000000000 9
1 1 MNT_RC_IN_PAN 0 2
1 1 MNT_RC_IN_ROLL 0 2
1 1 MNT_RC_IN_TILT 6 2
1 1 MNT_RETRACT_X 0.000000000000000000 9
1 1 MNT_RETRACT_Y 0.000000000000000000 9
1 1 MNT_RETRACT_Z 0.000000000000000000 9
1 1 MNT_STAB_PAN 0 2
1 1 MNT_STAB_ROLL 0 2
1 1 MNT_STAB_TILT 0 2
1 1 MNT_TYPE 1 2
1 1 MOT_BAT_CURR_MAX 0.000000000000000000 9
1 1 MOT_BAT_CURR_TC 5.000000000000000000 9
1 1 MOT_BAT_VOLT_MAX 0.000000000000000000 9
1 1 MOT_BAT_VOLT_MIN 0.000000000000000000 9
1 1 MOT_HOVER_LEARN 2 2
1 1 MOT_PWM_MAX 0 4
1 1 MOT_PWM_MIN 0 4
1 1 MOT_PWM_TYPE 0 2
1 1 MOT_SAFE_DISARM 0 2
1 1 MOT_SPIN_ARM 0.100000001490116119 9
1 1 MOT_SPIN_MAX 0.949999988079071045 9
1 1 MOT_SPIN_MIN 0.150000005960464478 9
1 1 MOT_SPOOL_TIME 0.500000000000000000 9
1 1 MOT_THST_EXPO 0.649999976158142090 9
1 1 MOT_THST_HOVER 0.472181797027587891 9
1 1 MOT_YAW_HEADROOM 200 4
1 1 NTF_BUZZ_ENABLE 1 2
1 1 NTF_DISPLAY_TYPE 0 2
1 1 NTF_LED_BRIGHT 3 2
1 1 NTF_LED_OVERRIDE 0 2
1 1 PHLD_BRAKE_ANGLE 3000 4
1 1 PHLD_BRAKE_RATE 8 4
1 1 PILOT_ACCEL_Z 250 4
1 1 PILOT_THR_BHV 0 4
1 1 PILOT_THR_FILT 0.000000000000000000 9
1 1 PILOT_TKOFF_ALT 0.000000000000000000 9
1 1 PILOT_TKOFF_DZ 100 4
1 1 PILOT_VELZ_MAX 250 4
1 1 PLND_ENABLED 0 2
1 1 POS_XY_P 1.000000000000000000 9
1 1 POS_Z_P 1.000000000000000000 9
1 1 PRX_IGN_ANG1 0 4
1 1 PRX_IGN_ANG2 0 4
1 1 PRX_IGN_ANG3 0 4
1 1 PRX_IGN_ANG4 0 4
1 1 PRX_IGN_ANG5 0 4
1 1 PRX_IGN_ANG6 0 4
1 1 PRX_IGN_WID1 0 2
1 1 PRX_IGN_WID2 0 2
1 1 PRX_IGN_WID3 0 2
1 1 PRX_IGN_WID4 0 2
1 1 PRX_IGN_WID5 0 2
1 1 PRX_IGN_WID6 0 2
1 1 PRX_ORIENT 0 2
1 1 PRX_TYPE 0 2
1 1 PRX_YAW_CORR 22 4
1 1 PSC_ACC_XY_FILT 2.000000000000000000 9
1 1 RALLY_INCL_HOME 1 2
1 1 RALLY_LIMIT_KM 0.300000011920928955 9
1 1 RALLY_TOTAL 0 2
1 1 RC10_DZ 0 4
1 1 RC10_MAX 2000 4
1 1 RC10_MIN 1000 4
1 1 RC10_REVERSED 0 2
1 1 RC10_TRIM 1500 4
1 1 RC11_DZ 0 4
1 1 RC11_MAX 2000 4
1 1 RC11_MIN 1000 4
1 1 RC11_REVERSED 0 2
1 1 RC11_TRIM 1500 4
1 1 RC12_DZ 0 4
1 1 RC12_MAX 2000 4
1 1 RC12_MIN 1000 4
1 1 RC12_REVERSED 0 2
1 1 RC12_TRIM 1500 4
1 1 RC13_DZ 0 4
1 1 RC13_MAX 2000 4
1 1 RC13_MIN 1000 4
1 1 RC13_REVERSED 0 2
1 1 RC13_TRIM 1500 4
1 1 RC14_DZ 0 4
1 1 RC14_MAX 2000 4
1 1 RC14_MIN 1000 4
1 1 RC14_REVERSED 0 2
1 1 RC14_TRIM 1500 4
1 1 RC15_DZ 0 4
1 1 RC15_MAX 1900 4
1 1 RC15_MIN 1100 4
1 1 RC15_REVERSED 0 2
1 1 RC15_TRIM 1500 4
1 1 RC16_DZ 0 4
1 1 RC16_MAX 1900 4
1 1 RC16_MIN 1100 4
1 1 RC16_REVERSED 0 2
1 1 RC16_TRIM 1500 4
1 1 RC1_DZ 10 4
1 1 RC1_MAX 2014 4
1 1 RC1_MIN 990 4
1 1 RC1_REVERSED 0 2
1 1 RC1_TRIM 1503 4
1 1 RC2_DZ 10 4
1 1 RC2_MAX 2015 4
1 1 RC2_MIN 991 4
1 1 RC2_REVERSED 0 2
1 1 RC2_TRIM 1504 4
1 1 RC3_DZ 30 4
1 1 RC3_MAX 2016 4
1 1 RC3_MIN 992 4
1 1 RC3_REVERSED 0 2
1 1 RC3_TRIM 992 4
1 1 RC4_DZ 10 4
1 1 RC4_MAX 2015 4
1 1 RC4_MIN 992 4
1 1 RC4_REVERSED 0 2
1 1 RC4_TRIM 1501 4
1 1 RC5_DZ 0 4
1 1 RC5_MAX 2016 4
1 1 RC5_MIN 991 4
1 1 RC5_REVERSED 0 2
1 1 RC5_TRIM 1503 4
1 1 RC6_DZ 0 4
1 1 RC6_MAX 2016 4
1 1 RC6_MIN 991 4
1 1 RC6_REVERSED 0 2
1 1 RC6_TRIM 1503 4
1 1 RC7_DZ 0 4
1 1 RC7_MAX 2016 4
1 1 RC7_MIN 991 4
1 1 RC7_REVERSED 0 2
1 1 RC7_TRIM 1503 4
1 1 RC8_DZ 0 4
1 1 RC8_MAX 2015 4
1 1 RC8_MIN 991 4
1 1 RC8_REVERSED 0 2
1 1 RC8_TRIM 1503 4
1 1 RC9_DZ 0 4
1 1 RC9_MAX 2000 4
1 1 RC9_MIN 1000 4
1 1 RC9_REVERSED 0 2
1 1 RC9_TRIM 1500 4
1 1 RCMAP_PITCH 2 2
1 1 RCMAP_ROLL 1 2
1 1 RCMAP_THROTTLE 3 2
1 1 RCMAP_YAW 4 2
1 1 RC_FEEL_RP 25 2
1 1 RC_SPEED 490 4
1 1 RELAY_DEFAULT 0 2
1 1 RELAY_PIN 54 2
1 1 RELAY_PIN2 55 2
1 1 RELAY_PIN3 -1 2
1 1 RELAY_PIN4 -1 2
1 1 RNGFND2_ADDR 0 2
1 1 RNGFND2_FUNCTION 0 2
1 1 RNGFND2_GNDCLEAR 10 2
1 1 RNGFND2_MAX_CM 700 4
1 1 RNGFND2_MIN_CM 20 4
1 1 RNGFND2_OFFSET 0.000000000000000000 9
1 1 RNGFND2_ORIENT 25 2
1 1 RNGFND2_PIN -1 2
1 1 RNGFND2_POS_X 0.000000000000000000 9
1 1 RNGFND2_POS_Y 0.000000000000000000 9
1 1 RNGFND2_POS_Z 0.000000000000000000 9
1 1 RNGFND2_RMETRIC 1 2
1 1 RNGFND2_SCALING 3.000000000000000000 9
1 1 RNGFND2_SETTLE 0 4
1 1 RNGFND2_STOP_PIN -1 2
1 1 RNGFND2_TYPE 0 2
1 1 RNGFND_ADDR 0 2
1 1 RNGFND_FUNCTION 0 2
1 1 RNGFND_GAIN 0.800000011920928955 9
1 1 RNGFND_GNDCLEAR 10 2
1 1 RNGFND_MAX_CM 700 4
1 1 RNGFND_MIN_CM 20 4
1 1 RNGFND_OFFSET 0.000000000000000000 9
1 1 RNGFND_ORIENT 25 2
1 1 RNGFND_PIN -1 2
1 1 RNGFND_POS_X 0.000000000000000000 9
1 1 RNGFND_POS_Y 0.000000000000000000 9
1 1 RNGFND_POS_Z 0.000000000000000000 9
1 1 RNGFND_PWRRNG 0 4
1 1 RNGFND_RMETRIC 1 2
1 1 RNGFND_SCALING 3.000000000000000000 9
1 1 RNGFND_SETTLE 0 4
1 1 RNGFND_STOP_PIN -1 2
1 1 RNGFND_TYPE 0 2
1 1 RPM2_PIN -1 2
1 1 RPM2_SCALING 1.000000000000000000 9
1 1 RPM2_TYPE 0 2
1 1 RPM_MAX 100000.000000000000000000 9
1 1 RPM_MIN 10.000000000000000000 9
1 1 RPM_MIN_QUAL 0.500000000000000000 9
1 1 RPM_PIN 54 2
1 1 RPM_SCALING 1.000000000000000000 9
1 1 RPM_TYPE 0 2
1 1 RSSI_ANA_PIN 0 2
1 1 RSSI_CHANNEL 0 2
1 1 RSSI_CHAN_HIGH 2000 4
1 1 RSSI_CHAN_LOW 1000 4
1 1 RSSI_PIN_HIGH 5.000000000000000000 9
1 1 RSSI_PIN_LOW 0.000000000000000000 9
1 1 RSSI_TYPE 0 2
1 1 RTL_ALT 100 4
1 1 RTL_ALT_FINAL 0 4
1 1 RTL_CLIMB_MIN 0 4
1 1 RTL_CONE_SLOPE 3.000000000000000000 9
1 1 RTL_LOIT_TIME 5000 6
1 1 RTL_SPEED 0 4
1 1 SCHED_DEBUG 0 2
1 1 SCHED_LOOP_RATE 400 4
1 1 SERIAL0_BAUD 115 6
1 1 SERIAL0_PROTOCOL 1 2
1 1 SERIAL1_BAUD 57 6
1 1 SERIAL1_PROTOCOL 1 2
1 1 SERIAL2_BAUD 9 6
1 1 SERIAL2_PROTOCOL 3 2
1 1 SERIAL3_BAUD 38 6
1 1 SERIAL3_PROTOCOL 5 2
1 1 SERIAL4_BAUD 38 6
1 1 SERIAL4_PROTOCOL 5 2
1 1 SERIAL5_BAUD 57 6
1 1 SERIAL5_PROTOCOL -1 2
1 1 SERVO10_FUNCTION 0 2
1 1 SERVO10_MAX 2000 4
1 1 SERVO10_MIN 1000 4
1 1 SERVO10_REVERSED 0 2
1 1 SERVO10_TRIM 1500 4
1 1 SERVO11_FUNCTION 0 2
1 1 SERVO11_MAX 2000 4
1 1 SERVO11_MIN 1000 4
1 1 SERVO11_REVERSED 0 2
1 1 SERVO11_TRIM 1500 4
1 1 SERVO12_FUNCTION 0 2
1 1 SERVO12_MAX 2000 4
1 1 SERVO12_MIN 1000 4
1 1 SERVO12_REVERSED 0 2
1 1 SERVO12_TRIM 1500 4
1 1 SERVO13_FUNCTION 0 2
1 1 SERVO13_MAX 2000 4
1 1 SERVO13_MIN 1000 4
1 1 SERVO13_REVERSED 0 2
1 1 SERVO13_TRIM 1500 4
1 1 SERVO14_FUNCTION 0 2
1 1 SERVO14_MAX 2000 4
1 1 SERVO14_MIN 1000 4
1 1 SERVO14_REVERSED 0 2
1 1 SERVO14_TRIM 1500 4
1 1 SERVO15_FUNCTION 0 2
1 1 SERVO15_MAX 1900 4
1 1 SERVO15_MIN 1100 4
1 1 SERVO15_REVERSED 0 2
1 1 SERVO15_TRIM 1500 4
1 1 SERVO16_FUNCTION 0 2
1 1 SERVO16_MAX 1900 4
1 1 SERVO16_MIN 1100 4
1 1 SERVO16_REVERSED 0 2
1 1 SERVO16_TRIM 1500 4
1 1 SERVO1_FUNCTION 33 2
1 1 SERVO1_MAX 2015 4
1 1 SERVO1_MIN 991 4
1 1 SERVO1_REVERSED 0 2
1 1 SERVO1_TRIM 1503 4
1 1 SERVO2_FUNCTION 34 2
1 1 SERVO2_MAX 2016 4
1 1 SERVO2_MIN 991 4
1 1 SERVO2_REVERSED 0 2
1 1 SERVO2_TRIM 1503 4
1 1 SERVO3_FUNCTION 35 2
1 1 SERVO3_MAX 2016 4
1 1 SERVO3_MIN 992 4
1 1 SERVO3_REVERSED 0 2
1 1 SERVO3_TRIM 992 4
1 1 SERVO4_FUNCTION 36 2
1 1 SERVO4_MAX 2015 4
1 1 SERVO4_MIN 991 4
1 1 SERVO4_REVERSED 0 2
1 1 SERVO4_TRIM 1503 4
1 1 SERVO5_FUNCTION 0 2
1 1 SERVO5_MAX 2016 4
1 1 SERVO5_MIN 991 4
1 1 SERVO5_REVERSED 0 2
1 1 SERVO5_TRIM 1503 4
1 1 SERVO6_FUNCTION 0 2
1 1 SERVO6_MAX 2016 4
1 1 SERVO6_MIN 991 4
1 1 SERVO6_REVERSED 0 2
1 1 SERVO6_TRIM 1503 4
1 1 SERVO7_FUNCTION 0 2
1 1 SERVO7_MAX 2016 4
1 1 SERVO7_MIN 991 4
1 1 SERVO7_REVERSED 0 2
1 1 SERVO7_TRIM 1503 4
1 1 SERVO8_FUNCTION 0 2
1 1 SERVO8_MAX 2000 4
1 1 SERVO8_MIN 1000 4
1 1 SERVO8_REVERSED 0 2
1 1 SERVO8_TRIM 1500 4
1 1 SERVO9_FUNCTION 7 2
1 1 SERVO9_MAX 2000 4
1 1 SERVO9_MIN 1000 4
1 1 SERVO9_REVERSED 0 2
1 1 SERVO9_TRIM 1500 4
1 1 SERVO_CANESC_BM 0 6
1 1 SERVO_CANSRV_BM 0 6
1 1 SIMPLE 0 2
1 1 SPRAY_ENABLE 0 2
1 1 SR0_ADSB 5 4
1 1 SR0_EXTRA1 0 4
1 1 SR0_EXTRA2 0 4
1 1 SR0_EXTRA3 0 4
1 1 SR0_EXT_STAT 0 4
1 1 SR0_PARAMS 0 4
1 1 SR0_POSITION 0 4
1 1 SR0_RAW_CTRL 0 4
1 1 SR0_RAW_SENS 0 4
1 1 SR0_RC_CHAN 0 4
1 1 SR1_ADSB 5 4
1 1 SR1_EXTRA1 10 4
1 1 SR1_EXTRA2 10 4
1 1 SR1_EXTRA3 3 4
1 1 SR1_EXT_STAT 2 4
1 1 SR1_PARAMS 10 4
1 1 SR1_POSITION 3 4
1 1 SR1_RAW_CTRL 0 4
1 1 SR1_RAW_SENS 2 4
1 1 SR1_RC_CHAN 2 4
1 1 SR2_ADSB 5 4
1 1 SR2_EXTRA1 0 4
1 1 SR2_EXTRA2 0 4
1 1 SR2_EXTRA3 0 4
1 1 SR2_EXT_STAT 0 4
1 1 SR2_PARAMS 0 4
1 1 SR2_POSITION 0 4
1 1 SR2_RAW_CTRL 0 4
1 1 SR2_RAW_SENS 0 4
1 1 SR2_RC_CHAN 0 4
1 1 SR3_ADSB 5 4
1 1 SR3_EXTRA1 0 4
1 1 SR3_EXTRA2 0 4
1 1 SR3_EXTRA3 0 4
1 1 SR3_EXT_STAT 0 4
1 1 SR3_PARAMS 0 4
1 1 SR3_POSITION 0 4
1 1 SR3_RAW_CTRL 0 4
1 1 SR3_RAW_SENS 0 4
1 1 SR3_RC_CHAN 0 4
1 1 STAT_BOOTCNT 16 4
1 1 STAT_FLTTIME 623 6
1 1 STAT_RESET 20034978 6
1 1 STAT_RUNTIME 3525 6
1 1 SUPER_SIMPLE 0 2
1 1 SYSID_ENFORCE 0 2
1 1 SYSID_MYGCS 255 4
1 1 SYSID_SW_MREV 120 4
1 1 SYSID_SW_TYPE 10 2
1 1 SYSID_THISMAV 1 4
1 1 TELEM_DELAY 0 2
1 1 TERRAIN_ENABLE 1 2
1 1 TERRAIN_FOLLOW 0 2
1 1 TERRAIN_SPACING 100 4
1 1 THROW_MOT_START 0 2
1 1 THROW_NEXTMODE 18 2
1 1 THROW_TYPE 0 2
1 1 THR_DZ 50 4
1 1 TUNE 0 2
1 1 TUNE_HIGH 1000 4
1 1 TUNE_LOW 0 4
1 1 VEL_XY_FILT_HZ 5.000000000000000000 9
1 1 VEL_XY_I 0.500000000000000000 9
1 1 VEL_XY_IMAX 1000.000000000000000000 9
1 1 VEL_XY_P 1.000000000000000000 9
1 1 VEL_Z_P 5.000000000000000000 9
1 1 VISO_ORIENT 0 2
1 1 VISO_POS_X 0.000000000000000000 9
1 1 VISO_POS_Y 0.000000000000000000 9
1 1 VISO_POS_Z 0.000000000000000000 9
1 1 VISO_TYPE 0 2
1 1 WPNAV_ACCEL 250.000000000000000000 9
1 1 WPNAV_ACCEL_Z 100.000000000000000000 9
1 1 WPNAV_LOIT_JERK 1000.000000000000000000 9
1 1 WPNAV_LOIT_MAXA 250.000000000000000000 9
1 1 WPNAV_LOIT_MINA 25.000000000000000000 9
1 1 WPNAV_LOIT_SPEED 1000.000000000000000000 9
1 1 WPNAV_RADIUS 200.000000000000000000 9
1 1 WPNAV_RFND_USE 1 2
1 1 WPNAV_SPEED 650.000000000000000000 9
1 1 WPNAV_SPEED_DN 150.000000000000000000 9
1 1 WPNAV_SPEED_UP 250.000000000000000000 9
1 1 WP_NAVALT_MIN 0.000000000000000000 9
1 1 WP_YAW_BEHAVIOR 2 2

587
src/comm/APMArduPlaneMockLink.params

@ -1,587 +0,0 @@ @@ -1,587 +0,0 @@
# Onboard parameters for system MAV 001
#
# MAV ID COMPONENT ID PARAM NAME VALUE (FLOAT)
1 1 ACRO_LOCKING 0 2
1 1 ACRO_PITCH_RATE 180 4
1 1 ACRO_ROLL_RATE 180 4
1 1 AFS_AMSL_ERR_GPS -1 6
1 1 AFS_AMSL_LIMIT 0 6
1 1 AFS_ENABLE 0 2
1 1 AFS_HB_PIN -1 2
1 1 AFS_MAN_PIN -1 2
1 1 AFS_MAX_COM_LOSS 0 2
1 1 AFS_MAX_GPS_LOSS 0 2
1 1 AFS_QNH_PRESSURE 0 9
1 1 AFS_RC_FAIL_MS 0 4
1 1 AFS_TERMINATE 0 2
1 1 AFS_TERM_ACTION 0 2
1 1 AFS_TERM_PIN -1 2
1 1 AFS_WP_COMMS 0 2
1 1 AFS_WP_GPS_LOSS 0 2
1 1 AHRS_COMP_BETA 0.1 9
1 1 AHRS_EKF_USE 1 2
1 1 AHRS_GPS_GAIN 1 9
1 1 AHRS_GPS_MINSATS 6 2
1 1 AHRS_GPS_USE 1 2
1 1 AHRS_ORIENTATION 0 2
1 1 AHRS_RP_P 0.2 9
1 1 AHRS_TRIM_X 0 9
1 1 AHRS_TRIM_Y 0 9
1 1 AHRS_TRIM_Z 0 9
1 1 AHRS_WIND_MAX 0 2
1 1 AHRS_YAW_P 0.2 9
1 1 ALT_CTRL_ALG 0 2
1 1 ALT_HOLD_FBWCM 0 4
1 1 ALT_HOLD_RTL 10000 6
1 1 ALT_MIX 1 9
1 1 ALT_OFFSET 0 4
1 1 ARMING_CHECK 1 4
1 1 ARMING_REQUIRE 1 2
1 1 ARMING_RUDDER 1 2
1 1 ARSPD_AUTOCAL 0 2
1 1 ARSPD_ENABLE 1 2
1 1 ARSPD_FBW_MAX 22 4
1 1 ARSPD_FBW_MIN 9 4
1 1 ARSPD_OFFSET 0 9
1 1 ARSPD_PIN 15 2
1 1 ARSPD_RATIO 1.99 9
1 1 ARSPD_SKIP_CAL 0 2
1 1 ARSPD_TUBE_ORDER 2 2
1 1 ARSPD_USE 0 2
1 1 AUTOTUNE_LEVEL 6 2
1 1 AUTO_FBW_STEER 0 2
1 1 BATT2_AMP_OFFSET 0 9
1 1 BATT2_AMP_PERVOL 17 9
1 1 BATT2_CAPACITY 3300 6
1 1 BATT2_CURR_PIN 3 2
1 1 BATT2_MONITOR 0 2
1 1 BATT2_VOLT_MULT 10.1 9
1 1 BATT2_VOLT_PIN 2 2
1 1 BATT_AMP_OFFSET 0 9
1 1 BATT_AMP_PERVOLT 17 9
1 1 BATT_CAPACITY 3300 6
1 1 BATT_CURR_PIN 3 2
1 1 BATT_MONITOR 0 2
1 1 BATT_VOLT_MULT 10.1 9
1 1 BATT_VOLT_PIN 2 2
1 1 BRD_PWM_COUNT 4 2
1 1 BRD_SAFETYENABLE 1 2
1 1 BRD_SBUS_OUT 0 2
1 1 BRD_SER1_RTSCTS 2 2
1 1 BRD_SER2_RTSCTS 2 2
1 1 BRD_SERIAL_NUM 0 4
1 1 CAM_DURATION 10 2
1 1 CAM_RELAY_ON 1 2
1 1 CAM_SERVO_OFF 1100 4
1 1 CAM_SERVO_ON 1300 4
1 1 CAM_TRIGG_DIST 0 9
1 1 CAM_TRIGG_TYPE 0 2
1 1 CLI_ENABLED 0 2
1 1 COMPASS_AUTODEC 1 2
1 1 COMPASS_CAL_FIT 8 9
1 1 COMPASS_DEC 0 9
1 1 COMPASS_DEV_ID 131594 6
1 1 COMPASS_DEV_ID2 0 6
1 1 COMPASS_DEV_ID3 0 6
1 1 COMPASS_DIA2_X 0 9
1 1 COMPASS_DIA2_Y 0 9
1 1 COMPASS_DIA2_Z 0 9
1 1 COMPASS_DIA3_X 0 9
1 1 COMPASS_DIA3_Y 0 9
1 1 COMPASS_DIA3_Z 0 9
1 1 COMPASS_DIA_X 1 9
1 1 COMPASS_DIA_Y 1 9
1 1 COMPASS_DIA_Z 1 9
1 1 COMPASS_EXTERN2 0 2
1 1 COMPASS_EXTERN3 0 2
1 1 COMPASS_EXTERNAL 0 2
1 1 COMPASS_LEARN 1 2
1 1 COMPASS_MOT2_X 0 9
1 1 COMPASS_MOT2_Y 0 9
1 1 COMPASS_MOT2_Z 0 9
1 1 COMPASS_MOT3_X 0 9
1 1 COMPASS_MOT3_Y 0 9
1 1 COMPASS_MOT3_Z 0 9
1 1 COMPASS_MOTCT 0 2
1 1 COMPASS_MOT_X 0 9
1 1 COMPASS_MOT_Y 0 9
1 1 COMPASS_MOT_Z 0 9
1 1 COMPASS_ODI2_X 0 9
1 1 COMPASS_ODI2_Y 0 9
1 1 COMPASS_ODI2_Z 0 9
1 1 COMPASS_ODI3_X 0 9
1 1 COMPASS_ODI3_Y 0 9
1 1 COMPASS_ODI3_Z 0 9
1 1 COMPASS_ODI_X 0 9
1 1 COMPASS_ODI_Y 0 9
1 1 COMPASS_ODI_Z 0 9
1 1 COMPASS_OFS2_X 0 9
1 1 COMPASS_OFS2_Y 0 9
1 1 COMPASS_OFS2_Z 0 9
1 1 COMPASS_OFS3_X 0 9
1 1 COMPASS_OFS3_Y 0 9
1 1 COMPASS_OFS3_Z 0 9
1 1 COMPASS_OFS_X 10 9
1 1 COMPASS_OFS_Y 10 9
1 1 COMPASS_OFS_Z 10 9
1 1 COMPASS_ORIENT 0 2
1 1 COMPASS_ORIENT2 0 2
1 1 COMPASS_ORIENT3 0 2
1 1 COMPASS_PRIMARY 0 2
1 1 COMPASS_USE 1 2
1 1 COMPASS_USE2 1 2
1 1 COMPASS_USE3 1 2
1 1 CRASH_DETECT 0 2
1 1 EKF_ABIAS_PNOISE 5e-05 9
1 1 EKF_ACC_PNOISE 0.5 9
1 1 EKF_ALT_NOISE 0.5 9
1 1 EKF_ALT_SOURCE 1 2
1 1 EKF_EAS_GATE 10 2
1 1 EKF_EAS_NOISE 1.4 9
1 1 EKF_FALLBACK 1 2
1 1 EKF_FLOW_DELAY 25 2
1 1 EKF_FLOW_GATE 3 2
1 1 EKF_FLOW_NOISE 0.3 9
1 1 EKF_GBIAS_PNOISE 8e-06 9
1 1 EKF_GLITCH_ACCEL 150 4
1 1 EKF_GLITCH_RAD 20 2
1 1 EKF_GND_GRADIENT 2 2
1 1 EKF_GPS_TYPE 0 2
1 1 EKF_GYRO_PNOISE 0.015 9
1 1 EKF_HGT_GATE 20 2
1 1 EKF_MAGB_PNOISE 0.0003 9
1 1 EKF_MAGE_PNOISE 0.0003 9
1 1 EKF_MAG_CAL 0 2
1 1 EKF_MAG_GATE 3 2
1 1 EKF_MAG_NOISE 0.05 9
1 1 EKF_MAX_FLOW 2.5 9
1 1 EKF_POSNE_NOISE 0.5 9
1 1 EKF_POS_DELAY 220 4
1 1 EKF_POS_GATE 30 2
1 1 EKF_RNG_GATE 5 2
1 1 EKF_VELD_NOISE 0.7 9
1 1 EKF_VELNE_NOISE 0.5 9
1 1 EKF_VEL_DELAY 220 4
1 1 EKF_VEL_GATE 6 2
1 1 EKF_WIND_PNOISE 0.1 9
1 1 EKF_WIND_PSCALE 0.5 9
1 1 ELEVON_CH1_REV 0 2
1 1 ELEVON_CH2_REV 0 2
1 1 ELEVON_MIXING 0 2
1 1 ELEVON_OUTPUT 0 2
1 1 ELEVON_REVERSE 0 2
1 1 FBWA_TDRAG_CHAN 0 2
1 1 FBWB_CLIMB_RATE 2 2
1 1 FBWB_ELEV_REV 0 2
1 1 FENCE_ACTION 0 2
1 1 FENCE_AUTOENABLE 0 2
1 1 FENCE_CHANNEL 0 2
1 1 FENCE_MAXALT 0 4
1 1 FENCE_MINALT 0 4
1 1 FENCE_RETALT 0 4
1 1 FENCE_RET_RALLY 0 2
1 1 FENCE_TOTAL 0 2
1 1 FLAPERON_OUTPUT 0 2
1 1 FLAP_1_PERCNT 0 2
1 1 FLAP_1_SPEED 0 2
1 1 FLAP_2_PERCNT 0 2
1 1 FLAP_2_SPEED 0 2
1 1 FLAP_IN_CHANNEL 0 2
1 1 FLAP_SLEWRATE 75 2
1 1 FLOW_ENABLE 0 2
1 1 FLOW_FXSCALER 0 4
1 1 FLOW_FYSCALER 0 4
1 1 FLOW_ORIENT_YAW 0 4
1 1 FLTMODE1 11 2
1 1 FLTMODE2 11 2
1 1 FLTMODE3 5 2
1 1 FLTMODE4 5 2
1 1 FLTMODE5 0 2
1 1 FLTMODE6 0 2
1 1 FLTMODE_CH 8 2
1 1 FORMAT_VERSION 13 4
1 1 FS_BATT_MAH 0 9
1 1 FS_BATT_VOLTAGE 0 9
1 1 FS_GCS_ENABL 0 2
1 1 FS_LONG_ACTN 0 2
1 1 FS_LONG_TIMEOUT 5 9
1 1 FS_SHORT_ACTN 0 2
1 1 FS_SHORT_TIMEOUT 1.5 9
1 1 GCS_PID_MASK 0 4
1 1 GLIDE_SLOPE_MIN 15 4
1 1 GLIDE_SLOPE_THR 5 9
1 1 GND_ABS_PRESS 1.01e+05 9
1 1 GND_ALT_OFFSET 0 9
1 1 GND_PRIMARY 0 2
1 1 GND_TEMP 0 9
1 1 GPS_AUTO_SWITCH 1 2
1 1 GPS_GNSS_MODE 0 2
1 1 GPS_INJECT_TO 127 2
1 1 GPS_MIN_DGPS 100 2
1 1 GPS_MIN_ELEV -100 2
1 1 GPS_NAVFILTER 8 2
1 1 GPS_RAW_DATA 0 2
1 1 GPS_SBAS_MODE 2 2
1 1 GPS_SBP_LOGMASK -256 4
1 1 GPS_TYPE 1 2
1 1 GPS_TYPE2 0 2
1 1 GROUND_STEER_ALT 0 9
1 1 GROUND_STEER_DPS 90 4
1 1 HIL_ERR_LIMIT 5 9
1 1 HIL_MODE 0 2
1 1 HIL_SERVOS 0 2
1 1 INITIAL_MODE 0 2
1 1 INS_ACC2OFFS_X 10 9
1 1 INS_ACC2OFFS_Y 10 9
1 1 INS_ACC2OFFS_Z 10 9
1 1 INS_ACC2SCAL_X 1 9
1 1 INS_ACC2SCAL_Y 1 9
1 1 INS_ACC2SCAL_Z 1 9
1 1 INS_ACC3OFFS_X 0 9
1 1 INS_ACC3OFFS_Y 0 9
1 1 INS_ACC3OFFS_Z 0 9
1 1 INS_ACC3SCAL_X 0 9
1 1 INS_ACC3SCAL_Y 0 9
1 1 INS_ACC3SCAL_Z 0 9
1 1 INS_ACCEL_FILTER 20 2
1 1 INS_ACCOFFS_X 10 9
1 1 INS_ACCOFFS_Y 10 9
1 1 INS_ACCOFFS_Z 10 9
1 1 INS_ACCSCAL_X 1 9
1 1 INS_ACCSCAL_Y 1 9
1 1 INS_ACCSCAL_Z 1 9
1 1 INS_GYR2OFFS_X 0.0165 9
1 1 INS_GYR2OFFS_Y 0.00344 9
1 1 INS_GYR2OFFS_Z -0.0258 9
1 1 INS_GYR3OFFS_X 0 9
1 1 INS_GYR3OFFS_Y 0 9
1 1 INS_GYR3OFFS_Z 0 9
1 1 INS_GYROFFS_X 0.0234 9
1 1 INS_GYROFFS_Y 0.0507 9
1 1 INS_GYROFFS_Z -0.00498 9
1 1 INS_GYRO_FILTER 20 2
1 1 INS_GYR_CAL 1 2
1 1 INS_PRODUCT_ID 5 4
1 1 INS_STILL_THRESH 0.1 9
1 1 INS_USE 1 2
1 1 INS_USE2 1 2
1 1 INS_USE3 0 2
1 1 INVERTEDFLT_CH 0 2
1 1 KFF_RDDRMIX 0.5 9
1 1 KFF_THR2PTCH 0 9
1 1 LAND_ABORT_THR 0 2
1 1 LAND_DISARMDELAY 20 2
1 1 LAND_FLAP_PERCNT 0 2
1 1 LAND_FLARE_ALT 3 9
1 1 LAND_FLARE_SEC 2 9
1 1 LAND_PITCH_CD 0 4
1 1 LEVEL_ROLL_LIMIT 5 2
1 1 LIM_PITCH_MAX 2000 4
1 1 LIM_PITCH_MIN -2500 4
1 1 LIM_ROLL_CD 4500 4
1 1 LOG_BITMASK 65535 6
1 1 MAG_ENABLE 1 2
1 1 MIN_GNDSPD_CM 0 6
1 1 MIS_RESTART 0 2
1 1 MIS_TOTAL 0 4
1 1 MIXING_GAIN 0.5 9
1 1 MNT_ANGMAX_PAN 4500 4
1 1 MNT_ANGMAX_ROL 4500 4
1 1 MNT_ANGMAX_TIL 4500 4
1 1 MNT_ANGMIN_PAN -4500 4
1 1 MNT_ANGMIN_ROL -4500 4
1 1 MNT_ANGMIN_TIL -4500 4
1 1 MNT_DEFLT_MODE 3 2
1 1 MNT_JSTICK_SPD 0 2
1 1 MNT_K_RATE 5 9
1 1 MNT_LEAD_PTCH 0 9
1 1 MNT_LEAD_RLL 0 9
1 1 MNT_NEUTRAL_X 0 9
1 1 MNT_NEUTRAL_Y 0 9
1 1 MNT_NEUTRAL_Z 0 9
1 1 MNT_OFF_ACC_X 0 9
1 1 MNT_OFF_ACC_Y 0 9
1 1 MNT_OFF_ACC_Z 0 9
1 1 MNT_OFF_GYRO_X 0 9
1 1 MNT_OFF_GYRO_Y 0 9
1 1 MNT_OFF_GYRO_Z 0 9
1 1 MNT_OFF_JNT_X 0 9
1 1 MNT_OFF_JNT_Y 0 9
1 1 MNT_OFF_JNT_Z 0 9
1 1 MNT_RC_IN_PAN 0 2
1 1 MNT_RC_IN_ROLL 0 2
1 1 MNT_RC_IN_TILT 0 2
1 1 MNT_RETRACT_X 0 9
1 1 MNT_RETRACT_Y 0 9
1 1 MNT_RETRACT_Z 0 9
1 1 MNT_STAB_PAN 0 2
1 1 MNT_STAB_ROLL 0 2
1 1 MNT_STAB_TILT 0 2
1 1 MNT_TYPE 0 2
1 1 NAVL1_DAMPING 0.75 9
1 1 NAVL1_PERIOD 20 9
1 1 NAV_CONTROLLER 1 2
1 1 OVERRIDE_CHAN 0 2
1 1 PTCH2SRV_D 0.02 9
1 1 PTCH2SRV_FF 0 9
1 1 PTCH2SRV_I 0.04 9
1 1 PTCH2SRV_IMAX 3000 4
1 1 PTCH2SRV_P 0.4 9
1 1 PTCH2SRV_RLL 1 9
1 1 PTCH2SRV_RMAX_DN 0 4
1 1 PTCH2SRV_RMAX_UP 0 4
1 1 PTCH2SRV_TCONST 0.5 9
1 1 RALLY_INCL_HOME 0 2
1 1 RALLY_LIMIT_KM 5 9
1 1 RALLY_TOTAL 0 2
1 1 RC10_DZ 0 4
1 1 RC10_FUNCTION 0 2
1 1 RC10_MAX 1900 4
1 1 RC10_MIN 1100 4
1 1 RC10_REV 1 2
1 1 RC10_TRIM 1500 4
1 1 RC11_DZ 0 4
1 1 RC11_FUNCTION 0 2
1 1 RC11_MAX 1900 4
1 1 RC11_MIN 1100 4
1 1 RC11_REV 1 2
1 1 RC11_TRIM 1500 4
1 1 RC12_DZ 0 4
1 1 RC12_FUNCTION 0 2
1 1 RC12_MAX 1900 4
1 1 RC12_MIN 1100 4
1 1 RC12_REV 1 2
1 1 RC12_TRIM 1500 4
1 1 RC13_DZ 0 4
1 1 RC13_FUNCTION 0 2
1 1 RC13_MAX 1900 4
1 1 RC13_MIN 1100 4
1 1 RC13_REV 1 2
1 1 RC13_TRIM 1500 4
1 1 RC14_DZ 0 4
1 1 RC14_FUNCTION 0 2
1 1 RC14_MAX 1900 4
1 1 RC14_MIN 1100 4
1 1 RC14_REV 1 2
1 1 RC14_TRIM 1500 4
1 1 RC1_DZ 30 4
1 1 RC1_MAX 1900 4
1 1 RC1_MIN 1101 4
1 1 RC1_REV 1 2
1 1 RC1_TRIM 1500 4
1 1 RC2_DZ 30 4
1 1 RC2_MAX 1900 4
1 1 RC2_MIN 1100 4
1 1 RC2_REV 1 2
1 1 RC2_TRIM 1500 4
1 1 RC3_DZ 30 4
1 1 RC3_MAX 1900 4
1 1 RC3_MIN 1100 4
1 1 RC3_REV 1 2
1 1 RC3_TRIM 1100 4
1 1 RC4_DZ 30 4
1 1 RC4_MAX 1900 4
1 1 RC4_MIN 1100 4
1 1 RC4_REV 1 2
1 1 RC4_TRIM 1500 4
1 1 RC5_DZ 0 4
1 1 RC5_FUNCTION 0 2
1 1 RC5_MAX 1900 4
1 1 RC5_MIN 1100 4
1 1 RC5_REV 1 2
1 1 RC5_TRIM 1500 4
1 1 RC6_DZ 0 4
1 1 RC6_FUNCTION 0 2
1 1 RC6_MAX 1900 4
1 1 RC6_MIN 1100 4
1 1 RC6_REV 1 2
1 1 RC6_TRIM 1500 4
1 1 RC7_DZ 0 4
1 1 RC7_FUNCTION 0 2
1 1 RC7_MAX 1900 4
1 1 RC7_MIN 1100 4
1 1 RC7_REV 1 2
1 1 RC7_TRIM 1500 4
1 1 RC8_DZ 0 4
1 1 RC8_FUNCTION 0 2
1 1 RC8_MAX 1900 4
1 1 RC8_MIN 1100 4
1 1 RC8_REV 1 2
1 1 RC8_TRIM 1500 4
1 1 RC9_DZ 0 4
1 1 RC9_FUNCTION 0 2
1 1 RC9_MAX 1900 4
1 1 RC9_MIN 1100 4
1 1 RC9_REV 1 2
1 1 RC9_TRIM 1500 4
1 1 RCMAP_PITCH 2 2
1 1 RCMAP_ROLL 1 2
1 1 RCMAP_THROTTLE 3 2
1 1 RCMAP_YAW 4 2
1 1 RELAY_DEFAULT 0 2
1 1 RELAY_PIN 54 2
1 1 RELAY_PIN2 55 2
1 1 RELAY_PIN3 -1 2
1 1 RELAY_PIN4 -1 2
1 1 RLL2SRV_D 0.02 9
1 1 RLL2SRV_FF 0 9
1 1 RLL2SRV_I 0.04 9
1 1 RLL2SRV_IMAX 3000 4
1 1 RLL2SRV_P 0.4 9
1 1 RLL2SRV_RMAX 0 4
1 1 RLL2SRV_TCONST 0.5 9
1 1 RNGFND2_ADDR 0 2
1 1 RNGFND2_FUNCTION 0 2
1 1 RNGFND2_GNDCLEAR 10 2
1 1 RNGFND2_MAX_CM 700 4
1 1 RNGFND2_MIN_CM 20 4
1 1 RNGFND2_OFFSET 0 9
1 1 RNGFND2_PIN -1 2
1 1 RNGFND2_RMETRIC 1 2
1 1 RNGFND2_SCALING 3 9
1 1 RNGFND2_SETTLE 0 4
1 1 RNGFND2_STOP_PIN -1 2
1 1 RNGFND2_TYPE 0 2
1 1 RNGFND_ADDR 0 2
1 1 RNGFND_FUNCTION 0 2
1 1 RNGFND_GNDCLEAR 10 2
1 1 RNGFND_LANDING 0 2
1 1 RNGFND_MAX_CM 700 4
1 1 RNGFND_MIN_CM 20 4
1 1 RNGFND_OFFSET 0 9
1 1 RNGFND_PIN -1 2
1 1 RNGFND_PWRRNG 0 4
1 1 RNGFND_RMETRIC 1 2
1 1 RNGFND_SCALING 3 9
1 1 RNGFND_SETTLE 0 4
1 1 RNGFND_STOP_PIN -1 2
1 1 RNGFND_TYPE 0 2
1 1 RSSI_ANA_PIN 0 2
1 1 RSSI_CHANNEL 0 2
1 1 RSSI_CHAN_HIGH 2000 4
1 1 RSSI_CHAN_LOW 1000 4
1 1 RSSI_PIN_HIGH 5 9
1 1 RSSI_PIN_LOW 0 9
1 1 RSSI_TYPE 0 2
1 1 RST_MISSION_CH 0 2
1 1 RST_SWITCH_CH 0 2
1 1 RTL_AUTOLAND 0 2
1 1 RUDDER_ONLY 0 2
1 1 SCALING_SPEED 15 9
1 1 SCHED_DEBUG 0 2
1 1 SERIAL0_BAUD 115 6
1 1 SERIAL1_BAUD 57 6
1 1 SERIAL1_PROTOCOL 1 2
1 1 SERIAL2_BAUD 57 6
1 1 SERIAL2_PROTOCOL 1 2
1 1 SERIAL3_BAUD 38 6
1 1 SERIAL3_PROTOCOL 5 2
1 1 SERIAL4_BAUD 38 6
1 1 SERIAL4_PROTOCOL 5 2
1 1 SR0_EXTRA1 10 4
1 1 SR0_EXTRA2 1 4
1 1 SR0_EXTRA3 1 4
1 1 SR0_EXT_STAT 2 4
1 1 SR0_PARAMS 10 4
1 1 SR0_POSITION 3 4
1 1 SR0_RAW_CTRL 1 4
1 1 SR0_RAW_SENS 2 4
1 1 SR0_RC_CHAN 2 4
1 1 SR1_EXTRA1 1 4
1 1 SR1_EXTRA2 1 4
1 1 SR1_EXTRA3 1 4
1 1 SR1_EXT_STAT 1 4
1 1 SR1_PARAMS 10 4
1 1 SR1_POSITION 1 4
1 1 SR1_RAW_CTRL 1 4
1 1 SR1_RAW_SENS 1 4
1 1 SR1_RC_CHAN 1 4
1 1 SR2_EXTRA1 1 4
1 1 SR2_EXTRA2 1 4
1 1 SR2_EXTRA3 1 4
1 1 SR2_EXT_STAT 1 4
1 1 SR2_PARAMS 10 4
1 1 SR2_POSITION 1 4
1 1 SR2_RAW_CTRL 1 4
1 1 SR2_RAW_SENS 1 4
1 1 SR2_RC_CHAN 1 4
1 1 SR3_EXTRA1 1 4
1 1 SR3_EXTRA2 1 4
1 1 SR3_EXTRA3 1 4
1 1 SR3_EXT_STAT 1 4
1 1 SR3_PARAMS 10 4
1 1 SR3_POSITION 1 4
1 1 SR3_RAW_CTRL 1 4
1 1 SR3_RAW_SENS 1 4
1 1 SR3_RC_CHAN 1 4
1 1 STAB_PITCH_DOWN 2 9
1 1 STALL_PREVENTION 1 2
1 1 STEER2SRV_D 0.005 9
1 1 STEER2SRV_FF 0 9
1 1 STEER2SRV_I 0.2 9
1 1 STEER2SRV_IMAX 1500 4
1 1 STEER2SRV_MINSPD 1 9
1 1 STEER2SRV_P 1.8 9
1 1 STEER2SRV_TCONST 0.75 9
1 1 STICK_MIXING 1 2
1 1 SYSID_MYGCS 255 4
1 1 SYSID_SW_TYPE 0 2
1 1 SYSID_THISMAV 1 4
1 1 SYS_NUM_RESETS 1 4
1 1 TECS_CLMB_MAX 5 9
1 1 TECS_HGT_OMEGA 3 9
1 1 TECS_INTEG_GAIN 0.1 9
1 1 TECS_LAND_ARSPD -1 9
1 1 TECS_LAND_DAMP 0.5 9
1 1 TECS_LAND_PMAX 10 2
1 1 TECS_LAND_SINK 0.25 9
1 1 TECS_LAND_SPDWGT 1 9
1 1 TECS_LAND_TCONST 2 9
1 1 TECS_LAND_THR -1 9
1 1 TECS_PITCH_MAX 0 2
1 1 TECS_PITCH_MIN 0 2
1 1 TECS_PTCH_DAMP 0 9
1 1 TECS_RLL2THR 10 9
1 1 TECS_SINK_MAX 5 9
1 1 TECS_SINK_MIN 2 9
1 1 TECS_SPDWEIGHT 1 9
1 1 TECS_SPD_OMEGA 2 9
1 1 TECS_THR_DAMP 0.5 9
1 1 TECS_TIME_CONST 5 9
1 1 TECS_VERT_ACC 7 9
1 1 TELEM_DELAY 0 2
1 1 TERRAIN_ENABLE 1 2
1 1 TERRAIN_FOLLOW 0 2
1 1 TERRAIN_LOOKAHD 2000 4
1 1 TERRAIN_SPACING 100 4
1 1 THROTTLE_NUDGE 1 2
1 1 THR_FAILSAFE 1 2
1 1 THR_FS_VALUE 950 4
1 1 THR_MAX 75 2
1 1 THR_MIN 0 2
1 1 THR_PASS_STAB 0 2
1 1 THR_SLEWRATE 100 2
1 1 THR_SUPP_MAN 0 2
1 1 TKOFF_FLAP_PCNT 0 2
1 1 TKOFF_ROTATE_SPD 0 9
1 1 TKOFF_TDRAG_ELEV 0 2
1 1 TKOFF_TDRAG_SPD1 0 9
1 1 TKOFF_THR_DELAY 2 2
1 1 TKOFF_THR_MAX 0 2
1 1 TKOFF_THR_MINACC 0 9
1 1 TKOFF_THR_MINSPD 0 9
1 1 TKOFF_THR_SLEW 0 2
1 1 TRIM_ARSPD_CM 1200 6
1 1 TRIM_AUTO 0 2
1 1 TRIM_PITCH_CD 0 4
1 1 TRIM_RC_AT_START 0 2
1 1 TRIM_THROTTLE 45 2
1 1 VTAIL_OUTPUT 0 2
1 1 WP_LOITER_RAD 60 4
1 1 WP_MAX_RADIUS 0 4
1 1 WP_RADIUS 90 4
1 1 YAW2SRV_DAMP 0 9
1 1 YAW2SRV_IMAX 1500 4
1 1 YAW2SRV_INT 0 9
1 1 YAW2SRV_RLL 1 9
1 1 YAW2SRV_SLIP 0 9

20
src/comm/MockLink.cc

@ -230,11 +230,13 @@ void MockLink::_loadParams(void) @@ -230,11 +230,13 @@ void MockLink::_loadParams(void)
if (_firmwareType == MAV_AUTOPILOT_ARDUPILOTMEGA) {
if (_vehicleType == MAV_TYPE_FIXED_WING) {
paramFile.setFileName(":/MockLink/APMArduPlaneMockLink.params");
paramFile.setFileName(":/FirmwarePlugin/APM/Plane.OfflineEditing.params");
} else if (_vehicleType == MAV_TYPE_SUBMARINE ) {
paramFile.setFileName(":/MockLink/APMArduSubMockLink.params");
} else if (_vehicleType == MAV_TYPE_GROUND_ROVER ) {
paramFile.setFileName(":/FirmwarePlugin/APM/Rover.OfflineEditing.params");
} else {
paramFile.setFileName(":/MockLink/APMArduCopterMockLink.params");
paramFile.setFileName(":/FirmwarePlugin/APM/Copter.OfflineEditing.params");
}
} else {
paramFile.setFileName(":/MockLink/PX4MockLink.params");
@ -947,9 +949,17 @@ void MockLink::_respondWithAutopilotVersion(void) @@ -947,9 +949,17 @@ void MockLink::_respondWithAutopilotVersion(void)
uint32_t flightVersion = 0;
#if !defined(NO_ARDUPILOT_DIALECT)
if (_firmwareType == MAV_AUTOPILOT_ARDUPILOTMEGA) {
flightVersion |= 3 << (8*3);
flightVersion |= 5 << (8*2);
flightVersion |= 0 << (8*1);
if (_vehicleType == MAV_TYPE_FIXED_WING) {
flightVersion |= 9 << (8*2);
} else if (_vehicleType == MAV_TYPE_SUBMARINE ) {
flightVersion |= 5 << (8*2);
} else if (_vehicleType == MAV_TYPE_GROUND_ROVER ) {
flightVersion |= 5 << (8*2);
} else {
flightVersion |= 6 << (8*2);
}
flightVersion |= 3 << (8*3); // Major
flightVersion |= 0 << (8*1); // Patch
flightVersion |= FIRMWARE_VERSION_TYPE_DEV << (8*0);
} else if (_firmwareType == MAV_AUTOPILOT_PX4) {
#endif

Loading…
Cancel
Save