Skip to content

Commit ed8c33f

Browse files
committed
LP-525 Fixed DSMxBind combo options.
1 parent 1b0ceae commit ed8c33f

1 file changed

Lines changed: 21 additions & 14 deletions

File tree

ground/gcs/src/plugins/config/commonhwsettingswidget.cpp

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,8 @@ CommonHWSettingsWidget::CommonHWSettingsWidget(QWidget *parent) : QWidget(parent
4040

4141
m_ui->cbDSMxBind->addItem(tr("Disabled"), 0);
4242

43-
m_ui->cbDSMxBind->addItem(tr("DSM2 1024bit/22ms"), 3);
44-
m_ui->cbDSMxBind->addItem(tr("DSM2 2048bit/11ms"), 5);
45-
m_ui->cbDSMxBind->addItem(tr("DSMX 1024bit/22ms"), 7);
46-
m_ui->cbDSMxBind->addItem(tr("DSMX 2048bit/22ms"), 8);
47-
m_ui->cbDSMxBind->addItem(tr("DSMX 2048bit/11ms"), 9);
48-
49-
m_ui->cbDSMxBind->setCurrentIndex(0);
50-
43+
// combo->addItem(options.at(optionIndex), QVariant(optionIndex));
44+
5145
setFeatures(0);
5246

5347
// Relay signals from private members
@@ -69,7 +63,7 @@ void CommonHWSettingsWidget::registerWidgets(ConfigTaskWidget &ct)
6963
ct.addWidgetBinding("HwSettings", "GPSSpeed", m_ui->cbGPSSpeed);
7064
ct.addWidgetBinding("HwSettings", "DebugConsoleSpeed", m_ui->cbDebugConsoleSpeed);
7165
ct.addWidgetBinding("HwSettings", "SBusMode", m_ui->cbSBUSMode);
72-
66+
7367
ct.addWidgetBinding("HwSettings", "DSMxBind", m_ui->cbDSMxBind, 0, 1, true);
7468

7569
ct.addWidgetBinding("GPSSettings", "DataProtocol", m_ui->cbGPSProtocol);
@@ -78,14 +72,27 @@ void CommonHWSettingsWidget::registerWidgets(ConfigTaskWidget &ct)
7872
void CommonHWSettingsWidget::refreshWidgetsValues(UAVObject *obj)
7973
{
8074
Q_UNUSED(obj);
81-
75+
8276
UAVObjectManager *objMngr = ExtensionSystem::PluginManager::instance()->getObject<UAVObjectManager>();
83-
77+
8478
int option = HwSettings::GetInstance(objMngr)->getDSMxBind();
85-
86-
if(m_ui->cbDSMxBind->findData(option) == -1) {
79+
80+
if (m_ui->cbDSMxBind->count() == 0) {
81+
m_ui->cbDSMxBind->addItem(tr("None"), 0);
82+
m_ui->cbDSMxBind->addItem(tr("DSM2 1024bit/22ms"), 3);
83+
m_ui->cbDSMxBind->addItem(tr("DSM2 2048bit/11ms"), 5);
84+
m_ui->cbDSMxBind->addItem(tr("DSMX 1024bit/22ms"), 7);
85+
m_ui->cbDSMxBind->addItem(tr("DSMX 2048bit/22ms"), 8);
86+
m_ui->cbDSMxBind->addItem(tr("DSMX 2048bit/11ms"), 9);
87+
}
88+
89+
int index = m_ui->cbDSMxBind->findData(option);
90+
91+
if (index == -1) {
8792
m_ui->cbDSMxBind->addItem(tr("%1 Pulses").arg(option), option);
88-
m_ui->cbDSMxBind->setCurrentIndex(-1);
93+
m_ui->cbDSMxBind->setCurrentIndex(m_ui->cbDSMxBind->count() - 1);
94+
} else {
95+
m_ui->cbDSMxBind->setCurrentIndex(index);
8996
}
9097
}
9198

0 commit comments

Comments
 (0)