1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-01-29 14:52:12 +01:00

Add help buttons to the config gadget UI. Also connect all signals to its slot in configgadgetwidget.cpp. Also some very trivial .html help files.

This commit is contained in:
David Carlson 2011-05-16 21:54:23 -07:00
parent d076418895
commit b1ec27bd75
23 changed files with 1944 additions and 390 deletions

View File

@ -0,0 +1 @@
<html>Here you will find help for Angle Limit fields</html>

View File

@ -0,0 +1 @@
<html>Here you will find help for tunning Attitude Stabilization</html>

View File

@ -0,0 +1 @@
<html>Add explanation of what Get Current, Apply, and Save each do</html>

View File

@ -0,0 +1 @@
<html>Here you will find help for tunning Attitude Stabilization</html>

View File

@ -0,0 +1 @@
<html>Here you will find help for what the Update in Real Time checkmark does</html>

View File

@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>720</width> <width>720</width>
<height>501</height> <height>509</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -17,7 +17,7 @@
<item> <item>
<widget class="QTabWidget" name="tabWidget"> <widget class="QTabWidget" name="tabWidget">
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>1</number>
</property> </property>
<widget class="QWidget" name="tab_2"> <widget class="QWidget" name="tab_2">
<attribute name="title"> <attribute name="title">
@ -41,17 +41,57 @@
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_3"> <layout class="QVBoxLayout" name="verticalLayout_3">
<item> <item>
<widget class="QLabel" name="label_3"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="font"> <item>
<font> <widget class="QPushButton" name="multiPointHelp">
<weight>75</weight> <property name="sizePolicy">
<bold>true</bold> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
</font> <horstretch>0</horstretch>
</property> <verstretch>0</verstretch>
<property name="text"> </sizepolicy>
<string>#1: Multi-Point Calibration</string> </property>
</property> <property name="maximumSize">
</widget> <size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_3">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>#1: Multi-Point Calibration</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<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>
</item> </item>
<item> <item>
<widget class="QGraphicsView" name="sixPointsHelp"> <widget class="QGraphicsView" name="sixPointsHelp">
@ -111,17 +151,57 @@
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_4"> <layout class="QVBoxLayout" name="verticalLayout_4">
<item> <item>
<widget class="QLabel" name="label"> <layout class="QHBoxLayout" name="horizontalLayout_8">
<property name="font"> <item>
<font> <widget class="QPushButton" name="sensorNoiseHelp">
<weight>75</weight> <property name="sizePolicy">
<bold>true</bold> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
</font> <horstretch>0</horstretch>
</property> <verstretch>0</verstretch>
<property name="text"> </sizepolicy>
<string>#2: Sensor noise calibration</string> </property>
</property> <property name="maximumSize">
</widget> <size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>#2: Sensor noise calibration</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_4">
<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>
</item> </item>
<item> <item>
<widget class="QGraphicsView" name="ahrsBargraph"> <widget class="QGraphicsView" name="ahrsBargraph">
@ -197,17 +277,51 @@ Hint: run this with engines at cruising speed.</string>
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_5"> <layout class="QVBoxLayout" name="verticalLayout_5">
<item> <item>
<widget class="QLabel" name="label_5"> <layout class="QHBoxLayout" name="horizontalLayout_9">
<property name="font"> <item>
<font> <widget class="QPushButton" name="accelBiasHelp">
<weight>75</weight> <property name="maximumSize">
<bold>true</bold> <size>
</font> <width>20</width>
</property> <height>20</height>
<property name="text"> </size>
<string>#3: Accelerometer Bias calibration</string> </property>
</property> <property name="text">
</widget> <string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_5">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>#3: Accelerometer Bias calibration</string>
</property>
</widget>
</item>
<item>
<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>
</layout>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_3"> <layout class="QHBoxLayout" name="horizontalLayout_3">
@ -253,17 +367,51 @@ Hint: run this with engines at cruising speed.</string>
<item> <item>
<layout class="QVBoxLayout" name="gyroDriftLayout"> <layout class="QVBoxLayout" name="gyroDriftLayout">
<item> <item>
<widget class="QLabel" name="label_6"> <layout class="QHBoxLayout" name="horizontalLayout_11">
<property name="font"> <item>
<font> <widget class="QPushButton" name="gyroDriftHelp">
<weight>75</weight> <property name="maximumSize">
<bold>true</bold> <size>
</font> <width>20</width>
</property> <height>20</height>
<property name="text"> </size>
<string>#4 Gyro temperature drift calibration</string> </property>
</property> <property name="text">
</widget> <string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_6">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>#4 Gyro temperature drift calibration</string>
</property>
</widget>
</item>
<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>
</layout>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_5"> <layout class="QHBoxLayout" name="horizontalLayout_5">
@ -432,8 +580,37 @@ p, li { white-space: pre-wrap; }
<layout class="QVBoxLayout" name="verticalLayout_6"> <layout class="QVBoxLayout" name="verticalLayout_6">
<item> <item>
<layout class="QHBoxLayout" name="ahrsSettingsLayout"> <layout class="QHBoxLayout" name="ahrsSettingsLayout">
<item>
<widget class="QPushButton" name="insAlgorithmHelp">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="label_2">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text"> <property name="text">
<string>INS Algorithm:</string> <string>INS Algorithm:</string>
</property> </property>
@ -461,8 +638,37 @@ p, li { white-space: pre-wrap; }
</property> </property>
</spacer> </spacer>
</item> </item>
<item>
<widget class="QPushButton" name="homeLocationHelp">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QLabel" name="label_4"> <widget class="QLabel" name="label_4">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text"> <property name="text">
<string>Home Location:</string> <string>Home Location:</string>
</property> </property>
@ -550,6 +756,29 @@ new home location unless it is in indoor mode.</string>
</property> </property>
</spacer> </spacer>
</item> </item>
<item>
<widget class="QPushButton" name="commandHelp">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QPushButton" name="ahrsSettingsRequest"> <widget class="QPushButton" name="ahrsSettingsRequest">
<property name="toolTip"> <property name="toolTip">
@ -590,7 +819,9 @@ specific calibration button on top of the screen.</string>
</item> </item>
</layout> </layout>
</widget> </widget>
<resources/> <resources>
<include location="configgadget.qrc"/>
</resources>
<connections/> <connections/>
<buttongroups> <buttongroups>
<buttongroup name="buttonGroup"/> <buttongroup name="buttonGroup"/>

View File

