@@ -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)
7872void 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