1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-01-18 03:52:11 +01:00

Merge branch 'MikeL_MixerCurve' of ssh://git.openpilot.org/OpenPilot into pt/CC3D_Release

This commit is contained in:
PT_Dreamer 2012-07-24 15:23:21 +01:00
commit 54ffe04e6d
27 changed files with 30510 additions and 29328 deletions

View File

@ -6,14 +6,17 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>796</width> <width>839</width>
<height>618</height> <height>1007</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Form</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout_18">
<property name="spacing">
<number>12</number>
</property>
<item> <item>
<widget class="QTabWidget" name="tabWidget"> <widget class="QTabWidget" name="tabWidget">
<property name="currentIndex"> <property name="currentIndex">
@ -23,10 +26,92 @@
<attribute name="title"> <attribute name="title">
<string>Mixer Settings</string> <string>Mixer Settings</string>
</attribute> </attribute>
<layout class="QVBoxLayout" name="verticalLayout_2" stretch="0,0,0"> <layout class="QVBoxLayout" name="verticalLayout_2" stretch="0">
<property name="margin"> <property name="margin">
<number>5</number> <number>0</number>
</property> </property>
<item>
<widget class="QScrollArea" name="scrollArea">
<property name="palette">
<palette>
<active>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>809</width>
<height>874</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_12">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
@ -56,7 +141,7 @@
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>20</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
@ -74,7 +159,7 @@
<item> <item>
<widget class="QStackedWidget" name="airframesWidget"> <widget class="QStackedWidget" name="airframesWidget">
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>1</number>
</property> </property>
<widget class="QWidget" name="fixedWing"> <widget class="QWidget" name="fixedWing">
<property name="enabled"> <property name="enabled">
@ -117,7 +202,7 @@
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>20</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
@ -452,7 +537,7 @@ margin:1px;</string>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>20</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
@ -621,9 +706,12 @@ margin:1px;</string>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeType">
<enum>QSizePolicy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>20</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
@ -867,8 +955,8 @@ margin:1px;</string>
</property> </property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>110</width> <width>80</width>
<height>110</height> <height>80</height>
</size> </size>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
@ -891,9 +979,12 @@ margin:1px;</string>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeType">
<enum>QSizePolicy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>10</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
@ -901,6 +992,12 @@ margin:1px;</string>
</item> </item>
<item> <item>
<widget class="QGroupBox" name="groupBox_6"> <widget class="QGroupBox" name="groupBox_6">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title"> <property name="title">
<string>Throtte Curve</string> <string>Throtte Curve</string>
</property> </property>
@ -931,8 +1028,8 @@ margin:1px;</string>
</property> </property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>120</width> <width>80</width>
<height>120</height> <height>80</height>
</size> </size>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
@ -1318,9 +1415,12 @@ margin:1px;</string>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeType">
<enum>QSizePolicy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>20</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
@ -2483,10 +2583,99 @@ margin:1px;</string>
</item> </item>
</layout> </layout>
</widget> </widget>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab"> <widget class="QWidget" name="tab">
<attribute name="title"> <attribute name="title">
<string>Advanced Settings</string> <string>Advanced Settings</string>
</attribute> </attribute>
<layout class="QVBoxLayout" name="verticalLayout_26">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QScrollArea" name="scrollArea_2">
<property name="palette">
<palette>
<active>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents_2">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>809</width>
<height>874</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_25"> <layout class="QVBoxLayout" name="verticalLayout_25">
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_11" stretch="0,1,0,0,0"> <layout class="QVBoxLayout" name="verticalLayout_11" stretch="0,1,0,0,0">
@ -2788,8 +2977,8 @@ p, li { white-space: pre-wrap; }
&lt;table border=&quot;0&quot; style=&quot;-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;&quot;&gt; &lt;table border=&quot;0&quot; style=&quot;-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;&quot;&gt;
&lt;tr&gt; &lt;tr&gt;
&lt;td style=&quot;border: none;&quot;&gt; &lt;td style=&quot;border: none;&quot;&gt;
&lt;p align=&quot;center&quot; 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:'Ubuntu'; font-size:14pt; font-weight:600; color:#ff0000;&quot;&gt;SETTING UP FEED FORWARD IS DANGEROUS&lt;/span&gt;&lt;/p&gt; &lt;p align=&quot;center&quot; 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:'Ubuntu'; font-size:14pt; font-weight:600; color:#ff0000;&quot;&gt;SETTING UP FEED FORWARD REQUIRES CAUTION&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu'; font-size:11pt;&quot;&gt;&lt;/p&gt; &lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu'; font-size:11pt;&quot;&gt;&lt;br /&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;Beware: Feed Forward Tuning will launch all engines around mid-throttle, you have been warned!&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;Beware: Feed Forward Tuning will launch all engines around mid-throttle, you have been warned!&lt;/p&gt;
&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Remove your props initially, and for fine-tuning, make sure your airframe is safely held in place. Wear glasses and protect your face and body.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/body&gt;&lt;/html&gt;</string> &lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Remove your props initially, and for fine-tuning, make sure your airframe is safely held in place. Wear glasses and protect your face and body.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
@ -2814,16 +3003,44 @@ p, li { white-space: pre-wrap; }
</widget> </widget>
</widget> </widget>
</item> </item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_8">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>75</height>
</size>
</property>
<property name="title">
<string/>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>4</number>
</property>
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeType">
<enum>QSizePolicy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>20</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
@ -2863,9 +3080,18 @@ p, li { white-space: pre-wrap; }
</item> </item>
<item> <item>
<widget class="QPushButton" name="saveAircraftToRAM"> <widget class="QPushButton" name="saveAircraftToRAM">
<property name="minimumSize">
<size>
<width>60</width>
<height>28</height>
</size>
</property>
<property name="toolTip"> <property name="toolTip">
<string>Send to board, but don't save permanently (flash or SD).</string> <string>Send to board, but don't save permanently (flash or SD).</string>
</property> </property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text"> <property name="text">
<string>Apply</string> <string>Apply</string>
</property> </property>
@ -2873,9 +3099,18 @@ p, li { white-space: pre-wrap; }
</item> </item>
<item> <item>
<widget class="QPushButton" name="saveAircraftToSD"> <widget class="QPushButton" name="saveAircraftToSD">
<property name="minimumSize">
<size>
<width>60</width>
<height>28</height>
</size>
</property>
<property name="toolTip"> <property name="toolTip">
<string>Applies and Saves all settings to flash or SD depending on board.</string> <string>Applies and Saves all settings to flash or SD depending on board.</string>
</property> </property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text"> <property name="text">
<string>Save</string> <string>Save</string>
</property> </property>
@ -2885,6 +3120,9 @@ p, li { white-space: pre-wrap; }
</item> </item>
</layout> </layout>
</widget> </widget>
</item>
</layout>
</widget>
<customwidgets> <customwidgets>
<customwidget> <customwidget>
<class>MixerCurveWidget</class> <class>MixerCurveWidget</class>

View File

@ -6,19 +6,123 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>720</width> <width>820</width>
<height>739</height> <height>845</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Form</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_3"> <property name="autoFillBackground">
<bool>false</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<property name="spacing">
<number>12</number>
</property>
<property name="margin">
<number>12</number>
</property>
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<property name="elideMode">
<enum>Qt::ElideMiddle</enum>
</property>
<widget class="QWidget" name="CameraStabilization">
<property name="autoFillBackground">
<bool>false</bool>
</property>
<attribute name="title">
<string>Camera Stabilization</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_5">
<property name="spacing">
<number>12</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item> <item>
<widget class="QScrollArea" name="scrollArea"> <widget class="QScrollArea" name="scrollArea">
<property name="palette">
<palette>
<active>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::NoFrame</enum> <enum>QFrame::NoFrame</enum>
</property> </property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="widgetResizable"> <property name="widgetResizable">
<bool>true</bool> <bool>true</bool>
</property> </property>
@ -27,11 +131,38 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>696</width> <width>790</width>
<height>635</height> <height>648</height>
</rect> </rect>
</property> </property>
<property name="autoFillBackground">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<property name="spacing">
<number>12</number>
</property>
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>88</height>
</size>
</property>
<property name="title">
<string/>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
<property name="margin">
<number>12</number>
</property>
<item> <item>
<widget class="QCheckBox" name="enableCameraStabilization"> <widget class="QCheckBox" name="enableCameraStabilization">
<property name="focusPolicy"> <property name="focusPolicy">
@ -49,8 +180,211 @@
</property> </property>
</widget> </widget>
</item> </item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_5">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>131</height>
</size>
</property>
<property name="title">
<string>Basic Settings (Stabilization)</string>
</property>
<property name="flat">
<bool>false</bool>
</property>
<layout class="QGridLayout" name="gridLayout_9">
<property name="leftMargin">
<number>12</number>
</property>
<property name="rightMargin">
<number>12</number>
</property>
<item row="3" column="3">
<widget class="QSpinBox" name="yawOutputRange">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Camera yaw angle for 100% output value, deg.
This value should be tuned for particular gimbal and servo. You also
have to define channel output range using Output configuration tab.</string>
</property>
<property name="maximum">
<number>180</number>
</property>
<property name="value">
<number>20</number>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QSpinBox" name="pitchOutputRange">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Camera pitch angle for 100% output value, deg.
This value should be tuned for particular gimbal and servo. You also
have to define channel output range using Output configuration tab.</string>
</property>
<property name="maximum">
<number>180</number>
</property>
<property name="value">
<number>20</number>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="rollOutputRange">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Camera roll angle for 100% output value, deg.
This value should be tuned for particular gimbal and servo. You also
have to define channel output range using Output configuration tab.</string>
</property>
<property name="maximum">
<number>180</number>
</property>
<property name="value">
<number>20</number>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QComboBox" name="yawChannel">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Yaw output channel for camera gimbal</string>
</property>
<item>
<property name="text">
<string>None</string>
</property>
</item>
</widget>
</item>
<item row="2" column="2">
<widget class="QComboBox" name="pitchChannel">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Pitch output channel for camera gimbal</string>
</property>
<item>
<property name="text">
<string>None</string>
</property>
</item>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="rollChannel">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Roll output channel for camera gimbal</string>
</property>
<item>
<property name="text">
<string>None</string>
</property>
</item>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_42">
<property name="text">
<string>Output Channel</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_43">
<property name="text">
<string>Output Range</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QLabel" name="label_44">
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font: bold 12px;
margin:1px;</string>
</property>
<property name="text">
<string>Yaw</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLabel" name="label_45">
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font: bold 12px;
margin:1px;</string>
</property>
<property name="text">
<string>Pitch</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_46">
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font: bold 12px;
margin:1px;</string>
</property>
<property name="text">
<string>Roll</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item> <item>
<widget class="Line" name="line"> <widget class="Line" name="line">
<property name="enabled">
<bool>true</bool>
</property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
@ -72,194 +406,6 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item>
<widget class="QGroupBox" name="groupBox_5">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>100</height>
</size>
</property>
<property name="title">
<string>Basic Settings (Stabilization)</string>
</property>
<layout class="QGridLayout" name="gridLayout_9">
<item row="2" column="3">
<widget class="QSpinBox" name="yawOutputRange">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Camera yaw angle for 100% output value, deg.
This value should be tuned for particular gimbal and servo. You also
have to define channel output range using Output configuration tab.</string>
</property>
<property name="maximum">
<number>180</number>
</property>
<property name="value">
<number>20</number>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QSpinBox" name="pitchOutputRange">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Camera pitch angle for 100% output value, deg.
This value should be tuned for particular gimbal and servo. You also
have to define channel output range using Output configuration tab.</string>
</property>
<property name="maximum">
<number>180</number>
</property>
<property name="value">
<number>20</number>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="rollOutputRange">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Camera roll angle for 100% output value, deg.
This value should be tuned for particular gimbal and servo. You also
have to define channel output range using Output configuration tab.</string>
</property>
<property name="maximum">
<number>180</number>
</property>
<property name="value">
<number>20</number>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QComboBox" name="yawChannel">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Yaw output channel for camera gimbal</string>
</property>
<item>
<property name="text">
<string>None</string>
</property>
</item>
</widget>
</item>
<item row="1" column="2">
<widget class="QComboBox" name="pitchChannel">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Pitch output channel for camera gimbal</string>
</property>
<item>
<property name="text">
<string>None</string>
</property>
</item>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="rollChannel">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Roll output channel for camera gimbal</string>
</property>
<item>
<property name="text">
<string>None</string>
</property>
</item>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_42">
<property name="text">
<string>Output Channel</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_43">
<property name="text">
<string>Output Range</string>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QLabel" name="label_44">
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font: bold 12px;
margin:1px;</string>
</property>
<property name="text">
<string>Yaw</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label_45">
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font: bold 12px;
margin:1px;</string>
</property>
<property name="text">
<string>Pitch</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_46">
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font: bold 12px;
margin:1px;</string>
</property>
<property name="text">
<string>Roll</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item> <item>
<widget class="QGroupBox" name="groupBox"> <widget class="QGroupBox" name="groupBox">
<property name="sizePolicy"> <property name="sizePolicy">
@ -271,14 +417,20 @@ margin:1px;</string>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>0</width> <width>0</width>
<height>204</height> <height>266</height>
</size> </size>
</property> </property>
<property name="title"> <property name="title">
<string>Advanced Settings (Control)</string> <string>Advanced Settings (Control)</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_8"> <layout class="QGridLayout" name="gridLayout_8">
<item row="0" column="3"> <property name="leftMargin">
<number>12</number>
</property>
<property name="rightMargin">
<number>12</number>
</property>
<item row="1" column="3">
<widget class="QLabel" name="label_32"> <widget class="QLabel" name="label_32">
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255)); <string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
@ -295,7 +447,7 @@ margin:1px;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="2"> <item row="1" column="2">
<widget class="QLabel" name="label_33"> <widget class="QLabel" name="label_33">
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255)); <string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
@ -312,7 +464,7 @@ margin:1px;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item row="1" column="1">
<widget class="QLabel" name="label_34"> <widget class="QLabel" name="label_34">
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255)); <string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
@ -329,7 +481,7 @@ margin:1px;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="3"> <item row="2" column="3">
<widget class="QComboBox" name="yawInputChannel"> <widget class="QComboBox" name="yawInputChannel">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
@ -346,7 +498,7 @@ Don't forget to map this channel using Input configuration tab.</string>
</item> </item>
</widget> </widget>
</item> </item>
<item row="1" column="2"> <item row="2" column="2">
<widget class="QComboBox" name="pitchInputChannel"> <widget class="QComboBox" name="pitchInputChannel">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
@ -363,7 +515,7 @@ Don't forget to map this channel using Input configuration tab.</string>
</item> </item>
</widget> </widget>
</item> </item>
<item row="1" column="1"> <item row="2" column="1">
<widget class="QComboBox" name="rollInputChannel"> <widget class="QComboBox" name="rollInputChannel">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
@ -380,14 +532,14 @@ Don't forget to map this channel using Input configuration tab.</string>
</item> </item>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item row="2" column="0">
<widget class="QLabel" name="label_35"> <widget class="QLabel" name="label_35">
<property name="text"> <property name="text">
<string>Input Channel</string> <string>Input Channel</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="3"> <item row="3" column="3">
<widget class="QComboBox" name="yawStabilizationMode"> <widget class="QComboBox" name="yawStabilizationMode">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
@ -405,7 +557,7 @@ AxisLock: camera remembers tracking attitude. Input controls the rate of deflect
</item> </item>
</widget> </widget>
</item> </item>
<item row="3" column="3"> <item row="4" column="3">
<widget class="QSpinBox" name="yawInputRange"> <widget class="QSpinBox" name="yawInputRange">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
@ -421,7 +573,7 @@ AxisLock: camera remembers tracking attitude. Input controls the rate of deflect
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="3"> <item row="5" column="3">
<widget class="QSpinBox" name="yawInputRate"> <widget class="QSpinBox" name="yawInputRate">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
@ -437,7 +589,7 @@ AxisLock: camera remembers tracking attitude. Input controls the rate of deflect
</property> </property>
</widget> </widget>
</item> </item>
<item row="5" column="3"> <item row="6" column="3">
<widget class="QSpinBox" name="yawResponseTime"> <widget class="QSpinBox" name="yawResponseTime">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
@ -455,7 +607,7 @@ This option smoothes the stick input. Zero value disables LPF.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="2"> <item row="3" column="2">
<widget class="QComboBox" name="pitchStabilizationMode"> <widget class="QComboBox" name="pitchStabilizationMode">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
@ -473,7 +625,7 @@ AxisLock: camera remembers tracking attitude. Input controls the rate of deflect
</item> </item>
</widget> </widget>
</item> </item>
<item row="3" column="2"> <item row="4" column="2">
<widget class="QSpinBox" name="pitchInputRange"> <widget class="QSpinBox" name="pitchInputRange">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
@ -489,7 +641,7 @@ AxisLock: camera remembers tracking attitude. Input controls the rate of deflect
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="2"> <item row="5" column="2">
<widget class="QSpinBox" name="pitchInputRate"> <widget class="QSpinBox" name="pitchInputRate">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
@ -505,7 +657,7 @@ AxisLock: camera remembers tracking attitude. Input controls the rate of deflect
</property> </property>
</widget> </widget>
</item> </item>
<item row="5" column="2"> <item row="6" column="2">
<widget class="QSpinBox" name="pitchResponseTime"> <widget class="QSpinBox" name="pitchResponseTime">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
@ -523,7 +675,7 @@ This option smoothes the stick input. Zero value disables LPF.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1"> <item row="3" column="1">
<widget class="QComboBox" name="rollStabilizationMode"> <widget class="QComboBox" name="rollStabilizationMode">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
@ -541,7 +693,7 @@ AxisLock: camera remembers tracking attitude. Input controls the rate of deflect
</item> </item>
</widget> </widget>
</item> </item>
<item row="3" column="1"> <item row="4" column="1">
<widget class="QSpinBox" name="rollInputRange"> <widget class="QSpinBox" name="rollInputRange">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
@ -557,7 +709,7 @@ AxisLock: camera remembers tracking attitude. Input controls the rate of deflect
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="1"> <item row="5" column="1">
<widget class="QSpinBox" name="rollInputRate"> <widget class="QSpinBox" name="rollInputRate">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
@ -573,7 +725,7 @@ AxisLock: camera remembers tracking attitude. Input controls the rate of deflect
</property> </property>
</widget> </widget>
</item> </item>
<item row="5" column="1"> <item row="6" column="1">
<widget class="QSpinBox" name="rollResponseTime"> <widget class="QSpinBox" name="rollResponseTime">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
@ -591,49 +743,49 @@ This option smoothes the stick input. Zero value disables LPF.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="0"> <item row="7" column="0">
<widget class="QLabel" name="label_36"> <widget class="QLabel" name="label_36">
<property name="text"> <property name="text">
<string>MaxAxisLockRate</string> <string>MaxAxisLockRate</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="5" column="0"> <item row="6" column="0">
<widget class="QLabel" name="label_37"> <widget class="QLabel" name="label_37">
<property name="text"> <property name="text">
<string>Response Time</string> <string>Response Time</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="0"> <item row="5" column="0">
<widget class="QLabel" name="label_38"> <widget class="QLabel" name="label_38">
<property name="text"> <property name="text">
<string>Input Rate</string> <string>Input Rate</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0"> <item row="4" column="0">
<widget class="QLabel" name="label_39"> <widget class="QLabel" name="label_39">
<property name="text"> <property name="text">
<string>Input Range</string> <string>Input Range</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="0"> <item row="3" column="0">
<widget class="QLabel" name="label_40"> <widget class="QLabel" name="label_40">
<property name="text"> <property name="text">
<string>Stabilization Mode</string> <string>Stabilization Mode</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="2" colspan="2"> <item row="7" column="2" colspan="2">
<widget class="QLabel" name="label_41"> <widget class="QLabel" name="label_41">
<property name="text"> <property name="text">
<string>(the same value for Roll, Pitch, Yaw)</string> <string>(the same value for Roll, Pitch, Yaw)</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="1"> <item row="7" column="1">
<widget class="QDoubleSpinBox" name="MaxAxisLockRate"> <widget class="QDoubleSpinBox" name="MaxAxisLockRate">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
@ -679,8 +831,34 @@ value.</string>
</widget> </widget>
</widget> </widget>
</item> </item>
</layout>
</widget>
</widget>
</item>
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout"> <widget class="QGroupBox" name="groupBox_3">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>50</height>
</size>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="title">
<string>Messages</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="margin">
<number>12</number>
</property>
<item> <item>
<widget class="QLabel" name="message"> <widget class="QLabel" name="message">
<property name="text"> <property name="text">
@ -688,18 +866,30 @@ value.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> </layout>
<layout class="QHBoxLayout" name="submitButtons">
<item>
<widget class="QFrame" name="frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget> </widget>
</item> </item>
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>75</height>
</size>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="title">
<string/>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
@ -707,7 +897,7 @@ value.</string>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>425</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
@ -756,14 +946,28 @@ value.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>4</number>
</property>
<item> <item>
<widget class="QPushButton" name="camerastabilizationResetToDefaults"> <widget class="QPushButton" name="camerastabilizationResetToDefaults">
<property name="minimumSize">
<size>
<width>140</width>
<height>28</height>
</size>
</property>
<property name="toolTip"> <property name="toolTip">
<string>Load default CameraStabilization settings except output channels <string>Load default CameraStabilization settings except output channels
Loaded settings are not applied automatically. You have to click the Loaded settings are not applied automatically. You have to click the
Apply or Save button afterwards.</string> Apply or Save button afterwards.</string>
</property> </property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text"> <property name="text">
<string>Reset To Defaults</string> <string>Reset To Defaults</string>
</property> </property>
@ -771,9 +975,18 @@ Apply or Save button afterwards.</string>
</item> </item>
<item> <item>
<widget class="QPushButton" name="camerastabilizationSaveRAM"> <widget class="QPushButton" name="camerastabilizationSaveRAM">
<property name="minimumSize">
<size>
<width>78</width>
<height>28</height>
</size>
</property>
<property name="toolTip"> <property name="toolTip">
<string>Send settings to the board but do not save to the non-volatile memory</string> <string>Send settings to the board but do not save to the non-volatile memory</string>
</property> </property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text"> <property name="text">
<string>Apply</string> <string>Apply</string>
</property> </property>
@ -781,9 +994,18 @@ Apply or Save button afterwards.</string>
</item> </item>
<item> <item>
<widget class="QPushButton" name="camerastabilizationSaveSD"> <widget class="QPushButton" name="camerastabilizationSaveSD">
<property name="minimumSize">
<size>
<width>71</width>
<height>28</height>
</size>
</property>
<property name="toolTip"> <property name="toolTip">
<string>Send settings to the board and save to the non-volatile memory</string> <string>Send settings to the board and save to the non-volatile memory</string>
</property> </property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text"> <property name="text">
<string>Save</string> <string>Save</string>
</property> </property>
@ -795,11 +1017,11 @@ Apply or Save button afterwards.</string>
</layout> </layout>
</item> </item>
</layout> </layout>
</widget>
</item> </item>
</layout> </layout>
</widget> </widget>
<tabstops> <tabstops>
<tabstop>enableCameraStabilization</tabstop>
<tabstop>rollChannel</tabstop> <tabstop>rollChannel</tabstop>
<tabstop>pitchChannel</tabstop> <tabstop>pitchChannel</tabstop>
<tabstop>yawChannel</tabstop> <tabstop>yawChannel</tabstop>

