diff --git a/ground/openpilotgcs/src/plugins/config/airframe.ui b/ground/openpilotgcs/src/plugins/config/airframe.ui
old mode 100644
new mode 100755
index 93c7dc96e..c5ee92452
--- a/ground/openpilotgcs/src/plugins/config/airframe.ui
+++ b/ground/openpilotgcs/src/plugins/config/airframe.ui
@@ -6,14 +6,20 @@
0
0
- 856
- 633
+ 965
+ 637
Form
+
+ 6
+
+
+ 12
+
-
@@ -27,8 +33,11 @@
Mixer Settings
+
+ 0
+
- 12
+ 0
-
@@ -122,13 +131,13 @@
0
0
- 802
- 509
+ 935
+ 554
- 0
+ 12
-
@@ -137,6 +146,9 @@
+ 6
+
+
12
-
@@ -717,6 +729,9 @@ margin:1px;
Frame Type
+
+ 12
+
-
@@ -859,6 +874,9 @@ margin:1px;
Throttle Curve
+
+ 12
+
-
@@ -908,13 +926,7 @@ margin:1px;
0
-
- 12
-
-
- 12
-
-
+
12
-
@@ -1194,6 +1206,9 @@ margin:1px;
Motor output channels
+
+ 12
+
-
@@ -1203,7 +1218,7 @@ margin:1px;
QFormLayout::AllNonFixedFieldsGrow
- 3
+ 6
-
@@ -1300,7 +1315,7 @@ margin:1px;
QFormLayout::AllNonFixedFieldsGrow
- 3
+ 6
-
@@ -1408,6 +1423,12 @@ margin:1px;
-
+
+
+ 0
+ 0
+
+
Qt::Vertical
@@ -2712,8 +2733,11 @@ margin:1px;
Feed Forward
+
+ 0
+
- 12
+ 0
-
@@ -2795,13 +2819,13 @@ margin:1px;
0
0
- 802
- 509
+ 935
+ 554
- 0
+ 12
-
@@ -2809,59 +2833,12 @@ margin:1px;
Feed Forward Configuration
-
+
12
-
- -1
+
+ 6
-
-
-
-
-
- 0
- 0
-
-
-
- FeedForward
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
- true
-
-
-
- 0
- 32
-
-
-
- Qt::StrongFocus
-
-
- Overall level of feed forward (in percentage).
-
-
- 100
-
-
- 1
-
-
- Qt::Horizontal
-
-
- QSlider::NoTicks
-
-
-
-
-
@@ -2912,34 +2889,6 @@ Do it after accel time is setup.
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 0
-
-
-
-
- 16777215
- 16
-
-
-
- MaxAccel
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
-
-
@@ -2989,22 +2938,6 @@ its target speed.
- -
-
-
-
- 30
- 0
-
-
-
- 000
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
-
@@ -3021,6 +2954,37 @@ its target speed.
+ -
+
+
+ true
+
+
+
+ 0
+ 32
+
+
+
+ Qt::StrongFocus
+
+
+ Overall level of feed forward (in percentage).
+
+
+ 100
+
+
+ 1
+
+
+ Qt::Horizontal
+
+
+ QSlider::NoTicks
+
+
+
-
@@ -3056,13 +3020,67 @@ In 'units per second', a sound default is 1000.
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16
+
+
+
+ MaxAccel
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 30
+ 0
+
+
+
+ 000
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ FeedForward
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
- maxAccelSliderValue
- feedForwardSlider
- maxAccelSlider
- label_37
- feedForwardSliderValue
- label_20
-
@@ -3188,16 +3206,14 @@ p, li { white-space: pre-wrap; }
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;">
+</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
<table border="0" style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;">
<tr>
<td style="border: none;">
<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:14pt; font-weight:600; color:#ff0000;">SETTING UP FEED FORWARD REQUIRES CAUTION</span></p>
-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu'; font-size:11pt;"><br /></p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:11pt;"><br /></span></p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:11pt;"><br /></span></p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Beware: Feed Forward Tuning will launch all engines around mid-throttle, you have been warned!</p>
-<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Remove your props initially, and for fine-tuning, make sure your airframe is safely held in place. Wear glasses and protect your face and body.</p></td></tr></table></body></html>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu'; font-size:11pt;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">Beware: Feed Forward Tuning will launch all engines around mid-throttle, you have been warned!</span></p>
+<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">Remove your props initially, and for fine-tuning, make sure your airframe is safely held in place. Wear glasses and protect your face and body.</span></p></td></tr></table></body></html>
@@ -3248,7 +3264,7 @@ p, li { white-space: pre-wrap; }
-
+
:/core/images/helpicon.svg:/core/images/helpicon.svg
@@ -3301,7 +3317,7 @@ p, li { white-space: pre-wrap; }
-
+
diff --git a/ground/openpilotgcs/src/plugins/config/camerastabilization.ui b/ground/openpilotgcs/src/plugins/config/camerastabilization.ui
old mode 100644
new mode 100755
index 7ff1e742b..e71d0c5b4
--- a/ground/openpilotgcs/src/plugins/config/camerastabilization.ui
+++ b/ground/openpilotgcs/src/plugins/config/camerastabilization.ui
@@ -1,1167 +1,1164 @@
-
-
- CameraStabilizationWidget
-
-
-
- 0
- 0
- 983
- 738
-
-
-
- Form
-
-
-
- -1
-
- -
-
-
- 0
-
-
-
- Camera Stabilization
-
-
-
- 0
-
-
- 12
-
-
- 0
-
-
- 0
-
-
-
-
-
- QFrame::NoFrame
-
-
- true
-
-
-
-
- 0
- 0
- 953
- 626
-
-
-
-
- 24
-
-
-
-
-
- Module Control
-
-
-
-
-
-
- Qt::StrongFocus
-
-
- Enable CameraStabilization module
-
-
-
- -
-
-
- After enabling the module, you must power cycle before using and configuring.
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 131
-
-
-
- Basic Settings (Stabilization)
-
-
-
-
-
-
- Qt::StrongFocus
-
-
- 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.
-
-
- 180
-
-
- 20
-
-
-
- objname:CameraStabSettings
- fieldname:OutputRange
- element:Yaw
- haslimits:no
- scale:1
- buttongroup:1
-
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- 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.
-
-
- 180
-
-
- 20
-
-
-
- objname:CameraStabSettings
- fieldname:OutputRange
- element:Pitch
- haslimits:no
- scale:1
- buttongroup:1
-
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- 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.
-
-
- 180
-
-
- 20
-
-
-
- objname:CameraStabSettings
- fieldname:OutputRange
- element:Roll
- haslimits:no
- scale:1
- buttongroup:1
-
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Yaw output channel for camera gimbal
-
-
-
-
- None
-
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Pitch output channel for camera gimbal
-
-
-
-
- None
-
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Roll output channel for camera gimbal
-
-
-
-
- None
-
-
-
-
- -
-
-
- Output Channel
-
-
-
- -
-
-
- Output Range
-
-
-
- -
-
-
-
- 0
- 16
-
-
-
-
- 16777215
- 16
-
-
-
- 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;
-
-
- Yaw
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 16
-
-
-
-
- 16777215
- 16
-
-
-
- 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;
-
-
- Pitch
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 16
-
-
-
-
- 16777215
- 16
-
-
-
- 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;
-
-
- Roll
-
-
- Qt::AlignCenter
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 266
-
-
-
- Advanced Settings (Control)
-
-
-
-
-
-
-
- 0
- 16
-
-
-
-
- 16777215
- 16
-
-
-
- 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;
-
-
- Yaw
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 16
-
-
-
-
- 16777215
- 16
-
-
-
- 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;
-
-
- Pitch
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 16
-
-
-
-
- 16777215
- 16
-
-
-
- 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;
-
-
- Roll
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Input channel to control camera yaw
-
-Don't forget to map this channel using Input configuration tab.
-
-
-
- objname:CameraStabSettings
- fieldname:Input
- element:Yaw
- buttongroup:1
-
-
-
-
-
- None
-
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Input channel to control camera pitch
-
-Don't forget to map this channel using Input configuration tab.
-
-
-
- objname:CameraStabSettings
- fieldname:Input
- element:Pitch
- buttongroup:1
-
-
-
-
-
- None
-
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Input channel to control camera roll
-
-Don't forget to map this channel using Input configuration tab.
-
-
-
- objname:CameraStabSettings
- fieldname:Input
- element:Roll
- buttongroup:1
-
-
-
-
-
- None
-
-
-
-
- -
-
-
- Input Channel
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Axis stabilization mode
-
-Attitude: camera tracks level for the axis. Input controls the deflection.
-AxisLock: camera remembers tracking attitude. Input controls the rate of deflection.
-
-
-
- objname:CameraStabSettings
- fieldname:StabilizationMode
- element:Yaw
- buttongroup:1
-
-
-
-
-
- Attitude
-
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Maximum camera yaw deflection for 100% input in Attitude mode, deg.
-
-
- 180
-
-
- 20
-
-
-
- objname:CameraStabSettings
- fieldname:InputRange
- element:Yaw
- haslimits:no
- scale:1
- buttongroup:1
-
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Maximum camera yaw rate for 100% input in AxisLock mode, deg/s.
-
-
- 180
-
-
- 50
-
-
-
- objname:CameraStabSettings
- fieldname:InputRate
- element:Yaw
- haslimits:no
- scale:1
- buttongroup:1
-
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Input low-pass filter response time for yaw axis, ms.
-
-This option smoothes the stick input. Zero value disables LPF.
-
-
- 1000
-
-
- 150
-
-
-
- objname:CameraStabSettings
- fieldname:ResponseTime
- element:Yaw
- haslimits:no
- scale:1
- buttongroup:1
-
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Axis stabilization mode
-
-Attitude: camera tracks level for the axis. Input controls the deflection.
-AxisLock: camera remembers tracking attitude. Input controls the rate of deflection.
-
-
-
- objname:CameraStabSettings
- fieldname:StabilizationMode
- element:Pitch
- buttongroup:1
-
-
-
-
-
- Attitude
-
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Maximum camera pitch deflection for 100% input in Attitude mode, deg.
-
-
- 180
-
-
- 20
-
-
-
- objname:CameraStabSettings
- fieldname:InputRange
- element:Pitch
- haslimits:no
- scale:1
- buttongroup:1
-
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Maximum camera pitch rate for 100% input in AxisLock mode, deg/s.
-
-
- 180
-
-
- 50
-
-
-
- objname:CameraStabSettings
- fieldname:InputRate
- element:Pitch
- haslimits:no
- scale:1
- buttongroup:1
-
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Input low-pass filter response time for pitch axis, ms.
-
-This option smoothes the stick input. Zero value disables LPF.
-
-
- 1000
-
-
- 150
-
-
-
- objname:CameraStabSettings
- fieldname:ResponseTime
- element:Pitch
- haslimits:no
- scale:1
- buttongroup:1
-
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Axis stabilization mode
-
-Attitude: camera tracks level for the axis. Input controls the deflection.
-AxisLock: camera remembers tracking attitude. Input controls the rate of deflection.
-
-
-
- objname:CameraStabSettings
- fieldname:StabilizationMode
- element:Roll
- buttongroup:1
-
-
-
-
-
- Attitude
-
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Maximum camera roll deflection for 100% input in Attitude mode, deg.
-
-
- 180
-
-
- 20
-
-
-
- objname:CameraStabSettings
- fieldname:InputRange
- element:Roll
- haslimits:no
- scale:1
- buttongroup:1
-
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Maximum camera roll rate for 100% input in AxisLock mode, deg/s.
-
-
- 180
-
-
- 50
-
-
-
- objname:CameraStabSettings
- fieldname:InputRate
- element:Roll
- haslimits:no
- scale:1
- buttongroup:1
-
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Input low-pass filter response time for roll axis, ms.
-
-This option smoothes the stick input. Zero value disables LPF.
-
-
- 1000
-
-
- 150
-
-
-
- objname:CameraStabSettings
- fieldname:ResponseTime
- element:Roll
- haslimits:no
- scale:1
- buttongroup:1
-
-
-
-
- -
-
-
- MaxAxisLockRate
-
-
-
- -
-
-
- Response Time
-
-
-
- -
-
-
- Input Rate
-
-
-
- -
-
-
- Input Range
-
-
-
- -
-
-
- Stabilization Mode
-
-
-
- -
-
-
- (the same value for Roll, Pitch, Yaw)
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Stick input deadband for all axes in AxisLock mode, deg/s.
-
-When stick input is within the MaxAxisLockRate range, camera tracks
-current attitude. Otherwise it starts moving according to input with
-rate depending on input value.
-
-If you have drift in your Tx controls, you may want to increase this
-value.
-
-
- 1
-
-
- 0.100000000000000
-
-
- 1.000000000000000
-
-
-
- objname:CameraStabSettings
- fieldname:MaxAxisLockRate
- haslimits:no
- scale:1
- buttongroup:1
-
-
-
-
-
-
-
- -
-
-
- Messages
-
-
-
-
-
-
- false
-
-
-
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
- 4
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 321
- 16
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 25
- 25
-
-
-
-
- true
-
-
-
-
-
-
-
- :/core/images/helpicon.svg:/core/images/helpicon.svg
-
-
-
- 25
- 25
-
-
-
- Ctrl+S
-
-
- false
-
-
- true
-
-
-
- button:help
- url:http://wiki.openpilot.org/display/Doc/Camera+Stabilization+Configuration
-
-
-
-
- -
-
-
-
- 0
- 32
-
-
-
-
- 16777215
- 32
-
-
-
- Load default CameraStabilization settings except output channels into GCS.
-
-Loaded settings are not applied automatically. You have to click the
-Apply or Save button afterwards.
-
-
- Reset To Defaults
-
-
-
- button:default
- buttongroup:1
-
-
-
-
- -
-
-
-
- 0
- 32
-
-
-
-
- 16777215
- 32
-
-
-
- Reloads saved CameraStabilization settings except output channels
-from board into GCS. Useful if you have accidentally changed some
-settings.
-
-Loaded settings are not applied automatically. You have to click the
-Apply or Save button afterwards.
-
-
- Reload Board Data
-
-
-
- button:reload
- buttongroup:1
-
-
-
-
- -
-
-
-
- 0
- 32
-
-
-
-
- 16777215
- 32
-
-
-
- Send settings to the board but do not save to the non-volatile memory
-
-
- Apply
-
-
-
- button:apply
-
-
-
-
- -
-
-
-
- 0
- 32
-
-
-
-
- 16777215
- 32
-
-
-
- Send settings to the board and save to the non-volatile memory
-
-
- Save
-
-
- false
-
-
-
- button:save
-
-
-
-
-
-
-
-
-
- scrollArea
-
-
-
-
-
-
+
+
+ CameraStabilizationWidget
+
+
+
+ 0
+ 0
+ 789
+ 615
+
+
+
+ Form
+
+
+
+ 6
+
+
+ 12
+
+ -
+
+
+ 0
+
+
+
+ Camera Stabilization
+
+
+
+ 0
+
+
-
+
+
+ QFrame::NoFrame
+
+
+ true
+
+
+
+
+ 0
+ 0
+ 742
+ 560
+
+
+
+
+ 6
+
+
+ 12
+
+
-
+
+
+ Module Control
+
+
+
-
+
+
+ Qt::StrongFocus
+
+
+ Enable CameraStabilization module
+
+
+
+ -
+
+
+ After enabling the module, you must power cycle before using and configuring.
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 131
+
+
+
+ Basic Settings (Stabilization)
+
+
+
-
+
+
+ Qt::StrongFocus
+
+
+ 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.
+
+
+ 180
+
+
+ 20
+
+
+
+ objname:CameraStabSettings
+ fieldname:OutputRange
+ element:Yaw
+ haslimits:no
+ scale:1
+ buttongroup:1
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ 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.
+
+
+ 180
+
+
+ 20
+
+
+
+ objname:CameraStabSettings
+ fieldname:OutputRange
+ element:Pitch
+ haslimits:no
+ scale:1
+ buttongroup:1
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ 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.
+
+
+ 180
+
+
+ 20
+
+
+
+ objname:CameraStabSettings
+ fieldname:OutputRange
+ element:Roll
+ haslimits:no
+ scale:1
+ buttongroup:1
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Yaw output channel for camera gimbal
+
+
-
+
+ None
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Pitch output channel for camera gimbal
+
+
-
+
+ None
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Roll output channel for camera gimbal
+
+
-
+
+ None
+
+
+
+
+ -
+
+
+ Output Channel
+
+
+
+ -
+
+
+ Output Range
+
+
+
+ -
+
+
+
+ 0
+ 16
+
+
+
+
+ 16777215
+ 16
+
+
+
+ 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;
+
+
+ Yaw
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 16
+
+
+
+
+ 16777215
+ 16
+
+
+
+ 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;
+
+
+ Pitch
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 16
+
+
+
+
+ 16777215
+ 16
+
+
+
+ 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;
+
+
+ Roll
+
+
+ Qt::AlignCenter
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 266
+
+
+
+ Advanced Settings (Control)
+
+
+
-
+
+
+
+ 0
+ 16
+
+
+
+
+ 16777215
+ 16
+
+
+
+ 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;
+
+
+ Yaw
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 16
+
+
+
+
+ 16777215
+ 16
+
+
+
+ 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;
+
+
+ Pitch
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 16
+
+
+
+
+ 16777215
+ 16
+
+
+
+ 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;
+
+
+ Roll
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Input channel to control camera yaw
+
+Don't forget to map this channel using Input configuration tab.
+
+
+
+ objname:CameraStabSettings
+ fieldname:Input
+ element:Yaw
+ buttongroup:1
+
+
+
-
+
+ None
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Input channel to control camera pitch
+
+Don't forget to map this channel using Input configuration tab.
+
+
+
+ objname:CameraStabSettings
+ fieldname:Input
+ element:Pitch
+ buttongroup:1
+
+
+
-
+
+ None
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Input channel to control camera roll
+
+Don't forget to map this channel using Input configuration tab.
+
+
+
+ objname:CameraStabSettings
+ fieldname:Input
+ element:Roll
+ buttongroup:1
+
+
+
-
+
+ None
+
+
+
+
+ -
+
+
+ Input Channel
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Axis stabilization mode
+
+Attitude: camera tracks level for the axis. Input controls the deflection.
+AxisLock: camera remembers tracking attitude. Input controls the rate of deflection.
+
+
+
+ objname:CameraStabSettings
+ fieldname:StabilizationMode
+ element:Yaw
+ buttongroup:1
+
+
+
-
+
+ Attitude
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Maximum camera yaw deflection for 100% input in Attitude mode, deg.
+
+
+ 180
+
+
+ 20
+
+
+
+ objname:CameraStabSettings
+ fieldname:InputRange
+ element:Yaw
+ haslimits:no
+ scale:1
+ buttongroup:1
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Maximum camera yaw rate for 100% input in AxisLock mode, deg/s.
+
+
+ 180
+
+
+ 50
+
+
+
+ objname:CameraStabSettings
+ fieldname:InputRate
+ element:Yaw
+ haslimits:no
+ scale:1
+ buttongroup:1
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Input low-pass filter response time for yaw axis, ms.
+
+This option smoothes the stick input. Zero value disables LPF.
+
+
+ 1000
+
+
+ 150
+
+
+
+ objname:CameraStabSettings
+ fieldname:ResponseTime
+ element:Yaw
+ haslimits:no
+ scale:1
+ buttongroup:1
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Axis stabilization mode
+
+Attitude: camera tracks level for the axis. Input controls the deflection.
+AxisLock: camera remembers tracking attitude. Input controls the rate of deflection.
+
+
+
+ objname:CameraStabSettings
+ fieldname:StabilizationMode
+ element:Pitch
+ buttongroup:1
+
+
+
-
+
+ Attitude
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Maximum camera pitch deflection for 100% input in Attitude mode, deg.
+
+
+ 180
+
+
+ 20
+
+
+
+ objname:CameraStabSettings
+ fieldname:InputRange
+ element:Pitch
+ haslimits:no
+ scale:1
+ buttongroup:1
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Maximum camera pitch rate for 100% input in AxisLock mode, deg/s.
+
+
+ 180
+
+
+ 50
+
+
+
+ objname:CameraStabSettings
+ fieldname:InputRate
+ element:Pitch
+ haslimits:no
+ scale:1
+ buttongroup:1
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Input low-pass filter response time for pitch axis, ms.
+
+This option smoothes the stick input. Zero value disables LPF.
+
+
+ 1000
+
+
+ 150
+
+
+
+ objname:CameraStabSettings
+ fieldname:ResponseTime
+ element:Pitch
+ haslimits:no
+ scale:1
+ buttongroup:1
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Axis stabilization mode
+
+Attitude: camera tracks level for the axis. Input controls the deflection.
+AxisLock: camera remembers tracking attitude. Input controls the rate of deflection.
+
+
+
+ objname:CameraStabSettings
+ fieldname:StabilizationMode
+ element:Roll
+ buttongroup:1
+
+
+
-
+
+ Attitude
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Maximum camera roll deflection for 100% input in Attitude mode, deg.
+
+
+ 180
+
+
+ 20
+
+
+
+ objname:CameraStabSettings
+ fieldname:InputRange
+ element:Roll
+ haslimits:no
+ scale:1
+ buttongroup:1
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Maximum camera roll rate for 100% input in AxisLock mode, deg/s.
+
+
+ 180
+
+
+ 50
+
+
+
+ objname:CameraStabSettings
+ fieldname:InputRate
+ element:Roll
+ haslimits:no
+ scale:1
+ buttongroup:1
+
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Input low-pass filter response time for roll axis, ms.
+
+This option smoothes the stick input. Zero value disables LPF.
+
+
+ 1000
+
+
+ 150
+
+
+
+ objname:CameraStabSettings
+ fieldname:ResponseTime
+ element:Roll
+ haslimits:no
+ scale:1
+ buttongroup:1
+
+
+
+
+ -
+
+
+ MaxAxisLockRate
+
+
+
+ -
+
+
+ Response Time
+
+
+
+ -
+
+
+ Input Rate
+
+
+
+ -
+
+
+ Input Range
+
+
+
+ -
+
+
+ Stabilization Mode
+
+
+
+ -
+
+
+ (the same value for Roll, Pitch, Yaw)
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Stick input deadband for all axes in AxisLock mode, deg/s.
+
+When stick input is within the MaxAxisLockRate range, camera tracks
+current attitude. Otherwise it starts moving according to input with
+rate depending on input value.
+
+If you have drift in your Tx controls, you may want to increase this
+value.
+
+
+ 1
+
+
+ 0.100000000000000
+
+
+ 1.000000000000000
+
+
+
+ objname:CameraStabSettings
+ fieldname:MaxAxisLockRate
+ haslimits:no
+ scale:1
+ buttongroup:1
+
+
+
+
+
+
+
+ -
+
+
+ Messages
+
+
+
-
+
+
+ false
+
+
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ 4
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 321
+ 16
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 25
+ 25
+
+
+
+
+ true
+
+
+
+
+
+
+
+ :/core/images/helpicon.svg:/core/images/helpicon.svg
+
+
+
+ 25
+ 25
+
+
+
+ Ctrl+S
+
+
+ false
+
+
+ true
+
+
+
+ button:help
+ url:http://wiki.openpilot.org/display/Doc/Camera+Stabilization+Configuration
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+ Load default CameraStabilization settings except output channels into GCS.
+
+Loaded settings are not applied automatically. You have to click the
+Apply or Save button afterwards.
+
+
+ Reset To Defaults
+
+
+
+ button:default
+ buttongroup:1
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+ Reloads saved CameraStabilization settings except output channels
+from board into GCS. Useful if you have accidentally changed some
+settings.
+
+Loaded settings are not applied automatically. You have to click the
+Apply or Save button afterwards.
+
+
+ Reload Board Data
+
+
+
+ button:reload
+ buttongroup:1
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+ Send settings to the board but do not save to the non-volatile memory
+
+
+ Apply
+
+
+
+ button:apply
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+ Send settings to the board and save to the non-volatile memory
+
+
+ Save
+
+
+ false
+
+
+
+ button:save
+
+
+
+
+
+
+
+
+
+ scrollArea
+
+
+
+
+
+
diff --git a/ground/openpilotgcs/src/plugins/config/cc_hw_settings.ui b/ground/openpilotgcs/src/plugins/config/cc_hw_settings.ui
old mode 100644
new mode 100755
index 383da5b42..dd3101a79
--- a/ground/openpilotgcs/src/plugins/config/cc_hw_settings.ui
+++ b/ground/openpilotgcs/src/plugins/config/cc_hw_settings.ui
@@ -1,628 +1,634 @@
-
-
- CC_HW_Widget
-
-
-
- 0
- 0
- 646
- 596
-
-
-
- Form
-
-
- -
-
-
- 0
-
-
-
- HW settings
-
-
-
- 0
-
-
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 232
- 232
- 232
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 232
- 232
- 232
-
-
-
-
-
-
-
-
- 232
- 232
- 232
-
-
-
-
-
-
- 232
- 232
- 232
-
-
-
-
-
-
-
- QFrame::NoFrame
-
-
- QFrame::Plain
-
-
- true
-
-
-
-
- 0
- 0
- 616
- 495
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 0
- 50
-
-
-
- Messages
-
-
-
-
-
-
-
- 75
- true
-
-
-
-
-
-
- Qt::AutoText
-
-
- true
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 500
- 0
-
-
-
-
- 500
- 16777215
-
-
-
-
- 75
- true
-
-
-
- Changes on this page only take effect after board reset or power cycle
-
-
- Qt::AlignCenter
-
-
- true
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 25
-
-
-
-
- -
-
-
-
-
-
-
-
-
- Telemetry speed:
-
-
-
- -
-
-
-
- 55
- 0
-
-
-
- GPS speed:
-
-
-
- -
-
-
-
- 55
- 0
-
-
-
- ComUsbBridge speed:
-
-
-
- -
-
-
- Select the speed here.
-
-
-
- -
-
-
- Select the speed here.
-
-
-
- -
-
-
- Select the speed here.
-
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
- -
-
-
- -
-
-
- USB HID Port
-
-
- Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft
-
-
-
- -
-
-
- -
-
-
-
-
-
- true
-
-
-
- -
-
-
- -
-
-
- MainPort
-
-
- Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft
-
-
-
- -
-
-
- -
-
-
- -
-
-
- FlexiPort
-
-
- Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft
-
-
-
- -
-
-
- USB VCP Port
-
-
- Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft
-
-
-
- -
-
-
- RcvrPort
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Fixed
-
-
-
- 20
- 10
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
- 4
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 369
- 16
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 25
- 26
-
-
-
-
- 25
- 25
-
-
-
- Takes you to the wiki page
-
-
-
-
-
-
- :/core/images/helpicon.svg:/core/images/helpicon.svg
-
-
-
- 25
- 25
-
-
-
- true
-
-
-
- -
-
-
-
- 0
- 32
-
-
-
-
- 16777215
- 32
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 232
- 232
- 232
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 232
- 232
- 232
-
-
-
-
-
-
-
-
- 232
- 232
- 232
-
-
-
-
-
-
- 232
- 232
- 232
-
-
-
-
-
-
-
- Send to OpenPilot but don't write in SD.
-Beware of not locking yourself out!
-
-
- false
-
-
-
-
-
- Apply
-
-
-
- 16
- 16
-
-
-
- false
-
-
-
- -
-
-
-
- 0
- 32
-
-
-
-
- 16777215
- 32
-
-
-
- Applies and Saves all settings to SD.
-Beware of not locking yourself out!
-
-
- false
-
-
-
-
-
- Save
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ CC_HW_Widget
+
+
+
+ 0
+ 0
+ 646
+ 596
+
+
+
+ Form
+
+
+
+ 12
+
+ -
+
+
+ 0
+
+
+
+ HW settings
+
+
+
+ 0
+
+
-
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+
+ QFrame::NoFrame
+
+
+ QFrame::Plain
+
+
+ true
+
+
+
+
+ 0
+ 0
+ 616
+ 513
+
+
+
+
+ 12
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 50
+
+
+
+ Messages
+
+
+
-
+
+
+
+ 75
+ true
+
+
+
+
+
+
+ Qt::AutoText
+
+
+ true
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 500
+ 0
+
+
+
+
+ 500
+ 16777215
+
+
+
+
+ 75
+ true
+
+
+
+ Changes on this page only take effect after board reset or power cycle
+
+
+ Qt::AlignCenter
+
+
+ true
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 25
+
+
+
+
+ -
+
+
-
+
+
-
+
+
+ Telemetry speed:
+
+
+
+ -
+
+
+
+ 55
+ 0
+
+
+
+ GPS speed:
+
+
+
+ -
+
+
+
+ 55
+ 0
+
+
+
+ ComUsbBridge speed:
+
+
+
+ -
+
+
+ Select the speed here.
+
+
+
+ -
+
+
+ Select the speed here.
+
+
+
+ -
+
+
+ Select the speed here.
+
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+ -
+
+
-
+
+
+
+
+
+
+ -
+
+
+ -
+
+
+ USB HID Port
+
+
+ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft
+
+
+
+ -
+
+
+ -
+
+
+
+
+
+ true
+
+
+
+ -
+
+
+ -
+
+
+ MainPort
+
+
+ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ FlexiPort
+
+
+ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft
+
+
+
+ -
+
+
+ USB VCP Port
+
+
+ Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft
+
+
+
+ -
+
+
+ RcvrPort
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Fixed
+
+
+
+ 20
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ 4
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 369
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 25
+ 25
+
+
+
+
+ 25
+ 25
+
+
+
+ Takes you to the wiki page
+
+
+
+
+
+
+ :/core/images/helpicon.svg:/core/images/helpicon.svg
+
+
+
+ 25
+ 25
+
+
+
+ true
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+
+ Send to OpenPilot but don't write in SD.
+Beware of not locking yourself out!
+
+
+ false
+
+
+
+
+
+ Apply
+
+
+
+ 16
+ 16
+
+
+
+ false
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+ Applies and Saves all settings to SD.
+Beware of not locking yourself out!
+
+
+ false
+
+
+
+
+
+ Save
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ground/openpilotgcs/src/plugins/config/ccattitude.ui b/ground/openpilotgcs/src/plugins/config/ccattitude.ui
old mode 100644
new mode 100755
index fab00864f..cdef25670
--- a/ground/openpilotgcs/src/plugins/config/ccattitude.ui
+++ b/ground/openpilotgcs/src/plugins/config/ccattitude.ui
@@ -1,435 +1,446 @@
-
-
- ccattitude
-
-
-
- 0
- 0
- 730
- 542
-
-
-
- Form
-
-
- -
-
-
- 0
-
-
-
- Attitude
-
-
-
- 0
-
-
- 12
-
-
- 0
-
-
- 12
-
-
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 232
- 232
- 232
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 232
- 232
- 232
-
-
-
-
-
-
-
-
- 232
- 232
- 232
-
-
-
-
-
-
- 232
- 232
- 232
-
-
-
-
-
-
-
- QFrame::NoFrame
-
-
- QFrame::Plain
-
-
- true
-
-
-
-
- 0
- 0
- 700
- 418
-
-
-
-
- 24
-
-
-
-
-
- Rotate virtual attitude relative to board
-
-
-
-
-
-
- Roll
-
-
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
-
-
-
- -
-
-
- -180
-
-
- 180
-
-
-
- -
-
-
- Pitch
-
-
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
-
-
-
- -
-
-
- -90
-
-
- 90
-
-
-
- -
-
-
- Yaw
-
-
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
-
-
-
- -
-
-
- -180
-
-
- 180
-
-
-
-
-
-
- -
-
-
- Calibration
-
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 142
- 20
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Fixed
-
-
-
- 0
- 10
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 300
- 0
-
-
-
- 0
-
-
-
- -
-
-
-
- 500
- 16777215
-
-
-
- Launch horizontal calibration.
-
-
- Level
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 173
- 20
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 173
- 20
-
-
-
-
- -
-
-
- Place aircraft very flat, and then click level to compute the accelerometer and gyro bias
-
-
- true
-
-
-
- -
-
-
- If enabled, a fast recalibration of gyro zero point will be done
-whenever the frame is armed. Do not move the airframe while
-arming it in that case!
-
-
- Zero gyros while arming aircraft
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 10
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
- 4
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 380
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 25
- 25
-
-
-
- Takes you to the wiki page
-
-
-
-
-
-
- :/core/images/helpicon.svg:/core/images/helpicon.svg
-
-
-
- 25
- 25
-
-
-
- true
-
-
-
- -
-
-
-
- 0
- 32
-
-
-
- Apply
-
-
-
- -
-
-
-
- 0
- 32
-
-
-
- Click to permanently save the accel bias in the CopterControl Flash.
-
-
- Save
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ ccattitude
+
+
+
+ 0
+ 0
+ 666
+ 566
+
+
+
+ Form
+
+
+
+ 12
+
+ -
+
+
+ 0
+
+
+
+ Attitude
+
+
+
+ 0
+
+
-
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+
+ QFrame::NoFrame
+
+
+ QFrame::Plain
+
+
+ true
+
+
+
+
+ 0
+ 0
+ 636
+ 483
+
+
+
+
+ 6
+
+
+ 12
+
+
-
+
+
+ Rotate virtual attitude relative to board
+
+
+
-
+
+
+ Roll
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
+
+
+
+ -
+
+
+ -180
+
+
+ 180
+
+
+
+ -
+
+
+ Pitch
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
+
+
+
+ -
+
+
+ -90
+
+
+ 90
+
+
+
+ -
+
+
+ Yaw
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
+
+
+
+ -
+
+
+ -180
+
+
+ 180
+
+
+
+
+
+
+ -
+
+
+ Calibration
+
+
+
-
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Place aircraft very flat, and then click level to compute the accelerometer and gyro bias
+
+
+ true
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+ -
+
+
+
+ 500
+ 16777215
+
+
+
+ Launch horizontal calibration.
+
+
+ Level
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 10
+ 20
+
+
+
+
+ -
+
+
+
+ 300
+ 0
+
+
+
+ 0
+
+
+
+ -
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ If enabled, a fast recalibration of gyro zero point will be done
+whenever the frame is armed. Do not move the airframe while
+arming it in that case!
+
+
+ Zero gyros while arming aircraft
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ 4
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 380
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 25
+ 25
+
+
+
+ Takes you to the wiki page
+
+
+
+
+
+
+ :/core/images/helpicon.svg:/core/images/helpicon.svg
+
+
+
+ 25
+ 25
+
+
+
+ true
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Apply
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Click to permanently save the accel bias in the CopterControl Flash.
+
+
+ Save
+
+
+
+ 25
+ 25
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp b/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp
old mode 100644
new mode 100755
index 1157cfd1c..6cd30a2b6
--- a/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp
+++ b/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp
@@ -1,1349 +1,1349 @@
-/**
- ******************************************************************************
- *
- * @file configinputwidget.cpp
- * @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
- * @addtogroup GCSPlugins GCS Plugins
- * @{
- * @addtogroup ConfigPlugin Config Plugin
- * @{
- * @brief Servo input/output configuration panel for the config gadget
- *****************************************************************************/
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "configinputwidget.h"
-
-#include "uavtalk/telemetrymanager.h"
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#include
-#include
-
-#define ACCESS_MIN_MOVE -3
-#define ACCESS_MAX_MOVE 3
-#define STICK_MIN_MOVE -8
-#define STICK_MAX_MOVE 8
-
-ConfigInputWidget::ConfigInputWidget(QWidget *parent) : ConfigTaskWidget(parent),wizardStep(wizardNone),transmitterType(heli),loop(NULL),skipflag(false)
-{
- manualCommandObj = ManualControlCommand::GetInstance(getObjectManager());
- manualSettingsObj = ManualControlSettings::GetInstance(getObjectManager());
- flightStatusObj = FlightStatus::GetInstance(getObjectManager());
- receiverActivityObj=ReceiverActivity::GetInstance(getObjectManager());
- m_config = new Ui_InputWidget();
- m_config->setupUi(this);
-
- addApplySaveButtons(m_config->saveRCInputToRAM,m_config->saveRCInputToSD);
-
- ExtensionSystem::PluginManager *pm=ExtensionSystem::PluginManager::instance();
- Core::Internal::GeneralSettings * settings=pm->getObject();
- if(!settings->useExpertMode())
- m_config->saveRCInputToRAM->setVisible(false);
-
- addApplySaveButtons(m_config->saveRCInputToRAM,m_config->saveRCInputToSD);
-
- //Generate the rows of buttons in the input channel form GUI
- unsigned int index=0;
- foreach (QString name, manualSettingsObj->getField("ChannelNumber")->getElementNames())
- {
- Q_ASSERT(index < ManualControlSettings::CHANNELGROUPS_NUMELEM);
- inputChannelForm * inpForm=new inputChannelForm(this,index==0);
- m_config->channelSettings->layout()->addWidget(inpForm); //Add the row to the UI
- inpForm->setName(name);
- addUAVObjectToWidgetRelation("ManualControlSettings","ChannelGroups",inpForm->ui->channelGroup,index);
- addUAVObjectToWidgetRelation("ManualControlSettings","ChannelNumber",inpForm->ui->channelNumber,index);
- addUAVObjectToWidgetRelation("ManualControlSettings","ChannelMin",inpForm->ui->channelMin,index);
- addUAVObjectToWidgetRelation("ManualControlSettings","ChannelNeutral",inpForm->ui->channelNeutral,index);
- addUAVObjectToWidgetRelation("ManualControlSettings","ChannelMax",inpForm->ui->channelMax,index);
- ++index;
- }
-
- addUAVObjectToWidgetRelation("ManualControlSettings", "Deadband", m_config->deadband, 0, 0.01f);
-
- connect(m_config->configurationWizard,SIGNAL(clicked()),this,SLOT(goToWizard()));
- connect(m_config->stackedWidget,SIGNAL(currentChanged(int)),this,SLOT(disableWizardButton(int)));
- connect(m_config->runCalibration,SIGNAL(toggled(bool)),this, SLOT(simpleCalibration(bool)));
-
- connect(m_config->wzNext,SIGNAL(clicked()),this,SLOT(wzNext()));
- connect(m_config->wzCancel,SIGNAL(clicked()),this,SLOT(wzCancel()));
- connect(m_config->wzBack,SIGNAL(clicked()),this,SLOT(wzBack()));
-
- m_config->stackedWidget->setCurrentIndex(0);
- addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos1,0,1,true);
- addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos2,1,1,true);
- addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos3,2,1,true);
- addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos4,3,1,true);
- addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos5,4,1,true);
- addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos6,5,1,true);
- addUAVObjectToWidgetRelation("ManualControlSettings","FlightModeNumber",m_config->fmsPosNum);
-
- addUAVObjectToWidgetRelation("ManualControlSettings","Stabilization1Settings",m_config->fmsSsPos1Roll,"Roll");
- addUAVObjectToWidgetRelation("ManualControlSettings","Stabilization2Settings",m_config->fmsSsPos2Roll,"Roll");
- addUAVObjectToWidgetRelation("ManualControlSettings","Stabilization3Settings",m_config->fmsSsPos3Roll,"Roll");
- addUAVObjectToWidgetRelation("ManualControlSettings","Stabilization1Settings",m_config->fmsSsPos1Pitch,"Pitch");
- addUAVObjectToWidgetRelation("ManualControlSettings","Stabilization2Settings",m_config->fmsSsPos2Pitch,"Pitch");
- addUAVObjectToWidgetRelation("ManualControlSettings","Stabilization3Settings",m_config->fmsSsPos3Pitch,"Pitch");
- addUAVObjectToWidgetRelation("ManualControlSettings","Stabilization1Settings",m_config->fmsSsPos1Yaw,"Yaw");
- addUAVObjectToWidgetRelation("ManualControlSettings","Stabilization2Settings",m_config->fmsSsPos2Yaw,"Yaw");
- addUAVObjectToWidgetRelation("ManualControlSettings","Stabilization3Settings",m_config->fmsSsPos3Yaw,"Yaw");
-
- addUAVObjectToWidgetRelation("ManualControlSettings","Arming",m_config->armControl);
- addUAVObjectToWidgetRelation("ManualControlSettings","ArmedTimeout",m_config->armTimeout,0,1000);
- connect( ManualControlCommand::GetInstance(getObjectManager()),SIGNAL(objectUpdated(UAVObject*)),this,SLOT(moveFMSlider()));
- connect( ManualControlSettings::GetInstance(getObjectManager()),SIGNAL(objectUpdated(UAVObject*)),this,SLOT(updatePositionSlider()));
- enableControls(false);
-
- populateWidgets();
- refreshWidgetsValues();
- // Connect the help button
- connect(m_config->inputHelp, SIGNAL(clicked()), this, SLOT(openHelp()));
-
- m_config->graphicsView->setScene(new QGraphicsScene(this));
- m_config->graphicsView->setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
- m_renderer = new QSvgRenderer();
- QGraphicsScene *l_scene = m_config->graphicsView->scene();
- m_config->graphicsView->setBackgroundBrush(QBrush(Utils::StyleHelper::baseColor()));
- if (QFile::exists(":/configgadget/images/TX2.svg") && m_renderer->load(QString(":/configgadget/images/TX2.svg")) && m_renderer->isValid())
- {
- l_scene->clear(); // Deletes all items contained in the scene as well.
-
- m_txBackground = new QGraphicsSvgItem();
- // All other items will be clipped to the shape of the background
- m_txBackground->setFlags(QGraphicsItem::ItemClipsChildrenToShape|
- QGraphicsItem::ItemClipsToShape);
- m_txBackground->setSharedRenderer(m_renderer);
- m_txBackground->setElementId("background");
- l_scene->addItem(m_txBackground);
-
- m_txMainBody = new QGraphicsSvgItem();
- m_txMainBody->setParentItem(m_txBackground);
- m_txMainBody->setSharedRenderer(m_renderer);
- m_txMainBody->setElementId("body");
- l_scene->addItem(m_txMainBody);
-
- m_txLeftStick = new QGraphicsSvgItem();
- m_txLeftStick->setParentItem(m_txBackground);
- m_txLeftStick->setSharedRenderer(m_renderer);
- m_txLeftStick->setElementId("ljoy");
-
- m_txRightStick = new QGraphicsSvgItem();
- m_txRightStick->setParentItem(m_txBackground);
- m_txRightStick->setSharedRenderer(m_renderer);
- m_txRightStick->setElementId("rjoy");
-
- m_txAccess0 = new QGraphicsSvgItem();
- m_txAccess0->setParentItem(m_txBackground);
- m_txAccess0->setSharedRenderer(m_renderer);
- m_txAccess0->setElementId("access0");
-
- m_txAccess1 = new QGraphicsSvgItem();
- m_txAccess1->setParentItem(m_txBackground);
- m_txAccess1->setSharedRenderer(m_renderer);
- m_txAccess1->setElementId("access1");
-
- m_txAccess2 = new QGraphicsSvgItem();
- m_txAccess2->setParentItem(m_txBackground);
- m_txAccess2->setSharedRenderer(m_renderer);
- m_txAccess2->setElementId("access2");
-
- m_txFlightMode = new QGraphicsSvgItem();
- m_txFlightMode->setParentItem(m_txBackground);
- m_txFlightMode->setSharedRenderer(m_renderer);
- m_txFlightMode->setElementId("flightModeCenter");
- m_txFlightMode->setZValue(-10);
-
- m_txArrows = new QGraphicsSvgItem();
- m_txArrows->setParentItem(m_txBackground);
- m_txArrows->setSharedRenderer(m_renderer);
- m_txArrows->setElementId("arrows");
- m_txArrows->setVisible(false);
-
- QRectF orig=m_renderer->boundsOnElement("ljoy");
- QMatrix Matrix = m_renderer->matrixForElement("ljoy");
- orig=Matrix.mapRect(orig);
- m_txLeftStickOrig.translate(orig.x(),orig.y());
- m_txLeftStick->setTransform(m_txLeftStickOrig,false);
-
- orig=m_renderer->boundsOnElement("arrows");
- Matrix = m_renderer->matrixForElement("arrows");
- orig=Matrix.mapRect(orig);
- m_txArrowsOrig.translate(orig.x(),orig.y());
- m_txArrows->setTransform(m_txArrowsOrig,false);
-
- orig=m_renderer->boundsOnElement("body");
- Matrix = m_renderer->matrixForElement("body");
- orig=Matrix.mapRect(orig);
- m_txMainBodyOrig.translate(orig.x(),orig.y());
- m_txMainBody->setTransform(m_txMainBodyOrig,false);
-
- orig=m_renderer->boundsOnElement("flightModeCenter");
- Matrix = m_renderer->matrixForElement("flightModeCenter");
- orig=Matrix.mapRect(orig);
- m_txFlightModeCOrig.translate(orig.x(),orig.y());
- m_txFlightMode->setTransform(m_txFlightModeCOrig,false);
-
- orig=m_renderer->boundsOnElement("flightModeLeft");
- Matrix = m_renderer->matrixForElement("flightModeLeft");
- orig=Matrix.mapRect(orig);
- m_txFlightModeLOrig.translate(orig.x(),orig.y());
- orig=m_renderer->boundsOnElement("flightModeRight");
- Matrix = m_renderer->matrixForElement("flightModeRight");
- orig=Matrix.mapRect(orig);
- m_txFlightModeROrig.translate(orig.x(),orig.y());
-
- orig=m_renderer->boundsOnElement("rjoy");
- Matrix = m_renderer->matrixForElement("rjoy");
- orig=Matrix.mapRect(orig);
- m_txRightStickOrig.translate(orig.x(),orig.y());
- m_txRightStick->setTransform(m_txRightStickOrig,false);
-
- orig=m_renderer->boundsOnElement("access0");
- Matrix = m_renderer->matrixForElement("access0");
- orig=Matrix.mapRect(orig);
- m_txAccess0Orig.translate(orig.x(),orig.y());
- m_txAccess0->setTransform(m_txAccess0Orig,false);
-
- orig=m_renderer->boundsOnElement("access1");
- Matrix = m_renderer->matrixForElement("access1");
- orig=Matrix.mapRect(orig);
- m_txAccess1Orig.translate(orig.x(),orig.y());
- m_txAccess1->setTransform(m_txAccess1Orig,false);
-
- orig=m_renderer->boundsOnElement("access2");
- Matrix = m_renderer->matrixForElement("access2");
- orig=Matrix.mapRect(orig);
- m_txAccess2Orig.translate(orig.x(),orig.y());
- m_txAccess2->setTransform(m_txAccess2Orig,true);
- }
- m_config->graphicsView->fitInView(m_txMainBody, Qt::KeepAspectRatio );
- animate=new QTimer(this);
- connect(animate,SIGNAL(timeout()),this,SLOT(moveTxControls()));
-
- heliChannelOrder << ManualControlSettings::CHANNELGROUPS_COLLECTIVE <<
- ManualControlSettings::CHANNELGROUPS_THROTTLE <<
- ManualControlSettings::CHANNELGROUPS_ROLL <<
- ManualControlSettings::CHANNELGROUPS_PITCH <<
- ManualControlSettings::CHANNELGROUPS_YAW <<
- ManualControlSettings::CHANNELGROUPS_FLIGHTMODE <<
- ManualControlSettings::CHANNELGROUPS_ACCESSORY0 <<
- ManualControlSettings::CHANNELGROUPS_ACCESSORY1 <<
- ManualControlSettings::CHANNELGROUPS_ACCESSORY2;
-
- acroChannelOrder << ManualControlSettings::CHANNELGROUPS_THROTTLE <<
- ManualControlSettings::CHANNELGROUPS_ROLL <<
- ManualControlSettings::CHANNELGROUPS_PITCH <<
- ManualControlSettings::CHANNELGROUPS_YAW <<
- ManualControlSettings::CHANNELGROUPS_FLIGHTMODE <<
- ManualControlSettings::CHANNELGROUPS_ACCESSORY0 <<
- ManualControlSettings::CHANNELGROUPS_ACCESSORY1 <<
- ManualControlSettings::CHANNELGROUPS_ACCESSORY2;
-}
-void ConfigInputWidget::resetTxControls()
-{
-
- m_txLeftStick->setTransform(m_txLeftStickOrig,false);
- m_txRightStick->setTransform(m_txRightStickOrig,false);
- m_txAccess0->setTransform(m_txAccess0Orig,false);
- m_txAccess1->setTransform(m_txAccess1Orig,false);
- m_txAccess2->setTransform(m_txAccess2Orig,false);
- m_txFlightMode->setElementId("flightModeCenter");
- m_txFlightMode->setTransform(m_txFlightModeCOrig,false);
- m_txArrows->setVisible(false);
-}
-
-ConfigInputWidget::~ConfigInputWidget()
-{
-
-}
-
-void ConfigInputWidget::resizeEvent(QResizeEvent *event)
-{
- QWidget::resizeEvent(event);
- m_config->graphicsView->fitInView(m_txBackground, Qt::KeepAspectRatio );
-}
-
-void ConfigInputWidget::openHelp()
-{
-
- QDesktopServices::openUrl( QUrl("http://wiki.openpilot.org/x/04Cf", QUrl::StrictMode) );
-}
-void ConfigInputWidget::goToWizard()
-{
- QMessageBox msgBox;
- msgBox.setText(tr("Arming Settings are now set to Always Disarmed for your safety."));
- msgBox.setDetailedText(tr("You will have to reconfigure arming settings yourself afterwards."));
- msgBox.setStandardButtons(QMessageBox::Ok);
- msgBox.setDefaultButton(QMessageBox::Ok);
- msgBox.exec();
- wizardSetUpStep(wizardWelcome);
- m_config->graphicsView->fitInView(m_txBackground, Qt::KeepAspectRatio );
-}
-
-void ConfigInputWidget::disableWizardButton(int value)
-{
- if(value!=0)
- m_config->configurationWizard->setVisible(false);
- else
- m_config->configurationWizard->setVisible(true);
-}
-
-void ConfigInputWidget::wzCancel()
-{
- dimOtherControls(false);
- manualCommandObj->setMetadata(manualCommandObj->getDefaultMetadata());
- m_config->stackedWidget->setCurrentIndex(0);
-
- if(wizardStep != wizardNone)
- wizardTearDownStep(wizardStep);
- wizardStep=wizardNone;
- m_config->stackedWidget->setCurrentIndex(0);
-
- // Load settings back from beginning of wizard
- manualSettingsObj->setData(previousManualSettingsData);
-}
-
-void ConfigInputWidget::wzNext()
-{
- // In identify sticks mode the next button can indicate
- // channel advance
- if(wizardStep != wizardNone &&
- wizardStep != wizardIdentifySticks)
- wizardTearDownStep(wizardStep);
-
- // State transitions for next button
- switch(wizardStep) {
- case wizardWelcome:
- wizardSetUpStep(wizardChooseMode);
- break;
- case wizardChooseMode:
- wizardSetUpStep(wizardChooseType);
- break;
- case wizardChooseType:
- wizardSetUpStep(wizardIdentifySticks);
- break;
- case wizardIdentifySticks:
- nextChannel();
- if(currentChannelNum==-1) { // Gone through all channels
- wizardTearDownStep(wizardIdentifySticks);
- wizardSetUpStep(wizardIdentifyCenter);
- }
- break;
- case wizardIdentifyCenter:
- wizardSetUpStep(wizardIdentifyLimits);
- break;
- case wizardIdentifyLimits:
- wizardSetUpStep(wizardIdentifyInverted);
- break;
- case wizardIdentifyInverted:
- wizardSetUpStep(wizardFinish);
- break;
- case wizardFinish:
- wizardStep=wizardNone;
- m_config->stackedWidget->setCurrentIndex(0);
- break;
- default:
- Q_ASSERT(0);
- }
-}
-
-void ConfigInputWidget::wzBack()
-{
- if(wizardStep != wizardNone &&
- wizardStep != wizardIdentifySticks)
- wizardTearDownStep(wizardStep);
-
- // State transitions for next button
- switch(wizardStep) {
- case wizardChooseMode:
- wizardSetUpStep(wizardWelcome);
- break;
- case wizardChooseType:
- wizardSetUpStep(wizardChooseMode);
- break;
- case wizardIdentifySticks:
- prevChannel();
- if(currentChannelNum == -1) {
- wizardTearDownStep(wizardIdentifySticks);
- wizardSetUpStep(wizardChooseType);
- }
- break;
- case wizardIdentifyCenter:
- wizardSetUpStep(wizardIdentifySticks);
- break;
- case wizardIdentifyLimits:
- wizardSetUpStep(wizardIdentifyCenter);
- break;
- case wizardIdentifyInverted:
- wizardSetUpStep(wizardIdentifyLimits);
- break;
- case wizardFinish:
- wizardSetUpStep(wizardIdentifyInverted);
- break;
- default:
- Q_ASSERT(0);
- }
-}
-
-void ConfigInputWidget::wizardSetUpStep(enum wizardSteps step)
-{
- switch(step) {
- case wizardWelcome:
- foreach(QPointer wd,extraWidgets)
- {
- if(!wd.isNull())
- delete wd;
- }
- extraWidgets.clear();
- m_config->graphicsView->setVisible(false);
- setTxMovement(nothing);
- manualSettingsData=manualSettingsObj->getData();
- manualSettingsData.Arming=ManualControlSettings::ARMING_ALWAYSDISARMED;
- previousManualSettingsData = manualSettingsData;
- manualSettingsObj->setData(manualSettingsData);
- m_config->wzText->setText(tr("Welcome to the inputs configuration wizard.\n"
- "Please follow the instructions on the screen and only move your controls when asked to.\n"
- "Make sure you already configured your hardware settings on the proper tab and restarted your board.\n"
- "At any time you can press 'back' to return to the previous screeen or 'Cancel' to cancel the wizard.\n"));
- m_config->stackedWidget->setCurrentIndex(1);
- m_config->wzBack->setEnabled(false);
- break;
- case wizardChooseMode:
- {
- m_config->graphicsView->setVisible(true);
- m_config->graphicsView->fitInView(m_txBackground, Qt::KeepAspectRatio );
- setTxMovement(nothing);
- m_config->wzText->setText(tr("Please choose your transmiter type.\n"
- "Mode 1 means your throttle stick is on the right\n"
- "Mode 2 means your throttle stick is on the left\n"));
- m_config->wzBack->setEnabled(true);
- QRadioButton * mode1=new QRadioButton(tr("Mode 1"),this);
- QRadioButton * mode2=new QRadioButton(tr("Mode 2"),this);
- mode2->setChecked(true);
- extraWidgets.clear();
- extraWidgets.append(mode1);
- extraWidgets.append(mode2);
- m_config->checkBoxesLayout->layout()->addWidget(mode1);
- m_config->checkBoxesLayout->layout()->addWidget(mode2);
- }
- break;
- case wizardChooseType:
- {
- m_config->wzText->setText(tr("Please choose your transmiter mode.\n"
- "Acro means normal transmitter\n"
- "Heli means there is a collective pitch and throttle input\n"
- "If you are using a heli transmitter please engage throttle hold now please.\n"));
- m_config->wzBack->setEnabled(true);
- QRadioButton * typeAcro=new QRadioButton(tr("Acro"),this);
- QRadioButton * typeHeli=new QRadioButton(tr("Heli"),this);
- typeAcro->setChecked(true);
- typeHeli->setChecked(false);
- extraWidgets.clear();
- extraWidgets.append(typeAcro);
- extraWidgets.append(typeHeli);
- m_config->checkBoxesLayout->layout()->addWidget(typeAcro);
- m_config->checkBoxesLayout->layout()->addWidget(typeHeli);
- wizardStep=wizardChooseType;
- }
- break;
- case wizardIdentifySticks:
- usedChannels.clear();
- currentChannelNum=-1;
- nextChannel();
- manualSettingsData=manualSettingsObj->getData();
- connect(receiverActivityObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(identifyControls()));
- m_config->wzNext->setEnabled(false);
- break;
- case wizardIdentifyCenter:
- setTxMovement(centerAll);
- m_config->wzText->setText(QString(tr("Please center all control controls and press next when ready (if your FlightMode switch has only two positions, leave it on either position)")));
- break;
- case wizardIdentifyLimits:
- {
- accessoryDesiredObj0 = AccessoryDesired::GetInstance(getObjectManager(),0);
- accessoryDesiredObj1 = AccessoryDesired::GetInstance(getObjectManager(),1);
- accessoryDesiredObj2 = AccessoryDesired::GetInstance(getObjectManager(),2);
- setTxMovement(nothing);
- m_config->wzText->setText(QString(tr("Please move all controls to their maximum extents on both directions and press next when ready")));
- fastMdata();
- manualSettingsData=manualSettingsObj->getData();
- for(uint i=0;igetField("ChannelMax")->getElementNames().length(); index++)
- {
- QString name = manualSettingsObj->getField("ChannelMax")->getElementNames().at(index);
- if(!name.contains("Access") && !name.contains("Flight"))
- {
- QCheckBox * cb=new QCheckBox(name,this);
- // Make sure checked status matches current one
- cb->setChecked(manualSettingsData.ChannelMax[index] < manualSettingsData.ChannelMin[index]);
-
- extraWidgets.append(cb);
- m_config->checkBoxesLayout->layout()->addWidget(cb);
-
- connect(cb,SIGNAL(toggled(bool)),this,SLOT(invertControls()));
- }
- }
- connect(manualCommandObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
- m_config->wzText->setText(QString(tr("Please check the picture below and check all the sticks which show an inverted movement and press next when ready")));
- fastMdata();
- break;
- case wizardFinish:
- dimOtherControls(false);
- connect(manualCommandObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
- connect(flightStatusObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
- connect(accessoryDesiredObj0, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
- m_config->wzText->setText(QString(tr("You have completed this wizard, please check below if the picture below mimics your sticks movement.\n"
- "This new settings aren't saved to the board yet, after pressing next you will go to the initial screen where you can do that.")));
- fastMdata();
-
- manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNEUTRAL_THROTTLE]=
- manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_THROTTLE]+
- ((manualSettingsData.ChannelMax[ManualControlSettings::CHANNELMAX_THROTTLE]-
- manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_THROTTLE])*0.02);
- if((abs(manualSettingsData.ChannelMax[ManualControlSettings::CHANNELMAX_FLIGHTMODE]-manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNEUTRAL_FLIGHTMODE])<100) ||
- (abs(manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_FLIGHTMODE]-manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNEUTRAL_FLIGHTMODE])<100))
- {
- manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNEUTRAL_FLIGHTMODE]=manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_FLIGHTMODE]+
- (manualSettingsData.ChannelMax[ManualControlSettings::CHANNELMAX_FLIGHTMODE]-manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_FLIGHTMODE])/2;
- }
- manualSettingsObj->setData(manualSettingsData);
- break;
- default:
- Q_ASSERT(0);
- }
- wizardStep = step;
-}
-
-void ConfigInputWidget::wizardTearDownStep(enum wizardSteps step)
-{
- QRadioButton * mode, * type;
- Q_ASSERT(step == wizardStep);
- switch(step) {
- case wizardWelcome:
- break;
- case wizardChooseMode:
- mode=qobject_cast(extraWidgets.at(0));
- if(mode->isChecked())
- transmitterMode=mode1;
- else
- transmitterMode=mode2;
- delete extraWidgets.at(0);
- delete extraWidgets.at(1);
- extraWidgets.clear();
- break;
- case wizardChooseType:
- type=qobject_cast(extraWidgets.at(0));
- if(type->isChecked())
- transmitterType=acro;
- else
- transmitterType=heli;
- delete extraWidgets.at(0);
- delete extraWidgets.at(1);
- extraWidgets.clear();
- break;
- case wizardIdentifySticks:
- disconnect(receiverActivityObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(identifyControls()));
- m_config->wzNext->setEnabled(true);
- setTxMovement(nothing);
- break;
- case wizardIdentifyCenter:
- manualCommandData=manualCommandObj->getData();
- manualSettingsData=manualSettingsObj->getData();
- for(unsigned int i=0;isetData(manualSettingsData);
- setTxMovement(nothing);
- break;
- case wizardIdentifyLimits:
- disconnect(manualCommandObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(identifyLimits()));
- disconnect(manualCommandObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
- disconnect(flightStatusObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
- disconnect(accessoryDesiredObj0, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
- manualSettingsObj->setData(manualSettingsData);
- restoreMdata();
- setTxMovement(nothing);
- break;
- case wizardIdentifyInverted:
- dimOtherControls(false);
- foreach(QWidget * wd,extraWidgets)
- {
- QCheckBox * cb=qobject_cast(wd);
- if(cb)
- {
- disconnect(cb,SIGNAL(toggled(bool)),this,SLOT(invertControls()));
- delete cb;
- }
- }
- extraWidgets.clear();
- disconnect(manualCommandObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
- restoreMdata();
- break;
- case wizardFinish:
- dimOtherControls(false);
- setTxMovement(nothing);
- disconnect(manualCommandObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
- disconnect(flightStatusObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
- disconnect(accessoryDesiredObj0, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
- restoreMdata();
- break;
- default:
- Q_ASSERT(0);
- }
-}
-
-/**
- * Set manual control command to fast updates
- */
-void ConfigInputWidget::fastMdata()
-{
- manualControlMdata = manualCommandObj->getMetadata();
- UAVObject::Metadata mdata = manualControlMdata;
- UAVObject::SetFlightTelemetryUpdateMode(mdata, UAVObject::UPDATEMODE_PERIODIC);
- mdata.flightTelemetryUpdatePeriod = 150;
- manualCommandObj->setMetadata(mdata);
-}
-
-/**
- * Restore previous update settings for manual control data
- */
-void ConfigInputWidget::restoreMdata()
-{
- manualCommandObj->setMetadata(manualControlMdata);
-}
-
-/**
- * Set the display to indicate which channel the person should move
- */
-void ConfigInputWidget::setChannel(int newChan)
-{
- if(newChan == ManualControlSettings::CHANNELGROUPS_COLLECTIVE)
- m_config->wzText->setText(QString(tr("Please enable throttle hold mode and move the collective pitch stick")));
- else if (newChan == ManualControlSettings::CHANNELGROUPS_FLIGHTMODE)
- m_config->wzText->setText(QString(tr("Please flick the flight mode switch. For switches you may have to repeat this rapidly.")));
- else if((transmitterType == heli) && (newChan == ManualControlSettings::CHANNELGROUPS_THROTTLE))
- m_config->wzText->setText(QString(tr("Please disable throttle hold mode and move the throttle stick")));
- else
- m_config->wzText->setText(QString(tr("Please move each control once at a time according to the instructions and picture below.\n\n"
- "Move the %1 stick")).arg(manualSettingsObj->getField("ChannelGroups")->getElementNames().at(newChan)));
-
- if(manualSettingsObj->getField("ChannelGroups")->getElementNames().at(newChan).contains("Accessory") ||
- manualSettingsObj->getField("ChannelGroups")->getElementNames().at(newChan).contains("FlightMode")) {
- m_config->wzNext->setEnabled(true);
- m_config->wzText->setText(m_config->wzText->text() + tr(" or click next to skip this channel."));
- } else
- m_config->wzNext->setEnabled(false);
-
- setMoveFromCommand(newChan);
-
- currentChannelNum = newChan;
- channelDetected = false;
-}
-
-/**
- * Unfortunately order of channel should be different in different conditions. Selects
- * next channel based on heli or acro mode
- */
-void ConfigInputWidget::nextChannel()
-{
- QList order = (transmitterType == heli) ? heliChannelOrder : acroChannelOrder;
-
- if(currentChannelNum == -1) {
- setChannel(order[0]);
- return;
- }
- for (int i = 0; i < order.length() - 1; i++) {
- if(order[i] == currentChannelNum) {
- setChannel(order[i+1]);
- return;
- }
- }
- currentChannelNum = -1; // hit end of list
-}
-
-/**
- * Unfortunately order of channel should be different in different conditions. Selects
- * previous channel based on heli or acro mode
- */
-void ConfigInputWidget::prevChannel()
-{
- QList order = transmitterType == heli ? heliChannelOrder : acroChannelOrder;
-
- // No previous from unset channel or next state
- if(currentChannelNum == -1)
- return;
-
- for (int i = 1; i < order.length(); i++) {
- if(order[i] == currentChannelNum) {
- setChannel(order[i-1]);
- usedChannels.removeLast();
- return;
- }
- }
- currentChannelNum = -1; // hit end of list
-}
-
-void ConfigInputWidget::identifyControls()
-{
- static int debounce=0;
-
- receiverActivityData=receiverActivityObj->getData();
- if(receiverActivityData.ActiveChannel==255)
- return;
- if(channelDetected)
- return;
- else
- {
- receiverActivityData=receiverActivityObj->getData();
- currentChannel.group=receiverActivityData.ActiveGroup;
- currentChannel.number=receiverActivityData.ActiveChannel;
- if(currentChannel==lastChannel)
- ++debounce;
- lastChannel.group= currentChannel.group;
- lastChannel.number=currentChannel.number;
- if(!usedChannels.contains(lastChannel) && debounce>1)
- {
- channelDetected = true;
- debounce=0;
- usedChannels.append(lastChannel);
- manualSettingsData=manualSettingsObj->getData();
- manualSettingsData.ChannelGroups[currentChannelNum]=currentChannel.group;
- manualSettingsData.ChannelNumber[currentChannelNum]=currentChannel.number;
- manualSettingsObj->setData(manualSettingsData);
- }
- else
- return;
- }
-
- m_config->wzText->clear();
- setTxMovement(nothing);
-
- QTimer::singleShot(2500, this, SLOT(wzNext()));
-}
-
-void ConfigInputWidget::identifyLimits()
-{
- manualCommandData=manualCommandObj->getData();
- for(uint i=0;imanualCommandData.Channel[i])
- manualSettingsData.ChannelMin[i]=manualCommandData.Channel[i];
- if(manualSettingsData.ChannelMax[i]manualCommandData.Channel[i])
- manualSettingsData.ChannelMax[i]=manualCommandData.Channel[i];
- if(manualSettingsData.ChannelMin[i]setData(manualSettingsData);
-}
-void ConfigInputWidget::setMoveFromCommand(int command)
-{
- //CHANNELNUMBER_ROLL=0, CHANNELNUMBER_PITCH=1, CHANNELNUMBER_YAW=2, CHANNELNUMBER_THROTTLE=3, CHANNELNUMBER_FLIGHTMODE=4, CHANNELNUMBER_ACCESSORY0=5, CHANNELNUMBER_ACCESSORY1=6, CHANNELNUMBER_ACCESSORY2=7 } ChannelNumberElem;
- if(command==ManualControlSettings::CHANNELNUMBER_ROLL)
- {
- setTxMovement(moveRightHorizontalStick);
- }
- else if(command==ManualControlSettings::CHANNELNUMBER_PITCH)
- {
- if(transmitterMode==mode2)
- setTxMovement(moveRightVerticalStick);
- else
- setTxMovement(moveLeftVerticalStick);
- }
- else if(command==ManualControlSettings::CHANNELNUMBER_YAW)
- {
- setTxMovement(moveLeftHorizontalStick);
- }
- else if(command==ManualControlSettings::CHANNELNUMBER_THROTTLE)
- {
- if(transmitterMode==mode2)
- setTxMovement(moveLeftVerticalStick);
- else
- setTxMovement(moveRightVerticalStick);
- }
- else if(command==ManualControlSettings::CHANNELNUMBER_COLLECTIVE)
- {
- if(transmitterMode==mode2)
- setTxMovement(moveLeftVerticalStick);
- else
- setTxMovement(moveRightVerticalStick);
- }
- else if(command==ManualControlSettings::CHANNELNUMBER_FLIGHTMODE)
- {
- setTxMovement(moveFlightMode);
- }
- else if(command==ManualControlSettings::CHANNELNUMBER_ACCESSORY0)
- {
- setTxMovement(moveAccess0);
- }
- else if(command==ManualControlSettings::CHANNELNUMBER_ACCESSORY1)
- {
- setTxMovement(moveAccess1);
- }
- else if(command==ManualControlSettings::CHANNELNUMBER_ACCESSORY2)
- {
- setTxMovement(moveAccess2);
- }
-
-}
-
-void ConfigInputWidget::setTxMovement(txMovements movement)
-{
- resetTxControls();
- switch(movement)
- {
- case moveLeftVerticalStick:
- movePos=0;
- growing=true;
- currentMovement=moveLeftVerticalStick;
- animate->start(100);
- break;
- case moveRightVerticalStick:
- movePos=0;
- growing=true;
- currentMovement=moveRightVerticalStick;
- animate->start(100);
- break;
- case moveLeftHorizontalStick:
- movePos=0;
- growing=true;
- currentMovement=moveLeftHorizontalStick;
- animate->start(100);
- break;
- case moveRightHorizontalStick:
- movePos=0;
- growing=true;
- currentMovement=moveRightHorizontalStick;
- animate->start(100);
- break;
- case moveAccess0:
- movePos=0;
- growing=true;
- currentMovement=moveAccess0;
- animate->start(100);
- break;
- case moveAccess1:
- movePos=0;
- growing=true;
- currentMovement=moveAccess1;
- animate->start(100);
- break;
- case moveAccess2:
- movePos=0;
- growing=true;
- currentMovement=moveAccess2;
- animate->start(100);
- break;
- case moveFlightMode:
- movePos=0;
- growing=true;
- currentMovement=moveFlightMode;
- animate->start(1000);
- break;
- case centerAll:
- movePos=0;
- currentMovement=centerAll;
- animate->start(1000);
- break;
- case moveAll:
- movePos=0;
- growing=true;
- currentMovement=moveAll;
- animate->start(50);
- break;
- case nothing:
- movePos=0;
- animate->stop();
- break;
- default:
- break;
- }
-}
-
-void ConfigInputWidget::moveTxControls()
-{
- QTransform trans;
- QGraphicsItem * item;
- txMovementType move;
- int limitMax;
- int limitMin;
- static bool auxFlag=false;
- switch(currentMovement)
- {
- case moveLeftVerticalStick:
- item=m_txLeftStick;
- trans=m_txLeftStickOrig;
- limitMax=STICK_MAX_MOVE;
- limitMin=STICK_MIN_MOVE;
- move=vertical;
- break;
- case moveRightVerticalStick:
- item=m_txRightStick;
- trans=m_txRightStickOrig;
- limitMax=STICK_MAX_MOVE;
- limitMin=STICK_MIN_MOVE;
- move=vertical;
- break;
- case moveLeftHorizontalStick:
- item=m_txLeftStick;
- trans=m_txLeftStickOrig;
- limitMax=STICK_MAX_MOVE;
- limitMin=STICK_MIN_MOVE;
- move=horizontal;
- break;
- case moveRightHorizontalStick:
- item=m_txRightStick;
- trans=m_txRightStickOrig;
- limitMax=STICK_MAX_MOVE;
- limitMin=STICK_MIN_MOVE;
- move=horizontal;
- break;
- case moveAccess0:
- item=m_txAccess0;
- trans=m_txAccess0Orig;
- limitMax=ACCESS_MAX_MOVE;
- limitMin=ACCESS_MIN_MOVE;
- move=horizontal;
- break;
- case moveAccess1:
- item=m_txAccess1;
- trans=m_txAccess1Orig;
- limitMax=ACCESS_MAX_MOVE;
- limitMin=ACCESS_MIN_MOVE;
- move=horizontal;
- break;
- case moveAccess2:
- item=m_txAccess2;
- trans=m_txAccess2Orig;
- limitMax=ACCESS_MAX_MOVE;
- limitMin=ACCESS_MIN_MOVE;
- move=horizontal;
- break;
- case moveFlightMode:
- item=m_txFlightMode;
- move=jump;
- break;
- case centerAll:
- item=m_txArrows;
- move=jump;
- break;
- case moveAll:
- limitMax=STICK_MAX_MOVE;
- limitMin=STICK_MIN_MOVE;
- move=mix;
- break;
- default:
- break;
- }
- if(move==vertical)
- item->setTransform(trans.translate(0,movePos*10),false);
- else if(move==horizontal)
- item->setTransform(trans.translate(movePos*10,0),false);
- else if(move==jump)
- {
- if(item==m_txArrows)
- {
- m_txArrows->setVisible(!m_txArrows->isVisible());
- }
- else if(item==m_txFlightMode)
- {
- QGraphicsSvgItem * svg;
- svg=(QGraphicsSvgItem *)item;
- if (svg)
- {
- if(svg->elementId()=="flightModeCenter")
- {
- if(growing)
- {
- svg->setElementId("flightModeRight");
- m_txFlightMode->setTransform(m_txFlightModeROrig,false);
- }
- else
- {
- svg->setElementId("flightModeLeft");
- m_txFlightMode->setTransform(m_txFlightModeLOrig,false);
- }
- }
- else if(svg->elementId()=="flightModeRight")
- {
- growing=false;
- svg->setElementId("flightModeCenter");
- m_txFlightMode->setTransform(m_txFlightModeCOrig,false);
- }
- else if(svg->elementId()=="flightModeLeft")
- {
- growing=true;
- svg->setElementId("flightModeCenter");
- m_txFlightMode->setTransform(m_txFlightModeCOrig,false);
- }
- }
- }
- }
- else if(move==mix)
- {
- trans=m_txAccess0Orig;
- m_txAccess0->setTransform(trans.translate(movePos*10*ACCESS_MAX_MOVE/STICK_MAX_MOVE,0),false);
- trans=m_txAccess1Orig;
- m_txAccess1->setTransform(trans.translate(movePos*10*ACCESS_MAX_MOVE/STICK_MAX_MOVE,0),false);
- trans=m_txAccess2Orig;
- m_txAccess2->setTransform(trans.translate(movePos*10*ACCESS_MAX_MOVE/STICK_MAX_MOVE,0),false);
-
- if(auxFlag)
- {
- trans=m_txLeftStickOrig;
- m_txLeftStick->setTransform(trans.translate(0,movePos*10),false);
- trans=m_txRightStickOrig;
- m_txRightStick->setTransform(trans.translate(0,movePos*10),false);
- }
- else
- {
- trans=m_txLeftStickOrig;
- m_txLeftStick->setTransform(trans.translate(movePos*10,0),false);
- trans=m_txRightStickOrig;
- m_txRightStick->setTransform(trans.translate(movePos*10,0),false);
- }
-
- if(movePos==0)
- {
- m_txFlightMode->setElementId("flightModeCenter");
- m_txFlightMode->setTransform(m_txFlightModeCOrig,false);
- }
- else if(movePos==ACCESS_MAX_MOVE/2)
- {
- m_txFlightMode->setElementId("flightModeRight");
- m_txFlightMode->setTransform(m_txFlightModeROrig,false);
- }
- else if(movePos==ACCESS_MIN_MOVE/2)
- {
- m_txFlightMode->setElementId("flightModeLeft");
- m_txFlightMode->setTransform(m_txFlightModeLOrig,false);
- }
- }
- if(move==horizontal || move==vertical ||move==mix)
- {
- if(movePos==0 && growing)
- auxFlag=!auxFlag;
- if(growing)
- ++movePos;
- else
- --movePos;
- if(movePos>limitMax)
- {
- movePos=movePos-2;
- growing=false;
- }
- if(movePosgetData();
- flightStatusData=flightStatusObj->getData();
- accessoryDesiredData0=accessoryDesiredObj0->getData();
- accessoryDesiredData1=accessoryDesiredObj1->getData();
- accessoryDesiredData2=accessoryDesiredObj2->getData();
-
- if(transmitterMode==mode2)
- {
- trans=m_txLeftStickOrig;
- m_txLeftStick->setTransform(trans.translate(manualCommandData.Yaw*STICK_MAX_MOVE*10,-manualCommandData.Throttle*STICK_MAX_MOVE*10),false);
- trans=m_txRightStickOrig;
- m_txRightStick->setTransform(trans.translate(manualCommandData.Roll*STICK_MAX_MOVE*10,manualCommandData.Pitch*STICK_MAX_MOVE*10),false);
- }
- else
- {
- trans=m_txRightStickOrig;
- m_txRightStick->setTransform(trans.translate(manualCommandData.Roll*STICK_MAX_MOVE*10,-manualCommandData.Throttle*STICK_MAX_MOVE*10),false);
- trans=m_txLeftStickOrig;
- m_txLeftStick->setTransform(trans.translate(manualCommandData.Yaw*STICK_MAX_MOVE*10,manualCommandData.Pitch*STICK_MAX_MOVE*10),false);
- }
- if(flightStatusData.FlightMode==manualSettingsData.FlightModePosition[0])
- {
- m_txFlightMode->setElementId("flightModeLeft");
- m_txFlightMode->setTransform(m_txFlightModeLOrig,false);
- }
- else if (flightStatusData.FlightMode==manualSettingsData.FlightModePosition[1])
- {
- m_txFlightMode->setElementId("flightModeCenter");
- m_txFlightMode->setTransform(m_txFlightModeCOrig,false);
- }
- else if (flightStatusData.FlightMode==manualSettingsData.FlightModePosition[2])
- {
- m_txFlightMode->setElementId("flightModeRight");
- m_txFlightMode->setTransform(m_txFlightModeROrig,false);
- }
- m_txAccess0->setTransform(QTransform(m_txAccess0Orig).translate(accessoryDesiredData0.AccessoryVal*ACCESS_MAX_MOVE*10,0),false);
- m_txAccess1->setTransform(QTransform(m_txAccess1Orig).translate(accessoryDesiredData1.AccessoryVal*ACCESS_MAX_MOVE*10,0),false);
- m_txAccess2->setTransform(QTransform(m_txAccess2Orig).translate(accessoryDesiredData2.AccessoryVal*ACCESS_MAX_MOVE*10,0),false);
-}
-
-void ConfigInputWidget::dimOtherControls(bool value)
-{
- qreal opac;
- if(value)
- opac=0.1;
- else
- opac=1;
- m_txAccess0->setOpacity(opac);
- m_txAccess1->setOpacity(opac);
- m_txAccess2->setOpacity(opac);
- m_txFlightMode->setOpacity(opac);
-}
-
-void ConfigInputWidget::enableControls(bool enable)
-{
- m_config->configurationWizard->setEnabled(enable);
- m_config->runCalibration->setEnabled(enable);
-
- ConfigTaskWidget::enableControls(enable);
-
-}
-
-void ConfigInputWidget::invertControls()
-{
- manualSettingsData=manualSettingsObj->getData();
- foreach(QWidget * wd,extraWidgets)
- {
- QCheckBox * cb=qobject_cast(wd);
- if(cb)
- {
- int index = manualSettingsObj->getField("ChannelNumber")->getElementNames().indexOf(cb->text());
- if((cb->isChecked() && (manualSettingsData.ChannelMax[index]>manualSettingsData.ChannelMin[index])) ||
- (!cb->isChecked() && (manualSettingsData.ChannelMax[index]setData(manualSettingsData);
-}
-
-void ConfigInputWidget::moveFMSlider()
-{
- ManualControlSettings::DataFields manualSettingsDataPriv = manualSettingsObj->getData();
- ManualControlCommand::DataFields manualCommandDataPriv = manualCommandObj->getData();
-
- float valueScaled;
- int chMin = manualSettingsDataPriv.ChannelMin[ManualControlSettings::CHANNELMIN_FLIGHTMODE];
- int chMax = manualSettingsDataPriv.ChannelMax[ManualControlSettings::CHANNELMAX_FLIGHTMODE];
- int chNeutral = manualSettingsDataPriv.ChannelNeutral[ManualControlSettings::CHANNELNEUTRAL_FLIGHTMODE];
-
- int value = manualCommandDataPriv.Channel[ManualControlSettings::CHANNELMIN_FLIGHTMODE];
- if ((chMax > chMin && value >= chNeutral) || (chMin > chMax && value <= chNeutral))
- {
- if (chMax != chNeutral)
- valueScaled = (float)(value - chNeutral) / (float)(chMax - chNeutral);
- else
- valueScaled = 0;
- }
- else
- {
- if (chMin != chNeutral)
- valueScaled = (float)(value - chNeutral) / (float)(chNeutral - chMin);
- else
- valueScaled = 0;
- }
-
- // Bound and scale FlightMode from [-1..+1] to [0..1] range
- if (valueScaled < -1.0)
- valueScaled = -1.0;
- else
- if (valueScaled > 1.0)
- valueScaled = 1.0;
-
- // Convert flightMode value into the switch position in the range [0..N-1]
- // This uses the same optimized computation as flight code to be consistent
- uint8_t pos = ((int16_t)(valueScaled * 256) + 256) * manualSettingsDataPriv.FlightModeNumber >> 9;
- if (pos >= manualSettingsDataPriv.FlightModeNumber)
- pos = manualSettingsDataPriv.FlightModeNumber - 1;
- m_config->fmsSlider->setValue(pos);
-}
-
-void ConfigInputWidget::updatePositionSlider()
-{
- ManualControlSettings::DataFields manualSettingsDataPriv = manualSettingsObj->getData();
-
- switch(manualSettingsDataPriv.FlightModeNumber) {
- default:
- case 6:
- m_config->fmsModePos6->setEnabled(true);
- // pass through
- case 5:
- m_config->fmsModePos5->setEnabled(true);
- // pass through
- case 4:
- m_config->fmsModePos4->setEnabled(true);
- // pass through
- case 3:
- m_config->fmsModePos3->setEnabled(true);
- // pass through
- case 2:
- m_config->fmsModePos2->setEnabled(true);
- // pass through
- case 1:
- m_config->fmsModePos1->setEnabled(true);
- // pass through
- case 0:
- break;
- }
-
- switch(manualSettingsDataPriv.FlightModeNumber) {
- case 0:
- m_config->fmsModePos1->setEnabled(false);
- // pass through
- case 1:
- m_config->fmsModePos2->setEnabled(false);
- // pass through
- case 2:
- m_config->fmsModePos3->setEnabled(false);
- // pass through
- case 3:
- m_config->fmsModePos4->setEnabled(false);
- // pass through
- case 4:
- m_config->fmsModePos5->setEnabled(false);
- // pass through
- case 5:
- m_config->fmsModePos6->setEnabled(false);
- // pass through
- case 6:
- default:
- break;
- }
-}
-
-void ConfigInputWidget::updateCalibration()
-{
- manualCommandData=manualCommandObj->getData();
- for(uint i=0;imanualCommandData.Channel[i]) ||
- (reverse[i] && manualSettingsData.ChannelMin[i]manualCommandData.Channel[i]))
- manualSettingsData.ChannelMax[i]=manualCommandData.Channel[i];
- manualSettingsData.ChannelNeutral[i] = manualCommandData.Channel[i];
- }
-
- manualSettingsObj->setData(manualSettingsData);
- manualSettingsObj->updated();
-}
-
-void ConfigInputWidget::simpleCalibration(bool enable)
-{
- if (enable) {
- m_config->configurationWizard->setEnabled(false);
-
- QMessageBox msgBox;
- msgBox.setText(tr("Arming Settings are now set to Always Disarmed for your safety."));
- msgBox.setDetailedText(tr("You will have to reconfigure arming settings yourself afterwards."));
- msgBox.setStandardButtons(QMessageBox::Ok);
- msgBox.setDefaultButton(QMessageBox::Ok);
- msgBox.exec();
-
- manualCommandData = manualCommandObj->getData();
-
- manualSettingsData=manualSettingsObj->getData();
- manualSettingsData.Arming=ManualControlSettings::ARMING_ALWAYSDISARMED;
- manualSettingsObj->setData(manualSettingsData);
-
- for (unsigned int i = 0; i < ManualControlCommand::CHANNEL_NUMELEM; i++) {
- reverse[i] = manualSettingsData.ChannelMax[i] < manualSettingsData.ChannelMin[i];
- manualSettingsData.ChannelMin[i] = manualCommandData.Channel[i];
- manualSettingsData.ChannelNeutral[i] = manualCommandData.Channel[i];
- manualSettingsData.ChannelMax[i] = manualCommandData.Channel[i];
- }
-
- fastMdata();
-
- connect(manualCommandObj, SIGNAL(objectUnpacked(UAVObject*)), this, SLOT(updateCalibration()));
- } else {
- m_config->configurationWizard->setEnabled(true);
-
- manualCommandData = manualCommandObj->getData();
- manualSettingsData = manualSettingsObj->getData();
-
- restoreMdata();
-
- for (int i = 0; i < ManualControlCommand::CHANNEL_NUMELEM; i++)
- manualSettingsData.ChannelNeutral[i] = manualCommandData.Channel[i];
-
- // Force flight mode neutral to middle
- manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNUMBER_FLIGHTMODE] =
- (manualSettingsData.ChannelMax[ManualControlSettings::CHANNELNUMBER_FLIGHTMODE] +
- manualSettingsData.ChannelMin[ManualControlSettings::CHANNELNUMBER_FLIGHTMODE]) / 2;
-
- // Force throttle to be near min
- manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNEUTRAL_THROTTLE]=
- manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_THROTTLE]+
- ((manualSettingsData.ChannelMax[ManualControlSettings::CHANNELMAX_THROTTLE]-
- manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_THROTTLE])*0.02);
-
- manualSettingsObj->setData(manualSettingsData);
-
- disconnect(manualCommandObj, SIGNAL(objectUnpacked(UAVObject*)), this, SLOT(updateCalibration()));
- }
-}
+/**
+ ******************************************************************************
+ *
+ * @file configinputwidget.cpp
+ * @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
+ * @addtogroup GCSPlugins GCS Plugins
+ * @{
+ * @addtogroup ConfigPlugin Config Plugin
+ * @{
+ * @brief Servo input/output configuration panel for the config gadget
+ *****************************************************************************/
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "configinputwidget.h"
+
+#include "uavtalk/telemetrymanager.h"
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include
+#include
+
+#define ACCESS_MIN_MOVE -3
+#define ACCESS_MAX_MOVE 3
+#define STICK_MIN_MOVE -8
+#define STICK_MAX_MOVE 8
+
+ConfigInputWidget::ConfigInputWidget(QWidget *parent) : ConfigTaskWidget(parent),wizardStep(wizardNone),transmitterType(heli),loop(NULL),skipflag(false)
+{
+ manualCommandObj = ManualControlCommand::GetInstance(getObjectManager());
+ manualSettingsObj = ManualControlSettings::GetInstance(getObjectManager());
+ flightStatusObj = FlightStatus::GetInstance(getObjectManager());
+ receiverActivityObj=ReceiverActivity::GetInstance(getObjectManager());
+ m_config = new Ui_InputWidget();
+ m_config->setupUi(this);
+
+ addApplySaveButtons(m_config->saveRCInputToRAM,m_config->saveRCInputToSD);
+
+ ExtensionSystem::PluginManager *pm=ExtensionSystem::PluginManager::instance();
+ Core::Internal::GeneralSettings * settings=pm->getObject();
+ if(!settings->useExpertMode())
+ m_config->saveRCInputToRAM->setVisible(false);
+
+ addApplySaveButtons(m_config->saveRCInputToRAM,m_config->saveRCInputToSD);
+
+ //Generate the rows of buttons in the input channel form GUI
+ unsigned int index=0;
+ foreach (QString name, manualSettingsObj->getField("ChannelNumber")->getElementNames())
+ {
+ Q_ASSERT(index < ManualControlSettings::CHANNELGROUPS_NUMELEM);
+ inputChannelForm * inpForm=new inputChannelForm(this,index==0);
+ m_config->channelSettings->layout()->addWidget(inpForm); //Add the row to the UI
+ inpForm->setName(name);
+ addUAVObjectToWidgetRelation("ManualControlSettings","ChannelGroups",inpForm->ui->channelGroup,index);
+ addUAVObjectToWidgetRelation("ManualControlSettings","ChannelNumber",inpForm->ui->channelNumber,index);
+ addUAVObjectToWidgetRelation("ManualControlSettings","ChannelMin",inpForm->ui->channelMin,index);
+ addUAVObjectToWidgetRelation("ManualControlSettings","ChannelNeutral",inpForm->ui->channelNeutral,index);
+ addUAVObjectToWidgetRelation("ManualControlSettings","ChannelMax",inpForm->ui->channelMax,index);
+ ++index;
+ }
+
+ addUAVObjectToWidgetRelation("ManualControlSettings", "Deadband", m_config->deadband, 0, 0.01f);
+
+ connect(m_config->configurationWizard,SIGNAL(clicked()),this,SLOT(goToWizard()));
+ connect(m_config->stackedWidget,SIGNAL(currentChanged(int)),this,SLOT(disableWizardButton(int)));
+ connect(m_config->runCalibration,SIGNAL(toggled(bool)),this, SLOT(simpleCalibration(bool)));
+
+ connect(m_config->wzNext,SIGNAL(clicked()),this,SLOT(wzNext()));
+ connect(m_config->wzCancel,SIGNAL(clicked()),this,SLOT(wzCancel()));
+ connect(m_config->wzBack,SIGNAL(clicked()),this,SLOT(wzBack()));
+
+ m_config->stackedWidget->setCurrentIndex(0);
+ addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos1,0,1,true);
+ addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos2,1,1,true);
+ addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos3,2,1,true);
+ addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos4,3,1,true);
+ addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos5,4,1,true);
+ addUAVObjectToWidgetRelation("ManualControlSettings","FlightModePosition",m_config->fmsModePos6,5,1,true);
+ addUAVObjectToWidgetRelation("ManualControlSettings","FlightModeNumber",m_config->fmsPosNum);
+
+ addUAVObjectToWidgetRelation("ManualControlSettings","Stabilization1Settings",m_config->fmsSsPos1Roll,"Roll");
+ addUAVObjectToWidgetRelation("ManualControlSettings","Stabilization2Settings",m_config->fmsSsPos2Roll,"Roll");
+ addUAVObjectToWidgetRelation("ManualControlSettings","Stabilization3Settings",m_config->fmsSsPos3Roll,"Roll");
+ addUAVObjectToWidgetRelation("ManualControlSettings","Stabilization1Settings",m_config->fmsSsPos1Pitch,"Pitch");
+ addUAVObjectToWidgetRelation("ManualControlSettings","Stabilization2Settings",m_config->fmsSsPos2Pitch,"Pitch");
+ addUAVObjectToWidgetRelation("ManualControlSettings","Stabilization3Settings",m_config->fmsSsPos3Pitch,"Pitch");
+ addUAVObjectToWidgetRelation("ManualControlSettings","Stabilization1Settings",m_config->fmsSsPos1Yaw,"Yaw");
+ addUAVObjectToWidgetRelation("ManualControlSettings","Stabilization2Settings",m_config->fmsSsPos2Yaw,"Yaw");
+ addUAVObjectToWidgetRelation("ManualControlSettings","Stabilization3Settings",m_config->fmsSsPos3Yaw,"Yaw");
+
+ addUAVObjectToWidgetRelation("ManualControlSettings","Arming",m_config->armControl);
+ addUAVObjectToWidgetRelation("ManualControlSettings","ArmedTimeout",m_config->armTimeout,0,1000);
+ connect( ManualControlCommand::GetInstance(getObjectManager()),SIGNAL(objectUpdated(UAVObject*)),this,SLOT(moveFMSlider()));
+ connect( ManualControlSettings::GetInstance(getObjectManager()),SIGNAL(objectUpdated(UAVObject*)),this,SLOT(updatePositionSlider()));
+ enableControls(false);
+
+ populateWidgets();
+ refreshWidgetsValues();
+ // Connect the help button
+ connect(m_config->inputHelp, SIGNAL(clicked()), this, SLOT(openHelp()));
+
+ m_config->graphicsView->setScene(new QGraphicsScene(this));
+ m_config->graphicsView->setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
+ m_renderer = new QSvgRenderer();
+ QGraphicsScene *l_scene = m_config->graphicsView->scene();
+ m_config->graphicsView->setBackgroundBrush(QBrush(Utils::StyleHelper::baseColor()));
+ if (QFile::exists(":/configgadget/images/TX2.svg") && m_renderer->load(QString(":/configgadget/images/TX2.svg")) && m_renderer->isValid())
+ {
+ l_scene->clear(); // Deletes all items contained in the scene as well.
+
+ m_txBackground = new QGraphicsSvgItem();
+ // All other items will be clipped to the shape of the background
+ m_txBackground->setFlags(QGraphicsItem::ItemClipsChildrenToShape|
+ QGraphicsItem::ItemClipsToShape);
+ m_txBackground->setSharedRenderer(m_renderer);
+ m_txBackground->setElementId("background");
+ l_scene->addItem(m_txBackground);
+
+ m_txMainBody = new QGraphicsSvgItem();
+ m_txMainBody->setParentItem(m_txBackground);
+ m_txMainBody->setSharedRenderer(m_renderer);
+ m_txMainBody->setElementId("body");
+ l_scene->addItem(m_txMainBody);
+
+ m_txLeftStick = new QGraphicsSvgItem();
+ m_txLeftStick->setParentItem(m_txBackground);
+ m_txLeftStick->setSharedRenderer(m_renderer);
+ m_txLeftStick->setElementId("ljoy");
+
+ m_txRightStick = new QGraphicsSvgItem();
+ m_txRightStick->setParentItem(m_txBackground);
+ m_txRightStick->setSharedRenderer(m_renderer);
+ m_txRightStick->setElementId("rjoy");
+
+ m_txAccess0 = new QGraphicsSvgItem();
+ m_txAccess0->setParentItem(m_txBackground);
+ m_txAccess0->setSharedRenderer(m_renderer);
+ m_txAccess0->setElementId("access0");
+
+ m_txAccess1 = new QGraphicsSvgItem();
+ m_txAccess1->setParentItem(m_txBackground);
+ m_txAccess1->setSharedRenderer(m_renderer);
+ m_txAccess1->setElementId("access1");
+
+ m_txAccess2 = new QGraphicsSvgItem();
+ m_txAccess2->setParentItem(m_txBackground);
+ m_txAccess2->setSharedRenderer(m_renderer);
+ m_txAccess2->setElementId("access2");
+
+ m_txFlightMode = new QGraphicsSvgItem();
+ m_txFlightMode->setParentItem(m_txBackground);
+ m_txFlightMode->setSharedRenderer(m_renderer);
+ m_txFlightMode->setElementId("flightModeCenter");
+ m_txFlightMode->setZValue(-10);
+
+ m_txArrows = new QGraphicsSvgItem();
+ m_txArrows->setParentItem(m_txBackground);
+ m_txArrows->setSharedRenderer(m_renderer);
+ m_txArrows->setElementId("arrows");
+ m_txArrows->setVisible(false);
+
+ QRectF orig=m_renderer->boundsOnElement("ljoy");
+ QMatrix Matrix = m_renderer->matrixForElement("ljoy");
+ orig=Matrix.mapRect(orig);
+ m_txLeftStickOrig.translate(orig.x(),orig.y());
+ m_txLeftStick->setTransform(m_txLeftStickOrig,false);
+
+ orig=m_renderer->boundsOnElement("arrows");
+ Matrix = m_renderer->matrixForElement("arrows");
+ orig=Matrix.mapRect(orig);
+ m_txArrowsOrig.translate(orig.x(),orig.y());
+ m_txArrows->setTransform(m_txArrowsOrig,false);
+
+ orig=m_renderer->boundsOnElement("body");
+ Matrix = m_renderer->matrixForElement("body");
+ orig=Matrix.mapRect(orig);
+ m_txMainBodyOrig.translate(orig.x(),orig.y());
+ m_txMainBody->setTransform(m_txMainBodyOrig,false);
+
+ orig=m_renderer->boundsOnElement("flightModeCenter");
+ Matrix = m_renderer->matrixForElement("flightModeCenter");
+ orig=Matrix.mapRect(orig);
+ m_txFlightModeCOrig.translate(orig.x(),orig.y());
+ m_txFlightMode->setTransform(m_txFlightModeCOrig,false);
+
+ orig=m_renderer->boundsOnElement("flightModeLeft");
+ Matrix = m_renderer->matrixForElement("flightModeLeft");
+ orig=Matrix.mapRect(orig);
+ m_txFlightModeLOrig.translate(orig.x(),orig.y());
+ orig=m_renderer->boundsOnElement("flightModeRight");
+ Matrix = m_renderer->matrixForElement("flightModeRight");
+ orig=Matrix.mapRect(orig);
+ m_txFlightModeROrig.translate(orig.x(),orig.y());
+
+ orig=m_renderer->boundsOnElement("rjoy");
+ Matrix = m_renderer->matrixForElement("rjoy");
+ orig=Matrix.mapRect(orig);
+ m_txRightStickOrig.translate(orig.x(),orig.y());
+ m_txRightStick->setTransform(m_txRightStickOrig,false);
+
+ orig=m_renderer->boundsOnElement("access0");
+ Matrix = m_renderer->matrixForElement("access0");
+ orig=Matrix.mapRect(orig);
+ m_txAccess0Orig.translate(orig.x(),orig.y());
+ m_txAccess0->setTransform(m_txAccess0Orig,false);
+
+ orig=m_renderer->boundsOnElement("access1");
+ Matrix = m_renderer->matrixForElement("access1");
+ orig=Matrix.mapRect(orig);
+ m_txAccess1Orig.translate(orig.x(),orig.y());
+ m_txAccess1->setTransform(m_txAccess1Orig,false);
+
+ orig=m_renderer->boundsOnElement("access2");
+ Matrix = m_renderer->matrixForElement("access2");
+ orig=Matrix.mapRect(orig);
+ m_txAccess2Orig.translate(orig.x(),orig.y());
+ m_txAccess2->setTransform(m_txAccess2Orig,true);
+ }
+ m_config->graphicsView->fitInView(m_txMainBody, Qt::KeepAspectRatio );
+ animate=new QTimer(this);
+ connect(animate,SIGNAL(timeout()),this,SLOT(moveTxControls()));
+
+ heliChannelOrder << ManualControlSettings::CHANNELGROUPS_COLLECTIVE <<
+ ManualControlSettings::CHANNELGROUPS_THROTTLE <<
+ ManualControlSettings::CHANNELGROUPS_ROLL <<
+ ManualControlSettings::CHANNELGROUPS_PITCH <<
+ ManualControlSettings::CHANNELGROUPS_YAW <<
+ ManualControlSettings::CHANNELGROUPS_FLIGHTMODE <<
+ ManualControlSettings::CHANNELGROUPS_ACCESSORY0 <<
+ ManualControlSettings::CHANNELGROUPS_ACCESSORY1 <<
+ ManualControlSettings::CHANNELGROUPS_ACCESSORY2;
+
+ acroChannelOrder << ManualControlSettings::CHANNELGROUPS_THROTTLE <<
+ ManualControlSettings::CHANNELGROUPS_ROLL <<
+ ManualControlSettings::CHANNELGROUPS_PITCH <<
+ ManualControlSettings::CHANNELGROUPS_YAW <<
+ ManualControlSettings::CHANNELGROUPS_FLIGHTMODE <<
+ ManualControlSettings::CHANNELGROUPS_ACCESSORY0 <<
+ ManualControlSettings::CHANNELGROUPS_ACCESSORY1 <<
+ ManualControlSettings::CHANNELGROUPS_ACCESSORY2;
+}
+void ConfigInputWidget::resetTxControls()
+{
+
+ m_txLeftStick->setTransform(m_txLeftStickOrig,false);
+ m_txRightStick->setTransform(m_txRightStickOrig,false);
+ m_txAccess0->setTransform(m_txAccess0Orig,false);
+ m_txAccess1->setTransform(m_txAccess1Orig,false);
+ m_txAccess2->setTransform(m_txAccess2Orig,false);
+ m_txFlightMode->setElementId("flightModeCenter");
+ m_txFlightMode->setTransform(m_txFlightModeCOrig,false);
+ m_txArrows->setVisible(false);
+}
+
+ConfigInputWidget::~ConfigInputWidget()
+{
+
+}
+
+void ConfigInputWidget::resizeEvent(QResizeEvent *event)
+{
+ QWidget::resizeEvent(event);
+ m_config->graphicsView->fitInView(m_txBackground, Qt::KeepAspectRatio );
+}
+
+void ConfigInputWidget::openHelp()
+{
+
+ QDesktopServices::openUrl( QUrl("http://wiki.openpilot.org/x/04Cf", QUrl::StrictMode) );
+}
+void ConfigInputWidget::goToWizard()
+{
+ QMessageBox msgBox;
+ msgBox.setText(tr("Arming Settings are now set to Always Disarmed for your safety."));
+ msgBox.setDetailedText(tr("You will have to reconfigure arming settings yourself afterwards."));
+ msgBox.setStandardButtons(QMessageBox::Ok);
+ msgBox.setDefaultButton(QMessageBox::Ok);
+ msgBox.exec();
+ wizardSetUpStep(wizardWelcome);
+ m_config->graphicsView->fitInView(m_txBackground, Qt::KeepAspectRatio );
+}
+
+void ConfigInputWidget::disableWizardButton(int value)
+{
+ if(value!=0)
+ m_config->configurationWizard->setVisible(false);
+ else
+ m_config->configurationWizard->setVisible(true);
+}
+
+void ConfigInputWidget::wzCancel()
+{
+ dimOtherControls(false);
+ manualCommandObj->setMetadata(manualCommandObj->getDefaultMetadata());
+ m_config->stackedWidget->setCurrentIndex(0);
+
+ if(wizardStep != wizardNone)
+ wizardTearDownStep(wizardStep);
+ wizardStep=wizardNone;
+ m_config->stackedWidget->setCurrentIndex(0);
+
+ // Load settings back from beginning of wizard
+ manualSettingsObj->setData(previousManualSettingsData);
+}
+
+void ConfigInputWidget::wzNext()
+{
+ // In identify sticks mode the next button can indicate
+ // channel advance
+ if(wizardStep != wizardNone &&
+ wizardStep != wizardIdentifySticks)
+ wizardTearDownStep(wizardStep);
+
+ // State transitions for next button
+ switch(wizardStep) {
+ case wizardWelcome:
+ wizardSetUpStep(wizardChooseMode);
+ break;
+ case wizardChooseMode:
+ wizardSetUpStep(wizardChooseType);
+ break;
+ case wizardChooseType:
+ wizardSetUpStep(wizardIdentifySticks);
+ break;
+ case wizardIdentifySticks:
+ nextChannel();
+ if(currentChannelNum==-1) { // Gone through all channels
+ wizardTearDownStep(wizardIdentifySticks);
+ wizardSetUpStep(wizardIdentifyCenter);
+ }
+ break;
+ case wizardIdentifyCenter:
+ wizardSetUpStep(wizardIdentifyLimits);
+ break;
+ case wizardIdentifyLimits:
+ wizardSetUpStep(wizardIdentifyInverted);
+ break;
+ case wizardIdentifyInverted:
+ wizardSetUpStep(wizardFinish);
+ break;
+ case wizardFinish:
+ wizardStep=wizardNone;
+ m_config->stackedWidget->setCurrentIndex(0);
+ break;
+ default:
+ Q_ASSERT(0);
+ }
+}
+
+void ConfigInputWidget::wzBack()
+{
+ if(wizardStep != wizardNone &&
+ wizardStep != wizardIdentifySticks)
+ wizardTearDownStep(wizardStep);
+
+ // State transitions for next button
+ switch(wizardStep) {
+ case wizardChooseMode:
+ wizardSetUpStep(wizardWelcome);
+ break;
+ case wizardChooseType:
+ wizardSetUpStep(wizardChooseMode);
+ break;
+ case wizardIdentifySticks:
+ prevChannel();
+ if(currentChannelNum == -1) {
+ wizardTearDownStep(wizardIdentifySticks);
+ wizardSetUpStep(wizardChooseType);
+ }
+ break;
+ case wizardIdentifyCenter:
+ wizardSetUpStep(wizardIdentifySticks);
+ break;
+ case wizardIdentifyLimits:
+ wizardSetUpStep(wizardIdentifyCenter);
+ break;
+ case wizardIdentifyInverted:
+ wizardSetUpStep(wizardIdentifyLimits);
+ break;
+ case wizardFinish:
+ wizardSetUpStep(wizardIdentifyInverted);
+ break;
+ default:
+ Q_ASSERT(0);
+ }
+}
+
+void ConfigInputWidget::wizardSetUpStep(enum wizardSteps step)
+{
+ switch(step) {
+ case wizardWelcome:
+ foreach(QPointer wd,extraWidgets)
+ {
+ if(!wd.isNull())
+ delete wd;
+ }
+ extraWidgets.clear();
+ m_config->graphicsView->setVisible(false);
+ setTxMovement(nothing);
+ manualSettingsData=manualSettingsObj->getData();
+ manualSettingsData.Arming=ManualControlSettings::ARMING_ALWAYSDISARMED;
+ previousManualSettingsData = manualSettingsData;
+ manualSettingsObj->setData(manualSettingsData);
+ m_config->wzText->setText(tr("Welcome to the inputs configuration wizard.\n"
+ "Please follow the instructions on the screen and only move your controls when asked to.\n"
+ "Make sure you already configured your hardware settings on the proper tab and restarted your board.\n"
+ "At any time you can press 'back' to return to the previous screeen or 'Cancel' to cancel the wizard.\n"));
+ m_config->stackedWidget->setCurrentIndex(1);
+ m_config->wzBack->setEnabled(false);
+ break;
+ case wizardChooseMode:
+ {
+ m_config->graphicsView->setVisible(true);
+ m_config->graphicsView->fitInView(m_txBackground, Qt::KeepAspectRatio );
+ setTxMovement(nothing);
+ m_config->wzText->setText(tr("Please choose your transmiter type.\n"
+ "Mode 1 means your throttle stick is on the right\n"
+ "Mode 2 means your throttle stick is on the left\n"));
+ m_config->wzBack->setEnabled(true);
+ QRadioButton * mode1=new QRadioButton(tr("Mode 1"),this);
+ QRadioButton * mode2=new QRadioButton(tr("Mode 2"),this);
+ mode2->setChecked(true);
+ extraWidgets.clear();
+ extraWidgets.append(mode1);
+ extraWidgets.append(mode2);
+ m_config->checkBoxesLayout->layout()->addWidget(mode1);
+ m_config->checkBoxesLayout->layout()->addWidget(mode2);
+ }
+ break;
+ case wizardChooseType:
+ {
+ m_config->wzText->setText(tr("Please choose your transmiter mode.\n"
+ "Acro means normal transmitter\n"
+ "Heli means there is a collective pitch and throttle input\n"
+ "If you are using a heli transmitter please engage throttle hold now please.\n"));
+ m_config->wzBack->setEnabled(true);
+ QRadioButton * typeAcro=new QRadioButton(tr("Acro"),this);
+ QRadioButton * typeHeli=new QRadioButton(tr("Heli"),this);
+ typeAcro->setChecked(true);
+ typeHeli->setChecked(false);
+ extraWidgets.clear();
+ extraWidgets.append(typeAcro);
+ extraWidgets.append(typeHeli);
+ m_config->checkBoxesLayout->layout()->addWidget(typeAcro);
+ m_config->checkBoxesLayout->layout()->addWidget(typeHeli);
+ wizardStep=wizardChooseType;
+ }
+ break;
+ case wizardIdentifySticks:
+ usedChannels.clear();
+ currentChannelNum=-1;
+ nextChannel();
+ manualSettingsData=manualSettingsObj->getData();
+ connect(receiverActivityObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(identifyControls()));
+ m_config->wzNext->setEnabled(false);
+ break;
+ case wizardIdentifyCenter:
+ setTxMovement(centerAll);
+ m_config->wzText->setText(QString(tr("Please center all control controls and press next when ready (if your FlightMode switch has only two positions, leave it on either position)")));
+ break;
+ case wizardIdentifyLimits:
+ {
+ accessoryDesiredObj0 = AccessoryDesired::GetInstance(getObjectManager(),0);
+ accessoryDesiredObj1 = AccessoryDesired::GetInstance(getObjectManager(),1);
+ accessoryDesiredObj2 = AccessoryDesired::GetInstance(getObjectManager(),2);
+ setTxMovement(nothing);
+ m_config->wzText->setText(QString(tr("Please move all controls to their maximum extents on both directions and press next when ready")));
+ fastMdata();
+ manualSettingsData=manualSettingsObj->getData();
+ for(uint i=0;igetField("ChannelMax")->getElementNames().length(); index++)
+ {
+ QString name = manualSettingsObj->getField("ChannelMax")->getElementNames().at(index);
+ if(!name.contains("Access") && !name.contains("Flight"))
+ {
+ QCheckBox * cb=new QCheckBox(name,this);
+ // Make sure checked status matches current one
+ cb->setChecked(manualSettingsData.ChannelMax[index] < manualSettingsData.ChannelMin[index]);
+
+ extraWidgets.append(cb);
+ m_config->checkBoxesLayout->layout()->addWidget(cb);
+
+ connect(cb,SIGNAL(toggled(bool)),this,SLOT(invertControls()));
+ }
+ }
+ connect(manualCommandObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
+ m_config->wzText->setText(QString(tr("Please check the picture below and check all the sticks which show an inverted movement and press next when ready")));
+ fastMdata();
+ break;
+ case wizardFinish:
+ dimOtherControls(false);
+ connect(manualCommandObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
+ connect(flightStatusObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
+ connect(accessoryDesiredObj0, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
+ m_config->wzText->setText(QString(tr("You have completed this wizard, please check below if the picture below mimics your sticks movement.\n"
+ "This new settings aren't saved to the board yet, after pressing next you will go to the initial screen where you can do that.")));
+ fastMdata();
+
+ manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNEUTRAL_THROTTLE]=
+ manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_THROTTLE]+
+ ((manualSettingsData.ChannelMax[ManualControlSettings::CHANNELMAX_THROTTLE]-
+ manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_THROTTLE])*0.02);
+ if((abs(manualSettingsData.ChannelMax[ManualControlSettings::CHANNELMAX_FLIGHTMODE]-manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNEUTRAL_FLIGHTMODE])<100) ||
+ (abs(manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_FLIGHTMODE]-manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNEUTRAL_FLIGHTMODE])<100))
+ {
+ manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNEUTRAL_FLIGHTMODE]=manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_FLIGHTMODE]+
+ (manualSettingsData.ChannelMax[ManualControlSettings::CHANNELMAX_FLIGHTMODE]-manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_FLIGHTMODE])/2;
+ }
+ manualSettingsObj->setData(manualSettingsData);
+ break;
+ default:
+ Q_ASSERT(0);
+ }
+ wizardStep = step;
+}
+
+void ConfigInputWidget::wizardTearDownStep(enum wizardSteps step)
+{
+ QRadioButton * mode, * type;
+ Q_ASSERT(step == wizardStep);
+ switch(step) {
+ case wizardWelcome:
+ break;
+ case wizardChooseMode:
+ mode=qobject_cast(extraWidgets.at(0));
+ if(mode->isChecked())
+ transmitterMode=mode1;
+ else
+ transmitterMode=mode2;
+ delete extraWidgets.at(0);
+ delete extraWidgets.at(1);
+ extraWidgets.clear();
+ break;
+ case wizardChooseType:
+ type=qobject_cast(extraWidgets.at(0));
+ if(type->isChecked())
+ transmitterType=acro;
+ else
+ transmitterType=heli;
+ delete extraWidgets.at(0);
+ delete extraWidgets.at(1);
+ extraWidgets.clear();
+ break;
+ case wizardIdentifySticks:
+ disconnect(receiverActivityObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(identifyControls()));
+ m_config->wzNext->setEnabled(true);
+ setTxMovement(nothing);
+ break;
+ case wizardIdentifyCenter:
+ manualCommandData=manualCommandObj->getData();
+ manualSettingsData=manualSettingsObj->getData();
+ for(unsigned int i=0;isetData(manualSettingsData);
+ setTxMovement(nothing);
+ break;
+ case wizardIdentifyLimits:
+ disconnect(manualCommandObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(identifyLimits()));
+ disconnect(manualCommandObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
+ disconnect(flightStatusObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
+ disconnect(accessoryDesiredObj0, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
+ manualSettingsObj->setData(manualSettingsData);
+ restoreMdata();
+ setTxMovement(nothing);
+ break;
+ case wizardIdentifyInverted:
+ dimOtherControls(false);
+ foreach(QWidget * wd,extraWidgets)
+ {
+ QCheckBox * cb=qobject_cast(wd);
+ if(cb)
+ {
+ disconnect(cb,SIGNAL(toggled(bool)),this,SLOT(invertControls()));
+ delete cb;
+ }
+ }
+ extraWidgets.clear();
+ disconnect(manualCommandObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
+ restoreMdata();
+ break;
+ case wizardFinish:
+ dimOtherControls(false);
+ setTxMovement(nothing);
+ disconnect(manualCommandObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
+ disconnect(flightStatusObj, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
+ disconnect(accessoryDesiredObj0, SIGNAL(objectUpdated(UAVObject*)), this, SLOT(moveSticks()));
+ restoreMdata();
+ break;
+ default:
+ Q_ASSERT(0);
+ }
+}
+
+/**
+ * Set manual control command to fast updates
+ */
+void ConfigInputWidget::fastMdata()
+{
+ manualControlMdata = manualCommandObj->getMetadata();
+ UAVObject::Metadata mdata = manualControlMdata;
+ UAVObject::SetFlightTelemetryUpdateMode(mdata, UAVObject::UPDATEMODE_PERIODIC);
+ mdata.flightTelemetryUpdatePeriod = 150;
+ manualCommandObj->setMetadata(mdata);
+}
+
+/**
+ * Restore previous update settings for manual control data
+ */
+void ConfigInputWidget::restoreMdata()
+{
+ manualCommandObj->setMetadata(manualControlMdata);
+}
+
+/**
+ * Set the display to indicate which channel the person should move
+ */
+void ConfigInputWidget::setChannel(int newChan)
+{
+ if(newChan == ManualControlSettings::CHANNELGROUPS_COLLECTIVE)
+ m_config->wzText->setText(QString(tr("Please enable throttle hold mode and move the collective pitch stick")));
+ else if (newChan == ManualControlSettings::CHANNELGROUPS_FLIGHTMODE)
+ m_config->wzText->setText(QString(tr("Please flick the flight mode switch. For switches you may have to repeat this rapidly.")));
+ else if((transmitterType == heli) && (newChan == ManualControlSettings::CHANNELGROUPS_THROTTLE))
+ m_config->wzText->setText(QString(tr("Please disable throttle hold mode and move the throttle stick")));
+ else
+ m_config->wzText->setText(QString(tr("Please move each control once at a time according to the instructions and picture below.\n\n"
+ "Move the %1 stick")).arg(manualSettingsObj->getField("ChannelGroups")->getElementNames().at(newChan)));
+
+ if(manualSettingsObj->getField("ChannelGroups")->getElementNames().at(newChan).contains("Accessory") ||
+ manualSettingsObj->getField("ChannelGroups")->getElementNames().at(newChan).contains("FlightMode")) {
+ m_config->wzNext->setEnabled(true);
+ m_config->wzText->setText(m_config->wzText->text() + tr(" or click next to skip this channel."));
+ } else
+ m_config->wzNext->setEnabled(false);
+
+ setMoveFromCommand(newChan);
+
+ currentChannelNum = newChan;
+ channelDetected = false;
+}
+
+/**
+ * Unfortunately order of channel should be different in different conditions. Selects
+ * next channel based on heli or acro mode
+ */
+void ConfigInputWidget::nextChannel()
+{
+ QList order = (transmitterType == heli) ? heliChannelOrder : acroChannelOrder;
+
+ if(currentChannelNum == -1) {
+ setChannel(order[0]);
+ return;
+ }
+ for (int i = 0; i < order.length() - 1; i++) {
+ if(order[i] == currentChannelNum) {
+ setChannel(order[i+1]);
+ return;
+ }
+ }
+ currentChannelNum = -1; // hit end of list
+}
+
+/**
+ * Unfortunately order of channel should be different in different conditions. Selects
+ * previous channel based on heli or acro mode
+ */
+void ConfigInputWidget::prevChannel()
+{
+ QList order = transmitterType == heli ? heliChannelOrder : acroChannelOrder;
+
+ // No previous from unset channel or next state
+ if(currentChannelNum == -1)
+ return;
+
+ for (int i = 1; i < order.length(); i++) {
+ if(order[i] == currentChannelNum) {
+ setChannel(order[i-1]);
+ usedChannels.removeLast();
+ return;
+ }
+ }
+ currentChannelNum = -1; // hit end of list
+}
+
+void ConfigInputWidget::identifyControls()
+{
+ static int debounce=0;
+
+ receiverActivityData=receiverActivityObj->getData();
+ if(receiverActivityData.ActiveChannel==255)
+ return;
+ if(channelDetected)
+ return;
+ else
+ {
+ receiverActivityData=receiverActivityObj->getData();
+ currentChannel.group=receiverActivityData.ActiveGroup;
+ currentChannel.number=receiverActivityData.ActiveChannel;
+ if(currentChannel==lastChannel)
+ ++debounce;
+ lastChannel.group= currentChannel.group;
+ lastChannel.number=currentChannel.number;
+ if(!usedChannels.contains(lastChannel) && debounce>1)
+ {
+ channelDetected = true;
+ debounce=0;
+ usedChannels.append(lastChannel);
+ manualSettingsData=manualSettingsObj->getData();
+ manualSettingsData.ChannelGroups[currentChannelNum]=currentChannel.group;
+ manualSettingsData.ChannelNumber[currentChannelNum]=currentChannel.number;
+ manualSettingsObj->setData(manualSettingsData);
+ }
+ else
+ return;
+ }
+
+ m_config->wzText->clear();
+ setTxMovement(nothing);
+
+ QTimer::singleShot(2500, this, SLOT(wzNext()));
+}
+
+void ConfigInputWidget::identifyLimits()
+{
+ manualCommandData=manualCommandObj->getData();
+ for(uint i=0;imanualCommandData.Channel[i])
+ manualSettingsData.ChannelMin[i]=manualCommandData.Channel[i];
+ if(manualSettingsData.ChannelMax[i]manualCommandData.Channel[i])
+ manualSettingsData.ChannelMax[i]=manualCommandData.Channel[i];
+ if(manualSettingsData.ChannelMin[i]setData(manualSettingsData);
+}
+void ConfigInputWidget::setMoveFromCommand(int command)
+{
+ //CHANNELNUMBER_ROLL=0, CHANNELNUMBER_PITCH=1, CHANNELNUMBER_YAW=2, CHANNELNUMBER_THROTTLE=3, CHANNELNUMBER_FLIGHTMODE=4, CHANNELNUMBER_ACCESSORY0=5, CHANNELNUMBER_ACCESSORY1=6, CHANNELNUMBER_ACCESSORY2=7 } ChannelNumberElem;
+ if(command==ManualControlSettings::CHANNELNUMBER_ROLL)
+ {
+ setTxMovement(moveRightHorizontalStick);
+ }
+ else if(command==ManualControlSettings::CHANNELNUMBER_PITCH)
+ {
+ if(transmitterMode==mode2)
+ setTxMovement(moveRightVerticalStick);
+ else
+ setTxMovement(moveLeftVerticalStick);
+ }
+ else if(command==ManualControlSettings::CHANNELNUMBER_YAW)
+ {
+ setTxMovement(moveLeftHorizontalStick);
+ }
+ else if(command==ManualControlSettings::CHANNELNUMBER_THROTTLE)
+ {
+ if(transmitterMode==mode2)
+ setTxMovement(moveLeftVerticalStick);
+ else
+ setTxMovement(moveRightVerticalStick);
+ }
+ else if(command==ManualControlSettings::CHANNELNUMBER_COLLECTIVE)
+ {
+ if(transmitterMode==mode2)
+ setTxMovement(moveLeftVerticalStick);
+ else
+ setTxMovement(moveRightVerticalStick);
+ }
+ else if(command==ManualControlSettings::CHANNELNUMBER_FLIGHTMODE)
+ {
+ setTxMovement(moveFlightMode);
+ }
+ else if(command==ManualControlSettings::CHANNELNUMBER_ACCESSORY0)
+ {
+ setTxMovement(moveAccess0);
+ }
+ else if(command==ManualControlSettings::CHANNELNUMBER_ACCESSORY1)
+ {
+ setTxMovement(moveAccess1);
+ }
+ else if(command==ManualControlSettings::CHANNELNUMBER_ACCESSORY2)
+ {
+ setTxMovement(moveAccess2);
+ }
+
+}
+
+void ConfigInputWidget::setTxMovement(txMovements movement)
+{
+ resetTxControls();
+ switch(movement)
+ {
+ case moveLeftVerticalStick:
+ movePos=0;
+ growing=true;
+ currentMovement=moveLeftVerticalStick;
+ animate->start(100);
+ break;
+ case moveRightVerticalStick:
+ movePos=0;
+ growing=true;
+ currentMovement=moveRightVerticalStick;
+ animate->start(100);
+ break;
+ case moveLeftHorizontalStick:
+ movePos=0;
+ growing=true;
+ currentMovement=moveLeftHorizontalStick;
+ animate->start(100);
+ break;
+ case moveRightHorizontalStick:
+ movePos=0;
+ growing=true;
+ currentMovement=moveRightHorizontalStick;
+ animate->start(100);
+ break;
+ case moveAccess0:
+ movePos=0;
+ growing=true;
+ currentMovement=moveAccess0;
+ animate->start(100);
+ break;
+ case moveAccess1:
+ movePos=0;
+ growing=true;
+ currentMovement=moveAccess1;
+ animate->start(100);
+ break;
+ case moveAccess2:
+ movePos=0;
+ growing=true;
+ currentMovement=moveAccess2;
+ animate->start(100);
+ break;
+ case moveFlightMode:
+ movePos=0;
+ growing=true;
+ currentMovement=moveFlightMode;
+ animate->start(1000);
+ break;
+ case centerAll:
+ movePos=0;
+ currentMovement=centerAll;
+ animate->start(1000);
+ break;
+ case moveAll:
+ movePos=0;
+ growing=true;
+ currentMovement=moveAll;
+ animate->start(50);
+ break;
+ case nothing:
+ movePos=0;
+ animate->stop();
+ break;
+ default:
+ break;
+ }
+}
+
+void ConfigInputWidget::moveTxControls()
+{
+ QTransform trans;
+ QGraphicsItem * item;
+ txMovementType move;
+ int limitMax;
+ int limitMin;
+ static bool auxFlag=false;
+ switch(currentMovement)
+ {
+ case moveLeftVerticalStick:
+ item=m_txLeftStick;
+ trans=m_txLeftStickOrig;
+ limitMax=STICK_MAX_MOVE;
+ limitMin=STICK_MIN_MOVE;
+ move=vertical;
+ break;
+ case moveRightVerticalStick:
+ item=m_txRightStick;
+ trans=m_txRightStickOrig;
+ limitMax=STICK_MAX_MOVE;
+ limitMin=STICK_MIN_MOVE;
+ move=vertical;
+ break;
+ case moveLeftHorizontalStick:
+ item=m_txLeftStick;
+ trans=m_txLeftStickOrig;
+ limitMax=STICK_MAX_MOVE;
+ limitMin=STICK_MIN_MOVE;
+ move=horizontal;
+ break;
+ case moveRightHorizontalStick:
+ item=m_txRightStick;
+ trans=m_txRightStickOrig;
+ limitMax=STICK_MAX_MOVE;
+ limitMin=STICK_MIN_MOVE;
+ move=horizontal;
+ break;
+ case moveAccess0:
+ item=m_txAccess0;
+ trans=m_txAccess0Orig;
+ limitMax=ACCESS_MAX_MOVE;
+ limitMin=ACCESS_MIN_MOVE;
+ move=horizontal;
+ break;
+ case moveAccess1:
+ item=m_txAccess1;
+ trans=m_txAccess1Orig;
+ limitMax=ACCESS_MAX_MOVE;
+ limitMin=ACCESS_MIN_MOVE;
+ move=horizontal;
+ break;
+ case moveAccess2:
+ item=m_txAccess2;
+ trans=m_txAccess2Orig;
+ limitMax=ACCESS_MAX_MOVE;
+ limitMin=ACCESS_MIN_MOVE;
+ move=horizontal;
+ break;
+ case moveFlightMode:
+ item=m_txFlightMode;
+ move=jump;
+ break;
+ case centerAll:
+ item=m_txArrows;
+ move=jump;
+ break;
+ case moveAll:
+ limitMax=STICK_MAX_MOVE;
+ limitMin=STICK_MIN_MOVE;
+ move=mix;
+ break;
+ default:
+ break;
+ }
+ if(move==vertical)
+ item->setTransform(trans.translate(0,movePos*10),false);
+ else if(move==horizontal)
+ item->setTransform(trans.translate(movePos*10,0),false);
+ else if(move==jump)
+ {
+ if(item==m_txArrows)
+ {
+ m_txArrows->setVisible(!m_txArrows->isVisible());
+ }
+ else if(item==m_txFlightMode)
+ {
+ QGraphicsSvgItem * svg;
+ svg=(QGraphicsSvgItem *)item;
+ if (svg)
+ {
+ if(svg->elementId()=="flightModeCenter")
+ {
+ if(growing)
+ {
+ svg->setElementId("flightModeRight");
+ m_txFlightMode->setTransform(m_txFlightModeROrig,false);
+ }
+ else
+ {
+ svg->setElementId("flightModeLeft");
+ m_txFlightMode->setTransform(m_txFlightModeLOrig,false);
+ }
+ }
+ else if(svg->elementId()=="flightModeRight")
+ {
+ growing=false;
+ svg->setElementId("flightModeCenter");
+ m_txFlightMode->setTransform(m_txFlightModeCOrig,false);
+ }
+ else if(svg->elementId()=="flightModeLeft")
+ {
+ growing=true;
+ svg->setElementId("flightModeCenter");
+ m_txFlightMode->setTransform(m_txFlightModeCOrig,false);
+ }
+ }
+ }
+ }
+ else if(move==mix)
+ {
+ trans=m_txAccess0Orig;
+ m_txAccess0->setTransform(trans.translate(movePos*10*ACCESS_MAX_MOVE/STICK_MAX_MOVE,0),false);
+ trans=m_txAccess1Orig;
+ m_txAccess1->setTransform(trans.translate(movePos*10*ACCESS_MAX_MOVE/STICK_MAX_MOVE,0),false);
+ trans=m_txAccess2Orig;
+ m_txAccess2->setTransform(trans.translate(movePos*10*ACCESS_MAX_MOVE/STICK_MAX_MOVE,0),false);
+
+ if(auxFlag)
+ {
+ trans=m_txLeftStickOrig;
+ m_txLeftStick->setTransform(trans.translate(0,movePos*10),false);
+ trans=m_txRightStickOrig;
+ m_txRightStick->setTransform(trans.translate(0,movePos*10),false);
+ }
+ else
+ {
+ trans=m_txLeftStickOrig;
+ m_txLeftStick->setTransform(trans.translate(movePos*10,0),false);
+ trans=m_txRightStickOrig;
+ m_txRightStick->setTransform(trans.translate(movePos*10,0),false);
+ }
+
+ if(movePos==0)
+ {
+ m_txFlightMode->setElementId("flightModeCenter");
+ m_txFlightMode->setTransform(m_txFlightModeCOrig,false);
+ }
+ else if(movePos==ACCESS_MAX_MOVE/2)
+ {
+ m_txFlightMode->setElementId("flightModeRight");
+ m_txFlightMode->setTransform(m_txFlightModeROrig,false);
+ }
+ else if(movePos==ACCESS_MIN_MOVE/2)
+ {
+ m_txFlightMode->setElementId("flightModeLeft");
+ m_txFlightMode->setTransform(m_txFlightModeLOrig,false);
+ }
+ }
+ if(move==horizontal || move==vertical ||move==mix)
+ {
+ if(movePos==0 && growing)
+ auxFlag=!auxFlag;
+ if(growing)
+ ++movePos;
+ else
+ --movePos;
+ if(movePos>limitMax)
+ {
+ movePos=movePos-2;
+ growing=false;
+ }
+ if(movePosgetData();
+ flightStatusData=flightStatusObj->getData();
+ accessoryDesiredData0=accessoryDesiredObj0->getData();
+ accessoryDesiredData1=accessoryDesiredObj1->getData();
+ accessoryDesiredData2=accessoryDesiredObj2->getData();
+
+ if(transmitterMode==mode2)
+ {
+ trans=m_txLeftStickOrig;
+ m_txLeftStick->setTransform(trans.translate(manualCommandData.Yaw*STICK_MAX_MOVE*10,-manualCommandData.Throttle*STICK_MAX_MOVE*10),false);
+ trans=m_txRightStickOrig;
+ m_txRightStick->setTransform(trans.translate(manualCommandData.Roll*STICK_MAX_MOVE*10,manualCommandData.Pitch*STICK_MAX_MOVE*10),false);
+ }
+ else
+ {
+ trans=m_txRightStickOrig;
+ m_txRightStick->setTransform(trans.translate(manualCommandData.Roll*STICK_MAX_MOVE*10,-manualCommandData.Throttle*STICK_MAX_MOVE*10),false);
+ trans=m_txLeftStickOrig;
+ m_txLeftStick->setTransform(trans.translate(manualCommandData.Yaw*STICK_MAX_MOVE*10,manualCommandData.Pitch*STICK_MAX_MOVE*10),false);
+ }
+ if(flightStatusData.FlightMode==manualSettingsData.FlightModePosition[0])
+ {
+ m_txFlightMode->setElementId("flightModeLeft");
+ m_txFlightMode->setTransform(m_txFlightModeLOrig,false);
+ }
+ else if (flightStatusData.FlightMode==manualSettingsData.FlightModePosition[1])
+ {
+ m_txFlightMode->setElementId("flightModeCenter");
+ m_txFlightMode->setTransform(m_txFlightModeCOrig,false);
+ }
+ else if (flightStatusData.FlightMode==manualSettingsData.FlightModePosition[2])
+ {
+ m_txFlightMode->setElementId("flightModeRight");
+ m_txFlightMode->setTransform(m_txFlightModeROrig,false);
+ }
+ m_txAccess0->setTransform(QTransform(m_txAccess0Orig).translate(accessoryDesiredData0.AccessoryVal*ACCESS_MAX_MOVE*10,0),false);
+ m_txAccess1->setTransform(QTransform(m_txAccess1Orig).translate(accessoryDesiredData1.AccessoryVal*ACCESS_MAX_MOVE*10,0),false);
+ m_txAccess2->setTransform(QTransform(m_txAccess2Orig).translate(accessoryDesiredData2.AccessoryVal*ACCESS_MAX_MOVE*10,0),false);
+}
+
+void ConfigInputWidget::dimOtherControls(bool value)
+{
+ qreal opac;
+ if(value)
+ opac=0.1;
+ else
+ opac=1;
+ m_txAccess0->setOpacity(opac);
+ m_txAccess1->setOpacity(opac);
+ m_txAccess2->setOpacity(opac);
+ m_txFlightMode->setOpacity(opac);
+}
+
+void ConfigInputWidget::enableControls(bool enable)
+{
+ m_config->configurationWizard->setEnabled(enable);
+ m_config->runCalibration->setEnabled(enable);
+
+ ConfigTaskWidget::enableControls(enable);
+
+}
+
+void ConfigInputWidget::invertControls()
+{
+ manualSettingsData=manualSettingsObj->getData();
+ foreach(QWidget * wd,extraWidgets)
+ {
+ QCheckBox * cb=qobject_cast(wd);
+ if(cb)
+ {
+ int index = manualSettingsObj->getField("ChannelNumber")->getElementNames().indexOf(cb->text());
+ if((cb->isChecked() && (manualSettingsData.ChannelMax[index]>manualSettingsData.ChannelMin[index])) ||
+ (!cb->isChecked() && (manualSettingsData.ChannelMax[index]setData(manualSettingsData);
+}
+
+void ConfigInputWidget::moveFMSlider()
+{
+ ManualControlSettings::DataFields manualSettingsDataPriv = manualSettingsObj->getData();
+ ManualControlCommand::DataFields manualCommandDataPriv = manualCommandObj->getData();
+
+ float valueScaled;
+ int chMin = manualSettingsDataPriv.ChannelMin[ManualControlSettings::CHANNELMIN_FLIGHTMODE];
+ int chMax = manualSettingsDataPriv.ChannelMax[ManualControlSettings::CHANNELMAX_FLIGHTMODE];
+ int chNeutral = manualSettingsDataPriv.ChannelNeutral[ManualControlSettings::CHANNELNEUTRAL_FLIGHTMODE];
+
+ int value = manualCommandDataPriv.Channel[ManualControlSettings::CHANNELMIN_FLIGHTMODE];
+ if ((chMax > chMin && value >= chNeutral) || (chMin > chMax && value <= chNeutral))
+ {
+ if (chMax != chNeutral)
+ valueScaled = (float)(value - chNeutral) / (float)(chMax - chNeutral);
+ else
+ valueScaled = 0;
+ }
+ else
+ {
+ if (chMin != chNeutral)
+ valueScaled = (float)(value - chNeutral) / (float)(chNeutral - chMin);
+ else
+ valueScaled = 0;
+ }
+
+ // Bound and scale FlightMode from [-1..+1] to [0..1] range
+ if (valueScaled < -1.0)
+ valueScaled = -1.0;
+ else
+ if (valueScaled > 1.0)
+ valueScaled = 1.0;
+
+ // Convert flightMode value into the switch position in the range [0..N-1]
+ // This uses the same optimized computation as flight code to be consistent
+ uint8_t pos = ((int16_t)(valueScaled * 256) + 256) * manualSettingsDataPriv.FlightModeNumber >> 9;
+ if (pos >= manualSettingsDataPriv.FlightModeNumber)
+ pos = manualSettingsDataPriv.FlightModeNumber - 1;
+ m_config->fmsSlider->setValue(pos);
+}
+
+void ConfigInputWidget::updatePositionSlider()
+{
+ ManualControlSettings::DataFields manualSettingsDataPriv = manualSettingsObj->getData();
+
+ switch(manualSettingsDataPriv.FlightModeNumber) {
+ default:
+ case 6:
+ m_config->fmsModePos6->setEnabled(true);
+ // pass through
+ case 5:
+ m_config->fmsModePos5->setEnabled(true);
+ // pass through
+ case 4:
+ m_config->fmsModePos4->setEnabled(true);
+ // pass through
+ case 3:
+ m_config->fmsModePos3->setEnabled(true);
+ // pass through
+ case 2:
+ m_config->fmsModePos2->setEnabled(true);
+ // pass through
+ case 1:
+ m_config->fmsModePos1->setEnabled(true);
+ // pass through
+ case 0:
+ break;
+ }
+
+ switch(manualSettingsDataPriv.FlightModeNumber) {
+ case 0:
+ m_config->fmsModePos1->setEnabled(false);
+ // pass through
+ case 1:
+ m_config->fmsModePos2->setEnabled(false);
+ // pass through
+ case 2:
+ m_config->fmsModePos3->setEnabled(false);
+ // pass through
+ case 3:
+ m_config->fmsModePos4->setEnabled(false);
+ // pass through
+ case 4:
+ m_config->fmsModePos5->setEnabled(false);
+ // pass through
+ case 5:
+ m_config->fmsModePos6->setEnabled(false);
+ // pass through
+ case 6:
+ default:
+ break;
+ }
+}
+
+void ConfigInputWidget::updateCalibration()
+{
+ manualCommandData=manualCommandObj->getData();
+ for(uint i=0;imanualCommandData.Channel[i]) ||
+ (reverse[i] && manualSettingsData.ChannelMin[i]manualCommandData.Channel[i]))
+ manualSettingsData.ChannelMax[i]=manualCommandData.Channel[i];
+ manualSettingsData.ChannelNeutral[i] = manualCommandData.Channel[i];
+ }
+
+ manualSettingsObj->setData(manualSettingsData);
+ manualSettingsObj->updated();
+}
+
+void ConfigInputWidget::simpleCalibration(bool enable)
+{
+ if (enable) {
+ m_config->configurationWizard->setEnabled(false);
+
+ QMessageBox msgBox;
+ msgBox.setText(tr("Arming Settings are now set to Always Disarmed for your safety."));
+ msgBox.setDetailedText(tr("You will have to reconfigure arming settings yourself afterwards."));
+ msgBox.setStandardButtons(QMessageBox::Ok);
+ msgBox.setDefaultButton(QMessageBox::Ok);
+ msgBox.exec();
+
+ manualCommandData = manualCommandObj->getData();
+
+ manualSettingsData=manualSettingsObj->getData();
+ manualSettingsData.Arming=ManualControlSettings::ARMING_ALWAYSDISARMED;
+ manualSettingsObj->setData(manualSettingsData);
+
+ for (unsigned int i = 0; i < ManualControlCommand::CHANNEL_NUMELEM; i++) {
+ reverse[i] = manualSettingsData.ChannelMax[i] < manualSettingsData.ChannelMin[i];
+ manualSettingsData.ChannelMin[i] = manualCommandData.Channel[i];
+ manualSettingsData.ChannelNeutral[i] = manualCommandData.Channel[i];
+ manualSettingsData.ChannelMax[i] = manualCommandData.Channel[i];
+ }
+
+ fastMdata();
+
+ connect(manualCommandObj, SIGNAL(objectUnpacked(UAVObject*)), this, SLOT(updateCalibration()));
+ } else {
+ m_config->configurationWizard->setEnabled(true);
+
+ manualCommandData = manualCommandObj->getData();
+ manualSettingsData = manualSettingsObj->getData();
+
+ restoreMdata();
+
+ for (int i = 0; i < ManualControlCommand::CHANNEL_NUMELEM; i++)
+ manualSettingsData.ChannelNeutral[i] = manualCommandData.Channel[i];
+
+ // Force flight mode neutral to middle
+ manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNUMBER_FLIGHTMODE] =
+ (manualSettingsData.ChannelMax[ManualControlSettings::CHANNELNUMBER_FLIGHTMODE] +
+ manualSettingsData.ChannelMin[ManualControlSettings::CHANNELNUMBER_FLIGHTMODE]) / 2;
+
+ // Force throttle to be near min
+ manualSettingsData.ChannelNeutral[ManualControlSettings::CHANNELNEUTRAL_THROTTLE]=
+ manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_THROTTLE]+
+ ((manualSettingsData.ChannelMax[ManualControlSettings::CHANNELMAX_THROTTLE]-
+ manualSettingsData.ChannelMin[ManualControlSettings::CHANNELMIN_THROTTLE])*0.02);
+
+ manualSettingsObj->setData(manualSettingsData);
+
+ disconnect(manualCommandObj, SIGNAL(objectUnpacked(UAVObject*)), this, SLOT(updateCalibration()));
+ }
+}
diff --git a/ground/openpilotgcs/src/plugins/config/input.ui b/ground/openpilotgcs/src/plugins/config/input.ui
old mode 100644
new mode 100755
index c5ab2d9dc..85d63b2f5
--- a/ground/openpilotgcs/src/plugins/config/input.ui
+++ b/ground/openpilotgcs/src/plugins/config/input.ui
@@ -6,14 +6,17 @@
0
0
- 991
- 711
+ 670
+ 693
Form
+
+ 12
+
-
@@ -25,20 +28,11 @@
- 24
+ 6
-
+
0
-
- 12
-
-
- 0
-
-
- 12
-
-
@@ -116,19 +110,16 @@
0
0
- 961
- 587
+ 640
+ 610
-
- 0
-
-
- 0
+
+ 12
- 24
+ 6
-
@@ -136,7 +127,16 @@
-
+
+ 12
+
+
+ 0
+
+
+ 12
+
+
0
-
@@ -146,6 +146,9 @@
+
+ 12
+
-
@@ -155,517 +158,39 @@
-
+
+ true
+
Run Calibration
-
-
-
- 0
+
+
+ Qt::Vertical
-
- 8
+
+ QSizePolicy::Fixed
-
- 0
+
+
+ 20
+ 12
+
-
- -1
-
-
-
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- 80
- 26
-
-
-
-
- 75
- false
- 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;
-margin:5px;
-font:bold;
-
-
- Function
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- 48
- 26
-
-
-
-
- 75
- false
- 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;
-margin:5px;
-font:bold;
-
-
- Neut.
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- 105
- 26
-
-
-
-
- 75
- false
- 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;
-margin:5px;
-font:bold;
-
-
- Type
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 26
-
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Minimum
-
-
-
- 0
- 20
-
-
-
-
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- 70
- 26
-
-
-
-
- 75
- false
- 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;
-margin:5px;
-font:bold;
-
-
- Neutral
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- 53
- 26
-
-
-
-
- 75
- false
- 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;
-margin:5px;
-font:bold;
-
-
- Min
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 26
-
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 12
- 20
-
-
-
-
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- 95
- 26
-
-
-
-
- 75
- false
- 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;
-margin:5px;
-font:bold;
-
-
- Number
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 26
-
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 12
- 20
-
-
-
-
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- 42
- 26
-
-
-
-
- 75
- false
- 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;
-margin:5px;
-font:bold;
-
-
- Rev.
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 26
-
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 5
- 20
-
-
-
-
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- 55
- 26
-
-
-
-
- 75
- false
- 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;
-margin:5px;
-font:bold;
-
-
- Max
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 26
-
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 9
- 20
-
-
-
-
- -
-
-
-
- 0
- 26
-
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 3
- 20
-
-
-
-
- -
-
-
-
- 0
- 26
-
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 3
- 20
-
-
-
-
- -
-
-
-
- 0
- 26
-
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Minimum
-
-
-
- 0
- 20
-
-
-
-
-
+
-
-
+
+
+ 0
+
+
+ 0
+
+
-
@@ -756,6 +281,9 @@ font:bold;
+
+ 12
+
-
@@ -832,20 +360,11 @@ font:bold;
- 24
+ 6
-
+
0
-
- 12
-
-
- 0
-
-
- 12
-
-
@@ -923,143 +442,269 @@ font:bold;
0
0
- 961
- 587
+ 640
+ 610
-
+
12
-
- 24
+
+ 6
-
+
+
+ 0
+ 195
+
+
+
+
+ 16777215
+ 195
+
+
FlightMode Switch Positions
-
-
+
+
12
-
-
-
-
- 16
+
-
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+ 16777215
+ 16
+
+
+
+ Pos. 1
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 16
+ 16
+
+
+
+
+ 16777215
+ 16
+
+
+
+ Pos. 2
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+ 16777215
+ 16
+
+
+
+ Pos. 3
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+ 16777215
+ 16
+
+
+
+ Pos. 4
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+ 16777215
+ 16
+
+
+
+ Pos. 5
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+ 16777215
+ 16
+
+
+
+ Pos. 6
+
+
+
+
+
+ -
+
+
+ false
-
+
+
+ 16777215
+ 140
+
+
+
+ Qt::StrongFocus
+
+
+ This slider moves when you move the flight mode switch
+on your remote. It shows currently active flight mode.
+
+Setup the flight mode channel on the RC Input tab if you have not done so already.
+
+
+ 0
+
+
+ 5
+
+
10
-
-
-
-
-
-
-
- Pos. 1
-
-
-
- -
-
-
- Pos. 2
-
-
-
- -
-
-
- Pos. 3
-
-
-
- -
-
-
- Pos. 4
-
-
-
- -
-
-
- Pos. 5
-
-
-
- -
-
-
- Pos. 6
-
-
-
-
+
+ 0
+
+
+ 0
+
+
+ Qt::Vertical
+
+
+ true
+
+
+ QSlider::TicksBelow
+
+
+ 1
+
+
+
+ -
+
+
-
+
+
+ Qt::StrongFocus
+
+
+ Select the stabilization mode on this position (manual/stabilized/auto)
+
+
- -
-
-
-
-
-
- Qt::StrongFocus
-
-
- Select the stabilization mode on this position (manual/stabilized/auto)
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
-
- -
-
-
- false
-
-
- Qt::StrongFocus
-
-
- Select the stabilization mode on this position (manual/stabilized/auto)
-
-
-
- -
-
-
- false
-
-
- Qt::StrongFocus
-
-
-
- -
-
-
- false
-
-
- Qt::StrongFocus
-
-
-
-
+ -
+
+
+ Qt::StrongFocus
+
+
- -
-
+
-
+
+
+ Qt::StrongFocus
+
+
+
+ -
+
false
@@ -1067,43 +712,46 @@ font:bold;
Qt::StrongFocus
- This slider moves when you move the flight mode switch
-on your remote. It shows currently active flight mode.
-
-Setup the flight mode channel on the RC Input tab if you have not done so already.
+ Select the stabilization mode on this position (manual/stabilized/auto)
-
- 0
+
+
+ -
+
+
+ false
-
- 5
+
+ Qt::StrongFocus
-
- 10
+
+
+ -
+
+
+ false
-
- 0
-
-
- 0
-
-
- Qt::Vertical
-
-
- true
-
-
- QSlider::TicksBelow
-
-
- 1
+
+ Qt::StrongFocus
- -
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
-
@@ -1157,14 +805,43 @@ channel value for each flight mode.
- -
-
+
-
+
- Qt::Horizontal
+ Qt::Vertical
QSizePolicy::Fixed
+
+
+ 20
+ 0
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Fixed
+
+
+
+ 20
+ 0
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
40
@@ -1381,20 +1058,11 @@ margin:1px;
- 24
+ 6
-
+
0
-
- 12
-
-
- 0
-
-
- 12
-
-
@@ -1472,13 +1140,16 @@ margin:1px;
0
0
- 961
- 587
+ 640
+ 610
- 24
+ 6
+
+
+ 12
-
@@ -1486,6 +1157,18 @@ margin:1px;
Arming Settings
+
+ 11
+
+
+ 12
+
+
+ 12
+
+
+ 12
+
-
-
@@ -1658,14 +1341,14 @@ margin:1px;
- 60
- 32
+ 0
+ 0
16777215
- 32
+ 16777215
@@ -1684,14 +1367,14 @@ Be sure to set the Neutral position on all sliders before sending!
- 60
- 32
+ 0
+ 0
16777215
- 32
+ 16777215
@@ -1711,7 +1394,6 @@ Applies and Saves all settings to SD
- fmsSlider
fmsSsPos1Roll
fmsSsPos1Pitch
fmsSsPos1Yaw
diff --git a/ground/openpilotgcs/src/plugins/config/inputchannelform.cpp b/ground/openpilotgcs/src/plugins/config/inputchannelform.cpp
old mode 100644
new mode 100755
index fe54504d0..bd2d5830e
--- a/ground/openpilotgcs/src/plugins/config/inputchannelform.cpp
+++ b/ground/openpilotgcs/src/plugins/config/inputchannelform.cpp
@@ -10,7 +10,23 @@ inputChannelForm::inputChannelForm(QWidget *parent,bool showlegend) :
{
ui->setupUi(this);
+ //The first time through the loop, keep the legend. All other times, delete it.
+ if(!showlegend)
+ {
+ layout()->removeWidget(ui->legend0);
+ layout()->removeWidget(ui->legend1);
+ layout()->removeWidget(ui->legend2);
+ layout()->removeWidget(ui->legend3);
+ layout()->removeWidget(ui->legend4);
+ layout()->removeWidget(ui->legend5);
+ delete ui->legend0;
+ delete ui->legend1;
+ delete ui->legend2;
+ delete ui->legend3;
+ delete ui->legend4;
+ delete ui->legend5;
+ }
connect(ui->channelMin,SIGNAL(valueChanged(int)),this,SLOT(minMaxUpdated()));
connect(ui->channelMax,SIGNAL(valueChanged(int)),this,SLOT(minMaxUpdated()));
diff --git a/ground/openpilotgcs/src/plugins/config/inputchannelform.ui b/ground/openpilotgcs/src/plugins/config/inputchannelform.ui
old mode 100644
new mode 100755
index be7fdb27d..968e12c14
--- a/ground/openpilotgcs/src/plugins/config/inputchannelform.ui
+++ b/ground/openpilotgcs/src/plugins/config/inputchannelform.ui
@@ -6,24 +6,314 @@
0
0
- 726
- 49
+ 828
+ 69
Form
-
-
- -1
+
+
+ 0
- 1
+ 0
+
+
+ 0
- 1
+ 6
- -
+
-
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 20
+
+
+
+
+ 75
+ false
+ 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;
+margin:1px;
+font:bold;
+
+
+ QFrame::StyledPanel
+
+
+ Function
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 20
+
+
+
+
+ 75
+ false
+ 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;
+margin:1px;
+font:bold;
+
+
+ QFrame::StyledPanel
+
+
+ Type
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 20
+
+
+
+
+ 75
+ false
+ 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;
+margin:1px;
+font:bold;
+
+
+ QFrame::StyledPanel
+
+
+ Number
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 20
+
+
+
+
+ 75
+ false
+ 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;
+margin:1px;
+font:bold;
+
+
+ QFrame::StyledPanel
+
+
+ Min
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 20
+
+
+
+
+ 75
+ false
+ 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;
+margin:1px;
+font:bold;
+
+
+ QFrame::StyledPanel
+
+
+ Neutral
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 20
+
+
+
+
+ 75
+ false
+ 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;
+margin:1px;
+font:bold;
+
+
+ QFrame::StyledPanel
+
+
+ 1
+
+
+ Max
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 48
+ 10
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 42
+ 10
+
+
+
+
+ -
@@ -42,7 +332,7 @@
- -
+
-
@@ -67,23 +357,7 @@
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 5
- 20
-
-
-
-
- -
+
-
@@ -93,13 +367,13 @@
- 90
+ 0
25
- 80
+ 90
16777215
@@ -111,20 +385,7 @@
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- -
+
-
@@ -146,7 +407,7 @@
- -
+
-
Qt::Horizontal
@@ -162,7 +423,7 @@
- -
+
-
@@ -184,7 +445,7 @@
- -
+
-
Qt::Horizontal
@@ -194,20 +455,14 @@
- 7
+ 10
20
- -
+
-
-
-
- 0
- 0
-
-
0
@@ -228,39 +483,23 @@
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 5
- 20
-
-
-
-
- -
+
-
-
+
0
0
- 35
+ 48
0
- 30
+ 45
16777215
@@ -269,33 +508,11 @@
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 10
- 20
-
-
-
-
- -
+
-
false
-
-
- 0
- 0
-
-
0
@@ -303,27 +520,30 @@
-
+ Rev
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 15
- 20
-
-
-
-
+
+
+ true
+
+
+
+ 216
+ 26
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
channelNumber
diff --git a/ground/openpilotgcs/src/plugins/config/output.ui b/ground/openpilotgcs/src/plugins/config/output.ui
old mode 100644
new mode 100755
index 32a6337f7..dc23ff7a4
--- a/ground/openpilotgcs/src/plugins/config/output.ui
+++ b/ground/openpilotgcs/src/plugins/config/output.ui
@@ -15,7 +15,10 @@
- -1
+ 6
+
+
+ 12
-
@@ -34,18 +37,9 @@
- 12
-
-
0
-
- 12
-
-
- 0
-
-
+
0
-
@@ -126,12 +120,15 @@
0
0
668
- 642
+ 671
- -1
+ 6
+
+
+ 12
-
@@ -144,18 +141,18 @@
0
- 60
+ 0
Output Update Speed
-
- 0
+
+ 12
-
- 0
+
+ 6
-
@@ -526,379 +523,27 @@ Leave at 50Hz for fixed wing.
- -
-
-
- 10
-
-
-
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 14
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 20
- 0
-
-
-
-
- 75
- false
- true
-
-
-
- Qt::LeftToRight
-
-
- 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;
-
-
- #
-
-
- Qt::AlignCenter
-
-
- 0
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 5
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 90
- 0
-
-
-
-
- 75
- false
- 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;
-
-
- Assignment
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 12
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 60
- 0
-
-
-
-
- 75
- false
- 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;
-
-
- Min
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Minimum
-
-
-
- 0
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 20
- 0
-
-
-
-
- 75
- false
- 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;
-
-
- Neutral
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 45
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 55
- 0
-
-
-
-
- 75
- false
- 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;
-
-
- Max
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 20
- 0
-
-
-
-
- 75
- false
- 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;
-
-
- Rev.
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 20
- 0
-
-
-
-
- 75
- false
- 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;
-
-
- Link
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Minimum
-
-
-
- 18
- 20
-
-
-
-
-
-
+
+ 12
+
-
- -1
+ 6
QLayout::SetDefaultConstraint
+
+ 0
+
-
+
+ 12
+
-
@@ -955,6 +600,9 @@ margin:1px;
+
+ 12
+
-
@@ -1050,14 +698,14 @@ margin:1px;
- 60
- 32
+ 0
+ 0
16777215
- 32
+ 16777215
@@ -1076,14 +724,14 @@ Be sure to set the Neutral position on all sliders before sending!
- 71
- 32
+ 0
+ 0
16777215
- 32
+ 16777215
diff --git a/ground/openpilotgcs/src/plugins/config/outputchannelform.cpp b/ground/openpilotgcs/src/plugins/config/outputchannelform.cpp
old mode 100644
new mode 100755
index 0aaa900ab..f2d039edb
--- a/ground/openpilotgcs/src/plugins/config/outputchannelform.cpp
+++ b/ground/openpilotgcs/src/plugins/config/outputchannelform.cpp
@@ -35,6 +35,23 @@ OutputChannelForm::OutputChannelForm(const int index, QWidget *parent, const boo
m_inChannelTest(false)
{
ui.setupUi(this);
+ if(!showLegend)
+ {
+ // Remove legend
+ QGridLayout *grid_layout = dynamic_cast(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.
ui.actuatorNumber->setText(QString("%1:").arg(m_index+1));
diff --git a/ground/openpilotgcs/src/plugins/config/outputchannelform.ui b/ground/openpilotgcs/src/plugins/config/outputchannelform.ui
old mode 100644
new mode 100755
index 512e1bc4b..3b4079ce7
--- a/ground/openpilotgcs/src/plugins/config/outputchannelform.ui
+++ b/ground/openpilotgcs/src/plugins/config/outputchannelform.ui
@@ -6,7 +6,7 @@
0
0
- 645
+ 825
58
@@ -20,26 +20,13 @@
1
-
-
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Minimum
-
-
-
- 5
- 20
-
-
-
-
- -
-
+
+ 12
+
+
-
+
-
+
0
0
@@ -47,34 +34,54 @@
0
- 0
+ 25
-
- Qt::StrongFocus
-
-
- 9999
-
-
- Qt::Horizontal
-
-
-
- -
-
-
- Qt::StrongFocus
-
- Maximum PWM value, beware of not overdriving your servo.
+ Current value of slider.
-
- 9999
+
+ 0000
- -
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 20
+
+
+
+
+ 75
+ false
+ 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;
+
+
+ Link
+
+
+ Qt::AlignCenter
+
+
+
+ -
@@ -85,7 +92,7 @@
110
- 0
+ 25
@@ -97,6 +104,48 @@
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 20
+
+
+
+
+ 75
+ false
+ true
+
+
+
+ Qt::LeftToRight
+
+
+ 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;
+
+
+ #
+
+
+ Qt::AlignCenter
+
+
+ 0
+
+
+
+ -
@@ -107,7 +156,7 @@
20
- 0
+ 25
@@ -124,8 +173,14 @@
- -
+
-
+
+
+ 0
+ 25
+
+
Qt::StrongFocus
@@ -137,7 +192,7 @@
- -
+
-
@@ -147,8 +202,8 @@
- 40
- 0
+ 45
+ 25
@@ -159,7 +214,79 @@
- -
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 20
+
+
+
+
+ 75
+ false
+ 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;
+
+
+ Neutral (slowest for motor)
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 20
+
+
+
+
+ 75
+ false
+ 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;
+
+
+ Assignment
+
+
+ Qt::AlignCenter
+
+
+
+ -
Qt::Horizontal
@@ -169,13 +296,85 @@
- 0
+ 5
20
- -
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 20
+
+
+
+
+ 75
+ false
+ 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;
+
+
+ Min
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 20
+
+
+
+
+ 75
+ false
+ 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;
+
+
+ Max
+
+
+ Qt::AlignCenter
+
+
+
+ -
@@ -185,8 +384,8 @@
- 40
- 0
+ 45
+ 25
@@ -197,19 +396,99 @@
- -
-
+
-
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Minimum
+
+
+
+ 5
+ 20
+
+
+
+
+ -
+
-
+
0
0
-
- Current value of slider.
+
+
+ 0
+ 20
+
+
+
+
+ 75
+ false
+ 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;
- 0000
+ Rev
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 25
+
+
+
+ Qt::StrongFocus
+
+
+ 9999
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+
+ 0
+ 25
+
+
+
+ Qt::StrongFocus
+
+
+ Maximum PWM value, beware of not overdriving your servo.
+
+
+ 9999
diff --git a/ground/openpilotgcs/src/plugins/config/stabilization.ui b/ground/openpilotgcs/src/plugins/config/stabilization.ui
index d8c709894..6777d0800 100755
--- a/ground/openpilotgcs/src/plugins/config/stabilization.ui
+++ b/ground/openpilotgcs/src/plugins/config/stabilization.ui
@@ -1,25143 +1,25172 @@
-
-
- StabilizationWidget
-
-
-
- 0
- 0
- 967
- 639
-
-
-
-
- 0
- 0
-
-
-
-
- 350
- 0
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 240
- 240
- 240
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 247
- 247
- 247
-
-
-
-
-
-
- 120
- 120
- 120
-
-
-
-
-
-
- 160
- 160
- 160
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 240
- 240
- 240
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 247
- 247
- 247
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 240
- 240
- 240
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 247
- 247
- 247
-
-
-
-
-
-
- 120
- 120
- 120
-
-
-
-
-
-
- 160
- 160
- 160
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 240
- 240
- 240
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 247
- 247
- 247
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 120
- 120
- 120
-
-
-
-
-
-
- 240
- 240
- 240
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 247
- 247
- 247
-
-
-
-
-
-
- 120
- 120
- 120
-
-
-
-
-
-
- 160
- 160
- 160
-
-
-
-
-
-
- 120
- 120
- 120
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 120
- 120
- 120
-
-
-
-
-
-
- 240
- 240
- 240
-
-
-
-
-
-
- 240
- 240
- 240
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 240
- 240
- 240
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
- Stabilization
-
-
- false
-
-
-
- 30
- 30
-
-
-
- false
-
-
-
- 16
-
-
- 12
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 0
-
-
-
- Qt::TabFocus
-
-
- false
-
-
- false
-
-
-
-
-
- QTabWidget::North
-
-
- QTabWidget::Rounded
-
-
- 0
-
-
- false
-
-
- false
-
-
-
- Basic
-
-
-
- 12
-
-
- 0
-
-
- 5
-
-
- 0
-
-
- 12
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 50
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 240
- 240
- 240
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 240
- 240
- 240
-
-
-
-
-
-
-
-
- 240
- 240
- 240
-
-
-
-
-
-
- 240
- 240
- 240
-
-
-
-
-
-
-
- QFrame::NoFrame
-
-
- 0
-
-
- true
-
-
-
-
- 0
- 0
- 937
- 522
-
-
-
-
- 24
-
-
- 12
-
-
- 0
-
-
- 12
-
-
- 0
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 0
- 195
-
-
-
-
- 16777215
- 181
-
-
-
- Rate Stabilization (Inner Loop)
-
-
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
-
-
- false
-
-
-
- 4
-
-
-
-
-
-
- 0
- 0
-
-
-
- Qt::StrongFocus
-
-
-
-
-
- Link Roll and Pitch
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Preferred
-
-
-
- 497
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 81
- 25
-
-
-
-
- 16777215
- 16777215
-
-
-
- Reset all values to GCS defaults
-
-
- false
-
-
-
-
-
- Default
-
-
-
- button:default
- buttongroup:1
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 131
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 248
- 248
- 248
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 50
- false
- false
- true
-
-
-
- false
-
-
-
-
-
-
-
-
- true
-
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Roll
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Pitch
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Yaw
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 78
- 16
-
-
-
-
-
-
- Proportional
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 25
-
-
-
- Qt::StrongFocus
-
-
- Slowly raise Proportional until you start seeing clear oscillations when you fly.
-Then lower the value by 5 or so.
-
-
-
-
-
- 100
-
-
- 51
-
-
- 51
-
-
- Qt::Horizontal
-
-
- QSlider::TicksBelow
-
-
- 25
-
-
-
- objname:StabilizationSettings
- fieldname:RollRatePID
- element:Kp
- haslimits:yes
- scale:0.0001
- buttongroup:1,10
-
-
-
-
- -
-
-
-
- 50
- 22
-
-
-
-
- 50
- 22
-
-
-
- Qt::StrongFocus
-
-
- Slowly raise Proportional until you start seeing clear oscillations when you fly.
-Then lower the value by 5 or so.
-
-
- 200
-
-
- 200
-
-
-
- objname:StabilizationSettings
- fieldname:RollRatePID
- element:Kp
- haslimits:yes
- scale:0.0001
- buttongroup:1,10
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 25
-
-
-
- Qt::StrongFocus
-
-
- Slowly raise Proportional until you start seeing clear oscillations when you fly.
-Then lower the value by 5 or so.
-
-
-
-
-
- 100
-
-
- 50
-
-
- Qt::Horizontal
-
-
- QSlider::TicksBelow
-
-
- 25
-
-
-
- objname:StabilizationSettings
- fieldname:PitchRatePID
- element:Kp
- haslimits:yes
- scale:0.0001
- buttongroup:1,10
-
-
-
-
- -
-
-
-
- 50
- 22
-
-
-
-
- 50
- 22
-
-
-
- Qt::StrongFocus
-
-
- Slowly raise Proportional until you start seeing clear oscillations when you fly.
-Then lower the value by 5 or so.
-
-
- 200
-
-
- 200
-
-
-
- objname:StabilizationSettings
- fieldname:PitchRatePID
- element:Kp
- haslimits:yes
- scale:0.0001
- buttongroup:1,10
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 25
-
-
-
- Qt::StrongFocus
-
-
- Slowly raise Proportional until you start seeing clear oscillations when you fly.
-Then lower the value by 5 or so.
-
-
-
-
-
- 100
-
-
- 50
-
-
- Qt::Horizontal
-
-
- QSlider::TicksBelow
-
-
- 25
-
-
-
- objname:StabilizationSettings
- fieldname:YawRatePID
- element:Kp
- haslimits:yes
- scale:0.0001
- buttongroup:1,10
-
-
-
-
- -
-
-
-
- 50
- 22
-
-
-
-
- 50
- 22
-
-
-
- Qt::StrongFocus
-
-
- Slowly raise Proportional until you start seeing clear oscillations when you fly.
-Then lower the value by 5 or so.
-
-
- 200
-
-
- 200
-
-
-
- objname:StabilizationSettings
- fieldname:YawRatePID
- element:Kp
- haslimits:yes
- scale:0.0001
- buttongroup:1,10
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
-
-
- Integral
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 25
-
-
-
- Qt::StrongFocus
-
-
- As a rule of thumb, you can set the Integral at roughly the same
-value as the Kp.
-
-
-
-
-
- 100
-
-
- 50
-
-
- Qt::Horizontal
-
-
- QSlider::TicksBelow
-
-
- 25
-
-
-
- objname:StabilizationSettings
- fieldname:RollRatePID
- element:Ki
- haslimits:yes
- scale:0.0001
- buttongroup:1,10
-
-
-
-
- -
-
-
-
- 50
- 22
-
-
-
-
- 50
- 22
-
-
-
- Qt::StrongFocus
-
-
- As a rule of thumb, you can set the Integral at roughly the same
-value as the Kp.
-
-
- 200
-
-
- 200
-
-
-
- objname:StabilizationSettings
- fieldname:RollRatePID
- element:Ki
- haslimits:yes
- scale:0.0001
- buttongroup:1,10
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 25
-
-
-
- Qt::StrongFocus
-
-
- As a rule of thumb, you can set the Integral at roughly the same
-value as the Kp.
-
-
-
-
-
- 100
-
-
- 50
-
-
- Qt::Horizontal
-
-
- QSlider::TicksBelow
-
-
- 25
-
-
-
- objname:StabilizationSettings
- fieldname:PitchRatePID
- element:Ki
- haslimits:yes
- scale:0.0001
- buttongroup:1,10
-
-
-
-
- -
-
-
-
- 50
- 22
-
-
-
-
- 50
- 22
-
-
-
- Qt::StrongFocus
-
-
- As a rule of thumb, you can set the Integral at roughly the same
-value as the Kp.
-
-
- 200
-
-
- 200
-
-
-
- objname:StabilizationSettings
- fieldname:PitchRatePID
- element:Ki
- haslimits:yes
- scale:0.0001
- buttongroup:1,10
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 25
-
-
-
- Qt::StrongFocus
-
-
- As a rule of thumb, you can set the Integral at roughly the same
-value as the Kp.
-
-
-
-
-
- 100
-
-
- 50
-
-
- Qt::Horizontal
-
-
- QSlider::TicksBelow
-
-
- 25
-
-
-
- objname:StabilizationSettings
- fieldname:YawRatePID
- element:Ki
- haslimits:yes
- scale:0.0001
- buttongroup:1,10
-
-
-
-
- -
-
-
-
- 50
- 22
-
-
-
-
- 50
- 22
-
-
-
- Qt::StrongFocus
-
-
- As a rule of thumb, you can set the Integral at roughly the same
-value as the Kp.
-
-
- 200
-
-
- 200
-
-
-
- objname:StabilizationSettings
- fieldname:YawRatePID
- element:Ki
- haslimits:yes
- scale:0.0001
- buttongroup:1,10
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 195
-
-
-
-
- 16777215
- 181
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 248
- 248
- 248
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
- false
-
-
- Attitude Stabilization (Outer Loop)
-
-
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
-
-
-
- 4
-
-
-
-
-
-
- 0
- 0
-
-
-
- Qt::StrongFocus
-
-
-
-
-
- Link Roll and Pitch
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Preferred
-
-
-
- 497
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 81
- 25
-
-
-
- Reset all values to GCS defaults
-
-
-
-
-
- Default
-
-
-
- button:default
- buttongroup:2
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 131
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 248
- 248
- 248
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
- false
-
-
-
-
-
-
-
-
- true
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Roll
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Pitch
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Yaw
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 78
- 16
-
-
-
-
-
-
- Proportional
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 25
-
-
-
- Qt::StrongFocus
-
-
-
-
-
- 100
-
-
- 50
-
-
- Qt::Horizontal
-
-
- QSlider::TicksBelow
-
-
- 25
-
-
-
- objname:StabilizationSettings
- fieldname:RollPI
- element:Kp
- scale:0.1
- haslimits:yes
- buttongroup:2,10
-
-
-
-
- -
-
-
-
- 50
- 22
-
-
-
-
- 50
- 22
-
-
-
- Qt::StrongFocus
-
-
- 200
-
-
- 200
-
-
-
- objname:StabilizationSettings
- fieldname:RollPI
- element:Kp
- scale:0.1
- haslimits:yes
- buttongroup:2,10
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 25
-
-
-
- Qt::StrongFocus
-
-
-
-
-
- 100
-
-
- 50
-
-
- Qt::Horizontal
-
-
- QSlider::TicksBelow
-
-
- 25
-
-
-
- objname:StabilizationSettings
- fieldname:PitchPI
- element:Kp
- scale:0.1
- haslimits:yes
- buttongroup:2,10
-
-
-
-
- -
-
-
-
- 50
- 22
-
-
-
-
- 50
- 22
-
-
-
- Qt::StrongFocus
-
-
- 200
-
-
- 200
-
-
-
- objname:StabilizationSettings
- fieldname:PitchPI
- element:Kp
- scale:0.1
- haslimits:yes
- buttongroup:2,10
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 25
-
-
-
- Qt::StrongFocus
-
-
-
-
-
- 100
-
-
- 50
-
-
- Qt::Horizontal
-
-
- QSlider::TicksBelow
-
-
- 25
-
-
-
- objname:StabilizationSettings
- fieldname:YawPI
- element:Kp
- scale:0.1
- haslimits:yes
- buttongroup:2,10
-
-
-
-
- -
-
-
-
- 50
- 22
-
-
-
-
- 50
- 22
-
-
-
- Qt::StrongFocus
-
-
- 200
-
-
- 200
-
-
-
- objname:StabilizationSettings
- fieldname:YawPI
- element:Kp
- scale:0.1
- haslimits:yes
- buttongroup:2,10
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
-
-
- Integral
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 25
-
-
-
- Qt::StrongFocus
-
-
-
-
-
- 100
-
-
- 50
-
-
- Qt::Horizontal
-
-
- QSlider::TicksBelow
-
-
- 25
-
-
-
- objname:StabilizationSettings
- fieldname:RollPI
- element:Ki
- scale:0.1
- haslimits:yes
- buttongroup:2,10
-
-
-
-
- -
-
-
-
- 50
- 22
-
-
-
-
- 50
- 22
-
-
-
- Qt::StrongFocus
-
-
- 200
-
-
- 200
-
-
-
- objname:StabilizationSettings
- fieldname:RollPI
- element:Ki
- scale:0.1
- haslimits:yes
- buttongroup:2,10
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 25
-
-
-
- Qt::StrongFocus
-
-
-
-
-
- 100
-
-
- 50
-
-
- Qt::Horizontal
-
-
- QSlider::TicksBelow
-
-
- 25
-
-
-
- objname:StabilizationSettings
- fieldname:PitchPI
- element:Ki
- scale:0.1
- haslimits:yes
- buttongroup:2,10
-
-
-
-
- -
-
-
-
- 50
- 22
-
-
-
-
- 50
- 22
-
-
-
- Qt::StrongFocus
-
-
- 200
-
-
- 200
-
-
-
- objname:StabilizationSettings
- fieldname:PitchPI
- element:Ki
- scale:0.1
- haslimits:yes
- buttongroup:2,10
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 25
-
-
-
- Qt::StrongFocus
-
-
-
-
-
- 100
-
-
- 50
-
-
- Qt::Horizontal
-
-
- QSlider::TicksBelow
-
-
- 25
-
-
-
- objname:StabilizationSettings
- fieldname:YawPI
- element:Ki
- scale:0.1
- haslimits:yes
- buttongroup:2,10
-
-
-
-
- -
-
-
-
- 50
- 22
-
-
-
-
- 50
- 22
-
-
-
- Qt::StrongFocus
-
-
- 200
-
-
- 200
-
-
-
- objname:StabilizationSettings
- fieldname:YawPI
- element:Ki
- scale:0.1
- haslimits:yes
- buttongroup:2,10
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Fixed
-
-
-
- 20
- 6
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 62
-
-
-
-
-
-
- Integral
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 300
- 20
-
-
-
- When the throttle is low, zero the intergral term to prevent intergral wind-up
-
-
-
-
-
- Zero the integral when throttle is low
-
-
-
- objname:StabilizationSettings
- fieldname:LowThrottleZeroIntegral
-
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
-
-
-
-
-
-
-
-
- Advanced
-
-
-
- 12
-
-
- 0
-
-
- 12
-
-
- 0
-
-
- 12
-
- -
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 240
- 240
- 240
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 240
- 240
- 240
-
-
-
-
-
-
-
-
- 240
- 240
- 240
-
-
-
-
-
-
- 240
- 240
- 240
-
-
-
-
-
-
-
- QFrame::NoFrame
-
-
- true
-
-
-
-
- 0
- 0
- 922
- 650
-
-
-
- true
-
-
-
- 24
-
-
- 12
-
-
- 12
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 0
- 210
-
-
-
-
- 16777215
- 16777215
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 248
- 248
- 248
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
- Rate Stabization Coefficients (Inner Loop)
-
-
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
-
-
- false
-
-
-
- 4
-
-
-
-
-
-
-
-
- Link Roll and Pitch
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 497
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 81
- 25
-
-
-
-
- 16777215
- 16777215
-
-
-
- Reset all values to GCS defaults
-
-
-
-
-
- Default
-
-
-
- objname:StabilizationSettings
- button:default
- buttongroup:4
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 140
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 248
- 248
- 248
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
- false
-
-
-
-
-
-
-
-
- true
-
-
-
- 0
-
-
- 2
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 6
-
-
- 0.000001000000000
-
-
-
- objname:StabilizationSettings
- fieldname:PitchRatePID
- element:Kd
- haslimits:no
- scale:1
- buttongroup:4,20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Yaw
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
-
-
- Integral
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
- As a rule of thumb, you can set the Ki at roughly the same
-value as the Kp.
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 5
-
-
- 0.000100000000000
-
-
-
- objname:StabilizationSettings
- fieldname:YawRatePID
- element:Ki
- haslimits:no
- scale:1
- buttongroup:4,20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
- As a rule of thumb, you can set the Ki at roughly the same
-value as the Kp.
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 5
-
-
- 0.000100000000000
-
-
-
- objname:StabilizationSettings
- fieldname:PitchRatePID
- element:Ki
- haslimits:no
- scale:1
- buttongroup:4,20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 85
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
- Slowly raise Kp until you start seeing clear oscillations when you fly.
-Then lower the value by 20% or so.
-
-You can usually go for higher values for Yaw factors.
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 5
-
-
- 0.000100000000000
-
-
-
- objname:StabilizationSettings
- fieldname:YawRatePID
- element:Kp
- haslimits:no
- scale:1
- buttongroup:4,20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 6
-
-
- 0.000001000000000
-
-
-
- objname:StabilizationSettings
- fieldname:YawRatePID
- element:Kd
- haslimits:no
- scale:1
- buttongroup:4,20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Pitch
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Roll
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 10
- 10
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 69
- 16
-
-
-
-
-
-
- Proportional
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 10
- 10
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 85
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
- Slowly raise Kp until you start seeing clear oscillations when you fly.
-Then lower the value by 20% or so.
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 5
-
-
- 0.000100000000000
-
-
-
- objname:StabilizationSettings
- fieldname:RollRatePID
- element:Kp
- haslimits:no
- scale:1
- buttongroup:4,20
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 150
- 13
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
- As a rule of thumb, you can set the Ki at roughly the same
-value as the Kp.
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 5
-
-
- 0.000100000000000
-
-
-
- objname:StabilizationSettings
- fieldname:RollRatePID
- element:Ki
- haslimits:no
- scale:1
- buttongroup:4,20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 58
- 0
-
-
-
-
- 16777215
- 16777215
-
-
-
-
-
-
- Derivative
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 85
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
- Slowly raise Kp until you start seeing clear oscillations when you fly.
-Then lower the value by 20% or so.
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 5
-
-
- 0.000100000000000
-
-
-
- objname:StabilizationSettings
- fieldname:PitchRatePID
- element:Kp
- haslimits:no
- scale:1
- buttongroup:4,20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 6
-
-
- 0.000001000000000
-
-
-
- objname:StabilizationSettings
- fieldname:RollRatePID
- element:Kd
- haslimits:no
- scale:1
- buttongroup:4,20
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 10
- 10
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 170
-
-
-
-
- 16777215
- 16777215
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 248
- 248
- 248
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
- false
-
-
- Attitude Stabization Coefficients (Outer Loop)
-
-
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
-
-
- false
-
-
-
- 4
-
-
-
-
-
-
-
-
- Link Roll and Pitch
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 497
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 81
- 25
-
-
-
-
- 16777215
- 16777215
-
-
-
- Reset all values to GCS defaults
-
-
-
-
-
- Default
-
-
-
- objname:StabilizationSettings
- button:default
- buttongroup:5
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 110
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 248
- 248
- 248
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
- false
-
-
-
-
-
-
-
-
- true
-
-
-
- 0
-
-
-
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 150
- 13
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Roll
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Pitch
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Yaw
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 69
- 16
-
-
-
-
-
-
- Proportional
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 3
-
-
- 0.100000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:RollPI
- element:Kp
- haslimits:no
- scale:1
- buttongroup:5,20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 3
-
-
- 0.100000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:PitchPI
- element:Kp
- haslimits:no
- scale:1
- buttongroup:5,20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 3
-
-
- 0.100000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:YawPI
- element:Kp
- haslimits:no
- scale:1
- buttongroup:5,20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
-
-
- Integral
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 13
- 13
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 3
-
-
- 0.100000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:RollPI
- element:Ki
- haslimits:no
- scale:1
- buttongroup:5,20
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 13
- 13
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 3
-
-
- 0.100000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:PitchPI
- element:Ki
- haslimits:no
- scale:1
- buttongroup:5,20
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 13
- 13
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 3
-
-
- 0.100000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:YawPI
- element:Ki
- haslimits:no
- scale:1
- buttongroup:5,20
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 195
-
-
-
-
- 16777215
- 16777215
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 248
- 248
- 248
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
- Stick Range and Limits
-
-
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
-
-
-
- 4
-
-
-
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Expanding
-
-
-
- 632
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 81
- 25
-
-
-
-
- 16777215
- 16777215
-
-
-
- Reset all values to GCS defaults
-
-
-
-
-
- Default
-
-
-
- objname:StabilizationSettings
- button:default
- buttongroup:6
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 140
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 248
- 248
- 248
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
- false
-
-
-
-
-
-
-
-
- true
-
-
-
- 0
-
-
- 0
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 0
-
-
- 1000000.000000000000000
-
-
- 1.000000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:PitchMax
- haslimits:no
- scale:1
- buttongroup:6,20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 128
- 16
-
-
-
-
- 16777215
- 16777215
-
-
-
-
-
-
- Max rate attitude (deg/s)
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 0
-
-
- 1000000.000000000000000
-
-
- 1.000000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:MaximumRate
- element:Roll
- haslimits:no
- scale:1
- buttongroup:6,20
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 10
- 10
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 0
-
-
- 1000000.000000000000000
-
-
- 1.000000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:ManualRate
- element:Yaw
- haslimits:no
- scale:1
- buttongroup:6,20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 0
-
-
- 1000000.000000000000000
-
-
- 1.000000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:YawMax
- haslimits:no
- scale:1
- buttongroup:6,20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 0
-
-
- 1000000.000000000000000
-
-
- 1.000000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:MaximumRate
- element:Pitch
- haslimits:no
- scale:1
- buttongroup:6,20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Yaw
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 10
- 10
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 10
- 10
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Pitch
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 69
- 16
-
-
-
-
-
-
- Full stick angle (deg)
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 0
-
-
- 1000000.000000000000000
-
-
- 1.000000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:ManualRate
- element:Pitch
- haslimits:no
- scale:1
- buttongroup:6,20
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 140
- 16
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Roll
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 0
-
-
- 1000000.000000000000000
-
-
- 1.000000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:ManualRate
- element:Roll
- haslimits:no
- scale:1
- buttongroup:6,20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- QAbstractSpinBox::UpDownArrows
-
-
- 0
-
-
- 1000000.000000000000000
-
-
- 1.000000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:RollMax
- haslimits:no
- scale:1
- buttongroup:6,20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 0
-
-
- 1000000.000000000000000
-
-
- 1.000000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:MaximumRate
- element:Yaw
- haslimits:no
- scale:1
- buttongroup:6,20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
- Full stick rate (deg/s)
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 200
-
-
-
-
-
-
-
-
-
-
-
-
- Expert
-
-
-
- 12
-
-
- 0
-
-
- 12
-
-
- 0
-
-
- 12
-
- -
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 240
- 240
- 240
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 240
- 240
- 240
-
-
-
-
-
-
-
-
- 240
- 240
- 240
-
-
-
-
-
-
- 240
- 240
- 240
-
-
-
-
-
-
-
- QFrame::NoFrame
-
-
- QFrame::Plain
-
-
- true
-
-
-
-
- 0
- 0
- 922
- 599
-
-
-
-
- 24
-
-
- 12
-
-
- 12
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 0
- 150
-
-
-
- false
-
-
- Weak Leveling / Axis Lock
-
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 632
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 81
- 25
-
-
-
-
- 16777215
- 16777215
-
-
-
- Reset all values to GCS defaults
-
-
-
-
-
- Default
-
-
-
- objname:StabilizationSettings
- button:default
- buttongroup:10
-
-
-
-
- -
-
-
-
- 0
-
-
- 12
-
-
- 12
-
-
- 12
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 144
- 16
-
-
-
-
- 175
- 16777215
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Weak Leveling Kp
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 144
- 16
-
-
-
-
- 175
- 16777215
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Weak Leveling Rate
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 144
- 16
-
-
-
-
- 175
- 16777215
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Max Axis Lock
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 144
- 16
-
-
-
-
- 175
- 16777215
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Max Axis Lock Rate
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 90
- 11
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 5
- 22
-
-
-
-
- 175
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 2
-
-
- 0.010000000000000
-
-
- 360.000000000000000
-
-
- 0.010000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:WeakLevelingKp
- haslimits:no
- scale:1
- buttongroup:10
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 25
- 22
-
-
-
-
- 175
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 0
-
-
- 1.000000000000000
-
-
- 360.000000000000000
-
-
- 1.000000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:MaxWeakLevelingRate
- haslimits:no
- scale:1
- buttongroup:10
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 25
- 22
-
-
-
-
- 175
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 0
-
-
- 0.000000000000000
-
-
- 360.000000000000000
-
-
- 1.000000000000000
-
-
- 1.000000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:MaxAxisLock
- haslimits:no
- scale:1
- buttongroup:10
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 25
- 22
-
-
-
-
- 175
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 0
-
-
- 1.000000000000000
-
-
- 360.000000000000000
-
-
- 1.000000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:MaxAxisLockRate
- haslimits:no
- scale:1
- buttongroup:10
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 180
-
-
-
- Integral Limits
-
-
-
- 4
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 632
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 81
- 25
-
-
-
-
- 16777215
- 16777215
-
-
-
- Reset all values to GCS defaults
-
-
-
-
-
- Default
-
-
-
- objname:StabilizationSettings
- button:default
- buttongroup:13
-
-
-
-
- -
-
-
-
- 0
- 100
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 125
- 125
- 125
-
-
-
-
-
-
- 166
- 166
- 166
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 69
- 69
- 69
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 125
- 125
- 125
-
-
-
-
-
-
- 166
- 166
- 166
-
-
-
-
-
-
- 69
- 69
- 69
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 125
- 125
- 125
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 125
- 125
- 125
-
-
-
-
-
-
- 166
- 166
- 166
-
-
-
-
-
-
- 125
- 125
- 125
-
-
-
-
-
-
- 125
- 125
- 125
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
-
-
- false
-
-
-
- 12
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 4
-
-
- 1.000000000000000
-
-
- 0.001000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:PitchRatePID
- element:ILimit
- haslimits:no
- scale:1
- buttongroup:13
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 4
-
-
- 1.000000000000000
-
-
- 0.001000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:RollRatePID
- element:ILimit
- haslimits:no
- scale:1
- buttongroup:13
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Roll
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Yaw
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 2
-
-
- 0.100000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:YawPI
- element:ILimit
- haslimits:no
- scale:1
- buttongroup:13
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 91
- 0
-
-
-
-
- 16777215
- 16777215
-
-
-
-
-
-
- ILimit Attitude
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 2
-
-
- 0.100000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:PitchPI
- element:ILimit
- haslimits:no
- scale:1
- buttongroup:13
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 20
- 20
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 91
- 13
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 91
- 0
-
-
-
-
- 16777215
- 16777215
-
-
-
-
-
-
- ILimit Rate
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 2
-
-
- 0.100000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:RollPI
- element:ILimit
- haslimits:no
- scale:1
- buttongroup:13
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 20
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- Pitch
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
-
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 4
-
-
- 1.000000000000000
-
-
- 0.001000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:YawRatePID
- element:ILimit
- haslimits:no
- scale:1
- buttongroup:13
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 20
- 20
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 1
- 20
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 150
-
-
-
-
- 16777215
- 16777215
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
-
-
- 243
- 243
- 243
-
-
-
-
- 250
- 250
- 250
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 248
- 248
- 248
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
- false
-
-
- Sensor Tuning
-
-
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
-
-
-
-
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Expanding
-
-
-
- 619
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 81
- 25
-
-
-
-
- 16777215
- 16777215
-
-
-
- Reset all values to GCS defaults
-
-
-
-
-
- Default
-
-
-
- objname:StabilizationSettings
- button:default
- buttongroup:8
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 60
-
-
-
-
- 16777215
- 72
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 251
- 251
- 251
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 165
- 165
- 165
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 124
- 124
- 124
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 248
- 248
- 248
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
- false
-
-
-
-
-
-
-
-
- false
-
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 20
- 20
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
- QSizePolicy::Fixed
-
-
-
- 102
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
- The proportional term for the accelerometer, the higher this term the more weight the accel is given
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 3
-
-
- 1000000.000000000000000
-
-
- 0.010000000000000
-
-
-
- objname:AttitudeSettings
- fieldname:AccelKp
- haslimits:no
- scale:1
- buttongroup:8,10
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- GyroTau
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- AccelKp
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
- GyroTau is a gyro filter, the higher the factor the more filtering is applied to the gyros
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 3
-
-
- 1000000.000000000000000
-
-
- 0.001000000000000
-
-
-
- objname:StabilizationSettings
- fieldname:GyroTau
- haslimits:no
- scale:1
- buttongroup:8,10
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 20
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 90
- 16
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 58
- 58
- 58
-
-
-
-
-
-
- 48
- 48
- 48
-
-
-
-
-
-
- 19
- 19
- 19
-
-
-
-
-
-
- 26
- 26
- 26
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
-
-
- 74
- 74
- 74
-
-
-
-
- 36
- 36
- 36
-
-
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
- 39
- 39
- 39
-
-
-
-
-
-
- 255
- 255
- 220
-
-
-
-
-
-
- 0
- 0
- 0
-
-
-
-
-
-
-
-
- 75
- true
-
-
-
- false
-
-
- 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;
-
-
- AccelKi
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 90
- 22
-
-
-
-
- 16777215
- 22
-
-
-
- Qt::StrongFocus
-
-
- The intergral term for the accelerometer within the filter
-
-
-
-
-
- Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
-
-
- 5
-
-
- 1000000.000000000000000
-
-
- 0.000100000000000
-
-
-
- objname:AttitudeSettings
- fieldname:AccelKi
- haslimits:no
- scale:1
- buttongroup:8
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 20
- 20
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 60
-
-
-
- Real Time Updates
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 136
- 20
-
-
-
- If you check this, the GCS will udpate the stabilization factors
-automatically every 300ms, which will help for fast tuning.
-
-
-
-
-
- Update in real time
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 149
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
- 4
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 450
- 16
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 0
-
-
-
-
- 25
- 25
-
-
-
- Takes you to the wiki page
-
-
-
-
-
-
-
-
-
- :/core/images/helpicon.svg:/core/images/helpicon.svg
-
-
-
- 25
- 25
-
-
-
- true
-
-
-
- button:help
- url:http://wiki.openpilot.org/x/DAO9
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 140
- 32
-
-
-
-
- 16777215
- 32
-
-
-
- Reloads the saved settings into GCS.
-Useful if you have accidentally changed some settings.
-
-
-
-
-
- Reload Board Data
-
-
-
- 16
- 16
-
-
-
-
- button:reload
- buttongroup:10
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 78
- 32
-
-
-
-
- 16777215
- 32
-
-
-
- Send settings to the board but do not save to the non-volatile memory
-
-
-
-
-
- Apply
-
-
-
- button:apply
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 71
- 32
-
-
-
-
- 16777215
- 32
-
-
-
- Send settings to the board and save to the non-volatile memory
-
-
-
-
-
- Save
-
-
-
- button:save
-
-
-
-
-
-
-
-
-
-
- stabilizationReloadBoardData_6
- saveStabilizationToRAM_6
- saveStabilizationToSD_6
- pushButton_23
- pushButton_20
- horizontalSlider_76
- spinBox_7
- PitchPSlider
- spinBox_PitchRateP
- horizontalSlider_78
- spinBox_12
- horizontalSlider_79
- spinBox_8
- horizontalSlider_80
- spinBox_9
- horizontalSlider_81
- spinBox_10
- pushButton_22
- horizontalSlider_82
- spinBox_13
- horizontalSlider_83
- spinBox_14
- horizontalSlider_84
- spinBox_15
- horizontalSlider_85
- spinBox_18
- horizontalSlider_86
- spinBox_19
- horizontalSlider_87
- spinBox_20
- lowThrottleZeroIntegral_8
- checkBox_7
- checkBox_8
- pushButton_4
- RateRollKp_2
- RatePitchKp
- RateYawKp
- RateRollKi_2
- RatePitchKi
- RateYawKi
- RollRateKd
- PitchRateKd
- YawRateKd
- scrollArea
- pushButton_2
- AttitudeRollKp
- AttitudePitchKp_2
- AttitudeYawKp
- AttitudeRollKi
- AttitudePitchKi_2
- AttitudeYawKi
- pushButton_3
- rateRollKp_3
- ratePitchKp_4
- rateYawKp_3
- rateRollKi_3
- ratePitchKi_4
- rateYawKi_3
- rateRollILimit_3
- ratePitchILimit_4
- rateYawILimit_3
- checkBox_3
- checkBox_2
- WeakLevelingKp
- WeakLevelingRate
- MaAxisLock
- MaxAxisLockRate
- pushButton_9
- RateRollILimit_2
- RatePitchILimit
- RateYawILimit
- AttitudeRollILimit
- AttitudePitchILimit_2
- AttitudeYawILimit
- pushButton_5
- GyroTau
- AccelKp
- AccelKi
- realTimeUpdates_6
- scrollArea_3
- tabWidget
- scrollArea_2
-
-
-
-
-
-
+
+
+ StabilizationWidget
+
+
+
+ 0
+ 0
+ 965
+ 797
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 350
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 240
+ 240
+ 240
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 247
+ 247
+ 247
+
+
+
+
+
+
+ 120
+ 120
+ 120
+
+
+
+
+
+
+ 160
+ 160
+ 160
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 240
+ 240
+ 240
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 247
+ 247
+ 247
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 240
+ 240
+ 240
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 247
+ 247
+ 247
+
+
+
+
+
+
+ 120
+ 120
+ 120
+
+
+
+
+
+
+ 160
+ 160
+ 160
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 240
+ 240
+ 240
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 247
+ 247
+ 247
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 120
+ 120
+ 120
+
+
+
+
+
+
+ 240
+ 240
+ 240
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 247
+ 247
+ 247
+
+
+
+
+
+
+ 120
+ 120
+ 120
+
+
+
+
+
+
+ 160
+ 160
+ 160
+
+
+
+
+
+
+ 120
+ 120
+ 120
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 120
+ 120
+ 120
+
+
+
+
+
+
+ 240
+ 240
+ 240
+
+
+
+
+
+
+ 240
+ 240
+ 240
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 240
+ 240
+ 240
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ Stabilization
+
+
+ false
+
+
+
+ 30
+ 30
+
+
+
+ false
+
+
+
+ 6
+
+
+ 12
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ Qt::TabFocus
+
+
+ false
+
+
+ false
+
+
+
+
+
+ QTabWidget::North
+
+
+ QTabWidget::Rounded
+
+
+ 0
+
+
+ false
+
+
+ false
+
+
+
+ Basic
+
+
+
+ 6
+
+
+ 0
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 240
+ 240
+ 240
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 240
+ 240
+ 240
+
+
+
+
+
+
+
+
+ 240
+ 240
+ 240
+
+
+
+
+
+
+ 240
+ 240
+ 240
+
+
+
+
+
+
+
+ QFrame::NoFrame
+
+
+ 0
+
+
+ true
+
+
+
+
+ 0
+ 0
+ 935
+ 714
+
+
+
+
+ 12
+
+
+ 12
+
+
+ 5
+
+
+ 12
+
+
+ 12
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 195
+
+
+
+
+ 16777215
+ 181
+
+
+
+ Rate Stabilization (Inner Loop)
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
+
+
+ false
+
+
+
+ 12
+
+
+ 6
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+ Link Roll and Pitch
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Preferred
+
+
+
+ 497
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+ Reset all values to GCS defaults
+
+
+ false
+
+
+
+
+
+ Default
+
+
+
+ button:default
+ buttongroup:1
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 131
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 248
+ 248
+ 248
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 50
+ false
+ false
+ true
+
+
+
+ false
+
+
+
+
+
+
+
+
+ true
+
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Roll
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Pitch
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Yaw
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 78
+ 16
+
+
+
+
+
+
+ Proportional
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 25
+
+
+
+ Qt::StrongFocus
+
+
+ Slowly raise Proportional until you start seeing clear oscillations when you fly.
+Then lower the value by 5 or so.
+
+
+
+
+
+ 100
+
+
+ 51
+
+
+ 51
+
+
+ Qt::Horizontal
+
+
+ QSlider::TicksBelow
+
+
+ 25
+
+
+
+ objname:StabilizationSettings
+ fieldname:RollRatePID
+ element:Kp
+ haslimits:yes
+ scale:0.0001
+ buttongroup:1,10
+
+
+
+
+ -
+
+
+
+ 50
+ 22
+
+
+
+
+ 50
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ Slowly raise Proportional until you start seeing clear oscillations when you fly.
+Then lower the value by 5 or so.
+
+
+ 200
+
+
+ 200
+
+
+
+ objname:StabilizationSettings
+ fieldname:RollRatePID
+ element:Kp
+ haslimits:yes
+ scale:0.0001
+ buttongroup:1,10
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 25
+
+
+
+ Qt::StrongFocus
+
+
+ Slowly raise Proportional until you start seeing clear oscillations when you fly.
+Then lower the value by 5 or so.
+
+
+
+
+
+ 100
+
+
+ 50
+
+
+ Qt::Horizontal
+
+
+ QSlider::TicksBelow
+
+
+ 25
+
+
+
+ objname:StabilizationSettings
+ fieldname:PitchRatePID
+ element:Kp
+ haslimits:yes
+ scale:0.0001
+ buttongroup:1,10
+
+
+
+
+ -
+
+
+
+ 50
+ 22
+
+
+
+
+ 50
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ Slowly raise Proportional until you start seeing clear oscillations when you fly.
+Then lower the value by 5 or so.
+
+
+ 200
+
+
+ 200
+
+
+
+ objname:StabilizationSettings
+ fieldname:PitchRatePID
+ element:Kp
+ haslimits:yes
+ scale:0.0001
+ buttongroup:1,10
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 25
+
+
+
+ Qt::StrongFocus
+
+
+ Slowly raise Proportional until you start seeing clear oscillations when you fly.
+Then lower the value by 5 or so.
+
+
+
+
+
+ 100
+
+
+ 50
+
+
+ Qt::Horizontal
+
+
+ QSlider::TicksBelow
+
+
+ 25
+
+
+
+ objname:StabilizationSettings
+ fieldname:YawRatePID
+ element:Kp
+ haslimits:yes
+ scale:0.0001
+ buttongroup:1,10
+
+
+
+
+ -
+
+
+
+ 50
+ 22
+
+
+
+
+ 50
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ Slowly raise Proportional until you start seeing clear oscillations when you fly.
+Then lower the value by 5 or so.
+
+
+ 200
+
+
+ 200
+
+
+
+ objname:StabilizationSettings
+ fieldname:YawRatePID
+ element:Kp
+ haslimits:yes
+ scale:0.0001
+ buttongroup:1,10
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+ Integral
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 25
+
+
+
+ Qt::StrongFocus
+
+
+ As a rule of thumb, you can set the Integral at roughly the same
+value as the Kp.
+
+
+
+
+
+ 100
+
+
+ 50
+
+
+ Qt::Horizontal
+
+
+ QSlider::TicksBelow
+
+
+ 25
+
+
+
+ objname:StabilizationSettings
+ fieldname:RollRatePID
+ element:Ki
+ haslimits:yes
+ scale:0.0001
+ buttongroup:1,10
+
+
+
+
+ -
+
+
+
+ 50
+ 22
+
+
+
+
+ 50
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ As a rule of thumb, you can set the Integral at roughly the same
+value as the Kp.
+
+
+ 200
+
+
+ 200
+
+
+
+ objname:StabilizationSettings
+ fieldname:RollRatePID
+ element:Ki
+ haslimits:yes
+ scale:0.0001
+ buttongroup:1,10
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 25
+
+
+
+ Qt::StrongFocus
+
+
+ As a rule of thumb, you can set the Integral at roughly the same
+value as the Kp.
+
+
+
+
+
+ 100
+
+
+ 50
+
+
+ Qt::Horizontal
+
+
+ QSlider::TicksBelow
+
+
+ 25
+
+
+
+ objname:StabilizationSettings
+ fieldname:PitchRatePID
+ element:Ki
+ haslimits:yes
+ scale:0.0001
+ buttongroup:1,10
+
+
+
+
+ -
+
+
+
+ 50
+ 22
+
+
+
+
+ 50
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ As a rule of thumb, you can set the Integral at roughly the same
+value as the Kp.
+
+
+ 200
+
+
+ 200
+
+
+
+ objname:StabilizationSettings
+ fieldname:PitchRatePID
+ element:Ki
+ haslimits:yes
+ scale:0.0001
+ buttongroup:1,10
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 25
+
+
+
+ Qt::StrongFocus
+
+
+ As a rule of thumb, you can set the Integral at roughly the same
+value as the Kp.
+
+
+
+
+
+ 100
+
+
+ 50
+
+
+ Qt::Horizontal
+
+
+ QSlider::TicksBelow
+
+
+ 25
+
+
+
+ objname:StabilizationSettings
+ fieldname:YawRatePID
+ element:Ki
+ haslimits:yes
+ scale:0.0001
+ buttongroup:1,10
+
+
+
+
+ -
+
+
+
+ 50
+ 22
+
+
+
+
+ 50
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ As a rule of thumb, you can set the Integral at roughly the same
+value as the Kp.
+
+
+ 200
+
+
+ 200
+
+
+
+ objname:StabilizationSettings
+ fieldname:YawRatePID
+ element:Ki
+ haslimits:yes
+ scale:0.0001
+ buttongroup:1,10
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 195
+
+
+
+
+ 16777215
+ 181
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 248
+ 248
+ 248
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ false
+
+
+ Attitude Stabilization (Outer Loop)
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
+
+
+
+ 12
+
+
+ 6
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+ Link Roll and Pitch
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Preferred
+
+
+
+ 497
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+ Reset all values to GCS defaults
+
+
+
+
+
+ Default
+
+
+
+ button:default
+ buttongroup:2
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 131
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 248
+ 248
+ 248
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+ true
+
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Roll
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Pitch
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Yaw
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 78
+ 16
+
+
+
+
+
+
+ Proportional
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 25
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+ 100
+
+
+ 50
+
+
+ Qt::Horizontal
+
+
+ QSlider::TicksBelow
+
+
+ 25
+
+
+
+ objname:StabilizationSettings
+ fieldname:RollPI
+ element:Kp
+ scale:0.1
+ haslimits:yes
+ buttongroup:2,10
+
+
+
+
+ -
+
+
+
+ 50
+ 22
+
+
+
+
+ 50
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ 200
+
+
+ 200
+
+
+
+ objname:StabilizationSettings
+ fieldname:RollPI
+ element:Kp
+ scale:0.1
+ haslimits:yes
+ buttongroup:2,10
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 25
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+ 100
+
+
+ 50
+
+
+ Qt::Horizontal
+
+
+ QSlider::TicksBelow
+
+
+ 25
+
+
+
+ objname:StabilizationSettings
+ fieldname:PitchPI
+ element:Kp
+ scale:0.1
+ haslimits:yes
+ buttongroup:2,10
+
+
+
+
+ -
+
+
+
+ 50
+ 22
+
+
+
+
+ 50
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ 200
+
+
+ 200
+
+
+
+ objname:StabilizationSettings
+ fieldname:PitchPI
+ element:Kp
+ scale:0.1
+ haslimits:yes
+ buttongroup:2,10
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 25
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+ 100
+
+
+ 50
+
+
+ Qt::Horizontal
+
+
+ QSlider::TicksBelow
+
+
+ 25
+
+
+
+ objname:StabilizationSettings
+ fieldname:YawPI
+ element:Kp
+ scale:0.1
+ haslimits:yes
+ buttongroup:2,10
+
+
+
+
+ -
+
+
+
+ 50
+ 22
+
+
+
+
+ 50
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ 200
+
+
+ 200
+
+
+
+ objname:StabilizationSettings
+ fieldname:YawPI
+ element:Kp
+ scale:0.1
+ haslimits:yes
+ buttongroup:2,10
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+ Integral
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 25
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+ 100
+
+
+ 50
+
+
+ Qt::Horizontal
+
+
+ QSlider::TicksBelow
+
+
+ 25
+
+
+
+ objname:StabilizationSettings
+ fieldname:RollPI
+ element:Ki
+ scale:0.1
+ haslimits:yes
+ buttongroup:2,10
+
+
+
+
+ -
+
+
+
+ 50
+ 22
+
+
+
+
+ 50
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ 200
+
+
+ 200
+
+
+
+ objname:StabilizationSettings
+ fieldname:RollPI
+ element:Ki
+ scale:0.1
+ haslimits:yes
+ buttongroup:2,10
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 25
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+ 100
+
+
+ 50
+
+
+ Qt::Horizontal
+
+
+ QSlider::TicksBelow
+
+
+ 25
+
+
+
+ objname:StabilizationSettings
+ fieldname:PitchPI
+ element:Ki
+ scale:0.1
+ haslimits:yes
+ buttongroup:2,10
+
+
+
+
+ -
+
+
+
+ 50
+ 22
+
+
+
+
+ 50
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ 200
+
+
+ 200
+
+
+
+ objname:StabilizationSettings
+ fieldname:PitchPI
+ element:Ki
+ scale:0.1
+ haslimits:yes
+ buttongroup:2,10
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 25
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+ 100
+
+
+ 50
+
+
+ Qt::Horizontal
+
+
+ QSlider::TicksBelow
+
+
+ 25
+
+
+
+ objname:StabilizationSettings
+ fieldname:YawPI
+ element:Ki
+ scale:0.1
+ haslimits:yes
+ buttongroup:2,10
+
+
+
+
+ -
+
+
+
+ 50
+ 22
+
+
+
+
+ 50
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ 200
+
+
+ 200
+
+
+
+ objname:StabilizationSettings
+ fieldname:YawPI
+ element:Ki
+ scale:0.1
+ haslimits:yes
+ buttongroup:2,10
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 62
+
+
+
+
+
+
+ Integral
+
+
+
+ 12
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 300
+ 20
+
+
+
+ When the throttle is low, zero the intergral term to prevent intergral wind-up
+
+
+
+
+
+ Zero the integral when throttle is low
+
+
+
+ objname:StabilizationSettings
+ fieldname:LowThrottleZeroIntegral
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Expanding
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+
+
+
+
+
+
+ Advanced
+
+
+
+ 6
+
+
+ 0
+
+ -
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 240
+ 240
+ 240
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 240
+ 240
+ 240
+
+
+
+
+
+
+
+
+ 240
+ 240
+ 240
+
+
+
+
+
+
+ 240
+ 240
+ 240
+
+
+
+
+
+
+
+ QFrame::NoFrame
+
+
+ 0
+
+
+ true
+
+
+
+
+ 0
+ 0
+ 935
+ 714
+
+
+
+ true
+
+
+
+ 6
+
+
+ 12
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 210
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 248
+ 248
+ 248
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ Rate Stabization Coefficients (Inner Loop)
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
+
+
+ false
+
+
+
+ 12
+
+
+ 6
+
+
-
+
+
+
+
+
+ Link Roll and Pitch
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 497
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+ Reset all values to GCS defaults
+
+
+
+
+
+ Default
+
+
+
+ objname:StabilizationSettings
+ button:default
+ buttongroup:4
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 140
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 248
+ 248
+ 248
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+ true
+
+
+
+ 0
+
+
+ 9
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 6
+
+
+ 0.000001000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:PitchRatePID
+ element:Kd
+ haslimits:no
+ scale:1
+ buttongroup:4,20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Yaw
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+ Integral
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ As a rule of thumb, you can set the Ki at roughly the same
+value as the Kp.
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 5
+
+
+ 0.000100000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:YawRatePID
+ element:Ki
+ haslimits:no
+ scale:1
+ buttongroup:4,20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ As a rule of thumb, you can set the Ki at roughly the same
+value as the Kp.
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 5
+
+
+ 0.000100000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:PitchRatePID
+ element:Ki
+ haslimits:no
+ scale:1
+ buttongroup:4,20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 85
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ Slowly raise Kp until you start seeing clear oscillations when you fly.
+Then lower the value by 20% or so.
+
+You can usually go for higher values for Yaw factors.
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 5
+
+
+ 0.000100000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:YawRatePID
+ element:Kp
+ haslimits:no
+ scale:1
+ buttongroup:4,20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 6
+
+
+ 0.000001000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:YawRatePID
+ element:Kd
+ haslimits:no
+ scale:1
+ buttongroup:4,20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Pitch
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Roll
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 10
+ 10
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 69
+ 16
+
+
+
+
+
+
+ Proportional
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 10
+ 10
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 85
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ Slowly raise Kp until you start seeing clear oscillations when you fly.
+Then lower the value by 20% or so.
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 5
+
+
+ 0.000100000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:RollRatePID
+ element:Kp
+ haslimits:no
+ scale:1
+ buttongroup:4,20
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 140
+ 13
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ As a rule of thumb, you can set the Ki at roughly the same
+value as the Kp.
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 5
+
+
+ 0.000100000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:RollRatePID
+ element:Ki
+ haslimits:no
+ scale:1
+ buttongroup:4,20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 58
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+
+
+
+ Derivative
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 85
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ Slowly raise Kp until you start seeing clear oscillations when you fly.
+Then lower the value by 20% or so.
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 5
+
+
+ 0.000100000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:PitchRatePID
+ element:Kp
+ haslimits:no
+ scale:1
+ buttongroup:4,20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 6
+
+
+ 0.000001000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:RollRatePID
+ element:Kd
+ haslimits:no
+ scale:1
+ buttongroup:4,20
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 10
+ 10
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 170
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 248
+ 248
+ 248
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ false
+
+
+ Attitude Stabization Coefficients (Outer Loop)
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
+
+
+ false
+
+
+
+ 4
+
+
+ 12
+
+
-
+
+
+
+
+
+ Link Roll and Pitch
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 497
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+ Reset all values to GCS defaults
+
+
+
+
+
+ Default
+
+
+
+ objname:StabilizationSettings
+ button:default
+ buttongroup:5
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 110
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 248
+ 248
+ 248
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+ true
+
+
+
+ 0
+
+
-
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 137
+ 13
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Roll
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Pitch
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Yaw
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 69
+ 16
+
+
+
+
+
+
+ Proportional
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 3
+
+
+ 0.100000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:RollPI
+ element:Kp
+ haslimits:no
+ scale:1
+ buttongroup:5,20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 3
+
+
+ 0.100000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:PitchPI
+ element:Kp
+ haslimits:no
+ scale:1
+ buttongroup:5,20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 3
+
+
+ 0.100000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:YawPI
+ element:Kp
+ haslimits:no
+ scale:1
+ buttongroup:5,20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+ Integral
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 13
+ 13
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 3
+
+
+ 0.100000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:RollPI
+ element:Ki
+ haslimits:no
+ scale:1
+ buttongroup:5,20
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 13
+ 13
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 3
+
+
+ 0.100000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:PitchPI
+ element:Ki
+ haslimits:no
+ scale:1
+ buttongroup:5,20
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 13
+ 13
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 3
+
+
+ 0.100000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:YawPI
+ element:Ki
+ haslimits:no
+ scale:1
+ buttongroup:5,20
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 195
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 248
+ 248
+ 248
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ Stick Range and Limits
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
+
+
+
+ 12
+
+
+ 6
+
+
-
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Expanding
+
+
+
+ 632
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+ Reset all values to GCS defaults
+
+
+
+
+
+ Default
+
+
+
+ objname:StabilizationSettings
+ button:default
+ buttongroup:6
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 140
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 248
+ 248
+ 248
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+ true
+
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 0
+
+
+ 1000000.000000000000000
+
+
+ 1.000000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:PitchMax
+ haslimits:no
+ scale:1
+ buttongroup:6,20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 128
+ 16
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+
+
+
+ Max rate attitude (deg/s)
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 0
+
+
+ 1000000.000000000000000
+
+
+ 1.000000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:MaximumRate
+ element:Roll
+ haslimits:no
+ scale:1
+ buttongroup:6,20
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 10
+ 10
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 0
+
+
+ 1000000.000000000000000
+
+
+ 1.000000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:ManualRate
+ element:Yaw
+ haslimits:no
+ scale:1
+ buttongroup:6,20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 0
+
+
+ 1000000.000000000000000
+
+
+ 1.000000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:YawMax
+ haslimits:no
+ scale:1
+ buttongroup:6,20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 0
+
+
+ 1000000.000000000000000
+
+
+ 1.000000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:MaximumRate
+ element:Pitch
+ haslimits:no
+ scale:1
+ buttongroup:6,20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Yaw
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 10
+ 10
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 10
+ 10
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Pitch
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 69
+ 16
+
+
+
+
+
+
+ Full stick angle (deg)
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 0
+
+
+ 1000000.000000000000000
+
+
+ 1.000000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:ManualRate
+ element:Pitch
+ haslimits:no
+ scale:1
+ buttongroup:6,20
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 140
+ 16
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Roll
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 0
+
+
+ 1000000.000000000000000
+
+
+ 1.000000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:ManualRate
+ element:Roll
+ haslimits:no
+ scale:1
+ buttongroup:6,20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ QAbstractSpinBox::UpDownArrows
+
+
+ 0
+
+
+ 1000000.000000000000000
+
+
+ 1.000000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:RollMax
+ haslimits:no
+ scale:1
+ buttongroup:6,20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 0
+
+
+ 1000000.000000000000000
+
+
+ 1.000000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:MaximumRate
+ element:Yaw
+ haslimits:no
+ scale:1
+ buttongroup:6,20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+ Full stick rate (deg/s)
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 200
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+ Expert
+
+
+
+ 6
+
+
+ 0
+
+ -
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 240
+ 240
+ 240
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 240
+ 240
+ 240
+
+
+
+
+
+
+
+
+ 240
+ 240
+ 240
+
+
+
+
+
+
+ 240
+ 240
+ 240
+
+
+
+
+
+
+
+ QFrame::NoFrame
+
+
+ QFrame::Sunken
+
+
+ 0
+
+
+ true
+
+
+
+
+ 0
+ 0
+ 935
+ 714
+
+
+
+
+ 6
+
+
+ 12
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 150
+
+
+
+ false
+
+
+ Weak Leveling / Axis Lock
+
+
+
+ 12
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 632
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+ Reset all values to GCS defaults
+
+
+
+
+
+ Default
+
+
+
+ objname:StabilizationSettings
+ button:default
+ buttongroup:10
+
+
+
+
+ -
+
+
+ true
+
+
+
+ 12
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 144
+ 16
+
+
+
+
+ 175
+ 16777215
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Weak Leveling Kp
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 144
+ 16
+
+
+
+
+ 175
+ 16777215
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Weak Leveling Rate
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 144
+ 16
+
+
+
+
+ 175
+ 16777215
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Max Axis Lock
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 144
+ 16
+
+
+
+
+ 175
+ 16777215
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Max Axis Lock Rate
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 90
+ 11
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 5
+ 22
+
+
+
+
+ 175
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 2
+
+
+ 0.010000000000000
+
+
+ 360.000000000000000
+
+
+ 0.010000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:WeakLevelingKp
+ haslimits:no
+ scale:1
+ buttongroup:10
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 25
+ 22
+
+
+
+
+ 175
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 0
+
+
+ 1.000000000000000
+
+
+ 360.000000000000000
+
+
+ 1.000000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:MaxWeakLevelingRate
+ haslimits:no
+ scale:1
+ buttongroup:10
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 25
+ 22
+
+
+
+
+ 175
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 0
+
+
+ 0.000000000000000
+
+
+ 360.000000000000000
+
+
+ 1.000000000000000
+
+
+ 1.000000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:MaxAxisLock
+ haslimits:no
+ scale:1
+ buttongroup:10
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 25
+ 22
+
+
+
+
+ 175
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 0
+
+
+ 1.000000000000000
+
+
+ 360.000000000000000
+
+
+ 1.000000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:MaxAxisLockRate
+ haslimits:no
+ scale:1
+ buttongroup:10
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 180
+
+
+
+ Integral Limits
+
+
+
+ 12
+
+
+ 6
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 632
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+ Reset all values to GCS defaults
+
+
+
+
+
+ Default
+
+
+
+ objname:StabilizationSettings
+ button:default
+ buttongroup:13
+
+
+
+
+ -
+
+
+
+ 0
+ 100
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 125
+ 125
+ 125
+
+
+
+
+
+
+ 166
+ 166
+ 166
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 69
+ 69
+ 69
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 125
+ 125
+ 125
+
+
+
+
+
+
+ 166
+ 166
+ 166
+
+
+
+
+
+
+ 69
+ 69
+ 69
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 125
+ 125
+ 125
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 125
+ 125
+ 125
+
+
+
+
+
+
+ 166
+ 166
+ 166
+
+
+
+
+
+
+ 125
+ 125
+ 125
+
+
+
+
+
+
+ 125
+ 125
+ 125
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+ 12
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 4
+
+
+ 1.000000000000000
+
+
+ 0.001000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:PitchRatePID
+ element:ILimit
+ haslimits:no
+ scale:1
+ buttongroup:13
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 4
+
+
+ 1.000000000000000
+
+
+ 0.001000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:RollRatePID
+ element:ILimit
+ haslimits:no
+ scale:1
+ buttongroup:13
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Roll
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Yaw
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 2
+
+
+ 0.100000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:YawPI
+ element:ILimit
+ haslimits:no
+ scale:1
+ buttongroup:13
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 91
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+
+
+
+ ILimit Attitude
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 2
+
+
+ 0.100000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:PitchPI
+ element:ILimit
+ haslimits:no
+ scale:1
+ buttongroup:13
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 20
+ 20
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 91
+ 13
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 91
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+
+
+
+ ILimit Rate
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 2
+
+
+ 0.100000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:RollPI
+ element:ILimit
+ haslimits:no
+ scale:1
+ buttongroup:13
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 20
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ Pitch
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 4
+
+
+ 1.000000000000000
+
+
+ 0.001000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:YawRatePID
+ element:ILimit
+ haslimits:no
+ scale:1
+ buttongroup:13
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 20
+ 20
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 1
+ 20
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 150
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+
+
+ 243
+ 243
+ 243
+
+
+
+
+ 250
+ 250
+ 250
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 248
+ 248
+ 248
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ false
+
+
+ Sensor Tuning
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
+
+
+
+ 12
+
+
-
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Expanding
+
+
+
+ 619
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+ Reset all values to GCS defaults
+
+
+
+
+
+ Default
+
+
+
+ objname:StabilizationSettings
+ button:default
+ buttongroup:8
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 60
+
+
+
+
+ 16777215
+ 72
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 251
+ 251
+ 251
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 165
+ 165
+ 165
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 124
+ 124
+ 124
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 248
+ 248
+ 248
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+ true
+
+
+
+ 12
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 20
+ 20
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QSizePolicy::Fixed
+
+
+
+ 102
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ The proportional term for the accelerometer, the higher this term the more weight the accel is given
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 3
+
+
+ 1000000.000000000000000
+
+
+ 0.010000000000000
+
+
+
+ objname:AttitudeSettings
+ fieldname:AccelKp
+ haslimits:no
+ scale:1
+ buttongroup:8,10
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ GyroTau
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ AccelKp
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ GyroTau is a gyro filter, the higher the factor the more filtering is applied to the gyros
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 3
+
+
+ 1000000.000000000000000
+
+
+ 0.001000000000000
+
+
+
+ objname:StabilizationSettings
+ fieldname:GyroTau
+ haslimits:no
+ scale:1
+ buttongroup:8,10
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 20
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 90
+ 16
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 58
+ 58
+ 58
+
+
+
+
+
+
+ 48
+ 48
+ 48
+
+
+
+
+
+
+ 19
+ 19
+ 19
+
+
+
+
+
+
+ 26
+ 26
+ 26
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+
+
+ 74
+ 74
+ 74
+
+
+
+
+ 36
+ 36
+ 36
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+ 39
+ 39
+ 39
+
+
+
+
+
+
+ 255
+ 255
+ 220
+
+
+
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 75
+ true
+
+
+
+ false
+
+
+ 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;
+
+
+ AccelKi
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 90
+ 22
+
+
+
+
+ 16777215
+ 22
+
+
+
+ Qt::StrongFocus
+
+
+ The intergral term for the accelerometer within the filter
+
+
+
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+ 5
+
+
+ 1000000.000000000000000
+
+
+ 0.000100000000000
+
+
+
+ objname:AttitudeSettings
+ fieldname:AccelKi
+ haslimits:no
+ scale:1
+ buttongroup:8
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 60
+
+
+
+ Real Time Updates
+
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 136
+ 20
+
+
+
+ If you check this, the GCS will udpate the stabilization factors
+automatically every 300ms, which will help for fast tuning.
+
+
+
+
+
+ Update in real time
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 149
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ 4
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 450
+ 16
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 25
+ 25
+
+
+
+ Takes you to the wiki page
+
+
+
+
+
+
+
+
+
+ :/core/images/helpicon.svg:/core/images/helpicon.svg
+
+
+
+ 25
+ 25
+
+
+
+ true
+
+
+
+ button:help
+ url:http://wiki.openpilot.org/x/DAO9
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+ Reloads the saved settings into GCS.
+Useful if you have accidentally changed some settings.
+
+
+
+
+
+ Reload Board Data
+
+
+
+ 16
+ 16
+
+
+
+
+ button:reload
+ buttongroup:10
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+ Send settings to the board but do not save to the non-volatile memory
+
+
+
+
+
+ Apply
+
+
+
+ button:apply
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
+
+
+ 16777215
+ 16777215
+
+
+
+ Send settings to the board and save to the non-volatile memory
+
+
+
+
+
+ Save
+
+
+
+ button:save
+
+
+
+
+
+
+
+
+
+
+ stabilizationReloadBoardData_6
+ saveStabilizationToRAM_6
+ saveStabilizationToSD_6
+ pushButton_23
+ pushButton_20
+ horizontalSlider_76
+ spinBox_7
+ PitchPSlider
+ spinBox_PitchRateP
+ horizontalSlider_78
+ spinBox_12
+ horizontalSlider_79
+ spinBox_8
+ horizontalSlider_80
+ spinBox_9
+ horizontalSlider_81
+ spinBox_10
+ pushButton_22
+ horizontalSlider_82
+ spinBox_13
+ horizontalSlider_83
+ spinBox_14
+ horizontalSlider_84
+ spinBox_15
+ horizontalSlider_85
+ spinBox_18
+ horizontalSlider_86
+ spinBox_19
+ horizontalSlider_87
+ spinBox_20
+ lowThrottleZeroIntegral_8
+ checkBox_7
+ checkBox_8
+ pushButton_4
+ RateRollKp_2
+ RatePitchKp
+ RateYawKp
+ RateRollKi_2
+ RatePitchKi
+ RateYawKi
+ RollRateKd
+ PitchRateKd
+ YawRateKd
+ scrollArea
+ pushButton_2
+ AttitudeRollKp
+ AttitudePitchKp_2
+ AttitudeYawKp
+ AttitudeRollKi
+ AttitudePitchKi_2
+ AttitudeYawKi
+ pushButton_3
+ rateRollKp_3
+ ratePitchKp_4
+ rateYawKp_3
+ rateRollKi_3
+ ratePitchKi_4
+ rateYawKi_3
+ rateRollILimit_3
+ ratePitchILimit_4
+ rateYawILimit_3
+ checkBox_3
+ checkBox_2
+ WeakLevelingKp
+ WeakLevelingRate
+ MaAxisLock
+ MaxAxisLockRate
+ pushButton_9
+ RateRollILimit_2
+ RatePitchILimit
+ RateYawILimit
+ AttitudeRollILimit
+ AttitudePitchILimit_2
+ AttitudeYawILimit
+ pushButton_5
+ GyroTau
+ AccelKp
+ AccelKi
+ realTimeUpdates_6
+ scrollArea_3
+ tabWidget
+ scrollArea_2
+
+
+
+
+
+
diff --git a/ground/openpilotgcs/src/plugins/config/txpid.ui b/ground/openpilotgcs/src/plugins/config/txpid.ui
old mode 100644
new mode 100755
index 57d82447f..9d4da0865
--- a/ground/openpilotgcs/src/plugins/config/txpid.ui
+++ b/ground/openpilotgcs/src/plugins/config/txpid.ui
@@ -1,853 +1,850 @@
-
-
- TxPIDWidget
-
-
-
- 0
- 0
- 789
- 615
-
-
-
- TxPID
-
-
-
- -1
-
- -
-
-
- 0
-
-
-
- Tx PID
-
-
-
- -1
-
-
- 0
-
-
- 12
-
-
- 0
-
-
- 0
-
-
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 232
- 232
- 232
-
-
-
-
-
-
-
-
- 255
- 255
- 255
-
-
-
-
-
-
- 232
- 232
- 232
-
-
-
-
-
-
-
-
- 232
- 232
- 232
-
-
-
-
-
-
- 232
- 232
- 232
-
-
-
-
-
-
-
- QFrame::NoFrame
-
-
- true
-
-
-
-
- 0
- 0
- 759
- 503
-
-
-
-
- 24
-
-
-
-
-
- Module Control
-
-
-
-
-
-
- Qt::StrongFocus
-
-
- This module will periodically update values of stabilization PID settings
-depending on configured input control channels. New values of stabilization
-settings are not saved to flash, but updated in RAM. It is expected that the
-module will be enabled only for tuning. When desired values are found, they
-can be read via GCS and saved permanently. Then this module should be
-disabled again.
-
-Up to 3 separate PID options (or option pairs) can be selected and updated.
-
-
- Enable TxPID module
-
-
-
- -
-
-
- After enabling the module, you must power cycle before using and configuring.
-
-
-
-
-
-
- -
-
-
- true
-
-
-
- 0
- 0
-
-
-
-
- 0
- 293
-
-
-
- Module Settings
-
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
- 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;
-
-
- PID option
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
- 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;
-
-
- Control Source
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
- 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;
-
-
- Min
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
- 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;
-
-
- Max
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- Instance 1
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Select PID option or option pair to update.
-Set to Disabled if not used.
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Select input used as a control source for this instance.
-It can be one of Accessory channels or Throttle channel.
-
-If Accessory channel is chosen then its range [0..1] will be mapped
-to PID range [Min..Max] defined for this instance.
-
-If Throttle channel is chosen then Throttle range [Min..Max] will
-be mapped to PID range [Min..Max] defined for this instance. If
-Throttle is out of bounds then PID Min and Max values will be used
-accordingly.
-
-Note that it is possible to set PID Min > Max. In that case increasing
-control input value will decrease the PID option value. This can be
-used, for instance, to decrease PID value when increasing Throttle.
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Minimum PID value mapped to Accessory channel = 0 or
-Throttle channel lesser or equal to Throttle Min value.
-
-
- 6
-
-
- 0.000100000000000
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Maximum PID value mapped to Accessory channel = 1 or
-Throttle channel greater or equal to Throttle Max value.
-
-
- 6
-
-
- 0.000100000000000
-
-
-
- -
-
-
- Instance 2
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Select PID option or option pair to update.
-Set to Disabled if not used.
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Select input used as a control source for this instance.
-It can be one of Accessory channels or Throttle channel.
-
-If Accessory channel is chosen then its range [0..1] will be mapped
-to PID range [Min..Max] defined for this instance.
-
-If Throttle channel is chosen then Throttle range [Min..Max] will
-be mapped to PID range [Min..Max] defined for this instance. If
-Throttle is out of bounds then PID Min and Max values will be used
-accordingly.
-
-Note that it is possible to set PID Min > Max. In that case increasing
-control input value will decrease the PID option value. This can be
-used, for instance, to decrease PID value when increasing Throttle.
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Minimum PID value mapped to Accessory channel = 0 or
-Throttle channel lesser or equal to Throttle Min value.
-
-
- 6
-
-
- 0.000100000000000
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Maximum PID value mapped to Accessory channel = 1 or
-Throttle channel greater or equal to Throttle Max value.
-
-
- 6
-
-
- 0.000100000000000
-
-
-
- -
-
-
- Instance 3
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Select PID option or option pair to update.
-Set to Disabled if not used.
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Select input used as a control source for this instance.
-It can be one of Accessory channels or Throttle channel.
-
-If Accessory channel is chosen then its range [0..1] will be mapped
-to PID range [Min..Max] defined for this instance.
-
-If Throttle channel is chosen then Throttle range [Min..Max] will
-be mapped to PID range [Min..Max] defined for this instance. If
-Throttle is out of bounds then PID Min and Max values will be used
-accordingly.
-
-Note that it is possible to set PID Min > Max. In that case increasing
-control input value will decrease the PID option value. This can be
-used, for instance, to decrease PID value when increasing Throttle.
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Minimum PID value mapped to Accessory channel = 0 or
-Throttle channel lesser or equal to Throttle Min value.
-
-
- 6
-
-
- 0.000100000000000
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Maximum PID value mapped to Accessory channel = 1 or
-Throttle channel greater or equal to Throttle Max value.
-
-
- 6
-
-
- 0.000100000000000
-
-
-
- -
-
-
- Update Mode
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- PID values update mode which can be set to:
-- Never: this disables PID updates (but module still will be run if enabled),
-- When Armed: PID updated only when system is armed,
-- Always: PID updated always regardless of arm state.
-
-Since the GCS updates GUI PID values in real time on change, could be
-tricky to change other PID values from the GUI if the module is enabled
-and constantly updates stabilization settings object. As a workaround,
-this option can be used to temporarily disable updates or enable them
-only when system is armed without disabling the module.
-
-
-
- -
-
-
- Throttle Range
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Throttle channel lower bound mapped to PID Min value
-
-
- 1.000000000000000
-
-
- 0.010000000000000
-
-
-
- -
-
-
- Qt::StrongFocus
-
-
- Throttle channel upper bound mapped to PID Max value
-
-
- 1.000000000000000
-
-
- 0.010000000000000
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
- 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;
-
-
- Min
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 0
- 16
-
-
-
- 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;
-
-
- Max
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Preferred
-
-
-
- 20
- 20
-
-
-
-
-
-
-
- -
-
-
- Messages
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 20
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
- 4
-
-
-
-
-
- Qt::Horizontal
-
-
-
- 570
- 16
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- 25
- 25
-
-
-
-
- 25
- 25
-
-
-
-
- 0
- 0
-
-
-
- false
-
-
-
-
-
-
- :/core/images/helpicon.svg:/core/images/helpicon.svg
-
-
-
- 25
- 25
-
-
-
- false
-
-
- false
-
-
- true
-
-
-
- button:help
- url:http://wiki.openpilot.org/x/DACiAQ
-
-
-
-
- -
-
-
-
- 78
- 32
-
-
-
- Send settings to the board but do not save to the non-volatile memory
-
-
-
-
-
- Apply
-
-
-
- -
-
-
-
- 71
- 32
-
-
-
- Send settings to the board and save to the non-volatile memory
-
-
-
-
-
- Save
-
-
- false
-
-
-
-
-
-
-
-
- Apply
- Save
- scrollArea
- PID1
- Input1
- MinPID1
- MaxPID1
- PID2
- Input2
- MinPID2
- MaxPID2
- PID3
- Input3
- MinPID3
- MaxPID3
- ThrottleMin
- ThrottleMax
- UpdateMode
-
-
-
-
-
-
+
+
+ TxPIDWidget
+
+
+
+ 0
+ 0
+ 789
+ 615
+
+
+
+ TxPID
+
+
+
+ 6
+
+
+ 12
+
+ -
+
+
+ 0
+
+
+
+ Tx PID
+
+
+
+ 6
+
+
+ 0
+
+
-
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+
+
+ 255
+ 255
+ 255
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+ 232
+ 232
+ 232
+
+
+
+
+
+
+
+ QFrame::NoFrame
+
+
+ true
+
+
+
+
+ 0
+ 0
+ 759
+ 532
+
+
+
+
+ 6
+
+
+ 12
+
+
-
+
+
+ Module Control
+
+
+
-
+
+
+ Qt::StrongFocus
+
+
+ This module will periodically update values of stabilization PID settings
+depending on configured input control channels. New values of stabilization
+settings are not saved to flash, but updated in RAM. It is expected that the
+module will be enabled only for tuning. When desired values are found, they
+can be read via GCS and saved permanently. Then this module should be
+disabled again.
+
+Up to 3 separate PID options (or option pairs) can be selected and updated.
+
+
+ Enable TxPID module
+
+
+
+ -
+
+
+ After enabling the module, you must power cycle before using and configuring.
+
+
+
+
+
+
+ -
+
+
+ true
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 293
+
+
+
+ Module Settings
+
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+ 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;
+
+
+ PID option
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+ 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;
+
+
+ Control Source
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+ 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;
+
+
+ Min
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+ 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;
+
+
+ Max
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Instance 1
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Select PID option or option pair to update.
+Set to Disabled if not used.
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Select input used as a control source for this instance.
+It can be one of Accessory channels or Throttle channel.
+
+If Accessory channel is chosen then its range [0..1] will be mapped
+to PID range [Min..Max] defined for this instance.
+
+If Throttle channel is chosen then Throttle range [Min..Max] will
+be mapped to PID range [Min..Max] defined for this instance. If
+Throttle is out of bounds then PID Min and Max values will be used
+accordingly.
+
+Note that it is possible to set PID Min > Max. In that case increasing
+control input value will decrease the PID option value. This can be
+used, for instance, to decrease PID value when increasing Throttle.
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Minimum PID value mapped to Accessory channel = 0 or
+Throttle channel lesser or equal to Throttle Min value.
+
+
+ 6
+
+
+ 0.000100000000000
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Maximum PID value mapped to Accessory channel = 1 or
+Throttle channel greater or equal to Throttle Max value.
+
+
+ 6
+
+
+ 0.000100000000000
+
+
+
+ -
+
+
+ Instance 2
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Select PID option or option pair to update.
+Set to Disabled if not used.
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Select input used as a control source for this instance.
+It can be one of Accessory channels or Throttle channel.
+
+If Accessory channel is chosen then its range [0..1] will be mapped
+to PID range [Min..Max] defined for this instance.
+
+If Throttle channel is chosen then Throttle range [Min..Max] will
+be mapped to PID range [Min..Max] defined for this instance. If
+Throttle is out of bounds then PID Min and Max values will be used
+accordingly.
+
+Note that it is possible to set PID Min > Max. In that case increasing
+control input value will decrease the PID option value. This can be
+used, for instance, to decrease PID value when increasing Throttle.
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Minimum PID value mapped to Accessory channel = 0 or
+Throttle channel lesser or equal to Throttle Min value.
+
+
+ 6
+
+
+ 0.000100000000000
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Maximum PID value mapped to Accessory channel = 1 or
+Throttle channel greater or equal to Throttle Max value.
+
+
+ 6
+
+
+ 0.000100000000000
+
+
+
+ -
+
+
+ Instance 3
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Select PID option or option pair to update.
+Set to Disabled if not used.
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Select input used as a control source for this instance.
+It can be one of Accessory channels or Throttle channel.
+
+If Accessory channel is chosen then its range [0..1] will be mapped
+to PID range [Min..Max] defined for this instance.
+
+If Throttle channel is chosen then Throttle range [Min..Max] will
+be mapped to PID range [Min..Max] defined for this instance. If
+Throttle is out of bounds then PID Min and Max values will be used
+accordingly.
+
+Note that it is possible to set PID Min > Max. In that case increasing
+control input value will decrease the PID option value. This can be
+used, for instance, to decrease PID value when increasing Throttle.
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Minimum PID value mapped to Accessory channel = 0 or
+Throttle channel lesser or equal to Throttle Min value.
+
+
+ 6
+
+
+ 0.000100000000000
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Maximum PID value mapped to Accessory channel = 1 or
+Throttle channel greater or equal to Throttle Max value.
+
+
+ 6
+
+
+ 0.000100000000000
+
+
+
+ -
+
+
+ Update Mode
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ PID values update mode which can be set to:
+- Never: this disables PID updates (but module still will be run if enabled),
+- When Armed: PID updated only when system is armed,
+- Always: PID updated always regardless of arm state.
+
+Since the GCS updates GUI PID values in real time on change, could be
+tricky to change other PID values from the GUI if the module is enabled
+and constantly updates stabilization settings object. As a workaround,
+this option can be used to temporarily disable updates or enable them
+only when system is armed without disabling the module.
+
+
+
+ -
+
+
+ Throttle Range
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Throttle channel lower bound mapped to PID Min value
+
+
+ 1.000000000000000
+
+
+ 0.010000000000000
+
+
+
+ -
+
+
+ Qt::StrongFocus
+
+
+ Throttle channel upper bound mapped to PID Max value
+
+
+ 1.000000000000000
+
+
+ 0.010000000000000
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+ 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;
+
+
+ Min
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 16
+
+
+
+ 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;
+
+
+ Max
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Preferred
+
+
+
+ 20
+ 20
+
+
+
+
+
+
+
+ -
+
+
+ Messages
+
+
+
-
+
+
+
+
+
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 20
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ 4
+
+
-
+
+
+ Qt::Horizontal
+
+
+
+ 570
+ 16
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ 25
+ 25
+
+
+
+
+ 25
+ 25
+
+
+
+
+ 0
+ 0
+
+
+
+ false
+
+
+
+
+
+
+ :/core/images/helpicon.svg:/core/images/helpicon.svg
+
+
+
+ 25
+ 25
+
+
+
+ false
+
+
+ false
+
+
+ true
+
+
+
+ button:help
+ url:http://wiki.openpilot.org/x/DACiAQ
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Send settings to the board but do not save to the non-volatile memory
+
+
+
+
+
+ Apply
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Send settings to the board and save to the non-volatile memory
+
+
+
+
+
+ Save
+
+
+ false
+
+
+
+
+
+
+
+
+ Apply
+ Save
+ scrollArea
+ PID1
+ Input1
+ MinPID1
+ MaxPID1
+ PID2
+ Input2
+ MinPID2
+ MaxPID2
+ PID3
+ Input3
+ MinPID3
+ MaxPID3
+ ThrottleMin
+ ThrottleMax
+ UpdateMode
+
+
+
+
+
+