From 3727de5de4e4729ed2c471fcb08b32ab66ff40a6 Mon Sep 17 00:00:00 2001 From: m_thread Date: Wed, 8 Oct 2014 00:55:35 +0200 Subject: [PATCH] OP-1525 Added curve and slider for StickExpo. Added Piro comp setting. --- .../plugins/config/config_dependencies.pri | 1 + .../config/configstabilizationwidget.cpp | 44 +- .../config/configstabilizationwidget.h | 10 +- .../src/plugins/config/stabilization.ui | 4663 +++++++++-------- 4 files changed, 2524 insertions(+), 2194 deletions(-) diff --git a/ground/openpilotgcs/src/plugins/config/config_dependencies.pri b/ground/openpilotgcs/src/plugins/config/config_dependencies.pri index 9e5d4e4e7..d8117e555 100644 --- a/ground/openpilotgcs/src/plugins/config/config_dependencies.pri +++ b/ground/openpilotgcs/src/plugins/config/config_dependencies.pri @@ -7,3 +7,4 @@ include(../../plugins/uavobjectutil/uavobjectutil.pri) include(../../plugins/uavsettingsimportexport/uavsettingsimportexport.pri) include(../../plugins/uavobjectwidgetutils/uavobjectwidgetutils.pri) include(../../libs/version_info/version_info.pri) +include(../../libs/qwt/qwt.pri) diff --git a/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.cpp b/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.cpp index c36ba48e6..bac5ac00a 100644 --- a/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.cpp @@ -45,7 +45,7 @@ #include "qwt/src/qwt.h" #include "qwt/src/qwt_plot.h" -#include "qwt/src/qwt_plot_curve.h" +#include "qwt/src/qwt_plot_canvas.h" ConfigStabilizationWidget::ConfigStabilizationWidget(QWidget *parent) : ConfigTaskWidget(parent), boardModel(0), m_pidBankCount(0), m_currentPIDBank(0) @@ -53,6 +53,8 @@ ConfigStabilizationWidget::ConfigStabilizationWidget(QWidget *parent) : ConfigTa ui = new Ui_StabilizationWidget(); ui->setupUi(this); + setupExpoPlot(); + StabilizationSettings *stabSettings = qobject_cast(getObject("StabilizationSettings")); Q_ASSERT(stabSettings); @@ -148,6 +150,8 @@ ConfigStabilizationWidget::ConfigStabilizationWidget(QWidget *parent) : ConfigTa connect(this, SIGNAL(autoPilotConnected()), this, SLOT(onBoardConnected())); + connect(ui->expoSpinner, SIGNAL(valueChanged(int)), this, SLOT(replotExpo(int))); + disableMouseWheelEvents(); updateEnableControls(); } @@ -222,6 +226,25 @@ void ConfigStabilizationWidget::updateObjectFromThrottleCurve() field->setValue(ui->enableThrustPIDScalingCheckBox->isChecked() ? "TRUE" : "FALSE"); } +void ConfigStabilizationWidget::setupExpoPlot() +{ + ui->expoPlot->setMouseTracking(false); + ui->expoPlot->setAxisScale(QwtPlot::xBottom, 0.0, 1.0, 0.25); + ui->expoPlot->setAxisScale(QwtPlot::yLeft, 0.0, 1.0, 0.25); + ui->expoPlot->canvas()->setFrameShape(QFrame::NoFrame); + + m_expoPlotCurve.setRenderHint(QwtPlotCurve::RenderAntialiased); + m_expoPlotCurve.attach(ui->expoPlot); + + m_plotGrid.setMajPen(QColor(Qt::gray)); + m_plotGrid.setMinPen(QColor(Qt::lightGray)); + m_plotGrid.enableXMin(false); + m_plotGrid.enableYMin(false); + m_plotGrid.attach(ui->expoPlot); + + replotExpo(ui->expoSpinner->value()); +} + void ConfigStabilizationWidget::resetThrottleCurveToDefault() { UAVDataObject *defaultStabBank = (UAVDataObject *)getObjectManager()->getObject(QString(m_pidTabBars.at(0)->tabData(m_currentPIDBank).toString())); @@ -254,6 +277,25 @@ void ConfigStabilizationWidget::throttleCurveUpdated() setDirty(true); } +void ConfigStabilizationWidget::replotExpo(int value) +{ + double x[EXPO_CURVE_POINTS] = {0}; + double y[EXPO_CURVE_POINTS] = {0}; + double factor = pow(1.03293, value); + double step = 1.0 / (EXPO_CURVE_POINTS - 1); + for (int i = 0; i < EXPO_CURVE_POINTS; i++) { + x[i] = i * step; + y[i] = pow(x[i], factor); + qDebug() << "x=" << x[i] << ",y=" << y[i]; + } + m_expoPlotCurve.setSamples(x, y, EXPO_CURVE_POINTS); + int hue = 255 - ((value + 100) / 200.0 * 255); + qDebug() << "hue" << hue; + m_expoPlotCurve.setPen(QPen(QColor::fromHsl(hue, 200, 128), 3)); + m_expoPlotCurve.show(); + ui->expoPlot->replot(); +} + void ConfigStabilizationWidget::realtimeUpdatesSlot(bool value) { ui->realTimeUpdates_6->setChecked(value); diff --git a/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.h b/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.h index f8409c050..572b95792 100644 --- a/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.h +++ b/ground/openpilotgcs/src/plugins/config/configstabilizationwidget.h @@ -35,7 +35,8 @@ #include "stabilizationsettings.h" #include #include - +#include "qwt/src/qwt_plot_curve.h" +#include "qwt/src/qwt_plot_grid.h" class ConfigStabilizationWidget : public ConfigTaskWidget { Q_OBJECT @@ -54,12 +55,18 @@ private: // Milliseconds between automatic 'Instant Updates' static const int AUTOMATIC_UPDATE_RATE = 500; + static const int EXPO_CURVE_POINTS = 100; + int boardModel; int m_pidBankCount; int m_currentPIDBank; + QwtPlotCurve m_expoPlotCurve; + QwtPlotGrid m_plotGrid; + void updateThrottleCurveFromObject(); void updateObjectFromThrottleCurve(); + void setupExpoPlot(); protected: QString mapObjectName(const QString objectName); @@ -75,5 +82,6 @@ private slots: void pidBankChanged(int index); void resetThrottleCurveToDefault(); void throttleCurveUpdated(); + void replotExpo(int value); }; #endif // ConfigStabilizationWidget_H diff --git a/ground/openpilotgcs/src/plugins/config/stabilization.ui b/ground/openpilotgcs/src/plugins/config/stabilization.ui index 8855b23f5..2eeb63884 100644 --- a/ground/openpilotgcs/src/plugins/config/stabilization.ui +++ b/ground/openpilotgcs/src/plugins/config/stabilization.ui @@ -6,8 +6,8 @@ 0 0 - 981 - 843 + 1040 + 865 @@ -95,7 +95,7 @@ QTabWidget::Rounded - 1 + 0 false @@ -136,8 +136,8 @@ 0 0 - 959 - 757 + 1018 + 779 @@ -166,2065 +166,28 @@ margin-top: -1px; - - - + + + + 0 + 295 + - - Responsiveness + + + 16777215 + 295 + - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - false - - - false - - - - 9 - + - 9 + 1 - - 9 - - - 9 - - - - - - 0 - 0 - - - - Reset all values to GCS defaults - - - Default - - - - objname:StabilizationSettings - button:default - buttongroup:6 - - - - - - - - Use Basic Configuration - - - true - - - - - - - - 0 - - - 0 - - - 0 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 0 - 25 - - - - <html><head/><body><p>The Rate mode slider can be adjusted to value ranges whose responsiveness is represented by the Moderate / Snappy / Insane bar</p></body></html> - - - 100 - - - 800 - - - 400 - - - Qt::Horizontal - - - QSlider::TicksBelow - - - 20 - - - - objname:StabilizationSettingsBankX - fieldname:ManualRate - element:Roll - haslimits:no - scale:1 - buttongroup:6,20 - - - - - - - - - 60 - 22 - - - - - 60 - 22 - - - - 10 - - - 180 - - - 83 - - - - objname:StabilizationSettingsBankX - fieldname:RollMax - haslimits:no - scale:1 - buttongroup:6,20 - - - - - - - - - 60 - 22 - - - - - 60 - 22 - - - - 100 - - - 800 - - - 400 - - - - objname:StabilizationSettingsBankX - fieldname:ManualRate - element:Yaw - haslimits:no - scale:1 - buttongroup:6,20 - - - - - - - - - 78 - 16 - - - - Attitude mode - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - 0 - 20 - - - - - - - - - 255 - 255 - 255 - - - - - - - - - 200 - 14 - 14 - - - - - 160 - 6 - 6 - - - - - - - - - 58 - 58 - 58 - - - - - - - 48 - 48 - 48 - - - - - - - 19 - 19 - 19 - - - - - - - 26 - 26 - 26 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 200 - 14 - 14 - - - - - 160 - 6 - 6 - - - - - - - - - - - 200 - 14 - 14 - - - - - 160 - 6 - 6 - - - - - - - - - 0 - 0 - 0 - - - - - - - 19 - 19 - 19 - - - - - - - 255 - 255 - 220 - - - - - - - 0 - 0 - 0 - - - - - - - - - 255 - 255 - 255 - - - - - - - - - 200 - 14 - 14 - - - - - 160 - 6 - 6 - - - - - - - - - 58 - 58 - 58 - - - - - - - 48 - 48 - 48 - - - - - - - 19 - 19 - 19 - - - - - - - 26 - 26 - 26 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 200 - 14 - 14 - - - - - 160 - 6 - 6 - - - - - - - - - - - 200 - 14 - 14 - - - - - 160 - 6 - 6 - - - - - - - - - 0 - 0 - 0 - - - - - - - 19 - 19 - 19 - - - - - - - 255 - 255 - 220 - - - - - - - 0 - 0 - 0 - - - - - - - - - 255 - 255 - 255 - - - - - - - - - 200 - 14 - 14 - - - - - 160 - 6 - 6 - - - - - - - - - 58 - 58 - 58 - - - - - - - 48 - 48 - 48 - - - - - - - 19 - 19 - 19 - - - - - - - 26 - 26 - 26 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 200 - 14 - 14 - - - - - 160 - 6 - 6 - - - - - - - - - - - 200 - 14 - 14 - - - - - 160 - 6 - 6 - - - - - - - - - 0 - 0 - 0 - - - - - - - 39 - 39 - 39 - - - - - - - 255 - 255 - 220 - - - - - - - 0 - 0 - 0 - - - - - - - - - 75 - true - - - - Damn this is insane how quick it moves. Mostly used by the Pro's - - - false - - - background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(200, 14, 14, 255), stop:0.78607 rgba(160 , 6, 6 , 255)); -color: rgb(255, 255, 255); -border-radius: 5; - - - Insane - - - Qt::AlignCenter - - - - - - - - 0 - 25 - - - - <html><head/><body><p>The Rate mode Yaw slider can be adjusted to value ranges whose responsiveness is represented by the Moderate / Snappy / Insane bar</p></body></html> - - - 100 - - - 800 - - - 400 - - - Qt::Horizontal - - - QSlider::TicksBelow - - - 20 - - - - objname:StabilizationSettingsBankX - fieldname:ManualRate - element:Yaw - haslimits:no - scale:1 - buttongroup:6,20 - - - - - - - - - 0 - 25 - - - - <html><head/><body><p>The Attitude Mode slider can be adjusted to value ranges whose responsivness is represented by the Moderate / Snappy / Insane bar</p></body></html> - - - 10 - - - 180 - - - 1 - - - 83 - - - Qt::Horizontal - - - QSlider::TicksBelow - - - 10 - - - - objname:StabilizationSettingsBankX - fieldname:RollMax - haslimits:no - scale:1 - buttongroup:6,20 - - - - - - - - - 60 - 22 - - - - - 60 - 22 - - - - 100 - - - 800 - - - 400 - - - - objname:StabilizationSettingsBankX - fieldname:ManualRate - element:Roll - haslimits:no - scale:1 - buttongroup:6,20 - - - - - - - - - 78 - 16 - - - - Rate mode - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 110 - 16 - - - - Rate mode yaw - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - 0 - 20 - - - - - - - - - 255 - 255 - 255 - - - - - - - - - 34 - 34 - 200 - - - - - 6 - 6 - 150 - - - - - - - - - 58 - 58 - 58 - - - - - - - 48 - 48 - 48 - - - - - - - 19 - 19 - 19 - - - - - - - 26 - 26 - 26 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 34 - 34 - 200 - - - - - 6 - 6 - 150 - - - - - - - - - - - 34 - 34 - 200 - - - - - 6 - 6 - 150 - - - - - - - - - 0 - 0 - 0 - - - - - - - 19 - 19 - 19 - - - - - - - 255 - 255 - 220 - - - - - - - 0 - 0 - 0 - - - - - - - - - 255 - 255 - 255 - - - - - - - - - 34 - 34 - 200 - - - - - 6 - 6 - 150 - - - - - - - - - 58 - 58 - 58 - - - - - - - 48 - 48 - 48 - - - - - - - 19 - 19 - 19 - - - - - - - 26 - 26 - 26 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 34 - 34 - 200 - - - - - 6 - 6 - 150 - - - - - - - - - - - 34 - 34 - 200 - - - - - 6 - 6 - 150 - - - - - - - - - 0 - 0 - 0 - - - - - - - 19 - 19 - 19 - - - - - - - 255 - 255 - 220 - - - - - - - 0 - 0 - 0 - - - - - - - - - 255 - 255 - 255 - - - - - - - - - 34 - 34 - 200 - - - - - 6 - 6 - 150 - - - - - - - - - 58 - 58 - 58 - - - - - - - 48 - 48 - 48 - - - - - - - 19 - 19 - 19 - - - - - - - 26 - 26 - 26 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 34 - 34 - 200 - - - - - 6 - 6 - 150 - - - - - - - - - - - 34 - 34 - 200 - - - - - 6 - 6 - 150 - - - - - - - - - 0 - 0 - 0 - - - - - - - 39 - 39 - 39 - - - - - - - 255 - 255 - 220 - - - - - - - 0 - 0 - 0 - - - - - - - - - 75 - true - - - - Lazy Sunday afternoon flying, fly's nice and stable - - - false - - - background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(34, 34, 200, 255), stop:0.78607 rgba(6, 6, 150, 255)); -color: rgb(255, 255, 255); -border-radius: 5; - - - Moderate - - - Qt::AlignCenter - - - - - - - - 0 - 0 - - - - - 0 - 20 - - - - - - - - - 255 - 255 - 255 - - - - - - - - - 14 - 200 - 14 - - - - - 6 - 150 - 6 - - - - - - - - - 58 - 58 - 58 - - - - - - - 48 - 48 - 48 - - - - - - - 19 - 19 - 19 - - - - - - - 26 - 26 - 26 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 14 - 200 - 14 - - - - - 6 - 150 - 6 - - - - - - - - - - - 14 - 200 - 14 - - - - - 6 - 150 - 6 - - - - - - - - - 0 - 0 - 0 - - - - - - - 19 - 19 - 19 - - - - - - - 255 - 255 - 220 - - - - - - - 0 - 0 - 0 - - - - - - - - - 255 - 255 - 255 - - - - - - - - - 14 - 200 - 14 - - - - - 6 - 150 - 6 - - - - - - - - - 58 - 58 - 58 - - - - - - - 48 - 48 - 48 - - - - - - - 19 - 19 - 19 - - - - - - - 26 - 26 - 26 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 14 - 200 - 14 - - - - - 6 - 150 - 6 - - - - - - - - - - - 14 - 200 - 14 - - - - - 6 - 150 - 6 - - - - - - - - - 0 - 0 - 0 - - - - - - - 19 - 19 - 19 - - - - - - - 255 - 255 - 220 - - - - - - - 0 - 0 - 0 - - - - - - - - - 255 - 255 - 255 - - - - - - - - - 14 - 200 - 14 - - - - - 6 - 150 - 6 - - - - - - - - - 58 - 58 - 58 - - - - - - - 48 - 48 - 48 - - - - - - - 19 - 19 - 19 - - - - - - - 26 - 26 - 26 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 14 - 200 - 14 - - - - - 6 - 150 - 6 - - - - - - - - - - - 14 - 200 - 14 - - - - - 6 - 150 - 6 - - - - - - - - - 0 - 0 - 0 - - - - - - - 39 - 39 - 39 - - - - - - - 255 - 255 - 220 - - - - - - - 0 - 0 - 0 - - - - - - - - - 75 - true - - - - This thing really can preform, it is a lot more responsive this way - - - false - - - background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(14, 200, 14, 255), stop:0.78607 rgba(6, 150, 6 , 255)); -color: rgb(255, 255, 255); -border-radius: 5; - - - Snappy - - - Qt::AlignCenter - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - - Acro+ - - - - - - - 0 - 0 - - + + - 0 + 550 0 @@ -2234,125 +197,2331 @@ border-radius: 5; 16777215 - - Reset all values to GCS defaults - - - false - - - Default + + Responsiveness - - - button:default - buttongroup:77 - + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + false + + + false + + + + 9 + + + 9 + + + 9 + + + 9 + + + + + + 0 + 0 + + + + Reset all values to GCS defaults + + + Default + + + + objname:StabilizationSettings + button:default + buttongroup:6 + + + + + + + + Use Basic Configuration + + + true + + + + + + + + 0 + + + 0 + + + 0 + + + + + + 0 + 25 + + + + <html><head/><body><p>The Rate mode slider can be adjusted to value ranges whose responsiveness is represented by the Moderate / Snappy / Insane bar</p></body></html> + + + 100 + + + 800 + + + 400 + + + Qt::Horizontal + + + QSlider::TicksBelow + + + 20 + + + + objname:StabilizationSettingsBankX + fieldname:ManualRate + element:Roll + haslimits:no + scale:1 + buttongroup:6,20 + + + + + + + + + 60 + 22 + + + + + 60 + 22 + + + + 10 + + + 180 + + + 83 + + + + objname:StabilizationSettingsBankX + fieldname:RollMax + haslimits:no + scale:1 + buttongroup:6,20 + + + + + + + + + 60 + 22 + + + + + 60 + 22 + + + + 100 + + + 800 + + + 400 + + + + objname:StabilizationSettingsBankX + fieldname:ManualRate + element:Yaw + haslimits:no + scale:1 + buttongroup:6,20 + + + + + + + + + 0 + 0 + + + + + 80 + 16 + + + + Attitude + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 0 + 20 + + + + + + + + + 255 + 255 + 255 + + + + + + + + + 200 + 14 + 14 + + + + + 160 + 6 + 6 + + + + + + + + + 58 + 58 + 58 + + + + + + + 48 + 48 + 48 + + + + + + + 19 + 19 + 19 + + + + + + + 26 + 26 + 26 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + + + 200 + 14 + 14 + + + + + 160 + 6 + 6 + + + + + + + + + + + 200 + 14 + 14 + + + + + 160 + 6 + 6 + + + + + + + + + 0 + 0 + 0 + + + + + + + 19 + 19 + 19 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 255 + 255 + 255 + + + + + + + + + 200 + 14 + 14 + + + + + 160 + 6 + 6 + + + + + + + + + 58 + 58 + 58 + + + + + + + 48 + 48 + 48 + + + + + + + 19 + 19 + 19 + + + + + + + 26 + 26 + 26 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + + + 200 + 14 + 14 + + + + + 160 + 6 + 6 + + + + + + + + + + + 200 + 14 + 14 + + + + + 160 + 6 + 6 + + + + + + + + + 0 + 0 + 0 + + + + + + + 19 + 19 + 19 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 255 + 255 + 255 + + + + + + + + + 200 + 14 + 14 + + + + + 160 + 6 + 6 + + + + + + + + + 58 + 58 + 58 + + + + + + + 48 + 48 + 48 + + + + + + + 19 + 19 + 19 + + + + + + + 26 + 26 + 26 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + + + 200 + 14 + 14 + + + + + 160 + 6 + 6 + + + + + + + + + + + 200 + 14 + 14 + + + + + 160 + 6 + 6 + + + + + + + + + 0 + 0 + 0 + + + + + + + 39 + 39 + 39 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 75 + true + + + + Damn this is insane how quick it moves. Mostly used by the Pro's + + + false + + + background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(200, 14, 14, 255), stop:0.78607 rgba(160 , 6, 6 , 255)); +color: rgb(255, 255, 255); +border-radius: 5; + + + Insane + + + Qt::AlignCenter + + + + + + + + 0 + 25 + + + + <html><head/><body><p>The Rate mode Yaw slider can be adjusted to value ranges whose responsiveness is represented by the Moderate / Snappy / Insane bar</p></body></html> + + + 100 + + + 800 + + + 400 + + + Qt::Horizontal + + + QSlider::TicksBelow + + + 20 + + + + objname:StabilizationSettingsBankX + fieldname:ManualRate + element:Yaw + haslimits:no + scale:1 + buttongroup:6,20 + + + + + + + + + 0 + 25 + + + + <html><head/><body><p>The Attitude Mode slider can be adjusted to value ranges whose responsivness is represented by the Moderate / Snappy / Insane bar</p></body></html> + + + 10 + + + 180 + + + 1 + + + 83 + + + Qt::Horizontal + + + QSlider::TicksBelow + + + 10 + + + + objname:StabilizationSettingsBankX + fieldname:RollMax + haslimits:no + scale:1 + buttongroup:6,20 + + + + + + + + + 60 + 22 + + + + + 60 + 22 + + + + 100 + + + 800 + + + 400 + + + + objname:StabilizationSettingsBankX + fieldname:ManualRate + element:Roll + haslimits:no + scale:1 + buttongroup:6,20 + + + + + + + + + 0 + 0 + + + + + 80 + 16 + + + + Rate + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 80 + 16 + + + + Rate yaw + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 0 + 20 + + + + + + + + + 255 + 255 + 255 + + + + + + + + + 34 + 34 + 200 + + + + + 6 + 6 + 150 + + + + + + + + + 58 + 58 + 58 + + + + + + + 48 + 48 + 48 + + + + + + + 19 + 19 + 19 + + + + + + + 26 + 26 + 26 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + + + 34 + 34 + 200 + + + + + 6 + 6 + 150 + + + + + + + + + + + 34 + 34 + 200 + + + + + 6 + 6 + 150 + + + + + + + + + 0 + 0 + 0 + + + + + + + 19 + 19 + 19 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 255 + 255 + 255 + + + + + + + + + 34 + 34 + 200 + + + + + 6 + 6 + 150 + + + + + + + + + 58 + 58 + 58 + + + + + + + 48 + 48 + 48 + + + + + + + 19 + 19 + 19 + + + + + + + 26 + 26 + 26 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + + + 34 + 34 + 200 + + + + + 6 + 6 + 150 + + + + + + + + + + + 34 + 34 + 200 + + + + + 6 + 6 + 150 + + + + + + + + + 0 + 0 + 0 + + + + + + + 19 + 19 + 19 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 255 + 255 + 255 + + + + + + + + + 34 + 34 + 200 + + + + + 6 + 6 + 150 + + + + + + + + + 58 + 58 + 58 + + + + + + + 48 + 48 + 48 + + + + + + + 19 + 19 + 19 + + + + + + + 26 + 26 + 26 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + + + 34 + 34 + 200 + + + + + 6 + 6 + 150 + + + + + + + + + + + 34 + 34 + 200 + + + + + 6 + 6 + 150 + + + + + + + + + 0 + 0 + 0 + + + + + + + 39 + 39 + 39 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 75 + true + + + + Lazy Sunday afternoon flying, fly's nice and stable + + + false + + + background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(34, 34, 200, 255), stop:0.78607 rgba(6, 6, 150, 255)); +color: rgb(255, 255, 255); +border-radius: 5; + + + Moderate + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + 0 + 20 + + + + + + + + + 255 + 255 + 255 + + + + + + + + + 14 + 200 + 14 + + + + + 6 + 150 + 6 + + + + + + + + + 58 + 58 + 58 + + + + + + + 48 + 48 + 48 + + + + + + + 19 + 19 + 19 + + + + + + + 26 + 26 + 26 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + + + 14 + 200 + 14 + + + + + 6 + 150 + 6 + + + + + + + + + + + 14 + 200 + 14 + + + + + 6 + 150 + 6 + + + + + + + + + 0 + 0 + 0 + + + + + + + 19 + 19 + 19 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 255 + 255 + 255 + + + + + + + + + 14 + 200 + 14 + + + + + 6 + 150 + 6 + + + + + + + + + 58 + 58 + 58 + + + + + + + 48 + 48 + 48 + + + + + + + 19 + 19 + 19 + + + + + + + 26 + 26 + 26 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + + + 14 + 200 + 14 + + + + + 6 + 150 + 6 + + + + + + + + + + + 14 + 200 + 14 + + + + + 6 + 150 + 6 + + + + + + + + + 0 + 0 + 0 + + + + + + + 19 + 19 + 19 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 255 + 255 + 255 + + + + + + + + + 14 + 200 + 14 + + + + + 6 + 150 + 6 + + + + + + + + + 58 + 58 + 58 + + + + + + + 48 + 48 + 48 + + + + + + + 19 + 19 + 19 + + + + + + + 26 + 26 + 26 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + 255 + 255 + 255 + + + + + + + + + 14 + 200 + 14 + + + + + 6 + 150 + 6 + + + + + + + + + + + 14 + 200 + 14 + + + + + 6 + 150 + 6 + + + + + + + + + 0 + 0 + 0 + + + + + + + 39 + 39 + 39 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + + + 75 + true + + + + This thing really can preform, it is a lot more responsive this way + + + false + + + background-color: qlineargradient(spread:reflect, x1:0.507, y1:0, x2:0.507, y2:0.772, stop:0.208955 rgba(14, 200, 14, 255), stop:0.78607 rgba(6, 150, 6 , 255)); +color: rgb(255, 255, 255); +border-radius: 5; + + + Snappy + + + Qt::AlignCenter + + + + + + + - - - - 0 + + + + Acro+ - - - - - 0 - 25 - - - - <html><head/><body><p>The Attitude Mode slider can be adjusted to value ranges whose responsivness is represented by the Moderate / Snappy / Insane bar</p></body></html> - - - 0 - - - 100 - - - 1 - - - 50 - - - Qt::Horizontal - - - QSlider::TicksBelow - - - 5 - - - - objname:StabilizationSettingsBankX - fieldname:AcroInsanityFactor - haslimits:no - scale:0.01 - buttongroup:77 - - - - - - - - - 60 - 22 - - - - - 60 - 22 - - - - 0 - - - 100 - - - 50 - - - - objname:StabilizationSettingsBankX - fieldname:AcroInsanityFactor - haslimits:no - scale:0.01 - buttongroup:77 - - - - - - - - - 110 - 0 - - - - Factor - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 16777215 + + + + Reset all values to GCS defaults + + + false + + + + + + Default + + + + button:default + buttongroup:77 + + + + + + + + 0 + + + + + + 0 + 25 + + + + <html><head/><body><p>The Attitude Mode slider can be adjusted to value ranges whose responsivness is represented by the Moderate / Snappy / Insane bar</p></body></html> + + + 0 + + + 100 + + + 1 + + + 50 + + + Qt::Horizontal + + + QSlider::TicksBelow + + + 5 + + + + objname:StabilizationSettingsBankX + fieldname:AcroInsanityFactor + scale:0.01 + buttongroup:77 + + + + + + + + + 60 + 22 + + + + + 60 + 22 + + + + 0 + + + 100 + + + 50 + + + + objname:StabilizationSettingsBankX + fieldname:AcroInsanityFactor + scale:0.01 + buttongroup:77 + + + + + + + + + 0 + 0 + + + + + 80 + 0 + + + + Factor + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + + + Expo + + + + + + + 0 + 0 + + + + Reset all values to GCS defaults + + + Default + + + + objname:StabilizationSettings + button:default + buttongroup:66 + + + + + + + + + 0 + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 60 + 22 + + + + + 60 + 22 + + + + -100 + + + 100 + + + 0 + + + + objname:StabilizationSettingsBankX + fieldname:StickExpo + haslimits:yes + scale:1 + buttongroup:66 + + + + + + + + + 0 + 0 + + + + + + + + + 0 + 25 + + + + <html><head/><body><p>The Rate mode Yaw slider can be adjusted to value ranges whose responsiveness is represented by the Moderate / Snappy / Insane bar</p></body></html> + + + -100 + + + 100 + + + 0 + + + Qt::Horizontal + + + QSlider::TicksBelow + + + 20 + + + + objname:StabilizationSettingsBankX + fieldname:StickExpo + haslimits:yes + scale:1 + buttongroup:66 + + + + + + + + + @@ -2374,7 +2543,7 @@ border-radius: 5; 16777215 - 195 + 160 @@ -5100,7 +5269,7 @@ Then lower the value by 5 or so. 16777215 - 195 + 135 @@ -7718,8 +7887,8 @@ border-radius: 5; 0 0 - 959 - 757 + 1018 + 779 @@ -17544,6 +17713,55 @@ border-radius: 5; + + + + Piro Compensation + + + + + + + 0 + 27 + + + + Enable piro compensation + + + + objname:StabilizationSettingsBankX + fieldname:EnablePiroComp + buttongroup:55 + + + + + + + + Reset all values to GCS defaults + + + + + + Default + + + + objname:StabilizationSettings + button:default + buttongroup:55 + + + + + + + @@ -17661,8 +17879,8 @@ border-radius: 5; 0 0 - 959 - 757 + 1018 + 779 @@ -23507,8 +23725,8 @@ font:bold; 0 0 - 959 - 757 + 1018 + 779 @@ -26480,22 +26698,28 @@ Useful if you have accidentally changed some settings.
mixercurvewidget.h
1 + + QwtPlot + QWidget +
qwt/src/qwt_plot.h
+ 1 +
- 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 + tabWidget + scrollArea + basicResponsivenessCheckBox + pushButton + AttitudeResponsivenessSlider + spinBox + RateResponsivenessSlider + spinBox_2 + RateYawResponsivenessSlider + spinBox_5 + pushButton_12 + AttitudeResponsivenessSlider_2 + pushButton_21 + spinBox_3 spinBox_9 horizontalSlider_81 spinBox_10 @@ -26543,8 +26767,63 @@ Useful if you have accidentally changed some settings. AccelKp AccelKi realTimeUpdates_6 - tabWidget + stabilizationReloadBoardData_6 scrollArea_2 + saveStabilizationToRAM_6 + pushButton_23 + horizontalSlider_76 + spinBox_7 + PitchPSlider + pushButton_20 + spinBox_PitchRateP + horizontalSlider_78 + saveStabilizationToSD_6 + realTimeUpdates_8 + advancedResponsivenessCheckBox + enableThrustPIDScalingCheckBox + ThrustPIDSource + ThrustPIDTarget + ThrustPIDAxis + defaultThrottleCurveButton + realTimeUpdates_12 + scrollArea_3 + pushButton_9 + WeakLevelingRate + WeakLevelingKp + pushButton_6 + MaAxisLock + MaxAxisLockRate + pushButton_10 + RattitudeModeTransition + doubleSpinBox_4 + doubleSpinBox_5 + comboBox + doubleSpinBox_3 + doubleSpinBox + comboBox_2 + doubleSpinBox_2 + doubleSpinBox_7 + pushButton_11 + scrollArea_4 + pushButton_7 + AltKpSlider + AltKiSlider + AltKdSlider + AltKp + AltKi + AltKd + AltThrRateSlider_2 + AltThrExp_2 + AltThrRate_2 + AltThrExpSlider_2 + pushButton_8 + realTimeUpdates_7 + horizontalSlider_80 + horizontalSlider_79 + spinBox_8 + spinBox_12 + expoSpinner + RateYawResponsivenessSlider_2