View File

@ -6,23 +6,112 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>517</width> <width>592</width>
<height>487</height> <height>763</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Form</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item> <item>
<widget class="QFrame" name="frame"> <widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>HW settings</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_3">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QScrollArea" name="scrollArea">
<property name="palette">
<palette>
<active>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::StyledPanel</enum> <enum>QFrame::NoFrame</enum>
</property> </property>
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Plain</enum>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_2"> <property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>547</width>
<height>651</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="1" column="1" rowspan="5" colspan="3"> <item row="1" column="1" rowspan="5" colspan="3">
@ -205,11 +294,56 @@
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>20</width> <width>20</width>
<height>40</height> <height>328</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item>
<widget class="QLabel" name="label_6">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Changes on this page only take effect after board reset or power cycle</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>50</height>
</size>
</property>
<property name="title">
<string>Problems</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item> <item>
<widget class="QLabel" name="problems"> <widget class="QLabel" name="problems">
<property name="font"> <property name="font">
@ -229,24 +363,32 @@
</property> </property>
</widget> </widget>
</item> </item>
<item> </layout>
<widget class="QLabel" name="label_6">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Changes on this page only take effect after board reset or power cycle</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget> </widget>
</item> </item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>75</height>
</size>
</property>
<property name="title">
<string/>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>4</number>
</property>
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
@ -300,12 +442,76 @@
</item> </item>
<item> <item>
<widget class="QPushButton" name="saveTelemetryToRAM"> <widget class="QPushButton" name="saveTelemetryToRAM">
<property name="palette">
<palette>
<active>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</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.
Beware of not locking yourself out!</string> Beware of not locking yourself out!</string>
</property> </property>
<property name="autoFillBackground"> <property name="autoFillBackground">
<bool>true</bool> <bool>false</bool>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true"/> <string notr="true"/>

View File

@ -6,15 +6,113 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>455</width> <width>606</width>
<height>428</height> <height>576</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Form</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_5">
<item row="0" column="0"> <item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="Attitude">
<attribute name="title">
<string>Attitude</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_3">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QScrollArea" name="scrollArea">
<property name="palette">
<palette>
<active>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>576</width>
<height>439</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QGroupBox" name="groupBox"> <widget class="QGroupBox" name="groupBox">
<property name="title"> <property name="title">
<string>Rotate virtual attitude relative to board</string> <string>Rotate virtual attitude relative to board</string>
@ -83,7 +181,7 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item>
<widget class="QGroupBox" name="groupBox_2"> <widget class="QGroupBox" name="groupBox_2">
<property name="title"> <property name="title">
<string>Calibration</string> <string>Calibration</string>
@ -147,7 +245,7 @@ arming it in that case!</string>
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="2" column="0"> <item>
<spacer name="verticalSpacer_2"> <spacer name="verticalSpacer_2">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
@ -155,13 +253,42 @@ arming it in that case!</string>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>20</width> <width>20</width>
<height>40</height> <height>91</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="3" column="0"> </layout>
</widget>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>75</height>
</size>
</property>
<property name="title">
<string/>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>4</number>
</property>
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
@ -228,6 +355,9 @@ arming it in that case!</string>
</item> </item>
</layout> </layout>
</widget> </widget>
</item>
</layout>
</widget>
<resources> <resources>
<include location="../coreplugin/core.qrc"/> <include location="../coreplugin/core.qrc"/>
</resources> </resources>

View File

