1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-03-16 08:29:15 +01:00

LP-505 Handle OpenLRS unbinding

This commit is contained in:
Laurent Lalanne 2017-05-09 22:10:57 +02:00
parent eb59d7381f
commit ba5e5695db

View File

@ -258,6 +258,7 @@ void ConfigOPLinkWidget::updateSettings()
{ {
// qDebug() << "ConfigOPLinkWidget::updateSettings"; // qDebug() << "ConfigOPLinkWidget::updateSettings";
bool is_openlrs = isComboboxOptionSelected(m_oplink->Protocol, OPLinkSettings::PROTOCOL_OPENLRS);
bool is_coordinator = isComboboxOptionSelected(m_oplink->Protocol, OPLinkSettings::PROTOCOL_OPLINKCOORDINATOR); bool is_coordinator = isComboboxOptionSelected(m_oplink->Protocol, OPLinkSettings::PROTOCOL_OPLINKCOORDINATOR);
bool is_receiver = isComboboxOptionSelected(m_oplink->Protocol, OPLinkSettings::PROTOCOL_OPLINKRECEIVER); bool is_receiver = isComboboxOptionSelected(m_oplink->Protocol, OPLinkSettings::PROTOCOL_OPLINKRECEIVER);
bool is_oplink = (is_receiver || is_coordinator); bool is_oplink = (is_receiver || is_coordinator);
@ -296,8 +297,10 @@ void ConfigOPLinkWidget::updateSettings()
m_oplink->FlexiPort->setEnabled(is_oplink || is_vcp_flexi); m_oplink->FlexiPort->setEnabled(is_oplink || is_vcp_flexi);
m_oplink->MainComSpeed->setEnabled(is_oplink && !is_ppm_only && !is_vcp_main && (is_main_serial || is_main_telem)); m_oplink->MainComSpeed->setEnabled(is_oplink && !is_ppm_only && !is_vcp_main && (is_main_serial || is_main_telem));
m_oplink->FlexiComSpeed->setEnabled(is_oplink && !is_ppm_only && !is_vcp_flexi && (is_flexi_serial || is_flexi_telem)); m_oplink->FlexiComSpeed->setEnabled(is_oplink && !is_ppm_only && !is_vcp_flexi && (is_flexi_serial || is_flexi_telem));
m_oplink->CoordID->setEnabled(is_receiver); m_oplink->CoordID->setEnabled(is_receiver || is_openlrs);
m_oplink->UnbindButton->setEnabled(is_receiver && is_bound); m_oplink->CoordID->setReadOnly(is_openlrs);
m_oplink->UnbindButton->setEnabled((is_receiver && is_bound) || is_openlrs);
m_oplink->CustomDeviceID->setEnabled(is_coordinator); m_oplink->CustomDeviceID->setEnabled(is_coordinator);
m_oplink->ClearDeviceButton->setEnabled(is_coordinator && is_custom_id); m_oplink->ClearDeviceButton->setEnabled(is_coordinator && is_custom_id);
@ -601,22 +604,22 @@ void ConfigOPLinkWidget::vcpBridgeChanged()
void ConfigOPLinkWidget::unbind() void ConfigOPLinkWidget::unbind()
{ {
// Clear the coordinator ID // Clear the coordinator ID
oplinkSettingsObj->setCoordID(0);
m_oplink->CoordID->clear(); m_oplink->CoordID->clear();
// Clear the OpenLRS settings // Clear the OpenLRS settings when needed
oplinkSettingsObj->setVersion((quint16)0); if (isComboboxOptionSelected(m_oplink->Protocol, OPLinkSettings::PROTOCOL_OPENLRS)) {
oplinkSettingsObj->setSerialBaudrate(0); oplinkSettingsObj->setVersion((quint16)0);
oplinkSettingsObj->setRFFrequency(0); oplinkSettingsObj->setSerialBaudrate(0);
oplinkSettingsObj->setRFPower((quint16)0); oplinkSettingsObj->setRFFrequency(0);
oplinkSettingsObj->setRFChannelSpacing((quint16)0); oplinkSettingsObj->setRFPower((quint16)0);
oplinkSettingsObj->setModemParams((quint16)0); oplinkSettingsObj->setRFChannelSpacing((quint16)0);
oplinkSettingsObj->setFlags((quint16)0); oplinkSettingsObj->setModemParams((quint16)0);
oplinkSettingsObj->setFlags((quint16)0);
}
} }
void ConfigOPLinkWidget::clearDeviceID() void ConfigOPLinkWidget::clearDeviceID()
{ {
// Clear the device ID // Clear the OPLM device ID
oplinkSettingsObj->setCustomDeviceID(0);
m_oplink->CustomDeviceID->clear(); m_oplink->CustomDeviceID->clear();
} }