diff --git a/companion/src/firmwares/opentx/opentxGruvin9xsimulator.cpp b/companion/src/firmwares/opentx/opentxGruvin9xsimulator.cpp
index bca5842ad..fec38521b 100644
--- a/companion/src/firmwares/opentx/opentxGruvin9xsimulator.cpp
+++ b/companion/src/firmwares/opentx/opentxGruvin9xsimulator.cpp
@@ -47,6 +47,7 @@
#define GAUGES
#define GPS
#define FAI_CHOICE
+#define FRSKY_STICKS
#define EEPROM_VARIANT 3
diff --git a/companion/src/firmwares/opentx/opentxM128simulator.cpp b/companion/src/firmwares/opentx/opentxM128simulator.cpp
index 14100e857..708a4273b 100644
--- a/companion/src/firmwares/opentx/opentxM128simulator.cpp
+++ b/companion/src/firmwares/opentx/opentxM128simulator.cpp
@@ -45,6 +45,7 @@
#define GAUGES
#define GPS
#define FAI_CHOICE
+#define FRSKY_STICKS
#define EEPROM_VARIANT SIMU_M128_VARIANTS
#define GAUGES
diff --git a/companion/src/firmwares/opentx/opentxSky9xsimulator.cpp b/companion/src/firmwares/opentx/opentxSky9xsimulator.cpp
index 21d9df740..3a45875b1 100644
--- a/companion/src/firmwares/opentx/opentxSky9xsimulator.cpp
+++ b/companion/src/firmwares/opentx/opentxSky9xsimulator.cpp
@@ -53,6 +53,7 @@
#define GAUGES
#define GPS
#define FAI_CHOICE
+#define FRSKY_STICKS
#define NUM_POTS 3
#define EEPROM_VARIANT 3
diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp
index b80113ad5..dd30f5db3 100644
--- a/companion/src/firmwares/opentx/opentxinterface.cpp
+++ b/companion/src/firmwares/opentx/opentxinterface.cpp
@@ -1055,6 +1055,7 @@ void RegisterOpen9xFirmwares()
open9x->addOption("nogps", QObject::tr("No GPS support"));
open9x->addOption("nogauges", QObject::tr("No gauges in the custom telemetry screen"));
open9x->addOption("fasoffset", QObject::tr("Allow compensating for offset errors in FrSky FAS current sensors"));
+ open9x->addOption("stickrev", QObject::tr("Add support for reversing stick inputs (e.g. needed for FrSky gimbals)"));
open9x->addOptions(fai_options);
firmwares.push_back(open9x);
@@ -1121,6 +1122,7 @@ void RegisterOpen9xFirmwares()
open9x->addOption("novario", QObject::tr("No vario support"));
open9x->addOption("nogps", QObject::tr("No GPS support"));
open9x->addOption("nogauges", QObject::tr("No gauges in the custom telemetry screen"));
+ open9x->addOption("stickrev", QObject::tr("Add support for reversing stick inputs (e.g. needed for FrSky gimbals)"));
open9x->addOptions(fai_options);
firmwares.push_back(open9x);
diff --git a/companion/src/firmwares/opentx/opentxsimulator.cpp b/companion/src/firmwares/opentx/opentxsimulator.cpp
index 05e680073..933b78b86 100644
--- a/companion/src/firmwares/opentx/opentxsimulator.cpp
+++ b/companion/src/firmwares/opentx/opentxsimulator.cpp
@@ -49,6 +49,7 @@
#define GAUGES
#define GPS
#define FAI_CHOICE
+#define FRSKY_STICKS
#define EEPROM_VARIANT SIMU_STOCK_VARIANTS
#define GAUGES
diff --git a/companion/src/generaledit.cpp b/companion/src/generaledit.cpp
index 558c78b69..1efb43e65 100644
--- a/companion/src/generaledit.cpp
+++ b/companion/src/generaledit.cpp
@@ -284,6 +284,24 @@ GeneralEdit::GeneralEdit(RadioData &radioData, QWidget *parent) :
ui->serialPortMode->hide();
ui->serialPortLabel->hide();
}
+
+ if (!IS_TARANIS(eepromInterface->getBoard())) {
+ ui->stickReverse1->setChecked(g_eeGeneral.stickReverse & (1 << 0));
+ ui->stickReverse2->setChecked(g_eeGeneral.stickReverse & (1 << 1));
+ ui->stickReverse3->setChecked(g_eeGeneral.stickReverse & (1 << 2));
+ ui->stickReverse4->setChecked(g_eeGeneral.stickReverse & (1 << 3));
+ connect(ui->stickReverse1, SIGNAL(toggled(bool)), this, SLOT(stickReverseEdited()));
+ connect(ui->stickReverse2, SIGNAL(toggled(bool)), this, SLOT(stickReverseEdited()));
+ connect(ui->stickReverse3, SIGNAL(toggled(bool)), this, SLOT(stickReverseEdited()));
+ connect(ui->stickReverse4, SIGNAL(toggled(bool)), this, SLOT(stickReverseEdited()));
+ }
+ else {
+ ui->stickReverseLB->hide();
+ ui->stickReverse1->hide();
+ ui->stickReverse2->hide();
+ ui->stickReverse3->hide();
+ ui->stickReverse4->hide();
+ }
}
GeneralEdit::~GeneralEdit()
@@ -291,6 +309,12 @@ GeneralEdit::~GeneralEdit()
delete ui;
}
+void GeneralEdit::stickReverseEdited()
+{
+ g_eeGeneral.stickReverse = ((int)ui->stickReverse1->isChecked()) | ((int)ui->stickReverse2->isChecked()<<1) | ((int)ui->stickReverse3->isChecked()<<2) | ((int)ui->stickReverse4->isChecked()<<3);
+ updateSettings();
+}
+
void GeneralEdit::on_pot1Type_currentIndexChanged(int index)
{
g_eeGeneral.potsType[0] = index;
diff --git a/companion/src/generaledit.h b/companion/src/generaledit.h
index 395adc24c..221ea02d1 100644
--- a/companion/src/generaledit.h
+++ b/companion/src/generaledit.h
@@ -130,6 +130,7 @@ private slots:
void unlockSwitchEdited();
void setValues();
void shrink();
+ void stickReverseEdited();
};
#endif // GENERALEDIT_H
diff --git a/companion/src/generaledit.ui b/companion/src/generaledit.ui
index 1b59ef886..16b2b7d81 100644
--- a/companion/src/generaledit.ui
+++ b/companion/src/generaledit.ui
@@ -113,134 +113,6 @@ These will be relevant for all models in the same EEPROM.
Setup
- -
-
-
-
-
-
- Country Code
-
-
-
- -
-
-
-
-
- America
-
-
- -
-
- Japan
-
-
- -
-
- Europe
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
- Mode selection:
-
-Mode 1:
- Left stick: Elevator, Rudder
- Right stick: Throttle, Aileron
-
-Mode 2:
- Left stick: Throttle, Rudder
- Right stick: Elevator, Aileron
-
-Mode 3:
- Left stick: Elevator, Aileron
- Right stick: Throttle, Rudder
-
-Mode 4:
- Left stick: Throttle, Aileron
- Right stick: Elevator, Rudder
-
-
-
-
- 1
-
-
-
-
- Mode 1 (RUD ELE THR AIL)
-
-
- -
-
- Mode 2 (RUD THR ELE AIL)
-
-
- -
-
- Mode 3 (AIL ELE THR RUD)
-
-
- -
-
- Mode 4 (AIL THR ELE RUD)
-
-
-
-
- -
-
-
-
-
- 4800 Baud
-
-
- -
-
- 9600 Baud
-
-
- -
-
- 14400 Baud
-
-
- -
-
- 19200 Baud
-
-
- -
-
- 38400 Baud
-
-
- -
-
- 57600 Baud
-
-
- -
-
- 76800 Baud
-
-
- -
-
- 115200 Baud
-
-
-
-
-
@@ -248,6 +120,52 @@ Mode 4:
+ -
+
+
+ If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio.
+
+
+
+
+
+
+ -
+
+
+ Speaker Pitch (spkr only)
+
+
+
+ -
+
+
-
+
+ X-Short
+
+
+ -
+
+ Short
+
+
+ -
+
+ Normal
+
+
+ -
+
+ Long
+
+
+ -
+
+ X-Long
+
+
+
+
-
-
@@ -344,6 +262,80 @@ Mode 4:
+ -
+
+
-
+
+
+ Country Code
+
+
+
+ -
+
+
-
+
+ America
+
+
+ -
+
+ Japan
+
+
+ -
+
+ Europe
+
+
+
+
+
+
+ -
+
+
-
+
+ 4800 Baud
+
+
+ -
+
+ 9600 Baud
+
+
+ -
+
+ 14400 Baud
+
+
+ -
+
+ 19200 Baud
+
+
+ -
+
+ 38400 Baud
+
+
+ -
+
+ 57600 Baud
+
+
+ -
+
+ 76800 Baud
+
+
+ -
+
+ 115200 Baud
+
+
+
+
-
@@ -396,7 +388,7 @@ Mode 4:
- -
+
-
Qt::Vertical
@@ -524,15 +516,8 @@ Mode 4:
- -
-
-
- Stick Mode
-
-
-
- -
-
+
-
+
0
@@ -540,7 +525,7 @@ Mode 4:
- Default Channel Order
+ Stick reverse
@@ -638,188 +623,6 @@ Mode 4:
- -
-
-
-
-
- X-Short
-
-
- -
-
- Short
-
-
- -
-
- Normal
-
-
- -
-
- Long
-
-
- -
-
- X-Long
-
-
-
-
- -
-
-
- Speaker Pitch (spkr only)
-
-
-
- -
-
-
-
-
-
-
-
-
- <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html>
-
-
- 0
-
-
-
-
- R E T A
-
-
- -
-
- R E A T
-
-
- -
-
- R T E A
-
-
- -
-
- R T A E
-
-
- -
-
- R A E T
-
-
- -
-
- R A T E
-
-
- -
-
- E R T A
-
-
- -
-
- E R A T
-
-
- -
-
- E T R A
-
-
- -
-
- E T A R
-
-
- -
-
- E A R T
-
-
- -
-
- E A T R
-
-
- -
-
- T R E A
-
-
- -
-
- T R A E
-
-
- -
-
- T E R A
-
-
- -
-
- T E A R
-
-
- -
-
- T A R E
-
-
- -
-
- T A E R
-
-
- -
-
- A R E T
-
-
- -
-
- A R T E
-
-
- -
-
- A E R T
-
-
- -
-
- A E T R
-
-
- -
-
- A T R E
-
-
- -
-
- A T E R
-
-
-
-
- -
-
-
- If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio.
-
-
-
-
-
-
-
-
@@ -1897,6 +1700,248 @@ Acceptable values are 5v..10v
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Default Channel Order
+
+
+
+ -
+
+
+
+
+
+
+
+
+ <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html>
+
+
+ 0
+
+
-
+
+ R E T A
+
+
+ -
+
+ R E A T
+
+
+ -
+
+ R T E A
+
+
+ -
+
+ R T A E
+
+
+ -
+
+ R A E T
+
+
+ -
+
+ R A T E
+
+
+ -
+
+ E R T A
+
+
+ -
+
+ E R A T
+
+
+ -
+
+ E T R A
+
+
+ -
+
+ E T A R
+
+
+ -
+
+ E A R T
+
+
+ -
+
+ E A T R
+
+
+ -
+
+ T R E A
+
+
+ -
+
+ T R A E
+
+
+ -
+
+ T E R A
+
+
+ -
+
+ T E A R
+
+
+ -
+
+ T A R E
+
+
+ -
+
+ T A E R
+
+
+ -
+
+ A R E T
+
+
+ -
+
+ A R T E
+
+
+ -
+
+ A E R T
+
+
+ -
+
+ A E T R
+
+
+ -
+
+ A T R E
+
+
+ -
+
+ A T E R
+
+
+
+
+ -
+
+
-
+
+
+ 1
+
+
+
+ -
+
+
+ 2
+
+
+
+ -
+
+
+ 3
+
+
+
+ -
+
+
+ 4
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+ Mode selection:
+
+Mode 1:
+ Left stick: Elevator, Rudder
+ Right stick: Throttle, Aileron
+
+Mode 2:
+ Left stick: Throttle, Rudder
+ Right stick: Elevator, Aileron
+
+Mode 3:
+ Left stick: Elevator, Aileron
+ Right stick: Throttle, Rudder
+
+Mode 4:
+ Left stick: Throttle, Aileron
+ Right stick: Elevator, Rudder
+
+
+
+
+ 1
+
+
-
+
+ Mode 1 (RUD ELE THR AIL)
+
+
+ -
+
+ Mode 2 (RUD THR ELE AIL)
+
+
+ -
+
+ Mode 3 (AIL ELE THR RUD)
+
+
+ -
+
+ Mode 4 (AIL THR ELE RUD)
+
+
+
+
+ -
+
+
+ Stick Mode
+
+
+
@@ -3199,7 +3244,6 @@ Acceptable values are 5v..10v
- channelorderCB
trnMode_1
trnChn_1
trnWeight_1