diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..5ed6a1991 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,14 @@ +language: cpp + +before_install: + - sudo apt-get remove cmake cmake-data --yes + - sudo add-apt-repository ppa:george-edison55/precise-backports --yes + - sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded --yes + - sudo apt-get update + +install: + - sudo apt-get install -y lcov cmake cmake-data bc curl gcc-arm-none-eabi gcc-avr avr-libc avrdude libqtcore4 libqt4-dev qt4-qmake g++ libxerces-c-dev xsdcxx libsdl1.2-dev libusb-1.0-0 libphonon-dev phonon libqtwebkit-dev python-qt4 python-qt4-dev libfox-1.6-dev libgtest-dev + +script: + - radio/util/commit-tests.sh + - mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Debug ../companion/src && cmake --build . diff --git a/BLACKLIST.txt b/BLACKLIST.txt deleted file mode 100644 index 59aa3651b..000000000 --- a/BLACKLIST.txt +++ /dev/null @@ -1,3 +0,0 @@ -3D Robotics -They sell the Iris+ with a modified version of OpenTX which doesn't fullfil the GPL requirements. -No donations, no thanks, we are just free staff for them... diff --git a/DONATIONS.txt b/DONATIONS.txt index cb0674da2..263bb4f62 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -8,6 +8,7 @@ LitePilots David Ankers (OpenPilot) 3D Robotics +RC Studio (monthly) Mario Sette Felice Baratto @@ -401,7 +402,6 @@ Colin Rycroft Emanuel Stassar Michael Gregory Robert Russell -Gordon Stahl Felix Kaiser Joshua Bardwell Davd Goodall @@ -599,7 +599,6 @@ Julien Gérard Alexandre d'Alton Peter Mergaerts Jan Houwers -Gordon Stahl Christian Grandjean Roger Bergevin NorthSide @@ -802,4 +801,27 @@ Roger Keatley Sherman Lovell Hugh Caldwell JB Fisher Company +Michels Bernhard +Pietro Rossin +Carsten Wache +Brock White +Steven Poretz +David Huelster +Gordon Stahl (monthly) +John Mathison +Richard Duczmal +Gregory Barron +Marcel Fischer +Klas Mälman +Viljo Liukku +Eric Smith +Sven Assmus +Luke Mole +NorthSide +Hannes Mössler +James Kaufman +Ravi Gupta +Lexington S Morley +Ralph Segar +Frédéric Devillard diff --git a/README.md b/README.md index 94e728aca..b376c944e 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ ##OpenTX 2.1 Branch -The ongoing development is not done in this branch. It is performed in the branch called next. +[![Build Status](https://travis-ci.org/opentx/opentx.svg?branch=master)](https://travis-ci.org/opentx/opentx) +[![Join the chat at https://gitter.im/opentx/opentx](https://img.shields.io/badge/%E2%8A%AA%20GITTER%20-JOIN%20CHAT%20%E2%86%92-brightgreen.svg?style=flat)](https://gitter.im/opentx/opentx?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[![Donate using Paypal](https://img.shields.io/badge/paypal-donate-yellow.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=DJ9MASSKVW8WN) + +The ongoing development on 2.1.x is done in this branch. Refer to the opentx.wiki for information about setting up the tool chains for building OpenTX and OpenTX Companion as well as other development related issues. diff --git a/companion/releasenotes.txt b/companion/releasenotes.txt index 604fb1c12..d95565875 100644 --- a/companion/releasenotes.txt +++ b/companion/releasenotes.txt @@ -1,4 +1,24 @@ -

Version 2.1.2 /

+

Version 2.1.4 /

+ + + + + +

Version 2.1.3 / 2015-09-09

+ + + + +

Version 2.1.2 / 2015-09-07

+ diff --git a/companion/src/CMakeLists.txt b/companion/src/CMakeLists.txt index 679b69ee4..3df4ec991 100644 --- a/companion/src/CMakeLists.txt +++ b/companion/src/CMakeLists.txt @@ -2,13 +2,13 @@ PROJECT( companion ) SET(C9X_VERSION_MAJOR "2") SET(C9X_VERSION_MINOR "1") -SET(C9X_VERSION_REVISION "2") +SET(C9X_VERSION_REVISION "4") SET(C9X_VERSION_SUFFIX $ENV{OPENTX_VERSION_SUFFIX}) SET(C9X_VERSION ${C9X_VERSION_MAJOR}.${C9X_VERSION_MINOR}.${C9X_VERSION_REVISION}${C9X_VERSION_SUFFIX}) -MESSAGE(STATUS OpenTX Companion ${C9X_VERSION}) +MESSAGE(STATUS "OpenTX Companion ${C9X_VERSION}") -CMAKE_MINIMUM_REQUIRED( VERSION 2.8 ) +CMAKE_MINIMUM_REQUIRED( VERSION 2.8.12 ) SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) @@ -62,7 +62,7 @@ ELSE() MESSAGE( "SDL not found! Joysticks support will be disabled. Simulator audio will not work." ) ENDIF() -FIND_PACKAGE(Qt4 4.8.4 REQUIRED) +FIND_PACKAGE(Qt4 4.8.1 REQUIRED) SET( QT_USE_QTNETWORK True ) SET( QT_USE_QTXML True ) INCLUDE( ${QT_USE_FILE} ) @@ -213,6 +213,8 @@ set(companion_MOC_HDRS radionotfound.h helpers.h wizarddialog.h + modelprinter.h + multimodelprinter.h ) set(companion_UIS @@ -432,7 +434,7 @@ ADD_CUSTOM_TARGET( stamp IF( LUPDATE_FOUND ) ADD_CUSTOM_TARGET( translations WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - COMMAND ${LUPDATE_EXECUTABLE} ${CMAKE_SOURCE_DIR} -ts ${companion_TS} + COMMAND ${LUPDATE_EXECUTABLE} ${CMAKE_SOURCE_DIR} -no-obsolete -ts ${companion_TS} ) ELSE() ADD_CUSTOM_TARGET( translations diff --git a/companion/src/appdata.cpp b/companion/src/appdata.cpp index 187bd6cb8..e6e45029d 100644 --- a/companion/src/appdata.cpp +++ b/companion/src/appdata.cpp @@ -312,10 +312,10 @@ QString Profile::speaker() const { return _speaker; } QString Profile::stickPotCalib() const { return _stickPotCalib; } QString Profile::timeStamp() const { return _timeStamp; } QString Profile::trainerCalib() const { return _trainerCalib; } -int Profile::currentCalib() const { return _currentCalib; } +int Profile::txCurrentCalibration() const { return _txCurrentCalibration; } int Profile::gsStickMode() const { return _gsStickMode; } int Profile::ppmMultiplier() const { return _ppmMultiplier; } -int Profile::vBatCalib() const { return _vBatCalib; } +int Profile::txVoltageCalibration() const { return _txVoltageCalibration; } int Profile::vBatWarn() const { return _vBatWarn; } int Profile::vBatMin() const { return _vBatMin; } int Profile::vBatMax() const { return _vBatMax; } @@ -342,10 +342,10 @@ void Profile::speaker (const QString x) { store(x, _speaker, "Speake void Profile::stickPotCalib (const QString x) { store(x, _stickPotCalib, "StickPotCalib" ,"Profiles", QString("profile%1").arg(index));} void Profile::timeStamp (const QString x) { store(x, _timeStamp, "TimeStamp" ,"Profiles", QString("profile%1").arg(index));} void Profile::trainerCalib (const QString x) { store(x, _trainerCalib, "TrainerCalib" ,"Profiles", QString("profile%1").arg(index));} -void Profile::currentCalib (const int x) { store(x, _currentCalib, "currentCalib" ,"Profiles", QString("profile%1").arg(index));} +void Profile::txCurrentCalibration (const int x) { store(x, _txCurrentCalibration, "currentCalib","Profiles", QString("profile%1").arg(index));} void Profile::gsStickMode (const int x) { store(x, _gsStickMode, "GSStickMode" ,"Profiles", QString("profile%1").arg(index));} void Profile::ppmMultiplier (const int x) { store(x, _ppmMultiplier, "PPM_Multiplier" ,"Profiles", QString("profile%1").arg(index));} -void Profile::vBatCalib (const int x) { store(x, _vBatCalib, "VbatCalib" ,"Profiles", QString("profile%1").arg(index));} +void Profile::txVoltageCalibration (const int x) { store(x, _txVoltageCalibration, "VbatCalib","Profiles", QString("profile%1").arg(index));} void Profile::vBatWarn (const int x) { store(x, _vBatWarn, "vBatWarn" ,"Profiles", QString("profile%1").arg(index));} void Profile::vBatMin (const int x) { store(x, _vBatMin, "VbatMin" ,"Profiles", QString("profile%1").arg(index));} void Profile::vBatMax (const int x) { store(x, _vBatMax, "VbatMax" ,"Profiles", QString("profile%1").arg(index));} @@ -378,10 +378,10 @@ Profile& Profile::operator=(const Profile& rhs) speaker ( rhs.speaker() ); stickPotCalib( rhs.stickPotCalib() ); trainerCalib ( rhs.trainerCalib() ); - currentCalib ( rhs.currentCalib() ); + txCurrentCalibration ( rhs.txCurrentCalibration() ); gsStickMode ( rhs.gsStickMode() ); ppmMultiplier( rhs.ppmMultiplier() ); - vBatCalib ( rhs.vBatCalib() ); + txVoltageCalibration ( rhs.txVoltageCalibration() ); vBatWarn ( rhs.vBatWarn() ); vBatMin ( rhs.vBatMin() ); vBatMax ( rhs.vBatMax() ); @@ -424,10 +424,10 @@ void Profile::initFwVariables() _timeStamp = ""; _trainerCalib = ""; - _currentCalib = 0; + _txCurrentCalibration = 0; _gsStickMode = 0; _ppmMultiplier = 0; - _vBatCalib = 0; + _txVoltageCalibration = 0; _vBatWarn = 0; _vBatMin = 0; _vBatMax = 0; @@ -483,10 +483,10 @@ void Profile::flush() getset( _stickPotCalib, "StickPotCalib" ,"" ,"Profiles", QString("profile%1").arg(index)); getset( _timeStamp, "TimeStamp" ,"" ,"Profiles", QString("profile%1").arg(index)); getset( _trainerCalib, "TrainerCalib" ,"" ,"Profiles", QString("profile%1").arg(index)); - getset( _currentCalib, "currentCalib" ,0 ,"Profiles", QString("profile%1").arg(index)); + getset( _txCurrentCalibration, "currentCalib" ,0 ,"Profiles", QString("profile%1").arg(index)); getset( _gsStickMode, "GSStickMode" ,0 ,"Profiles", QString("profile%1").arg(index)); getset( _ppmMultiplier, "PPM_Multiplier" ,0 ,"Profiles", QString("profile%1").arg(index)); - getset( _vBatCalib, "VbatCalib" ,0 ,"Profiles", QString("profile%1").arg(index)); + getset( _txVoltageCalibration, "VbatCalib" ,0 ,"Profiles", QString("profile%1").arg(index)); getset( _vBatWarn, "vBatWarn" ,0 ,"Profiles", QString("profile%1").arg(index)); getset( _vBatMin, "VbatMin" ,0 ,"Profiles", QString("profile%1").arg(index)); getset( _vBatMax, "VbatMax" ,0 ,"Profiles", QString("profile%1").arg(index)); diff --git a/companion/src/appdata.h b/companion/src/appdata.h index abb2b7eab..d80dd115d 100644 --- a/companion/src/appdata.h +++ b/companion/src/appdata.h @@ -125,10 +125,10 @@ class Profile: protected CompStoreObj QString _stickPotCalib; QString _timeStamp; QString _trainerCalib; - int _currentCalib; + int _txCurrentCalibration; int _gsStickMode; int _ppmMultiplier; - int _vBatCalib; + int _txVoltageCalibration; int _vBatWarn; int _vBatMin; int _vBatMax; @@ -156,10 +156,10 @@ class Profile: protected CompStoreObj QString stickPotCalib() const; QString timeStamp() const; QString trainerCalib() const; - int currentCalib() const; + int txCurrentCalibration() const; int gsStickMode() const; int ppmMultiplier() const; - int vBatCalib() const; + int txVoltageCalibration() const; int vBatWarn() const; int vBatMin() const; int vBatMax() const; @@ -186,10 +186,10 @@ class Profile: protected CompStoreObj void stickPotCalib (const QString); void timeStamp (const QString); void trainerCalib (const QString); - void currentCalib (const int); + void txCurrentCalibration (const int); void gsStickMode (const int); void ppmMultiplier (const int); - void vBatCalib (const int); + void txVoltageCalibration (const int); void vBatWarn (const int); void vBatMin (const int); void vBatMax (const int); diff --git a/companion/src/companion.cpp b/companion/src/companion.cpp index 5a98d5299..13dfaa5ef 100644 --- a/companion/src/companion.cpp +++ b/companion/src/companion.cpp @@ -53,6 +53,7 @@ #undef main #endif #include "mainwindow.h" +#include "version.h" #include "eeprominterface.h" #include "appdata.h" @@ -87,6 +88,13 @@ int main(int argc, char *argv[]) app.setOrganizationDomain("open-tx.org"); app.setAttribute(Qt::AA_DontShowIconsInMenus, false); + QStringList strl = QApplication::arguments(); + if (strl.contains("--version")) { + printf("%s\n", C9X_VERSION); + fflush(stdout); + exit(0); + } + #ifdef __APPLE__ app.setStyle(new MyProxyStyle); #endif diff --git a/companion/src/companion.qrc b/companion/src/companion.qrc index c31939f85..ed4700fc7 100644 --- a/companion/src/companion.qrc +++ b/companion/src/companion.qrc @@ -4,7 +4,6 @@ icon.png ../../CREDITS.txt ../../DONATIONS.txt - ../../BLACKLIST.txt ../releasenotes.txt images/9xdb.png images/9xdl.png @@ -101,6 +100,8 @@ images/library/00018.png images/library/00019.png images/library/00020.png + images/library/00021.png + images/library/00022.png images/library/00050.png images/library/00051.png images/library/00052.png diff --git a/companion/src/comparedialog.cpp b/companion/src/comparedialog.cpp index a05405a2f..4da955162 100644 --- a/companion/src/comparedialog.cpp +++ b/companion/src/comparedialog.cpp @@ -101,7 +101,7 @@ void CompareDialog::dropEvent(QDropEvent *event) if (model1Valid && model2Valid) { multimodelprinter.setModel(0, model1); multimodelprinter.setModel(1, model2); - ui->textEdit->setHtml(multimodelprinter.print()); + ui->textEdit->setHtml(multimodelprinter.print(ui->textEdit->document())); } } diff --git a/companion/src/constants.h b/companion/src/constants.h index 3f319b666..10960074d 100644 --- a/companion/src/constants.h +++ b/companion/src/constants.h @@ -8,6 +8,7 @@ enum BoardEnum { BOARD_GRUVIN9X, BOARD_SKY9X, BOARD_9XRPRO, + BOARD_AR9X, BOARD_TARANIS, BOARD_TARANIS_PLUS, BOARD_TARANIS_X9E diff --git a/companion/src/contributorsdialog.cpp b/companion/src/contributorsdialog.cpp index 9d7e45fac..66c798817 100644 --- a/companion/src/contributorsdialog.cpp +++ b/companion/src/contributorsdialog.cpp @@ -63,12 +63,15 @@ ContributorsDialog::ContributorsDialog(QWidget * parent): " " + tr("Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe)") + "
" \ ""); +#if 0 QFile blacklist(":/BLACKLIST.txt"); if (blacklist.open(QIODevice::ReadOnly | QIODevice::Text)) { QStringList names; names << blacklist.readAll(); str.append(formatTable(tr("OpenTX Blacklist"), names, 1)); } +#endif + str.append(""); ui->textEditor->setHtml(str); ui->textEditor->scroll(0, 0); diff --git a/companion/src/converteeprom.cpp b/companion/src/converteeprom.cpp old mode 100755 new mode 100644 index 8c75be049..3af874584 --- a/companion/src/converteeprom.cpp +++ b/companion/src/converteeprom.cpp @@ -26,8 +26,11 @@ bool convertEEprom(const QString &sourceEEprom, const QString &destinationEEprom sourceFile.close(); QSharedPointer radioData = QSharedPointer(new RadioData()); - if (!loadEEprom(*radioData, (uint8_t *)eeprom.data(), eeprom_size) || !currentFirmware->saveEEPROM((uint8_t *)eeprom.data(), *radioData, variant, version)) + std::bitset errors((unsigned long long)LoadEeprom(*radioData, (uint8_t *)eeprom.data(), eeprom_size)); + if (!errors.test(NO_ERROR) + || !currentFirmware->saveEEPROM((uint8_t *)eeprom.data(), *radioData, variant, version)) { return false; + } QFile destinationFile(destinationEEprom); if (!destinationFile.open(QIODevice::WriteOnly)) diff --git a/companion/src/converteeprom.h b/companion/src/converteeprom.h old mode 100755 new mode 100644 diff --git a/companion/src/eeprominterface.cpp b/companion/src/eeprominterface.cpp index a03a1d07a..d9243255e 100644 --- a/companion/src/eeprominterface.cpp +++ b/companion/src/eeprominterface.cpp @@ -481,7 +481,7 @@ QString RawSource::toString(const ModelData * model) const QObject::tr("L21"), QObject::tr("L22"), QObject::tr("L23"), QObject::tr("L24"), QObject::tr("L25"), QObject::tr("L26"), QObject::tr("L27"), QObject::tr("L28"), QObject::tr("L29"), QObject::tr("L30"), QObject::tr("L31"), QObject::tr("L32") }; - + if (index<0) { return QObject::tr("----"); } @@ -528,7 +528,7 @@ QString RawSource::toString(const ModelData * model) const return CHECK_IN_ARRAY(telemetry, index); } case SOURCE_TYPE_GVAR: - return QObject::tr("GV%1").arg(index+1); + return QObject::tr("GV%1").arg(index+1); default: return QObject::tr("----"); } @@ -536,15 +536,15 @@ QString RawSource::toString(const ModelData * model) const bool RawSource::isPot() const { - return (type == SOURCE_TYPE_STICK && - index >= NUM_STICKS && + return (type == SOURCE_TYPE_STICK && + index >= NUM_STICKS && index < NUM_STICKS+GetCurrentFirmware()->getCapability(Pots)); } bool RawSource::isSlider() const { - return (type == SOURCE_TYPE_STICK && - index >= NUM_STICKS+GetCurrentFirmware()->getCapability(Pots) && + return (type == SOURCE_TYPE_STICK && + index >= NUM_STICKS+GetCurrentFirmware()->getCapability(Pots) && index < NUM_STICKS+GetCurrentFirmware()->getCapability(Pots)+GetCurrentFirmware()->getCapability(Sliders)); } @@ -810,6 +810,18 @@ QString CustomFunctionData::funcToString() const return QObject::tr("Background Music Pause"); else if (func >= FuncAdjustGV1 && func <= FuncAdjustGVLast) return QObject::tr("Adjust GV%1").arg(func-FuncAdjustGV1+1); + else if (func == FuncSetFailsafeInternalModule) + return QObject::tr("SetFailsafe Int. Module"); + else if (func == FuncSetFailsafeExternalModule) + return QObject::tr("SetFailsafe Ext. Module"); + else if (func == FuncRangeCheckInternalModule) + return QObject::tr("RangeCheck Int. Module"); + else if (func == FuncRangeCheckExternalModule) + return QObject::tr("RangeCheck Ext. Module"); + else if (func == FuncBindInternalModule) + return QObject::tr("Bind Int. Module"); + else if (func == FuncBindExternalModule) + return QObject::tr("Bind Ext. Module"); else { return QString("???"); // Highlight unknown functions with output of question marks.(BTW should not happen that we do not know what a function is) } @@ -858,7 +870,7 @@ void CustomFunctionData::populatePlaySoundParams(QStringList & qs) qs << "SciFi" << "Robot" << "Chirp" << "Tada" << "Crickt" << "AlmClk" ; } -void CustomFunctionData::populateHapticParams(QStringList & qs) +void CustomFunctionData::populateHapticParams(QStringList & qs) { qs << "0" << "1" << "2" << "3"; } @@ -892,12 +904,12 @@ QString CustomFunctionData::paramToString(const ModelData * model) const int pos = cb.findData(param); if (pos >= 0) return cb.itemText(pos); - else + else return QObject::tr("Inconsistent parameter"); } else if ((func==FuncVolume)|| (func==FuncPlayValue)) { RawSource item(param); - return item.toString(); + return item.toString(model); } else if ((func==FuncPlayPrompt) || (func==FuncPlayBoth)) { if ( GetCurrentFirmware()->getCapability(VoicesAsNumbers)) { @@ -924,12 +936,15 @@ QString CustomFunctionData::paramToString(const ModelData * model) const QString CustomFunctionData::repeatToString() const { - if (repeatParam==0) { + if (repeatParam == -1) { + return QObject::tr("played once, not during startup"); + } + else if (repeatParam == 0) { return ""; } else { unsigned int step = IS_ARM(GetEepromInterface()->getBoard()) ? 1 : 10; - return QObject::tr("repeat") + QString("(%1").arg(step*repeatParam) + QObject::tr("s") + ")"; + return QObject::tr("repeat(%1s)").arg(step*repeatParam); } } @@ -1083,8 +1098,8 @@ GeneralSettings::GeneralSettings() } else { QString t_trainercalib=g.profile[g.id()].trainerCalib(); - int8_t t_vBatCalib=(int8_t)g.profile[g.id()].vBatCalib(); - int8_t t_currentCalib=(int8_t)g.profile[g.id()].currentCalib(); + int8_t t_txVoltageCalibration=(int8_t)g.profile[g.id()].txVoltageCalibration(); + int8_t t_txCurrentCalibration=(int8_t)g.profile[g.id()].txCurrentCalibration(); int8_t t_PPM_Multiplier=(int8_t)g.profile[g.id()].ppmMultiplier(); uint8_t t_stickMode=(uint8_t)g.profile[g.id()].gsStickMode(); uint8_t t_vBatWarn=(uint8_t)g.profile[g.id()].vBatWarn(); @@ -1118,8 +1133,8 @@ GeneralSettings::GeneralSettings() if (ok) trainer.calib[i]=byte16; } - currentCalib=t_currentCalib; - vBatCalib=t_vBatCalib; + txCurrentCalibration=t_txCurrentCalibration; + txVoltageCalibration=t_txVoltageCalibration; vBatWarn=t_vBatWarn; PPM_Multiplier=t_PPM_Multiplier; stickMode = t_stickMode; @@ -1383,12 +1398,16 @@ void ModelData::clear() moduleData[2].ppmDelay = 300; int board = GetEepromInterface()->getBoard(); if (IS_TARANIS(board)) { - moduleData[0].protocol=PXX_XJT_X16; - moduleData[1].protocol=OFF; + moduleData[0].protocol = PULSES_PXX_XJT_X16; + moduleData[1].protocol = PULSES_OFF; + } + else if (IS_SKY9X(board)) { + moduleData[0].protocol = PULSES_PPM; + moduleData[1].protocol = PULSES_PPM; } else { - moduleData[0].protocol=PPM; - moduleData[1].protocol=OFF; + moduleData[0].protocol = PULSES_PPM; + moduleData[1].protocol = PULSES_OFF; } for (int i=0; i(intf), 16 ); delete intf; - } + } OpenTxEepromCleanup(); } @@ -1630,35 +1649,116 @@ void unregisterFirmwares() } } -bool loadEEprom(RadioData &radioData, const uint8_t *eeprom, const int size) +void ShowEepromErrors(QWidget *parent, const QString &title, const QString &mainMessage, unsigned long errorsFound) { - foreach(EEPROMInterface *eepromInterface, eepromInterfaces) { - if (eepromInterface->load(radioData, eeprom, size)) - return true; + std::bitset errors((unsigned long long)errorsFound); + QStringList errorsList; + + errorsList << QT_TRANSLATE_NOOP("EepromInterface", "Possible causes for this:"); + + if (errors.test(UNSUPPORTED_NEWER_VERSION)) { errorsList << QT_TRANSLATE_NOOP("EepromInterface", "- Eeprom is from a newer version of OpenTX"); } + if (errors.test(NOT_OPENTX)) { errorsList << QT_TRANSLATE_NOOP("EepromInterface", "- Eeprom is not from OpenTX"); } + if (errors.test(NOT_TH9X)) { errorsList << QT_TRANSLATE_NOOP("EepromInterface", "- Eeprom is not from Th9X"); } + if (errors.test(NOT_GRUVIN9X)) { errorsList << QT_TRANSLATE_NOOP("EepromInterface", "- Eeprom is not from Gruvin9X"); } + if (errors.test(NOT_ERSKY9X)) { errorsList << QT_TRANSLATE_NOOP("EepromInterface", "- Eeprom is not from ErSky9X"); } + if (errors.test(NOT_ER9X)) { errorsList << QT_TRANSLATE_NOOP("EepromInterface", "- Eeprom is not from Er9X"); } + if (errors.test(WRONG_SIZE)) { errorsList << QT_TRANSLATE_NOOP("EepromInterface", "- Eeprom size is invalid"); } + if (errors.test(WRONG_FILE_SYSTEM)) { errorsList << QT_TRANSLATE_NOOP("EepromInterface", "- Eeprom file system is invalid"); } + if (errors.test(UNKNOWN_BOARD)) { errorsList << QT_TRANSLATE_NOOP("EepromInterface", "- Eeprom is from a unknown board"); } + if (errors.test(WRONG_BOARD)) { errorsList << QT_TRANSLATE_NOOP("EepromInterface", "- Eeprom is from the wrong board"); } + if (errors.test(BACKUP_NOT_SUPPORTED)) { errorsList << QT_TRANSLATE_NOOP("EepromInterface", "- Eeprom backup not supported"); } + + if (errors.test(UNKNOWN_ERROR)) { errorsList << QT_TRANSLATE_NOOP("EepromInterface", "- Something that couldn't be guessed, sorry"); } + + if (errors.test(HAS_WARNINGS)) { + errorsList << QT_TRANSLATE_NOOP("EepromInterface", "Warning:"); + if (errors.test(WARNING_WRONG_FIRMWARE)) { errorsList << QT_TRANSLATE_NOOP("EepromInterface", "- Your radio probably uses a wrong firmware,\n eeprom size is 4096 but only the first 2048 are used"); } } - return false; + QMessageBox msgBox(parent); + msgBox.setWindowTitle(title); + msgBox.setIcon(QMessageBox::Critical); + msgBox.setText(mainMessage); + msgBox.setInformativeText(errorsList.join("\n")); + msgBox.setStandardButtons(QMessageBox::Ok); + msgBox.exec(); } -bool loadBackup(RadioData &radioData, uint8_t *eeprom, int size, int index) +void ShowEepromWarnings(QWidget *parent, const QString &title, unsigned long errorsFound) { + std::bitset errors((unsigned long long)errorsFound); + QStringList warningsList; + if (errors.test(WARNING_WRONG_FIRMWARE)) { warningsList << QT_TRANSLATE_NOOP("EepromInterface", "- Your radio probably uses a wrong firmware,\n eeprom size is 4096 but only the first 2048 are used"); } + if (errors.test(OLD_VERSION)) { warningsList << QT_TRANSLATE_NOOP("EepromInterface", "- Your eeprom is from an old version of OpenTX, upgrading!\n You should 'save as' to keep the old file as a backup."); } + + QMessageBox msgBox(parent); + msgBox.setWindowTitle(title); + msgBox.setIcon(QMessageBox::Warning); + msgBox.setText(QT_TRANSLATE_NOOP("EepromInterface", "Warnings!")); + msgBox.setInformativeText(warningsList.join("\n")); + msgBox.setStandardButtons(QMessageBox::Ok); + msgBox.exec(); +} + +unsigned long LoadEeprom(RadioData &radioData, const uint8_t *eeprom, const int size) +{ + std::bitset errors; + foreach(EEPROMInterface *eepromInterface, eepromInterfaces) { - if (eepromInterface->loadBackup(radioData, eeprom, size, index)) - return true; + std::bitset result((unsigned long long)eepromInterface->load(radioData, eeprom, size)); + if (result.test(NO_ERROR)) { + return result.to_ulong(); + } + else { + errors |= result; + } } - return false; + if (errors.none()) { + errors.set(UNKNOWN_ERROR); + } + return errors.to_ulong(); +} + +unsigned long LoadBackup(RadioData & radioData, uint8_t * eeprom, int size, int index) +{ + std::bitset errors; + + foreach(EEPROMInterface *eepromInterface, eepromInterfaces) { + std::bitset result((unsigned long long)eepromInterface->loadBackup(radioData, eeprom, size, index)); + if (result.test(NO_ERROR)) { + return result.to_ulong(); + } + else { + errors |= result; + } + } + + if (errors.none()) { + errors.set(UNKNOWN_ERROR); + } + return errors.to_ulong(); } -bool loadEEpromXml(RadioData &radioData, QDomDocument &doc) +unsigned long LoadEepromXml(RadioData & radioData, QDomDocument & doc) { + std::bitset errors; + foreach(EEPROMInterface *eepromInterface, eepromInterfaces) { - if (eepromInterface->loadxml(radioData, doc)) - return true; + std::bitset result((unsigned long long)eepromInterface->loadxml(radioData, doc)); + if (result.test(NO_ERROR)) { + return result.to_ulong(); + } + else { + errors |= result; + } } - return false; + if (errors.none()) { + errors.set(UNKNOWN_ERROR); + } + return errors.to_ulong(); } QString getBoardName(BoardEnum board) @@ -1680,6 +1780,8 @@ QString getBoardName(BoardEnum board) return "Sky9x"; case BOARD_9XRPRO: return "9XR-PRO"; + case BOARD_AR9X: + return "AR9X"; default: return "Unknown"; } diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h index 2b4f11b23..348cc7a39 100644 --- a/companion/src/eeprominterface.h +++ b/companion/src/eeprominterface.h @@ -24,6 +24,7 @@ #include #include #include +#include #include "constants.h" #include "simulatorinterface.h" @@ -40,7 +41,7 @@ QString getBoardName(BoardEnum board); #define IS_9X(board) (board==BOARD_STOCK || board==BOARD_M128) #define IS_STOCK(board) (board==BOARD_STOCK) #define IS_2560(board) (board==BOARD_GRUVIN9X || board==BOARD_MEGA2560) -#define IS_SKY9X(board) (board==BOARD_SKY9X || board==BOARD_9XRPRO) +#define IS_SKY9X(board) (board==BOARD_SKY9X || board==BOARD_9XRPRO || board==BOARD_AR9X) #define IS_9XRPRO(board) (board==BOARD_9XRPRO) #define IS_TARANIS(board) (board==BOARD_TARANIS || board==BOARD_TARANIS_PLUS || board==BOARD_TARANIS_X9E) #define IS_TARANIS_PLUS(board) (board==BOARD_TARANIS_PLUS || board==BOARD_TARANIS_X9E) @@ -183,19 +184,6 @@ extern const char downArrow[]; class ModelData; class GeneralSettings; -enum ThrottleSource { - THROTTLE_SOURCE_THR, - THROTTLE_SOURCE_P1, - THROTTLE_SOURCE_P2, - THROTTLE_SOURCE_P3, - THROTTLE_SOURCE_S1 = THROTTLE_SOURCE_P1, - THROTTLE_SOURCE_S2, - THROTTLE_SOURCE_S3, - THROTTLE_SOURCE_LS, - THROTTLE_SOURCE_RS, - THROTTLE_SOURCE_FIRST_CHANNEL, -}; - enum TelemetrySource { TELEMETRY_SOURCE_TX_BATT, TELEMETRY_SOURCE_TX_TIME, @@ -610,6 +598,12 @@ enum AssignFunc { FuncBackgroundMusicPause, FuncAdjustGV1, FuncAdjustGVLast = FuncAdjustGV1+C9X_MAX_GVARS-1, + FuncSetFailsafeInternalModule, + FuncSetFailsafeExternalModule, + FuncRangeCheckInternalModule, + FuncRangeCheckExternalModule, + FuncBindInternalModule, + FuncBindExternalModule, FuncCount, FuncReserve = -1 }; @@ -815,31 +809,31 @@ class TimerData { void clear() { memset(this, 0, sizeof(TimerData)); mode = RawSwitch(SWITCH_TYPE_TIMER_MODE, 0); } }; -enum Protocol { - OFF, - PPM, - SILV_A, - SILV_B, - SILV_C, - CTP1009, - LP45, - DSM2, - DSMX, - PPM16, - PPMSIM, - PXX_XJT_X16, - PXX_XJT_D8, - PXX_XJT_LR12, - PXX_DJT, - PROTO_LAST +enum PulsesProtocol { + PULSES_OFF, + PULSES_PPM, + PULSES_SILV_A, + PULSES_SILV_B, + PULSES_SILV_C, + PULSES_CTP1009, + PULSES_LP45, + PULSES_DSM2, + PULSES_DSMX, + PULSES_PPM16, + PULSES_PPMSIM, + PULSES_PXX_XJT_X16, + PULSES_PXX_XJT_D8, + PULSES_PXX_XJT_LR12, + PULSES_PXX_DJT, + PULSES_PROTOCOL_LAST }; enum TrainerProtocol { - MASTER_JACK, - SLAVE_JACK, - MASTER_SBUS_MODULE, - MASTER_CPPM_MODULE, - MASTER_SBUS_BATT_COMPARTMENT + TRAINER_MASTER_JACK, + TRAINER_SLAVE_JACK, + TRAINER_MASTER_SBUS_MODULE, + TRAINER_MASTER_CPPM_MODULE, + TRAINER_MASTER_SBUS_BATT_COMPARTMENT }; class ModuleData { @@ -854,7 +848,7 @@ class ModuleData { int failsafeChannels[C9X_NUM_CHNOUT]; int ppmDelay; bool ppmPulsePol; // false = positive - bool ppmOutputType; // false = open drain, true = push pull + bool ppmOutputType; // false = open drain, true = push pull int ppmFrameLength; void clear() { memset(this, 0, sizeof(ModuleData)); } QString polarityToString() const { return ppmPulsePol ? QObject::tr("Positive") : QObject::tr("Negative"); } // TODO ModelPrinter @@ -1054,6 +1048,8 @@ class ModelData { SensorData sensorData[C9X_MAX_SENSORS]; + unsigned int toplcdTimer; + void clear(); bool isEmpty() const; void setDefaultInputs(const GeneralSettings & settings); @@ -1139,7 +1135,8 @@ class GeneralSettings { unsigned int currModel; // 0..15 unsigned int contrast; unsigned int vBatWarn; - int vBatCalib; + int txVoltageCalibration; + int txCurrentCalibration; int vBatMin; int vBatMax; int backlightMode; @@ -1187,7 +1184,6 @@ class GeneralSettings { int speakerVolume; unsigned int backlightBright; int switchesDelay; - int currentCalib; int temperatureCalib; int temperatureWarn; unsigned int mAhWarn; @@ -1318,7 +1314,7 @@ enum Capability { PPMCenter, PPMUnitMicroseconds, SYMLimits, - HasCurrentCalibration, + HastxCurrentCalibration, HasVolume, HasBrightness, PerModelTimers, @@ -1330,6 +1326,7 @@ enum Capability { LCDWidth, GetThrSwitch, HasDisplayText, + HasTopLcd, GlobalFunctions, VirtualInputs, TrainerInputs, @@ -1349,7 +1346,8 @@ enum Capability { HasInputDiff, HasMixerExpo, MixersMonitor, - HasBatMeterRange + HasBatMeterRange, + DangerousFunctions, }; class SimulatorInterface; @@ -1366,11 +1364,11 @@ class EEPROMInterface inline BoardEnum getBoard() { return board; } - virtual bool load(RadioData &radioData, const uint8_t *eeprom, int size) = 0; + virtual unsigned long load(RadioData &radioData, const uint8_t *eeprom, int size) = 0; - virtual bool loadBackup(RadioData &radioData, uint8_t *eeprom, int esize, int index) = 0; + virtual unsigned long loadBackup(RadioData &radioData, uint8_t *eeprom, int esize, int index) = 0; - virtual bool loadxml(RadioData &radioData, QDomDocument &doc) = 0; + virtual unsigned long loadxml(RadioData &radioData, QDomDocument &doc) = 0; virtual int save(uint8_t *eeprom, RadioData &radioData, uint32_t variant=0, uint8_t version=0) = 0; @@ -1378,7 +1376,7 @@ class EEPROMInterface virtual int getSize(const GeneralSettings &) = 0; - virtual int isAvailable(Protocol proto, int port=0) = 0; + virtual int isAvailable(PulsesProtocol proto, int port=0) = 0; virtual const int getEEpromSize() = 0; @@ -1493,9 +1491,35 @@ void unregisterEEpromInterfaces(); void registerOpenTxFirmwares(); void unregisterFirmwares(); -bool loadBackup(RadioData &radioData, uint8_t *eeprom, int esize, int index); -bool loadEEprom(RadioData &radioData, const uint8_t *eeprom, int size); -bool loadEEpromXml(RadioData &radioData, QDomDocument &doc); +enum EepromLoadErrors { + NO_ERROR, + + UNKNOWN_ERROR, + UNSUPPORTED_NEWER_VERSION, + WRONG_SIZE, + WRONG_FILE_SYSTEM, + NOT_OPENTX, + NOT_TH9X, + NOT_GRUVIN9X, + NOT_ERSKY9X, + NOT_ER9X, + UNKNOWN_BOARD, + WRONG_BOARD, + BACKUP_NOT_SUPPORTED, + + HAS_WARNINGS, + OLD_VERSION, + WARNING_WRONG_FIRMWARE, + + NUM_ERRORS +}; + +void ShowEepromErrors(QWidget *parent, const QString &title, const QString &mainMessage, unsigned long errorsFound); +void ShowEepromWarnings(QWidget *parent, const QString &title, unsigned long errorsFound); + +unsigned long LoadBackup(RadioData &radioData, uint8_t *eeprom, int esize, int index); +unsigned long LoadEeprom(RadioData &radioData, const uint8_t *eeprom, int size); +unsigned long LoadEepromXml(RadioData &radioData, QDomDocument &doc); struct Option { const char * name; diff --git a/companion/src/firmwareinterface.cpp b/companion/src/firmwareinterface.cpp old mode 100755 new mode 100644 diff --git a/companion/src/firmwareinterface.h b/companion/src/firmwareinterface.h old mode 100755 new mode 100644 diff --git a/companion/src/firmwares/er9x/er9xeeprom.cpp b/companion/src/firmwares/er9x/er9xeeprom.cpp index 41fa1d36c..f7342161b 100644 --- a/companion/src/firmwares/er9x/er9xeeprom.cpp +++ b/companion/src/firmwares/er9x/er9xeeprom.cpp @@ -70,7 +70,7 @@ Er9xGeneral::operator GeneralSettings () result.currModel = currModel; result.contrast = contrast; result.vBatWarn = vBatWarn; - result.vBatCalib = vBatCalib; + result.txVoltageCalibration = txVoltageCalibration; result.trainer = trainer; result.blightinv=blightinv; result.stickScroll=stickScroll; @@ -361,16 +361,16 @@ t_Er9xModelData::operator ModelData () c9x.timers[0].val = tmrVal; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 2: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; case 3: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].ppmFrameLength=ppmFrameLength; diff --git a/companion/src/firmwares/er9x/er9xeeprom.h b/companion/src/firmwares/er9x/er9xeeprom.h index 163f5aa20..dd7691ed3 100644 --- a/companion/src/firmwares/er9x/er9xeeprom.h +++ b/companion/src/firmwares/er9x/er9xeeprom.h @@ -61,7 +61,7 @@ PACK(typedef struct t_Er9xGeneral { uint8_t currModel; //0..15 uint8_t contrast; uint8_t vBatWarn; - int8_t vBatCalib; + int8_t txVoltageCalibration; int8_t lightSw; Er9xTrainerData trainer; uint8_t view; diff --git a/companion/src/firmwares/er9x/er9xinterface.cpp b/companion/src/firmwares/er9x/er9xinterface.cpp index ddda4d86b..f7859f1f0 100644 --- a/companion/src/firmwares/er9x/er9xinterface.cpp +++ b/companion/src/firmwares/er9x/er9xinterface.cpp @@ -89,14 +89,17 @@ inline void applyStickModeToModel(Er9xModelData & model, unsigned int mode) model.swashCollectiveSource = applyStickMode(model.swashCollectiveSource, mode); } -bool Er9xInterface::loadxml(RadioData &radioData, QDomDocument &doc) +unsigned long Er9xInterface::loadxml(RadioData &radioData, QDomDocument &doc) { std::cout << "trying er9x xml import... "; + std::bitset errors; + Er9xGeneral er9xGeneral; memset(&er9xGeneral,0,sizeof(er9xGeneral)); if(!loadGeneralDataXML(&doc, &er9xGeneral)) { - return false; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } else { radioData.generalSettings=er9xGeneral; std::cout << "version " << (unsigned int)er9xGeneral.myVers << " "; @@ -111,21 +114,26 @@ bool Er9xInterface::loadxml(RadioData &radioData, QDomDocument &doc) } } std::cout << "ok\n"; - return true; + errors.set(NO_ERROR); + return errors.to_ulong(); } -bool Er9xInterface::load(RadioData &radioData, const uint8_t *eeprom, int size) +unsigned long Er9xInterface::load(RadioData &radioData, const uint8_t *eeprom, int size) { std::cout << "trying er9x import... "; + std::bitset errors; + if (size != getEEpromSize()) { std::cout << "wrong size\n"; - return false; + errors.set(WRONG_SIZE); + return errors.to_ulong(); } if (!efile->EeFsOpen((uint8_t *)eeprom, size, BOARD_STOCK)) { std::cout << "wrong file system\n"; - return false; + errors.set(WRONG_FILE_SYSTEM); + return errors.to_ulong(); } efile->openRd(FILE_GENERAL); @@ -133,7 +141,8 @@ bool Er9xInterface::load(RadioData &radioData, const uint8_t *eeprom, int size) if (efile->readRlc1((uint8_t*)&er9xGeneral, 1) != 1) { std::cout << "no\n"; - return false; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } std::cout << "version " << (unsigned int)er9xGeneral.myVers << " "; @@ -151,13 +160,16 @@ bool Er9xInterface::load(RadioData &radioData, const uint8_t *eeprom, int size) break; default: std::cout << "not er9x\n"; - return false; + errors.set(NOT_ER9X); + return errors.to_ulong(); } efile->openRd(FILE_GENERAL); if (!efile->readRlc1((uint8_t*)&er9xGeneral, sizeof(Er9xGeneral))) { std::cout << "ko\n"; - return false; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); + } radioData.generalSettings = er9xGeneral; @@ -174,12 +186,15 @@ bool Er9xInterface::load(RadioData &radioData, const uint8_t *eeprom, int size) } std::cout << "ok\n"; - return true; + errors.set(NO_ERROR); + return errors.to_ulong(); } -bool Er9xInterface::loadBackup(RadioData &radioData, uint8_t *eeprom, int esize, int index) +unsigned long Er9xInterface::loadBackup(RadioData &radioData, uint8_t *eeprom, int esize, int index) { - return false; + std::bitset errors; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } int Er9xInterface::save(uint8_t *eeprom, RadioData &radioData, uint32_t variant, uint8_t version) @@ -200,13 +215,13 @@ int Er9xInterface::getSize(const GeneralSettings &settings) return 0; } -int Er9xInterface::isAvailable(Protocol prot, int port) +int Er9xInterface::isAvailable(PulsesProtocol prot, int port) { switch (prot) { - case PPM: - case DSM2: - case PXX_DJT: - case PPM16: + case PULSES_PPM: + case PULSES_DSM2: + case PULSES_PXX_DJT: + case PULSES_PPM16: return 1; default: return 0; diff --git a/companion/src/firmwares/er9x/er9xinterface.h b/companion/src/firmwares/er9x/er9xinterface.h index 5a73255f9..8774fa441 100644 --- a/companion/src/firmwares/er9x/er9xinterface.h +++ b/companion/src/firmwares/er9x/er9xinterface.h @@ -1,6 +1,6 @@ /* * Author - Bertrand Songis - * + * * Based on th9x -> http://code.google.com/p/th9x/ * * This program is free software; you can redistribute it and/or modify @@ -29,24 +29,24 @@ class Er9xInterface : public EEPROMInterface virtual ~Er9xInterface(); virtual const char * getName(); - + virtual const int getEEpromSize(); virtual const int getMaxModels(); - virtual bool load(RadioData &, const uint8_t * eeprom, int size); + virtual unsigned long load(RadioData &, const uint8_t * eeprom, int size); - virtual bool loadBackup(RadioData &, uint8_t * eeprom, int esize, int index); - - virtual bool loadxml(RadioData &radioData, QDomDocument &doc); + virtual unsigned long loadBackup(RadioData &, uint8_t * eeprom, int esize, int index); + + virtual unsigned long loadxml(RadioData &radioData, QDomDocument &doc); virtual int save(uint8_t * eeprom, RadioData & radioData, uint32_t variant=0, uint8_t version=0); virtual int getSize(const ModelData &); - + virtual int getSize(const GeneralSettings &settings); - virtual int isAvailable(Protocol proto, int port=0); + virtual int isAvailable(PulsesProtocol proto, int port=0); protected: @@ -54,17 +54,17 @@ class Er9xInterface : public EEPROMInterface private: void appendTextElement(QDomDocument * qdoc, QDomElement * pe, QString name, QString value); - + void appendNumberElement(QDomDocument * qdoc, QDomElement * pe,QString name, int value, bool forceZeroWrite = false); - + void appendCDATAElement(QDomDocument * qdoc, QDomElement * pe,QString name, const char * data, int size); - + QDomElement getGeneralDataXML(QDomDocument * qdoc, Er9xGeneral * tgen); //parse out data to XML format - + QDomElement getModelDataXML(QDomDocument * qdoc, Er9xModelData * tmod, int modelNum, int mdver); //parse out data to XML format - + bool loadGeneralDataXML(QDomDocument * qdoc, Er9xGeneral * tgen); // get data from XML - + bool loadModelDataXML(QDomDocument * qdoc, Er9xModelData * tmod, int modelNum = -1); // get data from XML }; diff --git a/companion/src/firmwares/ersky9x/ersky9xeeprom.cpp b/companion/src/firmwares/ersky9x/ersky9xeeprom.cpp index d13addaf3..9442868e4 100644 --- a/companion/src/firmwares/ersky9x/ersky9xeeprom.cpp +++ b/companion/src/firmwares/ersky9x/ersky9xeeprom.cpp @@ -82,7 +82,7 @@ Ersky9xGeneral::operator GeneralSettings () result.currModel = currModel; result.contrast = contrast; result.vBatWarn = vBatWarn; - result.vBatCalib = vBatCalib; + result.txVoltageCalibration = txVoltageCalibration; result.backlightMode = 0; if (lightSw == 22) { @@ -135,7 +135,7 @@ Ersky9xGeneral::operator GeneralSettings () result.switchWarningStates = switchWarningStates; result.speakerVolume = volume; result.backlightBright = bright ; - result.currentCalib = current_calib; + result.txCurrentCalibration = current_calib; return result; } @@ -493,16 +493,16 @@ t_Ersky9xModelData_v10::operator ModelData () } switch(protocol) { case 1: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 2: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; case 3: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].ppmFrameLength=ppmFrameLength; @@ -608,16 +608,16 @@ t_Ersky9xModelData_v11::operator ModelData () } switch(protocol) { case 1: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 2: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; case 3: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].ppmFrameLength=ppmFrameLength; diff --git a/companion/src/firmwares/ersky9x/ersky9xeeprom.h b/companion/src/firmwares/ersky9x/ersky9xeeprom.h index 89aacba31..511ceacdb 100644 --- a/companion/src/firmwares/ersky9x/ersky9xeeprom.h +++ b/companion/src/firmwares/ersky9x/ersky9xeeprom.h @@ -69,7 +69,7 @@ PACK(typedef struct t_Ersky9xGeneral { uint8_t currModel; //0..15 uint8_t contrast; uint8_t vBatWarn; - int8_t vBatCalib; + int8_t txVoltageCalibration; int8_t lightSw; Ersky9xTrainerData trainer; uint8_t view; diff --git a/companion/src/firmwares/ersky9x/ersky9xinterface.cpp b/companion/src/firmwares/ersky9x/ersky9xinterface.cpp index 857e745c1..8b4721e45 100644 --- a/companion/src/firmwares/ersky9x/ersky9xinterface.cpp +++ b/companion/src/firmwares/ersky9x/ersky9xinterface.cpp @@ -15,7 +15,6 @@ */ #include -#include #include "ersky9xinterface.h" #include "ersky9xeeprom.h" #include "simulator/ersky9xsimulator.h" @@ -120,14 +119,17 @@ inline void applyStickModeToModel(Ersky9xModelData_v11 & model, unsigned int mod model.swashCollectiveSource = applyStickMode(model.swashCollectiveSource, mode); } -bool Ersky9xInterface::loadxml(RadioData &radioData, QDomDocument &doc) +unsigned long Ersky9xInterface::loadxml(RadioData &radioData, QDomDocument &doc) { std::cout << "trying ersky9x xml import... "; + std::bitset errors; + Ersky9xGeneral ersky9xGeneral; memset(&ersky9xGeneral,0,sizeof(ersky9xGeneral)); if(!loadGeneralDataXML(&doc, &ersky9xGeneral)) { - return false; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } else { radioData.generalSettings=ersky9xGeneral; @@ -137,32 +139,39 @@ bool Ersky9xInterface::loadxml(RadioData &radioData, QDomDocument &doc) if (ersky9xGeneral.myVers == 10) { if (!loadModelDataXML(&doc, &radioData.models[i], i, radioData.generalSettings.stickMode+1)) { std::cout << "ko\n"; - return false; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } } else { if (!loadModelDataXML(&doc, &radioData.models[i], i, radioData.generalSettings.stickMode+1)) { std::cout << "ko\n"; - return false; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } } } std::cout << "ok\n"; - return true; + errors.set(NO_ERROR); + return errors.to_ulong(); } -bool Ersky9xInterface::load(RadioData &radioData, const uint8_t *eeprom, int size) +unsigned long Ersky9xInterface::load(RadioData &radioData, const uint8_t *eeprom, int size) { std::cout << "trying ersky9x import... "; + std::bitset errors; + if (size != EESIZE_SKY9X) { std::cout << "wrong size\n"; - return false; + errors.set(WRONG_SIZE); + return errors.to_ulong(); } if (!efile->EeFsOpen((uint8_t *)eeprom, size, BOARD_SKY9X)) { std::cout << "wrong file system\n"; - return false; + errors.set(WRONG_FILE_SYSTEM); + return errors.to_ulong(); } efile->openRd(FILE_GENERAL); @@ -170,7 +179,8 @@ bool Ersky9xInterface::load(RadioData &radioData, const uint8_t *eeprom, int siz if (efile->readRlc2((uint8_t*)&ersky9xGeneral, 1) != 1) { std::cout << "no\n"; - return false; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } std::cout << "version " << (unsigned int)ersky9xGeneral.myVers << " "; @@ -182,12 +192,14 @@ bool Ersky9xInterface::load(RadioData &radioData, const uint8_t *eeprom, int siz break; default: std::cout << "not ersky9x\n"; - return false; + errors.set(NOT_ERSKY9X); + return errors.to_ulong(); } efile->openRd(FILE_GENERAL); if (!efile->readRlc2((uint8_t*)&ersky9xGeneral, sizeof(Ersky9xGeneral))) { std::cout << "ko\n"; - return false; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } radioData.generalSettings = ersky9xGeneral; @@ -218,12 +230,15 @@ bool Ersky9xInterface::load(RadioData &radioData, const uint8_t *eeprom, int siz } std::cout << "ok\n"; - return true; + errors.set(NO_ERROR); + return errors.to_ulong(); } -bool Ersky9xInterface::loadBackup(RadioData &radioData, uint8_t *eeprom, int esize, int index) +unsigned long Ersky9xInterface::loadBackup(RadioData &radioData, uint8_t *eeprom, int esize, int index) { - return false; + std::bitset errors; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } int Ersky9xInterface::save(uint8_t *eeprom, RadioData &radioData, uint32_t variant, uint8_t version) @@ -244,13 +259,13 @@ int Ersky9xInterface::getSize(const GeneralSettings & settings) return 0; } -int Ersky9xInterface::isAvailable(Protocol prot, int port) +int Ersky9xInterface::isAvailable(PulsesProtocol prot, int port) { switch (prot) { - case PPM: - case DSM2: - case PXX_DJT: - case PPM16: + case PULSES_PPM: + case PULSES_DSM2: + case PULSES_PXX_DJT: + case PULSES_PPM16: return 1; default: return 0; diff --git a/companion/src/firmwares/ersky9x/ersky9xinterface.h b/companion/src/firmwares/ersky9x/ersky9xinterface.h index 7e1c2dce6..3a2a0eae8 100644 --- a/companion/src/firmwares/ersky9x/ersky9xinterface.h +++ b/companion/src/firmwares/ersky9x/ersky9xinterface.h @@ -34,11 +34,11 @@ class Ersky9xInterface : public EEPROMInterface virtual const int getMaxModels(); - virtual bool load(RadioData &, const uint8_t * eeprom, int size); + virtual unsigned long load(RadioData &, const uint8_t * eeprom, int size); - virtual bool loadBackup(RadioData &, uint8_t * eeprom, int esize, int index); + virtual unsigned long loadBackup(RadioData &, uint8_t * eeprom, int esize, int index); - virtual bool loadxml(RadioData &radioData, QDomDocument &doc); + virtual unsigned long loadxml(RadioData &radioData, QDomDocument &doc); virtual int save(uint8_t * eeprom, RadioData & radioData, uint32_t variant=0, uint8_t version=0); @@ -46,7 +46,7 @@ class Ersky9xInterface : public EEPROMInterface virtual int getSize(const GeneralSettings & settings); - virtual int isAvailable(Protocol proto, int port=0); + virtual int isAvailable(PulsesProtocol proto, int port=0); protected: diff --git a/companion/src/firmwares/gruvin9x/gruvin9xeeprom.cpp b/companion/src/firmwares/gruvin9x/gruvin9xeeprom.cpp index 0630022e1..dc7fda802 100644 --- a/companion/src/firmwares/gruvin9x/gruvin9xeeprom.cpp +++ b/companion/src/firmwares/gruvin9x/gruvin9xeeprom.cpp @@ -70,7 +70,7 @@ Gruvin9xGeneral_v103::operator GeneralSettings () result.currModel = currModel; result.contrast = contrast; result.vBatWarn = vBatWarn; - result.vBatCalib = vBatCalib; + result.txVoltageCalibration = txVoltageCalibration; result.backlightMode = 0; if (lightSw == 22) { @@ -127,7 +127,7 @@ Gruvin9xGeneral_v104::operator GeneralSettings () result.currModel = currModel; result.contrast = contrast; result.vBatWarn = vBatWarn; - result.vBatCalib = vBatCalib; + result.txVoltageCalibration = txVoltageCalibration; result.backlightMode = 0; if (lightSw == 22) { @@ -423,25 +423,25 @@ t_Gruvin9xModelData_v102::operator ModelData () switch(protocol) { case 1: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 2: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; case 3: - c9x.moduleData[0].protocol = SILV_A; + c9x.moduleData[0].protocol = PULSES_SILV_A; break; case 4: - c9x.moduleData[0].protocol = SILV_B; + c9x.moduleData[0].protocol = PULSES_SILV_B; break; case 5: - c9x.moduleData[0].protocol = SILV_C; + c9x.moduleData[0].protocol = PULSES_SILV_C; break; case 6: - c9x.moduleData[0].protocol = CTP1009; + c9x.moduleData[0].protocol = PULSES_CTP1009; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); @@ -493,25 +493,25 @@ t_Gruvin9xModelData_v103::operator ModelData () c9x.timers[1] = timer2; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 2: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; case 3: - c9x.moduleData[0].protocol = SILV_A; + c9x.moduleData[0].protocol = PULSES_SILV_A; break; case 4: - c9x.moduleData[0].protocol = SILV_B; + c9x.moduleData[0].protocol = PULSES_SILV_B; break; case 5: - c9x.moduleData[0].protocol = SILV_C; + c9x.moduleData[0].protocol = PULSES_SILV_C; break; case 6: - c9x.moduleData[0].protocol = CTP1009; + c9x.moduleData[0].protocol = PULSES_CTP1009; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); @@ -563,25 +563,25 @@ t_Gruvin9xModelData_v105::operator ModelData () c9x.timers[1] = timer2; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 2: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; case 3: - c9x.moduleData[0].protocol = SILV_A; + c9x.moduleData[0].protocol = PULSES_SILV_A; break; case 4: - c9x.moduleData[0].protocol = SILV_B; + c9x.moduleData[0].protocol = PULSES_SILV_B; break; case 5: - c9x.moduleData[0].protocol = SILV_C; + c9x.moduleData[0].protocol = PULSES_SILV_C; break; case 6: - c9x.moduleData[0].protocol = CTP1009; + c9x.moduleData[0].protocol = PULSES_CTP1009; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); @@ -653,25 +653,25 @@ t_Gruvin9xModelData_v106::operator ModelData () c9x.timers[1] = timer2; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 2: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; case 3: - c9x.moduleData[0].protocol = SILV_A; + c9x.moduleData[0].protocol = PULSES_SILV_A; break; case 4: - c9x.moduleData[0].protocol = SILV_B; + c9x.moduleData[0].protocol = PULSES_SILV_B; break; case 5: - c9x.moduleData[0].protocol = SILV_C; + c9x.moduleData[0].protocol = PULSES_SILV_C; break; case 6: - c9x.moduleData[0].protocol = CTP1009; + c9x.moduleData[0].protocol = PULSES_CTP1009; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); diff --git a/companion/src/firmwares/gruvin9x/gruvin9xeeprom.h b/companion/src/firmwares/gruvin9x/gruvin9xeeprom.h index ca399aefd..d554e0dea 100644 --- a/companion/src/firmwares/gruvin9x/gruvin9xeeprom.h +++ b/companion/src/firmwares/gruvin9x/gruvin9xeeprom.h @@ -69,7 +69,7 @@ PACK(typedef struct t_Gruvin9xGeneral_v103 { uint8_t currModel; //0..15 uint8_t contrast; uint8_t vBatWarn; - int8_t vBatCalib; + int8_t txVoltageCalibration; int8_t lightSw; Gruvin9xTrainerData_v103 trainer; uint8_t view; //index of subview in main scrren @@ -106,7 +106,7 @@ PACK(typedef struct t_Gruvin9xGeneral_v104 { uint8_t currModel; //0..15 uint8_t contrast; uint8_t vBatWarn; - int8_t vBatCalib; + int8_t txVoltageCalibration; int8_t lightSw; Gruvin9xTrainerData_v104 trainer; uint8_t view; //index of subview in main scrren diff --git a/companion/src/firmwares/gruvin9x/gruvin9xinterface.cpp b/companion/src/firmwares/gruvin9x/gruvin9xinterface.cpp index 4eecfbde9..007b492eb 100644 --- a/companion/src/firmwares/gruvin9x/gruvin9xinterface.cpp +++ b/companion/src/firmwares/gruvin9x/gruvin9xinterface.cpp @@ -93,24 +93,30 @@ bool Gruvin9xInterface::loadGeneral(GeneralSettings &settings, int version) return false; } -bool Gruvin9xInterface::loadxml(RadioData &radioData, QDomDocument &doc) +unsigned long Gruvin9xInterface::loadxml(RadioData &radioData, QDomDocument &doc) { - return false; + std::bitset errors; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } -bool Gruvin9xInterface::load(RadioData &radioData, const uint8_t *eeprom, int size) +unsigned long Gruvin9xInterface::load(RadioData &radioData, const uint8_t *eeprom, int size) { std::cout << "trying " << getName() << " import... "; + std::bitset errors; + if (size != this->getEEpromSize()) { std::cout << "wrong size\n"; - return false; + errors.set(WRONG_SIZE); + return errors.to_ulong(); } if (!efile->EeFsOpen((uint8_t *)eeprom, size, BOARD_STOCK)) { std::cout << "wrong file system\n"; - return false; + errors.set(WRONG_FILE_SYSTEM); + return errors.to_ulong(); } efile->openRd(FILE_GENERAL); @@ -118,14 +124,16 @@ bool Gruvin9xInterface::load(RadioData &radioData, const uint8_t *eeprom, int si uint8_t version; if (efile->readRlc2(&version, 1) != 1) { std::cout << "no\n"; - return false; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } if (version == 0) { efile->openRd(FILE_GENERAL); if (efile->readRlc1(&version, 1) != 1) { std::cout << "no\n"; - return false; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } } @@ -145,25 +153,33 @@ bool Gruvin9xInterface::load(RadioData &radioData, const uint8_t *eeprom, int si break; default: std::cout << "not gruvin9x\n"; - return false; + errors.set(NOT_GRUVIN9X); + return errors.to_ulong(); } efile->openRd(FILE_GENERAL); if (version == 5) { - if (!loadGeneral(radioData.generalSettings, 1)) - return false; + if (!loadGeneral(radioData.generalSettings, 1)) { + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); + } } else if (version < 104) { - if (!loadGeneral(radioData.generalSettings)) - return false; + if (!loadGeneral(radioData.generalSettings)) { + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); + } } else if (version <= 106) { - if (!loadGeneral(radioData.generalSettings)) - return false; + if (!loadGeneral(radioData.generalSettings)) { + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); + } } else { std::cout << "ko\n"; - return false; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } for (int i=0; i errors; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } int Gruvin9xInterface::save(uint8_t *eeprom, RadioData &radioData, uint32_t variant, uint8_t version) @@ -216,15 +236,15 @@ int Gruvin9xInterface::getSize(const GeneralSettings & settings) return 0; } -int Gruvin9xInterface::isAvailable(Protocol proto, int port) +int Gruvin9xInterface::isAvailable(PulsesProtocol proto, int port) { switch (proto) { - case PPM: - case SILV_A: - case SILV_B: - case SILV_C: - case CTP1009: - case DSM2: + case PULSES_PPM: + case PULSES_SILV_A: + case PULSES_SILV_B: + case PULSES_SILV_C: + case PULSES_CTP1009: + case PULSES_DSM2: return 1; default: return 0; diff --git a/companion/src/firmwares/gruvin9x/gruvin9xinterface.h b/companion/src/firmwares/gruvin9x/gruvin9xinterface.h index 5fbed3bdf..152cd5862 100644 --- a/companion/src/firmwares/gruvin9x/gruvin9xinterface.h +++ b/companion/src/firmwares/gruvin9x/gruvin9xinterface.h @@ -1,6 +1,6 @@ /* * Author - Bertrand Songis - * + * * Based on th9x -> http://code.google.com/p/th9x/ * * This program is free software; you can redistribute it and/or modify @@ -30,24 +30,25 @@ class Gruvin9xInterface : public EEPROMInterface virtual ~Gruvin9xInterface(); virtual const char * getName(); - + virtual const int getEEpromSize(); virtual const int getMaxModels(); - virtual bool load(RadioData &, const uint8_t *eeprom, int size); + virtual unsigned long load(RadioData &, const uint8_t *eeprom, int size); - virtual bool loadBackup(RadioData &, uint8_t *eeprom,int esize, int index); - - virtual bool loadxml(RadioData &radioData, QDomDocument &doc); + + virtual unsigned long loadBackup(RadioData &, uint8_t *eeprom,int esize, int index); + + virtual unsigned long loadxml(RadioData &radioData, QDomDocument &doc); virtual int save(uint8_t *eeprom, RadioData &radioData, uint32_t variant=0, uint8_t version=0); virtual int getSize(const ModelData &); - + virtual int getSize(const GeneralSettings & settings); - virtual int isAvailable(Protocol proto, int port=0); + virtual int isAvailable(PulsesProtocol proto, int port=0); protected: diff --git a/companion/src/firmwares/opentx/open9xGruvin9xeeprom.cpp b/companion/src/firmwares/opentx/open9xGruvin9xeeprom.cpp index 63ea744e5..d91a31c62 100644 --- a/companion/src/firmwares/opentx/open9xGruvin9xeeprom.cpp +++ b/companion/src/firmwares/opentx/open9xGruvin9xeeprom.cpp @@ -440,16 +440,16 @@ t_Open9xGruvin9xModelData_v207::operator ModelData () c9x.timers[i] = timers[i]; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 2: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; case 3: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); @@ -514,19 +514,19 @@ t_Open9xGruvin9xModelData_v208::operator ModelData () c9x.timers[i] = timers[i]; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; case 2: - c9x.moduleData[0].protocol = PPMSIM; + c9x.moduleData[0].protocol = PULSES_PPMSIM; break; case 3: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 4: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); @@ -596,19 +596,19 @@ t_Open9xGruvin9xModelData_v209::operator ModelData () c9x.timers[i] = timers[i]; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; case 2: - c9x.moduleData[0].protocol = PPMSIM; + c9x.moduleData[0].protocol = PULSES_PPMSIM; break; case 3: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 4: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); @@ -679,19 +679,19 @@ t_Open9xGruvin9xModelData_v210::operator ModelData () c9x.timers[i] = timers[i]; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; case 2: - c9x.moduleData[0].protocol = PPMSIM; + c9x.moduleData[0].protocol = PULSES_PPMSIM; break; case 3: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 4: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); @@ -766,19 +766,19 @@ t_Open9xGruvin9xModelData_v211::operator ModelData () } switch(protocol) { case 1: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; case 2: - c9x.moduleData[0].protocol = PPMSIM; + c9x.moduleData[0].protocol = PULSES_PPMSIM; break; case 3: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 4: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); diff --git a/companion/src/firmwares/opentx/open9xSky9xeeprom.cpp b/companion/src/firmwares/opentx/open9xSky9xeeprom.cpp index 4caeffcb1..30b70d06a 100644 --- a/companion/src/firmwares/opentx/open9xSky9xeeprom.cpp +++ b/companion/src/firmwares/opentx/open9xSky9xeeprom.cpp @@ -716,19 +716,19 @@ t_Open9xArmModelData_v208::operator ModelData () c9x.timers[i] = timers[i]; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; case 2: - c9x.moduleData[0].protocol = PPMSIM; + c9x.moduleData[0].protocol = PULSES_PPMSIM; break; case 3: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 4: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); @@ -799,19 +799,19 @@ t_Open9xArmModelData_v209::operator ModelData () c9x.timers[i] = timers[i]; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; case 2: - c9x.moduleData[0].protocol = PPMSIM; + c9x.moduleData[0].protocol = PULSES_PPMSIM; break; case 3: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 4: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); @@ -883,19 +883,19 @@ t_Open9xArmModelData_v210::operator ModelData () c9x.timers[i] = timers[i]; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; case 2: - c9x.moduleData[0].protocol = PPMSIM; + c9x.moduleData[0].protocol = PULSES_PPMSIM; break; case 3: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 4: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); @@ -967,19 +967,19 @@ t_Open9xArmModelData_v211::operator ModelData () c9x.timers[i] = timers[i]; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; case 2: - c9x.moduleData[0].protocol = PPMSIM; + c9x.moduleData[0].protocol = PULSES_PPMSIM; break; case 3: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 4: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); @@ -1054,19 +1054,19 @@ t_Open9xArmModelData_v212::operator ModelData () } switch(protocol) { case 1: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; case 2: - c9x.moduleData[0].protocol = PPMSIM; + c9x.moduleData[0].protocol = PULSES_PPMSIM; break; case 3: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 4: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); diff --git a/companion/src/firmwares/opentx/open9xStockeeprom.cpp b/companion/src/firmwares/opentx/open9xStockeeprom.cpp index 27d60ce27..db42f373b 100644 --- a/companion/src/firmwares/opentx/open9xStockeeprom.cpp +++ b/companion/src/firmwares/opentx/open9xStockeeprom.cpp @@ -917,16 +917,16 @@ t_Open9xModelData_v201::operator ModelData () c9x.timers[1] = timer2; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 2: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; case 3: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); @@ -991,16 +991,16 @@ t_Open9xModelData_v202::operator ModelData () c9x.timers[1] = timer2; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 2: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; case 3: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); @@ -1067,16 +1067,16 @@ t_Open9xModelData_v203::operator ModelData () c9x.timers[1] = timer2; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 2: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; case 3: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); @@ -1141,16 +1141,16 @@ t_Open9xModelData_v204::operator ModelData () c9x.timers[1] = timer2; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 2: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; case 3: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); @@ -1217,19 +1217,19 @@ t_Open9xModelData_v205::operator ModelData () c9x.timers[i] = timers[i]; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 2: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; case 3: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; case 4: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); @@ -1295,19 +1295,19 @@ t_Open9xModelData_v208::operator ModelData () c9x.timers[i] = timers[i]; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; case 2: - c9x.moduleData[0].protocol = PPMSIM; + c9x.moduleData[0].protocol = PULSES_PPMSIM; break; case 3: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 4: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); @@ -1381,19 +1381,19 @@ t_Open9xModelData_v209::operator ModelData () c9x.timers[i] = timers[i]; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; case 2: - c9x.moduleData[0].protocol = PPMSIM; + c9x.moduleData[0].protocol = PULSES_PPMSIM; break; case 3: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 4: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); @@ -1468,19 +1468,19 @@ t_Open9xModelData_v210::operator ModelData () c9x.timers[i] = timers[i]; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; case 2: - c9x.moduleData[0].protocol = PPMSIM; + c9x.moduleData[0].protocol = PULSES_PPMSIM; break; case 3: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 4: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); @@ -1556,19 +1556,19 @@ t_Open9xModelData_v211::operator ModelData () c9x.timers[i] = timers[i]; switch(protocol) { case 1: - c9x.moduleData[0].protocol = PPM16; + c9x.moduleData[0].protocol = PULSES_PPM16; break; case 2: - c9x.moduleData[0].protocol = PPMSIM; + c9x.moduleData[0].protocol = PULSES_PPMSIM; break; case 3: - c9x.moduleData[0].protocol = PXX_DJT; + c9x.moduleData[0].protocol = PULSES_PXX_DJT; break; case 4: - c9x.moduleData[0].protocol = DSM2; + c9x.moduleData[0].protocol = PULSES_DSM2; break; default: - c9x.moduleData[0].protocol = PPM; + c9x.moduleData[0].protocol = PULSES_PPM; break; } c9x.moduleData[0].channelsCount = 8 + (2 * ppmNCH); diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index 834d601b9..0ac1e1d48 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -12,7 +12,7 @@ #define HAS_PERSISTENT_TIMERS(board) (IS_ARM(board) || IS_2560(board)) #define HAS_LARGE_LCD(board) IS_TARANIS(board) #define MAX_VIEWS(board) (HAS_LARGE_LCD(board) ? 2 : 256) -#define MAX_POTS(board) (IS_TARANIS(board) ? (IS_TARANIS_X9E(board) ? 4 : 3) : 3) +#define MAX_POTS(board, version) (IS_TARANIS(board) ? (IS_TARANIS_X9E(board) ? 4 : (version >= 216 ? 3 : 2)) : 3) #define MAX_SLIDERS(board) (IS_TARANIS(board) ? (IS_TARANIS_X9E(board) ? 4 : 2) : 0) #define MAX_SWITCHES(board, version) (IS_TARANIS(board) ? (IS_TARANIS_X9E(board) ? 18 : 8) : 7) #define MAX_SWITCHES_POSITION(board, version) (IS_TARANIS_X9E(board) ? 18*3 : (IS_TARANIS(board) ? 8*3 : 9)) @@ -80,7 +80,7 @@ class SwitchesConversionTable: public ConversionTable { } if (IS_TARANIS(board) && version >= 216) { - for (int i=1; i<=MAX_POTS(board)*6; i++) { + for (int i=1; i<=MAX_POTS(board, version)*6; i++) { addConversion(RawSwitch(SWITCH_TYPE_MULTIPOS_POT, -i), -val+offset); addConversion(RawSwitch(SWITCH_TYPE_MULTIPOS_POT, i), val++); } @@ -212,8 +212,9 @@ class SourcesConversionTable: public ConversionTable { } if (IS_TARANIS(board) && version >= 216) { - for (int i=0; i<32; i++) + for (int i=0; i<32; i++) { addConversion(RawSource(SOURCE_TYPE_VIRTUAL_INPUT, i), val++); + } for (int i=0; i<7; i++) { for (int j=0; j<6; j++) { addConversion(RawSource(SOURCE_TYPE_LUA_OUTPUT, i*16+j), val++); @@ -221,16 +222,18 @@ class SourcesConversionTable: public ConversionTable { } } - for (int i=0; i= 216) - addConversion(THROTTLE_SOURCE_S3, val++); - addConversion(THROTTLE_SOURCE_LS, val++); - addConversion(THROTTLE_SOURCE_RS, val++); - } - else { - addConversion(THROTTLE_SOURCE_P1, val++); - addConversion(THROTTLE_SOURCE_P2, val++); - addConversion(THROTTLE_SOURCE_P3, val++); - } - - for (int i=0; i class SwitchField: public ConversionField< SignedField > { public: @@ -1746,6 +1723,7 @@ class LogicalSwitchField: public TransformedField { { delete andswitchesConversionTable; } + virtual void beforeExport() { if (csw.func == LS_FN_TIMER) { @@ -1787,8 +1765,14 @@ class LogicalSwitchField: public TransformedField { switchesConversionTable->importValue(v2, csw.val2); } else if (csw.func >= LS_FN_EQUAL && csw.func <= LS_FN_ELESS) { - sourcesConversionTable->importValue((uint8_t)v1, csw.val1); - sourcesConversionTable->importValue((uint8_t)v2, csw.val2); + if (IS_ARM(board)) { + sourcesConversionTable->importValue((uint32_t)v1, csw.val1); + sourcesConversionTable->importValue((uint32_t)v2, csw.val2); + } + else { + sourcesConversionTable->importValue((uint8_t)v1, csw.val1); + sourcesConversionTable->importValue((uint8_t)v2, csw.val2); + } if (IS_TARANIS(board) && version < 216) { RawSource val1(csw.val1); if (val1.type == SOURCE_TYPE_STICK && val1.index < NUM_STICKS) { @@ -1801,7 +1785,12 @@ class LogicalSwitchField: public TransformedField { } } else if (csw.func != LS_FN_OFF) { - sourcesConversionTable->importValue((uint8_t)v1, csw.val1); + if (IS_ARM(board)) { + sourcesConversionTable->importValue((uint32_t)v1, csw.val1); + } + else { + sourcesConversionTable->importValue((uint8_t)v1, csw.val1); + } if (IS_TARANIS(board) && version < 216) { RawSource val1(csw.val1); if (val1.type == SOURCE_TYPE_STICK && val1.index < NUM_STICKS) { @@ -1930,9 +1919,12 @@ class CustomFunctionsConversionTable: public ConversionTable { val++; if (IS_ARM(board)) { addConversion(FuncVolume, val++); - addConversion(FuncReserve, val++); - addConversion(FuncReserve, val++); - addConversion(FuncReserve, val++); + addConversion(FuncSetFailsafeInternalModule, val); + addConversion(FuncSetFailsafeExternalModule, val++); + addConversion(FuncRangeCheckInternalModule, val); + addConversion(FuncRangeCheckExternalModule, val++); + addConversion(FuncBindInternalModule, val); + addConversion(FuncBindExternalModule, val++); } addConversion(FuncPlaySound, val++); addConversion(FuncPlayPrompt, val++); @@ -2091,6 +2083,21 @@ class ArmCustomFunctionField: public TransformedField { *((uint8_t *)(_param+3)) = fn.func - FuncSetTimer1; } } + else if (fn.func >= FuncSetFailsafeInternalModule && fn.func <= FuncSetFailsafeExternalModule) { + if (version >= 216) { + *((uint16_t *)_param) = fn.func - FuncSetFailsafeInternalModule; + } + } + else if (fn.func >= FuncRangeCheckInternalModule && fn.func <= FuncRangeCheckExternalModule) { + if (version >= 216) { + *((uint16_t *)_param) = fn.func - FuncRangeCheckInternalModule; + } + } + else if (fn.func >= FuncBindInternalModule && fn.func <= FuncBindExternalModule) { + if (version >= 216) { + *((uint16_t *)_param) = fn.func - FuncBindInternalModule; + } + } else if (fn.func == FuncPlayPrompt || fn.func == FuncBackgroundMusic || fn.func == FuncPlayScript) { memcpy(_param, fn.paramarm, sizeof(_param)); } @@ -2809,7 +2816,8 @@ class SensorField: public TransformedField { if (sensor.type == SensorData::TELEM_TYPE_CUSTOM) { _id = sensor.id; _instance = sensor.instance; - _param = (sensor.ratio) + ((unsigned int)sensor.offset << 16); + _ratio = sensor.ratio; + _offset = sensor.offset; } else { _id = sensor.persistentValue; @@ -2820,7 +2828,7 @@ class SensorField: public TransformedField { _param = ((uint8_t)sensor.sources[0]) + ((uint8_t)sensor.sources[1] << 8) + ((uint8_t)sensor.sources[2] << 16) + ((uint8_t)sensor.sources[3] << 24); else if (sensor.formula == SensorData::TELEM_FORMULA_DIST) _param = (sensor.gps) + (sensor.alt << 8); - else if (sensor.formula == SensorData::TELEM_FORMULA_CONSUMPTION) + else if (sensor.formula == SensorData::TELEM_FORMULA_CONSUMPTION || sensor.formula == SensorData::TELEM_FORMULA_TOTALIZE) _param = (sensor.amps); } } @@ -2830,8 +2838,8 @@ class SensorField: public TransformedField { if (sensor.type == SensorData::TELEM_TYPE_CUSTOM) { sensor.id = _id; sensor.instance = _instance; - sensor.ratio = _param & 0xFFFF; - sensor.offset = (_param >> 16) & 0xFFFF; + sensor.ratio = _ratio; + sensor.offset = _offset; } else { sensor.persistentValue = _id; @@ -2843,7 +2851,7 @@ class SensorField: public TransformedField { sensor.sources[i] = _sources[i]; else if (sensor.formula == SensorData::TELEM_FORMULA_DIST) (sensor.gps = _sources[0], sensor.alt = _sources[1]); - else if (sensor.formula == SensorData::TELEM_FORMULA_CONSUMPTION) + else if (sensor.formula == SensorData::TELEM_FORMULA_CONSUMPTION || sensor.formula == SensorData::TELEM_FORMULA_TOTALIZE) sensor.amps = _sources[0]; } eepromImportDebug() << QString("imported %1").arg(internalField.getName()); @@ -2857,6 +2865,10 @@ class SensorField: public TransformedField { union { unsigned int _param; uint8_t _sources[4]; + struct { + uint16_t _ratio; + int16_t _offset; + }; }; }; @@ -2870,8 +2882,7 @@ OpenTxModelData::OpenTxModelData(ModelData & modelData, BoardEnum board, unsigne board(board), version(version), variant(variant), - protocolsConversionTable(board), - throttleSourceConversionTable(board, version) + protocolsConversionTable(board) { sprintf(name, "Model %s", modelData.name); @@ -3006,7 +3017,7 @@ OpenTxModelData::OpenTxModelData(ModelData & modelData, BoardEnum board, unsigne internalField.Append(new SignedField<8>(modelData.moduleData[0].ppmFrameLength)); } - internalField.Append(new ConversionField< UnsignedField<8> >(modelData.thrTraceSrc, &throttleSourceConversionTable, "Throttle Source")); + internalField.Append(new UnsignedField<8>(modelData.thrTraceSrc, "Throttle Source")); if (!afterrelease21March2013) { internalField.Append(new UnsignedField<8>(modelData.moduleData[0].modelId)); @@ -3148,7 +3159,7 @@ OpenTxModelData::OpenTxModelData(ModelData & modelData, BoardEnum board, unsigne if (IS_ARM(board) && version >= 217) { for (int i=0; i<8; i++) { - if (i < MAX_POTS(board)+MAX_SLIDERS(board)) + if (i < MAX_POTS(board, version)+MAX_SLIDERS(board)) internalField.Append(new BoolField<1>(modelData.potsWarningEnabled[i])); else internalField.Append(new SpareBitsField<1>()); @@ -3156,7 +3167,7 @@ OpenTxModelData::OpenTxModelData(ModelData & modelData, BoardEnum board, unsigne } else if (IS_ARM(board) && version >= 216) { for (int i=0; i<6; i++) { - if (i < MAX_POTS(board)+MAX_SLIDERS(board)) + if (i < MAX_POTS(board, version)+MAX_SLIDERS(board)) internalField.Append(new BoolField<1>(modelData.potsWarningEnabled[i])); else internalField.Append(new SpareBitsField<1>()); @@ -3165,7 +3176,7 @@ OpenTxModelData::OpenTxModelData(ModelData & modelData, BoardEnum board, unsigne } if (IS_ARM(board) && version >= 216) { - for (int i=0; i < MAX_POTS(board)+MAX_SLIDERS(board); i++) { + for (int i=0; i < MAX_POTS(board, version)+MAX_SLIDERS(board); i++) { internalField.Append(new SignedField<8>(modelData.potPosition[i])); } } @@ -3184,6 +3195,10 @@ OpenTxModelData::OpenTxModelData(ModelData & modelData, BoardEnum board, unsigne internalField.Append(new SensorField(modelData.sensorData[i], board, version)); } } + + if (IS_TARANIS_X9E(board)) { + internalField.Append(new UnsignedField<8>(modelData.toplcdTimer)); + } } void OpenTxModelData::beforeExport() @@ -3191,10 +3206,10 @@ void OpenTxModelData::beforeExport() // qDebug() << QString("before export model") << modelData.name; for (int module=0; module<3; module++) { - if (modelData.moduleData[module].protocol >= PXX_XJT_X16 && modelData.moduleData[module].protocol <= PXX_XJT_LR12) - subprotocols[module] = modelData.moduleData[module].protocol - PXX_XJT_X16; - else if (modelData.moduleData[module].protocol >= LP45 && modelData.moduleData[module].protocol <= DSMX) - subprotocols[module] = modelData.moduleData[module].protocol - LP45; + if (modelData.moduleData[module].protocol >= PULSES_PXX_XJT_X16 && modelData.moduleData[module].protocol <= PULSES_PXX_XJT_LR12) + subprotocols[module] = modelData.moduleData[module].protocol - PULSES_PXX_XJT_X16; + else if (modelData.moduleData[module].protocol >= PULSES_LP45 && modelData.moduleData[module].protocol <= PULSES_DSMX) + subprotocols[module] = modelData.moduleData[module].protocol - PULSES_LP45; else subprotocols[module] = (module==0 ? -1 : 0); } @@ -3224,15 +3239,15 @@ void OpenTxModelData::afterImport() } for (int module=0; module<3; module++) { - if (modelData.moduleData[module].protocol == PXX_XJT_X16 || modelData.moduleData[module].protocol == LP45) { + if (modelData.moduleData[module].protocol == PULSES_PXX_XJT_X16 || modelData.moduleData[module].protocol == PULSES_LP45) { if (subprotocols[module] >= 0) modelData.moduleData[module].protocol += subprotocols[module]; else - modelData.moduleData[module].protocol = OFF; + modelData.moduleData[module].protocol = PULSES_OFF; } } - if (IS_TARANIS(board) && version < 217 && modelData.moduleData[1].protocol != OFF) { + if (IS_TARANIS(board) && version < 217 && modelData.moduleData[1].protocol != PULSES_OFF) { modelData.moduleData[1].modelId = modelData.moduleData[0].modelId; } } @@ -3243,7 +3258,7 @@ OpenTxGeneralData::OpenTxGeneralData(GeneralSettings & generalData, BoardEnum bo generalData(generalData), board(board), version(version), - inputsCount(NUM_STICKS+MAX_POTS(board)+MAX_SLIDERS(board)) + inputsCount(NUM_STICKS+MAX_POTS(board, version)+MAX_SLIDERS(board)) { eepromImportDebug() << QString("OpenTxGeneralData::OpenTxGeneralData(board: %1, version:%2, variant:%3)").arg(board).arg(version).arg(variant); @@ -3280,7 +3295,7 @@ OpenTxGeneralData::OpenTxGeneralData(GeneralSettings & generalData, BoardEnum bo internalField.Append(new UnsignedField<8>(generalData.currModel)); internalField.Append(new UnsignedField<8>(generalData.contrast)); internalField.Append(new UnsignedField<8>(generalData.vBatWarn)); - internalField.Append(new SignedField<8>(generalData.vBatCalib)); + internalField.Append(new SignedField<8>(generalData.txVoltageCalibration)); internalField.Append(new SignedField<8>(generalData.backlightMode)); for (int i=0; i(generalData.backlightBright)); - internalField.Append(new SignedField<8>(generalData.currentCalib)); + internalField.Append(new SignedField<8>(generalData.txCurrentCalibration)); if (version >= 213) { internalField.Append(new SignedField<8>(generalData.temperatureWarn)); // TODO internalField.Append(new UnsignedField<8>(generalData.mAhWarn)); @@ -3407,7 +3422,7 @@ OpenTxGeneralData::OpenTxGeneralData(GeneralSettings & generalData, BoardEnum bo internalField.Append(new UnsignedField<8>(generalData.hw_uartMode)); } for (int i=0; i<4; i++) { - if (i < MAX_POTS(board)) + if (i < MAX_POTS(board, version)) internalField.Append(new UnsignedField<2>(generalData.potConfig[i])); else internalField.Append(new SpareBitsField<2>()); @@ -3439,7 +3454,7 @@ OpenTxGeneralData::OpenTxGeneralData(GeneralSettings & generalData, BoardEnum bo for (int i=0; i(generalData.stickName[i])); } - for (int i=0; i(generalData.potName[i])); } for (int i=0; i errors; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } -bool OpenTxEepromInterface::load(RadioData &radioData, const uint8_t *eeprom, int size) +unsigned long OpenTxEepromInterface::load(RadioData &radioData, const uint8_t *eeprom, int size) { std::cout << "trying " << getName() << " import..."; + std::bitset errors; + if (size != getEEpromSize()) { if (size==4096) { int notnull=false; @@ -323,21 +330,25 @@ bool OpenTxEepromInterface::load(RadioData &radioData, const uint8_t *eeprom, in } if (notnull) { std::cout << " wrong size (" << size << ")\n"; - return false; + errors.set(WRONG_SIZE); + return errors.to_ulong(); } else { - QMessageBox::warning(NULL, "companion", QObject::tr("Your radio probably uses a wrong firmware,\n eeprom size is 4096 but only the first 2048 are used")); + errors.set(HAS_WARNINGS); + errors.set(WARNING_WRONG_FIRMWARE); size=2048; } } else { std::cout << " wrong size (" << size << "/" << getEEpromSize() << ")\n"; - return false; + errors.set(WRONG_SIZE); + return errors.to_ulong(); } } if (!efile->EeFsOpen((uint8_t *)eeprom, size, board)) { std::cout << " wrong file system\n"; - return false; + errors.set(WRONG_FILE_SYSTEM); + return errors.to_ulong(); } efile->openRd(FILE_GENERAL); @@ -345,30 +356,39 @@ bool OpenTxEepromInterface::load(RadioData &radioData, const uint8_t *eeprom, in uint8_t version; if (efile->readRlc2(&version, 1) != 1) { std::cout << " no\n"; - return false; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } std::cout << " version " << (unsigned int)version; - if (!checkVersion(version)) { + EepromLoadErrors version_error = checkVersion(version); + if (version_error == OLD_VERSION) { + errors.set(version_error); + errors.set(HAS_WARNINGS); + } else if (version_error == NOT_OPENTX) { std::cout << " not open9x\n"; - return false; + errors.set(version_error); + return errors.to_ulong(); } if (!loadGeneral(radioData.generalSettings, version)) { std::cout << " ko\n"; - return false; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } std::cout << " variant " << radioData.generalSettings.variant; for (int i=0; i - break; case 211: // Curves big change - break; case 212: // Big changes in mixers / limitse - break; case 213: // GVARS / Variants introduction - break; case 214: // Massive EEPROM change! - break; case 215: // M128 revert because too much RAM used! - break; case 216: // A lot of things (first github release) + return OLD_VERSION; break; case 217: // 3 logical switches removed on M128 / gruvin9x boards break; default: - return false; + return NOT_OPENTX; } - return true; + return NO_ERROR; } bool OpenTxEepromInterface::checkVariant(unsigned int version, unsigned int variant) @@ -987,13 +999,16 @@ bool OpenTxEepromInterface::checkVariant(unsigned int version, unsigned int vari return true; } -bool OpenTxEepromInterface::loadBackup(RadioData &radioData, uint8_t *eeprom, int esize, int index) +unsigned long OpenTxEepromInterface::loadBackup(RadioData &radioData, uint8_t *eeprom, int esize, int index) { + std::bitset errors; + std::cout << "trying " << getName() << " backup import..."; if (esize < 8 || memcmp(eeprom, "o9x", 3) != 0) { std::cout << " no\n"; - return false; + errors.set(WRONG_SIZE); + return errors.to_ulong(); } BoardEnum backupBoard = (BoardEnum)-1; @@ -1009,12 +1024,14 @@ bool OpenTxEepromInterface::loadBackup(RadioData &radioData, uint8_t *eeprom, in break; default: std::cout << " unknown board\n"; - return false; + errors.set(UNKNOWN_BOARD); + return errors.to_ulong(); } if (backupBoard != board) { std::cout << " not right board\n"; - return false; + errors.set(WRONG_BOARD); + return errors.to_ulong(); } uint8_t version = eeprom[4]; @@ -1024,29 +1041,38 @@ bool OpenTxEepromInterface::loadBackup(RadioData &radioData, uint8_t *eeprom, in std::cout << " version " << (unsigned int)version << " "; - if (!checkVersion(version)) { + EepromLoadErrors version_error = checkVersion(version); + if (version_error == OLD_VERSION) { + errors.set(version_error); + errors.set(HAS_WARNINGS); + } else if (version_error == NOT_OPENTX) { std::cout << " not open9x\n"; - return false; + errors.set(version_error); + return errors.to_ulong(); } if (size > esize-8) { std::cout << " wrong size\n"; - return false; + errors.set(WRONG_SIZE); + return errors.to_ulong(); } if (bcktype=='M') { if (!loadModel(version, radioData.models[index], &eeprom[8], size, variant)) { std::cout << " ko\n"; - return false; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } } else { std::cout << " backup type not supported\n"; - return false; + errors.set(BACKUP_NOT_SUPPORTED); + return errors.to_ulong(); } std::cout << " ok\n"; - return true; + errors.set(NO_ERROR); + return errors.to_ulong(); } QString OpenTxFirmware::getFirmwareBaseUrl() @@ -1069,6 +1095,7 @@ QString OpenTxFirmware::getFirmwareUrl() url.append(QString("/getfw.php?fw=%1.hex").arg(id)); break; case BOARD_SKY9X: + case BOARD_AR9X: case BOARD_9XRPRO: case BOARD_TARANIS: case BOARD_TARANIS_PLUS: @@ -1111,7 +1138,8 @@ void addOpenTxTaranisOptions(OpenTxFirmware * firmware) firmware->addOption("noheli", QObject::tr("Disable HELI menu and cyclic mix support")); firmware->addOption("nogvars", QObject::tr("Disable Global variables")); firmware->addOption("lua", QObject::tr("Support for Lua model scripts")); - firmware->addOption("nojoystick", QObject::tr("No Joystick emulation inside the FW (only Mass Storage as in the Bootloader)")); + Option usb_options[] = { { "massstorage", QObject::tr("Instead of Joystick emulation, USB connection is Mass Storage (as in the Bootloader)") }, { "cli", QObject::tr("Instead of Joystick emulation, USB connection is Command Line Interface") }, { NULL } }; + firmware->addOptions(usb_options); firmware->addOption("mixersmon", QObject::tr("Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views")); firmware->addOption("eu", QObject::tr("Removes D8 and LR12 FrSky protocols that are not legal for use in the EU on radios sold after Jan 1st, 2015")); firmware->addOption("internalppm", QObject::tr("Support for PPM internal module hack")); @@ -1329,6 +1357,7 @@ void registerOpenTxFirmwares() firmware->addOption("ppmca", QObject::tr("PPM center adjustment in limits")); firmware->addOption("gvars", QObject::tr("Global variables"), GVARS_VARIANT); firmware->addOption("symlimits", QObject::tr("Symetrical Limits")); + firmware->addOption("timer3", QObject::tr("Support for a third timer")); firmware->addOption("potscroll", QObject::tr("Pots use in menus navigation")); firmware->addOption("autosource", QObject::tr("In model setup menus automatically set source by moving the control")); firmware->addOption("autoswitch", QObject::tr("In model setup menus automatically set switch by moving the control")); @@ -1340,6 +1369,29 @@ void registerOpenTxFirmwares() addOpenTxCommonOptions(firmware); firmwares.push_back(firmware); + /* ar9x board */ + firmware = new OpenTxFirmware("opentx-ar9x", QObject::tr("ar9x board / 9X"), BOARD_AR9X); + firmware->addOption("heli", QObject::tr("Enable HELI menu and cyclic mix support")); + firmware->addOption("templates", QObject::tr("Enable TEMPLATES menu")); + firmware->addOption("nofp", QObject::tr("No flight modes")); + firmware->addOption("nocurves", QObject::tr("Disable curves menus")); + firmware->addOption("ppmca", QObject::tr("PPM center adjustment in limits")); + firmware->addOption("gvars", QObject::tr("Global variables"), GVARS_VARIANT); + firmware->addOption("symlimits", QObject::tr("Symetrical Limits")); + firmware->addOption("timer3", QObject::tr("Support for a third timer")); + firmware->addOption("potscroll", QObject::tr("Pots use in menus navigation")); + firmware->addOption("autosource", QObject::tr("In model setup menus automatically set source by moving the control")); + firmware->addOption("autoswitch", QObject::tr("In model setup menus automatically set switch by moving the control")); + firmware->addOption("dblkeys", QObject::tr("Enable resetting values by pressing up and down at the same time")); + firmware->addOption("nographics", QObject::tr("No graphical check boxes and sliders")); + firmware->addOption("battgraph", QObject::tr("Battery graph")); + firmware->addOption("nobold", QObject::tr("Don't use bold font for highlighting active items")); + firmware->addOption("bluetooth", QObject::tr("Bluetooth interface")); +// firmware->addOption("rtc", QObject::tr("Optional RTC added")); +// firmware->addOption("volume", QObject::tr("i2c volume control added")); + addOpenTxCommonOptions(firmware); + firmwares.push_back(firmware); + /* 9XR-Pro */ firmware = new OpenTxFirmware("opentx-9xrpro", QObject::tr("9XR-PRO"), BOARD_9XRPRO); firmware->addOption("heli", QObject::tr("Enable HELI menu and cyclic mix support")); @@ -1349,6 +1401,7 @@ void registerOpenTxFirmwares() firmware->addOption("ppmca", QObject::tr("PPM center adjustment in limits")); firmware->addOption("gvars", QObject::tr("Global variables"), GVARS_VARIANT); firmware->addOption("symlimits", QObject::tr("Symetrical Limits")); + firmware->addOption("timer3", QObject::tr("Support for a third timer")); firmware->addOption("potscroll", QObject::tr("Pots use in menus navigation")); firmware->addOption("autosource", QObject::tr("In model setup menus automatically set source by moving the control")); firmware->addOption("autoswitch", QObject::tr("In model setup menus automatically set switch by moving the control")); diff --git a/companion/src/firmwares/opentx/opentxinterface.h b/companion/src/firmwares/opentx/opentxinterface.h index 8194d703c..e7db6737a 100644 --- a/companion/src/firmwares/opentx/opentxinterface.h +++ b/companion/src/firmwares/opentx/opentxinterface.h @@ -1,6 +1,6 @@ /* * Author - Bertrand Songis - * + * * Based on th9x -> http://code.google.com/p/th9x/ * * This program is free software; you can redistribute it and/or modify @@ -33,25 +33,25 @@ class OpenTxEepromInterface : public EEPROMInterface virtual const int getMaxModels(); - virtual bool load(RadioData &, const uint8_t *eeprom, int size); + virtual unsigned long load(RadioData &, const uint8_t *eeprom, int size); - virtual bool loadBackup(RadioData &, uint8_t *eeprom, int esize, int index); - - virtual bool loadxml(RadioData &radioData, QDomDocument &doc); + virtual unsigned long loadBackup(RadioData &, uint8_t *eeprom, int esize, int index); + + virtual unsigned long loadxml(RadioData &radioData, QDomDocument &doc); virtual int save(uint8_t *eeprom, RadioData &radioData, uint32_t variant=0, uint8_t version=0); virtual int getSize(const ModelData &); virtual int getSize(const GeneralSettings &); - - virtual int isAvailable(Protocol proto, int port=0); - + + virtual int isAvailable(PulsesProtocol proto, int port=0); + protected: const char * getName(); - bool checkVersion(unsigned int version); + EepromLoadErrors checkVersion(unsigned int version); bool checkVariant(unsigned int version, unsigned int variant); @@ -112,7 +112,7 @@ class OpenTxFirmware: public Firmware { } virtual Firmware * getFirmwareVariant(const QString & id); - + virtual QString getStampUrl(); virtual QString getReleaseNotesUrl(); @@ -122,7 +122,7 @@ class OpenTxFirmware: public Firmware { virtual int getCapability(const Capability); virtual bool isTelemetrySourceAvailable(int source); - + protected: QString getFirmwareBaseUrl(); diff --git a/companion/src/firmwares/opentx/simulator/CMakeLists.txt b/companion/src/firmwares/opentx/simulator/CMakeLists.txt index a1447d346..062a8f4cd 100644 --- a/companion/src/firmwares/opentx/simulator/CMakeLists.txt +++ b/companion/src/firmwares/opentx/simulator/CMakeLists.txt @@ -80,6 +80,7 @@ add_library(opentx-gruvin9x${SUFFIX}-simulator SHARED ${OPENTX_SRC_FILES}) add_library(opentx-mega2560${SUFFIX}-simulator SHARED ${OPENTX_SRC_FILES}) add_library(opentx-sky9x${SUFFIX}-simulator SHARED ${OPENTX_SRC_FILES}) add_library(opentx-9xrpro${SUFFIX}-simulator SHARED ${OPENTX_SRC_FILES}) +add_library(opentx-ar9x${SUFFIX}-simulator SHARED ${OPENTX_SRC_FILES}) add_library(opentx-taranis${SUFFIX}-simulator SHARED ${OPENTX_SRC_FILES}) add_library(opentx-taranisplus${SUFFIX}-simulator SHARED ${OPENTX_SRC_FILES}) add_library(opentx-taranisx9e${SUFFIX}-simulator SHARED ${OPENTX_SRC_FILES}) @@ -92,6 +93,7 @@ add_dependencies(opentx-gruvin9x${SUFFIX}-simulator about_lbm_9x commondeps) add_dependencies(opentx-mega2560${SUFFIX}-simulator about_lbm_9x commondeps) add_dependencies(opentx-sky9x${SUFFIX}-simulator about_lbm_9x commondeps) add_dependencies(opentx-9xrpro${SUFFIX}-simulator about_lbm_9x commondeps) +add_dependencies(opentx-ar9x${SUFFIX}-simulator about_lbm_9x commondeps) add_dependencies(opentx-taranis${SUFFIX}-simulator about_lbm_taranis commondeps lua_exports) add_dependencies(opentx-taranisplus${SUFFIX}-simulator about_lbm_taranis commondeps lua_exports) add_dependencies(opentx-taranisx9e${SUFFIX}-simulator about_lbm_taranis commondeps lua_exports) @@ -105,6 +107,7 @@ set(OPENTX_LIBRARIES opentx-mega2560${SUFFIX}-simulator opentx-sky9x${SUFFIX}-simulator opentx-9xrpro${SUFFIX}-simulator + opentx-ar9x${SUFFIX}-simulator opentx-taranis${SUFFIX}-simulator opentx-taranisplus${SUFFIX}-simulator opentx-taranisx9e${SUFFIX}-simulator @@ -154,6 +157,11 @@ target_include_directories(opentx-9xrpro${SUFFIX}-simulator PRIVATE ${RADIO_SRC_ target_compile_definitions(opentx-9xrpro${SUFFIX}-simulator PRIVATE PCBSKY9X REVX CPUARM VOICE SDCARD ${COMMON_DEFINITIONS}) target_link_libraries(opentx-9xrpro${SUFFIX}-simulator PRIVATE ${COMMON_LIBRARIES}) +# AR9X +target_include_directories(opentx-ar9x${SUFFIX}-simulator PRIVATE ${RADIO_SRC_DIRECTORY}/targets/sky9x) +target_compile_definitions(opentx-ar9x${SUFFIX}-simulator PRIVATE PCBSKY9X AR9X CPUARM VOICE SDCARD ${COMMON_DEFINITIONS}) +target_link_libraries(opentx-ar9x${SUFFIX}-simulator PRIVATE ${COMMON_LIBRARIES}) + # Taranis standard target_include_directories(opentx-taranis${SUFFIX}-simulator PRIVATE ${RADIO_SRC_DIRECTORY}/targets/taranis) target_compile_definitions(opentx-taranis${SUFFIX}-simulator PRIVATE PCBTARANIS CPUARM CPUSTM32 EEPROM_RLC VOICE SDCARD ${COMMON_DEFINITIONS}) diff --git a/companion/src/firmwares/opentx/simulator/opentxsimulator.cpp b/companion/src/firmwares/opentx/simulator/opentxsimulator.cpp index 49421aa71..f81d7665e 100644 --- a/companion/src/firmwares/opentx/simulator/opentxsimulator.cpp +++ b/companion/src/firmwares/opentx/simulator/opentxsimulator.cpp @@ -233,7 +233,7 @@ namespace NAMESPACE { #include "radio/src/targets/taranis/pulses_driver.cpp" #include "radio/src/targets/taranis/rtc_driver.cpp" #include "radio/src/targets/taranis/trainer_driver.cpp" -#include "radio/src/targets/taranis/uart3_driver.cpp" +#include "radio/src/targets/taranis/serial2_driver.cpp" #elif defined(PCBSKY9X) #include "radio/src/targets/sky9x/board_sky9x.cpp" #include "radio/src/targets/sky9x/telemetry_driver.cpp" @@ -244,7 +244,7 @@ namespace NAMESPACE { #include "radio/src/targets/sky9x/sdcard_driver.cpp" #include "radio/src/targets/sky9x/coproc_driver.cpp" #include "radio/src/targets/sky9x/haptic_driver.cpp" -#include "radio/src/targets/sky9x/second_serial_driver.cpp" +#include "radio/src/targets/sky9x/serial2_driver.cpp" #include "radio/src/targets/sky9x/pulses_driver.cpp" #elif defined(PCBGRUVIN9X) #include "radio/src/targets/gruvin9x/board_gruvin9x.cpp" @@ -260,7 +260,11 @@ namespace NAMESPACE { #include "radio/src/targets/simu/simpgmspace.cpp" #include "radio/src/translations.cpp" #include "radio/src/telemetry/frsky.cpp" -#include "radio/src/telemetry/frsky_d.cpp" +#if defined(CPUARM) + #include "radio/src/telemetry/frsky_d_arm.cpp" +#else + #include "radio/src/telemetry/frsky_d.cpp" +#endif #include "radio/src/translations/tts_en.cpp" #if defined(CPUARM) diff --git a/companion/src/firmwares/opentx/simulator/opentxsimulator.h b/companion/src/firmwares/opentx/simulator/opentxsimulator.h index 0053f5326..a17f2aba5 100644 --- a/companion/src/firmwares/opentx/simulator/opentxsimulator.h +++ b/companion/src/firmwares/opentx/simulator/opentxsimulator.h @@ -35,6 +35,10 @@ #define FLAVOUR "9xrpro" #define NAMESPACE Sky9xPro #define EEPROM_VARIANT 0 +#elif defined(PCBSKY9X) && defined(AR9X) + #define FLAVOUR "ar9x" + #define NAMESPACE Ar9x + #define EEPROM_VARIANT 0 #elif defined(PCBSKY9X) #define FLAVOUR "sky9x" #define NAMESPACE Sky9X diff --git a/companion/src/firmwares/th9x/th9xeeprom.cpp b/companion/src/firmwares/th9x/th9xeeprom.cpp index 2a5e2d09e..aa15b1af4 100644 --- a/companion/src/firmwares/th9x/th9xeeprom.cpp +++ b/companion/src/firmwares/th9x/th9xeeprom.cpp @@ -62,7 +62,7 @@ Th9xGeneral::operator GeneralSettings () result.currModel = currModel; result.contrast = contrast; result.vBatWarn = vBatWarn; - result.vBatCalib = vBatCalib; + result.txVoltageCalibration = txVoltageCalibration; // result.lightSw = th9xToSwitch(lightSw); result.trainer = trainer; result.view = view; diff --git a/companion/src/firmwares/th9x/th9xeeprom.h b/companion/src/firmwares/th9x/th9xeeprom.h index 467b09c68..ef8d7d6a2 100644 --- a/companion/src/firmwares/th9x/th9xeeprom.h +++ b/companion/src/firmwares/th9x/th9xeeprom.h @@ -64,7 +64,7 @@ PACK(typedef struct t_Th9xGeneral { uint8_t currModel; //0..15 uint8_t contrast; uint8_t vBatWarn; - int8_t vBatCalib; + int8_t txVoltageCalibration; int8_t lightSw; Th9xTrainerData trainer; uint8_t adcFilt:2; diff --git a/companion/src/firmwares/th9x/th9xinterface.cpp b/companion/src/firmwares/th9x/th9xinterface.cpp index 37a91a5c8..ca8781d3b 100644 --- a/companion/src/firmwares/th9x/th9xinterface.cpp +++ b/companion/src/firmwares/th9x/th9xinterface.cpp @@ -57,23 +57,29 @@ const int Th9xInterface::getMaxModels() return 16; } -bool Th9xInterface::loadxml(RadioData &radioData, QDomDocument &doc) +unsigned long Th9xInterface::loadxml(RadioData &radioData, QDomDocument &doc) { - return false; + std::bitset errors; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } -bool Th9xInterface::load(RadioData &radioData, const uint8_t *eeprom, int size) +unsigned long Th9xInterface::load(RadioData &radioData, const uint8_t *eeprom, int size) { std::cout << "trying th9x import... "; + std::bitset errors; + if (size != getEEpromSize()) { std::cout << "wrong size\n"; - return false; + errors.set(WRONG_SIZE); + return errors.to_ulong(); } if (!efile->EeFsOpen((uint8_t *)eeprom, size, BOARD_STOCK)) { std::cout << "wrong file system\n"; - return false; + errors.set(WRONG_FILE_SYSTEM); + return errors.to_ulong(); } efile->openRd(FILE_GENERAL); @@ -81,7 +87,8 @@ bool Th9xInterface::load(RadioData &radioData, const uint8_t *eeprom, int size) if (efile->readRlc2((uint8_t*)&th9xGeneral, 1) != 1) { std::cout << "no\n"; - return false; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } std::cout << "version " << (unsigned int)th9xGeneral.myVers << " "; @@ -91,14 +98,16 @@ bool Th9xInterface::load(RadioData &radioData, const uint8_t *eeprom, int size) break; default: std::cout << "not th9x\n"; - return false; + errors.set(NOT_TH9X); + return errors.to_ulong(); } efile->openRd(FILE_GENERAL); int len = efile->readRlc2((uint8_t*)&th9xGeneral, sizeof(Th9xGeneral)); if (len != sizeof(Th9xGeneral)) { std::cout << "not th9x\n"; - return false; + errors.set(NOT_TH9X); + return errors.to_ulong(); } radioData.generalSettings = th9xGeneral; @@ -114,12 +123,15 @@ bool Th9xInterface::load(RadioData &radioData, const uint8_t *eeprom, int size) } std::cout << "ok\n"; - return true; + errors.set(NO_ERROR); + return errors.to_ulong(); } -bool Th9xInterface::loadBackup(RadioData &radioData, uint8_t *eeprom, int esize, int index) +unsigned long Th9xInterface::loadBackup(RadioData &radioData, uint8_t *eeprom, int esize, int index) { - return false; + std::bitset errors; + errors.set(UNKNOWN_ERROR); + return errors.to_ulong(); } int Th9xInterface::save(uint8_t *eeprom, RadioData &radioData, uint32_t variant, uint8_t version) @@ -140,14 +152,14 @@ int Th9xInterface::getSize(const GeneralSettings & settings) return 0; } -int Th9xInterface::isAvailable(Protocol proto, int port) +int Th9xInterface::isAvailable(PulsesProtocol proto, int port) { switch (proto) { - case PPM: - case SILV_A: - case SILV_B: - case SILV_C: - case CTP1009: + case PULSES_PPM: + case PULSES_SILV_A: + case PULSES_SILV_B: + case PULSES_SILV_C: + case PULSES_CTP1009: return 1; default: return 0; diff --git a/companion/src/firmwares/th9x/th9xinterface.h b/companion/src/firmwares/th9x/th9xinterface.h index e65f93bfc..d1be1fc8f 100644 --- a/companion/src/firmwares/th9x/th9xinterface.h +++ b/companion/src/firmwares/th9x/th9xinterface.h @@ -34,11 +34,11 @@ class Th9xInterface : public EEPROMInterface virtual const int getMaxModels(); - virtual bool load(RadioData &, const uint8_t *eeprom, int size); + virtual unsigned long load(RadioData &, const uint8_t *eeprom, int size); - virtual bool loadBackup(RadioData &, uint8_t *eeprom, int esize, int index); + virtual unsigned long loadBackup(RadioData &, uint8_t *eeprom, int esize, int index); - virtual bool loadxml(RadioData &radioData, QDomDocument &doc); + virtual unsigned long loadxml(RadioData &radioData, QDomDocument &doc); virtual int save(uint8_t *eeprom, RadioData &radioData, uint32_t variant=0, uint8_t version=0); @@ -46,7 +46,7 @@ class Th9xInterface : public EEPROMInterface virtual int getSize(const GeneralSettings &); - virtual int isAvailable(Protocol proto, int port=0); + virtual int isAvailable(PulsesProtocol proto, int port=0); protected: diff --git a/companion/src/flasheepromdialog.cpp b/companion/src/flasheepromdialog.cpp old mode 100755 new mode 100644 index 67b7d8c1e..ee175841f --- a/companion/src/flasheepromdialog.cpp +++ b/companion/src/flasheepromdialog.cpp @@ -104,7 +104,7 @@ int FlashEEpromDialog::getEEpromVersion(const QString &filename) QByteArray eeprom(EESIZE_MAX, 0); int fileType = getFileType(filename); - + #if 0 if (fileType==FILE_TYPE_XML) { if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { @@ -125,7 +125,8 @@ int FlashEEpromDialog::getEEpromVersion(const QString &filename) bool xmlOK = doc.setContent(&file); if (xmlOK) { RadioData * radioData = new RadioData(); - if (!loadEEpromXml(*radioData, doc)) { + std::bitset errors((unsigned long long)LoadEepromXml(*radioData, doc)); + if (!errors.test(NO_ERROR)) { QMessageBox::warning(this, tr("Error"), tr("Invalid Models and Settings File %1").arg(filename)); } else { @@ -160,7 +161,8 @@ int FlashEEpromDialog::getEEpromVersion(const QString &filename) } RadioData * radioData = new RadioData(); - if (eeprom_size == 0 || !loadEEprom(*radioData, (const uint8_t *)eeprom.data(), eeprom_size)) { + std::bitset errors((unsigned long long)LoadEeprom(*radioData, (const uint8_t *)eeprom.data(), eeprom_size)); + if (eeprom_size == 0 || !errors.test(NO_ERROR)) { QMessageBox::warning(this, tr("Error"), tr("Invalid Models and Settings file %1").arg(filename)); } else { @@ -175,8 +177,8 @@ bool FlashEEpromDialog::patchCalibration() QString calib = g.profile[g.id()].stickPotCalib(); QString trainercalib = g.profile[g.id()].trainerCalib(); int potsnum=GetCurrentFirmware()->getCapability(Pots); - int8_t vBatCalib=(int8_t) g.profile[g.id()].vBatCalib(); - int8_t currentCalib=(int8_t) g.profile[g.id()].currentCalib(); + int8_t txVoltageCalibration=(int8_t) g.profile[g.id()].txVoltageCalibration(); + int8_t txCurrentCalibration=(int8_t) g.profile[g.id()].txCurrentCalibration(); int8_t PPM_Multiplier=(int8_t) g.profile[g.id()].ppmMultiplier(); if ((calib.length()==(NUM_STICKS+potsnum)*12) && (trainercalib.length()==16)) { @@ -204,8 +206,8 @@ bool FlashEEpromDialog::patchCalibration() radioData->generalSettings.trainer.calib[i] = byte16; } } - radioData->generalSettings.currentCalib = currentCalib; - radioData->generalSettings.vBatCalib = vBatCalib; + radioData->generalSettings.txCurrentCalibration = txCurrentCalibration; + radioData->generalSettings.txVoltageCalibration = txVoltageCalibration; radioData->generalSettings.PPM_Multiplier = PPM_Multiplier; return true; } @@ -303,7 +305,7 @@ void FlashEEpromDialog::on_burnButton_clicked() backupPath = g.profile[g.id()].pBackupDir(); if (backupPath.isEmpty()) { backupPath=g.backupDir(); - } + } backupFilename = backupPath + "/backup-" + QDateTime().currentDateTime().toString("yyyy-MM-dd-HHmmss") + ".bin"; } else if (ui->checkFirmwareCompatibility->isChecked()) { diff --git a/companion/src/flasheepromdialog.h b/companion/src/flasheepromdialog.h old mode 100755 new mode 100644 diff --git a/companion/src/flasheepromdialog.ui b/companion/src/flasheepromdialog.ui old mode 100755 new mode 100644 diff --git a/companion/src/flashfirmwaredialog.cpp b/companion/src/flashfirmwaredialog.cpp old mode 100755 new mode 100644 diff --git a/companion/src/flashfirmwaredialog.h b/companion/src/flashfirmwaredialog.h old mode 100755 new mode 100644 diff --git a/companion/src/flashfirmwaredialog.ui b/companion/src/flashfirmwaredialog.ui old mode 100755 new mode 100644 diff --git a/companion/src/generaledit/calibration.cpp b/companion/src/generaledit/calibration.cpp index 94133171e..978a48910 100644 --- a/companion/src/generaledit/calibration.cpp +++ b/companion/src/generaledit/calibration.cpp @@ -159,6 +159,11 @@ CalibrationPanel::CalibrationPanel(QWidget * parent, GeneralSettings & generalSe ui->serialPortLabel->hide(); } + if (!IS_SKY9X(firmware->getBoard())) { + ui->txCurrentCalibration->hide(); + ui->txCurrentCalibrationLabel->hide(); + } + if (IS_TARANIS_X9E(firmware->getBoard())) { ui->bluetoothEnable->setChecked(generalSettings.bluetoothEnable); ui->bluetoothName->setField(generalSettings.bluetoothName, 10, this); @@ -214,9 +219,9 @@ void CalibrationPanel::on_PPM4_editingFinished() } -void CalibrationPanel::on_CurrentCalib_SB_editingFinished() +void CalibrationPanel::on_txCurrentCalibration_editingFinished() { - generalSettings.currentCalib = ui->CurrentCalib_SB->value(); + generalSettings.txCurrentCalibration = ui->txCurrentCalibration->value(); emit modified(); } @@ -228,8 +233,8 @@ void CalibrationPanel::on_bluetoothEnable_stateChanged(int) void CalibrationPanel::setValues() { - ui->battCalibDSB->setValue((double)generalSettings.vBatCalib/10); - ui->CurrentCalib_SB->setValue((double)generalSettings.currentCalib); + ui->txVoltageCalibration->setValue((double)generalSettings.txVoltageCalibration/10); + ui->txCurrentCalibration->setValue((double)generalSettings.txCurrentCalibration); ui->ana1Neg->setValue(generalSettings.calibSpanNeg[0]); ui->ana2Neg->setValue(generalSettings.calibSpanNeg[1]); @@ -265,9 +270,9 @@ void CalibrationPanel::setValues() ui->PPM_MultiplierDSB->setValue((qreal)(generalSettings.PPM_Multiplier+10)/10); } -void CalibrationPanel::on_battCalibDSB_editingFinished() +void CalibrationPanel::on_txVoltageCalibration_editingFinished() { - generalSettings.vBatCalib = ui->battCalibDSB->value()*10; + generalSettings.txVoltageCalibration = ui->txVoltageCalibration->value()*10; emit modified(); } diff --git a/companion/src/generaledit/calibration.h b/companion/src/generaledit/calibration.h index a15265b0c..ffb1524b7 100644 --- a/companion/src/generaledit/calibration.h +++ b/companion/src/generaledit/calibration.h @@ -21,14 +21,14 @@ class CalibrationPanel : public GeneralPanel // virtual void update(); private slots: - void on_battCalibDSB_editingFinished(); + void on_txVoltageCalibration_editingFinished(); void on_PPM1_editingFinished(); void on_PPM2_editingFinished(); void on_PPM3_editingFinished(); void on_PPM4_editingFinished(); void on_PPM_MultiplierDSB_editingFinished(); - void on_CurrentCalib_SB_editingFinished(); + void on_txCurrentCalibration_editingFinished(); void on_bluetoothEnable_stateChanged(int); void on_ana1Neg_editingFinished(); diff --git a/companion/src/generaledit/calibration.ui b/companion/src/generaledit/calibration.ui index 456a5251a..26ad4e2b6 100644 --- a/companion/src/generaledit/calibration.ui +++ b/companion/src/generaledit/calibration.ui @@ -7,7 +7,7 @@ 0 0 805 - 1269 + 1313 @@ -562,14 +562,14 @@ - + - Battery + Battery Offset - + @@ -674,7 +674,7 @@ - + -49 @@ -698,9 +698,9 @@ - + - Current + Current Offset diff --git a/companion/src/generaledit/generaledit.cpp b/companion/src/generaledit/generaledit.cpp index 8a040d661..127d87cf7 100644 --- a/companion/src/generaledit/generaledit.cpp +++ b/companion/src/generaledit/generaledit.cpp @@ -88,8 +88,8 @@ void GeneralEdit::on_calretrieve_PB_clicked() } else { QString trainercalib = g.profile[profile_id].trainerCalib(); - int8_t vBatCalib = (int8_t)g.profile[profile_id].vBatCalib(); - int8_t currentCalib = (int8_t)g.profile[profile_id].currentCalib(); + int8_t txVoltageCalibration = (int8_t)g.profile[profile_id].txVoltageCalibration(); + int8_t txCurrentCalibration = (int8_t)g.profile[profile_id].txCurrentCalibration(); int8_t PPM_Multiplier = (int8_t)g.profile[profile_id].ppmMultiplier(); uint8_t GSStickMode = (uint8_t)g.profile[profile_id].gsStickMode(); uint8_t vBatWarn = (uint8_t)g.profile[profile_id].vBatWarn(); @@ -123,8 +123,8 @@ void GeneralEdit::on_calretrieve_PB_clicked() if (ok) generalSettings.trainer.calib[i]=byte16; } - generalSettings.currentCalib=currentCalib; - generalSettings.vBatCalib=vBatCalib; + generalSettings.txCurrentCalibration=txCurrentCalibration; + generalSettings.txVoltageCalibration=txVoltageCalibration; generalSettings.vBatWarn=vBatWarn; if (GetCurrentFirmware()->getCapability(HasBatMeterRange)) { generalSettings.vBatMin = (int8_t) g.profile[profile_id].vBatMin(); @@ -225,8 +225,8 @@ void GeneralEdit::on_calstore_PB_clicked() calib.append(QString("%1").arg((uint16_t)generalSettings.trainer.calib[i], 4, 16, QChar('0'))); } g.profile[profile_id].trainerCalib( calib ); - g.profile[profile_id].vBatCalib( generalSettings.vBatCalib ); - g.profile[profile_id].currentCalib( generalSettings.currentCalib ); + g.profile[profile_id].txVoltageCalibration( generalSettings.txVoltageCalibration ); + g.profile[profile_id].txCurrentCalibration( generalSettings.txCurrentCalibration ); g.profile[profile_id].vBatWarn( generalSettings.vBatWarn ); if (GetCurrentFirmware()->getCapability(HasBatMeterRange)) { g.profile[profile_id].vBatMin( generalSettings.vBatMin ); diff --git a/companion/src/helpers_html.cpp b/companion/src/helpers_html.cpp old mode 100755 new mode 100644 diff --git a/companion/src/helpers_html.h b/companion/src/helpers_html.h old mode 100755 new mode 100644 diff --git a/companion/src/images/library/00022.png b/companion/src/images/library/00022.png new file mode 100644 index 000000000..85ef578f8 Binary files /dev/null and b/companion/src/images/library/00022.png differ diff --git a/companion/src/images/originals/scripts/addblackoutline.sh b/companion/src/images/originals/scripts/addblackoutline.sh old mode 100755 new mode 100644 diff --git a/companion/src/images/originals/scripts/makeblue.sh b/companion/src/images/originals/scripts/makeblue.sh old mode 100755 new mode 100644 diff --git a/companion/src/images/originals/scripts/makewhite.sh b/companion/src/images/originals/scripts/makewhite.sh old mode 100755 new mode 100644 diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp index c165d69a0..2460d461a 100644 --- a/companion/src/mainwindow.cpp +++ b/companion/src/mainwindow.cpp @@ -115,12 +115,12 @@ MainWindow::MainWindow(): this->setIconSize(QSize(32, 32)); QNetworkProxyFactory::setUseSystemConfiguration(true); setAcceptDrops(true); - + // give time to the splash to disappear and main window to open before starting updates int updateDelay = 1000; bool showSplash = g.showSplash(); if (showSplash) { - updateDelay += (SPLASH_TIME*1000); + updateDelay += (SPLASH_TIME*1000); } QTimer::singleShot(updateDelay, this, SLOT(doAutoUpdates())); QTimer::singleShot(updateDelay, this, SLOT(displayWarnings())); @@ -158,13 +158,13 @@ MainWindow::MainWindow(): child->show(); } else { - child->show(); + child->show(); child->print(model,printfilename); child->close(); } } } - } + } if (printing) { QTimer::singleShot(0, this, SLOT(autoClose())); } @@ -185,7 +185,7 @@ void MainWindow::displayWarnings() } } else if (warnId==0) { - g.warningId(WARNING_ID); + g.warningId(WARNING_ID); } } @@ -292,15 +292,15 @@ void MainWindow::checkForCompanionUpdateFinished(QNetworkReply * reply) int c9xver = version2index(c9xversion); if (c9xver < vnum) { -#if defined WIN32 || !defined __GNUC__ // || defined __APPLE__ // OSX should only notify of updates since no update packages are available. +#if defined WIN32 || !defined __GNUC__ // || defined __APPLE__ // OSX should only notify of updates since no update packages are available. int ret = QMessageBox::question(this, "Companion", tr("A new version of Companion is available (version %1)
" "Would you like to download it?").arg(version) , QMessageBox::Yes | QMessageBox::No); if (ret == QMessageBox::Yes) { -#if defined __APPLE__ +#if defined __APPLE__ QString fileName = QFileDialog::getSaveFileName(this, tr("Save As"), g.updatesDir() + QString(COMPANION_INSTALLER).arg(version)); -#else +#else QString fileName = QFileDialog::getSaveFileName(this, tr("Save As"), g.updatesDir() + QString(COMPANION_INSTALLER).arg(version), tr("Executable (*.exe)")); #endif if (!fileName.isEmpty()) { @@ -313,7 +313,7 @@ void MainWindow::checkForCompanionUpdateFinished(QNetworkReply * reply) } #else QMessageBox::warning(this, tr("New release available"), tr("A new release of Companion is available, please check the OpenTX website!")); -#endif +#endif } else { if (downloadDialog_forWait && checkForUpdatesState==0) { @@ -539,19 +539,19 @@ void MainWindow::closeEvent(QCloseEvent *event) } void MainWindow::setLanguage(const QString & langString) -{ +{ g.locale(langString); QMessageBox::information(this, tr("Companion"), tr("The selected language will be used the next time you start Companion.")); } void MainWindow::setTheme(int index) -{ +{ g.theme(index); QMessageBox::information(this, tr("Companion"), tr("The new theme will be loaded the next time you start Companion.")); } void MainWindow::setIconThemeSize(int index) -{ +{ g.iconSize(index); QMessageBox::information(this, tr("Companion"), tr("The icon size will be used the next time you start Companion.")); } @@ -705,7 +705,7 @@ void MainWindow::fwchangelog() } void MainWindow::customizeSplash() -{ +{ customizeSplashDialog * dialog = new customizeSplashDialog(this); dialog->exec(); } @@ -763,7 +763,7 @@ void MainWindow::readEeprom() EEPROMInterface *eepromInterface = GetEepromInterface(); - if (IS_ARM(eepromInterface->getBoard())) + if (IS_ARM(eepromInterface->getBoard())) tempFile = generateProcessUniqueTempFileName("temp.bin"); else tempFile += generateProcessUniqueTempFileName("temp.hex"); @@ -920,7 +920,7 @@ void MainWindow::updateMenus() pasteAct->setEnabled(hasMdiChild ? activeMdiChild()->hasPasteData() : false); writeEepromAct->setEnabled(hasMdiChild); separatorAct->setVisible(hasMdiChild); - + bool hasSelection = (activeMdiChild() && activeMdiChild()->hasSelection()); cutAct->setEnabled(hasSelection); copyAct->setEnabled(hasSelection); @@ -962,7 +962,7 @@ QAction * MainWindow::addAct(const QString & icon, const QString & sName, const QAction * newAction = new QAction( this ); if (!icon.isEmpty()) newAction->setIcon(CompanionIcon(icon)); - if (!sName.isEmpty()) + if (!sName.isEmpty()) newAction->setText(sName); if (!lName.isEmpty()) newAction->setStatusTip(lName); @@ -983,7 +983,7 @@ QAction * MainWindow::addAct(QActionGroup *aGroup, const QString & sName, const { QAction *action = addAct("", sName, lName, QKeySequence::UnknownKey, slot); action->setCheckable(true); - aGroup->addAction(action); + aGroup->addAction(action); return action; } @@ -1017,7 +1017,7 @@ void MainWindow::createActions() 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())); - + QActionGroup *themeAlignGroup = new QActionGroup(this); classicThemeAct = addAct( themeAlignGroup, tr("Classical"), tr("The classic companion9x icon theme"), SLOT(setClassicTheme())); yericoThemeAct = addAct( themeAlignGroup, tr("Yerico"), tr("Yellow round honey sweet icon theme"), SLOT(setYericoTheme())); @@ -1072,7 +1072,7 @@ void MainWindow::createActions() readBackupToFileAct = addAct("read_eeprom_file.png", tr("Backup Radio to File"), tr("Save a complete backup file of all settings and model data in the Radio"), SLOT(readBackup())); contributorsAct = addAct("contributors.png", tr("Contributors..."), tr("A tribute to those who have contributed to OpenTX and Companion"), SLOT(contributors())); sdsyncAct = addAct("sdsync.png", tr("Synchronize SD"), tr("SD card synchronization"), SLOT(sdsync())); - + compareAct->setEnabled(false); simulateAct->setEnabled(false); printAct->setEnabled(false); @@ -1118,8 +1118,8 @@ void MainWindow::createMenus() languageMenu->addAction(germanLangAct); languageMenu->addAction(finnishLangAct); languageMenu->addAction(frenchLangAct); -// languageMenu->addAction(hebrewLangAct); languageMenu->addAction(italianLangAct); +// languageMenu->addAction(hebrewLangAct); languageMenu->addAction(polishLangAct); // languageMenu->addAction(portugueseLangAct); languageMenu->addAction(spanishLangAct); @@ -1156,7 +1156,7 @@ void MainWindow::createMenus() burnMenu->addSeparator(); burnMenu->addSeparator(); EEPROMInterface *eepromInterface = GetEepromInterface(); - if (!IS_ARM(eepromInterface->getBoard())) { + if (!IS_ARM(eepromInterface->getBoard())) { burnMenu->addAction(burnFusesAct); burnMenu->addAction(burnListAct); } @@ -1173,7 +1173,7 @@ void MainWindow::createMenus() helpMenu->addSeparator(); helpMenu->addAction(contributorsAct); } - + QMenu *MainWindow::createRecentFileMenu() { QMenu *recentFileMenu = new QMenu(this); @@ -1214,7 +1214,7 @@ void MainWindow::createToolBars() break; default: size=QSize(24,24); - break; + break; } fileToolBar = addToolBar(tr("File")); fileToolBar->setIconSize(size); @@ -1260,7 +1260,7 @@ void MainWindow::createToolBars() editToolBar->addAction(cutAct); editToolBar->addAction(copyAct); editToolBar->addAction(pasteAct); - + burnToolBar = new QToolBar(tr("Write")); addToolBar( Qt::LeftToolBarArea, burnToolBar ); burnToolBar->setIconSize(size); @@ -1317,7 +1317,7 @@ void MainWindow::setActiveSubWindow(QWidget *window) void MainWindow::updateRecentFileActions() { int i, numRecentFiles; - + // Hide all document slots for ( i=0 ; i < g.historySize(); i++) recentFileActs[i]->setVisible(false); @@ -1325,7 +1325,7 @@ void MainWindow::updateRecentFileActions() // Fill slots with content and unhide them QStringList files = g.recentFiles(); numRecentFiles = qMin(files.size(), g.historySize()); - + for ( i = 0; i < numRecentFiles; i++) { QString text = strippedName(files[i]); if (!text.trimmed().isEmpty()) @@ -1352,34 +1352,34 @@ void MainWindow::updateLanguageActions() { QString langId = g.locale(); - if (langId=="") + if (langId=="") sysLangAct->setChecked(true); - else if (langId=="cs_CZ") + else if (langId=="cs_CZ") czechLangAct->setChecked(true); - else if (langId=="de_DE") + else if (langId=="de_DE") germanLangAct->setChecked(true); - else if (langId=="en") + else if (langId=="en") englishLangAct->setChecked(true); - else if (langId=="fi_FI") + else if (langId=="fi_FI") finnishLangAct->setChecked(true); - else if (langId=="fr_FR") + else if (langId=="fr_FR") frenchLangAct->setChecked(true); - else if (langId=="it_IT") + else if (langId=="it_IT") italianLangAct->setChecked(true); - else if (langId=="he_IL") - hebrewLangAct->setChecked(true); - else if (langId=="pl_PL") + // else if (langId=="he_IL") + // hebrewLangAct->setChecked(true); + else if (langId=="pl_PL") polishLangAct->setChecked(true); - else if (langId=="pt_PT") - portugueseLangAct->setChecked(true); - else if (langId=="ru_RU") - russianLangAct->setChecked(true); + // else if (langId=="pt_PT") + // portugueseLangAct->setChecked(true); else if (langId=="es_ES") spanishLangAct->setChecked(true); - else if (langId=="sv_SE") + else if (langId=="sv_SE") swedishLangAct->setChecked(true); - else if (langId=="nl_NL") - dutchLangAct->setChecked(true); + // else if (langId=="ru_RU") + // russianLangAct->setChecked(true); + // else if (langId=="nl_NL") + // dutchLangAct->setChecked(true); } void MainWindow::updateIconThemeActions() @@ -1396,9 +1396,9 @@ void MainWindow::updateIconThemeActions() void MainWindow::updateProfilesActions() { - for (int i=0; isetText(text); @@ -1406,8 +1406,8 @@ void MainWindow::updateProfilesActions() profileActs[i]->setVisible(true); if (i == g.id()) profileActs[i]->setChecked(true); - } - else + } + else { profileActs[i]->setVisible(false); } @@ -1421,7 +1421,7 @@ void MainWindow::createProfile() ; if (i==MAX_PROFILES) //Failed to find free slot return; - + // Copy current profile to new and give it a new name g.profile[i] = g.profile[g.id()]; g.profile[i].name(tr("New Radio")); diff --git a/companion/src/mainwindow.h b/companion/src/mainwindow.h index 759375bc0..ba4b7c760 100644 --- a/companion/src/mainwindow.h +++ b/companion/src/mainwindow.h @@ -262,20 +262,22 @@ class MainWindow : public QMainWindow QAction *normalIconAct; QAction *bigIconAct; QAction *hugeIconAct; + QAction *sysLangAct; - QAction *englishLangAct; QAction *czechLangAct; QAction *germanLangAct; - QAction *frenchLangAct; + QAction *englishLangAct; QAction *finnishLangAct; + QAction *frenchLangAct; QAction *italianLangAct; - QAction *hebrewLangAct; + // QAction *hebrewLangAct; QAction *polishLangAct; + // QAction *portugueseLangAct; QAction *spanishLangAct; - QAction *portugueseLangAct; QAction *swedishLangAct; - QAction *russianLangAct; - QAction *dutchLangAct; + // QAction *russianLangAct; + // QAction *dutchLangAct; + QAction *openDocURLAct; }; diff --git a/companion/src/mdichild.cpp b/companion/src/mdichild.cpp index 84d4d2cf4..0eac6e804 100644 --- a/companion/src/mdichild.cpp +++ b/companion/src/mdichild.cpp @@ -81,7 +81,7 @@ MdiChild::MdiChild(): } } -MdiChild::~MdiChild() +MdiChild::~MdiChild() { delete ui; } @@ -174,7 +174,7 @@ void MdiChild::modelEdit() if (row == 0){ generalEdit(); - } + } else { QApplication::setOverrideCursor(Qt::WaitCursor); checkAndInitModel( row ); @@ -251,7 +251,7 @@ bool MdiChild::loadFile(const QString &fileName, bool resetCurrentFile) XmlInterface(inputStream).load(radioData); } else -#endif +#endif if (fileType==FILE_TYPE_HEX || fileType==FILE_TYPE_EEPE) { //read HEX file if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { //reading HEX TEXT file QMessageBox::critical(this, tr("Error"), @@ -260,18 +260,19 @@ bool MdiChild::loadFile(const QString &fileName, bool resetCurrentFile) .arg(file.errorString())); return false; } - + QDomDocument doc(ER9X_EEPROM_FILE_TYPE); bool xmlOK = doc.setContent(&file); if(xmlOK) { - if (loadEEpromXml(radioData, doc)){ + std::bitset errors((unsigned long long)LoadEepromXml(radioData, doc)); + if (errors.test(NO_ERROR)) { ui->modelsList->refreshList(); if(resetCurrentFile) setCurrentFile(fileName); return true; } } file.reset(); - + QTextStream inputStream(&file); if (fileType==FILE_TYPE_EEPE) { // read EEPE file header @@ -294,12 +295,14 @@ bool MdiChild::loadFile(const QString &fileName, bool resetCurrentFile) file.close(); - if (!loadEEprom(radioData, (uint8_t *)eeprom.data(), eeprom_size)) { - QMessageBox::critical(this, tr("Error"), - tr("Invalid EEPROM File %1") - .arg(fileName)); + std::bitset errors((unsigned long long)LoadEeprom(radioData, (uint8_t *)eeprom.data(), eeprom_size)); + if (!errors.test(NO_ERROR)) { + ShowEepromErrors(this, tr("Error"), tr("Invalid EEPROM File %1").arg(fileName), errors.to_ulong()); return false; } + if (errors.test(HAS_WARNINGS)) { + ShowEepromWarnings(this, tr("Warning"), errors.to_ulong()); + } ui->modelsList->refreshList(); if(resetCurrentFile) setCurrentFile(fileName); @@ -330,11 +333,18 @@ bool MdiChild::loadFile(const QString &fileName, bool resetCurrentFile) return false; } - if (!loadEEprom(radioData, eeprom, eeprom_size) && !::loadBackup(radioData, eeprom, eeprom_size, 0)) { - QMessageBox::critical(this, tr("Error"), - tr("Invalid binary EEPROM File %1") - .arg(fileName)); - return false; + std::bitset errorsEeprom((unsigned long long)LoadEeprom(radioData, eeprom, eeprom_size)); + if (!errorsEeprom.test(NO_ERROR)) { + std::bitset errorsBackup((unsigned long long)LoadBackup(radioData, eeprom, eeprom_size, 0)); + if (!errorsBackup.test(NO_ERROR)) { + ShowEepromErrors(this, tr("Error"), tr("Invalid binary EEPROM File %1").arg(fileName), (errorsEeprom | errorsBackup).to_ulong()); + return false; + } + if (errorsBackup.test(HAS_WARNINGS)) { + ShowEepromWarnings(this, tr("Warning"), errorsBackup.to_ulong()); + } + } else if (errorsEeprom.test(HAS_WARNINGS)) { + ShowEepromWarnings(this, tr("Warning"), errorsEeprom.to_ulong()); } ui->modelsList->refreshList(); @@ -367,7 +377,7 @@ bool MdiChild::saveAs(bool isNew) fileName = QFileDialog::getSaveFileName(this, tr("Save As"), g.eepromDir() + "/" +fi.fileName()); #else fileName = QFileDialog::getSaveFileName(this, tr("Save As"), g.eepromDir() + "/" +fi.fileName(), tr(BIN_FILES_FILTER)); -#endif +#endif } else { QFileInfo fi(curFile); @@ -375,14 +385,14 @@ bool MdiChild::saveAs(bool isNew) fileName = QFileDialog::getSaveFileName(this, tr("Save As"), g.eepromDir() + "/" +fi.fileName()); #else fileName = QFileDialog::getSaveFileName(this, tr("Save As"), g.eepromDir() + "/" +fi.fileName(), tr(EEPROM_FILES_FILTER)); -#endif +#endif } if (fileName.isEmpty()) return false; g.eepromDir( QFileInfo(fileName).dir().absolutePath() ); if (isNew) return saveFile(fileName); - else + else return saveFile(fileName,true); } @@ -505,7 +515,7 @@ void MdiChild::setCurrentFile(const QString &fileName) files.prepend(fileName); while (files.size() > MaxRecentFiles) files.removeLast(); - + g.recentFiles( files ); } @@ -544,7 +554,7 @@ void MdiChild::print(int model, QString filename) else if (getCurrentRow() > 0) { pd = new PrintDialog(this, GetCurrentFirmware()/*firmware*/, radioData.generalSettings, radioData.models[getCurrentRow()-1]); } - + if (pd) { pd->setAttribute(Qt::WA_DeleteOnClose, true); pd->show(); @@ -601,12 +611,14 @@ bool MdiChild::loadBackup() return false; } - if (!::loadBackup(radioData, (uint8_t *)eeprom.data(), eeprom_size, index)) { - QMessageBox::critical(this, tr("Error"), - tr("Invalid binary backup File %1") - .arg(fileName)); - return false; - } + std::bitset errorsEeprom((unsigned long long)LoadBackup(radioData, (uint8_t *)eeprom.data(), eeprom_size, index)); + if (!errorsEeprom.test(NO_ERROR)) { + ShowEepromErrors(this, tr("Error"), tr("Invalid binary backup File %1").arg(fileName), (errorsEeprom).to_ulong()); + return false; + } + if (errorsEeprom.test(HAS_WARNINGS)) { + ShowEepromWarnings(this, tr("Warning"), errorsEeprom.to_ulong()); + } ui->modelsList->refreshList(); diff --git a/companion/src/modeledit/customfunctions.cpp b/companion/src/modeledit/customfunctions.cpp index ae20cac46..ef49992bb 100644 --- a/companion/src/modeledit/customfunctions.cpp +++ b/companion/src/modeledit/customfunctions.cpp @@ -383,13 +383,16 @@ void CustomFunctionsPanel::refreshCustomFunction(int i, bool modified) populateFuncParamCB(fswtchParamT[i], func, cfn.param); widgetsMask |= CUSTOM_FUNCTION_SOURCE_PARAM | CUSTOM_FUNCTION_ENABLE; } - else if (func>=FuncSetTimer1 && func<=FuncSetTimer2) { + else if (func>=FuncSetTimer1 && func<=FuncSetTimer3) { if (modified) cfn.param = QTimeS(fswtchParamTime[i]->time()).seconds(); fswtchParamTime[i]->setMinimumTime(QTime(0, 0, 0)); fswtchParamTime[i]->setMaximumTime(QTime(0, 59, 59)); fswtchParamTime[i]->setTime(QTimeS(cfn.param)); widgetsMask |= CUSTOM_FUNCTION_TIME_PARAM + CUSTOM_FUNCTION_ENABLE; } + else if (func>=FuncSetFailsafeInternalModule && func<=FuncBindExternalModule) { + widgetsMask |= CUSTOM_FUNCTION_ENABLE; + } else if (func==FuncVolume) { if (modified) cfn.param = fswtchParamT[i]->itemData(fswtchParamT[i]->currentIndex()).toInt(); populateFuncParamCB(fswtchParamT[i], func, cfn.param); @@ -604,6 +607,8 @@ void CustomFunctionsPanel::populateFuncCB(QComboBox *b, unsigned int value) ((i==FuncPlayHaptic) && !firmware->getCapability(Haptic)) || ((i==FuncPlayBoth) && !firmware->getCapability(HasBeeper)) || ((i==FuncLogs) && !firmware->getCapability(HasSDLogs)) || + ((i==FuncSetTimer3) && firmware->getCapability(Timers) < 3) || + ((i>=FuncRangeCheckInternalModule && i<=FuncBindExternalModule) && (!model || !firmware->getCapability(DangerousFunctions))) || ((i>=FuncAdjustGV1 && i<=FuncAdjustGVLast) && !firmware->getCapability(Gvars)) ) { // skipped diff --git a/companion/src/modeledit/mixes.cpp b/companion/src/modeledit/mixes.cpp index 787bca608..33f325243 100644 --- a/companion/src/modeledit/mixes.cpp +++ b/companion/src/modeledit/mixes.cpp @@ -121,14 +121,14 @@ bool MixesPanel::AddMixerLine(int dest) QString MixesPanel::getMixerText(int dest, bool * new_ch) { QString str; - if (new_ch) *new_ch = 0; + bool newChannel = false; if (dest < 0) { str = modelPrinter.printMixerName(-dest); //highlight channel if needed if (-dest == (int)highlightedSource) { str = "" + str + ""; } - if (new_ch) *new_ch = 1; + newChannel = true; } else { MixData & mix = model->mixData[dest]; @@ -136,7 +136,7 @@ QString MixesPanel::getMixerText(int dest, bool * new_ch) str = modelPrinter.printMixerName(mix.destCh); if ((dest == 0) || (model->mixData[dest-1].destCh != mix.destCh)) { - if (new_ch) *new_ch = 1; + newChannel = true; //highlight channel if needed if (mix.destCh == highlightedSource) { str = "" + str + ""; @@ -146,8 +146,9 @@ QString MixesPanel::getMixerText(int dest, bool * new_ch) str.fill(' '); } - str += modelPrinter.printMixerLine(mix, highlightedSource); + str += modelPrinter.printMixerLine(mix, !newChannel, highlightedSource); } + if (new_ch) *new_ch = newChannel; return str.replace(" ", " "); } diff --git a/companion/src/modeledit/setup.cpp b/companion/src/modeledit/setup.cpp index f01bf6aca..44dde3f44 100644 --- a/companion/src/modeledit/setup.cpp +++ b/companion/src/modeledit/setup.cpp @@ -167,8 +167,8 @@ ModulePanel::ModulePanel(QWidget *parent, ModelData & model, ModuleData & module ui->label_module->setText(label); // The protocols available on this board - for (int i=0; iisAvailable((Protocol)i, moduleIdx)) { + for (int i=0; iisAvailable((PulsesProtocol)i, moduleIdx)) { ui->protocol->addItem(ModelPrinter::printModuleProtocol(i), (QVariant)i); if (i == module.protocol) ui->protocol->setCurrentIndex(ui->protocol->count()-1); } @@ -223,42 +223,42 @@ ModulePanel::~ModulePanel() void ModulePanel::update() { unsigned int mask = 0; - Protocol protocol = (Protocol)module.protocol; + PulsesProtocol protocol = (PulsesProtocol)module.protocol; unsigned int max_rx_num = 63; if (moduleIdx >= 0) { mask |= MASK_PROTOCOL; switch (protocol) { - case PXX_XJT_X16: - case PXX_XJT_D8: - case PXX_XJT_LR12: - case PXX_DJT: + case PULSES_PXX_XJT_X16: + case PULSES_PXX_XJT_D8: + case PULSES_PXX_XJT_LR12: + case PULSES_PXX_DJT: mask |= MASK_CHANNELS_RANGE | MASK_CHANNELS_COUNT; - if ((protocol==PXX_XJT_X16) || (protocol==PXX_XJT_LR12)) mask |= MASK_FAILSAFES | MASK_RX_NUMBER; + if ((protocol==PULSES_PXX_XJT_X16) || (protocol==PULSES_PXX_XJT_LR12)) mask |= MASK_FAILSAFES | MASK_RX_NUMBER; break; - case LP45: - case DSM2: - case DSMX: + case PULSES_LP45: + case PULSES_DSM2: + case PULSES_DSMX: mask |= MASK_CHANNELS_RANGE | MASK_RX_NUMBER; module.channelsCount = 6; max_rx_num = 20; break; - case PPM: + case PULSES_PPM: mask |= MASK_PPM_FIELDS | MASK_CHANNELS_RANGE| MASK_CHANNELS_COUNT; if (IS_9XRPRO(firmware->getBoard())) { mask |= MASK_OPEN_DRAIN; } break; - case OFF: + case PULSES_OFF: default: break; } } else if (IS_TARANIS(firmware->getBoard())) { switch(model->trainerMode) { - case MASTER_JACK: + case TRAINER_MASTER_JACK: break; - case SLAVE_JACK: + case TRAINER_SLAVE_JACK: mask |= MASK_PPM_FIELDS | MASK_CHANNELS_RANGE | MASK_CHANNELS_COUNT; break; default: @@ -266,7 +266,7 @@ void ModulePanel::update() break; } } - else if (model->trainerMode != MASTER_JACK) { + else if (model->trainerMode != TRAINER_MASTER_JACK) { mask |= MASK_PPM_FIELDS | MASK_CHANNELS_RANGE | MASK_CHANNELS_COUNT; } @@ -516,6 +516,19 @@ SetupPanel::SetupPanel(QWidget *parent, ModelData & model, GeneralSettings & gen } } + if (firmware->getCapability(HasTopLcd)) { + ui->toplcdTimer->setField(model.toplcdTimer, this); + for (int i=0; igetCapability(Timers)) { + ui->toplcdTimer->addItem(tr("Timer %1").arg(i+1), i); + } + } + } + else { + ui->toplcdTimerLabel->hide(); + ui->toplcdTimer->hide(); + } + if (!firmware->getCapability(HasDisplayText)) { ui->displayText->hide(); } @@ -689,7 +702,7 @@ void SetupPanel::on_trimIncrement_currentIndexChanged(int index) void SetupPanel::on_throttleSource_currentIndexChanged(int index) { if (!lock) { - model->thrTraceSrc = ui->throttleSource->itemData(index).toInt(); + model->thrTraceSrc = index; emit modified(); } } @@ -735,34 +748,39 @@ void SetupPanel::on_image_currentIndexChanged(int index) void SetupPanel::populateThrottleSourceCB() { - const QString sources9x[] = { QObject::tr("THR"), QObject::tr("P1"), QObject::tr("P2"), QObject::tr("P3")}; - const QString sourcesTaranis[] = { QObject::tr("THR"), QObject::tr("S1"), QObject::tr("S2"), QObject::tr("S3"), QObject::tr("LS"), QObject::tr("RS")}; + const QString pots9x[] = { QObject::tr("P1"), QObject::tr("P2"), QObject::tr("P3")}; + const QString potsTaranis[] = { QObject::tr("S1"), QObject::tr("S2"), QObject::tr("S3"), QObject::tr("LS"), QObject::tr("RS")}; + const QString potsTaranisX9E[] = { QObject::tr("F1"), QObject::tr("F2"), QObject::tr("F3"), QObject::tr("F4"), QObject::tr("S1"), QObject::tr("S2"), QObject::tr("LS"), QObject::tr("RS")}; unsigned int i; lock = true; - if (IS_TARANIS(GetEepromInterface()->getBoard())) { - for (i=0; i<6; i++) { - ui->throttleSource->addItem(sourcesTaranis[i], i); + ui->throttleSource->addItem(QObject::tr("THR")); + + if (IS_TARANIS_X9E(GetEepromInterface()->getBoard())) { + for (i=0; i<8; i++) { + ui->throttleSource->addItem(potsTaranisX9E[i], i); + } + } + else if (IS_TARANIS(GetEepromInterface()->getBoard())) { + for (i=0; i<5; i++) { + ui->throttleSource->addItem(potsTaranis[i], i); } } else { - for (i=0; i<4; i++) { - ui->throttleSource->addItem(sources9x[i], i); + for (i=0; i<3; i++) { + ui->throttleSource->addItem(pots9x[i], i); } } - if (model->thrTraceSrc < i) - ui->throttleSource->setCurrentIndex(model->thrTraceSrc); - int channels = (IS_ARM(GetEepromInterface()->getBoard()) ? 32 : 16); for (int i=0; ithrottleSource->addItem(ModelPrinter::printChannelName(i), THROTTLE_SOURCE_FIRST_CHANNEL+i); - if (model->thrTraceSrc == unsigned(THROTTLE_SOURCE_FIRST_CHANNEL+i)) - ui->throttleSource->setCurrentIndex(ui->throttleSource->count()-1); + ui->throttleSource->addItem(ModelPrinter::printChannelName(i)); } + ui->throttleSource->setCurrentIndex(model->thrTraceSrc); + lock = false; } diff --git a/companion/src/modeledit/setup.ui b/companion/src/modeledit/setup.ui index 825579534..b0bff997f 100644 --- a/companion/src/modeledit/setup.ui +++ b/companion/src/modeledit/setup.ui @@ -16,22 +16,6 @@ - - - - - 50 - false - - - - Timer 3 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - @@ -48,8 +32,8 @@ - - + + 50 @@ -57,14 +41,307 @@ - Timer 2 + Top LCD Timer Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - + + + + + + + + + 0 + 0 + + + + 10 + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 20 + 20 + + + + + + + + Model Image + + + + + + + + 0 + 0 + + + + + 64 + 32 + + + + + 64 + 32 + + + + QFrame::Panel + + + QFrame::Raised + + + + + + true + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Qt::Horizontal + + + + + + + + + + 0 + 0 + + + + + 75 + true + + + + Warnings + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + + Switch Warnings + + + + + + + QLayout::SetMinimumSize + + + 0 + + + 6 + + + 6 + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + Pot Warnings + + + + + + + + + + OFF + + + + + Manual + + + + + Auto + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + 75 + true + + + + Model + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Qt::Horizontal + + + + + + + + 50 + false + + + + Center beep + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + Qt::Horizontal + + + + @@ -224,7 +501,7 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + @@ -276,42 +553,15 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + Qt::Horizontal - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Qt::Horizontal - - - - - + + 50 @@ -319,261 +569,37 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - Center beep + Timer 2 Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - Qt::Horizontal + + + + + 50 + false + + + + Timer 3 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - - 0 - 0 - - - - 10 - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - - - - - Model Image - - - - - - - - 0 - 0 - - - - - 64 - 32 - - - - - 64 - 32 - - - - QFrame::Panel - - - QFrame::Raised - - - - - - true - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Qt::Horizontal - - - - - - - + + - + 0 0 - - - 75 - true - - - - Warnings - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - - - - Switch Warnings - - - - - - - QLayout::SetMinimumSize - - - 0 - - - 6 - - - 6 - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - - Pot Warnings - - - - - - - - - - OFF - - - - - Manual - - - - - Auto - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - 75 - true - - - - Model - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - diff --git a/companion/src/modeledit/telemetry.cpp b/companion/src/modeledit/telemetry.cpp index e715c679b..72722a7dc 100644 --- a/companion/src/modeledit/telemetry.cpp +++ b/companion/src/modeledit/telemetry.cpp @@ -533,6 +533,7 @@ void TelemetrySensorPanel::update() bool cellsFieldsDisplayed = false; bool consFieldsDisplayed = false; bool ratioFieldsDisplayed = false; + bool totalizeFieldsDisplayed = false; bool sources12FieldsDisplayed = false; bool sources34FieldsDisplayed = false; @@ -556,6 +557,7 @@ void TelemetrySensorPanel::update() consFieldsDisplayed = (sensor.formula == SensorData::TELEM_FORMULA_CONSUMPTION); sources12FieldsDisplayed = (sensor.formula <= SensorData::TELEM_FORMULA_MULTIPLY); sources34FieldsDisplayed = (sensor.formula < SensorData::TELEM_FORMULA_MULTIPLY); + totalizeFieldsDisplayed = (sensor.formula == SensorData::TELEM_FORMULA_TOTALIZE); updateSourcesComboBox(ui->source1, true); updateSourcesComboBox(ui->source2, true); updateSourcesComboBox(ui->source3, true); @@ -595,15 +597,15 @@ void TelemetrySensorPanel::update() ui->offsetLabel->setVisible(ratioFieldsDisplayed && sensor.unit != SensorData::UNIT_RPMS); ui->multiplierLabel->setVisible(sensor.unit == SensorData::UNIT_RPMS); ui->offset->setVisible(ratioFieldsDisplayed); - ui->precLabel->setVisible(isConfigurable); + ui->precLabel->setVisible(isConfigurable && sensor.unit != SensorData::UNIT_FAHRENHEIT); ui->prec->setVisible(isConfigurable && sensor.unit != SensorData::UNIT_FAHRENHEIT); ui->unit->setVisible((sensor.type == SensorData::TELEM_TYPE_CALCULATED && (sensor.formula == SensorData::TELEM_FORMULA_DIST)) || isConfigurable); ui->gpsSensorLabel->setVisible(gpsFieldsDisplayed); ui->gpsSensor->setVisible(gpsFieldsDisplayed); ui->altSensorLabel->setVisible(gpsFieldsDisplayed); ui->altSensor->setVisible(gpsFieldsDisplayed); - ui->ampsSensorLabel->setVisible(consFieldsDisplayed); - ui->ampsSensor->setVisible(consFieldsDisplayed); + ui->ampsSensorLabel->setVisible(consFieldsDisplayed || totalizeFieldsDisplayed); + ui->ampsSensor->setVisible(consFieldsDisplayed || totalizeFieldsDisplayed); ui->cellsSensorLabel->setVisible(cellsFieldsDisplayed); ui->cellsSensor->setVisible(cellsFieldsDisplayed); ui->cellsIndex->setVisible(cellsFieldsDisplayed); @@ -643,7 +645,7 @@ void TelemetrySensorPanel::on_name_editingFinished() { if (!lock) { strcpy(sensor.label, ui->name->text().toAscii()); - emit nameModified(); + emit dataModified(); emit modified(); } } @@ -665,7 +667,15 @@ void TelemetrySensorPanel::on_formula_currentIndexChanged(int index) sensor.prec = 2; sensor.unit = SensorData::UNIT_VOLTS; } - update(); + else if (sensor.formula == SensorData::TELEM_FORMULA_CONSUMPTION) { + sensor.prec = 0; + sensor.unit = SensorData::UNIT_MAH; + } + else if (sensor.formula == SensorData::TELEM_FORMULA_DIST) { + sensor.prec = 0; + sensor.unit = SensorData::UNIT_METERS; + } + emit dataModified(); emit modified(); } } @@ -683,7 +693,7 @@ void TelemetrySensorPanel::on_prec_valueChanged() { if (!lock) { sensor.prec = ui->prec->value(); - update(); + emit dataModified(); emit modified(); } } @@ -707,7 +717,8 @@ TelemetryPanel::TelemetryPanel(QWidget *parent, ModelData & model, GeneralSettin TelemetrySensorPanel * panel = new TelemetrySensorPanel(this, model.sensorData[i], model, generalSettings, firmware); ui->sensorsLayout->addWidget(panel); sensorPanels[i] = panel; - connect(panel, SIGNAL(nameModified()), this, SLOT(update())); + connect(panel, SIGNAL(dataModified()), this, SLOT(update())); + connect(panel, SIGNAL(modified()), this, SLOT(onModified())); } } else { @@ -717,14 +728,14 @@ TelemetryPanel::TelemetryPanel(QWidget *parent, ModelData & model, GeneralSettin connect(analogs[0], SIGNAL(modified()), this, SLOT(onAnalogModified())); analogs[1] = new TelemetryAnalog(this, model.frsky.channels[1], model, generalSettings, firmware); ui->A2Layout->addWidget(analogs[1]); - connect(analogs[1], SIGNAL(modified()), this, SLOT(onAnalogModified())); + connect(analogs[1], SIGNAL(modified()), this, SLOT(onModified())); } if (IS_TARANIS(firmware->getBoard())) { - ui->voltsSource->setField(model.frsky.voltsSource); - ui->altitudeSource->setField(model.frsky.altitudeSource); - ui->varioSource->setField(model.frsky.varioSource); - ui->varioCenterSilent->setField(model.frsky.varioCenterSilent); + ui->voltsSource->setField(model.frsky.voltsSource, this); + ui->altitudeSource->setField(model.frsky.altitudeSource, this); + ui->varioSource->setField(model.frsky.varioSource, this); + ui->varioCenterSilent->setField(model.frsky.varioCenterSilent, this); } else { ui->topbarGB->hide(); @@ -749,7 +760,7 @@ TelemetryPanel::~TelemetryPanel() void TelemetryPanel::update() { if (IS_TARANIS(firmware->getBoard())) { - if (model->moduleData[0].protocol == OFF && model->moduleData[1].protocol == PPM) { + if (model->moduleData[0].protocol == PULSES_OFF && model->moduleData[1].protocol == PULSES_PPM) { ui->telemetryProtocol->setEnabled(true); } else { @@ -935,7 +946,7 @@ void TelemetryPanel::on_telemetryProtocol_currentIndexChanged(int index) } } -void TelemetryPanel::onAnalogModified() +void TelemetryPanel::onModified() { emit modified(); } diff --git a/companion/src/modeledit/telemetry.h b/companion/src/modeledit/telemetry.h index cf8b4b992..f0c5705b4 100644 --- a/companion/src/modeledit/telemetry.h +++ b/companion/src/modeledit/telemetry.h @@ -89,7 +89,7 @@ class TelemetrySensorPanel: public ModelPanel void update(); signals: - void nameModified(); + void dataModified(); protected slots: void on_name_editingFinished(); @@ -118,7 +118,7 @@ class TelemetryPanel : public ModelPanel private slots: void on_telemetryProtocol_currentIndexChanged(int index); - void onAnalogModified(); + void onModified(); void on_frskyProtoCB_currentIndexChanged(int index); void on_bladesCount_editingFinished(); void on_rssiAlarm1CB_currentIndexChanged(int index); diff --git a/companion/src/modeledit/telemetry.ui b/companion/src/modeledit/telemetry.ui index 0709dc70d..b365f7f1b 100644 --- a/companion/src/modeledit/telemetry.ui +++ b/companion/src/modeledit/telemetry.ui @@ -62,7 +62,16 @@ false
- + + 4 + + + 4 + + + 4 + + 4 @@ -269,7 +278,16 @@ false - + + 4 + + + 4 + + + 4 + + 4 @@ -294,7 +312,16 @@ false - + + 4 + + + 4 + + + 4 + + 4 @@ -322,7 +349,16 @@ - + + 4 + + + 4 + + + 4 + + 4 @@ -571,7 +607,16 @@ - + + 4 + + + 4 + + + 4 + + 4 @@ -642,7 +687,16 @@ - + + 4 + + + 4 + + + 4 + + 4 @@ -893,7 +947,16 @@ false - + + 4 + + + 4 + + + 4 + + 4 diff --git a/companion/src/modeledit/telemetry_sensor.ui b/companion/src/modeledit/telemetry_sensor.ui index 29746fa7f..046aeb3eb 100644 --- a/companion/src/modeledit/telemetry_sensor.ui +++ b/companion/src/modeledit/telemetry_sensor.ui @@ -272,7 +272,7 @@ - Amps Sensor : + Sensor : @@ -366,82 +366,82 @@ - Voltage (V) + V - Current (A) + A - Current (mA) + mA - Speed (kts) + kt - Speed (m/s) + m/s - Speed (ft/s) + ft/s - Speed (km/h) + km/h - Speed (miles/h) + mph - Meters (m) + m - Feet (ft) + ft - Temp (°C) + °C - Temp (°F) + °F - Percentage (%) + % - Energy (mAh) + mAh - Power (W) + W - RF Power (dBm) + dBm @@ -451,22 +451,22 @@ - Acceleration (g) + g - Heading (°) + ° - Volume (mL) + mL - Volume (US fl.Oz.) + US fl.Oz. diff --git a/companion/src/modelprinter.cpp b/companion/src/modelprinter.cpp index d091422cc..021ecdd02 100644 --- a/companion/src/modelprinter.cpp +++ b/companion/src/modelprinter.cpp @@ -17,9 +17,6 @@ ModelPrinter::ModelPrinter(Firmware * firmware, const GeneralSettings & generalS ModelPrinter::~ModelPrinter() { - foreach(QString filename, curvefiles) { - qunlink(filename); - } } void debugHtml(const QString & html) @@ -108,13 +105,13 @@ QString ModelPrinter::printModuleProtocol(unsigned int protocol) QString ModelPrinter::printModule(int idx) { const ModuleData & module = model.moduleData[idx]; - if (module.protocol == OFF) + if (module.protocol == PULSES_OFF) return printModuleProtocol(module.protocol); - else if (module.protocol == PPM) + else if (module.protocol == PULSES_PPM) return tr("%1, Channels(%2-%3), PPM delay(%4usec), Pulse polarity(%5)").arg(printModuleProtocol(module.protocol)).arg(module.channelsStart+1).arg(module.channelsStart+module.channelsCount).arg(module.ppmDelay).arg(module.polarityToString()); else { QString result = tr("%1, Channels(%2-%3)").arg(printModuleProtocol(module.protocol)).arg(module.channelsStart+1).arg(module.channelsStart+module.channelsCount); - if (module.protocol != PXX_XJT_D8) { + if (module.protocol != PULSES_PXX_XJT_D8) { result += " " + tr("Receiver number(%1)").arg(module.modelId); } return result; @@ -187,7 +184,7 @@ QString ModelPrinter::printTimer(const TimerData & timer) QStringList result; if (firmware->getCapability(TimersName) && timer.name[0]) result += tr("Name(%1)").arg(timer.name); - result += tr("%1:%2").arg(timer.val/60, 2, 10, QChar('0')).arg(timer.val%60, 2, 10, QChar('0')); + result += QString("%1:%2").arg(timer.val/60, 2, 10, QChar('0')).arg(timer.val%60, 2, 10, QChar('0')); result += timer.mode.toString(); if (timer.persistent) result += tr("Persistent"); @@ -327,21 +324,25 @@ QString ModelPrinter::printMixerName(int curDest) return Qt::escape(str); } -QString ModelPrinter::printMixerLine(int idx, int highlightedSource) +QString ModelPrinter::printMixerLine(int idx, bool showMultiplex, int highlightedSource) { - return printMixerLine(model.mixData[idx], highlightedSource); + return printMixerLine(model.mixData[idx], highlightedSource, showMultiplex); } -QString ModelPrinter::printMixerLine(const MixData & mix, int highlightedSource) +QString ModelPrinter::printMixerLine(const MixData & mix, bool showMultiplex, int highlightedSource) { QString str = " "; - switch(mix.mltpx) { - case (1): str += "*"; break; - case (2): str += "R"; break; - default: str += " "; break; - }; - + if (showMultiplex) { + switch(mix.mltpx) { + case (1): str += "*="; break; + case (2): str += ":="; break; + default: str += "+="; break; + } + } + else { + str += "  "; + } // highlight source if needed QString source = Qt::escape(mix.srcRaw.toString(&model)); if ( (mix.srcRaw.type == SOURCE_TYPE_CH) && (mix.srcRaw.index+1 == (int)highlightedSource) ) { @@ -349,30 +350,33 @@ QString ModelPrinter::printMixerLine(const MixData & mix, int highlightedSource) } str += " " + source; - str += " " + Qt::escape(tr("Weight")) + QString("(%1)").arg(getGVarString(mix.weight, true)); + str += " " + Qt::escape(tr("Weight(%1)").arg(getGVarString(mix.weight, true))); QString flightModesStr = printFlightModes(mix.flightModes); - if (!flightModesStr.isEmpty()) str += " " + Qt::escape(flightModesStr); + if (!flightModesStr.isEmpty()) + str += " " + Qt::escape(flightModesStr); - if (mix.swtch.type != SWITCH_TYPE_NONE) { - str += " " + Qt::escape(tr("Switch")) + QString("(%1)").arg(mix.swtch.toString()); - } + if (mix.swtch.type != SWITCH_TYPE_NONE) + str += " " + Qt::escape(tr("Switch(%1)").arg(mix.swtch.toString())); - if (mix.carryTrim>0) str += " " + Qt::escape(tr("NoTrim")); - else if (mix.carryTrim<0) str += " " + RawSource(SOURCE_TYPE_TRIM, (-(mix.carryTrim)-1)).toString(&model); - - if (firmware->getCapability(HasNoExpo) && mix.noExpo) str += " " + Qt::escape(tr("No DR/Expo")); - if (mix.sOffset) str += " " + Qt::escape(tr("Offset") - ) + QString("(%1)").arg(getGVarString(mix.sOffset)); - if (mix.curve.value) str += " " + Qt::escape(mix.curve.toString()); + if (mix.carryTrim > 0) + str += " " + Qt::escape(tr("NoTrim")); + else if (mix.carryTrim < 0) + str += " " + RawSource(SOURCE_TYPE_TRIM, (-(mix.carryTrim)-1)).toString(&model); + if (firmware->getCapability(HasNoExpo) && mix.noExpo) + str += " " + Qt::escape(tr("No DR/Expo")); + if (mix.sOffset) + str += " " + Qt::escape(tr("Offset(%1)").arg(getGVarString(mix.sOffset))); + if (mix.curve.value) + str += " " + Qt::escape(mix.curve.toString()); int scale = firmware->getCapability(SlowScale); if (scale == 0) scale = 1; if (mix.delayDown || mix.delayUp) - str += " " + Qt::escape(tr("Delay")) + QString("(u%1:d%2)").arg((double)mix.delayUp/scale).arg((double)mix.delayDown/scale); + str += " " + Qt::escape(tr("Delay(u%1:d%2)").arg((double)mix.delayUp/scale).arg((double)mix.delayDown/scale)); if (mix.speedDown || mix.speedUp) - str += " " + Qt::escape(tr("Slow")) + QString("(u%1:d%2)").arg((double)mix.speedUp/scale).arg((double)mix.speedDown/scale); + str += " " + Qt::escape(tr("Slow(u%1:d%2)").arg((double)mix.speedUp/scale).arg((double)mix.speedDown/scale)); if (mix.mixWarn) str += " " + Qt::escape(tr("Warn(%1)").arg(mix.mixWarn)); if (firmware->getCapability(HasMixerNames) && mix.name[0]) @@ -613,29 +617,12 @@ void CurveImage::drawCurve(const CurveData & curve, QColor color) } } -void CurveImage::save(const QString & filename) -{ - image.save(filename, "png", 100); -} - -QString ModelPrinter::createCurveImage(int idx) +QString ModelPrinter::createCurveImage(int idx, QTextDocument * document) { CurveImage image; image.drawCurve(model.curves[idx], colors[idx]); - QString filename = generateProcessUniqueTempFileName(QString("curve-%1-%2.png").arg((uint64_t)this).arg(idx)); - image.save(filename); - curvefiles << filename; - return filename; -} - -QString ModelPrinter::createCurvesImage() -{ - CurveImage image; - for (int idx=0; idxgetCapability(NumCurves); idx++) { - image.drawCurve(model.curves[idx], colors[idx]); - } - QString filename = generateProcessUniqueTempFileName(QString("curves-%1.png").arg((uint64_t)this)); - image.save(filename); - curvefiles << filename; - return filename; + QString filename = QString("curve-%1-%2.png").arg((uint64_t)this).arg(idx); + if (document) document->addResource(QTextDocument::ImageResource, QUrl(filename), image.get()); + // qDebug() << "ModelPrinter::createCurveImage()" << idx << filename; + return ":" + filename; } diff --git a/companion/src/modelprinter.h b/companion/src/modelprinter.h index 11a7b712c..6bc7ba114 100644 --- a/companion/src/modelprinter.h +++ b/companion/src/modelprinter.h @@ -4,6 +4,7 @@ #include #include #include +#include #include "eeprominterface.h" QString changeColor(const QString & input, const QString & to, const QString & from = "grey"); @@ -17,7 +18,7 @@ class CurveImage public: CurveImage(); void drawCurve(const CurveData & curve, QColor color); - void save(const QString & filename); + const QImage & get() const { return image; }; protected: int size; @@ -27,6 +28,8 @@ class CurveImage class ModelPrinter: public QObject { + Q_OBJECT + public: ModelPrinter(Firmware * firmware, const GeneralSettings & generalSettings, const ModelData & model); virtual ~ModelPrinter(); @@ -50,21 +53,19 @@ class ModelPrinter: public QObject QString printInputLine(int idx); QString printInputLine(const ExpoData & ed); QString printMixerName(int curDest); - QString printMixerLine(int idx, int highlightedSource = 0); - QString printMixerLine(const MixData & md, int highlightedSource = 0); + QString printMixerLine(int idx, bool showMultiplex, int highlightedSource = 0); + QString printMixerLine(const MixData & md, bool showMultiplex, int highlightedSource = 0); QString printLogicalSwitchLine(int idx); QString printCustomFunctionLine(int idx); static QString printChannelName(int idx); QString printOutputName(int idx); QString printCurve(int idx); - QString createCurvesImage(); - QString createCurveImage(int idx); + QString createCurveImage(int idx, QTextDocument * document); private: Firmware * firmware; const GeneralSettings & generalSettings; const ModelData & model; - QStringList curvefiles; }; diff --git a/companion/src/multimodelprinter.cpp b/companion/src/multimodelprinter.cpp index 4ff6b52dc..c559967f7 100644 --- a/companion/src/multimodelprinter.cpp +++ b/companion/src/multimodelprinter.cpp @@ -122,8 +122,10 @@ void MultiModelPrinter::setModel(int idx, const ModelData & model) modelPrinters[idx] = new ModelPrinter(firmware, defaultSettings, model); } -QString MultiModelPrinter::print() +QString MultiModelPrinter::print(QTextDocument * document) { + if (document) document->clear(); + QString str = ""; str += printSetup(); if (firmware->getCapability(FlightModes)) @@ -131,7 +133,7 @@ QString MultiModelPrinter::print() str += printInputs(); str += printMixers(); str += printLimits(); - str += printCurves(); + str += printCurves(document); if (firmware->getCapability(Gvars) && !firmware->getCapability(GvarsFlightModes)) str += printGvars(); str += printLogicalSwitches(); @@ -357,7 +359,7 @@ QString MultiModelPrinter::printMixers() for (int j=0; j 0) columns.append("
"); - COMPARE((j < model->mixes(i).size()) ? modelPrinter->printMixerLine(*model->mixes(i)[j]) : " "); + COMPARE((j < model->mixes(i).size()) ? modelPrinter->printMixerLine(*model->mixes(i)[j], (j>0)) : " "); } columns.append(""); } @@ -366,7 +368,7 @@ QString MultiModelPrinter::printMixers() return str; } -QString MultiModelPrinter::printCurves() +QString MultiModelPrinter::printCurves(QTextDocument * document) { QString str; MultiColumns columns(models.size()); @@ -385,7 +387,7 @@ QString MultiModelPrinter::printCurves() columns.append("
"); } } diff --git a/companion/src/multimodelprinter.h b/companion/src/multimodelprinter.h index 7f1959bf0..bb85ff371 100644 --- a/companion/src/multimodelprinter.h +++ b/companion/src/multimodelprinter.h @@ -2,17 +2,20 @@ #define _MULTIMODELPRINTER_H #include +#include #include "eeprominterface.h" #include "modelprinter.h" class MultiModelPrinter: public QObject { + Q_OBJECT + public: MultiModelPrinter(Firmware * firmware); virtual ~MultiModelPrinter(); void setModel(int idx, const ModelData & model); - QString print(); + QString print(QTextDocument * document); protected: class MultiColumns { @@ -44,7 +47,7 @@ class MultiModelPrinter: public QObject QString printLimits(); QString printInputs(); QString printMixers(); - QString printCurves(); + QString printCurves(QTextDocument * document); QString printGvars(); QString printLogicalSwitches(); QString printCustomFunctions(); diff --git a/companion/src/printdialog.cpp b/companion/src/printdialog.cpp index aca06aacd..08b9faecc 100644 --- a/companion/src/printdialog.cpp +++ b/companion/src/printdialog.cpp @@ -21,7 +21,7 @@ PrintDialog::PrintDialog(QWidget *parent, Firmware * firmware, GeneralSettings & setWindowIcon(CompanionIcon("print.png")); setWindowTitle(model.name); multimodelprinter.setModel(0, model); - ui->textEdit->setHtml(multimodelprinter.print()); + ui->textEdit->setHtml(multimodelprinter.print(ui->textEdit->document())); if (!printfilename.isEmpty()) { printToFile(); QTimer::singleShot(0, this, SLOT(autoClose())); diff --git a/companion/src/process_copy.cpp b/companion/src/process_copy.cpp old mode 100755 new mode 100644 diff --git a/companion/src/process_copy.h b/companion/src/process_copy.h old mode 100755 new mode 100644 diff --git a/companion/src/process_flash.cpp b/companion/src/process_flash.cpp old mode 100755 new mode 100644 diff --git a/companion/src/process_flash.h b/companion/src/process_flash.h old mode 100755 new mode 100644 diff --git a/companion/src/process_sync.cpp b/companion/src/process_sync.cpp old mode 100755 new mode 100644 diff --git a/companion/src/process_sync.h b/companion/src/process_sync.h old mode 100755 new mode 100644 diff --git a/companion/src/progressdialog.cpp b/companion/src/progressdialog.cpp old mode 100755 new mode 100644 diff --git a/companion/src/progressdialog.h b/companion/src/progressdialog.h old mode 100755 new mode 100644 diff --git a/companion/src/progressdialog.ui b/companion/src/progressdialog.ui old mode 100755 new mode 100644 diff --git a/companion/src/progresswidget.cpp b/companion/src/progresswidget.cpp old mode 100755 new mode 100644 diff --git a/companion/src/progresswidget.h b/companion/src/progresswidget.h old mode 100755 new mode 100644 diff --git a/companion/src/progresswidget.ui b/companion/src/progresswidget.ui old mode 100755 new mode 100644 diff --git a/companion/src/radiointerface.cpp b/companion/src/radiointerface.cpp old mode 100755 new mode 100644 diff --git a/companion/src/radiointerface.h b/companion/src/radiointerface.h old mode 100755 new mode 100644 diff --git a/companion/src/releasenotesdialog.cpp b/companion/src/releasenotesdialog.cpp old mode 100755 new mode 100644 diff --git a/companion/src/releasenotesdialog.h b/companion/src/releasenotesdialog.h old mode 100755 new mode 100644 diff --git a/companion/src/releasenotesfirmwaredialog.cpp b/companion/src/releasenotesfirmwaredialog.cpp old mode 100755 new mode 100644 diff --git a/companion/src/releasenotesfirmwaredialog.h b/companion/src/releasenotesfirmwaredialog.h old mode 100755 new mode 100644 diff --git a/companion/src/shared/autolineedit.h b/companion/src/shared/autolineedit.h old mode 100755 new mode 100644 diff --git a/companion/src/simulation/telemetrysimu.cpp b/companion/src/simulation/telemetrysimu.cpp index e435fe634..4d57f54c9 100644 --- a/companion/src/simulation/telemetrysimu.cpp +++ b/companion/src/simulation/telemetrysimu.cpp @@ -68,128 +68,128 @@ void TelemetrySimulator::generateTelemetryFrame() switch(item++) { case 0: if (ui->Rssi->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, RSSI_ID, LIMIT(0, ui->Rssi->text().toInt(&ok, 0), 0xFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, RSSI_ID, LIMIT(0, ui->Rssi->text().toInt(&ok, 0), 0xFF)); break; case 1: #if defined(XJT_VERSION_ID) - generateSportPacket(buffer, 1, DATA_FRAME, XJT_VERSION_ID, 11); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, XJT_VERSION_ID, 11); #endif break; case 2: if (ui->Swr->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, SWR_ID, LIMIT(0, ui->Swr->text().toInt(&ok, 0), 0xFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, SWR_ID, LIMIT(0, ui->Swr->text().toInt(&ok, 0), 0xFFFF)); break; case 3: if (ui->A1->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, ADC1_ID, LIMIT(0, ui->A1->text().toInt(&ok, 0), 0xFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, ADC1_ID, LIMIT(0, ui->A1->text().toInt(&ok, 0), 0xFF)); break; case 4: if (ui->A2->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, ADC2_ID, LIMIT(0, ui->A2->text().toInt(&ok, 0), 0xFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, ADC2_ID, LIMIT(0, ui->A2->text().toInt(&ok, 0), 0xFF)); break; case 5: if (ui->A3->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, A3_FIRST_ID, LIMIT(0, ui->A3->text().toInt(&ok, 0), 0xFFFFFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, A3_FIRST_ID, LIMIT(0, ui->A3->text().toInt(&ok, 0), 0xFFFFFFFF)); break; case 6: if (ui->A4->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, A4_FIRST_ID, LIMIT(0, ui->A4->text().toInt(&ok, 0), 0xFFFFFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, A4_FIRST_ID, LIMIT(0, ui->A4->text().toInt(&ok, 0), 0xFFFFFFFF)); break; case 7: if (ui->T1->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, T1_FIRST_ID, LIMIT(-0x7FFFFFFF, ui->T1->text().toInt(&ok, 0), 0x7FFFFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, T1_FIRST_ID, LIMIT(-0x7FFFFFFF, ui->T1->text().toInt(&ok, 0), 0x7FFFFFFF)); break; case 8: if (ui->T2->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, T2_FIRST_ID, LIMIT(-0x7FFFFFFF, ui->T2->text().toInt(&ok, 0), 0x7FFFFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, T2_FIRST_ID, LIMIT(-0x7FFFFFFF, ui->T2->text().toInt(&ok, 0), 0x7FFFFFFF)); break; case 9: if (ui->rpm->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, RPM_FIRST_ID, LIMIT(0, ui->rpm->text().toInt(&ok, 0), 0xFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, RPM_FIRST_ID, LIMIT(0, ui->rpm->text().toInt(&ok, 0), 0xFFFF)); break; case 10: if (ui->fuel->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, FUEL_FIRST_ID, LIMIT(0, ui->fuel->text().toInt(&ok, 0), 0xFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, FUEL_FIRST_ID, LIMIT(0, ui->fuel->text().toInt(&ok, 0), 0xFFFF)); break; case 11: if (ui->aspeed->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, AIR_SPEED_FIRST_ID, LIMIT(0, ui->aspeed->text().toInt(&ok, 0), 0xFFFFFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, AIR_SPEED_FIRST_ID, LIMIT(0, ui->aspeed->text().toInt(&ok, 0), 0xFFFFFFFF)); break; case 12: if (ui->vspeed->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, VARIO_FIRST_ID, LIMIT(-0x7FFFFFFF, ui->vspeed->text().toInt(&ok, 0), 0x7FFFFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, VARIO_FIRST_ID, LIMIT(-0x7FFFFFFF, ui->vspeed->text().toInt(&ok, 0), 0x7FFFFFFF)); break; case 13: if (ui->valt->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, ALT_FIRST_ID, LIMIT(-0x7FFFFFFF, ui->valt->text().toInt(&ok, 0), 0x7FFFFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, ALT_FIRST_ID, LIMIT(-0x7FFFFFFF, ui->valt->text().toInt(&ok, 0), 0x7FFFFFFF)); break; case 14: if (ui->accx->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, ACCX_FIRST_ID, LIMIT(-0x7FFFFFFF, ui->accx->text().toInt(&ok, 0), 0x7FFFFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, ACCX_FIRST_ID, LIMIT(-0x7FFFFFFF, ui->accx->text().toInt(&ok, 0), 0x7FFFFFFF)); break; case 15: if (ui->accy->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, ACCY_FIRST_ID, LIMIT(-0x7FFFFFFF, ui->accy->text().toInt(&ok, 0), 0x7FFFFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, ACCY_FIRST_ID, LIMIT(-0x7FFFFFFF, ui->accy->text().toInt(&ok, 0), 0x7FFFFFFF)); break; case 16: if (ui->accz->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, ACCZ_FIRST_ID, LIMIT(-0x7FFFFFFF, ui->accz->text().toInt(&ok, 0), 0x7FFFFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, ACCZ_FIRST_ID, LIMIT(-0x7FFFFFFF, ui->accz->text().toInt(&ok, 0), 0x7FFFFFFF)); break; case 17: if (ui->vfas->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, VFAS_FIRST_ID, LIMIT(0, ui->vfas->text().toInt(&ok, 0), 0xFFFFFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, VFAS_FIRST_ID, LIMIT(0, ui->vfas->text().toInt(&ok, 0), 0xFFFFFFFF)); break; case 18: if (ui->curr->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, CURR_FIRST_ID, LIMIT(0, ui->curr->text().toInt(&ok, 0), 0xFFFFFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, CURR_FIRST_ID, LIMIT(0, ui->curr->text().toInt(&ok, 0), 0xFFFFFFFF)); break; case 19: if (ui->cells->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, CELLS_FIRST_ID, LIMIT(0, ui->cells->text().toInt(&ok, 0), 0xFFFFFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, CELLS_FIRST_ID, LIMIT(0, ui->cells->text().toInt(&ok, 0), 0xFFFFFFFF)); break; case 20: if (ui->gps_alt->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, GPS_ALT_FIRST_ID, LIMIT(-0x7FFFFFFF, ui->gps_alt->text().toInt(&ok, 0), 0x7FFFFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, GPS_ALT_FIRST_ID, LIMIT(-0x7FFFFFFF, ui->gps_alt->text().toInt(&ok, 0), 0x7FFFFFFF)); break; case 21: if (ui->gps_speed->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, GPS_SPEED_FIRST_ID, LIMIT(0, ui->gps_speed->text().toInt(&ok, 0), 0xFFFFFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, GPS_SPEED_FIRST_ID, LIMIT(0, ui->gps_speed->text().toInt(&ok, 0), 0xFFFFFFFF)); break; case 22: if (ui->gps_course->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, GPS_COURS_FIRST_ID, LIMIT(0, ui->gps_course->text().toInt(&ok, 0), 0xFFFFFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, GPS_COURS_FIRST_ID, LIMIT(0, ui->gps_course->text().toInt(&ok, 0), 0xFFFFFFFF)); break; case 23: if (ui->gps_time->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, GPS_TIME_DATE_FIRST_ID, LIMIT(0, ui->gps_time->text().toInt(&ok, 0), 0xFFFFFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, GPS_TIME_DATE_FIRST_ID, LIMIT(0, ui->gps_time->text().toInt(&ok, 0), 0xFFFFFFFF)); break; case 24: if (ui->gps_latlon->text().length()) - generateSportPacket(buffer, 1, DATA_FRAME, GPS_LONG_LATI_FIRST_ID, LIMIT(0, ui->gps_latlon->text().toInt(&ok, 0), 0xFFFFFFFF)); + generateSportPacket(buffer, INSTANCE, DATA_FRAME, GPS_LONG_LATI_FIRST_ID, LIMIT(0, ui->gps_latlon->text().toInt(&ok, 0), 0xFFFFFFFF)); break; default: diff --git a/companion/src/simulation/telemetrysimu.h b/companion/src/simulation/telemetrysimu.h index 22767b026..d1383a2c3 100644 --- a/companion/src/simulation/telemetrysimu.h +++ b/companion/src/simulation/telemetrysimu.h @@ -7,6 +7,8 @@ #include #include "simulatorinterface.h" +#define INSTANCE (ui->Instance->text().toInt(&ok,0) -1) + namespace Ui { class TelemetrySimulator; } diff --git a/companion/src/simulation/telemetrysimu.ui b/companion/src/simulation/telemetrysimu.ui index 5b3705dab..1d9d46521 100644 --- a/companion/src/simulation/telemetrysimu.ui +++ b/companion/src/simulation/telemetrysimu.ui @@ -6,7 +6,7 @@ 0 0 - 278 + 331 384 @@ -326,6 +326,20 @@ + + + + Instance + + + + + + + 2 + + + diff --git a/companion/src/translations/companion_cs.ts b/companion/src/translations/companion_cs.ts index a5b85e350..dd2a5dbd1 100644 --- a/companion/src/translations/companion_cs.ts +++ b/companion/src/translations/companion_cs.ts @@ -4,27 +4,27 @@ AileronsPage - + No Ne - + Yes, controlled by a single channel Ano, ovládané jedním kanálem - + Yes, controlled by two channels Ano, ovládané dvěma kanály - + <br>First Aileron Channel: <br>První kanál křidélek: - + Second Aileron Channel: <br>Druhý kanál křidélek: @@ -32,27 +32,27 @@ AirbrakesPage - + No Ne - + Yes, controlled by a single channel Ano, ovládané jedním kanálem - + Yes, controlled by two channels Ano, ovládané dvěma kanály - + <br>First Airbrake Channel: <br>První kanál brzdících klapek: - + Second Airbrake Channel: <br>Druhý kanál brzdících klapek: @@ -74,7 +74,7 @@ - + Open Folder Vybrat složku @@ -103,10 +103,6 @@ Select Image Vybrat obrázek - - Processor ID - ID procesoru - Mode selection: @@ -322,15 +318,15 @@ Mode 4: Use OpenTX firmware nightly builds - + Používat noční sestavení firmwaru OpenTX Use Companion nightly builds - + Používat noční sestavení Companion - + Simulator Volume Gain Zisk hlasitosti simulátoru @@ -371,10 +367,6 @@ May be different from firmware language Vyberte jazykovou verzi hlasu tts(voice). Může být jiná než verze firmwaru - - Radio Firmware - Firmware rádia - Other Settings @@ -390,12 +382,6 @@ Může být jiná než verze firmwaru SD Structure path Cesta k obsahu SD karty - - Set language of voice. -May be different from firmware language - Vyberte jazykovou verzi hlasu tts(voice). -Může být jiná než verze firmwaru - Voice Language @@ -478,62 +464,62 @@ Může být jiná než verze firmwaru Nastavení simulátoru - + Simulator BackLight Barva podsvětlení Simu - + Enable Povolit - + Blue Modrá - + Green Zelená - + Red Červená - + Orange Oranžová - + Yellow Žlutá - + Joystick - + Calibrate Kalibrovat - + Simulator capture folder Složka pro snímky obrazovky Simu - + Only capture to clipboard Kopírovat pouze do schránky - + Remember simulator switch values Pamatovat si polohy přepínačů v simulátoru @@ -548,87 +534,68 @@ Může být jiná než verze firmwaru Vyberat složku pro snímky obrazovky simulátoru - - + + No joysticks found Joystick nenalezen - + EMPTY: No radio settings stored in profile PRÁZDNÉ: V profilu nejsou uložena žádná nastavení rádia - + AVAILABLE: Radio settings of unknown age DOSTUPNÉ: Nastavení rádia jsou neznámého stáří - + AVAILABLE: Radio settings stored %1 DOSTUPNÉ: Nastavení rádia jsou uložena %1 - + Select your library folder Vyberat složkus s logy - - + + Select your Models and Settings backup folder Zvolit složku pro automatické zálohy modelů a nastavení - + Select Google Earth executable Zvolit spustitelnou binárku aplikace Google Earth - + Select the folder replicating your SD structure Vyberat složku která představuje obsah SD karty rádia - + Not possible to remove profile Není možné odebrat profil - + The default profile can not be removed. Výchozí profil nemůže být odstraněn. - + Open Image to load Otevřít soubor s logem - + Images (%1) Obrázky (%1) - - BankPage - - One - Jedním - - - Two - Dvěma - - - <br>First Elevon Channel: - <br>První kanál elevonů: - - - Second Elevon Channel: - <br>Druhý kanál elevonů: - - Calibration @@ -805,11 +772,6 @@ Může být jiná než verze firmwaru Stick 4 Páka 4 - - - Battery - Baterie - v @@ -830,10 +792,15 @@ Může být jiná než verze firmwaru PPM 4 + + + Battery Offset + Ofset baterie + - Current - Proud + Current Offset + Ofset proudu @@ -943,7 +910,7 @@ Může být jiná než verze firmwaru Bluetooth - + @@ -1082,465 +1049,17 @@ Může být jiná než verze firmwaru Tisk do souboru - + No name Model nepojmenován - - General Model Settings - Obecná nastavení modelu - - - - - - Name - Název - - - - - EEprom Size - Velikost EEPROM - - - - - Timer1 - Stopky1 - - - - - Timer2 - Stopky2 - - - - - Internal Radio System - Interní vysílací modul - - - - - Radio System - Vysílací modul - - - - - - - Protocol - Protokol - - - Pulse Polarity - Polarita pulzů - - - - - Throttle Trim - Trim volnoběhu plynu - - - - - Enabled - Povoleno - - - - - Disabled - Zakázáno - - - Throttle Expo - Expo plynu - - - - - External Radio Module - Externí vysílací modul - - - - - Extra Radio System - Extra modul - - - - - Trainer port mode - Mód portu trenér - - - - - Trim Increment - Krok trimu - - - - - Center Beep - Zvuk ve středové poloze - - - - Flight modes Settings - Nastavení letových fází - - - - - Fades - Přechody - - - - - Trims - Trimy - - - - - Switch - Spínač - - - - - - - Flight mode name - Název režimu - - - - - IN - (+) - - - - - OUT - (-) - - - - - - - - - - - - - FM - LR - - - - - Gvars - GP - - - - - Rot. Enc. - Rot.Enkoder - - - - Limits - Limity - - - - - - - - Offset - Subtrim - - - - - - - - Min - - - - - - - - - Max - - - - - - - Invert - Invertovat - - - - - - - - CH - - - - - - INV - - - - - - NOR - --- - - - - Global Variables - Globální proměnné - - - - - GV - GP - - - - Inputs - Vstupy(DR/Expo) - - - Expo/Dr Settings - DR/Expo - - - Weight - Váha - - - Flight modes - Letové režimy - - - Flight mode - Letový režim - - - DISABLED - ZAKÁZÁN - - - - Mixers - Mixy - - - noTrim - Žádný trim - - - Delay(u%1:d%2) - Zpoždění(u%1:d%2) - - - Slow(u%1:d%2) - Zpomalení(u%1:d%2) - - - Warn - Varování - - - - Curves - Křivky - - - 5 Point Curves - 5ti bodové křivky - - - pt %1 - bod %1 - - - - - Curve - Křivka - - - 9 Point Curves - 9ti bodové křivky - - - - Logical Switches - Logické spínače - - - - L - - - - - Special Functions - Speciální funkce - - - Function - Funkce - - - Param - Parametr - - - Repeat - Opakování - - - Enable - Povolit - - - - SF - - - - - Telemetry Settings - Nastavení telemetrie - - - - - Analog - - - - - - Unit - Jednotky - - - - - Scale - Měřítko - - - - - - - A%1 - - - - - - Alarm 1 - - - - - - Alarm 2 - - - - - - - - Type - Typ - - - - - - - Condition - Podmínka - - - - - - - Value - Hodnota - - - - - RSSI Alarm - - - - - - Custom Telemetry View - Vlastní zobrazení telemetrie - - - - - Telemetry Bars - Telemetrické ukazatele - - - - - Bar Number - Číslo ukazatele - - - - - Source - Zdroj - - - + Print Document Vytisknout dokument - + Select PDF output file Vyberte cílový PDF soubor @@ -1548,7 +1067,7 @@ Může být jiná než verze firmwaru ConclusionPage - + OK, I understand. OK, rozuměl jsem. @@ -1558,43 +1077,43 @@ Může být jiná než verze firmwaru OpenTX Contributors - + Přispěvatelé OpenTX Main Developers - + Vývojáři Other contributors - + Ostatní přispěvatelé Companies and projects who have donated to OpenTX - + Společnosti a projekty které přispěly OpenTx People who have donated to OpenTX - + Lidé kteří přispěli projektu OpenTx Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) - Speciální poděkování patří Rafalu Tomczakovi (RadioClone), + Speciální poděkování patří Rafalu Tomczakovi (RadioClone), Thomasi Hustererovi (th9x) a také Erazovi Ravivovi(er9x a eePe) - - Thank you all !!! - Děkujeme vám všem !!! + + OpenTX Blacklist + - + monthly - + měsíčně @@ -1625,36 +1144,28 @@ Thomasi Hustererovi (th9x) a také Erazovi Ravivovi(er9x a eePe) CurveGroup - + Diff Diferenciace - + Expo Exponenciála - + Func Funkce - + Curve Křivka Curves - - Standard - Rastr-X - - - Custom - Volná-XY - Fixed X @@ -1796,10 +1307,6 @@ Thomasi Hustererovi (th9x) a také Erazovi Ravivovi(er9x a eePe) Are you sure you want to reset all curves? Opravdu chcete vymazat všechny křivky? - - Are you sure you want to reset curve %1 ? - Opravdu chcete vymazat křivku %1 ? - Editing curve %1 @@ -1860,42 +1367,42 @@ Thomasi Hustererovi (th9x) a také Erazovi Ravivovi(er9x a eePe) Nemohu nalézt zvukový soubor %1! - + &Delete &Odstranit - + Delete - + &Copy &Kopírovat - + Ctrl+C - + &Cut V&yjmout - + Ctrl+X - + &Paste &Vložit - + Ctrl+V @@ -1903,22 +1410,22 @@ Thomasi Hustererovi (th9x) a také Erazovi Ravivovi(er9x a eePe) CyclicPage - + 90 - + 120 - + 120x - + 140 @@ -1931,236 +1438,110 @@ Thomasi Hustererovi (th9x) a také Erazovi Ravivovi(er9x a eePe) + + EepromInterface + + + Possible causes for this: + + + + + - Eeprom is from a newer version of OpenTX + + + + + - Eeprom is not from OpenTX + + + + + - Eeprom is not from Th9X + + + + + - Eeprom is not from Gruvin9X + + + + + - Eeprom is not from ErSky9X + + + + + - Eeprom is not from Er9X + + + + + - Eeprom size is invalid + + + + + - Eeprom file system is invalid + + + + + - Eeprom is from a unknown board + + + + + - Eeprom is from the wrong board + + + + + - Eeprom backup not supported + + + + + - Something that couldn't be guessed, sorry + + + + + Warning: + + + + + + - Your radio probably uses a wrong firmware, + eeprom size is 4096 but only the first 2048 are used + + + + + - Your eeprom is from an old version of OpenTX, upgrading! + You should 'save as' to keep the old file as a backup. + + + + + Warnings! + + + ElevonsPage - + <br>First Elevon Channel: <br>První kanál elevonů: - + Second Elevon Channel: <br>Druhý kanál elevonů: - - Er9x::Templates - - - Simple 4-CH - - - - - T-Cut - - - - - Sticky T-Cut - - - - - V-Tail - Ocas typu V - - - - Elevon\Delta - - - - - Heli Setup - - - - - Heli Setup with gyro gain control - - - - - Gyro gain control - - - - - Heli Setup (Futaba's channel assignment style) - - - - - Heli Setup with gyro gain control (Futaba's channel assignment style) - - - - - Gyro gain control (Futaba's channel assignment style) - - - - - Servo Test - - - - - MultiCopter - - - - - Use Model Config Wizard - - - - - Apply Template? - - - - - Apply template "%1"? - - - - - - - - - - - RUD - - - - - - - - - - - - - - ELE - - - - - - - THR - - - - - - - - - - - - AIL - - - - - - - - AIL2 - - - - - - - - ELE2 - - - - - - - - - - FLAPS - - - - - - - - - - FLAP%1 - - - - - - - - PITCH - - - - - - - - - - - - GYRO - - - - - - SPOIL - - - - - - SPOIL%1 - - - - - - RUD2 - - - - - - Clear Mixes? - Vymazat mixy? - - - - Really clear existing mixes on CH6? - - - - - Really clear existing mixes on CH5? - - - ExpoDialog @@ -2205,36 +1586,6 @@ Thomasi Hustererovi (th9x) a také Erazovi Ravivovi(er9x a eePe) Switch Spínač - - Switch used by the input. -If blank then the input is considered to be "ON" all the time. - Spínač aktivující tento vstup. -Pokud není použito, vstup je AKTIVNÍ stále. - - - <!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;">Zpoždění a zpomalení</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;">Tyto volby nastavují rychlost a zpoždění výstupu mixu. </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;">Pokud je nastaveno zpoždění, ovládání mixu bude zpoždéno o uvedený počet sekund.</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;">Pokud je nastaveno zpomalení, nastavená hodnota udává rychlost mixu -&gt; hodnota udává počet sekund které trvá změna hodnoty z -100 na 100.</p></body></html> - Scale @@ -2255,10 +1606,6 @@ p, li { white-space: pre-wrap; } Yes Ano - - The curve used by the input - Křivka použitá vstupem - Source @@ -2311,46 +1658,26 @@ Pokud není použito, vstup je AKTIVNÍ stále. Edit %1 Upravit %1 - - - Rud - Směrovka - - - - Ele - Výškovka - - - - Thr - Plyn - - - - Ail - Křidélka - FblPage - + Throttle Channel: Kanál plynu: - + Yaw Channel: Kanál bočení: - + Pitch Channel: Kanál klopení: - + Roll Channel: Kanál klonění: @@ -2372,12 +1699,6 @@ Pokud není použito, vstup je AKTIVNÍ stále. Voice Hlas tts - - Set language of voice. -May be different from firmware language - Vyberte jazykovou verzi hlasu tts(voice). -Může být jiná než verze firmwaru - Set voice language. @@ -2409,27 +1730,27 @@ Může být jiná než verze firmwaru FlapsPage - + No Ne - + Yes, controlled by a single channel Ano, ovládané jedním kanálem - + Yes, controlled by two channels Ano, ovládané dvěma kanály - + <br>First Flap Channel: <br>První kanál klapek: - + Second Flap Channel: <br>Druhý kanál klapek: @@ -2438,7 +1759,7 @@ Může být jiná než verze firmwaru FlashEEpromDialog - + Write Models and Settings to Radio Zapsat modely a nastavení do rádia @@ -2512,14 +1833,14 @@ Může být jiná než verze firmwaru - - - - - - - - + + + + + + + + Error Chyba @@ -2531,75 +1852,75 @@ Může být jiná než verze firmwaru - + Error opening file %1: %2. Chyba při otevírání souboru %1: %2. - - + + Invalid Models and Settings File %1 Neplatný soubor modelů a nastavení %1 - + Error reading file %1: %2. Chyba při otevírání souboru %1: %2. - + Invalid Models and Settings file %1 Neplatný soubor modelů a nastavení %1 - - - - + + + + Warning Pozor - + Wrong radio calibration data in profile, Settings not patched Profil neobsahuje platná kalibrační data, nastavení nebyla upravena - + Wrong radio setting data in profile, Settings not patched Profil neobsahuje platná data nastavení rádia, nastavení nebyla upravena - - + + Cannot write file %1: %2. Nelze zapsat soubor %1: %2. - + Error writing file %1: %2. Chyba při zápisu souboru %1: %2. - + The radio firmware belongs to another product family, check file and preferences! Firmware rádia je z jiné rodiny produktů , zkontrolujte nastavení předvoleb! - + The radio firmware is outdated, please upgrade! Firmware rádia je zastaralý, aktualizujte ho prosím! - + Cannot check Models and Settings compatibility! Continue anyway? Nelze ověřit kompatibilitu dat modelů a nastavení! Chcete přesto pokračovat? @@ -2683,8 +2004,8 @@ Může být jiná než verze firmwaru - - + + Warning Pozor @@ -2738,58 +2059,58 @@ Může být jiná než verze firmwaru Nelze načíst obrázek z knihovny - + Splash image not found Obrázek loga nebyl nalezen - + Cannot save customized firmware Nelze uložit upravený firmware - + Write Firmware to Radio Zapsat firmware do rádia - - + + Firmware check failed Kontrola firmwaru selhala - + Could not check firmware from radio Nelze ověřit firmware v rádiu - + New firmware is not compatible with the one currently installed! Nový firmware není kompatibilní s verzí instalovanou v rádiu! - + Conversion failed Převod selhal - + Cannot convert Models and Settings for use with this firmware, original data will be used Nemohu převést modely a nastavení pro použití s tímto firmwarem, budou použita původní data - + Restore failed Obnovení selhalo - + Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 Nelze obnovit modely a nastavení rádia. Data modelů a nastavení naleznete v %1 - + Flashing done Zápis firmware je dokončen @@ -2915,98 +2236,39 @@ Prosím, použijte program Zadig pro správnou instalaci ovladače.Switch Spínač - - Rud - Směrovka - - - Ele - Výškovka - - - Thr - Plyn - - - Ail - Křidélka - - - Rotary Encoder %1 - Otočný enkodér %1 - - - GVAR%1 - GP%1 - - - Popup enabled - Vyskakovací okno povoleno - FlightModePanel - - Rud - Směrovka - - - - Ele - Výškovka - - - - Thr - Plyn - - - - Ail - Křidélka - - - + Rotary Encoder %1 Otočný enkodér %1 - + GVAR%1 GP%1 - + Popup enabled Vyskakovací okno povoleno - - FlightModes - - Flight Mode %1 - Letový režim %1 - - - (default) - (výchozí) - - FlightModesPanel - + Flight Mode %1 Letový režim %1 - + (%1) - + (default) (výchozí) @@ -3014,17 +2276,17 @@ Prosím, použijte program Zadig pro správnou instalaci ovladače. FlybarSelectionPage - + Has Flybar Má stabilizátor(Flybar) - + Flybarless Bez stabilizátoru (Flybarless) - + Flybar: Stabilizátor: @@ -3170,655 +2432,11 @@ Tyto volby jsou platné pro všechny modely v jedné EEPROM. Setup Nastevní - - Contrast - Kontrast - - - Channel Order (For Templates) - Pořadí kanálů (pro šablony) - - - 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 - - - Výběr módu: - -Mode 1: - Levá páka : Výškovka, Směrovka - Pravá páka: Plyn, Křidélka - -Mode 2: - Levá páka : Plyn, Směrovka - Pravá páka: Výškovka, Křidélka - -Mode 3: - Levá páka : Výškovka, Křidélka - Pravá páka: Plyn, Směrovka - -Mode 4: - Levá páka : Plyn, Křidélka - Pravá páka: Výškovka, Směrovka - - - - - Mode 1 (RUD ELE THR AIL) - Mód1 (Směr.Výšk.Plyn.Křid) - - - Mode 2 (RUD THR ELE AIL) - Mód2 (Směr.Plyn.Výšk.Křid) - - - Mode 3 (AIL ELE THR RUD) - Mód3 (Křid.Výšk.Plyn.Směr) - - - Mode 4 (AIL THR ELE RUD) - Mód4 (Křid.Plyn.Výšk.Směr) - - - Quiet - Tichý - - - Only Alarms - Jen alarm - - - No Keys - Bez kláves - - - All - Vše - - - If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. - Pokud tato hodnota není nula, každé stisknutí klávesy zapne podsvétlení a vypne ho až po uplynutí nastaveného počtu sekund. - - - sec - s - - - 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. - Hlasitost Bzučáku - -0 - Tichý. No beeps at all. -1 - Bez kláves. Normal beeps but menu keys do not beep. -2 - Normální. -3 - Hlasitý. -4 - Extra Hlasitý. - - - Alarms Only - Jen alarmy - - - Beeper Mode - Mód zvuku - - - Off - Vypnuto - - - X-Short - Extra krátký - - - Short - Krátký - - - Normal - Normální - - - Long - Dlouhý - - - X-Long - Extra dlouhý - - - Battery warning voltage. -This is the threashhold where the battery warning sounds. - -Acceptable values are 5v..10v - Hodnoto pro varování při nízkém stavu baterie rádia. -Použitelné hodnoty jsou 5v..10v - - - Battery Warning - Alarm baterie - - - Sound Mode - Mód zvuku - - - If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes. - Pokud není nastaveno na nulu, bude zapnuto zvukové upozornění, že jste rádio nechali bez povšimnutí nastavený počet minut. - - - Show splash screen on startup - Zobrazit úvodní logo při zapnutí vysílčky - - - Show Splash Screen on Startup - Zobrazit úvodní logo - - - Inactivity Timer - Časovač nečinnosti - - - Beeper - Bzučák - - - Speaker - Reproduktor - - - BeeperVoice - Bzučák+Hlas - - - SpeakerVoice - Repro+Hlas - - - Beeper Length - Délka zvuku - - - GPS Coordinates - Souřadnice GPS - - - Timeshift from UTC - Časový posun od UTC - - - Channel order - -This is used by the templated to determine which channel goes to what number output. - Pořadí kanálů - -Toto je použito šablonami k určení -který kanál patří ke kterému výstupu. - - - Speaker Pitch (spkr only) - Tón zvuku (pouze spkr) - - - Haptic Mode - Mód vibrací - - - Stick Mode - Výchozí mód vysílačky - - - LCD Display Type - Typ LCD zobrazovače - - - Standard - Běžný - - - This is the switch selectrion for turning on the backlight (if installed). - - - Toto je volba spínače který zapne podsvětlení (pokud je nainstalováno). - - - Speaker Volume - Hlasitost reproduktoru - - - Haptic Length - Délka vibrací - - - Haptic Strength - Síla vibrací - - - BackLight Brightness - Jas podsvětlení - - - BackLight Auto OFF after - Auto. vypnutí podsvětlení po - - - RotEnc Navigation - Navigace otočným enkodérem - - - BackLight Switch - Spínač podsvětlení - - - Country Code - Kód země - - - Europe - Evropa - - - Japan - Japonsko - - - America - Amerika - - - Metric - Metrické - - - Imperial - Imperiální - - - Measurement Units - Měrné jednotky - - - Voice Language - Jazyk hlasových zpráv - - - Beep volume - Upozornění - - - Wav volume - Wav soubor - - - Vario volume - Vario - - - Background volume - Zvuk v pozadí - - - FAI Mode - FAI mód - - - If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. - FAI je soutéžní mód (www.fai.org), zablokuje vario, zobrazení telemetrie a funkce hlasového hlášení. Tuto funkci nelze vypnout v menu rádia. - - - R E T A - S V P K - - - Color 1 - Barva 1 - - - Color 2 - Barva 2 - - - Vario pitch at zero - Tón varia na nule - - - Backlight Brightness - Jas podsvětlení - - - Backlight Auto OFF after - Auto. vypnutí podsvětlení po - - - Backlight color - Barva podsvětlení - - - Backlight Switch - Spínač podsvětlení - - - Stick reverse (order as above) - Revers kniplů (pořadí jako mód) - - - R E A T - S V K P - - - R T E A - S P V K - - - R T A E - S P K V - - - R A E T - S K V P - - - R A T E - S K P V - - - E R T A - V S P K - - - E R A T - V S K P - - - E T R A - V P S K - - - E T A R - V P K S - - - E A R T - V K S P - - - E A T R - V K P S - - - T R E A - P S V K - - - T R A E - P S K V - - - T E R A - P V S K - - - T E A R - P V K S - - - T A R E - P K S V - - - T A E R - P K V S - - - A R E T - K S V P - - - A R T E - K S P V - - - A E R T - K V S P - - - A E T R - K V P S - - - A T R E - K P S V - - - A T E R - K P V S - - - Default Channel Order - Výchozí pořadí kanálů - - - <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> - <html><head/><body><p>Pořadí kanálů</p><p><br/></p><p>Definuje výchozí pořadí kanálů použité při vytvoření nového modelu.</p></body></html> - - - Stick reverse - Revers os kniplů - - - "No Sound" Warning - Upozornění na vypnutý zvuk - - - Low Memory Warning - Upozornit na nedostatek paměti - - - Vario pitch at max - Tón varia na maximu - - - Vario repeat at zero - Opakování varia na nule - - - Play Delay (switch mid position) - Přechod střední polohy přepínače - - - Backlight flash on alarm - Blik. podsvětlením při alarmu - Trainer Trenér - - Mode - Mód - - - Input - Vstup - - - Weight - Váha - - - Stick 3 - Páka 3 - - - Stick 1 - Páka 1 - - - Stick 2 - Páka 2 - - - Stick 4 - Páka 4 - - - Pot with detent (normal) - Pot s aretací (normální) - - - Pot without detent - Pot bez aretace - - - S3 Type - Typ S3 - - - OFF - VYP - - - Serial Port - Seriový port - - - chn1 - Kanál 1 - - - Rud - Směrovka - - - chn2 - Kanál 2 - - - chn3 - Kanál 3 - - - chn4 - Kanál 4 - - - Ele - Výškovka - - - Thr - Plyn - - - Ail - Křidélka - - - Calibration - Kalibrace - - - STICK 3 - PÁKA 3 - - - Negative span - Negativní - - - Mid value - Střed - - - Positive span - Pozitivní - - - STICK 1 - PÁKA 1 - - - STICK 2 - PÁKA 2 - - - STICK 4 - PÁKA 4 - - - None - Žádný - - - Pot (normal) - Potenciometr (klasický) - - - Multipos Switch - Vícepolohový přepínač - - - S1 Type - Typ S1 - - - S2 Type - Typ S2 - - - += (Sum) - += (Sečíst) - - - := (Replace) - := (Nahradit) - - - Battery - Baterie - - - v - V - - - PPM Multiplier - PPM Násobič - - - Current - Proud - - - 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 ? - FAI je mód pro soutěže s omezením funkcí telemetrie. -Pokud aktivujete FAI, zablokujete vario, zobrazení telemetrie a funkce hlasového hlášení. -Tuto funkci nelze vypnout v menu rádia. -Opravdu to takto chcete ? - Global Functions @@ -4018,7 +2636,7 @@ Opravdu to takto chcete ? SpeakerVoice - Repro+Hlas + Repro+Hlas @@ -4334,7 +2952,7 @@ Mode 4: v - V + V @@ -4654,17 +3272,17 @@ Opravdu to takto chcete ? GyroPage - + No Ne - + Yes, controled by a switch Ano, ovládané spínačem - + Yes, controlled by a pot Ano, ovládané potenciomerem @@ -4686,19 +3304,11 @@ Opravdu to takto chcete ? Invert Collective Invertovat kolektiv - - Elevator - Výškovka - Invert Invertovat - - Aileron - Křidélka - Off @@ -4753,22 +3363,22 @@ Opravdu to takto chcete ? HeliPage - + Throttle Channel: Kanál plynu: - + Yaw Channel: Kanál bočení: - + Pitch Channel: Kanál klopení: - + Roll Channel: Kanál klonění: @@ -4800,39 +3410,11 @@ Opravdu to takto chcete ? Ctrl+Down Ctrl+Dolů - - Clear All Settings - Vymazat všechny vstupy - Clear All Inputs Vymazat všechny vstupy - - Source(%1) - Zdroj(%1) - - - No Trim - Žádný trim - - - Weight(%1) - Váha(%1) - - - Offset(%1) - Ofset(%1) - - - NoTrim - Žádný trim - - - Switch(%1) - Spínač(%1) - Not enough available inputs! @@ -5018,52 +3600,52 @@ Opravdu to takto chcete ? Companion Log Viewer - Prohlížeč logu + Prohlížeč logu Filename - Soubor + Soubor Open LogFile - Otevřít + Otevřít Zoom - + X - + Y - + Reset - + Fly sessions - Lety + Lety Telemetry logs - Logy telemetrie + Logy telemetrie Time (hh:mm:ss) - Čas + Čas (hh:mm:ss) @@ -5169,9 +3751,9 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt MainWindow - - - + + + File loaded Soubor byl načten @@ -5181,426 +3763,249 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt Chcete zobrazit předchozí upozornění i příště ? - + Checking for updates Kontroluji aktualizace - + Unable to check for updates. Nelze ověřit aktualizace. - - - + + + Save As Uložit jako - + Executable (*.exe) Spustitelný (*.exe) - + New release available Je dostupné nové vydání - - + + No updates available at this time. Žádné aktualizace nejsou nyní dostupné. - + Would you like to launch the installer? Chcete spustit instalátor? - - + + Error Chyba - + Error opening file %1: %2. Chyba při otevírání souboru %1: %2. - Firmware does not longer fit in the radio, due to selected firmware options - Firmware se zvolenými vlastnostmi se již nevejde do rádia - - - Firmware does not fit in the radio, due to selected firmware options - Firmware se zvolenými vlastnostmi nevejde do rádia - - - + Compilation server termporary failure, try later Server companion je dočasně nedostupný, zkuste to později - Display previous message again at startup ? - Chcete zobrazit předchozí zprávu i příště ? - - - + A new release of Companion is available, please check the OpenTX website! Je dostupná nová verze Companion, prosím navštivte internetové stránky OpenTX! - + Not enough memory for all the selected firmware options Není dostatek paměti pro všechny zvolené vlastnosti firmwaru - Compilation server temporary failure, try later - Dočasná chyba kompilačního serveru, zkuste to prosím později znovu - - - + Compilation server too busy, try later Server companion je zaneprázdněn, zkuste to později - + Unknown server failure, try later Neznámá chyba serveru, zkuste to později - + Do you want to write the firmware to the radio now ? Chcete zapsat firmware do rádia nyní? - Firmware %1 does not seem to have ever been downloaded. -Version %2 is available. -Do you want to download it now ? - Vypadá to že firmware %1 ještě nebyl stažen. -Verze %2 je dostupná. -Chcete ho nyní stáhnout ? - - - - + + Yes Ano - - + + No Ne - - + + Release Notes Poznámky k vydání - - + + Do you want to download release %1 now ? Chcete nyní stáhnout vydání %1 ? - A new version of %1 firmware is available (current %2 - newer %3). -Do you want to download it now ? - Nová verze firmware %1 je dostupná. -(stávající %2 - nová %3) -Chcete ji stáhnout nyní ? - - - Ignore this version (r%1)? - Ignorovat tuto verzi (r%1)? - - - Release notes contain very important informations. Do you want to see them now ? - Poznámky k vydání mohou obsahovat důležité informace. Chcete si je přečíst nyní ? - - - - + + File saved Soubor byl uložen - + Firmware updates Aktualizace firmwaru - + Current firmware does not provide release notes informations. K tomuto firmwaru nejsou poznámky k vydání. - Cannot write file %1: -%2. - Nelze zapsat soubor %1: -%2. - - - Backup is impossible - Není možné zálohovat - - - The backup dir set in preferences does not exist - Složka pro zálohování zvolená v předvolbách neexistuje - - - Warning - Varování - - - Conversion failed - Porovnání selhalo - - - Restore failed - Zápis selhal - - - Backup failed - Zálohování selhalo - - - + A new version of Companion is available (version %1)<br>Would you like to download it? Je dostupná nová verze Companion (verze %1)<br>Chcete ji nyní stáhnout? - + Compilation server requires registration, please check OpenTX web site Kompilační server vyžaduje registraci, prosím navštivte internetové stránky OpenTX - Firmware %1 does not seem to have ever been downloaded. -Release %2 is available. -Do you want to download it now? - Vypadá to že firmware %1 ještě nebyl stažen. -Verze %2 je dostupná. -Chcete ho stáhnout nyní? - - - Do you want to download release %1 %2 now ? - Chcete nyní stáhnout vydání %1 %2 ? - - - A new version of %1 firmware is available: - - current is %2 - - newer is %3 - -Do you want to download it now ? - Nová verze firmware %1 je dostupná. - - stávající %2 - - nová je %3 - -Chcete ji stáhnout nyní ? - - - + Ignore this release %1? Ignorovat tuto verzi %1? - + The selected language will be used the next time you start Companion. Zvolený jazyk bude použit při příštím spuštění Companion. - + The new theme will be loaded the next time you start Companion. Nové téma bude použito při příštím spuštění Companion. - + The icon size will be used the next time you start Companion. Zvolená velikost ikon bude použita při příštím spuštění Companion. - Could not delete temporary file: %1 - Nelze odstarnit dočasný soubor: %1 - - - The file %1 -has not been recognized as a valid Models and Settings file -Write anyway ? - Vypadá to že soubor %1 -neobsahuje platná data modelů a nastavení -Chcete ho přesto zapsat ? - - - Cannot check Models and Settings compatibility! Continue anyway? - Nelze ověřit kompatibilitu dat modelů a nastavení! Chcete přesto pokračovat? - - - Cannot convert Models and Settings for use with this firmware, original data will be used - Nemohu konvertovat modely a nastavení pro použití s tímto firmwarem, budou použita původní data - - - Firmware write failed - Zápis firmware selhal - - - + The OpenTX Companion project was originally forked from <a href='%1'>eePe</a> Projekt OpenTX Companion vznikl oddělením z <a href='%1'>eePe</a> - + Load backup from file Načíst zálohu ze souboru - A new release of Companion is available please check the OpenTX website! - Je dostupná nová verze Companion, prosím navštivte internetové stránky OpenTX! - - - - + + Open Models and Settings file Otevřít soubor modelů a nastavení - + Read Models and Settings From Radio Načíst modely a nastavení z rádia - Write Radio Backup from %1 to the radio? - Zapsat zálohu z %1 do rádia? - - - Backup Models and Settings From Radio - Zálohovat modely a nastavení z rádia - - - The radio firmware belongs to another product family, check file and preferences! - Firmware rádia je z jiné rodiny produktů , zkontrolujte nastavení předvoleb! - - - The radio firmware is outdated, please upgrade! - Firmware rádia je zastaralý, aktualizujte ho prosím! - - - Write Backup To Radio - Zapsat zálohu do rádia - - - Write Firmware To Radio - Zapsat firmware do rádia - - - Read Firmware From Radio - Načíst firmware z rádia - - - Restore Models and Settings To Radio - Obnovit modely a nastavení rádia - - - Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - Nelze obnovit modely a nastavení rádia. Data modelů a nastavení naleznete v %1 - - - Could not write firmware to radio. The models and settings data file can be found at: %1 - Nelze zapsat firmware do rádia. Data modelů a nastavení naleznete v %1 - - - Cannot backup existing Models and Settings from Radio. Firmware write process aborted - Nelze zálohovat stávající modely a nastavení z rádia. Zápis firmware byl přerušen - - - + Save Radio Backup to File Uložit zálohu rádia do souboru - Read Radio Backup - Načíst zálohu rádia - - - + Read Radio Firmware to File Načíst firmware rádia do souboru - + OpenTX Home Page: <a href='%1'>%1</a> Internetová stránka OpenTX : <a href='%1'>%1</a> - The OpenTX Companion project was originally forked from <a href='%2'>eePe</a> - Projekt OpenTX Companion vznikl oddělením z <a href='%2'>eePe</a> - - - + If you've found this program useful, please support by <a href='%1'>donating</a> Pokud vám byl tento program užitečný, podpořte jej <a href='%1'>darem</a> - Version %1, %3 - Verze %1, %3 - - - + Copyright OpenTX Team - + About Companion O aplikaci Companion - + New Nový - + Open... Otevřít - + Save Uložit - + Save As... Uložit jako... - + Copy Model Kopírovat model - + Paste Model Vložit model - + Compare models Porovnat modely - + Exit the application Ukončit aplikaci - + Firmware %1 does not seem to have ever been downloaded. Release %2 is available. Do you want to download it now? @@ -5613,7 +4018,7 @@ Chcete ho stáhnout nyní? Doporučujeme prohlédnout poznámky k vydání, pomocí tlačítka níže se dozvíte o případných změnách, které mohou být pro vás důležité. - + A new version of %1 firmware is available: - current is %2 - newer is %3 @@ -5630,631 +4035,577 @@ Chcete firmware stáhnout nyní? Doporučujeme prohlédnout poznámky k vydání, pomocí tlačítka níže se dozvíte o případných změnách, které mohou být pro vás důležité. - - + + Synchronize SD Synchronizace SD - OpenTX Companion 2.1 - FW: %1 - Profile: %2 - OpenTX Companion 2.1 - FW: %1 - Profil: %2 - - - + A monochrome black icon theme Černé mono téma - + A monochrome white icon theme Bílé mono téma - + A monochrome blue icon theme Modré mono téma - + Small Malá - + Use small toolbar icons Použít malé ikony nástrojové lišty - + Use normal size toolbar icons Použít normální velikost ikon nástrojové lišty - + Normal Normální - + Use big toolbar icons Použít velké ikony nástrojové lišty - + Big Velká - + Use huge toolbar icons Použít největší ikony nástrojové lišty - + Huge Největší - OpenTX Companion - FW: %1 - Profile: %2 - OpenTX Companion - FW: %1 - Profil: %2 - - - New Models+Settings - Nový - - - + Create a new Models and Settings file Vytvořit nový soubor modelů a nastavení - Open Models+Settings... - Otevřít - - - Save Models+Settings... - Uložit - - - - + + Save Models and Settings file Uložit soubor modelů a nastavení - Save Models+Settings as... - Uložit jako ... - - - + Exit Ukončit - + Cut Model Vyjmout model - + Cut current model to the clipboard Vyjmout aktuální model a uložit do schránky - Copy Model... - Kopírovat - - - + Copy current model to the clipboard Kopírovat aktuální model do schránky - Paste Model... - Vložit - - - + Paste model from clipboard Vložit obsah schránky na aktuální pozici - + Classical Klasik9x - + The classic companion9x icon theme Původní téma companion9x - + Yerico - + Yellow round honey sweet icon theme Žluté medové téma - + Monochrome Mono - + MonoWhite Mono-bílé - + MonoBlue Mono-modré - + System language Výchozí jazyk prostředí - + Use system language in menus Použít systémový jazyk - + Czech Čeština - + Use Czech in menus Aplikace v českém jazyce - + 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 - + Polish - + Use Polish in menus - + Spanish - + Use Spanish in menus - + Swedish - + Use Swedish in menus - + About... O aplikaci - + Print... Tisk - + Print current model Vytisknout zvolený model - + Simulate... Simulace - + Simulate current model Simulace vybraného modelu - + Alt+S - + Load Backup... Načíst zálohu... - + View Log File... Zobrazit Log - + Open and view log file Otevře a zobrazí soubor logu rádia - + Settings... Předvolby... - + Edit Settings Upravit nastavení předvoleb - + Download... Stáhnout - + Download firmware and voice files Stáhnout firmware a hlasové soubory - + Check for Updates... Zkontrolovat aktualizace - + Check OpenTX and Companion updates Zkontrolovat aktualizace OpenTX a Companion - + Companion Changes... Změny Companion - + Show Companion change log Zobrazí seznam změn jednotlivých vydání Companion - + Firmware Changes... Změny Firmwaru - + Show firmware change log Zobrazí seznam změn jednotlivých vydání Firmware - + Compare Models... Porovnat modely... - + Edit Radio Splash Image... Upravit úvodní logo rádia... - + Edit the splash image of your Radio Upravit úvodní grafické logo rádia - + List programmers... Seznam programátorů... - + Fuses... Pojistky mikrokontroléru... - - + + Read Firmware from Radio Načíst firmware z rádia - + Read firmware from Radio Načíst firmware z rádia - - + + Write Firmware to Radio Zapsat firmware do rádia - + Write firmware to Radio Zapsat firmware do rádia - + Add Radio Profile Nový profil rádia - + Create a new Radio Setting Profile Vytvořit nový profil nastavení rádia - + Manuals and other Documents Manuály a jiné dokumenty - + Open the OpenTX document page in a web browser Otevřít stránku s dokumenty OpenTX v prohlížeči - + Write Models and Settings To Radio Zapsat modely a nastavení do rádia - - + + Write Models and Settings to Radio Zapsat modely a nastavení do rádia - - - + + + Companion - + - - + + Read Models and Settings from Radio Načíst modely a nastavení z rádia - + OpenTX Companion %1 - Radio: %2 - Profile: %3 - + OpenTX Companion %1 - Rádio: %2 - Profil: %3 - + Configure Communications... Nastavení propojení - + Configure software for communicating with the Radio Nastavení softwaru pro komunikaci s rádiem - + Write Backup to Radio Zapsat zálohu do rádia - + Write Backup from file to Radio Zapsat zálohu ze souboru do rádia - + Backup Radio to File Zálohovat rádio do souboru - + Save a complete backup file of all settings and model data in the Radio Uložit kompletní zálohu modelů a nastavení rádia - + Contributors... Přispěvatelé - + A tribute to those who have contributed to OpenTX and Companion Hold těm, kteří přispěli k OpenTX a Companion - + SD card synchronization Syncronizace SD karty se složkou s daty - + Recent Files Nedávné soubory - + Recent Models+Settings Nedávné modely a nastavení - + Set Icon Theme Téma ikon - + Set Icon Size Velikost ikon - + Show the list of radio profiles Výběr profilů rádia - + Write Zápis - + New Radio Nové rádio - Invalid Models and Settings File %1 - Neplatný soubor modelů a nastavení %1 - - - Invalid binary Models and Settings File %1 - Neplatný binární soubor modelů a nastavení %1 - - - + List available programmers Seznam použitelných programátorů - + Show fuses dialog Zobrazit dialog nastavení pojistek mikrokontroléru - + Show the application's About box O aplikaci Companion - + Set Menu Language Nastavení jazyka - - + + File Soubor - - + + Edit Úpravy - + Settings Nastavení - + Read/Write Čtení/Zápis - - + + Help Nápověda - - + + Radio Profile Profil rádia - + Show recent Models+Settings documents Nedávné dokumenty modelů a nastavení rádia - Show a selection list of radio profiles - Výběr profilů rádia - - - + Ready Připraven - + %2 - - Unable to find file %1! - Nemohu nalézt soubor %1! - - - Error reading file %1: -%2. - Chyba při otevírání souboru %1: -%2. - MdiChild @@ -6272,142 +4623,118 @@ Doporučujeme prohlédnout poznámky k vydání, pomocí tlačítka níže se do - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Error Chyba - + Unable to find file %1! Nemohu nalézt soubor %1! - - + + Error opening file %1: %2. Chyba při otevírání souboru %1: %2. - - + + Invalid EEPROM File %1 Neplatný soubor EEPROM %1 - - + + Error reading file %1: %2. Chyba při otevírání souboru %1: %2. - + Invalid binary EEPROM File %1 Neplatný binární soubor EEPROM %1 - - - + + + Save As Uložit jako - - - - + + + + Cannot write file %1: %2. Nelze zapsat soubor %1: %2. - - + + Error writing file %1: %2. Chyba při zápisuí souboru %1: %2. - Backup EEPROM From Radio - Zálohovat modely a nastavení z rádia - - - Write EEPROM To Radio - Zapsat modely a nastavení do rádia - - - + Open backup Models and Settings file Otevřít zálohu modelů a nastavení rádia - + Companion - + %1 has been modified. Do you want to save your changes? %1 byl změněn. Chcete ho uložit? - Backup is impossible - Není možné zálohovat - - - The backup dir set in preferences does not exist - Složka pro zálohování zvolená v předvolbách neexistuje - - - + Cannot write temporary file! Nelze zapsat dočasný soubor! - Cannot check eeprom compatibility! Continue anyway? - Nelze ověřit kompatibilitu EEprom! Mám přesto pokračovat? - - + + + + Warning - Varování + Varování - Firmware in radio is of a different family of eeprom written, check file and preferences! - Firmware rádia je z jiné rodiny než EEprom, zkontrolujte nastavení předvoleb! - - - Firmware in flash is outdated, please upgrade! - Firmware rádia je zastaralý, aktualizujte ho prosím! - - - + Invalid binary backup File %1 Neplatný binární soubor zálohy %1 @@ -6623,26 +4950,6 @@ p, li { white-space: pre-wrap; } DEST -> CH%1 - - - Rud - Směrovka - - - - Ele - Výškovka - - - - Thr - Plyn - - - - Ail - Křidélka - MixesPanel @@ -6676,48 +4983,12 @@ p, li { white-space: pre-wrap; } Vymazat všechny mixy - Weight(%1) - Váha(%1) - - - Switch(%1) - Spínač(%1) - - - No Trim - Žádný trim - - - NoTrim - Žádný trim - - - No DR/Expo - Bez DR/Expo - - - Offset(%1) - Ofset(%1) - - - Delay(u%1:d%2) - Zpoždění(u%1:d%2) - - - Slow(u%1:d%2) - Zpomalení(u%1:d%2) - - - Warn(%1) - Varování(%1) - - - + Not enough available mixers! Není k dispozici dostatek mixů! - + Delete Selected Mixes? Odstranit vybrané mixy? @@ -6771,10 +5042,6 @@ p, li { white-space: pre-wrap; } Ctrl+C - - &Cut - &Vyjmout - Ctrl+X @@ -6806,12 +5073,12 @@ p, li { white-space: pre-wrap; } - + Clear Mixes? Vymazat mixy? - + Really clear all the mixes? Opravdu vymazat všechny mixy? @@ -6843,10 +5110,6 @@ p, li { white-space: pre-wrap; } Inputs Vstupy(DR/Expo) - - Servos - Serva - Logical Switches @@ -6865,7 +5128,7 @@ p, li { white-space: pre-wrap; } Outputs - Výstupy + Výstupy @@ -6882,39 +5145,308 @@ p, li { white-space: pre-wrap; } Telemetry Telemetrie + + + ModelPrinter - Clear Curves? - Vymazat křivky? + + %1 bytes + %1 bajtů - Really clear all the curves? - Opravdu vymazat všechny křivky? + + CH%1 + + + + + Exponential + Exponenciální + + + + Extra Fine + Extra jemný + + + + Fine + Jemný + + + + Medium + Střední + + + + Coarse + Hrubý + + + + Unknown + Neznámý + + + + Enabled + Povoleno + + + + Disabled + Zakázáno + + + + %1, Channels(%2-%3), PPM delay(%4usec), Pulse polarity(%5) + %1, Kanály(%2-%3), PPM pauza(%4usec), Polarita pulzů(%5) + + + + %1, Channels(%2-%3) + %1, Kanály(%2-%3) + + + + Receiver number(%1) + Přijímač číslo(%1) + + + + Slave/Jack + Žák/Jack konektor + + + + Master/SBUS Module + Učitel/SBUS modul + + + + Master/CPPM Module + Učitel/CPPM modul + + + + Master/SBUS in battery compartment + Učitel/SBUS konektor v šachtě baterie + + + + Master/Jack + Učitel/Jack konektor + + + + Rudder + Směrovka + + + + Elevator + Výškovka + + + + Throttle + Plyn + + + + Aileron + Křidélka + + + + Name(%1) + Název(%1) + + + + Persistent + Trvalé + + + + MinuteBeep + Oznamovat minuty + + + + CountDown(Beeps) + Odečítat (Zvuk) + + + + CountDown(Voice) + Odečítat (Hlas) + + + + CountDown(Haptic) + Odečítat (Vibrace) + + + + Off + Vypnuto + + + + + + + FM%1 + LR%1 + + + + FM%1%2 + LR%1%2 + + + + FM%1+%2 + LR%1+%2 + + + + [I%1] + + + + + Input%1 + Vstup%1 + + + + Weight + Váha + + + + Switch + Spínač + + + + + NoTrim + Žádný trim + + + + Weight(%1) + Váha(%1) + + + + Switch(%1) + Spínač(%1) + + + + No DR/Expo + Bez DR/Expo + + + + Offset(%1) + Ofset(%1) + + + + Delay(u%1:d%2) + + + + + Slow(u%1:d%2) + + + + + Warn(%1) + Varování(%1) + + + + Disabled in all flight modes + Zakázáno ve všech letových režimech + + + + Flight modes(%1) + Letové režimy(%1) + + + + Flight mode(%1) + Letový režim(%1) + + + + Edge(%1, [%2:%3]) + + + + + Sticky(%1, %2) + + + + + Timer(%1, %2) + + + + + Duration(%1s) + Trvání(%1s) + + + + Delay(%1s) + Zpoždění(%1s) + + + + Custom + Volná-XY + + + + Standard + Rastr-X ModelSelectionPage - + Plane Letadlo - + Multirotor - + Helicopter Helikoptéra - + Model Name: Název modelu: - + Model Type: Typ modelu: @@ -6922,128 +5454,129 @@ p, li { white-space: pre-wrap; } ModelsListWidget - + + &Edit &Upravit - + &Restore from backup &Obnovit ze zálohy - + &Model Wizard &Průvodce nastavením modelu - + &Delete &Odstranit - + Delete - + &Copy &Kopírovat - + Ctrl+C - + &Cut &Vyjmout - + Ctrl+X - + &Paste &Vložit - + Ctrl+V - + D&uplicate &Duplikovat - + Ctrl+U - + &Use as default &Použít jako výchozí - + P&rint model Vy&tisknout model - + Ctrl+P - + &Simulate model &Simulovat model - + Alt+S - + General Settings Obecná nastavení - + Delete Selected Models? Odstranit vybrané modely? - - + + Cannot delete default model. Nelze odstranit výchozí model. - + Cannot cut default model. Nelze přesunout výchozí model. - + Do you want to overwrite radio general settings? Chcete přepsat obecná nastavení rádia? - + You are pasting on an not empty model, are you sure? Vkládáte do modelu který není prázdný, jste si jist? - + No free slot available, cannot duplicate Není už volný slot, nelze duplikovat @@ -7065,10 +5598,6 @@ p, li { white-space: pre-wrap; } PPM delay PPM zpoždění - - usec - us - Negative @@ -7079,14 +5608,6 @@ p, li { white-space: pre-wrap; } Positive Pozitivní - - Master - Učitel - - - Slave - Žák - Polarity @@ -7097,10 +5618,6 @@ p, li { white-space: pre-wrap; } Trainer Mode Mód trenér - - mSec - ms - PPM Frame Length @@ -7210,66 +5727,273 @@ p, li { white-space: pre-wrap; } ModulePanel - + Trainer Port Port Trenér - + Internal Radio System Interní vysílací modul - + External Radio Module Externí vysílací modul - - + + Radio System Vysílací modul - + Extra Radio System Extra modul - + Value Hodnota - + Hold Držet hodnotu - + No Pulse Žádné pulzy + + MultiModelPrinter + + + General Model Settings + Obecná nastavení modelu + + + + Name: + Název: + + + + EEprom Size: + Velikost EEPROM: + + + + Timer%1: + Stopky%1: + + + + Module%1: + Modul%1: + + + + Module: + Modul: + + + + Trainer port: + Port Trenér: + + + + Throttle Trim: + Trim plynu: + + + + Trim Increment: + Krok trimu: + + + + Center Beep: + Zvuk ve středové poloze: + + + + Flight modes + Letové režimy + + + + + Flight mode + Letový režim + + + + Switch + Spínač + + + + Fade IN + Přechod při aktivaci + + + + Fade OUT + Přechod při deaktivaci + + + + + FM%1 + LR%1 + + + + + GV%1 + GP%1 + + + + RE%1 + + + + + Limits + Limity + + + + Channel + Kanál + + + + Name + Název + + + + + Offset + Subtrim + + + + Min + + + + + Max + + + + + Invert + Invertovat + + + + Global Variables + Globální proměnné + + + + Inputs + Vstupy(DR/Expo) + + + + Mixers + Mixy + + + + CV%1 + K%1 + + + + Curves + Křivky + + + + L%1 + + + + + Logical Switches + Logické spínače + + + + SF%1 + + + + + Special Functions + Speciální funkce + + + + Telemetry Settings + Nastavení telemetrie + + + + Analogs + Analogy + + + + Unit + Jednotky + + + + Scale + Rozsah + + + + A%1 + + + + + RSSI Alarms + RSSI Alarmy + + MultirotorPage - + Throttle Channel: Kanál plynu: - + Yaw Channel: Kanál bočení: - + Pitch Channel: Kanál klopení: - + Roll Channel: Kanál klonění: @@ -7277,17 +6001,17 @@ p, li { white-space: pre-wrap; } OptionsPage - + Throttle Cut Zámek plynu (spínač THR) - + Throttle Timer Stopky na plynu - + Flight Timer Letové stopky @@ -7310,523 +6034,17 @@ p, li { white-space: pre-wrap; } Tisk do souboru - - Setup for: - Nastavení: - - - - printed on: %1 - vytištěno: %1 - - - - General Model Settings - Obecná nastavení modelu - - - - - - - Name - Název - - - - EEprom Size - Velikost EEPROM - - - Timer1 - Stopky1 - - - Timer2 - Stopky2 - - - - - Protocol - Protokol - - - Pulse Polarity - Polarita pulzů - - - - Throttle Trim - Trim plynu - - - - Enabled - Povoleno - - - - Disabled - Zakázáno - - - Throttle Expo - Expo plynu - - - - Trim Increment - Krok trimu - - - - Center Beep - Zvuk ve středové poloze - - - Flight modes Settings - Nastavení letových fází - - - - Fades - Přechody - - - - Trims - Trimy - - - - Gvars - GP - - - - Rot.Enc. - Rot.Enkoder - - - - Switch - Spínač - - - - Flight mode name - Název režimu - - - - IN - (+) - - - - OUT - (-) - - - - Rud - Směrovka - - - - Ele - Výškovka - - - - Thr - Plyn - - - - Ail - Křidélka - - - - - - - - FM - LR - - - Expo/Dr Settings - Vstupy(Expo/DR) - - - Weight - Váha - - - - Flight modes - Letové režimy - - - Flight mode - Letový režim - - - DISABLED - ZAKÁZÁN - - - - Mixers - Mixy - - - - - - CH - - - - noTrim - Žádný trim - - - - - - - - Offset - Ofset - - - Delay(u%1:d%2) - Zpoždění(u%1:d%2) - - - Slow(u%1:d%2) - Zpomalení(u%1:d%2) - - - Warn - Varování - - - - Limits - Limity - - - - - - - Min - - - - - - - - Max - - - - - - - Invert - Invertovat - - - - - - INV - - - - - - - NOR - --- - - - - Curves - Křivky - - - - - - Curve - Křivka - - - - pt %1 - bod %1 - - - - Logical Switches - Logické spínače - - - - Global Variables - Globální proměnné - - - - GV - GP - - - - Special Functions - Speciální funkce - - - Function - Funkce - - - Parameter - Parametr - - - Repeat - Opakování - - - - - Telemetry Settings - Nastavení telemetrie - - - - - Alarm 1 - - - - - - Alarm 2 - - - - - - Analog - - - - - Timer%1 - - - - - Internal Radio System - Interní vysílací modul - - - - Radio System - Vysílací modul - - - - External Radio Module - Externí vysílací modul - - - - Extra Radio System - Extra modul - - - - Trainer port mode - Mód portu trenér - - - - Off - Vypnuto - - - - Inputs - Vstupy(DR/Expo) - - - NoTrim - Žádný trim - - - Weight(%1) - Váha(%1) - - - Switch(%1) - Spínač(%1) - - - No DR/Expo - Bez DR/Expo - - - Offset(%1) - Ofset(%1) - - - Warn(%1) - Varování(%1) - - - - L - - - - - Range - Rozsah - - - - Alarms - Alarmy - - - - Low Alarm - Nízký alarm - - - - Critical Alarm - Kriticky alarm - - - - RSSI - - - - - Unit - Jednotky - - - - Scale - Měřítko - - - - - - - Type - Typ - - - - - - - Condition - Podmínka - - - - - - - Value - Hodnota - - - - - - A%1 - - - - - SF - - - - - RSSI Alarm - - - - - Frsky serial protocol - Sériový protokol Frsky - - - Units system - Systém jednotek - - - System of units - Systém jednotek - - - - - Blades - Počet listů vrtule - - - - - Custom Telemetry View - Vlastní zobrazení telemetrie - - - - Telemetry Bars - Telemetrické ukazatele - - - - Bar Number - Číslo ukazatele - - - - Source - Zdroj - - - + Print Document Vytisknout dokument - + Select PDF output file Vyberte cílový PDF soubor - + ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) soubor ODF (*.odt);;soubor PDF (*.pdf);;soubor HTML (*.htm *.html);;Všechny (*) @@ -7861,74 +6079,78 @@ p, li { white-space: pre-wrap; } QObject - + Rud Směrovka - + Ele Výškovka - + Thr Plyn - + Ail Křidélka - - + + P1 Potenciometr P1 - - + + P2 Potenciometr P2 - - + + P3 Potenciometr P3 - + + S1 - + + S2 - + + LS - + + RS @@ -7955,14 +6177,14 @@ p, li { white-space: pre-wrap; } - + REa Otočný enkodér REa - + REb Otočný enkodér REb @@ -8192,13 +6414,12 @@ p, li { white-space: pre-wrap; } - + ---- - - + THR Plyn @@ -8242,339 +6463,296 @@ p, li { white-space: pre-wrap; } !Křivka(%1) - - + + Support for frsky telemetry mod Podpora frsky telemetrie tj. zobrazení telemetrických dat na displeji rádia (je potřeba upravit HW, bez této úpravy nebudou fungovat dva přepínače! a pochopitelně nebudou zobrazena žádná telem. data.) - - + + Support for jeti telemetry mod Podpora telemetrie JETI - - + + Support for receiving ardupilot data telemetrie - podpora pro příjem ardupilot dat - - + + Support for receiving NMEA data telemetrie - podpora pro příjem NMEA dat - + Support for telemetry easy board Podpora pro desku TelemetrEZ - - + + Support for MAVLINK devices Podpora pro zařízení s MAVLINK - + Rotary Encoder use in menus navigation Použít Rotary Encoder pro navigaci v menu - Possibility to enable FAI MODE at field - Možnost povolit FAI MODE v menu rádia. -FAI je soutěžní mód (www.fai.org), zablokuje vario, zobrazení telemetrie a funkce hlasového hlášení. - - - + No OverrideCH functions available Funkce Zámek kanálu není dostupná - FAI MODE always enabled - FAI MODE vždy aktivní (nelze vypnout v menu rádia) -FAI je soutěžní mód (www.fai.org), zablokuje vario, zobrazení telemetrie a funkce hlasového hlášení. - - - - - - - - + + + + + + Enable heli menu and cyclic mix support Funkce pro heli, nastavení typu mechaniky - - - - - - - - + + + + + + + + + Enable TEMPLATES menu Přidá menu s jednoduchými šablonami modelu - - - - + + + + No splash screen Bez úvodního loga Firmware nebude obsahovat žádné logo, ani podporu pro něj. Toto se hodí pokud je potřeba ušetřit místo v paměti FLASH pro jiné funkce - - - - - - - - + + + + + + + + + No flight modes Firmware nebude obsahovat podporu Letových Režimů - OpenTX for 9XR-PRO - OpenTX pro 9XR-PRO - - - In model setup menus automatically set source by moving some of them - V menu nastavení modelu automaticky nastavíte Zdroj jeho pohybem - - - + Support for Lua model scripts Podpora pro Lua skripty. -miniaplikace spustitelné z SD karty - - No Joystick emulation inside the FW (only Mass Storage as in the Bootloader) - Firmware bez emulace Joisticku (USB bude v režimu Mass Storage (přístup k souborům na SD kartě) stejně jako v Bootloaderu) - - - OpenTX for FrSky Taranis Plus - OpenTX pro FrSky Taranis Plus - - - + Use alternative SQT5 font Použít alternativní znakovou sadu písma (jiný font) - + (displaying only first 10 warnings) (zobrazeno pouze prvních 10 varování) - + Possibility to enable FAI MODE (no telemetry) at field Možnost povolit FAI MODE v menu rádia. FAI je soutěžní mód (www.fai.org), zablokuje vario, zobrazení telemetrie a funkce hlasového hlášení. - + FAI MODE (no telemetry) always enabled FAI MODE vždy aktivní (nelze vypnout v menu rádia) FAI je soutěžní mód (www.fai.org), zablokuje vario, zobrazení telemetrie a funkce hlasového hlášení. - + + + + Support for a third timer - + + Instead of Joystick emulation, USB connection is Mass Storage (as in the Bootloader) + + + + + Instead of Joystick emulation, USB connection is Command Line Interface + + + + Removes D8 and LR12 FrSky protocols that are not legal for use in the EU on radios sold after Jan 1st, 2015 - + Support for PPM internal module hack - + ST7565P LCD or compatible - + ST7565R LCD or compatible - + ERC12864FSF LCD - + ST7920 LCD - + 9X board - + EEprom write progress bar Progresbar zobrazující zápis do EEPROM (tj. ukládání nastavení) - - + + No Winged Shadow How High support Bez podpory - Winged Shadow How High - - + + No vario support Bez podpory varia - - + + No GPS support Bez podpory GPS - - + + No gauges in the custom telemetry screen Bez grafických ukazatelů hodnoty na obrazovkách telemetrie - + Allow compensating for offset errors in FrSky FAS current sensors Povolit možnost kompenzace chyby ofsetu u Frsky FAS proudového senzoru, pokud je to potřeba - - + + Add support for reversing stick inputs (e.g. needed for FrSky gimbals) Přidá podporu pro revers os kniplů. To je nutné zejména pro osazení FrSky kniplů do 9X. - OpenTX for M128 / 9X board - OpenTX pro M128 / 9X - - - OpenTX for 9XR - OpenTX pro 9XR - - - OpenTX for 9XR with M128 chip - OpenTX pro 9XR s M128 čipem - - - OpenTX for Gruvin9x board / 9X - OpenTX pro Gruvin9x desku / 9X - - - + Power management by soft-off circuitry - + + ar9x board / 9X + + + + 9XR-PRO - + FrSky Taranis - + FrSky Taranis Plus - + FrSky Taranis X9E - + Confirmation before radio shutdown - - + + Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views - OpenTX for Sky9x board / 9X - OpenTX pro Sky9x desku / 9X - - - + Haptic module installed Podpora pro vibrační modul - OpenTX for FrSky Taranis Rev4a - OpenTX pro FrSky Taranis Rev4a - - - Use FrSky Taranis sticks in a 9X/9XR - Použití pák z Taranis (hardware) v rádiu 9X/9XR - - - OpenTX for FrSky Taranis - OpenTX pro FrSky Taranis - - - + Disable HELI menu and cyclic mix support Odstranit funkce pro heli a nastavení typu mechaniky - Disable TEMPLATES menu - Odstranit menu s jednoduchými -šablonami modelu - - - + Disable Global variables Odstranit Globální proměnné - - - - - - - - + + + + + + + + + Disable curves menus Bez uživatelsky definovatelných křivek - - - - + + + + Support for radio modified with regular speaker Vylepšený zvukový výstup, funkční i s origo pípákem, @@ -8582,147 +6760,137 @@ ale doporučuje se provést instalaci reproduktoru - - - - - + + + + + Used if you have modified your radio with voice mode Hlasový výstup pro telemetrii, nutno zastavět hlasový modul - - - - - + + + + + Used if you have modified your radio with haptic mode Výstrahy pomocí vibračního motoru (je třeba osadit) - + Channel values displayed in us Hodnoty kanálů budou zobrazeny v us (mikrosekundy) místo procent - - - - - - - - + + + + + + + + + In model setup menus automatically set source by moving the control Výběr spínače v mixu atd. se provádí jeho sepnutím - - - - - - - - + + + + + + + + + In model setup menus automatically set switch by moving the control Výběr spínače v mixu atd. se provádí jeho sepnutím - - - - - - - + + + + + + + + Battery graph Grafické znázornění stavu baterie - - - - + + + + Enable the throttle trace in Statistics Přidat Stopu Plynu (Throttle-trace) v panelu STATISTIKA - + M128 / 9X board - + 9XR - + 9XR with M128 chip - + Gruvin9x board / 9X - - + + Support of FrSky PXX protocol Podpora pro Frsky PXX protokol - - - - - + + + + + Support for DSM2 modules Podpora DSM2 modulů - - Your radio probably uses a wrong firmware, - eeprom size is 4096 but only the first 2048 are used - Vaše rádio pravděpodobně nepoužívá správnou verzi firmware, -velikost eeprom je 4096B, ale pouze prvních 2048B je použito - - - OpenTX for 9X board - OpenTX pro 9X desku - - - - - - - - - - + + + + + + + + + PPM center adjustment in limits Možnost nastavovat střed serva šířkou pulzu - PPM values displayed in us - Hodnoty PPM budou zobrazeny v us (mikrosekundy) - - - - - - - - - - + + + + + + + + + Symetrical Limits Symetrické limity Přidá možnost volby mezi @@ -8733,36 +6901,33 @@ Přidá možnost volby mezi nastavené limity tedy nemusí být rovny hodnotě -100% a 100%, ale budou pouze maximem výchylky) - - - - - - + + + + + + + Pots use in menus navigation Moznost zadávat hodnoty a pohybovat se v menu pomocí potenciometrů - - + + SmartieParts 2.2 Backlight support Podpora pro modul SmartieParts 2.2 (programátor/podsvícení) Není určeno pro starší verze Smartie Parts - In model setup menus automatically set switch by moving some of them - Výběr spínače v mixu atd. -se provádí jeho sepnutím - - - - - - - + + + + + + Enable resetting values by pressing up and down at the same time Rychlé nastavení hodnoty současným stiskem dvou tlačítek. (+) a (-) invertuje hodnotu @@ -8771,26 +6936,28 @@ se provádí jeho sepnutím (UP) a (DN) vastaví výchozí hodnotu - - - - - - - + + + + + + + + No graphical check boxes and sliders Nahrazeni posuvníku a zatržítek (checkboxu) textem - - - - - - - + + + + + + + + Don't use bold font for highlighting active items Vypnout zvýraznění aktivních mixů/spínačů tučným písmem. Pokud není tato volby vybrána, @@ -8799,51 +6966,53 @@ zobrazovány tučným pismem. Neaktivní mixy/spínače budou zobrazeny normálním písmem - - - - - + + + + + EEprom write Progress bar Progresbar zobrazující zápis do EEPROM (tj. ukládání nastavení) - - - - - - + + + + + + Imperial units Imerialní jednotky pro telemetrii (stopy, palce, míle atd.) - + MEGA2560 board - + Sky9x board / 9X - - + + + Bluetooth interface - - - - - - - - + + + + + + + + + Global variables Aktivuje Globální Proměnné Jsou to proměnné, které lze použít pro konfiguraci místo některých pevných číselných hodnot. @@ -8852,45 +7021,34 @@ Jejich hodnoty naleznete u originální 9x desky v seznamu křivek. U ostatních Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Funkce - - + + Support for SD memory card Podpora paměťové karty SD - + Support for DSM2 modules using ppm instead of true serial Podpora DSM2 modulů s použitím PPM místo sériového protokolu - - + + + Enable HELI menu and cyclic mix support Funkce pro heli, nastavení typu mechaniky - - + + Warning Varování - + EEPROM saved with these warnings: EEPROM uložena s těmito varováními: - - - - FM%1 - FP%1 - LR%1 - - - - Input%1 - Vstup%1 - English @@ -8971,44 +7129,11 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun Rot Enc E Otočný enkodér :E - - - %1:%2 - - - - - , Persistent - Ukládat hodnoty - - - - , MinuteBeep - Oznamovat minuty - - - - , CountDown(Beeps) - Odečítat (Zvuk) - - - - , CountDown(Voice) - Odečítat (Hlas) - No repeat Neopakovat - - %1 sec - %1 s - - - Safety %1 - Zabezpečení(zámek) %1 - @@ -9016,14 +7141,13 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun - + V - - + s @@ -9158,34 +7282,38 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun + F1 + F2 + F3 + F4 - + S3 - + Timer3 Stopky3 @@ -9483,7 +7611,6 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun - [I%1] @@ -9734,7 +7861,6 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun - Unknown Neznámý @@ -9839,184 +7965,127 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun Upravit GP%1 - - - + + SetFailsafe Int. Module + + + + + SetFailsafe Ext. Module + + + + + RangeCheck Int. Module + + + + + RangeCheck Ext. Module + + + + + Bind Int. Module + + + + + Bind Ext. Module + + + + + + <font color=red><b>Inconsistent parameter</b></font> <font color=red><b>parametr není konzistentní</b></font> - - repeat + + played once, not during startup - - + + repeat(%1s) + + + + DISABLED ZAKÁZÁN - + + INV + + + + + NOR + --- + + + Rotary Encoder Rotační enkodér - + !Flight mode %1 !Letový režim %1 - + Flight mode %1 Letový režim %1 - + Yellow Žlutá - + Orange Oranžová - + Red Červená - + Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (nepodporován) - + FrSky Sensor Hub FrSky Senzor Hub - + None Žádný - + Imperial Imperiální - + Metric Metrické - - - Extra Fine - Extra jemný - - - - Fine - Jemný - - - - Medium - Střední - - - - Coarse - Hrubý - - - - - : Channel start: %1, %2 Channels, %3usec Delay, Pulse polarity %4 - - - - - : Channel start: %1, %2 Channels - - - - - Slave/Jack - Žák/Jack konektor - - - - Master/SBUS Module - Učitel/SBUS modul - - - - Master/CPPM Module - Učitel/CPPM modul - - - - Master/SBUS in battery compartment - Učitel/SBUS konektor v šachtě baterie - - - - Master/Jack - Učitel/Jack konektor - - - - Exponential - Exponenciální - - - Count Up - Přičítat - - - Count Down - Odečítat - - - : %1 Channels, %2usec Delay - : %1 Kanálů, %2us pauza - - - Flight modes(%1) - Letové režimy(%1) - - - Flight mode(%1) - Letový režim(%1) - - - - Rudder - Směrovka - - - - Elevator - Výškovka - - - - Throttle - Plyn - - - - Aileron - Křidélka - Play Track @@ -10024,33 +8093,33 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun - - + + --- - + Rud Trim Trim směrovky - + Ele Trim Trim výškovky - + Thr Trim Trim plynu - + Ail Trim Trim křidélek - + Rot Enc @@ -10061,8 +8130,6 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun - - CH%1 @@ -10076,25 +8143,17 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun Background Music Pause Hudba na pozadí -pozastavit - - Delay %1 sec - Zpoždění %1sec - - - Duration %1 sec - Trvání %1 sec - - + Timer1 Stopky1 - + Timer2 Stopky2 @@ -10104,104 +8163,22 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun - - - Weight - Váha - - - - - Switch - Spínač - - - - - NoTrim - Žádný trim - - - - No DR/Expo - Bez DR/Expo - - - - Offset - - - - - Delay - Zpoždění - - - - Slow - Zpomalení - - - - Warn - Varování - - - - Flight modes - Letové režimy - - - - Flight mode - Letový režim - - - - Edge(%1, [%2:%3]) - - - - - Sticky(%1, %2) - - - - - Timer(%1, %2) - - - - - Duration (%1s) - Trvání (%1 s) - - - - Delay (%1s) - Zpoždění (%1s) - - - All - Vše - - - + Telemetry Telemetrie - + Value Hodnota - + Decr: Zmenšit: - + Incr: Zvětšit: @@ -10216,37 +8193,37 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun - + Value Hodnota - + Source Zdroj - + GVAR Proměnná - + Increment Upravit - + Flight - + Own value Vlastní hodnota - + Flight mode %1 value Flight phase %1 value Hodnota režimu LR%1 @@ -10268,19 +8245,19 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun - + -GV%1 -GP%1 - + GV%1 GP%1 - + Simulator for this firmware is not yet available Simulátor pro tuto verzi firmware zatím není dostupný @@ -10291,76 +8268,68 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun Současné použití expa a křivek již není podporováno - + Source %1 cannot be exported on this board! - + OpenTX only accepts %1 points in all curves V OpenTX je možné zadat pouze %1 bodů dohromady ve všech křivkách - + OpenTx only accepts %1 points in all curves V OpenTX je možné zadat pouze %1 bodů dohromady ve všech křivkách - - - + + - + + OpenTX on this board doesn't accept this function OpenTX nepodporuje tuto funkci na této zákl. desce - + OpenTX doesn't accept this telemetry protocol OpenTX nepodporuje tento protokol - - - + + + OpenTX doesn't accept this radio protocol OpenTX nepodporuje tento protokol - OpenTX doesn't accept this protocol - OpenTX nepodporuje tento protokol - - - + OpenTX doesn't allow this number of channels V OpenTX nelze použít tento počet kanálů - - Simultaneous usage of expo and curves is no longer supported in open9x - Současné použití expa a křivek již není v Open9x podporováno - th9x on this board doesn't have Rotary Encoders v th9x na této desce nelze použít rotační enkodéry - + Trim disabled Trim zakázán - + Own Trim Vlastní trim - + Use Trim from Flight mode %1 Použít trim z letového režimu %1 - + Use Trim from Flight mode %1 + Own Trim as an offset Použít hodnotu trimu z letového režimu %1 + vlastní trim jako ofset @@ -10393,62 +8362,58 @@ The OpenTX Team. Tým OpenTX. - - - Positive - Pozitivní - - - - Negative - Negativní - GV GP - + + + - Synchronization error - + + No SD directory configured! + + + + No Radio connected! - + -%1 + - The directory '%1' doesn't exist! - + Create '%1' failed - + Copy '%1' to '%2' failed - + Open '%1' failed - + Write '%1' failed @@ -10505,10 +8470,6 @@ Tým OpenTX. <html><head/><body><p>No Radio was found!</p><p>Make sure that you hold the lower trim buttons towards the center while you turn it on.</p><p>Then connect the USB wire.</p><p><span style=" font-family:'arial,sans-serif'; font-size:13px; font-style:italic; color:#222222; background-color:#ffffff;">Note: if you have a Taranis that has not had the firmware upgraded to 2.0 then this version of Companion will not work.</span></p></body></html> <html><head/><body><p>Rádio nebylo nalezeno!</p><p>Ujistěte se, že během zapínání rádia držíte spodní trimy proti sobě.</p><p>Až poté připojte USB kabel..</p><p><span style=" font-family:'arial,sans-serif'; font-size:13px; font-style:italic; color:#222222; background-color:#ffffff;">Pozor: pokud máte Taranis který ještě nebyl aktualizován na verzi alespoň 2.0, potom tato verze Companion nebude fungovat.</span></p></body></html> - - <html><head/><body><p>No Radio was found!</p><p>Make sure that you hold the lower trim buttons towards the center while you turn it on.</p><p>Then connect the USB wire.</p></body></html> - <html><head/><body><p>Rádio nebylo nalezeno!</p><p>Ujistěte se, že během zapínání rádia, držíte spodní trimy proti sobě.</p><p>Až poté připojte USB kabel.</p></body></html> - OK @@ -10520,7 +8481,7 @@ Tým OpenTX. Companion Release Notes - Poznámky k vydání Companion + Poznámky k vydání Companion @@ -10528,23 +8489,23 @@ Tým OpenTX. OpenTX Release Notes - Poznámky k vydání OpenTX + Poznámky k vydání OpenTX RudderPage - + No Ne - + Yes Ano - + <br>Rudder Channel: <br>Kanál směrovky: @@ -10552,156 +8513,157 @@ Tým OpenTX. Setup - + Center beep Zvuk ve středové poloze - + OFF Vypnuto - + Model Image Obrázek modelu - + Exponential Exponenciální - + Throttle Trim Idle Only Trim volnoběhu plynu - + Timer 3 Stopky3 - + Extra Fine Extra jemný - + Fine Jemný - + Medium Střední - + Coarse Hrubý - + Display Checklist Zobrazit poznámky - + Timer 2 Stopky2 - + Timer 1 Stopky1 - + Never Nikdy - + On change Při změně - + Always Vždy - + Global Functions - Globální funkce + Globální funkce - + Throttle Source Stopa plynu - Timer Source - Stopa (TH) stopek - - - + Trim Step Krok trimu - + Trims Display Číselné zobrazení trimu - + Warnings Předletová kontrola - + + Top LCD Timer + + + + Switch Warnings Polohy spínačů - + Pot Warnings Hodnoty potenciometrů - + Manual - + Auto - + Model - + Extended Limits Rozšířené limity (125%) - + Extended Trims Rozšířený rozsah trimů - + Throttle Warning Alarm plynu - + 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. @@ -10713,15 +8675,23 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. - + Reverse Throttle Revers plynu + + SetupPanel + + + Timer %1 + + + SimpleTailPage - + Elevator Channel: Kanál výškovky: @@ -10776,10 +8746,6 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. Right Double Click to Reset Dvojité kliknutí pravým tlačítkem myši nastaví na střed - - THR - THR - @@ -10819,18 +8785,6 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. Gvars GP - - P1 - Potenciometr1 - - - P2 - Potenciometr2 - - - P3 - Potenciometr 3 - 9x Simulator @@ -10912,10 +8866,44 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. Výstupy + + SplashLibraryDialog + + + + ... + + + + + Splash Library - page %1 of %2 + Knihovna s logy - strana %1 z %2 + + + + Warning + Varování + + + + Invalid image in library %1 + Neplatné logo v knihovně %1 + + + + Information + + + + + No valid image found in library, check your settings + Nebylo nalezenožádné použitelné logo v knihovně, zkontrolujte nastavení + + StandardPage - + Channel %1 Kanál %1 @@ -10923,25 +8911,24 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. SyncProcess - + + %1/%2 files + + + + Create directory %1 - + Copy %1 to %2 - - Read %1 - - - - - + Write %1 @@ -10950,35 +8937,40 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. TailPage - + Rudder Channel: Kanál směrovky: - + Elevator Channel: Kanál výškovky: + + + Only one channel still available!<br>You probably should configure your model without using the wizard. + Pouze jeden kanál je k dispozici ! <br> Pravděpodobně budete muset nastavit model bez použití průvodce. + TailSelectionPage - + Elevator and Rudder Výškovka a směrovka - + Only Elevator Jen výškovka - + V-tail Ocas - V - + Tail Type: Typ ocasu: @@ -10986,116 +8978,96 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. Telemetry - + A1 Telem. vstup A1 - + A2 Telem. vstup A2 - + RSSI - + Alarm 1 - Critical Alarm - Kritický alarm - - - - + + ---- - - + + Yellow Žlutá - - + + Orange Oranžová - - + + Red Červená - + Alarm 2 - + Center Silent - + Tichý střed - + Altitude source Zdroj výšky - + Volts source Zdroj napětí - + Top Bar Hodnoty na horní liště - + Serial Protocol Sériový protokol - + Sensors Senzory - + Disable multi sensor handling - + Ignoruj chyby ID senzorů (znemožní násobné užití týž senzorů) - + Volt source Snímač napětí - A4 - Telem. vstup A4 - - - A3 - Telem. vstup A3 - - - Metric - Metrické - - - Imperial - Imperiální - - - + Current source Snímač proudu @@ -11105,110 +9077,82 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. Protokol - NONE - Žádný - - - + None Žádný - + FrSky Sensor Hub FrSky Senzor Hub - CEL - Článek - - - Units - Jednotky - - - + Blades Počet listů vrtule - + Sink Max Klesání Max - Off - Vypnuto - - - + Climb Max Stoupání Max - + Sink Min Klesání Min - + Climb Min Stoupání Min - + Vario source Vario senzor - + Vario limits Rozsah varia - Use GPS as altitude source - Použít GPS jako senzor výšky - - - Display altitude in toolbar - Zobrazit výšku v nástrojové liště - - - + Altimetry - + mAh - + A - + Various Různé - + mAh count Počet mAh - Low Alarm - Nízký alarm - - - + FAS Offset Ofset FAS - + Persistent mAh Ukládat hodnoty @@ -11322,17 +9266,7 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. MiliAmpéry (mA) - - Low Alarm - Nízký alarm - - - - Critical Alarm - Kriticky alarm - - - + Range Rozsah @@ -11345,26 +9279,22 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. Typ panelu - Nums - Hodnoty - - - + None Žádný - + Numbers Hodnoty - + Bars Ukazatele - + Script Skript @@ -11392,99 +9322,99 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. TelemetryPanel - + Telemetry screen %1 Stránka telemetrie %1 - + Low Alarm Nízký alarm - + Critical Alarm Kriticky alarm - + Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (nepodporován) - - - + + + A1 Telem. vstup A1 - + Alti - + FrSky S.PORT - + FrSky D - + FrSky D (cable) FrSky D (kabel) - + Alti+ - + VSpeed - - - + + + A2 Telem. vstup A2 - - + + A3 Telem. vstup A3 - - + + A4 Telem. vstup A4 - - + + FAS - + Cells - + --- @@ -11590,119 +9520,119 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. - Amps Sensor : - Senzor proudu : + Sensor : + Senzor : + + + + V + + + + + A + + + + + mA + + + + + kt + + + + + m/s + + + + + ft/s + + + + + km/h + + + + + mph + + + + + m + + + + + ft + + + + + °C + + + + + °F + + + + + % + + + + + mAh + + + + + W + + + + + dBm + + + + + g + + + + + ° + + + + + mL + + + + + US fl.Oz. + Raw (-) Jednotky (-) - - - Voltage (V) - Napětí (V) - - - - Current (A) - Proud (A) - - - - Current (mA) - Proud (mA) - - - - Speed (kts) - Rychlost (kts) - - - - Speed (m/s) - Rychlost (m/s) - - - - Speed (ft/s) - Rychlost (ft/s) - - - - Speed (km/h) - Rychlost (km/h) - - - - Speed (miles/h) - Rychlost (míle/h) - - - - Meters (m) - Vzdálenost (m) - - - - Feet (ft) - Vzdálenost (ft) - - - - Temp (°C) - Teplota (°C) - - - - Temp (°F) - Teplota (°F) - - - - Percentage (%) - Procenta (%) - - - - Energy (mAh) - Energie (mAh) - - - - Power (W) - Výkon (W) - - - - RF Power (dBm) - RF výkon (dBm) - RPM Otáčky (ot/min) - - - Acceleration (g) - Zrychlení (g) - - - - Heading (°) - Směr (°) - - - - Volume (mL) - Objem (ml) - - - - Volume (US fl.Oz.) - Objem (US fl.Oz.) - Precision @@ -11713,10 +9643,6 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. Ratio - - Range - Koeficient - Blades @@ -11750,7 +9676,7 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. Positive - Pozitivní + Pozitivní @@ -11761,22 +9687,22 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. TelemetrySensorPanel - + Lowest Nejnižší - + Cell %1 Článek %1 - + Highest Nejvyšší - + Delta @@ -11989,7 +9915,17 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. - + + Instance + + + + + 2 + CH9X {2?} + + + <html><head/><body><p>Start with <span style=" font-style:italic;">0x</span> for hex, <span style=" font-style:italic;">0</span> for octal, otherwise decimal.<br/>Numeric entry only. Blank values are not sent.</p></body></html> @@ -11997,17 +9933,17 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. ThrottlePage - + Yes Ano - + No Ne - + <br>Throttle Channel: <br>Kanál plynu: @@ -12024,40 +9960,41 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. Minute Call Oznamovat minuty - - Persistent - Ukládat hodnoty - TimerPanel - + Silent Tichý - + Beeps Zvuk - + Voice Hlas - + + Haptic + Vibrovat + + + Not persistent Neukládat - + Persistent (flight) Trvalý (v rámci letu) - + Persistent (manual reset) Trvalý (reset ručně) @@ -12196,12 +10133,12 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. VTailPage - + First Tail Channel: První kanál: - + Second Tail Channel: Druhý kanál: @@ -12209,12 +10146,12 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. WingtypeSelectionPage - + Standard Wing Běžné křídlo - + Flying Wing / Deltawing Samokřídlo / Delta @@ -12291,10 +10228,6 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. Flying-wing / Delta-wing Samokřídlo / Delta křídlo - - Are the elevons controlled by servos connected to separate channels or by a single servo channel? - Jsou elevony ovládány dvěma servy, každým na jednoum kanále, nebo jen jedním servem/kanálem ? - Select the elevons channels @@ -12434,10 +10367,6 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect a single receiver channel to two separate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 Modely používají jeden, nebo dva kanály pro ovládání křidélek.<br>Tzv. Y-kabel lze použít pro připojení dvou samostatných serv křidélek do jednoho kanálu přijímače. Pokud jsou vaše serva spojeny Y-kabelem, měli byste zvolit možnost "jeden kanál"<br><br>Spektrum: CH2, Futaba: CH1 - - Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single a receiver channel to two separate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. - Modely používají jeden, nebo dva kanály pro ovládání elevonů.<br>Tzv. Y-kabel lze použít pro připojení dvou samostatných serv elevonů do jednoho kanálu přijímače. Pokud jsou vaše serva spojeny Y-kabelem, měli byste zvolit možnost "jeden kanál". - This wizard assumes that your flaps are controlled by a switch. If your flaps are controlled by a potentiometer you can change that manually later. @@ -12504,424 +10433,41 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. WizardPrinter - + Plane Letadlo - + Multicopter Multikoptéra - + Helicopter Helikoptéra - + Model Name: Název modelu: - + Model Type: Typ modelu: - + Options: Volby: - + Channel %1: Kanál %1: - - appPreferencesDialog - - Simulator capture folder - Složka pro snímky obrazovky Simu - - - Open Folder - Vybrat složku - - - Edit Settings - Upravit nastavení předvoleb - - - Radio Profile - Profil rádia - - - 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 - - - Výběr módu: - -Mode 1: - Levá páka : Výškovka, Směrovka - Pravá páka: Plyn, Křidélka - -Mode 2: - Levá páka : Plyn, Směrovka - Pravá páka: Výškovka, Křidélka - -Mode 3: - Levá páka : Výškovka, Křidélka - Pravá páka: Plyn, Směrovka - -Mode 4: - Levá páka : Plyn, Křidélka - Pravá páka: Výškovka, Směrovka - - - - - Channel order - -This is used by the templated to determine which channel goes to what number output. - Pořadí kanálů - -Toto je použito šablonami k určení -který kanál patří ke kterému výstupu. - - - R E T A - S V P K - - - R E A T - S V K P - - - R T E A - S P V K - - - R T A E - S P K V - - - R A E T - S K V P - - - R A T E - S K P V - - - E R T A - V S P K - - - E R A T - V S K P - - - E T R A - V P S K - - - E T A R - V P K S - - - E A R T - V K S P - - - E A T R - V K P S - - - T R E A - P S V K - - - T R A E - P S K V - - - T E R A - P V S K - - - T E A R - P V K S - - - T A R E - P K S V - - - T A E R - P K V S - - - A R E T - K S V P - - - A R T E - K S P V - - - A E R T - K V S P - - - A E T R - K V P S - - - A T R E - K P S V - - - A T E R - K P V S - - - Default Stick Mode - Výchozí mód vysílačky - - - Profile Name - Název profilu - - - SD Structure path - Cesta k obsahu SD karty - - - 9X - CH9X - - - General Settings - Obecná nastavení - - - Blue - Modrá - - - Green - Zelená - - - Red - Červená - - - Orange - Oranžová - - - Yellow - Žlutá - - - Automatic Backup Folder - Složka pro automatické zálohy - - - Default Channel Order - Výchozí pořadí kanálů - - - Calibrate - Kalibrovat - - - Select your snapshot folder - Vyberte složku pro snímky obrazovky simulátoru - - - No joysticks found - Joystick nenalezen - - - Select your library folder - Vyberte složkus s logy - - - Select your Models and Settings backup folder - Zvolte složku pro automatické zálohy modelů a nastavení - - - Select the folder replicating your SD structure - Vyberte složku která představuje obsah SD karty rádia - - - Open Image to load - Otevřít soubor s logem - - - Images (%1) - obrázky (%1) - - - - avrOutputDialog - - Show Details - Zobrazit podrobnosti - - - result - result - výsledek - - - executable not found - executable not found - spustitelný soubor nebyl nalezen - - - Error - Chyba - - - Cannot open source file - Nemohu otevřít zdrojový soubor - - - Cannot write destination - Do požadovaného místa nelze zapsat - - - Writing file: - Zapisuji soubor: - - - Write error - Chyba zápisu - - - reason - důvod - - - ie: OpenTX for 9X board or OpenTX for 9XR board - ie: OpenTX pro desku 9X nebo OpenTX pro 9XR - - - ie: OpenTX for M128 / 9X board or OpenTX for 9XR board with M128 chip - ie: OpenTX pro M128 / 9X nebo OpenTX pro 9XR s čipem M128 - - - ie: OpenTX for Gruvin9X board - ie: OpenTX pro desku Gruvin9X - - - Your radio uses a %1 CPU!!! - -Please check advanced burn options to set the correct cpu type. - Vaše rádio používá %1 CPU!!! - -Zkontrolujte prosím rozšířená nastavení programátoru a nastavte správný typ CPU. - - - Your radio uses a %1 CPU!!! - -Please select an appropriate firmware type to program it. - Vaše rádio používá %1 CPU!!! - -Vyberte prosím správný typ firmwaru. - - - -You are currently using: - %1 - -Nyní používáte: - %1 - - - Writing - Zápis - - - Reading - Načítání - - - Verifying - Ověřování - - - done - exit code %1 - done - exit code %1 - dokončeno návratový kód %1 - - - done with errors - done with errors - dokončeno s chybami - - - done - SUCCESSFUL - done - SUCCESSFUL - dokončeno ÚSPĚŠNĚ - - - did not finish correctly - did not finish correctly - nebylo správně dokončeno - - - did not finish correctly! -Do you want some help ? - did not finish correctly! -Do you want some help ? - nebylo správně dokončeno! -Chcete poradit ? - - - Copy did not finish correctly - Kopírování nebylo správně dokončeno - - - finished correctly - finished correctly - dokončeno v pořádku - - - Copy finished correctly - Kopírování dokončeno v pořádku - - - Started - Started - Zahájeno - - - FUSES: Low=%1 High=%2 Ext=%3 - POJISTKY: Low=%1 High=%2 Ext=%3 - - burnConfigDialog @@ -13129,500 +10675,12 @@ m2560 pro V4 desky 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>POZOR!</u></b><br>Toto nastaví pojistky %1 do továrního nastavení.<br>Zápis pojistek může poškodit vaše rádio.<br>Proveďte pouze pokud jste si jist že jsou nastaveny špatně!<br>Jste si opravdu jist, že chcete pokračovat? - <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. <b><u>VAROVÁNÍ!</u></b><br>Běžně je typ CPU vybrán podle typu zvoleného firmware.<br>Pokud změníte typ CPU, výsledná eeprom nemusí být platná. - - burnDialog - - Customize Splash - Přizpůsobení loga - - - Write to TX - Zapsat do rádia - - - <html><head/><body><p>Modify calibration parameters using settings from current profile</p></body></html> - <html><head/><body><p>Upraví hodnoty kalibrace parametry ze současného profilu</p></body></html> - - - Patch calibration setting from profile - Zaměnit hodnoty kalibrace hodnotami z profilu - - - <html><head/><body><p>Modify HW parameters using settings from current profile</p></body></html> - <html><head/><body><p>Upraví HW parametery pomocí nastavení současného profilu</p></body></html> - - - Patch HW setting from profile - Zaměnit hodnoty HW nastavení hodnotami z profilu - - - Date & Time - Datum a čas - - - Version - Verze - - - Use firmware start screen - Použít logo z firmwaru - - - Use another start screen - Použít jiné logo - - - Use profile start screen - Použít logo z nastavení profilu - - - Use library start screen - Použít logo z knihovny - - - Variant - Varianta - - - Browse for file - Procházet ... - - - Allows Companion to write to older version of the firmware - Umožní Companion zapisovat do starší verze firmware - - - Backup and restore Models and Settings - Zálohovat a obnovit data modelů a nastavení - - - Check Firmware compatibility - Zkontrolovat kompatibilitu firmware - - - Current Profile - Současný profil - - - Cancel - Zrušit - - - Current profile - Současný profil - - - Warning - Varování - - - Error - Chyba - - - Unable to find file %1! - Nemohu nalézt soubor %1! - - - Error opening file %1: -%2. - Chyba při otevírání souboru %1: -%2. - - - Invalid binary Models and Settings File %1, Proceed anyway ? - Neplatný soubor s binárními daty modelů a nastavení %1, Přesto pokračovat ? - - - Error reading file %1: -%2. - Chyba při otevírání souboru %1: -%2. - - - Profile image %1 is invalid. - Obrázek profilu %1 není platný. - - - Images (%1) - obrázky (%1) - - - Write firmware to Radio - Zapsat firmware do rádia - - - Write Backup to Radio - Zapsat zálohu do rádia - - - Write Backup from %1 to Radio - Zapsat zálohu ze souboru %1 do rádia - - - Open Firmware File - Otevřít soubor firmwaru - - - Choose Radio Backup file - vyberte soubor zálohy rádia - - - %1 may not be a valid firmware file - %1 nemusí být platný soubor firmwaru - - - The firmware file is not valid. - Soubor firmwaru není platný. - - - There is no start screen image in the firmware file. - Soubor firmware neobsahuje žádné logo. - - - Open image file to use as radio start screen - Otevřít soubor obrázku pro použití jako úvodní logo - - - Image could not be loaded from %1 - Nelze načíst obrázek z %1 - - - The library image could not be loaded - Nelze načíst obrázek z knihovny - - - Cannot save customized firmware - Nelze uložit upravený firmware - - - Custom image not found - Vlastní obrázek nebyl nalezen - - - No firmware selected - nebyl vybrán firmware - - - Wrong radio calibration data in profile, Settings not patched - Profil neobsahuje platná kalibrační data, nastavení nebyla upravena - - - Wrong radio setting data in profile, Settings not patched - Profil neobsahuje platná data nastavení rádia, nastavení nebyla upravena - - - Cannot write file %1: -%2. - Nelze zapsat soubor %1: -%2. - - - Error writing file %1: -%2. - Chyba při zápisuí souboru %1: -%2. - - - - compareDialog - - Drag first model here - Přetáhněte jeden model sem - - - Drag second model here - Přetáhněte druhý model sem - - - Close - Zavřít - - - Print - Tisk - - - Print to file - Tisk do souboru - - - General Model Settings - Obecná nastavení modelu - - - Name - Název - - - EEprom Size - Velikost EEPROM - - - Protocol - Protokol - - - Pulse Polarity - Polarita pulzů - - - Throttle Trim - Trim plynu - - - Enabled - Povoleno - - - Disabled - Zakázáno - - - Throttle Expo - Expo plynu - - - Trim Increment - Krok trimu - - - Center Beep - Zvuk ve středové poloze - - - Flight modes Settings - Flight Phases Settings - Nastavení letových fází - - - Fades - Přechody - - - Trims - Trimy - - - Switch - Spínač - - - IN - (+) - - - OUT - (-) - - - FM - FP - LR - - - Gvars - GProm - - - Limits - Limity - - - Offset - Ofset - - - Invert - Invertovat - - - NOR - --- - - - Global Variables - Globální proměnné - - - GV - GP - - - Expo/Dr Settings - Expo/Nastavení DV - - - Weight - Váha - - - Curve - Křivka - - - Mixers - Mixy - - - noTrim - Žádný trim - - - Delay(u%1:d%2) - Zpoždění(u%1:d%2) - - - Slow(u%1:d%2) - Zpomalení(u%1:d%2) - - - Warn - Varování - - - No name - Model bez jména - - - DISABLED - ZAKÁZÁN - - - Curves - Křivky - - - 5 Points Curves - Pěti-bodové křivky - - - pt %1 - bod %1 - - - 9 Points Curves - Devíti-bodové křivky - - - Function - Funkce - - - Param - Parametr - - - Enable - Povoleno - - - Telemetry Settings - Nastavení telemetrie - - - Unit - Jednotky - - - Scale - Rozsah - - - Type - Typ - - - Condition - Podmínka - - - Value - Hodnota - - - Flight mode name - Název režimu - - - Flight modes - Letové režimy - - - Flight mode - Letový režim - - - Repeat - Opakování - - - Telemetry Bars - Telemetrické ukazatele - - - Bar Number - Číslo ukazatele - - - Source - Zdroj - - - Custom Telemetry View - Vlastní zobrazení telemetrie - - - Print Document - Vytisknout dokument - - - Select PDF output file - Vyberte cílový PDF soubor - - - - contributorsDialog - - People who have contributed to this project - Lidé kteří přispěli tomuto projektu - - - Coders - Programátoři - - - Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) - Speciální poděkování patří Rafalu Tomczakovi (RadioClone), -Thomasi Hustererovi (th9x) a také Erazovi Ravivovi(er9x a eePe) - - - Companion Release Notes - Poznámky k vydání Companion - - - Thank you all !!! - Děkujeme vám všem !!! - - - Contributors - Přispěvatelé - - - OpenTX Release Notes - Poznámky k vydání OpenTX - - customizeSplashDialog @@ -13771,72 +10829,6 @@ Thomasi Hustererovi (th9x) a také Erazovi Ravivovi(er9x a eePe) Stažení se nezdařilo: %1. - - fusesDialog - - Fuses - Pojistky mikrokontroléru - - - Read Fuses - Načíst konfiguraci pojistek - - - Reset Fuses -EEPROM - PROTECT - Nastavení pojistek -EEPROM - CHRÁNIT - - - Reset Fuses -EEPROM - DELETE - Nastavení pojistek -EEPROM - SMAZAT - - - <!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:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p align="center" 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;">WARNING</span></p> -<p align="center" 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 align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Changing the fuses can mess up your radio.</p> -<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Proceed only if you know what you are doing.</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:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p align="center" 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;">POZOR!</span></p> -<p align="center" 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 align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Změna pojistek může poškodit vaše rádio.</p> -<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Provádějte pouze pokud opravdu víte co děláte.</p></body></html> - - - - fwPreferencesDialog - - Set language of voice. -May be different from firmware language - Vyberte jazykovou verzi hlasu tts(voice). -Může být jiná než verze firmwaru - - - Processor ID - ID procesoru - - - Voice Language - Jazyk hlasových zpráv - - - Check for updates - Zkontrolovat aktualizace - - - Last downloaded release: %1 - Naposledy stažené vydání: %1 - - joystickDialog @@ -14063,59 +11055,6 @@ Tlačítkem Zrušit přerušíte kalibraci Duplicated stick assignment Duplicitní přiřazení páky - - Duplicated stick assignement - Duplicitní přiřazení páky - - - - logsDialog - - Companion Log Viewer - Prohlížeč logu - - - Filename - Soubor - - - Open LogFile - Otevřít - - - Fly sessions - Lety - - - Telemetry logs - Logy telemetrie - - - Time (hh:mm:ss) - Čas - - - Error - Chyba - - - Cannot write file %1: -%2. - Nelze zapsat soubor %1: -%2. - - - Select your log file - Vyberte soubor s logy - - - Available fields - Dostupná pole - - - The selected logfile contains %1 invalid lines out of %2 total lines - Zvolený soubor logu obsahuje %1neplatných řádků z celkových %2 - mdiChild @@ -14132,14 +11071,6 @@ Tlačítkem Zrušit přerušíte kalibraci Preferences Předvolby - - Check for selected Fw updates - Aktualizace vybraného firmware - - - Ask use of wizard for new models - Zeptat se na použití průvodce pro nový model - Invert Pixels @@ -14151,10 +11082,6 @@ Tlačítkem Zrušit přerušíte kalibraci ... - - Remember switches in simulator - Pamatovat si přepínače v simulátoru - Enable @@ -14171,157 +11098,11 @@ Tlačítkem Zrušit přerušíte kalibraci Open Folder Vybrat složku - - Check for updates - Zkontrolovat aktualizace - Open Image Načíst obrázek - - Language - Jazyk - - - Download - Stáhnout - - - Set language of voice. -May be different from firmware language - Vyberte jazykovou verzi hlasu tts(voice). -Může být jiná než verze firmwaru - - - Voice - Hlas tts - - - Ask for flashing after Download - Po stažení firmwaru se zeptat, zda ho hned zapsat do rádia - - - R E T A - S V P K - - - R E A T - S V K P - - - R T E A - S P V K - - - R T A E - S P K V - - - R A E T - S K V P - - - R A T E - S K P V - - - E R T A - V S P K - - - E R A T - V S K P - - - E T R A - V P S K - - - E T A R - V P K S - - - E A R T - V K S P - - - E A T R - V K P S - - - T R E A - P S V K - - - T R A E - P S K V - - - T E R A - P V S K - - - T E A R - P V K S - - - T A R E - P K S V - - - T A E R - P K V S - - - A R E T - K S V P - - - A R T E - K S P V - - - A E R T - K V S P - - - A E T R - K V P S - - - A T R E - K P S V - - - A T E R - K P V S - - - Export Profile - Exportovat profil - - - Import Profile - Importovat profil - - - Profile Name - Název profilu - - - Automatically add version number to the filename after download - Přidat číslo verze do názvu souboru staženého firmwaru - - - Save Profile - Uložit profil - - - Show Splash At Start - Zobrazit úvodní logo Companion - Simu BackLight @@ -14358,93 +11139,16 @@ Může být jiná než verze firmwaru Yellow Žlutá - - Check for updates on startup - Aktualizace při spuštění - Custom TX splash screen Vlastní úvodní logo - - Channel order - -This is used by the templated to determine which channel goes to what number output. - Pořadí kanálů - -Toto je použito šablonami k určení -který kanál patří ke kterému výstupu. - - - Default Stick Mode - Výchozí mód vysílačky - - - Default Channel Order - Výchozí pořadí kanálů - Personal splash library Vlastní knihovna s logy - - 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 - - - Výběr módu: - -Mode 1: - Levá páka : Výškovka, Směrovka - Pravá páka: Plyn, Křidélka - -Mode 2: - Levá páka : Plyn, Směrovka - Pravá páka: Výškovka, Křidélka - -Mode 3: - Levá páka : Výškovka, Křidélka - Pravá páka: Plyn, Směrovka - -Mode 4: - Levá páka : Plyn, Křidélka - Pravá páka: Výškovka, Směrovka - - - - - Mode 1 (RUD ELE THR AIL) - Mode 1 (Směr.Výšk.Plyn.Křid) - - - Mode 2 (RUD THR ELE AIL) - Mode 2 (Směr.Plyn.Výšk.Křid) - - - Mode 3 (AIL ELE THR RUD) - Mode 3 (Křid.Výšk.Plyn.Směr) - - - Mode 4 (AIL THR ELE RUD) - Mode 4 (Křid.Plyn.Výšk.Směr) - Joystick @@ -14465,38 +11169,6 @@ Mode 4: Splash library behaviour Chování knihovny s logy - - Automatic Backup Folder - Složka pro automatické zálohy - - - SD Structure path - Cesta k obsahu SD karty - - - Processor ID - ID procesoru - - - Recent History Size - Počet položek nedávné historie - - - Find Executable - Najít - - - Google Earth Executable - Spustitelný soubor Google Earth - - - Profile slot - Slot profilu - - - auto backup before write - zálohovat před zápisem - Simulator capture folder @@ -14508,306 +11180,4 @@ Mode 4: Kopírovat pouze do schránky - - printDialog - - Close - Zavřít - - - Print - Tisk - - - Print to file - Tisk do souboru - - - Setup for: - Nastavení: - - - printed on: %1 - vytištěno: %1 - - - General Model Settings - Obecná nastavení modelu - - - Name - Název - - - EEprom Size - Velikost EEPROM - - - Protocol - Protokol - - - Pulse Polarity - Polarita pulzů - - - Throttle Trim - Trim plynu - - - Enabled - Povoleno - - - Disabled - Zakázáno - - - Throttle Expo - Expo plynu - - - Trim Increment - Krok trimu - - - Center Beep - Zvuk ve středové poloze - - - Flight modes Settings - Flight Phases Settings - Nastavení letových fází - - - Fades - Přechody - - - Trims - Trimy - - - Gvars - GProm - - - Switch - Spínač - - - IN - (+) - - - OUT - (-) - - - FM - FP - LR - - - Expo/Dr Settings - Expo/Nastavení DV - - - Weight - Váha - - - Curve - Křivka - - - Mixers - Mixy - - - noTrim - Žádný trim - - - Offset - Ofset - - - Delay(u%1:d%2) - Zpoždění(u%1:d%2) - - - Slow(u%1:d%2) - Zpomalení(u%1:d%2) - - - Warn - Varování - - - DISABLED - ZAKÁZÁN - - - Limits - Limity - - - Invert - Invertovat - - - NOR - --- - - - Curves - Křivky - - - pt %1 - bod %1 - - - Global Variables - Globální proměnné - - - GV - GP - - - Value - Hodnota - - - Function - Funkce - - - Parameter - Parametr - - - Repeat - Opakování - - - Telemetry Settings - Nastavení telemetrie - - - Unit - Jednotky - - - Scale - Rozsah - - - Type - Typ - - - Condition - Podmínka - - - Frsky serial protocol - Sériový protokol Frsky - - - System of units - Systém jednotek - - - Telemetry Bars - Telemetrické ukazatele - - - Bar Number - Číslo ukazatele - - - Source - Zdroj - - - ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) - soubor ODF (*.odt);;soubor PDF (*.pdf);;soubor HTML (*.htm *.html);;Všechny (*) - - - Custom Telemetry View - Vlastní zobrazení telemetrie - - - Flight mode name - Název režimu - - - Flight modes - Letové režimy - - - Flight mode - Letový režim - - - Blades - Počet listů vrtule - - - Print Document - Vytisknout dokument - - - Select PDF output file - Vyberte cílový PDF soubor - - - - SplashLibraryDialog - - - - ... - - - - - Splash Library - page %1 of %2 - Knihovna s logy - strana %1 z %2 - - - - Warning - Varování - - - - Invalid image in library %1 - Neplatné logo v knihovně %1 - - - - Information - - - - - No valid image found in library, check your settings - Nebylo nalezenožádné použitelné logo v knihovně, zkontrolujte nastavení - - - - taranisNotFoundDialog - - No Taranis Radio Found - Rádio Taranis nebylo nalezeno - - - <html><head/><body><p>No Taranis Radio was found!</p><p>Make sure that you hold the lower trim buttons towards the center while you turn it on.</p><p>Then connect the USB wire.</p></body></html> - <html><head/><body><p>Rádio taranis nebylo nalezeno!</p><p>Ujistěte se, že během zapínání rádia, držíte spodní trimy proti sobě.</p><p>Až poté připojte USB kabel.</p></body></html> - - diff --git a/companion/src/translations/companion_de.ts b/companion/src/translations/companion_de.ts index dbb6241ed..30dc7fea1 100644 --- a/companion/src/translations/companion_de.ts +++ b/companion/src/translations/companion_de.ts @@ -4,27 +4,27 @@ AileronsPage - + No Nein - + Yes, controlled by a single channel Ja, mit einem Kanal - + Yes, controlled by two channels Ja, mit 2 Kanälen - + <br>First Aileron Channel: <br> Erster, rechter Querruder Kanal - + Second Aileron Channel: Zweiter, linker Querruder Kanal @@ -32,27 +32,27 @@ AirbrakesPage - + No Nein - + Yes, controlled by a single channel Ja, mit 1 Servo - + Yes, controlled by two channels Ja, mit 2 Servos - + <br>First Airbrake Channel: <br> Erster, rechter Airbrake Kanal - + Second Airbrake Channel: Zweiter, linker Airbrake Kanal @@ -74,7 +74,7 @@ - + Open Folder Verzeichnis öffnen @@ -103,10 +103,6 @@ Select Image Wähle Bild - - Processor ID - Prozessor ID - Mode selection: @@ -330,7 +326,7 @@ Mode 4: - + Simulator Volume Gain Simulator Lautstärke einst. @@ -370,10 +366,6 @@ Mode 4: May be different from firmware language - - Radio Firmware - Sender Firmware - Other Settings @@ -389,12 +381,6 @@ May be different from firmware language SD Structure path SD Verzeichnis Pfad - - Set language of voice. -May be different from firmware language - Ansagesprachen einstellen -Das kann auch unterschiedlich zur Firmwaresprache sein - Voice Language @@ -477,62 +463,62 @@ Das kann auch unterschiedlich zur Firmwaresprache sein Simulator Einstellungen - + Simulator BackLight Simulator LCD Beleuchtung - + Enable Freigabe - + Blue Blau - + Green Grün - + Red Rot - + Orange Orange - + Yellow Gelb - + Joystick Joystick - + Calibrate Kalibrieren - + Simulator capture folder Simu Hardcopy Verzeichnis - + Only capture to clipboard Hardcopy nur in die Zwischenablage speichern - + Remember simulator switch values Schalterstellungen im Simulator merken @@ -547,87 +533,68 @@ Das kann auch unterschiedlich zur Firmwaresprache sein Auswahl des Snapshot Verzeichnis - - + + No joysticks found Kein Joystick gefunden - + EMPTY: No radio settings stored in profile LEER: Keine Sender-Einstellungen im Profil gespeichert - + AVAILABLE: Radio settings of unknown age Verüfgbar: Sender-Einstellungen mit unklarem Alter - + AVAILABLE: Radio settings stored %1 Verfügbar: Sender-Einstellungen gespeichert %1 - + Select your library folder Auswahl des Bibliotheks-Verzeichnis - - + + Select your Models and Settings backup folder Auswahl der Modell-und Einstellungs-Verzeichnisse - + Select Google Earth executable Wähle Google Earth exe - + Select the folder replicating your SD structure - + Not possible to remove profile - + The default profile can not be removed. - + Open Image to load Öffne Bild zum laden - + Images (%1) Bilder (%1) - - BankPage - - One - Ein - - - Two - Zwei - - - <br>First Elevon Channel: - <br>Erster Rechter Höhenruder Kanal - - - Second Elevon Channel: - Zweiter Linker Höhenruder Kanal - - Calibration @@ -804,11 +771,6 @@ Das kann auch unterschiedlich zur Firmwaresprache sein Stick 4 Knüppel 4 - - - Battery - Sender-Akku - v @@ -829,10 +791,15 @@ Das kann auch unterschiedlich zur Firmwaresprache sein PPM 4 PPM 4 + + + Battery Offset + + - Current - Strom + Current Offset + @@ -1081,473 +1048,17 @@ Das kann auch unterschiedlich zur Firmwaresprache sein Druck in Datei - + No name Kein Namen - - General Model Settings - Allgemeine Modell Einstellungen - - - - - - Name - Name - - - - - EEprom Size - EEprom Größe - - - - - Timer1 - Stoppuhr1 - - - - - Timer2 - Stoppuhr2 - - - - - Internal Radio System - Internes HF Modul - - - - - Radio System - Sender System - - - - - - - Protocol - Protokoll - - - Pulse Polarity - Pulspolarität - - - - - Throttle Trim - Gast Leerlaufrim - - - - - Enabled - Freigabe - - - - - Disabled - Inaktiv - - - Throttle Expo - Gas Expo - - - - - External Radio Module - Externes HF Modul - - - - - Extra Radio System - - - - - - Trainer port mode - - - - - - Trim Increment - Trimmung Inkrement - - - - - Center Beep - Zentrier Pieps - - - - Flight modes Settings - Flugphasen Einstellungen - - - - - Fades - Übergänge - - - - - Trims - Trimmungen - - - - - Switch - Schalter - - - - - - - Flight mode name - Flugphasen Name - - - - - IN - IN - - - - - OUT - OUT - - - - - - - - - - - - - FM - FM - - - - - Gvars - Gvars - - - - - Rot. Enc. - Drehgeber - - - - Limits - Grenzen - - - - - - - - Offset - Offset - - - - - - - - Min - Min - - - - - - - - Max - Max - - - - - - Invert - Invertieren - - - - - - - - CH - CH - - - - - INV - INV - - - - - NOR - NOR - - - - Global Variables - Globale Variablen - - - - - GV - GV - - - - Inputs - Inputs - - - - L - L - - - Expo/Dr Settings - Expo/DR-Einstellungen - - - Weight - Gewichtung - - - Flight modes - Flugphasen - - - Flight mode - Flugphasen - - - DISABLED - Gesperrt - - - - Mixers - Mischer - - - noTrim - keinTrim - - - Delay(u%1:d%2) - Verzögerung(u%1:d%2) - - - Slow(u%1:d%2) - Langsam/u%1:d%2) - - - Warn - Warnung - - - - Curves - Kurven - - - L%1 - L%1 - - - 5 Point Curves - 5 Punkt Kurve - - - pt %1 - Pkt %1 - - - - - Curve - Kurve - - - 9 Point Curves - 9 Punkt Kurve - - - - Logical Switches - Logische Schalter - - - LS - LS - - - - Special Functions - Spezial Funktionen - - - Function - Funktion - - - Param - Parameter - - - Repeat - Wiederholen - - - Enable - Freigabe - - - - SF - SF - - - - Telemetry Settings - Telemetrie Einstellungen - - - - - Analog - Analog - - - - - Unit - Einheit - - - - - Scale - Skalierung - - - - - - - A%1 - A%1 - - - - - Alarm 1 - Alarm 1 - - - - - Alarm 2 - Alarm 2 - - - - - - - Type - Typ - - - - - - - Condition - Bedingung - - - - - - - Value - Wert - - - - - RSSI Alarm - RSSI-Alarm - - - - - Custom Telemetry View - Telemetrie Ansicht - - - - - Telemetry Bars - Telemetrie Balken - - - - - Bar Number - Balkennummer - - - - - Source - Quelle - - - + Print Document Drucke Dokument - + Select PDF output file PDF Output Datei wählen @@ -1555,7 +1066,7 @@ Das kann auch unterschiedlich zur Firmwaresprache sein ConclusionPage - + OK, I understand. OK verstanden @@ -1593,12 +1104,12 @@ Das kann auch unterschiedlich zur Firmwaresprache sein - - Thank you all !!! - Besten Dank an alle! + + OpenTX Blacklist + - + monthly @@ -1631,40 +1142,28 @@ Das kann auch unterschiedlich zur Firmwaresprache sein CurveGroup - + Diff Diff - + Expo Expo - + Func Funktion - + Curve Kurve Curves - - Form - Form - - - Standard - Nur Y Werte - - - Custom - X und Y - Fixed X @@ -1806,10 +1305,6 @@ Das kann auch unterschiedlich zur Firmwaresprache sein Are you sure you want to reset all curves? Wirklich alle Kurven löschen? - - Are you sure you want to reset curve %1 ? - Die Kurve %1 wirklich löschen? - Editing curve %1 @@ -1870,42 +1365,42 @@ Das kann auch unterschiedlich zur Firmwaresprache sein Kann das Soundfile %1 nicht finden - + &Delete &Löschen - + Delete Löschen - + &Copy &Kopieren - + Ctrl+C Ctrl+C - + &Cut &Ausschneiden - + Ctrl+X Ctrl+X - + &Paste Ein&fügen - + Ctrl+V Ctrl+V @@ -1913,22 +1408,22 @@ Das kann auch unterschiedlich zur Firmwaresprache sein CyclicPage - + 90 90 - + 120 120 - + 120x 120x - + 140 140 @@ -1941,236 +1436,110 @@ Das kann auch unterschiedlich zur Firmwaresprache sein Debug Ausgabe + + EepromInterface + + + Possible causes for this: + + + + + - Eeprom is from a newer version of OpenTX + + + + + - Eeprom is not from OpenTX + + + + + - Eeprom is not from Th9X + + + + + - Eeprom is not from Gruvin9X + + + + + - Eeprom is not from ErSky9X + + + + + - Eeprom is not from Er9X + + + + + - Eeprom size is invalid + + + + + - Eeprom file system is invalid + + + + + - Eeprom is from a unknown board + + + + + - Eeprom is from the wrong board + + + + + - Eeprom backup not supported + + + + + - Something that couldn't be guessed, sorry + + + + + Warning: + + + + + + - Your radio probably uses a wrong firmware, + eeprom size is 4096 but only the first 2048 are used + + + + + - Your eeprom is from an old version of OpenTX, upgrading! + You should 'save as' to keep the old file as a backup. + + + + + Warnings! + + + ElevonsPage - + <br>First Elevon Channel: <br>Erster Rechter Höhenruder Kanal - + Second Elevon Channel: Zweiter Linker Höhenruder Kanal - - Er9x::Templates - - - Simple 4-CH - - - - - T-Cut - - - - - Sticky T-Cut - - - - - V-Tail - V-Leitwerk - - - - Elevon\Delta - - - - - Heli Setup - Heli Setup - - - - Heli Setup with gyro gain control - Heli Setup mit Kreisel Verstärkung - - - - Gyro gain control - Kreisel Verstärkung - - - - Heli Setup (Futaba's channel assignment style) - - - - - Heli Setup with gyro gain control (Futaba's channel assignment style) - - - - - Gyro gain control (Futaba's channel assignment style) - - - - - Servo Test - Servo Test - - - - MultiCopter - Multikopter - - - - Use Model Config Wizard - - - - - Apply Template? - - - - - Apply template "%1"? - - - - - - - - - - - RUD - Sei - - - - - - - - - - - - - ELE - Höh - - - - - - THR - Gas - - - - - - - - - - - AIL - Qur - - - - - - - AIL2 - Qur2 - - - - - - - ELE2 - Höh2 - - - - - - - - - FLAPS - Flaps - - - - - - - - - FLAP%1 - FLAP%1 - - - - - - - PITCH - Pitch - - - - - - - - - - - GYRO - Gyro - - - - - SPOIL - Spoiler - - - - - SPOIL%1 - Spolier%1 - - - - - RUD2 - Sei2 - - - - - Clear Mixes? - Mischer löschen? - - - - Really clear existing mixes on CH6? - - - - - Really clear existing mixes on CH5? - - - ExpoDialog @@ -2200,64 +1569,16 @@ Das kann auch unterschiedlich zur Firmwaresprache sein Input name Input Name - - Phase used by the input. - Flugphase bei diesem Input - Flight modes Flugphasen - - 0 - 0 - - - 1 - 1 - - - 2 - 2 - - - 3 - 3 - - - 4 - 4 - - - 5 - 5 - - - 6 - 6 - - - 7 - 7 - - - 8 - 8 - Switch Schalter - - Switch used by the input.If blank then the input is considered to be "ON" all the time. - Schalter für die Inputauswahl. Wenn kein Schalter gesetzt wird ist der Input immer aktiv "EIN" - - - The curve used by the input - Die Kurve als Input verwenden - Source @@ -2273,31 +1594,6 @@ Das kann auch unterschiedlich zur Firmwaresprache sein Stick Side Knüppel Seite - - <!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 and 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;">Verzögerung</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;">Diese Einstellung beeinflußt die Geschwindigkeit und Verzögerung des Mischerausganges.</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;">Wenn Verzögerung ungleich 0 ist wird die Betätigung der Mischerfunktion für die eingegebene Anzahl Sekunden verzögert</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;">Wenn Langsam ungleich 0 ist wird die Geschwindigkeit des Mischers durch den eingegebenen Wert beeinflußt. Der Wert legt die -Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 benötigen soll.</p></body></html> - Scale @@ -2359,50 +1655,26 @@ If blank then the input is considered to be "ON" all the time.Edit %1 Edit %1 - - - Rud - Sei - - - - Ele - Höh - - - - Thr - Gas - - - - Ail - Quer - FblPage - Trottle Channel: - Gas Kanal - - - + Throttle Channel: Gas Kanal - + Yaw Channel: Yaw Heck Kanal - + Pitch Channel: Pitch Kanal - + Roll Channel: Roll Kanal @@ -2424,58 +1696,12 @@ If blank then the input is considered to be "ON" all the time.Voice Stimme - - Set language of voice. -May be different from firmware language - Sprachdatei einstellen -kann auch von der Firmwaresprache abweichen - Set voice language. May be different from firmware language - - en - EN - - - cz - CZ - - - de - DE - - - es - ES - - - fi - FI - - - fr - FR - - - it - IT - - - pl - PL - - - pt - PT - - - se - SE - Download Voice @@ -2491,10 +1717,6 @@ May be different from firmware language Firmware Firmware - - - - - - Latest Download @@ -2504,27 +1726,27 @@ May be different from firmware language FlapsPage - + No Nein - + Yes, controlled by a single channel Ja mit einem Kanal - + Yes, controlled by two channels Ja, mit 2 Kanälen - + <br>First Flap Channel: <br> Erster, rechter Flap Kanal - + Second Flap Channel: Zweiter, linker Flap Kanal @@ -2533,7 +1755,7 @@ May be different from firmware language FlashEEpromDialog - + Write Models and Settings to Radio Schreibe Modelle und Einstellungen in den Sender @@ -2607,14 +1829,14 @@ May be different from firmware language - - - - - - - - + + + + + + + + Error Fehler @@ -2626,73 +1848,73 @@ May be different from firmware language - + Error opening file %1: %2. Fehler beim Öffnen der Datei %1: %2. - - + + Invalid Models and Settings File %1 Ungültige Modell- und Einstellungsdatei %1 - + Error reading file %1: %2. - + Invalid Models and Settings file %1 - - - - + + + + Warning Warnung - + 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. Fehler beim Schreiben der Datei %1: %2. - + The radio firmware belongs to another product family, check file and preferences! - + The radio firmware is outdated, please upgrade! Die Sender Firmware ist überholt, bitte updaten! - + Cannot check Models and Settings compatibility! Continue anyway? @@ -2776,8 +1998,8 @@ May be different from firmware language - - + + Warning Warnung @@ -2831,58 +2053,58 @@ May be different from firmware language - + Splash image not found - + Cannot save customized firmware Kann benutzerspezifische Firmware nicht speichern - + Write Firmware to Radio Schreibe Firmware in den Sender - - + + Firmware check failed - + Could not check firmware from radio - + New firmware is not compatible with the one currently installed! - + Conversion failed Umwandlung gescheitert - + Cannot convert Models and Settings for use with this firmware, original data will be used - + Restore failed Wiederherstellung gescheitert - + Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - + Flashing done @@ -2985,10 +2207,6 @@ Please use ZADIG to properly install the driver. FlightMode - - Form - Form - Fade In @@ -3009,118 +2227,39 @@ Please use ZADIG to properly install the driver. Switch Schalter - - trim1 - Trim1 - - - trim2 - Trim2 - - - trim4 - Trim4 - - - trim3 - Trim3 - - - Rud - Sei - - - Ele - Höh - - - Thr - Gas - - - Ail - Quer - - - Rotary Encoder %1 - Drehgeber %1 - - - GVAR%1 - GVAR%1 - - - Popup enabled - GVAR im Popupfenster anzeigen - FlightModePanel - - Rud - Sei - - - - Ele - Höh - - - - Thr - Gas - - - - Ail - Que - - - + Rotary Encoder %1 Drehgeber %1 - + GVAR%1 GVAR%1 - + Popup enabled Anzeige im Popupfenster freigeben - - FlightModes - - Flight Mode %1 - Flugphase %1 - - - (%1) - (%1) - - - (default) - (normal) - - FlightModesPanel - + Flight Mode %1 Flugphase %1 - + (%1) (%1) - + (default) (normal) @@ -3128,17 +2267,17 @@ Please use ZADIG to properly install the driver. FlybarSelectionPage - + Has Flybar Has Flybar - + Flybarless Flybarless - + Flybar: Flybar: @@ -3265,282 +2404,11 @@ Dieses sind für alle Modelle im gleichen EEPROM gültig. Setup Einstellungen - - Contrast - LCD Kontrast - - - <!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> - LCD Display Kontrast -Die Werte können sein - - - Sound Mode - Sound Modus - - - Beeper - Piepser - - - Speaker Pitch (spkr only) - Lautstärke (Spkr Pitch) - - - Battery Warning - Sender Akkuwarnung - - - Battery warning voltage. This is the threashhold where the battery warning sounds. Acceptable values are 5v..10v - Warnung Akkuspannung. Dies ist die Warnschwelle bei der die Akkuwarnung piepst Mögliche Werte von 5V..10V - - - This is the switch selectrion for turning on the backlight (if installed). - - - Dies ist der Schalter für das Anschalten der Hintergrundbeleuchtung (falls eingebaut). - - - - - If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. - Wenn dieser Wert ungleich 0 ist, wird die Hintergrundbeleuchtung nach irgendeinem Tastendruck eingeschaltet -und nach einer eingestellten Zeit in Sekunden ausgeschaltet. - - - sec - sek - - - Inactivity Timer - Inaktivitätstimer - - - If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes. - Falls ungleich 0 ertönt ein Piepston wenn der Sender für eine bestimmte Anzahl Minuten nicht bedient wurde. - - - min - Min - - - Show Splash Screen on Startup - Zeige Startbild an - - - Show splash screen on startup - Zeige Startbild an - - - <!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=" 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;">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> - Warnungen -Diese Einstellungen definieren die Warnungen beim Einschalten. -Warnung Gasknüppelstellung - Wird angezeigt wenn der Gasknüppel beim Einschalten nicht in der Leerlaufstellung ist. -Warnung Schalterstellung - Wird angezeigt wenn die Schalter nicht in Ihrer Ausgangsposition sind -Warnung Speicherplatz - Wird angezeigt wenn zuwenig Speicherplatz vorhanden ist. -Warnung stummer Betrieb - Wird angezeigt, wenn der Piepser komplett ausgeschaltet ist - - - - Channel Order (For Templates) - Kanalanordnung (für Templates) - - - Channel order - -This is used by the templated to determine which channel goes to what number output. - Kanalanordung - -Damit werden die Kanäle den Ausgängen zugeordnet. - - - Stick Mode - Knüppelmodus - - - 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 - - - Modusauswahl: - -Mode 1: - Linker Knüppel: Höhe, Seite - Rechter Knüppel: Gas, Quer - -Mode 2: - Linker Knüppel: Gas, Seite - Rechter Knüppel: Höhe, Quer - -Mode 3: - Linker Knüppel: Höhe, Quer - Rechter Knüppel: Gas, Seite - -Mode 4: - Linker Knüpple: Gas, Quer - Rechter Knüppel: Höhe, Seite - - - - - Mode 1 (RUD ELE THR AIL) - Mode 1 (Sei Höh Gas Que) - - - Mode 2 (RUD THR ELE AIL) - Mode 2 (Sei Gas Höh Que) - - - Mode 3 (AIL ELE THR RUD) - Mode 3 (Que Höh Gas Sei) - - - Mode 4 (AIL THR ELE RUD) - Mode 4 (Que Gas Höh Sei) - - - Beeper Mode - Modus Piepser - - - 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. - Lautstärke Piepser - -0 - Leise. Kein Piepston -1 - Kein Tastaturpieps. Normale Piepstöne aber kein Tastaturpieps -2 - Normal -3 - Laut -4 - Sehr laut. - - - Quiet - Stumm - - - No Keys - Kein Tastenpieps - - - Normal - Normal - - - Long - Lange - - - Off - Aus - Trainer Schüler Signaleingang - - PPM 1 - PPM 1 - - - chn1 - Kanal 1 - - - Rud - Sei - - - chn2 - Kanal 2 - - - chn3 - Kanal 3 - - - chn4 - Kanal 4 - - - Mode - Modus - - - Only Alarms - Nur Alarme - - - All - Alles - - - Beeper Length - Piepser Länge - - - X-Short - X-kurz - - - Short - Kurz - - - X-Long - X-lang - - - Haptic Mode - Haptik Modus - - - Alarms Only - Nur Alarme - - - Haptic Length - Haptik Länge - - - GPS Coordinates - GPS Koordinaten - Store calib. and hw settings in selected profile @@ -3551,585 +2419,6 @@ Mode 4: Retrieve calib. and hw settings from profile Verwende Kal-und HW Einstellungen aus dem Profil - - Speaker - Lautsprecher - - - BeeperVoice - Beeper Stimme - - - SpeakerVoice - Sprecher Stimme - - - hh° (N/S) mm' ss''.dd - GMS hh° (N/S) mm' ss''.dd - - - NMEA - NMEA - - - Timeshift from UTC - Zeitverschiebung von UTC - - - LCD Display Type - LCD Display Typ - - - Standard - Standard - - - Optrex - Optrex LCD - - - Speaker Volume - Lautstärke Gesamt - - - Haptic Strength - Haptik Stärke - - - BackLight Brightness - Backlight Helligkeit - - - RotEnc Navigation - Drehgeber Navigation - - - BackLight Auto OFF after - Backlight autom. AUS nach - - - BackLight Switch - Backlight Schalter - - - Country Code - Ländercode - - - Europe - Europa - - - Japan - Japan - - - America - Amerika - - - Voice Language - Ansagesprache - - - Beep volume - Piepser Lautstärke - - - Wav volume - Wav Lautstärke - - - Vario volume - Vario Lautstärke - - - Background volume - Hintergrundlautstärke - - - Measurement Units - Maßeinheiten - - - Metric - Metrisch - - - Imperial - Imperial - - - FAI Mode - FAI Modus - - - MAVLink Baud Rate - Mav Link Baudrate - - - 4800 Baud - 4800 Baud - - - 14400 Baud - 14400 Baud - - - 19200 Baud - 19200 Baud - - - 38400 Baud - 38400 Baud - - - 57600 Baud - 57600 Baud - - - 76800 Baud - 76800 Baud - - - 115200 Baud - 115200 Baud - - - If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. - Achutng Bei FAI-Mode gibt es keine Vario, keine Ansage und Telemetrie. Diese Funktionen können dann nicht mehr am Sender aktivert werden - - - R E T A - S H G Q - - - Color 1 - Farbe 1 - - - Color 2 - Farbe2 - - - Vario pitch at zero - Vario Tonhöhe bei Min-Sink - - - Backlight Brightness - LCD Beleuchtung Helligkeit - - - Backlight Auto OFF after - LCD Beleuchtung AUS nach - - - Backlight color - LCD Beleuchtung Farbe - - - Backlight Switch - LCD Beleuchtung EIN mit - - - Stick reverse (order as above) - Knüppel invers (Reihenfolge wie oben) - - - R E A T - S H Q G - - - R T E A - S G H Q - - - R T A E - S G Q H - - - R A E T - S Q H G - - - R A T E - S Q G H - - - E R T A - H S G Q - - - E R A T - H S Q G - - - E T R A - H G S Q - - - E T A R - H G Q S - - - E A R T - H Q S G - - - E A T R - H Q G S - - - T R E A - G S H Q - - - T R A E - G S Q H - - - T E R A - G H S Q - - - T E A R - G H Q S - - - T A R E - G Q S H - - - T A E R - G Q H S - - - A R E T - Q S H G - - - A R T E - Q S G H - - - A E R T - Q H S G - - - A E T R - Q H G S - - - A T R E - Q G S H - - - A T E R - Q G H S - - - Play Delay (switch mid position) - Schalter Mittenpos. verzögern - - - Backlight flash on alarm - LCD Beleucht. an bei Alarm - - - S3 Type - S3-Type - - - OFF - AUS - - - S-Port Mirror - S_Port Ausgang - - - Debug - Debugmode - - - Serial Port - Serielle Schnittstelle - - - Readonly Unlock - Schreibschutz freigeben - - - Default Channel Order - Voreingest. Kanalordnung - - - <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> - <html><head/><body><p>Kanalreihenfolge</p><p><br/></p><p>Legt die Reihenfolge für die Mischer fest wenn ein neues Modell erzeugt wird</p></body></html> - - - SC - SC - - - SE - SE - - - SA - SA - - - SF - SF - - - SH - SH - - - SD - SD - - - SB - SB - - - SG - SG - - - Hz - Hz - - - "No Sound" Warning - Keine Sound Warnung - - - Low Memory Warning - Low Memory Warnung - - - Battery warning voltage. -This is the threashhold where the battery warning sounds. - -Acceptable values are 5v..10v - Akku Unterspannungswarnung. -Legt die Schaltschwelle fest wann die Warnung für die Akku-Unterspannungmeldung kommt. - -Werte liegen zwischen 5-10V - - - --- - --- - - - 2s - 2s - - - 3s - 3s - - - 4s - 4s - - - 6s - 6s - - - 8s - 8s - - - 10s - 10s - - - 15s - 15s - - - Vario pitch at max - Vario Tonhöhe bei Max-Steig - - - ms - ms - - - Vario repeat at zero - Vario Ton Wiederholrate - - - Input - Eingang - - - Weight - Gewichtung - - - += (Sum) - += (Add) - - - := (Replace) - := (Ersetzen) - - - Ele - Höh - - - Thr - Gas - - - Ail - Que - - - Pot. 4 - Poti 4 - - - Pot. 3 - Poti 3 - - - Pot. 2 - Poti 2 - - - Pot. 1 - Poti 1 - - - Stick 3 - Stick 3 - - - Stick 1 - Stick 1 - - - Stick 2 - Stick 2 - - - Stick 4 - Stick 4 - - - PPM 2 - PPM 2 - - - PPM 3 - PPM 3 - - - PPM 4 - PPM 4 - - - Calibration - Kalibrierung - - - POT 4 - POT 4 - - - Current - Strom - - - None - Kein - - - Pot (normal) - Poti(normal) - - - Multipos Switch - Stufen Schalter - - - S1 Type - S1-Type - - - S2 Type - S2 Type - - - Mid value - Mid Value - Mitte Wert - - - STICK 1 - KNÜPPEL 1 - - - STICK 2 - KNÜPPEL 2 - - - STICK 3 - KNÜPPEL 3 - - - Negative span - Min Wert - - - Positive span - Max Wert - - - STICK 4 - KNÜPPEL 4 - - - POT 1 - POT 1 - - - POT 2 - POT 2 - - - POT 3 - POT 3 - - - Battery - Sender-Akku - - - v - V - - - PPM Multiplier - PPM Multiplikator - - - 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 ? - Wenn Sie den FAI-Mode aktiveren gibt es kein Vario, keine Ansagen und Telemetrieanzeigen mehr -Diese Funktionen können dann am Sedner nicht wieder freigeschaltet werden! -Sind Sie sicher, dass sie das so wollen? - Global Functions @@ -4971,27 +3260,23 @@ Sind Sie sicher, dass sie das so wollen? GyroPage - + No Nein - + Yes, controled by a switch Ja, mit Schalter gesteuert - + Yes, controlled by a pot Ja, mit Poti gesteuert Heli - - Form - Form - Invert Elevator @@ -5007,19 +3292,11 @@ Sind Sie sicher, dass sie das so wollen? Invert Collective Kollective Pitch invertieren - - Elevator - Nick-Quelle u. Gewichtung - Invert Invertieren - - Aileron - Roll-Quelle u. Gewichtung - Off @@ -5074,26 +3351,22 @@ Sind Sie sicher, dass sie das so wollen? HeliPage - Trottle Channel: - Gas Kanal - - - + Throttle Channel: Gas Kanal - + Yaw Channel: Yaw (Heck) Kanal - + Pitch Channel: Pitch Kanal - + Roll Channel: Roll Kanal @@ -5124,39 +3397,11 @@ Sind Sie sicher, dass sie das so wollen? Ctrl+Down Ctrl+Down - - Clear All Settings - Alle Einstellungen reseten - Clear All Inputs Alle Inputs löschen - - Source(%1) - Quelle(%1) - - - No Trim - Kein Trim - - - Weight(%1) - Gewichtung(%1) - - - Offset(%1) - Offset(%1) - - - NoTrim - Kein Trim - - - Switch(%1) - Schalter(%1) - Not enough available inputs! @@ -5492,784 +3737,656 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt MainWindow - - - + + + File loaded Datei geladen - - - + + + Save As Speichern unter - - + + No updates available at this time. Kein Update vorhanden. - + Unable to check for updates. Kann nicht auf Updates überprüfen. - + Executable (*.exe) Anwendung (*.exe) - A new release of Companion is available please check the OpenTX website! - Eine neue Companionversion ist verfügbar, bitte auf die OpenTX Webseite schauen! - - - + Would you like to launch the installer? Möchtest Du das Installationsprogramm starten ? - + Compilation server requires registration, please check OpenTX web site Der Compiler-Server benötigt eine Registration, bitte auf der OpenTX-Webseite prüfen - + Do you want to write the firmware to the radio now ? Wollen sie die Firmware jetzt in den Sender schreiben - A new version of %1 firmware is available (current %2 - newer %3). -Do you want to download it now ? - Eine neue Version der %1-Firmware ist verfügbar (aktuell %2 - neueste %3).. -Möchten Sie sie jetzt herunterladen? - - - - + + File saved Datei gespeichert - + Read Models and Settings From Radio Lese Modell und Einstellungen vom Sender - Write Radio Backup from %1 to the radio? - Schreibe SenderBackup von %1 in den Sender - - - + Save Radio Backup to File Speichere Sender Backup in Datei - Read Radio Backup - Lese Sender Backup - - - + Read Radio Firmware to File Lese Sender Firmware in Datei - - Copyright - Copyright - Display previous warning again at startup ? - + New release available Neuer Softwarestand verfügbar - - + + Error Fehler - + Error opening file %1: %2. Fehler beim Öffnen der Datei %1: %2. - + Compilation server termporary failure, try later Compiler Server hat einen temporärer Fehler , später nochmal versuchen - + A new version of Companion is available (version %1)<br>Would you like to download it? Eine neue Version von Companion ist verfügbar (version%1)<br>Wollen Sie die jetzt Donwloaden? - + A new release of Companion is available, please check the OpenTX website! Eine neue Version von Companion ist verfügbar, bitte auf der opentx webseite nachsehen! - + Not enough memory for all the selected firmware options Nicht genügend Speicher für all die ausgewählen Optionen - Compilation server temporary failure, try later - Compilation-Server hat einen temporären Fehler, Bitte später nochmal versuchen - - - + Compilation server too busy, try later Compilation-Server ist ausgelastet, Bitte später nochmal versuchen - + Unknown server failure, try later Unbekannter Server Fehler, Bitte später nochmal versuchen - Firmware %1 does not seem to have ever been downloaded. -Version %2 is available. -Do you want to download it now ? - Firmware %1 scheint noch nie heruntergeladen worden sein. -Version %2 ist verfügbar. -Möchten Sie sie jetzt herunterladen? - - - - + + Yes Ja - - + + No Nein - - + + Release Notes Softwarestände - - + + Do you want to download release %1 now ? Wollen sie jetzt das Release %1 downloaden? - + The selected language will be used the next time you start Companion. Sprache beim Start von Companion auswählen - OK - 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 Models and Settings file Öffne Modelle und Einstellungs Datei - + Firmware updates Firmware updates - + Current firmware does not provide release notes informations. - Cannot write file %1: -%2. - Kann Datei %1: -%2 nicht schreiben. - - - Backup is impossible - Backup ist nicht möglich - - - The backup dir set in preferences does not exist - Das voreingestellte Backup-Verzeichnis existiert nicht - - - Backup Models and Settings From Radio - Backup von Modellen und Einstellungen aus dem Sender lesen - - - Warning - Warnung - - - The radio firmware is outdated, please upgrade! - Die Sender Firmware ist überholt, bitte updaten! - - - Write Backup To Radio - Schreibe Backup in den Sender - - - Write Firmware To Radio - Schreibe Firmware in den Sender - - - Conversion failed - Umwandlung gescheitert - - - Restore Models and Settings To Radio - Wiederherstellen von Modellen und Einstellungen im Sender - - - Restore failed - Wiederherstellung gescheitert - - - Backup failed - Sicherung fehlgeschlagen - - - Firmware write failed - Firmware schreiben fehlerhaft - - - + Load backup from file Lade Backup von Datei - + OpenTX Home Page: <a href='%1'>%1</a> OpenTX Home Page: <a href='%1'>%1</a> - + If you've found this program useful, please support by <a href='%1'>donating</a> - Version %1, %3 - Version %1, %3 - - - + About Companion Über Companion - + Compare models Vergleiche Modelle - + Exit the application Beendet die Anwendung - Do you want to download release %1 %2 now ? - Wollen sie jetzt das Release %1 downloaden? {1 %2 ?} - - - + Ignore this release %1? - + The OpenTX Companion project was originally forked from <a href='%1'>eePe</a> - + Copyright OpenTX Team - + New Neu - + Open... Öffnen - + Save Speichern - + Save As... Speichern als - + Copy Model Kopiere Modell - + A monochrome black icon theme - + A monochrome white icon theme - + A monochrome blue icon theme - + Small Klein - + Use small toolbar icons - + Use normal size toolbar icons - + Normal Normal - + Use big toolbar icons - + Big Groß - + Use huge toolbar icons - + Huge Riesig - OpenTX Companion - FW: %1 - Profile: %2 - OpenTX Companion - FW: %1 - Profile: %2 - - - New Models+Settings - Neue Modelle+Einstellungen - - - + Create a new Models and Settings file Erzeuge eine neue Modell-und Einstellungen-Datei - Open Models+Settings... - Öffne Modelle+Einstellungen... - - - Save Models+Settings... - Speichere Modelle+Einstellungen... - - - - + + Save Models and Settings file Speichere Modell und Einstellungen in Datei - Save Models+Settings as... - Speichere Modell+Einstellungen als... - - - + Exit Fertig - + Cut Model Ausschneiden Modell - + Cut current model to the clipboard Ausschneiden aktuelles Modell und in Zwischenablage - Copy Model... - Kopiere Modell... - - - + Copy current model to the clipboard Kopiere Modell in die Zwischenablage - Paste Model... - Einfügen Modell... - - - + Paste model from clipboard Einfügen Modell aus Zwischenablage - + Paste Model Einfüge Modell - + Classical Klassisch - + The classic companion9x icon theme - + Yerico Yerico - + Yellow round honey sweet icon theme - + Monochrome Monochrom - + MonoWhite Weiß - + MonoBlue Blau - + System language Systemsprache - + Use system language in menus Systemsprache in den Menüs - + Czech Czech - + Use Czech in menus Use Czech in menus - + German Deutch - + Use German in menus Deutsch für die Menüs - + English English - + Use English in menus Englisch für die Menüs - + Finnish Finish - + Use Finnish in menus - + French French - + Use French in menus - + Italian Italien - + Use Italian in menus - + Polish Polish - + Use Polish in menus Use Polish in menus - + Spanish Spanish - + Use Spanish in menus - + Swedish Swedish - + Use Swedish in menus - + About... Über - + Print... Drucken - + Print current model Drucke aktuelles Modell - + Simulate... Simulation... - + Simulate current model Simulation aktuelles Modell - + Alt+S Alt+S - + Load Backup... Lade Backup - + View Log File... Anzeige Log Datei... - + Open and view log file Öffne und zeige Log Datei an - + Settings... Einstellungen - + Edit Settings Editiere Einstellungen - + Download... Download... - + Download firmware and voice files Download Firmware und Sprechdateien - + Check for Updates... Prüfe auf Update - + Check OpenTX and Companion updates Prüfe Opentx und Companion auf Updates - + Companion Changes... Companion Änderungen... - + Show Companion change log - + Firmware Changes... Firmware Änderungen... - + Show firmware change log - + Compare Models... Vergleiche Modelle - + Edit Radio Splash Image... Editiere Sender Start Bild... - + Edit the splash image of your Radio Editiere das Starthbild für den Sender - + List programmers... Liste der Programmiergeräte... - + Fuses... Fuses - - + + Read Firmware from Radio Lese Firmware aus dem Sender - + Read firmware from Radio Lese Firmware aus dem Sender - - + + Write Firmware to Radio Schreibe Firmware in den Sender - + Write firmware to Radio Schreibe Firmware in den Sender - + Add Radio Profile Füge Senderprofil hinzu - + Create a new Radio Setting Profile Erstelle neues Sender Profil - + Manuals and other Documents Handbücher und andere Dokumente - + Open the OpenTX document page in a web browser - + Write Models and Settings To Radio Schreibe Modelle und Einstellungen in den Sender - - + + Write Models and Settings to Radio Schreibe Modelle und Einstellungen in den Sender - + Firmware %1 does not seem to have ever been downloaded. Release %2 is available. Do you want to download it now? @@ -6278,7 +4395,7 @@ We recommend you view the release notes using the button below to learn about an - + A new version of %1 firmware is available: - current is %2 - newer is %3 @@ -6289,214 +4406,180 @@ We recommend you view the release notes using the button below to learn about an - - - + + + Companion Companion - - + + Synchronize SD Synchronisiere mit SD-Karte - - + + Read Models and Settings from Radio Lese Modelle und Einstellungen aus dem Sender - + OpenTX Companion %1 - Radio: %2 - Profile: %3 - + Configure Communications... Konfiguriere Kommunikation - + Configure software for communicating with the Radio - + Write Backup to Radio Schreibe Backup in den Sender - + Write Backup from file to Radio Schreibe Backup aus Datei in den Sender - + Backup Radio to File Mach Backup von Sender in Datei - + Save a complete backup file of all settings and model data in the Radio - + Contributors... Vergleichen... - + A tribute to those who have contributed to OpenTX and Companion - + SD card synchronization - + Recent Files Kürzlich verw. Dateien - + Recent Models+Settings Kürzlich verwendete Modelle+Einstellungen - + Set Icon Theme Icon setzen - + Set Icon Size Icon Größen - Invalid Models and Settings File %1 - Ungültige Modell- und Einstellungsdatei %1 - - - Error reading file %1: -%2. - Fehler beim Datei lesen %1: -%2. - - - Invalid binary Models and Settings File %1 - Ungültige Modell-und Einstellungens Binärdatei %1 - - - + List available programmers Liste der möglichen Programmiergeräte - + Show fuses dialog Zeige Fuses Einstellungen - + Show the application's About box Zeige das Infofenster - + Set Menu Language Menüsprache einstellen - + Show recent Models+Settings documents - + Show the list of radio profiles Anzeige der Sender Profil-Liste - + Write Schreibe - + %2 %2 - + New Radio Neuer Sender - Unable to find file %1! - Kann die Datei %1 nicht finden ! - - - Error reading file %1: %2. - Fehler beim Lesen der Datei %1: %2. - - - + Checking for updates Überprüfe auf Updates - Ignore this version (r%1)? - Diese Version ignorieren (r%1)? - - - - + + File Datei - - + + Edit Bearbeiten - + Settings Einstellungen - + Read/Write Lesen/Schreiben - - + + Help Hilfe - - + + Radio Profile Sender Profil - Show recent Models+Settings document&Editierens - Zeige die letzten Modelle und Einstellungen - - - Show a selection list of radio profiles - Zeige die Liste der Sender Profile - - - + Ready Fertig @@ -6507,22 +4590,22 @@ We recommend you view the release notes using the button below to learn about an - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Error Fehler @@ -6533,44 +4616,20 @@ We recommend you view the release notes using the button below to learn about an - + Unable to find file %1! Kann die Datei %1 nicht finden ! - Error reading file %1:%2. - Fehler beim Lesen der Datei %1:%2. - - - Error opening file %1:%2. - Fehler beim Öffnen der Datei %1:%2. - - - - - + + + Save As Speichern unter - Cannot write file %1:%2. - Kann Datei %1:%2 nicht schreiben. - - - Error writing file %1:%2. - Fehler beim Schreiben der Datei %1:%2. - - - Backup EEPROM From Radio - Backup EEPROm aus dem Sender - - - Write EEPROM To Radio - Schreibe EEPROM in den Sender - - - + Open backup Models and Settings file Öffne Backup Modelle-und Einstellungs Datei @@ -6580,99 +4639,79 @@ We recommend you view the release notes using the button below to learn about an Freie Bytes - + Companion Companion - - + + Invalid EEPROM File %1 Ungültige EEPROM Datei %1 - - + + Error opening file %1: %2. Fehler beim Öffnen der Datei %1: %2. - - + + Error reading file %1: %2. Fehler beim Lesen der Datei%1: %2. - + Invalid binary EEPROM File %1 Ungültige EEPROM Programmdatei %1 - - - - + + + + Cannot write file %1: %2. Kann Datei %1: %2 nicht schreiben. - - + + Error writing file %1: %2. Fehler beim Schreiben der Datei %1: %2. - + %1 has been modified. Do you want to save your changes? %1 wurde verändert. Sollen die Änderungen gespeichert werden? - Backup is impossible - Backup ist nicht möglich - - - The backup dir set in preferences does not exist - Das voreingestellte Backup-Verzeichnis existiert nicht - - - Cannot check eeprom compatibility! Continue anyway? - Kann die EEPROM Kompatibilität nicht prüfen, trotzdem weitermachen? - - + + + + Warning - Warnung + Warnung - Firmware in radio is of a different family of eeprom written, check file and preferences! - Firmware im Sender passt nicht zum EEprom Format bitte Dateien und Einstellungen prüfen! - - - Firmware in flash is outdated, please upgrade! - Firmware im Flashspeicher ist überholt, bitte updaten! - - - + Invalid binary backup File %1 Ungültige Binär Backup Datei %1 - %1 has been modified.Do you want to save your changes? - %1 wurde verändert.Wollen Sie Ihre Änderungen sichern? - - - + Cannot write temporary file! Kann temporäre Datei nicht schreiben! @@ -6734,10 +4773,6 @@ Sollen die Änderungen gespeichert werden? GV GV - - Switch used by the mix.If blank then the mix is considered to be "ON" all the time. - Mischerschalter. Wenn leer ist der Mischer immer aktiv. - Yes @@ -6758,11 +4793,6 @@ Sollen die Änderungen gespeichert werden? Name Name - - Mixer warning.Setting this value will cause a beep to be emmitted when this value is active. - Not clear what that means... - Warnung Mischer. Wenn diese Einstellung angewählt wird, piepst es wenn dieser Wert aktiv ist. - OFF @@ -6860,42 +4890,6 @@ If blank then the mix is considered to be "ON" all the time. Include DR/Expo DR/Expo einschliessen - - 0 - 0 - - - 1 - 1 - - - 2 - 2 - - - 3 - 3 - - - 4 - 4 - - - 5 - 5 - - - 6 - 6 - - - 7 - 7 - - - 8 - 8 - Delay @@ -6911,67 +4905,16 @@ If blank then the mix is considered to be "ON" all the time. Up Nach oben - - <!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 and 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;">Verzögerung</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;">Diese Einstellung beeinflußt die Geschwindigkeit und Verzögerung des Mischerausganges.</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;">Wenn Verzögerung ungleich 0 ist wird die Betätigung der Mischerfunktion für die eingegebene Anzahl Sekunden verzögert</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;">Wenn Langsam ungleich 0 ist wird die Geschwindigkeit des Mischers durch den eingegebenen Wert beeinflußt. Der Wert legt die -Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 benötigen soll.</p></body></html> - Down Nach unten - - DEST -> CH%1%2 - DEST -> CH%1%2 - DEST -> CH%1 DEST -> CH%1 - - - Rud - Sei - - - - Ele - Höh - Höh - - - - Thr - Gas - Gas - - - - Ail - Que - MixesPanel @@ -7005,48 +4948,12 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Mischer löschen - Weight(%1) - Gewichtung(%1) - - - Switch(%1) - Schalter(%1) - - - No Trim - Kein Trim - - - NoTrim - KeinTrim - - - No DR/Expo - Kein DR/Expo - - - Offset(%1) - Offset(%1) - - - Delay(u%1:d%2) - Verzögerung(u%1:d%2) - - - Slow(u%1:d%2) - Langsam/u%1:d%2) - - - Warn(%1) - Warnung(%1) - - - + Not enough available mixers! Nicht genügend Mischer verfügbar! - + Delete Selected Mixes? Lösche ausgewählte Mischer? @@ -7100,10 +5007,6 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Ctrl+C Ctrl+C - - &Cut - &Ausschneiden - Ctrl+X @@ -7135,12 +5038,12 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Ctrl+U - + Clear Mixes? Mischer löschen? - + Really clear all the mixes? Wirklich alle Mischer löschen ? @@ -7162,10 +5065,6 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Inputs Inputs - - Servos - Servos - Logical Switches @@ -7211,39 +5110,308 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Curves Kurven + + + ModelPrinter - Clear Curves? - Kurven löschen ? + + %1 bytes + - Really clear all the curves? - Wirklich alle Kurven löschen ? + + CH%1 + CH%1 + + + + Exponential + Exponential + + + + Extra Fine + Sehr fein + + + + Fine + Fein + + + + Medium + Mittel + + + + Coarse + Grob + + + + Unknown + Unbekannt + + + + Enabled + + + + + Disabled + Inaktiv + + + + %1, Channels(%2-%3), PPM delay(%4usec), Pulse polarity(%5) + + + + + %1, Channels(%2-%3) + + + + + Receiver number(%1) + + + + + Slave/Jack + Schüler/Buchse + + + + Master/SBUS Module + + + + + Master/CPPM Module + Lehrer/CPPM Module + + + + Master/SBUS in battery compartment + + + + + Master/Jack + Lehrer/Buchse + + + + Rudder + Seitenruder + + + + Elevator + + + + + Throttle + Gas + + + + Aileron + + + + + Name(%1) + + + + + Slow(u%1:d%2) + + + + + Persistent + Dauerhaft + + + + MinuteBeep + + + + + CountDown(Beeps) + + + + + CountDown(Voice) + + + + + CountDown(Haptic) + + + + + Off + Aus + + + + + + + FM%1 + FM%1 + + + + FM%1%2 + FM%1%2 + + + + FM%1+%2 + + + + + [I%1] + [I%1] + + + + Input%1 + Input%1 + + + + Weight + Gewichtung + + + + Switch + Schalter + + + + + NoTrim + + + + + Weight(%1) + Gewichtung(%1) + + + + Switch(%1) + Schalter(%1) + + + + No DR/Expo + Kein DR/Expo + + + + Offset(%1) + Offset(%1) + + + + Delay(u%1:d%2) + + + + + Warn(%1) + + + + + Disabled in all flight modes + + + + + Flight modes(%1) + Flugphasen(%1) + + + + Flight mode(%1) + Flugphase(%1) + + + + Edge(%1, [%2:%3]) + Puls(%1, [%2:%3]) + + + + Sticky(%1, %2) + SRFF(%1, %2) + + + + Timer(%1, %2) + Takt(%1, %2) + + + + Duration(%1s) + + + + + Delay(%1s) + + + + + Custom + + + + + Standard + ModelSelectionPage - + Plane Flugmodell - + Multirotor Multicopter - + Helicopter Hubschrauber - + Model Name: Model Name: - + Model Type: Model Typ: @@ -7251,143 +5419,136 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 ModelsListWidget - + + &Edit &Editieren - + &Restore from backup Wiederherstellung aus dem Backup - + &Model Wizard &Modell Wizard - + &Delete &Löschen - + Delete Löschen - + &Copy &Kopieren - + Ctrl+C Ctrl+C - + &Cut &Ausschneiden - + Ctrl+X Ctrl+X - + &Paste Ein&fügen - + Ctrl+V Ctrl+V - + D&uplicate D&uplizieren - + Ctrl+U Ctrl+U - + &Use as default setze &Standard - + P&rint model Modell &drucken - + Ctrl+P Ctrl+P - Alt+R - Alt+R - - - + Alt+S Alt+S - + &Simulate model &Simulation - + General Settings Sender Grundeinstellungen - + Delete Selected Models? Gewähltes Modell löschen ? - - + + Cannot delete default model. Kann das aktive Modell nicht löschen - + Cannot cut default model. Kann das aktive Modell nicht ausschneiden - + Do you want to overwrite radio general settings? Wollen sie wirklich die Sender Grundeinstellungen überschreiben? - + You are pasting on an not empty model, are you sure? You are pasting on an not empty model, are you sure ? Sie kopieren in ein nicht leeres Modell, fortfahren? - + No free slot available, cannot duplicate Kein freier Modellspeicherplatz, kann nicht kopieren Module - - Form - Form - Failsafe Mode @@ -7403,10 +5564,6 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 PPM delay PPM Puls - - usec - us - Negative @@ -7417,14 +5574,6 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Positive Positiv - - Master - Lehrer - - - Slave - Schüler - Polarity @@ -7435,23 +5584,11 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Trainer Mode Trainer Mode - - mSec - mSec - PPM Frame Length PPM Frame Länge - - Label - Einstellungen 001 - - - ch - ch - CH @@ -7556,70 +5693,273 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 ModulePanel - + Trainer Port Trainer Port - + Internal Radio System Internes HF Modul - + External Radio Module Externes HF Modul - - + + Radio System Sender System - + Extra Radio System - + Value Wert - + Hold Halte Servopos. - + No Pulse keine Pulse - MultirotorPage + MultiModelPrinter - Trottle Channel: - Gas Kanal + + General Model Settings + Allgemeine Modell Einstellungen - + + Name: + + + + + EEprom Size: + + + + + Timer%1: + + + + + Module%1: + + + + + Module: + + + + + Trainer port: + + + + + Throttle Trim: + + + + + Trim Increment: + + + + + Center Beep: + + + + + Flight modes + Flugphasen + + + + + Flight mode + + + + + Switch + Schalter + + + + Fade IN + + + + + Fade OUT + + + + + + FM%1 + FM%1 + + + + + GV%1 + GV%1 + + + + RE%1 + + + + + Limits + Grenzen + + + + Channel + + + + + Name + Name + + + + + Offset + Offset + + + + Min + Min + + + + Max + Max + + + + Invert + Invertieren + + + + Global Variables + + + + + Inputs + Inputs + + + + Mixers + Mischer + + + + CV%1 + + + + + Curves + Kurven + + + + L%1 + L%1 + + + + Logical Switches + Logische Schalter + + + + SF%1 + SF%1 + + + + Special Functions + Spezial Funktionen + + + + Telemetry Settings + Telemetrie Einstellungen + + + + Analogs + + + + + Unit + Einheit + + + + Scale + + + + + A%1 + A%1 + + + + RSSI Alarms + + + + + MultirotorPage + + Throttle Channel: Gas Kanal - + Yaw Channel: Yaw (Heck) Kanal - + Pitch Channel: Pitch Kanal - + Roll Channel: Roll Kanal @@ -7627,17 +5967,17 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 OptionsPage - + Throttle Cut Gas Freigabe Schalter - + Throttle Timer Gas Timer starten - + Flight Timer Flug Timer starten @@ -7660,527 +6000,17 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Druck in Datei - - Setup for: - Einstellung für: - - - - printed on: %1 - ausgedruckt am: %1 - - - - General Model Settings - Allgemeine Modell Einstellungen - - - - - - - Name - Name - - - - EEprom Size - EEProm Größe - - - Timer1 - Stoppuhr1 - - - Timer2 - Stoppuhr2 - - - - - Protocol - Protokoll - - - Pulse Polarity - Pulspolarität - - - - Throttle Trim - Gas Leerlauftrim - - - - Enabled - Aktiv - - - - Disabled - Inaktiv - - - Throttle Expo - Gas Expo - - - - Trim Increment - Trim Inkrement - - - - Center Beep - Zentrierpieps - - - Flight modes Settings - Flugphasen Einstellungen - - - - Fades - Übergänge - - - - Trims - Trimmer - - - - Gvars - Gvars - - - - Rot.Enc. - Drehgeber - - - - Switch - Schalter - - - - Flight mode name - Flugphasen Namen - - - - IN - IN - - - - OUT - OUT - - - - Rud - Sei - - - - Ele - Höh - - - - Thr - Gas - - - - Ail - Que - - - - - - - - FM - FM - - - Expo/Dr Settings - Expor/DR Einstellungen - - - Weight - Gewichtung - - - - Flight modes - Flugphasen - - - Flight mode - Flugphase - - - DISABLED - Gesperrt - - - - Mixers - Mischer - - - - - - CH - CH - - - noTrim - keinTrim - - - - - - - - Offset - Offset - - - Delay(u%1:d%2) - Verzögerung(u%1:d%2) - - - Slow(u%1:d%2) - Langsam/u%1:d%2) - - - Warn - Warnung - - - - Limits - Grenzen - - - - - - - Min - Min - - - - - - - Max - Max - - - - - - Invert - Invertieren - - - - - - INV - INV - - - - - - NOR - NOR - - - - Curves - Kurven - - - - - - Curve - Kurve - - - - pt %1 - Pkt %1 - - - - Logical Switches - Logische Schalter - - - LS - LS - - - - Global Variables - Globale Variablen - - - - GV - GV - - - - Special Functions - Spezial Funktionen - - - Function - Funktion - - - Parameter - Parameter - - - Repeat - Wiederholen - - - - - Telemetry Settings - Telemetrie Einstellungen - - - - - Alarm 1 - Alarm 1 - - - - - Alarm 2 - Alarm 2 - - - - - Analog - Analog - - - - Timer%1 - - - - - Internal Radio System - Internes HF Modul - - - - Radio System - Sender System - - - - External Radio Module - Externes HF Modul - - - - Extra Radio System - - - - - Trainer port mode - - - - - Off - Aus - - - - Inputs - Inputs - - - NoTrim - Keine Trimmung - - - Weight(%1) - Gewichtung(%1) - - - Switch(%1) - Schalter(%1) - - - No DR/Expo - Kein DR/Expo - - - Offset(%1) - Offset(%1) - - - Warn(%1) - Warnung(%1) - - - - L - L - - - SF%1 - SF%1 - - - - Range - Bereich - - - - Alarms - Alarme - - - - Low Alarm - Voralarm - - - - Critical Alarm - Kritischer Alarm - - - - RSSI - RSSI - - - - Unit - Einheit - - - - Scale - Skalierung - - - - - - - Type - Typ - - - - - - - Condition - Zustand - - - - - - - Value - Wert - - - - - - A%1 - A%1 - - - - SF - SF - - - - RSSI Alarm - RSSI-Alarm - - - - Frsky serial protocol - Frsky serielles Protokoll - - - System of units - Maßeinheiten - - - - - Blades - Rotorblätter - - - - - Custom Telemetry View - Telemtrie Ansichten - - - - Telemetry Bars - Telemetrie Balken - - - - Bar Number - Balkennummer - - - - Source - Quelle - - - + Print Document Drucke Dokument - + Select PDF output file PDF Output Datei wählen - + ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) @@ -8213,26 +6043,13 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 QObject - - - - FM%1 - FP%1 - FM%1 - Polish Polish - - X%1 - X%1 - - - CH%1 CH%1 @@ -8266,10 +6083,6 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Rot Enc E Drehgeber E - - Safety %1 - Safety %1 - Trainer @@ -8315,40 +6128,35 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Haptic Play Haptik - - - Input%1 - Input%1 - - - + + --- --- - + Rud Trim Sei Trim - + Ele Trim Höh Trim - + Thr Trim Gas Trim - + Ail Trim Que Trim - + Rot Enc Dreh Geb @@ -8402,10 +6210,6 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 No repeat Keine Wiederholung - - %1 sec - %1 sec - Reset @@ -8413,7 +6217,7 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - + S3 S3 @@ -8427,10 +6231,6 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 RSSI Rx RSSI RX - - Rx Batt - RX Batt - A3 @@ -8715,7 +6515,6 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - [I%1] [I%1] @@ -8906,120 +6705,39 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - Unknown Unbekannt - - repeat + + played once, not during startup - - + + repeat(%1s) + + + + DISABLED Gesperrt - - - Weight - Gewichtung + + INV + INV - - - Switch - Schalter - - - - - NoTrim - - - - - No DR/Expo - Kein DR/Expo - - - - Offset - Offset - - - - Delay - Verzögerung - - - - Slow - Langsam - - - - Warn - Warnung - - - - Flight modes - Flugphasen - - - - Flight mode - - - - - Edge(%1, [%2:%3]) - Puls(%1, [%2:%3]) - - - - Sticky(%1, %2) - SRFF(%1, %2) - - - - Timer(%1, %2) - Takt(%1, %2) - - - - Duration (%1s) - - - - Duration (%1s) - Dauer (%1s) - - - - Delay (%1s) - Verzögerung (%1s) + + NOR + NOR Override %1 Überschreibe %1 - - STAY(%1, [%2:%3]) - Puls(%1, [%2:%3]) - - - STICKY(%1, %2) - SRFF(%1, %2) - - - TIMER(%1, %2) - Takt(%1, %2) - Set Timer %1 @@ -9075,47 +6793,35 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Background Music Pause Hintergrund Musik Pause - - Delay %1 sec - Verzögerung %1 sec - Edge Puls - Duration %1 sec - Dauer %1 sec - - - - - + + + <font color=red><b>Inconsistent parameter</b></font> - All - Alles - - - + Telemetry Telemetrie - + Value Wert - + Decr: Decr: - + Incr: Incr: @@ -9135,227 +6841,127 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Adjust GV %1 - + + SetFailsafe Int. Module + + + + + SetFailsafe Ext. Module + + + + + RangeCheck Int. Module + + + + + RangeCheck Ext. Module + + + + + Bind Int. Module + + + + + Bind Ext. Module + + + + Rotary Encoder Drehgeber - + Value Wert - + Source Quelle - + GVAR GVAR - + Increment Increment - + Flight - + !Flight mode %1 !Flugphase %1 - + Flight mode %1 Flugphase %1 - + Flight mode %1 value Flugphase %1 Wert - + Yellow Gelb - + Orange Orange - + Red Rot - + Winged Shadow How High Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (nicht unterstützt) - + FrSky Sensor Hub FrSky Sensor Hub - + None Kein - + Imperial Imperial - + Metric Metrisch - - Extra Fine - Sehr fein - - - - Fine - Fein - - - - Medium - Mittel - - - - Coarse - Grob - - - - %1:%2 - %1:%2 - - - - , Persistent - Dauerhaft - - - - , MinuteBeep - MinutenBeep - - - - , CountDown(Beeps) - CountDown(Beep) - - - - , CountDown(Voice) - Count Down(Stimme) - - - - - : Channel start: %1, %2 Channels, %3usec Delay, Pulse polarity %4 - Kanal start: %1, %2 Kanäle, %3usec Verzög, Pulsepolarität %4 - - - - : Channel start: %1, %2 Channels - Kanal start: %1, %2 Kanäle - - - - Slave/Jack - Schüler/Buchse - - - - Master/SBUS Module - Lehrer/SBUS Module - - - - Master/CPPM Module - Lehrer/CPPM Module - - - - Master/SBUS in battery compartment - Lehrer/SBUS im Akkuschacht - - - - Master/Jack - Lehrer/Buchse - - - - Exponential - Exponential - - - Count Up - Count Up - - - Count Down - Count Down - - - %1:%2, - %1:%2, - - - : %1 Channels, %2usec Delay - : %1 Kanäle, %2us Verzögerung - - - Flight modes(%1) - Flugphasen(%1) - - - Flight mode(%1) - Flugphase(%1) - - - - Rudder - Seitenruder - - - - Elevator - Höhenruder - - - - Throttle - Gas - - - - Aileron - Querruder - - - + Own value Eigener Wert @@ -9381,14 +6987,14 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - + -GV%1 -GV%1 - + GV%1 GV%1 @@ -9396,34 +7002,33 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - + ---- ---- - - + THR Gas - - + + P1 P1 - - + + P2 P2 - - + + P3 P3 @@ -9543,10 +7148,6 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 AilTrim Right QuerTrim rechts - - ABS - ABS - THs @@ -9594,7 +7195,7 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - + Rud Sei @@ -9605,19 +7206,19 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - + Ele Höh - + Thr Gas - + Ail unsure Que @@ -9645,7 +7246,8 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - + + S1 S1 @@ -9656,14 +7258,13 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - + V V - - + s s @@ -9738,14 +7339,6 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 f f - - °C - °C - - - %F - %F - @@ -9774,10 +7367,6 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 g g - - ° - ° - hours @@ -9811,62 +7400,69 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - + + S2 S2 - + + LS LS - + + RS RS + F1 F1 + F2 F2 + F3 F3 + F4 F4 - + REa DGa - + REb DGb - + Timer3 Stoppuhr3 @@ -9940,10 +7536,6 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 AccZ AccZ - - HDG - HDG - VSpd @@ -9991,593 +7583,551 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Zeit - X%1 - X%1 - - - - + + Support for frsky telemetry mod Ünterstützt Frsky Telemetry Mod - - + + Support for jeti telemetry mod Ünterstützt Jeti Telemetry Mod - - + + Support for receiving ardupilot data - - + + Support for receiving NMEA data - + Support for telemetry easy board - - + + Support for MAVLINK devices - + Rotary Encoder use in menus navigation nutze den Drehgeber für Menü Navigation - FAI MODE always enabled - FAI Mode immer freigegeben - - - - - - - - + + + + + + Enable heli menu and cyclic mix support Freigabe Helimenü und zykl. Mischer - - - - - - - - + + + + + + + + + Enable TEMPLATES menu Freigabe Tamplaptes Menü - - - - + + + + No splash screen Kein Startbild - - - - - - - - + + + + + + + + + Disable curves menus Kein Kurvenmenü - - - - + + + + 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 - + Channel values displayed in us Kanalwerte Anzeige in us statt % - - - - - - - - + + + + + + + + + In model setup menus automatically set source by moving the control - - - - - - - - + + + + + + + + + In model setup menus automatically set switch by moving the control - + Use alternative SQT5 font Alternative SQT5 Schrift verw. - + (displaying only first 10 warnings) - + Possibility to enable FAI MODE (no telemetry) at field - + FAI MODE (no telemetry) always enabled - + + + + Support for a third timer - + + Instead of Joystick emulation, USB connection is Mass Storage (as in the Bootloader) + + + + + Instead of Joystick emulation, USB connection is Command Line Interface + + + + Removes D8 and LR12 FrSky protocols that are not legal for use in the EU on radios sold after Jan 1st, 2015 - + Support for PPM internal module hack - + ST7565P LCD or compatible - + ST7565R LCD or compatible - + ERC12864FSF LCD - + ST7920 LCD - + 9X board - - - - + + + + Enable the throttle trace in Statistics - + EEprom write progress bar EEprom Schreib-Balken - - + + No Winged Shadow How High support - - + + No vario support Kein Vario - - + + No GPS support Kein GPS - - + + No gauges in the custom telemetry screen - + Allow compensating for offset errors in FrSky FAS current sensors - - + + Add support for reversing stick inputs (e.g. needed for FrSky gimbals) - + Power management by soft-off circuitry - + + ar9x board / 9X + + + + 9XR-PRO - + FrSky Taranis - + FrSky Taranis Plus - + FrSky Taranis X9E - + Confirmation before radio shutdown - - + + Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views - OpenTX for 9XR-PRO - OpenTX für 9XR-PRO - - - OpenTX for FrSky Taranis - OpenTX für FrSky Taranis - - - + Haptic module installed Haptikmodul installiert - + Support for Lua model scripts Lua Model-Spriptsprache unterstützen - - No Joystick emulation inside the FW (only Mass Storage as in the Bootloader) - - - - OpenTX for FrSky Taranis Plus - OpenTX für FrSky Taranis Plus - - - OpenTX for FrSky Taranis X9E - OpenTX for FrSky Taranis X9E - - - OpenTX for FrSky Taranis Rev4a - OpenTX für FrSky Taranis Revision 4A - - - - + + Support of FrSky PXX protocol Unterstützung von FrSky PXX Protokol - OpenTX for Sky9x board / 9X - OpenTX für Sky9x Board / 9X - - - Use FrSky Taranis sticks in a 9X/9XR - Verwende die Taranis Knüppel in einem 9X/9XR Sender - - - + Disable HELI menu and cyclic mix support Kein Helimenü und zykl. Mischer - Disable TEMPLATES menu - Keine Templates Menüs - - - + Disable Global variables Keine Globale Variablen - - - - - + + + + + Support for DSM2 modules Ünterstützung für DSM2-Module - - - - - - - - + + + + + + + + + PPM center adjustment in limits PPM Mitten-Einstellung bei Servo Limits - PPM values displayed in us - PPM Wert in us angezeigt statt in % - - - - - - - - - - + + + + + + + + + Symetrical Limits Symmetrische Grenzen - - - - - - + + + + + + + Pots use in menus navigation Potis als Menü Navigation benutzen - + No OverrideCH functions available - OpenTX for 9X board - OpenTx für das 9X Board - - - - - - - - - - + + + + + + + + + No flight modes Keine Flugphasen - - + + SmartieParts 2.2 Backlight support - - - - - + + + + + + Enable resetting values by pressing up and down at the same time - - - - - - - + + + + + + + + No graphical check boxes and sliders - - - - - - - + + + + + + + + Battery graph Akku Ladezustand - - - - - - - + + + + + + + + Don't use bold font for highlighting active items - OpenTX for M128 / 9X board - OpenTX für M128 / 9X Board - - - - - - - + + + + + EEprom write Progress bar EEprom Schreib-Balken - - - - - - + + + + + + Imperial units Zöllige Einheiten - + M128 / 9X board - + 9XR 9XR - + 9XR with M128 chip - + Gruvin9x board / 9X - + MEGA2560 board - + Sky9x board / 9X - - + + + Bluetooth interface Bluetooth Schnittstelle - - - - - - - - + + + + + + + + + Global variables Globale Variablen - - Your radio probably uses a wrong firmware, - eeprom size is 4096 but only the first 2048 are used - - - - OpenTX for 9XR - OpenTX für 9XR - - - OpenTX for 9XR with M128 chip - OpenTX für 9XR mit M128 Prozessor - - - OpenTX for Gruvin9x board / 9X - OpenTX für Gruvin9x Board / 9X - - - - + + Support for SD memory card Unterstützung für SD-Speicherkarte - + Support for DSM2 modules using ppm instead of true serial Unterstüzung für DSM2 Modul mit PPM-Signal anstatt echtem seriellem Signal - - + + + Enable HELI menu and cyclic mix support Freigabe von Heli-Menüs und zyklischer Mischer Unterstützung - + Timer1 Stoppuhr1 - + Timer2 Stoppuhr2 @@ -10607,20 +8157,11 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Simultaneous usage of expo and curves is no longer supported Gleichzeitiger Gebrauch von Expo und Kurven ist nicht mehr möglich - - Simultaneous usage of expo and curves is no longer supported in open9x - Gleichzeitiger Gebrauch von Expo und Kurven ist in open9x nicht mehr möglich - CYC%1 CYC%1 - - CH%1%2 - CH%1 - CH%1%2 - @@ -10636,18 +8177,18 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 AUS - - + + Warning Warnung - + EEPROM saved with these warnings: EEPROM gespeichert mit diesen Warnungen: - + Simulator for this firmware is not yet available @@ -10657,67 +8198,63 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 - + Source %1 cannot be exported on this board! - + OpenTX only accepts %1 points in all curves OpenTX kann nur max %1 Punkte für alle Kurven - + OpenTx only accepts %1 points in all curves - - - + + - + + OpenTX on this board doesn't accept this function OpenTX unterstützt diese Funktion für diese Board nicht - + OpenTX doesn't accept this telemetry protocol - - - + + + OpenTX doesn't accept this radio protocol - OpenTX doesn't accept this protocol - Opentx unterstüzt dieses Protokol nicht - - - + OpenTX doesn't allow this number of channels Opentx kann nicht diese Anzahl von Kanälen - + Trim disabled Trim ausgeschaltet - + Own Trim Eigene Trim - + Use Trim from Flight mode %1 Trim von Flugphase %1 - + Use Trim from Flight mode %1 + Own Trim as an offset Trim von Flugphase %1 + Eigene Trim als Offset @@ -10749,25 +8286,21 @@ The OpenTX Team. - - Positive - Positiv - - - - Negative - Negativ - - - + + + - Synchronization error - + + No SD directory configured! + + + + No Radio connected! @@ -10777,33 +8310,33 @@ The OpenTX Team. GV - + -%1 + - The directory '%1' doesn't exist! - + Create '%1' failed - + Copy '%1' to '%2' failed - + Open '%1' failed - + Write '%1' failed @@ -10884,17 +8417,17 @@ The OpenTX Team. RudderPage - + No Nein - + Yes Ja - + <br>Rudder Channel: <br> Seite Kanal: @@ -10902,49 +8435,37 @@ The OpenTX Team. Setup - Form - Form - - - Timer2 - Stoppuhr2 - - - Timer1 - Stoppuhr1 - - - + Center beep Zentrierpiepston - + OFF AUS - + Model Image Modellbild - + Exponential Exponential - + Throttle Trim Idle Only Gas Leerlauftrim - + Timer 3 Timer 3 - + 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. @@ -10955,140 +8476,143 @@ umgedreht und ist dann vorne - + Extra Fine Sehr fein - + Fine Fein - + Medium Mittel - + Coarse Grob - + Display Checklist Anzeige Checkliste - + Timer 2 Timer 2 - + Timer 1 Timer 1 - + Never Nie - + On change Kurz bei Änderung - + Always Immer - + Global Functions Globale Funktionen - + Throttle Source GasTimer Quelle - Timer Source - GasTimer Quelle - - - + Trim Step Trim Auflösung - + Trims Display Trimmwerte anzeigen - + Warnings Warnungen - + + Top LCD Timer + + + + Switch Warnings Schalter Warnungen - + Pot Warnings Poti Warnungen - + Manual Manuell - + Auto Automatisch - + Model Model - + Extended Limits Erw. Wege 100% --> 150% - + Extended Trims Erw. Trim 25%--> 100% - + Throttle Warning Gas Warnung - 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. - - - Gasminimum vorne. Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufstellung ist vorne, die Trimmung sowie die Knüppelstellungswarnung ist ebenfalls umgedreht. - - - + Reverse Throttle Vollgas hinten? + + SetupPanel + + + Timer %1 + + + SimpleTailPage - + Elevator Channel: Höhe Kanal: @@ -11136,22 +8660,6 @@ umgedreht und ist dann vorne Companion Simulator Companion Simulator - - THR - Gas - - - RUD - Sei - - - ELE - Höh - - - AIL - Que - @@ -11186,10 +8694,6 @@ umgedreht und ist dann vorne Gvars Gvars - - TextLabel - Textlabel - @@ -11198,47 +8702,11 @@ umgedreht und ist dann vorne Right Double Click to Reset Zurücksetzen mit rechtem Doppelklick - - TRN - TRN - - - GEA - GEA - - - ID0 - ID0 - - - ID1 - ID1 - - - ID2 - ID2 - BEEP Piepston - - P1 - P1 - - - 0 % - 0 % - - - P2 - P2 - - - P3 - P3 - 9x Simulator @@ -11319,63 +8787,45 @@ umgedreht und ist dann vorne Hold X Halte X + + + SplashLibraryDialog - S1 - S1 + + + ... + ... - TextLabel - Textlabel + + Splash Library - page %1 of %2 + Startbild Bibliothek - Seite %1 von %2 - SB - SB + + Warning + Warnung - SA - SA + + Invalid image in library %1 + ungültige Bilddatei in Bibliothek %1 - SE - SE + + Information + Information - SF - SF - - - LS - LS - - - S2 - S2 - - - SD - SD - - - SC - SC - - - SG - SG - - - RS - RS - - - SH - SH + + No valid image found in library, check your settings + keine gültige Bilddatei gefunden in Bibliothek, bitte Einstellungen prüfen StandardPage - + Channel %1 Kanal %1 @@ -11383,25 +8833,24 @@ umgedreht und ist dann vorne SyncProcess - + + %1/%2 files + + + + Create directory %1 - + Copy %1 to %2 - - Read %1 - - - - - + Write %1 @@ -11410,35 +8859,40 @@ umgedreht und ist dann vorne TailPage - + Rudder Channel: Seitenruder Kanal - + Elevator Channel: Höhenruder Kanal + + + Only one channel still available!<br>You probably should configure your model without using the wizard. + + TailSelectionPage - + Elevator and Rudder Höhe und Seite - + Only Elevator Nur Höhe - + V-tail V Leitwerk - + Tail Type: Leitwerk Typ: @@ -11446,94 +8900,66 @@ umgedreht und ist dann vorne Telemetry - Form - Form - - - + A1 A1 - + A2 A2 - + RSSI RSSI - + Alarm 1 Alarm 1 - Critical Alarm - Kritischer Alarm - - - - + + ---- ---- - - + + Yellow Gelb - - + + Orange Orange - - + + Red Rot - + Alarm 2 Alarm 2 - CELS - Zellen - - - + Serial Protocol Serielles Protokoll - + Volt source Spg Quelle - A4 - A4 - - - A3 - A3 - - - Metric - Metrisch - - - Imperial - Imperial - - - + Current source Strom Quelle @@ -11543,170 +8969,118 @@ umgedreht und ist dann vorne Protokoll - NONE - Kein - - - FAS - FAS - - - + None Kein - + FrSky Sensor Hub FrSky Sensor Hub - CEL - Zelle - - - Units - Einheiten - - - + Blades Rotorblätter - RxBatt - RxBatt - - - Alti - Alti - - - Alti+ - Alti+ - - - Vario - Vario - - - + Sink Max Sink Max - Off - Aus - - - + Climb Max Steig Max - + Sink Min Sink Min - + Climb Min Steig Min - + Center Silent - + Vario source Vario Quelle - + Vario limits Vario Grenzen - Use GPS as altitude source - GPS als Höhenmesser - - - Display altitude in toolbar - Höhenanzeige in der InfoZeile - - - + Altimetry Höhenanzeige - + Altitude source Höhe Quelle - + Volts source Spannung Quelle - + Top Bar obere Infozeile am Sender - + mAh mAh - + A A - + Various Verschiedenes - + Sensors Sensor - + Disable multi sensor handling - + mAh count mAh zählen - Low Alarm - Voralarm - - - + FAS Offset FAS Offset - + Persistent mAh Speichern der mAh TelemetryAnalog - - Form - Form - Unit @@ -11814,53 +9188,35 @@ umgedreht und ist dann vorne mAmp (mA) - - Low Alarm - Voralarm - - - - Critical Alarm - Kritischer Alarm - - - + Range Bereich TelemetryCustomScreen - - Form - Form - Custom Screen Type Telemetrie Anzeige als - Nums - Werte - - - + None Kein - + Numbers Nummern - + Bars Balken - + Script Script @@ -11888,107 +9244,99 @@ umgedreht und ist dann vorne TelemetryPanel - + Telemetry screen %1 Telemetrie Bild %1 - + Low Alarm Voralarm - + Critical Alarm Kritischer Alarm - + Winged Shadow How High Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (nicht unterstützt) - RxBatt - RxBatt - - - - - + + + A1 A1 - + Alti Höhe - + FrSky S.PORT FrSky S.PORT - + FrSky D FrSky D - + FrSky D (cable) FrSky D (Kabel) - + Alti+ Höhe+ - + VSpeed VSpeed - - - + + + A2 A2 - dTE - dTE - - - - + + A3 A3 - - + + A4 A4 - - + + FAS FAS - + Cells Zellen - + --- --- @@ -12094,119 +9442,119 @@ umgedreht und ist dann vorne - Amps Sensor : - Strom Sensor + Sensor : + + + + + V + V + + + + A + A + + + + mA + mA + + + + kt + + + + + m/s + m/s + + + + ft/s + + + + + km/h + km/h + + + + mph + mph + + + + m + m + + + + ft + ft + + + + °C + °C + + + + °F + + + + + % + % + + + + mAh + mAh + + + + W + W + + + + dBm + + + + + g + g + + + + ° + ° + + + + mL + + + + + US fl.Oz. + Raw (-) Roh (-) - - - Voltage (V) - Spannung (V) - - - - Current (A) - Strom (A) - - - - Current (mA) - Strom (mA) - - - - Speed (kts) - Geschw (kts) - - - - Speed (m/s) - Geschw (m/s - - - - Speed (ft/s) - Geschw (ft/s) - - - - Speed (km/h) - Geschw (km/h) - - - - Speed (miles/h) - Geschw (miles/h) - - - - Meters (m) - Meter (m) - - - - Feet (ft) - Fuss (ft) - - - - Temp (°C) - Temp (°C) - - - - Temp (°F) - Temp (°F) - - - - Percentage (%) - Prozent (%) - - - - Energy (mAh) - Verbrauh (mAh) - - - - Power (W) - Leistung (W) - - - - RF Power (dBm) - RF Power (dBm) - RPM Drehz - - - Acceleration (g) - Beschleunigung (g) - - - - Heading (°) - Temp (°) - - - - Volume (mL) - Volumen (mL) - - - - Volume (US fl.Oz.) - Volumen (US fl.Oz.) - Precision @@ -12217,10 +9565,6 @@ umgedreht und ist dann vorne Ratio - - Range - Bereich - Blades @@ -12265,22 +9609,22 @@ umgedreht und ist dann vorne TelemetrySensorPanel - + Lowest Niedrigster - + Cell %1 Zelle %1 - + Highest Höchster - + Delta Differenz @@ -12493,7 +9837,17 @@ umgedreht und ist dann vorne simuliere - + + Instance + SubID + + + + 2 + 2 + + + <html><head/><body><p>Start with <span style=" font-style:italic;">0x</span> for hex, <span style=" font-style:italic;">0</span> for octal, otherwise decimal.<br/>Numeric entry only. Blank values are not sent.</p></body></html> @@ -12501,31 +9855,23 @@ umgedreht und ist dann vorne ThrottlePage - + Yes Ja - + No Nein - + <br>Throttle Channel: <br>Gas Kanal: Timer - - Form - Form - - - mm:ss - mm:ss - Countdown @@ -12536,44 +9882,41 @@ umgedreht und ist dann vorne Minute Call Jede Minute - - Persistent - Dauerhaft - - - (00:00:00) - (00:00:00) - TimerPanel - + Silent Kein - + Beeps Pieps - + Voice Stimme - + + Haptic + Play Haptik + + + Not persistent Nicht dauerhaft - + Persistent (flight) Dauerhaft für Flug - + Persistent (manual reset) Dauerhaft (per Hand reset) @@ -12712,12 +10055,12 @@ umgedreht und ist dann vorne VTailPage - + First Tail Channel: Erster rRechter Leitwerk Kanal - + Second Tail Channel: Zweiter, linker Leitwerk Kanal @@ -12725,12 +10068,12 @@ umgedreht und ist dann vorne WingtypeSelectionPage - + Standard Wing Normaler Flügel - + Flying Wing / Deltawing Nurflügler / Deltaflügel @@ -12807,10 +10150,6 @@ umgedreht und ist dann vorne Flying-wing / Delta-wing Nurflügler / Deltaflügel - - Are the elevons controlled by servos connected to separate channels or by a single servo channel? - Wird das Höhenruder mit 1 oder 2 Servo-Kanälen gesteuert - Select the elevons channels @@ -13016,548 +10355,41 @@ umgedreht und ist dann vorne WizardPrinter - + Plane Flugmodell - + Multicopter Multikopter - + Helicopter Hubschrauber - + Model Name: Model Name: - + Model Type: Model Typ: - + Options: Optionen: - + Channel %1: Kanal %1: - - appPreferencesDialog - - Open Folder - Verzeichnis öffnen - - - Radio Profile - Sender Profil - - - 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 - - - Modusauswahl: - -Mode 1: - Linker Knüppel: Höhe, Seite - Rechter Knüppel: Gas, Quer - -Mode 2: - Linker Knüppel: Gas, Seite - Rechter Knüppel: Höhe, Quer - -Mode 3: - Linker Knüppel: Höhe, Quer - Rechter Knüppel: Gas, Seite - -Mode 4: - Linker Knüpple: Gas, Quer - Rechter Knüppel: Höhe, Seite - - - - - Mode 1 (RUD ELE THR AIL) - Mode 1 (Sei Höh Gas Que) - - - Mode 2 (RUD THR ELE AIL) - Mode 2 (Sei Gas Höh Que) - - - Mode 3 (AIL ELE THR RUD) - Mode 3 (Que Höh Gas Sei) - - - Mode 4 (AIL THR ELE RUD) - Mode 4 (Que Gas Höh Sei) - - - Channel order This is used by the templated to determine which channel goes to what number output. - Kanalreihenfolge, Nur für das Template, legt Kanal und Ausgang fest - - - R E T A - S H G Q - - - R E A T - S H Q G - - - R T E A - S G H Q - - - R T A E - S G Q H - - - R A E T - S Q H G - - - R A T E - S Q G H - - - E R T A - H S G Q - - - E R A T - H S Q G - - - E T R A - H G S Q - - - E T A R - H G Q S - - - E A R T - H Q S G - - - E A T R - H Q G S - - - T R E A - G S H Q - - - T R A E - G S Q H - - - T E R A - G H S Q - - - T E A R - G H Q S - - - T A R E - G Q S H - - - T A E R - G Q H S - - - A R E T - Q S H G - - - A R T E - Q S G H - - - A E R T - Q H S G - - - A E T R - Q H G S - - - A T R E - Q G S H - - - A T E R - Q G H S - - - Default Stick Mode - Standard Knüppelmodus - - - Profile Name - Profil Name - - - Splash Screen - Splash Screen - - - Channel Order - Kanal Reihenfolge - - - SD Structure path - SD Verzeichnis Pfad - - - Remove Profile - Lösche Profil - - - Select Image - Wähle Bild - - - Radio Type - Sender Typ - - - Clear Image - Lösche Bild - - - 9X - 9X - - - 9X with m128 - 9x mit m128 - - - 9XR - 9XR - - - 9XR with m128 - 9XR mit m128 - - - Gruvin9x Board - Gruvin9x Board - - - Sky9x Board - Sky9x Board - - - Taranis - Taranis - - - General Settings - Sender Grundeinstellungen - - - General Settings Label - Grundeinstellungen Label - - - Application Settings - Anwendungs-Einstellungen - - - Only show user splash images - Nur das Benutzter-Bild zeigen - - - Show user and companion splash images - Zeige Benutzer-und CompanionBild - - - User Splash Screens - Verwende Startbild - - - Use model wizard when creating a new model - Verwende den Modell-Wizard für neue Modelle - - - Simulator Settings - Simulator Einstellungen - - - Blue - Blau - - - Green - Grün - - - Red - Rot - - - Orange - Orange - - - Yellow - Gelb - - - Splash Screen Library - Splash Screen Verzeichnis - - - Simulator BackLight - Simulator LCD Beleuchtung - - - Automatic Backup Folder - Automatisches Bachup-Verzeichnis - - - Joystick - Joystick - - - Find Executable - Suche exe - - - Google Earth Executable - Google Earth exe - - - Calibrate - Kalibrieren - - - Enable - Freigabe - - - Show splash screen when Companion starts - Zeigt das Startbild wenn Companion startet - - - Automatic check for OpenTX firmware updates - Automatisches Prüfen auf OpenTX Firmware Updates - - - Automatic check for Companion updates - Automatisches Prüfen auf Companion Updates - - - Enable automatic backup before writing firmware - Ermöglicht automatisches Sichern bevor die Firmware in den Sender geschrieben wird - - - My Radio - Mein Sender - - - Select your snapshot folder - Auswahl des Snapshot Verzeichnis - - - No joysticks found - Kein Joystick gefunden - - - EMPTY: No radio settings stored in profile - LEER: Keine Sender-Einstellungen im Profil gespeichert - - - AVAILABLE: Radio settings of unknown age - Verfügbar: Sender-Einstellugnen, unklares Alter - - - AVAILABLE: Radio settings stored %1 - Verfügbar: Sender-Einstellungen gespeichert %1 - - - Select your library folder - Auswahl des Bibliotheks-Verzeichnis - - - Select your Models and Settings backup folder - Auswahl der Modell-und Einstellungs-Verzeichnisse - - - Select Google Earth executable - Wähle Google Earth exe - - - Open Image to load - Öffne Bild zum laden - - - Images (%1) - Bilder (%1) - - - - avrOutputDialog - - Dialog - Dialog - - - Show Details - Zeige Details - - - result - result - Ergebnis - - - executable not found - executable not found - Exe-Datei nicht gefunden - - - Error - Fehler - - - Cannot open source file - Kann die Quelldatei nicht öffnen - - - Cannot write destination - Kann das Ziel nicht beschreiben - - - Writing file: - Schreibe File: - - - ie: OpenTX for 9X board or OpenTX for 9XR board - ie: OpenTX für das 9X Board oder OpenTX für das 9XR Board - - - ie: OpenTX for M128 / 9X board or OpenTX for 9XR board with M128 chip - ie: OpenTX für das M128 / 9X Board oder OpenTX für das 9XR Board mit dem M128 chip - - - ie: OpenTX for Gruvin9X board - ie: OpenTX für das Gruvin9X Board - - - Your radio uses a %1 CPU!!! - -Please check advanced burn options to set the correct cpu type. - Der Sender verwendet einen %1 Prozessor!!! - -Bitte die weiteren Brenn-Optionen prüfen und den CPU Typ correct setzen - - - Your radio uses a %1 CPU!!! - -Please select an appropriate firmware type to program it. - Der Sender verwednet einen %1 Prozessor - -Bitte dazu eine passende Firmware zum programmieren auswählen - - - -You are currently using: - %1 - Sie verwenden gerade: - %1 - - - did not finish correctly! -Do you want some help ? - Nicht fehlerfrei fertiggestellt! -Benötigen Sie etwas Hilfe? - - - Writing - Schreiben - - - Reading - Lesen - - - Verifying - Prüfen - - - done - exit code %1 - done - exit code %1 - Fertig - exit code %1 - - - done with errors - done with errors - Fertig, keine Fehler - - - done - SUCCESSFUL - done - SUCCESSFUL - Fertig Erfolgreich - - - did not finish correctly - did not finish correctly - nicht korrekt beendet - - - Copy did not finish correctly - Kopieren nicht korrekt fertiggestellt - - - finished correctly - finished correctly - Fehlerfrei durchgeführt - - - Copy finished correctly - Fehlerfrei kopiert - - - Started - Started - gestartet - - - FUSES: Low=%1 High=%2 Ext=%3 - FUSES: Low=%1 High=%2 Ext=%3 - - burnConfigDialog @@ -13632,12 +10464,6 @@ Bitte konsultiere das Handbuch des Programmiergerätes und die Dokumentation von Extra arguments that will be passed to AVRDUDE on every call Zusätzliche Argumente welche an AVRDUDE bei jedem Programmstart weitergeleitet werden - - Extra arguments used in AVRDUDE.This can be used for providing extra information to AVRDUDE. -Please only use this if you know what you are doing. There are no error checks and you could cripple your controller. - Zusätzliche Argumente welche in AVRDUDE genutzt werden.Dies kann benutzt werden um zusätzliche Informationen an AVRDUDE zu übergeben. -Bitte nutze dies nur wenn Du weißt was Du machst. Es gibt keine Plausibilitätsprüfung und Du kannst den Controller kaputt machen. - Extra Arguments @@ -13771,485 +10597,6 @@ Please only use this if you know what you are doing. There are no error checks CPU of your TX CPU des Senders - - CPU present on your 9x radio Should be m64 for stock radios m2560 for v4.1 boards - CPU in Ihrem 9x Radio Sollte m64 sein für Standard Radios, m2560 fürRadios mit v4.1 Boards - - - - burnDialog - - Customize Splash - Startbildschirm anpassen - - - Date & Time - Datum & Uhrzeit - - - Write to TX - Schreibe in Sender - - - Variant - Variante - - - Version - Version - - - Browse for file - Durchsuche nach Datei - - - Check Firmware compatibility - Firmware Kompatibilität prüfen - - - Current Profile - Aktuelles Profil - - - Cancel - Abbrechen - - - Warning - Warnung - - - Images (%1) - Bilder (%1) - - - Error - Fehler - - - Write firmware to Radio - Schreibe Firmware in den Sender - - - Write Backup to Radio - Schreibe Backup in den Sender - - - Write Backup from %1 to Radio - Schreibe Backup von %1 in den Sender - - - Current profile - Akutelles Profil - - - Open Firmware File - Öffne Firmware datei - - - Unable to find file %1! - Kann die Datei %1 nicht finden ! - - - Cannot write file %1: -%2. - Kann Datei %1: -%2 nicht schreiben. - - - Error writing file %1: -%2. - Fehler beim Schreiben der Datei %1: -%2. - - - Error opening file %1:%2. - Fehler beim Öffnen der Datei %1:%2. - - - Error reading file %1:%2. - Fehler beim Lesen der Datei %1:%2. - - - Error opening file %1: -%2. - Fehler beim Öffnen der Datei %1: -%2. - - - Cannot save customized firmware - Kann benutzerspezifische Firmware nicht speichern - - - Custom image not found - Benutzerbild nicht gefunden - - - No firmware selected - Keine Firmware ausgewählt - - - Cannot write file %1:%2. - Kann Datei %1:%2 nicht schreiben. - - - Error writing file %1:%2. - Fehler beim Schreiben der Datei %1:%2. - - - - compareDialog - - Compare Models - Vergleiche Modelle - - - Drag first model here - Ziehe erst Modell hierher - - - Drag second model here - Ziehe zweites Modell hierher - - - Close - Schliessen - - - Print - Drucken - - - Print to file - Druck in Datei - - - No name - Kein Namen - - - General Model Settings - Allgemeine Modell Einstellungen - - - Name - Name - - - EEprom Size - Größe EEprom - - - Timer1 - Stoppuhr1 - - - Timer2 - Stoppuhr2 - - - Protocol - Protokoll - - - Pulse Polarity - Pulspolarität - - - Throttle Trim - Gas Leerlauftrim - - - Enabled - Aktiv - - - Disabled - Inaktiv - - - Throttle Expo - Gas Expo - - - Trim Increment - Inkrement Trimmer - - - Center Beep - Zentrierpieps - - - Fades - Übergänge - - - Trims - Trimmer - - - Switch - Schalter - - - IN - IN - - - OUT - OUT - - - Gvars - Gvars - - - Rot. Enc. - Drehgeber - - - Limits - Grenzen - - - Offset - Offset - - - Min - Min - - - Max - Max - - - Invert - Invertieren - - - CH - CH - - - INV - INV - - - NOR - NOR - - - Global Variables - Globale Variablen - - - GV - GV - - - Expo/Dr Settings - Expo/Dual Rate - - - Weight - Gewichtung - - - Logical Switches - Logische Schalter - - - LS - LS - - - DISABLED - Gesperrt - - - Curve - Kurve - - - Mixers - Mischer - - - noTrim - keinTrim - - - Delay(u%1:d%2) - Verzögerung(u%1:d%2) - - - Slow(u%1:d%2) - Langsam/u%1:d%2) - - - Warn - Warnung - - - Curves - Kurven - - - 5 Points Curves - 5 Punkte Kurve - - - pt %1 - Pt %1 - - - 9 Points Curves - 9 Punkte Kurve - - - Special Functions - Spezial Funktionen - - - Function - Funktion - - - Param - Parameter - - - Enable - Freigabe - - - SF - SF - - - Telemetry Settings - Telemetrie Einstellungen - - - Analog - Analog - - - Unit - Einheit - - - Scale - Skala - - - A%1 - A%1 - - - Alarm 1 - Alarm 1 - - - Alarm 2 - Alarm 2 - - - Type - Typ - - - Condition - Zustand - - - Value - Wert - - - Flight modes Settings - Flugpahsen Einstellungen - - - Flight mode name - Flugphasen Name - - - FM - FM - - - Flight modes - Flugphasen - - - Flight mode - Flugphasen - - - Repeat - Wiederholen - - - RSSI Alarm - RSSI Alarm - - - Telemetry Bars - Telemetrie Balken - - - Bar Number - Balkennummer - - - Source - Quelle - - - Custom Telemetry View - Einstellbare Telemetrie Ansicht - - - Print Document - Drucke Dokument - - - Select PDF output file - PDF Output Datei wählen - - - - contributorsDialog - - Dialog - Dialog - - - People who have contributed to this project - Personen, die in diesem Projekt mitgewirkt haben - - - Coders - Programmierer - - - Companion Release Notes - Companion Software Stände - - - Thank you all !!! - Besten Dank an alle! - - - Contributors - Mitwirkende - - - OpenTX Release Notes - Opentx Release Notes - customizeSplashDialog @@ -14399,99 +10746,6 @@ Please only use this if you know what you are doing. There are no error checks Herunterladen fehlgeschlagen: %1. - - fusesDialog - - Fuses - Fuses - - - Read Fuses - Lese Fuses - - - Reset Fuses EEPROM - PROTECT - Fuses zurücksetzen EEPROM - PROTECT - - - Reset Fuses EEPROM - DELETE - Fuses zurücksetzen 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; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p align="center" 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;">WARNING</span></p> -<p align="center" 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 align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Changing the fuses can mess up your radio.</p> -<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Proceed only if you know what you are doing.</p></body></html> - Das Ändern der Fuses kann Deine Fernsteuerung unbrauchbar machen. Mache nur weiter, wenn Du weißt was Du machst - - - - fwPreferencesDialog - - Downloads - Downloads - - - CheckBox - CheckBox - - - Set language of voice.May be different from firmware language - Sprachdatei auswählen, kann auch von der Firmwaresparche abweichen - - - Processor ID - Prozessor ID - - - Options - Optionen - - - Menu Language - Menüsprache - - - Voice Language - Ansagesprache - - - Firmware Type - Firmware Typ - - - Download Voice - Download Stimme - - - FwInfo - FwInfo - - - Download FW - Download FW - - - Check for updates - Prüfe auf Updates - - - Last downloaded release: %1 - Letzte geladene Version: %1 - - - The selected firmware has never been downloaded by Companion. - Die ausgewählte Firmware ist noch nie von Companion geladen worden - - - The selected firmware cannot be downloaded by Companion. - Die ausgewählte Firmware kann von Companion nicht geladen werden - - joystickDialog @@ -14667,10 +10921,6 @@ p, li { white-space: pre-wrap; } Ok Ok - - Move sticks and pots in every direction making full movement Press next when finished - Bewege Knüppel und Potis bis zu den Anschlägen in jeweils beide Richtungen. Wähle weiter wenn fertig - Move sticks and pots in every direction making full movement @@ -14717,95 +10967,6 @@ Press cancel to abort joystick calibration Duplicated stick assignment - - Place sticks and pots in middle position. Press next when done - Positioniere Knüppel und Potis in Mittelposition. Wähle weiterwenn fertig - - - Map joystick channels to controls using comboboxes. Press next when done - Weise Joystick Kanäle mittels den Komboboxen zu. Wähle weiter wenn fertig - - - Check inversion checkbox to get maximum at top-right position.Press next when done - Wähle "Farbe umkehren" checkbox für optimale Ergebnisse Wähle "weiter" wenn fertig - - - Press ok to save configuration Press cancel to abort joystick calibration - Wähle "Ok", um die Konfiguration zu speichern. Wähle "abbrechen", um die Kalibration abzubrechen - - - Duplicated stick assignement - Doppelte Knüppel Zuweisung - - - - logsDialog - - Companion Log Viewer - Companion Log ansehen - - - Filename - Dateiname - - - Open LogFile - Öffne LogDatei - - - Zoom - Zoom - - - X - X - - - Y - Y - - - Reset - Reset - - - Fly sessions - Flugdaten - - - Telemetry logs - Telemetrie Logs - - - Time (hh:mm:ss) - Zeit - - - Error - Fehler - - - Cannot write file %1: -%2. - Kann Datei nicht schreiben%1: -%2. - - - Cannot write file %1:%2. - Kann Datei %1:%2 nicht schreiben. - - - Select your log file - Wähle die Log Datei aus - - - Available fields - Verfügbare Felder - - - The selected logfile contains %1 invalid lines out of %2 total lines - Die ausgewählte Log-Datei enthält %1 ungültige Zeilen von %2 Gesamtzeilen - mdiChild @@ -14822,210 +10983,6 @@ Press cancel to abort joystick calibration Preferences Vor-Einstellungen - - Recent History Size - Anzahl zuletzt geöffnete Dateien - - - Download - Download - - - Default Channel Order - Voreingest. Kanalordnung - - - Channel order This is used by the templated to determine which channel goes to what number output. - Kanalzuordnung. Hier wird die Zuordnung der Kanäle zum Ausgang festgelegt. - - - Default Stick Mode - Standard Knüppelmodus - - - 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 - - - Modusauswahl: - -Mode 1: - Linker Knüppel: Höhe, Seite - Rechter Knüppel: Gas, Quer - -Mode 2: - Linker Knüppel: Gas, Seite - Rechter Knüppel: Höhe, Quer - -Mode 3: - Linker Knüppel: Höhe, Quer - Rechter Knüppel: Gas, Seite - -Mode 4: - Linker Knüpple: Gas, Quer - Rechter Knüppel: Höhe, Seite - - - - - Mode 1 (RUD ELE THR AIL) - Mode 1 (Sei Höh Gas Que) - - - Mode 2 (RUD THR ELE AIL) - Mode 2 (Sei Gas Höh Que) - - - Mode 3 (AIL ELE THR RUD) - Mode 3 (Que Höh Gas Sei) - - - Mode 4 (AIL THR ELE RUD) - Mode 4 (Que Gas Höh Sei) - - - Automatic Backup Folder - Autmatisches Backup Verzeichnis - - - Channel order - -This is used by the templated to determine which channel goes to what number output. - Kanalreihenfolge - -Damit wird festgelegt welche 4 Kanäle auf welche 4 Ausgänge gehen sollen. - - - R E T A - S H G Q - - - R E A T - S H Q G - - - R T E A - S G H Q - - - R T A E - S G Q H - - - R A E T - S Q H G - - - R A T E - S Q G H - - - E R T A - H S G Q - - - E R A T - H S Q G - - - E T R A - H G S Q - - - E T A R - H G Q S - - - E A R T - H Q S G - - - E A T R - H Q G S - - - T R E A - G S H Q - - - T R A E - G S Q H - - - T E R A - G H S Q - - - T E A R - G H Q S - - - T A R E - G Q S H - - - T A E R - G Q H S - - - A R E T - Q S H G - - - A R T E - Q S G H - - - A E R T - Q H S G - - - A E T R - Q H G S - - - A T R E - Q G S H - - - A T E R - Q G H S - - - Automatically add version number to the filename after download - Automatisch die Versionsnummer an die Datei nach dem Download anhängen - - - Voice - Stimme - - - Set language of voice. May be different from firmware language - Sprachdatei einstellen, kann auch von der Firmwaresprache abweichen - - - Firmware - Firmware - - - Check for updates on startup - Überprüfe auf Aktualisierung beim Start - @@ -15073,14 +11030,6 @@ Damit wird festgelegt welche 4 Kanäle auf welche 4 Ausgänge gehen sollen.Open Folder Verzeichnis öffnen - - SD Structure path - SD Verzeichnis Pfad - - - Processor ID - Prozessor ID - Simulator capture folder @@ -15091,61 +11040,11 @@ Damit wird festgelegt welche 4 Kanäle auf welche 4 Ausgänge gehen sollen.Use clipboard only Verwende nur Zwischenablage - - CheckBox - CheckBox - - - Check for updates - Prüfe für Updates - - - Set language of voice. -May be different from firmware language - Legt die Ansagesprache fest -Die kann auch unterschiedlch zur Firmwaresprache sein - - - Language - Sprache - - - Profile Name - Profil Name - - - Export Profile - Export Profil - - - Save Profile - Speichere Profil - - - Import Profile - Import Profil - Simu BackLight Simu LCD Beleuchtung - - Check for selected Fw updates - Prüfe auf neueren Firmwarestand - - - Ask use of wizard for new models - Modell Wizard bei einem neuem Modell verwenden? - - - Show Splash At Start - Zeige Startbild an - - - Remember switches in simulator - Schalterstellungen im Simulator merken - Blue @@ -15172,26 +11071,6 @@ Die kann auch unterschiedlch zur Firmwaresprache sein Yellow Gelb - - Profile slot - Vorhandene Profile - - - auto backup before write - AutoBackup vor Schreiben - - - Find Executable - Suche Exe-Datei - - - Google Earth Executable - Google Earth Exe-Datei - - - Ask for flashing after Download - Firmware gleich Flashen nach Downlaod? - Enable @@ -15212,377 +11091,5 @@ Die kann auch unterschiedlch zur Firmwaresprache sein Invert Pixels Pixel invertieren - - FwInfo - FwInfo - - - - printDialog - - Dialog - Dialog - - - Close - Schliessen - - - Print - Drucken - - - Print to file - Druck in Datei - - - Setup for: - Einstellung für: - - - Name - Name - - - printed on: %1 - ausgedruckt am: %1 - - - General Model Settings - Allgemeine Modell Einstellungen - - - EEprom Size - EEProm größe - - - Timer1 - Stoppuhr1 - - - Timer2 - Stoppuhr2 - - - Protocol - Protokoll - - - Pulse Polarity - Pulspolarität - - - Throttle Trim - Gas Leerlauftrim - - - Enabled - Aktiv - - - Disabled - Inaktiv - - - Throttle Expo - Gas Expo - - - Fades - Übergänge - - - Trims - Trimmungen - - - Trim Increment - Inkrement Trimmer - - - Center Beep - Zentrierpieps - - - Delay(u%1:d%2) - Verzögerung(u%1:d%2) - - - Slow(u%1:d%2) - Langsam/u%1:d%2) - - - pt %1 - pt %1 - - - Blades - Rotorblätter - - - Source - Quelle - - - Offset - Offset - - - Gvars - Gvars - - - Rot.Enc. - Drehgeber - - - Flight mode name - Flugphase Name - - - FM - FM - - - Flight modes - Flugphasen - - - Flight mode - Flugphase - - - Global Variables - Globale Variable - - - GV - GV - - - Function - Funktion - - - Switch - Schalter - - - IN - IN - - - OUT - OUT - - - Expo/Dr Settings - Expo/Dualrate Einstellungen - - - Weight - Gewichtung - - - DISABLED - Gesperrt - - - Curve - Kurve - - - Mixers - Mischer - - - CH - CH - - - noTrim - keinTrim - - - Warn - Warnung - - - Limits - Grenzen - - - Min - Min - - - Max - Max - - - Invert - Invertieren - - - INV - INV - - - NOR - NOR - - - Curves - Kurven - - - Special Functions - Spezial Funktionen - - - Value - Wert - - - Parameter - Parameter - - - Repeat - Wiederholen - - - Logical Switches - Logische Schalter - - - LS - LS - - - Telemetry Settings - Telemetrie Einstellungen - - - Alarm 1 - Alarm 1 - - - Alarm 2 - Alarm 2 - - - Analog - Analog - - - Unit - Einheit - - - Scale - Skala - - - Type - Typ - - - Condition - Zustand - - - A%1 - A%1 - - - RSSI Alarm - RSSi Alarm - - - Frsky serial protocol - Frsky serielles Protokoll - - - System of units - Maßeinheiten - - - Telemetry Bars - Telemetrie Balken - - - Bar Number - Balkennummer - - - ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) - ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) - - - Custom Telemetry View - Telemetrie Ansicht - - - Flight modes Settings - Flugphasen Einstellungen - - - Print Document - Drucke Dokument - - - Select PDF output file - PDF Output Datei wählen - - - - SplashLibraryDialog - - - - ... - ... - - - - Splash Library - page %1 of %2 - Startbild Bibliothek - Seite %1 von %2 - - - - Warning - Warnung - - - - Invalid image in library %1 - ungültige Bilddatei in Bibliothek %1 - - - - Information - Information - - - - No valid image found in library, check your settings - keine gültige Bilddatei gefunden in Bibliothek, bitte Einstellungen prüfen - - - - taranisNotFoundDialog - - No Taranis Radio Found - Taranis Sender nicht gefunden - - - <html><head/><body><p>No Taranis Radio was found!</p><p>Make sure that you hold the lower trim buttons towards the center while you turn it on.</p><p>Then connect the USB wire.</p></body></html> - <html><head/><body><p>Kein Taranis Sender gefunden!</p><p>zuerst die beiden unteren Trimmtasten zusammendrucken bevor der Sender eingeschaltet wird.</p><p>Dann erst das USB-Kabel anschließen.</p></body></html> - - - OK - OK - diff --git a/companion/src/translations/companion_es.ts b/companion/src/translations/companion_es.ts old mode 100755 new mode 100644 index 092d19dc0..423fc5640 --- a/companion/src/translations/companion_es.ts +++ b/companion/src/translations/companion_es.ts @@ -4,27 +4,27 @@ AileronsPage - + No No - + Yes, controlled by a single channel Si, controlado por un único canal - + Yes, controlled by two channels Si, controlado por dos canales - + <br>First Aileron Channel: <br>Canal Primer Alerón: - + Second Aileron Channel: Canal Segundo Alerón: @@ -32,27 +32,27 @@ AirbrakesPage - + No No - + Yes, controlled by a single channel Si, controlado por un único canal - + Yes, controlled by two channels Si, controlado por dos canales - + <br>First Airbrake Channel: <br>Primer Canal Aerofreno: - + Second Airbrake Channel: Segundo Canal Aerofreno: @@ -74,7 +74,7 @@ - + Open Folder Abrir Carpeta @@ -326,7 +326,7 @@ Modo 4: - + Simulator Volume Gain @@ -464,62 +464,62 @@ Puede ser diferente del lenguaje del firmware Ajustes Simulador - + Simulator BackLight Luz de fondo del simulador - + Enable Activado - + Blue Azul - + Green Verde - + Red Rojo - + Orange Naranja - + Yellow Amarillo - + Joystick Joystick - + Calibrate Calibrar - + Simulator capture folder Carpeta de captura de simulador - + Only capture to clipboard Solo capturar a portapapeles - + Remember simulator switch values Recordar los valores de los switch en el simulador @@ -534,64 +534,64 @@ Puede ser diferente del lenguaje del firmware Selecciona tu carpeta de capturas - - + + No joysticks found No se han encopntrado joysticks - + EMPTY: No radio settings stored in profile VACIO: No se han guardado ajustes en el perfil de tu radio - + AVAILABLE: Radio settings of unknown age DISPONIBLE:Ajustes de radio de tiempo desconocido - + AVAILABLE: Radio settings stored %1 DISPONIBLE: Ajustes de radio guardados %1 - + Select your library folder Selecciona tu carpeta de una carpeta - - + + Select your Models and Settings backup folder Selecciona la carpeta de seguridad de tus modelos y ajustes - + Select Google Earth executable Selecciona el ejecutable de Google Earth - + Select the folder replicating your SD structure Selecciona la carpeta que replica la structura de tu tarjeta SD - + Not possible to remove profile No es posible eliminar el perfil - + The default profile can not be removed. El perfil prederterminado no se puede eliminar. - + Open Image to load Abrir imagen para cargar - + Images (%1) Imagenes (%1) @@ -772,11 +772,6 @@ Puede ser diferente del lenguaje del firmware Stick 4 - - - Battery - Bateria - v @@ -797,10 +792,15 @@ Puede ser diferente del lenguaje del firmware PPM 4 PPM 4 + + + Battery Offset + + - Current - Actual + Current Offset + @@ -1049,469 +1049,17 @@ Puede ser diferente del lenguaje del firmware Imprimir a archivo - + No name Sin nombre - - General Model Settings - Ajustes generales del modelo - - - - - - Name - Nombre - - - - - EEprom Size - Tamaño EEprom - - - - - Timer1 - Temporizador1 - - - - - Timer2 - Temporizador 2 - - - - - Internal Radio System - Sistema Interno de Radio - - - - - Radio System - Sistema de Radio - - - - - - - Protocol - Protocolo - - - Pulse Polarity - Polaridad del pulso - - - - - Throttle Trim - Trim Acelerador - - - - - Enabled - Activado - - - - - Disabled - Desactivado - - - Throttle Expo - Expo Acelerador - - - - - External Radio Module - Modulo externo de Radio - - - - - Extra Radio System - Extra Sistema de Radio - - - - - Trainer port mode - - - - - - Trim Increment - Incremento Trim - - - - - Center Beep - Centro Beep - - - - Flight modes Settings - Ajustes modos de vuelo - - - - - Fades - Fades - - - - - Trims - Trims - - - - - Switch - Switch - - - - - - - Flight mode name - Nombre del modo de vuelo - - - - - IN - IN - - - - - OUT - OUT - - - - - - - - - - - - - FM - FM - - - - - Gvars - Gvars - - - - - Rot. Enc. - Rot. Enc. - - - - Limits - Limites - - - - - - - - Offset - Offset - - - - - - - - Min - Min - - - - - - - - Max - Max - - - - - - Invert - Invertir - - - - - - - - CH - H - - - - - INV - INV - - - - - NOR - NOR - - - - Global Variables - Variables globales - - - - - GV - GV - - - - Inputs - Entradas - - - - L - - - - Expo/Dr Settings - Expo/Dr Ajustes - - - Weight - Carga - - - Flight modes - Modos de vuelo - - - Flight mode - Modo de vuelo - - - DISABLED - Desactivado - - - - Mixers - Mezclas - - - noTrim - noTrim - - - Delay(u%1:d%2) - Retrasar(u%1:d%2) - - - Slow(u%1:d%2) - Lento(u%1:d%2) - - - Warn - Aviso - - - - Curves - Curvas - - - 5 Point Curves - Curvas de 5 puntos - - - pt %1 - pt %1 - - - - - Curve - Curva - - - 9 Point Curves - Curvas de 9 puntos - - - - Logical Switches - Switches lógicos - - - LS - LS - - - - Special Functions - Funciones especiales - - - Function - Función - - - Param - Param - - - Repeat - Repetir - - - Enable - Activado - - - - SF - SF - - - - Telemetry Settings - Ajustes Telemetría - - - - - Analog - Analógico - - - - - Unit - Unidad - - - - - Scale - Escala - - - - - - - A%1 - A%1 - - - - - Alarm 1 - Alarma 1 - - - - - Alarm 2 - Alarma 2 - - - - - - - Type - Tipo - - - - - - - Condition - Condición - - - - - - - Value - Valor - - - - - RSSI Alarm - Alarma RSSI - - - - - Custom Telemetry View - Vistas personalizadas de telemetría - - - - - Telemetry Bars - Barras Telemetría - - - - - Bar Number - Numero Barra - - - - - Source - Origen - - - + Print Document Imprimir documento - + Select PDF output file Seleccionar archivo de salida PDF @@ -1519,7 +1067,7 @@ Puede ser diferente del lenguaje del firmware ConclusionPage - + OK, I understand. OK, Entiendo. @@ -1557,12 +1105,12 @@ Puede ser diferente del lenguaje del firmware Los honores van a Rafal Tomczak (RadioClone), Thomas Husterer (th9x) y Erez Raviv (er9x y eePe) - - Thank you all !!! - ¡¡Gracias a todos!! + + OpenTX Blacklist + - + monthly @@ -1595,22 +1143,22 @@ Puede ser diferente del lenguaje del firmware CurveGroup - + Diff Diff - + Expo Expo - + Func Func - + Curve Curva @@ -1758,10 +1306,6 @@ Puede ser diferente del lenguaje del firmware Are you sure you want to reset all curves? - - Are you sure you want to reset curve %1 ? - ¿Estas seguro que quieres reiniciar la curva %1? - Editing curve %1 @@ -1821,42 +1365,42 @@ Puede ser diferente del lenguaje del firmware ¡No se ha encontrado el archivo de sonido %1! - + &Delete &Borrar - + Delete Borrar - + &Copy &Copiar - + Ctrl+C Ctrl+C - + &Cut C&ortar - + Ctrl+X Ctrl+X - + &Paste &Pegar - + Ctrl+V Ctrl+V @@ -1864,22 +1408,22 @@ Puede ser diferente del lenguaje del firmware CyclicPage - + 90 90 - + 120 120 - + 120x 120x - + 140 140 @@ -1892,236 +1436,110 @@ Puede ser diferente del lenguaje del firmware + + EepromInterface + + + Possible causes for this: + + + + + - Eeprom is from a newer version of OpenTX + + + + + - Eeprom is not from OpenTX + + + + + - Eeprom is not from Th9X + + + + + - Eeprom is not from Gruvin9X + + + + + - Eeprom is not from ErSky9X + + + + + - Eeprom is not from Er9X + + + + + - Eeprom size is invalid + + + + + - Eeprom file system is invalid + + + + + - Eeprom is from a unknown board + + + + + - Eeprom is from the wrong board + + + + + - Eeprom backup not supported + + + + + - Something that couldn't be guessed, sorry + + + + + Warning: + + + + + + - Your radio probably uses a wrong firmware, + eeprom size is 4096 but only the first 2048 are used + + + + + - Your eeprom is from an old version of OpenTX, upgrading! + You should 'save as' to keep the old file as a backup. + + + + + Warnings! + + + ElevonsPage - + <br>First Elevon Channel: <br>Primer canal de Elevon: - + Second Elevon Channel: Segundo canal de Elevon: - - Er9x::Templates - - - Simple 4-CH - 4-CH Simples - - - - T-Cut - Corte de Gas - - - - Sticky T-Cut - Stick Corte de Gas - - - - V-Tail - Cola-V - - - - Elevon\Delta - Elevon\Delta - - - - Heli Setup - Configuración Heli - - - - Heli Setup with gyro gain control - Configuración Heli con control de ganancia de gyro - - - - Gyro gain control - Control ganancia gyro - - - - Heli Setup (Futaba's channel assignment style) - Configuración Heli (Asignación de canales estilo Futaba) - - - - Heli Setup with gyro gain control (Futaba's channel assignment style) - Configuracion Heli con control de ganancia de gyro (Asignación de canales estilo Futaba) - - - - Gyro gain control (Futaba's channel assignment style) - Control ganancia de gyro (Asignación de canales estilo Futaba) - - - - Servo Test - Servo Test - - - - MultiCopter - Multicóptero - - - - Use Model Config Wizard - Usar asistente de configuración de modelo - - - - Apply Template? - ¿Aplicar plantilla? - - - - Apply template "%1"? - ¿Aplicar plantilla "%1"? - - - - - - - - - - RUD - RUD - - - - - - - - - - - - - ELE - ELE - - - - - - THR - THR - - - - - - - - - - - AIL - AIL - - - - - - - AIL2 - AIL2 - - - - - - - ELE2 - ELE2 - - - - - - - - - FLAPS - FLAPS - - - - - - - - - FLAP%1 - FLAP%1 - - - - - - - PITCH - PITCH - - - - - - - - - - - GYRO - GYRO - - - - - SPOIL - SPOIL - - - - - SPOIL%1 - SPOIL%1 - - - - - RUD2 - RUD2 - - - - - Clear Mixes? - ¿Limpiar mezclas? - - - - Really clear existing mixes on CH6? - ¿Seguro que quieres limpiar la mezcla en CH6? - - - - Really clear existing mixes on CH5? - ¿Seguro que quieres limpiar la mezcla en CH5? - - ExpoDialog @@ -2238,46 +1656,26 @@ Si está en blanco entonces las entradas son consideradas como ON todo el tiempo Edit %1 Editar %1 - - - Rud - Rud - - - - Ele - Ele - - - - Thr - Thr - - - - Ail - Ail - FblPage - + Throttle Channel: Canal de Acelerador: - + Yaw Channel: Canal de Yaw: - + Pitch Channel: Canal de pitch: - + Roll Channel: Canal de roll: @@ -2330,27 +1728,27 @@ Puede ser diferente del lenguaje del firmware FlapsPage - + No No - + Yes, controlled by a single channel Si, controlado por un único canal - + Yes, controlled by two channels Si, controlado por dos canales - + <br>First Flap Channel: <br>Canal del primer Flap: - + Second Flap Channel: Canal del segundo Flap: @@ -2359,7 +1757,7 @@ Puede ser diferente del lenguaje del firmware FlashEEpromDialog - + Write Models and Settings to Radio Escribir Modelos y Ajustes a la Radio @@ -2433,14 +1831,14 @@ Puede ser diferente del lenguaje del firmware - - - - - - - - + + + + + + + + Error Error @@ -2452,75 +1850,75 @@ Puede ser diferente del lenguaje del firmware - + Error opening file %1: %2. Error abriendo el archivo %1: %2. - - + + Invalid Models and Settings File %1 Archivo de Modelos y Ajustes inválido %1 - + Error reading file %1: %2. Error leyendo el archivo %1: %2. - + Invalid Models and Settings file %1 - - - - + + + + Warning - + Wrong radio calibration data in profile, Settings not patched Datos de calibración de radio incorrectos en el perfil, ajustes no corregidos - + Wrong radio setting data in profile, Settings not patched Datos de ajustes de radio incorrectos en el perfil, ajustes no corregidos - - + + Cannot write file %1: %2. No se puede escribir el archivo %1: %2. - + Error writing file %1: %2. Error escribiendo el archivo %1: %2. - + The radio firmware belongs to another product family, check file and preferences! El firmware de la radio pertenece a otro producto, ¡comprueba el archivo y las preferencias! - + The radio firmware is outdated, please upgrade! El firmware de la radio está obsoleto, ¡por favor actializalo! - + Cannot check Models and Settings compatibility! Continue anyway? ¡No se pueden comprobar la compatibilidad de Modelos y Ajustes! ¿Continuar de todas maneras? @@ -2604,8 +2002,8 @@ Puede ser diferente del lenguaje del firmware - - + + Warning @@ -2659,58 +2057,58 @@ Puede ser diferente del lenguaje del firmware La librería de imágen no puede ser cargada - + Splash image not found - + Cannot save customized firmware No se puede guardar el firmware personalizado - + Write Firmware to Radio Escribir Firmware a la Radio - - + + Firmware check failed - + Could not check firmware from radio - + New firmware is not compatible with the one currently installed! - + Conversion failed Coversion fallida - + Cannot convert Models and Settings for use with this firmware, original data will be used No se pueden convertir los Modelos y Ajustes para usar con este firmware, se usarán los datos originales - + Restore failed Restauración fallida - + Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 No se ha podido restaurar los Modelos y Ajustes a la Radio. Los datos de los modelos y ajustes se pueden encontrar en: %1 - + Flashing done @@ -2838,37 +2236,17 @@ Please use ZADIG to properly install the driver. FlightModePanel - - Rud - Rud - - - - Ele - Ele - - - - Thr - Thr - - - - Ail - Ail - - - + Rotary Encoder %1 Codificador Rotativo %1 - + GVAR%1 GVAR%1 - + Popup enabled Popup activado @@ -2876,17 +2254,17 @@ Please use ZADIG to properly install the driver. FlightModesPanel - + Flight Mode %1 Modo de vuelo%1 - + (%1) (%1) - + (default) (Predeterminado) @@ -2894,17 +2272,17 @@ Please use ZADIG to properly install the driver. FlybarSelectionPage - + Has Flybar Tiene Flybar - + Flybarless Flybarless - + Flybar: Flybar: @@ -3032,131 +2410,11 @@ Estos puede ser relevantes para todos los modelos en el mismo EEPROM.Setup Configuración - - Contrast - Contraste - - - <!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;">Contraste de la pantalla LCD</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;">Los valores pueden ser 20-45</span></p></body></html> - - - Battery Warning - Aviso de Bateria - - - Battery warning voltage. -This is the threashhold where the battery warning sounds. - -Acceptable values are 5v..10v - Voltaje de aviso de la batería. -Este es el umbral cuando la batería emite sonidos de aviso. - -Los valores aceptables son 5v..10v - - - This is the switch selectrion for turning on the backlight (if installed). - - - Este es el switch seleccionado para encender la pantalla (si está instalada). - - - - - If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. - Si este valor no es 0, cualquier pulsación encenderá la pantalla y se apagará despues de un número determinado de segundos. - - - sec - seg - - - Inactivity Timer - Tiempo de inactividad - - - If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes. - Si no es cero emitirá sonidos si el transmisor de deja sin pulsaciones surante el numero específico de minutos. - - - min - min - - - Off - Apagado - Trainer Trainer - - PPM 1 - PPM 1 - - - Mode - Modo - - - Sound Mode - Modo sonido - - - Speaker Pitch (spkr only) - Tono del altavoz (solo altavoz) - - - Only Alarms - Solo Alarmas - - - All - Todo - - - Beeper Length - Longitud del beeper - - - X-Short - X-Corto - - - Short - Corto - - - X-Long - X-Largo - - - Haptic Mode - Modo Haptic - - - Alarms Only - Solo Alarmas - - - Haptic Length - Longitud Haptic - - - GPS Coordinates - Coordenadas GPS - Store calib. and hw settings in selected profile @@ -3167,358 +2425,6 @@ Los valores aceptables son 5v..10v Retrieve calib. and hw settings from profile Recuperar calib. y los ajustes de hw de un perfil - - Speaker - Altavoz - - - BeeperVoice - BeeperVoz - - - SpeakerVoice - VozAltavoz - - - Timeshift from UTC - Zona horaria UTC - - - LCD Display Type - Tipo de Pantalla LCD - - - Standard - Estandar - - - Speaker Volume - Volumen Altavoz - - - Haptic Strength - Fuerza de Haptic - - - RotEnc Navigation - Navegación RotEnc - - - Country Code - Codigo País - - - Japan - Japón - - - Europe - Europa - - - MAVLink Baud Rate - Transferencia Baud MAVLink - - - Voice Language - Lenguaje de la voz - - - Measurement Units - Unidades de Medida - - - Beep volume - Volumen Beep - - - Wav volume - Volumen Wav - - - Vario volume - Volumen Vario - - - Background volume - Volumen de Fondo - - - If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. - Si activas FAI, perderás el vario, las funciones de reproducción, la pantalla de telemetría. Esta función no se puede desactivar en la radio. - - - Vario pitch at zero - Tono de vario a cero - - - Backlight Brightness - Brillo pantalla - - - Backlight Auto OFF after - Apagado automático de pantalla después - - - Backlight color - Color de pantalla - - - Backlight Switch - Switch de pantalla - - - Stick reverse (order as above) - Reverso de Sticks (ordenado como sigue) - - - Default Channel Order - Orden Perderterminado de Canales - - - <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> - <html><head/><body><p>Orden de canales</p><p><br/></p><p>Define el orden prederterminado de las mezclas creadas en un nuevo modelo.</p></body></html> - - - Play Delay (switch mid position) - Retardo de Play (switch en posición media) - - - Backlight flash on alarm - Pantalla parpadea con una alarma - - - OFF - APAGADO - - - S-Port Mirror - S-Port Espejo - - - Debug - Depurar - - - Serial Port - Puerto Serie - - - FAI Mode - Modo FAI - - - Metric - Métrico - - - Readonly Unlock - Desactivar solo lectura - - - "No Sound" Warning - Aviso "Sin Sonido" - - - Low Memory Warning - Aviso Memoria Baja - - - Vario pitch at max - Tono de vario al max - - - Vario repeat at zero - Vario repite a cero - - - Input - Entrada - - - Weight - Peso - - - := (Replace) - := (Reemplazar) - - - Negative span - Amplitud negativa - - - Mid value - Valor medio - - - Positive span - Amplitud positiva - - - Current - Actual - - - None - Ninguno - - - Multipos Switch - Switch Multipos - - - S1 Type - Tipo S1 - - - S2 Type - Tipo S2 - - - Battery - Bateria - - - PPM Multiplier - Multiplicador PPM - - - Quiet - Silencio - - - No Keys - Sin teclas - - - Long - Largo - - - <!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=" 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;">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> - <!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=" text-decoration: underline;">Avisos</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;">Esto define los avisos al inicio.</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Aviso de acelerador - te alertará sin el gas no esta en la posición inactiva</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Aviso de Switch - tealertará si los switches no están en su posición prederterminada</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Aviso de memoria - te alertará si no hay suficiente memoria libre</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Aviso de silencio - te alertará si el beeper está en modo silencio (0)</p></body></html> - - - Beeper Mode - Modo Beeper - - - 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. - Volumen Beeper - -0 - Silencio. Ningun tipo de beep. -1 - Sin teclas. Los beeps suenan normal pero las teclas de menu no sonarán. -2 - Normal. -3 - Alto. -4 - Extra Alto. - - - Stick Mode - Modo Stick - - - 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 - - - Selección de Modo: - -Modo 1: - Stick Izquierdo: Elevador, Timón - Stick Derecho: Acelerador, Alerón - -Modo 2: - Stick Izquierdo: Acelerador, Timón - Stick Derecho: Elevador, Alerón - -Modo 3: - Stick Izquierdo: Elevador, Alerón - Stick Derecho: Acelerador, Timón - -Modo 4: - Stick Izquierdo: Acelerador, Alerón - Stick Derecho: Elevador, Timón - - - - - Mode 1 (RUD ELE THR AIL) - Modo 1 (RUD ELE THR AIL) - - - Mode 2 (RUD THR ELE AIL) - Modo 2 (RUD THR ELE AIL) - - - Mode 3 (AIL ELE THR RUD) - Modo 3 (AIL ELE THR RUD) - - - Mode 4 (AIL THR ELE RUD) - Modo 4 (AIL THR ELE RUD) - - - Show Splash Screen on Startup - Mostrar Pantalla de Inicio al Enceder - - - Show splash screen on startup - Mostrar pantalla de inicio al encender - - - Calibration - Calibración - - - 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 ? - Si activas FAI, perderás el vario, las funciones de reproducción, la pantalla de telemetría. -Esta función no se puede desactivar en la radio. -¿Estas seguro? - Global Functions @@ -4367,17 +3273,17 @@ Esta función no se puede desactivar en la radio. GyroPage - + No No - + Yes, controled by a switch Si, controlado por un switch - + Yes, controlled by a pot Si, controlado por un potenciómetro @@ -4399,19 +3305,11 @@ Esta función no se puede desactivar en la radio. Invert Collective Invertir Colectivo - - Elevator - Profundidad - Invert Invertir - - Aileron - Aleron - Off @@ -4466,22 +3364,22 @@ Esta función no se puede desactivar en la radio. HeliPage - + Throttle Channel: Canal de Acelerador: - + Yaw Channel: Canal de Yaw: - + Pitch Channel: Canal de pitch: - + Roll Channel: Canal de roll: @@ -4517,14 +3415,6 @@ Esta función no se puede desactivar en la radio. Clear All Inputs Limpiar Todas las entradas - - Source(%1) - Origen(%1) - - - Weight(%1) - Peso(%1) - Not enough available inputs! @@ -4861,127 +3751,83 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt MainWindow - - - + + + File loaded Archivo Cargado - - - + + + Save As Guardar Como - - + + No updates available at this time. No hay actualizaciones disponibles ahora. - + Unable to check for updates. Imposible comprobar actualizaciones. - + Checking for updates Comprobando actualizaciones - + Executable (*.exe) Ejecutable (*.exe) - + A new release of Companion is available, please check the OpenTX website! ¡Una nueva versión de Companion está disponible, por favor comprueba la web de OpenTX! - + Would you like to launch the installer? ¿Quieres ejecutar el instalador? - + Not enough memory for all the selected firmware options No hay memoria suficiente para todas las opciones de firmware seleccionadas - - + + File saved Archivo guardado - + Read Models and Settings From Radio Leer los Modelos y Ajustes de la Radio - Write Radio Backup from %1 to the radio? - ¿Escribir una copia de seguridad desde %1 a la radio? - - - Backup Models and Settings From Radio - Copia de Seguridad de Modelos y ajustes desde la Radio - - - The radio firmware belongs to another product family, check file and preferences! - El firmware de la radio pertenece a otro producto, ¡comprueba el archivo y las preferencias! - - - The radio firmware is outdated, please upgrade! - El firmware de la radio está obsoleto, ¡por favor actializalo! - - - Write Backup To Radio - Escribir Copia de Seguridad a la Radio - - - Write Firmware To Radio - Escribir Firmware a la Radio - - - Restore Models and Settings To Radio - Restaurar Modelos y ajustes a la Radio - - - Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - No se ha podido restaurar los Modelos y Ajustes a la Radio. Los datos de los modelos y ajustes se pueden encontrar en: %1 - - - Could not write firmware to radio. The models and settings data file can be found at: %1 - No se ha podido escribir el firmware a la Radio. Los datos de los modelos y ajustes se pueden encontrar en: %1 - - - Cannot backup existing Models and Settings from Radio. Firmware write process aborted - No se puede realizar una copia de seguridad de los Modelos y Ajustes existentes desde la Radio. Proceso de escritura de firmware abortado - - - + Save Radio Backup to File Guardar Copia deSeguridad de la Radio a un Archivo - Read Radio Backup - Leer Copia de Seguridad de la Radio - - - + Read Radio Firmware to File Leer el Firmware de la Radio a un Archivo - + OpenTX Home Page: <a href='%1'>%1</a> - + If you've found this program useful, please support by <a href='%1'>donating</a> Si has encontrado este programa útl, por favor ayuda con una <a href='%1'>donación</a> @@ -4991,528 +3837,436 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt ¿Volver a mostrar el aviso previo de nuevo a comenzar? - + New release available Nueva versión disponible - - + + Error - + Error opening file %1: %2. Error abriendo el archivo %1: %2. - + Compilation server termporary failure, try later Fallo temporal en el servidor de compilación, intentalo mas tarde - + Compilation server too busy, try later Servidor de compilación demasiado ocupado, inténtalo mas tarde - + Unknown server failure, try later Fallo desconocido de servidor, inténtalo mas tarde - - + + Yes Si - - + + No - - + + Release Notes Notas de la Versión - - + + Do you want to download release %1 now ? ¿Quieres descargar la versión %1 ahora? - - + + Open Models and Settings file Abrir archivo de Modelos y Ajustes - + Firmware updates Actualizaciones de firmware - + Current firmware does not provide release notes informations. EL firmware actual no proporciona notas de la versión. - Cannot write file %1: -%2. - No se puede escribir el archivo %1: -%2. - - - Backup is impossible - Copia de Seguridad imposible - - - The backup dir set in preferences does not exist - El directorio de la copia de seguridad establecido en las preferencias no existe - - - Warning - Atención - - - Conversion failed - Coversion fallida - - - Restore failed - Restauración fallida - - - Backup failed - Copia de seguridad fallida - - - + New Nuevo - + Open... Abrir... - + Save Guardar - + Save As... Guardar Como... - + Copy Model Copiar Modelo - + Paste Model Pegar Modelo - + Load backup from file Cargar copia de seguridad desde un archivo - + Compare models Comparar modelos - + Exit the application Salir de la aplicación - + List available programmers Lista de programadores disponibles - + Show fuses dialog - + Show the application's About box Mostrar la ventana de aplicación Acerca de - + Set Menu Language Menú Ajuste Lenguaje - + Show the list of radio profiles Mostrar la lsita de los perfiles de radio - + Write Escribir - + %2 %2 - + New Radio Nueva Radio - Unable to find file %1! - ¡No se ha encontrado el archivo %1! - - - Error reading file %1: -%2. - Error leyendo el archivo %1: -%2. - - - + A new version of Companion is available (version %1)<br>Would you like to download it? Una nueva versión de Companion está disponible (versión %1),<br>¿Te gustaría descargarla? - + Compilation server requires registration, please check OpenTX web site El servidor de compilación requiere registro, por favor comprueba la pagina web de OpenTX - + Do you want to write the firmware to the radio now ? ¿Te gustaría escribir el firmware a la radio ahora? - + The selected language will be used the next time you start Companion. El lenguaje seleccionado podrá ser usado la próxima vez que inicies Companion. - OK - OK - - - + The new theme will be loaded the next time you start Companion. El nuevo tema será cargado la próxima vez que inicies Companion. - + The icon size will be used the next time you start Companion. El tamaño de los iconos será usado la próxima vez que inicies Companion. - The file %1 -has not been recognized as a valid Models and Settings file -Write anyway ? - El Archivo %1 -no se ha reconocido como un archivo valido de Modelo y Ajustes -¿Escribir de todas maneras? - - - Cannot check Models and Settings compatibility! Continue anyway? - ¡No se pueden comprobar la compatibilidad de Modelos y Ajustes! ¿Continuar de todas maneras? - - - Cannot convert Models and Settings for use with this firmware, original data will be used - No se pueden convertir los Modelos y Ajustes para usar con este firmware, se usarán los datos originales - - - Firmware write failed - Escritura de firmware fallida - - - + About Companion Acerca de Companion - + A monochrome black icon theme Tema de icono monocromo negro - + A monochrome white icon theme Tema de icono monocromo blanco - + A monochrome blue icon theme Tema de icono monocromo azul - + Small Pequeño - + Use small toolbar icons Usar iconos pequeños en la barra de herramientas - + Use normal size toolbar icons Usar iconos normales en la barra de herramientas - + Normal - + Use big toolbar icons Usar iconos grandes en la barra de herramientas - + Big Grande - + Use huge toolbar icons Usar iconos extra grandes en la barra de herramientas - + Huge Extra Grande - OpenTX Companion - FW: %1 - Profile: %2 - OpenTX Companion - FW: %1 - Perfil: %2 - - - Firmware %1 does not seem to have ever been downloaded. -Release %2 is available. -Do you want to download it now? - El firmaware %1 parace que no se ha descargado. -La versión %2 está disponible. -¿Quieres descargarla ahora? - - - A new version of %1 firmware is available: - - current is %2 - - newer is %3 - -Do you want to download it now ? - Una nueva versión de %1 firmware está disponible: - -la actual es %2 - -la nueva es %3 - -¿Quieres descargarla ahora? - - - + Ignore this release %1? ¿Ignorar esta versión %1? - Read Firmware From Radio - Leer el Firmware desde la Radio - - - + The OpenTX Companion project was originally forked from <a href='%1'>eePe</a> El proyecto OpenTX Companion se ha bifurcado originalmente desde <a href='%1'>eePe</a> - + Copyright OpenTX Team Derechos de autor del equipo OpenTX - + Create a new Models and Settings file Crear un nuevo archivo de Modelos y Ajustes - - + + Save Models and Settings file Guardar el archivo de Modelos y Ajustes - + Exit Salir - + Cut Model Cortar Modelo - + Cut current model to the clipboard Cortar el modelo actual al portapapeles - + Copy current model to the clipboard Copiar el modelo actual al portapapeles - + Paste model from clipboard Pegar modelo desde el portapapeles - + Classical Clasico - + The classic companion9x icon theme Tema de iconos clasicos de companion9x - + Yerico - + Yellow round honey sweet icon theme Tema de iconos amarillo miel redondo - + Monochrome Monocromo - + MonoWhite MonoBlanco - + MonoBlue MonoAzul - + System language Lenguaje del sistema - + Use system language in menus Usar elnguaje del sistema en los menús - + Czech Checo - + Use Czech in menus Usar Checo en los menús - + German Alemán - + Use German in menus Usar Alemán en los menús - + English Inglés - + Use English in menus Usar Inglés en los menús - + Finnish Finlandés - + Use Finnish in menus Usar Finlandés en los menús - + French Francés - + Use French in menus Usar Francés en los menús - + Italian Italiano - + Use Italian in menus Usar Italiano en los menús - + Polish Polaco - + Use Polish in menus Usar Polaco en los menús - + Swedish Sueco - + Use Swedish in menus Usar Sueco en los menús - + Spanish Español - + Firmware %1 does not seem to have ever been downloaded. Release %2 is available. Do you want to download it now? @@ -5521,7 +4275,7 @@ We recommend you view the release notes using the button below to learn about an - + A new version of %1 firmware is available: - current is %2 - newer is %3 @@ -5532,321 +4286,313 @@ We recommend you view the release notes using the button below to learn about an - - - + + + Companion Companion - - + + Synchronize SD - + OpenTX Companion %1 - Radio: %2 - Profile: %3 - + Use Spanish in menus Usar Español en los menús - + About... Acerca de... - + Print... Imprimir... - + Print current model Imprimir el modelo actual - + Simulate... Simular... - + Simulate current model Simular el modelo actual - + Alt+S - + Load Backup... Cargar Copia de Seguridad... - + View Log File... Ver Archivo de Registro... - + Open and view log file Abrir y ver el archivo de registro - + Settings... Ajustes... - + Edit Settings Editar Ajustes - + Download... Descargar... - + Download firmware and voice files Descargar los archivos de firmware y voces - + Check for Updates... Comprobar Actualizaciones... - + Check OpenTX and Companion updates Comprobar la actualizaciones de OpenTX y Companion - + Companion Changes... Cambios Companion... - + Show Companion change log Mostrar el registro de cambios de Companion - + Firmware Changes... Cambios de Firmware... - + Show firmware change log Mostrar el registro de cambios de firmware - + Compare Models... Comparar Modelos... - + Edit Radio Splash Image... Editar Imagen de Inicio de la Radio... - + Edit the splash image of your Radio Editar la imagen de inicio de tu radio - + List programmers... Lista de programadores... - + Fuses... - - + + Read Firmware from Radio Leer Firmware desde la Radio - + Read firmware from Radio Leer firmware desde la Radio - - + + Write Firmware to Radio Escribir Firmware a la Radio - + Write firmware to Radio Escribir firmware a la Radio - + Add Radio Profile Añadir perfil de Radio - + Create a new Radio Setting Profile Crear un nuevo Perfil de Ajuste de Radio - + Manuals and other Documents Manuales y otros Documentos - + Open the OpenTX document page in a web browser Abrir la página de documentación de OpenTX en un navegador - + Write Models and Settings To Radio Escribir Modelos y Ajustes a la Radio - - + + Write Models and Settings to Radio Escribir Modelos y Ajustes a la Radio - - + + Read Models and Settings from Radio Leer los Modelos y Ajustes de la Radio - + Configure Communications... Configurar Comunicaciones... - + Configure software for communicating with the Radio Configurar software para la comunicación con la Radio - + Write Backup to Radio Escribir Copia de Seguridad a la Radio - + Write Backup from file to Radio Escribir Copia de Seguridad desde un archivo a la Radio - + Backup Radio to File Copia de Seguridad de la Radio a un Archivo - + Save a complete backup file of all settings and model data in the Radio Guardar una copia de seguridad completa de todos los datos de ajustes y modelos en la Radio - + Contributors... Contribuidores... - + A tribute to those who have contributed to OpenTX and Companion Un tributo a aquellos que han contribuido en OpenTX y Companion - + SD card synchronization - + Recent Files Archivos Recientes - + Recent Models+Settings Recientes Modelos+Ajustes - + Set Icon Theme Selecciona el Tema de Iconos - + Set Icon Size Selecciona el Tamaño de Iconos - Invalid Models and Settings File %1 - Archivo de Modelos y Ajustes inválido %1 - - - Invalid binary Models and Settings File %1 - Archivo binario inválido de Modelos y Ajustes %1 - - - - + + File Archivo - - + + Edit Editar - + Settings Ajustes - + Read/Write Leer/Escribir - - + + Help Ayuda - - + + Radio Profile Perfil de Radio - + Show recent Models+Settings documents Mostrar los documentos recientes de Modelos +Ajustes - + Ready Listo @@ -5857,22 +4603,22 @@ We recommend you view the release notes using the button below to learn about an - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Error Error @@ -5883,13 +4629,13 @@ We recommend you view the release notes using the button below to learn about an - + Unable to find file %1! ¡No es posible encontrar el archivo %1! - - + + Error reading file %1: %2. Error leyendo el archivo %1: @@ -5903,106 +4649,82 @@ We recommend you view the release notes using the button below to learn about an - - + + Error opening file %1: %2. Error abriendo el archivo %1: %2. - - + + Invalid EEPROM File %1 Archivo EEPROM inválido %1 - + Invalid binary EEPROM File %1 Archivo binario EEPROM inválido %1 - - - + + + Save As Guardar Como - - - - + + + + Cannot write file %1: %2. No se puede escribir el archivo %1: %2. - Backup EEPROM From Radio - Copia de seguridad del EEPROM desde la radio - - - Write EEPROM To Radio - Escribir EEPROM a la Radio - - - + Open backup Models and Settings file Abrir archivo de copia de seguridad de Modelos y Ajustes - + Companion Companion - + %1 has been modified. Do you want to save your changes? %1 ha sido modificado. ¿Quieres guardar los cambios? - Backup is impossible - Copia de seguidad imposible - - - The backup dir set in preferences does not exist - El directorio de la copia de seguridad ajustado en las preferencias no existe - - - Cannot check eeprom compatibility! Continue anyway? - ¡No se puede comprobar la compatibilidad del eeprom! ¿Continuar de todas formas? - - + + + + Warning - Aviso + Aviso - Firmware in radio is of a different family of eeprom written, check file and preferences! - El firmware en la radio pertenece a otra familia de eeprom, ¡comprueba el archivo y las preferencias! - - - Firmware in flash is outdated, please upgrade! - El firmware está obsoleto, ¡por favor actualízalo! - - - + Invalid binary backup File %1 Archivo binariode copia de seguridad inválido %1 - - + + Error writing file %1: %2. Error escribiendo el archivo %1: %2. - + Cannot write temporary file! ¡No se puede escribir el archivo temporal! @@ -6201,30 +4923,6 @@ Esto determina como los valores de mezcla son añadidos. Up Arriba - - <!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 and 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;">Retardo y lento</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;">Estos valores controlan la velocidad y retardo de la salida de la mezcla. </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;">Si Retardo no es cero la actuación de la mezcla será retrasada por el número específico de segundos.</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;">Si Lento no es cero entoonces la velocidad de la mezcla será la ajustada por el valor específico-&gt; el valor comprende el número de segundos que toma en hacer el recorrido de -100 a 100.</p></body></html> - Down @@ -6235,26 +4933,6 @@ p, li { white-space: pre-wrap; } DEST -> CH%1 DEST ->CH%1 - - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - MixesPanel @@ -6288,36 +4966,12 @@ p, li { white-space: pre-wrap; } Limpiar mezclas - Weight(%1) - Carga(%1) - - - Switch(%1) - Switch(%1) - - - NoTrim - noTrim - - - Delay(u%1:d%2) - Retrasar(u%1:d%2) - - - Slow(u%1:d%2) - Lento(u%1:d%2) - - - Warn(%1) - Aviso(%1) - - - + Not enough available mixers! ¡No hay suficientes mezclas disponibles! - + Delete Selected Mixes? ¿Borrar las mezclas seleccionadas? @@ -6402,12 +5056,12 @@ p, li { white-space: pre-wrap; } - + Clear Mixes? ¿Limpiar mezclas? - + Really clear all the mixes? ¿Seguro que quieres limpiar todas las mezclas? @@ -6474,39 +5128,308 @@ p, li { white-space: pre-wrap; } Simulate Simular + + + ModelPrinter - Clear Curves? - ¿Limpiar curvas? + + %1 bytes + - Really clear all the curves? - ¿Seguro que quieres limpiar todas las curvas? + + CH%1 + + + + + Exponential + Exponencial + + + + Extra Fine + Extra Fino + + + + Fine + Fino + + + + Medium + Medio + + + + Coarse + Duro + + + + Unknown + Desconocido + + + + Enabled + Activado + + + + Disabled + Desactivado + + + + %1, Channels(%2-%3), PPM delay(%4usec), Pulse polarity(%5) + + + + + %1, Channels(%2-%3) + + + + + Receiver number(%1) + + + + + Slave/Jack + + + + + Master/SBUS Module + + + + + Master/CPPM Module + + + + + Master/SBUS in battery compartment + + + + + Master/Jack + + + + + Rudder + Timón + + + + Elevator + Profundidad + + + + Throttle + Acelerador + + + + Aileron + Aleron + + + + Name(%1) + + + + + Slow(u%1:d%2) + + + + + Persistent + + + + + MinuteBeep + + + + + CountDown(Beeps) + + + + + CountDown(Voice) + + + + + CountDown(Haptic) + + + + + Off + Apagado + + + + + + + FM%1 + + + + + FM%1%2 + + + + + FM%1+%2 + + + + + [I%1] + + + + + Input%1 + Entrada%1 + + + + Weight + + + + + Switch + + + + + + NoTrim + + + + + Weight(%1) + + + + + Switch(%1) + Switch(%1) + + + + No DR/Expo + + + + + Offset(%1) + + + + + Delay(u%1:d%2) + + + + + Warn(%1) + + + + + Disabled in all flight modes + + + + + Flight modes(%1) + Modos de vuelo(%1) + + + + Flight mode(%1) + Modo de vuelo(%1) + + + + Edge(%1, [%2:%3]) + + + + + Sticky(%1, %2) + + + + + Timer(%1, %2) + Temporizador (%1, %2) + + + + Duration(%1s) + + + + + Delay(%1s) + + + + + Custom + A medida + + + + Standard + Estandar ModelSelectionPage - + Plane Avión - + Multirotor - + Helicopter Helicóptero - + Model Name: Nombre Modelo: - + Model Type: Tipo Modelo: @@ -6514,129 +5437,130 @@ p, li { white-space: pre-wrap; } ModelsListWidget - + + &Edit &Editar - + &Restore from backup &Restaurar desde copia de seguridad - + &Model Wizard Asistente &Modelos - + &Delete &Borrar - + Delete Borrar - + &Copy &Copiar - + Ctrl+C Ctrl+C - + &Cut C&ortar - + Ctrl+X Ctrl+X - + &Paste &Pegar - + Ctrl+V Ctrl+V - + D&uplicate &Duplicar - + Ctrl+U - + &Use as default &Usar como valor predeterminado - + P&rint model Imp&rimir modelo - + Ctrl+P - + Alt+S - + &Simulate model &Simular modelo - + General Settings Ajustes Generales - + Delete Selected Models? ¿Borrar los modelos seleccionados? - - + + Cannot delete default model. No se puede borrar el modelo predeterminado. - + Cannot cut default model. No se puede cortar el valor predeterminado. - + Do you want to overwrite radio general settings? ¿Quieres sobreescribir los ajustes generales de la radio? - + You are pasting on an not empty model, are you sure? You are pasting on an not empty model, are you sure ? Estas pegando en un modelo que no está vacio, ¿estas seguro? - + No free slot available, cannot duplicate No hay ranuras disponibles, no se puede duplicar @@ -6668,14 +5592,6 @@ p, li { white-space: pre-wrap; } Positive Positivo - - Master - Maestro - - - Slave - Esclavo - Polarity @@ -6795,66 +5711,273 @@ p, li { white-space: pre-wrap; } ModulePanel - + Trainer Port Puerto Entrenador - + Internal Radio System Sistema Interno de Radio - + External Radio Module Modulo externo de Radio - - + + Radio System Sistema de Radio - + Extra Radio System Extra Sistema de Radio - + Value Valor - + Hold Esperar - + No Pulse + + MultiModelPrinter + + + General Model Settings + + + + + Name: + + + + + EEprom Size: + + + + + Timer%1: + + + + + Module%1: + + + + + Module: + + + + + Trainer port: + + + + + Throttle Trim: + + + + + Trim Increment: + + + + + Center Beep: + + + + + Flight modes + Modos de vuelo + + + + + Flight mode + Modo de vuelo + + + + Switch + + + + + Fade IN + + + + + Fade OUT + + + + + + FM%1 + + + + + + GV%1 + + + + + RE%1 + + + + + Limits + Limites + + + + Channel + + + + + Name + Nombre + + + + + Offset + Offset + + + + Min + + + + + Max + + + + + Invert + Invertir + + + + Global Variables + Variables globales + + + + Inputs + Entradas + + + + Mixers + Mezclas + + + + CV%1 + + + + + Curves + Curvas + + + + L%1 + + + + + Logical Switches + + + + + SF%1 + SF%1 + + + + Special Functions + + + + + Telemetry Settings + Ajustes Telemetría + + + + Analogs + + + + + Unit + Unidad + + + + Scale + Escala + + + + A%1 + A%1 + + + + RSSI Alarms + + + MultirotorPage - + Throttle Channel: Canal Throttle: - + Yaw Channel: Canal Yaw: - + Pitch Channel: Canal Pitch: - + Roll Channel: Canal Roll: @@ -6862,17 +5985,17 @@ p, li { white-space: pre-wrap; } OptionsPage - + Throttle Cut Corte de Gas - + Throttle Timer Temporizador de Gas - + Flight Timer Temporizador de vuelo @@ -6895,483 +6018,17 @@ p, li { white-space: pre-wrap; } Imprimir a archivo - - Setup for: - Configuración para: - - - - printed on: %1 - Impreso en: %1 - - - - General Model Settings - Ajustes Generales de Modelo - - - - - - - Name - Nombre - - - - EEprom Size - Tamaño EEprom - - - Timer1 - Temporizador1 - - - Timer2 - Temporizador 2 - - - - Internal Radio System - Sistema Interno de Radio - - - - Radio System - Sistema de Radio - - - - - Protocol - Protocolo - - - Pulse Polarity - Polaridad del pulso - - - - Throttle Trim - Trim Acelerador - - - - Enabled - Activado - - - - Disabled - Desactivado - - - Throttle Expo - Expo Acelerador - - - - External Radio Module - Modulo externo de Radio - - - - Extra Radio System - Extra Sistema de Radio - - - - Trainer port mode - - - - - Trim Increment - Incremento Trim - - - - Center Beep - Centro Beep - - - - Flight modes - Modos de vuelo - - - - Fades - Fades - - - - Trims - - - - - Gvars - - - - - Rot.Enc. - - - - - Switch - - - - - Flight mode name - Nombre del modo de vuelo - - - - IN - - - - - OUT - - - - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - - - - - - - - FM - - - - - Off - Apagado - - - - Inputs - Entradas - - - Weight - Carga - - - - Source - Origen - - - NoTrim - NoTrim - - - DISABLED - DESACTIVADO - - - - Mixers - Mezclas - - - Weight(%1) - Carga(%1) - - - Delay(u%1:d%2) - Retrasar(u%1:d%2) - - - Slow(u%1:d%2) - Lento(u%1:d%2) - - - Warn(%1) - Aviso(%1) - - - - Limits - Limites - - - - - - CH - - - - - - - - - Offset - - - - - - - - Min - - - - - - - - Max - - - - - - - Invert - Invertir - - - - - - INV - - - - - - - NOR - - - - - Curves - Curvas - - - - - - Curve - Curva - - - - pt %1 - - - - - Logical Switches - Switches Logicos - - - - L - - - - - Global Variables - Variables globales - - - - GV - - - - - Special Functions - Funciones Especiales - - - Function - Función - - - Parameter - Parámetro - - - Repeat - Repetir - - - - Timer%1 - - - - - SF - SF - - - - - Telemetry Settings - Ajustes Telemetría - - - - - Analog - Analógico - - - - Range - Rango - - - - - - A%1 - - - - - Alarms - Alarmas - - - - Low Alarm - Alarma Baja - - - - Critical Alarm - Alarma crítica - - - - RSSI - - - - - - Blades - Palas - - - - - Alarm 1 - Alarma 1 - - - - - Alarm 2 - Alarma 2 - - - - Unit - Unidad - - - - Scale - Escala - - - - - - - Type - Tipo - - - - - - - Condition - Condición - - - - - - - Value - Valor - - - - RSSI Alarm - Alarma RSSI - - - - Frsky serial protocol - Puerto Serie Frsky - - - - - Custom Telemetry View - Vista personalizada de telemetría - - - - Telemetry Bars - Barras Telemetría - - - - Bar Number - Numero Barra - - - + Print Document Imprimir documento - + Select PDF output file Seleccionar archivo de salida PDF - + ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) Archivos ODF (*.odt);;Archivos PDF (*.pdf);;Archivos HTML(*.htm *.html);;Todos los Archivos (*) @@ -7404,18 +6061,6 @@ p, li { white-space: pre-wrap; } QObject - - - - FM%1 - FP%1 - - - - - Input%1 - Entrada%1 - Polish @@ -7423,8 +6068,6 @@ p, li { white-space: pre-wrap; } - - CH%1 @@ -7505,33 +6148,33 @@ p, li { white-space: pre-wrap; } - - + + --- - + Rud Trim - + Ele Trim - + Thr Trim - + Ail Trim - + Rot Enc @@ -7585,10 +6228,6 @@ p, li { white-space: pre-wrap; } No repeat No Repetir - - %1 sec - %1 seg - Reset @@ -7651,34 +6290,38 @@ p, li { white-space: pre-wrap; } + F1 + F2 + F3 + F4 - + S3 - + Timer3 Temporizador 3 @@ -7976,7 +6619,6 @@ p, li { white-space: pre-wrap; } - [I%1] @@ -8227,7 +6869,6 @@ p, li { white-space: pre-wrap; } - Unknown Desconocido @@ -8292,40 +6933,84 @@ p, li { white-space: pre-wrap; } Pausar Música de Fondo - - repeat + + played once, not during startup - - + + repeat(%1s) + + + + DISABLED + + + INV + INV + + + + NOR + NOR + Edge - - - + + SetFailsafe Int. Module + + + + + SetFailsafe Ext. Module + + + + + RangeCheck Int. Module + + + + + RangeCheck Ext. Module + + + + + Bind Int. Module + + + + + Bind Ext. Module + + + + + + <font color=red><b>Inconsistent parameter</b></font> <font color=red><b>Parámetro Inconsistente</b></font> - + Value Valor - + Decr: - + Incr: @@ -8345,32 +7030,32 @@ p, li { white-space: pre-wrap; } Ajustar GV%1 - + Rotary Encoder Codificador Rotativo - + Value Valor - + Source Origen - + GVAR GVAR - + Increment Incremento - + Flight @@ -8380,294 +7065,86 @@ p, li { white-space: pre-wrap; } Finlandés - + !Flight mode %1 !Modo de vuelo%1 - + Flight mode %1 Modo de vuelo%1 - + Flight mode %1 value Valor modo de vuelo%1 - + Yellow Amarillo - + Orange Naranja - + Red Rojo - + Winged Shadow How High - + Winged Shadow How High (not supported) - + FrSky Sensor Hub - + None Ninguno - + Imperial - + Metric Métrico - - - Extra Fine - Extra Fino - - - - Fine - Fino - - - - Medium - Medio - - - - Coarse - Duro - - - - %1:%2 - %1:%2 - - - - , Persistent - - - - - , MinuteBeep - - - - - , CountDown(Beeps) - - - - - , CountDown(Voice) - - - - - - : Channel start: %1, %2 Channels, %3usec Delay, Pulse polarity %4 - - - - - : Channel start: %1, %2 Channels - - - - - Slave/Jack - - - - - Master/SBUS Module - - - - - Master/CPPM Module - - - - - Master/SBUS in battery compartment - - - - - Master/Jack - - - - - Exponential - Exponencial - - - Count Up - Cuenta Arriba - - - Count Down - Cuenta Atrás - - - : %1 Channels, %2usec Delay - : %1 Canales, %2Retardo usec - - - Flight modes(%1) - Modos de vuelo(%1) - - - Flight mode(%1) - Modo de vuelo(%1) - - - - Rudder - Timón - - - - Elevator - Profundidad - - - - Throttle - Acelerador - - - - Aileron - Aleron - - + Timer1 Temporizador1 - + Timer2 Temporizador 2 - - - Weight - - - - - - Switch - - - - - - NoTrim - - - - - No DR/Expo - - - - - Offset - Offset - - - - Delay - Retardo - - - - Slow - Lento - - - - Warn - Aviso - - - - Flight modes - Modos de vuelo - - - - Flight mode - Modo de vuelo - - - - Edge(%1, [%2:%3]) - - - - - Sticky(%1, %2) - - - - - Timer(%1, %2) - Temporizador (%1, %2) - - - - Duration (%1s) - Duración (%1s) - - - - Delay (%1s) - Retardo (%1s) - - - All - Todo - - - + Telemetry Telemetría - + Own value Valor propio @@ -8688,7 +7165,7 @@ p, li { white-space: pre-wrap; } - + -GV%1 @@ -8696,28 +7173,28 @@ p, li { white-space: pre-wrap; } - + ---- - - + + P1 - - + + P2 - - + + P3 @@ -8728,7 +7205,7 @@ p, li { white-space: pre-wrap; } - + Rud @@ -8739,14 +7216,13 @@ p, li { white-space: pre-wrap; } - + V - - + s @@ -8831,33 +7307,33 @@ p, li { white-space: pre-wrap; } - + Ele - + Thr - + Ail - + REa - + REb @@ -9030,28 +7506,32 @@ p, li { white-space: pre-wrap; } - + + S1 - + + S2 - + + LS - + + RS @@ -9155,13 +7635,12 @@ p, li { white-space: pre-wrap; } - + GV%1 - - + THR @@ -9180,576 +7659,553 @@ p, li { white-space: pre-wrap; } - - + + Support for frsky telemetry mod Mod de soporte para telemetría frsky - - + + Support for jeti telemetry mod Mod de soporte para tele,etría jeti - - + + Support for receiving ardupilot data Soporte para recepción de datos ardupilot - - + + Support for receiving NMEA data Soporte para recepción de datos NMEA - + Support for telemetry easy board Soporte para para placa sencilla de telemetría - - + + Support for MAVLINK devices Soporte para dispositivos MAVLINK - + Rotary Encoder use in menus navigation Uso de codificador rotativo en los menús de navegación - Possibility to enable FAI MODE at field - Posibilidad de activar el MODO FAI en el campo - - - FAI MODE always enabled - MODO FAI siempre activado - - - - - - - - + + + + + + Enable heli menu and cyclic mix support Activar menú Heli y el soporte de mezcla de cíclico - - - - - - - - + + + + + + + + + Enable TEMPLATES menu Activar menú PLANTILLAS - - - - + + + + No splash screen Sin pantalla de inicio - - - - - - - - + + + + + + + + + Disable curves menus Desctivar el menú curvas - - - - + + + + Support for radio modified with regular speaker Soporte para radio modificada con altavoz normal - - - - - + + + + + Used if you have modified your radio with voice mode Usado si tienes modificada tu radio con modo voz - - - - - + + + + + Used if you have modified your radio with haptic mode Usado si tienes tu radio modificada con el modo haptic - + Channel values displayed in us Visualizar los valores de canal en us - - - - - - - - + + + + + + + + + In model setup menus automatically set source by moving the control En el menú de ajuste de modelo se selecciona automáticamente el origen del control moviendolo - - - - - - - - + + + + + + + + + In model setup menus automatically set switch by moving the control En el menú de ajuste de modelo se selecciona automáticamente el switch de control moviendolo - + Use alternative SQT5 font Usar fuente alternativa SQT5 - + (displaying only first 10 warnings) (visualizar solo los 10 primero avisos) - + Possibility to enable FAI MODE (no telemetry) at field - + FAI MODE (no telemetry) always enabled - + + + + Support for a third timer - + + Instead of Joystick emulation, USB connection is Mass Storage (as in the Bootloader) + + + + + Instead of Joystick emulation, USB connection is Command Line Interface + + + + Removes D8 and LR12 FrSky protocols that are not legal for use in the EU on radios sold after Jan 1st, 2015 - + Support for PPM internal module hack - + ST7565P LCD or compatible - + ST7565R LCD or compatible - + ERC12864FSF LCD - + ST7920 LCD - + 9X board - - - - + + + + Enable the throttle trace in Statistics Activar el recorrido del acelerador en las Estadísticas - + EEprom write progress bar Barra de progreso de escritura EEPROM - - + + No Winged Shadow How High support - - + + No vario support No hay soporte de variómetro - - + + No GPS support No hay soporte para GPS - - + + No gauges in the custom telemetry screen No hay indicadores en la pantalla de telemetría personalizada - + Allow compensating for offset errors in FrSky FAS current sensors Permitir la compensación de los errores de offset en los sensores FrSky FAS actuales - - + + Add support for reversing stick inputs (e.g. needed for FrSky gimbals) Añadir soporte para invertir las entradas de sticks (ejem. neseraio para los gimbals FrSky) - + Power management by soft-off circuitry - + + ar9x board / 9X + + + + 9XR-PRO - + FrSky Taranis - + FrSky Taranis Plus - + FrSky Taranis X9E - + Confirmation before radio shutdown - - + + Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views - OpenTX for 9XR-PRO - OpenTX para 9XR-PRO - - - OpenTX for FrSky Taranis - OpenTX para FrSky Taranis - - - + Haptic module installed Módulo Haptic instalado - + Support for Lua model scripts Soporte para los modelos de scripts Lua - - No Joystick emulation inside the FW (only Mass Storage as in the Bootloader) - - - - OpenTX for FrSky Taranis Plus - OpenTX para FrSky Taranis Plus - - - - + + Support of FrSky PXX protocol Soporte para protocolo FrSky PXX - OpenTX for Sky9x board / 9X - OpenTX para placas Sky9x/9x - - - + Disable HELI menu and cyclic mix support Desactivar el menú de HELI y el soporte de mezcla de cíclico - + Disable Global variables Desactivar las variables Globales - - - - - + + + + + Support for DSM2 modules Soporte para los módulos DSM2 - - - - - - - - + + + + + + + + + PPM center adjustment in limits Ajuste del centro PPM en los limites - - - - - - - - + + + + + + + + + Symetrical Limits Límites simétricos - - - - - - + + + + + + + Pots use in menus navigation Usar potenciómetros en los menús de navegación - - Your radio probably uses a wrong firmware, - eeprom size is 4096 but only the first 2048 are used - Tu radio posiblemente usa un firmware incorrecto, -el tamaño del eeprom es 4096 pero solo los primeros 2048 están usados - - - + No OverrideCH functions available No hay funciones OverrideCH disponibles - OpenTX for 9X board - OpenTX para placa 9X - - - - - - - - - - + + + + + + + + + No flight modes Sin modos de vuelo - - + + SmartieParts 2.2 Backlight support Soporte de retroiluminación para SmartieParts 2.2 - - - - - + + + + + + Enable resetting values by pressing up and down at the same time Activar el reseteo de valores presionando up y down al mismo tiempo - - - - - - - + + + + + + + + No graphical check boxes and sliders Sin casillas de verificación ni sliders gráficos - - - - - - - + + + + + + + + Battery graph Gráfico batería - - - - - - - + + + + + + + + Don't use bold font for highlighting active items No usar la fuente negrita para destacar elementos activos - OpenTX for M128 / 9X board - OpenTX para placa M128 / 9X - - - - - - - + + + + + EEprom write Progress bar Barra de progreso de escriture de EEprom - - - - - - + + + + + + Imperial units Unidades Imperiales - + M128 / 9X board - + 9XR - + 9XR with M128 chip - + Gruvin9x board / 9X - + MEGA2560 board - + Sky9x board / 9X - - + + + Bluetooth interface Interfaz Bluetooth - - - - - - - - + + + + + + + + + Global variables Variables globales - OpenTX for 9XR - OpenTX para 9XR - - - OpenTX for 9XR with M128 chip - OpenTX para placa 9XR con el chip M128 - - - OpenTX for Gruvin9x board / 9X - OpenTX para placas Gruvin9x / 9x - - - - + + Support for SD memory card Soporte para tarjetas de memoria SD - + Support for DSM2 modules using ppm instead of true serial Soporte para módulos DSM2 que usan PPM en lugar de true serial - - + + + Enable HELI menu and cyclic mix support Activar menú HELI y el soporte de mezcla de cíclico - - + + Warning Aviso - + EEPROM saved with these warnings: EEPROM guardado con estos avisos: - + Simulator for this firmware is not yet available El simulador para este firmware ya no está disponible @@ -9759,63 +8215,63 @@ el tamaño del eeprom es 4096 pero solo los primeros 2048 están usadosth9x en esta placa no tiene Rotary Encoders - + Source %1 cannot be exported on this board! - + OpenTX only accepts %1 points in all curves OpenTx solo aceta %1 puntos en todas las curvas - + OpenTx only accepts %1 points in all curves OpenTx solo aceta %1 puntos en todas las curvas - - - + + - + + OpenTX on this board doesn't accept this function OpenTX en esta placa no acepta esa función - + OpenTX doesn't accept this telemetry protocol OpenTX en esta placa no acepta este protocolo de telemetría - - - + + + OpenTX doesn't accept this radio protocol OpenTX en esta placa no acepta este protocolo de radio - + OpenTX doesn't allow this number of channels OpenTX en esta placa no acepta este número de canales - + Trim disabled Trim desactivado - + Own Trim Trim propio - + Use Trim from Flight mode %1 Usar Trim para el modo de vuelo %1 - + Use Trim from Flight mode %1 + Own Trim as an offset Usar Trim para el modo de vuelo %1 + Trim propio com un compensador @@ -9849,25 +8305,21 @@ The OpenTX Team. El equipo OpenTX. - - Positive - Positivo - - - - Negative - Negativo - - - + + + - Synchronization error - + + No SD directory configured! + + + + No Radio connected! @@ -9877,33 +8329,33 @@ El equipo OpenTX. GV - + -%1 + - The directory '%1' doesn't exist! - + Create '%1' failed - + Copy '%1' to '%2' failed - + Open '%1' failed - + Write '%1' failed @@ -9960,10 +8412,6 @@ El equipo OpenTX. <html><head/><body><p>No Radio was found!</p><p>Make sure that you hold the lower trim buttons towards the center while you turn it on.</p><p>Then connect the USB wire.</p><p><span style=" font-family:'arial,sans-serif'; font-size:13px; font-style:italic; color:#222222; background-color:#ffffff;">Note: if you have a Taranis that has not had the firmware upgraded to 2.0 then this version of Companion will not work.</span></p></body></html> - - <html><head/><body><p>No Radio was found!</p><p>Make sure that you hold the lower trim buttons towards the center while you turn it on.</p><p>Then connect the USB wire.</p></body></html> - <html><head/><body><p>¡No se ha encontado la radio!</p><p>Asegúrate de presionar los trims infeirores hacia el centro mientras la enciendes.</p><p>Entonces conecta el cable USB.</p></body></html> - OK @@ -9989,17 +8437,17 @@ El equipo OpenTX. RudderPage - + No - + Yes Si - + <br>Rudder Channel: <br>Canal del timón (Rudder): @@ -10007,152 +8455,157 @@ El equipo OpenTX. Setup - + Center beep Centro beep - + OFF OFF - + Model Image Imagen del modelo - + Exponential Exponencial - + Throttle Trim Idle Only Trim de acelerador ajuste de ralentí - + Extra Fine Extra Fino - + Fine Fino - + Medium Medio - + Coarse Duro - + Display Checklist Lista verificación pantalla - + Timer 2 Temporizador 2 - + Timer 1 Temporizador1 - + Timer 3 Temporizador3 - + Never - + + Top LCD Timer + + + + On change - + Always - + Global Functions - + Throttle Source Fuente del acelerador - + Trim Step Pasos de Trim - + Trims Display - + Warnings Avisos - + Switch Warnings Avisos palancas (Switch) - + Pot Warnings Avisos Potenciómetros - + Manual - + Auto - + Model Modelo - + Extended Limits Límites extendidos - + Extended Trims Trims extendidos - + Throttle Warning Aviso acelerador - + 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. @@ -10163,15 +8616,23 @@ Si está marcado el acelerador será invertido. El ralentí será delante, el t - + Reverse Throttle Invertir acelerador (Throttle) + + SetupPanel + + + Timer %1 + + + SimpleTailPage - + Elevator Channel: Canal Profundidad (Elevator): @@ -10346,10 +8807,44 @@ Si está marcado el acelerador será invertido. El ralentí será delante, el t Salidas + + SplashLibraryDialog + + + + ... + + + + + Splash Library - page %1 of %2 + LIbreria de pantallas de inicio - página %1 de %2 + + + + Warning + Aviso + + + + Invalid image in library %1 + Imagen inválida en la librería %1 + + + + Information + Información + + + + No valid image found in library, check your settings + No se ha encontrado una imagen válida en la librería, comprueba tus ajustes + + StandardPage - + Channel %1 Canal %1 @@ -10357,25 +8852,24 @@ Si está marcado el acelerador será invertido. El ralentí será delante, el t SyncProcess - + + %1/%2 files + + + + Create directory %1 - + Copy %1 to %2 - - Read %1 - - - - - + Write %1 @@ -10384,35 +8878,40 @@ Si está marcado el acelerador será invertido. El ralentí será delante, el t TailPage - + Rudder Channel: <br>Canal del timón (Rudder): - + Elevator Channel: Canal Profundidad (Elevator): + + + Only one channel still available!<br>You probably should configure your model without using the wizard. + + TailSelectionPage - + Elevator and Rudder Profundidad y timón - + Only Elevator Solo profundidad - + V-tail Cola-V - + Tail Type: Tipo de cola: @@ -10420,96 +8919,96 @@ Si está marcado el acelerador será invertido. El ralentí será delante, el t Telemetry - + A1 - + A2 - + RSSI - + Alarm 1 Alarma 1 - - + + ---- - - + + Yellow Amarillo - - + + Orange Naranja - - + + Red Rojo - + Alarm 2 Alarma 2 - + Center Silent - + Altitude source - + Volts source - + Top Bar - + Serial Protocol Protocolo Serie - + Sensors - + Disable multi sensor handling - + Volt source Fuente Voltaje - + Current source Fuente Actual @@ -10519,94 +9018,82 @@ Si está marcado el acelerador será invertido. El ralentí será delante, el t Protocolo - + None Ninguno - + FrSky Sensor Hub - + Blades Palas - + Sink Max Descenso Máximo - Off - Apagado - - - + Climb Max Máximo Ascenso - + Sink Min Descenso Mínimo - + Climb Min Mínimo Ascenso - + Vario source Fuente Variómetro - + Vario limits Límites Variómetro - Use GPS as altitude source - Usar GPS con fuente de altitud - - - Display altitude in toolbar - Mostrar la altitud en una barra - - - + Altimetry Altímetro - + mAh - + A - + Various Varios - + mAh count Valor mAh - + FAS Offset - + Persistent mAh mAh Constantes @@ -10720,17 +9207,7 @@ Si está marcado el acelerador será invertido. El ralentí será delante, el t miliAmperios (mA) - - Low Alarm - Alarma Baja - - - - Critical Alarm - Alarma crítica - - - + Range Rango @@ -10743,26 +9220,22 @@ Si está marcado el acelerador será invertido. El ralentí será delante, el t Personalizar tipo pantalla - Nums - Números - - - + None Ninguno - + Numbers - + Bars Barras - + Script @@ -10790,99 +9263,99 @@ Si está marcado el acelerador será invertido. El ralentí será delante, el t TelemetryPanel - + FrSky S.PORT - + FrSky D - + FrSky D (cable) - + Telemetry screen %1 Pantalla telemetría %1 - + Low Alarm Alarma Baja - + Critical Alarm Alarma crítica - + Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (no soportado) - + Alti - + Alti+ - + VSpeed - - - + + + A1 - - - + + + A2 - - + + A3 - - + + A4 - - + + FAS - + Cells - + --- @@ -10988,7 +9461,107 @@ Si está marcado el acelerador será invertido. El ralentí será delante, el t - Amps Sensor : + Sensor : + + + + + V + + + + + A + + + + + mA + + + + + kt + + + + + m/s + + + + + ft/s + + + + + km/h + + + + + mph + + + + + m + + + + + ft + + + + + °C + + + + + °F + + + + + % + + + + + mAh + + + + + W + + + + + dBm + + + + + g + + + + + ° + + + + + mL + + + + + US fl.Oz. @@ -10996,111 +9569,11 @@ Si está marcado el acelerador será invertido. El ralentí será delante, el t Raw (-) - - - Voltage (V) - - - - - Current (A) - - - - - Current (mA) - - - - - Speed (kts) - - - - - Speed (m/s) - - - - - Speed (ft/s) - - - - - Speed (km/h) - - - - - Speed (miles/h) - - - - - Meters (m) - - - - - Feet (ft) - - - - - Temp (°C) - - - - - Temp (°F) - - - - - Percentage (%) - - - - - Energy (mAh) - - - - - Power (W) - - - - - RF Power (dBm) - - RPM - - - Acceleration (g) - - - - - Heading (°) - - - - - Volume (mL) - - - - - Volume (US fl.Oz.) - - Precision @@ -11111,10 +9584,6 @@ Si está marcado el acelerador será invertido. El ralentí será delante, el t Ratio - - Range - Rango - Blades @@ -11159,22 +9628,22 @@ Si está marcado el acelerador será invertido. El ralentí será delante, el t TelemetrySensorPanel - + Lowest - + Cell %1 - + Highest - + Delta @@ -11387,7 +9856,17 @@ Si está marcado el acelerador será invertido. El ralentí será delante, el t - + + Instance + + + + + 2 + 2 + + + <html><head/><body><p>Start with <span style=" font-style:italic;">0x</span> for hex, <span style=" font-style:italic;">0</span> for octal, otherwise decimal.<br/>Numeric entry only. Blank values are not sent.</p></body></html> @@ -11395,17 +9874,17 @@ Si está marcado el acelerador será invertido. El ralentí será delante, el t ThrottlePage - + Yes Si - + No No - + <br>Throttle Channel: <br>Canal de Acelerador: @@ -11426,32 +9905,37 @@ Si está marcado el acelerador será invertido. El ralentí será delante, el t TimerPanel - + Silent Silencio - + Beeps - + Voice Voz - + + Haptic + Reproducir Haptic + + + Not persistent No persistente - + Persistent (flight) Persistente (vuelo) - + Persistent (manual reset) Persistente (reset manual) @@ -11590,12 +10074,12 @@ Si está marcado el acelerador será invertido. El ralentí será delante, el t VTailPage - + First Tail Channel: Primer Canal de cola: - + Second Tail Channel: Segundo Canal de cola: @@ -11603,12 +10087,12 @@ Si está marcado el acelerador será invertido. El ralentí será delante, el t WingtypeSelectionPage - + Standard Wing Ala estandar - + Flying Wing / Deltawing Ala volante/Ala delta @@ -11890,158 +10374,41 @@ Si está marcado el acelerador será invertido. El ralentí será delante, el t WizardPrinter - + Plane Avión - + Multicopter Multicóptero - + Helicopter Helicóptero - + Model Name: Nombre Modelo: - + Model Type: Tipo Modelo: - + Options: Opciones: - + Channel %1: Canal %1: - - avrOutputDialog - - Show Details - Mostrar detalles - - - result - resultado - - - executable not found - ejecutable no encontrado - - - Cannot open source file - No se puede abrir el archivo de origen - - - Cannot write destination - No se puede escribir en el destino - - - Writing file: - Escribiendo archivo: - - - Write error - Error escritura - - - ie: OpenTX for 9X board or OpenTX for 9XR board - Esto es: OpenTX para placas 9x o OpenTX para placas 9XR - - - ie: OpenTX for M128 / 9X board or OpenTX for 9XR board with M128 chip - Esto es: OpenTX para placas M128 / 9x o OpenTX para placas 9XR con el chip M128 - - - ie: OpenTX for Gruvin9X board - Esto es: OpenTX para placas Gruvin9x - - - Your radio uses a %1 CPU!!! - -Please check advanced burn options to set the correct cpu type. - Tu radio usa un %1 CPU!!! - -Por favor comprueba en las opciones avanzadas de gravado el tipo correcto de cpu. - - - Your radio uses a %1 CPU!!! - -Please select an appropriate firmware type to program it. - Tu radio usa un %1 CPU!!! - -Por favor elige el tipo de firmware apropiado para programarlo. - - - -You are currently using: - %1 - -Actualmente estás usando: - %1 - - - Writing - Escribiendo - - - Reading - Leyendo - - - Verifying - Verificando - - - done - exit code %1 - Hecho - Código salida %1 - - - done with errors - Hecho con errores - - - done - SUCCESSFUL - Hecho - ÉXITO - - - did not finish correctly - No ha finalizado correctamente - - - did not finish correctly! -Do you want some help ? - ¡No ha finalizado correctamente! -¿Necesitas alguna ayuda? - - - Copy did not finish correctly - La copia no ha finalizado correctamente - - - finished correctly - finalizado correctamente - - - Copy finished correctly - La copia finalizó correctamente - - - Started - Comenzado - - burnConfigDialog @@ -12234,10 +10601,6 @@ Por favor solamente usa esto si sabes lo que estás haciendo. No hay control de 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>¡AVISO!</u></b><br>Esto reseteará los fuses de %1 a los ajustes de fábrica.<br>Escribir fuses puede estropear tu radio.<br>¡Haz esto sólo si estás seguro que están mal!<br>¿Estás seguro de continuar? - <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. @@ -12260,224 +10623,6 @@ Debe ser M64 para los valores de radios m2560 para las placas v4.1 - - burnDialog - - Customize Splash - Personalizar Pantalla de Inicio - - - <html><head/><body><p>Modify calibration parameters using settings from current profile</p></body></html> - <html><head/><body><p>Modificar los parámetros de calibración utilizando la configuración de perfil actual</p></body></html> - - - Patch calibration setting from profile - Arreglar los ajustes de calibración desde el perfil - - - <html><head/><body><p>Modify HW parameters using settings from current profile</p></body></html> - <html><head/><body><p>Modificar los parámetros de HW usando los ajustes del perfil actual</p></body></html> - - - Patch HW setting from profile - Arreglar los ajustes de HW desde el perfil - - - Date & Time - Fecha & Hora - - - Use firmware start screen - Usar la pantalla de inicio del firmware - - - Use another start screen - Usar otra pantalla de inicio - - - Use profile start screen - Usar la pantala de inicio del perfil - - - Use library start screen - Usar la libreria de pantalla de inicio - - - Browse for file - Buscar archivo - - - Allows Companion to write to older version of the firmware - Permitir a Companion escribir a las versiones viejas de firmware - - - Backup and restore Models and Settings - Copia de seguridad y restauración de Modelos y Ajustes - - - Write to TX - Escribir al TX - - - Variant - Variante - - - Check Firmware compatibility - Comprobar la compatibilidad del firmware - - - Current Profile - Perfil Actual - - - Cancel - Cancelar - - - Current profile - Perfil actual - - - Warning - Aviso - - - Unable to find file %1! - ¡No se ha encontrado el archivo %1! - - - Error opening file %1: -%2. - Error abriendo el archivo %1: -%2. - - - Invalid binary Models and Settings File %1, Proceed anyway ? - Archivo binario inválido de Modelos y Ajustes %1, ¿Proceder de todas maneras? - - - Error reading file %1: -%2. - Error leyendo el archivo %1: -%2. - - - Write firmware to Radio - Escribir Firmware a la Radio - - - Write Backup to Radio - Escribir Copia de Seguridad a la Radio - - - Write Backup from %1 to Radio - Escribir Copia de Seguridad desde %1 a la Radio - - - Open Firmware File - Abrir archivo de Firmware - - - Choose Radio Backup file - Elegir archivo de copia de seguridad de la radio - - - %1 may not be a valid firmware file - %1 puede no ser un archivo de firmware válido - - - The firmware file is not valid. - El archivo de firmware no es válido. - - - There is no start screen image in the firmware file. - No hay imagen de pantalla de inicio en el archivo de firmware. - - - Images (%1) - Imagenes (%1) - - - Open image file to use as radio start screen - Abir archivo de imagen para usar de pantalla de inicio de la radio - - - Image could not be loaded from %1 - La imagen no puede ser cargada desde %1 - - - The library image could not be loaded - La librería de imágen no puede ser cargada - - - Wrong radio calibration data in profile, Settings not patched - Datos de calibración de radio incorrectos en el perfil, ajustes no corregidos - - - Wrong radio setting data in profile, Settings not patched - Datos de ajustes de radio incorrectos en el perfil, ajustes no corregidos - - - Cannot write file %1: -%2. - No se puede escribir el archivo %1: -%2. - - - Error writing file %1: -%2. - Error escribiendo el archivo %1: -%2. - - - Profile image %1 is invalid. - El perfil de imagen %1 es inválido. - - - Cannot save customized firmware - No se puede guardar el firmware personalizado - - - Custom image not found - No se encuentra la imagen personalizada - - - No firmware selected - No se ha elegido firmware - - - - contributorsDialog - - People who have contributed to this project - Gente que ha contribuido a este proyecto - - - Coders - Codificadores - - - Companion Release Notes - Notas de la versión Companion - - - Thank you all !!! - ¡¡Gracias a todos!! - - - Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) - Los honores van a Rafal Tomczak (RadioClone), Thomas Husterer (th9x) y Erez Raviv (er9x y eePe) - - - Contributors - Colaboradores - - - OpenTX Release Notes - Notas de la versión OpenTX - - customizeSplashDialog @@ -12626,19 +10771,6 @@ m2560 para las placas v4.1 Descarga fallida: %1. - - fusesDialog - - Read Fuses - Leer Fuses - - - Reset Fuses -EEPROM - PROTECT - Resetear Fuses -EEPROM - PROTEGIDA - - joystickDialog @@ -12865,59 +10997,6 @@ Presiona cancelar para abortar la calibración del joystick Duplicated stick assignment - - Duplicated stick assignement - Asignación suplicada de stick - - - - logsDialog - - Companion Log Viewer - Visor de registros de Companion - - - Filename - Nombre Archivo - - - Open LogFile - Abrir archivo Registros - - - Reset - Resetear - - - Fly sessions - Sesiones de vuelo - - - Telemetry logs - Registros de telemetría - - - Time (hh:mm:ss) - Hora (hh:mm:ss) - - - Cannot write file %1: -%2. - No se puede escribir el archivo %1: -%2. - - - Select your log file - Selecciona tu archivo de registros - - - Available fields - Campos disponibles - - - The selected logfile contains %1 invalid lines out of %2 total lines - El archivo de registros elegido contiene %1 lineas inválidas de un total de %2 lineas - mdiChild @@ -12934,14 +11013,6 @@ Presiona cancelar para abortar la calibración del joystick Preferences Preferencias - - SD Structure path - Estructura de archivos SD - - - Processor ID - Procesador ID - Simulator capture folder @@ -12952,116 +11023,6 @@ Presiona cancelar para abortar la calibración del joystick Use clipboard only Usar sólo portapapeles - - Recent History Size - Tamaño Histria Reciente - - - Download - Descargar - - - Default Channel Order - Orden Perderterminado de Canales - - - Default Stick Mode - Modo Prederterminado Sticks - - - Channel order - -This is used by the templated to determine which channel goes to what number output. - Orden Canales - -Esto es usado por la plantilla para determinar que canal va con cada numero de salida. - - - 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 - - - Selección de Modo: - -Modo 1: - Stick Izquierdo: Elevador, Timón - Stick Derecho: Acelerador, Alerón - -Modo 2: - Stick Izquierdo: Acelerador, Timón - Stick Derecho: Elevador, Alerón - -Modo 3: - Stick Izquierdo: Elevador, Alerón - Stick Derecho: Acelerador, Timón - -Modo 4: - Stick Izquierdo: Acelerador, Alerón - Stick Derecho: Elevador, Timón - - - - - Mode 1 (RUD ELE THR AIL) - Modo 1 (RUD ELE THR AIL) - - - Mode 2 (RUD THR ELE AIL) - Modo 2 (RUD THR ELE AIL) - - - Mode 3 (AIL ELE THR RUD) - Modo 3 (AIL ELE THR RUD) - - - Mode 4 (AIL THR ELE RUD) - Modo 4 (AIL THR ELE RUD) - - - Automatic Backup Folder - Carpeta copia de seguridad Automática - - - Automatically add version number to the filename after download - Añade automáticamente el número de versión al nombre de archivo después de la descarga - - - Voice - Voz - - - Set language of voice. -May be different from firmware language - Selecciona el lenguaje de la voz. -Puede ser diferente del lenguaje del firmware - - - Find Executable - Encontrar ejecutable - - - Google Earth Executable - Ejecutable Google Earth - - - Check for updates on startup - Comprobar actualizaciones al arrancar - @@ -13109,30 +11070,6 @@ Puede ser diferente del lenguaje del firmware Open Folder Abrir Carpeta - - Check for updates - Comprobar actualizaciones - - - Language - Lenguaje - - - Profile Name - Nombre Perfil - - - Export Profile - Exportar Perfil - - - Save Profile - Guardar Perfil - - - Import Profile - Importar Perfil - Blue @@ -13144,22 +11081,6 @@ Puede ser diferente del lenguaje del firmware Simu BackLight Luz de fondo del simulador - - Check for selected Fw updates - Comprobar en seleccionado las actualizaciones de firmware - - - Ask use of wizard for new models - Pregunta usar el asistente para nuevos modelos - - - Show Splash At Start - Mostrar Pantalla de inicio al comenzar - - - Remember switches in simulator - Recordar los switch en el simulador - Green @@ -13180,18 +11101,6 @@ Puede ser diferente del lenguaje del firmware Yellow Amarillo - - Profile slot - Slot Perfil - - - auto backup before write - copia de seguridad automática antes de escribir - - - Ask for flashing after Download - Pregunta por flashear después de descargar - Enable @@ -13213,38 +11122,4 @@ Puede ser diferente del lenguaje del firmware Ivertir Pixeles - - SplashLibraryDialog - - - - ... - - - - - Splash Library - page %1 of %2 - LIbreria de pantallas de inicio - página %1 de %2 - - - - Warning - Aviso - - - - Invalid image in library %1 - Imagen inválida en la librería %1 - - - - Information - Información - - - - No valid image found in library, check your settings - No se ha encontrado una imagen válida en la librería, comprueba tus ajustes - - diff --git a/companion/src/translations/companion_fi.ts b/companion/src/translations/companion_fi.ts index 3d06ecad7..391c02bc4 100644 --- a/companion/src/translations/companion_fi.ts +++ b/companion/src/translations/companion_fi.ts @@ -4,27 +4,27 @@ AileronsPage - + No Ei - + Yes, controlled by a single channel Kyllä, ohjataan yhdellä kanavalla - + Yes, controlled by two channels Kyllä, ohjataan kahdella kanavalla - + <br>First Aileron Channel: <br>1. siiveke kanava: - + Second Aileron Channel: 2. siiveke kanava: @@ -32,27 +32,27 @@ AirbrakesPage - + No Ei - + Yes, controlled by a single channel Kyllä, ohjataan yhdellä kanavalla - + Yes, controlled by two channels Kyllä, ohjataan kahdella kanavalla - + <br>First Airbrake Channel: <br>1. lentojarru kanava: - + Second Airbrake Channel: 2. lentojarru kanava: @@ -74,7 +74,7 @@ - + Open Folder Avaa kansio @@ -103,10 +103,6 @@ Select Image Valitse kuva - - Processor ID - Prossu ID - Mode selection: @@ -338,7 +334,7 @@ Tila 4: - + Simulator Volume Gain @@ -382,12 +378,6 @@ Tila 4: SD Structure path SD muistikortin kansio - - Set language of voice. -May be different from firmware language - Aseta äänen kieli. -Voi olla eri kun firmwaren kieli - Voice Language @@ -477,62 +467,62 @@ Voi olla eri kun firmwaren kieli Simulaattorin asetukset - + Simulator BackLight Simulaattorin taustavalo - + Enable Päälle - + Blue Sininen - + Green Vihreä - + Red - + Orange - + Yellow - + Joystick Joystick - + Calibrate Kalibroi - + Simulator capture folder Simulaattorin tiedostojen kansio - + Only capture to clipboard Kaappaa leikepöydälle - + Remember simulator switch values Muista simulaattorin kytkimien asennot @@ -547,87 +537,68 @@ Voi olla eri kun firmwaren kieli Valitse kansioi kuville - - + + No joysticks found Joystickia ei löydy - + EMPTY: No radio settings stored in profile TYHJÄ: Ei radion asetuksia tallennettu profiiliin - + AVAILABLE: Radio settings of unknown age TARJOLLA: Radion asetukset, voi olla vanhoja - + AVAILABLE: Radio settings stored %1 TARJOLLA: Radion asetukset %1 - + Select your library folder Valitse kansio kirjastolle - - + + Select your Models and Settings backup folder Valitse kansio mallien ja asetusten varmuuskopioille - + Select Google Earth executable Valitse Google Earth tiedosto - + Select the folder replicating your SD structure Valitse kansio mihin "monistetaan" SD muistikortin kansio - + Not possible to remove profile Profiilia ei voida poistaa - + The default profile can not be removed. Nykyistä profiilia ei voida poistaa. - + Open Image to load Avaa kuva latausta varten - + Images (%1) Kuvia (%1) - - BankPage - - One - Yksi - - - Two - Kaksi - - - <br>First Elevon Channel: - <br>1. korkeusper kanava: - - - Second Elevon Channel: - 2. korkeusper kanava: - - Calibration @@ -804,11 +775,6 @@ Voi olla eri kun firmwaren kieli Stick 4 Tikku 4 - - - Battery - Akku - v @@ -829,10 +795,15 @@ Voi olla eri kun firmwaren kieli PPM 4 PPM 4 + + + Battery Offset + + - Current - Virta + Current Offset + @@ -997,10 +968,6 @@ Voi olla eri kun firmwaren kieli Name Nimi - - Offset - Tasoitus - Min @@ -1011,18 +978,6 @@ Voi olla eri kun firmwaren kieli Max Max - - Invert - Käänteinen - - - Center - Keski - - - Sym - Sym - Subtrim @@ -1097,457 +1052,17 @@ Voi olla eri kun firmwaren kieli Tulosta tiedostoon - + No name Ei nimeä - - General Model Settings - Yleiset mallin asetukset - - - - - - Name - Nimi - - - - - EEprom Size - EEpromin koko - - - - - Timer1 - Ajastin 1 - - - - - Timer2 - Ajastin 2 - - - - - Internal Radio System - Sisäinen radio systeemi - - - - - Radio System - Radio systeemi - - - - - - - Protocol - Protokolla - - - Pulse Polarity - Pulssin napaisuus - - - - - Throttle Trim - Kaasu trimmi - - - - - Enabled - Päälle - - - - - Disabled - Pois - - - Throttle Expo - Kaasu expo - - - - - External Radio Module - Ulkoinen radio systeemi - - - - - Extra Radio System - Extra Radio järjestelmä - - - - - Trainer port mode - - - - - - Trim Increment - - - - - - Center Beep - Keski piippaus - - - - Flight modes Settings - Lentotilan asetukset - - - - - Fades - Liut - - - - - Trims - Trimmit - - - - - Switch - Kytkin - - - - - - - Flight mode name - Lentotilan nimi - - - - - IN - SIS - - - - - OUT - ULO - - - - - - - - - - - - - FM - FM - - - - - Gvars - Gvarit - - - - - Rot. Enc. - Rot.Enc. - - - - Limits - Rajat - - - - - - - - Offset - Tasoitus - - - - - - - - Min - Min - - - - - - - - Max - Max - - - - - - Invert - Käänteinen - - - - - - - - CH - ch - - - - - INV - KÄÄNT - - - - - NOR - NOR - - - - Global Variables - Globaalit muuttujat - - - - - GV - GV - - - - Inputs - Tulot - - - - L - L - - - Expo/Dr Settings - Expo / DR asetukset - - - Weight - Paino - - - Flight modes - Lento tilat - - - Flight mode - Lento tila - - - DISABLED - Pois - - - - Mixers - Mikserit - - - noTrim - Ei trimmiä - - - Delay(u%1:d%2) - Viive(u%1:d%2) - - - - Curves - Käyrät - - - L%1 - L%1 - - - pt %1 - pt %1 - - - - - Curve - Käyrä - - - - Logical Switches - Loogiset kytkimet - - - LS - LS - - - - Special Functions - Spesiaali toiminnot - - - Function - Toiminto - - - Param - Parametrit - - - Repeat - Toista - - - Enable - Päälle - - - - SF - SF - - - - Telemetry Settings - Telemetria asetukset - - - - - Analog - Analoginen - - - - - Unit - Yksikkö - - - - - Scale - Skaala - - - - - - - A%1 - A%1 - - - - - Alarm 1 - Varoitus 1 - - - - - Alarm 2 - - - - - - - - Type - Tyyppi - - - - - - - Condition - - - - - - - - Value - Arvo - - - - - RSSI Alarm - RSSI hälytys - - - - - Custom Telemetry View - Oma telemetria näkymä - - - - - Telemetry Bars - Telemetria palkein - - - - - Bar Number - Palkkien määrä - - - - - Source - Lähde - - - + Print Document Tulosta dokumentti - + Select PDF output file Valitse PDF tiedosto @@ -1555,7 +1070,7 @@ Voi olla eri kun firmwaren kieli ConclusionPage - + OK, I understand. OK, Ymmärrän. @@ -1593,12 +1108,12 @@ Voi olla eri kun firmwaren kieli Kiitokset: Rafal Tomczak(RadioClone), Thomas Husterer (th9x) sekä Eriz Raviv (er9x ja eePe) - - Thank you all !!! - Kiitokset kaikille !!! + + OpenTX Blacklist + - + monthly @@ -1631,40 +1146,28 @@ Voi olla eri kun firmwaren kieli CurveGroup - + Diff Ero - + Expo Expo - + Func Toiminto - + Curve Käyrä Curves - - Form - Käyrät - - - Standard - Vakio - - - Custom - Omat - Fixed X @@ -1806,10 +1309,6 @@ Voi olla eri kun firmwaren kieli Are you sure you want to reset all curves? - - Are you sure you want to reset curve %1 ? - Oletko varma että haluat palauttaa käyrän %1 ? - Editing curve %1 @@ -1843,10 +1342,6 @@ Voi olla eri kun firmwaren kieli Enable Päälle - - CF%1 - OF%1 - SF%1 @@ -1873,42 +1368,42 @@ Voi olla eri kun firmwaren kieli Ää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 @@ -1916,22 +1411,22 @@ Voi olla eri kun firmwaren kieli CyclicPage - + 90 90 - + 120 120 - + 120x 120x - + 140 140 @@ -1945,294 +1440,109 @@ Voi olla eri kun firmwaren kieli - Dialog + EepromInterface - Dialog - Käyrä + + Possible causes for this: + - Curve type - Tyyppi + + - Eeprom is from a newer version of OpenTX + - Coefficient - Vaikutus + + - Eeprom is not from OpenTX + - Both - Molemmat + + - Eeprom is not from Th9X + - x>0 - x>0 + + - Eeprom is not from Gruvin9X + - x<0 - x<0 + + - Eeprom is not from ErSky9X + - Y at X=0 - Y suhde X =0 + + - Eeprom is not from Er9X + - Side - Sivu + + - Eeprom size is invalid + - Y at X=-100 - Y suhde X =-100 + + - Eeprom file system is invalid + - Y at X=100 - Y suhde X =100 + + - Eeprom is from a unknown board + - Linear - Suora + + - Eeprom is from the wrong board + - Single Expo - yks expo + + - Eeprom backup not supported + - Symmetrical f(x)=-f(-x) - Symmetrinen f(x)=-f(-x) + + - Something that couldn't be guessed, sorry + - Symmetrical f(x)=f(-x) - Symmetrinen f(x)=f(-x) + + Warning: + + + + + + - Your radio probably uses a wrong firmware, + eeprom size is 4096 but only the first 2048 are used + + + + + - Your eeprom is from an old version of OpenTX, upgrading! + You should 'save as' to keep the old file as a backup. + + + + + Warnings! + ElevonsPage - + <br>First Elevon Channel: <br>1. korkeusper kanava: - + Second Elevon Channel: 2. korkeusper kanava: - - Er9x::Templates - - - Simple 4-CH - Yksinkertainen 4-CH - - - - T-Cut - t-Cut - - - - Sticky T-Cut - Tahmea T-Cut - - - - V-Tail - V-Peräsin - - - - Elevon\Delta - Elevoni \ Delta - - - - Heli Setup - Kopteri asetukset - - - - Heli Setup with gyro gain control - Kopteri asetukset Gyron kanssa - - - - Gyro gain control - Gyron asetukset - - - - Heli Setup (Futaba's channel assignment style) - Kopterin asetukset ( futaba tyylinen kanavien asettelu) - - - - Heli Setup with gyro gain control (Futaba's channel assignment style) - Kopterin asetukset + Gyro ( futaba tyylinen kanavien asettelu) - - - - Gyro gain control (Futaba's channel assignment style) - Gyron asetukset ( Futaba tyylinen kanavien asettelu) - - - - Servo Test - Servo testi - - - - MultiCopter - Multikopteri - - - - Use Model Config Wizard - Käytä mallien teko apuria - - - - Apply Template? - Käytä tätä mallia ? - - - - Apply template "%1"? - Käytä mallia "%1"? - - - - - - - - - - RUD - PER - - - - - - - - - - - - - ELE - KOR - - - - - - THR - KAA - - - - - - - - - - - AIL - SII - - - - - - - AIL2 - SII2 - - - - - - - ELE2 - KOR2 - - - - - - - - - FLAPS - LAIPAT - - - - - - - - - FLAP%1 - LAIPAT%1 - - - - - - - PITCH - PITCH - - - - - - - - - - - GYRO - GYRO - - - - - SPOIL - SPOIL - - - - - SPOIL%1 - SPOIL%1 - - - - - RUD2 - PER2 - - - - - Clear Mixes? - Tyhjennä mikserit? - - - - Really clear existing mixes on CH6? - Varmasti tyhjennä mikseri 6CH ? - - - - Really clear existing mixes on CH5? - Varmasti tyhjennä mikseri CH5 ? - - ExpoDialog @@ -2257,62 +1567,16 @@ Voi olla eri kun firmwaren kieli GV GV - - Phase used by the input. - Tulossa käytetty. - Flight modes Lento tilat - - 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. - Tulossa käytetty kytkin. -Jos tyhjä tulon katsotaan olevan "ON" kokoajan. - Stick Side @@ -2333,30 +1597,6 @@ Jos tyhjä tulon katsotaan olevan "ON" kokoajan. 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; } -</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 and 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 and 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> - Source for the mixer. @@ -2404,10 +1644,6 @@ Jos on tyhjä, katsotaan tulon olen ON tilassa kokoajan. Offset Tasoitus - - The curve used by the input - Tulossa käytettävä käyrä - Source @@ -2423,50 +1659,26 @@ Jos on tyhjä, katsotaan tulon olen ON tilassa kokoajan. Edit %1 Muuta %1 - - - Rud - PER - - - - Ele - KOR - - - - Thr - - - - - Ail - SII - FblPage - Trottle Channel: - Kaasu kanava: - - - + Throttle Channel: Kaasun kanava: - + Yaw Channel: Yaw kanava: - + Pitch Channel: Pitch kanava: - + Roll Channel: Roll kanava: @@ -2495,48 +1707,6 @@ May be different from firmware language Aseta äänen kieli. Voi olla eri kun firmwaren kieli - - Set language of voice. -May be different from firmware language - Aseta äänen kieli. -Voi olla eri kun firmwaren kieli - - - en - en - - - cz - cz - - - de - de - - - es - es - - - fr - fr - - - it - it - - - pl - pl - - - pt - pt - - - se - se - Download Voice @@ -2552,10 +1722,6 @@ Voi olla eri kun firmwaren kieli Firmware Firmware - - - - - - Latest Download @@ -2565,27 +1731,27 @@ Voi olla eri kun firmwaren kieli FlapsPage - + No Ei - + Yes, controlled by a single channel Kyllä, ohjataan yhdellä kanavalla - + Yes, controlled by two channels Kyllä, ohjataan kahdella kanavalla - + <br>First Flap Channel: <br>1. laippojen kanava: - + Second Flap Channel: 2. laippojen kanava: @@ -2594,7 +1760,7 @@ Voi olla eri kun firmwaren kieli FlashEEpromDialog - + Write Models and Settings to Radio Kirjoita mallit ja asetukset lähettimeen @@ -2668,14 +1834,14 @@ Voi olla eri kun firmwaren kieli - - - - - - - - + + + + + + + + Error Virhe @@ -2687,74 +1853,74 @@ Voi olla eri kun firmwaren kieli - + Error opening file %1: %2. Virhe avattaessa tiedostoa %1: %2. - - + + Invalid Models and Settings File %1 Huono malli ja asetus tiedosto %1 - + Error reading file %1: %2. Virhe luettaessa tiedostoa %1: %2. - + Invalid Models and Settings file %1 - - - - + + + + Warning Varoitus - + Wrong radio calibration data in profile, Settings not patched Väärä radion kalibraatio data profiilissa, asetuksia ei ole korjattu - + Wrong radio setting data in profile, Settings not patched Väärä radion asetus data profiilissa, asetuksia ei ole korjattu - - + + Cannot write file %1: %2. - + Error writing file %1: %2. Virhe kirjottaessa tiedostoa %1: %2. - + The radio firmware belongs to another product family, check file and preferences! Lähettimen firmware kuuluu toiselle lähettin mallille, tarkista oikea tiedosto ja asetukset! - + The radio firmware is outdated, please upgrade! Firware on vanhaa versio, päivitä se uudempaan! - + Cannot check Models and Settings compatibility! Continue anyway? Ei voi varmistaa että mallit ja asetukset täsmää laitteistoon. Jatketaanko silti ? @@ -2838,8 +2004,8 @@ Voi olla eri kun firmwaren kieli - - + + Warning Varoitus @@ -2893,58 +2059,58 @@ Voi olla eri kun firmwaren kieli Kuvaa ei voi ladata - + Splash image not found - + Cannot save customized firmware Muutettua firmwarea ei voi tallentaa - + Write Firmware to Radio Kirjoita firmware lähettimeen - - + + Firmware check failed - + Could not check firmware from radio - + New firmware is not compatible with the one currently installed! - + Conversion failed Muutos virheellinen - + Cannot convert Models and Settings for use with this firmware, original data will be used Ei voida muuttaa malli ja asetus tietoja käymään uuteen firmwareen, alkuperäiset tiedot otetaan käyttöön - + Restore failed Palautus epäonnistui - + Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 Ei voi palauttaa malli ja asetus tietoja lähettimestä. Mallit ja asetukset löytyy tiedostosta: %1 - + Flashing done @@ -3048,10 +2214,6 @@ Please use ZADIG to properly install the driver. FlightMode - - Form - Lentotila - Fade In @@ -3072,118 +2234,39 @@ Please use ZADIG to properly install the driver. Switch Kytkin - - trim1 - Trimmi1 - - - trim2 - Trimmi2 - - - trim4 - Trimmi4 - - - trim3 - Trimmi3 - - - Rud - PER - - - Ele - KOR - - - Thr - KAA - - - Ail - SII - - - Rotary Encoder %1 - Rotary Encoder?? %1 - - - GVAR%1 - GVAR %1 - - - Popup enabled - Popupit sallittu - FlightModePanel - - Rud - PER - - - - Ele - KOR - - - - Thr - KAA - - - - Ail - SII - - - + Rotary Encoder %1 ??Rotary Encoder?? %1 - + GVAR%1 GVAR%1 - + Popup enabled Popupit sallittu - - FlightModes - - Flight Mode %1 - Lentotila %1 - - - (%1) - (%1) - - - (default) - (oletus) - - FlightModesPanel - + Flight Mode %1 Lentotila %1 - + (%1) (%1) - + (default) (oletus) @@ -3191,17 +2274,17 @@ Please use ZADIG to properly install the driver. FlybarSelectionPage - + Has Flybar ON flybar - + Flybarless EI flybar - + Flybar: Flybar: @@ -3387,1060 +2470,11 @@ Nämä vaikuttaa kaikkiin malleihin jotka on EEPROMilla. Setup Asetukset - - Country Code - Maa koodi - - - America - Amerikka - - - Japan - Japani - - - Europe - Eurooppa - - - MAVLink Baud Rate - MAV linkki baudit - - - Voice Language - Äänen kieli - - - Measurement Units - Mittayksiköt - - - <!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 - Piippaa 30, 15, 10 ja 5sek alas - - - Count Down to Zero - Laskuri alas nollaan saakka - - - <!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 - Flash on piip - - - Beep volume - Piippaus voluumi - - - Wav volume - Wav voluumi - - - Vario volume - Vario voluumi - - - Background volume - Taustan voluumi - - - PPMSim - 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 - Piippaus pituus - - - Pot Scrolling Enable - Potikka käytössä - - - <!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 - Värinän pituus - - - 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 - - - Tilan valinta: - -Tila 1: - Vas tikku: Korkeusp, Sivup - Oik tikku: Kaasu, Siivekkeet - -Tila 2: - - Vas tikku: Kaasu, Sivup - Oik tikku: Korkeusp, Siivekkeet - -Tila 3: - - Vas tikku: Korkeusp, Siivekkeet - Oik tikku: Kaasu, Sivup - -Tila 4: - - Vas tikku: Kaasu, Siivekkeet - Oik tikku: Korkeusp, Sivup - - - - - Mode 1 (RUD ELE THR AIL) - Mode 1 (PER KOR KAA SII) - - - Mode 2 (RUD THR ELE AIL) - Mode 2 (PER KAA KOR SII) - - - Mode 3 (AIL ELE THR RUD) - Mode 3 (SII KOR KAA PER) - - - Mode 4 (AIL THR ELE RUD) - Mode 4 (SII KAA KOR PER) - - - LCD Display Type - LCD näytön tyyppi - - - BackLight On Stick Move - Taustavalo päälle tikun liikkeestä - - - sec - sec - - - Beeper Mode - Piipperin moodi - - - Timeshift from UTC - Ajansiirto UTC:stä - - - RotEnc Navigation - RotEnc navigaatio - - - FrSky Internal Alarm - FrSky sisäinen hälytys - - - THR - KAA - - - RUD - PER - - - ELE - KOR - - - AIL - SII - - - GEA - REN - - - ID0 - ID0 - - - ID1 - ID1 - - - ID2 - 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; } -</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=" 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;">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> - <!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=" 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;">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> - - - GPS Coordinates - GPS koordinaatit - - - hh° (N/S) mm' ss''.dd - hh° (N/S) mm' ss''.dd - - - NMEA - NMEA - - - If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. - FAI tilassa ei toimi: Vario, äänten toistaminen, telemetria ruutu. Tätä ei saa pois päältä radiosta. - - - Vario pitch at zero - Vario ääni kun nolla - - - Channel order - -This is used by the templated to determine which channel goes to what number output. - Kanavien järjestys - -Tätä käytetään pohjana kanava määrityksille, mikä kanava menee mihinkä lähtöön. - - - R E T A - P Ko Ka S - - - R E A T - P Ko S Ka - - - R T E A - P Ka Ko S - - - R T A E - P Ka S Ko - - - R A E T - P S Ko Ka - - - R A T E - P S Ka Ko - - - E R T A - Ko P Ka S - - - E R A T - Ko P S Ka - - - E T R A - Ko Ka P S - - - E T A R - Ko Ka S P - - - E A R T - Ko S P Ka - - - E A T R - Ko S Ka P - - - T R E A - Ka P Ko S - - - T R A E - Ka P S Ko - - - T E R A - Ka Ko P S - - - T E A R - Ka Ko S P - - - T A R E - Ka S P Ko - - - T A E R - Ka S Ko P - - - A R E T - S P Ko Ka - - - A R T E - S P Ka Ko - - - A E R T - S Ko P Ka - - - A E T R - S Ko Ka P - - - A T R E - S Ka P Ko - - - A T E R - S Ka Ko P - - - Show Owner Name on Splash - Näytä omistajan nimi alkuruudulla - - - Speaker Pitch (spkr only) - Äänen korkeus (vain kaj.) - - - X-Short - X-lyhyt - - - Short - Lyhyt - - - Normal - Normaali - - - Long - Pitkä - - - X-Long - X-Pitkä - - - StickScroll - StickScrolli - - - FAI Mode - FAI tila - - - Haptic Strength - Värinän voimakkuus - - - Beeper - Piipperi - - - Speaker - Kaiutin - - - BeeperVoice - Piippausääni - - - SpeakerVoice - Kaiutinääni - - - Show Splash Screen on Startup - Näytä alkuruutu käynnistyksessä - - - Metric - Metrit - - - Imperial - Imperiaali - - - Channel Order (For Templates) - Kanava järjestys (pohjiin) - - - Stick Mode - Tikku tila - - - Haptic Mode - Värinä tila - - - Owner Name - Omistajan nimi - - - BackLight Invert - Käänteinen taustavalo - - - Standard - Vakio - - - Optrex - Optrex - - - Show splash screen on startup - Näytä alkuruutu käynnistyksessä - - - Quiet - Äänetön - - - Only Alarms - Vain hälyt - - - No Keys - Ei nap - - - All - Kaikki - - - 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. - Piipperin voluumi - -0 -Äänetön ( ei piippaa ). -1 -Ei nap ( normaalisti mutta ei menun napeista). -2 -Normaalisti. -3 -Voimakas. -4 -Erittäin voimakas. - - - Alarms Only - Vain hälyt - - - If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. - Jos tämä arvo ei ole 0, jokainen painallus sytyttää taustavalon, sammuu valitun ajan jälkeen ( SEK). - - - Timer Beeps - Ajastin piipit - - - BackLight Brightness - Taustavalon kirkkaus - - - Contrast - Kontrasti - - - BackLight Auto OFF after - Taustavalo pois ajakuluttua - - - Single - Yksi - - - Oversample - Oversample - - - Filter - Filtteri - - - This is the switch selectrion for turning on the backlight (if installed). - - - Tässä kohtaa valitaan taustavalon käyttäytyminen (mikäli se on asennettuna). - - - - - Bandgap Measuring Enable - Bandgap mittaus päälle - - - Input Filter - Tulo filtteri - - - CrossTrim - Risti trimmi - - - Sound Mode - Ääni tila - - - BackLight Switch - Taustavalon kytkin - - - Battery calibration: -This value will be added to the measured battery voltage. Use this value to calibrate the meter with an external meter. - Akun kalibrointi: -Tämä arvo määrittelee akun jännitteen. - - - Battery Calibration - Akun kalibrointi - - - Battery Warning - Akun varoitin - - - Battery warning voltage. -This is the threashhold where the battery warning sounds. - -Acceptable values are 5v..10v - Akun varoitus jännite. -Tämä on jännitealue jolloin akun varoitus ääni annetaan. - -Hyväksytty arvo: 5v - 10v - - - Telemetry NO DATA Alarm - Telemetrian EI DATAA hälytys - - - Readonly Unlock - Vainlue tilan avaus - - - Speaker Volume - Äänen voimakkuus - - - If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes. - Jos tämä arvo ei ole 0, piipataan valitun ajan jos mitään käskyjä ei tule ( MIN ). - - - min - Min - - - Inactivity Timer - Käyttämättömyys ajastin - - - SC - SC - - - SE - SE - - - SA - SA - - - SF - SF - - - SH - SH - - - SD - SD - - - SB - SB - - - SG - SG - - - Alarm Warning - Hälytys varoitus - - - Memory Startup Warning - Muistin varoitus alussa - Trainer Traineri - - Mode - Moodi - - - Input - Tulo - - - Weight - Paino - - - Switch - Kytkin - - - PPM 1 - PPM 1 - - - Off - Pois - - - Default Channel Order - Kanavien järjestys - - - <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> - <html><head/><body><p>Kanava järjestys</p><p><br/></p><p>Määrittelee miksereiden perusasetukset uuteen malliin.</p></body></html> - - - Hz - Hz - - - "No Sound" Warning - "Ei ääniä" hälytys - - - Low Memory Warning - Muisti vähissä hälytys - - - --- - --- - - - 2s - 2s - - - 3s - 3s - - - 4s - 4s - - - 6s - 6s - - - 8s - 8s - - - 10s - 10s - - - 15s - 15s - - - Vario pitch at max - Vario ääni kun max - - - Color 1 - Väri 1 - - - Color 2 - Väri 2 - - - ms - ms - - - Backlight Brightness - Taustavalon kirkkaus - - - Vario repeat at zero - Varion toisto nollassa - - - Backlight Auto OFF after - Taustavalo pois automaattisesti - - - Backlight color - Taustavalon väri - - - Backlight Switch - Taustavalon kytkin - - - Stick reverse (order as above) - Käännetty tikku (järjestys yllä) - - - Play Delay (switch mid position) - Toista viive (kytkin keskiasennossa) - - - Backlight flash on alarm - Taustavalo vilkkuu hälytyksenä - - - Rud - PER - - - += (Sum) - += (Sum) - - - := (Replace) - := (Korvaa) - - - chn1 - chn1 - - - chn2 - chn2 - - - chn3 - chn3 - - - chn4 - chn4 - - - Ele - KOR - - - Thr - KAA - - - Ail - SII - - - Pot. 4 - Pot- 4 - - - Pot. 3 - Pot. 3 - - - Pot. 2 - Pot. 2 - - - Pot. 1 - Pot. 1 - - - Stick 3 - Tikku 3 - - - Stick 1 - Tikku 1 - - - Stick 2 - Tikku 2 - - - Stick 4 - Tikku 4 - - - PPM 2 - PPM 2 - - - PPM 3 - PPM 3 - - - PPM 4 - PPM 4 - - - S3 Type - S2 tyyppi {3 ?} - - - OFF - Pois - - - S-Port Mirror - S-Portti peilik - - - Debug - Korjaus - - - Serial Port - Sarja portti - - - Telemetry - Telemetria - - - RSSI Alarm 1 - RSSI häly 1 - - - ---- - ---- - - - Yellow - Kelt - - - Orange - Orans - - - Red - Pun - - - RSSI Alarm 2 - RSSI häly 2 - - - NO DATA Alarm - EI DATAA hälytys - - - Calibration - Kalibrointi - - - POT 4 - POT 4 - - - POT 3 - POT 3 - - - POT 2 - POT 2 - - - POT 1 - POT 1 - - - STICK 3 - TIKKU 3 - - - Negative span - Negatiivinen liike - - - Mid value - Keski alue - - - Positive span - Positiivinen liike - - - STICK 1 - TIKKU 1 - - - STICK 2 - TIKKU 2 - - - STICK 4 - TIKKU 4 - - - Battery - Akku - - - v - v - - - PPM Multiplier - PPM Kerroin - - - Current - Virta - - - None - Ei mitään - - - Pot (normal) - Potikka (Norm) - - - Multipos Switch - Monias kytkin - - - S1 Type - S1 tyyppi - - - S2 Type - S2 tyyppi - - - 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 ? - FAI tilassa ei toimi: Vario, äänten toistaminen, telemetria ruutu. -Tätä ei saa pois päältä radiosta. -Oletko varma ? - Global Functions @@ -5292,27 +3326,23 @@ Oletko varma ? GyroPage - + No Ei - + Yes, controled by a switch Kyllä, ohjataan kytkimellä - + Yes, controlled by a pot Kyllä, ohjataan potikalla Heli - - Form - Kopteri - Invert Elevator @@ -5328,19 +3358,11 @@ Oletko varma ? Invert Collective Käänt koll - - Elevator - Korkeusperäsin - Invert Käänteinen - - Aileron - Siivekkeet - Off @@ -5395,26 +3417,22 @@ Oletko varma ? HeliPage - Trottle Channel: - Kaasu kanava: - - - + Throttle Channel: Kaasu kanava: - + Yaw Channel: Yaw kanava: - + Pitch Channel: Pitch kanava: - + Roll Channel: Roll kanava: @@ -5445,39 +3463,11 @@ Oletko varma ? Ctrl+Down Ctrl+Alas - - Clear All Settings - Tyhjennä kaikki asetukset - Clear All Inputs Tyhjennä kaikki tulot - - Source(%1) - Lähde(%1) - - - No Trim - Ei trimmiä - - - Weight(%1) - Paino(%1) - - - Offset(%1) - Tasoitus(%1) - - - NoTrim - Ei trimmiä - - - Switch(%1) - Kytkin(%1) - Not enough available inputs! @@ -5571,10 +3561,6 @@ Oletko varma ? LogicalSwitchesPanel - - Condition - Tila - V1 @@ -5585,10 +3571,6 @@ Oletko varma ? V2 V2 - - AND - JA - Duration @@ -5599,10 +3581,6 @@ Oletko varma ? Delay Viive - - LS%1 - LS%1 - Function @@ -5825,9 +3803,9 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt MainWindow - - - + + + File loaded Tiedosto ladattu @@ -5837,937 +3815,573 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt Näytä edellinen varoitus uudelleen kun radio käynnistetään ? - Display previous message again at startup ? - Näytä edellinen viesti uudelleen kun radio käynnistetään ? - - - + Checking for updates Tarkistetaan päivityksiä - + Unable to check for updates. Ei voi tarkistaa päivityksiä. - + A new version of Companion is available (version %1)<br>Would you like to download it? Uusi versio Companionista on saatavilla (versio %1)<br>Haluatko ladata sen nyt ? - - - + + + Save As Tallenna nimellä - + Executable (*.exe) Suoritettava (*.exe) - + New release available Uusi julkaisu saatavilla - A new release of Companion is available please check the OpenTX website! - Uusi versio Companionista on saatavilla. Käy OpenTX sivuilla katsomassa lisää! - - - - + + No updates available at this time. Ei päivityksiä saatavilla tälläkertaa. - + Would you like to launch the installer? Haluatko suorittaa asennus ohjelman? - - + + Error Virhe - + Error opening file %1: %2. Virhe avattaessa tiedostoa %1: %2. - Firmware does not longer fit in the Tx, due to selected firmware options - Firmware ei enää mahdu lähettimen muistiin, näillä asetus määrillä - - - Compilation server temporary failure, try later - Kääntäjä palvelin tilapäisesti pois käytöstä, yritä kohta uudelleen - - - + Compilation server too busy, try later Kääntäjä palvelin liian kiireinen, yritä kohta uudelleen - + Compilation server requires registration, please check OpenTX web site Kääntäjä palvelin tarvii rekisteröitymisen, käy OpenTX sivuilla katsomassa lisää - + Unknown server failure, try later Tuntematon palvelin virhe, yritä kohta uudelleen - Firmware does not fit in the Tx, due to selected firmware options - Firmware ei enää mahdu lähettimen muistiin, näillä asetus määrillä - - - + Compilation server termporary failure, try later Companion palvelin tilapäisesti tiltissä, yritä kohta uudelleen - Do you want to write the firmware to the transmitter now ? - Haluatko kirjoittaa firmwaren lähettimen muistiin ? - - - Firmware %1 does not seem to have ever been downloaded. -Version %2 is available. -Do you want to download it now ? - Firmware %1 ei ole koskaan ladattu. -Versio %2 firmwaresta on saatavilla. -Haluatko ladata sen nyt ? - - - - + + Yes Kyllä - - + + No Ei - - + + Release Notes Julkaisuun liittyviä dokuja - - + + Do you want to download release %1 now ? Haluatko ladata julkaisun %1 nyt ? - A new version of %1 firmware is available (current %2 - newer %3). -Do you want to download it now ? - Uusi versio %1 firmwaresta on saatavilla ( nyk %2 - Uudempi %3). -Haluatko ladata sen nyt ? - - - Ignore this version (r%1)? - Ohita tämä versio (r%1)? - - - Release notes contain very important informations. Do you want to see them now ? - Julkaisu dokut sisältää erittäin tärkeää tietoa. Haluatko lukea ne nyt ? - - - + The selected language will be used the next time you start Companion. Valittu kieli otetaan käyttöön Companionissa kun se käynnistettään seuraavan kerran. - OK - Ok - - - + The new theme will be loaded the next time you start Companion. Uusi teema otetaan käyttöön Companionissa kun se käynnistettään seuraavan kerran. - + The icon size will be used the next time you start Companion. Uusi ikonienkoko otetaan käyttöön Companionissa kun se käynnistettään seuraavan kerran. - Open - Avaa - - - - + + File saved Tiedosto tallennettu - + Firmware updates Firmware päivityksiä - + Current firmware does not provide release notes informations. Nykyinen firmware ei sisällä julkaisu dokuja. - Cannot write file %1: -%2. - Ei voi kirjoittaa tiedostoa %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. - Ei voi varmentaa mikä radio käytössä, varmistu että olet liittänyt radion koneeseen. - - - Read Models and Settings From Tx - Lue mallit ja asetukset lähettimestä - - - Write Models and settings from %1 to the Tx? - Kirjoita mallit ja asetukset tiedostosta %1 lähettimeen? - - - The file %1 -has not been recognized as a valid Models and Settings file -Write anyway ? - Tiedosto %1 -Ei tunnisteta malli ja asetus tiedostoksi. -Kirjoita se silti lähettimeen ? - - - Backup is impossible - Varmuuskopiota ei voi tehdä - - - The backup dir set in preferences does not exist - Varmuuskopion kansiota ei ole määritelty asetuksiin - - - Backup Models and Settings From Tx - Varmuuskopioi mallit ja asetukset lähettimestä - - - Cannot check Models and Settings compatibility! Continue anyway? - Ei voi varmistaa että mallit ja asetukset täsmää laitteistoon. Jatketaanko silti ? - - - Warning - Varoitus - - - The transmitter firmware belongs to another product family, check file and preferences! - Lähettimen firmware kuuluu toiselle lähettin mallille, tarkista oikea tiedosto ja asetukset! - - - The transmitter firmware is outdated, please upgrade! - Lähettimen firmware tiedosto on vanha, päivitä se uuteen! - - - Write Models and Settings To Tx - Kirjoita mallit ja asetukset lähettimeen - - - Write Firmware To Tx - Kirjoita firmware lähettimeen - - - Conversion failed - Muutos virheellinen - - - Cannot convert Models and Settings for use with this firmware, original data will be used - Ei voida muuttaa malli ja asetus tietoja käymään uuteen firmwareen, alkuperäiset tiedot otetaan käyttöön - - - Restore Models and Settings To Tx - Palauta mallit ja asetukset lähettimeen - - - Restore failed - Palautus epäonnistui - - - Could not restore Models and Settings to TX. The models and settings data file can be found at: %1 - Ei voi palauttaa malli ja asetus tietoja lähettimestä. Mallit ja asetukset löytyy tiedostosta: %1 - - - Firmware write failed - Firmwaren kirjoitus epäonnistui - - - Could not write firmware to to transmitter. The models and settings data file can be found at: %1 - Ei voi kirjoittaa malli ja asetus tietoja lähettimeen. Mallit ja asetukset löytyy tiedostosta: %1 - - - Backup failed - Palautus epäonnistui - - - Cannot backup existing Models and Settings from TX. Firmware write process aborted - Ei voi varmuuskopioida nykyisiä malli ja asetuksia lähettimestä. Firmwaren kirjoitus prosessi keskeytetään - - - Save transmitter Models and Settings to File - Tallenna lähettimen mallit ja asetukset tiedostoon - - - Impossible to identify the radio on your system, please verify that the eeprom disk is connected. - Ei voi varmentaa mikä radio käytössä, varmistu että olet liittänyt radion koneeseen. - - - Read Tx Firmware to File - Lue lähettimen firmware tiedostoksi - - - + OpenTX Home Page: <a href='%1'>%1</a> OpenTX Kotisivut: <a href='%1'>%1</a> - The OpenTX Companion project was originally forked from <a href='%2'>eePe</a> - OpenTX Companion projektin on aloittanut alunperin: <a href='%2'>eePe</a> - - - + If you've found this program useful, please support by <a href='%1'>donating</a> Jos meinaat että tämä ohjelma on hyvä. Teeppä hyvä teko ja: <a href='%1'>Lahjoita</a> - Version %1, %3 - Versio %1, %3 - - - Copyright - Kopiosuoja - - - + About Companion Tietoja Companionista - OpenTX Companion - FW: %1 - Profile: %2 - OpenTX Companion -FW: %1 -Profiili: %2 - - - + New Uusi - Create a new file - Luo uusi tiedosto - - - + Open... Avaa... - Open an existing file - Avaa olemassa oleva tiedosto - - - Save... - Tallenna... - - - Save the document to disk - Tallenna doku levylle - - - + Save As... Tallenna nimellä... - + Exit Poistu - + Exit the application Poistu ohjelmasta - Cut - Leikkaa - - - Cut current selection to the clipboard - Leikkaa nykyiset valinnat ja siirrä leikepöydälle - - - Copy... - Kopio... - - - Copy current selection to the clipboard - Kopioi nykyiset valinnat ja siirrä leikepöydälle - - - Paste... - Liitä... - - - Paste clipboard into current selection - Liitä leikepöydän tiedot nykyiseen valintaan - - - + Classical Klassinen - The classical Companion icon theme - Klassiset Companion iconit teema - - - The new Companion 2 icon theme - Uusi Companion 2 ikoni teema - - - Firmware does not longer fit in the radio, due to selected firmware options - Firmware ei enää pian mahdu lähettimen muistiin, näillä asetus määrillä - - - Firmware does not fit in the radio, due to selected firmware options - Firmware ei enää mahdu lähettimen muistiin, näillä asetus määrillä - - - + Do you want to write the firmware to the radio now ? Haluatko kirjoittaa firmwaren lähettimen muistiin ? - Firmware %1 does not seem to have ever been downloaded. -Release %2 is available. -Do you want to download it now? - Firmware %1 ei ole koskaan ladattu. -Versio %2 firmwaresta on saatavilla. -Haluatko ladata sen nyt ? - - - A new version of %1 firmware is available: - - current is %2 - - newer is %3 - -Do you want to download it now ? - Uusi versio %1 firmwaresta on saatavilla: - - Nykyinen %2 - - Uudempi %3) - -Haluatko ladata sen nyt ? - - - + Ignore this release %1? Ohita tämä versio (r%1)? - - + + Open Models and Settings file Avaa mallit ja asetukset - + Read Models and Settings From Radio Lue mallit ja asetukset lähettimestä - Read Firmware From Radio - Lue firmware lähettimestä - - - Write Radio Backup from %1 to the radio? - Kirjoita varmuuskopio tiedosto %1 lähettimeen? - - - Backup Models and Settings From Radio - Varmuuskopioi mallit ja asetukset lähettimestä - - - The radio firmware belongs to another product family, check file and preferences! - Lähettimen firmware kuuluu toiselle lähettin mallille, tarkista oikea tiedosto ja asetukset! - - - The radio firmware is outdated, please upgrade! - Firware on vanhaa versio, päivitä se uudempaan! - - - Write Backup To Radio - Kirjoita varmuuskiop lähettimeen - - - Write Firmware To Radio - Kirjoita firmware lähettimeen - - - Restore Models and Settings To Radio - Palauta mallit ja asetukset lähettimeen - - - Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - Ei voi palauttaa malli ja asetus tietoja lähettimestä. Mallit ja asetukset löytyy tiedostosta: %1 - - - Could not write firmware to radio. The models and settings data file can be found at: %1 - Ei voi kirjoittaa malli ja asetus tietoja lähettimeen. Mallit ja asetukset löytyy tiedostosta: %1 - - - Cannot backup existing Models and Settings from Radio. Firmware write process aborted - Ei voi varmuuskopioida nykyisiä malli ja asetuksia lähettimestä. Firmwaren kirjoitus prosessi keskeytetään - - - + Save Radio Backup to File Tallenna lähettimen varmuuskopio tiedostoon - Read Radio Backup - Lue lähettimen varmuuskopio - - - + Read Radio Firmware to File Lue firmware tiedostosta - New Models+Settings - Uudet mallit ja asetukset - - - + Create a new Models and Settings file Luo uusi mallit ja asetukset tiedosto - Open Models+Settings... - Avaa mallit ja asetukset... - - - Save Models+Settings... - Tallenna mallit ja asutket... - - - - + + Save Models and Settings file Tallenna mallit ja asetukset tiedostoon - Save Models+Settings as... - Tallenna mallit ja asetukset nimellä... - - - + Cut Model Leikkaa malli - + Cut current model to the clipboard Leikka nykyinen malli leikepöydälle - Copy Model... - Kopio malli... - - - + Copy current model to the clipboard Kopio nykyinen malli leikepöydälle - Paste Model... - Liitä malli... - - - + Paste model from clipboard Liitä nykyinen malli leikepöydälle - + Paste Model Liitä malli - + The classic companion9x icon theme Klassiset Companion iconit teema - + Yerico Yerico - + Yellow round honey sweet icon theme Hunajan keltaiset ikonit teema - + Monochrome Yksivärinen - + A monochrome black icon theme Yksivärisen teeman musta ikoni tyyli - + MonoWhite Simppeli valkoinen - + A monochrome white icon theme Yksivärisen teeman valkoinen ikoni tyyli - + MonoBlue Simppeli sininen - + A monochrome blue icon theme Yksivärisen teeman sininen ikoni tyyli - + Small Pieni - + Use small toolbar icons Käytä pieniä ikoneita työkalupalkissa - + Normal Normaali - + Use normal size toolbar icons Käytä normaaleita ikoneita työkalupalkissa - + Big Iso - + Use big toolbar icons Käytä isoja ikoneita työkalupalkissa - + Huge Valtava - + Use huge toolbar icons Käytä valtavia ikoneita työkalupalkissa - + System language Järjestelmän kieli - + Use system language in menus Käytä järjestelmän kieltä valikoihin - + Czech Tsekki - + Use Czech in menus Käytä tsekki valikoita - + German Saksa - + Use German in menus Käytä saksa valikoita - + English Englanti - + Use English in menus Käytä englanti valikoita - + Finnish Suomi - + Use Finnish in menus Käytä suomi valikoita - + French Ranska - + Use French in menus Käytä ranska valikoita - + Italian Italia - + Use Italian in menus Käytä italia valikoita - + Spanish Espanja - + Use Spanish in menus - + Alt+S Alt+S - + SD card synchronization - + Show the list of radio profiles - + New Radio Uusi Radio - Hebrew - Heprea - - - Use Hebrew in menus - Käytä heprea valikoita - - - + Polish Puola - + Use Polish in menus Käytä puola valikoita - Portuguese - Portugali - - - Use Portuguese in menus - Käytä portugali valikoita - - - + Swedish Ruotsi - + Use Swedish in menus Käytä ruotsi valikoita - Russian - Venäjä - - - Use Russian in menus - Käytä venäjä valikoita - - - Dutch - Tanska - - - Use Dutch in menus - Käytä tanskai valikoita - - - + About... Tietoja... - + Print... Tulosta... - + Simulate... Simuloi... - + Simulate current model Simuloi nykyinen malli - + Load Backup... Lataa varmuuskopio... - + View Log File... Näytä logi tiedosto... - + Open and view log file Avaa ja näytä logi tiedosto - + Settings... Asetukset... - + Download... Ladattu... - + Check for Updates... Tarkistetaan päivityksiä... - + Companion Changes... Companionin muutokset... - + Show Companion change log Näytä Companionin muutos logi - + Firmware Changes... Firmwaren muutokset... - + Show firmware change log Näytä firmwaren muutos logi - + Compare Models... Vertaa malleja... - + Edit Radio Splash Image... Muuta lähettimen alkuruutu kuvaa... - + Edit the splash image of your Radio Muuta alkuruutua omaan lähettimeen - - + + Read Firmware from Radio Lue firmware lähettimestä - + Read firmware from Radio Lue firmware lähettimestä - - + + Write Firmware to Radio Kirjoita firmware lähettimeen - + Write firmware to Radio Kirjoita firmware lähettimeen - + Write Models and Settings To Radio Kirjoita mallit ja asetukset lähettimeen - - + + Write Models and Settings to Radio Kirjoita mallit ja asetukset lähettimeen - + Firmware %1 does not seem to have ever been downloaded. Release %2 is available. Do you want to download it now? @@ -6776,7 +4390,7 @@ We recommend you view the release notes using the button below to learn about an - + A new version of %1 firmware is available: - current is %2 - newer is %3 @@ -6787,423 +4401,253 @@ We recommend you view the release notes using the button below to learn about an - - + + Synchronize SD - - + + Read Models and Settings from Radio Lue mallit ja asetukset lähettimestä - + Configure Communications... Määrittele yhteydet... - + Configure software for communicating with the Radio Asetetaan ohjelma joka lukee ja kirjoittaa tiedot lähettimeen - + Write Backup to Radio Kirjoita varmuuskiop lähettimeen - + Write Backup from file to Radio Kirjoita varmuuskopio tiedosto lähettimeen - + Backup Radio to File Varmuuskopio lähetin tiedostoon - + Save a complete backup file of all settings and model data in the Radio Tallenna täydellinen varmuuskopio kaikista malleista ja asetuksista lähettimeen - + Contributors... Avustajat... - + Recent Models+Settings Viimeisimmät mallit ja asetukset - - + + Radio Profile Radio profiili - + A new release of Companion is available, please check the OpenTX website! Uusi versio Companionista on saatavilla. Käy OpenTX sivuilla katsomassa lisää! - + Not enough memory for all the selected firmware options Ei tarpeeksi vapaata muistia valituille toiminnoille - - - + + + Companion Companion - + The OpenTX Companion project was originally forked from <a href='%1'>eePe</a> OpenTX Companion projektin on aloittanut alunperin: <a href='%1'>eePe</a> {1'?} - + Copyright OpenTX Team Tekijänoikeus: OpenTX tiimi - + OpenTX Companion %1 - Radio: %2 - Profile: %3 - + Save Tallenna - + Copy Model Kopio malli - + Show recent Models+Settings documents Näytä lista viimeaikaisista mallit ja asetukset dokuista - Show a selection list of radio profiles - Näytä lista viimeaikaisista radion asetus profiileista - - - + %2 %2 - About - Tietoja - - - + Show the application's About box Näytä sovelluksen tietoja ikkuna - Print - Tulosta - - - + Print current model Tulosta nykyinen malli - Simulate - Simuloi - - - Simulate selected model - Simuloi valittu malli - - - loadBackup... - Lataa varmuuskopio... - - - + Load backup from file Lataa varmuuskipio tiedostosta - Logs - Logit - - - Open log file - Avaa logi tiedosto - - - Setting... - Asetukset... - - - + Edit Settings Muuta asetuksia - Downloads... - Ladatut... - - - + Download firmware and voice files Lataa firmware ja ääni tiedostot - Check for updates... - Tarkistetaan päivityksiä... - - - + Check OpenTX and Companion updates Tarkista OpenTX ja Companion päivitykset - ChangeLog... - Muutos logi... - - - Show Companion changelog - Näytä Companionin muutos logi - - - Firmware ChangeLog... - Firmwaren muutos logi... - - - Show firmware changelog - Näytä firmwaren muutos logi - - - Compare... - Vertaa... - - - + Compare models Vertaa malleja - Edit Tx Splash Image... - Muuta lähettimen alkuruutu kuvaa... - - - edit the splash screen of your TX - Muuta alkuruutua omaan lähettimeen - - - List programmers - Lista ohjelmointilaitteista - - - + List available programmers Lista vapaista ohjelmointilaitteista - + List programmers... Lista ohjelmointilaitteista... - + Fuses... Sulakkeet... - + Show fuses dialog Näytä sulake dialogi - Read Firmware - Lue firmware - - - Read firmware from transmitter - Lue firmware lähettimestä - - - Write Firmware - Kirjoita firmware - - - Write firmware to transmitter - Kirjoita firmware lähettimeen - - - New Profile - Uusi profiili - - - + Create a new Radio Setting Profile Luo uusi radio asetus profiili - + Add Radio Profile Lisää lähettimen profiili - + Manuals and other Documents Manuaalit ja muut dokut - + Open the OpenTX document page in a web browser Avaa OpenTX dokut webbi selaimen sivulle - Write Models and Settings to transmitter - Kirjoita mallit ja asetukset lähettimeen - - - Read Models and Settings from transmitter - Lue mallit ja asetukset lähettimestä - - - Configure connection software... - Määrittele softan yhteysasetukset... - - - Configure software for reading from and writing to the transmitter - Asetetaan ohjelma joka lukee ja kirjoittaa tiedot lähettimeen - - - Write Models and Settings from file to Tx - Kirjoita mallit ja asetukset tiedostosta lähettimeen - - - Write Models and Settings from file to transmitter - Kirjoita mallit ja asetukset tiedostosta lähettimeen - - - Save Tx Models and Settings to file - Tallenna lähettimen mallit ja asetukset tiedostoon - - - Save the Models and Settings from the transmitter to a file - Tallenna lähettimen mallit ja asetukset tiedostoon - - - Contributors - Avustajat - - - + A tribute to those who have contributed to OpenTX and Companion Hatunnosto niille jotka on tukenut OpenTX ja Companion projektia - + Recent Files Viimeisimmät tiedostot - + Set Menu Language Aseta valikon kieli - + Set Icon Theme Aseta ikonien teema - + Set Icon Size Aseta ikonien koko - - + + File Tiedosto - - + + Edit Muuta - + Settings Asetukset - + Read/Write Lue/Kirjoita - - + + Help Apu - Radio Settings Profiles - Radion asetus profiilit - - - Show a selection list of recent documents - Näytä lista viimeaikaisista dokuista - - - Radio Profiles - Radio profiilit - - - Show a selection list of radio settings profiles - Näytä lista viimeaikaisista radion asetus profiileista - - - + Write Kirjoita - + Ready Valmis - - &%1 %2 - &%1 %2 - - - Unable to find file %1! - Ei löydy tiedostoa %1! - - - Invalid Models and Settings File %1 - Huono malli ja asetus tiedosto %1 - - - Error reading file %1: -%2. - Virhe luettaessa tiedostoa %1: -%2. - - - Invalid binary Models and Settings File %1 - Huonoja merkkejä mallit ja asetus tiedostossa %1 - MdiChild @@ -7213,18 +4657,10 @@ We recommend you view the release notes using the button below to learn about an Vapaata tilaa - + Companion Companion - - Do you want to use model wizard? - Haluatko käyttää apuria mallin luomiseen ? - - - Ask this question again ? - Kysy tämä kysymys uudelleen ? - Editing model %1: @@ -7234,157 +4670,113 @@ We recommend you view the release notes using the button below to learn about an - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Error Virhe - + Unable to find file %1! Ei löydy tiedostoa %1! - - + + Error opening file %1: %2. Virhe avattaessa tiedostoa %1: %2. - - + + Invalid EEPROM File %1 Väärä EEPROM tiedosto %1 - - + + Error reading file %1: %2. Virhe luettaessa tiedostoa %1: %2. - + Invalid binary EEPROM File %1 Väärää tietoa EEPROM tiedostossa %1 - - - + + + Save As Tallenna nimellä - - - - + + + + Cannot write file %1: %2. Ei voi kirjoittaa tiedostoa %1: %2. - - + + Error writing file %1: %2. Virhe kirjottaessa tiedostoa %1: %2. - + %1 has been modified. Do you want to save your changes? %1 on modifoitu. Haluatko tallentaa muutokset ? - Backup is impossible - Varmuuskopiota ei voi tehdä - - - The backup dir set in preferences does not exist - Varmuuskopion kansiota ei ole määritelty asetuksiin - - - + Cannot write temporary file! Väliaikaiseen tiedostoon ei voida kirjoittaa! - Backup EEPROM From Radio - Varmuuskopio EEPROM lähettimestä - - - Write EEPROM To Radio - Kirjoita EEPROM lähettimeen - - - + Open backup Models and Settings file Avaa varmuuskopio mallit ja asetukset - Taranis radio not found - Taranis radiota ei löydy - - - Impossible to identify the radio on your system, please verify the eeprom disk is connected. - Ei voi varmentaa mikä radio käytössä, varmistu että olet liittänyt radion koneeseen. - - - Backup EEPROM From Tx - Varmuuskopio EEPROM lähettimestä - - - Cannot check eeprom compatibility! Continue anyway? - Ei voi varmistaa että EEPROM täsmää laitteistoon! Jatketaanko silti ? - - + + + + Warning - Varoitus + Varoitus - Firmware in radio is of a different family of eeprom written, check file and preferences! - Lähettimen firmware kuuluu toiselle lähettin mallille, tarkista oikea tiedosto ja asetukset! - - - Firmware in flash is outdated, please upgrade! - Firware on vanhaa versio, päivitä se uudempaan! - - - Write EEPROM To Tx - Kirjoita EEPROM lähettimeen - - - Open - Avaa - - - + Invalid binary backup File %1 Väärää tietoa varmuuskopio tiedostossa %1 @@ -7416,30 +4808,6 @@ Haluatko tallentaa muutokset ? Down Alas - - <!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 and 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 and 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 @@ -7455,42 +4823,6 @@ p, li { white-space: pre-wrap; } Weight Paino - - 0 - 0 - - - 1 - 1 - - - 2 - 2 - - - 3 - 3 - - - 4 - 4 - - - 5 - 5 - - - 6 - 6 - - - 7 - 7 - - - 8 - 8 - @@ -7645,39 +4977,11 @@ If blank then the mix is considered to be "ON" all the time. Mikserissä käytetty kytkin. Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. - - DEST -> X%1 - KOHD -> X%1 - - - DEST -> CH%1%2 - KOHD -> CH%1%2 - DEST -> CH%1 KOHD -> CH%1 - - - Rud - PER - - - - Ele - KOR - - - - Thr - KAA - - - - Ail - SII - MixesPanel @@ -7711,56 +5015,12 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Tyhjennä mikserit - X%1 - X%1 - - - CH%1%2 - CH%1%2 - - - Weight(%1) - Paino(%1) - - - Switch(%1) - Kytkin(%1) - - - No Trim - Ei trimmiä - - - NoTrim - Ei trimmiä - - - No DR/Expo - Ei DR / Expoja - - - Offset(%1) - Tasoitus(%1) - - - Delay(u%1:d%2) - Viive(u%1:d%2) - - - Slow(u%1:d%2) - Hidastus(u%1:d%2) - - - Warn(%1) - Välys(%1) - - - + Not enough available mixers! Ei enempää vapaita miksereitä! - + Delete Selected Mixes? Poista valitut mikserit? @@ -7814,10 +5074,6 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Ctrl+C Ctrl+C - - &Cut - &Leikkaa - Ctrl+X @@ -7849,12 +5105,12 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Ctrl+U - + Clear Mixes? Tyhjennä mikserit? - + Really clear all the mixes? Varmasti tyhjennä kaikki mikserit? @@ -7871,14 +5127,6 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Simulate Simuloi - - Clear Curves? - Tyhjennä käyrät? - - - Really clear all the curves? - Varmasti tyhjennä kaikki käyrät? - Setup @@ -7909,23 +5157,11 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Outputs - - Servos - Servot - - - Channels - Kanavat - Logical Switches Loogiset kytkimet - - Switch Assignment - Kytkimien asettelu - Curves @@ -7942,30 +5178,307 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Telemetria + + ModelPrinter + + + %1 bytes + + + + + CH%1 + CH%1 + + + + Exponential + Expo + + + + Extra Fine + Eri hieno + + + + Fine + Hieno + + + + Medium + Keski + + + + Coarse + Karkea + + + + Unknown + Tuntematon + + + + Enabled + Päälle + + + + Disabled + Pois + + + + %1, Channels(%2-%3), PPM delay(%4usec), Pulse polarity(%5) + + + + + %1, Channels(%2-%3) + + + + + Receiver number(%1) + + + + + Slave/Jack + + + + + Master/SBUS Module + + + + + Master/CPPM Module + + + + + Master/SBUS in battery compartment + + + + + Master/Jack + + + + + Rudder + Sivuperäsin + + + + Elevator + Korkeusperäsin + + + + Throttle + Kaasu + + + + Aileron + Siivekkeet + + + + Name(%1) + + + + + Slow(u%1:d%2) + + + + + Persistent + Yhtämittainen + + + + MinuteBeep + Minutti piippaus + + + + CountDown(Beeps) + + + + + CountDown(Voice) + + + + + CountDown(Haptic) + + + + + Off + Pois + + + + + + + FM%1 + FM%1 + + + + FM%1%2 + FM%1%2 + + + + FM%1+%2 + + + + + [I%1] + [I%1] + + + + Input%1 + Tulo%1 + + + + Weight + Paino + + + + Switch + Kytkin + + + + + NoTrim + Ei trimmiä + + + + Weight(%1) + Paino(%1) + + + + Switch(%1) + Kytkin(%1) + + + + No DR/Expo + Ei DR / Expoja + + + + Offset(%1) + Tasoitus(%1) + + + + Delay(u%1:d%2) + + + + + Warn(%1) + + + + + Disabled in all flight modes + + + + + Flight modes(%1) + Lentotilat(%1) + + + + Flight mode(%1) + Lentotila(%1) + + + + Edge(%1, [%2:%3]) + reuna(%1, [%2:%3]) + + + + Sticky(%1, %2) + Jähmeä(%1, %2) + + + + Timer(%1, %2) + Ajastin(%1, %2) + + + + Duration(%1s) + + + + + Delay(%1s) + + + + + Custom + Omat + + + + Standard + Vakio + + ModelSelectionPage - + Plane Lentokone - + Multirotor Moniroottori / autogiro - + Helicopter Helikopteri - + Model Name: Mallin nimi: - + Model Type: Mallin tyyppi: @@ -7973,146 +5486,135 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. 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 - + Ctrl+P Ctrl+P - 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 radio general settings? Haluatko päällekirjoittaa radion yleiset asetukset ? - 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 @@ -8128,10 +5630,6 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. PPM delay PPM viive - - usec - usec - Negative @@ -8142,18 +5640,6 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Positive Positiivinen - - RX Number - RX numero - - - Master - Masteri - - - Slave - Orja - Polarity @@ -8164,23 +5650,11 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Trainer Mode Harjoitus tila - - mSec - mSec - PPM Frame Length PPM läh pituus - - Label - Lappu - - - ch - ch - CH @@ -8285,74 +5759,273 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. ModulePanel - Trainer Output - Opetus ulostulo - - - + Trainer Port Trainerin portti - + Internal Radio System Sisäinen radio systeemi - + External Radio Module Ulkoinen radio systeemi - - + + Radio System Radio systeemi - + Extra Radio System Extra Radio järjestelmä - + Value Arvo - + Hold Pidä - + No Pulse + + MultiModelPrinter + + + General Model Settings + Yleiset mallin asetukset + + + + Name: + + + + + EEprom Size: + + + + + Timer%1: + + + + + Module%1: + + + + + Module: + + + + + Trainer port: + + + + + Throttle Trim: + + + + + Trim Increment: + + + + + Center Beep: + + + + + Flight modes + Lento tilat + + + + + Flight mode + Lento tila + + + + Switch + Kytkin + + + + Fade IN + + + + + Fade OUT + + + + + + FM%1 + FM%1 + + + + + GV%1 + GV%1 + + + + RE%1 + + + + + Limits + Rajat + + + + Channel + + + + + Name + Nimi + + + + + Offset + Tasoitus + + + + Min + Min + + + + Max + Max + + + + Invert + Käänteinen + + + + Global Variables + Globaalit muuttujat + + + + Inputs + Tulot + + + + Mixers + Mikserit + + + + CV%1 + + + + + Curves + Käyrät + + + + L%1 + L%1 + + + + Logical Switches + Loogiset kytkimet + + + + SF%1 + SF%1 + + + + Special Functions + Spesiaali toiminnot + + + + Telemetry Settings + Telemetria asetukset + + + + Analogs + + + + + Unit + Yksikkö + + + + Scale + Skaala + + + + A%1 + A%1 + + + + RSSI Alarms + + + MultirotorPage - Trottle Channel: - Kaasu kanava: - - - + Throttle Channel: Kaasun kanava: - + Yaw Channel: Yaw kanava: - + Pitch Channel: Pitch kanava: - + Roll Channel: Roll kanava: @@ -8360,17 +6033,17 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. OptionsPage - + Throttle Cut Kaasu pakko pois - + Throttle Timer Kaasu ajastin - + Flight Timer Lento ajastin @@ -8393,527 +6066,17 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Tulosta tiedostoon - - Setup for: - Asetukset: - - - - printed on: %1 - Tulostettu: %1 - - - - General Model Settings - Yleiset mallin asetukset - - - - - - - Name - Nimi - - - - EEprom Size - EEpromin koko - - - Timer1 - Ajastin 1 - - - Timer2 - Ajastin 2 - - - - - Protocol - Protokolla - - - Pulse Polarity - Pulssin napaisuus - - - - Throttle Trim - Kaasu trimmi - - - - Enabled - Päälle - - - - Disabled - Pois - - - Throttle Expo - Kaasu expo - - - - Trim Increment - Trimmin säätö - - - - Center Beep - Keski piippaus - - - Flight modes Settings - Lentotilan asetukset - - - - Fades - Liut - - - - Trims - Trimmit - - - - Gvars - Gvarit - - - - Rot.Enc. - Rot.Enc. - - - - Switch - Kytkin - - - - Flight mode name - Lentotilan nimi - - - - IN - SIS - - - - OUT - ULO - - - - Rud - PER - - - - Ele - KOR - - - - Thr - KAA - - - - Ail - SII - - - - - - - - FM - FM - - - Expo/Dr Settings - Expo / DR asetukset - - - Weight - Paino - - - - Flight modes - Lento tilat - - - Flight mode - Lento tila - - - DISABLED - Pois - - - - Mixers - Mikserit - - - - - - CH - ch - - - noTrim - Ei trimmiä - - - - - - - - Offset - Tasoitus - - - Delay(u%1:d%2) - Viive(u%1:d%2) - - - Slow(u%1:d%2) - Hidas(u%1:d%2) - - - Warn - Välys - - - - Limits - Rajat - - - - - - - Min - Min - - - - - - - Max - Max - - - - - - Invert - Käänteinen - - - - - - INV - KÄÄNT - - - - - - NOR - NOR - - - - Curves - Käyrät - - - - - - Curve - Käyrä - - - - pt %1 - pt %1 - - - - Logical Switches - Loogiset kytkimet - - - LS - LS - - - - Global Variables - Globaalit muuttujat - - - - GV - GV - - - - Special Functions - Spesiaali toiminnot - - - Function - Toiminto - - - Parameter - Parametrit - - - Repeat - Toista - - - - - Telemetry Settings - Telemetria asetukset - - - - - Alarm 1 - Varoitus 1 - - - - - Alarm 2 - Varoitus 2 - - - - - Analog - Analoginen - - - - Timer%1 - - - - - Internal Radio System - Sisäinen radio systeemi - - - - Radio System - Radio systeemi - - - - External Radio Module - Ulkoinen radio systeemi - - - - Extra Radio System - Extra Radio järjestelmä - - - - Trainer port mode - - - - - Off - Pois - - - - Inputs - Tulot - - - NoTrim - Ei trimmiä - - - Weight(%1) - Paino(%1) - - - Switch(%1) - Kytkin(%1) - - - No DR/Expo - Ei DR / Expoja - - - Offset(%1) - Tasoitus(%1) - - - Warn(%1) - Välys(%1) - - - - L - L - - - SF%1 - SF%1 - - - - Range - Matka - - - - Alarms - Hälytykset - - - - Low Alarm - Ala hälytys - - - - Critical Alarm - Kriittinen hälytys - - - - RSSI - RSSI - - - - Unit - Yksikkö - - - - Scale - Skaala - - - - - - - Type - Tyyppi - - - - - - - Condition - Tila - - - - - - - Value - Arvo - - - - - - A%1 - A%1 - - - - SF - SF - - - - RSSI Alarm - RSSI hälytys - - - - Frsky serial protocol - FrSky sarja protokolla - - - System of units - Systeemin yksiköt - - - - - Blades - Prop lavat - - - - - Custom Telemetry View - Oma telemetria näkymä - - - - Telemetry Bars - Telemetria palkein - - - - Bar Number - Palkkien määrä - - - - Source - Lähde - - - + Print Document Tulosta dokumentti - + Select PDF output file Valitse PDF tiedosto - + ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) ODF tiedosto (*.odt);;PDF tiedosto (*.pdf);;HTML-tiedosto (*.htm *.html);;Kaikki tiedostot (*) @@ -8963,88 +6126,92 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. - + Rud PER - + Ele KOR - + Thr KAA - + Ail SII - - + + P1 P1 - - + + P2 P2 - - + + P3 P3 - + + S1 S1 - + + S2 S2 - + + LS LS - + + RS RS - + REa REa - + REb REb @@ -9077,14 +6244,14 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. - + Timer1 Ajastin 1 - + Timer2 Ajastin 2 @@ -9093,18 +6260,6 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. SWR SWR - - Tx - Tx - - - RSSI - RSSI - - - Rx - Rx - A1 @@ -9160,10 +6315,6 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Cell Kenno - - Cels - Kennoja - Vfas @@ -9199,19 +6350,11 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. AccZ AccZ - - HDG - HDG - VSpd Vspd - - ASpd - Aspd - dTE @@ -9252,180 +6395,20 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. T2+ T2+ - - Spd+ - Spd+ - - - Dst+ - Dst+ - - - Cel- - Cel- - - - Vfs- - Vfs- - - - Cur+ - Cur+ - - - Pwr+ - Pwr+ - - - ACC - ACC - Time Aika - - 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 - - + ---- ---- - - Input %1 - Tulo %1 - MAX @@ -9436,28 +6419,16 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. CYC%1 CYC%1 - - PPM%1 - PPM%1 - - - CH%1%2 - CH%1%2 - - - X%1 - X%1 - - + GV%1 GV%1 - + S3 S3 @@ -9471,10 +6442,6 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. RSSI Rx RSSI RX - - Rx Batt - Rx akku - A3 @@ -9754,7 +6721,6 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. - [I%1] [I%1] @@ -9951,19 +6917,59 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Pois - - repeat + + SetFailsafe Int. Module - - + + SetFailsafe Ext. Module + + + + + RangeCheck Int. Module + + + + + RangeCheck Ext. Module + + + + + Bind Int. Module + + + + + Bind Ext. Module + + + + + played once, not during startup + + + + + repeat(%1s) + + + + DISABLED Pois - ABS - ABS + + INV + KÄÄNT + + + + NOR + NOR @@ -10029,8 +7035,8 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. - - + + --- --- @@ -10134,71 +7140,38 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Edge Reuna - - Stay - Pidä - - Unknown Tuntematon - STAY(%1, [%2:%3]) - PIDÄ(%1, [%2:%3]) - - - STICKY(%1, %2) - JÄHMEÄ(%1, %2) - - - TIMER(%1, %2) - AJASTIN(%1, %2) - - - Delay %1 sec - Viive %1 sek - - - Duration %1 sec - Kesto %1 sek - - - - - + + + <font color=red><b>Inconsistent parameter</b></font> <font color=red><b>epäjohdonmukainen arvo</b></font> - All - Kaikki - - - + Telemetry Telemetria - + Value Arvo - + Decr: Väh: - + Incr: Lis: - - Safety %1 - Turva %1 - @@ -10206,14 +7179,13 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. - + V V - - + s s @@ -10348,109 +7320,35 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. + F1 + F2 + F3 + F4 - + Timer3 Ajastin 3 - - - - Weight - Paino - - - - - Switch - Kytkin - - - - - NoTrim - Ei trimmiä - - - - No DR/Expo - Ei DR / Expoja - - - - Offset - Tasoitus - - - - Delay - Viive - - - - Slow - Hidas - - - - Warn - - - - - Flight modes - Lento tilat - - - - Flight mode - Lento tila - - - - Edge(%1, [%2:%3]) - reuna(%1, [%2:%3]) - - - - Sticky(%1, %2) - Jähmeä(%1, %2) - - - - Timer(%1, %2) - Ajastin(%1, %2) - - - - Duration (%1s) - Kesto (%1 sek) - - - - Delay (%1s) - Viive (%1 sek) - Override %1 @@ -10571,22 +7469,6 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. No repeat Ei toistoa - - %1 sec - %1 sek - - - th9x - th9x - - - er9x - er9x - - - ersky9x - ersky9x - @@ -10594,689 +7476,619 @@ Jos tyhjä mikserin katsotaan olevan "ON" kokoajan. Samanaikainen käyttö expolla ja käyrällä ei ole enää tuettu - Simultaneous usage of expo and curves is no longer supported in open9x - Samanaikainen käyttö expolla ja käyrällä ei ole enää tuettu open9x:ssä - - - openTx only accepts %1 points in all curves - OpenTX vastaanottaa vain %1 pistettä kaikkiin käyriin - - - + Source %1 cannot be exported on this board! - + OpenTX only accepts %1 points in all curves OpenTX vastaanottaa vain %1 pistettä kaikkiin käyriin - + OpenTx only accepts %1 points in all curves OpenTX vastaanottaa vain %1 pistettä kaikkiin käyriin - - - + + - + + OpenTX on this board doesn't accept this function OpenTX ja tämä funktio ei onnistu tässä radiossa - + OpenTX doesn't accept this telemetry protocol OpenTX ei hyväksy tätä telemetria protokollaa - - - + + + OpenTX doesn't accept this radio protocol OpenTX ei hyväksy tätä radio protokollaa - OpenTX doesn't accept this protocol - OpenTX ei hyväksy tätä protokollaa - - - + OpenTX doesn't allow this number of channels OpenTX ei hyväksy näin montaa kanavaa - - Your radio probably uses a wrong firmware, - eeprom size is 4096 but only the first 2048 are used - Sinun radio käyttää luultavasta väärää firmwarea, -eepromin koko on 4096, mutta vain ensimmäiset 2048 on käytössä - - - - + + Warning Varoitus - + EEPROM saved with these warnings: EEPROM tallennettiin seuraavin varoituksin: - - + + Support for frsky telemetry mod Tuki FrSky telemetria moduulille - + Support for telemetry easy board Tuki telemetrialle ( easy board ) - - + + Support for jeti telemetry mod Tuki Jeti telemetria moduulille - - + + Support for receiving ardupilot data Tuki vastaanottaa ardupilot dataa - - + + Support for receiving NMEA data Tuki vastaanottaa NMEA dataa - - + + Support for MAVLINK devices Tuki MAVLINK laitteille - + Rotary Encoder use in menus navigation Rotary encoder käyttö valikon navigoinnissa - - - - - - + + + + + + + Pots use in menus navigation Potikoiden käyttö valikko navigoinnissa - Possibility to enable FAI MODE at field - Mahdollisuus valita FAI TILA käyttöön kentällä - - - + No OverrideCH functions available Ei ohituskanava funkitoita saatavissa - FAI MODE always enabled - FAI TILA aina päällä - - - OpenTX for 9X board - OpenTX 9X radioille - - - - - - - - + + + + + + Enable heli menu and cyclic mix support HELI valikko päälle ,cyclic mix tuella - - - - - - - - + + + + + + + + + Enable TEMPLATES menu Mallit valikko käyttöön - - - - + + + + No splash screen Ei alkuruutua - - - - - - - - + + + + + + + + + No flight modes Ei lentotiloja - - - - - - - - + + + + + + + + + Disable curves menus Käyrät valikko pois - - - - + + + + Support for radio modified with regular speaker Tuki radioille johon viritetty normaali kaiutin - - - - - + + + + + Used if you have modified your radio with voice mode Käytetään jos radioon on viritetty ääni moduuli - - - - - + + + + + Used if you have modified your radio with haptic mode Käytetään jos radioon on viritetty värinä moduuli - - - - - + + + + + Support for DSM2 modules Tuki DSM2 moduleille - - - - - - - - + + + + + + + + + PPM center adjustment in limits PPM keskitys arvojen mukaan - PPM values displayed in us - PPM arvot näytetään" us" tyyppisesti - - - - - - - - - - + + + + + + + + + Global variables Globaalit muuttujat - - - - - - - - + + + + + + + + + Symetrical Limits Symmetriset rajat - - + + SmartieParts 2.2 Backlight support "Smartie parts 2.2" taustavalo tuki - In model setup menus automatically set source by moving some of them - Mallien valikossa lähde valitaan automaattisesti kun jotain siirretään - - - In model setup menus automatically set switch by moving some of them - Mallien valikossa kytkimet valitaan automaattisesti kun jotain siirretään - - - + Channel values displayed in us Kavanien arvot näytetään us mallissa - - - - - - - - + + + + + + + + + In model setup menus automatically set source by moving the control Mallien asetukset asetetaan automaattisesti kun ohjaimia käänellään - - - - - - - - + + + + + + + + + In model setup menus automatically set switch by moving the control Mallien asetukset asetetaan automaattisesti kun nappeja käänellään - - - - - + + + + + + Enable resetting values by pressing up and down at the same time Asetuksien poisto: Paina ylös ja alas samanaikaisesti - - - - - - - + + + + + + + + No graphical check boxes and sliders Ei graaffisia valintalaatikoita ja liukuja - - - - - - - + + + + + + + + Battery graph Akun grafiikka - - - - - - - + + + + + + + + Don't use bold font for highlighting active items Älä käytä lihavointua fonttia korostamaan aktiivisia asioita - + Use alternative SQT5 font Käytä vaihtoehtoista SQT5 fonttia - + (displaying only first 10 warnings) (näytetään vain ensimmäiset10 varoitusta) - + Possibility to enable FAI MODE (no telemetry) at field - + FAI MODE (no telemetry) always enabled - + + + + Support for a third timer - + + Instead of Joystick emulation, USB connection is Mass Storage (as in the Bootloader) + + + + + Instead of Joystick emulation, USB connection is Command Line Interface + + + + Removes D8 and LR12 FrSky protocols that are not legal for use in the EU on radios sold after Jan 1st, 2015 - + Support for PPM internal module hack - + ST7565P LCD or compatible - + ST7565R LCD or compatible - + ERC12864FSF LCD - + ST7920 LCD - + 9X board - - - - + + + + Enable the throttle trace in Statistics Salli kaasun seuranta statistiikassa - + EEprom write progress bar EEprom tallennus palkki - - - - - - + + + + + + Imperial units Imperiaali yksiköt - - + + No Winged Shadow How High support erikoistoiminto korkea (ei tuettu) - - + + No vario support Ei vario tukea - - + + No GPS support Ei GPS tukea - - + + No gauges in the custom telemetry screen Ei mittareita "omassa" telemetria ruudussa - + Allow compensating for offset errors in FrSky FAS current sensors Salli virheiden kompensoiti FrSkyn FAS virta sensorille - - + + Add support for reversing stick inputs (e.g. needed for FrSky gimbals) Lisää tuki käänteisille tikkujen tuloille ( esim taraniksen gimbaalit) - + M128 / 9X board - + 9XR 9XR - + 9XR with M128 chip - + Gruvin9x board / 9X - + MEGA2560 board - + Sky9x board / 9X - + + ar9x board / 9X + + + + FrSky Taranis Plus - + FrSky Taranis X9E - OpenTX for M128 / 9X board - OpenTX M128 / 9X radiolle - - - - - - - + + + + + EEprom write Progress bar EEprom tallennus palkki - OpenTX for 9XR - OpenTX -> 9XR - - - OpenTX for 9XR with M128 chip - OpenTX -> 9XR M128 sirulla - - - OpenTX for Gruvin9x board / 9X - OpenTX -> Gruvin9x / 9X - - - - + + Support for SD memory card Tuki SD Muistikortille - - + + Support of FrSky PXX protocol Tuli FrSky PXX protokollalle - + Confirmation before radio shutdown - + Support for DSM2 modules using ppm instead of true serial Tuki DSM2 moduuleille käyttäen PPM, eikä oikeaa sarjaliikennettä - + Power management by soft-off circuitry - - + + Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views - OpenTX for Sky9x board / 9X - OpenTX -> Sky9x / 9X - - - - + + + Enable HELI menu and cyclic mix support HELI valikko päälle ,cyclic mix tuella - + 9XR-PRO - + FrSky Taranis - + Haptic module installed Värinä moduli asennettu - + Support for Lua model scripts Tuki LUA mallien skripteille - - No Joystick emulation inside the FW (only Mass Storage as in the Bootloader) - - - - OpenTX for FrSky Taranis Plus - OpenTX FrSky Taranis Plus - - - Use FrSky Taranis sticks in a 9X/9XR - Käytä FrSky Taranis tikkuja 9X / 9XR - - - - + + + Bluetooth interface Bluetooth liintäntä - OpenTX for 9XR-PRO - OpenTX 9XR-PRO - - - OpenTX for FrSky Taranis - OpenTX -> Taranis - - - + Disable HELI menu and cyclic mix support HELI valikko pois ,myös cyclic mix tuki - Disable TEMPLATES menu - Mallit valikko pois käytöstä - - - + Disable Global variables Globaalit muuttujat pois päältä - - OpenTX for FrSky Taranis Rev4a - OpenTX -> Taranis Rev4a - th9x on this board doesn't have Rotary Encoders th9x radiossa ei ole Rot Enc - - - FM%1 - FM%1 - - - - Input%1 - Tulo%1 - - - + Rud Trim PER trim - + Ele Trim KOR trim - + Thr Trim KAA trim - + Ail Trim SII trim - + Rot Enc Rot Enc @@ -11331,19 +8143,12 @@ eepromin koko on 4096, mutta vain ensimmäiset 2048 on käytössä Ruotsi - - + THR KAA - - X%1 - X%1 - - - CH%1 CH%1 @@ -11378,22 +8183,22 @@ eepromin koko on 4096, mutta vain ensimmäiset 2048 on käytössä RotEnc E - + !Flight mode %1 !Lento tila %1 - + Flight mode %1 Lento tila %1 - + Own value Oma arvo - + Flight mode %1 value Lento tila %1 arvo @@ -11414,7 +8219,7 @@ eepromin koko on 4096, mutta vain ensimmäiset 2048 on käytössä - + -GV%1 -GV%1 @@ -11424,182 +8229,52 @@ eepromin koko on 4096, mutta vain ensimmäiset 2048 on käytössä Suomi - + Yellow Keltainen - + Orange Oranssi - + Red Punainen - + 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 - - - - %1:%2 - %1s {1:%2?} - - - - , Persistent - - - - - , MinuteBeep - - - - - , CountDown(Beeps) - - - - - , CountDown(Voice) - - - - - - : Channel start: %1, %2 Channels, %3usec Delay, Pulse polarity %4 - - - : Channel start: %1, %2 Channels - - - - - Slave/Jack - - - - - Master/SBUS Module - - - - - Master/CPPM Module - - - - - Master/SBUS in battery compartment - - - - - Master/Jack - - - - - Exponential - Expo - - - Count Up - Laske ylös - - - Count Down - Laske alas - - - %1:%2, - %1 %2, - - - : %1 Channels, %2usec Delay - :%1 Kanaville, %2 käyt viive - - - Flight modes(%1) - Lentotilat(%1) - - - Flight mode(%1) - Lentotila(%1) - - - - Rudder - Sivuperäsin - - - - Elevator - Korkeusperäsin - - - - Throttle - Kaasu - - - - Aileron - Siivekkeet - - - Simulator for this firmware is not yet available Tämän firmwaren simulointi ei ole vielä mahdollista @@ -11614,67 +8289,55 @@ eepromin koko on 4096, mutta vain ensimmäiset 2048 on käytössä %1s - + Value Arvo - + Source Lähde - + GVAR Gvarit - + Increment Säätö - + Flight - + Rotary Encoder Rotary encoderi - + Trim disabled Trimmi pois - + Own Trim Oma trimmi - + Use Trim from Flight mode %1 Käytä trimmiä lentotilaan %1 - + Use Trim from Flight mode %1 + Own Trim as an offset Käytä trimmiä lentotilaan %1 + Oma trimmi asetuksena - - 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. - Kiitos kaikille lahjoituksista, kivoista viesteistä, rakentavista kommenteista ja ehdotuksista. Pyritään saamaan niitä seuraavaan OpenTX/Companion verisoon. - -Arvostamme niitä ! - -OpenTX/Compantion tiimi. - Simultaneous usage of expo and curves is no longer supported in OpenTX @@ -11690,25 +8353,21 @@ The OpenTX Team. OpenTX Tiimi. - - Positive - Positiivinen - - - - Negative - Negatiivinen - - - + + + - Synchronization error - + + No SD directory configured! + + + + No Radio connected! @@ -11718,33 +8377,33 @@ OpenTX Tiimi. GV - + -%1 + - The directory '%1' doesn't exist! - + Create '%1' failed - + Copy '%1' to '%2' failed - + Open '%1' failed - + Write '%1' failed @@ -11800,10 +8459,6 @@ OpenTX Tiimi. <html><head/><body><p>No Radio was found!</p><p>Make sure that you hold the lower trim buttons towards the center while you turn it on.</p><p>Then connect the USB wire.</p><p><span style=" font-family:'arial,sans-serif'; font-size:13px; font-style:italic; color:#222222; background-color:#ffffff;">Note: if you have a Taranis that has not had the firmware upgraded to 2.0 then this version of Companion will not work.</span></p></body></html> - - <html><head/><body><p>No Radio was found!</p><p>Make sure that you hold the lower trim buttons towards the center while you turn it on.</p><p>Then connect the USB wire.</p></body></html> - <html><head/><body><p>Lähetintä ei löydy!</p><p>Muista pitää molemmat ala trimmi napit keskustaa kohden kun käynnistät lähettimen.</p><p>Liitä sitten USB johto lähettimeen.</p></body></html> - OK @@ -11829,17 +8484,17 @@ OpenTX Tiimi. RudderPage - + No Ei - + Yes Kyllä - + <br>Rudder Channel: <br>Peräsin kanava: @@ -11847,101 +8502,77 @@ OpenTX Tiimi. 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 - + Timer 3 Ajastin 3 - + 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. @@ -11951,94 +8582,103 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, - + Reverse Throttle Käänteinen kaasu - + Throttle Trim Idle Only Kaasun trimmi vain tyhjäkäinnille - + Timer 2 Ajastin 2 - + Timer 1 Ajastin 1 - Timer Source - Ajastimen lähde - - - + Never - + On change - + Always - + Global Functions - + Trim Step Trimmin pykälä - + Trims Display - + Warnings Varoituksia - + + Top LCD Timer + + + + Pot Warnings Potikka varoitus - + OFF Pois - + Manual Käsin - + Auto Autom - + Model Malli + + SetupPanel + + + Timer %1 + + + SimpleTailPage - + Elevator Channel: Korkeusper kanava: @@ -12085,22 +8725,6 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Companion Simulator Companion simulaattori - - THR - KAA - - - RUD - PER - - - ELE - KOR - - - AIL - SII - @@ -12135,10 +8759,6 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Gvars Gvarit - - TextLabel - Simulaattori - @@ -12147,47 +8767,11 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Right Double Click to Reset Tuplaklikkaa oikea -> resetoi - - TRN - TRN - - - GEA - REN - - - ID0 - ID0 - - - ID1 - ID1 - - - ID2 - ID2 - BEEP PIIP - - P1 - P1 - - - 0 % - 0 % - - - P2 - P2 - - - P3 - P3 - 9x Simulator @@ -12268,63 +8852,45 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Hold X Pidä X + + + SplashLibraryDialog - S1 - S1 + + + ... + ... - TextLabel - Simulaattori + + Splash Library - page %1 of %2 + Kuvakirjasto - sivu %1 tai %2 - SB - SB + + Warning + Varoitus - SA - SA + + Invalid image in library %1 + Väärä kuva kirjastossa %1 - SE - SE + + Information + Info - SF - SF - - - LS - LS - - - S2 - S2 - - - SD - SD - - - SC - SC - - - SG - SG - - - RS - RS - - - SH - SH + + No valid image found in library, check your settings + Yhtään kuvaa ei löydy kuva kirjastosta, tarkista asetukset StandardPage - + Channel %1 Kanava %1 @@ -12332,25 +8898,24 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, SyncProcess - + + %1/%2 files + + + + Create directory %1 - + Copy %1 to %2 - - Read %1 - - - - - + Write %1 @@ -12359,35 +8924,40 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, TailPage - + Rudder Channel: Peräsin kanava: - + Elevator Channel: Korkeusper kanava: + + + Only one channel still available!<br>You probably should configure your model without using the wizard. + + TailSelectionPage - + Elevator and Rudder Korkeusper ja peräsin - + Only Elevator Vain korkeusper - + V-tail V-Peräsin - + Tail Type: Perän tyyppi: @@ -12395,90 +8965,66 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Telemetry - Form - Telemetria - - - + A1 A1 - + A2 A2 - + RSSI RSSI - + Alarm 1 Varoitus 1 - A4 - A4 - - - A3 - A3 - - - - + + ---- ---- - - + + Yellow Kelt - - + + Orange Orans - - + + Red Puna - + Alarm 2 Varoitus 2 - CELS - CELS - - - + Serial Protocol Sarja protokolla - + Volt source Voltti lähde - Metric - Metrit - - - Imperial - Imperiaali - - - + Current source Virran lähde @@ -12488,178 +9034,118 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, 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 - + Center Silent - + 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 - - - + Altimetry Korkeusmittaus - + Altitude source - + Volts source - + Top Bar - + mAh mAh - + A A - + Various Useat - + Sensors - + Disable multi sensor handling - + mAh count mAh laskuri - + FAS Offset FAS asetus - + Persistent mAh Yhtm. mAh TelemetryAnalog - - Form - Telemetria - Unit @@ -12721,10 +9207,6 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Offset Tasoitus - - Min Value - Pienin arvo - Volts (V) @@ -12771,53 +9253,35 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, mAmp (mA) - - Low Alarm - Ala hälytys - - - - Critical Alarm - Kriittinen hälytys - - - + Range Matka TelemetryCustomScreen - - Form - Telemetria oma ruutu - Custom Screen Type Oman ruudun tyyppi - Nums - Numerot - - - + None Ei mitään - + Numbers - + Bars Palkit - + Script @@ -12845,103 +9309,99 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, TelemetryPanel - + FrSky S.PORT FrSky S.PORT - + FrSky D FrSky D - + FrSky D (cable) FrSky D (kaapeli) - + Telemetry screen %1 Telemetria ruutu %1 - + Low Alarm Ala hälytys - + Critical Alarm Kriittinen hälytys - + Winged Shadow How High erikoistoiminto korkea - + Winged Shadow How High (not supported) erikoistoiminto korkea (ei tuettu) - + Alti Kork - + Alti+ Kork+ - + VSpeed Vnopeus - - - + + + A1 A1 - - - + + + A2 A2 - dTE - dTE - - - - + + A3 A3 - - + + A4 A4 - - + + FAS FAS - + Cells Kennoja - + --- --- @@ -13047,7 +9507,107 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, - Amps Sensor : + Sensor : + + + + + V + V + + + + A + A + + + + mA + + + + + kt + + + + + m/s + m/s + + + + ft/s + + + + + km/h + km/h + + + + mph + mph + + + + m + metri + + + + ft + jalka + + + + °C + °C + + + + °F + + + + + % + % + + + + mAh + mAh + + + + W + W + + + + dBm + + + + + g + g + + + + ° + ° + + + + mL + + + + + US fl.Oz. @@ -13055,111 +9615,11 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Raw (-) Raaka ( - ) - - - Voltage (V) - - - - - Current (A) - - - - - Current (mA) - - - - - Speed (kts) - - - - - Speed (m/s) - - - - - Speed (ft/s) - - - - - Speed (km/h) - - - - - Speed (miles/h) - - - - - Meters (m) - - - - - Feet (ft) - - - - - Temp (°C) - - - - - Temp (°F) - - - - - Percentage (%) - - - - - Energy (mAh) - - - - - Power (W) - - - - - RF Power (dBm) - - RPM - - - Acceleration (g) - - - - - Heading (°) - - - - - Volume (mL) - - - - - Volume (US fl.Oz.) - - Precision @@ -13170,10 +9630,6 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Ratio - - Range - Matka - Blades @@ -13218,22 +9674,22 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, TelemetrySensorPanel - + Lowest - + Cell %1 - + Highest - + Delta @@ -13446,7 +9902,17 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, - + + Instance + + + + + 2 + 2 + + + <html><head/><body><p>Start with <span style=" font-style:italic;">0x</span> for hex, <span style=" font-style:italic;">0</span> for octal, otherwise decimal.<br/>Numeric entry only. Blank values are not sent.</p></body></html> @@ -13454,31 +9920,23 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, ThrottlePage - + Yes Kyllä - + No Ei - + <br>Throttle Channel: <br>Kaasu kanava: Timer - - Form - Ajastin - - - mm:ss - mm:ss - Countdown @@ -13489,59 +9947,44 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Minute Call Minuutti merkki - - MinuteBeep - Minutti piippaus - - - Persistent - Yhtämittainen - - - (00:00:00) - (00:00:00) - TimerPanel - None - Ei mitään - - - + Silent Äänetön - + Beeps Piipit - + Voice Ääni - + + Haptic + Toista värinä + + + Not persistent Ei yhtämittainen - + Persistent (flight) Jatkuva (lento) - + Persistent (manual reset) Jatkuva (manuaalinen nollaus) - - Countdown - Laskuri - Trainer @@ -13677,12 +10120,12 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, VTailPage - + First Tail Channel: 1. V-per kanava: - + Second Tail Channel: 2. V-per kanava: @@ -13690,12 +10133,12 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, WingtypeSelectionPage - + Standard Wing Normaali siipi - + Flying Wing / Deltawing Lentävä siipi / Delta siipi @@ -13772,10 +10215,6 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Flying-wing / Delta-wing Lentäväsiipi / Deltasiipi - - Are the elevons controlled by servos connected to separate channels or by a single servo channel? - Onko mallissa korkkarin servot erikanavilla ? Vai yhdellä kanavalla ? - Select the elevons channels @@ -13920,18 +10359,6 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Models use two channels to control the elevons.<br>Select these two channels Malli käyttää kahta kanavaa elevonien käyttämiseen. <br>Valitse nämä kaksi kanavaa - - Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single a receiver channel to two separate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. - Mallit käyttää korkkariin jokp yhtä tai kahta kanavaa.<br>Niin kutsuttu Y-kaapeli yhdistää korkkarin servot yhteen kanavaan. Jos yhdistät käyttäen Y-kaapelia valitse yhden servon valinta. - - - Most aircraft have a main wing and a tail with control surfaces. Flying wings and delta winged aircraft only have a single wing. The main control surface on a standard wing controlls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and elevation. This surface is called an elevon. - Yleisesti lentokoneissa on siipi ja peräsimet, joissa on ohjainpinnat. Lentäväsiipi ja deltasiipi koneissa on yksi siipi. Siiven ohjainpintoja kutsutaan siivekkeiksi jolla konetta kallistetaan.<br>Lentävänsiiven ja deltasiiven ohjaus tapahtuu siivenohjainpinnalla jolla kone kallistuu sekä nousee tai laskee. - - - Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 - Mallit käyttää siivekkeisiin joko yhtä tai kahta kanavaa.<br> Niin kutsuttu Y-kaapeli yhdistää molemmat siiveke servot yhteen kanavaan. Jos yhdistät käyttäen Y-kaapelia niin valitse yhden servon valinta.<br><br>Siiveke -Spektrum: CH2, Futaba: CH:1 - This wizard assumes that your flaps are controlled by a switch. If your flaps are controlled by a potentiometer you can change that manually later. @@ -13942,10 +10369,6 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, Air brakes are used to reduce the speed of advanced sail planes.<br>They are very uncommon on other types of planes. Lentojarruja käytetään vähentämään lentonopeutta isommissa liidokeissa/ Purjekoneissa.<br> Ne ovat aika harvinaisia muun tyyppisissä koneissa. - - Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single receiver channel to two separeate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. - Mallit käyttää korkkariin jokp yhtä tai kahta kanavaa.<br>Niin kutsuttu Y-kaapeli yhdistää korkkarin servot yhteen kanavaan. Jos yhdistät käyttäen Y-kaapelia valitse yhden servon valinta. - Select the receiver channel that is connected to your rudder.<br><br>Rudder - Spektrum: CH4, Futaba: CH4 @@ -13997,616 +10420,41 @@ Jos tämä valittuna, kaasu toimii käänteisesti. Tyhjäkäynti on ylhäällä, WizardPrinter - + Plane Lentokone - + Multicopter Multikopteri - + Helicopter Helikopteri - + Model Name: Mallin nimi: - + Model Type: Mallin tyyppi: - + Options: Valinnat: - + Channel %1: Kanava %1: - - appPreferencesDialog - - Edit Settings - Muuta asetuksia - - - Radio Profile - Radio profiili - - - Profile Name - Profiilin nimi - - - Radio Type - Radio tyyppi - - - 9X - 9X - - - 9X with m128 - 9X m128 sirulla - - - 9XR - 9XR - - - 9XR with m128 - 9XR m128 sirulla - - - Gruvin9x Board - Gruvin9x - - - Sky9x Board - Sky9x - - - Taranis - Taranis - - - General Settings - Yleiset asetukset - - - General Settings Label - Yleiset asetukset - - - Application Settings - Ohjelman asetukset - - - Only show user splash images - Näytä vain käyttäjän oma alkuruutu kuvat - - - Show user and companion splash images - Näytä käyttäjän ja Companionin alkuruutu kuvat - - - Automatic Backup Folder - Automaattisen varmuuskopion kansio - - - User Splash Screens - Käyttäjän oma alkuruudut - - - Include companion splashes - Sisällytä Companionin alkuruudut - - - Only user defined splashes - Vain käyttäjän määrittelemät alkuruudut - - - Google Earth Executable - Google Earth tiedosto - - - Automatic check for OpenTX firmware updates - Tutki automaattisesti OpenTX firmware päivitykset - - - Open Folder - Avaa kansio - - - Find Executable - Avaa tiedosto - - - Files to keep - Tiedostoja - - - Splash Screen Library - Alkuruutu kirjasto - - - Enable automatic backup before writing firmware - Laita automaatiinen varmuuskopionti päälle ennen firmwaren kirjoitusta - - - Automatic check for Companion updates - Tutki automaattisesti Companionin päivitykset - - - Offer to use wizard for new models - Tarjoa avustajaa uuden mallin luomiseen - - - Show splash screen when Companion starts - Näytä alkuruutu kun Companion käynnistetään - - - Use model wizard when creating a new model - Käytä malli avustajaa kun luodaan uusi malli - - - Simulator Settings - Simulaattorin asetukset - - - Simulator BackLight - Simulaattorin taustavalo - - - Enable - Päälle - - - Blue - Sininen - - - Green - Vihreä - - - Red - Punainen - - - Orange - Oranssi - - - Yellow - Keltainen - - - Joystick - Joystick - - - Only capture to clipboard - Kaappaa leikepöydälle - - - Calibrate - Kalibroi - - - Remember simulator switch values - Muista simulaattorin kytkimien asennot - - - Simulator capture folder - Simulaattorin tiedostojen kansio - - - Radio Settings - Radion asetukset - - - 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 - - - Tilan valinta: - -Tila 1: - Vas tikku: Korkeusp, Sivup - Oik tikku: Kaasu, Siivekkeet - -Tila 2: - - Vas tikku: Kaasu, Sivup - Oik tikku: Korkeusp, Siivekkeet - -Tila 3: - - Vas tikku: Korkeusp, Siivekkeet - Oik tikku: Kaasu, Sivup - -Tila 4: - - Vas tikku: Kaasu, Siivekkeet - Oik tikku: Korkeusp, Sivup - - - - - Mode 1 (RUD ELE THR AIL) - Mode 1 (PER KOR KAA SII) - - - Mode 2 (RUD THR ELE AIL) - Mode 2 (PER KAA KOR SII) - - - Mode 3 (AIL ELE THR RUD) - Mode 3 (SII KOR KAA PER) - - - Mode 4 (AIL THR ELE RUD) - Mode 4 (SII KAA KOR PER) - - - Channel order - -This is used by the templated to determine which channel goes to what number output. - Kanavien järjestys - -Tätä käytetään pohjana kanava määrityksille, mikä kanava menee mihinkä lähtöön. - - - R E T A - P Ko Ka S - - - R E A T - P Ko S Ka - - - R T E A - P Ka Ko S - - - R T A E - P Ka S Ko - - - R A E T - P S Ko Ka - - - R A T E - P S Ka Ko - - - E R T A - Ko P Ka S - - - E R A T - Ko P S Ka - - - E T R A - Ko Ka P S - - - E T A R - Ko Ka S P - - - E A R T - Ko S P Ka - - - E A T R - Ko S Ka P - - - T R E A - Ka P Ko S - - - T R A E - Ka P S Ko - - - T E R A - Ka Ko P S - - - T E A R - Ka Ko S P - - - T A R E - Ka S P Ko - - - T A E R - Ka S Ko P - - - A R E T - S P Ko Ka - - - A R T E - S P Ka Ko - - - A E R T - S Ko P Ka - - - A E T R - S Ko Ka P - - - A T R E - S Ka P Ko - - - A T E R - S Ka Ko P - - - Default Stick Mode - Perus tikkujen tila - - - Settings Profile - Asetus profiili - - - Splash Screen - Alkuruutu - - - Channel Order - Kanavien järjestys - - - Append version number to FW file name - Liitä version numero FW tiedoston nimeen - - - SD Structure path - SD muistikortin kansio - - - Offer to write FW to Tx after download - Tarjoa että FW ladataan lähettimeen kun se on ladattu - - - Remove Profile - Poista profiili - - - Firmware - Firmware - - - Select Image - Valitse kuva - - - Clear Image - Tyhjennä kuva - - - My Radio - Minun radio - - - Select your snapshot folder - Valitse kansioi kuville - - - No joysticks found - Joystickia ei löydy - - - EMPTY: No radio settings stored in profile - TYHJÄ: Ei radion asetuksia tallennettu profiiliin - - - AVAILABLE: Radio settings of unknown age - TARJOLLA: Radion asetukset, voi olla vanhoja - - - AVAILABLE: Radio settings stored %1 - TARJOLLA: Radion asetukset %1 - - - Select your library folder - Valitse kansio kirjastolle - - - Select your Models and Settings backup folder - Valitse kansio mallien ja asetusten varmuuskopioille - - - Select Google Earth executable - Valitse Google Earth tiedosto - - - Select the folder replicating your SD structure - Valitse kansio mihin "monistetaan" SD muistikortin kansio - - - Not possible to remove profile - Profiilia ei voida poistaa - - - The default profile can not be removed. - Nykyistä profiilia ei voida poistaa. - - - Open Image to load - Avaa kuva latausta varten - - - Images (%1) - Kuvia (%1) - - - - avrOutputDialog - - Dialog - Ulostulot - - - Show Details - Näytä detailit - - - result - Tulokset - - - executable not found - Toimiva tiedosto puuttuu - - - Error - Virhe - - - Cannot open source file - Ei voi avata lähde tiedostoa - - - Cannot write destination - Ei voi kirjoittaa kohteeseen - - - Writing file: - Kirjoitetaan tiedostoa: - - - Write error - Kirjoitus virhe - - - ie: OpenTX for 9X board or OpenTX for 9XR board - ie: OpenTX 9X tai OpenTX 9XR - - - ie: OpenTX for M128 / 9X board or OpenTX for 9XR board with M128 chip - ie: OpenTX M128 / 9X tai OpenTX 9XR M128 sirulla - - - ie: OpenTX for Gruvin9X board - ie: OpenTX Gruvin9X - - - Your radio uses a %1 CPU!!! - -Please check advanced burn options to set the correct cpu type. - Lähetin käyttää %1 CPU !!! - -Tarkasta asetuksista CPU:n oikea tyyppi. - - - Your radio uses a %1 CPU!!! - -Please select an appropriate firmware type to program it. - Lähetin käyttää %1 CPU !!! - -Valitse oikea firmware jonka ohjelmoit. - - - -You are currently using: - %1 - -Käytät nyt: -%1 - - - Writing - Kirjoitetaan - - - Reading - Luetaan - - - Verifying - Varmistetaan - - - done - exit code %1 - Valmis - virhe %1 - - - done with errors - Valmis mutta virheitä - - - done - SUCCESSFUL - Valmis- ONNISTUI - - - did not finish correctly - Ei mennyt läpi oikein - - - did not finish correctly! -Do you want some help ? - Ei mennyt läpi oikein! -Tarvitko kenties apua ? - - - Copy did not finish correctly - Kopio ei mennyt läpi oikein - - - finished correctly - Meni läpi oikein - - - Copy finished correctly - Kopio meni läpi oikein - - - Started - Aloitettu - - - FUSES: Low=%1 High=%2 Ext=%3 - SULAKKEET: Ala=%1 Kork=%2 Lis=%3 - - burnConfigDialog @@ -14813,649 +10661,12 @@ m2560 joka on v4.1 lähettimessä 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>VAROITUS!</u></b><br>Tämä nollaa sulakkeet %1 tehdas asetuksille.<br>Sulakkeiden kirjoittaminen voi sekoittaa lähettimeno.<br>Muuta vain jos tiedät että nykyiset on väärin!<br>Haluatko varmasti jatkaa ? - <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. <b><u>VAROITUS!</u></b><br>CPU Tyyppi valitaan yleensä valitun firmwaren mukaan.<br>Jos vaihdat CPU Tyyppiä eeprom ei välttämättä toimi oikein. - - burnDialog - - Customize Splash - Alkuruutu editori - - - Cancel - Peruuta - - - Write to TX - Kirjoita lähettimeen - - - <html><head/><body><p>Modify calibration parameters using settings from current profile</p></body></html> - <html><head/><body><p>Muuta kalibraation parametrit käyttäen nykyisen profiilin parametreja</p></body></html> - - - Patch calibration setting from profile - Korjaa kalibraatio asetukset profiilista - - - <html><head/><body><p>Modify HW parameters using settings from current profile</p></body></html> - <html><head/><body><p>Muuta HW parametrit käyttäen nykyisen profiilin parametreja</p></body></html> - - - Patch HW setting from profile - Korjaa HW asetukset profiilista - - - Date & Time - Päivä & Aika - - - Use firmware start screen - Käytä firmwaren aloitus ruutua - - - Use another start screen - Käytä muuta aloitus ruutua - - - Use profile start screen - Käytä profiilin aloitus ruutua - - - Use library start screen - Käytä kirjaston aloitus ruutua - - - SVN - SVN - - - Variant - Muunnos - - - Version - Versio - - - Browse for file - Selaa tiedostoa - - - Allows Companion to write to older version of the firmware - Anna Companionin kirjoittaa myös vanhaan firmwareen - - - Check Firmware compatibility - Tarkista firmwaren yhteensopivuus - - - Backup and restore Models and Settings - Varmuuskopioi ja palauta mallit ja asetukset - - - Current Profile - Nykyinen profiili - - - Invert Color - Käänteiset värit - - - Use image in settings - Käytä kuvaa myös asetuksissa - - - Substitute image in firmware - Korvaa firmwaren omakuva - - - Load Image - Lataa kuva - - - Open Splash Library - Avaa kuvakirjasto - - - ... - ... - - - Write firmware to TX - Kirjoita firmware lähettimeen - - - Write Models and Settings to TX - Kirjoita mallit ja asetukset lähettimeen - - - Write Models and Settings in %1 to TX - Kirjoita mallit ja asetukset: %1 lähettimeen - - - Current profile - Nykyinen profiili - - - Open - Avaa - - - Choose file to load Models and Settings from - Valitse tiedosto josta ladataan mallit ja asetukset - - - Warning - Varoitus - - - %1 is not a known firmware - %1 ei ole tunnettu firmware - - - Burn anyway ! - Lataa se kuitenkin ! - - - Error - Virhe - - - Unable to find file %1! - Ei löydy tiedostoa %1! - - - Error opening file %1: -%2. - Virhe avattaessa tiedostoa %1: -%2. - - - Invalid binary Models and Settings File %1, Proceed anyway ? - Huonoja merkkejä mallit ja asetus tiedostossa %1, Jatketaanko silti ? - - - Error reading file %1: -%2. - Virhe luettaessa tiedostoa %1: -%2. - - - Open Image to load - Avaa kuva latausta varten - - - Images (%1) - Kuvia (%1) - - - Cannot load %1. - Ei voi ladata %1. - - - Write firmware to Radio - Kirjoita firmware lähettimeen - - - Write Backup to Radio - Kirjoita varmuuskiop lähettimeen - - - Write Backup from %1 to Radio - Kirjoita varmuuskopio tiedosto %1 lähettimeen - - - Open Firmware File - Avaa firmware tiedosto - - - Choose Radio Backup file - Valitse Lähettimen varmuuskopio tiedosto - - - %1 may not be a valid firmware file - %1 ei ehkä ole oikea firmware tiedosto - - - The firmware file is not valid. - Tämä ei ole oikea firmware tiedosto. - - - There is no start screen image in the firmware file. - Tälle firmwarelle ei ole alku ruutu kuvaa. - - - The profile image %1 does not contain an image. - Profiilin kuva %1 ei sisällä kuva tiedostoa. - - - Profile image %1 is invalid. - Profiilin kuva %1 on väärä. - - - Open image file to use as radio start screen - Avaa kuva ja käytä sitä alku ruutu kuvana - - - Image could not be loaded from %1 - Kuvaa ei voi ladata %1 - - - The library image could not be loaded - Kuvaa ei voi ladata - - - Cannot save customized firmware - Muutettua firmwarea ei voi tallentaa - - - Custom image not found - Tehtyä kuvaa ei löydy - - - No firmware selected - Ei valittua firmwarea - - - Wrong radio calibration data in profile, Settings not patched - Väärä radion kalibraatio data profiilissa, asetuksia ei ole korjattu - - - Wrong radio setting data in profile, Settings not patched - Väärä radion asetus data profiilissa, asetuksia ei ole korjattu - - - Cannot write file %1: -%2. - Ei voi kirjoittaa tiedostoa %1: -%2. - - - Error writing file %1: -%2. - Virhe kirjottaessa tiedostoa %1: -%2. - - - - compareDialog - - Dialog - Vertaa - - - Compare Models - Vertaa malleja - - - Drag first model here - Vedä 1. malli tähän - - - Drag second model here - Vedä 2. malli tähän - - - Close - Sulje - - - Print - Tulosta - - - Print to file - Tulosta tiedostoon - - - No name - Ei nimeä - - - General Model Settings - Yleiset mallin asetukset - - - Name - Nimi - - - EEprom Size - EEpromin koko - - - Timer1 - Ajastin 1 - - - Timer2 - Ajastin 2 - - - Protocol - Protokolla - - - Pulse Polarity - Pulssin napaisuus - - - Throttle Trim - Kaasu trimmi - - - Enabled - Päälle - - - Disabled - Pois - - - Throttle Expo - Kaasu expo - - - Trim Increment - Trimmi lisäys - - - Center Beep - Keski piippaus - - - Flight modes Settings - Lentotilan asetukset - - - Fades - Liut - - - Trims - Trimmit - - - Switch - Kytkin - - - Flight mode name - Lentotilan nimi - - - IN - SIS - - - OUT - ULO - - - FM - FM - - - Gvars - Gvarit - - - Rot. Enc. - Rot.Enc. - - - Limits - Rajat - - - Offset - Tasoitus - - - Min - Min - - - Max - Max - - - Invert - Käänteinen - - - CH - ch - - - INV - KÄÄNT - - - NOR - NOR - - - Global Variables - Globaalit muuttujat - - - GV - GV - - - Expo/Dr Settings - Expo / DR asetukset - - - Weight - Paino - - - Flight modes - Lento tilat - - - Flight mode - Lento tila - - - DISABLED - Pois - - - Mixers - Mikserit - - - noTrim - Ei trimmiä - - - Delay(u%1:d%2) - Viive(u%1:d%2) - - - Slow(u%1:d%2) - Hidastus(u%1:d%2) - - - Warn - Välys - - - Curves - Käyrät - - - 5 Points Curves - 5 Pisteen käyrät - - - pt %1 - pt %1 - - - Curve - Käyrä - - - 9 Points Curves - 9 Pisteen käyrät - - - Logical Switches - Loogiset kytkimet - - - LS - LS - - - Special Functions - Spesiaali toiminnot - - - SF - SF - - - Switch Assignment - Kytkimien asettelu - - - Function - Toiminto - - - Param - Parametrit - - - Repeat - Toista - - - Enable - Päälle - - - CF - CF - - - Telemetry Settings - Telemetria asetukset - - - Analog - Analoginen - - - Unit - Yksikkö - - - Scale - Skaala - - - A%1 - A%1 - - - Alarm 1 - Varoitus 1 - - - Alarm 2 - Varoitus 2 - - - Type - Tyyppi - - - Condition - Tila - - - Value - Arvo - - - RSSI Alarm - RSSI hälytys - - - Custom Telemetry View - Oma telemetria näkymä - - - Telemetry Bars - Telemetria palkein - - - Bar Number - Palkkien määrä - - - Source - Lähde - - - Print Document - Tulosta dokumentti - - - Select PDF output file - Valitse PDF tiedosto - - - - 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 @@ -15507,10 +10718,6 @@ m2560 joka on v4.1 lähettimessä Save Tallenna - - Open - Avaa - @@ -15519,10 +10726,6 @@ m2560 joka on v4.1 lähettimessä Error Virhe - - Cannot load embedded FW image from %1. - Ei voi ladata liitettyä FW kuvaa %1. - Open Firmware File @@ -15548,10 +10751,6 @@ m2560 joka on v4.1 lähettimessä Cannot load the image file %1. Ei voi ladata kuvaa tiedostosta %1. - - Cannot load the profile image %1. - Ei voi ladata profiilikuvaa %1. - Cannot load profile image %1. @@ -15616,204 +10815,6 @@ m2560 joka on v4.1 lähettimessä Lataus epäonnistui %1. - - fusesDialog - - Fuses - Sulakkeet - - - <!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:'Sans Serif'; font-size:9pt; 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-family:'MS Shell Dlg 2'; font-size:8pt;">Reads the current fuses in the AVR controller.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">Proper states for </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">AtMega 64 </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">:</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-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse not set: 0E, 81, FF</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-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse set: 0E, 89, FF</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">Proper states for AtMega 2560 :</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-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse not set: D7, 11, FC</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-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse set: D7, 19, FC</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:'Sans Serif'; font-size:9pt; 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-family:'MS Shell Dlg 2'; font-size:8pt;">Reads the current fuses in the AVR controller.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">Proper states for </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">AtMega 64 </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">:</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-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse not set: 0E, 81, FF</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-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse set: 0E, 89, FF</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">Proper states for AtMega 2560 :</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-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse not set: D7, 11, FC</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-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse set: D7, 19, FC</span></p></body></html> - - - Read Fuses - Lue sulakkeet - - - <!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:'Sans Serif'; font-size:9pt; 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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">Reset Fuses</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-family:'MS Shell Dlg 2'; font-size:8pt;">Fuses in the AVR tell it how to behave. Pressing this button sets the fuses to the default parameters needed in the FW. These parameters are different for stock and 4.1 MB, please verify you selected the appropriate processor type in preferences.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">This button also sets the &quot;EEPROM protect&quot; Fuse.</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-family:'MS Shell Dlg 2'; font-size:8pt;">This prevents erasing of the EEPROM when the flash memory is written.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">WARNING</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-family:'MS Shell Dlg 2'; font-size:8pt;">Setting fuses can lead to problems and even a total lockout from your controller. Do this only if you know what you are doing.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">When in doubt consult either the project's page or the 9xforum (http://9xforums.com/forum/)</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-family:'MS Shell Dlg 2'; font-size:8pt;">If you do get locked out - google lookup for &quot;dealing with Fuse Bricks&quot;.</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:'Sans Serif'; font-size:9pt; 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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">Reset Fuses</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-family:'MS Shell Dlg 2'; font-size:8pt;">Fuses in the AVR tell it how to behave. Pressing this button sets the fuses to the default parameters needed in the FW. These parameters are different for stock and 4.1 MB, please verify you selected the appropriate processor type in preferences.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">This button also sets the &quot;EEPROM protect&quot; Fuse.</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-family:'MS Shell Dlg 2'; font-size:8pt;">This prevents erasing of the EEPROM when the flash memory is written.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">WARNING</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-family:'MS Shell Dlg 2'; font-size:8pt;">Setting fuses can lead to problems and even a total lockout from your controller. Do this only if you know what you are doing.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">When in doubt consult either the project's page or the 9xforum (http://9xforums.com/forum/)</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-family:'MS Shell Dlg 2'; font-size:8pt;">If you do get locked out - google lookup for &quot;dealing with Fuse Bricks&quot;.</span></p></body></html> - - - Reset Fuses -EEPROM - PROTECT - Nollaa sulakkeet -EEPROM - SUOJATTU - - - <!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:'Sans Serif'; font-size:9pt; 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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">Reset Fuses</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-family:'MS Shell Dlg 2'; font-size:8pt;">Fuses in the AVR tell it how to behave. Pressing this button sets the fuses to the default parameters needed in the </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">FW. These parameters are different for stock and 4.1 MB, please verify you selected the appropriate processor type in preferences.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">This button also clears the &quot;EEPROM protect&quot; Fuse.</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-family:'MS Shell Dlg 2'; font-size:8pt;">This causes erasing of the EEPROM when the flash memory is written.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">WARNING</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-family:'MS Shell Dlg 2'; font-size:8pt;">Setting fuses can lead to problems and even a total lockout from your controller. Do this only if you know what you are doing.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">When in doubt consult either the project's page or the 9xforum (http://9xforums.com/forum/)</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-family:'MS Shell Dlg 2'; font-size:8pt;">If you do get locked out - google lookup for &quot;dealing with Fuse Bricks&quot;.</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:'Sans Serif'; font-size:9pt; 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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">Reset Fuses</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-family:'MS Shell Dlg 2'; font-size:8pt;">Fuses in the AVR tell it how to behave. Pressing this button sets the fuses to the default parameters needed in the </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">FW. These parameters are different for stock and 4.1 MB, please verify you selected the appropriate processor type in preferences.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">This button also clears the &quot;EEPROM protect&quot; Fuse.</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-family:'MS Shell Dlg 2'; font-size:8pt;">This causes erasing of the EEPROM when the flash memory is written.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">WARNING</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-family:'MS Shell Dlg 2'; font-size:8pt;">Setting fuses can lead to problems and even a total lockout from your controller. Do this only if you know what you are doing.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">When in doubt consult either the project's page or the 9xforum (http://9xforums.com/forum/)</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-family:'MS Shell Dlg 2'; font-size:8pt;">If you do get locked out - google lookup for &quot;dealing with Fuse Bricks&quot;.</span></p></body></html> - - - Reset Fuses -EEPROM - DELETE - Nollaa sulakkeet -EEPRON - POISTO - - - <!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:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p align="center" 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;">WARNING</span></p> -<p align="center" 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 align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Changing the fuses can mess up your radio.</p> -<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Proceed only if you know what you are doing.</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:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p align="center" 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;">WARNING</span></p> -<p align="center" 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 align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Changing the fuses can mess up your radio.</p> -<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Proceed only if you know what you are doing.</p></body></html> - - - - fwPreferencesDialog - - Downloads - Ladatut - - - CheckBox - Valintaruutu - - - Menu Language - Valikon kieli - - - Firmware Type - Firmware tyyppi - - - Check for updates - Tarkista päivitykset - - - Voice Language - Äänen kieli - - - Set language of voice. -May be different from firmware language - Aseta äänen kieli. -Voi olla eri kun firmwaren kieli - - - Download Voice - Lataa äänet - - - Download FW - Lataa FW - - - Options - Valinnat - - - Processor ID - Prossu ID - - - FwInfo - FwInfo - - - Last downloaded release: %1 - Viimeksi ladattu julkaisu: %1 - - - The selected firmware has never been downloaded by Companion. - Valittua firwarea ei ole koskaan ladattu Companionin kautta. - - - The selected firmware cannot be downloaded by Companion. - Valittua firmwarea ei voida ladata Companionin kautta. - - joystickDialog @@ -16040,75 +11041,6 @@ Paina "peruuta" niin joystickin kalibrointi perutetaan Duplicated stick assignment - - Duplicated stick assignement - Kopio tikkujen asettelut - - - - logsDialog - - Companion Log Viewer - Companion logit - - - Filename - Tiedoston nimi - - - Open LogFile - Avaa logi - - - Zoom - Zuumaa - - - X - X - - - Y - Y - - - Reset - Resetti - - - Fly sessions - Lento jakso - - - Telemetry logs - Telemetria logit - - - Time (hh:mm:ss) - Aika - - - Error - Virhe - - - Cannot write file %1: -%2. - Ei voi kirjoittaa tiedostoon %1 -%2. - - - Select your log file - Valitse logi tiedosto - - - Available fields - Valittavana olevat kentät - - - The selected logfile contains %1 invalid lines out of %2 total lines - Valittu logi sisältää: %1 virhe riviä, kokomäärästä %2 riviä - mdiChild @@ -16232,1292 +11164,5 @@ Paina "peruuta" niin joystickin kalibrointi perutetaan Invert Pixels Käännä pixelit - - 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 - - - Tilan valinta: - -Tila 1: - Vas tikku: Korkeusp, Sivup - Oik tikku: Kaasu, Siivekkeet - -Tila 2: - - Vas tikku: Kaasu, Sivup - Oik tikku: Korkeusp, Siivekkeet - -Tila 3: - - Vas tikku: Korkeusp, Siivekkeet - Oik tikku: Kaasu, Sivup - -Tila 4: - - Vas tikku: Kaasu, Siivekkeet - Oik tikku: Korkeusp, Sivup - - - - - Mode 1 (RUD ELE THR AIL) - Mode 1 (PER KOR KAA SII) - - - Mode 2 (RUD THR ELE AIL) - Mode 2 (PER KAA KOR SII) - - - Mode 3 (AIL ELE THR RUD) - Mode 3 (SII KOR KAA PER) - - - Mode 4 (AIL THR ELE RUD) - Mode 4 (SII KAA KOR PER) - - - auto backup before write - Autom. varmuuskopio ennen kirjoitusta - - - Automatic Backup Folder - Automaattisen varmuuskopion kansio - - - Show Splash At Start - Näytä alkuruutu käynnistyksessä - - - Ask use of wizard for new models - Kysy käytetäänkö avustajaa uusiin malleihin - - - Remember switches in simulator - Muista simulaattorin kytkimien asennot - - - Channel order - -This is used by the templated to determine which channel goes to what number output. - Kanavien järjestys - -Tätä käytetään pohjana kanava määrityksille, mikä kanava menee mihinkä lähtöön. - - - R E T A - P Ko Ka S - - - R E A T - P Ko S Ka - - - R T E A - P Ka Ko S - - - R T A E - P Ka S Ko - - - R A E T - P S Ko Ka - - - R A T E - P S Ka Ko - - - E R T A - Ko P Ka S - - - E R A T - Ko P S Ka - - - E T R A - Ko Ka P S - - - E T A R - Ko Ka S P - - - E A R T - Ko S P Ka - - - E A T R - Ko S Ka P - - - T R E A - Ka P Ko S - - - T R A E - Ka P S Ko - - - T E R A - Ka Ko P S - - - T E A R - Ka Ko S P - - - T A R E - Ka S P Ko - - - T A E R - Ka S Ko P - - - A R E T - S P Ko Ka - - - A R T E - S P Ka Ko - - - A E R T - S Ko P Ka - - - A E T R - S Ko Ka P - - - A T R E - S Ka P Ko - - - A T E R - S Ka Ko P - - - FwInfo - FwInfo - - - Check for updates - Tarkista päivitykset - - - Ask for flashing after Download - Kysy päivitys kun on ladattu - - - Export Profile - Vie profiili - - - Save Profile - Tallenna profiili - - - Import Profile - Tuo profiili - - - Profile Name - Profiilin nimi - - - Default Stick Mode - Perus tikkujen tila - - - Default Channel Order - Kanavien järjestys - - - Profile slot - Profiilin paikka - - - Automatically add version number to the filename after download - Lisää versionumero tiedoston nimeen automaattisesti kun on ladattu - - - Voice - Ääni - - - Download - Ladattu - - - Set language of voice. -May be different from firmware language - Aseta äänen kieli. -Voi olla eri kun firmwaren kieli - - - Language - Kieli - - - Firmware - Firmware - - - SD Structure path - SD muistikortin kansio - - - Processor ID - Prossu ID - - - Recent History Size - Historian koko - - - CheckBox - Valintaruutu - - - Check for updates on startup - Tarkista päivitykset kun käynnistetään - - - Check for selected Fw updates - Tarkista valitun FW päivitykset - - - Google Earth Executable - Google Earth tiedosto - - - Find Executable - Avaa tiedosto - - - - printDialog - - Dialog - Tulosta - - - Close - Sulje - - - Print - Tulosta - - - Print to file - Tulosta tiedostoon - - - Setup for: - Asetukset: - - - printed on: %1 - Tulostettu: %1 - - - General Model Settings - Yleiset mallin asetukset - - - Name - Nimi - - - EEprom Size - EEpromin koko - - - Timer1 - Ajastin 1 - - - Timer2 - Ajastin 2 - - - Protocol - Protokolla - - - Pulse Polarity - Pulssin napaisuus - - - Throttle Trim - Kaasu trimmi - - - Enabled - Päälle - - - Disabled - Pois - - - Throttle Expo - Kaasu expo - - - Trim Increment - Trimmi lisäys - - - Center Beep - Keski piippaus - - - Flight modes Settings - Lentotilan asetukset - - - Fades - Liut - - - Trims - Trimmit - - - Gvars - Gvarit - - - Rot.Enc. - Rot.Enc. - - - Switch - Kytkin - - - Flight mode name - Lentotilan nimi - - - IN - SIS - - - OUT - ULO - - - FM - FM - - - Expo/Dr Settings - Expo / DR asetukset - - - Weight - Paino - - - Flight modes - Lento tilat - - - Flight mode - Lento tila - - - DISABLED - Pois - - - Mixers - Mikserit - - - CH - ch - - - noTrim - Ei trimmiä - - - Offset - Tasoitus - - - Delay(u%1:d%2) - Viive(u%1:d%2) - - - Slow(u%1:d%2) - Hidastus(u%1:d%2) - - - Warn - Warn - - - Limits - Rajat - - - Min - Min - - - Max - Max - - - Invert - Käänteinen - - - INV - KÄÄNT - - - NOR - NOR - - - Curves - Käyrät - - - Curve - Käyrä - - - pt %1 - pt %1 - - - Logical Switches - Loogiset kytkimet - - - LS - LS - - - Global Variables - Globaalit muuttujat - - - GV - GV - - - Special Functions - Spesiaali toiminnot - - - Blades - Prop lavat - - - Switch Assignments - Kytkimien asettelu - - - Function - Toiminto - - - Parameter - Parametrit - - - Repeat - Toista - - - Telemetry Settings - Telemetria asetukset - - - Alarm 1 - Varoitus 1 - - - Alarm 2 - Varoitus 2 - - - Analog - Analoginen - - - Unit - Yksikkö - - - Scale - Skaala - - - Type - Tyyppi - - - Condition - Kunto - - - Value - Arvo - - - A%1 - A%1 - - - RSSI Alarm - RSSI hälytys - - - Frsky serial protocol - FrSky sarja protokolla - - - System of units - Systeemin yksiköt - - - Propeller blades - Prop lavat - - - Custom Telemetry View - Oma telemetria näkymä - - - Telemetry Bars - Telemetria palkein - - - Bar Number - Palkkien määrä - - - Source - Lähde - - - Print Document - Tulosta dokumentti - - - Select PDF output file - Valitse PDF tiedosto - - - ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) - ODF tiedosto (*.odt);;PDF tiedosto (*.pdf);;HTML-tiedosto (*.htm *.html);;Kaikki tiedostot (*) - - - - 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 - - - - SplashLibraryDialog - - - - ... - ... - - - - 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 - - - - taranisNotFoundDialog - - No Taranis Radio Found - Taranis radiota ei löydy - - - <html><head/><body><p>No Taranis Radio was found!</p><p>Make sure that you hold the lower trim buttons towards the center while you turn it on.</p><p>Then connect the USB wire.</p></body></html> - <html><head/><body><p>No Taranis Radio was found!</p><p>Make sure that you hold the lower trim buttons towards the center while you turn it on.</p><p>Then connect the USB wire.</p></body></html> - - - OK - OK - - - - 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_fr.ts b/companion/src/translations/companion_fr.ts index deef09041..ac77cfd88 100644 --- a/companion/src/translations/companion_fr.ts +++ b/companion/src/translations/companion_fr.ts @@ -4,27 +4,27 @@ AileronsPage - + No Non - + Yes, controlled by a single channel Oui, contrôlés par une seule voie - + Yes, controlled by two channels Oui, contrôlés par 2 voies - + <br>First Aileron Channel: <br>Première voie d'ailerons: - + Second Aileron Channel: Deuxième voie d'ailerons: @@ -32,27 +32,27 @@ AirbrakesPage - + No Non - + Yes, controlled by a single channel Oui, contrôlés par une seule voie - + Yes, controlled by two channels Oui, contrôlés par 2 voies - + <br>First Airbrake Channel: <br>Première voie de volets: - + Second Airbrake Channel: Deuxième voie de volets: @@ -74,7 +74,7 @@ - + Open Folder Ouvrir le répertoire @@ -103,10 +103,6 @@ Select Image Sélectionner une image - - Processor ID - ID du processeur - Mode selection: @@ -330,7 +326,7 @@ Manche Droit: Profondeur, Direction Utlilser les nightly builds de Companion - + Simulator Volume Gain Gain de volume du simulateur @@ -468,62 +464,62 @@ Peut être différente de la langue du firmware Paramètres du simulateur - + Simulator BackLight Rétroéclairage du simulateur - + Enable Actif - + Blue Bleu - + Green Vert - + Red Rouge - + Orange Orange - + Yellow Jaune - + Joystick Joystick - + Calibrate Calibrer - + Simulator capture folder Dossier des captures d'écran - + Only capture to clipboard Capturer dans le presse-papiers uniquement - + Remember simulator switch values Mémoriser les positions des inters du simulateur @@ -538,87 +534,68 @@ Peut être différente de la langue du firmware Sélectionner le dossier où stocker les captures d'écran - - + + No joysticks found Aucun joystick trouvé - + EMPTY: No radio settings stored in profile VIDE: Aucune donnée stockée dans le profil - + AVAILABLE: Radio settings of unknown age DISPONIBLE: Réglages enregistrés à une date inconnue - + AVAILABLE: Radio settings stored %1 DISPONIBLE: Réglages enregistrés le %1 - + Select your library folder Sélectionner le dossier de bibliothèque - - + + Select your Models and Settings backup folder Sélectionner le dossier dans lequel une sauvegarde des réglages et modèles sera placée automatiquement lors de chaque opération - + Select Google Earth executable Sélectionner l'emplacement de l'exécutable Google Earth - + Select the folder replicating your SD structure Sélectionner un dossier contenant une copie des dossiers de la carte SD - + Not possible to remove profile Impossible de supprimer le profil - + The default profile can not be removed. Le profil par défaut ne peut être supprimé. - + Open Image to load Ouvrir l'image à charger - + Images (%1) Images (%1) - - BankPage - - One - Un - - - Two - Deux - - - <br>First Elevon Channel: - <br>Première voie d'élevons: - - - Second Elevon Channel: - Deuxième voie d'élevons: - - Calibration @@ -795,11 +772,6 @@ Extra long : bips extra longs. Stick 4 Manche 4 - - - Battery - Batterie - v @@ -820,10 +792,15 @@ Extra long : bips extra longs. PPM 4 PPM 4 + + + Battery Offset + Correction tension batterie + - Current - Courant + Current Offset + Correction mesure courant @@ -1072,469 +1049,17 @@ Extra long : bips extra longs. Imprimer vers un fichier - + No name Sans titre - - General Model Settings - Paramètres généraux - - - - - - Name - Nom - - - - - EEprom Size - Taille d'EEPROM - - - - - Timer1 - Chrono1 - - - - - Timer2 - Chrono2 - - - - - Internal Radio System - Module HF interne - - - - - Radio System - Module HF - - - - - - - Protocol - Protocole - - - Pulse Polarity - Polarité - - - - - Throttle Trim - Trim de gaz - - - - - Enabled - Actif - - - - - Disabled - Inactif - - - Throttle Expo - Expo de gaz - - - - - External Radio Module - Module HF externe - - - - - Extra Radio System - Module HF supplémentaire - - - - - Trainer port mode - Mode du port écolage - - - - - Trim Increment - Pas des trims - - - - - Center Beep - Bip de centrage - - - - Flight modes Settings - Paramètres de phases de vol - - - - - Fades - Fondus - - - - - Trims - Trims - - - - - Switch - Interrupteur - - - - - - - Flight mode name - Nom de la phase de vol - - - - - IN - Entrée - - - - - OUT - Sortie - - - - - - - - - - - - - FM - PV - - - - - Gvars - Variables globales - - - - - Rot. Enc. - Enc. Rot. - - - - Limits - Débattements - - - - - - - - Offset - Décalage - - - - - - - - Min - Min - - - - - - - - Max - Max - - - - - - Invert - Inversé - - - - - - - - CH - VOIE - - - - - INV - Inversion - - - - - NOR - Normal - - - - Global Variables - Variables globales - - - - - GV - VG - - - - Inputs - Entrées - - - - L - - - - Expo/Dr Settings - Expos / Valeurs de dual rates - - - Weight - Ratio - - - Flight modes - Phases de vol - - - Flight mode - Phase de vol - - - DISABLED - DESACTIVE - - - - Mixers - Mixages - - - noTrim - Pas de trim - - - Delay(u%1:d%2) - Délai(h%1:b%2) - - - Slow(u%1:d%2) - Ralenti(h%1:b%2) - - - Warn - Avertissement - - - - Curves - Courbes - - - 5 Point Curves - Courbes à 5 points - - - pt %1 - point %1 - - - - - Curve - Courbe - - - 9 Point Curves - Courbes à 9 points - - - - Logical Switches - Inters logiques - - - LS - IL - - - - Special Functions - Fonctions spéciales - - - Function - Fonction - - - Param - Paramètre - - - Repeat - Répétition - - - Enable - Actif - - - - SF - FS - - - - Telemetry Settings - Paramètres de télémesure - - - - - Analog - Analogique - - - - - Unit - Unité - - - - - Scale - Echelle - - - - - - - A%1 - A%1 - - - - - Alarm 1 - Alarme 1 - - - - - Alarm 2 - Alarme 2 - - - - - - - Type - Type - - - - - - - Condition - Condition - - - - - - - Value - Valeur - - - - - RSSI Alarm - Alarme RSSI - - - - - Custom Telemetry View - Vue Télémesure personnalisée - - - - - Telemetry Bars - Barres de télémesure - - - - - Bar Number - Barre no - - - - - Source - Source - - - + Print Document Imprimer le document - + Select PDF output file Choisir le fichier PDF de sortie @@ -1542,7 +1067,7 @@ Extra long : bips extra longs. ConclusionPage - + OK, I understand. OK, compris! @@ -1580,12 +1105,12 @@ Extra long : bips extra longs. Les honneurs vont à Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) - - Thank you all !!! - Merci à tous !!! + + OpenTX Blacklist + - + monthly don mensuel @@ -1618,22 +1143,22 @@ Extra long : bips extra longs. CurveGroup - + Diff - + Expo - + Func Fonc - + Curve Courbe @@ -1781,10 +1306,6 @@ Extra long : bips extra longs. Are you sure you want to reset all curves? Etes-vous sûr de vouloir effacer toutes les courbes? - - Are you sure you want to reset curve %1 ? - Voulez-vous vraiment réinitialiser la courbe %1 ? - Editing curve %1 @@ -1844,42 +1365,42 @@ Extra long : bips extra longs. Impossible de trouver le fichier son %1! - + &Delete &Supprimer - + Delete Supprimer - + &Copy &Copier - + Ctrl+C - + &Cut C&ouper - + Ctrl+X - + &Paste Co&ller - + Ctrl+V @@ -1887,22 +1408,22 @@ Extra long : bips extra longs. CyclicPage - + 90 - + 120 - + 120x - + 140 @@ -1915,236 +1436,110 @@ Extra long : bips extra longs. Sortie débogage + + EepromInterface + + + Possible causes for this: + + + + + - Eeprom is from a newer version of OpenTX + + + + + - Eeprom is not from OpenTX + + + + + - Eeprom is not from Th9X + + + + + - Eeprom is not from Gruvin9X + + + + + - Eeprom is not from ErSky9X + + + + + - Eeprom is not from Er9X + + + + + - Eeprom size is invalid + + + + + - Eeprom file system is invalid + + + + + - Eeprom is from a unknown board + + + + + - Eeprom is from the wrong board + + + + + - Eeprom backup not supported + + + + + - Something that couldn't be guessed, sorry + + + + + Warning: + + + + + + - Your radio probably uses a wrong firmware, + eeprom size is 4096 but only the first 2048 are used + + + + + - Your eeprom is from an old version of OpenTX, upgrading! + You should 'save as' to keep the old file as a backup. + + + + + Warnings! + + + ElevonsPage - + <br>First Elevon Channel: <br>Première voie d'élevons: - + Second Elevon Channel: Deuxième voie d'élevons: - - Er9x::Templates - - - Simple 4-CH - 4 voies simple - - - - T-Cut - Coupure moteur - - - - Sticky T-Cut - Coupure moteur sécurisée - - - - V-Tail - Empennage en V - - - - Elevon\Delta - Elevon / Delta - - - - Heli Setup - Configuration hélico - - - - Heli Setup with gyro gain control - Configuration hélico avec gain du gyro - - - - Gyro gain control - Gain de gyro - - - - Heli Setup (Futaba's channel assignment style) - Configuration hélico (config Futaba) - - - - Heli Setup with gyro gain control (Futaba's channel assignment style) - Configuration hélico avec gain du gyro (config Futaba) - - - - Gyro gain control (Futaba's channel assignment style) - Gain de gyro (config Futaba) - - - - Servo Test - Test servos - - - - MultiCopter - Multicoptère - - - - Use Model Config Wizard - Utiliser l'assistant de configuation de modèle - - - - Apply Template? - Appliquer le gabarit? - - - - Apply template "%1"? - Appliquer le gabarit "%1"? - - - - - - - - - - RUD - DIR - - - - - - - - - - - - - ELE - PRF - - - - - - THR - GAZ - - - - - - - - - - - AIL - - - - - - - - AIL2 - - - - - - - - ELE2 - PRF2 - - - - - - - - - FLAPS - VOLETS - - - - - - - - - FLAP%1 - VOLET%1 - - - - - - - PITCH - PAS - - - - - - - - - - - GYRO - - - - - - SPOIL - - - - - - SPOIL%1 - - - - - - RUD2 - DIR2 - - - - - Clear Mixes? - Effacer tous les mixages ? - - - - Really clear existing mixes on CH6? - Effacer tous les mixages sur CH6? - - - - Really clear existing mixes on CH5? - Effacer tous les mixages sur CH5? - - ExpoDialog @@ -2261,46 +1656,26 @@ Si vide, la ligne est toujours active. Edit %1 Editer %1 - - - Rud - Dir - - - - Ele - Prf - - - - Thr - Gaz - - - - Ail - Ail - FblPage - + Throttle Channel: Voie des gaz: - + Yaw Channel: Voie du lacet: - + Pitch Channel: Voie du tangage: - + Roll Channel: Voie du roulis: @@ -2353,27 +1728,27 @@ Peut être différente de la langue du firmware FlapsPage - + No Non - + Yes, controlled by a single channel Oui, contrôlés par une seule voie - + Yes, controlled by two channels Oui, contrôlés par 2 voies - + <br>First Flap Channel: <br>Première voie de volets: - + Second Flap Channel: Deuxième voie de volets: @@ -2382,7 +1757,7 @@ Peut être différente de la langue du firmware FlashEEpromDialog - + Write Models and Settings to Radio Transférer les réglages et modèles à la radio @@ -2456,14 +1831,14 @@ Peut être différente de la langue du firmware - - - - - - - - + + + + + + + + Error Erreur @@ -2475,75 +1850,75 @@ Peut être différente de la langue du firmware - + Error opening file %1: %2. Erreur à l'ouverture du fichier %1: %2. - - + + Invalid Models and Settings File %1 Fichier de réglages et modèles invalide: %1 - + Error reading file %1: %2. Fichier %1 corrompu: %2. - + Invalid Models and Settings file %1 Fichier de réglages et modèles invalide: %1 - - - - + + + + Warning Avertissement - + Wrong radio calibration data in profile, Settings not patched Données de calibration incorrectes dans le profil, les réglages ne seront pas transférés - + Wrong radio setting data in profile, Settings not patched Données de configuration incorrectes dans le profil, les réglages ne seront pas transférés - - + + Cannot write file %1: %2. Ecriture fichier %1 impossible: %2. - + Error writing file %1: %2. Erreur d'écriture fichier %1: %2. - + The radio firmware belongs to another product family, check file and preferences! Ce firmware ne correspond pas à la radio sélectionnée, vérifiez le fichier et les préférences! - + The radio firmware is outdated, please upgrade! Le firmware de la radio est obsolète, veuillez mettre à jour! - + Cannot check Models and Settings compatibility! Continue anyway? Impossible de vérifier la compatibilité des réglages et modèles. Continuer quand même? @@ -2627,8 +2002,8 @@ Peut être différente de la langue du firmware - - + + Warning Avertissement @@ -2682,58 +2057,58 @@ Peut être différente de la langue du firmware L'image n'a pu être chargée depuis la bibliothèque - + Splash image not found Ecran d'accueil sélectionné introuvable - + Cannot save customized firmware Impossible d'enregistrer le firmware personnalisé - + Write Firmware to Radio Transférer le firmware à la radio - - + + Firmware check failed La vérification a échoué - + Could not check firmware from radio Impossible de vérifier le firmware de la radio - + New firmware is not compatible with the one currently installed! Le nouveau firmware ne correspond pas à l'ancien! Vérifier le type de radio - + Conversion failed La conversion a échoué - + Cannot convert Models and Settings for use with this firmware, original data will be used Impossible de convertir les réglages et modèles pour ce firmware, les données originales vont être utilisées - + Restore failed Erreur lors de la restauration - + Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 Impossible de restaurer les réglages et modèles sur la radio. Le fichier peut être récupéré ici: %1 - + Flashing done Terminé! @@ -2859,98 +2234,39 @@ Veuillez utiliser Zadig pour installer le pilote. Switch Interrupteur - - Rud - Dir - - - Ele - Prf - - - Thr - Gaz - - - Ail - Ail - - - Rotary Encoder %1 - Encodeur rotatif %1 - - - GVAR%1 - VG%1 - - - Popup enabled - Indication activée - FlightModePanel - - Rud - Dir - - - - Ele - Prf - - - - Thr - Gaz - - - - Ail - Ail - - - + Rotary Encoder %1 Encodeur rotatif %1 - + GVAR%1 VG%1 - + Popup enabled Indication activée - - FlightModes - - Flight Mode %1 - Phase de vol %1 - - - (default) - (par défaut) - - FlightModesPanel - + Flight Mode %1 Phase de vol %1 - + (%1) - + (default) (par défaut) @@ -2958,17 +2274,17 @@ Veuillez utiliser Zadig pour installer le pilote. FlybarSelectionPage - + Has Flybar Avec barre de Bell - + Flybarless Sans barre de Bell - + Flybar: Barre de Bell: @@ -3132,116 +2448,11 @@ p, li { white-space: pre-wrap; } Setup Configuration - - <!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;">Contraste de l'écran LCD</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;">Plage de valeurs: 20...45</span></p></body></html> - - - Inactivity Timer - Alerte d'inactivité - - - If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes. - Si différent de 0, émission d'un bip sonore régulier si aucune action n'a été effectuée sur l'émetteur depuis le temps spécifié (en minutes). -Réinitialisation en agissant sur n'importe lequel des manches / touches de navigation. - General Edit Paramètres généraux - - This is the switch selectrion for turning on the backlight (if installed). - - - Interrupteur déclenchant le rétroéclairage' (si installé). - - - Mode 2 (RUD THR ELE AIL) - Mode 2 (DIR GAZ PROF AIL) - - - 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. - Volume des bips - -Mode silencieux : tous bips désactivés. -Touches silencieuses : bips normaux mais touches de navigation silencieuses. -Normal : durée des bips par défaut. -Long : bips plus longs. -Extra long : bips extra longs. - - - Battery Warning - Alerte batterie - - - Contrast - Contraste - - - Mode 4 (AIL THR ELE RUD) - Mode 4 (AIL GAZ PROF DIR) - - - 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 - - - Choix du mode: - -Mode 1: -Manche Gauche: Profondeur, Direction -Manche Droit: Gaz, Ailerons - -Mode 2: -Manche Gauche: Gaz, Direction -Manche Droit: Profondeur, Ailerons - -Mode 3: -Manche Gauche: Profondeur, Ailerons -Manche Droit: Gaz, Direction - -Mode 4: -Manche Gauche: Gaz, Ailerons -Manche Droit: Profondeur, Direction - - - - - Mode 3 (AIL ELE THR RUD) - Mode 3 (AIL PROF GAZ DIR) - General settings used throught the transmitter. @@ -3249,177 +2460,11 @@ These will be relevant for all models in the same EEPROM. Paramètres généraux de l'émetteur. Communs à tous les modèles d'une même EEPROM. - - Battery warning voltage. -This is the threashhold where the battery warning sounds. - -Acceptable values are 5v..10v - Tension d'alerte de batterie. -Seuil auquel se déclenche l'alarme de batterie. - -Plage de valeurs: 5v...10v - - - Calibration - Étalonnage - - - Stick Mode - Mode - - - If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. - Si cette valeur est différente de 0, l'appui sur une touche de navigation déclenche le rétroéclairage qui s'éteint après la durée spécifiée (en secondes). - - - Beeper Mode - Réglage des bips - - - <!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=" 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;">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> - <!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=" text-decoration: underline;">Alertes</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;">Définit les alertes au démarrage.</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Alerte gaz - Avertissement si les gaz ne sont pas à 0 au démarrage</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Alerte interrupteurs - Avertissement si un ou plusieurs interrupteurs ne sont pas au repos</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Alerte mémoire - Avertissement si la mémoire disponible est insuffisante</p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Alerte mode silencieux - Avertissement si les bips sont désactivés</p></body></html> - - - Mode 1 (RUD ELE THR AIL) - Mode 1 (DIR PROF GAZ AIL) - - - Show Splash Screen on Startup - Afficher l'écran de démarrage - - - Show splash screen on startup - Affiche l'écran d'accueil au démarrage - - - Quiet - Mode silencieux - - - No Keys - Touches silencieuses - - - Rud - Dir - - - Ele - Prf - - - Thr - Gaz - - - Ail - Ail - - - PPM Multiplier - Coeff. multiplicateur PPM - - - Off - Désactivé - Trainer Ecolage - - chn1 - Can. 1 - - - chn2 - Can. 2 - - - chn3 - Can. 3 - - - chn4 - Can. 4 - - - Mode - Mode - - - Sound Mode - Mode Son - - - Beeper - Bipeur - - - Speaker Pitch (spkr only) - Tonalité (HP uniquement) - - - Only Alarms - Seulement les alarmes - - - All - Tous - - - Beeper Length - Durée des bips - - - X-Short - X-court - - - Short - Court - - - X-Long - X-long - - - Haptic Mode - Mode du vibreur - - - Alarms Only - Seulement les Alarmes - - - Haptic Length - Durée vibreur - - - GPS Coordinates - Coordonnées GPS - Store calib. and hw settings in selected profile @@ -3430,384 +2475,6 @@ p, li { white-space: pre-wrap; } Retrieve calib. and hw settings from profile Lire étalonnage et réglages hw du profil - - Speaker - Haut-parleur - - - BeeperVoice - Bipeur/Voix - - - SpeakerVoice - Haut-parleur/Voix - - - Timeshift from UTC - Décalage horaire (UTC) - - - LCD Display Type - Type de LCD - - - Speaker Volume - Volume haut-parleur - - - Haptic Strength - Puissance vibreur - - - BackLight Brightness - Luminosité rétroéclairage - - - RotEnc Navigation - Navigation avec encodeur rot. - - - BackLight Auto OFF after - Durée rétroéclairage - - - BackLight Switch - Inter rétroéclairage - - - Country Code - Zone géograhpique RF - - - Japan - Japon - - - America - Amérique - - - Metric - Métrique - - - Imperial - Impérial - - - Measurement Units - Unités de mesure - - - Voice Language - Langue audio - - - Beep volume - Volume des bips - - - Wav volume - Volume des fichiers audio - - - Vario volume - Volume du variomètre - - - Background volume - Volume de la musique d'ambiance - - - FAI Mode - Mode FAI - - - If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. - Lorsque le mode FAI est activé, le variomètre ainsi que l'écran et la lecture des valeurs de télémesure sont désactivés. Ce mode ne peut pas être désactivé sur la radio. - - - MAVLink Baud Rate - Baudrate Mavlink - - - Vario pitch at zero - Tonalité du vario à 0 - - - Color 1 - Couleur 1 - - - Color 2 - Couleur 2 - - - Backlight Brightness - Luminosité du rétroéclairage - - - Backlight Auto OFF after - Arrêt rétroéclairage après - - - Backlight color - Couleur du rétroéclairage - - - Backlight Switch - Inter de rétroéclairage - - - Default Channel Order - Ordre des voies par défaut - - - <html><head/><body><p>Channel order</p><p><br/></p><p>Defines the order of the default mixes created on a new model.</p></body></html> - <html><head/><body><p>Ordre des voies</p><p><br/></p><p>Détermine l'ordre des mixages par défaut sur un nouveau modèle.</p></body></html> - - - R E T A - D P G A - - - R E A T - D P A G - - - R T E A - D G P A - - - R T A E - D G A P - - - R A E T - D A P G - - - R A T E - D A G P - - - E R T A - P D G A - - - E R A T - P D A G - - - E T R A - P G D A - - - E T A R - P G A D - - - E A R T - P A D G - - - E A T R - P A G D - - - T R E A - G D P A - - - T R A E - G D A P - - - T E R A - G P D A - - - T E A R - G P A D - - - T A R E - G A D P - - - T A E R - G A P D - - - A R E T - A D P G - - - A R T E - A D G P - - - A E R T - A P D G - - - A E T R - A P G D - - - A T R E - A G D P - - - A T E R - A G P D - - - Stick reverse (order as above) - Inversion manche (ordre ci-dessus) - - - Play Delay (switch mid position) - Délai de Play (switches au centre) - - - Backlight flash on alarm - Clignotement rétroécl. alarmes - - - Stick 3 - Manche 3 - - - Stick 1 - Manche 1 - - - Stick 2 - Manche 2 - - - Stick 4 - Manche 4 - - - Pot with detent (normal) - Potentiomètre avec centre - - - Pot without detent - Potentiomètre sans centre - - - S3 Type - Type S3 - - - S-Port Mirror - Recopie S. Port - - - Debug - Débogage - - - Serial Port - Port série - - - Readonly Unlock - Débloquage lecture seule - - - "No Sound" Warning - Alerte "son coupé" - - - Low Memory Warning - Alerte mémoire pleine - - - --- - --- - - - Vario pitch at max - Tonalité du vario au max - - - Vario repeat at zero - Répétition du vario à 0 - - - Input - Entrée - - - Weight - Ratio - - - += (Sum) - += (Additionne) - - - := (Replace) - := (Remplace) - - - PPM 3 - PPM 3 - - - PPM 4 - PPM 4 - - - Negative span - Amplitude nég. - - - Mid value - Centre - - - Positive span - Amplitude pos. - - - Current - Courant - - - None - Aucun - - - Pot (normal) - Potentiomètre (normal) - - - Multipos Switch - Inter multipos. - - - S1 Type - Type S1 - - - S2 Type - Type S2 - - - Battery - Batterie - - - 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 ? - Lorsque le mode FAI est activé, le variomètre ainsi que l'écran et la lecture des valeurs de télémesure sont désactivés.\nCe mode ne peut pas être désactivé sur la radio.\nEtes-vous sûr? - Global Functions @@ -4653,17 +3320,17 @@ Are you sure ? GyroPage - + No Non - + Yes, controled by a switch Oui, contrôlé par un inter - + Yes, controlled by a pot Oui, contrôlé par un potentiomètre @@ -4685,19 +3352,11 @@ Are you sure ? Invert Collective Pas collectif - - Elevator - Profondeur - Invert Inversion - - Aileron - Ailerons - Off @@ -4752,22 +3411,22 @@ Are you sure ? HeliPage - + Throttle Channel: Voie des gaz: - + Yaw Channel: Voie du lacet: - + Pitch Channel: Voie du tangage: - + Roll Channel: Voie du roulis: @@ -4803,26 +3462,6 @@ Are you sure ? Clear All Inputs Effacer toutes les entrées - - No Trim - Pas de Trim - - - Weight(%1) - Ratio(%1) - - - Offset(%1) - Décalage(%1) - - - NoTrim - Pas de trim - - - Switch(%1) - Inter(%1) - Not enough available inputs! @@ -5160,14 +3799,14 @@ Les colonnes contenant l'altitude "GAlt" et la vitesse "GSpd MainWindow - - + + Edit Edition - - + + File Fichier @@ -5177,141 +3816,99 @@ Les colonnes contenant l'altitude "GAlt" et la vitesse "GSpd Afficher les alertes précédentes lors du prochain démarrage ? - + New release available Nouvelle version disponible - - + + Error Erreur - + Error opening file %1: %2. Erreur à l'ouverture du fichier %1: %2. - + Compilation server termporary failure, try later Erreur temporaire du serveur de compilation, veuillez réessayer plus tard - Display previous message again at startup ? - Afficher les alertes précédentes lors du prochain démarrage ? - - - Compilation server temporary failure, try later - Erreur temporaire du serveur de compilation, veuillez réessayer plus tard - - - + Compilation server too busy, try later Serveur de compilation trop occupé, veuillez réessayer plus tard - + Unknown server failure, try later Erreur inconnue du serveur de compilation, veuillez réessayer plus tard - + Do you want to write the firmware to the radio now ? Voulez vous transférer le firmware à la radio maintenant? - - + + Yes Oui - - + + No Non - - + + Release Notes Notes de version - - + + Do you want to download release %1 now ? Voulez-vous télécharger la version %1 maintenant? - Release notes contain very important informations. Do you want to see them now ? - Les notes de version contiennent des informations très importantes. Voulez-vous les voir maintenant? - - - + Firmware updates Mises à jour de firmware - + Current firmware does not provide release notes informations. Le firmware actuel ne contient pas de notes de version. - Cannot write file %1: -%2. - Ecriture fichier %1 impossible: -%2. - - - Backup is impossible - Sauvegarde impossible - - - The backup dir set in preferences does not exist - Le dossier de sauvegarde configuré dans les préférences n'existe pas - - - Warning - Avertissement - - - Conversion failed - La conversion a échoué - - - Restore failed - Erreur lors de la restauration - - - Backup failed - Erreur lors de la sauvegarde - - - + Load backup from file Charger une sauvegarde à partir du fichier - + Compare models Comparer les modèles - + Show fuses dialog Afficher les réglages des fusibles - + A monochrome black icon theme Thème avec icônes monochromes noires - + Firmware %1 does not seem to have ever been downloaded. Release %2 is available. Do you want to download it now? @@ -5324,7 +3921,7 @@ Voulez-vous la télécharger maintenant ? Nous recommandons de lire attentivement les notes de version à l'aide du bouton ci-dessous, celles-ci peuvent contenir des infos importantes concernant les changements effectués depuis la version précéente. - + A new version of %1 firmware is available: - current is %2 - newer is %3 @@ -5341,863 +3938,723 @@ Voulez vous la télécharger maintenant ? Nous recommandons de lire attentivement les notes de version à l'aide du bouton ci-dessous, celles-ci peuvent contenir des infos importantes concernant les changements effectués depuis la version précéente. - - + + Synchronize SD Synchroniser la carte SD - OpenTX Companion 2.1 - FW: %1 - Profile: %2 - OpenTX Companion 2.1 - FW: %1 - Profil: %2 - - - + New Nouveau - + Open... Ouvrir... - + Copy Model Copier le modèle - + A monochrome white icon theme Thème avec icônes monochromes blanches - + A monochrome blue icon theme Thème avec icônes monochromes bleues - + Small Petites - + Use small toolbar icons Petites icônes de barre d'outils - + Use normal size toolbar icons Icônes de barre d'outils normales - + Normal Normales - + Use big toolbar icons Grosses icônes de barre d'outils - + Big Grandes - + Use huge toolbar icons Immenses icônes de barre d'outils - + Huge Immenses - + Czech Tchèque - + Use Czech in menus Menus en Tchèque - + German Allemand - + Use German in menus Menus en Allemand - + English Anglais - + Use English in menus Menus en Anglais - + French Français - + Use French in menus Menus en Français - + Italian Italien - + Use Italian in menus Menus en Italien - + Polish Polonais - + Use Polish in menus Menus en Polonais - + Swedish Suédois - + Use Swedish in menus Menus en Suédois - + List programmers... Lister les programmateurs... - + Fuses... Fusibles... - - + + Read Firmware from Radio Lire le firmware de la radio - + Read firmware from Radio Lire le firmware de la radio - - + + Write Firmware to Radio Transférer le firmware à la radio - + Write firmware to Radio Transférer le firmware à la radio - + Add Radio Profile Ajouter un profil de radio - + Create a new Radio Setting Profile Créér un nouveau profil de radio - + Manuals and other Documents Manuels et documents - + Open the OpenTX document page in a web browser Ouvre la page de documentation d'OpenTX dans un navigateur - + Write Models and Settings To Radio Transférer les réglages et modèles à la radio - - + + Write Models and Settings to Radio Transférer les réglages et modèles à la radio - - - + + + Companion - - + + Read Models and Settings from Radio Lire les réglages et modèles depuis la radio - + OpenTX Companion %1 - Radio: %2 - Profile: %3 OpenTX Companion %1 - Radio: %2 - Profil: %3 - + Configure Communications... Configurer les communications... - + Configure software for communicating with the Radio Configurer le programme gérant les communications avec la radio - + Write Backup to Radio Transférer une sauvegarde à la radio - + Write Backup from file to Radio Transférer une sauvegarde à la radio - + Backup Radio to File Sauvegarder la radio - + Save a complete backup file of all settings and model data in the Radio Créer une copie de sauvegarde de tous les réglages et modèles de la radio - + Contributors... Contributeurs... - + A tribute to those who have contributed to OpenTX and Companion Remerciements à tout ceux qui ont contribué à OpenTX et Companion - + SD card synchronization Synchronisation de la carte SD - + Recent Files Fichiers récents - + Recent Models+Settings Fichiers de réglages et modèles récents - + Set Icon Theme Choisir le thème d'icônes - + Set Icon Size Choisir la taille des icônes - + Write Ecrire - Unable to find file %1! - Fichier %1 introuvable! - - - Error reading file %1: -%2. - Fichier %1 corrompu: -%2. - - - + A new version of Companion is available (version %1)<br>Would you like to download it? Une nouvelle version de Companion est disponible (version %1)<br>Voulez-vous la télécharger? - + Compilation server requires registration, please check OpenTX web site Le serveur de compilation requiert l'enregistrement, veuillez vous référer au site web d'OpenTX - + OpenTX Home Page: <a href='%1'>%1</a> Page d'accueil d'OpenTX: <a href='%1'>%1</a> - The OpenTX Companion project was originally forked from <a href='%2'>eePe</a> - Le projet OpenTX Companion a été créé à partir d'<a href='%2'>eePe</a> - - - + If you've found this program useful, please support by <a href='%1'>donating</a> Si vous trouvez ce programme utile, merci de le supporter par une <a href='%1'>donation</a> - + Show the list of radio profiles Voir la liste des profils de radio - + Ready Prêt - + Show the application's About box Afficher la fenêtre "A propos" de l'application - - - + + + File loaded Fichier chargé - + A new release of Companion is available, please check the OpenTX website! Une nouvelle version de Companion est disponible, veuillez vous référer au site web d'OpenTX! - + Not enough memory for all the selected firmware options Pas assez de mémoire disponible pour toutes les options sélectionnées - - + + Open Models and Settings file Ouvrir un fichier de réglages et modèles - - + + File saved Fichier sauvegardé - + Read Models and Settings From Radio Lire les réglages et modèles depuis la radio - Write Radio Backup from %1 to the radio? - Transférer la sauvegarde %1 à la radio? - - - Backup Models and Settings From Radio - Sauvegarder les réglages et modèles depuis la radio - - - The radio firmware belongs to another product family, check file and preferences! - Ce firmware ne correspond pas à la radio sélectionnée, vérifiez le fichier et les préférences! - - - The radio firmware is outdated, please upgrade! - Le firmware de la radio est obsolète, veuillez mettre à jour! - - - Write Backup To Radio - Transférer une sauvegarde à la radio - - - Write Firmware To Radio - Transférer le firmware à la radio - - - Firmware %1 does not seem to have ever been downloaded. -Release %2 is available. -Do you want to download it now? - Le firmware %1 n'a jamais été téléchargé. -La version %2 est disponible. -Voulez-vous la télécharger maintenant ? - - - Do you want to download release %1 %2 now ? - Voulez-vous télécharger la version %1 %2 maintenant? - - - A new version of %1 firmware is available: - - current is %2 - - newer is %3 - -Do you want to download it now ? - Une nouvelle version du firmware %1 est disponible: - - courante %2 - - nouvelle %3 - -Voulez vous la télécharger maintenant ? - - - + Ignore this release %1? Ignorer la version %1? - Read Firmware From Radio - Sauvegarder le firmware de la radio - - - Restore Models and Settings To Radio - Restaurer les réglages et modèles depuis une sauvegarde - - - Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - Impossible de restaurer les réglages et modèles sur la radio. Le fichier peut être récupéré ici: %1 - - - Could not write firmware to radio. The models and settings data file can be found at: %1 - Impossible de transférer le firmware à la radio. Le fichier peut être récupéré ici: %1 - - - Cannot backup existing Models and Settings from Radio. Firmware write process aborted - Impossible de sauvegarder les réglages et modèles depuis la radio. Le processus est annulé - - - + Save Radio Backup to File Sauvegarder la radio - Read Radio Backup - Lire une sauvegarde - - - + Read Radio Firmware to File Sauvegarder le firmware de la radio - + The OpenTX Companion project was originally forked from <a href='%1'>eePe</a> Le projet OpenTX Companion a été créé à partir d'<a href='%1'>eePe</a> - + Copyright OpenTX Team - OpenTX Companion - FW: %1 - Profile: %2 - OpenTX Companion - FW: %1 - Profil: %2 - - - + Create a new Models and Settings file Créer un nouveau fichier de réglages et modèles - - + + Save Models and Settings file Enregistrer le fichier de réglages et modèles - + Save Enregistrer - + Save As... Enregistrer sous... - + Exit the application Quitter l'application - + Exit Quitter - + Cut Model Couper le modèle - + Cut current model to the clipboard Couper le modèle courant dans le presse-papier - + Copy current model to the clipboard Copier le modèle courant dans le presse-papier - + Paste model from clipboard Coller le modèle depuis le presse-papier - + Paste Model Coller le modèle - + Classical Classique - + The classic companion9x icon theme Thème d'icônes classique de Companion - + Yerico - + Yellow round honey sweet icon theme Thème d'icônes rondes jaunes - + Monochrome - + MonoWhite - + MonoBlue - + System language Langue du système - + Use system language in menus Utiliser la langue système dans les menus - + Finnish Finlandais - + Use Finnish in menus Menus en Finlandais - + Spanish Espagnol - + Use Spanish in menus Menus en espagnol - + About... A propos... - + Print... Imprimer... - + Print current model Imprimer le modèle courant - + Simulate... Simuler... - + Simulate current model Simuler le modèle courant - + Alt+S - + Load Backup... Ouvrir la sauvegarde... - + View Log File... Ouvrir un log... - + Open and view log file Ouvrir et visualiser un log - + Settings... Préférences... - + Edit Settings Modifier les réglages - + Download... Télécharger... - + Download firmware and voice files Télécharger firmware et fichiers son - + Check for Updates... Vérifier les mises à jour... - + Check OpenTX and Companion updates Vérifier les mises à jour d'OpenTX et Companion - + Companion Changes... Changements de Companion... - + Show Companion change log Voir l'historique des changements de Companion - + Firmware Changes... Changements du firmware... - + Show firmware change log Voir l'historique des changements du firmware - + Compare Models... Comparer 2 modèles... - + Edit Radio Splash Image... Modifier l'écran d'accueil de la radio... - + Edit the splash image of your Radio Modifier l'écran d'accueil de la radio - + List available programmers Lister les programmateurs supportés - - - + + + Save As Enregistrer Sous - + Executable (*.exe) Exécutable (*.exe) - - + + No updates available at this time. Aucune mise à jour disponible. - + Unable to check for updates. Impossible de rechercher des mises à jour. - + Would you like to launch the installer? Voulez-vous lancer l'installation ? - A new version of %1 firmware is available (current %2 - newer %3). -Do you want to download it now ? - Une nouvelle version du firmware %1 est disponible (courante %2 - nouvelle %3). -Voulez vous la télécharger maintenant ? - - - Ignore this version (r%1)? - Ignorer cette version (r%1)? - - - - + + Help Aide - + Checking for updates Recherche de mises à jour - Firmware %1 does not seem to have ever been downloaded. -Version %2 is available. -Do you want to download it now ? - Le firmware %1 n'a jamais été téléchargé. -La version %2 est disponible. -Voulez-vous la télécharger maintenant ? - - - + The selected language will be used the next time you start Companion. La langue sélectionnée sera utilisée lors du prochain lancement de Companion. - + The new theme will be loaded the next time you start Companion. Le nouveau thème sera utilisé lors du prochain lancement de Companion. - + The icon size will be used the next time you start Companion. La nouvelle taille d'icônes sera utilisée lors du prochain lancement de Companion. - The file %1 -has not been recognized as a valid Models and Settings file -Write anyway ? - Le fichier %1 -n'a pas été reconnu comme un fichier de réglages et modèles valide. -Ecrire quand même? - - - Cannot check Models and Settings compatibility! Continue anyway? - Impossible de vérifier la compatibilité des réglages et modèles. Continuer quand même? - - - Cannot convert Models and Settings for use with this firmware, original data will be used - Impossible de convertir les réglages et modèles pour ce firmware, les données originales vont être utilisées - - - Firmware write failed - L'écriture du firmware a échoué - - - + About Companion A propos de Companion - + Set Menu Language Choisir la langue des menus - + Settings Réglages - + Read/Write Transfert - - + + Radio Profile Profil de radio - + Show recent Models+Settings documents Voir les fichiers récents - + %2 - + New Radio Nouvelle radio - - Invalid Models and Settings File %1 - Fichier de réglages et modèles invalide: %1 - - - Invalid binary Models and Settings File %1 - Fichier binaire de réglages et modèles invalide: %1 - MdiChild @@ -6205,30 +4662,30 @@ Ecrire quand même? - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Error Erreur - - - - + + + + Cannot write file %1: %2. Ecriture fichier %1 impossible: @@ -6236,20 +4693,20 @@ Ecrire quand même? - + Unable to find file %1! Fichier %1 introuvable! - - - + + + Save As Enregister Sous - + Cannot write temporary file! Ecriture de fichier temporaire impossible! @@ -6259,16 +4716,16 @@ Ecrire quand même? Édition du modèle %1 : - - + + Error writing file %1: %2. Erreur d'écriture fichier %1: %2. - - + + Error reading file %1: %2. Fichier %1 corrompu: @@ -6277,8 +4734,8 @@ Ecrire quand même? - - + + Error opening file %1: %2. Erreur à l'ouverture du fichier %1: @@ -6290,65 +4747,41 @@ Ecrire quand même? octets libres - + Companion - - + + Invalid EEPROM File %1 Fichier EEPROM %1 invalide - + Invalid binary EEPROM File %1 Fichier binaire %1 invalide - Backup is impossible - Impossible de sauvegarder - - - The backup dir set in preferences does not exist - Le dossier de sauvegarde configuré dans les préférences n'existe pas - - - Backup EEPROM From Radio - Sauvegarder l'EEPROM de la radio - - - Write EEPROM To Radio - Transférer l'EEPROM à la radio - - - + Open backup Models and Settings file Ouvrir la sauvegarde de réglages et modèles - Cannot check eeprom compatibility! Continue anyway? - Impossible de vérifier la compatibilité de l'EEPROM! Continuer quand même? - - + + + + Warning - Avertissement + Avertissement - Firmware in radio is of a different family of eeprom written, check file and preferences! - Le firmware de la radio n'est pas compatible avec la version de l'EEPROM à transférer, vérifier le fichier et les préférences! - - - Firmware in flash is outdated, please upgrade! - Le firmware de la radio est obsolète, veuillez mettre à jour! - - - + Invalid binary backup File %1 Fichier de sauvegarde %1 invalide - + %1 has been modified. Do you want to save your changes? %1 a été modifié. @@ -6536,56 +4969,11 @@ Mixage actif par défaut si non-renseigné. Name Nom - - <!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 and 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;">Délai et Ralenti</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;">Ces valeurs contrôlent la vitesse et le délai à l'entrée du mixage.</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;">Si Délai est différent de 0, le départ du mixage sera décalé du nombre de secondes spécifié.</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;">Si Ralentissement est différent de 0, la vitesse du mixage sera la valeur spécifiée -&gt; La valeur représente le nombre de secondes nécessaires à la course -100/100.</p></body></html> - DEST -> CH%1 DEST -> VOIE%1 - - - Rud - Dir - - - - Ele - Prf - - - - Thr - Gaz - - - - Ail - Ale - Ail - Include Trim @@ -6634,48 +5022,12 @@ p, li { white-space: pre-wrap; } Effacer tous les mixages - Weight(%1) - Ratio(%1) - - - Switch(%1) - Inter(%1) - - - No Trim - Pas de Trim - - - NoTrim - Pas de trim - - - No DR/Expo - Pas d'expo/DR - - - Offset(%1) - Décalage(%1) - - - Delay(u%1:d%2) - Délai(h%1:b%2) - - - Slow(u%1:d%2) - Ralenti(h%1:b%2) - - - Warn(%1) - Alerte(%1) - - - + Not enough available mixers! Plus de mixages disponibles ! - + Delete Selected Mixes? Supprimer mixages sélectionnés ? @@ -6760,12 +5112,12 @@ p, li { white-space: pre-wrap; } - + Clear Mixes? Effacer tous les mixages ? - + Really clear all the mixes? Êtes-vous sûr de vraiment vouloir effacer tous les mixages ? @@ -6812,14 +5164,6 @@ p, li { white-space: pre-wrap; } Dialog Dialogue - - Clear Curves? - Effacer les courbes ? - - - Really clear all the curves? - Êtes-vous sûr de vraiment vouloir effacer toutes les courbes ? - Flight Modes @@ -6841,30 +5185,307 @@ p, li { white-space: pre-wrap; } Télémesure + + ModelPrinter + + + %1 bytes + %1 octets + + + + CH%1 + VOIE%1 + + + + Exponential + Exponentiel + + + + Extra Fine + Extra fin + + + + Fine + Fin + + + + Medium + Moyen + + + + Coarse + Grossier + + + + Unknown + Inconnu + + + + Enabled + Actif + + + + Disabled + Inactif + + + + %1, Channels(%2-%3), PPM delay(%4usec), Pulse polarity(%5) + %1, canaux(%2-%3), impulsion(%4usec), polarité(%5) + + + + %1, Channels(%2-%3) + %1, canaux(%2-%3) + + + + Receiver number(%1) + No. de récepteur(%1) + + + + Slave/Jack + Elève/Jack + + + + Master/SBUS Module + Maître/SBUS module + + + + Master/CPPM Module + Maître/CPPM Module + + + + Master/SBUS in battery compartment + Maître/SBUS compartiment batterie + + + + Master/Jack + Maître/Jack + + + + Rudder + Dérive + + + + Elevator + Profondeur + + + + Throttle + Gaz + + + + Aileron + Ailerons + + + + Name(%1) + Nom(%1) + + + + Persistent + Persistant + + + + MinuteBeep + Bip minutes + + + + CountDown(Beeps) + Cpte à rebours(bips) + + + + CountDown(Voice) + Cpte à rebours(voix) + + + + CountDown(Haptic) + Cpte à rebours(vibreur) + + + + Off + + + + + + + + FM%1 + PV%1 + + + + FM%1%2 + PV%1%2 + + + + FM%1+%2 + PV%1+%2 + + + + [I%1] + [E%1] + + + + Input%1 + Entrée%1 + + + + Weight + Ratio + + + + Switch + Inter + + + + + NoTrim + Pas de trim + + + + Weight(%1) + Ratio(%1) + + + + Switch(%1) + Inter(%1) + + + + No DR/Expo + Pas d'expo/DR + + + + Offset(%1) + Décalage(%1) + + + + Delay(u%1:d%2) + Délai(h%1:b%2) + + + + Slow(u%1:d%2) + Ralenti(h%1:b%2) + + + + Warn(%1) + Alerte(%1) + + + + Disabled in all flight modes + Désactivé pour toutes les phases de vol + + + + Flight modes(%1) + Phases de vol(%1) + + + + Flight mode(%1) + Phase de vol(%1) + + + + Edge(%1, [%2:%3]) + Flanc(%1, [%2:%3]) + + + + Sticky(%1, %2) + Bistable(%1, %2) + + + + Timer(%1, %2) + + + + + Duration(%1s) + Durée(%1s) + + + + Delay(%1s) + Délai(%1s) + + + + Custom + Prédéfini + + + + Standard + + + ModelSelectionPage - + Plane Avion - + Multirotor - + Helicopter Hélicoptère - + Model Name: Nom du modèle: - + Model Type: Type de modèle: @@ -6872,129 +5493,130 @@ p, li { white-space: pre-wrap; } ModelsListWidget - + + &Edit Éditio&n - + &Restore from backup &Restaurer à partir d'une sauvegarde - + &Model Wizard &Assistant de configuration - + &Delete &Supprimer - + Delete Supprimer - + &Copy &Copier - + Ctrl+C - + &Cut C&ouper - + Ctrl+X - + &Paste Co&ller - + Ctrl+V - + D&uplicate D&upliquer - + Ctrl+U - + &Use as default &Choisir comme modèle par défaut - + P&rint model Im&primer les données du modèle - + Ctrl+P - + Alt+S - + &Simulate model &Simuler le modèle sélectionné - + General Settings Paramètres généraux - + Delete Selected Models? Supprimer les modèles sélectionnés ? - - + + Cannot delete default model. Le modèle actif ne peut être supprimé. - + Cannot cut default model. Le modèle actif ne peut être coupé. - + Do you want to overwrite radio general settings? Voulez-vous vraiment écraser les paramètres généraux? - + You are pasting on an not empty model, are you sure? You are pasting on an not empty model, are you sure ? Vous allez écraser un modèle, êtes vous sûr ? - + No free slot available, cannot duplicate Pas d'emplacement libre, impossible de dupliquer @@ -7026,14 +5648,6 @@ p, li { white-space: pre-wrap; } Positive - - Master - Maître - - - Slave - Elève - Polarity @@ -7153,66 +5767,273 @@ p, li { white-space: pre-wrap; } ModulePanel - + Trainer Port Port écolage - + Internal Radio System Module HF interne - + External Radio Module Module HF externe - - + + Radio System Module HF - + Extra Radio System Module HF supplémentaire - + Value Valeur - + Hold Maintien - + No Pulse Pas d'impulsion + + MultiModelPrinter + + + General Model Settings + Paramètres généraux + + + + Name: + Nom: + + + + EEprom Size: + Taille d'EEPROM: + + + + Timer%1: + Chrono%1: + + + + Module%1: + + + + + Module: + + + + + Trainer port: + Port écolage: + + + + Throttle Trim: + Trim gaz: + + + + Trim Increment: + Pas des trims: + + + + Center Beep: + Bip de centrage + + + + Flight modes + Phases de vol + + + + + Flight mode + Phase de vol + + + + Switch + Inter + + + + Fade IN + Fondu en entrée + + + + Fade OUT + Fondu en sortie + + + + + FM%1 + PV%1 + + + + + GV%1 + VG%1 + + + + RE%1 + + + + + Limits + Limites + + + + Channel + Canal + + + + Name + Nom + + + + + Offset + Décalage + + + + Min + Min + + + + Max + Max + + + + Invert + Inversé + + + + Global Variables + Variables globales + + + + Inputs + Entrées + + + + Mixers + Mixages + + + + CV%1 + CB%1 + + + + Curves + Courbes + + + + L%1 + + + + + Logical Switches + Inters logiques + + + + SF%1 + FS%1 + + + + Special Functions + Fonctions spéciales + + + + Telemetry Settings + Paramètres de télémesure + + + + Analogs + Entrées ana. + + + + Unit + Unité + + + + Scale + Echelle + + + + A%1 + + + + + RSSI Alarms + Alarmes RSSI + + MultirotorPage - + Throttle Channel: Voie des gaz: - + Yaw Channel: Voie du lacet: - + Pitch Channel: Voie du tangage: - + Roll Channel: Voie du roulis: @@ -7220,17 +6041,17 @@ p, li { white-space: pre-wrap; } OptionsPage - + Throttle Cut Coupure de gaz - + Throttle Timer Chrono de gaz - + Flight Timer Chrono de vol @@ -7253,527 +6074,17 @@ p, li { white-space: pre-wrap; } Imprimer vers un fichier - - Setup for: - Configuration pour: - - - - printed on: %1 - Imprimé le : %1 - - - - General Model Settings - Paramètres généraux - - - - - - - Name - Nom - - - - EEprom Size - Taille d'EEPROM - - - Timer1 - Chrono1 - - - Timer2 - Chrono2 - - - - - Protocol - Protocole - - - Pulse Polarity - Polarité - - - - Throttle Trim - Trim de gaz - - - - Enabled - Actif - - - - Disabled - Inactif - - - Throttle Expo - Expo de gaz - - - - Trim Increment - Pas des trims - - - - Center Beep - Bip de centrage - - - Flight modes Settings - Paramètres de phases de vol - - - - Fades - Fondus - - - - Trims - Trims - - - - Gvars - Variables globales - - - - Rot.Enc. - Enc. Rot. - - - - Switch - Interrupteur - - - - Flight mode name - Nom de la phase de vol - - - - IN - Entrée - - - - OUT - Sortie - - - - Rud - Dir - - - - Ele - Prf - - - - Thr - Gaz - - - - Ail - Ail - - - - - - - - FM - PV - - - Expo/Dr Settings - Expos / Valeurs de dual rates - - - Weight - Ratio - - - - Flight modes - Phases de vol - - - Flight mode - Phase de vol - - - DISABLED - DESACTIVE - - - - Mixers - Mixages - - - - - - CH - VOIE - - - noTrim - Pas de trim - - - - - - - - Offset - Décalage - - - Delay(u%1:d%2) - Délai(h%1:b%2) - - - Slow(u%1:d%2) - Ralenti(h%1:b%2) - - - Warn - Avertissement - - - - Limits - Débattements - - - - - - - Min - Min - - - - - - - Max - Max - - - - - - Invert - Inversé - - - - - - INV - Inversion - - - - - - NOR - Normal - - - - Curves - Courbes - - - - - - Curve - Courbe - - - - pt %1 - point %1 - - - - Logical Switches - Inters logiques - - - LS - IL - - - - Global Variables - Variables globales - - - - GV - VG - - - - Special Functions - Fonctions spéciales - - - Function - Fonction - - - Parameter - Paramètre - - - Repeat - Répétition - - - - - Telemetry Settings - Paramètres de télémesure - - - - - Alarm 1 - Alarme 1 - - - - - Alarm 2 - Alarme 2 - - - - - Analog - Analogique - - - - Timer%1 - Chrono%1 - - - - Internal Radio System - Module HF interne - - - - Radio System - Module HF - - - - External Radio Module - Module HF externe - - - - Extra Radio System - Module HF supplémentaire - - - - Trainer port mode - Mode du port écolage - - - - Off - - - - - Inputs - Entrées - - - NoTrim - Pas de trim - - - Weight(%1) - Ratio(%1) - - - Switch(%1) - Inter(%1) - - - No DR/Expo - Pas d'expo/DR - - - Offset(%1) - Décalage(%1) - - - Warn(%1) - Alerte(%1) - - - - L - - - - SF%1 - FS%1 - - - - Range - Plage - - - - Alarms - Alarmes - - - - Low Alarm - Alarme basse - - - - Critical Alarm - Alarme critique - - - - RSSI - - - - - Unit - Unité - - - - Scale - Echelle - - - - - - - Type - Type - - - - - - - Condition - Condition - - - - - - - Value - Valeur - - - - - - A%1 - A%1 - - - - SF - FS - - - - RSSI Alarm - Alarme RSSI - - - - Frsky serial protocol - Protocole Série FrSky - - - Units system - Système d'unités - - - - - Blades - Pales - - - - - Custom Telemetry View - Vue Télémesure personnalisée - - - - Telemetry Bars - Barres de télémesure - - - - Bar Number - Barre no - - - - Source - Source - - - + Print Document Imprimer le document - + Select PDF output file Choisir le fichier PDF de sortie - + ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) Fichiers ODF (*.odt);; Fichiers PDF (*.pdf);;Fichiers HTML (*.htm *.html);;Tous les fichiers (*) @@ -7806,18 +6117,6 @@ p, li { white-space: pre-wrap; } QObject - - - - FM%1 - FP%1 - PV%1 - - - - Input%1 - Entrée %1 - Polish @@ -7825,8 +6124,6 @@ p, li { white-space: pre-wrap; } - - CH%1 VOIE%1 @@ -7860,10 +6157,6 @@ p, li { white-space: pre-wrap; } Rot Enc E Enc Rot E - - Safety %1 - Sécurité %1 - Trainer @@ -7911,7 +6204,7 @@ p, li { white-space: pre-wrap; } - + S3 @@ -7925,10 +6218,6 @@ p, li { white-space: pre-wrap; } RSSI Rx - - Rx Batt - Batt RX - A3 @@ -8213,7 +6502,6 @@ p, li { white-space: pre-wrap; } - [I%1] [E%1] @@ -8404,32 +6692,33 @@ p, li { white-space: pre-wrap; } - Unknown Inconnu - - repeat - répét. + + played once, not during startup + - - + + repeat(%1s) + + + + DISABLED DESACTIVE - STAY(%1, [%2:%3]) - FLANC(%1, [%2:%3]) + + INV + - STICKY(%1, %2) - BISTB(%1, %2) - - - TIMER(%1, %2) - TEMPO(%1, %2) + + NOR + @@ -8468,33 +6757,33 @@ p, li { white-space: pre-wrap; } - - + + --- - + Rud Trim Trim Dir - + Ele Trim Trim Prf - + Thr Trim Trim Gaz - + Ail Trim Trim Ail - + Rot Enc Enc. rot. @@ -8553,84 +6842,6 @@ p, li { white-space: pre-wrap; } Play Both Jouer les 2 - - - - Weight - Ratio - - - - - Switch - Interrupteur - - - - - NoTrim - Pas de trim - - - - No DR/Expo - Pas d'expo/DR - - - - Offset - Décalage - - - - Delay - Délai - - - - Slow - Ralenti - - - - Warn - Avertissement - - - - Flight modes - Phases de vol - - - - Flight mode - Phase de vol - - - - Edge(%1, [%2:%3]) - Flanc(%1, [%2:%3]) - - - - Sticky(%1, %2) - Bistable(%1, %2) - - - - Timer(%1, %2) - - - - - Duration (%1s) - Durée (%1s) - - - - Delay (%1s) - Délai (%1s) - Override %1 @@ -8656,47 +6867,35 @@ p, li { white-space: pre-wrap; } Background Music Pause Pause musique de fond - - Delay %1 sec - Délai %1 sec - Edge Flanc - Duration %1 sec - Durée %1 sec - - - - - + + + <font color=red><b>Inconsistent parameter</b></font> <font color=red><b>Paramètre inconsistant</b></font> - All - Tous - - - + Telemetry Télémesure - + Value Valeur - + Decr: Décr: - + Incr: Incr: @@ -8711,47 +6910,47 @@ p, li { white-space: pre-wrap; } - + Value Valeur - + Source - + GVAR VG - + Increment Incrément - + Flight Vol - + !Flight mode %1 !Phase de vol %1 - + Flight mode %1 Phase de vol %1 - + Own value Valeur indépendante - + Flight mode %1 value Flight phase %1 value Valeur de la phase de vol %1 @@ -8773,7 +6972,7 @@ p, li { white-space: pre-wrap; } - + -GV%1 -VG%1 @@ -8783,7 +6982,37 @@ p, li { white-space: pre-wrap; } Ajuster VG%1 - + + SetFailsafe Int. Module + + + + + SetFailsafe Ext. Module + + + + + RangeCheck Int. Module + + + + + RangeCheck Ext. Module + + + + + Bind Int. Module + + + + + Bind Ext. Module + + + + Rotary Encoder Encodeur rotatif @@ -8793,180 +7022,54 @@ p, li { white-space: pre-wrap; } Finlandais - + Yellow Jaune - + Orange Orange - + Red Rouge - + Winged Shadow How High Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (non supporté) - + FrSky Sensor Hub Sensor Hub FrSky - + None Aucun - + Imperial Impérial - + Metric Métrique - - - Extra Fine - Extra fin - - - - Fine - Fin - - - - Medium - Moyen - - - - Coarse - Grossier - - - - %1:%2 - - - - - , Persistent - , persistant - - - - , MinuteBeep - , bip minute - - - - , CountDown(Beeps) - , compte à rebours (bips) - - - - , CountDown(Voice) - , compte à rebours (voix) - - - - - : Channel start: %1, %2 Channels, %3usec Delay, Pulse polarity %4 - : Canal de départ: %1, "2 canaux, délai %3us, polarité %4 - - - - : Channel start: %1, %2 Channels - : Canal de départ: %1, "2 canaux - - - - Slave/Jack - Elève/Jack - - - - Master/SBUS Module - Maître/SBUS module - - - - Master/CPPM Module - Maître/CPPM module - - - - Master/SBUS in battery compartment - Maître/SBUS compartiment batterie - - - - Master/Jack - Maître/Jack - - - - Exponential - Exponentiel - - - Count Up - Croissant - - - Count Down - Décroissant - - - : %1 Channels, %2usec Delay - : %1 voies, délai de %2us - - - Flight modes(%1) - Phases de vol(%1) - - - Flight mode(%1) - Phase de vol(%1) - - - - Rudder - Direction - - - - Elevator - Profondeur - - - - Throttle - Gaz - - - - Aileron - Ailerons - - + GV%1 VG%1 @@ -8974,13 +7077,12 @@ p, li { white-space: pre-wrap; } - + ---- - - + THR Gaz @@ -8997,8 +7099,8 @@ p, li { white-space: pre-wrap; } - - + + P1 @@ -9009,14 +7111,13 @@ p, li { white-space: pre-wrap; } - + V - - + s @@ -9101,15 +7202,15 @@ p, li { white-space: pre-wrap; } - - + + P2 - - + + P3 @@ -9265,25 +7366,25 @@ p, li { white-space: pre-wrap; } - + Rud Dir - + Ele Prf - + Thr Gaz - + Ail Ail @@ -9310,7 +7411,8 @@ p, li { white-space: pre-wrap; } - + + S1 @@ -9372,62 +7474,69 @@ p, li { white-space: pre-wrap; } - + + S2 - + + LS - + + RS + F1 + F2 + F3 + F4 - + REa - + REb - + Timer3 Chrono 3 @@ -9567,603 +7676,551 @@ p, li { white-space: pre-wrap; } - - + + Support for frsky telemetry mod Support de la télémétrie FrSky - - + + Support for jeti telemetry mod Support de la télémétrie JETI - - + + Support for receiving ardupilot data Support de la télémétrie ARDUPILOT - - + + Support for receiving NMEA data Support de la télémétrie NMEA - + Support for telemetry easy board Support de la carte TelemetrEZ - - + + Support for MAVLINK devices Support du protocole MAVLINK - + Rotary Encoder use in menus navigation Utiliser un encodeur rotatif pour la navigation - Possibility to enable FAI MODE at field - Possibilité d'activer le mode FAI sur le terrain - - - FAI MODE always enabled - Mode FAI toujours actif - - - - - - - - + + + + + + Enable heli menu and cyclic mix support Activer le menu hélico et les mixages CCPM - - - - - - - - + + + + + + + + + Enable TEMPLATES menu Inclure les gabarits - - - - + + + + No splash screen Pas d'écran de démarrage - - - - - - - - + + + + + + + + + Disable curves menus Désactiver le menu des courbes - - - - + + + + Support for radio modified with regular speaker Haut-parleur au lieu du buzzer d'origine - - - - - + + + + + Used if you have modified your radio with voice mode Support du module vocal - - - - - + + + + + Used if you have modified your radio with haptic mode Support du vibreur - + Channel values displayed in us Positions de voies affichées en us - - - - - - - + + + + + + + + Battery graph Graphique de batterie - + Use alternative SQT5 font Utiliser la police alternative SQT5 - + (displaying only first 10 warnings) (les 10 premiers avertissements sont affichés) - + Possibility to enable FAI MODE (no telemetry) at field Possibilité d'activer le mode FAI (télémétrie désactivée) sur le terrain - + FAI MODE (no telemetry) always enabled Mode FAI (télémétrie désactivée) toujours actif - + + + + Support for a third timer Support d'un 3e chrono - + + Instead of Joystick emulation, USB connection is Mass Storage (as in the Bootloader) + Le port USB connecte les disques virtuels au lieu du joystick (comme dans le bootloader) + + + + Instead of Joystick emulation, USB connection is Command Line Interface + Le port USB est utilisé pour un port série avec interface par ligne de commande au lieu du joystick + + + Removes D8 and LR12 FrSky protocols that are not legal for use in the EU on radios sold after Jan 1st, 2015 Supprime les protocoles RF D8 et LR12 qui ne sont plus utilisable légalementen Europe sur les radios vendues après le 1er janvier 2015 - + Support for PPM internal module hack Support du remplacement du module interne par un module PPM - + ST7565P LCD or compatible ST7565P LCD ou compatible - + ST7565R LCD or compatible ST7565R LCD ou compatible - + ERC12864FSF LCD LCD ERC12864FSF - + ST7920 LCD LCD ST7920 - + 9X board FlySky /Turnigy 9x - - - - + + + + Enable the throttle trace in Statistics Activer l'historique du manche des gaz dans les statistiques - + EEprom write progress bar Barre de progression pour l'écriture de l'EEPROM - - + + No Winged Shadow How High support Supprimer le support du variomètre Winged Shadow How High - - + + No vario support Supprimer la fonction variomètre audio - - + + No GPS support Supprimer le support du GPS - - + + No gauges in the custom telemetry screen Supprimer l'affichage des valeurs de télémesure par barres - + Allow compensating for offset errors in FrSky FAS current sensors Permettre la compensation d'un décalage des capteurs de courant FASxx FrSky - - + + Add support for reversing stick inputs (e.g. needed for FrSky gimbals) Ajoute le support de l'inversion des manches (nécessaire pour l'utilisation de manches FrSky) - OpenTX for MEGA2560 board - OpenTX pour carte MEGA2560 - - - + Power management by soft-off circuitry Gestion alim. par software - + + ar9x board / 9X + 9x avec carte AR9X + + + 9XR-PRO - + FrSky Taranis - + FrSky Taranis Plus - + FrSky Taranis X9E - + Confirmation before radio shutdown Confirmation à l'arrêt - - + + Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views Ajoute une vue de la sortie des mixeurs au moniteur de canaux, ENT pour passer d'une vue à l'autre - OpenTX for 9XR-PRO - OpenTX pour 9XR-PRO - - - OpenTX for FrSky Taranis X9E - OpenTX pour Taranis X9E - - - PPM values displayed in us - Valuers affichées en us - - - + Haptic module installed Module vibreur installé - + Support for Lua model scripts Support des scripts Lua - - No Joystick emulation inside the FW (only Mass Storage as in the Bootloader) - Pas d'émulation de joystick dans le firmware (accès mémoire uniquement) - - - Removes D8 and LR12 FrSky protocols that are not legal for use anymore on radios sold after Jan 1st, 2015 - Supprime les protocoles RF D8 et LR12 qui ne sont plus utilisable légalement sur les radios vendues après le 1er janvier 2015 - - - OpenTX for FrSky Taranis Plus - OpenTX pour FrSky Taranis Plus - - - OpenTX for FrSky Taranis Rev4a - OpenTX pour FrSky Taranis Rev4a - - - - + + Support of FrSky PXX protocol Support du protocole PXX FrSky - Use FrSky Taranis sticks in a 9X/9XR - Use FrSky's taranis like sticks - Manches de FrSky Taranis installés dans une 9X/9XR - - - OpenTX for FrSky Taranis - OpenTX pour FrSky Taranis - - - + Disable HELI menu and cyclic mix support Supprimer le menu HELICO et les mixages cycliques - Disable TEMPLATES menu - Supprimer le menu des gabarits - - - + Disable Global variables Supprimer le support des variables globales - - - - - + + + + + Support for DSM2 modules Support du protocole DSM2 - - - - - - - - + + + + + + + + + PPM center adjustment in limits Neutres PPM ajustables - - - - - - - - + + + + + + + + + Symetrical Limits Limites symétriques - - - - - - + + + + + + + Pots use in menus navigation Support de la navigation dans les menus avec les POTS - - Your radio probably uses a wrong firmware, - eeprom size is 4096 but only the first 2048 are used - Il semblerait que votre radio utilise le mauvais firmware. -La taille de l'EEPROM est de 4096, mais seulement les 2048 premiers sont utilisés. Pensez à charger la version pour m128. - - - + No OverrideCH functions available Désactive la fonction spéciale "Remplace CHx" - OpenTX for 9X board - OpenTX pour 9X - - - - - - - - - - + + + + + + + + + No flight modes Pas de phases de vol - - + + SmartieParts 2.2 Backlight support Support du rétroéclairage pour la carte SmartieParts 2.2 - - - - - + + + + + + Enable resetting values by pressing up and down at the same time Permet la remise à zéro des valeurs en pressant haut-bas en même temps, valeur min avec gauche/bas, valeur max avec haut/droite, inversion avec gauche/droite - - - - - - - + + + + + + + + No graphical check boxes and sliders Pas de cases à cocher et de curseurs graphiques - - - - - - - + + + + + + + + Don't use bold font for highlighting active items Ne pas mettre les lignes actives en gras - OpenTX for M128 / 9X board - OpenTX pour 9X avec m128 - - - - - - - + + + + + EEprom write Progress bar Barre de progression affichée lors des écritures EEPROM - - - - - - + + + + + + Imperial units Unités Impériales - + M128 / 9X board 9x avec M128 - + 9XR - + 9XR with M128 chip 9XR avec M128 - + Gruvin9x board / 9X 9x avec carte Gruvin9x - + MEGA2560 board Carte M2560 perso - + Sky9x board / 9X 9x avec carte Sky9X - - + + + Bluetooth interface Interface Bluetooth - - - - - - - - + + + + + + + + + Global variables Variables globales - - - - - - - - + + + + + + + + + In model setup menus automatically set source by moving the control Sélectionner les sources des mixeurs en bougeant le contrôle désiré - - - - - - - - + + + + + + + + + In model setup menus automatically set switch by moving the control Sélectionner les interrupteurs en bougeant le contrôle désiré - OpenTX for 9XR - OpenTX pour 9XR - - - OpenTX for 9XR with M128 chip - OpenTX pour 9XR avec m128 - - - OpenTX for Gruvin9x board / 9X - OpenTX pour carte Gruvin9x - - - - + + Support for SD memory card Support de la carte SD - + Support for DSM2 modules using ppm instead of true serial Support pour les modules DSM2 par le signal PPM - OpenTX for Sky9x board / 9X - OpenTX pour carte Sky9x - - - - + + + Enable HELI menu and cyclic mix support Activer le menu hélico et les mixages CCPM - + Timer1 Chrono 1 - + Timer2 Chrono 2 @@ -10194,18 +8251,18 @@ La taille de l'EEPROM est de 4096, mais seulement les 2048 premiers sont ut L'utilisation simultanée de l'expo et d'une courbe n'est plus possible - - + + Warning Avertissement - + EEPROM saved with these warnings: EEPROM enregistrée avec les avertissements suivants: - + Simulator for this firmware is not yet available Le simulateur n'est pas encore disponible pour ce firmware @@ -10215,67 +8272,63 @@ La taille de l'EEPROM est de 4096, mais seulement les 2048 premiers sont ut th9x ne supporte pas d'encodeurs rotatifs sur cette carte - + Source %1 cannot be exported on this board! La source %1 n'est pas supportée sur cette plateforme! - + OpenTX only accepts %1 points in all curves OpenTX n'accepte que %1 points au maximum entre toutes les courbes - + OpenTx only accepts %1 points in all curves OpenTX n'accepte que %1 points au maximum entre toutes les courbes - - - + + - + + OpenTX on this board doesn't accept this function OpenTX ne supporte pas cette fonction sur cette carte - + OpenTX doesn't accept this telemetry protocol OpenTX ne supporte pas ce protocole de télémesure - - - + + + OpenTX doesn't accept this radio protocol OpenTX ne supporte pas ce protocole radio - OpenTX doesn't accept this protocol - OpenTX ne supporte pas ce protocole - - - + OpenTX doesn't allow this number of channels OpenTX ne supporte pas ce nombre de voies - + Trim disabled Trim désactivé - + Own Trim Valeur indépendante - + Use Trim from Flight mode %1 Utiliser le trim de la phase de vol %1 - + Use Trim from Flight mode %1 + Own Trim as an offset Utiliser le trim de la phase de vol %1 + une valeur indépendante additionnée @@ -10309,25 +8362,21 @@ The OpenTX Team. L'équipe OpenTX. - - Negative - Négative - - - - Positive - - - - + + + - Synchronization error Erreur de synchronisation - + + No SD directory configured! + Aucun dossier SD configuré! + + + No Radio connected! Aucune radio connectée! @@ -10337,33 +8386,33 @@ L'équipe OpenTX. VG - + -%1 + - The directory '%1' doesn't exist! Le répertoire %1 n'existe pas! - + Create '%1' failed Impossible de créer %1 - + Copy '%1' to '%2' failed La copie de %1 vers %2 a échoué - + Open '%1' failed L'ouverture de %1 a échoué - + Write '%1' failed L'écriture de %1 a échoué @@ -10420,10 +8469,6 @@ L'équipe OpenTX. <html><head/><body><p>No Radio was found!</p><p>Make sure that you hold the lower trim buttons towards the center while you turn it on.</p><p>Then connect the USB wire.</p><p><span style=" font-family:'arial,sans-serif'; font-size:13px; font-style:italic; color:#222222; background-color:#ffffff;">Note: if you have a Taranis that has not had the firmware upgraded to 2.0 then this version of Companion will not work.</span></p></body></html> <html><head/><body><p>Aucune radio détectée!</p><p>Veuillez vous assurer de maintenir les 2 trims horizontaux vers l'intérieur lors de la mise sous tension de la radio.</p><p>Ensuite connecter le câble USB.</p><p><span style=" font-family:'arial,sans-serif'; font-size:13px; font-style:italic; color:#222222; background-color:#ffffff;">Note: Cette version de Companion ne doit être utilisée pour éditer des réglages que si la version du firmware de la radio est au moins 2.0.</span></p></body></html> - - <html><head/><body><p>No Radio was found!</p><p>Make sure that you hold the lower trim buttons towards the center while you turn it on.</p><p>Then connect the USB wire.</p></body></html> - <html><head/><body><p>Radio non détectée!</p><p>Assurez-vous de maintenir les 2 trims horizontaux pendant la mise sous tension,</p><p>puis connectez le câble USB.</p></body></html> - OK @@ -10449,17 +8494,17 @@ L'équipe OpenTX. RudderPage - + No Non - + Yes Oui - + <br>Rudder Channel: <br>Voie de dérive: @@ -10467,156 +8512,157 @@ L'équipe OpenTX. Setup - + Center beep Bip de centrage - + OFF - + Model Image Image du modèle - + Exponential Exponentiel - + Throttle Trim Idle Only Trim ralenti uniquement - + Timer 3 Chrono 3 - + Extra Fine Extra fin - + Fine Fin - + Medium Moyen - + Coarse Grossier - + Display Checklist Afficher la checklist - + Timer 2 Chrono 2 - + Timer 1 Chrono 1 - + Never Jamais - + On change Au changement - + Always Toujours - + Global Functions Fonctions globales - + Throttle Source Source des gaz - Timer Source - Source chrono - - - + Trim Step Pas des trims - + Trims Display Affichage des trims - + Warnings Avertissements - + + Top LCD Timer + + + + Switch Warnings Positions des interrupteurs - + Pot Warnings Positions des potentiomètres - + Manual Manuel - + Auto - + Model Modèle - + Extended Limits Débattements étendus - + Extended Trims Trims étendus - + Throttle Warning Alerte gaz - + 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. @@ -10627,15 +8673,23 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo - + Reverse Throttle Gaz inversés + + SetupPanel + + + Timer %1 + + + SimpleTailPage - + Elevator Channel: Voie de profondeur: @@ -10810,10 +8864,44 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Sorties + + SplashLibraryDialog + + + + ... + + + + + Splash Library - page %1 of %2 + Bibliothèque de splash - page %1 sur %2 + + + + Warning + Avertissement + + + + Invalid image in library %1 + Image invalide dans la bibliothèque %1 + + + + Information + + + + + No valid image found in library, check your settings + Aucune image valide trouvée dans la bibliothèque, vérifiez vos paramètres + + StandardPage - + Channel %1 Voie %1 @@ -10821,25 +8909,24 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo SyncProcess - + + %1/%2 files + Fichier %1/%2 + + + Create directory %1 Création du répertoire %1 - + Copy %1 to %2 Copie de %1 vers %2 - - Read %1 - - Lecture de %1 - - - + Write %1 Ecriture de %1 @@ -10848,35 +8935,40 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo TailPage - + Rudder Channel: Voie de dérive: - + Elevator Channel: Voie de profondeur: + + + Only one channel still available!<br>You probably should configure your model without using the wizard. + Plus qu'un canal disponible! Vous devriez peut-être configurer ce modèle sans l'assistant. + TailSelectionPage - + Elevator and Rudder Profondeur et dérive - + Only Elevator Profondeur uniquement - + V-tail Empennage en V - + Tail Type: Type d'empennage: @@ -10884,86 +8976,66 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Telemetry - + A1 - + A2 - + RSSI - + Alarm 1 Alarme 1 - RxBatt - Batt. Rx - - - Critical Alarm - Alarme critique - - - - + + ---- ---- - - + + Yellow Jaune - - + + Orange Orange - - + + Red Rouge - + Alarm 2 Alarme 2 - CELS - ELEM - - - + Serial Protocol Protocole Série - + Volt source Source de mesure de tension - Metric - Métrique - - - Imperial - Impérial - - - + Current source Source de mesure de courant @@ -10973,152 +9045,112 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Protocole - NONE - Aucune - - - FAS - FAS - - - + None Aucun - + FrSky Sensor Hub Sensor Hub FrSky - Units - Unités - - - + Blades Pales - Alti - Alti - - - Alti+ - Alti+ - - - Vario - Vario - - - + Sink Max Chute max - Off - Désactivé - - - + Climb Max Montée max - + Sink Min Chute min - + Climb Min Montée min - + Center Silent Neutre silencieux - + Vario source Source vario - + Vario limits Limites vario - Use GPS as altitude source - Utiliser le GPS comme source d'altitude - - - Display altitude in toolbar - Affichage de l'altitude dans la barre de notifs - - - + Altimetry Altitude - + Altitude source Source de l'altitude - + Volts source Source de la tension - + Top Bar - Barre de titre de l'céran d'accueil + Barre de titre de l'écran d'accueil - + mAh - + A - + Various Divers - + Sensors Capteurs - + Disable multi sensor handling Désactiver la gestion des capteurs multiples - + mAh count Valeur enregistrée - Low Alarm - Alarme basse - - - + FAS Offset Décalage FAS - + Persistent mAh Mémorisation des mAh @@ -11232,17 +9264,7 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Courant (mA) - - Low Alarm - Alarme basse - - - - Critical Alarm - Alarme critique - - - + Range Plage @@ -11255,26 +9277,22 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Type d'écran personnalisé - Nums - Valeurs - - - + None Aucun - + Numbers Chiffres - + Bars Barres - + Script @@ -11302,103 +9320,99 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo TelemetryPanel - + FrSky S.PORT - + FrSky D - + FrSky D (cable) FrSky D (câble) - + Telemetry screen %1 Ecran de télémesure %1 - + Low Alarm Alarme basse - + Critical Alarm Alarme critique - + Winged Shadow How High Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (non supporté) - + Alti Alti - + Alti+ Alti+ - + VSpeed Vitesse V - - - + + + A1 - - - + + + A2 - RxBatt - Batt. Rx - - - - + + A3 - - + + A4 - - + + FAS - + Cells Velm - + --- @@ -11504,119 +9518,119 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo - Amps Sensor : - Capteur de courant: + Sensor : + Capteur: + + + + V + + + + + A + + + + + mA + + + + + kt + + + + + m/s + + + + + ft/s + + + + + km/h + + + + + mph + + + + + m + + + + + ft + + + + + °C + + + + + °F + + + + + % + + + + + mAh + + + + + W + + + + + dBm + + + + + g + + + + + ° + + + + + mL + + + + + US fl.Oz. + Raw (-) Chiffres bruts (-) - - - Voltage (V) - Tension (V) - - - - Current (A) - Courant (A) - - - - Current (mA) - Courant (mA) - - - - Speed (kts) - Vitesse (kt) - - - - Speed (m/s) - Vitesse (m/s) - - - - Speed (ft/s) - Vitesse (ft/s) - - - - Speed (km/h) - Vitesse (km/h) - - - - Speed (miles/h) - Vitesse (mph) - - - - Meters (m) - Distance (m) - - - - Feet (ft) - Distance (ft) - - - - Temp (°C) - Température (°C) - - - - Temp (°F) - Température (°F) - - - - Percentage (%) - Pourcentage (%) - - - - Energy (mAh) - Energie (mAh) - - - - Power (W) - Puissance (W) - - - - RF Power (dBm) - Niveau RF (dB) - RPM Tours/minute - - - Acceleration (g) - Accélération (g) - - - - Heading (°) - Cap (°) - - - - Volume (mL) - - - - - Volume (US fl.Oz.) - - Precision @@ -11627,10 +9641,6 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Ratio - - Range - Plage - Blades @@ -11675,22 +9685,22 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo TelemetrySensorPanel - + Lowest Min. - + Cell %1 Elém. %1 - + Highest Max. - + Delta @@ -11903,7 +9913,17 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Simulation activée - + + Instance + + + + + 2 + + + + <html><head/><body><p>Start with <span style=" font-style:italic;">0x</span> for hex, <span style=" font-style:italic;">0</span> for octal, otherwise decimal.<br/>Numeric entry only. Blank values are not sent.</p></body></html> <html><head/><body><p>Préfixe <span style=" font-style:italic;">0x</span> pour hexadécimal, <span style=" font-style:italic;">0</span> pour octal, sinon décimal.<br/>Valeurs numériques uniquement, les champs vierges ne sont pas transmis.</p></body></html> @@ -11911,17 +9931,17 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo ThrottlePage - + Yes Oui - + No Non - + <br>Throttle Channel: <br>Voie des gaz: @@ -11938,40 +9958,41 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Minute Call Annonces minutes - - Persistent - Persistant - TimerPanel - + Silent Aucun - + Beeps Bips - + Voice Voix - + + Haptic + Vibreur + + + Not persistent Non persistant - + Persistent (flight) Persistant (vol) - + Persistent (manual reset) Persistant (RAZ manuelle) @@ -12110,12 +10131,12 @@ Extra long : bips extra longs. VTailPage - + First Tail Channel: Première voie d'empennage: - + Second Tail Channel: Deuxième voie d'empennage: @@ -12123,12 +10144,12 @@ Extra long : bips extra longs. WingtypeSelectionPage - + Standard Wing Aile standard - + Flying Wing / Deltawing Aile delta @@ -12205,10 +10226,6 @@ Extra long : bips extra longs. Flying-wing / Delta-wing Aile delta - - Are the elevons controlled by servos connected to separate channels or by a single servo channel? - Les élevons sont-ils commandés par des servos connectés à des voies différentes, ou à une seule voie ? - Select the elevons channels @@ -12348,10 +10365,6 @@ Extra long : bips extra longs. Models use one or two channels to control the ailerons.<br>A so called Y-cable can be used to connect a single receiver channel to two separate aileron servos. If your servos are connected by a Y-cable you should select the single-servo option.<br><br>Aileron - Spektrum: CH2, Futaba: CH1 On utilise en général soit 1, soit 2 voies pour contrôler les ailerons. Un câble en Y peut être utilisé pour connecter 2 servos à une seule voie, auquel cas il convient de choisir l'option "une seule voie".<br><br>Ailerons - Spektrum : CH2, Futaba : CH1 - - Models use one or two channels to control the elevons.<br>A so called Y-cable can be used to connect single a receiver channel to two separate elevon servos. If your servos are connected by a Y-cable you should select the single-servo option. - On utilise en général soit un, soit 2 voies pour contrôler les élevons. Un câble en Y peut être utilisé pour connecter 2 servos à une seule voie, auquel cas il convient de choisir l'option "une seule voie". - This wizard assumes that your flaps are controlled by a switch. If your flaps are controlled by a potentiometer you can change that manually later. @@ -12418,180 +10431,41 @@ Extra long : bips extra longs. WizardPrinter - + Plane Avion - + Multicopter Multicoptère - + Helicopter Hélicoptère - + Model Name: Nom du modèle: - + Model Type: Type de modèle: - + Options: - + Channel %1: Voie %1: - - avrOutputDialog - - Dialog - Dialogue - - - Show Details - Voir les détails - - - result - result - résultat - - - executable not found - executable not found - Binaire non trouvé - - - Error - Erreur - - - Cannot open source file - Impossible d'ouvrir le fichier source - - - Cannot write destination - Impossible d'écrire le fichier de destination - - - Writing file: - Ecriture du fichier: - - - Write error - Erreur d'écriture - - - ie: OpenTX for 9X board or OpenTX for 9XR board - p.ex. OpenTX pour carte d'origine 9x ou OpenTX pour 9XR - - - ie: OpenTX for M128 / 9X board or OpenTX for 9XR board with M128 chip - p.ex. OpenTX pour carte d'origine 9x avec m128 ou OpenTX pour 9XR avec m128 - - - ie: OpenTX for Gruvin9X board - p.ex. OpenTX pour carte gruvin9x - - - Your radio uses a %1 CPU!!! - -Please check advanced burn options to set the correct cpu type. - Votre radio utilise un processeur %1 ! - -Vérifiez les options de programmateur et choisissez le bon type de processeur. - - - Your radio uses a %1 CPU!!! - -Please select an appropriate firmware type to program it. - Votre radio utilise un processeur %1 ! - -Veuillez choisir le firmware approprié. - - - -You are currently using: - %1 - -Vous utilisez actuellement: -%1 - - - Writing - Ecriture - - - Reading - Lecture - - - Verifying - Vérification - - - done - exit code %1 - done - exit code %1 - terminé - code de sortie %1 - - - done with errors - done with errors - terminé avec des erreurs - - - done - SUCCESSFUL - done - SUCCESSFUL - terminé avec SUCCES - - - did not finish correctly - did not finish correctly - n'a pas terminé correctement - - - did not finish correctly! -Do you want some help ? - did not finish correctly! -Do you want some help ? - n'a pas terminé correctement. -Avez-vous besoin d'aide? - - - Copy did not finish correctly - La copie ne s'est pas terminée correctement - - - finished correctly - finished correctly - a terminé correctement - - - Copy finished correctly - La copie s'est terminée correctement - - - Started - Started - Démarré - - - FUSES: Low=%1 High=%2 Ext=%3 - Fusibles: Bas=%1 Haut=%2 Ext=%3 - - burnConfigDialog @@ -12708,10 +10582,6 @@ Consulter la documentation du programmateur utilisé et celle d'AVRDUDE pou 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>AVERTISSEMENT!</u></b><br>Ceci réinitialisera les fusibles %1 à leur valeur par défaut.<br>Modifier les fusibles peut entraîner le blocage de votre émetteur.<br>Ne l'effectuer que si vous êtes certain qu'ils sont incorrects!<br>Etes-vous sûr de vouloir continuer? - <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. @@ -12807,228 +10677,6 @@ m2560 for v4.1 boards Port série de SAM-BA - - burnDialog - - Customize Splash - Personnaliser l'écran d'accueil - - - <html><head/><body><p>Modify calibration parameters using settings from current profile</p></body></html> - <html><head/><body><p>Charger l'étalonnage du profil courant</p></body></html> - - - Patch calibration setting from profile - Patcher l'étalonnage du profil courant - - - <html><head/><body><p>Modify HW parameters using settings from current profile</p></body></html> - <html><head/><body><p>Charger les paramètres hardware du profil courant</p></body></html> - - - Patch HW setting from profile - Patcher les paramètres hardware du profil courant - - - Date & Time - Date et heure - - - Use firmware start screen - Utiliser l'écran d'accueil du firmware - - - Use another start screen - Utiliser un autre écran d'accueil - - - Use profile start screen - Utiliser l'écran d'accueil du profil - - - Use library start screen - Utiliser un écran d'accueil de la bibliothèque - - - Browse for file - Parcourir... - - - Allows Companion to write to older version of the firmware - Permet à Companion de transférer des réglages à une ancienne version de firmware - - - Backup and restore Models and Settings - Sauvegarder et restaurer les réglages et modèles - - - Write to TX - Transférer - - - Variant - Variante - - - Check Firmware compatibility - Vérifier la compatibilité du firmware - - - Current Profile - Profil courant - - - Cancel - Annuler - - - Warning - Avertissement - - - Profile image %1 is invalid. - L'image du profil %1 est invalide. - - - Images (%1) - Images (%1) - - - Error - Erreur - - - Write firmware to Radio - Transférer le firmware à la radio - - - Write Backup to Radio - Transférer une sauvegarde à la radio - - - Write Backup from %1 to Radio - Transférer la sauvegarde %1 à la radio - - - Current profile - Profil courant - - - Unable to find file %1! - Fichier %1 introuvable! - - - Error opening file %1: -%2. - Erreur à l'ouverture du fichier %1: -%2. - - - Invalid binary Models and Settings File %1, Proceed anyway ? - Fichier binaire de réglages et modèles %1 invalide, continuer quand même? - - - Error reading file %1: -%2. - Fichier %1 corrompu: -%2. - - - Open Firmware File - Sélectionner le firmware - - - Choose Radio Backup file - Sélectionner le fichier de sauvegarde - - - %1 may not be a valid firmware file - %1 ne semble pas être un firmware valide - - - The firmware file is not valid. - Le firmware est invalide. - - - There is no start screen image in the firmware file. - Aucun écran d'accueil trouvé dans le firmware. - - - Open image file to use as radio start screen - Ouvrir l'image à utiliser comme écran d'accueil - - - Image could not be loaded from %1 - L'image %1 n'a pu être chargée - - - The library image could not be loaded - L'image n'a pu être chargée depuis la bibliothèque - - - Cannot save customized firmware - Impossible d'enregistrer le firmware personnalisé - - - Custom image not found - Image personnalisée non trouvée - - - No firmware selected - Aucun firmware sélectionné - - - Wrong radio calibration data in profile, Settings not patched - Données de calibration incorrectes dans le profil, les réglages ne seront pas transférés - - - Wrong radio setting data in profile, Settings not patched - Données de configuration incorrectes dans le profil, les réglages ne seront pas transférés - - - Cannot write file %1: -%2. - Ecriture fichier %1 impossible: -%2. - - - Error writing file %1: -%2. - Erreur d'écriture fichier %1: -%2. - - - - contributorsDialog - - People who have contributed to this project - Donateurs supportant le projet - - - Coders - Développeurs - - - Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) - Les honneurs vont à Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) - - - Companion Release Notes - Notes de version de Companion - - - Thank you all !!! - Merci à tous !!! - - - Contributors - Contributeurs - - - OpenTX Release Notes - Notes de version d'OpenTX - - customizeSplashDialog @@ -13177,139 +10825,6 @@ m2560 for v4.1 boards Le téléchargement a échoué : %1. - - fusesDialog - - Fuses - Fusibles - - - <!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:'Sans Serif'; font-size:9pt; 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-family:'MS Shell Dlg 2'; font-size:8pt;">Reads the current fuses in the AVR controller.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">Proper states for </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">AtMega 64 </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">:</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-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse not set: 0E, 81, FF</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-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse set: 0E, 89, FF</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">Proper states for AtMega 2560 :</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-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse not set: D7, 11, FC</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-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse set: D7, 19, FC</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:'Sans Serif'; font-size:9pt; 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-family:'MS Shell Dlg 2'; font-size:8pt;">Lit l'était des vusibles du processeur de la radio.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">Valeurs normales pour l' </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">ATMega 64 </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">:</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-family:'MS Shell Dlg 2'; font-size:8pt;">Maintien de l'EEPROM: 0E, 81, FF</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-family:'MS Shell Dlg 2'; font-size:8pt;">Effacement de l'EEPROM: 0E, 89, FF</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">Valeurs normales pour l'ATMega2560:</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-family:'MS Shell Dlg 2'; font-size:8pt;">Maintien de l'EEPROM: D7, 11, FC</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-family:'MS Shell Dlg 2'; font-size:8pt;">Effacement de l'EEPROM: D7, 19, FC</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:'Sans Serif'; font-size:9pt; 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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">Reset Fuses</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-family:'MS Shell Dlg 2'; font-size:8pt;">Fuses in the AVR tell it how to behave. Pressing this button sets the fuses to the default parameters needed in the FW. These parameters are different for stock and 4.1 MB, please verify you selected the appropriate processor type in preferences.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">This button also sets the &quot;EEPROM protect&quot; Fuse.</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-family:'MS Shell Dlg 2'; font-size:8pt;">This prevents erasing of the EEPROM when the flash memory is written.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">WARNING</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-family:'MS Shell Dlg 2'; font-size:8pt;">Setting fuses can lead to problems and even a total lockout from your controller. Do this only if you know what you are doing.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">When in doubt consult either the project's page or the 9xforum (http://9xforums.com/forum/)</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-family:'MS Shell Dlg 2'; font-size:8pt;">If you do get locked out - google lookup for &quot;dealing with Fuse Bricks&quot;.</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; font-weight:600; text-decoration: underline;">Réinitialiser Fusibles</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;">Les fusibles de l'AVR spécifient comment il doit se comporter. Cliquer ce bouton réinitialise les fusibles aux valeurs par défaut requises par le firmware er9x.</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-size:8pt;"></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;">Ce bouton active aussi le fusible de &quot;protection de l'EEPROM&quot;.</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;">Cela empêche l'effacement de l'EEPROM contenant les modèles lors de la mise à jour du firmware.</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-size:8pt;"></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; font-weight:600; text-decoration: underline;">AVERTISSEMENT</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;">Ajuster les valeurs des fusibles peut entraîner des problèmes voire même un blocage complet de votre radio. A n'utiliser que si vous êtes certains de ce que vous faites.</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-size:8pt;"></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;">Dans le doute, consulter la page du projet ou les forums @ RCG et RCModelreviews.</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-size:8pt;"></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;">En cas de blocage, allez sur la page du projet et consultez &quot;dealing with Fuse Bricks&quot;.</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:'Sans Serif'; font-size:9pt; 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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">Reset Fuses</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-family:'MS Shell Dlg 2'; font-size:8pt;">Fuses in the AVR tell it how to behave. Pressing this button sets the fuses to the default parameters needed in the </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">FW. These parameters are different for stock and 4.1 MB, please verify you selected the appropriate processor type in preferences.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">This button also clears the &quot;EEPROM protect&quot; Fuse.</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-family:'MS Shell Dlg 2'; font-size:8pt;">This causes erasing of the EEPROM when the flash memory is written.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">WARNING</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-family:'MS Shell Dlg 2'; font-size:8pt;">Setting fuses can lead to problems and even a total lockout from your controller. Do this only if you know what you are doing.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">When in doubt consult either the project's page or the 9xforum (http://9xforums.com/forum/)</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-family:'MS Shell Dlg 2'; font-size:8pt;">If you do get locked out - google lookup for &quot;dealing with Fuse Bricks&quot;.</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:'Sans Serif'; font-size:9pt; 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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">Réinitialiser les fusibles</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-family:'MS Shell Dlg 2'; font-size:8pt;">Les fusibles de l'AVR configurent sa manière de fonctionner. Pressser ce bouton les réinitialise aux valeurs nécessaires pour le firmware.</span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Ces paramètres sont différents pour la carte d'origine et la carte gruvin, vérifier que vous avez choisi le bon type de carte dans les préférences avant de continuer.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">Ce bouton efface aussi le fusible &quot;protection d'EEPROM&quot;</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-family:'MS Shell Dlg 2'; font-size:8pt;">L'EEPROM sera donc effacée lors d'un flashage du firmware.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">ATTENTION</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-family:'MS Shell Dlg 2'; font-size:8pt;">Redéfinir les fusibles peut rendre la radio inutilisable en cas de fausse configuration. A n'utilsier qu'en cas de bonne raison.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">En cas de doute ou de problème, se référer à la page du projet ou à http://openrcforums.com/forum/</span></p></body></html> - - - Reset Fuses -EEPROM - DELETE - Réinitialiser Fusibles -EFFACEMENT EEPROM - - - Reset Fuses -EEPROM - PROTECT - Réinitialiser Fusibles -PROTECTION EEPROM - - - <!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:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p align="center" 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;">WARNING</span></p> -<p align="center" 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 align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Changing the fuses can mess up your radio.</p> -<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Proceed only if you know what you are doing.</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:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p align="center" 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;">AVERTISSEMENT</span></p> -<p align="center" 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 align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Modifier les fusibles peut entraîner des problèmes, voire même un blocage complet de votre radio.</p> -<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">A n'utiliser que si vous êtes certain de ce que vous faites.</p></body></html> - - - Read Fuses - Lire Fusibles - - joystickDialog @@ -13535,95 +11050,6 @@ Press cancel to abort joystick calibration Duplicated stick assignment Certaines assignations sont dupliquées! - - Duplicated stick assignement - Deux entrées pour la même sortie - - - - logsDialog - - Companion Log Viewer - Visualiseur de logs de Companion - - - Filename - Nom de fichier - - - Open LogFile - Ouvrir fichier de log - - - Reset - Remise à zéro - - - Fly sessions - Sessions de vol - - - Telemetry logs - Enregistrements de télémesure - - - Time (hh:mm:ss) - Heure - - - Plot Title Change - Changer le titre du graphique - - - New plot title: - Nouveau nom de graphique: - - - Axis Label Change - Changer le nom de l'axe: - - - New axis label: - Nouveau nom d'axe: - - - Graph Name Change - Changer le nom de la série - - - New graph name: - Nouveau nom de série: - - - Error - Erreur - - - Cannot write file %1: -%2. - Ecriture fichier %1 impossible: -%2. - - - Select your log file - Sélectionnez votre fichier log - - - Available fields - Champs disponibles - - - The selected logfile contains %1 invalid lines out of %2 total lines - Le fichier de log sélectionné contient %1 lignes invalides sur %2 - - - total duration - durée totale - - - duration - durée - mdiChild @@ -13635,58 +11061,6 @@ Press cancel to abort joystick calibration preferencesDialog - - Mode 2 (RUD THR ELE AIL) - Mode 2 (DIR GAZ PROF AIL) - - - Mode 4 (AIL THR ELE RUD) - Mode 4 (AIL GAZ PROF DIR) - - - 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 - - - Choix du mode: - -Mode 1: -Manche Gauche: Profondeur, Direction -Manche Droit: Gaz, Ailerons - -Mode 2: -Manche Gauche: Gaz, Direction -Manche Droit: Profondeur, Ailerons - -Mode 3: -Manche Gauche: Profondeur, Ailerons -Manche Droit: Gaz, Direction - -Mode 4: -Manche Gauche: Gaz, Ailerons -Manche Droit: Profondeur, Direction - - - - - Mode 3 (AIL ELE THR RUD) - Mode 3 (AIL PROF GAZ DIR) - @@ -13714,137 +11088,11 @@ Manche Droit: Profondeur, Direction Open Folder Ouvrir le répertoire - - Set language of voice. -May be different from firmware language - Langue des voix. -Peut être différente de la langue du firmware - - - Export Profile - Exporter le profil - - - Import Profile - Importer le profil - Custom TX splash screen Personnaliser l'écran d'accueil - - Automatic Backup Folder - Dossier de sauvegardes automatiques - - - R E T A - D P G A - - - R E A T - D P A G - - - R T E A - D G P A - - - R T A E - D G A P - - - R A E T - D A P G - - - R A T E - D A G P - - - E R T A - P D G A - - - E R A T - P D A G - - - E T R A - P G D A - - - E T A R - P G A D - - - E A R T - P A D G - - - E A T R - P A G D - - - T R E A - G D P A - - - T R A E - G D A P - - - T E R A - G P D A - - - T E A R - G P A D - - - T A R E - G A D P - - - T A E R - G A P D - - - A R E T - A D P G - - - A R T E - A D G P - - - A E R T - A P D G - - - A E T R - A P G D - - - A T R E - A G D P - - - A T E R - A G P D - - - Automatically add version number to the filename after download - Ajouter le numéro de version au nom de fichier après téléchargement - - - SD Structure path - Chemin de la structure de la carte SD - - - Processor ID - ID du processeur - Simulator capture folder @@ -13855,54 +11103,11 @@ Peut être différente de la langue du firmware Use clipboard only Utiliser le presse-papiers - - Check for updates - Vérifier les mises à jour - - - Channel order - -This is used by the templated to determine which channel goes to what number output. - Ordre des voies -Indique l'affectation voie / numéro de voie par défaut utilisée lors de la création d'un modèle. - - - Language - Langue - - - Voice - Voix - - - Profile Name - Nom du profil - - - Save Profile - Sauvegarder profil - Simu BackLight Rétroéclairage simu - - Check for selected Fw updates - Vérifier les mises à jour de firmwares au démarrage - - - Ask use of wizard for new models - Utiliser l'assistant de configuration de modèle - - - Show Splash At Start - Afficher l'écran d'accueil au démarrage - - - Remember switches in simulator - Mémoriser les inters pour le simulateur - Blue @@ -13934,26 +11139,6 @@ Indique l'affectation voie / numéro de voie par défaut utilisée lors de Personal splash library Bibliothèque de splashs personnalisés - - Profile slot - Numéro de profil - - - Find Executable - Parcourir... - - - Google Earth Executable - Exécutable Google Earth - - - auto backup before write - Sauvegarde automatique avant programmation - - - Ask for flashing after Download - Demander pour flasher après téléchargement - Splash library behaviour @@ -13984,79 +11169,10 @@ Indique l'affectation voie / numéro de voie par défaut utilisée lors de Invert Pixels Inverser les couleurs - - Default Channel Order - Ordre des voies par défaut - Preferences Préférences - - Default Stick Mode - Mode par défaut - - - Mode 1 (RUD ELE THR AIL) - Mode 1 (DIR PROF GAZ AIL) - - - Check for updates on startup - Vérifier les mises à jour au démarrage - - - Recent History Size - Taille de l'historique des derniers documents utilisés - - - Download - Télécharger - - - - SplashLibraryDialog - - - - ... - - - - - Splash Library - page %1 of %2 - Bibliothèque de splash - page %1 sur %2 - - - - Warning - Avertissement - - - - Invalid image in library %1 - Image invalide dans la bibliothèque %1 - - - - Information - - - - - No valid image found in library, check your settings - Aucune image valide trouvée dans la bibliothèque, vérifiez vos paramètres - - - - taranisNotFoundDialog - - No Taranis Radio Found - Radio Taranis non détectée - - - <html><head/><body><p>No Taranis Radio was found!</p><p>Make sure that you hold the lower trim buttons towards the center while you turn it on.</p><p>Then connect the USB wire.</p></body></html> - <html><head/><body><p>Radio Taranis non détectée!</p><p>Assurez-vous de maintenir les 2 trims horizontaux pendant la mise sous tension,</p><p>puis connectez le câble USB.</p></body></html> - diff --git a/companion/src/translations/companion_he.ts b/companion/src/translations/companion_he.ts index 08f897059..dbd8e59f2 100644 --- a/companion/src/translations/companion_he.ts +++ b/companion/src/translations/companion_he.ts @@ -4,27 +4,27 @@ AileronsPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Aileron Channel: - + Second Aileron Channel: @@ -32,27 +32,27 @@ AirbrakesPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Airbrake Channel: - + Second Airbrake Channel: @@ -74,7 +74,7 @@ - + Open Folder @@ -308,7 +308,7 @@ Mode 4: - + Simulator Volume Gain @@ -445,62 +445,62 @@ May be different from firmware language - + Simulator BackLight - + Enable - + Blue - + Green - + Red - + Orange - + Yellow - + Joystick - + Calibrate - + Simulator capture folder - + Only capture to clipboard - + Remember simulator switch values @@ -515,64 +515,64 @@ May be different from firmware language - - + + No joysticks found - + EMPTY: No radio settings stored in profile - + AVAILABLE: Radio settings of unknown age - + AVAILABLE: Radio settings stored %1 - + 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) @@ -747,11 +747,6 @@ May be different from firmware language Stick 4 - - - Battery - - v @@ -772,9 +767,14 @@ May be different from firmware language PPM 4 + + + Battery Offset + + - Current + Current Offset @@ -1024,393 +1024,17 @@ May be different from firmware language - + No name - - General Model Settings - - - - - - - Name - - - - - - EEprom Size - - - - - - Timer1 - - - - - - Timer2 - - - - - - Internal Radio System - - - - - - Radio System - - - - - - - - Protocol - - - - - - External Radio Module - - - - - - Extra Radio System - - - - - - Trainer port mode - - - - - - Throttle Trim - - - - - - Enabled - - - - - - Disabled - - - - - - Trim Increment - - - - - - Center Beep - - - - - Flight modes Settings - - - - - - Fades - - - - - - Trims - - - - - - Switch - - - - - - - - Flight mode name - - - - - - IN - - - - - - OUT - - - - - - - - - - - - - - FM - - - - - - Gvars - - - - - - Rot. Enc. - - - - - Limits - - - - - - - - - Offset - - - - - - - - - Min - - - - - - - - - Max - - - - - - - Invert - - - - - - - - - CH - - - - - - INV - - - - - - NOR - - - - - Global Variables - - - - - - GV - - - - - Inputs - - - - - Mixers - - - - - Curves - - - - - - Curve - - - - - Logical Switches - - - - - L - - - - - Special Functions - - - - - SF - - - - - Telemetry Settings - - - - - - Analog - - - - - - Unit - - - - - - Scale - - - - - - - - A%1 - - - - - - Alarm 1 - - - - - - Alarm 2 - - - - - - - - Type - - - - - - - - Condition - - - - - - - - Value - - - - - - RSSI Alarm - - - - - - Custom Telemetry View - - - - - - Telemetry Bars - - - - - - Bar Number - - - - - - Source - - - - + Print Document - + Select PDF output file @@ -1418,7 +1042,7 @@ May be different from firmware language ConclusionPage - + OK, I understand. @@ -1456,12 +1080,12 @@ May be different from firmware language - - Thank you all !!! + + OpenTX Blacklist - + monthly @@ -1494,22 +1118,22 @@ May be different from firmware language CurveGroup - + Diff - + Expo - + Func - + Curve @@ -1716,42 +1340,42 @@ May be different from firmware language - + &Delete - + Delete - + &Copy - + Ctrl+C - + &Cut - + Ctrl+X - + &Paste - + Ctrl+V @@ -1759,22 +1383,22 @@ May be different from firmware language CyclicPage - + 90 - + 120 - + 120x - + 140 @@ -1788,232 +1412,106 @@ May be different from firmware language - ElevonsPage + EepromInterface - - <br>First Elevon Channel: + + Possible causes for this: - - Second Elevon Channel: + + - Eeprom is from a newer version of OpenTX + + + + + - Eeprom is not from OpenTX + + + + + - Eeprom is not from Th9X + + + + + - Eeprom is not from Gruvin9X + + + + + - Eeprom is not from ErSky9X + + + + + - Eeprom is not from Er9X + + + + + - Eeprom size is invalid + + + + + - Eeprom file system is invalid + + + + + - Eeprom is from a unknown board + + + + + - Eeprom is from the wrong board + + + + + - Eeprom backup not supported + + + + + - Something that couldn't be guessed, sorry + + + + + Warning: + + + + + + - Your radio probably uses a wrong firmware, + eeprom size is 4096 but only the first 2048 are used + + + + + - Your eeprom is from an old version of OpenTX, upgrading! + You should 'save as' to keep the old file as a backup. + + + + + Warnings! - Er9x::Templates + ElevonsPage - - Simple 4-CH + + <br>First Elevon Channel: - - T-Cut - - - - - Sticky T-Cut - - - - - V-Tail - - - - - Elevon\Delta - - - - - Heli Setup - - - - - Heli Setup with gyro gain control - - - - - Gyro gain control - - - - - Heli Setup (Futaba's channel assignment style) - - - - - Heli Setup with gyro gain control (Futaba's channel assignment style) - - - - - Gyro gain control (Futaba's channel assignment style) - - - - - Servo Test - - - - - MultiCopter - - - - - Use Model Config Wizard - - - - - Apply Template? - - - - - Apply template "%1"? - - - - - - - - - - - RUD - - - - - - - - - - - - - - ELE - - - - - - - THR - - - - - - - - - - - - AIL - - - - - - - - AIL2 - - - - - - - - ELE2 - - - - - - - - - - FLAPS - - - - - - - - - - FLAP%1 - - - - - - - - PITCH - - - - - - - - - - - - GYRO - - - - - - SPOIL - - - - - - SPOIL%1 - - - - - - RUD2 - - - - - - Clear Mixes? - - - - - Really clear existing mixes on CH6? - - - - - Really clear existing mixes on CH5? + + Second Elevon Channel: @@ -2132,46 +1630,26 @@ If blank then the input is considered to be "ON" all the time.Edit %1 - - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - FblPage - + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -2223,27 +1701,27 @@ May be different from firmware language FlapsPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Flap Channel: - + Second Flap Channel: @@ -2252,7 +1730,7 @@ May be different from firmware language FlashEEpromDialog - + Write Models and Settings to Radio @@ -2326,14 +1804,14 @@ May be different from firmware language - - - - - - - - + + + + + + + + Error @@ -2345,71 +1823,71 @@ May be different from firmware language - + Error opening file %1: %2. - - + + Invalid Models and Settings File %1 - + Error reading file %1: %2. - + Invalid Models and Settings file %1 - - - - + + + + Warning - + 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. - + The radio firmware belongs to another product family, check file and preferences! - + The radio firmware is outdated, please upgrade! - + Cannot check Models and Settings compatibility! Continue anyway? @@ -2493,8 +1971,8 @@ May be different from firmware language - - + + Warning @@ -2548,58 +2026,58 @@ May be different from firmware language - + Splash image not found - + Cannot save customized firmware - + Write Firmware to Radio - - + + Firmware check failed - + Could not check firmware from radio - + New firmware is not compatible with the one currently installed! - + Conversion failed - + Cannot convert Models and Settings for use with this firmware, original data will be used - + Restore failed - + Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - + Flashing done @@ -2721,37 +2199,17 @@ Please use ZADIG to properly install the driver. FlightModePanel - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - - - + Rotary Encoder %1 - + GVAR%1 - + Popup enabled @@ -2759,17 +2217,17 @@ Please use ZADIG to properly install the driver. FlightModesPanel - + Flight Mode %1 - + (%1) - + (default) @@ -2777,17 +2235,17 @@ Please use ZADIG to properly install the driver. FlybarSelectionPage - + Has Flybar - + Flybarless - + Flybar: @@ -3730,17 +3188,17 @@ Are you sure ? GyroPage - + No - + Yes, controled by a switch - + Yes, controlled by a pot @@ -3821,22 +3279,22 @@ Are you sure ? HeliPage - + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -4207,83 +3665,83 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt MainWindow - - - + + + File loaded - - - + + + Save As - - + + No updates available at this time. - + Unable to check for updates. - + Checking for updates - + Executable (*.exe) - + A new release of Companion is available, please check the OpenTX website! - + Would you like to launch the installer? - + Not enough memory for all the selected firmware options - - + + File saved - + Read Models and Settings From Radio - + Save Radio Backup to File - + Read Radio Firmware to File - + OpenTX Home Page: <a href='%1'>%1</a> - + If you've found this program useful, please support by <a href='%1'>donating</a> @@ -4293,39 +3751,39 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt - + New release available - - + + Error - + Error opening file %1: %2. - + Compilation server termporary failure, try later - + Compilation server too busy, try later - + Unknown server failure, try later - + Firmware %1 does not seem to have ever been downloaded. Release %2 is available. Do you want to download it now? @@ -4334,31 +3792,31 @@ We recommend you view the release notes using the button below to learn about an - - + + Yes - - + + No - - + + Release Notes - - + + Do you want to download release %1 now ? - + A new version of %1 firmware is available: - current is %2 - newer is %3 @@ -4369,685 +3827,685 @@ We recommend you view the release notes using the button below to learn about an - - - + + + Companion - - + + Open Models and Settings file - - + + Synchronize SD - + Firmware updates - + Current firmware does not provide release notes informations. - + OpenTX Companion %1 - Radio: %2 - Profile: %3 - + New - + Open... - + Save - + Save As... - + Copy Model - + Paste Model - + Load backup from file - + Compare models - + Exit the application - + List available programmers - + Show fuses dialog - + Show the application's About box - + Set Menu Language - + Show the list of radio profiles - + Write - + %2 - + New Radio - + A new version of Companion is available (version %1)<br>Would you like to download it? - + Compilation server requires registration, please check OpenTX web site - + Do you want to write the firmware to the radio 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. - + About Companion - + A monochrome black icon theme - + A monochrome white icon theme - + A monochrome blue icon theme - + Small - + Use small toolbar icons - + Use normal size toolbar icons - + Normal - + Use big toolbar icons - + Big - + Use huge toolbar icons - + Huge - + Ignore this release %1? - + The OpenTX Companion project was originally forked from <a href='%1'>eePe</a> - + Copyright OpenTX Team - + Create a new Models and Settings file - - + + Save Models and Settings file - + Exit - + Cut Model - + Cut current model to the clipboard - + Copy current model to the clipboard - + Paste model from clipboard - + Classical - + The classic companion9x icon theme - + Yerico - + Yellow round honey sweet icon theme - + Monochrome - + MonoWhite - + MonoBlue - + 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 - + Polish - + Use Polish in menus - + Spanish - + Use Spanish in menus - + Swedish - + Use Swedish in menus - + About... - + Print... - + Print current model - + Simulate... - + Simulate current model - + Alt+S - + Load Backup... - + 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... - + Edit Radio Splash Image... - + Edit the splash image of your Radio - + List programmers... - + Fuses... - - + + Read Firmware from Radio - + Read firmware from Radio - - + + Write Firmware to Radio - + Write firmware to Radio - + 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 Radio - - + + Write Models and Settings to Radio - - + + Read Models and Settings from Radio - + Configure Communications... - + Configure software for communicating with the Radio - + Write Backup to Radio - + Write Backup from file to Radio - + Backup Radio to File - + Save a complete backup file of all settings and model data in the Radio - + Contributors... - + A tribute to those who have contributed to OpenTX and Companion - + SD card synchronization - + Recent Files - + Recent Models+Settings - + Set Icon Theme - + Set Icon Size - - + + File - - + + Edit - + Settings - + Read/Write - - + + Help - - + + Radio Profile - + Show recent Models+Settings documents - + Ready @@ -5058,22 +4516,22 @@ We recommend you view the release notes using the button below to learn about an - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Error @@ -5084,13 +4542,13 @@ We recommend you view the release notes using the button below to learn about an - + Unable to find file %1! - - + + Error reading file %1: %2. @@ -5103,70 +4561,78 @@ We recommend you view the release notes using the button below to learn about an - - + + Error opening file %1: %2. - - + + Invalid EEPROM File %1 - + + + + + Warning + + + + Invalid binary EEPROM File %1 - - - + + + Save As - - - - + + + + Cannot write file %1: %2. - + Open backup Models and Settings file - + Companion - + %1 has been modified. Do you want to save your changes? - + Invalid binary backup File %1 - - + + Error writing file %1: %2. - + Cannot write temporary file! @@ -5366,26 +4832,6 @@ This determines how mixer values are added. DEST -> CH%1 - - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - MixesPanel @@ -5419,12 +4865,12 @@ This determines how mixer values are added. - + Not enough available mixers! - + Delete Selected Mixes? @@ -5509,12 +4955,12 @@ This determines how mixer values are added. - + Clear Mixes? - + Really clear all the mixes? @@ -5582,30 +5028,307 @@ This determines how mixer values are added. + + ModelPrinter + + + %1 bytes + + + + + CH%1 + + + + + Exponential + + + + + Extra Fine + + + + + Fine + + + + + Medium + + + + + Coarse + + + + + Unknown + + + + + Enabled + + + + + Disabled + + + + + %1, Channels(%2-%3), PPM delay(%4usec), Pulse polarity(%5) + + + + + %1, Channels(%2-%3) + + + + + Receiver number(%1) + + + + + Slave/Jack + + + + + Master/SBUS Module + + + + + Master/CPPM Module + + + + + Master/SBUS in battery compartment + + + + + Master/Jack + + + + + Rudder + + + + + Elevator + + + + + Throttle + + + + + Aileron + + + + + Name(%1) + + + + + Persistent + + + + + MinuteBeep + + + + + CountDown(Beeps) + + + + + CountDown(Voice) + + + + + CountDown(Haptic) + + + + + Off + + + + + + + + FM%1 + + + + + FM%1%2 + + + + + FM%1+%2 + + + + + [I%1] + + + + + Input%1 + + + + + Weight + + + + + Switch + + + + + + NoTrim + + + + + Weight(%1) + + + + + Switch(%1) + + + + + No DR/Expo + + + + + Offset(%1) + + + + + Delay(u%1:d%2) + + + + + Slow(u%1:d%2) + + + + + Warn(%1) + + + + + Disabled in all flight modes + + + + + Flight modes(%1) + + + + + Flight mode(%1) + + + + + Edge(%1, [%2:%3]) + + + + + Sticky(%1, %2) + + + + + Timer(%1, %2) + + + + + Duration(%1s) + + + + + Delay(%1s) + + + + + Custom + + + + + Standard + + + ModelSelectionPage - + Plane - + Multirotor - + Helicopter - + Model Name: - + Model Type: @@ -5613,129 +5336,130 @@ This determines how mixer values are added. 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 - + Ctrl+P - + Alt+S - + &Simulate model - + General Settings - + Delete Selected Models? - - + + Cannot delete default model. - + Cannot cut default model. - + Do you want to overwrite radio general settings? - + You are pasting on an not empty model, are you sure? You are pasting on an not empty model, are you sure ? - + No free slot available, cannot duplicate @@ -5886,66 +5610,273 @@ This determines how mixer values are added. ModulePanel - + Trainer Port - + Internal Radio System - + External Radio Module - - + + Radio System - + Extra Radio System - + Value - + Hold - + No Pulse + + MultiModelPrinter + + + General Model Settings + + + + + Name: + + + + + EEprom Size: + + + + + Timer%1: + + + + + Module%1: + + + + + Module: + + + + + Trainer port: + + + + + Throttle Trim: + + + + + Trim Increment: + + + + + Center Beep: + + + + + Flight modes + + + + + + Flight mode + + + + + Switch + + + + + Fade IN + + + + + Fade OUT + + + + + + FM%1 + + + + + + GV%1 + + + + + RE%1 + + + + + Limits + + + + + Channel + + + + + Name + + + + + + Offset + + + + + Min + + + + + Max + + + + + Invert + + + + + Global Variables + + + + + Inputs + + + + + Mixers + + + + + CV%1 + + + + + Curves + + + + + L%1 + + + + + Logical Switches + + + + + SF%1 + + + + + Special Functions + + + + + Telemetry Settings + + + + + Analogs + + + + + Unit + + + + + Scale + + + + + A%1 + + + + + RSSI Alarms + + + MultirotorPage - + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -5953,17 +5884,17 @@ This determines how mixer values are added. OptionsPage - + Throttle Cut - + Throttle Timer - + Flight Timer @@ -5986,427 +5917,17 @@ This determines how mixer values are added. - - Setup for: - - - - - printed on: %1 - - - - - General Model Settings - - - - - - - - Name - - - - - EEprom Size - - - - - Internal Radio System - - - - - Radio System - - - - - - Protocol - - - - - Throttle Trim - - - - - Enabled - - - - - Disabled - - - - - External Radio Module - - - - - Timer%1 - - - - - Extra Radio System - - - - - Trainer port mode - - - - - Trim Increment - - - - - Center Beep - - - - - Flight modes - - - - - Fades - - - - - Trims - - - - - Gvars - - - - - Rot.Enc. - - - - - Switch - - - - - Flight mode name - - - - - IN - - - - - OUT - - - - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - - - - - - - - FM - - - - - Off - - - - - Inputs - - - - - Source - - - - - Mixers - - - - - Limits - - - - - - - CH - - - - - - - - - Offset - - - - - - - - Min - - - - - - - - Max - - - - - - - Invert - - - - - - - INV - - - - - - - NOR - - - - - Curves - - - - - - - Curve - - - - - pt %1 - - - - - Logical Switches - - - - - L - - - - - Global Variables - - - - - GV - - - - - Special Functions - - - - - SF - - - - - - Telemetry Settings - - - - - - Analog - - - - - Range - - - - - - - A%1 - - - - - Alarms - - - - - Low Alarm - - - - - Critical Alarm - - - - - RSSI - - - - - - Blades - - - - - - Alarm 1 - - - - - - Alarm 2 - - - - - Unit - - - - - Scale - - - - - - - - Type - - - - - - - - Condition - - - - - - - - Value - - - - - RSSI Alarm - - - - - Frsky serial protocol - - - - - - Custom Telemetry View - - - - - Telemetry Bars - - - - - Bar Number - - - - + Print Document - + Select PDF output file - + ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) @@ -6439,18 +5960,6 @@ This determines how mixer values are added. QObject - - - - FM%1 - FP%1 - - - - - Input%1 - - Polish @@ -6458,8 +5967,6 @@ This determines how mixer values are added. - - CH%1 @@ -6540,33 +6047,33 @@ This determines how mixer values are added. - - + + --- - + Rud Trim - + Ele Trim - + Thr Trim - + Ail Trim - + Rot Enc @@ -6682,34 +6189,38 @@ This determines how mixer values are added. + F1 + F2 + F3 + F4 - + S3 - + Timer3 @@ -7007,7 +6518,6 @@ This determines how mixer values are added. - [I%1] @@ -7258,7 +6768,6 @@ This determines how mixer values are added. - Unknown @@ -7323,40 +6832,84 @@ This determines how mixer values are added. - - repeat + + played once, not during startup - - + + repeat(%1s) + + + + DISABLED + + + INV + + + + + NOR + + Edge - - - + + SetFailsafe Int. Module + + + + + SetFailsafe Ext. Module + + + + + RangeCheck Int. Module + + + + + RangeCheck Ext. Module + + + + + Bind Int. Module + + + + + Bind Ext. Module + + + + + + <font color=red><b>Inconsistent parameter</b></font> - + Value - + Decr: - + Incr: @@ -7376,32 +6929,32 @@ This determines how mixer values are added. - + Rotary Encoder - + Value - + Source - + GVAR - + Increment - + Flight @@ -7411,270 +6964,86 @@ This determines how mixer values are added. - + !Flight mode %1 - + Flight mode %1 - + Flight mode %1 value - + Yellow - + Orange - + Red - + Winged Shadow How High - + Winged Shadow How High (not supported) - + FrSky Sensor Hub - + None - + Imperial - + Metric - - - Extra Fine - - - - - Fine - - - - - Medium - - - - - Coarse - - - - - %1:%2 - - - - - , Persistent - - - - - , MinuteBeep - - - - - , CountDown(Beeps) - - - - - , CountDown(Voice) - - - - - - : Channel start: %1, %2 Channels, %3usec Delay, Pulse polarity %4 - - - - - : Channel start: %1, %2 Channels - - - - - Slave/Jack - - - - - Master/SBUS Module - - - - - Master/CPPM Module - - - - - Master/SBUS in battery compartment - - - - - Master/Jack - - - - - Exponential - - - - - Rudder - - - - - Elevator - - - - - Throttle - - - - - Aileron - - - + Timer1 - + Timer2 - - - Weight - - - - - - Switch - - - - - - NoTrim - - - - - No DR/Expo - - - - - Offset - - - - - Delay - - - - - Slow - - - - - Warn - - - - - Flight modes - - - - - Flight mode - - - - - Edge(%1, [%2:%3]) - - - - - Sticky(%1, %2) - - - - - Timer(%1, %2) - - - - - Duration (%1s) - - - - - Delay (%1s) - - - - + Telemetry - + Own value @@ -7695,7 +7064,7 @@ This determines how mixer values are added. - + -GV%1 @@ -7703,28 +7072,28 @@ This determines how mixer values are added. - + ---- - - + + P1 - - + + P2 - - + + P3 @@ -7735,7 +7104,7 @@ This determines how mixer values are added. - + Rud @@ -7746,14 +7115,13 @@ This determines how mixer values are added. - + V - - + s @@ -7838,33 +7206,33 @@ This determines how mixer values are added. - + Ele - + Thr - + Ail - + REa - + REb @@ -8037,28 +7405,32 @@ This determines how mixer values are added. - + + S1 - + + S2 - + + LS - + + RS @@ -8162,13 +7534,12 @@ This determines how mixer values are added. - + GV%1 - - + THR @@ -8187,531 +7558,553 @@ This determines how mixer values are added. - - + + Support for frsky telemetry mod - - + + Support for jeti telemetry mod - - + + Support for receiving ardupilot data - - + + Support for receiving NMEA data - + Support for telemetry easy board - - + + Support for MAVLINK devices - + Rotary Encoder use in menus navigation - - - - - - + + + + + + Enable heli menu and cyclic mix support - - - - - - - - + + + + + + + + + Enable TEMPLATES menu - - - - + + + + No splash screen - - - - - - - - + + + + + + + + + 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 - + Channel values displayed in us - - - - - - - - + + + + + + + + + In model setup menus automatically set source by moving the control - - - - - - - - + + + + + + + + + In model setup menus automatically set switch by moving the control - + Use alternative SQT5 font - + (displaying only first 10 warnings) - + Possibility to enable FAI MODE (no telemetry) at field - + FAI MODE (no telemetry) always enabled - + + + + Support for a third timer - - Removes D8 and LR12 FrSky protocols that are not legal for use in the EU on radios sold after Jan 1st, 2015 - - - - - Support for PPM internal module hack - - - - - ST7565P LCD or compatible - - - - - ST7565R LCD or compatible - - - - - ERC12864FSF LCD - - - - - ST7920 LCD - - - - - 9X board - - - - - - - - Enable the throttle trace in Statistics - - - - - EEprom write progress bar - - - - - - 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 - - - - - - Add support for reversing stick inputs (e.g. needed for FrSky gimbals) - - - - - Power management by soft-off circuitry - - - - - 9XR-PRO - - - - - FrSky Taranis - - - - - FrSky Taranis Plus - - - - - FrSky Taranis X9E - - - - - Confirmation before radio shutdown - - - - - - Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views - - - - - Haptic module installed - - - - - Support for Lua model scripts - - - - - No Joystick emulation inside the FW (only Mass Storage as in the Bootloader) - - - - - - Support of FrSky PXX protocol - - - - - Disable HELI menu and cyclic mix support - - - - - Disable Global variables - - - - - - - - Support for DSM2 modules + Instead of Joystick emulation, USB connection is Mass Storage (as in the Bootloader) - - - - - - - - - PPM center adjustment in limits + + Instead of Joystick emulation, USB connection is Command Line Interface - - - - - - - - Symetrical Limits + Removes D8 and LR12 FrSky protocols that are not legal for use in the EU on radios sold after Jan 1st, 2015 - - - - - - - Pots use in menus navigation - - - - - Your radio probably uses a wrong firmware, - eeprom size is 4096 but only the first 2048 are used - - - - - No OverrideCH functions available - - - - - - - - - - - - No flight modes - - - - - - SmartieParts 2.2 Backlight support - - - - - - - - - Enable resetting values by pressing up and down at the same time - - - - - - - - - - - - No graphical check boxes and sliders + + Support for PPM internal module hack - - - - - - - - Battery graph + ST7565P LCD or compatible - - - - - - - - Don't use bold font for highlighting active items + ST7565R LCD or compatible - - - - - - EEprom write Progress bar + + ERC12864FSF LCD - - - - - - - Imperial units + + ST7920 LCD - - M128 / 9X board + + 9X board + + + + + + + + Enable the throttle trace in Statistics + + + + + EEprom write progress bar - 9XR + + No Winged Shadow How High support - - 9XR with M128 chip + + + No vario support - - Gruvin9x board / 9X + + + No GPS support - - MEGA2560 board + + + No gauges in the custom telemetry screen - - Sky9x board / 9X + + Allow compensating for offset errors in FrSky FAS current sensors - - - Bluetooth interface + + + Add support for reversing stick inputs (e.g. needed for FrSky gimbals) + + + + + Power management by soft-off circuitry + + + + + ar9x board / 9X + + + + + 9XR-PRO + + + + + FrSky Taranis + + + + + FrSky Taranis Plus + + + + + FrSky Taranis X9E + + + + + Confirmation before radio shutdown - - - - - - + + Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views + + + + + Haptic module installed + + + + + Support for Lua model scripts + + + + + + Support of FrSky PXX protocol + + + + + Disable HELI menu and cyclic mix support + + + + + Disable Global variables + + + + + + + + + Support for DSM2 modules + + + + + + + + + + + + + PPM center adjustment in limits + + + + + + + + + + + + Symetrical Limits + + + + + + + + + + + Pots use in menus navigation + + + + + No OverrideCH functions available + + + + + + + + + + + + + No flight modes + + + + + + SmartieParts 2.2 Backlight support + + + + + + + + + + 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 + + + + + + + + + EEprom write Progress bar + + + + + + + + + + Imperial units + + + + + M128 / 9X board + + + + + 9XR + + + + + 9XR with M128 chip + + + + + Gruvin9x board / 9X + + + + + MEGA2560 board + + + + + Sky9x board / 9X + + + + + + + Bluetooth interface + + + + + + + + + + + + Global variables - - + + Support for SD memory card - + Support for DSM2 modules using ppm instead of true serial - - + + + Enable HELI menu and cyclic mix support - - + + Warning - + EEPROM saved with these warnings: - + Simulator for this firmware is not yet available @@ -8721,63 +8114,63 @@ This determines how mixer values are added. - + Source %1 cannot be exported on this board! - + OpenTX only accepts %1 points in all curves - + OpenTx only accepts %1 points in all curves - - - + + - + + OpenTX on this board doesn't accept this function - + OpenTX doesn't accept this telemetry protocol - - - + + + OpenTX doesn't accept this radio protocol - + OpenTX doesn't allow this number of channels - + Trim disabled - + Own Trim - + Use Trim from Flight mode %1 - + Use Trim from Flight mode %1 + Own Trim as an offset @@ -8809,15 +8202,21 @@ The OpenTX Team. - + + + - Synchronization error - + + No SD directory configured! + + + + No Radio connected! @@ -8827,33 +8226,33 @@ The OpenTX Team. - + -%1 + - The directory '%1' doesn't exist! - + Create '%1' failed - + Copy '%1' to '%2' failed - + Open '%1' failed - + Write '%1' failed @@ -8886,16 +8285,6 @@ The OpenTX Team. Could not delete temporary file: %1 - - - Positive - - - - - Negative - - Radio type @@ -8944,17 +8333,17 @@ The OpenTX Team. RudderPage - + No - + Yes - + <br>Rudder Channel: @@ -8962,152 +8351,157 @@ The OpenTX Team. Setup - + Center beep - + OFF - + Model Image - + Exponential - + Throttle Trim Idle Only - + Extra Fine - + Fine - + Medium - + Coarse - + Display Checklist - + Timer 2 - + Timer 1 - + Timer 3 - + Never - + + Top LCD Timer + + + + On change - + Always - + Global Functions - + Throttle Source - + Trim Step - + Trims Display - + Warnings - + Switch Warnings - + Pot Warnings - + Manual - + Auto - + Model - + Extended Limits - + Extended Trims - + 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. @@ -9115,15 +8509,23 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + Reverse Throttle + + SetupPanel + + + Timer %1 + + + SimpleTailPage - + Elevator Channel: @@ -9298,10 +8700,44 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi + + SplashLibraryDialog + + + + ... + + + + + Splash Library - page %1 of %2 + + + + + Warning + + + + + Invalid image in library %1 + + + + + Information + + + + + No valid image found in library, check your settings + + + StandardPage - + Channel %1 @@ -9309,25 +8745,24 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi SyncProcess - + + %1/%2 files + + + + Create directory %1 - + Copy %1 to %2 - - Read %1 - - - - - + Write %1 @@ -9336,35 +8771,40 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TailPage - + Rudder Channel: - + Elevator Channel: + + + Only one channel still available!<br>You probably should configure your model without using the wizard. + + TailSelectionPage - + Elevator and Rudder - + Only Elevator - + V-tail - + Tail Type: @@ -9372,96 +8812,96 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Telemetry - + A1 - + A2 - + RSSI - + Alarm 1 - - + + ---- - - + + Yellow - - + + Orange - - + + Red - + Alarm 2 - + Center Silent - + Altitude source - + Volts source - + Top Bar - + Serial Protocol - + Sensors - + Disable multi sensor handling - + Volt source - + Current source @@ -9471,82 +8911,82 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + None - + FrSky Sensor Hub - + Blades - + Sink Max - + Climb Max - + Sink Min - + Climb Min - + Vario source - + Vario limits - + Altimetry - + mAh - + A - + Various - + mAh count - + FAS Offset - + Persistent mAh @@ -9660,17 +9100,7 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - - Low Alarm - - - - - Critical Alarm - - - - + Range @@ -9683,22 +9113,22 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + None - + Numbers - + Bars - + Script @@ -9726,99 +9156,99 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TelemetryPanel - + FrSky S.PORT - + FrSky D - + FrSky D (cable) - + Telemetry screen %1 - + Low Alarm - + Critical Alarm - + Winged Shadow How High - + Winged Shadow How High (not supported) - + Alti - + Alti+ - + VSpeed - - - + + + A1 - - - + + + A2 - - + + A3 - - + + A4 - - + + FAS - + Cells - + --- @@ -9924,7 +9354,107 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - Amps Sensor : + Sensor : + + + + + V + + + + + A + + + + + mA + + + + + kt + + + + + m/s + + + + + ft/s + + + + + km/h + + + + + mph + + + + + m + + + + + ft + + + + + °C + + + + + °F + + + + + % + + + + + mAh + + + + + W + + + + + dBm + + + + + g + + + + + ° + + + + + mL + + + + + US fl.Oz. @@ -9932,111 +9462,11 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Raw (-) - - - Voltage (V) - - - - - Current (A) - - - - - Current (mA) - - - - - Speed (kts) - - - - - Speed (m/s) - - - - - Speed (ft/s) - - - - - Speed (km/h) - - - - - Speed (miles/h) - - - - - Meters (m) - - - - - Feet (ft) - - - - - Temp (°C) - - - - - Temp (°F) - - - - - Percentage (%) - - - - - Energy (mAh) - - - - - Power (W) - - - - - RF Power (dBm) - - RPM - - - Acceleration (g) - - - - - Heading (°) - - - - - Volume (mL) - - - - - Volume (US fl.Oz.) - - Precision @@ -10091,22 +9521,22 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TelemetrySensorPanel - + Lowest - + Cell %1 - + Highest - + Delta @@ -10319,7 +9749,17 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + + Instance + + + + + 2 + + + + <html><head/><body><p>Start with <span style=" font-style:italic;">0x</span> for hex, <span style=" font-style:italic;">0</span> for octal, otherwise decimal.<br/>Numeric entry only. Blank values are not sent.</p></body></html> @@ -10327,17 +9767,17 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi ThrottlePage - + Yes - + No - + <br>Throttle Channel: @@ -10358,32 +9798,37 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TimerPanel - + Silent - + Beeps - + Voice - - Not persistent - - - - - Persistent (flight) + + Haptic + Not persistent + + + + + Persistent (flight) + + + + Persistent (manual reset) @@ -10516,12 +9961,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi VTailPage - + First Tail Channel: - + Second Tail Channel: @@ -10529,12 +9974,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi WingtypeSelectionPage - + Standard Wing - + Flying Wing / Deltawing @@ -10816,37 +10261,37 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi WizardPrinter - + Plane - + Multicopter - + Helicopter - + Model Name: - + Model Type: - + Options: - + Channel %1: @@ -11553,38 +10998,4 @@ Press cancel to abort joystick calibration - - SplashLibraryDialog - - - - ... - - - - - Splash Library - page %1 of %2 - - - - - Warning - - - - - Invalid image in library %1 - - - - - Information - - - - - No valid image found in library, check your settings - - - diff --git a/companion/src/translations/companion_it.ts b/companion/src/translations/companion_it.ts index 6d3f6ffa2..34607c949 100644 --- a/companion/src/translations/companion_it.ts +++ b/companion/src/translations/companion_it.ts @@ -4,27 +4,27 @@ AileronsPage - + No No - + Yes, controlled by a single channel Si, controllato da un singolo canale - + Yes, controlled by two channels Si, controllati da due canali - + <br>First Aileron Channel: <br>Canale del primo alettone: - + Second Aileron Channel: Canale del secondo alettone: @@ -32,27 +32,27 @@ AirbrakesPage - + No No - + Yes, controlled by a single channel Si, controllato da un singolo canale - + Yes, controlled by two channels Si, controllati da due canali - + <br>First Airbrake Channel: Canale del primo diruttore: - + Second Airbrake Channel: Canale del secondo diruttore: @@ -74,7 +74,7 @@ - + Open Folder Apri Cartella @@ -326,7 +326,7 @@ Mode 4: - + Simulator Volume Gain Guadagno Volume Simulatore @@ -464,62 +464,62 @@ Può essere differente dalla lingua del firmware Impostazioni simulatore - + Simulator BackLight Colore Retroilluminazione - + Enable Abilita - + Blue Blu - + Green Verde - + Red Rosso - + Orange Arancione - + Yellow Giallo - + Joystick Joystick - + Calibrate Calibrazione - + Simulator capture folder Cartella per cattura schermate - + Only capture to clipboard Usa solo gli appunti per la cattura degli schermi - + Remember simulator switch values Ricorda la posizione degli switches nel simulatore @@ -534,64 +534,64 @@ Può essere differente dalla lingua del firmware Selezionare la cartella per le schermate del simulatore - - + + No joysticks found Nessun joystick trovato - + EMPTY: No radio settings stored in profile VUOTO: Nessuna impostazione radio nel profilo - + AVAILABLE: Radio settings of unknown age DISPONIBILE: Impostazioni di data sconosciuta - + AVAILABLE: Radio settings stored %1 DISPONIBILE: Impostazioni memorizzate %1 - + Select your library folder Selezionare la cartella degli sfondi - - + + Select your Models and Settings backup folder Selezionare la cartella per i backup - + Select Google Earth executable Trova l'eseguibile di Google Earth - + Select the folder replicating your SD structure Selezionare la cartella contenente la struttura della scheda SD - + Not possible to remove profile Non è possibile rimuover il profilo - + The default profile can not be removed. Il profilo predefinito non può essere rimosso. - + Open Image to load Apri l'immagine da caricare - + Images (%1) Immagini (%1) @@ -772,11 +772,6 @@ Può essere differente dalla lingua del firmware Stick 4 Stick 4 - - - Battery - Batteria - v @@ -797,10 +792,15 @@ Può essere differente dalla lingua del firmware PPM 4 PPM 4 + + + Battery Offset + + - Current - Corrente + Current Offset + @@ -1049,449 +1049,17 @@ Può essere differente dalla lingua del firmware Stampa su file - + No name Modello senza nome - - General Model Settings - Impostazioni generali del modello - - - - - - Name - Nome - - - - - EEprom Size - Dimensione in EEprom - - - - - Timer1 - Temporizzatore 1 - - - - - Timer2 - Temporizzatore 2 - - - - - Internal Radio System - Sistema Radio interno - - - - - Radio System - Sistema Radio - - - - - - - Protocol - Protocollo - - - - - External Radio Module - Modulo radio Esterno - - - - - Extra Radio System - Sistema radio esteso - - - - - Trainer port mode - Modalità porta Maestro/Allievo - - - - - Throttle Trim - Trim Motore - - - - - Enabled - Abilitato - - - - - Disabled - Disabilitato - - - - - Trim Increment - Incremento del Trim - - - - - Center Beep - Avviso centraggio - - - - Flight modes Settings - Impostazioni Fasi di Volo - - - - - Fades - Transizioni - - - - - Trims - Trims - - - - - Switch - Interruttore - - - - - - - Flight mode name - Nome fase di volo - - - - - IN - Ingr. - - - - - OUT - Usc. - - - - - - - - - - - - - FM - FV - - - - - Gvars - Var Glob - - - - - Rot. Enc. - Enc. Rot. - - - - Limits - Limiti - - - - - - - - Offset - Spostamento - - - - - - - - Min - Min - - - - - - - - Max - Max - - - - - - Invert - Inversione - - - - - - - - CH - CH - - - - - INV - INV - - - - - NOR - NOR - - - - Global Variables - Variabili Globali - - - - - GV - VG - - - - Inputs - Ingressi - - - Expo/Dr Settings - Impostazioni Corsa/Esponenziali - - - Weight - Peso - - - Flight modes - Fasi di volo - - - Flight mode - Fase di volo - - - DISABLED - DISABILITATO - - - - Mixers - Miscelazioni - - - noTrim - noTrim - - - Delay(u%1:d%2) - Ritarda(s%1:g%2) - - - Slow(u%1:d%2) - Rallenta(s%1:g%2) - - - Warn - Avviso - - - - Curves - Curve - - - L%1 - L%1 - - - - - Curve - Curva - - - - Logical Switches - Interruttori logici - - - - L - L - - - - Special Functions - Funzioni speciali - - - Function - Funzione - - - Param - Parametro - - - Repeat - Ripeti - - - Enable - Abilita - - - - SF - SF - - - - Telemetry Settings - Impostazioni telemetria - - - - - Analog - Analogico - - - - - Unit - Unità - - - - - Scale - Campo di misura - - - - - - - A%1 - A%1 - - - - - Alarm 1 - Allarme 1 - - - - - Alarm 2 - Allarme 2 - - - - - - - Type - Tipo - - - - - - - Condition - Condizione - - - - - - - Value - Valore - - - - - RSSI Alarm - Allarmi RSSI - - - - - Custom Telemetry View - Schermata personalizzata dati telemetrici - - - - - Telemetry Bars - Barre Telemetria - - - - - Bar Number - Numero Barra - - - - - Source - Sorgente - - - + Print Document Stampa documento - + Select PDF output file Scegliere il nome del file PDF @@ -1499,7 +1067,7 @@ Può essere differente dalla lingua del firmware ConclusionPage - + OK, I understand. Va bene, ho capito. @@ -1537,12 +1105,12 @@ Può essere differente dalla lingua del firmware Un sentito ringraziamento è dovuto a Rafal Tomczak (RadioClone), Thomas Husterer (th9x) e Erez Raviv (er9x e eePe) - - Thank you all !!! - Grazie a tutti !!! + + OpenTX Blacklist + - + monthly @@ -1575,22 +1143,22 @@ Può essere differente dalla lingua del firmware CurveGroup - + Diff Diff - + Expo Espo - + Func Funz - + Curve Curva @@ -1797,42 +1365,42 @@ Può essere differente dalla lingua del firmware Impossibile trovare il file sonoro %1! - + &Delete &Elimina - + Delete Elimina - + &Copy &Copia - + Ctrl+C Ctrl+C - + &Cut &Taglia - + Ctrl+X Ctrl+X - + &Paste &Incolla - + Ctrl+V Ctrl+V @@ -1840,22 +1408,22 @@ Può essere differente dalla lingua del firmware CyclicPage - + 90 90 - + 120 120 - + 120x 120x - + 140 140 @@ -1868,236 +1436,110 @@ Può essere differente dalla lingua del firmware Uscita diagnostica + + EepromInterface + + + Possible causes for this: + + + + + - Eeprom is from a newer version of OpenTX + + + + + - Eeprom is not from OpenTX + + + + + - Eeprom is not from Th9X + + + + + - Eeprom is not from Gruvin9X + + + + + - Eeprom is not from ErSky9X + + + + + - Eeprom is not from Er9X + + + + + - Eeprom size is invalid + + + + + - Eeprom file system is invalid + + + + + - Eeprom is from a unknown board + + + + + - Eeprom is from the wrong board + + + + + - Eeprom backup not supported + + + + + - Something that couldn't be guessed, sorry + + + + + Warning: + + + + + + - Your radio probably uses a wrong firmware, + eeprom size is 4096 but only the first 2048 are used + + + + + - Your eeprom is from an old version of OpenTX, upgrading! + You should 'save as' to keep the old file as a backup. + + + + + Warnings! + + + ElevonsPage - + <br>First Elevon Channel: <br>Canale primo Elevone: - + Second Elevon Channel: Canale secondo Elevone: - - Er9x::Templates - - - Simple 4-CH - - - - - T-Cut - - - - - Sticky T-Cut - - - - - V-Tail - Coda a V - - - - Elevon\Delta - - - - - Heli Setup - - - - - Heli Setup with gyro gain control - - - - - Gyro gain control - - - - - Heli Setup (Futaba's channel assignment style) - - - - - Heli Setup with gyro gain control (Futaba's channel assignment style) - - - - - Gyro gain control (Futaba's channel assignment style) - - - - - Servo Test - - - - - MultiCopter - - - - - Use Model Config Wizard - - - - - Apply Template? - - - - - Apply template "%1"? - - - - - - - - - - - RUD - - - - - - - - - - - - - - ELE - - - - - - - THR - MOT - - - - - - - - - - - AIL - - - - - - - - AIL2 - - - - - - - - ELE2 - - - - - - - - - - FLAPS - - - - - - - - - - FLAP%1 - - - - - - - - PITCH - - - - - - - - - - - - GYRO - - - - - - SPOIL - - - - - - SPOIL%1 - - - - - - RUD2 - - - - - - Clear Mixes? - Cancellare le miscelazioni ? - - - - Really clear existing mixes on CH6? - - - - - Really clear existing mixes on CH5? - - - ExpoDialog @@ -2214,48 +1656,28 @@ Se vuoto verrà sempre considerata "Attiva". Edit %1 Modifica %1 - - - Rud - Dir - - - - Ele - Ele - - - - Thr - Mot - - - - Ail - Ale - FblPage - + Throttle Channel: Canale motore: - + Yaw Channel: TODO Canale imbardata: - + Pitch Channel: TODO Canale Beccheggio: - + Roll Channel: TODO Canale Rollio: @@ -2309,27 +1731,27 @@ Può essere differente dalla lingua del firmware FlapsPage - + No No - + Yes, controlled by a single channel Si, controllato da un singolo canale - + Yes, controlled by two channels Si, controllati da due canali - + <br>First Flap Channel: <br>Canale primo Flap: - + Second Flap Channel: Canale secondo Flap: @@ -2338,7 +1760,7 @@ Può essere differente dalla lingua del firmware FlashEEpromDialog - + Write Models and Settings to Radio Scrivi Modelli e Impostazioni sulla Radio @@ -2412,14 +1834,14 @@ Può essere differente dalla lingua del firmware - - - - - - - - + + + + + + + + Error Errore @@ -2431,79 +1853,75 @@ Può essere differente dalla lingua del firmware - + Error opening file %1: %2. Errore durante l'apertura del file %1: %2. - - + + Invalid Models and Settings File %1 File impostazioni non valido %1 - + Error reading file %1: %2. Error durante la lettura del file %1: %2. - Invalid binary Models and Settings File %1 - File binario delle impostazioni non valido %1 - - - + Invalid Models and Settings file %1 File impostazioni e modelli non valido %1 - - - - + + + + Warning Avviso - + Wrong radio calibration data in profile, Settings not patched Dati errati nel profilo, la calibrazione della radio non è stata sostituita - + Wrong radio setting data in profile, Settings not patched Dati errati nel profilo, i settaggi HW della radio non sono stati sostituiti - - + + Cannot write file %1: %2. Non posso scrivere il file %1: %2. - + Error writing file %1: %2. Errore durante la scrittura del file %1: %2. - + The radio firmware belongs to another product family, check file and preferences! Il Firmware appartiene ad un'altra famiglia di prodotti, controllare il file e le preferenze! - + The radio firmware is outdated, please upgrade! Il firmware della radio è obsoleto, per favore aggiornare! - + Cannot check Models and Settings compatibility! Continue anyway? Non posso controllare la compatibilità delle impostazioni! Continuare ugualmente ? @@ -2587,8 +2005,8 @@ Può essere differente dalla lingua del firmware - - + + Warning Avviso @@ -2642,58 +2060,58 @@ Può essere differente dalla lingua del firmware L'immagine della libreria non può essere caricata - + Splash image not found Immagine di avvio non trovata - + Cannot save customized firmware Errore durante la scrittura del firmware personalizzato - + Write Firmware to Radio Scrivi Firmware sulla Radio - - + + Firmware check failed Controllo firmware fallito - + Could not check firmware from radio Non posso controllare il firmware dallaradio - + New firmware is not compatible with the one currently installed! Il nuovo firmware non è compatibile con quello attualmente installato! - + Conversion failed Conversione fallita - + Cannot convert Models and Settings for use with this firmware, original data will be used Non posso convertire le impostazioni per questo firmware, verranno usate le impostazioni originali - + Restore failed Ripristino fallito - + Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 Non è possibile ripristinare Modelli e impostazioni sulla radio. Il file di Modelli e impostazioni può essere trovato in: %1 - + Flashing done Scrittura effettuata @@ -2823,37 +2241,17 @@ Usate ZADIG per installare correttamente il driver. FlightModePanel - - Rud - Dir - - - - Ele - Ele - - - - Thr - Mot - - - - Ail - Ale - - - + Rotary Encoder %1 Encoder rotativo %1 - + GVAR%1 VAR.GLOB%1 - + Popup enabled Popup abilitato @@ -2861,17 +2259,17 @@ Usate ZADIG per installare correttamente il driver. FlightModesPanel - + Flight Mode %1 Fase di volo %1 - + (%1) (%1) - + (default) (Predefinita) @@ -2879,17 +2277,17 @@ Usate ZADIG per installare correttamente il driver. FlybarSelectionPage - + Has Flybar Con Flybar - + Flybarless Senza Flybar - + Flybar: Flybar: @@ -3927,17 +3325,17 @@ Siete sicuri ? GyroPage - + No No - + Yes, controled by a switch Si, controllato da un interruttore - + Yes, controlled by a pot Si, controllato da un potenziometro @@ -3959,19 +3357,11 @@ Siete sicuri ? Invert Collective Collettivo - - Elevator - Elevatore - Invert Inversioni - - Aileron - Alettoni - Off @@ -4026,22 +3416,22 @@ Siete sicuri ? HeliPage - + Throttle Channel: Canale motore: - + Yaw Channel: Canale imbardata: - + Pitch Channel: Canale Beccheggio: - + Roll Channel: Canale Rollio: @@ -4077,26 +3467,6 @@ Siete sicuri ? Clear All Inputs Cancella tutti gli ingressi - - Source(%1) - Sorgente(%1) - - - Weight(%1) - Peso(%1) - - - Offset(%1) - Spostamento(%1) - - - NoTrim - NoTrim - - - Switch(%1) - Interruttore(%1) - Not enough available inputs! @@ -4433,9 +3803,9 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt MainWindow - - - + + + File loaded Documento caricato @@ -4445,747 +3815,739 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt Mostrare il precedente avviso all'avvio ? - + Checking for updates Controllo aggiornamenti in corso - + Unable to check for updates. Impossibile controllare gli aggiornamenti. - - - + + + Save As Salva come - + Executable (*.exe) Eseguibili (*.exe) - + New release available Nuova versione disponibile - - + + No updates available at this time. Nessun aggiornamento disponibile. - + Would you like to launch the installer? Desiderate eseguire l'aggiornamento ? - + Error opening file %1: %2. Errore durante l'apertura del file %1: %2. - + Compilation server termporary failure, try later Guasto temporaneo del server di compilazione, riprovate più tardi - + Compilation server too busy, try later Il server di compilazione è occupato, provate più tardi - + Unknown server failure, try later Errore del server sconosciuto, provare più tardi - + Do you want to write the firmware to the radio now ? Volete scrivere il firmware sulla radio? - - + + File saved Documento salvato - - + + Error Errore - - + + Yes Si - - + + No No - - + + Release Notes Note di aggiornamento - - + + Do you want to download release %1 now ? Volete scaricare la versione %1 adesso ? - - + + Open Models and Settings file Apri modelli e file impostazioni - + Firmware updates Aggiornamenti firmware - + Current firmware does not provide release notes informations. Il firmware selezionato non fornisce note di aggiornamento. - + The selected language will be used the next time you start Companion. Il linguaggio selezionato sarà usato al prossimo riavvio di Companion. - + A new release of Companion is available, please check the OpenTX website! Una nuova versione di Companion è disponibile, visitate il sito Web di OpenTx! - + Not enough memory for all the selected firmware options Memoria insufficente per tutte le opzioni firmware selezionate - OK - OK - - - + The new theme will be loaded the next time you start Companion. Il nuovo tema sarà caricato al prossimo riavvio di Companion. - + The icon size will be used the next time you start Companion. La dimensione delle icone sarà usata al prossimo riavvio di Companion. - + OpenTX Companion %1 - Radio: %2 - Profile: %3 - + New Nuovo - + Open... Apri... - + Save Salva - + Save As... Salva come... - + Copy Model Copia Modello - + Paste Model Incolla Modello - + A monochrome black icon theme Tema icone monocromatico nero - + A monochrome white icon theme Tema icone monocromatico bianco - + A monochrome blue icon theme tema icone monocromatico blu - + Small Piccole - + Use small toolbar icons Usa icone piccole barra strumenti - + Use normal size toolbar icons Usa icone normali nell barra strumenti - + Normal Normali - + Use big toolbar icons Usa icone grandi barra strumenti - + Big Grandi - + Use huge toolbar icons Usa icone giganti barra strumenti - + Huge Giganti - + Ignore this release %1? Ignorare questa versione %1? - + The OpenTX Companion project was originally forked from <a href='%1'>eePe</a> Il progetto OpenTx-Companion è originariamente derivato da <a href='%1'>eePe</a> - + Copyright OpenTX Team Copyright OpenTX Team - OpenTX Companion 2.1 - FW: %1 - Profile: %2 - OpenTx Companion 2.1 - FW: %1 - Profilo: %2 - - - + Create a new Models and Settings file Crea nuovo modello e file di impostazioni - - + + Save Models and Settings file Salva Modello e file impostazioni - + Exit Esci - + Cut Model Taglia Modello - + Cut current model to the clipboard Taglia e inserisci modello nella clipboard - + Copy current model to the clipboard Copia modello nella clipboard - + Paste model from clipboard Incolla Modello dalla clipboard - + Classical Classica - + The classic companion9x icon theme Tema classico icone Companion - + Yerico Yerico - + Yellow round honey sweet icon theme Tema di icone giallo dolce miele rotondo - + Monochrome Monocromatico - + MonoWhite Monocolore Bianco - + MonoBlue Monocolore Blu - + System language Lingua di sistema - + Use system language in menus Usa la lingua di sistema - + Czech Ceco - + Use Czech in menus Usa il Ceco nei menu - + German Tedesco - + Use German in menus Usa il Tedesco nei menu - + English Inglese - + Use English in menus Usa l'inglese nei menu - + Finnish Finlandese - + Use Finnish in menus Usa il Fillandese nei menu - + French Francese - + Use French in menus Usa il Francese nei menu - + Italian Italiano - + Use Italian in menus Usa l'Italiano nei menu - + Polish Polacco - + Use Polish in menus Usa il polacco nei menu - + Spanish Spagnolo - + Use Spanish in menus UtUsa lo spagnolo nei menu - + Swedish Svedese - + Use Swedish in menus Usa lo svedese nei menu - + About... Informa su... - + Print... Stampa... - + Print current model Stampa il modello corrente - + Simulate... Simula... - + Simulate current model Simula il modello corrente - + Alt+S Alt+S - + Load Backup... Carica salvataggio... - + View Log File... Visualizza file di Log... - + Open and view log file Apri e visualizza file di log - + Settings... Impostazioni... - + Edit Settings Edita Impostazioni - + Download... Scarica... - + Download firmware and voice files Scarica Firmware e file voce - + Check for Updates... Controllo aggiornamenti... - + Check OpenTX and Companion updates Controllo degli aggiornamenti di openTx e Companion - + Companion Changes... Cambiamenti in Companion... - + Show Companion change log Mostra i cambiamenti in Companion - + Firmware Changes... Cambiamenti nel Firmware... - + Show firmware change log Mostra i cambiamenti nel Firmware - + Compare Models... Confronta due modelli... - + Edit Radio Splash Image... Edita immagine Splah della radio... - + Edit the splash image of your Radio Edita immagine splash della tua radio - + List programmers... Lista programmatori... - + Fuses... Fuses... - - + + Read Firmware from Radio Leggi il Firmware dalla Radio - + Read firmware from Radio Leggi firmware dalla Radio - - + + Write Firmware to Radio Scrivi Firmware sulla Radio - + Write firmware to Radio Scrivi firmware sulla Radio - + Add Radio Profile Aggiungi profilo Radio - + Create a new Radio Setting Profile Crea un nuovo profilo Radio - + Manuals and other Documents Manuali e altri documenti - + Open the OpenTX document page in a web browser Apri la pagina documenti di OpenTx in un browser web - + Write Models and Settings To Radio Scrivi modello e impostazioni sulla Radio - - + + Write Models and Settings to Radio Scrivi Modeli e Impostazioni sulla Radio - - + + Read Models and Settings from Radio Leggi Modelli e Impostazioni dalla Radio - + Configure Communications... Configura Comunicazioni... - + Configure software for communicating with the Radio Configura il software per comunicare con la Radio - + Write Backup to Radio Scrivi salvataggio sulla Radio - + Write Backup from file to Radio Scrivi salvataggio dal file sulla Radio - + Backup Radio to File Salvataggio Radio su File - + Save a complete backup file of all settings and model data in the Radio Salvataggio completo di Impostazioni e Modelli nella Radio - + Contributors... Contributori.... - + A tribute to those who have contributed to OpenTX and Companion Un ringraziamento a tutti coloro che hanno contribuito a OpenTx e Companion - + Recent Files File recenti - + Recent Models+Settings Modelli e Impostazioni recenti - + Set Menu Language Inposta Menu Lingua - + Load backup from file Carica salvataggio da file - + Read Models and Settings From Radio Leggi Modelli e impostazioni dalla Radio - + Save Radio Backup to File Salvataggio Radio su file - + Read Radio Firmware to File Leggi firmware radio su File - + OpenTX Home Page: <a href='%1'>%1</a> OpenTX Home Page: <a href='%1'>%1</a> - + If you've found this program useful, please support by <a href='%1'>donating</a> Se avete trovato utile questo programma prego supportatelo con <a href='%1'>una donazione</a> - + Compare models Confronta due modelli - + Exit the application Esci dall'applicazione - + Show the list of radio profiles Mostra la lista dei profili radio - + Write Scrivi - + A new version of Companion is available (version %1)<br>Would you like to download it? Una nuova versione di Companion è disponibile (versione %1)<br> Vuoi scaricarla? - + Compilation server requires registration, please check OpenTX web site Server di compilazione richiede la registrazione, prego controllare sul sito web di OpenTx - + About Companion Informazioni su Companion - + List available programmers Lista dei programmatori supportati - + Show fuses dialog Mostra finestra di dialogo Fuses - + Show the application's About box Mostra la finestra Informazioni Su - + Firmware %1 does not seem to have ever been downloaded. Release %2 is available. Do you want to download it now? @@ -5198,7 +4560,7 @@ Volete scaricarla adesso ? Vi raccomandiamo di leggere le note di rilascio sottostanti per vedere se ci siano cambiamenti che possano essere ritenuti da Voi rilevanti. - + A new version of %1 firmware is available: - current is %2 - newer is %3 @@ -5215,84 +4577,84 @@ Do you want to download it now? We recommend you view the release notes using the button below to learn about any changes that may be important to you. - - - + + + Companion Companion - - + + Synchronize SD Sincronizza SD - + SD card synchronization Sincronizzazione scheda SD - + Set Icon Theme Scegliere il tema di icone - + Set Icon Size Impostazione dimensione icone - - + + File Documento - - + + Edit Modifica - + Settings Impostazioni - + Read/Write Leggi/Scrivi - - + + Help Aiuto - - + + Radio Profile Profilo Radio - + Show recent Models+Settings documents Mostra modell e impostazioni recenti - + Ready Pronto - + %2 %2 - + New Radio Nuova radio @@ -5305,7 +4667,7 @@ We recommend you view the release notes using the button below to learn about an byte liberi - + Companion Companion @@ -5318,105 +4680,113 @@ We recommend you view the release notes using the button below to learn about an - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Error Errore - + Unable to find file %1! Impossibile trovare il file %1! - - + + Error opening file %1: %2. Errore durante l'apertura del file %1: %2. - - + + Invalid EEPROM File %1 File impostazioni non valido %1 - - + + + + + Warning + Avviso + + + + Error reading file %1: %2. Error durante la lettura del file %1: %2. - + Invalid binary EEPROM File %1 File binario delle impostazioni non valido %1 - - - + + + Save As Salva Come - - - - + + + + Cannot write file %1: %2. Non posso scrivere il file %1: %2. - - + + Error writing file %1: %2. Errore durante la scrittura del file %1: %2. - + Open backup Models and Settings file Apri salvataggio modelli e impostazioni - + Invalid binary backup File %1 File di backup binario non valido %1 - + %1 has been modified. Do you want to save your changes? %1 è stato modificato. Salvare le modifiche ? - + Cannot write temporary file! Errore durante la scittura del file temporaneo! @@ -5632,26 +5002,6 @@ Determina come il valore viene aggiunto alla miscelazione. DEST -> CH%1 DEST -> CH%1 - - - Rud - Dir - - - - Ele - Ele - - - - Thr - Mot - - - - Ail - Ale - MixesPanel @@ -5685,44 +5035,12 @@ Determina come il valore viene aggiunto alla miscelazione. Cancella Miscelazioni - Weight(%1) - Peso(%1) - - - Switch(%1) - Interruttore(%1) - - - NoTrim - NoTrim - - - No DR/Expo - No DR/Espo - - - Offset(%1) - Spostamento(%1) - - - Delay(u%1:d%2) - Ritarda(s%1:g%2) - - - Slow(u%1:d%2) - Rallenta(s%1:g%2) - - - Warn(%1) - Avviso(%1) - - - + Not enough available mixers! Non ci sono più miscelazioni disponibili! - + Delete Selected Mixes? Cancellare le miscelazioni selezionate ? @@ -5807,12 +5125,12 @@ Determina come il valore viene aggiunto alla miscelazione. Ctrl+U - + Clear Mixes? Cancellare le miscelazioni ? - + Really clear all the mixes? Sicuri di voler cancellare le miscelazioni ? @@ -5844,10 +5162,6 @@ Determina come il valore viene aggiunto alla miscelazione. Inputs Ingressi - - Servos - Servi - Logical Switches @@ -5884,30 +5198,307 @@ Determina come il valore viene aggiunto alla miscelazione. Telemetria + + ModelPrinter + + + %1 bytes + + + + + CH%1 + CH%1 + + + + Exponential + Esponenziale + + + + Extra Fine + Extra Fine + + + + Fine + Fine + + + + Medium + Medio + + + + Coarse + Ampio + + + + Unknown + Sconosciuto + + + + Enabled + Abilitato + + + + Disabled + Disabilitato + + + + %1, Channels(%2-%3), PPM delay(%4usec), Pulse polarity(%5) + + + + + %1, Channels(%2-%3) + + + + + Receiver number(%1) + + + + + Slave/Jack + Allievo/(Presa) + + + + Master/SBUS Module + Maestro/Modulo SBUS + + + + Master/CPPM Module + Maestro/Modulo CPPM + + + + Master/SBUS in battery compartment + Maestro/SBUS nel compartimento batteria + + + + Master/Jack + Maestro/(presa) + + + + Rudder + Direzionale + + + + Elevator + Elevatore + + + + Throttle + Motore + + + + Aileron + Alettoni + + + + Name(%1) + + + + + Slow(u%1:d%2) + + + + + Persistent + Persistente + + + + MinuteBeep + + + + + CountDown(Beeps) + + + + + CountDown(Voice) + + + + + CountDown(Haptic) + + + + + Off + + + + + + + + FM%1 + FV %1 + + + + FM%1%2 + FV %1%2 + + + + FM%1+%2 + + + + + [I%1] + [I%1] + + + + Input%1 + Ingresso%1 + + + + Weight + Peso + + + + Switch + + + + + + NoTrim + NoTrim + + + + Weight(%1) + Peso(%1) + + + + Switch(%1) + Interruttore(%1) + + + + No DR/Expo + No DR/Espo + + + + Offset(%1) + Spostamento(%1) + + + + Delay(u%1:d%2) + + + + + Warn(%1) + + + + + Disabled in all flight modes + + + + + Flight modes(%1) + Fasi di volo(%1) + + + + Flight mode(%1) + Fase di volo(%1) + + + + Edge(%1, [%2:%3]) + Soglia(%1, [%2:%3]) + + + + Sticky(%1, %2) + Bloccato(%1, %2) + + + + Timer(%1, %2) + Temporizzatore(%1, %2) + + + + Duration(%1s) + + + + + Delay(%1s) + + + + + Custom + Personalizzato + + + + Standard + Standard + + ModelSelectionPage - + Plane Aereo - + Multirotor Multirotore - + Helicopter Elicottero - + Model Name: Nome Modello: - + Model Type: Tipo di modello: @@ -5915,128 +5506,129 @@ Determina come il valore viene aggiunto alla miscelazione. ModelsListWidget - + + &Edit &Modifica - + &Restore from backup &Ripristina da backup - + &Model Wizard &Assistente di configurazione - + &Delete &Elimina - + Delete Elimina - + &Copy &Copia - + Ctrl+C Ctrl+C - + &Cut &Taglia - + Ctrl+X Ctrl+X - + &Paste &Incolla - + Ctrl+V Ctrl+V - + D&uplicate D&uplica - + Ctrl+U Ctrl+U - + &Use as default &Predefinito - + P&rint model S&tampa modello - + Ctrl+P Ctrl+P - + Alt+S Alt+S - + &Simulate model Sim&ula modello - + General Settings Impostazioni generali radio - + Delete Selected Models? Cancellare i modelli selezionati ? - - + + Cannot delete default model. Non posso cancellare il modello predefinito. - + Cannot cut default model. Non posso tagliare il modello predefinito. - + Do you want to overwrite radio general settings? Vuoi sovrascrivere le impostazioni generali della radio? - + You are pasting on an not empty model, are you sure? State copiando su un modello non vuoto, siete sicuri ? - + No free slot available, cannot duplicate Nussun spazio di memoria libero, non posso duplicare @@ -6187,66 +5779,273 @@ Determina come il valore viene aggiunto alla miscelazione. ModulePanel - + Trainer Port Porta Allievo - + Internal Radio System Sistema Radio interno - + External Radio Module Modulo radio Esterno - - + + Radio System Sistema Radio - + Extra Radio System Sistema radio esteso - + Value Valore - + Hold Mantieni - + No Pulse No impulsi + + MultiModelPrinter + + + General Model Settings + Impostazioni generali del modello + + + + Name: + + + + + EEprom Size: + + + + + Timer%1: + + + + + Module%1: + + + + + Module: + + + + + Trainer port: + + + + + Throttle Trim: + + + + + Trim Increment: + + + + + Center Beep: + + + + + Flight modes + Fasi di volo + + + + + Flight mode + Fase di volo + + + + Switch + + + + + Fade IN + + + + + Fade OUT + + + + + + FM%1 + FV %1 + + + + + GV%1 + VG%1 + + + + RE%1 + + + + + Limits + Limiti + + + + Channel + + + + + Name + Nome + + + + + Offset + Spostamento + + + + Min + Min + + + + Max + Max + + + + Invert + + + + + Global Variables + Variabili Globali + + + + Inputs + Ingressi + + + + Mixers + Miscelazioni + + + + CV%1 + + + + + Curves + Curve + + + + L%1 + L%1 + + + + Logical Switches + Interruttori logici + + + + SF%1 + FS%1 + + + + Special Functions + Funzioni speciali + + + + Telemetry Settings + Impostazioni telemetria + + + + Analogs + + + + + Unit + Unità + + + + Scale + Campo di misura + + + + A%1 + A%1 + + + + RSSI Alarms + + + MultirotorPage - + Throttle Channel: Canale Motore: - + Yaw Channel: Canale Imbardata: - + Pitch Channel: Canale Beccheggio: - + Roll Channel: Canale Rollio: @@ -6254,17 +6053,17 @@ Determina come il valore viene aggiunto alla miscelazione. OptionsPage - + Throttle Cut Blocco motore - + Throttle Timer Temporizzatore motore - + Flight Timer Temporizzatore volo @@ -6287,491 +6086,17 @@ Determina come il valore viene aggiunto alla miscelazione. Stampa su file - - Setup for: - Impostazioni per: - - - - printed on: %1 - stampato il: %1 - - - - General Model Settings - Impostazioni generali del modello - - - - - - - Name - Nome - - - - EEprom Size - Dimensione in EEprom - - - Timer1 - Temporizzatore 1 - - - Timer2 - Temporizzatore 2 - - - - Internal Radio System - Sistema Radio interno - - - - Radio System - Sistema Radio - - - - - Protocol - Protocollo - - - - Throttle Trim - Trim Motore - - - - Enabled - Abilitato - - - - Disabled - Disabilitato - - - - External Radio Module - Modulo radio Esterno - - - - Timer%1 - - - - - Extra Radio System - Sistema radio esteso - - - - Trainer port mode - Modalità porta Maestro/Allievo - - - - Trim Increment - Incremento del Trim - - - - Center Beep - Avviso centraggio - - - - Flight modes - Fasi di volo - - - - Fades - Transizioni - - - - Trims - Trims - - - - Gvars - Var Glob - - - - Rot.Enc. - Enc. Rot. - - - - Switch - Int. - - - - Flight mode name - Nome fase di volo - - - - IN - Ingr. - - - - OUT - Usc. - - - - Rud - Dir - - - - Ele - Ele - - - - Thr - Mot - - - - Ail - Ale - - - - - - - - FM - FV - - - - Off - Spento - - - - Inputs - Ingressi - - - Weight - Peso - - - - Source - Sorgente - - - NoTrim - NoTrim - - - DISABLED - DISABILITATO - - - - Mixers - Miscelazioni - - - Weight(%1) - Peso(%1) - - - Switch(%1) - Interruttore(%1) - - - No DR/Expo - No DR/Espo - - - Offset(%1) - Spostamento(%1) - - - Delay(u%1:d%2) - Ritarda(s%1:g%2) - - - Slow(u%1:d%2) - Rallenta(s%1:g%2) - - - Warn(%1) - Avviso(%1) - - - - Limits - Limiti - - - - - - CH - CH - - - - - - - - Offset - Spostamento - - - - - - - Min - Min - - - - - - - Max - Max - - - - - - Invert - Inversione - - - - - - INV - INV - - - - - - NOR - NOR - - - - Curves - Curve - - - - - - Curve - Curva - - - - pt %1 - pt %1 - - - - Logical Switches - Interruttori logici - - - - L - L - - - - Global Variables - Variabili Globali - - - - GV - VG - - - - Special Functions - Funzioni speciali - - - Function - Funzione - - - Parameter - Parametro - - - Repeat - Ripeti - - - SF%1 - FS%1 - - - - SF - SF - - - - - Telemetry Settings - Impostazioni telemetria - - - - - Analog - Analogico - - - - Range - Intervallo - - - - - - A%1 - A%1 - - - - Alarms - Allarmi - - - - Low Alarm - Allarme basso - - - - Critical Alarm - Allarme critico - - - - RSSI - RSSI - - - - - Blades - Pale dell'elica - - - - - Alarm 1 - Allarme 1 - - - - - Alarm 2 - Allarme 2 - - - - Unit - Unità - - - - Scale - Campo di misura - - - - - - - Type - Tipo - - - - - - - Condition - Condizione - - - - - - - Value - Valore - - - - RSSI Alarm - Allarmi RSSI - - - - Frsky serial protocol - Protocollo seriale FrSky - - - - - Custom Telemetry View - Schermata personalizzata dati telemetrici - - - - Telemetry Bars - Barre Telemetria - - - - Bar Number - Barra Numero - - - + Print Document Stampa documento - + Select PDF output file Scegliere il nome del file PDF - + ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) Documenti ODF (*.odt);;Documenti PDF (*.pdf);;Documenti HTML (*.htm *.html);;Tutti i documenti (*) @@ -6804,17 +6129,6 @@ Determina come il valore viene aggiunto alla miscelazione. QObject - - - - FM%1 - FV %1 - - - - Input%1 - Ingresso%1 - Polish @@ -6822,8 +6136,6 @@ Determina come il valore viene aggiunto alla miscelazione. - - CH%1 CH%1 @@ -6929,27 +6241,31 @@ Determina come il valore viene aggiunto alla miscelazione. + F1 + F2 + F3 + F4 - + S3 S3 @@ -7247,7 +6563,6 @@ Determina come il valore viene aggiunto alla miscelazione. - [I%1] [I%1] @@ -7438,7 +6753,6 @@ Determina come il valore viene aggiunto alla miscelazione. - Unknown Sconosciuto @@ -7478,16 +6792,30 @@ Determina come il valore viene aggiunto alla miscelazione. Retroilluminazione - - repeat + + played once, not during startup - - + + repeat(%1s) + + + + DISABLED DISABILITATO + + + INV + INV + + + + NOR + NOR + Play Value @@ -7495,33 +6823,33 @@ Determina come il valore viene aggiunto alla miscelazione. - - + + --- --- - + Rud Trim Trim Dir - + Ele Trim Trim Ele - + Thr Trim Trim Mot - + Ail Trim Trim Ale - + Rot Enc Enc Rot @@ -7575,93 +6903,11 @@ Determina come il valore viene aggiunto alla miscelazione. No repeat Non ripetere - - %1 sec - %1 sec - Play Both Suana Entrambi - - - - Weight - Peso - - - - - Switch - - - - - - NoTrim - NoTrim - - - - No DR/Expo - No DR/Espo - - - - Offset - Spostamento - - - - Delay - Ritardo - - - - Slow - Rallentamento - - - - Warn - Avviso - - - - Flight modes - Fasi di volo - - - - Flight mode - Fase di volo - - - - Edge(%1, [%2:%3]) - Soglia(%1, [%2:%3]) - - - - Sticky(%1, %2) - Bloccato(%1, %2) - - - - Timer(%1, %2) - Temporizzatore(%1, %2) - - - - Duration (%1s) - Durata (%1s) - - - - Delay (%1s) - Ritardo (%1s) - Screenshot @@ -7683,29 +6929,59 @@ Determina come il valore viene aggiunto alla miscelazione. Soglia - - - + + + <font color=red><b>Inconsistent parameter</b></font> <font color=red><b>Parametro inconsistente</b></font> - + Telemetry Telemetria - + + SetFailsafe Int. Module + + + + + SetFailsafe Ext. Module + + + + + RangeCheck Int. Module + + + + + RangeCheck Ext. Module + + + + + Bind Int. Module + + + + + Bind Ext. Module + + + + Value Valore - + Decr: Decr: - + Incr: Incr: @@ -7720,47 +6996,47 @@ Determina come il valore viene aggiunto alla miscelazione. %1s - + Value Valore - + Source Sorgente - + GVAR VARG - + Increment Incremento - + Flight - + !Flight mode %1 !Fase di volo %1 - + Flight mode %1 Fase di volo %1 - + Own value Legato alla fase - + Flight mode %1 value Valore Fase di Volo %1 @@ -7781,7 +7057,7 @@ Determina come il valore viene aggiunto alla miscelazione. - + -GV%1 -VG%1 @@ -7791,7 +7067,7 @@ Determina come il valore viene aggiunto alla miscelazione. Regola VG%1 - + Rotary Encoder Encoder rotativo @@ -7801,168 +7077,54 @@ Determina come il valore viene aggiunto alla miscelazione. Finlandese - + Yellow Giallo - + Orange Arancione - + Red Rosso - + Winged Shadow How High Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (non supportato) - + FrSky Sensor Hub FrSky Sensor Hub - + None Nessuno - + Imperial Imperiale - + Metric Sistema Metrico - - - Extra Fine - Extra Fine - - - - Fine - Fine - - - - Medium - Medio - - - - Coarse - Ampio - - - - %1:%2 - %1:%2 - - - - , Persistent - , Persistente - - - - , MinuteBeep - , Avviso Minuto - - - - , CountDown(Beeps) - , Conto alla rovescia(Suono) - - - - , CountDown(Voice) - , Conto alla rovescia(Voce) - - - - - : Channel start: %1, %2 Channels, %3usec Delay, Pulse polarity %4 - : Canale iniziale: %1, %2 Canali, %3usec Delay, Polarità impulso %4 - - - - : Channel start: %1, %2 Channels - : Canale iniziale: %1, %2 Canali - - - - Slave/Jack - Allievo/(Presa) - - - - Master/SBUS Module - Maestro/Modulo SBUS - - - - Master/CPPM Module - Maestro/Modulo CPPM - - - - Master/SBUS in battery compartment - Maestro/SBUS nel compartimento batteria - - - - Master/Jack - Maestro/(presa) - - - - Exponential - Esponenziale - - - Flight modes(%1) - Fasi di volo(%1) - - - Flight mode(%1) - Fase di volo(%1) - - - - Rudder - Direzionale - - - - Elevator - Elevatore - - - - Throttle - Motore - - - - Aileron - Alettoni - - + GV%1 VG%1 @@ -7970,48 +7132,47 @@ Determina come il valore viene aggiunto alla miscelazione. - + ---- ---- - - + THR MOT - - + + P1 P1 - - + + P2 P2 - - + + P3 P3 - + REa REa - + REb REb @@ -8057,39 +7218,39 @@ Determina come il valore viene aggiunto alla miscelazione. - + Rud - + Ele - + Thr - + Ail - + Timer1 - + Timer2 @@ -8120,609 +7281,578 @@ Determina come il valore viene aggiunto alla miscelazione. L'uso simultaneo degli esponenziali e delle curve non è più supportato - + Source %1 cannot be exported on this board! La sorgente %1 non può essere esportata su questa radio! - + OpenTX only accepts %1 points in all curves OpenTX accetta solamente %1 punti in tutte le curve - + OpenTx only accepts %1 points in all curves OpenTx accetta solamente %1 punti in tutte le curve - - - + + - + + OpenTX on this board doesn't accept this function OpenTX in questa piattaforma non accetta la funzione - + OpenTX doesn't accept this telemetry protocol OpenTX non accetta questo protocollo di telemetria - - - + + + OpenTX doesn't accept this radio protocol OpenTX non accetta questo protocollo di trasmissione - + OpenTX doesn't allow this number of channels OpenTX non consente questo numero di canali - - + + Support for frsky telemetry mod Supporto per la modifica per la telemetria FrSky - - + + Support for jeti telemetry mod Supporto per la modifica per la telemetria Jeti - - + + Support for receiving ardupilot data Supporto per la modifica per la ricezione dati ardupilot - - + + Support for receiving NMEA data Supporto per la modifica per la ricezione dati NMEA - + Support for telemetry easy board Supporto per la scheda Telemetrez - - + + Support for MAVLINK devices Supporto per dispositivi MAVLINK - + Rotary Encoder use in menus navigation Utilizzo dell'encoder rotativo nella navigazione dei menù - + (displaying only first 10 warnings) (elenco dei primi 10 avvisi) - - - - - - + + + + + + Enable heli menu and cyclic mix support Abilita supporto menù elicotteri e miscelazione ciclico - - - - - - - - + + + + + + + + + Enable TEMPLATES menu Abilita menù dei MODELLI - - - - + + + + No splash screen Disabilita schermata di avvio - - - - - - - - + + + + + + + + + No flight modes Disabilita supporto fasi di volo - - - - - - - - + + + + + + + + + Disable curves menus Disabilita il menu delle curve - - - - + + + + Support for radio modified with regular speaker Supporto per modifica con altoparlante - - - - - + + + + + Used if you have modified your radio with voice mode Utilizzato per la gestione del modulo audio - - - - - + + + + + Used if you have modified your radio with haptic mode Abilita supporto vibrazione - + Channel values displayed in us Posizione canali visualizzata in us - - + + Add support for reversing stick inputs (e.g. needed for FrSky gimbals) Aggiungi il supporto per l'inversione degli stick (Ad es. necessario per l'utilizzo degli stick FrSky) - + M128 / 9X board - + 9XR - + 9XR with M128 chip - + Gruvin9x board / 9X - + MEGA2560 board - + Power management by soft-off circuitry Gestione dell'alimentazione mediante pulsante soft-off - OpenTX for 9XR-PRO - OpenTX per 9XR-PRO - - - + Haptic module installed Modulo vibrazione installato - + Support for Lua model scripts Supporto degli script LUA - - No Joystick emulation inside the FW (only Mass Storage as in the Bootloader) - Nessuna emulazione joystick nel FW (solo memoria di massa come nel Bootloader) - - - Removes D8 and LR12 FrSky protocols that are not legal for use anymore on radios sold after Jan 1st, 2015 - Rimuove i protocolli D8 e LR12, non più supportati dalle radio vendute in EU dopo il 1° gennaio 2015 - - - OpenTX for FrSky Taranis Plus - OpenTx per FrSky Taranis Plus - - - - - - - - - + + + + + + + + Battery graph Grafico della batteria - + Use alternative SQT5 font Usa font alternativo SQT5 (Leggermente quadrato) - + No OverrideCH functions available Nessuna funzione di forzatura CH disponibile - + Possibility to enable FAI MODE (no telemetry) at field Impostazione della modalità FAI (no telemetria) da radio - + FAI MODE (no telemetry) always enabled Modalità FAI (no telemetria) sempre attiva - + + + + Support for a third timer - + + Instead of Joystick emulation, USB connection is Mass Storage (as in the Bootloader) + + + + + Instead of Joystick emulation, USB connection is Command Line Interface + + + + Removes D8 and LR12 FrSky protocols that are not legal for use in the EU on radios sold after Jan 1st, 2015 - + Support for PPM internal module hack - + ST7565P LCD or compatible Display LCD ST7565R o compatibile - + ERC12864FSF LCD - + ST7920 LCD - + 9X board - - - - + + + + Enable the throttle trace in Statistics Abilita il grafico utilizzo motore nelle statistiche - + EEprom write progress bar Barra di avanzamento durante la scrittura della eeprom - - + + No Winged Shadow How High support Disabilita supporto Winged Shadow How High - - + + No vario support Nessun Variometro - - + + No GPS support Disabilita supporto GPS - - + + No gauges in the custom telemetry screen Disabilita schermate telemetriche a barre - + Allow compensating for offset errors in FrSky FAS current sensors Abilita compensazione per errore offset in sensore di corrente FAS FrSky - + + ar9x board / 9X + + + + 9XR-PRO - + FrSky Taranis - + FrSky Taranis Plus - + FrSky Taranis X9E - OpenTX for MEGA2560 board - OpenTX per scheda MEGA2560 - - - + Confirmation before radio shutdown - + ST7565R LCD or compatible Display LCD ST7565R o compatibile - Used if you have voice module - Utilizzato se il modulo audio è disponibile - - - - + + Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views Aggiungi la vista delle uscite dei mixer alla schermata Monitor Canali, premendo [ENT] si intervallano le viste - OpenTX for FrSky Taranis - OpenTx per FrSky Taranis - - - OpenTX for FrSky Taranis X9E - OpenTx per FrSky Taranis X9E - - - - + + Support of FrSky PXX protocol Supporto del protocollo PXX FrSky - + Disable HELI menu and cyclic mix support Disabilita il menù HELI e le funzioni del piatto ciclico - + Disable Global variables Disabilita variabili globali - - - - - + + + + + Support for DSM2 modules Supporto per moduli DSM2 - - - - - - - - + + + + + + + + + PPM center adjustment in limits Regolazione del centro PPM nel menù limiti - - - - - - - - + + + + + + + + + Symetrical Limits Limiti Simmetrici - - - - - - + + + + + + + Pots use in menus navigation Utilizzo dei potenziometri per la navigazione nei menù - - Your radio probably uses a wrong firmware, - eeprom size is 4096 but only the first 2048 are used - La tua radio probabilmente sta utilizzando un firmware sbagliato, -la eeprom è 4096 bytes ma solo 2048 vengono utilizzati - - - OpenTX for 9X board - OpenTX for scheda 9X - - - - + + SmartieParts 2.2 Backlight support Abilita il supporto per la scheda SmartiePart versione 2.2 - - - - - + + + + + + Enable resetting values by pressing up and down at the same time Abilita l'azzeramento di un valore mediante pressione contemporanea di tasti - - - - - - - + + + + + + + + No graphical check boxes and sliders Disabilita grafica per caselle di spunta e cursori - - - - - - - + + + + + + + + Don't use bold font for highlighting active items Non utilizzare font in grassetto per evidenziare le voci attive - OpenTX for M128 / 9X board - OpenTx per Board M128 / 9X - - - - - - - + + + + + EEprom write Progress bar Barra di avanzamento durante la scrittura della eeprom - - - - - - + + + + + + Imperial units Unità Imperiali nella telemetria - + Sky9x board / 9X - - + + + Bluetooth interface Interfaccia bluetooth - - - - - - - - + + + + + + + + + Global variables Variabili Globali - - - - - - - - + + + + + + + + + In model setup menus automatically set source by moving the control Nel menu settaggio modelli selezionare automaticamente la sorgente muovendo il controllo - - - - - - - - + + + + + + + + + In model setup menus automatically set switch by moving the control Nel menu settaggio modelli selezionare automaticamente l'interruttore muovendo il controllo - OpenTX for 9XR - OpenTx per 9xR - - - OpenTX for 9XR with M128 chip - OpenTx per 9XR con chip M128 - - - OpenTX for Gruvin9x board / 9X - OpenTX per board Gruvin 9x / 9x - - - - + + Support for SD memory card Supporto memorie SD - + Support for DSM2 modules using ppm instead of true serial Supporto per moduli DSM2 usando il ppm invece della seriale - OpenTX for Sky9x board / 9X - OpenTX per scheda Sky9x / 9X - - - - + + + Enable HELI menu and cyclic mix support Abilita il menù HELI e le funzioni del piatto ciclico @@ -8749,7 +7879,8 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati - + + S1 @@ -8760,14 +7891,13 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati - + V - - + s @@ -8888,36 +8018,27 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati - + + S2 - + + LS - + + RS - - S4 - S4 - - - LS2 - LS2 - - - RS2 - RS2 - @@ -8927,7 +8048,7 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati - + Timer3 Tempo3 @@ -9182,18 +8303,18 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati - - + + Warning Avviso - + EEPROM saved with these warnings: EEPROM salvata con questi avvisi: - + Simulator for this firmware is not yet available Il simulatore per questo firmware non è ancora disponibile @@ -9203,22 +8324,22 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati th9x non ha gli Encoder Rotativi - + Trim disabled Trim disabilitato - + Own Trim Trim proprio - + Use Trim from Flight mode %1 Usa Trim della Fase di volo %1 - + Use Trim from Flight mode %1 + Own Trim as an offset Usa Trim della Fase di volo %1 + Trim proprio come offset @@ -9252,15 +8373,21 @@ The OpenTX Team. Il Team di OpenTX. - + + + - Synchronization error Errore di sincronizzazione - + + No SD directory configured! + + + + No Radio connected! Radio non connessa! @@ -9270,33 +8397,33 @@ Il Team di OpenTX. VG - + -%1 + - The directory '%1' doesn't exist! la cartella '%1' non esiste! - + Create '%1' failed Creazione di '%1' fallita - + Copy '%1' to '%2' failed Copia di '%1' in '%2' fallita - + Open '%1' failed Apertura di '%1' fallita - + Write '%1' failed Scrittura di '%1' fallita @@ -9330,16 +8457,6 @@ Il Team di OpenTX. Could not delete temporary file: %1 Non posso cancellare il file temporaneo: %1 - - - Positive - Positivo - - - - Negative - Negativo - Radio type @@ -9388,17 +8505,17 @@ Il Team di OpenTX. RudderPage - + No No - + Yes Si - + <br>Rudder Channel: <br>Canale Direzionale: @@ -9406,152 +8523,157 @@ Il Team di OpenTX. Setup - + Center beep Avviso centraggio - + OFF Spento - + Model Image Immagine modello - + Exponential Esponenziale - + Throttle Trim Idle Only Trim Motore solo Idle - + Timer 3 Temporizzatore 3 - + Extra Fine Extra Fine - + Fine Fine - + Medium Medio - + Coarse Ampio - + Display Checklist Mostra Note - + Timer 2 Temporizzatore 2 - + Timer 1 Temporizzatore 1 - + + Top LCD Timer + + + + Never Mai - + On change Al cambiamento - + Always Sempre - + Global Functions Funzioni Globali - + Throttle Source Sorgente motore - + Trim Step Passo trim - + Trims Display Mostra trims - + Warnings Avvisi - + Switch Warnings Avviso interruttore - + Pot Warnings Avviso Pot - + Manual Manuale - + Auto Auto - + Model Modello - + Extended Limits Limiti estesi - + Extended Trims Trim estesi - + Throttle Warning Avviso Motore - + 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. @@ -9562,15 +8684,23 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà - + Reverse Throttle Stick Motore invertito + + SetupPanel + + + Timer %1 + + + SimpleTailPage - + Elevator Channel: Canale dell'Elevatore: @@ -9745,10 +8875,44 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Uscite + + SplashLibraryDialog + + + + ... + + + + + Splash Library - page %1 of %2 + Libreria sfondi - pagina %1 di %2 + + + + Warning + Avviso + + + + Invalid image in library %1 + Immagine corrotta nella libreria %1 + + + + Information + Informazione + + + + No valid image found in library, check your settings + Nessuna immagine trovata nella libreria, controllate le impostazioni + + StandardPage - + Channel %1 Canale %1 @@ -9756,25 +8920,24 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà SyncProcess - + + %1/%2 files + + + + Create directory %1 Crea directory %1 - + Copy %1 to %2 Copia %1 su %2 - - Read %1 - - Leggi %1 - - - + Write %1 Scrivi %1 @@ -9783,35 +8946,40 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà TailPage - + Rudder Channel: Canale Direzionale: - + Elevator Channel: Canale Elevatore: + + + Only one channel still available!<br>You probably should configure your model without using the wizard. + + TailSelectionPage - + Elevator and Rudder Elevatore e Deriva - + Only Elevator Solo Elevatore - + V-tail Coda a V - + Tail Type: Tipo di coda: @@ -9819,96 +8987,96 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Telemetry - + A1 A1 - + A2 A2 - + RSSI RSSI - + Alarm 1 Allarme 1 - - + + ---- ---- - - + + Yellow Giallo - - + + Orange Arancione - - + + Red Rosso - + Alarm 2 Allarme 2 - + Center Silent - + Altitude source Misura dell'altitudine - + Volts source Misura della tensione - + Top Bar Barra superiore - + Serial Protocol Protocollo seriale - + Sensors Sensori - + Disable multi sensor handling - + Volt source Misura della tensione - + Current source Misura della corrente @@ -9918,82 +9086,82 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Protocollo - + None Nessuno - + FrSky Sensor Hub FrSky Sensor Hub - + Blades Pale dell'elica - + Sink Max Max Discesa - + Climb Max Max Salita - + Sink Min Min Discesa - + Climb Min Min Salita - + Vario source Sorgente per il Vario - + Vario limits Limiti per il Vario - + Altimetry Altimetro - + mAh mAh - + A A - + Various Varie - + mAh count Conteggio mAh - + FAS Offset Offset FAS - + Persistent mAh mAh persistenti @@ -10107,17 +9275,7 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Corrente (mA) - - Low Alarm - Allarme basso - - - - Critical Alarm - Allarme critico - - - + Range Intervallo @@ -10130,22 +9288,22 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Tipo schermo personalizzato - + None Nessuno - + Numbers Numeri - + Bars Barre - + Script Script @@ -10173,99 +9331,99 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà TelemetryPanel - + FrSky S.PORT FrSky S.PORT - + FrSky D FrSky D - + FrSky D (cable) FrSky D (su cavo) - + Telemetry screen %1 Schermo telemetria %1 - + Low Alarm Allarme basso - + Critical Alarm Allarme critico - + Winged Shadow How High Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (non supportato) - + Alti - + Alti+ - + VSpeed - - - + + + A1 A1 - - - + + + A2 A2 - - + + A3 A3 - - + + A4 A4 - - + + FAS FAS - + Cells Celle - + --- --- @@ -10371,119 +9529,119 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà - Amps Sensor : - Sensore corrente : + Sensor : + + + + + V + + + + + A + + + + + mA + + + + + kt + + + + + m/s + + + + + ft/s + + + + + km/h + + + + + mph + + + + + m + + + + + ft + + + + + °C + + + + + °F + + + + + % + + + + + mAh + + + + + W + + + + + dBm + + + + + g + + + + + ° + + + + + mL + + + + + US fl.Oz. + Raw (-) Grezza (-) - - - Voltage (V) - Voltaggio (V) - - - - Current (A) - Corrente (A) - - - - Current (mA) - Corrente (mA) - - - - Speed (kts) - Velocità (kts) - - - - Speed (m/s) - Velocità (m/s) - - - - Speed (ft/s) - Velocità (ft/s) - - - - Speed (km/h) - Velocità (km/h) - - - - Speed (miles/h) - Velocità (miglia/h) - - - - Meters (m) - Metri (m) - - - - Feet (ft) - Piedi (ft) - - - - Temp (°C) - - - - - Temp (°F) - - - - - Percentage (%) - Percentuale (%) - - - - Energy (mAh) - Energia (mAh) - - - - Power (W) - Potenza (W) - - - - RF Power (dBm) - Potenza RF (dBm) - RPM - - - Acceleration (g) - Accelerazione (g) - - - - Heading (°) - Rotta (°) - - - - Volume (mL) - - - - - Volume (US fl.Oz.) - - Precision @@ -10494,10 +9652,6 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Ratio - - Range - Campo - Blades @@ -10542,22 +9696,22 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà TelemetrySensorPanel - + Lowest Minore - + Cell %1 Cella %1 - + Highest Maggiore - + Delta Diff @@ -10770,7 +9924,17 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà simula - + + Instance + Istanza + + + + 2 + 9X {2?} + + + <html><head/><body><p>Start with <span style=" font-style:italic;">0x</span> for hex, <span style=" font-style:italic;">0</span> for octal, otherwise decimal.<br/>Numeric entry only. Blank values are not sent.</p></body></html> <html><head/><body><p>Inserite i numeri iniziando con <span style=" font-style:italic;">0x</span> per hex, <span style=" font-style:italic;">0</span> per ottali, altrimenti decimali.<br/>Solo valori numerici. I valori non compilati non vengono inviati.</p></body></html> @@ -10778,17 +9942,17 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà ThrottlePage - + Yes Si - + No No - + <br>Throttle Channel: <br>Canale Motore: @@ -10809,32 +9973,37 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà TimerPanel - + Silent Silenzioso - + Beeps Suoni - + Voice Voce - + + Haptic + Vibrazione + + + Not persistent Non persistente - + Persistent (flight) Persistente (volo) - + Persistent (manual reset) Persistente (reset manuale) @@ -10973,12 +10142,12 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà VTailPage - + First Tail Channel: Canale primo servo di coda: - + Second Tail Channel: Canale secondo servo di coda: @@ -10986,12 +10155,12 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà WingtypeSelectionPage - + Standard Wing Ali normali - + Flying Wing / Deltawing Tuttala / Ala a Delta @@ -11273,37 +10442,37 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà WizardPrinter - + Plane Aereo - + Multicopter Multirotore - + Helicopter Elicottero - + Model Name: Nome Modello: - + Model Type: Tipo Modello: - + Options: Opzioni: - + Channel %1: Canale %1: @@ -11523,37 +10692,6 @@ Deve essere m64 for le piastre originali m2560 per le schede v4.1 - - contributorsDialog - - People who have contributed to this project - Persone che hanno contribuito a questo progetto - - - Coders - Programmatori e grafici - - - Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) - Un sentito ringraziamento è dovuto a Rafal Tomczak (RadioClone), Thomas Husterer (th9x) e Erez Raviv (er9x e eePe) - - - Companion Release Notes - Note di aggiornamento di Companion - - - Thank you all !!! - Grazie a tutti !!! - - - Contributors - Amici e Programmatori - - - OpenTX Release Notes - informazioni su aggiornamenti OpenTX - - customizeSplashDialog @@ -11929,107 +11067,6 @@ Premere annulla per cancellare l'operazione Duplicated stick assignment - - Duplicated stick assignement - Assegnamento stick duplicato - - - - logsDialog - - Companion Log Viewer - Visualizzatore di Log di Companion - - - Filename - Nome file - - - Open LogFile - Apri file di log - - - Zoom - Ingrandimento - - - X - X - - - Y - Y - - - Reset - Ripristina - - - Fly sessions - Sessioni di volo - - - Telemetry logs - Log telemetrici - - - Time (hh:mm:ss) - Tempo - - - Plot Title Change - Cambia titolo del grafico - - - New plot title: - Nuovo titolo del grafico: - - - Axis Label Change - Cambia etichetta asse - - - New axis label: - Nuova etichetta: - - - Graph Name Change - Cambia nome del grafico - - - New graph name: - Nuovo nome del grafico: - - - Error - Errore - - - Cannot write file %1: -%2. - Non posso scrivere il file %1: -%2. - - - Select your log file - Selezionare il file di log - - - Available fields - Campi disponibili - - - The selected logfile contains %1 invalid lines out of %2 total lines - Il file di log selezionato contiene %1 righe errate su un totale di %2 righe - - - total duration - durata totale - - - duration - durata - mdiChild @@ -12154,38 +11191,4 @@ Premere annulla per cancellare l'operazione Colore Retroilluminazione - - SplashLibraryDialog - - - - ... - - - - - Splash Library - page %1 of %2 - Libreria sfondi - pagina %1 di %2 - - - - Warning - Avviso - - - - Invalid image in library %1 - Immagine corrotta nella libreria %1 - - - - Information - Informazione - - - - No valid image found in library, check your settings - Nessuna immagine trovata nella libreria, controllate le impostazioni - - diff --git a/companion/src/translations/companion_nl.ts b/companion/src/translations/companion_nl.ts index 456c30eb7..6df042131 100644 --- a/companion/src/translations/companion_nl.ts +++ b/companion/src/translations/companion_nl.ts @@ -4,27 +4,27 @@ AileronsPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Aileron Channel: - + Second Aileron Channel: @@ -32,27 +32,27 @@ AirbrakesPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Airbrake Channel: - + Second Airbrake Channel: @@ -74,7 +74,7 @@ - + Open Folder @@ -308,7 +308,7 @@ Mode 4: - + Simulator Volume Gain @@ -445,62 +445,62 @@ May be different from firmware language - + Simulator BackLight - + Enable - + Blue - + Green - + Red - + Orange - + Yellow - + Joystick - + Calibrate - + Simulator capture folder - + Only capture to clipboard - + Remember simulator switch values @@ -515,64 +515,64 @@ May be different from firmware language - - + + No joysticks found - + EMPTY: No radio settings stored in profile - + AVAILABLE: Radio settings of unknown age - + AVAILABLE: Radio settings stored %1 - + 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) @@ -747,11 +747,6 @@ May be different from firmware language Stick 4 - - - Battery - - v @@ -772,9 +767,14 @@ May be different from firmware language PPM 4 + + + Battery Offset + + - Current + Current Offset @@ -1024,393 +1024,17 @@ May be different from firmware language - + No name - - General Model Settings - - - - - - - Name - - - - - - EEprom Size - - - - - - Timer1 - - - - - - Timer2 - - - - - - Internal Radio System - - - - - - Radio System - - - - - - - - Protocol - - - - - - External Radio Module - - - - - - Extra Radio System - - - - - - Trainer port mode - - - - - - Throttle Trim - - - - - - Enabled - - - - - - Disabled - - - - - - Trim Increment - - - - - - Center Beep - - - - - Flight modes Settings - - - - - - Fades - - - - - - Trims - - - - - - Switch - - - - - - - - Flight mode name - - - - - - IN - - - - - - OUT - - - - - - - - - - - - - - FM - - - - - - Gvars - - - - - - Rot. Enc. - - - - - Limits - - - - - - - - - Offset - - - - - - - - - Min - - - - - - - - - Max - - - - - - - Invert - - - - - - - - - CH - - - - - - INV - - - - - - NOR - - - - - Global Variables - - - - - - GV - - - - - Inputs - - - - - Mixers - - - - - Curves - - - - - - Curve - - - - - Logical Switches - - - - - L - - - - - Special Functions - - - - - SF - - - - - Telemetry Settings - - - - - - Analog - - - - - - Unit - - - - - - Scale - - - - - - - - A%1 - - - - - - Alarm 1 - - - - - - Alarm 2 - - - - - - - - Type - - - - - - - - Condition - - - - - - - - Value - - - - - - RSSI Alarm - - - - - - Custom Telemetry View - - - - - - Telemetry Bars - - - - - - Bar Number - - - - - - Source - - - - + Print Document - + Select PDF output file @@ -1418,7 +1042,7 @@ May be different from firmware language ConclusionPage - + OK, I understand. @@ -1456,12 +1080,12 @@ May be different from firmware language - - Thank you all !!! + + OpenTX Blacklist - + monthly @@ -1494,22 +1118,22 @@ May be different from firmware language CurveGroup - + Diff - + Expo - + Func - + Curve @@ -1716,42 +1340,42 @@ May be different from firmware language - + &Delete - + Delete - + &Copy - + Ctrl+C - + &Cut - + Ctrl+X - + &Paste - + Ctrl+V @@ -1759,22 +1383,22 @@ May be different from firmware language CyclicPage - + 90 - + 120 - + 120x - + 140 @@ -1788,232 +1412,106 @@ May be different from firmware language - ElevonsPage + EepromInterface - - <br>First Elevon Channel: + + Possible causes for this: - - Second Elevon Channel: + + - Eeprom is from a newer version of OpenTX + + + + + - Eeprom is not from OpenTX + + + + + - Eeprom is not from Th9X + + + + + - Eeprom is not from Gruvin9X + + + + + - Eeprom is not from ErSky9X + + + + + - Eeprom is not from Er9X + + + + + - Eeprom size is invalid + + + + + - Eeprom file system is invalid + + + + + - Eeprom is from a unknown board + + + + + - Eeprom is from the wrong board + + + + + - Eeprom backup not supported + + + + + - Something that couldn't be guessed, sorry + + + + + Warning: + + + + + + - Your radio probably uses a wrong firmware, + eeprom size is 4096 but only the first 2048 are used + + + + + - Your eeprom is from an old version of OpenTX, upgrading! + You should 'save as' to keep the old file as a backup. + + + + + Warnings! - Er9x::Templates + ElevonsPage - - Simple 4-CH + + <br>First Elevon Channel: - - T-Cut - - - - - Sticky T-Cut - - - - - V-Tail - - - - - Elevon\Delta - - - - - Heli Setup - - - - - Heli Setup with gyro gain control - - - - - Gyro gain control - - - - - Heli Setup (Futaba's channel assignment style) - - - - - Heli Setup with gyro gain control (Futaba's channel assignment style) - - - - - Gyro gain control (Futaba's channel assignment style) - - - - - Servo Test - - - - - MultiCopter - - - - - Use Model Config Wizard - - - - - Apply Template? - - - - - Apply template "%1"? - - - - - - - - - - - RUD - - - - - - - - - - - - - - ELE - - - - - - - THR - - - - - - - - - - - - AIL - - - - - - - - AIL2 - - - - - - - - ELE2 - - - - - - - - - - FLAPS - - - - - - - - - - FLAP%1 - - - - - - - - PITCH - - - - - - - - - - - - GYRO - - - - - - SPOIL - - - - - - SPOIL%1 - - - - - - RUD2 - - - - - - Clear Mixes? - - - - - Really clear existing mixes on CH6? - - - - - Really clear existing mixes on CH5? + + Second Elevon Channel: @@ -2132,46 +1630,26 @@ If blank then the input is considered to be "ON" all the time.Edit %1 - - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - FblPage - + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -2223,27 +1701,27 @@ May be different from firmware language FlapsPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Flap Channel: - + Second Flap Channel: @@ -2252,7 +1730,7 @@ May be different from firmware language FlashEEpromDialog - + Write Models and Settings to Radio @@ -2326,14 +1804,14 @@ May be different from firmware language - - - - - - - - + + + + + + + + Error @@ -2345,71 +1823,71 @@ May be different from firmware language - + Error opening file %1: %2. - - + + Invalid Models and Settings File %1 - + Error reading file %1: %2. - + Invalid Models and Settings file %1 - - - - + + + + Warning - + 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. - + The radio firmware belongs to another product family, check file and preferences! - + The radio firmware is outdated, please upgrade! - + Cannot check Models and Settings compatibility! Continue anyway? @@ -2493,8 +1971,8 @@ May be different from firmware language - - + + Warning @@ -2548,58 +2026,58 @@ May be different from firmware language - + Splash image not found - + Cannot save customized firmware - + Write Firmware to Radio - - + + Firmware check failed - + Could not check firmware from radio - + New firmware is not compatible with the one currently installed! - + Conversion failed - + Cannot convert Models and Settings for use with this firmware, original data will be used - + Restore failed - + Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - + Flashing done @@ -2721,37 +2199,17 @@ Please use ZADIG to properly install the driver. FlightModePanel - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - - - + Rotary Encoder %1 - + GVAR%1 - + Popup enabled @@ -2759,17 +2217,17 @@ Please use ZADIG to properly install the driver. FlightModesPanel - + Flight Mode %1 - + (%1) - + (default) @@ -2777,17 +2235,17 @@ Please use ZADIG to properly install the driver. FlybarSelectionPage - + Has Flybar - + Flybarless - + Flybar: @@ -3730,17 +3188,17 @@ Are you sure ? GyroPage - + No - + Yes, controled by a switch - + Yes, controlled by a pot @@ -3821,22 +3279,22 @@ Are you sure ? HeliPage - + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -4207,9 +3665,9 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt MainWindow - - - + + + File loaded @@ -4219,703 +3677,703 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt - + 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 - - + + No updates available at this time. - + Would you like to launch the installer? - - + + Error - + Error opening file %1: %2. - + Compilation server too busy, try later - + Compilation server requires registration, please check OpenTX web site - + Unknown server failure, try later - + Compilation server termporary failure, try later - + Do you want to write the firmware to the radio now ? - - + + Yes - - + + No - - + + Release Notes - - + + Do you want to download release %1 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. - + Read Models and Settings From Radio - + Save Radio Backup to File - + Read Radio Firmware to File - + OpenTX Home Page: <a href='%1'>%1</a> - + If you've found this program useful, please support by <a href='%1'>donating</a> - + About Companion - + Show the list of radio profiles - + Create a new Models and Settings file - + Ignore this release %1? - + The OpenTX Companion project was originally forked from <a href='%1'>eePe</a> - + Copyright OpenTX Team - - + + Save Models and Settings file - + Exit - + Exit the application - + Cut Model - + Cut current model to the clipboard - + Copy current model to the clipboard - + Paste model from clipboard - + Paste Model - + 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 - + Polish - + Use Polish in menus - + Spanish - + Use Spanish in menus - + Swedish - + Use Swedish in menus - + About... - + Show the application's About box - + Print... - + Print current model - + Simulate... - + Simulate current model - + Alt+S - + 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 Radio Splash Image... - + Edit the splash image of your Radio - + List programmers... - + List available programmers - + Fuses... - + Show fuses dialog - - + + Read Firmware from Radio - + Read firmware from Radio - - + + Write Firmware to Radio - + Write firmware to Radio - + 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 Radio - - + + Write Models and Settings to Radio - - + + Read Models and Settings from Radio - + Configure Communications... - + Configure software for communicating with the Radio - + Write Backup to Radio - + Write Backup from file to Radio - + Backup Radio to File - + Save a complete backup file of all settings and model data in the Radio - + Contributors... - + A tribute to those who have contributed to OpenTX and Companion - + Recent Files - + Recent Models+Settings - + Set Menu Language - + A new release of Companion is available, please check the OpenTX website! - + Not enough memory for all the selected firmware options - + Firmware %1 does not seem to have ever been downloaded. Release %2 is available. Do you want to download it now? @@ -4924,7 +4382,7 @@ We recommend you view the release notes using the button below to learn about an - + A new version of %1 firmware is available: - current is %2 - newer is %3 @@ -4935,119 +4393,119 @@ We recommend you view the release notes using the button below to learn about an - - - + + + Companion - - + + Synchronize SD - + OpenTX Companion %1 - Radio: %2 - Profile: %3 - + New - + Open... - + Save - + Save As... - + Copy Model - + SD card synchronization - + Set Icon Theme - + Set Icon Size - - + + File - - + + Edit - + Settings - + Read/Write - - + + Help - - + + Radio Profile - + Show recent Models+Settings documents - + Write - + Ready - + %2 - + New Radio @@ -5068,105 +4526,113 @@ We recommend you view the release notes using the button below to learn about an - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Error - + Unable to find file %1! - - + + Error opening file %1: %2. - - + + Invalid EEPROM File %1 - - + + + + + Warning + + + + + Error reading file %1: %2. - + Invalid binary EEPROM File %1 - - - + + + Save As - - - - + + + + Cannot write file %1: %2. - - + + Error writing file %1: %2. - + Companion - + %1 has been modified. Do you want to save your changes? - + Cannot write temporary file! - + Open backup Models and Settings file - + Invalid binary backup File %1 @@ -5364,26 +4830,6 @@ If blank then the mix is considered to be "ON" all the time. DEST -> CH%1 - - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - MixesPanel @@ -5417,12 +4863,12 @@ If blank then the mix is considered to be "ON" all the time. - + Not enough available mixers! - + Delete Selected Mixes? @@ -5507,12 +4953,12 @@ If blank then the mix is considered to be "ON" all the time. - + Clear Mixes? - + Really clear all the mixes? @@ -5580,30 +5026,307 @@ If blank then the mix is considered to be "ON" all the time. + + ModelPrinter + + + %1 bytes + + + + + CH%1 + + + + + Exponential + + + + + Extra Fine + + + + + Fine + + + + + Medium + + + + + Coarse + + + + + Unknown + + + + + Enabled + + + + + Disabled + + + + + %1, Channels(%2-%3), PPM delay(%4usec), Pulse polarity(%5) + + + + + %1, Channels(%2-%3) + + + + + Receiver number(%1) + + + + + Slave/Jack + + + + + Master/SBUS Module + + + + + Master/CPPM Module + + + + + Master/SBUS in battery compartment + + + + + Master/Jack + + + + + Rudder + + + + + Elevator + + + + + Throttle + + + + + Aileron + + + + + Name(%1) + + + + + Persistent + + + + + MinuteBeep + + + + + CountDown(Beeps) + + + + + CountDown(Voice) + + + + + CountDown(Haptic) + + + + + Off + + + + + + + + FM%1 + + + + + FM%1%2 + + + + + FM%1+%2 + + + + + [I%1] + + + + + Input%1 + + + + + Weight + + + + + Switch + + + + + + NoTrim + + + + + Weight(%1) + + + + + Switch(%1) + + + + + No DR/Expo + + + + + Offset(%1) + + + + + Delay(u%1:d%2) + + + + + Slow(u%1:d%2) + + + + + Warn(%1) + + + + + Disabled in all flight modes + + + + + Flight modes(%1) + + + + + Flight mode(%1) + + + + + Edge(%1, [%2:%3]) + + + + + Sticky(%1, %2) + + + + + Timer(%1, %2) + + + + + Duration(%1s) + + + + + Delay(%1s) + + + + + Custom + + + + + Standard + + + ModelSelectionPage - + Plane - + Multirotor - + Helicopter - + Model Name: - + Model Type: @@ -5611,128 +5334,129 @@ If blank then the mix is considered to be "ON" all the time. 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 - + Ctrl+P - + &Simulate model - + Alt+S - + General Settings - + Delete Selected Models? - - + + Cannot delete default model. - + Cannot cut default model. - + Do you want to overwrite radio general settings? - + You are pasting on an not empty model, are you sure? - + No free slot available, cannot duplicate @@ -5883,66 +5607,273 @@ If blank then the mix is considered to be "ON" all the time. ModulePanel - + Trainer Port - + Internal Radio System - + External Radio Module - - + + Radio System - + Extra Radio System - + Value - + Hold - + No Pulse + + MultiModelPrinter + + + General Model Settings + + + + + Name: + + + + + EEprom Size: + + + + + Timer%1: + + + + + Module%1: + + + + + Module: + + + + + Trainer port: + + + + + Throttle Trim: + + + + + Trim Increment: + + + + + Center Beep: + + + + + Flight modes + + + + + + Flight mode + + + + + Switch + + + + + Fade IN + + + + + Fade OUT + + + + + + FM%1 + + + + + + GV%1 + + + + + RE%1 + + + + + Limits + + + + + Channel + + + + + Name + + + + + + Offset + + + + + Min + + + + + Max + + + + + Invert + + + + + Global Variables + + + + + Inputs + + + + + Mixers + + + + + CV%1 + + + + + Curves + + + + + L%1 + + + + + Logical Switches + + + + + SF%1 + + + + + Special Functions + + + + + Telemetry Settings + + + + + Analogs + + + + + Unit + + + + + Scale + + + + + A%1 + + + + + RSSI Alarms + + + MultirotorPage - + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -5950,17 +5881,17 @@ If blank then the mix is considered to be "ON" all the time. OptionsPage - + Throttle Cut - + Throttle Timer - + Flight Timer @@ -5983,427 +5914,17 @@ If blank then the mix is considered to be "ON" all the time. - - Setup for: - - - - - printed on: %1 - - - - - General Model Settings - - - - - - - - Name - - - - - EEprom Size - - - - - Internal Radio System - - - - - Radio System - - - - - - Protocol - - - - - Throttle Trim - - - - - Enabled - - - - - Disabled - - - - - External Radio Module - - - - - Timer%1 - - - - - Extra Radio System - - - - - Trainer port mode - - - - - Trim Increment - - - - - Center Beep - - - - - Flight modes - - - - - Fades - - - - - Trims - - - - - Gvars - - - - - Rot.Enc. - - - - - Switch - - - - - Flight mode name - - - - - IN - - - - - OUT - - - - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - - - - - - - - FM - - - - - Off - - - - - Inputs - - - - - Source - - - - - Mixers - - - - - Limits - - - - - - - CH - - - - - - - - - Offset - - - - - - - - Min - - - - - - - - Max - - - - - - - Invert - - - - - - - INV - - - - - - - NOR - - - - - Curves - - - - - - - Curve - - - - - pt %1 - - - - - Logical Switches - - - - - L - - - - - Global Variables - - - - - GV - - - - - Special Functions - - - - - SF - - - - - - Telemetry Settings - - - - - - Analog - - - - - Range - - - - - - - A%1 - - - - - Alarms - - - - - Low Alarm - - - - - Critical Alarm - - - - - RSSI - - - - - - Blades - - - - - - Alarm 1 - - - - - - Alarm 2 - - - - - Unit - - - - - Scale - - - - - - - - Type - - - - - - - - Condition - - - - - - - - Value - - - - - RSSI Alarm - - - - - Frsky serial protocol - - - - - - Custom Telemetry View - - - - - Telemetry Bars - - - - - Bar Number - - - - + Print Document - + Select PDF output file - + ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) @@ -6453,86 +5974,89 @@ If blank then the mix is considered to be "ON" all the time. - + -GV%1 - + GV%1 - + Rud - + Ele - + Thr - + Ail - - + + P1 - - + + P2 - - + + P3 - + + S1 - + + S2 - + S3 - + + LS @@ -6544,21 +6068,22 @@ If blank then the mix is considered to be "ON" all the time. - + + RS - + REa - + REb @@ -6591,14 +6116,14 @@ If blank then the mix is considered to be "ON" all the time. - + Timer1 - + Timer2 @@ -6845,14 +6370,13 @@ If blank then the mix is considered to be "ON" all the time. - + V - - + s @@ -6987,28 +6511,32 @@ If blank then the mix is considered to be "ON" all the time. + F1 + F2 + F3 + F4 - + Timer3 @@ -7213,13 +6741,12 @@ If blank then the mix is considered to be "ON" all the time. - + ---- - [I%1] @@ -7441,16 +6968,30 @@ If blank then the mix is considered to be "ON" all the time. - - repeat + + played once, not during startup - - + + repeat(%1s) + + + + DISABLED + + + INV + + + + + NOR + + @@ -7495,8 +7036,8 @@ If blank then the mix is considered to be "ON" all the time. - - + + --- @@ -7602,88 +7143,9 @@ If blank then the mix is considered to be "ON" all the time. - Unknown - - - - Weight - - - - - - Switch - - - - - - NoTrim - - - - - No DR/Expo - - - - - Offset - - - - - Delay - - - - - Slow - - - - - Warn - - - - - Flight modes - - - - - Flight mode - - - - - Edge(%1, [%2:%3]) - - - - - Sticky(%1, %2) - - - - - Timer(%1, %2) - - - - - Duration (%1s) - - - - - Delay (%1s) - - Override %1 @@ -7700,29 +7162,59 @@ If blank then the mix is considered to be "ON" all the time. - - - + + SetFailsafe Int. Module + + + + + SetFailsafe Ext. Module + + + + + RangeCheck Int. Module + + + + + RangeCheck Ext. Module + + + + + Bind Int. Module + + + + + Bind Ext. Module + + + + + + <font color=red><b>Inconsistent parameter</b></font> - + Telemetry - + Value - + Decr: - + Incr: @@ -7838,567 +7330,589 @@ If blank then the mix is considered to be "ON" all the time. - + Source %1 cannot be exported on this board! - + OpenTX only accepts %1 points in all curves - + OpenTx only accepts %1 points in all curves - - - + + - + + OpenTX on this board doesn't accept this function - + OpenTX doesn't accept this telemetry protocol - - - + + + OpenTX doesn't accept this radio 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 - + No OverrideCH functions available - - - - - - + + + + + + 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 - + Channel values displayed in us - - - - - - - - + + + + + + + + + Global variables - - - - - - - - + + + + + + + + + Symetrical Limits - - + + SmartieParts 2.2 Backlight support - - - - - - - - + + + + + + + + + In model setup menus automatically set source by moving the control - - - - - - - - + + + + + + + + + In model setup menus automatically set switch by moving the control - - - - - + + + + + + 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 - + (displaying only first 10 warnings) - + Possibility to enable FAI MODE (no telemetry) at field - + FAI MODE (no telemetry) always enabled - + + + + Support for a third timer - + + Instead of Joystick emulation, USB connection is Mass Storage (as in the Bootloader) + + + + + Instead of Joystick emulation, USB connection is Command Line Interface + + + + Removes D8 and LR12 FrSky protocols that are not legal for use in the EU on radios sold after Jan 1st, 2015 - + Support for PPM internal module hack - + ST7565P LCD or compatible - + ST7565R LCD or compatible - + ERC12864FSF LCD - + ST7920 LCD - + 9X board - - - - + + + + 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 - - + + Add support for reversing stick inputs (e.g. needed for FrSky gimbals) - + + ar9x board / 9X + + + + FrSky Taranis Plus - + FrSky Taranis X9E - - - - - + + + + + EEprom write Progress bar - - + + Support for SD memory card - - + + Support of FrSky PXX protocol - + Confirmation before radio shutdown - + Support for DSM2 modules using ppm instead of true serial - + Power management by soft-off circuitry - - + + Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views - - + + + Enable HELI menu and cyclic mix support - - + + + Bluetooth interface - + Disable HELI menu and cyclic mix support - + M128 / 9X board - + 9XR - + 9XR with M128 chip - + Gruvin9x board / 9X - + MEGA2560 board - + Sky9x board / 9X - + 9XR-PRO - + FrSky Taranis - + Haptic module installed - + Support for Lua model scripts - - No Joystick emulation inside the FW (only Mass Storage as in the Bootloader) - - - - + Disable Global variables @@ -8408,38 +7922,27 @@ If blank then the mix is considered to be "ON" all the time. - - - FM%1 - - - - - Input%1 - - - - + Rud Trim - + Ele Trim - + Thr Trim - + Ail Trim - + Rot Enc @@ -8529,22 +8032,22 @@ If blank then the mix is considered to be "ON" all the time. - + !Flight mode %1 - + Flight mode %1 - + Own value - + Flight mode %1 value @@ -8564,158 +8067,52 @@ If blank then the mix is considered to be "ON" all the time. - + Yellow - + Orange - + Red - + Winged Shadow How High - + Winged Shadow How High (not supported) - + FrSky Sensor Hub - + None - + Imperial - + Metric - - - Extra Fine - - - - - Fine - - - - - Medium - - - - - Coarse - - - - - %1:%2 - - - - - , Persistent - - - - - , MinuteBeep - - - - - , CountDown(Beeps) - - - - - , CountDown(Voice) - - - - - - : Channel start: %1, %2 Channels, %3usec Delay, Pulse polarity %4 - - - : Channel start: %1, %2 Channels - - - - - Slave/Jack - - - - - Master/SBUS Module - - - - - Master/CPPM Module - - - - - Master/SBUS in battery compartment - - - - - Master/Jack - - - - - Exponential - - - - - Rudder - - - - - Elevator - - - - - Throttle - - - - - Aileron - - - - Simulator for this firmware is not yet available @@ -8730,65 +8127,62 @@ If blank then the mix is considered to be "ON" all the time. - + Value - + Source - + GVAR - + Increment - + Flight - + Rotary Encoder - + Trim disabled - + Own Trim - + Use Trim from Flight mode %1 - + Use Trim from Flight mode %1 + Own Trim as an offset - - CH%1 - - + THR @@ -8805,15 +8199,21 @@ The OpenTX Team. - + + + - Synchronization error - + + No SD directory configured! + + + + No Radio connected! @@ -8823,33 +8223,33 @@ The OpenTX Team. - + -%1 + - The directory '%1' doesn't exist! - + Create '%1' failed - + Copy '%1' to '%2' failed - + Open '%1' failed - + Write '%1' failed @@ -8882,16 +8282,6 @@ The OpenTX Team. Could not delete temporary file: %1 - - - Positive - - - - - Negative - - Radio type @@ -8940,17 +8330,17 @@ The OpenTX Team. RudderPage - + No - + Yes - + <br>Rudder Channel: @@ -8958,7 +8348,7 @@ The OpenTX Team. Setup - + 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. @@ -8966,160 +8356,173 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + Reverse Throttle - + Extended Limits - + + Top LCD Timer + + + + Extended Trims - + Throttle Trim Idle Only - + Throttle Warning - + Exponential - + Extra Fine - + Fine - + Medium - + Coarse - + Display Checklist - + Timer 2 - + Timer 1 - + Timer 3 - + Never - + On change - + Always - + Global Functions - + Throttle Source - + Trim Step - + Trims Display - + Center beep - + Model Image - + Warnings - + Switch Warnings - + Pot Warnings - + OFF - + Manual - + Auto - + Model + + SetupPanel + + + Timer %1 + + + SimpleTailPage - + Elevator Channel: @@ -9294,10 +8697,44 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi + + SplashLibraryDialog + + + + ... + + + + + Splash Library - page %1 of %2 + + + + + Warning + + + + + Invalid image in library %1 + + + + + Information + + + + + No valid image found in library, check your settings + + + StandardPage - + Channel %1 @@ -9305,25 +8742,24 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi SyncProcess - + + %1/%2 files + + + + Create directory %1 - + Copy %1 to %2 - - Read %1 - - - - - + Write %1 @@ -9332,35 +8768,40 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TailPage - + Rudder Channel: - + Elevator Channel: + + + Only one channel still available!<br>You probably should configure your model without using the wizard. + + TailSelectionPage - + Elevator and Rudder - + Only Elevator - + V-tail - + Tail Type: @@ -9368,91 +8809,91 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Telemetry - + A1 - + A2 - + Alarm 1 - - + + ---- - - + + Yellow - - + + Orange - - + + Red - + Alarm 2 - + RSSI - + Center Silent - + Altitude source - + Volts source - + Top Bar - + Volt source - + Current source - + Sensors - + Disable multi sensor handling @@ -9462,87 +8903,87 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + None - + FrSky Sensor Hub - + Blades - + Serial Protocol - + Sink Max - + Climb Max - + Sink Min - + Climb Min - + Vario source - + Vario limits - + Altimetry - + mAh count - + mAh - + A - + FAS Offset - + Persistent mAh - + Various @@ -9656,17 +9097,7 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - - Low Alarm - - - - - Critical Alarm - - - - + Range @@ -9679,22 +9110,22 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + None - + Numbers - + Bars - + Script @@ -9722,99 +9153,99 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TelemetryPanel - + FrSky S.PORT - + FrSky D - + FrSky D (cable) - + Telemetry screen %1 - + Low Alarm - + Critical Alarm - + Winged Shadow How High - + Winged Shadow How High (not supported) - + Alti - + Alti+ - + VSpeed - - - + + + A1 - - - + + + A2 - - + + A3 - - + + A4 - - + + FAS - + Cells - + --- @@ -9920,7 +9351,107 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - Amps Sensor : + Sensor : + + + + + V + + + + + A + + + + + mA + + + + + kt + + + + + m/s + + + + + ft/s + + + + + km/h + + + + + mph + + + + + m + + + + + ft + + + + + °C + + + + + °F + + + + + % + + + + + mAh + + + + + W + + + + + dBm + + + + + g + + + + + ° + + + + + mL + + + + + US fl.Oz. @@ -9928,111 +9459,11 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Raw (-) - - - Voltage (V) - - - - - Current (A) - - - - - Current (mA) - - - - - Speed (kts) - - - - - Speed (m/s) - - - - - Speed (ft/s) - - - - - Speed (km/h) - - - - - Speed (miles/h) - - - - - Meters (m) - - - - - Feet (ft) - - - - - Temp (°C) - - - - - Temp (°F) - - - - - Percentage (%) - - - - - Energy (mAh) - - - - - Power (W) - - - - - RF Power (dBm) - - RPM - - - Acceleration (g) - - - - - Heading (°) - - - - - Volume (mL) - - - - - Volume (US fl.Oz.) - - Precision @@ -10087,22 +9518,22 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TelemetrySensorPanel - + Lowest - + Cell %1 - + Highest - + Delta @@ -10315,7 +9746,17 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + + Instance + + + + + 2 + + + + <html><head/><body><p>Start with <span style=" font-style:italic;">0x</span> for hex, <span style=" font-style:italic;">0</span> for octal, otherwise decimal.<br/>Numeric entry only. Blank values are not sent.</p></body></html> @@ -10323,17 +9764,17 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi ThrottlePage - + Yes - + No - + <br>Throttle Channel: @@ -10354,32 +9795,37 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TimerPanel - + Silent - + Beeps - + Voice - - Not persistent - - - - - Persistent (flight) + + Haptic + Not persistent + + + + + Persistent (flight) + + + + Persistent (manual reset) @@ -10512,12 +9958,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi VTailPage - + First Tail Channel: - + Second Tail Channel: @@ -10525,12 +9971,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi WingtypeSelectionPage - + Standard Wing - + Flying Wing / Deltawing @@ -10812,37 +10258,37 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi WizardPrinter - + Plane - + Multicopter - + Helicopter - + Model Name: - + Model Type: - + Options: - + Channel %1: @@ -11545,38 +10991,4 @@ Press cancel to abort joystick calibration - - SplashLibraryDialog - - - - ... - - - - - Splash Library - page %1 of %2 - - - - - Warning - - - - - Invalid image in library %1 - - - - - Information - - - - - No valid image found in library, check your settings - - - diff --git a/companion/src/translations/companion_pl.ts b/companion/src/translations/companion_pl.ts index 09e6b3d54..d130310aa 100644 --- a/companion/src/translations/companion_pl.ts +++ b/companion/src/translations/companion_pl.ts @@ -693,11 +693,6 @@ Może być różny od języka firmware Stick 4 Drążek 4 - - - Battery - Zasilanie - v @@ -708,6 +703,11 @@ Może być różny od języka firmware PPM Multiplier Mnożnik PPM + + + Current Offset + Aktuany ofset + S1 @@ -823,6 +823,11 @@ Może być różny od języka firmware PPM 2 PPM 2 + + + Battery Offset + Ofset baterii + PPM 3 @@ -833,11 +838,6 @@ Może być różny od języka firmware PPM 4 PPM 4 - - - Current - Natężenie - @@ -1035,298 +1035,6 @@ Może być różny od języka firmware No name Model bez nazwy - - General Model Settings - Główne ustawienia modelu - - - Name - Nazwa - - - EEprom Size - Wielkość EEPROM - - - Timer1 - Timer1 - - - Timer2 - Timer2 - - - Internal Radio System - Wewnętrzny moduł radiowy - - - Radio System - System radia - - - Protocol - Protokół - - - External Radio Module - Zewnętrzny moduł radiowy - - - Extra Radio System - Dodatkowy System Radiowy - - - Trainer port mode - Tryb portu trenera - - - Throttle Trim - Trymer gazu - - - Enabled - Włączone - - - Disabled - Wyłączone - - - Trim Increment - Zwiększanie trymera - - - Center Beep - Dźwięk Środka - - - Flight modes Settings - Ustawiania faz lotu - - - Fades - Przejścia - - - Trims - Trymery - - - Switch - Przełącznik - - - Flight mode name - Nazwa fazy lotu - - - IN - Wejście - - - OUT - Wyjście - - - FM - FL - - - Gvars - Zm-Gl - - - Rot. Enc. - Pokrętło. - - - Limits - Limity - - - Offset - Wyrównanie - - - Min - Min - - - Max - Maks - - - Invert - Odwróć - - - CH - Kanał - - - INV - Odwróć - - - NOR - NOR - - - Global Variables - Zmienne Globalne - - - GV - ZG - - - Inputs - Wejścia - - - L - L - - - Expo/Dr Settings - Expo/Ustawienia DR - - - Weight - Waga - - - Flight modes - Fazy lotu - - - Flight mode - Faza lotu - - - DISABLED - Wyłączone - - - Mixers - Miksery - - - noTrim - Bez trymera - - - Delay(u%1:d%2) - Opóźnienie(u%1:d%2) - - - Slow(u%1:d%2) - Spowolnienie(u%1:d%2) - - - Warn - Ostrzeżenie - - - Curves - Krzywe - - - Curve - Krzywa - - - Logical Switches - Przełączniki logiczne - - - L%1 - L%1 - - - Special Functions - Funkcje Specjalne - - - Function - Funkcja - - - Param - Parametr - - - Repeat - Powtórz - - - Enable - Aktywuj - - - SF - SF - - - Telemetry Settings - Ustawienia telemetrii - - - Analog - Analogowy - - - Unit - Jednostka - - - Scale - Skala - - - A%1 - A %1 - - - Alarm 1 - Alarm 1 - - - Alarm 2 - Alarm 2 - - - Type - Typ - - - Condition - Warunek - - - Value - Wartość - - - RSSI Alarm - Alarm RSSI - - - Custom Telemetry View - Własny ekran telemetrii - - - Telemetry Bars - Wskaźniki telemetryczne - - - Bar Number - Numer wskaźnika - - - Source - Źródło - Print Document @@ -1379,16 +1087,12 @@ Może być różny od języka firmware Specjalne podziękowania Rafałowi Tomczakowi (RadioClone), Thomasowi Husteterowi (th9x) a także Erazowi Ravivowi(er9x i eePe) - + OpenTX Blacklist Indeks (zakaz) OpenTX - Thank you all !!! - Wszystkim wam dziękujemy !!! - - - + monthly miesięcznie @@ -1643,70 +1347,42 @@ Może być różny od języka firmware Nie mogę odnaleźć pliku dźwiękowego %1! - + &Delete &Wykasuj - + Delete Wykasuj - Timer1 - Timer1 - - - Timer2 - Timer2 - - - Flight - Lot - - - Telemetry - Telemetria - - - Rotary Encoder - Pokrętło - - - REa - Pokrętło A - - - REb - Pokrętło B - - - + &Copy &Kopiuj - + Ctrl+C Ctrl+C - + &Cut W&ytnij - + Ctrl+X Ctrl+X - + &Paste W&klej - + Ctrl+V Ctrl+V @@ -1742,6 +1418,99 @@ Może być różny od języka firmware Wyjście debugera + + EepromInterface + + + Possible causes for this: + Możliwe przyczyny tego: + + + + - Eeprom is from a newer version of OpenTX + - Eeprom jest z nowszej wersji OpenTX + + + + - Eeprom is not from OpenTX + - Eeprom nie jest z OpenTX + + + + - Eeprom is not from Th9X + - Eeprom nie jest z Th9X + + + + - Eeprom is not from Gruvin9X + - Eeprom nie jest z Gruvin9X + + + + - Eeprom is not from ErSky9X + - Eeprom nie jest z ErSky9X + + + + - Eeprom is not from Er9X + - Eeprom nie jest z Er9X + + + + - Eeprom size is invalid + - Nieprawidłowa wielkość Eeproma + + + + - Eeprom file system is invalid + - Błedny system plików Eeproma + + + + - Eeprom is from a unknown board + - Eeprom z nieznanej płyty + + + + - Eeprom is from the wrong board + - Eeprom ze złej płyty + + + + - Eeprom backup not supported + - Backup Eepromu nieobsługiwany + + + + - Something that couldn't be guessed, sorry + - Coś czego nie można odgadnąć, przepraszam + + + + Warning: + Ostrzeżenie: + + + + + - Your radio probably uses a wrong firmware, + eeprom size is 4096 but only the first 2048 are used + - Twoje radio prawdopodobnie używa złego firmware, +wielkość eepromu to 4096 ale tylko pierwsze 2048 jest użyte + + + + - Your eeprom is from an old version of OpenTX, upgrading! + You should 'save as' to keep the old file as a backup. + - Twój eeprom jest ze starej wersji OpenTX, Zupgraduj! +Powinieneś 'zapisać jako' stary plik jako kopię zapasową. + + + + Warnings! + Ostrzeżenia! + + ElevonsPage @@ -2088,22 +1857,6 @@ Jeśli puste linia jest uznawana za aktywną cały czas. Edit %1 Edycja %1 - - Rud - SK - - - Ele - SW - - - Thr - Gaz - - - Ail - Lotki - FblPage @@ -2205,7 +1958,7 @@ Może być różny od języka firmware FlashEEpromDialog - + Write Models and Settings to Radio Zapisz Modele i Ustawienia do radia @@ -2279,14 +2032,14 @@ Może być różny od języka firmware - - - - - - - - + + + + + + + + Error Błąd @@ -2298,75 +2051,75 @@ Może być różny od języka firmware - + Error opening file %1: %2. Błąd otwarcia pliku %1: %2. - - + + Invalid Models and Settings File %1 Błędny plik %1 Modeli i Ustawień - + Error reading file %1: %2. Błąd odczytu pliku %1: %2. - + Invalid Models and Settings file %1 Błędny plik %1 Modeli i Ustawień - - - - + + + + Warning Ostrzeżenie - + Wrong radio calibration data in profile, Settings not patched Błędna kalibracja radia w profilu, Ustawienia nie spatchowane - + Wrong radio setting data in profile, Settings not patched Błędne ustawienia radia w profilu, Ustawienia nie spatchowane - - + + Cannot write file %1: %2. Nie mogę zapisać pliku %1: %2. - + Error writing file %1: %2. Błąd zapisu pliku %1: %2. - + The radio firmware belongs to another product family, check file and preferences! Firmware radia należy do innej rodziny produktów, sprawdź plik i preferencje ! - + The radio firmware is outdated, please upgrade! Firmware w radiu jest przestarzały. Proszę zaktualizować! - + Cannot check Models and Settings compatibility! Continue anyway? Nie mogę potwierdzić kompatybilności Modeli i Ustawień. Kontynuować? @@ -2685,22 +2438,6 @@ W celu instalacji drivera użyj ZADIG. FlightModePanel - - Rud - SK - - - Ele - SW - - - Thr - Gaz - - - Ail - Lotki - Rotary Encoder %1 @@ -3927,26 +3664,6 @@ Jesteś pewien ? Clear All Inputs Wyczyść wszystkie wejścia - - Source(%1) - Źródło(%1) - - - Weight(%1) - Waga(%1) - - - Offset(%1) - Wyrównanie(%1) - - - NoTrim - Bez Trymera - - - Switch(%1) - Przełącznik(%1) - Not enough available inputs! @@ -5156,110 +4873,118 @@ Zalecamy przeczytanie informacji o wydaniu (przycisk poniżej) w celu poznania z - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Error Błąd - + Unable to find file %1! Nie mogę odnaleźć pliku %1! - - + + Error opening file %1: %2. Błąd otwarcia pliku %1: %2. - - + + Invalid EEPROM File %1 Zły plik EEPROM %1 - + + + + + Warning + Ostrzeżenie + + + Invalid binary EEPROM File %1 Nieprawidłowy plik binarny EEPROM %1 - - - + + + Save As Zapisz jako - - - - + + + + Cannot write file %1: %2. Nie mogę zapisać pliku %1: %2. - - + + Error writing file %1: %2. Błąd zapisu pliku %1: %2. - + Companion Companion - - + + Error reading file %1: %2. Błąd odczytu pliku %1: %2. - + %1 has been modified. Do you want to save your changes? %1 został zmieniony. Zapisać? - + Cannot write temporary file! Nie mogę zapisać pliku tymczasowego! - + Open backup Models and Settings file Otwórz plik backupu Modeli i Ustawień - + Invalid binary backup File %1 nieprawidłowy binarny plik %1 @@ -5475,46 +5200,30 @@ p, li { white-space: pre-wrap; } DEST -> CH%1 Cel -> KAN%1 - - Rud - SK - - - Ele - SW - - - Thr - Gaz - - - Ail - Lotki - MixesPanel - + Move Up W górę - + Ctrl+Up Ctrl+Up - + Move Down W dół - + Ctrl+Down Ctrl+Down @@ -5524,134 +5233,102 @@ p, li { white-space: pre-wrap; } Wyczyść miksery - Weight(%1) - Waga(%1) - - - Switch(%1) - Przełącznik(%1) - - - NoTrim - Bez Trymera - - - No DR/Expo - Bez DR/Expo - - - Offset(%1) - Wyrównanie(%1) - - - Delay(u%1:d%2) - Opóźnienie(u%1:d%2) - - - Slow(u%1:d%2) - Spowolnienie(u%1:d%2) - - - Warn(%1) - Ostrzeżenie(%1) - - - + Not enough available mixers! Za mało dostępnych mikserów! - + Delete Selected Mixes? Skasować wybrane miksery? - + &Add &Dodaj - + Ctrl+A Ctrl+A - + &Edit &Edycja - + Enter Enter - + &Toggle highlight &Przełącz podświetlenie - + Ctrl+T Ctrl+T - + &Delete &Wykasuj - + Delete Wykasuj - + &Copy &Kopiuj - + Ctrl+C Ctrl+C - + Ctrl+X Ctrl+X - + C&ut &Wytnij - + &Paste &Wklej - + Ctrl+V Ctrl+V - + Du&plicate &Zduplikuj - + Ctrl+U Ctrl+U - + Clear Mixes? Wyczyść miksery? - + Really clear all the mixes? Czy na pewno wyczyścić wszystkie miksery? @@ -5722,273 +5399,276 @@ p, li { white-space: pre-wrap; } ModelPrinter - + %1 bytes %1 bajtów - + CH%1 Kan %1 - + Exponential Exponential - + Extra Fine Bardzo dokładny - + Fine Dokładny - + Medium Średni - + Coarse Zgrubny - + Unknown Nieznany - + Enabled Włączone - + Disabled Wyłączone - + %1, Channels(%2-%3), PPM delay(%4usec), Pulse polarity(%5) %1, Kanałów(%2-%3), Opóżnienie PPM(%4usec), Polaryzacja impulsu(%5) - + %1, Channels(%2-%3) %1, Kanały(%2-%3) - + Receiver number(%1) Numer Odbiornika(%1) - + Slave/Jack Uczeń/Jack - + Master/SBUS Module Trener/SBUS Moduł - + Master/CPPM Module Trener/CPPM Moduł - + Master/SBUS in battery compartment Trener/SBUS w kieszeni baterii - + Master/Jack Trener/Jack - + Rudder SK - + Elevator SW - + Throttle Gaz - + Aileron Lotki - + Name(%1) Nazwa(%1) - - %1:%2 - %1:%2 + + Offset(%1) + Wyrównanie(%1) - + + Delay(u%1:d%2) + Opóźnienie(u%1:d%2) + + + Persistent Stały - + MinuteBeep Dźwięk minutowy - + CountDown(Beeps) Odlicznie (Pikniecie) - + CountDown(Voice) Odlicznie (Głos) - + CountDown(Haptic) Odlicznie (Wibracje) - + Off Wyłącz - - - - + + + + FM%1 FM%1 - + FM%1%2 FM%1%2 - + FM%1+%2 FM%1+%2 - + [I%1] [W%1] - + Input%1 Wejście %1 - - + Weight Waga - - + Switch Przełącznik - - + + NoTrim Bez Trymera - + + Weight(%1) + Waga(%1) + + + + Switch(%1) + Przełącznik(%1) + + + No DR/Expo Bez DR/Expo - - Offset - Wyrównanie + + Slow(u%1:d%2) + Spowolnienie(u%1:d%2) - - Delay - Opóźnienie - - - - Slow - Spowolnienie - - - + Warn(%1) (%1)Ostrzeżenie - + Disabled in all flight modes Wyłaczone we wszystkich fazach lotu - + Flight modes(%1) Fazy lotu(%1) - + Flight mode(%1) Faza lotu (%1) - + Edge(%1, [%2:%3]) Brzeg(%1, [%2:%3]) - + Sticky(%1, %2) Stały(%1, %2) - + Timer(%1, %2) Timer(%1, %2) - + Duration(%1s) Trwanie(%1s) - + Delay(%1s) Opóznienie(%1) - + Custom Własny - + Standard Standard @@ -6343,206 +6023,206 @@ p, li { white-space: pre-wrap; } MultiModelPrinter - + General Model Settings Główne ustawienia modelu - + Name: Nazwa: - + EEprom Size: Wielkosć EEPROMu: - + Timer%1: Timer%1: - + Module%1: Moduł%1: - + Module: Moduł: - + Trainer port: Port trenera: - + Throttle Trim: Trymer gazu: - + Trim Increment: Zwiększanie trymera: - + Center Beep: Dźwięk środka: - + Flight modes Fazy lotu - - + + Flight mode Faza lotu - + Switch Przełącznik - + Fade IN Pojawianie - + Fade OUT Zanikanie - - + + FM%1 FM%1 - - + + GV%1 ZG%1 - + RE%1 RE%1 - + Limits Limity - + Channel Kanał - + Name Nazwa - - + + Offset Wyrównanie - + Min Min - + Max Maks - + Invert Odwróć - + Global Variables Zmienne globalne - + Inputs Wejścia - + Mixers Miksery - + CV%1 CV%1 - + Curves Krzywe - + L%1 L%1 - + Logical Switches Przełączniki logiczne - + SF%1 SF%1 - + Special Functions Funkcje Specjalne - + Telemetry Settings Ustawienia telemetrii - + Analogs Analogowe - + Unit Jednostka - + Scale Skala - + A%1 A%1 - + RSSI Alarms Alarmy RSSI @@ -6605,350 +6285,6 @@ p, li { white-space: pre-wrap; } Print to file Drukuj do pliku - - Setup for: - Ustawianie: - - - printed on: %1 - Wydrukowano na: %1 - - - General Model Settings - Główne ustawienia modelu - - - Name - Nazwa - - - EEprom Size - Wielkość EEPROM - - - Protocol - Protokół - - - Throttle Trim - Trymer gazu - - - Enabled - Włączone - - - Disabled - Wyłączone - - - Trim Increment - Kroki trymera - - - Center Beep - Pikanie przy centrowaniu - - - Fades - Przejścia - - - Trims - Trymery - - - Gvars - Zm-Gl - - - Rot.Enc. - Pokrętło. - - - Switch - Przełącznik - - - Flight mode name - Nazwa fazy lotu - - - IN - (+) - - - OUT - (-) - - - Rud - SK - - - Ele - SW - - - Thr - Gaz - - - Ail - Lotki - - - FM - FL - - - Weight - Waga - - - Flight modes - Fazy lotu - - - DISABLED - Wyłączone - - - Mixers - Miksery - - - CH - Kanał - - - Offset - Wyrównanie - - - Delay(u%1:d%2) - Opóźnienie(u%1:d%2) - - - Timer%1 - Timer%1 - - - Internal Radio System - Wewnętrzny moduł radiowy - - - Radio System - System radia - - - External Radio Module - Zewnętrzny moduł radiowy - - - Extra Radio System - System Radiowy Ekstra - - - Trainer port mode - Tryb portu trenera - - - Off - Wyłącz - - - Slow(u%1:d%2) - Spowolnienie(u%1:d%2) - - - Limits - Limity - - - Min - Min - - - Max - Maks - - - Invert - Odwróć - - - INV - Odwr - - - NOR - NOR - - - Curves - Krzywe - - - Curve - Krzywa - - - pt %1 - punkt %1 - - - Logical Switches - Przełączniki logiczne - - - Global Variables - Zmienne globalne - - - GV - ZG - - - Special Functions - Funkcje Specjalne - - - Function - Funkcja - - - Parameter - Parametr - - - Repeat - Powtórz - - - Telemetry Settings - Ustawienia telemetrii - - - Alarm 1 - Alarm 1 - - - Alarm 2 - Alarm 2 - - - Analog - Analogowy - - - Inputs - Wejścia - - - NoTrim - Bez trymera - - - Weight(%1) - Waga(%1) - - - Switch(%1) - Przełącznik(%1) - - - No DR/Expo - Bez DR/Expo - - - Offset(%1) - Wyrównanie(%1) - - - Warn(%1) - Ostrzeżenie(%1) - - - L - L - - - SF%1 - SF%1 - - - Range - Zasięg - - - Low Alarm - Alarm niski - - - Critical Alarm - Alarm krytyczny - - - RSSI - RSSI - - - Unit - Jednostka - - - Scale - Skala - - - Type - Typ - - - Condition - Warunek - - - Value - Wartość - - - A%1 - A %1 - - - RSSI Alarm - Alarm RSSI - - - Frsky serial protocol - Protokół szeregowy Frsky - - - Blades - Łopat śmigła - - - SF - SF - - - Custom Telemetry View - Własny ekran telemetrii - - - Telemetry Bars - Wskaźniki telemetryczne - - - Bar Number - Numer wskaźnika - - - Source - Źródło - Print Document @@ -7020,49 +6356,53 @@ p, li { white-space: pre-wrap; } - + P1 Potencjometr 1 - + P2 Potencjometr 2 - + P3 Potencjometr 3 - + + S1 Potencjometr 1 - + + S2 Potencjometr 2 - + + LS Lewy suwak - + + RS Prawy suwak @@ -7089,14 +6429,14 @@ p, li { white-space: pre-wrap; } - + REa Pokrętło :a - + REb Pokrętło :b @@ -7148,14 +6488,13 @@ p, li { white-space: pre-wrap; } - + V V - - + s s @@ -7211,14 +6550,6 @@ p, li { white-space: pre-wrap; } f f - - °C - °C - - - %F - %F - @@ -7247,10 +6578,6 @@ p, li { white-space: pre-wrap; } g g - - ° - ° - hours @@ -7283,21 +6610,25 @@ p, li { white-space: pre-wrap; } + F1 F1 + F2 F2 + F3 F3 + F4 F4 @@ -7515,8 +6846,7 @@ p, li { white-space: pre-wrap; } - - + THR THR @@ -7560,398 +6890,412 @@ p, li { white-space: pre-wrap; } !Krzywa(%1) - - + + Support for frsky telemetry mod Wsparcie dla telemetrii FrSky - - + + Support for jeti telemetry mod Wsparcie telemetrii JETI - - + + Support for receiving ardupilot data Wsparcie dla otrzymywania danych ardupilota - - + + Support for receiving NMEA data Wsparcie dla otrzymywania danych NMEA - + Support for telemetry easy board Wsparcie dla platformy TelemetrEZ - - + + Support for MAVLINK devices Wsparcie urządzeń MAVLINK - + Rotary Encoder use in menus navigation Użycie pokrętła do nawigacji w menu - - - - - - + + + + + + Enable heli menu and cyclic mix support Uaktywnione menu Heli i wsparcie dla cyklicznych mikserów - - - - - - - - + + + + + + + + + Enable TEMPLATES menu Uaktywnienie menu szablonów - - - - + + + + No splash screen Bez loga na ekranie - - - - - - - - + + + + + + + + + No flight modes Firmware bez menu faz lotu - + Channel values displayed in us Wartości kanałów wyświetlone w us - + Use alternative SQT5 font Użyj alternatywnego fontu SQT5 - + No OverrideCH functions available Brak dostępnych Funkcji Nadpisania Kanału - + Possibility to enable FAI MODE (no telemetry) at field Umożliwienie uaktywniania trybu FAI(brak telemetrii) w menu na lotnisku - + FAI MODE (no telemetry) always enabled Tryb FAI (brak telemetrii) zawsze aktywny - + + + + Support for a third timer Wsparcie dla 3ciego Timera - + + Instead of Joystick emulation, USB connection is Mass Storage (as in the Bootloader) + Zamiast emulacji joysticka, podłaczenie USB działa jako dysk zewnętrzny (jak w Bootloaderze) + + + + Instead of Joystick emulation, USB connection is Command Line Interface + Zamiast emulacji joysticka, podłaczenie USB działa jako interface linii komend + + + Removes D8 and LR12 FrSky protocols that are not legal for use in the EU on radios sold after Jan 1st, 2015 Usuwa protokoły FrSky D8 i LR12,które są nielegalne na terenie UE w radiach sprzedawanych po 01-01-2015 - + Support for PPM internal module hack Wsparcie dla shakowania wewnętrznego modułu PPM - + ERC12864FSF LCD LCD: ERC12864FSF - + ST7920 LCD LCD: ST7920 - + 9X board Płyta 9X - + EEprom write progress bar Pasek postępu wgrywania EEPROMu - - + + No Winged Shadow How High support Bez wsparcia - Winged Shadow How High - - + + No vario support Bez wsparcia wario - - + + No GPS support Bez wsparcia GPS - - + + No gauges in the custom telemetry screen Bez graficznych wskazań telemetrii - + Allow compensating for offset errors in FrSky FAS current sensors Pozwolenie na kompensację błędów w czujnikach natężenia FrSky FAS - + + ar9x board / 9X + płyta ar9x / 9X + + + FrSky Taranis Plus FrSky Taranis Plus - + FrSky Taranis X9E FrSky Taranis X9E - + Confirmation before radio shutdown Potwierdzenie przez wyłączeniem radia - + ST7565P LCD or compatible LCD ST7565P lub kompatybilny - + ST7565R LCD or compatible LCD ST7565R lub kompatybilny - - + + Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views Dodaje widok wyjścia mikserów do ekrany MONITORA KANAŁÓW, wciśnięcie [ENT] przełącza pomiędzy widokami - + MEGA2560 board Płyta MEGA2560 - + Sky9x board / 9X Płyta Sky9x / 9X - + 9XR-PRO 9XR-PRO - + FrSky Taranis FrSky Taranis - + Haptic module installed Moduł wibracji zainstalowany - + Support for Lua model scripts Wsparcie dla skryptów LUA - - No Joystick emulation inside the FW (only Mass Storage as in the Bootloader) - Brak emulacji joyskicka w FW (Tylko jest karta jako dysk w Bootloaderze) - - - + Disable HELI menu and cyclic mix support Dezaktywowane menu Heli i wsparcie dla cyklicznych mikserów - + Disable Global variables dezaktywowane zmienne globalne - - - - - - - - + + + + + + + + + Disable curves menus Bez menu krzywych - - - - + + + + Support for radio modified with regular speaker Wsparcie dla modyfikacji radia zwykłym głośnikiem - - - - - + + + + + Used if you have modified your radio with voice mode Używane jeśli radio jest zmodyfikowane w calu użycia komunikatów głosowych - - - - - + + + + + Used if you have modified your radio with haptic mode Używane jeśli radio jest zmodyfikowane do użycia wibracji - - + - - - - - + + + + + + + Battery graph Grafika baterii - - + - + + Enable the throttle trace in Statistics Uaktywnić śledzenie gazu w statystykach - + M128 / 9X board Płyta M128 / 9X - + 9XR 9XR - + 9XR with M128 chip 9XR z kością M128 - + Gruvin9x board / 9X Płyta Gruvin9x / 9X - - + + Support of FrSky PXX protocol Wsparcie dla protokołu Frsky PXX - - - - - + + + + + Support for DSM2 modules wsparcie modułu DSM2 - - Your radio probably uses a wrong firmware, - eeprom size is 4096 but only the first 2048 are used - Twoje radio prawdopodobnie używa złego firmware, - wielkość eepromu jest 4096 ale tylko pierwsze 2048 jest używane - - - - - - - - - - + + + + + + + + + PPM center adjustment in limits Limit dostrojenia centrowania PPM - - - - - - - - + + + + + + + + + Symetrical Limits Limity symetryczne - - - - - - + + + + + + + Pots use in menus navigation Użycie potencjometrów do nawigacji w menu - - + + SmartieParts 2.2 Backlight support Wsparcie podświetlenia SmartieParts 2.2 - - - - - + + + + + + Enable resetting values by pressing up and down at the same time Szybkie nastawianie wartości (+) a (-) neguje wartość @@ -7960,143 +7304,141 @@ p, li { white-space: pre-wrap; } (UP) a (DN) ustawia 0 - - + - - - - - + + + + + + + No graphical check boxes and sliders Brak graficznych pol wyboru i suwaków - - + - - - - - + + + + + + + Don't use bold font for highlighting active items Nie używaj podświetlenia dla wybranych aktywnych elementów, mikserów, krzywych, expo, etc - - - - + + + + EEprom write Progress bar Pasek postępu zapisywania EEPROM - - + - - - + + + + Imperial units Imperialne jednostki w telemetrii - - + + + Bluetooth interface Interface Bluetooth - - - - - - - - + + + + + + + + + Global variables Globalne zmienne - + (displaying only first 10 warnings) (wyświetlanie tylko pierwszych 10 ostrzeżeń) - - - - - - - - + + + + + + + + + In model setup menus automatically set source by moving the control W menu ustawień modelu automatycznie wybierz źródło poprzez poruszenie nim - - - - - - - - + + + + + + + + + In model setup menus automatically set switch by moving the control W menu ustawień modelu automatycznie wybierz źródło poprzez poruszenie nim - - + + Add support for reversing stick inputs (e.g. needed for FrSky gimbals) Dodanie wsparcia dla odwracania wejścia drążków (np. potrzebne dla gimbali FrSky) - - + + Support for SD memory card Wsparcie karty SD - + Support for DSM2 modules using ppm instead of true serial Wsparcie modułu DSM2 przez użycie PPM zamiast prawdziwego szeregowego - + Power management by soft-off circuitry Zarządzanie zasilaniem przez obwód Soft-Off - - + + + Enable HELI menu and cyclic mix support Uaktywnij menu HELI i cyklicznych mikserów - + Warning Ostrzeżenie - + EEPROM saved with these warnings: EEPROM zapisany z tymi ostrzeżeniami: - - FM%1 - FP%1 - FM%1 - - - Input%1 - Wejście %1 - English @@ -8177,45 +7519,21 @@ p, li { white-space: pre-wrap; } Rot Enc E Pokrętło :E - - %1:%2 - %1:%2 - - - , Persistent - , Stały - - - , MinuteBeep - , Pikanie minutowe - - - , CountDown(Beeps) - , Odliczanie (Dźwięki) - - - , CountDown(Voice) - , Odliczanie (Głos) - No repeat Bez powtórzeń - - %1 sec - %1 s - - + S3 S3 - + Timer3 Timer3 @@ -8822,40 +8140,75 @@ p, li { white-space: pre-wrap; } Ustaw ZG%1 - + + SetFailsafe Int. Module + Ustaw FailSafe Wew. Modułu + + + + SetFailsafe Ext. Module + Ustaw FailSafe Zew. Modułu + + + + RangeCheck Int. Module + Sprawdzenie Zasiegu Wew. Modułu + + + + RangeCheck Ext. Module + Sprawdzenie Zasiegu Zew. Modułu + + + + Bind Int. Module + Bindowanie Wew. Modułu + + + + Bind Ext. Module + Bindowanie Zew. Modułu + + + Flight Lot - + Rotary Encoder Pokrętło - - - + + + <font color=red><b>Inconsistent parameter</b></font> Niespójny parametr <font color=red><b>Niespójny parametr</b></font> - - repeat - Powtórz + + played once, not during startup + Odtworzone raz, nie w czasie startu - + + repeat(%1s) + powtórz(%1s) + + + DISABLED Wyłączone - + INV Odwróć - + NOR NormalnyNOR @@ -8914,78 +8267,6 @@ p, li { white-space: pre-wrap; } Metric Metryczne - - Extra Fine - Bardzo dokładne - - - Fine - Dokładne - - - Medium - Średni - - - Coarse - Gruby - - - : Channel start: %1, %2 Channels, %3usec Delay, Pulse polarity %4 - : Start kanału: %1, %2 Kanałów, Opóźnienie %3usec, Polaryzacja pulsu %4 - - - : Channel start: %1, %2 Channels - :Kanał początkowy %1, %2 Kanałów - - - Slave/Jack - Uczeń/Jack - - - Master/SBUS Module - Trener/SBUS Moduł - - - Master/CPPM Module - Trener/CPPM Moduł - - - Master/SBUS in battery compartment - Trener/SBUS w kieszeni baterii - - - Master/Jack - Trener/Jack - - - Exponential - Eksponencjalny - - - Flight modes(%1) - Fazy lotu(%1) - - - Flight mode(%1) - Faza lotu (%1) - - - Rudder - SK - - - Elevator - SW - - - Throttle - Gaz - - - Aileron - Lotki - Play Track @@ -9051,14 +8332,14 @@ p, li { white-space: pre-wrap; } - + Timer1 Timer1 - + Timer2 Timer2 @@ -9103,86 +8384,22 @@ p, li { white-space: pre-wrap; } Brzeg - Weight - Waga - - - Switch - Przełącznik - - - NoTrim - BezTrymera - - - No DR/Expo - Bez DR/Expo - - - Offset - Wyrównanie - - - Delay - Opóźnienie - - - Slow - Spowolnienie - - - Warn - Ostrzeżenie - - - Flight modes - Fazy lotu - - - Flight mode - Faza lotu - - - Edge(%1, [%2:%3]) - Brzeg(%1, [%2:%3]) - - - Sticky(%1, %2) - Stały(%1, %2) - - - Timer(%1, %2) - Timer(%1, %2) - - - Duration (%1s) - Trwanie (%1s) - - - Delay (%1s) - Opóźnienie (%1s) - - - All - Wszystkie - - - + Telemetry Telemetria - + Value Wartość - + Decr: Zmniejsz: - + Incr: Zwiększ: @@ -9197,22 +8414,22 @@ p, li { white-space: pre-wrap; } - + Value Wartość - + Source Źródło - + GVAR Zmienna - + Increment Zwiększanie @@ -9267,43 +8484,43 @@ p, li { white-space: pre-wrap; } Równoległe użycie expo i krzywych nie jest dłużej wspierane - + Source %1 cannot be exported on this board! Źródło %1 nie może być wyeksportowane na tę płytę! - + OpenTX only accepts %1 points in all curves OpenTX zezwala tylko na %1 punktów we wszystkich krzywych - + OpenTx only accepts %1 points in all curves OpenTX zezwala tylko na %1 punktów we wszystkich krzywych - - - + + - + + OpenTX on this board doesn't accept this function OpenTX na tej platformie nie dopuszcza tej funkcji - + OpenTX doesn't accept this telemetry protocol OpenTX nie obsługuje tego protokołu telemetrii - - - + + + OpenTX doesn't accept this radio protocol OpenTX nie obsługuje tego protokołu radiowego - + OpenTX doesn't allow this number of channels OpenTX nie obsługuje tej ilości kanałów @@ -9412,17 +8629,17 @@ Zespół OpenTX. Zapis '%1' nieudany - + -%1 -%1 - + Positive Dodatni - + Negative Ujemny @@ -9522,77 +8739,82 @@ Zespół OpenTX. Setup - + Throttle Source Źródło gazu - + Center beep Pikanie przy centrowaniu - + OFF Wyłącz - + Model Image Obrazek modelu - + + Top LCD Timer + Timer górnego LCD + + + Switch Warnings Ostrzeżenie o przełącznikach - + Exponential Wykładnicze - + Extra Fine Bardzo dokładne - + Fine Dokładne - + Medium Średnie - + Coarse Zgrubne - + Extended Limits Rozszerzone limity (125%) - + Extended Trims Poszerzone trymery - + Display Checklist Wyświetl Czeklistę - + Throttle Warning Ostrzeżenie o gazie - + 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. @@ -9602,86 +8824,94 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również - + Reverse Throttle Odwrotna praca gazu - + Throttle Trim Idle Only Trymer gazu tylko dla wolnych obrotów - + Timer 2 Timer 2 - + Timer 3 Timer 3 - + Timer 1 Timer 1 - + Never Nigdy - + On change Przy zmianie - + Always Zawsze - + Global Functions Funkcje Globalne - + Trim Step Krok Trymera - + Trims Display Wyświetl Trymery - + Warnings Ostrzeżenia - + Pot Warnings Ostrzeżenie o potencjometrach - + Manual - + Auto Automatyczne - + Model Model + + SetupPanel + + + Timer %1 + Timer %1 + + SimpleTailPage @@ -9921,11 +9151,6 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również Skopuj %1 do %2 - - Read %1 - - Odczytaj %1 - Write %1 @@ -9977,96 +9202,96 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również Telemetry - + A1 A1 - + A2 A2 - + RSSI RSSI - + Alarm 1 Alarm 1 - - + + ---- ---- - - + + Yellow Żółty - - + + Orange Pomarańczowy - - + + Red Czerwony - + Alarm 2 Alarm 2 - + Center Silent Środek cichy - + Altitude source Źródło wysokości - + Volts source Źródło napięcia - + Top Bar Górny pasek - + Serial Protocol Protokół szeregowy - + Sensors Czujniki - + Disable multi sensor handling Wyłącz obsługę wielu czujników - + Volt source Źródło napięcia - + Current source Źródło prądu(natężenia) @@ -10076,82 +9301,82 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również Protokół - + None Żadne - + FrSky Sensor Hub Hub Czujników FrSky - + Blades Łopaty śmigła - + Sink Max Maks. Opadanie - + Climb Max Maks. Wznoszenie - + Sink Min Min. Opadanie - + Climb Min Min. Wznoszenie - + Vario source Źródło wario - + Vario limits Limity wario - + Altimetry Wysokościomierz - + mAh mAh - + A A - + Various Różne - + mAh count Licznik mAh - + FAS Offset Wyrównanie FAS - + Persistent mAh Stałe mAh @@ -10264,14 +9489,6 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również mAmps (mA) miliAmpery (mA) - - Low Alarm - Alarm niski - - - Critical Alarm - Alarm krytyczny - Range @@ -10329,99 +9546,99 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również TelemetryPanel - + Telemetry screen %1 Panel Telemetrii %1 - + Low Alarm Alarm niski - + Critical Alarm Alarm krytyczny - + Winged Shadow How High Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (Nie obsługiwane) - - - + + + A1 A1 - + Alti Wysokościomierz - + FrSky S.PORT - + FrSky D FrSky D - + FrSky D (cable) FrSky D (kabel) - + Alti+ Wysokościomierz+ - + VSpeed Prędkość Pionowa - - - + + + A2 A2 - - + + A3 A3 - - + + A4 A4 - - + + FAS FAS - + Cells Cele - + --- --- @@ -10527,64 +9744,114 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również - Amps Sensor : - Czujnik Natężenia : + Sensor : + + + + + V + V + + + + A + A + + + + mA + mA + + + + kt + kt + + + + m/s + m/s + + + + ft/s + ft/s + + + + km/h + km/h + + + + mph + mph + + + + m + m + + + + ft + ft + + + + °C + °C + + + + °F + °F + + + + % + % + + + + mAh + mAh + + + + W + W + + + + dBm + dBm + + + + g + g + + + + ° + ° + + + + mL + ml + + + + US fl.Oz. + US fl.Oz. Raw (-) Bezwymiarowe (-) - - - Voltage (V) - Napięcie (V) - - - - Current (A) - Natężenie (A) - - - - Current (mA) - Natężenie (mA) - - - - Speed (kts) - Prędkość (kts) - - - - Speed (m/s) - Prędkość (m/s) - - - - Speed (ft/s) - Prędkość (ft/s) - - - - Speed (km/h) - Prędkość (km/h) - - - - Speed (miles/h) - Prędkość (mile/h) - - - - Meters (m) - Wysokość (m) - - - - Feet (ft) - Stopa (ft) - Ratio @@ -10595,61 +9862,11 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również Positive Dodatni - - - Temp (°C) - Temp (°C) - - - - Temp (°F) - Temp (°F) - - - - Percentage (%) - Procent (%) - - - - Energy (mAh) - Energia (mAh) - - - - Power (W) - Moc (W) - - - - RF Power (dBm) - Moc RF (dBm) - RPM RPM - - - Acceleration (g) - Przyspieszenie (g) - - - - Heading (°) - Kurs (°) - - - - Volume (mL) - Objętość (mL) - - - - Volume (US fl.Oz.) - Objętość (Uncje US) - Precision @@ -10922,7 +10139,17 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również symulacja - + + Instance + Wystąpienie + + + + 2 + 2 + + + <html><head/><body><p>Start with <span style=" font-style:italic;">0x</span> for hex, <span style=" font-style:italic;">0</span> for octal, otherwise decimal.<br/>Numeric entry only. Blank values are not sent.</p></body></html> <html><head/><body><p>Start with <span style=" font-style:italic;">0x</span> Dla HEX, <span style=" font-style:italic;">0</span> dla OCTAL, inaczej decymalnie.<br/>Wejscie tylko numeryczne puste dane nie będą wysyłane.</p></body></html> @@ -12177,31 +11404,4 @@ Anuluj w celu przerwania kalibracji joysticka Użycie schowka do kopiowania - - splashLibrary - - ... - ... - - - Splash Library - page %1 of %2 - Biblioteka obrazków - strona %1 z %2 - - - Warning - Ostrzeżenie - - - Invalid image in library %1 - Nieprawidłowy obrazek w bibliotece %1 - - - Information - Informacja - - - No valid image found in library, check your settings - Nie znaleziono prawidłowego obrazka w bibliotece, sprawdź ustawienia - - diff --git a/companion/src/translations/companion_pt.ts b/companion/src/translations/companion_pt.ts index d7d50fa1e..580fca7d7 100644 --- a/companion/src/translations/companion_pt.ts +++ b/companion/src/translations/companion_pt.ts @@ -4,27 +4,27 @@ AileronsPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Aileron Channel: - + Second Aileron Channel: @@ -32,27 +32,27 @@ AirbrakesPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Airbrake Channel: - + Second Airbrake Channel: @@ -74,7 +74,7 @@ - + Open Folder @@ -308,7 +308,7 @@ Mode 4: - + Simulator Volume Gain @@ -445,62 +445,62 @@ May be different from firmware language - + Simulator BackLight - + Enable - + Blue - + Green - + Red - + Orange - + Yellow - + Joystick - + Calibrate - + Simulator capture folder - + Only capture to clipboard - + Remember simulator switch values @@ -515,64 +515,64 @@ May be different from firmware language - - + + No joysticks found - + EMPTY: No radio settings stored in profile - + AVAILABLE: Radio settings of unknown age - + AVAILABLE: Radio settings stored %1 - + 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) @@ -747,11 +747,6 @@ May be different from firmware language Stick 4 - - - Battery - - v @@ -772,9 +767,14 @@ May be different from firmware language PPM 4 + + + Battery Offset + + - Current + Current Offset @@ -1024,421 +1024,17 @@ May be different from firmware language - + No name - - General Model Settings - - - - - - - Name - Nome - - - - - EEprom Size - - - - - - Timer1 - - - - - - Timer2 - - - - - - Internal Radio System - - - - - - Radio System - - - - - - - - Protocol - Protocolo - - - Pulse Polarity - Polaridade - - - - - Throttle Trim - Ajuste do Acelerador - - - - - Enabled - Activo - - - - - Disabled - Inactivo - - - Throttle Expo - Exponencial do Acelerador - - - - - External Radio Module - - - - - - Extra Radio System - - - - - - Trainer port mode - - - - - - Trim Increment - Incremento do Ajuste - - - - - Center Beep - Som ao Centrar - - - - Flight modes Settings - - - - - - Fades - - - - - - Trims - Ajustes - - - - - Switch - Interruptor - - - - - - - Flight mode name - - - - - - IN - - - - - - OUT - - - - - - - - - - - - - - FM - - - - - - Gvars - - - - - - Rot. Enc. - - - - - Limits - Limites - - - - - - - - Offset - - - - - - - - - Min - Min - - - - - - - - Max - Max - - - - - - Invert - Inverter - - - - - - - - CH - - - - - - INV - INV - - - - - NOR - NOR - - - - Global Variables - - - - - - GV - - - - - Inputs - - - - Weight - Peso - - - - Mixers - - - - Delay(u%1:d%2) - Atraso(u%1:d%2) - - - Slow(u%1:d%2) - Lento(u%1:d%2) - - - - Curves - Curvas - - - pt %1 - pt %1 - - - - - Curve - Curva - - - - Logical Switches - - - - - L - - - - - Special Functions - - - - Function - Função - - - - SF - - - - - Telemetry Settings - - - - - - Analog - - - - - - Unit - - - - - - Scale - - - - - - - - A%1 - - - - - - Alarm 1 - - - - - - Alarm 2 - - - - - - - - Type - - - - - - - - Condition - - - - - - - - Value - - - - - - RSSI Alarm - - - - - - Custom Telemetry View - - - - - - Telemetry Bars - - - - - - Bar Number - - - - - - Source - Fonte - - - + Print Document Imprimir Documento - + Select PDF output file @@ -1446,7 +1042,7 @@ May be different from firmware language ConclusionPage - + OK, I understand. @@ -1484,12 +1080,12 @@ May be different from firmware language - - Thank you all !!! + + OpenTX Blacklist - + monthly @@ -1522,22 +1118,22 @@ May be different from firmware language CurveGroup - + Diff - + Expo - + Func - + Curve Curva @@ -1744,42 +1340,42 @@ May be different from firmware language - + &Delete - + Delete - + &Copy &Copiar - + Ctrl+C Ctrl+C - + &Cut - + Ctrl+X - + &Paste Co&lar - + Ctrl+V Ctrl+V @@ -1787,22 +1383,22 @@ May be different from firmware language CyclicPage - + 90 - + 120 - + 120x - + 140 @@ -1816,232 +1412,106 @@ May be different from firmware language - ElevonsPage + EepromInterface - - <br>First Elevon Channel: + + Possible causes for this: - - Second Elevon Channel: + + - Eeprom is from a newer version of OpenTX + + + + + - Eeprom is not from OpenTX + + + + + - Eeprom is not from Th9X + + + + + - Eeprom is not from Gruvin9X + + + + + - Eeprom is not from ErSky9X + + + + + - Eeprom is not from Er9X + + + + + - Eeprom size is invalid + + + + + - Eeprom file system is invalid + + + + + - Eeprom is from a unknown board + + + + + - Eeprom is from the wrong board + + + + + - Eeprom backup not supported + + + + + - Something that couldn't be guessed, sorry + + + + + Warning: + + + + + + - Your radio probably uses a wrong firmware, + eeprom size is 4096 but only the first 2048 are used + + + + + - Your eeprom is from an old version of OpenTX, upgrading! + You should 'save as' to keep the old file as a backup. + + + + + Warnings! - Er9x::Templates + ElevonsPage - - Simple 4-CH + + <br>First Elevon Channel: - - T-Cut - - - - - Sticky T-Cut - - - - - V-Tail - - - - - Elevon\Delta - - - - - Heli Setup - - - - - Heli Setup with gyro gain control - - - - - Gyro gain control - - - - - Heli Setup (Futaba's channel assignment style) - - - - - Heli Setup with gyro gain control (Futaba's channel assignment style) - - - - - Gyro gain control (Futaba's channel assignment style) - - - - - Servo Test - - - - - MultiCopter - - - - - Use Model Config Wizard - - - - - Apply Template? - - - - - Apply template "%1"? - - - - - - - - - - - RUD - RUD - - - - - - - - - - - - - ELE - ELE - - - - - - THR - THR - - - - - - - - - - - AIL - AIL - - - - - - - AIL2 - - - - - - - - ELE2 - - - - - - - - - - FLAPS - - - - - - - - - - FLAP%1 - - - - - - - - PITCH - - - - - - - - - - - - GYRO - - - - - - SPOIL - - - - - - SPOIL%1 - - - - - - RUD2 - - - - - - Clear Mixes? - - - - - Really clear existing mixes on CH6? - - - - - Really clear existing mixes on CH5? + + Second Elevon Channel: @@ -2160,46 +1630,26 @@ If blank then the input is considered to be "ON" all the time.Edit %1 - - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - FblPage - + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -2251,27 +1701,27 @@ May be different from firmware language FlapsPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Flap Channel: - + Second Flap Channel: @@ -2280,7 +1730,7 @@ May be different from firmware language FlashEEpromDialog - + Write Models and Settings to Radio @@ -2354,14 +1804,14 @@ May be different from firmware language - - - - - - - - + + + + + + + + Error Erro @@ -2373,71 +1823,71 @@ May be different from firmware language - + Error opening file %1: %2. - - + + Invalid Models and Settings File %1 - + Error reading file %1: %2. - + Invalid Models and Settings file %1 - - - - + + + + Warning Aviso - + 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. - + The radio firmware belongs to another product family, check file and preferences! - + The radio firmware is outdated, please upgrade! - + Cannot check Models and Settings compatibility! Continue anyway? @@ -2521,8 +1971,8 @@ May be different from firmware language - - + + Warning Aviso @@ -2576,58 +2026,58 @@ May be different from firmware language - + Splash image not found - + Cannot save customized firmware - + Write Firmware to Radio - - + + Firmware check failed - + Could not check firmware from radio - + New firmware is not compatible with the one currently installed! - + Conversion failed - + Cannot convert Models and Settings for use with this firmware, original data will be used - + Restore failed - + Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - + Flashing done @@ -2749,37 +2199,17 @@ Please use ZADIG to properly install the driver. FlightModePanel - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - - - + Rotary Encoder %1 - + GVAR%1 - + Popup enabled @@ -2787,17 +2217,17 @@ Please use ZADIG to properly install the driver. FlightModesPanel - + Flight Mode %1 - + (%1) - + (default) @@ -2805,17 +2235,17 @@ Please use ZADIG to properly install the driver. FlybarSelectionPage - + Has Flybar - + Flybarless - + Flybar: @@ -2941,30 +2371,6 @@ These will be relevant for all models in the same EEPROM. Setup Parâmetros - - Contrast - Contraste - - - Battery Warning - Alerta de Bateria - - - v - v - - - sec - seg. - - - Inactivity Timer - Temporizador de Inatividade - - - min - min. - Trainer @@ -2980,66 +2386,6 @@ These will be relevant for all models in the same EEPROM. Retrieve calib. and hw settings from profile - - Default Channel Order - Ordem dos Canais por Defeito - - - OFF - OFF - - - Weight - Peso - - - STICK 1 - STICK 1 - - - STICK 2 - STICK 2 - - - STICK 3 - STICK 4 - - - STICK 4 - STICK 3 - - - Beeper Mode - Modo dos Alarmes Sonoros - - - Channel Order (For Templates) - Ordem dos Canais (para as Mascaras) - - - Stick Mode - Modo do Emissor - - - Mode 1 (RUD ELE THR AIL) - Modo 1 (RUD ELE THR AIL) - - - Mode 2 (RUD THR ELE AIL) - Modo 2 (RUD THR ELE AIL) - - - Mode 3 (AIL ELE THR RUD) - Modo 3 (AIL ELE THR RUD) - - - Mode 4 (AIL THR ELE RUD) - Modo 4 (AIL THR ELE RUD) - - - Calibration - Calibração - Global Functions @@ -3842,17 +3188,17 @@ Are you sure ? GyroPage - + No - + Yes, controled by a switch - + Yes, controlled by a pot @@ -3874,19 +3220,11 @@ Are you sure ? Invert Collective - - Elevator - Elevador - Invert Inverter - - Aileron - Aileron - Off @@ -3941,22 +3279,22 @@ Are you sure ? HeliPage - + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -4327,43 +3665,43 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt MainWindow - - - + + + File loaded Ficheiro carregado - - - + + + Save As Gravar Como - - + + No updates available at this time. - + Unable to check for updates. - + Executable (*.exe) - + Would you like to launch the installer? - - + + File saved Ficheiro gravado @@ -4373,39 +3711,39 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt - + New release available - - + + Error Erro - + Error opening file %1: %2. - + Compilation server termporary failure, try later - + Compilation server too busy, try later - + Unknown server failure, try later - + Firmware %1 does not seem to have ever been downloaded. Release %2 is available. Do you want to download it now? @@ -4414,31 +3752,31 @@ We recommend you view the release notes using the button below to learn about an - - + + Yes - - + + No - - + + Release Notes - - + + Do you want to download release %1 now ? - + A new version of %1 firmware is available: - current is %2 - newer is %3 @@ -4449,733 +3787,725 @@ We recommend you view the release notes using the button below to learn about an - - + + Synchronize SD - + Firmware updates - + Current firmware does not provide release notes informations. - Warning - Aviso - - - + OpenTX Home Page: <a href='%1'>%1</a> - + If you've found this program useful, please support by <a href='%1'>donating</a> - + Load backup from file - + Compare models - + Exit the application Sair da aplicação - + Set Menu Language - + List available programmers Lista os programadores disponíveis - + Show fuses dialog - + Show the application's About box Sobre a aplicação - + Show the list of radio profiles - + Write - + %2 - + New Radio - Unable to find file %1! - Impossível encontrar o ficheiro %1! - - - + Checking for updates - + A new version of Companion is available (version %1)<br>Would you like to download it? - + A new release of Companion is available, please check the OpenTX website! - + Not enough memory for all the selected firmware options - + Compilation server requires registration, please check OpenTX web site - + 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. - + About Companion - + New - + Open... - + Save - + Save As... - + Copy Model - + Paste Model - + A monochrome black icon theme - + A monochrome white icon theme - + A monochrome blue icon theme - + Small - + Use small toolbar icons - + Use normal size toolbar icons - + Normal - + Use big toolbar icons - + Big - + Use huge toolbar icons - + Huge - + Do you want to write the firmware to the radio now ? - - + + Open Models and Settings file - + Read Models and Settings From Radio - + Ignore this release %1? - - - + + + Companion - + Save Radio Backup to File - + Read Radio Firmware to File - + The OpenTX Companion project was originally forked from <a href='%1'>eePe</a> - + Copyright OpenTX Team - + OpenTX Companion %1 - Radio: %2 - Profile: %3 - + Create a new Models and Settings file - - + + Save Models and Settings file - + Exit - + Cut Model - + Cut current model to the clipboard - + Copy current model to the clipboard - + Paste model from clipboard - + Classical - + The classic companion9x icon theme - + Yerico - + Yellow round honey sweet icon theme - + Monochrome - + MonoWhite - + MonoBlue - + 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 - + Polish - + Use Polish in menus - + Spanish - + Use Spanish in menus - + Swedish - + Use Swedish in menus - + About... - + Print... - + Print current model - + Simulate... - + Simulate current model - + Alt+S Alt+S - + Load Backup... - + 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... - + Edit Radio Splash Image... - + Edit the splash image of your Radio - + List programmers... - + Fuses... - - + + Read Firmware from Radio - + Read firmware from Radio - - + + Write Firmware to Radio - + Write firmware to Radio - + 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 Radio - - + + Write Models and Settings to Radio - - + + Read Models and Settings from Radio - + Configure Communications... - + Configure software for communicating with the Radio - + Write Backup to Radio - + Write Backup from file to Radio - + Backup Radio to File - + Save a complete backup file of all settings and model data in the Radio - + Contributors... - + A tribute to those who have contributed to OpenTX and Companion - + SD card synchronization - + Recent Files - + Recent Models+Settings - + Set Icon Theme - + Set Icon Size - - + + File Ficheiro - - + + Edit Editar - + Settings - + Read/Write - - + + Help - - + + Radio Profile - + Show recent Models+Settings documents - + Ready Pronto @@ -5186,22 +4516,22 @@ We recommend you view the release notes using the button below to learn about an - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Error Erro @@ -5212,13 +4542,13 @@ We recommend you view the release notes using the button below to learn about an - + Unable to find file %1! Impossível encontrar o ficheiro %1! - - + + Error reading file %1: %2. @@ -5229,76 +4559,80 @@ We recommend you view the release notes using the button below to learn about an - + Companion - - + + Error opening file %1: %2. - - + + Invalid EEPROM File %1 - + Invalid binary EEPROM File %1 - - - + + + Save As Gravar Como - + Open backup Models and Settings file + + + + Warning - Aviso + Aviso - + Invalid binary backup File %1 - + %1 has been modified. Do you want to save your changes? - - - - + + + + Cannot write file %1: %2. - - + + Error writing file %1: %2. - + Cannot write temporary file! Impossível gravar ficheiro temporário! @@ -5493,35 +4827,11 @@ This determines how mixer values are added. Down Baixo - - DEST -> CH%1%2 - DEST -> CH%1%2 - DEST -> CH%1 DEST -> CH%1 - - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - MixesPanel @@ -5555,24 +4865,12 @@ This determines how mixer values are added. - Delay(u%1:d%2) - Atraso(u%1:d%2) - - - Slow(u%1:d%2) - Lento(u%1:d%2) - - - Warn(%1) - Aviso(%1) - - - + Not enough available mixers! - + Delete Selected Mixes? Apagar misturas selecionadas? @@ -5657,12 +4955,12 @@ This determines how mixer values are added. - + Clear Mixes? - + Really clear all the mixes? @@ -5730,30 +5028,307 @@ This determines how mixer values are added. Simular + + ModelPrinter + + + %1 bytes + + + + + CH%1 + CH%1 + + + + Exponential + Exponencial + + + + Extra Fine + Extra-fino + + + + Fine + Fino + + + + Medium + Médio + + + + Coarse + Aberto + + + + Unknown + + + + + Enabled + Activo + + + + Disabled + Inactivo + + + + %1, Channels(%2-%3), PPM delay(%4usec), Pulse polarity(%5) + + + + + %1, Channels(%2-%3) + + + + + Receiver number(%1) + + + + + Slave/Jack + + + + + Master/SBUS Module + + + + + Master/CPPM Module + + + + + Master/SBUS in battery compartment + + + + + Master/Jack + + + + + Rudder + Leme + + + + Elevator + Elevador + + + + Throttle + Acelerador + + + + Aileron + Aileron + + + + Name(%1) + + + + + Persistent + + + + + MinuteBeep + + + + + CountDown(Beeps) + + + + + CountDown(Voice) + + + + + CountDown(Haptic) + + + + + Off + + + + + + + + FM%1 + + + + + FM%1%2 + + + + + FM%1+%2 + + + + + [I%1] + + + + + Input%1 + + + + + Weight + Peso + + + + Switch + Interruptor + + + + + NoTrim + + + + + Weight(%1) + + + + + Switch(%1) + + + + + No DR/Expo + + + + + Offset(%1) + + + + + Delay(u%1:d%2) + + + + + Slow(u%1:d%2) + + + + + Warn(%1) + + + + + Disabled in all flight modes + + + + + Flight modes(%1) + + + + + Flight mode(%1) + + + + + Edge(%1, [%2:%3]) + + + + + Sticky(%1, %2) + + + + + Timer(%1, %2) + + + + + Duration(%1s) + + + + + Delay(%1s) + + + + + Custom + + + + + Standard + + + ModelSelectionPage - + Plane - + Multirotor - + Helicopter - + Model Name: - + Model Type: @@ -5761,129 +5336,130 @@ This determines how mixer values are added. ModelsListWidget - + + &Edit &Editar - + &Restore from backup - + &Model Wizard - + &Delete - + Delete - + &Copy &Copiar - + Ctrl+C Ctrl+C - + &Cut - + Ctrl+X - + &Paste Co&lar - + Ctrl+V Ctrl+V - + D&uplicate &Duplicar - + Ctrl+U - + &Use as default - + P&rint model - + Ctrl+P - + Alt+S Alt+S - + &Simulate model - + General Settings Parâmetros Gerais - + Delete Selected Models? Apagar Modelos Seleccionados? - - + + Cannot delete default model. - + Cannot cut default model. - + Do you want to overwrite radio general settings? - + You are pasting on an not empty model, are you sure? You are pasting on an not empty model, are you sure ? - + No free slot available, cannot duplicate @@ -5905,10 +5481,6 @@ This determines how mixer values are added. PPM delay - - usec - useg - Negative @@ -5934,10 +5506,6 @@ This determines how mixer values are added. PPM Frame Length - - ch - ch - CH @@ -6042,66 +5610,273 @@ This determines how mixer values are added. ModulePanel - + Trainer Port - + Internal Radio System - + External Radio Module - - + + Radio System - + Extra Radio System - + Value - + Hold - + No Pulse + + MultiModelPrinter + + + General Model Settings + + + + + Name: + + + + + EEprom Size: + + + + + Timer%1: + + + + + Module%1: + + + + + Module: + + + + + Trainer port: + + + + + Throttle Trim: + + + + + Trim Increment: + + + + + Center Beep: + + + + + Flight modes + + + + + + Flight mode + + + + + Switch + Interruptor + + + + Fade IN + + + + + Fade OUT + + + + + + FM%1 + + + + + + GV%1 + + + + + RE%1 + + + + + Limits + Limites + + + + Channel + + + + + Name + Nome + + + + + Offset + + + + + Min + Min + + + + Max + Max + + + + Invert + Inverter + + + + Global Variables + + + + + Inputs + + + + + Mixers + + + + + CV%1 + + + + + Curves + Curvas + + + + L%1 + + + + + Logical Switches + + + + + SF%1 + + + + + Special Functions + + + + + Telemetry Settings + + + + + Analogs + + + + + Unit + + + + + Scale + + + + + A%1 + + + + + RSSI Alarms + + + MultirotorPage - + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -6109,17 +5884,17 @@ This determines how mixer values are added. OptionsPage - + Throttle Cut - + Throttle Timer - + Flight Timer @@ -6142,455 +5917,17 @@ This determines how mixer values are added. - - Setup for: - Configurar para: - - - - printed on: %1 - - - - - General Model Settings - - - - - - - - Name - Nome - - - - EEprom Size - - - - - Internal Radio System - - - - - Radio System - - - - - - Protocol - Protocolo - - - Pulse Polarity - Polaridade - - - - Throttle Trim - Ajuste do Acelerador - - - - Enabled - Activo - - - - Disabled - Inactivo - - - Throttle Expo - Exponencial do Acelerador - - - - External Radio Module - - - - - Extra Radio System - - - - - Trainer port mode - - - - - Trim Increment - Incremento do Ajuste - - - - Center Beep - Som ao Centrar - - - - Flight modes - - - - - Fades - - - - - Trims - Ajustes - - - - Gvars - - - - - Rot.Enc. - - - - - Switch - Interruptor - - - - Flight mode name - - - - - IN - - - - - OUT - - - - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - - - - - - - - FM - - - - - Off - - - - - Inputs - - - - Weight - Peso - - - - Source - Fonte - - - - Mixers - - - - Delay(u%1:d%2) - Atraso(u%1:d%2) - - - Slow(u%1:d%2) - Lento(u%1:d%2) - - - Warn(%1) - Aviso(%1) - - - - Limits - Limites - - - - - - CH - - - - - - - - - Offset - - - - - - - - Min - Min - - - - - - - Max - Max - - - - - - Invert - Inverter - - - - - - INV - INV - - - - - - NOR - NOR - - - - Curves - Curvas - - - - - - Curve - Curva - - - - pt %1 - pt %1 - - - - Logical Switches - - - - - L - - - - - Global Variables - - - - - GV - - - - - Special Functions - - - - Function - Função - - - - Timer%1 - - - - - SF - - - - - - Telemetry Settings - - - - - - Analog - - - - - Range - - - - - - - A%1 - - - - - Alarms - - - - - Low Alarm - - - - - Critical Alarm - - - - - RSSI - - - - - - Blades - - - - - - Alarm 1 - - - - - - Alarm 2 - - - - - Unit - - - - - Scale - - - - - - - - Type - - - - - - - - Condition - - - - - - - - Value - - - - - RSSI Alarm - - - - - Frsky serial protocol - - - - - - Custom Telemetry View - - - - - Telemetry Bars - - - - - Bar Number - - - - + Print Document Imprimir Documento - + Select PDF output file - + ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) @@ -6623,18 +5960,6 @@ This determines how mixer values are added. QObject - - - - FM%1 - FP%1 - - - - - Input%1 - - Polish @@ -6642,8 +5967,6 @@ This determines how mixer values are added. - - CH%1 CH%1 @@ -6724,33 +6047,33 @@ This determines how mixer values are added. - - + + --- - + Rud Trim - + Ele Trim - + Thr Trim - + Ail Trim - + Rot Enc @@ -6866,34 +6189,38 @@ This determines how mixer values are added. + F1 + F2 + F3 + F4 - + S3 - + Timer3 @@ -7191,7 +6518,6 @@ This determines how mixer values are added. - [I%1] @@ -7382,7 +6708,6 @@ This determines how mixer values are added. - Unknown @@ -7447,40 +6772,84 @@ This determines how mixer values are added. - - repeat + + played once, not during startup - - + + repeat(%1s) + + + + DISABLED + + + INV + INV + + + + NOR + NOR + Edge - - - + + SetFailsafe Int. Module + + + + + SetFailsafe Ext. Module + + + + + RangeCheck Int. Module + + + + + RangeCheck Ext. Module + + + + + Bind Int. Module + + + + + Bind Ext. Module + + + + + + <font color=red><b>Inconsistent parameter</b></font> - + Value - + Decr: - + Incr: @@ -7500,32 +6869,32 @@ This determines how mixer values are added. - + Rotary Encoder - + Value - + Source Fonte - + GVAR - + Increment - + Flight @@ -7535,286 +6904,86 @@ This determines how mixer values are added. - + !Flight mode %1 - + Flight mode %1 - + Flight mode %1 value - + Yellow - + Orange - + Red - + Winged Shadow How High - + Winged Shadow How High (not supported) - + FrSky Sensor Hub - + None - + Imperial - + Metric - - - Extra Fine - Extra-fino - - - - Fine - Fino - - - - Medium - Médio - - - - Coarse - Aberto - - - - %1:%2 - - - - - , Persistent - - - - - , MinuteBeep - - - - - , CountDown(Beeps) - - - - - , CountDown(Voice) - - - - - - : Channel start: %1, %2 Channels, %3usec Delay, Pulse polarity %4 - - - - - : Channel start: %1, %2 Channels - - - - - Slave/Jack - - - - - Master/SBUS Module - - - - - Master/CPPM Module - - - - - Master/SBUS in battery compartment - - - - - Master/Jack - - - - - Exponential - Exponencial - - - Count Up - Contagem progressiva - - - Count Down - Contagem regressiva - - - %1:%2, - %1:%2, - - - : %1 Channels, %2usec Delay - :%1 Canais, Atraso de %3 mseg {1 ?} {2m?} {1 ?} {2u?} - - - - Rudder - Leme - - - - Elevator - Elevador - - - - Throttle - Acelerador - - - - Aileron - Aileron - - + Timer1 - + Timer2 - - - Weight - Peso - - - - - Switch - Interruptor - - - - - NoTrim - - - - - No DR/Expo - - - - - Offset - - - - - Delay - Atraso - - - - Slow - Lento - - - - Warn - - - - - Flight modes - - - - - Flight mode - - - - - Edge(%1, [%2:%3]) - - - - - Sticky(%1, %2) - - - - - Timer(%1, %2) - - - - - Duration (%1s) - - - - - Delay (%1s) - - - - + Telemetry - + Own value @@ -7835,7 +7004,7 @@ This determines how mixer values are added. - + -GV%1 @@ -7843,34 +7012,33 @@ This determines how mixer values are added. - + ---- - - + THR THR - - + + P1 P1 - - + + P2 P2 - - + + P3 P3 @@ -7887,25 +7055,25 @@ This determines how mixer values are added. - + Rud - + Ele - + Thr - + Ail @@ -7932,42 +7100,46 @@ This determines how mixer values are added. - + + S1 - + + S2 - + + LS - + + RS - + REa - + REb @@ -8099,14 +7271,13 @@ This determines how mixer values are added. - + V - - + s @@ -8337,520 +7508,542 @@ This determines how mixer values are added. - + GV%1 - - + + Support for frsky telemetry mod - - + + Support for jeti telemetry mod - - + + Support for receiving ardupilot data - - + + Support for receiving NMEA data - + Support for telemetry easy board - - + + Support for MAVLINK devices - + Rotary Encoder use in menus navigation - - - - - - + + + + + + Enable heli menu and cyclic mix support - - - - - - - - + + + + + + + + + Enable TEMPLATES menu - - - - + + + + No splash screen - - - - - - - - + + + + + + + + + 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 - + Channel values displayed in us - - - - - - - - + + + + + + + + + In model setup menus automatically set source by moving the control - - - - - - - - + + + + + + + + + In model setup menus automatically set switch by moving the control - + Use alternative SQT5 font - + (displaying only first 10 warnings) - + Possibility to enable FAI MODE (no telemetry) at field - + FAI MODE (no telemetry) always enabled - + + + + Support for a third timer - - Removes D8 and LR12 FrSky protocols that are not legal for use in the EU on radios sold after Jan 1st, 2015 - - - - - Support for PPM internal module hack - - - - - ST7565P LCD or compatible - - - - - ST7565R LCD or compatible - - - - - ERC12864FSF LCD - - - - - ST7920 LCD - - - - - 9X board - - - - - - - - Enable the throttle trace in Statistics - - - - - EEprom write progress bar - - - - - - 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 - - - - - - Add support for reversing stick inputs (e.g. needed for FrSky gimbals) - - - - - Power management by soft-off circuitry - - - - - 9XR-PRO - - - - - FrSky Taranis - - - - - FrSky Taranis Plus - - - - - FrSky Taranis X9E - - - - - Confirmation before radio shutdown - - - - - - Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views - - - - - Haptic module installed - - - - - Support for Lua model scripts - - - - - No Joystick emulation inside the FW (only Mass Storage as in the Bootloader) - - - - - - Support of FrSky PXX protocol - - - - - Disable HELI menu and cyclic mix support - - - - - Disable Global variables - - - - - - - - Support for DSM2 modules + Instead of Joystick emulation, USB connection is Mass Storage (as in the Bootloader) - - - - - - - - - PPM center adjustment in limits + + Instead of Joystick emulation, USB connection is Command Line Interface - - - - - - - - Symetrical Limits + Removes D8 and LR12 FrSky protocols that are not legal for use in the EU on radios sold after Jan 1st, 2015 - - - - - - - Pots use in menus navigation - - - - - Your radio probably uses a wrong firmware, - eeprom size is 4096 but only the first 2048 are used - - - - - No OverrideCH functions available - - - - - - - - - - - - No flight modes - - - - - - SmartieParts 2.2 Backlight support - - - - - - - - - Enable resetting values by pressing up and down at the same time - - - - - - - - - - - - No graphical check boxes and sliders + + Support for PPM internal module hack - - - - - - - - Battery graph + ST7565P LCD or compatible - - - - - - - - Don't use bold font for highlighting active items + ST7565R LCD or compatible - - - - - - EEprom write Progress bar + + ERC12864FSF LCD - - - - - - - Imperial units + + ST7920 LCD - - M128 / 9X board + + 9X board + + + + + + + + Enable the throttle trace in Statistics + + + + + EEprom write progress bar - 9XR + + No Winged Shadow How High support - - 9XR with M128 chip + + + No vario support - - Gruvin9x board / 9X + + + No GPS support - - MEGA2560 board + + + No gauges in the custom telemetry screen - - Sky9x board / 9X + + Allow compensating for offset errors in FrSky FAS current sensors - - - Bluetooth interface + + + Add support for reversing stick inputs (e.g. needed for FrSky gimbals) + + + + + Power management by soft-off circuitry + + + + + ar9x board / 9X + + + + + 9XR-PRO + + + + + FrSky Taranis + + + + + FrSky Taranis Plus + + + + + FrSky Taranis X9E + + + + + Confirmation before radio shutdown - - - - - - + + Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views + + + + + Haptic module installed + + + + + Support for Lua model scripts + + + + + + Support of FrSky PXX protocol + + + + + Disable HELI menu and cyclic mix support + + + + + Disable Global variables + + + + + + + + + Support for DSM2 modules + + + + + + + + + + + + + PPM center adjustment in limits + + + + + + + + + + + + Symetrical Limits + + + + + + + + + + + Pots use in menus navigation + + + + + No OverrideCH functions available + + + + + + + + + + + + + No flight modes + + + + + + SmartieParts 2.2 Backlight support + + + + + + + + + + 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 + + + + + + + + + EEprom write Progress bar + + + + + + + + + + Imperial units + + + + + M128 / 9X board + + + + + 9XR + + + + + 9XR with M128 chip + + + + + Gruvin9x board / 9X + + + + + MEGA2560 board + + + + + Sky9x board / 9X + + + + + + + Bluetooth interface + + + + + + + + + + + + Global variables - - + + Support for SD memory card - + Support for DSM2 modules using ppm instead of true serial - - + + + Enable HELI menu and cyclic mix support @@ -8885,11 +8078,6 @@ This determines how mixer values are added. CYC%1 - - CH%1%2 - CH%1 - CH%1 - @@ -8905,18 +8093,18 @@ This determines how mixer values are added. OFF - - + + Warning Aviso - + EEPROM saved with these warnings: - + Simulator for this firmware is not yet available @@ -8926,63 +8114,63 @@ This determines how mixer values are added. - + Source %1 cannot be exported on this board! - + OpenTX only accepts %1 points in all curves - + OpenTx only accepts %1 points in all curves - - - + + - + + OpenTX on this board doesn't accept this function - + OpenTX doesn't accept this telemetry protocol - - - + + + OpenTX doesn't accept this radio protocol - + OpenTX doesn't allow this number of channels - + Trim disabled - + Own Trim - + Use Trim from Flight mode %1 - + Use Trim from Flight mode %1 + Own Trim as an offset @@ -9014,15 +8202,21 @@ The OpenTX Team. - + + + - Synchronization error - + + No SD directory configured! + + + + No Radio connected! @@ -9032,33 +8226,33 @@ The OpenTX Team. - + -%1 + - The directory '%1' doesn't exist! - + Create '%1' failed - + Copy '%1' to '%2' failed - + Open '%1' failed - + Write '%1' failed @@ -9091,16 +8285,6 @@ The OpenTX Team. Could not delete temporary file: %1 - - - Positive - - - - - Negative - - Radio type @@ -9149,17 +8333,17 @@ The OpenTX Team. RudderPage - + No - + Yes - + <br>Rudder Channel: @@ -9167,152 +8351,157 @@ The OpenTX Team. Setup - + Center beep Sons ao centrar - + OFF OFF - + Model Image - + Exponential Exponencial - + Throttle Trim Idle Only - + Extra Fine Extra-fino - + Fine Fino - + Medium Médio - + Coarse Aberto - + Display Checklist - + Timer 2 - + Timer 1 - + Timer 3 - + Never - + + Top LCD Timer + + + + On change - + Always - + Global Functions - + Throttle Source - + Trim Step - + Trims Display - + Warnings - + Switch Warnings - + Pot Warnings - + Manual - + Auto - + Model - + Extended Limits - + Extended Trims - + 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. @@ -9320,15 +8509,23 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + Reverse Throttle + + SetupPanel + + + Timer %1 + + + SimpleTailPage - + Elevator Channel: @@ -9383,22 +8580,6 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Right Double Click to Reset - - THR - THR - - - RUD - RUD - - - ELE - ELE - - - AIL - AIL - @@ -9433,43 +8614,11 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Gvars - - TRN - TRN - - - GEA - GEA - - - ID0 - ID0 - - - ID1 - ID1 - - - ID2 - ID2 - BEEP BEEP - - P1 - P1 - - - P2 - P2 - - - P3 - P3 - 9x Simulator @@ -9551,10 +8700,44 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi + + SplashLibraryDialog + + + + ... + + + + + Splash Library - page %1 of %2 + + + + + Warning + Aviso + + + + Invalid image in library %1 + + + + + Information + + + + + No valid image found in library, check your settings + + + StandardPage - + Channel %1 @@ -9562,25 +8745,24 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi SyncProcess - + + %1/%2 files + + + + Create directory %1 - + Copy %1 to %2 - - Read %1 - - - - - + Write %1 @@ -9589,35 +8771,40 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TailPage - + Rudder Channel: - + Elevator Channel: + + + Only one channel still available!<br>You probably should configure your model without using the wizard. + + TailSelectionPage - + Elevator and Rudder - + Only Elevator - + V-tail - + Tail Type: @@ -9625,96 +8812,96 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Telemetry - + A1 - + A2 - + RSSI - + Alarm 1 - - + + ---- - - + + Yellow - - + + Orange - - + + Red - + Alarm 2 - + Center Silent - + Altitude source - + Volts source - + Top Bar - + Serial Protocol - + Sensors - + Disable multi sensor handling - + Volt source - + Current source @@ -9724,82 +8911,82 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Protocolo - + None - + FrSky Sensor Hub - + Blades - + Sink Max - + Climb Max - + Sink Min - + Climb Min - + Vario source - + Vario limits - + Altimetry - + mAh - + A - + Various - + mAh count - + FAS Offset - + Persistent mAh @@ -9913,17 +9100,7 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - - Low Alarm - - - - - Critical Alarm - - - - + Range @@ -9936,22 +9113,22 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + None - + Numbers - + Bars - + Script @@ -9979,99 +9156,99 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TelemetryPanel - + FrSky S.PORT - + FrSky D - + FrSky D (cable) - + Telemetry screen %1 - + Low Alarm - + Critical Alarm - + Winged Shadow How High - + Winged Shadow How High (not supported) - + Alti - + Alti+ - + VSpeed - - - + + + A1 - - - + + + A2 - - + + A3 - - + + A4 - - + + FAS - + Cells - + --- @@ -10177,7 +9354,107 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - Amps Sensor : + Sensor : + + + + + V + + + + + A + + + + + mA + + + + + kt + + + + + m/s + + + + + ft/s + + + + + km/h + + + + + mph + + + + + m + + + + + ft + + + + + °C + + + + + °F + + + + + % + + + + + mAh + + + + + W + + + + + dBm + + + + + g + + + + + ° + + + + + mL + + + + + US fl.Oz. @@ -10185,111 +9462,11 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Raw (-) - - - Voltage (V) - - - - - Current (A) - - - - - Current (mA) - - - - - Speed (kts) - - - - - Speed (m/s) - - - - - Speed (ft/s) - - - - - Speed (km/h) - - - - - Speed (miles/h) - - - - - Meters (m) - - - - - Feet (ft) - - - - - Temp (°C) - - - - - Temp (°F) - - - - - Percentage (%) - - - - - Energy (mAh) - - - - - Power (W) - - - - - RF Power (dBm) - - RPM - - - Acceleration (g) - - - - - Heading (°) - - - - - Volume (mL) - - - - - Volume (US fl.Oz.) - - Precision @@ -10344,22 +9521,22 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TelemetrySensorPanel - + Lowest - + Cell %1 - + Highest - + Delta @@ -10572,7 +9749,17 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + + Instance + + + + + 2 + + + + <html><head/><body><p>Start with <span style=" font-style:italic;">0x</span> for hex, <span style=" font-style:italic;">0</span> for octal, otherwise decimal.<br/>Numeric entry only. Blank values are not sent.</p></body></html> @@ -10580,27 +9767,23 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi ThrottlePage - + Yes - + No - + <br>Throttle Channel: Timer - - mm:ss - mm:ss - Countdown @@ -10615,32 +9798,37 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TimerPanel - + Silent - + Beeps - + Voice - - Not persistent - - - - - Persistent (flight) + + Haptic + Not persistent + + + + + Persistent (flight) + + + + Persistent (manual reset) @@ -10773,12 +9961,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi VTailPage - + First Tail Channel: - + Second Tail Channel: @@ -10786,12 +9974,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi WingtypeSelectionPage - + Standard Wing - + Flying Wing / Deltawing @@ -11073,87 +10261,41 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi WizardPrinter - + Plane - + Multicopter - + Helicopter - + Model Name: - + Model Type: - + Options: - + Channel %1: - - appPreferencesDialog - - Mode 1 (RUD ELE THR AIL) - Modo 1 (RUD ELE THR AIL) - - - Mode 2 (RUD THR ELE AIL) - Modo 2 (RUD THR ELE AIL) - - - Mode 3 (AIL ELE THR RUD) - Modo 3 (AIL ELE THR RUD) - - - Mode 4 (AIL THR ELE RUD) - Modo 4 (AIL THR ELE RUD) - - - Default Stick Mode - Modo do Rádio por Defeito - - - General Settings - Parâmetros Gerais - - - Default Channel Order - Ordem dos Canais por Defeito - - - - avrOutputDialog - - Dialog - Dialogo - - - Error - Erro - - - FUSES: Low=%1 High=%2 Ext=%3 - FUSES: Baixo=%1 Alto=%2 Ext=%3 - - burnConfigDialog @@ -11362,143 +10504,6 @@ m2560 for v4.1 boards - - burnDialog - - Warning - Aviso - - - Unable to find file %1! - Impossível encontrar o ficheiro %1! - - - Error - Erro - - - - compareDialog - - Close - Fechar - - - Print - Imprimir - - - Name - Nome - - - Protocol - Protocolo - - - Pulse Polarity - Polaridade - - - Throttle Trim - Ajuste do Acelerador - - - Enabled - Activo - - - Disabled - Inactivo - - - Throttle Expo - Exponencial do Acelerador - - - Trim Increment - Incremento do Ajuste - - - Center Beep - Som ao Centrar - - - Trims - Ajustes - - - Switch - Interruptor - - - Limits - Limites - - - Min - Min - - - Max - Max - - - Invert - Inverter - - - INV - INV - - - NOR - NOR - - - Weight - Peso - - - Curve - Curva - - - Delay(u%1:d%2) - Atraso(u%1:d%2) - - - Slow(u%1:d%2) - Lento(u%1:d%2) - - - Curves - Curvas - - - pt %1 - pt %1 - - - Function - Função - - - Source - Fonte - - - Print Document - Imprimir Documento - - - - contributorsDialog - - Dialog - Dialogo - - customizeSplashDialog @@ -11647,13 +10652,6 @@ m2560 for v4.1 boards - - fusesDialog - - Read Fuses - Ler os Fuses - - joystickDialog @@ -11876,13 +10874,6 @@ Press cancel to abort joystick calibration - - logsDialog - - Error - Erro - - mdiChild @@ -11898,30 +10889,6 @@ Press cancel to abort joystick calibration Preferences Preferências - - Default Channel Order - Ordem dos Canais por Defeito - - - Default Stick Mode - Modo do Rádio por Defeito - - - Mode 1 (RUD ELE THR AIL) - Modo 1 (RUD ELE THR AIL) - - - Mode 2 (RUD THR ELE AIL) - Modo 2 (RUD THR ELE AIL) - - - Mode 3 (AIL ELE THR RUD) - Modo 3 (AIL ELE THR RUD) - - - Mode 4 (AIL THR ELE RUD) - Modo 4 (AIL THR ELE RUD) - @@ -12031,165 +10998,4 @@ Press cancel to abort joystick calibration - - printDialog - - Dialog - Dialogo - - - Close - Fechar - - - Print - Imprimir - - - Setup for: - Configurar para: - - - Name - Nome - - - Protocol - Protocolo - - - Pulse Polarity - Polaridade - - - Enabled - Activo - - - Disabled - Inactivo - - - Throttle Trim - Ajuste do Acelerador - - - Throttle Expo - Exponencial do Acelerador - - - Trims - Ajustes - - - Trim Increment - Incremento do Ajuste - - - Center Beep - Som ao Centrar - - - Delay(u%1:d%2) - Atraso(u%1:d%2) - - - Slow(u%1:d%2) - Lento(u%1:d%2) - - - pt %1 - pt %1 - - - Source - Fonte - - - Offset - Compensação - - - Function - Função - - - Switch - Interruptor - - - Weight - Peso - - - Curve - Curva - - - Limits - Limites - - - Min - Min - - - Max - Max - - - Invert - Inverter - - - INV - INV - - - NOR - NOR - - - Curves - Curvas - - - Print Document - Imprimir Documento - - - - SplashLibraryDialog - - - - ... - - - - - Splash Library - page %1 of %2 - - - - - Warning - Aviso - - - - Invalid image in library %1 - - - - - Information - - - - - No valid image found in library, check your settings - - - diff --git a/companion/src/translations/companion_ru.ts b/companion/src/translations/companion_ru.ts index a73d8ab0e..83edec0e9 100644 --- a/companion/src/translations/companion_ru.ts +++ b/companion/src/translations/companion_ru.ts @@ -4,27 +4,27 @@ AileronsPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Aileron Channel: - + Second Aileron Channel: @@ -32,27 +32,27 @@ AirbrakesPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Airbrake Channel: - + Second Airbrake Channel: @@ -74,7 +74,7 @@ - + Open Folder @@ -308,7 +308,7 @@ Mode 4: - + Simulator Volume Gain @@ -445,62 +445,62 @@ May be different from firmware language - + Simulator BackLight - + Enable - + Blue - + Green - + Red - + Orange - + Yellow - + Joystick - + Calibrate - + Simulator capture folder - + Only capture to clipboard - + Remember simulator switch values @@ -515,64 +515,64 @@ May be different from firmware language - - + + No joysticks found - + EMPTY: No radio settings stored in profile - + AVAILABLE: Radio settings of unknown age - + AVAILABLE: Radio settings stored %1 - + 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) @@ -753,11 +753,6 @@ May be different from firmware language Stick 4 - - - Battery - - v @@ -778,9 +773,14 @@ May be different from firmware language PPM 4 + + + Battery Offset + + - Current + Current Offset @@ -1030,413 +1030,17 @@ May be different from firmware language - + No name - - General Model Settings - - - - - - - Name - - - - - - EEprom Size - - - - - - Timer1 - - - - - - Timer2 - - - - - - Internal Radio System - - - - - - Radio System - - - - - - - - Protocol - Протокол - - - - - External Radio Module - - - - - - Extra Radio System - - - - - - Trainer port mode - - - - - - Throttle Trim - Газ трим - - - - - Enabled - - - - - - Disabled - - - - Throttle Expo - Газ экспо - - - - - Trim Increment - Изм. триммеров - - - - - Center Beep - - - - - Flight modes Settings - - - - - - Fades - - - - - - Trims - Триммеры - - - - - Switch - Тумблер - - - - - - - Flight mode name - - - - - - IN - - - - - - OUT - - - - - - - - - - - - - - FM - - - - - - Gvars - - - - - - Rot. Enc. - - - - - Limits - Лимиты - - - - - - - - Offset - Смещен. - - - - - - - - Min - Мин - - - - - - - - Max - Макс - - - - - - Invert - Инверт - - - - - - - - CH - - - - - - INV - - - - - - NOR - - - - - Global Variables - - - - - - GV - - - - - Inputs - - - - Weight - Вес - - - - Mixers - - - - Delay(u%1:d%2) - Задержка(u%1:d%2) - - - Slow(u%1:d%2) - Задержка(u%1:d%2) - - - - Curves - Кривые - - - - - Curve - Кривая - - - - Logical Switches - - - - - L - - - - - Special Functions - - - - Function - Функция - - - - SF - - - - - Telemetry Settings - - - - - - Analog - - - - - - Unit - - - - - - Scale - - - - - - - - A%1 - - - - - - Alarm 1 - - - - - - Alarm 2 - - - - - - - - Type - - - - - - - - Condition - - - - - - - - Value - Значение - - - - - RSSI Alarm - - - - - - Custom Telemetry View - - - - - - Telemetry Bars - - - - - - Bar Number - - - - - - Source - Источник - - - + Print Document - + Select PDF output file @@ -1444,7 +1048,7 @@ May be different from firmware language ConclusionPage - + OK, I understand. @@ -1482,12 +1086,12 @@ May be different from firmware language - - Thank you all !!! + + OpenTX Blacklist - + monthly @@ -1520,22 +1124,22 @@ May be different from firmware language CurveGroup - + Diff - + Expo - + Func - + Curve Кривая @@ -1742,42 +1346,42 @@ May be different from firmware language - + &Delete Удалить - + Delete Удалить - + &Copy Копировать - + Ctrl+C - + &Cut Вырезать - + Ctrl+X - + &Paste Вставить - + Ctrl+V @@ -1785,22 +1389,22 @@ May be different from firmware language CyclicPage - + 90 - + 120 - + 120x - + 140 @@ -1814,232 +1418,106 @@ May be different from firmware language - ElevonsPage + EepromInterface - - <br>First Elevon Channel: + + Possible causes for this: - - Second Elevon Channel: + + - Eeprom is from a newer version of OpenTX + + + + + - Eeprom is not from OpenTX + + + + + - Eeprom is not from Th9X + + + + + - Eeprom is not from Gruvin9X + + + + + - Eeprom is not from ErSky9X + + + + + - Eeprom is not from Er9X + + + + + - Eeprom size is invalid + + + + + - Eeprom file system is invalid + + + + + - Eeprom is from a unknown board + + + + + - Eeprom is from the wrong board + + + + + - Eeprom backup not supported + + + + + - Something that couldn't be guessed, sorry + + + + + Warning: + + + + + + - Your radio probably uses a wrong firmware, + eeprom size is 4096 but only the first 2048 are used + + + + + - Your eeprom is from an old version of OpenTX, upgrading! + You should 'save as' to keep the old file as a backup. + + + + + Warnings! - Er9x::Templates + ElevonsPage - - Simple 4-CH + + <br>First Elevon Channel: - - T-Cut - - - - - Sticky T-Cut - - - - - V-Tail - - - - - Elevon\Delta - - - - - Heli Setup - - - - - Heli Setup with gyro gain control - - - - - Gyro gain control - - - - - Heli Setup (Futaba's channel assignment style) - - - - - Heli Setup with gyro gain control (Futaba's channel assignment style) - - - - - Gyro gain control (Futaba's channel assignment style) - - - - - Servo Test - - - - - MultiCopter - - - - - Use Model Config Wizard - - - - - Apply Template? - - - - - Apply template "%1"? - - - - - - - - - - - RUD - - - - - - - - - - - - - - ELE - - - - - - - THR - - - - - - - - - - - - AIL - - - - - - - - AIL2 - - - - - - - - ELE2 - - - - - - - - - - FLAPS - - - - - - - - - - FLAP%1 - - - - - - - - PITCH - - - - - - - - - - - - GYRO - - - - - - SPOIL - - - - - - SPOIL%1 - - - - - - RUD2 - - - - - - Clear Mixes? - - - - - Really clear existing mixes on CH6? - - - - - Really clear existing mixes on CH5? + + Second Elevon Channel: @@ -2097,23 +1575,6 @@ May be different from firmware language Stick Side - - <!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 and 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> - Задержка и замедление. -Эти значение управляют скоростью и задержкой на выходе микшера. -Если "Задержка" не равна нулю, то срабатывание микшера происходит через указанное число секунд. -Если "Замедление" не равно нулю, то это значение означает число секунд для перемещения от -100 до +100. - Scale @@ -2175,46 +1636,26 @@ If blank then the input is considered to be "ON" all the time.Edit %1 - - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - FblPage - + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -2266,27 +1707,27 @@ May be different from firmware language FlapsPage - + No - + Yes, controlled by a single channel - + Yes, controlled by two channels - + <br>First Flap Channel: - + Second Flap Channel: @@ -2295,7 +1736,7 @@ May be different from firmware language FlashEEpromDialog - + Write Models and Settings to Radio @@ -2369,14 +1810,14 @@ May be different from firmware language - - - - - - - - + + + + + + + + Error Ошибка @@ -2388,74 +1829,74 @@ May be different from firmware language - + Error opening file %1: %2. - - + + Invalid Models and Settings File %1 - + Error reading file %1: %2. Ошибка при считывании файла %1: %2. - + Invalid Models and Settings file %1 - - - - + + + + Warning Звук - + Wrong radio calibration data in profile, Settings not patched - + Wrong radio setting data in profile, Settings not patched - - + + Cannot write file %1: %2. Не удается записать файл %1: %2. - + Error writing file %1: %2. Ошибка при записи файла %1: %2. - + The radio firmware belongs to another product family, check file and preferences! - + The radio firmware is outdated, please upgrade! - + Cannot check Models and Settings compatibility! Continue anyway? @@ -2539,8 +1980,8 @@ May be different from firmware language - - + + Warning Звук @@ -2594,58 +2035,58 @@ May be different from firmware language - + Splash image not found - + Cannot save customized firmware - + Write Firmware to Radio - - + + Firmware check failed - + Could not check firmware from radio - + New firmware is not compatible with the one currently installed! - + Conversion failed - + Cannot convert Models and Settings for use with this firmware, original data will be used - + Restore failed - + Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - + Flashing done @@ -2767,37 +2208,17 @@ Please use ZADIG to properly install the driver. FlightModePanel - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - - - + Rotary Encoder %1 - + GVAR%1 - + Popup enabled @@ -2805,17 +2226,17 @@ Please use ZADIG to properly install the driver. FlightModesPanel - + Flight Mode %1 - + (%1) - + (default) @@ -2823,17 +2244,17 @@ Please use ZADIG to properly install the driver. FlybarSelectionPage - + Has Flybar - + Flybarless - + Flybar: @@ -2960,80 +2381,6 @@ These will be relevant for all models in the same EEPROM. Setup Настройка - - Contrast - Конраст - - - <!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> - Контраст LCD дисплея -Значения в пределах 20-45 - - - Battery Warning - Напряж. при разряде - - - Battery warning voltage. -This is the threashhold where the battery warning sounds. - -Acceptable values are 5v..10v - Предупреждение о разряде. -Значение при котором сработает сигнализация. - -Диапазон 5В..10В - - - v - В - - - This is the switch selectrion for turning on the backlight (if installed). - - - Включение подсветки (при ее наличии). - - - If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. - Если не равно нулю, то любое нажатие кнопок будет включать подсветку и выключать ее через указанное кол-во секунд. - - - sec - сек - - - Inactivity Timer - Таймер активности - - - If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes. - Если не равно нулю, начнет бипать при отсутсвии активности через указанное кол-во минут. - - - min - мин - - - Quiet - тихо - - - No Keys - без кнопок - - - Normal - нормально - - - Long - долго - Trainer @@ -3049,88 +2396,6 @@ Acceptable values are 5v..10v Retrieve calib. and hw settings from profile - - Default Channel Order - Порядок следов. каналов - - - OFF - ВЫКЛ - - - Weight - Вес - - - PPM Multiplier - PPM множитель - - - <!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=" 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;">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> - Определение предупреждений при включении. -"Газ не в нуле" - Стик газа не в нулевом положении -"Тумблеры" - Переключатели не в положении по-умолчанию -"Память" - Не осталось свободной памяти под модели -"Тишина" - Предупреждение о "тихом" режиме (без звука) - - - Beeper Mode - Режим бипов - - - 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. - Громкость. - -0 - Тишина. -1 - Без кнопок. -2 - Обычная. -3 - Громкая. -4 - Очень громкая. - - - Channel Order (For Templates) - Порядок каналов - - - Channel order - -This is used by the templated to determine which channel goes to what number output. - Порядок каналов - -Используется в шаблоне порядка следования каналов. - - - Stick Mode - Режим стиков - - - Show Splash Screen on Startup - Показывать заставку - - - Show splash screen on startup - Показывать заставку при включении - - - Calibration - Калибровка. - Global Functions @@ -3947,17 +3212,17 @@ Are you sure ? GyroPage - + No - + Yes, controled by a switch - + Yes, controlled by a pot @@ -3979,19 +3244,11 @@ Are you sure ? Invert Collective - - Elevator - Элеватор - Invert Инверт - - Aileron - Элероны - Off @@ -4046,22 +3303,22 @@ Are you sure ? HeliPage - + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -4433,43 +3690,43 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt MainWindow - - - + + + File loaded Файл загружен - - - + + + Save As Сохранить как... - - + + No updates available at this time. - + Unable to check for updates. - + Executable (*.exe) - + Would you like to launch the installer? - - + + File saved Файл записан @@ -4479,39 +3736,39 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt - + New release available - - + + Error Ошибка - + Error opening file %1: %2. - + Compilation server termporary failure, try later - + Compilation server too busy, try later - + Unknown server failure, try later - + Firmware %1 does not seem to have ever been downloaded. Release %2 is available. Do you want to download it now? @@ -4520,31 +3777,31 @@ We recommend you view the release notes using the button below to learn about an - - + + Yes - - + + No - - + + Release Notes - - + + Do you want to download release %1 now ? - + A new version of %1 firmware is available: - current is %2 - newer is %3 @@ -4555,745 +3812,725 @@ We recommend you view the release notes using the button below to learn about an - + 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. - - + + Synchronize SD - + Firmware updates - + Current firmware does not provide release notes informations. - Cannot write file %1: -%2. - Не удается записать файл %1: -%2. - - - Warning - Звук - - - + OpenTX Home Page: <a href='%1'>%1</a> - + If you've found this program useful, please support by <a href='%1'>donating</a> - + New - + Open... - + Save - + Save As... - + Copy Model - + Paste Model - + Load backup from file - + Compare models - + Exit the application Выйти из программы - + List available programmers Показать список программаторов - + Show fuses dialog Показать диалог установки фьюзов - + Show the application's About box Показать окно "О программе" - + Set Menu Language - + Show the list of radio profiles - + Write - + %2 - + New Radio - Unable to find file %1! - Невозможно найти файл %1! - - - Error reading file %1: -%2. - Ошибка при считывании файла %1: -%2. - - - + Checking for updates - + A new version of Companion is available (version %1)<br>Would you like to download it? - + A new release of Companion is available, please check the OpenTX website! - + Not enough memory for all the selected firmware options - + Compilation server requires registration, please check OpenTX web site - + About Companion - + A monochrome black icon theme - + A monochrome white icon theme - + A monochrome blue icon theme - + Small - + Use small toolbar icons - + Use normal size toolbar icons - + Normal нормально - + Use big toolbar icons - + Big - + Use huge toolbar icons - + Huge - + Do you want to write the firmware to the radio now ? - - + + Open Models and Settings file - + Read Models and Settings From Radio - + Ignore this release %1? - - - + + + Companion - + Save Radio Backup to File - + Read Radio Firmware to File - + The OpenTX Companion project was originally forked from <a href='%1'>eePe</a> - + Copyright OpenTX Team - + OpenTX Companion %1 - Radio: %2 - Profile: %3 - + Create a new Models and Settings file - - + + Save Models and Settings file - + Exit - + Cut Model - + Cut current model to the clipboard - + Copy current model to the clipboard - + Paste model from clipboard - + Classical - + The classic companion9x icon theme - + Yerico - + Yellow round honey sweet icon theme - + Monochrome - + MonoWhite - + MonoBlue - + 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 - + Polish - + Use Polish in menus - + Spanish - + Use Spanish in menus - + Swedish - + Use Swedish in menus - + About... - + Print... - + Print current model - + Simulate... - + Simulate current model - + Alt+S - + Load Backup... - + 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... - + Edit Radio Splash Image... - + Edit the splash image of your Radio - + List programmers... - + Fuses... - - + + Read Firmware from Radio - + Read firmware from Radio - - + + Write Firmware to Radio - + Write firmware to Radio - + 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 Radio - - + + Write Models and Settings to Radio - - + + Read Models and Settings from Radio - + Configure Communications... - + Configure software for communicating with the Radio - + Write Backup to Radio - + Write Backup from file to Radio - + Backup Radio to File - + Save a complete backup file of all settings and model data in the Radio - + Contributors... - + A tribute to those who have contributed to OpenTX and Companion - + SD card synchronization - + Recent Files - + Recent Models+Settings - + Set Icon Theme - + Set Icon Size - - + + File Файл - - + + Edit Правка - + Settings - + Read/Write - - + + Help - - + + Radio Profile - + Show recent Models+Settings documents - + Ready Готово @@ -5304,22 +4541,22 @@ We recommend you view the release notes using the button below to learn about an - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + Error Ошибка @@ -5330,13 +4567,13 @@ We recommend you view the release notes using the button below to learn about an - + Unable to find file %1! Невозможно найти файл %1! - - + + Error reading file %1: %2. Ошибка при считывании файла %1: @@ -5345,8 +4582,8 @@ We recommend you view the release notes using the button below to learn about an - - + + Error opening file %1: %2. @@ -5357,69 +4594,73 @@ We recommend you view the release notes using the button below to learn about an - + Companion - - + + Invalid EEPROM File %1 - + Invalid binary EEPROM File %1 - - - + + + Save As Сохранить как... - - - - + + + + Cannot write file %1: %2. Не удается записать файл %1: %2. - + Open backup Models and Settings file + + + + Warning - Звук + Звук - + Invalid binary backup File %1 - + %1 has been modified. Do you want to save your changes? - - + + Error writing file %1: %2. Ошибка при записи файла %1: %2. - + Cannot write temporary file! Не удается записать временный файл! @@ -5617,23 +4858,6 @@ This determines how mixer values are added. Up Верх - - <!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 and 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> - Задержка и замедление. -Эти значение управляют скоростью и задержкой на выходе микшера. -Если "Задержка" не равна нулю, то срабатывание микшера происходит через указанное число секунд. -Если "Замедление" не равно нулю, то это значение означает число секунд для перемещения от -100 до +100. - Down @@ -5644,26 +4868,6 @@ p, li { white-space: pre-wrap; } DEST -> CH%1 - - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - MixesPanel @@ -5697,24 +4901,12 @@ p, li { white-space: pre-wrap; } - Delay(u%1:d%2) - Задержка(u%1:d%2) - - - Slow(u%1:d%2) - Задержка(u%1:d%2) - - - Warn(%1) - Пред(%1) - - - + Not enough available mixers! - + Delete Selected Mixes? Удалить выбранные микшеры? @@ -5768,10 +4960,6 @@ p, li { white-space: pre-wrap; } Ctrl+C - - &Cut - Вырезать - Ctrl+X @@ -5803,12 +4991,12 @@ p, li { white-space: pre-wrap; } - + Clear Mixes? - + Really clear all the mixes? @@ -5876,30 +5064,307 @@ p, li { white-space: pre-wrap; } Симуляция + + ModelPrinter + + + %1 bytes + + + + + CH%1 + + + + + Exponential + экспонента + + + + Extra Fine + очень точно + + + + Fine + точно + + + + Medium + средне + + + + Coarse + грубо + + + + Unknown + + + + + Enabled + + + + + Disabled + + + + + %1, Channels(%2-%3), PPM delay(%4usec), Pulse polarity(%5) + + + + + %1, Channels(%2-%3) + + + + + Receiver number(%1) + + + + + Slave/Jack + + + + + Master/SBUS Module + + + + + Master/CPPM Module + + + + + Master/SBUS in battery compartment + + + + + Master/Jack + + + + + Rudder + Руддер + + + + Elevator + Элеватор + + + + Throttle + Газ + + + + Aileron + Элероны + + + + Name(%1) + + + + + Persistent + + + + + MinuteBeep + + + + + CountDown(Beeps) + + + + + CountDown(Voice) + + + + + CountDown(Haptic) + + + + + Off + + + + + + + + FM%1 + + + + + FM%1%2 + + + + + FM%1+%2 + + + + + [I%1] + + + + + Input%1 + + + + + Weight + Вес + + + + Switch + Тумблер + + + + + NoTrim + + + + + Weight(%1) + + + + + Switch(%1) + + + + + No DR/Expo + + + + + Offset(%1) + + + + + Delay(u%1:d%2) + + + + + Slow(u%1:d%2) + + + + + Warn(%1) + + + + + Disabled in all flight modes + + + + + Flight modes(%1) + + + + + Flight mode(%1) + + + + + Edge(%1, [%2:%3]) + + + + + Sticky(%1, %2) + + + + + Timer(%1, %2) + + + + + Duration(%1s) + + + + + Delay(%1s) + + + + + Custom + + + + + Standard + + + ModelSelectionPage - + Plane - + Multirotor - + Helicopter - + Model Name: - + Model Type: @@ -5907,129 +5372,130 @@ p, li { white-space: pre-wrap; } 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 - + Ctrl+P - + Alt+S - + &Simulate model - + General Settings Основные настройки - + Delete Selected Models? Удалить выбранные модели? - - + + Cannot delete default model. - + Cannot cut default model. - + Do you want to overwrite radio general settings? - + You are pasting on an not empty model, are you sure? You are pasting on an not empty model, are you sure ? - + No free slot available, cannot duplicate @@ -6051,10 +5517,6 @@ p, li { white-space: pre-wrap; } PPM delay - - usec - мсек - Negative @@ -6080,10 +5542,6 @@ p, li { white-space: pre-wrap; } PPM Frame Length - - ch - ch - CH @@ -6188,66 +5646,273 @@ p, li { white-space: pre-wrap; } ModulePanel - + Trainer Port - + Internal Radio System - + External Radio Module - - + + Radio System - + Extra Radio System - + Value Значение - + Hold - + No Pulse + + MultiModelPrinter + + + General Model Settings + + + + + Name: + + + + + EEprom Size: + + + + + Timer%1: + + + + + Module%1: + + + + + Module: + + + + + Trainer port: + + + + + Throttle Trim: + + + + + Trim Increment: + + + + + Center Beep: + + + + + Flight modes + + + + + + Flight mode + + + + + Switch + Тумблер + + + + Fade IN + + + + + Fade OUT + + + + + + FM%1 + + + + + + GV%1 + + + + + RE%1 + + + + + Limits + Лимиты + + + + Channel + + + + + Name + + + + + + Offset + Смещен. + + + + Min + Мин + + + + Max + Макс + + + + Invert + Инверт + + + + Global Variables + + + + + Inputs + + + + + Mixers + + + + + CV%1 + + + + + Curves + Кривые + + + + L%1 + + + + + Logical Switches + + + + + SF%1 + + + + + Special Functions + + + + + Telemetry Settings + + + + + Analogs + + + + + Unit + + + + + Scale + + + + + A%1 + + + + + RSSI Alarms + + + MultirotorPage - + Throttle Channel: - + Yaw Channel: - + Pitch Channel: - + Roll Channel: @@ -6255,17 +5920,17 @@ p, li { white-space: pre-wrap; } OptionsPage - + Throttle Cut - + Throttle Timer - + Flight Timer @@ -6288,451 +5953,17 @@ p, li { white-space: pre-wrap; } - - Setup for: - - - - - printed on: %1 - - - - - General Model Settings - - - - - - - - Name - - - - - EEprom Size - - - - - Internal Radio System - - - - - Radio System - - - - - - Protocol - Протокол - - - - Throttle Trim - Газ трим - - - - Enabled - - - - - Disabled - - - - Throttle Expo - Газ экспо - - - - External Radio Module - - - - - Extra Radio System - - - - - Trainer port mode - - - - - Trim Increment - Изм. триммеров - - - - Center Beep - - - - - Flight modes - - - - - Fades - - - - - Trims - Триммеры - - - - Gvars - - - - - Rot.Enc. - - - - - Switch - Тумблер - - - - Flight mode name - - - - - IN - - - - - OUT - - - - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - - - - - - - - FM - - - - - Off - - - - - Inputs - - - - Weight - Вес - - - - Source - Источник - - - - Mixers - - - - Delay(u%1:d%2) - Задержка(u%1:d%2) - - - Slow(u%1:d%2) - Задержка(u%1:d%2) - - - Warn(%1) - Пред(%1) - - - - Limits - Лимиты - - - - - - CH - - - - - - - - - Offset - Смещен. - - - - - - - Min - Мин - - - - - - - Max - Макс - - - - - - Invert - Инверт - - - - - - INV - - - - - - - NOR - - - - - Curves - Кривые - - - - - - Curve - Кривая - - - - pt %1 - - - - - Logical Switches - - - - - L - - - - - Global Variables - - - - - GV - - - - - Special Functions - - - - Function - Функция - - - - Timer%1 - - - - - SF - - - - - - Telemetry Settings - - - - - - Analog - - - - - Range - - - - - - - A%1 - - - - - Alarms - - - - - Low Alarm - - - - - Critical Alarm - - - - - RSSI - - - - - - Blades - - - - - - Alarm 1 - - - - - - Alarm 2 - - - - - Unit - - - - - Scale - - - - - - - - Type - - - - - - - - Condition - - - - - - - - Value - Значение - - - - RSSI Alarm - - - - - Frsky serial protocol - - - - - - Custom Telemetry View - - - - - Telemetry Bars - - - - - Bar Number - - - - + Print Document - + Select PDF output file - + ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) @@ -6765,18 +5996,6 @@ p, li { white-space: pre-wrap; } QObject - - - - FM%1 - FP%1 - - - - - Input%1 - - Polish @@ -6784,8 +6003,6 @@ p, li { white-space: pre-wrap; } - - CH%1 @@ -6866,33 +6083,33 @@ p, li { white-space: pre-wrap; } - - + + --- - + Rud Trim - + Ele Trim - + Thr Trim - + Ail Trim - + Rot Enc @@ -7008,34 +6225,38 @@ p, li { white-space: pre-wrap; } + F1 + F2 + F3 + F4 - + S3 - + Timer3 @@ -7333,7 +6554,6 @@ p, li { white-space: pre-wrap; } - [I%1] @@ -7584,7 +6804,6 @@ p, li { white-space: pre-wrap; } - Unknown @@ -7649,40 +6868,84 @@ p, li { white-space: pre-wrap; } - - repeat + + played once, not during startup - - + + repeat(%1s) + + + + DISABLED + + + INV + + + + + NOR + + Edge - - - + + SetFailsafe Int. Module + + + + + SetFailsafe Ext. Module + + + + + RangeCheck Int. Module + + + + + RangeCheck Ext. Module + + + + + Bind Int. Module + + + + + Bind Ext. Module + + + + + + <font color=red><b>Inconsistent parameter</b></font> - + Value - + Decr: - + Incr: @@ -7702,32 +6965,32 @@ p, li { white-space: pre-wrap; } - + Rotary Encoder - + Value Значение - + Source Источник - + GVAR - + Increment - + Flight @@ -7737,278 +7000,86 @@ p, li { white-space: pre-wrap; } - + !Flight mode %1 - + Flight mode %1 - + Flight mode %1 value - + Yellow - + Orange - + Red - + Winged Shadow How High - + Winged Shadow How High (not supported) - + FrSky Sensor Hub - + None - + Imperial - + Metric - - - Extra Fine - очень точно - - - - Fine - точно - - - - Medium - средне - - - - Coarse - грубо - - - - %1:%2 - - - - - , Persistent - - - - - , MinuteBeep - - - - - , CountDown(Beeps) - - - - - , CountDown(Voice) - - - - - - : Channel start: %1, %2 Channels, %3usec Delay, Pulse polarity %4 - - - - - : Channel start: %1, %2 Channels - - - - - Slave/Jack - - - - - Master/SBUS Module - - - - - Master/CPPM Module - - - - - Master/SBUS in battery compartment - - - - - Master/Jack - - - - - Exponential - экспонента - - - Count Up - Прямой отсчет - - - Count Down - Обратный отсчет - - - - Rudder - Руддер - - - - Elevator - Элеватор - - - - Throttle - Газ - - - - Aileron - Элероны - - + Timer1 - + Timer2 - - - Weight - Вес - - - - - Switch - Тумблер - - - - - NoTrim - - - - - No DR/Expo - - - - - Offset - Смещен. - - - - Delay - Задержка - - - - Slow - Замедлен. - - - - Warn - - - - - Flight modes - - - - - Flight mode - - - - - Edge(%1, [%2:%3]) - - - - - Sticky(%1, %2) - - - - - Timer(%1, %2) - - - - - Duration (%1s) - - - - - Delay (%1s) - - - - + Telemetry - + Own value @@ -8029,7 +7100,7 @@ p, li { white-space: pre-wrap; } - + -GV%1 @@ -8037,28 +7108,28 @@ p, li { white-space: pre-wrap; } - + ---- - - + + P1 - - + + P2 - - + + P3 @@ -8069,39 +7140,39 @@ p, li { white-space: pre-wrap; } - + Rud - + Ele - + Thr - + Ail - + REa - + REb @@ -8189,7 +7260,8 @@ p, li { white-space: pre-wrap; } - + + S1 @@ -8200,14 +7272,13 @@ p, li { white-space: pre-wrap; } - + V - - + s @@ -8293,21 +7364,24 @@ p, li { white-space: pre-wrap; } - + + S2 - + + LS - + + RS @@ -8496,13 +7570,12 @@ p, li { white-space: pre-wrap; } - + GV%1 - - + THR @@ -8521,531 +7594,553 @@ p, li { white-space: pre-wrap; } ВЫКЛ - - + + Support for frsky telemetry mod - - + + Support for jeti telemetry mod - - + + Support for receiving ardupilot data - - + + Support for receiving NMEA data - + Support for telemetry easy board - - + + Support for MAVLINK devices - + Rotary Encoder use in menus navigation - - - - - - + + + + + + Enable heli menu and cyclic mix support - - - - - - - - + + + + + + + + + Enable TEMPLATES menu - - - - + + + + No splash screen - - - - - - - - + + + + + + + + + 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 - + Channel values displayed in us - - - - - - - - + + + + + + + + + In model setup menus automatically set source by moving the control - - - - - - - - + + + + + + + + + In model setup menus automatically set switch by moving the control - + Use alternative SQT5 font - + (displaying only first 10 warnings) - + Possibility to enable FAI MODE (no telemetry) at field - + FAI MODE (no telemetry) always enabled - + + + + Support for a third timer - - Removes D8 and LR12 FrSky protocols that are not legal for use in the EU on radios sold after Jan 1st, 2015 - - - - - Support for PPM internal module hack - - - - - ST7565P LCD or compatible - - - - - ST7565R LCD or compatible - - - - - ERC12864FSF LCD - - - - - ST7920 LCD - - - - - 9X board - - - - - - - - Enable the throttle trace in Statistics - - - - - EEprom write progress bar - - - - - - 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 - - - - - - Add support for reversing stick inputs (e.g. needed for FrSky gimbals) - - - - - Power management by soft-off circuitry - - - - - 9XR-PRO - - - - - FrSky Taranis - - - - - FrSky Taranis Plus - - - - - FrSky Taranis X9E - - - - - Confirmation before radio shutdown - - - - - - Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views - - - - - Haptic module installed - - - - - Support for Lua model scripts - - - - - No Joystick emulation inside the FW (only Mass Storage as in the Bootloader) - - - - - - Support of FrSky PXX protocol - - - - - Disable HELI menu and cyclic mix support - - - - - Disable Global variables - - - - - - - - Support for DSM2 modules + Instead of Joystick emulation, USB connection is Mass Storage (as in the Bootloader) - - - - - - - - - PPM center adjustment in limits + + Instead of Joystick emulation, USB connection is Command Line Interface - - - - - - - - Symetrical Limits + Removes D8 and LR12 FrSky protocols that are not legal for use in the EU on radios sold after Jan 1st, 2015 - - - - - - - Pots use in menus navigation - - - - - Your radio probably uses a wrong firmware, - eeprom size is 4096 but only the first 2048 are used - - - - - No OverrideCH functions available - - - - - - - - - - - - No flight modes - - - - - - SmartieParts 2.2 Backlight support - - - - - - - - - Enable resetting values by pressing up and down at the same time - - - - - - - - - - - - No graphical check boxes and sliders + + Support for PPM internal module hack - - - - - - - - Battery graph + ST7565P LCD or compatible - - - - - - - - Don't use bold font for highlighting active items + ST7565R LCD or compatible - - - - - - EEprom write Progress bar + + ERC12864FSF LCD - - - - - - - Imperial units + + ST7920 LCD - - M128 / 9X board + + 9X board + + + + + + + + Enable the throttle trace in Statistics + + + + + EEprom write progress bar - 9XR + + No Winged Shadow How High support - - 9XR with M128 chip + + + No vario support - - Gruvin9x board / 9X + + + No GPS support - - MEGA2560 board + + + No gauges in the custom telemetry screen - - Sky9x board / 9X + + Allow compensating for offset errors in FrSky FAS current sensors - - - Bluetooth interface + + + Add support for reversing stick inputs (e.g. needed for FrSky gimbals) + + + + + Power management by soft-off circuitry + + + + + ar9x board / 9X + + + + + 9XR-PRO + + + + + FrSky Taranis + + + + + FrSky Taranis Plus + + + + + FrSky Taranis X9E + + + + + Confirmation before radio shutdown - - - - - - + + Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views + + + + + Haptic module installed + + + + + Support for Lua model scripts + + + + + + Support of FrSky PXX protocol + + + + + Disable HELI menu and cyclic mix support + + + + + Disable Global variables + + + + + + + + + Support for DSM2 modules + + + + + + + + + + + + + PPM center adjustment in limits + + + + + + + + + + + + Symetrical Limits + + + + + + + + + + + Pots use in menus navigation + + + + + No OverrideCH functions available + + + + + + + + + + + + + No flight modes + + + + + + SmartieParts 2.2 Backlight support + + + + + + + + + + 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 + + + + + + + + + EEprom write Progress bar + + + + + + + + + + Imperial units + + + + + M128 / 9X board + + + + + 9XR + + + + + 9XR with M128 chip + + + + + Gruvin9x board / 9X + + + + + MEGA2560 board + + + + + Sky9x board / 9X + + + + + + + Bluetooth interface + + + + + + + + + + + + Global variables - - + + Support for SD memory card - + Support for DSM2 modules using ppm instead of true serial - - + + + Enable HELI menu and cyclic mix support - - + + Warning Звук - + EEPROM saved with these warnings: - + Simulator for this firmware is not yet available @@ -9055,63 +8150,63 @@ p, li { white-space: pre-wrap; } - + Source %1 cannot be exported on this board! - + OpenTX only accepts %1 points in all curves - + OpenTx only accepts %1 points in all curves - - - + + - + + OpenTX on this board doesn't accept this function - + OpenTX doesn't accept this telemetry protocol - - - + + + OpenTX doesn't accept this radio protocol - + OpenTX doesn't allow this number of channels - + Trim disabled - + Own Trim - + Use Trim from Flight mode %1 - + Use Trim from Flight mode %1 + Own Trim as an offset @@ -9143,15 +8238,21 @@ The OpenTX Team. - + + + - Synchronization error - + + No SD directory configured! + + + + No Radio connected! @@ -9161,33 +8262,33 @@ The OpenTX Team. - + -%1 + - The directory '%1' doesn't exist! - + Create '%1' failed - + Copy '%1' to '%2' failed - + Open '%1' failed - + Write '%1' failed @@ -9221,16 +8322,6 @@ The OpenTX Team. Could not delete temporary file: %1 - - - Positive - - - - - Negative - - Radio type @@ -9279,17 +8370,17 @@ The OpenTX Team. RudderPage - + No - + Yes - + <br>Rudder Channel: @@ -9297,152 +8388,157 @@ The OpenTX Team. Setup - + Center beep Бип в центре - + OFF ВЫКЛ - + Model Image - + Exponential экспонента - + Throttle Trim Idle Only - + Extra Fine очень точно - + Fine точно - + Medium средне - + Coarse грубо - + Display Checklist - + Timer 2 - + Timer 1 - + Timer 3 - + Never - + + Top LCD Timer + + + + On change - + Always - + Global Functions - + Throttle Source - + Trim Step - + Trims Display - + Warnings - + Switch Warnings - + Pot Warnings - + Manual - + Auto - + Model - + Extended Limits Расш. лимиты - + Extended Trims - + 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. @@ -9450,15 +8546,23 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Реверсировать канал газа (а также триммеры и предупреждения) - + Reverse Throttle + + SetupPanel + + + Timer %1 + + + SimpleTailPage - + Elevator Channel: @@ -9633,10 +8737,44 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi + + SplashLibraryDialog + + + + ... + + + + + Splash Library - page %1 of %2 + + + + + Warning + Звук + + + + Invalid image in library %1 + + + + + Information + + + + + No valid image found in library, check your settings + + + StandardPage - + Channel %1 @@ -9644,25 +8782,24 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi SyncProcess - + + %1/%2 files + + + + Create directory %1 - + Copy %1 to %2 - - Read %1 - - - - - + Write %1 @@ -9671,35 +8808,40 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TailPage - + Rudder Channel: - + Elevator Channel: + + + Only one channel still available!<br>You probably should configure your model without using the wizard. + + TailSelectionPage - + Elevator and Rudder - + Only Elevator - + V-tail - + Tail Type: @@ -9707,96 +8849,96 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Telemetry - + A1 - + A2 - + RSSI - + Alarm 1 - - + + ---- - - + + Yellow - - + + Orange - - + + Red - + Alarm 2 - + Center Silent - + Altitude source - + Volts source - + Top Bar - + Serial Protocol - + Sensors - + Disable multi sensor handling - + Volt source - + Current source @@ -9806,82 +8948,82 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Протокол - + None - + FrSky Sensor Hub - + Blades - + Sink Max - + Climb Max - + Sink Min - + Climb Min - + Vario source - + Vario limits - + Altimetry - + mAh - + A - + Various - + mAh count - + FAS Offset - + Persistent mAh @@ -9995,17 +9137,7 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - - Low Alarm - - - - - Critical Alarm - - - - + Range @@ -10018,22 +9150,22 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + None - + Numbers - + Bars - + Script @@ -10061,99 +9193,99 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TelemetryPanel - + FrSky S.PORT - + FrSky D - + FrSky D (cable) - + Telemetry screen %1 - + Low Alarm - + Critical Alarm - + Winged Shadow How High - + Winged Shadow How High (not supported) - + Alti - + Alti+ - + VSpeed - - - + + + A1 - - - + + + A2 - - + + A3 - - + + A4 - - + + FAS - + Cells - + --- @@ -10259,7 +9391,107 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - Amps Sensor : + Sensor : + + + + + V + + + + + A + + + + + mA + + + + + kt + + + + + m/s + + + + + ft/s + + + + + km/h + + + + + mph + + + + + m + + + + + ft + + + + + °C + + + + + °F + + + + + % + + + + + mAh + + + + + W + + + + + dBm + + + + + g + + + + + ° + + + + + mL + + + + + US fl.Oz. @@ -10267,111 +9499,11 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Raw (-) - - - Voltage (V) - - - - - Current (A) - - - - - Current (mA) - - - - - Speed (kts) - - - - - Speed (m/s) - - - - - Speed (ft/s) - - - - - Speed (km/h) - - - - - Speed (miles/h) - - - - - Meters (m) - - - - - Feet (ft) - - - - - Temp (°C) - - - - - Temp (°F) - - - - - Percentage (%) - - - - - Energy (mAh) - - - - - Power (W) - - - - - RF Power (dBm) - - RPM - - - Acceleration (g) - - - - - Heading (°) - - - - - Volume (mL) - - - - - Volume (US fl.Oz.) - - Precision @@ -10426,22 +9558,22 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TelemetrySensorPanel - + Lowest - + Cell %1 - + Highest - + Delta @@ -10654,7 +9786,17 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + + Instance + + + + + 2 + + + + <html><head/><body><p>Start with <span style=" font-style:italic;">0x</span> for hex, <span style=" font-style:italic;">0</span> for octal, otherwise decimal.<br/>Numeric entry only. Blank values are not sent.</p></body></html> @@ -10662,17 +9804,17 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi ThrottlePage - + Yes - + No - + <br>Throttle Channel: @@ -10693,32 +9835,37 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi TimerPanel - + Silent - + Beeps - + Voice - - Not persistent - - - - - Persistent (flight) + + Haptic + Not persistent + + + + + Persistent (flight) + + + + Persistent (manual reset) @@ -10857,12 +10004,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi VTailPage - + First Tail Channel: - + Second Tail Channel: @@ -10870,12 +10017,12 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi WingtypeSelectionPage - + Standard Wing - + Flying Wing / Deltawing @@ -11157,63 +10304,41 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi WizardPrinter - + Plane - + Multicopter - + Helicopter - + Model Name: - + Model Type: - + Options: - + Channel %1: - - appPreferencesDialog - - Default Stick Mode - Режим стиков - - - General Settings - Основные настройки - - - Default Channel Order - Порядок следов. каналов - - - - avrOutputDialog - - Error - Ошибка - - burnConfigDialog @@ -11423,125 +10548,6 @@ m2560 for v4.1 boards - - burnDialog - - Warning - Звук - - - Unable to find file %1! - Невозможно найти файл %1! - - - Error reading file %1: -%2. - Ошибка при считывании файла %1: -%2. - - - Cannot write file %1: -%2. - Не удается записать файл %1: -%2. - - - Error writing file %1: -%2. - Ошибка при записи файла %1: -%2. - - - Error - Ошибка - - - - compareDialog - - Protocol - Протокол - - - Throttle Trim - Газ трим - - - Throttle Expo - Газ экспо - - - Trim Increment - Изм. триммеров - - - Trims - Триммеры - - - Switch - Тумблер - - - Limits - Лимиты - - - Offset - Смещен. - - - Min - Мин - - - Max - Макс - - - Invert - Инверт - - - Weight - Вес - - - Curve - Кривая - - - Delay(u%1:d%2) - Задержка(u%1:d%2) - - - Slow(u%1:d%2) - Задержка(u%1:d%2) - - - Curves - Кривые - - - Function - Функция - - - Value - Значение - - - Source - Источник - - - - contributorsDialog - - Dialog - Диалог - - customizeSplashDialog @@ -11690,17 +10696,6 @@ m2560 for v4.1 boards - - fusesDialog - - Fuses - Фьюзы - - - Read Fuses - Считать фьюзы - - joystickDialog @@ -11923,19 +10918,6 @@ Press cancel to abort joystick calibration - - logsDialog - - Error - Ошибка - - - Cannot write file %1: -%2. - Не удается записать файл %1: -%2. - - mdiChild @@ -11951,26 +10933,6 @@ Press cancel to abort joystick calibration Preferences Настройки - - Default Channel Order - Порядок следов. каналов - - - Default Stick Mode - Режим стиков - - - Channel order - -This is used by the templated to determine which channel goes to what number output. - Порядок каналов - -Шаблон для определения порядка следования каналов. - - - Check for updates on startup - Проверять обновления - @@ -12080,121 +11042,4 @@ This is used by the templated to determine which channel goes to what number out - - printDialog - - Dialog - Диалог - - - Protocol - Протокол - - - Throttle Trim - Газ трим - - - Throttle Expo - Газ экспо - - - Trims - Триммеры - - - Trim Increment - Изм. триммеров - - - Delay(u%1:d%2) - Задержка(u%1:d%2) - - - Slow(u%1:d%2) - Задержка(u%1:d%2) - - - Source - Источник - - - Function - Функция - - - Switch - Тумблер - - - Weight - Вес - - - Curve - Кривая - - - Offset - Смещен. - - - Limits - Лимиты - - - Min - Мин - - - Max - Макс - - - Invert - Инверт - - - Curves - Кривые - - - Value - Значение - - - - SplashLibraryDialog - - - - ... - - - - - Splash Library - page %1 of %2 - - - - - Warning - Звук - - - - Invalid image in library %1 - - - - - Information - - - - - No valid image found in library, check your settings - - - diff --git a/companion/src/translations/companion_sv.ts b/companion/src/translations/companion_sv.ts index 6de88b9a8..56e6b5141 100644 --- a/companion/src/translations/companion_sv.ts +++ b/companion/src/translations/companion_sv.ts @@ -457,7 +457,7 @@ Behöver inte vara samma som menyspråk Backup folder - + Folder för säkerhetskopiering If set it will override the application general setting @@ -469,15 +469,15 @@ Behöver inte vara samma som menyspråk Simulator Volume Gain - + Simulatorns Volymförstärkning Use OpenTX firmware nightly builds - + Använd OpenTX nattliga byggningar Use Companion nightly builds - + Använd Companions nattliga byggningar @@ -502,22 +502,6 @@ Behöver inte vara samma som menyspråk 3 - Högt. 4 - Extra högt. - - None - Ingen - - - Pot with detent (normal) - Ratt med mittklick (normal) - - - Multipos Switch - Flerlägesväljare - - - Pot without detent - Ratt utan mittklick - RS RS @@ -530,26 +514,6 @@ Behöver inte vara samma som menyspråk Serial Port Serieport - - Default - Default - - - 2POS Toggle - 2-Läges-brytare - - - 2POS - 2-Läges - - - 3POS - 3-Läges - - - 2x2POS - 2x2-Läges - OFF Av @@ -626,10 +590,6 @@ Behöver inte vara samma som menyspråk Stick 4 Spak 4 - - Battery - Batteri - v v @@ -646,10 +606,6 @@ Behöver inte vara samma som menyspråk PPM 4 PPM 4 - - Current - Spänning - S1 S1 @@ -732,34 +688,42 @@ Behöver inte vara samma som menyspråk SQ - + SQ SR - + SR LS2 - + LS2 SP - + SP SO - + SO S4 - S4 + S4 RS2 - + RS2 Bluetooth + Blåtand + + + Battery Offset + + + + Current Offset @@ -767,35 +731,35 @@ Behöver inte vara samma som menyspråk CalibrationPanel None - Ingen + Ingen 2 Positions Toggle - + 2-Läges-brytare 2 Positions - + 2 Lägen 3 Positions - + 3 Lägen Pot with detent - + Ratt med mittklick Multipos switch - + Flerlägesväljare Pot without detent - Ratt utan mittklick + Ratt utan mittklick Slider with detent - + Skjutpot med mittklick @@ -875,282 +839,6 @@ Behöver inte vara samma som menyspråk No name Inget namn - - General Model Settings - Generella modell-inställningar - - - Name - Namn - - - EEprom Size - Storlek på modelldata - - - Timer1 - Timer1 - - - Timer2 - Timer2 - - - Protocol - Protokoll - - - Pulse Polarity - Pulspolaritet - - - Throttle Trim - Gastrim - - - Enabled - Aktiv - - - Disabled - Inaktiv - - - Trim Increment - Trimökning - - - Center Beep - Centrumpip - - - Flight modes Settings - Inställningar för flyglägen - - - Fades - Toningar - - - Trims - Trimmar - - - Switch - Brytare - - - Flight mode name - Namn på flygläget - - - IN - IN - - - OUT - UT - - - FM - FM - - - Gvars - Gvars - - - Rot. Enc. - Inm.Hjul. - - - Limits - Gränser - - - Offset - Offset - - - Min - Min - - - Max - Max - - - Invert - Invertera - - - CH - KN - - - INV - INV - - - NOR - NOR - - - Global Variables - Globala Variabler - - - GV - GV - - - Expo/Dr Settings - Inställningar förExpo/DR - - - Weight - Vikt - - - Flight modes - Flyglägen - - - Flight mode - Flygläge - - - DISABLED - INAKTIV - - - Mixers - Mixar - - - noTrim - ingenTrim - - - Delay(u%1:d%2) - Fördröjning(u%1:d%2) - - - Slow(u%1:d%2) - Tröghet(u%1:d%2) - - - Warn - Varn - - - Curves - Kurvor - - - 5 Point Curves - 5-punktskurva - - - pt %1 - pt %1 - - - Curve - Kurva - - - 9 Point Curves - 9-punktskurvor - - - Logical Switches - Logiska Brytare - - - Special Functions - Specialfunktioner - - - Function - Funktion - - - Param - Param - - - Repeat - Upprepa - - - Enable - Aktivera - - - SF - SF - - - Telemetry Settings - Inställningar för Telemetri - - - Analog - Analog - - - Unit - Enhet - - - Scale - Skala - - - A%1 - A%1 - - - Alarm 1 - Alarm 1 - - - Alarm 2 - Alarm 2 - - - Type - Typ - - - Condition - Villkor - - - Value - Värde - - - RSSI Alarm - RSSI-alarm - - - Custom Telemetry View - Egna inställning av telemetriskärmen - - - Telemetry Bars - Telemetri-staplar - - - Bar Number - Stapelnummer - - - Source - Källa - Print Document Skriv dokument @@ -1159,38 +847,6 @@ Behöver inte vara samma som menyspråk Select PDF output file Välj PDF-fil att skriva till - - L%1 - LB%1 - - - Internal Radio System - Intern Radosändare - - - Radio System - Radiosystem - - - External Radio Module - Extern Sändarmodul - - - Extra Radio System - Ytterligare Radiosystem - - - Trainer port mode - - - - Inputs - Inputs - - - L - L - ConclusionPage @@ -1203,34 +859,34 @@ Behöver inte vara samma som menyspråk ContributorsDialog OpenTX Contributors - + Bidragande till OpenTX Main Developers - + Huvudutvecklare Other contributors - + Andra Bidragande Companies and projects who have donated to OpenTX - + Företag och projekt som donerat till OpenTX People who have donated to OpenTX - + Människor som har donerat till OpenTX Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) - All ära åt Rafal Tomczak (RadioClone), Thomas Husterer (th9x) och Erez Raviv (er9x and eePe) - - - Thank you all !!! - Tack till er alla !!! + All ära åt Rafal Tomczak (RadioClone), Thomas Husterer (th9x) och Erez Raviv (er9x and eePe) monthly + månatligen + + + OpenTX Blacklist @@ -1362,10 +1018,6 @@ Behöver inte vara samma som menyspråk Symmetrical f(x)=f(-x) Symmetrisk f(x)=f(-x) - - Are you sure you want to reset curve %1 ? - Vill du verkligen nollställa kurvan %1 ? - Editing curve %1 Redigera kurvan %1 @@ -1376,27 +1028,27 @@ Behöver inte vara samma som menyspråk Copy - + Kopiera Paste - + Lista In Clear - + Ta Bort Clear all curves - + Ta bort alla kurvor Are you sure you want to reset curve %1? - + Är du säker på att du vill ta bort kurva %1? Are you sure you want to reset all curves? - + Är du säker på att du vill ta bort alla kurvor? @@ -1496,6 +1148,79 @@ Behöver inte vara samma som menyspråk Debugutgång + + EepromInterface + + Possible causes for this: + + + + - Eeprom is from a newer version of OpenTX + + + + - Eeprom is not from OpenTX + + + + - Eeprom is not from Th9X + + + + - Eeprom is not from Gruvin9X + + + + - Eeprom is not from ErSky9X + + + + - Eeprom is not from Er9X + + + + - Eeprom size is invalid + + + + - Eeprom file system is invalid + + + + - Eeprom is from a unknown board + + + + - Eeprom is from the wrong board + + + + - Eeprom backup not supported + + + + - Something that couldn't be guessed, sorry + + + + Warning: + + + + - Your radio probably uses a wrong firmware, + eeprom size is 4096 but only the first 2048 are used + + + + - Your eeprom is from an old version of OpenTX, upgrading! + You should 'save as' to keep the old file as a backup. + + + + Warnings! + + + ElevonsPage @@ -1507,137 +1232,6 @@ Behöver inte vara samma som menyspråk Andra roderkanalen: - - Er9x::Templates - - V-Tail - V-stjärt - - - THR - GAS - - - Clear Mixes? - Ta bort mixarna? - - - Simple 4-CH - - - - T-Cut - - - - Sticky T-Cut - - - - Elevon\Delta - - - - Heli Setup - - - - Heli Setup with gyro gain control - - - - Gyro gain control - - - - Heli Setup (Futaba's channel assignment style) - - - - Heli Setup with gyro gain control (Futaba's channel assignment style) - - - - Gyro gain control (Futaba's channel assignment style) - - - - Servo Test - - - - MultiCopter - - - - Use Model Config Wizard - - - - Apply Template? - - - - Apply template "%1"? - - - - RUD - - - - ELE - - - - AIL - - - - AIL2 - - - - ELE2 - - - - FLAPS - - - - FLAP%1 - - - - PITCH - - - - GYRO - - - - SPOIL - - - - SPOIL%1 - - - - RUD2 - - - - Really clear existing mixes on CH6? - - - - Really clear existing mixes on CH5? - - - ExpoDialog @@ -1730,22 +1324,6 @@ Om fältet lämnas tomt så är raden aktivt hela tiden. Edit %1 Redigera %1 - - Rud - Rod - - - Ele - Hjd - - - Thr - Gas - - - Ail - Ske - FblPage @@ -1908,10 +1486,6 @@ Behöver inte vara samma som menyspråk Fel vid inläsning från filen %1: %2. - - Invalid binary Models and Settings File %1 - Den binära filen innehåller inte Modeller och Inställningar: %1 - Warning Varning @@ -1950,7 +1524,7 @@ Behöver inte vara samma som menyspråk Invalid Models and Settings file %1 - + Filen innehåller inte Modeller och Inställningar: %1 @@ -2168,17 +1742,19 @@ Du använder för närvarande: unknown - + okänd Your radio does not seem connected to USB or the driver is not installed!!! Please use ZADIG to properly install the driver. - + Din radio verkar inte vara ansluten via USB eller så är USB-drivrutinen inte installerad!!! + +Använd Zadig för att installera drivrutinen. Your radio does not seem connected to USB or the driver is not initialized!!!. - + Din radio verkar inte vara ansluten via USB eller så är USB-drivrutinen inte startad!!!. @@ -2202,22 +1778,6 @@ Please use ZADIG to properly install the driver. FlightModePanel - - Rud - Rod - - - Ele - Hjd - - - Thr - Gas - - - Ail - Ske - Rotary Encoder %1 Inmatningshjul %1 @@ -2418,10 +1978,6 @@ Dessa inställningar gäller för alla modeller. Setup Välj Sändarens Startbild - - Calibration - Kalibrering - Trainer Elev @@ -2460,7 +2016,7 @@ Dessa inställningar gäller för alla modeller. Hardware / Calibration - + Hårdvara / Kalibrering @@ -2905,10 +2461,6 @@ p, li { white-space: pre-wrap; } Stick Mode Spak-tilldelning - - Stick reverse (order as above) - Invertera Spakar - Default Channel Order Kanalordning @@ -3088,27 +2640,27 @@ brytare Stick reverse - + Inverterad spak Adjust RTC - + Justera RTC Min - Min + Min v - v + v Max - Max + Max Battery Meter Range - + Batterimätarens Mätområde @@ -3187,21 +2739,13 @@ FAI-funktionen kan inte slås av i sändaren. Swash Ring Swashring - - Elevator - Höjdroder - - - Aileron - Skevroder - Long. cyc - + Long. cyc Lateral cyc - + Lateral cyc @@ -3245,26 +2789,6 @@ FAI-funktionen kan inte slås av i sändaren. Clear All Inputs Nollställ alla inputs - - Offset(%1) - Offset(%1) - - - Source(%1) - Källa(%1) - - - Weight(%1) - Vikt(%1) - - - NoTrim - EjTrim - - - Switch(%1) - Brytare(%1) - Not enough available inputs! För få inputs är tillgängliga! @@ -3413,123 +2937,123 @@ FAI-funktionen kan inte slås av i sändaren. LogsDialog Companion Log Viewer - Companion Logg-läsare + Companion Logg-läsare Filename - Filnamn + Filnamn Open LogFile - Öppna Loggfil + Öppna Loggfil Zoom - Zoom + Zoom X - X + X Y - Y + Y Reset - Nollställ + Nollställ Fly sessions - Flygningar + Flygningar Telemetry logs - Telemetriloggar + Telemetriloggar Time (hh:mm:ss) - Tid + Tid Plot Title Change - + Ändra Plottitel New plot title: - + Ny plottitel: Axis Label Change - + Ändra Axelnamn New axis label: - + Nytt axelnamn: Graph Name Change - + Ändra Grafnamn New graph name: - + Nytt grafnamn: Error: no GPS data not found - + Fel: GPS-data saknas The column containing GPS coordinates must be named "GPS". The columns for altitude "GAlt" and for speed "GSpd" are optional - + Kolumnen för GPS-koordinater måste heta "GPS". Kolumnerna för höjd (GAlt) och hastighet (GSpd) är valfria Error - Fel + Fel Cannot write file %1: %2. - Filen %1 kunde inte skrivas: + Filen %1 kunde inte skrivas: %2. Select your log file - Välj loggfil + Välj loggfil Available fields - Tillgängliga fält + Tillgängliga fält The selected logfile contains %1 invalid lines out of %2 total lines - Denn aktuella filen innehåller %1 felaktiga rader. Totalt innehåller filen %2 rader + Denn aktuella filen innehåller %1 felaktiga rader. Totalt innehåller filen %2 rader total duration - + Totaltid duration - + tid (L1) - + (L1) (R1) - + (R1) (L2) - + (L2) (R2) - + (R2) @@ -3610,22 +3134,6 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt Read/Write Läs/Skriv - - Conversion failed - Konverteringen misslyckades - - - Restore failed - Återställningen misslyckade - - - Backup failed - Säkerhetskopieringen misslyckades - - - OpenTX Companion - FW: %1 - Profile: %2 - OpenTX Companion - FW: %1 - Profil: %2 - Edit Settings Redigera Inställningar @@ -3730,12 +3238,6 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt Error Fel - - Cannot write file %1: -%2. - Filen %1 kunde inte skrivas: -%2. - New release available En ny version finns tillgänglig @@ -3762,10 +3264,6 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt Compare models Jämför modeller - - Backup is impossible - Säkerhetskopiering kan inte utföras - A new release of Companion is available, please check the OpenTX website! En ny version av Companion finns tillgänglig. Var god kontrollera OpenTX webbsida! @@ -3774,14 +3272,6 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt Not enough memory for all the selected firmware options Firmware får inte plats i radion eftersom alltför många funktioner är valda samtidigt - - The backup dir set in preferences does not exist - Foldern för säkerhetskopior existerar inte - - - Warning - Varning - Alt+S Alt+S @@ -3863,16 +3353,6 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt New Radio Ny Radio - - Unable to find file %1! - Kan inte hitta filen %1 ! - - - Error reading file %1: -%2. - Fel vid inläsning från filen %1: -%2. - Load backup from file Ladda backup från fil @@ -3905,10 +3385,6 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt The selected language will be used the next time you start Companion. Språket som valts kommer att användas nästa gång Companion startas. - - OK - OK - The new theme will be loaded the next time you start Companion. De nya ikonerna kommer att användas nästa gång Companion startas. @@ -3929,26 +3405,6 @@ The columns for altitude "GAlt" and for speed "GSpd" are opt Current firmware does not provide release notes informations. Den firmware som valts har inga release notes. - - The file %1 -has not been recognized as a valid Models and Settings file -Write anyway ? - Innehållet i filen %1 -kunde inte verifieras som giltiga data för Modeller och Inställningar -Starta skrivningen i alla fall ? - - - 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? - - - Cannot convert Models and Settings for use with this firmware, original data will be used - Modeller och Inställningar kan inte översättas till denna firmware. Ingen information uppdateras - - - Firmware write failed - Skrivningen av firware misslyckades - About Companion Om Companion @@ -3965,26 +3421,6 @@ Starta skrivningen i alla fall ? Do you want to write the firmware to the radio now ? Vill du skriva firmware till radion nu? - - Firmware %1 does not seem to have ever been downloaded. -Release %2 is available. -Do you want to download it now? - Firmware %1 tycks aldrig ha laddats ned. -Version %2 finns tillgänglig. -Vill du ladda ned den nu ? - - - A new version of %1 firmware is available: - - current is %2 - - newer is %3 - -Do you want to download it now ? - En ny version finns tillgänglig av %1 fimware: - - Din version %2 - - Ny version %3 - -Vill du ladda ned den nya versionen nu ? - Ignore this release %1? Hoppa över den här versionen (%1) ? @@ -3993,58 +3429,10 @@ Vill du ladda ned den nya versionen nu ? Read Models and Settings From Radio Läs Modeller och Inställningar från radion - - Write Radio Backup from %1 to the radio? - Skriv Backup från %1 till radion? - - - Backup Models and Settings From Radio - Gör Backup av radiodata - - - The radio firmware belongs to another product family, check file and preferences! - Sändarens firmware är av en annan typ än den aktuella. Kontrollera konfigurationen! - - - The radio firmware is outdated, please upgrade! - Firmware i radion är föråldrad. Var god uppgradera! - - - Write Backup To Radio - Skriv Backup till radion - - - Write Firmware To Radio - Skriv firmware till radion - - - Read Firmware From Radio - Läs firmware från radion - - - Restore Models and Settings To Radio - Återställ Backup till radion - - - Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - Det gick inte att återställa Backupen till radion. Filen kan hittas här: %1 - - - Could not write firmware to radio. The models and settings data file can be found at: %1 - Det gick inte att skriva firmware till radion. Filen med Modeller och Inställningar finns här: %1 - - - Cannot backup existing Models and Settings from Radio. Firmware write process aborted - Skrivningen av firmware avbröts därför att det inte gick att göra en Backup av radion - Save Radio Backup to File Spara radiobackup till fil - - Read Radio Backup - Spara radiobackup - Read Radio Firmware to File Spara radiobackup till fil @@ -4289,18 +3677,6 @@ Vill du ladda ned den nya versionen nu ? Radio Profile Radioprofil - - 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 - - - Could not delete temporary file: %1 - Det gick inte att ta bort temporärfilen: %1 - Synchronize SD Synkronisera SD-kort @@ -4315,7 +3691,11 @@ Release %2 is available. Do you want to download it now? We recommend you view the release notes using the button below to learn about any changes that may be important to you. - + Programvaran %1 för radion verkar inte ha laddats ned. +Version %2 finns tillgänglig. +Vill du ladda ned den nu? + +Vi rekommenderar att du använder knappen nedan för att ta del av de senaste förändringarna och bedöma om de är viktiga för dig. A new version of %1 firmware is available: @@ -4325,23 +3705,29 @@ We recommend you view the release notes using the button below to learn about an Do you want to download it now? We recommend you view the release notes using the button below to learn about any changes that may be important to you. - + En ny programvaruversion för radion finns tillgänglig (%1): + - installerad version %2 + - ny version %3 + +Vill du ladda ned den nya versionen nu? + +Vi rekommenderar att du använder knappen nedan för att ta del av de senaste förändringarna och bedöma om de är viktiga för dig. Spanish - Spanska + Spanska Use Spanish in menus - + Använd Spanska i menyerna Companion - Companion + Companion OpenTX Companion %1 - Radio: %2 - Profile: %3 - + OpenTX Companion %1 - Radio: %2 - Profil: %3 @@ -4408,41 +3794,13 @@ Vill du spara förändringarna? Cannot write temporary file! En temporär fil kunde inte skrivas! - - Backup is impossible - Säkerhetskopierin kan ej utföras - Companion Companion - - The backup dir set in preferences does not exist - Den katalog som konfigurerats för säkerhetskopiering existerar inte - - - Backup EEPROM From Radio - Gör Backup av radions innehåll - - - Cannot check eeprom compatibility! Continue anyway? - Det går inte att veriifiera att modelldata är kompatibla. Fortsätt i alla fall? - Warning - Varning - - - Firmware in radio is of a different family of eeprom written, check file and preferences! - sändarens firmware är av en annan typ än den aktuella. Kontrollera konfigurationen! - - - Firmware in flash is outdated, please upgrade! - Firmware i flashminnet är föråldrat. Var god uppgradera! - - - Write EEPROM To Radio - Skriv EEPROM till radion + Varning Open backup Models and Settings file @@ -4568,30 +3926,6 @@ Anger hur mixervärden påverkar kanalen. Up Upp - - <!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 and 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;">Fördröjning och Tröghet</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;">Dessa värden kontrollerar fördröjning och tröghet i utdata till mixern. </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;">Om Fördröjningen inte är noll kommer påverkan på mixen att fördröjas med det angivna antelet sekunder.</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;">Om Tröghet inte är noll kommer hastigheten i förändringar att begränsas av det angivna värdet -&gt; värdet specificerar det antal sekunder det tar att gå från fullt negativt utslag (-100) till fullt positivt utslag(100).</p></body></html> - Down Ned @@ -4608,22 +3942,6 @@ p, li { white-space: pre-wrap; } DEST -> CH%1 DEST -> KN%1 - - Rud - Rod - - - Ele - Hjd - - - Thr - Gas - - - Ail - Ske - Name Namn @@ -4687,38 +4005,6 @@ p, li { white-space: pre-wrap; } Clear Mixes Nollställ mixarna - - Weight(%1) - Vikt(%1) - - - Switch(%1) - Brytare(%1) - - - NoTrim - EjTrim - - - No DR/Expo - Ingen DR/Expo - - - Offset(%1) - Offset(%1) - - - Delay(u%1:d%2) - Fördröjning(u%1:d%2) - - - Slow(u%1:d%2) - Tröghet(u%1:d%2) - - - Warn(%1) - Varn(%1) - Not enough available mixers! För få mixar är tillgängliga! @@ -4745,7 +4031,7 @@ p, li { white-space: pre-wrap; } &Toggle highlight - Slå om markering + &Slå om markering &Delete @@ -4769,7 +4055,7 @@ p, li { white-space: pre-wrap; } C&ut - Klipp Ut + &Klipp Ut &Paste @@ -4814,10 +4100,6 @@ p, li { white-space: pre-wrap; } Inputs Inputs - - Servos - Servon - Special Functions Specialfunktioner @@ -4846,21 +4128,232 @@ p, li { white-space: pre-wrap; } Curves Kurvor - - Clear Curves? - Ta bort kurvorna? - - - Really clear all the curves? - Vill du verkligen ta bort alla kurvor ? - Flight Modes Flyglägen Outputs - Utgångar + Utgångar + + + + ModelPrinter + + %1 bytes + + + + CH%1 + KN%1 + + + Exponential + + + + Extra Fine + + + + Fine + + + + Medium + Medium + + + Coarse + + + + Unknown + Okänd + + + Enabled + Aktiv + + + Disabled + Inaktiv + + + %1, Channels(%2-%3), PPM delay(%4usec), Pulse polarity(%5) + + + + %1, Channels(%2-%3) + + + + Receiver number(%1) + + + + Slave/Jack + Elev/Uttag + + + Master/SBUS Module + Tränare/SBUS-modul + + + Master/CPPM Module + Tränare/CPPM-modul + + + Master/SBUS in battery compartment + Tränare/SBUS i batterifacket + + + Master/Jack + Tränare/Uttag + + + Rudder + Sidroder + + + Elevator + Höjdroder + + + Throttle + Gas + + + Aileron + Skevroder + + + Name(%1) + + + + Persistent + Bestående + + + MinuteBeep + + + + CountDown(Beeps) + + + + CountDown(Voice) + + + + CountDown(Haptic) + + + + Off + Av + + + FM%1 + FM%1 + + + FM%1%2 + FM%1%2 + + + FM%1+%2 + + + + [I%1] + [I%1] + + + Input%1 + Input%1 + + + Weight + Vikt + + + Switch + Brytare + + + NoTrim + EjTrim + + + No DR/Expo + Ingen DR/Expo + + + Disabled in all flight modes + + + + Flight modes(%1) + Flyglägen(%1) + + + Flight mode(%1) + Flygläge(%1) + + + Edge(%1, [%2:%3]) + + + + Sticky(%1, %2) + + + + Timer(%1, %2) + Timer(%1, %2) + + + Duration(%1s) + + + + Delay(%1s) + + + + Custom + Special + + + Standard + Standard + + + Weight(%1) + Vikt(%1) + + + Switch(%1) + Brytare(%1) + + + Offset(%1) + Offset(%1) + + + Delay(u%1:d%2) + + + + Warn(%1) + + + + Slow(u%1:d%2) + @@ -4975,7 +4468,7 @@ p, li { white-space: pre-wrap; } &Model Wizard - Modellguide + &Modellguide Ctrl+P @@ -5090,7 +4583,7 @@ p, li { white-space: pre-wrap; } Not set - + Ej inställt Output type @@ -5129,14 +4622,177 @@ p, li { white-space: pre-wrap; } Value - Värde + Värde Hold - Håll senaste + Håll senaste No Pulse + Ingen Puls + + + + MultiModelPrinter + + General Model Settings + Generella modell-inställningar + + + Name: + + + + EEprom Size: + + + + Timer%1: + Timer%1: + + + Module%1: + + + + Module: + + + + Trainer port: + + + + Throttle Trim: + + + + Trim Increment: + + + + Center Beep: + + + + Flight modes + Flyglägen + + + Flight mode + Flygläge + + + Switch + Brytare + + + Fade IN + + + + Fade OUT + + + + FM%1 + FM%1 + + + GV%1 + GV%1 + + + RE%1 + + + + Limits + Gränser + + + Channel + + + + Name + Namn + + + Offset + Offset + + + Min + Min + + + Max + Max + + + Invert + Invertera + + + Global Variables + Globala Variabler + + + Inputs + Inputs + + + Mixers + Mixar + + + CV%1 + + + + Curves + Kurvor + + + L%1 + LB%1 + + + Logical Switches + Logiska Brytare + + + SF%1 + SF%1 + + + Special Functions + Specialfunktioner + + + Telemetry Settings + Inställningar för Telemetri + + + Analogs + + + + Unit + Enhet + + + Scale + Skala + + + A%1 + A%1 + + + RSSI Alarms @@ -5188,334 +4844,6 @@ p, li { white-space: pre-wrap; } Print to file Skriv till fil - - Setup for: - Inställningar för: - - - printed on: %1 - Utskriven: %1 - - - General Model Settings - Generella modell-inställningar - - - Name - Namn - - - EEprom Size - Storlek på modelldata - - - Timer1 - Timer1 - - - Timer2 - Timer2 - - - Protocol - Protokoll - - - Pulse Polarity - Pulspolaritet - - - Throttle Trim - Gastrim - - - Enabled - Aktiv - - - Disabled - Inaktiv - - - Trim Increment - Trimökning - - - Center Beep - Centrumpip - - - Fades - Toningar - - - Trims - Trimmar - - - Gvars - Gvars - - - Rot.Enc. - Inm.Hjul. - - - Switch - Brytare - - - Flight mode name - Namn för flygläget - - - IN - IN - - - OUT - UT - - - Rud - Rod - - - Ele - Hjd - - - Thr - Gas - - - Ail - Ske - - - FM - FM - - - Weight - Vikt - - - Flight modes - Flyglägen - - - DISABLED - INAKTIV - - - Mixers - Mixar - - - CH - KN - - - Offset - Offset - - - Delay(u%1:d%2) - Fördröjning(u%1:d%2) - - - Slow(u%1:d%2) - Tröghet(u%1:d%2) - - - Limits - Gränser - - - Min - Min - - - Max - Max - - - Invert - Invertera - - - INV - INV - - - NOR - NOR - - - Curves - Kurvor - - - Curve - Kurva - - - pt %1 - pt %1 - - - Logical Switches - Logiska Brytare - - - Global Variables - Globala Variabler - - - GV - GV - - - Special Functions - Specialfunktioner - - - Function - Funktion - - - Parameter - Parameter - - - Repeat - Upprepa - - - Telemetry Settings - Inställningar för Telemetri - - - Alarm 1 - Alarm 1 - - - Alarm 2 - Alarm 2 - - - Analog - Analog - - - Inputs - Inputs - - - NoTrim - EjTrim - - - Weight(%1) - Vikt(%1) - - - Switch(%1) - Brytare(%1) - - - No DR/Expo - Ingen DR/Expo - - - Offset(%1) - Offset(%1) - - - Warn(%1) - Varn(%1) - - - L - L - - - SF%1 - SF%1 - - - Range - Räckvidd - - - Alarms - Alarm - - - Low Alarm - Låg Alarmnivå - - - Critical Alarm - Kritisk Alarmnivå - - - RSSI - RSSI - - - Unit - Enhet - - - Scale - Skala - - - Type - Typ - - - Condition - Villkor - - - Value - Värde - - - A%1 - A%1 - - - RSSI Alarm - RSSI-alarm - - - Frsky serial protocol - Frsky serieprotokoll - - - Blades - Blad - - - Custom Telemetry View - Egna inställning av telemetriskärmen - - - Telemetry Bars - Telemetri-staplar - - - Bar Number - Stapelnummer - - - Source - Källa - Print Document Skriv dokument @@ -5528,38 +4856,6 @@ p, li { white-space: pre-wrap; } ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) ODF filer (*.odt);;PDF Filer(*.pdf);;HTML-Filer (*.htm *.html);;Alla Filer (*) - - Internal Radio System - Intern Radosändare - - - Radio System - Radiosystem - - - External Radio Module - Extern Sändarmodul - - - Extra Radio System - Ytterligare Radiosystem - - - Trainer port mode - - - - Off - Av - - - Timer%1 - - - - SF - SF - ProgressDialog @@ -5841,18 +5137,6 @@ p, li { white-space: pre-wrap; } Speed+ Hastighet+ - - Timer(%1, %2) - Timer(%1, %2) - - - Duration (%1s) - Fördröjning (%1s) - - - Delay (%1s) - Fördröjning (%1s) - Haptic Spela Vibration @@ -5865,10 +5149,6 @@ p, li { white-space: pre-wrap; } Vario Vario - - All - För alla händelser - Telemetry Telemetri @@ -5993,10 +5273,6 @@ p, li { white-space: pre-wrap; } Support for receiving NMEA data Stöd för att ta emot NMEA-data - - OpenTX for 9X board - OpenTX för 9X - Enable heli menu and cyclic mix support Slå på helikoptermenyn och stöd för cyklisk mix @@ -6045,30 +5321,10 @@ p, li { white-space: pre-wrap; } Add support for reversing stick inputs (e.g. needed for FrSky gimbals) Addera stöd för reversering av spakar (behövs om man byter till FrSky-spakar) - - OpenTX for M128 / 9X board - OpenTX för 9X med m128-processor - - - OpenTX for 9XR - OpenTX för 9XR - - - OpenTX for 9XR with M128 chip - OpenTX för 9XR med m128-processor - - - OpenTX for Gruvin9x board / 9X - OpenTX för 9X med Gruvin9X-kort - Support of FrSky PXX protocol Stöd för FrSky PXX-protokoll - - OpenTX for 9XR-PRO - OpenTX för 9XR PRO - Haptic module installed Vibratormodul är installerad @@ -6077,10 +5333,6 @@ p, li { white-space: pre-wrap; } Support for Lua model scripts Stöd för att använda LUA-kod i modeller - - OpenTX for FrSky Taranis Plus - OpenTx för FrSky Taranis Plus - Support for DSM2 modules Stöd för DSM2-moduler @@ -6133,10 +5385,6 @@ p, li { white-space: pre-wrap; } Support for DSM2 modules using ppm instead of true serial Stöd för DSM2-moduler via ppm istället för via seriellt gränssnitt - - OpenTX for Sky9x board / 9X - OpenTX för 9X med Sky9X-kort - Enable HELI menu and cyclic mix support Slå på helikoptermenyn och stöd för cyklisk mix @@ -6581,10 +5829,6 @@ p, li { white-space: pre-wrap; } No repeat Repetera ej - - %1 sec - %1 sek - Play Both Spela båda @@ -6669,54 +5913,6 @@ p, li { white-space: pre-wrap; } Metric Metrisk - - Extra Fine - Extrafin - - - Fine - Fin - - - Medium - Medium - - - Coarse - Grov - - - Exponential - Exponentiell - - - : %1 Channels, %2usec Delay - : %1 Kanaler, %2msec Fördröjning - - - Flight modes(%1) - Flyglägen(%1) - - - Flight mode(%1) - Flygläge(%1) - - - Rudder - Sidroder - - - Elevator - Höjdroder - - - Throttle - Gas - - - Aileron - Skevroder - Rotary Encoder use in menus navigation Använd inmatningshjul för att navigera i menyer @@ -6797,14 +5993,6 @@ p, li { white-space: pre-wrap; } !Curve(%1) !Kurva(%1) - - FM%1 - FM%1 - - - Input%1 - Input%1 - English Engelska @@ -6877,12 +6065,6 @@ p, li { white-space: pre-wrap; } OpenTX doesn't allow this number of channels 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 @@ -6927,10 +6109,6 @@ eeprom-storleken är 4096, men enbart den första hälften användsAllow compensating for offset errors in FrSky FAS current sensors Tillåt justering av offsett-fel i FrSkys FAS ström-sensorer - - OpenTX for FrSky Taranis - OpenTx för FrSky Taranis - Disable HELI menu and cyclic mix support Slå av HELI-menyn och stöd för cykliska mixar @@ -7087,14 +6265,6 @@ OpenTX-gruppen. Edge - - Edge(%1, [%2:%3]) - - - - Sticky(%1, %2) - - Play Script Spela Script @@ -7107,34 +6277,6 @@ OpenTX-gruppen. FAI MODE (no telemetry) always enabled FAI-LÄGE (ingen telemetri) alltid aktivt - - No Joystick emulation inside the FW (only Mass Storage as in the Bootloader) - Ingen Joystick-emulering -> Direkt åtkomst till minnet utan att hålla in trimmar vid start - - - SWR value will be available for display/audio/alarms - Only available on latest Taranis+ production - SWR-värdet kan visas och styra ljud/alarm (Fungerar ej med första omgången av Taranis+ pga hårdavrufel i dessa sändarel) - - - %1:%2 - %1:%2 - - - , Persistent - , Bestående - - - , MinuteBeep - , Minutpip - - - , CountDown(Beeps) - , Nedräkning(Pip) - - - , CountDown(Voice) - , Nedräkning(Röst) - GV GV @@ -7143,10 +6285,6 @@ OpenTX-gruppen. -%1 -%1 - - Copy errors - Kopieringsfel - Create '%1' failed Det gick inte att skapa '%1' @@ -7167,10 +6305,6 @@ OpenTX-gruppen. Screenshot Skärmbild - - OpenTX for MEGA2560 board - OpenTX för MEGA2560-kort - ST7565P LCD or compatible ST7565P LCD eller kompatibel @@ -7179,18 +6313,10 @@ OpenTX-gruppen. ST7565R LCD or compatible ST7565R LCD eller kompatibel - - Used if you have voice module - Används om en röstmodul monterats i sändaren - Adds mixers output view to the CHANNELS MONITOR screen, pressing [ENT] switches between the views Lägger till mixerutdata-vy till KANALER-skärmen, tryck [ENT] för at växla mellan vyerna - - OpenTX for FrSky Taranis X9E - OpenTX för FrSky Taranis X9E - Synchronization error Synkroniseringsfel @@ -7227,206 +6353,182 @@ OpenTX-gruppen. h:m - + h:m m:s - + m:s h:m:s - + h:m:s F1 - + F1 F2 - + F2 F3 - + F3 F4 - - - - Positive - Positiv - - - Negative - Negativ + F4 Source %1 cannot be exported on this board! - + Information från %1 finns inte tillgänglig på detta kort! ERC12864FSF LCD - + ERC12864FSF LCD ST7920 LCD - + ST7920 LCD Power management by soft-off circuitry - - - - : Channel start: %1, %2 Channels, %3usec Delay, Pulse polarity %4 - - - - : Channel start: %1, %2 Channels - - - - Slave/Jack - Elev/Uttag - - - Master/SBUS Module - Tränare/SBUS-modul - - - Master/CPPM Module - Tränare/CPPM-modul - - - Master/SBUS in battery compartment - Tränare/SBUS i batterifacket - - - Master/Jack - Tränare/Uttag + Strömbrytare styrd av mjukvara Support for a third timer - + Stöd för en tredje timer Support for PPM internal module hack - + Stöd för hårdvaruhack med intern PPM-modul Confirmation before radio shutdown - + Bekräfta avstängning av radion Flight - + Flygning °F - - - - repeat - + °F DISABLED - INAKTIV + INAKTIV Removes D8 and LR12 FrSky protocols that are not legal for use in the EU on radios sold after Jan 1st, 2015 - + Ta bort FrSkys radioprotokoll D8 och R12,l som inte är lagliga i EU för sändare sålda efter 2015-01-01 9X board - + 9X-kort M128 / 9X board - + M128 / 9X kort 9XR - + 9XR 9XR with M128 chip - + 9XR med M128-CPU Gruvin9x board / 9X - + 9X med Gruvin9X-kort MEGA2560 board - + MEGA2560-kort Sky9x board / 9X - + 9X med Sky9X-kort 9XR-PRO - + 9XR-PRO FrSky Taranis - + FrSky Taranis FrSky Taranis Plus - + FrSky Taranis Plus FrSky Taranis X9E - - - - Weight - Vikt - - - Switch - Brytare - - - NoTrim - EjTrim - - - No DR/Expo - Ingen DR/Expo - - - Offset - Offset - - - Delay - Fördröjning - - - Slow - Tröghet - - - Warn - Varn - - - Flight modes - Flyglägen - - - Flight mode - Flygläge + FrSky Taranis X9E Radio type - + Radiotyp Which radio type do you want to simulate? + Vilken typ av radio vill du simulera? + + + INV + INV + + + NOR + NOR + + + No SD directory configured! + + + + Instead of Joystick emulation, USB connection is Mass Storage (as in the Bootloader) + + + + Instead of Joystick emulation, USB connection is Command Line Interface + + + + ar9x board / 9X + + + + SetFailsafe Int. Module + + + + SetFailsafe Ext. Module + + + + RangeCheck Int. Module + + + + RangeCheck Ext. Module + + + + Bind Int. Module + + + + Bind Ext. Module + + + + played once, not during startup + + + + repeat(%1s) @@ -7449,14 +6551,14 @@ OpenTX-gruppen. ReleaseNotesDialog Companion Release Notes - Companion Release Notes + Companion Release Notes ReleaseNotesFirmwareDialog OpenTX Release Notes - OpenTX Release Notes + OpenTX Release Notes @@ -7604,7 +6706,18 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Global Functions - Globala Funktioner + Globala Funktioner + + + Top LCD Timer + + + + + SetupPanel + + Timer %1 + @@ -7732,11 +6845,38 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga S3 - S3 + S3 S4 - S4 + S4 + + + + SplashLibraryDialog + + ... + ... + + + Splash Library - page %1 of %2 + Bildbibliotek - Sida %1 av %2 + + + Warning + Varning + + + Invalid image in library %1 + Felaktig bild i biblioteket %1 + + + Information + Information + + + No valid image found in library, check your settings + Ingen användbar bild i biblioteket. Kontrollera inställningarna @@ -7758,12 +6898,6 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Copy %1 to %2 Kopiera %1 till %2 - - - - Read %1 - - Läs %1 @@ -7772,6 +6906,10 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Skriv %1 + + %1/%2 files + + TailPage @@ -7783,6 +6921,10 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Elevator Channel: Höjdroderkanal: + + Only one channel still available!<br>You probably should configure your model without using the wizard. + + TailSelectionPage @@ -7939,11 +7081,11 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Center Silent - + Centrumtystnad Disable multi sensor handling - + Inaktivera multisensor-hantering @@ -8028,14 +7170,6 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga mAmps (mA) mAmpere (mA) - - Low Alarm - Låg Alarmnivå - - - Critical Alarm - Kritisk Alarmnivå - Range Räckvidd @@ -8165,10 +7299,6 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Custom Special - - Formula - Formel - Id ID @@ -8225,70 +7355,14 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Alt. Sensor : Höjdsensor : - - Amps Sensor : - Amp-sensor : - Raw (-) Rå (-) - - Voltage (V) - Spänning (V) - - - Current (A) - Ström (A) - - - Current (mA) - Ström (mA) - - - Speed (kts) - Hastighet (knop) - - - Speed (m/s) - Hastighet (m/s) - - - Speed (km/h) - Hastighet (km/h) - - - Speed (miles/h) - Hastighet (miles/h) - - - Meters (m) - Meter(m) - - - Feet (f) - Fot (f) - - - Temp (°C) - Temp (°C) - - - Temp (°F) - Temp (°F) - - - Percentage (%) - Procent (%) - Precision Precision - - Range - Räckvidd - Offset Offset @@ -8297,10 +7371,6 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Auto Offset AutoOffset - - Filtered - Filtrerad - Logs Loggar @@ -8311,71 +7381,119 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Calculated - + Beräknad Totalize - - Speed (ft/s) - - - - Feet (ft) - - - - Energy (mAh) - - - - Power (W) - - - - RF Power (dBm) - - RPM - - - - Acceleration (g) - - - - Heading (°) - - - - Volume (mL) - - - - Volume (US fl.Oz.) - + RPM Blades - Blad + Blad Multiplier - + Multiplikator Filter - + Filter Ratio - + Förhållande Positive - Positiv + Positiv + + + Sensor : + + + + V + V + + + A + A + + + mA + + + + kt + + + + m/s + m/s + + + ft/s + + + + km/h + km/h + + + mph + mph + + + m + m + + + ft + ft + + + °C + °C + + + °F + °F + + + % + % + + + mAh + mAh + + + W + W + + + dBm + + + + g + g + + + ° + ° + + + mL + + + + US fl.Oz. + @@ -8425,139 +7543,139 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Vario Altitude - + Variohöjd V-ALT - + V-ALT Vario Vertical Speed - + Vertikal hastighet från vario V-VSPD - + V-VSPD ACCZ - + ACCZ GPS Time - GPS-tid + GPS-tid GPS-T - + GPS-T ACCX - + ACCX GPS Lat/Lon - + GPS-LL - + GPS-LL VFAS - + VFAS FAS-V - + FAS-V GPS Speed - + GPS-hastighet GPS-S - + GPS-S CELLS - + CELLS ACCY - + ACCY GPS Course - + GPS-kurs GPS-C - + GPS-C GPS Altitude - + GPS Höjd GPS-A - + GPS-A CURRENT - + CURRENT FAS-C - + FAS-C 30 - 30 + 30 75 - 75 + 75 FR_ID_AIR_SPEED - + ASPD - + ASPD A3 - A3 + A3 A4 - A4 + A4 Temperature 1 - + Temperatur 1 T1 - T1 + T1 Temperature 2 - + Temperatur 2 T2 - T2 + T2 RPM - + RPM FUEL - + FUEL When enabled, sends any non-blank values as simulated telemetry data. @@ -8565,7 +7683,15 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga <html><head/><body><p>Start with <span style=" font-style:italic;">0x</span> for hex, <span style=" font-style:italic;">0</span> for octal, otherwise decimal.<br/>Numeric entry only. Blank values are not sent.</p></body></html> - + <html><head/><body><p>Inled hextal med <span style=" font-style:italic;">0x</span>. Inled octaltal med <span style=" font-style:italic;">0</span>. Alla andra tal antas vara decimala.<br/>Enbart numeriska tecken. Tomma tal skickas ej.</p></body></html> + + + Instance + Instans + + + 2 + 2 @@ -8620,6 +7746,10 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Persistent (manual reset) Bestående (återställs manuellt) + + Haptic + Spela Vibration + Trainer @@ -8971,149 +8101,6 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Kanal %1: - - avrOutputDialog - - Dialog - Dialog - - - Show Details - Visa Detaljer - - - Writing - Skriver - - - Reading - Läser - - - Verifying - Verifierar - - - FUSES: Low=%1 High=%2 Ext=%3 - SÄKRINGAR: Låg=%1 Hög=%2 Ext=%3 - - - result - result - resultat - - - executable not found - executable not found - 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 - - - Writing file: - Skriver till fi: - - - Write error - Skrivfel - - - 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. - Din sändare använder en %1 CPU!!! - -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. - Din sändare använder en %1 CPU!!! - -Välj rätt programvara att bränna till den. - - - -You are currently using: - %1 - -Du använder för närvarande: - %1 - - - did not finish correctly! -Do you want some help ? - did not finish correctly! -Do you want some help ? - avslutades inte korrekt! -Vill du ha hjälp ? - - - Copy did not finish correctly - Kopieringen gick inte bra - - - Copy finished correctly - Kopieringen gick bra - - - reason - anledning - - burnConfigDialog @@ -9203,10 +8190,6 @@ m2560 for v4.1 boards m64 för originalsändare och m2560 för v4.1-kort - - <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>VARNING!</u></b><br>Detta åerställer säkringarna för %1 till deras ursprungliga värden.<br>Att ändra dessa värden kan skapa allvarliga problem med din sändare.<br>Ändra säkringarna bara om du är helt säker på att de har fel värde!<br>Är du säker på att du vill fortsätta? - Use this button to browse and look for the AVRDUDE executable file. Tryck på knappen för att söka efter AVRDUDEs programfil. @@ -9280,232 +8263,6 @@ m2560 för v4.1-kort Hjälp för Avrdude - - burnDialog - - Customize Splash - Välj Sändarens Startbild - - - Date & Time - Dag & Tid - - - Allows Companion to write to older version of the firmware - Tillåter Companon att skriva till äldre firmware-versioner - - - Write to TX - Skriv till sändaren - - - Check Firmware compatibility - Kontrollera att firmware-filen är kompatibel - - - Cancel - Avbryt - - - Warning - Varning - - - Images (%1) - Bilder (%1) - - - Error - Fel - - - Invalid binary Models and Settings File %1, Proceed anyway ? - Ogiltig binärfil med Modeller och Inställningar: %1. Fortsätt i alla fall ? - - - Profile image %1 is invalid. - Profilbilden %1 är ogiltig. - - - Open image file to use as radio start screen - Öppna bildfil för användning som startbild i radion - - - Cannot save customized firmware - Det gick inte att spara den modifierade firmware-filen - - - Custom image not found - Bildfilen hittades inte - - - No firmware selected - Ingen firmware har valts - - - Wrong radio calibration data in profile, Settings not patched - Felaktig information i profilen, sändarens-kalibrering kunde inte läsas in - - - Wrong radio setting data in profile, Settings not patched - Felaktig information i profilen, sändarens inställningar kunde inte läsas in - - - <html><head/><body><p>Modify calibration parameters using settings from current profile</p></body></html> - <html><head/><body><p>Uppdatera kalibrerings-parametrarna med data från nuvarande profil</p></body></html> - - - Patch calibration setting from profile - Uppdatera med kalibreringsdata från profilen - - - <html><head/><body><p>Modify HW parameters using settings from current profile</p></body></html> - <html><head/><body><p>Uppdatera hårdvaruinställningarna med data från nuvarande profil</p></body></html> - - - Patch HW setting from profile - Uppdatera med HW-inställningar från profilen - - - Version - Version - - - Browse for file - Välj fil - - - Backup and restore Models and Settings - Säkerhetskopiera Modeller och Inställningar - - - Current Profile - Nuvarande Profil - - - Use firmware start screen - Använd firmware-startskärmen - - - Use another start screen - Använd en annan startskärm - - - Use profile start screen - Använd profilens startskärm - - - Use library start screen - Använd biblioteks-startskärm - - - Write firmware to Radio - Skriv firmware till radion - - - Write Backup to Radio - Skriv Backup till radion - - - Write Backup from %1 to Radio - Skriv Backup från %1 till radion - - - Current profile - Nuvarande profil - - - Open Firmware File - Öppna firmware-fil - - - Choose Radio Backup file - Välj Backup-fil - - - %1 may not be a valid firmware file - %1 är kanske inte en giltig firmware-fil - - - Unable to find file %1! - Kan inte hitta filen %1 ! - - - Error opening file %1: -%2. - Fel vid öppning av filen %1: -%2. - - - Error reading file %1: -%2. - Fel vid inläsning från filen %1: -%2. - - - The firmware file is not valid. - Firmware-filen är inte giltig. - - - There is no start screen image in the firmware file. - Firmware-filen innehåller inte någon startbild. - - - Image could not be loaded from %1 - Det gick inte att ladda en bild från %1 - - - The library image could not be loaded - Bild-biblioteket kunde inte öppnas - - - Cannot write file %1: -%2. - Filen %1 kunde inte skrivas: -%2. - - - Error writing file %1: -%2. - Fel vid skrivning av filen %1: -%2. - - - Variant - Variant - - - - contributorsDialog - - People who have contributed to this project - De som har bidragit till detta projekt - - - Coders - Programmerare - - - Companion Release Notes - Companion Release Notes - - - Thank you all !!! - Tack till er alla !!! - - - Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) - All ära åt Rafal Tomczak (RadioClone), Thomas Husterer (th9x) och Erez Raviv (er9x and eePe) - - - Contributors - Bidragande - - - OpenTX Release Notes - OpenTX Release Notes - - customizeSplashDialog @@ -9616,139 +8373,6 @@ m2560 för v4.1-kort Nedladdningen misslyckades: %1. - - fusesDialog - - Fuses - Säkringar - - - Read Fuses - Läs in säkringarna - - - Reset Fuses -EEPROM - PROTECT - Nollställ säkringarna -MODELLDATA - SKYDDA - - - Reset Fuses -EEPROM - DELETE - Återställ Säkringarna -MODELLDATA - RADERA - - - <!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:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p align="center" 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;">WARNING</span></p> -<p align="center" 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 align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Changing the fuses can mess up your radio.</p> -<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Proceed only if you know what you are doing.</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:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p align="center" 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;">VARNING</span></p> -<p align="center" 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 align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Att ändra säkringarna kan leda till att din sändare slutar fungera.</p> -<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Fortsätt bara om du verkligen vet vad du håller på med.</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:'Sans Serif'; font-size:9pt; 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-family:'MS Shell Dlg 2'; font-size:8pt;">Reads the current fuses in the AVR controller.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">Proper states for </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">AtMega 64 </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">:</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-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse not set: 0E, 81, FF</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-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse set: 0E, 89, FF</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">Proper states for AtMega 2560 :</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-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse not set: D7, 11, FC</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-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse set: D7, 19, FC</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:'Sans Serif'; font-size:9pt; 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-family:'MS Shell Dlg 2'; font-size:8pt;">Läser säkringarna i AVR-kontrollern.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">Giltiga lägen för </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">AtMega 64 </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">:</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-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM tömningssäkring ej tillslagen: 0E, 81, FF</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-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM tömningssäkring tillslagen: 0E, 89, FF</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">Giltiga lägen för AtMega 2560 :</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-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM tömningssäkring ej tillslagen: D7, 11, FC</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-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM tömningssäkring tillslagen: D7, 19, FC</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:'Sans Serif'; font-size:9pt; 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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">Reset Fuses</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-family:'MS Shell Dlg 2'; font-size:8pt;">Fuses in the AVR tell it how to behave. Pressing this button sets the fuses to the default parameters needed in the FW. These parameters are different for stock and 4.1 MB, please verify you selected the appropriate processor type in preferences.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">This button also sets the &quot;EEPROM protect&quot; Fuse.</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-family:'MS Shell Dlg 2'; font-size:8pt;">This prevents erasing of the EEPROM when the flash memory is written.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">WARNING</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-family:'MS Shell Dlg 2'; font-size:8pt;">Setting fuses can lead to problems and even a total lockout from your controller. Do this only if you know what you are doing.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">When in doubt consult either the project's page or the 9xforum (http://9xforums.com/forum/)</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-family:'MS Shell Dlg 2'; font-size:8pt;">If you do get locked out - google lookup for &quot;dealing with Fuse Bricks&quot;.</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:'Sans Serif'; font-size:9pt; 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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">Återställ Säkringarna</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-family:'MS Shell Dlg 2'; font-size:8pt;">AVR-processorns säkringar kontrollerar hur den fungerar. Om du trycker på den här knappen så återställs säkringarna till de standardlägen som firmware behöver. Parameterinställningarna skiljer mellan original och 4.1 MB. Kontrollera därför att du valt rätt processortyp i inställningarna.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">Knappen ställer också in &quot;EEPROM protect&quot;-säkringen.</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-family:'MS Shell Dlg 2'; font-size:8pt;">Denna säkring förhindrar att innehållet i EEPROMet nollställs när flash-minnet skrivs.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">VARNING</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-family:'MS Shell Dlg 2'; font-size:8pt;">Att ändra på säkringarna kan leda till att sändaren blir permanent obrukbar. Ändra därför bara om du vet vad du håller på med.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">Om du är tveksam bör du söka hjälp via projektets hemsida eller 9xforums (http://9xforums.com/forum/)</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-family:'MS Shell Dlg 2'; font-size:8pt;">Om du ändå råkar låsa sändaren så googla på &quot;dealing with Fuse Bricks&quot;.</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:'Sans Serif'; font-size:9pt; 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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">Reset Fuses</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-family:'MS Shell Dlg 2'; font-size:8pt;">Fuses in the AVR tell it how to behave. Pressing this button sets the fuses to the default parameters needed in the </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">FW. These parameters are different for stock and 4.1 MB, please verify you selected the appropriate processor type in preferences.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">This button also clears the &quot;EEPROM protect&quot; Fuse.</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-family:'MS Shell Dlg 2'; font-size:8pt;">This causes erasing of the EEPROM when the flash memory is written.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">WARNING</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-family:'MS Shell Dlg 2'; font-size:8pt;">Setting fuses can lead to problems and even a total lockout from your controller. Do this only if you know what you are doing.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">When in doubt consult either the project's page or the 9xforum (http://9xforums.com/forum/)</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-family:'MS Shell Dlg 2'; font-size:8pt;">If you do get locked out - google lookup for &quot;dealing with Fuse Bricks&quot;.</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:'Sans Serif'; font-size:9pt; 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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">Återställ Säkringarna</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-family:'MS Shell Dlg 2'; font-size:8pt;">AVR-processorns säkringar kontrollerar hur den fungerar. Om du trycker på den här knappen så återställs säkringarna till de standardlägen som </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">firmware behöver. Parameterinställningarna skiljer mellan original och 4.1 MB. Kontrollera därför att du valt rätt processortyp i inställningarna.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">Knappen ställer också in &quot;EEPROM protect&quot;-säkringen.</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-family:'MS Shell Dlg 2'; font-size:8pt;">Denna säkring förhindrar att innehållet i EEPROMet nollställs när flash-minnet skrivs.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">VARNING</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-family:'MS Shell Dlg 2'; font-size:8pt;">Att ändra på säkringarna kan leda till att sändaren blir permanent obrukbar. Ändra därför bara om du vet vad du håller på med.</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-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></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-family:'MS Shell Dlg 2'; font-size:8pt;">Om du är tveksam bör du söka hjälp via projektets hemsida eller 9xforums (http://9xforums.com/forum/)</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-family:'MS Shell Dlg 2'; font-size:8pt;">Om du ändå råkar låsa sändaren så googla på &quot;dealing with Fuse Bricks&quot;.</span></p></body></html> - - joystickDialog @@ -9869,10 +8493,6 @@ Press cancel to abort joystick calibration Tryck på OK för att spara inställningarna Tryck på Avbryt för att avburyta kalibreringen - - Duplicated stick assignement - Dubblerad koppling av spak - P3/LS P3/LS @@ -9883,72 +8503,7 @@ Tryck på Avbryt för att avburyta kalibreringen Duplicated stick assignment - - - - - logsDialog - - Companion Log Viewer - Companion Logg-läsare - - - Filename - Filnamn - - - Open LogFile - Öppna Loggfil - - - Zoom - Zoom - - - X - X - - - Y - Y - - - Reset - Nollställ - - - Telemetry logs - Telemetriloggar - - - Time (hh:mm:ss) - Tid - - - Error - Fel - - - Cannot write file %1: -%2. - Filen %1 kunde inte skrivas: -%2. - - - Select your log file - Välj loggfil - - - Available fields - Tillgängliga fält - - - The selected logfile contains %1 invalid lines out of %2 total lines - Denn aktuella filen innehåller %1 felaktiga rader. Totalt innehåller filen %2 rader - - - Fly sessions - Flygningar + Dubblerad koppling av spak @@ -9964,206 +8519,6 @@ Tryck på Avbryt för att avburyta kalibreringen Preferences Konfiguration - - Recent History Size - Loggstorlek - - - Download - Nedladdning - - - Default Channel Order - Kanalordning - - - Channel order - -This is used by the templated to determine which channel goes to what number output. - Kanalordning - -Detta används av mallen för att koppla kanal till output-nummer. - - - Show Splash At Start - Visa Startbild - - - Default Stick Mode - Spaktilldelning - - - 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 - - - Välj Mode: - -Mode 1: - Vänster spak: Höjdroder, Sidroder - Höger spak: Gas, Skevroder - -Mode 2: - Vänster spak: Gas, Sidroder - Höger spak: Höjdroder, Skevroder - -Mode 3: - Vänster spak: Höjdroder, Skevroder - Höger spak: Gas, Sidroder - -Mode 4: - Vänster spak: Gas, Skevroder - Höger spak: Höjdroder, Sidroder - - - - - Mode 1 (RUD ELE THR AIL) - Mode 1 (ROD HÖJ GAS SKE) - - - Mode 2 (RUD THR ELE AIL) - Mode 2 (ROD GAS HÖJ SKE) - - - Mode 3 (AIL ELE THR RUD) - Mode 3 (SKE HÖJ GAS ROD) - - - Mode 4 (AIL THR ELE RUD) - Mode 4 (SKE GAS HÖJ ROD) - - - Automatic Backup Folder - Säkerhetskopiera till folder - - - R E T A - R H G S - - - R E A T - R H S G - - - R T E A - R G H S - - - R T A E - R G S H - - - R A E T - R S H G - - - R A T E - R S G H - - - E R T A - H R G S - - - E R A T - H R S G - - - E T R A - H G R S - - - E T A R - H G S R - - - E A R T - H S R G - - - E A T R - H S G R - - - T R E A - G R H S - - - T R A E - G R S H - - - T E R A - G H R S - - - T E A R - G H S R - - - T A R E - G S R H - - - T A E R - G S H R - - - A R E T - S R H G - - - A R T E - S R G H - - - A E R T - S H R G - - - A E T R - S H G R - - - A T R E - S G R H - - - A T E R - S G H R - - - Firmware - Firmware - - - Find Executable - Sök Program - - - Google Earth Executable - Sökväg till Google Earth - - - Check for updates on startup - Sök efter uppdateringar vid start - ... ... @@ -10184,10 +8539,6 @@ Mode 4: Open Folder Öppna katalog - - Check for updates - Sök efter uppdateringar - Blue Blu @@ -10229,10 +8580,6 @@ Mode 4: Invert Pixels Invertera bild - - FwInfo - Firmware-info - Include companion splashes Användarens bilder och companion-bilder @@ -10245,60 +8592,10 @@ Mode 4: Custom TX splash screen Egen uppstartsbild - - Ask for flashing after Download - Fråga om skrivning efter Nedladdning - - - Language - Språk - - - Profile Name - Profilnamn - - - Save Profile - Spara Profil - - - Profile slot - Profilplats - - - auto backup before write - säkerhetskopiera innan skrivning - - - Export Profile - Exportera Profil - - - Import Profile - Importera Profil - - - Automatically add version number to the filename after download - Lägg automatiskt till ett versionsnummer till filnamnet - - - Voice - Röst - - - Set language of voice. -May be different from firmware language - Välj språk för röstfunktioner. -Får skilja från språket för mjukvaran - Simu BackLight Simulatorbelysning - - Processor ID - Processortyp - Simulator capture folder Katalog för simulator-data @@ -10307,48 +8604,5 @@ Får skilja från språket för mjukvaran Use clipboard only Använd bara clipboard - - Check for selected Fw updates - Sök efter updatering av vald FW - - - Ask use of wizard for new models - Använd modellguiden för nya modeller - - - Remember switches in simulator - Minns brytare i simulator - - - SD Structure path - Sökväg till SD-struktur - - - - SplashLibraryDialog - - ... - ... - - - Splash Library - page %1 of %2 - Bildbibliotek - Sida %1 av %2 - - - Warning - Varning - - - Invalid image in library %1 - Felaktig bild i biblioteket %1 - - - Information - Information - - - No valid image found in library, check your settings - Ingen användbar bild i biblioteket. Kontrollera inställningarna - diff --git a/companion/src/xmlinterface.cpp b/companion/src/xmlinterface.cpp index 14f90d863..1f88b0116 100644 --- a/companion/src/xmlinterface.cpp +++ b/companion/src/xmlinterface.cpp @@ -1,6 +1,6 @@ /* * Author - Bertrand Songis - * + * * Based on th9x -> http://code.google.com/p/th9x/ * * This program is free software; you can redistribute it and/or modify @@ -69,7 +69,7 @@ void saveGeneralSettings(GeneralSettings & settings, global_settings & gs) // TODO BSS settings.currModel; gs.contrast(settings.contrast); - gs.battery(battery(settings.vBatCalib, settings.vBatWarn)); + gs.battery(battery(settings.txVoltageCalibration, settings.vBatWarn)); gs.ppm_input_calibration(ppm_input_calibration(settings.PPM_Multiplier, PPMCalibration(settings.trainer.calib[0]), @@ -121,10 +121,10 @@ void saveModel(ModelData & m, model & xm) if (t.mode) { timer xt(TimerSwitch::value(t.mode+TMR_NUM_OPTION), direction::value(t.dir), timer::value_type(t.val/3600, (t.val%3600)/60, t.val%60)); timer_sequence.push_back(xt); - } + } } */ - if (m.moduleData[0].protocol != PPM || m.moduleData[0].channelsCount != 8 || m.moduleData[0].ppmDelay != 300 || m.moduleData[0].ppmPulsePol != 0) { + if (m.moduleData[0].protocol != PULSES_PPM || m.moduleData[0].channelsCount != 8 || m.moduleData[0].ppmDelay != 300 || m.moduleData[0].ppmPulsePol != 0) { modulation mod; mod.type(modulation::type_type::value(m.moduleData[0].protocol)); mod.channels(m.moduleData[0].channelsCount); @@ -185,7 +185,7 @@ bool XmlInterface::save(RadioData &radioData) radio r; // the general settings - global_settings gs; + global_settings gs; saveGeneralSettings(settings, gs); r.global_settings(gs); diff --git a/companion/targets/windows/simulator-vs.nsi.in b/companion/targets/windows/simulator-vs.nsi.in old mode 100755 new mode 100644 diff --git a/doc/lua-reference-guide.tex b/doc/lua-reference-guide.tex old mode 100755 new mode 100644 diff --git a/radio/releasenotes.txt b/radio/releasenotes.txt index 3aaa5cf6b..7f81fc994 100644 --- a/radio/releasenotes.txt +++ b/radio/releasenotes.txt @@ -1,21 +1,81 @@ -

Version 2.1.2 /

+

Version 2.1.4 /

+ +[AVR boards] +
    +
  • Fixed several problems with automatic playing of Physical and Logical Switches changes (eg LS15-on.wav, SG-mid.wav) (#2855)
  • +
  • Sorce selector did not work in Telemetry screen for Bars (#2843)
  • +
+ + +

Version 2.1.3 / 2015-09-09

+ +[ARM boards] +
    +
  • Fix shift in automatic switch sounds (#2855)
  • +
+ +[Taranis] +
    +
  • Fix broken popup menu on some special functions (#2851)
  • +
+ +[AVR boards] +
    +
  • Fix timers not working (#2848)
  • +
+ + +

Version 2.1.2 / 2015-09-07


+ +PLEASE NOTE the following important information: +
    +
  • FrSky Taranis X9E users are highly advised to upgrade firmware (including bootloader!) to this version or its equivalent when provided by FrSky due to the risk of shutdown upon software error that was present in previous versions.
  • +
  • Telemetry sensors are no longer continuously detected, it is now necessary to go to the telemetry setup page and select the "Discover new sensors" menu item. This prevents creation of non-existing sensors in case if transmission errors, and allows deleting sensors that are received but considered uninteresting.
  • +
  • A bug was found in the "Throttle source" setting, fixing it might have changed your selection. If your throttle-based timers don't work check this first and set it back to the correct setting if needed.
  • +
[ARM Boards]
  • Fixed several issues with D series altimeter/vario (negative values, hi/lo precision vario) (#2685)
  • -
  • Auto-offset for Frsky variometer on per default (#2693)
  • -
  • 9XE top LDC fixes: added TX battery blinking on battery warning, fixed display problem when battery voltage lower than batlow value. (#2671)
  • +
  • Auto-offset for Frsky variometer on by default (#2693)
  • Timers range extended (it was limited to around 9 hours before) (#2702)
  • Fixed: Playing two background sounds at once causes sound to stop (#2704)
  • Several fixes to the SD card manager menu (#2623)
  • -
  • Fixed the difference between top and main LCD TX battery bars on 9Xe (#2671)
  • -
  • Several Lua getValue() fields were not exported correctly (tx-voltage, clock and timers1-3)
  • +
  • Several Lua getValue() fields were not exported correctly (tx-voltage, clock and timers 1-3)
  • Fixed: Edge Logical Switch could trigger right after the model was loaded or the radio turned on (#2728)
  • +
  • Fixed: output channel jitter if trim was used (#2774)
  • +
  • Fixed: Logical switches based on telemetry sensors above number 20 were not working (#2787)
  • +
  • Added menu option to delete all detected/configured telemetry sensors (#2730)
  • +
  • Improved "Adjust GVAR" SF source selection with popup (#2418)
  • +
  • Improved mixer screen layout (#2785)
  • +
  • Added support for the AR9X replacement board (prototype) for the Turnigy 9X radio, info here
  • +
  • Added a virtual serial port over USB and a command line interface (via option, replacing joystick) (#2595)
-[Sky9x / 9XR-PRO] +[X9E] +
    +
  • Unwanted radio turning off on watchdog reset fixed (#2681, #2790)
  • +
  • Added code to help mitigate the issue of RTC loosing its time when radio was turned off (#2626)
  • +
  • X9E top LCD fixes: added TX battery blinking on battery warning, fixed display problem when battery voltage lower than batlow value. (#2671)
  • +
  • Fixed the difference between top and main LCD TX battery bars on X9E (#2671)
  • +
+ + +[Sky9x / 9XR-PRO / AR9X]
  • Sound was unintelligible (#2665)
  • +
  • PXX and Smart Port telemetry weren't enabled
  • +
+ +[MEGA2560] +
    +
  • Audio was not working (#2825)
  • +
+ +[All] +
    +
  • Various texts and translations corrections
  • +
  • Various small bug-fixes
diff --git a/radio/src/Makefile b/radio/src/Makefile index 59c0f64f5..ef81c7a86 100644 --- a/radio/src/Makefile +++ b/radio/src/Makefile @@ -50,7 +50,7 @@ DELAY = 5 #----------- BUILD OPTIONS --------------------------- # PCB version -# Values: 9X, 9X128, 9X2561, 9XR, 9XR128, 9XR2561, GRUVIN9X, MEGA2560, SKY9X, 9XRPRO, TARANIS +# Values: 9X, 9X128, 9X2561, 9XR, 9XR128, 9XR2561, GRUVIN9X, MEGA2560, SKY9X, 9XRPRO, AR9X, TARANIS # Old values STD and STD128 are mapped to 9X and 9X128 for compatibility PCB = 9X @@ -214,6 +214,11 @@ VARIO = YES # default = YES (means enabled when available) RTCLOCK = YES +# Hardware volume +# Values = YES, NO +# default = YES (AR9X board doesn't have a hardware volume control as delivered but it can be fitted optionally) +HARDWARE_VOLUME = YES + # BLUETOOTH # Values = YES, NO BLUETOOTH = NO @@ -268,6 +273,10 @@ SHUTDOWN_CONFIRMATION = NO # Values = YES, NO DEBUG = NO +# Activate Command Line Interpreter +# Values = NO, YES +CLI = NO + # Activate writing of SPORT telemetry received data to sport.log file # Values = YES, NO SPORT_FILE_LOG = NO @@ -301,9 +310,10 @@ LUA = NO MENUS_LOCK = NO # USB options in the main image -# Values = JOYSTICK, MASSSTORAGE +# Values = JOYSTICK, MASSSTORAGE, SERIAL # JOYSTICK: The TX will appear as a joystick # MASSSTORAGE: The TX will appear as a drive +# SERIAL: The TX will appear as a serial port USB = JOYSTICK # Mixers monitor view added to Channels monitor one @@ -361,6 +371,14 @@ SIMU_DISKIO = NO # Values = NO, YES SIMU_AUDIO = NO +# Enable Watchdog test (DANGEROUS) +# Values = NO, YES +WATCHDOG_TEST = NO + +# Treat compiler warnings as errors +# Values = NO, YES +WARNINGS_AS_ERRORS = NO + #------- END BUILD OPTIONS --------------------------- # Define programs and commands. @@ -377,7 +395,7 @@ IMG2LBM = -$(PYTHON) ../util/img2lbm.py BIN2LBM = -$(PYTHON) ../util/bin2lbm.py FONT2PNG = -$(PYTHON) ../util/font2png.py TRANSLATE = -$(PYTHON) ../util/translate.py -VERSION = 2.1.2$(OPENTX_VERSION_SUFFIX) +VERSION = 2.1.4$(OPENTX_VERSION_SUFFIX) THIRDPARTY = thirdparty COOSDIR = $(THIRDPARTY)/CoOS @@ -391,7 +409,7 @@ LUADEP = DEBUG_TRACE_BUFFER = NO # MCU name -ifneq ($(PCB), $(filter $(PCB), STD 9X 9XR STD128 9X128 9XR128 9X2561 9XR2561 GRUVIN9X MEGA2560 SKY9X 9XRPRO TARANIS)) +ifneq ($(PCB), $(filter $(PCB), STD 9X 9XR STD128 9X128 9XR128 9X2561 9XR2561 GRUVIN9X MEGA2560 SKY9X 9XRPRO AR9X TARANIS)) $(error Sorry, the PCB $(PCB) is not supported yet in OpenTX) endif @@ -746,16 +764,22 @@ ifeq ($(PCB), MEGA2560) CPPDEFS += -DROTARY_ENCODERS=${ROTARY_ENCODERS} endif -ifeq ($(PCB), $(filter $(PCB), SKY9X 9XRPRO)) +ifeq ($(PCB), $(filter $(PCB), SKY9X 9XRPRO AR9X)) # 9x/9XR radio with a sky9x replacement board GUIDIRECTORY = 9X ARCH = ARM LCDSIZE = 128 CPPDEFS = -Dat91sam3s4 ifeq ($(PCB), 9XRPRO) + CPPDEFS = -Dat91sam3s8 FLAVOUR = 9xrpro CPPDEFS += -DREVX LDSCRIPT = targets/sky9x/sam3s8c_flash.ld + else ifeq ($(PCB), AR9X) + CPPDEFS = -Dat91sam3s8 + FLAVOUR = ar9x + CPPDEFS += -DAR9X + LDSCRIPT = targets/sky9x/sam3s8c_flash.ld else ifeq ($(PCBREV), REVA) FLAVOUR = sky9x CPPDEFS += -DREVA @@ -778,7 +802,8 @@ ifeq ($(PCB), $(filter $(PCB), SKY9X 9XRPRO)) SDCARD = YES BUZZER = NO THR_TRACE = YES - CPPDEFS += -DPCBSKY9X -DCPUARM -DEEPROM_VARIANT=0 -DAUDIO -DHAPTIC -DDSM2 -DDSM2_PPM + EXT = FRSKY_SPORT + CPPDEFS += -DPCBSKY9X -DCPUARM -DEEPROM_VARIANT=0 -DAUDIO -DHAPTIC -DDSM2 -DDSM2_PPM -DPXX ifeq ($(PCB), SKY9X) CPPDEFS += -DROTARY_ENCODERS=1 CPPSRC += targets/sky9x/rotenc_driver.cpp @@ -799,7 +824,7 @@ ifeq ($(PCB), $(filter $(PCB), SKY9X 9XRPRO)) EEPROMSRC = eeprom_common.cpp eeprom_raw.cpp eeprom_conversions.cpp PULSESSRC = pulses/pulses_arm.cpp pulses/ppm_arm.cpp pulses/pxx_arm.cpp pulses/dsm2_arm.cpp CPPSRC += tasks_arm.cpp audio_arm.cpp haptic.cpp gui/$(GUIDIRECTORY)/view_about.cpp gui/$(GUIDIRECTORY)/view_text.cpp telemetry/telemetry.cpp - CPPSRC += targets/sky9x/telemetry_driver.cpp targets/sky9x/second_serial_driver.cpp targets/sky9x/pwr_driver.cpp targets/sky9x/adc_driver.cpp targets/sky9x/eeprom_driver.cpp targets/sky9x/pulses_driver.cpp targets/sky9x/keys_driver.cpp targets/sky9x/audio_driver.cpp targets/sky9x/buzzer_driver.cpp targets/sky9x/haptic_driver.cpp targets/sky9x/sdcard_driver.cpp targets/sky9x/massstorage.cpp + CPPSRC += targets/sky9x/telemetry_driver.cpp targets/sky9x/serial2_driver.cpp targets/sky9x/pwr_driver.cpp targets/sky9x/adc_driver.cpp targets/sky9x/eeprom_driver.cpp targets/sky9x/pulses_driver.cpp targets/sky9x/keys_driver.cpp targets/sky9x/audio_driver.cpp targets/sky9x/buzzer_driver.cpp targets/sky9x/haptic_driver.cpp targets/sky9x/sdcard_driver.cpp targets/sky9x/massstorage.cpp CPPSRC += loadboot.cpp debug.cpp BITMAPS += bitmaps/9X/splash.lbm bitmaps/9X/asterisk.lbm bitmaps/9X/about.lbm ifeq ($(SDCARD), YES) @@ -824,6 +849,9 @@ ifeq ($(PCB), $(filter $(PCB), SKY9X 9XRPRO)) ifeq ($(DEBUG), YES) SRC += syscalls.c endif + ifeq ($(HARDWARE_VOLUME), NO) + CPPDEFS += -DNO_HARDWARE_VOLUME + endif endif ifeq ($(PCB), TARANIS) @@ -913,17 +941,20 @@ ifeq ($(PCB), TARANIS) LDSCRIPT = targets/taranis/stm32f2_flash.ld endif STM32USBPATH = $(THIRDPARTY)/STM32_USB-Host-Device_Lib_V2.1.0/Libraries - INCDIRS += $(STM32USBPATH)/STM32_USB_OTG_Driver/inc $(STM32USBPATH)/STM32_USB_Device_Library/Core/inc - INCDIRS += $(STM32USBPATH)/STM32_USB_Device_Library/Class/msc/inc $(STM32USBPATH)/STM32_USB_Device_Library/Class/hid/inc + INCDIRS += $(STM32USBPATH)/STM32_USB_OTG_Driver/inc + INCDIRS += $(STM32USBPATH)/STM32_USB_Device_Library/Core/inc + INCDIRS += $(STM32USBPATH)/STM32_USB_Device_Library/Class/msc/inc + INCDIRS += $(STM32USBPATH)/STM32_USB_Device_Library/Class/hid/inc + INCDIRS += $(STM32USBPATH)/STM32_USB_Device_Library/Class/cdc/inc GUIGENERALSRC += gui/$(GUIDIRECTORY)/menu_general_hardware.cpp BOARDSRC = main_arm.cpp targets/taranis/board_taranis.cpp - EXTRABOARDSRC += targets/taranis/configure_pins.cpp targets/taranis/lcd_driver.cpp targets/taranis/flash_driver.cpp targets/taranis/i2c_driver.cpp targets/taranis/aspi.c targets/taranis/delays.c + EXTRABOARDSRC += targets/taranis/configure_pins.cpp targets/taranis/lcd_driver.cpp targets/taranis/flash_driver.cpp targets/taranis/i2c_driver.cpp targets/taranis/aspi.c targets/taranis/delays.c serial.cpp SRC += $(COOSDIR)/kernel/core.c $(COOSDIR)/kernel/hook.c $(COOSDIR)/kernel/task.c $(COOSDIR)/kernel/event.c $(COOSDIR)/kernel/time.c $(COOSDIR)/kernel/timer.c $(COOSDIR)/kernel/flag.c $(COOSDIR)/kernel/mutex.c $(COOSDIR)/kernel/serviceReq.c $(COOSDIR)/portable/GCC/port.c $(COOSDIR)/portable/arch.c SRC += targets/taranis/pwr_driver.c targets/taranis/usb_driver.c EEPROMSRC = eeprom_common.cpp eeprom_rlc.cpp eeprom_conversions.cpp PULSESSRC = pulses/pulses_arm.cpp pulses/ppm_arm.cpp pulses/pxx_arm.cpp CPPSRC += tasks_arm.cpp audio_arm.cpp sbus.cpp telemetry/telemetry.cpp - CPPSRC += targets/taranis/pulses_driver.cpp targets/taranis/keys_driver.cpp targets/taranis/adc_driver.cpp targets/taranis/trainer_driver.cpp targets/taranis/audio_driver.cpp targets/taranis/uart3_driver.cpp targets/taranis/telemetry_driver.cpp + CPPSRC += targets/taranis/pulses_driver.cpp targets/taranis/keys_driver.cpp targets/taranis/adc_driver.cpp targets/taranis/trainer_driver.cpp targets/taranis/audio_driver.cpp targets/taranis/serial2_driver.cpp targets/taranis/telemetry_driver.cpp CPPSRC += bmp.cpp gui/$(GUIDIRECTORY)/view_channels.cpp gui/$(GUIDIRECTORY)/view_about.cpp gui/$(GUIDIRECTORY)/view_text.cpp debug.cpp CPPSRC += loadboot.cpp ifeq ($(PCBREV), REV9E) @@ -966,6 +997,10 @@ ifeq ($(PCB), TARANIS) ifeq ($(USB), JOYSTICK) CPPDEFS += -DUSB_JOYSTICK SRC += targets/taranis/usbd_hid_joystick.c + else ifeq ($(USB), SERIAL) + CPPDEFS += -DUSB_SERIAL + SRC += $(STM32USBPATH)/STM32_USB_Device_Library/Class/cdc/src/usbd_cdc_core.c + EXTRABOARDSRC += targets/taranis/usbd_cdc.cpp else CPPDEFS += -DUSB_MASS_STORAGE SRC += $(STM32USBPATH)/STM32_USB_Device_Library/Class/msc/src/usbd_msc_data.c @@ -1021,6 +1056,9 @@ ifeq ($(PCB), TARANIS) ifeq ($(MIXERS_MONITOR), YES) CPPDEFS += -DMIXERS_MONITOR endif + ifeq ($(WATCHDOG_TEST), YES) + CPPDEFS += -DWATCHDOG_TEST + endif endif CC = $(TRGT)gcc @@ -1046,7 +1084,7 @@ FORMAT = ihex TARGET = opentx # List C++ source files here. (C dependencies are automatically generated.) -ifeq ($(PCB), $(filter $(PCB), SKY9X 9XRPRO TARANIS)) +ifeq ($(PCB), $(filter $(PCB), SKY9X 9XRPRO AR9X TARANIS)) TTS_SRC = translations/tts_cz.cpp translations/tts_de.cpp translations/tts_en.cpp translations/tts_es.cpp translations/tts_fr.cpp translations/tts_it.cpp translations/tts_nl.cpp translations/tts_pt.cpp translations/tts_sk.cpp translations/tts_se.cpp translations/tts_pl.cpp translations/tts_hu.cpp else STD_TTS_SRC = translations/tts_$(shell sh -c "echo $(TTS) | tr '[:upper:]' '[:lower:]'").cpp @@ -1238,10 +1276,10 @@ ifeq ($(EXT), JETI) endif ifeq ($(EXT), MAVLINK) - CPPDEFS += -DMAVLINK - INCDIRS += thirdparty - CPPSRC += telemetry/mavlink.cpp gui/$(GUIDIRECTORY)/view_mavlink.cpp serial.cpp - EEPROM_VARIANT += ${MAVLINK_VARIANT} + CPPDEFS += -DMAVLINK + INCDIRS += thirdparty targets/common_avr/ + CPPSRC += telemetry/mavlink.cpp gui/$(GUIDIRECTORY)/view_mavlink.cpp targets/common_avr/serial_driver.cpp + EEPROM_VARIANT += ${MAVLINK_VARIANT} endif ifeq ($(EXT), TELEMETREZ) @@ -1250,13 +1288,18 @@ endif ifeq ($(EXT), $(filter $(EXT), FRSKY FRSKY_SPORT TELEMETREZ)) CPPDEFS += -DFRSKY - ifeq ($(EXT), FRSKY_SPORT) - CPPSRC += telemetry/frsky.cpp telemetry/frsky_sport.cpp telemetry/frsky_d.cpp - CPPDEFS += -DFRSKY_SPORT + + ifeq ($(ARCH), ARM) + CPPSRC += telemetry/frsky.cpp telemetry/frsky_d_arm.cpp else CPPSRC += telemetry/frsky.cpp telemetry/frsky_d.cpp endif + ifeq ($(EXT), FRSKY_SPORT) + CPPSRC += telemetry/frsky_sport.cpp + CPPDEFS += -DFRSKY_SPORT + endif + CPPSRC += gui/$(GUIDIRECTORY)/view_telemetry.cpp ifeq ($(FRSKY_HUB), YES) @@ -1282,8 +1325,15 @@ ifeq ($(EXT), $(filter $(EXT), FRSKY FRSKY_SPORT TELEMETREZ)) EEPROM_VARIANT += ${FRSKY_VARIANT} endif -ifeq ($(DEBUG), YES) +ifeq ($(SIMU), YES) CPPDEFS += -DDEBUG + CPPSRC += dump.cpp +else ifeq ($(CLI), YES) + CPPDEFS += -DCLI -DDEBUG + CPPSRC += cli.cpp dump.cpp +else ifeq ($(DEBUG), YES) + CPPDEFS += -DDEBUG + CPPSRC += dump.cpp endif ifeq ($(EEPROM_PROGRESS_BAR), YES) @@ -1381,6 +1431,10 @@ CPPFLAGS += -Wno-strict-aliasing CPPFLAGS += -Wformat -Wreturn-type -Wunused -Wuninitialized -Wunknown-pragmas -Wno-switch -Wtype-limits INCFLAGS = $(patsubst %,-I%,$(INCDIRS)) +ifeq ($(WARNINGS_AS_ERRORS), YES) + CPPFLAGS += -Werror +endif + MATH_LIB = -lm #---------------- Linker Options ---------------- @@ -1435,7 +1489,7 @@ all: begin gccversion sizebefore build sizeafter end # Change the build target to build a HEX file or a library. ifeq ($(ARCH), AVR) build: stamp_header tra lbm allsrc.cpp elf remallsrc hex -else ifeq ($(PCB), $(filter $(PCB), SKY9X 9XRPRO TARANIS)) +else ifeq ($(PCB), $(filter $(PCB), SKY9X 9XRPRO AR9X TARANIS)) build: stamp_header tra lbm bootloader.lbm $(LUADEP) allsrc.cpp elf remallsrc bin else build: stamp_header tra lbm allsrc.cpp elf remallsrc bin @@ -1447,8 +1501,8 @@ bootloader.lbm: targets/taranis/bootloader/bootloader_ramBoot.bin $(BIN2LBM) $^ $@ .PHONY targets/taranis/bootloader/bootloader_ramBoot.bin: @echo "Building bootloader..." - $(MAKE) -C targets/taranis/bootloader PCB=$(PCB) PCBREV=$(PCBREV) NANO=$(NANO) -else ifeq ($(PCB), 9XRPRO) + $(MAKE) -C targets/taranis/bootloader PCB=$(PCB) PCBREV=$(PCBREV) NANO=$(NANO) WARNINGS_AS_ERRORS=$(WARNINGS_AS_ERRORS) +else ifeq ($(PCB), $(filter $(PCB), 9XRPRO AR9X)) bootloader.lbm: @echo "Fetching Mike's bootloader..." wget http://ersky9x.googlecode.com/svn/trunk/src/bootloader/bootflash8.lbm @@ -1787,15 +1841,16 @@ endif #### GOOGLE TESTS -GTEST_DIR = ../gtest-1.6.0 +GTEST_INCDIR = /usr/include/gtest +GTEST_SRCDIR = /usr/src/gtest/ # Where to find user code. USER_DIR = ./ # All Google Test headers. Usually you shouldn't change this # definition. -GTEST_HEADERS = $(GTEST_DIR)/include/gtest/*.h \ - $(GTEST_DIR)/include/gtest/internal/*.h +GTEST_HEADERS = $(GTEST_INCDIR)/*.h \ + $(GTEST_INCDIR)/internal/*.h # House-keeping build targets. @@ -1803,15 +1858,14 @@ GTEST_HEADERS = $(GTEST_DIR)/include/gtest/*.h \ # Usually you shouldn't tweak such internal variables, indicated by a # trailing _. -GTEST_SRCS_ = $(GTEST_DIR)/src/*.cc $(GTEST_DIR)/src/*.h $(GTEST_HEADERS) +GTEST_SRCS = $(GTEST_SRCDIR)/src/*.cc $(GTEST_HEADERS) # For simplicity and to avoid depending on Google Test's # implementation details, the dependencies specified below are # conservative and not optimized. This is fine as Google Test # compiles fast and for ordinary users its source rarely changes. -gtest-all.o : $(GTEST_SRCS_) - $(CXX) $(CPPFLAGS) -I$(GTEST_DIR) -I$(GTEST_DIR)/include -c \ - $(GTEST_DIR)/src/gtest-all.cc +gtest-all.o : $(GTEST_SRCS) + $(CXX) $(CPPFLAGS) -I$(GTEST_SRCDIR) -I$(GTEST_INCDIR) -c $(GTEST_SRCDIR)/src/gtest-all.cc # Builds a sample test. A test should link with either gtest.a or # gtest_main.a, depending on whether it defines its own main() @@ -1821,5 +1875,5 @@ gtest-all.o : $(GTEST_SRCS_) GTEST_TESTS_SRCS = $(shell find tests/ -type f -name '*.cpp') gtests: allsimusrc.cpp $(GTEST_TESTS_SRCS) targets/simu/simpgmspace.cpp *.h tests/gtests.h gtest-all.o - g++ -std=gnu++0x $(CPPFLAGS) $(SIMUCPPFLAGS) allsimusrc.cpp $(LUASRC) $(GTEST_TESTS_SRCS) targets/simu/simpgmspace.cpp -I$(GTEST_DIR) ${INCFLAGS} -I$(GTEST_DIR)/include -I/usr/include/qt4 -o gtests -lpthread -MD -DSIMU -lQtCore -lQtGui gtest-all.o -fexceptions + g++ -std=gnu++0x $(CPPFLAGS) $(SIMUCPPFLAGS) allsimusrc.cpp $(LUASRC) $(GTEST_TESTS_SRCS) targets/simu/simpgmspace.cpp ${INCFLAGS} -I$(GTEST_INCDIR) -I/usr/include/qt4 -o gtests -lpthread -MD -DSIMU -lQtCore -lQtGui gtest-all.o -fexceptions diff --git a/radio/src/audio_arm.cpp b/radio/src/audio_arm.cpp index df2a75955..23b9b4c39 100644 --- a/radio/src/audio_arm.cpp +++ b/radio/src/audio_arm.cpp @@ -213,10 +213,10 @@ uint32_t sdAvailablePhaseAudioFiles = 0; uint64_t sdAvailableSwitchAudioFiles = 0; uint64_t sdAvailableLogicalSwitchAudioFiles = 0; -#define MASK_SYSTEM_AUDIO_FILE(index) ((uint64_t)1 << index) -#define MASK_PHASE_AUDIO_FILE(index, event) ((uint32_t)1 << (2*index+event)) -#define MASK_SWITCH_AUDIO_FILE(index) ((uint64_t)1 << index) -#define MASK_LOGICAL_SWITCH_AUDIO_FILE(index, event) ((uint64_t)1 << (2*index+event)) +#define MASK_SYSTEM_AUDIO_FILE(index) ((uint64_t)1 << (index)) +#define MASK_PHASE_AUDIO_FILE(index, event) ((uint32_t)1 << (2*(index)+(event))) +#define MASK_SWITCH_AUDIO_FILE(index) ((uint64_t)1 << (index)) +#define MASK_LOGICAL_SWITCH_AUDIO_FILE(index, event) ((uint64_t)1 << (2*(index)+(event))) char * getAudioPath(char * path) { @@ -302,37 +302,55 @@ void getPhaseAudioFile(char * filename, int index, unsigned int event) strcat(tmp, SOUNDS_EXT); } -void getSwitchAudioFile(char * filename, int index) +void getSwitchAudioFile(char * filename, swsrc_t index) { char * str = getModelAudioPath(filename); - int len = STR_VSWITCHES[0]; - strncpy(str, &STR_VSWITCHES[1+len*(index+1)], len); - str += len-1; - if (*str == '\300') { - strcpy(str, "-up"); - str += 3; - } - else if (*str == '-') { - strcpy(str, "-mid"); - str += 4; - } - else if (*str == '\301') { - strcpy(str, "-down"); - str += 5; + +#if defined(PCBTARANIS) + if (index <= SWSRC_LAST_SWITCH) { + div_t swinfo = switchInfo(index); + *str++ = 'S'; + *str++ = 'A' + swinfo.quot; + const char * positions[] = { "-up", "-mid", "-down" }; + strcpy(str, positions[swinfo.rem]); } else { - *(str+1) = 0; + div_t swinfo = div(index - SWSRC_FIRST_MULTIPOS_SWITCH, XPOTS_MULTIPOS_COUNT); + *str++ = 'S'; + *str++ = '1' + swinfo.quot; + *str++ = '1' + swinfo.rem; + *str = '\0'; } +#else + int len = STR_VSWITCHES[0]; + strncpy(str, &STR_VSWITCHES[1+(len*index)], len); + str += len; + *str = '\0'; +#endif strcat(str, SOUNDS_EXT); } void getLogicalSwitchAudioFile(char * filename, int index, unsigned int event) { char * str = getModelAudioPath(filename); + +#if defined(PCBTARANIS) + *str++ = 'L'; + if (index >= 9) { + div_t qr = div(index+1, 10); + *str++ = '0' + qr.quot; + *str++ = '0' + qr.rem; + } + else { + *str++ = '1' + index; + } +#else int len = STR_VSWITCHES[0]; strncpy(str, &STR_VSWITCHES[1+len*(index+SWSRC_FIRST_LOGICAL_SWITCH)], len); - str[len] = '\0'; - strcat(str, suffixes[event]); + str += len; +#endif + + strcpy(str, suffixes[event]); strcat(str, SOUNDS_EXT); } @@ -381,11 +399,11 @@ void referenceModelAudioFiles() } // Switches Audio Files -[up|mid|down].wav - for (int i=0; i 0) { #if defined(CPUM2560) if (tone2Freq) { - OCR0A = (5000 / tone2Freq); // sticking with old values approx 20(abs. min) to 90, 60 being the default tone(?). + OCR4A = (5000 / tone2Freq); // sticking with old values approx 20(abs. min) to 90, 60 being the default tone(?). speakerOn(); } #else diff --git a/radio/src/bin_allocator.cpp b/radio/src/bin_allocator.cpp index f74e351f2..73e847a18 100644 --- a/radio/src/bin_allocator.cpp +++ b/radio/src/bin_allocator.cpp @@ -39,11 +39,11 @@ void * bin_realloc(void * ptr, size_t size) // if it fits in current slot, return it // TODO if new size is smaller, try to relocate in smaller slot if ( slots1.can_fit(ptr, size) ) { - // TRACE("OUR realloc %p[%lu] fits in slot1", ptr, size); FLUSH(); + // TRACE("OUR realloc %p[%lu] fits in slot1", ptr, size); return ptr; } if ( slots2.can_fit(ptr, size) ) { - // TRACE("OUR realloc %p[%lu] fits in slot2", ptr, size); FLUSH(); + // TRACE("OUR realloc %p[%lu] fits in slot2", ptr, size); return ptr; } @@ -51,10 +51,10 @@ void * bin_realloc(void * ptr, size_t size) void * res = bin_malloc(size); if (res == 0) { // we don't have the space, use libc malloc - // TRACE("bin_malloc [%lu] FAILURE", size); FLUSH(); + // TRACE("bin_malloc [%lu] FAILURE", size); res = malloc(size); if (res == 0) { - TRACE("libc malloc [%lu] FAILURE", size); FLUSH(); + TRACE("libc malloc [%lu] FAILURE", size); return 0; } } @@ -73,7 +73,7 @@ void *bin_l_alloc (void *ud, void *ptr, size_t osize, size_t nsize) if (ptr) { // avoid a bunch of NULL pointer free calls if (!bin_free(ptr)) { // not our range, use libc allocator - // TRACE("libc free %p", ptr); FLUSH(); + // TRACE("libc free %p", ptr); free(ptr); } } @@ -89,18 +89,18 @@ void *bin_l_alloc (void *ud, void *ptr, size_t osize, size_t nsize) } if ( SimulateMallocFailure > 0) { // simulate one malloc failure - TRACE("bin_l_alloc(): simulating malloc failure at %p[%lu]", ptr, nsize); FLUSH(); + TRACE("bin_l_alloc(): simulating malloc failure at %p[%lu]", ptr, nsize); return 0; } #endif // #if defined(DEBUG) // try our allocator, if it fails use libc allocator void * res = bin_realloc(ptr, nsize); if (res && ptr) { - // TRACE("OUR realloc %p[%lu] -> %p[%lu]", ptr, osize, res, nsize); FLUSH(); + // TRACE("OUR realloc %p[%lu] -> %p[%lu]", ptr, osize, res, nsize); } if (res == 0) { res = realloc(ptr, nsize); - // TRACE("libc realloc %p[%lu] -> %p[%lu]", ptr, osize, res, nsize); FLUSH(); + // TRACE("libc realloc %p[%lu] -> %p[%lu]", ptr, osize, res, nsize); // if (res == 0 ){ // TRACE("realloc FAILURE %lu", nsize); // dumpFreeMemory(); diff --git a/radio/src/bin_allocator.h b/radio/src/bin_allocator.h index 1c50fb75b..bfb1b7a97 100644 --- a/radio/src/bin_allocator.h +++ b/radio/src/bin_allocator.h @@ -20,7 +20,7 @@ public: if (ptr == Bins[n].data) { Bins[n].Used = false; --NoUsedBins; - // TRACE("\tBinAllocator<%d> free %lu ------", SIZE_SLOT, n); FLUSH(); + // TRACE("\tBinAllocator<%d> free %lu ------", SIZE_SLOT, n); return true; } } @@ -31,22 +31,22 @@ public: } void * malloc(size_t size) { if (size > SIZE_SLOT) { - // TRACE("BinAllocator<%d> malloc [%lu] size > SIZE_SLOT", SIZE_SLOT, size); FLUSH(); + // TRACE("BinAllocator<%d> malloc [%lu] size > SIZE_SLOT", SIZE_SLOT, size); return 0; } if (NoUsedBins >= NUM_BINS) { - // TRACE("BinAllocator<%d> malloc [%lu] no free slots", SIZE_SLOT, size); FLUSH(); + // TRACE("BinAllocator<%d> malloc [%lu] no free slots", SIZE_SLOT, size); return 0; } for (size_t n = 0; n < NUM_BINS; ++n) { if (!Bins[n].Used) { Bins[n].Used = true; ++NoUsedBins; - // TRACE("\tBinAllocator<%d> malloc %lu[%lu]", SIZE_SLOT, n, size); FLUSH(); + // TRACE("\tBinAllocator<%d> malloc %lu[%lu]", SIZE_SLOT, n, size); return Bins[n].data; } } - // TRACE("BinAllocator<%d> malloc [%lu] no free slots", SIZE_SLOT , size); FLUSH(); + // TRACE("BinAllocator<%d> malloc [%lu] no free slots", SIZE_SLOT , size); return 0; } size_t size(void * ptr) { diff --git a/radio/src/bitmaps/9X/about.png b/radio/src/bitmaps/9X/about.png old mode 100755 new mode 100644 diff --git a/radio/src/bitmaps/9X/asterisk.xbm b/radio/src/bitmaps/9X/asterisk.xbm old mode 100755 new mode 100644 diff --git a/radio/src/bitmaps/9X/splash.xbm b/radio/src/bitmaps/9X/splash.xbm old mode 100755 new mode 100644 diff --git a/radio/src/bitmaps/Taranis/.gitignore b/radio/src/bitmaps/Taranis/.gitignore old mode 100755 new mode 100644 diff --git a/radio/src/bitmaps/Taranis/about.png b/radio/src/bitmaps/Taranis/about.png old mode 100755 new mode 100644 diff --git a/radio/src/bitmaps/Taranis/asterisk.png b/radio/src/bitmaps/Taranis/asterisk.png old mode 100755 new mode 100644 diff --git a/radio/src/bitmaps/Taranis/icons.png b/radio/src/bitmaps/Taranis/icons.png old mode 100755 new mode 100644 diff --git a/radio/src/bitmaps/Taranis/lock.png b/radio/src/bitmaps/Taranis/lock.png old mode 100755 new mode 100644 diff --git a/radio/src/bitmaps/Taranis/shutdown.png b/radio/src/bitmaps/Taranis/shutdown.png old mode 100755 new mode 100644 diff --git a/radio/src/bitmaps/Taranis/sleep.png b/radio/src/bitmaps/Taranis/sleep.png old mode 100755 new mode 100644 diff --git a/radio/src/bitmaps/Taranis/splash.png b/radio/src/bitmaps/Taranis/splash.png old mode 100755 new mode 100644 diff --git a/radio/src/bitmaps/sticks.xbm b/radio/src/bitmaps/sticks.xbm old mode 100755 new mode 100644 diff --git a/radio/src/cli.cpp b/radio/src/cli.cpp new file mode 100644 index 000000000..912f9870e --- /dev/null +++ b/radio/src/cli.cpp @@ -0,0 +1,353 @@ +/* + * Authors (alphabetical order) + * - Andre Bernet + * - Andreas Weitl + * - Bertrand Songis + * - Bryan J. Rentoul (Gruvin) + * - Cameron Weeks + * - Erez Raviv + * - Gabriel Birkus + * - Jean-Pierre Parisy + * - Karl Szmutny + * - Michael Blandford + * - Michal Hlavinka + * - Pat Mackenzie + * - Philip Moss + * - Rob Thomson + * - Romolo Manfredini + * - Thomas Husterer + * + * opentx is based on code named + * gruvin9x by Bryan J. Rentoul: http://code.google.com/p/gruvin9x/, + * er9x by Erez Raviv: http://code.google.com/p/er9x/, + * and the original (and ongoing) project by + * Thomas Husterer, th9x: http://code.google.com/p/th9x/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program 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. + * + */ + +#include "opentx.h" +#include + +#define CLI_COMMAND_MAX_ARGS 8 +#define CLI_COMMAND_MAX_LEN 256 + +OS_TID cliTaskId; +TaskStack cliStack; +Fifo<256> cliRxFifo; +uint8_t cliTracesEnabled = false; + +typedef int (* CliFunction) (const char ** args); + +struct CliCommand +{ + const char * name; + CliFunction func; + const char * args; +}; + +struct MemArea +{ + const char * name; + void * start; + int size; +}; + +void cliPrompt() +{ + serialPutc('>'); +} + +int toInt(const char ** argv, int index, int * val) +{ + if (*argv[index] == '\0') { + return 0; + } + else { + int base = 10; + const char * s = argv[index]; + if (strlen(s) > 2 && s[0] == '0' && s[1] == 'x') { + base = 16; + s = &argv[index][2]; + } + char * endptr = NULL; + *val = strtol(s, &endptr, base); + if (*endptr == '\0') + return 1; + else { + serialPrint("%s: Invalid argument \"%s\"", argv[0], argv[index]); + return -1; + } + } +} + +int cliBeep(const char ** argv) +{ + int freq = BEEP_DEFAULT_FREQ; + int duration = 100; + if (toInt(argv, 1, &freq) >= 0 && toInt(argv, 2, &duration) >= 0) { + audioQueue.playTone(freq, duration, 20, PLAY_NOW); + } + return 0; +} + +int cliPlay(const char ** argv) +{ + audioQueue.playFile(argv[1], PLAY_NOW); + return 0; +} + +int cliLs(const char ** argv) +{ + FILINFO fno; + DIR dir; + char *fn; /* This function is assuming non-Unicode cfg. */ +#if _USE_LFN + TCHAR lfn[_MAX_LFN + 1]; + fno.lfname = lfn; + fno.lfsize = sizeof(lfn); +#endif + + FRESULT res = f_opendir(&dir, argv[1]); /* Open the directory */ + if (res == FR_OK) { + for (;;) { + res = f_readdir(&dir, &fno); /* Read a directory item */ + if (res != FR_OK || fno.fname[0] == 0) break; /* Break on error or end of dir */ + +#if _USE_LFN + fn = *fno.lfname ? fno.lfname : fno.fname; +#else + fn = fno.fname; +#endif + serialPrint(fn); + } + } + else { + serialPrint("%s: Invalid directory \"%s\"", argv[0], argv[1]); + } + return 0; +} + +int cliTrace(const char ** argv) +{ + if (!strcmp(argv[1], "on")) { + cliTracesEnabled = true; + } + else if (!strcmp(argv[1], "off")) { + cliTracesEnabled = false; + } + else { + serialPrint("%s: Invalid argument \"%s\"", argv[0], argv[1]); + } + return 0; +} + +int cliStackInfo(const char ** argv) +{ + int tid = 0; + if (toInt(argv, 1, &tid) > 0) { + int available = 0; + int total = 0; + switch(tid) { + case MENU_TASK_INDEX: + total = menusStack.size(); + available = menusStack.available(); + break; + case MIXER_TASK_INDEX: + total = mixerStack.size(); + available = mixerStack.available(); + break; + case AUDIO_TASK_INDEX: + total = audioStack.size(); + available = audioStack.available(); + break; + case CLI_TASK_INDEX: + total = cliStack.size(); + available = cliStack.available(); + break; + case MAIN_TASK_INDEX: + total = stackAvailable(); + available = stackSize(); + break; + default: + break; + } + serialPrint("%d available (%d total)", available, total); + } + else { + serialPrint("%s: Invalid argument \"%s\"", argv[0], argv[1]); + } + return 0; +} + +int cliVolume(const char ** argv) +{ + int level = 0; + if (toInt(argv, 1, &level) > 0) { + setVolume(level); + } + else { + serialPrint("%s: Invalid argument \"%s\"", argv[0], argv[1]); + } + return 0; +} + +const MemArea memAreas[] = { + { "RCC", RCC, sizeof(RCC_TypeDef) }, + { "GPIOA", GPIOA, sizeof(GPIO_TypeDef) }, + { "GPIOB", GPIOB, sizeof(GPIO_TypeDef) }, + { "GPIOC", GPIOC, sizeof(GPIO_TypeDef) }, + { "GPIOD", GPIOD, sizeof(GPIO_TypeDef) }, + { "GPIOE", GPIOE, sizeof(GPIO_TypeDef) }, + { "GPIOF", GPIOF, sizeof(GPIO_TypeDef) }, + { "GPIOG", GPIOG, sizeof(GPIO_TypeDef) }, + { "USART1", USART1, sizeof(USART_TypeDef) }, + { "USART3", USART3, sizeof(USART_TypeDef) }, + { NULL, NULL, 0 }, +}; + +int cliDisplay(const char ** argv) +{ + int address = 0; + + for (const MemArea * area = memAreas; area->name != NULL; area++) { + if (!strcmp(area->name, argv[1])) { + dump((uint8_t *)area->start, area->size); + return 0; + } + } + + if (!strcmp(argv[1], "adc")) { + for (int i=0; i 0) { + int size = 256; + if (toInt(argv, 2, &size) >= 0) { + dump((uint8_t *)address, size); + } + } + return 0; +} + +int cliHelp(const char ** argv); + +const CliCommand cliCommands[] = { + { "beep", cliBeep, "[] []" }, + { "ls", cliLs, "" }, + { "play", cliPlay, "" }, + { "print", cliDisplay, "
[] | " }, + { "stackinfo", cliStackInfo, "" }, + { "trace", cliTrace, "on | off" }, + { "volume", cliVolume, "" }, + { "help", cliHelp, "[]" }, + { NULL, NULL, NULL } /* sentinel */ +}; + +int cliHelp(const char ** argv) +{ + for (const CliCommand * command = cliCommands; command->name != NULL; command++) { + if (argv[1][0] == '\0' || !strcmp(command->name, argv[0])) { + serialPrint("%s %s", command->name, command->args); + if (argv[1][0] != '\0') { + return 0; + } + } + } + if (argv[1][0] != '\0') { + serialPrint("Invalid command \"%s\"", argv[0]); + } + return -1; +} + +int cliExecCommand(const char ** argv) +{ + if (argv[0][0] == '\0') + return 0; + + for (const CliCommand * command = cliCommands; command->name != NULL; command++) { + if (!strcmp(command->name, argv[0])) { + return command->func(argv); + } + } + serialPrint("Invalid command \"%s\"", argv[0]); + return -1; +} + +int cliExecLine(char * line) +{ + int len = strlen(line); + const char * argv[CLI_COMMAND_MAX_ARGS]; + memset(argv, 0, sizeof(argv)); + int argc = 1; + argv[0] = line; + for (int i=0; i + * - Andreas Weitl + * - Bertrand Songis + * - Bryan J. Rentoul (Gruvin) + * - Cameron Weeks + * - Erez Raviv + * - Gabriel Birkus + * - Jean-Pierre Parisy + * - Karl Szmutny + * - Michael Blandford + * - Michal Hlavinka + * - Pat Mackenzie + * - Philip Moss + * - Rob Thomson + * - Romolo Manfredini + * - Thomas Husterer + * + * opentx is based on code named + * gruvin9x by Bryan J. Rentoul: http://code.google.com/p/gruvin9x/, + * er9x by Erez Raviv: http://code.google.com/p/er9x/, + * and the original (and ongoing) project by + * Thomas Husterer, th9x: http://code.google.com/p/th9x/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program 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. + * + */ + +#ifndef _CLI_H_ +#define _CLI_H_ + +#include "serial.h" + +extern uint8_t cliTracesEnabled; + +#ifdef __cplusplus +#include "fifo.h" +extern Fifo<256> cliRxFifo; +#include "tasks_arm.h" +#define CLI_STACK_SIZE 1000 +extern TaskStack cliStack; +#endif + +void cliStart(); + +#endif // _CLI_H_ diff --git a/radio/src/debug.cpp b/radio/src/debug.cpp index 468840cba..8ef5baafc 100644 --- a/radio/src/debug.cpp +++ b/radio/src/debug.cpp @@ -34,225 +34,34 @@ * */ -extern "C" { -#include -#include -} - #include "opentx.h" - -#if (defined(DEBUG) && defined(CPUARM)) || defined(SIMU) +#include #if defined(SIMU) traceCallbackFunc traceCallback = 0; #endif #if defined(SIMU) - #define PRINTF_BUFFER_SIZE 1024 -#else - #define PRINTF_BUFFER_SIZE 256 -#endif - -// Outputs a string to the UART -void debugPuts(const char *format, ...) +#define PRINTF_BUFFER_SIZE 1024 +void debugPrintf(const char * format, ...) { va_list arglist; char tmp[PRINTF_BUFFER_SIZE]; - + va_start(arglist, format); vsnprintf(tmp, PRINTF_BUFFER_SIZE, format, arglist); va_end(arglist); - -#if defined(SIMU) fputs(tmp, stdout); fflush(stdout); if (traceCallback) { traceCallback(tmp); } -#else - const char *t = tmp; - while (*t) { - debugPutc(*t++); - } +} #endif -} - -void dump(unsigned char *data, unsigned int size) -{ - debugPuts("DUMP %d bytes ...\n\r", size); - unsigned int i = 0, j=0; - while (i*32+j < size) { - debugPuts("%.2X ", data[i*32+j]); - j++; - if (j==32) { - i++; j=0; - debugPuts("\n\r"); - } - } - debugPuts("\n\r"); -} - - -#if !defined(SIMU) - -uint32_t Mem_address ; -uint32_t Next_mem_address ; -uint32_t Memaddmode ; -Fifo<512> debugRxFifo; - -void crlf() -{ - debugPutc( 13 ) ; - debugPutc( 10 ) ; -} - -// Send a single 4 bit value to the RS232 port as a hex digit -void hex_digit_send( unsigned char c ) -{ - c &= 0x0F ; - if ( c > 9 ) - { - c += 7 ; - } - c += '0' ; - debugPutc( c ) ; -} - -// Send the 8 bit value to the RS232 port as 2 hex digits -void p2hex( unsigned char c ) -{ -// asm("swap %c") ; - hex_digit_send( c >> 4 ) ; -// asm("swap %c") ; - hex_digit_send( c ) ; -} - -// Send the 16 bit value to the RS232 port as 4 hex digits -void p4hex( uint16_t value ) -{ - p2hex( value >> 8 ) ; - p2hex( value ) ; -} - -// Send the 32 bit value to the RS232 port as 8 hex digits -void p8hex( uint32_t value ) -{ - p4hex( value >> 16 ) ; - p4hex( value ) ; -} - - -static void dispw_256( register uint32_t address, register uint32_t lines ) -{ - register uint32_t i ; - register uint32_t j ; - address &= 0xFFFFFFFC ; - for ( i = 0 ; i < lines ; i += 1 ) - { - p8hex( address ) ; - for ( j = 0 ; j < 4 ; j += 1 ) - { - debugPutc(' ') ; - p8hex( *( (uint32_t *)address ) ) ; - address += 4 ; - } - crlf() ; - } -} - -extern Fifo<512> uart3TxFifo; - -void debugFlush() -{ - uart3TxFifo.flush(); -} - -void debugTask(void* pdata) -{ - uint8_t rxchar ; - - TRACE("DEBUG Task started"); - - crlf() ; - dispw_256( (uint32_t)USART3, 4 ) ; - - for (;;) { - - while ( (USART3->SR & USART_SR_RXNE) == 0 ) - CoTickDelay(5); // 10ms - - rxchar = USART3->DR; - - if ( Memaddmode ) - { - if ( ( rxchar >= 'a' ) && ( rxchar <= 'f' ) ) - { - rxchar -= 0x20; // toupper! - } - if ( ( ( rxchar >= '0' ) && ( rxchar <= '9' ) ) || ( ( rxchar >= 'A' ) && ( rxchar <= 'F' ) ) ) - { - debugPutc( rxchar ); - rxchar -= '0'; - if ( rxchar > 9 ) - { - rxchar -= 7; - } - Mem_address <<= 4; - Mem_address |= rxchar; - } - else if ( rxchar == 13 ) - { - crlf(); - if ( Mem_address == 0 ) - { - Mem_address = Next_mem_address; - } - dispw_256( Mem_address, 4 ); - Next_mem_address = Mem_address + 64; - Memaddmode = 0; - } - else if ( rxchar == 8 ) - { - debugPutc( rxchar ); - debugPutc( rxchar ); - debugPutc( rxchar ); - Mem_address >>= 4; - } - else if ( rxchar == 27 ) - { - crlf(); - Memaddmode = 0; - } - - } - - if ( rxchar == '?' ) - { - Memaddmode = 1; - Mem_address = 0; - debugPutc( '>' ); - } - - if ( rxchar == 'm' ) - { - crlf(); - p8hex( (uint32_t) &g_model.moduleData[0] ); - debugPutc( ' ' ); - p8hex( (uint32_t) &g_model.moduleData[1] ); - crlf(); - } - - } -} -#endif // #if !defined(SIMU) -#endif // #if (defined(DEBUG) && defined(CPUARM)) || defined(SIMU) - #if defined(DEBUG_TRACE_BUFFER) - static struct TraceElement traceBuffer[TRACE_BUFFER_LEN]; static uint8_t traceBufferPos; -extern Fifo<512> uart3TxFifo; gtime_t filltm(gtime_t *t, struct gtm *tp); void trace_event(enum TraceEvent event, uint32_t data) @@ -298,13 +107,11 @@ void dumpTraceBuffer() TRACE(" %03d 0x%08x", traceBuffer[n].event, traceBuffer[n].data); if (traceBuffer[n].time == 0 && traceBuffer[n].time_ms == 0) break; if ((n % 5) == 0) { - while (!uart3TxFifo.empty()) { + while (!serial2TxFifo.empty()) { CoTickDelay(1); } } } TRACE("End of Trace Buffer dump"); } - #endif - diff --git a/radio/src/debug.h b/radio/src/debug.h index 998b5550e..da513ad70 100644 --- a/radio/src/debug.h +++ b/radio/src/debug.h @@ -39,58 +39,42 @@ #include #include "rtc.h" +#include "dump.h" +#if defined(CLI) +#include "cli.h" +#endif -#if (defined(DEBUG) && defined(CPUARM)) || defined(SIMU) - -#ifdef __cplusplus +#if defined(__cplusplus) extern "C" { #endif +uint8_t serial2TracesEnabled(); +#if defined(__cplusplus) +} +#endif #if defined(SIMU) typedef void (*traceCallbackFunc)(const char * text); extern traceCallbackFunc traceCallback; +void debugPrintf(const char * format, ...); +#elif defined(DEBUG) && defined(CLI) && defined(USB_SERIAL) +#define debugPrintf(...) do { if (cliTracesEnabled) serialPrintf(__VA_ARGS__); } while(0) +#elif defined(DEBUG) && defined(CLI) +#define debugPrintf(...) do { if (serial2TracesEnabled() && cliTracesEnabled) serialPrintf(__VA_ARGS__); } while(0) +#elif defined(DEBUG) && defined(CPUARM) +#define debugPrintf(...) do { if (serial2TracesEnabled()) serialPrintf(__VA_ARGS__); } while(0) +#else +#define debugPrintf(...) #endif -void debugPuts(const char *string, ...); -void dump(unsigned char *data, unsigned int size); -void debugFlush(); - -#ifdef __cplusplus -} -#endif - -#define TRACE(...) do { debugPuts(__VA_ARGS__); debugPuts("\r\n"); } while(0) +#define TRACE(...) do { debugPrintf(__VA_ARGS__); debugPrintf("\r\n"); } while(0) #define DUMP(data, size) dump(data, size) -#define TRACE_DEBUG(...) debugPuts("-D- " __VA_ARGS__) -#define TRACE_DEBUG_WP(...) debugPuts(__VA_ARGS__) -#define TRACE_INFO(...) debugPuts("-I- " __VA_ARGS__) -#define TRACE_INFO_WP(...) debugPuts(__VA_ARGS__) -#define TRACE_WARNING(...) debugPuts("-W- " __VA_ARGS__) -#define TRACE_WARNING_WP(...) debugPuts(__VA_ARGS__) -#define TRACE_ERROR(...) debugPuts("-E- " __VA_ARGS__) - -#if !defined(SIMU) -#define FLUSH() debugFlush(); -void debugTask(void* pdata); -#else -#define FLUSH() -#endif - -#else - -#define TRACE(...) { } -#define DUMP(...) { } -#define TRACE_DEBUG(...) { } -#define TRACE_DEBUG_WP(...) { } -#define TRACE_INFO(...) { } -#define TRACE_INFO_WP(...) { } -#define TRACE_WARNING(...) { } -#define TRACE_WARNING_WP(...) { } -#define TRACE_ERROR(...) { } -#define FLUSH() - -#endif - +#define TRACE_DEBUG(...) debugPrintf("-D- " __VA_ARGS__) +#define TRACE_DEBUG_WP(...) debugPrintf(__VA_ARGS__) +#define TRACE_INFO(...) debugPrintf("-I- " __VA_ARGS__) +#define TRACE_INFO_WP(...) debugPrintf(__VA_ARGS__) +#define TRACE_WARNING(...) debugPrintf("-W- " __VA_ARGS__) +#define TRACE_WARNING_WP(...) debugPrintf(__VA_ARGS__) +#define TRACE_ERROR(...) debugPrintf("-E- " __VA_ARGS__) #if defined(DEBUG_TRACE_BUFFER) diff --git a/radio/src/dump.cpp b/radio/src/dump.cpp new file mode 100644 index 000000000..25bf29ab3 --- /dev/null +++ b/radio/src/dump.cpp @@ -0,0 +1,38 @@ +#include "opentx.h" + +#if defined(SIMU) +#define dumpPrintf(...) debugPrintf(__VA_ARGS__) +#else +#define dumpPrintf(...) serialPrintf(__VA_ARGS__) +#endif + +uint8_t dumpPosition; + +void dumpStart(unsigned int size) +{ + dumpPrintf("DUMP %d bytes ...\n\r", size); + dumpPosition = 0; +} + +void dumpBody(const uint8_t *data, unsigned int size) +{ + for (unsigned int i=0; i= TMRMODE_COUNT) timer.mode = TMRMODE_COUNT + ConvertSwitch_216_to_217(oldModel.timers[i].mode - TMRMODE_COUNT + 1) - 1; else - timer.mode = oldModel.timers[i].mode; + timer.mode = ConvertSwitch_216_to_217(oldModel.timers[i].mode); timer.start = oldModel.timers[i].start; timer.countdownBeep = oldModel.timers[i].countdownBeep; timer.minuteBeep = oldModel.timers[i].minuteBeep; diff --git a/radio/src/eeprom_raw.cpp b/radio/src/eeprom_raw.cpp index 859858b2f..1b801f0a7 100644 --- a/radio/src/eeprom_raw.cpp +++ b/radio/src/eeprom_raw.cpp @@ -370,6 +370,17 @@ void eeLoadModel(uint8_t id) restoreTimers(); +#if defined(CPUARM) + for (int i=0; iv1), LEFT|PREC1|attr); + v1_min = -128; + v1_max = 122; } else { v1_val = (uint8_t)cs->v1; @@ -163,8 +164,9 @@ void menuModelLogicalSwitchOne(uint8_t event) v2_min = SWSRC_OFF+1; v2_max = SWSRC_ON-1; } else if (cstate == LS_FAMILY_TIMER) { - lcd_outdezAtt(CSWONE_2ND_COLUMN, y, cs->v2+1, LEFT|attr); - v2_max = 99; + lcd_outdezAtt(CSWONE_2ND_COLUMN, y, lswTimerValue(cs->v2), LEFT|PREC1|attr); + v2_min = -128; + v2_max = 122; } else if (cstate == LS_FAMILY_EDGE) { putsEdgeDelayParam(CSWONE_2ND_COLUMN, y, cs, m_posHorz==0 ? attr : 0, m_posHorz==1 ? attr : 0); @@ -286,8 +288,8 @@ void menuModelLogicalSwitches(uint8_t event) putsEdgeDelayParam(CSW_3RD_COLUMN, y, cs, 0, 0); } else if (cstate == LS_FAMILY_TIMER) { - lcd_outdezAtt(CSW_2ND_COLUMN, y, cs->v1+1, LEFT); - lcd_outdezAtt(CSW_3RD_COLUMN, y, cs->v2+1, LEFT); + lcd_outdezAtt(CSW_2ND_COLUMN, y, lswTimerValue(cs->v1), LEFT|PREC1); + lcd_outdezAtt(CSW_3RD_COLUMN, y, lswTimerValue(cs->v2), LEFT|PREC1); } else { uint8_t v1 = cs->v1; diff --git a/radio/src/gui/9X/menu_model_setup.cpp b/radio/src/gui/9X/menu_model_setup.cpp index 0b12529b3..17bd92e60 100644 --- a/radio/src/gui/9X/menu_model_setup.cpp +++ b/radio/src/gui/9X/menu_model_setup.cpp @@ -79,7 +79,7 @@ enum menuModelSetupItems { ITEM_MODEL_EXTERNAL_MODULE_OUTPUT_TYPE, #endif ITEM_MODEL_EXTERNAL_MODULE_FAILSAFE, -#if defined(PCBSKY9X) && !defined(REVA) && !defined(REVX) +#if defined(PCBSKY9X) && !defined(REVA) ITEM_MODEL_EXTRA_MODULE_LABEL, ITEM_MODEL_EXTRA_MODULE_CHANNELS, ITEM_MODEL_EXTRA_MODULE_BIND, @@ -102,7 +102,7 @@ enum menuModelSetupItems { #define MODEL_SETUP_RANGE_OFS 4*FW+3 #define MODEL_SETUP_SET_FAILSAFE_OFS 7*FW-2 -#if defined(PCBSKY9X) && !defined(REVA) && !defined(REVX) +#if defined(PCBSKY9X) && !defined(REVA) #define CURRENT_MODULE_EDITED(k) (k>=ITEM_MODEL_EXTRA_MODULE_LABEL ? EXTRA_MODULE : EXTERNAL_MODULE) #else #define CURRENT_MODULE_EDITED(k) (EXTERNAL_MODULE) @@ -116,7 +116,7 @@ void menuModelSetup(uint8_t event) #define IS_D8_RX(x) (g_model.moduleData[x].rfProtocol == RF_PROTO_D8) #define EXTERNAL_MODULE_CHANNELS_ROWS() IF_EXTERNAL_MODULE_ON(IS_MODULE_DSM2(EXTERNAL_MODULE) ? (uint8_t)0 : (uint8_t)1) #define EXTERNAL_MODULE_SETTINGS_ROWS() (IS_MODULE_XJT(EXTERNAL_MODULE) && IS_D8_RX(EXTERNAL_MODULE)) ? (uint8_t)1 : (IS_MODULE_PPM(EXTERNAL_MODULE) || IS_MODULE_XJT(EXTERNAL_MODULE) || IS_MODULE_DSM2(EXTERNAL_MODULE)) ? (uint8_t)2 : HIDDEN_ROW -#if defined(PCBSKY9X) && defined(REVX) +#if defined(PCBSKY9X) && !defined(REVX) #define OUTPUT_TYPE_ROWS() (IS_MODULE_PPM(EXTERNAL_MODULE) ? (uint8_t)0 : HIDDEN_ROW) , #else #define OUTPUT_TYPE_ROWS() @@ -128,7 +128,7 @@ void menuModelSetup(uint8_t event) #define MODEL_SETUP_MAX_LINES (1+ITEM_MODEL_SETUP_MAX) #define POT_WARN_ITEMS() ((g_model.nPotsToWarn >> 6) ? (uint8_t)NUM_POTS : (uint8_t)0) #define TIMER_ROWS 2, 0, CASE_PERSISTENT_TIMERS(0) 0, 0 -#if (defined(PCBSKY9X) && !defined(REVA) && !defined(REVX)) +#if (defined(PCBSKY9X) && !defined(REVA)) #define EXTRA_MODULE_ROWS LABEL(ExtraModule), 1, 2, #else #define EXTRA_MODULE_ROWS @@ -256,7 +256,7 @@ void menuModelSetup(uint8_t event) case ITEM_MODEL_TIMER3_COUNTDOWN_BEEP: { TimerData * timer = &g_model.timers[k>=ITEM_MODEL_TIMER3 ? 2 : (k>=ITEM_MODEL_TIMER2 ? 1 : 0)]; - timer->countdownBeep = selectMenuItem(MODEL_SETUP_2ND_COLUMN, y, STR_BEEPCOUNTDOWN, STR_VBEEPCOUNTDOWN, timer->countdownBeep, 0, 2, attr, event); + timer->countdownBeep = selectMenuItem(MODEL_SETUP_2ND_COLUMN, y, STR_BEEPCOUNTDOWN, STR_VBEEPCOUNTDOWN, timer->countdownBeep, COUNTDOWN_SILENT, COUNTDOWN_COUNT-1, attr, event); break; } @@ -485,7 +485,7 @@ void menuModelSetup(uint8_t event) break; #endif -#if defined(PCBSKY9X) && !defined(REVX) +#if defined(PCBSKY9X) case ITEM_MODEL_EXTRA_MODULE_LABEL: lcd_putsLeft(y, "RF Port 2 (PPM)"); break; @@ -530,7 +530,7 @@ void menuModelSetup(uint8_t event) break; #endif -#if defined(PCBSKY9X) && !defined(REVX) +#if defined(PCBSKY9X) case ITEM_MODEL_EXTRA_MODULE_CHANNELS: #endif #if defined(CPUARM) @@ -562,7 +562,7 @@ void menuModelSetup(uint8_t event) } #endif -#if defined(PCBSKY9X) && !defined(REVX) +#if defined(PCBSKY9X) case ITEM_MODEL_EXTRA_MODULE_BIND: #endif #if defined(CPUARM) diff --git a/radio/src/gui/9X/menu_model_telemetry.cpp b/radio/src/gui/9X/menu_model_telemetry.cpp index ba2277b9a..55f2865be 100644 --- a/radio/src/gui/9X/menu_model_telemetry.cpp +++ b/radio/src/gui/9X/menu_model_telemetry.cpp @@ -86,8 +86,10 @@ enum menuModelTelemetryItems { ITEM_TELEMETRY_SENSOR30, ITEM_TELEMETRY_SENSOR31, ITEM_TELEMETRY_SENSOR32, - ITEM_TELEMETRY_NEWSENSOR, - ITEM_TELEMETRY_IGNORE_SENSORID, + ITEM_TELEMETRY_DISCOVER_SENSORS, + ITEM_TELEMETRY_NEW_SENSOR, + ITEM_TELEMETRY_DELETE_ALL_SENSORS, + ITEM_TELEMETRY_IGNORE_SENSOR_INSTANCE, #endif #if !defined(CPUARM) #if defined(FRSKY_HUB) || defined(WS_HOW_HIGH) @@ -132,30 +134,30 @@ enum menuModelTelemetryItems { }; #if defined(FRSKY) - #define TELEM_COL1 INDENT_WIDTH + #define TELEM_COL1 INDENT_WIDTH #if defined(TRANSLATIONS_FR) || defined(TRANSLATIONS_CZ) - #define TELEM_COL2 (9*FW) + #define TELEM_COL2 (9*FW) #else - #define TELEM_COL2 (8*FW) + #define TELEM_COL2 (8*FW) #endif - #define TELEM_BARS_COLMIN (56-3*FW) - #define TELEM_BARS_COLMAX (14*FW-3) - #define TELEM_SCRTYPE_COL TELEM_COL2 + #define TELEM_BARS_COLMIN (56-3*FW) + #define TELEM_BARS_COLMAX (14*FW-3) + #define TELEM_SCRTYPE_COL TELEM_COL2 -#define IS_RANGE_DEFINED(k) (g_model.frsky.channels[k].ratio > 0) +#define IS_RANGE_DEFINED(k) (g_model.frsky.channels[k].ratio > 0) #if defined(CPUARM) #define CHANNELS_ROWS - #define SENSOR_ROWS(x) (isTelemetryFieldAvailable(x) ? (uint8_t)0 : HIDDEN_ROW) - #define SENSORS_ROWS LABEL(Sensors), SENSOR_ROWS(0), SENSOR_ROWS(1), SENSOR_ROWS(2), SENSOR_ROWS(3), SENSOR_ROWS(4), SENSOR_ROWS(5), SENSOR_ROWS(6), SENSOR_ROWS(7), SENSOR_ROWS(8), SENSOR_ROWS(9), SENSOR_ROWS(10), SENSOR_ROWS(11), SENSOR_ROWS(12), SENSOR_ROWS(13), SENSOR_ROWS(14), SENSOR_ROWS(15), SENSOR_ROWS(16), SENSOR_ROWS(17), SENSOR_ROWS(18), SENSOR_ROWS(19), SENSOR_ROWS(20), SENSOR_ROWS(21), SENSOR_ROWS(22), SENSOR_ROWS(23), SENSOR_ROWS(24), SENSOR_ROWS(25), SENSOR_ROWS(26), SENSOR_ROWS(27), SENSOR_ROWS(28), SENSOR_ROWS(29), SENSOR_ROWS(30), SENSOR_ROWS(31), 0, 0, + #define SENSOR_ROWS(x) (isTelemetryFieldAvailable(x) ? (uint8_t)0 : HIDDEN_ROW) + #define SENSORS_ROWS LABEL(Sensors), SENSOR_ROWS(0), SENSOR_ROWS(1), SENSOR_ROWS(2), SENSOR_ROWS(3), SENSOR_ROWS(4), SENSOR_ROWS(5), SENSOR_ROWS(6), SENSOR_ROWS(7), SENSOR_ROWS(8), SENSOR_ROWS(9), SENSOR_ROWS(10), SENSOR_ROWS(11), SENSOR_ROWS(12), SENSOR_ROWS(13), SENSOR_ROWS(14), SENSOR_ROWS(15), SENSOR_ROWS(16), SENSOR_ROWS(17), SENSOR_ROWS(18), SENSOR_ROWS(19), SENSOR_ROWS(20), SENSOR_ROWS(21), SENSOR_ROWS(22), SENSOR_ROWS(23), SENSOR_ROWS(24), SENSOR_ROWS(25), SENSOR_ROWS(26), SENSOR_ROWS(27), SENSOR_ROWS(28), SENSOR_ROWS(29), SENSOR_ROWS(30), SENSOR_ROWS(31), 0, 0, 0, 0, #else - #define CHANNEL_ROWS(x) LABEL(CHANNEL), 1, 0, 2, 2 - #define CHANNELS_ROWS CHANNEL_ROWS(0), CHANNEL_ROWS(1), + #define CHANNEL_ROWS(x) LABEL(CHANNEL), 1, 0, 2, 2 + #define CHANNELS_ROWS CHANNEL_ROWS(0), CHANNEL_ROWS(1), #define SENSORS_ROWS #endif #if defined(FAS_OFFSET) || !defined(CPUM64) - #define IF_FAS_OFFSET(x) x, + #define IF_FAS_OFFSET(x) x, #else #define IF_FAS_OFFSET(x) #endif @@ -163,38 +165,38 @@ enum menuModelTelemetryItems { #if defined(CPUARM) #define USRDATA_ROWS #elif defined(FRSKY_HUB) || defined(WS_HOW_HIGH) - #define USRDATA_ROWS LABEL(UsrData), 0, 0, 0, 0, IF_FAS_OFFSET(0) + #define USRDATA_ROWS LABEL(UsrData), 0, 0, 0, 0, IF_FAS_OFFSET(0) #else - #define USRDATA_ROWS 0, 0, IF_FAS_OFFSET(0) + #define USRDATA_ROWS 0, 0, IF_FAS_OFFSET(0) #endif -#define RSSI_ROWS LABEL(RSSI), 1, 1, +#define RSSI_ROWS LABEL(RSSI), 1, 1, #if defined(CPUARM) || defined(GAUGES) - #define SCREEN_TYPE_ROWS 0 + #define SCREEN_TYPE_ROWS 0 #else - #define SCREEN_TYPE_ROWS LABEL(SCREEN) + #define SCREEN_TYPE_ROWS LABEL(SCREEN) #endif #if defined(PCBSTD) - #define VARIO_RANGE_ROWS 1 + #define VARIO_RANGE_ROWS 1 #else - #define VARIO_RANGE_ROWS 3 + #define VARIO_RANGE_ROWS 3 #endif #if defined(CPUARM) - #define TELEMETRY_TYPE_ROWS 0, + #define TELEMETRY_TYPE_ROWS 0, #else #define TELEMETRY_TYPE_ROWS #endif #if defined(CPUARM) - #define TELEMETRY_SCREEN_LINE(x) (TELEMETRY_SCREEN_TYPE(x) == TELEMETRY_SCREEN_TYPE_NONE ? HIDDEN_ROW : (uint8_t)2) - #define TELEMETRY_SCREEN_ROWS(x) SCREEN_TYPE_ROWS, TELEMETRY_SCREEN_LINE(x), TELEMETRY_SCREEN_LINE(x), TELEMETRY_SCREEN_LINE(x), TELEMETRY_SCREEN_LINE(x) - #define TELEMETRY_CURRENT_EDIT_SCREEN(k) (k < ITEM_TELEMETRY_SCREEN_LABEL2 ? 0 : (k < ITEM_TELEMETRY_SCREEN_LABEL3 ? 1 : (k < ITEM_TELEMETRY_SCREEN_LABEL4 ? 2 : 3))) + #define TELEMETRY_SCREEN_LINE(x) (TELEMETRY_SCREEN_TYPE(x) == TELEMETRY_SCREEN_TYPE_NONE ? HIDDEN_ROW : (uint8_t)2) + #define TELEMETRY_SCREEN_ROWS(x) SCREEN_TYPE_ROWS, TELEMETRY_SCREEN_LINE(x), TELEMETRY_SCREEN_LINE(x), TELEMETRY_SCREEN_LINE(x), TELEMETRY_SCREEN_LINE(x) + #define TELEMETRY_CURRENT_SCREEN(k) (k < ITEM_TELEMETRY_SCREEN_LABEL2 ? 0 : (k < ITEM_TELEMETRY_SCREEN_LABEL3 ? 1 : (k < ITEM_TELEMETRY_SCREEN_LABEL4 ? 2 : 3))) #else - #define TELEMETRY_SCREEN_ROWS(x) SCREEN_TYPE_ROWS, 2, 2, 2, 2 - #define TELEMETRY_CURRENT_EDIT_CHANNEL(k) (k >= ITEM_TELEMETRY_A2_LABEL ? TELEM_ANA_A2 : TELEM_ANA_A1) + #define TELEMETRY_SCREEN_ROWS(x) SCREEN_TYPE_ROWS, 2, 2, 2, 2 + #define TELEMETRY_CURRENT_CHANNEL(k) (k >= ITEM_TELEMETRY_A2_LABEL ? TELEM_ANA_A2 : TELEM_ANA_A1) #endif #if defined(CPUARM) @@ -497,7 +499,7 @@ void onSensorMenu(const char *result) if (index= HIDDEN_ROW) || (l_posVert==2 && MAXCOL(vertpos_t(0)) >= HIDDEN_ROW && MAXCOL(vertpos_t(1)) >= HIDDEN_ROW)) { + s_pgOfs = 0; + if (horTab) { + linesCount = 0; + for (int i=0; i=horTabMax || horTab[i] != HIDDEN_ROW) { + linesCount++; + } + } + } + } + else if (horTab) { + if (maxrow > maxLines) { + while (1) { + vertpos_t firstLine = 0; + for (int numLines=0; firstLine=horTabMax || horTab[firstLine+1] != HIDDEN_ROW) { + numLines++; + } + } + if (l_posVert <= firstLine) { + s_pgOfs--; + } + else { + vertpos_t lastLine = firstLine; + for (int numLines=0; lastLine=horTabMax || horTab[lastLine+1] != HIDDEN_ROW) { + numLines++; + } + } + if (l_posVert > lastLine) { + s_pgOfs++; + } + else { + linesCount = s_pgOfs + maxLines; + for (int i=lastLine; i=horTabMax || horTab[i] != HIDDEN_ROW) { + linesCount++; + } + } + break; + } + } + } + } + } +#else if (l_posVert<1) { s_pgOfs=0; } - else if (menuTab && horTab) { - vertpos_t realPosVert = l_posVert; - vertpos_t realPgOfs = s_pgOfs; - vertpos_t realMaxrow = maxrow; - for (vertpos_t i=1; i<=maxrow; i++) { - if (MAXCOL(i) == HIDDEN_ROW) { - realMaxrow--; - if (i < l_posVert) - realPosVert--; - if (i < s_pgOfs) - realPgOfs--; - } - } - if (realPosVert>(LCD_LINES-1)+realPgOfs) realPgOfs = realPosVert-(LCD_LINES-1); - else if (realPosVert<1+realPgOfs) realPgOfs = realPosVert-1; - s_pgOfs = realPgOfs; - for (vertpos_t i=1; i<=realPgOfs; i++) { - if (MAXCOL(i) == HIDDEN_ROW) { - s_pgOfs++; - } - } - maxrow = realMaxrow; - } - else { - uint8_t max = menuTab ? LCD_LINES-1 : LCD_LINES-2; - if (l_posVert>max+s_pgOfs) s_pgOfs = l_posVert-max; - else if (l_posVert<1+s_pgOfs) s_pgOfs = l_posVert-1; - } -#else - uint8_t max = menuTab ? LCD_LINES-1 : LCD_LINES-2; - if (l_posVert<1) s_pgOfs=0; - else if (l_posVert>max+s_pgOfs) s_pgOfs = l_posVert-max; - else if (l_posVert<1+s_pgOfs) s_pgOfs = l_posVert-1; #endif + else { + if (l_posVert>maxLines+s_pgOfs) { + s_pgOfs = l_posVert-maxLines; + } + else if (l_posVert<=s_pgOfs) { + s_pgOfs = l_posVert-1; + } + } + m_posVert = l_posVert; m_posHorz = l_posHorz; #if !defined(CPUM64) diff --git a/radio/src/gui/9X/popups.cpp b/radio/src/gui/9X/popups.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/9X/splash.cpp b/radio/src/gui/9X/splash.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/9X/view_about.cpp b/radio/src/gui/9X/view_about.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/9X/view_main.cpp b/radio/src/gui/9X/view_main.cpp index fcb69b76c..031e1e672 100644 --- a/radio/src/gui/9X/view_main.cpp +++ b/radio/src/gui/9X/view_main.cpp @@ -223,14 +223,14 @@ void displayBattVoltage() #if defined(PCBSKY9X) void displayVoltageOrAlarm() { - if (IS_TXBATT_WARNING()) { - displayBattVoltage(); - } - else if (g_eeGeneral.temperatureWarn && getTemperature() >= g_eeGeneral.temperatureWarn) { + if (g_eeGeneral.temperatureWarn && getTemperature() >= g_eeGeneral.temperatureWarn) { putsValueWithUnit(6*FW-1, 2*FH, getTemperature(), UNIT_TEMPERATURE, BLINK|INVERS|DBLSIZE); } - else if (g_eeGeneral.mAhWarn && (g_eeGeneral.mAhUsed + Current_used * (488 + g_eeGeneral.currentCalib)/8192/36) / 500 >= g_eeGeneral.mAhWarn) { - putsValueWithUnit(7*FW-1, 2*FH, (g_eeGeneral.mAhUsed + Current_used*(488 + g_eeGeneral.currentCalib)/8192/36)/10, UNIT_MAH, BLINK|INVERS|DBLSIZE); + else if (g_eeGeneral.mAhWarn && (g_eeGeneral.mAhUsed + Current_used * (488 + g_eeGeneral.txCurrentCalibration)/8192/36) / 500 >= g_eeGeneral.mAhWarn) { + putsValueWithUnit(7*FW-1, 2*FH, (g_eeGeneral.mAhUsed + Current_used*(488 + g_eeGeneral.txCurrentCalibration)/8192/36)/10, UNIT_MAH, BLINK|INVERS|DBLSIZE); + } + else { + displayBattVoltage(); } } #else diff --git a/radio/src/gui/9X/view_mavlink.cpp b/radio/src/gui/9X/view_mavlink.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/9X/view_mavlink.h b/radio/src/gui/9X/view_mavlink.h old mode 100755 new mode 100644 index 993bca2b3..9032124f2 --- a/radio/src/gui/9X/view_mavlink.h +++ b/radio/src/gui/9X/view_mavlink.h @@ -46,7 +46,7 @@ #include "opentx.h" #include "telemetry/mavlink.h" #include "gui/9X/menus.h" -#include "serial.h" +#include "targets/common_avr/serial_driver.h" #define APSIZE (BSS | DBLSIZE) diff --git a/radio/src/gui/9X/view_statistics.cpp b/radio/src/gui/9X/view_statistics.cpp old mode 100755 new mode 100644 index bba47eda7..209c3b033 --- a/radio/src/gui/9X/view_statistics.cpp +++ b/radio/src/gui/9X/view_statistics.cpp @@ -151,11 +151,11 @@ void menuStatisticsDebug(uint8_t event) } #endif -#if defined(PCBSKY9X) && !defined(REVA) +#if defined(TX_CAPACITY_MEASUREMENT) // current lcd_putsLeft(MENU_DEBUG_Y_CURRENT, STR_CPU_CURRENT); putsValueWithUnit(MENU_DEBUG_COL1_OFS, MENU_DEBUG_Y_CURRENT, getCurrent(), UNIT_MILLIAMPS, LEFT); - uint32_t current_scale = 488 + g_eeGeneral.currentCalib; + uint32_t current_scale = 488 + g_eeGeneral.txCurrentCalibration; lcd_putc(MENU_DEBUG_COL2_OFS, MENU_DEBUG_Y_CURRENT, '>'); putsValueWithUnit(MENU_DEBUG_COL2_OFS+FW+1, MENU_DEBUG_Y_CURRENT, Current_max*10*current_scale/8192, UNIT_RAW, LEFT); // consumption @@ -196,11 +196,11 @@ void menuStatisticsDebug(uint8_t event) #if defined(CPUARM) lcd_putsLeft(MENU_DEBUG_Y_RTOS, STR_FREESTACKMINB); - lcd_outdezAtt(MENU_DEBUG_COL1_OFS, MENU_DEBUG_Y_RTOS+2, stack_free(0), UNSIGN|LEFT|TINSIZE); + lcd_outdezAtt(MENU_DEBUG_COL1_OFS, MENU_DEBUG_Y_RTOS+2, menusStack.available(), UNSIGN|LEFT|TINSIZE); lcd_puts(lcdLastPos, MENU_DEBUG_Y_RTOS, "/"); - lcd_outdezAtt(lcdLastPos, MENU_DEBUG_Y_RTOS+2, stack_free(1), UNSIGN|LEFT|TINSIZE); + lcd_outdezAtt(lcdLastPos, MENU_DEBUG_Y_RTOS+2, mixerStack.available(), UNSIGN|LEFT|TINSIZE); lcd_puts(lcdLastPos, MENU_DEBUG_Y_RTOS, "/"); - lcd_outdezAtt(lcdLastPos, MENU_DEBUG_Y_RTOS+2, stack_free(2), UNSIGN|LEFT|TINSIZE); + lcd_outdezAtt(lcdLastPos, MENU_DEBUG_Y_RTOS+2, audioStack.available(), UNSIGN|LEFT|TINSIZE); #endif #if !defined(CPUARM) @@ -213,7 +213,7 @@ void menuStatisticsDebug(uint8_t event) lcd_putsLeft(4*FH, STR_TMIXMAXMS); lcd_outdezAtt(MENU_DEBUG_COL1_OFS, 4*FH, DURATION_MS_PREC2(maxMixerDuration), PREC2); lcd_putsLeft(5*FH, STR_FREESTACKMINB); - lcd_outdezAtt(14*FW, 5*FH, stack_free(), UNSIGN) ; + lcd_outdezAtt(14*FW, 5*FH, stackAvailable(), UNSIGN) ; #endif lcd_puts(4*FW, 7*FH+1, STR_MENUTORESET); diff --git a/radio/src/gui/9X/view_telemetry.cpp b/radio/src/gui/9X/view_telemetry.cpp old mode 100755 new mode 100644 index bc78cd932..d948da6b8 --- a/radio/src/gui/9X/view_telemetry.cpp +++ b/radio/src/gui/9X/view_telemetry.cpp @@ -246,6 +246,10 @@ bool displayGaugesTelemetryScreen(FrSkyScreenData & screen) #if defined(CPUARM) getvalue_t barMin = bar.barMin; getvalue_t barMax = bar.barMax; + if (source <= MIXSRC_LAST_CH) { + barMin = calc100toRESX(barMin); + barMax = calc100toRESX(barMax); + } #else getvalue_t barMin = convertBarTelemValue(source, bar.barMin); getvalue_t barMax = convertBarTelemValue(source, 255-bar.barMax); diff --git a/radio/src/gui/9X/view_text.cpp b/radio/src/gui/9X/view_text.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/9X/widgets.cpp b/radio/src/gui/9X/widgets.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/fonts.cpp b/radio/src/gui/Taranis/fonts.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/gui.h b/radio/src/gui/Taranis/gui.h old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/helpers.cpp b/radio/src/gui/Taranis/helpers.cpp old mode 100755 new mode 100644 index d60934a3c..d479234f5 --- a/radio/src/gui/Taranis/helpers.cpp +++ b/radio/src/gui/Taranis/helpers.cpp @@ -203,7 +203,7 @@ bool isSwitchAvailable(int swtch, SwitchContext context) if (swtch < 0) { negative = true; - if (swtch == -SWSRC_ON || swtch == -SWSRC_One) { + if (swtch == -SWSRC_ON || swtch == -SWSRC_ONE) { return false; } swtch = -swtch; @@ -245,7 +245,7 @@ bool isSwitchAvailable(int swtch, SwitchContext context) } } - if (context != ModelCustomFunctionsContext && context != GeneralCustomFunctionsContext && (swtch == SWSRC_ON || swtch == SWSRC_One)) { + if (context != ModelCustomFunctionsContext && context != GeneralCustomFunctionsContext && (swtch == SWSRC_ON || swtch == SWSRC_ONE)) { return false; } @@ -304,7 +304,7 @@ bool isSwitchAvailableInTimers(int swtch) bool isThrottleSourceAvailable(int source) { - if (source == THROTTLE_SOURCE_S3 && !IS_POT_AVAILABLE(POT3)) + if (source >= THROTTLE_SOURCE_FIRST_POT && source < THROTTLE_SOURCE_FIRST_POT+NUM_POTS && !IS_POT_AVAILABLE(POT1+source-THROTTLE_SOURCE_FIRST_POT)) return false; else return true; @@ -337,7 +337,7 @@ bool isAssignableFunctionAvailable(int function) #if !defined(HAPTIC) case FUNC_HAPTIC: #endif - case FUNC_PLAY_DIFF: + case FUNC_RESERVE4: #if !defined(DANGEROUS_MODULE_FUNCTIONS) case FUNC_RANGECHECK: case FUNC_BIND: diff --git a/radio/src/gui/Taranis/lcd.cpp b/radio/src/gui/Taranis/lcd.cpp old mode 100755 new mode 100644 index 3d5030080..738726564 --- a/radio/src/gui/Taranis/lcd.cpp +++ b/radio/src/gui/Taranis/lcd.cpp @@ -45,6 +45,11 @@ display_t displayBuf[DISPLAY_BUF_SIZE] __DMA; #endif +inline bool lcdIsPointOutside(coord_t x, coord_t y) +{ + return (x<0 || x>=LCD_W || y<0 || y>=LCD_H); +} + void lcd_clear() { memset(displayBuf, 0, DISPLAY_BUFER_SIZE); @@ -476,6 +481,8 @@ void lcd_hline(coord_t x, coord_t y, coord_t w, LcdFlags att) #if !defined(BOOT) void lcd_line(coord_t x1, coord_t y1, coord_t x2, coord_t y2, uint8_t pat, LcdFlags att) { + if (lcdIsPointOutside(x1, y1) || lcdIsPointOutside(x2, y2)) return; + int dx = x2-x1; /* the horizontal distance of the line */ int dy = y2-y1; /* the vertical distance of the line */ int dxabs = abs(dx); @@ -674,7 +681,7 @@ void putsMixerSource(coord_t x, coord_t y, uint32_t idx, LcdFlags att) else lcd_putsiAtt(x, y, STR_VSRCRAW, idx+1, att); } - else if (idx >= MIXSRC_FIRST_SWITCH && idx < MIXSRC_FIRST_LOGICAL_SWITCH) { + else if (idx >= MIXSRC_FIRST_SWITCH && idx <= MIXSRC_LAST_SWITCH) { idx = idx-MIXSRC_FIRST_SWITCH; if (ZEXIST(g_eeGeneral.switchNames[idx])) { lcd_putcAtt(x, y, '\312', att); //switch symbol @@ -692,13 +699,13 @@ void putsMixerSource(coord_t x, coord_t y, uint32_t idx, LcdFlags att) else if (idx <= MIXSRC_LAST_CH) { putsStrIdx(x, y, STR_CH, idx-MIXSRC_CH1+1, att); if (ZEXIST(g_model.limitData[idx-MIXSRC_CH1].name) && (att & STREXPANDED)) { - lcd_putcAtt(lcdLastPos, y, ' ', att); - lcd_putsnAtt(lcdLastPos+3, y, g_model.limitData[idx-MIXSRC_CH1].name, LEN_CHANNEL_NAME, ZCHAR|att); + lcd_putcAtt(lcdLastPos, y, ' ', att|SMLSIZE); + lcd_putsnAtt(lcdLastPos+3, y, g_model.limitData[idx-MIXSRC_CH1].name, LEN_CHANNEL_NAME, ZCHAR|att|SMLSIZE); } } - else if (idx <= MIXSRC_LAST_GVAR) + else if (idx <= MIXSRC_LAST_GVAR) { putsStrIdx(x, y, STR_GV, idx-MIXSRC_GVAR1+1, att); - + } else if (idx < MIXSRC_FIRST_TELEM) { lcd_putsiAtt(x, y, STR_VSRCRAW, idx-MIXSRC_Rud+1-NUM_LOGICAL_SWITCH-NUM_TRAINER-NUM_CHNOUT-MAX_GVARS, att); } @@ -727,29 +734,48 @@ void putsModelName(coord_t x, coord_t y, char *name, uint8_t id, LcdFlags att) } } -void putsSwitches(coord_t x, coord_t y, int8_t idx, LcdFlags att) +void putsSwitches(coord_t x, coord_t y, int32_t idx, LcdFlags att) { - if (idx == SWSRC_OFF) + if (idx == SWSRC_NONE) { + return lcd_putsiAtt(x, y, STR_VSWITCHES, 0, att); + } + else if (idx == SWSRC_OFF) { return lcd_putsiAtt(x, y, STR_OFFON, 0, att); + } + if (idx < 0) { lcd_putcAtt(x-2, y, '!', att); idx = -idx; } -#if defined(FLIGHT_MODES) - if (idx >= SWSRC_FIRST_FLIGHT_MODE) { - return putsStrIdx(x, y, STR_FP, idx-SWSRC_FIRST_FLIGHT_MODE, att); - } -#endif - if (idx >= SWSRC_FIRST_SWITCH && idx <= SWSRC_LAST_SWITCH) { + + if (idx <= SWSRC_LAST_SWITCH) { div_t swinfo = switchInfo(idx); if (ZEXIST(g_eeGeneral.switchNames[swinfo.quot])) { lcd_putsnAtt(x, y, g_eeGeneral.switchNames[swinfo.quot], LEN_SWITCH_NAME, ZCHAR|att); - char c = "\300-\301"[swinfo.rem]; - lcd_putcAtt(lcdNextPos, y, c, att); - return; } + else { + lcd_putcAtt(x, y, 'S', att); + lcd_putcAtt(lcdNextPos, y, 'A'+swinfo.quot, att); + } + char c = "\300-\301"[swinfo.rem]; + lcd_putcAtt(lcdNextPos, y, c, att); + } + else if (idx <= SWSRC_LAST_MULTIPOS_SWITCH) { + div_t swinfo = div(idx - SWSRC_FIRST_MULTIPOS_SWITCH, XPOTS_MULTIPOS_COUNT); + putsStrIdx(x, y, "S", swinfo.quot*10+swinfo.rem+11, att); + } + else if (idx <= SWSRC_LAST_TRIM) { + lcd_putsiAtt(x, y, STR_VSWITCHES, idx-SWSRC_FIRST_TRIM+1, att); + } + else if (idx <= SWSRC_LAST_LOGICAL_SWITCH) { + putsStrIdx(x, y, "L", idx-SWSRC_FIRST_LOGICAL_SWITCH+1, att); + } + else if (idx <= SWSRC_ONE) { + lcd_putsiAtt(x, y, STR_VSWITCHES, idx-SWSRC_ON+1+(2*NUM_STICKS), att); + } + else { + putsStrIdx(x, y, STR_FP, idx-SWSRC_FIRST_FLIGHT_MODE, att); } - return lcd_putsiAtt(x, y, STR_VSWITCHES, idx, att); } #if defined(FLIGHT_MODES) @@ -803,7 +829,7 @@ void putsCurve(coord_t x, coord_t y, int8_t idx, LcdFlags att) putsStrIdx(x, y, STR_CV, idx, att); } -void putsTimerMode(coord_t x, coord_t y, int8_t mode, LcdFlags att) +void putsTimerMode(coord_t x, coord_t y, int32_t mode, LcdFlags att) { if (mode >= 0) { if (mode < TMRMODE_COUNT) @@ -1010,7 +1036,7 @@ void lcd_mask(uint8_t *p, uint8_t mask, LcdFlags att) void lcd_plot(coord_t x, coord_t y, LcdFlags att) { - if (x<0 || x>=LCD_W || y<0 || y>=LCD_H) return; + if (lcdIsPointOutside(x, y)) return; uint8_t *p = &displayBuf[ y / 2 * LCD_W + x ]; uint8_t mask = PIXEL_GREY_MASK(y, att); lcd_mask(p, mask, att); diff --git a/radio/src/gui/Taranis/lcd.h b/radio/src/gui/Taranis/lcd.h old mode 100755 new mode 100644 index 52a4c3ea6..a5342efb8 --- a/radio/src/gui/Taranis/lcd.h +++ b/radio/src/gui/Taranis/lcd.h @@ -167,7 +167,7 @@ void lcd_outdez8(coord_t x, coord_t y, int8_t val); void putsStrIdx(coord_t x, coord_t y, const pm_char *str, uint8_t idx, LcdFlags att=0); void putsModelName(coord_t x, coord_t y, char *name, uint8_t id, LcdFlags att); -void putsSwitches(coord_t x, coord_t y, int8_t swtch, LcdFlags att=0); +void putsSwitches(coord_t x, coord_t y, int32_t swtch, LcdFlags att=0); void putsStickName(coord_t x, coord_t y, uint8_t idx, LcdFlags att=0); void putsMixerSource(coord_t x, coord_t y, uint32_t idx, LcdFlags att=0); void putsFlightMode(coord_t x, coord_t y, int8_t idx, LcdFlags att=0); @@ -175,7 +175,7 @@ void putsFlightMode(coord_t x, coord_t y, int8_t idx, LcdFlags att=0); void putsCurveRef(coord_t x, coord_t y, CurveRef &curve, LcdFlags att); #endif void putsCurve(coord_t x, coord_t y, int8_t idx, LcdFlags att=0); -void putsTimerMode(coord_t x, coord_t y, int8_t mode, LcdFlags att=0); +void putsTimerMode(coord_t x, coord_t y, int32_t mode, LcdFlags att=0); void putsTrimMode(coord_t x, coord_t y, uint8_t phase, uint8_t idx, LcdFlags att); #define putsChn(x, y, idx, att) putsMixerSource(x, y, MIXSRC_CH1+idx-1, att) diff --git a/radio/src/gui/Taranis/menu_general.cpp b/radio/src/gui/Taranis/menu_general.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/menu_general_calib.cpp b/radio/src/gui/Taranis/menu_general_calib.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/menu_general_diaganas.cpp b/radio/src/gui/Taranis/menu_general_diaganas.cpp old mode 100755 new mode 100644 index f067ee868..05b0d9f4f --- a/radio/src/gui/Taranis/menu_general_diaganas.cpp +++ b/radio/src/gui/Taranis/menu_general_diaganas.cpp @@ -62,9 +62,9 @@ void menuGeneralDiagAna(uint8_t event) lcd_putsLeft(MENU_HEADER_HEIGHT+1+5*FH, STR_BATT_CALIB); static int32_t adcBatt; adcBatt = ((adcBatt * 7) + anaIn(TX_VOLTAGE)) / 8; - uint32_t batCalV = (adcBatt + (adcBatt*g_eeGeneral.vBatCalib)/128) * BATT_SCALE; + uint32_t batCalV = (adcBatt + (adcBatt*g_eeGeneral.txVoltageCalibration)/128) * BATT_SCALE; batCalV >>= 11; batCalV += 2; // because of the diode putsVolts(LEN_CALIB_FIELDS*FW+4*FW, MENU_HEADER_HEIGHT+1+5*FH, batCalV, s_editMode > 0 ? BLINK|INVERS : INVERS); - if (s_editMode > 0) CHECK_INCDEC_GENVAR(event, g_eeGeneral.vBatCalib, -127, 127); + if (s_editMode > 0) CHECK_INCDEC_GENVAR(event, g_eeGeneral.txVoltageCalibration, -127, 127); } diff --git a/radio/src/gui/Taranis/menu_general_diagkeys.cpp b/radio/src/gui/Taranis/menu_general_diagkeys.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/menu_general_hardware.cpp b/radio/src/gui/Taranis/menu_general_hardware.cpp old mode 100755 new mode 100644 index df8e99e82..f1b9deee2 --- a/radio/src/gui/Taranis/menu_general_hardware.cpp +++ b/radio/src/gui/Taranis/menu_general_hardware.cpp @@ -219,9 +219,9 @@ void menuGeneralHardware(uint8_t event) break; #endif case ITEM_SETUP_HW_UART3_MODE: - g_eeGeneral.uart3Mode = selectMenuItem(HW_SETTINGS_COLUMN, y, STR_UART3MODE, STR_UART3MODES, g_eeGeneral.uart3Mode, 0, UART_MODE_MAX, attr, event); + g_eeGeneral.serial2Mode = selectMenuItem(HW_SETTINGS_COLUMN, y, STR_UART3MODE, STR_UART3MODES, g_eeGeneral.serial2Mode, 0, UART_MODE_MAX, attr, event); if (attr && checkIncDec_Ret) { - uart3Init(g_eeGeneral.uart3Mode, MODEL_TELEMETRY_PROTOCOL()); + serial2Init(g_eeGeneral.serial2Mode, MODEL_TELEMETRY_PROTOCOL()); } break; } diff --git a/radio/src/gui/Taranis/menu_general_sdmanager.cpp b/radio/src/gui/Taranis/menu_general_sdmanager.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/menu_general_setup.cpp b/radio/src/gui/Taranis/menu_general_setup.cpp old mode 100755 new mode 100644 index ecb53e901..f3b7864a6 --- a/radio/src/gui/Taranis/menu_general_setup.cpp +++ b/radio/src/gui/Taranis/menu_general_setup.cpp @@ -337,22 +337,6 @@ void menuGeneralSetup(uint8_t event) break; } -#if defined(PCBSKY9X) - case ITEM_SETUP_CAPACITY_WARNING: - lcd_putsLeft(y, STR_CAPAWARNING); - putsValueWithUnit(RADIO_SETUP_2ND_COLUMN, y, g_eeGeneral.mAhWarn*50, UNIT_MAH, attr|LEFT) ; - if(attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.mAhWarn, 0, 100); - break; -#endif - -#if defined(PCBSKY9X) - case ITEM_SETUP_TEMPERATURE_WARNING: - lcd_putsLeft(y, STR_TEMPWARNING); - putsValueWithUnit(RADIO_SETUP_2ND_COLUMN, y, g_eeGeneral.temperatureWarn, UNIT_TEMPERATURE, attr|LEFT) ; - if(attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.temperatureWarn, 0, 120); // 0 means no alarm - break; -#endif - case ITEM_SETUP_INACTIVITY_ALARM: lcd_putsLeft(y, STR_INACTIVITYALARM); lcd_outdezAtt(RADIO_SETUP_2ND_COLUMN, y, g_eeGeneral.inactivityTimer, attr|LEFT); diff --git a/radio/src/gui/Taranis/menu_general_trainer.cpp b/radio/src/gui/Taranis/menu_general_trainer.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/menu_general_version.cpp b/radio/src/gui/Taranis/menu_general_version.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/menu_model.cpp b/radio/src/gui/Taranis/menu_model.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/menu_model_custom_functions.cpp b/radio/src/gui/Taranis/menu_model_custom_functions.cpp index 3c59042d4..117ed9745 100644 --- a/radio/src/gui/Taranis/menu_model_custom_functions.cpp +++ b/radio/src/gui/Taranis/menu_model_custom_functions.cpp @@ -121,6 +121,35 @@ void onCustomFunctionsMenu(const char *result) } } +void onAdjustGvarSourceLongEnterPress(const char * result) +{ + CustomFunctionData * cfn = &g_model.customFn[m_posVert]; + + if (result == STR_CONSTANT) { + CFN_GVAR_MODE(cfn) = FUNC_ADJUST_GVAR_CONSTANT; + CFN_PARAM(cfn) = 0; + eeDirty(EE_MODEL); + } + else if (result == STR_MIXSOURCE) { + CFN_GVAR_MODE(cfn) = FUNC_ADJUST_GVAR_SOURCE; + CFN_PARAM(cfn) = 0; + eeDirty(EE_MODEL); + } + else if (result == STR_GLOBALVAR) { + CFN_GVAR_MODE(cfn) = FUNC_ADJUST_GVAR_GVAR; + CFN_PARAM(cfn) = 0; + eeDirty(EE_MODEL); + } + else if (result == STR_INCDEC) { + CFN_GVAR_MODE(cfn) = FUNC_ADJUST_GVAR_INC; + CFN_PARAM(cfn) = 0; + eeDirty(EE_MODEL); + } + else { + onSourceLongEnterPress(result); + } +} + void menuCustomFunctions(uint8_t event, CustomFunctionData * functions, CustomFunctionsContext * functionsContext) { int sub = m_posVert; @@ -231,7 +260,7 @@ void menuCustomFunctions(uint8_t event, CustomFunctionData * functions, CustomFu TelemetrySensor * sensor = & g_model.telemetrySensors[param-FUNC_RESET_PARAM_FIRST_TELEM]; lcd_putsnAtt(MODEL_CUSTOM_FUNC_3RD_COLUMN, y, sensor->label, TELEM_LABEL_LEN, attr|ZCHAR); } - INCDEC_ENABLE_CHECK(functionsContext == &globalFunctionsContext ? isSourceAvailableInGlobalResetSpecialFunction : isSourceAvailableInResetSpecialFunction); + if (active) INCDEC_ENABLE_CHECK(functionsContext == &globalFunctionsContext ? isSourceAvailableInGlobalResetSpecialFunction : isSourceAvailableInResetSpecialFunction); } #if defined(OVERRIDE_CHANNEL_FUNCTION) else if (func == FUNC_OVERRIDE_CHANNEL) { @@ -287,15 +316,19 @@ void menuCustomFunctions(uint8_t event, CustomFunctionData * functions, CustomFu else if (func == FUNC_PLAY_VALUE) { val_max = MIXSRC_LAST_TELEM; putsMixerSource(MODEL_CUSTOM_FUNC_3RD_COLUMN, y, val_displayed, attr); - INCDEC_SET_FLAG(eeFlags | INCDEC_SOURCE); - INCDEC_ENABLE_CHECK(functionsContext == &globalFunctionsContext ? isSourceAvailableInGlobalFunctions : isSourceAvailable); + if (active) { + INCDEC_SET_FLAG(eeFlags | INCDEC_SOURCE); + INCDEC_ENABLE_CHECK(functionsContext == &globalFunctionsContext ? isSourceAvailableInGlobalFunctions : isSourceAvailable); + } } #endif else if (func == FUNC_VOLUME) { val_max = MIXSRC_LAST_CH; putsMixerSource(MODEL_CUSTOM_FUNC_3RD_COLUMN, y, val_displayed, attr); - INCDEC_SET_FLAG(eeFlags | INCDEC_SOURCE); - INCDEC_ENABLE_CHECK(isSourceAvailable); + if (active) { + INCDEC_SET_FLAG(eeFlags | INCDEC_SOURCE); + INCDEC_ENABLE_CHECK(isSourceAvailable); + } } else if (func == FUNC_LOGS) { if (val_displayed) { @@ -309,7 +342,7 @@ void menuCustomFunctions(uint8_t event, CustomFunctionData * functions, CustomFu #if defined(REVPLUS) else if (func == FUNC_BACKLIGHT) { displaySlider(MODEL_CUSTOM_FUNC_3RD_COLUMN, y, CFN_PARAM(cfn), 100, attr); - INCDEC_SET_FLAG(eeFlags | NO_INCDEC_MARKS); + if (active) INCDEC_SET_FLAG(eeFlags | NO_INCDEC_MARKS); val_min = 0; val_max = 100; } @@ -325,36 +358,49 @@ void menuCustomFunctions(uint8_t event, CustomFunctionData * functions, CustomFu case FUNC_ADJUST_GVAR_SOURCE: val_max = MIXSRC_LAST_CH; putsMixerSource(MODEL_CUSTOM_FUNC_3RD_COLUMN, y, val_displayed, attr); - // TODO later, we have a conflict on [Enter Long] here ... - // INCDEC_SET_FLAG(eeFlags | INCDEC_SOURCE); - INCDEC_ENABLE_CHECK(isSourceAvailable); + if (active) { + INCDEC_SET_FLAG(eeFlags | INCDEC_SOURCE); + INCDEC_ENABLE_CHECK(isSourceAvailable); + } break; case FUNC_ADJUST_GVAR_GVAR: val_max = MAX_GVARS-1; putsStrIdx(MODEL_CUSTOM_FUNC_3RD_COLUMN, y, STR_GV, val_displayed+1, attr); break; default: // FUNC_ADJUST_GVAR_INC +#if 0 // TODO 2.2.X + val_min = -100; val_max = +100; + if (val_displayed < 0) + lcd_putsAtt(MODEL_CUSTOM_FUNC_3RD_COLUMN, y, "-=", attr); + else + lcd_putsAtt(MODEL_CUSTOM_FUNC_3RD_COLUMN, y, "+=", attr); + lcd_outdezAtt(lcdNextPos, y, abs(val_displayed), attr|LEFT); +#endif val_max = 1; lcd_putsiAtt(MODEL_CUSTOM_FUNC_3RD_COLUMN, y, PSTR("\003-=1+=1"), val_displayed, attr); break; } - - if (attr && event==EVT_KEY_LONG(KEY_ENTER)) { - killEvents(event); - s_editMode = !s_editMode; - active = true; - CFN_GVAR_MODE(cfn) += 1; - CFN_GVAR_MODE(cfn) &= 0x03; - val_displayed = 0; - } } #endif else if (attr) { REPEAT_LAST_CURSOR_MOVE(); } - if (active) { + if (active || event==EVT_KEY_LONG(KEY_ENTER)) { CFN_PARAM(cfn) = CHECK_INCDEC_PARAM(event, val_displayed, val_min, val_max); + if (func == FUNC_ADJUST_GVAR && attr && event==EVT_KEY_LONG(KEY_ENTER)) { + killEvents(event); + if (CFN_GVAR_MODE(cfn) != FUNC_ADJUST_GVAR_CONSTANT) + MENU_ADD_ITEM(STR_CONSTANT); + if (CFN_GVAR_MODE(cfn) != FUNC_ADJUST_GVAR_SOURCE) + MENU_ADD_ITEM(STR_MIXSOURCE); + if (CFN_GVAR_MODE(cfn) != FUNC_ADJUST_GVAR_GVAR) + MENU_ADD_ITEM(STR_GLOBALVAR); + if (CFN_GVAR_MODE(cfn) != FUNC_ADJUST_GVAR_INC) + MENU_ADD_ITEM(STR_INCDEC); + menuHandler = onAdjustGvarSourceLongEnterPress; + s_editMode = EDIT_MODIFY_FIELD; + } } break; } diff --git a/radio/src/gui/Taranis/menu_model_custom_scripts.cpp b/radio/src/gui/Taranis/menu_model_custom_scripts.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/menu_model_flightmodes.cpp b/radio/src/gui/Taranis/menu_model_flightmodes.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/menu_model_gvars.cpp b/radio/src/gui/Taranis/menu_model_gvars.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/menu_model_heli.cpp b/radio/src/gui/Taranis/menu_model_heli.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/menu_model_inputs_mixes.cpp b/radio/src/gui/Taranis/menu_model_inputs_mixes.cpp index d6639b0e8..38eb02c88 100644 --- a/radio/src/gui/Taranis/menu_model_inputs_mixes.cpp +++ b/radio/src/gui/Taranis/menu_model_inputs_mixes.cpp @@ -88,7 +88,7 @@ void DrawFunction(FnFuncP fn, uint8_t offset) coord_t prev_yv = (coord_t)-1; - for (int8_t xv=-WCHART; xv<=WCHART; xv++) { + for (int xv=-WCHART; xv<=WCHART; xv++) { coord_t yv = (LCD_H-1) - (((uint16_t)RESX + fn(xv * (RESX/WCHART))) / 2 * (LCD_H-1) / RESX); if (prev_yv != (coord_t)-1) { if (abs((int8_t)yv-prev_yv) <= 1) { @@ -108,7 +108,7 @@ uint8_t getExpoMixCount(uint8_t expo) uint8_t count = 0; uint8_t ch ; - for(int8_t i=(expo ? MAX_EXPOS-1 : MAX_MIXERS-1); i>=0; i--) { + for (int i=(expo ? MAX_EXPOS-1 : MAX_MIXERS-1); i>=0; i--) { ch = (expo ? EXPO_VALID(expoAddress(i)) : mixAddress(i)->srcRaw); if (ch != 0) { count++; @@ -652,7 +652,7 @@ void displayHeaderChannelName(uint8_t ch) { uint8_t len = zlen(g_model.limitData[ch].name, sizeof(g_model.limitData[ch].name)); if (len) { - lcd_putsnAtt(70, 1, g_model.limitData[ch].name, len, ZCHAR|SMLSIZE); + lcd_putsnAtt(80, 1, g_model.limitData[ch].name, len, ZCHAR|SMLSIZE); } } @@ -837,14 +837,14 @@ void menuModelExpoMix(uint8_t expo, uint8_t event) // Value uint8_t index = expoAddress(s_currIdx)->chn; if (!s_currCh) { - lcd_outdezAtt(120, 2, calcRESXto1000(anas[index]), PREC1|TINSIZE); + lcd_outdezAtt(127, 2, calcRESXto1000(anas[index]), PREC1|TINSIZE); } SIMPLE_MENU(STR_MENUINPUTS, menuTabModel, e_InputsAll, s_maxLines); // Gauge if (!s_currCh) { - drawGauge(120, 1, 58, 6, anas[index], 1024); + drawGauge(127, 1, 58, 6, anas[index], 1024); } } else { @@ -855,14 +855,14 @@ void menuModelExpoMix(uint8_t expo, uint8_t event) uint8_t index = mixAddress(s_currIdx)->destCh; if (!s_currCh) { displayHeaderChannelName(index); - lcd_outdezAtt(120, 2, calcRESXto1000(ex_chans[index]), PREC1|TINSIZE); + lcd_outdezAtt(127, 2, calcRESXto1000(ex_chans[index]), PREC1|TINSIZE); } SIMPLE_MENU(STR_MIXER, menuTabModel, e_MixAll, s_maxLines); // Gauge if (!s_currCh) { - drawGauge(120, 1, 58, 6, ex_chans[index], 1024); + drawGauge(127, 1, 58, 6, ex_chans[index], 1024); } } diff --git a/radio/src/gui/Taranis/menu_model_limits.cpp b/radio/src/gui/Taranis/menu_model_limits.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/menu_model_logical_switches.cpp b/radio/src/gui/Taranis/menu_model_logical_switches.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/menu_model_setup.cpp b/radio/src/gui/Taranis/menu_model_setup.cpp index 6b1c135a5..2d1970c09 100644 --- a/radio/src/gui/Taranis/menu_model_setup.cpp +++ b/radio/src/gui/Taranis/menu_model_setup.cpp @@ -59,6 +59,9 @@ enum menuModelSetupItems { ITEM_MODEL_TIMER3_PERSISTENT, ITEM_MODEL_TIMER3_MINUTE_BEEP, ITEM_MODEL_TIMER3_COUNTDOWN_BEEP, +#endif +#if defined(REV9E) + ITEM_MODEL_TOP_LCD_TIMER, #endif ITEM_MODEL_EXTENDED_LIMITS, ITEM_MODEL_EXTENDED_TRIMS, @@ -142,15 +145,15 @@ void editTimerMode(int timerIdx, coord_t y, LcdFlags attr, uint8_t event) switch (m_posHorz) { case 0: { - int8_t timerMode = timer->mode; + swsrc_t timerMode = timer->mode; if (timerMode < 0) timerMode -= TMRMODE_COUNT-1; CHECK_INCDEC_MODELVAR_CHECK(event, timerMode, -TMRMODE_COUNT-SWSRC_LAST+1, TMRMODE_COUNT+SWSRC_LAST-1, isSwitchAvailableInTimers); if (timerMode < 0) timerMode += TMRMODE_COUNT-1; timer->mode = timerMode; #if defined(AUTOSWITCH) if (s_editMode>0) { - int8_t val = timer->mode - (TMRMODE_COUNT-1); - int8_t switchVal = checkIncDecMovedSwitch(val); + swsrc_t val = timer->mode - (TMRMODE_COUNT-1); + swsrc_t switchVal = checkIncDecMovedSwitch(val); if (val != switchVal) { timer->mode = switchVal + (TMRMODE_COUNT-1); eeDirty(EE_MODEL); @@ -224,9 +227,11 @@ int getSwitchWarningsCount() #if defined(REV9E) #define SW_WARN_ITEMS() uint8_t(NAVIGATION_LINE_BY_LINE|(getSwitchWarningsCount()-1)), uint8_t(getSwitchWarningsCount() > 8 ? TITLE_ROW : HIDDEN_ROW), uint8_t(getSwitchWarningsCount() > 16 ? TITLE_ROW : HIDDEN_ROW) #define POT_WARN_ITEMS() uint8_t(g_model.potsWarnMode ? NAVIGATION_LINE_BY_LINE|NUM_POTS : 0), uint8_t(g_model.potsWarnMode ? TITLE_ROW : HIDDEN_ROW) + #define TOPLCD_ROWS 0, #else #define SW_WARN_ITEMS() uint8_t(NAVIGATION_LINE_BY_LINE|getSwitchWarningsCount()) #define POT_WARN_ITEMS() uint8_t(g_model.potsWarnMode ? NAVIGATION_LINE_BY_LINE|NUM_POTS : 0) + #define TOPLCD_ROWS #endif void menuModelSetup(uint8_t event) @@ -234,7 +239,7 @@ void menuModelSetup(uint8_t event) horzpos_t l_posHorz = m_posHorz; bool CURSOR_ON_CELL = (m_posHorz >= 0); #if defined(TARANIS_INTERNAL_PPM) - MENU_TAB({ 0, 0, TIMERS_ROWS, 0, 1, 0, 0, LABEL(Throttle), 0, 0, 0, LABEL(PreflightCheck), 0, 0, SW_WARN_ITEMS(), POT_WARN_ITEMS(), + MENU_TAB({ 0, 0, TIMERS_ROWS, TOPLCD_ROWS 0, 1, 0, 0, LABEL(Throttle), 0, 0, 0, LABEL(PreflightCheck), 0, 0, SW_WARN_ITEMS(), POT_WARN_ITEMS(), NAVIGATION_LINE_BY_LINE|(NUM_STICKS+NUM_POTS+NUM_ROTARY_ENCODERS-1), 0, LABEL(InternalModule), INTERNAL_MODULE_MODE_ROWS, @@ -248,7 +253,7 @@ void menuModelSetup(uint8_t event) IF_EXTERNAL_MODULE_XJT(FAILSAFE_ROWS(EXTERNAL_MODULE)), LABEL(Trainer), 0, TRAINER_CHANNELS_ROWS(), IF_TRAINER_ON(2)}); #else - MENU_TAB({ 0, 0, TIMERS_ROWS, 0, 1, 0, 0, LABEL(Throttle), 0, 0, 0, LABEL(PreflightCheck), 0, 0, SW_WARN_ITEMS(), POT_WARN_ITEMS(), + MENU_TAB({ 0, 0, TIMERS_ROWS, TOPLCD_ROWS 0, 1, 0, 0, LABEL(Throttle), 0, 0, 0, LABEL(PreflightCheck), 0, 0, SW_WARN_ITEMS(), POT_WARN_ITEMS(), NAVIGATION_LINE_BY_LINE|(NUM_STICKS+NUM_POTS+NUM_ROTARY_ENCODERS-1), 0, LABEL(InternalModule), INTERNAL_MODULE_MODE_ROWS, @@ -321,7 +326,7 @@ void menuModelSetup(uint8_t event) break; case ITEM_MODEL_TIMER1_COUNTDOWN_BEEP: - g_model.timers[0].countdownBeep = selectMenuItem(MODEL_SETUP_2ND_COLUMN, y, STR_BEEPCOUNTDOWN, STR_VBEEPCOUNTDOWN, g_model.timers[0].countdownBeep, 0, 2, attr, event); + g_model.timers[0].countdownBeep = selectMenuItem(MODEL_SETUP_2ND_COLUMN, y, STR_BEEPCOUNTDOWN, STR_VBEEPCOUNTDOWN, g_model.timers[0].countdownBeep, COUNTDOWN_SILENT, COUNTDOWN_COUNT-1, attr, event); break; case ITEM_MODEL_TIMER1_PERSISTENT: @@ -342,7 +347,7 @@ void menuModelSetup(uint8_t event) break; case ITEM_MODEL_TIMER2_COUNTDOWN_BEEP: - g_model.timers[1].countdownBeep = selectMenuItem(MODEL_SETUP_2ND_COLUMN, y, STR_BEEPCOUNTDOWN, STR_VBEEPCOUNTDOWN, g_model.timers[1].countdownBeep, 0, 2, attr, event); + g_model.timers[1].countdownBeep = selectMenuItem(MODEL_SETUP_2ND_COLUMN, y, STR_BEEPCOUNTDOWN, STR_VBEEPCOUNTDOWN, g_model.timers[1].countdownBeep, COUNTDOWN_SILENT, COUNTDOWN_COUNT-1, attr, event); break; case ITEM_MODEL_TIMER2_PERSISTENT: @@ -364,7 +369,7 @@ void menuModelSetup(uint8_t event) break; case ITEM_MODEL_TIMER3_COUNTDOWN_BEEP: - g_model.timers[2].countdownBeep = selectMenuItem(MODEL_SETUP_2ND_COLUMN, y, STR_BEEPCOUNTDOWN, STR_VBEEPCOUNTDOWN, g_model.timers[2].countdownBeep, 0, 2, attr, event); + g_model.timers[2].countdownBeep = selectMenuItem(MODEL_SETUP_2ND_COLUMN, y, STR_BEEPCOUNTDOWN, STR_VBEEPCOUNTDOWN, g_model.timers[2].countdownBeep, COUNTDOWN_SILENT, COUNTDOWN_COUNT-1, attr, event); break; case ITEM_MODEL_TIMER3_PERSISTENT: @@ -372,6 +377,16 @@ void menuModelSetup(uint8_t event) break; #endif +#if defined(REV9E) + case ITEM_MODEL_TOP_LCD_TIMER: + lcd_putsLeft(y, STR_TOPLCDTIMER); + putsStrIdx(MODEL_SETUP_2ND_COLUMN, y, STR_TIMER, g_model.topLcdTimer+1, attr); + if (attr) { + g_model.topLcdTimer = checkIncDec(event, g_model.topLcdTimer, 0, TIMERS-1, EE_MODEL); + } + break; +#endif + case ITEM_MODEL_EXTENDED_LIMITS: ON_OFF_MENU_ITEM(g_model.extendedLimits, MODEL_SETUP_2ND_COLUMN, y, STR_ELIMITS, attr, event); break; diff --git a/radio/src/gui/Taranis/menu_model_telemetry.cpp b/radio/src/gui/Taranis/menu_model_telemetry.cpp index 62b21c4e5..cf5de4cbd 100644 --- a/radio/src/gui/Taranis/menu_model_telemetry.cpp +++ b/radio/src/gui/Taranis/menu_model_telemetry.cpp @@ -73,8 +73,10 @@ enum menuModelTelemetryItems { ITEM_TELEMETRY_SENSOR30, ITEM_TELEMETRY_SENSOR31, ITEM_TELEMETRY_SENSOR32, - ITEM_TELEMETRY_NEWSENSOR, - ITEM_TELEMETRY_IGNORE_SENSORID, + ITEM_TELEMETRY_DISCOVER_SENSORS, + ITEM_TELEMETRY_NEW_SENSOR, + ITEM_TELEMETRY_DELETE_ALL_SENSORS, + ITEM_TELEMETRY_IGNORE_SENSOR_INSTANCE, #if defined(VARIO) ITEM_TELEMETRY_VARIO_LABEL, ITEM_TELEMETRY_VARIO_SOURCE, @@ -84,9 +86,6 @@ enum menuModelTelemetryItems { ITEM_TELEMETRY_TOP_BAR_LABEL, ITEM_TELEMETRY_TOP_BAR_VOLTAGE, ITEM_TELEMETRY_TOP_BAR_ALTITUDE, -#if defined(REV9E) - ITEM_TELEMETRY_TOP_LCD_TIMER, -#endif ITEM_TELEMETRY_SCREEN_LABEL1, ITEM_TELEMETRY_SCREEN_LINE1, ITEM_TELEMETRY_SCREEN_LINE2, @@ -110,39 +109,39 @@ enum menuModelTelemetryItems { ITEM_TELEMETRY_MAX }; -#define TELEM_COL1 (1*FW) -#define TELEM_COL2 (16*FW) -#define TELEM_COL3 (28*FW) -#define TELEM_BARS_COLMIN TELEM_COL2 -#define TELEM_BARS_COLMAX TELEM_COL3 -#define TELEM_SCRTYPE_COL TELEM_COL2 +#define TELEM_COL1 (1*FW) +#define TELEM_COL2 (16*FW) +#define TELEM_COL3 (28*FW) +#define TELEM_BARS_COLMIN TELEM_COL2 +#define TELEM_BARS_COLMAX TELEM_COL3 +#define TELEM_SCRTYPE_COL TELEM_COL2 -#define IF_FAS_OFFSET(x) x, -#define IS_RANGE_DEFINED(k) (g_model.frsky.channels[k].ratio > 0) +#define IF_FAS_OFFSET(x) x, +#define IS_RANGE_DEFINED(k) (g_model.frsky.channels[k].ratio > 0) -#define SENSOR_ROWS(x) (isTelemetryFieldAvailable(x) ? (uint8_t)0 : HIDDEN_ROW) -#define SENSORS_ROWS LABEL(Sensors), SENSOR_ROWS(0), SENSOR_ROWS(1), SENSOR_ROWS(2), SENSOR_ROWS(3), SENSOR_ROWS(4), SENSOR_ROWS(5), SENSOR_ROWS(6), SENSOR_ROWS(7), SENSOR_ROWS(8), SENSOR_ROWS(9), SENSOR_ROWS(10), SENSOR_ROWS(11), SENSOR_ROWS(12), SENSOR_ROWS(13), SENSOR_ROWS(14), SENSOR_ROWS(15), SENSOR_ROWS(16), SENSOR_ROWS(17), SENSOR_ROWS(18), SENSOR_ROWS(19), SENSOR_ROWS(20), SENSOR_ROWS(21), SENSOR_ROWS(22), SENSOR_ROWS(23), SENSOR_ROWS(24), SENSOR_ROWS(25), SENSOR_ROWS(26), SENSOR_ROWS(27), SENSOR_ROWS(28), SENSOR_ROWS(29), SENSOR_ROWS(30), SENSOR_ROWS(31), 0, 0, +#define SENSOR_ROWS(x) (isTelemetryFieldAvailable(x) ? (uint8_t)0 : HIDDEN_ROW) +#define SENSORS_ROWS LABEL(Sensors), SENSOR_ROWS(0), SENSOR_ROWS(1), SENSOR_ROWS(2), SENSOR_ROWS(3), SENSOR_ROWS(4), SENSOR_ROWS(5), SENSOR_ROWS(6), SENSOR_ROWS(7), SENSOR_ROWS(8), SENSOR_ROWS(9), SENSOR_ROWS(10), SENSOR_ROWS(11), SENSOR_ROWS(12), SENSOR_ROWS(13), SENSOR_ROWS(14), SENSOR_ROWS(15), SENSOR_ROWS(16), SENSOR_ROWS(17), SENSOR_ROWS(18), SENSOR_ROWS(19), SENSOR_ROWS(20), SENSOR_ROWS(21), SENSOR_ROWS(22), SENSOR_ROWS(23), SENSOR_ROWS(24), SENSOR_ROWS(25), SENSOR_ROWS(26), SENSOR_ROWS(27), SENSOR_ROWS(28), SENSOR_ROWS(29), SENSOR_ROWS(30), SENSOR_ROWS(31), 0, 0, 0, 0, #if defined(VARIO) - #define VARIO_ROWS LABEL(Vario), 0, 1, 2, + #define VARIO_ROWS LABEL(Vario), 0, 1, 2, #else #define VARIO_ROWS #endif -#define RSSI_ROWS LABEL(RSSI), 0, 0, +#define RSSI_ROWS LABEL(RSSI), 0, 0, #if defined(LUA) - #define SCREEN_TYPE_ROWS 1 + #define SCREEN_TYPE_ROWS 1 #else - #define SCREEN_TYPE_ROWS 0 + #define SCREEN_TYPE_ROWS 0 #endif -#define VARIO_RANGE_ROWS 3 -#define TELEMETRY_TYPE_ROWS (g_model.moduleData[INTERNAL_MODULE].rfProtocol == RF_PROTO_OFF && g_model.moduleData[EXTERNAL_MODULE].type == MODULE_TYPE_PPM) ? (uint8_t)0 : HIDDEN_ROW, +#define VARIO_RANGE_ROWS 3 +#define TELEMETRY_TYPE_ROWS (g_model.moduleData[INTERNAL_MODULE].rfProtocol == RF_PROTO_OFF && g_model.moduleData[EXTERNAL_MODULE].type == MODULE_TYPE_PPM) ? (uint8_t)0 : HIDDEN_ROW, #if defined(LUA) - #define TELEMETRY_SCREEN_LINE(x) ((TELEMETRY_SCREEN_TYPE(x) == TELEMETRY_SCREEN_TYPE_NONE || TELEMETRY_SCREEN_TYPE(x) == TELEMETRY_SCREEN_TYPE_SCRIPT) ? HIDDEN_ROW : (uint8_t)2) + #define TELEMETRY_SCREEN_LINE(x) ((TELEMETRY_SCREEN_TYPE(x) == TELEMETRY_SCREEN_TYPE_NONE || TELEMETRY_SCREEN_TYPE(x) == TELEMETRY_SCREEN_TYPE_SCRIPT) ? HIDDEN_ROW : (uint8_t)2) #else - #define TELEMETRY_SCREEN_LINE(x) (TELEMETRY_SCREEN_TYPE(x) == TELEMETRY_SCREEN_TYPE_NONE ? HIDDEN_ROW : (uint8_t)2) + #define TELEMETRY_SCREEN_LINE(x) (TELEMETRY_SCREEN_TYPE(x) == TELEMETRY_SCREEN_TYPE_NONE ? HIDDEN_ROW : (uint8_t)2) #endif -#define TELEMETRY_SCREEN_ROWS(x) SCREEN_TYPE_ROWS, TELEMETRY_SCREEN_LINE(x), TELEMETRY_SCREEN_LINE(x), TELEMETRY_SCREEN_LINE(x), TELEMETRY_SCREEN_LINE(x) -#define TELEMETRY_CURRENT_EDIT_SCREEN(k) (k < ITEM_TELEMETRY_SCREEN_LABEL2 ? 0 : (k < ITEM_TELEMETRY_SCREEN_LABEL3 ? 1 : (k < ITEM_TELEMETRY_SCREEN_LABEL4 ? 2 : 3))) +#define TELEMETRY_SCREEN_ROWS(x) SCREEN_TYPE_ROWS, TELEMETRY_SCREEN_LINE(x), TELEMETRY_SCREEN_LINE(x), TELEMETRY_SCREEN_LINE(x), TELEMETRY_SCREEN_LINE(x) +#define TELEMETRY_CURRENT_SCREEN(k) (k < ITEM_TELEMETRY_SCREEN_LABEL2 ? 0 : (k < ITEM_TELEMETRY_SCREEN_LABEL3 ? 1 : (k < ITEM_TELEMETRY_SCREEN_LABEL4 ? 2 : 3))) enum SensorFields { SENSOR_FIELD_NAME, @@ -344,7 +343,7 @@ void menuModelSensor(uint8_t event) lcd_putsLeft(y, STR_CURRENTSENSOR); putsMixerSource(SENSOR_2ND_COLUMN, y, sensor->consumption.source ? MIXSRC_FIRST_TELEM+3*(sensor->consumption.source-1) : 0, attr); if (attr) { - sensor->consumption.source = checkIncDec(event, sensor->consumption.source, 0, MAX_SENSORS, EE_MODEL|NO_INCDEC_MARKS, isCurrentSensor); + sensor->consumption.source = checkIncDec(event, sensor->consumption.source, 0, MAX_SENSORS, EE_MODEL|NO_INCDEC_MARKS, isTelemetryFieldAvailable); } break; } @@ -467,7 +466,7 @@ void onSensorMenu(const char *result) if (index0) { switch (m_posHorz) { case 0: - bar.source = CHECK_INCDEC_MODELVAR_ZERO_CHECK(event, barSource, MIXSRC_LAST_TELEM, isSourceAvailable); + bar.source = checkIncDec(event, barSource, 0, MIXSRC_LAST_TELEM, EE_MODEL|INCDEC_SOURCE|NO_INCDEC_MARKS, isSourceAvailable); if (checkIncDec_Ret) { if (barSource <= MIXSRC_LAST_CH) { bar.barMin = -100; diff --git a/radio/src/gui/Taranis/menus.cpp b/radio/src/gui/Taranis/menus.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/menus.h b/radio/src/gui/Taranis/menus.h old mode 100755 new mode 100644 index 489777aa2..ee5fced5f --- a/radio/src/gui/Taranis/menus.h +++ b/radio/src/gui/Taranis/menus.h @@ -176,7 +176,7 @@ extern const CheckIncDecStops &stopsSwitch; (val), (val+1) int checkIncDec(unsigned int event, int val, int i_min, int i_max, unsigned int i_flags=0, IsValueAvailable isValueAvailable=NULL, const CheckIncDecStops &stops=stops100); -int8_t checkIncDecMovedSwitch(int8_t val); +swsrc_t checkIncDecMovedSwitch(swsrc_t val); #define checkIncDecModel(event, i_val, i_min, i_max) checkIncDec(event, i_val, i_min, i_max, EE_MODEL) #define checkIncDecModelZero(event, i_val, i_max) checkIncDec(event, i_val, 0, i_max, EE_MODEL) #define checkIncDecGen(event, i_val, i_min, i_max) checkIncDec(event, i_val, i_min, i_max, EE_GENERAL) diff --git a/radio/src/gui/Taranis/navigation.cpp b/radio/src/gui/Taranis/navigation.cpp old mode 100755 new mode 100644 index 84925d464..3905fc144 --- a/radio/src/gui/Taranis/navigation.cpp +++ b/radio/src/gui/Taranis/navigation.cpp @@ -45,10 +45,10 @@ uint8_t calibrationState; int checkIncDecSelection = 0; #if defined(AUTOSWITCH) -int8_t checkIncDecMovedSwitch(int8_t val) +swsrc_t checkIncDecMovedSwitch(swsrc_t val) { if (s_editMode>0) { - int8_t swtch = getMovedSwitch(); + swsrc_t swtch = getMovedSwitch(); if (swtch) { div_t info = switchInfo(swtch); if (IS_TOGGLE(info.quot)) { diff --git a/radio/src/gui/Taranis/popups.cpp b/radio/src/gui/Taranis/popups.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/splash.cpp b/radio/src/gui/Taranis/splash.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/view_about.cpp b/radio/src/gui/Taranis/view_about.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/view_channels.cpp b/radio/src/gui/Taranis/view_channels.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/view_main.cpp b/radio/src/gui/Taranis/view_main.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/view_statistics.cpp b/radio/src/gui/Taranis/view_statistics.cpp old mode 100755 new mode 100644 index 29c01f0ee..575a45f0b --- a/radio/src/gui/Taranis/view_statistics.cpp +++ b/radio/src/gui/Taranis/view_statistics.cpp @@ -98,13 +98,28 @@ void menuStatisticsView(uint8_t event) #define MENU_DEBUG_Y_MIXMAX (2*FH-3) #define MENU_DEBUG_Y_LUA (3*FH-2) #define MENU_DEBUG_Y_FREE_RAM (4*FH-1) -#define MENU_DEBUG_Y_STACK (5*FH) +#define MENU_DEBUG_Y_USB (5*FH) #define MENU_DEBUG_Y_RTOS (6*FH) +#if defined(USB_SERIAL) + extern uint16_t usbWraps; + extern uint16_t charsWritten; + extern "C" volatile uint32_t APP_Rx_ptr_in; +#endif + void menuStatisticsDebug(uint8_t event) { TITLE(STR_MENUDEBUG); +#if defined(WATCHDOG_TEST) + if (s_warning_result) { + s_warning_result = 0; + // do a user requested watchdog test + TRACE("Performing watchdog test"); + pausePulses(); + } +#endif + switch(event) { case EVT_KEY_LONG(KEY_ENTER): @@ -136,10 +151,19 @@ void menuStatisticsDebug(uint8_t event) case EVT_KEY_FIRST(KEY_EXIT): chainMenu(menuMainView); break; +#if defined(WATCHDOG_TEST) + case EVT_KEY_LONG(KEY_MENU): + { + POPUP_CONFIRMATION("Test the watchdog?"); + const char * w = "The radio will reset!"; + SET_WARNING_INFO(w, strlen(w), 0); + } + break; +#endif } lcd_putsLeft(MENU_DEBUG_Y_FREE_RAM, "Free Mem"); - lcd_outdezAtt(MENU_DEBUG_COL1_OFS, MENU_DEBUG_Y_FREE_RAM, getAvailableMemory(), LEFT); + lcd_outdezAtt(MENU_DEBUG_COL1_OFS, MENU_DEBUG_Y_FREE_RAM, availableMemory(), LEFT); lcd_puts(lcdLastPos, MENU_DEBUG_Y_FREE_RAM, "b"); #if defined(LUA) @@ -154,15 +178,24 @@ void menuStatisticsDebug(uint8_t event) lcd_outdezAtt(MENU_DEBUG_COL1_OFS, MENU_DEBUG_Y_MIXMAX, DURATION_MS_PREC2(maxMixerDuration), PREC2|LEFT); lcd_puts(lcdLastPos, MENU_DEBUG_Y_MIXMAX, "ms"); +#if defined(USB_SERIAL) + lcd_putsLeft(MENU_DEBUG_Y_USB, "Usb"); + lcd_outdezAtt(MENU_DEBUG_COL1_OFS, MENU_DEBUG_Y_USB, charsWritten, LEFT); + lcd_puts(lcdLastPos, MENU_DEBUG_Y_USB, " "); + lcd_outdezAtt(lcdLastPos, MENU_DEBUG_Y_USB, APP_Rx_ptr_in, LEFT); + lcd_puts(lcdLastPos, MENU_DEBUG_Y_USB, " "); + lcd_outdezAtt(lcdLastPos, MENU_DEBUG_Y_USB, usbWraps, LEFT); +#endif + lcd_putsLeft(MENU_DEBUG_Y_RTOS, STR_FREESTACKMINB); lcd_putsAtt(MENU_DEBUG_COL1_OFS, MENU_DEBUG_Y_RTOS+1, "[M]", SMLSIZE); - lcd_outdezAtt(lcdLastPos, MENU_DEBUG_Y_RTOS, stack_free(0), UNSIGN|LEFT); + lcd_outdezAtt(lcdLastPos, MENU_DEBUG_Y_RTOS, menusStack.available(), UNSIGN|LEFT); lcd_putsAtt(lcdLastPos+2, MENU_DEBUG_Y_RTOS+1, "[X]", SMLSIZE); - lcd_outdezAtt(lcdLastPos, MENU_DEBUG_Y_RTOS, stack_free(1), UNSIGN|LEFT); + lcd_outdezAtt(lcdLastPos, MENU_DEBUG_Y_RTOS, mixerStack.available(), UNSIGN|LEFT); lcd_putsAtt(lcdLastPos+2, MENU_DEBUG_Y_RTOS+1, "[A]", SMLSIZE); - lcd_outdezAtt(lcdLastPos, MENU_DEBUG_Y_RTOS, stack_free(2), UNSIGN|LEFT); + lcd_outdezAtt(lcdLastPos, MENU_DEBUG_Y_RTOS, audioStack.available(), UNSIGN|LEFT); lcd_putsAtt(lcdLastPos+2, MENU_DEBUG_Y_RTOS+1, "[I]", SMLSIZE); - lcd_outdezAtt(lcdLastPos, MENU_DEBUG_Y_RTOS, stack_free(255), UNSIGN|LEFT); + lcd_outdezAtt(lcdLastPos, MENU_DEBUG_Y_RTOS, stackAvailable(), UNSIGN|LEFT); lcd_puts(3*FW, 7*FH+1, STR_MENUTORESET); lcd_status_line(); diff --git a/radio/src/gui/Taranis/view_telemetry.cpp b/radio/src/gui/Taranis/view_telemetry.cpp old mode 100755 new mode 100644 index 674f77da2..d35a04a91 --- a/radio/src/gui/Taranis/view_telemetry.cpp +++ b/radio/src/gui/Taranis/view_telemetry.cpp @@ -186,7 +186,19 @@ bool displayTelemetryScreen() { #if defined(LUA) if (TELEMETRY_SCREEN_TYPE(s_frsky_view) == TELEMETRY_SCREEN_TYPE_SCRIPT) { - return true; + uint8_t state = isTelemetryScriptAvailable(s_frsky_view); + switch (state) { + case SCRIPT_OK: + return true; // contents will be drawed by Lua Task + case SCRIPT_NOFILE: + return false; // requested lua telemetry screen not available + case SCRIPT_SYNTAX_ERROR: + case SCRIPT_PANIC: + case SCRIPT_KILLED: + luaError(state, false); + return true; + } + return false; } #endif diff --git a/radio/src/gui/Taranis/view_text.cpp b/radio/src/gui/Taranis/view_text.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/Taranis/widgets.cpp b/radio/src/gui/Taranis/widgets.cpp old mode 100755 new mode 100644 diff --git a/radio/src/gui/gui.h b/radio/src/gui/gui.h old mode 100755 new mode 100644 diff --git a/radio/src/keys.h b/radio/src/keys.h index 1023f3e9d..d234a6b2b 100644 --- a/radio/src/keys.h +++ b/radio/src/keys.h @@ -128,19 +128,6 @@ enum EnumKeys { SW_SR0, SW_SR1, SW_SR2, -#else - SW_SI0, - SW_SI2, - SW_SJ0, - SW_SJ2, - SW_SK0, - SW_SK2, - SW_SL0, - SW_SL2, - SW_SM0, - SW_SM2, - SW_SN0, - SW_SN2, #endif #else SW_ID0=SW_BASE, diff --git a/radio/src/loadboot.cpp b/radio/src/loadboot.cpp index f4dbd0feb..affa37fd6 100644 --- a/radio/src/loadboot.cpp +++ b/radio/src/loadboot.cpp @@ -89,27 +89,55 @@ const uint8_t BootCode[] = { __attribute__ ((section(".bootrodata"), used)) void _bootStart() { - // turn soft power ON now - RCC->AHB1ENR |= RCC_AHB1ENR_GPIODEN; // Enable portD clock - GPIOD->BSRRL = 1; - GPIOD->MODER = (GPIOD->MODER & 0xFFFFFFFC) | 1; - #if defined(REV9E) - RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN; // Enable portC clock - RCC->AHB1ENR |= RCC_AHB1ENR_GPIOGEN; // Enable portG clock + RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN | RCC_AHB1ENR_GPIOGEN | RCC_AHB1ENR_GPIODEN; #else - RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN; // Enable portC clock - RCC->AHB1ENR |= RCC_AHB1ENR_GPIOEEN; // Enable portE clock + RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN | RCC_AHB1ENR_GPIOEEN | RCC_AHB1ENR_GPIODEN; #endif + // these two NOPs are needed (see STM32F errata sheet) before the peripheral + // register can be written after the peripheral clock was enabled + __ASM volatile ("nop"); + __ASM volatile ("nop"); + + // Turn soft power ON now, but only if we got started because of the watchdog + // or software reset. If the radio was started by user pressing the power button + // then that button is providing power and we don't need to enable it here. + // + // If we were to turn it on here indiscriminately, then the radio can go into the + // power on/off loop after being powered off by the user. (issue #2790) + if (WAS_RESET_BY_WATCHDOG_OR_SOFTWARE()) { + GPIOD->BSRRL = 1; // set PWR_GPIO_PIN_ON pin to 1 + GPIOD->MODER = (GPIOD->MODER & 0xFFFFFFFC) | 1; // General purpose output mode + } + + // TRIMS_GPIO_PIN_LHR is on PG0 on 9XE and on PE3 on Taranis + // TRIMS_GPIO_PIN_RHL is on PC1 on all versions + // turn on pull-ups on trim keys GPIOC->PUPDR = 0x00000004; +#if defined(REV9E) + GPIOG->PUPDR = 0x00000001; +#else GPIOE->PUPDR = 0x00000040; - - uint32_t i; - for (i = 0; i < 50000; i += 1) { +#endif + + // wait for inputs to stabilize + for (uint32_t i = 0; i < 50000; i += 1) { bwdt_reset(); } + // now the second part of power on sequence + // If we got here and the radio was not started by the watchdog/software reset, + // then we must have a power button pressed. If not then we are in power on/off loop + // and to terminate it, just wait here without turning on PWR pin. The power supply will + // eventually exhaust and the radio will turn off. + if (!WAS_RESET_BY_WATCHDOG_OR_SOFTWARE()) { + // wait here until the power key is pressed + while (GPIOD->IDR & PWR_GPIO_PIN_SWITCH) { + bwdt_reset(); + } + } + if (!(TRIMS_GPIO_REG_LHR & TRIMS_GPIO_PIN_LHR) && !(TRIMS_GPIO_REG_RHL & TRIMS_GPIO_PIN_RHL)) { // Bootloader needed const uint8_t *src; diff --git a/radio/src/lua_api.cpp b/radio/src/lua_api.cpp index c06b2ffac..4b2d99839 100644 --- a/radio/src/lua_api.cpp +++ b/radio/src/lua_api.cpp @@ -116,33 +116,91 @@ static int luaGetTime(lua_State *L) return 1; } +static void luaPushDateTime(lua_State *L, uint32_t year, uint32_t mon, uint32_t day, + uint32_t hour, uint32_t min, uint32_t sec) +{ + lua_createtable(L, 0, 6); + lua_pushtableinteger(L, "year", year); + lua_pushtableinteger(L, "mon", mon); + lua_pushtableinteger(L, "day", day); + lua_pushtableinteger(L, "hour", hour); + lua_pushtableinteger(L, "min", min); + lua_pushtableinteger(L, "sec", sec); +} + static int luaGetDateTime(lua_State *L) { struct gtm utm; gettime(&utm); - lua_newtable(L); - lua_pushtableinteger(L, "year", utm.tm_year+1900); - lua_pushtableinteger(L, "mon", utm.tm_mon+1); - lua_pushtableinteger(L, "day", utm.tm_mday); - lua_pushtableinteger(L, "hour", utm.tm_hour); - lua_pushtableinteger(L, "min", utm.tm_min); - lua_pushtableinteger(L, "sec", utm.tm_sec); + luaPushDateTime(L, utm.tm_year + 1900, utm.tm_mon + 1, utm.tm_mday, utm.tm_hour, utm.tm_min, utm.tm_sec); return 1; } +static void luaPushLatLon(TelemetrySensor & telemetrySensor, TelemetryItem & telemetryItem) +/* result is lua table containing members ["lat"] and ["lon"] as lua_Number (doubles) in decimal degrees */ +{ + lua_Number lat = 0.0; + lua_Number lon = 0.0; + uint32_t gpsLat = 0; + uint32_t gpsLon = 0; + + telemetryItem.gps.extractLatitudeLongitude(&gpsLat, &gpsLon); /* close, but not the format we want */ + lat = gpsLat / 1000000.0; + if (telemetryItem.gps.latitudeNS == 'S') lat = -lat; + lon = gpsLon / 1000000.0; + if (telemetryItem.gps.longitudeEW == 'W') lon = -lon; + + lua_createtable(L, 0, 2); + lua_pushtablenumber(L, "lat", lat); + lua_pushtablenumber(L, "lon", lon); +} + +static void luaPushTelemetryDateTime(TelemetrySensor & telemetrySensor, TelemetryItem & telemetryItem) +{ + luaPushDateTime(L, telemetryItem.datetime.year + 2000, telemetryItem.datetime.month, telemetryItem.datetime.day, + telemetryItem.datetime.hour, telemetryItem.datetime.min, telemetryItem.datetime.sec); +} + +static void luaPushCells(TelemetrySensor & telemetrySensor, TelemetryItem & telemetryItem) +{ + if (telemetryItem.cells.count == 0) + lua_pushinteger(L, (int)0); // returns zero if no cells + else { + lua_createtable(L, telemetryItem.cells.count, 0); + for (int i = 0; i < telemetryItem.cells.count; i++) { + lua_pushnumber(L, i + 1); + lua_pushnumber(L, telemetryItem.cells.values[i].value / 100.0); + lua_settable(L, -3); + } + } +} + static void luaGetValueAndPush(int src) { - getvalue_t value = getValue(src); + getvalue_t value = getValue(src); // ignored for GPS, DATETIME, and CELLS if (src >= MIXSRC_FIRST_TELEM && src <= MIXSRC_LAST_TELEM) { src = (src-MIXSRC_FIRST_TELEM) / 3; // telemetry values if (TELEMETRY_STREAMING() && telemetryItems[src].isAvailable()) { TelemetrySensor & telemetrySensor = g_model.telemetrySensors[src]; - if (telemetrySensor.prec > 0) - lua_pushnumber(L, float(value)/(telemetrySensor.prec == 2 ? 100.0 : 10.0)); - else - lua_pushinteger(L, value); + switch (telemetrySensor.unit) { + case UNIT_GPS: + luaPushLatLon(telemetrySensor, telemetryItems[src]); + break; + case UNIT_DATETIME: + luaPushTelemetryDateTime(telemetrySensor, telemetryItems[src]); + break; + case UNIT_CELLS: + luaPushCells(telemetrySensor, telemetryItems[src]); + break; + default: + if (telemetrySensor.prec > 0) + lua_pushnumber(L, float(value)/(telemetrySensor.prec == 2 ? 100.0 : 10.0)); + else + lua_pushinteger(L, value); + break; + } } else { // telemetry not working, return zero for telemetry sources @@ -1726,6 +1784,17 @@ bool luaLoadTelemetryScript(uint8_t index) return true; } +uint8_t isTelemetryScriptAvailable(uint8_t index) +{ + for (int i=0; i> (RESX_SHIFT+1); + trim = ((g_model.throttleReversed ? (trim+trimMin) : (trim-trimMin)) * (RESX-stickValue)) >> (RESX_SHIFT+1); } if (g_model.throttleReversed) { trim = -trim; @@ -527,12 +530,12 @@ int getStickTrimValue(int stick, int value) return trim; } -int getSourceTrimValue(int source, int value=0) +int getSourceTrimValue(int source, int stickValue=0) { if (source >= MIXSRC_Rud && source <= MIXSRC_Ail) - return getStickTrimValue(source - MIXSRC_Rud, value); + return getStickTrimValue(source - MIXSRC_Rud, stickValue); else if (source >= MIXSRC_FIRST_INPUT && source <= MIXSRC_LAST_INPUT) - return getStickTrimValue(virtualInputsTrims[source - MIXSRC_FIRST_INPUT], value); + return getStickTrimValue(virtualInputsTrims[source - MIXSRC_FIRST_INPUT], stickValue); else return 0; } diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index de897a5b2..dd86250ec 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -116,7 +116,7 @@ #define MAX_FLIGHT_MODES 9 #define MAX_MIXERS 64 #define MAX_EXPOS 64 - #define NUM_LOGICAL_SWITCH 32 // number of custom switches + #define NUM_LOGICAL_SWITCH 32 // number of logical switches #define NUM_CFN 64 // number of functions assigned to switches #define MAX_SCRIPTS 7 #define MAX_INPUTS 32 @@ -203,7 +203,7 @@ PACK(typedef struct { }) CurveInfo; #else struct CurveInfo { - int8_t *crv; + int8_t * crv; uint8_t points; bool custom; }; @@ -328,7 +328,7 @@ enum BeeperMode { #if defined(CPUARM) #define EXTRA_GENERAL_FIELDS_ARM \ uint8_t backlightBright; \ - int8_t currentCalib; \ + int8_t txCurrentCalibration; \ int8_t temperatureWarn; \ uint8_t mAhWarn; \ uint16_t mAhUsed; \ @@ -382,7 +382,7 @@ enum BeeperMode { #define LEN_SWITCH_NAME 3 #define LEN_ANA_NAME 3 #define LEN_BLUETOOTH_NAME 10 - #define HAS_WIRELESS_TRAINER_HARDWARE() (g_eeGeneral.uart3Mode==UART_MODE_SBUS_TRAINER/* || g_eeGeneral.uart3Mode==UART_MODE_CPPM_TRAINER*/) + #define HAS_WIRELESS_TRAINER_HARDWARE() (g_eeGeneral.serial2Mode==UART_MODE_SBUS_TRAINER/* || g_eeGeneral.serial2Mode==UART_MODE_CPPM_TRAINER*/) #if defined(REV9E) #define BLUETOOTH_FIELDS \ @@ -394,7 +394,7 @@ enum BeeperMode { #define EXTRA_GENERAL_FIELDS \ EXTRA_GENERAL_FIELDS_ARM \ - uint8_t uart3Mode:6; \ + uint8_t serial2Mode:6; \ uint8_t slidersConfig:2; \ uint8_t potsConfig; /*two bits for every pot*/\ uint8_t backlightColor; \ @@ -533,7 +533,7 @@ enum Functions { #endif FUNC_PLAY_VALUE, #if defined(CPUARM) - FUNC_PLAY_DIFF, + FUNC_RESERVE4, FUNC_PLAY_SCRIPT, FUNC_RESERVE5, FUNC_BACKGND_MUSIC, @@ -754,7 +754,7 @@ PACK(typedef struct { int8_t currModel; uint8_t contrast; uint8_t vBatWarn; - int8_t vBatCalib; + int8_t txVoltageCalibration; int8_t backlightMode; TrainerData trainer; uint8_t view; // index of view in main screen @@ -1749,7 +1749,7 @@ enum SwitchSources { SWSRC_LAST_LOGICAL_SWITCH = SWSRC_FIRST_LOGICAL_SWITCH+NUM_LOGICAL_SWITCH-1, SWSRC_ON, - SWSRC_One, + SWSRC_ONE, #if defined(CPUARM) SWSRC_FIRST_FLIGHT_MODE, @@ -1764,12 +1764,13 @@ enum SwitchSources { SWSRC_FIRST = -SWSRC_LAST, #if defined(CPUARM) - SWSRC_LAST_IN_LOGICAL_SWITCHES = SWSRC_LAST_FLIGHT_MODE, - SWSRC_LAST_IN_MIXES = SWSRC_LAST_FLIGHT_MODE, + SWSRC_LAST_IN_LOGICAL_SWITCHES = SWSRC_COUNT-1, + SWSRC_LAST_IN_MIXES = SWSRC_COUNT-1, #else SWSRC_LAST_IN_LOGICAL_SWITCHES = SWSRC_LAST_LOGICAL_SWITCH, SWSRC_LAST_IN_MIXES = SWSRC_LAST_LOGICAL_SWITCH, #endif + SWSRC_FIRST_IN_LOGICAL_SWITCHES = -SWSRC_LAST_IN_LOGICAL_SWITCHES, SWSRC_FIRST_IN_MIXES = -SWSRC_LAST_IN_MIXES, @@ -1962,7 +1963,11 @@ enum TimerModes { enum CountDownModes { COUNTDOWN_SILENT, COUNTDOWN_BEEPS, - COUNTDOWN_VOICE + COUNTDOWN_VOICE, +#if defined(CPUARM) && defined(HAPTIC) + COUNTDOWN_HAPTIC, +#endif + COUNTDOWN_COUNT }; #if defined(CPUARM) @@ -2069,10 +2074,10 @@ enum FailsafeModes { FAILSAFE_LAST = FAILSAFE_RECEIVER }; -#if defined(FRSKY) || !defined(PCBSTD) - #define TELEMETRY_DATA FrSkyData frsky; -#elif defined(MAVLINK) +#if defined(MAVLINK) #define TELEMETRY_DATA MavlinkData mavlink; +#elif defined(FRSKY) || !defined(PCBSTD) + #define TELEMETRY_DATA FrSkyData frsky; #else #define TELEMETRY_DATA #endif @@ -2091,14 +2096,24 @@ PACK(typedef struct { enum ThrottleSources { THROTTLE_SOURCE_THR, -#if defined(PCBTARANIS) + THROTTLE_SOURCE_FIRST_POT, +#if defined(PCBTARANIS) && defined(REV9E) + THROTTLE_SOURCE_F1 = THROTTLE_SOURCE_FIRST_POT, + THROTTLE_SOURCE_F2, + THROTTLE_SOURCE_F3, + THROTTLE_SOURCE_F4, THROTTLE_SOURCE_S1, THROTTLE_SOURCE_S2, + THROTTLE_SOURCE_LS, + THROTTLE_SOURCE_RS, +#elif defined(PCBTARANIS) + THROTTLE_SOURCE_S1 = THROTTLE_SOURCE_FIRST_POT, + THROTTLE_SOURCE_S2, THROTTLE_SOURCE_S3, THROTTLE_SOURCE_LS, THROTTLE_SOURCE_RS, #else - THROTTLE_SOURCE_P1, + THROTTLE_SOURCE_P1 = THROTTLE_SOURCE_FIRST_POT, THROTTLE_SOURCE_P2, THROTTLE_SOURCE_P3, #endif @@ -2152,8 +2167,9 @@ PACK(typedef struct { FlightModeData flightModeData[MAX_FLIGHT_MODES]; AVR_FIELD(int8_t ppmFrameLength) // 0=22.5ms (10ms-30ms) 0.5ms increments - uint8_t thrTraceSrc; - + + uint8_t thrTraceSrc; + swarnstate_t switchWarningState; swarnenable_t switchWarningEnable; diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index f3f5938f9..2e24f5b99 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -366,13 +366,15 @@ void defaultInputs() #if defined(TEMPLATES) inline void applyDefaultTemplate() { - applyTemplate(TMPL_SIMPLE_4CH); + applyTemplate(TMPL_SIMPLE_4CH); // calls eeDirty internally } #else void applyDefaultTemplate() { #if defined(VIRTUALINPUTS) - defaultInputs(); + defaultInputs(); // calls eeDirty internally +#else + eeDirty(EE_MODEL); #endif for (int i=0; iCTRL = 0; // turn off systick - pwrOff(); + boardOff(); } else if (pwr_check == e_power_press) { refresh = true; @@ -1276,7 +1273,7 @@ void alert(const pm_char * t, const pm_char *s MESSAGE_SOUND_ARG) } #else if (pwrCheck() == e_power_off) { - pwrOff(); // turn power off now + boardOff(); // turn power off now } #endif } @@ -1886,7 +1883,7 @@ void opentxClose() #endif #if defined(PCBSKY9X) - uint32_t mAhUsed = g_eeGeneral.mAhUsed + Current_used * (488 + g_eeGeneral.currentCalib) / 8192 / 36; + uint32_t mAhUsed = g_eeGeneral.mAhUsed + Current_used * (488 + g_eeGeneral.txCurrentCalibration) / 8192 / 36; if (g_eeGeneral.mAhUsed != mAhUsed) { g_eeGeneral.mAhUsed = mAhUsed; } @@ -2013,16 +2010,16 @@ void checkBattery() counter = 10; int32_t instant_vbat = anaIn(TX_VOLTAGE); #if defined(PCBTARANIS) - instant_vbat = (instant_vbat + instant_vbat*(g_eeGeneral.vBatCalib)/128) * BATT_SCALE; + instant_vbat = (instant_vbat + instant_vbat*(g_eeGeneral.txVoltageCalibration)/128) * BATT_SCALE; instant_vbat >>= 11; instant_vbat += 2; // because of the diode #elif defined(PCBSKY9X) - instant_vbat = (instant_vbat + instant_vbat*(g_eeGeneral.vBatCalib)/128) * 4191; + instant_vbat = (instant_vbat + instant_vbat*(g_eeGeneral.txVoltageCalibration)/128) * 4191; instant_vbat /= 55296; #elif defined(CPUM2560) - instant_vbat = (instant_vbat*1112 + instant_vbat*g_eeGeneral.vBatCalib + (BandGap<<2)) / (BandGap<<3); + instant_vbat = (instant_vbat*1112 + instant_vbat*g_eeGeneral.txVoltageCalibration + (BandGap<<2)) / (BandGap<<3); #else - instant_vbat = (instant_vbat*16 + instant_vbat*g_eeGeneral.vBatCalib/8) / BandGap; + instant_vbat = (instant_vbat*16 + instant_vbat*g_eeGeneral.txVoltageCalibration/8) / BandGap; #endif static uint8_t s_batCheck; @@ -2061,7 +2058,7 @@ void checkBattery() else if (g_eeGeneral.temperatureWarn && getTemperature() >= g_eeGeneral.temperatureWarn) { AUDIO_TX_TEMP_HIGH(); } - else if (g_eeGeneral.mAhWarn && (g_eeGeneral.mAhUsed + Current_used * (488 + g_eeGeneral.currentCalib)/8192/36) / 500 >= g_eeGeneral.mAhWarn) { + else if (g_eeGeneral.mAhWarn && (g_eeGeneral.mAhUsed + Current_used * (488 + g_eeGeneral.txCurrentCalibration)/8192/36) / 500 >= g_eeGeneral.mAhWarn) { AUDIO_TX_MAH_HIGH(); } #endif @@ -2142,8 +2139,6 @@ ISR(TIMER_10MS_VECT, ISR_NOBLOCK) // (The timer is free-running and is thus not reset to zero at each capture interval.) ISR(TIMER3_CAPT_vect) // G: High frequency noise can cause stack overflo with ISR_NOBLOCK { - static uint16_t lastCapt; - uint16_t capture=ICR3; // Prevent rentrance for this IRQ only @@ -2353,7 +2348,7 @@ void moveTrimsToOffsets() // copy state of 3 primary to subtrim #if !defined(CPUARM) && !defined(SIMU) extern unsigned char __bss_end ; #define STACKPTR _SFR_IO16(0x3D) -void stack_paint() +void stackPaint() { // Init Stack while interrupts are disabled unsigned char *p ; @@ -2367,7 +2362,7 @@ void stack_paint() } } -uint16_t stack_free() +uint16_t stackAvailable() { unsigned char *p ; @@ -2456,7 +2451,7 @@ void opentxInit(OPENTX_INIT_ARGS) backlightOn(); #if defined(PCBTARANIS) - uart3Init(g_eeGeneral.uart3Mode, MODEL_TELEMETRY_PROTOCOL()); + serial2Init(g_eeGeneral.serial2Mode, MODEL_TELEMETRY_PROTOCOL()); #endif #if defined(PCBSKY9X) && !defined(SIMU) @@ -2497,7 +2492,7 @@ int main(void) lcdInit(); #endif - stack_paint(); + stackPaint(); #if defined(GUI) g_menuStack[0] = menuMainView; @@ -2577,7 +2572,7 @@ int main(void) opentxClose(); lcd_clear() ; lcdRefresh() ; - pwrOff(); // Only turn power off if necessary + boardOff(); // Only turn power off if necessary wdt_disable(); while(1); // never return from main() - there is no code to return back, if any delays occurs in physical power it does dead loop. #endif diff --git a/radio/src/opentx.h b/radio/src/opentx.h index 7ef82bdfb..2b0cbb75b 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -208,6 +208,13 @@ #define CASE_REV9E(x) #endif +#if defined(PCBSKY9X) && !defined(AR9X) && !defined(REVA) + #define TX_CAPACITY_MEASUREMENT + #define CASE_CAPACITY(x) x, +#else + #define CASE_CAPACITY(x) +#endif + #if ROTARY_ENCODERS > 0 #define ROTARY_ENCODER_NAVIGATION #endif @@ -291,33 +298,39 @@ #include "debug.h" #if defined(SIMU) -#include "targets/simu/simpgmspace.h" + #include "targets/simu/simpgmspace.h" #elif defined(CPUARM) -typedef const unsigned char pm_uchar; -typedef const char pm_char; -typedef const uint16_t pm_uint16_t; -typedef const uint8_t pm_uint8_t; -typedef const int16_t pm_int16_t; -typedef const int8_t pm_int8_t; -#define pgm_read_byte(address_short) (*(uint8_t*)(address_short)) -#define PSTR(adr) adr -#define PROGMEM -#define pgm_read_adr(x) *(x) -#define cli() -#define sei() -extern void boardInit(); + typedef const unsigned char pm_uchar; + typedef const char pm_char; + typedef const uint16_t pm_uint16_t; + typedef const uint8_t pm_uint8_t; + typedef const int16_t pm_int16_t; + typedef const int8_t pm_int8_t; + #define pgm_read_byte(address_short) (*(uint8_t*)(address_short)) + #define PSTR(adr) adr + #define PROGMEM + #define pgm_read_adr(x) *(x) + #define cli() + #define sei() + extern void boardInit(); + #if defined(PCBTARANIS) + extern void boardOff(); + #else + #define boardOff() pwrOff(); + #endif #else -#include -#include -#include "pgmtypes.h" + #define boardOff() pwrOff(); + #include + #include + #include "pgmtypes.h" -#include -#include -#include -#define F_CPU 16000000UL // 16 MHz -#include -#define pgm_read_adr(address_short) pgm_read_word(address_short) -#include + #include + #include + #include + #define F_CPU 16000000UL // 16 MHz + #include + #define pgm_read_adr(address_short) pgm_read_word(address_short) + #include #endif #if defined(PCBTARANIS) @@ -410,6 +423,7 @@ extern void boardInit(); typedef int32_t rotenc_t; typedef int32_t getvalue_t; typedef uint32_t mixsrc_t; + typedef int8_t swsrc_t; #else #define tmr10ms_t uint16_t extern volatile tmr10ms_t g_tmr10ms; @@ -424,7 +438,7 @@ extern void boardInit(); typedef int8_t rotenc_t; typedef int16_t getvalue_t; typedef uint8_t mixsrc_t; - void watchdogSetTimeout(uint32_t timeout); + typedef int8_t swsrc_t; #endif #if defined(NAVIGATION_STICKS) @@ -492,12 +506,12 @@ extern void boardInit(); #endif #define MAX_EXTERNAL_MODULE_CHANNELS() ((g_model.moduleData[EXTERNAL_MODULE].type == MODULE_TYPE_XJT) ? maxChannelsXJT[1+g_model.moduleData[1].rfProtocol] : maxChannelsModules[g_model.moduleData[EXTERNAL_MODULE].type]) #define MAX_CHANNELS(idx) (idx==INTERNAL_MODULE ? MAX_INTERNAL_MODULE_CHANNELS() : (idx==EXTERNAL_MODULE ? MAX_EXTERNAL_MODULE_CHANNELS() : MAX_TRAINER_CHANNELS())) -#elif defined(PCBSKY9X) && !defined(REVA) && !defined(REVX) +#elif defined(PCBSKY9X) && !defined(REVA) #define IS_MODULE_PPM(idx) (idx==TRAINER_MODULE || idx==EXTRA_MODULE || (idx==EXTERNAL_MODULE && g_model.moduleData[EXTERNAL_MODULE].type==MODULE_TYPE_PPM)) #define IS_MODULE_XJT(idx) (idx==EXTERNAL_MODULE && g_model.moduleData[EXTERNAL_MODULE].type==MODULE_TYPE_XJT) #define IS_MODULE_DSM2(idx) (idx==EXTERNAL_MODULE && g_model.moduleData[EXTERNAL_MODULE].type==MODULE_TYPE_DSM2) #define MAX_EXTERNAL_MODULE_CHANNELS() ((g_model.moduleData[EXTERNAL_MODULE].type == MODULE_TYPE_XJT) ? maxChannelsXJT[1+g_model.moduleData[0].rfProtocol] : maxChannelsModules[g_model.moduleData[EXTERNAL_MODULE].type]) - #define MAX_EXTRA_MODULE_CHANNELS() (0) // Only PPM + #define MAX_EXTRA_MODULE_CHANNELS() (8) // Only PPM (16ch PPM) #define MAX_CHANNELS(idx) (idx==EXTERNAL_MODULE ? MAX_EXTERNAL_MODULE_CHANNELS() : (idx==EXTRA_MODULE ? MAX_EXTRA_MODULE_CHANNELS() : MAX_TRAINER_CHANNELS())) #else #define IS_MODULE_PPM(idx) (idx==TRAINER_MODULE || (idx==EXTERNAL_MODULE && g_model.moduleData[EXTERNAL_MODULE].type==MODULE_TYPE_PPM)) @@ -523,7 +537,7 @@ typedef struct { MASK_CFN_TYPE activeSwitches; tmr10ms_t lastFunctionTime[NUM_CFN]; - inline bool isFuunctionActive(uint8_t func) + inline bool isFunctionActive(uint8_t func) { return activeFunctions & ((MASK_FUNC_TYPE)1 << func); } @@ -710,14 +724,14 @@ extern uint8_t flightModeTransitionLast; #endif #if defined(SIMU) - inline int getAvailableMemory() { return 1000; } + inline int availableMemory() { return 1000; } #elif defined(CPUARM) && !defined(SIMU) extern unsigned char *heap; extern int _end; extern int _estack; extern int _main_stack_start; extern int _heap_end; - #define getAvailableMemory() ((unsigned int)((unsigned char *)&_heap_end - heap)) + #define availableMemory() ((unsigned int)((unsigned char *)&_heap_end - heap)) #endif void evalFlightModeMixes(uint8_t mode, uint8_t tick10ms); @@ -734,9 +748,9 @@ getvalue_t getValue(mixsrc_t i); #if defined(CPUARM) #define GETSWITCH_MIDPOS_DELAY 1 -bool getSwitch(int8_t swtch, uint8_t flags=0); +bool getSwitch(swsrc_t swtch, uint8_t flags=0); #else -bool getSwitch(int8_t swtch); +bool getSwitch(swsrc_t swtch); #endif void logicalSwitchesTimerTick(); @@ -761,7 +775,7 @@ void logicalSwitchesReset(); #endif extern swarnstate_t switches_states; -int8_t getMovedSwitch(); +swsrc_t getMovedSwitch(); #if defined(PCBTARANIS) #define GET_MOVED_SOURCE_PARAMS uint8_t min @@ -935,11 +949,8 @@ extern uint16_t lastMixerDuration; uint16_t getTmr16KHz(); #endif -#if defined(CPUARM) - uint32_t stack_free(uint32_t tid); - void stack_paint(); -#else - uint16_t stack_free(); +#if !defined(CPUARM) + uint16_t stackAvailable(); #endif #if defined(SPLASH) @@ -1043,12 +1054,7 @@ template void SWAP(t & a, t & b) { t tmp = b; b = a; a = tmp; } uint16_t isqrt32(uint32_t n); #if defined(CPUARM) && !defined(BOOT) -#if !defined(SIMU) -extern "C" { -#include -} -#endif - +#include "tasks_arm.h" extern OS_MutexID mixerMutex; inline void pauseMixerCalculations() { @@ -1326,7 +1332,7 @@ extern CustomFunctionsContext modelFunctionsContext; extern CustomFunctionsContext globalFunctionsContext; inline bool isFunctionActive(uint8_t func) { - return globalFunctionsContext.isFuunctionActive(func) || modelFunctionsContext.isFuunctionActive(func); + return globalFunctionsContext.isFunctionActive(func) || modelFunctionsContext.isFunctionActive(func); } void evalFunctions(const CustomFunctionData * functions, CustomFunctionsContext & functionsContext); inline void customFunctionsReset() @@ -1336,7 +1342,7 @@ inline void customFunctionsReset() } #else extern CustomFunctionsContext modelFunctionsContext; -#define isFunctionActive(func) modelFunctionsContext.isFuunctionActive(func) +#define isFunctionActive(func) modelFunctionsContext.isFunctionActive(func) void evalFunctions(); #define customFunctionsReset() modelFunctionsContext.reset() #endif diff --git a/radio/src/pulses/dsm2_arm.cpp b/radio/src/pulses/dsm2_arm.cpp index 22daad93c..de4739f27 100644 --- a/radio/src/pulses/dsm2_arm.cpp +++ b/radio/src/pulses/dsm2_arm.cpp @@ -61,7 +61,6 @@ void _send_1(uint8_t v) modulePulsesData[EXTERNAL_MODULE].dsm2.value += v; *modulePulsesData[EXTERNAL_MODULE].dsm2.ptr++ = modulePulsesData[EXTERNAL_MODULE].dsm2.value; - modulePulsesData[EXTERNAL_MODULE].dsm2.index = (modulePulsesData[EXTERNAL_MODULE].dsm2.index+1) % 2; } @@ -83,6 +82,7 @@ void sendByteDsm2(uint8_t b) //max 10 changes 0 10 10 10 10 1 } _send_1(len+BITLEN_DSM2); // _send_1(len+BITLEN_DSM2+3); // 2 stop bits } + void putDsm2Flush() { modulePulsesData[EXTERNAL_MODULE].dsm2.ptr--; //remove last stopbits and @@ -100,6 +100,7 @@ void putDsm2SerialBit(uint8_t bit) modulePulsesData[EXTERNAL_MODULE].dsm2.serialBitCount = 0; } } + void sendByteDsm2(uint8_t b) // max 10changes 0 10 10 10 10 1 { putDsm2SerialBit(0); // Start bit @@ -111,6 +112,7 @@ void sendByteDsm2(uint8_t b) // max 10changes 0 10 10 10 10 1 putDsm2SerialBit(1); // Stop bit putDsm2SerialBit(1); // Stop bit } + void putDsm2Flush() { for (int i=0; i<16; i++) { @@ -178,7 +180,9 @@ void setupPulsesDSM2(unsigned int port) dsmDat[1] = g_model.header.modelId[port]; // DSM2 Header second byte for model match for (int i=0; i>5)+512, 1023); + int channel = g_model.moduleData[port].channelsStart+i; + int value = channelOutputs[channel] + 2*PPM_CH_CENTER(channel) - 2*PPM_CENTER; + uint16_t pulse = limit(0, ((value*13)>>5)+512, 1023); dsmDat[2+2*i] = (i<<2) | ((pulse>>8)&0x03); dsmDat[3+2*i] = pulse & 0xff; } diff --git a/radio/src/pulses/pulses.h b/radio/src/pulses/pulses.h old mode 100755 new mode 100644 diff --git a/radio/src/serial.cpp b/radio/src/serial.cpp index c90ebefe0..e64e0ec6d 100644 --- a/radio/src/serial.cpp +++ b/radio/src/serial.cpp @@ -1,297 +1,72 @@ /* - * Authors - Gerard Valade + * Authors (alphabetical order) + * - Andre Bernet + * - Andreas Weitl + * - Bertrand Songis + * - Bryan J. Rentoul (Gruvin) + * - Cameron Weeks + * - Erez Raviv + * - Gabriel Birkus + * - Jean-Pierre Parisy + * - Karl Szmutny + * - Michael Blandford + * - Michal Hlavinka + * - Pat Mackenzie + * - Philip Moss + * - Rob Thomson + * - Romolo Manfredini + * - Thomas Husterer * - * Adapted from frsky + * opentx is based on code named + * gruvin9x by Bryan J. Rentoul: http://code.google.com/p/gruvin9x/, + * er9x by Erez Raviv: http://code.google.com/p/er9x/, + * and the original (and ongoing) project by + * Thomas Husterer, th9x: http://code.google.com/p/th9x/ * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published - * by the Free Software Foundation. + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. * - * This program 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. + * This program 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. * */ #include "opentx.h" #include "serial.h" +#include +#include -/* - Receive serial (RS-232) characters, detecting and storing each Fr-Sky - 0x7e-framed packet as it arrives. When a complete packet has been - received, process its data into storage variables. NOTE: This is an - interrupt routine and should not get too lengthy. I originally had - the buffer being checked in the perMain function (because per10ms - isn't quite often enough for data streaming at 9600baud) but alas - that scheme lost packets also. So each packet is parsed as it arrives, - directly at the ISR function (through a call to frskyProcessPacket). +#define PRINTF_BUFFER_SIZE 256 - If this proves a problem in the future, then I'll just have to implement - a second buffer to receive data while one buffer is being processed (slowly). - */ - -#ifndef SIMU -ISR (USART0_RX_vect) +void serialPutc(char c) { - uint8_t iostat; //USART control and Status Register 0 A - // uint8_t rh; //USART control and Status Register 0 B - UCSR0B &= ~(1 << RXCIE0); // disable Interrupt - sei(); - iostat = UCSR0A; //USART control and Status Register 0 A - uint8_t byte = UDR0; - - /* - bit 7 6 5 4 3 2 1 0 - RxC0 TxC0 UDRE0 FE0 DOR0 UPE0 U2X0 MPCM0 - - RxC0: Receive complete - TXC0: Transmit Complete - UDRE0: USART Data Register Empty - FE0: Frame Error - DOR0: Data OverRun - UPE0: USART Parity Error - U2X0: Double Tx Speed - MPCM0: MultiProcessor Comms Mode - */ - if (iostat & ((1 << FE0) | (1 << DOR0) | (1 << UPE0))) { - byte = 0; - } - //rh = UCSR0B; //USART control and Status Register 0 B -#ifdef MAVLINK - (RXHandler)(byte); +#if defined(USB_SERIAL) + usbSerialPutc(c); +#else + serial2Putc(c); #endif - - cli(); - UCSR0B |= (1 << RXCIE0); // enable Interrupt - -} -#endif - -inline void SERIAL_EnableRXD(void) { - UCSR0B |= (1 << RXEN0); // enable RX - UCSR0B |= (1 << RXCIE0); // enable Interrupt } -#if 0 -void SERIAL_DisableRXD(void) { - UCSR0B &= ~(1 << RXEN0); // disable RX - UCSR0B &= ~(1 << RXCIE0); // disable Interrupt -} -#endif - -/* - USART0 (transmit) Data Register Emtpy ISR - Usef to transmit FrSky data packets, which are buffered in frskyTXBuffer. - */ -uint8_t serialTxBuffer[MAX_TX_BUFFER]; // 32 characters -uint8_t serialTxBufferCount = 0; -uint8_t * ptrTxISR = 0; -serial_tx_state_t serialTxState = TX_STATE_EMPTY; - -#ifndef SIMU -ISR(USART0_UDRE_vect) +void serialPrintf(const char * format, ...) { - if (serialTxBufferCount > 0) { - UDR0 = *ptrTxISR++; - serialTxBufferCount--; - } else { - UCSR0B &= ~(1 << UDRIE0); // disable UDRE0 interrupt - serialTxState = TX_STATE_EMPTY; - } -} -#endif + va_list arglist; + char tmp[PRINTF_BUFFER_SIZE]; -void SERIAL_start_uart_send() { - ptrTxISR = serialTxBuffer; - serialTxBufferCount = 0; + va_start(arglist, format); + vsnprintf(tmp, PRINTF_BUFFER_SIZE, format, arglist); + va_end(arglist); + + const char *t = tmp; + while (*t) { + serialPutc(*t++); + } } -void SERIAL_end_uart_send() { - ptrTxISR = serialTxBuffer; - //UCSR0B |= (1 << UDRIE0); // enable UDRE0 interrupt - serialTxState = TX_STATE_READY; +void serialCrlf() +{ + serialPutc('\r'); + serialPutc('\n'); } - -void SERIAL_send_uart_bytes(const uint8_t * buf, uint16_t len) { - while (len--) { - *ptrTxISR++ = *buf++; - serialTxBufferCount++; - } - -} - -#if 0 -void SERIAL_transmitBuffer(uint8_t len) { - serialTxBufferCount = len; - ptrTxISR = serialTxBuffer; - //UCSR0B |= (1 << UDRIE0); // enable UDRE0 interrupt - serialTxState = TX_STATE_READY; -} -#endif - -void SERIAL_startTX(void) { - if (serialTxState == TX_STATE_READY) { - serialTxState = TX_STATE_BUSY; - UCSR0B |= (1 << UDRIE0); // enable UDRE0 interrupt - } -} - -static void uart_4800(void) { -#ifndef SIMU -#undef BAUD // avoid compiler warning -#define BAUD 4800 -#include - UBRR0H = UBRRH_VALUE; - UBRR0L = UBRRL_VALUE; -#if USE_2X - UCSR0A |= (1 << U2X0); -#else - UCSR0A &= ~(1 << U2X0); -#endif -#endif -} - -static void uart_9600(void) { -#ifndef SIMU -#undef BAUD // avoid compiler warning -#define BAUD 9600 -#include - UBRR0H = UBRRH_VALUE; - UBRR0L = UBRRL_VALUE; -#if USE_2X - UCSR0A |= (1 << U2X0); -#else - UCSR0A &= ~(1 << U2X0); -#endif -#endif -} - -static void uart_14400(void) { -#ifndef SIMU -#undef BAUD // avoid compiler warning -#define BAUD 14400 -#include - UBRR0H = UBRRH_VALUE; - UBRR0L = UBRRL_VALUE; -#if USE_2X - UCSR0A |= (1 << U2X0); -#else - UCSR0A &= ~(1 << U2X0); -#endif -#endif -} - -static void uart_19200(void) { -#ifndef SIMU -#undef BAUD // avoid compiler warning -#define BAUD 19200 -#include - UBRR0H = UBRRH_VALUE; - UBRR0L = UBRRL_VALUE; -#if USE_2X - UCSR0A |= (1 << U2X0); -#else - UCSR0A &= ~(1 << U2X0); -#endif -#endif -} - -static void uart_38400(void) { -#ifndef SIMU -#undef BAUD // avoid compiler warning -#define BAUD 38400 -#include - UBRR0H = UBRRH_VALUE; - UBRR0L = UBRRL_VALUE; -#if USE_2X - UCSR0A |= (1 << U2X0); -#else - UCSR0A &= ~(1 << U2X0); -#endif -#endif -} - -static void uart_57600(void) { -#ifndef SIMU -#undef BAUD // avoid compiler warning -#define BAUD 57600 -#include - UBRR0H = UBRRH_VALUE; - UBRR0L = UBRRL_VALUE; -#if USE_2X - UCSR0A |= (1 << U2X0); -#else - UCSR0A &= ~(1 << U2X0); -#endif -#endif -} - - -static void uart_76800(void) { -#ifndef SIMU -#undef BAUD // avoid compiler warning -#define BAUD 76800 -#include - UBRR0H = UBRRH_VALUE; - UBRR0L = UBRRL_VALUE; -#if USE_2X - UCSR0A |= (1 << U2X0); -#else - UCSR0A &= ~(1 << U2X0); -#endif -#endif -} - -inline void SERIAL_EnableTXD(void) { - //UCSR0B |= (1 << TXEN0); // enable TX - UCSR0B |= (1 << TXEN0) | (1 << UDRIE0); // enable TX and TX interrupt -} - -#if 0 -void SERIAL_DisableTXD(void) { - UCSR0B &= ~(1 << TXEN0); // disable TX - UCSR0B &= ~(1 << UDRIE0); // disable Interrupt -} -#endif - -void SERIAL_Init(void) { - DDRE &= ~(1 << DDE0); // set RXD0 pin as input - PORTE &= ~(1 << PORTE0); // disable pullup on RXD0 pin - - switch (g_eeGeneral.mavbaud) { - case BAUD_4800: - uart_4800(); - break; - case BAUD_9600: - uart_9600(); - break; - case BAUD_14400: - uart_14400(); - break; - case BAUD_19200: - uart_19200(); - break; - case BAUD_38400: - uart_38400(); - break; - case BAUD_57600: - uart_57600(); - break; - case BAUD_76800: - uart_76800(); - break; - } - - - // UCSR0A &= ~(1 << U2X0); // disable double speed operation - // set 8N1 - UCSR0B = 0 | (0 << RXCIE0) | (0 << TXCIE0) | (0 << UDRIE0) | (0 << RXEN0) | (0 << TXEN0) | (0 << UCSZ02); - UCSR0C = 0 | (1 << UCSZ01) | (1 << UCSZ00); - while (UCSR0A & (1 << RXC0)) - UDR0; // flush receive buffer - - SERIAL_EnableTXD(); - SERIAL_EnableRXD(); -} - diff --git a/radio/src/serial.h b/radio/src/serial.h index a3089d691..9d887512b 100644 --- a/radio/src/serial.h +++ b/radio/src/serial.h @@ -1,59 +1,55 @@ -/* - * Authors - Gerard Valade - * - * Adapted from frsky - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published - * by the Free Software Foundation. - * - * This program 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. - * - */ - -#ifndef _SERIAL_H_ -#define _SERIAL_H_ - -typedef enum serial_tx_state_ { - TX_STATE_EMPTY = 0, // - TX_STATE_READY, // - TX_STATE_BUSY -} serial_tx_state_t; -extern serial_tx_state_t serialTxState; - -//! \brief Baudrate selection. -enum SERIAL_BAUDS { - BAUD_4800 = 0, - BAUD_9600, - BAUD_14400, - BAUD_19200, - BAUD_38400, - BAUD_57600, - BAUD_76800 -}; - -//! \brief Definition of baudrate settings item choices. -typedef void (*SerialFuncP)(uint8_t event); - -extern SerialFuncP RXHandler; - -#define MAX_TX_BUFFER 32 -//#if 0 -extern uint8_t serialTxBuffer[MAX_TX_BUFFER]; // 32 characters -extern uint8_t serialTxBufferCount; -extern uint8_t * ptrTxISR; -//#endif - -void SERIAL_Init(void); -//void SERIAL_transmitBuffer(uint8_t len); -extern void SERIAL_start_uart_send(); -extern void SERIAL_end_uart_send(); -extern void SERIAL_send_uart_bytes(uint8_t * buf, uint16_t len); - -void SERIAL_startTX(void); -#define IS_TX_BUSY (serialTxState!=TX_STATE_EMPTY) - -#endif +/* + * Authors (alphabetical order) + * - Andre Bernet + * - Andreas Weitl + * - Bertrand Songis + * - Bryan J. Rentoul (Gruvin) + * - Cameron Weeks + * - Erez Raviv + * - Gabriel Birkus + * - Jean-Pierre Parisy + * - Karl Szmutny + * - Michael Blandford + * - Michal Hlavinka + * - Pat Mackenzie + * - Philip Moss + * - Rob Thomson + * - Romolo Manfredini + * - Thomas Husterer + * + * opentx is based on code named + * gruvin9x by Bryan J. Rentoul: http://code.google.com/p/gruvin9x/, + * er9x by Erez Raviv: http://code.google.com/p/er9x/, + * and the original (and ongoing) project by + * Thomas Husterer, th9x: http://code.google.com/p/th9x/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program 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. + * + */ + +#ifndef _SERIAL_H_ +#define _SERIAL_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +void serialPutc(char c); +void serialPrintf(const char *format, ...); +void serialCrlf(); + +#ifdef __cplusplus +} +#endif + +#define serialPrint(...) do { serialPrintf(__VA_ARGS__); serialCrlf(); } while(0) + +#endif // _SERIAL_H_ + diff --git a/radio/src/switches.cpp b/radio/src/switches.cpp index 6415699ff..447eef724 100644 --- a/radio/src/switches.cpp +++ b/radio/src/switches.cpp @@ -72,11 +72,18 @@ volatile GETSWITCH_RECURSIVE_TYPE s_last_switch_value = 0; #endif #if defined(PCBTARANIS) -tmr10ms_t switchesMidposStart[6] = { 0 }; +#if defined(REV9E) +tmr10ms_t switchesMidposStart[6]; +#else +tmr10ms_t switchesMidposStart[16]; // TODO constant +#endif uint64_t switchesPos = 0; -tmr10ms_t potsLastposStart[NUM_XPOTS] = { 0 }; +tmr10ms_t potsLastposStart[NUM_XPOTS]; uint8_t potsPos[NUM_XPOTS]; +#define SWITCH_POSITION(sw) (switchesPos & ((MASK_CFN_TYPE)1<<(sw))) +#define POT_POSITION(sw) ((potsPos[(sw)/XPOTS_MULTIPOS_COUNT] & 0x0f) == ((sw) % XPOTS_MULTIPOS_COUNT)) + div_t switchInfo(int switchPosition) { return div(switchPosition-SWSRC_FIRST_SWITCH, 3); @@ -92,7 +99,7 @@ uint64_t check2PosSwitchPosition(EnumKeys sw) else index = sw - SW_SA0 + 2; - result = ((int64_t)1 << index); + result = ((uint64_t)1 << index); if (!(switchesPos & result)) { PLAY_SWITCH_MOVED(index); @@ -101,32 +108,33 @@ uint64_t check2PosSwitchPosition(EnumKeys sw) return result; } -uint32_t check3PosSwitchPosition(uint8_t idx, EnumKeys sw, bool startup) +uint64_t check3PosSwitchPosition(uint8_t idx, EnumKeys sw, bool startup) { - uint32_t result; + uint64_t result; uint32_t index; if (switchState(sw)) { index = sw - SW_SA0; - result = (1 << index); + result = ((MASK_CFN_TYPE)1 << index); switchesMidposStart[idx] = 0; } else if (switchState(EnumKeys(sw+2))) { index = sw - SW_SA0 + 2; - result = (1 << index); - switchesMidposStart[idx] = 0; - } - else if (startup || (switchesPos & (1 << (sw - SW_SA0 + 1))) || g_eeGeneral.switchesDelay==SWITCHES_DELAY_NONE || (switchesMidposStart[idx] && (tmr10ms_t)(get_tmr10ms() - switchesMidposStart[idx]) > SWITCHES_DELAY())) { - index = sw - SW_SA0 + 1; - result = (1 << index); + result = ((MASK_CFN_TYPE)1 << index); switchesMidposStart[idx] = 0; } else { index = sw - SW_SA0 + 1; - if (!switchesMidposStart[idx]) { - switchesMidposStart[idx] = get_tmr10ms(); + if (startup || SWITCH_POSITION(index) || g_eeGeneral.switchesDelay==SWITCHES_DELAY_NONE || (switchesMidposStart[idx] && (tmr10ms_t)(get_tmr10ms() - switchesMidposStart[idx]) > SWITCHES_DELAY())) { + result = ((MASK_CFN_TYPE)1 << index); + switchesMidposStart[idx] = 0; + } + else { + result = (switchesPos & ((MASK_CFN_TYPE)0x7 << (sw - SW_SA0))); + if (!switchesMidposStart[idx]) { + switchesMidposStart[idx] = get_tmr10ms(); + } } - result = (switchesPos & (0x7 << (sw - SW_SA0))); } if (!(switchesPos & result)) { @@ -151,6 +159,19 @@ void getSwitchesPosition(bool startup) CHECK_3POS(5, SW_SG); CHECK_2POS(SW_SH); +#if defined(REV9E) + CHECK_3POS(6, SW_SI); + CHECK_3POS(7, SW_SJ); + CHECK_3POS(8, SW_SK); + CHECK_3POS(9, SW_SL); + CHECK_3POS(10, SW_SM); + CHECK_3POS(11, SW_SN); + CHECK_3POS(12, SW_SO); + CHECK_3POS(13, SW_SP); + CHECK_3POS(14, SW_SQ); + CHECK_3POS(15, SW_SR); +#endif + switchesPos = newPos; for (int i=0; i=MIXSRC_FIRST_INPUT && i<=MIXSRC_LAST_INPUT) { @@ -216,7 +235,7 @@ bool getLogicalSwitch(uint8_t idx) bool result; #if defined(CPUARM) - int8_t s = ls->andsw; + swsrc_t s = ls->andsw; #else uint8_t s = ls->andsw; if (s > SWSRC_LAST_SWITCH) { @@ -276,7 +295,7 @@ bool getLogicalSwitch(uint8_t idx) } } else { - uint8_t v1 = ls->v1; + mixsrc_t v1 = ls->v1; #if defined(FRSKY) // Telemetry if (v1 >= MIXSRC_FIRST_TELEM) { @@ -424,9 +443,9 @@ DurationAndDelayProcessing: } #if defined(CPUARM) -bool getSwitch(int8_t swtch, uint8_t flags) +bool getSwitch(swsrc_t swtch, uint8_t flags) #else -bool getSwitch(int8_t swtch) +bool getSwitch(swsrc_t swtch) #endif { bool result; @@ -436,7 +455,7 @@ bool getSwitch(int8_t swtch) uint8_t cs_idx = abs(swtch); - if (cs_idx == SWSRC_One) { + if (cs_idx == SWSRC_ONE) { result = !s_mixer_first_run_done; } else if (cs_idx == SWSRC_ON) { @@ -444,18 +463,10 @@ bool getSwitch(int8_t swtch) } else if (cs_idx <= SWSRC_LAST_SWITCH) { #if defined(PCBTARANIS) - if (flags & GETSWITCH_MIDPOS_DELAY) { - div_t swinfo = switchInfo(cs_idx); - if (IS_3POS(swinfo.quot)) { - result = SWITCH_POSITION(cs_idx-SWSRC_FIRST_SWITCH); - } - else { - result = switchState((EnumKeys)(SW_BASE+cs_idx-SWSRC_FIRST_SWITCH)); - } - } - else { + if (flags & GETSWITCH_MIDPOS_DELAY) + result = SWITCH_POSITION(cs_idx-SWSRC_FIRST_SWITCH); + else result = switchState((EnumKeys)(SW_BASE+cs_idx-SWSRC_FIRST_SWITCH)); - } #else result = switchState((EnumKeys)(SW_BASE+cs_idx-SWSRC_FIRST_SWITCH)); #endif @@ -536,7 +547,7 @@ bool getSwitch(int8_t swtch) void evalLogicalSwitches(bool isCurrentPhase) { for (unsigned int idx=0; idx + * + * Adapted from frsky + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + * + * This program 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. + * + */ + +#include "serial_driver.h" +#include "opentx.h" + +/* + Receive serial (RS-232) characters, detecting and storing each Fr-Sky + 0x7e-framed packet as it arrives. When a complete packet has been + received, process its data into storage variables. NOTE: This is an + interrupt routine and should not get too lengthy. I originally had + the buffer being checked in the perMain function (because per10ms + isn't quite often enough for data streaming at 9600baud) but alas + that scheme lost packets also. So each packet is parsed as it arrives, + directly at the ISR function (through a call to frskyProcessPacket). + + If this proves a problem in the future, then I'll just have to implement + a second buffer to receive data while one buffer is being processed (slowly). + */ + +#ifndef SIMU +ISR (USART0_RX_vect) +{ + uint8_t iostat; //USART control and Status Register 0 A + // uint8_t rh; //USART control and Status Register 0 B + UCSR0B &= ~(1 << RXCIE0); // disable Interrupt + sei(); + iostat = UCSR0A; //USART control and Status Register 0 A + uint8_t byte = UDR0; + + /* + bit 7 6 5 4 3 2 1 0 + RxC0 TxC0 UDRE0 FE0 DOR0 UPE0 U2X0 MPCM0 + + RxC0: Receive complete + TXC0: Transmit Complete + UDRE0: USART Data Register Empty + FE0: Frame Error + DOR0: Data OverRun + UPE0: USART Parity Error + U2X0: Double Tx Speed + MPCM0: MultiProcessor Comms Mode + */ + if (iostat & ((1 << FE0) | (1 << DOR0) | (1 << UPE0))) { + byte = 0; + } + //rh = UCSR0B; //USART control and Status Register 0 B +#ifdef MAVLINK + (RXHandler)(byte); +#endif + + cli(); + UCSR0B |= (1 << RXCIE0); // enable Interrupt + +} +#endif + +inline void SERIAL_EnableRXD(void) { + UCSR0B |= (1 << RXEN0); // enable RX + UCSR0B |= (1 << RXCIE0); // enable Interrupt +} + +#if 0 +void SERIAL_DisableRXD(void) { + UCSR0B &= ~(1 << RXEN0); // disable RX + UCSR0B &= ~(1 << RXCIE0); // disable Interrupt +} +#endif + +/* + USART0 (transmit) Data Register Emtpy ISR + Usef to transmit FrSky data packets, which are buffered in frskyTXBuffer. + */ +uint8_t serialTxBuffer[MAX_TX_BUFFER]; // 32 characters +uint8_t serialTxBufferCount = 0; +uint8_t * ptrTxISR = 0; +serial_tx_state_t serialTxState = TX_STATE_EMPTY; + +#ifndef SIMU +ISR(USART0_UDRE_vect) +{ + if (serialTxBufferCount > 0) { + UDR0 = *ptrTxISR++; + serialTxBufferCount--; + } else { + UCSR0B &= ~(1 << UDRIE0); // disable UDRE0 interrupt + serialTxState = TX_STATE_EMPTY; + } +} +#endif + +void SERIAL_start_uart_send() { + ptrTxISR = serialTxBuffer; + serialTxBufferCount = 0; +} + +void SERIAL_end_uart_send() { + ptrTxISR = serialTxBuffer; + //UCSR0B |= (1 << UDRIE0); // enable UDRE0 interrupt + serialTxState = TX_STATE_READY; +} + +void SERIAL_send_uart_bytes(const uint8_t * buf, uint16_t len) { + while (len--) { + *ptrTxISR++ = *buf++; + serialTxBufferCount++; + } + +} + +#if 0 +void SERIAL_transmitBuffer(uint8_t len) { + serialTxBufferCount = len; + ptrTxISR = serialTxBuffer; + //UCSR0B |= (1 << UDRIE0); // enable UDRE0 interrupt + serialTxState = TX_STATE_READY; +} +#endif + +void SERIAL_startTX(void) { + if (serialTxState == TX_STATE_READY) { + serialTxState = TX_STATE_BUSY; + UCSR0B |= (1 << UDRIE0); // enable UDRE0 interrupt + } +} + +static void uart_4800(void) { +#ifndef SIMU +#undef BAUD // avoid compiler warning +#define BAUD 4800 +#include + UBRR0H = UBRRH_VALUE; + UBRR0L = UBRRL_VALUE; +#if USE_2X + UCSR0A |= (1 << U2X0); +#else + UCSR0A &= ~(1 << U2X0); +#endif +#endif +} + +static void uart_9600(void) { +#ifndef SIMU +#undef BAUD // avoid compiler warning +#define BAUD 9600 +#include + UBRR0H = UBRRH_VALUE; + UBRR0L = UBRRL_VALUE; +#if USE_2X + UCSR0A |= (1 << U2X0); +#else + UCSR0A &= ~(1 << U2X0); +#endif +#endif +} + +static void uart_14400(void) { +#ifndef SIMU +#undef BAUD // avoid compiler warning +#define BAUD 14400 +#include + UBRR0H = UBRRH_VALUE; + UBRR0L = UBRRL_VALUE; +#if USE_2X + UCSR0A |= (1 << U2X0); +#else + UCSR0A &= ~(1 << U2X0); +#endif +#endif +} + +static void uart_19200(void) { +#ifndef SIMU +#undef BAUD // avoid compiler warning +#define BAUD 19200 +#include + UBRR0H = UBRRH_VALUE; + UBRR0L = UBRRL_VALUE; +#if USE_2X + UCSR0A |= (1 << U2X0); +#else + UCSR0A &= ~(1 << U2X0); +#endif +#endif +} + +static void uart_38400(void) { +#ifndef SIMU +#undef BAUD // avoid compiler warning +#define BAUD 38400 +#include + UBRR0H = UBRRH_VALUE; + UBRR0L = UBRRL_VALUE; +#if USE_2X + UCSR0A |= (1 << U2X0); +#else + UCSR0A &= ~(1 << U2X0); +#endif +#endif +} + +static void uart_57600(void) { +#ifndef SIMU +#undef BAUD // avoid compiler warning +#define BAUD 57600 +#include + UBRR0H = UBRRH_VALUE; + UBRR0L = UBRRL_VALUE; +#if USE_2X + UCSR0A |= (1 << U2X0); +#else + UCSR0A &= ~(1 << U2X0); +#endif +#endif +} + + +static void uart_76800(void) { +#ifndef SIMU +#undef BAUD // avoid compiler warning +#define BAUD 76800 +#include + UBRR0H = UBRRH_VALUE; + UBRR0L = UBRRL_VALUE; +#if USE_2X + UCSR0A |= (1 << U2X0); +#else + UCSR0A &= ~(1 << U2X0); +#endif +#endif +} + +inline void SERIAL_EnableTXD(void) { + //UCSR0B |= (1 << TXEN0); // enable TX + UCSR0B |= (1 << TXEN0) | (1 << UDRIE0); // enable TX and TX interrupt +} + +#if 0 +void SERIAL_DisableTXD(void) { + UCSR0B &= ~(1 << TXEN0); // disable TX + UCSR0B &= ~(1 << UDRIE0); // disable Interrupt +} +#endif + +void SERIAL_Init(void) { + DDRE &= ~(1 << DDE0); // set RXD0 pin as input + PORTE &= ~(1 << PORTE0); // disable pullup on RXD0 pin + + switch (g_eeGeneral.mavbaud) { + case BAUD_4800: + uart_4800(); + break; + case BAUD_9600: + uart_9600(); + break; + case BAUD_14400: + uart_14400(); + break; + case BAUD_19200: + uart_19200(); + break; + case BAUD_38400: + uart_38400(); + break; + case BAUD_57600: + uart_57600(); + break; + case BAUD_76800: + uart_76800(); + break; + } + + + // UCSR0A &= ~(1 << U2X0); // disable double speed operation + // set 8N1 + UCSR0B = 0 | (0 << RXCIE0) | (0 << TXCIE0) | (0 << UDRIE0) | (0 << RXEN0) | (0 << TXEN0) | (0 << UCSZ02); + UCSR0C = 0 | (1 << UCSZ01) | (1 << UCSZ00); + while (UCSR0A & (1 << RXC0)) + UDR0; // flush receive buffer + + SERIAL_EnableTXD(); + SERIAL_EnableRXD(); +} + diff --git a/radio/src/targets/common_avr/serial_driver.h b/radio/src/targets/common_avr/serial_driver.h new file mode 100644 index 000000000..a3089d691 --- /dev/null +++ b/radio/src/targets/common_avr/serial_driver.h @@ -0,0 +1,59 @@ +/* + * Authors - Gerard Valade + * + * Adapted from frsky + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published + * by the Free Software Foundation. + * + * This program 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. + * + */ + +#ifndef _SERIAL_H_ +#define _SERIAL_H_ + +typedef enum serial_tx_state_ { + TX_STATE_EMPTY = 0, // + TX_STATE_READY, // + TX_STATE_BUSY +} serial_tx_state_t; +extern serial_tx_state_t serialTxState; + +//! \brief Baudrate selection. +enum SERIAL_BAUDS { + BAUD_4800 = 0, + BAUD_9600, + BAUD_14400, + BAUD_19200, + BAUD_38400, + BAUD_57600, + BAUD_76800 +}; + +//! \brief Definition of baudrate settings item choices. +typedef void (*SerialFuncP)(uint8_t event); + +extern SerialFuncP RXHandler; + +#define MAX_TX_BUFFER 32 +//#if 0 +extern uint8_t serialTxBuffer[MAX_TX_BUFFER]; // 32 characters +extern uint8_t serialTxBufferCount; +extern uint8_t * ptrTxISR; +//#endif + +void SERIAL_Init(void); +//void SERIAL_transmitBuffer(uint8_t len); +extern void SERIAL_start_uart_send(); +extern void SERIAL_end_uart_send(); +extern void SERIAL_send_uart_bytes(uint8_t * buf, uint16_t len); + +void SERIAL_startTX(void); +#define IS_TX_BUSY (serialTxState!=TX_STATE_EMPTY) + +#endif diff --git a/radio/src/targets/mega2560/board_mega2560.cpp b/radio/src/targets/mega2560/board_mega2560.cpp index 39b329ec6..bc72dd721 100644 --- a/radio/src/targets/mega2560/board_mega2560.cpp +++ b/radio/src/targets/mega2560/board_mega2560.cpp @@ -66,11 +66,10 @@ inline void boardInit() OCR2A = 156; TIMSK2 |= (1<(volume, VOLUME_LEVEL_MAX)]; __disable_irq() ; i2cCheck() ; __enable_irq() ; +#endif } diff --git a/radio/src/targets/sky9x/board_sky9x.cpp b/radio/src/targets/sky9x/board_sky9x.cpp index c7b1ab771..d13fc1c2d 100644 --- a/radio/src/targets/sky9x/board_sky9x.cpp +++ b/radio/src/targets/sky9x/board_sky9x.cpp @@ -603,7 +603,7 @@ uint16_t getCurrent() Current_count = 0 ; } - uint32_t current_scale = 488 + g_eeGeneral.currentCalib ; + uint32_t current_scale = 488 + g_eeGeneral.txCurrentCalibration ; return (current_scale * Current) / 8192; } #endif diff --git a/radio/src/targets/sky9x/board_sky9x.h b/radio/src/targets/sky9x/board_sky9x.h index 2c9592c9b..d02404ced 100644 --- a/radio/src/targets/sky9x/board_sky9x.h +++ b/radio/src/targets/sky9x/board_sky9x.h @@ -290,7 +290,7 @@ uint32_t telemetryTransmitPending(); void telemetryTransmitBuffer(uint8_t * buffer, uint32_t size); // Second UART driver -void telemetrySecondPortInit(unsigned int protocol); +void serial2TelemetryInit(unsigned int protocol); bool telemetrySecondPortReceive(uint8_t & data); #endif diff --git a/radio/src/targets/sky9x/pulses_driver.cpp b/radio/src/targets/sky9x/pulses_driver.cpp index 221fd8baf..751077199 100644 --- a/radio/src/targets/sky9x/pulses_driver.cpp +++ b/radio/src/targets/sky9x/pulses_driver.cpp @@ -78,7 +78,7 @@ void init_main_ppm(uint32_t period, uint32_t out_enable) pwmptr->PWM_ENA = PWM_ENA_CHID3 ; // Enable channel 3 pwmptr->PWM_IER1 = PWM_IER1_CHID3 ; -#if !defined(REVA) && !defined(REVX) +#if !defined(REVA) // PWM1 for PPM2 configure_pins(PIO_PC15, PIN_PERIPHERAL | PIN_INPUT | PIN_PER_B | PIN_PORTC | PIN_NO_PULLUP ) ; pwmptr->PWM_CH_NUM[1].PWM_CMR = 0x0000000B ; // CLKB @@ -137,9 +137,9 @@ void disable_ppm(uint32_t port) PWM->PWM_IDR1 = PWM_IDR1_CHID3 ; } else { -#if !defined(REVA) && !defined(REVX) +#if !defined(REVA) pioptr = PIOC ; - pioptr->PIO_PER = PIO_PC17 ; // Assign A17 to PIO + pioptr->PIO_PER = PIO_PC17 ; // Assign C17 to PIO PWM->PWM_IDR1 = PWM_IDR1_CHID1 ; NVIC_DisableIRQ(PWM_IRQn) ; #endif @@ -290,7 +290,7 @@ extern "C" void PWM_IRQHandler(void) } } -#if !defined(REVA) && !defined(REVX) +#if !defined(REVA) if (reason & PWM_ISR1_CHID1) { pwmptr->PWM_CH_NUM[1].PWM_CPDRUPD = modulePulsesData[EXTRA_MODULE].ppm.pulses[modulePulsesData[EXTRA_MODULE].ppm.index++] ; // Period in half uS if (modulePulsesData[EXTRA_MODULE].ppm.pulses[modulePulsesData[EXTRA_MODULE].ppm.index] == 0) { diff --git a/radio/src/targets/sky9x/rtc_driver.cpp b/radio/src/targets/sky9x/rtc_driver.cpp index ddd0ea50d..7e4044f23 100644 --- a/radio/src/targets/sky9x/rtc_driver.cpp +++ b/radio/src/targets/sky9x/rtc_driver.cpp @@ -267,7 +267,7 @@ void rtcSetTime(struct gtm * t) I2CTime.Time[6] = (t->tm_year+1900) >> 8; #if defined(REVX) writeRTC((uint8_t *)&I2CTime.Time[0]) ; -#else +#elif defined(COPROCESSOR) coprocWriteData((uint8_t *) &I2CTime, 8); #endif } @@ -276,7 +276,7 @@ void rtcInit() { #if defined(REVX) readRTC(); -#else +#elif defined(COPROCESSOR) coprocReadData(); #endif } diff --git a/radio/src/targets/sky9x/second_serial_driver.cpp b/radio/src/targets/sky9x/serial2_driver.cpp similarity index 92% rename from radio/src/targets/sky9x/second_serial_driver.cpp rename to radio/src/targets/sky9x/serial2_driver.cpp index 69b0d7bdf..4cd39bc3c 100644 --- a/radio/src/targets/sky9x/second_serial_driver.cpp +++ b/radio/src/targets/sky9x/serial2_driver.cpp @@ -53,7 +53,7 @@ Fifo<512> serial2RxFifo; * This function is synchronous (i.e. uses polling). * c Character to send. */ -void debugPutc(const char c) +void serial2Putc(const char c) { Uart *pUart = SECOND_SERIAL_UART; @@ -64,6 +64,11 @@ void debugPutc(const char c) pUart->UART_THR = c; } +uint8_t serial2TracesEnabled() +{ + return false; +} + /** * Configures a UART peripheral with the specified parameters. * @@ -117,7 +122,7 @@ extern "C" void UART0_IRQHandler() #endif #if defined(FRSKY) -void telemetrySecondPortInit(unsigned int /*protocol*/) +void serial2TelemetryInit(unsigned int /*protocol*/) { SECOND_UART_Configure(FRSKY_D_BAUDRATE, Master_frequency); // startPdcUsartReceive(); diff --git a/radio/src/targets/stlink-v2.cfg b/radio/src/targets/stlink-v2.cfg old mode 100755 new mode 100644 diff --git a/radio/src/targets/stm32f2x_stlink.cfg b/radio/src/targets/stm32f2x_stlink.cfg old mode 100755 new mode 100644 diff --git a/radio/src/targets/stm32f4x_stlink.cfg b/radio/src/targets/stm32f4x_stlink.cfg old mode 100755 new mode 100644 diff --git a/radio/src/targets/taranis/bluetooth_driver.cpp b/radio/src/targets/taranis/bluetooth_driver.cpp old mode 100755 new mode 100644 index d2d43c15c..65789778c --- a/radio/src/targets/taranis/bluetooth_driver.cpp +++ b/radio/src/targets/taranis/bluetooth_driver.cpp @@ -133,7 +133,7 @@ void bluetoothWriteString(const char * str) void bluetoothWriteWakeup(void) { if (bluetoothWriteState == BLUETOOTH_WRITE_IDLE) { - if (!btTxFifo.empty()) { + if (!btTxFifo.isEmpty()) { bluetoothWriteState = BLUETOOTH_WRITE_INIT; GPIO_ResetBits(BT_GPIO_BRTS, BT_GPIO_PIN_BRTS); } diff --git a/radio/src/targets/taranis/board_taranis.cpp b/radio/src/targets/taranis/board_taranis.cpp index 25cb19f48..e73accc14 100644 --- a/radio/src/targets/taranis/board_taranis.cpp +++ b/radio/src/targets/taranis/board_taranis.cpp @@ -156,7 +156,7 @@ void boardInit() #endif #if defined(REV9E) - if (!(RCC->CSR & (RCC_CSR_SFTRSTF | RCC_CSR_WDGRSTF))) { + if (!WAS_RESET_BY_WATCHDOG_OR_SOFTWARE()) { lcd_clear(); lcd_bmp(76, 2, bmp_lock, 0, 60); lcdRefresh(); @@ -187,7 +187,7 @@ void boardInit() lcdRefreshWait(); } if (duration < PWR_PRESS_DURATION_MIN || duration >= PWR_PRESS_DURATION_MAX) { - pwrOff(); + boardOff(); } } else { @@ -198,8 +198,27 @@ void boardInit() backlightInit(); #endif } + +void boardOff() +{ + BACKLIGHT_OFF(); +#if defined(REV9E) + topLcdOff(); #endif +#if defined(REV9E) + while (pwrPressed()) { + wdt_reset(); + } +#endif + + lcdOff(); + SysTick->CTRL = 0; // turn off systick + pwrOff(); +} + +#endif // #if !defined(SIMU) + #if defined(USB_JOYSTICK) && !defined(SIMU) extern USB_OTG_CORE_HANDLE USB_OTG_dev; @@ -258,7 +277,7 @@ void checkTrainerSettings() stop_sbus_on_heartbeat_capture() ; break; case TRAINER_MODE_MASTER_BATTERY_COMPARTMENT: - uart3Stop(); + serial2Stop(); } currentTrainerMode = requiredTrainerMode; @@ -273,8 +292,8 @@ void checkTrainerSettings() init_sbus_on_heartbeat_capture() ; break; case TRAINER_MODE_MASTER_BATTERY_COMPARTMENT: - if (g_eeGeneral.uart3Mode == UART_MODE_SBUS_TRAINER) { - uart3SbusInit(); + if (g_eeGeneral.serial2Mode == UART_MODE_SBUS_TRAINER) { + serial2SbusInit(); break; } // no break diff --git a/radio/src/targets/taranis/board_taranis.h b/radio/src/targets/taranis/board_taranis.h index e33217b8c..9430d7beb 100644 --- a/radio/src/targets/taranis/board_taranis.h +++ b/radio/src/targets/taranis/board_taranis.h @@ -74,9 +74,10 @@ extern "C" { #endif #if !defined(SIMU) - #include "STM32_USB-Host-Device_Lib_V2.1.0/Libraries/STM32_USB_Device_Library/Class/msc/inc/usbd_msc_core.h" - #include "STM32_USB-Host-Device_Lib_V2.1.0/Libraries/STM32_USB_Device_Library/Class/hid/inc/usbd_hid_core.h" - #include "STM32_USB-Host-Device_Lib_V2.1.0/Libraries/STM32_USB_Device_Library/Core/inc/usbd_usr.h" + #include "usbd_cdc_core.h" + #include "usbd_msc_core.h" + #include "usbd_hid_core.h" + #include "usbd_usr.h" #include "usbd_desc.h" #include "usb_conf.h" #include "usbd_conf.h" @@ -236,8 +237,9 @@ void checkRotaryEncoder(void); void watchdogInit(unsigned int duration); #define wdt_enable(x) watchdogInit(1500) #define wdt_reset() IWDG->KR = 0xAAAA -#define WAS_RESET_BY_WATCHDOG() (RCC->CSR & (RCC_CSR_WDGRSTF | RCC_CSR_WWDGRSTF)) -#define WAS_RESET_BY_SOFTWARE() (RCC->CSR & RCC_CSR_SFTRSTF) +#define WAS_RESET_BY_SOFTWARE() (RCC->CSR & RCC_CSR_SFTRSTF) +#define WAS_RESET_BY_WATCHDOG() (RCC->CSR & (RCC_CSR_WDGRSTF | RCC_CSR_WWDGRSTF)) +#define WAS_RESET_BY_WATCHDOG_OR_SOFTWARE() (RCC->CSR & (RCC_CSR_WDGRSTF | RCC_CSR_WWDGRSTF | RCC_CSR_SFTRSTF)) #endif // ADC driver @@ -281,10 +283,8 @@ void backlightInit(void); // USB driver int usbPlugged(void); void usbInit(void); -void usbStart(void); -#if defined(USB_JOYSTICK) -void usbStop(void); -#endif +void usbDeInit(void); +void usbSerialPutc(uint8_t c); #if defined(__cplusplus) && !defined(SIMU) } @@ -322,13 +322,13 @@ void hapticOff(void); void hapticOn(void); #endif -// SERIAL_USART driver +// Second serial port driver #define DEBUG_BAUDRATE 115200 -void uart3Init(unsigned int mode, unsigned int protocol); -void uart3Putc(const char c); -#define telemetrySecondPortInit(protocol) uart3Init(UART_MODE_TELEMETRY, protocol) -void uart3SbusInit(void); -void uart3Stop(void); +void serial2Init(unsigned int mode, unsigned int protocol); +void serial2Putc(char c); +#define serial2TelemetryInit(protocol) serial2Init(UART_MODE_TELEMETRY, protocol) +void serial2SbusInit(void); +void serial2Stop(void); // BT driver #define BLUETOOTH_DEFAULT_BAUDRATE 115200 diff --git a/radio/src/targets/taranis/bootloader/.gitignore b/radio/src/targets/taranis/bootloader/.gitignore old mode 100755 new mode 100644 diff --git a/radio/src/targets/taranis/bootloader/Makefile b/radio/src/targets/taranis/bootloader/Makefile old mode 100755 new mode 100644 index 84e78cfb6..799a054cc --- a/radio/src/targets/taranis/bootloader/Makefile +++ b/radio/src/targets/taranis/bootloader/Makefile @@ -109,6 +109,8 @@ ifeq ($(PCB), TARANIS) EXTRAINCDIRS += $(STM32USBPATH)/STM32_USB_OTG_Driver/inc EXTRAINCDIRS += $(STM32USBPATH)/STM32_USB_Device_Library/Core/inc EXTRAINCDIRS += $(STM32USBPATH)/STM32_USB_Device_Library/Class/msc/inc + EXTRAINCDIRS += $(STM32USBPATH)/STM32_USB_Device_Library/Class/hid/inc + EXTRAINCDIRS += $(STM32USBPATH)/STM32_USB_Device_Library/Class/cdc/inc EXTRAINCDIRS += .. ../../.. ../../../fonts/std ifeq ($(PCBREV), REV4a) CPPDEFS += -DREV4a @@ -238,6 +240,11 @@ CPFLAGS = $(MCFLAGS) $(OPT) -gdwarf-2 -mthumb -fomit-frame-pointer -Wall -Wstric LDFLAGS = $(MCFLAGS) -mthumb -nostartfiles -T$(LDSCRIPT) -Wl,-Map=$(FULL_PRJ).map,--cref,--no-warn-mismatch,--gc-sections $(LIBDIR) $(NEWLIB_NANO_FLAGS) CPPFLAGS = $(MCFLAGS) $(OPT) -gdwarf-2 -mthumb -fomit-frame-pointer -fdata-sections -ffunction-sections -Wall -fverbose-asm $(DEFS) +ifeq ($(WARNINGS_AS_ERRORS), YES) + CPFLAGS += -Werror + CPPFLAGS += -Werror +endif + CPPFLAGS += $(CPPDEFS) CPFLAGS += $(CPPDEFS) CPFLAGS += $(patsubst %,-I%,$(EXTRAINCDIRS)) diff --git a/radio/src/targets/taranis/bootloader/boot.cpp b/radio/src/targets/taranis/bootloader/boot.cpp old mode 100755 new mode 100644 index 8567199e4..2460dd7fe --- a/radio/src/targets/taranis/bootloader/boot.cpp +++ b/radio/src/targets/taranis/bootloader/boot.cpp @@ -418,7 +418,6 @@ int main() // SD card detect pin sdInit(); usbInit(); - usbStart(); #endif for (;;) { diff --git a/radio/src/targets/taranis/bootloader/init.c b/radio/src/targets/taranis/bootloader/init.c old mode 100755 new mode 100644 diff --git a/radio/src/targets/taranis/lcd_driver.cpp b/radio/src/targets/taranis/lcd_driver.cpp index 4ad229b7e..0ea21d8c5 100644 --- a/radio/src/targets/taranis/lcd_driver.cpp +++ b/radio/src/targets/taranis/lcd_driver.cpp @@ -363,7 +363,7 @@ void lcdInit() { LCD_Hardware_Init(); - if (WAS_RESET_BY_WATCHDOG()|WAS_RESET_BY_SOFTWARE()) return; //no need to reset LCD module + if (WAS_RESET_BY_WATCHDOG_OR_SOFTWARE()) return; //no need to reset LCD module //reset LCD module LCD_RST_LOW(); @@ -400,7 +400,7 @@ void lcdInitFinish() initialization (without reset) is also recommended by the data sheet. */ - if (!WAS_RESET_BY_WATCHDOG() && !WAS_RESET_BY_SOFTWARE()) { + if (!WAS_RESET_BY_WATCHDOG_OR_SOFTWARE()) { #if !defined(BOOT) while(g_tmr10ms < (RESET_WAIT_DELAY_MS/10)) {}; //wait measured from the power-on #else diff --git a/radio/src/targets/taranis/pwr_driver.c b/radio/src/targets/taranis/pwr_driver.c index b02ba3b14..6ad746999 100644 --- a/radio/src/targets/taranis/pwr_driver.c +++ b/radio/src/targets/taranis/pwr_driver.c @@ -37,11 +37,11 @@ #include "board_taranis.h" #include "../../pwr.h" -extern volatile uint32_t g_tmr10ms; -#define get_tmr10ms() g_tmr10ms - void pwrInit() { + // if any changes are done to the PWR PIN or pwrOn() function + // then the same changes must be done in _bootStart() + GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = PWR_GPIO_PIN_ON; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; @@ -84,23 +84,29 @@ void pwrOff() { GPIO_ResetBits(PWR_GPIO, PWR_GPIO_PIN_ON); -#if defined(REV9E) - // 9E needs watchdog reset because CPU is still running while the power - // key is held pressed by the user - while (1) { + // disable interrupts + __disable_irq(); + + while(1) { wdt_reset(); -#if 0 - // It doesn't work correctly, if we press long on the pwr button, the radio restarts when the button is released - PWR->CR |= PWR_CR_CWUF; - /* Select STANDBY mode */ - PWR->CR |= PWR_CR_PDDS; - /* Set SLEEPDEEP bit of Cortex System Control Register */ - SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; - /* Request Wait For Event */ - __WFE(); +#if defined(REV9E) + // 9E needs watchdog reset because CPU is still running while + // the power key is held pressed by the user. + // The power key should be released by now, but we must make sure + if (!pwrPressed()) { + // Put the CPU into sleep to reduce the consumption, + // it might help with the RTC reset issue + PWR->CR |= PWR_CR_CWUF; + /* Select STANDBY mode */ + PWR->CR |= PWR_CR_PDDS; + /* Set SLEEPDEEP bit of Cortex System Control Register */ + SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; + /* Request Wait For Event */ + __WFE(); + } #endif } -#endif + //this function must not return! } #if defined(REV9E) diff --git a/radio/src/targets/taranis/uart3_driver.cpp b/radio/src/targets/taranis/serial2_driver.cpp similarity index 84% rename from radio/src/targets/taranis/uart3_driver.cpp rename to radio/src/targets/taranis/serial2_driver.cpp index d91ec4479..5b4f60036 100644 --- a/radio/src/targets/taranis/uart3_driver.cpp +++ b/radio/src/targets/taranis/serial2_driver.cpp @@ -36,8 +36,8 @@ #include "../../opentx.h" -uint8_t uart3Mode = UART_MODE_NONE; -Fifo<512> uart3TxFifo; +uint8_t serial2Mode = 0; +Fifo<512> serial2TxFifo; extern Fifo<512> telemetryFifo; extern Fifo<32> sbusFifo; @@ -73,17 +73,17 @@ void uart3Setup(unsigned int baudrate) NVIC_EnableIRQ(SERIAL_USART_IRQn); } -void uart3Init(unsigned int mode, unsigned int protocol) +void serial2Init(unsigned int mode, unsigned int protocol) { USART_DeInit(SERIAL_USART); - uart3Mode = false; + serial2Mode = mode; switch (mode) { case UART_MODE_TELEMETRY_MIRROR: uart3Setup(FRSKY_SPORT_BAUDRATE); break; -#if defined(DEBUG) +#if !defined(USB_SERIAL) && (defined(DEBUG) || defined(CLI)) case UART_MODE_DEBUG: uart3Setup(DEBUG_BAUDRATE); break; @@ -94,43 +94,38 @@ void uart3Init(unsigned int mode, unsigned int protocol) } break; } - - uart3Mode = mode; } -void uart3Putc(const char c) +void serial2Putc(char c) { - uart3TxFifo.push(c); + while (serial2TxFifo.isFull()); + serial2TxFifo.push(c); USART_ITConfig(SERIAL_USART, USART_IT_TXE, ENABLE); } -#if defined(DEBUG) -void debugPutc(const char c) -{ - if (uart3Mode == UART_MODE_DEBUG) { - uart3Putc(c); - } -} -#endif - -void uart3SbusInit() +void serial2SbusInit() { uart3Setup(100000); SERIAL_USART->CR1 |= USART_CR1_M | USART_CR1_PCE ; } -void uart3Stop() +void serial2Stop() { USART_DeInit(SERIAL_USART); } +uint8_t serial2TracesEnabled() +{ + return (serial2Mode == 0); +} + #if !defined(SIMU) extern "C" void SERIAL_USART_IRQHandler(void) { // Send if (USART_GetITStatus(SERIAL_USART, USART_IT_TXE) != RESET) { uint8_t txchar; - if (uart3TxFifo.pop(txchar)) { + if (serial2TxFifo.pop(txchar)) { /* Write one byte to the transmit data register */ USART_SendData(SERIAL_USART, txchar); } @@ -145,13 +140,18 @@ extern "C" void SERIAL_USART_IRQHandler(void) uint8_t data = SERIAL_USART->DR; if (!(status & USART_FLAG_ERRORS)) { - switch (uart3Mode) { + switch (serial2Mode) { case UART_MODE_TELEMETRY: telemetryFifo.push(data); break; case UART_MODE_SBUS_TRAINER: sbusFifo.push(data); break; +#if !defined(USB_SERIAL) && defined(CLI) + case UART_MODE_DEBUG: + cliRxFifo.push(data); + break; +#endif } } diff --git a/radio/src/targets/taranis/stm32f4_flash.ld b/radio/src/targets/taranis/stm32f4_flash.ld old mode 100755 new mode 100644 diff --git a/radio/src/targets/taranis/top_lcd_driver.cpp b/radio/src/targets/taranis/top_lcd_driver.cpp old mode 100755 new mode 100644 diff --git a/radio/src/targets/taranis/trainer_driver.cpp b/radio/src/targets/taranis/trainer_driver.cpp index 295738e8b..3f93b4d6c 100644 --- a/radio/src/targets/taranis/trainer_driver.cpp +++ b/radio/src/targets/taranis/trainer_driver.cpp @@ -46,7 +46,8 @@ void init_trainer_ppm() trainerPulsesData.ppm.ptr = trainerPulsesData.ppm.pulses; configure_pins( TRAINER_GPIO_PIN_OUT, PIN_PERIPHERAL | PIN_PORTC | PIN_PER_2 | PIN_OS25) ; - configure_pins( TRAINER_GPIO_PIN_IN, PIN_PORTA | PIN_INPUT ) ; + configure_pins( TRAINER_GPIO_PIN_DETECT, PIN_PORTA | PIN_INPUT ) ; + TRAINER_TIMER->CR1 &= ~TIM_CR1_CEN ; // setupTrainerPulses() is also configuring registers, diff --git a/radio/src/targets/taranis/usb_conf.h b/radio/src/targets/taranis/usb_conf.h index a1e0279d4..a84c15bba 100644 --- a/radio/src/targets/taranis/usb_conf.h +++ b/radio/src/targets/taranis/usb_conf.h @@ -47,7 +47,7 @@ * when FS core is used. *******************************************************************************/ #ifndef USE_USB_OTG_FS - #define USE_USB_OTG_FS + #define USE_USB_OTG_FS // USB2.0 Full Speed == 12 Mbit #endif /* USE_USB_OTG_FS */ #ifdef USE_USB_OTG_FS diff --git a/radio/src/targets/taranis/usb_driver.c b/radio/src/targets/taranis/usb_driver.c index 97963ce06..9233962b1 100644 --- a/radio/src/targets/taranis/usb_driver.c +++ b/radio/src/targets/taranis/usb_driver.c @@ -36,7 +36,6 @@ #include "board_taranis.h" #include "STM32_USB-Host-Device_Lib_V2.1.0/Libraries/STM32_USB_OTG_Driver/inc/usb_dcd_int.h" -#include "STM32_USB-Host-Device_Lib_V2.1.0/Libraries/STM32_USB_OTG_Driver/inc/usb_bsp.h" int usbPlugged(void) { @@ -63,28 +62,24 @@ USB_OTG_CORE_HANDLE USB_OTG_dev; void OTG_FS_IRQHandler(void) { - USBD_OTG_ISR_Handler (&USB_OTG_dev); + USBD_OTG_ISR_Handler(&USB_OTG_dev); } void usbInit(void) -{ - USB_OTG_BSP_Init(&USB_OTG_dev); -} - -void usbStart(void) { #if defined(USB_JOYSTICK) // initialize USB as HID device USBD_Init(&USB_OTG_dev, USB_OTG_FS_CORE_ID, &USR_desc, &USBD_HID_cb, &USR_cb); +#elif defined(USB_SERIAL) + // initialize USB as CDC device (virtual serial port) + USBD_Init(&USB_OTG_dev, USB_OTG_FS_CORE_ID, &USR_desc, &USBD_CDC_cb, &USR_cb); #elif defined(USB_MASS_STORAGE) // initialize USB as MSC device USBD_Init(&USB_OTG_dev, USB_OTG_FS_CORE_ID, &USR_desc, &USBD_MSC_cb, &USR_cb); #endif } -#if defined(USB_JOYSTICK) -void usbStop(void) +void usbDeInit(void) { USBD_DeInit(&USB_OTG_dev); } -#endif diff --git a/radio/src/targets/taranis/usbd_cdc.cpp b/radio/src/targets/taranis/usbd_cdc.cpp new file mode 100644 index 000000000..7b1a44634 --- /dev/null +++ b/radio/src/targets/taranis/usbd_cdc.cpp @@ -0,0 +1,222 @@ +/** + ****************************************************************************** + * @file usbd_cdc_vcp.c + * @author MCD Application Team + * @version V1.1.0 + * @date 19-March-2012 + * @brief Generic media access Layer. + ****************************************************************************** + * @attention + * + *

© COPYRIGHT 2012 STMicroelectronics

+ * + * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); + * You may not use this file except in compliance with the License. + * You may obtain a copy of the License at: + * + * http://www.st.com/software_license_agreement_liberty_v2 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ****************************************************************************** + */ + +#ifdef USB_OTG_HS_INTERNAL_DMA_ENABLED +#pragma data_alignment = 4 +#endif /* USB_OTG_HS_INTERNAL_DMA_ENABLED */ + +#include "opentx.h" + +extern "C" { + +/* Includes ------------------------------------------------------------------*/ +#include "usb_conf.h" + +/* Private typedef -----------------------------------------------------------*/ +/* Private define ------------------------------------------------------------*/ +/* Private macro -------------------------------------------------------------*/ +/* Private variables ---------------------------------------------------------*/ + + +/* These are external variables imported from CDC core to be used for IN + transfer management. */ +extern uint8_t APP_Rx_Buffer []; /* Write CDC received data in this buffer. + These data will be sent over USB IN endpoint + in the CDC core functions. */ +extern volatile uint32_t APP_Rx_ptr_in; /* Increment this pointer or roll it back to + start address when writing received data + in the buffer APP_Rx_Buffer. */ +extern volatile uint32_t APP_Rx_ptr_out; + +/* Private function prototypes -----------------------------------------------*/ +static uint16_t VCP_Init (void); +static uint16_t VCP_DeInit (void); +static uint16_t VCP_Ctrl (uint32_t Cmd, uint8_t* Buf, uint32_t Len); +static uint16_t VCP_DataRx (uint8_t* Buf, uint32_t Len); + +// static uint16_t VCP_COMConfig(uint8_t Conf); + +CDC_IF_Prop_TypeDef VCP_fops = +{ + VCP_Init, + VCP_DeInit, + VCP_Ctrl, + 0, + VCP_DataRx +}; + +} // extern "C" + +bool cdcConnected = false; + +/* Private functions ---------------------------------------------------------*/ +/** + * @brief VCP_Init + * Initializes the Media on the STM32 + * @param None + * @retval Result of the opeartion (USBD_OK in all cases) + */ +static uint16_t VCP_Init(void) +{ + cdcConnected = true; + return USBD_OK; +} + +/** + * @brief VCP_DeInit + * DeInitializes the Media on the STM32 + * @param None + * @retval Result of the opeartion (USBD_OK in all cases) + */ +static uint16_t VCP_DeInit(void) +{ + cdcConnected = false; + return USBD_OK; +} + + +/** + * @brief VCP_Ctrl + * Manage the CDC class requests + * @param Cmd: Command code + * @param Buf: Buffer containing command data (request parameters) + * @param Len: Number of data to be sent (in bytes) + * @retval Result of the opeartion (USBD_OK in all cases) + */ +static uint16_t VCP_Ctrl (uint32_t Cmd, uint8_t* Buf, uint32_t Len) +{ + switch (Cmd) + { + case SEND_ENCAPSULATED_COMMAND: + /* Not needed for this driver */ + break; + + case GET_ENCAPSULATED_RESPONSE: + /* Not needed for this driver */ + break; + + case SET_COMM_FEATURE: + /* Not needed for this driver */ + break; + + case GET_COMM_FEATURE: + /* Not needed for this driver */ + break; + + case CLEAR_COMM_FEATURE: + /* Not needed for this driver */ + break; + + case SET_LINE_CODING: + /* Not needed for this driver */ + break; + + case GET_LINE_CODING: + /* Not needed for this driver */ + break; + + case SET_CONTROL_LINE_STATE: + /* Not needed for this driver */ + break; + + case SEND_BREAK: + /* Not needed for this driver */ + break; + + default: + break; + } + + return USBD_OK; +} + +// some debug vars +uint16_t usbWraps = 0; +uint16_t charsWritten = 0; + +void usbSerialPutc(uint8_t c) +{ + if (!cdcConnected) return; + + uint32_t txDataLen; + do { + txDataLen = APP_RX_DATA_SIZE + APP_Rx_ptr_in - APP_Rx_ptr_out; + if (txDataLen >= APP_RX_DATA_SIZE) { + txDataLen -= APP_RX_DATA_SIZE; + } + } while (txDataLen >= (APP_RX_DATA_SIZE - CDC_DATA_MAX_PACKET_SIZE)); + + APP_Rx_Buffer[APP_Rx_ptr_in] = c; + ++charsWritten; + /* To avoid buffer overflow */ + if (APP_Rx_ptr_in >= APP_RX_DATA_SIZE-1) { + APP_Rx_ptr_in = 0; + ++usbWraps; + } + else { + APP_Rx_ptr_in++; + } +} + +/** + * @brief VCP_DataRx + * Data received over USB OUT endpoint is available here + * + * @note + * This function will block any OUT packet reception on USB endpoint + * until exiting this function. If you exit this function before transfer + * is complete on CDC interface (ie. using DMA controller) it will result + * in receiving more data while previous ones are still not sent. + * + * @note + * This function is executed inside the USBD_OTG_ISR_Handler() interrupt handler! + + * @param Buf: Buffer of data to be received + * @param Len: Number of data received (in bytes) + * @retval Result of the opeartion: USBD_OK if all operations are OK else VCP_FAIL + */ +static uint16_t VCP_DataRx (uint8_t* Buf, uint32_t Len) +{ + // TODO: try implementing inbound flow control: + // if the cliRxFifo does not have enough free space to receive all + // available characters, return VCP_FAIL. Maybe that will throttle down + // the sender and we will receive the same packet at a later time. + +#if defined(CLI) + //copy data to the application FIFO + for (uint32_t i = 0; i < Len; i++) + { + cliRxFifo.push(Buf[i]); + } +#endif + + return USBD_OK; +} + + + +// /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ diff --git a/radio/src/targets/taranis/usbd_conf.h b/radio/src/targets/taranis/usbd_conf.h index 7308a64c8..557973a26 100644 --- a/radio/src/targets/taranis/usbd_conf.h +++ b/radio/src/targets/taranis/usbd_conf.h @@ -36,13 +36,13 @@ #define USBD_ITF_MAX_NUM 1 #define USB_MAX_STR_DESC_SIZ 64 -#define USBD_SELF_POWERED +#define USBD_SELF_POWERED /* Class Layer Parameter */ #define MSC_IN_EP 0x81 #define MSC_OUT_EP 0x01 -#define MSC_MAX_PACKET 64 +#define MSC_MAX_PACKET 64 #define MSC_MEDIA_PACKET 4096 @@ -52,6 +52,17 @@ #define HID_IN_PACKET 9 #define HID_OUT_PACKET 9 +#define CDC_IN_EP 0x81 /* EP1 for data IN */ +#define CDC_OUT_EP 0x01 /* EP1 for data OUT */ +#define CDC_CMD_EP 0x82 /* EP2 for CDC commands */ + +/* CDC Endpoints parameters: you can fine tune these values depending on the needed baudrates and performance. */ +#define CDC_DATA_MAX_PACKET_SIZE 64 /* Endpoint IN & OUT Packet size */ +#define CDC_CMD_PACKET_SZE 8 /* Control Endpoint Packet size */ + +#define CDC_IN_FRAME_INTERVAL 5 /* Number of frames between IN transfers */ +#define APP_RX_DATA_SIZE 512 // USB serial port output buffer. TODO: tune this buffer size /* Total size of IN buffer: APP_RX_DATA_SIZE*8/MAX_BAUDARATE*1000 should be > CDC_IN_FRAME_INTERVAL */ +#define APP_FOPS VCP_fops #endif //__USBD_CONF__H__ diff --git a/radio/src/targets/taranis/usbd_desc.c b/radio/src/targets/taranis/usbd_desc.c index f61065a2a..2c2011255 100644 --- a/radio/src/targets/taranis/usbd_desc.c +++ b/radio/src/targets/taranis/usbd_desc.c @@ -73,6 +73,11 @@ #define USBD_PRODUCT_FS_STRING "FrSky Taranis Joystick" #define USBD_CONFIGURATION_FS_STRING "HID Config" #define USBD_INTERFACE_FS_STRING "HID Interface" +#elif defined(USB_SERIAL) + #define USBD_PID 0x5740 // do not change, this ID is used by the ST USB driver for Windows + #define USBD_PRODUCT_FS_STRING "FrSky Taranis Serial Port" + #define USBD_CONFIGURATION_FS_STRING "VSP Config" + #define USBD_INTERFACE_FS_STRING "VSP Interface" #elif defined(USB_MASS_STORAGE) #define USBD_PID 0x5720 #define USBD_PRODUCT_FS_STRING "FrSky Taranis Mass Storage" diff --git a/radio/src/tasks_arm.cpp b/radio/src/tasks_arm.cpp index 8d3762411..7b990e387 100644 --- a/radio/src/tasks_arm.cpp +++ b/radio/src/tasks_arm.cpp @@ -36,11 +36,10 @@ #include "opentx.h" -#define MENUS_STACK_SIZE 2000 -#define MIXER_STACK_SIZE 500 -#define AUDIO_STACK_SIZE 500 -#define BT_STACK_SIZE 500 -#define DEBUG_STACK_SIZE 500 +#define MENUS_STACK_SIZE 2000 +#define MIXER_STACK_SIZE 500 +#define AUDIO_STACK_SIZE 500 +#define BLUETOOTH_STACK_SIZE 500 #if defined(_MSC_VER) #define _ALIGNED(x) __declspec(align(x)) @@ -49,78 +48,85 @@ #endif OS_TID menusTaskId; -// stack must be aligned to 8 bytes otherwise printf for %f does not work! -OS_STK _ALIGNED(8) menusStack[MENUS_STACK_SIZE]; +// menus stack must be aligned to 8 bytes otherwise printf for %f does not work! +TaskStack _ALIGNED(8) menusStack; OS_TID mixerTaskId; -OS_STK mixerStack[MIXER_STACK_SIZE]; +TaskStack mixerStack; OS_TID audioTaskId; -OS_STK audioStack[AUDIO_STACK_SIZE]; +TaskStack audioStack; #if defined(BLUETOOTH) OS_TID btTaskId; -OS_STK btStack[BT_STACK_SIZE]; -#endif - -#if defined(DEBUG) -OS_TID debugTaskId; -OS_STK debugStack[DEBUG_STACK_SIZE]; +TaskStack bluetoothStack; #endif OS_MutexID audioMutex; OS_MutexID mixerMutex; -void stack_paint() +enum TaskIndex { + MENU_TASK_INDEX, + MIXER_TASK_INDEX, + AUDIO_TASK_INDEX, + CLI_TASK_INDEX, + BLUETOOTH_TASK_INDEX, + TASK_INDEX_COUNT, + MAIN_TASK_INDEX = 255 +}; + +template +void TaskStack::paint() { - for (uint32_t i=0; i +uint16_t TaskStack::size() { - OS_STK *stack; - uint32_t size; + return SIZE*4; +} - switch(tid) { - case 0: - stack = menusStack; - size = MENUS_STACK_SIZE; - break; - case 1: - stack = mixerStack; - size = MIXER_STACK_SIZE; - break; - case 2: - stack = audioStack; - size = AUDIO_STACK_SIZE; - break; -#if defined(PCBTARANIS) - case 255: - #if defined(SIMU) - return 1024; - #else - // main stack - stack = (OS_STK *)&_main_stack_start; - size = ((unsigned char *)&_estack - (unsigned char *)&_main_stack_start) / 4; - #endif - break; -#endif - default: - return 0; +uint16_t getStackAvailable(void * address, uint16_t size) +{ + uint32_t * array = (uint32_t *)address; + uint16_t i = 0; + while (i < size && array[i] == 0x55555555) { + i++; } - - uint32_t i=0; - for (; i +uint16_t TaskStack::available() +{ + return getStackAvailable(stack, SIZE); +} + +void stackPaint() +{ + menusStack.paint(); + mixerStack.paint(); + audioStack.paint(); +#if defined(CLI) + cliStack.paint(); +#endif +} + +#if defined(CPUSTM32) && !defined(SIMU) +uint16_t stackSize() +{ + return ((unsigned char *)&_estack - (unsigned char *)&_main_stack_start) / 4; +} + +uint16_t stackAvailable() +{ + return getStackAvailable(&_main_stack_start, stackSize()); +} +#endif + #if !defined(SIMU) void mixerTask(void * pdata) @@ -182,7 +188,7 @@ void menusTask(void * pdata) } } -#if defined(REV9E) +#if defined(PCBTARANIS) && defined(REV9E) topLcdOff(); #endif @@ -196,12 +202,7 @@ void menusTask(void * pdata) #endif opentxClose(); - -#if !defined(SIMU) - SysTick->CTRL = 0; // turn off systick -#endif - - pwrOff(); // Only turn power off if necessary + boardOff(); // Only turn power off if necessary } extern void audioTask(void* pdata); @@ -210,17 +211,17 @@ void tasksStart() { CoInitOS(); -#if defined(CPUARM) && defined(DEBUG) && !defined(SIMU) - debugTaskId = CoCreateTaskEx(debugTask, NULL, 10, &debugStack[DEBUG_STACK_SIZE-1], DEBUG_STACK_SIZE, 1, false); +#if defined(CLI) + cliStart(); #endif #if defined(BLUETOOTH) - btTaskId = CoCreateTask(btTask, NULL, 15, &btStack[BT_STACK_SIZE-1], BT_STACK_SIZE); + btTaskId = CoCreateTask(btTask, NULL, 15, &bluetoothStack.stack[BLUETOOTH_STACK_SIZE-1], BLUETOOTH_STACK_SIZE); #endif - mixerTaskId = CoCreateTask(mixerTask, NULL, 5, &mixerStack[MIXER_STACK_SIZE-1], MIXER_STACK_SIZE); - menusTaskId = CoCreateTask(menusTask, NULL, 10, &menusStack[MENUS_STACK_SIZE-1], MENUS_STACK_SIZE); - audioTaskId = CoCreateTask(audioTask, NULL, 7, &audioStack[AUDIO_STACK_SIZE-1], AUDIO_STACK_SIZE); + mixerTaskId = CoCreateTask(mixerTask, NULL, 5, &mixerStack.stack[MIXER_STACK_SIZE-1], MIXER_STACK_SIZE); + menusTaskId = CoCreateTask(menusTask, NULL, 10, &menusStack.stack[MENUS_STACK_SIZE-1], MENUS_STACK_SIZE); + audioTaskId = CoCreateTask(audioTask, NULL, 7, &audioStack.stack[AUDIO_STACK_SIZE-1], AUDIO_STACK_SIZE); #if !defined(SIMU) audioMutex = CoCreateMutex(); diff --git a/radio/src/tasks_arm.h b/radio/src/tasks_arm.h new file mode 100644 index 000000000..e4d61db91 --- /dev/null +++ b/radio/src/tasks_arm.h @@ -0,0 +1,61 @@ +/* + * Authors (alphabetical order) + * - Andre Bernet + * - Andreas Weitl + * - Bertrand Songis + * - Bryan J. Rentoul (Gruvin) + * - Cameron Weeks + * - Erez Raviv + * - Gabriel Birkus + * - Jean-Pierre Parisy + * - Karl Szmutny + * - Michael Blandford + * - Michal Hlavinka + * - Pat Mackenzie + * - Philip Moss + * - Rob Thomson + * - Romolo Manfredini + * - Thomas Husterer + * + * opentx is based on code named + * gruvin9x by Bryan J. Rentoul: http://code.google.com/p/gruvin9x/, + * er9x by Erez Raviv: http://code.google.com/p/er9x/, + * and the original (and ongoing) project by + * Thomas Husterer, th9x: http://code.google.com/p/th9x/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program 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. + * + */ + +#ifndef _TASKS_ARM_H_ +#define _TASKS_ARM_H_ + +#if !defined(SIMU) +extern "C" { +#include +} +#endif + +template +class TaskStack +{ + public: + TaskStack() { } + void paint(); + uint16_t size(); + uint16_t available(); + OS_STK stack[SIZE]; +}; + +void stackPaint(); +uint16_t stackSize(); +uint16_t stackAvailable(); + +#endif // _TASKS_ARM_H_ diff --git a/radio/src/telemetry/frsky.cpp b/radio/src/telemetry/frsky.cpp index bb832b122..9dffd4b23 100644 --- a/radio/src/telemetry/frsky.cpp +++ b/radio/src/telemetry/frsky.cpp @@ -47,7 +47,7 @@ uint8_t link_counter = 0; #define FRSKY_RX_PACKET_SIZE 19 uint8_t frskyRxBuffer[FRSKY_RX_PACKET_SIZE]; // Receive buffer. 9 bytes (full packet), worst case 18 bytes with byte-stuffing (+1) -#if !defined(PCBTARANIS) +#if !defined(CPUARM) uint8_t frskyTxBuffer[FRSKY_TX_PACKET_SIZE]; #endif @@ -165,8 +165,8 @@ NOINLINE void processSerialData(uint8_t data) #endif #if defined(PCBTARANIS) - if (g_eeGeneral.uart3Mode == UART_MODE_TELEMETRY_MIRROR) { - uart3Putc(data); + if (g_eeGeneral.serial2Mode == UART_MODE_TELEMETRY_MIRROR) { + serial2Putc(data); } #endif @@ -323,7 +323,7 @@ void telemetryWakeup() } #endif -#if !defined(PCBTARANIS) +#if !defined(CPUARM) if (IS_FRSKY_D_PROTOCOL()) { // Attempt to transmit any waiting Fr-Sky alarm set packets every 50ms (subject to packet buffer availability) static uint8_t frskyTxDelay = 5; @@ -583,16 +583,29 @@ void telemetryReset() #endif #endif -#if defined(CPUARM) && defined(SIMU) && !defined(COMPANION) - setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, RSSI_ID, 25, 75, UNIT_RAW, 0); - setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, SWR_ID, 25, 5, UNIT_RAW, 0); - setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, T1_FIRST_ID, 5, 100, UNIT_CELSIUS, 0); - setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, T1_FIRST_ID+0x10, 5, 200, UNIT_CELSIUS, 0); - setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, ALT_FIRST_ID, 1, 1000, UNIT_METERS, 2); - setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, CELLS_FIRST_ID, 2, 0x80280220, UNIT_CELLS, 0); - setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, CURR_FIRST_ID, 3, 100, UNIT_AMPS, 2); - setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, RPM_FIRST_ID, 5, 3600, UNIT_RPMS, 0); - setTelemetryValue(TELEM_PROTO_FRSKY_SPORT, FUEL_QTY_FIRST_ID, 11, 1000, UNIT_MILLILITERS, 2); +/*Add some default sensor values to the simulator*/ +#if defined(CPUARM) && defined(SIMU) + for (int i=0; i frskyData.hub.maxAltitude) @@ -59,14 +47,6 @@ void checkMinMaxAltitude() #endif #if defined(FRSKY_HUB) -typedef enum { - TS_IDLE = 0, // waiting for 0x5e frame marker - TS_DATA_ID, // waiting for dataID - TS_DATA_LOW, // waiting for data low byte - TS_DATA_HIGH, // waiting for data high byte - TS_XOR = 0x80 // decode stuffed byte -} TS_STATE; - void parseTelemHubByte(uint8_t byte) { static int8_t structPos; @@ -93,11 +73,7 @@ void parseTelemHubByte(uint8_t byte) state = TS_IDLE; } else { -#if defined(CPUARM) - structPos = byte; -#else structPos = byte * 2; -#endif state = TS_DATA_LOW; } return; @@ -110,10 +86,6 @@ void parseTelemHubByte(uint8_t byte) state = TS_IDLE; -#if defined(CPUARM) - processHubPacket(structPos, (byte << 8) + lowByte); -#else - #if defined(GPS) if ((uint8_t)structPos == offsetof(FrskySerialData, gpsLatitude_bp)) { if (lowByte || byte) @@ -134,11 +106,7 @@ void parseTelemHubByte(uint8_t byte) if (frskyData.hub.gpsFix <= 0) return; } -#endif - -#if 0 - uint16_t previousValue = *((uint16_t *)(((uint8_t*)&frskyData.hub) + structPos)); -#endif +#endif // #if defined(GPS) ((uint8_t*)&frskyData.hub)[structPos] = lowByte; ((uint8_t*)&frskyData.hub)[structPos+1] = byte; @@ -171,7 +139,7 @@ void parseTelemHubByte(uint8_t byte) if (frskyData.hub.current > frskyData.hub.maxCurrent) frskyData.hub.maxCurrent = frskyData.hub.current; break; - + case offsetof(FrskySerialData, currentConsumption): // we receive data from openXsensor. stops the calculation of consumption and power frskyData.hub.openXsensor = 1; @@ -264,11 +232,10 @@ void parseTelemHubByte(uint8_t byte) break; #endif } -#endif } -#endif +#endif // #if defined(FRSKY_HUB) -#if defined(WS_HOW_HIGH) && !defined(CPUARM) +#if defined(WS_HOW_HIGH) void parseTelemWSHowHighByte(uint8_t byte) { if (frskyUsrStreaming < (WSHH_TIMEOUT10ms - 10)) { @@ -282,33 +249,8 @@ void parseTelemWSHowHighByte(uint8_t byte) // baroAltitude_bp unit here is feet! frskyUsrStreaming = WSHH_TIMEOUT10ms; // reset counter } -#endif +#endif -#if defined(CPUARM) -void frskyDProcessPacket(uint8_t *packet) -{ - // What type of packet? - switch (packet[0]) - { - case LINKPKT: // A1/A2/RSSI values - { - setTelemetryValue(TELEM_PROTO_FRSKY_D, D_A1_ID, 0, packet[1], UNIT_VOLTS, 0); - setTelemetryValue(TELEM_PROTO_FRSKY_D, D_A2_ID, 0, packet[2], UNIT_VOLTS, 0); - setTelemetryValue(TELEM_PROTO_FRSKY_D, D_RSSI_ID, 0, packet[3], UNIT_RAW, 0); - frskyData.rssi.set(packet[3]); - frskyStreaming = FRSKY_TIMEOUT10ms; // reset counter only if valid frsky packets are being detected - break; - } - - case USRPKT: // User Data packet - uint8_t numBytes = 3 + (packet[1] & 0x07); // sanitize in case of data corruption leading to buffer overflow - for (uint8_t i=3; i g_model.frsky.channels[idx].alarms_value[i]) - return true; - } - else { - if (frskyData.analog[idx].value < g_model.frsky.channels[idx].alarms_value[i]) - return true; - } - } - } - return false; -} -#endif - -#if defined(CPUARM) -struct FrSkyDSensor { - const uint8_t id; - const char * name; - const TelemetryUnit unit; - const uint8_t prec; -}; - -const FrSkyDSensor frskyDSensors[] = { - { D_RSSI_ID, ZSTR_RSSI, UNIT_RAW, 0 }, - { D_A1_ID, ZSTR_A1, UNIT_VOLTS, 1 }, - { D_A2_ID, ZSTR_A2, UNIT_VOLTS, 1 }, - { RPM_ID, ZSTR_RPM, UNIT_RPMS, 0 }, - { FUEL_ID, ZSTR_FUEL, UNIT_PERCENT, 0 }, - { TEMP1_ID, ZSTR_TEMP, UNIT_CELSIUS, 0 }, - { TEMP2_ID, ZSTR_TEMP, UNIT_CELSIUS, 0 }, - { CURRENT_ID, ZSTR_CURR, UNIT_AMPS, 1 }, - { ACCEL_X_ID, ZSTR_ACCX, UNIT_G, 3 }, - { ACCEL_Y_ID, ZSTR_ACCY, UNIT_G, 3 }, - { ACCEL_Z_ID, ZSTR_ACCZ, UNIT_G, 3 }, - { VARIO_ID, ZSTR_VSPD, UNIT_METERS_PER_SECOND, 2 }, - { VFAS_ID, ZSTR_VFAS, UNIT_VOLTS, 2 }, - { BARO_ALT_AP_ID, ZSTR_ALT, UNIT_METERS, 1 }, // we map hi precision vario into PREC1! - { VOLTS_AP_ID, ZSTR_VFAS, UNIT_VOLTS, 2 }, - { GPS_SPEED_BP_ID, ZSTR_GSPD, UNIT_KTS, 0 }, - { GPS_COURS_BP_ID, ZSTR_HDG, UNIT_DEGREE, 0 }, - { VOLTS_ID, ZSTR_CELLS, UNIT_CELLS, 2 }, - { GPS_ALT_BP_ID, ZSTR_GPSALT, UNIT_METERS, 0 }, - { GPS_HOUR_MIN_ID, ZSTR_GPSDATETIME, UNIT_DATETIME, 0 }, - { GPS_LAT_AP_ID, ZSTR_GPS, UNIT_GPS, 0 }, - { 0, NULL, UNIT_RAW, 0 } // sentinel -}; - -const FrSkyDSensor * getFrSkyDSensor(uint8_t id) -{ - const FrSkyDSensor * result = NULL; - for (const FrSkyDSensor * sensor = frskyDSensors; sensor->id; sensor++) { - if (id == sensor->id) { - result = sensor; - break; - } - } - return result; -} - -void processHubPacket(uint8_t id, int16_t value) -{ - static uint8_t lastId = 0; - static uint16_t lastValue = 0; - TelemetryUnit unit = UNIT_RAW; - uint8_t precision = 0; - int32_t data = value; - - if (id > FRSKY_LAST_ID || id == GPS_SPEED_AP_ID || id == GPS_ALT_AP_ID || id == GPS_COURS_AP_ID) { - return; - } - - if (id == GPS_LAT_BP_ID || id == GPS_LONG_BP_ID || id == BARO_ALT_BP_ID || id == VOLTS_BP_ID) { - lastId = id; - lastValue = value; - return; - } - - if (id == GPS_LAT_AP_ID) { - if (lastId == GPS_LAT_BP_ID) { - data += lastValue << 16; - unit = UNIT_GPS_LATITUDE; - } - else { - return; - } - } - else if (id == GPS_LONG_AP_ID) { - if (lastId == GPS_LONG_BP_ID) { - data += lastValue << 16; - id = GPS_LAT_AP_ID; - unit = UNIT_GPS_LONGITUDE; - } - else { - return; - } - } - else if (id == GPS_LAT_NS_ID) { - id = GPS_LAT_AP_ID; - unit = UNIT_GPS_LATITUDE_NS; - } - else if (id == GPS_LONG_EW_ID) { - id = GPS_LAT_AP_ID; - unit = UNIT_GPS_LONGITUDE_EW; - } - else if (id == BARO_ALT_AP_ID) { - if (lastId == BARO_ALT_BP_ID) { - if (data > 9 || frskyData.varioHighPrecision) { - frskyData.varioHighPrecision = true; - data /= 10; // map hi precision vario into low precision. Altitude is stored in 0.1m anyways - } - data = (int16_t)lastValue * 10 + (((int16_t)lastValue < 0) ? -data : data); - unit = UNIT_METERS; - precision = 1; - } - else { - return; - } - } - else if (id == VOLTS_AP_ID) { - if (lastId == VOLTS_BP_ID) { - data = ((lastValue * 100 + value * 10) * 210) / 110; - unit = UNIT_VOLTS; - precision = 2; - } - else { - return; - } - } - else if (id == VOLTS_ID) { - unit = UNIT_CELLS; - uint32_t cellData = (uint32_t)data; - data = ((cellData & 0x00F0) << 12) + (((((cellData & 0xFF00) >> 8) + ((cellData & 0x000F) << 8))) / 5); - } - else if (id == GPS_DAY_MONTH_ID) { - id = GPS_HOUR_MIN_ID; - unit = UNIT_DATETIME_DAY_MONTH; - } - else if (id == GPS_HOUR_MIN_ID) { - unit = UNIT_DATETIME_HOUR_MIN; - } - else if (id == GPS_SEC_ID) { - id = GPS_HOUR_MIN_ID; - unit = UNIT_DATETIME_SEC; - } - else if (id == GPS_YEAR_ID) { - id = GPS_HOUR_MIN_ID; - unit = UNIT_DATETIME_YEAR; - } - else { - const FrSkyDSensor * sensor = getFrSkyDSensor(id); - if (sensor) { - unit = sensor->unit; - precision = sensor->prec; - } - } - if (id == RPM_ID) { - data = data * 60; - } - else if (id == VFAS_ID) { - if (data >= VFAS_D_HIPREC_OFFSET) { - // incoming value has a resolution of 0.01V and added offset of VFAS_D_HIPREC_OFFSET - data -= VFAS_D_HIPREC_OFFSET; - } - else { - // incoming value has a resolution of 0.1V - data *= 10; - } - } - - setTelemetryValue(TELEM_PROTO_FRSKY_D, id, 0, data, unit, precision); -} - -void frskyDSetDefault(int index, uint16_t id) -{ - TelemetrySensor & telemetrySensor = g_model.telemetrySensors[index]; - - telemetrySensor.id = id; - telemetrySensor.instance = 0; - - const FrSkyDSensor * sensor = getFrSkyDSensor(id); - if (sensor) { - TelemetryUnit unit = sensor->unit; - uint8_t prec = min(2, sensor->prec); - telemetrySensor.init(sensor->name, unit, prec); - if (id == D_RSSI_ID) { - telemetrySensor.filter = 1; - telemetrySensor.logs = true; - } - else if (id >= D_A1_ID && id <= D_A2_ID) { - telemetrySensor.custom.ratio = 132; - telemetrySensor.filter = 1; - } - else if (id == CURRENT_ID) { - telemetrySensor.onlyPositive = 1; - } - else if (id == BARO_ALT_AP_ID) { - telemetrySensor.autoOffset = 1; - } - if (unit == UNIT_RPMS) { - telemetrySensor.custom.ratio = 1; - telemetrySensor.custom.offset = 1; - } - else if (unit == UNIT_METERS) { - if (IS_IMPERIAL_ENABLE()) { - telemetrySensor.unit = UNIT_FEET; - } - } - } - else { - telemetrySensor.init(id); - } - - eeDirty(EE_MODEL); -} -#endif diff --git a/radio/src/telemetry/frsky_d_arm.cpp b/radio/src/telemetry/frsky_d_arm.cpp new file mode 100644 index 000000000..d94138822 --- /dev/null +++ b/radio/src/telemetry/frsky_d_arm.cpp @@ -0,0 +1,304 @@ +/* + * Authors (alphabetical order) + * - Andre Bernet + * - Andreas Weitl + * - Bertrand Songis + * - Bryan J. Rentoul (Gruvin) + * - Cameron Weeks + * - Erez Raviv + * - Gabriel Birkus + * - Jean-Pierre Parisy + * - Karl Szmutny + * - Michael Blandford + * - Michal Hlavinka + * - Pat Mackenzie + * - Philip Moss + * - Rob Thomson + * - Romolo Manfredini + * - Thomas Husterer + * + * opentx is based on code named + * gruvin9x by Bryan J. Rentoul: http://code.google.com/p/gruvin9x/, + * er9x by Erez Raviv: http://code.google.com/p/er9x/, + * and the original (and ongoing) project by + * Thomas Husterer, th9x: http://code.google.com/p/th9x/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program 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. + * + */ + +#include "../opentx.h" + +#if defined(FRSKY_HUB) +void parseTelemHubByte(uint8_t byte) +{ + static int8_t structPos; + static uint8_t lowByte; + static TS_STATE state = TS_IDLE; + + if (byte == 0x5e) { + state = TS_DATA_ID; + return; + } + if (state == TS_IDLE) { + return; + } + if (state & TS_XOR) { + byte = byte ^ 0x60; + state = (TS_STATE)(state - TS_XOR); + } + else if (byte == 0x5d) { + state = (TS_STATE)(state | TS_XOR); + return; + } + if (state == TS_DATA_ID) { + if (byte > 0x3f) { + state = TS_IDLE; + } + else { + structPos = byte; + state = TS_DATA_LOW; + } + return; + } + if (state == TS_DATA_LOW) { + lowByte = byte; + state = TS_DATA_HIGH; + return; + } + + state = TS_IDLE; + processHubPacket(structPos, (byte << 8) + lowByte); +} +#endif // #if defined(FRSKY_HUB) + +void frskyDProcessPacket(uint8_t *packet) +{ + // What type of packet? + switch (packet[0]) + { + case LINKPKT: // A1/A2/RSSI values + { + setTelemetryValue(TELEM_PROTO_FRSKY_D, D_A1_ID, 0, packet[1], UNIT_VOLTS, 0); + setTelemetryValue(TELEM_PROTO_FRSKY_D, D_A2_ID, 0, packet[2], UNIT_VOLTS, 0); + setTelemetryValue(TELEM_PROTO_FRSKY_D, D_RSSI_ID, 0, packet[3], UNIT_RAW, 0); + frskyData.rssi.set(packet[3]); + frskyStreaming = FRSKY_TIMEOUT10ms; // reset counter only if valid frsky packets are being detected + break; + } + + case USRPKT: // User Data packet + uint8_t numBytes = 3 + (packet[1] & 0x07); // sanitize in case of data corruption leading to buffer overflow + for (uint8_t i=3; iid; sensor++) { + if (id == sensor->id) { + result = sensor; + break; + } + } + return result; +} + +void processHubPacket(uint8_t id, int16_t value) +{ + static uint8_t lastId = 0; + static uint16_t lastValue = 0; + TelemetryUnit unit = UNIT_RAW; + uint8_t precision = 0; + int32_t data = value; + + if (id > FRSKY_LAST_ID || id == GPS_SPEED_AP_ID || id == GPS_ALT_AP_ID || id == GPS_COURS_AP_ID) { + return; + } + + if (id == GPS_LAT_BP_ID || id == GPS_LONG_BP_ID || id == BARO_ALT_BP_ID || id == VOLTS_BP_ID) { + lastId = id; + lastValue = value; + return; + } + + if (id == GPS_LAT_AP_ID) { + if (lastId == GPS_LAT_BP_ID) { + data += lastValue << 16; + unit = UNIT_GPS_LATITUDE; + } + else { + return; + } + } + else if (id == GPS_LONG_AP_ID) { + if (lastId == GPS_LONG_BP_ID) { + data += lastValue << 16; + id = GPS_LAT_AP_ID; + unit = UNIT_GPS_LONGITUDE; + } + else { + return; + } + } + else if (id == GPS_LAT_NS_ID) { + id = GPS_LAT_AP_ID; + unit = UNIT_GPS_LATITUDE_NS; + } + else if (id == GPS_LONG_EW_ID) { + id = GPS_LAT_AP_ID; + unit = UNIT_GPS_LONGITUDE_EW; + } + else if (id == BARO_ALT_AP_ID) { + if (lastId == BARO_ALT_BP_ID) { + if (data > 9 || frskyData.varioHighPrecision) { + frskyData.varioHighPrecision = true; + data /= 10; // map hi precision vario into low precision. Altitude is stored in 0.1m anyways + } + data = (int16_t)lastValue * 10 + (((int16_t)lastValue < 0) ? -data : data); + unit = UNIT_METERS; + precision = 1; + } + else { + return; + } + } + else if (id == VOLTS_AP_ID) { + if (lastId == VOLTS_BP_ID) { + data = ((lastValue * 100 + value * 10) * 210) / 110; + unit = UNIT_VOLTS; + precision = 2; + } + else { + return; + } + } + else if (id == VOLTS_ID) { + unit = UNIT_CELLS; + uint32_t cellData = (uint32_t)data; + data = ((cellData & 0x00F0) << 12) + (((((cellData & 0xFF00) >> 8) + ((cellData & 0x000F) << 8))) / 5); + } + else if (id == GPS_DAY_MONTH_ID) { + id = GPS_HOUR_MIN_ID; + unit = UNIT_DATETIME_DAY_MONTH; + } + else if (id == GPS_HOUR_MIN_ID) { + unit = UNIT_DATETIME_HOUR_MIN; + } + else if (id == GPS_SEC_ID) { + id = GPS_HOUR_MIN_ID; + unit = UNIT_DATETIME_SEC; + } + else if (id == GPS_YEAR_ID) { + id = GPS_HOUR_MIN_ID; + unit = UNIT_DATETIME_YEAR; + } + else { + const FrSkyDSensor * sensor = getFrSkyDSensor(id); + if (sensor) { + unit = sensor->unit; + precision = sensor->prec; + } + } + if (id == RPM_ID) { + data = data * 60; + } + else if (id == VFAS_ID) { + if (data >= VFAS_D_HIPREC_OFFSET) { + // incoming value has a resolution of 0.01V and added offset of VFAS_D_HIPREC_OFFSET + data -= VFAS_D_HIPREC_OFFSET; + } + else { + // incoming value has a resolution of 0.1V + data *= 10; + } + } + + setTelemetryValue(TELEM_PROTO_FRSKY_D, id, 0, data, unit, precision); +} + +void frskyDSetDefault(int index, uint16_t id) +{ + TelemetrySensor & telemetrySensor = g_model.telemetrySensors[index]; + + telemetrySensor.id = id; + telemetrySensor.instance = 0; + + const FrSkyDSensor * sensor = getFrSkyDSensor(id); + if (sensor) { + TelemetryUnit unit = sensor->unit; + uint8_t prec = min(2, sensor->prec); + telemetrySensor.init(sensor->name, unit, prec); + if (id == D_RSSI_ID) { + telemetrySensor.filter = 1; + telemetrySensor.logs = true; + } + else if (id >= D_A1_ID && id <= D_A2_ID) { + telemetrySensor.custom.ratio = 132; + telemetrySensor.filter = 1; + } + else if (id == CURRENT_ID) { + telemetrySensor.onlyPositive = 1; + } + else if (id == BARO_ALT_AP_ID) { + telemetrySensor.autoOffset = 1; + } + if (unit == UNIT_RPMS) { + telemetrySensor.custom.ratio = 1; + telemetrySensor.custom.offset = 1; + } + else if (unit == UNIT_METERS) { + if (IS_IMPERIAL_ENABLE()) { + telemetrySensor.unit = UNIT_FEET; + } + } + } + else { + telemetrySensor.init(id); + } + + eeDirty(EE_MODEL); +} diff --git a/radio/src/telemetry/mavlink.h b/radio/src/telemetry/mavlink.h index 9c76b54c6..63ae2f661 100644 --- a/radio/src/telemetry/mavlink.h +++ b/radio/src/telemetry/mavlink.h @@ -43,10 +43,8 @@ #define MAVLINK_COMM_NUM_BUFFERS 1 #include "GCS_MAVLink/include_v1.0/mavlink_types.h" -#include "serial.h" +#include "targets/common_avr/serial_driver.h" #include "opentx.h" -#include "serial.h" -//#include "include/mavlink_helpers.h" extern mavlink_system_t mavlink_system; diff --git a/radio/src/telemetry/telemetry.cpp b/radio/src/telemetry/telemetry.cpp index 2c85a702d..872e389c2 100644 --- a/radio/src/telemetry/telemetry.cpp +++ b/radio/src/telemetry/telemetry.cpp @@ -1,6 +1,7 @@ #include "../opentx.h" TelemetryItem telemetryItems[MAX_SENSORS]; +uint8_t allowNewSensors; void TelemetryItem::gpsReceived() { @@ -491,11 +492,11 @@ void setTelemetryValue(TelemetryProtocol protocol, uint16_t id, uint8_t instance if (telemetrySensor.type == TELEM_TYPE_CUSTOM && telemetrySensor.id == id && (telemetrySensor.instance == instance || g_model.ignoreSensorIds)) { telemetryItems[index].setValue(telemetrySensor, value, unit, prec); available = true; - // we continue search here, because more than one sensor can have the same id and instance + // we continue search here, because sensors can share the same id and instance } } - if (available) { + if (available || !allowNewSensors) { return; } diff --git a/radio/src/telemetry/telemetry.h b/radio/src/telemetry/telemetry.h index 37e89e492..5885f95bd 100644 --- a/radio/src/telemetry/telemetry.h +++ b/radio/src/telemetry/telemetry.h @@ -165,6 +165,7 @@ class TelemetryItem }; extern TelemetryItem telemetryItems[MAX_SENSORS]; +extern uint8_t allowNewSensors; inline bool isTelemetryFieldAvailable(int index) { diff --git a/radio/src/tests/frsky.cpp b/radio/src/tests/frsky.cpp index 2db052dcd..c82109319 100644 --- a/radio/src/tests/frsky.cpp +++ b/radio/src/tests/frsky.cpp @@ -129,6 +129,8 @@ TEST(FrSky, Vfas_0x39_HiPrecision) TELEMETRY_RESET(); EXPECT_EQ(telemetryItems[0].value, 0); + allowNewSensors = true; + // normal precision, resolution 0.1V processHubPacket(VFAS_ID, 1234); // set value of 123.4V EXPECT_EQ(telemetryItems[0].value, 12340); // stored value has resolution of 0.01V @@ -148,6 +150,8 @@ TEST(FrSky, HubAltNegative) TELEMETRY_RESET(); EXPECT_EQ(telemetryItems[0].value, 0); + allowNewSensors = true; + // altimeter auto offset processHubPacket(BARO_ALT_BP_ID, 0); processHubPacket(BARO_ALT_AP_ID, 0); diff --git a/radio/src/tests/gtests.h b/radio/src/tests/gtests.h index d50149e67..a73bd0893 100644 --- a/radio/src/tests/gtests.h +++ b/radio/src/tests/gtests.h @@ -22,6 +22,15 @@ void doMixerCalculations(); #define RADIO_RESET() #endif +inline void SYSTEM_RESET() +{ +#if defined(CPUARM) + memset(modelHeaders, 0, sizeof(modelHeaders)); +#endif + generalDefault(); + g_eeGeneral.templateSetup = 0; +} + inline void MODEL_RESET() { memset(&g_model, 0, sizeof(g_model)); diff --git a/radio/src/tests/lcd.cpp b/radio/src/tests/lcd.cpp index e3cebfbf3..dbba72798 100644 --- a/radio/src/tests/lcd.cpp +++ b/radio/src/tests/lcd.cpp @@ -92,7 +92,7 @@ void doPaint(QPainter & p) } } -bool checkScreenshot(QString test) +bool checkScreenshot(const QString & test) { lcdRefresh(); QImage buffer(LCD_W, LCD_H, QImage::Format_RGB32); diff --git a/radio/src/tests/lua.cpp b/radio/src/tests/lua.cpp index c4e027f69..f1f89ab40 100644 --- a/radio/src/tests/lua.cpp +++ b/radio/src/tests/lua.cpp @@ -35,7 +35,6 @@ */ #include -#include #include "gtests.h" #if defined(LUA) @@ -135,7 +134,7 @@ TEST(Lua, testModelInputs) // add one line on Input4 luaExecStr("model.insertInput(3, 0, {name='test1', source=MIXSRC_Thr, weight=56, offset=3, switch=2})"); - EXPECT_EQ(3, g_model.expoData[0].chn); + EXPECT_EQ(3, (int)g_model.expoData[0].chn); EXPECT_ZSTREQ("test1", g_model.expoData[0].name); EXPECT_EQ(MIXSRC_Thr, g_model.expoData[0].srcRaw); EXPECT_EQ(56, g_model.expoData[0].weight); @@ -144,14 +143,14 @@ TEST(Lua, testModelInputs) // add another one before existing line on Input4 luaExecStr("model.insertInput(3, 0, {name='test2', source=MIXSRC_Rud, weight=-56})"); - EXPECT_EQ(3, g_model.expoData[0].chn); + EXPECT_EQ(3, (int)g_model.expoData[0].chn); EXPECT_ZSTREQ("test2", g_model.expoData[0].name); EXPECT_EQ(MIXSRC_Rud, g_model.expoData[0].srcRaw); EXPECT_EQ(-56, g_model.expoData[0].weight); EXPECT_EQ(0, g_model.expoData[0].offset); EXPECT_EQ(0, g_model.expoData[0].swtch); - EXPECT_EQ(3, g_model.expoData[1].chn); + EXPECT_EQ(3, (int)g_model.expoData[1].chn); EXPECT_ZSTREQ("test1", g_model.expoData[1].name); EXPECT_EQ(MIXSRC_Thr, g_model.expoData[1].srcRaw); EXPECT_EQ(56, g_model.expoData[1].weight); @@ -160,21 +159,21 @@ TEST(Lua, testModelInputs) // add another line after existing lines on Input4 luaExecStr("model.insertInput(3, model.getInputsCount(3), {name='test3', source=MIXSRC_Ail, weight=100})"); - EXPECT_EQ(3, g_model.expoData[0].chn); + EXPECT_EQ(3, (int)g_model.expoData[0].chn); EXPECT_ZSTREQ("test2", g_model.expoData[0].name); EXPECT_EQ(MIXSRC_Rud, g_model.expoData[0].srcRaw); EXPECT_EQ(-56, g_model.expoData[0].weight); EXPECT_EQ(0, g_model.expoData[0].offset); EXPECT_EQ(0, g_model.expoData[0].swtch); - EXPECT_EQ(3, g_model.expoData[1].chn); + EXPECT_EQ(3, (int)g_model.expoData[1].chn); EXPECT_ZSTREQ("test1", g_model.expoData[1].name); EXPECT_EQ(MIXSRC_Thr, g_model.expoData[1].srcRaw); EXPECT_EQ(56, g_model.expoData[1].weight); EXPECT_EQ(3, g_model.expoData[1].offset); EXPECT_EQ(2, g_model.expoData[1].swtch); - EXPECT_EQ(3, g_model.expoData[2].chn); + EXPECT_EQ(3, (int)g_model.expoData[2].chn); EXPECT_ZSTREQ("test3", g_model.expoData[2].name); EXPECT_EQ(MIXSRC_Ail, g_model.expoData[2].srcRaw); EXPECT_EQ(100, g_model.expoData[2].weight); diff --git a/radio/src/tests/mixer.cpp b/radio/src/tests/mixer.cpp index c9476fa0a..e252ad6f7 100644 --- a/radio/src/tests/mixer.cpp +++ b/radio/src/tests/mixer.cpp @@ -62,6 +62,7 @@ TEST(Trims, throttleTrim) { + SYSTEM_RESET(); MODEL_RESET(); modelDefault(0); g_model.thrTrim = 1; diff --git a/radio/src/tests/switches.cpp b/radio/src/tests/switches.cpp index 7cb7c4c78..a7747c651 100644 --- a/radio/src/tests/switches.cpp +++ b/radio/src/tests/switches.cpp @@ -61,14 +61,20 @@ TEST(getSwitch, circularCSW) } #endif +#define SET_LOGICAL_SWITCH(index, _func, _v1, _v2) ( \ + g_model.logicalSw[index].func = _func, \ + g_model.logicalSw[index].v1 = _v1, \ + g_model.logicalSw[index].v2 = _v2 ) + #if defined(PCBTARANIS) TEST(getSwitch, OldTypeStickyCSW) { RADIO_RESET(); MODEL_RESET(); MIXER_RESET(); - g_model.logicalSw[0] = { LS_FUNC_AND, SWSRC_SA0, 0, 0, }; - g_model.logicalSw[1] = { LS_FUNC_OR, SWSRC_SW1, SWSRC_SW2, 0 }; + + SET_LOGICAL_SWITCH(0, LS_FUNC_AND, SWSRC_SA0, SWSRC_NONE); + SET_LOGICAL_SWITCH(1, LS_FUNC_OR, SWSRC_SW1, SWSRC_SW2); evalLogicalSwitches(); EXPECT_EQ(getSwitch(SWSRC_SW1), false); @@ -351,3 +357,25 @@ TEST(getSwitch, inputWithTrim) EXPECT_EQ(getSwitch(SWSRC_SW1), true); } #endif + +#if defined(PCBTARANIS) +TEST(evalLogicalSwitches, playFile) +{ + SYSTEM_RESET(); + MODEL_RESET(); + modelDefault(0); + MIXER_RESET(); + + extern uint64_t sdAvailableLogicalSwitchAudioFiles; + sdAvailableLogicalSwitchAudioFiles = 0xffffffffffffffff; + char filename[AUDIO_FILENAME_MAXLEN+1]; + isAudioFileReferenced((LOGICAL_SWITCH_AUDIO_CATEGORY << 24) + (0 << 16) + AUDIO_EVENT_OFF, filename); + EXPECT_EQ(strcmp(filename, "/SOUNDS/en/MODEL01/L1-off.wav"), 0); + isAudioFileReferenced((LOGICAL_SWITCH_AUDIO_CATEGORY << 24) + (0 << 16) + AUDIO_EVENT_ON, filename); + EXPECT_EQ(strcmp(filename, "/SOUNDS/en/MODEL01/L1-on.wav"), 0); + isAudioFileReferenced((LOGICAL_SWITCH_AUDIO_CATEGORY << 24) + (31 << 16) + AUDIO_EVENT_OFF, filename); + EXPECT_EQ(strcmp(filename, "/SOUNDS/en/MODEL01/L32-off.wav"), 0); + isAudioFileReferenced((LOGICAL_SWITCH_AUDIO_CATEGORY << 24) + (31 << 16) + AUDIO_EVENT_ON, filename); + EXPECT_EQ(strcmp(filename, "/SOUNDS/en/MODEL01/L32-on.wav"), 0); +} +#endif diff --git a/radio/src/tests/timers.cpp b/radio/src/tests/timers.cpp index 4eff9c825..5b526afb2 100644 --- a/radio/src/tests/timers.cpp +++ b/radio/src/tests/timers.cpp @@ -38,42 +38,6 @@ #include "opentx.h" #include "timers.h" -/* -struct TimerState { - uint16_t cnt; - uint16_t sum; - uint8_t state; - int16_t val; - uint8_t val_10ms; -}; - -PACK(typedef struct t_TimerData { - int8_t mode; // timer trigger source -> off, abs, stk, stk%, sw/!sw, !m_sw/!m_sw - uint16_t start; - uint8_t countdownBeep:2; - uint8_t minuteBeep:1; - uint8_t persistent:2; // 0 off, 1 flight, 2 manual reset - uint8_t spare:3; - uint16_t value; -}) TimerData; - -enum TimerModes { - TMRMODE_NONE, - TMRMODE_ABS, - TMRMODE_THR, - TMRMODE_THR_REL, - TMRMODE_THR_TRG, - TMRMODE_COUNT -}; - -enum CountDownModes { - COUNTDOWN_SILENT, - COUNTDOWN_BEEPS, - COUNTDOWN_VOICE -}; - -*/ - #if !defined(CPUARM) #undef timerSet void timerSet(int idx, int16_t val) diff --git a/radio/src/thirdparty/STM32_USB-Host-Device_Lib_V2.1.0/Libraries/STM32_USB_Device_Library/Class/cdc/src/usbd_cdc_core.c b/radio/src/thirdparty/STM32_USB-Host-Device_Lib_V2.1.0/Libraries/STM32_USB_Device_Library/Class/cdc/src/usbd_cdc_core.c index a91772b71..3856f778d 100644 --- a/radio/src/thirdparty/STM32_USB-Host-Device_Lib_V2.1.0/Libraries/STM32_USB_Device_Library/Class/cdc/src/usbd_cdc_core.c +++ b/radio/src/thirdparty/STM32_USB-Host-Device_Lib_V2.1.0/Libraries/STM32_USB_Device_Library/Class/cdc/src/usbd_cdc_core.c @@ -122,7 +122,7 @@ static uint8_t usbd_cdc_SOF (void *pdev); CDC specific management functions *********************************************/ static void Handle_USBAsynchXfer (void *pdev); -static uint8_t *USBD_cdc_GetCfgDesc (uint8_t speed, uint16_t *length); +static const uint8_t *USBD_cdc_GetCfgDesc (uint8_t speed, uint16_t *length); #ifdef USE_USB_OTG_HS static uint8_t *USBD_cdc_GetOtherCfgDesc (uint8_t speed, uint16_t *length); #endif @@ -134,7 +134,7 @@ static uint8_t *USBD_cdc_GetOtherCfgDesc (uint8_t speed, uint16_t *length); * @{ */ extern CDC_IF_Prop_TypeDef APP_FOPS; -extern uint8_t USBD_DeviceDesc [USB_SIZ_DEVICE_DESC]; +extern const uint8_t USBD_DeviceDesc [USB_SIZ_DEVICE_DESC]; #ifdef USB_OTG_HS_INTERNAL_DMA_ENABLED #if defined ( __ICCARM__ ) /*!< IAR Compiler */ @@ -179,8 +179,8 @@ __ALIGN_BEGIN uint8_t APP_Rx_Buffer [APP_RX_DATA_SIZE] __ALIGN_END ; #endif /* USB_OTG_HS_INTERNAL_DMA_ENABLED */ __ALIGN_BEGIN uint8_t CmdBuff[CDC_CMD_PACKET_SZE] __ALIGN_END ; -uint32_t APP_Rx_ptr_in = 0; -uint32_t APP_Rx_ptr_out = 0; +volatile uint32_t APP_Rx_ptr_in = 0; +volatile uint32_t APP_Rx_ptr_out = 0; uint32_t APP_Rx_length = 0; uint8_t USB_Tx_State = 0; @@ -782,7 +782,7 @@ static void Handle_USBAsynchXfer (void *pdev) * @param length : pointer data length * @retval pointer to descriptor buffer */ -static uint8_t *USBD_cdc_GetCfgDesc (uint8_t speed, uint16_t *length) +static const uint8_t *USBD_cdc_GetCfgDesc (uint8_t speed, uint16_t *length) { *length = sizeof (usbd_cdc_CfgDesc); return usbd_cdc_CfgDesc; diff --git a/radio/src/timers.cpp b/radio/src/timers.cpp index bc591c0f9..4826eea64 100644 --- a/radio/src/timers.cpp +++ b/radio/src/timers.cpp @@ -188,15 +188,15 @@ void evalTimers(int16_t throttle, uint8_t tick10ms) timerState->val = newTimerVal; if (timerState->state == TMR_RUNNING) { if (g_model.timers[i].countdownBeep && g_model.timers[i].start) { - if (newTimerVal==30) { + if (newTimerVal == 30) { AUDIO_TIMER_30(); // TRACE("Timer[%d] 30s announcement", i); } - if (newTimerVal==20) { + if (newTimerVal == 20) { AUDIO_TIMER_20(); // TRACE("Timer[%d] 20s announcement", i); } - if (newTimerVal<=10) { + if (newTimerVal <= 10) { AUDIO_TIMER_LT10(g_model.timers[i].countdownBeep, newTimerVal); // TRACE("Timer[%d] %ds announcement", i, newTimerVal); } diff --git a/radio/src/timers.h b/radio/src/timers.h index 98f34d637..7edd776eb 100644 --- a/radio/src/timers.h +++ b/radio/src/timers.h @@ -45,14 +45,14 @@ #if defined(CPUARM) typedef int32_t tmrval_t; typedef uint32_t tmrstart_t; -#define TIMER_MIN (-0xffffff/2) +#define TIMER_MAX (0xffffff/2) #else typedef int16_t tmrval_t; typedef uint16_t tmrstart_t; -#define TIMER_MIN (-0xffff/2) +#define TIMER_MAX (0xffff/2) #endif -#define TIMER_MAX (-TIMER_MIN-1) +#define TIMER_MIN (-TIMER_MAX-1) struct TimerState { uint16_t cnt; diff --git a/radio/src/trainer_input.cpp b/radio/src/trainer_input.cpp index 7edd1846f..49c8f14a1 100644 --- a/radio/src/trainer_input.cpp +++ b/radio/src/trainer_input.cpp @@ -53,7 +53,7 @@ void checkTrainerSignalWarning() static uint8_t ppmInputValidState = PPM_IN_IS_NOT_USED; - if(ppmInputValidityTimer && (ppmInputValidState == PPM_IN_IS_NOT_USED)) { + if (ppmInputValidityTimer && (ppmInputValidState == PPM_IN_IS_NOT_USED)) { ppmInputValidState = PPM_IN_IS_VALID; } else if (!ppmInputValidityTimer && (ppmInputValidState == PPM_IN_IS_VALID)) { diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index febcbb99c..524d87a55 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -482,6 +482,10 @@ const pm_char STR_NO_SOUNDS_ON_SD[] PROGMEM = TR_NO_SOUNDS_ON_SD; const pm_char STR_NO_MODELS_ON_SD[] PROGMEM = TR_NO_MODELS_ON_SD; const pm_char STR_NO_BITMAPS_ON_SD[] PROGMEM = TR_NO_BITMAPS_ON_SD; const pm_char STR_NO_SCRIPTS_ON_SD[] PROGMEM = TR_NO_SCRIPTS_ON_SD; +const pm_char STR_SCRIPT_SYNTAX_ERROR[] PROGMEM = TR_SCRIPT_SYNTAX_ERROR; +const pm_char STR_SCRIPT_PANIC[] PROGMEM = TR_SCRIPT_PANIC; +const pm_char STR_SCRIPT_KILLED[] PROGMEM = TR_SCRIPT_KILLED; +const pm_char STR_SCRIPT_ERROR[] PROGMEM = TR_SCRIPT_ERROR; const pm_char STR_PLAY_FILE[] PROGMEM = TR_PLAY_FILE; const pm_char STR_ASSIGN_BITMAP[] PROGMEM = TR_ASSIGN_BITMAP; const pm_char STR_EXECUTE_FILE[] PROGMEM = TR_EXECUTE_FILE; @@ -570,7 +574,11 @@ const pm_char STR_BLCOLOR[] PROGMEM = TR_BLCOLOR; const pm_char STR_ONLYPOSITIVE[] PROGMEM = TR_ONLYPOSITIVE; const pm_char STR_FILTER[] PROGMEM = TR_FILTER; const pm_char STR_TELEMETRYFULL[] PROGMEM = TR_TELEMETRYFULL; - const pm_char STR_IGNOREIDS[] PROGMEM = TR_IGNOREIDS; + const pm_char STR_IGNORE_INSTANCE[] PROGMEM = TR_IGNORE_INSTANCE; + const pm_char STR_DISCOVER_SENSORS[] PROGMEM = TR_DISCOVER_SENSORS; + const pm_char STR_STOP_DISCOVER_SENSORS[] PROGMEM = TR_STOP_DISCOVER_SENSORS; + const pm_char STR_DELETE_ALL_SENSORS[] PROGMEM = TR_DELETE_ALL_SENSORS; + const pm_char STR_CONFIRMDELETE[] PROGMEM = TR_CONFIRMDELETE; #endif #if defined(PCBTARANIS) @@ -590,6 +598,10 @@ const pm_char STR_BLCOLOR[] PROGMEM = TR_BLCOLOR; const pm_char STR_SMOOTH[] PROGMEM = TR_SMOOTH; const pm_char STR_COPY_STICKS_TO_OFS[] PROGMEM = TR_COPY_STICKS_TO_OFS; const pm_char STR_COPY_TRIMS_TO_OFS[] PROGMEM = TR_COPY_TRIMS_TO_OFS; + const pm_char STR_INCDEC[] PROGMEM = TR_INCDEC; + const pm_char STR_GLOBALVAR[] PROGMEM = TR_GLOBALVAR; + const pm_char STR_MIXSOURCE[] PROGMEM = TR_MIXSOURCE; + const pm_char STR_CONSTANT[] PROGMEM = TR_CONSTANT; const pm_char STR_TOP_BAR[] PROGMEM = TR_TOP_BAR; const pm_char STR_ALTITUDE[] PROGMEM = TR_ALTITUDE; const pm_char STR_SCALE[] PROGMEM = TR_SCALE; diff --git a/radio/src/translations.h b/radio/src/translations.h index 651a0fe13..c533a504d 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -665,6 +665,10 @@ extern const pm_char STR_NO_SOUNDS_ON_SD[]; extern const pm_char STR_NO_MODELS_ON_SD[]; extern const pm_char STR_NO_BITMAPS_ON_SD[]; extern const pm_char STR_NO_SCRIPTS_ON_SD[]; +extern const pm_char STR_SCRIPT_SYNTAX_ERROR[]; +extern const pm_char STR_SCRIPT_PANIC[]; +extern const pm_char STR_SCRIPT_KILLED[]; +extern const pm_char STR_SCRIPT_ERROR[]; extern const pm_char STR_PLAY_FILE[]; extern const pm_char STR_ASSIGN_BITMAP[]; extern const pm_char STR_EXECUTE_FILE[]; @@ -789,7 +793,11 @@ extern const pm_char STR_BLCOLOR[]; extern const pm_char STR_ONLYPOSITIVE[]; extern const pm_char STR_FILTER[]; extern const pm_char STR_TELEMETRYFULL[]; - extern const pm_char STR_IGNOREIDS[]; + extern const pm_char STR_IGNORE_INSTANCE[]; + extern const pm_char STR_DISCOVER_SENSORS[]; + extern const pm_char STR_STOP_DISCOVER_SENSORS[]; + extern const pm_char STR_DELETE_ALL_SENSORS[]; + extern const pm_char STR_CONFIRMDELETE[]; #endif #if defined(PCBTARANIS) @@ -809,6 +817,10 @@ extern const pm_char STR_BLCOLOR[]; extern const pm_char STR_SMOOTH[]; extern const pm_char STR_COPY_STICKS_TO_OFS[]; extern const pm_char STR_COPY_TRIMS_TO_OFS[]; + extern const pm_char STR_INCDEC[]; + extern const pm_char STR_GLOBALVAR[]; + extern const pm_char STR_MIXSOURCE[]; + extern const pm_char STR_CONSTANT[]; extern const pm_char STR_TOP_BAR[]; extern const pm_char STR_ALTITUDE[]; extern const pm_char STR_SCALE[]; @@ -827,13 +839,13 @@ extern const pm_char STR_BLCOLOR[]; extern const pm_char STR_MENU_HELI[]; extern const pm_char STR_MENU_TRIMS[]; extern const pm_char STR_MENU_SWITCHES[]; -extern const pm_char STR_MENU_LOGICAL_SWITCHES[]; + extern const pm_char STR_MENU_LOGICAL_SWITCHES[]; extern const pm_char STR_MENU_TRAINER[]; extern const pm_char STR_MENU_CHANNELS[]; extern const pm_char STR_MENU_GVARS[]; extern const pm_char STR_MENU_TELEMETRY[]; -extern const pm_char STR_MENU_OTHER[]; -extern const pm_char STR_MENU_INVERT[]; + extern const pm_char STR_MENU_OTHER[]; + extern const pm_char STR_MENU_INVERT[]; #endif #if MENUS_LOCK == 1 diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 4fffeae9b..64fa05a9e 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -118,8 +118,8 @@ #define LEN_VDISPLAYTRIMS "\006" #define TR_VDISPLAYTRIMS "Ne\0 ""Změna\0""Ano\0 " -#define LEN_VBEEPCOUNTDOWN "\006" -#define TR_VBEEPCOUNTDOWN "Ne\0 ""Zvuk\0 ""Hlas\0 " +#define LEN_VBEEPCOUNTDOWN "\007" +#define TR_VBEEPCOUNTDOWN "Ne\0 ""Zvuk\0 ""Hlas\0 ""Vibrace" #define LEN_VVARIOCENTER "\005" #define TR_VVARIOCENTER "Tón\0 ""Ticho" @@ -367,9 +367,9 @@ #endif #if LCD_W >= 212 - #define TR_VTELEMCHNS "---\0 ""Batt\0" TR_TELEM_TIME TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_TIMERS TR_SWR "Tx\0 " TR_TELEM_RSSI_RX TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0 ""Rpm\0 ""Fuel\0""T1\0 ""T2\0 ""Spd\0 ""Dist\0""GAlt\0""Cell\0""Cells""Vfas\0""Curr\0""Cnsp\0""Powr\0""AccX\0""AccY\0""AccZ\0""Hdg\0 ""VSpd\0""ASpd\0""dTE\0 " TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "A1-\0 ""A2-\0 " TR_A3_A4_MIN "Alt-\0""Alt+\0""Rpm+\0""T1+\0 ""T2+\0 ""Spd+\0""Dst+\0" TR_ASPD_MAX "Cell-""Cels-""Vfas-""Curr+""Powr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0 ""Time\0" + #define TR_VTELEMCHNS "---\0 ""Bat.\0" TR_TELEM_TIME TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_TIMERS TR_SWR "Tx\0 " TR_TELEM_RSSI_RX TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0 ""Rpm\0 ""Fuel\0""T1\0 ""T2\0 ""Spd\0 ""Dist\0""GAlt\0""Cell\0""Cells""Vfas\0""Curr\0""Cnsp\0""Powr\0""AccX\0""AccY\0""AccZ\0""Hdg\0 ""VSpd\0""ASpd\0""dTE\0 " TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "A1-\0 ""A2-\0 " TR_A3_A4_MIN "Alt-\0""Alt+\0""Rpm+\0""T1+\0 ""T2+\0 ""Spd+\0""Dst+\0" TR_ASPD_MAX "Cell-""Cels-""Vfas-""Curr+""Powr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0 ""Time\0" #else - #define TR_VTELEMCHNS "---\0""Batt" TR_TELEM_TIME TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_TIMERS TR_SWR "Tx\0 " TR_TELEM_RSSI_RX TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VSpd""ASpd""dTE\0" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "A1-\0""A2-\0" TR_A3_A4_MIN "Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+" TR_ASPD_MAX "Cel-""Cls-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Time" + #define TR_VTELEMCHNS "---\0""Bat." TR_TELEM_TIME TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_TIMERS TR_SWR "Tx\0 " TR_TELEM_RSSI_RX TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0""Rpm\0""Fuel""T1\0 ""T2\0 ""Spd\0""Dist""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VSpd""ASpd""dTE\0" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "A1-\0""A2-\0" TR_A3_A4_MIN "Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+" TR_ASPD_MAX "Cel-""Cls-""Vfs-""Cur+""Pwr+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Time" #endif #define LENGTH_UNIT_IMP "ft\0" @@ -487,23 +487,17 @@ #define TR_ROTENC_SWITCHES #endif -#if defined(PCBTARANIS) && defined(REV9E) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301""SI\300""SI-""SI\301""SJ\300""SJ-""SJ\301""SK\300""SK-""SK\301""SL\300""SL-""SL\301""SM\300""SM-""SM\301""SN\300""SN-""SN\301""SO\300""SO-""SO\301""SP\300""SP-""SP\301""SQ\300""SQ-""SQ\301""SR\300""SR-""SR\301" -#elif defined(PCBTARANIS) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301" -#else +#if !defined(PCBTARANIS) #define TR_PHYS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" #endif +#define TR_ON_ONE_SWITCHES "ZAP""One" + #if defined(PCBTARANIS) - #if defined(REV9E) - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36""S41""S42""S43""S44""S45""S46" - #else - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36" - #endif - #define TR_VSWITCHES "---" TR_PHYS_SWITCHES TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ZAP""One" + // only special switches here + #define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES #else - #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ZAP""One" + #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES #endif #if defined(HELI) @@ -514,7 +508,7 @@ #if defined(CPUARM) #define TR_RESERVE_VSRCRAW TR("[--]", "[--]\0") - #define TR_EXTRA_VSRCRAW TR("Batt""Time" TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW "Tmr1""Tmr2""Tmr3", "Batt\0""Time\0" TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW "Tmr1\0""Tmr2\0""Tmr3\0") + #define TR_EXTRA_VSRCRAW TR("Bat.""Time" TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW "Tmr1""Tmr2""Tmr3", "Bat.\0""Time\0" TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW "Tmr1\0""Tmr2\0""Tmr3\0") #else #define TR_EXTRA_VSRCRAW #endif @@ -852,6 +846,10 @@ #define TR_NO_MODELS_ON_SD "žádný model" BREAKSPACE "na SD" #define TR_NO_BITMAPS_ON_SD "žádné obrázky" BREAKSPACE "na SD" #define TR_NO_SCRIPTS_ON_SD "žádný skript" BREAKSPACE "na SD" +#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error" +#define TR_SCRIPT_PANIC "Script panic" +#define TR_SCRIPT_KILLED "Script killed" +#define TR_SCRIPT_ERROR "Unknown error" #define TR_PLAY_FILE "Přehrát" #define TR_DELETE_FILE "Odstranit" #define TR_COPY_FILE "Kopírovat" @@ -931,7 +929,7 @@ #define TR_VALUE "Hodnota" #define TR_TOPLCDTIMER "Stopky horního LCD" #define TR_UNIT "Jednotky" -#define TR_TELEMETRY_NEWSENSOR INDENT "+ Přidat nový senzor.." +#define TR_TELEMETRY_NEWSENSOR INDENT "Přidat senzor ručně" #define TR_CHANNELRANGE INDENT "Rozsah kanálů" #define TR_LOWALARM INDENT "Nízký Alarm" #define TR_CRITICALALARM INDENT "Kritický Alarm" @@ -949,7 +947,11 @@ #define TR_SMOOTH "Hladká" #define TR_COPY_STICKS_TO_OFS "Kopie pák do subtrimu" #define TR_COPY_TRIMS_TO_OFS "Kopíe trimů do subtrimu" -#define TR_PERSISTENT_MAH TR(INDENT "Str mAh", INDENT "Ukládat mAh") +#define TR_INCDEC "Zvěšit/Zmenšit" +#define TR_GLOBALVAR "Glob. proměnná" +#define TR_MIXSOURCE "Zdroje mixeru" +#define TR_CONSTANT "Konstanta" +#define TR_PERSISTENT_MAH TR(INDENT "Ulož mAh", INDENT "Ukládat mAh") #define TR_PREFLIGHT "Předletová kontrola" #define TR_CHECKLIST INDENT "Zobrazit poznámky" #define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Ofset") @@ -1074,12 +1076,16 @@ #define TR_ALTSENSOR "Senzor výšky" #define TR_CELLSENSOR "Senzor článků" #define TR_GPSSENSOR "GPS senzor" -#define TR_CURRENTSENSOR "Sensor proudu" +#define TR_CURRENTSENSOR "Senzor" #define TR_AUTOOFFSET "Auto ofset" #define TR_ONLYPOSITIVE "Jen kladné" #define TR_FILTER "Filtr" #define TR_TELEMETRYFULL "Všechny sloty jsou plné!" -#define TR_IGNOREIDS INDENT "Ignoruj chyby ID" +#define TR_IGNORE_INSTANCE INDENT "Ignoruj chyby ID" +#define TR_DISCOVER_SENSORS INDENT "Detekovat nové senzory" +#define TR_STOP_DISCOVER_SENSORS INDENT "Zastavit autodetekci" +#define TR_DELETE_ALL_SENSORS INDENT "Odstranit všechny senzory" +#define TR_CONFIRMDELETE "Opravdu odstranit vše?" #define TR_MENU_INPUTS "\314Vstupy" #define TR_MENU_LUA "\322Lua skripty" diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index f0bc56e99..fe92950c8 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -1,4 +1,4 @@ -/* German checked 29.07.2015 r085 opentx V2.099 für X9D,X9D+, X9E, Th9, 9XR, 9XR-Pro +/* German checked 27.09.2015 r096 opentx V2.1.4 für X9D,X9D+, X9E, Th9, 9XR, 9XR-Pro * Authors (alphabetical order) * - Bertrand Songis * - Bernet Andre @@ -104,7 +104,7 @@ #define TR_COUNTRYCODES TR("US""JP""EU", "Amerika""Japan\0 ""Europa\0") #define LEN_TARANIS_PROTOCOLS "\004" -#define TR_TARANIS_PROTOCOLS "AUS\0""PPM\0""XJT\0""DSM2" +#define TR_TARANIS_PROTOCOLS "AUS\0""PPM\0""XJT\0""DSM?" #if defined(MODULE_D16_EU_ONLY_SUPPORT) #define LEN_XJT_PROTOCOLS "\006" @@ -115,7 +115,7 @@ #endif #define LEN_DSM_PROTOCOLS "\004" -#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" +#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" //LP45 =Low Power 4 und 5 Kanal #define LEN_VTRIMINC TR("\007", "\014") // ursprüglich "\006", "\013" #define TR_VTRIMINC TR("Expo ""ExFein ""Fein ""Mittel ""Grob ", "Exponentiell""Extrafein ""Fein ""Mittel ""Grob ") @@ -124,7 +124,7 @@ #define TR_VDISPLAYTRIMS "Nein\0 ""Kurz\0 ""Ja\0" //Trimmwerte Keine, kurze Anzeigen, Ja #define LEN_VBEEPCOUNTDOWN "\006" -#define TR_VBEEPCOUNTDOWN "Kein\0 Pieps\0Stimme" +#define TR_VBEEPCOUNTDOWN "Kein\0 Pieps\0StimmeHaptik" #define LEN_VVARIOCENTER "\006" #define TR_VVARIOCENTER "Ton\0 ""Ruhe " @@ -432,10 +432,10 @@ #if defined(CPUARM) #define LEN_VTELEMSCREENTYPE "\007" - #define TR_VTELEMSCREENTYPE "None\0 "":Werte\0"":Balken""Script\0" + #define TR_VTELEMSCREENTYPE " None "" Werte "" Balken"" Script" #else - #define LEN_VTELEMSCREENTYPE "\006" - #define TR_VTELEMSCREENTYPE "Werte\0""Balken" + #define LEN_VTELEMSCREENTYPE "\007" + #define TR_VTELEMSCREENTYPE " Werte "" Balken" #endif #define LEN_GPSFORMAT "\004" @@ -491,23 +491,17 @@ #define TR_ROTENC_SWITCHES #endif -#if defined(PCBTARANIS) && defined(REV9E) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301""SI\300""SI-""SI\301""SJ\300""SJ-""SJ\301""SK\300""SK-""SK\301""SL\300""SL-""SL\301""SM\300""SM-""SM\301""SN\300""SN-""SN\301""SO\300""SO-""SO\301""SP\300""SP-""SP\301""SQ\300""SQ-""SQ\301""SR\300""SR-""SR\301" -#elif defined(PCBTARANIS) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301" -#else +#if !defined(PCBTARANIS) #define TR_PHYS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" #endif +#define TR_ON_ONE_SWITCHES "ON\0""One" + #if defined(PCBTARANIS) - #if defined(REV9E) - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36""S41""S42""S43""S44""S45""S46" - #else - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36" - #endif - #define TR_VSWITCHES "---" TR_PHYS_SWITCHES TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" + // only special switches here + #define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES #else - #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" + #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES #endif #if defined(HELI) @@ -532,7 +526,7 @@ #define TR_VTRAINERMODES "Lehrer/Buchse\0 ""Schüler/Buchse\0 ""Lehrer/SBUS Modul\0""Lehrer/CPPM Modul\0""Lehrer/Batterie\0" #define LEN_VFAILSAFE "\015" // "\013" original -#define TR_VFAILSAFE "Kein Failsafe""Halte Pos.\0 ""Angepasst\0 ""Kein Signal\0 ""Empfänger\0 " +#define TR_VFAILSAFE "Kein Failsafe""Halte Pos.\0 ""Kanäle\0 ""Kein Signal\0 ""Empfänger\0 " #if defined(MAVLINK) #define LEN_MAVLINK_BAUDS "\006" @@ -664,7 +658,7 @@ #define TR_RANGE TR(INDENT "Bereich", INDENT "Variobereich m/s") // 9XR-Pro #define TR_CENTER TR(INDENT "Mitte m/s", INDENT "Variomitte m/s") #define TR_BAR "Streifen" -#define TR_ALARM INDENT "Ein bei Alarm" +#define TR_ALARM TR(INDENT "Alarme ", INDENT "Ein bei Alarm") //9XR-Pro #define TR_USRDATA "Daten berechnen aus" #define TR_BLADES TR(INDENT "Prop", INDENT "Prop-Blätter") //9XR-Pro #define TR_SCREEN "Telm-Bild " @@ -793,9 +787,9 @@ #define TR_MENUSTAT "STAT" #define TR_MENUDEBUG "DEBUG" #if defined(CPUARM) - #define TR_RXNUM TR(INDENT "RxNum", INDENT "Modell-Match-Nr.") + #define TR_RXNUM TR(INDENT "Empf Nr.", INDENT "Modell-Match-Nr.") #else - #define TR_RXNUM "RxNum" + #define TR_RXNUM "Empf Nr." #endif #define TR_SYNCMENU "Sync [MENU]" #define TR_LIMIT INDENT "Grenzen" @@ -856,6 +850,10 @@ #define TR_NO_MODELS_ON_SD "Kein Modell auf SD" #define TR_NO_BITMAPS_ON_SD "Keine Bitmaps auf SD" #define TR_NO_SCRIPTS_ON_SD "Keine Scripte auf SD" +#define TR_SCRIPT_SYNTAX_ERROR "Script Syntax Fehler" +#define TR_SCRIPT_PANIC "Script panic" //?? +#define TR_SCRIPT_KILLED "Script killed" //?? +#define TR_SCRIPT_ERROR "Unbekannter Fehler" #define TR_PLAY_FILE "Spielen" #define TR_DELETE_FILE "Löschen" #define TR_COPY_FILE "Kopieren" @@ -922,8 +920,8 @@ #define TR_SPEAKER INDENT "Lautspr" #define TR_BUZZER INDENT "Summer" #define TR_BYTES "Bytes" -#define TR_MODULE_BIND "[Bind]" -#define TR_MODULE_RANGE "[Range]" +#define TR_MODULE_BIND TR("Bind","[Bind]") //9XR-Pro +#define TR_MODULE_RANGE TR("Rang", "[Range]") //9XR-Pro #define TR_RESET_BTN TR("[Reset]", "[Reset Trim]") #define TR_SET "[Set]" #define TR_TRAINER "----DSC Buchse PPM In/Out------" //DSC Buchse Trainer Buchse @@ -953,6 +951,10 @@ #define TR_SMOOTH "Runden" #define TR_COPY_STICKS_TO_OFS "Kopie Stick to Servo-Mitte" #define TR_COPY_TRIMS_TO_OFS "Kopie Trimm to Servo-Mitte" // "Trim to Subtrim" +#define TR_INCDEC "Inc/Decrement" +#define TR_GLOBALVAR "Global Var" +#define TR_MIXSOURCE "Mixer Quelle" +#define TR_CONSTANT "Konstant" #define TR_PERSISTENT_MAH TR(INDENT "Spr. mAh", INDENT "Speichern mAh") //9XR-Pro #define TR_PREFLIGHT TR("---Vorflug-Checkliste--", "----Vorflug-Checkliste----") #define TR_CHECKLIST TR(INDENT "Checkliste", INDENT "Checkliste anzeigen") //9XR-Pro @@ -1069,7 +1071,7 @@ #define TR_UNLOCKED "Entsperrt" #define TR_ID "ID" #define TR_PRECISION "Prezision" -#define TR_RATIO "Umrechnung" +#define TR_RATIO "Umrechnung" //Faktor, Mulitplikator, Teiler 0,1 bis 10,0 #define TR_FORMULA "Formel" #define TR_CELLINDEX "Zellenindex" #define TR_LOGS "Log Daten" @@ -1078,12 +1080,16 @@ #define TR_ALTSENSOR "Höhen Sensor" #define TR_CELLSENSOR "Zellen Sensor" #define TR_GPSSENSOR "GPS Sensor" -#define TR_CURRENTSENSOR "Strom Sensor" +#define TR_CURRENTSENSOR "Sensor" #define TR_AUTOOFFSET "Auto Offset" #define TR_ONLYPOSITIVE "Nur Positiv" #define TR_FILTER "Filter aktiv" #define TR_TELEMETRYFULL "Telemetriezeilen voll!" -#define TR_IGNOREIDS INDENT "Ignore instance" +#define TR_IGNORE_INSTANCE TR(INDENT "Keine ID", INDENT "Keine Multisen-ID") //unklar +#define TR_DISCOVER_SENSORS INDENT "Start Sensorsuche" +#define TR_STOP_DISCOVER_SENSORS INDENT "Stop Sensorsuche" +#define TR_DELETE_ALL_SENSORS INDENT "Lösche alle Sensoren" +#define TR_CONFIRMDELETE "Wirklich alle löschen?" // ----------------------------- Symbole für Auswahlliste---------- #define TR_MENU_INPUTS "\314Inputs" #define TR_MENU_LUA "\322Lua Scripte" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 133566315..4f6ddb12f 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -119,7 +119,7 @@ #define TR_VDISPLAYTRIMS "No\0 ""Change""Yes\0" #define LEN_VBEEPCOUNTDOWN "\006" -#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voice\0" +#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voice\0Haptic" #define LEN_VVARIOCENTER "\006" #define TR_VVARIOCENTER "Tone\0 ""Silent" @@ -486,23 +486,17 @@ #define TR_ROTENC_SWITCHES #endif -#if defined(PCBTARANIS) && defined(REV9E) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301""SI\300""SI-""SI\301""SJ\300""SJ-""SJ\301""SK\300""SK-""SK\301""SL\300""SL-""SL\301""SM\300""SM-""SM\301""SN\300""SN-""SN\301""SO\300""SO-""SO\301""SP\300""SP-""SP\301""SQ\300""SQ-""SQ\301""SR\300""SR-""SR\301" -#elif defined(PCBTARANIS) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301" -#else +#if !defined(PCBTARANIS) #define TR_PHYS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" #endif +#define TR_ON_ONE_SWITCHES "ON\0""One" + #if defined(PCBTARANIS) - #if defined(REV9E) - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36""S41""S42""S43""S44""S45""S46" - #else - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36" - #endif - #define TR_VSWITCHES "---" TR_PHYS_SWITCHES TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" + // only special switches here + #define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES #else - #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" + #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES #endif #if defined(HELI) @@ -544,8 +538,8 @@ #define LEN_VFORMULAS "\010" #define TR_VFORMULAS "Add\0 ""Average\0""Min\0 ""Max\0 ""Multiply""Totalize""Cell\0 ""Consumpt""Distance" -#define LEN_VPREC "\005" -#define TR_VPREC "PREC0""PREC1""PREC2" +#define LEN_VPREC "\004" +#define TR_VPREC "0.--""0.0 ""0.00" #define LEN_VCELLINDEX "\007" #define TR_VCELLINDEX "Lowest\0""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Highest""Delta\0" @@ -851,6 +845,10 @@ #define TR_NO_MODELS_ON_SD "No Models" BREAKSPACE "on SD" #define TR_NO_BITMAPS_ON_SD "No Bitmaps" BREAKSPACE "on SD" #define TR_NO_SCRIPTS_ON_SD "No Scripts" BREAKSPACE "on SD" +#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error" +#define TR_SCRIPT_PANIC "Script panic" +#define TR_SCRIPT_KILLED "Script killed" +#define TR_SCRIPT_ERROR "Unknown error" #define TR_PLAY_FILE "Play" #define TR_DELETE_FILE "Delete" #define TR_COPY_FILE "Copy" @@ -948,6 +946,10 @@ #define TR_SMOOTH "Smooth" #define TR_COPY_STICKS_TO_OFS "Copy sticks to subtrim" #define TR_COPY_TRIMS_TO_OFS "Copy trims to subtrim" +#define TR_INCDEC "Inc/Decrement" +#define TR_GLOBALVAR "Global Var" +#define TR_MIXSOURCE "Mixer Source" +#define TR_CONSTANT "Constant" #define TR_PERSISTENT_MAH TR(INDENT "Str mAh", INDENT "Persistent mAh") #define TR_PREFLIGHT "Preflight Checks" #define TR_CHECKLIST TR(INDENT "Checklist", INDENT "Display Checklist") @@ -1073,12 +1075,16 @@ #define TR_ALTSENSOR "Alt sensor" #define TR_CELLSENSOR "Cell sensor" #define TR_GPSSENSOR "GPS sensor" -#define TR_CURRENTSENSOR "Curr. sensor" +#define TR_CURRENTSENSOR "Sensor" #define TR_AUTOOFFSET "Auto Offset" #define TR_ONLYPOSITIVE "Positive" #define TR_FILTER "Filter" #define TR_TELEMETRYFULL "All telemetry slots full!" -#define TR_IGNOREIDS TR(INDENT "No inst.","Ignore instance") +#define TR_IGNORE_INSTANCE TR(INDENT "No inst.", INDENT "Ignore instances") +#define TR_DISCOVER_SENSORS INDENT "Discover new sensors" +#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery" +#define TR_DELETE_ALL_SENSORS INDENT "Delete all sensors" +#define TR_CONFIRMDELETE "Really delete all?" #define TR_MENU_INPUTS "\314Inputs" #define TR_MENU_LUA "\322Lua scripts" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 5567fd123..453989119 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -119,7 +119,7 @@ #define TR_VDISPLAYTRIMS "No\0 ""Change""Yes\0" #define LEN_VBEEPCOUNTDOWN "\006" -#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voz\0" +#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voz\0 Haptic" #define LEN_VVARIOCENTER "\006" #define TR_VVARIOCENTER "Tone\0 ""Silent" @@ -471,23 +471,17 @@ #define TR_ROTENC_SWITCHES #endif -#if defined(PCBTARANIS) && defined(REV9E) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301""SI\300""SI-""SI\301""SJ\300""SJ-""SJ\301""SK\300""SK-""SK\301""SL\300""SL-""SL\301""SM\300""SM-""SM\301""SN\300""SN-""SN\301""SO\300""SO-""SO\301""SP\300""SP-""SP\301""SQ\300""SQ-""SQ\301""SR\300""SR-""SR\301" -#elif defined(PCBTARANIS) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301" -#else +#if !defined(PCBTARANIS) #define TR_PHYS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" #endif +#define TR_ON_ONE_SWITCHES "ON\0""One" + #if defined(PCBTARANIS) - #if defined(REV9E) - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36""S41""S42""S43""S44""S45""S46" - #else - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36" - #endif - #define TR_VSWITCHES "---" TR_PHYS_SWITCHES TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" + // only special switches here + #define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES #else - #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" + #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES #endif #if defined(HELI) @@ -522,8 +516,8 @@ #define LEN_VFORMULAS "\010" #define TR_VFORMULAS "Add\0 ""Average\0""Min\0 ""Max\0 ""Multiply""Totalize""Cell\0 ""Consumpt""Distance" -#define LEN_VPREC "\005" -#define TR_VPREC "PREC0""PREC1""PREC2" +#define LEN_VPREC "\004" +#define TR_VPREC "0.--""0.0 ""0.00" #define LEN_VCELLINDEX "\007" #define TR_VCELLINDEX "Lowest\0""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Highest""Delta\0" @@ -806,6 +800,10 @@ #define TR_NO_MODELS_ON_SD "Sin Modelos en SD" #define TR_NO_BITMAPS_ON_SD "Sin imagenes en SD" #define TR_NO_SCRIPTS_ON_SD "No Scripts on SD" +#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error" +#define TR_SCRIPT_PANIC "Script panic" +#define TR_SCRIPT_KILLED "Script killed" +#define TR_SCRIPT_ERROR "Unknown error" #define TR_PLAY_FILE "Play" #define TR_DELETE_FILE "Borrar" #define TR_COPY_FILE "Copiar" @@ -903,6 +901,10 @@ #define TR_SMOOTH "Smooth" #define TR_COPY_STICKS_TO_OFS "Copy Sticks To Offset" #define TR_COPY_TRIMS_TO_OFS "Copy trims to subtrim" +#define TR_INCDEC "Inc/Decrement" +#define TR_GLOBALVAR "Global Var" +#define TR_MIXSOURCE "Mixer Source" +#define TR_CONSTANT "Constant" #define TR_PERSISTENT_MAH INDENT "Valor mAh" #define TR_PREFLIGHT "Preflight Checks" #define TR_CHECKLIST INDENT "Display Checklist" @@ -1028,12 +1030,16 @@ #define TR_ALTSENSOR "Alt sensor" #define TR_CELLSENSOR "Cell sensor" #define TR_GPSSENSOR "GPS sensor" -#define TR_CURRENTSENSOR "Current sensor" +#define TR_CURRENTSENSOR "Sensor" #define TR_AUTOOFFSET "Auto Offset" #define TR_ONLYPOSITIVE "Positive" #define TR_FILTER "Filter" #define TR_TELEMETRYFULL "All telemetry slots full!" -#define TR_IGNOREIDS INDENT "Ignore instance" +#define TR_IGNORE_INSTANCE INDENT "Ignore instance" +#define TR_DISCOVER_SENSORS INDENT "Discover new sensors" +#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery" +#define TR_DELETE_ALL_SENSORS INDENT "Delete all sensors" +#define TR_CONFIRMDELETE "Really delete all?" #define TR_MENU_INPUTS "\314Inputs" #define TR_MENU_LUA "\322Lua scripts" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 8edfeaa02..5971630bc 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -119,7 +119,7 @@ #define TR_VDISPLAYTRIMS "No\0 ""Change""Yes\0" #define LEN_VBEEPCOUNTDOWN "\006" -#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voice\0" +#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voice\0Haptic" #define LEN_VVARIOCENTER "\006" #define TR_VVARIOCENTER "Tone\0 ""Silent" @@ -471,23 +471,17 @@ #define TR_ROTENC_SWITCHES #endif -#if defined(PCBTARANIS) && defined(REV9E) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301""SI\300""SI-""SI\301""SJ\300""SJ-""SJ\301""SK\300""SK-""SK\301""SL\300""SL-""SL\301""SM\300""SM-""SM\301""SN\300""SN-""SN\301""SO\300""SO-""SO\301""SP\300""SP-""SP\301""SQ\300""SQ-""SQ\301""SR\300""SR-""SR\301" -#elif defined(PCBTARANIS) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301" -#else +#if !defined(PCBTARANIS) #define TR_PHYS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" #endif +#define TR_ON_ONE_SWITCHES "ON\0""One" + #if defined(PCBTARANIS) - #if defined(REV9E) - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36""S41""S42""S43""S44""S45""S46" - #else - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36" - #endif - #define TR_VSWITCHES "---" TR_PHYS_SWITCHES TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" + // only special switches here + #define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES #else - #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" + #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES #endif #if defined(HELI) @@ -522,8 +516,8 @@ #define LEN_VFORMULAS "\010" #define TR_VFORMULAS "Add\0 ""Average\0""Min\0 ""Max\0 ""Multiply""Totalize""Cell\0 ""Consumpt""Distance" -#define LEN_VPREC "\005" -#define TR_VPREC "PREC0""PREC1""PREC2" +#define LEN_VPREC "\004" +#define TR_VPREC "0.--""0.0 ""0.00" #define LEN_VCELLINDEX "\007" #define TR_VCELLINDEX "Lowest\0""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Highest""Delta\0" @@ -806,6 +800,10 @@ #define TR_NO_MODELS_ON_SD "No Models on SD" #define TR_NO_BITMAPS_ON_SD "No Bitmaps on SD" #define TR_NO_SCRIPTS_ON_SD "No Scripts on SD" +#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error" +#define TR_SCRIPT_PANIC "Script panic" +#define TR_SCRIPT_KILLED "Script killed" +#define TR_SCRIPT_ERROR "Unknown error" #define TR_PLAY_FILE "Play" #define TR_DELETE_FILE "Delete" #define TR_COPY_FILE "Copy" @@ -903,6 +901,10 @@ #define TR_SMOOTH "Smooth" #define TR_COPY_STICKS_TO_OFS "Copy Sticks To Offset" #define TR_COPY_TRIMS_TO_OFS "Copy trims to subtrim" +#define TR_INCDEC "Inc/Decrement" +#define TR_GLOBALVAR "Global Var" +#define TR_MIXSOURCE "Mixer Source" +#define TR_CONSTANT "Constant" #define TR_PERSISTENT_MAH INDENT "Store mAh" #define TR_PREFLIGHT "Preflight Checks" #define TR_CHECKLIST INDENT "Display Checklist" @@ -1028,12 +1030,16 @@ #define TR_ALTSENSOR "Alt sensor" #define TR_CELLSENSOR "Cell sensor" #define TR_GPSSENSOR "GPS sensor" -#define TR_CURRENTSENSOR "Current sensor" +#define TR_CURRENTSENSOR "Sensor" #define TR_AUTOOFFSET "Auto Offset" #define TR_ONLYPOSITIVE "Positive" #define TR_FILTER "Filter" #define TR_TELEMETRYFULL "All telemetry slots full!" -#define TR_IGNOREIDS INDENT "Ignore instance" +#define TR_IGNORE_INSTANCE INDENT "Ignore instance" +#define TR_DISCOVER_SENSORS INDENT "Discover new sensors" +#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery" +#define TR_DELETE_ALL_SENSORS INDENT "Delete all sensors" +#define TR_CONFIRMDELETE "Really delete all?" #define TR_MENU_INPUTS "\314Inputs" #define TR_MENU_LUA "\322Lua scripts" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index aef5876c9..205947a98 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -119,7 +119,7 @@ #define TR_VDISPLAYTRIMS "Non\0 ""Change""Oui\0" #define LEN_VBEEPCOUNTDOWN "\007" -#define TR_VBEEPCOUNTDOWN "Aucun\0 ""Bips\0 ""Voix\0 " +#define TR_VBEEPCOUNTDOWN "Aucun\0 ""Bips\0 ""Voix\0 Haptic\0" #define LEN_VVARIOCENTER "\006" #define TR_VVARIOCENTER "Tone\0 ""Silent" @@ -486,23 +486,17 @@ #define TR_ROTENC_SWITCHES #endif -#if defined(PCBTARANIS) && defined(REV9E) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301""SI\300""SI-""SI\301""SJ\300""SJ-""SJ\301""SK\300""SK-""SK\301""SL\300""SL-""SL\301""SM\300""SM-""SM\301""SN\300""SN-""SN\301""SO\300""SO-""SO\301""SP\300""SP-""SP\301""SQ\300""SQ-""SQ\301""SR\300""SR-""SR\301" -#elif defined(PCBTARANIS) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301" -#else +#if !defined(PCBTARANIS) #define TR_PHYS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" #endif +#define TR_ON_ONE_SWITCHES "ON\0""Un" + #if defined(PCBTARANIS) - #if defined(REV9E) - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36""S41""S42""S43""S44""S45""S46" - #else - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36" - #endif - #define TR_VSWITCHES "---" TR_PHYS_SWITCHES TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""Un" + // only special switches here + #define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES #else - #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""Un" + #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES #endif #if defined(HELI) @@ -513,7 +507,7 @@ #if defined(CPUARM) #define TR_RESERVE_VSRCRAW "[--]" - #define TR_EXTRA_VSRCRAW "Batt""Heur" TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW "Tmr1""Tmr2""Tmr3" + #define TR_EXTRA_VSRCRAW "Batt""H:M\0" TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW TR_RESERVE_VSRCRAW "Tmr1""Tmr2""Tmr3" #else #define TR_EXTRA_VSRCRAW #endif @@ -544,8 +538,8 @@ #define LEN_VFORMULAS "\010" #define TR_VFORMULAS "Addition""Moyenne\0""Min\0 ""Max\0 ""Multipl.""Totalise""Elément\0""Consomm.""Distance" -#define LEN_VPREC "\005" -#define TR_VPREC "PREC0""PREC1""PREC2" +#define LEN_VPREC "\004" +#define TR_VPREC "0.--""0.0 ""0.00" #define LEN_VCELLINDEX "\007" #define TR_VCELLINDEX "Mini.\0 ""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Maxi.\0 ""Diff.\0 " @@ -720,7 +714,7 @@ #define OFS_RX 4 #define TR_ACCEL "Acc:" #define TR_NODATA CENTER "NO DATA" -#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036000GAZ\037\146GZ%" +#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036GAZ\037\146GZ%" #define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us" #define STR_US (STR_TMR1LATMAXUS+13) #define TR_TMR1LATMINUS "Tmr1Lat min\037\124us" @@ -843,6 +837,10 @@ #define TR_NO_MODELS_ON_SD "Aucun modèle SD" #define TR_NO_BITMAPS_ON_SD "Aucun Bitmap SD" #define TR_NO_SCRIPTS_ON_SD "Aucun Script SD" +#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error" +#define TR_SCRIPT_PANIC "Script panic" +#define TR_SCRIPT_KILLED "Script killed" +#define TR_SCRIPT_ERROR "Unknown error" #define TR_PLAY_FILE "Lire" #define TR_DELETE_FILE "Supprimer" #define TR_COPY_FILE "Copier" @@ -940,6 +938,10 @@ #define TR_SMOOTH "Lissage" #define TR_COPY_STICKS_TO_OFS "Manche vers subtrim" #define TR_COPY_TRIMS_TO_OFS "Trim vers subtrim" +#define TR_INCDEC "Inc/Décrementer" +#define TR_GLOBALVAR "Var. Globale" +#define TR_MIXSOURCE "Source mixeur" +#define TR_CONSTANT "Constante" #define TR_PERSISTENT_MAH TR(INDENT "Enr. mAh", INDENT "Enregistrer mAh") #define TR_PREFLIGHT "Vérifications avant vol" #define TR_CHECKLIST TR(INDENT "Notes", INDENT "Afficher notes") @@ -951,7 +953,7 @@ #define TR_EEBACKUP "\004[ENTER Long]: Sauvegarder l'EEPROM" #define TR_FACTORYRESET "\016[MENU Long]: RAZ d'usine" #define TR_CONFIRMRESET "Effacer TOUS modèles/réglages?" -#define TR_TO_MANY_LUA_SCRIPTS "Too many Lua scripts!" +#define TR_TO_MANY_LUA_SCRIPTS "Trop de scripts lua!" #if defined(MAVLINK) #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "RSSI Max" @@ -1065,12 +1067,16 @@ #define TR_ALTSENSOR "Capteur Alt" #define TR_CELLSENSOR "Capteur Elém" #define TR_GPSSENSOR "Capteur GPS" -#define TR_CURRENTSENSOR "Capt courant" +#define TR_CURRENTSENSOR "Capteur" #define TR_AUTOOFFSET "Offset auto" #define TR_ONLYPOSITIVE "Positive" #define TR_FILTER "Filtrage" #define TR_TELEMETRYFULL "Plus de capteurs libres!" -#define TR_IGNOREIDS TR(INDENT "Ign. inst.",INDENT "Ignorer instance") +#define TR_IGNORE_INSTANCE TR(INDENT "Ign. inst.",INDENT "Ignorer instance") +#define TR_DISCOVER_SENSORS INDENT "Découvrir capteurs" +#define TR_STOP_DISCOVER_SENSORS INDENT "Terminer découverte" +#define TR_DELETE_ALL_SENSORS TR(INDENT "Suppr. tous capteurs",INDENT "Supprimer tous capteurs") +#define TR_CONFIRMDELETE TR("Tout effacer?","Vraiment tout effacer?") #define TR_MENU_INPUTS "\314Entrées" #define TR_MENU_LUA "\322Scripts Lua" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 3b9c64a3e..de460532e 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -122,7 +122,7 @@ #define TR_VDISPLAYTRIMS "No\0 ""Cambio""Si\0 " #define LEN_VBEEPCOUNTDOWN "\006" -#define TR_VBEEPCOUNTDOWN "NienteSuoni\0Voce\0 " +#define TR_VBEEPCOUNTDOWN "NienteSuoni\0Voce\0 Vibra\0" #define LEN_VVARIOCENTER "\006" #define TR_VVARIOCENTER "Tono\0 ""Silent" @@ -489,23 +489,17 @@ #define TR_ROTENC_SWITCHES #endif -#if defined(PCBTARANIS) && defined(REV9E) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301""SI\300""SI-""SI\301""SJ\300""SJ-""SJ\301""SK\300""SK-""SK\301""SL\300""SL-""SL\301""SM\300""SM-""SM\301""SN\300""SN-""SN\301""SO\300""SO-""SO\301""SP\300""SP-""SP\301""SQ\300""SQ-""SQ\301""SR\300""SR-""SR\301" -#elif defined(PCBTARANIS) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301" -#else +#if !defined(PCBTARANIS) #define TR_PHYS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" #endif +#define TR_ON_ONE_SWITCHES "ON\0""One" + #if defined(PCBTARANIS) - #if defined(REV9E) - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36""S41""S42""S43""S44""S45""S46" - #else - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36" - #endif - #define TR_VSWITCHES "---" TR_PHYS_SWITCHES TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" + // only special switches here + #define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES #else - #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" + #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES #endif #if defined(HELI) @@ -547,8 +541,8 @@ #define LEN_VFORMULAS "\011" #define TR_VFORMULAS "Somma\0 ""Media\0 ""Min\0 ""Max\0 ""Moltipl\0 ""Totalizza""Cella\0 ""Consumo\0 ""Distanza\0" -#define LEN_VPREC "\005" -#define TR_VPREC "PREC0""PREC1""PREC2" +#define LEN_VPREC "\004" +#define TR_VPREC "0.--""0.0 ""0.00" #define LEN_VCELLINDEX "\010" #define TR_VCELLINDEX "Minore\0 ""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Maggiore""Delta\0" @@ -622,8 +616,8 @@ #define TR_FADEIN "Diss.In" #define TR_FADEOUT "Diss.Out" #define TR_DEFAULT "(Predefinita)" -#define TR_CHECKTRIMS "\003Contr.\004Trim" -#define OFS_CHECKTRIMS (9*FW) +#define TR_CHECKTRIMS CENTER "\006Check\012Trims" +#define OFS_CHECKTRIMS CENTER_OFS+(9*FW) #define TR_SWASHTYPE "Tipo Ciclico" #define TR_COLLECTIVE TR("Collettivo","Origine Collettivo") #define TR_AILERON "Lateral cyc. source" @@ -854,6 +848,10 @@ #define TR_NO_MODELS_ON_SD "No Model. su SD" #define TR_NO_BITMAPS_ON_SD "No Immag. su SD" #define TR_NO_SCRIPTS_ON_SD "No Scripts su SD" +#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error" +#define TR_SCRIPT_PANIC "Script panic" +#define TR_SCRIPT_KILLED "Script killed" +#define TR_SCRIPT_ERROR "Unknown error" #define TR_PLAY_FILE "Suona" #define TR_DELETE_FILE "Elimina" #define TR_COPY_FILE "Copia" @@ -951,6 +949,10 @@ #define TR_SMOOTH "Smussa" #define TR_COPY_STICKS_TO_OFS "Copia Stick su Offset" #define TR_COPY_TRIMS_TO_OFS "Copia Trim in Subtrim" +#define TR_INCDEC "Inc/Decrement" +#define TR_GLOBALVAR "Global Var" +#define TR_MIXSOURCE "Mixer Source" +#define TR_CONSTANT "Constant" #define TR_PERSISTENT_MAH INDENT "Memo mAh" #define TR_PREFLIGHT "Controlli Prevolo" #define TR_CHECKLIST INDENT "Mostra Checklist" @@ -1076,12 +1078,16 @@ #define TR_ALTSENSOR "Sensore Alt" #define TR_CELLSENSOR "Sensore Cell" #define TR_GPSSENSOR "Sensore GPS" -#define TR_CURRENTSENSOR "Sensore Currente" +#define TR_CURRENTSENSOR "Sensore" #define TR_AUTOOFFSET "Auto Offset" #define TR_ONLYPOSITIVE "Positivo" #define TR_FILTER "Filtro" #define TR_TELEMETRYFULL "Tutti gli slot sono pieni!" -#define TR_IGNOREIDS TR(INDENT "No inst.","Ignora instanza") +#define TR_IGNORE_INSTANCE TR(INDENT "No inst.","Ignora instanza") +#define TR_DISCOVER_SENSORS INDENT "Cerca nuovi sensori" +#define TR_STOP_DISCOVER_SENSORS INDENT "Ferma ricerca.." +#define TR_DELETE_ALL_SENSORS INDENT "Elimina tutti i sensori" +#define TR_CONFIRMDELETE "Confermi eliminazione?" #define TR_MENU_INPUTS "\314Ingressi" #define TR_MENU_LUA "\322Lua scripts" diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt old mode 100755 new mode 100644 index c1d9bc433..737f51d07 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -122,7 +122,7 @@ #define TR_VDISPLAYTRIMS "Nee\0 ""Kort\0 ""Ja\0 " #define LEN_VBEEPCOUNTDOWN "\006" -#define TR_VBEEPCOUNTDOWN "StilteBeeps\0Spraak" +#define TR_VBEEPCOUNTDOWN "StilteBeeps\0SpraakTril\0 " #define LEN_VVARIOCENTER "\006" #define TR_VVARIOCENTER "Tonen\0""Stilte" @@ -319,22 +319,22 @@ #endif #if ROTARY_ENCODERS == 2 - #define TR_FSW_RESET_ROTENC TR("REa\0""REb\0", "RotEnc A\0""RotEnc B\0") + #define TR_FSW_RESET_ROTENC TR("REa\0""REb\0", "RotEnc A\0 ""RotEnc B\0 ") #elif ROTARY_ENCODERS == 1 - #define TR_FSW_RESET_ROTENC TR("R.E.", "RotEnc\0 ") + #define TR_FSW_RESET_ROTENC TR("R.E.", "RotEnc\0 ") #else #define TR_FSW_RESET_ROTENC #endif #if LCD_W >= 212 - #define TR_FSW_RESET_TIMERS "Timer 1\0 ""Timer 2\0 ""Timer 3\0 " + #define TR_FSW_RESET_TIMERS "Timer 1\0 ""Timer 2\0 ""Timer 3\0 " #elif defined(CPUARM) #define TR_FSW_RESET_TIMERS "Tmr1""Tmr2""Tmr3" #else #define TR_FSW_RESET_TIMERS "Tmr1""Tmr2" #endif -#define TR_VFSWRESET TR(TR_FSW_RESET_TIMERS "All\0" TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC, TR_FSW_RESET_TIMERS "Flight\0 " TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC) +#define TR_VFSWRESET TR(TR_FSW_RESET_TIMERS "All\0" TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC, TR_FSW_RESET_TIMERS "Vliegdata\0" TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC) #define LEN_FUNCSOUNDS TR("\004", "\006") #define TR_FUNCSOUNDS TR("Bp1\0""Bp2\0""Bp3\0""Wrn1""Wrn2""Chee""Rata""Tick""Sirn""Ring""SciF""Robt""Chrp""Tada""Crck""Alrm", "Beep1 ""Beep2 ""Beep3 ""Warn1 ""Warn2 ""Cheep ""Ratata""Tick ""Siren ""Ring ""SciFi ""Robot ""Chirp ""Tada ""Crickt""AlmClk") @@ -489,23 +489,27 @@ #define TR_ROTENC_SWITCHES #endif -#if defined(PCBTARANIS) && defined(REV9E) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301""SI\300""SI-""SI\301""SJ\300""SJ-""SJ\301""SK\300""SK-""SK\301""SL\300""SL-""SL\301""SM\300""SM-""SM\301""SN\300""SN-""SN\301""SO\300""SO-""SO\301""SP\300""SP-""SP\301""SQ\300""SQ-""SQ\301""SR\300""SR-""SR\301" -#elif defined(PCBTARANIS) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301" -#else + + +#if !defined(PCBTARANIS) + + #define TR_PHYS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" #endif +#define TR_ON_ONE_SWITCHES "ON\0""One" + #if defined(PCBTARANIS) - #if defined(REV9E) - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36""S41""S42""S43""S44""S45""S46" - #else - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36" - #endif - #define TR_VSWITCHES "---" TR_PHYS_SWITCHES TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" + // only special switches here + #define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES + + #else - #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" + + + + + #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES #endif #if defined(HELI) @@ -545,7 +549,8 @@ #define TR_VSENSORTYPES "Custom\0 ""Berekend" #define LEN_VFORMULAS "\014" -#define TR_VFORMULAS "Optellen\0 ""Gemiddeld\0 ""Min\0 ""Max\0 ""Vermenigvuld""Totaal\0 ""Cellen\0 ""Verbruik\0 ""Afstand\0 " +#define TR_VFORMULAS "Optellen\0 ""Gemiddeld\0 ""Min\0 ""Max\0 ""Vermenigvuld""Totaal\0 ""Cellen\0 ""Verbruik\0 ""Afstand\0 " + #define LEN_VPREC "\004" // "\005" Prec0 Prec1 Prec2 @@ -862,6 +867,10 @@ #define TR_NO_MODELS_ON_SD "Geen Modellen" BREAKSPACE "op SD" #define TR_NO_BITMAPS_ON_SD "Geen Bitmaps" BREAKSPACE "op SD" #define TR_NO_SCRIPTS_ON_SD "Geen Scripts" BREAKSPACE "op SD" +#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error" +#define TR_SCRIPT_PANIC "Script panic" +#define TR_SCRIPT_KILLED "Script killed" +#define TR_SCRIPT_ERROR "Unknown error" #define TR_PLAY_FILE "Speel af" #define TR_DELETE_FILE "Verwijderen" #define TR_COPY_FILE "Kopieer" @@ -956,9 +965,13 @@ #define TR_COUNT "Punten" #define TR_PT "Pt" #define TR_PTS "Ptn" -#define TR_SMOOTH "Afronden" +#define TR_SMOOTH "Zacht" #define TR_COPY_STICKS_TO_OFS "Kopieer Sticks naar Subtrim" #define TR_COPY_TRIMS_TO_OFS "Kopieer Trim naar Subtrim" +#define TR_INCDEC "Inc/Decrement" +#define TR_GLOBALVAR "Globale Var" +#define TR_MIXSOURCE "Mixer Bron" +#define TR_CONSTANT "Constant" #define TR_PERSISTENT_MAH TR(INDENT "Str mAh", INDENT "Vasthouden mAh") #define TR_PREFLIGHT "Preflight Checks" #define TR_CHECKLIST TR(INDENT "Checklist", INDENT "Display Checklist") @@ -1089,7 +1102,11 @@ #define TR_ONLYPOSITIVE "Geen Negatief" #define TR_FILTER "Filter aktief" #define TR_TELEMETRYFULL "Telemetrie slots vol!" -#define TR_IGNOREIDS TR(INDENT "Neg. ID ","Negeer ID's") +#define TR_IGNORE_INSTANCE TR(INDENT "Neg. ID ","Negeer ID's") +#define TR_DISCOVER_SENSORS INDENT "Ontdek nieuwe sensors" +#define TR_STOP_DISCOVER_SENSORS INDENT "Stop ontdekking" +#define TR_DELETE_ALL_SENSORS INDENT "Wis alle sensors" +#define TR_CONFIRMDELETE "Echt alles wissen?" #define TR_MENU_INPUTS "\314Inputs" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index c1755638a..8e08b12a3 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -123,7 +123,7 @@ #define TR_VDISPLAYTRIMS "Nie\0 ""Zmień\0""Tak\0" #define LEN_VBEEPCOUNTDOWN "\006" -#define TR_VBEEPCOUNTDOWN "Cichy Pik \0Dźwięk" +#define TR_VBEEPCOUNTDOWN "Cichy Pik \0DźwiękWibrac" #define LEN_VVARIOCENTER "\006" #define TR_VVARIOCENTER "Ton\0 ""Cicho " @@ -490,23 +490,17 @@ #define TR_ROTENC_SWITCHES #endif -#if defined(PCBTARANIS) && defined(REV9E) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301""SI\300""SI-""SI\301""SJ\300""SJ-""SJ\301""SK\300""SK-""SK\301""SL\300""SL-""SL\301""SM\300""SM-""SM\301""SN\300""SN-""SN\301""SO\300""SO-""SO\301""SP\300""SP-""SP\301""SQ\300""SQ-""SQ\301""SR\300""SR-""SR\301" -#elif defined(PCBTARANIS) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301" -#else +#if !defined(PCBTARANIS) #define TR_PHYS_SWITCHES "GAZ""SK ""SW ""LOT""GEA""TRN" #endif +#define TR_ON_ONE_SWITCHES "ON\0""One" + #if defined(PCBTARANIS) - #if defined(REV9E) - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36""S41""S42""S43""S44""S45""S46" - #else - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36" - #endif - #define TR_VSWITCHES "---" TR_PHYS_SWITCHES TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" + // only special switches here + #define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES #else - #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" + #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES #endif #if defined(HELI) @@ -548,8 +542,8 @@ #define LEN_VFORMULAS "\010" /*8 decimal*/ #define TR_VFORMULAS "Dodaj\0 ""Średnie\0""Min\0 ""Max\0 ""Mnóż\0 ""Zliczani""Komórka\0""Zużycie\0""Zasięg\0 " -#define LEN_VPREC "\005" -#define TR_VPREC "PREC0""PREC1""PREC2" +#define LEN_VPREC "\004" +#define TR_VPREC "0.--""0.0 ""0.00" #define LEN_VCELLINDEX "\007" #define TR_VCELLINDEX "Niskie\0""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Wysokie""Delta\0" @@ -855,6 +849,10 @@ #define TR_NO_MODELS_ON_SD "Brak modelu na SD" #define TR_NO_BITMAPS_ON_SD "Brak obrazków na SD" #define TR_NO_SCRIPTS_ON_SD "Brak skryptów na SD" +#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error" +#define TR_SCRIPT_PANIC "Script panic" +#define TR_SCRIPT_KILLED "Script killed" +#define TR_SCRIPT_ERROR "Unknown error" #define TR_PLAY_FILE "Odtwórz" #define TR_DELETE_FILE "Skasuj" #define TR_COPY_FILE "Kopiuj" @@ -952,6 +950,10 @@ #define TR_SMOOTH "Gładka" #define TR_COPY_STICKS_TO_OFS "Skopiuj Drążki Do Offsetu" #define TR_COPY_TRIMS_TO_OFS "Skopiuj Trymery Do subtrymerów" +#define TR_INCDEC "Zwiększ/Zmnie" +#define TR_GLOBALVAR "Zm.Global." +#define TR_MIXSOURCE "Źródło Miks." +#define TR_CONSTANT "Stala " #define TR_PERSISTENT_MAH TR(INDENT "Zap. mAh", INDENT "Zapisz mAh") #define TR_PREFLIGHT "Lista Ostrzeżeń" #define TR_CHECKLIST TR(INDENT "Czeklista",INDENT "Pokaż Listę Ostrzeżeń") @@ -1077,12 +1079,16 @@ #define TR_ALTSENSOR "Alt sensor" #define TR_CELLSENSOR "Cell sensor" #define TR_GPSSENSOR "GPS sensor" -#define TR_CURRENTSENSOR "Curr. sensor" +#define TR_CURRENTSENSOR "Sensor" #define TR_AUTOOFFSET "Auto Ofset" #define TR_ONLYPOSITIVE "Dodatni" #define TR_FILTER "Filtr" #define TR_TELEMETRYFULL "Wszyskie miejsca zajęte!" -#define TR_IGNOREIDS INDENT "Ignoruj przypadek" +#define TR_IGNORE_INSTANCE INDENT "Ignoruj przypadek" +#define TR_DISCOVER_SENSORS INDENT "Znajdź nowe czujniki" +#define TR_STOP_DISCOVER_SENSORS INDENT "Szukanie STOP " +#define TR_DELETE_ALL_SENSORS INDENT "Usuń czujniki " +#define TR_CONFIRMDELETE "Usunąć wszystkie ?" #define TR_MENU_INPUTS "\314Wejści" #define TR_MENU_LUA "\322SkryptyLUA" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index a965d1e30..f43e8bb85 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -119,7 +119,7 @@ #define TR_VDISPLAYTRIMS "No\0 ""Change""Yes\0" #define LEN_VBEEPCOUNTDOWN "\006" -#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voice\0" +#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voice\0Haptic" #define LEN_VVARIOCENTER "\006" #define TR_VVARIOCENTER "Tone\0 ""Silent" @@ -471,23 +471,17 @@ #define TR_ROTENC_SWITCHES #endif -#if defined(PCBTARANIS) && defined(REV9E) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301""SI\300""SI-""SI\301""SJ\300""SJ-""SJ\301""SK\300""SK-""SK\301""SL\300""SL-""SL\301""SM\300""SM-""SM\301""SN\300""SN-""SN\301""SO\300""SO-""SO\301""SP\300""SP-""SP\301""SQ\300""SQ-""SQ\301""SR\300""SR-""SR\301" -#elif defined(PCBTARANIS) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301" -#else +#if !defined(PCBTARANIS) #define TR_PHYS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" #endif +#define TR_ON_ONE_SWITCHES "ON\0""One" + #if defined(PCBTARANIS) - #if defined(REV9E) - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36""S41""S42""S43""S44""S45""S46" - #else - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36" - #endif - #define TR_VSWITCHES "---" TR_PHYS_SWITCHES TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" + // only special switches here + #define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES #else - #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" + #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES #endif #if defined(HELI) @@ -806,6 +800,10 @@ #define TR_NO_MODELS_ON_SD "Sem Modelo no SD" #define TR_NO_BITMAPS_ON_SD "No Bitmaps on SD" #define TR_NO_SCRIPTS_ON_SD "No Scripts on SD" +#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error" +#define TR_SCRIPT_PANIC "Script panic" +#define TR_SCRIPT_KILLED "Script killed" +#define TR_SCRIPT_ERROR "Unknown error" #define TR_PLAY_FILE "Play" #define TR_DELETE_FILE "Apagar" #define TR_COPY_FILE "Copiar" @@ -903,6 +901,10 @@ #define TR_SMOOTH "Smooth" #define TR_COPY_STICKS_TO_OFS "Copy Sticks To Offset" #define TR_COPY_TRIMS_TO_OFS "Copy trims to subtrim" +#define TR_INCDEC "Inc/Decrement" +#define TR_GLOBALVAR "Global Var" +#define TR_MIXSOURCE "Mixer Source" +#define TR_CONSTANT "Constant" #define TR_PERSISTENT_MAH INDENT "Store mAh" #define TR_PREFLIGHT "Preflight Checks" #define TR_CHECKLIST INDENT "Display Checklist" @@ -1028,12 +1030,16 @@ #define TR_ALTSENSOR "Alt sensor" #define TR_CELLSENSOR "Cell sensor" #define TR_GPSSENSOR "GPS sensor" -#define TR_CURRENTSENSOR "Current sensor" +#define TR_CURRENTSENSOR "Sensor" #define TR_AUTOOFFSET "Auto Offset" #define TR_ONLYPOSITIVE "Positive" #define TR_FILTER "Filter" #define TR_TELEMETRYFULL "All telemetry slots full!" -#define TR_IGNOREIDS INDENT "Ignore instance" +#define TR_IGNORE_INSTANCE INDENT "Ignore instance" +#define TR_DISCOVER_SENSORS INDENT "Discover new sensors" +#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery" +#define TR_DELETE_ALL_SENSORS INDENT "Delete all sensors" +#define TR_CONFIRMDELETE "Really delete all?" #define TR_MENU_INPUTS "\314Inputs" #define TR_MENU_LUA "\322Lua scripts" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 3655b6ffc..e5ff44a7a 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -119,7 +119,7 @@ #define TR_VDISPLAYTRIMS "No\0 ""Change""Yes\0" #define LEN_VBEEPCOUNTDOWN "\006" -#define TR_VBEEPCOUNTDOWN "Tyst\0 Pip\0 Röst\0 " +#define TR_VBEEPCOUNTDOWN "Tyst\0 Pip\0 Röst\0 Haptic" #define LEN_VVARIOCENTER "\006" #define TR_VVARIOCENTER "Tone\0 ""Silent" @@ -471,23 +471,17 @@ #define TR_ROTENC_SWITCHES #endif -#if defined(PCBTARANIS) && defined(REV9E) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301""SI\300""SI-""SI\301""SJ\300""SJ-""SJ\301""SK\300""SK-""SK\301""SL\300""SL-""SL\301""SM\300""SM-""SM\301""SN\300""SN-""SN\301""SO\300""SO-""SO\301""SP\300""SP-""SP\301""SQ\300""SQ-""SQ\301""SR\300""SR-""SR\301" -#elif defined(PCBTARANIS) - #define TR_PHYS_SWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF-""SF\301""SG\300""SG-""SG\301""SH\300""SH-""SH\301" -#else +#if !defined(PCBTARANIS) #define TR_PHYS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" #endif +#define TR_ON_ONE_SWITCHES "ON\0""One" + #if defined(PCBTARANIS) - #if defined(REV9E) - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36""S41""S42""S43""S44""S45""S46" - #else - #define TR_6POS_POTS "S11""S12""S13""S14""S15""S16""S21""S22""S23""S24""S25""S26""S31""S32""S33""S34""S35""S36" - #endif - #define TR_VSWITCHES "---" TR_PHYS_SWITCHES TR_6POS_POTS TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" + // only special switches here + #define TR_VSWITCHES "---" TR_TRIMS_SWITCHES TR_ON_ONE_SWITCHES #else - #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW "ON\0""One" + #define TR_VSWITCHES "---" TR_9X_3POS_SWITCHES TR_PHYS_SWITCHES TR_TRIMS_SWITCHES TR_ROTENC_SWITCHES TR_LOGICALSW TR_ON_ONE_SWITCHES #endif #if defined(HELI) @@ -522,8 +516,8 @@ #define LEN_VFORMULAS "\010" #define TR_VFORMULAS "Add\0 ""Average\0""Min\0 ""Max\0 ""Multiply""Totalize""Cell\0 ""Consumpt""Distance" -#define LEN_VPREC "\005" -#define TR_VPREC "PREC0""PREC1""PREC2" +#define LEN_VPREC "\004" +#define TR_VPREC "0.--""0.0 ""0.00" #define LEN_VCELLINDEX "\007" #define TR_VCELLINDEX "Lowest\0""1\0 ""2\0 ""3\0 ""4\0 ""5\0 ""6\0 ""Highest""Delta\0" @@ -806,6 +800,10 @@ #define TR_NO_MODELS_ON_SD "Ingen modell i SD" #define TR_NO_BITMAPS_ON_SD "Ikoner saknas på SD" #define TR_NO_SCRIPTS_ON_SD "Programkod saknas på SD" +#define TR_SCRIPT_SYNTAX_ERROR "Script syntax error" +#define TR_SCRIPT_PANIC "Script panic" +#define TR_SCRIPT_KILLED "Script killed" +#define TR_SCRIPT_ERROR "Unknown error" #define TR_PLAY_FILE "Spela" #define TR_DELETE_FILE "Radera" #define TR_COPY_FILE "Kopia" @@ -903,6 +901,10 @@ #define TR_SMOOTH "Mjuk" #define TR_COPY_STICKS_TO_OFS "Spara spakar som offset" #define TR_COPY_TRIMS_TO_OFS "Spara trimmar som offset" +#define TR_INCDEC "Inc/Decrement" +#define TR_GLOBALVAR "Global Var" +#define TR_MIXSOURCE "Mixer Source" +#define TR_CONSTANT "Constant" #define TR_PERSISTENT_MAH INDENT "Lagra mAh" #define TR_PREFLIGHT "Startkontroller" #define TR_CHECKLIST TR(INDENT "Checklista", INDENT "Visa Checklista") @@ -1028,12 +1030,16 @@ #define TR_ALTSENSOR "Alt sensor" #define TR_CELLSENSOR "Cell sensor" #define TR_GPSSENSOR "GPS sensor" -#define TR_CURRENTSENSOR "Current sensor" +#define TR_CURRENTSENSOR "Sensor" #define TR_AUTOOFFSET "Auto Offset" #define TR_ONLYPOSITIVE "Positive" #define TR_FILTER "Filter" #define TR_TELEMETRYFULL "All telemetry slots full!" -#define TR_IGNOREIDS INDENT "Ignore instance" +#define TR_IGNORE_INSTANCE INDENT "Ignore instance" +#define TR_DISCOVER_SENSORS INDENT "Discover new sensors" +#define TR_STOP_DISCOVER_SENSORS INDENT "Stop discovery" +#define TR_DELETE_ALL_SENSORS INDENT "Delete all sensors" +#define TR_CONFIRMDELETE "Really delete all?" #define TR_MENU_INPUTS "\314Inputs" #define TR_MENU_LUA "\322Lua scripts" diff --git a/radio/src/translations/tts_nl.cpp b/radio/src/translations/tts_nl.cpp old mode 100755 new mode 100644 diff --git a/radio/src/translations/tts_pl.cpp b/radio/src/translations/tts_pl.cpp index b605552fa..24743d0ac 100644 --- a/radio/src/translations/tts_pl.cpp +++ b/radio/src/translations/tts_pl.cpp @@ -88,7 +88,7 @@ I18N_PLAY_FUNCTION(pl, pushUnitPrompt, int16_t number, uint8_t unitprompt) test_2 =number % 10; int ten=0; ten=(number - (number % 10))/10; - if ((test_2 > 1 && test_2 < 5) && ten >2) + if ((test_2 > 1 && test_2 < 5) && ten >=2) PUSH_NUMBER_PROMPT(unitprompt+1); else PUSH_NUMBER_PROMPT(unitprompt+2); @@ -149,11 +149,22 @@ I18N_PLAY_FUNCTION(pl, playNumber, getvalue_t number, uint8_t unit, uint8_t att) switch(unit) { case 0: break; +// ft/s + case 6: +// mph + case 8: +// feet case 10: - case 13: - case 15: - case 16: - case 17: +//mAh + case 14: +//flOz + case 21: +//Hours + case 22: +//Minutes + case 23: +//Seconds + case 24: att = ZENSKI; break; case 100: @@ -186,10 +197,14 @@ I18N_PLAY_FUNCTION(pl, playNumber, getvalue_t number, uint8_t unit, uint8_t att) if (number >= 1000) { if (number >= 2000) PLAY_NUMBER(number / 1000, 0, 0); + if (number >= 2000 && number < 5000) PUSH_NUMBER_PROMPT(PL_PROMPT_TYSIACE); - else + else if (number >= 5000) + PUSH_NUMBER_PROMPT(PL_PROMPT_TYSIECY); + else PUSH_NUMBER_PROMPT(PL_PROMPT_TYSIAC); + number %= 1000; if (number == 0) number = -1; @@ -230,17 +245,17 @@ I18N_PLAY_FUNCTION(pl, playDuration, int seconds PLAY_DURATION_ATT) uint8_t tmp = seconds / 3600; seconds %= 3600; if (tmp > 0 || IS_PLAY_TIME()) { - PLAY_NUMBER(tmp, UNIT_HOURS+1, ZENSKI); + PLAY_NUMBER(tmp, UNIT_HOURS, ZENSKI); } tmp = seconds / 60; seconds %= 60; if (tmp > 0) { - PLAY_NUMBER(tmp, UNIT_MINUTES+1, ZENSKI); + PLAY_NUMBER(tmp, UNIT_MINUTES, ZENSKI); } if (seconds > 0) { - PLAY_NUMBER(seconds, UNIT_SECONDS+1, ZENSKI); + PLAY_NUMBER(seconds, UNIT_SECONDS, ZENSKI); } } diff --git a/radio/util/.gitignore b/radio/util/.gitignore old mode 100755 new mode 100644 diff --git a/radio/util/add-issue-links.py b/radio/util/add-issue-links.py new file mode 100755 index 000000000..e66ad56a7 --- /dev/null +++ b/radio/util/add-issue-links.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + + +import sys +import os +import traceback +import time +import re +import re + + +if len(sys.argv) > 1: + inputFile = sys.argv[1] + inp = open(inputFile, "r") +else: + inp = sys.stdin + +pattern = re.compile("#\d+") +while True: + skip = False + line = inp.readline() + if len(line) == 0: + break + line = line.strip('\r\n') + + if len(line) == 0: + skip = True + if line.startswith("<"): + skip = True + if line.startswith("["): + skip = True + + if not skip: + #line = line.strip() + #print "line: %s" % line + found = re.findall(pattern, line) + if len(found) > 0: + for issue in found: + line = line.replace(issue, '') + #add issues + issue_links = ["#%d" % (int(issue[1:]), int(issue[1:])) for issue in found] + links = "(" + ", ".join(issue_links) + ")" + line = "
  • " + line + " " + links + "
  • " + + print line + + +inp.close() +sys.exit(0) diff --git a/radio/util/addtr.py b/radio/util/addtr.py old mode 100644 new mode 100755 diff --git a/radio/util/bin2lbm.py b/radio/util/bin2lbm.py old mode 100644 new mode 100755 diff --git a/radio/util/codecs.py b/radio/util/codecs.py old mode 100644 new mode 100755 diff --git a/radio/util/commit-tests.sh b/radio/util/commit-tests.sh new file mode 100755 index 000000000..081f19942 --- /dev/null +++ b/radio/util/commit-tests.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +# Stops on first error, echo on +set -e +set -x + +cd radio/src/ + +# OpenTX on 9X stock +make clean +make PCB=9X EXT=FRSKY HELI=YES +make simu PCB=9X EXT=FRSKY HELI=YES +make gtests EXT=FRSKY HELI=YES +./gtests + +# OpenTX on 9X stock with MAVLINK +make clean +make PCB=9X EXT=MAVLINK HELI=YES + +# OpenTX on Taranis X9E +make clean +make PCB=TARANIS PCBREV=REV9E HELI=YES GVARS=YES LUA=YES WARNINGS_AS_ERRORS=YES +make simu PCB=TARANIS PCBREV=REV9E HELI=YES GVARS=YES LUA=YES WARNINGS_AS_ERRORS=YES +make gtests PCB=TARANIS PCBREV=REV9E HELI=YES GVARS=YES LUA=YES WARNINGS_AS_ERRORS=YES +./gtests + +# OpenTX on Taranis Plus +make clean +make PCB=TARANIS PCBREV=REVPLUS HELI=YES LUA=YES WARNINGS_AS_ERRORS=YES +make simu PCB=TARANIS PCBREV=REVPLUS HELI=YES LUA=YES WARNINGS_AS_ERRORS=YES +make gtests PCB=TARANIS PCBREV=REVPLUS HELI=YES LUA=YES WARNINGS_AS_ERRORS=YES +./gtests + +# OpenTX on Taranis +make clean +make PCB=TARANIS HELI=YES LUA=YES WARNINGS_AS_ERRORS=YES +make simu PCB=TARANIS HELI=YES LUA=YES WARNINGS_AS_ERRORS=YES +make gtests PCB=TARANIS HELI=YES LUA=YES WARNINGS_AS_ERRORS=YES +./gtests + +# OpenTX on Sky9x +make clean +make PCB=SKY9X HELI=YES WARNINGS_AS_ERRORS=YES +make simu PCB=SKY9X HELI=YES WARNINGS_AS_ERRORS=YES +make gtests PCB=SKY9X HELI=YES WARNINGS_AS_ERRORS=YES +./gtests + +# OpenTX on Gruvin9x +make clean +make PCB=GRUVIN9X EXT=FRSKY SDCARD=YES +make simu PCB=GRUVIN9X EXT=FRSKY SDCARD=YES + +# OpenTX on MEGA2560 +make clean +make PCB=MEGA2560 + +# OpenTX on MEGA2560 with MAVLINK +make clean +make PCB=MEGA2560 EXT=MAVLINK diff --git a/radio/util/compile.py b/radio/util/compile.py old mode 100644 new mode 100755 diff --git a/radio/util/copyright-header.txt b/radio/util/copyright-header.txt old mode 100755 new mode 100644 diff --git a/radio/util/dsm2.py b/radio/util/dsm2.py old mode 100644 new mode 100755 diff --git a/radio/util/img2lbm.py b/radio/util/img2lbm.py old mode 100644 new mode 100755 diff --git a/radio/util/luaexport.py b/radio/util/luaexport.py old mode 100644 new mode 100755 diff --git a/radio/util/parse.py b/radio/util/parse.py old mode 100644 new mode 100755 diff --git a/radio/util/sinus.py b/radio/util/sinus.py old mode 100644 new mode 100755 diff --git a/radio/util/translate.py b/radio/util/translate.py old mode 100644 new mode 100755 diff --git a/radio/util/tts.py b/radio/util/tts.py old mode 100644 new mode 100755 index 46d35178e..d8eecfc81 --- a/radio/util/tts.py +++ b/radio/util/tts.py @@ -263,7 +263,9 @@ def ttsFr(): # systemSounds.append((s, filename(PROMPT_SYSTEM_BASE+146+i))) for i, s in enumerate(["virgule 0", "virgule 1", "virgule 2", "virgule 3", "virgule 4", "virgule 5", "virgule 6", "virgule 7", "virgule 8", "virgule 9"]): systemSounds.append((s, filename(PROMPT_SYSTEM_BASE+180+i))) - for s, f, a in [(u"Batterie radio faible !", "lowbatt", 485), + for s, f, a in [(u"Trim centré", "midtrim", 495), + (u"Trim maximum atteint", "endtrim", NO_ALTERNATE), + (u"Batterie radio faible !", "lowbatt", 485), (u"Radio inactive !", "inactiv", 486), (u"Alerte manche des gaz", "thralert", 481), (u"Alerte inters", "swalert", 482), diff --git a/radio/util/uncrustify.cfg b/radio/util/uncrustify.cfg old mode 100755 new mode 100644 diff --git a/radio/wizard/delta.lua b/radio/wizard/delta.lua old mode 100755 new mode 100644 diff --git a/radio/wizard/multi.lua b/radio/wizard/multi.lua old mode 100755 new mode 100644 diff --git a/radio/wizard/plane.lua b/radio/wizard/plane.lua old mode 100755 new mode 100644 diff --git a/radio/wizard/wizard.lua b/radio/wizard/wizard.lua old mode 100755 new mode 100644
    " + tr("CV%1").arg(i+1) + ""); COMPARE(modelPrinter->printCurve(i)); for (int k=0; k").arg(modelPrinters[k]->createCurveImage(i))); + columns.append(k, QString("
    ").arg(modelPrinters[k]->createCurveImage(i, document))); columns.append("