From cdc0839e6e42c1bb82d66e3d0c57961ed6df888d Mon Sep 17 00:00:00 2001 From: elafargue Date: Thu, 28 Apr 2011 16:53:00 +0200 Subject: [PATCH 1/3] Move the feed forward settings to a "Advanced" tab: not thoroughly tested yet, but feedback welcome at this stage. --- .../src/plugins/config/airframe.ui | 4124 ++++++++--------- 1 file changed, 2027 insertions(+), 2097 deletions(-) diff --git a/ground/openpilotgcs/src/plugins/config/airframe.ui b/ground/openpilotgcs/src/plugins/config/airframe.ui index 44fa5fd7b..f1ce2a0ce 100644 --- a/ground/openpilotgcs/src/plugins/config/airframe.ui +++ b/ground/openpilotgcs/src/plugins/config/airframe.ui @@ -15,275 +15,529 @@ - - - QFrame::StyledPanel + + + 0 - - QFrame::Raised - - - - 5 - - - - - - - Aircraft type: - - - - - - - - 10 - - - - Select aircraft type here - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Qt::Horizontal - - - - - - - 0 - - - - true + + + Mixer Settings + + + + 5 + + + + + + + Aircraft type: + + + + + + + + 10 + + + + Select aircraft type here + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Qt::Horizontal - - false + + + + + + 0 - - - - - - - - - - 0 - 0 - - - - Airplane type: - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 75 - true - - - - Mixer OK - - - - - - - - - Channel Assignment - - - - - - - - - QFormLayout::AllNonFixedFieldsGrow - - - - - Engine - - - - - - - - - - - 60 - 0 - - - - Aileron 1 - - - - - - - - - - false - - - - 60 - 0 - - - - Aileron 2 - - - - - - - false - - - - - - - - 67 - 0 - - - - Elevator 1 - - - - - - - - - - false - - - - 67 - 0 - - - - Elevator 2 - - - - - - - false - - - - - - - Rudder 1 - - - - - - - - - - Rudder 2 - - - - - - - - - - - - Elevon Mix - - + + + true + + + false + + + + + + + + + + + 0 + 0 + + + + Airplane type: + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Channel Assignment + + + + + + + + + QFormLayout::AllNonFixedFieldsGrow + + + + + Engine + + + + + + + + + + + 60 + 0 + + + + Aileron 1 + + + + + + + + + + false + + + + 60 + 0 + + + + Aileron 2 + + + + + + + false + + + + + + + + 67 + 0 + + + + Elevator 1 + + + + + + + + + + false + + + + 67 + 0 + + + + Elevator 2 + + + + + + + false + + + + + + + Rudder 1 + + + + + + + + + + Rudder 2 + + + + + + + + + + + + Elevon Mix + + + + + + + + + + + 65 + 0 + + + + Rudder % + + + + + + + 100 + + + 50 + + + Qt::Vertical + + + + + + + 50 + + + + + + + + + + + + 50 + 0 + + + + Pitch % + + + + + + + 100 + + + 50 + + + Qt::Vertical + + + + + + + 50 + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + - + - + + + Throttle Curve + + + + + + + Reset + + + + + + + + + + 0 + 0 + + + + + 100 + 100 + + + + + 200 + 200 + + + + + 10 + 10 + + + + + + + + Val: 0.00 + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 75 + true + + + + Mixer OK + + + + + + + + + + + + + + + + + + + Frame type: + + + + + + + Select the Multirotor frame type here. + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + + + 75 + true + + + + Mix Level + + + + + + + - - - - 65 - 0 - - + - Rudder % + 100 + + + Qt::AlignCenter - + + + Weight of Roll mixing in percent. +Typical values are 100% for + configuration and 50% for X configuration on quads. + 100 - 50 + 100 Qt::Vertical @@ -291,31 +545,79 @@ - + - 50 + R + + + Qt::AlignCenter - + - - - - 50 - 0 - - + - Pitch % + 100 + + + Qt::AlignCenter - + + + Weight of Pitch mixing in percent. +Typical values are 100% for + configuration and 50% for X configuration on quads. + + + 100 + + + 100 + + + Qt::Vertical + + + + + + + P + + + Qt::AlignCenter + + + + + + + + + + + 50 + + + Qt::AlignCenter + + + + + + + Weight of Yaw mixing in percent. +Typical value is 50% for + or X configuration on quads. + + + -100 + 100 @@ -328,9 +630,15 @@ - + + + false + - 50 + Y + + + Qt::AlignCenter @@ -338,8 +646,127 @@ + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + QLayout::SetDefaultConstraint + - + + + + + Throttle Curve + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + + 10 + + + + Reset + + + + + + + + + + 0 + 0 + + + + + 110 + 110 + + + + + + + + Val: 0.00 + + + + + + + + + + + + + + + Tricopter Yaw Ch + + + + + + + false + + + + 0 + 0 + + + + + 40 + 0 + + + + + + Qt::Vertical @@ -352,10 +779,1247 @@ + + + + + Motors + + + + 1 + + + 1 + + + + + QFormLayout::AllNonFixedFieldsGrow + + + 3 + + + + + 1 + + + + + + + + 8 + + + + <!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:'Sans'; font-size:8pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Assign your motor channels using the drawing</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">on the right as a reference. Respect propeller rotation!</p></body></html> + + + + + + + 2 + + + + + + + + 8 + + + + + + + + 3 + + + + + + + + 8 + + + + + + + + 4 + + + + + + + + 8 + + + + + + + + + + QFormLayout::AllNonFixedFieldsGrow + + + 3 + + + + + 5 + + + + + + + false + + + + 0 + 0 + + + + + 8 + + + + + + + + 6 + + + + + + + false + + + + 8 + + + + + + + + 7 + + + + + + + false + + + + 8 + + + + + + + + 8 + + + + + + + false + + + + 8 + + + + + + + + + + + + + + 0 + 0 + + + + + 110 + 110 + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 75 + true + + + + Mixer OK + + + + + + + + + + + + + 0 + + + 0 + + + + + 0 + + + + + + + + + + + + + + 2 + + + + + + + + + + + + 9 + + + + Throttle Curve 1 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 9 + + + + Reset + + + + + + + + + + 0 + 0 + + + + + 100 + 100 + + + + + 200 + 200 + + + + + + + + Val: 0.00 + + + + + + + + + + + + + + 9 + + + + Throttle Curve 2 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 9 + + + + Reset + + + + + + + + + + 0 + 0 + + + + + 100 + 100 + + + + + 200 + 200 + + + + + + + + Val: 0.00 + + + + + + + + + + + + + FeedForward + + + + + + + + 30 + 0 + + + + 000 + + + + + + + + + 100 + + + Qt::Horizontal + + + + + + + AccelTime + + + + + + + + + + DecelTime + + + + + + + + + + + + MaxAccel + + + + + + + 1000 + + + + + + + + + 500 + + + 2000 + + + 1000 + + + Qt::Horizontal + + + + + + + + + + + + 0 + 0 + + + + + 8 + + + + true + + + 50 + + + false + + + + Type + + + + + Curve 1 + + + + + Curve 2 + + + + + Roll + + + + + Pitch + + + + + Yaw + + + + + Ch 1 + + + + + Ch 2 + + + + + Ch 3 + + + + + Ch 4 + + + + + Ch 5 + + + + + Ch 6 + + + + + Ch 7 + + + + + Ch 8 + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + - + + + AlignHCenter|AlignVCenter|AlignCenter + + + + + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Retrieve settings from OpenPilot + + + Get Current + + + + + + + Send to OpenPilot but don't write in SD. + + + Apply + + + + + + + Applies and Saves all settings to SD + + + Save + + + + + + + + + + Advanced Settings + + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + + + + 75 + true + + + + Feed Forward + + + + + + + QFormLayout::AllNonFixedFieldsGrow + + + + + + + FeedForward + + + + + + + + 30 + 0 + + + + 000 + + + + + + + + + true + + + Overall level of feed forward (in percentage). + + + 100 + + + 1 + + + Qt::Horizontal + + + QSlider::NoTicks + + + + + Accel Time Constant + + + + + + + true + + + In miliseconds. +When tuning: Slowly raise accel time from zero to just +under the level where the motor starts to overshoot +its target speed. + + + 3 + + + 100.000000000000000 + + + 0.010000000000000 + + + + + + + Decel Time Constant + + + + + + + true + + + When tuning: Slowly raise decel time from zero to just +under the level where the motor starts to undershoot +its target speed when decelerating. + +Do it after accel time is setup. + + + 3 + + + 100.000000000000000 + + + 0.010000000000000 + + + + + + + + + MaxAccel + + + + + + + 1000 + + + + + + + + + Limits how much the engines can accelerate or decelerate. +In 'units per second', a sound default is 1000. + + + 500 + + + 2000 + + + 1000 + + + Qt::Horizontal + + + + + + + - + Qt::Horizontal @@ -368,66 +2032,93 @@ - - - - - - - Throttle Curve - - - - - - - Reset - - - - - - - - - - 0 - 0 - - - - - 100 - 100 - - - - - 200 - 200 - - - - - 10 - 10 - - - - - - - - Val: 0.00 - - - - + + + <!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:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<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:'Sans'; font-size:10pt;">Beware! Check </span><span style=" font-family:'Sans'; font-size:10pt; font-weight:600;">all three</span><span style=" font-family:'Sans'; font-size:10pt;"> checkboxes to test Feed Forward.</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:'Sans'; font-size:10pt;">It will run only if your airframe armed.</span></p></body></html> + + + + + + + + + + <!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:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<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:'Sans'; font-size:10pt;">Beware! Check </span><span style=" font-family:'Sans'; font-size:10pt; font-weight:600;">all three</span><span style=" font-family:'Sans'; font-size:10pt;"> checkboxes to test Feed Forward.</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:'Sans'; font-size:10pt;">It will run only if your airframe armed.</span></p></body></html> + + + + + + + + + + <!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:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<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:'Sans'; font-size:10pt;">Beware! Check </span><span style=" font-family:'Sans'; font-size:10pt; font-weight:600;">all three</span><span style=" font-family:'Sans'; font-size:10pt;"> checkboxes to test Feed Forward.</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:'Sans'; font-size:10pt;">It will run only if your airframe armed.</span></p></body></html> + + + Enable FF tuning + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + - + + + + 0 + 0 + + + + + 0 + 40 + + + + <!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:'Ubuntu'; font-size:11pt; 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 style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Beware</span><span style=" font-size:10pt;">: Feed Forward Tuning will launch all engines around mid-throttle, you have been warned!</span></p></td></tr></table></body></html> + + + + + Qt::Vertical @@ -443,1658 +2134,9 @@ - - - - - - - - - - Frame type: - - - - - - - Select the Multirotor frame type here. - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 75 - true - - - - Mixer OK - - - - - - - - - - - - - - 75 - true - - - - Mix Level - - - - - - - - - - - 100 - - - Qt::AlignCenter - - - - - - - Weight of Roll mixing in percent. -Typical values are 100% for + configuration and 50% for X configuration on quads. - - - 100 - - - 100 - - - Qt::Vertical - - - - - - - R - - - Qt::AlignCenter - - - - - - - - - - - 100 - - - Qt::AlignCenter - - - - - - - Weight of Pitch mixing in percent. -Typical values are 100% for + configuration and 50% for X configuration on quads. - - - 100 - - - 100 - - - Qt::Vertical - - - - - - - P - - - Qt::AlignCenter - - - - - - - - - - - 50 - - - Qt::AlignCenter - - - - - - - Weight of Yaw mixing in percent. -Typical value is 50% for + or X configuration on quads. - - - -100 - - - 100 - - - 50 - - - Qt::Vertical - - - - - - - false - - - Y - - - Qt::AlignCenter - - - - - - - - - - - - - - - - 75 - true - - - - Feed Forward - - - - - - - QFormLayout::AllNonFixedFieldsGrow - - - - - - - FeedForward - - - - - - - - 30 - 0 - - - - 000 - - - - - - - - - true - - - Overall level of feed forward (in percentage). - - - 100 - - - 1 - - - Qt::Horizontal - - - QSlider::NoTicks - - - - - - - Accel Time Constant - - - - - - - true - - - In miliseconds. -When tuning: Slowly raise accel time from zero to just -under the level where the motor starts to overshoot -its target speed. - - - 3 - - - 100.000000000000000 - - - 0.010000000000000 - - - - - - - Decel Time Constant - - - - - - - true - - - When tuning: Slowly raise decel time from zero to just -under the level where the motor starts to undershoot -its target speed when decelerating. - -Do it after accel time is setup. - - - 3 - - - 100.000000000000000 - - - 0.010000000000000 - - - - - - - - - MaxAccel - - - - - - - 1000 - - - - - - - - - Limits how much the engines can accelerate or decelerate. -In 'units per second', a sound default is 1000. - - - 500 - - - 2000 - - - 1000 - - - Qt::Horizontal - - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - <!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:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<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:'Sans'; font-size:10pt;">Beware! Check </span><span style=" font-family:'Sans'; font-size:10pt; font-weight:600;">all three</span><span style=" font-family:'Sans'; font-size:10pt;"> checkboxes to test Feed Forward.</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:'Sans'; font-size:10pt;">It will run only if your airframe armed.</span></p></body></html> - - - - - - - - - - <!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:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<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:'Sans'; font-size:10pt;">Beware! Check </span><span style=" font-family:'Sans'; font-size:10pt; font-weight:600;">all three</span><span style=" font-family:'Sans'; font-size:10pt;"> checkboxes to test Feed Forward.</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:'Sans'; font-size:10pt;">It will run only if your airframe armed.</span></p></body></html> - - - - - - - - - - <!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:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<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:'Sans'; font-size:10pt;">Beware! Check </span><span style=" font-family:'Sans'; font-size:10pt; font-weight:600;">all three</span><span style=" font-family:'Sans'; font-size:10pt;"> checkboxes to test Feed Forward.</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:'Sans'; font-size:10pt;">It will run only if your airframe armed.</span></p></body></html> - - - Enable FF tuning - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - 0 - 0 - - - - - 0 - 40 - - - - <!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:'Ubuntu'; font-size:11pt; 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 style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Beware</span><span style=" font-size:10pt;">: Feed Forward Tuning will launch all engines around mid-throttle, you have been warned!</span></p></td></tr></table></body></html> - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - QLayout::SetDefaultConstraint - - - - - - - Throttle Curve - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 0 - 0 - - - - - 10 - - - - Reset - - - - - - - - - - 0 - 0 - - - - - 110 - 110 - - - - - - - - Val: 0.00 - - - - - - - - - - - - - - - Cyclic Rate - - - - - - - false - - - - 0 - 0 - - - - - 40 - 0 - - - - - - - - Tricopter Yaw Ch - - - - - - - false - - - - 0 - 0 - - - - - 40 - 0 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - Motors - - - - 1 - - - 1 - - - - - QFormLayout::AllNonFixedFieldsGrow - - - 3 - - - - - 1 - - - - - - - - 8 - - - - <!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:'Sans'; font-size:8pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Assign your motor channels using the drawing</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">on the right as a reference. Respect propeller rotation!</p></body></html> - - - - - - - 2 - - - - - - - - 8 - - - - - - - - 3 - - - - - - - - 8 - - - - - - - - 4 - - - - - - - - 8 - - - - - - - - - - QFormLayout::AllNonFixedFieldsGrow - - - 3 - - - - - 5 - - - - - - - false - - - - 0 - 0 - - - - - 8 - - - - - - - - 6 - - - - - - - false - - - - 8 - - - - - - - - 7 - - - - - - - false - - - - 8 - - - - - - - - 8 - - - - - - - false - - - - 8 - - - - - - - - - - - - - - 0 - 0 - - - - - 110 - 110 - - - - - - - - - - - - - - 0 - - - 0 - - - - - 0 - - - - - - - - - - - - - - 2 - - - - - - - - - - - - 9 - - - - Throttle Curve 1 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 0 - 0 - - - - - 0 - 0 - - - - - 9 - - - - Reset - - - - - - - - - - 0 - 0 - - - - - 100 - 100 - - - - - 200 - 200 - - - - - - - - Val: 0.00 - - - - - - - - - - - - - - 9 - - - - Throttle Curve 2 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 9 - - - - Reset - - - - - - - - - - 0 - 0 - - - - - 100 - 100 - - - - - 200 - 200 - - - - - - - - Val: 0.00 - - - - - - - - - - - - - FeedForward - - - - - - - - 30 - 0 - - - - 000 - - - - - - - - - 100 - - - Qt::Horizontal - - - - - - - AccelTime - - - - - - - - - - DecelTime - - - - - - - - - - - - MaxAccel - - - - - - - 1000 - - - - - - - - - 500 - - - 2000 - - - 1000 - - - Qt::Horizontal - - - - - - - - - - - - 0 - 0 - - - - - 8 - - - - true - - - 50 - - - false - - - - Type - - - - - Curve 1 - - - - - Curve 2 - - - - - Roll - - - - - Pitch - - - - - Yaw - - - - - Ch 1 - - - - - Ch 2 - - - - - Ch 3 - - - - - Ch 4 - - - - - Ch 5 - - - - - Ch 6 - - - - - Ch 7 - - - - - Ch 8 - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - AlignHCenter|AlignVCenter|AlignCenter - - - - - - - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Retrieve settings from OpenPilot - - - Get Current - - - - - - - Send to OpenPilot but don't write in SD. - - - Apply - - - - - - - Applies and Saves all settings to SD - - - Save - - - - - - + + + @@ -2115,38 +2157,6 @@ p, li { white-space: pre-wrap; } - - elevonSlider2 - valueChanged(int) - label_25 - setNum(int) - - - 97 - 100 - - - 97 - 100 - - - - - elevonSlider1 - valueChanged(int) - label_18 - setNum(int) - - - 93 - 100 - - - 93 - 100 - - - feedForwardSlider valueChanged(int) @@ -2154,12 +2164,12 @@ p, li { white-space: pre-wrap; } setNum(int) - 118 - 91 + 248 + 103 - 118 - 91 + 146 + 107 @@ -2170,92 +2180,12 @@ p, li { white-space: pre-wrap; } setNum(int) - 118 - 91 + 272 + 214 118 - 91 - - - - - mrPitchMixLevel - valueChanged(int) - label_44 - setNum(int) - - - 95 - 91 - - - 99 - 91 - - - - - mrYawMixLevel - valueChanged(int) - label_45 - setNum(int) - - - 118 - 91 - - - 118 - 91 - - - - - mrRollMixLevel - valueChanged(int) - label_43 - setNum(int) - - - 58 - 91 - - - 62 - 91 - - - - - customFFSlider - valueChanged(int) - customFeedForwardValue - setNum(int) - - - 641 - 86 - - - 584 - 87 - - - - - customFFMaxAccel - valueChanged(int) - label_OSD - setNum(int) - - - 664 - 189 - - - 569 - 191 + 215 From 9e26d7edcc901eaaa9e741d3ece70e641cad9c47 Mon Sep 17 00:00:00 2001 From: elafargue Date: Fri, 29 Apr 2011 22:25:31 +0200 Subject: [PATCH 2/3] Feed Forward settings now moved to "Advanced" tab. Will initiate review. --- .../src/plugins/config/airframe.ui | 569 ++++++++++-------- .../plugins/config/configairframewidget.cpp | 3 + 2 files changed, 307 insertions(+), 265 deletions(-) diff --git a/ground/openpilotgcs/src/plugins/config/airframe.ui b/ground/openpilotgcs/src/plugins/config/airframe.ui index f1ce2a0ce..99a56ce09 100644 --- a/ground/openpilotgcs/src/plugins/config/airframe.ui +++ b/ground/openpilotgcs/src/plugins/config/airframe.ui @@ -19,7 +19,7 @@ 0 - + Mixer Settings @@ -1816,7 +1816,7 @@ p, li { white-space: pre-wrap; } - Send to OpenPilot but don't write in SD. + Send to board, but don't save permanently (flash or SD). Apply @@ -1826,7 +1826,7 @@ p, li { white-space: pre-wrap; } - Applies and Saves all settings to SD + Applies and Saves all settings to flash or SD depending on board. Save @@ -1843,297 +1843,336 @@ p, li { white-space: pre-wrap; } - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - - - - - 75 - true - - - - Feed Forward - - - - - - - QFormLayout::AllNonFixedFieldsGrow - - - - - - - FeedForward - - - - - - - - 30 - 0 - - - - 000 - - - - - - - - - true - - - Overall level of feed forward (in percentage). - - - 100 - - - 1 - - - Qt::Horizontal - - - QSlider::NoTicks - - - - - - - Accel Time Constant - - - - - - - true - - - In miliseconds. + + + + + + 75 + true + + + + Feed Forward + + + + + + + QFormLayout::AllNonFixedFieldsGrow + + + + + + + FeedForward + + + + + + + + 30 + 0 + + + + 000 + + + + + + + + + true + + + Overall level of feed forward (in percentage). + + + 100 + + + 1 + + + Qt::Horizontal + + + QSlider::NoTicks + + + + + + + Accel Time Constant + + + + + + + true + + + In miliseconds. When tuning: Slowly raise accel time from zero to just under the level where the motor starts to overshoot its target speed. - - - 3 - - - 100.000000000000000 - - - 0.010000000000000 - - - - - - - Decel Time Constant - - - - - - - true - - - When tuning: Slowly raise decel time from zero to just + + + 3 + + + 100.000000000000000 + + + 0.010000000000000 + + + + + + + Decel Time Constant + + + + + + + true + + + When tuning: Slowly raise decel time from zero to just under the level where the motor starts to undershoot its target speed when decelerating. Do it after accel time is setup. - - - 3 - - - 100.000000000000000 - - - 0.010000000000000 - - - - - - - - - MaxAccel - - - - - - - 1000 - - - - - - - - - Limits how much the engines can accelerate or decelerate. + + + 3 + + + 100.000000000000000 + + + 0.010000000000000 + + + + + + + + + MaxAccel + + + + + + + 1000 + + + + + + + + + Limits how much the engines can accelerate or decelerate. In 'units per second', a sound default is 1000. - - - 500 - - - 2000 - - - 1000 - - - Qt::Horizontal - - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + 500 + + + 2000 + + + 1000 + + + Qt::Horizontal + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + <!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:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <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:'Sans'; font-size:10pt;">Beware! Check </span><span style=" font-family:'Sans'; font-size:10pt; font-weight:600;">all three</span><span style=" font-family:'Sans'; font-size:10pt;"> checkboxes to test Feed Forward.</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:'Sans'; font-size:10pt;">It will run only if your airframe armed.</span></p></body></html> - - - - - - - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + + + + + + + + <!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:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <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:'Sans'; font-size:10pt;">Beware! Check </span><span style=" font-family:'Sans'; font-size:10pt; font-weight:600;">all three</span><span style=" font-family:'Sans'; font-size:10pt;"> checkboxes to test Feed Forward.</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:'Sans'; font-size:10pt;">It will run only if your airframe armed.</span></p></body></html> - - - - - - - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + + + + + + + + <!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:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <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:'Sans'; font-size:10pt;">Beware! Check </span><span style=" font-family:'Sans'; font-size:10pt; font-weight:600;">all three</span><span style=" font-family:'Sans'; font-size:10pt;"> checkboxes to test Feed Forward.</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:'Sans'; font-size:10pt;">It will run only if your airframe armed.</span></p></body></html> - - - Enable FF tuning - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - 0 - 0 - - - - - 0 - 40 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + + Enable FF tuning + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + 0 + 0 + + + + + 0 + 40 + + + + <!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:'Ubuntu'; font-size:11pt; 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 style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Beware</span><span style=" font-size:10pt;">: Feed Forward Tuning will launch all engines around mid-throttle, you have been warned!</span></p></td></tr></table></body></html> - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600; color:#ff0000;">SETTING UP FEED FORWARD IS DANGEROUS</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;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">Beware</span><span style=" font-size:10pt;">: Feed Forward Tuning will launch all engines around mid-throttle, you have been warned!</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">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> + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Request current settings from the board. + + + Get Current + + + + + + + Send to board, but don't save permanently (flash or SD). + + + Apply + + + + + + + Applies and Saves all settings to flash or SD depending on board. + + + Save + + + + + + diff --git a/ground/openpilotgcs/src/plugins/config/configairframewidget.cpp b/ground/openpilotgcs/src/plugins/config/configairframewidget.cpp index 0b2d9f819..70b4f6f14 100644 --- a/ground/openpilotgcs/src/plugins/config/configairframewidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configairframewidget.cpp @@ -165,6 +165,9 @@ ConfigAirframeWidget::ConfigAirframeWidget(QWidget *parent) : ConfigTaskWidget(p connect(m_aircraft->saveAircraftToSD, SIGNAL(clicked()), this, SLOT(saveAircraftUpdate())); connect(m_aircraft->saveAircraftToRAM, SIGNAL(clicked()), this, SLOT(sendAircraftUpdate())); connect(m_aircraft->getAircraftCurrent, SIGNAL(clicked()), this, SLOT(requestAircraftUpdate())); + connect(m_aircraft->ffSave, SIGNAL(clicked()), this, SLOT(saveAircraftUpdate())); + connect(m_aircraft->ffApply, SIGNAL(clicked()), this, SLOT(sendAircraftUpdate())); + connect(m_aircraft->ffGetCurrent, SIGNAL(clicked()), this, SLOT(requestAircraftUpdate())); connect(m_aircraft->fixedWingType, SIGNAL(currentIndexChanged(QString)), this, SLOT(setupAirframeUI(QString))); connect(m_aircraft->multirotorFrameType, SIGNAL(currentIndexChanged(QString)), this, SLOT(setupAirframeUI(QString))); connect(m_aircraft->aircraftType, SIGNAL(currentIndexChanged(int)), this, SLOT(switchAirframeType(int))); From 61e8df8b20ff965b0a56a1aae17e09d1ff1f3072 Mon Sep 17 00:00:00 2001 From: elafargue Date: Fri, 29 Apr 2011 22:39:24 +0200 Subject: [PATCH 3/3] Implemented stabilization tuning UI improvements as per OP-429. --- .../config/configstabilizationwidget.cpp | 5 - .../config/configstabilizationwidget.h | 1 - .../src/plugins/config/stabilization.ui | 1100 ++++++++--------- 3 files changed, 531 insertions(+), 575 deletions(-) diff --git a/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.cpp b/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.cpp index c27e1f34f..1005c178a 100644 --- a/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.cpp @@ -49,7 +49,6 @@ ConfigStabilizationWidget::ConfigStabilizationWidget(QWidget *parent) : ConfigTa connect(m_stabilization->saveStabilizationToSD, SIGNAL(clicked()), this, SLOT(saveStabilizationUpdate())); connect(m_stabilization->saveStabilizationToRAM, SIGNAL(clicked()), this, SLOT(sendStabilizationUpdate())); connect(m_stabilization->getStabilizationCurrent, SIGNAL(clicked()), this, SLOT(requestStabilizationUpdate())); - connect(m_stabilization->resetStabilizationToDefaults, SIGNAL(clicked()), this, SLOT(resetStabilizationToDefaults())); connect(parent, SIGNAL(autopilotConnected()),this, SLOT(requestStabilizationUpdate())); @@ -269,10 +268,6 @@ void ConfigStabilizationWidget::saveStabilizationUpdate() } -void ConfigStabilizationWidget::resetStabilizationToDefaults() -{ -} - void ConfigStabilizationWidget::realtimeUpdateToggle(bool state) { if (state) diff --git a/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.h b/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.h index b9212df8c..557aa263a 100644 --- a/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.h +++ b/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.h @@ -55,7 +55,6 @@ private slots: void requestStabilizationUpdate(); void sendStabilizationUpdate(); void saveStabilizationUpdate(); - void resetStabilizationToDefaults(); void realtimeUpdateToggle(bool); void updateRateRollKP(double); diff --git a/ground/openpilotgcs/src/plugins/config/stabilization.ui b/ground/openpilotgcs/src/plugins/config/stabilization.ui index 6d690d8e0..a643cde0e 100644 --- a/ground/openpilotgcs/src/plugins/config/stabilization.ui +++ b/ground/openpilotgcs/src/plugins/config/stabilization.ui @@ -15,580 +15,555 @@ - - - 0 - - - - PI Factors - - - - - - - - - - Rate Stabilization (inner loop) - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Hint: read the toolips! - - - - - - - - - First, work on rate stabilization. - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - - Roll - - - - - - - Slowly raise Kp until you start seeing clear oscillations when you fly. -Then lower the value by 20% or so. - - - 6 - - - 0.000100000000000 - - - - - - - Pitch - - - - - - - Slowly raise Kp until you start seeing clear oscillations when you fly. -Then lower the value by 20% or so. - - - 6 - - - 0.000100000000000 - - - - - - - Kp - - - Qt::AlignCenter - - - - - - - I factor for rate stabilization is usually very low or even zero. - - - 6 - - - 0.000100000000000 - - - - - - - I factor for rate stabilization is usually very low or even zero. - - - 6 - - - 0.000100000000000 - - - - - - - Ki - - - Qt::AlignCenter - - - - - - - 6 - - - 0.000100000000000 - - - - - - - 6 - - - 0.000100000000000 - - - - - - - ILimit - - - Qt::AlignCenter - - - - - - - If checked, the Roll and Pitch factors will be identical. -When you change one, the other is updated. - - - Link - - - - - - - Yaw - - - - - - - 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. - - - 6 - - - 0.000100000000000 - - - - - - - As a rule of thumb, you can set YawRate Ki at roughly the same -value as YawRate Kp. - - - 6 - - - 0.000100000000000 - - - - - - - 6 - - - 0.000100000000000 - - - - - - - - - - Attitude Stabilization (outer loop) - - - - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - - If checked, the Roll and Pitch factors will be identical. -When you change one, the other is updated. - - - Link - - - - - - - Roll - - - - - - - Pitch - - - - - - - Yaw - - - - - - - Once Rate stabilization is done, you should increase the Kp factor until the airframe oscillates again, and go back down 20% or so. - - - - 6 - - - 0.100000000000000 - - - - - - - Once Rate stabilization is done, you should increase the Kp factor until the airframe oscillates again, and go back down 20% or so. - - - - 6 - - - 0.100000000000000 - - - - - - - Once Rate stabilization is done, you should increase the Kp factor until the airframe oscillates again, and go back down 20% or so. - - - - 6 - - - 0.100000000000000 - - - - - - - Ki can usually be almost identical to Kp. - - - 6 - - - 0.100000000000000 - - - - - - - Ki can usually be almost identical to Kp. - - - 6 - - - 0.100000000000000 - - - - - - - Ki can usually be almost identical to Kp. - - - 6 - - - 0.100000000000000 - - - - - - - ILimit can be equal to three to four times Ki, but you can adjust -depending on whether your airframe is well balanced, and your -flying style. - - - 6 - - - 0.100000000000000 - - - - - - - ILimit can be equal to three to four times Ki, but you can adjust -depending on whether your airframe is well balanced, and your -flying style. - - - 6 - - - 0.100000000000000 - - - - - - - ILimit can be equal to three to four times Ki, but you can adjust -depending on whether your airframe is well balanced, and your -flying style. - - - 6 - - - 0.100000000000000 - - - - - - - Kp - - - Qt::AlignCenter - - - - - - - Ki - - - Qt::AlignCenter - - - - - - - ILimit - - - Qt::AlignCenter - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - If you check this, the GCS will udpate the stabilization factors -automatically every 300ms, which will help for fast tuning. - - - Update in real time - - - - - - - - - - Limits - - - - - - Angle limits - - + + + + + + - - - In this area, you can setup the limits for roll, pitch and yaw in attitude mode, i.e. what max attitude the airframe will reach if the sticks are pushed to the max. + + + Rate Stabilization (inner loop) - - QFrame::StyledPanel - - - QFrame::Raised - - - - QFormLayout::AllNonFixedFieldsGrow - - - - - RollMax - - - - - - - 180 - - - - - - - PitchMax - - - - - - - 180 - - - - - - - YawMax - - - - - - - 180 - - - - - + - Qt::Vertical + Qt::Horizontal - 20 - 40 + 40 + 20 + + + + Hint: read the toolips! + + + - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - + + + + + First, work on rate stabilization. + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + Roll + + + + + + + Slowly raise Kp until you start seeing clear oscillations when you fly. +Then lower the value by 20% or so. + + + 6 + + + 0.000100000000000 + + + + + + + Pitch + + + + + + + Slowly raise Kp until you start seeing clear oscillations when you fly. +Then lower the value by 20% or so. + + + 6 + + + 0.000100000000000 + + + + + + + Kp + + + Qt::AlignCenter + + + + + + + I factor for rate stabilization is usually very low or even zero. + + + 6 + + + 0.000100000000000 + + + + + + + I factor for rate stabilization is usually very low or even zero. + + + 6 + + + 0.000100000000000 + + + + + + + Ki + + + Qt::AlignCenter + + + + + + + 6 + + + 0.000100000000000 + + + + + + + 6 + + + 0.000100000000000 + + + + + + + ILimit + + + Qt::AlignCenter + + + + + + + If checked, the Roll and Pitch factors will be identical. +When you change one, the other is updated. + + + Link + + + + + + + Yaw + + + + + + + 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. + + + 6 + + + 0.000100000000000 + + + + + + + As a rule of thumb, you can set YawRate Ki at roughly the same +value as YawRate Kp. + + + 6 + + + 0.000100000000000 + + + + + + + 6 + + + 0.000100000000000 + + + + + + + + + + Attitude Stabilization (outer loop) + + + + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + If checked, the Roll and Pitch factors will be identical. +When you change one, the other is updated. + + + Link + + + + + + + Roll + + + + + + + Pitch + + + + + + + Yaw + + + + + + + Once Rate stabilization is done, you should increase the Kp factor until the airframe oscillates again, and go back down 20% or so. + + + + 6 + + + 0.100000000000000 + + + + + + + Once Rate stabilization is done, you should increase the Kp factor until the airframe oscillates again, and go back down 20% or so. + + + + 6 + + + 0.100000000000000 + + + + + + + Once Rate stabilization is done, you should increase the Kp factor until the airframe oscillates again, and go back down 20% or so. + + + + 6 + + + 0.100000000000000 + + + + + + + Ki can usually be almost identical to Kp. + + + 6 + + + 0.100000000000000 + + + + + + + Ki can usually be almost identical to Kp. + + + 6 + + + 0.100000000000000 + + + + + + + Ki can usually be almost identical to Kp. + + + 6 + + + 0.100000000000000 + + + + + + + ILimit can be equal to three to four times Ki, but you can adjust +depending on whether your airframe is well balanced, and your +flying style. + + + 6 + + + 0.100000000000000 + + + + + + + ILimit can be equal to three to four times Ki, but you can adjust +depending on whether your airframe is well balanced, and your +flying style. + + + 6 + + + 0.100000000000000 + + + + + + + ILimit can be equal to three to four times Ki, but you can adjust +depending on whether your airframe is well balanced, and your +flying style. + + + 6 + + + 0.100000000000000 + + + + + + + Kp + + + Qt::AlignCenter + + + + + + + Ki + + + Qt::AlignCenter + + + + + + + ILimit + + + Qt::AlignCenter + + + + + + + + + + + + + + + 75 + true + + + + Angle Limits: + + + + + + + RollMax + + + + + + + 180 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + PitchMax + + + + + + + 180 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + YawMax + + + + + + + 180 + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + If you check this, the GCS will udpate the stabilization factors +automatically every 300ms, which will help for fast tuning. + + + Update in real time + + + @@ -602,19 +577,6 @@ automatically every 300ms, which will help for fast tuning. - - - - false - - - Not implemented yet. - - - Reset to defaults - - -