@ -35,6 +35,9 @@
#include <QtGui/QPushButton> #include <QtGui/QPushButton>
#include <QDesktopServices> #include <QDesktopServices>
#include <QUrl> #include <QUrl>
#include <extensionsystem/pluginmanager.h>
#include <coreplugin/generalsettings.h>
ConfigCCHWWidget::ConfigCCHWWidget(QWidget *parent) : ConfigTaskWidget(parent) ConfigCCHWWidget::ConfigCCHWWidget(QWidget *parent) : ConfigTaskWidget(parent)
{ {
@ -43,6 +46,13 @@ ConfigCCHWWidget::ConfigCCHWWidget(QWidget *parent) : ConfigTaskWidget(parent)
m_telemetry->label_2->setPixmap(QPixmap(":/configgadget/images/coptercontrol.svg")); m_telemetry->label_2->setPixmap(QPixmap(":/configgadget/images/coptercontrol.svg"));
ExtensionSystem::PluginManager *pm=ExtensionSystem::PluginManager::instance();
Core::Internal::GeneralSettings * settings=pm->getObject<Core::Internal::GeneralSettings>();
if(!settings->useExpertMode())
m_telemetry->saveTelemetryToRAM->setVisible(false);
addApplySaveButtons(m_telemetry->saveTelemetryToRAM,m_telemetry->saveTelemetryToSD); addApplySaveButtons(m_telemetry->saveTelemetryToRAM,m_telemetry->saveTelemetryToSD);
addUAVObjectToWidgetRelation("HwSettings","CC_FlexiPort",m_telemetry->cbFlexi); addUAVObjectToWidgetRelation("HwSettings","CC_FlexiPort",m_telemetry->cbFlexi);
addUAVObjectToWidgetRelation("HwSettings","CC_MainPort",m_telemetry->cbTele); addUAVObjectToWidgetRelation("HwSettings","CC_MainPort",m_telemetry->cbTele);

View File

@ -33,6 +33,8 @@
#include <QDebug> #include <QDebug>
#include <QDesktopServices> #include <QDesktopServices>
#include <QUrl> #include <QUrl>
#include <extensionsystem/pluginmanager.h>
#include <coreplugin/generalsettings.h>
ConfigCameraStabilizationWidget::ConfigCameraStabilizationWidget(QWidget *parent) : ConfigTaskWidget(parent) ConfigCameraStabilizationWidget::ConfigCameraStabilizationWidget(QWidget *parent) : ConfigTaskWidget(parent)
{ {
@ -40,6 +42,11 @@ ConfigCameraStabilizationWidget::ConfigCameraStabilizationWidget(QWidget *parent
m_camerastabilization = new Ui_CameraStabilizationWidget(); m_camerastabilization = new Ui_CameraStabilizationWidget();
m_camerastabilization->setupUi(this); m_camerastabilization->setupUi(this);
ExtensionSystem::PluginManager *pm=ExtensionSystem::PluginManager::instance();
Core::Internal::GeneralSettings * settings=pm->getObject<Core::Internal::GeneralSettings>();
if(!settings->useExpertMode())
m_camerastabilization->camerastabilizationSaveRAM->setVisible(false);
QComboBox *outputs[3] = { QComboBox *outputs[3] = {
m_camerastabilization->rollChannel, m_camerastabilization->rollChannel,
m_camerastabilization->pitchChannel, m_camerastabilization->pitchChannel,

View File

@ -35,6 +35,8 @@
#include <QUrl> #include <QUrl>
#include "accels.h" #include "accels.h"
#include "gyros.h" #include "gyros.h"
#include <extensionsystem/pluginmanager.h>
#include <coreplugin/generalsettings.h>
ConfigCCAttitudeWidget::ConfigCCAttitudeWidget(QWidget *parent) : ConfigCCAttitudeWidget::ConfigCCAttitudeWidget(QWidget *parent) :
ConfigTaskWidget(parent), ConfigTaskWidget(parent),
@ -43,6 +45,10 @@ ConfigCCAttitudeWidget::ConfigCCAttitudeWidget(QWidget *parent) :
ui->setupUi(this); ui->setupUi(this);
connect(ui->zeroBias,SIGNAL(clicked()),this,SLOT(startAccelCalibration())); connect(ui->zeroBias,SIGNAL(clicked()),this,SLOT(startAccelCalibration()));
ExtensionSystem::PluginManager *pm=ExtensionSystem::PluginManager::instance();
Core::Internal::GeneralSettings * settings=pm->getObject<Core::Internal::GeneralSettings>();
if(!settings->useExpertMode())
ui->applyButton->setVisible(false);
addApplySaveButtons(ui->applyButton,ui->saveButton); addApplySaveButtons(ui->applyButton,ui->saveButton);
addUAVObject("AttitudeSettings"); addUAVObject("AttitudeSettings");

View File

@ -41,6 +41,9 @@
#include <utils/stylehelper.h> #include <utils/stylehelper.h>
#include <QMessageBox> #include <QMessageBox>
#include <extensionsystem/pluginmanager.h>
#include <coreplugin/generalsettings.h>
#define ACCESS_MIN_MOVE -3 #define ACCESS_MIN_MOVE -3
#define ACCESS_MAX_MOVE 3 #define ACCESS_MAX_MOVE 3
#define STICK_MIN_MOVE -8 #define STICK_MIN_MOVE -8
@ -55,6 +58,13 @@ ConfigInputWidget::ConfigInputWidget(QWidget *parent) : ConfigTaskWidget(parent)
m_config = new Ui_InputWidget(); m_config = new Ui_InputWidget();
m_config->setupUi(this); m_config->setupUi(this);
addApplySaveButtons(m_config->saveRCInputToRAM,m_config->saveRCInputToSD);
ExtensionSystem::PluginManager *pm=ExtensionSystem::PluginManager::instance();
Core::Internal::GeneralSettings * settings=pm->getObject<Core::Internal::GeneralSettings>();
if(!settings->useExpertMode())
m_config->saveRCInputToRAM->setVisible(false);
addApplySaveButtons(m_config->saveRCInputToRAM,m_config->saveRCInputToSD); addApplySaveButtons(m_config->saveRCInputToRAM,m_config->saveRCInputToSD);
//Generate the rows of buttons in the input channel form GUI //Generate the rows of buttons in the input channel form GUI

View File

@ -46,13 +46,21 @@
#include "systemalarms.h" #include "systemalarms.h"
#include "systemsettings.h" #include "systemsettings.h"
#include "uavsettingsimportexport/uavsettingsimportexportfactory.h" #include "uavsettingsimportexport/uavsettingsimportexportfactory.h"
#include <extensionsystem/pluginmanager.h>
#include <coreplugin/generalsettings.h>
ConfigOutputWidget::ConfigOutputWidget(QWidget *parent) : ConfigTaskWidget(parent),wasItMe(false) ConfigOutputWidget::ConfigOutputWidget(QWidget *parent) : ConfigTaskWidget(parent),wasItMe(false)
{ {
m_config = new Ui_OutputWidget(); m_config = new Ui_OutputWidget();
m_config->setupUi(this); m_config->setupUi(this);
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance(); ExtensionSystem::PluginManager *pm=ExtensionSystem::PluginManager::instance();
Core::Internal::GeneralSettings * settings=pm->getObject<Core::Internal::GeneralSettings>();
if(!settings->useExpertMode())
m_config->saveRCOutputToRAM->setVisible(false);
UAVSettingsImportExportFactory * importexportplugin = pm->getObject<UAVSettingsImportExportFactory>(); UAVSettingsImportExportFactory * importexportplugin = pm->getObject<UAVSettingsImportExportFactory>();
connect(importexportplugin,SIGNAL(importAboutToBegin()),this,SLOT(stopTests())); connect(importexportplugin,SIGNAL(importAboutToBegin()),this,SLOT(stopTests()));

View File

@ -36,19 +36,27 @@
#include <QUrl> #include <QUrl>
#include <QList> #include <QList>
#include <extensionsystem/pluginmanager.h>
#include <coreplugin/generalsettings.h>
ConfigStabilizationWidget::ConfigStabilizationWidget(QWidget *parent) : ConfigTaskWidget(parent) ConfigStabilizationWidget::ConfigStabilizationWidget(QWidget *parent) : ConfigTaskWidget(parent)
{ {
m_stabilization = new Ui_StabilizationWidget(); m_stabilization = new Ui_StabilizationWidget();
m_stabilization->setupUi(this); m_stabilization->setupUi(this);
// To bring old style sheet back without adding it manually do this:
// Alternatively apply a global stylesheet to the QGroupBox ExtensionSystem::PluginManager *pm=ExtensionSystem::PluginManager::instance();
// setStyleSheet("QGroupBox {background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0 rgba(243, 243, 243, 255), stop:1 rgba(250, 250, 250, 255)); border: 1px outset #999; border-radius: 3; }"); Core::Internal::GeneralSettings * settings=pm->getObject<Core::Internal::GeneralSettings>();
if(!settings->useExpertMode())
m_stabilization->saveStabilizationToRAM_6->setVisible(false);
autoLoadWidgets(); autoLoadWidgets();
realtimeUpdates=new QTimer(this); realtimeUpdates=new QTimer(this);
connect(m_stabilization->realTimeUpdates_6,SIGNAL(stateChanged(int)),this,SLOT(realtimeUpdatesSlot(int))); connect(m_stabilization->realTimeUpdates_6,SIGNAL(stateChanged(int)),this,SLOT(realtimeUpdatesSlot(int)));
connect(m_stabilization->realTimeUpdates_7,SIGNAL(stateChanged(int)),this,SLOT(realtimeUpdatesSlot(int)));
connect(realtimeUpdates,SIGNAL(timeout()),this,SLOT(apply())); connect(realtimeUpdates,SIGNAL(timeout()),this,SLOT(apply()));
connect(m_stabilization->checkBox_7,SIGNAL(stateChanged(int)),this,SLOT(linkCheckBoxes(int))); connect(m_stabilization->checkBox_7,SIGNAL(stateChanged(int)),this,SLOT(linkCheckBoxes(int)));
@ -60,23 +68,7 @@ ConfigStabilizationWidget::ConfigStabilizationWidget(QWidget *parent) : ConfigTa
disableMouseWheelEvents(); disableMouseWheelEvents();
// This is needed because new style tries to compact things as much as possible in grid
// and on OSX the widget sizes of PushButtons is reported incorrectly:
// https://bugreports.qt-project.org/browse/QTBUG-14591
m_stabilization->saveStabilizationToRAM_6->setAttribute(Qt::WA_LayoutUsesWidgetRect);
m_stabilization->saveStabilizationToSD_6->setAttribute(Qt::WA_LayoutUsesWidgetRect);
m_stabilization->stabilizationReloadBoardData_6->setAttribute(Qt::WA_LayoutUsesWidgetRect);
m_stabilization->saveStabilizationToRAM_7->setAttribute(Qt::WA_LayoutUsesWidgetRect);
m_stabilization->saveStabilizationToSD_7->setAttribute(Qt::WA_LayoutUsesWidgetRect);
m_stabilization->pushButton_2->setAttribute(Qt::WA_LayoutUsesWidgetRect);
m_stabilization->pushButton_3->setAttribute(Qt::WA_LayoutUsesWidgetRect);
m_stabilization->pushButton_4->setAttribute(Qt::WA_LayoutUsesWidgetRect);
m_stabilization->pushButton_19->setAttribute(Qt::WA_LayoutUsesWidgetRect);
m_stabilization->pushButton_20->setAttribute(Qt::WA_LayoutUsesWidgetRect);
m_stabilization->pushButton_21->setAttribute(Qt::WA_LayoutUsesWidgetRect);
m_stabilization->pushButton_22->setAttribute(Qt::WA_LayoutUsesWidgetRect);
m_stabilization->pushButton_23->setAttribute(Qt::WA_LayoutUsesWidgetRect);
m_stabilization->pushButton_24->setAttribute(Qt::WA_LayoutUsesWidgetRect);
} }
@ -88,7 +80,6 @@ ConfigStabilizationWidget::~ConfigStabilizationWidget()
void ConfigStabilizationWidget::realtimeUpdatesSlot(int value) void ConfigStabilizationWidget::realtimeUpdatesSlot(int value)
{ {
m_stabilization->realTimeUpdates_6->setCheckState((Qt::CheckState)value); m_stabilization->realTimeUpdates_6->setCheckState((Qt::CheckState)value);
m_stabilization->realTimeUpdates_7->setCheckState((Qt::CheckState)value);
if(value==Qt::Checked && !realtimeUpdates->isActive()) if(value==Qt::Checked && !realtimeUpdates->isActive())
realtimeUpdates->start(300); realtimeUpdates->start(300);
else if(value==Qt::Unchecked) else if(value==Qt::Unchecked)

View File

@ -28,12 +28,19 @@
#include "configtxpidwidget.h" #include "configtxpidwidget.h"
#include "txpidsettings.h" #include "txpidsettings.h"
#include "hwsettings.h" #include "hwsettings.h"
#include <extensionsystem/pluginmanager.h>
#include <coreplugin/generalsettings.h>
ConfigTxPIDWidget::ConfigTxPIDWidget(QWidget *parent) : ConfigTaskWidget(parent) ConfigTxPIDWidget::ConfigTxPIDWidget(QWidget *parent) : ConfigTaskWidget(parent)
{ {
m_txpid = new Ui_TxPIDWidget(); m_txpid = new Ui_TxPIDWidget();
m_txpid->setupUi(this); m_txpid->setupUi(this);
ExtensionSystem::PluginManager *pm=ExtensionSystem::PluginManager::instance();
Core::Internal::GeneralSettings * settings=pm->getObject<Core::Internal::GeneralSettings>();
if(!settings->useExpertMode())
m_txpid->Apply->setVisible(false);
addApplySaveButtons(m_txpid->Apply, m_txpid->Save); addApplySaveButtons(m_txpid->Apply, m_txpid->Save);
// Cannot use addUAVObjectToWidgetRelation() for OptionaModules enum because // Cannot use addUAVObjectToWidgetRelation() for OptionaModules enum because

View File

@ -41,6 +41,9 @@
#include "systemsettings.h" #include "systemsettings.h"
#include "mixersettings.h" #include "mixersettings.h"
#include "actuatorsettings.h" #include "actuatorsettings.h"
#include <extensionsystem/pluginmanager.h>
#include <coreplugin/generalsettings.h>
/** /**
Helper delegate for the custom mixer editor table. Helper delegate for the custom mixer editor table.
@ -98,6 +101,11 @@ ConfigVehicleTypeWidget::ConfigVehicleTypeWidget(QWidget *parent) : ConfigTaskWi
m_aircraft = new Ui_AircraftWidget(); m_aircraft = new Ui_AircraftWidget();
m_aircraft->setupUi(this); m_aircraft->setupUi(this);
ExtensionSystem::PluginManager *pm=ExtensionSystem::PluginManager::instance();
Core::Internal::GeneralSettings * settings=pm->getObject<Core::Internal::GeneralSettings>();
if(!settings->useExpertMode())
m_aircraft->saveAircraftToRAM->setVisible(false);
addApplySaveButtons(m_aircraft->saveAircraftToRAM,m_aircraft->saveAircraftToSD); addApplySaveButtons(m_aircraft->saveAircraftToRAM,m_aircraft->saveAircraftToSD);
addUAVObject("SystemSettings"); addUAVObject("SystemSettings");

View File

@ -6,14 +6,14 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>626</width> <width>693</width>
<height>532</height> <height>882</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Form</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout_13">
<item> <item>
<widget class="QTabWidget" name="tabWidget"> <widget class="QTabWidget" name="tabWidget">
<property name="currentIndex"> <property name="currentIndex">
@ -23,8 +23,131 @@
<attribute name="title"> <attribute name="title">
<string>RC Input</string> <string>RC Input</string>
</attribute> </attribute>
<layout class="QVBoxLayout" name="verticalLayout_11">
<property name="spacing">
<number>12</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QScrollArea" name="scrollArea">
<property name="palette">
<palette>
<active>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>663</width>
<height>745</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="0" column="0"> <item row="1" column="0">
<widget class="QGroupBox" name="groupBox_4">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string/>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QPushButton" name="configurationWizard">
<property name="text">
<string>Start Configuration Wizard</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="runCalibration">
<property name="text">
<string>Run Calibration</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="2" column="0">
<widget class="QGroupBox" name="groupBox_5">
<property name="title">
<string/>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QStackedWidget" name="stackedWidget"> <widget class="QStackedWidget" name="stackedWidget">
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>0</number>
@ -90,36 +213,6 @@
</item> </item>
</layout> </layout>
</item> </item>
<item>
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>5</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="configurationWizard">
<property name="text">
<string>Start Configuration Wizard</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="runCalibration">
<property name="text">
<string>Run Calibration</string>
</property>
</widget>
</item>
<item> <item>
<spacer name="verticalSpacer_2"> <spacer name="verticalSpacer_2">
<property name="orientation"> <property name="orientation">
@ -200,317 +293,165 @@
</item> </item>
</layout> </layout>
</widget> </widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_3"> <widget class="QWidget" name="tab_3">
<attribute name="title"> <attribute name="title">
<string>Flight Mode Switch Settings</string> <string>Flight Mode Switch Settings</string>
</attribute> </attribute>
<widget class="QGroupBox" name="groupBox"> <layout class="QVBoxLayout" name="verticalLayout_8">
<property name="spacing">
<number>12</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QScrollArea" name="scrollArea_3">
<property name="palette">
<palette>
<active>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents_3">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>30</x> <x>0</x>
<y>260</y> <y>0</y>
<width>541</width> <width>648</width>
<height>161</height> <height>776</height>
</rect> </rect>
</property> </property>
<property name="styleSheet"> <layout class="QGridLayout" name="gridLayout_7">
<string notr="true"/> <item row="0" column="0">
</property>
<property name="title">
<string>Configure each stabilization mode for each axis</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="1" column="3">
<widget class="QLabel" name="label_10">
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font: bold 12px;
margin:1px;</string>
</property>
<property name="text">
<string>Yaw</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
<string>Stabilized1</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="fmsSsPos1Roll">
<property name="minimumSize">
<size>
<width>102</width>
<height>0</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QComboBox" name="fmsSsPos1Pitch">
<property name="minimumSize">
<size>
<width>102</width>
<height>0</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QComboBox" name="fmsSsPos1Yaw">
<property name="minimumSize">
<size>
<width>102</width>
<height>0</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_21">
<property name="text">
<string>Stabilized2</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QComboBox" name="fmsSsPos2Roll">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QComboBox" name="fmsSsPos2Pitch">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="3" column="3">
<widget class="QComboBox" name="fmsSsPos2Yaw">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_22">
<property name="text">
<string>Stabilized3</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QComboBox" name="fmsSsPos3Roll">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QComboBox" name="fmsSsPos3Pitch">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="4" column="3">
<widget class="QComboBox" name="fmsSsPos3Yaw">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_8">
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font: bold 12px;
margin:1px;</string>
</property>
<property name="text">
<string>Roll</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLabel" name="label_9">
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font: bold 12px;
margin:1px;</string>
</property>
<property name="text">
<string>Pitch</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QGroupBox" name="groupBox_2"> <widget class="QGroupBox" name="groupBox_2">
<property name="geometry">
<rect>
<x>30</x>
<y>20</y>
<width>541</width>
<height>211</height>
</rect>
</property>
<property name="title"> <property name="title">
<string>FlightMode Switch Positions</string> <string>FlightMode Switch Positions</string>
</property> </property>
<widget class="QComboBox" name="fmsModePos5"> <layout class="QGridLayout" name="gridLayout_6">
<property name="enabled"> <item row="0" column="0">
<bool>false</bool> <layout class="QGridLayout" name="gridLayout_4">
</property> <item row="0" column="0">
<property name="geometry"> <layout class="QVBoxLayout" name="verticalLayout_9">
<rect> <item>
<x>100</x> <widget class="QLabel" name="label_pos1">
<y>140</y> <property name="text">
<width>151</width> <string>Pos. 1</string>
<height>26</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property> </property>
</widget> </widget>
<widget class="QComboBox" name="fmsModePos4"> </item>
<property name="enabled"> <item>
<bool>false</bool> <widget class="QLabel" name="label_pos2">
</property> <property name="text">
<property name="geometry"> <string>Pos. 2</string>
<rect>
<x>100</x>
<y>110</y>
<width>151</width>
<height>26</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Select the stabilization mode on this position (manual/stabilized/auto)</string>
</property> </property>
</widget> </widget>
</item>
<item>
<widget class="QLabel" name="label_pos3">
<property name="text">
<string>Pos. 3</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_pos4"> <widget class="QLabel" name="label_pos4">
<property name="geometry">
<rect>
<x>10</x>
<y>115</y>
<width>62</width>
<height>17</height>
</rect>
</property>
<property name="text"> <property name="text">
<string>Pos. 4</string> <string>Pos. 4</string>
</property> </property>
</widget> </widget>
<widget class="QComboBox" name="fmsModePos6"> </item>
<property name="enabled"> <item>
<bool>false</bool>
</property>
<property name="geometry">
<rect>
<x>100</x>
<y>170</y>
<width>151</width>
<height>26</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
<widget class="QLabel" name="label_pos5"> <widget class="QLabel" name="label_pos5">
<property name="geometry">
<rect>
<x>10</x>
<y>145</y>
<width>62</width>
<height>17</height>
</rect>
</property>
<property name="text"> <property name="text">
<string>Pos. 5</string> <string>Pos. 5</string>
</property> </property>
</widget> </widget>
</item>
<item>
<widget class="QLabel" name="label_pos6"> <widget class="QLabel" name="label_pos6">
<property name="geometry">
<rect>
<x>10</x>
<y>175</y>
<width>62</width>
<height>17</height>
</rect>
</property>
<property name="text"> <property name="text">
<string>Pos. 6</string> <string>Pos. 6</string>
</property> </property>
</widget> </widget>
</item>
</layout>
</item>
<item row="0" column="1">
<widget class="QSlider" name="fmsSlider"> <widget class="QSlider" name="fmsSlider">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="geometry">
<rect>
<x>70</x>
<y>28</y>
<width>20</width>
<height>160</height>
</rect>
</property>
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
</property> </property>
@ -548,40 +489,37 @@ Setup the flight mode channel on the RC Input tab if you have not done so alread
<number>1</number> <number>1</number>
</property> </property>
</widget> </widget>
<widget class="QComboBox" name="fmsModePos2"> </item>
<property name="geometry"> <item row="0" column="2">
<rect> <layout class="QVBoxLayout" name="verticalLayout_10">
<x>100</x> <item>
<y>50</y>
<width>151</width>
<height>26</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
<widget class="QComboBox" name="fmsModePos3">
<property name="geometry">
<rect>
<x>100</x>
<y>80</y>
<width>151</width>
<height>26</height>
</rect>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
<widget class="QComboBox" name="fmsModePos1"> <widget class="QComboBox" name="fmsModePos1">
<property name="geometry"> <property name="focusPolicy">
<rect> <enum>Qt::StrongFocus</enum>
<x>100</x> </property>
<y>20</y> <property name="toolTip">
<width>151</width> <string>Select the stabilization mode on this position (manual/stabilized/auto)</string>
<height>26</height> </property>
</rect> </widget>
</item>
<item>
<widget class="QComboBox" name="fmsModePos2">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="fmsModePos3">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="fmsModePos4">
<property name="enabled">
<bool>false</bool>
</property> </property>
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
@ -590,54 +528,44 @@ Setup the flight mode channel on the RC Input tab if you have not done so alread
<string>Select the stabilization mode on this position (manual/stabilized/auto)</string> <string>Select the stabilization mode on this position (manual/stabilized/auto)</string>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="label_pos2"> </item>
<property name="geometry"> <item>
<rect> <widget class="QComboBox" name="fmsModePos5">
<x>11</x> <property name="enabled">
<y>55</y> <bool>false</bool>
<width>62</width>
<height>17</height>
</rect>
</property> </property>
<property name="text"> <property name="focusPolicy">
<string>Pos. 2</string> <enum>Qt::StrongFocus</enum>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="label_pos1"> </item>
<property name="geometry"> <item>
<rect> <widget class="QComboBox" name="fmsModePos6">
<x>11</x> <property name="enabled">
<y>25</y> <bool>false</bool>
<width>62</width>
<height>17</height>
</rect>
</property> </property>
<property name="text"> <property name="focusPolicy">
<string>Pos. 1</string> <enum>Qt::StrongFocus</enum>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="label_pos3"> </item>
<property name="geometry"> </layout>
<rect> </item>
<x>11</x> </layout>
<y>85</y> </item>
<width>62</width> <item row="0" column="2">
<height>17</height> <layout class="QGridLayout" name="gridLayout_5">
</rect> <item row="0" column="0">
</property> <layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QLabel" name="label">
<property name="text"> <property name="text">
<string>Pos. 3</string> <string>Number of flight modes:</string>
</property> </property>
</widget> </widget>
</item>
<item>
<widget class="QSpinBox" name="fmsPosNum"> <widget class="QSpinBox" name="fmsPosNum">
<property name="geometry">
<rect>
<x>458</x>
<y>20</y>
<width>61</width>
<height>20</height>
</rect>
</property>
<property name="toolTip"> <property name="toolTip">
<string>Number of positions your FlightMode switch has. <string>Number of positions your FlightMode switch has.
@ -658,28 +586,11 @@ channel value for each flight mode.</string>
<number>3</number> <number>3</number>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="label"> </item>
<property name="geometry"> </layout>
<rect> </item>
<x>277</x> <item row="1" column="0">
<y>22</y>
<width>171</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Number of flight modes:</string>
</property>
</widget>
<widget class="QLabel" name="label_15"> <widget class="QLabel" name="label_15">
<property name="geometry">
<rect>
<x>310</x>
<y>120</y>
<width>191</width>
<height>30</height>
</rect>
</property>
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
@ -693,15 +604,336 @@ channel value for each flight mode.</string>
<bool>true</bool> <bool>true</bool>
</property> </property>
</widget> </widget>
</item>
</layout>
</item>
<item row="0" column="1">
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget> </widget>
<zorder>groupBox_2</zorder> </item>
<zorder>groupBox</zorder> <item row="1" column="0">
<spacer name="verticalSpacer_6">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>50</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="0">
<widget class="QGroupBox" name="groupBox">
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="title">
<string>Configure each stabilization mode for each axis</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="3" column="0">
<widget class="QLabel" name="label_22">
<property name="text">
<string>Stabilized3</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_8">
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font: bold 12px;
margin:1px;</string>
</property>
<property name="text">
<string>Roll</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="fmsSsPos1Roll">
<property name="minimumSize">
<size>
<width>102</width>
<height>0</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label_9">
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font: bold 12px;
margin:1px;</string>
</property>
<property name="text">
<string>Pitch</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QComboBox" name="fmsSsPos3Pitch">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="3" column="3">
<widget class="QComboBox" name="fmsSsPos3Yaw">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QComboBox" name="fmsSsPos2Pitch">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_14">
<property name="text">
<string>Stabilized1</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QLabel" name="label_10">
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font: bold 12px;
margin:1px;</string>
</property>
<property name="text">
<string>Yaw</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QComboBox" name="fmsSsPos3Roll">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QComboBox" name="fmsSsPos1Yaw">
<property name="minimumSize">
<size>
<width>102</width>
<height>0</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QComboBox" name="fmsSsPos2Yaw">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="fmsSsPos2Roll">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_21">
<property name="text">
<string>Stabilized2</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QComboBox" name="fmsSsPos1Pitch">
<property name="minimumSize">
<size>
<width>102</width>
<height>0</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="3" column="0">
<spacer name="verticalSpacer_5">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>300</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget> </widget>
<widget class="QWidget" name="tab_4"> <widget class="QWidget" name="tab_4">
<attribute name="title"> <attribute name="title">
<string>Arming Settings</string> <string>Arming Settings</string>
</attribute> </attribute>
<layout class="QVBoxLayout" name="verticalLayout_12">
<property name="spacing">
<number>12</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QScrollArea" name="scrollArea_2">
<property name="palette">
<palette>
<active>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents_2">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>663</width>
<height>745</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QGroupBox" name="groupBox_6">
<property name="title">
<string>Arming Settings</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_7">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
@ -793,6 +1025,9 @@ channel value for each flight mode.</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout>
</widget>
</item>
<item> <item>
<spacer name="verticalSpacer"> <spacer name="verticalSpacer">
<property name="orientation"> <property name="orientation">
@ -801,7 +1036,7 @@ channel value for each flight mode.</string>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>20</width> <width>20</width>
<height>40</height> <height>467</height>
</size> </size>
</property> </property>
</spacer> </spacer>
@ -810,8 +1045,21 @@ channel value for each flight mode.</string>
</widget> </widget>
</widget> </widget>
</item> </item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string/>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_5"> <layout class="QHBoxLayout" name="horizontalLayout_5">
<property name="spacing">
<number>4</number>
</property>
<item> <item>
<spacer name="horizontalSpacer_5"> <spacer name="horizontalSpacer_5">
<property name="orientation"> <property name="orientation">
@ -859,10 +1107,19 @@ channel value for each flight mode.</string>
</item> </item>
<item> <item>
<widget class="QPushButton" name="saveRCInputToRAM"> <widget class="QPushButton" name="saveRCInputToRAM">
<property name="minimumSize">
<size>
<width>60</width>
<height>28</height>
</size>
</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>
</property> </property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text"> <property name="text">
<string>Apply</string> <string>Apply</string>
</property> </property>
@ -870,10 +1127,19 @@ Be sure to set the Neutral position on all sliders before sending!</string>
</item> </item>
<item> <item>
<widget class="QPushButton" name="saveRCInputToSD"> <widget class="QPushButton" name="saveRCInputToSD">
<property name="minimumSize">
<size>
<width>60</width>
<height>28</height>
</size>
</property>
<property name="toolTip"> <property name="toolTip">
<string>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!
Applies and Saves all settings to SD</string> Applies and Saves all settings to SD</string>
</property> </property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text"> <property name="text">
<string>Save</string> <string>Save</string>
</property> </property>
@ -883,6 +1149,9 @@ Applies and Saves all settings to SD</string>
</item> </item>
</layout> </layout>
</widget> </widget>
</item>
</layout>
</widget>
<tabstops> <tabstops>
<tabstop>fmsSlider</tabstop> <tabstop>fmsSlider</tabstop>
<tabstop>fmsSsPos1Roll</tabstop> <tabstop>fmsSsPos1Roll</tabstop>
@ -896,8 +1165,6 @@ Applies and Saves all settings to SD</string>
<tabstop>fmsSsPos3Yaw</tabstop> <tabstop>fmsSsPos3Yaw</tabstop>
<tabstop>tabWidget</tabstop> <tabstop>tabWidget</tabstop>
<tabstop>deadband</tabstop> <tabstop>deadband</tabstop>
<tabstop>configurationWizard</tabstop>
<tabstop>runCalibration</tabstop>
<tabstop>graphicsView</tabstop> <tabstop>graphicsView</tabstop>
<tabstop>wzBack</tabstop> <tabstop>wzBack</tabstop>
<tabstop>wzNext</tabstop> <tabstop>wzNext</tabstop>

View File

@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>767</width> <width>767</width>
<height>58</height> <height>59</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -166,7 +166,7 @@ font:bold;</string>
</property> </property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>0</width> <width>45</width>
<height>26</height> <height>26</height>
</size> </size>
</property> </property>

View File

@ -6,41 +6,137 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>659</width> <width>811</width>
<height>523</height> <height>937</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Form</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout_5">
<item> <item>
<widget class="QFrame" name="frame"> <widget class="QTabWidget" name="tabWidget">
<property name="frameShape"> <property name="tabShape">
<enum>QFrame::StyledPanel</enum> <enum>QTabWidget::Rounded</enum>
</property> </property>
<property name="frameShadow"> <property name="currentIndex">
<enum>QFrame::Raised</enum> <number>0</number>
</property>
<property name="elideMode">
<enum>Qt::ElideMiddle</enum>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>Output</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_4">
<property name="spacing">
<number>12</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QScrollArea" name="scrollArea">
<property name="palette">
<palette>
<active>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>781</width>
<height>800</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>78</height>
</size>
</property>
<property name="title">
<string/>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<property name="leftMargin">
<number>1</number>
</property>
<property name="topMargin">
<number>1</number>
</property>
<property name="rightMargin">
<number>1</number>
</property>
<property name="bottomMargin">
<number>3</number>
</property>
<property name="spacing">
<number>2</number>
</property>
<item row="0" column="0"> <item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<spacer name="horizontalSpacer_3"> <spacer name="horizontalSpacer_3">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@ -50,13 +146,13 @@
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>5</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item row="0" column="1">
<widget class="QLabel" name="label_9"> <widget class="QLabel" name="label_9">
<property name="font"> <property name="font">
<font> <font>
@ -72,12 +168,60 @@
</property> </property>
</widget> </widget>
</item> </item>
</layout> <item row="0" column="2">
<widget class="QLabel" name="chBank1">
<property name="text">
<string>-</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="0" column="3">
<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="4">
<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="5">
<widget class="QLabel" name="chBank4">
<property name="text">
<string>-</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item> </item>
<item row="1" column="0"> <item row="1" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<spacer name="horizontalSpacer_4"> <spacer name="horizontalSpacer_4">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
@ -86,14 +230,26 @@
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>5</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item row="1" column="1">
<widget class="QLabel" name="label_3"> <widget class="QLabel" name="label_3">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
@ -108,58 +264,22 @@
</property> </property>
</widget> </widget>
</item> </item>
</layout> <item row="1" column="2">
</item>
<item row="1" column="1">
<widget class="QComboBox" name="cb_outputRate1"> <widget class="QComboBox" name="cb_outputRate1">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="toolTip"> <property name="sizePolicy">
<string>Setup &quot;TurboPWM&quot; here: usual value is 400 Hz for multirotor airframes. <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
Leave at 50Hz for fixed wing.</string> <horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property> </property>
<item> <property name="minimumSize">
<property name="text"> <size>
<string>50</string> <width>0</width>
</property> <height>20</height>
</item> </size>
<item>
<property name="text">
<string>60</string>
</property>
</item>
<item>
<property name="text">
<string>125</string>
</property>
</item>
<item>
<property name="text">
<string>165</string>
</property>
</item>
<item>
<property name="text">
<string>270</string>
</property>
</item>
<item>
<property name="text">
<string>330</string>
</property>
</item>
<item>
<property name="text">
<string>400</string>
</property>
</item>
</widget>
</item>
<item row="1" column="2">
<widget class="QComboBox" name="cb_outputRate2">
<property name="enabled">
<bool>false</bool>
</property> </property>
<property name="toolTip"> <property name="toolTip">
<string>Setup &quot;TurboPWM&quot; here: usual value is 400 Hz for multirotor airframes. <string>Setup &quot;TurboPWM&quot; here: usual value is 400 Hz for multirotor airframes.
@ -203,10 +323,22 @@ Leave at 50Hz for fixed wing.</string>
</widget> </widget>
</item> </item>
<item row="1" column="3"> <item row="1" column="3">
<widget class="QComboBox" name="cb_outputRate3"> <widget class="QComboBox" name="cb_outputRate2">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="toolTip"> <property name="toolTip">
<string>Setup &quot;TurboPWM&quot; here: usual value is 400 Hz for multirotor airframes. <string>Setup &quot;TurboPWM&quot; here: usual value is 400 Hz for multirotor airframes.
Leave at 50Hz for fixed wing.</string> Leave at 50Hz for fixed wing.</string>
@ -249,10 +381,22 @@ Leave at 50Hz for fixed wing.</string>
</widget> </widget>
</item> </item>
<item row="1" column="4"> <item row="1" column="4">
<widget class="QComboBox" name="cb_outputRate4"> <widget class="QComboBox" name="cb_outputRate3">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</property>
<property name="toolTip"> <property name="toolTip">
<string>Setup &quot;TurboPWM&quot; here: usual value is 400 Hz for multirotor airframes. <string>Setup &quot;TurboPWM&quot; here: usual value is 400 Hz for multirotor airframes.
Leave at 50Hz for fixed wing.</string> Leave at 50Hz for fixed wing.</string>
@ -294,40 +438,375 @@ Leave at 50Hz for fixed wing.</string>
</item> </item>
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item row="1" column="5">
<widget class="QLabel" name="chBank1"> <widget class="QComboBox" name="cb_outputRate4">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>20</height>
</size>
</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>
<item>
<property name="text"> <property name="text">
<string>-</string> <string>50</string>
</property>
</item>
<item>
<property name="text">
<string>60</string>
</property>
</item>
<item>
<property name="text">
<string>125</string>
</property>
</item>
<item>
<property name="text">
<string>165</string>
</property>
</item>
<item>
<property name="text">
<string>270</string>
</property>
</item>
<item>
<property name="text">
<string>330</string>
</property>
</item>
<item>
<property name="text">
<string>400</string>
</property>
</item>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string/>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>14</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="legend6">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>22</width>
<height>0</height>
</size>
</property>
<property name="font">
<font>
<weight>75</weight>
<italic>false</italic>
<bold>true</bold>
</font>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font:bold;
margin:1px;</string>
</property>
<property name="text">
<string>#</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="margin">
<number>0</number>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_7">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>1</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="legend0">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>104</width>
<height>0</height>
</size>
</property>
<property name="font">
<font>
<weight>75</weight>
<italic>false</italic>
<bold>true</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font:bold;
margin:1px;</string>
</property>
<property name="text">
<string>Assignment</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="2"> <item>
<widget class="QLabel" name="chBank2"> <widget class="QLabel" name="legend1">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>61</width>
<height>0</height>
</size>
</property>
<property name="font">
<font>
<weight>75</weight>
<italic>false</italic>
<bold>true</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font:bold;
margin:1px;</string>
</property>
<property name="text"> <property name="text">
<string>-</string> <string>Min</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="3"> <item>
<widget class="QLabel" name="chBank3"> <widget class="QLabel" name="legend2">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>45</width>
<height>0</height>
</size>
</property>
<property name="font">
<font>
<weight>75</weight>
<italic>false</italic>
<bold>true</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font:bold;
margin:1px;</string>
</property>
<property name="text"> <property name="text">
<string>-</string> <string>Neutral</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="4"> <item>
<widget class="QLabel" name="chBank4"> <spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="legend3">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>50</width>
<height>0</height>
</size>
</property>
<property name="font">
<font>
<weight>75</weight>
<italic>false</italic>
<bold>true</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font:bold;
margin:1px;</string>
</property>
<property name="text"> <property name="text">
<string>-</string> <string>Max</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="legend4">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
<property name="font">
<font>
<weight>75</weight>
<italic>false</italic>
<bold>true</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font:bold;
margin:1px;</string>
</property>
<property name="text">
<string>Rev.</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="legend5">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
<property name="font">
<font>
<weight>75</weight>
<italic>false</italic>
<bold>true</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font:bold;
margin:1px;</string>
</property>
<property name="text">
<string>Link</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
@ -335,28 +814,27 @@ Leave at 50Hz for fixed wing.</string>
</widget> </widget>
</item> </item>
</layout> </layout>
</widget>
</item> </item>
<item> <item>
<layout class="QVBoxLayout" name="channelLayout"/> <layout class="QVBoxLayout" name="channelLayout">
</item> <property name="spacing">
<item> <number>-1</number>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeConstraint">
<size> <enum>QLayout::SetDefaultConstraint</enum>
<width>20</width>
<height>40</height>
</size>
</property> </property>
</spacer> </layout>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<item> <item>
<widget class="QCheckBox" name="spinningArmed"> <widget class="QCheckBox" name="spinningArmed">
<property name="minimumSize">
<size>
<width>519</width>
<height>0</height>
</size>
</property>
<property name="text"> <property name="text">
<string>Motors spin at neutral output when armed and throttle below zero (be careful)</string> <string>Motors spin at neutral output when armed and throttle below zero (be careful)</string>
</property> </property>
@ -385,18 +863,37 @@ Leave at 50Hz for fixed wing.</string>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>20</width> <width>20</width>
<height>40</height> <height>542</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
</layout>
</widget>
</item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout"> <widget class="QGroupBox" name="groupBox_4">
<property name="minimumSize">
<size>
<width>0</width>
<height>60</height>
</size>
</property>
<property name="title">
<string/>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item> <item>
<widget class="QCheckBox" name="channelOutTest"> <widget class="QCheckBox" name="channelOutTest">
<property name="enabled"> <property name="enabled">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="minimumSize">
<size>
<width>105</width>
<height>0</height>
</size>
</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:
- Take extra care if the output is connected to an motor controller! - Take extra care if the output is connected to an motor controller!
@ -407,6 +904,40 @@ Leave at 50Hz for fixed wing.</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>75</height>
</size>
</property>
<property name="title">
<string/>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>4</number>
</property>
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
@ -428,6 +959,12 @@ Leave at 50Hz for fixed wing.</string>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>32</width> <width>32</width>
@ -454,10 +991,19 @@ Leave at 50Hz for fixed wing.</string>
</item> </item>
<item> <item>
<widget class="QPushButton" name="saveRCOutputToRAM"> <widget class="QPushButton" name="saveRCOutputToRAM">
<property name="minimumSize">
<size>
<width>60</width>
<height>28</height>
</size>
</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>
</property> </property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text"> <property name="text">
<string>Apply</string> <string>Apply</string>
</property> </property>
@ -465,10 +1011,19 @@ Be sure to set the Neutral position on all sliders before sending!</string>
</item> </item>
<item> <item>
<widget class="QPushButton" name="saveRCOutputToSD"> <widget class="QPushButton" name="saveRCOutputToSD">
<property name="minimumSize">
<size>
<width>60</width>
<height>28</height>
</size>
</property>
<property name="toolTip"> <property name="toolTip">
<string>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!
Applies and Saves all settings to SD</string> Applies and Saves all settings to SD</string>
</property> </property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text"> <property name="text">
<string>Save</string> <string>Save</string>
</property> </property>
@ -478,8 +1033,10 @@ Applies and Saves all settings to SD</string>
</item> </item>
</layout> </layout>
</widget> </widget>
</item>
</layout>
</widget>
<tabstops> <tabstops>
<tabstop>channelOutTest</tabstop>
<tabstop>saveRCOutputToRAM</tabstop> <tabstop>saveRCOutputToRAM</tabstop>
<tabstop>saveRCOutputToSD</tabstop> <tabstop>saveRCOutputToSD</tabstop>
</tabstops> </tabstops>

View File

@ -35,23 +35,6 @@ OutputChannelForm::OutputChannelForm(const int index, QWidget *parent, const boo
m_inChannelTest(false) m_inChannelTest(false)
{ {
ui.setupUi(this); ui.setupUi(this);
if(!showLegend)
{
// Remove legend
QGridLayout *grid_layout = dynamic_cast<QGridLayout*>(layout());
Q_ASSERT(grid_layout);
for (int col = 0; col < grid_layout->columnCount(); col++)
{ // remove every item in first row
QLayoutItem *item = grid_layout->itemAtPosition(0, col);
if (!item) continue;
// get widget from layout item
QWidget *legend_widget = item->widget();
if (!legend_widget) continue;
// delete widget
grid_layout->removeWidget(legend_widget);
delete legend_widget;
}
}
// The convention for OP is Channel 1 to Channel 10. // The convention for OP is Channel 1 to Channel 10.
ui.actuatorNumber->setText(QString("%1:").arg(m_index+1)); ui.actuatorNumber->setText(QString("%1:").arg(m_index+1));

View File

@ -6,7 +6,7 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>813</width> <width>645</width>
<height>58</height> <height>58</height>
</rect> </rect>
</property> </property>
@ -20,53 +20,61 @@
<property name="bottomMargin"> <property name="bottomMargin">
<number>1</number> <number>1</number>
</property> </property>
<item row="1" column="5"> <item row="0" column="6">
<widget class="QLabel" name="actuatorValue"> <spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>5</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="4">
<widget class="QSlider" name="actuatorNeutral">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred"> <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="0" column="8">
<widget class="QSpinBox" name="actuatorMax">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip"> <property name="toolTip">
<string>Current value of slider.</string> <string>Maximum PWM value, beware of not overdriving your servo.</string>
</property> </property>
<property name="text"> <property name="maximum">
<string>0000</string> <number>9999</number>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="10"> <item row="0" column="1">
<widget class="QLabel" name="legend5">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<italic>false</italic>
<bold>true</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font:bold;
margin:1px;</string>
</property>
<property name="text">
<string>Link</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="actuatorName"> <widget class="QLabel" name="actuatorName">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred"> <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
@ -89,42 +97,6 @@ margin:1px;</string>
</widget> </widget>
</item> </item>
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="legend6">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<italic>false</italic>
<bold>true</bold>
</font>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font:bold;
margin:1px;</string>
</property>
<property name="text">
<string>#</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="margin">
<number>0</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="actuatorNumber"> <widget class="QLabel" name="actuatorNumber">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred"> <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
@ -152,7 +124,7 @@ margin:1px;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="2"> <item row="0" column="2">
<widget class="QSpinBox" name="actuatorMin"> <widget class="QSpinBox" name="actuatorMin">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::StrongFocus</enum> <enum>Qt::StrongFocus</enum>
@ -165,7 +137,7 @@ margin:1px;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="9"> <item row="0" column="9">
<widget class="QCheckBox" name="actuatorRev"> <widget class="QCheckBox" name="actuatorRev">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@ -187,67 +159,7 @@ margin:1px;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="4"> <item row="0" column="3">
<widget class="QLabel" name="legend2">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<italic>false</italic>
<bold>true</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font:bold;
margin:1px;</string>
</property>
<property name="text">
<string>Neutral (slowest for motor)</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="legend0">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<italic>false</italic>
<bold>true</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font:bold;
margin:1px;</string>
</property>
<property name="text">
<string>Assignment</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="1" column="3">
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@ -263,67 +175,7 @@ margin:1px;</string>
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="0" column="2"> <item row="0" column="10">
<widget class="QLabel" name="legend1">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<italic>false</italic>
<bold>true</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font:bold;
margin:1px;</string>
</property>
<property name="text">
<string>Min</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="0" column="8">
<widget class="QLabel" name="legend3">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font">
<font>
<weight>75</weight>
<italic>false</italic>
<bold>true</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font:bold;
margin:1px;</string>
</property>
<property name="text">
<string>Max</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="1" column="10">
<widget class="QCheckBox" name="actuatorLink"> <widget class="QCheckBox" name="actuatorLink">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@ -345,87 +197,19 @@ margin:1px;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="6"> <item row="0" column="5">
<spacer name="horizontalSpacer_2"> <widget class="QLabel" name="actuatorValue">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>5</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="9">
<widget class="QLabel" name="legend4">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred"> <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="font"> <property name="toolTip">
<font> <string>Current value of slider.</string>
<weight>75</weight>
<italic>false</italic>
<bold>true</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(74, 74, 74, 255), stop:0.78607 rgba(36, 36, 36, 255));
color: rgb(255, 255, 255);
border-radius: 5;
font:bold;
margin:1px;</string>
</property> </property>
<property name="text"> <property name="text">
<string>Rev.</string> <string>0000</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="1" column="4">
<widget class="QSlider" name="actuatorNeutral">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="1" column="8">
<widget class="QSpinBox" name="actuatorMax">
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Maximum PWM value, beware of not overdriving your servo.</string>
</property>
<property name="maximum">
<number>9999</number>
</property> </property>
</widget> </widget>
</item> </item>

View File

@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>840</width> <width>840</width>
<height>834</height> <height>862</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -63,6 +63,9 @@
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="submitButtons"> <layout class="QHBoxLayout" name="submitButtons">
<property name="spacing">
<number>4</number>
</property>
<item> <item>
<widget class="QFrame" name="frame"> <widget class="QFrame" name="frame">
<property name="frameShape"> <property name="frameShape">

View File

@ -29,9 +29,9 @@
<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; <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; &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; } p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt; &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Lucida Grande'; font-size:13pt; 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'; font-size:10pt;&quot;&gt;Set the serial speed of your onboard telemetry modem here. It is the speed between the OpenPilot board and the onboard modem, and could be different from the radio link speed.&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'; font-size:10pt;&quot;&gt;Set the serial speed of your onboard telemetry modem here. It is the speed between the OpenPilot board and the onboard modem, and could be different from the radio link speed.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:10pt;&quot;&gt;&lt;/p&gt; &lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:10pt;&quot;&gt;&lt;br /&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'; font-size:10pt;&quot;&gt;Beware of not locking yourself out! You should only modify this setting when the OpenPilot board is connected through the USB port.&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'; font-size:10pt;&quot;&gt;Beware of not locking yourself out! You should only modify this setting when the OpenPilot board is connected through the USB port.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
</widget> </widget>
@ -76,6 +76,9 @@ p, li { white-space: pre-wrap; }
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>4</number>
</property>
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">

View File

@ -6,10 +6,22 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>738</width> <width>786</width>
<height>748</height> <height>950</height>
</rect> </rect>
</property> </property>
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>350</width>
<height>0</height>
</size>
</property>
<property name="palette"> <property name="palette">
<palette> <palette>
<active> <active>
@ -440,9 +452,13 @@
<property name="documentMode" stdset="0"> <property name="documentMode" stdset="0">
<bool>false</bool> <bool>false</bool>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
<property name="spacing">
<number>12</number>
</property>
<property name="margin">
<number>12</number>
</property>
<item> <item>
<widget class="QTabWidget" name="tabWidget"> <widget class="QTabWidget" name="tabWidget">
<property name="sizePolicy"> <property name="sizePolicy">
@ -461,27 +477,115 @@
<enum>Qt::TabFocus</enum> <enum>Qt::TabFocus</enum>
</property> </property>
<property name="acceptDrops"> <property name="acceptDrops">
<bool>true</bool> <bool>false</bool>
</property> </property>
<property name="autoFillBackground"> <property name="autoFillBackground">
<bool>true</bool> <bool>false</bool>
</property> </property>
<property name="tabPosition"> <property name="tabPosition">
<enum>QTabWidget::North</enum> <enum>QTabWidget::North</enum>
</property> </property>
<property name="tabShape">
<enum>QTabWidget::Rounded</enum>
</property>
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>0</number>
</property> </property>
<property name="documentMode"> <property name="documentMode">
<bool>true</bool> <bool>false</bool>
</property>
<property name="tabsClosable">
<bool>false</bool>
</property> </property>
<widget class="QWidget" name="Basic"> <widget class="QWidget" name="Basic">
<attribute name="title"> <attribute name="title">
<string>Basic</string> <string>Basic</string>
</attribute> </attribute>
<layout class="QGridLayout" name="gridLayout_31"> <layout class="QVBoxLayout" name="verticalLayout">
<item row="0" column="0"> <property name="spacing">
<number>12</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QScrollArea" name="scrollArea"> <widget class="QScrollArea" name="scrollArea">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>50</width>
<height>0</height>
</size>
</property>
<property name="palette">
<palette>
<active>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>240</red>
<green>240</green>
<blue>240</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>240</red>
<green>240</green>
<blue>240</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>240</red>
<green>240</green>
<blue>240</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>240</red>
<green>240</green>
<blue>240</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::NoFrame</enum> <enum>QFrame::NoFrame</enum>
</property> </property>
@ -496,12 +600,17 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>673</width> <width>756</width>
<height>790</height> <height>817</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout_23"> <layout class="QVBoxLayout" name="verticalLayout_8">
<item row="0" column="0"> <property name="spacing">
<number>-1</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<spacer name="horizontalSpacer_15"> <spacer name="horizontalSpacer_15">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@ -517,7 +626,7 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="0" column="1"> <item>
<widget class="QLabel" name="label_137"> <widget class="QLabel" name="label_137">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
@ -530,7 +639,9 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0" colspan="3"> </layout>
</item>
<item>
<widget class="QGroupBox" name="RateStabilizationGroup_15"> <widget class="QGroupBox" name="RateStabilizationGroup_15">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -556,24 +667,16 @@
<property name="alignment"> <property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property> </property>
<layout class="QGridLayout" name="gridLayout_24"> <layout class="QGridLayout" name="gridLayout_16">
<property name="horizontalSpacing">
<number>-1</number>
</property>
<item row="0" column="0"> <item row="0" column="0">
<spacer name="horizontalSpacer_17"> <layout class="QHBoxLayout" name="horizontalLayout" stretch="0,0,0,0">
<property name="orientation"> <property name="spacing">
<enum>Qt::Horizontal</enum> <number>4</number>
</property> </property>
<property name="sizeType"> <item>
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>10</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="1">
<widget class="QCheckBox" name="checkBox_7"> <widget class="QCheckBox" name="checkBox_7">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -592,62 +695,23 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="3"> <item>
<widget class="QPushButton" name="pushButton_20"> <spacer name="horizontalSpacer_3">
<property name="sizePolicy"> <property name="orientation">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <enum>Qt::Horizontal</enum>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property> </property>
<property name="minimumSize"> <property name="sizeType">
<enum>QSizePolicy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size> <size>
<width>81</width> <width>40</width>
<height>28</height> <height>20</height>
</size> </size>
</property> </property>
<property name="maximumSize"> </spacer>
<size>
<width>81</width>
<height>28</height>
</size>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
border: 1px outset #999;
border-radius: 5;
background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0.28 rgba(236, 236, 236, 255), stop:1 rgba(252, 252, 252, 255));
}
QPushButton:pressed {
border-style: inset;
background-color: qlineargradient(spread:pad, x1:0.502, y1:0.664864, x2:0.502, y2:0.034, stop:0.358209 rgba(250, 250, 250, 255), stop:0.626866 rgba(235, 235, 235, 255));
}
QPushButton:hover {
border: 1px outset #999;
border-color: rgb(83, 83, 83);
border-radius: 4;
}</string>
</property>
<property name="text">
<string>Default</string>
</property>
<property name="objrelation" stdset="0">
<stringlist>
<string>button:default</string>
<string>buttongroup:1</string>
</stringlist>
</property>
</widget>
</item> </item>
<item row="0" column="2"> <item>
<widget class="QPushButton" name="pushButton_19"> <widget class="QPushButton" name="pushButton_19">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@ -658,38 +722,23 @@ border-radius: 4;
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>51</width> <width>51</width>
<height>28</height> <height>25</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>51</width> <width>16777215</width>
<height>28</height> <height>16777215</height>
</size> </size>
</property> </property>
<property name="toolTip">
<string>Takes you to the online wiki page for Rate settings</string>
</property>
<property name="autoFillBackground"> <property name="autoFillBackground">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">QPushButton { <string notr="true"/>
border: 1px outset #999;
border-radius: 5;
background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0.28 rgba(236, 236, 236, 255), stop:1 rgba(252, 252, 252, 255));
}
QPushButton:pressed {
border-style: inset;
background-color: qlineargradient(spread:pad, x1:0.502, y1:0.664864, x2:0.502, y2:0.034, stop:0.358209 rgba(250, 250, 250, 255), stop:0.626866 rgba(235, 235, 235, 255));
}
QPushButton:hover {
border: 1px outset #999;
border-color: rgb(83, 83, 83);
border-radius: 4;
}</string>
</property> </property>
<property name="text"> <property name="text">
<string>Wiki</string> <string>Wiki</string>
@ -702,7 +751,49 @@ border-radius: 4;
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0" colspan="4"> <item>
<widget class="QPushButton" name="pushButton_20">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>81</width>
<height>25</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>Reset all values to GCS defaults</string>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>Default</string>
</property>
<property name="objrelation" stdset="0">
<stringlist>
<string>button:default</string>
<string>buttongroup:1</string>
</stringlist>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QGroupBox" name="RateStabilizationGroup_16"> <widget class="QGroupBox" name="RateStabilizationGroup_16">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -1131,6 +1222,14 @@ border-radius: 4;
</disabled> </disabled>
</palette> </palette>
</property> </property>
<property name="font">
<font>
<weight>50</weight>
<italic>false</italic>
<bold>false</bold>
<kerning>true</kerning>
</font>
</property>
<property name="autoFillBackground"> <property name="autoFillBackground">
<bool>false</bool> <bool>false</bool>
</property> </property>
@ -1144,10 +1243,23 @@ border-radius: 4;
<bool>true</bool> <bool>true</bool>
</property> </property>
<layout class="QGridLayout" name="gridLayout_11"> <layout class="QGridLayout" name="gridLayout_11">
<item row="0" column="0">
<spacer name="horizontalSpacer_44">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="1"> <item row="0" column="1">
<widget class="QLabel" name="label_138"> <widget class="QLabel" name="label_138">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
@ -1694,10 +1806,23 @@ border-radius: 5;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="4"> <item row="0" column="2">
<spacer name="horizontalSpacer_16">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="3">
<widget class="QLabel" name="label_139"> <widget class="QLabel" name="label_139">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
@ -2244,10 +2369,23 @@ border-radius: 5;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="7"> <item row="0" column="4">
<spacer name="horizontalSpacer_20">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="5">
<widget class="QLabel" name="label_140"> <widget class="QLabel" name="label_140">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
@ -2794,17 +2932,30 @@ border-radius: 5;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="6">
<spacer name="horizontalSpacer_45">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QLabel" name="label_141"> <widget class="QLabel" name="label_141">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>69</width> <width>78</width>
<height>16</height> <height>16</height>
</size> </size>
</property> </property>
@ -2877,13 +3028,13 @@ Then lower the value by 5 or so.</string>
<widget class="QSpinBox" name="spinBox_7"> <widget class="QSpinBox" name="spinBox_7">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -2913,22 +3064,6 @@ Then lower the value by 5 or so.</string>
</widget> </widget>
</item> </item>
<item row="1" column="3"> <item row="1" column="3">
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>3</width>
<height>22</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="4">
<widget class="QSlider" name="PitchPSlider"> <widget class="QSlider" name="PitchPSlider">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -2979,17 +3114,17 @@ Then lower the value by 5 or so.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="5"> <item row="1" column="4">
<widget class="QSpinBox" name="spinBox_PitchRateP"> <widget class="QSpinBox" name="spinBox_PitchRateP">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -3018,23 +3153,7 @@ Then lower the value by 5 or so.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="6"> <item row="1" column="5">
<spacer name="horizontalSpacer_34">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>3</width>
<height>22</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="7">
<widget class="QSlider" name="horizontalSlider_78"> <widget class="QSlider" name="horizontalSlider_78">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -3085,17 +3204,17 @@ Then lower the value by 5 or so.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="8"> <item row="1" column="6">
<widget class="QSpinBox" name="spinBox_12"> <widget class="QSpinBox" name="spinBox_12">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -3198,13 +3317,13 @@ value as the Kp.</string>
<widget class="QSpinBox" name="spinBox_8"> <widget class="QSpinBox" name="spinBox_8">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -3233,7 +3352,7 @@ value as the Kp.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="4"> <item row="2" column="3">
<widget class="QSlider" name="horizontalSlider_80"> <widget class="QSlider" name="horizontalSlider_80">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -3284,17 +3403,17 @@ value as the Kp.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="5"> <item row="2" column="4">
<widget class="QSpinBox" name="spinBox_9"> <widget class="QSpinBox" name="spinBox_9">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -3323,7 +3442,7 @@ value as the Kp.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="7"> <item row="2" column="5">
<widget class="QSlider" name="horizontalSlider_81"> <widget class="QSlider" name="horizontalSlider_81">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -3374,17 +3493,17 @@ value as the Kp.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="8"> <item row="2" column="6">
<widget class="QSpinBox" name="spinBox_10"> <widget class="QSpinBox" name="spinBox_10">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -3419,7 +3538,9 @@ value as the Kp.</string>
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="2" column="0"> <item>
<layout class="QHBoxLayout" name="horizontalLayout_9">
<item>
<spacer name="horizontalSpacer_18"> <spacer name="horizontalSpacer_18">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@ -3435,7 +3556,7 @@ value as the Kp.</string>
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="2" column="1"> <item>
<widget class="QLabel" name="label_149"> <widget class="QLabel" name="label_149">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
@ -3448,7 +3569,9 @@ value as the Kp.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0" colspan="3"> </layout>
</item>
<item>
<widget class="QGroupBox" name="RateStabilizationGroup_17"> <widget class="QGroupBox" name="RateStabilizationGroup_17">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -3991,24 +4114,13 @@ value as the Kp.</string>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property> </property>
<layout class="QGridLayout" name="gridLayout_26"> <layout class="QVBoxLayout" name="verticalLayout_3">
<item row="0" column="0"> <item>
<spacer name="horizontalSpacer_19"> <layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,0,0,0">
<property name="orientation"> <property name="spacing">
<enum>Qt::Horizontal</enum> <number>4</number>
</property> </property>
<property name="sizeType"> <item>
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>10</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="1">
<widget class="QCheckBox" name="checkBox_8"> <widget class="QCheckBox" name="checkBox_8">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -4027,34 +4139,72 @@ value as the Kp.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="4"> <item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="pushButton_21">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>51</width>
<height>25</height>
</size>
</property>
<property name="toolTip">
<string>Takes you to the online wiki page for Attitude settings</string>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>Wiki</string>
</property>
<property name="objrelation" stdset="0">
<stringlist>
<string>button:help</string>
<string>url:http://wiki.openpilot.org/display/Doc/Stabilization+panel</string>
</stringlist>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_22"> <widget class="QPushButton" name="pushButton_22">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>81</width> <width>81</width>
<height>28</height> <height>25</height>
</size> </size>
</property> </property>
<property name="toolTip">
<string>Reset all values to GCS defaults</string>
</property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">QPushButton { <string notr="true"/>
border: 1px outset #999;
border-radius: 5;
background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0.28 rgba(236, 236, 236, 255), stop:1 rgba(252, 252, 252, 255));
}
QPushButton:pressed {
border-style: inset;
background-color: qlineargradient(spread:pad, x1:0.502, y1:0.664864, x2:0.502, y2:0.034, stop:0.358209 rgba(250, 250, 250, 255), stop:0.626866 rgba(235, 235, 235, 255));
}
QPushButton:hover {
border: 1px outset #999;
border-color: rgb(83, 83, 83);
border-radius: 4;
}</string>
</property> </property>
<property name="text"> <property name="text">
<string>Default</string> <string>Default</string>
@ -4067,7 +4217,9 @@ border-radius: 4;
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0" colspan="5"> </layout>
</item>
<item>
<widget class="QGroupBox" name="RateStabilizationGroup_18"> <widget class="QGroupBox" name="RateStabilizationGroup_18">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -4512,7 +4664,7 @@ border-radius: 4;
<item row="0" column="1"> <item row="0" column="1">
<widget class="QLabel" name="label_150"> <widget class="QLabel" name="label_150">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
@ -5059,10 +5211,10 @@ border-radius: 5;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="4"> <item row="0" column="3">
<widget class="QLabel" name="label_151"> <widget class="QLabel" name="label_151">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
@ -5609,10 +5761,10 @@ border-radius: 5;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="7"> <item row="0" column="5">
<widget class="QLabel" name="label_152"> <widget class="QLabel" name="label_152">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
@ -6162,14 +6314,14 @@ border-radius: 5;</string>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QLabel" name="label_153"> <widget class="QLabel" name="label_153">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>69</width> <width>78</width>
<height>16</height> <height>16</height>
</size> </size>
</property> </property>
@ -6235,13 +6387,13 @@ border-radius: 5;</string>
<widget class="QSpinBox" name="spinBox_13"> <widget class="QSpinBox" name="spinBox_13">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -6267,22 +6419,6 @@ border-radius: 5;</string>
</widget> </widget>
</item> </item>
<item row="1" column="3"> <item row="1" column="3">
<spacer name="horizontalSpacer_35">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>3</width>
<height>22</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="4">
<widget class="QSlider" name="horizontalSlider_83"> <widget class="QSlider" name="horizontalSlider_83">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -6329,17 +6465,17 @@ border-radius: 5;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="5"> <item row="1" column="4">
<widget class="QSpinBox" name="spinBox_14"> <widget class="QSpinBox" name="spinBox_14">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -6364,23 +6500,7 @@ border-radius: 5;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="6"> <item row="1" column="5">
<spacer name="horizontalSpacer_36">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>3</width>
<height>22</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="7">
<widget class="QSlider" name="horizontalSlider_84"> <widget class="QSlider" name="horizontalSlider_84">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -6427,17 +6547,17 @@ border-radius: 5;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="8"> <item row="1" column="6">
<widget class="QSpinBox" name="spinBox_15"> <widget class="QSpinBox" name="spinBox_15">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -6462,22 +6582,6 @@ border-radius: 5;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="9">
<spacer name="horizontalSpacer_37">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>3</width>
<height>22</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="0"> <item row="2" column="0">
<widget class="QLabel" name="label_157"> <widget class="QLabel" name="label_157">
<property name="sizePolicy"> <property name="sizePolicy">
@ -6548,13 +6652,13 @@ border-radius: 5;</string>
<widget class="QSpinBox" name="spinBox_18"> <widget class="QSpinBox" name="spinBox_18">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -6579,7 +6683,7 @@ border-radius: 5;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="4"> <item row="2" column="3">
<widget class="QSlider" name="horizontalSlider_86"> <widget class="QSlider" name="horizontalSlider_86">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -6626,17 +6730,17 @@ border-radius: 5;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="5"> <item row="2" column="4">
<widget class="QSpinBox" name="spinBox_19"> <widget class="QSpinBox" name="spinBox_19">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -6661,7 +6765,7 @@ border-radius: 5;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="7"> <item row="2" column="5">
<widget class="QSlider" name="horizontalSlider_87"> <widget class="QSlider" name="horizontalSlider_87">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -6708,17 +6812,17 @@ border-radius: 5;</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="8"> <item row="2" column="6">
<widget class="QSpinBox" name="spinBox_20"> <widget class="QSpinBox" name="spinBox_20">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -6743,51 +6847,47 @@ border-radius: 5;</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> <item row="0" column="2">
</widget> <spacer name="horizontalSpacer_2">
</item> <property name="orientation">
<item row="0" column="3"> <enum>Qt::Horizontal</enum>
<widget class="QPushButton" name="pushButton_21"> </property>
<property name="minimumSize"> <property name="sizeHint" stdset="0">
<size> <size>
<width>51</width> <width>40</width>
<height>28</height> <height>20</height>
</size> </size>
</property> </property>
<property name="styleSheet"> </spacer>
<string notr="true">QPushButton {
border: 1px outset #999;
border-radius: 5;
background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0.28 rgba(236, 236, 236, 255), stop:1 rgba(252, 252, 252, 255));
}
QPushButton:pressed {
border-style: inset;
background-color: qlineargradient(spread:pad, x1:0.502, y1:0.664864, x2:0.502, y2:0.034, stop:0.358209 rgba(250, 250, 250, 255), stop:0.626866 rgba(235, 235, 235, 255));
}
QPushButton:hover {
border: 1px outset #999;
border-color: rgb(83, 83, 83);
border-radius: 4;
}</string>
</property>
<property name="text">
<string>Wiki</string>
</property>
<property name="objrelation" stdset="0">
<stringlist>
<string>button:help</string>
<string>url:http://wiki.openpilot.org/display/Doc/Stabilization+panel</string>
</stringlist>
</property>
</widget>
</item> </item>
<item row="0" column="2"> <item row="0" column="4">
<spacer name="horizontalSpacer_4"> <spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="0">
<spacer name="horizontalSpacer_46">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="6">
<spacer name="horizontalSpacer_47">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
@ -6802,7 +6902,12 @@ border-radius: 4;
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="4" column="0"> </layout>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_10">
<item>
<spacer name="horizontalSpacer_21"> <spacer name="horizontalSpacer_21">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@ -6818,7 +6923,7 @@ border-radius: 4;
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="4" column="1"> <item>
<widget class="QLabel" name="label_161"> <widget class="QLabel" name="label_161">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
@ -6831,7 +6936,9 @@ border-radius: 4;
</property> </property>
</widget> </widget>
</item> </item>
<item row="5" column="0" colspan="3"> </layout>
</item>
<item>
<widget class="QGroupBox" name="RateStabilizationGroup_19"> <widget class="QGroupBox" name="RateStabilizationGroup_19">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -7371,51 +7478,47 @@ border-radius: 4;
<property name="alignment"> <property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property> </property>
<layout class="QGridLayout" name="gridLayout_28"> <layout class="QVBoxLayout" name="verticalLayout_4">
<item row="0" column="0"> <item>
<layout class="QHBoxLayout" name="horizontalLayout_3" stretch="0,0,0">
<property name="spacing">
<number>4</number>
</property>
<item>
<spacer name="horizontalSpacer_22"> <spacer name="horizontalSpacer_22">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeType"> <property name="sizeType">
<enum>QSizePolicy::Preferred</enum> <enum>QSizePolicy::MinimumExpanding</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>1000</width> <width>40</width>
<height>10</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="0" column="1"> <item>
<widget class="QPushButton" name="pushButton_23"> <widget class="QPushButton" name="pushButton_23">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>51</width> <width>51</width>
<height>28</height> <height>25</height>
</size> </size>
</property> </property>
<property name="toolTip">
<string>Takes you to the online wiki page for Stick settings</string>
</property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">QPushButton { <string notr="true"/>
border: 1px outset #999;
border-radius: 5;
background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0.28 rgba(236, 236, 236, 255), stop:1 rgba(252, 252, 252, 255));
}
QPushButton:pressed {
border-style: inset;
background-color: qlineargradient(spread:pad, x1:0.502, y1:0.664864, x2:0.502, y2:0.034, stop:0.358209 rgba(250, 250, 250, 255), stop:0.626866 rgba(235, 235, 235, 255));
}
QPushButton:hover {
border: 1px outset #999;
border-color: rgb(83, 83, 83);
border-radius: 4;
}</string>
</property> </property>
<property name="text"> <property name="text">
<string>Wiki</string> <string>Wiki</string>
@ -7428,7 +7531,7 @@ border-radius: 4;
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="2"> <item>
<widget class="QPushButton" name="pushButton_24"> <widget class="QPushButton" name="pushButton_24">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@ -7439,29 +7542,14 @@ border-radius: 4;
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>81</width> <width>81</width>
<height>28</height> <height>25</height>
</size> </size>
</property> </property>
<property name="toolTip">
<string>Reset all values to GCS defaults</string>
</property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">QPushButton { <string notr="true"/>
border: 1px outset #999;
border-radius: 5;
background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0.28 rgba(236, 236, 236, 255), stop:1 rgba(252, 252, 252, 255));
}
QPushButton:pressed {
border-style: inset;
background-color: qlineargradient(spread:pad, x1:0.502, y1:0.664864, x2:0.502, y2:0.034, stop:0.358209 rgba(250, 250, 250, 255), stop:0.626866 rgba(235, 235, 235, 255));
}
QPushButton:hover {
border: 1px outset #999;
border-color: rgb(83, 83, 83);
border-radius: 4;
}</string>
</property> </property>
<property name="text"> <property name="text">
<string>Default</string> <string>Default</string>
@ -7474,7 +7562,9 @@ border-radius: 4;
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0" colspan="3"> </layout>
</item>
<item>
<widget class="QGroupBox" name="RateStabilizationGroup_20"> <widget class="QGroupBox" name="RateStabilizationGroup_20">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -7491,7 +7581,7 @@ border-radius: 4;
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>16777215</width> <width>16777215</width>
<height>161</height> <height>180</height>
</size> </size>
</property> </property>
<property name="palette"> <property name="palette">
@ -7925,7 +8015,7 @@ border-radius: 4;
<item row="0" column="1"> <item row="0" column="1">
<widget class="QLabel" name="label_162"> <widget class="QLabel" name="label_162">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
@ -8475,7 +8565,7 @@ border-radius: 5;</string>
<item row="0" column="4"> <item row="0" column="4">
<widget class="QLabel" name="label_163"> <widget class="QLabel" name="label_163">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
@ -9025,7 +9115,7 @@ border-radius: 5;</string>
<item row="0" column="7"> <item row="0" column="7">
<widget class="QLabel" name="label_164"> <widget class="QLabel" name="label_164">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
@ -9575,7 +9665,7 @@ border-radius: 5;</string>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QLabel" name="label_165"> <widget class="QLabel" name="label_165">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
@ -9583,7 +9673,7 @@ border-radius: 5;</string>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>69</width> <width>69</width>
<height>16</height> <height>29</height>
</size> </size>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
@ -9648,13 +9738,13 @@ Angle (deg)</string>
<widget class="QSpinBox" name="spinBox_16"> <widget class="QSpinBox" name="spinBox_16">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -9744,13 +9834,13 @@ Angle (deg)</string>
<widget class="QSpinBox" name="spinBox_17"> <widget class="QSpinBox" name="spinBox_17">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -9840,13 +9930,13 @@ Angle (deg)</string>
<widget class="QSpinBox" name="spinBox_21"> <widget class="QSpinBox" name="spinBox_21">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -9878,6 +9968,12 @@ Angle (deg)</string>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="minimumSize">
<size>
<width>69</width>
<height>29</height>
</size>
</property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true"/> <string notr="true"/>
</property> </property>
@ -9941,13 +10037,13 @@ Rate (deg/s)</string>
<widget class="QSpinBox" name="spinBox_22"> <widget class="QSpinBox" name="spinBox_22">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -10023,13 +10119,13 @@ Rate (deg/s)</string>
<widget class="QSpinBox" name="spinBox_23"> <widget class="QSpinBox" name="spinBox_23">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -10105,13 +10201,13 @@ Rate (deg/s)</string>
<widget class="QSpinBox" name="spinBox_24"> <widget class="QSpinBox" name="spinBox_24">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -10144,6 +10240,12 @@ Rate (deg/s)</string>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="minimumSize">
<size>
<width>69</width>
<height>29</height>
</size>
</property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true"/> <string notr="true"/>
</property> </property>
@ -10207,13 +10309,13 @@ Attitude</string>
<widget class="QSpinBox" name="spinBox_25"> <widget class="QSpinBox" name="spinBox_25">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -10289,13 +10391,13 @@ Attitude</string>
<widget class="QSpinBox" name="spinBox_26"> <widget class="QSpinBox" name="spinBox_26">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -10371,13 +10473,13 @@ Attitude</string>
<widget class="QSpinBox" name="spinBox_27"> <widget class="QSpinBox" name="spinBox_27">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>43</width> <width>50</width>
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
@ -10402,583 +10504,87 @@ Attitude</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> <item row="0" column="2">
</widget> <spacer name="horizontalSpacer_42">
</item>
</layout>
</widget>
</item>
<item row="7" column="2">
<spacer name="verticalSpacer_10">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>20</width> <width>40</width>
<height>180</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="6" column="0" colspan="3"> <item row="0" column="5">
<widget class="QGroupBox" name="RateStabilizationGroup_21"> <spacer name="horizontalSpacer_43">
<property name="sizePolicy"> <property name="orientation">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <enum>Qt::Horizontal</enum>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property> </property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="0">
<spacer name="horizontalSpacer_48">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="8">
<spacer name="horizontalSpacer_49">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>0</width> <width>0</width>
<height>79</height> <height>80</height>
</size> </size>
</property> </property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>79</height>
</size>
</property>
<property name="palette">
<palette>
<active>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Button">
<brush brushstyle="LinearGradientPattern">
<gradient startx="0.507000000000000" starty="0.869318000000000" endx="0.507000000000000" endy="0.096590900000000" type="LinearGradient" spread="PadSpread" coordinatemode="ObjectBoundingMode">
<gradientstop position="0.000000000000000">
<color alpha="255">
<red>243</red>
<green>243</green>
<blue>243</blue>
</color>
</gradientstop>
<gradientstop position="1.000000000000000">
<color alpha="255">
<red>250</red>
<green>250</green>
<blue>250</blue>
</color>
</gradientstop>
</gradient>
</brush>
</colorrole>
<colorrole role="Light">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Midlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>251</red>
<green>251</green>
<blue>251</blue>
</color>
</brush>
</colorrole>
<colorrole role="Dark">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>124</red>
<green>124</green>
<blue>124</blue>
</color>
</brush>
</colorrole>
<colorrole role="Mid">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>165</red>
<green>165</green>
<blue>165</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="BrightText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="LinearGradientPattern">
<gradient startx="0.507000000000000" starty="0.869318000000000" endx="0.507000000000000" endy="0.096590900000000" type="LinearGradient" spread="PadSpread" coordinatemode="ObjectBoundingMode">
<gradientstop position="0.000000000000000">
<color alpha="255">
<red>243</red>
<green>243</green>
<blue>243</blue>
</color>
</gradientstop>
<gradientstop position="1.000000000000000">
<color alpha="255">
<red>250</red>
<green>250</green>
<blue>250</blue>
</color>
</gradientstop>
</gradient>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="LinearGradientPattern">
<gradient startx="0.507000000000000" starty="0.869318000000000" endx="0.507000000000000" endy="0.096590900000000" type="LinearGradient" spread="PadSpread" coordinatemode="ObjectBoundingMode">
<gradientstop position="0.000000000000000">
<color alpha="255">
<red>243</red>
<green>243</green>
<blue>243</blue>
</color>
</gradientstop>
<gradientstop position="1.000000000000000">
<color alpha="255">
<red>250</red>
<green>250</green>
<blue>250</blue>
</color>
</gradientstop>
</gradient>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="AlternateBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>251</red>
<green>251</green>
<blue>251</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>220</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Button">
<brush brushstyle="LinearGradientPattern">
<gradient startx="0.507000000000000" starty="0.869318000000000" endx="0.507000000000000" endy="0.096590900000000" type="LinearGradient" spread="PadSpread" coordinatemode="ObjectBoundingMode">
<gradientstop position="0.000000000000000">
<color alpha="255">
<red>243</red>
<green>243</green>
<blue>243</blue>
</color>
</gradientstop>
<gradientstop position="1.000000000000000">
<color alpha="255">
<red>250</red>
<green>250</green>
<blue>250</blue>
</color>
</gradientstop>
</gradient>
</brush>
</colorrole>
<colorrole role="Light">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Midlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>251</red>
<green>251</green>
<blue>251</blue>
</color>
</brush>
</colorrole>
<colorrole role="Dark">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>124</red>
<green>124</green>
<blue>124</blue>
</color>
</brush>
</colorrole>
<colorrole role="Mid">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>165</red>
<green>165</green>
<blue>165</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="BrightText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="LinearGradientPattern">
<gradient startx="0.507000000000000" starty="0.869318000000000" endx="0.507000000000000" endy="0.096590900000000" type="LinearGradient" spread="PadSpread" coordinatemode="ObjectBoundingMode">
<gradientstop position="0.000000000000000">
<color alpha="255">
<red>243</red>
<green>243</green>
<blue>243</blue>
</color>
</gradientstop>
<gradientstop position="1.000000000000000">
<color alpha="255">
<red>250</red>
<green>250</green>
<blue>250</blue>
</color>
</gradientstop>
</gradient>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="LinearGradientPattern">
<gradient startx="0.507000000000000" starty="0.869318000000000" endx="0.507000000000000" endy="0.096590900000000" type="LinearGradient" spread="PadSpread" coordinatemode="ObjectBoundingMode">
<gradientstop position="0.000000000000000">
<color alpha="255">
<red>243</red>
<green>243</green>
<blue>243</blue>
</color>
</gradientstop>
<gradientstop position="1.000000000000000">
<color alpha="255">
<red>250</red>
<green>250</green>
<blue>250</blue>
</color>
</gradientstop>
</gradient>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="AlternateBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>251</red>
<green>251</green>
<blue>251</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>220</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="WindowText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>124</red>
<green>124</green>
<blue>124</blue>
</color>
</brush>
</colorrole>
<colorrole role="Button">
<brush brushstyle="LinearGradientPattern">
<gradient startx="0.507000000000000" starty="0.869318000000000" endx="0.507000000000000" endy="0.096590900000000" type="LinearGradient" spread="PadSpread" coordinatemode="ObjectBoundingMode">
<gradientstop position="0.000000000000000">
<color alpha="255">
<red>243</red>
<green>243</green>
<blue>243</blue>
</color>
</gradientstop>
<gradientstop position="1.000000000000000">
<color alpha="255">
<red>250</red>
<green>250</green>
<blue>250</blue>
</color>
</gradientstop>
</gradient>
</brush>
</colorrole>
<colorrole role="Light">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Midlight">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>251</red>
<green>251</green>
<blue>251</blue>
</color>
</brush>
</colorrole>
<colorrole role="Dark">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>124</red>
<green>124</green>
<blue>124</blue>
</color>
</brush>
</colorrole>
<colorrole role="Mid">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>165</red>
<green>165</green>
<blue>165</blue>
</color>
</brush>
</colorrole>
<colorrole role="Text">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>124</red>
<green>124</green>
<blue>124</blue>
</color>
</brush>
</colorrole>
<colorrole role="BrightText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="ButtonText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>124</red>
<green>124</green>
<blue>124</blue>
</color>
</brush>
</colorrole>
<colorrole role="Base">
<brush brushstyle="LinearGradientPattern">
<gradient startx="0.507000000000000" starty="0.869318000000000" endx="0.507000000000000" endy="0.096590900000000" type="LinearGradient" spread="PadSpread" coordinatemode="ObjectBoundingMode">
<gradientstop position="0.000000000000000">
<color alpha="255">
<red>243</red>
<green>243</green>
<blue>243</blue>
</color>
</gradientstop>
<gradientstop position="1.000000000000000">
<color alpha="255">
<red>250</red>
<green>250</green>
<blue>250</blue>
</color>
</gradientstop>
</gradient>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="LinearGradientPattern">
<gradient startx="0.507000000000000" starty="0.869318000000000" endx="0.507000000000000" endy="0.096590900000000" type="LinearGradient" spread="PadSpread" coordinatemode="ObjectBoundingMode">
<gradientstop position="0.000000000000000">
<color alpha="255">
<red>243</red>
<green>243</green>
<blue>243</blue>
</color>
</gradientstop>
<gradientstop position="1.000000000000000">
<color alpha="255">
<red>250</red>
<green>250</green>
<blue>250</blue>
</color>
</gradientstop>
</gradient>
</brush>
</colorrole>
<colorrole role="Shadow">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
<colorrole role="AlternateBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>248</red>
<green>248</green>
<blue>248</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipBase">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>220</blue>
</color>
</brush>
</colorrole>
<colorrole role="ToolTipText">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>0</red>
<green>0</green>
<blue>0</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="title"> <property name="title">
<string/> <string/>
</property> </property>
<property name="alignment"> <layout class="QVBoxLayout" name="verticalLayout_11">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> <item>
</property>
<layout class="QGridLayout" name="gridLayout_10">
<item row="0" column="0" colspan="2">
<widget class="QCheckBox" name="lowThrottleZeroIntegral_8"> <widget class="QCheckBox" name="lowThrottleZeroIntegral_8">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>239</width> <width>300</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
@ -10999,7 +10605,7 @@ Attitude</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item>
<widget class="QCheckBox" name="realTimeUpdates_6"> <widget class="QCheckBox" name="realTimeUpdates_6">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -11025,150 +10631,25 @@ automatically every 300ms, which will help for fast tuning.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="1"> </layout>
<spacer name="horizontalSpacer_3"> </widget>
</item>
<item>
<spacer name="verticalSpacer_10">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>111</width> <width>20</width>
<height>10</height> <height>180</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="1" column="2">
<widget class="QPushButton" name="stabilizationReloadBoardData_6">
<property name="minimumSize">
<size>
<width>120</width>
<height>28</height>
</size>
</property>
<property name="toolTip">
<string>Reloads the saved settings into GCS.
Useful if you have accidentally changed some settings.</string>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
border: 1px outset #999;
border-radius: 5;
background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0.28 rgba(236, 236, 236, 255), stop:1 rgba(252, 252, 252, 255));
}
QPushButton:pressed {
border-style: inset;
background-color: qlineargradient(spread:pad, x1:0.502, y1:0.664864, x2:0.502, y2:0.034, stop:0.358209 rgba(250, 250, 250, 255), stop:0.626866 rgba(235, 235, 235, 255));
}
QPushButton:hover {
border: 1px outset #999;
border-color: rgb(83, 83, 83);
border-radius: 4;
}</string>
</property>
<property name="text">
<string>Reload Board Data</string>
</property>
<property name="objrelation" stdset="0">
<stringlist>
<string>button:reload</string>
<string>buttongroup:10</string>
</stringlist>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QPushButton" name="saveStabilizationToRAM_6">
<property name="minimumSize">
<size>
<width>60</width>
<height>28</height>
</size>
</property>
<property name="toolTip">
<string>Send settings to the board but do not save to the non-volatile memory</string>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
border: 1px outset #999;
border-radius: 5;
background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0.28 rgba(236, 236, 236, 255), stop:1 rgba(252, 252, 252, 255));
}
QPushButton:pressed {
border-style: inset;
background-color: qlineargradient(spread:pad, x1:0.502, y1:0.664864, x2:0.502, y2:0.034, stop:0.358209 rgba(250, 250, 250, 255), stop:0.626866 rgba(235, 235, 235, 255));
}
QPushButton:hover {
border: 1px outset #999;
border-color: rgb(83, 83, 83);
border-radius: 4;
}</string>
</property>
<property name="text">
<string>Apply</string>
</property>
<property name="objrelation" stdset="0">
<stringlist>
<string>button:apply</string>
</stringlist>
</property>
</widget>
</item>
<item row="1" column="4">
<widget class="QPushButton" name="saveStabilizationToSD_6">
<property name="minimumSize">
<size>
<width>60</width>
<height>28</height>
</size>
</property>
<property name="toolTip">
<string>Send settings to the board and save to the non-volatile memory</string>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
border: 1px outset #999;
border-radius: 5;
background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0.28 rgba(236, 236, 236, 255), stop:1 rgba(252, 252, 252, 255));
}
QPushButton:pressed {
border-style: inset;
background-color: qlineargradient(spread:pad, x1:0.502, y1:0.664864, x2:0.502, y2:0.034, stop:0.358209 rgba(250, 250, 250, 255), stop:0.626866 rgba(235, 235, 235, 255));
}
QPushButton:hover {
border: 1px outset #999;
border-color: rgb(83, 83, 83);
border-radius: 4;
}</string>
</property>
<property name="text">
<string>Save</string>
</property>
<property name="objrelation" stdset="0">
<stringlist>
<string>button:save</string>
</stringlist>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</widget> </widget>
@ -11179,9 +10660,79 @@ border-radius: 4;
<attribute name="title"> <attribute name="title">
<string>Expert</string> <string>Expert</string>
</attribute> </attribute>
<layout class="QGridLayout" name="gridLayout_9"> <layout class="QVBoxLayout" name="verticalLayout_10">
<item row="0" column="0"> <property name="spacing">
<number>12</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QScrollArea" name="scrollArea_2"> <widget class="QScrollArea" name="scrollArea_2">
<property name="palette">
<palette>
<active>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>240</red>
<green>240</green>
<blue>240</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>240</red>
<green>240</green>
<blue>240</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>240</red>
<green>240</green>
<blue>240</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>240</red>
<green>240</green>
<blue>240</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::NoFrame</enum> <enum>QFrame::NoFrame</enum>
</property> </property>
@ -11193,12 +10744,20 @@ border-radius: 4;
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>673</width> <width>470</width>
<height>981</height> <height>914</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout_15"> <property name="autoFillBackground">
<item row="0" column="0"> <bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_9">
<property name="spacing">
<number>-1</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_11">
<item>
<spacer name="horizontalSpacer_25"> <spacer name="horizontalSpacer_25">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@ -11214,7 +10773,7 @@ border-radius: 4;
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="0" column="1" colspan="2"> <item>
<widget class="QLabel" name="label_41"> <widget class="QLabel" name="label_41">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
@ -11227,7 +10786,9 @@ border-radius: 4;
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0" rowspan="2" colspan="3"> </layout>
</item>
<item>
<widget class="QGroupBox" name="RateStabilizationGroup_8"> <widget class="QGroupBox" name="RateStabilizationGroup_8">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -11238,13 +10799,13 @@ border-radius: 4;
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>0</width> <width>0</width>
<height>210</height> <height>220</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>16777215</width> <width>16777215</width>
<height>210</height> <height>16777215</height>
</size> </size>
</property> </property>
<property name="palette"> <property name="palette">
@ -11770,24 +11331,13 @@ border-radius: 4;
<property name="flat"> <property name="flat">
<bool>false</bool> <bool>false</bool>
</property> </property>
<layout class="QGridLayout" name="gridLayout_8"> <layout class="QVBoxLayout" name="verticalLayout_5">
<item row="0" column="0"> <item>
<spacer name="horizontalSpacer_23"> <layout class="QHBoxLayout" name="horizontalLayout_4">
<property name="orientation"> <property name="spacing">
<enum>Qt::Horizontal</enum> <number>4</number>
</property> </property>
<property name="sizeType"> <item>
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>10</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="1">
<widget class="QCheckBox" name="checkBox_3"> <widget class="QCheckBox" name="checkBox_3">
<property name="styleSheet"> <property name="styleSheet">
<string notr="true"/> <string notr="true"/>
@ -11797,7 +11347,20 @@ border-radius: 4;
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="3"> <item>
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="pushButton_4"> <widget class="QPushButton" name="pushButton_4">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@ -11808,35 +11371,20 @@ border-radius: 4;
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>81</width> <width>81</width>
<height>28</height> <height>25</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>81</width> <width>16777215</width>
<height>28</height> <height>16777215</height>
</size> </size>
</property> </property>
<property name="toolTip">
<string>Reset all values to GCS defaults</string>
</property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">QPushButton { <string notr="true"/>
border: 1px outset #999;
border-radius: 5;
background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0.28 rgba(236, 236, 236, 255), stop:1 rgba(252, 252, 252, 255));
}
QPushButton:pressed {
border-style: inset;
background-color: qlineargradient(spread:pad, x1:0.502, y1:0.664864, x2:0.502, y2:0.034, stop:0.358209 rgba(250, 250, 250, 255), stop:0.626866 rgba(235, 235, 235, 255));
}
QPushButton:hover {
border: 1px outset #999;
border-color: rgb(83, 83, 83);
border-radius: 4;
}</string>
</property> </property>
<property name="text"> <property name="text">
<string>Default</string> <string>Default</string>
@ -11850,7 +11398,9 @@ border-radius: 4;
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0" colspan="4"> </layout>
</item>
<item>
<widget class="QGroupBox" name="RateStabilizationGroup_9"> <widget class="QGroupBox" name="RateStabilizationGroup_9">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -14693,23 +14243,12 @@ value as the Kp.</string>
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="0" column="2">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="3" column="0"> <item>
<layout class="QHBoxLayout" name="horizontalLayout_12">
<item>
<spacer name="horizontalSpacer_12"> <spacer name="horizontalSpacer_12">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@ -14725,7 +14264,7 @@ value as the Kp.</string>
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="3" column="1" colspan="2"> <item>
<widget class="QLabel" name="label_35"> <widget class="QLabel" name="label_35">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
@ -14738,7 +14277,9 @@ value as the Kp.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="0" colspan="3"> </layout>
</item>
<item>
<widget class="QGroupBox" name="RateStabilizationGroup_4"> <widget class="QGroupBox" name="RateStabilizationGroup_4">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -14749,13 +14290,13 @@ value as the Kp.</string>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>0</width> <width>0</width>
<height>181</height> <height>190</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>16777215</width> <width>16777215</width>
<height>181</height> <height>16777215</height>
</size> </size>
</property> </property>
<property name="palette"> <property name="palette">
@ -15284,8 +14825,76 @@ value as the Kp.</string>
<property name="flat"> <property name="flat">
<bool>false</bool> <bool>false</bool>
</property> </property>
<layout class="QGridLayout" name="gridLayout_4"> <layout class="QVBoxLayout" name="verticalLayout_6">
<item row="1" column="0" colspan="4"> <item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<property name="spacing">
<number>-1</number>
</property>
<item>
<widget class="QCheckBox" name="checkBox_2">
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>Link Roll and Pitch</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_7">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="pushButton_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>81</width>
<height>25</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>Reset all values to GCS defaults</string>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>Default</string>
</property>
<property name="objrelation" stdset="0">
<stringlist>
<string>objname:StabilizationSettings</string>
<string>button:default</string>
<string>buttongroup:5</string>
</stringlist>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="RateStabilizationGroup_5"> <widget class="QGroupBox" name="RateStabilizationGroup_5">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -17933,102 +17542,12 @@ border-radius: 5;</string>
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="0" column="0">
<spacer name="horizontalSpacer_7">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>10</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="3">
<widget class="QPushButton" name="pushButton_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>81</width>
<height>28</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>81</width>
<height>28</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">QPushButton {
border: 1px outset #999;
border-radius: 5;
background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0.28 rgba(236, 236, 236, 255), stop:1 rgba(252, 252, 252, 255));
}
QPushButton:pressed {
border-style: inset;
background-color: qlineargradient(spread:pad, x1:0.502, y1:0.664864, x2:0.502, y2:0.034, stop:0.358209 rgba(250, 250, 250, 255), stop:0.626866 rgba(235, 235, 235, 255));
}
QPushButton:hover {
border: 1px outset #999;
border-color: rgb(83, 83, 83);
border-radius: 4;
}</string>
</property>
<property name="text">
<string>Default</string>
</property>
<property name="objrelation" stdset="0">
<stringlist>
<string>objname:StabilizationSettings</string>
<string>button:default</string>
<string>buttongroup:5</string>
</stringlist>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QCheckBox" name="checkBox_2">
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>Link Roll and Pitch</string>
</property>
</widget>
</item>
<item row="0" column="2">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="5" column="0"> <item>
<layout class="QHBoxLayout" name="horizontalLayout_13">
<item>
<spacer name="horizontalSpacer_13"> <spacer name="horizontalSpacer_13">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@ -18044,7 +17563,7 @@ border-radius: 4;
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="5" column="1" colspan="2"> <item>
<widget class="QLabel" name="label_36"> <widget class="QLabel" name="label_36">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
@ -18057,7 +17576,9 @@ border-radius: 4;
</property> </property>
</widget> </widget>
</item> </item>
<item row="6" column="0" colspan="3"> </layout>
</item>
<item>
<widget class="QGroupBox" name="RateStabilizationGroup_6"> <widget class="QGroupBox" name="RateStabilizationGroup_6">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -18074,7 +17595,7 @@ border-radius: 4;
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>16777215</width> <width>16777215</width>
<height>211</height> <height>16777215</height>
</size> </size>
</property> </property>
<property name="palette"> <property name="palette">
@ -18597,51 +18118,53 @@ border-radius: 4;
<property name="alignment"> <property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property> </property>
<layout class="QGridLayout" name="gridLayout_5"> <layout class="QVBoxLayout" name="verticalLayout_7">
<item row="0" column="0"> <item>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<property name="spacing">
<number>-1</number>
</property>
<item>
<spacer name="horizontalSpacer_14"> <spacer name="horizontalSpacer_14">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeType"> <property name="sizeType">
<enum>QSizePolicy::Preferred</enum> <enum>QSizePolicy::Expanding</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>10000</width> <width>40</width>
<height>10</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="0" column="1"> <item>
<widget class="QPushButton" name="pushButton_3"> <widget class="QPushButton" name="pushButton_3">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>81</width> <width>81</width>
<height>28</height> <height>25</height>
</size> </size>
</property> </property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>Reset all values to GCS defaults</string>
</property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">QPushButton { <string notr="true"/>
border: 1px outset #999;
border-radius: 5;
background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0.28 rgba(236, 236, 236, 255), stop:1 rgba(252, 252, 252, 255));
}
QPushButton:pressed {
border-style: inset;
background-color: qlineargradient(spread:pad, x1:0.502, y1:0.664864, x2:0.502, y2:0.034, stop:0.358209 rgba(250, 250, 250, 255), stop:0.626866 rgba(235, 235, 235, 255));
}
QPushButton:hover {
border: 1px outset #999;
border-color: rgb(83, 83, 83);
border-radius: 4;
}</string>
</property> </property>
<property name="text"> <property name="text">
<string>Default</string> <string>Default</string>
@ -18655,7 +18178,9 @@ border-radius: 4;
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0" colspan="2"> </layout>
</item>
<item>
<widget class="QGroupBox" name="RateStabilizationGroup_7"> <widget class="QGroupBox" name="RateStabilizationGroup_7">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -20774,7 +20299,7 @@ border-radius: 5;</string>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>69</width> <width>69</width>
<height>16</height> <height>30</height>
</size> </size>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
@ -20892,6 +20417,12 @@ angle(deg)</string>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="minimumSize">
<size>
<width>0</width>
<height>30</height>
</size>
</property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true"/> <string notr="true"/>
</property> </property>
@ -21109,8 +20640,8 @@ rate(deg/s)</string>
</property> </property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>50</width> <width>125</width>
<height>0</height> <height>30</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
@ -21333,7 +20864,9 @@ rate(deg/s)</string>
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="7" column="0"> <item>
<layout class="QHBoxLayout" name="horizontalLayout_16">
<item>
<spacer name="horizontalSpacer_41"> <spacer name="horizontalSpacer_41">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@ -21349,7 +20882,7 @@ rate(deg/s)</string>
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="7" column="1" colspan="2"> <item>
<widget class="QLabel" name="label_45"> <widget class="QLabel" name="label_45">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
@ -21362,7 +20895,9 @@ rate(deg/s)</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="8" column="0" colspan="3"> </layout>
</item>
<item>
<widget class="QGroupBox" name="RateStabilizationGroup_23"> <widget class="QGroupBox" name="RateStabilizationGroup_23">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
@ -21373,7 +20908,7 @@ rate(deg/s)</string>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>16777215</width> <width>16777215</width>
<height>125</height> <height>16777215</height>
</size> </size>
</property> </property>
<property name="palette"> <property name="palette">
@ -21900,26 +21435,28 @@ rate(deg/s)</string>
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<property name="bottomMargin">
<number>2</number>
</property>
<item row="0" column="0"> <item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_7">
<property name="spacing">
<number>-1</number>
</property>
<item>
<spacer name="horizontalSpacer_40"> <spacer name="horizontalSpacer_40">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeType"> <property name="sizeType">
<enum>QSizePolicy::Preferred</enum> <enum>QSizePolicy::Expanding</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>459</width> <width>459</width>
<height>10</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="0" column="1"> <item>
<widget class="QPushButton" name="pushButton_5"> <widget class="QPushButton" name="pushButton_5">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@ -21930,35 +21467,20 @@ rate(deg/s)</string>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>81</width> <width>81</width>
<height>28</height> <height>25</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>81</width> <width>16777215</width>
<height>28</height> <height>16777215</height>
</size> </size>
</property> </property>
<property name="toolTip">
<string>Reset all values to GCS defaults</string>
</property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">QPushButton { <string notr="true"/>
border: 1px outset #999;
border-radius: 5;
background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0.28 rgba(236, 236, 236, 255), stop:1 rgba(252, 252, 252, 255));
}
QPushButton:pressed {
border-style: inset;
background-color: qlineargradient(spread:pad, x1:0.502, y1:0.664864, x2:0.502, y2:0.034, stop:0.358209 rgba(250, 250, 250, 255), stop:0.626866 rgba(235, 235, 235, 255));
}
QPushButton:hover {
border: 1px outset #999;
border-color: rgb(83, 83, 83);
border-radius: 4;
}</string>
</property> </property>
<property name="text"> <property name="text">
<string>Default</string> <string>Default</string>
@ -21972,7 +21494,9 @@ border-radius: 4;
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0" colspan="2"> </layout>
</item>
<item row="1" column="0">
<widget class="QGroupBox" name="RateStabilizationGroup_10"> <widget class="QGroupBox" name="RateStabilizationGroup_10">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
@ -24223,10 +23747,18 @@ border-radius: 5;</string>
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="9" column="0" colspan="3"> </layout>
<widget class="QGroupBox" name="RateStabilizationGroup_22"> </widget>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QGroupBox" name="RateStabilizationGroup_21">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
@ -24234,13 +23766,13 @@ border-radius: 5;</string>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>0</width> <width>0</width>
<height>79</height> <height>75</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>16777215</width> <width>16777215</width>
<height>79</height> <height>75</height>
</size> </size>
</property> </property>
<property name="palette"> <property name="palette">
@ -24766,60 +24298,12 @@ border-radius: 5;</string>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property> </property>
<layout class="QGridLayout" name="gridLayout_7"> <layout class="QHBoxLayout" name="horizontalLayout_15">
<item row="0" column="0" rowspan="2" colspan="2"> <property name="spacing">
<widget class="QCheckBox" name="lowThrottleZeroIntegral_9"> <number>4</number>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property> </property>
<property name="minimumSize"> <item>
<size> <spacer name="horizontalSpacer">
<width>239</width>
<height>20</height>
</size>
</property>
<property name="toolTip">
<string>When the throttle is low, zero the intergral term to prevent intergral wind-up</string>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>Zero the integral when throttle is low</string>
</property>
<property name="objrelation" stdset="0">
<stringlist>
<string>objname:StabilizationSettings</string>
<string>fieldname:LowThrottleZeroIntegral</string>
</stringlist>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="realTimeUpdates_7">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="toolTip">
<string>If you check this, the GCS will udpate the stabilization factors
automatically every 300ms, which will help for fast tuning.</string>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>Update in real time</string>
</property>
</widget>
</item>
<item row="2" column="1" colspan="2">
<spacer name="horizontalSpacer_33">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
@ -24831,8 +24315,13 @@ automatically every 300ms, which will help for fast tuning.</string>
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="2" column="3"> <item>
<widget class="QPushButton" name="saveStabilizationToRAM_7"> <layout class="QHBoxLayout" name="horizontalLayout_14">
<property name="spacing">
<number>4</number>
</property>
<item>
<widget class="QPushButton" name="stabilizationReloadBoardData_6">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
@ -24841,39 +24330,53 @@ automatically every 300ms, which will help for fast tuning.</string>
</property> </property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>60</width> <width>140</width>
<height>28</height> <height>25</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="toolTip">
<string>Reloads the saved settings into GCS.
Useful if you have accidentally changed some settings.</string>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text">
<string>Reload Board Data</string>
</property>
<property name="objrelation" stdset="0">
<stringlist>
<string>button:reload</string>
<string>buttongroup:10</string>
</stringlist>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="saveStabilizationToRAM_6">
<property name="minimumSize">
<size> <size>
<width>60</width> <width>60</width>
<height>28</height> <height>25</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size> </size>
</property> </property>
<property name="toolTip"> <property name="toolTip">
<string>Send settings to the board but do not save to the non-volatile memory</string> <string>Send settings to the board but do not save to the non-volatile memory</string>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">QPushButton { <string notr="true"/>
border: 1px outset #999;
border-radius: 5;
background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0.28 rgba(236, 236, 236, 255), stop:1 rgba(252, 252, 252, 255));
}
QPushButton:pressed {
border-style: inset;
background-color: qlineargradient(spread:pad, x1:0.502, y1:0.664864, x2:0.502, y2:0.034, stop:0.358209 rgba(250, 250, 250, 255), stop:0.626866 rgba(235, 235, 235, 255));
}
QPushButton:hover {
border: 1px outset #999;
border-color: rgb(83, 83, 83);
border-radius: 4;
}</string>
</property> </property>
<property name="text"> <property name="text">
<string>Apply</string> <string>Apply</string>
@ -24885,49 +24388,25 @@ border-radius: 4;
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="4"> <item>
<widget class="QPushButton" name="saveStabilizationToSD_7"> <widget class="QPushButton" name="saveStabilizationToSD_6">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>60</width> <width>60</width>
<height>28</height> <height>25</height>
</size> </size>
</property> </property>
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>60</width> <width>16777215</width>
<height>28</height> <height>16777215</height>
</size> </size>
</property> </property>
<property name="toolTip"> <property name="toolTip">
<string>Send settings to the board and save to the non-volatile memory</string> <string>Send settings to the board and save to the non-volatile memory</string>
</property> </property>
<property name="styleSheet"> <property name="styleSheet">
<string notr="true">QPushButton { <string notr="true"/>
border: 1px outset #999;
border-radius: 5;
background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0.28 rgba(236, 236, 236, 255), stop:1 rgba(252, 252, 252, 255));
}
QPushButton:pressed {
border-style: inset;
background-color: qlineargradient(spread:pad, x1:0.502, y1:0.664864, x2:0.502, y2:0.034, stop:0.358209 rgba(250, 250, 250, 255), stop:0.626866 rgba(235, 235, 235, 255));
}
QPushButton:hover {
border: 1px outset #999;
border-color: rgb(83, 83, 83);
border-radius: 4;
}</string>
</property> </property>
<property name="text"> <property name="text">
<string>Save</string> <string>Save</string>
@ -24940,23 +24419,14 @@ border-radius: 4;
</widget> </widget>
</item> </item>
</layout> </layout>
</widget>
</item> </item>
</layout> </layout>
</widget> </widget>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</item> </item>
</layout> </layout>
</widget> </widget>
<layoutdefault spacing="6" margin="11"/> <layoutdefault spacing="6" margin="11"/>
<tabstops> <tabstops>
<tabstop>tabWidget</tabstop>
<tabstop>scrollArea</tabstop> <tabstop>scrollArea</tabstop>
<tabstop>checkBox_7</tabstop> <tabstop>checkBox_7</tabstop>
<tabstop>pushButton_19</tabstop> <tabstop>pushButton_19</tabstop>
@ -25008,8 +24478,6 @@ border-radius: 4;
<tabstop>spinBox_26</tabstop> <tabstop>spinBox_26</tabstop>
<tabstop>horizontalSlider_96</tabstop> <tabstop>horizontalSlider_96</tabstop>
<tabstop>spinBox_27</tabstop> <tabstop>spinBox_27</tabstop>
<tabstop>lowThrottleZeroIntegral_8</tabstop>
<tabstop>realTimeUpdates_6</tabstop>
<tabstop>stabilizationReloadBoardData_6</tabstop> <tabstop>stabilizationReloadBoardData_6</tabstop>
<tabstop>saveStabilizationToRAM_6</tabstop> <tabstop>saveStabilizationToRAM_6</tabstop>
<tabstop>saveStabilizationToSD_6</tabstop> <tabstop>saveStabilizationToSD_6</tabstop>
@ -25053,10 +24521,6 @@ border-radius: 4;
<tabstop>GyroTau</tabstop> <tabstop>GyroTau</tabstop>
<tabstop>AccelKp</tabstop> <tabstop>AccelKp</tabstop>
<tabstop>AccelKi</tabstop> <tabstop>AccelKi</tabstop>
<tabstop>lowThrottleZeroIntegral_9</tabstop>
<tabstop>realTimeUpdates_7</tabstop>
<tabstop>saveStabilizationToRAM_7</tabstop>
<tabstop>saveStabilizationToSD_7</tabstop>
</tabstops> </tabstops>
<resources/> <resources/>
<connections/> <connections/>

View File

@ -6,16 +6,99 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>720</width> <width>708</width>
<height>567</height> <height>880</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>TxPID</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_3"> <layout class="QVBoxLayout" name="verticalLayout_3">
<property name="spacing">
<number>12</number>
</property>
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>Tx PID</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_4">
<property name="spacing">
<number>12</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item> <item>
<widget class="QScrollArea" name="scrollArea"> <widget class="QScrollArea" name="scrollArea">
<property name="palette">
<palette>
<active>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</active>
<inactive>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="255">
<red>255</red>
<green>255</green>
<blue>255</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</inactive>
<disabled>
<colorrole role="Base">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
<colorrole role="Window">
<brush brushstyle="SolidPattern">
<color alpha="0">
<red>232</red>
<green>232</green>
<blue>232</blue>
</color>
</brush>
</colorrole>
</disabled>
</palette>
</property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::NoFrame</enum> <enum>QFrame::NoFrame</enum>
</property> </property>
@ -27,11 +110,17 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>696</width> <width>678</width>
<height>475</height> <height>683</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string/>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item> <item>
<widget class="QCheckBox" name="TxPIDEnable"> <widget class="QCheckBox" name="TxPIDEnable">
<property name="focusPolicy"> <property name="focusPolicy">
@ -59,11 +148,7 @@ Up to 3 separate PID options (or option pairs) can be selected and updated.</str
</property> </property>
</widget> </widget>
</item> </item>
<item> </layout>
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget> </widget>
</item> </item>
<item> <item>
@ -531,8 +616,16 @@ margin:1px;</string>
</widget> </widget>
</widget> </widget>
</item> </item>
</layout>
</widget>
</widget>
</item>
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout"> <widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>Messages</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<widget class="QLabel" name="message"> <widget class="QLabel" name="message">
<property name="text"> <property name="text">
@ -540,8 +633,38 @@ margin:1px;</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>75</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>79</height>
</size>
</property>
<property name="title">
<string/>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<layout class="QHBoxLayout" name="submitButtons"> <layout class="QHBoxLayout" name="submitButtons">
<property name="spacing">
<number>4</number>
</property>
<item> <item>
<widget class="QFrame" name="frame"> <widget class="QFrame" name="frame">
<property name="frameShape"> <property name="frameShape">
@ -567,9 +690,18 @@ margin:1px;</string>
</item> </item>
<item> <item>
<widget class="QPushButton" name="Apply"> <widget class="QPushButton" name="Apply">
<property name="minimumSize">
<size>
<width>60</width>
<height>28</height>
</size>
</property>
<property name="toolTip"> <property name="toolTip">
<string>Send settings to the board but do not save to the non-volatile memory</string> <string>Send settings to the board but do not save to the non-volatile memory</string>
</property> </property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text"> <property name="text">
<string>Apply</string> <string>Apply</string>
</property> </property>
@ -577,9 +709,18 @@ margin:1px;</string>
</item> </item>
<item> <item>
<widget class="QPushButton" name="Save"> <widget class="QPushButton" name="Save">
<property name="minimumSize">
<size>
<width>60</width>
<height>28</height>
</size>
</property>
<property name="toolTip"> <property name="toolTip">
<string>Send settings to the board and save to the non-volatile memory</string> <string>Send settings to the board and save to the non-volatile memory</string>
</property> </property>
<property name="styleSheet">
<string notr="true"/>
</property>
<property name="text"> <property name="text">
<string>Save</string> <string>Save</string>
</property> </property>
@ -591,11 +732,11 @@ margin:1px;</string>
</layout> </layout>
</item> </item>
</layout> </layout>
</widget>
</item> </item>
</layout> </layout>
</widget> </widget>
<tabstops> <tabstops>
<tabstop>TxPIDEnable</tabstop>
<tabstop>Apply</tabstop> <tabstop>Apply</tabstop>
<tabstop>Save</tabstop> <tabstop>Save</tabstop>
<tabstop>scrollArea</tabstop> <tabstop>scrollArea</tabstop>

View File

@ -39,6 +39,7 @@
#include <QtCore/QSettings> #include <QtCore/QSettings>
#include "ui_generalsettings.h" #include "ui_generalsettings.h"
#include <QKeyEvent>
using namespace Utils; using namespace Utils;
using namespace Core::Internal; using namespace Core::Internal;
@ -47,7 +48,9 @@ GeneralSettings::GeneralSettings():
m_saveSettingsOnExit(true), m_saveSettingsOnExit(true),
m_dialog(0), m_dialog(0),
m_autoConnect(true), m_autoConnect(true),
m_autoSelect(true) m_autoSelect(true),
m_useUDPMirror(false),
m_useExpertMode(false)
{ {
} }
@ -107,18 +110,24 @@ void GeneralSettings::fillLanguageBox() const
} }
} }
QWidget *GeneralSettings::createPage(QWidget *parent) QWidget *GeneralSettings::createPage(QWidget *parent)
{ {
m_page = new Ui::GeneralSettings(); m_page = new Ui::GeneralSettings();
QWidget *w = new QWidget(parent); globalSettingsWidget *w = new globalSettingsWidget(parent);
connect(w,SIGNAL(showHidden()),this,SLOT(showHidden()));
m_page->setupUi(w); m_page->setupUi(w);
m_page->labelUDP->setVisible(false);
m_page->cbUseUDPMirror->setVisible(false);
m_page->labelExpert->setVisible(false);
m_page->cbExpertMode->setVisible(false);
fillLanguageBox(); fillLanguageBox();
connect(m_page->checkAutoConnect,SIGNAL(stateChanged(int)),this,SLOT(slotAutoConnect(int))); connect(m_page->checkAutoConnect,SIGNAL(stateChanged(int)),this,SLOT(slotAutoConnect(int)));
m_page->checkBoxSaveOnExit->setChecked(m_saveSettingsOnExit); m_page->checkBoxSaveOnExit->setChecked(m_saveSettingsOnExit);
m_page->checkAutoConnect->setChecked(m_autoConnect); m_page->checkAutoConnect->setChecked(m_autoConnect);
m_page->checkAutoSelect->setChecked(m_autoSelect); m_page->checkAutoSelect->setChecked(m_autoSelect);
m_page->cbUseUDPMirror->setChecked(m_useUDPMirror);
m_page->cbExpertMode->setChecked(m_useExpertMode);
m_page->colorButton->setColor(StyleHelper::baseColor()); m_page->colorButton->setColor(StyleHelper::baseColor());
connect(m_page->resetButton, SIGNAL(clicked()), connect(m_page->resetButton, SIGNAL(clicked()),
@ -135,6 +144,8 @@ void GeneralSettings::apply()
StyleHelper::setBaseColor(m_page->colorButton->color()); StyleHelper::setBaseColor(m_page->colorButton->color());
m_saveSettingsOnExit = m_page->checkBoxSaveOnExit->isChecked(); m_saveSettingsOnExit = m_page->checkBoxSaveOnExit->isChecked();
m_useUDPMirror=m_page->cbUseUDPMirror->isChecked();
m_useExpertMode=m_page->cbExpertMode->isChecked();
m_autoConnect = m_page->checkAutoConnect->isChecked(); m_autoConnect = m_page->checkAutoConnect->isChecked();
m_autoSelect = m_page->checkAutoSelect->isChecked(); m_autoSelect = m_page->checkAutoSelect->isChecked();
} }
@ -151,6 +162,8 @@ void GeneralSettings::readSettings(QSettings* qs)
m_saveSettingsOnExit = qs->value(QLatin1String("SaveSettingsOnExit"),m_saveSettingsOnExit).toBool(); m_saveSettingsOnExit = qs->value(QLatin1String("SaveSettingsOnExit"),m_saveSettingsOnExit).toBool();
m_autoConnect = qs->value(QLatin1String("AutoConnect"),m_autoConnect).toBool(); m_autoConnect = qs->value(QLatin1String("AutoConnect"),m_autoConnect).toBool();
m_autoSelect = qs->value(QLatin1String("AutoSelect"),m_autoSelect).toBool(); m_autoSelect = qs->value(QLatin1String("AutoSelect"),m_autoSelect).toBool();
m_useUDPMirror = qs->value(QLatin1String("UDPMirror"),m_useUDPMirror).toBool();
m_useExpertMode = qs->value(QLatin1String("ExpertMode"),m_useExpertMode).toBool();
qs->endGroup(); qs->endGroup();
} }
@ -166,6 +179,8 @@ void GeneralSettings::saveSettings(QSettings* qs)
qs->setValue(QLatin1String("SaveSettingsOnExit"), m_saveSettingsOnExit); qs->setValue(QLatin1String("SaveSettingsOnExit"), m_saveSettingsOnExit);
qs->setValue(QLatin1String("AutoConnect"), m_autoConnect); qs->setValue(QLatin1String("AutoConnect"), m_autoConnect);
qs->setValue(QLatin1String("AutoSelect"), m_autoSelect); qs->setValue(QLatin1String("AutoSelect"), m_autoSelect);
qs->setValue(QLatin1String("UDPMirror"), m_useUDPMirror);
qs->setValue(QLatin1String("ExpertMode"), m_useExpertMode);
qs->endGroup(); qs->endGroup();
} }
@ -231,6 +246,16 @@ bool GeneralSettings::autoSelect() const
return m_autoSelect; return m_autoSelect;
} }
bool GeneralSettings::useUDPMirror() const
{
return m_useUDPMirror;
}
bool GeneralSettings::useExpertMode() const
{
return m_useExpertMode;
}
void GeneralSettings::slotAutoConnect(int value) void GeneralSettings::slotAutoConnect(int value)
{ {
if (value==Qt::Checked) if (value==Qt::Checked)
@ -238,3 +263,21 @@ void GeneralSettings::slotAutoConnect(int value)
else else
m_page->checkAutoSelect->setEnabled(true); m_page->checkAutoSelect->setEnabled(true);
} }
void GeneralSettings::showHidden()
{
m_page->labelUDP->setVisible(true);
m_page->cbUseUDPMirror->setVisible(true);
m_page->labelExpert->setVisible(true);
m_page->cbExpertMode->setVisible(true);
}
globalSettingsWidget::globalSettingsWidget(QWidget *parent):QWidget(parent){}
void globalSettingsWidget::keyPressEvent(QKeyEvent *event)
{
if(event->key()==Qt::Key_F7)
{
emit showHidden();
}
}

View File

@ -58,9 +58,10 @@ public:
bool saveSettingsOnExit() const; bool saveSettingsOnExit() const;
bool autoConnect() const; bool autoConnect() const;
bool autoSelect() const; bool autoSelect() const;
bool useUDPMirror() const;
void readSettings(QSettings* qs); void readSettings(QSettings* qs);
void saveSettings(QSettings* qs); void saveSettings(QSettings* qs);
bool useExpertMode() const;
signals: signals:
private slots: private slots:
@ -68,6 +69,7 @@ private slots:
void resetLanguage(); void resetLanguage();
void showHelpForExternalEditor(); void showHelpForExternalEditor();
void slotAutoConnect(int); void slotAutoConnect(int);
void showHidden();
private: private:
void fillLanguageBox() const; void fillLanguageBox() const;
@ -78,10 +80,22 @@ private:
bool m_saveSettingsOnExit; bool m_saveSettingsOnExit;
bool m_autoConnect; bool m_autoConnect;
bool m_autoSelect; bool m_autoSelect;
bool m_useUDPMirror;
bool m_useExpertMode;
QPointer<QWidget> m_dialog; QPointer<QWidget> m_dialog;
QList<QTextCodec *> m_codecs; QList<QTextCodec *> m_codecs;
}; };
class globalSettingsWidget:public QWidget
{
Q_OBJECT
public:
globalSettingsWidget(QWidget * parent);
protected:
void keyPressEvent(QKeyEvent *);
signals:
void showHidden();
};
} // namespace Internal } // namespace Internal
} // namespace Core } // namespace Core

View File

@ -178,6 +178,34 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="12" column="1">
<widget class="QCheckBox" name="cbUseUDPMirror">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="12" column="0">
<widget class="QLabel" name="labelUDP">
<property name="text">
<string>Use UDP Mirror</string>
</property>
</widget>
</item>
<item row="13" column="0">
<widget class="QLabel" name="labelExpert">
<property name="text">
<string>Expert Mode</string>
</property>
</widget>
</item>
<item row="13" column="1">
<widget class="QCheckBox" name="cbExpertMode">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>

View File

@ -27,7 +27,8 @@
#include "uavtalk.h" #include "uavtalk.h"
#include <QtEndian> #include <QtEndian>
#include <QDebug> #include <QDebug>
#include <extensionsystem/pluginmanager.h>
#include <coreplugin/generalsettings.h>
//#define UAVTALK_DEBUG //#define UAVTALK_DEBUG
#ifdef UAVTALK_DEBUG #ifdef UAVTALK_DEBUG
#include "qxtlogger.h" #include "qxtlogger.h"
@ -75,6 +76,19 @@ UAVTalk::UAVTalk(QIODevice* iodev, UAVObjectManager* objMngr)
memset(&stats, 0, sizeof(ComStats)); memset(&stats, 0, sizeof(ComStats));
connect(io, SIGNAL(readyRead()), this, SLOT(processInputStream())); connect(io, SIGNAL(readyRead()), this, SLOT(processInputStream()));
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
Core::Internal::GeneralSettings * settings=pm->getObject<Core::Internal::GeneralSettings>();
useUDPMirror=settings->useUDPMirror();
qDebug()<<"USE UDP:::::::::::."<<useUDPMirror;
if(useUDPMirror)
{
udpSocketTx=new QUdpSocket(this);
udpSocketRx=new QUdpSocket(this);
udpSocketTx->bind(9000);
udpSocketRx->connectToHost(QHostAddress::LocalHost,9000);
connect(udpSocketTx,SIGNAL(readyRead()),this,SLOT(dummyUDPRead()));
connect(udpSocketRx,SIGNAL(readyRead()),this,SLOT(dummyUDPRead()));
}
} }
UAVTalk::~UAVTalk() UAVTalk::~UAVTalk()
@ -119,6 +133,17 @@ void UAVTalk::processInputStream()
} }
} }
void UAVTalk::dummyUDPRead()
{
QUdpSocket *socket=qobject_cast<QUdpSocket*>(sender());
QByteArray junk;
while(socket->hasPendingDatagrams())
{
junk.resize(socket->pendingDatagramSize());
socket->readDatagram(junk.data(),junk.size());
}
}
/** /**
* Request an update for the specified object, on success the object data would have been * Request an update for the specified object, on success the object data would have been
* updated by the GCS. * updated by the GCS.
@ -219,6 +244,9 @@ bool UAVTalk::processInputByte(quint8 rxbyte)
rxPacketLength++; // update packet byte count rxPacketLength++; // update packet byte count
if(useUDPMirror)
rxDataArray.append(rxbyte);
// Receive state machine // Receive state machine
switch (rxState) switch (rxState)
{ {
@ -235,6 +263,12 @@ bool UAVTalk::processInputByte(quint8 rxbyte)
rxPacketLength = 1; rxPacketLength = 1;
if(useUDPMirror)
{
rxDataArray.clear();
rxDataArray.append(rxbyte);
}
rxState = STATE_TYPE; rxState = STATE_TYPE;
UAVTALK_QXTLOG_DEBUG("UAVTalk: Sync->Type"); UAVTALK_QXTLOG_DEBUG("UAVTalk: Sync->Type");
break; break;
@ -446,6 +480,10 @@ bool UAVTalk::processInputByte(quint8 rxbyte)
mutex->lock(); mutex->lock();
receiveObject(rxType, rxObjId, rxInstId, rxBuffer, rxLength); receiveObject(rxType, rxObjId, rxInstId, rxBuffer, rxLength);
if(useUDPMirror)
{
udpSocketTx->writeDatagram(rxDataArray,QHostAddress::LocalHost,udpSocketRx->localPort());
}
stats.rxObjectBytes += rxLength; stats.rxObjectBytes += rxLength;
stats.rxObjects++; stats.rxObjects++;
mutex->unlock(); mutex->unlock();
@ -476,7 +514,6 @@ bool UAVTalk::processInputByte(quint8 rxbyte)
bool UAVTalk::receiveObject(quint8 type, quint32 objId, quint16 instId, quint8* data, qint32 length) bool UAVTalk::receiveObject(quint8 type, quint32 objId, quint16 instId, quint8* data, qint32 length)
{ {
Q_UNUSED(length); Q_UNUSED(length);
UAVObject* obj = NULL; UAVObject* obj = NULL;
bool error = false; bool error = false;
bool allInstances = (instId == ALL_INSTANCES); bool allInstances = (instId == ALL_INSTANCES);
@ -742,6 +779,10 @@ bool UAVTalk::transmitNack(quint32 objId)
if (io && io->isWritable() && io->bytesToWrite() < TX_BUFFER_SIZE ) if (io && io->isWritable() && io->bytesToWrite() < TX_BUFFER_SIZE )
{ {
io->write((const char*)txBuffer, dataOffset+CHECKSUM_LENGTH); io->write((const char*)txBuffer, dataOffset+CHECKSUM_LENGTH);
if(useUDPMirror)
{
udpSocketRx->writeDatagram((const char*)txBuffer,dataOffset+CHECKSUM_LENGTH,QHostAddress::LocalHost,udpSocketTx->localPort());
}
} }
else else
{ {
@ -832,6 +873,10 @@ bool UAVTalk::transmitSingleObject(UAVObject* obj, quint8 type, bool allInstance
if (!io.isNull() && io->isWritable() && io->bytesToWrite() < TX_BUFFER_SIZE ) if (!io.isNull() && io->isWritable() && io->bytesToWrite() < TX_BUFFER_SIZE )
{ {
io->write((const char*)txBuffer, dataOffset+length+CHECKSUM_LENGTH); io->write((const char*)txBuffer, dataOffset+length+CHECKSUM_LENGTH);
if(useUDPMirror)
{
udpSocketRx->writeDatagram((const char*)txBuffer,dataOffset+length+CHECKSUM_LENGTH,QHostAddress::LocalHost,udpSocketTx->localPort());
}
} }
else else
{ {

View File

@ -35,6 +35,7 @@
#include <QSemaphore> #include <QSemaphore>
#include "uavobjectmanager.h" #include "uavobjectmanager.h"
#include "uavtalk_global.h" #include "uavtalk_global.h"
#include <QtNetwork/QUdpSocket>
class UAVTALK_EXPORT UAVTalk: public QObject class UAVTALK_EXPORT UAVTalk: public QObject
{ {
@ -65,6 +66,7 @@ signals:
private slots: private slots:
void processInputStream(void); void processInputStream(void);
void dummyUDPRead();
private: private:
@ -122,6 +124,11 @@ private:
RxStateType rxState; RxStateType rxState;
ComStats stats; ComStats stats;
bool useUDPMirror;
QUdpSocket * udpSocketTx;
QUdpSocket * udpSocketRx;
QByteArray rxDataArray;
// Methods // Methods
bool objectTransaction(UAVObject* obj, quint8 type, bool allInstances); bool objectTransaction(UAVObject* obj, quint8 type, bool allInstances);
bool processInputByte(quint8 rxbyte); bool processInputByte(quint8 rxbyte);
@ -134,7 +141,6 @@ private:
bool transmitSingleObject(UAVObject* obj, quint8 type, bool allInstances); bool transmitSingleObject(UAVObject* obj, quint8 type, bool allInstances);
quint8 updateCRC(quint8 crc, const quint8 data); quint8 updateCRC(quint8 crc, const quint8 data);
quint8 updateCRC(quint8 crc, const quint8* data, qint32 length); quint8 updateCRC(quint8 crc, const quint8* data, qint32 length);
}; };
#endif // UAVTALK_H #endif // UAVTALK_H

View File

@ -1,3 +1,4 @@
QT += network
TEMPLATE = lib TEMPLATE = lib
TARGET = UAVTalk TARGET = UAVTalk
include(../../openpilotgcsplugin.pri) include(../../openpilotgcsplugin.pri)