From adc638588084af46df7d32dd90946f39b4d33ed6 Mon Sep 17 00:00:00 2001 From: edouard Date: Thu, 19 Aug 2010 20:39:19 +0000 Subject: [PATCH] OP-115 UAV Control gadget now preserves initial state of metadata when it stops. git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1338 ebee16cc-31ac-478f-84a7-5cbb03baadba --- .../plugins/gcscontrol/gcscontrolgadgetwidget.cpp | 12 +++++++----- .../src/plugins/gcscontrol/gcscontrolgadgetwidget.h | 1 + 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/ground/src/plugins/gcscontrol/gcscontrolgadgetwidget.cpp b/ground/src/plugins/gcscontrol/gcscontrolgadgetwidget.cpp index 55ed3642d..3df807922 100644 --- a/ground/src/plugins/gcscontrol/gcscontrolgadgetwidget.cpp +++ b/ground/src/plugins/gcscontrol/gcscontrolgadgetwidget.cpp @@ -79,16 +79,18 @@ void GCSControlGadgetWidget::gcsControlToggle(int state) UAVObject::Metadata mdata = getMCC()->getMetadata(); if (state) { + mccInitialData = mdata; mdata.flightAccess = UAVObject::ACCESS_READONLY; + mdata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE; + mdata.gcsTelemetryAcked = false; + mdata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE; + mdata.gcsTelemetryUpdatePeriod = 100; + } else { - mdata.flightAccess = UAVObject::ACCESS_READWRITE; + mdata = mccInitialData; } - mdata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE; - mdata.gcsTelemetryAcked = false; - mdata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_ONCHANGE; - mdata.gcsTelemetryUpdatePeriod = 100; getMCC()->setMetadata(mdata); } diff --git a/ground/src/plugins/gcscontrol/gcscontrolgadgetwidget.h b/ground/src/plugins/gcscontrol/gcscontrolgadgetwidget.h index 437d4c094..802811567 100644 --- a/ground/src/plugins/gcscontrol/gcscontrolgadgetwidget.h +++ b/ground/src/plugins/gcscontrol/gcscontrolgadgetwidget.h @@ -48,6 +48,7 @@ private slots: private: Ui_GCSControl *m_gcscontrol; ManualControlCommand* getMCC(); + UAVObject::Metadata mccInitialData; }; #endif /* GCSControlGADGETWIDGET_H_ */