From d440a4d62bf7b9b087bba0aa9b6da1a2249c5a04 Mon Sep 17 00:00:00 2001 From: Michael Carpenter Date: Fri, 28 Jun 2013 08:27:27 -0400 Subject: [PATCH] Implementation of Optical Flow config --- files/images/devices/BR-0016-01-3T.jpg | Bin 0 -> 12395 bytes qgroundcontrol.qrc | 1 + src/ui/configuration/OpticalFlowConfig.cc | 29 +++++++++++++++-- src/ui/configuration/OpticalFlowConfig.h | 7 +++-- src/ui/configuration/OpticalFlowConfig.ui | 36 +++++++++++++++++++++- 5 files changed, 68 insertions(+), 5 deletions(-) create mode 100644 files/images/devices/BR-0016-01-3T.jpg diff --git a/files/images/devices/BR-0016-01-3T.jpg b/files/images/devices/BR-0016-01-3T.jpg new file mode 100644 index 0000000000000000000000000000000000000000..534eba3f0b7cfa4f16f7aeab02f410bc489bc50b GIT binary patch literal 12395 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 Se#G#H{b%d`zaE3$%>EZ6CH4^j literal 0 HcmV?d00001 diff --git a/qgroundcontrol.qrc b/qgroundcontrol.qrc index c9e4ccbf4..bf6092bcf 100644 --- a/qgroundcontrol.qrc +++ b/qgroundcontrol.qrc @@ -113,6 +113,7 @@ files/images/devices/BR-APMPWRDEAN-2.jpg files/images/devices/AC-0004-11-2.jpg files/images/devices/BR-0004-03-2.jpg + files/images/devices/BR-0016-01-3T.jpg files/styles/Vera.ttf diff --git a/src/ui/configuration/OpticalFlowConfig.cc b/src/ui/configuration/OpticalFlowConfig.cc index bc977317b..7c3943117 100644 --- a/src/ui/configuration/OpticalFlowConfig.cc +++ b/src/ui/configuration/OpticalFlowConfig.cc @@ -1,11 +1,36 @@ #include "OpticalFlowConfig.h" +#include - -OpticalFlowConfig::OpticalFlowConfig(QWidget *parent) : QWidget(parent) +OpticalFlowConfig::OpticalFlowConfig(QWidget *parent) : AP2ConfigWidget(parent) { ui.setupUi(this); + connect(ui.enableCheckBox,SIGNAL(clicked(bool)),this,SLOT(enableCheckBoxClicked(bool))); } OpticalFlowConfig::~OpticalFlowConfig() { } +void OpticalFlowConfig::parameterChanged(int uas, int component, QString parameterName, QVariant value) +{ + if (parameterName == "FLOW_ENABLE") + { + if (value.toInt() == 0) + { + ui.enableCheckBox->setChecked(false); + } + else + { + ui.enableCheckBox->setChecked(true); + } + } +} + +void OpticalFlowConfig::enableCheckBoxClicked(bool checked) +{ + if (!m_uas) + { + QMessageBox::information(0,tr("Error"),tr("Please connect to a MAV before attempting to set configuration")); + return; + } + m_uas->setParameter(0,"FLOW_ENABLE",checked ? 1 : 0); +} diff --git a/src/ui/configuration/OpticalFlowConfig.h b/src/ui/configuration/OpticalFlowConfig.h index 72ea2b0a3..38b4ae7eb 100644 --- a/src/ui/configuration/OpticalFlowConfig.h +++ b/src/ui/configuration/OpticalFlowConfig.h @@ -2,16 +2,19 @@ #define OPTICALFLOWCONFIG_H #include +#include "AP2ConfigWidget.h" #include "ui_OpticalFlowConfig.h" -class OpticalFlowConfig : public QWidget +class OpticalFlowConfig : public AP2ConfigWidget { Q_OBJECT public: explicit OpticalFlowConfig(QWidget *parent = 0); ~OpticalFlowConfig(); - +private slots: + void parameterChanged(int uas, int component, QString parameterName, QVariant value); + void enableCheckBoxClicked(bool checked); private: Ui::OpticalFlowConfig ui; }; diff --git a/src/ui/configuration/OpticalFlowConfig.ui b/src/ui/configuration/OpticalFlowConfig.ui index 19ffbd7e4..e5a5bce4c 100644 --- a/src/ui/configuration/OpticalFlowConfig.ui +++ b/src/ui/configuration/OpticalFlowConfig.ui @@ -29,7 +29,41 @@ false + + + + 100 + 60 + 70 + 17 + + + + Enable + + + + + + 10 + 60 + 81 + 71 + + + + + + + :/files/images/devices/BR-0016-01-3T.jpg + + + true + + - + + + -- 2.22.0