diff --git a/DONATIONS.txt b/DONATIONS.txt
index 2c53a5b43..359d46d80 100644
--- a/DONATIONS.txt
+++ b/DONATIONS.txt
@@ -331,3 +331,18 @@ Francisco Gutierrez Muñoz
Steve Coley
Sean Cull
Roberto Orsello
+David Finger
+FrSky - www.frsky-rc.com
+Jean-Marie Oddo
+Mike Matheny
+Glen Roe (Showmaster)
+Arron Bates
+Tim Spurr
+Daniel Morgan
+Trent Ready
+Mark Maskiell
+Robert Crockford
+Mark Illum
+David McGuire
+Martyn Coles
+
diff --git a/companion/src/CMakeLists.txt b/companion/src/CMakeLists.txt
index 73d21daff..90f4aaeb8 100644
--- a/companion/src/CMakeLists.txt
+++ b/companion/src/CMakeLists.txt
@@ -1,7 +1,7 @@
PROJECT( companion )
SET( C9X_VERSION_MAJOR "1" )
-SET( C9X_VERSION_MINOR "52" )
+SET( C9X_VERSION_MINOR "99" )
SET( C9X_VERSION ${C9X_VERSION_MAJOR}.${C9X_VERSION_MINOR} )
CMAKE_MINIMUM_REQUIRED( VERSION 2.8 )
@@ -36,7 +36,7 @@ ELSE()
MESSAGE( "SDL not found! Joysticks support will be disabled" )
ENDIF()
-FIND_PACKAGE( Qt4 REQUIRED )
+FIND_PACKAGE(Qt4 4.8.4 REQUIRED)
SET( QT_USE_QTNETWORK True )
SET( QT_USE_QTXML True )
INCLUDE( ${QT_USE_FILE} )
@@ -90,6 +90,13 @@ add_custom_command(
WORKING_DIRECTORY ${RADIO_SRC_DIRECTORY}
)
+add_custom_command(
+ OUTPUT ${RADIO_SRC_DIRECTORY}/stamp-opentx.h
+ COMMAND make stamp_header
+ DEPENDS ${RADIO_SRC_DIRECTORY}/Makefile
+ WORKING_DIRECTORY ${RADIO_SRC_DIRECTORY}
+)
+
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${PROJECT_SOURCE_DIR}/../..
@@ -128,6 +135,7 @@ set(companion_SRCS
firmwares/opentx/opentxsimulator.cpp
firmwares/ersky9x/ersky9xeeprom.cpp
firmwares/ersky9x/ersky9xinterface.cpp
+ ${RADIO_SRC_DIRECTORY}/stamp-opentx.h
${RADIO_SRC_DIRECTORY}/bitmaps/sticks.lbm
${RADIO_SRC_DIRECTORY}/translations/en.h
appdata.cpp
diff --git a/companion/src/apppreferencesdialog.ui b/companion/src/apppreferencesdialog.ui
index f5d4b9deb..865c969a5 100644
--- a/companion/src/apppreferencesdialog.ui
+++ b/companion/src/apppreferencesdialog.ui
@@ -6,8 +6,8 @@
0
0
- 685
- 462
+ 734
+ 492
@@ -18,7 +18,7 @@
- 685
+ 0
0
@@ -47,450 +47,9 @@
0
-
-
- Application Settings
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- Automatic Backup Folder
-
-
-
- -
-
-
-
- 40
- 0
-
-
-
-
- 50
- 16777215
-
-
-
- 15
-
-
- 10
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- User Splash Screens
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
-
- Only show user splash images
-
-
- -
-
- Show user and companion splash images
-
-
-
-
- -
-
-
- Google Earth Executable
-
-
-
- -
-
-
- Automatic check for OpenTX firmware updates
-
-
- true
-
-
-
- -
-
-
-
- 350
- 0
-
-
-
- true
-
-
-
- -
-
-
- Open Folder
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- -
-
-
-
- 350
- 0
-
-
-
- true
-
-
-
- -
-
-
- Find Executable
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Files to keep
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Splash Screen Library
-
-
-
- -
-
-
- Enable automatic backup before writing firmware
-
-
-
- -
-
-
- Open Folder
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- -
-
-
- Automatic check for Companion updates
-
-
- true
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- -
-
-
- Offer to use wizard for new models
-
-
- true
-
-
-
- -
-
-
- Show splash screen when Companion starts
-
-
- true
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- true
-
-
- true
-
-
-
-
-
-
-
- Simulator Settings
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Simulator BackLight
-
-
- Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
-
-
-
- -
-
-
- Enable
-
-
-
- -
-
-
- Open Folder
-
-
- false
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
-
- 100
- 16777215
-
-
-
-
-
- Blue
-
-
- -
-
- Green
-
-
- -
-
- Red
-
-
- -
-
- Orange
-
-
- -
-
- Yellow
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Joystick
-
-
-
- -
-
-
- Only capture to clipboard
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
- -
-
-
- Calibrate
-
-
-
- -
-
-
- Remember simulator switch values
-
-
-
- -
-
-
- Simulator capture folder
-
-
-
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
- -
-
-
- true
-
-
-
- 350
- 0
-
-
-
- true
-
-
-
-
-
- Radio Settings Profile
+ Radio Profile
-
@@ -804,19 +363,6 @@ This is used by the templated to determine which channel goes to what number out
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
@@ -867,6 +413,13 @@ This is used by the templated to determine which channel goes to what number out
+ -
+
+
+ Clear Image
+
+
+
-
@@ -881,13 +434,6 @@ This is used by the templated to determine which channel goes to what number out
- -
-
-
- Clear Image
-
-
-
-
@@ -938,7 +484,7 @@ This is used by the templated to determine which channel goes to what number out
QFrame::Plain
- 1
+ 0
@@ -987,6 +533,434 @@ This is used by the templated to determine which channel goes to what number out
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+
+
+ Application Settings
+
+
+ -
+
+
+ Open Folder
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+ Automatic Backup Folder
+
+
+
+ -
+
+
+
+ 40
+ 0
+
+
+
+
+ 50
+ 16777215
+
+
+
+ 15
+
+
+ 10
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ User Splash Screens
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
-
+
+ Only show user splash images
+
+
+ -
+
+ Show user and companion splash images
+
+
+
+
+ -
+
+
+ Google Earth Executable
+
+
+
+ -
+
+
+ Automatic check for OpenTX firmware updates
+
+
+ true
+
+
+
+ -
+
+
+
+ 350
+ 0
+
+
+
+ true
+
+
+
+ -
+
+
+ Open Folder
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+
+ 350
+ 0
+
+
+
+ true
+
+
+
+ -
+
+
+ Find Executable
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Files to keep
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Splash Screen Library
+
+
+
+ -
+
+
+ Enable automatic backup before writing firmware
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+ Automatic check for Companion updates
+
+
+ true
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ -
+
+
+ Offer to use wizard for new models
+
+
+ true
+
+
+
+ -
+
+
+ Show splash screen when Companion starts
+
+
+ true
+
+
+
+ -
+
+
+ true
+
+
+ true
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+
+
+
+
+ Simulator Settings
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Simulator BackLight
+
+
+ Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter
+
+
+
+ -
+
+
+ Enable
+
+
+
+ -
+
+
+ Open Folder
+
+
+ false
+
+
+
+ -
+
+
+
+ 100
+ 16777215
+
+
+
-
+
+ Blue
+
+
+ -
+
+ Green
+
+
+ -
+
+ Red
+
+
+ -
+
+ Orange
+
+
+ -
+
+ Yellow
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Joystick
+
+
+
+ -
+
+
+ Only capture to clipboard
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+
+ -
+
+
+ Calibrate
+
+
+
+ -
+
+
+ Remember simulator switch values
+
+
+
+ -
+
+
+ Simulator capture folder
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+ -
+
+
+ true
+
+
+
+ 350
+ 0
+
+
+
+ true
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
diff --git a/companion/src/burnconfigdialog.cpp b/companion/src/burnconfigdialog.cpp
index a2d08fd21..b802ba414 100644
--- a/companion/src/burnconfigdialog.cpp
+++ b/companion/src/burnconfigdialog.cpp
@@ -15,6 +15,7 @@ burnConfigDialog::burnConfigDialog(QWidget *parent) :
ui(new Ui::burnConfigDialog)
{
ui->setupUi(this);
+ setWindowIcon(CompanionIcon("configure.png"));
ui->avrdude_programmer->model()->sort(0);
getSettings();
diff --git a/companion/src/burndialog.cpp b/companion/src/burndialog.cpp
index 617c7ea9e..d5e89805f 100644
--- a/companion/src/burndialog.cpp
+++ b/companion/src/burndialog.cpp
@@ -18,6 +18,7 @@ burnDialog::burnDialog(QWidget *parent, int Type, QString * fileName, bool * bac
hexType(Type)
{
ui->setupUi(this);
+ setWindowIcon(CompanionIcon("write_flash.png"));
if(!g.profile[g.id()].splashFile().isEmpty()){
imageSource=PROFILE;
diff --git a/companion/src/burndialog.ui b/companion/src/burndialog.ui
index 772304390..e766d31f9 100644
--- a/companion/src/burndialog.ui
+++ b/companion/src/burndialog.ui
@@ -6,8 +6,8 @@
0
0
- 440
- 423
+ 399
+ 564
@@ -18,7 +18,7 @@
- 440
+ 0
0
@@ -171,6 +171,12 @@
0
+
+
+ 250
+ 0
+
+
true
@@ -254,8 +260,8 @@
-
-
-
-
-
+
+
-
@@ -271,8 +277,8 @@
- 212
- 64
+ 214
+ 66
@@ -281,6 +287,9 @@
QFrame::Plain
+
+ 0
+
@@ -289,32 +298,6 @@
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
diff --git a/companion/src/customizesplashdialog.cpp b/companion/src/customizesplashdialog.cpp
index 42bf463da..3e9ed21c9 100644
--- a/companion/src/customizesplashdialog.cpp
+++ b/companion/src/customizesplashdialog.cpp
@@ -142,7 +142,7 @@ customizeSplashDialog::customizeSplashDialog(QWidget *parent) :
ui(new Ui::customizeSplashDialog)
{
ui->setupUi(this);
- this->setWindowIcon(CompanionIcon("paint.png"));
+ setWindowIcon(CompanionIcon("paintbrush.png"));
ui->leftLibraryButton->setIcon(CompanionIcon("library.png"));
ui->rightLibraryButton->setIcon(CompanionIcon("library.png"));
diff --git a/companion/src/customizesplashdialog.ui b/companion/src/customizesplashdialog.ui
index 72b241276..9a6971893 100644
--- a/companion/src/customizesplashdialog.ui
+++ b/companion/src/customizesplashdialog.ui
@@ -10,7 +10,7 @@
0
0
1087
- 285
+ 298
@@ -165,6 +165,9 @@
QFrame::Plain
+
+ 0
+
@@ -470,6 +473,9 @@
QFrame::Plain
+
+ 0
+
diff --git a/companion/src/downloaddialog.cpp b/companion/src/downloaddialog.cpp
index 794dbbcd1..aa7ea6ef3 100644
--- a/companion/src/downloaddialog.cpp
+++ b/companion/src/downloaddialog.cpp
@@ -2,6 +2,7 @@
#include "ui_downloaddialog.h"
#include
#include
+#include
#include "helpers.h"
downloadDialog::downloadDialog(QWidget *parent, QString src, QString tgt) :
@@ -87,3 +88,14 @@ void downloadDialog::fileError()
file = 0;
reject();
}
+
+void downloadDialog::closeEvent( QCloseEvent * event)
+{
+ // Delay closing 2 seconds to avoid unpleasant flashing download dialogs
+ QTime closeTime= QTime::currentTime().addSecs(2);
+ while( QTime::currentTime() < closeTime )
+ QCoreApplication::processEvents(QEventLoop::AllEvents, 100);
+
+ event->accept();
+}
+
diff --git a/companion/src/downloaddialog.h b/companion/src/downloaddialog.h
index 596002250..9730e3134 100644
--- a/companion/src/downloaddialog.h
+++ b/companion/src/downloaddialog.h
@@ -27,6 +27,7 @@ private slots:
void updateDataReadProgress(qint64 bytesRead, qint64 totalBytes);
private:
+ void closeEvent( QCloseEvent * event);
Ui::downloadDialog *ui;
QNetworkAccessManager qnam;
diff --git a/companion/src/eeprominterface.cpp b/companion/src/eeprominterface.cpp
index 711b68764..d2b2358eb 100644
--- a/companion/src/eeprominterface.cpp
+++ b/companion/src/eeprominterface.cpp
@@ -126,11 +126,14 @@ RawSourceRange RawSource::getRange(bool singleprec)
result.max = singleprec ? 1540 : 3000;
break;
case TELEMETRY_SOURCE_T1:
+ case TELEMETRY_SOURCE_T1_MAX:
case TELEMETRY_SOURCE_T2:
+ case TELEMETRY_SOURCE_T2_MAX:
result.min = -30;
result.max = 225;
break;
case TELEMETRY_SOURCE_RPM:
+ case TELEMETRY_SOURCE_RPM_MAX:
result.step = singleprec ? 50 : 1;
result.max = singleprec ? 12750 : 20000;
break;
@@ -138,6 +141,7 @@ RawSourceRange RawSource::getRange(bool singleprec)
result.max = 100;
break;
case TELEMETRY_SOURCE_SPEED:
+ case TELEMETRY_SOURCE_SPEED_MAX:
result.step = singleprec ? 4 : 1;
result.max = singleprec ? 944 : 2000;
if (model && !model->frsky.imperial) {
@@ -146,21 +150,26 @@ RawSourceRange RawSource::getRange(bool singleprec)
}
break;
case TELEMETRY_SOURCE_DIST:
+ case TELEMETRY_SOURCE_DIST_MAX:
result.step = singleprec ? 8 : 1;
result.max = singleprec ? 2040 : 10000;
break;
case TELEMETRY_SOURCE_CELL:
+ case TELEMETRY_SOURCE_CELL_MIN:
result.step = singleprec ? 0.02 : 0.01;
result.max = 5.1;
result.decimals = 2;
break;
case TELEMETRY_SOURCE_CELLS_SUM:
+ case TELEMETRY_SOURCE_CELLS_MIN:
case TELEMETRY_SOURCE_VFAS:
+ case TELEMETRY_SOURCE_VFAS_MIN:
result.step = 0.1;
result.max = 25.5;
result.decimals = 1;
break;
case TELEMETRY_SOURCE_CURRENT:
+ case TELEMETRY_SOURCE_CURRENT_MAX:
result.step = singleprec ? 0.5 : 0.1;
result.max = singleprec ? 127.5 : 200.0;
result.decimals = 1;
@@ -170,6 +179,7 @@ RawSourceRange RawSource::getRange(bool singleprec)
result.max = singleprec ? 5100 : 10000;
break;
case TELEMETRY_SOURCE_POWER:
+ case TELEMETRY_SOURCE_POWER_MAX:
result.step = singleprec ? 5 : 1;
result.max = singleprec ? 1275 : 2000;
break;
@@ -221,12 +231,12 @@ QString RawSource::toString()
QObject::tr("A1"), QObject::tr("A2"), QObject::tr("A3"), QObject::tr("A4"),
QObject::tr("Alt"), QObject::tr("Rpm"), QObject::tr("Fuel"), QObject::tr("T1"), QObject::tr("T2"),
QObject::tr("Speed"), QObject::tr("Dist"), QObject::tr("GPS Alt"),
- QObject::tr("Cell"), QObject::tr("Cels"), QObject::tr("Vfas"), QObject::tr("Curr"), QObject::tr("Cnsp"), QObject::tr("Powr"),
+ QObject::tr("Cell"), QObject::tr("Cells"), QObject::tr("Vfas"), QObject::tr("Curr"), QObject::tr("Cnsp"), QObject::tr("Powr"),
QObject::tr("AccX"), QObject::tr("AccY"), QObject::tr("AccZ"),
QObject::tr("HDG "), QObject::tr("VSpd"), QObject::tr("ASpd"), QObject::tr("dTE"),
QObject::tr("A1-"), QObject::tr("A2-"), QObject::tr("A3-"), QObject::tr("A4-"),
- QObject::tr("Alt-"), QObject::tr("Alt+"), QObject::tr("Rpm+"), QObject::tr("T1+"), QObject::tr("T2+"), QObject::tr("Spd+"), QObject::tr("Dst+"),
- QObject::tr("Cel-"), QObject::tr("Cels-"), QObject::tr("Vfs-"), QObject::tr("Cur+"), QObject::tr("Pwr+"),
+ QObject::tr("Alt-"), QObject::tr("Alt+"), QObject::tr("Rpm+"), QObject::tr("T1+"), QObject::tr("T2+"), QObject::tr("Speed+"), QObject::tr("Dist+"),
+ QObject::tr("Cell-"), QObject::tr("Cells-"), QObject::tr("Vfas-"), QObject::tr("Curr+"), QObject::tr("Powr+"),
QObject::tr("ACC"), QObject::tr("Time"),
};
diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h
index f4a2bc7dc..98804b3d1 100644
--- a/companion/src/eeprominterface.h
+++ b/companion/src/eeprominterface.h
@@ -217,6 +217,7 @@ enum TelemetrySource {
TELEMETRY_SOURCE_CELL_MIN,
TELEMETRY_SOURCE_CELLS_MIN,
TELEMETRY_SOURCE_VFAS_MIN,
+ TELEMETRY_SOURCE_CURRENT_MAX,
TELEMETRY_SOURCE_POWER_MAX,
TELEMETRY_SOURCE_ACC,
TELEMETRY_SOURCE_GPS_TIME,
diff --git a/companion/src/firmwares/opentx/opentxSky9xsimulator.cpp b/companion/src/firmwares/opentx/opentxSky9xsimulator.cpp
index 0c6fc43b4..21d9df740 100644
--- a/companion/src/firmwares/opentx/opentxSky9xsimulator.cpp
+++ b/companion/src/firmwares/opentx/opentxSky9xsimulator.cpp
@@ -54,6 +54,7 @@
#define GPS
#define FAI_CHOICE
+#define NUM_POTS 3
#define EEPROM_VARIANT 3
#undef min
diff --git a/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp b/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp
index df8e4d197..63b369d15 100644
--- a/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp
+++ b/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp
@@ -54,6 +54,8 @@
#define LUA_MODEL_SCRIPTS
#define EEPROM_VARIANT 3
+#define NUM_POTS 5
+
#undef min
#undef max
@@ -153,9 +155,6 @@ int16_t g_anas[NUM_STICKS+5];
uint16_t anaIn(uint8_t chan)
{
- if (chan == 8)
- return 1800;
- else
return g_anas[chan];
}
diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp
index 8a9744bc0..0a9de81c9 100644
--- a/companion/src/firmwares/opentx/opentxeeprom.cpp
+++ b/companion/src/firmwares/opentx/opentxeeprom.cpp
@@ -384,8 +384,12 @@ class TelemetrySourcesConversionTable: public ConversionTable {
addConversion(1+TELEMETRY_SOURCE_T2_MAX, val++);
addConversion(1+TELEMETRY_SOURCE_SPEED_MAX, val++);
addConversion(1+TELEMETRY_SOURCE_DIST_MAX, val++);
- addConversion(1+TELEMETRY_SOURCE_CELL_MIN, val++);
- addConversion(1+TELEMETRY_SOURCE_VFAS_MIN, val++);
+ if (version >= 216) {
+ addConversion(1+TELEMETRY_SOURCE_CELL_MIN, val++);
+ addConversion(1+TELEMETRY_SOURCE_CELLS_MIN, val++);
+ addConversion(1+TELEMETRY_SOURCE_VFAS_MIN, val++);
+ }
+ addConversion(1+TELEMETRY_SOURCE_CURRENT_MAX, val++);
addConversion(1+TELEMETRY_SOURCE_POWER_MAX, val++);
if (IS_ARM(board) && version >= 216) {
for (int i=0; i<5; i++)
@@ -1008,9 +1012,15 @@ class InputField: public TransformedField {
virtual void afterImport()
{
- if (IS_TARANIS(board) && version < 216) {
- if (expo.mode) {
- expo.srcRaw = RawSource(SOURCE_TYPE_STICK, expo.chn);
+ if (IS_TARANIS(board)) {
+ if (version < 216) {
+ if (expo.mode) {
+ expo.srcRaw = RawSource(SOURCE_TYPE_STICK, expo.chn);
+ }
+ }
+ else {
+ if (expo.srcRaw.type != SOURCE_TYPE_NONE)
+ expo.mode = 3;
}
}
diff --git a/companion/src/firmwares/opentx/opentxsimulator.cpp b/companion/src/firmwares/opentx/opentxsimulator.cpp
index 2124c5865..05e680073 100644
--- a/companion/src/firmwares/opentx/opentxsimulator.cpp
+++ b/companion/src/firmwares/opentx/opentxsimulator.cpp
@@ -53,6 +53,8 @@
#define EEPROM_VARIANT SIMU_STOCK_VARIANTS
#define GAUGES
+#define NUM_POTS 3
+
#undef min
#undef max
diff --git a/companion/src/helpers.cpp b/companion/src/helpers.cpp
index 536921de1..52871a32e 100644
--- a/companion/src/helpers.cpp
+++ b/companion/src/helpers.cpp
@@ -95,31 +95,6 @@ void populateRotEncCB(QComboBox *b, int value, int renumber)
b->setCurrentIndex(value);
}
-void populateCustomScreenFieldCB(QComboBox *b, unsigned int value, bool last=false, int hubproto=0)
-{
- int telem_hub[] = {0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,0,0,2,2,1,1,1,1,1,1};
- b->clear();
-
- b->addItem(RawSource(SOURCE_TYPE_NONE, 0).toString());
-
- for (unsigned int i = 0; i <= (last ? TELEMETRY_SOURCES_DISPLAY_COUNT : TELEMETRY_SOURCES_STATUS_COUNT); i++) {
- b->addItem(RawSource(SOURCE_TYPE_TELEMETRY, i).toString());
- if (!(i>=sizeof(telem_hub)/sizeof(int) || telem_hub[i]==0 || ((telem_hub[i]>=hubproto) && hubproto!=0))) {
- QModelIndex index = b->model()->index(i, 0);
- QVariant v(0);
- b->model()->setData(index, v, Qt::UserRole - 1);
- }
- }
-
- if (value>=sizeof(telem_hub)/sizeof(int))
- b->setCurrentIndex(0);
- else if (telem_hub[value]==0 || ((telem_hub[value]>=hubproto) && hubproto!=0)) {
- b->setCurrentIndex(value);
- }
-
- b->setMaxVisibleItems(10);
-}
-
QString getProtocolStr(const int proto)
{
static const char *strings[] = { "OFF",
diff --git a/companion/src/helpers.h b/companion/src/helpers.h
index 857d66749..53bff4d2f 100644
--- a/companion/src/helpers.h
+++ b/companion/src/helpers.h
@@ -88,7 +88,6 @@ void populateSwitchCB(QComboBox *b, const RawSwitch & value, unsigned long attr=
void populatePhasesCB(QComboBox *b, int value);
void populateGvarUseCB(QComboBox *b, unsigned int phase);
-void populateCustomScreenFieldCB(QComboBox *b, unsigned int value, bool last, int hubproto);
QString getProtocolStr(const int proto);
QString getPhasesStr(unsigned int phases, ModelData & model);
diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp
index 0f8d36389..aff8ad8cc 100644
--- a/companion/src/mainwindow.cpp
+++ b/companion/src/mainwindow.cpp
@@ -222,7 +222,7 @@ void MainWindow::checkForUpdates(bool ignoreSettings, QString & fwId)
if(ignoreSettings) {
downloadDialog_forWait = new downloadDialog(this, tr("Checking for updates"));
- downloadDialog_forWait->show();
+ downloadDialog_forWait->exec();
} else {
downloadDialog_forWait = NULL; // TODO needed?
}
@@ -272,7 +272,7 @@ void MainWindow::checkForUpdateFinished(QNetworkReply * reply)
downloadDialog * dd = new downloadDialog(this, QString(OPENTX_COMPANION_DOWNLOADS C9X_INSTALLER).arg(version), fileName);
installer_fileName = fileName;
connect(dd, SIGNAL(accepted()), this, SLOT(updateDownloaded()));
- dd->show();
+ dd->exec();
}
}
#else
@@ -1530,18 +1530,20 @@ MdiChild *MainWindow::createMdiChild()
return child;
}
-QAction * MainWindow::addAct(QString icon, QString sName, QString lName, QKeySequence::StandardKey shortcut, const char *slot)
+QAction * MainWindow::addAct(QString icon, QString sName, QString lName, QKeySequence::StandardKey shortcut, const char *slot, QObject *slotObj)
{
QAction * newAction = new QAction( this );
if (!icon.isEmpty())
- newAction->setIcon(CompanionIcon(icon));
+ newAction->setIcon(CompanionIcon(icon));
if (!sName.isEmpty())
newAction->setText(sName);
if (!lName.isEmpty())
newAction->setStatusTip(lName);
if (shortcut != 0)
newAction->setShortcuts(shortcut);
- connect(newAction, SIGNAL(triggered()), this, slot);
+ if (slotObj == NULL)
+ slotObj = this;
+ connect(newAction, SIGNAL(triggered()), slotObj, slot);
return newAction;
}
@@ -1584,7 +1586,7 @@ void MainWindow::createActions()
openAct = addAct("open.png", tr("Open Models+Settings..."), tr("Open Models and Settings file"), QKeySequence::Open, SLOT(openFile()));
saveAct = addAct("save.png", tr("Save Models+Settings..."), tr("Save Models and Settings file"), QKeySequence::Save, SLOT(save()));
saveAsAct = addAct("saveas.png", tr("Save Models+Settings as..."), tr("Save Models and Settings file"), QKeySequence::SaveAs, SLOT(saveAs()));
- exitAct = addAct("exit.png", tr("Exit"), tr("Exit the application"), QKeySequence::Quit, SLOT(newFile()));
+ exitAct = addAct("exit.png", tr("Exit"), tr("Exit the application"), QKeySequence::Quit, SLOT(closeAllWindows()), qApp);
cutAct = addAct("cut.png", tr("Cut Model"), tr("Cut current model to the clipboard"), QKeySequence::Cut, SLOT(cut()));
copyAct = addAct("copy.png", tr("Copy Model..."), tr("Copy current model to the clipboard"), QKeySequence::Copy, SLOT(copy()));
pasteAct = addAct("paste.png", tr("Paste Model..."), tr("Paste model from clipboard"), QKeySequence::Paste, SLOT(paste()));
diff --git a/companion/src/mainwindow.h b/companion/src/mainwindow.h
index 8bfca1fa8..c3b9ed2e9 100644
--- a/companion/src/mainwindow.h
+++ b/companion/src/mainwindow.h
@@ -49,7 +49,7 @@
#include "eeprominterface.h"
#define SPLASH_TIME 5
-#define MAX_RECENT 10
+#define MAX_RECENT 15
#define MAX_PROFILES 15
class MdiChild;
@@ -158,7 +158,7 @@ private slots:
private:
void createActions();
- QAction * addAct(QString, QString, QString, QKeySequence::StandardKey, const char *);
+ QAction * addAct(QString, QString, QString, QKeySequence::StandardKey, const char *, QObject *slotObj=NULL);
QAction * addAct(QActionGroup *, QString, QString, const char *);
QAction * addAct(QString, QString, QString, const char *);
diff --git a/companion/src/modeledit/customfunctions.cpp b/companion/src/modeledit/customfunctions.cpp
index b1805df46..e4c9ddadb 100644
--- a/companion/src/modeledit/customfunctions.cpp
+++ b/companion/src/modeledit/customfunctions.cpp
@@ -161,6 +161,12 @@ CustomFunctionsPanel::CustomFunctionsPanel(QWidget * parent, ModelData & model,
connect(fswtchParamArmT[i], SIGNAL(editTextChanged ( const QString)), this, SLOT(customFunctionEdited()));
#ifdef PHONON
+ phononLock=false;
+ clickObject = new Phonon::MediaObject(this);
+ clickOutput = new Phonon::AudioOutput(Phonon::NoCategory, this);
+ Phonon::createPath(clickObject, clickOutput);
+ connect(clickObject, SIGNAL(stateChanged(Phonon::State,Phonon::State)), this, SLOT(mediaPlayer_state(Phonon::State,Phonon::State)));
+
playBT[i] = new QPushButton(this);
playBT[i]->setProperty("index", i);
playBT[i]->setProperty("state", "play");
@@ -203,6 +209,7 @@ void CustomFunctionsPanel::mediaPlayer_state(Phonon::State newState, Phonon::Sta
clickObject->clearQueue();
clickObject->clear();
for (int i=0; igetCapability(CustomFunctions); i++) {
+ playBT[i]->setProperty("state", "play");
playBT[i]->setObjectName(QString("play_%1").arg(i));
playBT[i]->setIcon(CompanionIcon("play.png"));
}
diff --git a/companion/src/modeledit/expodialog.cpp b/companion/src/modeledit/expodialog.cpp
index 49e86fc8a..7b04620ff 100644
--- a/companion/src/modeledit/expodialog.cpp
+++ b/companion/src/modeledit/expodialog.cpp
@@ -3,11 +3,12 @@
#include "eeprominterface.h"
#include "helpers.h"
-ExpoDialog::ExpoDialog(QWidget *parent, ModelData & model, ExpoData *expoData, int stickMode) :
+ExpoDialog::ExpoDialog(QWidget *parent, ModelData & model, ExpoData *expoData, int stickMode, char * inputName) :
QDialog(parent),
ui(new Ui::ExpoDialog),
model(model),
- ed(expoData)
+ ed(expoData),
+ inputName(inputName)
{
ui->setupUi(this);
QLabel * lb_fp[] = {ui->lb_FP0,ui->lb_FP1,ui->lb_FP2,ui->lb_FP3,ui->lb_FP4,ui->lb_FP5,ui->lb_FP6,ui->lb_FP7,ui->lb_FP8 };
@@ -76,7 +77,7 @@ ExpoDialog::ExpoDialog(QWidget *parent, ModelData & model, ExpoData *expoData, i
}
ui->inputName->setValidator(new QRegExpValidator(rx, this));
- ui->inputName->setText(model.inputNames[ed->chn]);
+ ui->inputName->setText(inputName);
ui->lineName->setValidator(new QRegExpValidator(rx, this));
ui->lineName->setText(ed->name);
@@ -93,6 +94,8 @@ ExpoDialog::ExpoDialog(QWidget *parent, ModelData & model, ExpoData *expoData, i
for (int i=0; i<9; i++) {
connect(cb_fp[i], SIGNAL(toggled(bool)), this, SLOT(valuesChanged()));
}
+ if (GetEepromInterface()->getCapability(VirtualInputs))
+ connect(ui->inputName, SIGNAL(editingFinished()), this, SLOT(valuesChanged()));
QTimer::singleShot(0, this, SLOT(shrink()));
}
@@ -137,7 +140,7 @@ void ExpoDialog::valuesChanged()
ed->mode = ui->sideCB->currentIndex() + 1;
strcpy(ed->name, ui->lineName->text().toAscii().data());
- strcpy(model.inputNames[ed->chn], ui->inputName->text().toAscii().data());
+ strcpy(inputName, ui->inputName->text().toAscii().data());
ed->phases=0;
for (int i=8; i>=0 ; i--) {
diff --git a/companion/src/modeledit/expodialog.h b/companion/src/modeledit/expodialog.h
index 2d96b130a..ddb3d750c 100644
--- a/companion/src/modeledit/expodialog.h
+++ b/companion/src/modeledit/expodialog.h
@@ -14,7 +14,7 @@ namespace Ui {
class ExpoDialog : public QDialog {
Q_OBJECT
public:
- ExpoDialog(QWidget *parent, ModelData & model, ExpoData *expodata, int stickMode);
+ ExpoDialog(QWidget *parent, ModelData & model, ExpoData *expodata, int stickMode, char * inputName);
~ExpoDialog();
protected:
@@ -28,6 +28,7 @@ class ExpoDialog : public QDialog {
Ui::ExpoDialog * ui;
ModelData & model;
ExpoData * ed;
+ char * inputName;
GVarGroup * gvGroup;
CurveGroup * curveGroup;
};
diff --git a/companion/src/modeledit/flightmodes.cpp b/companion/src/modeledit/flightmodes.cpp
index a5cd400a0..dffb391aa 100644
--- a/companion/src/modeledit/flightmodes.cpp
+++ b/companion/src/modeledit/flightmodes.cpp
@@ -194,33 +194,29 @@ void FlightMode::update()
for (int i=0; isetText(model.gvars_names[i]);
- if (phase.gvars[i] < 1024) {
- gvValues[i]->setValue(phase.gvars[i]);
- gvValues[i]->setDisabled(false);
- }
- else {
- int idx = phase.gvars[i] - 1025;
- if (idx >= i) idx++;
- // TODO no!!!!
- PhaseData *phasegvar = &model.phaseData[idx];
- gvValues[i]->setValue(phasegvar->gvars[i]);
- gvValues[i]->setDisabled(true);
+ gvValues[i]->setDisabled(false);
+ int idx = phase.gvars[i];
+ PhaseData *phasegvar = &phase;
+ while (idx >= 1024) {
+ idx -= 1025;
+ phasegvar = &model.phaseData[idx];
+ idx = phasegvar->gvars[i];
+ gvValues[i]->setDisabled(true);
}
+ gvValues[i]->setValue(phasegvar->gvars[i]);
}
- for (int i=0; isetValue(phase.rotaryEncoders[i]);
- reValues[i]->setDisabled(false);
- }
- else {
- int idx = phase.rotaryEncoders[i] - 1025;
- if (idx >= i) idx++;
- // TODO no!!!!
- PhaseData *phasere = &model.phaseData[idx];
- reValues[i]->setValue(phasere->rotaryEncoders[i]);
+ for (int i=0; isetDisabled(false);
+ int idx = phase.rotaryEncoders[i];
+ PhaseData *phasere = &phase;
+ while (idx >= 1024) {
+ idx -= 1025;
+ phasere = &model.phaseData[idx];
+ idx = phasere->rotaryEncoders[i];
reValues[i]->setDisabled(true);
}
+ reValues[i]->setValue(phasere->rotaryEncoders[i]);
}
}
@@ -311,21 +307,12 @@ void FlightMode::phaseGVUse_currentIndexChanged(int index)
QComboBox *comboBox = qobject_cast(sender());
int gvar = comboBox->property("index").toInt();
if (index == 0) {
- int value = phase.gvars[gvar];
- if (value>1024) {
- value=0;
- }
- gvValues[gvar]->setValue(value);
- gvValues[gvar]->setEnabled(true);
- phase.gvars[gvar]=value;
+ phase.gvars[gvar]=0;
}
else {
phase.gvars[gvar] = 1024+index;
- // TOTO it's wrong!!!
- int value = model.phaseData[index + (index>phaseIdx ? 0 :-1)].gvars[gvar];
- gvValues[gvar]->setValue(value);
- gvValues[gvar]->setDisabled(true);
}
+ update();
emit modified();
lock = false;
}
@@ -348,21 +335,12 @@ void FlightMode::phaseREUse_currentIndexChanged(int index)
QComboBox *comboBox = qobject_cast(sender());
int re = comboBox->property("index").toInt();
if (index == 0) {
- // TODO no!!!
- int value = phase.rotaryEncoders[re];
- if (value > 1024) {
- value = 0;
- }
- reValues[re]->setValue(value);
- reValues[re]->setEnabled(true);
- phase.rotaryEncoders[re] = value;
+ phase.rotaryEncoders[re] = 0;
}
else {
- phase.rotaryEncoders[re] = 1024 + index;
- int value = model.phaseData[index + (index>phaseIdx ? 0 :-1)].rotaryEncoders[re];
- reValues[re]->setValue(value);
- reValues[re]->setDisabled(true) ;
+ phase.rotaryEncoders[re] = 1024 + index; ;
}
+ update();
lock = false;
emit modified();
}
diff --git a/companion/src/modeledit/inputs.cpp b/companion/src/modeledit/inputs.cpp
index a6e1f6eac..6096c8cdf 100644
--- a/companion/src/modeledit/inputs.cpp
+++ b/companion/src/modeledit/inputs.cpp
@@ -169,12 +169,18 @@ void InputsPanel::gm_openExpo(int index)
if(index<0 || index>=C9X_MAX_EXPOS) return;
ExpoData mixd(model.expoData[index]);
+ char inputName[4+1];
emit modified();
update();
+
+ if (GetEepromInterface()->getCapability(VirtualInputs))
+ strcpy(inputName, model.inputNames[mixd.chn]);
- ExpoDialog *g = new ExpoDialog(this, model, &mixd, generalSettings.stickMode);
+ ExpoDialog *g = new ExpoDialog(this, model, &mixd, generalSettings.stickMode, inputName);
if (g->exec()) {
model.expoData[index] = mixd;
+ if (GetEepromInterface()->getCapability(VirtualInputs))
+ strcpy(model.inputNames[mixd.chn], inputName);
emit modified();
update();
}
diff --git a/companion/src/modeledit/modeledit.cpp b/companion/src/modeledit/modeledit.cpp
index efc953736..8124e4903 100644
--- a/companion/src/modeledit/modeledit.cpp
+++ b/companion/src/modeledit/modeledit.cpp
@@ -22,6 +22,7 @@ ModelEdit::ModelEdit(RadioData & radioData, int modelId, bool openWizard, bool i
generalSettings(radioData.generalSettings)
{
ui->setupUi(this);
+ setWindowIcon(CompanionIcon("edit.png"));
restoreGeometry(g.modelEditGeo());
ui->pushButton->setIcon(CompanionIcon("simulate.png"));
addTab(new Setup(this, model), tr("Setup"));
diff --git a/companion/src/modeledit/telemetry.cpp b/companion/src/modeledit/telemetry.cpp
index e06fe96a3..d32420db3 100644
--- a/companion/src/modeledit/telemetry.cpp
+++ b/companion/src/modeledit/telemetry.cpp
@@ -28,10 +28,20 @@ TelemetryAnalog::TelemetryAnalog(QWidget *parent, FrSkyChannelData & analog):
update();
ui->UnitCB->setCurrentIndex(analog.type);
- ui->alarm1LevelCB->setCurrentIndex(analog.alarms[0].level);
- ui->alarm1GreaterCB->setCurrentIndex(analog.alarms[0].greater);
- ui->alarm2LevelCB->setCurrentIndex(analog.alarms[1].level);
- ui->alarm2GreaterCB->setCurrentIndex(analog.alarms[1].greater);
+ if (!IS_TARANIS(GetEepromInterface()->getBoard())) {
+ ui->alarm1LevelCB->setCurrentIndex(analog.alarms[0].level);
+ ui->alarm1GreaterCB->setCurrentIndex(analog.alarms[0].greater);
+ ui->alarm2LevelCB->setCurrentIndex(analog.alarms[1].level);
+ ui->alarm2GreaterCB->setCurrentIndex(analog.alarms[1].greater);
+ }
+ else {
+ ui->alarm1LevelCB->hide();
+ ui->alarm2LevelCB->hide();
+ ui->alarm1GreaterCB->hide();
+ ui->alarm2GreaterCB->hide();
+ ui->alarm1Label->setText(tr("Low Alarm"));
+ ui->alarm2Label->setText(tr("Critical Alarm"));
+ }
if (!(GetEepromInterface()->getCapability(Telemetry) & TM_HASOFFSET)) {
ui->CalibSB->hide();
@@ -281,7 +291,7 @@ TelemetryCustomScreen::TelemetryCustomScreen(QWidget *parent, ModelData & model,
for (int c=0; cgetCapability(TelemetryCustomScreensFieldsPerLine); c++) {
fieldsCB[l][c] = new QComboBox(this);
fieldsCB[l][c]->setProperty("index", c + (l<<8));
- populateCustomScreenFieldCB(fieldsCB[l][c], screen.body.lines[l].source[c], (l<4), model.frsky.usrProto);
+ populateTelemetrySourceCB(fieldsCB[l][c], screen.body.lines[l].source[c], l==3, model.frsky.usrProto);
ui->screenNumsLayout->addWidget(fieldsCB[l][c], l, c, 1, 1);
connect(fieldsCB[l][c], SIGNAL(currentIndexChanged(int)), this, SLOT(customFieldChanged(int)));
}
@@ -290,7 +300,7 @@ TelemetryCustomScreen::TelemetryCustomScreen(QWidget *parent, ModelData & model,
for (int l=0; l<4; l++) {
barsCB[l] = new QComboBox(this);
barsCB[l]->setProperty("index", l);
- populateCustomScreenFieldCB(barsCB[l], screen.body.bars[l].source, false, model.frsky.usrProto);
+ populateTelemetrySourceCB(barsCB[l], screen.body.bars[l].source, false, model.frsky.usrProto);
connect(barsCB[l], SIGNAL(currentIndexChanged(int)), this, SLOT(barSourceChanged(int)));
ui->screenBarsLayout->addWidget(barsCB[l], l, 0, 1, 1);
@@ -316,6 +326,31 @@ TelemetryCustomScreen::TelemetryCustomScreen(QWidget *parent, ModelData & model,
update();
}
+void TelemetryCustomScreen::populateTelemetrySourceCB(QComboBox *b, unsigned int value, bool last, int hubproto)
+{
+ int telem_hub[] = {0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,0,0,2,2,1,1,1,1,1,1};
+ b->clear();
+
+ b->addItem(RawSource(SOURCE_TYPE_NONE, 0).toString());
+
+ for (unsigned int i = 0; i < (last ? TELEMETRY_SOURCES_STATUS_COUNT : TELEMETRY_SOURCES_DISPLAY_COUNT); i++) {
+ b->addItem(RawSource(SOURCE_TYPE_TELEMETRY, i).toString());
+ if (!(i>=sizeof(telem_hub)/sizeof(int) || telem_hub[i]==0 || ((telem_hub[i]>=hubproto) && hubproto!=0))) {
+ QModelIndex index = b->model()->index(i, 0);
+ QVariant v(0);
+ b->model()->setData(index, v, Qt::UserRole - 1);
+ }
+ }
+
+ if (value>=sizeof(telem_hub)/sizeof(int))
+ b->setCurrentIndex(0);
+ else if (telem_hub[value]==0 || ((telem_hub[value]>=hubproto) && hubproto!=0)) {
+ b->setCurrentIndex(value);
+ }
+
+ b->setMaxVisibleItems(10);
+}
+
TelemetryCustomScreen::~TelemetryCustomScreen()
{
delete ui;
@@ -347,6 +382,8 @@ void TelemetryCustomScreen::update()
void TelemetryCustomScreen::updateBar(int line)
{
+ lock = true;
+
int index = screen.body.bars[line].source;
barsCB[line]->setCurrentIndex(index);
if (index) {
@@ -372,6 +409,8 @@ void TelemetryCustomScreen::updateBar(int line)
minSB[line]->setDisabled(true);
maxSB[line]->setDisabled(true);
}
+
+ lock = false;
}
void TelemetryCustomScreen::on_screenType_currentIndexChanged(int index)
@@ -393,13 +432,15 @@ void TelemetryCustomScreen::customFieldChanged(int value)
void TelemetryCustomScreen::barSourceChanged(int index)
{
- QComboBox * cb = qobject_cast(sender());
- int line = cb->property("index").toInt();
- screen.body.bars[line].source = index;
- screen.body.bars[line].barMin = 0;
- screen.body.bars[line].barMax = 0;
- updateBar(line);
- emit modified();
+ if (!lock) {
+ QComboBox * cb = qobject_cast(sender());
+ int line = cb->property("index").toInt();
+ screen.body.bars[line].source = index;
+ screen.body.bars[line].barMin = 0;
+ screen.body.bars[line].barMax = 0;
+ updateBar(line);
+ emit modified();
+ }
}
void TelemetryCustomScreen::barMinChanged(double value)
@@ -467,8 +508,16 @@ void TelemetryPanel::setup()
}
ui->rssiAlarm1SB->setValue(model.frsky.rssiAlarms[0].value);
ui->rssiAlarm2SB->setValue(model.frsky.rssiAlarms[1].value);
- ui->rssiAlarm1CB->setCurrentIndex(model.frsky.rssiAlarms[0].level);
- ui->rssiAlarm2CB->setCurrentIndex(model.frsky.rssiAlarms[1].level);
+ if (!IS_TARANIS(GetEepromInterface()->getBoard())) {
+ ui->rssiAlarm1CB->setCurrentIndex(model.frsky.rssiAlarms[0].level);
+ ui->rssiAlarm2CB->setCurrentIndex(model.frsky.rssiAlarms[1].level);
+ }
+ else {
+ ui->rssiAlarm1CB->hide();
+ ui->rssiAlarm2CB->hide();
+ ui->rssiAlarm1Label->setText(tr("Low Alarm"));
+ ui->rssiAlarm2Label->setText(tr("Critical Alarm"));
+ }
if (!GetEepromInterface()->getCapability(HasAltitudeSel)) {
ui->AltitudeGPS_ChkB->hide();
diff --git a/companion/src/modeledit/telemetry.h b/companion/src/modeledit/telemetry.h
index 44233f79c..cd804465a 100644
--- a/companion/src/modeledit/telemetry.h
+++ b/companion/src/modeledit/telemetry.h
@@ -61,6 +61,9 @@ class TelemetryCustomScreen : public ModelPanel
void barMinChanged(double value);
void barMaxChanged(double value);
+ protected:
+ void populateTelemetrySourceCB(QComboBox *b, unsigned int value, bool last, int hubproto);
+
private:
void updateBar(int line);
Ui::TelemetryCustomScreen * ui;
diff --git a/companion/src/modeledit/telemetry.ui b/companion/src/modeledit/telemetry.ui
index 6a3a6d618..6034d2c4e 100644
--- a/companion/src/modeledit/telemetry.ui
+++ b/companion/src/modeledit/telemetry.ui
@@ -77,7 +77,7 @@
-
-
+
0
@@ -157,7 +157,7 @@
-
-
+
0
diff --git a/companion/src/modeledit/telemetry_analog.ui b/companion/src/modeledit/telemetry_analog.ui
index d8b713105..d09c7b421 100644
--- a/companion/src/modeledit/telemetry_analog.ui
+++ b/companion/src/modeledit/telemetry_analog.ui
@@ -43,7 +43,7 @@
-
-
+
0
@@ -106,7 +106,7 @@
-
-
+
0
diff --git a/companion/src/printdialog.cpp b/companion/src/printdialog.cpp
index 215771347..0988a86ae 100644
--- a/companion/src/printdialog.cpp
+++ b/companion/src/printdialog.cpp
@@ -530,9 +530,9 @@ void printDialog::printCurves()
qplot_color[7]=new QColor(0,0,255);
qplot_color[8]=new QColor(0,127,255);
qplot_color[9]=new QColor(127,0,255);
- qplot_color[10]=new QColor(0,255,0);
- qplot_color[11]=new QColor(0,255,127);
- qplot_color[12]=new QColor(127,255,0);
+ qplot_color[10]=new QColor(0,200,0);
+ qplot_color[11]=new QColor(0,200,127);
+ qplot_color[12]=new QColor(127,200,0);
qplot_color[13]=new QColor(255,0,0);
qplot_color[14]=new QColor(255,0,127);
qplot_color[15]=new QColor(255,127,0);
diff --git a/companion/src/simulation/simulatordialog.cpp b/companion/src/simulation/simulatordialog.cpp
index 597edfe35..466d59a62 100644
--- a/companion/src/simulation/simulatordialog.cpp
+++ b/companion/src/simulation/simulatordialog.cpp
@@ -515,6 +515,7 @@ void SimulatorDialogTaranis::getValues()
{
-ui->dialP_1->value(),
ui->dialP_2->value(),
+ 0,
-ui->dialP_3->value(),
ui->dialP_4->value()
},
diff --git a/companion/src/simulation/simulatorinterface.h b/companion/src/simulation/simulatorinterface.h
index 2b2e76187..744984ebb 100644
--- a/companion/src/simulation/simulatorinterface.h
+++ b/companion/src/simulation/simulatorinterface.h
@@ -21,7 +21,7 @@
struct TxInputs {
int sticks[NUM_STICKS]; /* lh lv rv rh */
- int pots[4]; /* TODO NUM_POTS */
+ int pots[5]; /* TODO NUM_POTS */
int switches[10]; /* TODO NUM_SWITCHES */
bool keys[6]; /* TODO NUM_KEYS */
bool rotenc;
diff --git a/companion/src/translations/companion_fi.ts b/companion/src/translations/companion_fi.ts
index 96023cc65..e7516fdcc 100644
--- a/companion/src/translations/companion_fi.ts
+++ b/companion/src/translations/companion_fi.ts
@@ -4,409 +4,297 @@
Channels
-
Name
-
+ Nimi
-
Offset
-
+ Tasoitus
-
Min
-
+ Min
-
Max
-
+ Max
-
Invert
-
+ Käänteinen
-
Center
-
+ Keski
-
Sym
-
+ Sym
-
Channel %1
-
+ Kanava %1
-
---
-
+ ---
-
INV
-
+ KÄÄNT
CurveGroup
-
Diff
-
+ Ero
-
Expo
-
+ Expo
-
Func
-
+ Toiminto
-
Curve
-
+ Käyrä
Curves
-
Form
-
+ Käyrät
-
Standard
-
+ Vakio
-
Custom
-
+ Omat
-
Lines
-
+ Viivat
-
Smooth
-
+ Pehmeä
-
Curve type
-
+ Käyrän tyyppi
-
Curve name
-
+ Käyrän nimi
-
Curve %1
-
+ Käyräi %1
-
%1 points
-
+ %1 pisteet
-
Are you sure you want to reset curve %1 ?
-
+ Oletko varma että haluat palauttaa käyrän %1 ?
-
Editing curve %1
-
+ Muutetaan käyrää %1
-
Not enough free points in EEPROM to store the curve.
-
+ Ei vapaata tilaa EEPROMissa tallentaa käyrää.
CustomFunctionsPanel
-
Switch
-
+ Kytkin
-
Action
-
+ Toiminto
-
Parameters
-
+ Parametrit
-
Enable
-
+ Päälle
-
CF%1
-
+ OF%1
-
ON
-
+ ON
-
Error
-
+ Virhe
-
Unable to find sound file %1!
-
+ Äänitiedostoa ei löydy %1!
-
&Delete
-
+ &Poista
-
Delete
-
+ Poista
-
&Copy
-
+ &Kopio
-
Ctrl+C
-
+ Ctrl+C
-
&Cut
-
+ &Leikkaa
-
Ctrl+X
-
+ Ctrl+X
-
&Paste
-
+ &Liitä
-
Ctrl+V
-
+ Ctrl+V
Dialog
-
Dialog
-
+ Käyrä
-
Curve type
-
+ Tyyppi
-
Coefficient
-
+ Vaikutus
-
Both
-
+ Molemmat
-
x>0
-
+ x>0
-
x<0
-
+ x<0
-
Y at X=0
-
+ Y suhde X =0
-
Side
-
+ Sivu
-
Y at X=-100
-
+ Y suhde X =-100
-
Y at X=100
-
+ Y suhde X =100
-
Linear
-
+ Suora
-
Single Expo
-
+ yks expo
-
Symmetrical f(x)=-f(-x)
-
+ Symmetrinen f(x)=-f(-x)
-
Symmetrical f(x)=f(-x)
-
+ Symmetrinen f(x)=f(-x)
ExpoDialog
-
- The source for the mixer
-
-
-
-
- Input name
-
-
-
-
- Weight
-
-
-
-
-
- GV
-
-
-
-
- Phase used by the input.
-
-
-
-
- Flight modes
-
-
-
-
0
-
+ 0
-
1
-
+ 1
-
2
-
+ 2
-
3
-
+ 3
-
4
-
+ 4
-
5
-
+ 5
-
6
-
+ 6
-
7
-
+ 7
-
8
-
+ 8
-
Switch
-
+ Kytkin
-
- Switch used by the input.
-If blank then the input is considered to be "ON" all the time.
-
-
-
-
- Stick Side
-
-
-
-
NEG
-
+ NEG
-
POS
-
+ POS
-
ALL
-
+ Kaikki
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
@@ -418,70 +306,100 @@ p, li { white-space: pre-wrap; }
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -> the value states the number of seconds it takes to transit from -100 to 100.</p></body></html>
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Delay ans Slow</span></p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These values control the speed and delay of the output of the mix. </p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -> the value states the number of seconds it takes to transit from -100 to 100.</p></body></html>
+
+
+ No
+ Ei
+
+
+ Yes
+ Kyllä
+
+
+ Curve
+ Käyrä
+
+
+ Source
+ Lähde
+
+
+ The source for the mixer
+
+
+
+ Input name
+
+
+
+ Weight
+
+
+
+ GV
+
+
+
+ Phase used by the input.
+
+
+
+ Flight modes
+
+
+
+ Switch used by the input.
+If blank then the input is considered to be "ON" all the time.
+
+
+
+ Stick Side
-
Scale
-
Include Trim
-
- No
-
-
-
-
- Yes
-
-
-
-
- Curve
-
-
-
-
The curve used by the input
-
- Source
-
-
-
-
Line name
-
Edit %1
-
Rud
-
Ele
-
Thr
-
Ail
@@ -489,77 +407,62 @@ p, li { white-space: pre-wrap; }
FlightMode
-
Form
-
Fade In
-
Fade Out
-
Name
-
+ Nimi
-
Switch
-
+ Kytkin
-
trim1
-
trim2
-
trim4
-
trim3
-
Rud
-
Ele
-
Thr
-
Ail
-
Rotary Encoder %1
-
GVAR%1
@@ -567,338 +470,123 @@ p, li { white-space: pre-wrap; }
FlightModes
-
Flight Mode %1
-
+ Lentotila %1
-
(%1)
-
+ (%1)
-
(default)
-
+ (oletus)
GeneralEdit
-
General Edit
-
+ Yleiset muutokset
-
- Retrieve calib. and hw settings from profile
-
-
-
-
- Store calib. and hw settings in selected profile
-
-
-
-
- General settings used throught the transmitter.
-These will be relevant for all models in the same EEPROM.
-
-
-
-
Setup
-
+ Asetukset
-
Country Code
-
+ Maa koodi
-
America
-
+ Amerikka
-
Japan
-
+ Japani
-
Europe
-
+ Eurooppa
-
- MAVLink Baud Rate
-
-
-
-
Voice Language
-
+ Äänen kieli
-
- Measurement Units
-
-
-
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Single Beep Every whole Minute</span></p></body></html>
-
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Single Beep Every whole Minute</span></p></body></html>
-
Every Minute
-
+ Joka minuutti
-
- Beeps at 30, 15, 10, and down from5 seconds
-
-
-
-
- Count Down to Zero
-
-
-
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Flash backlight on timer beep</span></p></body></html>
-
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Flash backlight on timer beep</span></p></body></html>
-
- Flash on beep
-
-
-
-
- Beep volume
-
-
-
-
- Wav volume
-
-
-
-
- Vario volume
-
-
-
-
- Background volume
-
-
-
-
- PPMSim
-
-
-
-
4800 Baud
-
+ 4800 Baudia
-
9600 Baud
-
+ 9600 Baudia
-
14400 Baud
-
+ 14400 Baudia
-
19200 Baud
-
+ 19200 Baudia
-
38400 Baud
-
+ 38400 Baudia
-
57600 Baud
-
+ 57600 Baudia
-
76800 Baud
-
+ 76800 Baudia
-
115200 Baud
-
+ 115200 Baudia
-
- Beeper Length
-
-
-
-
- Pot Scrolling Enable
-
-
-
-
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">LCD Screen Contrast</span></p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Values can be 20-45</span></p></body></html>
-
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">LCD Screen Contrast</span></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Values can be 20-45</span></p></body></html>
-
- Haptic Length
-
-
-
-
- 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
-
-
-
-
-
-
- Mode 1 (RUD ELE THR AIL)
-
-
-
-
- Mode 2 (RUD THR ELE AIL)
-
-
-
-
- Mode 3 (AIL ELE THR RUD)
-
-
-
-
- Mode 4 (AIL THR ELE RUD)
-
-
-
-
- LCD Display Type
-
-
-
-
- BackLight On Stick Move
-
-
-
-
-
- sec
-
-
-
-
- Beeper Mode
-
-
-
-
- Timeshift from UTC
-
-
-
-
- RotEnc Navigation
-
-
-
-
- FrSky Internal Alarm
-
-
-
-
- THR
-
-
-
-
- RUD
-
-
-
-
- ELE
-
-
-
-
- AIL
-
-
-
-
- GEA
-
-
-
-
- ID0
-
-
-
-
- ID1
-
-
-
-
- ID2
-
-
-
-
-
-
-
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
@@ -910,5719 +598,4736 @@ p, li { white-space: pre-wrap; }
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Switch warning - will alert if switches are not in their defaul position</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Memory warning - will alert if there's not a lot of memory left</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Silent mode warning - will alert you if the beeper is set to quiet (0)</p></body></html>
-
-
-
-
- GPS Coordinates
-
-
-
-
- hh° (N/S) mm' ss''.dd
-
-
-
-
- NMEA
-
-
-
-
- If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio.
-
-
-
-
- Channel order
-
-This is used by the templated to determine which channel goes to what number output.
-
-
-
-
- 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
-
-
-
-
- Show Owner Name on Splash
-
-
-
-
- Speaker Pitch (spkr only)
-
-
-
-
-
- X-Short
-
-
-
-
-
- Short
-
-
-
-
-
- Normal
-
-
-
-
-
- Long
-
-
-
-
-
- X-Long
-
-
-
-
- StickScroll
-
-
-
-
- FAI Mode
-
-
-
-
- Haptic Strength
-
-
-
-
- Beeper
-
-
-
-
- Speaker
-
-
-
-
- BeeperVoice
-
-
-
-
- SpeakerVoice
-
-
-
-
- Show Splash Screen on Startup
-
-
-
-
- Metric
-
-
-
-
- Imperial
-
-
-
-
- Channel Order (For Templates)
-
-
-
-
- Stick Mode
-
-
-
-
- Haptic Mode
-
-
-
-
- Owner Name
-
-
-
-
- BackLight Invert
-
-
-
-
- Standard
-
-
-
-
- Optrex
-
-
-
-
-
- Show splash screen on startup
-
-
-
-
-
- Quiet
-
-
-
-
- Only Alarms
-
-
-
-
-
- No Keys
-
-
-
-
-
- All
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Beeper volume
-
-0 - Quiet. No beeps at all.
-1 - No Keys. Normal beeps but menu keys do not beep.
-2 - Normal.
-3 - Loud.
-4 - Extra loud.
-
-
-
-
- Alarms Only
-
-
-
-
- If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds.
-
-
-
-
- Timer Beeps
-
-
-
-
- BackLight Brightness
-
-
-
-
- Contrast
-
-
-
-
- BackLight Auto OFF after
-
-
-
-
- Single
-
-
-
-
- Oversample
-
-
-
-
- Filter
-
-
-
-
- This is the switch selectrion for turning on the backlight (if installed).
-
-
-
-
-
-
- Bandgap Measuring Enable
-
-
-
-
- Input Filter
-
-
-
-
- CrossTrim
-
-
-
-
- Sound Mode
-
-
-
-
- BackLight Switch
-
-
-
-
- Battery calibration:
-This value will be added to the measured battery voltage. Use this value to calibrate the meter with an external meter.
-
-
-
-
- Battery Calibration
-
-
-
-
- Battery Warning
-
-
-
-
- Battery warning voltage.
-This is the threashhold where the battery warning sounds.
-
-Acceptable values are 5v..10v
-
-
-
-
- Telemetry NO DATA Alarm
-
-
-
-
- Readonly Unlock
-
-
-
-
- Speaker Volume
-
-
-
-
- If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes.
-
-
-
-
- min
-
-
-
-
- Inactivity Timer
-
-
-
-
- SC
-
-
-
-
- SE
-
-
-
-
- SA
-
-
-
-
- SF
-
-
-
-
- SH
-
-
-
-
- SD
-
-
-
-
- SB
-
-
-
-
- SG
-
-
-
-
- Alarm Warning
-
-
-
-
- Memory Startup Warning
-
-
-
-
- Trainer
-
-
-
-
- Mode
-
-
-
-
- Input
-
-
-
-
- Weight
-
-
-
-
- Switch
-
-
-
-
-
- PPM 1
-
-
-
-
-
-
-
- Off
-
-
-
-
-
-
-
- += (Sum)
-
-
-
-
-
-
-
- := (Replace)
-
-
-
-
-
-
-
- chn1
-
-
-
-
-
-
-
- chn2
-
-
-
-
-
-
-
- chn3
-
-
-
-
-
-
-
- chn4
-
-
-
-
-
- PPM 2
-
-
-
-
-
- PPM 3
-
-
-
-
-
- PPM 4
-
-
-
-
- Telemetry
-
-
-
-
- RSSI Alarm 1
-
-
-
-
-
- ----
-
-
-
-
-
- Yellow
-
-
-
-
-
- Orange
-
-
-
-
-
- Red
-
-
-
-
- RSSI Alarm 2
-
-
-
-
- NO DATA Alarm
-
-
-
-
- Calibration
-
-
-
-
- POT 4
-
-
-
-
- POT 3
-
-
-
-
- POT 2
-
-
-
-
- POT 1
-
-
-
-
- STICK 3
-
-
-
-
-
- Negative span
-
-
-
-
-
- Mid value
-
-
-
-
-
- Positive span
-
-
-
-
- STICK 1
-
-
-
-
- STICK 2
-
-
-
-
- STICK 4
-
-
-
-
- Battery
-
-
-
-
- v
-
-
-
-
- PPM Multiplier
-
-
-
-
- Current
-
-
-
-
-
- Pot (normal)
-
-
-
-
-
- Multipos Switch
-
-
-
-
- S1 Type
-
-
-
-
- S2 Type
-
-
-
-
- If you enable FAI, you loose the vario, the play functions, the telemetry screen.
-This function cannot be disabled by the radio.
-Are you sure ?
-
-
-
-
-
- Warning
-
-
-
-
- Wrong data in profile, radio calibration was not retrieved
-
-
-
-
- Wrong data in profile, hw related parameters were not retrieved
-
-
-
-
- Do you want to store calibration in %1 profile<br>overwriting existing calibration?
-
-
-
-
- Calibration and HW parameters saved.
-
-
-
-
- Heli
-
-
- Form
-
-
-
-
- Invert Elevator
-
-
-
-
- Invert Aileron
-
-
-
-
- Invert Collective
-
-
-
-
- Invert
-
-
-
-
- Off
-
-
-
-
- 120
-
-
-
-
- 120X
-
-
-
-
- 140
-
-
-
-
- 90
-
-
-
-
- Collective
-
-
-
-
- Swash Type
-
-
-
-
- Swash Ring
-
-
-
-
- InputsPanel
-
-
-
- Move Up
-
-
-
-
-
- Ctrl+Up
-
-
-
-
-
- Move Down
-
-
-
-
-
- Ctrl+Down
-
-
-
-
- Clear All Settings
-
-
-
-
- Source(%1)
-
-
-
-
- No Trim
-
-
-
-
- Weight(%1)
-
-
-
-
- Switch(%1)
-
-
-
-
- Not enough available inputs!
-
-
-
-
- Delete Selected Inputs?
-
-
-
-
- &Add
-
-
-
-
- Ctrl+A
-
-
-
-
- &Edit
-
-
-
-
- Enter
-
-
-
-
- &Delete
-
-
-
-
- Delete
-
-
-
-
- &Copy
-
-
-
-
- Ctrl+C
-
-
-
-
- &Cut
-
-
-
-
- Ctrl+X
-
-
-
-
- &Paste
-
-
-
-
- Ctrl+V
-
-
-
-
- Du&plicate
-
-
-
-
- Ctrl+U
-
-
-
-
- Clear Inputs?
-
-
-
-
- Really clear all the inputs?
-
-
-
-
- LogicalSwitchesPanel
-
-
- Condition
-
-
-
-
- V1
-
-
-
-
- V2
-
-
-
-
- AND
-
-
-
-
- Duration
-
-
-
-
- Delay
-
-
-
-
-
- LS%1
-
-
-
-
- &Delete
-
-
-
-
- Delete
-
-
-
-
- &Copy
-
-
-
-
- Ctrl+C
-
-
-
-
- &Cut
-
-
-
-
- Ctrl+X
-
-
-
-
- &Paste
-
-
-
-
- Ctrl+V
-
-
-
-
- MainWindow
-
-
-
-
-
- File loaded
-
-
-
-
- Display previous warning again at startup ?
-
-
-
-
- Display previous message again at startup ?
-
-
-
-
- Checking for updates
-
-
-
-
-
-
-
-
- Unable to check for updates.
-
-
-
-
- A new version of Companion is available (version %1)<br>Would you like to download it?
-
-
-
-
-
-
-
-
- Save As
-
-
-
-
- Executable (*.exe)
-
-
-
-
- New release available
-
-
-
-
- A new release of Companion is available please check the OpenTX website!
-
-
-
-
-
- No updates available at this time.
-
-
-
-
- Would you like to launch the installer?
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Error
-
-
-
-
-
-
-
-
- Error opening file %1:
-%2.
-
-
-
-
- Firmware does not longer fit in the Tx, due to selected firmware options
-
-
-
-
- Compilation server temporary failure, try later
-
-
-
-
-
- Compilation server too busy, try later
-
-
-
-
-
- Compilation server requires registration, please check OpenTX web site
-
-
-
-
-
- Unknown server failure, try later
-
-
-
-
- Firmware does not fit in the Tx, due to selected firmware options
-
-
-
-
- Compilation server termporary failure, try later
-
-
-
-
- Do you want to write the firmware to the transmitter now ?
-
-
-
-
- Firmware %1 does not seem to have ever been downloaded.
-Version %2 is available.
-Do you want to download it now ?
-
-
-
-
-
- Yes
-
-
-
-
-
- No
-
-
-
-
-
- Release Notes
-
-
-
-
-
- Do you want to download release %1 now ?
-
-
-
-
- A new version of %1 firmware is available (current %2 - newer %3).
-Do you want to download it now ?
-
-
-
-
- Ignore this version (r%1)?
-
-
-
-
- Release notes contain very important informations. Do you want to see them now ?
-
-
-
-
- The selected language will be used the next time you start Companion.
-
-
-
-
-
-
- OK
-
-
-
-
- The new theme will be loaded the next time you start Companion.
-
-
-
-
- The icon size will be used the next time you start Companion.
-
-
-
-
- Open
-
-
-
-
-
- File saved
-
-
-
-
- Firmware updates
-
-
-
-
- Current firmware does not provide release notes informations.
-
-
-
-
- Cannot write file %1:
-%2.
-
-
-
-
-
-
-
-
- Taranis radio not found
-
-
-
-
-
-
-
- Impossible to identify the radio on your system, please verify the eeprom disk is connected.
-
-
-
-
-
-
-
-
- Read Models and Settings From Tx
-
-
-
-
- Write Models and settings from %1 to the Tx?
-
-
-
-
- The file %1
-has not been recognized as a valid Models and Settings file
-Write anyway ?
-
-
-
-
-
-
- Backup is impossible
-
-
-
-
-
-
- The backup dir set in preferences does not exist
-
-
-
-
-
-
-
-
-
- Backup Models and Settings From Tx
-
-
-
-
- Cannot check Models and Settings compatibility! Continue anyway?
-
-
-
-
-
- Warning
-
-
-
-
- The transmitter firmware belongs to another product family, check file and preferences!
-
-
-
-
- The transmitter firmware is outdated, please upgrade!
-
-
-
-
-
- Write Models and Settings To Tx
-
-
-
-
-
- Write Firmware To Tx
-
-
-
-
- Conversion failed
-
-
-
-
- Cannot convert Models and Settings for use with this firmware, original data will be used
-
-
-
-
- Restore Models and Settings To Tx
-
-
-
-
- Restore failed
-
-
-
-
- Could not restore Models and Settings to TX. The models and settings data file can be found at: %1
-
-
-
-
- Firmware write failed
-
-
-
-
- Could not write firmware to to transmitter. The models and settings data file can be found at: %1
-
-
-
-
- Backup failed
-
-
-
-
- Cannot backup existing Models and Settings from TX. Firmware write process aborted
-
-
-
-
- Save transmitter Models and Settings to File
-
-
-
-
- Impossible to identify the radio on your system, please verify that the eeprom disk is connected.
-
-
-
-
- Read Tx Firmware to File
-
-
-
-
- OpenTX Home Page: <a href='%1'>%1</a>
-
-
-
-
- The OpenTX Companion project was originally forked from <a href='%2'>eePe</a>
-
-
-
-
- If you've found this program useful, please support by <a href='%1'>donating</a>
-
-
-
-
- Version %1, %3
-
-
-
-
- Copyright
-
-
-
-
- About Companion
- Noin Companion
-
-
-
- OpenTX Companion - FW: %1 - Profile: %2
-
-
-
-
-
- New
-
-
-
-
- Create a new file
-
-
-
-
- Open...
-
-
-
-
- Open an existing file
-
-
-
-
- Save...
-
-
-
-
-
- Save the document to disk
-
-
-
-
- Save As...
-
-
-
-
- Exit
-
-
-
-
- Exit the application
-
-
-
-
- Cut
-
-
-
-
- Cut current selection to the clipboard
-
-
-
-
- Copy...
-
-
-
-
- Copy current selection to the clipboard
-
-
-
-
- Paste...
-
-
-
-
- Paste clipboard into current selection
-
-
-
-
- Classical
-
-
-
-
- The classical Companion icon theme
-
-
-
-
- The new Companion 2 icon theme
-
-
-
-
- Monochrome
-
-
-
-
- A monochrome black icon theme
-
-
-
-
- MonoWhite
-
-
-
-
- A monochrome white icon theme
-
-
-
-
- MonoBlue
-
-
-
-
- A monochrome blue icon theme
-
-
-
-
- Small
-
-
-
-
- Use small toolbar icons
-
-
-
-
- Normal
-
-
-
-
- Use normal size toolbar icons
-
-
-
-
- Big
-
-
-
-
- Use big toolbar icons
-
-
-
-
- Huge
-
-
-
-
- Use huge toolbar icons
-
-
-
-
- System language
-
-
-
-
- Use system language in menus
-
-
-
-
- Czech
-
-
-
-
- Use Czech in menus
-
-
-
-
- German
-
-
-
-
- Use German in menus
-
-
-
-
- English
-
-
-
-
- Use English in menus
-
-
-
-
- French
-
-
-
-
- Use French in menus
-
-
-
-
- Italian
-
-
-
-
- Use Italian in menus
-
-
-
-
- Hebrew
-
-
-
-
- Use Hebrew in menus
-
-
-
-
- Polish
-
-
-
-
- Use Polish in menus
-
-
-
-
- Portuguese
-
-
-
-
- Use Portuguese in menus
-
-
-
-
- Swedish
-
-
-
-
- Use Swedish in menus
-
-
-
-
- Russian
-
-
-
-
- Use Russian in menus
-
-
-
-
- About
- Noin
-
-
-
- Show the application's About box
-
-
-
-
- Print
-
-
-
-
- Print current model
-
-
-
-
- Simulate
-
-
-
-
- Simulate selected model
-
-
-
-
- loadBackup...
-
-
-
-
- Load backup from file
-
-
-
-
- Logs
-
-
-
-
- Open log file
-
-
-
-
- Setting...
-
-
-
-
- Edit Settings
-
-
-
-
- Downloads...
-
-
-
-
- Download firmware and voice files
-
-
-
-
- Check for updates...
-
-
-
-
- Check OpenTX and Companion updates
-
-
-
-
- ChangeLog...
-
-
-
-
- Show Companion changelog
-
-
-
-
- Firmware ChangeLog...
-
-
-
-
- Show firmware changelog
-
-
-
-
- Compare...
-
-
-
-
- Compare models
-
-
-
-
- Edit Tx Splash Image...
-
-
-
-
- edit the splash screen of your TX
-
-
-
-
- List programmers
-
-
-
-
- List available programmers
-
-
-
-
- Fuses...
-
-
-
-
- Show fuses dialog
-
-
-
-
- Read Firmware
-
-
-
-
- Read firmware from transmitter
-
-
-
-
- Write Firmware
-
-
-
-
- Write firmware to transmitter
-
-
-
-
- New Profile
-
-
-
-
- Create a new Radio Setting Profile
-
-
-
-
- Manuals and other Documents
-
-
-
-
- Open the OpenTX document page in a web browser
-
-
-
-
- Write Models and Settings to transmitter
-
-
-
-
- Read Models and Settings from transmitter
-
-
-
-
- Configure connection software...
-
-
-
-
- Configure software for reading from and writing to the transmitter
-
-
-
-
- Write Models and Settings from file to Tx
-
-
-
-
- Write Models and Settings from file to transmitter
-
-
-
-
- Save Tx Models and Settings to file
-
-
-
-
- Save the Models and Settings from the transmitter to a file
-
-
-
-
- Contributors
-
-
-
-
- A tribute to those who have contributed to OpenTX and Companion
-
-
-
-
-
- Recent Files
-
-
-
-
- Set Menu Language
-
-
-
-
- Set Icon Theme
-
-
-
-
- Set Icon Size
-
-
-
-
-
- File
-
-
-
-
-
- Edit
-
-
-
-
- Settings
-
-
-
-
- Read/Write
-
-
-
-
-
- Help
-
-
-
-
- Radio Settings Profiles
-
-
-
-
- Show a selection list of recent documents
-
-
-
-
- Radio Profiles
-
-
-
-
- Show a selection list of radio settings profiles
-
-
-
-
- Write
-
-
-
-
- Ready
-
-
-
-
-
- &%1 %2
-
-
-
-
- Unable to find file %1!
-
-
-
-
-
- Invalid Models and Settings File %1
-
-
-
-
- Error reading file %1:
-%2.
-
-
-
-
- Invalid binary Models and Settings File %1
-
-
-
-
- MdiChild
-
-
- free bytes
-
-
-
-
-
-
- Companion
-
-
-
-
- Do you want to use model wizard?
-
-
-
-
- Ask this question again ?
-
-
-
-
- Editing model %1:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Error
-
-
-
-
-
- Unable to find file %1!
-
-
-
-
-
-
-
- Error opening file %1:
-%2.
-
-
-
-
-
- Invalid EEPROM File %1
-
-
-
-
-
- Error reading file %1:
-%2.
-
-
-
-
- Invalid binary EEPROM File %1
-
-
-
-
-
-
-
- Save As
-
-
-
-
-
-
-
- Cannot write file %1:
-%2.
-
-
-
-
-
- Error writing file %1:
-%2.
-
-
-
-
- %1 has been modified.
-Do you want to save your changes?
-
-
-
-
- Backup is impossible
-
-
-
-
- The backup dir set in preferences does not exist
-
-
-
-
- Cannot write temporary file!
-
-
-
-
-
-
- Taranis radio not found
-
-
-
-
-
-
- Impossible to identify the radio on your system, please verify the eeprom disk is connected.
-
-
-
-
-
-
- Backup EEPROM From Tx
-
-
-
-
- Cannot check eeprom compatibility! Continue anyway?
-
-
-
-
-
- Warning
-
-
-
-
- Firmware in radio is of a different family of eeprom written, check file and preferences!
-
-
-
-
- Firmware in flash is outdated, please upgrade!
-
-
-
-
- Write EEPROM To Tx
-
-
-
-
- Open
-
-
-
-
- Invalid binary backup File %1
-
-
-
-
- MixerDialog
-
-
- Dialog
-
-
-
-
- Delay
-
-
-
-
- Slow
-
-
-
-
- Up
-
-
-
-
- Down
-
-
-
-
-
-
-
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Delay ans Slow</span></p>
-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These values control the speed and delay of the output of the mix. </p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" text-decoration: underline;">Warnings</span></p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p>
-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -> the value states the number of seconds it takes to transit from -100 to 100.</p></body></html>
-
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These will define startup warnings.</p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Throttle warning - will alert if the throttle is not at idle during startup</p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Switch warning - will alert if switches are not in their defaul position</p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Memory warning - will alert if there's not a lot of memory left</p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Silent mode warning - will alert you if the beeper is set to quiet (0)</p></body></html>
-
- Include Trim
-
+ RSSI Alarm 1
+ RSSI häly 1
-
- Offset
-
-
-
-
- Weight
-
-
-
-
- 0
-
-
-
-
- 1
-
-
-
-
- 2
-
-
-
-
- 3
-
-
-
-
- 4
-
-
-
-
- 5
-
-
-
-
- 6
-
-
-
-
- 7
-
-
-
-
- 8
-
-
-
-
- Name
-
-
-
-
- Source
-
-
-
-
- Multiplex
-
-
-
-
- Warning
-
-
-
-
- The curve used by the mix
-
-
-
-
- Include DR/Expo
-
-
-
-
- Flight modes
-
-
-
-
- Switch
-
-
-
-
- Mixer warning.
-Setting this value will cause a beep to be emmitted when this value is active.
-
-
-
-
- OFF
-
-
-
-
- 1 Beep
-
-
-
-
- 2 Beep
-
-
-
-
- 3 Beep
-
-
-
-
- No
-
-
-
-
- Yes
-
-
-
-
-
-
- GV
-
-
-
-
-
-
-
- The source for the mixer
-
-
-
-
- Multiplexer
-
-This determines how mixer values are added.
-
-"+" means the value of the current mix is added to the previous mixes in the same channel.
-"*" means the value of the current mix is amultiplied with the previous mixes in the same channel.
-"R" means the value replaces the previous values. If the switch is off the value will be ignored.
-
-
-
-
- ADD
-
-
-
-
- MULTIPLY
-
-
-
-
- REPLACE
-
-
-
-
- Curve
-
-
-
-
- Switch used by the mix.
-If blank then the mix is considered to be "ON" all the time.
-
-
-
-
- DEST -> X%1
-
-
-
-
- DEST -> CH%1%2
-
-
-
-
- Rud
-
-
-
-
- Ele
-
-
-
-
- Thr
-
-
-
-
- Ail
-
-
-
-
- MixesPanel
-
-
-
- Move Up
-
-
-
-
-
- Ctrl+Up
-
-
-
-
-
- Move Down
-
-
-
-
-
- Ctrl+Down
-
-
-
-
- Clear Mixes
-
-
-
-
-
-
- X%1
-
-
-
-
-
-
- CH%1%2
-
-
-
-
- Weight(%1)
-
-
-
-
- Switch(%1)
-
-
-
-
- No Trim
-
-
-
-
- No DR/Expo
-
-
-
-
- Offset(%1)
-
-
-
-
- Delay(u%1:d%2)
-
-
-
-
- Slow(u%1:d%2)
-
-
-
-
- Warn(%1)
-
-
-
-
- Not enough available mixers!
-
-
-
-
- Delete Selected Mixes?
-
-
-
-
- &Add
-
-
-
-
- Ctrl+A
-
-
-
-
- &Edit
-
-
-
-
- Enter
-
-
-
-
- &Delete
-
-
-
-
- Delete
-
-
-
-
- &Copy
-
-
-
-
- Ctrl+C
-
-
-
-
- &Cut
-
-
-
-
- Ctrl+X
-
-
-
-
- &Paste
-
-
-
-
- Ctrl+V
-
-
-
-
- Du&plicate
-
-
-
-
- Ctrl+U
-
-
-
-
- Clear Mixes?
-
-
-
-
- Really clear all the mixes?
-
-
-
-
- ModelEdit
-
-
- Dialog
-
-
-
-
- Simulate
-
-
-
-
- Clear Curves?
-
-
-
-
- Really clear all the curves?
-
-
-
-
- Setup
-
-
-
-
- Heli
-
-
-
-
- Flight Modes
-
-
-
-
- Inputs
-
-
-
-
- Mixes
-
-
-
-
- Channels
-
-
-
-
- Logical Switches
-
-
-
-
- Switch Assignment
-
-
-
-
- Curves
-
-
-
-
- Telemetry
-
-
-
-
- ModelsListWidget
-
-
- &Edit
-
-
-
-
- &Restore from backup
-
-
-
-
- &Model Wizard
-
-
-
-
- &Delete
-
-
-
-
- Delete
-
-
-
-
- &Copy
-
-
-
-
- Ctrl+C
-
-
-
-
- &Cut
-
-
-
-
- Ctrl+X
-
-
-
-
- &Paste
-
-
-
-
- Ctrl+V
-
-
-
-
- D&uplicate
-
-
-
-
- Ctrl+U
-
-
-
-
- &Use as default
-
-
-
-
- P&rint model
-
-
-
-
- Alt+R
-
-
-
-
- &Simulate model
-
-
-
-
- Alt+S
-
-
-
-
- General Settings
-
-
-
-
- Delete Selected Models?
-
-
-
-
-
- Cannot delete default model.
-
-
-
-
- Cannot cut default model.
-
-
-
-
- Do you want to overwrite TX general settings?
-
-
-
-
- You are pasting on an not empty model, are you sure?
-
-
-
-
- No free slot available, cannot duplicate
-
-
-
-
- Module
-
-
- Form
-
-
-
-
- Failsafe Mode
-
-
-
-
- Start
-
-
-
-
- PPM delay
-
-
-
-
- usec
-
-
-
-
- Negative
-
-
-
-
- Positive
-
-
-
-
- RX Number
-
-
-
-
- Master
-
-
-
-
- Slave
-
-
-
-
- Polarity
-
-
-
-
- Trainer Mode
-
-
-
-
- mSec
-
-
-
-
- PPM Frame Length
-
-
-
-
- Label
-
-
-
-
-
- ch
-
-
-
-
- Channels
-
-
-
-
- Hold
-
-
-
-
- Custom
-
-
-
-
- No Pulses
-
-
-
-
- Failsafe Positions
-
-
-
-
- Protocol
-
-
-
-
- ModulePanel
-
-
- Trainer Output
-
-
-
-
- Internal Radio System
-
-
-
-
- External Radio Module
-
-
-
-
- QObject
-
-
- FW: %1
-
-
-
-
- Pict: %1
-
-
-
-
- Profile image
-
-
-
-
-
- Rud
-
-
-
-
-
- Ele
-
-
-
-
-
- Thr
-
-
-
-
-
- Ail
-
-
-
-
-
-
- P1
-
-
-
-
-
-
- P2
-
-
-
-
-
-
- P3
-
-
-
-
-
- S1
-
-
-
-
-
- S2
-
-
-
-
-
- LS
-
-
-
-
-
- RS
-
-
-
-
-
-
- REa
-
-
-
-
-
-
- REb
-
-
-
-
- TrmR
-
-
-
-
- TrmE
-
-
-
-
- TrmT
-
-
-
-
- TrmA
-
-
-
-
- Batt
-
-
-
-
-
-
-
- Timer1
-
-
-
-
-
-
-
- Timer2
-
-
-
-
- SWR
-
-
-
-
- Tx
-
-
-
-
- RSSI
-
-
-
-
- Rx
-
-
-
-
- A1
-
-
-
-
- A2
-
-
-
-
- Alt
-
-
-
-
- Rpm
-
-
-
-
- Fuel
-
-
-
-
- T1
-
-
-
-
- T2
-
-
-
-
- Speed
-
-
-
-
- Dist
-
-
-
-
- GPS Alt
-
-
-
-
- Cell
-
-
-
-
- Cels
-
-
-
-
- Vfas
-
-
-
-
- Curr
-
-
-
-
- Cnsp
-
-
-
-
- Powr
-
-
-
-
- AccX
-
-
-
-
- AccY
-
-
-
-
- AccZ
-
-
-
-
- HDG
-
-
-
-
- VSpd
-
-
-
-
- ASpd
-
-
-
-
- dTE
-
-
-
-
- A1-
-
-
-
-
- A2-
-
-
-
-
- Alt-
-
-
-
-
- Alt+
-
-
-
-
- Rpm+
-
-
-
-
- T1+
-
-
-
-
- T2+
-
-
-
-
- Spd+
-
-
-
-
- Dst+
-
-
-
-
- Cel-
-
-
-
-
- Vfs-
-
-
-
-
- Cur+
-
-
-
-
- Pwr+
-
-
-
-
- ACC
-
-
-
-
- Time
-
-
-
-
-
- LS1
-
-
-
-
-
- LS2
-
-
-
-
-
- LS3
-
-
-
-
-
- LS4
-
-
-
-
-
- LS5
-
-
-
-
-
- LS6
-
-
-
-
-
- LS7
-
-
-
-
-
- LS8
-
-
-
-
-
- LS9
-
-
-
-
-
- LSA
-
-
-
-
-
- LSB
-
-
-
-
-
- LSC
-
-
-
-
-
- LSD
-
-
-
-
-
- LSE
-
-
-
-
-
- LSF
-
-
-
-
-
- LSG
-
-
-
-
-
- LSH
-
-
-
-
-
- LSI
-
-
-
-
-
- LSJ
-
-
-
-
-
- LSK
-
-
-
-
-
- LSL
-
-
-
-
-
- LSM
-
-
-
-
-
- LSN
-
-
-
-
-
- LSO
-
-
-
-
-
- LSP
-
-
-
-
-
- LSQ
-
-
-
-
-
- LSR
-
-
-
-
-
- LSS
-
-
-
-
-
- LST
-
-
-
-
-
- LSU
-
-
-
-
-
- LSV
-
-
-
-
-
- LSW
-
-
-
-
-
-
-
----
-
+ ----
-
- Input %1
-
-
-
-
- MAX
-
-
-
-
- CYC%1
-
-
-
-
- PPM%1
-
-
-
-
- CH%1%2
-
-
-
-
- X%1
-
-
-
-
-
-
- GV%1
-
-
-
-
- S11
-
-
-
-
- S12
-
-
-
-
- S13
-
-
-
-
- S14
-
-
-
-
- S15
-
-
-
-
- S16
-
-
-
-
- S21
-
-
-
-
- S22
-
-
-
-
- S23
-
-
-
-
- S24
-
-
-
-
- S25
-
-
-
-
- S26
-
-
-
-
- RudTrim Left
-
-
-
-
- RudTrim Right
-
-
-
-
- EleTrim Down
-
-
-
-
- EleTrim Up
-
-
-
-
- ThrTrim Down
-
-
-
-
- ThrTrim Up
-
-
-
-
- AilTrim Left
-
-
-
-
- AilTrim Right
-
-
-
-
-
-
- OFF
-
-
-
-
- ABS
-
-
-
-
- THs
-
-
-
-
- TH%
-
-
-
-
- THt
-
-
-
-
-
- ON
-
-
-
-
- ???
-
-
-
-
- Diff(%1)
-
-
-
-
- Expo(%1)
-
-
-
-
- Function(%1)
-
-
-
-
- Curve(%1)
-
-
-
-
- !Curve(%1)
-
-
-
-
-
-
- ---
-
-
-
-
- a>x
-
-
-
-
- a<x
-
-
-
-
- |a|>x
-
-
-
-
- |a|<x
-
-
-
-
- AND
-
-
-
-
- OR
-
-
-
-
- XOR
-
-
-
-
- a=b
-
-
-
-
- a!=b
-
-
-
-
- a>b
-
-
-
-
- a<b
-
-
-
-
- a>=b
-
-
-
-
- a<=b
-
-
-
-
- d>=x
-
-
-
-
- |d|>=x
-
-
-
-
- a~x
-
-
-
-
- Timer
-
-
-
-
- Sticky
-
-
-
-
- Stay
-
-
-
-
- Unknown
-
-
-
-
- STAY(%1, [%2:%3])
-
-
-
-
- STICKY(%1, %2)
-
-
-
-
- TIMER(%1, %2)
-
-
-
-
- Delay %1 sec
-
-
-
-
- Duration %1 sec
-
-
-
-
-
-
-
-
-
- <font color=red><b>Inconsistent parameter</b></font>
-
-
-
-
-
-
- All
-
-
-
-
-
-
- Telemetry
-
-
-
-
-
- Value
-
-
-
-
-
- Decr:
-
-
-
-
-
- Incr:
-
-
-
-
- Safety %1
-
-
-
-
- Trainer
-
-
-
-
- Trainer RUD
-
-
-
-
- Trainer ELE
-
-
-
-
- Trainer THR
-
-
-
-
- Trainer AIL
-
-
-
-
- Instant Trim
-
-
-
-
- Play Sound
-
-
-
-
- Play Haptic
-
-
-
-
- Reset
-
-
-
-
- Set Timer %1
-
-
-
-
- Vario
-
-
-
-
- Play Track
-
-
-
-
- Play Both
-
-
-
-
- Play Value
-
-
-
-
- Start Logs
-
-
-
-
- Volume
-
-
-
-
- Backlight
-
-
-
-
- Background Music
-
-
-
-
- Background Music Pause
-
-
-
-
- Adjust GV%1
-
-
-
-
-
- No repeat
-
-
-
-
- %1 sec
-
-
-
-
- th9x
-
-
-
-
- er9x
-
-
-
-
- ersky9x
-
-
-
-
-
- Simultaneous usage of expo and curves is no longer supported
-
-
-
-
- Simultaneous usage of expo and curves is no longer supported in open9x
-
-
-
-
- openTx only accepts %1 points in all curves
-
-
-
-
-
-
-
- OpenTX on this board doesn't accept this function
-
-
-
-
-
- OpenTX doesn't accept this protocol
-
-
-
-
- OpenTX doesn't allow this number of channels
-
-
-
-
- Your radio probably uses a wrong firmware,
- eeprom size is 4096 but only the first 2048 are used
-
-
-
-
-
-
-
- Warning
-
-
-
-
- EEPROM saved with these warnings:
-
-
-
-
-
- Support for frsky telemetry mod
-
-
-
-
- Support for telemetry easy board
-
-
-
-
-
- Support for jeti telemetry mod
-
-
-
-
-
- Support for receiving ardupilot data
-
-
-
-
-
- Support for receiving NMEA data
-
-
-
-
-
- Support for MAVLINK devices
-
-
-
-
- Rotary Encoder use in menus navigation
-
-
-
-
-
-
-
-
- Pots use in menus navigation
-
-
-
-
- Possibility to enable FAI MODE at field
-
-
-
-
- FAI MODE always enabled
-
-
-
-
- OpenTX for 9X board
-
-
-
-
-
-
-
-
- Enable heli menu and cyclic mix support
-
-
-
-
-
-
-
-
-
- Enable TEMPLATES menu
-
-
-
-
-
-
-
- No splash screen
-
-
-
-
-
-
-
-
-
- No flight modes
-
-
-
-
-
-
-
-
-
- Disable curves menus
-
-
-
-
-
-
-
- Support for radio modified with regular speaker
-
-
-
-
-
-
-
-
- Used if you have modified your radio with voice mode
-
-
-
-
-
-
-
- Used if you have modified your radio with haptic mode
-
-
-
-
-
-
-
-
- Support for DSM2 modules
-
-
-
-
-
-
-
-
-
- PPM center adjustment in limits
-
-
-
-
-
-
-
-
-
-
-
- PPM values displayed in us
-
-
-
-
-
-
-
-
-
- Global variables
-
-
-
-
-
-
-
-
-
- Symetrical Limits
-
-
-
-
-
- SmartieParts 2.2 Backlight support
-
-
-
-
-
-
-
-
-
- In model setup menus automatically set source by moving some of them
-
-
-
-
-
-
-
-
-
- In model setup menus automatically set switch by moving some of them
-
-
-
-
-
-
-
- Enable resetting values by pressing up and down at the same time
-
-
-
-
-
-
-
-
-
- No graphical check boxes and sliders
-
-
-
-
-
-
-
-
-
- Battery graph
-
-
-
-
-
-
-
-
-
- Don't use bold font for highlighting active items
-
-
-
-
-
-
-
-
-
-
-
- Use alternative SQT5 font
-
-
-
-
-
-
-
- Enable the throttle trace in Statistics
-
-
-
-
- EEprom write progress bar
-
-
-
-
-
-
-
-
- Imperial units
-
-
-
-
-
- No Winged Shadow How High support
-
-
-
-
-
- No vario support
-
-
-
-
-
- No GPS support
-
-
-
-
-
- No gauges in the custom telemetry screen
-
-
-
-
- Allow compensating for offset errors in FrSky FAS current sensors
-
-
-
-
- OpenTX for M128 / 9X board
-
-
-
-
-
-
-
- EEprom write Progress bar
-
-
-
-
- OpenTX for 9XR
-
-
-
-
- OpenTX for 9XR with M128 chip
-
-
-
-
- OpenTX for Gruvin9x board / 9X
-
-
-
-
- Support for SD memory card
-
-
-
-
- Support of FrSky PXX protocol
-
-
-
-
- Support for DSM2 modules using ppm instead of true serial
-
-
-
-
- OpenTX for Sky9x board / 9X
-
-
-
-
- Enable HELI menu and cyclic mix support
-
-
-
-
- Use FrSky Taranis sticks in a 9X/9XR
-
-
-
-
- Bluetooth interface
-
-
-
-
- OpenTX for FrSky Taranis
-
-
-
-
-
- Disable HELI menu and cyclic mix support
-
-
-
-
-
- Disable TEMPLATES menu
-
-
-
-
-
- Disable Global variables
-
-
-
-
- OpenTX for FrSky Taranis Rev4a
-
-
-
-
- th9x on this board doesn't have Rotary Encoders
-
-
-
-
-
- FM%1
-
-
-
-
- Input%1
-
-
-
-
- Rud Trim
-
-
-
-
- Ele Trim
-
-
-
-
- Thr Trim
-
-
-
-
- Ail Trim
-
-
-
-
- Rot Enc
-
-
-
-
- English
-
-
-
-
- French
-
-
-
-
- Italian
-
-
-
-
- German
-
-
-
-
- Czech
-
-
-
-
- Slovak
-
-
-
-
- Spanish
-
-
-
-
- Polish
-
-
-
-
- Portuguese
-
-
-
-
- Swedish
-
-
-
-
-
- THR
-
-
-
-
- CH%1
-
-
-
-
- No
-
-
-
-
- RotEnc A
-
-
-
-
- Rot Enc B
-
-
-
-
- Rot Enc C
-
-
-
-
- Rot Enc D
-
-
-
-
- Rot Enc E
-
-
-
-
- !Flight mode %1
-
-
-
-
- Flight mode %1
-
-
-
-
- Own value
-
-
-
-
- Flight mode %1 value
-
-
-
-
- Keys
-
-
-
-
- Sticks
-
-
-
-
- Keys + Sticks
-
-
-
-
-
- -GV%1
-
-
-
-
Yellow
-
+ Kelt
-
Orange
-
+ Orans
-
Red
-
-
-
-
- Winged Shadow How High
-
-
-
-
- Winged Shadow How High (not supported)
-
-
-
-
- FrSky Sensor Hub
-
-
-
-
-
- None
-
-
-
-
- Imperial
-
-
-
-
- Metric
-
-
-
-
- Extra Fine
-
-
-
-
- Fine
-
-
-
-
- Medium
-
-
-
-
- Coarse
-
-
-
-
- Exponential
-
-
-
-
- Count Up
-
-
-
-
- Count Down
-
-
-
-
- %1:%2,
-
-
-
-
- : %1 Channels, %2usec Delay
-
-
-
-
- Flight modes(%1)
-
-
-
-
- Flight mode(%1)
-
-
-
-
- Rudder
-
-
-
-
- Elevator
-
-
-
-
- Throttle
-
-
-
-
- Aileron
-
-
-
-
-
-
- Simulator for this firmware is not yet available
-
-
-
-
- Played once, not during startup
-
-
-
-
- %1s
-
-
-
-
- Value
-
-
-
-
- Source
-
-
-
-
- GVAR
-
-
-
-
- Increment
-
-
-
-
- Rotary Encoder
-
-
-
-
- Trim disabled
-
-
-
-
- Own Trim
-
-
-
-
- Use Trim from Flight mode %1
-
-
-
-
- Use Trim from Flight mode %1 + Own Trim as an offset
-
-
-
-
- Thanks all for the donations, kind messages, nice ideas, constructive proposals etc. for the next OpenTX/Companion funding model.
-
-We are really appreciative for that!
-
-The OpenTX/Companion Team.
-
-
-
-
- Setup
-
-
- Form
-
-
-
-
- Model Image
-
-
-
-
- Model Name
-
-
-
-
- Timer2
-
-
-
-
- Timer1
-
-
-
-
- Throttle Source
-
-
-
-
- Switch Warnings
-
-
-
-
- Center beep
-
-
-
-
- Trim Increment
-
-
-
-
- Exponential
-
-
-
-
- Extra Fine
-
-
-
-
- Fine
-
-
-
-
- Medium
-
-
-
-
- Coarse
-
-
-
-
- Extended Limits
-
-
-
-
- Extended Trims
-
-
-
-
- Display Checklist
-
-
-
-
- Throttle Trim
-
-
-
-
- Throttle Warning
-
-
-
-
- Reverse throttle operation.
-If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well.
-
-
-
-
-
-
- Reverse Throttle
-
-
-
-
- Pot Warnings
-
-
-
-
- OFF
-
-
-
-
- Manual
-
-
-
-
- Auto
-
-
-
-
- Telemetry
-
-
- Form
-
-
-
-
-
-
-
- A1
-
-
-
-
-
-
-
- A2
-
-
-
-
- RSSI
-
-
-
-
- Alarm 1
-
-
-
-
-
- ----
-
-
-
-
-
- Yellow
-
-
-
-
-
- Orange
-
-
-
-
-
- Red
-
-
-
-
- Alarm 2
-
-
-
-
- Serial Protocol
-
-
-
-
- Volt source
-
-
-
-
- Metric
-
-
-
-
- Imperial
-
-
-
-
- Current source
-
-
-
-
- Protocol
-
-
-
-
- NONE
-
-
-
-
-
- FAS
-
-
-
-
- None
-
-
-
-
- FrSky Sensor Hub
-
-
-
-
- CEL
-
-
-
-
- 2
-
-
-
-
- 3
-
-
-
-
- 4
-
-
-
-
- Units
-
+ Pun
-
- Blades
-
+ RSSI Alarm 2
+ RSSI häly 2
-
- Altimetry / Vario
-
+ Battery
+ Akku
-
- Alti
-
-
-
-
- Alti+
-
-
-
-
- Vario
-
-
-
-
- Sink Max
-
-
-
-
- Off
-
-
-
-
- Climb Max
-
-
-
-
- Sink Min
-
-
-
-
- Climb Min
-
-
-
-
- Vario source
-
-
-
-
- Vario limits
-
-
-
-
- Use GPS as altitude source
-
-
-
-
- Display altitude in toolbar
-
-
-
-
- Various
-
+ v
+ v
-
- mAh count
-
-
-
-
- FAS Offset
-
-
-
-
- Persistent mAh
-
-
-
-
- TelemetryAnalog
-
-
- Form
-
-
-
-
- Unit
-
-
-
-
- Max Value
-
-
-
-
- Alarm 1
-
-
-
-
-
- ----
-
-
-
-
-
- Yellow
-
-
-
-
-
- Orange
-
-
-
-
-
- Red
-
-
-
-
-
- <
-
-
-
-
-
- >
-
-
-
-
- Alarm 2
-
-
-
-
- Min Value
-
-
-
-
- Volts (V)
-
-
-
-
- Amps (A)
-
-
-
-
- Speed (m/s or ft/s)
-
-
-
-
- Raw (-)
-
-
-
-
- Speed (km/h or miles/h)
-
-
-
-
- Meters (m or ft)
-
-
-
-
- Temp (°)
-
-
-
-
- Fuel (%)
-
-
-
-
- mAmps (mA)
-
-
-
-
- Range
-
-
-
-
- TelemetryCustomScreen
-
-
- Form
-
-
-
-
- Custom Screen Type
-
-
-
-
- Nums
-
-
-
-
- Bars
-
-
-
-
- Min
-
-
-
-
- Source
-
-
-
-
- Gauge
-
-
-
-
- Max
-
-
-
-
- TelemetryPanel
-
-
- Telemetry screen %1
-
-
-
-
- Winged Shadow How High
-
-
-
-
- Winged Shadow How High (not supported)
-
-
-
-
- Timer
-
-
- Form
-
-
-
-
- mm:ss
-
-
-
-
- Countdown
-
-
-
-
- MinuteBeep
-
-
-
-
- Persistent
-
-
-
-
- (00:00:00)
-
-
-
-
- TimerPanel
-
-
- None
-
-
-
-
- Beeps
-
-
-
-
- Countdown
-
-
-
-
- appPreferencesDialog
-
-
- Edit Settings
-
-
-
-
- Application Settings
-
-
-
-
- Automatic Backup Folder
-
-
-
-
- User Splash Screens
-
-
-
-
- Include companion splashes
-
-
-
-
- Only user defined splashes
-
-
-
-
- Google Earth Executable
-
-
-
-
- Automatic check for OpenTX firmware updates
-
-
-
-
-
-
-
- Open Folder
-
-
-
-
- Find Executable
-
-
-
-
- Files to keep
-
-
-
-
- Splash Screen Library
-
-
-
-
- Enable automatic backup before writing firmware
-
-
-
-
- Automatic check for Companion updates
-
+ Current
+ Virta
-
- Offer to use wizard for new models
+ Retrieve calib. and hw settings from profile
-
- Show splash screen when Companion starts
+ Store calib. and hw settings in selected profile
-
- Simulator Settings
+ General settings used throught the transmitter.
+These will be relevant for all models in the same EEPROM.
-
- Simulator BackLight
+ MAVLink Baud Rate
-
- Enable
+ Measurement Units
-
- Blue
+ Beeps at 30, 15, 10, and down from5 seconds
-
- Green
+ Count Down to Zero
-
- Red
+ Flash on beep
-
- Orange
+ Beep volume
-
- Yellow
+ Wav volume
-
- Joystick
+ Vario volume
-
- Only capture to clipboard
+ Background volume
-
- Calibrate
+ PPMSim
-
- Remember simulator switch values
+ Beeper Length
-
- Simulator capture folder
+ Pot Scrolling Enable
-
- Radio Settings
+ Haptic Length
+
+
+
+ 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
+
+
+
+
+
+ Mode 1 (RUD ELE THR AIL)
+
+
+
+ Mode 2 (RUD THR ELE AIL)
+
+
+
+ Mode 3 (AIL ELE THR RUD)
+
+
+
+ Mode 4 (AIL THR ELE RUD)
+
+
+
+ LCD Display Type
+
+
+
+ BackLight On Stick Move
+
+
+
+ sec
+
+
+
+ Beeper Mode
+
+
+
+ Timeshift from UTC
+
+
+
+ RotEnc Navigation
+
+
+
+ FrSky Internal Alarm
+
+
+
+ THR
+ KAA
+
+
+ RUD
+ PER
+
+
+ ELE
+ KOR
+
+
+ AIL
+ SII
+
+
+ GEA
+ REN
+
+
+ ID0
+ ID0
+
+
+ ID1
+ ID1
+
+
+ ID2
+ ID2
+
+
+ GPS Coordinates
+
+
+
+ hh° (N/S) mm' ss''.dd
+
+
+
+ NMEA
+
+
+
+ If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio.
+
+
+
+ Channel order
+
+This is used by the templated to determine which channel goes to what number output.
+
+
+
+ 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
+
+
+
+ Show Owner Name on Splash
+
+
+
+ Speaker Pitch (spkr only)
+
+
+
+ X-Short
+
+
+
+ Short
+
+
+
+ Normal
+
+
+
+ Long
+
+
+
+ X-Long
+
+
+
+ StickScroll
+
+
+
+ FAI Mode
+
+
+
+ Haptic Strength
+
+
+
+ Beeper
+
+
+
+ Speaker
+
+
+
+ BeeperVoice
+
+
+
+ SpeakerVoice
+
+
+
+ Show Splash Screen on Startup
+
+
+
+ Metric
+ Metrit
+
+
+ Imperial
+ Imperiaali
+
+
+ Channel Order (For Templates)
+
+
+
+ Stick Mode
+
+
+
+ Haptic Mode
+
+
+
+ Owner Name
+
+
+
+ BackLight Invert
+
+
+
+ Standard
+ Vakio
+
+
+ Optrex
+
+
+
+ Show splash screen on startup
+
+
+
+ Quiet
+
+
+
+ Only Alarms
+
+
+
+ No Keys
+
+
+
+ All
+
+
+
+ Beeper volume
+
+0 - Quiet. No beeps at all.
+1 - No Keys. Normal beeps but menu keys do not beep.
+2 - Normal.
+3 - Loud.
+4 - Extra loud.
+
+
+
+ Alarms Only
+
+
+
+ If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds.
+
+
+
+ Timer Beeps
+
+
+
+ BackLight Brightness
+
+
+
+ Contrast
+
+
+
+ BackLight Auto OFF after
+
+
+
+ Single
+
+
+
+ Oversample
+
+
+
+ Filter
+
+
+
+ This is the switch selectrion for turning on the backlight (if installed).
+
+
+
+
+
+ Bandgap Measuring Enable
+
+
+
+ Input Filter
+
+
+
+ CrossTrim
+
+
+
+ Sound Mode
+
+
+
+ BackLight Switch
+
+
+
+ Battery calibration:
+This value will be added to the measured battery voltage. Use this value to calibrate the meter with an external meter.
+
+
+
+ Battery Calibration
+
+
+
+ Battery Warning
+
+
+
+ Battery warning voltage.
+This is the threashhold where the battery warning sounds.
+
+Acceptable values are 5v..10v
+
+
+
+ Telemetry NO DATA Alarm
+
+
+
+ Readonly Unlock
+
+
+
+ Speaker Volume
+
+
+
+ If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes.
+
+
+
+ min
+
+
+
+ Inactivity Timer
+
+
+
+ SC
+ SC
+
+
+ SE
+ SE
+
+
+ SA
+ SA
+
+
+ SF
+ SF
+
+
+ SH
+ SH
+
+
+ SD
+ SD
+
+
+ SB
+ SB
+
+
+ SG
+ SG
+
+
+ Alarm Warning
+
+
+
+ Memory Startup Warning
+
+
+
+ Trainer
+
+
+
+ Mode
+
+
+
+ Input
+
+
+
+ Weight
+
+
+
+ Switch
+ Kytkin
+
+
+ PPM 1
+
+
+
+ Off
+ Pois
+
+
+ += (Sum)
+
+
+
+ := (Replace)
+
+
+
+ chn1
+
+
+
+ chn2
+
+
+
+ chn3
+
+
+
+ chn4
+
+
+
+ PPM 2
+
+
+
+ PPM 3
+
+
+
+ PPM 4
+
+
+
+ Telemetry
+ Telemetria
+
+
+ NO DATA Alarm
+
+
+
+ Calibration
+
+
+
+ POT 4
+
+
+
+ POT 3
+
+
+
+ POT 2
+
+
+
+ POT 1
+
+
+
+ STICK 3
+
+
+
+ Negative span
+
+
+
+ Mid value
+
+
+
+ Positive span
+
+
+
+ STICK 1
+
+
+
+ STICK 2
+
+
+
+ STICK 4
+
+
+
+ PPM Multiplier
+
+
+
+ Pot (normal)
+
+
+
+ Multipos Switch
+
+
+
+ S1 Type
+
+
+
+ S2 Type
+
+
+
+ If you enable FAI, you loose the vario, the play functions, the telemetry screen.
+This function cannot be disabled by the radio.
+Are you sure ?
+
+
+
+ Warning
+ Varoitus
+
+
+ Wrong data in profile, radio calibration was not retrieved
+
+
+
+ Wrong data in profile, hw related parameters were not retrieved
+
+
+
+ Do you want to store calibration in %1 profile<br>overwriting existing calibration?
+
+
+
+ Calibration and HW parameters saved.
+
+
+
+
+ Heli
+
+ Form
+ Kopteri
+
+
+ Invert Elevator
+ Käänt kork
+
+
+ Invert Aileron
+ Käänt siiv
+
+
+ Invert Collective
+ Käänt koll
+
+
+ Invert
+ Käänteinen
+
+
+ Off
+ Pois
+
+
+ 120
+ 120
+
+
+ 120X
+ 120X
+
+
+ 140
+ 140
+
+
+ 90
+ 90
+
+
+ Collective
+
+
+
+ Swash Type
+
+
+
+ Swash Ring
+
+
+
+
+ InputsPanel
+
+ Move Up
+ Siirrä ylös
+
+
+ Ctrl+Up
+ Ctrl+Ylös
+
+
+ Move Down
+ Siirrä alas
+
+
+ Ctrl+Down
+ Ctrl+Alas
+
+
+ Clear All Settings
+ Tyhjennä kaikki asetukset
+
+
+ Source(%1)
+ Lähde(%1)
+
+
+ No Trim
+ Ei trimmiä
+
+
+ Weight(%1)
+ Paino(%1)
+
+
+ Switch(%1)
+ Kytkin(%1)
+
+
+ Not enough available inputs!
+ Ei vapaita tuloja vapaana!
+
+
+ Delete Selected Inputs?
+ Poista valitut tulot?
+
+
+ &Add
+ &Lisää
+
+
+ Ctrl+A
+ Ctrl+A
+
+
+ &Edit
+ &Muuta
+
+
+ Enter
+ Entteri
+
+
+ &Delete
+ &Poista
+
+
+ Delete
+ Poista
+
+
+ &Copy
+ &Kopio
+
+
+ Ctrl+C
+ Ctrl+C
+
+
+ &Cut
+ &Leikkaa
+
+
+ Ctrl+X
+ Ctrl+X
+
+
+ &Paste
+ &Liitä
+
+
+ Ctrl+V
+ Ctrl+V
+
+
+ Du&plicate
+ Jäl&jennä
+
+
+ Ctrl+U
+ Ctrl+U
+
+
+ Clear Inputs?
+ Tyhjennä tulot?
+
+
+ Really clear all the inputs?
+ Varmasti tyhjennä kaikki tulot?
+
+
+
+ LogicalSwitchesPanel
+
+ Condition
+ Tila
+
+
+ V1
+ V1
+
+
+ V2
+ V2
+
+
+ AND
+ JA
+
+
+ Duration
+ Kesto
+
+
+ Delay
+ Viive
+
+
+ LS%1
+ LS%1
+
+
+ &Delete
+ &Poista
+
+
+ Delete
+ Poista
+
+
+ &Copy
+ &Kopio
+
+
+ Ctrl+C
+ Ctrl+C
+
+
+ &Cut
+ &Leikkaa
+
+
+ Ctrl+X
+ Ctrl+X
+
+
+ &Paste
+ &Liitä
+
+
+ Ctrl+V
+ Ctrl+V
+
+
+
+ MainWindow
+
+ File loaded
+ Tiedosto ladattu
+
+
+ Save As
+ Tallenna nimellä
+
+
+ Error
+ Virhe
+
+
+ Yes
+ Kyllä
+
+
+ No
+ Ei
+
+
+ OK
+ Ok
+
+
+ Open
+ Avaa
+
+
+ Warning
+ Varoitus
+
+
+ About Companion
+ Tietoja Companionista
+
+
+ Save...
+ Tallenna...
+
+
+ About
+ Tietoja
+
+
+ Print
+ Tulosta
+
+
+ Logs
+ Logit
+
+
+ Open log file
+ Avaa logi tiedosto
+
+
+ Setting...
+ Asetukset...
+
+
+ File
+ Tiedosto
+
+
+ Edit
+ Muuta
+
+
+ Settings
+ Asetukset
+
+
+ Read/Write
+ Lue/Kirjoita
+
+
+ Help
+ Apu
+
+
+ Write
+ Kirjoita
+
+
+ Ready
+ Valmis
+
+
+ Display previous warning again at startup ?
+
+
+
+ Display previous message again at startup ?
+
+
+
+ Checking for updates
+
+
+
+ Unable to check for updates.
+
+
+
+ A new version of Companion is available (version %1)<br>Would you like to download it?
+
+
+
+ Executable (*.exe)
+
+
+
+ New release available
+
+
+
+ A new release of Companion is available please check the OpenTX website!
+
+
+
+ No updates available at this time.
+
+
+
+ Would you like to launch the installer?
+
+
+
+ Error opening file %1:
+%2.
+
+
+
+ Firmware does not longer fit in the Tx, due to selected firmware options
+
+
+
+ Compilation server temporary failure, try later
+
+
+
+ Compilation server too busy, try later
+
+
+
+ Compilation server requires registration, please check OpenTX web site
+
+
+
+ Unknown server failure, try later
+
+
+
+ Firmware does not fit in the Tx, due to selected firmware options
+
+
+
+ Compilation server termporary failure, try later
+
+
+
+ Do you want to write the firmware to the transmitter now ?
+
+
+
+ Firmware %1 does not seem to have ever been downloaded.
+Version %2 is available.
+Do you want to download it now ?
+
+
+
+ Release Notes
+
+
+
+ Do you want to download release %1 now ?
+
+
+
+ A new version of %1 firmware is available (current %2 - newer %3).
+Do you want to download it now ?
+
+
+
+ Ignore this version (r%1)?
+
+
+
+ Release notes contain very important informations. Do you want to see them now ?
+
+
+
+ The selected language will be used the next time you start Companion.
+
+
+
+ The new theme will be loaded the next time you start Companion.
+
+
+
+ The icon size will be used the next time you start Companion.
+
+
+
+ Open Models and Settings file
+
+
+
+ File saved
+
+
+
+ Firmware updates
+
+
+
+ Current firmware does not provide release notes informations.
+
+
+
+ Cannot write file %1:
+%2.
+
+
+
+ Taranis radio not found
+ Taranis radiota ei löydy
+
+
+ Impossible to identify the radio on your system, please verify the eeprom disk is connected.
+
+
+
+ Read Models and Settings From Tx
+
+
+
+ Write Models and settings from %1 to the Tx?
+
+
+
+ The file %1
+has not been recognized as a valid Models and Settings file
+Write anyway ?
+
+
+
+ Backup is impossible
+
+
+
+ The backup dir set in preferences does not exist
+
+
+
+ Backup Models and Settings From Tx
+
+
+
+ Cannot check Models and Settings compatibility! Continue anyway?
+
+
+
+ The transmitter firmware belongs to another product family, check file and preferences!
+
+
+
+ The transmitter firmware is outdated, please upgrade!
+
+
+
+ Write Models and Settings To Tx
+
+
+
+ Write Firmware To Tx
+
+
+
+ Conversion failed
+
+
+
+ Cannot convert Models and Settings for use with this firmware, original data will be used
+
+
+
+ Restore Models and Settings To Tx
+
+
+
+ Restore failed
+
+
+
+ Could not restore Models and Settings to TX. The models and settings data file can be found at: %1
+
+
+
+ Firmware write failed
+
+
+
+ Could not write firmware to to transmitter. The models and settings data file can be found at: %1
+
+
+
+ Backup failed
+
+
+
+ Cannot backup existing Models and Settings from TX. Firmware write process aborted
+
+
+
+ Save transmitter Models and Settings to File
+
+
+
+ Impossible to identify the radio on your system, please verify that the eeprom disk is connected.
+
+
+
+ Read Tx Firmware to File
+
+
+
+ OpenTX Home Page: <a href='%1'>%1</a>
+
+
+
+ The OpenTX Companion project was originally forked from <a href='%2'>eePe</a>
+
+
+
+ If you've found this program useful, please support by <a href='%1'>donating</a>
+
+
+
+ Version %1, %3
+
+
+
+ Copyright
+
+
+
+ OpenTX Companion - FW: %1 - Profile: %2
+
+
+
+ New Models+Settings
+
+
+
+ Create a new Models and Settings file
+
+
+
+ Open Models+Settings...
+
+
+
+ Save Models+Settings...
+
+
+
+ Save Models and Settings file
+
+
+
+ Save Models+Settings as...
+
+
+
+ Exit
+
+
+
+ Exit the application
+
+
+
+ Cut Model
+
+
+
+ Cut current model to the clipboard
+
+
+
+ Copy Model...
+
+
+
+ Copy current model to the clipboard
+
+
+
+ Paste Model...
+
+
+
+ Paste model from clipboard
+
+
+
+ Classical
+
+
+
+ The classic companion9x icon theme
+
+
+
+ Yerico
+
+
+
+ Yellow round honey sweet icon theme
+
+
+
+ Monochrome
+
+
+
+ A monochrome black icon theme
+
+
+
+ MonoWhite
+
+
+
+ A monochrome white icon theme
+
+
+
+ MonoBlue
+
+
+
+ A monochrome blue icon theme
+
+
+
+ Small
+
+
+
+ Use small toolbar icons
+
+
+
+ Normal
+
+
+
+ Use normal size toolbar icons
+
+
+
+ Big
+
+
+
+ Use big toolbar icons
+
+
+
+ Huge
+
+
+
+ Use huge toolbar icons
+
+
+
+ System language
+
+
+
+ Use system language in menus
+
+
+
+ Czech
+
+
+
+ Use Czech in menus
+
+
+
+ German
+
+
+
+ Use German in menus
+
+
+
+ English
+
+
+
+ Use English in menus
+
+
+
+ Finnish
+
+
+
+ Use Finnish in menus
+
+
+
+ French
+
+
+
+ Use French in menus
+
+
+
+ Italian
+
+
+
+ Use Italian in menus
+
+
+
+ Hebrew
+
+
+
+ Use Hebrew in menus
+
+
+
+ Polish
+
+
+
+ Use Polish in menus
+
+
+
+ Portuguese
+
+
+
+ Use Portuguese in menus
+
+
+
+ Swedish
+
+
+
+ Use Swedish in menus
+
+
+
+ Russian
+
+
+
+ Use Russian in menus
+
+
+
+ About...
+
+
+
+ Show the application's About box
+
+
+
+ Print...
+
+
+
+ Print current model
+
+
+
+ Simulate...
+
+
+
+ Simulate current model
+
+
+
+ Load Backup...
+
+
+
+ Load backup from file
+
+
+
+ View Log File...
+
+
+
+ Open and view log file
+
+
+
+ Settings...
+
+
+
+ Edit Settings
+
+
+
+ Download...
+
+
+
+ Download firmware and voice files
+
+
+
+ Check for Updates...
+
+
+
+ Check OpenTX and Companion updates
+
+
+
+ Companion Changes...
+
+
+
+ Show Companion change log
+
+
+
+ Firmware Changes...
+
+
+
+ Show firmware change log
+
+
+
+ Compare Models...
+
+
+
+ Compare models
+
+
+
+ Edit Tx Splash Image...
+
+
+
+ Edit the splash image of your TX
+
+
+
+ List programmers...
+
+
+
+ List available programmers
+
+
+
+ Fuses...
+
+
+
+ Show fuses dialog
+
+
+
+ Read Firmware
+
+
+
+ Read firmware from transmitter
+
+
+
+ Write Firmware
+
+
+
+ Write firmware to transmitter
+
+
+
+ Add Radio Profile
+
+
+
+ Create a new Radio Setting Profile
+
+
+
+ Manuals and other Documents
+
+
+
+ Open the OpenTX document page in a web browser
+
+
+
+ Write Models and Settings to transmitter
+
+
+
+ Read Models and Settings from transmitter
+
+
+
+ Configure Communications...
+
+
+
+ Configure software for communicating with the transmitter
+
+
+
+ Write Models and Settings from file to Tx
+
+
+
+ Write Models and Settings from file to transmitter
+
+
+
+ Save Tx Models and Settings to file
+
+
+
+ Save the Models and Settings from the transmitter to a file
+
+
+
+ Contributors...
+
+
+
+ A tribute to those who have contributed to OpenTX and Companion
+
+
+
+ Recent Models+Settings
+
+
+
+ Set Menu Language
+
+
+
+ Set Icon Theme
+
+
+
+ Set Icon Size
+
+
+
+ Radio Settings Profile
+
+
+
+ Show recent Models+Settings documents
+
+
+
+ Show a selection list of radio settings profiles
+
+
+
+ %2
+
+
+
+ Unable to find file %1!
+
+
+
+ Invalid Models and Settings File %1
+
+
+
+ Error reading file %1:
+%2.
+
+
+
+ Invalid binary Models and Settings File %1
+
+
+
+
+ MdiChild
+
+ free bytes
+ Vapaata tilaa
+
+
+ Companion
+ Companion
+
+
+ Error
+ Virhe
+
+
+ Save As
+ Tallenna nimellä
+
+
+ Taranis radio not found
+ Taranis radiota ei löydy
+
+
+ Warning
+ Varoitus
+
+
+ Open
+ Avaa
+
+
+ Do you want to use model wizard?
+
+
+
+ Ask this question again ?
+
+
+
+ Editing model %1:
+
+
+
+ Unable to find file %1!
+
+
+
+ Error opening file %1:
+%2.
+
+
+
+ Invalid EEPROM File %1
+
+
+
+ Error reading file %1:
+%2.
+
+
+
+ Invalid binary EEPROM File %1
+
+
+
+ Cannot write file %1:
+%2.
+
+
+
+ Error writing file %1:
+%2.
+
+
+
+ %1 has been modified.
+Do you want to save your changes?
+
+
+
+ Backup is impossible
+
+
+
+ The backup dir set in preferences does not exist
+
+
+
+ Cannot write temporary file!
+
+
+
+ Impossible to identify the radio on your system, please verify the eeprom disk is connected.
+
+
+
+ Backup EEPROM From Tx
+
+
+
+ Cannot check eeprom compatibility! Continue anyway?
+
+
+
+ Firmware in radio is of a different family of eeprom written, check file and preferences!
+
+
+
+ Firmware in flash is outdated, please upgrade!
+
+
+
+ Write EEPROM To Tx
+
+
+
+ Open backup Models and Settings file
+
+
+
+ Invalid binary backup File %1
+
+
+
+
+ MixerDialog
+
+ Dialog
+
+
+
+ Delay
+ Viive
+
+
+ Slow
+
+
+
+ Up
+
+
+
+ Down
+
+
+
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Delay ans Slow</span></p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These values control the speed and delay of the output of the mix. </p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -> the value states the number of seconds it takes to transit from -100 to 100.</p></body></html>
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Delay ans Slow</span></p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These values control the speed and delay of the output of the mix. </p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -> the value states the number of seconds it takes to transit from -100 to 100.</p></body></html>
+
+
+ Include Trim
+
+
+
+ Offset
+ Tasoitus
+
+
+ Weight
+
+
+
+ 0
+ 0
+
+
+ 1
+ 1
+
+
+ 2
+ 2
+
+
+ 3
+ 3
+
+
+ 4
+ 4
+
+
+ 5
+ 5
+
+
+ 6
+ 6
+
+
+ 7
+ 7
+
+
+ 8
+ 8
+
+
+ Name
+ Nimi
+
+
+ Source
+ Lähde
+
+
+ Multiplex
+
+
+
+ Warning
+ Varoitus
+
+
+ The curve used by the mix
+
+
+
+ Include DR/Expo
+
+
+
+ Flight modes
+
+
+
+ Switch
+ Kytkin
+
+
+ Mixer warning.
+Setting this value will cause a beep to be emmitted when this value is active.
+
+
+
+ OFF
+ Pois
+
+
+ 1 Beep
+
+
+
+ 2 Beep
+
+
+
+ 3 Beep
+
+
+
+ No
+ Ei
+
+
+ Yes
+ Kyllä
+
+
+ GV
+
+
+
+ The source for the mixer
+
+
+
+ Multiplexer
+
+This determines how mixer values are added.
+
+"+" means the value of the current mix is added to the previous mixes in the same channel.
+"*" means the value of the current mix is amultiplied with the previous mixes in the same channel.
+"R" means the value replaces the previous values. If the switch is off the value will be ignored.
+
+
+
+ ADD
+
+
+
+ MULTIPLY
+
+
+
+ REPLACE
+
+
+
+ Curve
+ Käyrä
+
+
+ Switch used by the mix.
+If blank then the mix is considered to be "ON" all the time.
+
+
+
+ DEST -> X%1
+
+
+
+ DEST -> CH%1%2
+
+
+
+ Rud
+
+
+
+ Ele
+
+
+
+ Thr
+
+
+
+ Ail
+
+
+
+
+ MixesPanel
+
+ Move Up
+ Siirrä ylös
+
+
+ Ctrl+Up
+ Ctrl+Ylös
+
+
+ Move Down
+ Siirrä alas
+
+
+ Ctrl+Down
+ Ctrl+Alas
+
+
+ Clear Mixes
+ Tyhjennä mikserit
+
+
+ X%1
+ X%1
+
+
+ CH%1%2
+ CH%1%2
+
+
+ Weight(%1)
+ Paino(%1)
+
+
+ Switch(%1)
+ Kytkin(%1)
+
+
+ No Trim
+ Ei trimmiä
+
+
+ &Add
+ &Lisää
+
+
+ Ctrl+A
+ Ctrl+A
+
+
+ &Edit
+ &Muuta
+
+
+ Enter
+ Entteri
+
+
+ &Delete
+ &Poista
+
+
+ Delete
+ Poista
+
+
+ &Copy
+ &Kopio
+
+
+ Ctrl+C
+ Ctrl+C
+
+
+ &Cut
+ &Leikkaa
+
+
+ Ctrl+X
+ Ctrl+X
+
+
+ &Paste
+ &Liitä
+
+
+ Ctrl+V
+ Ctrl+V
+
+
+ Du&plicate
+ Jäl&jennä
+
+
+ Ctrl+U
+ Ctrl+U
+
+
+ Clear Mixes?
+ Tyhjennä mikserit?
+
+
+ Really clear all the mixes?
+ Varmasti tyhjennä kaikki mikserit?
+
+
+ No DR/Expo
+
+
+
+ Offset(%1)
+
+
+
+ Delay(u%1:d%2)
+
+
+
+ Slow(u%1:d%2)
+
+
+
+ Warn(%1)
+
+
+
+ Not enough available mixers!
+
+
+
+ Delete Selected Mixes?
+
+
+
+
+ ModelEdit
+
+ Dialog
+ Mallin editori
+
+
+ Simulate
+ Simuloi
+
+
+ Clear Curves?
+ Tyhjennä käyrät?
+
+
+ Really clear all the curves?
+ Varmasti tyhjennä kaikki käyrät?
+
+
+ Setup
+ Asetukset
+
+
+ Heli
+ Kopteri
+
+
+ Flight Modes
+ Lento tilat
+
+
+ Inputs
+ Tulot
+
+
+ Mixes
+ Mikserit
+
+
+ Channels
+ Kanavat
+
+
+ Logical Switches
+ Loogiset kytkimet
+
+
+ Switch Assignment
+ Kytkimien asettelu
+
+
+ Curves
+ Käyrät
+
+
+ Telemetry
+ Telemetria
+
+
+
+ ModelsListWidget
+
+ &Edit
+ &Muuta
+
+
+ &Restore from backup
+ &Palauta varmuuskopiosta
+
+
+ &Model Wizard
+ &Malli apuri
+
+
+ &Delete
+ &Poista
+
+
+ Delete
+ Poista
+
+
+ &Copy
+ &Kopio
+
+
+ Ctrl+C
+ Ctrl+C
+
+
+ &Cut
+ &Leikkaa
+
+
+ Ctrl+X
+ Ctrl+X
+
+
+ &Paste
+ &Liitä
+
+
+ Ctrl+V
+ Ctrl+V
+
+
+ D&uplicate
+ Jäl&jennä
+
+
+ Ctrl+U
+ Ctrl+U
+
+
+ &Use as default
+ &Käytä perus asetuksena
+
+
+ P&rint model
+ Tu&losta malli
+
+
+ Alt+R
+ Alt+R
+
+
+ &Simulate model
+ &Simuloi malli
+
+
+ Alt+S
+ Alt+S
+
+
+ General Settings
+ Yleiset asetukset
+
+
+ Delete Selected Models?
+ Poista valitut mallit?
+
+
+ Cannot delete default model.
+ Valittuna ollutta mallia ei voida poistaa.
+
+
+ Cannot cut default model.
+ Valittua mallia ei voi leikata.
+
+
+ Do you want to overwrite TX general settings?
+ Haluatko päällekirjoittaa TX:n yleiset asetukset ?
+
+
+ You are pasting on an not empty model, are you sure?
+ Yrität liittää tietoja ei tyhjän mallin tietoihin, haluatko varmasti jatkaa ?
+
+
+ No free slot available, cannot duplicate
+ Ei vapaata tilaa, ei voida monistaa
+
+
+
+ Module
+
+ Form
+ Moduuli
+
+
+ Failsafe Mode
+ Turvatila
+
+
+ Start
+ Aloitus
+
+
+ PPM delay
+ PPM viive
+
+
+ usec
+ usec
+
+
+ Negative
+ Negatiivinen
+
+
+ Positive
+ Positiivinen
+
+
+ RX Number
+ RX numero
+
+
+ Master
+ Masteri
+
+
+ Slave
+ Orja
+
+
+ Polarity
+ Napaisuus
+
+
+ Trainer Mode
+ Harjoitus tila
+
+
+ mSec
+ mSec
+
+
+ PPM Frame Length
+ PPM läh pituus
+
+
+ Label
+ Lappu
+
+
+ ch
+ ch
+
+
+ Channels
+ Kanavat
+
+
+ Hold
+ Pidä
+
+
+ Custom
+ Omat
+
+
+ No Pulses
+ Ei pulsseja
+
+
+ Failsafe Positions
+ Turvatila asennot
+
+
+ Protocol
+ Protokolla
+
+
+
+ ModulePanel
+
+ Trainer Output
+ Opetus ulostulo
+
+
+ Internal Radio System
+ Sisäinen radio systeemi
+
+
+ External Radio Module
+ Ulkoinen radio systeemi
+
+
+
+ QObject
+
+ FW: %1
+
+
+
+ Pict: %1
+
+
+
+ Profile image
+
+
+
+ -GV%1
+
+
+
+ GV%1
+
+
+
+ Rud
+
+
+
+ Ele
+
+
+
+ Thr
+
+
+
+ Ail
+
+
+
+ P1
+ P1
+
+
+ P2
+ P2
+
+
+ P3
+ P3
+
+
+ S1
+ S1
+
+
+ S2
+ S2
+
+
+ S3
+ S3
+
+
+ LS
+ LS
+
+
+ RS
+ RS
+
+
+ REa
+
+
+
+ REb
+
+
+
+ TrmR
+
+
+
+ TrmE
+
+
+
+ TrmT
+
+
+
+ TrmA
+
+
+
+ Batt
+
+
+
+ Timer1
+ Ajastin 1
+
+
+ Timer2
+ Ajastin 2
+
+
+ SWR
+
+
+
+ RSSI Tx
+
+
+
+ RSSI Rx
+
+
+
+ Rx Batt
+
+
+
+ A1
+ A1
+
+
+ A2
+ A2
+
+
+ A3
+
+
+
+ A4
+
+
+
+ Alt
+
+
+
+ Rpm
+
+
+
+ Fuel
+
+
+
+ T1
+
+
+
+ T2
+
+
+
+ Speed
+
+
+
+ Dist
+
+
+
+ GPS Alt
+
+
+
+ Cell
+
+
+
+ Cels
+
+
+
+ Vfas
+
+
+
+ Curr
+
+
+
+ Cnsp
+
+
+
+ Powr
+
+
+
+ AccX
+
+
+
+ AccY
+
+
+
+ AccZ
+
+
+
+ HDG
+
+
+
+ VSpd
+
+
+
+ ASpd
+
+
+
+ dTE
+
+
+
+ A1-
+
+
+
+ A2-
+
+
+
+ A3-
+
+
+
+ A4-
+
+
+
+ Alt-
+
+
+
+ Alt+
+
+
+
+ Rpm+
+
+
+
+ T1+
+
+
+
+ T2+
+
+
+
+ Spd+
+
+
+
+ Dst+
+
+
+
+ Cel-
+
+
+
+ Cels-
+
+
+
+ Vfs-
+
+
+
+ Cur+
+
+
+
+ Pwr+
+
+
+
+ ACC
+
+
+
+ Time
+
+
+
+ LS1
+ LS1
+
+
+ LS2
+ LS2
+
+
+ LS3
+ LS3
+
+
+ LS4
+ LS4
+
+
+ LS5
+ LS5
+
+
+ LS6
+ LS6
+
+
+ LS7
+ LS7
+
+
+ LS8
+ LS8
+
+
+ LS9
+ LS9
+
+
+ LSA
+ LSA
+
+
+ LSB
+ LSB
+
+
+ LSC
+ LSC
+
+
+ LSD
+ LSD
+
+
+ LSE
+ LSE
+
+
+ LSF
+ LSF
+
+
+ LSG
+ LSG
+
+
+ LSH
+ LSH
+
+
+ LSI
+ LSI
+
+
+ LSJ
+ LSJ
+
+
+ LSK
+ LSK
+
+
+ LSL
+ LSL
+
+
+ LSM
+ LSM
+
+
+ LSN
+ LSN
+
+
+ LSO
+ LSO
+
+
+ LSP
+ LSP
+
+
+ LSQ
+ LSQ
+
+
+ LSR
+ LSR
+
+
+ LSS
+ LSS
+
+
+ LST
+ LST
+
+
+ LSU
+ LSU
+
+
+ LSV
+ LSV
+
+
+ LSW
+ LSW
+
+
+ ----
+ ----
+
+
+ [I%1]
+
+
+
+ MAX
+
+
+
+ CYC%1
+
+
+
+ PPM%1
+
+
+
+ CH%1%2
+ CH%1%2
+
+
+ X%1
+
+
+
+ S11
+ S11
+
+
+ S12
+ S12
+
+
+ S13
+ S13
+
+
+ S14
+ S14
+
+
+ S15
+ S15
+
+
+ S16
+ S16
+
+
+ S21
+ S21
+
+
+ S22
+ S22
+
+
+ S23
+ S23
+
+
+ S24
+ S24
+
+
+ S25
+ S25
+
+
+ S26
+ S26
+
+
+ S31
+ S31
+
+
+ S32
+ S32
+
+
+ S33
+ S33
+
+
+ S34
+ S34
+
+
+ S35
+ S35
+
+
+ S36
+ S36
+
+
+ RudTrim Left
+
+
+
+ RudTrim Right
+
+
+
+ EleTrim Down
+
+
+
+ EleTrim Up
+
+
+
+ ThrTrim Down
+
+
+
+ ThrTrim Up
+
+
+
+ AilTrim Left
+
+
+
+ AilTrim Right
+
+
+
+ OFF
+ Pois
+
+
+ ABS
+
+
+
+ THs
+
+
+
+ TH%
+
+
+
+ THt
+
+
+
+ ON
+ ON
+
+
+ ???
+
+
+
+ Diff(%1)
+
+
+
+ Expo(%1)
+
+
+
+ Function(%1)
+
+
+
+ Curve(%1)
+
+
+
+ !Curve(%1)
+
+
+
+ ---
+ ---
+
+
+ a>x
+
+
+
+ a<x
+
+
+
+ |a|>x
+
+
+
+ |a|<x
+
+
+
+ AND
+ JA
+
+
+ OR
+
+
+
+ XOR
+
+
+
+ a=b
+
+
+
+ a!=b
+
+
+
+ a>b
+
+
+
+ a<b
+
+
+
+ a>=b
+
+
+
+ a<=b
+
+
+
+ d>=x
+
+
+
+ |d|>=x
+
+
+
+ a=x
+
+
+
+ a~x
+
+
+
+ Timer
+
+
+
+ Sticky
+
+
+
+ Stay
+
+
+
+ Unknown
+
+
+
+ STAY(%1, [%2:%3])
+
+
+
+ STICKY(%1, %2)
+
+
+
+ TIMER(%1, %2)
+
+
+
+ Delay %1 sec
+
+
+
+ Duration %1 sec
+
+
+
+ <font color=red><b>Inconsistent parameter</b></font>
+
+
+
+ All
+
+
+
+ Telemetry
+ Telemetria
+
+
+ Value
+
+
+
+ Decr:
+
+
+
+ Incr:
+
+
+
+ Safety %1
+
+
+
+ Trainer
+
+
+
+ Trainer RUD
+
+
+
+ Trainer ELE
+
+
+
+ Trainer THR
+
+
+
+ Trainer AIL
+
+
+
+ Instant Trim
+
+
+
+ Play Sound
+
+
+
+ Play Haptic
+
+
+
+ Reset
+
+
+
+ Set Timer %1
+
+
+
+ Vario
+ Alti+
+
+
+ Play Track
+
+
+
+ Play Both
+
+
+
+ Play Value
+
+
+
+ Start Logs
+
+
+
+ Volume
+
+
+
+ Backlight
+
+
+
+ Background Music
+
+
+
+ Background Music Pause
+
+
+
+ Adjust GV%1
+
+
+
+ No repeat
+
+
+
+ %1 sec
+
+
+
+ Simultaneous usage of expo and curves is no longer supported
+
+
+
+ Simultaneous usage of expo and curves is no longer supported in open9x
+
+
+
+ OpenTX only accepts %1 points in all curves
+
+
+
+ OpenTX on this board doesn't accept this function
+
+
+
+ OpenTX doesn't accept this protocol
+
+
+
+ OpenTX doesn't allow this number of channels
+
+
+
+ Your radio probably uses a wrong firmware,
+ eeprom size is 4096 but only the first 2048 are used
+
+
+
+ Warning
+ Varoitus
+
+
+ EEPROM saved with these warnings:
+
+
+
+ Support for frsky telemetry mod
+
+
+
+ Support for telemetry easy board
+
+
+
+ Support for jeti telemetry mod
+
+
+
+ Support for receiving ardupilot data
+
+
+
+ Support for receiving NMEA data
+
+
+
+ Support for MAVLINK devices
+
+
+
+ Rotary Encoder use in menus navigation
+
+
+
+ Pots use in menus navigation
+
+
+
+ Possibility to enable FAI MODE at field
+
+
+
+ FAI MODE always enabled
+
+
+
+ OpenTX for 9X board
+
+
+
+ Enable heli menu and cyclic mix support
+
+
+
+ Enable TEMPLATES menu
+
+
+
+ No splash screen
+
+
+
+ No flight modes
+
+
+
+ Disable curves menus
+
+
+
+ Support for radio modified with regular speaker
+
+
+
+ Used if you have modified your radio with voice mode
+
+
+
+ Used if you have modified your radio with haptic mode
+
+
+
+ Support for DSM2 modules
+
+
+
+ PPM center adjustment in limits
+
+
+
+ PPM values displayed in us
+
+
+
+ Global variables
+
+
+
+ Symetrical Limits
+
+
+
+ SmartieParts 2.2 Backlight support
+
+
+
+ In model setup menus automatically set source by moving some of them
+
+
+
+ In model setup menus automatically set switch by moving some of them
+
+
+
+ Enable resetting values by pressing up and down at the same time
+
+
+
+ No graphical check boxes and sliders
+
+
+
+ Battery graph
+
+
+
+ Don't use bold font for highlighting active items
+
+
+
+ Use alternative SQT5 font
+
+
+
+ Enable the throttle trace in Statistics
+
+
+
+ EEprom write progress bar
+
+
+
+ Imperial units
+
+
+
+ No Winged Shadow How High support
+
+
+
+ No vario support
+
+
+
+ No GPS support
+
+
+
+ No gauges in the custom telemetry screen
+
+
+
+ Allow compensating for offset errors in FrSky FAS current sensors
+
+
+
+ OpenTX for M128 / 9X board
+
+
+
+ EEprom write Progress bar
+
+
+
+ OpenTX for 9XR
+
+
+
+ OpenTX for 9XR with M128 chip
+
+
+
+ OpenTX for Gruvin9x board / 9X
+
+
+
+ Support for SD memory card
+
+
+
+ Support of FrSky PXX protocol
+
+
+
+ Support for DSM2 modules using ppm instead of true serial
+
+
+
+ OpenTX for Sky9x board / 9X
+
+
+
+ Enable HELI menu and cyclic mix support
+
+
+
+ Use FrSky Taranis sticks in a 9X/9XR
+
+
+
+ Bluetooth interface
+
+
+
+ OpenTX for FrSky Taranis
+
+
+
+ Disable HELI menu and cyclic mix support
+
+
+
+ Disable TEMPLATES menu
+
+
+
+ Disable Global variables
+
+
+
+ OpenTX for FrSky Taranis Rev4a
+
+
+
+ th9x on this board doesn't have Rotary Encoders
+
+
+
+ FM%1
+
+
+
+ Input%1
+
+
+
+ Rud Trim
+
+
+
+ Ele Trim
+
+
+
+ Thr Trim
+
+
+
+ Ail Trim
+
+
+
+ Rot Enc
+
+
+
+ English
+
+
+
+ Finnish
+
+
+
+ French
+
+
+
+ Italian
+
+
+
+ German
+
+
+
+ Czech
+
+
+
+ Slovak
+
+
+
+ Spanish
+
+
+
+ Polish
+
+
+
+ Portuguese
+
+
+
+ Swedish
+
+
+
+ THR
+ KAA
+
+
+ CH%1
+
+
+
+ No
+ Ei
+
+
+ RotEnc A
+
+
+
+ Rot Enc B
+
+
+
+ Rot Enc C
+
+
+
+ Rot Enc D
+
+
+
+ Rot Enc E
+
+
+
+ !Flight mode %1
+
+
+
+ Flight mode %1
+
+
+
+ Own value
+
+
+
+ Flight mode %1 value
+
+
+
+ Keys
+
+
+
+ Sticks
+
+
+
+ Keys + Sticks
+
+
+
+ Yellow
+ Kelt
+
+
+ Orange
+ Orans
+
+
+ Red
+ Pun
+
+
+ Winged Shadow How High
+ erikoistoiminto korkea
+
+
+ Winged Shadow How High (not supported)
+ erikoistoiminto korkea (ei tuettu)
+
+
+ FrSky Sensor Hub
+ FrSky:n hubi
+
+
+ None
+ Ei mitään
+
+
+ Imperial
+ Imperiaali
+
+
+ Metric
+ Metrit
+
+
+ Extra Fine
+ Eri hieno
+
+
+ Fine
+ Hieno
+
+
+ Medium
+ Keski
+
+
+ Coarse
+ Karkea
+
+
+ Exponential
+ Expo
+
+
+ Count Up
+
+
+
+ Count Down
+
+
+
+ %1:%2,
+
+
+
+ : %1 Channels, %2usec Delay
+
+
+
+ Flight modes(%1)
+
+
+
+ Flight mode(%1)
+
+
+
+ Rudder
+
+
+
+ Elevator
+
+
+
+ Throttle
+
+
+
+ Aileron
+
+
+
+ Simulator for this firmware is not yet available
+
+
+
+ Played once, not during startup
+
+
+
+ %1s
+
+
+
+ Value
+
+
+
+ Source
+ Lähde
+
+
+ GVAR
+
+
+
+ Increment
+
+
+
+ Rotary Encoder
+
+
+
+ Trim disabled
+
+
+
+ Own Trim
+
+
+
+ Use Trim from Flight mode %1
+
+
+
+ Use Trim from Flight mode %1 + Own Trim as an offset
+
+
+
+ Thanks all for the donations, kind messages, nice ideas, constructive proposals etc. for the next OpenTX/Companion funding model.
+
+We are really appreciative for that!
+
+The OpenTX/Companion Team.
+
+
+
+
+ Setup
+
+ Form
+
+
+Asetukset
+
+
+ Model Image
+ Mallin kuva
+
+
+ Model Name
+ Mallin nimi
+
+
+ Timer2
+ Ajastin 2
+
+
+ Timer1
+ Ajastin 1
+
+
+ Throttle Source
+ Kaasun lähde
+
+
+ Switch Warnings
+ Kytkin varoitukset
+
+
+ Center beep
+ Keski piippaus
+
+
+ Trim Increment
+ Trimmin säätö
+
+
+ Exponential
+ Expo
+
+
+ Extra Fine
+ Eri hieno
+
+
+ Fine
+ Hieno
+
+
+ Medium
+ Keski
+
+
+ Coarse
+ Karkea
+
+
+ Extended Limits
+ Laajemman rajat
+
+
+ Extended Trims
+ Laajemmat trimmit
+
+
+ Display Checklist
+ Näytä teht.lista
+
+
+ Throttle Trim
+ Kaasu trimmi
+
+
+ Throttle Warning
+ Kaasu varoitus
+
+
+ Reverse throttle operation.
+If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well.
+
+
+ Käänteinen kaasu
+Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, myös trimmi on käänteinen. Myös kaasu varoitus käänteinen.
+
+
+
+ Reverse Throttle
+ Käänteinen kaasu
+
+
+ Pot Warnings
+ Potikka varoitus
+
+
+ OFF
+ Pois
+
+
+ Manual
+ Käsin
+
+
+ Auto
+ Autom
+
+
+
+ SimulatorDialog
+
+ Warning
+ Varoitus
+
+
+ Joystick enabled but not configured correctly
+
+
+
+ Cannot open joystick, joystick disabled
+
+
+
+ Simulating Tx (%1)
+
+
+
+ Firmware %1 error: %2
+
+
+
+
+ SimulatorDialog9X
+
+ Companion Simulator
+ Companion simulaattori
+
+
+ Right Double Click to Reset
+
+
+
+ THR
+ KAA
+
+
+ RUD
+ PER
+
+
+ ELE
+ KOR
+
+
+ AIL
+ SII
+
+
+ Hold X
+ Pidä X
+
+
+ Fix X
+
+
+
+ Fix Y
+
+
+
+ Hold Y
+ Pidä Y
+
+
+ TextLabel
+
+
+
+ TRN
+ TRN
+
+
+ GEA
+ REN
+
+
+ ID0
+ ID0
+
+
+ ID1
+ ID1
+
+
+ ID2
+ ID2
+
+
+ BEEP
+ PIIP
+
+
+ P1
+ P1
+
+
+ 0 %
+ 0 %
+
+
+ P2
+ P2
+
+
+ P3
+ P3
+
+
+ 9x Simulator
+ 9x simulaattori
+
+
+ Outputs
+
+
+
+
+ SimulatorDialogTaranis
+
+ Companion Simulator
+ Companion simulaattori
+
+
+ Hold Y
+ Pidä Y
+
+
+ Fix Y
+
+
+
+ Fix X
+
+
+
+ Hold X
+ Pidä X
+
+
+ SD
+ SD
+
+
+ SC
+ SC
+
+
+ Right Double Click to Reset
+
+
+
+ S2
+ S2
+
+
+ SG
+ SG
+
+
+ RS
+ RS
+
+
+ SH
+ SH
+
+
+ TextLabel
+
+
+
+ S1
+ S1
+
+
+ SB
+ SB
+
+
+ SA
+ SA
+
+
+ SE
+ SE
+
+
+ SF
+ SF
+
+
+ LS
+ LS
+
+
+ Taranis Simulator
+ Taranis simulaattori
+
+
+ Outputs
+
+
+
+
+ Telemetry
+
+ Form
+ Telemetria
+
+
+ A1
+ A1
+
+
+ A2
+ A2
+
+
+ RSSI
+ RSSI
+
+
+ Alarm 1
+ Varoitus 1
+
+
+ ----
+ ----
+
+
+ Yellow
+ Kelt
+
+
+ Orange
+ Orans
+
+
+ Red
+ Puna
+
+
+ Alarm 2
+ Varoitus 2
+
+
+ Serial Protocol
+ Sarja protokolla
+
+
+ Volt source
+ Voltti lähde
+
+
+ Metric
+ Metrit
+
+
+ Imperial
+ Imperiaali
+
+
+ Current source
+ Virran lähde
+
+
+ Protocol
+ Protokolla
+
+
+ NONE
+ EI MITÄÄN
+
+
+ FAS
+ FAS
+
+
+ None
+ Ei mitään
+
+
+ FrSky Sensor Hub
+ FrSky:n hubi
+
+
+ CEL
+ CEL
+
+
+ 2
+ 2
+
+
+ 3
+ 3
+
+
+ 4
+ 4
+
+
+ Units
+ Asteikko
+
+
+ Blades
+ Prop lavat
+
+
+ Altimetry / Vario
+ Korkeusm / Variometri
+
+
+ Alti
+ Alti
+
+
+ Alti+
+ Kork+
+
+
+ Vario
+ Alti+
+
+
+ Sink Max
+ Maksimi vajoama
+
+
+ Off
+ Pois
+
+
+ Climb Max
+ Maksimi nousu
+
+
+ Sink Min
+ Minimi vajoama
+
+
+ Climb Min
+ Minimi nousu
+
+
+ Vario source
+ Variom lähde
+
+
+ Vario limits
+ Varionm asetukset
+
+
+ Use GPS as altitude source
+ Käytä GPS:sää kork. lähteenä
+
+
+ Display altitude in toolbar
+ Näytä korkeus työkalupalkissa
+
+
+ Various
+ Useat
+
+
+ mAh count
+ mAh laskuri
+
+
+ FAS Offset
+ FAS asetus
+
+
+ Persistent mAh
+ Yhtm. mAh
+
+
+
+ TelemetryAnalog
+
+ Form
+ Telemetria
+
+
+ Unit
+ Yksikkö
+
+
+ Max Value
+ Maks arvo
+
+
+ Alarm 1
+ Hälytys 1
+
+
+ ----
+ ----
+
+
+ Yellow
+ Kelt
+
+
+ Orange
+ Orans
+
+
+ Red
+ Pun
+
+
+ <
+ <
+
+
+ >
+ >
+
+
+ Alarm 2
+ Hälytys 2
+
+
+ Min Value
+ Pienin arvo
+
+
+ Volts (V)
+ Voltit ( V )
+
+
+ Amps (A)
+ Amp ( A )
+
+
+ Speed (m/s or ft/s)
+ Nopeus ( m/s tai jalk/s )
+
+
+ Raw (-)
+ Raaka ( - )
+
+
+ Speed (km/h or miles/h)
+ Nopeus ( km/h tai mailia/h )
+
+
+ Meters (m or ft)
+ Metrit (m tai jalkaa )
+
+
+ Temp (°)
+ Lämpöt (c)
+
+
+ Fuel (%)
+ Bensa (%)
+
+
+ mAmps (mA)
+ mAmp (mA)
+
+
+ Range
+ Matka
+
+
+
+ TelemetryCustomScreen
+
+ Form
+ Telemetria oma ruutu
+
+
+ Custom Screen Type
+ Oman ruudun tyyppi
+
+
+ Nums
+ Numerot
+
+
+ Bars
+ Palkit
+
+
+ Min
+ Min
+
+
+ Source
+ Lähde
+
+
+ Gauge
+ Mittari
+
+
+ Max
+ Max
+
+
+
+ TelemetryPanel
+
+ Telemetry screen %1
+ Telemetria ruutu %1
+
+
+ Winged Shadow How High
+ erikoistoiminto korkea
+
+
+ Winged Shadow How High (not supported)
+ erikoistoiminto korkea (ei tuettu)
+
+
+
+ Timer
+
+ Form
+ Ajastin
+
+
+ mm:ss
+ mm:ss
+
+
+ Countdown
+ Laskuri
+
+
+ MinuteBeep
+ Minutti piippaus
+
+
+ Persistent
+ Yhtämittainen
+
+
+ (00:00:00)
+ (00:00:00)
+
+
+
+ TimerPanel
+
+ None
+ Ei mitään
+
+
+ Beeps
+ Piipit
+
+
+ Countdown
+ Laskuri
+
+
+
+ appPreferencesDialog
+
+ Edit Settings
+
+
+
+ Application Settings
+
+
+
+ Automatic Backup Folder
+
+
+
+ User Splash Screens
+
+
+
+ Only show user splash images
+
+
+
+ Show user and companion splash images
+
+
+
+ Google Earth Executable
+
+
+
+ Automatic check for OpenTX firmware updates
+
+
+
+ Open Folder
+
+
+
+ Find Executable
+
+
+
+ Files to keep
+
+
+
+ Splash Screen Library
+
+
+
+ Enable automatic backup before writing firmware
+
+
+
+ Automatic check for Companion updates
+
+
+
+ Offer to use wizard for new models
+
+
+
+ Show splash screen when Companion starts
+
+
+
+ Simulator Settings
+
+
+
+ Simulator BackLight
+
+
+
+ Enable
+ Päälle
+
+
+ Blue
+
+
+
+ Green
+
+
+
+ Red
+ Puna
+
+
+ Orange
+ Orans
+
+
+ Yellow
+ Kelt
+
+
+ Joystick
+
+
+
+ Only capture to clipboard
+
+
+
+ Calibrate
+
+
+
+ Remember simulator switch values
+
+
+
+ Simulator capture folder
+
+
+
+ Radio Settings Profile
-
Mode selection:
Mode 1:
@@ -6645,255 +5350,236 @@ Mode 4:
-
Mode 1 (RUD ELE THR AIL)
-
Mode 2 (RUD THR ELE AIL)
-
Mode 3 (AIL ELE THR RUD)
-
Mode 4 (AIL THR ELE RUD)
-
Channel order
This is used by the templated to determine which channel goes to what number output.
-
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
-
Default Stick Mode
-
- Settings Profile
+ Profile Name
-
Splash Screen
-
Channel Order
-
Append version number to FW file name
-
SD Structure path
-
Offer to write FW to Tx after download
-
Remove Profile
-
- Firmware
-
-
-
-
Select Image
-
+ Radio Type
+
+
+
Clear Image
-
+ 9X
+
+
+
+ 9X with m128
+
+
+
+ 9XR
+
+
+
+ 9XR with m128
+
+
+
+ Gruvin9x Board
+
+
+
+ Sky9x Board
+
+
+
+ Taranis
+
+
+
+ My Radio
+
+
+
Select your snapshot folder
-
-
No joysticks found
-
Select your library folder
-
Select your Models and Settings backup folder
-
Select Google Earth executable
-
Select the folder replicating your SD structure
-
Not possible to remove profile
-
The default profile can not be removed.
-
Open Image to load
-
Images (%1)
@@ -6901,149 +5587,117 @@ This is used by the templated to determine which channel goes to what number out
avrOutputDialog
-
Dialog
-
Show Details
-
result
-
executable not found
-
-
Error
-
+ Virhe
-
Cannot open source file
-
Cannot write destination
-
Writing file:
-
ie: OpenTX for 9X board or OpenTX for 9XR board
-
ie: OpenTX for M128 / 9X board or OpenTX for 9XR board with M128 chip
-
ie: OpenTX for Gruvin9X board
-
Your radio uses a %1 CPU!!!
Please check advanced burn options to set the correct cpu type.
-
Your radio uses a %1 CPU!!!
Please select an appropriate firmware type to program it.
-
You are currently using:
%1
-
-
Writing
-
-
Reading
-
-
Verifying
-
done - exit code %1
-
done with errors
-
-
done - SUCCESSFUL
-
did not finish correctly
-
did not finish correctly!
Do you want some help ?
-
Copy did not finish correctly
-
finished correctly
-
Copy finished correctly
-
Started
-
FUSES: Low=%1 High=%2 Ext=%3
@@ -7051,78 +5705,55 @@ Do you want some help ?
burnConfigDialog
-
Programmer Configuration
-
-
Location of sam-ba executable
-
-
-
-
The location of the AVRDUDE executable.
-
DFU-Util Location
-
Location of AVRDUDE executable
-
-
-
Use this button to browse and look for the AVRDUDE executable file.
-
-
-
Browse...
-
Programmer
-
Programmer used for communicating with the controller.
Please consult the programmer's documentation and the AVRDUDE documentation to select the appropriate programmer.
-
List all available programmers.
-
List Available
-
-
Extra arguments that will be passed to AVRDUDE on every call
-
-
Extra arguments used in AVRDUDE.
This can be used for providing extra information to AVRDUDE.
@@ -7130,116 +5761,89 @@ Please only use this if you know what you are doing. There are no error checks
-
Extra Arguments
-
Show AVRDUDE help
-
Show Help
-
Communication port to the programmer.
-
-
Port
-
AVRDUDE Location
-
MCU
-
-
CPU of your TX
-
-
CPU present on your 9x radio
Should be m64 for stock radios
m2560 for v4.1 boards
-
SAM-BA Location
-
ARM MCU
-
sam-ba serial port
-
Alternate device
-
Use advanced controls
-
DFU-UTIL Configuration
-
SAM-BA Configuration
-
AVRDUDE Configuration
-
-
-
Select Location
-
-
Companion
-
+ Companion
-
<b><u>WARNING!</u></b><br>This will reset the fuses of %1 to the factory settings.<br>Writing fuses can mess up your radio.<br>Do this only if you are sure they are wrong!<br>Are you sure you want to continue?
-
<b><u>WARNING!</u></b><br>Normally CPU type is automatically selected according to the chosen firmware.<br>If you change the CPU type the resulting eeprom could be inconsistent.
@@ -7247,252 +5851,193 @@ m2560 for v4.1 boards
burnDialog
-
+ Cancel
+ Peruuta
+
+
+ SVN
+ SVN
+
+
+ Open
+ Avaa
+
+
+ Warning
+ Varoitus
+
+
+ Error
+ Virhe
+
+
Customize Splash
-
- Cancel
-
-
-
-
-
Write to TX
-
<html><head/><body><p>Modify calibration parameters using settings from current profile</p></body></html>
-
Patch calibration setting from profile
-
<html><head/><body><p>Modify HW parameters using settings from current profile</p></body></html>
-
Patch HW setting from profile
-
- Date & Time
-
-
-
-
- SVN
-
-
-
-
Variant
-
-
+ Date & Time
+
+
+
Browse for file
-
Allows Companion to write to older version of the firmware
-
Check Firmware compatibility
-
Backup and restore Models and Settings
-
Current Profile
-
- Invert Color
+ Use firmware start screen
-
- Use image in settings
+ Use another start screen
-
- Substitute image in firmware
+ Use profile start screen
-
- Load Image
+ Use library start screen
-
- Open Splash Library
-
-
-
-
- ...
-
-
-
-
Write firmware to TX
-
Write Models and Settings to TX
-
Write Models and Settings in %1 to TX
-
Current profile
-
- Open
+ Open Firmware File
-
Choose file to load Models and Settings from
-
-
-
-
-
-
- Warning
+ %1 may not be a valid firmware file
-
- %1 is not a known firmware
-
-
-
-
- Burn anyway !
-
-
-
-
-
-
-
-
-
-
-
-
-
- Error
-
-
-
-
Unable to find file %1!
-
-
-
Error opening file %1:
%2.
-
-
-
Invalid binary Models and Settings File %1, Proceed anyway ?
-
Error reading file %1:
%2.
-
- Open Image to load
+ The firmware file is not valid.
+
+
+
+ There is no start screen image in the firmware file.
+
+
+
+ The profile image %1 does not contain an image.
+
+
+
+ Open image file to use as Tx start screen
-
Images (%1)
-
-
- Cannot load %1.
+ Image could not be loaded from %1
+
+
+
+ The library image could not be loaded
-
Cannot save customized firmware
-
Custom image not found
-
No firmware selected
-
Wrong radio calibration data in profile, Settings not patched
-
Wrong radio setting data in profile, Settings not patched
-
-
Cannot write file %1:
%2.
-
Error writing file %1:
%2.
@@ -7501,513 +6046,322 @@ m2560 for v4.1 boards
compareDialog
-
- Dialog
+ Compare Models
-
Drag first model here
-
Drag second model here
-
Close
-
Print
-
+ Tulosta
-
Print to file
-
-
No name
-
General Model Settings
-
-
-
Name
-
+ Nimi
-
-
EEprom Size
-
-
Timer1
-
+ Ajastin 1
-
-
Timer2
-
+ Ajastin 2
-
-
Protocol
-
+ Protokolla
-
-
Pulse Polarity
-
-
Throttle Trim
-
+ Kaasu trimmi
-
-
-
-
Enabled
-
-
-
-
Disabled
-
-
Throttle Expo
-
-
Trim Increment
-
+ Trimmin säätö
-
-
Center Beep
-
Flight modes Settings
-
-
Fades
-
-
Trims
-
-
-
-
-
-
-
-
Switch
-
+ Kytkin
-
-
-
-
Flight mode name
-
-
IN
-
-
OUT
-
-
-
-
-
-
-
-
-
-
FM
-
-
Gvars
-
-
Rot. Enc.
-
Limits
-
-
-
-
-
-
-
Offset
-
+ Tasoitus
-
-
-
-
-
Min
-
+ Min
-
-
-
-
-
Max
-
+ Max
-
-
-
Invert
-
+ Käänteinen
-
-
-
-
-
CH
-
-
INV
-
+ KÄÄNT
-
-
NOR
-
Global Variables
-
-
GV
-
Expo/Dr Settings
-
-
Weight
-
-
-
-
Flight modes
-
-
-
-
Flight mode
-
-
-
-
DISABLED
-
Mixers
-
-
noTrim
-
-
Delay(u%1:d%2)
-
-
Slow(u%1:d%2)
-
-
Warn
-
Curves
-
+ Käyrät
-
5 Points Curves
-
-
-
-
pt %1
-
-
Curve
-
+ Käyrä
-
9 Points Curves
-
Logical Switches
-
+ Loogiset kytkimet
-
-
LS
-
+ LS
-
Switch Assignment
-
+ Kytkimien asettelu
-
-
Function
-
-
Param
-
-
Repeat
-
-
Enable
-
+ Päälle
-
CF
-
Telemetry Settings
-
-
Analog
-
-
Unit
-
+ Yksikkö
-
-
Scale
-
-
-
-
A%1
-
-
Alarm 1
-
+ Varoitus 1
-
-
Alarm 2
-
-
-
-
Type
-
-
-
-
Condition
-
+ Tila
-
-
-
-
Value
-
-
RSSI Alarm
-
-
Custom Telemetry View
-
-
Telemetry Bars
-
-
Bar Number
-
-
Source
-
+ Lähde
-
Print Document
-
Select PDF output file
@@ -8015,167 +6369,125 @@ m2560 for v4.1 boards
contributorsDialog
-
Dialog
-
+ Kehittäjät
-
People who have contributed to this project
-
+ Henkilöt jotka on tehnyt töitä projektin eteen
-
Coders
-
+ Koodaajat
-
Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe)
-
+ Kiitokset: Rafal Tomczak(RadioClone), Thomas Husterer (th9x) sekä Eriz Raviv (er9x ja eePe)
-
Thank you all !!!
-
+ Kiitokset kaikille !!!
-
Contributors
-
+ Avustajat
-
Companion Release Notes
-
+ Companion muistiinpanot
-
OpenTX Release Notes
-
+ OpenTX muistiinpanot
customizeSplashDialog
-
Transmitter Splash Screen Editor
-
-
Invert
-
+ Käänteinen
-
-
Open Splash Library
-
-
-
-
...
-
+ ...
-
-
Load Profile
-
-
Load FW
-
-
Load Pict
-
-
Save
-
- Open
+ Open Firmware File
-
-
-
-
Error
+ Virhe
+
+
+ Can not load embedded image from firmware file %1.
-
- Cannot load embedded FW image from %1.
-
-
-
-
Open Image to load
-
Images (%1)
-
Cannot load the image file %1.
-
Cannot load the profile image %1.
-
Cannot load the library image %1.
-
File Saved
-
The image was saved to the file %1
-
Image Refresh Error
-
Failed to refresh image from file %1
-
File Save Error
-
Failed to write image to %1
@@ -8183,35 +6495,29 @@ m2560 for v4.1 boards
downloadDialog
-
Downloading:
-
+ Ladataan:
-
Unable to save the file %1: %2.
-
+ Ei voida tallentaa tiedstoa %1: %2.
-
Companion
-
+ Companion
-
Download failed: %1.
-
+ Lataus epäonnistui %1.
fusesDialog
-
Fuses
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
@@ -8228,12 +6534,10 @@ p, li { white-space: pre-wrap; }
-
Read Fuses
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
@@ -8252,13 +6556,11 @@ p, li { white-space: pre-wrap; }
-
Reset Fuses
EEPROM - PROTECT
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
@@ -8277,13 +6579,11 @@ p, li { white-space: pre-wrap; }
-
Reset Fuses
EEPROM - DELETE
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
@@ -8298,119 +6598,63 @@ p, li { white-space: pre-wrap; }
fwPreferencesDialog
-
Downloads
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
CheckBox
-
Menu Language
-
Firmware Type
-
Check for updates
-
Voice Language
-
+ Äänen kieli
-
Set language of voice.
May be different from firmware language
-
Download Voice
-
Download FW
-
Options
-
Processor ID
-
FwInfo
-
Last downloaded release: %1
-
The selected firmware has never been downloaded by Companion.
-
The selected firmware cannot be downloaded by Companion.
@@ -8418,221 +6662,127 @@ May be different from firmware language
joystickDialog
-
Configure Joystick
-
Ch2
-
-
-
-
-
-
-
-
Not Assigned
-
-
-
-
-
-
-
-
Right Vertical
-
-
-
-
-
-
-
-
Right Horizontal
-
-
-
-
-
-
-
-
Left Vertical
-
-
-
-
-
-
-
-
Left Horizontal
-
-
-
-
-
-
-
-
P1
-
+ P1
-
-
-
-
-
-
-
-
P2
-
+ P2
-
-
-
-
-
-
-
-
P3/LS
-
-
-
-
-
-
-
-
RS
-
+ RS
-
Ch1
-
Ch4
-
Ch6
-
Ch3
-
Ch5
-
Ch7
-
Ch8
-
Instructions
-
Cancel
-
+ Peruuta
-
Next
-
Ok
-
Move sticks and pots in every direction making full movement
Press next when finished
-
-
Error
-
+ Virhe
-
Cannot open joystick.
-
Place sticks and pots in middle position.
Press next when done
-
Map joystick channels to controls using comboboxes.
Press next when done
-
Check inversion checkbox to get maximum at top-right position.
Press next when done
-
Press ok to save configuration
Press cancel to abort joystick calibration
-
Duplicated stick assignement
@@ -8640,73 +6790,59 @@ Press cancel to abort joystick calibration
logsDialog
-
Companion Log Viewer
-
Filename
-
Open LogFile
-
Zoom
-
X
-
Y
-
Fly sessions
-
Telemetry logs
-
Time
-
Error
-
+ Virhe
-
Cannot write file %1:
%2.
-
Select your log file
-
Available fields
-
The selected logfile contains %1 invalid lines out of %2 total lines
@@ -8714,444 +6850,301 @@ Press cancel to abort joystick calibration
mdiChild
-
Simulate Tx
-
+ Simuloi Tx
modelConfigDialog
-
Model Configuration Wizard
-
Engine
-
Model Type
-
Airplane
-
Helicopter
-
Glider
-
Wing
-
Aileron controls
-
No Ailerons
-
1 Servo (or Y)
-
-
-
2 Servos
-
Flaps controls
-
No Flaps
-
1 Servo (or inverting Y)
-
Spoilers
-
No Spoilers/Airbrakes
-
1 Servo (or Y or inverting Y)
-
Swash Plate
-
Swash plate
-
90° / Fixed / Coax
-
120°
-
120X°
-
140°
-
FlyBarLess
-
Tail
-
Tail controls
-
1 Servo Elevator / 1 Servo Rudder
-
V Tail
-
2 Servos Elevator / 1 Servo Rudder
-
Gyroscope
-
NoGyro
-
Switch control
-
Pot control
-
Channel style
-
Open9x Style
-
Futaba Style
-
2
-
+ 2
-
3
-
+ 3
-
4
-
+ 4
-
5
-
+ 5
-
6
-
+ 6
-
7
-
+ 7
-
8
-
+ 8
-
9
-
+ 9
-
1
-
+ 1
-
10
-
+ 10
-
Ele2
-
Use advanced controls
-
Spoiler2
-
Flap2
-
Flap1
-
Rud2
-
-
-
-
-
-
-
AUTO
-
-
-
-
-
-
-
CH01
-
+ CH01
-
-
-
-
-
-
-
CH02
-
+ CH02
-
-
-
-
-
-
-
CH03
-
+ CH03
-
-
-
-
-
-
-
CH04
-
+ CH04
-
-
-
-
-
-
-
CH05
-
+ CH05
-
-
-
-
-
-
-
CH06
-
+ CH06
-
-
-
-
-
-
-
CH07
-
+ CH07
-
-
-
-
-
-
-
CH08
-
+ CH08
-
-
-
-
-
-
-
CH09
-
+ CH09
-
-
-
-
-
-
-
CH10
-
+ CH10
-
Ail2
-
Spoiler 1
-
Delta wing
-
-
Not present
-
Present
-
Rudder
-
Single rudder
-
Dual rudder (with 2 servos)
-
Apply configuration ?
-
Apply configuration deleting existing model ?
@@ -9159,144 +7152,94 @@ Press cancel to abort joystick calibration
preferencesDialog
-
-
Preferences
-
-
Simu BackLight
-
-
Simulator capture folder
-
-
Joystick
-
Remember simulator switches
-
-
Enable
-
+ Päälle
-
-
Use clipboard only
-
-
Calibrate
-
-
Blue
-
-
Green
-
-
Red
-
-
Orange
-
+ Orans
-
-
Yellow
-
+ Kelt
-
-
-
-
-
-
Open Folder
-
-
Personal splash library
-
-
Include companion splashes
-
-
Only user defined splashes
-
-
Splash library behaviour
-
-
Custom TX splash screen
-
-
Open Image
-
-
-
-
...
-
+ ...
-
-
Invert Pixels
-
Mode selection:
Mode 1:
@@ -9319,877 +7262,556 @@ Mode 4:
-
Mode 1 (RUD ELE THR AIL)
-
Mode 2 (RUD THR ELE AIL)
-
Mode 3 (AIL ELE THR RUD)
-
Mode 4 (AIL THR ELE RUD)
-
auto backup before write
-
Automatic Backup Folder
-
Show Splash At Start
-
Ask use of wizard for new models
-
Remember switches in simulator
-
Channel order
This is used by the templated to determine which channel goes to what number output.
-
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
-
FwInfo
-
Check for updates
-
Ask for flashing after Download
-
Export Profile
-
Save Profile
-
Import Profile
-
Profile Name
-
Default Stick Mode
-
Default Channel Order
-
Profile slot
-
Automatically add version number to the filename after download
-
Voice
-
-
Download
-
Set language of voice.
May be different from firmware language
-
Language
-
Firmware
-
SD Structure path
-
Processor ID
-
Recent History Size
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
CheckBox
-
Check for updates on startup
-
Check for selected Fw updates
-
Google Earth Executable
-
Find Executable
-
-
- Last downloaded release: %1
-
-
-
-
- The selected firmware has never been downloaded by Companion.
-
-
-
-
- The selected firmware cannot be downloaded by Companion.
-
-
-
-
- Image stored in settings
-
-
-
-
-
- No joysticks found
-
-
-
-
- Select your library folder
-
-
-
-
- Select your snapshot folder
-
-
-
-
- Select your Models and Settings backup folder
-
-
-
-
- Select Google Earth executable
-
-
-
-
-
- Error
-
-
-
-
-
- Cannot load %1.
-
-
-
-
- Select the folder replicating your SD structure
-
-
-
-
- Profile name is empty, profile slot %1 will be deleted.<br>Are you sure ?
-
-
-
-
- Export profile As
-
-
-
-
- Profile slot is not empty, profile slot %1 will we overwritten.<br>Are you sure ?
-
-
-
-
- Open Profile to import
-
-
-
-
- Open Image to load
-
-
-
-
- Images (%1)
-
-
printDialog
-
Dialog
-
Close
-
Print
-
+ Tulosta
-
Print to file
-
Setup for:
-
printed on: %1
-
General Model Settings
-
-
-
-
Name
-
+ Nimi
-
EEprom Size
-
Timer1
-
+ Ajastin 1
-
Timer2
-
+ Ajastin 2
-
Protocol
-
+ Protokolla
-
Pulse Polarity
-
Throttle Trim
-
+ Kaasu trimmi
-
-
-
Enabled
-
-
Disabled
-
Throttle Expo
-
Trim Increment
-
+ Trimmin säätö
-
Center Beep
-
Flight modes Settings
-
Fades
-
Trims
-
Gvars
-
Rot.Enc.
-
-
-
-
Switch
-
+ Kytkin
-
Flight mode name
-
IN
-
OUT
-
-
-
-
FM
-
Expo/Dr Settings
-
Weight
-
-
Flight modes
-
-
Flight mode
-
-
DISABLED
-
Mixers
-
-
-
-
CH
-
noTrim
-
-
-
-
-
Offset
-
+ Tasoitus
-
Delay(u%1:d%2)
-
Slow(u%1:d%2)
-
Warn
-
Limits
-
-
-
-
Min
-
+ Min
-
-
-
-
Max
-
+ Max
-
-
-
Invert
-
+ Käänteinen
-
-
-
INV
-
+ KÄÄNT
-
-
-
NOR
-
Curves
-
+ Käyrät
-
-
-
Curve
-
+ Käyrä
-
pt %1
-
Logical Switches
-
+ Loogiset kytkimet
-
-
LS
-
+ LS
-
Global Variables
-
GV
-
Switch Assignments
-
Function
-
Parameter
-
Repeat
-
Telemetry Settings
-
-
Alarm 1
-
+ Varoitus 1
-
-
Alarm 2
-
Analog
-
Unit
-
+ Yksikkö
-
Scale
-
-
-
-
Type
-
-
-
-
Condition
-
+ Tila
-
-
-
-
Value
-
A%1
-
RSSI Alarm
-
Frsky serial protocol
-
System of units
-
Propeller blades
-
-
Custom Telemetry View
-
Telemetry Bars
-
Bar Number
-
Source
-
+ Lähde
-
Print Document
-
Select PDF output file
-
ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*)
@@ -10197,888 +7819,658 @@ May be different from firmware language
simulatorDialog
-
Companion Simulator
-
+ Companion simulaattori
-
-
-
-
Right Double Click to Reset
-
+ Tuplaklikkaa oikea resetoi
-
THR
-
+ KAA
-
RUD
-
+ PER
-
ELE
-
+ KOR
-
AIL
-
+ SII
-
-
Hold X
-
+ Pidä X
-
-
Fix X
-
+ Kesk X
-
-
Fix Y
-
+ Kesk Y
-
-
Hold Y
-
+ Pidä Y
-
-
-
-
TextLabel
-
+ Tekstilappu
-
TRN
-
+ TRN
-
GEA
-
+ REN
-
ID0
-
+ ID0
-
ID1
-
+ ID1
-
ID2
-
+ ID2
-
BEEP
-
+ PIIP
-
P1
-
+ P1
-
-
-
0 %
-
+ 0 %
-
P2
-
+ P2
-
P3
-
+ P3
-
9x Simulator
-
+ 9x simulaattori
-
Outputs
-
+ Ulostulot
-
LS1
-
+ LS1
-
LS2
-
+ LS2
-
LS3
-
+ LS3
-
LS4
-
+ LS4
-
LS5
-
+ LS5
-
LS6
-
+ LS6
-
LS7
-
+ LS7
-
LS8
-
+ LS8
-
LS9
-
+ LS9
-
LSA
-
+ LSA
-
LSB
-
+ LSB
-
LSC
-
+ LSC
-
LSD
-
+ LSD
-
LSE
-
+ LSE
-
LSF
-
+ LSF
-
LSG
-
+ LSG
-
LSH
-
+ LSH
-
LSI
-
+ LSI
-
LSJ
-
+ LSJ
-
LSK
-
+ LSK
-
LSL
-
+ LSL
-
LSM
-
+ LSM
-
LSN
-
+ LSN
-
LSO
-
+ LSO
-
LSP
-
+ LSP
-
LSQ
-
+ LSQ
-
LSR
-
+ LSR
-
LSS
-
+ LSS
-
LST
-
+ LST
-
LSU
-
+ LSU
-
LSV
-
+ LSV
-
LSW
-
+ LSW
-
CH1
-
+ CH1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-100.1
-
+ -100.1
-
CH9
-
+ CH9
-
CH2
-
+ CH2
-
CH10
-
+ CH10
-
CH3
-
+ CH3
-
CH11
-
+ CH11
-
CH4
-
+ CH4
-
CH12
-
+ CH12
-
CH5
-
+ CH5
-
CH13
-
+ CH13
-
CH6
-
+ CH6
-
CH14
-
+ CH14
-
CH7
-
+ CH7
-
CH15
-
+ CH15
-
CH8
-
+ CH8
-
CH16
-
+ CH16
-
-
Warning
-
+ Varoitus
-
Joystick enabled but not configured correctly
-
+ Joystick päällä mutta väärin aseteltu
-
Cannot open joystick, joystick disabled
-
+ Joystickia ei voi avata, pois päältä
-
Firmware %1 error: %2
-
+ Firmware %1 virhe: %2
-
- Flight mode: %1(%2)
-
+ - Lentotila: %1(%2)
-
Simulating Tx (%1)
-
+ Simuloi TX (%1)
-
Simulating
-
+ Simuloi
splashLibrary
-
-
...
-
+ ...
-
Splash Library - page %1 of %2
-
+ Kuvakirjasto - sivu %1 tai %2
-
Warning
-
+ Varoitus
-
Invalid image in library %1
-
+ Väärä kuva kirjastossa %1
-
Information
-
+ Info
-
No valid image found in library, check your settings
-
+ Yhtään kuvaa ei löydy kuva kirjastosta, tarkista asetukset
xsimulatorDialog
-
Companion Simulator
-
+ Companion simulaattori
-
-
Hold Y
-
+ Pidä Y
-
-
Fix Y
-
+ Kesk X
-
-
Fix X
-
+ Kesk Y
-
-
Hold X
-
+ Pidä X
-
-
SD
-
+ SD
-
-
SC
-
+ SC
-
-
-
-
Right Double Click to Reset
-
+ Tyhjäys, tuplaklikkaa oikeaa
-
-
S2
-
+ S2
-
-
SG
-
+ SG
-
-
RS
-
+ RS
-
-
SH
-
+ SH
-
-
-
-
TextLabel
-
+ Simulaattori
-
-
S1
-
+ S1
-
-
SB
-
+ SB
-
-
SA
-
+ SA
-
-
SE
-
+ SE
-
-
-
SF
-
+ SF
-
-
LS
-
+ LS
-
Taranis Simulator
-
+ Taranis simulaattori
-
Outputs
-
+ Lähdöt
-
CH1
-
+ CH1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-100.1
-
+ -100.1
-
CH9
-
+ CH9
-
CH2
-
+ CH2
-
CH10
-
+ CH10
-
CH3
-
+ CH3
-
CH11
-
+ CH11
-
CH4
-
+ CH4
-
CH12
-
+ CH12
-
CH5
-
+ CH5
-
CH13
-
+ CH13
-
CH6
-
+ CH6
-
CH14
-
+ CH14
-
CH7
-
+ CH7
-
CH15
-
+ CH15
-
CH8
-
+ CH8
-
CH16
-
+ CH16
-
LSK
-
+ LSK
-
LSC
-
+ LSC
-
LSD
-
+ LSD
-
LS7
-
+ LS7
-
LSL
-
+ LSL
-
LSB
-
+ LSB
-
LS1
-
+ LS1
-
LSH
-
+ LSH
-
LSG
-
+ LSG
-
LSE
-
+ LSE
-
LSF
-
+ LSF
-
LS8
-
+ LS8
-
LS9
-
+ LS9
-
LSA
-
+ LSA
-
LSM
-
+ LSM
-
LSJ
-
+ LSJ
-
LSI
-
+ LSI
-
LS4
-
+ LS4
-
LS5
-
+ LS5
-
LS2
-
+ LS2
-
LS3
-
+ LS3
-
LS6
-
+ LS6
-
LSN
-
+ LSN
-
LSO
-
+ LSO
-
LSP
-
+ LSP
-
LSQ
-
+ LSQ
-
LSR
-
+ LSR
-
LSS
-
+ LSS
-
LST
-
+ LST
-
LSU
-
+ LSU
-
LSV
-
+ LSV
-
LSW
-
+ LSW
-
-
Warning
-
+ Varoitus
-
Joystick enabled but not configured correctly
-
+ Joystick päällä, mutta konfiguraatio ongelma
-
Cannot open joystick, joystick disabled
-
+ Ei voi avata joystickia, joystick pois käytöstä
-
Firmware %1 error: %2
-
+ Firmware %1 virhe %2
-
- Flight mode: %1(%2)
-
+ - Lennätystila %1(%2)
-
Simulating Tx (%1)
-
+ Simuloi Tx(%1)
-
Simulating
-
+ Simuloidaan
diff --git a/companion/src/translations/companion_sv.ts b/companion/src/translations/companion_sv.ts
index 091cd0560..5ca910c7f 100644
--- a/companion/src/translations/companion_sv.ts
+++ b/companion/src/translations/companion_sv.ts
@@ -168,12 +168,12 @@
-
+
ON
På
-
+
Error
Fel
@@ -1844,30 +1844,30 @@ FAI-funktionen kan inte slås av i sändaren.
InputsPanel
-
+
Move Up
Flytta uppåt
-
-
+
+
Ctrl+Up
Ctrl+Up
-
-
+
+
Move Down
Flytta nedåt
-
-
+
+
Ctrl+Down
Ctrl+Down
-
+
Source(%1)
Källa(%1)
@@ -1897,7 +1897,7 @@ FAI-funktionen kan inte slås av i sändaren.
För få filter är tillgängliga!
-
+
Delete Selected Inputs?
Radera valda filter?
@@ -1985,7 +1985,7 @@ FAI-funktionen kan inte slås av i sändaren.
LogicalSwitchesPanel
-
+
Condition
Villkor
@@ -2066,13 +2066,13 @@ FAI-funktionen kan inte slås av i sändaren.
-
-
+
+
File loaded
Filen har laddats
-
+
@@ -2128,7 +2128,7 @@ Vill du ladda ned den nya versionen nu ?
Filen sparades
-
+
Copyright
Copyright
@@ -2149,7 +2149,7 @@ Vill du ladda ned den nya versionen nu ?
Spara Som...
-
+
Exit
Avsluta
@@ -2347,7 +2347,7 @@ Vill du ladda ned den nya versionen nu ?
&Sök efter uppdateringar...
-
+
Display previous message again at startup ?
Skall föregående varning visas igen vid uppstart ?
@@ -2381,7 +2381,7 @@ Vill du ladda ned den nu ?
Skriv Modeller och Inställningar från %1 till sändaren?
-
+
Conversion failed
Konverteringen misslyckades
@@ -2405,7 +2405,7 @@ Vill du ladda ned den nu ?
&Inställningar...
-
+
Edit Settings
Redigera Inställningar
@@ -2535,7 +2535,7 @@ Vill du ladda ned den nu ?
Companion - Editor för Modeller och Inställningar - %1
-
+
Checking for updates
Letar efter uppdateringar
@@ -2550,7 +2550,7 @@ Vill du ladda ned den nu ?
Ladda inte ned versionen (r%1)?
-
+
OpenTX Home Page: <a href='%1'>%1</a>
OpenTX Hemsida: <a href='%1'>%1</a>
@@ -2594,7 +2594,7 @@ Vill du ladda ned den nu ?
&Skriv Modeller och Inställningar till sändaren
-
+
Write Models and Settings to transmitter
Skriv Modeller och Inställningar till sändaren
@@ -2743,29 +2743,29 @@ Vill du ladda ned den nu ?
-
+
Edit
Redigera
-
-
+
+
Help
Hjälp
-
-
+
+
Radio Settings Profile
Radioprofil
-
+
Show recent Models+Settings documents
Visa senaste Modeller+Inställningar-dokument
-
+
Show a selection list of radio settings profiles
Visa en lista med radioprofiler
@@ -2779,7 +2779,7 @@ Vill du ladda ned den nu ?
&Bidragsgivare...
-
+
Display previous warning again at startup ?
SKall föregående varning visas igen vid uppstart ?
@@ -2789,19 +2789,19 @@ Vill du ladda ned den nu ?
-
+
-
+
Error
Fel
-
+
Cannot write file %1:
%2.
Filen %1 kunde inte skrivas:
@@ -2815,7 +2815,7 @@ Vill du ladda ned den nu ?
-
+
Error opening file %1:
@@ -2824,7 +2824,7 @@ Vill du ladda ned den nu ?
%2.
-
+
Compilation server termporary failure, try later
Tillfälligt fel i byggservern. Försök igen senare
@@ -2845,26 +2845,26 @@ Vill du ladda ned den nu ?
Jämför...
-
+
Compare models
Jämför modeller
-
-
+
+
Backup is impossible
Säkerhetskopiering kan inte utföras
-
-
+
+
The backup dir set in preferences does not exist
Foldern för säkerhetskopior existerar inte
-
+
Warning
Varning
@@ -2878,7 +2878,7 @@ Vill du ladda ned den nu ?
&Läs/Skriv
-
+
Write
Skriv
@@ -2894,7 +2894,7 @@ Vill du ladda ned den nu ?
Kan inte hitta filen %1 !
-
+
Error reading file %1:
%2.
Fel vid inläsning från filen %1:
@@ -2905,7 +2905,7 @@ Vill du ladda ned den nu ?
ladda&Backup...
-
+
Load backup from file
Ladda backup från fil
@@ -2922,16 +2922,16 @@ Vill du ladda ned den nu ?
Öppna loggfil
-
+
-
+
Taranis radio not found
Hittade inte någon Taranis-sändare
-
+
@@ -3002,12 +3002,12 @@ Vill du ladda ned den nu ?
-
+
Open Models and Settings file
Öppna Modeller och Inställningar-fil
-
+
Firmware updates
Firmware-uppdatering
@@ -3019,14 +3019,14 @@ Vill du ladda ned den nu ?
-
+
-
+
Read Models and Settings From Tx
Läs Modeller och Inställningar från sändaren
-
+
The file %1
has not been recognized as a valid Models and Settings file
Write anyway ?
@@ -3039,13 +3039,13 @@ Starta skrivningen i alla fall ?
-
+
Backup Models and Settings From Tx
Säkerhetskopiera Modeller och Inställningar från sändaren
-
+
Cannot check Models and Settings compatibility! Continue anyway?
Det går inte att verifiera att Modeller och Inställningar är kompatibla. Fortsätt i alla fall?
@@ -3061,12 +3061,12 @@ Starta skrivningen i alla fall ?
-
+
Write Models and Settings To Tx
Skriv Modeller och Inställningar till sändaren
-
+
Write Firmware To Tx
Skriv firmware till sändaren
@@ -3162,7 +3162,7 @@ Starta skrivningen i alla fall ?
Ny Profil
-
+
Create a new Radio Setting Profile
Lägg till en ny profil med radio-inställningar
@@ -3469,12 +3469,12 @@ Starta skrivningen i alla fall ?
-
+
Recent Models+Settings
Senaste Modell+Inställnings-filer
-
+
Set Icon Theme
Ställ in Ikontema
@@ -3492,13 +3492,13 @@ Starta skrivningen i alla fall ?
Profiler för Radioinställningar
-
+
Invalid Models and Settings File %1
Filen innehåller inte Modeller och Inställningar: %1
-
+
Invalid binary Models and Settings File %1
Den binära filen innehåller inte Modeller och Inställningar: %1
@@ -3988,59 +3988,59 @@ p, li { white-space: pre-wrap; }
MixesPanel
-
+
Move Up
Flytta uppåt
-
-
+
+
Ctrl+Up
Ctrl+Up
-
-
+
+
Move Down
Flytta nedåt
-
-
+
+
Ctrl+Down
Ctrl+Down
-
+
Clear Mixes
Nollställ mixarna
-
-
+
+
X%1
X%1
-
-
-
+
+
+
CH%1%2
KN%1%2
-
+
Weight(%1)
Vikt(%1)
-
+
Switch(%1)
Brytare(%1)
-
+
No Trim
Ingen Trim
@@ -4519,12 +4519,12 @@ p, li { white-space: pre-wrap; }
P3
-
+
MAX
MAX
-
+
A1
A1
@@ -4534,12 +4534,12 @@ p, li { white-space: pre-wrap; }
A2
-
+
T1
T1
-
+
T2
T2
@@ -4552,7 +4552,7 @@ p, li { white-space: pre-wrap; }
er9x
-
+
Trainer
Trainer
@@ -4592,15 +4592,15 @@ p, li { white-space: pre-wrap; }
Starta loggning
-
-
-
+
+
+
----
----
-
+
Rud
Rod
@@ -4624,24 +4624,24 @@ p, li { white-space: pre-wrap; }
Ske
-
-
+
+
Timer1
Timer1
-
-
+
+
Timer2
Timer2
-
-
+
+
Warning
Varning
@@ -4660,21 +4660,46 @@ p, li { white-space: pre-wrap; }
Det finns ännu ingen simulator för denna typ av firmware
-
-
+
+
REa
REa
-
-
+
+
REb
REb
-
+
+ RSSI Tx
+ RSSI Tx
+
+
+
+ RSSI Rx
+ RSSI Rx
+
+
+
+ Rx Batt
+ Rx Batt
+
+
+
+ A3
+ A3
+
+
+
+ A4
+ A4
+
+
+
Alt
Höj
@@ -4704,209 +4729,208 @@ p, li { white-space: pre-wrap; }
GPS Höj
-
+
Cell
Batt
-
-
+
+
LS1
LB1
-
-
+
+
LS2
LB2
-
-
+
+
LS3
LB3
-
-
+
+
LS4
LB4
-
-
+
+
LS5
LB5
-
-
+
+
LS6
LB6
-
-
+
+
LS7
LB7
-
-
+
+
LS8
LB8
-
-
+
+
LS9
LB9
-
-
+
+
LSA
LBA
-
-
+
+
LSB
LBB
-
-
+
+
LSC
LBC
-
-
+
+
LSD
LBD
-
-
+
+
LSE
LBE
-
-
+
+
LSF
LBF
-
-
+
+
LSG
LBG
-
-
+
+
LSH
LBH
-
-
+
+
LSI
LBI
-
-
+
+
LSJ
LBJ
-
-
+
+
LSK
LBK
-
-
+
+
LSL
LBL
-
-
+
+
LSM
LBM
-
-
+
+
LSN
LBN
-
-
+
+
LSO
LBO
-
-
+
+
LSP
LBP
-
-
+
+
LSQ
LBQ
-
-
+
+
LSR
LBR
-
-
+
+
LSS
LBS
-
-
+
+
LST
LBT
-
-
+
+
LSU
LBU
-
-
+
+
LSV
LBV
-
-
+
+
LSW
LBW
-
Input %1
- Filter %1
+ Filter %1
-
+
CYC%1
CYC%1
@@ -4916,13 +4940,13 @@ p, li { white-space: pre-wrap; }
PPM%1
-
+
THR
GAS
-
+
ON
På
@@ -4935,7 +4959,7 @@ p, li { white-space: pre-wrap; }
Av
-
+
Safety %1
Säkring %1
@@ -4945,7 +4969,7 @@ p, li { white-space: pre-wrap; }
th9x stödjer inte inställningshjul för detta sändarkort
-
+
TrmR
TrmR
@@ -4965,7 +4989,7 @@ p, li { white-space: pre-wrap; }
TrmA
-
+
Play Haptic
Spela Vibration
@@ -4999,12 +5023,17 @@ p, li { white-space: pre-wrap; }
Spela Värde
-
+
Cels
Celsius
-
+
+ S3
+ S3
+
+
+
Vfas
Vfas
@@ -5014,7 +5043,7 @@ p, li { white-space: pre-wrap; }
Ström
-
+
VSpd
VHastighet
@@ -5029,7 +5058,7 @@ p, li { white-space: pre-wrap; }
A2-
-
+
Alt-
Hjd-
@@ -5064,17 +5093,16 @@ p, li { white-space: pre-wrap; }
Avstånd+
-
+
Cur+
Ström+
-
ACC
- ACC
+ ACC
-
+
Time
Tid
@@ -5109,7 +5137,7 @@ p, li { white-space: pre-wrap; }
Inm.Hjul E
-
+
Play Track
Spela Spår
@@ -5150,7 +5178,7 @@ p, li { white-space: pre-wrap; }
Det går inte att använda Expo på en specialkurva i open9x
-
+
Support for frsky telemetry mod
Stöd för FrSky telemeri
@@ -5400,7 +5428,7 @@ p, li { white-space: pre-wrap; }
Slå på helikoptermenyn och stöd för cyklisk mix
-
+
CH%1%2
KN%1%2
@@ -5410,21 +5438,21 @@ p, li { white-space: pre-wrap; }
X%1
-
-
+
+
GV%1
GV%1
-
+
-
+
---
----
-
+
Rud Trim
Rod.Trim
@@ -5464,7 +5492,7 @@ p, li { white-space: pre-wrap; }
KN%1
-
+
Background Music
Bakgrundsmusik
@@ -5494,7 +5522,7 @@ p, li { white-space: pre-wrap; }
Eget värde
-
+
-GV%1
-GV%1
@@ -5546,22 +5574,20 @@ p, li { white-space: pre-wrap; }
RS
-
+
Batt
Batt
-
Tx
- Tx
+ Tx
-
Rx
- Rx
+ Rx
-
+
Cnsp
Cnsp
@@ -5571,7 +5597,7 @@ p, li { white-space: pre-wrap; }
Powr
-
+
AccX
AccX
@@ -5586,7 +5612,7 @@ p, li { white-space: pre-wrap; }
AccZ
-
+
HDG
HDG
@@ -5602,6 +5628,16 @@ p, li { white-space: pre-wrap; }
+ A3-
+ A3-
+
+
+
+ A4-
+ A4-
+
+
+
Cel-
@@ -5611,7 +5647,52 @@ p, li { white-space: pre-wrap; }
-
+
+ Cels-
+
+
+
+
+ ACC
+
+
+
+
+ [I%1]
+
+
+
+
+ S31
+ S31
+
+
+
+ S32
+ S32
+
+
+
+ S33
+ S33
+
+
+
+ S34
+ S34
+
+
+
+ S35
+ S35
+
+
+
+ S36
+ S36
+
+
+
RudTrim Left
RoderTrim Vänster
@@ -5750,6 +5831,11 @@ p, li { white-space: pre-wrap; }
|d|>=x
|d|>=x
+
+
+ a=x
+ a=x
+
a~x
@@ -5797,7 +5883,7 @@ p, li { white-space: pre-wrap; }
-
+
No repeat
Repetera ej
@@ -5855,7 +5941,7 @@ p, li { white-space: pre-wrap; }
%1s
-
+
Value
Värde
@@ -5875,7 +5961,7 @@ p, li { white-space: pre-wrap; }
Ökning
-
+
Yellow
Gul
@@ -6011,22 +6097,21 @@ p, li { white-space: pre-wrap; }
Batteriikon
-
+
SWR
SWR
-
RSSI
- RSSI
+ RSSI
-
+
Pwr+
-
+
S11
S11
@@ -6086,7 +6171,7 @@ p, li { white-space: pre-wrap; }
S26
-
+
Diff(%1)
Diff(%1)
@@ -6111,7 +6196,7 @@ p, li { white-space: pre-wrap; }
!Kurva(%1)
-
+
FM%1
FM%1
@@ -6182,20 +6267,24 @@ p, li { white-space: pre-wrap; }
Flygläge %1 värde
-
openTx only accepts %1 points in all curves
- openTX accepterar bar %1 punkter i alla kurvor
+ openTX accepterar bar %1 punkter i alla kurvor
-
-
+
+ OpenTX only accepts %1 points in all curves
+ OpenTX accepterar bara %1 punkter i alla kurvor
+
+
+
+
OpenTX on this board doesn't accept this function
OpenTX stödjer inte funktionen för den aktuella hårdvaran
-
+
OpenTX doesn't accept this protocol
OpenTX accepterar inte detta protokoll
@@ -6206,14 +6295,14 @@ p, li { white-space: pre-wrap; }
OpenTX accepterar inte detta antal kanaler
-
+
Your radio probably uses a wrong firmware,
eeprom size is 4096 but only the first 2048 are used
Din sändare har antagligen laddats med felaktig programvara.
eeprom-storleken är 4096, men enbart den första hälften används
-
+
Support for MAVLINK devices
Stöd för MAVLINK-enheter
@@ -7282,7 +7371,7 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga
Programmets Inställningar
-
+
Simulator capture folder
Lagra simulatorbilder i
@@ -7305,12 +7394,12 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga
Egna Startbilder
-
+
Edit Settings
Redigera Inställningar
-
+
Application Settings
Programmet
@@ -7554,16 +7643,50 @@ Detta används av mallen för att koppla kanal till output-nummer.
Spaktilldelning
-
+
+ 9X
+ 9X
+
+
+
+ 9X with m128
+ 9X med m128
+
+
+
+ 9XR
+ 9XR
+
+
+
+ 9XR with m128
+ 9XR med m128
+
+
+
+ Gruvin9x Board
+ Gruvin9X-kort
+
+
+
+ Sky9x Board
+ Sky9x-kort
+
+
+
+ Taranis
+ Taranis
+
+
Firmware File
- Firmware
+ Firmware
Settings Profile
Profil
-
+
Splash Screen
Startbild
@@ -7583,17 +7706,16 @@ Detta används av mallen för att koppla kanal till output-nummer.
Sökväg till SD-struktur
-
Firmware Variant
- Firmware-typ
+ Firmware-typ
-
+
Select Image
Välj Bild
-
+
Offer to write FW to Tx after download
Skriv FW till Tx efter nedladdning
@@ -7613,7 +7735,12 @@ Detta används av mallen för att koppla kanal till output-nummer.
Ta bort Profil
-
+
+ Radio Type
+ Radiotyp
+
+
+
Clear Image
Ta bort Bild
@@ -7630,7 +7757,7 @@ Detta används av mallen för att koppla kanal till output-nummer.
Enbart användarens bilder
-
+
Splash Screen Library
Bibliotek för startbilder
@@ -7705,13 +7832,18 @@ Detta används av mallen för att koppla kanal till output-nummer.
Säkerhetskopiera innan firmware-skrivning
-
+
+ My Radio
+ Min Radio
+
+
+
Select your snapshot folder
Välj katalog för snapshots av Tx-simulatorn
-
+
No joysticks found
Ingen joystick hittades
@@ -7736,7 +7868,7 @@ Detta används av mallen för att koppla kanal till output-nummer.
Välj katalog med en kopia av din SD-struktur
-
+
Not possible to remove profile
Det går inte att ta bort profilen
@@ -7754,7 +7886,7 @@ Detta används av mallen för att koppla kanal till output-nummer.
Det går inte att ladda %1.
-
+
Open Image to load
Öppna bild för laddning
@@ -7777,7 +7909,7 @@ Detta används av mallen för att koppla kanal till output-nummer.
Visa Detaljer
-
+
Writing
Skriver
@@ -7789,19 +7921,19 @@ Detta används av mallen för att koppla kanal till output-nummer.
Läser
-
+
Verifying
Verifierar
-
+
FUSES: Low=%1 High=%2 Ext=%3
Vad är EXT?
SÄKRINGAR: Låg=%1 Hög=%2 Ext=%3
-
+
result
result
resultat
@@ -7813,55 +7945,55 @@ Detta används av mallen för att koppla kanal till output-nummer.
program hittades ej
-
+
done - exit code %1
done - exit code %1
klar - returkod %1
-
+
done with errors
done with errors
klar, men med fel
-
-
+
+
done - SUCCESSFUL
done - SUCCESSFUL
klar - FRAMGÅNG
-
+
did not finish correctly
did not finish correctly
avslutade inte korrekt
-
+
finished correctly
finished correctly
avslutade korrekt
-
+
Started
Started
Startade
-
-
+
+
Error
Fel
-
+
Cannot open source file
Kan inte öppna ursprungsfilen
-
+
Cannot write destination
Det gick inte att skriva till målet
@@ -7871,22 +8003,22 @@ Detta används av mallen för att koppla kanal till output-nummer.
Skriver till fi:
-
+
ie: OpenTX for 9X board or OpenTX for 9XR board
dvs: OpenTX för 9X eller OpenTX för 9XR
-
+
ie: OpenTX for M128 / 9X board or OpenTX for 9XR board with M128 chip
dvs: OpenTX för 9X eller 9XR med M128-processor
-
+
ie: OpenTX for Gruvin9X board
dvs: OpenTX för 9X med Gruvin9X-kort
-
+
Your radio uses a %1 CPU!!!
Please check advanced burn options to set the correct cpu type.
@@ -7895,7 +8027,7 @@ Please check advanced burn options to set the correct cpu type.
Välj rätt CPU-typ i de avancerade inställningarna i Brännar-menyn.
-
+
Your radio uses a %1 CPU!!!
Please select an appropriate firmware type to program it.
@@ -7913,7 +8045,7 @@ Du använder för närvarande:
%1
-
+
did not finish correctly!
Do you want some help ?
did not finish correctly!
@@ -7927,7 +8059,7 @@ Vill du ha hjälp ?
Kopieringen gick inte bra
-
+
Copy finished correctly
Kopieringen gick bra
@@ -9162,7 +9294,7 @@ m2560 för v4.1-kort
Nedladdning:
-
+
Unable to save the file %1: %2.
Kan ej spara filen %1: %2.
@@ -9334,7 +9466,7 @@ p, li { white-space: pre-wrap; }
-
+
@@ -9481,7 +9613,7 @@ Används av mallarna för att koppla ihop kanaler med numrerade utgångar.Spara Profil
-
+
Menu Language
Menyspråk
@@ -9490,7 +9622,7 @@ Används av mallarna för att koppla ihop kanaler med numrerade utgångar.Profil
-
+
Voice Language
Röstspråk
diff --git a/companion/targets/windows/companion-msys.nsi.in b/companion/targets/windows/companion-msys.nsi.in
index cbf3b0c34..e2f1ed51e 100644
--- a/companion/targets/windows/companion-msys.nsi.in
+++ b/companion/targets/windows/companion-msys.nsi.in
@@ -109,11 +109,18 @@ Section "OpenTX companion" SecDummy
${registerExtension} "$INSTDIR\companion.exe" ".hex" "HEX_File"
${registerExtension} "$INSTDIR\companion.exe" ".companion" "EEPE_File"
${registerExtension} "$INSTDIR\companion.exe" ".eepm" "EEPM_File"
-
;Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
-
+
+ ;Registry information for add/remove programs
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "DisplayName" "OpenTX Companion"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "UninstallString" "$\"$INSTDIR\Uninstall.exe$\""
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "DisplayIcon" "$\"$INSTDIR\companion.exe$\""
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "Publisher" "OpenTX"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "URLInfoAbout" "http://www.open-tx.org"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ImageMaker" "QuietUninstallString" "$\"$INSTDIR\Uninstall.exe$\" /S"
+
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
;Create shortcuts
@@ -178,6 +185,7 @@ Section "Uninstall"
RMDir "$SMPROGRAMS\$StartMenuFolder"
DeleteRegKey /ifempty HKCU "Software\companion9x"
+ DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX"
SectionEnd
diff --git a/companion/targets/windows/companion-vs.nsi.in b/companion/targets/windows/companion-vs.nsi.in
index 64432c62d..ac572467e 100644
--- a/companion/targets/windows/companion-vs.nsi.in
+++ b/companion/targets/windows/companion-vs.nsi.in
@@ -12,14 +12,14 @@
;General
;Name and file
- Name "OpenTX companion"
+ Name "OpenTX Companion"
OutFile "companionInstall_v@C9X_VERSION@.exe"
;Default installation folder
- InstallDir "$PROGRAMFILES\OpenTX companion"
+ InstallDir "$PROGRAMFILES\OpenTX"
;Get installation folder from registry if available
- InstallDirRegKey HKCU "Software\companion9x" ""
+ InstallDirRegKey HKCU "Software\OpenTX" ""
;Compressor options
SetCompressor /FINAL /SOLID lzma
@@ -66,7 +66,7 @@
;Start Menu Folder Page Configuration
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
- !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\companion9x"
+ !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\OpenTX"
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
!insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
@@ -77,7 +77,7 @@
!define MUI_FINISHPAGE_NOAUTOCLOSE
!define MUI_FINISHPAGE_RUN
!define MUI_FINISHPAGE_RUN_CHECKED
- !define MUI_FINISHPAGE_RUN_TEXT "Launch companion"
+ !define MUI_FINISHPAGE_RUN_TEXT "Launch OpenTX Companion"
!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchLink"
# !define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
# !define MUI_FINISHPAGE_SHOWREADME $INSTDIR\readme.txt
@@ -95,7 +95,7 @@
;--------------------------------
;Installer Sections
-Section "OpenTX companion" SecDummy
+Section "OpenTX Companion" SecDummy
SetOutPath "$INSTDIR"
@@ -129,7 +129,7 @@ Section "OpenTX companion" SecDummy
SetOutPath "$INSTDIR"
;Store installation folder
- WriteRegStr HKCU "Software\companion9x" "" $INSTDIR
+ WriteRegStr HKCU "Software\OpenTX" "" $INSTDIR
;Associate with extentions ,bin and .hex
${registerExtension} "$INSTDIR\companion.exe" ".bin" "BIN_File"
@@ -141,6 +141,14 @@ Section "OpenTX companion" SecDummy
;Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
+ ;Registry information for add/remove programs
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "DisplayName" "OpenTX Companion"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "UninstallString" "$\"$INSTDIR\Uninstall.exe$\""
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "DisplayIcon" "$\"$INSTDIR\companion.exe$\""
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "Publisher" "OpenTX"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX" "URLInfoAbout" "http://www.open-tx.org"
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ImageMaker" "QuietUninstallString" "$\"$INSTDIR\Uninstall.exe$\" /S"
+
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
;Create shortcuts
@@ -207,7 +215,8 @@ Section "Uninstall"
Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk"
RMDir "$SMPROGRAMS\$StartMenuFolder"
- DeleteRegKey /ifempty HKCU "Software\companion9x"
+ DeleteRegKey /ifempty HKCU "Software\OpenTX"
+ DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTX"
SectionEnd
diff --git a/companion/targets/windows/license.txt b/companion/targets/windows/license.txt
index 62dda6edd..383da8e36 100644
--- a/companion/targets/windows/license.txt
+++ b/companion/targets/windows/license.txt
@@ -1,6 +1,6 @@
-Copyright © 2011-2013 Bertrand Songis and Romolo Manfredini
+Copyright © 2011-2014 OpenTX team
-companion9x is based on code named eePe by author - Erez Raviv
+OpenTX Companion is based on code named eePe by author - Erez Raviv
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
diff --git a/radio/src/Makefile b/radio/src/Makefile
index bf7412a89..b4c7f048f 100644
--- a/radio/src/Makefile
+++ b/radio/src/Makefile
@@ -277,7 +277,7 @@ SHELL = sh
IMG2LBM = -python ../util/img2lbm.py
BIN2LBM = -python ../util/bin2lbm.py
TRANSLATE = -python ../util/translate.py
-VERSION = 2.0
+VERSION = 1.99
SRC =
CPPSRC =
diff --git a/radio/src/gtests.cpp b/radio/src/gtests.cpp
index dbb8df463..22e53b688 100644
--- a/radio/src/gtests.cpp
+++ b/radio/src/gtests.cpp
@@ -42,7 +42,10 @@
void doMixerCalculations();
-#define MODEL_RESET() memset(&g_model, 0, sizeof(g_model))
+#define MODEL_RESET() \
+ memset(&g_model, 0, sizeof(g_model)); \
+ extern bool s_mixer_first_run_done; \
+ s_mixer_first_run_done = false;
#define MIXER_RESET() \
memset(channelOutputs, 0, sizeof(channelOutputs)); \
@@ -62,6 +65,7 @@ uint16_t anaIn(uint8_t chan)
return 0;
}
+#if !defined(PCBTARANIS)
TEST(Trims, greaterTrimLink)
{
MODEL_RESET();
@@ -88,6 +92,7 @@ TEST(Trims, infiniteChainedTrims)
setTrimValue(3, 0, TRIM_EXTENDED_MAX+3); // link to FP2 trim
EXPECT_EQ(getRawTrimValue(getTrimFlightPhase(0, 2), 0), 32);
}
+#endif
TEST(outdezNAtt, test_unsigned)
{
@@ -565,16 +570,18 @@ TEST(Mixer, SlowOnSwitch)
g_model.mixData[0].srcRaw = MIXSRC_MAX;
g_model.mixData[0].weight = 100;
g_model.mixData[0].swtch = SWSRC_THR;
- g_model.mixData[0].speedUp = 10;
- g_model.mixData[0].speedDown = 10;
+ g_model.mixData[0].speedUp = SLOW_STEP*5;
+ g_model.mixData[0].speedDown = SLOW_STEP*5;
+ s_mixer_first_run_done = true;
+
perOut(e_perout_mode_normal, 0);
EXPECT_EQ(chans[0], 0);
simuSetSwitch(0, 1);
CHECK_SLOW_MOVEMENT(0, +1, 250);
- simuSetSwitch(0, 0);
+ simuSetSwitch(0, -1);
CHECK_SLOW_MOVEMENT(0, -1, 250);
}
@@ -587,11 +594,12 @@ TEST(Mixer, SlowUpOnSwitch)
g_model.mixData[0].srcRaw = MIXSRC_MAX;
g_model.mixData[0].weight = 100;
g_model.mixData[0].swtch = SWSRC_THR;
- g_model.mixData[0].speedUp = 10;
+ g_model.mixData[0].speedUp = SLOW_STEP*5;
g_model.mixData[0].speedDown = 0;
simuSetSwitch(0, 0);
perOut(e_perout_mode_normal, 0);
+ s_mixer_first_run_done = true;
EXPECT_EQ(chans[0], 0);
simuSetSwitch(0, 1);
@@ -605,20 +613,22 @@ TEST(Mixer, SlowUpOnSwitch)
simuSetSwitch(0, 1);
CHECK_SLOW_MOVEMENT(0, +1, 100);
}
+#endif
TEST(Mixer, SlowOnPhase)
{
MODEL_RESET();
MIXER_RESET();
- g_model.phaseData[1].swtch = SWSRC_THR;
+ g_model.phaseData[1].swtch = TR(SWSRC_THR, SWSRC_SA0);
g_model.mixData[0].destCh = 0;
g_model.mixData[0].mltpx = MLTPX_ADD;
g_model.mixData[0].srcRaw = MIXSRC_MAX;
g_model.mixData[0].weight = 100;
g_model.mixData[0].phases = 0x2 + 0x4 + 0x8 + 0x10 /*only enabled in phase 0*/;
- g_model.mixData[0].speedUp = 10;
- g_model.mixData[0].speedDown = 10;
+ g_model.mixData[0].speedUp = SLOW_STEP*5;
+ g_model.mixData[0].speedDown = SLOW_STEP*5;
+ s_mixer_first_run_done = true;
s_perout_flight_phase = 0;
perOut(e_perout_mode_normal, 0);
EXPECT_EQ(chans[0], 0);
@@ -629,20 +639,26 @@ TEST(Mixer, SlowOnPhase)
CHECK_SLOW_MOVEMENT(0, -1, 250);
}
+#if !defined(CPUARM)
TEST(Mixer, SlowOnSwitchAndPhase)
{
MODEL_RESET();
MIXER_RESET();
- g_model.phaseData[1].swtch = SWSRC_THR;
+ g_model.phaseData[1].swtch = TR(SWSRC_THR, SWSRC_SA0);
g_model.mixData[0].destCh = 0;
g_model.mixData[0].mltpx = MLTPX_ADD;
g_model.mixData[0].srcRaw = MIXSRC_MAX;
g_model.mixData[0].weight = 100;
- g_model.mixData[0].swtch = SWSRC_THR;
+ g_model.mixData[0].swtch = TR(SWSRC_THR, SWSRC_SA0);
+#if defined(CPUARM)
+ g_model.mixData[0].phases = 0x2 + 0x4 + 0x8 + 0x10 + 0x20 + 0x40 + 0x80 + 0x100 /*only enabled in phase 0*/;
+#else
g_model.mixData[0].phases = 0x2 + 0x4 + 0x8 + 0x10 /*only enabled in phase 0*/;
- g_model.mixData[0].speedUp = 10;
- g_model.mixData[0].speedDown = 10;
+#endif
+ g_model.mixData[0].speedUp = SLOW_STEP*5;
+ g_model.mixData[0].speedDown = SLOW_STEP*5;
+ s_mixer_first_run_done = true;
perOut(e_perout_mode_normal, 0);
EXPECT_EQ(chans[0], 0);
@@ -650,25 +666,26 @@ TEST(Mixer, SlowOnSwitchAndPhase)
s_perout_flight_phase = 0;
CHECK_SLOW_MOVEMENT(0, +1, 250);
- simuSetSwitch(0, 0);
+ simuSetSwitch(0, -1);
s_perout_flight_phase = 1;
CHECK_SLOW_MOVEMENT(0, -1, 250);
}
#endif
-#if !defined(PCBTARANIS)
TEST(Mixer, SlowOnSwitchSource)
{
MODEL_RESET();
MIXER_RESET();
g_model.mixData[0].destCh = 0;
g_model.mixData[0].mltpx = MLTPX_ADD;
- g_model.mixData[0].srcRaw = MIXSRC_THR;
+ g_model.mixData[0].srcRaw = TR(MIXSRC_THR, MIXSRC_SA);
g_model.mixData[0].weight = 100;
- g_model.mixData[0].speedUp = 10;
- g_model.mixData[0].speedDown = 10;
+ g_model.mixData[0].speedUp = SLOW_STEP*5;
+ g_model.mixData[0].speedDown = SLOW_STEP*5;
- simuSetSwitch(0, 0);
+ s_mixer_first_run_done = true;
+
+ simuSetSwitch(0, -1);
CHECK_SLOW_MOVEMENT(0, -1, 250);
EXPECT_EQ(chans[0], -CHANNEL_MAX);
@@ -676,6 +693,22 @@ TEST(Mixer, SlowOnSwitchSource)
CHECK_SLOW_MOVEMENT(0, +1, 500);
}
+TEST(Mixer, SlowDisabledOnStartup)
+{
+ MODEL_RESET();
+ MIXER_RESET();
+ g_model.mixData[0].destCh = 0;
+ g_model.mixData[0].mltpx = MLTPX_ADD;
+ g_model.mixData[0].srcRaw = MIXSRC_MAX;
+ g_model.mixData[0].weight = 100;
+ g_model.mixData[0].speedUp = SLOW_STEP*5;
+ g_model.mixData[0].speedDown = SLOW_STEP*5;
+
+ perOut(e_perout_mode_normal, 0);
+ EXPECT_EQ(chans[0], CHANNEL_MAX);
+}
+
+#if !defined(PCBTARANIS)
TEST(Mixer, SlowAndDelayOnReplace3POSSource)
{
MODEL_RESET();
@@ -685,9 +718,11 @@ TEST(Mixer, SlowAndDelayOnReplace3POSSource)
g_model.mixData[0].srcRaw = MIXSRC_3POS;
g_model.mixData[0].weight = 100;
g_model.mixData[0].delayUp = 10;
- g_model.mixData[0].speedUp = 10;
- g_model.mixData[0].speedDown = 10;
+ g_model.mixData[0].speedUp = SLOW_STEP*5;
+ g_model.mixData[0].speedDown = SLOW_STEP*5;
+ s_mixer_first_run_done = true;
+
simuSetSwitch(3, -1);
CHECK_SLOW_MOVEMENT(0, -1, 250);
EXPECT_EQ(chans[0], -CHANNEL_MAX);
@@ -717,7 +752,7 @@ TEST(Mixer, SlowOnSwitchReplace)
g_model.mixData[1].srcRaw = MIXSRC_MAX;
g_model.mixData[1].weight = 100;
g_model.mixData[1].swtch = SWSRC_THR;
- g_model.mixData[1].speedDown = 10;
+ g_model.mixData[1].speedDown = SLOW_STEP*5;
simuSetSwitch(0, 0);
perOut(e_perout_mode_normal, 1);
@@ -745,16 +780,19 @@ TEST(Mixer, NoTrimOnInactiveMix)
g_model.mixData[0].srcRaw = MIXSRC_Thr;
g_model.mixData[0].weight = 100;
g_model.mixData[0].swtch = SWSRC_THR;
- g_model.mixData[0].speedUp = 10;
- g_model.mixData[0].speedDown = 10;
+ g_model.mixData[0].speedUp = SLOW_STEP*5;
+ g_model.mixData[0].speedDown = SLOW_STEP*5;
setTrimValue(0, 2, 256);
+ s_mixer_first_run_done = true;
+
simuSetSwitch(0, 1);
CHECK_SLOW_MOVEMENT(0, 1, 100);
- simuSetSwitch(0, 0);
+ simuSetSwitch(0, -1);
CHECK_SLOW_MOVEMENT(0, -1, 100);
}
+#endif
TEST(Mixer, SlowOnMultiply)
{
@@ -768,20 +806,21 @@ TEST(Mixer, SlowOnMultiply)
g_model.mixData[1].mltpx = MLTPX_MUL;
g_model.mixData[1].srcRaw = MIXSRC_MAX;
g_model.mixData[1].weight = 100;
- g_model.mixData[1].swtch = SWSRC_THR;
- g_model.mixData[1].speedUp = 10;
- g_model.mixData[1].speedDown = 10;
+ g_model.mixData[1].swtch = TR(SWSRC_THR, SWSRC_SA0);
+ g_model.mixData[1].speedUp = SLOW_STEP*5;
+ g_model.mixData[1].speedDown = SLOW_STEP*5;
+
+ s_mixer_first_run_done = true;
simuSetSwitch(0, 1);
CHECK_SLOW_MOVEMENT(0, 1, 250);
- simuSetSwitch(0, 0);
+ simuSetSwitch(0, -1);
CHECK_NO_MOVEMENT(0, CHANNEL_MAX, 250);
simuSetSwitch(0, 1);
CHECK_NO_MOVEMENT(0, CHANNEL_MAX, 250);
}
-#endif
TEST(Curves, LinearIntpol)
{
diff --git a/radio/src/gui/menu_model.cpp b/radio/src/gui/menu_model.cpp
index bea52b0ce..61cba0a89 100644
--- a/radio/src/gui/menu_model.cpp
+++ b/radio/src/gui/menu_model.cpp
@@ -870,13 +870,13 @@ enum menuModelSetupItems {
ITEM_MODEL_EXTENDED_LIMITS,
ITEM_MODEL_EXTENDED_TRIMS,
ITEM_MODEL_TRIM_INC,
+ CASE_PCBTARANIS(ITEM_MODEL_THROTTLE_LABEL)
ITEM_MODEL_THROTTLE_REVERSED,
ITEM_MODEL_THROTTLE_TRACE,
ITEM_MODEL_THROTTLE_TRIM,
+ CASE_PCBTARANIS(ITEM_MODEL_PREFLIGHT_LABEL)
+ CASE_PCBTARANIS(ITEM_MODEL_CHECKLIST_DISPLAY)
ITEM_MODEL_THROTTLE_WARNING,
-#if defined(PCBTARANIS)
- ITEM_MODEL_CHECKLIST_DISPLAY,
-#endif
ITEM_MODEL_SWITCHES_WARNING,
CASE_PCBTARANIS(ITEM_MODEL_POT_WARNING)
ITEM_MODEL_BEEP_CENTER,
@@ -964,7 +964,7 @@ void menuModelSetup(uint8_t event)
#define POT_WARN_ITEMS() ((g_model.nPotsToWarn >> 6) ? (uint8_t)NUM_POTS : (uint8_t)0)
bool CURSOR_ON_CELL = (m_posHorz >= 0);
- MENU_TAB({ 0, 0, CASE_PCBTARANIS(0) 2, IF_PERSISTENT_TIMERS(0) 0, 0, 2, IF_PERSISTENT_TIMERS(0) 0, 0, 0, 1, 0, 0, 0, 0, 0, CASE_PCBTARANIS(0) 7, POT_WARN_ITEMS(), NAVIGATION_LINE_BY_LINE|(NUM_STICKS+NUM_POTS+NUM_ROTARY_ENCODERS-1), LABEL(InternalModule), 0, IF_PORT1_ON(1), IF_PORT1_ON(IS_D8_RX(0) ? (uint8_t)1 : (uint8_t)2), IF_PORT1_ON(FAILSAFE_ROWS(0)), LABEL(ExternalModule), (g_model.externalModule==MODULE_TYPE_XJT || IS_MODULE_DSM2(EXTERNAL_MODULE)) ? (uint8_t)1 : (uint8_t)0, PORT2_CHANNELS_ROWS(), (IS_MODULE_XJT(1) && IS_D8_RX(1)) ? (uint8_t)1 : (IS_MODULE_PPM(1) || IS_MODULE_XJT(1) || IS_MODULE_DSM2(1)) ? (uint8_t)2 : HIDDEN_ROW, IF_PORT2_XJT(FAILSAFE_ROWS(1)), LABEL(Trainer), 0, TRAINER_CHANNELS_ROWS(), IF_TRAINER_ON(2)});
+ MENU_TAB({ 0, 0, CASE_PCBTARANIS(0) 2, IF_PERSISTENT_TIMERS(0) 0, 0, 2, IF_PERSISTENT_TIMERS(0) 0, 0, 0, 1, 0,CASE_PCBTARANIS(LABEL(Throttle)) 0, 0, 0,CASE_PCBTARANIS(LABEL(PreflightCheck)) CASE_PCBTARANIS(0) 0, 7, POT_WARN_ITEMS(), NAVIGATION_LINE_BY_LINE|(NUM_STICKS+NUM_POTS+NUM_ROTARY_ENCODERS-1), LABEL(InternalModule), 0, IF_PORT1_ON(1), IF_PORT1_ON(IS_D8_RX(0) ? (uint8_t)1 : (uint8_t)2), IF_PORT1_ON(FAILSAFE_ROWS(0)), LABEL(ExternalModule), (g_model.externalModule==MODULE_TYPE_XJT || IS_MODULE_DSM2(EXTERNAL_MODULE)) ? (uint8_t)1 : (uint8_t)0, PORT2_CHANNELS_ROWS(), (IS_MODULE_XJT(1) && IS_D8_RX(1)) ? (uint8_t)1 : (IS_MODULE_PPM(1) || IS_MODULE_XJT(1) || IS_MODULE_DSM2(1)) ? (uint8_t)2 : HIDDEN_ROW, IF_PORT2_XJT(FAILSAFE_ROWS(1)), LABEL(Trainer), 0, TRAINER_CHANNELS_ROWS(), IF_TRAINER_ON(2)});
#elif defined(CPUM64)
#define CURSOR_ON_CELL (true)
#define MODEL_SETUP_MAX_LINES ((IS_PPM_PROTOCOL(protocol)||IS_DSM2_PROTOCOL(protocol)||IS_PXX_PROTOCOL(protocol)) ? 1+ITEM_MODEL_SETUP_MAX : ITEM_MODEL_SETUP_MAX)
@@ -1121,6 +1121,12 @@ void menuModelSetup(uint8_t event)
g_model.trimInc = selectMenuItem(MODEL_SETUP_2ND_COLUMN, y, STR_TRIMINC, STR_VTRIMINC, g_model.trimInc, -2, 2, attr, event);
break;
+#if defined(PCBTARANIS)
+ case ITEM_MODEL_THROTTLE_LABEL:
+ lcd_putsLeft(y, STR_THROTTLE_LABEL);
+ break;
+#endif
+
case ITEM_MODEL_THROTTLE_REVERSED:
g_model.throttleReversed = onoffMenuItem(g_model.throttleReversed, MODEL_SETUP_2ND_COLUMN, y, STR_THROTTLEREVERSE, attr, event ) ;
break;
@@ -1142,16 +1148,20 @@ void menuModelSetup(uint8_t event)
g_model.thrTrim = onoffMenuItem(g_model.thrTrim, MODEL_SETUP_2ND_COLUMN, y, STR_TTRIM, attr, event);
break;
- case ITEM_MODEL_THROTTLE_WARNING:
- g_model.disableThrottleWarning = !onoffMenuItem(!g_model.disableThrottleWarning, MODEL_SETUP_2ND_COLUMN, y, STR_THROTTLEWARNING, attr, event);
- break;
-
#if defined(PCBTARANIS)
+ case ITEM_MODEL_PREFLIGHT_LABEL:
+ lcd_putsLeft(y, STR_PREFLIGHT);
+ break;
+
case ITEM_MODEL_CHECKLIST_DISPLAY:
g_model.displayText = onoffMenuItem(g_model.displayText, MODEL_SETUP_2ND_COLUMN, y, STR_CHECKLIST, attr, event);
break;
#endif
+ case ITEM_MODEL_THROTTLE_WARNING:
+ g_model.disableThrottleWarning = !onoffMenuItem(!g_model.disableThrottleWarning, MODEL_SETUP_2ND_COLUMN, y, STR_THROTTLEWARNING, attr, event);
+ break;
+
case ITEM_MODEL_SWITCHES_WARNING:
{
lcd_putsLeft(y, STR_SWITCHWARNING);
@@ -1201,9 +1211,9 @@ void menuModelSetup(uint8_t event)
uint8_t swactive = !(g_model.nSwToWarn & 1 << i);
#if defined(PCBTARANIS)
c = "\300-\301"[states & 0x03];
- lcd_putcAtt(MODEL_SETUP_2ND_COLUMN+i*(2*FW), y, 'A'+i, line && (m_posHorz == i) ? INVERS : 0);
- if (swactive) lcd_putc(MODEL_SETUP_2ND_COLUMN+i*(2*FW)+FWNUM, y, c);
- lcd_putsAtt(MODEL_SETUP_2ND_COLUMN+((NUM_SWITCHES-1)*2*FW+2), y, PSTR("<]"), (m_posHorz == NUM_SWITCHES-1 && !s_noHi) ? line : 0);
+ lcd_putcAtt(MODEL_SETUP_2ND_COLUMN+i*(2*FW+1), y, 'A'+i, line && (m_posHorz == i) ? INVERS : 0);
+ if (swactive) lcd_putc(MODEL_SETUP_2ND_COLUMN+i*(2*FW+1)+FWNUM+1, y, c);
+ lcd_putsAtt(MODEL_SETUP_2ND_COLUMN+((NUM_SWITCHES-1)*2*FW+8), y, PSTR("<]"), (m_posHorz == NUM_SWITCHES-1 && !s_noHi) ? line : 0);
states >>= 2;
#else
attr = 0;
diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h
index ba722512f..119c69f87 100644
--- a/radio/src/myeeprom.h
+++ b/radio/src/myeeprom.h
@@ -540,20 +540,14 @@ PACK(typedef struct t_LimitData {
#define MLTPX_REP 2
#if defined(CPUARM)
-// highest bit used for small values in mix 128 --> 8 bit is enough
-#define GV1_SMALL 128
-// highest bit used for large values in mix 4096 --> 12 bits is used (type for weight and offset has even 16 bits)
-#define GV1_LARGE 4096
-// the define GV1_LARGE marks the highest bit value used for this variables
-// because this would give too big numbers for ARM, we limit it further for offset and weight
-// must be smaller than GV1_LARGE - RESERVE_RANGE_FOR_GVARS -1
+#define GV1_SMALL 128
+#define GV1_LARGE 512
#define GV_RANGE_WEIGHT 500
#define GV_RANGE_OFFSET 500
-
-#define DELAY_STEP 10
-#define SLOW_STEP 10
-#define DELAY_MAX (25*DELAY_STEP) /* 25 seconds */
-#define SLOW_MAX (25*SLOW_STEP) /* 25 seconds */
+#define DELAY_STEP 10
+#define SLOW_STEP 10
+#define DELAY_MAX (25*DELAY_STEP) /* 25 seconds */
+#define SLOW_MAX (25*SLOW_STEP) /* 25 seconds */
#if defined(PCBTARANIS)
PACK(typedef struct t_MixData {
uint8_t destCh;
@@ -1112,12 +1106,18 @@ enum FrskyUsrProtocols {
USR_PROTO_LAST = USR_PROTO_WS_HOW_HIGH,
};
-enum FrskySource {
- FRSKY_SOURCE_NONE,
- FRSKY_SOURCE_A1,
- FRSKY_SOURCE_A2,
- FRSKY_SOURCE_FAS,
- FRSKY_SOURCE_CELLS,
+enum FrskyCurrentSource {
+ FRSKY_CURRENT_SOURCE_NONE,
+ FRSKY_CURRENT_SOURCE_A1,
+ FRSKY_CURRENT_SOURCE_A2,
+ FRSKY_CURRENT_SOURCE_FAS,
+};
+
+enum FrskyVoltsSource {
+ FRSKY_VOLTS_SOURCE_A1,
+ FRSKY_VOLTS_SOURCE_A2,
+ FRSKY_VOLTS_SOURCE_FAS,
+ FRSKY_VOLTS_SOURCE_CELLS,
};
#if defined(CPUARM)
diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp
index 2e3183b14..6e179bd5c 100644
--- a/radio/src/opentx.cpp
+++ b/radio/src/opentx.cpp
@@ -1972,8 +1972,8 @@ uint8_t getGVarFlightPhase(uint8_t phase, uint8_t idx)
int16_t getGVarValue(int16_t x, int16_t min, int16_t max, int8_t phase)
{
- if (GV_IS_GV_VALUE(x,min,max)) {
- int8_t idx = GV_INDEX_CALCULATION(x,max);
+ if (GV_IS_GV_VALUE(x, min, max)) {
+ int8_t idx = GV_INDEX_CALCULATION(x, max);
int8_t mul = 1;
if (idx < 0) {
@@ -1983,7 +1983,6 @@ int16_t getGVarValue(int16_t x, int16_t min, int16_t max, int8_t phase)
x = GVAR_VALUE(idx, getGVarFlightPhase(phase, idx)) * mul;
}
-
return limit(min, x, max);
}
@@ -2104,6 +2103,8 @@ getvalue_t convert8bitsTelemValue(uint8_t channel, ls_telemetry_value_t value)
break;
case TELEM_CURRENT:
case TELEM_POWER:
+ case TELEM_MAX_CURRENT:
+ case TELEM_MAX_POWER:
result = value * 5;
break;
case TELEM_CONSUMPTION:
@@ -2981,6 +2982,8 @@ void resetTimer(uint8_t idx)
timerState.val_10ms = 0 ;
}
+bool s_mixer_first_run_done = false;
+
void resetAll()
{
static bool firstReset = true;
@@ -2999,6 +3002,7 @@ void resetAll()
}
s_last_switch_value = 0;
+ s_mixer_first_run_done = false;
SKIP_AUTOMATIC_PROMPTS();
@@ -3350,12 +3354,14 @@ uint8_t fnSwitchDuration[NUM_CFN] = { 0 };
inline void playCustomFunctionFile(CustomFnData *sd, uint8_t id)
{
- char filename[sizeof(SOUNDS_PATH)+sizeof(sd->play.name)+sizeof(SOUNDS_EXT)] = SOUNDS_PATH "/";
- strncpy(filename+SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2);
- strncpy(filename+sizeof(SOUNDS_PATH), sd->play.name, sizeof(sd->play.name));
- filename[sizeof(SOUNDS_PATH)+sizeof(sd->play.name)] = '\0';
- strcat(filename+sizeof(SOUNDS_PATH), SOUNDS_EXT);
- PLAY_FILE(filename, sd->func==FUNC_BACKGND_MUSIC ? PLAY_BACKGROUND : 0, id);
+ if (sd->play.name[0] != '\0') {
+ char filename[sizeof(SOUNDS_PATH)+sizeof(sd->play.name)+sizeof(SOUNDS_EXT)] = SOUNDS_PATH "/";
+ strncpy(filename+SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2);
+ strncpy(filename+sizeof(SOUNDS_PATH), sd->play.name, sizeof(sd->play.name));
+ filename[sizeof(SOUNDS_PATH)+sizeof(sd->play.name)] = '\0';
+ strcat(filename+sizeof(SOUNDS_PATH), SOUNDS_EXT);
+ PLAY_FILE(filename, sd->func==FUNC_BACKGND_MUSIC ? PLAY_BACKGROUND : 0, id);
+ }
}
#endif
@@ -3851,21 +3857,21 @@ void perOut(uint8_t mode, uint8_t tick10ms)
// the unit of the stored value is the value from md->speedUp or md->speedDown divide SLOW_STEP seconds; e.g. value 4 means 4/SLOW_STEP = 2 seconds for CPU64
// because we get a tick each 10msec, we need 100 ticks for one second
// the value in md->speedXXX gives the time it should take to do a full movement from -100 to 100 therefore 200%. This equals 2048 in recalculated internal range
- if (tick10ms) {
+ if (tick10ms || !s_mixer_first_run_done) {
// only if already time is passed add or substract a value according the speed configured
int32_t rate = (int32_t) tick10ms << (DEL_MULT_SHIFT+11); // = DEL_MULT*2048*tick10ms
// rate equals a full range for one second; if less time is passed rate is accordingly smaller
// if one second passed, rate would be 2048 (full motion)*256(recalculated weight)*100(100 ticks needed for one second)
int32_t currentValue = ((int32_t) v< 0) {
- if (md->speedUp > 0) {
+ if (s_mixer_first_run_done && md->speedUp > 0) {
// if a speed upwards is defined recalculate the new value according configured speed; the higher the speed the smaller the add value is
int32_t newValue = tact+rate/((int16_t)(100/SLOW_STEP)*md->speedUp);
if (newValuespeedDown > 0) {
+ if (s_mixer_first_run_done && md->speedDown > 0) {
// see explanation in speedUp
int32_t newValue = tact-rate/((int16_t)(100/SLOW_STEP)*md->speedDown);
if (newValue>currentValue) currentValue = newValue; // Endposition; prevent toggling around the destination
@@ -4088,6 +4094,8 @@ void doMixerCalculations()
perOut(e_perout_mode_normal, tick10ms);
}
+ s_mixer_first_run_done = true;
+
//========== FUNCTIONS ===============
// must be done after mixing because some functions use the inputs/channels values
// must be done before limits because of the applyLimit function: it checks for safety switches which would be not initialized otherwise
diff --git a/radio/src/simpgmspace.cpp b/radio/src/simpgmspace.cpp
index 76a673f12..8b941be1f 100644
--- a/radio/src/simpgmspace.cpp
+++ b/radio/src/simpgmspace.cpp
@@ -101,12 +101,12 @@ sem_t *eeprom_write_sem;
#if defined(PCBTARANIS)
#define SWITCH_CASE(swtch, pin, mask) \
case swtch: \
- if (state) pin &= ~(mask); else pin |= (mask); \
+ if (state > 0) pin &= ~(mask); else pin |= (mask); \
break;
#else
#define SWITCH_CASE(swtch, pin, mask) \
case swtch: \
- if (state) pin |= (mask); else pin &= ~(mask); \
+ if (state > 0) pin |= (mask); else pin &= ~(mask); \
break;
#endif
#define SWITCH_3_CASE(swtch, pin1, pin2, mask1, mask2) \
@@ -116,13 +116,13 @@ sem_t *eeprom_write_sem;
break;
#define KEY_CASE(key, pin, mask) \
case key: \
- if (state) pin &= ~mask; else pin |= mask;\
+ if (state > 0) pin &= ~mask; else pin |= mask;\
break;
#define TRIM_CASE KEY_CASE
#else
#define SWITCH_CASE(swtch, pin, mask) \
case swtch: \
- if (state) pin &= ~(mask); else pin |= (mask); \
+ if (state > 0) pin &= ~(mask); else pin |= (mask); \
break;
#define SWITCH_3_CASE(swtch, pin1, pin2, mask1, mask2) \
case swtch: \
@@ -131,7 +131,7 @@ sem_t *eeprom_write_sem;
break;
#define KEY_CASE(key, pin, mask) \
case key: \
- if (state) pin |= (mask); else pin &= ~(mask);\
+ if (state > 0) pin |= (mask); else pin &= ~(mask);\
break;
#define TRIM_CASE KEY_CASE
#endif
diff --git a/radio/src/telemetry/frsky.cpp b/radio/src/telemetry/frsky.cpp
index 408fa43cd..45394bff0 100644
--- a/radio/src/telemetry/frsky.cpp
+++ b/radio/src/telemetry/frsky.cpp
@@ -723,7 +723,7 @@ void telemetryInterrupt10ms()
uint16_t current = 0;
#endif
- channel = g_model.frsky.currentSource - FRSKY_SOURCE_A1;
+ channel = g_model.frsky.currentSource - FRSKY_CURRENT_SOURCE_A1;
if (channel <= 1) {
current = applyChannelRatio(channel, frskyData.analog[channel].value) / 10;
}
diff --git a/radio/src/telemetry/frsky_sport.cpp b/radio/src/telemetry/frsky_sport.cpp
index 8ac5a0801..84f71cc88 100644
--- a/radio/src/telemetry/frsky_sport.cpp
+++ b/radio/src/telemetry/frsky_sport.cpp
@@ -595,7 +595,7 @@ void telemetryInterrupt10ms()
uint16_t current = 0;
#endif
- channel = g_model.frsky.currentSource - FRSKY_SOURCE_A1;
+ channel = g_model.frsky.currentSource - FRSKY_CURRENT_SOURCE_A1;
if (channel <= 1) {
current = applyChannelRatio(channel, frskyData.analog[channel].value) / 10;
}
diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp
index 8641dd5e6..586c1e3f8 100644
--- a/radio/src/translations.cpp
+++ b/radio/src/translations.cpp
@@ -496,8 +496,10 @@ const pm_char STR_VIEW_TEXT[] PROGMEM = "View text";
const pm_char STR_VIEW_CHANNELS[] PROGMEM = "View Channels";
const pm_char STR_VIEW_NOTES[] PROGMEM = "View Notes";
const pm_char STR_POTWARNING[] PROGMEM = TR_POTWARNING;
+ const pm_char STR_PREFLIGHT[] PROGMEM = TR_PREFLIGHT;
const pm_char STR_CHECKLIST[] PROGMEM = TR_CHECKLIST;
const pm_char STR_UART3MODE[] PROGMEM = TR_UART3MODE;
+ const pm_char STR_THROTTLE_LABEL[] PROGMEM = TR_THROTTLE_LABEL;
#endif
#if MENUS_LOCK == 1
diff --git a/radio/src/translations.h b/radio/src/translations.h
index d4da93d38..da9098734 100644
--- a/radio/src/translations.h
+++ b/radio/src/translations.h
@@ -596,7 +596,7 @@ extern const pm_char STR_SD_SECTORS[];
extern const pm_char STR_SD_SIZE[];
extern const pm_char STR_TYPE[];
extern const pm_char STR_GLOBAL_VARS[];
-extern const pm_char STR_GLOBAL_V[];
+extern const pm_char STR_GLOBAL_V[];
extern const pm_char STR_GLOBAL_VAR[];
extern const pm_char STR_OWN[];
extern const pm_char STR_ROTARY_ENCODER[];
@@ -672,8 +672,10 @@ extern const pm_char STR_VIEW_TEXT[];
extern const pm_char STR_VIEW_CHANNELS[];
extern const pm_char STR_VIEW_NOTES[];
extern const pm_char STR_POTWARNING[];
+ extern const pm_char STR_PREFLIGHT[];
extern const pm_char STR_CHECKLIST[];
extern const pm_char STR_UART3MODE[];
+ extern const pm_char STR_THROTTLE_LABEL[];
#endif
#if MENUS_LOCK == 1
diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt
index 96504d9a1..dbe10d791 100644
--- a/radio/src/translations/cz.h.txt
+++ b/radio/src/translations/cz.h.txt
@@ -72,7 +72,7 @@
#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 "
#define LEN_POTTYPES "\017"
-#define TR_POTTYPES "Pot\0 ""Multipos Switch"
+#define TR_POTTYPES "None\0 ""Pot\0 ""Multipos Switch"
#define LEN_DATETIME "\006"
#define TR_DATETIME "DATUM:""ČAS: "
@@ -330,7 +330,7 @@
#define TR_VTEMPLATES "Smazat mixy\0\0""Zákl. 4kanál\0""Sticky-T-Cut\0""V-Tail \0""Elevon\\Delta\0""eCCPM \0""Heli Setup \0""Servo Test \0"
#define LEN_VSWASHTYPE "\004"
-#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0"
+#define TR_VSWASHTYPE "---\0""120\0""120X""140\0""90\0"
#define LEN_VKEYS "\005"
#define TR_VKEYS TR("Menu\0""Exit\0""Dolů\0""Nhoru""Vprvo""Vlevo", "Menu\0""Exit\0""Enter""Page\0""Plus\0""Mínus")
@@ -445,8 +445,8 @@
#define TR_ELIMITS TR("Limit+25%", "Kanál +/- 125%")
#define TR_ETRIMS TR("širšíTrim", "Široký trim")
#define TR_TRIMINC TR("KrokTrimu", "Krok trimu")
-#define TR_TTRACE TR("StopaPlyn", "Stopař plynu")
-#define TR_TTRIM TR("TrimPlynu", "TrimPlyn-volnoběh")
+#define TR_TTRACE TR("StopaPlyn", INDENT "Stopař plynu")
+#define TR_TTRIM TR("TrimPlynu", INDENT "Trim-volnoběh")
#define TR_BEEPCTR "(\043)Středy"
#define TR_PROTO INDENT"Protokol"
#define TR_PPMFRAME "PPM frame"
@@ -509,7 +509,8 @@
#define TR_MEMORYWARNING INDENT"Plná pamět'"
#define TR_ALARMWARNING INDENT"Vypnutý zvuk"
#define TR_RENAVIG "Navig. RotEnc"
-#define TR_THROTTLEREVERSE TR("ReversPlyn", "Revers plynu")
+#define TR_THROTTLE_LABEL "Plyn"
+#define TR_THROTTLEREVERSE TR("ReversPlyn", INDENT"Revers plynu")
#define TR_MINUTEBEEP TR(INDENT"Minuta", INDENT"Oznamovat minuty")
#define TR_BEEPCOUNTDOWN INDENT"Odpočet"
#define TR_PERSISTENT INDENT"Trvalé"
@@ -518,9 +519,9 @@
#define TR_BLONBRIGHTNESS INDENT"Jas Zap."
#define TR_BLOFFBRIGHTNESS INDENT"Jas Vyp."
#define TR_SPLASHSCREEN "úvodníLogo"
-#define TR_THROTTLEWARNING "(\043)Plyn"
-#define TR_SWITCHWARNING "(\043)Spínače"
-#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
+#define TR_THROTTLEWARNING TR("(\043)Plyn", INDENT "(\043)Plyn")
+#define TR_SWITCHWARNING TR("(\043)Spínače", INDENT "(\043)Spínače")
+#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Warning")
#define TR_TIMEZONE "časové pásmo"
#define TR_RXCHANNELORD TR("Pořadí kanálů", "Výchozí pořadí kanálů")
#define TR_SLAVE "Podřízený"
@@ -715,7 +716,8 @@
#define TR_LOWALARM INDENT "Nízký Alarm"
#define TR_CRITICALALARM INDENT "Kritický Alarm"
#define TR_PERSISTENT_MAH INDENT "Store mAh"
-#define TR_CHECKLIST "Display Checklist"
+#define TR_PREFLIGHT "Preflight Checks"
+#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial port"
diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt
index 10706d1bc..31ef5569e 100644
--- a/radio/src/translations/de.h.txt
+++ b/radio/src/translations/de.h.txt
@@ -69,7 +69,7 @@
#define TR_UART3MODES "AUS\0 ""S-Port Data Out\0""Debug\0 "
#define LEN_POTTYPES "\017"
-#define TR_POTTYPES "Poti\0 ""Stufen-Schalter "
+#define TR_POTTYPES "None\0 ""Poti\0 ""Stufen-Schalter "
#define LEN_DATETIME "\005"
#define TR_DATETIME "DATE:""ZEIT:"
@@ -447,8 +447,8 @@
#define TR_ELIMITS TR("Erw.Limit","Erweit. Limits")
#define TR_ETRIMS TR("Erw.Trims","Erweit. Trimmung")
#define TR_TRIMINC TR("Trim Schr.","Trimm Schritte")
-#define TR_TTRACE TR("Gasquelle","Gas Verfolgung")
-#define TR_TTRIM TR("Gastrim","Gas Trimmung")
+#define TR_TTRACE TR("Gasquelle", INDENT "Gas Verfolgung")
+#define TR_TTRIM TR("Gastrim", INDENT "Gas Trimmung")
#define TR_BEEPCTR TR("Mitt.Piep","Mittelst. Pieps")
#define TR_PROTO TR(INDENT"Proto.",INDENT"Protokoll")
#define TR_PPMFRAME "PPM Einst."
@@ -511,7 +511,8 @@
#define TR_MEMORYWARNING INDENT"Speicher voll"
#define TR_ALARMWARNING INDENT"Ton aus"
#define TR_RENAVIG "Drehgeb. Navig."
-#define TR_THROTTLEREVERSE TR("Gas invers", "Vollgas hinten?") //Änderung wg TH9x, Taranis
+#define TR_THROTTLE_LABEL "Gas"
+#define TR_THROTTLEREVERSE TR("Gas invers", INDENT "Vollgas hinten?") //Änderung wg TH9x, Taranis
#define TR_MINUTEBEEP TR(INDENT"Minute",INDENT"Jede Minute")
#define TR_BEEPCOUNTDOWN INDENT"Countdown"
#define TR_PERSISTENT TR(INDENT"M-Zeit",INDENT"Modell Zeit")
@@ -520,9 +521,9 @@
#define TR_BLONBRIGHTNESS INDENT"An Helligkeit"
#define TR_BLOFFBRIGHTNESS INDENT"Aus Helligkeit"
#define TR_SPLASHSCREEN "Startbild"
-#define TR_THROTTLEWARNING "Gas Alarm"
-#define TR_SWITCHWARNING TR("Sch. Alarm","Schalter Alarm")
-#define TR_POTWARNING TR("Pot Warn.","Poti Warnung")
+#define TR_THROTTLEWARNING TR("Gas Alarm", INDENT "Gas Alarm")
+#define TR_SWITCHWARNING TR("Sch. Alarm", INDENT "Schalter Alarm")
+#define TR_POTWARNING TR("Pot Warn.", INDENT "Poti Warnung")
#define TR_TIMEZONE TR("Zeitzone","GPS Zeit Zone")
#define TR_RXCHANNELORD TR("Kanalanordnung","Kanalvoreinstellung")
#define TR_SLAVE "Schüler PPM1-8 als Ausgang"
@@ -717,7 +718,8 @@
#define TR_LOWALARM INDENT "Low Alarm"
#define TR_CRITICALALARM INDENT "Kritisch Alarm"
#define TR_PERSISTENT_MAH INDENT "Speichern mAh"
-#define TR_CHECKLIST "Display Checklist"
+#define TR_PREFLIGHT "Preflight Checks"
+#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial Port"
diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt
index e99c62650..8c7b85a81 100644
--- a/radio/src/translations/en.h.txt
+++ b/radio/src/translations/en.h.txt
@@ -168,7 +168,7 @@
#endif
#if defined(CPUARM)
- #define TR_CSWEQUAL "a=x\0 "
+ #define TR_CSWEQUAL "a=x\0 "
#else
#define TR_CSWEQUAL
#endif
@@ -319,8 +319,8 @@
#define LEN_VTELPROTO "\007"
#define TR_VTELPROTO "None\0 ""Hub\0 ""WSHHigh"
-#define LEN_VOLTSRC "\003"
-#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel"
+#define LEN_VOLTSRC TR("\003", "\007")
+#define TR_VOLTSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Cells\0 ")
#define LEN_VARIOSRC "\004"
#if defined(FRSKY_SPORT)
@@ -333,7 +333,7 @@
#define TR_VSCREEN "Nums""Bars"
#define LEN_GPSFORMAT "\004"
-#define TR_GPSFORMAT "HMS NMEA"
+#define TR_GPSFORMAT "HMS ""NMEA"
#define LEN2_VTEMPLATES 13
#define LEN_VTEMPLATES "\015"
@@ -455,8 +455,8 @@
#define TR_ELIMITS TR("E.Limits", "Extended Limits")
#define TR_ETRIMS TR("E.Trims", "Extended Trims")
#define TR_TRIMINC "Trim Step"
-#define TR_TTRACE TR("T-Source", "Throttle Source")
-#define TR_TTRIM TR("T-Trim", "Throttle Trim")
+#define TR_TTRACE TR("T-Source", INDENT "Timer Source")
+#define TR_TTRIM TR("T-Trim", INDENT "Trim Idle Only")
#define TR_BEEPCTR TR("Ctr Beep", "Center Beep")
#define TR_PROTO TR(INDENT "Proto", INDENT "Protocol")
#define TR_PPMFRAME TR("PPM frame", INDENT "PPM frame")
@@ -474,17 +474,17 @@
#define TR_ELEDIRECTION TR("ELE Direction","Long. cyc. direction")
#define TR_AILDIRECTION TR("AIL Direction","Lateral cyc. direction")
#define TR_COLDIRECTION TR("PIT Direction","Coll. pitch direction")
-#define TR_MODE INDENT"Mode"
+#define TR_MODE INDENT "Mode"
#define TR_NOFREEEXPO "No free expo!"
#define TR_NOFREEMIXER "No free mixer!"
#define TR_INSERTMIX "INSERT MIX "
#define TR_EDITMIX "EDIT MIX "
-#define TR_SOURCE INDENT"Source"
+#define TR_SOURCE INDENT "Source"
#define TR_WEIGHT "Weight"
#define TR_EXPO TR("Expo","Exponential")
#define TR_SIDE "Side"
#define TR_DIFFERENTIAL "Differ"
-#define TR_OFFSET INDENT"Offset"
+#define TR_OFFSET INDENT "Offset"
#define TR_TRIM "Trim"
#define TR_DREX "DRex"
#define TR_CURVE "Curve"
@@ -500,37 +500,38 @@
#define TR_CV "CV"
#define TR_GV "GV"
#define TR_ACHANNEL "A\004channel"
-#define TR_RANGE INDENT"Range"
+#define TR_RANGE INDENT "Range"
#define TR_BAR "Bar"
-#define TR_ALARM INDENT"Alarm"
+#define TR_ALARM INDENT "Alarm"
#define TR_USRDATA "UsrData"
-#define TR_BLADES INDENT"Blades"
+#define TR_BLADES INDENT "Blades"
#define TR_SCREEN "Screen "
#define TR_SOUND_LABEL "Sound"
-#define TR_LENGTH INDENT"Length"
-#define TR_SPKRPITCH INDENT"Pitch"
+#define TR_LENGTH INDENT "Length"
+#define TR_SPKRPITCH INDENT "Pitch"
#define TR_HAPTIC_LABEL "Haptic"
-#define TR_HAPTICSTRENGTH INDENT"Strength"
+#define TR_HAPTICSTRENGTH INDENT "Strength"
#define TR_CONTRAST "Contrast"
#define TR_ALARMS_LABEL "Alarms"
#define TR_BATTERY_RANGE TR("Battery range","Battery meter range")
-#define TR_BATTERYWARNING INDENT"Battery Low"
-#define TR_INACTIVITYALARM INDENT"Inactivity"
-#define TR_MEMORYWARNING INDENT"Memory Low"
-#define TR_ALARMWARNING INDENT"Sound Off"
+#define TR_BATTERYWARNING INDENT "Battery Low"
+#define TR_INACTIVITYALARM INDENT "Inactivity"
+#define TR_MEMORYWARNING INDENT "Memory Low"
+#define TR_ALARMWARNING INDENT "Sound Off"
#define TR_RENAVIG "RotEnc Navig"
-#define TR_THROTTLEREVERSE TR("T-Reverse", "Throttle reverse")
-#define TR_MINUTEBEEP TR(INDENT"Minute",INDENT"Minute call")
-#define TR_BEEPCOUNTDOWN INDENT"Countdown"
-#define TR_PERSISTENT TR(INDENT"Persist.",INDENT"Persistent")
+#define TR_THROTTLE_LABEL "Throttle"
+#define TR_THROTTLEREVERSE TR("T-Reverse", INDENT "Reverse")
+#define TR_MINUTEBEEP TR(INDENT "Minute",INDENT "Minute call")
+#define TR_BEEPCOUNTDOWN INDENT "Countdown"
+#define TR_PERSISTENT TR(INDENT "Persist.",INDENT "Persistent")
#define TR_BACKLIGHT_LABEL "Backlight"
-#define TR_BLDELAY INDENT"Duration"
-#define TR_BLONBRIGHTNESS INDENT"ON Brightness"
-#define TR_BLOFFBRIGHTNESS INDENT"OFF Brightness"
+#define TR_BLDELAY INDENT "Duration"
+#define TR_BLONBRIGHTNESS INDENT "ON Brightness"
+#define TR_BLOFFBRIGHTNESS INDENT "OFF Brightness"
#define TR_SPLASHSCREEN "Splash screen"
-#define TR_THROTTLEWARNING TR("T-Warning","Throttle Warning")
-#define TR_SWITCHWARNING TR("S-Warning","Switch Warning")
-#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
+#define TR_THROTTLEWARNING TR("T-Warning", INDENT "Throttle State")
+#define TR_SWITCHWARNING TR("S-Warning", INDENT "Switch Positions")
+#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Positions")
#define TR_TIMEZONE TR("Time Zone","GPS Time zone")
#define TR_RXCHANNELORD TR("Rx Channel Ord","Default channel order")
#define TR_SLAVE "Slave"
@@ -610,9 +611,9 @@
#define TR_MENUTEMPLATES "TEMPLATES"
#define TR_MENUSTAT "STATS"
#define TR_MENUDEBUG "DEBUG"
-#define TR_RXNUM TR("RxNum", INDENT"Receiver No.")
+#define TR_RXNUM TR("RxNum", INDENT "Receiver No.")
#define TR_SYNCMENU "[Sync]"
-#define TR_LIMIT INDENT"Limit"
+#define TR_LIMIT INDENT "Limit"
#define TR_MINRSSI "Min Rssi"
#define TR_LATITUDE "Latitude"
#define TR_LONGITUDE "Longitude"
@@ -621,8 +622,8 @@
#define TR_SHUTDOWN "SHUTTING DOWN"
#define TR_BATT_CALIB "Battery Calib"
#define TR_CURRENT_CALIB "Current Calib"
-#define TR_VOLTAGE INDENT"Voltage"
-#define TR_CURRENT INDENT"Current"
+#define TR_VOLTAGE INDENT "Voltage"
+#define TR_CURRENT INDENT "Current"
#define TR_SELECT_MODEL "Select Model"
#define TR_CREATE_MODEL "Create Model"
#define TR_COPY_MODEL "Copy Model"
@@ -710,8 +711,8 @@
#define TR_ABOUT_US "About"
#define TR_AND_SWITCH "AND Switch"
#define TR_CF "CF"
-#define TR_SPEAKER INDENT"Speaker"
-#define TR_BUZZER INDENT"Buzzer"
+#define TR_SPEAKER INDENT "Speaker"
+#define TR_BUZZER INDENT "Buzzer"
#define TR_BYTES "bytes"
#define TR_MODULE_BIND "[Bind]"
#define TR_MODULE_RANGE "[Range]"
@@ -725,7 +726,8 @@
#define TR_LOWALARM INDENT "Low Alarm"
#define TR_CRITICALALARM INDENT "Critical Alarm"
#define TR_PERSISTENT_MAH INDENT "Store mAh"
-#define TR_CHECKLIST "Display Checklist"
+#define TR_PREFLIGHT "Preflight Checks"
+#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial port"
@@ -807,11 +809,11 @@
#define TR_ABOUT_PARENTS_3 "ER9X (Erez Raviv)"
#define TR_ABOUT_PARENTS_4 "TH9X (Thomas Husterer)"
-#define TR_CHR_SHORT 's'
-#define TR_CHR_LONG 'l'
-#define TR_CHR_TOGGLE 't'
-#define TR_CHR_HOUR 'h'
-#define TR_CHR_INPUT 'I' // Values between A-I will work
+#define TR_CHR_SHORT 's'
+#define TR_CHR_LONG 'l'
+#define TR_CHR_TOGGLE 't'
+#define TR_CHR_HOUR 'h'
+#define TR_CHR_INPUT 'I' // Values between A-I will work
#define TR_BEEP_VOLUME "Beep Volume"
#define TR_WAV_VOLUME "Wav Volume"
diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt
index d0a5630cc..a54fd03f8 100644
--- a/radio/src/translations/es.h.txt
+++ b/radio/src/translations/es.h.txt
@@ -72,7 +72,7 @@
#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 "
#define LEN_POTTYPES "\017"
-#define TR_POTTYPES "Pot\0 ""Multipos Switch"
+#define TR_POTTYPES "None\0 ""Pot\0 ""Multipos Switch"
#define LEN_DATETIME "\005"
#define TR_DATETIME "DATA:""HORA:"
@@ -445,8 +445,8 @@
#define TR_ELIMITS TR("E.Limite","Ampliar Limites")
#define TR_ETRIMS TR("E.Trims","Ampliar Trims")
#define TR_TRIMINC "Paso Trim"
-#define TR_TTRACE TR("Fuente-A","Fuente Acelerad")
-#define TR_TTRIM TR("Trim-A","Trim Acelerad")
+#define TR_TTRACE TR("Fuente-A", INDENT "Fuente Acelerad")
+#define TR_TTRIM TR("Trim-A", INDENT "Trim Acelerad")
#define TR_BEEPCTR TR("Ctr Beep","Center Beep")
#define TR_PROTO TR(INDENT"Proto",INDENT"Protocol")
#define TR_PPMFRAME "Trama PPM"
@@ -509,7 +509,8 @@
#define TR_MEMORYWARNING INDENT"Memoria Baja"
#define TR_ALARMWARNING INDENT"Sin Sonido"
#define TR_RENAVIG "RotEnc Navig"
-#define TR_THROTTLEREVERSE TR("Invert_Acel", "Invertir Acel.")
+#define TR_THROTTLE_LABEL "Throttle"
+#define TR_THROTTLEREVERSE TR("Invert_Acel", INDENT "Invertir Acel.")
#define TR_MINUTEBEEP TR(INDENT"Minuto",INDENT"Cada Minuto")
#define TR_BEEPCOUNTDOWN INDENT"Cuentaatras"
#define TR_PERSISTENT TR(INDENT"Persist.",INDENT"Persistente")
@@ -518,9 +519,9 @@
#define TR_BLONBRIGHTNESS INDENT"MAS Brillo"
#define TR_BLOFFBRIGHTNESS INDENT"MENOS Brillo"
#define TR_SPLASHSCREEN "Ptalla.inicio"
-#define TR_THROTTLEWARNING TR("Aviso-A", "Aviso Acelerador")
-#define TR_SWITCHWARNING TR("Aviso-I", "Aviso Intrptor")
-#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
+#define TR_THROTTLEWARNING TR("Aviso-A", INDENT "Aviso Acelerador")
+#define TR_SWITCHWARNING TR("Aviso-I", INDENT "Aviso Intrptor")
+#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Warning")
#define TR_TIMEZONE TR("Zona Hora", "GPS Zona Hora")
#define TR_RXCHANNELORD TR("Rx Orden canal", "Orden habitual canales")
#define TR_SLAVE "Esclavo"
@@ -715,7 +716,8 @@
#define TR_LOWALARM INDENT "Alarma baja"
#define TR_CRITICALALARM INDENT "Alarma Critica"
#define TR_PERSISTENT_MAH INDENT "Valor mAh"
-#define TR_CHECKLIST "Display Checklist"
+#define TR_PREFLIGHT "Preflight Checks"
+#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial port"
diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt
index fca9d388e..53543c3bc 100644
--- a/radio/src/translations/fi.h.txt
+++ b/radio/src/translations/fi.h.txt
@@ -42,16 +42,16 @@
// NON ZERO TERMINATED STRINGS
#define LEN_OFFON "\003"
-#define TR_OFFON "OFF""ON\0"
+#define TR_OFFON "POI""PÄÄ"
#define LEN_MMMINV "\003"
-#define TR_MMMINV "---""INV"
+#define TR_MMMINV "---""KÄÄ"
#define LEN_NCHANNELS "\004"
#define TR_NCHANNELS "\0014CH\0016CH\0018CH10CH12CH14CH16CH"
#define LEN_VBEEPMODE "\005"
-#define TR_VBEEPMODE "Quiet""Alarm""NoKey""All "
+#define TR_VBEEPMODE "Äänet""Hälyt""EiNap""Kaikk"
#define LEN_VBEEPLEN "\005"
#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0"
@@ -69,22 +69,22 @@
#define TR_TRNCHN "CH1CH2CH3CH4"
#define LEN_UART3MODES "\017"
-#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 "
+#define TR_UART3MODES "POIS\0 ""S-Port Pelik\0 ""Debug\0 "
#define LEN_POTTYPES "\017"
-#define TR_POTTYPES "Pot\0 ""Multipos Switch"
+#define TR_POTTYPES "None\0 ""Potikka\0 ""Monias. Kytkin\0"
#define LEN_DATETIME "\005"
-#define TR_DATETIME "DATE:""TIME:"
+#define TR_DATETIME "PÄIV:""AIKA:"
#define LEN_VLCD "\006"
#define TR_VLCD "NormalOptrex"
#define LEN_COUNTRYCODES TR("\002", "\007")
-#define TR_COUNTRYCODES TR("US""JP""EU", "America""Japan\0 ""Europe\0")
+#define TR_COUNTRYCODES TR("US""JP""EU", "Amerikk""Japani\0""Euroopp")
#define LEN_VTRIMINC TR("\006", "\013")
-#define TR_VTRIMINC TR("Expo\0 ""ExFine""Fine\0 ""Medium""Coarse", "Exponential""Extra Fine\0""Fine\0 ""Medium\0 ""Coarse\0 ")
+#define TR_VTRIMINC TR("Expo\0 ""EriHie""Hieno\0""Keski\0""Karkea", "Exponential""Eri Hieno\0 ""Hieno\0 ""Keski\0 ""Karkea\0 ")
#define LEN_VBEEPCOUNTDOWN "\006"
#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voice\0"
@@ -445,8 +445,8 @@
#define TR_ELIMITS TR("E.Limits", "Extended Limits")
#define TR_ETRIMS TR("E.Trims", "Extended Trims")
#define TR_TRIMINC "Trim Step"
-#define TR_TTRACE TR("T-Source", "Throttle Source")
-#define TR_TTRIM TR("T-Trim", "Throttle Trim")
+#define TR_TTRACE TR("T-Source", INDENT "Throttle Source")
+#define TR_TTRIM TR("T-Trim", INDENT "Throttle Trim")
#define TR_BEEPCTR TR("Ctr Beep", "Center Beep")
#define TR_PROTO TR(INDENT "Proto", INDENT "Protocol")
#define TR_PPMFRAME TR("PPM frame", INDENT "PPM frame")
@@ -509,7 +509,8 @@
#define TR_MEMORYWARNING INDENT"Memory Low"
#define TR_ALARMWARNING INDENT"Sound Off"
#define TR_RENAVIG "RotEnc Navig"
-#define TR_THROTTLEREVERSE TR("T-Reverse", "Throttle reverse")
+#define TR_THROTTLE_LABEL "Throttle"
+#define TR_THROTTLEREVERSE TR("T-Reverse", INDENT "Throttle reverse")
#define TR_MINUTEBEEP TR(INDENT"Minute",INDENT"Minute call")
#define TR_BEEPCOUNTDOWN INDENT"Countdown"
#define TR_PERSISTENT TR(INDENT"Persist.",INDENT"Persistent")
@@ -518,9 +519,9 @@
#define TR_BLONBRIGHTNESS INDENT"ON Brightness"
#define TR_BLOFFBRIGHTNESS INDENT"OFF Brightness"
#define TR_SPLASHSCREEN "Splash screen"
-#define TR_THROTTLEWARNING TR("T-Warning","Throttle Warning")
-#define TR_SWITCHWARNING TR("S-Warning","Switch Warning")
-#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
+#define TR_THROTTLEWARNING TR("T-Warning", INDENT "Throttle Warning")
+#define TR_SWITCHWARNING TR("S-Warning", INDENT "Switch Warning")
+#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Warning")
#define TR_TIMEZONE TR("Time Zone","GPS Time zone")
#define TR_RXCHANNELORD TR("Rx Channel Ord","Default channel order")
#define TR_SLAVE "Slave"
@@ -715,7 +716,8 @@
#define TR_LOWALARM INDENT "Low Alarm"
#define TR_CRITICALALARM INDENT "Critical Alarm"
#define TR_PERSISTENT_MAH INDENT "Store mAh"
-#define TR_CHECKLIST "Display Checklist"
+#define TR_PREFLIGHT "Preflight Checks"
+#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial port"
@@ -797,18 +799,18 @@
#define TR_ABOUT_PARENTS_3 "ER9X (Erez Raviv)"
#define TR_ABOUT_PARENTS_4 "TH9X (Thomas Husterer)"
-#define TR_CHR_SHORT 's'
-#define TR_CHR_LONG 'l'
-#define TR_CHR_TOGGLE 't'
-#define TR_CHR_HOUR 'h'
-#define TR_CHR_INPUT 'I' // Values between A-I will work
+#define TR_CHR_SHORT 's'
+#define TR_CHR_LONG 'l'
+#define TR_CHR_TOGGLE 't'
+#define TR_CHR_HOUR 'h'
+#define TR_CHR_INPUT 'I' // Values between A-I will work
-#define TR_BEEP_VOLUME "Beep Volume"
-#define TR_WAV_VOLUME "Wav Volume"
-#define TR_VARIO_VOLUME "Vario Volume"
-#define TR_BG_VOLUME "Bg Volume"
+#define TR_BEEP_VOLUME "Piip Voim"
+#define TR_WAV_VOLUME "Wav Voim"
+#define TR_VARIO_VOLUME "Variom Voim"
+#define TR_BG_VOLUME "Tausta Voim"
-#define TR_TOP_BAR "Top Bar"
-#define TR_ALTITUDE INDENT "Altitude"
-#define TR_MODS_FORBIDDEN "Modifications forbidden!"
-#define TR_UNLOCKED "Unlocked"
+#define TR_TOP_BAR "Ylä palkki"
+#define TR_ALTITUDE INDENT "Korkeus"
+#define TR_MODS_FORBIDDEN "Muutokset kielletty!"
+#define TR_UNLOCKED "Avattu"
diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt
index d1762df32..64c9e8225 100644
--- a/radio/src/translations/fr.h.txt
+++ b/radio/src/translations/fr.h.txt
@@ -1,10 +1,7 @@
/*
* Authors (alphabetical order)
+ * - Andre Bernet
* - Bertrand Songis
- * - Bernet Andre
- * - Kjell Kernen
- * - Martin Hotar
- * - Romolo Manfredini
*
* opentx is based on code named
* gruvin9x by Bryan J. Rentoul: http://code.google.com/p/gruvin9x/,
@@ -39,90 +36,90 @@
* \001 to \035 -extended spacing (value * FW/2)
* \0 -ends actual string
*/
-
+
// NON ZERO TERMINATED STRINGS
-#define LEN_OFFON "\003"
-#define TR_OFFON "OFF""ON\0"
+#define LEN_OFFON "\003"
+#define TR_OFFON "OFF""ON\0"
-#define LEN_MMMINV "\003"
-#define TR_MMMINV "---""INV"
+#define LEN_MMMINV "\003"
+#define TR_MMMINV "---""INV"
-#define LEN_NCHANNELS "\004"
-#define TR_NCHANNELS "\0014CH\0016CH\0018CH10CH12CH14CH16CH"
+#define LEN_NCHANNELS "\004"
+#define TR_NCHANNELS "\0014CH\0016CH\0018CH10CH12CH14CH16CH"
-#define LEN_VBEEPMODE "\005"
-#define TR_VBEEPMODE "Aucun""Alarm""NoKey""Tout\0"
+#define LEN_VBEEPMODE "\005"
+#define TR_VBEEPMODE "Aucun""Alarm""NoKey""Tout\0"
-#define LEN_VBEEPLEN "\005"
-#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0"
+#define LEN_VBEEPLEN "\005"
+#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0"
-#define LEN_VRENAVIG "\003"
-#define TR_VRENAVIG "NonREaREb"
+#define LEN_VRENAVIG "\003"
+#define TR_VRENAVIG "NonREaREb"
-#define LEN_VBLMODE TR("\004","\011")
-#define TR_VBLMODE TR("OFF\0""Btns""Ctrl""Tous""ON\0","OFF\0 ""Touches\0 ""Controles""Tous\0 ""ON\0 ")
+#define LEN_VBLMODE TR("\004","\011")
+#define TR_VBLMODE TR("OFF\0""Btns""Ctrl""Tous""ON\0","OFF\0 ""Touches\0 ""Controles""Tous\0 ""ON\0 ")
-#define LEN_TRNMODE "\003"
-#define TR_TRNMODE "OFF"" +="" :="
+#define LEN_TRNMODE "\003"
+#define TR_TRNMODE "OFF"" +="" :="
-#define LEN_TRNCHN "\003"
-#define TR_TRNCHN "CH1CH2CH3CH4"
+#define LEN_TRNCHN "\003"
+#define TR_TRNCHN "CH1CH2CH3CH4"
-#define LEN_UART3MODES "\017"
-#define TR_UART3MODES "OFF\0 ""Recopie S-Port\0""Debug\0 "
+#define LEN_UART3MODES "\017"
+#define TR_UART3MODES "OFF\0 ""Recopie S-Port\0""Debug\0 "
-#define LEN_POTTYPES "\017"
-#define TR_POTTYPES "Potentiomètre\0 ""Inter multi-pos"
+#define LEN_POTTYPES "\017"
+#define TR_POTTYPES "Rien\0 ""Potentiomètre\0 ""Inter multi-pos"
-#define LEN_DATETIME "\005"
-#define TR_DATETIME "DATE:""HEURE"
+#define LEN_DATETIME "\005"
+#define TR_DATETIME "DATE:""HEURE"
-#define LEN_VLCD "\006"
-#define TR_VLCD "NormalOptrex"
+#define LEN_VLCD "\006"
+#define TR_VLCD "NormalOptrex"
-#define LEN_COUNTRYCODES TR("\002", "\006")
-#define TR_COUNTRYCODES TR("US""JP""EU", "USA\0 ""Japon\0""Europe")
+#define LEN_COUNTRYCODES TR("\002", "\006")
+#define TR_COUNTRYCODES TR("US""JP""EU", "USA\0 ""Japon\0""Europe")
-#define LEN_VTRIMINC TR("\006","\013")
-#define TR_VTRIMINC TR("Expo\0 ""ExFin\0""Fin\0 ""Moyen\0""Gros\0 ","Exponentiel""Extra Fin\0 ""Fin\0 ""Moyen\0 ""Grossier\0 ")
+#define LEN_VTRIMINC TR("\006","\013")
+#define TR_VTRIMINC TR("Expo\0 ""ExFin\0""Fin\0 ""Moyen\0""Gros\0 ","Exponentiel""Extra Fin\0 ""Fin\0 ""Moyen\0 ""Grossier\0 ")
-#define LEN_VBEEPCOUNTDOWN "\006"
-#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voice\0"
+#define LEN_VBEEPCOUNTDOWN "\007"
+#define TR_VBEEPCOUNTDOWN "Silence""Bips\0 ""Voix\0 "
-#define LEN_RETA123 "\001"
+#define LEN_RETA123 "\001"
#if defined(PCBGRUVIN9X)
#if ROTARY_ENCODERS > 2
- #define TR_RETA123 "DPGA123abcd"
+ #define TR_RETA123 "DPGA123abcd"
#else
- #define TR_RETA123 "DPGA123ab"
+ #define TR_RETA123 "DPGA123ab"
#endif
#elif defined(PCBTARANIS)
- #define TR_RETA123 "DPGA12LR"
-#else
- #define TR_RETA123 "DPGA123"
+ #define TR_RETA123 "DPGA12LR"
+#else
+ #define TR_RETA123 "DPGA123"
#endif
-#define LEN_VPROTOS "\006"
+#define LEN_VPROTOS "\006"
#if defined(PXX)
- #define TR_PXX "PXX\0 "
+ #define TR_PXX "PXX\0 "
#elif defined(DSM2) || defined(IRPROTOS)
- #define TR_PXX "[PXX]\0"
+ #define TR_PXX "[PXX]\0"
#else
#define TR_PXX
#endif
#if defined(DSM2)
- #define TR_DSM2 "LP45\0 ""DSM2\0 ""DSMX\0 "
+ #define TR_DSM2 "LP45\0 ""DSM2\0 ""DSMX\0 "
#elif defined(IRPROTOS)
- #define TR_DSM2 "[LP45]""[DSM2]""[DSMX]"
+ #define TR_DSM2 "[LP45]""[DSM2]""[DSMX]"
#else
#define TR_DSM2
#endif
#if defined(IRPROTOS)
- #define TR_IRPROTOS "SILV TRAC09PICZ SWIFT\0"
+ #define TR_IRPROTOS "SILV TRAC09PICZ SWIFT\0"
#else
#define TR_IRPROTOS
#endif
@@ -130,29 +127,29 @@
#if defined(CPUARM)
#define TR_XPPM
#else
- #define TR_XPPM "PPM16\0""PPMsim"
+ #define TR_XPPM "PPM16\0""PPMsim"
#endif
-#define TR_VPROTOS "PPM\0 " TR_XPPM TR_PXX TR_DSM2 TR_IRPROTOS
+#define TR_VPROTOS "PPM\0 " TR_XPPM TR_PXX TR_DSM2 TR_IRPROTOS
-#define LEN_POSNEG "\003"
-#define TR_POSNEG "POS""NEG"
+#define LEN_POSNEG "\003"
+#define TR_POSNEG "POS""NEG"
-#define LEN_VCURVEFUNC "\003"
-#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
+#define LEN_VCURVEFUNC "\003"
+#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
-#define LEN_VMLTPX TR("\010","\013")
-#define TR_VMLTPX TR("Ajoute\0 ""Multipl.""Remplace","Additionner""Multiplier\0""Remplacer\0 ")
+#define LEN_VMLTPX TR("\010", "\013")
+#define TR_VMLTPX TR("Ajoute\0 ""Multipl.""Remplace","Additionner""Multiplier\0""Remplacer\0 ")
-#define LEN_VMLTPX2 "\002"
-#define TR_VMLTPX2 "+=""*="":="
+#define LEN_VMLTPX2 "\002"
+#define TR_VMLTPX2 "+=""*="":="
-#define LEN_VMIXTRIMS "\003"
-#define TR_VMIXTRIMS "OFF""ON\0""Dir""Prf""Gaz""Ail"
+#define LEN_VMIXTRIMS "\003"
+#define TR_VMIXTRIMS "OFF""ON\0""Dir""Prf""Gaz""Ail"
#if defined(PCBTARANIS)
#define TR_CSWTIMER "Tempo"
- #define TR_CSWSTICKY "Bist."
+ #define TR_CSWSTICKY "Bistb"
#define TR_CSWRANGE "Plage"
#define TR_CSWSTAY "Flanc"
#else
@@ -168,86 +165,88 @@
#endif
#if defined(CPUARM)
- #define TR_CSWEQUAL "a=x\0 "
+ #define TR_CSWEQUAL "a=x\0 "
#else
#define TR_CSWEQUAL
#endif
-#define LEN_VCSWFUNC "\005"
+#define LEN_VCSWFUNC "\005"
#if defined(CPUARM)
-#define TR_VCSWFUNC "---\0 " TR_CSWEQUAL "a{x\0 ""a>x\0 ""ax""|a|b\0 ""ax\0 ""ax""|a|b\0 ""ax\0 ""ax""|a|b\0 ""ax\0 ""ax""|a|b\0 ""a"
+#define LEN_VALARMFN "\001"
+#define TR_VALARMFN "<>"
-#define LEN_VTELPROTO "\007"
-#define TR_VTELPROTO "Aucun ""Hub\0 ""WSHHigh""Halcyon"
+#define LEN_VTELPROTO "\007"
+#define TR_VTELPROTO "Aucun ""Hub\0 ""WSHHigh""Halcyon"
-#define LEN_VOLTSRC "\003"
-#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel"
+#define LEN_VOLTSRC "\003"
+#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel"
-#define LEN_VARIOSRC "\005"
+#define LEN_VARIOSRC "\005"
#if defined(FRSKY_SPORT)
- #define TR_VARIOSRC "Vario""A1\0 ""A2\0"
+ #define TR_VARIOSRC "Vario""A1\0 ""A2\0""dTE\0"
#else
#define TR_VARIOSRC "Alti\0""Alti+""Vario""A1\0 ""A2\0"
#endif
-#define LEN_VSCREEN TR("\004","\007")
-#define TR_VSCREEN TR("Val.""Bars","Valeurs""Barres\0")
+#define LEN_VSCREEN TR("\004", "\007")
+#define TR_VSCREEN TR("Val.""Bars", "Valeurs""Barres\0")
-#define LEN_GPSFORMAT "\004"
-#define TR_GPSFORMAT "DMS\0NMEA"
+#define LEN_GPSFORMAT "\004"
+#define TR_GPSFORMAT "DMS\0""NMEA"
-#define LEN2_VTEMPLATES 15
-#define LEN_VTEMPLATES "\017"
-#define TR_VTEMPLATES "Suppr Mixages\0 ""4 Voies simple\0""Coupure Gaz\0 ""Empennage V\0 ""Elevon\\Delta\0 ""eCCPM\0 ""Conf. Hélico\0 ""Test Servo\0 "
+#define LEN2_VTEMPLATES 15
+#define LEN_VTEMPLATES "\017"
+#define TR_VTEMPLATES "Suppr Mixages\0 ""4 Voies simple\0""Coupure Gaz\0 ""Empennage V\0 ""Elevon\\Delta\0 ""eCCPM\0 ""Conf. Hélico\0 ""Test Servo\0 "
-#define LEN_VSWASHTYPE "\004"
-#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0"
+#define LEN_VSWASHTYPE "\004"
+#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0"
-#define LEN_VKEYS "\005"
-#define TR_VKEYS TR("Menu\0""Exit\0""Bas\0 ""Haut\0""Droit""Gauch", "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus")
+#define LEN_VKEYS "\005"
+#define TR_VKEYS TR("Menu\0""Exit\0""Bas\0 ""Haut\0""Droit""Gauch", "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus")
-#define LEN_VRENCODERS "\003"
-#define TR_VRENCODERS "REa""REb"
+#define LEN_VRENCODERS "\003"
+#define TR_VRENCODERS "REa""REb"
-#define LEN_VSWITCHES "\003"
-#define LEN_VSRCRAW "\004"
+#define LEN_VSWITCHES "\003"
+#define LEN_VSRCRAW "\004"
#if defined(PCBTARANIS)
#define TR_POTS_VSRCRAW "S1\0 ""S2\0 ""S3\0 ""LS\0 ""RS\0 "
@@ -355,11 +362,11 @@
#endif
#if defined(CPUARM)
- #define TR_LOGICALSW "IL1""IL2""IL3""IL4""IL5""IL6""IL7""IL8""IL9""ILA""ILB""ILC""ILD""ILE""ILF""ILG""ILH""ILI""ILJ""ILK""ILL""ILM""ILN""ILO""ILP""ILQ""ILR""ILS""ILT""ILU""ILV""ILW"
+ #define TR_LOGICALSW "IL1""IL2""IL3""IL4""IL5""IL6""IL7""IL8""IL9""ILA""ILB""ILC""ILD""ILE""ILF""ILG""ILH""ILI""ILJ""ILK""ILL""ILM""ILN""ILO""ILP""ILQ""ILR""ILS""ILT""ILU""ILV""ILW"
#elif defined(PCBGRUVIN9X) || defined(CPUM2561) || defined(CPUM128)
- #define TR_LOGICALSW "IL1""IL2""IL3""IL4""IL5""IL6""IL7""IL8""IL9""ILA""ILB""ILC""ILD""ILE""ILF"
+ #define TR_LOGICALSW "IL1""IL2""IL3""IL4""IL5""IL6""IL7""IL8""IL9""ILA""ILB""ILC""ILD""ILE""ILF"
#else
- #define TR_LOGICALSW "IL1""IL2""IL3""IL4""IL5""IL6""IL7""IL8""IL9""ILA""ILB""ILC"
+ #define TR_LOGICALSW "IL1""IL2""IL3""IL4""IL5""IL6""IL7""IL8""IL9""ILA""ILB""ILC"
#endif
#define TR_TRIMS_SWITCHES "tDg""tDd""tPb""tPh""tGb""tGh""tAg""tAd"
@@ -385,21 +392,21 @@
#endif
#if defined(HELI)
-#define TR_CYC_VSRCRAW "CYC1""CYC2""CYC3"
+ #define TR_CYC_VSRCRAW "CYC1""CYC2""CYC3"
#else
-#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
+ #define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
#endif
-#define TR_VSRCRAW "---\0""Dir\0""Prf\0""Gaz\0""Ail\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW "TrmD" "TrmP" "TrmG" "TrmA" TR_SW_VSRCRAW
+#define TR_VSRCRAW "---\0""Dir\0""Prf\0""Gaz\0""Ail\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW "TrmD" "TrmP" "TrmG" "TrmA" TR_SW_VSRCRAW
-#define LEN_VTMRMODES "\003"
-#define TR_VTMRMODES "OFF""ABS""GZs""GZ%""GZt"
+#define LEN_VTMRMODES "\003"
+#define TR_VTMRMODES "OFF""ABS""GZs""GZ%""GZt"
#define LEN_VTRAINERMODES "\006"
#define TR_VTRAINERMODES "Maître""Elève\0"
-#define LEN_VFAILSAFE "\011"
-#define TR_VFAILSAFE "Maintien\0""Prédéfini""Pas d'imp"
+#define LEN_VFAILSAFE "\011"
+#define TR_VFAILSAFE "Maintien\0""Prédéfini""Pas d'imp"
#if defined(MAVLINK)
#define LEN_MAVLINK_BAUDS "\006"
@@ -434,7 +441,7 @@
#define TR_MODELNAME TR("Nom modèle","Nom du modèle")
#define TR_PHASENAME "Nom phase"
#define TR_MIXNAME TR("Nom mix.","Nom du mixeur")
-#define TR_INPUTNAME "Input Name"
+#define TR_INPUTNAME "Nom entrée"
#if defined(PCBTARANIS)
#define TR_EXPONAME "Nom ligne"
#else
@@ -442,43 +449,43 @@
#endif
#define TR_BITMAP "Image du modèle"
#define TR_TIMER "Chrono "
-#define TR_ELIMITS TR("Limites ét","Limites étendues")
-#define TR_ETRIMS TR("Trims ét.","Trims étendus")
-#define TR_TRIMINC TR("Pas Trim","Pas des trims")
-#define TR_TTRACE "Source gaz"
-#define TR_TTRIM "Trim gaz"
-#define TR_BEEPCTR TR("Bips centr","Bips centrage")
-#define TR_PROTO TR(INDENT"Proto.",INDENT"Protocole")
-#define TR_PPMFRAME INDENT"Trame PPM"
+#define TR_ELIMITS TR("Limites ét", "Limites étendues")
+#define TR_ETRIMS TR("Trims ét.", "Trims étendus")
+#define TR_TRIMINC TR("Pas Trim", "Pas des trims")
+#define TR_TTRACE TR("Source gaz", INDENT "Source gaz")
+#define TR_TTRIM TR("Trim gaz", INDENT "Trim ralenti")
+#define TR_BEEPCTR TR("Bips centr", "Bips centrage")
+#define TR_PROTO TR(INDENT "Proto.", INDENT "Protocole")
+#define TR_PPMFRAME INDENT "Trame PPM"
#define TR_MS "ms"
-#define TR_SWITCH TR("Inter","Interrupteur")
+#define TR_SWITCH TR("Inter", "Interrupteur")
#define TR_TRIMS "Trims"
#define TR_FADEIN "Fondu ON"
#define TR_FADEOUT "Fondu OFF"
#define TR_DEFAULT "(défaut)"
#define TR_CHECKTRIMS "\006Vérif\012Trims"
#define OFS_CHECKTRIMS (9*FW)
-#define TR_SWASHTYPE TR("Type de Plat.","Type de plateau")
-#define TR_COLLECTIVE TR("Collectif","Voie du pas collectif")
-#define TR_SWASHRING TR("Limite Cycl.","Limite du cyclique")
-#define TR_ELEDIRECTION TR("Inv. longitud.","Inversion longitudinal")
-#define TR_AILDIRECTION TR("Inv. latéral","Inversion latéral")
-#define TR_COLDIRECTION TR("Inv. collectif","Inversion collectif")
-#define TR_MODE INDENT"Mode"
+#define TR_SWASHTYPE TR("Type de Plat.", "Type de plateau")
+#define TR_COLLECTIVE TR("Collectif", "Voie du pas collectif")
+#define TR_SWASHRING TR("Limite Cycl.", "Limite du cyclique")
+#define TR_ELEDIRECTION TR("Inv. longitud.", "Inversion longitudinal")
+#define TR_AILDIRECTION TR("Inv. latéral", "Inversion latéral")
+#define TR_COLDIRECTION TR("Inv. collectif", "Inversion collectif")
+#define TR_MODE INDENT "Mode"
#define TR_NOFREEEXPO "Max expos atteint!"
#define TR_NOFREEMIXER "Max mixages atteint!"
#define TR_INSERTMIX "INSERER MIXAGE"
#define TR_EDITMIX "EDITER MIXAGE"
-#define TR_SOURCE INDENT"Source"
+#define TR_SOURCE INDENT "Source"
#define TR_WEIGHT "Ratio"
-#define TR_EXPO TR("Expo","Exponentiel")
+#define TR_EXPO TR("Expo", "Exponentiel")
#define TR_SIDE "Coté"
#define TR_DIFFERENTIAL "Différentiel"
-#define TR_OFFSET INDENT"Décalage"
+#define TR_OFFSET INDENT "Décalage"
#define TR_TRIM "Trim"
#define TR_DREX "DRex"
#define TR_CURVE "Courbe"
-#define TR_FLMODE TR("Phase","Phases")
+#define TR_FLMODE TR("Phase", "Phases")
#define TR_MIXWARNING "Alerte"
#define TR_OFF "OFF"
#define TR_MULTPX "Opération"
@@ -490,37 +497,38 @@
#define TR_CV "CB"
#define TR_GV "VG"
#define TR_ACHANNEL "A"
-#define TR_RANGE INDENT"Plage"
+#define TR_RANGE INDENT "Plage"
#define TR_BAR "Barre"
-#define TR_ALARM INDENT"Alarme"
+#define TR_ALARM INDENT "Alarme"
#define TR_USRDATA "Données"
-#define TR_BLADES INDENT"Pales"
+#define TR_BLADES INDENT "Pales"
#define TR_SCREEN "Ecran "
#define TR_SOUND_LABEL "Son"
-#define TR_LENGTH INDENT"Durée"
-#define TR_SPKRPITCH INDENT"Tonalité"
+#define TR_LENGTH INDENT "Durée"
+#define TR_SPKRPITCH INDENT "Tonalité"
#define TR_HAPTIC_LABEL "Vibreur"
-#define TR_HAPTICSTRENGTH INDENT"Force"
+#define TR_HAPTICSTRENGTH INDENT "Force"
#define TR_CONTRAST "Contraste"
#define TR_ALARMS_LABEL "Alarmes"
#define TR_BATTERY_RANGE "Plage batterie"
-#define TR_BATTERYWARNING TR(INDENT"Batterie",INDENT"Batterie faible")
-#define TR_INACTIVITYALARM INDENT"Inactivité"
-#define TR_MEMORYWARNING INDENT"Mémoire pleine"
-#define TR_ALARMWARNING TR(INDENT"Silence",INDENT"Sons désactivés")
+#define TR_BATTERYWARNING TR(INDENT "Batterie",INDENT "Batterie faible")
+#define TR_INACTIVITYALARM INDENT "Inactivité"
+#define TR_MEMORYWARNING INDENT "Mémoire pleine"
+#define TR_ALARMWARNING TR(INDENT "Silence",INDENT "Sons désactivés")
#define TR_RENAVIG "Navig EncRot"
-#define TR_THROTTLEREVERSE TR("Inv. gaz","Inversion gaz")
-#define TR_MINUTEBEEP TR(INDENT"Bip min.",INDENT"Annonces minutes")
-#define TR_BEEPCOUNTDOWN TR(INDENT"Bip fin",INDENT"Compte à rebours")
-#define TR_PERSISTENT TR(INDENT"Persist.",INDENT"Persistant")
+#define TR_THROTTLE_LABEL "Gaz"
+#define TR_THROTTLEREVERSE TR("Inv. gaz", INDENT "Inversion gaz")
+#define TR_MINUTEBEEP TR(INDENT "Bip min.",INDENT "Annonces minutes")
+#define TR_BEEPCOUNTDOWN TR(INDENT "Bip fin",INDENT "Compte à rebours")
+#define TR_PERSISTENT TR(INDENT "Persist.",INDENT "Persistant")
#define TR_BACKLIGHT_LABEL "Rétroéclairage"
-#define TR_BLDELAY INDENT"Durée"
-#define TR_BLONBRIGHTNESS INDENT"Luminosité ON"
-#define TR_BLOFFBRIGHTNESS INDENT"Luminosité OFF"
+#define TR_BLDELAY INDENT "Durée"
+#define TR_BLONBRIGHTNESS INDENT "Luminosité ON"
+#define TR_BLOFFBRIGHTNESS INDENT "Luminosité OFF"
#define TR_SPLASHSCREEN "Logo d'accueil"
-#define TR_THROTTLEWARNING "Alerte gaz"
-#define TR_SWITCHWARNING TR("Alerte int","Alerte interrupt.")
-#define TR_POTWARNING TR("Alerte pot","Alerte potentiom.")
+#define TR_THROTTLEWARNING TR("Alerte gaz", INDENT "Alerte gaz")
+#define TR_SWITCHWARNING TR("Alerte int", INDENT "Pos. interrupteurs")
+#define TR_POTWARNING TR("Alerte pot", INDENT "Pos. potentiom.")
#define TR_TIMEZONE "Fuseau horaire"
#define TR_RXCHANNELORD TR("Ordre voies RX","Ordre des voies préféré")
#define TR_SLAVE "Elève"
@@ -581,28 +589,28 @@
#define TR_MENUHELISETUP TR("CONF.HELI","CONFIGURATION HELICO")
#if defined(PCBTARANIS)
- #define TR_MENUINPUTS "ENTREES"
- #define TR_MENULIMITS "SORTIES"
+ #define TR_MENUINPUTS "ENTREES"
+ #define TR_MENULIMITS "SORTIES"
#elif defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_LIMITS_SYMETRICAL) // The right menu titles for the gurus ...
- #define TR_MENUINPUTS "MANCHES"
- #define TR_MENULIMITS "SORTIES"
+ #define TR_MENUINPUTS "MANCHES"
+ #define TR_MENULIMITS "SORTIES"
#else
- #define TR_MENUINPUTS "DR/EXPO"
- #define TR_MENULIMITS "LIMITES"
+ #define TR_MENUINPUTS "DR/EXPO"
+ #define TR_MENULIMITS "LIMITES"
#endif
#define TR_MENUCURVES "COURBES"
#define TR_MENUCURVE "COURBE"
-#define TR_MENULOGICALSWITCH "INTER LOG."
-#define TR_MENULOGICALSWITCHES TR("INTERS LOG.","INTERS LOGIQUES")
+#define TR_MENULOGICALSWITCH "INTER LOG."
+#define TR_MENULOGICALSWITCHES TR("INTERS LOG.","INTERS LOGIQUES")
#define TR_MENUCUSTOMFUNC TR("FONCTIONS SPEC.","FONCTIONS SPECIALES")
#define TR_MENUTELEMETRY "TELEMESURE"
#define TR_MENUTEMPLATES "GABARITS"
#define TR_MENUSTAT TR("STATS","STATISTIQUES")
#define TR_MENUDEBUG "DEBUG"
-#define TR_RXNUM TR(INDENT"NumRx",INDENT"No. récepteur")
+#define TR_RXNUM TR(INDENT "NumRx",INDENT "No. récepteur")
#define TR_SYNCMENU "Sync [MENU]"
-#define TR_LIMIT INDENT"Limite"
+#define TR_LIMIT INDENT "Limite"
#define TR_MINRSSI "RSSI Min."
#define TR_LATITUDE "Latitude"
#define TR_LONGITUDE "Longitude"
@@ -611,8 +619,8 @@
#define TR_SHUTDOWN "ARRET EN COURS"
#define TR_BATT_CALIB "Calib. Batterie"
#define TR_CURRENT_CALIB "Calib. Courant"
-#define TR_VOLTAGE INDENT"Tension"
-#define TR_CURRENT INDENT"Courant"
+#define TR_VOLTAGE INDENT "Tension"
+#define TR_CURRENT INDENT "Courant"
#define TR_SELECT_MODEL "Sélect. Modèle"
#define TR_CREATE_MODEL "Créer Modèle"
#define TR_COPY_MODEL "Copier Modèle"
@@ -679,10 +687,10 @@
#define TR_CHANNELS_MONITOR "MONITEUR CANAUX"
#define TR_INTERNALRF "HF interne"
#define TR_EXTERNALRF "HF externe"
-#define TR_FAILSAFE INDENT"Type failsafe"
+#define TR_FAILSAFE INDENT "Type failsafe"
#define TR_FAILSAFESET "REGLAGES FAILSAFE"
#define TR_COUNTRYCODE "Zone géo."
-#define TR_VOICELANG TR("Langue voix","Langue annonces vocales")
+#define TR_VOICELANG TR("Langue voix", "Langue annonces vocales")
#define TR_UNITSSYSTEM "Unités"
#define TR_EDIT "Editer"
#define TR_INSERT_BEFORE "Insérer avant"
@@ -692,16 +700,16 @@
#define TR_PASTE "Coller"
#define TR_DELETE "Effacer"
#define TR_INSERT "Insérer"
-#define TR_RESET_FLIGHT TR("Réinit. vol","Réinitialiser vol")
-#define TR_RESET_TIMER1 TR("Réinit. Timer1","Réinitialiser Timer1")
-#define TR_RESET_TIMER2 TR("Réinit. Timer2","Réinitialiser Timer2")
-#define TR_RESET_TELEMETRY TR("Réinit. Télém.","Réinit. Télémesure")
+#define TR_RESET_FLIGHT TR("Réinit. vol", "Réinitialiser vol")
+#define TR_RESET_TIMER1 TR("Réinit. Timer1", "Réinitialiser Timer1")
+#define TR_RESET_TIMER2 TR("Réinit. Timer2", "Réinitialiser Timer2")
+#define TR_RESET_TELEMETRY TR("Réinit. Télém.", "Réinit. Télémesure")
#define TR_STATISTICS "Statistiques"
#define TR_ABOUT_US "A propos"
#define TR_AND_SWITCH "ET suppl."
#define TR_CF "FS"
-#define TR_SPEAKER INDENT"Haut-p."
-#define TR_BUZZER INDENT"Bipeur"
+#define TR_SPEAKER INDENT "Haut-p."
+#define TR_BUZZER INDENT "Bipeur"
#define TR_BYTES "bytes"
#define TR_MODULE_BIND "[Bind]"
#define TR_MODULE_RANGE "[Port.]"
@@ -709,13 +717,14 @@
#define TR_SET "[Déf.]"
#define TR_TRAINER "Ecolage"
#define TR_ANTENNAPROBLEM CENTER "Antenne radio défectueuse!"
-#define TR_MODELIDUSED TR("ID déjà affecté","No de modèle déjà utilisé")
+#define TR_MODELIDUSED TR("ID déjà affecté", "No de modèle déjà utilisé")
#define TR_MODULE INDENT "Type de module"
#define TR_CHANNELRANGE INDENT "Plage de canaux"
#define TR_LOWALARM INDENT "Alarme basse"
#define TR_CRITICALALARM INDENT "Alarme critique"
-#define TR_PERSISTENT_MAH TR(INDENT "Enr. mAh",INDENT "Enregistrer mAh")
-#define TR_CHECKLIST "Afficher notes"
+#define TR_PERSISTENT_MAH TR(INDENT "Enr. mAh", INDENT "Enregistrer mAh")
+#define TR_PREFLIGHT "Vérifications avant vol"
+#define TR_CHECKLIST INDENT "Afficher notes"
#define TR_FAS_OFFSET TR(INDENT "Corr FAS", INDENT "Correction FAS")
#define TR_UART3MODE "Port série"
@@ -746,22 +755,22 @@
#endif
// Taranis column headers
-#define TR_PHASES_HEADERS { " Nom ", " Inter ", " Trims ", " Fondu ON ", " Fondu OFF " }
-#define TR_LIMITS_HEADERS { " Nom ", " Subtrim ", " Min ", " Max ", " Direction ", " Curve ", " Neutre PPM ", " Mode subtrim " }
+#define TR_PHASES_HEADERS { " Nom ", " Inter ", " Trim Dir ", " Trim Prf ", " Trim Gaz ", " Trim Ail ", " Fondu ON ", " Fondu OFF " }
+#define TR_LIMITS_HEADERS { " Nom ", " Subtrim ", " Min ", " Max ", " Direction ", " Courbe ", " Neutre PPM ", " Mode subtrim " }
#define TR_CSW_HEADERS { " Fonction ", " V1 ", " V2 ", " V2 ", " ET suppl. ", " Durée ", " Délai " }
//Taranis About screen
-#define TR_ABOUTUS TR(" A PROPOS ","A PROPOS")
+#define TR_ABOUTUS TR(" A PROPOS ", "A PROPOS")
-#define TR_ABOUT_OPENTX_1 TR("OpenTX\001est\001libre,\001non-","OpenTX est libre, non-")
-#define TR_ABOUT_OPENTX_2 TR("commercial,\001et\001offert\001sans","commercial et n'offre aucune")
-#define TR_ABOUT_OPENTX_3 TR("garantie.\001Il\001est\001développé","garantie. Il a été développé")
-#define TR_ABOUT_OPENTX_4 TR("gratuitement.\001Donations","gratuitement. Vos donations")
-#define TR_ABOUT_OPENTX_5 TR("bienvenues!","sont bienvenues!")
+#define TR_ABOUT_OPENTX_1 TR("OpenTX\001est\001libre,\001non-", "OpenTX est libre, non-")
+#define TR_ABOUT_OPENTX_2 TR("commercial,\001et\001offert\001sans", "commercial et n'offre aucune")
+#define TR_ABOUT_OPENTX_3 TR("garantie.\001Il\001est\001développé", "garantie. Il a été développé")
+#define TR_ABOUT_OPENTX_4 TR("gratuitement.\001Donations", "gratuitement. Vos donations")
+#define TR_ABOUT_OPENTX_5 TR("bienvenues!", "sont bienvenues!")
#define TR_ABOUT_BERTRAND_1 "Bertrand Songis"
-#define TR_ABOUT_BERTRAND_2 TR("Auteur\001principal\001d'OpenTX","Auteur principal d'OpenTX")
-#define TR_ABOUT_BERTRAND_3 TR("Codéveloppeur\001de\001C9X","Codéveloppeur de Companion9x")
+#define TR_ABOUT_BERTRAND_2 TR("Auteur\001principal\001d'OpenTX", "Auteur principal d'OpenTX")
+#define TR_ABOUT_BERTRAND_3 TR("Codéveloppeur\001de\001C9X", "Codéveloppeur de Companion9x")
#define TR_ABOUT_MIKE_1 "Mike Blandford"
#define TR_ABOUT_MIKE_2 "Maître du code et des"
@@ -783,13 +792,13 @@
#define TR_ABOUT_MARTIN_2 "Design graphique"
#if defined(PCBTARANIS)
- #define TR_ABOUT_HARDWARE_1 "FrSky"
- #define TR_ABOUT_HARDWARE_2 "Développeur/fabricant"
- #define TR_ABOUT_HARDWARE_3 "du matériel"
+ #define TR_ABOUT_HARDWARE_1 "FrSky"
+ #define TR_ABOUT_HARDWARE_2 "Développeur/fabricant"
+ #define TR_ABOUT_HARDWARE_3 "du matériel"
#else
- #define TR_ABOUT_HARDWARE_1 "Brent Nelson"
- #define TR_ABOUT_HARDWARE_2 "Développeur/fabricant"
- #define TR_ABOUT_HARDWARE_3 "de la carte Sky9x"
+ #define TR_ABOUT_HARDWARE_1 "Brent Nelson"
+ #define TR_ABOUT_HARDWARE_2 "Développeur/fabricant"
+ #define TR_ABOUT_HARDWARE_3 "de la carte Sky9x"
#endif
#define TR_ABOUT_PARENTS_1 "Projets parents"
@@ -797,10 +806,10 @@
#define TR_ABOUT_PARENTS_3 "ER9X (Erez Raviv)"
#define TR_ABOUT_PARENTS_4 "TH9X (Thomas Husterer)"
-#define TR_CHR_SHORT 's'
-#define TR_CHR_LONG 'l'
-#define TR_CHR_TOGGLE 't'
-#define TR_CHR_HOUR 'h'
+#define TR_CHR_SHORT 's'
+#define TR_CHR_LONG 'l'
+#define TR_CHR_TOGGLE 't'
+#define TR_CHR_HOUR 'h'
#define TR_CHR_INPUT 'E' // Values between A-I will work
#define TR_BEEP_VOLUME "Beep Volume"
diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt
index dea57bbe9..7e7a2eeaa 100644
--- a/radio/src/translations/it.h.txt
+++ b/radio/src/translations/it.h.txt
@@ -72,7 +72,7 @@
#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 "
#define LEN_POTTYPES "\017"
-#define TR_POTTYPES "Pot\0 ""Multipos Switch"
+#define TR_POTTYPES "None\0 ""Pot\0 ""Multipos Switch"
#define LEN_DATETIME "\005"
#define TR_DATETIME "DATA:""ORA :"
@@ -445,8 +445,8 @@
#define TR_ELIMITS TR("Limiti.E","Limiti Estesi")
#define TR_ETRIMS TR("Trim Ext","Trim Estesi")
#define TR_TRIMINC "Trim Step"
-#define TR_TTRACE TR("T-Source","Throttle Source")
-#define TR_TTRIM TR("T-Trim","Throttle Trim")
+#define TR_TTRACE TR("T-Source", INDENT "Throttle Source")
+#define TR_TTRIM TR("T-Trim", INDENT "Throttle Trim")
#define TR_BEEPCTR TR("Ctr Beep","Center Beep")
#define TR_PROTO TR(INDENT "Proto", INDENT "Protocollo")
#define TR_PPMFRAME TR("PPM frame", INDENT "PPM frame")
@@ -509,7 +509,8 @@
#define TR_MEMORYWARNING INDENT"Avviso memoria"
#define TR_ALARMWARNING INDENT"Spento"
#define TR_RENAVIG "Navig RotEnc "
-#define TR_THROTTLEREVERSE TR("Thr inv.", "Throttle Inverso")
+#define TR_THROTTLE_LABEL "Throttle"
+#define TR_THROTTLEREVERSE TR("Thr inv.", INDENT "Throttle Inverso")
#define TR_MINUTEBEEP INDENT"Minuto"
#define TR_BEEPCOUNTDOWN TR(INDENT"Conto rov",INDENT"Conto rovescia")
#define TR_PERSISTENT TR(INDENT"Persist.",INDENT"Persistente")
@@ -518,9 +519,9 @@
#define TR_BLONBRIGHTNESS TR(INDENT"Lumin. ON",INDENT"Luminosità ON")
#define TR_BLOFFBRIGHTNESS TR(INDENT"Lumin. OFF",INDENT"Luminosità OFF")
#define TR_SPLASHSCREEN TR("Schermo avvio", "Schermata di avvio")
-#define TR_THROTTLEWARNING TR("All. Thr", "Allarme Throttle")
-#define TR_SWITCHWARNING TR("Avv. Int.", "Avviso Interr.")
-#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
+#define TR_THROTTLEWARNING TR("All. Thr", INDENT "Allarme Throttle")
+#define TR_SWITCHWARNING TR("Avv. Int.", INDENT "Avviso Interr.")
+#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Warning")
#define TR_TIMEZONE "Ora locale"
#define TR_RXCHANNELORD "Ordine ch RX"
#define TR_SLAVE "Allievo"
@@ -715,7 +716,8 @@
#define TR_LOWALARM INDENT "Allarme Basso"
#define TR_CRITICALALARM INDENT "Allarme Critico"
#define TR_PERSISTENT_MAH INDENT "Store mAh"
-#define TR_CHECKLIST "Display Checklist"
+#define TR_PREFLIGHT "Preflight Checks"
+#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial port"
diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt
index e6a3608ba..eedb2d9d4 100644
--- a/radio/src/translations/pl.h.txt
+++ b/radio/src/translations/pl.h.txt
@@ -72,7 +72,7 @@
#define TR_UART3MODES "Wyłącz\0 ""S-Port Mirror\0 ""Debug\0 "
#define LEN_POTTYPES "\017"
-#define TR_POTTYPES "Potencjometr\0 ""Przeł.Wielopoz."
+#define TR_POTTYPES "None\0 ""Potencjometr\0 ""Przeł.Wielopoz."
#define LEN_DATETIME "\006"
#define TR_DATETIME "DATA:\0""CZAS:\0"
@@ -445,8 +445,8 @@
#define TR_ELIMITS TR("Limit+25%", "Kanał +/- 125%")
#define TR_ETRIMS TR("Trymery 100%", "Poszerzone Trymery")
#define TR_TRIMINC TR("Krok Trymera", "Krok trymera")
-#define TR_TTRACE TR("Źródło gazu", "Źródło gazu")
-#define TR_TTRIM TR("Trymer gazu", "Trymer gazu")
+#define TR_TTRACE TR("Źródło gazu", INDENT "Źródło gazu")
+#define TR_TTRIM TR("Trymer gazu", INDENT "Trymer gazu")
#define TR_BEEPCTR "(\043)Pikanie środka"
#define TR_PROTO INDENT"Protokól"
#define TR_PPMFRAME "Ramka PPM"
@@ -509,18 +509,19 @@
#define TR_MEMORYWARNING INDENT"Pełna pamięć'"
#define TR_ALARMWARNING INDENT"Wyłącz dźwięk"
#define TR_RENAVIG "Nawigacja potencjometrem"
-#define TR_THROTTLEREVERSE TR("Odwróć gaz", "Odwróć gaz")
-#define TR_MINUTEBEEP TR(INDENT"Minuta", INDENT"Pik co minutę")
-#define TR_BEEPCOUNTDOWN TR(INDENT"Odliczanie", INDENT"Odliczanie")
+#define TR_THROTTLE_LABEL "Throttle"
+#define TR_THROTTLEREVERSE TR("Odwróć gaz", INDENT "Odwróć gaz")
+#define TR_MINUTEBEEP TR(INDENT "Minuta", INDENT "Pik co minutę")
+#define TR_BEEPCOUNTDOWN TR(INDENT "Odliczanie", INDENT "Odliczanie")
#define TR_PERSISTENT INDENT"Dokładny"
#define TR_BACKLIGHT_LABEL "Podświetlenie"
#define TR_BLDELAY INDENT"Czas trwania"
#define TR_BLONBRIGHTNESS INDENT"Jasnośc wł."
#define TR_BLOFFBRIGHTNESS INDENT"Jasność wył."
#define TR_SPLASHSCREEN "Logo ekranu"
-#define TR_THROTTLEWARNING "(\043)Gaz"
-#define TR_SWITCHWARNING "(\043)Przełącznik"
-#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
+#define TR_THROTTLEWARNING TR("(\043)Gaz", INDENT "(\043)Gaz")
+#define TR_SWITCHWARNING TR("(\043)Przełącznik", INDENT "(\043)Przełącznik")
+#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Warning")
#define TR_TIMEZONE "Strefa czasowa"
#define TR_RXCHANNELORD TR("Kolejność kanałów", "Bazowa kolejność kanałów")
#define TR_SLAVE "Uczeń"
@@ -715,7 +716,8 @@
#define TR_LOWALARM INDENT "Alarm niski"
#define TR_CRITICALALARM INDENT "Alarm krytyczny"
#define TR_PERSISTENT_MAH INDENT "Zapisz mAh"
-#define TR_CHECKLIST "Display Checklist"
+#define TR_PREFLIGHT "Preflight Checks"
+#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Port szreg."
diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt
index aba6456dd..6505786e4 100644
--- a/radio/src/translations/pt.h.txt
+++ b/radio/src/translations/pt.h.txt
@@ -72,7 +72,7 @@
#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 "
#define LEN_POTTYPES "\017"
-#define TR_POTTYPES "Pot\0 ""Multipos Switch"
+#define TR_POTTYPES "None\0 ""Pot\0 ""Multipos Switch"
#define LEN_DATETIME "\005"
#define TR_DATETIME "DATA:""HORA:"
@@ -445,8 +445,8 @@
#define TR_ELIMITS "E.Limits"
#define TR_ETRIMS "E.Trims"
#define TR_TRIMINC "Trim Step"
-#define TR_TTRACE "T-Trace"
-#define TR_TTRIM "T-Trim"
+#define TR_TTRACE TR("T-Trace", INDENT "T-Trace")
+#define TR_TTRIM TR("T-Trim", INDENT "T-Trim")
#define TR_BEEPCTR "Ctr Beep"
#define TR_PROTO INDENT"Proto"
#define TR_PPMFRAME "PPM frame"
@@ -509,7 +509,8 @@
#define TR_MEMORYWARNING INDENT"Memoria Baixa"
#define TR_ALARMWARNING INDENT"Som Off"
#define TR_RENAVIG "RotEnc Navig"
-#define TR_THROTTLEREVERSE "Inverte Acel."
+#define TR_THROTTLE_LABEL "Throttle"
+#define TR_THROTTLEREVERSE TR("Inverte Acel.", INDENT "Inverte Acel.")
#define TR_MINUTEBEEP INDENT"Beep Minuto"
#define TR_BEEPCOUNTDOWN INDENT"Beep Regressivo"
#define TR_PERSISTENT INDENT"Persist."
@@ -518,9 +519,9 @@
#define TR_BLONBRIGHTNESS INDENT"ON Brightness"
#define TR_BLOFFBRIGHTNESS INDENT"OFF Brightness"
#define TR_SPLASHSCREEN "Splash screen"
-#define TR_THROTTLEWARNING "Avisa Acel"
-#define TR_SWITCHWARNING "Avisa Chav"
-#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
+#define TR_THROTTLEWARNING TR("Avisa Acel", INDENT "Avisa Acel")
+#define TR_SWITCHWARNING TR("Avisa Chav", INDENT "Avisa Chav")
+#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Warning")
#define TR_TIMEZONE "Time Zone"
#define TR_RXCHANNELORD "Ordem Canal RX"
#define TR_SLAVE "Escravo"
@@ -715,7 +716,8 @@
#define TR_LOWALARM INDENT "Low Alarm"
#define TR_CRITICALALARM INDENT "Critical Alarm"
#define TR_PERSISTENT_MAH INDENT "Store mAh"
-#define TR_CHECKLIST "Display Checklist"
+#define TR_PREFLIGHT "Preflight Checks"
+#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial port"
diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt
index e559b277f..0ee41b758 100644
--- a/radio/src/translations/se.h.txt
+++ b/radio/src/translations/se.h.txt
@@ -72,7 +72,7 @@
#define TR_UART3MODES "Av\0 ""Spegling av S-Port""Debug\0 "
#define LEN_POTTYPES "\020"
-#define TR_POTTYPES "Potentiometer\0 ""Flerlägesväljare"
+#define TR_POTTYPES "Ingen\0 ""Potentiometer\0 ""Flerlägesväljare"
#define LEN_DATETIME "\005"
#define TR_DATETIME "DAG: ""TID: "
@@ -168,7 +168,7 @@
#endif
#if defined(CPUARM)
- #define TR_CSWEQUAL "a=x\0 "
+ #define TR_CSWEQUAL "a=x\0 "
#else
#define TR_CSWEQUAL
#endif
@@ -223,9 +223,9 @@
#endif
#ifdef GVARS
- #define TR_ADJUST_GVAR "Justera\0 "
+ #define TR_ADJUST_GVAR "Justera\0 "
#else
- #define TR_ADJUST_GVAR "[AdjustGV]"
+ #define TR_ADJUST_GVAR "[Just. GV]"
#endif
#ifdef DEBUG
@@ -445,10 +445,10 @@
#define TR_ELIMITS TR("Gränser++","Utökade Gränser")
#define TR_ETRIMS TR("Trimmar++","Utökade Trimmar")
#define TR_TRIMINC TR("Trimning","Trimökning")
-#define TR_TTRACE "Följ Gas"
-#define TR_TTRIM "Gastrim"
+#define TR_TTRACE TR("Följ Gas", INDENT "Följ Gas")
+#define TR_TTRIM TR("Gastrim", INDENT "Gastrim")
#define TR_BEEPCTR TR("Cent.pip", "Centerpip")
-#define TR_PROTO TR(INDENT"Proto",INDENT"Protokoll")
+#define TR_PROTO TR(INDENT "Proto", INDENT "Protokoll")
#define TR_PPMFRAME "PPM-paket"
#define TR_MS "ms"
#define TR_SWITCH "Brytare"
@@ -509,18 +509,19 @@
#define TR_MEMORYWARNING INDENT"Lite Minne"
#define TR_ALARMWARNING INDENT"Ljud Av"
#define TR_RENAVIG "RotEnc Navig"
-#define TR_THROTTLEREVERSE "Revers.Gas"
+#define TR_THROTTLE_LABEL "Throttle"
+#define TR_THROTTLEREVERSE TR("Revers.Gas", INDENT "Revers.Gas")
#define TR_MINUTEBEEP INDENT"Minutpip"
-#define TR_BEEPCOUNTDOWN INDENT"Räkna Ned"
+#define TR_BEEPCOUNTDOWN INDENT"Räkna ned"
#define TR_PERSISTENT TR("Jämt på ",INDENT"Alltid På")
#define TR_BACKLIGHT_LABEL "Belysning"
#define TR_BLDELAY INDENT"Av efter"
#define TR_BLONBRIGHTNESS INDENT"På Ljusstyrka"
#define TR_BLOFFBRIGHTNESS INDENT"Av Ljusstyrka"
#define TR_SPLASHSCREEN "Startbild"
-#define TR_THROTTLEWARNING "Gasvarning"
-#define TR_SWITCHWARNING TR("Bryt.varn.","Brytarvarning")
-#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
+#define TR_THROTTLEWARNING TR("Gasvarning", INDENT "Gasvarning")
+#define TR_SWITCHWARNING TR("Bryt.varn.", INDENT "Brytarvarning")
+#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Warning")
#define TR_TIMEZONE TR("Tidszon","GPS Tidszon")
#define TR_RXCHANNELORD "Kanaler i RX"
#define TR_SLAVE "Elev"
@@ -566,40 +567,40 @@
#define TR_BADEEPROMDATA "Minnet kan inte tolkas"
#define TR_EEPROMFORMATTING "Minnet Nollställs"
#define TR_EEPROMOVERFLOW "Minnesfel"
-#define TR_MENURADIOSETUP "Inställningar"
-#define TR_MENUDATEANDTIME "Dag och Tid"
-#define TR_MENUTRAINER "Trainer (PPM in)"
-#define TR_MENUVERSION "Version"
-#define TR_MENUDIAG TR("Brytare","Test av Brytare")
-#define TR_MENUANA "Analoga Värden"
-#define TR_MENUCALIBRATION "Kalibrering"
+#define TR_MENURADIOSETUP "INSTÄLLNINGAR"
+#define TR_MENUDATEANDTIME "DAG OCH TID"
+#define TR_MENUTRAINER "TRAINER (PPM IN)"
+#define TR_MENUVERSION "VERSION"
+#define TR_MENUDIAG TR("BRYTARE","TEST AV BRYTARE")
+#define TR_MENUANA "ANALOGA VÄRDEN"
+#define TR_MENUCALIBRATION "KALIBRERING"
#define TR_TRIMS2OFFSETS "\004[Spara Trimvärden]"
-#define TR_MENUMODELSEL TR("Modell","Välj Modell")
-#define TR_MENUSETUP TR("Värden","Modellinställningar")
-#define TR_MENUFLIGHTPHASE "Flygläge"
-#define TR_MENUFLIGHTPHASES "Flyglägen"
-#define TR_MENUHELISETUP "Helikopter"
+#define TR_MENUMODELSEL TR("MODELL","VÄLJ MODELL")
+#define TR_MENUSETUP TR("VÄRDEN","MODELLINSTÄLLNINGAR")
+#define TR_MENUFLIGHTPHASE "FLYGLÄGE"
+#define TR_MENUFLIGHTPHASES "FLYGLÄGEN"
+#define TR_MENUHELISETUP "HELIKOPTER"
#if defined(PCBTARANIS)
- #define TR_MENUINPUTS TR("Filter","Filtrerad Insignal")
- #define TR_MENULIMITS "Gränser"
+ #define TR_MENUINPUTS TR("FILTER","FILTRERAD INSIGNAL")
+ #define TR_MENULIMITS "GRÄNSER"
#elif defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_LIMITS_SYMETRICAL) // The right menu titles for the gurus ...
- #define TR_MENUINPUTS "Spakar"
- #define TR_MENULIMITS "Gränser"
+ #define TR_MENUINPUTS "SPAKAR"
+ #define TR_MENULIMITS "GRÄNSER"
#else
- #define TR_MENUINPUTS TR("DR/Expo","DualRates/Expo")
- #define TR_MENULIMITS "Gränser"
+ #define TR_MENUINPUTS TR("DR/EXPO","DUALRATES/EXPO")
+ #define TR_MENULIMITS "GRÄNSER"
#endif
-#define TR_MENUCURVES "Kurvor"
-#define TR_MENUCURVE "Kurva"
-#define TR_MENULOGICALSWITCH "Logisk Brytare"
-#define TR_MENULOGICALSWITCHES "Logiska Brytare"
-#define TR_MENUCUSTOMFUNC "BrytarFunktioner"
-#define TR_MENUTELEMETRY "Telemetri"
-#define TR_MENUTEMPLATES "Mallar"
-#define TR_MENUSTAT "Statistik"
-#define TR_MENUDEBUG "Debug"
+#define TR_MENUCURVES "KURVOR"
+#define TR_MENUCURVE "KURVA"
+#define TR_MENULOGICALSWITCH "LOGISK BRYTARE"
+#define TR_MENULOGICALSWITCHES "LOGISKA BRYTARE"
+#define TR_MENUCUSTOMFUNC "BRYTARFUNKTIONER"
+#define TR_MENUTELEMETRY "TELEMETRI"
+#define TR_MENUTEMPLATES "MALLAR"
+#define TR_MENUSTAT "STATISTIK"
+#define TR_MENUDEBUG "DEBUG"
#define TR_RXNUM "RxNum"
#define TR_SYNCMENU "Synk [MENU]"
#define TR_LIMIT INDENT"Nivå"
@@ -672,7 +673,7 @@
#define TR_GLOBAL_VARS "Globala Variabler"
#define TR_GLOBAL_V "GLOBAL V."
#define TR_GLOBAL_VAR "Global Variabel"
-#define TR_MENUGLOBALVARS "Globala Variabler"
+#define TR_MENUGLOBALVARS "GLOBALA VARIABLER"
#define TR_OWN "Egen"
#define TR_DATE "Datum"
#define TR_ROTARY_ENCODER "R.Enks"
@@ -702,7 +703,7 @@
#define TR_CF "BF"
#define TR_SPEAKER INDENT"Högtalare"
#define TR_BUZZER INDENT"Summer"
-#define TR_BYTES "bytes"
+#define TR_BYTES "byte"
#define TR_MODULE_BIND "[Bind]"
#define TR_MODULE_RANGE "[Testa]"
#define TR_RESET_BTN "[Nollställ]"
@@ -714,15 +715,16 @@
#define TR_CHANNELRANGE INDENT "Kanalområde"
#define TR_LOWALARM INDENT "Låg-alarm"
#define TR_CRITICALALARM INDENT "Kritiskt alarm"
-#define TR_PERSISTENT_MAH INDENT "Store mAh"
-#define TR_CHECKLIST "Display Checklist"
+#define TR_PERSISTENT_MAH INDENT "Lagra mAh"
+#define TR_PREFLIGHT "Preflight Checks"
+#define TR_CHECKLIST INDENT "Visa checklisa"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serieporten"
#if defined(MAVLINK)
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
#define TR_MAVLINK_PC_RSSI_EN_LABEL "PC RSSI EN"
- #define TR_MAVMENUSETUP_TITLE "MavlinkInställningar"
+ #define TR_MAVMENUSETUP_TITLE "MAVLINKINSTÄLLNINGAR"
#define TR_MAVLINK_BAUD_LABEL "Baudrate"
#define TR_MAVLINK_INFOS "INFOS"
#define TR_MAVLINK_MODE "LÄGE"
diff --git a/speaker/.gitignore b/speaker/.gitignore
new file mode 100644
index 000000000..c6764a97d
--- /dev/null
+++ b/speaker/.gitignore
@@ -0,0 +1,3 @@
+/OpenTXspeak.suo
+/bin/*
+/obj/*
diff --git a/speaker/App.xaml b/speaker/App.xaml
new file mode 100644
index 000000000..c38764331
--- /dev/null
+++ b/speaker/App.xaml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/speaker/App.xaml.cs b/speaker/App.xaml.cs
new file mode 100644
index 000000000..431106446
--- /dev/null
+++ b/speaker/App.xaml.cs
@@ -0,0 +1,32 @@
+/* This file is part of OpenTX Speaker.
+ * OpenTX Speaker is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * OpenTX Speaker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with Foobar. If not, see .
+ *
+ * Copyright 2014 Kjell Kernen */
+
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Windows;
+
+namespace OpenTXspeak
+{
+ ///
+ /// Interaction logic for App.xaml
+ ///
+ public partial class App : Application
+ {
+ }
+}
diff --git a/speaker/GPLv3_Logo.png b/speaker/GPLv3_Logo.png
new file mode 100644
index 000000000..8f2ec4b35
Binary files /dev/null and b/speaker/GPLv3_Logo.png differ
diff --git a/speaker/MainWindow.xaml b/speaker/MainWindow.xaml
new file mode 100644
index 000000000..9ed94b625
--- /dev/null
+++ b/speaker/MainWindow.xaml
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Install Voices
+
+
+
+
+
diff --git a/speaker/MainWindow.xaml.cs b/speaker/MainWindow.xaml.cs
new file mode 100644
index 000000000..b49d98b81
--- /dev/null
+++ b/speaker/MainWindow.xaml.cs
@@ -0,0 +1,232 @@
+/* This file is part of OpenTX Speaker.
+ * OpenTX Speaker is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * OpenTX Speaker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with Foobar. If not, see .
+ *
+ * Copyright 2014 Kjell Kernen */
+
+using System;
+using System.IO;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+using System.Speech.Synthesis;
+using System.Speech.AudioFormat;
+
+namespace OpenTXspeak
+{
+ public partial class MainWindow : Window
+ {
+ SentenceTables tables = new SentenceTables();
+ Languages languages = new Languages();
+ Language curLang;
+ Sentences sentences = new Sentences();
+ SpeechSynthesizer synth = new SpeechSynthesizer();
+ int added_files = 0;
+
+ public MainWindow()
+ {
+ SplashScreen splash = new SplashScreen("speaker_logo.png");
+ splash.Show(true);
+ Thread.Sleep(1500);
+
+ InitializeComponent();
+
+ lvSentences.ItemsSource = sentences;
+ cbLanguages.ItemsSource = languages;
+
+ foreach (InstalledVoice voice in synth.GetInstalledVoices())
+ {
+ cbVoices.Items.Add(voice.VoiceInfo.Name);
+ }
+ cbVoices.SelectedIndex = 0;
+
+ languages.Add("English", "en");
+ languages.Add("Czech", "cz");
+ languages.Add("German", "de");
+ languages.Add("French", "fr");
+ languages.Add("Italian", "it");
+ languages.Add("Polish", "pl");
+ languages.Add("Portuguese", "pt");
+ languages.Add("Swedish", "se");
+ languages.Add("Slovak", "sk");
+ languages.Add("Spanish", "es");
+ curLang = languages[0];
+ cbLanguages.SelectedIndex = 0; // Note: Sets current langugage -> triggers loadlanguage()
+ }
+
+ private void loadLanguage()
+ {
+ string[] system_strings;
+ string[] other_strings;
+
+ try
+ {
+ system_strings = System.IO.File.ReadAllLines(@"SOUNDS\" + curLang.sName + @"\SYSTEM\system_sounds.txt");
+ other_strings = System.IO.File.ReadAllLines(@"SOUNDS\" + curLang.sName + @"\other_sounds.txt");
+ }
+ catch (IOException)
+ {
+ system_strings = tables.default_system_strings[tables.toInt(curLang.sName)];
+ other_strings = tables.default_other_strings[tables.toInt(curLang.sName)];
+ }
+ sentences.RemoveRange(0, sentences.Count);
+
+ foreach (string str in system_strings)
+ sentences.Add(str);
+
+ sentences.Add(@";^ System Sounds ^;");
+
+ foreach (string str in other_strings)
+ sentences.Add(str);
+
+ lvSentences.Items.Refresh(); // Workaround - Two way binding is better
+ }
+
+ private void cbLanguages_SelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ curLang = (Language)e.AddedItems[0];
+ loadLanguage();
+ }
+
+ private void lvSentences_MouseDoubleClick(object sender, MouseButtonEventArgs e)
+ {
+ synth.SetOutputToDefaultAudioDevice();
+ synth.Rate = (int)this.voiceRateSlider.Value;
+
+ if (this.lvSentences.SelectedItems.Count < 1)
+ return;
+
+ Sentence sentence = (Sentence)this.lvSentences.SelectedItem;
+ synth.SelectVoice(cbVoices.Text);
+ try { synth.Speak(sentence.voiceString); }
+ catch (Exception){} // Workaround - Some TTS engines crashes on destruction
+ }
+
+ private void openTXLogo_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
+ {
+ AboutWindow aboutWindow = new AboutWindow();
+ aboutWindow.ShowDialog();
+ }
+
+ private void InstallVoices_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
+ {
+ InstallVoicesWindow installVoicesWindow = new InstallVoicesWindow();
+ installVoicesWindow.ShowDialog();
+ }
+
+ private void buttonPlay_Click(object sender, RoutedEventArgs e)
+ {
+ lvSentences_MouseDoubleClick(sender, null);
+ }
+
+ private void buttonAddItem_Click(object sender, RoutedEventArgs e)
+ {
+ added_files++;
+ sentences.Add(new Sentence("new_file_" + added_files.ToString() + ";New Description;New Voice Message"));
+ this.lvSentences.Items.Refresh();
+ this.lvSentences.SelectedIndex = this.lvSentences.Items.Count - 1;
+ this.lvSentences.ScrollIntoView(this.lvSentences.SelectedItem);
+ }
+
+ private void buttonSaveFiles_Click(object sender, RoutedEventArgs e)
+ {
+ Cursor oldCursor = this.Cursor;
+ this.Cursor = Cursors.Wait;
+
+ synth.Rate = (int)this.fileRateSlider.Value;
+
+ int sampleRate = 32000;
+ if ((bool)this.rb16khz.IsChecked)
+ sampleRate = 16000;
+ else if ((bool)this.rb8khz.IsChecked)
+ sampleRate = 8000;
+
+ SpeechAudioFormatInfo audioFormat = new SpeechAudioFormatInfo(sampleRate, AudioBitsPerSample.Sixteen, AudioChannel.Mono);
+
+ System.IO.Directory.CreateDirectory(@"SOUNDS\" + curLang.sName + @"\SYSTEM");
+ StreamWriter sw = File.CreateText(@"SOUNDS\" + curLang.sName + @"\SYSTEM\system_sounds.txt");
+ int i;
+ for (i = 0; sentences[i].fileName != ""; i++)
+ {
+ sw.WriteLine(sentences[i].toRaw());
+ synth.SetOutputToWaveFile(@"SOUNDS\" + curLang.sName + @"\SYSTEM\" + sentences[i].fileName + ".wav", audioFormat);
+ try { synth.Speak(sentences[i].voiceString); }
+ catch (Exception){} // Workaround - Some TTS engines crashes on destruction
+ }
+ sw.Close();
+ sw = File.CreateText(@"SOUNDS\" + curLang.sName + @"\other_sounds.txt");
+ for (i++; i < sentences.Count; i++)
+ {
+ sw.WriteLine(sentences[i].toRaw());
+ synth.SetOutputToWaveFile(@"SOUNDS\" + curLang.sName + @"\" + sentences[i].fileName + ".wav", audioFormat);
+ try { synth.Speak(sentences[i].voiceString); }
+ catch (Exception){} // Workaround - Some TTS engines crashes on destruction
+ }
+ sw.Close();
+ synth.SetOutputToNull(); // Workaround - The synth does not release the sound file like it should
+ this.Cursor = oldCursor;
+ }
+ }
+
+ public class Language
+ {
+ public string lName { get; set; }
+ public string sName { get; set; }
+ }
+
+ public class Languages : List
+ {
+ public void Add(string longer, string shorter)
+ {
+ this.Add(new Language { lName = longer, sName = shorter });
+ }
+ }
+
+ public class Sentence
+ {
+ public string fileName { get; set; }
+ public string description { get; set; }
+ public string voiceString { get; set; }
+
+ public Sentence(string rawString)
+ {
+ string[] words = rawString.Split(';');
+ fileName = words[0].TrimStart(' ', '\"');
+ description = words[1];
+ voiceString = words[2].TrimEnd('\"', ',', ' ');
+ }
+
+ public string toRaw()
+ {
+ return "\"" +fileName + ";" + description + ";" + voiceString + "\",";
+ }
+ }
+
+ public class Sentences : List
+ {
+ public void Add(string rawString)
+ {
+ this.Add(new Sentence(rawString));
+ }
+ }
+}
diff --git a/speaker/OpenTXspeak.csproj b/speaker/OpenTXspeak.csproj
new file mode 100644
index 000000000..a33264511
--- /dev/null
+++ b/speaker/OpenTXspeak.csproj
@@ -0,0 +1,133 @@
+
+
+
+ Debug
+ x86
+ 8.0.30703
+ 2.0
+ {8143D08D-1861-42DD-A861-56B15DE42A69}
+ WinExe
+ Properties
+ OpenTXspeak
+ OpenTXspeak
+ v4.0
+ Client
+ 512
+ {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 4
+
+
+ x86
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ x86
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+ icon.ico
+
+
+
+
+
+
+
+
+
+
+
+ 4.0
+
+
+
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+ AboutWindow.xaml
+
+
+ App.xaml
+
+
+ installvoices.xaml
+
+
+
+ Designer
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MainWindow.xaml
+ Code
+
+
+ Designer
+ MSBuild:Compile
+
+
+
+
+ Code
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/speaker/OpenTXspeak.sln b/speaker/OpenTXspeak.sln
new file mode 100644
index 000000000..842f18837
--- /dev/null
+++ b/speaker/OpenTXspeak.sln
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual C# Express 2010
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenTXspeak", "OpenTXspeak.csproj", "{8143D08D-1861-42DD-A861-56B15DE42A69}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {8143D08D-1861-42DD-A861-56B15DE42A69}.Debug|x86.ActiveCfg = Debug|x86
+ {8143D08D-1861-42DD-A861-56B15DE42A69}.Debug|x86.Build.0 = Debug|x86
+ {8143D08D-1861-42DD-A861-56B15DE42A69}.Release|x86.ActiveCfg = Release|x86
+ {8143D08D-1861-42DD-A861-56B15DE42A69}.Release|x86.Build.0 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/speaker/Properties/AssemblyInfo.cs b/speaker/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..e9e95b723
--- /dev/null
+++ b/speaker/Properties/AssemblyInfo.cs
@@ -0,0 +1,71 @@
+/* This file is part of OpenTX Speaker.
+* OpenTX Speaker is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+
+* OpenTX Speaker is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+
+* You should have received a copy of the GNU General Public License
+* along with Foobar. If not, see .
+*
+* Copyright 2014 Kjell Kernen */
+
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("OpenTX Speaker")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("OpenTX Team")]
+[assembly: AssemblyProduct("OpenTX Speaker")]
+[assembly: AssemblyCopyright("Copyright © Kjell Kernen 2014")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+//In order to begin building localizable applications, set
+//CultureYouAreCodingWith in your .csproj file
+//inside a . For example, if you are using US english
+//in your source files, set the to en-US. Then uncomment
+//the NeutralResourceLanguage attribute below. Update the "en-US" in
+//the line below to match the UICulture setting in the project file.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly: ThemeInfo(
+ ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
+ //(used if a resource is not found in the page,
+ // or application resource dictionaries)
+ ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
+ //(used if a resource is not found in the page,
+ // app, or any theme specific resource dictionaries)
+)]
+
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.2")]
+[assembly: AssemblyFileVersion("1.2")]
diff --git a/speaker/Properties/Resources.Designer.cs b/speaker/Properties/Resources.Designer.cs
new file mode 100644
index 000000000..a0655403b
--- /dev/null
+++ b/speaker/Properties/Resources.Designer.cs
@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.18444
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace OpenTXspeak.Properties
+{
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources
+ {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources()
+ {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager
+ {
+ get
+ {
+ if ((resourceMan == null))
+ {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OpenTXspeak.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture
+ {
+ get
+ {
+ return resourceCulture;
+ }
+ set
+ {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/speaker/Properties/Resources.resx b/speaker/Properties/Resources.resx
new file mode 100644
index 000000000..af7dbebba
--- /dev/null
+++ b/speaker/Properties/Resources.resx
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/speaker/Properties/Settings.Designer.cs b/speaker/Properties/Settings.Designer.cs
new file mode 100644
index 000000000..41fee29f5
--- /dev/null
+++ b/speaker/Properties/Settings.Designer.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.18444
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace OpenTXspeak.Properties
+{
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+ {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default
+ {
+ get
+ {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/speaker/Properties/Settings.settings b/speaker/Properties/Settings.settings
new file mode 100644
index 000000000..033d7a5e9
--- /dev/null
+++ b/speaker/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/speaker/aboutWindow.xaml b/speaker/aboutWindow.xaml
new file mode 100644
index 000000000..9404c8a6f
--- /dev/null
+++ b/speaker/aboutWindow.xaml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/speaker/aboutWindow.xaml.cs b/speaker/aboutWindow.xaml.cs
new file mode 100644
index 000000000..47067037e
--- /dev/null
+++ b/speaker/aboutWindow.xaml.cs
@@ -0,0 +1,62 @@
+/* This file is part of OpenTX Speaker.
+ * OpenTX Speaker is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * OpenTX Speaker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with Foobar. If not, see .
+ *
+ * Copyright 2014 Kjell Kernen */
+
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Reflection;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+using System.Windows.Navigation;
+
+
+namespace OpenTXspeak
+{
+ public partial class AboutWindow : Window
+ {
+ public AboutWindow()
+ {
+ InitializeComponent();
+ Assembly app = Assembly.GetExecutingAssembly();
+
+ AssemblyTitleAttribute title = (AssemblyTitleAttribute)app.GetCustomAttributes(typeof(AssemblyTitleAttribute), false)[0];
+ AssemblyProductAttribute product = (AssemblyProductAttribute)app.GetCustomAttributes(typeof(AssemblyProductAttribute), false)[0];
+ AssemblyCopyrightAttribute copyright = (AssemblyCopyrightAttribute)app.GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false)[0];
+ AssemblyCompanyAttribute company = (AssemblyCompanyAttribute)app.GetCustomAttributes(typeof(AssemblyCompanyAttribute), false)[0];
+ Version version = app.GetName().Version;
+
+ this.Title = String.Format("About {0}", title.Title);
+ this.lblProductName.Content = product.Product;
+ this.lblVersion.Content = String.Format("Version {0}", version.ToString());
+ this.lblCopyright.Content = copyright.Copyright.ToString();
+ this.lblCompanyName.Content = company.Company;
+ }
+
+ private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e)
+ {
+ Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri));
+ e.Handled = true;
+ }
+ }
+}
diff --git a/speaker/eSpeak.png b/speaker/eSpeak.png
new file mode 100644
index 000000000..49229b648
Binary files /dev/null and b/speaker/eSpeak.png differ
diff --git a/speaker/firmware_logo.xcf b/speaker/firmware_logo.xcf
new file mode 100644
index 000000000..18d89aad4
Binary files /dev/null and b/speaker/firmware_logo.xcf differ
diff --git a/speaker/icon.ico b/speaker/icon.ico
new file mode 100644
index 000000000..e81c703b7
Binary files /dev/null and b/speaker/icon.ico differ
diff --git a/speaker/installvoices.xaml b/speaker/installvoices.xaml
new file mode 100644
index 000000000..2cb0e2d83
--- /dev/null
+++ b/speaker/installvoices.xaml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/speaker/installvoices.xaml.cs b/speaker/installvoices.xaml.cs
new file mode 100644
index 000000000..04f8d1024
--- /dev/null
+++ b/speaker/installvoices.xaml.cs
@@ -0,0 +1,53 @@
+/* This file is part of OpenTX Speaker.
+ * OpenTX Speaker is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * OpenTX Speaker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with Foobar. If not, see .
+ *
+ * Copyright 2014 Kjell Kernen */
+
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+using System.Windows.Navigation;
+
+
+
+namespace OpenTXspeak
+{
+ ///
+ /// Interaction logic for installvoices.xaml
+ ///
+ public partial class InstallVoicesWindow : Window
+ {
+ public InstallVoicesWindow()
+ {
+ InitializeComponent();
+ }
+
+ private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e)
+ {
+ Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri));
+ e.Handled = true;
+ }
+
+ }
+}
diff --git a/speaker/sentencetables.cs b/speaker/sentencetables.cs
new file mode 100644
index 000000000..196a1b190
--- /dev/null
+++ b/speaker/sentencetables.cs
@@ -0,0 +1,2455 @@
+/* This file is part of OpenTX Speaker.
+ * OpenTX Speaker is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+
+ * OpenTX Speaker is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with Foobar. If not, see .
+ *
+ * Copyright 2014 Kjell Kernen */
+
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Windows;
+
+namespace OpenTXspeak
+{
+ public class SentenceTables
+ {
+ private static string[] default_pl_system_strings =
+ {
+ "0000;0;0",
+ "0001;1;1",
+ "0002;2;2",
+ "0003;3;3",
+ "0004;4;4",
+ "0005;5;5",
+ "0006;6;6",
+ "0007;7;7",
+ "0008;8;8",
+ "0009;9;9",
+ "0010;10;10",
+ "0011;11;11",
+ "0012;12;12",
+ "0013;13;13",
+ "0014;14;14",
+ "0015;15;15",
+ "0016;16;16",
+ "0017;17;17",
+ "0018;18;18",
+ "0019;19;19",
+ "0020;20;20",
+ "0021;21;21",
+ "0022;22;22",
+ "0023;23;23",
+ "0024;24;24",
+ "0025;25;25",
+ "0026;26;26",
+ "0027;27;27",
+ "0028;28;28",
+ "0029;29;29",
+ "0030;30;30",
+ "0031;31;31",
+ "0032;32;32",
+ "0033;33;33",
+ "0034;34;34",
+ "0035;35;35",
+ "0036;36;36",
+ "0037;37;37",
+ "0038;38;38",
+ "0039;39;39",
+ "0040;40;40",
+ "0041;41;41",
+ "0042;42;42",
+ "0043;43;43",
+ "0044;44;44",
+ "0045;45;45",
+ "0046;46;46",
+ "0047;47;47",
+ "0048;48;48",
+ "0049;49;49",
+ "0050;50;50",
+ "0051;51;51",
+ "0052;52;52",
+ "0053;53;53",
+ "0054;54;54",
+ "0055;55;55",
+ "0056;56;56",
+ "0057;57;57",
+ "0058;58;58",
+ "0059;59;59",
+ "0060;60;60",
+ "0061;61;61",
+ "0062;62;62",
+ "0063;63;63",
+ "0064;64;64",
+ "0065;65;65",
+ "0066;66;66",
+ "0067;67;67",
+ "0068;68;68",
+ "0069;69;69",
+ "0070;70;70",
+ "0071;71;71",
+ "0072;72;72",
+ "0073;73;73",
+ "0074;74;74",
+ "0075;75;75",
+ "0076;76;76",
+ "0077;77;77",
+ "0078;78;78",
+ "0079;79;79",
+ "0080;80;80",
+ "0081;81;81",
+ "0082;82;82",
+ "0083;83;83",
+ "0084;84;84",
+ "0085;85;85",
+ "0086;86;86",
+ "0087;87;87",
+ "0088;88;88",
+ "0089;89;89",
+ "0090;90;90",
+ "0091;91;91",
+ "0092;92;92",
+ "0093;93;93",
+ "0094;94;94",
+ "0095;95;95",
+ "0096;96;96",
+ "0097;97;97",
+ "0098;98;98",
+ "0099;99;99",
+ "0100;100;100",
+ "0101;200;200",
+ "0102;300;300",
+ "0103;400;400",
+ "0104;500;500",
+ "0105;600;600",
+ "0106;700;700",
+ "0107;800;800",
+ "0108;900;900",
+ "0109;;1000",
+ "0110;TISIACE;tisiace",
+ "0111;JEDNA;jedna",
+ "0112;JEDNO;jedno",
+ "0113;DWIE;dwie",
+ "0114;CALA;cela",
+ "0115;CALE;cale",
+ "0116;CALYCH;calych",
+ "0117;MINUS;minus",
+
+ "0120;Female number;",
+ "0121;Female number;",
+ "0122;Female number;",
+ "0123;Female number;",
+ "0124;Female number;",
+ "0125;Female number;",
+ "0126;Female number;",
+ "0127;Female number;",
+ "0128;Female number;",
+ "0129;Female number;",
+
+ "0160;volt 1;wolt",
+ "0161;volt 2;wolty",
+ "0162;volt 3;",
+ "0163;volt 4;",
+ "0164;amps 1;",
+ "0165;amps 2;",
+ "0166;amps 3;",
+ "0167;amps 4;",
+ "0168;mps 1;",
+ "0169;mps 2;",
+ "0170;mps 3;",
+ "0171;mps 4;",
+ "0172;spare 1;",
+ "0173;spare 2;",
+ "0174;spare 3;",
+ "0175;spare 4;",
+ "0176;kmh 1;",
+ "0177;kmh 2;",
+ "0178;kmh 3;",
+ "0179;kmh 4;",
+ "0180;meter 1;",
+ "0181;meter 2;",
+ "0182;meter 3;",
+ "0183;meter 4;",
+ "0184;degrees 1;",
+ "0185;degrees 2;",
+ "0186;degrees 3;",
+ "0187;degrees 4;",
+ "0188;percent 1;",
+ "0189;percent 2;",
+ "0190;percent 3;",
+ "0191;percent 4;",
+ "0192;milliamps 1;",
+ "0193;milliamps 2;",
+ "0194;milliamps 3;",
+ "0195;milliamps 4;",
+ "0196;mAh 1;",
+ "0197;mAh 2;",
+ "0198;mAh 3;",
+ "0199;mAh 4;",
+ "0200;watt 1;",
+ "0201;watt 2;",
+ "0202;watt 3;",
+ "0203;watt 4;",
+ "0204;db 1;",
+ "0205;db 2;",
+ "0206;db 3;",
+ "0207;db 4;",
+ "0208;feet 1;",
+ "0209;feet 2;",
+ "0210;feet 3;",
+ "0211;feet 4;",
+ "0212;knot 1;",
+ "0213;knot 2;",
+ "0214;knot 3;",
+ "0215;knot 4;",
+ "0216;hours 1;",
+ "0217;hours 2;",
+ "0218;hours 3;",
+ "0219;hours 4;",
+ "0220;minutes 1;",
+ "0221;minutes 2;",
+ "0222;minutes 3;",
+ "0223;minutes 4;",
+ "0224;secondds 1;",
+ "0225;secondds 2;",
+ "0226;secondds 3;",
+ "0227;secondds 4;",
+ "0228;rpm 1;",
+ "0229;rpm 2;",
+ "0230;rpm 3;",
+ "0231;rpm 4;",
+ "0232;g 1;",
+ "0233;g 2;",
+ "0234;g 3;",
+ "0235;g 4;",
+ "0250;Timer1;",
+ "0251;Timer2;",
+ "0252;RSSI Tx;",
+ "0253;RSSI Rx;",
+ "0254;A1;",
+ "0255;A2;",
+ "0256;Altitude;",
+ "0257;RPM;",
+ "0258;Fuel;",
+ "0259;T1;",
+ "0260;T2;",
+ "0261;Speed;",
+ "0262;Distance;",
+ "0263;GPS Altitude;",
+ "0264;LiPo Elements;",
+ "0265;LiPo Total;",
+ "0266;VFAS;",
+ "0267;Current;",
+ "0268;Consumption;",
+ "0269;Telemetry Power;",
+ "0270;Accel X;",
+ "0271;Accel Y;",
+ "0272;Accel Z;",
+ "0217;HDG;",
+ "0218;Vario;",
+ };
+
+ private static string[] default_pl_other_strings =
+ {
+ "atti;attitude;",
+ "batcrit;battery critical;",
+ "batlow;low battery;",
+ "camcenter;camera center;",
+ "camfix;camera fixed;",
+ "cammanual;camera manual;",
+ "flapsdn;flaps down;",
+ "flapsup;flaps up;",
+ "fltmode1;flight mode 1;",
+ "fltmode2;flight mode 2;",
+ "fltmode3;flight mode 3;",
+ "fltmode4;flight mode 4;",
+ "fltmode5;flight mode 5;",
+ "fltmode6;flight mode 6;",
+ "fltmode7;flight mode 7;",
+ "fltmode8;flight mode 8;",
+ "fltmode9;flight mode 9;",
+ "fsoff;failsafe off;",
+ "fson;failsafe on;",
+ "geardn;gear down;",
+ "gearup;gear upp;",
+ "gps;gps;",
+ "hirates;hi rates;",
+ "htoff;head tracker off;",
+ "hton;head tracker on;",
+ "ioc;ioc;",
+ "iocoff;ioc off;",
+ "lowrates;lowrates;",
+ "manual;manual;",
+ "normal;normal;",
+ "nrmmod;normal mode;",
+ "thrhold;throttle locked;",
+ "thrrel;throttle released;",
+ };
+
+ private static string[] default_sk_system_strings =
+ {
+ "0000;0;0",
+ "0001;1;jedna",
+ "0002;2;dva",
+ "0003;3;3",
+ "0004;4;4",
+ "0005;5;5",
+ "0006;6;6",
+ "0007;7;7",
+ "0008;8;8",
+ "0009;9;9",
+ "0010;10;10",
+ "0011;11;11",
+ "0012;12;12",
+ "0013;13;13",
+ "0014;14;14",
+ "0015;15;15",
+ "0016;16;16",
+ "0017;17;17",
+ "0018;18;18",
+ "0019;19;19",
+ "0020;20;20",
+ "0021;21;21",
+ "0022;22;22",
+ "0023;23;23",
+ "0024;24;24",
+ "0025;25;25",
+ "0026;26;26",
+ "0027;27;27",
+ "0028;28;28",
+ "0029;29;29",
+ "0030;30;30",
+ "0031;31;31",
+ "0032;32;32",
+ "0033;33;33",
+ "0034;34;34",
+ "0035;35;35",
+ "0036;36;36",
+ "0037;37;37",
+ "0038;38;38",
+ "0039;39;39",
+ "0040;40;40",
+ "0041;41;41",
+ "0042;42;42",
+ "0043;43;43",
+ "0044;44;44",
+ "0045;45;45",
+ "0046;46;46",
+ "0047;47;47",
+ "0048;48;48",
+ "0049;49;49",
+ "0050;50;50",
+ "0051;51;51",
+ "0052;52;52",
+ "0053;53;53",
+ "0054;54;54",
+ "0055;55;55",
+ "0056;56;56",
+ "0057;57;57",
+ "0058;58;58",
+ "0059;59;59",
+ "0060;60;60",
+ "0061;61;61",
+ "0062;62;62",
+ "0063;63;63",
+ "0064;64;64",
+ "0065;65;65",
+ "0066;66;66",
+ "0067;67;67",
+ "0068;68;68",
+ "0069;69;69",
+ "0070;70;70",
+ "0071;71;71",
+ "0072;72;72",
+ "0073;73;73",
+ "0074;74;74",
+ "0075;75;75",
+ "0076;76;76",
+ "0077;77;77",
+ "0078;78;78",
+ "0079;79;79",
+ "0080;80;80",
+ "0081;81;81",
+ "0082;82;82",
+ "0083;83;83",
+ "0084;84;84",
+ "0085;85;85",
+ "0086;86;86",
+ "0087;87;87",
+ "0088;88;88",
+ "0089;89;89",
+ "0090;90;90",
+ "0091;91;91",
+ "0092;92;92",
+ "0093;93;93",
+ "0094;94;94",
+ "0095;95;95",
+ "0096;96;96",
+ "0097;97;97",
+ "0098;98;98",
+ "0099;99;99",
+ "0100;100;100",
+ "0101;200;200",
+ "0102;300;300",
+ "0103;400;400",
+ "0104;500;500",
+ "0105;600;600",
+ "0106;700;700",
+ "0107;800;800",
+ "0108;900;900",
+ "0109;1000;1000",
+ "0110;2000;dvetisíc;",
+ "0111;JEDEN;jeden",
+ "0112;JEDNO;jedno",
+ "0113;DVE;dve",
+ "0114;CELA;celá",
+ "0115;CELE;celá",
+ "0116;CELYCH;celýnch",
+ "0117;MINUS;minus",
+ "0118;volt 1;volt",
+ "0119;volt 2;volty",
+ "0120;volt 3;voltov",
+ "0121;volt 4;volta",
+ "0122;amps 1;ampér",
+ "0123;amps 2;ampére",
+ "0124;amps 3;ampérov",
+ "0125;amps 4;ampéra",
+ "0126;mps 1;meter za sekundu",
+ "0127;mps 2;metre za sekundu",
+ "0128;mps 3;metrov za sekundu",
+ "0129;mps 4;metra za sekundu",
+ "0130;spare 1;jednotka",
+ "0131;spare 2;jednotky",
+ "0132;spare 3;jednotiek",
+ "0133;spare 4;jednotky",
+ "0134;kmh 1;kilometer za hodinu",
+ "0135;kmh 2;kilometre za hodinu",
+ "0136;kmh 3;kilometrov za hodinu",
+ "0137;kmh 4;kilometra za hodinu",
+ "0138;meter 1;meter",
+ "0139;meter 2;metre",
+ "0140;meter 3;metrov",
+ "0141;meter 4;metra",
+ "0142;degrees 1;stupeň",
+ "0143;degrees 2;stupně",
+ "0144;degrees 3;stupňov",
+ "0145;degrees 4;stupňa",
+ "0146;percent 1;percento",
+ "0147;percent 2;percentá",
+ "0148;percent 3;percent",
+ "0149;percent 4;percenta",
+ "0150;milliamps 1;miliampér",
+ "0151;milliamps 2;miliampére",
+ "0152;milliamps 3;miliampérov",
+ "0153;milliamps 4;miliampéra",
+ "0154;mAh 1;miliampérhodina",
+ "0155;mAh 2;miliampérhodiny",
+ "0156;mAh 3;miliampérhodín",
+ "0157;mAh 4;miliampérhodiny",
+ "0158;watt 1;vat",
+ "0159;watt 2;vaty",
+ "0160;watt 3;vatov",
+ "0161;watt 4;vatu",
+ "0162;db 1;decibel",
+ "0163;db 2;decibely",
+ "0164;db 3;decibelov",
+ "0165;db 4;decibela",
+ "0166;feet 1;stopa",
+ "0167;feet 2;stopy",
+ "0168;feet 3;stuop",
+ "0169;feet 4;stopy",
+ "0170;knot 1;uzol",
+ "0171;knot 2;uzly",
+ "0172;knot 3;uzlov",
+ "0173;knot 4;uzla",
+ "0174;hours 1;hodina",
+ "0175;hours 2;hodiny",
+ "0176;hours 3;hodín",
+ "0177;hours 4;hodiny",
+ "0178;minutes 1;minůta",
+ "0179;minutes 2;minůty",
+ "0180;minutes 3;minůt",
+ "0181;minutes 4;minůty",
+ "0182;secondds 1;sekunda",
+ "0183;secondds 2;sekundy",
+ "0184;secondds 3;sekund",
+ "0185;secondds 4;sekundy",
+ "0186;rpm 1;otáčka za minůtu",
+ "0187;rpm 2;otáčky za minůtu",
+ "0188;rpm 3;otáčok za minůtu",
+ "0189;rpm 4;otáčky za minůtu",
+ "0190;g 1;gé",
+ "0191;g 2;gé",
+ "0192;g 3;gé",
+ "0193;g 4;gé",
+ "a1_org;a1 low;",
+ "a1_red;a1 critical;",
+ "a2_org;a2 low;",
+ "a2_red;a2 critical;",
+ "endtrim;maximum trim reached;",
+ "inactiv;inactivity alarm;",
+ "lowbatt;radio battery low;",
+ "midtrim;trim center;",
+ "rssi_org;rf signal low;",
+ "rssi_red;rf signal critical;",
+ "swalert;switch warning;",
+ "swr_red;radio antenna defective;",
+ "tada;Start Sound;",
+ "telemko;telemetry lost;",
+ "telemok;telemetry recover;",
+ "thralert;throttle warning;",
+ "timer10;10 seconds;",
+ "timer20;20 seconds;",
+ "timer30;30 seconds;",
+ "timerlt3;timer sound;"
+ };
+
+ private static string[] default_sk_other_strings =
+ {
+ "atti;attitude;",
+ "batcrit;battery critical;",
+ "batlow;low battery;",
+ "camcenter;camera center;",
+ "camfix;camera fixed;",
+ "cammanual;camera manual;",
+ "flapsdn;flaps down;",
+ "flapsup;flaps up;",
+ "fltmode1;flight mode 1;",
+ "fltmode2;flight mode 2;",
+ "fltmode3;flight mode 3;",
+ "fltmode4;flight mode 4;",
+ "fltmode5;flight mode 5;",
+ "fltmode6;flight mode 6;",
+ "fltmode7;flight mode 7;",
+ "fltmode8;flight mode 8;",
+ "fltmode9;flight mode 9;",
+ "fsoff;failsafe off;",
+ "fson;failsafe on;",
+ "geardn;gear down;",
+ "gearup;gear upp;",
+ "gps;gps;",
+ "hirates;hi rates;",
+ "htoff;head tracker off;",
+ "hton;head tracker on;",
+ "ioc;ioc;",
+ "iocoff;ioc off;",
+ "lowrates;lowrates;",
+ "manual;manual;",
+ "normal;normal;",
+ "nrmmod;normal mode;",
+ "thrhold;throttle locked;",
+ "thrrel;throttle released;"
+ };
+
+ private static string[] default_es_system_strings =
+ {
+ "0000;0;0",
+ "0001;1;1",
+ "0002;2;2",
+ "0003;3;3",
+ "0004;4;4",
+ "0005;5;5",
+ "0006;6;6",
+ "0007;7;7",
+ "0008;8;8",
+ "0009;9;9",
+ "0010;10;10",
+ "0011;11;11",
+ "0012;12;12",
+ "0013;13;13",
+ "0014;14;14",
+ "0015;15;15",
+ "0016;16;16",
+ "0017;17;17",
+ "0018;18;18",
+ "0019;19;19",
+ "0020;20;20",
+ "0021;21;21",
+ "0022;22;22",
+ "0023;23;23",
+ "0024;24;24",
+ "0025;25;25",
+ "0026;26;26",
+ "0027;27;27",
+ "0028;28;28",
+ "0029;29;29",
+ "0030;30;30",
+ "0031;31;31",
+ "0032;32;32",
+ "0033;33;33",
+ "0034;34;34",
+ "0035;35;35",
+ "0036;36;36",
+ "0037;37;37",
+ "0038;38;38",
+ "0039;39;39",
+ "0040;40;40",
+ "0041;41;41",
+ "0042;42;42",
+ "0043;43;43",
+ "0044;44;44",
+ "0045;45;45",
+ "0046;46;46",
+ "0047;47;47",
+ "0048;48;48",
+ "0049;49;49",
+ "0050;50;50",
+ "0051;51;51",
+ "0052;52;52",
+ "0053;53;53",
+ "0054;54;54",
+ "0055;55;55",
+ "0056;56;56",
+ "0057;57;57",
+ "0058;58;58",
+ "0059;59;59",
+ "0060;60;60",
+ "0061;61;61",
+ "0062;62;62",
+ "0063;63;63",
+ "0064;64;64",
+ "0065;65;65",
+ "0066;66;66",
+ "0067;67;67",
+ "0068;68;68",
+ "0069;69;69",
+ "0070;70;70",
+ "0071;71;71",
+ "0072;72;72",
+ "0073;73;73",
+ "0074;74;74",
+ "0075;75;75",
+ "0076;76;76",
+ "0077;77;77",
+ "0078;78;78",
+ "0079;79;79",
+ "0080;80;80",
+ "0081;81;81",
+ "0082;82;82",
+ "0083;83;83",
+ "0084;84;84",
+ "0085;85;85",
+ "0086;86;86",
+ "0087;87;87",
+ "0088;88;88",
+ "0089;89;89",
+ "0090;90;90",
+ "0091;91;91",
+ "0092;92;92",
+ "0093;93;93",
+ "0094;94;94",
+ "0095;95;95",
+ "0096;96;96",
+ "0097;97;97",
+ "0098;98;98",
+ "0099;99;99",
+ "0100;100;100",
+ "0101;;ciento",
+ "0102;;doscientos",
+ "0103;;trescientos",
+ "0104;;cuatrocientos",
+ "0105;;quinientos",
+ "0106;;sescientos",
+ "0107;;setecientos",
+ "0108;;ochocientos",
+ "0109;;nuevecientos",
+ "0110;;mil",
+ "0111;;coma",
+ "0112;;un",
+ "0113;;una",
+ "0114;;y",
+ "0115;;meno",
+ "0116;;hora",
+ "0117;;horas",
+ "0118;;minuto",
+ "0119;;minutos",
+ "0120;;segundo",
+ "0121;;segundos",
+ "0122;;Voltio",
+ "0123;;ampério",
+ "0124;;metros por segundo",
+ "0125;;",
+ "0126;;kilómetro por hora",
+ "0127;;metros",
+ "0128;;grados",
+ "0129;;por ciento",
+ "0130;;miliamperios",
+ "0131;;miliamperios por hora",
+ "0132;;vatio",
+ "0133;;db",
+ "0134;;pés",
+ "0135;;nós",
+ "0136;;horas",
+ "0137;;minutos",
+ "0138;;segundos",
+ "0139;;RPM",
+ "0140;;g",
+ "0141;;cronómetro",
+ "0142;;cronómetro",
+ "0143;;transmisión",
+ "0144;;recepción",
+ "0145;;A1",
+ "0146;;A2",
+ "0147;;altitud",
+ "0148;;motor",
+ "0149;;combustible",
+ "0150;;temperatura",
+ "0151;;temperatura",
+ "0152;;velocidad",
+ "0153;;distancia",
+ "0154;;altitude",
+ "0155;;célula lipo",
+ "0156;;Total lipo",
+ "0157;;voltaje",
+ "0158;;corriente",
+ "0159;;consumo",
+ "0160;;potencia",
+ "0161;;aceleración X",
+ "0162;;aceleración Y",
+ "0163;;aceleración Z",
+ "0164;;dirección",
+ "0165;;variómetro",
+ "0166;;minimo",
+ "0167;;máximo",
+ "a1_org;;Alarma A1",
+ "a1_red;;A1 crítica",
+ "a2_org;;Alarma A2",
+ "a2_red;;A2 crítica",
+ "eebad;;eeprom corrompida",
+ "eeformat;;Formateo de eeprom en curso",
+ "endtrim;;trim al máximo",
+ "error;;error",
+ "highmah;;assorbimiento elevado",
+ "hightemp;;temperatura elevada",
+ "inactiv;;me tienes abandonada",
+ "lowbatt;;batería del transmisor baja",
+ "midpot;;potenciómetro centrado",
+ "midtrim;;trim centrado",
+ "rssi_org;;recepcion de señal baja",
+ "rssi_red;;recepción de señal crítica",
+ "swr_red;;Problemas con la antena del transmisor",
+ "swalert;;Los interruptores no están en la posición correcta, por favor corrijalo",
+ "tada;OpenTX Welcome sound;Bienvenida a OpenTX",
+ "telemko;;Sin telemetría",
+ "telemok;;Telemetría disponible",
+ "thralert;;El acelerador está activado, por favor, corrijalo",
+ "timer10;;10 segundos",
+ "timer20;;20 segundos",
+ "timer30;;30 segundos",
+ "timerlt3;;3 segundos"
+ };
+
+ private static string[] default_es_other_strings =
+ {
+ "attero;;aterrizaje",
+ "crowof;;crou, desligado",
+ "crowon;;crou, activo",
+ "engoff;;motor apagado",
+ "flapdn;;flaps abajo",
+ "flapup;;flaps arriba",
+ "fltmd1;;fase de vuelo 1",
+ "fltmd2;;fase de vuelo 2",
+ "fltmd3;;fase de vuelo 3",
+ "fltmd4;;fase de vuelo 4",
+ "fltmd5;;fase de vuelo 5",
+ "fltmd6;;fase de vuelo 6",
+ "fltmd7;;fase de vuelo 7",
+ "fltmd8;;fase de vuelo 8",
+ "fltmd9;;fase de vuelo 9",
+ "geardn;;tren abajo.",
+ "gearup;;tren arriba.",
+ "lowbat;;bateria baja",
+ "nrmmod;;modo de vuelo normal",
+ "spdmod;;modo de velocidad",
+ "thmmod;;modo de térmica",
+ "trnoff;;modo de entrenamiento deshabilitado",
+ "trnon;;modo de entrenamiento activado",
+ "tohigh;;muy alto",
+ "tolow;;muy bajo"
+ };
+
+ private static string[] default_pt_system_strings =
+ {
+ "0000;0;0",
+ "0001;1;1",
+ "0002;2;2",
+ "0003;3;3",
+ "0004;4;4",
+ "0005;5;5",
+ "0006;6;6",
+ "0007;7;7",
+ "0008;8;8",
+ "0009;9;9",
+ "0010;10;10",
+ "0011;11;11",
+ "0012;12;12",
+ "0013;13;13",
+ "0014;14;14",
+ "0015;15;15",
+ "0016;16;16",
+ "0017;17;17",
+ "0018;18;18",
+ "0019;19;19",
+ "0020;20;20",
+ "0021;21;21",
+ "0022;22;22",
+ "0023;23;23",
+ "0024;24;24",
+ "0025;25;25",
+ "0026;26;26",
+ "0027;27;27",
+ "0028;28;28",
+ "0029;29;29",
+ "0030;30;30",
+ "0031;31;31",
+ "0032;32;32",
+ "0033;33;33",
+ "0034;34;34",
+ "0035;35;35",
+ "0036;36;36",
+ "0037;37;37",
+ "0038;38;38",
+ "0039;39;39",
+ "0040;40;40",
+ "0041;41;41",
+ "0042;42;42",
+ "0043;43;43",
+ "0044;44;44",
+ "0045;45;45",
+ "0046;46;46",
+ "0047;47;47",
+ "0048;48;48",
+ "0049;49;49",
+ "0050;50;50",
+ "0051;51;51",
+ "0052;52;52",
+ "0053;53;53",
+ "0054;54;54",
+ "0055;55;55",
+ "0056;56;56",
+ "0057;57;57",
+ "0058;58;58",
+ "0059;59;59",
+ "0060;60;60",
+ "0061;61;61",
+ "0062;62;62",
+ "0063;63;63",
+ "0064;64;64",
+ "0065;65;65",
+ "0066;66;66",
+ "0067;67;67",
+ "0068;68;68",
+ "0069;69;69",
+ "0070;70;70",
+ "0071;71;71",
+ "0072;72;72",
+ "0073;73;73",
+ "0074;74;74",
+ "0075;75;75",
+ "0076;76;76",
+ "0077;77;77",
+ "0078;78;78",
+ "0079;79;79",
+ "0080;80;80",
+ "0081;81;81",
+ "0082;82;82",
+ "0083;83;83",
+ "0084;84;84",
+ "0085;85;85",
+ "0086;86;86",
+ "0087;87;87",
+ "0088;88;88",
+ "0089;89;89",
+ "0090;90;90",
+ "0091;91;91",
+ "0092;92;92",
+ "0093;93;93",
+ "0094;94;94",
+ "0095;95;95",
+ "0096;96;96",
+ "0097;97;97",
+ "0098;98;98",
+ "0099;99;99",
+ "0100;100;100",
+ "0101;;cento",
+ "0102;;duzentos",
+ "0103;;trezentos",
+ "0104;;quatrocentos",
+ "0105;;quinhentos",
+ "0106;;seiscentos",
+ "0107;;setecentos",
+ "0108;;oitocentos",
+ "0109;;novecentos",
+ "0110;;mil",
+ "0111;;virgula",
+ "0112;;uma",
+ "0113;;duas",
+ "0114;;e",
+ "0115;;menos",
+ "0116;;hora",
+ "0117;;horas",
+ "0118;;minuto",
+ "0119;;minutos",
+ "0120;;segundo",
+ "0121;;segundos",
+ "0122;;Volt",
+ "0123;;ampére",
+ "0124;;metros por segundo",
+ "0125;;",
+ "0126;;quilômetros por hora",
+ "0127;;metros",
+ "0128;;graus",
+ "0129;;cento",
+ "0130;;miliamperes",
+ "0131;;miliamperes por hora",
+ "0132;;watt",
+ "0133;;db",
+ "0134;;pés",
+ "0135;;nós",
+ "0136;;horas",
+ "0137;;minutos",
+ "0138;;segundos",
+ "0139;;RPM",
+ "0140;;g",
+ "0141;;cronómetro",
+ "0142;;cronómetro",
+ "0143;;transmissão",
+ "0144;;recepção",
+ "0145;;A1",
+ "0146;;A2",
+ "0147;;altitude",
+ "0148;;motor",
+ "0149;;combustível",
+ "0150;;temperatura",
+ "0151;;temperatura",
+ "0152;;velocidade",
+ "0153;;distância",
+ "0154;;altitude",
+ "0155;;célula lipo",
+ "0156;;Total lipo",
+ "0157;;tensão",
+ "0158;;corrente",
+ "0159;;consumo",
+ "0160;;potência",
+ "0161;;aceleração X",
+ "0162;;aceleração Y",
+ "0163;;aceleração Z",
+ "0164;;Direcção",
+ "0165;;variómetro",
+ "0166;;mínimo",
+ "0167;;máximo",
+ "a1_org;;Alarme A1",
+ "a1_red;;A1 critica",
+ "a2_org;;Alarme A2",
+ "a2_red;;A2 critica",
+ "eebad;;eeprom corrompida",
+ "eeformat;;formatação da eeprom em curso",
+ "endtrim;;trim no máximo",
+ "error;;erro",
+ "highmah;;assorbimento elevato",
+ "hightemp;;temperatura elevata",
+ "inactiv;;atenção, o rádio foi esquecido ligado, por favor desligue-o",
+ "midtrim;;trim centrado",
+ "midpot;;potenciómetro centrado",
+ "lowbatt;;bateria do rádio fraca",
+ "rssi_org;;recepção de sinal muito baixa",
+ "rssi_red;;recepção de sinal crítica",
+ "swalert;;atenção, certifique-se que os interruptores estão na posição certa",
+ "swr_red;;Problema com a antena do transmissor",
+ "tada;;Bem-vindo ao OpenTX",
+ "thralert;;atenção,acelerador não está no mínimo",
+ "timer10;;10 segundos",
+ "timer20;;20 segundos",
+ "timer30;;30 segundos",
+ "timerlt3;;três segundo"
+ };
+
+ private static string[] default_pt_other_strings =
+ {
+ "attero;;aterragem",
+ "crowof;;crou, desligado",
+ "crowon;;crou, activo",
+ "engoff;;motor desligado",
+ "flapdn;;flaps estendidos",
+ "flapup;;flaps recolhidos",
+ "fltmd1;;fase de voo 1",
+ "fltmd2;;fase de voo 2",
+ "fltmd3;;fase de voo 3",
+ "fltmd4;;fase de voo 4",
+ "fltmd5;;fase de voo 5",
+ "fltmd6;;fase de vôo 6",
+ "fltmd7;;fase de voo 7",
+ "fltmd8;;fase de voo 8",
+ "fltmd9;;fase de voo 9",
+ "geardn;;trem, em baixo.",
+ "gearup;;trem, em cima.",
+ "lowbat;;bateria fraca",
+ "nrmmod;;modo de voo normal",
+ "sigcrt;;sinal crítico",
+ "siglow;;sinal baixo",
+ "spdmod;;modo de velocidade",
+ "thmmod;;modo de térmica",
+ "trnoff;;modo de treino desligado",
+ "trnon;;modo de treino ligado",
+ "tohigh;;muito alto",
+ "tolow;;muito baixo"
+ };
+
+ private static string[] default_cz_system_strings =
+ {
+ "0000;0;nula",
+ "0001;1;jedna",
+ "0002;2;dva",
+ "0003;3;3",
+ "0004;4;4",
+ "0005;5;5",
+ "0006;6;6",
+ "0007;7;7",
+ "0008;8;8",
+ "0009;9;9",
+ "0010;10;10",
+ "0011;11;11",
+ "0012;12;12",
+ "0013;13;13",
+ "0014;14;14",
+ "0015;15;15",
+ "0016;16;16",
+ "0017;17;17",
+ "0018;18;18",
+ "0019;19;19",
+ "0020;20;20",
+ "0021;21;21",
+ "0022;22;22",
+ "0023;23;23",
+ "0024;24;24",
+ "0025;25;25",
+ "0026;26;26",
+ "0027;27;27",
+ "0028;28;28",
+ "0029;29;29",
+ "0030;30;30",
+ "0031;31;31",
+ "0032;32;32",
+ "0033;33;33",
+ "0034;34;34",
+ "0035;35;35",
+ "0036;36;36",
+ "0037;37;37",
+ "0038;38;38",
+ "0039;39;39",
+ "0040;40;40",
+ "0041;41;41",
+ "0042;42;42",
+ "0043;43;43",
+ "0044;44;44",
+ "0045;45;45",
+ "0046;46;46",
+ "0047;47;47",
+ "0048;48;48",
+ "0049;49;49",
+ "0050;50;50",
+ "0051;51;51",
+ "0052;52;52",
+ "0053;53;53",
+ "0054;54;54",
+ "0055;55;55",
+ "0056;56;56",
+ "0057;57;57",
+ "0058;58;58",
+ "0059;59;59",
+ "0060;60;60",
+ "0061;61;61",
+ "0062;62;62",
+ "0063;63;63",
+ "0064;64;64",
+ "0065;65;65",
+ "0066;66;66",
+ "0067;67;67",
+ "0068;68;68",
+ "0069;69;69",
+ "0070;70;70",
+ "0071;71;71",
+ "0072;72;72",
+ "0073;73;73",
+ "0074;74;74",
+ "0075;75;75",
+ "0076;76;76",
+ "0077;77;77",
+ "0078;78;78",
+ "0079;79;79",
+ "0080;80;80",
+ "0081;81;81",
+ "0082;82;82",
+ "0083;83;83",
+ "0084;84;84",
+ "0085;85;85",
+ "0086;86;86",
+ "0087;87;87",
+ "0088;88;88",
+ "0089;89;89",
+ "0090;90;90",
+ "0091;91;91",
+ "0092;92;92",
+ "0093;93;93",
+ "0094;94;94",
+ "0095;95;95",
+ "0096;96;96",
+ "0097;97;97",
+ "0098;98;98",
+ "0099;99;99",
+ "0100;;sto",
+ "0101;;dvěsta",
+ "0102;;třista",
+ "0103;;čtyřista",
+ "0104;;pětset",
+ "0105;;šestset",
+ "0106;;sedmset",
+ "0107;;osmset",
+ "0108;;devětset",
+ "0109;;tisíc",
+ "0110;;tisíce",
+ "0111;;jeden",
+ "0112;;jedno",
+ "0113;;dvě",
+ "0114;;celá",
+ "0115;;celé",
+ "0116;;celých",
+ "0117;;mínus",
+ "0118;;volt",
+ "0119;;volty",
+ "0120;;voltů",
+ "0121;;voltu",
+ "0122;;ampér",
+ "0123;;ampéry",
+ "0124;;ampérů",
+ "0125;;ampéru",
+ "0126;;metr za sekundu",
+ "0127;;metry za sekundu",
+ "0128;;metrů za sekundu",
+ "0129;;metru za sekundu",
+ "0130;;jednotka",
+ "0131;;jednotky",
+ "0132;;jednotek",
+ "0133;;jednotky",
+ "0134;;kilometr za hodinu",
+ "0135;;kilometry za hodinu",
+ "0136;;kilometrů za hodinu",
+ "0137;;kilometru za hodinu",
+ "0138;;metr",
+ "0139;;metry",
+ "0140;;metrů",
+ "0141;;metru",
+ "0142;;stupeň",
+ "0143;;stupně",
+ "0144;;stupňů",
+ "0145;;stupně",
+ "0146;;procento",
+ "0147;;procenta",
+ "0148;;procento",
+ "0149;;procenta",
+ "0150;;miliampér",
+ "0151;;miliampéry",
+ "0152;;miliampérů",
+ "0153;;miliampéru",
+ "0154;;miliampérhodina",
+ "0155;;miliampérhodiny",
+ "0156;;miliampérhodin",
+ "0157;;miliampérhodiny",
+ "0158;;vat",
+ "0159;;vaty",
+ "0160;;vatů",
+ "0161;;vatu",
+ "0162;;decibel",
+ "0163;;decibely",
+ "0164;;decibelů",
+ "0165;;decibelu",
+ "0166;;stopa",
+ "0167;;stopy",
+ "0168;;stop",
+ "0169;;stopy",
+ "0170;;uzel",
+ "0171;;uzly",
+ "0172;;uzlů",
+ "0173;;uzlu",
+ "0174;;hodina",
+ "0175;;hodiny",
+ "0176;;hodin",
+ "0177;;hodiny",
+ "0178;;minuta",
+ "0179;;minuty",
+ "0180;;minut",
+ "0181;;minuty",
+ "0182;;sekunda",
+ "0183;;sekundy",
+ "0184;;sekund",
+ "0185;;sekundy",
+ "0186;;otáčka za minutu",
+ "0187;;otáčky za minutu",
+ "0188;;otáček za minutu",
+ "0189;;otáčky za minutu",
+ "0190;;gé",
+ "0191;;gé",
+ "0192;;gé",
+ "0193;;gé",
+ "a1_org;;A1,nízká",
+ "a1_red;;A1,kritická",
+ "a2_org;;A2,nízká",
+ "a2_red;;A2,kritická",
+ "eebad;;neplatná eeprom",
+ "endtrim;;maximum trimu",
+ "inactiv;;zapoměl jsi na mě!",
+ "lowbatt;;baterie rádia je vybitá",
+ "midtrim;;střed trimu",
+ "rssi_org;;nízký RF signál",
+ "rssi_red;;kritický RF signál",
+ "swalert;;přepínače nejsou ve výchozí poloze",
+ "swr_red;;problém s anténou rádia",
+ "tada;;Oupn najn iks",
+ "telemko;;telemetrie ztracena",
+ "telemok;;telemetrie je funkční",
+ "thralert;;plyn není na nule",
+ "timer10;;deset sekund",
+ "timer20;;dvacet sekund",
+ "timer30;;třicet sekund",
+ "timerlt3;;tři sekund!"
+ };
+
+ private static string[] default_cz_other_strings =
+ {
+ "bytvybita;;baterie modelu je vybitá",
+ "klapky0;;klapky jsou vypnuty",
+ "klapky1;;klapky jsou zapnuty",
+ "ksignal;;kritický signál!",
+ "motor0;;motor je vypnut",
+ "motor1;;motor je aktivován",
+ "nizko;;jsi příliš nízko",
+ "nsignal;;nízký signál!",
+ "palivo;;dochází palivo",
+ "podvozek0;;podvozek je zasunut",
+ "podvozek1;;podvozek je vysunut",
+ "r_norm;;normální režim aktivován",
+ "r_pristani;;režim přistání aktivován",
+ "r_rychly;;rychlý režim aktivován",
+ "r_start;;režim start aktivován",
+ "r_termik;;termický režim aktivován",
+ "stpovolen;;start povolen",
+ "trener0;;trenér je vypnutý",
+ "trener1;;trenér je zapnut",
+ "vario0;;vario je zapnuto",
+ "vario1;;vario je vypnuto",
+ "vysoko;;jsi příliš vysoko"
+ };
+
+ private static string[] default_en_system_strings =
+ {
+ "0000;0;0",
+ "0001;1;1",
+ "0002;2;2",
+ "0003;3;3",
+ "0004;4;4",
+ "0005;5;5",
+ "0006;6;6",
+ "0007;7;7",
+ "0008;8;8",
+ "0009;9;9",
+ "0010;10;10",
+ "0011;11;11",
+ "0012;12;12",
+ "0013;13;13",
+ "0014;14;14",
+ "0015;15;15",
+ "0016;16;16",
+ "0017;17;17",
+ "0018;18;18",
+ "0019;19;19",
+ "0020;20;20",
+ "0021;21;21",
+ "0022;22;22",
+ "0023;23;23",
+ "0024;24;24",
+ "0025;25;25",
+ "0026;26;26",
+ "0027;27;27",
+ "0028;28;28",
+ "0029;29;29",
+ "0030;30;30",
+ "0031;31;31",
+ "0032;32;32",
+ "0033;33;33",
+ "0034;34;34",
+ "0035;35;35",
+ "0036;36;36",
+ "0037;37;37",
+ "0038;38;38",
+ "0039;39;39",
+ "0040;40;40",
+ "0041;41;41",
+ "0042;42;42",
+ "0043;43;43",
+ "0044;44;44",
+ "0045;45;45",
+ "0046;46;46",
+ "0047;47;47",
+ "0048;48;48",
+ "0049;49;49",
+ "0050;50;50",
+ "0051;51;51",
+ "0052;52;52",
+ "0053;53;53",
+ "0054;54;54",
+ "0055;55;55",
+ "0056;56;56",
+ "0057;57;57",
+ "0058;58;58",
+ "0059;59;59",
+ "0060;60;60",
+ "0061;61;61",
+ "0062;62;62",
+ "0063;63;63",
+ "0064;64;64",
+ "0065;65;65",
+ "0066;66;66",
+ "0067;67;67",
+ "0068;68;68",
+ "0069;69;69",
+ "0070;70;70",
+ "0071;71;71",
+ "0072;72;72",
+ "0073;73;73",
+ "0074;74;74",
+ "0075;75;75",
+ "0076;76;76",
+ "0077;77;77",
+ "0078;78;78",
+ "0079;79;79",
+ "0080;80;80",
+ "0081;81;81",
+ "0082;82;82",
+ "0083;83;83",
+ "0084;84;84",
+ "0085;85;85",
+ "0086;86;86",
+ "0087;87;87",
+ "0088;88;88",
+ "0089;89;89",
+ "0090;90;90",
+ "0091;91;91",
+ "0092;92;92",
+ "0093;93;93",
+ "0094;94;94",
+ "0095;95;95",
+ "0096;96;96",
+ "0097;97;97",
+ "0098;98;98",
+ "0099;99;99",
+ "0100;100;100",
+ "0101;200;200",
+ "0102;300;300",
+ "0103;400;400",
+ "0104;500;500",
+ "0105;600;600",
+ "0106;700;700",
+ "0107;800;800",
+ "0108;900;900",
+ "0109;thousand;thousand",
+ "0111;minus;minus",
+ "0112;point;point",
+ "0115;volt;volt",
+ "0116;volts;volts",
+ "0117;amp;ampere",
+ "0118;amps;ampere",
+ "0119;meter per second;meter per second",
+ "0120;meters per second;meters per second",
+ "0123;kmh;k-m-h",
+ "0124;kmh;k-m-h",
+ "0125;meter;meter",
+ "0126;meters;meters",
+ "0127;degree;degree",
+ "0128;degrees;degrees",
+ "0129;percent;percent",
+ "0130;percent;percent",
+ "0131;milliamp;milliamp",
+ "0132;milliamps;milliamps",
+ "0133;mah;m-a-h",
+ "0134;mah;m-a-h",
+ "0135;watt;watt",
+ "0136;watts;watts",
+ "0137;db;db",
+ "0138;db;db",
+ "0140;feet;feet",
+ "0141;knot;knot",
+ "0142;knots;knots",
+ "0143;hour;hour",
+ "0144;hours;hours",
+ "0145;minute;minute",
+ "0146;minutes;minutes",
+ "0147;second;second",
+ "0148;seconds;seconds",
+ "0149;rpm;r-p-m",
+ "0150;rpm;r-p-m",
+ "0151;g;gee",
+ "0152;g;gees",
+ "0160;point zero;point zero",
+ "0161;point one;point one",
+ "0162;point two;point two",
+ "0163;point three;point three",
+ "0164;point four;point four",
+ "0165;point five;point five",
+ "0166;point six;point six",
+ "0167;point seven;point seven",
+ "0168;point eight;point eight",
+ "0169;point nine;point nine",
+ "a1_org;a1 low;a1 low",
+ "a1_red;a1 critical;a1 critical",
+ "a2_org;a2 low;a2 low",
+ "a2_red;a2 critical;a2 critical",
+ "endtrim;maximum trim reached;maximum trim reached",
+ "inactiv;inactivity alarm;inactivity alarm",
+ "lowbatt;radio battery low;radio battery low",
+ "midtrim;trim center;center",
+ "rssi_org;rf signal low;rf signal low",
+ "rssi_red;rf signal critical;rf signal critical",
+ "swalert;switch warning;switch warning",
+ "swr_red;radio antenna defective;radio antenna defective",
+ "tada;Start Sound;welcome to open T-X",
+ "telemko;telemetry lost;telemetry lost",
+ "telemok;telemetry recover;telemetry recover",
+ "thralert;throttle warning;throttle warning",
+ "timer10;10 seconds;10 seconds",
+ "timer20;20 seconds;20 seconds",
+ "timer30;30 seconds;30 seconds",
+ "timerlt3;timer sound;3 seconds"
+ };
+
+ private static string[] default_en_other_strings =
+ {
+ "atti;attitude;attitude",
+ "batcrit;battery critical;battery critical",
+ "batlow;low battery;low battery",
+ "camcenter;camera center;camera center",
+ "camfix;camera fixed;camera fixed",
+ "cammanual;camera manual;camera manual",
+ "capacity;capacity;capacity",
+ "engdis;engine disabled;engine disabled",
+ "engoff;engine off;engine off",
+ "engon;engine on;engine on",
+ "flaps1;flaps 1;flaps 1",
+ "flaps2;flaps 2;flaps 2",
+ "flapsdn;flaps down;flaps down",
+ "flapsup;flaps up;flaps up",
+ "fltmode1;flight mode one;flight mode one",
+ "fltmode2;flight mode two;flight mode two",
+ "fltmode3;flight mode three;flight mode three",
+ "fltmode4;flight mode four;flight mode four",
+ "fltmode5;flight mode five;flight mode five",
+ "fltmode6;flight mode six;flight mode six",
+ "fltmode7;flight mode seven;flight mode seven",
+ "fltmode8;flight mode eight;flight mode eight",
+ "fsoff;failsafe off;failsafe off",
+ "fson;failsafe on;failsafe on",
+ "geardn;gear down;gear down",
+ "gearup;gear upp;gear upp",
+ "gps;gps;G-P-S",
+ "horn;horn sound;eeeeeeeee",
+ "hirates;hi rates;hi rates",
+ "htoff;head tracker off;head tracker off",
+ "hton;head tracker on;head tracker on",
+ "ioc;ioc;ioc",
+ "iocoff;ioc off;ioc off",
+ "lowrates;lowrates;lowrates",
+ "manual;manual;manual",
+ "normal;normal;normal",
+ "nrmmod;normal mode;normal mode",
+ "pouet;small horn;ee , ee",
+ "shutter;camera shutter sound;klick",
+ "thrhold;throttle locked;throttle locked",
+ "thrrel;throttle released;throttle released",
+ "wizz;wizzing sound;shiss"
+ };
+
+ private static string[] default_se_system_strings =
+ {
+ "0000;0;0",
+ "0001;1;en",
+ "0002;2;2",
+ "0003;3;3",
+ "0004;4;4",
+ "0005;5;5",
+ "0006;6;6",
+ "0007;7;7",
+ "0008;8;8",
+ "0009;9;9",
+ "0010;10;10",
+ "0011;11;11",
+ "0012;12;12",
+ "0013;13;13",
+ "0014;14;14",
+ "0015;15;15",
+ "0016;16;16",
+ "0017;17;17",
+ "0018;18;18",
+ "0019;19;19",
+ "0020;20;20",
+ "0021;21;tjugoen",
+ "0022;22;22",
+ "0023;23;23",
+ "0024;24;24",
+ "0025;25;25",
+ "0026;26;26",
+ "0027;27;27",
+ "0028;28;28",
+ "0029;29;29",
+ "0030;30;30",
+ "0031;31;trettioen",
+ "0032;32;32",
+ "0033;33;33",
+ "0034;34;34",
+ "0035;35;35",
+ "0036;36;36",
+ "0037;37;37",
+ "0038;38;38",
+ "0039;39;39",
+ "0040;40;40",
+ "0041;41;fyrtioen",
+ "0042;42;42",
+ "0043;43;43",
+ "0044;44;44",
+ "0045;45;45",
+ "0046;46;46",
+ "0047;47;47",
+ "0048;48;48",
+ "0049;49;49",
+ "0050;50;50",
+ "0051;51;femtioen",
+ "0052;52;52",
+ "0053;53;53",
+ "0054;54;54",
+ "0055;55;55",
+ "0056;56;56",
+ "0057;57;57",
+ "0058;58;58",
+ "0059;59;59",
+ "0060;60;60",
+ "0061;61;sextioen",
+ "0062;62;62",
+ "0063;63;63",
+ "0064;64;64",
+ "0065;65;65",
+ "0066;66;66",
+ "0067;67;67",
+ "0068;68;68",
+ "0069;69;69",
+ "0070;70;70",
+ "0071;71;sjuttioen",
+ "0072;72;72",
+ "0073;73;73",
+ "0074;74;74",
+ "0075;75;75",
+ "0076;76;76",
+ "0077;77;77",
+ "0078;78;78",
+ "0079;79;79",
+ "0080;80;80",
+ "0081;81;åttioen",
+ "0082;82;82",
+ "0083;83;83",
+ "0084;84;84",
+ "0085;85;85",
+ "0086;86;86",
+ "0087;87;87",
+ "0088;88;88",
+ "0089;89;89",
+ "0090;90;90",
+ "0091;91;nittioen",
+ "0092;92;92",
+ "0093;93;93",
+ "0094;94;94",
+ "0095;95;95",
+ "0096;96;96",
+ "0097;97;97",
+ "0098;98;98",
+ "0099;99;99",
+ "0100;100;100",
+ "0101;200;200",
+ "0102;300;300",
+ "0103;400;400",
+ "0104;500;500",
+ "0105;600;600",
+ "0106;700;700",
+ "0107;800;800",
+ "0108;900;900",
+ "0109;thousand;tusen",
+ "0111;minus;minus",
+ "0112;point;komma",
+ "0115;volt;volt",
+ "0116;volts;volt",
+ "0117;amp;ampere",
+ "0118;amps;ampere",
+ "0119;meter per second;meter per sekund",
+ "0120;meters per second;meter per sekund",
+ "0123;kmh;kilometer i timmen",
+ "0124;kmh;kilometer i timmen",
+ "0125;meter;meter",
+ "0126;meters;meter",
+ "0127;degree;grad",
+ "0128;degrees;grader",
+ "0129;percent;procent",
+ "0130;percent;procent",
+ "0131;milliamp;milliampere",
+ "0132;milliamps;milliampere",
+ "0133;mah;milliampere-timme",
+ "0134;mah;milliampere-timmar",
+ "0135;watt;watt",
+ "0136;watts;watt",
+ "0137;db;dessibell",
+ "0138;db;dessibell",
+ "0140;feet;fot",
+ "0141;knot;knop",
+ "0142;knots;knop",
+ "0143;hour;timme",
+ "0144;hours;timmar",
+ "0145;minute;minut",
+ "0146;minutes;minuter",
+ "0147;second;sekund",
+ "0148;seconds;sekunder",
+ "0149;rpm;varv i minuten",
+ "0150;rpm;varv i minuten",
+ "0151;g;g",
+ "0152;g;g",
+ "0160;point zero;komma noll",
+ "0161;point one;komma en",
+ "0162;point two;komma två",
+ "0163;point three;komma tre",
+ "0164;point four;komma fyra",
+ "0165;point five;komma fem",
+ "0166;point six;komma sex",
+ "0167;point seven;komma sju",
+ "0168;point eight;komma åtta",
+ "0169;point nine;komma nio",
+ "a1_org;a1 low;a1 låg",
+ "a1_red;a1 critical;a1 kritisk",
+ "a2_org;a2 low;a2 låg",
+ "a2_red;a2 critical;a2 kritisk",
+ "endtrim;maximum trim reached;maximum trim",
+ "inact;inactivity alarm;inaktivitets-larm",
+ "lowbat;radio battery low;Låg radiobatterispänning",
+ "midtrim;trim center;center",
+ "rssi_org;rf signal low;Svag radio-signal",
+ "rssi_red;rf signal critical;Kritisk radio-signal",
+ "swalert;switch warning;brytar-varning",
+ "swr_red;;radio-antennen är defekt",
+ "tada;;Välkommen till open Te Ex",
+ "telemko;;telemetri förlorad",
+ "telemok;;telemetri åter",
+ "thralert;;gas-varning",
+ "timer10;;10 sekunder",
+ "timer20;;20 sekunder",
+ "timer30;;30 sekunder",
+ "timerlt3;timer sound;3 sekunder"
+ };
+
+ private static string[] default_se_other_strings =
+ {
+ "atti;;lutning",
+ "batcrit;;kritisk batteri-nivå",
+ "batlow;;låg batteri-nivå",
+ "camcenter;;kamera centrerad",
+ "cammanual;;manuell kamera-kontroll",
+ "capacity;;kapacitet",
+ "engdis;;motor säkrad",
+ "engoff;;motor avslagen",
+ "engon;;motor på",
+ "flaps1;;flaps läge, ett",
+ "flaps2;;flaps läge två",
+ "flapsdn;;flaps ned",
+ "flapsup;;flaps upp",
+ "fltmode1;;flyg-läge, ett",
+ "fltmode2;;flyg-läge två",
+ "fltmode3;;flyg-läge tre",
+ "fltmode4;;flyg-läge fyra",
+ "fltmode5;;flyg-läge fem",
+ "fltmode6;;flyg-läge sex",
+ "fltmode7;;flyg-läge sju",
+ "fltmode8;;flyg-läge åtta",
+ "fsoff;;fäjlsäif avslagen",
+ "fson;;fäjlsäif på",
+ "geardn;;landningsställ ned",
+ "gearup;;landningsställ upp",
+ "gps;;GPS",
+ "hirates;;höga nivåer",
+ "htoff;;head tracker avslagen",
+ "hton;;head tracker på",
+ "horn;horn sound;eeeeeeeee",
+ "ioc;;i o c",
+ "iocoff;;i o c avslagen",
+ "lowrates;;låga nivåer",
+ "manual;;manuell",
+ "normal;;normal",
+ "nrmmod;;normalt läge",
+ "pouet;small horn;ee , ee",
+ "shutter;camera shutter sound;klick",
+ "thrhold;;gas säkrad",
+ "thrrel;;gas osäkrad",
+ "speed;;hastighet",
+ "start;;start",
+ "thermal;;termik",
+ "wizz;wizzing sound;shiss"
+ };
+
+ private static string[] default_it_system_strings =
+ {
+ "0000;0;0",
+ "0001;1;1",
+ "0002;2;2",
+ "0003;3;3",
+ "0004;4;4",
+ "0005;5;5",
+ "0006;6;6",
+ "0007;7;7",
+ "0008;8;8",
+ "0009;9;9",
+ "0010;10;10",
+ "0011;11;11",
+ "0012;12;12",
+ "0013;13;13",
+ "0014;14;14",
+ "0015;15;15",
+ "0016;16;16",
+ "0017;17;17",
+ "0018;18;18",
+ "0019;19;19",
+ "0020;20;20",
+ "0021;21;21",
+ "0022;22;22",
+ "0023;23;23",
+ "0024;24;24",
+ "0025;25;25",
+ "0026;26;26",
+ "0027;27;27",
+ "0028;28;28",
+ "0029;29;29",
+ "0030;30;30",
+ "0031;31;31",
+ "0032;32;32",
+ "0033;33;33",
+ "0034;34;34",
+ "0035;35;35",
+ "0036;36;36",
+ "0037;37;37",
+ "0038;38;38",
+ "0039;39;39",
+ "0040;40;40",
+ "0041;41;41",
+ "0042;42;42",
+ "0043;43;43",
+ "0044;44;44",
+ "0045;45;45",
+ "0046;46;46",
+ "0047;47;47",
+ "0048;48;48",
+ "0049;49;49",
+ "0050;50;50",
+ "0051;51;51",
+ "0052;52;52",
+ "0053;53;53",
+ "0054;54;54",
+ "0055;55;55",
+ "0056;56;56",
+ "0057;57;57",
+ "0058;58;58",
+ "0059;59;59",
+ "0060;60;60",
+ "0061;61;61",
+ "0062;62;62",
+ "0063;63;63",
+ "0064;64;64",
+ "0065;65;65",
+ "0066;66;66",
+ "0067;67;67",
+ "0068;68;68",
+ "0069;69;69",
+ "0070;70;70",
+ "0071;71;71",
+ "0072;72;72",
+ "0073;73;73",
+ "0074;74;74",
+ "0075;75;75",
+ "0076;76;76",
+ "0077;77;77",
+ "0078;78;78",
+ "0079;79;79",
+ "0080;80;80",
+ "0081;81;81",
+ "0082;82;82",
+ "0083;83;83",
+ "0084;84;84",
+ "0085;85;85",
+ "0086;86;86",
+ "0087;87;87",
+ "0088;88;88",
+ "0089;89;89",
+ "0090;90;90",
+ "0091;91;91",
+ "0092;92;92",
+ "0093;93;93",
+ "0094;94;94",
+ "0095;95;95",
+ "0096;96;96",
+ "0097;97;97",
+ "0098;98;98",
+ "0099;99;99",
+ "0100;100;100",
+ "0101;mila;mila",
+ "0102;mille;mille",
+ "0103;virgola;virgola",
+ "0104;un;un",
+ "0105;e;e",
+ "0106;meno;meno",
+ "0107;ora;ora",
+ "0108;ore;ore",
+ "0109;minuto;minuto",
+ "0110;minuti;minuti",
+ "0111;secondo;secondo",
+ "0112;secondi;secondi",
+ "0113;;volt",
+ "0114;;ampere",
+ "0115;;metri per secondo",
+ "0116;;",
+ "0117;;chilometri/ora",
+ "0118;;metri",
+ "0119;;gradi",
+ "0120;;percento",
+ "0121;;milliampere",
+ "0122;;milliampere/ora",
+ "0123;;watt",
+ "0124;;db",
+ "0125;;piedi",
+ "0126;;nodi",
+ "0127;;ore",
+ "0128;;minuti",
+ "0129;;secondi",
+ "0130;;R P M",
+ "0131;;g",
+ "0132;;timer",
+ "0133;;timer",
+ "0134;;trasmissione",
+ "0135;;ricezione",
+ "0136;;A1",
+ "0137;;A2",
+ "0138;;altitudine",
+ "0139;;motore",
+ "0140;;carburante",
+ "0141;;temperatura",
+ "0142;;temperatura",
+ "0143;;velocità",
+ "0144;;distanza",
+ "0145;;altitudine",
+ "0146;;cella lipo",
+ "0147;;totale lipo",
+ "0148;;tensione",
+ "0149;;corrente",
+ "0150;;consumo",
+ "0151;;potenza",
+ "0152;;accellerazione X",
+ "0153;;accellerazione Y",
+ "0154;;accellerazione Z",
+ "0155;;direzione",
+ "0156;;variometro",
+ "0157;;minimo",
+ "0158;;massimo",
+ "a1_org;A1 in allarme;A1 in allarme",
+ "a1_red;A1 critico;A1 critico",
+ "a2_org;A2 in allarme;A2 in allarme",
+ "a2_red;A2 critico;A2 critico",
+ "eebad;eeprom corrotta;eeprom corrotta",
+ "eeformat;formattazone eeprom in corso;formattazone eeprom in corso",
+ "endtrim;massimo trim raggiunto;massimo trim raggiunto",
+ "error;errore;errore",
+ "highmah;assorbimento elevato;assorbimento elevato",
+ "hightemp;temperatura elevata;temperatura elevata",
+ "inactiv;radio inattiva controllare;radio inattiva controllare",
+ "lowbatt;batteria della radio scarica;batteria della radio scarica",
+ "midpot;potenziometro centrato;potenziometro centrato",
+ "midtrim;trim centrato;trim centrato",
+ "rssi_org;Segnale radio basso;Segnale radio basso",
+ "rssi_red;Segnale radio critico;Segnale radio critico",
+ "swalert;interruttori non in posizione, verificare;interruttori non in posizione, verificare",
+ "swr_red;Problema all'antenna della radio;Problema all'antenna della radio",
+ "tada;;Benvenuto",
+ "telemko;Telemetria assente;Telemetria assente",
+ "telemok;Telemetria disponibile;Telemetria disponibile",
+ "thralert;controllo motore non in posizione, verificare;controllo motore non in posizione, verificare",
+ "timer10;dieci secondi;dieci secondi",
+ "timer20;venti secondi;venti secondi",
+ "timer30;trenta secondi;trenta secondi",
+ "timerlt3;timer sound;3 secondi"
+ };
+
+ private static string[] default_it_other_strings =
+ {
+ "attero;;atterraggiio",
+ "crowof;;crow off",
+ "crowon;;crow on",
+ "engoff;;motore spento",
+ "flapdn;;flap estesi",
+ "flapup;;flap rientrati",
+ "fltmd1;;fase di volo 1",
+ "fltmd2;;fase di volo 2",
+ "fltmd3;;fase di volo 3",
+ "fltmd4;;fase di volo 4",
+ "fltmd5;;fase di volo 5",
+ "fltmd6;;fase di volo 6",
+ "fltmd7;;fase di volo 7",
+ "fltmd8;;fase di volo 8",
+ "fltmd9;;fase di volo 9",
+ "geardn;;carrello aperto",
+ "gearup;;carrello chiuso",
+ "gps;;GPS",
+ "lowbat;;batteria scarica",
+ "nrmmod;;modo volo normale",
+ "spdmod;;modo velocità",
+ "thmmod;;modo termica",
+ "tohigh;;troppo alto",
+ "tolow;;troppo basso",
+ "trnoff;;modalità maestro disattiva",
+ "trnon;;modalità maestro attiva"
+ };
+
+ private static string[] default_de_system_strings =
+ {
+ "0000;0;0",
+ "0001;1;ein",
+ "0002;2;2",
+ "0003;3;3",
+ "0004;4;4",
+ "0005;5;5",
+ "0006;6;6",
+ "0007;7;7",
+ "0008;8;8",
+ "0009;9;9",
+ "0010;10;10",
+ "0011;11;11",
+ "0012;12;12",
+ "0013;13;13",
+ "0014;14;14",
+ "0015;15;15",
+ "0016;16;16",
+ "0017;17;17",
+ "0018;18;18",
+ "0019;19;19",
+ "0020;20;20",
+ "0021;21;21",
+ "0022;22;22",
+ "0023;23;23",
+ "0024;24;24",
+ "0025;25;25",
+ "0026;26;26",
+ "0027;27;27",
+ "0028;28;28",
+ "0029;29;29",
+ "0030;30;30",
+ "0031;31;31",
+ "0032;32;32",
+ "0033;33;33",
+ "0034;34;34",
+ "0035;35;35",
+ "0036;36;36",
+ "0037;37;37",
+ "0038;38;38",
+ "0039;39;39",
+ "0040;40;40",
+ "0041;41;41",
+ "0042;42;42",
+ "0043;43;43",
+ "0044;44;44",
+ "0045;45;45",
+ "0046;46;46",
+ "0047;47;47",
+ "0048;48;48",
+ "0049;49;49",
+ "0050;50;50",
+ "0051;51;51",
+ "0052;52;52",
+ "0053;53;53",
+ "0054;54;54",
+ "0055;55;55",
+ "0056;56;56",
+ "0057;57;57",
+ "0058;58;58",
+ "0059;59;59",
+ "0060;60;60",
+ "0061;61;61",
+ "0062;62;62",
+ "0063;63;63",
+ "0064;64;64",
+ "0065;65;65",
+ "0066;66;66",
+ "0067;67;67",
+ "0068;68;68",
+ "0069;69;69",
+ "0070;70;70",
+ "0071;71;71",
+ "0072;72;72",
+ "0073;73;73",
+ "0074;74;74",
+ "0075;75;75",
+ "0076;76;76",
+ "0077;77;77",
+ "0078;78;78",
+ "0079;79;79",
+ "0080;80;80",
+ "0081;81;81",
+ "0082;82;82",
+ "0083;83;83",
+ "0084;84;84",
+ "0085;85;85",
+ "0086;86;86",
+ "0087;87;87",
+ "0088;88;88",
+ "0089;89;89",
+ "0090;90;90",
+ "0091;91;91",
+ "0092;92;92",
+ "0093;93;93",
+ "0094;94;94",
+ "0095;95;95",
+ "0096;96;96",
+ "0097;97;97",
+ "0098;98;98",
+ "0099;99;99",
+ "0100;100;100",
+ "0101;1000;tausend",
+ "0102;;comma;comma",
+ "0103;;und",
+ "0104;;minus",
+ "0105;;uhr",
+ "0106;;minute",
+ "0107;;minuten",
+ "0108;;sekunde",
+ "0109;;sekunden",
+ "0110;;Volt",
+ "0111;;Ampere",
+ "0112;;Meter pro sekunde",
+ "0113;;",
+ "0114;;kilometer pro stunde",
+ "0115;;Meter",
+ "0116;;Grad",
+ "0117;;Prozent",
+ "0118;;Milliampere",
+ "0119;;Milliampere pro stunde",
+ "0120;;Watt",
+ "0121;;db",
+ "0122;;Fuesse",
+ "0123;;Knoten",
+ "0124;;Uhr",
+ "0125;;Minuten",
+ "0126;;Secunden",
+ "0127;;R P M",
+ "0128;;g",
+ "0129;;Timer",
+ "0130;;Timer",
+ "0131;;Sendung",
+ "0132;;Empfang",
+ "0133;;A1",
+ "0134;;A2",
+ "0135;;Hoehe",
+ "0136;;Motor",
+ "0137;;Treibstoff",
+ "0138;;Temperatur",
+ "0139;;Temperatur",
+ "0140;;Geschwindigkeit",
+ "0141;;Ferne",
+ "0142;;Hoehe",
+ "0143;;Lipo-Zelle",
+ "0144;;Zellen gesamt",
+ "0145;;Spannung",
+ "0146;;Strom",
+ "0147;;Verbrauch",
+ "0148;;Power",
+ "0149;;Beschleunigung X",
+ "0150;;Beschleunigung Y",
+ "0151;;Beschleunigung Z",
+ "0152;;Richtung",
+ "0153;;Variometer",
+ "0154;;Minimum",
+ "0155;;Maximum",
+ "a1_org;;A1 schlecht!",
+ "a1_red;;A1 kritisch!",
+ "a2_org;;A2 schlecht!",
+ "a2_red;;A2 kritisch!",
+ "eebad;;Das EEPROM ist fehlerhaft",
+ "eeformat;;Das EEPROM ist immer formatiert",
+ "endtrim;;Maximale trimmung erreicht",
+ "error;;fehler",
+ "highmah;;Senderstrom ist zu hoch!",
+ "hightemp;;Sendertemperatur ist zu hoch!",
+ "inactiv;;Sender ist inaktiv,bitte Ueberpruefen Sie",
+ "lowbatt;;Senderakku niedrig",
+ "midtrim;;Trim zentriert",
+ "midpot;;Poti zentriert",
+ "rssi_org;;Funksignal schlecht!",
+ "rssi_red;;Funksignal kritisch!",
+ "swr_red;;Problem mit der sender Antenna",
+ "swalert;;Schalten fehlpositioniert, bitte pruefen",
+ "tada;Welcome sound;Willkommen",
+ "thralert;;Gaskanal nicht Null, bitte pruefen",
+ "timer10;;10 sekunden",
+ "timer20;;20 sekunden",
+ "timer30;;30 sekunden",
+ "timerlt3;;Noch drei Sekunden" };
+
+ private static string[] default_de_other_strings =
+ {
+ "attero;;Landung",
+ "crowof;;crow aus",
+ "crowon;;crow ein",
+ "engoff;;Motor aus",
+ "flapdn;;Klappen ausgefahren",
+ "flapup;;Klappen eingefahren",
+ "fltmd1;;Regime 1",
+ "fltmd2;;Regime 2",
+ "fltmd3;;Regime 3",
+ "fltmd4;;Regime 4",
+ "fltmd5;;Regime 5",
+ "fltmd6;;Regime 6",
+ "fltmd7;;Regime 7",
+ "fltmd8;;Regime 8",
+ "fltmd9;;Regime 9",
+ "geardn;;Fahrwerk ausgefahren",
+ "gearup;;Fahrwerk eingezogen",
+ "horn;horn sound;eeeeeeeee",
+ "lowbat;;Batterie schwach",
+ "nrmmod;;Normal-Modus ist aktiviert",
+ "pouet;small horn;ee , ee",
+ "shutter;camera shutter sound;klick",
+ "spdmod;;Schnell-Modus ist aktiviert",
+ "thmmod;;Thermik-Modus ist aktiviert",
+ "trnon;;Trainer-Modus ein",
+ "trnoff;;Trainer-Modus aus",
+ "tohigh;;zu hoch",
+ "tolow;;zu niedrig",
+ "wizz;wizzing sound;shiss"
+ };
+
+ private static string[] default_fr_system_strings =
+ {
+ "0000;0;0",
+ "0001;1;1",
+ "0002;2;2",
+ "0003;3;3",
+ "0004;4;4",
+ "0005;5;5",
+ "0006;6;6",
+ "0007;7;7",
+ "0008;8;8",
+ "0009;9;9",
+ "0010;10;10",
+ "0011;11;11",
+ "0012;12;12",
+ "0013;13;13",
+ "0014;14;14",
+ "0015;15;15",
+ "0016;16;16",
+ "0017;17;17",
+ "0018;18;18",
+ "0019;19;19",
+ "0020;20;20",
+ "0021;21;21",
+ "0022;22;22",
+ "0023;23;23",
+ "0024;24;24",
+ "0025;25;25",
+ "0026;26;26",
+ "0027;27;27",
+ "0028;28;28",
+ "0029;29;29",
+ "0030;30;30",
+ "0031;31;31",
+ "0032;32;32",
+ "0033;33;33",
+ "0034;34;34",
+ "0035;35;35",
+ "0036;36;36",
+ "0037;37;37",
+ "0038;38;38",
+ "0039;39;39",
+ "0040;40;40",
+ "0041;41;41",
+ "0042;42;42",
+ "0043;43;43",
+ "0044;44;44",
+ "0045;45;45",
+ "0046;46;46",
+ "0047;47;47",
+ "0048;48;48",
+ "0049;49;49",
+ "0050;50;50",
+ "0051;51;51",
+ "0052;52;52",
+ "0053;53;53",
+ "0054;54;54",
+ "0055;55;55",
+ "0056;56;56",
+ "0057;57;57",
+ "0058;58;58",
+ "0059;59;59",
+ "0060;60;60",
+ "0061;61;61",
+ "0062;62;62",
+ "0063;63;63",
+ "0064;64;64",
+ "0065;65;65",
+ "0066;66;66",
+ "0067;67;67",
+ "0068;68;68",
+ "0069;69;69",
+ "0070;70;70",
+ "0071;71;71",
+ "0072;72;72",
+ "0073;73;73",
+ "0074;74;74",
+ "0075;75;75",
+ "0076;76;76",
+ "0077;77;77",
+ "0078;78;78",
+ "0079;79;79",
+ "0080;80;80",
+ "0081;81;81",
+ "0082;82;82",
+ "0083;83;83",
+ "0084;84;84",
+ "0085;85;85",
+ "0086;86;86",
+ "0087;87;87",
+ "0088;88;88",
+ "0089;89;89",
+ "0090;90;90",
+ "0091;91;91",
+ "0092;92;92",
+ "0093;93;93",
+ "0094;94;94",
+ "0095;95;95",
+ "0096;96;96",
+ "0097;97;97",
+ "0098;98;98",
+ "0099;99;99",
+ "0100;100;100",
+ "0101;200;200",
+ "0102;300;300",
+ "0103;400;400",
+ "0104;500;500",
+ "0105;600;600",
+ "0106;700;700",
+ "0107;800;800",
+ "0108;900;900",
+ "0109;1000;Mille",
+ "0110;;une",
+ "0111;11;onze",
+ "0112;21;21",
+ "0113;31;31",
+ "0114;41;41",
+ "0115;51;51",
+ "0116;61;61",
+ "0117;71;71",
+ "0118;81;81",
+ "0119;.;virgule",
+ "0120;&;et",
+ "0121;-;moins",
+ "0122;<>;bip",
+ "0123;<>;bip",
+ "0124;<>;bip",
+ "0125;V;volts",
+ "0126;A;ampères",
+ "0127;ms;mètres par seconde",
+ "0128;<>;bip",
+ "0129;kmh;kilomètre heure",
+ "0130;m;mètres",
+ "0131;;degrés",
+ "0132;%;pourcent",
+ "0133;mA;milliampère",
+ "0134;mAH;milliampères heure",
+ "0135;W;watt",
+ "0136;dB;db",
+ "0137;;pied",
+ "0138;;noeud",
+ "0139;h;heure",
+ "0140;min;minute",
+ "0141;sec;secondes",
+ "0142;;taux par minute",
+ "0143;G;g",
+ "0144;<>;bip",
+ "0144;<>;bip",
+ "0146;timer;chrono",
+ "0147;<>;bip",
+ "0148;;tension",
+ "0149;;tension",
+ "0150;;émission",
+ "0151;;réception",
+ "0152;;altitude",
+ "0153;;moteur",
+ "0154;;carburant",
+ "0155;;temperature",
+ "0156;;temperature",
+ "0157;;vitesse",
+ "0158;;distance",
+ "0159;;attitude",
+ "0160;;élément lipo",
+ "0161;;total lipo",
+ "0162;;tension",
+ "0163;;courant",
+ "0164;;consomation",
+ "0165;;puissance",
+ "0166;;accelération x",
+ "0167;;accelération y",
+ "0168;;accelération z",
+ "0169;;orientation",
+ "0170;;vario",
+ "0171;<>;bip",
+ "0172;<>;bip",
+ "0173;<>;bip",
+ "0174;<>;bip",
+ "0175;<>;bip",
+ "0176;<>;bip",
+ "0177;<>;bip",
+ "0178;<>;bip",
+ "0179;<>;bip",
+ "0180;.0;virgule 0",
+ "0181;.1;virgule 1",
+ "0182;.2;virgule 2",
+ "0183;.3;virgule 3",
+ "0184;.4;virgule 4",
+ "0185;.5;virgule 5",
+ "0186;.6;virgule 6",
+ "0187;.7;virgule 7",
+ "0188;.8;virgule 8",
+ "0189;.9;virgule 9",
+ "190;<>;bip",
+ "a1_org;a1 low;a1 bas",
+ "a1_red;a1 critical;a1 critique",
+ "a2_org;a2 low;a2 bas",
+ "a2_red;a2 critical;a2 critique",
+ "eebad;memoire basse;niveau mémoire bas",
+ "endtrim;trim maximum atteint;trim maximum atteint",
+ "inact;inactivity alarm;alarme d'innactivité",
+ "lowbat;radio battery low;batterie transmetteur faible",
+ "midtrim;trim center;trim centré",
+ "rssi_org;rf signal low;signal recepteur faible",
+ "rssi_red;rf signal critical;signal recepteur critique",
+ "swalert;switch warning;interupteur mal positionné",
+ "swr_red;radio antenna defective;antenne emeteur defectueuse",
+ "tada;welcome to opentx;Bienvenue sur Open tx",
+ "telemko;telemetry lost;télémétrie perdue",
+ "telemok;telemetry recover;télémétrie retrouvée",
+ "thralert;throttle warning;mettre les gaz a 0",
+ "timer10;10 seconds;10 secondes",
+ "timer20;20 seconds;20 secondes",
+ "timer30;30 seconds;30 secondes",
+ "timerlt3;3 seconds;3 secondes"
+ };
+
+ private static string[] default_fr_other_strings =
+ {
+ "attero;;atterrissage",
+ "atti;attitude;attitude",
+ "batcrit;battery critical;niveau batterie critique",
+ "batlow;low battery;niveau batterie bas",
+ "camcenter;camera center;caméra centrée",
+ "cammanual;camera manual;caméra manuelle",
+ "capacity;capacity;capacité",
+ "engdis;engine disabled;moteur calé",
+ "engoff;engine off;moteur coupé",
+ "engon;engine on;moteur démarré",
+ "flaps1;flaps 1;volets 1",
+ "flaps2;flaps 2;volets 2",
+ "flapsdn;flaps down;volets sortis",
+ "flapsup;flaps up;volets rentrés",
+ "fltmode0;phase de vol 0;phase de vol 0",
+ "fltmode1;phase de vol 1;phase de vol 1",
+ "fltmode2;phase de vol 2;phase de vol 2",
+ "fltmode3;phase de vol 3;phase de vol 3",
+ "fltmode4;phase de vol 4;phase de vol 4",
+ "fltmode5;phase de vol 5;phase de vol 5",
+ "fltmode6;phase de vol 6;phase de vol 6",
+ "fltmode7;phase de vol 7;phase de vol 7",
+ "fltmode8;phase de vol 8;phase de vol 8",
+ "fsoff;failsafe off;failsafe coupé",
+ "fson;failsafe on;failsafe activé",
+ "geardn;gear down;train sorti",
+ "gearup;gear upp;train rentré",
+ "gps;gps;gps",
+ "hirates;hi rates;taux élevé",
+ "htoff;head tracker off;suivi tète désactivé",
+ "hton;head tracker on;suivi tète activé",
+ "ioc;ioc;i o c",
+ "iocoff;ioc off;i o c coupé",
+ "lowrates;lowrates;taux faible",
+ "manual;manual;manuel",
+ "normal;normal;normal",
+ "nrmmod;normal mode;mode normal",
+ "thrhold;throttle locked;gaz bloqués","thrrel;throttle released;gaz relachés",
+ "trnoff;;fin écolage",
+ "trnon;;écolage",
+ };
+
+ public string[][] default_system_strings = new string[10][];
+ public string[][] default_other_strings = new string[10][];
+
+ public int toInt(string langStr)
+ {
+ if (langStr == "cz") return 1;
+ if (langStr == "de") return 2;
+ if (langStr == "es") return 3;
+ if (langStr == "fr") return 4;
+ if (langStr == "it") return 5;
+ if (langStr == "pl") return 6;
+ if (langStr == "pt") return 7;
+ if (langStr == "se") return 8;
+ if (langStr == "sk") return 9;
+ else return 0; //English default
+ }
+
+ public SentenceTables()
+ {
+ default_other_strings[toInt("cz")] = default_cz_other_strings;
+ default_system_strings[toInt("cz")] = default_cz_system_strings;
+
+ default_other_strings[toInt("de")] = default_de_other_strings;
+ default_system_strings[toInt("de")] = default_de_system_strings;
+
+ default_other_strings[toInt("en")] = default_en_other_strings;
+ default_system_strings[toInt("en")] = default_en_system_strings;
+
+ default_other_strings[toInt("es")] = default_es_other_strings;
+ default_system_strings[toInt("es")] = default_es_system_strings;
+
+ default_other_strings[toInt("fr")] = default_fr_other_strings;
+ default_system_strings[toInt("fr")] = default_fr_system_strings;
+
+ default_other_strings[toInt("it")] = default_it_other_strings;
+ default_system_strings[toInt("it")] = default_it_system_strings;
+
+ default_other_strings[toInt("pl")] = default_pl_other_strings;
+ default_system_strings[toInt("pl")] = default_pl_system_strings;
+
+ default_other_strings[toInt("pt")] = default_pt_other_strings;
+ default_system_strings[toInt("pt")] = default_pt_system_strings;
+
+ default_other_strings[toInt("se")] = default_se_other_strings;
+ default_system_strings[toInt("se")] = default_se_system_strings;
+
+ default_other_strings[toInt("sk")] = default_sk_other_strings;
+ default_system_strings[toInt("sk")] = default_sk_system_strings;
+ }
+ }
+}
diff --git a/speaker/speaker_logo.png b/speaker/speaker_logo.png
new file mode 100644
index 000000000..886018bad
Binary files /dev/null and b/speaker/speaker_logo.png differ
diff --git a/speaker/speaker_logo.xcf b/speaker/speaker_logo.xcf
new file mode 100644
index 000000000..bd32e5118
Binary files /dev/null and b/speaker/speaker_logo.xcf differ
diff --git a/speaker/speaker_logo_small.png b/speaker/speaker_logo_small.png
new file mode 100644
index 000000000..e44f298b9
Binary files /dev/null and b/speaker/speaker_logo_small.png differ