diff --git a/files/images/devices/AC-0004-11-2.jpg b/files/images/devices/AC-0004-11-2.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..334486b6756e6b2671c1a2dd1099f2c051e4a20c
Binary files /dev/null and b/files/images/devices/AC-0004-11-2.jpg differ
diff --git a/qgroundcontrol.qrc b/qgroundcontrol.qrc
index b40e399506aa99057a2e25523a249abf192b7469..2f8034f33df93fcbf35c335d9927f628d4131184 100644
--- a/qgroundcontrol.qrc
+++ b/qgroundcontrol.qrc
@@ -111,6 +111,7 @@
files/images/mavs/frames-05.png
files/images/devices/BR-HMC5883-01-2.jpg
files/images/devices/BR-APMPWRDEAN-2.jpg
+ files/images/devices/AC-0004-11-2.jpg
files/styles/Vera.ttf
diff --git a/src/ui/configuration/SonarConfig.cc b/src/ui/configuration/SonarConfig.cc
index fa9ce05d704c6b8621026b96cb497586ca7ddcb7..fb3481d90836c49b8e0c3b253e36f6d66606ae16 100644
--- a/src/ui/configuration/SonarConfig.cc
+++ b/src/ui/configuration/SonarConfig.cc
@@ -1,11 +1,68 @@
#include "SonarConfig.h"
+#include
-
-SonarConfig::SonarConfig(QWidget *parent) : QWidget(parent)
+SonarConfig::SonarConfig(QWidget *parent) : AP2ConfigWidget(parent)
{
ui.setupUi(this);
+ connect(ui.enableCheckBox,SIGNAL(toggled(bool)),this,SLOT(checkBoxToggled(bool)));
+ connect(ui.sonarTypeComboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(sonarTypeChanged(int)));
+
+ ui.sonarTypeComboBox->addItem("XL-EZ0 / XL-EZ4");
+ ui.sonarTypeComboBox->addItem("LV-EZ0");
+ ui.sonarTypeComboBox->addItem("XL-EZL0");
+ ui.sonarTypeComboBox->addItem("HRLV");
}
SonarConfig::~SonarConfig()
{
}
+void SonarConfig::checkBoxToggled(bool enabled)
+{
+ if (enabled)
+ {
+ ui.sonarTypeComboBox->setEnabled(false);
+ }
+ if (!m_uas)
+ {
+ QMessageBox::information(0,tr("Error"),tr("Please connect to a MAV before attempting to set configuration"));
+ return;
+ }
+ m_uas->setParameter(0,"SONAR_ENABLE",ui.enableCheckBox->isChecked() ? 1 : 0);
+}
+void SonarConfig::sonarTypeChanged(int index)
+{
+ if (!m_uas)
+ {
+ QMessageBox::information(0,tr("Error"),tr("Please connect to a MAV before attempting to set configuration"));
+ return;
+ }
+ m_uas->setParameter(0,"SONAR_TYPE",ui.sonarTypeComboBox->currentIndex());
+}
+
+void SonarConfig::parameterChanged(int uas, int component, QString parameterName, QVariant value)
+{
+ if (parameterName == "SONAR_ENABLE")
+ {
+ if (value.toInt() == 0)
+ {
+ //Disabled
+ disconnect(ui.enableCheckBox,SIGNAL(toggled(bool)),this,SLOT(checkBoxToggled(bool)));
+ ui.enableCheckBox->setChecked(false);
+ connect(ui.enableCheckBox,SIGNAL(toggled(bool)),this,SLOT(checkBoxToggled(bool)));
+ ui.sonarTypeComboBox->setEnabled(false);
+ }
+ else
+ {
+ disconnect(ui.enableCheckBox,SIGNAL(toggled(bool)),this,SLOT(checkBoxToggled(bool)));
+ ui.enableCheckBox->setChecked(true);
+ connect(ui.enableCheckBox,SIGNAL(toggled(bool)),this,SLOT(checkBoxToggled(bool)));
+ ui.sonarTypeComboBox->setEnabled(true);
+ }
+ }
+ else if (parameterName == "SONAR_TYPE")
+ {
+ disconnect(ui.sonarTypeComboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(sonarTypeChanged(int)));
+ ui.sonarTypeComboBox->setCurrentIndex(value.toInt());
+ connect(ui.sonarTypeComboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(sonarTypeChanged(int)));
+ }
+}
diff --git a/src/ui/configuration/SonarConfig.h b/src/ui/configuration/SonarConfig.h
index 07dc9cfbcde908401b91b1764c984b14d7200a3e..825591a65294e37f5359675d715103031bf601c9 100644
--- a/src/ui/configuration/SonarConfig.h
+++ b/src/ui/configuration/SonarConfig.h
@@ -2,16 +2,20 @@
#define SONARCONFIG_H
#include
+#include "AP2ConfigWidget.h"
#include "ui_SonarConfig.h"
-class SonarConfig : public QWidget
+class SonarConfig : public AP2ConfigWidget
{
Q_OBJECT
public:
explicit SonarConfig(QWidget *parent = 0);
~SonarConfig();
-
+private slots:
+ void parameterChanged(int uas, int component, QString parameterName, QVariant value);
+ void checkBoxToggled(bool enabled);
+ void sonarTypeChanged(int index);
private:
Ui::SonarConfig ui;
};
diff --git a/src/ui/configuration/SonarConfig.ui b/src/ui/configuration/SonarConfig.ui
index e286253853b60b192241715a33dcecf0e1298689..6bce3475ae776af46200c947cb29004b44b9e676 100644
--- a/src/ui/configuration/SonarConfig.ui
+++ b/src/ui/configuration/SonarConfig.ui
@@ -6,8 +6,8 @@
0
0
- 400
- 300
+ 651
+ 432
@@ -29,7 +29,51 @@
false
+
+
+
+ 30
+ 60
+ 91
+ 81
+
+
+
+
+
+
+ :/files/images/devices/AC-0004-11-2.jpg
+
+
+ true
+
+
+
+
+
+ 140
+ 60
+ 70
+ 17
+
+
+
+ CheckBox
+
+
+
+
+
+ 150
+ 100
+ 171
+ 22
+
+
+
-
+
+
+