1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-02-05 21:52:10 +01:00

Merge branch 'master' into spin_while_armed

Added back the "Spin arming" button to output panel and made it work
Conflicts:
	ground/openpilotgcs/src/plugins/config/configoutputwidget.cpp
	ground/openpilotgcs/src/plugins/config/output.ui
This commit is contained in:
James Cotton 2011-05-05 00:23:51 -05:00
commit 21a71e5294
29 changed files with 3133 additions and 3313 deletions

View File

@ -81,6 +81,10 @@ E: joe (dot) hlebasko(plus) openpilot (at) gmail (dot) com
D: Production Main Board & Production OP GPS D: Production Main Board & Production OP GPS
M: Hardware Architecture Team M: Hardware Architecture Team
N: Mark James
E: mjames (plus) openpilot (at) gmail (dot) com
D: Some of Silk Icon set used in GCS - http://www.famfamfam.com/lab/icons/silk
N: Sami Korhonen N: Sami Korhonen
E: samik (dot) korhonen (plus) openpilot (at) gmail (dot) com E: samik (dot) korhonen (plus) openpilot (at) gmail (dot) com
D: GPS Module, Spektrum RC Module, OSD work D: GPS Module, Spektrum RC Module, OSD work

View File

@ -232,6 +232,18 @@ openpilotgcs: uavobjects_gcs
$(MAKE) -w ; \ $(MAKE) -w ; \
) )
.PHONY: gcs_installer
gcs_installer: openpilotgcs
ifeq ($(QT_SPEC), win32-g++)
ifeq ($(GCS_BUILD_CONF), release)
$(V1) cd $(BUILD_DIR)/ground/openpilotgcs/packaging/winx86 && $(MAKE) -r --no-print-directory $@
else
$(error $@ can be generated for release build only (GCS_BUILD_CONF=release))
endif
else
$(error $@ is currently only available on Windows)
endif
.PHONY: uavobjgenerator .PHONY: uavobjgenerator
uavobjgenerator: uavobjgenerator:
$(V1) mkdir -p $(BUILD_DIR)/ground/$@ $(V1) mkdir -p $(BUILD_DIR)/ground/$@

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 KiB

After

Width:  |  Height:  |  Size: 252 KiB

Binary file not shown.

View File

@ -29,7 +29,7 @@ include $(TOP)/make/firmware-defs.mk
# Set developer code and compile options # Set developer code and compile options
# Set to YES for debugging # Set to YES for debugging
DEBUG ?= NO DEBUG ?= NO
OVERRIDE USE_BOOTLOADER = NO override USE_BOOTLOADER = NO
# Set to YES when using Code Sourcery toolchain # Set to YES when using Code Sourcery toolchain
CODE_SOURCERY ?= YES CODE_SOURCERY ?= YES

View File

@ -37,7 +37,7 @@ ENABLE_DEBUG_PINS ?= NO
ENABLE_AUX_UART ?= NO ENABLE_AUX_UART ?= NO
# #
OVERRIDE USE_BOOTLOADER = NO override USE_BOOTLOADER = NO
# Set to YES when using Code Sourcery toolchain # Set to YES when using Code Sourcery toolchain

View File

@ -37,7 +37,7 @@ ENABLE_DEBUG_PINS ?= NO
ENABLE_AUX_UART ?= NO ENABLE_AUX_UART ?= NO
# #
OVERRIDE USE_BOOTLOADER = NO override USE_BOOTLOADER = NO
# Set to YES when using Code Sourcery toolchain # Set to YES when using Code Sourcery toolchain

View File

@ -37,7 +37,7 @@ ENABLE_DEBUG_PINS ?= NO
ENABLE_AUX_UART ?= NO ENABLE_AUX_UART ?= NO
# #
OVERRIDE USE_BOOTLOADER = NO override USE_BOOTLOADER = NO
# Set to YES when using Code Sourcery toolchain # Set to YES when using Code Sourcery toolchain

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 KiB

After

Width:  |  Height:  |  Size: 252 KiB

View File