@ -17,7 +17,7 @@
<item> <item>
<widget class="QTabWidget" name="tabWidget"> <widget class="QTabWidget" name="tabWidget">
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>1</number>
</property> </property>
<widget class="QWidget" name="tabWidgetPage1"> <widget class="QWidget" name="tabWidgetPage1">
<attribute name="title"> <attribute name="title">
@ -29,8 +29,37 @@
</property> </property>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="acftTypeHelp">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QLabel" name="label"> <widget class="QLabel" name="label">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text"> <property name="text">
<string>Aircraft type:</string> <string>Aircraft type:</string>
</property> </property>
@ -73,7 +102,7 @@
<item> <item>
<widget class="QStackedWidget" name="airframesWidget"> <widget class="QStackedWidget" name="airframesWidget">
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>3</number>
</property> </property>
<widget class="QWidget" name="fixedWing"> <widget class="QWidget" name="fixedWing">
<property name="enabled"> <property name="enabled">
@ -87,6 +116,23 @@
<layout class="QVBoxLayout" name="verticalLayout_6"> <layout class="QVBoxLayout" name="verticalLayout_6">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_3"> <layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QPushButton" name="airplaneTypeHelp">
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QLabel" name="label_5"> <widget class="QLabel" name="label_5">
<property name="sizePolicy"> <property name="sizePolicy">
@ -95,6 +141,12 @@
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text"> <property name="text">
<string>Airplane type:</string> <string>Airplane type:</string>
</property> </property>
@ -119,11 +171,51 @@
</layout> </layout>
</item> </item>
<item> <item>
<widget class="QLabel" name="label_7"> <layout class="QHBoxLayout" name="horizontalLayout_23">
<property name="text"> <item>
<string>Channel Assignment</string> <widget class="QPushButton" name="channelAssignmentHelp">
</property> <property name="maximumSize">
</widget> <size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_7">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Channel Assignment</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_15">
<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>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_4"> <layout class="QHBoxLayout" name="horizontalLayout_4">
@ -359,8 +451,31 @@
<layout class="QVBoxLayout" name="verticalLayout_7"> <layout class="QVBoxLayout" name="verticalLayout_7">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_15"> <layout class="QHBoxLayout" name="horizontalLayout_15">
<item>
<widget class="QPushButton" name="throttleCurveHelp">
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QLabel" name="label_13"> <widget class="QLabel" name="label_13">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text"> <property name="text">
<string>Throttle Curve</string> <string>Throttle Curve</string>
</property> </property>
@ -471,8 +586,37 @@
<layout class="QVBoxLayout" name="verticalLayout_24"> <layout class="QVBoxLayout" name="verticalLayout_24">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_5"> <layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QPushButton" name="multiFrameTypeHelp">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QLabel" name="label_15"> <widget class="QLabel" name="label_15">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text"> <property name="text">
<string>Frame type:</string> <string>Frame type:</string>
</property> </property>
@ -505,17 +649,57 @@
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_20"> <layout class="QVBoxLayout" name="verticalLayout_20">
<item> <item>
<widget class="QLabel" name="label_4"> <layout class="QHBoxLayout" name="horizontalLayout_25">
<property name="font"> <item>
<font> <widget class="QPushButton" name="mixLevelHelp">
<weight>75</weight> <property name="sizePolicy">
<bold>true</bold> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
</font> <horstretch>0</horstretch>
</property> <verstretch>0</verstretch>
<property name="text"> </sizepolicy>
<string>Mix Level</string> </property>
</property> <property name="maximumSize">
</widget> <size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_4">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Mix Level</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_17">
<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>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_19"> <layout class="QHBoxLayout" name="horizontalLayout_19">
@ -701,8 +885,37 @@ Typical value is 50% for + or X configuration on quads.</string>
</property> </property>
</spacer> </spacer>
</item> </item>
<item>
<widget class="QPushButton" name="throttleCurveHelp_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QLabel" name="label_24"> <widget class="QLabel" name="label_24">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text"> <property name="text">
<string>Throttle Curve</string> <string>Throttle Curve</string>
</property> </property>
@ -772,18 +985,64 @@ Typical value is 50% for + or X configuration on quads.</string>
</layout> </layout>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_6" stretch="1,3"> <layout class="QHBoxLayout" name="horizontalLayout_6" stretch="1,0,3">
<property name="spacing"> <property name="spacing">
<number>10</number> <number>10</number>
</property> </property>
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_10"> <layout class="QVBoxLayout" name="verticalLayout_10">
<item> <item>
<widget class="QLabel" name="label_23"> <layout class="QHBoxLayout" name="horizontalLayout_26">
<property name="text"> <item>
<string>Tricopter Yaw</string> <widget class="QPushButton" name="tricopterYawHelp">
</property> <property name="sizePolicy">
</widget> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_23">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Tricopter Yaw</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_18">
<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>
</item> </item>
<item> <item>
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="label_2">
@ -826,6 +1085,46 @@ Typical value is 50% for + or X configuration on quads.</string>
</item> </item>
</layout> </layout>
</item> </item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_26">
<item>
<widget class="QPushButton" name="motorOutputChanHelp">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item> <item>
<widget class="QGroupBox" name="groupBox"> <widget class="QGroupBox" name="groupBox">
<property name="title"> <property name="title">
@ -1089,6 +1388,8 @@ p, li { white-space: pre-wrap; }
<property name="font"> <property name="font">
<font> <font>
<pointsize>9</pointsize> <pointsize>9</pointsize>
<weight>75</weight>
<bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@ -1175,6 +1476,8 @@ p, li { white-space: pre-wrap; }
<property name="font"> <property name="font">
<font> <font>
<pointsize>9</pointsize> <pointsize>9</pointsize>
<weight>75</weight>
<bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@ -1833,6 +2136,23 @@ p, li { white-space: pre-wrap; }
</property> </property>
</spacer> </spacer>
</item> </item>
<item>
<widget class="QPushButton" name="commandHelp">
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QPushButton" name="getAircraftCurrent"> <widget class="QPushButton" name="getAircraftCurrent">
<property name="toolTip"> <property name="toolTip">
@ -1875,17 +2195,57 @@ p, li { white-space: pre-wrap; }
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_11" stretch="0,1,0,0,0,0"> <layout class="QVBoxLayout" name="verticalLayout_11" stretch="0,1,0,0,0,0">
<item> <item>
<widget class="QLabel" name="label_19"> <layout class="QHBoxLayout" name="horizontalLayout_24">
<property name="font"> <item>
<font> <widget class="QPushButton" name="feedForwardHelp">
<weight>75</weight> <property name="sizePolicy">
<bold>true</bold> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
</font> <horstretch>0</horstretch>
</property> <verstretch>0</verstretch>
<property name="text"> </sizepolicy>
<string>Feed Forward</string> </property>
</property> <property name="maximumSize">
</widget> <size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_19">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Feed Forward</string>
</property>
</widget>
</item>
<item>
<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>
</layout>
</item> </item>
<item> <item>
<layout class="QFormLayout" name="formLayout_7"> <layout class="QFormLayout" name="formLayout_7">
@ -2170,6 +2530,29 @@ p, li { white-space: pre-wrap; }
</property> </property>
</spacer> </spacer>
</item> </item>
<item>
<widget class="QPushButton" name="commandHelp_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QPushButton" name="ffGetCurrent"> <widget class="QPushButton" name="ffGetCurrent">
<property name="toolTip"> <property name="toolTip">
@ -2224,7 +2607,9 @@ p, li { white-space: pre-wrap; }
<container>1</container> <container>1</container>
</customwidget> </customwidget>
</customwidgets> </customwidgets>
<resources/> <resources>
<include location="configgadget.qrc"/>
</resources>
<connections> <connections>
<connection> <connection>
<sender>feedForwardSlider</sender> <sender>feedForwardSlider</sender>

