@@ -82,6 +82,7 @@ ConfigOPLinkWidget::ConfigOPLinkWidget(QWidget *parent) : ConfigTaskWidget(paren
8282 addWidgetBinding (" OPLinkSettings" , " MaxRFPower" , m_oplink->MaxRFTxPower );
8383 addWidgetBinding (" OPLinkSettings" , " MainPort" , m_oplink->MainPort );
8484 addWidgetBinding (" OPLinkSettings" , " FlexiPort" , m_oplink->FlexiPort );
85+ addWidgetBinding (" OPLinkSettings" , " PPMOutRSSI" , m_oplink->PPMoutRssi );
8586 addWidgetBinding (" OPLinkSettings" , " RadioPriStream" , m_oplink->RadioPriStream );
8687 addWidgetBinding (" OPLinkSettings" , " RadioAuxStream" , m_oplink->RadioAuxStream );
8788 addWidgetBinding (" OPLinkSettings" , " VCPBridge" , m_oplink->VCPBridge );
@@ -263,6 +264,7 @@ void ConfigOPLinkWidget::updateSettings()
263264 bool is_receiver = isComboboxOptionSelected (m_oplink->Protocol , OPLinkSettings::PROTOCOL_OPLINKRECEIVER);
264265 bool is_oplink = (is_receiver || is_coordinator);
265266 bool is_ppm_only = isComboboxOptionSelected (m_oplink->LinkType , OPLinkSettings::LINKTYPE_CONTROL);
267+ bool is_ppm = isComboboxOptionSelected (m_oplink->LinkType , OPLinkSettings::LINKTYPE_DATAANDCONTROL);
266268 bool is_main_serial = isComboboxOptionSelected (m_oplink->MainPort , OPLinkSettings::MAINPORT_SERIAL);
267269 bool is_main_telem = isComboboxOptionSelected (m_oplink->MainPort , OPLinkSettings::MAINPORT_TELEMETRY);
268270 bool is_flexi_serial = isComboboxOptionSelected (m_oplink->FlexiPort , OPLinkSettings::FLEXIPORT_SERIAL);
@@ -277,6 +279,9 @@ void ConfigOPLinkWidget::updateSettings()
277279 bool is_stream_flexi = isComboboxOptionSelected (m_oplink->RadioPriStream , OPLinkSettings::RADIOPRISTREAM_FLEXI) ||
278280 isComboboxOptionSelected (m_oplink->RadioAuxStream , OPLinkSettings::RADIOAUXSTREAM_FLEXI);
279281
282+ bool is_flexi_ppm = isComboboxOptionSelected (m_oplink->FlexiPort , OPLinkSettings::FLEXIPORT_PPM);
283+ bool is_main_ppm = isComboboxOptionSelected (m_oplink->MainPort , OPLinkSettings::MAINPORT_PPM);
284+
280285 if (!is_stream_main && !is_vcp_main && (is_main_serial || is_main_telem)) {
281286 setComboboxSelectedOption (m_oplink->MainPort , OPLinkSettings::MAINPORT_DISABLED);
282287 is_main_serial = false ;
@@ -295,6 +300,9 @@ void ConfigOPLinkWidget::updateSettings()
295300
296301 m_oplink->MainPort ->setEnabled (is_oplink || is_vcp_main);
297302 m_oplink->FlexiPort ->setEnabled (is_oplink || is_vcp_flexi);
303+
304+ m_oplink->PPMoutRssi ->setEnabled (is_receiver && (is_ppm || is_ppm_only) && (is_flexi_ppm || is_main_ppm));
305+
298306 m_oplink->MainComSpeed ->setEnabled (is_oplink && !is_ppm_only && !is_vcp_main && (is_main_serial || is_main_telem));
299307 m_oplink->FlexiComSpeed ->setEnabled (is_oplink && !is_ppm_only && !is_vcp_flexi && (is_flexi_serial || is_flexi_telem));
300308 m_oplink->CoordID ->setEnabled (is_receiver || is_openlrs);
@@ -416,6 +424,9 @@ void ConfigOPLinkWidget::mainPortChanged()
416424{
417425 switch (getComboboxSelectedOption (m_oplink->MainPort )) {
418426 case OPLinkSettings::MAINPORT_PPM:
427+ if (isComboboxOptionSelected (m_oplink->FlexiPort , OPLinkSettings::FLEXIPORT_PPM)) {
428+ setComboboxSelectedOption (m_oplink->FlexiPort , OPLinkSettings::FLEXIPORT_DISABLED);
429+ }
419430 case OPLinkSettings::MAINPORT_PWM:
420431 case OPLinkSettings::MAINPORT_DISABLED:
421432 if (isComboboxOptionSelected (m_oplink->RadioPriStream , OPLinkSettings::RADIOPRISTREAM_MAIN)) {
@@ -439,12 +450,16 @@ void ConfigOPLinkWidget::mainPortChanged()
439450 default :
440451 break ;
441452 }
453+ updateSettings ();
442454}
443455
444456void ConfigOPLinkWidget::flexiPortChanged ()
445457{
446458 switch (getComboboxSelectedOption (m_oplink->FlexiPort )) {
447459 case OPLinkSettings::FLEXIPORT_PPM:
460+ if (isComboboxOptionSelected (m_oplink->MainPort , OPLinkSettings::MAINPORT_PPM)) {
461+ setComboboxSelectedOption (m_oplink->MainPort , OPLinkSettings::MAINPORT_DISABLED);
462+ }
448463 case OPLinkSettings::FLEXIPORT_PWM:
449464 case OPLinkSettings::FLEXIPORT_DISABLED:
450465 if (isComboboxOptionSelected (m_oplink->RadioPriStream , OPLinkSettings::RADIOPRISTREAM_FLEXI)) {
@@ -462,14 +477,13 @@ void ConfigOPLinkWidget::flexiPortChanged()
462477 if (isComboboxOptionSelected (m_oplink->MainPort , OPLinkSettings::MAINPORT_TELEMETRY)) {
463478 setComboboxSelectedOption (m_oplink->MainPort , OPLinkSettings::MAINPORT_SERIAL);
464479 }
465- m_oplink->FlexiComSpeed ->setEnabled (true );
466- break ;
467480 case OPLinkSettings::FLEXIPORT_SERIAL:
468481 m_oplink->FlexiComSpeed ->setEnabled (true );
469482 break ;
470483 default :
471484 break ;
472485 }
486+ updateSettings ();
473487}
474488
475489void ConfigOPLinkWidget::radioPriStreamChanged ()
0 commit comments