@ -318,7 +318,10 @@ void ConfigOutputWidget::setSpinningArmed(bool val)
if (!obj) return; if (!obj) return;
UAVObjectField *field = obj->getField("MotorsSpinWhileArmed"); UAVObjectField *field = obj->getField("MotorsSpinWhileArmed");
if (!field) return; if (!field) return;
field->setValue(val); if(val)
field->setValue("TRUE");
else
field->setValue("FALSE");
} }
/** /**
@ -384,13 +387,6 @@ void ConfigOutputWidget::requestRCOutputUpdate()
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance(); ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
UAVObjectManager *objManager = pm->getObject<UAVObjectManager>(); UAVObjectManager *objManager = pm->getObject<UAVObjectManager>();
// Get the Airframe type from the system settings:
UAVDataObject* obj = dynamic_cast<UAVDataObject*>(objManager->getObject(QString("SystemSettings")));
Q_ASSERT(obj);
obj->requestUpdate();
UAVObjectField *field = obj->getField(QString("AirframeType"));
m_config->aircraftType->setText(QString("Aircraft type: ") + field->getValue().toString());
// Reset all channel assignements: // Reset all channel assignements:
m_config->ch0Output->setCurrentIndex(0); m_config->ch0Output->setCurrentIndex(0);
m_config->ch1Output->setCurrentIndex(0); m_config->ch1Output->setCurrentIndex(0);
@ -402,7 +398,7 @@ void ConfigOutputWidget::requestRCOutputUpdate()
m_config->ch7Output->setCurrentIndex(0); m_config->ch7Output->setCurrentIndex(0);
// Get the channel assignements: // Get the channel assignements:
obj = dynamic_cast<UAVDataObject*>(objManager->getObject(QString("ActuatorSettings"))); UAVDataObject * obj = dynamic_cast<UAVDataObject*>(objManager->getObject(QString("ActuatorSettings")));
Q_ASSERT(obj); Q_ASSERT(obj);
obj->requestUpdate(); obj->requestUpdate();
QList<UAVObjectField*> fieldList = obj->getFields(); QList<UAVObjectField*> fieldList = obj->getFields();
@ -413,13 +409,43 @@ void ConfigOutputWidget::requestRCOutputUpdate()
} }
// Get the SpinWhileArmed setting // Get the SpinWhileArmed setting
field = obj->getField(QString("MotorsSpinWhileArmed")); UAVObjectField *field = obj->getField(QString("MotorsSpinWhileArmed"));
m_config->spinningArmed->setChecked(field->getValue().toBool()); m_config->spinningArmed->setChecked(field->getValue().toString().contains("TRUE"));
// Get Output rates for both banks // Get Output rates for both banks
field = obj->getField(QString("ChannelUpdateFreq")); field = obj->getField(QString("ChannelUpdateFreq"));
UAVObjectUtilManager* utilMngr = pm->getObject<UAVObjectUtilManager>();
m_config->outputRate1->setValue(field->getValue(0).toInt()); m_config->outputRate1->setValue(field->getValue(0).toInt());
m_config->outputRate2->setValue(field->getValue(1).toInt()); m_config->outputRate2->setValue(field->getValue(1).toInt());
if (utilMngr) {
int board = utilMngr->getBoardModel();
if ((board & 0xff00) == 1024) {
// CopterControl family
m_config->chBank1->setText("1-3");
m_config->chBank2->setText("4");
m_config->chBank3->setText("5");
m_config->chBank4->setText("6");
m_config->outputRate1->setEnabled(true);
m_config->outputRate2->setEnabled(true);
m_config->outputRate3->setEnabled(true);
m_config->outputRate4->setEnabled(true);
m_config->outputRate3->setValue(field->getValue(2).toInt());
m_config->outputRate4->setValue(field->getValue(3).toInt());
} else if ((board & 0xff00) == 256 ) {
// Mainboard family
m_config->outputRate1->setEnabled(true);
m_config->outputRate2->setEnabled(true);
m_config->outputRate3->setEnabled(false);
m_config->outputRate4->setEnabled(false);
m_config->chBank1->setText("1-4");
m_config->chBank2->setText("5-8");
m_config->chBank3->setText("-");
m_config->chBank4->setText("-");
m_config->outputRate3->setValue(0);
m_config->outputRate4->setValue(0);
}
}
// Get Channel ranges: // Get Channel ranges:
for (int i=0;i<8;i++) { for (int i=0;i<8;i++) {
@ -479,6 +505,8 @@ void ConfigOutputWidget::sendRCOutputUpdate()
field = obj->getField(QString("ChannelUpdateFreq")); field = obj->getField(QString("ChannelUpdateFreq"));
field->setValue(m_config->outputRate1->value(),0); field->setValue(m_config->outputRate1->value(),0);
field->setValue(m_config->outputRate2->value(),1); field->setValue(m_config->outputRate2->value(),1);
field->setValue(m_config->outputRate3->value(),2);
field->setValue(m_config->outputRate4->value(),3);
// Set Actuator assignement for each channel: // Set Actuator assignement for each channel:
// Rule: if two channels have the same setting (which is wrong!) the higher channel // Rule: if two channels have the same setting (which is wrong!) the higher channel

View File

@ -32,6 +32,7 @@
#include "extensionsystem/pluginmanager.h" #include "extensionsystem/pluginmanager.h"
#include "uavobjectmanager.h" #include "uavobjectmanager.h"
#include "uavobject.h" #include "uavobject.h"
#include "uavobjectutilmanager.h"
#include <QtGui/QWidget> #include <QtGui/QWidget>
#include <QList> #include <QList>

View File

@ -12,7 +12,7 @@
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
id="svg4183" id="svg4183"
version="1.1" version="1.1"
inkscape:version="0.48+devel r10146" inkscape:version="0.48.1 r9760"
width="4065.2493" width="4065.2493"
height="1760.019" height="1760.019"
xml:space="preserve" xml:space="preserve"
@ -3515,15 +3515,15 @@
guidetolerance="10" guidetolerance="10"
inkscape:pageopacity="0" inkscape:pageopacity="0"
inkscape:pageshadow="2" inkscape:pageshadow="2"
inkscape:window-width="1440" inkscape:window-width="1920"
inkscape:window-height="838" inkscape:window-height="1003"
id="namedview4185" id="namedview4185"
showgrid="false" showgrid="false"
inkscape:zoom="0.5" inkscape:zoom="0.5"
inkscape:cx="2445.5721" inkscape:cx="2445.5721"
inkscape:cy="1077.2043" inkscape:cy="757.2043"
inkscape:window-x="-8" inkscape:window-x="0"
inkscape:window-y="-8" inkscape:window-y="24"
inkscape:window-maximized="1" inkscape:window-maximized="1"
inkscape:current-layer="g4191" inkscape:current-layer="g4191"
fit-margin-top="0" fit-margin-top="0"
@ -3624,7 +3624,8 @@
id="g6963" /><g id="g6963" /><g
id="g6995" /><g id="g6995" /><g
id="g7027" /><g id="g7027" /><g
id="quad-x"><g id="quad-X"
inkscape:label="#quad-x"><g
transform="matrix(1,0,0,-1,0,2792.2535)" transform="matrix(1,0,0,-1,0,2792.2535)"
id="g5011"><path id="g5011"><path
d="m 1001.67,1438.583 2.695,0 0,-16.728 16.729,0 0,16.728 2.988,0 -11.205,11.205 -11.207,-11.205 z" d="m 1001.67,1438.583 2.695,0 0,-16.728 16.729,0 0,16.728 2.988,0 -11.205,11.205 -11.207,-11.205 z"

Before

Width:  |  Height:  |  Size: 436 KiB

After

Width:  |  Height:  |  Size: 436 KiB

View File

@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>663</width> <width>663</width>
<height>395</height> <height>500</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -15,135 +15,155 @@
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<widget class="QTabWidget" name="tabWidget"> <widget class="QFrame" name="frame">
<property name="currentIndex"> <property name="frameShape">
<number>0</number> <enum>QFrame::StyledPanel</enum>
</property> </property>
<widget class="QWidget" name="tab_2"> <property name="frameShadow">
<attribute name="title"> <enum>QFrame::Raised</enum>
<string>Servo Output</string>
</attribute>
<widget class="QLabel" name="aircraftType">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>221</width>
<height>17</height>
</rect>
</property> </property>
<property name="text"> <layout class="QGridLayout" name="gridLayout">
<string>Aircraft type: undefined</string> <property name="leftMargin">
<number>1</number>
</property> </property>
</widget> <property name="topMargin">
<widget class="QLabel" name="actuator0Label"> <number>1</number>
<property name="geometry">
<rect>
<x>10</x>
<y>70</y>
<width>71</width>
<height>17</height>
</rect>
</property> </property>
<property name="text"> <property name="rightMargin">
<string>Channel 1</string> <number>1</number>
</property> </property>
</widget> <property name="bottomMargin">
<widget class="QLabel" name="actuator1Label"> <number>3</number>
<property name="geometry">
<rect>
<x>10</x>
<y>100</y>
<width>71</width>
<height>17</height>
</rect>
</property> </property>
<property name="text"> <property name="spacing">
<string>Channel 2</string> <number>2</number>
</property> </property>
</widget> <item row="1" column="4">
<widget class="QLabel" name="actuator2Label"> <widget class="QSpinBox" name="outputRate4">
<property name="geometry">
<rect>
<x>10</x>
<y>130</y>
<width>71</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Channel 3</string>
</property>
</widget>
<widget class="QLabel" name="actuator3Label">
<property name="geometry">
<rect>
<x>10</x>
<y>160</y>
<width>71</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Channel 4</string>
</property>
</widget>
<widget class="QLabel" name="actuator4Label">
<property name="geometry">
<rect>
<x>10</x>
<y>190</y>
<width>71</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Channel 5</string>
</property>
</widget>
<widget class="QLabel" name="actuator5Label">
<property name="geometry">
<rect>
<x>10</x>
<y>220</y>
<width>71</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Channel 6</string>
</property>
</widget>
<widget class="QSlider" name="ch0OutSlider">
<property name="enabled"> <property name="enabled">
<bool>true</bool> <bool>false</bool>
</property> </property>
<property name="geometry"> <property name="toolTip">
<rect> <string>Setup &quot;TurboPWM&quot; here: usual value is 400 Hz for multirotor airframes.
<x>300</x> Leave at 50Hz for fixed wing.</string>
<y>70</y> </property>
<width>160</width> </widget>
<height>18</height> </item>
</rect> <item row="0" column="3">
<widget class="QLabel" name="chBank3">
<property name="text">
<string>-</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="chBank2">
<property name="text">
<string>-</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="chBank1">
<property name="text">
<string>-</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QSpinBox" name="outputRate3">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>Setup &quot;TurboPWM&quot; here: usual value is 400 Hz for multirotor airframes.
Leave at 50Hz for fixed wing.</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QSpinBox" name="outputRate2">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>Setup &quot;TurboPWM&quot; here: usual value is 400 Hz for multirotor airframes.
Leave at 50Hz for fixed wing.</string>
</property> </property>
<property name="maximum"> <property name="maximum">
<number>9999</number> <number>9999</number>
</property> </property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget> </widget>
<widget class="QComboBox" name="ch0Output"> </item>
<item row="1" column="1">
<widget class="QSpinBox" name="outputRate1">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="geometry"> <property name="toolTip">
<rect> <string>Setup &quot;TurboPWM&quot; here: usual value is 400 Hz for multirotor airframes.
<x>100</x> Leave at 50Hz for fixed wing.</string>
<y>70</y> </property>
<width>121</width> <property name="maximum">
<height>21</height> <number>9999</number>
</rect> </property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Update rate:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="4">
<widget class="QLabel" name="chBank4">
<property name="text">
<string>-</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Channel:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<layout class="QGridLayout" name="gridLayout_2">
<item row="1" column="0">
<widget class="QLabel" name="actuator0Label">
<property name="text">
<string>Channel 1</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="ch0Output">
<property name="enabled">
<bool>false</bool>
</property> </property>
<property name="font"> <property name="font">
<font> <font>
@ -159,18 +179,12 @@ p, li { white-space: pre-wrap; }
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;You can change this through the &amp;quot;Airframe&amp;quot; dialog (on the left).&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;You can change this through the &amp;quot;Airframe&amp;quot; dialog (on the left).&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
</widget> </widget>
</item>
<item row="1" column="2">
<widget class="QSpinBox" name="ch0OutMin"> <widget class="QSpinBox" name="ch0OutMin">
<property name="enabled"> <property name="enabled">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="geometry">
<rect>
<x>240</x>
<y>70</y>
<width>55</width>
<height>21</height>
</rect>
</property>
<property name="font"> <property name="font">
<font> <font>
<pointsize>8</pointsize> <pointsize>8</pointsize>
@ -187,17 +201,24 @@ p, li { white-space: pre-wrap; }
<number>9999</number> <number>9999</number>
</property> </property>
</widget> </widget>
<widget class="QSpinBox" name="ch0OutMax"> </item>
<item row="1" column="3">
<widget class="QSlider" name="ch0OutSlider">
<property name="enabled"> <property name="enabled">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="geometry"> <property name="maximum">
<rect> <number>9999</number>
<x>460</x> </property>
<y>70</y> <property name="orientation">
<width>55</width> <enum>Qt::Horizontal</enum>
<height>21</height> </property>
</rect> </widget>
</item>
<item row="1" column="4">
<widget class="QSpinBox" name="ch0OutMax">
<property name="enabled">
<bool>true</bool>
</property> </property>
<property name="font"> <property name="font">
<font> <font>
@ -215,17 +236,802 @@ p, li { white-space: pre-wrap; }
<number>9999</number> <number>9999</number>
</property> </property>
</widget> </widget>
<widget class="QCheckBox" name="channelOutTest"> </item>
<item row="1" column="5">
<widget class="QLabel" name="ch0OutValue">
<property name="toolTip">
<string>Current value of slider.</string>
</property>
<property name="text">
<string>0000</string>
</property>
</widget>
</item>
<item row="1" column="6">
<widget class="QCheckBox" name="ch0Rev">
<property name="font">
<font>
<family>FreeSans</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Check to invert the channel.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="7">
<widget class="QCheckBox" name="ch0Link">
<property name="toolTip">
<string>Only used with Test Output mode</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="0" column="7">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Link</string>
</property>
</widget>
</item>
<item row="0" column="6">
<widget class="QLabel" name="label">
<property name="text">
<string>Rev.</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="actuator1Label">
<property name="text">
<string>Channel 2</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="ch1Output">
<property name="enabled">
<bool>false</bool>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;This is the actuator connected to this channel.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;You can change this through the &amp;quot;Airframe&amp;quot; dialog (on the left).&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QSpinBox" name="ch1OutMin">
<property name="enabled"> <property name="enabled">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="geometry"> <property name="font">
<rect> <font>
<x>10</x> <pointsize>8</pointsize>
<y>40</y> </font>
<width>151</width> </property>
<height>22</height> <property name="maximum">
</rect> <number>9999</number>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QSlider" name="ch1OutSlider">
<property name="enabled">
<bool>true</bool>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="2" column="4">
<widget class="QSpinBox" name="ch1OutMax">
<property name="enabled">
<bool>true</bool>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
</item>
<item row="2" column="5">
<widget class="QLabel" name="ch1OutValue">
<property name="text">
<string>0000</string>
</property>
</widget>
</item>
<item row="2" column="6">
<widget class="QCheckBox" name="ch1Rev">
<property name="font">
<font>
<family>FreeSans</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Check to invert the channel.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="2" column="7">
<widget class="QCheckBox" name="ch1Link">
<property name="toolTip">
<string>Only used with Test Output mode</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="actuator2Label">
<property name="text">
<string>Channel 3</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QComboBox" name="ch2Output">
<property name="enabled">
<bool>false</bool>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;This is the actuator connected to this channel.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;You can change this through the &amp;quot;Airframe&amp;quot; dialog (on the left).&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QSpinBox" name="ch2OutMin">
<property name="enabled">
<bool>true</bool>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
</item>
<item row="3" column="3">
<widget class="QSlider" name="ch2OutSlider">
<property name="enabled">
<bool>true</bool>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="3" column="4">
<widget class="QSpinBox" name="ch2OutMax">
<property name="enabled">
<bool>true</bool>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
</item>
<item row="3" column="5">
<widget class="QLabel" name="ch2OutValue">
<property name="text">
<string>0000</string>
</property>
</widget>
</item>
<item row="3" column="6">
<widget class="QCheckBox" name="ch2Rev">
<property name="font">
<font>
<family>FreeSans</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Check to invert the channel.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="3" column="7">
<widget class="QCheckBox" name="ch2Link">
<property name="toolTip">
<string>Only used with Test Output mode</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="actuator3Label">
<property name="text">
<string>Channel 4</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QComboBox" name="ch3Output">
<property name="enabled">
<bool>false</bool>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;This is the actuator connected to this channel.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;You can change this through the &amp;quot;Airframe&amp;quot; dialog (on the left).&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QSpinBox" name="ch3OutMin">
<property name="enabled">
<bool>true</bool>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
</item>
<item row="4" column="3">
<widget class="QSlider" name="ch3OutSlider">
<property name="enabled">
<bool>true</bool>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="4" column="4">
<widget class="QSpinBox" name="ch3OutMax">
<property name="enabled">
<bool>true</bool>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
</item>
<item row="4" column="5">
<widget class="QLabel" name="ch3OutValue">
<property name="text">
<string>0000</string>
</property>
</widget>
</item>
<item row="4" column="6">
<widget class="QCheckBox" name="ch3Rev">
<property name="font">
<font>
<family>FreeSans</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Check to invert the channel.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="4" column="7">
<widget class="QCheckBox" name="ch3Link">
<property name="toolTip">
<string>Only used with Test Output mode</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="actuator4Label">
<property name="text">
<string>Channel 5</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QComboBox" name="ch4Output">
<property name="enabled">
<bool>false</bool>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;This is the actuator connected to this channel.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;You can change this through the &amp;quot;Airframe&amp;quot; dialog (on the left).&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item row="5" column="2">
<widget class="QSpinBox" name="ch4OutMin">
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
</item>
<item row="5" column="3">
<widget class="QSlider" name="ch4OutSlider">
<property name="maximum">
<number>9999</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="5" column="4">
<widget class="QSpinBox" name="ch4OutMax">
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
</item>
<item row="5" column="5">
<widget class="QLabel" name="ch4OutValue">
<property name="text">
<string>0000</string>
</property>
</widget>
</item>
<item row="5" column="6">
<widget class="QCheckBox" name="ch4Rev">
<property name="font">
<font>
<family>FreeSans</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Check to invert the channel.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="5" column="7">
<widget class="QCheckBox" name="ch4Link">
<property name="toolTip">
<string>Only used with Test Output mode</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="actuator5Label">
<property name="text">
<string>Channel 6</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QComboBox" name="ch5Output">
<property name="enabled">
<bool>false</bool>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;This is the actuator connected to this channel.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;You can change this through the &amp;quot;Airframe&amp;quot; dialog (on the left).&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item row="6" column="2">
<widget class="QSpinBox" name="ch5OutMin">
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
</item>
<item row="6" column="3">
<widget class="QSlider" name="ch5OutSlider">
<property name="maximum">
<number>9999</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="6" column="4">
<widget class="QSpinBox" name="ch5OutMax">
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
</item>
<item row="6" column="5">
<widget class="QLabel" name="ch5OutValue">
<property name="text">
<string>0000</string>
</property>
</widget>
</item>
<item row="6" column="6">
<widget class="QCheckBox" name="ch5Rev">
<property name="font">
<font>
<family>FreeSans</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Check to invert the channel.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="6" column="7">
<widget class="QCheckBox" name="ch5Link">
<property name="toolTip">
<string>Only used with Test Output mode</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="actuator6Label">
<property name="text">
<string>Channel 7</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QComboBox" name="ch6Output">
<property name="enabled">
<bool>false</bool>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;This is the actuator connected to this channel.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;You can change this through the &amp;quot;Airframe&amp;quot; dialog (on the left).&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QLabel" name="actuator7Label">
<property name="text">
<string>Channel 8</string>
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="QComboBox" name="ch7Output">
<property name="enabled">
<bool>false</bool>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;This is the actuator connected to this channel.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;You can change this through the &amp;quot;Airframe&amp;quot; dialog (on the left).&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item row="7" column="2">
<widget class="QSpinBox" name="ch6OutMin">
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
</item>
<item row="7" column="3">
<widget class="QSlider" name="ch6OutSlider">
<property name="maximum">
<number>9999</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="7" column="4">
<widget class="QSpinBox" name="ch6OutMax">
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
</item>
<item row="7" column="5">
<widget class="QLabel" name="ch6OutValue">
<property name="text">
<string>0000</string>
</property>
</widget>
</item>
<item row="7" column="6">
<widget class="QCheckBox" name="ch6Rev">
<property name="font">
<font>
<family>FreeSans</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Check to invert the channel.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="7" column="7">
<widget class="QCheckBox" name="ch6Link">
<property name="toolTip">
<string>Only used with Test Output mode</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="8" column="2">
<widget class="QSpinBox" name="ch7OutMin">
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
</item>
<item row="8" column="3">
<widget class="QSlider" name="ch7OutSlider">
<property name="maximum">
<number>9999</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="8" column="4">
<widget class="QSpinBox" name="ch7OutMax">
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
</item>
<item row="8" column="5">
<widget class="QLabel" name="ch7OutValue">
<property name="text">
<string>0000</string>
</property>
</widget>
</item>
<item row="8" column="6">
<widget class="QCheckBox" name="ch7Rev">
<property name="font">
<font>
<family>FreeSans</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Check to invert the channel.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="8" column="7">
<widget class="QCheckBox" name="ch7Link">
<property name="toolTip">
<string>Only used with Test Output mode</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="spinningArmed">
<property name="text">
<string>Motors spin at neutral output when armed and throttle below zero (be careful)</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QCheckBox" name="channelOutTest">
<property name="enabled">
<bool>true</bool>
</property> </property>
<property name="toolTip"> <property name="toolTip">
<string>Move the servos using the sliders. Two important things: <string>Move the servos using the sliders. Two important things:
@ -236,631 +1042,22 @@ p, li { white-space: pre-wrap; }
<string>Test outputs</string> <string>Test outputs</string>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="actuator6Label"> </item>
<property name="geometry"> <item>
<rect> <spacer name="horizontalSpacer">
<x>10</x>
<y>250</y>
<width>71</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Channel 7</string>
</property>
</widget>
<widget class="QLabel" name="actuator7Label">
<property name="geometry">
<rect>
<x>10</x>
<y>280</y>
<width>71</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Channel 8</string>
</property>
</widget>
<widget class="QComboBox" name="ch1Output">
<property name="enabled">
<bool>false</bool>
</property>
<property name="geometry">
<rect>
<x>100</x>
<y>100</y>
<width>121</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;This is the actuator connected to this channel.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;You can change this through the &amp;quot;Airframe&amp;quot; dialog (on the left).&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QSpinBox" name="ch1OutMax">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>460</x>
<y>100</y>
<width>55</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
<widget class="QSpinBox" name="ch1OutMin">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>240</x>
<y>100</y>
<width>55</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
<widget class="QSlider" name="ch1OutSlider">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>300</x>
<y>100</y>
<width>160</width>
<height>18</height>
</rect>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
</widget> <property name="sizeHint" stdset="0">
<widget class="QComboBox" name="ch2Output"> <size>
<property name="enabled"> <width>40</width>
<bool>false</bool> <height>20</height>
</property> </size>
<property name="geometry"> </property>
<rect> </spacer>
<x>100</x> </item>
<y>130</y> <item>
<width>121</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;This is the actuator connected to this channel.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;You can change this through the &amp;quot;Airframe&amp;quot; dialog (on the left).&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QSpinBox" name="ch2OutMax">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>460</x>
<y>130</y>
<width>55</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
<widget class="QSpinBox" name="ch2OutMin">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>240</x>
<y>130</y>
<width>55</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
<widget class="QSlider" name="ch2OutSlider">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>300</x>
<y>130</y>
<width>160</width>
<height>18</height>
</rect>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
<widget class="QComboBox" name="ch3Output">
<property name="enabled">
<bool>false</bool>
</property>
<property name="geometry">
<rect>
<x>100</x>
<y>160</y>
<width>121</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;This is the actuator connected to this channel.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;You can change this through the &amp;quot;Airframe&amp;quot; dialog (on the left).&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QSpinBox" name="ch3OutMax">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>460</x>
<y>160</y>
<width>55</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
<widget class="QSpinBox" name="ch3OutMin">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>240</x>
<y>160</y>
<width>55</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
<widget class="QSlider" name="ch3OutSlider">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>300</x>
<y>160</y>
<width>160</width>
<height>18</height>
</rect>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
<widget class="QComboBox" name="ch4Output">
<property name="enabled">
<bool>false</bool>
</property>
<property name="geometry">
<rect>
<x>100</x>
<y>190</y>
<width>121</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;This is the actuator connected to this channel.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;You can change this through the &amp;quot;Airframe&amp;quot; dialog (on the left).&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QSpinBox" name="ch4OutMax">
<property name="geometry">
<rect>
<x>460</x>
<y>190</y>
<width>55</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
<widget class="QSpinBox" name="ch4OutMin">
<property name="geometry">
<rect>
<x>240</x>
<y>190</y>
<width>55</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
<widget class="QSlider" name="ch4OutSlider">
<property name="geometry">
<rect>
<x>300</x>
<y>190</y>
<width>160</width>
<height>18</height>
</rect>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
<widget class="QComboBox" name="ch5Output">
<property name="enabled">
<bool>false</bool>
</property>
<property name="geometry">
<rect>
<x>100</x>
<y>220</y>
<width>121</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;This is the actuator connected to this channel.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;You can change this through the &amp;quot;Airframe&amp;quot; dialog (on the left).&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QSpinBox" name="ch5OutMax">
<property name="geometry">
<rect>
<x>460</x>
<y>220</y>
<width>55</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
<widget class="QSpinBox" name="ch5OutMin">
<property name="geometry">
<rect>
<x>240</x>
<y>220</y>
<width>55</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
<widget class="QSlider" name="ch5OutSlider">
<property name="geometry">
<rect>
<x>300</x>
<y>220</y>
<width>160</width>
<height>18</height>
</rect>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
<widget class="QComboBox" name="ch6Output">
<property name="enabled">
<bool>false</bool>
</property>
<property name="geometry">
<rect>
<x>100</x>
<y>250</y>
<width>121</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;This is the actuator connected to this channel.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;You can change this through the &amp;quot;Airframe&amp;quot; dialog (on the left).&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QSpinBox" name="ch6OutMax">
<property name="geometry">
<rect>
<x>460</x>
<y>250</y>
<width>55</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
<widget class="QSpinBox" name="ch6OutMin">
<property name="geometry">
<rect>
<x>240</x>
<y>250</y>
<width>55</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
<widget class="QSlider" name="ch6OutSlider">
<property name="geometry">
<rect>
<x>300</x>
<y>250</y>
<width>160</width>
<height>18</height>
</rect>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
<widget class="QComboBox" name="ch7Output">
<property name="enabled">
<bool>false</bool>
</property>
<property name="geometry">
<rect>
<x>100</x>
<y>280</y>
<width>121</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;This is the actuator connected to this channel.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans';&quot;&gt;You can change this through the &amp;quot;Airframe&amp;quot; dialog (on the left).&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QSpinBox" name="ch7OutMax">
<property name="geometry">
<rect>
<x>460</x>
<y>280</y>
<width>55</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
<widget class="QSpinBox" name="ch7OutMin">
<property name="geometry">
<rect>
<x>240</x>
<y>280</y>
<width>55</width>
<height>21</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>8</pointsize>
</font>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
<widget class="QSlider" name="ch7OutSlider">
<property name="geometry">
<rect>
<x>300</x>
<y>280</y>
<width>160</width>
<height>18</height>
</rect>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
<widget class="QPushButton" name="saveRCOutputToSD">
<property name="geometry">
<rect>
<x>530</x>
<y>310</y>
<width>93</width>
<height>27</height>
</rect>
</property>
<property name="toolTip">
<string>Be sure to set the Neutral position on all sliders before sending!
Applies and Saves all settings to SD</string>
</property>
<property name="text">
<string>Save</string>
</property>
</widget>
<widget class="QPushButton" name="getRCOutputCurrent"> <widget class="QPushButton" name="getRCOutputCurrent">
<property name="geometry">
<rect>
<x>330</x>
<y>310</y>
<width>93</width>
<height>27</height>
</rect>
</property>
<property name="toolTip"> <property name="toolTip">
<string>Retrieve settings from OpenPilot</string> <string>Retrieve settings from OpenPilot</string>
</property> </property>
@ -868,15 +1065,9 @@ Applies and Saves all settings to SD</string>
<string>Get Current</string> <string>Get Current</string>
</property> </property>
</widget> </widget>
</item>
<item>
<widget class="QPushButton" name="saveRCOutputToRAM"> <widget class="QPushButton" name="saveRCOutputToRAM">
<property name="geometry">
<rect>
<x>430</x>
<y>310</y>
<width>93</width>
<height>27</height>
</rect>
</property>
<property name="toolTip"> <property name="toolTip">
<string>Send to OpenPilot but don't write in SD. <string>Send to OpenPilot but don't write in SD.
Be sure to set the Neutral position on all sliders before sending!</string> Be sure to set the Neutral position on all sliders before sending!</string>
@ -885,586 +1076,23 @@ Be sure to set the Neutral position on all sliders before sending!</string>
<string>Apply</string> <string>Apply</string>
</property> </property>
</widget> </widget>
<widget class="QFrame" name="frame"> </item>
<property name="geometry"> <item>
<rect> <widget class="QPushButton" name="saveRCOutputToSD">
<x>240</x>
<y>10</y>
<width>291</width>
<height>51</height>
</rect>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<widget class="QSpinBox" name="outputRate2">
<property name="geometry">
<rect>
<x>220</x>
<y>20</y>
<width>55</width>
<height>27</height>
</rect>
</property>
<property name="toolTip"> <property name="toolTip">
<string>Setup &quot;TurboPWM&quot; here: usual value is 400 Hz for multirotor airframes. <string>Be sure to set the Neutral position on all sliders before sending!
Leave at 50Hz for fixed wing.</string> Applies and Saves all settings to SD</string>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
<widget class="QLabel" name="label_3">
<property name="geometry">
<rect>
<x>20</x>
<y>20</y>
<width>81</width>
<height>17</height>
</rect>
</property> </property>
<property name="text"> <property name="text">
<string>Update rate:</string> <string>Save</string>
</property> </property>
</widget> </widget>
<widget class="QSpinBox" name="outputRate1"> </item>
<property name="geometry"> </layout>
<rect>
<x>120</x>
<y>20</y>
<width>55</width>
<height>27</height>
</rect>
</property>
<property name="toolTip">
<string>Setup &quot;TurboPWM&quot; here: usual value is 400 Hz for multirotor airframes.
Leave at 50Hz for fixed wing.</string>
</property>
<property name="maximum">
<number>9999</number>
</property>
</widget>
<widget class="QLabel" name="label_4">
<property name="geometry">
<rect>
<x>110</x>
<y>0</y>
<width>81</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Channel 0-3</string>
</property>
</widget>
<widget class="QLabel" name="label_5">
<property name="geometry">
<rect>
<x>210</x>
<y>0</y>
<width>81</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Channel 4-7</string>
</property>
</widget>
</widget>
<widget class="QLabel" name="ch0OutValue">
<property name="geometry">
<rect>
<x>520</x>
<y>70</y>
<width>41</width>
<height>17</height>
</rect>
</property>
<property name="toolTip">
<string>Current value of slider.</string>
</property>
<property name="text">
<string>0000</string>
</property>
</widget>
<widget class="QLabel" name="ch1OutValue">
<property name="geometry">
<rect>
<x>520</x>
<y>100</y>
<width>41</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>0000</string>
</property>
</widget>
<widget class="QLabel" name="ch2OutValue">
<property name="geometry">
<rect>
<x>520</x>
<y>130</y>
<width>41</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>0000</string>
</property>
</widget>
<widget class="QLabel" name="ch3OutValue">
<property name="geometry">
<rect>
<x>520</x>
<y>160</y>
<width>41</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>0000</string>
</property>
</widget>
<widget class="QLabel" name="ch4OutValue">
<property name="geometry">
<rect>
<x>520</x>
<y>190</y>
<width>41</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>0000</string>
</property>
</widget>
<widget class="QLabel" name="ch5OutValue">
<property name="geometry">
<rect>
<x>520</x>
<y>220</y>
<width>41</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>0000</string>
</property>
</widget>
<widget class="QLabel" name="ch6OutValue">
<property name="geometry">
<rect>
<x>520</x>
<y>250</y>
<width>41</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>0000</string>
</property>
</widget>
<widget class="QLabel" name="ch7OutValue">
<property name="geometry">
<rect>
<x>520</x>
<y>280</y>
<width>41</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>0000</string>
</property>
</widget>
<widget class="QCheckBox" name="ch5Rev">
<property name="geometry">
<rect>
<x>560</x>
<y>220</y>
<width>21</width>
<height>22</height>
</rect>
</property>
<property name="font">
<font>
<family>FreeSans</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Check to invert the channel.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QCheckBox" name="ch0Rev">
<property name="geometry">
<rect>
<x>560</x>
<y>70</y>
<width>21</width>
<height>22</height>
</rect>
</property>
<property name="font">
<font>
<family>FreeSans</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Check to invert the channel.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QCheckBox" name="ch2Rev">
<property name="geometry">
<rect>
<x>560</x>
<y>130</y>
<width>21</width>
<height>22</height>
</rect>
</property>
<property name="font">
<font>
<family>FreeSans</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Check to invert the channel.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QCheckBox" name="ch6Rev">
<property name="geometry">
<rect>
<x>560</x>
<y>250</y>
<width>21</width>
<height>22</height>
</rect>
</property>
<property name="font">
<font>
<family>FreeSans</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Check to invert the channel.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QCheckBox" name="ch7Rev">
<property name="geometry">
<rect>
<x>560</x>
<y>280</y>
<width>21</width>
<height>22</height>
</rect>
</property>
<property name="font">
<font>
<family>FreeSans</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Check to invert the channel.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QCheckBox" name="ch1Rev">
<property name="geometry">
<rect>
<x>560</x>
<y>100</y>
<width>21</width>
<height>22</height>
</rect>
</property>
<property name="font">
<font>
<family>FreeSans</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Check to invert the channel.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QCheckBox" name="ch3Rev">
<property name="geometry">
<rect>
<x>560</x>
<y>160</y>
<width>21</width>
<height>22</height>
</rect>
</property>
<property name="font">
<font>
<family>FreeSans</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Check to invert the channel.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QCheckBox" name="ch4Rev">
<property name="geometry">
<rect>
<x>560</x>
<y>190</y>
<width>21</width>
<height>22</height>
</rect>
</property>
<property name="font">
<font>
<family>FreeSans</family>
<pointsize>8</pointsize>
</font>
</property>
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'FreeSans'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Check to invert the channel.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>560</x>
<y>50</y>
<width>31</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Rev.</string>
</property>
</widget>
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>600</x>
<y>50</y>
<width>31</width>
<height>17</height>
</rect>
</property>
<property name="text">
<string>Link</string>
</property>
</widget>
<widget class="QCheckBox" name="ch0Link">
<property name="geometry">
<rect>
<x>610</x>
<y>70</y>
<width>21</width>
<height>22</height>
</rect>
</property>
<property name="toolTip">
<string>Only used with Test Output mode</string>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QCheckBox" name="ch1Link">
<property name="geometry">
<rect>
<x>610</x>
<y>100</y>
<width>21</width>
<height>22</height>
</rect>
</property>
<property name="toolTip">
<string>Only used with Test Output mode</string>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QCheckBox" name="ch2Link">
<property name="geometry">
<rect>
<x>610</x>
<y>130</y>
<width>21</width>
<height>22</height>
</rect>
</property>
<property name="toolTip">
<string>Only used with Test Output mode</string>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QCheckBox" name="ch3Link">
<property name="geometry">
<rect>
<x>610</x>
<y>160</y>
<width>21</width>
<height>22</height>
</rect>
</property>
<property name="toolTip">
<string>Only used with Test Output mode</string>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QCheckBox" name="ch4Link">
<property name="geometry">
<rect>
<x>610</x>
<y>190</y>
<width>21</width>
<height>22</height>
</rect>
</property>
<property name="toolTip">
<string>Only used with Test Output mode</string>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QCheckBox" name="ch5Link">
<property name="geometry">
<rect>
<x>610</x>
<y>220</y>
<width>21</width>
<height>22</height>
</rect>
</property>
<property name="toolTip">
<string>Only used with Test Output mode</string>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QCheckBox" name="ch6Link">
<property name="geometry">
<rect>
<x>610</x>
<y>250</y>
<width>21</width>
<height>22</height>
</rect>
</property>
<property name="toolTip">
<string>Only used with Test Output mode</string>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QCheckBox" name="ch7Link">
<property name="geometry">
<rect>
<x>610</x>
<y>280</y>
<width>21</width>
<height>22</height>
</rect>
</property>
<property name="toolTip">
<string>Only used with Test Output mode</string>
</property>
<property name="text">
<string/>
</property>
</widget>
<widget class="QCheckBox" name="spinningArmed">
<property name="geometry">
<rect>
<x>10</x>
<y>310</y>
<width>301</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>Motors at neutral (spinning) when armed</string>
</property>
</widget>
</widget>
</widget>
</item> </item>
</layout> </layout>
</widget> </widget>
<tabstops> <tabstops>
<tabstop>channelOutTest</tabstop>
<tabstop>outputRate1</tabstop>
<tabstop>outputRate2</tabstop>
<tabstop>ch0Output</tabstop> <tabstop>ch0Output</tabstop>
<tabstop>ch0OutMin</tabstop> <tabstop>ch0OutMin</tabstop>
<tabstop>ch0OutSlider</tabstop> <tabstop>ch0OutSlider</tabstop>
@ -1505,9 +1133,7 @@ p, li { white-space: pre-wrap; }
<tabstop>ch7OutSlider</tabstop> <tabstop>ch7OutSlider</tabstop>
<tabstop>ch7OutMax</tabstop> <tabstop>ch7OutMax</tabstop>
<tabstop>ch7Rev</tabstop> <tabstop>ch7Rev</tabstop>
<tabstop>getRCOutputCurrent</tabstop>
<tabstop>saveRCOutputToRAM</tabstop> <tabstop>saveRCOutputToRAM</tabstop>
<tabstop>saveRCOutputToSD</tabstop>
</tabstops> </tabstops>
<resources/> <resources/>
<connections/> <connections/>

View File

@ -1,17 +1,20 @@
[General]
ViewGroup_Default=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\0\0\0\x5\xa0\0\0\x3/\0\0\0\x4\0\0\0\x4\0\0\0\x1\0\0\0\b\xfc\0\0\0\0)
[Workspace] [Workspace]
NumberOfWorkspaces=6 NumberOfWorkspaces=6
Workspace1=Flight data Workspace1=Flight data
Icon1=:/core/images/openpilot_logo_64.png Icon1=:/core/images/ah.png
Workspace2=Configuration Workspace2=Configuration
Icon2=:/core/images/openpilot_logo_64.png Icon2=:/core/images/config.png
Workspace3=Dials Showcase Workspace3=Large Map
Icon3=:/core/images/openpilot_logo_64.png Icon3=:/core/images/world.png
Workspace4=Large Map Workspace4=Scopes
Icon4=:/core/images/openpilot_logo_64.png Icon4=:/core/images/scopes.png
Workspace5=Scopes Workspace5=HITL
Icon5=:/core/images/openpilot_logo_64.png Icon5=:/core/images/joystick.png
Workspace6=HITL Workspace6=Firmware
Icon6=:/core/images/openpilot_logo_64.png Icon6=:/core/images/cog.png
Workspace7=Workspace7 Workspace7=Workspace7
Icon7=:/core/images/openpilot_logo_64.png Icon7=:/core/images/openpilot_logo_64.png
Workspace8=Workspace8 Workspace8=Workspace8
@ -31,78 +34,30 @@ Mode1\version=UAVGadgetManagerV1
Mode1\showToolbars=false Mode1\showToolbars=false
Mode1\splitter\type=splitter Mode1\splitter\type=splitter
Mode1\splitter\splitterOrientation=1 Mode1\splitter\splitterOrientation=1
Mode1\splitter\splitterSizes=590, 595 Mode1\splitter\splitterSizes=738, 701
Mode1\splitter\side0\type=splitter Mode1\splitter\side0\type=splitter
Mode1\splitter\side0\splitterOrientation=2 Mode1\splitter\side0\splitterOrientation=2
Mode1\splitter\side0\splitterSizes=422, 209 Mode1\splitter\side0\splitterSizes=453, 327
Mode1\splitter\side0\side0\type=splitter Mode1\splitter\side0\side0\type=splitter
Mode1\splitter\side0\side0\splitterOrientation=1 Mode1\splitter\side0\side0\splitterOrientation=1
Mode1\splitter\side0\side0\splitterSizes=615, 64 Mode1\splitter\side0\side0\splitterSizes=144, 608
Mode1\splitter\side0\side0\side0\type=uavGadget Mode1\splitter\side0\side0\side0\type=splitter
Mode1\splitter\side0\side0\side0\classId=PFDGadget
Mode1\splitter\side0\side0\side0\gadget\activeConfiguration=smooth
Mode1\splitter\side0\side0\side1\type=uavGadget Mode1\splitter\side0\side0\side1\type=uavGadget
Mode1\splitter\side0\side0\side1\classId=LineardialGadget
Mode1\splitter\side0\side0\side1\gadget\activeConfiguration=Throttle
Mode1\splitter\side0\side1\type=splitter Mode1\splitter\side0\side1\type=splitter
Mode1\splitter\side0\side1\splitterOrientation=1
Mode1\splitter\side0\side1\splitterSizes=301, 378
Mode1\splitter\side0\side1\side0\type=splitter
Mode1\splitter\side0\side1\side0\splitterOrientation=2
Mode1\splitter\side0\side1\side0\splitterSizes=64, 64
Mode1\splitter\side0\side1\side0\side0\type=splitter
Mode1\splitter\side0\side1\side0\side0\splitterOrientation=1
Mode1\splitter\side0\side1\side0\side0\splitterSizes=200, 199
Mode1\splitter\side0\side1\side0\side0\side0\type=uavGadget
Mode1\splitter\side0\side1\side0\side0\side0\classId=LineardialGadget
Mode1\splitter\side0\side1\side0\side0\side0\gadget\activeConfiguration=Flight Time
Mode1\splitter\side0\side1\side0\side0\side1\type=uavGadget
Mode1\splitter\side0\side1\side0\side0\side1\classId=LineardialGadget
Mode1\splitter\side0\side1\side0\side0\side1\gadget\activeConfiguration=Flight mode
Mode1\splitter\side0\side1\side0\side1\type=splitter
Mode1\splitter\side0\side1\side0\side1\splitterOrientation=1
Mode1\splitter\side0\side1\side0\side1\splitterSizes=200, 199
Mode1\splitter\side0\side1\side0\side1\side0\type=uavGadget
Mode1\splitter\side0\side1\side0\side1\side0\classId=LineardialGadget
Mode1\splitter\side0\side1\side0\side1\side0\gadget\activeConfiguration=GPS Sats
Mode1\splitter\side0\side1\side0\side1\side1\type=uavGadget
Mode1\splitter\side0\side1\side0\side1\side1\classId=LineardialGadget
Mode1\splitter\side0\side1\side0\side1\side1\gadget\activeConfiguration=Arm Status
Mode1\splitter\side0\side1\side1\type=splitter
Mode1\splitter\side0\side1\side1\splitterOrientation=1
Mode1\splitter\side0\side1\side1\splitterSizes=279, 129
Mode1\splitter\side0\side1\side1\side0\type=uavGadget
Mode1\splitter\side0\side1\side1\side0\classId=SystemHealthGadget
Mode1\splitter\side0\side1\side1\side0\gadget\activeConfiguration=default
Mode1\splitter\side0\side1\side1\side1\type=splitter
Mode1\splitter\side0\side1\side1\side1\splitterOrientation=1
Mode1\splitter\side0\side1\side1\side1\splitterSizes=104, 64
Mode1\splitter\side0\side1\side1\side1\side0\type=uavGadget
Mode1\splitter\side0\side1\side1\side1\side0\classId=LineardialGadget
Mode1\splitter\side0\side1\side1\side1\side0\gadget\activeConfiguration=AHRS CPU
Mode1\splitter\side0\side1\side1\side1\side1\type=uavGadget
Mode1\splitter\side0\side1\side1\side1\side1\classId=LineardialGadget
Mode1\splitter\side0\side1\side1\side1\side1\gadget\activeConfiguration=Mainboard CPU
Mode1\splitter\side1\type=splitter Mode1\splitter\side1\type=splitter
Mode1\splitter\side1\splitterOrientation=2 Mode1\splitter\side1\splitterOrientation=2
Mode1\splitter\side1\splitterSizes=353, 278 Mode1\splitter\side1\splitterSizes=492, 288
Mode1\splitter\side1\side0\type=splitter Mode1\splitter\side1\side0\type=uavGadget
Mode1\splitter\side1\side0\splitterOrientation=1 Mode1\splitter\side1\side1\type=splitter
Mode1\splitter\side1\side0\splitterSizes=373, 311 Mode1\splitter\side1\side1\splitterOrientation=1
Mode1\splitter\side1\side0\side0\type=uavGadget Mode1\splitter\side1\side1\splitterSizes=441, 259
Mode1\splitter\side1\side0\side0\classId=ScopeGadget Mode1\splitter\side1\side1\side0\type=splitter
Mode1\splitter\side1\side0\side0\gadget\activeConfiguration=Attitude Mode1\splitter\side1\side1\side1\type=splitter
Mode1\splitter\side1\side0\side1\type=uavGadget
Mode1\splitter\side1\side0\side1\classId=ModelViewGadget
Mode1\splitter\side1\side0\side1\gadget\activeConfiguration=Test Quad X
Mode1\splitter\side1\side1\type=uavGadget
Mode1\splitter\side1\side1\classId=GpsDisplayGadget
Mode1\splitter\side1\side1\gadget\activeConfiguration=Flight GPS
Mode2\version=UAVGadgetManagerV1 Mode2\version=UAVGadgetManagerV1
Mode2\showToolbars=false Mode2\showToolbars=false
Mode2\splitter\type=splitter Mode2\splitter\type=splitter
Mode2\splitter\splitterOrientation=1 Mode2\splitter\splitterOrientation=1
Mode2\splitter\splitterSizes=661, 704 Mode2\splitter\splitterSizes=734, 631
Mode2\splitter\side0\type=splitter Mode2\splitter\side0\type=splitter
Mode2\splitter\side0\splitterOrientation=2 Mode2\splitter\side0\splitterOrientation=2
Mode2\splitter\side0\splitterSizes=565, 66 Mode2\splitter\side0\splitterSizes=565, 66
@ -120,153 +75,241 @@ Mode2\splitter\side0\side1\side1\classId=LineardialGadget
Mode2\splitter\side0\side1\side1\gadget\activeConfiguration=Telemetry TX Rate Horizontal Mode2\splitter\side0\side1\side1\gadget\activeConfiguration=Telemetry TX Rate Horizontal
Mode2\splitter\side1\type=splitter Mode2\splitter\side1\type=splitter
Mode2\splitter\side1\splitterOrientation=2 Mode2\splitter\side1\splitterOrientation=2
Mode2\splitter\side1\splitterSizes=259, 372 Mode2\splitter\side1\splitterSizes=433, 347
Mode2\splitter\side1\side0\type=uavGadget Mode2\splitter\side1\side0\type=uavGadget
Mode2\splitter\side1\side0\classId=UAVObjectBrowser Mode2\splitter\side1\side0\classId=UAVObjectBrowser
Mode2\splitter\side1\side0\gadget\activeConfiguration=default Mode2\splitter\side1\side0\gadget\activeConfiguration=default
Mode2\splitter\side1\side1\type=uavGadget Mode2\splitter\side1\side1\type=uavGadget
Mode2\splitter\side1\side1\classId=Uploader Mode2\splitter\side1\side1\classId=GCSControlGadget
Mode2\splitter\side1\side1\gadget\activeConfiguration=default Mode2\splitter\side1\side1\gadget\activeConfiguration=MS Sidewinder
Mode3\version=UAVGadgetManagerV1 Mode3\version=UAVGadgetManagerV1
Mode3\showToolbars=false Mode3\showToolbars=false
Mode3\splitter\type=splitter Mode3\splitter\type=splitter
Mode3\splitter\splitterOrientation=1 Mode3\splitter\splitterOrientation=1
Mode3\splitter\splitterSizes=377, 189 Mode3\splitter\splitterSizes=980, 385
Mode3\splitter\side0\type=splitter Mode3\splitter\side0\type=uavGadget
Mode3\splitter\side0\splitterOrientation=1 Mode3\splitter\side0\classId=OPMapGadget
Mode3\splitter\side0\splitterSizes=49, 49 Mode3\splitter\side0\gadget\activeConfiguration=default
Mode3\splitter\side0\side0\type=splitter
Mode3\splitter\side0\side0\splitterOrientation=1
Mode3\splitter\side0\side0\splitterSizes=49, 49
Mode3\splitter\side0\side0\side0\type=uavGadget
Mode3\splitter\side0\side0\side0\classId=DialGadget
Mode3\splitter\side0\side0\side0\gadget\activeConfiguration=Attitude
Mode3\splitter\side0\side0\side1\type=uavGadget
Mode3\splitter\side0\side0\side1\classId=DialGadget
Mode3\splitter\side0\side0\side1\gadget\activeConfiguration=Baro Altimeter
Mode3\splitter\side0\side1\type=splitter
Mode3\splitter\side0\side1\splitterOrientation=1
Mode3\splitter\side0\side1\splitterSizes=49, 49
Mode3\splitter\side0\side1\side0\type=uavGadget
Mode3\splitter\side0\side1\side0\classId=DialGadget
Mode3\splitter\side0\side1\side0\gadget\activeConfiguration=Compass
Mode3\splitter\side0\side1\side1\type=uavGadget
Mode3\splitter\side0\side1\side1\classId=DialGadget
Mode3\splitter\side0\side1\side1\gadget\activeConfiguration=Groundspeed kph
Mode3\splitter\side1\type=splitter Mode3\splitter\side1\type=splitter
Mode3\splitter\side1\splitterOrientation=1 Mode3\splitter\side1\splitterOrientation=2
Mode3\splitter\side1\splitterSizes=394, 210 Mode3\splitter\side1\splitterSizes=395, 236
Mode3\splitter\side1\side0\type=splitter Mode3\splitter\side1\side0\type=uavGadget
Mode3\splitter\side1\side0\splitterOrientation=1 Mode3\splitter\side1\side0\classId=ModelViewGadget
Mode3\splitter\side1\side0\splitterSizes=49, 49 Mode3\splitter\side1\side0\gadget\activeConfiguration=Test Quad X
Mode3\splitter\side1\side0\side0\type=uavGadget Mode3\splitter\side1\side1\type=splitter
Mode3\splitter\side1\side0\side0\classId=DialGadget Mode3\splitter\side1\side1\splitterOrientation=1
Mode3\splitter\side1\side0\side0\gadget\activeConfiguration=Temperature Mode3\splitter\side1\side1\splitterSizes=@Invalid()
Mode3\splitter\side1\side0\side1\type=uavGadget Mode3\splitter\side1\side1\side0\type=uavGadget
Mode3\splitter\side1\side0\side1\classId=DialGadget Mode3\splitter\side1\side1\side0\classId=DialGadget
Mode3\splitter\side1\side0\side1\gadget\activeConfiguration=Climbrate Mode3\splitter\side1\side1\side0\gadget\activeConfiguration=Attitude
Mode3\splitter\side1\side1\type=uavGadget Mode3\splitter\side1\side1\side1\type=uavGadget
Mode3\splitter\side1\side1\classId=DialGadget Mode3\splitter\side1\side1\side1\classId=DialGadget
Mode3\splitter\side1\side1\gadget\activeConfiguration=Barometer Mode3\splitter\side1\side1\side1\gadget\activeConfiguration=Compass
Mode4\version=UAVGadgetManagerV1 Mode4\version=UAVGadgetManagerV1
Mode4\showToolbars=false Mode4\showToolbars=false
Mode4\splitter\type=splitter Mode4\splitter\type=splitter
Mode4\splitter\splitterOrientation=1 Mode4\splitter\splitterOrientation=1
Mode4\splitter\splitterSizes=980, 385 Mode4\splitter\splitterSizes=653, 660
Mode4\splitter\side0\type=uavGadget Mode4\splitter\side0\type=splitter
Mode4\splitter\side0\classId=OPMapGadget
Mode4\splitter\side0\gadget\activeConfiguration=default
Mode4\splitter\side1\type=splitter Mode4\splitter\side1\type=splitter
Mode4\splitter\side1\splitterOrientation=2 Mode4\splitter\side1\splitterOrientation=2
Mode4\splitter\side1\splitterSizes=395, 236 Mode4\splitter\side1\splitterSizes=661, 119
Mode4\splitter\side1\side0\type=uavGadget Mode4\splitter\side1\side0\type=splitter
Mode4\splitter\side1\side0\classId=ModelViewGadget Mode4\splitter\side1\side1\type=uavGadget
Mode4\splitter\side1\side0\gadget\activeConfiguration=Test Quad X
Mode4\splitter\side1\side1\type=splitter
Mode4\splitter\side1\side1\splitterOrientation=1
Mode4\splitter\side1\side1\splitterSizes=@Invalid()
Mode4\splitter\side1\side1\side0\type=uavGadget
Mode4\splitter\side1\side1\side0\classId=DialGadget
Mode4\splitter\side1\side1\side0\gadget\activeConfiguration=Attitude
Mode4\splitter\side1\side1\side1\type=uavGadget
Mode4\splitter\side1\side1\side1\classId=DialGadget
Mode4\splitter\side1\side1\side1\gadget\activeConfiguration=Compass
Mode5\version=UAVGadgetManagerV1 Mode5\version=UAVGadgetManagerV1
Mode5\showToolbars=false Mode5\showToolbars=false
Mode5\splitter\type=splitter Mode5\splitter\type=splitter
Mode5\splitter\splitterOrientation=1 Mode5\splitter\splitterOrientation=1
Mode5\splitter\splitterSizes=653, 660 Mode5\splitter\splitterSizes=780, 585
Mode5\splitter\side0\type=uavGadget Mode5\splitter\side0\type=splitter
Mode5\splitter\side0\classId=ScopeGadget Mode5\splitter\side0\splitterOrientation=2
Mode5\splitter\side0\gadget\activeConfiguration=Accel Mode5\splitter\side0\splitterSizes=361, 270
Mode5\splitter\side1\type=splitter Mode5\splitter\side0\side0\type=uavGadget
Mode5\splitter\side1\splitterOrientation=2 Mode5\splitter\side0\side0\classId=HITL
Mode5\splitter\side1\splitterSizes=437, 194 Mode5\splitter\side0\side0\gadget\activeConfiguration=XPlane HITL
Mode5\splitter\side1\side0\type=uavGadget Mode5\splitter\side0\side1\type=splitter
Mode5\splitter\side1\side0\classId=ScopeGadget Mode5\splitter\side0\side1\splitterOrientation=1
Mode5\splitter\side1\side0\gadget\activeConfiguration=Uptimes Mode5\splitter\side0\side1\splitterSizes=488, 194
Mode5\splitter\side1\side1\type=splitter Mode5\splitter\side0\side1\side0\type=uavGadget
Mode5\splitter\side1\side1\splitterOrientation=1 Mode5\splitter\side0\side1\side0\classId=GCSControlGadget
Mode5\splitter\side1\side1\splitterSizes=194, 464 Mode5\splitter\side0\side1\side0\gadget\activeConfiguration=MS Sidewinder
Mode5\splitter\side1\side1\side0\type=uavGadget Mode5\splitter\side0\side1\side1\type=splitter
Mode5\splitter\side1\side1\side0\classId=DialGadget Mode5\splitter\side0\side1\side1\splitterOrientation=1
Mode5\splitter\side1\side1\side0\gadget\activeConfiguration=Attitude Mode5\splitter\side0\side1\side1\splitterSizes=276, 64
Mode5\splitter\side1\side1\side1\type=splitter Mode5\splitter\side0\side1\side1\side0\type=splitter
Mode5\splitter\side1\side1\side1\splitterOrientation=1 Mode5\splitter\side0\side1\side1\side0\splitterOrientation=1
Mode5\splitter\side1\side1\side1\splitterSizes=208, 274 Mode5\splitter\side0\side1\side1\side0\splitterSizes=@Invalid()
Mode5\splitter\side1\side1\side1\side0\type=uavGadget Mode5\splitter\side0\side1\side1\side0\side0\type=uavGadget
Mode5\splitter\side1\side1\side1\side0\classId=EmptyGadget Mode5\splitter\side0\side1\side1\side0\side0\classId=LineardialGadget
Mode5\splitter\side1\side1\side1\side1\type=splitter Mode5\splitter\side0\side1\side1\side0\side0\gadget\activeConfiguration=PitchDesired
Mode5\splitter\side1\side1\side1\side1\splitterOrientation=2 Mode5\splitter\side0\side1\side1\side0\side1\type=uavGadget
Mode5\splitter\side1\side1\side1\side1\splitterSizes=90, 103 Mode5\splitter\side0\side1\side1\side0\side1\classId=LineardialGadget
Mode5\splitter\side1\side1\side1\side1\side0\type=uavGadget Mode5\splitter\side0\side1\side1\side0\side1\gadget\activeConfiguration=PitchActual
Mode5\splitter\side1\side1\side1\side1\side0\classId=LoggingGadget Mode5\splitter\side0\side1\side1\side1\type=uavGadget
Mode5\splitter\side1\side1\side1\side1\side1\type=uavGadget Mode5\splitter\side0\side1\side1\side1\classId=LineardialGadget
Mode5\splitter\side1\side1\side1\side1\side1\classId=EmptyGadget Mode5\splitter\side0\side1\side1\side1\gadget\activeConfiguration=PitchCommand
Mode5\splitter\side1\type=uavGadget
Mode5\splitter\side1\classId=UAVObjectBrowser
Mode5\splitter\side1\gadget\activeConfiguration=default
Mode1\splitter\side0\side0\side0\splitterOrientation=2
Mode1\splitter\side0\side0\side0\splitterSizes=215, 237
Mode1\splitter\side0\side0\side0\side0\type=splitter
Mode1\splitter\side0\side0\side0\side1\type=splitter
Mode1\splitter\side0\side0\side0\side1\splitterOrientation=2
Mode1\splitter\side0\side0\side0\side1\splitterSizes=@Invalid()
Mode1\splitter\side0\side0\side0\side1\side0\type=uavGadget
Mode1\splitter\side0\side0\side0\side1\side0\classId=LineardialGadget
Mode1\splitter\side0\side0\side0\side1\side0\gadget\activeConfiguration=Flight mode
Mode1\splitter\side0\side0\side0\side1\side1\type=uavGadget
Mode1\splitter\side0\side0\side0\side1\side1\classId=LineardialGadget
Mode1\splitter\side0\side0\side0\side1\side1\gadget\activeConfiguration=Arm Status
Mode1\splitter\side1\side0\classId=OPMapGadget
Mode1\splitter\side1\side0\gadget\activeConfiguration=Google Sat
Mode1\splitter\side1\side1\side0\splitterOrientation=1
Mode1\splitter\side1\side1\side0\splitterSizes=277, 135
Mode1\splitter\side1\side1\side0\side0\type=splitter
Mode1\splitter\side1\side1\side0\side1\type=splitter
Mode1\splitter\side0\side1\splitterOrientation=1
Mode1\splitter\side0\side1\splitterSizes=304, 433
Mode1\splitter\side0\side1\side0\type=uavGadget
Mode1\splitter\side0\side1\side1\type=splitter
Mode1\splitter\side0\side1\side1\splitterOrientation=2
Mode1\splitter\side0\side1\side1\splitterSizes=293, 64
Mode1\splitter\side0\side1\side1\side0\type=splitter
Mode1\splitter\side0\side1\side1\side1\type=splitter
Mode1\splitter\side1\side1\side0\side0\splitterOrientation=1
Mode1\splitter\side1\side1\side0\side0\splitterSizes=131, 138
Mode1\splitter\side1\side1\side0\side0\side0\type=splitter
Mode1\splitter\side1\side1\side0\side0\side1\type=splitter
Mode1\splitter\side0\side1\side0\classId=ModelViewGadget
Mode1\splitter\side0\side1\side0\gadget\activeConfiguration=Test Quad X
Mode1\splitter\side0\side1\side1\side0\splitterOrientation=1
Mode1\splitter\side0\side1\side1\side0\splitterSizes=291, 141
Mode1\splitter\side0\side1\side1\side0\side0\type=uavGadget
Mode1\splitter\side0\side1\side1\side0\side0\classId=SystemHealthGadget
Mode1\splitter\side0\side1\side1\side0\side0\gadget\activeConfiguration=default
Mode1\splitter\side0\side1\side1\side0\side1\type=splitter
Mode1\splitter\side0\side1\side1\side1\splitterOrientation=1
Mode1\splitter\side0\side1\side1\side1\splitterSizes=@Invalid()
Mode1\splitter\side0\side1\side1\side1\side0\type=uavGadget
Mode1\splitter\side0\side1\side1\side1\side0\classId=LineardialGadget
Mode1\splitter\side0\side1\side1\side1\side0\gadget\activeConfiguration=Telemetry RX Rate Horizontal
Mode1\splitter\side0\side1\side1\side1\side1\type=uavGadget
Mode1\splitter\side0\side1\side1\side1\side1\classId=LineardialGadget
Mode1\splitter\side0\side1\side1\side1\side1\gadget\activeConfiguration=Telemetry TX Rate Horizontal
Mode1\splitter\side0\side1\side1\side0\side1\splitterOrientation=1
Mode1\splitter\side0\side1\side1\side0\side1\splitterSizes=64, 64
Mode1\splitter\side0\side1\side1\side0\side1\side0\type=uavGadget
Mode1\splitter\side0\side1\side1\side0\side1\side0\classId=LineardialGadget
Mode1\splitter\side0\side1\side1\side0\side1\side0\gadget\activeConfiguration=Mainboard CPU
Mode1\splitter\side0\side1\side1\side0\side1\side1\type=uavGadget
Mode1\splitter\side0\side1\side1\side0\side1\side1\classId=LineardialGadget
Mode1\splitter\side0\side1\side1\side0\side1\side1\gadget\activeConfiguration=AHRS CPU
Mode1\splitter\side1\side1\side0\side0\side0\splitterOrientation=2
Mode1\splitter\side1\side1\side0\side0\side0\splitterSizes=@Invalid()
Mode1\splitter\side1\side1\side0\side0\side0\side0\type=uavGadget
Mode1\splitter\side1\side1\side0\side0\side0\side0\classId=DialGadget
Mode1\splitter\side1\side1\side0\side0\side0\side0\gadget\activeConfiguration=Deluxe Groundspeed kph
Mode1\splitter\side1\side1\side0\side0\side0\side1\type=uavGadget
Mode1\splitter\side1\side1\side0\side0\side0\side1\classId=DialGadget
Mode1\splitter\side1\side1\side0\side0\side0\side1\gadget\activeConfiguration=Deluxe Barometer
Mode1\splitter\side1\side1\side0\side0\side1\splitterOrientation=2
Mode1\splitter\side1\side1\side0\side0\side1\splitterSizes=@Invalid()
Mode1\splitter\side1\side1\side0\side0\side1\side0\type=uavGadget
Mode1\splitter\side1\side1\side0\side0\side1\side0\classId=DialGadget
Mode1\splitter\side1\side1\side0\side0\side1\side0\gadget\activeConfiguration=Deluxe Attitude
Mode1\splitter\side1\side1\side0\side0\side1\side1\type=uavGadget
Mode1\splitter\side1\side1\side0\side0\side1\side1\classId=DialGadget
Mode1\splitter\side1\side1\side0\side0\side1\side1\gadget\activeConfiguration=Deluxe Compass
Mode1\splitter\side1\side1\side0\side1\splitterOrientation=2
Mode1\splitter\side1\side1\side0\side1\splitterSizes=@Invalid()
Mode1\splitter\side1\side1\side0\side1\side0\type=uavGadget
Mode1\splitter\side1\side1\side0\side1\side0\classId=DialGadget
Mode1\splitter\side1\side1\side0\side1\side0\gadget\activeConfiguration=Deluxe Baro Altimeter
Mode1\splitter\side1\side1\side0\side1\side1\type=uavGadget
Mode1\splitter\side1\side1\side0\side1\side1\classId=DialGadget
Mode1\splitter\side1\side1\side0\side1\side1\gadget\activeConfiguration=Deluxe Climbrate
Mode1\splitter\side0\side0\side0\side0\splitterOrientation=2
Mode1\splitter\side0\side0\side0\side0\splitterSizes=@Invalid()
Mode1\splitter\side0\side0\side0\side0\side0\type=uavGadget
Mode1\splitter\side0\side0\side0\side0\side0\classId=LineardialGadget
Mode1\splitter\side0\side0\side0\side0\side0\gadget\activeConfiguration=Flight Time
Mode1\splitter\side0\side0\side0\side0\side1\type=uavGadget
Mode1\splitter\side0\side0\side0\side0\side1\classId=LineardialGadget
Mode1\splitter\side0\side0\side0\side0\side1\gadget\activeConfiguration=GPS Sats
Mode1\splitter\side0\side0\side1\classId=PFDGadget
Mode1\splitter\side0\side0\side1\gadget\activeConfiguration=raw
Mode1\splitter\side1\side1\side1\splitterOrientation=1
Mode1\splitter\side1\side1\side1\splitterSizes=64, 441
Mode1\splitter\side1\side1\side1\side0\type=uavGadget
Mode1\splitter\side1\side1\side1\side0\classId=LineardialGadget
Mode1\splitter\side1\side1\side1\side0\gadget\activeConfiguration=Throttle
Mode1\splitter\side1\side1\side1\side1\type=splitter
Mode1\splitter\side1\side1\side1\side1\splitterOrientation=1
Mode1\splitter\side1\side1\side1\side1\splitterSizes=64, 376
Mode1\splitter\side1\side1\side1\side1\side0\type=uavGadget
Mode1\splitter\side1\side1\side1\side1\side0\classId=LineardialGadget
Mode1\splitter\side1\side1\side1\side1\side0\gadget\activeConfiguration=Roll
Mode1\splitter\side1\side1\side1\side1\side1\type=splitter
Mode1\splitter\side1\side1\side1\side1\side1\splitterOrientation=1
Mode1\splitter\side1\side1\side1\side1\side1\splitterSizes=64, 311
Mode1\splitter\side1\side1\side1\side1\side1\side0\type=uavGadget
Mode1\splitter\side1\side1\side1\side1\side1\side0\classId=LineardialGadget
Mode1\splitter\side1\side1\side1\side1\side1\side0\gadget\activeConfiguration=PitchActual
Mode1\splitter\side1\side1\side1\side1\side1\side1\type=uavGadget
Mode1\splitter\side1\side1\side1\side1\side1\side1\classId=LineardialGadget
Mode1\splitter\side1\side1\side1\side1\side1\side1\gadget\activeConfiguration=Yaw
Mode6\version=UAVGadgetManagerV1 Mode6\version=UAVGadgetManagerV1
Mode6\showToolbars=false Mode6\showToolbars=false
Mode6\splitter\type=splitter Mode6\splitter\type=splitter
Mode4\splitter\side0\splitterOrientation=2
Mode4\splitter\side0\splitterSizes=@Invalid()
Mode4\splitter\side0\side0\type=uavGadget
Mode4\splitter\side0\side0\classId=ScopeGadget
Mode4\splitter\side0\side0\gadget\activeConfiguration=Accel
Mode4\splitter\side0\side1\type=uavGadget
Mode4\splitter\side0\side1\classId=ScopeGadget
Mode4\splitter\side0\side1\gadget\activeConfiguration=Raw Gyros
Mode4\splitter\side1\side0\splitterOrientation=2
Mode4\splitter\side1\side0\splitterSizes=390, 270
Mode4\splitter\side1\side0\side0\type=uavGadget
Mode4\splitter\side1\side0\side0\classId=ScopeGadget
Mode4\splitter\side1\side0\side0\gadget\activeConfiguration=Attitude
Mode4\splitter\side1\side0\side1\type=uavGadget
Mode4\splitter\side1\side0\side1\classId=ScopeGadget
Mode4\splitter\side1\side0\side1\gadget\activeConfiguration=Uptimes
Mode4\splitter\side1\side1\classId=LoggingGadget
Mode6\splitter\splitterOrientation=1 Mode6\splitter\splitterOrientation=1
Mode6\splitter\splitterSizes=780, 585 Mode6\splitter\splitterSizes=@Invalid()
Mode6\splitter\side0\type=splitter Mode6\splitter\side0\type=uavGadget
Mode6\splitter\side0\splitterOrientation=2 Mode6\splitter\side0\classId=Uploader
Mode6\splitter\side0\splitterSizes=361, 270 Mode6\splitter\side0\gadget\activeConfiguration=default
Mode6\splitter\side0\side0\type=uavGadget Mode6\splitter\side1\type=splitter
Mode6\splitter\side0\side0\classId=HITL Mode6\splitter\side1\splitterOrientation=2
Mode6\splitter\side0\side0\gadget\activeConfiguration=XPlane HITL Mode6\splitter\side1\splitterSizes=274, 506
Mode6\splitter\side0\side1\type=splitter Mode6\splitter\side1\side0\type=splitter
Mode6\splitter\side0\side1\splitterOrientation=1 Mode6\splitter\side1\side1\type=uavGadget
Mode6\splitter\side0\side1\splitterSizes=488, 194 Mode6\splitter\side1\side1\classId=ScopeGadget
Mode6\splitter\side0\side1\side0\type=uavGadget Mode6\splitter\side1\side1\gadget\activeConfiguration=Uptimes
Mode6\splitter\side0\side1\side0\classId=GCSControlGadget Mode6\splitter\side1\side0\splitterOrientation=1
Mode6\splitter\side0\side1\side0\gadget\activeConfiguration=MS Sidewinder Mode6\splitter\side1\side0\splitterSizes=322, 396
Mode6\splitter\side0\side1\side1\type=splitter Mode6\splitter\side1\side0\side0\type=uavGadget
Mode6\splitter\side0\side1\side1\splitterOrientation=1 Mode6\splitter\side1\side0\side0\classId=SystemHealthGadget
Mode6\splitter\side0\side1\side1\splitterSizes=276, 64 Mode6\splitter\side1\side0\side0\gadget\activeConfiguration=default
Mode6\splitter\side0\side1\side1\side0\type=splitter Mode6\splitter\side1\side0\side1\type=uavGadget
Mode6\splitter\side0\side1\side1\side0\splitterOrientation=1 Mode6\splitter\side1\side0\side1\classId=PFDGadget
Mode6\splitter\side0\side1\side1\side0\splitterSizes=@Invalid() Mode6\splitter\side1\side0\side1\gadget\activeConfiguration=raw
Mode6\splitter\side0\side1\side1\side0\side0\type=uavGadget
Mode6\splitter\side0\side1\side1\side0\side0\classId=LineardialGadget
Mode6\splitter\side0\side1\side1\side0\side0\gadget\activeConfiguration=PitchDesired
Mode6\splitter\side0\side1\side1\side0\side1\type=uavGadget
Mode6\splitter\side0\side1\side1\side0\side1\classId=LineardialGadget
Mode6\splitter\side0\side1\side1\side0\side1\gadget\activeConfiguration=PitchActual
Mode6\splitter\side0\side1\side1\side1\type=uavGadget
Mode6\splitter\side0\side1\side1\side1\classId=LineardialGadget
Mode6\splitter\side0\side1\side1\side1\gadget\activeConfiguration=PitchCommand
Mode6\splitter\side1\type=uavGadget
Mode6\splitter\side1\classId=UAVObjectBrowser
Mode6\splitter\side1\gadget\activeConfiguration=default
[General]
ViewGroup_Default=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\0\0\0\x4\0\0\0\x2\n\0\0\0\x4\0\0\0\x4\0\0\0\x1\0\0\0\b\xfc\0\0\0\0)
[KeyBindings] [KeyBindings]
size=0 size=0
[%General] [%General]
SaveSettingsOnExit=true SaveSettingsOnExit=true
LastPreferenceCategory=OPMapGadget
LastPreferencePage=default
SettingsWindowWidth=697
SettingsWindowHeight=476
OverrideLanguage=en_AU
[UAVGadgetConfigurations] [UAVGadgetConfigurations]
configInfo\version=1.2.0 configInfo\version=1.2.0
@ -297,7 +340,7 @@ DialGadget\Attitude\data\needle3Factor=-1
DialGadget\Attitude\data\needle1Move=Rotate DialGadget\Attitude\data\needle1Move=Rotate
DialGadget\Attitude\data\needle2Move=Vertical DialGadget\Attitude\data\needle2Move=Vertical
DialGadget\Attitude\data\needle3Move=Rotate DialGadget\Attitude\data\needle3Move=Rotate
DialGadget\Attitude\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\Attitude\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\Attitude\data\useOpenGLFlag=false DialGadget\Attitude\data\useOpenGLFlag=false
DialGadget\Attitude\data\beSmooth=false DialGadget\Attitude\data\beSmooth=false
DialGadget\Attitude\configInfo\version=0.0.0 DialGadget\Attitude\configInfo\version=0.0.0
@ -326,7 +369,7 @@ DialGadget\Baro%20Altimeter\data\needle3Factor=1
DialGadget\Baro%20Altimeter\data\needle1Move=Rotate DialGadget\Baro%20Altimeter\data\needle1Move=Rotate
DialGadget\Baro%20Altimeter\data\needle2Move=Rotate DialGadget\Baro%20Altimeter\data\needle2Move=Rotate
DialGadget\Baro%20Altimeter\data\needle3Move=Rotate DialGadget\Baro%20Altimeter\data\needle3Move=Rotate
DialGadget\Baro%20Altimeter\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\Baro%20Altimeter\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\Baro%20Altimeter\data\useOpenGLFlag=false DialGadget\Baro%20Altimeter\data\useOpenGLFlag=false
DialGadget\Baro%20Altimeter\data\beSmooth=false DialGadget\Baro%20Altimeter\data\beSmooth=false
DialGadget\Baro%20Altimeter\configInfo\version=0.0.0 DialGadget\Baro%20Altimeter\configInfo\version=0.0.0
@ -355,7 +398,7 @@ DialGadget\Barometer\data\needle3Factor=1
DialGadget\Barometer\data\needle1Move=Rotate DialGadget\Barometer\data\needle1Move=Rotate
DialGadget\Barometer\data\needle2Move=Rotate DialGadget\Barometer\data\needle2Move=Rotate
DialGadget\Barometer\data\needle3Move=Rotate DialGadget\Barometer\data\needle3Move=Rotate
DialGadget\Barometer\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\Barometer\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\Barometer\data\useOpenGLFlag=false DialGadget\Barometer\data\useOpenGLFlag=false
DialGadget\Barometer\data\beSmooth=false DialGadget\Barometer\data\beSmooth=false
DialGadget\Barometer\configInfo\version=0.0.0 DialGadget\Barometer\configInfo\version=0.0.0
@ -384,7 +427,7 @@ DialGadget\Climbrate\data\needle3Factor=1
DialGadget\Climbrate\data\needle1Move=Rotate DialGadget\Climbrate\data\needle1Move=Rotate
DialGadget\Climbrate\data\needle2Move=Rotate DialGadget\Climbrate\data\needle2Move=Rotate
DialGadget\Climbrate\data\needle3Move=Rotate DialGadget\Climbrate\data\needle3Move=Rotate
DialGadget\Climbrate\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\Climbrate\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\Climbrate\data\useOpenGLFlag=false DialGadget\Climbrate\data\useOpenGLFlag=false
DialGadget\Climbrate\data\beSmooth=false DialGadget\Climbrate\data\beSmooth=false
DialGadget\Climbrate\configInfo\version=0.0.0 DialGadget\Climbrate\configInfo\version=0.0.0
@ -413,7 +456,7 @@ DialGadget\Compass\data\needle3Factor=1
DialGadget\Compass\data\needle1Move=Rotate DialGadget\Compass\data\needle1Move=Rotate
DialGadget\Compass\data\needle2Move=Rotate DialGadget\Compass\data\needle2Move=Rotate
DialGadget\Compass\data\needle3Move=Rotate DialGadget\Compass\data\needle3Move=Rotate
DialGadget\Compass\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\Compass\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\Compass\data\useOpenGLFlag=false DialGadget\Compass\data\useOpenGLFlag=false
DialGadget\Compass\data\beSmooth=false DialGadget\Compass\data\beSmooth=false
DialGadget\Compass\configInfo\version=0.0.0 DialGadget\Compass\configInfo\version=0.0.0
@ -442,7 +485,7 @@ DialGadget\Deluxe%20Attitude\data\needle3Factor=-1
DialGadget\Deluxe%20Attitude\data\needle1Move=Rotate DialGadget\Deluxe%20Attitude\data\needle1Move=Rotate
DialGadget\Deluxe%20Attitude\data\needle2Move=Vertical DialGadget\Deluxe%20Attitude\data\needle2Move=Vertical
DialGadget\Deluxe%20Attitude\data\needle3Move=Rotate DialGadget\Deluxe%20Attitude\data\needle3Move=Rotate
DialGadget\Deluxe%20Attitude\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\Deluxe%20Attitude\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\Deluxe%20Attitude\data\useOpenGLFlag=false DialGadget\Deluxe%20Attitude\data\useOpenGLFlag=false
DialGadget\Deluxe%20Attitude\data\beSmooth=false DialGadget\Deluxe%20Attitude\data\beSmooth=false
DialGadget\Deluxe%20Attitude\configInfo\version=0.0.0 DialGadget\Deluxe%20Attitude\configInfo\version=0.0.0
@ -471,7 +514,7 @@ DialGadget\Deluxe%20Baro%20Altimeter\data\needle3Factor=1
DialGadget\Deluxe%20Baro%20Altimeter\data\needle1Move=Rotate DialGadget\Deluxe%20Baro%20Altimeter\data\needle1Move=Rotate
DialGadget\Deluxe%20Baro%20Altimeter\data\needle2Move=Rotate DialGadget\Deluxe%20Baro%20Altimeter\data\needle2Move=Rotate
DialGadget\Deluxe%20Baro%20Altimeter\data\needle3Move=Rotate DialGadget\Deluxe%20Baro%20Altimeter\data\needle3Move=Rotate
DialGadget\Deluxe%20Baro%20Altimeter\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\Deluxe%20Baro%20Altimeter\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\Deluxe%20Baro%20Altimeter\data\useOpenGLFlag=false DialGadget\Deluxe%20Baro%20Altimeter\data\useOpenGLFlag=false
DialGadget\Deluxe%20Baro%20Altimeter\data\beSmooth=false DialGadget\Deluxe%20Baro%20Altimeter\data\beSmooth=false
DialGadget\Deluxe%20Baro%20Altimeter\configInfo\version=0.0.0 DialGadget\Deluxe%20Baro%20Altimeter\configInfo\version=0.0.0
@ -500,7 +543,7 @@ DialGadget\Deluxe%20Barometer\data\needle3Factor=1
DialGadget\Deluxe%20Barometer\data\needle1Move=Rotate DialGadget\Deluxe%20Barometer\data\needle1Move=Rotate
DialGadget\Deluxe%20Barometer\data\needle2Move=Rotate DialGadget\Deluxe%20Barometer\data\needle2Move=Rotate
DialGadget\Deluxe%20Barometer\data\needle3Move=Rotate DialGadget\Deluxe%20Barometer\data\needle3Move=Rotate
DialGadget\Deluxe%20Barometer\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\Deluxe%20Barometer\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\Deluxe%20Barometer\data\useOpenGLFlag=false DialGadget\Deluxe%20Barometer\data\useOpenGLFlag=false
DialGadget\Deluxe%20Barometer\data\beSmooth=false DialGadget\Deluxe%20Barometer\data\beSmooth=false
DialGadget\Deluxe%20Barometer\configInfo\version=0.0.0 DialGadget\Deluxe%20Barometer\configInfo\version=0.0.0
@ -529,7 +572,7 @@ DialGadget\Deluxe%20Climbrate\data\needle3Factor=1
DialGadget\Deluxe%20Climbrate\data\needle1Move=Rotate DialGadget\Deluxe%20Climbrate\data\needle1Move=Rotate
DialGadget\Deluxe%20Climbrate\data\needle2Move=Rotate DialGadget\Deluxe%20Climbrate\data\needle2Move=Rotate
DialGadget\Deluxe%20Climbrate\data\needle3Move=Rotate DialGadget\Deluxe%20Climbrate\data\needle3Move=Rotate
DialGadget\Deluxe%20Climbrate\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\Deluxe%20Climbrate\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\Deluxe%20Climbrate\data\useOpenGLFlag=false DialGadget\Deluxe%20Climbrate\data\useOpenGLFlag=false
DialGadget\Deluxe%20Climbrate\data\beSmooth=false DialGadget\Deluxe%20Climbrate\data\beSmooth=false
DialGadget\Deluxe%20Climbrate\configInfo\version=0.0.0 DialGadget\Deluxe%20Climbrate\configInfo\version=0.0.0
@ -558,7 +601,7 @@ DialGadget\Deluxe%20Compass\data\needle3Factor=1
DialGadget\Deluxe%20Compass\data\needle1Move=Rotate DialGadget\Deluxe%20Compass\data\needle1Move=Rotate
DialGadget\Deluxe%20Compass\data\needle2Move=Rotate DialGadget\Deluxe%20Compass\data\needle2Move=Rotate
DialGadget\Deluxe%20Compass\data\needle3Move=Rotate DialGadget\Deluxe%20Compass\data\needle3Move=Rotate
DialGadget\Deluxe%20Compass\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\Deluxe%20Compass\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\Deluxe%20Compass\data\useOpenGLFlag=false DialGadget\Deluxe%20Compass\data\useOpenGLFlag=false
DialGadget\Deluxe%20Compass\data\beSmooth=false DialGadget\Deluxe%20Compass\data\beSmooth=false
DialGadget\Deluxe%20Compass\configInfo\version=0.0.0 DialGadget\Deluxe%20Compass\configInfo\version=0.0.0
@ -587,7 +630,7 @@ DialGadget\Deluxe%20Groundspeed%20kph\data\needle3Factor=1
DialGadget\Deluxe%20Groundspeed%20kph\data\needle1Move=Rotate DialGadget\Deluxe%20Groundspeed%20kph\data\needle1Move=Rotate
DialGadget\Deluxe%20Groundspeed%20kph\data\needle2Move=Rotate DialGadget\Deluxe%20Groundspeed%20kph\data\needle2Move=Rotate
DialGadget\Deluxe%20Groundspeed%20kph\data\needle3Move=Rotate DialGadget\Deluxe%20Groundspeed%20kph\data\needle3Move=Rotate
DialGadget\Deluxe%20Groundspeed%20kph\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\Deluxe%20Groundspeed%20kph\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\Deluxe%20Groundspeed%20kph\data\useOpenGLFlag=false DialGadget\Deluxe%20Groundspeed%20kph\data\useOpenGLFlag=false
DialGadget\Deluxe%20Groundspeed%20kph\data\beSmooth=false DialGadget\Deluxe%20Groundspeed%20kph\data\beSmooth=false
DialGadget\Deluxe%20Groundspeed%20kph\configInfo\version=0.0.0 DialGadget\Deluxe%20Groundspeed%20kph\configInfo\version=0.0.0
@ -616,7 +659,7 @@ DialGadget\Deluxe%20Temperature\data\needle3Factor=1
DialGadget\Deluxe%20Temperature\data\needle1Move=Rotate DialGadget\Deluxe%20Temperature\data\needle1Move=Rotate
DialGadget\Deluxe%20Temperature\data\needle2Move=Rotate DialGadget\Deluxe%20Temperature\data\needle2Move=Rotate
DialGadget\Deluxe%20Temperature\data\needle3Move=Rotate DialGadget\Deluxe%20Temperature\data\needle3Move=Rotate
DialGadget\Deluxe%20Temperature\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\Deluxe%20Temperature\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\Deluxe%20Temperature\data\useOpenGLFlag=false DialGadget\Deluxe%20Temperature\data\useOpenGLFlag=false
DialGadget\Deluxe%20Temperature\data\beSmooth=false DialGadget\Deluxe%20Temperature\data\beSmooth=false
DialGadget\Deluxe%20Temperature\configInfo\version=0.0.0 DialGadget\Deluxe%20Temperature\configInfo\version=0.0.0
@ -645,7 +688,7 @@ DialGadget\Deluxe%20Turn%20Coordinator\data\needle3Factor=-1
DialGadget\Deluxe%20Turn%20Coordinator\data\needle1Move=Rotate DialGadget\Deluxe%20Turn%20Coordinator\data\needle1Move=Rotate
DialGadget\Deluxe%20Turn%20Coordinator\data\needle2Move=Horizontal DialGadget\Deluxe%20Turn%20Coordinator\data\needle2Move=Horizontal
DialGadget\Deluxe%20Turn%20Coordinator\data\needle3Move=Rotate DialGadget\Deluxe%20Turn%20Coordinator\data\needle3Move=Rotate
DialGadget\Deluxe%20Turn%20Coordinator\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\Deluxe%20Turn%20Coordinator\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\Deluxe%20Turn%20Coordinator\data\useOpenGLFlag=false DialGadget\Deluxe%20Turn%20Coordinator\data\useOpenGLFlag=false
DialGadget\Deluxe%20Turn%20Coordinator\data\beSmooth=false DialGadget\Deluxe%20Turn%20Coordinator\data\beSmooth=false
DialGadget\Deluxe%20Turn%20Coordinator\configInfo\version=0.0.0 DialGadget\Deluxe%20Turn%20Coordinator\configInfo\version=0.0.0
@ -674,7 +717,7 @@ DialGadget\Groundspeed%20kph\data\needle3Factor=1
DialGadget\Groundspeed%20kph\data\needle1Move=Rotate DialGadget\Groundspeed%20kph\data\needle1Move=Rotate
DialGadget\Groundspeed%20kph\data\needle2Move=Rotate DialGadget\Groundspeed%20kph\data\needle2Move=Rotate
DialGadget\Groundspeed%20kph\data\needle3Move=Rotate DialGadget\Groundspeed%20kph\data\needle3Move=Rotate
DialGadget\Groundspeed%20kph\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\Groundspeed%20kph\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\Groundspeed%20kph\data\useOpenGLFlag=false DialGadget\Groundspeed%20kph\data\useOpenGLFlag=false
DialGadget\Groundspeed%20kph\data\beSmooth=false DialGadget\Groundspeed%20kph\data\beSmooth=false
DialGadget\Groundspeed%20kph\configInfo\version=0.0.0 DialGadget\Groundspeed%20kph\configInfo\version=0.0.0
@ -703,7 +746,7 @@ DialGadget\HiContrast%20Attitude\data\needle3Factor=-1
DialGadget\HiContrast%20Attitude\data\needle1Move=Rotate DialGadget\HiContrast%20Attitude\data\needle1Move=Rotate
DialGadget\HiContrast%20Attitude\data\needle2Move=Vertical DialGadget\HiContrast%20Attitude\data\needle2Move=Vertical
DialGadget\HiContrast%20Attitude\data\needle3Move=Rotate DialGadget\HiContrast%20Attitude\data\needle3Move=Rotate
DialGadget\HiContrast%20Attitude\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\HiContrast%20Attitude\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\HiContrast%20Attitude\data\useOpenGLFlag=false DialGadget\HiContrast%20Attitude\data\useOpenGLFlag=false
DialGadget\HiContrast%20Attitude\data\beSmooth=false DialGadget\HiContrast%20Attitude\data\beSmooth=false
DialGadget\HiContrast%20Attitude\configInfo\version=0.0.0 DialGadget\HiContrast%20Attitude\configInfo\version=0.0.0
@ -732,7 +775,7 @@ DialGadget\HiContrast%20Baro%20Altimeter\data\needle3Factor=1
DialGadget\HiContrast%20Baro%20Altimeter\data\needle1Move=Rotate DialGadget\HiContrast%20Baro%20Altimeter\data\needle1Move=Rotate
DialGadget\HiContrast%20Baro%20Altimeter\data\needle2Move=Rotate DialGadget\HiContrast%20Baro%20Altimeter\data\needle2Move=Rotate
DialGadget\HiContrast%20Baro%20Altimeter\data\needle3Move=Rotate DialGadget\HiContrast%20Baro%20Altimeter\data\needle3Move=Rotate
DialGadget\HiContrast%20Baro%20Altimeter\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\HiContrast%20Baro%20Altimeter\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\HiContrast%20Baro%20Altimeter\data\useOpenGLFlag=false DialGadget\HiContrast%20Baro%20Altimeter\data\useOpenGLFlag=false
DialGadget\HiContrast%20Baro%20Altimeter\data\beSmooth=false DialGadget\HiContrast%20Baro%20Altimeter\data\beSmooth=false
DialGadget\HiContrast%20Baro%20Altimeter\configInfo\version=0.0.0 DialGadget\HiContrast%20Baro%20Altimeter\configInfo\version=0.0.0
@ -761,7 +804,7 @@ DialGadget\HiContrast%20Barometer\data\needle3Factor=1
DialGadget\HiContrast%20Barometer\data\needle1Move=Rotate DialGadget\HiContrast%20Barometer\data\needle1Move=Rotate
DialGadget\HiContrast%20Barometer\data\needle2Move=Rotate DialGadget\HiContrast%20Barometer\data\needle2Move=Rotate
DialGadget\HiContrast%20Barometer\data\needle3Move=Rotate DialGadget\HiContrast%20Barometer\data\needle3Move=Rotate
DialGadget\HiContrast%20Barometer\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\HiContrast%20Barometer\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\HiContrast%20Barometer\data\useOpenGLFlag=false DialGadget\HiContrast%20Barometer\data\useOpenGLFlag=false
DialGadget\HiContrast%20Barometer\data\beSmooth=false DialGadget\HiContrast%20Barometer\data\beSmooth=false
DialGadget\HiContrast%20Barometer\configInfo\version=0.0.0 DialGadget\HiContrast%20Barometer\configInfo\version=0.0.0
@ -790,7 +833,7 @@ DialGadget\HiContrast%20Climbrate\data\needle3Factor=1
DialGadget\HiContrast%20Climbrate\data\needle1Move=Rotate DialGadget\HiContrast%20Climbrate\data\needle1Move=Rotate
DialGadget\HiContrast%20Climbrate\data\needle2Move=Rotate DialGadget\HiContrast%20Climbrate\data\needle2Move=Rotate
DialGadget\HiContrast%20Climbrate\data\needle3Move=Rotate DialGadget\HiContrast%20Climbrate\data\needle3Move=Rotate
DialGadget\HiContrast%20Climbrate\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\HiContrast%20Climbrate\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\HiContrast%20Climbrate\data\useOpenGLFlag=false DialGadget\HiContrast%20Climbrate\data\useOpenGLFlag=false
DialGadget\HiContrast%20Climbrate\data\beSmooth=false DialGadget\HiContrast%20Climbrate\data\beSmooth=false
DialGadget\HiContrast%20Climbrate\configInfo\version=0.0.0 DialGadget\HiContrast%20Climbrate\configInfo\version=0.0.0
@ -819,7 +862,7 @@ DialGadget\HiContrast%20Compass\data\needle3Factor=1
DialGadget\HiContrast%20Compass\data\needle1Move=Rotate DialGadget\HiContrast%20Compass\data\needle1Move=Rotate
DialGadget\HiContrast%20Compass\data\needle2Move=Rotate DialGadget\HiContrast%20Compass\data\needle2Move=Rotate
DialGadget\HiContrast%20Compass\data\needle3Move=Rotate DialGadget\HiContrast%20Compass\data\needle3Move=Rotate
DialGadget\HiContrast%20Compass\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\HiContrast%20Compass\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\HiContrast%20Compass\data\useOpenGLFlag=false DialGadget\HiContrast%20Compass\data\useOpenGLFlag=false
DialGadget\HiContrast%20Compass\data\beSmooth=false DialGadget\HiContrast%20Compass\data\beSmooth=false
DialGadget\HiContrast%20Compass\configInfo\version=0.0.0 DialGadget\HiContrast%20Compass\configInfo\version=0.0.0
@ -848,7 +891,7 @@ DialGadget\HiContrast%20Groundspeed%20kph\data\needle3Factor=1
DialGadget\HiContrast%20Groundspeed%20kph\data\needle1Move=Rotate DialGadget\HiContrast%20Groundspeed%20kph\data\needle1Move=Rotate
DialGadget\HiContrast%20Groundspeed%20kph\data\needle2Move=Rotate DialGadget\HiContrast%20Groundspeed%20kph\data\needle2Move=Rotate
DialGadget\HiContrast%20Groundspeed%20kph\data\needle3Move=Rotate DialGadget\HiContrast%20Groundspeed%20kph\data\needle3Move=Rotate
DialGadget\HiContrast%20Groundspeed%20kph\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\HiContrast%20Groundspeed%20kph\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\HiContrast%20Groundspeed%20kph\data\useOpenGLFlag=false DialGadget\HiContrast%20Groundspeed%20kph\data\useOpenGLFlag=false
DialGadget\HiContrast%20Groundspeed%20kph\data\beSmooth=false DialGadget\HiContrast%20Groundspeed%20kph\data\beSmooth=false
DialGadget\HiContrast%20Groundspeed%20kph\configInfo\version=0.0.0 DialGadget\HiContrast%20Groundspeed%20kph\configInfo\version=0.0.0
@ -877,7 +920,7 @@ DialGadget\HiContrast%20Temperature\data\needle3Factor=1
DialGadget\HiContrast%20Temperature\data\needle1Move=Rotate DialGadget\HiContrast%20Temperature\data\needle1Move=Rotate
DialGadget\HiContrast%20Temperature\data\needle2Move=Rotate DialGadget\HiContrast%20Temperature\data\needle2Move=Rotate
DialGadget\HiContrast%20Temperature\data\needle3Move=Rotate DialGadget\HiContrast%20Temperature\data\needle3Move=Rotate
DialGadget\HiContrast%20Temperature\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\HiContrast%20Temperature\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\HiContrast%20Temperature\data\useOpenGLFlag=false DialGadget\HiContrast%20Temperature\data\useOpenGLFlag=false
DialGadget\HiContrast%20Temperature\data\beSmooth=false DialGadget\HiContrast%20Temperature\data\beSmooth=false
DialGadget\HiContrast%20Temperature\configInfo\version=0.0.0 DialGadget\HiContrast%20Temperature\configInfo\version=0.0.0
@ -906,7 +949,7 @@ DialGadget\Servo%20Channel%201\data\needle3Factor=1
DialGadget\Servo%20Channel%201\data\needle1Move=Rotate DialGadget\Servo%20Channel%201\data\needle1Move=Rotate
DialGadget\Servo%20Channel%201\data\needle2Move=Rotate DialGadget\Servo%20Channel%201\data\needle2Move=Rotate
DialGadget\Servo%20Channel%201\data\needle3Move=Rotate DialGadget\Servo%20Channel%201\data\needle3Move=Rotate
DialGadget\Servo%20Channel%201\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\Servo%20Channel%201\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\Servo%20Channel%201\data\useOpenGLFlag=false DialGadget\Servo%20Channel%201\data\useOpenGLFlag=false
DialGadget\Servo%20Channel%201\data\beSmooth=false DialGadget\Servo%20Channel%201\data\beSmooth=false
DialGadget\Servo%20Channel%201\configInfo\version=0.0.0 DialGadget\Servo%20Channel%201\configInfo\version=0.0.0
@ -935,7 +978,7 @@ DialGadget\Temperature\data\needle3Factor=1
DialGadget\Temperature\data\needle1Move=Rotate DialGadget\Temperature\data\needle1Move=Rotate
DialGadget\Temperature\data\needle2Move=Rotate DialGadget\Temperature\data\needle2Move=Rotate
DialGadget\Temperature\data\needle3Move=Rotate DialGadget\Temperature\data\needle3Move=Rotate
DialGadget\Temperature\data\font="Ubuntu,11,-1,5,50,0,0,0,0,0" DialGadget\Temperature\data\font="MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0"
DialGadget\Temperature\data\useOpenGLFlag=false DialGadget\Temperature\data\useOpenGLFlag=false
DialGadget\Temperature\data\beSmooth=false DialGadget\Temperature\data\beSmooth=false
DialGadget\Temperature\configInfo\version=0.0.0 DialGadget\Temperature\configInfo\version=0.0.0
@ -984,7 +1027,7 @@ GpsDisplayGadget\Flight%20GPS\data\defaultDataBits=3
GpsDisplayGadget\Flight%20GPS\data\defaultFlow=0 GpsDisplayGadget\Flight%20GPS\data\defaultFlow=0
GpsDisplayGadget\Flight%20GPS\data\defaultParity=0 GpsDisplayGadget\Flight%20GPS\data\defaultParity=0
GpsDisplayGadget\Flight%20GPS\data\defaultStopBits=0 GpsDisplayGadget\Flight%20GPS\data\defaultStopBits=0
GpsDisplayGadget\Flight%20GPS\data\defaultPort=Serial port 0 GpsDisplayGadget\Flight%20GPS\data\defaultPort=Communications Port (COM1)
GpsDisplayGadget\Flight%20GPS\data\connectionMode=Telemetry GpsDisplayGadget\Flight%20GPS\data\connectionMode=Telemetry
GpsDisplayGadget\Flight%20GPS\configInfo\version=0.0.0 GpsDisplayGadget\Flight%20GPS\configInfo\version=0.0.0
GpsDisplayGadget\Flight%20GPS\configInfo\locked=false GpsDisplayGadget\Flight%20GPS\configInfo\locked=false
@ -993,13 +1036,13 @@ GpsDisplayGadget\GPS%20Mouse\data\defaultDataBits=3
GpsDisplayGadget\GPS%20Mouse\data\defaultFlow=0 GpsDisplayGadget\GPS%20Mouse\data\defaultFlow=0
GpsDisplayGadget\GPS%20Mouse\data\defaultParity=0 GpsDisplayGadget\GPS%20Mouse\data\defaultParity=0
GpsDisplayGadget\GPS%20Mouse\data\defaultStopBits=0 GpsDisplayGadget\GPS%20Mouse\data\defaultStopBits=0
GpsDisplayGadget\GPS%20Mouse\data\defaultPort=Serial port 0 GpsDisplayGadget\GPS%20Mouse\data\defaultPort=Communications Port (COM1)
GpsDisplayGadget\GPS%20Mouse\data\connectionMode=Serial GpsDisplayGadget\GPS%20Mouse\data\connectionMode=Serial
GpsDisplayGadget\GPS%20Mouse\configInfo\version=0.0.0 GpsDisplayGadget\GPS%20Mouse\configInfo\version=0.0.0
GpsDisplayGadget\GPS%20Mouse\configInfo\locked=false GpsDisplayGadget\GPS%20Mouse\configInfo\locked=false
HITL\Flightgear%20HITL\data\simulatorId=FG HITL\Flightgear%20HITL\data\simulatorId=FG
HITL\Flightgear%20HITL\data\binPath=/usr/games/fgfs HITL\Flightgear%20HITL\data\binPath=\\usr\\games\\fgfs
HITL\Flightgear%20HITL\data\dataPath=/usr/share/games/FlightGear HITL\Flightgear%20HITL\data\dataPath=\\usr\\share\\games\\FlightGear
HITL\Flightgear%20HITL\data\manual=false HITL\Flightgear%20HITL\data\manual=false
HITL\Flightgear%20HITL\data\startSim=true HITL\Flightgear%20HITL\data\startSim=true
HITL\Flightgear%20HITL\data\hostAddress=127.0.0.1 HITL\Flightgear%20HITL\data\hostAddress=127.0.0.1
@ -1011,8 +1054,8 @@ HITL\Flightgear%20HITL\data\longitude=
HITL\Flightgear%20HITL\configInfo\version=0.0.0 HITL\Flightgear%20HITL\configInfo\version=0.0.0
HITL\Flightgear%20HITL\configInfo\locked=false HITL\Flightgear%20HITL\configInfo\locked=false
HITL\XPlane%20HITL\data\simulatorId=X-Plane HITL\XPlane%20HITL\data\simulatorId=X-Plane
HITL\XPlane%20HITL\data\binPath=/home/lafargue/X-Plane 9/X-Plane-i686 HITL\XPlane%20HITL\data\binPath=\\home\\lafargue\\X-Plane 9\\X-Plane-i686
HITL\XPlane%20HITL\data\dataPath=/usr/share/games/FlightGear HITL\XPlane%20HITL\data\dataPath=\\usr\\share\\games\\FlightGear
HITL\XPlane%20HITL\data\manual=false HITL\XPlane%20HITL\data\manual=false
HITL\XPlane%20HITL\data\startSim=false HITL\XPlane%20HITL\data\startSim=false
HITL\XPlane%20HITL\data\hostAddress=127.0.0.3 HITL\XPlane%20HITL\data\hostAddress=127.0.0.3
@ -1400,6 +1443,7 @@ OPMapGadget\Google%20Sat\data\useOpenGL=true
OPMapGadget\Google%20Sat\data\showTileGridLines=false OPMapGadget\Google%20Sat\data\showTileGridLines=false
OPMapGadget\Google%20Sat\data\accessMode=ServerAndCache OPMapGadget\Google%20Sat\data\accessMode=ServerAndCache
OPMapGadget\Google%20Sat\data\useMemoryCache=true OPMapGadget\Google%20Sat\data\useMemoryCache=true
OPMapGadget\Google%20Sat\data\uavSymbol=mapquad.png
OPMapGadget\Google%20Sat\data\cacheLocation=%%STOREPATH%%mapscache-sat/ OPMapGadget\Google%20Sat\data\cacheLocation=%%STOREPATH%%mapscache-sat/
OPMapGadget\Google%20Sat\configInfo\version=0.0.0 OPMapGadget\Google%20Sat\configInfo\version=0.0.0
OPMapGadget\Google%20Sat\configInfo\locked=false OPMapGadget\Google%20Sat\configInfo\locked=false
@ -1411,6 +1455,7 @@ OPMapGadget\Memory%20Only\data\useOpenGL=true
OPMapGadget\Memory%20Only\data\showTileGridLines=false OPMapGadget\Memory%20Only\data\showTileGridLines=false
OPMapGadget\Memory%20Only\data\accessMode=CacheOnly OPMapGadget\Memory%20Only\data\accessMode=CacheOnly
OPMapGadget\Memory%20Only\data\useMemoryCache=true OPMapGadget\Memory%20Only\data\useMemoryCache=true
OPMapGadget\Memory%20Only\data\uavSymbol=airplanepip.png
OPMapGadget\Memory%20Only\data\cacheLocation=%%STOREPATH%%mapscache/ OPMapGadget\Memory%20Only\data\cacheLocation=%%STOREPATH%%mapscache/
OPMapGadget\Memory%20Only\configInfo\version=0.0.0 OPMapGadget\Memory%20Only\configInfo\version=0.0.0
OPMapGadget\Memory%20Only\configInfo\locked=false OPMapGadget\Memory%20Only\configInfo\locked=false
@ -1422,6 +1467,7 @@ OPMapGadget\default\data\useOpenGL=false
OPMapGadget\default\data\showTileGridLines=false OPMapGadget\default\data\showTileGridLines=false
OPMapGadget\default\data\accessMode=ServerAndCache OPMapGadget\default\data\accessMode=ServerAndCache
OPMapGadget\default\data\useMemoryCache=true OPMapGadget\default\data\useMemoryCache=true
OPMapGadget\default\data\uavSymbol=mapquad.png
OPMapGadget\default\data\cacheLocation=%%STOREPATH%%mapscache/ OPMapGadget\default\data\cacheLocation=%%STOREPATH%%mapscache/
OPMapGadget\default\configInfo\version=0.0.0 OPMapGadget\default\configInfo\version=0.0.0
OPMapGadget\default\configInfo\locked=false OPMapGadget\default\configInfo\locked=false
@ -1603,46 +1649,6 @@ ScopeGadget\Inputs\data\LoggingNewFileOnConnect=false
ScopeGadget\Inputs\data\LoggingPath= ScopeGadget\Inputs\data\LoggingPath=
ScopeGadget\Inputs\configInfo\version=0.0.0 ScopeGadget\Inputs\configInfo\version=0.0.0
ScopeGadget\Inputs\configInfo\locked=false ScopeGadget\Inputs\configInfo\locked=false
ScopeGadget\Pitch%20behaviour\data\configurationStreamVersion=1000
ScopeGadget\Pitch%20behaviour\data\plotType=1
ScopeGadget\Pitch%20behaviour\data\dataSize=60
ScopeGadget\Pitch%20behaviour\data\refreshInterval=500
ScopeGadget\Pitch%20behaviour\data\plotCurveCount=5
ScopeGadget\Pitch%20behaviour\data\plotCurve0\uavObject=AttitudeActual
ScopeGadget\Pitch%20behaviour\data\plotCurve0\uavField=Pitch
ScopeGadget\Pitch%20behaviour\data\plotCurve0\color=4294901760
ScopeGadget\Pitch%20behaviour\data\plotCurve0\yScalePower=0
ScopeGadget\Pitch%20behaviour\data\plotCurve0\yMinimum=0
ScopeGadget\Pitch%20behaviour\data\plotCurve0\yMaximum=0
ScopeGadget\Pitch%20behaviour\data\plotCurve1\uavObject=AttitudeDesired
ScopeGadget\Pitch%20behaviour\data\plotCurve1\uavField=Pitch
ScopeGadget\Pitch%20behaviour\data\plotCurve1\color=4283760895
ScopeGadget\Pitch%20behaviour\data\plotCurve1\yScalePower=0
ScopeGadget\Pitch%20behaviour\data\plotCurve1\yMinimum=0
ScopeGadget\Pitch%20behaviour\data\plotCurve1\yMaximum=0
ScopeGadget\Pitch%20behaviour\data\plotCurve2\uavObject=ManualControlCommand
ScopeGadget\Pitch%20behaviour\data\plotCurve2\uavField=Pitch
ScopeGadget\Pitch%20behaviour\data\plotCurve2\color=4283826047
ScopeGadget\Pitch%20behaviour\data\plotCurve2\yScalePower=0
ScopeGadget\Pitch%20behaviour\data\plotCurve2\yMinimum=0
ScopeGadget\Pitch%20behaviour\data\plotCurve2\yMaximum=0
ScopeGadget\Pitch%20behaviour\data\plotCurve3\uavObject=AttitudeRaw
ScopeGadget\Pitch%20behaviour\data\plotCurve3\uavField=accels-X
ScopeGadget\Pitch%20behaviour\data\plotCurve3\color=4278233600
ScopeGadget\Pitch%20behaviour\data\plotCurve3\yScalePower=0
ScopeGadget\Pitch%20behaviour\data\plotCurve3\yMinimum=0
ScopeGadget\Pitch%20behaviour\data\plotCurve3\yMaximum=0
ScopeGadget\Pitch%20behaviour\data\plotCurve4\uavObject=ActuatorDesired
ScopeGadget\Pitch%20behaviour\data\plotCurve4\uavField=Pitch
ScopeGadget\Pitch%20behaviour\data\plotCurve4\color=4289374847
ScopeGadget\Pitch%20behaviour\data\plotCurve4\yScalePower=0
ScopeGadget\Pitch%20behaviour\data\plotCurve4\yMinimum=0
ScopeGadget\Pitch%20behaviour\data\plotCurve4\yMaximum=0
ScopeGadget\Pitch%20behaviour\data\LoggingEnabled=false
ScopeGadget\Pitch%20behaviour\data\LoggingNewFileOnConnect=false
ScopeGadget\Pitch%20behaviour\data\LoggingPath=
ScopeGadget\Pitch%20behaviour\configInfo\version=0.0.0
ScopeGadget\Pitch%20behaviour\configInfo\locked=false
ScopeGadget\Raw%20Accels\data\configurationStreamVersion=1000 ScopeGadget\Raw%20Accels\data\configurationStreamVersion=1000
ScopeGadget\Raw%20Accels\data\plotType=1 ScopeGadget\Raw%20Accels\data\plotType=1
ScopeGadget\Raw%20Accels\data\dataSize=60 ScopeGadget\Raw%20Accels\data\dataSize=60
@ -1877,16 +1883,16 @@ Uploader\default\configInfo\version=0.0.0
Uploader\default\configInfo\locked=false Uploader\default\configInfo\locked=false
[Plugins] [Plugins]
SoundNotifyPlugin\data\Current\1\SoundCollectionPath= SoundNotifyPlugin\data\Current\1\SoundCollectionPath=%%DATAPATH%%sounds
SoundNotifyPlugin\data\Current\1\CurrentLanguage= SoundNotifyPlugin\data\Current\1\CurrentLanguage=default
SoundNotifyPlugin\data\Current\1\ObjectField= SoundNotifyPlugin\data\Current\1\ObjectField=Channel
SoundNotifyPlugin\data\Current\1\DataObject= SoundNotifyPlugin\data\Current\1\DataObject=ActuatorCommand
SoundNotifyPlugin\data\Current\1\Value= SoundNotifyPlugin\data\Current\1\Value=Equal to
SoundNotifyPlugin\data\Current\1\ValueSpinBox=0 SoundNotifyPlugin\data\Current\1\ValueSpinBox=0
SoundNotifyPlugin\data\Current\1\Sound1= SoundNotifyPlugin\data\Current\1\Sound1=
SoundNotifyPlugin\data\Current\1\Sound2= SoundNotifyPlugin\data\Current\1\Sound2=
SoundNotifyPlugin\data\Current\1\Sound3= SoundNotifyPlugin\data\Current\1\Sound3=
SoundNotifyPlugin\data\Current\1\SayOrder= SoundNotifyPlugin\data\Current\1\SayOrder=Never
SoundNotifyPlugin\data\Current\1\Repeat= SoundNotifyPlugin\data\Current\1\Repeat=
SoundNotifyPlugin\data\Current\1\ExpireTimeout=0 SoundNotifyPlugin\data\Current\1\ExpireTimeout=0
SoundNotifyPlugin\data\Current\size=1 SoundNotifyPlugin\data\Current\size=1
@ -1894,3 +1900,9 @@ SoundNotifyPlugin\data\listNotifies\size=0
SoundNotifyPlugin\data\EnableSound=false SoundNotifyPlugin\data\EnableSound=false
SoundNotifyPlugin\configInfo\version=1.0.0 SoundNotifyPlugin\configInfo\version=1.0.0
SoundNotifyPlugin\configInfo\locked=false SoundNotifyPlugin\configInfo\locked=false
[IPconnection]
Current\1\HostName=
Current\1\Port=1
Current\1\UseTCP=0
Current\size=1

View File

@ -52,5 +52,13 @@
<file>images/openpiloticon.png</file> <file>images/openpiloticon.png</file>
<file>OpenPilotGCS.ini</file> <file>OpenPilotGCS.ini</file>
<file>CREDITS.html</file> <file>CREDITS.html</file>
<file>images/ah.png</file>
<file>images/config.png</file>
<file>images/flight.png</file>
<file>images/home.png</file>
<file>images/joystick.png</file>
<file>images/scopes.png</file>
<file>images/world.png</file>
<file>images/cog.png</file>
</qresource> </qresource>
</RCC> </RCC>

View File

@ -35,7 +35,7 @@ namespace Constants {
#define GCS_VERSION_MAJOR 1 #define GCS_VERSION_MAJOR 1
#define GCS_VERSION_MINOR 0 #define GCS_VERSION_MINOR 0
#define GCS_VERSION_RELEASE 0 #define GCS_VERSION_RELEASE 0
const char * const GCS_VERSION_TYPE = "Beta"; const char * const GCS_VERSION_TYPE = "Alpha";
const char * const GCS_VERSION_CODENAME = "Pascal"; const char * const GCS_VERSION_CODENAME = "Pascal";
#define STRINGIFY_INTERNAL(x) #x #define STRINGIFY_INTERNAL(x) #x

Binary file not shown.

After

Width:  |  Height:  |  Size: 991 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 512 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 610 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 456 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 806 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 710 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 923 B

View File

@ -183,6 +183,9 @@ void ScopeGadgetOptionsPage::on_cmbUAVObjects_currentIndexChanged(QString val)
UAVObjectManager *objManager = pm->getObject<UAVObjectManager>(); UAVObjectManager *objManager = pm->getObject<UAVObjectManager>();
UAVDataObject* obj = dynamic_cast<UAVDataObject*>( objManager->getObject(val) ); UAVDataObject* obj = dynamic_cast<UAVDataObject*>( objManager->getObject(val) );
if (obj == NULL)
return; // Rare case: the config contained a UAVObject name which does not exist anymore.
QList<UAVObjectField*> fieldList = obj->getFields(); QList<UAVObjectField*> fieldList = obj->getFields();
foreach (UAVObjectField* field, fieldList) { foreach (UAVObjectField* field, fieldList) {
if(field->getType() == UAVObjectField::STRING || field->getType() == UAVObjectField::ENUM ) if(field->getType() == UAVObjectField::STRING || field->getType() == UAVObjectField::ENUM )

View File

@ -1,23 +1,33 @@
This set of scripts is to provide a unix-like build environment on Windows. This set of scripts is to provide a unix-like build environment on Windows.
--------------------------------------------------------------------------- ---------------------------------------------------------------------------
Why do I need that? 1. Why do I need it?
------------------- 2. How to install?
3. How to use it?
3.1. Interactive mode
3.2. Batch mode
4. Advanced usage
5. Limitations of use
6. Credits and license
1. Why do I need it?
--------------------
It allows to use the "Big Hammer", that is, to build whole OpenPilot system It allows to use the "Big Hammer", that is, to build whole OpenPilot system
with a single command "make all" using the top level Makefile originally with a single command "make all" using the top level Makefile originally
written for Linux and Mac only. written for Linux and Mac only.
Also any routine task automation could use the same set of scripts and Also any routine task automation could use the same set of scripts and commands
commands on all platforms (Linux, Mac and Windows) if scripts are written in on all platforms (Linux, Mac and Windows) if scripts are written in the shell
the shell language. It is particularly important for cross-paltform projects language. It is particularly important for cross-paltform projects like the
like the OpenPilot. OpenPilot.
How to install this? 2. How to install?
-------------------- ------------------
Fortunately, it requires only few small text files since all others Fortunately, it requires only few small text files since all others components
components should already be installed on your system as parts of msysGit, should already be installed on your system as parts of msysGit, QtSDK and
QtSDK and CodeSourcery G++ packages required to build the OpenPilot. CodeSourcery G++ packages required to build the OpenPilot.
It is expected that you have the following tools installed into the listed It is expected that you have the following tools installed into the listed
locations (but any other locations are fine as well): locations (but any other locations are fine as well):
@ -29,9 +39,8 @@ locations (but any other locations are fine as well):
- Unicode NSIS in %ProgramFiles%\NSIS\Unicode - Unicode NSIS in %ProgramFiles%\NSIS\Unicode
Also it is assumed that you have the C:\Program Files\Git\cmd\ directory in Also it is assumed that you have the C:\Program Files\Git\cmd\ directory in
the PATH. Usually this is the case for msysGit installation if you have the PATH. Usually this is the case for msysGit installation if you have chosen
chosen the 2nd option: put only git and gitk in the PATH (it is recommended the 2nd option: put only git and gitk in the PATH (it is recommended option).
option).
Now you need to copy two files to your msysGit installation folders. Now you need to copy two files to your msysGit installation folders.
Assuming that you installed the msysGit into C:\Program Files\Git\, Assuming that you installed the msysGit into C:\Program Files\Git\,
@ -40,16 +49,17 @@ you have to copy:
make\win32\make -> C:\Program Files\Git\bin\ make\win32\make -> C:\Program Files\Git\bin\
make\win32\sh.cmd -> C:\Program Files\Git\cmd\ make\win32\sh.cmd -> C:\Program Files\Git\cmd\
If you have msysGit installed into another directory, you need to update If you have msysGit installed into another directory, you need to update paths
paths accordingly. Also if you have tools installed into different accordingly. Also if you have tools installed into different directories and
directories and they are not in the PATH, then you may want to update paths they are not in the PATH, then you may want to update paths in the sh.cmd
in the sh.cmd script too (it is self-documented). script too (it is self-documented).
How to use it? 3. How to use it?
-------------- -----------------
Interactive mode: 3.1. Interactive mode
---------------------
1) Type: 1) Type:
@ -68,17 +78,17 @@ and the bash prompt should appear:
user@pc /d/Work/OpenPilot/git (master) user@pc /d/Work/OpenPilot/git (master)
$ $
Note the current git branch in parentheses (master), if it exists. Note the current git branch in parentheses (master), if it exists. The path
The path format is also printed according to MSYS notation. And you format is also printed according to MSYS notation. And you have to use forward
have to use forward slashes in paths, not backslashes. slashes in paths, not backslashes.
3) Enter make command with required options and target list: 3) Enter make command with required options and target list:
user@pc /d/Work/OpenPilot/git (master) user@pc /d/Work/OpenPilot/git (master)
$ make all $ make all
The building should be started, and you will have full system including The building should be started, and you will have full system including ground
ground software and flight firmware built in the end. software and flight firmware built in the end.
4) To build parts of the system you can use, for example, such commands: 4) To build parts of the system you can use, for example, such commands:
@ -91,7 +101,8 @@ or to completely remove the build directory:
$ make all_clean $ make all_clean
Batch mode: 3.2. Batch mode
---------------
1) Create a shell script file containing all required commands, for instance: 1) Create a shell script file containing all required commands, for instance:
@ -106,3 +117,76 @@ Batch mode:
C:\> sh cc_make_release.sh C:\> sh cc_make_release.sh
3) Of course, a lot of other shell commands can be used in scripts. 3) Of course, a lot of other shell commands can be used in scripts.
4. Advanced usage
-----------------
It is possible to go further and integrate shell scripting into Windows system
like any other executables. This allows:
- double click on any .sh file in the Explorer window to execute it;
- type name of .sh file with any arguments on the command line to run script;
- omit .sh extension typing names since it is now recognized automatically;
- call .sh scripts even from .bat and .cmd files as Windows command;
- execute scripts which are in any directory in the PATH;
- return and check exit code from .sh scripts to .bat or .cmd batch files.
In short, you may have quite powerful and cross-platform bash scripting on
Windows.
In order to integrate bash scripting into Windows system you need to:
- double click on the included shell_script.reg file to register .sh
extension in the system. Thus, any click on .sh script will execute it
automatically assuming that the sh.cmd is in the PATH;
- register .sh extension as an executable file type, so you can omit the
.sh typing commands. To do so open "My Computer" properties dialog, choose
the "Advanced" tab, "Environment variables", in the "System variables"
find the variable called "PATHEXT". It contains the list of "executable"
file extensions separated by semicolon. You want to add a ";.SH" to the
end of its value. Then click OK to apply.
Now any .sh script can be run just by typing its name, optionally with
parameters.
As an example, you can create a shell script named make.sh in the cmd/
subdirectory of Git installation with the following content:
exec /bin/make $*
and then build the OpenPilot software typing
make all
directly from Windows command line or from a batch file.
You also may want to rename or remove "C:\Program Files\Git\etc\motd" file
to get rid of git bash welcome message on every script invocation.
5. Limitations of use
---------------------
Currently there may be some problems running scripts which contain spaces in
file names or located in directories which contain spaces in full paths.
It results in in strange "file not found" or other errors.
It is recommended to avoid using such names with spaces.
6. Credits and license
----------------------
This set of scripts uses the MSYS package included into the msysGit
distribution and MinGW make included into the QtSDK package.
The sh.cmd, shell_script.reg and this README.txt files were written
by Oleg Semyonov (os-openpilot-org@os-propo.info) for the OpenPilot
project and are licensed under CC-BY-SA terms:
http://creativecommons.org/licenses/by-sa/3.0/
Feel free to contact me for additions and improvements.
Happy bashing!

View File

@ -7,6 +7,7 @@
# See also: # See also:
# README.txt # README.txt
# http://wiki.openpilot.org/display/Doc/GCS+Development+on+Windows # http://wiki.openpilot.org/display/Doc/GCS+Development+on+Windows
# http://wiki.openpilot.org/display/Doc/Firmware+Development+on+Windows
# #
mingw32-make.exe $* mingw32-make.exe $*

View File

@ -9,6 +9,7 @@ rem
rem See also: rem See also:
rem README.txt rem README.txt
rem http://wiki.openpilot.org/display/Doc/GCS+Development+on+Windows rem http://wiki.openpilot.org/display/Doc/GCS+Development+on+Windows
rem http://wiki.openpilot.org/display/Doc/Firmware+Development+on+Windows
rem rem
rem Based on the msys.bat file from the MSYS package rem Based on the msys.bat file from the MSYS package
rem http://www.mingw.org/wiki/msys rem http://www.mingw.org/wiki/msys
@ -25,18 +26,35 @@ if not "x%DISPLAY%" == "x" set DISPLAY=
rem -------------------------------------------------------------------------- rem --------------------------------------------------------------------------
rem To build the OpenPilot software we need few tools in the PATH. rem To build the OpenPilot software we need few tools in the PATH.
rem Here we attempt to guess tools location using PATH or set them rem Here we attempt to guess tools location searching in the given
rem directly using hard-coded locations, if not found in PATH. rem directories first, and in the PATH last, if not found where expected.
rem You may want to update paths according to your installation. rem
rem Please note that if you have few similar tools installed somewhere but
rem not in the expected location, and they are in the PATH, then the script
rem can detect wrong directories. For instance, if you have QtSDK installed
rem on the D: drive, but have separately installed MinGW toolkit which is
rem in the PATH, then this script detects this MinGW instead of QtSDK's one.
rem As a result, the SDL headers will not be found, if they were copied into
rem QtSDK's MinGW directory. In that case make sure that you have correct
rem directories specified here.
rem
rem Also you can add any paths below just by adding extra 'call :which'
rem lines with the following parameters:
rem - environment variable which will be set to the tool location, if found;
rem - expected directory for the executable which will be searched first;
rem - any executable file which will be searched in the given directory
rem or in the PATH, if not found where expected.
rem All they will be added to the PATH in order of appearance.
rem -------------------------------------------------------------------------- rem --------------------------------------------------------------------------
set NOT_FOUND= set NOT_FOUND=
set PATH_DIRS=
call :which PYTHON "C:\Python27" python.exe
call :which CODESOURCERY "C:\CodeSourcery\bin" cs-make.exe
call :which QTSDK "C:\Qt\2010.05\qt\bin" qmake.exe
call :which QTMINGW "C:\Qt\2010.05\mingw\bin" mingw32-make.exe
call :which MSYSGIT "%ProgramFiles%\Git\bin" git.exe call :which MSYSGIT "%ProgramFiles%\Git\bin" git.exe
call :which QTMINGW "C:\Qt\2010.05\mingw\bin" mingw32-make.exe
call :which QTSDK "C:\Qt\2010.05\qt\bin" qmake.exe
call :which CODESOURCERY "C:\CodeSourcery\bin" cs-make.exe
call :which PYTHON "C:\Python27" python.exe
call :which UNSIS "%ProgramFiles%\NSIS\Unicode" makensis.exe call :which UNSIS "%ProgramFiles%\NSIS\Unicode" makensis.exe
if "%NOT_FOUND%" == "" goto set_path if "%NOT_FOUND%" == "" goto set_path
@ -54,7 +72,7 @@ rem --------------------------------------------------------------------------
:set_path :set_path
set PATH=%SYSTEMROOT%\system32;%SYSTEMROOT% set PATH=%SYSTEMROOT%\system32;%SYSTEMROOT%
set PATH=%MSYSGIT%;%QTMINGW%;%QTSDK%;%CODESOURCERY%;%PYTHON%;%UNSIS%;%PATH% set PATH=%PATH_DIRS%;%PATH%
rem echo PATH: %PATH% rem echo PATH: %PATH%
rem -------------------------------------------------------------------------- rem --------------------------------------------------------------------------
@ -63,7 +81,7 @@ rem Any shell script can be passed to it via command line of this batch file.
rem -------------------------------------------------------------------------- rem --------------------------------------------------------------------------
if not exist "%MSYSGIT%\bash.exe" goto no_bash if not exist "%MSYSGIT%\bash.exe" goto no_bash
call %COMSPEC% /c "%MSYSGIT%\bash" --login -i %* call "%MSYSGIT%\bash.exe" --login -i %*
goto :eof goto :eof
:no_bash :no_bash
@ -71,18 +89,18 @@ echo Cannot find bash, exiting with error
exit 1 exit 1
rem -------------------------------------------------------------------------- rem --------------------------------------------------------------------------
rem Attempt to find executable in the PATH or at expected location. rem Attempt to find executable in the directory given or in the PATH
rem -------------------------------------------------------------------------- rem --------------------------------------------------------------------------
:which :which
rem search in the PATH first rem search in the directory given first
for %%F in (%3) do set FP=%%~$PATH:F
if exist "%FP%" goto found_in_path
rem search at expected location last
for %%F in (%2) do set FP=%%~F\%3 for %%F in (%2) do set FP=%%~F\%3
if exist "%FP%" goto found_directly if exist "%FP%" goto found_directly
rem search in the PATH last
for %%F in (%3) do set FP=%%~$PATH:F
if exist "%FP%" goto found_in_path
:not_found :not_found
for %%F in (%2) do set FP=%%~F for %%F in (%2) do set FP=%%~F
rem echo %3: not found, expected in %FP% rem echo %3: not found, expected in %FP%
@ -90,17 +108,20 @@ set FP=
set NOT_FOUND=%NOT_FOUND% %3 set NOT_FOUND=%NOT_FOUND% %3
goto set goto set
:found_in_path
for %%F in ("%FP%") do set FP=%%~dpsF
rem echo %3: found in the PATH: %FP%
goto set
:found_directly :found_directly
for %%F in ("%FP%") do set FP=%%~dpsF for %%F in ("%FP%") do set FP=%%~dpsF
rem echo %3: found at: %FP% rem echo %3: found at: %FP%
goto set
:found_in_path
for %%F in ("%FP%") do set FP=%%~dpsF
rem echo %3: found in the PATH: %FP%
:set :set
rem set results regardless of was it found or not rem set results regardless of was it found or not
set %1=%FP% set %1=%FP%
rem echo %1=%FP% rem echo %1=%FP%
if "%FP%" == "" goto :eof
if not "%PATH_DIRS%" == "" set PATH_DIRS=%PATH_DIRS%;
set PATH_DIRS=%PATH_DIRS%%FP%
goto :eof goto :eof

View File

@ -0,0 +1,19 @@
REGEDIT4
[HKEY_CLASSES_ROOT\.sh]
@="shfile"
[HKEY_CLASSES_ROOT\shfile]
@="shell script"
"AlwaysShowExt"=""
"BrowserFlags"=dword:00000008
"EditFlags"=dword:00000000
[HKEY_CLASSES_ROOT\shfile\shell]
@=""
[HKEY_CLASSES_ROOT\shfile\shell\open]
[HKEY_CLASSES_ROOT\shfile\shell\open\command]
@="cmd.exe /c call sh \"%1\" %*"