Newer
Older
Michael Carpenter
committed
#include "SonarConfig.h"
Michael Carpenter
committed
SonarConfig::SonarConfig(QWidget *parent) : AP2ConfigWidget(parent)
Michael Carpenter
committed
{
ui.setupUi(this);
ui.sonarTypeComboBox->addItem("XL-EZ0 / XL-EZ4");
ui.sonarTypeComboBox->addItem("LV-EZ0");
ui.sonarTypeComboBox->addItem("XL-EZL0");
ui.sonarTypeComboBox->addItem("HRLV");
Michael Carpenter
committed
connect(ui.enableCheckBox,SIGNAL(toggled(bool)),this,SLOT(checkBoxToggled(bool)));
connect(ui.sonarTypeComboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(sonarTypeChanged(int)));
Michael Carpenter
committed
initConnections();
Michael Carpenter
committed
}
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;
}
Michael Carpenter
committed
m_uas->getParamManager()->setParameter(1,"SONAR_ENABLE",ui.enableCheckBox->isChecked() ? 1 : 0);
}
void SonarConfig::sonarTypeChanged(int index)
{
Don Gagne
committed
Q_UNUSED(index);
if (!m_uas)
{
QMessageBox::information(0,tr("Error"),tr("Please connect to a MAV before attempting to set configuration"));
return;
}
Michael Carpenter
committed
m_uas->getParamManager()->setParameter(1,"SONAR_TYPE",ui.sonarTypeComboBox->currentIndex());
}
void SonarConfig::parameterChanged(int uas, int component, QString parameterName, QVariant value)
{
Don Gagne
committed
Q_UNUSED(uas);
Q_UNUSED(component);
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)));
}
}