diff --git a/src/uas/QGCUASParamManager.cc b/src/uas/QGCUASParamManager.cc index 186bfac74b0f33b63a71a1510e4e19a8eb6f12d6..450fe797011e8aae10b2aa9700eae6b6fba1a75e 100644 --- a/src/uas/QGCUASParamManager.cc +++ b/src/uas/QGCUASParamManager.cc @@ -18,9 +18,9 @@ QGCUASParamManager::QGCUASParamManager(UASInterface* uas, QWidget *parent) : loadParamMetaInfoCSV(); - // Connect retransmission guard - connect(this, SIGNAL(parameterUpdateRequested(int,QString)), - this, SLOT(requestParameterUpdate(int,QString))); +// // Connect retransmission guard +// connect(this, SIGNAL(parameterUpdateRequested(int,QString)), +// this, SLOT(requestParameterUpdate(int,QString))); // //TODO connect in paramCommsMgr instead // connect(this, SIGNAL(parameterUpdateRequestedById(int,int)), @@ -28,10 +28,10 @@ QGCUASParamManager::QGCUASParamManager(UASInterface* uas, QWidget *parent) : // New parameters from UAS - void parameterUpdated(int compId, int paramId, QString paramName, QVariant value); + void parameterUpdated(int compId, QString paramName, QVariant value); - connect(paramDataModel, SIGNAL(parameterUpdated(int, int, QString , QVariant )), - this, SLOT(handleParameterUpdate(int,int,int,QString,QVariant))); + connect(paramDataModel, SIGNAL(parameterUpdated(int, QString , QVariant )), + this, SLOT(handleParameterUpdate(int,QString,QVariant))); // connect(uas, SIGNAL(parameterChanged(int,int,int,int,QString,QVariant)), // this, SLOT(receivedParameterUpdate(int,int,int,int,QString,QVariant))); diff --git a/src/uas/QGCUASParamManager.h b/src/uas/QGCUASParamManager.h index 3c1fb7e78cd868dfcfffa65a7fa2cef90f484fe0..4cb6d446c18f3212c349a3004975a67a6af03a13 100644 --- a/src/uas/QGCUASParamManager.h +++ b/src/uas/QGCUASParamManager.h @@ -52,7 +52,7 @@ public slots: /** @brief Request a single parameter by name from the MAV */ virtual void requestParameterUpdate(int component, const QString& parameter); - virtual void handleParameterUpdate(int component, int paramCount, int paramId, const QString& parameterName, QVariant value) = 0; + virtual void handleParameterUpdate(int component, int paramId, const QString& parameterName, QVariant value) = 0; virtual void handleParameterListUpToDate() = 0; diff --git a/src/uas/UASParameterDataModel.cc b/src/uas/UASParameterDataModel.cc index 0a5f9d972409ba2d1ff82f5ea0a7af1146a9a36b..9815ce77798147bee5b0dd5cce230ca6ef85865d 100644 --- a/src/uas/UASParameterDataModel.cc +++ b/src/uas/UASParameterDataModel.cc @@ -114,12 +114,12 @@ void UASParameterDataModel::addComponent(int compId) } -void UASParameterDataModel::handleParameterUpdate(int componentId, QString& key, QVariant& value) +void UASParameterDataModel::handleParameterUpdate(int compId, QString& key, QVariant& value) { //verify that the value requested by the user matches the set value //if it doesn't match, leave the pending parameter in the pending list! - if (pendingParameters.contains(componentId)) { - QMap *pendingParams = pendingParameters.value(componentId); + if (pendingParameters.contains(compId)) { + QMap *pendingParams = pendingParameters.value(compId); if ((NULL != pendingParams) && pendingParams->contains(key)) { QVariant reqVal = pendingParams->value(key); if (reqVal == value) { @@ -131,7 +131,10 @@ void UASParameterDataModel::handleParameterUpdate(int componentId, QString& key, } } - setOnboardParameter(componentId,key, value); + setOnboardParameter(compId,key,value); + + emit parameterUpdated(compId,key,value); + } bool UASParameterDataModel::getOnboardParameterValue(int componentId, const QString& key, QVariant& value) const diff --git a/src/uas/UASParameterDataModel.h b/src/uas/UASParameterDataModel.h index 240d37507146abb0ad6e293f2f9b49b09822d6d6..352fb0eea6f1f133d2ccc5dfefac7bf6ed5d71ce 100644 --- a/src/uas/UASParameterDataModel.h +++ b/src/uas/UASParameterDataModel.h @@ -87,7 +87,8 @@ public: signals: - void parameterUpdated(int compId, int paramId, QString paramName, QVariant value); + /** @brief We've received an update of a parameter's value */ + void parameterUpdated(int compId, QString paramName, QVariant value); public slots: diff --git a/src/ui/QGCParamWidget.cc b/src/ui/QGCParamWidget.cc index 09ee9c970a7741685de6f9bcee1ac13e59054550..5b4b137239afaacd6ac8849b22a0297885540192 100644 --- a/src/ui/QGCParamWidget.cc +++ b/src/ui/QGCParamWidget.cc @@ -331,9 +331,8 @@ void QGCParamWidget::addComponentItem( int compId, QString compName) //} -void QGCParamWidget::handleParameterUpdate(int componentId, int paramCount, int paramId, const QString& paramName, QVariant value) +void QGCParamWidget::handleParameterUpdate(int componentId, int paramId, const QString& paramName, QVariant value) { - Q_UNUSED(paramCount); Q_UNUSED(paramId); updateParameterDisplay(componentId, paramName, value); } diff --git a/src/ui/QGCParamWidget.h b/src/ui/QGCParamWidget.h index 3d2f7779eb1579bfa69f183f9c1443106b0cb385..49ae50740264da473d9852632a844c92eef860b3 100644 --- a/src/ui/QGCParamWidget.h +++ b/src/ui/QGCParamWidget.h @@ -67,7 +67,7 @@ public slots: /** @brief Add a parameter to the list with retransmission / safety checks */ // void receivedParameterUpdate(int uas, int component, int paramCount, int paramId, QString parameterName, QVariant value); - virtual void handleParameterUpdate(int component, int paramCount, int paramId, const QString& parameterName, QVariant value); + virtual void handleParameterUpdate(int component, int paramId, const QString& parameterName, QVariant value); virtual void handleParameterListUpToDate(); virtual void handleParamStatusMsgUpdate(QString msg, int level); diff --git a/src/ui/uas/UASListWidget.cc b/src/ui/uas/UASListWidget.cc index d1cdde02eb62aa7582dc7ad5b1e1c7a74f02d375..2b000d376936e733a5a95a8e00774f1f09d0e33a 100644 --- a/src/ui/uas/UASListWidget.cc +++ b/src/ui/uas/UASListWidget.cc @@ -149,7 +149,7 @@ void UASListWidget::addUAS(UASInterface* uas) QList* x = uas->getLinks(); if (x->size()) { - LinkInterface* li = x->at(0); + LinkInterface* li = x->first(); // Find an existing QGroupBox for this LinkInterface or create a // new one.