Commit 7c239e80 authored by lm's avatar lm
Browse files

Improved parameter slider, reads now correctly initial value

parent 6b29bc4a
...@@ -922,7 +922,7 @@ void QGCParamWidget::retransmissionGuardTick() ...@@ -922,7 +922,7 @@ void QGCParamWidget::retransmissionGuardTick()
*/ */
void QGCParamWidget::requestParameterUpdate(int component, const QString& parameter) void QGCParamWidget::requestParameterUpdate(int component, const QString& parameter)
{ {
// FIXME - IMPLEMENT THIS! if (mav) mav->requestParameter(component, parameter);
} }
......
...@@ -56,8 +56,8 @@ QGCParamSlider::QGCParamSlider(QWidget *parent) : ...@@ -56,8 +56,8 @@ QGCParamSlider::QGCParamSlider(QWidget *parent) :
connect(UASManager::instance(), SIGNAL(activeUASSet(UASInterface*)), this, SLOT(setActiveUAS(UASInterface*))); connect(UASManager::instance(), SIGNAL(activeUASSet(UASInterface*)), this, SLOT(setActiveUAS(UASInterface*)));
setActiveUAS(UASManager::instance()->getActiveUAS()); setActiveUAS(UASManager::instance()->getActiveUAS());
// Get param value // Get param value after settings have been loaded
QTimer::singleShot(100, this, SLOT(requestParameter())); QTimer::singleShot(300, this, SLOT(requestParameter()));
} }
QGCParamSlider::~QGCParamSlider() QGCParamSlider::~QGCParamSlider()
...@@ -88,7 +88,14 @@ void QGCParamSlider::setActiveUAS(UASInterface* activeUas) ...@@ -88,7 +88,14 @@ void QGCParamSlider::setActiveUAS(UASInterface* activeUas)
connect(activeUas, SIGNAL(parameterChanged(int,int,int,int,QString,QVariant)), this, SLOT(setParameterValue(int,int,int,int,QString,QVariant)), Qt::UniqueConnection); connect(activeUas, SIGNAL(parameterChanged(int,int,int,int,QString,QVariant)), this, SLOT(setParameterValue(int,int,int,int,QString,QVariant)), Qt::UniqueConnection);
uas = activeUas; uas = activeUas;
// Update current param value // Update current param value
requestParameter(); if (parameterName == "")
{
refreshParamList();
}
else
{
requestParameter();
}
} }
} }
...@@ -96,13 +103,13 @@ void QGCParamSlider::requestParameter() ...@@ -96,13 +103,13 @@ void QGCParamSlider::requestParameter()
{ {
if (!parameterName.isEmpty() && uas) if (!parameterName.isEmpty() && uas)
{ {
uas->requestParameter(this->component, this->parameterName); uas->getParamManager()->requestParameterUpdate(this->component, this->parameterName);
} }
} }
void QGCParamSlider::setParamValue(double value) void QGCParamSlider::setParamValue(double value)
{ {
parameterValue = value; parameterValue = (float)value;
ui->valueSlider->setValue(floatToScaledInt(value)); ui->valueSlider->setValue(floatToScaledInt(value));
} }
...@@ -238,16 +245,18 @@ void QGCParamSlider::sendParameter() ...@@ -238,16 +245,18 @@ void QGCParamSlider::sendParameter()
void QGCParamSlider::setSliderValue(int sliderValue) void QGCParamSlider::setSliderValue(int sliderValue)
{ {
parameterValue = scaledIntToFloat(sliderValue);
switch (parameterValue.type()) switch (parameterValue.type())
{ {
case QVariant::Int: case QVariant::Int:
parameterValue = (int)scaledIntToFloat(sliderValue);
ui->intValueSpinBox->setValue(parameterValue.toInt()); ui->intValueSpinBox->setValue(parameterValue.toInt());
break; break;
case QVariant::UInt: case QVariant::UInt:
parameterValue = (unsigned int)scaledIntToFloat(sliderValue);
ui->intValueSpinBox->setValue(parameterValue.toUInt()); ui->intValueSpinBox->setValue(parameterValue.toUInt());
break; break;
case QMetaType::Float: case QMetaType::Float:
parameterValue = scaledIntToFloat(sliderValue);
ui->doubleValueSpinBox->setValue(parameterValue.toFloat()); ui->doubleValueSpinBox->setValue(parameterValue.toFloat());
break; break;
default: default:
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment