diff --git a/ground/openpilotgcs/share/openpilotgcs/dials/default/arm-status.svg b/ground/openpilotgcs/share/openpilotgcs/dials/default/arm-status.svg old mode 100644 new mode 100755 index 5913ada22..b72d1cc33 --- a/ground/openpilotgcs/share/openpilotgcs/dials/default/arm-status.svg +++ b/ground/openpilotgcs/share/openpilotgcs/dials/default/arm-status.svg @@ -14,8 +14,8 @@ height="80.827866" id="svg10068" version="1.1" - inkscape:version="0.48.0 r9654" - sodipodi:docname="arm-status.svg" + inkscape:version="0.48.2 r9819" + sodipodi:docname="arm-status-new.svg" inkscape:export-filename="H:\Documents\Hobbies\W433\My Gauges\vbat-001.png" inkscape:export-xdpi="103.61" inkscape:export-ydpi="103.61" @@ -1224,6 +1224,82 @@ id="linearGradient3339" xlink:href="#linearGradient5128-0-5" inkscape:collect="always" /> + + + + + + + + + + + + + + + + image/svg+xml - + Edouard Lafargue @@ -1275,17 +1351,34 @@ - + + + + + + + style="fill:none;fill-opacity:1;stroke:none" /> + id="path3380" + inkscape:connector-curvature="0" /> + id="path3382" + inkscape:connector-curvature="0" /> + id="path3384" + inkscape:connector-curvature="0" /> diff --git a/ground/openpilotgcs/share/openpilotgcs/dials/default/flightmode-status.svg b/ground/openpilotgcs/share/openpilotgcs/dials/default/flightmode-status.svg old mode 100644 new mode 100755 index 80935d0c3..56f2ae83b --- a/ground/openpilotgcs/share/openpilotgcs/dials/default/flightmode-status.svg +++ b/ground/openpilotgcs/share/openpilotgcs/dials/default/flightmode-status.svg @@ -14,8 +14,8 @@ height="80.827866" id="svg10068" version="1.1" - inkscape:version="0.48.1 r9760" - sodipodi:docname="flightmode-status.svg" + inkscape:version="0.48.2 r9819" + sodipodi:docname="flightmode-status-new.svg" inkscape:export-filename="H:\Documents\Hobbies\W433\My Gauges\vbat-001.png" inkscape:export-xdpi="103.61" inkscape:export-ydpi="103.61" @@ -1037,6 +1037,82 @@ fx="29.77438" fy="7.0922189" r="25.380436" /> + + + + + + + + + + + + + + + + image/svg+xml - + Edouard Lafargue @@ -1088,17 +1164,34 @@ - + + + + + + + style="fill:none;fill-opacity:1;stroke:none" /> + style="display:none" + sodipodi:insensitive="true"> + d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z" /> + d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z" /> + d="m 58.403591,29.207693 a 29.010935,29.010935 0 1 1 -58.0218695,0 29.010935,29.010935 0 1 1 58.0218695,0 z" /> + d="m 53.950159,30.352861 a 24.175779,24.175779 0 1 1 -48.3515586,0 24.175779,24.175779 0 1 1 48.3515586,0 z" /> + d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z" /> + d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z" /> + d="m 58.403591,29.207693 a 29.010935,29.010935 0 1 1 -58.0218695,0 29.010935,29.010935 0 1 1 58.0218695,0 z" /> + d="m 53.950159,30.352861 a 24.175779,24.175779 0 1 1 -48.3515586,0 24.175779,24.175779 0 1 1 48.3515586,0 z" /> + id="path2991" + inkscape:connector-curvature="0" /> + d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z" /> + d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z" /> + d="m 58.403591,29.207693 a 29.010935,29.010935 0 1 1 -58.0218695,0 29.010935,29.010935 0 1 1 58.0218695,0 z" /> + d="m 53.950159,30.352861 a 24.175779,24.175779 0 1 1 -48.3515586,0 24.175779,24.175779 0 1 1 48.3515586,0 z" /> + style="opacity:0.98000004;fill:none;stroke:#ff4e34;stroke-width:2.7462945;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" + inkscape:connector-curvature="0" /> + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" /> + id="path3874" + inkscape:connector-curvature="0" /> + style="fill:none;stroke:#ff4e34;stroke-width:2.7462945;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + inkscape:connector-curvature="0" /> + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" /> + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" /> + d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z" /> + d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z" /> + d="m 58.403591,29.207693 a 29.010935,29.010935 0 1 1 -58.0218695,0 29.010935,29.010935 0 1 1 58.0218695,0 z" /> + d="m 53.950159,30.352861 a 24.175779,24.175779 0 1 1 -48.3515586,0 24.175779,24.175779 0 1 1 48.3515586,0 z" /> + inkscape:export-ydpi="103.61" + inkscape:connector-curvature="0" /> @@ -1580,7 +1682,7 @@ sodipodi:cy="26.6875" sodipodi:cx="14.5" id="path3209" - d="m 24.5,26.6875 c 0,1.622336 -4.477153,2.9375 -10,2.9375 -5.5228475,0 -10,-1.315164 -10,-2.9375 0,-1.622336 4.4771525,-2.9375 10,-2.9375 5.522847,0 10,1.315164 10,2.9375 z" /> + d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z" /> + d="m 24.5,26.6875 a 10,2.9375 0 1 1 -20,0 10,2.9375 0 1 1 20,0 z" /> + d="m 58.403591,29.207693 a 29.010935,29.010935 0 1 1 -58.0218695,0 29.010935,29.010935 0 1 1 58.0218695,0 z" /> + d="m 53.950159,30.352861 a 24.175779,24.175779 0 1 1 -48.3515586,0 24.175779,24.175779 0 1 1 48.3515586,0 z" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml - + Edouard Lafargue @@ -468,21 +695,29 @@ inkscape:label="Dark background" id="g2932" inkscape:groupmode="layer" - transform="translate(-205.8687,-331.45166)"> + transform="translate(-205.8687,-331.45166)" + sodipodi:insensitive="true"> - + + + + + style="fill:none;stroke:none" /> + style="fill:#1a1a1a;fill-opacity:1;stroke:none;display:inline" /> - + style="display:inline" + sodipodi:insensitive="true"> + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + transform="translate(-227.44331,-365.7337)" + sodipodi:insensitive="true"> - + + + + + + + style="fill:url(#linearGradient3925);fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" /> - + + inkscape:label="#g4183"> + + + + + + + style="display:none" + sodipodi:insensitive="true"> - + inkscape:label="#g4292"> + + + + - + + inkscape:label="#g4338"> + + + + + style="display:none" + sodipodi:insensitive="true"> + inkscape:label="#path5747" + inkscape:connector-curvature="0" /> + style="display:none"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + style="fill:url(#linearGradient3124);fill-opacity:1;stroke:#000000;stroke-width:2;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline" /> + - + + inkscape:label="#g4104" + transform="translate(0,-2)"> + + + + + + - + + inkscape:label="#g4159" + transform="translate(0,-2)"> + + + + - + + inkscape:label="#g4224" + transform="translate(0,-2)"> + + + + + style="display:none" + transform="translate(-129.62194,129.52019)" + sodipodi:insensitive="true"> + inkscape:label="#path5747" + inkscape:connector-curvature="0" /> - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml - + Edouard Lafargue @@ -1000,29 +1139,6 @@ - - + + + + + + + + CFBundleGetInfoString - Qt Creator; Copyright Nokia Corporation + OpenPilot GCS; Copyright OpenPilot CFBundleIconFile @ICON@ CFBundlePackageType @@ -182,7 +182,7 @@ CFBundleExecutable @EXECUTABLE@ CFBundleIdentifier - com.nokia.qtcreator + org.openpilot.openpilotgcs CFBundleVersion 1.3.1 CFBundleShortVersionString diff --git a/ground/openpilotgcs/src/libs/glc_lib/glc_ext.h b/ground/openpilotgcs/src/libs/glc_lib/glc_ext.h index de2edaa4a..38c3d6154 100644 --- a/ground/openpilotgcs/src/libs/glc_lib/glc_ext.h +++ b/ground/openpilotgcs/src/libs/glc_lib/glc_ext.h @@ -40,6 +40,10 @@ #include "GL/glu.h" #endif +#if defined(Q_OS_LINUX) +#include "GL/glu.h" +#endif + #if !defined(Q_OS_MAC) // ARB_vertex_buffer_object extern PFNGLBINDBUFFERARBPROC glBindBuffer; diff --git a/ground/openpilotgcs/src/libs/glc_lib/viewport/glc_camera.cpp b/ground/openpilotgcs/src/libs/glc_lib/viewport/glc_camera.cpp index 54e95ecdb..937b3c3ce 100644 --- a/ground/openpilotgcs/src/libs/glc_lib/viewport/glc_camera.cpp +++ b/ground/openpilotgcs/src/libs/glc_lib/viewport/glc_camera.cpp @@ -35,6 +35,10 @@ #include "GL/glu.h" #endif +#if defined(Q_OS_LINUX) +#include "GL/glu.h" +#endif + #include using namespace glc; diff --git a/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp b/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp index 67a54aa6d..2789e8967 100644 --- a/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp @@ -62,7 +62,7 @@ ConfigInputWidget::ConfigInputWidget(QWidget *parent) : ConfigTaskWidget(parent) Q_ASSERT(index < ManualControlSettings::CHANNELGROUPS_NUMELEM); inputChannelForm * inp=new inputChannelForm(this,index==0); m_config->channelSettings->layout()->addWidget(inp); - inp->ui->channelName->setText(name); + inp->setName(name); addUAVObjectToWidgetRelation("ManualControlSettings","ChannelGroups",inp->ui->channelGroup,index); addUAVObjectToWidgetRelation("ManualControlSettings","ChannelNumber",inp->ui->channelNumber,index); addUAVObjectToWidgetRelation("ManualControlSettings","ChannelMin",inp->ui->channelMin,index); diff --git a/ground/openpilotgcs/src/plugins/config/inputchannelform.cpp b/ground/openpilotgcs/src/plugins/config/inputchannelform.cpp index 98f71ea31..b8faa0fcb 100644 --- a/ground/openpilotgcs/src/plugins/config/inputchannelform.cpp +++ b/ground/openpilotgcs/src/plugins/config/inputchannelform.cpp @@ -23,7 +23,6 @@ inputChannelForm::inputChannelForm(QWidget *parent,bool showlegend) : delete ui->legend4; delete ui->legend5; } - connect(ui->channelMin,SIGNAL(valueChanged(int)),this,SLOT(minMaxUpdated())); connect(ui->channelMax,SIGNAL(valueChanged(int)),this,SLOT(minMaxUpdated())); connect(ui->channelGroup,SIGNAL(currentIndexChanged(int)),this,SLOT(groupUpdated())); @@ -40,6 +39,22 @@ inputChannelForm::~inputChannelForm() { delete ui; } +void inputChannelForm::setName(QString &name) +{ + ui->channelName->setText(name); + QFontMetrics metrics(ui->channelName->font()); + int width=metrics.width(name)+5; + foreach(inputChannelForm * form,parent()->findChildren()) + { + if(form==this) + continue; + if(form->ui->channelName->minimumSize().width()ui->channelName->setMinimumSize(width,0); + else + width=form->ui->channelName->minimumSize().width(); + } + ui->channelName->setMinimumSize(width,0); +} /** * Update the direction of the slider and boundaries diff --git a/ground/openpilotgcs/src/plugins/config/inputchannelform.h b/ground/openpilotgcs/src/plugins/config/inputchannelform.h index eb8ad7d18..c6534dc48 100644 --- a/ground/openpilotgcs/src/plugins/config/inputchannelform.h +++ b/ground/openpilotgcs/src/plugins/config/inputchannelform.h @@ -15,7 +15,7 @@ public: explicit inputChannelForm(QWidget *parent = 0,bool showlegend=false); ~inputChannelForm(); friend class ConfigInputWidget; - + void setName(QString &name); private slots: void minMaxUpdated(); void neutralUpdated(int); diff --git a/ground/openpilotgcs/src/plugins/config/inputchannelform.ui b/ground/openpilotgcs/src/plugins/config/inputchannelform.ui index 044e2437f..6e3395aab 100644 --- a/ground/openpilotgcs/src/plugins/config/inputchannelform.ui +++ b/ground/openpilotgcs/src/plugins/config/inputchannelform.ui @@ -36,7 +36,7 @@ - 70 + 10 0 diff --git a/ground/openpilotgcs/src/plugins/config/outputchannelform.cpp b/ground/openpilotgcs/src/plugins/config/outputchannelform.cpp index 131af2623..64e7df893 100644 --- a/ground/openpilotgcs/src/plugins/config/outputchannelform.cpp +++ b/ground/openpilotgcs/src/plugins/config/outputchannelform.cpp @@ -185,6 +185,18 @@ void OutputChannelForm::neutral(int value) void OutputChannelForm::setAssignment(const QString &assignment) { ui.actuatorName->setText(assignment); + QFontMetrics metrics(ui.actuatorName->font()); + int width=metrics.width(assignment)+1; + foreach(OutputChannelForm * form,parent()->findChildren()) + { + if(form==this) + continue; + if(form->ui.actuatorName->minimumSize().width()ui.actuatorName->setMinimumSize(width,0); + else + width=form->ui.actuatorName->minimumSize().width(); + } + ui.actuatorName->setMinimumSize(width,0); } /** diff --git a/ground/openpilotgcs/src/plugins/config/stabilization.ui b/ground/openpilotgcs/src/plugins/config/stabilization.ui old mode 100644 new mode 100755 index 52c1e0d38..106b0da37 --- a/ground/openpilotgcs/src/plugins/config/stabilization.ui +++ b/ground/openpilotgcs/src/plugins/config/stabilization.ui @@ -470,7 +470,7 @@ QTabWidget::North - 1 + 0 true @@ -496,8 +496,8 @@ 0 0 - 626 - 842 + 648 + 802 @@ -1091,7 +1091,11 @@ false - #RateStabilizationGroup_15{background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0 rgba(243, 243, 243, 255), stop:1 rgba(250, 250, 250, 255));} + #RateStabilizationGroup_15{background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0 rgba(243, 243, 243, 255), stop:1 rgba(250, 250, 250, 255)); + +border: 1px outset #999; +border-radius: 3; +} @@ -1683,7 +1687,7 @@ border-radius: 4; true - + @@ -2234,7 +2238,7 @@ border-radius: 5; - + @@ -2784,7 +2788,7 @@ border-radius: 5; - + @@ -3407,24 +3411,24 @@ border-radius: 5; - - - - 0 - 0 - - + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -3439,7 +3443,23 @@ border-radius: 5; - + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 3 + 22 + + + + + + 0 @@ -3482,25 +3502,25 @@ border-radius: 5; - - - - - 0 - 0 - - + + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -3514,7 +3534,23 @@ border-radius: 5; - + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 3 + 22 + + + + + @@ -3558,25 +3594,25 @@ border-radius: 5; - - - - - 0 - 0 - - + + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -3654,24 +3690,24 @@ border-radius: 5; - - - - 0 - 0 - - + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -3685,7 +3721,7 @@ border-radius: 5; - + @@ -3729,25 +3765,25 @@ border-radius: 5; - - - - - 0 - 0 - - + + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -3761,7 +3797,7 @@ border-radius: 5; - + @@ -3805,25 +3841,25 @@ border-radius: 5; - - - - - 0 - 0 - - + + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -4433,7 +4469,11 @@ border-radius: 5; false - #RateStabilizationGroup_17{background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0 rgba(243, 243, 243, 255), stop:1 rgba(250, 250, 250, 255));} + #RateStabilizationGroup_17{background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0 rgba(243, 243, 243, 255), stop:1 rgba(250, 250, 250, 255)); + +border: 1px outset #999; +border-radius: 3; +} @@ -4967,7 +5007,7 @@ border-radius: 4; true - + @@ -5518,7 +5558,7 @@ border-radius: 5; - + @@ -6068,7 +6108,7 @@ border-radius: 5; - + @@ -6688,24 +6728,24 @@ border-radius: 5; - - - - 0 - 0 - - + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -6720,6 +6760,22 @@ border-radius: 5; + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 3 + 22 + + + + + @@ -6763,25 +6819,25 @@ border-radius: 5; - - - - - 0 - 0 - - + + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -6795,7 +6851,23 @@ border-radius: 5; - + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 3 + 22 + + + + + @@ -6839,25 +6911,25 @@ border-radius: 5; - - - - - 0 - 0 - - + + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -6871,6 +6943,22 @@ border-radius: 5; + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 3 + 22 + + + + @@ -6935,24 +7023,24 @@ border-radius: 5; - - - - 0 - 0 - - + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -6966,7 +7054,7 @@ border-radius: 5; - + @@ -7010,25 +7098,25 @@ border-radius: 5; - - - - - 0 - 0 - - + + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -7042,7 +7130,7 @@ border-radius: 5; - + @@ -7086,25 +7174,25 @@ border-radius: 5; - - - - - 0 - 0 - - + + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -7208,7 +7296,7 @@ border-radius: 4; - + Qt::Horizontal @@ -7224,7 +7312,7 @@ border-radius: 4; - + @@ -7244,7 +7332,7 @@ border-radius: 4; - + @@ -7782,7 +7870,11 @@ border-radius: 4; false - #RateStabilizationGroup_19{background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0 rgba(243, 243, 243, 255), stop:1 rgba(250, 250, 250, 255));} + #RateStabilizationGroup_19{background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0 rgba(243, 243, 243, 255), stop:1 rgba(250, 250, 250, 255)); + +border: 1px outset #999; +border-radius: 3; +} @@ -8358,10 +8450,7 @@ border-radius: 4; true - - - 11 - + @@ -8912,7 +9001,7 @@ border-radius: 5; - + @@ -9462,7 +9551,7 @@ border-radius: 5; - + @@ -10082,24 +10171,24 @@ Angle - - - - 0 - 0 - - + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -10113,6 +10202,22 @@ Angle + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 3 + 22 + + + + + @@ -10155,25 +10260,25 @@ Angle - - - - - 0 - 0 - - + + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -10186,7 +10291,23 @@ Angle - + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 3 + 22 + + + + + @@ -10229,25 +10350,25 @@ Angle - - - - - 0 - 0 - - + + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -10325,24 +10446,24 @@ Rate - - - - 0 - 0 - - + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -10356,7 +10477,7 @@ Rate - + @@ -10400,25 +10521,25 @@ Rate - - - - - 0 - 0 - - + + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -10432,7 +10553,7 @@ Rate - + @@ -10476,25 +10597,25 @@ Rate - - - - - 0 - 0 - - + + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -10573,24 +10694,24 @@ Attitude - - - - 0 - 0 - - + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -10604,7 +10725,7 @@ Attitude - + @@ -10648,25 +10769,25 @@ Attitude - - - - - 0 - 0 - - + + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -10680,7 +10801,7 @@ Attitude - + @@ -10724,25 +10845,25 @@ Attitude - - - - - 0 - 0 - - + + - 21 - 16 + 43 + 22 - - + + + 43 + 22 + - - 50 + + 200 + + + 200 @@ -10762,7 +10883,7 @@ Attitude - + Qt::Vertical @@ -10778,7 +10899,7 @@ Attitude - + Qt::Vertical @@ -10810,7 +10931,7 @@ Attitude - + @@ -11348,7 +11469,11 @@ Attitude false - #RateStabilizationGroup_21{background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0 rgba(243, 243, 243, 255), stop:1 rgba(250, 250, 250, 255));} + #RateStabilizationGroup_21{background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0 rgba(243, 243, 243, 255), stop:1 rgba(250, 250, 250, 255)); + +border: 1px outset #999; +border-radius: 3; +} @@ -11371,6 +11496,9 @@ Attitude 20 + + When the throttle is low, zero the intergral term to prevent intergral wind-up + @@ -11399,13 +11527,6 @@ Attitude 20 - - - 8 - 50 - false - - If you check this, the GCS will udpate the stabilization factors automatically every 300ms, which will help for fast tuning. @@ -11432,44 +11553,6 @@ automatically every 300ms, which will help for fast tuning. - - - - 0 - 0 - - - - - 32 - 32 - - - - - - - - :/core/images/helpicon.svg:/core/images/helpicon.svg - - - - 32 - 32 - - - - true - - - - button:help - url:http://wiki.openpilot.org/display/Doc/Stabilization+panel - - - - - @@ -11526,7 +11609,7 @@ border-radius: 4; - + @@ -11585,7 +11668,7 @@ border-radius: 4; - + @@ -11647,9 +11730,6 @@ border-radius: 4; - - - @@ -11673,12 +11753,12 @@ border-radius: 4; 0 - -38 - 626 - 828 + 0 + 401 + 990 - + @@ -11742,13 +11822,13 @@ border-radius: 4; 0 - 181 + 210 16777215 - 181 + 210 @@ -12269,7 +12349,11 @@ border-radius: 4; false - #RateStabilizationGroup_8{background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0 rgba(243, 243, 243, 255), stop:1 rgba(250, 250, 250, 255));} + #RateStabilizationGroup_8{background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0 rgba(243, 243, 243, 255), stop:1 rgba(250, 250, 250, 255)); + +border: 1px outset #999; +border-radius: 3; +} @@ -12371,7 +12455,7 @@ border-radius: 4; 0 - 131 + 151 @@ -12802,6 +12886,9 @@ border-radius: 4; true + + 2 + @@ -14514,7 +14601,8 @@ border-radius: 5; - I factor for rate stabilization is usually very low or even zero. + Slowly raise Kp until you start seeing clear oscillations when you fly. +Then lower the value by 20% or so. @@ -14557,6 +14645,10 @@ border-radius: 5; 22 + + Slowly raise Kp until you start seeing clear oscillations when you fly. +Then lower the value by 20% or so. + @@ -14681,8 +14773,8 @@ You can usually go for higher values for Yaw factors. - As a rule of thumb, you can set YawRate Ki at roughly the same -value as YawRate Kp. + As a rule of thumb, you can set the Ki at roughly the same +value as the Kp. @@ -14741,6 +14833,10 @@ value as YawRate Kp. 22 + + As a rule of thumb, you can set the Ki at roughly the same +value as the Kp. + @@ -14799,10 +14895,8 @@ value as YawRate Kp. - 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. + As a rule of thumb, you can set the Ki at roughly the same +value as the Kp. @@ -14826,6 +14920,166 @@ You can usually go for higher values for Yaw factors. + + + + 0 + 0 + + + + + 58 + 0 + + + + + 16777215 + 16777215 + + + + + + + Derivative + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 0 + 22 + + + + + 16777215 + 22 + + + + + + + + + + 6 + + + 1.000000000000000 + + + + objname:StabilizationSettings + fieldname:RollRatePID + element:Kd + haslimits:no + scale:1 + buttongroup:4,20 + + + + + + + + + 0 + 0 + + + + + 0 + 22 + + + + + 16777215 + 22 + + + + + + + 6 + + + 1.000000000000000 + + + + objname:StabilizationSettings + fieldname:PitchRatePID + element:Kd + haslimits:no + scale:1 + buttongroup:4,20 + + + + + + + + + 0 + 0 + + + + + 0 + 22 + + + + + 16777215 + 22 + + + + + + + + + + 6 + + + 1.000000000000000 + + + + objname:StabilizationSettings + fieldname:YawRatePID + element:Kd + haslimits:no + scale:1 + buttongroup:4,20 + + + + + @@ -14856,7 +15110,7 @@ You can usually go for higher values for Yaw factors. - + @@ -14877,7 +15131,7 @@ You can usually go for higher values for Yaw factors. - I factor for rate stabilization is usually very low or even zero. + @@ -14900,7 +15154,7 @@ You can usually go for higher values for Yaw factors. - + @@ -14941,7 +15195,7 @@ You can usually go for higher values for Yaw factors. - + @@ -14962,10 +15216,7 @@ You can usually go for higher values for Yaw factors. - 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. + @@ -15616,7 +15867,11 @@ You can usually go for higher values for Yaw factors. false - #RateStabilizationGroup_4{background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0 rgba(243, 243, 243, 255), stop:1 rgba(250, 250, 250, 255));} + #RateStabilizationGroup_4{background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0 rgba(243, 243, 243, 255), stop:1 rgba(250, 250, 250, 255)); + +border: 1px outset #999; +border-radius: 3; +} @@ -17861,7 +18116,7 @@ border-radius: 5; - I factor for rate stabilization is usually very low or even zero. + @@ -17946,10 +18201,7 @@ border-radius: 5; - 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. + @@ -18028,8 +18280,7 @@ You can usually go for higher values for Yaw factors. - As a rule of thumb, you can set YawRate Ki at roughly the same -value as YawRate Kp. + @@ -18146,10 +18397,7 @@ value as YawRate Kp. - 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. + @@ -18224,7 +18472,7 @@ You can usually go for higher values for Yaw factors. - I factor for rate stabilization is usually very low or even zero. + @@ -18309,10 +18557,7 @@ You can usually go for higher values for Yaw factors. - 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. + @@ -18373,7 +18618,7 @@ You can usually go for higher values for Yaw factors. - + @@ -18931,7 +19176,11 @@ You can usually go for higher values for Yaw factors. false - #RateStabilizationGroup_6{background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0 rgba(243, 243, 243, 255), stop:1 rgba(250, 250, 250, 255));} + #RateStabilizationGroup_6{background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0 rgba(243, 243, 243, 255), stop:1 rgba(250, 250, 250, 255)); + +border: 1px outset #999; +border-radius: 3; +} @@ -21164,7 +21413,7 @@ angle(deg) - I factor for rate stabilization is usually very low or even zero. + @@ -21289,8 +21538,7 @@ rate(deg/s) - As a rule of thumb, you can set YawRate Ki at roughly the same -value as YawRate Kp. + @@ -21413,10 +21661,7 @@ value as YawRate Kp. - 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. + @@ -21495,7 +21740,7 @@ You can usually go for higher values for Yaw factors. - I factor for rate stabilization is usually very low or even zero. + @@ -21586,10 +21831,7 @@ You can usually go for higher values for Yaw factors. - 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. + @@ -21636,10 +21878,7 @@ You can usually go for higher values for Yaw factors. - 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. + @@ -21686,7 +21925,2924 @@ You can usually go for higher values for Yaw factors. - + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 20 + 10 + + + + + + + + + 180 + 16 + + + + + 9 + 75 + true + + + + Sensor Tunning + + + + + + + + 0 + 0 + + + + + 0 + 125 + + + + + 16777215 + 125 + + + + + + + + + 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 + + + #RateStabilizationGroup_23{background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0 rgba(243, 243, 243, 255), stop:1 rgba(250, 250, 250, 255)); + +border: 1px outset #999; +border-radius: 3; +} + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + 2 + + + + + Qt::Horizontal + + + QSizePolicy::Preferred + + + + 459 + 10 + + + + + + + + + 0 + 0 + + + + + 81 + 28 + + + + + 81 + 28 + + + + QPushButton { +border: 1px outset #999; +border-radius: 5; +background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0.28 rgba(236, 236, 236, 255), stop:1 rgba(252, 252, 252, 255)); +} + +QPushButton:pressed { + + border-style: inset; + background-color: qlineargradient(spread:pad, x1:0.502, y1:0.664864, x2:0.502, y2:0.034, stop:0.358209 rgba(250, 250, 250, 255), stop:0.626866 rgba(235, 235, 235, 255)); + +} + + +QPushButton:hover { + border: 1px outset #999; +border-color: rgb(83, 83, 83); +border-radius: 4; + } + + + Default + + + + objname:StabilizationSettings + button:default + buttongroup:8,2 + + + + + + + + + 0 + 0 + + + + + 0 + 70 + + + + + 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 + + + + + + + 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 + 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 + + + + + 0 + 22 + + + + + 16777215 + 22 + + + + GyroTau is a gyro filter, the higher the factor the more filtering is applied to the gyros + + + + + + 0 + + + 1000000.000000000000000 + + + 1.000000000000000 + + + + objname:StabilizationSettings + fieldname:GyroTau + haslimits:no + scale:1 + buttongroup:8,20 + + + + + + + + + 0 + 0 + + + + + 0 + 22 + + + + + 16777215 + 22 + + + + The proportional term for the accelerometer, the higher this term the more weight the accel is given + + + + + + 0 + + + 1000000.000000000000000 + + + 1.000000000000000 + + + + objname:AttitudeSettings + fieldname:AccelKp + haslimits:no + scale:1 + buttongroup:8,20 + + + + + + + + + 0 + 0 + + + + + 0 + 22 + + + + + 16777215 + 22 + + + + The intergral term for the accelerometer within the filter + + + + + + 0 + + + 1000000.000000000000000 + + + 1.000000000000000 + + + + objname:AttitudeSettings + fieldname:AccelKi + haslimits:no + scale:1 + buttongroup:8,20 + + + + + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 10 + + + + + @@ -22224,7 +25380,11 @@ You can usually go for higher values for Yaw factors. false - #RateStabilizationGroup_22{background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0 rgba(243, 243, 243, 255), stop:1 rgba(250, 250, 250, 255));} + #RateStabilizationGroup_22{background-color: qlineargradient(spread:pad, x1:0.507, y1:0.869318, x2:0.507, y2:0.0965909, stop:0 rgba(243, 243, 243, 255), stop:1 rgba(250, 250, 250, 255)); + +border: 1px outset #999; +border-radius: 3; +} @@ -22247,6 +25407,9 @@ You can usually go for higher values for Yaw factors. 20 + + When the throttle is low, zero the intergral term to prevent intergral wind-up + @@ -22271,13 +25434,13 @@ You can usually go for higher values for Yaw factors. - 8 + 9 50 false - If you check this, the GCS will udpate the stabilization factors + If you check this, the GCS will udpate the stabilization factors automatically every 300ms, which will help for fast tuning. @@ -22288,45 +25451,7 @@ automatically every 300ms, which will help for fast tuning. - - - - - 0 - 0 - - - - - 32 - 32 - - - - - - - - :/core/images/helpicon.svg:/core/images/helpicon.svg - - - - 32 - 32 - - - - true - - - - button:help - url:http://wiki.openpilot.org/display/Doc/Stabilization+panel - - - - - + Qt::Horizontal @@ -22474,7 +25599,7 @@ border-radius: 4; - + diff --git a/ground/openpilotgcs/src/plugins/uavobjects/uavobjectfield.h b/ground/openpilotgcs/src/plugins/uavobjects/uavobjectfield.h index 59a4ad196..faad2e568 100644 --- a/ground/openpilotgcs/src/plugins/uavobjects/uavobjectfield.h +++ b/ground/openpilotgcs/src/plugins/uavobjects/uavobjectfield.h @@ -50,8 +50,8 @@ public: QList values; } LimitStruct; - UAVObjectField(const QString& name, const QString& units, FieldType type, quint32 numElements, const QStringList& options,const QString& limits=QString::QString()); - UAVObjectField(const QString& name, const QString& units, FieldType type, const QStringList& elementNames, const QStringList& options,const QString& limits=QString::QString()); + UAVObjectField(const QString& name, const QString& units, FieldType type, quint32 numElements, const QStringList& options,const QString& limits=QString()); + UAVObjectField(const QString& name, const QString& units, FieldType type, const QStringList& elementNames, const QStringList& options,const QString& limits=QString()); void initialize(quint8* data, quint32 dataOffset, UAVObject* obj); UAVObject* getObject(); FieldType getType(); diff --git a/ground/openpilotgcs/src/plugins/uavobjectwidgetutils/configtaskwidget.cpp b/ground/openpilotgcs/src/plugins/uavobjectwidgetutils/configtaskwidget.cpp index a15bdae7d..6e0cdd96e 100644 --- a/ground/openpilotgcs/src/plugins/uavobjectwidgetutils/configtaskwidget.cpp +++ b/ground/openpilotgcs/src/plugins/uavobjectwidgetutils/configtaskwidget.cpp @@ -264,6 +264,7 @@ void ConfigTaskWidget::refreshWidgetsValues() else { setWidgetFromField(ow->widget,ow->field,ow->index,ow->scale,ow->isLimited); + } } @@ -294,7 +295,7 @@ void ConfigTaskWidget::updateObjectsFromWidgets() */ void ConfigTaskWidget::helpButtonPressed() { - QString url=helpButtonList.value((QPushButton*)sender(),QString::QString()); + QString url=helpButtonList.value((QPushButton*)sender(),QString()); if(!url.isEmpty()) QDesktopServices::openUrl( QUrl(url, QUrl::StrictMode) ); } @@ -346,6 +347,25 @@ void ConfigTaskWidget::enableControls(bool enable) button->setEnabled(enable); } } +/** + * SLOT function called when on of the widgets contents added to the framework changes + */ +void ConfigTaskWidget::forceShadowUpdates() +{ + foreach(objectToWidget * oTw,objOfInterest) + { + foreach (shadow * sh, oTw->shadowsList) + { + disconnectWidgetUpdatesToSlot((QWidget*)sh->widget,SLOT(widgetsContentsChanged())); + checkWidgetsLimits(sh->widget,oTw->field,oTw->index,sh->isLimited,getVariantFromWidget(oTw->widget,oTw->scale),sh->scale); + setWidgetFromVariant(sh->widget,getVariantFromWidget(oTw->widget,oTw->scale),sh->scale); + emit widgetContentsChanged((QWidget*)sh->widget); + connectWidgetUpdatesToSlot((QWidget*)sh->widget,SLOT(widgetsContentsChanged())); + + } + } + setDirty(true); +} /** * SLOT function called when on of the widgets contents added to the framework changes */ @@ -664,6 +684,15 @@ void ConfigTaskWidget::autoLoadWidgets() } } refreshWidgetsValues(); + forceShadowUpdates(); + foreach(objectToWidget * ow,objOfInterest) + { + qDebug()<<"Master:"<widget->objectName(); + foreach(shadow * sh,ow->shadowsList) + { + qDebug()<<"Child"<widget->objectName(); + } + } } /** * Adds a widget to a list of default/reload groups diff --git a/ground/openpilotgcs/src/plugins/uavobjectwidgetutils/configtaskwidget.h b/ground/openpilotgcs/src/plugins/uavobjectwidgetutils/configtaskwidget.h index b6733acc0..deb297e32 100644 --- a/ground/openpilotgcs/src/plugins/uavobjectwidgetutils/configtaskwidget.h +++ b/ground/openpilotgcs/src/plugins/uavobjectwidgetutils/configtaskwidget.h @@ -115,6 +115,7 @@ public: bool allObjectsUpdated(); void setOutOfLimitsStyle(QString style){outOfLimitsStyle=style;} void addHelpButton(QPushButton * button,QString url); + void forceShadowUpdates(); public slots: void onAutopilotDisconnect(); void onAutopilotConnect(); diff --git a/ground/openpilotgcs/src/plugins/welcome/qml/CommunityPanel.qml b/ground/openpilotgcs/src/plugins/welcome/qml/CommunityPanel.qml index a9c3a17c4..60cdfb1ed 100644 --- a/ground/openpilotgcs/src/plugins/welcome/qml/CommunityPanel.qml +++ b/ground/openpilotgcs/src/plugins/welcome/qml/CommunityPanel.qml @@ -2,7 +2,7 @@ import QtQuick 1.1 Item { - width: 600 + width: background.sourceSize.width height: 300 BorderImage { @@ -32,7 +32,7 @@ Item { anchors.verticalCenter: parent.verticalCenter anchors.left: newsPanel.right anchors.margins: 16 - color: "#A0A0B0" + color: "#A0A0A0" } SitesPanel { diff --git a/ground/openpilotgcs/src/plugins/welcome/qml/NewsPanel.qml b/ground/openpilotgcs/src/plugins/welcome/qml/NewsPanel.qml index d86311549..a0e33c647 100644 --- a/ground/openpilotgcs/src/plugins/welcome/qml/NewsPanel.qml +++ b/ground/openpilotgcs/src/plugins/welcome/qml/NewsPanel.qml @@ -12,7 +12,7 @@ Item { id: header text: "Project News" width: parent.width - color: "#303060" + color: "#44515c" font { pointSize: 14 weight: Font.Bold @@ -50,16 +50,18 @@ Item { Text { text: title width: view.width + textFormat: text.indexOf("&") > 0 ? Text.StyledText : Text.PlainText elide: Text.ElideRight font.bold: true - color: mouseArea.containsMouse ? "darkblue" : "black" + color: mouseArea.containsMouse ? "#224d81" : "black" } Text { text: description width: view.width + textFormat: text.indexOf("&") > 0 ? Text.StyledText : Text.PlainText elide: Text.ElideRight - color: mouseArea.containsMouse ? "darkblue" : "black" + color: mouseArea.containsMouse ? "#224d81" : "black" } } diff --git a/ground/openpilotgcs/src/plugins/welcome/qml/SitesPanel.qml b/ground/openpilotgcs/src/plugins/welcome/qml/SitesPanel.qml index d8ac28117..a41ef83d5 100644 --- a/ground/openpilotgcs/src/plugins/welcome/qml/SitesPanel.qml +++ b/ground/openpilotgcs/src/plugins/welcome/qml/SitesPanel.qml @@ -12,7 +12,7 @@ Item { id: header text: "OpenPilot Websites" width: parent.width - color: "#303060" + color: "#44515c" font { pointSize: 14 weight: Font.Bold @@ -47,7 +47,7 @@ Item { weight: Font.Bold } - color: mouseArea.containsMouse ? "darkblue" : "black" + color: mouseArea.containsMouse ? "#224d81" : "black" MouseArea { id: mouseArea diff --git a/ground/openpilotgcs/src/plugins/welcome/qml/WelcomePageButton.qml b/ground/openpilotgcs/src/plugins/welcome/qml/WelcomePageButton.qml index 3da587216..a31a252eb 100644 --- a/ground/openpilotgcs/src/plugins/welcome/qml/WelcomePageButton.qml +++ b/ground/openpilotgcs/src/plugins/welcome/qml/WelcomePageButton.qml @@ -13,13 +13,13 @@ Item { Image { id: icon - source: "images/"+baseIconName+".png" + source: "images/"+baseIconName+"-off.png" anchors.centerIn: parent } Image { id: hoveredIcon - source: "images/"+baseIconName+"-hover.png" + source: "images/"+baseIconName+"-on.png" anchors.centerIn: parent opacity: 0 } diff --git a/ground/openpilotgcs/src/plugins/welcome/qml/images/config-off.png b/ground/openpilotgcs/src/plugins/welcome/qml/images/config-off.png new file mode 100644 index 000000000..c353cbf2a Binary files /dev/null and b/ground/openpilotgcs/src/plugins/welcome/qml/images/config-off.png differ diff --git a/ground/openpilotgcs/src/plugins/welcome/qml/images/config-on.png b/ground/openpilotgcs/src/plugins/welcome/qml/images/config-on.png new file mode 100644 index 000000000..5b0c67e56 Binary files /dev/null and b/ground/openpilotgcs/src/plugins/welcome/qml/images/config-on.png differ diff --git a/ground/openpilotgcs/src/plugins/welcome/qml/images/firmware-off.png b/ground/openpilotgcs/src/plugins/welcome/qml/images/firmware-off.png new file mode 100644 index 000000000..7523feb1c Binary files /dev/null and b/ground/openpilotgcs/src/plugins/welcome/qml/images/firmware-off.png differ diff --git a/ground/openpilotgcs/src/plugins/welcome/qml/images/firmware-on.png b/ground/openpilotgcs/src/plugins/welcome/qml/images/firmware-on.png new file mode 100644 index 000000000..f8634a34e Binary files /dev/null and b/ground/openpilotgcs/src/plugins/welcome/qml/images/firmware-on.png differ diff --git a/ground/openpilotgcs/src/plugins/welcome/qml/images/flightdata-off.png b/ground/openpilotgcs/src/plugins/welcome/qml/images/flightdata-off.png new file mode 100644 index 000000000..04dbdba6d Binary files /dev/null and b/ground/openpilotgcs/src/plugins/welcome/qml/images/flightdata-off.png differ diff --git a/ground/openpilotgcs/src/plugins/welcome/qml/images/flightdata-on.png b/ground/openpilotgcs/src/plugins/welcome/qml/images/flightdata-on.png new file mode 100644 index 000000000..3c01add87 Binary files /dev/null and b/ground/openpilotgcs/src/plugins/welcome/qml/images/flightdata-on.png differ diff --git a/ground/openpilotgcs/src/plugins/welcome/qml/images/hitl-off.png b/ground/openpilotgcs/src/plugins/welcome/qml/images/hitl-off.png new file mode 100644 index 000000000..d6c6d9dd3 Binary files /dev/null and b/ground/openpilotgcs/src/plugins/welcome/qml/images/hitl-off.png differ diff --git a/ground/openpilotgcs/src/plugins/welcome/qml/images/hitl-on.png b/ground/openpilotgcs/src/plugins/welcome/qml/images/hitl-on.png new file mode 100644 index 000000000..ce7fa3e1d Binary files /dev/null and b/ground/openpilotgcs/src/plugins/welcome/qml/images/hitl-on.png differ diff --git a/ground/openpilotgcs/src/plugins/welcome/qml/images/planner-off.png b/ground/openpilotgcs/src/plugins/welcome/qml/images/planner-off.png new file mode 100644 index 000000000..d1b52c4e8 Binary files /dev/null and b/ground/openpilotgcs/src/plugins/welcome/qml/images/planner-off.png differ diff --git a/ground/openpilotgcs/src/plugins/welcome/qml/images/planner-on.png b/ground/openpilotgcs/src/plugins/welcome/qml/images/planner-on.png new file mode 100644 index 000000000..ee1686162 Binary files /dev/null and b/ground/openpilotgcs/src/plugins/welcome/qml/images/planner-on.png differ diff --git a/ground/openpilotgcs/src/plugins/welcome/qml/images/scopes-off.png b/ground/openpilotgcs/src/plugins/welcome/qml/images/scopes-off.png new file mode 100644 index 000000000..923ec4d3f Binary files /dev/null and b/ground/openpilotgcs/src/plugins/welcome/qml/images/scopes-off.png differ diff --git a/ground/openpilotgcs/src/plugins/welcome/qml/images/scopes-on.png b/ground/openpilotgcs/src/plugins/welcome/qml/images/scopes-on.png new file mode 100644 index 000000000..8de8ebd6e Binary files /dev/null and b/ground/openpilotgcs/src/plugins/welcome/qml/images/scopes-on.png differ diff --git a/ground/openpilotgcs/src/plugins/welcome/qml/images/welcome-flightdata-hover.png b/ground/openpilotgcs/src/plugins/welcome/qml/images/welcome-flightdata-hover.png deleted file mode 100644 index 5686354f0..000000000 Binary files a/ground/openpilotgcs/src/plugins/welcome/qml/images/welcome-flightdata-hover.png and /dev/null differ diff --git a/ground/openpilotgcs/src/plugins/welcome/qml/images/welcome-flightdata.png b/ground/openpilotgcs/src/plugins/welcome/qml/images/welcome-flightdata.png deleted file mode 100644 index 6d1868781..000000000 Binary files a/ground/openpilotgcs/src/plugins/welcome/qml/images/welcome-flightdata.png and /dev/null differ diff --git a/ground/openpilotgcs/src/plugins/welcome/qml/main.qml b/ground/openpilotgcs/src/plugins/welcome/qml/main.qml index 48d9e0428..764ce36a5 100644 --- a/ground/openpilotgcs/src/plugins/welcome/qml/main.qml +++ b/ground/openpilotgcs/src/plugins/welcome/qml/main.qml @@ -1,6 +1,7 @@ import QtQuick 1.1 Rectangle { + id: container width: 1024 height: 768 @@ -9,63 +10,76 @@ Rectangle { Image { id: bg source: "images/welcome-op-bg.png" - anchors.fill: parent - fillMode: Image.PreserveAspectFit + anchors.bottom: parent.bottom + anchors.right: parent.right + + // The background OP logo is downscalled to fit the page + // but not upscalled if page is larger + property real scale: Math.min(parent.width/sourceSize.width, + parent.height/sourceSize.height, + 1.0) + + width: scale*sourceSize.width + height: scale*sourceSize.height smooth: true } Column { - anchors.centerIn: parent + anchors.horizontalCenter: parent.horizontalCenter + // distribute a vertical space between the icons blocks an community widget as: + // top - 48% - Icons - 27% - CommunityWidget - 25% - bottom + y: (parent.height - buttons.height - communityPanel.height) * 0.48 width: parent.width - spacing: 32 + spacing: (parent.height - buttons.height - communityPanel.height) * 0.27 Row { - //anchors.bottom: parent.verticalCenter anchors.horizontalCenter: parent.horizontalCenter spacing: 16 Image { source: "images/welcome-op-logo.png" anchors.verticalCenter: parent.verticalCenter + anchors.verticalCenterOffset: -2 //it looks better aligned to icons grid } Grid { id: buttons columns: 3 spacing: 4 + anchors.verticalCenter: parent.verticalCenter WelcomePageButton { - baseIconName: "welcome-flightdata" + baseIconName: "flightdata" label: "Flight Data" onClicked: welcomePlugin.openPage("Mode1") } WelcomePageButton { - baseIconName: "welcome-flightdata" + baseIconName: "config" label: "Configuration" onClicked: welcomePlugin.openPage("Mode2") } WelcomePageButton { - baseIconName: "welcome-flightdata" + baseIconName: "planner" label: "Flight Planner" onClicked: welcomePlugin.openPage("Mode3") } WelcomePageButton { - baseIconName: "welcome-flightdata" + baseIconName: "scopes" label: "Scopes" onClicked: welcomePlugin.openPage("Mode4") } WelcomePageButton { - baseIconName: "welcome-flightdata" + baseIconName: "hitl" label: "HIL" onClicked: welcomePlugin.openPage("Mode5") } WelcomePageButton { - baseIconName: "welcome-flightdata" + baseIconName: "firmware" label: "Firmware" onClicked: welcomePlugin.openPage("Mode6") } @@ -73,8 +87,8 @@ Rectangle { } // images row CommunityPanel { + id: communityPanel anchors.horizontalCenter: parent.horizontalCenter - width: parent.width*0.8 } } } diff --git a/ground/openpilotgcs/src/plugins/welcome/welcome.qrc b/ground/openpilotgcs/src/plugins/welcome/welcome.qrc index 6fab0e9fa..fdcef517a 100644 --- a/ground/openpilotgcs/src/plugins/welcome/welcome.qrc +++ b/ground/openpilotgcs/src/plugins/welcome/welcome.qrc @@ -8,9 +8,19 @@ qml/images/welcome-news-bg.png qml/images/welcome-op-logo.png qml/images/button-label.png - qml/images/welcome-flightdata-hover.png - qml/images/welcome-flightdata.png qml/images/welcome-op-bg.png qml/images/welcome-bg.png + qml/images/flightdata-on.png + qml/images/flightdata-off.png + qml/images/config-on.png + qml/images/config-off.png + qml/images/firmware-on.png + qml/images/firmware-off.png + qml/images/hitl-on.png + qml/images/hitl-off.png + qml/images/planner-on.png + qml/images/planner-off.png + qml/images/scopes-on.png + qml/images/scopes-off.png