diff --git a/files/images/devices/BR-0004-03-2.jpg b/files/images/devices/BR-0004-03-2.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..0126646ef48942d00ed34f2b0e720b26a308f155
Binary files /dev/null and b/files/images/devices/BR-0004-03-2.jpg differ
diff --git a/qgroundcontrol.qrc b/qgroundcontrol.qrc
index 2f8034f33df93fcbf35c335d9927f628d4131184..c9e4ccbf482b76511396ee7a402d82f556a68c29 100644
--- a/qgroundcontrol.qrc
+++ b/qgroundcontrol.qrc
@@ -112,6 +112,7 @@
files/images/devices/BR-HMC5883-01-2.jpg
files/images/devices/BR-APMPWRDEAN-2.jpg
files/images/devices/AC-0004-11-2.jpg
+ files/images/devices/BR-0004-03-2.jpg
files/styles/Vera.ttf
diff --git a/src/ui/configuration/AirspeedConfig.cc b/src/ui/configuration/AirspeedConfig.cc
index bff387fb6aa82f8f61828e0eac4b2ac008e1df01..8402622ee63b0ada9d09dbe0eca8906e4253e28c 100644
--- a/src/ui/configuration/AirspeedConfig.cc
+++ b/src/ui/configuration/AirspeedConfig.cc
@@ -1,11 +1,82 @@
#include "AirspeedConfig.h"
+#include
-
-AirspeedConfig::AirspeedConfig(QWidget *parent) : QWidget(parent)
+AirspeedConfig::AirspeedConfig(QWidget *parent) : AP2ConfigWidget(parent)
{
ui.setupUi(this);
+ connect(ui.enableCheckBox,SIGNAL(toggled(bool)),this,SLOT(enableCheckBoxClicked(bool)));
+ connect(ui.useAirspeedCheckBox,SIGNAL(toggled(bool)),this,SLOT(useCheckBoxClicked(bool)));
}
AirspeedConfig::~AirspeedConfig()
{
}
+void AirspeedConfig::parameterChanged(int uas, int component, QString parameterName, QVariant value)
+{
+ if (parameterName == "ARSPD_ENABLE")
+ {
+ if (value.toInt() == 0)
+ {
+ disconnect(ui.enableCheckBox,SIGNAL(toggled(bool)),this,SLOT(enableCheckBoxClicked(bool)));
+ ui.enableCheckBox->setChecked(false);
+ connect(ui.enableCheckBox,SIGNAL(toggled(bool)),this,SLOT(enableCheckBoxClicked(bool)));
+ ui.useAirspeedCheckBox->setEnabled(false);
+ }
+ else
+ {
+ disconnect(ui.enableCheckBox,SIGNAL(toggled(bool)),this,SLOT(enableCheckBoxClicked(bool)));
+ ui.enableCheckBox->setChecked(true);
+ connect(ui.enableCheckBox,SIGNAL(toggled(bool)),this,SLOT(enableCheckBoxClicked(bool)));
+ ui.useAirspeedCheckBox->setEnabled(true);
+ }
+ }
+ else if (parameterName == "ARSPD_USE")
+ {
+ if (value.toInt() == 0)
+ {
+ disconnect(ui.useAirspeedCheckBox,SIGNAL(toggled(bool)),this,SLOT(useCheckBoxClicked(bool)));
+ ui.useAirspeedCheckBox->setChecked(false);
+ connect(ui.useAirspeedCheckBox,SIGNAL(toggled(bool)),this,SLOT(useCheckBoxClicked(bool)));
+ }
+ else
+ {
+ disconnect(ui.useAirspeedCheckBox,SIGNAL(toggled(bool)),this,SLOT(useCheckBoxClicked(bool)));
+ ui.useAirspeedCheckBox->setChecked(true);
+ connect(ui.useAirspeedCheckBox,SIGNAL(toggled(bool)),this,SLOT(useCheckBoxClicked(bool)));
+ }
+ }
+}
+
+void AirspeedConfig::useCheckBoxClicked(bool checked)
+{
+ if (!m_uas)
+ {
+ QMessageBox::information(0,tr("Error"),tr("Please connect to a MAV before attempting to set configuration"));
+ return;
+ }
+ if (checked)
+ {
+ m_uas->setParameter(0,"ARSPD_USE",1);
+ }
+ else
+ {
+ m_uas->setParameter(0,"ARSPD_USE",0);
+ }
+}
+
+void AirspeedConfig::enableCheckBoxClicked(bool checked)
+{
+ if (!m_uas)
+ {
+ QMessageBox::information(0,tr("Error"),tr("Please connect to a MAV before attempting to set configuration"));
+ return;
+ }
+ if (checked)
+ {
+ m_uas->setParameter(0,"ARSPD_ENABLE",1);
+ }
+ else
+ {
+ m_uas->setParameter(0,"ARSPD_ENABLE",0);
+ }
+}
diff --git a/src/ui/configuration/AirspeedConfig.h b/src/ui/configuration/AirspeedConfig.h
index cd67ba49ece8b3f478060d6196ca69120c3c4f4f..1646b36759fa0154eb23120203edc0873ead70bc 100644
--- a/src/ui/configuration/AirspeedConfig.h
+++ b/src/ui/configuration/AirspeedConfig.h
@@ -2,16 +2,20 @@
#define AIRSPEEDCONFIG_H
#include
+#include "AP2ConfigWidget.h"
#include "ui_AirspeedConfig.h"
-class AirspeedConfig : public QWidget
+class AirspeedConfig : public AP2ConfigWidget
{
Q_OBJECT
public:
explicit AirspeedConfig(QWidget *parent = 0);
~AirspeedConfig();
-
+private slots:
+ void parameterChanged(int uas, int component, QString parameterName, QVariant value);
+ void useCheckBoxClicked(bool checked);
+ void enableCheckBoxClicked(bool checked);
private:
Ui::AirspeedConfig ui;
};
diff --git a/src/ui/configuration/AirspeedConfig.ui b/src/ui/configuration/AirspeedConfig.ui
index 07c97247a9cd5c7bf278a54c5d860394a466dc28..7d33cae3664b7dec1d1e5ce1bbf64beca2735ed7 100644
--- a/src/ui/configuration/AirspeedConfig.ui
+++ b/src/ui/configuration/AirspeedConfig.ui
@@ -29,7 +29,54 @@
false
+
+
+
+ 20
+ 60
+ 71
+ 71
+
+
+
+
+
+
+ :/files/images/devices/BR-0004-03-2.jpg
+
+
+ true
+
+
+
+
+
+ 110
+ 70
+ 70
+ 17
+
+
+
+ Enable
+
+
+
+
+
+ 110
+ 100
+ 91
+ 17
+
+
+
+ Use Airspeed
+
+
-
+
+
+