You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.6 KiB
82 lines
2.6 KiB
#include "AirspeedConfig.h" |
|
#include <QMessageBox> |
|
|
|
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); |
|
} |
|
}
|
|
|