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 -&gt; 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 -&gt; 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 -&gt; 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 -&gt; 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 -&gt; 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +