diff --git a/ground/openpilotgcs/src/plugins/config/airframe.ui b/ground/openpilotgcs/src/plugins/config/airframe.ui
index c2d2db6e4..e70184c17 100755
--- a/ground/openpilotgcs/src/plugins/config/airframe.ui
+++ b/ground/openpilotgcs/src/plugins/config/airframe.ui
@@ -128,8 +128,8 @@
0
0
- 850
- 508
+ 852
+ 518
@@ -215,7 +215,7 @@
QFrame::NoFrame
- 1
+ 4
@@ -703,7 +703,7 @@ margin:1px;
0
- -1
+ 6
-
@@ -1555,8 +1555,8 @@ margin:1px;
0
0
- 800
- 386
+ 808
+ 397
@@ -2158,6 +2158,9 @@ margin:1px;
true
+
+ 12
+
50
@@ -2244,6 +2247,16 @@ margin:1px;
Ch 10
+
+
+ Ch 11
+
+
+
+
+ Ch 12
+
+
-
-
@@ -2324,6 +2337,24 @@ margin:1px;
AlignHCenter|AlignVCenter|AlignCenter
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+
-
-
@@ -2404,6 +2435,23 @@ margin:1px;
AlignHCenter|AlignVCenter|AlignCenter
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+
-
-
@@ -2484,6 +2532,23 @@ margin:1px;
AlignHCenter|AlignVCenter|AlignCenter
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
-
-
@@ -2564,6 +2629,24 @@ margin:1px;
AlignHCenter|AlignVCenter|AlignCenter
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+
-
-
@@ -2644,6 +2727,23 @@ margin:1px;
AlignHCenter|AlignVCenter|AlignCenter
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
-
-
@@ -2724,6 +2824,24 @@ margin:1px;
AlignHCenter|AlignVCenter|AlignCenter
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+ -
+
+ -
+
+
+ AlignHCenter|AlignVCenter|AlignCenter
+
+
+
@@ -2832,8 +2950,8 @@ margin:1px;
0
0
- 287
- 326
+ 852
+ 518
@@ -3216,15 +3334,15 @@ p, li { white-space: pre-wrap; }
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;">
+</style></head><body style=" font-family:'Ubuntu'; font-size:9pt; font-weight:400; font-style:normal;">
<table border="0" style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;">
<tr>
<td style="border: none;">
-<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:14pt; font-weight:600; color:#ff0000;">SETTING UP FEED FORWARD REQUIRES CAUTION</span></p>
-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu'; font-size:11pt;"><br /></p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:11pt;"><br /></span></p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Beware: Feed Forward Tuning will launch all engines around mid-throttle, you have been warned!</p>
-<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Remove your props initially, and for fine-tuning, make sure your airframe is safely held in place. Wear glasses and protect your face and body.</p></td></tr></table></body></html>
+<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600; color:#ff0000;">SETTING UP FEED FORWARD REQUIRES CAUTION</span></p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"><br /></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;"><br /></span></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">Beware: Feed Forward Tuning will launch all engines around mid-throttle, you have been warned!</span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">Remove your props initially, and for fine-tuning, make sure your airframe is safely held in place. Wear glasses and protect your face and body.</span></p></td></tr></table></body></html>
diff --git a/ground/openpilotgcs/src/plugins/config/cfg_vehicletypes/vehicleconfig.h b/ground/openpilotgcs/src/plugins/config/cfg_vehicletypes/vehicleconfig.h
index 5f47d0548..68d930305 100644
--- a/ground/openpilotgcs/src/plugins/config/cfg_vehicletypes/vehicleconfig.h
+++ b/ground/openpilotgcs/src/plugins/config/cfg_vehicletypes/vehicleconfig.h
@@ -31,6 +31,7 @@
#include "extensionsystem/pluginmanager.h"
#include "uavobjectmanager.h"
#include "uavobject.h"
+#include "actuatorcommand.h"
typedef struct {
@@ -144,7 +145,7 @@ class VehicleConfig: public ConfigTaskWidget
QStringList mixerVectors;
QStringList mixerTypeDescriptions;
- static const quint32 CHANNEL_NUMELEM = 10;
+ static const quint32 CHANNEL_NUMELEM = ActuatorCommand::CHANNEL_NUMELEM;
private:
diff --git a/ground/openpilotgcs/src/plugins/config/configvehicletypewidget.cpp b/ground/openpilotgcs/src/plugins/config/configvehicletypewidget.cpp
index 99cfebdb4..dd290073a 100644
--- a/ground/openpilotgcs/src/plugins/config/configvehicletypewidget.cpp
+++ b/ground/openpilotgcs/src/plugins/config/configvehicletypewidget.cpp
@@ -648,8 +648,8 @@ void ConfigVehicleTypeWidget::updateCustomAirframeUI()
m_aircraft->customThrottle2Curve->initLinearCurve(curveValues.count(), 1.0, m_aircraft->customThrottle2Curve->getMin());
}
- // Update the mixer table:
- for (int channel=0; channel<(int)(VehicleConfig::CHANNEL_NUMELEM); channel++) {
+ // Update the mixer table:
+ for (int channel=0; channel < m_aircraft->customMixerTable->columnCount(); channel++) {
UAVObjectField* field = mixer->getField(mixerTypes.at(channel));
if (field)
{
diff --git a/shared/uavobjectdefinition/actuatorcommand.xml b/shared/uavobjectdefinition/actuatorcommand.xml
index 17a7b7af5..7f8ce055e 100644
--- a/shared/uavobjectdefinition/actuatorcommand.xml
+++ b/shared/uavobjectdefinition/actuatorcommand.xml
@@ -1,7 +1,7 @@