diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h index 270c447a0..dfeebfb69 100644 --- a/companion/src/eeprominterface.h +++ b/companion/src/eeprominterface.h @@ -769,6 +769,7 @@ class FrSkyData { FrSkyScreenData screens[4]; FrSkyRSSIAlarm rssiAlarms[2]; unsigned int varioSource; + bool varioCenterSilent; int varioMin; int varioCenterMin; // if increment in 0.2m/s = 3.0m/s max int varioCenterMax; diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index f12982230..9506dfc35 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -2708,7 +2708,13 @@ class FrskyField: public StructField { } } - Append(new ConversionField< UnsignedField<8> >(frsky.varioSource, &telemetryVarioSourceConversionTable, "Vario Source")); + if (version >= 217) { + Append(new UnsignedField<7>(frsky.varioSource, "Vario Source")); + Append(new BoolField<1>(frsky.varioCenterSilent)); + } + else { + Append(new ConversionField< UnsignedField<8> >(frsky.varioSource, &telemetryVarioSourceConversionTable, "Vario Source")); + } Append(new SignedField<8>(frsky.varioCenterMax)); Append(new SignedField<8>(frsky.varioCenterMin)); Append(new SignedField<8>(frsky.varioMin)); diff --git a/companion/src/modeledit/telemetry.cpp b/companion/src/modeledit/telemetry.cpp index 4742a6ee7..bc8387a74 100644 --- a/companion/src/modeledit/telemetry.cpp +++ b/companion/src/modeledit/telemetry.cpp @@ -697,6 +697,8 @@ TelemetryPanel::TelemetryPanel(QWidget *parent, ModelData & model, GeneralSettin if (IS_TARANIS(firmware->getBoard())) { ui->voltsSource->setField(model.frsky.voltsSource); ui->altitudeSource->setField(model.frsky.altitudeSource); + ui->varioSource->setField(model.frsky.varioSource); + ui->varioCenterSilent->setField(model.frsky.varioCenterSilent); } else { ui->topbarGB->hide(); @@ -731,6 +733,7 @@ void TelemetryPanel::update() populateTelemetrySourcesComboBox(ui->voltsSource, model, false); populateTelemetrySourcesComboBox(ui->altitudeSource, model, false); + populateTelemetrySourcesComboBox(ui->varioSource, model, false); } if (IS_ARM(firmware->getBoard())) { @@ -794,7 +797,7 @@ void TelemetryPanel::setup() ui->VarioLabel_2->hide(); ui->VarioLabel_3->hide(); ui->VarioLabel_4->hide(); - ui->varioSourceCB->hide(); + ui->varioSource->hide(); ui->varioSource_label->hide(); } else { @@ -860,18 +863,13 @@ void TelemetryPanel::setup() void TelemetryPanel::populateVarioSource() { - AutoComboBox * cb = ui->varioSourceCB; + AutoComboBox * cb = ui->varioSource; cb->setField(model->frsky.varioSource, this); - if (!IS_TARANIS(firmware->getBoard())) { - cb->addItem(tr("Alti"), TELEMETRY_VARIO_SOURCE_ALTI); - cb->addItem(tr("Alti+"), TELEMETRY_VARIO_SOURCE_ALTI_PLUS); - } + cb->addItem(tr("Alti"), TELEMETRY_VARIO_SOURCE_ALTI); + cb->addItem(tr("Alti+"), TELEMETRY_VARIO_SOURCE_ALTI_PLUS); cb->addItem(tr("VSpeed"), TELEMETRY_VARIO_SOURCE_VSPEED); cb->addItem(tr("A1"), TELEMETRY_VARIO_SOURCE_A1); cb->addItem(tr("A2"), TELEMETRY_VARIO_SOURCE_A2); - if (IS_TARANIS(firmware->getBoard())) { - cb->addItem(tr("dTE"), TELEMETRY_VARIO_SOURCE_DTE); - } } void TelemetryPanel::populateVoltsSource() diff --git a/companion/src/modeledit/telemetry.ui b/companion/src/modeledit/telemetry.ui index ce0bcd4af..4305d6892 100644 --- a/companion/src/modeledit/telemetry.ui +++ b/companion/src/modeledit/telemetry.ui @@ -329,7 +329,7 @@ 6 - + @@ -488,6 +488,32 @@ + + + + + 0 + 0 + + + + Center Silent + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + Qt::LeftToRight + + + + + + @@ -511,7 +537,7 @@ - + 0 @@ -920,6 +946,11 @@ QComboBox
autocombobox.h
+ + AutoCheckBox + QCheckBox +
autocheckbox.h
+
telemetryProtocol @@ -927,7 +958,7 @@ rssiAlarm1SB rssiAlarm2CB rssiAlarm2SB - varioSourceCB + varioSource varioLimitMin_DSB varioLimitCenterMin_DSB varioLimitCenterMax_DSB