View File

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>415</width> <width>331</width>
<height>349</height> <height>324</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -15,243 +15,324 @@
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<widget class="QGroupBox" name="groupBox_2"> <layout class="QVBoxLayout" name="verticalLayout_8">
<property name="sizePolicy"> <item>
<sizepolicy hsizetype="Minimum" vsizetype="Preferred"> <layout class="QHBoxLayout" name="horizontalLayout_7">
<horstretch>0</horstretch> <item>
<verstretch>0</verstretch> <widget class="QPushButton" name="attitudeRotationHelp">
</sizepolicy> <property name="sizePolicy">
</property> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<property name="minimumSize"> <horstretch>0</horstretch>
<size> <verstretch>0</verstretch>
<width>0</width> </sizepolicy>
<height>110</height> </property>
</size> <property name="maximumSize">
</property> <size>
<property name="title"> <width>20</width>
<string>Attitude Rotation</string> <height>20</height>
</property> </size>
<widget class="QSpinBox" name="rollBias"> </property>
<property name="geometry"> <property name="text">
<rect> <string/>
<x>10</x> </property>
<y>70</y> <property name="icon">
<width>81</width> <iconset resource="configgadget.qrc">
<height>25</height> <normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</rect> </property>
</property> </widget>
<property name="minimum"> </item>
<number>-180</number> <item>
</property> <widget class="QLabel" name="label_6">
<property name="maximum"> <property name="font">
<number>180</number> <font>
</property> <weight>75</weight>
</widget> <bold>true</bold>
<widget class="QSpinBox" name="pitchBias"> </font>
<property name="geometry"> </property>
<rect> <property name="text">
<x>120</x> <string>Attitude Rotation</string>
<y>70</y> </property>
<width>81</width> </widget>
<height>25</height> </item>
</rect> <item>
</property> <spacer name="horizontalSpacer_5">
<property name="minimum"> <property name="orientation">
<number>-90</number> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="maximum"> <property name="sizeHint" stdset="0">
<number>90</number> <size>
</property> <width>40</width>
</widget> <height>20</height>
<widget class="QSpinBox" name="yawBias"> </size>
<property name="geometry"> </property>
<rect> </spacer>
<x>220</x> </item>
<y>70</y> </layout>
<width>81</width> </item>
<height>25</height> <item>
</rect> <widget class="QLabel" name="label_5">
</property> <property name="text">
<property name="minimum"> <string> Select the amount to rotate the attitude</string>
<number>-180</number> </property>
</property> </widget>
<property name="maximum"> </item>
<number>180</number> <item>
</property> <layout class="QHBoxLayout" name="horizontalLayout_8">
</widget> <item>
<widget class="QLabel" name="label_2"> <layout class="QVBoxLayout" name="verticalLayout_11">
<property name="geometry"> <item>
<rect> <widget class="QLabel" name="label_2">
<x>10</x> <property name="text">
<y>50</y> <string>Roll</string>
<width>91</width> </property>
<height>16</height> <property name="alignment">
</rect> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property> </property>
<property name="text"> </widget>
<string>Roll</string> </item>
</property> <item>
<property name="alignment"> <widget class="QSpinBox" name="rollBias">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> <property name="minimum">
</property> <number>-180</number>
</widget> </property>
<widget class="QLabel" name="label_3"> <property name="maximum">
<property name="geometry"> <number>180</number>
<rect> </property>
<x>120</x> </widget>
<y>50</y> </item>
<width>81</width> </layout>
<height>16</height> </item>
</rect> <item>
</property> <layout class="QVBoxLayout" name="verticalLayout_10">
<property name="text"> <item>
<string>Pitch</string> <widget class="QLabel" name="label_3">
</property> <property name="text">
<property name="alignment"> <string>Pitch</string>
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> </property>
</property> <property name="alignment">
</widget> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
<widget class="QLabel" name="label_4"> </property>
<property name="geometry"> </widget>
<rect> </item>
<x>220</x> <item>
<y>50</y> <widget class="QSpinBox" name="pitchBias">
<width>81</width> <property name="minimum">
<height>16</height> <number>-90</number>
</rect> </property>
</property> <property name="maximum">
<property name="text"> <number>90</number>
<string>Yaw</string> </property>
</property> </widget>
<property name="alignment"> </item>
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> </layout>
</property> </item>
</widget> <item>
<widget class="QLabel" name="label_5"> <layout class="QVBoxLayout" name="verticalLayout_9">
<property name="geometry"> <item>
<rect> <widget class="QLabel" name="label_4">
<x>10</x> <property name="text">
<y>30</y> <string>Yaw</string>
<width>341</width> </property>
<height>16</height> <property name="alignment">
</rect> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property> </property>
<property name="text"> </widget>
<string>Select the amount to rotate the attitude</string> </item>
</property> <item>
</widget> <widget class="QSpinBox" name="yawBias">
</widget> <property name="minimum">
<number>-180</number>
</property>
<property name="maximum">
<number>180</number>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</item> </item>
<item> <item>
<widget class="QGroupBox" name="groupBox"> <layout class="QVBoxLayout" name="verticalLayout_7">
<property name="sizePolicy"> <item>
<sizepolicy hsizetype="Minimum" vsizetype="Minimum"> <layout class="QHBoxLayout" name="horizontalLayout_6">
<horstretch>0</horstretch> <item>
<verstretch>0</verstretch> <widget class="QPushButton" name="attitudeCalibHelp">
</sizepolicy> <property name="sizePolicy">
</property> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<property name="minimumSize"> <horstretch>0</horstretch>
<size> <verstretch>0</verstretch>
<width>0</width> </sizepolicy>
<height>140</height> </property>
</size> <property name="maximumSize">
</property> <size>
<property name="title"> <width>20</width>
<string>Attitude Calibration</string> <height>20</height>
</property> </size>
<layout class="QVBoxLayout" name="verticalLayout_2"> </property>
<item> <property name="text">
<layout class="QVBoxLayout" name="verticalLayout_3"> <string/>
<property name="margin"> </property>
<number>3</number> <property name="icon">
</property> <iconset resource="configgadget.qrc">
<item> <normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
<widget class="QLabel" name="label"> </property>
<property name="text"> </widget>
<string>Place aircraft flat before computing</string> </item>
</property> <item>
</widget> <widget class="QLabel" name="label_7">
</item> <property name="font">
<item> <font>
<layout class="QHBoxLayout" name="horizontalLayout_3"> <weight>75</weight>
<item> <bold>true</bold>
<spacer name="horizontalSpacer_3"> </font>
<property name="orientation"> </property>
<enum>Qt::Horizontal</enum> <property name="text">
</property> <string>Attitude Calibration</string>
<property name="sizeHint" stdset="0"> </property>
<size> </widget>
<width>40</width> </item>
<height>20</height> <item>
</size> <spacer name="horizontalSpacer_6">
</property> <property name="orientation">
</spacer> <enum>Qt::Horizontal</enum>
</item> </property>
<item> <property name="sizeHint" stdset="0">
<widget class="QLabel" name="status"> <size>
<property name="text"> <width>40</width>
<string>Click &quot;Zero Accel Bias&quot; to start</string> <height>20</height>
</property> </size>
</widget> </property>
</item> </spacer>
<item> </item>
<spacer name="horizontalSpacer_2"> </layout>
<property name="orientation"> </item>
<enum>Qt::Horizontal</enum> <item>
</property> <widget class="QLabel" name="label">
<property name="sizeHint" stdset="0"> <property name="text">
<size> <string>Place aircraft flat before computing</string>
<width>40</width> </property>
<height>20</height> </widget>
</size> </item>
</property> <item>
</spacer> <layout class="QHBoxLayout" name="horizontalLayout_3">
</item> <item>
</layout> <spacer name="horizontalSpacer_3">
</item> <property name="orientation">
<item> <enum>Qt::Horizontal</enum>
<layout class="QHBoxLayout" name="horizontalLayout"> </property>
<property name="spacing"> <property name="sizeHint" stdset="0">
<number>6</number> <size>
</property> <width>40</width>
<property name="margin"> <height>20</height>
<number>4</number> </size>
</property> </property>
<item> </spacer>
<widget class="QPushButton" name="zeroBias"> </item>
<property name="toolTip"> <item>
<string>Launch horizontal calibration.</string> <widget class="QLabel" name="status">
</property> <property name="text">
<property name="text"> <string>Click &quot;Zero Accel Bias&quot; to start</string>
<string>Zero Accel Bias</string> </property>
</property> </widget>
</widget> </item>
</item> <item>
<item> <spacer name="horizontalSpacer_2">
<widget class="QProgressBar" name="zeroBiasProgress"> <property name="orientation">
<property name="value"> <enum>Qt::Horizontal</enum>
<number>0</number> </property>
</property> <property name="sizeHint" stdset="0">
</widget> <size>
</item> <width>40</width>
</layout> <height>20</height>
</item> </size>
</layout> </property>
</item> </spacer>
</layout> </item>
</widget> </layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>6</number>
</property>
<property name="margin">
<number>4</number>
</property>
<item>
<widget class="QPushButton" name="zeroBias">
<property name="toolTip">
<string>Launch horizontal calibration.</string>
</property>
<property name="text">
<string>Zero Accel Bias</string>
</property>
</widget>
</item>
<item>
<widget class="QProgressBar" name="zeroBiasProgress">
<property name="value">
<number>0</number>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="zeroGyroBiasOnArming"> <layout class="QHBoxLayout" name="horizontalLayout_4">
<property name="toolTip"> <item>
<string>If enabled, a fast recalibration of gyro zero point will be done <widget class="QPushButton" name="zeroOnArmHelp">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="zeroGyroBiasOnArming">
<property name="toolTip">
<string>If enabled, a fast recalibration of gyro zero point will be done
whenever the frame is armed. Do not move the airframe while whenever the frame is armed. Do not move the airframe while
arming it in that case!</string> arming it in that case!</string>
</property> </property>
<property name="text"> <property name="text">
<string>Zero gyro bias upon airframe arming</string> <string>Zero gyro bias upon airframe arming</string>
</property> </property>
</widget> </widget>
</item>
<item>
<spacer name="horizontalSpacer_4">
<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>
</item> </item>
<item> <item>
<spacer name="verticalSpacer_2"> <spacer name="verticalSpacer_2">
@ -281,6 +362,29 @@ arming it in that case!</string>
</property> </property>
</spacer> </spacer>
</item> </item>
<item>
<widget class="QPushButton" name="commandHelp">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QPushButton" name="getCurrentButton"> <widget class="QPushButton" name="getCurrentButton">
<property name="text"> <property name="text">
@ -322,6 +426,8 @@ arming it in that case!</string>
</item> </item>
</layout> </layout>
</widget> </widget>
<resources/> <resources>
<include location="configgadget.qrc"/>
</resources>
<connections/> <connections/>
</ui> </ui>

