|
|
|
@ -3,9 +3,106 @@
@@ -3,9 +3,106 @@
|
|
|
|
|
|
|
|
|
|
CompassConfig::CompassConfig(QWidget *parent) : QWidget(parent) |
|
|
|
|
{ |
|
|
|
|
m_uas=0; |
|
|
|
|
ui.setupUi(this); |
|
|
|
|
} |
|
|
|
|
ui.autoDecCheckBox->setEnabled(false); |
|
|
|
|
ui.enableCheckBox->setEnabled(false); |
|
|
|
|
ui.orientationComboBox->setEnabled(false); |
|
|
|
|
ui.declinationLineEdit->setEnabled(false); |
|
|
|
|
connect(ui.enableCheckBox,SIGNAL(clicked(bool)),this,SLOT(enableClicked(bool))); |
|
|
|
|
connect(ui.autoDecCheckBox,SIGNAL(clicked(bool)),this,SLOT(autoDecClicked(bool))); |
|
|
|
|
connect(ui.orientationComboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(orientationComboChanged(int))); |
|
|
|
|
|
|
|
|
|
connect(UASManager::instance(),SIGNAL(activeUASSet(UASInterface*)),this,SLOT(activeUASSet(UASInterface*))); |
|
|
|
|
activeUASSet(UASManager::instance()->getActiveUAS()); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
CompassConfig::~CompassConfig() |
|
|
|
|
{ |
|
|
|
|
} |
|
|
|
|
void CompassConfig::activeUASSet(UASInterface *uas) |
|
|
|
|
{ |
|
|
|
|
if (!uas) return; |
|
|
|
|
if (!m_uas) |
|
|
|
|
{ |
|
|
|
|
disconnect(m_uas,SIGNAL(parameterChanged(int,int,QString,QVariant)),this,SLOT(parameterChanged(int,int,QString,QVariant))); |
|
|
|
|
} |
|
|
|
|
m_uas = uas; |
|
|
|
|
connect(m_uas,SIGNAL(parameterChanged(int,int,QString,QVariant)),this,SLOT(parameterChanged(int,int,QString,QVariant))); |
|
|
|
|
} |
|
|
|
|
void CompassConfig::parameterChanged(int uas, int component, QString parameterName, QVariant value) |
|
|
|
|
{ |
|
|
|
|
if (parameterName == "MAG_ENABLE") |
|
|
|
|
{ |
|
|
|
|
if (value.toInt() == 0) |
|
|
|
|
{ |
|
|
|
|
ui.enableCheckBox->setChecked(false); |
|
|
|
|
ui.autoDecCheckBox->setEnabled(false); |
|
|
|
|
ui.declinationLineEdit->setEnabled(false); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
ui.enableCheckBox->setChecked(true); |
|
|
|
|
ui.autoDecCheckBox->setEnabled(true); |
|
|
|
|
ui.declinationLineEdit->setEnabled(true); |
|
|
|
|
} |
|
|
|
|
ui.enableCheckBox->setEnabled(true); |
|
|
|
|
} |
|
|
|
|
else if (parameterName == "COMPASS_AUTODEC") |
|
|
|
|
{ |
|
|
|
|
if (value.toInt() == 0) |
|
|
|
|
{ |
|
|
|
|
ui.autoDecCheckBox->setChecked(false); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
ui.autoDecCheckBox->setChecked(true); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else if (parameterName == "COMPASS_DEC") |
|
|
|
|
{ |
|
|
|
|
ui.declinationLineEdit->setText(QString::number(value.toDouble())); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void CompassConfig::enableClicked(bool enabled) |
|
|
|
|
{ |
|
|
|
|
if (m_uas) |
|
|
|
|
{ |
|
|
|
|
if (enabled) |
|
|
|
|
{ |
|
|
|
|
m_uas->setParameter(0,"MAG_ENABLE",QVariant(1)); |
|
|
|
|
ui.autoDecCheckBox->setEnabled(true); |
|
|
|
|
if (!ui.autoDecCheckBox->isChecked()) |
|
|
|
|
{ |
|
|
|
|
ui.declinationLineEdit->setEnabled(true); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
m_uas->setParameter(0,"MAG_ENABLE",QVariant(0)); |
|
|
|
|
ui.autoDecCheckBox->setEnabled(false); |
|
|
|
|
ui.declinationLineEdit->setEnabled(false); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void CompassConfig::autoDecClicked(bool enabled) |
|
|
|
|
{ |
|
|
|
|
if (m_uas) |
|
|
|
|
{ |
|
|
|
|
if (enabled) |
|
|
|
|
{ |
|
|
|
|
m_uas->setParameter(0,"COMPASS_AUTODEC",QVariant(1)); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
m_uas->setParameter(0,"COMPASS_AUTODEC",QVariant(0)); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void CompassConfig::orientationComboChanged(int index) |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|