diff --git a/companion/src/simulation/simulatordialog-9x.ui b/companion/src/simulation/simulatordialog-9x.ui
index b9e76f77e..2a7a730d4 100644
--- a/companion/src/simulation/simulatordialog-9x.ui
+++ b/companion/src/simulation/simulatordialog-9x.ui
@@ -1440,6 +1440,22 @@ QPushButton:checked {
+
+
+ Gvars
+
+
+
+
+ 10
+ 10
+ 711
+ 211
+
+
+
+
+
@@ -1451,6 +1467,11 @@ QPushButton:checked {
1
+
+ mySlider
+ QSlider
+
+
cursorWidget
QWidget
@@ -1463,11 +1484,6 @@ QPushButton:checked {
1
-
- mySlider
- QSlider
-
-
diff --git a/companion/src/simulation/simulatordialog-taranis.ui b/companion/src/simulation/simulatordialog-taranis.ui
index f889d0257..c2caf638f 100644
--- a/companion/src/simulation/simulatordialog-taranis.ui
+++ b/companion/src/simulation/simulatordialog-taranis.ui
@@ -6,7 +6,7 @@
0
0
- 712
+ 726
688
@@ -240,6 +240,22 @@
+
+
+ Gvars
+
+
+
+
+ 10
+ 10
+ 691
+ 231
+
+
+
+
+
-
diff --git a/companion/src/simulation/simulatordialog.cpp b/companion/src/simulation/simulatordialog.cpp
index 1f6f6dfe4..e1d3b7bc0 100644
--- a/companion/src/simulation/simulatordialog.cpp
+++ b/companion/src/simulation/simulatordialog.cpp
@@ -285,6 +285,7 @@ void SimulatorDialog::initUi(T * ui)
tabWidget = ui->tabWidget;
logicalSwitchesLayout = ui->logicalSwitchesLayout;
channelsLayout = ui->channelsLayout;
+ gvarsLayout = ui->gvarsLayout;
leftXPerc = ui->leftXPerc;
leftYPerc = ui->leftYPerc;
rightXPerc = ui->rightXPerc;
@@ -416,11 +417,31 @@ void SimulatorDialog::initUi(T * ui)
logicalSwitchesLayout->addWidget(swtch, i / (switches/2), i % (switches/2), 1, 1);
}
+ int fmodes = GetCurrentFirmware()->getCapability(FlightModes);
+ int gvars = GetCurrentFirmware()->getCapability(Gvars);
+ if (gvars>0) {
+ for (int fm=0; fmsetText(QString("FM%1").arg(fm+1));
+ gvarsLayout->addWidget(label, 0, fm+1);
+ }
+ for (int i=0; isetText(QString("GV%1").arg(i+1));
+ gvarsLayout->addWidget(label, i+1, 0);
+ for (int fm=0; fmaddWidget(value, i+1, fm+1);
+ }
+ }
+ }
+
if (flags & SIMULATOR_FLAGS_NOTX) {
- ui->tabWidget->setCurrentIndex(1);
+ ui->tabWidget->setCurrentWidget(ui->outputs);
}
else {
- ui->lcd->setFocus();
+ ui->tabWidget->setCurrentWidget(ui->simu);
}
}
@@ -532,6 +553,8 @@ void SimulatorDialog::centerSticks()
void SimulatorDialog::start(QByteArray & eeprom)
{
lastPhase = -1;
+ numGvars = GetCurrentFirmware()->getCapability(Gvars);
+ numFlightModes = GetCurrentFirmware()->getCapability(FlightModes);
simulator->start(eeprom, (flags & SIMULATOR_FLAGS_NOTX) ? false : true);
getValues();
setupTimer();
@@ -540,6 +563,8 @@ void SimulatorDialog::start(QByteArray & eeprom)
void SimulatorDialog::start(const char * filename)
{
lastPhase = -1;
+ numGvars = GetCurrentFirmware()->getCapability(Gvars);
+ numFlightModes = GetCurrentFirmware()->getCapability(FlightModes);
simulator->start(filename);
getValues();
setupTimer();
@@ -809,6 +834,12 @@ void SimulatorDialog::setValues()
logicalSwitchLabels[i]->setStyleSheet(outputs.vsw[i] ? CSWITCH_ON : CSWITCH_OFF);
}
+ for (int fm=0; fmsetText(QString("%1").arg(outputs.gvars[fm][gv]));
+ }
+ }
+
if (outputs.beep) {
beepVal = outputs.beep;
}
diff --git a/companion/src/simulation/simulatordialog.h b/companion/src/simulation/simulatordialog.h
index 42ee82cb3..9b9a1ce80 100644
--- a/companion/src/simulation/simulatordialog.h
+++ b/companion/src/simulation/simulatordialog.h
@@ -53,9 +53,11 @@ class SimulatorDialog : public QDialog
QTabWidget * tabWidget;
QGridLayout * logicalSwitchesLayout;
QGridLayout * channelsLayout;
+ QGridLayout * gvarsLayout;
QVector logicalSwitchLabels;
QVector channelSliders;
QVector channelValues;
+ QVector gvarValues;
void init();
Node *nodeLeft;
@@ -65,6 +67,8 @@ class SimulatorDialog : public QDialog
unsigned int backLight;
bool lightOn;
int switches;
+ unsigned int numGvars;
+ unsigned int numFlightModes;
#ifdef JOYSTICKS
Joystick *joystick;
int jscal[8][4];
diff --git a/companion/src/simulation/simulatorimport.h b/companion/src/simulation/simulatorimport.h
index 60efc010a..d8f34a65c 100644
--- a/companion/src/simulation/simulatorimport.h
+++ b/companion/src/simulation/simulatorimport.h
@@ -59,7 +59,13 @@ for (int i=0; i