View File

@ -37,6 +37,7 @@
#include <QThread> #include <QThread>
#include <iostream> #include <iostream>
#include <Eigen/align-function.h> #include <Eigen/align-function.h>
#include <QSignalMapper>
#include "assertions.h" #include "assertions.h"
#include "calibration.h" #include "calibration.h"
@ -227,6 +228,24 @@ ConfigAHRSWidget::ConfigAHRSWidget(QWidget *parent) : ConfigTaskWidget(parent)
connect(m_ahrs->startDriftCalib, SIGNAL(clicked()),this, SLOT(launchGyroDriftCalibration())); connect(m_ahrs->startDriftCalib, SIGNAL(clicked()),this, SLOT(launchGyroDriftCalibration()));
connect(parent, SIGNAL(autopilotConnected()),this, SLOT(ahrsSettingsRequest())); connect(parent, SIGNAL(autopilotConnected()),this, SLOT(ahrsSettingsRequest()));
// Connect all the help buttons to signal mapper that passes button name to SLOT function
QSignalMapper* signalMapper = new QSignalMapper(this);
connect( m_ahrs->multiPointHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_ahrs->multiPointHelp, m_ahrs->multiPointHelp->objectName());
connect( m_ahrs->sensorNoiseHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_ahrs->sensorNoiseHelp, m_ahrs->sensorNoiseHelp->objectName());
connect( m_ahrs->accelBiasHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_ahrs->accelBiasHelp, m_ahrs->accelBiasHelp->objectName());
connect( m_ahrs->gyroDriftHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_ahrs->gyroDriftHelp, m_ahrs->gyroDriftHelp->objectName());
connect( m_ahrs->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_ahrs->commandHelp, QString("commandHelp"));
connect( m_ahrs->insAlgorithmHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_ahrs->insAlgorithmHelp, m_ahrs->insAlgorithmHelp->objectName());
connect( m_ahrs->homeLocationHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_ahrs->homeLocationHelp, m_ahrs->homeLocationHelp->objectName());
connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &)));
} }

View File

