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
+
+ AutoCheckBox
+ QCheckBox
+
+
telemetryProtocol
@@ -927,7 +958,7 @@
rssiAlarm1SB
rssiAlarm2CB
rssiAlarm2SB
- varioSourceCB
+ varioSource
varioLimitMin_DSB
varioLimitCenterMin_DSB
varioLimitCenterMax_DSB