Browse Source

Postpone parameter updates for a bit.

QGC4.4
Gus Grubba 8 years ago
parent
commit
dec4ee1f1b
  1. 17
      src/Camera/QGCCameraControl.cc
  2. 2
      src/Camera/QGCCameraControl.h

17
src/Camera/QGCCameraControl.cc

@ -984,9 +984,24 @@ QGCCameraControl::_updateRanges(Fact* pFact) @@ -984,9 +984,24 @@ QGCCameraControl::_updateRanges(Fact* pFact)
//-- Parameter update requests
if(_requestUpdates.contains(pFact->name())) {
foreach(QString param, _requestUpdates[pFact->name()]) {
_paramIO[param]->paramRequest();
if(!_updatesToRequest.contains(param)) {
_updatesToRequest << param;
}
}
}
if(_updatesToRequest.size()) {
QTimer::singleShot(500, this, &QGCCameraControl::_requestParamUpdates);
}
}
//-----------------------------------------------------------------------------
void
QGCCameraControl::_requestParamUpdates()
{
foreach(QString param, _updatesToRequest) {
_paramIO[param]->paramRequest();
}
_updatesToRequest.clear();
}
//-----------------------------------------------------------------------------

2
src/Camera/QGCCameraControl.h

@ -166,6 +166,7 @@ private slots: @@ -166,6 +166,7 @@ private slots:
void _initWhenReady ();
void _requestCameraSettings ();
void _requestAllParameters ();
void _requestParamUpdates ();
void _requestCaptureStatus ();
void _requestStorageInfo ();
void _downloadFinished ();
@ -219,4 +220,5 @@ protected: @@ -219,4 +220,5 @@ protected:
int _captureInfoRetries;
//-- Parameters that require a full update
QMap<QString, QStringList> _requestUpdates;
QStringList _updatesToRequest;
};

Loading…
Cancel
Save