@ -34,6 +34,7 @@
#include <QtGui/QVBoxLayout> #include <QtGui/QVBoxLayout>
#include <QtGui/QPushButton> #include <QtGui/QPushButton>
#include <math.h> #include <math.h>
#include <QSignalMapper>
/** /**
Helper delegate for the custom mixer editor table. Helper delegate for the custom mixer editor table.
@ -192,6 +193,32 @@ ConfigAirframeWidget::ConfigAirframeWidget(QWidget *parent) : ConfigTaskWidget(p
connect(parent, SIGNAL(autopilotConnected()),this, SLOT(requestAircraftUpdate())); connect(parent, SIGNAL(autopilotConnected()),this, SLOT(requestAircraftUpdate()));
// Connect all the help buttons to signal mapper that passes button name to SLOT function
QSignalMapper* signalMapper = new QSignalMapper(this);
connect( m_aircraft->acftTypeHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_aircraft->acftTypeHelp, m_aircraft->acftTypeHelp->objectName());
connect( m_aircraft->airplaneTypeHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_aircraft->airplaneTypeHelp, m_aircraft->airplaneTypeHelp->objectName());
connect( m_aircraft->channelAssignmentHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_aircraft->channelAssignmentHelp, m_aircraft->channelAssignmentHelp->objectName());
connect( m_aircraft->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_aircraft->commandHelp, QString("commandHelp"));
connect( m_aircraft->throttleCurveHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_aircraft->throttleCurveHelp, QString("throttleCurveHelp"));
connect( m_aircraft->multiFrameTypeHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_aircraft->multiFrameTypeHelp, m_aircraft->multiFrameTypeHelp->objectName());
connect( m_aircraft->throttleCurveHelp_2, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_aircraft->throttleCurveHelp_2, QString("throttleCurveHelp"));
connect( m_aircraft->tricopterYawHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_aircraft->tricopterYawHelp, m_aircraft->tricopterYawHelp->objectName());
connect( m_aircraft->motorOutputChanHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_aircraft->motorOutputChanHelp, m_aircraft->motorOutputChanHelp->objectName());
connect( m_aircraft->feedForwardHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_aircraft->feedForwardHelp, m_aircraft->feedForwardHelp->objectName());
connect( m_aircraft->commandHelp_2, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_aircraft->commandHelp_2, QString("commandHelp"));
connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &)));
} }
ConfigAirframeWidget::~ConfigAirframeWidget() ConfigAirframeWidget::~ConfigAirframeWidget()

View File

@ -30,6 +30,7 @@
#include <QMutexLocker> #include <QMutexLocker>
#include <QMessageBox> #include <QMessageBox>
#include <QDebug> #include <QDebug>
#include <QSignalMapper>
ConfigCCAttitudeWidget::ConfigCCAttitudeWidget(QWidget *parent) : ConfigCCAttitudeWidget::ConfigCCAttitudeWidget(QWidget *parent) :
ConfigTaskWidget(parent), ConfigTaskWidget(parent),
@ -44,6 +45,19 @@ ConfigCCAttitudeWidget::ConfigCCAttitudeWidget(QWidget *parent) :
// Make it smart: // Make it smart:
connect(parent, SIGNAL(autopilotConnected()),this, SLOT(getCurrentAttitudeSettings())); connect(parent, SIGNAL(autopilotConnected()),this, SLOT(getCurrentAttitudeSettings()));
getCurrentAttitudeSettings(); // The 1st time this panel is instanciated, the autopilot is already connected. getCurrentAttitudeSettings(); // The 1st time this panel is instanciated, the autopilot is already connected.
// Connect all the help buttons to signal mapper that passes button name to SLOT function
QSignalMapper* signalMapper = new QSignalMapper(this);
connect( ui->attitudeRotationHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(ui->attitudeRotationHelp, ui->attitudeRotationHelp->objectName());
connect( ui->attitudeCalibHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(ui->attitudeCalibHelp, ui->attitudeCalibHelp->objectName());
connect( ui->zeroOnArmHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(ui->zeroOnArmHelp, ui->zeroOnArmHelp->objectName());
connect( ui->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(ui->commandHelp, QString("commandHelp"));
connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &)));
} }
ConfigCCAttitudeWidget::~ConfigCCAttitudeWidget() ConfigCCAttitudeWidget::~ConfigCCAttitudeWidget()

View File

@ -1,17 +1,18 @@
<RCC> <RCC>
<qresource prefix="/configgadget"> <qresource prefix="/configgadget">
<file>images/XBee.svg</file> <file>images/help2.png</file>
<file>images/Airframe.png</file> <file>images/XBee.svg</file>
<file>images/Servo.png</file> <file>images/Airframe.png</file>
<file>images/ahrs-calib.svg</file> <file>images/Servo.png</file>
<file>images/AHRS-v1.3.png</file> <file>images/ahrs-calib.svg</file>
<file>images/paper-plane.svg</file> <file>images/AHRS-v1.3.png</file>
<file>images/curve-bg.svg</file> <file>images/paper-plane.svg</file>
<file>images/quad-shapes.svg</file> <file>images/curve-bg.svg</file>
<file>images/ccpm_setup.svg</file> <file>images/quad-shapes.svg</file>
<file>images/PipXtreme.png</file> <file>images/ccpm_setup.svg</file>
<file>images/gyroscope.svg</file> <file>images/PipXtreme.png</file>
<file>images/Transmitter.png</file> <file>images/gyroscope.svg</file>
<file>images/help.png</file> <file>images/Transmitter.png</file>
</qresource> <file>images/help.png</file>
</RCC> </qresource>
</RCC>

View File

@ -95,6 +95,7 @@ ConfigGadgetWidget::ConfigGadgetWidget(QWidget *parent) : QWidget(parent)
if (telMngr->isConnected()) if (telMngr->isConnected())
onAutopilotConnect(); onAutopilotConnect();
help = 0;
} }
ConfigGadgetWidget::~ConfigGadgetWidget() ConfigGadgetWidget::~ConfigGadgetWidget()
@ -139,3 +140,43 @@ void ConfigGadgetWidget::onAutopilotConnect() {
emit autopilotConnected(); emit autopilotConnected();
} }
void ConfigGadgetWidget::showHelp(const QString &helpName)
{
// Close any previous help windows still open
if(help != 0) {
help->close();
}
// Make help windows with given filename and resize to config gadget width
help = new QTextBrowser(this);
help->setSource(QUrl::fromLocalFile( QString(Utils::PathUtils().InsertDataPath("%%DATAPATH%%help/")) +
helpName + QString(".html") ));
QSize size = help->sizeHint();
size.setWidth(this->width());
help->resize(size);
// Now catch closing events, show the window and give it focus
help->installEventFilter(this);
help->show();
help->setFocus();
}
bool ConfigGadgetWidget::eventFilter(QObject *obj, QEvent *event)
{
// If help is open and we get a close event, close the help window
// Close events currently are any key press and the mouse leaving the help window
//printf("event type: %d\n",event->type());
if(help != 0) {
if (event->type() == QEvent::Leave || event->type() == QEvent::KeyPress) {
help->close();
help=0;
return true;
}
}
// standard event processing
return QObject::eventFilter(obj, event);
}

View File

@ -34,6 +34,9 @@
#include "objectpersistence.h" #include "objectpersistence.h"
#include <QtGui/QWidget> #include <QtGui/QWidget>
#include <QList> #include <QList>
//#include <QtWebKit/QWebView>
#include <QTextBrowser>
#include "utils/pathutils.h"
#include "fancytabwidget.h" #include "fancytabwidget.h"
@ -41,6 +44,7 @@
class ConfigGadgetWidget: public QWidget class ConfigGadgetWidget: public QWidget
{ {
Q_OBJECT Q_OBJECT
QTextBrowser* help;
public: public:
ConfigGadgetWidget(QWidget *parent = 0); ConfigGadgetWidget(QWidget *parent = 0);
@ -48,6 +52,10 @@ public:
public slots: public slots:
void onAutopilotConnect(); void onAutopilotConnect();
void showHelp(const QString &helpName);
private slots:
bool eventFilter(QObject *obj, QEvent *event);
signals: signals:
void autopilotConnected(); void autopilotConnected();

View File

@ -35,6 +35,7 @@
#include <QtGui/QTextEdit> #include <QtGui/QTextEdit>
#include <QtGui/QVBoxLayout> #include <QtGui/QVBoxLayout>
#include <QtGui/QPushButton> #include <QtGui/QPushButton>
#include <QSignalMapper>
ConfigInputWidget::ConfigInputWidget(QWidget *parent) : ConfigTaskWidget(parent) ConfigInputWidget::ConfigInputWidget(QWidget *parent) : ConfigTaskWidget(parent)
{ {
@ -199,6 +200,30 @@ ConfigInputWidget::ConfigInputWidget(QWidget *parent) : ConfigTaskWidget(parent)
connect(tm, SIGNAL(disconnected()), this, SLOT(onTelemetryDisconnect())); connect(tm, SIGNAL(disconnected()), this, SLOT(onTelemetryDisconnect()));
} }
} }
// Connect all the help buttons to signal mapper that passes button name to SLOT function
QSignalMapper* signalMapper = new QSignalMapper(this);
connect( m_config->receiverTypeHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_config->receiverTypeHelp, m_config->receiverTypeHelp->objectName());
connect( m_config->runCalibrationHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_config->runCalibrationHelp, m_config->runCalibrationHelp->objectName());
connect( m_config->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_config->commandHelp, QString("commandHelp"));
connect( m_config->flightModeSwPosHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_config->flightModeSwPosHelp, m_config->flightModeSwPosHelp->objectName());
connect( m_config->stabilizationModePerAxis, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_config->stabilizationModePerAxis, m_config->stabilizationModePerAxis->objectName());
connect( m_config->commandHelp_2, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_config->commandHelp_2, QString("commandHelp"));
connect( m_config->armPositionHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_config->armPositionHelp, m_config->armPositionHelp->objectName());
connect( m_config->armingTimeoutHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_config->armingTimeoutHelp, m_config->armingTimeoutHelp->objectName());
connect( m_config->commandHelp_3, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_config->commandHelp_2, QString("commandHelp"));
connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &)));
} }
ConfigInputWidget::~ConfigInputWidget() ConfigInputWidget::~ConfigInputWidget()

View File

@ -36,6 +36,7 @@
#include <QtGui/QVBoxLayout> #include <QtGui/QVBoxLayout>
#include <QtGui/QPushButton> #include <QtGui/QPushButton>
#include <QMessageBox> #include <QMessageBox>
#include <QSignalMapper>
ConfigOutputWidget::ConfigOutputWidget(QWidget *parent) : ConfigTaskWidget(parent) ConfigOutputWidget::ConfigOutputWidget(QWidget *parent) : ConfigTaskWidget(parent)
{ {
@ -160,6 +161,21 @@ ConfigOutputWidget::ConfigOutputWidget(QWidget *parent) : ConfigTaskWidget(paren
connect(tm, SIGNAL(disconnected()), this, SLOT(onTelemetryDisconnect())); connect(tm, SIGNAL(disconnected()), this, SLOT(onTelemetryDisconnect()));
} }
} }
// Connect all the help buttons to signal mapper that passes button name to SLOT function
QSignalMapper* signalMapper = new QSignalMapper(this);
connect( m_config->channelRateHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_config->channelRateHelp, m_config->channelRateHelp->objectName());
connect( m_config->channelValuesHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_config->channelValuesHelp, m_config->channelValuesHelp->objectName());
connect( m_config->spinningArmedlHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_config->spinningArmedlHelp, m_config->spinningArmedlHelp->objectName());
connect( m_config->testOutputsHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_config->testOutputsHelp, m_config->testOutputsHelp->objectName());
connect( m_config->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_config->commandHelp, QString("commandHelp"));
connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &)));
} }
ConfigOutputWidget::~ConfigOutputWidget() ConfigOutputWidget::~ConfigOutputWidget()

View File

@ -32,7 +32,7 @@
#include <QtGui/QTextEdit> #include <QtGui/QTextEdit>
#include <QtGui/QVBoxLayout> #include <QtGui/QVBoxLayout>
#include <QtGui/QPushButton> #include <QtGui/QPushButton>
#include <QSignalMapper>
ConfigStabilizationWidget::ConfigStabilizationWidget(QWidget *parent) : ConfigTaskWidget(parent) ConfigStabilizationWidget::ConfigStabilizationWidget(QWidget *parent) : ConfigTaskWidget(parent)
@ -43,7 +43,7 @@ ConfigStabilizationWidget::ConfigStabilizationWidget(QWidget *parent) : ConfigTa
m_stabilization->setupUi(this); m_stabilization->setupUi(this);
// Now connect the widget to the ManualControlCommand / Channel UAVObject // Now connect the widget to the ManualControlCommand / Channel UAVObject
UAVObject *obj = dynamic_cast<UAVDataObject*>(getObjectManager()->getObject(QString("StabilizationSettings"))); //UAVObject *obj = dynamic_cast<UAVDataObject*>(getObjectManager()->getObject(QString("StabilizationSettings")));
requestStabilizationUpdate(); requestStabilizationUpdate();
connect(m_stabilization->saveStabilizationToSD, SIGNAL(clicked()), this, SLOT(saveStabilizationUpdate())); connect(m_stabilization->saveStabilizationToSD, SIGNAL(clicked()), this, SLOT(saveStabilizationUpdate()));
@ -74,6 +74,20 @@ ConfigStabilizationWidget::ConfigStabilizationWidget(QWidget *parent) : ConfigTa
connect(m_stabilization->pitchKi, SIGNAL(valueChanged(double)), this, SLOT(updatePitchKI(double))); connect(m_stabilization->pitchKi, SIGNAL(valueChanged(double)), this, SLOT(updatePitchKI(double)));
connect(m_stabilization->pitchILimit, SIGNAL(valueChanged(double)), this, SLOT(updatePitchILimit(double))); connect(m_stabilization->pitchILimit, SIGNAL(valueChanged(double)), this, SLOT(updatePitchILimit(double)));
// Connect all the help buttons to signal mapper that passes button name to SLOT function
QSignalMapper* signalMapper = new QSignalMapper(this);
connect( m_stabilization->rateStabiHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_stabilization->rateStabiHelp, m_stabilization->rateStabiHelp->objectName());
connect( m_stabilization->attitudeStabiHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_stabilization->attitudeStabiHelp, m_stabilization->attitudeStabiHelp->objectName());
connect( m_stabilization->angleLimitsHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_stabilization->angleLimitsHelp, m_stabilization->angleLimitsHelp->objectName());
connect( m_stabilization->updateRealTimeHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_stabilization->updateRealTimeHelp, m_stabilization->updateRealTimeHelp->objectName());
connect( m_stabilization->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_stabilization->commandHelp, m_stabilization->commandHelp->objectName());
connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &)));
} }
ConfigStabilizationWidget::~ConfigStabilizationWidget() ConfigStabilizationWidget::~ConfigStabilizationWidget()
@ -275,3 +289,4 @@ void ConfigStabilizationWidget::realtimeUpdateToggle(bool state)
else else
updateTimer.stop(); updateTimer.stop();
} }

View File

@ -50,7 +50,6 @@ private:
StabilizationSettings* stabSettings; StabilizationSettings* stabSettings;
QTimer updateTimer; QTimer updateTimer;
private slots: private slots:
void requestStabilizationUpdate(); void requestStabilizationUpdate();
void sendStabilizationUpdate(); void sendStabilizationUpdate();
@ -72,8 +71,6 @@ private slots:
void updatePitchKP(double); void updatePitchKP(double);
void updatePitchKI(double); void updatePitchKI(double);
void updatePitchILimit(double); void updatePitchILimit(double);
}; };
#endif // ConfigStabilizationWidget_H #endif // ConfigStabilizationWidget_H

View File

@ -32,7 +32,7 @@
#include <QtGui/QTextEdit> #include <QtGui/QTextEdit>
#include <QtGui/QVBoxLayout> #include <QtGui/QVBoxLayout>
#include <QtGui/QPushButton> #include <QtGui/QPushButton>
#include <QSignalMapper>
ConfigTelemetryWidget::ConfigTelemetryWidget(QWidget *parent) : ConfigTaskWidget(parent) ConfigTelemetryWidget::ConfigTelemetryWidget(QWidget *parent) : ConfigTaskWidget(parent)
@ -55,6 +55,14 @@ ConfigTelemetryWidget::ConfigTelemetryWidget(QWidget *parent) : ConfigTaskWidget
connect(parent, SIGNAL(autopilotConnected()),this, SLOT(requestTelemetryUpdate())); connect(parent, SIGNAL(autopilotConnected()),this, SLOT(requestTelemetryUpdate()));
// Connect all the help buttons to signal mapper that passes button name to SLOT function
QSignalMapper* signalMapper = new QSignalMapper(this);
connect( m_telemetry->telemetryHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_telemetry->telemetryHelp, m_telemetry->telemetryHelp->objectName());
connect( m_telemetry->commandHelp, SIGNAL(clicked()), signalMapper, SLOT(map()) );
signalMapper->setMapping(m_telemetry->commandHelp, QString("commandHelp"));
connect(signalMapper, SIGNAL(mapped(const QString &)), parent, SLOT(showHelp(const QString &)));
} }
ConfigTelemetryWidget::~ConfigTelemetryWidget() ConfigTelemetryWidget::~ConfigTelemetryWidget()

View File

@ -17,7 +17,7 @@
<item> <item>
<widget class="QTabWidget" name="tabWidget"> <widget class="QTabWidget" name="tabWidget">
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>2</number>
</property> </property>
<widget class="QWidget" name="tab"> <widget class="QWidget" name="tab">
<attribute name="title"> <attribute name="title">
@ -893,7 +893,7 @@ p, li { white-space: pre-wrap; }
<widget class="QCheckBox" name="doRCInputCalibration"> <widget class="QCheckBox" name="doRCInputCalibration">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>20</x> <x>40</x>
<y>283</y> <y>283</y>
<width>181</width> <width>181</width>
<height>22</height> <height>22</height>
@ -967,6 +967,12 @@ Neutral should be put at the bottom of the slider for the throttle.</string>
<height>17</height> <height>17</height>
</rect> </rect>
</property> </property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text"> <property name="text">
<string>Receiver Type:</string> <string>Receiver Type:</string>
</property> </property>
@ -1348,6 +1354,93 @@ reversal capabilities).</string>
<string/> <string/>
</property> </property>
</widget> </widget>
<widget class="QPushButton" name="commandHelp">
<property name="geometry">
<rect>
<x>230</x>
<y>284</y>
<width>20</width>
<height>20</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
<widget class="QPushButton" name="runCalibrationHelp">
<property name="geometry">
<rect>
<x>10</x>
<y>284</y>
<width>20</width>
<height>20</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
<widget class="QPushButton" name="receiverTypeHelp">
<property name="geometry">
<rect>
<x>10</x>
<y>10</y>
<width>20</width>
<height>20</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</widget> </widget>
<widget class="QWidget" name="tab_3"> <widget class="QWidget" name="tab_3">
<attribute name="title"> <attribute name="title">
@ -1444,7 +1537,7 @@ Applies and Saves all settings to SD</string>
<widget class="QGroupBox" name="groupBox"> <widget class="QGroupBox" name="groupBox">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>10</x> <x>30</x>
<y>130</y> <y>130</y>
<width>445</width> <width>445</width>
<height>155</height> <height>155</height>
@ -1546,7 +1639,7 @@ Applies and Saves all settings to SD</string>
<widget class="QGroupBox" name="groupBox_2"> <widget class="QGroupBox" name="groupBox_2">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>10</x> <x>30</x>
<y>0</y> <y>0</y>
<width>261</width> <width>261</width>
<height>121</height> <height>121</height>
@ -1667,6 +1760,87 @@ if you have not done so already.</string>
</property> </property>
</widget> </widget>
</widget> </widget>
<widget class="QPushButton" name="flightModeSwPosHelp">
<property name="geometry">
<rect>
<x>5</x>
<y>0</y>
<width>20</width>
<height>20</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
<widget class="QPushButton" name="stabilizationModePerAxis">
<property name="geometry">
<rect>
<x>5</x>
<y>130</y>
<width>20</width>
<height>20</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
<widget class="QPushButton" name="commandHelp_2">
<property name="geometry">
<rect>
<x>240</x>
<y>314</y>
<width>20</width>
<height>20</height>
</rect>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</widget> </widget>
<widget class="QWidget" name="tab_4"> <widget class="QWidget" name="tab_4">
<attribute name="title"> <attribute name="title">
@ -1675,6 +1849,29 @@ if you have not done so already.</string>
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="armPositionHelp">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QLabel" name="label_17"> <widget class="QLabel" name="label_17">
<property name="font"> <property name="font">
@ -1712,6 +1909,29 @@ if you have not done so already.</string>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QPushButton" name="armingTimeoutHelp">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QLabel" name="label_18"> <widget class="QLabel" name="label_18">
<property name="text"> <property name="text">
@ -1779,6 +1999,29 @@ if you have not done so already.</string>
</property> </property>
</spacer> </spacer>
</item> </item>
<item>
<widget class="QPushButton" name="commandHelp_3">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QPushButton" name="getArmCurrent"> <widget class="QPushButton" name="getArmCurrent">
<property name="text"> <property name="text">
@ -1839,6 +2082,8 @@ if you have not done so already.</string>
<tabstop>saveFmsToRAM</tabstop> <tabstop>saveFmsToRAM</tabstop>
<tabstop>saveFmsToSD</tabstop> <tabstop>saveFmsToSD</tabstop>
</tabstops> </tabstops>
<resources/> <resources>
<include location="configgadget.qrc"/>
</resources>
<connections/> <connections/>
</ui> </ui>

View File

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>663</width> <width>600</width>
<height>500</height> <height>466</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -38,7 +38,7 @@
<property name="spacing"> <property name="spacing">
<number>2</number> <number>2</number>
</property> </property>
<item row="1" column="4"> <item row="1" column="5">
<widget class="QSpinBox" name="outputRate4"> <widget class="QSpinBox" name="outputRate4">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
@ -52,7 +52,7 @@ Leave at 50Hz for fixed wing.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="3"> <item row="0" column="4">
<widget class="QLabel" name="chBank3"> <widget class="QLabel" name="chBank3">
<property name="text"> <property name="text">
<string>-</string> <string>-</string>
@ -62,7 +62,7 @@ Leave at 50Hz for fixed wing.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="2"> <item row="0" column="3">
<widget class="QLabel" name="chBank2"> <widget class="QLabel" name="chBank2">
<property name="text"> <property name="text">
<string>-</string> <string>-</string>
@ -72,7 +72,7 @@ Leave at 50Hz for fixed wing.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item row="0" column="2">
<widget class="QLabel" name="chBank1"> <widget class="QLabel" name="chBank1">
<property name="text"> <property name="text">
<string>-</string> <string>-</string>
@ -82,7 +82,7 @@ Leave at 50Hz for fixed wing.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="3"> <item row="1" column="4">
<widget class="QSpinBox" name="outputRate3"> <widget class="QSpinBox" name="outputRate3">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
@ -96,7 +96,7 @@ Leave at 50Hz for fixed wing.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="2"> <item row="1" column="3">
<widget class="QSpinBox" name="outputRate2"> <widget class="QSpinBox" name="outputRate2">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
@ -110,7 +110,7 @@ Leave at 50Hz for fixed wing.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="1"> <item row="1" column="2">
<widget class="QSpinBox" name="outputRate1"> <widget class="QSpinBox" name="outputRate1">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
@ -124,17 +124,7 @@ Leave at 50Hz for fixed wing.</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item row="0" column="5">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Update rate:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="4">
<widget class="QLabel" name="chBank4"> <widget class="QLabel" name="chBank4">
<property name="text"> <property name="text">
<string>-</string> <string>-</string>
@ -145,18 +135,116 @@ Leave at 50Hz for fixed wing.</string>
</widget> </widget>
</item> </item>
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="label_8"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="text"> <item>
<string>Channel:</string> <widget class="QPushButton" name="channelRateHelp">
</property> <property name="sizePolicy">
<property name="alignment"> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> <horstretch>0</horstretch>
</property> <verstretch>0</verstretch>
</widget> </sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item>
<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>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_8">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Channel:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_3">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Update rate:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
</layout>
</item> </item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item>
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item> <item>
<layout class="QGridLayout" name="gridLayout_2"> <layout class="QGridLayout" name="gridLayout_2">
<item row="1" column="0"> <item row="1" column="0">
@ -1010,14 +1098,77 @@ p, li { white-space: pre-wrap; }
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="0">
<widget class="QPushButton" name="channelValuesHelp">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
</layout> </layout>
</item> </item>
<item> <item>
<widget class="QCheckBox" name="spinningArmed"> <spacer name="verticalSpacer_2">
<property name="text"> <property name="orientation">
<string>Motors spin at neutral output when armed and throttle below zero (be careful)</string> <enum>Qt::Vertical</enum>
</property> </property>
</widget> <property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QPushButton" name="spinningArmedlHelp">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="spinningArmed">
<property name="text">
<string>Motors spin at neutral output when armed and throttle below zero (be careful)</string>
</property>
</widget>
</item>
</layout>
</item> </item>
<item> <item>
<spacer name="verticalSpacer"> <spacer name="verticalSpacer">
@ -1034,6 +1185,29 @@ p, li { white-space: pre-wrap; }
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="testOutputsHelp">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QCheckBox" name="channelOutTest"> <widget class="QCheckBox" name="channelOutTest">
<property name="enabled"> <property name="enabled">
@ -1062,6 +1236,29 @@ p, li { white-space: pre-wrap; }
</property> </property>
</spacer> </spacer>
</item> </item>
<item>
<widget class="QPushButton" name="commandHelp">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QPushButton" name="getRCOutputCurrent"> <widget class="QPushButton" name="getRCOutputCurrent">
<property name="toolTip"> <property name="toolTip">
@ -1151,12 +1348,13 @@ Applies and Saves all settings to SD</string>
<tabstop>ch7OutSlider</tabstop> <tabstop>ch7OutSlider</tabstop>
<tabstop>ch7Rev</tabstop> <tabstop>ch7Rev</tabstop>
<tabstop>ch7Link</tabstop> <tabstop>ch7Link</tabstop>
<tabstop>spinningArmed</tabstop>
<tabstop>channelOutTest</tabstop> <tabstop>channelOutTest</tabstop>
<tabstop>getRCOutputCurrent</tabstop> <tabstop>getRCOutputCurrent</tabstop>
<tabstop>saveRCOutputToRAM</tabstop> <tabstop>saveRCOutputToRAM</tabstop>
<tabstop>saveRCOutputToSD</tabstop> <tabstop>saveRCOutputToSD</tabstop>
</tabstops> </tabstops>
<resources/> <resources>
<include location="configgadget.qrc"/>
</resources>
<connections/> <connections/>
</ui> </ui>

View File

@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>639</width> <width>639</width>
<height>470</height> <height>657</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -21,8 +21,37 @@
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_3"> <layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QPushButton" name="rateStabiHelp">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QLabel" name="label_8"> <widget class="QLabel" name="label_8">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text"> <property name="text">
<string>Rate Stabilization (inner loop)</string> <string>Rate Stabilization (inner loop)</string>
</property> </property>
@ -44,7 +73,7 @@
<item> <item>
<widget class="QLabel" name="label_4"> <widget class="QLabel" name="label_4">
<property name="text"> <property name="text">
<string>Hint: read the toolips!</string> <string>Hint: read the tooltips!</string>
</property> </property>
</widget> </widget>
</item> </item>
@ -242,11 +271,57 @@ value as YawRate Kp.</string>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLabel" name="label_9"> <layout class="QHBoxLayout" name="horizontalLayout">
<property name="text"> <item>
<string>Attitude Stabilization (outer loop)</string> <widget class="QPushButton" name="attitudeStabiHelp">
</property> <property name="sizePolicy">
</widget> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_9">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Attitude Stabilization (outer loop)</string>
</property>
</widget>
</item>
<item>
<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>
</item> </item>
<item> <item>
<widget class="QFrame" name="frame_3"> <widget class="QFrame" name="frame_3">
@ -452,6 +527,29 @@ flying style.</string>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_4"> <layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QPushButton" name="angleLimitsHelp">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QLabel" name="label_5"> <widget class="QLabel" name="label_5">
<property name="font"> <property name="font">
@ -553,6 +651,29 @@ flying style.</string>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QPushButton" name="updateRealTimeHelp">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QCheckBox" name="realTimeUpdates"> <widget class="QCheckBox" name="realTimeUpdates">
<property name="toolTip"> <property name="toolTip">
@ -577,6 +698,29 @@ automatically every 300ms, which will help for fast tuning.</string>
</property> </property>
</spacer> </spacer>
</item> </item>
<item>
<widget class="QPushButton" name="commandHelp">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</item>
<item> <item>
<widget class="QPushButton" name="getStabilizationCurrent"> <widget class="QPushButton" name="getStabilizationCurrent">
<property name="text"> <property name="text">
@ -602,6 +746,8 @@ automatically every 300ms, which will help for fast tuning.</string>
</item> </item>
</layout> </layout>
</widget> </widget>
<resources/> <resources>
<include location="configgadget.qrc"/>
</resources>
<connections/> <connections/>
</ui> </ui>

View File

@ -50,12 +50,19 @@ p, li { white-space: pre-wrap; }
<widget class="QLabel" name="label"> <widget class="QLabel" name="label">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>20</x> <x>70</x>
<y>200</y> <y>200</y>
<width>131</width> <width>131</width>
<height>17</height> <height>17</height>
</rect> </rect>
</property> </property>
<property name="font">
<font>
<pointsize>11</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text"> <property name="text">
<string>Telemetry speed:</string> <string>Telemetry speed:</string>
</property> </property>
@ -63,7 +70,7 @@ p, li { white-space: pre-wrap; }
<widget class="QComboBox" name="telemetrySpeed"> <widget class="QComboBox" name="telemetrySpeed">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>140</x> <x>200</x>
<y>190</y> <y>190</y>
<width>141</width> <width>141</width>
<height>31</height> <height>31</height>
@ -123,8 +130,68 @@ Beware of not locking yourself out!</string>
<string>Save</string> <string>Save</string>
</property> </property>
</widget> </widget>
<widget class="QPushButton" name="telemetryHelp">
<property name="geometry">
<rect>
<x>45</x>
<y>198</y>
<width>20</width>
<height>20</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
<widget class="QPushButton" name="commandHelp">
<property name="geometry">
<rect>
<x>45</x>
<y>284</y>
<width>20</width>
<height>20</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="configgadget.qrc">
<normaloff>:/configgadget/images/help2.png</normaloff>:/configgadget/images/help2.png</iconset>
</property>
</widget>
</widget> </widget>
</widget> </widget>
<resources/> <resources>
<include location="configgadget.qrc"/>
</resources>
<connections/> <connections/>
</ui> </ui>