mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-20 10:54:14 +01:00
LP-520 Oplink : Add PPM Rssi option to Gui - Allow only one PPM port
This commit is contained in:
parent
20ac6ed1e3
commit
673dbeee40
@ -82,6 +82,7 @@ ConfigOPLinkWidget::ConfigOPLinkWidget(QWidget *parent) : ConfigTaskWidget(paren
|
||||
addWidgetBinding("OPLinkSettings", "MaxRFPower", m_oplink->MaxRFTxPower);
|
||||
addWidgetBinding("OPLinkSettings", "MainPort", m_oplink->MainPort);
|
||||
addWidgetBinding("OPLinkSettings", "FlexiPort", m_oplink->FlexiPort);
|
||||
addWidgetBinding("OPLinkSettings", "PPMOutRSSI", m_oplink->PPMoutRssi);
|
||||
addWidgetBinding("OPLinkSettings", "RadioPriStream", m_oplink->RadioPriStream);
|
||||
addWidgetBinding("OPLinkSettings", "RadioAuxStream", m_oplink->RadioAuxStream);
|
||||
addWidgetBinding("OPLinkSettings", "VCPBridge", m_oplink->VCPBridge);
|
||||
@ -263,6 +264,7 @@ void ConfigOPLinkWidget::updateSettings()
|
||||
bool is_receiver = isComboboxOptionSelected(m_oplink->Protocol, OPLinkSettings::PROTOCOL_OPLINKRECEIVER);
|
||||
bool is_oplink = (is_receiver || is_coordinator);
|
||||
bool is_ppm_only = isComboboxOptionSelected(m_oplink->LinkType, OPLinkSettings::LINKTYPE_CONTROL);
|
||||
bool is_ppm = isComboboxOptionSelected(m_oplink->LinkType, OPLinkSettings::LINKTYPE_DATAANDCONTROL);
|
||||
bool is_main_serial = isComboboxOptionSelected(m_oplink->MainPort, OPLinkSettings::MAINPORT_SERIAL);
|
||||
bool is_main_telem = isComboboxOptionSelected(m_oplink->MainPort, OPLinkSettings::MAINPORT_TELEMETRY);
|
||||
bool is_flexi_serial = isComboboxOptionSelected(m_oplink->FlexiPort, OPLinkSettings::FLEXIPORT_SERIAL);
|
||||
@ -277,6 +279,9 @@ void ConfigOPLinkWidget::updateSettings()
|
||||
bool is_stream_flexi = isComboboxOptionSelected(m_oplink->RadioPriStream, OPLinkSettings::RADIOPRISTREAM_FLEXI) ||
|
||||
isComboboxOptionSelected(m_oplink->RadioAuxStream, OPLinkSettings::RADIOAUXSTREAM_FLEXI);
|
||||
|
||||
bool is_flexi_ppm = isComboboxOptionSelected(m_oplink->FlexiPort, OPLinkSettings::FLEXIPORT_PPM);
|
||||
bool is_main_ppm = isComboboxOptionSelected(m_oplink->MainPort, OPLinkSettings::MAINPORT_PPM);
|
||||
|
||||
if (!is_stream_main && !is_vcp_main && (is_main_serial || is_main_telem)) {
|
||||
setComboboxSelectedOption(m_oplink->MainPort, OPLinkSettings::MAINPORT_DISABLED);
|
||||
is_main_serial = false;
|
||||
@ -295,6 +300,9 @@ void ConfigOPLinkWidget::updateSettings()
|
||||
|
||||
m_oplink->MainPort->setEnabled(is_oplink || is_vcp_main);
|
||||
m_oplink->FlexiPort->setEnabled(is_oplink || is_vcp_flexi);
|
||||
|
||||
m_oplink->PPMoutRssi->setEnabled(is_receiver && (is_ppm || is_ppm_only) && (is_flexi_ppm || is_main_ppm));
|
||||
|
||||
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->CoordID->setEnabled(is_receiver || is_openlrs);
|
||||
@ -416,6 +424,9 @@ void ConfigOPLinkWidget::mainPortChanged()
|
||||
{
|
||||
switch (getComboboxSelectedOption(m_oplink->MainPort)) {
|
||||
case OPLinkSettings::MAINPORT_PPM:
|
||||
if (isComboboxOptionSelected(m_oplink->FlexiPort, OPLinkSettings::FLEXIPORT_PPM)) {
|
||||
setComboboxSelectedOption(m_oplink->FlexiPort, OPLinkSettings::FLEXIPORT_DISABLED);
|
||||
}
|
||||
case OPLinkSettings::MAINPORT_PWM:
|
||||
case OPLinkSettings::MAINPORT_DISABLED:
|
||||
if (isComboboxOptionSelected(m_oplink->RadioPriStream, OPLinkSettings::RADIOPRISTREAM_MAIN)) {
|
||||
@ -439,12 +450,16 @@ void ConfigOPLinkWidget::mainPortChanged()
|
||||
default:
|
||||
break;
|
||||
}
|
||||
updateSettings();
|
||||
}
|
||||
|
||||
void ConfigOPLinkWidget::flexiPortChanged()
|
||||
{
|
||||
switch (getComboboxSelectedOption(m_oplink->FlexiPort)) {
|
||||
case OPLinkSettings::FLEXIPORT_PPM:
|
||||
if (isComboboxOptionSelected(m_oplink->MainPort, OPLinkSettings::MAINPORT_PPM)) {
|
||||
setComboboxSelectedOption(m_oplink->MainPort, OPLinkSettings::MAINPORT_DISABLED);
|
||||
}
|
||||
case OPLinkSettings::FLEXIPORT_PWM:
|
||||
case OPLinkSettings::FLEXIPORT_DISABLED:
|
||||
if (isComboboxOptionSelected(m_oplink->RadioPriStream, OPLinkSettings::RADIOPRISTREAM_FLEXI)) {
|
||||
@ -462,14 +477,13 @@ void ConfigOPLinkWidget::flexiPortChanged()
|
||||
if (isComboboxOptionSelected(m_oplink->MainPort, OPLinkSettings::MAINPORT_TELEMETRY)) {
|
||||
setComboboxSelectedOption(m_oplink->MainPort, OPLinkSettings::MAINPORT_SERIAL);
|
||||
}
|
||||
m_oplink->FlexiComSpeed->setEnabled(true);
|
||||
break;
|
||||
case OPLinkSettings::FLEXIPORT_SERIAL:
|
||||
m_oplink->FlexiComSpeed->setEnabled(true);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
updateSettings();
|
||||
}
|
||||
|
||||
void ConfigOPLinkWidget::radioPriStreamChanged()
|
||||
|
@ -2143,6 +2143,19 @@ Leave blank to use autogenerated Device ID.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<widget class="QComboBox" name="PPMoutRssi"/>
|
||||
</item>
|
||||
<item row="2" column="1" colspan="2">
|
||||
<widget class="QLabel" name="PPMoutRssiLabel">
|
||||
<property name="text">
|
||||
<string>PPM RSSI Output</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
Loading…
x
Reference in New Issue
Block a user