diff --git a/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp b/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp index a8827436c..128f9885b 100644 --- a/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp +++ b/ground/openpilotgcs/src/plugins/config/configinputwidget.cpp @@ -455,8 +455,15 @@ void ConfigInputWidget::wizardSetUpStep(enum wizardSteps step) manualSettingsData=manualSettingsObj->getData(); for(uint i=0;igetFields().at(0)->getElementNames()) + + for (int index = 0; index < manualSettingsObj->getField("ChannelMax")->getElementNames().length(); index++) { + QString name = manualSettingsObj->getField("ChannelMax")->getElementNames().at(index); if(!name.contains("Access") && !name.contains("Flight")) { QCheckBox * cb=new QCheckBox(name,this); + // Make sure checked status matches current one + cb->setChecked(manualSettingsData.ChannelMax[index] < manualSettingsData.ChannelMin[index]); + extraWidgets.append(cb); m_config->checkBoxesLayout->layout()->addWidget(cb); + connect(cb,SIGNAL(toggled(bool)),this,SLOT(invertControls())); } } @@ -711,10 +724,19 @@ void ConfigInputWidget::identifyLimits() manualCommandData=manualCommandObj->getData(); for(uint i=0;imanualCommandData.Channel[i]) - manualSettingsData.ChannelMin[i]=manualCommandData.Channel[i]; - if(manualSettingsData.ChannelMax[i]manualCommandData.Channel[i]) + manualSettingsData.ChannelMin[i]=manualCommandData.Channel[i]; + if(manualSettingsData.ChannelMax[i]manualCommandData.Channel[i]) + manualSettingsData.ChannelMax[i]=manualCommandData.Channel[i]; + if(manualSettingsData.ChannelMin[i]setData(manualSettingsData); }