mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2024-11-29 07:24:13 +01:00
Finished framework and stab config showcase
This commit is contained in:
parent
4cdf223bff
commit
c2d9af1e89
@ -40,22 +40,104 @@ ConfigStabilizationWidget::ConfigStabilizationWidget(QWidget *parent) : ConfigTa
|
||||
{
|
||||
m_stabilization = new Ui_StabilizationWidget();
|
||||
m_stabilization->setupUi(this);
|
||||
/* QList<int> * rateGroup=new QList<int>();
|
||||
rateGroup->append(0);
|
||||
addApplySaveButtons(m_stabilization->saveStabilizationToRAM,m_stabilization->saveStabilizationToSD);
|
||||
addUAVObjectToWidgetRelation("StabilizationSettings","RollRatePID",m_stabilization->rateRollKp,"Kp",1,true,rateGroup);
|
||||
|
||||
addDefaultButton(m_stabilization->defaultButton,0);
|
||||
addReloadButton(m_stabilization->reloadButton,0);
|
||||
addWidgetToDefaultReloadGroups(m_stabilization->rateRollKp,rateGroup);
|
||||
addShadowWidget("StabilizationSettings","RollRatePID",m_stabilization->rateRollKi,0,1,true,rateGroup);*/
|
||||
autoLoadWidgets();
|
||||
realtimeUpdates=new QTimer(this);
|
||||
connect(m_stabilization->realTimeUpdates_6,SIGNAL(stateChanged(int)),this,SLOT(realtimeUpdatesSlot(int)));
|
||||
connect(m_stabilization->realTimeUpdates_7,SIGNAL(stateChanged(int)),this,SLOT(realtimeUpdatesSlot(int)));
|
||||
connect(realtimeUpdates,SIGNAL(timeout()),this,SLOT(apply()));
|
||||
|
||||
connect(m_stabilization->checkBox_7,SIGNAL(stateChanged(int)),this,SLOT(linkCheckBoxes(int)));
|
||||
connect(m_stabilization->checkBox_2,SIGNAL(stateChanged(int)),this,SLOT(linkCheckBoxes(int)));
|
||||
connect(m_stabilization->checkBox_8,SIGNAL(stateChanged(int)),this,SLOT(linkCheckBoxes(int)));
|
||||
connect(m_stabilization->checkBox_3,SIGNAL(stateChanged(int)),this,SLOT(linkCheckBoxes(int)));
|
||||
|
||||
connect(this,SIGNAL(widgetContentsChanged(QWidget*)),this,SLOT(processLinkedWidgets(QWidget*)));
|
||||
}
|
||||
|
||||
|
||||
ConfigStabilizationWidget::~ConfigStabilizationWidget()
|
||||
{
|
||||
// Do nothing
|
||||
// Do nothing
|
||||
}
|
||||
|
||||
void ConfigStabilizationWidget::realtimeUpdatesSlot(int value)
|
||||
{
|
||||
m_stabilization->realTimeUpdates_6->setCheckState((Qt::CheckState)value);
|
||||
m_stabilization->realTimeUpdates_7->setCheckState((Qt::CheckState)value);
|
||||
if(value==Qt::Checked && !realtimeUpdates->isActive())
|
||||
realtimeUpdates->start(300);
|
||||
else if(value==Qt::Unchecked)
|
||||
realtimeUpdates->stop();
|
||||
}
|
||||
|
||||
void ConfigStabilizationWidget::linkCheckBoxes(int value)
|
||||
{
|
||||
if(sender()== m_stabilization->checkBox_7)
|
||||
m_stabilization->checkBox_3->setCheckState((Qt::CheckState)value);
|
||||
else if(sender()== m_stabilization->checkBox_3)
|
||||
m_stabilization->checkBox_7->setCheckState((Qt::CheckState)value);
|
||||
else if(sender()== m_stabilization->checkBox_8)
|
||||
m_stabilization->checkBox_2->setCheckState((Qt::CheckState)value);
|
||||
else if(sender()== m_stabilization->checkBox_2)
|
||||
m_stabilization->checkBox_8->setCheckState((Qt::CheckState)value);
|
||||
}
|
||||
|
||||
void ConfigStabilizationWidget::processLinkedWidgets(QWidget * widget)
|
||||
{
|
||||
if(m_stabilization->checkBox_7->checkState()==Qt::Checked)
|
||||
{
|
||||
if(widget== m_stabilization->RateRollKp_2)
|
||||
{
|
||||
m_stabilization->RatePitchKp->setValue(m_stabilization->RateRollKp_2->value());
|
||||
}
|
||||
else if(widget== m_stabilization->RateRollKi_2)
|
||||
{
|
||||
m_stabilization->RatePitchKi->setValue(m_stabilization->RateRollKi_2->value());
|
||||
}
|
||||
else if(widget== m_stabilization->RateRollILimit_2)
|
||||
{
|
||||
m_stabilization->RatePitchILimit->setValue(m_stabilization->RateRollILimit_2->value());
|
||||
}
|
||||
else if(widget== m_stabilization->RatePitchKp)
|
||||
{
|
||||
m_stabilization->RateRollKp_2->setValue(m_stabilization->RatePitchKp->value());
|
||||
}
|
||||
else if(widget== m_stabilization->RatePitchKi)
|
||||
{
|
||||
m_stabilization->RateRollKi_2->setValue(m_stabilization->RatePitchKi->value());
|
||||
}
|
||||
else if(widget== m_stabilization->RatePitchILimit)
|
||||
{
|
||||
m_stabilization->RateRollILimit_2->setValue(m_stabilization->RatePitchILimit->value());
|
||||
}
|
||||
}
|
||||
if(m_stabilization->checkBox_8->checkState()==Qt::Checked)
|
||||
{
|
||||
if(widget== m_stabilization->AttitudeRollKp)
|
||||
{
|
||||
m_stabilization->AttitudePitchKp_2->setValue(m_stabilization->AttitudeRollKp->value());
|
||||
}
|
||||
else if(widget== m_stabilization->AttitudeRollKi)
|
||||
{
|
||||
m_stabilization->AttitudePitchKi_2->setValue(m_stabilization->AttitudeRollKi->value());
|
||||
}
|
||||
else if(widget== m_stabilization->AttitudeRollILimit)
|
||||
{
|
||||
m_stabilization->AttitudePitchILimit_2->setValue(m_stabilization->AttitudeRollILimit->value());
|
||||
}
|
||||
else if(widget== m_stabilization->AttitudePitchKp_2)
|
||||
{
|
||||
m_stabilization->AttitudeRollKp->setValue(m_stabilization->AttitudePitchKp_2->value());
|
||||
}
|
||||
else if(widget== m_stabilization->AttitudePitchKi_2)
|
||||
{
|
||||
m_stabilization->AttitudeRollKi->setValue(m_stabilization->AttitudePitchKi_2->value());
|
||||
}
|
||||
else if(widget== m_stabilization->AttitudePitchILimit_2)
|
||||
{
|
||||
m_stabilization->AttitudeRollILimit->setValue(m_stabilization->AttitudePitchILimit_2->value());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -47,8 +47,11 @@ public:
|
||||
|
||||
private:
|
||||
Ui_StabilizationWidget *m_stabilization;
|
||||
|
||||
QTimer * realtimeUpdates;
|
||||
private slots:
|
||||
void realtimeUpdatesSlot(int);
|
||||
void linkCheckBoxes(int value);
|
||||
void processLinkedWidgets(QWidget*);
|
||||
};
|
||||
|
||||
#endif // ConfigStabilizationWidget_H
|
||||
|
@ -470,7 +470,7 @@
|
||||
<enum>QTabWidget::North</enum>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="documentMode">
|
||||
<bool>true</bool>
|
||||
@ -1140,12 +1140,6 @@
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:default</string>
|
||||
<string>buttongroup:1</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>81</width>
|
||||
@ -1185,6 +1179,12 @@ border-radius: 4;
|
||||
<property name="text">
|
||||
<string>Default</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:default</string>
|
||||
<string>buttongroup:1</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
@ -1194,13 +1194,7 @@ border-radius: 4;
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:help</string>
|
||||
<string>url:http://wiki.openpilot.org/display/Doc/Stabilization+panel</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>51</width>
|
||||
@ -1240,6 +1234,12 @@ border-radius: 4;
|
||||
<property name="text">
|
||||
<string>Wiki</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:help</string>
|
||||
<string>url:http://wiki.openpilot.org/display/Doc/Stabilization+panel</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="4">
|
||||
@ -3401,7 +3401,7 @@ border-radius: 5;</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:0.0001</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -3433,7 +3433,7 @@ border-radius: 5;</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:0.0001</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -3477,7 +3477,7 @@ border-radius: 5;</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:0.0001</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -3509,7 +3509,7 @@ border-radius: 5;</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:0.0001</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -3553,7 +3553,7 @@ border-radius: 5;</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:0.0001</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -3585,7 +3585,7 @@ border-radius: 5;</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:0.0001</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -3648,7 +3648,7 @@ border-radius: 5;</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:0.0001</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -3680,7 +3680,7 @@ border-radius: 5;</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:0.0001</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -3724,7 +3724,7 @@ border-radius: 5;</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:0.0001</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -3756,7 +3756,7 @@ border-radius: 5;</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:0.0001</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -3800,7 +3800,7 @@ border-radius: 5;</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:0.0001</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -3832,7 +3832,7 @@ border-radius: 5;</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:0.0001</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
<string>buttongroup:1,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -4482,12 +4482,6 @@ border-radius: 5;</string>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:default</string>
|
||||
<string>buttongroup:2</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>81</width>
|
||||
@ -4524,6 +4518,12 @@ border-radius: 4;
|
||||
<property name="text">
|
||||
<string>Default</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:default</string>
|
||||
<string>buttongroup:2</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="4">
|
||||
@ -7129,12 +7129,6 @@ border-radius: 5;</string>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:help</string>
|
||||
<string>url:http://wiki.openpilot.org/display/Doc/Stabilization+panel</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>51</width>
|
||||
@ -7171,6 +7165,12 @@ border-radius: 4;
|
||||
<property name="text">
|
||||
<string>Wiki</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:help</string>
|
||||
<string>url:http://wiki.openpilot.org/display/Doc/Stabilization+panel</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
@ -7815,12 +7815,6 @@ border-radius: 4;
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:help</string>
|
||||
<string>url:http://wiki.openpilot.org/display/Doc/Stabilization+panel</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>51</width>
|
||||
@ -7857,6 +7851,12 @@ border-radius: 4;
|
||||
<property name="text">
|
||||
<string>Wiki</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:help</string>
|
||||
<string>url:http://wiki.openpilot.org/display/Doc/Stabilization+panel</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
@ -7867,12 +7867,6 @@ border-radius: 4;
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:default</string>
|
||||
<string>buttongroup:3</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>81</width>
|
||||
@ -7909,6 +7903,12 @@ border-radius: 4;
|
||||
<property name="text">
|
||||
<string>Default</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:default</string>
|
||||
<string>buttongroup:3</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="3">
|
||||
@ -10070,13 +10070,13 @@ Angle</string>
|
||||
<property name="tickInterval">
|
||||
<number>25</number>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:RollMax</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:1.8</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -10101,13 +10101,13 @@ Angle</string>
|
||||
<property name="text">
|
||||
<string>50</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:RollMax</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:1.8</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -10144,13 +10144,13 @@ Angle</string>
|
||||
<property name="tickInterval">
|
||||
<number>25</number>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:PitchMax</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:1.8</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -10175,13 +10175,13 @@ Angle</string>
|
||||
<property name="text">
|
||||
<string>50</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:PitchMax</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:1.8</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -10218,13 +10218,13 @@ Angle</string>
|
||||
<property name="tickInterval">
|
||||
<number>25</number>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:YawMax</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:1.8</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -10249,13 +10249,13 @@ Angle</string>
|
||||
<property name="text">
|
||||
<string>50</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:YawMax</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:1.8</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -10312,14 +10312,14 @@ Rate</string>
|
||||
<property name="tickInterval">
|
||||
<number>25</number>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Roll</string>
|
||||
<string>element:Roll</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -10344,14 +10344,14 @@ Rate</string>
|
||||
<property name="text">
|
||||
<string>50</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Roll</string>
|
||||
<string>element:Roll</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -10388,14 +10388,14 @@ Rate</string>
|
||||
<property name="tickInterval">
|
||||
<number>25</number>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Pitch</string>
|
||||
<string>element:Pitch</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -10420,14 +10420,14 @@ Rate</string>
|
||||
<property name="text">
|
||||
<string>50</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Pitch</string>
|
||||
<string>element:Pitch</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -10464,14 +10464,14 @@ Rate</string>
|
||||
<property name="tickInterval">
|
||||
<number>25</number>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Yaw</string>
|
||||
<string>element:Yaw</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -10496,14 +10496,14 @@ Rate</string>
|
||||
<property name="text">
|
||||
<string>50</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Yaw</string>
|
||||
<string>element:Yaw</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -10560,14 +10560,14 @@ Attitude</string>
|
||||
<property name="tickInterval">
|
||||
<number>25</number>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:MaximumRate</string>
|
||||
<string>element:Roll</string>
|
||||
<string>element:Roll</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -10592,14 +10592,14 @@ Attitude</string>
|
||||
<property name="text">
|
||||
<string>50</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:MaximumRate</string>
|
||||
<string>element:Roll</string>
|
||||
<string>element:Roll</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -10636,14 +10636,14 @@ Attitude</string>
|
||||
<property name="tickInterval">
|
||||
<number>25</number>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:MaximumRate</string>
|
||||
<string>element:Pitch</string>
|
||||
<string>element:Pitch</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -10668,14 +10668,14 @@ Attitude</string>
|
||||
<property name="text">
|
||||
<string>50</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:MaximumRate</string>
|
||||
<string>element:Pitch</string>
|
||||
<string>element:Pitch</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -10712,14 +10712,14 @@ Attitude</string>
|
||||
<property name="tickInterval">
|
||||
<number>25</number>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:MaximumRate</string>
|
||||
<string>element:Yaw</string>
|
||||
<string>element:Yaw</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -10744,14 +10744,14 @@ Attitude</string>
|
||||
<property name="text">
|
||||
<string>50</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:MaximumRate</string>
|
||||
<string>element:Yaw</string>
|
||||
<string>element:Yaw</string>
|
||||
<string>haslimits:yes</string>
|
||||
<string>scale:5</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
<string>buttongroup:3,10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
@ -11377,12 +11377,12 @@ Attitude</string>
|
||||
<property name="text">
|
||||
<string>Zero the integral when throttle is low</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:LowThrottleZeroIntegral</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:LowThrottleZeroIntegral</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
@ -11439,12 +11439,6 @@ automatically every 300ms, which will help for fast tuning.</string>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:help</string>
|
||||
<string>url:http://wiki.openpilot.org/display/Doc/Stabilization+panel</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>32</width>
|
||||
@ -11467,6 +11461,12 @@ automatically every 300ms, which will help for fast tuning.</string>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:help</string>
|
||||
<string>url:http://wiki.openpilot.org/display/Doc/Stabilization+panel</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
@ -11477,12 +11477,6 @@ automatically every 300ms, which will help for fast tuning.</string>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:reload</string>
|
||||
<string>buttongroup:10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>120</width>
|
||||
@ -11524,6 +11518,12 @@ border-radius: 4;
|
||||
<property name="text">
|
||||
<string>Reload Board Data</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:reload</string>
|
||||
<string>buttongroup:10</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
@ -11673,8 +11673,8 @@ border-radius: 4;
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>431</width>
|
||||
<y>-38</y>
|
||||
<width>626</width>
|
||||
<height>828</height>
|
||||
</rect>
|
||||
</property>
|
||||
@ -12315,13 +12315,6 @@ border-radius: 4;
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>button:default</string>
|
||||
<string>buttongroup:4</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>81</width>
|
||||
@ -12358,6 +12351,13 @@ border-radius: 4;
|
||||
<property name="text">
|
||||
<string>Default</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>button:default</string>
|
||||
<string>buttongroup:4</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="3">
|
||||
@ -14500,16 +14500,6 @@ border-radius: 5;</string>
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:RollRatePID</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:4,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
@ -14535,6 +14525,16 @@ border-radius: 5;</string>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:RollRatePID</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:4,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
@ -14544,16 +14544,6 @@ border-radius: 5;</string>
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:PitchRatePID</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:4,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
@ -14576,6 +14566,16 @@ border-radius: 5;</string>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:PitchRatePID</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:4,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="6">
|
||||
@ -14585,16 +14585,6 @@ border-radius: 5;</string>
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:YawRatePID</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:4,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
@ -14623,6 +14613,16 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:YawRatePID</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:4,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
@ -14667,16 +14667,6 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:RollRatePID</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:4,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
@ -14703,6 +14693,16 @@ value as YawRate Kp.</string>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:RollRatePID</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:4,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
@ -14728,16 +14728,6 @@ value as YawRate Kp.</string>
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:PitchRatePID</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:4,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
@ -14760,6 +14750,16 @@ value as YawRate Kp.</string>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:PitchRatePID</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:4,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="5">
|
||||
@ -14785,16 +14785,6 @@ value as YawRate Kp.</string>
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:YawRatePID</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:4,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
@ -14823,6 +14813,16 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:YawRatePID</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:4,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
@ -14863,16 +14863,6 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:RollRatePID</string>
|
||||
<string>element:ILimit</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:4,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
@ -14896,7 +14886,17 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:RollRatePID</string>
|
||||
<string>element:ILimit</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:4,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -14907,16 +14907,6 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:PitchRatePID</string>
|
||||
<string>element:ILimit</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:4,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
@ -14937,7 +14927,17 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:PitchRatePID</string>
|
||||
<string>element:ILimit</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:4,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -14948,16 +14948,6 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:YawRatePID</string>
|
||||
<string>element:ILimit</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:4,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
@ -14984,7 +14974,17 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:YawRatePID</string>
|
||||
<string>element:ILimit</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:4,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -15662,13 +15662,6 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>button:default</string>
|
||||
<string>buttongroup:5</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>81</width>
|
||||
@ -15705,6 +15698,13 @@ border-radius: 4;
|
||||
<property name="text">
|
||||
<string>Default</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>button:default</string>
|
||||
<string>buttongroup:5</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="3">
|
||||
@ -17847,16 +17847,6 @@ border-radius: 5;</string>
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:RollPI</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:5,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
@ -17880,7 +17870,17 @@ border-radius: 5;</string>
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:RollPI</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:5,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -17891,16 +17891,6 @@ border-radius: 5;</string>
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:PitchPI</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:5,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
@ -17921,7 +17911,17 @@ border-radius: 5;</string>
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:PitchPI</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:5,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -17932,16 +17932,6 @@ border-radius: 5;</string>
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:YawPI</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:5,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
@ -17968,7 +17958,17 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:YawPI</string>
|
||||
<string>element:Kp</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:5,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -18014,16 +18014,6 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:RollPI</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:5,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
@ -18048,7 +18038,17 @@ value as YawRate Kp.</string>
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:RollPI</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:5,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -18075,16 +18075,6 @@ value as YawRate Kp.</string>
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:PitchPI</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:5,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
@ -18105,7 +18095,17 @@ value as YawRate Kp.</string>
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:PitchPI</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:5,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -18132,16 +18132,6 @@ value as YawRate Kp.</string>
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:YawPI</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:5,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
@ -18168,7 +18158,17 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:YawPI</string>
|
||||
<string>element:Ki</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:5,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -18210,16 +18210,6 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:RollPI</string>
|
||||
<string>element:ILimit</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:5,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
@ -18243,7 +18233,17 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:RollPI</string>
|
||||
<string>element:ILimit</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:5,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -18254,16 +18254,6 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:PitchPI</string>
|
||||
<string>element:ILimit</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:5,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
@ -18284,7 +18274,17 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:PitchPI</string>
|
||||
<string>element:ILimit</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:5,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -18295,16 +18295,6 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:YawPI</string>
|
||||
<string>element:ILimit</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:5,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
@ -18331,7 +18321,17 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:YawPI</string>
|
||||
<string>element:ILimit</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:5,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -18964,13 +18964,6 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>button:default</string>
|
||||
<string>buttongroup:6</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>81</width>
|
||||
@ -19007,6 +19000,13 @@ border-radius: 4;
|
||||
<property name="text">
|
||||
<string>Default</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>button:default</string>
|
||||
<string>buttongroup:6</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="2">
|
||||
@ -21170,10 +21170,22 @@ angle(deg)</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1000000.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:RollMax</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:6,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -21201,47 +21213,22 @@ angle(deg)</string>
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1000000.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="6">
|
||||
<widget class="QDoubleSpinBox" name="rateYawKp_3">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>22</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>22</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>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.</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:PitchMax</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:6,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -21311,8 +21298,21 @@ value as YawRate Kp.</string>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1000000.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Roll</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:6,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -21358,8 +21358,21 @@ value as YawRate Kp.</string>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1000000.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Pitch</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:6,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -21411,8 +21424,21 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1000000.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:ManualRate</string>
|
||||
<string>element:Yaw</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:6,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -21477,8 +21503,21 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1000000.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:MaximumRate</string>
|
||||
<string>element:Roll</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:6,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -21508,8 +21547,21 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1000000.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:MaximumRate</string>
|
||||
<string>element:Pitch</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:6,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -21545,8 +21597,70 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<property name="decimals">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1000000.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.000100000000000</double>
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:MaximumRate</string>
|
||||
<string>element:Yaw</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:6,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="6">
|
||||
<widget class="QDoubleSpinBox" name="rateYawKp_3">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>22</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>22</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>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.</string>
|
||||
</property>
|
||||
<property name="styleSheet">
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="decimals">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>1000000.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:YawMax</string>
|
||||
<string>haslimits:no</string>
|
||||
<string>scale:1</string>
|
||||
<string>buttongroup:6,20</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@ -22139,6 +22253,12 @@ You can usually go for higher values for Yaw factors.</string>
|
||||
<property name="text">
|
||||
<string>Zero the integral when throttle is low</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>objname:StabilizationSettings</string>
|
||||
<string>fieldname:LowThrottleZeroIntegral</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
@ -22198,6 +22318,12 @@ automatically every 300ms, which will help for fast tuning.</string>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:help</string>
|
||||
<string>url:http://wiki.openpilot.org/display/Doc/Stabilization+panel</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
@ -22265,6 +22391,11 @@ border-radius: 4;
|
||||
<property name="text">
|
||||
<string>Apply</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:apply</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="4">
|
||||
@ -22319,6 +22450,11 @@ border-radius: 4;
|
||||
<property name="text">
|
||||
<string>Save</string>
|
||||
</property>
|
||||
<property name="objrelation" stdset="0">
|
||||
<stringlist>
|
||||
<string>button:save</string>
|
||||
</stringlist>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
|
@ -106,11 +106,11 @@ void UAVObjectField::limitsInitialize(const QString &limits)
|
||||
if(limits.isEmpty())
|
||||
return;
|
||||
QStringList stringPerElement=limits.split(",");
|
||||
quint32 index=0;
|
||||
foreach (QString str, stringPerElement) {
|
||||
QString _str=str.trimmed();
|
||||
QStringList valuesPerElement=_str.split(":");
|
||||
LimitStruct lstruc;
|
||||
quint32 index=stringPerElement.indexOf(str);
|
||||
bool b1=valuesPerElement.at(0).startsWith("%");
|
||||
bool b2=(int)(index)<(int)numElements;
|
||||
if(b1 && b2)
|
||||
@ -157,6 +157,7 @@ void UAVObjectField::limitsInitialize(const QString &limits)
|
||||
}
|
||||
}
|
||||
elementLimits.insert(index,lstruc);
|
||||
++index;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -136,7 +136,7 @@ ConfigTaskWidget::~ConfigTaskWidget()
|
||||
|
||||
void ConfigTaskWidget::saveObjectToSD(UAVObject *obj)
|
||||
{
|
||||
qDebug()<<"ConfigTaskWidget::saveObjectToSD";
|
||||
//qDebug()<<"ConfigTaskWidget::saveObjectToSD";
|
||||
// saveObjectToSD is now handled by the UAVUtils plugin in one
|
||||
// central place (and one central queue)
|
||||
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
|
||||
@ -165,6 +165,7 @@ double ConfigTaskWidget::listMean(QList<double> list)
|
||||
|
||||
void ConfigTaskWidget::onAutopilotDisconnect()
|
||||
{
|
||||
qDebug()<<"ConfigTaskWidget onAutopilotDisconnect";
|
||||
isConnected=false;
|
||||
enableControls(false);
|
||||
invalidateObjects();
|
||||
@ -172,6 +173,7 @@ void ConfigTaskWidget::onAutopilotDisconnect()
|
||||
|
||||
void ConfigTaskWidget::onAutopilotConnect()
|
||||
{
|
||||
qDebug()<<"ConfigTaskWidget onAutopilotConnect";
|
||||
invalidateObjects();
|
||||
dirty=false;
|
||||
isConnected=true;
|
||||
@ -241,13 +243,17 @@ void ConfigTaskWidget::addApplySaveButtons(QPushButton *update, QPushButton *sav
|
||||
if(!smartsave)
|
||||
{
|
||||
smartsave=new smartSaveButton();
|
||||
smartsave->addButtons(save,update);
|
||||
connect(smartsave,SIGNAL(preProcessOperations()), this, SLOT(updateObjectsFromWidgets()));
|
||||
connect(smartsave,SIGNAL(saveSuccessfull()),this,SLOT(clearDirty()));
|
||||
connect(smartsave,SIGNAL(beginOp()),this,SLOT(disableObjUpdates()));
|
||||
connect(smartsave,SIGNAL(endOp()),this,SLOT(enableObjUpdates()));
|
||||
}
|
||||
smartsave->addButtons(save,update);
|
||||
if(update && save)
|
||||
smartsave->addButtons(save,update);
|
||||
else if (update)
|
||||
smartsave->addApplyButton(update);
|
||||
else if (save)
|
||||
smartsave->addSaveButton(save);
|
||||
if(objOfInterest.count()>0)
|
||||
{
|
||||
foreach(objectToWidget * oTw,objOfInterest)
|
||||
@ -255,7 +261,11 @@ void ConfigTaskWidget::addApplySaveButtons(QPushButton *update, QPushButton *sav
|
||||
smartsave->addObject((UAVDataObject*)oTw->object);
|
||||
}
|
||||
}
|
||||
enableControls(false);
|
||||
TelemetryManager* telMngr = pm->getObject<TelemetryManager>();
|
||||
if(telMngr->isConnected())
|
||||
enableControls(true);
|
||||
else
|
||||
enableControls(false);
|
||||
}
|
||||
|
||||
void ConfigTaskWidget::enableControls(bool enable)
|
||||
@ -269,16 +279,17 @@ void ConfigTaskWidget::enableControls(bool enable)
|
||||
|
||||
void ConfigTaskWidget::widgetsContentsChanged()
|
||||
{
|
||||
//qDebug()<<sender()->objectName()<<sender()->metaObject()->className();
|
||||
emit widgetContentsChanged((QWidget*)sender());
|
||||
double scale;
|
||||
objectToWidget * oTw= shadowsList.value((QWidget*)sender(),NULL);
|
||||
|
||||
/*
|
||||
qDebug()<<"sender:"<<(quint32)sender();
|
||||
//qDebug()<<"sender:"<<(quint32)sender();
|
||||
foreach(QWidget * w,shadowsList.keys())
|
||||
qDebug()<<"in list:"<<(quint32)w;
|
||||
//qDebug()<<"in list:"<<(quint32)w;
|
||||
if(oTw)
|
||||
qDebug()<<"in oTw OK"<<(quint32)oTw->widget;
|
||||
//qDebug()<<"in oTw OK"<<(quint32)oTw->widget;
|
||||
*/
|
||||
if(oTw)
|
||||
{
|
||||
@ -286,7 +297,7 @@ void ConfigTaskWidget::widgetsContentsChanged()
|
||||
{
|
||||
scale=oTw->scale;
|
||||
checkWidgetsLimits((QWidget*)sender(),oTw->field,oTw->index,oTw->isLimited,getVariantFromWidget((QWidget*)sender(),oTw->scale),oTw->scale);
|
||||
qDebug()<<"sender was master";
|
||||
//qDebug()<<"sender was master";
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -294,26 +305,31 @@ void ConfigTaskWidget::widgetsContentsChanged()
|
||||
{
|
||||
if(sh->widget==(QWidget*)sender())
|
||||
{
|
||||
//qDebug()<<sh->widget->objectName()<<sh->widget->metaObject()->className();
|
||||
scale=sh->scale;
|
||||
checkWidgetsLimits((QWidget*)sender(),oTw->field,oTw->index,sh->isLimited,getVariantFromWidget((QWidget*)sender(),scale),scale);
|
||||
qDebug()<<"sender was shadow";
|
||||
//qDebug()<<"sender was shadow";
|
||||
}
|
||||
}
|
||||
}
|
||||
if(oTw->widget!=(QWidget *)sender())
|
||||
{
|
||||
//qDebug()<<oTw->widget->objectName()<<oTw->widget->metaObject()->className();
|
||||
disconnectWidgetUpdatesToSlot((QWidget*)oTw->widget,SLOT(widgetsContentsChanged()));
|
||||
checkWidgetsLimits(oTw->widget,oTw->field,oTw->index,oTw->isLimited,getVariantFromWidget((QWidget*)sender(),scale),oTw->scale);
|
||||
setWidgetFromVariant(oTw->widget,getVariantFromWidget((QWidget*)sender(),scale),oTw->scale);
|
||||
connectWidgetUpdatesToSlot((QWidget*)oTw->widget,SLOT(widgetsContentsChanged()));
|
||||
emit widgetContentsChanged((QWidget*)oTw->widget);
|
||||
connectWidgetUpdatesToSlot((QWidget*)oTw->widget,SLOT(widgetsContentsChanged()));
|
||||
}
|
||||
foreach (shadow * sh, oTw->shadowsList)
|
||||
{
|
||||
if(sh->widget!=(QWidget*)sender())
|
||||
{
|
||||
//qDebug()<<sh->widget->objectName()<<sh->widget->metaObject()->className();
|
||||
disconnectWidgetUpdatesToSlot((QWidget*)sh->widget,SLOT(widgetsContentsChanged()));
|
||||
checkWidgetsLimits(sh->widget,oTw->field,oTw->index,sh->isLimited,getVariantFromWidget((QWidget*)sender(),scale),sh->scale);
|
||||
setWidgetFromVariant(sh->widget,getVariantFromWidget((QWidget*)sender(),scale),sh->scale);
|
||||
emit widgetContentsChanged((QWidget*)sh->widget);
|
||||
connectWidgetUpdatesToSlot((QWidget*)sh->widget,SLOT(widgetsContentsChanged()));
|
||||
}
|
||||
}
|
||||
@ -367,7 +383,7 @@ bool ConfigTaskWidget::allObjectsUpdated()
|
||||
{
|
||||
ret=ret & objectUpdates[obj];
|
||||
}
|
||||
qDebug()<<"ALL OBJECTS UPDATE:"<<ret;
|
||||
//qDebug()<<"ALL OBJECTS UPDATE:"<<ret;
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -386,6 +402,18 @@ void ConfigTaskWidget::invalidateObjects()
|
||||
}
|
||||
}
|
||||
|
||||
void ConfigTaskWidget::apply()
|
||||
{
|
||||
if(smartsave)
|
||||
smartsave->apply();
|
||||
}
|
||||
|
||||
void ConfigTaskWidget::save()
|
||||
{
|
||||
if(smartsave)
|
||||
smartsave->save();
|
||||
}
|
||||
|
||||
bool ConfigTaskWidget::addShadowWidget(QString object, QString field, QWidget *widget, int index, double scale, bool isLimited,QList<int>* defaultReloadGroups)
|
||||
{
|
||||
foreach(objectToWidget * oTw,objOfInterest)
|
||||
@ -405,6 +433,16 @@ bool ConfigTaskWidget::addShadowWidget(QString object, QString field, QWidget *w
|
||||
oTw->scale=scale;
|
||||
oTw->widget=widget;
|
||||
}
|
||||
else if(!qobject_cast<QDoubleSpinBox *>(oTw->widget) && qobject_cast<QDoubleSpinBox *>(widget))
|
||||
{
|
||||
sh=new shadow;
|
||||
sh->isLimited=oTw->isLimited;
|
||||
sh->scale=oTw->scale;
|
||||
sh->widget=oTw->widget;
|
||||
oTw->isLimited=isLimited;
|
||||
oTw->scale=scale;
|
||||
oTw->widget=widget;
|
||||
}
|
||||
else
|
||||
{
|
||||
sh=new shadow;
|
||||
@ -412,8 +450,8 @@ bool ConfigTaskWidget::addShadowWidget(QString object, QString field, QWidget *w
|
||||
sh->scale=scale;
|
||||
sh->widget=widget;
|
||||
}
|
||||
shadowsList.insert(widget,oTw);
|
||||
oTw->shadowsList.append(sh);
|
||||
shadowsList.insert(sh->widget,oTw);
|
||||
connectWidgetUpdatesToSlot(widget,SLOT(widgetsContentsChanged()));
|
||||
if(defaultReloadGroups)
|
||||
addWidgetToDefaultReloadGroups(widget,defaultReloadGroups);
|
||||
@ -433,7 +471,7 @@ void ConfigTaskWidget::autoLoadWidgets()
|
||||
QVariant info=widget->property("objrelation");
|
||||
if(info.isValid())
|
||||
{
|
||||
qDebug()<<"processing autoloadwidget";
|
||||
//qDebug()<<"processing autoloadwidget";
|
||||
uiRelationAutomation uiRelation;
|
||||
uiRelation.buttonType=none;
|
||||
uiRelation.scale=1;
|
||||
@ -495,9 +533,13 @@ void ConfigTaskWidget::autoLoadWidgets()
|
||||
{
|
||||
case save_button:
|
||||
saveButtonWidget=qobject_cast<QPushButton *>(widget);
|
||||
if(saveButtonWidget)
|
||||
addApplySaveButtons(NULL,saveButtonWidget);
|
||||
break;
|
||||
case apply_button:
|
||||
applyButtonWidget=qobject_cast<QPushButton *>(widget);
|
||||
if(applyButtonWidget)
|
||||
addApplySaveButtons(applyButtonWidget,NULL);
|
||||
break;
|
||||
case default_button:
|
||||
button=qobject_cast<QPushButton *>(widget);
|
||||
@ -522,18 +564,16 @@ void ConfigTaskWidget::autoLoadWidgets()
|
||||
else
|
||||
{
|
||||
QWidget * wid=qobject_cast<QWidget *>(widget);
|
||||
qDebug()<<"adding widget"<<(quint32)wid;
|
||||
//qDebug()<<"adding widget"<<(quint32)wid;
|
||||
if(uiRelation.element.isEmpty())
|
||||
{
|
||||
qDebug()<<"empty element";
|
||||
//qDebug()<<"empty element";
|
||||
}
|
||||
if(wid)
|
||||
addUAVObjectToWidgetRelation(uiRelation.objname,uiRelation.fieldname,wid,uiRelation.element,uiRelation.scale,uiRelation.haslimits,&uiRelation.buttonGroup);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(saveButtonWidget && applyButtonWidget)
|
||||
addApplySaveButtons(applyButtonWidget,saveButtonWidget);
|
||||
refreshWidgetsValues();
|
||||
}
|
||||
|
||||
@ -658,14 +698,14 @@ void ConfigTaskWidget::connectWidgetUpdatesToSlot(QWidget * widget,const char* f
|
||||
}
|
||||
else if(QCheckBox * cb=qobject_cast<QCheckBox *>(widget))
|
||||
{
|
||||
connect(cb,SIGNAL(clicked()),this,function);
|
||||
connect(cb,SIGNAL(stateChanged(int)),this,function);
|
||||
}
|
||||
else if(QPushButton * cb=qobject_cast<QPushButton *>(widget))
|
||||
{
|
||||
connect(cb,SIGNAL(clicked()),this,function);
|
||||
}
|
||||
else
|
||||
qDebug()<<__FUNCTION__<<"widget to uavobject relation not implemented"<<widget->metaObject()->className();
|
||||
//else
|
||||
//qDebug()<<__FUNCTION__<<"widget to uavobject relation not implemented"<<widget->metaObject()->className();
|
||||
|
||||
}
|
||||
void ConfigTaskWidget::disconnectWidgetUpdatesToSlot(QWidget * widget,const char* function)
|
||||
@ -698,14 +738,14 @@ void ConfigTaskWidget::disconnectWidgetUpdatesToSlot(QWidget * widget,const char
|
||||
}
|
||||
else if(QCheckBox * cb=qobject_cast<QCheckBox *>(widget))
|
||||
{
|
||||
disconnect(cb,SIGNAL(clicked()),this,function);
|
||||
disconnect(cb,SIGNAL(stateChanged(int)),this,function);
|
||||
}
|
||||
else if(QPushButton * cb=qobject_cast<QPushButton *>(widget))
|
||||
{
|
||||
disconnect(cb,SIGNAL(clicked()),this,function);
|
||||
}
|
||||
else
|
||||
qDebug()<<__FUNCTION__<<"widget to uavobject relation not implemented"<<widget->metaObject()->className();
|
||||
//else
|
||||
//qDebug()<<__FUNCTION__<<"widget to uavobject relation not implemented"<<widget->metaObject()->className();
|
||||
|
||||
}
|
||||
bool ConfigTaskWidget::setFieldFromWidget(QWidget * widget,UAVObjectField * field,int index,double scale)
|
||||
@ -719,7 +759,7 @@ bool ConfigTaskWidget::setFieldFromWidget(QWidget * widget,UAVObjectField * fiel
|
||||
return true;
|
||||
}
|
||||
{
|
||||
qDebug()<<__FUNCTION__<<"widget to uavobject relation not implemented"<<widget->metaObject()->className();
|
||||
//qDebug()<<__FUNCTION__<<"widget to uavobject relation not implemented"<<widget->metaObject()->className();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -758,7 +798,6 @@ bool ConfigTaskWidget::setWidgetFromVariant(QWidget *widget, QVariant value, dou
|
||||
}
|
||||
else if(QLabel * cb=qobject_cast<QLabel *>(widget))
|
||||
{
|
||||
qDebug()<<"SETLABEL "<<value.toDouble()<<scale;
|
||||
if(scale==0)
|
||||
cb->setText(value.toString());
|
||||
else
|
||||
@ -778,7 +817,7 @@ bool ConfigTaskWidget::setWidgetFromVariant(QWidget *widget, QVariant value, dou
|
||||
else if(QSlider * cb=qobject_cast<QSlider *>(widget))
|
||||
{
|
||||
cb->setValue((int)qRound(value.toDouble()/scale));
|
||||
qDebug()<<"SETVALUE widgetfromvariant"<<value.toDouble()<<"/"<<scale<<"="<<(int)qRound(value.toDouble()/scale)<<"object"<<(quint32)cb;
|
||||
//qDebug()<<"SETVALUE widgetfromvariant"<<value.toDouble()<<"/"<<scale<<"="<<(int)qRound(value.toDouble()/scale)<<"object"<<(quint32)cb;
|
||||
return true;
|
||||
}
|
||||
else if(QCheckBox * cb=qobject_cast<QCheckBox *>(widget))
|
||||
@ -807,7 +846,7 @@ bool ConfigTaskWidget::setWidgetFromField(QWidget * widget,UAVObjectField * fiel
|
||||
return true;
|
||||
else
|
||||
{
|
||||
qDebug()<<__FUNCTION__<<"widget to uavobject relation not implemented"<<widget->metaObject()->className();
|
||||
//qDebug()<<__FUNCTION__<<"widget to uavobject relation not implemented"<<widget->metaObject()->className();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -815,7 +854,7 @@ void ConfigTaskWidget::checkWidgetsLimits(QWidget * widget,UAVObjectField * fiel
|
||||
{
|
||||
if(!hasLimits)
|
||||
return;
|
||||
qDebug()<<"check widget"<<widget->accessibleName()<<"value"<<value.toString()<<"result"<<field->isWithinLimits(value,index);
|
||||
//qDebug()<<"check widget"<<widget->objectName()<<"value"<<value.toString()<<"result"<<field->isWithinLimits(value,index);
|
||||
if(!field->isWithinLimits(value,index))
|
||||
{
|
||||
if(!widget->property("styleBackup").isValid())
|
||||
@ -926,12 +965,12 @@ void ConfigTaskWidget::loadWidgetLimits(QWidget * widget,UAVObjectField * field,
|
||||
if(field->getMaxLimit(index).isValid())
|
||||
{
|
||||
cb->setMaximum((int)qRound(field->getMaxLimit(index).toDouble()/scale));
|
||||
qDebug()<<"set MAX="<<field->getMaxLimit(index).toDouble()<<"/"<<scale<<"="<<cb->maximum();
|
||||
//qDebug()<<"set MAX="<<field->getMaxLimit(index).toDouble()<<"/"<<scale<<"="<<cb->maximum();
|
||||
}
|
||||
if(field->getMinLimit(index).isValid())
|
||||
{
|
||||
cb->setMinimum((int)(field->getMinLimit(index).toDouble()/scale));
|
||||
qDebug()<< "set MIN="<<field->getMinLimit(index).toDouble()<<"/"<<scale<<"="<<cb->minimum();
|
||||
//qDebug()<< "set MIN="<<field->getMinLimit(index).toDouble()<<"/"<<scale<<"="<<cb->minimum();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -119,6 +119,8 @@ public slots:
|
||||
void onAutopilotDisconnect();
|
||||
void onAutopilotConnect();
|
||||
void invalidateObjects();
|
||||
void apply();
|
||||
void save();
|
||||
signals:
|
||||
void widgetContentsChanged(QWidget * widget);
|
||||
void populateWidgetsRequested();
|
||||
|
@ -38,6 +38,16 @@ void smartSaveButton::addButtons(QPushButton *save, QPushButton *apply)
|
||||
connect(save,SIGNAL(clicked()),this,SLOT(processClick()));
|
||||
connect(apply,SIGNAL(clicked()),this,SLOT(processClick()));
|
||||
}
|
||||
void smartSaveButton::addApplyButton(QPushButton *apply)
|
||||
{
|
||||
buttonList.insert(apply,apply_button);
|
||||
connect(apply,SIGNAL(clicked()),this,SLOT(processClick()));
|
||||
}
|
||||
void smartSaveButton::addSaveButton(QPushButton *save)
|
||||
{
|
||||
buttonList.insert(save,save_button);
|
||||
connect(save,SIGNAL(clicked()),this,SLOT(processClick()));
|
||||
}
|
||||
void smartSaveButton::processClick()
|
||||
{
|
||||
emit beginOp();
|
||||
@ -47,9 +57,18 @@ void smartSaveButton::processClick()
|
||||
return;
|
||||
if(buttonList.value(button)==save_button)
|
||||
save=true;
|
||||
processOperation(button,save);
|
||||
|
||||
}
|
||||
|
||||
void smartSaveButton::processOperation(QPushButton * button,bool save)
|
||||
{
|
||||
emit preProcessOperations();
|
||||
button->setEnabled(false);
|
||||
button->setIcon(QIcon(":/uploader/images/system-run.svg"));
|
||||
if(button)
|
||||
{
|
||||
button->setEnabled(false);
|
||||
button->setIcon(QIcon(":/uploader/images/system-run.svg"));
|
||||
}
|
||||
QTimer timer;
|
||||
timer.setSingleShot(true);
|
||||
bool error=false;
|
||||
@ -109,15 +128,18 @@ void smartSaveButton::processClick()
|
||||
}
|
||||
}
|
||||
}
|
||||
button->setEnabled(true);
|
||||
if(button)
|
||||
button->setEnabled(true);
|
||||
if(!error)
|
||||
{
|
||||
button->setIcon(QIcon(":/uploader/images/dialog-apply.svg"));
|
||||
if(button)
|
||||
button->setIcon(QIcon(":/uploader/images/dialog-apply.svg"));
|
||||
emit saveSuccessfull();
|
||||
}
|
||||
else
|
||||
{
|
||||
button->setIcon(QIcon(":/uploader/images/process-stop.svg"));
|
||||
if(button)
|
||||
button->setIcon(QIcon(":/uploader/images/process-stop.svg"));
|
||||
}
|
||||
emit endOp();
|
||||
}
|
||||
@ -169,3 +191,15 @@ void smartSaveButton::enableControls(bool value)
|
||||
foreach(QPushButton * button,buttonList.keys())
|
||||
button->setEnabled(value);
|
||||
}
|
||||
|
||||
void smartSaveButton::apply()
|
||||
{
|
||||
processOperation(NULL,false);
|
||||
}
|
||||
|
||||
void smartSaveButton::save()
|
||||
{
|
||||
processOperation(NULL,true);
|
||||
}
|
||||
|
||||
|
||||
|
@ -50,13 +50,19 @@ public:
|
||||
void clearObjects();
|
||||
void removeObject(UAVDataObject *obj);
|
||||
void removeAllObjects();
|
||||
void addApplyButton(QPushButton *apply);
|
||||
void addSaveButton(QPushButton *save);
|
||||
signals:
|
||||
void preProcessOperations();
|
||||
void saveSuccessfull();
|
||||
void beginOp();
|
||||
void endOp();
|
||||
public slots:
|
||||
void apply();
|
||||
void save();
|
||||
private slots:
|
||||
void processClick();
|
||||
void processOperation(QPushButton *button, bool save);
|
||||
void transaction_finished(UAVObject* obj, bool result);
|
||||
void saving_finished(int,bool);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user