Commit feb8ebc4 authored by Don Gagne's avatar Don Gagne

Change paramCommsMgr to not use new

This prevents a threading problem where previously the new happened on
the wrong thread.
parent 2104974b
...@@ -5,13 +5,11 @@ ...@@ -5,13 +5,11 @@
#include <QMessageBox> #include <QMessageBox>
#include "UASInterface.h" #include "UASInterface.h"
#include "UASParameterCommsMgr.h"
QGCUASParamManager::QGCUASParamManager(QObject *parent) : QGCUASParamManager::QGCUASParamManager(QObject *parent) :
QGCUASParamManagerInterface(parent), QGCUASParamManagerInterface(parent),
mav(NULL), mav(NULL),
paramDataModel(this), paramDataModel(this)
paramCommsMgr(NULL)
{ {
...@@ -25,8 +23,7 @@ QGCUASParamManager* QGCUASParamManager::initWithUAS(UASInterface* uas) ...@@ -25,8 +23,7 @@ QGCUASParamManager* QGCUASParamManager::initWithUAS(UASInterface* uas)
loadParamMetaInfoCSV(); loadParamMetaInfoCSV();
paramDataModel.setUASID(mav->getUASID()); paramDataModel.setUASID(mav->getUASID());
paramCommsMgr = new UASParameterCommsMgr(this); paramCommsMgr.initWithUAS(uas);
paramCommsMgr->initWithUAS(uas);
connectToModelAndComms(); connectToModelAndComms();
...@@ -36,10 +33,10 @@ QGCUASParamManager* QGCUASParamManager::initWithUAS(UASInterface* uas) ...@@ -36,10 +33,10 @@ QGCUASParamManager* QGCUASParamManager::initWithUAS(UASInterface* uas)
void QGCUASParamManager::connectToModelAndComms() void QGCUASParamManager::connectToModelAndComms()
{ {
// Pass along comms mgr status msgs // Pass along comms mgr status msgs
connect(paramCommsMgr, SIGNAL(parameterStatusMsgUpdated(QString,int)), connect(&paramCommsMgr, SIGNAL(parameterStatusMsgUpdated(QString,int)),
this, SIGNAL(parameterStatusMsgUpdated(QString,int))); this, SIGNAL(parameterStatusMsgUpdated(QString,int)));
connect(paramCommsMgr, SIGNAL(parameterListUpToDate()), connect(&paramCommsMgr, SIGNAL(parameterListUpToDate()),
this, SIGNAL(parameterListUpToDate())); this, SIGNAL(parameterListUpToDate()));
// Pass along data model updates // Pass along data model updates
...@@ -81,7 +78,7 @@ bool QGCUASParamManager::getParameterValue(int component, const QString& paramet ...@@ -81,7 +78,7 @@ bool QGCUASParamManager::getParameterValue(int component, const QString& paramet
void QGCUASParamManager::requestParameterUpdate(int component, const QString& parameter) void QGCUASParamManager::requestParameterUpdate(int component, const QString& parameter)
{ {
if (mav) { if (mav) {
paramCommsMgr->requestParameterUpdate(component,parameter); paramCommsMgr.requestParameterUpdate(component,parameter);
} }
} }
...@@ -95,7 +92,7 @@ void QGCUASParamManager::requestParameterList() ...@@ -95,7 +92,7 @@ void QGCUASParamManager::requestParameterList()
{ {
if (mav) { if (mav) {
emit parameterStatusMsgUpdated(tr("Requested param list.. waiting"), UASParameterCommsMgr::ParamCommsStatusLevel_OK); emit parameterStatusMsgUpdated(tr("Requested param list.. waiting"), UASParameterCommsMgr::ParamCommsStatusLevel_OK);
paramCommsMgr->requestParameterList(); paramCommsMgr.requestParameterList();
} }
} }
...@@ -126,7 +123,7 @@ void QGCUASParamManager::setParameter(int compId, QString paramName, QVariant va ...@@ -126,7 +123,7 @@ void QGCUASParamManager::setParameter(int compId, QString paramName, QVariant va
void QGCUASParamManager::sendPendingParameters(bool persistAfterSend, bool forceSend) void QGCUASParamManager::sendPendingParameters(bool persistAfterSend, bool forceSend)
{ {
paramCommsMgr->sendPendingParameters(persistAfterSend, forceSend); paramCommsMgr.sendPendingParameters(persistAfterSend, forceSend);
} }
...@@ -156,7 +153,7 @@ void QGCUASParamManager::loadParamMetaInfoCSV() ...@@ -156,7 +153,7 @@ void QGCUASParamManager::loadParamMetaInfoCSV()
qDebug() << "loadParamMetaInfoCSV for autopilot: " << autopilot << " from file: " << fileName; qDebug() << "loadParamMetaInfoCSV for autopilot: " << autopilot << " from file: " << fileName;
if (!paramMetaFile.open(QIODevice::ReadOnly | QIODevice::Text)) { if (!paramMetaFile.open(QIODevice::ReadOnly | QIODevice::Text)) {
qWarning() << "loadParamMetaInfoCSV couldn't open:" << fileName; qDebug() << "loadParamMetaInfoCSV couldn't open:" << fileName;
return; return;
} }
...@@ -201,7 +198,7 @@ void QGCUASParamManager::copyVolatileParamsToPersistent() ...@@ -201,7 +198,7 @@ void QGCUASParamManager::copyVolatileParamsToPersistent()
msgBox.exec(); msgBox.exec();
} }
else { else {
paramCommsMgr->writeParamsToPersistentStorage(); paramCommsMgr.writeParamsToPersistentStorage();
} }
} }
...@@ -215,5 +212,5 @@ void QGCUASParamManager::copyPersistentParamsToVolatile() ...@@ -215,5 +212,5 @@ void QGCUASParamManager::copyPersistentParamsToVolatile()
void QGCUASParamManager::requestRcCalibrationParamsUpdate() { void QGCUASParamManager::requestRcCalibrationParamsUpdate() {
paramCommsMgr->requestRcCalibrationParamsUpdate(); paramCommsMgr.requestRcCalibrationParamsUpdate();
} }
...@@ -8,11 +8,11 @@ ...@@ -8,11 +8,11 @@
#include "UASParameterDataModel.h" #include "UASParameterDataModel.h"
#include "QGCUASParamManagerInterface.h" #include "QGCUASParamManagerInterface.h"
#include "UASParameterCommsMgr.h"
//forward declarations //forward declarations
class QTextStream; class QTextStream;
class UASInterface; class UASInterface;
class UASParameterCommsMgr;
class QGCUASParamManager : public QGCUASParamManagerInterface class QGCUASParamManager : public QGCUASParamManagerInterface
{ {
...@@ -125,7 +125,7 @@ protected: ...@@ -125,7 +125,7 @@ protected:
// Parameter data model // Parameter data model
UASInterface* mav; ///< The MAV this manager is controlling UASInterface* mav; ///< The MAV this manager is controlling
UASParameterDataModel paramDataModel;///< Shared data model of parameters UASParameterDataModel paramDataModel;///< Shared data model of parameters
UASParameterCommsMgr* paramCommsMgr; ///< Shared comms mgr for parameters UASParameterCommsMgr paramCommsMgr; ///< Shared comms mgr for parameters
}; };
......
Markdown is supported
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