From 5ec77c6daef26140fe2b541f782748bf9040dc9d Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Sun, 8 Jun 2014 08:02:53 +0200 Subject: [PATCH 01/80] Update DONATIONS.txt --- DONATIONS.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DONATIONS.txt b/DONATIONS.txt index ad3ac28db..889e58c9f 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -278,7 +278,7 @@ Josep Clodas Sola Thierry Martin Peter Mauro Mitchell Brenner -Ulach Green +Yak Lluis Bullich Rañe Steffen Rohr Eric Jacquin From b8ca14c921baaf52d97f35033ab5d2b9766f0939 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Sun, 8 Jun 2014 08:04:23 +0200 Subject: [PATCH 02/80] Update DONATIONS.txt --- DONATIONS.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index 889e58c9f..e939733c3 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -436,3 +436,5 @@ Axel Stöckle Mike Perkins Erwin Störrle Rodger Hopper +Fernando Cesar +Jonathan Gillis From b93036c81d50f7ac444496ed77161f063cb0caa9 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Sun, 8 Jun 2014 10:58:18 +0200 Subject: [PATCH 03/80] Update DONATIONS.txt --- DONATIONS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index e939733c3..ae6b4858a 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -438,3 +438,4 @@ Erwin Störrle Rodger Hopper Fernando Cesar Jonathan Gillis +DK-System From 2248c84b8f9873ea1f95f621ea7c0c8d5614b4c8 Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Sun, 8 Jun 2014 16:33:34 +0200 Subject: [PATCH 04/80] Added error string to output, to help resolving issue #1217 --- companion/src/avroutputdialog.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/companion/src/avroutputdialog.cpp b/companion/src/avroutputdialog.cpp index ea60109ea..b1b6827c0 100644 --- a/companion/src/avroutputdialog.cpp +++ b/companion/src/avroutputdialog.cpp @@ -159,11 +159,11 @@ void avrOutputDialog::doCopy() dest.close(); } else { - QMessageBox::warning(this, tr("Error"),tr("Cannot write destination")); + QMessageBox::warning(this, tr("Error"),tr("Cannot write destination") + ": " + dest.errorString()); } } else { - QMessageBox::warning(this, tr("Error"),tr("Cannot open source file")); + QMessageBox::warning(this, tr("Error"),tr("Cannot open source file") + ": " + source.errorString()); } source.close(); From 04897885dd8732ca1e1a55b4f95b76b6d0cb4c60 Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Sun, 8 Jun 2014 17:11:14 +0200 Subject: [PATCH 05/80] Fixes #1209 --- companion/src/mainwindow.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp index bd9a465d1..c3488e296 100644 --- a/companion/src/mainwindow.cpp +++ b/companion/src/mainwindow.cpp @@ -1428,6 +1428,7 @@ void MainWindow::compare() void MainWindow::logFile() { logsDialog *fd = new logsDialog(this); + fd->setWindowFlags(Qt::Window); //to show minimize an maximize buttons fd->setAttribute(Qt::WA_DeleteOnClose, true); fd->show(); } From f865bdf7859e3d6c28123e37484dceb323a2c4e6 Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Sun, 8 Jun 2014 17:18:50 +0200 Subject: [PATCH 06/80] Changed order of context menu for logical switches and custom functions. Before this change the Delete option was first and it was too easy to inadvertently delete an item. --- companion/src/modeledit/customfunctions.cpp | 2 +- companion/src/modeledit/logicalswitches.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/companion/src/modeledit/customfunctions.cpp b/companion/src/modeledit/customfunctions.cpp index c6d09bab3..11f1a548d 100644 --- a/companion/src/modeledit/customfunctions.cpp +++ b/companion/src/modeledit/customfunctions.cpp @@ -573,10 +573,10 @@ void CustomFunctionsPanel::fsw_customContextMenuRequested(QPoint pos) bool hasData = mimeData->hasFormat("application/x-companion-fsw"); QMenu contextMenu; - contextMenu.addAction(CompanionIcon("clear.png"), tr("&Delete"),this,SLOT(fswDelete()),tr("Delete")); contextMenu.addAction(CompanionIcon("copy.png"), tr("&Copy"),this,SLOT(fswCopy()),tr("Ctrl+C")); contextMenu.addAction(CompanionIcon("cut.png"), tr("&Cut"),this,SLOT(fswCut()),tr("Ctrl+X")); contextMenu.addAction(CompanionIcon("paste.png"), tr("&Paste"),this,SLOT(fswPaste()),tr("Ctrl+V"))->setEnabled(hasData); + contextMenu.addAction(CompanionIcon("clear.png"), tr("&Delete"),this,SLOT(fswDelete()),tr("Delete")); contextMenu.exec(globalPos); } diff --git a/companion/src/modeledit/logicalswitches.cpp b/companion/src/modeledit/logicalswitches.cpp index ddbf381b5..d0c2ae4a1 100644 --- a/companion/src/modeledit/logicalswitches.cpp +++ b/companion/src/modeledit/logicalswitches.cpp @@ -437,10 +437,10 @@ void LogicalSwitchesPanel::csw_customContextMenuRequested(QPoint pos) bool hasData = mimeData->hasFormat("application/x-companion-csw"); QMenu contextMenu; - contextMenu.addAction(CompanionIcon("clear.png"), tr("&Delete"),this,SLOT(cswDelete()),tr("Delete")); contextMenu.addAction(CompanionIcon("copy.png"), tr("&Copy"),this,SLOT(cswCopy()),tr("Ctrl+C")); contextMenu.addAction(CompanionIcon("cut.png"), tr("&Cut"),this,SLOT(cswCut()),tr("Ctrl+X")); contextMenu.addAction(CompanionIcon("paste.png"), tr("&Paste"),this,SLOT(cswPaste()),tr("Ctrl+V"))->setEnabled(hasData); + contextMenu.addAction(CompanionIcon("clear.png"), tr("&Delete"),this,SLOT(cswDelete()),tr("Delete")); contextMenu.exec(globalPos); } From 0ae00dddf84f7d969de0bc4010fd6418e0b2684d Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Sun, 8 Jun 2014 18:07:14 +0200 Subject: [PATCH 07/80] Fixes #1204 --- companion/src/modeledit/customfunctions.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/companion/src/modeledit/customfunctions.cpp b/companion/src/modeledit/customfunctions.cpp index c6d09bab3..9c1a40a50 100644 --- a/companion/src/modeledit/customfunctions.cpp +++ b/companion/src/modeledit/customfunctions.cpp @@ -87,7 +87,7 @@ CustomFunctionsPanel::CustomFunctionsPanel(QWidget * parent, ModelData & model, lang="en"; path.append(lang); QDir qd(path); - int vml= firmware->getCapability(VoicesMaxLength)+4; + int vml= firmware->getCapability(VoicesMaxLength); if (qd.exists()) { QStringList filters; filters << "*.wav" << "*.WAV"; From 087c9f020245dbe09ec4ce74c04b4a54e3fbf33a Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Sun, 8 Jun 2014 18:26:39 +0200 Subject: [PATCH 08/80] Gvar value restored, issue #1195 --- companion/src/modeledit/flightmodes.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/companion/src/modeledit/flightmodes.cpp b/companion/src/modeledit/flightmodes.cpp index 651733f43..dd983e417 100644 --- a/companion/src/modeledit/flightmodes.cpp +++ b/companion/src/modeledit/flightmodes.cpp @@ -203,10 +203,9 @@ void FlightModePanel::update() for (int i=0; isetText(model.gvars_names[i]); gvValues[i]->setDisabled(model.isGVarLinked(phaseIdx, i)); - if (IS_TARANIS(GetEepromInterface()->getBoard())) { - gvValues[i]->setValue(model.getGVarValue(phaseIdx, i)); - if (phaseIdx == 0) - gvPopups[i]->setChecked(model.gvars_popups[i]); + gvValues[i]->setValue(model.getGVarValue(phaseIdx, i)); + if (IS_TARANIS(GetEepromInterface()->getBoard()) && phaseIdx == 0) { + gvPopups[i]->setChecked(model.gvars_popups[i]); } } From 15d89d638c7ba14c9a2237ab7523a93c933d45ee Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Sun, 8 Jun 2014 18:58:53 +0200 Subject: [PATCH 09/80] Hide gvars for FM>0 if tx does not support per flight mode gvars, issue #1195 --- companion/src/modeledit/flightmodes.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/companion/src/modeledit/flightmodes.cpp b/companion/src/modeledit/flightmodes.cpp index dd983e417..df3ee55a7 100644 --- a/companion/src/modeledit/flightmodes.cpp +++ b/companion/src/modeledit/flightmodes.cpp @@ -121,7 +121,7 @@ FlightModePanel::FlightModePanel(QWidget * parent, ModelData & model, int phaseI } // GVars - if (gvCount > 0) { + if (gvCount > 0 && (firmware->getCapability(GvarsFlightModes) || phaseIdx == 0) ) { QGridLayout *gvLayout = new QGridLayout(ui->gvGB); for (int i=0; isetText(model.gvars_names[i]); - gvValues[i]->setDisabled(model.isGVarLinked(phaseIdx, i)); - gvValues[i]->setValue(model.getGVarValue(phaseIdx, i)); - if (IS_TARANIS(GetEepromInterface()->getBoard()) && phaseIdx == 0) { - gvPopups[i]->setChecked(model.gvars_popups[i]); + if (ui->gvGB->isVisible()) { + for (int i=0; isetText(model.gvars_names[i]); + gvValues[i]->setDisabled(model.isGVarLinked(phaseIdx, i)); + gvValues[i]->setValue(model.getGVarValue(phaseIdx, i)); + if (IS_TARANIS(GetEepromInterface()->getBoard()) && phaseIdx == 0) { + gvPopups[i]->setChecked(model.gvars_popups[i]); + } } } From 5a0f1548769feafebdb5ab61c7b91e80f831830f Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Sun, 8 Jun 2014 19:31:02 +0200 Subject: [PATCH 10/80] Fixes #1215 --- companion/src/modeledit/mixes.cpp | 5 ++--- companion/src/printdialog.cpp | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/companion/src/modeledit/mixes.cpp b/companion/src/modeledit/mixes.cpp index 5c21fa698..75c8793f3 100644 --- a/companion/src/modeledit/mixes.cpp +++ b/companion/src/modeledit/mixes.cpp @@ -191,9 +191,8 @@ QString MixesPanel::getMixerText(int dest, bool * new_ch) str += " " + Qt::escape(tr("Switch(%1)").arg(md->swtch.toString())); } - if (md->carryTrim) { - str += " " + Qt::escape(tr("NoTrim")); - } + if (md->carryTrim>0) str += " " + Qt::escape(tr("NoTrim")); + else if (md->carryTrim<0) str += " " + RawSource(SOURCE_TYPE_TRIM, (-(md->carryTrim)-1)).toString(); if (firmware->getCapability(HasNoExpo) && md->noExpo) str += " " + Qt::escape(tr("No DR/Expo")); if (md->sOffset) str += " " + Qt::escape(tr("Offset(%1)").arg(getGVarString(md->sOffset))); diff --git a/companion/src/printdialog.cpp b/companion/src/printdialog.cpp index 94d4ba623..10ac6afc3 100644 --- a/companion/src/printdialog.cpp +++ b/companion/src/printdialog.cpp @@ -347,9 +347,8 @@ void PrintDialog::printMixes() str += " " + Qt::escape(tr("Switch(%1)").arg(md->swtch.toString())); } - if (md->carryTrim) { - str += " " + Qt::escape(tr("NoTrim")); - } + if (md->carryTrim>0) str += " " + Qt::escape(tr("NoTrim")); + else if (md->carryTrim<0) str += " " + RawSource(SOURCE_TYPE_TRIM, (-(md->carryTrim)-1)).toString(); if (firmware->getCapability(HasNoExpo) && md->noExpo) str += " " + Qt::escape(tr("No DR/Expo")); if (md->sOffset) str += " " + Qt::escape(tr("Offset(%1)").arg(getGVarString(md->sOffset))); From 2665c2318ffb039443614060231609cb7123b5a0 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Sun, 8 Jun 2014 22:53:46 +0200 Subject: [PATCH 11/80] Update DONATIONS.txt --- DONATIONS.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index ae6b4858a..e605ba392 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -439,3 +439,5 @@ Rodger Hopper Fernando Cesar Jonathan Gillis DK-System +Lexington S Morley +Bernd Koehler From 2561e53696d6c25ac6dd78d553b9258ab2c528e5 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Mon, 9 Jun 2014 00:00:13 +0200 Subject: [PATCH 12/80] Update DONATIONS.txt --- DONATIONS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index e605ba392..2cb7db279 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -441,3 +441,4 @@ Jonathan Gillis DK-System Lexington S Morley Bernd Koehler +Davis RC From e65b9d825b4e95298d922fc67ed78dbe66c7b219 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Mon, 9 Jun 2014 09:56:38 +0200 Subject: [PATCH 13/80] Jenkins test --- DONATIONS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index 2cb7db279..2ef2ad972 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -442,3 +442,4 @@ DK-System Lexington S Morley Bernd Koehler Davis RC + From 1e56c9ba144cf4a663774517e69ac90a7c531251 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Mon, 9 Jun 2014 10:41:54 +0200 Subject: [PATCH 14/80] Jenkins test --- DONATIONS.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/DONATIONS.txt b/DONATIONS.txt index 2ef2ad972..2cb7db279 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -442,4 +442,3 @@ DK-System Lexington S Morley Bernd Koehler Davis RC - From aa661ced46765c34e2182dca03ae1633ccccfa51 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Mon, 9 Jun 2014 10:43:16 +0200 Subject: [PATCH 15/80] Jenkins test --- DONATIONS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index 2cb7db279..2ef2ad972 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -442,3 +442,4 @@ DK-System Lexington S Morley Bernd Koehler Davis RC + From ce22ea22b4da71280fdc583f4988af003a587686 Mon Sep 17 00:00:00 2001 From: bsongis Date: Mon, 9 Jun 2014 11:05:55 +0200 Subject: [PATCH 16/80] Simu compilation errors --- radio/src/telemetry/frsky.cpp | 2 ++ radio/src/telemetry/frsky_d.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/radio/src/telemetry/frsky.cpp b/radio/src/telemetry/frsky.cpp index c26ee5156..9c9d6b776 100644 --- a/radio/src/telemetry/frsky.cpp +++ b/radio/src/telemetry/frsky.cpp @@ -317,7 +317,9 @@ void telemetryWakeup() static uint8_t frskyTxDelay = 5; if (frskyAlarmsSendState && (--frskyTxDelay == 0)) { frskyTxDelay = 5; // 50ms +#if !defined(SIMU) frskyDSendNextAlarm(); +#endif } } #endif diff --git a/radio/src/telemetry/frsky_d.cpp b/radio/src/telemetry/frsky_d.cpp index 23b69b441..45b8db811 100644 --- a/radio/src/telemetry/frsky_d.cpp +++ b/radio/src/telemetry/frsky_d.cpp @@ -435,7 +435,9 @@ void frskySendPacket(uint8_t type, uint8_t value, uint8_t p1, uint8_t p2) *ptr++ = START_STOP; // Start of packet frskyTxBufferCount = ptr - &frskyTxBuffer[0]; +#if !defined(SIMU) telemetryTransmitBuffer(); +#endif } inline void frskyDSendNextAlarm(void) From 9cb4d5da1f26cdc6cf048616f110a2683561b859 Mon Sep 17 00:00:00 2001 From: bsongis Date: Mon, 9 Jun 2014 11:14:57 +0200 Subject: [PATCH 17/80] Sky9x Error + Warning removed --- radio/src/opentx.cpp | 2 +- radio/src/targets/sky9x/coproc_driver.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index b932314ea..b405931cb 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -1650,7 +1650,7 @@ PLAY_FUNCTION(playValue, uint8_t idx) case MIXSRC_FIRST_TELEM+TELEM_TM2-1: PLAY_DURATION(val, 0); break; -#if defined(CPUARM) +#if defined(CPUARM) && defined(FRSKY) case MIXSRC_FIRST_TELEM+TELEM_SWR-1: PLAY_NUMBER(val, 0, 0); break; diff --git a/radio/src/targets/sky9x/coproc_driver.cpp b/radio/src/targets/sky9x/coproc_driver.cpp index 65c229c3c..4367482a7 100644 --- a/radio/src/targets/sky9x/coproc_driver.cpp +++ b/radio/src/targets/sky9x/coproc_driver.cpp @@ -47,7 +47,7 @@ int8_t Coproc_maxtemp=-127 ; int8_t Coproc_valid ; bool get_onlytemp; #if !defined(SIMU) -static uint8_t *Twi_read_address ; +// TODO not used? static uint8_t *Twi_read_address ; #endif static uint8_t TwiOperation ; From 4c6c9fdb2088c486ce85211056466ae1018f0f0c Mon Sep 17 00:00:00 2001 From: bsongis Date: Mon, 9 Jun 2014 11:32:34 +0200 Subject: [PATCH 18/80] Simu Gruvin9x compilation failure --- radio/src/targets/gruvin9x/board_gruvin9x.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/radio/src/targets/gruvin9x/board_gruvin9x.h b/radio/src/targets/gruvin9x/board_gruvin9x.h index 0a3aa2ba8..756b7c244 100644 --- a/radio/src/targets/gruvin9x/board_gruvin9x.h +++ b/radio/src/targets/gruvin9x/board_gruvin9x.h @@ -82,12 +82,13 @@ #define JACK_PPM_OUT() PORTG |= (1< Date: Mon, 9 Jun 2014 14:30:14 +0200 Subject: [PATCH 19/80] Partial fix for 1212 - Only Windows --- companion/targets/windows/companion-msys.nsi.in | 4 ++++ companion/targets/windows/companion-vs.nsi.in | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/companion/targets/windows/companion-msys.nsi.in b/companion/targets/windows/companion-msys.nsi.in index e2f1ed51e..88434ac76 100644 --- a/companion/targets/windows/companion-msys.nsi.in +++ b/companion/targets/windows/companion-msys.nsi.in @@ -95,6 +95,10 @@ Section "OpenTX companion" SecDummy File "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\avrdude.conf" File "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\libusb0.dll" File "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\dfu-util.exe" + + CreateDirectory "$INSTDIR\phonon_backend" + SetOutPath "$INSTDIR\phonon_backend" + File "@QT_BINARY_DIR@\..\plugins\phonon_backend\Phonon_ds94.dll" CreateDirectory "$INSTDIR\lang" SetOutPath "$INSTDIR\lang" diff --git a/companion/targets/windows/companion-vs.nsi.in b/companion/targets/windows/companion-vs.nsi.in index eb21dd5d4..6515702dd 100644 --- a/companion/targets/windows/companion-vs.nsi.in +++ b/companion/targets/windows/companion-vs.nsi.in @@ -123,6 +123,10 @@ Section "OpenTX Companion" SecDummy File "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\dfu-util.exe" File "@CMAKE_CURRENT_SOURCE_DIR@\..\targets\windows\libusb-1.0.dll" + CreateDirectory "$INSTDIR\phonon_backend" + SetOutPath "$INSTDIR\phonon_backend" + File "@QT_BINARY_DIR@\..\plugins\phonon_backend\Phonon_ds94.dll" + CreateDirectory "$INSTDIR\lang" SetOutPath "$INSTDIR\lang" File "*.qm" From eb69444cbf806616ed4480b5fcffc14b67d23aad Mon Sep 17 00:00:00 2001 From: Romolo Manfredini Date: Mon, 9 Jun 2014 15:21:41 +0200 Subject: [PATCH 20/80] further fix in Italian translations --- companion/src/translations/companion_it.ts | 186 ++++++++++----------- 1 file changed, 93 insertions(+), 93 deletions(-) diff --git a/companion/src/translations/companion_it.ts b/companion/src/translations/companion_it.ts index 6ad6b4455..0a5c88855 100644 --- a/companion/src/translations/companion_it.ts +++ b/companion/src/translations/companion_it.ts @@ -1428,12 +1428,12 @@ Può essere differente dalla lingua del firmware <br>First Elevon Channel: - <br>Canale primo Elevone: + <br>Canale primo Elevone: Second Elevon Channel: - Canale secondo Elevone: + Canale secondo Elevone: @@ -3802,12 +3802,12 @@ Volete scaricarla ora ? The OpenTX Companion project was originally forked from <a href='%1'>eePe</a> - Il progetto OpenTx-Companion è originariamente derivato da <a href='%2'>eePe</a> {1'?} + Il progetto OpenTx-Companion è originariamente derivato da <a href='%1'>eePe</a> Copyright OpenTX Team - + Copyright OpenTX Team @@ -5136,27 +5136,27 @@ p, li { white-space: pre-wrap; } Plane - Aereo + Aereo Multirotor - Multirotore + Multirotore Helicopter - Elicottero + Elicottero Model Name: - Nome Modello: + Nome Modello: Model Type: - Tipo di Modello + Tipo di modello: @@ -8094,67 +8094,67 @@ Il Team di OpenTX. Center beep - Avviso centraggio + Avviso centraggio OFF - Spento + Spento Model Image - Immagine modello + Immagine modello Exponential - Esponenziale + Esponenziale Throttle Trim Idle Only - Trim Motore solo Idle + Trim Motore solo Idle Extra Fine - Extra Fine + Extra Fine Fine - Fine + Fine Medium - Medio + Medio Coarse - Ampio + Ampio Display Checklist - Mostra Note + Mostra Note Timer 2 - + Temporizzatore 2 Timer 1 - + Temporizzatore 1 Throttle Source - + Sorgente motore Timer Source @@ -8163,52 +8163,52 @@ Il Team di OpenTX. Trim Step - Passo trim + Passo trim Warnings - Avvisi + Avvisi Switch Warnings - Attiva Avvisi + Avviso interruttore Pot Warnings - Avviso Pot + Avviso Pot Manual - Manuale + Manuale Auto - Auto + Auto Model - Modello + Modello Extended Limits - Limiti estesi + Limiti estesi Extended Trims - Trim estesi + Trim estesi Throttle Warning - Avviso Motore + Avviso Motore @@ -8216,7 +8216,7 @@ Il Team di OpenTX. 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. - Stick motore inverso. + Stick motore invertito. Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà in avanti, anche i trim verranno rovesciati e anche gli avvisi. @@ -8224,7 +8224,7 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Reverse Throttle - Stck Motore invertito + Stick Motore invertito @@ -8241,27 +8241,27 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Warning - Avviso + Avviso Joystick enabled but not configured correctly - Joystick abilitato ma non configurato correttamente + Joystick abilitato ma non configurato correttamente Cannot open joystick, joystick disabled - Non riesco ad aprire il joystick, supporto joystick disabilitato + Non riesco ad aprire il joystick, supporto joystick disabilitato Simulating Radio (%1) - Simulazione Radio (%1) + Simulazione Radio (%1) Firmware %1 error: %2 - Firmware %1 errore: %2 + Firmware %1 errore: %2 @@ -8269,7 +8269,7 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Companion Simulator - Simulatore di Companion + Simulatore di Companion @@ -8277,7 +8277,7 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Right Double Click to Reset - Doppio click con il destro per portare a 0 + Doppio click con il destro per portare a 0 THR @@ -8299,30 +8299,30 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Hold X - Tieni X + Mantieni X Fix X - Fissa X + Blocca X Fix Y - Fissa Y + Blocca Y Hold Y - Tieni Y + Mantieni Y Gvars - Var Glob + Var Glob TextLabel @@ -8351,7 +8351,7 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà BEEP - SUONO + SUONO P1 @@ -8368,12 +8368,12 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà 9x Simulator - Simulatore 9x + Simulatore 9x Outputs - Uscite + Uscite @@ -9061,72 +9061,72 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Model Wizard - + Assistente di configurazione Model Type - Tipologia veivolo + Tipologia modello Enter model name and model type. - Inserici nome e tipo di modello + Inserire nome e tipo di modello. Throttle - Motore + Motore Has your model got a motor or an engine? - Il modello ha un motore a scoppio o elettrico? + Il modello ha un motore a scoppio o elettrico? Wing Type - Tipo di ala + Tipo di ala Is your model a flying wing/deltawing or has it a standard wing configuration? - Il modello è un tuttala / ala a delta o ha una configurazione standard? + Il modello è un tuttala / ala a delta o ha una configurazione standard? Ailerons - Alettoni + Alettoni Has your model got ailerons? - Il modello ha gli alettoni? + Il modello ha gli alettoni? Flaps - + Flap Has your model got flaps? - Il modello ha i flaps? + Il modello ha i flap? Airbrakes - Diruttori + Diruttori Has your model got airbrakes? - Il modello ha i diruttori? + Il modello ha i diruttori? Flying-wing / Delta-wing - Tuttala / Ala a delta + Tuttala / Ala a delta Are the elevons controlled by servos connected to separate channels or by a single servo channel? @@ -9135,33 +9135,33 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Select the elevons channels - + Selezionare in canali degli elevoni Rudder - Direzionale + Direzionale Does your model have a rudder? - Il modello ha una deriva? + Il modello ha un direzionale? Tail Type - Tipo di coda + Tipo di coda Select which type of tail your model is equiped with. - Selezionare quale tipo di coda ha il modello + Selezionare quale tipo di coda ha il modello. Tail - Coda + Coda @@ -9172,7 +9172,7 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà V-Tail - Coda a V + Coda a V @@ -9182,49 +9182,49 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Cyclic - Ciclico + Ciclico Which type of swash control is installed in your helicopter? - Quale tipo di alello è installato sul vostro elicottero? + Quale tipo di anello è installato sul vostro elicottero? Tail Gyro - Giroscopio di coda + Giroscopio di coda Has your helicopter got an adjustable gyro for the tail? - L' elicottero ha un giroscopio per la coda? + L' elicottero ha un giroscopio per la coda? Rotor Type - Tipo di rotore + Tipo di rotore Has your helicopter got a flybar? - L'elicottero ha una Flubar? + L'elicottero ha una Flybar ? Helicopter - Elicottero + Elicottero Select the controls for your helicopter - Selezionare il controllo per l'elicottero + Selezionare i controlli per l'elicottero Multirotor - Multirotore + Multirotore @@ -9234,7 +9234,7 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Model Options - + Opzioni del modello @@ -9244,27 +9244,27 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Save Changes - Salva cambiamenti + Salva cambiamenti Manually check the direction of each control surface and reverse any channels that make controls move in the wrong direction. Remove the propeller/propellers before you try to control your model for the first time.<br>Please note that continuing removes all old model settings! - Controllare manualmente la direzione di ogni superfice di controllo e invertire ogni canale che si sposta nella direzione errata. Rimuovere l'elica/eliche prima di controllare per la prima volta il modello.<br>Attenzione: continuando verranno rimosse tutte le impostazioni dei vecchi modelli! + Controllare manualmente la direzione di ogni superfice di controllo e invertire ogni canale che si sposta nella direzione errata. Rimuovere l'elica/eliche prima di controllare per la prima volta il modello.<br>Attenzione: continuando verranno rimosse tutte le impostazioni dei vecchi modelli! Enter a name for your model and select model type. - Inserire il nome per il vostro modello e selezionare il tipo di modello + Inserire il nome per il vostro modello e selezionare il tipo di modello. Select the receiver channel that is connected to your ESC or throttle servo.<br><br>Throttle - Spektrum: CH1, Futaba: CH3 - Selezionare il canale della ricevente al quale è connesso l'ESC o il servo del gas.<br><br>Motore - Spectrum: CH1, Futaba:.CH3 + Selezionare il canale della ricevente al quale è connesso l'ESC o il servo del gas.<br><br>Es. Spectrum: CH1, Futaba:.CH3 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 controls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and pitch. This surface is called an elevon. - Molti aeromobili hanno l'ala principale e la coda con superfici di controllo. I veivoli tuttala e le ali a delta ne hanno una s ola. In un ala tradizionale le superfici di controllo principali provocano il rollio del veivolo e si chiamano Alettoni.<br>In una ala a delta le superfici di controllo provocano contemporaneamente rollio e beccheggio e si chiamano Elevoni. + Molti aeromobili hanno l'ala principale e la coda con superfici di controllo. I veivoli tuttala e le ali a delta ne hanno una sola. In un ala tradizionale le superfici di controllo principali provocano il rollio del veivolo e si chiamano Alettoni.<br>In un'ala a delta le superfici di controllo provocano contemporaneamente rollio e beccheggio e si chiamano Elevoni. @@ -9274,7 +9274,7 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà 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. - + Questo assistente configura l'azionamento dei flap tramite switch. Potete associare un potenziometro in seguito. @@ -9289,12 +9289,12 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Select the receiver channel that is connected to your rudder.<br><br>Rudder - Spektrum: CH4, Futaba: CH4 - + Selezionare il canale della ricevente al quale è connesso il direzionale.<br><br>Es. Spectrum: CH4, Futaba:.CH4 Select the tail type of your plane. - + Slezionare il tipo di coda dell'aereo. @@ -9326,12 +9326,12 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà There is no help available for the current page. - Non è disponibile un aiuto per questa pagina + Nessun aiuto disponibile per questa pagina. Model Wizard Help - + Aiuto dell'assistente di configurazione @@ -9339,17 +9339,17 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Plane - Aereo + Aereo Multicopter - + Multirotore Helicopter - Elicottero + Elicottero From e62a8e8ba7fedc4f44750bef34841d7eb64ad017 Mon Sep 17 00:00:00 2001 From: Romolo Manfredini Date: Mon, 9 Jun 2014 15:45:34 +0200 Subject: [PATCH 21/80] further fix in Italian translations --- companion/src/translations/companion_it.ts | 400 ++++++++++----------- 1 file changed, 200 insertions(+), 200 deletions(-) diff --git a/companion/src/translations/companion_it.ts b/companion/src/translations/companion_it.ts index 0a5c88855..0108a3007 100644 --- a/companion/src/translations/companion_it.ts +++ b/companion/src/translations/companion_it.ts @@ -4884,40 +4884,40 @@ p, li { white-space: pre-wrap; } Move Up - Muovi in Su + Muovi in Su Ctrl+Up - Ctrl+Up + Ctrl+Up Move Down - Muovi in Giù + Muovi in Giù Ctrl+Down - Ctrl+Down + Ctrl+Down Clear Mixes - Cancella Miscelazioni + Cancella Miscelazioni Weight(%1) - Peso(%1) + Peso(%1) Switch(%1) - Interruttore(%1) + Interruttore(%1) No Trim @@ -4926,92 +4926,92 @@ p, li { white-space: pre-wrap; } NoTrim - NoTrim + NoTrim No DR/Expo - No DR/Expo + No DR/Espo Offset(%1) - Offset(%1) + Spostamento(%1) Delay(u%1:d%2) - Ritarda(s%1:g%2) + Ritarda(s%1:g%2) Slow(u%1:d%2) - Rallenta(s%1:g%2) + Rallenta(s%1:g%2) Warn(%1) - Avviso(%1) + Avviso(%1) Not enough available mixers! - Non ci sono più miscelazioni disponibili! + Non ci sono più miscelazioni disponibili! Delete Selected Mixes? - Cancellare le miscelazioni selezionate ? + Cancellare le miscelazioni selezionate ? &Add - &Aggiungi + &Aggiungi Ctrl+A - Ctrl+A + Ctrl+A &Edit - &Modifica + &Modifica Enter - Invio + Invio &Toggle highlight - + Al&terna evidenziazione Ctrl+T - Ctrl+T + Ctrl+T &Delete - &Elimina + &Elimina Delete - Elimina + Elimina &Copy - &Copia + &Copia Ctrl+C - Ctrl+C + Ctrl+C &Cut @@ -5020,42 +5020,42 @@ p, li { white-space: pre-wrap; } Ctrl+X - Ctrl+X + Ctrl+X C&ut - + Ta&glia &Paste - &Incolla + &Incolla Ctrl+V - Ctrl+V + Ctrl+V Du&plicate - Dup&lica + Du&plica Ctrl+U - Ctrl+U + Ctrl+U Clear Mixes? - Cancellare le miscelazioni ? + Cancellare le miscelazioni ? Really clear all the mixes? - Sicuri di voler cancellare le miscelazioni ? + Sicuri di voler cancellare le miscelazioni ? @@ -5487,32 +5487,32 @@ p, li { white-space: pre-wrap; } Close - Chiudi + Chiudi Print - Stampa + Stampa Print to file - Stampa su file + Stampa su file Setup for: - Impostazioni per: + Impostazioni per: printed on: %1 - stampato il: %1 + stampato il: %1 General Model Settings - Impostazioni generali del modello + Impostazioni generali del modello @@ -5520,132 +5520,132 @@ p, li { white-space: pre-wrap; } Name - Nome + Nome EEprom Size - Dimensione in EEprom + Dimensione in EEprom Timer1 - Tempo1 + Temporizzatore 1 Timer2 - Tempo2 + Temporizzatore 2 Protocol - Protocollo + Protocollo Pulse Polarity - Polarità impulso + Polarità impulso Throttle Trim - Trim Motore + Trim Motore Enabled - Abilitato + Abilitato Disabled - Disabilitato + Disabilitato Throttle Expo - Esponenziale Motore + Esponenziale Motore Trim Increment - Incremento del Trim + Incremento del Trim Center Beep - Avviso centraggio + Avviso centraggio Flight modes - Fasi di volo + Fasi di volo Fades - Transizioni + Transizioni Trims - Trims + Trims Gvars - Var Glob + Var Glob Rot.Enc. - Enc. Rot. + Enc. Rot. Switch - + Int. Flight mode name - Nome fase di volo + Nome fase di volo IN - Ingr. + Ingr. OUT - Usc. + Usc. Rud - + Dir Ele - + Ele Thr - + Mot Ail - + Ale @@ -5653,86 +5653,86 @@ p, li { white-space: pre-wrap; } FM - FV + FV Inputs - Ingressi + Ingressi Weight - Peso + Peso Source - Sorgente + Sorgente NoTrim - NoTrim + NoTrim DISABLED - DISABILITATO + DISABILITATO Mixers - Miscelazioni + Miscelazioni Weight(%1) - Peso(%1) + Peso(%1) Switch(%1) - Interruttore(%1) + Interruttore(%1) No DR/Expo - No DR/Expo + No DR/Espo Offset(%1) - Offset(%1) + Spostamento(%1) Delay(u%1:d%2) - Ritarda(s%1:g%2) + Ritarda(s%1:g%2) Slow(u%1:d%2) - Rallenta(s%1:g%2) + Rallenta(s%1:g%2) Warn(%1) - Avviso(%1) + Avviso(%1) Limits - Limiti + Limiti CH - CH + CH @@ -5741,7 +5741,7 @@ p, li { white-space: pre-wrap; } Offset - Spostamento + Spostamento @@ -5749,7 +5749,7 @@ p, li { white-space: pre-wrap; } Min - Min + Min @@ -5757,162 +5757,162 @@ p, li { white-space: pre-wrap; } Max - Max + Max Invert - + Inversione INV - INV + INV NOR - NOR + NOR Curves - Curve + Curve Curve - Curva + Curva pt %1 - pt %1 + pt %1 Logical Switches - Interruttori logici + Interruttori logici L - + L Global Variables - Variabili Globali + Variabili Globali GV - VG + VG Special Functions - Funzioni speciali + Funzioni speciali Function - Funzione + Funzione Parameter - Parametro + Parametro Repeat - Ripeti + Ripeti SF%1 - SF%1 + FS%1 Telemetry Settings - Impostazioni telemetria + Impostazioni telemetria Analog - Analogico + Analogico Range - Intervallo + Intervallo A%1 - A%1 + A%1 Alarms - + Allarmi Low Alarm - Allarme basso + Allarme basso Critical Alarm - Allarme critico + Allarme critico RSSI - RSSI + RSSI Blades - Pale dell'elica + Pale dell'elica Alarm 1 - Allarme 1 + Allarme 1 Alarm 2 - Allarme 2 + Allarme 2 Unit - Unità + Unità Scale - Campo di misura + Campo di misura @@ -5920,7 +5920,7 @@ p, li { white-space: pre-wrap; } Type - Tipo + Tipo @@ -5928,7 +5928,7 @@ p, li { white-space: pre-wrap; } Condition - Condizione + Condizione @@ -5936,53 +5936,53 @@ p, li { white-space: pre-wrap; } Value - Valore + Valore RSSI Alarm - Allarmi RSSI + Allarmi RSSI Frsky serial protocol - Protocollo seriale FrSky + Protocollo seriale FrSky Units system - + Sistema di misura Custom Telemetry View - Schermata personalizzata dati telemetrici + Schermata personalizzata dati telemetrici Telemetry Bars - Barre Telemetria + Barre Telemetria Bar Number - Numero Barra + Barra Numero Print Document - Stampa documento + Stampa documento Select PDF output file - Scegliere il nome del file PDF + 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 (*) + Documenti ODF (*.odt);;Documenti PDF (*.pdf);;Documenti HTML (*.htm *.html);;Tutti i documenti (*) @@ -8050,17 +8050,17 @@ Il Team di OpenTX. No Radio Found - + Radio non trovata <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>Nessuna radio è stata trovata!</p><p>Siate sicuri di tenere entrambi i trim inferiori verso il centro durante l'accensione della radio..</p><p>Solo dopo connettete il cavo USB.</p></body></html> OK - + OK @@ -8232,7 +8232,7 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Elevator Channel: - Canale Elevatore + Canale dell'Elevatore: @@ -8381,36 +8381,36 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Companion Simulator - Simulatore di Companion + Simulatore di Companion Gvars - Var Glob + Var Glob Hold Y - Tieni Y + Mantieni Y Fix Y - Fissa Y + Blocca Y Fix X - Fissa X + Blocca X Hold X - Tieni X + Mantieni X @@ -8418,7 +8418,7 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Right Double Click to Reset - Doppio click con il destro per portare a 0 + Doppio click con il destro per portare a 0 TextLabel @@ -8427,12 +8427,12 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Taranis Simulator - Simulatore Taranis + Simulatore Taranis Outputs - Uscite + Uscite @@ -8484,114 +8484,114 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà A1 - A1 + A1 A2 - A2 + A2 RSSI - RSSI + RSSI Alarm 1 - Allarme 1 + Allarme 1 FrSky S.PORT - + FrSky S.PORT FrSky D - + FrSky D RxBatt - + BattRx Critical Alarm - Allarme critico + Allarme critico ---- - ---- + ---- Yellow - Giallo + Giallo Orange - Arancione + Arancione Red - Rosso + Rosso Alarm 2 - Allarme 2 + Allarme 2 Serial Protocol - Protocollo seriale + Protocollo seriale Volt source - Misura della tensione + Misura della tensione A4 - A4 + A4 A3 - A3 + A3 Metric - Sistema Metrico + Sistema Metrico Imperial - Imperiale + Imperiale Current source - Misura della corrente + Misura della corrente Protocol - Protocollo + Protocollo NONE @@ -8604,12 +8604,12 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà None - Nessuno + Nessuno FrSky Sensor Hub - FrSky Sensor Hub + FrSky Sensor Hub CEL @@ -8618,12 +8618,12 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Units - Unità + Unità Blades - Pale dell'elica + Pale dell'elica Vario @@ -8632,87 +8632,87 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Sink Max - Max Discesa + Max Discesa Off - NO + NO Climb Max - Max Salita + Max Salita Sink Min - Min Discesa + Min Discesa Climb Min - Min Salita + Min Salita Vario source - Sorgente per il Vario + Sorgente per il Vario Vario limits - Limiti per il Vario + Limiti per il Vario Use GPS as altitude source - Usa il GPS per l'altitudine + Usa il GPS per l'altitudine Display altitude in toolbar - Mostra l'altitudine sulla barra + Mostra l'altitudine sulla barra Altimetry - + Altimetro mAh - + mAh A - + A Various - Varie + Varie mAh count - Conteggio mAh + Conteggio mAh Low Alarm - Allarme basso + Allarme basso FAS Offset - Offset FAS + Offset FAS Persistent mAh - mAh persistenti + mAh persistenti @@ -8882,94 +8882,94 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Telemetry screen %1 - Schermo telemetria %1 + Schermo telemetria %1 Low Alarm - Allarme basso + Allarme basso Critical Alarm - Allarme critico + Allarme critico Winged Shadow How High - Winged Shadow How High + Winged Shadow How High Winged Shadow How High (not supported) - Winged Shadow How High (non supportato) + Winged Shadow How High (non supportato) Alti - + Alti+ - + VSpeed - + A1 - A1 + A1 A2 - A2 + A2 dTE - + RxBatt - + BattRx A3 - A3 + A3 A4 - A4 + A4 FAS - FAS + FAS Cells - + Celle --- - --- + --- @@ -9167,7 +9167,7 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Select channels for tail control. - Selezionare i canali che controllano la coda + Selezionare i canali che controllano la coda. @@ -9177,7 +9177,7 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Select elevator channel. - Selezionare il canale dell'elevatore + Selezionare il canale dell'elevatore. @@ -9229,7 +9229,7 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Select the control channels for your multirotor - Selezionare i canali di controllo per il multirotore + Selezionare i canali di controllo per il multirotore @@ -9239,7 +9239,7 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Select additional options - + Selezionarefunzionalità aggiuntive @@ -9269,7 +9269,7 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà 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 - + From 3c181fc474500be8178ab8874ad72dfb8a8fbab7 Mon Sep 17 00:00:00 2001 From: Romolo Manfredini Date: Mon, 9 Jun 2014 16:57:10 +0200 Subject: [PATCH 22/80] Other fixes in Italian translations (to be still finished) --- companion/src/translations/companion_it.ts | 420 ++++++++++----------- 1 file changed, 210 insertions(+), 210 deletions(-) diff --git a/companion/src/translations/companion_it.ts b/companion/src/translations/companion_it.ts index 0108a3007..d9307449b 100644 --- a/companion/src/translations/companion_it.ts +++ b/companion/src/translations/companion_it.ts @@ -1171,7 +1171,7 @@ Può essere differente dalla lingua del firmware Expo - Expo + Espo @@ -1294,12 +1294,12 @@ Può essere differente dalla lingua del firmware Symmetrical f(x)=-f(-x) - Expo simmetrica f(x)=-f(-x) + Curva simmetrica f(x)=-f(-x) Symmetrical f(x)=f(-x) - Expo simmetrica f(x)=f(-x) + Curva simmetrica f(x)=f(-x) @@ -5996,12 +5996,12 @@ p, li { white-space: pre-wrap; } Input%1 - Ingresso%1 + Ingresso%1 Polish - Polacco + Polacco @@ -6009,7 +6009,7 @@ p, li { white-space: pre-wrap; } CH%1 - CH%1 + CH%1 @@ -6019,57 +6019,57 @@ p, li { white-space: pre-wrap; } RotEnc A - EncRot A + EncRot A Rot Enc B - EncRot B + EncRot B Rot Enc C - EncRot C + EncRot C Rot Enc D - EncRot D + EncRot D Rot Enc E - EncRot E + EncRot E Safety %1 - Sicurezza %1 + Sicurezza %1 Trainer - Allievo + Allievo Trainer RUD - RUD Allievo + Allievo DIR Trainer ELE - ELE Allievo + Allievo ELE Trainer THR - TRH Allievo + Allievo MOT Trainer AIL - AIL Allievo + Allievo ALE @@ -6079,331 +6079,331 @@ p, li { white-space: pre-wrap; } Play Sound - Suona + Suona Play Track - Suona Traccia + Suona Traccia Start Logs - Avvia Log + Avvia Log Play Haptic - Vibrazione + Vibrazione S3 - S3 + S3 RSSI Tx - + RSSI Rx - + Rx Batt - + Batt Rx A3 - A3 + A3 A4 - A4 + A4 Cells - + Celle dTE - + Hdg - + AirSpeed - + A3- - A2- {3-?} + A2- {3-?} A4- - A2- {4-?} + A2- {4-?} Speed+ - + Velocità+ Dist+ - + AirSpeed+ - + Cell- - + Cella- Cells- - + Vfas- - + Curr+ - + Corr- Powr+ - + ACC - + GPS Time - + Ora GPS L1 - + L2 - + L3 - + L4 - + L5 - + L6 - + L7 - + L8 - + L9 - + L10 - + L11 - + L12 - + L13 - + L14 - + L15 - + L16 - + L17 - + L18 - + L19 - + L20 - + L21 - + L22 - + L23 - + L24 - + L25 - + L26 - + L27 - + L28 - + L29 - + L30 - + L31 - + L32 - + [I%1] - + [I%1] @@ -6413,192 +6413,192 @@ p, li { white-space: pre-wrap; } FM0 - + FV0 FM1 - + FV1 FM2 - + FV2 FM3 - + FV3 FM4 - + FV4 FM5 - + FV5 FM6 - + FV6 FM7 - + FV7 FM8 - + FV8 S31 - + S32 - + S33 - + S34 - + S35 - + S36 - + One - Uno + Uno a>x - + a<x - + |a|>x - + |a|<x - + AND - AND + AND OR - + XOR - + a=b - + a!=b - + a>b - + a<b - + a>=b - + a<=b - + d>=x - + |d|>=x - + a=x - + a~x - + Timer - + Tempo Sticky - + Bloccato Unknown - Sconosciuto + Sconosciuto Reset - Ripristina + Ripristina Set Timer %1 - + Imposta temporizzatore %1 @@ -6608,17 +6608,17 @@ p, li { white-space: pre-wrap; } Volume - Volume + Volume Backlight - Retroilluminazione + Retroilluminazione Play Value - Suona valore + Suona valore @@ -6630,27 +6630,27 @@ p, li { white-space: pre-wrap; } Rud Trim - Trim Rud + Trim Dir Ele Trim - Trim Ele + Trim Ele Thr Trim - Trim Trh + Trim Mot Ail Trim - Trim Ail + Trim Ale Rot Enc - Enc Rot + Enc Rot @@ -6706,12 +6706,12 @@ p, li { white-space: pre-wrap; } %1 sec - %1 sec + %1 sec Play Both - + Suana Entrambi @@ -6731,22 +6731,22 @@ p, li { white-space: pre-wrap; } Duration (%1s) - + Durata (%1s) Delay (%1s) - + Ritardo (%1s) Background Music - Musica Bg + Musica di sottofondo Background Music Pause - Pausa musica Bg + Pausa musica di sottofondo Delay %1 sec @@ -6755,7 +6755,7 @@ p, li { white-space: pre-wrap; } Edge - Edge + Duration %1 sec @@ -6795,23 +6795,23 @@ p, li { white-space: pre-wrap; } Decr: - Decr: + Decr: Incr: - Incr: + Incr: Played once, not during startup - Suona ancora, non durante l'avvio + Suona una sola volta, non durante l'avvio %1s - %1s + %1s @@ -6877,17 +6877,17 @@ p, li { white-space: pre-wrap; } Adjust GV%1 - Regola VG%1 + Regola VG%1 Rotary Encoder - Encoder rotativo + Encoder rotativo Finnish - Finlandese + Finlandese @@ -6983,12 +6983,12 @@ p, li { white-space: pre-wrap; } Flight modes(%1) - Fasi volo(%1) + Fasi di volo(%1) Flight mode(%1) - Fase volo(%1) + Fase di volo(%1) @@ -7029,7 +7029,7 @@ p, li { white-space: pre-wrap; } THR - THR + MOT @@ -7175,7 +7175,7 @@ p, li { white-space: pre-wrap; } OpenTX only accepts %1 points in all curves - OpenTx accetta solamente %1 punti in tutte le curve + OpenTx accetta solamente %1 punti in tutte le curve @@ -7337,7 +7337,7 @@ p, li { white-space: pre-wrap; } Channel values displayed in us - Posizione canali visualizzata in us + Posizione canali visualizzata in us @@ -7348,7 +7348,7 @@ p, li { white-space: pre-wrap; } OpenTX for 9XR-PRO - + OpenTX per 9XR-PRO In model setup menus automatically set source by moving some of them @@ -7357,18 +7357,18 @@ p, li { white-space: pre-wrap; } Haptic module installed - + Modulo vibrazione installato Support for Lua model scripts - + Supporto degli script LUA OpenTX for FrSky Taranis Plus - + OpenTx per FrSky Taranis Plus @@ -7434,12 +7434,12 @@ p, li { white-space: pre-wrap; } Allow compensating for offset errors in FrSky FAS current sensors - Abilita compensazione per errore offset in sensore di corrente FAS FrSky + Abilita compensazione per errore offset in sensore di corrente FAS FrSky OpenTX for FrSky Taranis - OpenTx per FrSky Taranis + OpenTx per FrSky Taranis OpenTX for FrSky Taranis Rev4a @@ -7528,7 +7528,7 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati OpenTX for 9X board - + OpenTX for scheda 9X @@ -7574,7 +7574,7 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati OpenTX for M128 / 9X board - OpenTx per Board M128 / 9X + OpenTx per Board M128 / 9X @@ -7619,7 +7619,7 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati In model setup menus automatically set source by moving the control - Nel menu settaggio modelli selezionare automaticamente la sorgente muovendo il controllo + Nel menu settaggio modelli selezionare automaticamente la sorgente muovendo il controllo @@ -7630,22 +7630,22 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati In model setup menus automatically set switch by moving the control - Nel menu settaggio modelli selezionare automaticamente l'interruttore muovendo il controllo + Nel menu settaggio modelli selezionare automaticamente l'interruttore muovendo il controllo OpenTX for 9XR - OpenTx per 9xR + OpenTx per 9xR OpenTX for 9XR with M128 chip - OpenTx per 9XR con chip M128 + OpenTx per 9XR con chip M128 OpenTX for Gruvin9x board / 9X - OpenTX per board Gruvin 9x / 9x + OpenTX per board Gruvin 9x / 9x @@ -7660,7 +7660,7 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati OpenTX for Sky9x board / 9X - OpenTX per board Sky9x / 9X + OpenTX per scheda Sky9x / 9X @@ -7809,62 +7809,62 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati S11 - + S12 - + S13 - + S14 - + S15 - + S16 - + S21 - + S22 - + S23 - + S24 - + S25 - + S26 - + @@ -7909,7 +7909,7 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati ABS - + @@ -7919,7 +7919,7 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati TH% - + @@ -7929,32 +7929,32 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati ??? - + Diff(%1) - + Diff(%1) Expo(%1) - + Espo(%1) Function(%1) - + funzione(%1) Curve(%1) - + Curva(%1) !Curve(%1) - + !Curva(%1) @@ -8003,7 +8003,7 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati Own Trim - Trim proprio + Trim proprio @@ -8018,22 +8018,22 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati FW: %1 - + FW: %1 Pict: %1 - + immag: %1 Profile image - Immagine profilo + Immagine profilo Simultaneous usage of expo and curves is no longer supported in OpenTX - L'usosimultaneo di esponeziali e curve non è più supportato in OpenTX + L'uso simultaneo di esponeziali e curve non è più supportato in OpenTX @@ -8720,123 +8720,123 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Unit - Unità + Unità Max Value - Valore MAX + Valore MAX Alarm 1 - Allarme 1 + Allarme 1 ---- - ---- + ---- Yellow - Giallo + Giallo Orange - Arancione + Arancione Red - Rosso + Rosso < - < + < > - > + > Alarm 2 - Allarme 2 + Allarme 2 Offset - Spostamento + Spostamento Volts (V) - Voltaggio (V) + Voltaggio (V) Amps (A) - Corrente (A) + Corrente (A) Speed (m/s or ft/s) - Velocità (m/s o ft/s) + Velocità (m/s o ft/s) Raw (-) - Grezza (-) + Grezza (-) Speed (km/h or miles/h) - Velocità (km/h o miglia/h) + Velocità (km/h o mph) Meters (m or ft) - Metri (m o ft) + Metri (m o ft) Temp (°) - Temperatura (°) + Temperatura (°) Fuel (%) - Carburante (%) + Carburante (%) mAmps (mA) - Corrente (mA) + Corrente (mA) Low Alarm - Allarme basso + Allarme basso Critical Alarm - Allarme critico + Allarme critico Range - Intervallo + Intervallo @@ -9279,12 +9279,12 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Air brakes are used to reduce the speed of advanced sail planes.<br>They are very uncommon on other types of planes. - + I diruttori sono utilizzati per rdurre la velocità degli alianti.<br>Non sono molto comuni in altri tipi di modelli. Models use two channels to control the elevons.<br>Select these two channels - + I modelli usano due canali per il controllo degli elevoni.<br>Selezionare i canali appropriati @@ -9300,12 +9300,12 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà Select the Rudder and Elevator channels.<br><br>Rudder - Spektrum: CH4, Futaba: CH4<br>Elevator - Spektrum: CH3, Futaba: CH2 - + Selezionare il canale del direzionale e dell'elevatore.<br><br>Direzionale - Spectrum: CH4, Futaba:.CH4<br>Elevatore - Spektrum: CH3, Futaba: CH2 Select the Elevator channel.<br><br>Elevator - Spektrum: CH3, Futaba: CH2 - + Selezionare il canale della ricevente al quale è connesso l'elevatore.<br><br>Es. Spectrum: CH3, Futaba:.CH2 @@ -9316,12 +9316,12 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà TBD. - + Select the control channels for your multirotor.<br><br>Throttle - Spektrum: CH1, Futaba: CH3<br>Yaw - Spektrum: CH4, Futaba: CH4<br>Pitch - Spektrum: CH3, Futaba: CH2<br>Roll - Spektrum: CH2, Futaba: CH1 - + Selezionare i canali per il vostro multirotore.<br><br>Motore - Spektrum: CH1, Futaba: CH3<br>Imbardata - Spektrum: CH4, Futaba: CH4<br>Beccheggio - Spektrum: CH3, Futaba: CH2<br>Rollio - Spektrum: CH2, Futaba: CH1 @@ -10497,7 +10497,7 @@ m2560 per le schede v4.1 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) From df80aa00c2202ba9e83e7921b269d18a97b3d20e Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Mon, 9 Jun 2014 19:13:02 +0200 Subject: [PATCH 23/80] Fix #1234 --- companion/src/firmwares/opentx/opentxinterface.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index 930cb1628..dfa747360 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -659,6 +659,7 @@ int OpenTxFirmware::getCapability(const Capability capability) case LuaInputs: case LimitsPer1000: case EnhancedCurves: + return IS_TARANIS(board); case HasFasOffset: return (IS_STOCK(board) ? false : true); case HasMahPersistent: From 71ba0328bdddee62714c2568ff2954cffe5d2cf9 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Mon, 9 Jun 2014 20:07:38 +0200 Subject: [PATCH 24/80] LS main view display on stock (Fix #1239) --- radio/src/gui/view_main.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/radio/src/gui/view_main.cpp b/radio/src/gui/view_main.cpp index bb59dd4ea..e96c42b5c 100644 --- a/radio/src/gui/view_main.cpp +++ b/radio/src/gui/view_main.cpp @@ -826,18 +826,15 @@ void menuMainView(uint8_t event) lcd_vline(x-1, VSWITCH_Y-len, len); lcd_vline(x, VSWITCH_Y-len, len); } -#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS > 2 - for (uint8_t i=0; i1 ? 3*FW+6 : 0), 4*FH+1 + (i%3)*FH, SWSRC_SW1+i, getSwitch(SWSRC_SW1+i) ? INVERS : 0); #elif defined(PCBGRUVIN9X) for (uint8_t i=0; i1 ? 3*FW : 0), 4*FH+1 + (i%3)*FH, SWSRC_SW1+i, getSwitch(SWSRC_SW1+i) ? INVERS : 0); + putsSwitches(2*FW-3 + (i/3)*(i/3>2 ? 3*FW+2 : (3*FW-1)) + (i/3>2 ? 2*FW : 0), 4*FH+1 + (i%3)*FH, SWSRC_SW1+i, getSwitch(SWSRC_SW1+i) ? INVERS : 0); #elif !defined(PCBSTD) for (uint8_t i=0; i Date: Mon, 9 Jun 2014 21:34:53 +0200 Subject: [PATCH 25/80] Update DONATIONS.txt --- DONATIONS.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/DONATIONS.txt b/DONATIONS.txt index 2ef2ad972..30be77024 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -442,4 +442,6 @@ DK-System Lexington S Morley Bernd Koehler Davis RC - +Pete Johnson +Patricia Martin +Florian Tschacher From ba10ec68b64566333ea3d5903f943d8e7c3b4574 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Mon, 9 Jun 2014 22:04:38 +0200 Subject: [PATCH 26/80] Fix flickering backlight in Plus bootloader --- radio/src/bootloader/boot.cpp | 1 + radio/src/targets/taranis/board_taranis.cpp | 14 -------------- radio/src/targets/taranis/lcd_driver.cpp | 15 ++++++++++++++- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/radio/src/bootloader/boot.cpp b/radio/src/bootloader/boot.cpp index dbb54c617..2bdaceaff 100644 --- a/radio/src/bootloader/boot.cpp +++ b/radio/src/bootloader/boot.cpp @@ -499,6 +499,7 @@ int main() #endif #if defined(PCBTARANIS) + turnBacklightOn(0, 0); keysInit(); I2C_EE_Init(); init_hw_timer(); diff --git a/radio/src/targets/taranis/board_taranis.cpp b/radio/src/targets/taranis/board_taranis.cpp index 60e24b8fa..c5651a094 100644 --- a/radio/src/targets/taranis/board_taranis.cpp +++ b/radio/src/targets/taranis/board_taranis.cpp @@ -169,17 +169,3 @@ void boardInit() } #endif - -#if defined(REVPLUS) -void turnBacklightOn(uint8_t level, uint8_t color) -{ - TIM4->CCR4 = (100-level)*color; - TIM4->CCR2 = (100-level)*(100-color); -} - -void turnBacklightOff(void) -{ - TIM4->CCR4 = 0; - TIM4->CCR2 = 0; -} -#endif diff --git a/radio/src/targets/taranis/lcd_driver.cpp b/radio/src/targets/taranis/lcd_driver.cpp index 48ce626f7..ac8e9beac 100644 --- a/radio/src/targets/taranis/lcd_driver.cpp +++ b/radio/src/targets/taranis/lcd_driver.cpp @@ -161,7 +161,7 @@ static void LCD_BL_Config() TIM4->CCMR2 = TIM_CCMR2_OC4M_1 | TIM_CCMR2_OC4M_2 ; // PWM TIM4->CCER = TIM_CCER_CC4E | TIM_CCER_CC2E ; - int BacklightBrightness = 40 ; + int BacklightBrightness = 0 ; TIM4->CCR2 = BacklightBrightness ; TIM4->CCR4 = BacklightBrightness ; TIM4->EGR = 0 ; @@ -257,3 +257,16 @@ void lcdSetRefVolt(uint8_t val) AspiCmd(val+CONTRAST_OFS); //0--255 } +#if defined(REVPLUS) +void turnBacklightOn(uint8_t level, uint8_t color) +{ + TIM4->CCR4 = (100-level)*color; + TIM4->CCR2 = (100-level)*(100-color); +} + +void turnBacklightOff(void) +{ + TIM4->CCR4 = 0; + TIM4->CCR2 = 0; +} +#endif From 9f9a561c8277c0650acf53344d11b36e5c73155d Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Mon, 9 Jun 2014 22:29:39 +0200 Subject: [PATCH 27/80] Compilation error --- radio/src/bootloader/boot.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/radio/src/bootloader/boot.cpp b/radio/src/bootloader/boot.cpp index 2bdaceaff..da402d0d8 100644 --- a/radio/src/bootloader/boot.cpp +++ b/radio/src/bootloader/boot.cpp @@ -499,7 +499,9 @@ int main() #endif #if defined(PCBTARANIS) +#if defined(REVPLUS) turnBacklightOn(0, 0); +#endif keysInit(); I2C_EE_Init(); init_hw_timer(); From 2b3242f863d5f25a5a9a6d86d55cb9a3761d7041 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Mon, 9 Jun 2014 22:41:17 +0200 Subject: [PATCH 28/80] Compilation error --- radio/src/simpgmspace.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/radio/src/simpgmspace.cpp b/radio/src/simpgmspace.cpp index f3e8b78c7..a527660ff 100644 --- a/radio/src/simpgmspace.cpp +++ b/radio/src/simpgmspace.cpp @@ -678,5 +678,7 @@ void unlockFlash() { } void lockFlash() { } void writeFlash(uint32_t *address, uint32_t *buffer) { SIMU_SLEEP(100); } uint32_t isBootloaderStart(const void *block) { return 1; } +void turnBacklightOn(uint8_t level, uint8_t color) { } +void turnBacklightOff(void) { } #endif From 73b0090840177c0bc49080728531e74a6e264875 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Mon, 9 Jun 2014 22:52:39 +0200 Subject: [PATCH 29/80] Update DONATIONS.txt --- DONATIONS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index 30be77024..5533f827f 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -445,3 +445,4 @@ Davis RC Pete Johnson Patricia Martin Florian Tschacher +Brian Spearing From 2706a3d81c602a6f55857b4f1591a4e080d8a642 Mon Sep 17 00:00:00 2001 From: bsongis Date: Mon, 9 Jun 2014 22:51:39 +0200 Subject: [PATCH 30/80] #1237 - Curves tab initialization bug (all boards except Taranis) --- companion/src/modeledit/curves.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/companion/src/modeledit/curves.cpp b/companion/src/modeledit/curves.cpp index 72657d9ef..20817a67c 100644 --- a/companion/src/modeledit/curves.cpp +++ b/companion/src/modeledit/curves.cpp @@ -246,12 +246,13 @@ void Curves::updateCurveType() index = model.curves[currentCurve].count - 2; } else { + ui->curveSmooth->hide(); if (model.curves[currentCurve].count == 5) - index += 2; + index = 1; else if (model.curves[currentCurve].count == 9) - index += 4; + index = 2; else if (model.curves[currentCurve].count == 17) - index += 6; + index = 3; } ui->curvePoints->setCurrentIndex(index); From d93b63d85ce02f6deb9b7146ab9e04415ebb9ed4 Mon Sep 17 00:00:00 2001 From: bsongis Date: Mon, 9 Jun 2014 23:06:59 +0200 Subject: [PATCH 31/80] Fixes #1237 --- .../src/firmwares/opentx/opentxeeprom.cpp | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index bf6e2faef..3a55cc2c7 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -1247,13 +1247,20 @@ class CurvesField: public TransformedField { for (int i=0; itype == CurveData::CURVE_TYPE_CUSTOM ? curve->count * 2 - 2 : curve->count); - if (offset+size > maxPoints) { - EEPROMWarnings += ::QObject::tr("OpenTX only accepts %1 points in all curves").arg(maxPoints) + "\n"; - break; + if (IS_TARANIS(board) && version >= 216) { + offset += (curve->type == CurveData::CURVE_TYPE_CUSTOM ? curve->count * 2 - 2 : curve->count); + if (offset > maxPoints) { + EEPROMWarnings += ::QObject::tr("OpenTX only accepts %1 points in all curves").arg(maxPoints) + "\n"; + break; + } } - if (!IS_TARANIS(board) || version < 216) { - _curves[i] = offset - (5*i); + else { + offset += (curve->type == CurveData::CURVE_TYPE_CUSTOM ? curve->count * 2 - 2 : curve->count) - 5; + if (offset > maxPoints - 5 * maxCurves) { + EEPROMWarnings += ::QObject::tr("openTx only accepts %1 points in all curves").arg(maxPoints) + "\n"; + break; + } + _curves[i] = offset; } for (int j=0; jcount; j++) { *cur++ = curve->points[j].y; @@ -1263,7 +1270,6 @@ class CurvesField: public TransformedField { *cur++ = curve->points[j].x; } } - offset += size; } } From bb71cd35f8a2de3db97277e34a52611d7019318e Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 10 Jun 2014 06:55:26 +0200 Subject: [PATCH 32/80] Update DONATIONS.txt --- DONATIONS.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index 5533f827f..a6be9da96 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -446,3 +446,6 @@ Pete Johnson Patricia Martin Florian Tschacher Brian Spearing +Craig Hall +Joseph Case +Harald Klein From 9791509ec142d327d6bda7801a4e04499add1e7a Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 10 Jun 2014 08:14:59 +0200 Subject: [PATCH 33/80] Fixes #1219 --- companion/src/firmwares/opentx/opentxeeprom.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index 3a55cc2c7..58d756264 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -1789,7 +1789,7 @@ class ArmCustomFunctionField: public TransformedField { { _mode = 0; - if (fn.func == FuncPlaySound || fn.func == FuncPlayPrompt || fn.func == FuncPlayValue) + if (fn.func == FuncPlaySound || fn.func == FuncPlayPrompt || fn.func == FuncPlayValue || fn.func == FuncPlayHaptic) _active = (version >= 216 ? fn.repeatParam : (fn.repeatParam/5)); else _active = (fn.enabled ? 1 : 0); @@ -1861,7 +1861,7 @@ class ArmCustomFunctionField: public TransformedField { virtual void afterImport() { - if (fn.func == FuncPlaySound || fn.func == FuncPlayPrompt || fn.func == FuncPlayValue) + if (fn.func == FuncPlaySound || fn.func == FuncPlayPrompt || fn.func == FuncPlayValue || fn.func == FuncPlayHaptic) fn.repeatParam = (version >= 216 ? _active : (_active*5)); else fn.enabled = (_active & 0x01); From f4ee34dcc94081ff4284338c03099e44d06d4bc5 Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 10 Jun 2014 08:36:52 +0200 Subject: [PATCH 34/80] Fixes #1232 --- radio/src/opentx.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index b405931cb..5c2e2f75c 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -1833,7 +1833,7 @@ void evalFunctions() CustomFnData *sd = &g_model.funcSw[i]; int8_t swtch = CFN_SWITCH(sd); if (swtch) { - MASK_CFN_TYPE switch_mask = ((MASK_CFN_TYPE)1 << i); + MASK_CFN_TYPE switch_mask = ((MASK_CFN_TYPE)1 << i); bool active = getSwitch(swtch); @@ -2025,6 +2025,10 @@ void evalFunctions() PUSH_CUSTOM_PROMPT(active ? param : param+1, i+1); } } + if (!active) { + // PLAY_BOTH would change activeFnSwitches otherwise + switch_mask = 0; + } break; } #else From cc0552d1a2c943d7ed0e949fada1fce640e27e77 Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 10 Jun 2014 09:06:53 +0200 Subject: [PATCH 35/80] Fixes #1227 - Constant INSTANT_TRIM_MARGIN set to 1%, needs to be checked and adjusted! --- radio/src/opentx.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 5c2e2f75c..641ef220f 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -3007,6 +3007,8 @@ ISR(USART0_UDRE_vect) #endif #endif +#define INSTANT_TRIM_MARGIN 10 /* around 1% */ + void instantTrim() { evalInputs(e_perout_mode_notrainer); @@ -3016,11 +3018,14 @@ void instantTrim() // don't instant trim the throttle stick uint8_t trim_phase = getTrimFlightPhase(s_current_mixer_flight_mode, i); #if defined(PCBTARANIS) - int16_t trim = limit(TRIM_EXTENDED_MIN, (calibratedStick[i] + trims[i]) / 2, TRIM_EXTENDED_MAX); + int16_t delta = calibratedStick[i]; #else - int16_t trim = limit(TRIM_EXTENDED_MIN, (anas[i] + trims[i]) / 2, TRIM_EXTENDED_MAX); + int16_t delta = anas[i]; #endif - setTrimValue(trim_phase, i, trim); + if (abs(delta) >= INSTANT_TRIM_MARGIN) { + int16_t trim = limit(TRIM_EXTENDED_MIN, (delta + trims[i]) / 2, TRIM_EXTENDED_MAX); + setTrimValue(trim_phase, i, trim); + } } } From 0281a5bb227561616bab2b1e7ccd37e3fd878e2f Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Tue, 10 Jun 2014 09:19:34 +0200 Subject: [PATCH 36/80] Had forgotten to bump bootloader version up --- radio/src/bootloader/boot.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radio/src/bootloader/boot.cpp b/radio/src/bootloader/boot.cpp index da402d0d8..51f6aa0da 100644 --- a/radio/src/bootloader/boot.cpp +++ b/radio/src/bootloader/boot.cpp @@ -64,7 +64,7 @@ #include "../translations/en.h" #if defined(PCBTARANIS) - #define BOOTLOADER_TITLE " Taranis BootLoader - v1.0" + #define BOOTLOADER_TITLE " Taranis BootLoader - v1.1" #define BOOT_KEY_UP KEY_PLUS #define BOOT_KEY_DOWN KEY_MINUS #define BOOT_KEY_LEFT KEY_MENU From 3dff1fdac7cc7ce9f0cea00c6f36038e735f66d5 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 10 Jun 2014 09:31:13 +0200 Subject: [PATCH 37/80] Update DONATIONS.txt --- DONATIONS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index a6be9da96..b3e7bd465 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -449,3 +449,4 @@ Brian Spearing Craig Hall Joseph Case Harald Klein +Robert Crockford From 4305935fd431742c3e6ae6bbff7260d9427cf6d6 Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 10 Jun 2014 09:39:12 +0200 Subject: [PATCH 38/80] Cosmetics --- companion/src/firmwares/opentx/opentxinterface.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index dfa747360..b7a5df9aa 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -504,7 +504,7 @@ int OpenTxFirmware::getCapability(const Capability capability) return 1; case GvarsAreNamed: case GvarsFlightModes: - return ((IS_ARM(board)||(board==BOARD_GRUVIN9X)) ? 1 : 0); + return ((IS_ARM(board) || board==BOARD_GRUVIN9X) ? 1 : 0); case Mixes: return (IS_ARM(board) ? O9X_ARM_MAX_MIXERS : O9X_MAX_MIXERS); case OffsetWeight: From 9be2755d912db04c3b291508b3d8b8a45271ff3c Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 10 Jun 2014 11:35:47 +0200 Subject: [PATCH 39/80] Fixes #1235 --- radio/src/opentx.cpp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 641ef220f..0157c8142 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -1082,7 +1082,9 @@ void checkTHR() else { calibratedStick[thrchn] = -1024; #if !defined(PCBTARANIS) - rawAnas[thrchn] = anas[thrchn] = calibratedStick[thrchn]; + if (thrchn < NUM_STICKS) { + rawAnas[thrchn] = anas[thrchn] = calibratedStick[thrchn]; + } #endif MESSAGE(STR_THROTTLEWARN, STR_THROTTLENOTIDLE, STR_PRESSANYKEYTOSKIP, AU_THROTTLE_ALERT); } @@ -2156,11 +2158,11 @@ void doMixerCalculations() val = val - gModelMin; #if defined(PPM_LIMITS_SYMETRICAL) - if (lim->symetrical) + if (lim->symetrical) { val -= calc1000toRESX(lim->offset); + } #endif - gModelMax -= gModelMin; // we compare difference between Max and Mix for recaling needed; Max and Min are shifted to 0 by default // usually max is 1024 min is -1024 --> max-min = 2048 full range @@ -2182,7 +2184,7 @@ void doMixerCalculations() #ifdef PCBTARANIS val = RESX + calibratedStick[g_model.thrTraceSrc == 0 ? THR_STICK : g_model.thrTraceSrc+NUM_STICKS-1]; #else - val = RESX + rawAnas[g_model.thrTraceSrc == 0 ? THR_STICK : g_model.thrTraceSrc+NUM_STICKS-1]; + val = RESX + (g_model.thrTraceSrc == 0 ? rawAnas[THR_STICK] : calibratedStick[g_model.thrTraceSrc+NUM_STICKS-1]); #endif } @@ -2205,8 +2207,6 @@ void doMixerCalculations() timerState->sum = 0; } - // value for time described in timer->mode - // OFFABSTHsTH%THt if (tm == TMRMODE_THR_REL) { timerState->cnt++; timerState->sum+=val; @@ -2227,21 +2227,22 @@ void doMixerCalculations() // @@@ open.20.fsguruh: why so complicated? we have already a s_sum field; use it for the half seconds (not showable) as well // check for s_cnt[i]==0 is not needed because we are shure it is at least 1 #if defined(ACCURAT_THROTTLE_TIMER) - if ((timerState->sum/timerState->cnt)>=128) { // throttle was normalized to 0 to 128 value (throttle/64*2 (because - range is added as well) + if ((timerState->sum/timerState->cnt) >= 128) { // throttle was normalized to 0 to 128 value (throttle/64*2 (because - range is added as well) newTimerVal++; // add second used of throttle - timerState->sum-=128*timerState->cnt; + timerState->sum -= 128*timerState->cnt; } #else - if ((timerState->sum/timerState->cnt)>=32) { // throttle was normalized to 0 to 32 value (throttle/16*2 (because - range is added as well) + if ((timerState->sum/timerState->cnt) >= 32) { // throttle was normalized to 0 to 32 value (throttle/16*2 (because - range is added as well) newTimerVal++; // add second used of throttle - timerState->sum-=32*timerState->cnt; + timerState->sum -= 32*timerState->cnt; } #endif timerState->cnt=0; } else if (tm == TMRMODE_THR_TRG) { - if (val || newTimerVal > 0) + if (val || newTimerVal > 0) { newTimerVal++; + } } else { if (tm > 0) tm -= (TMR_VAROFS-1); From 123d5c1be89b94f4e79a7cbaed63218e9f48866d Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 10 Jun 2014 14:36:35 +0200 Subject: [PATCH 40/80] Fixes #1242 --- radio/src/bootloader/boot.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/radio/src/bootloader/boot.cpp b/radio/src/bootloader/boot.cpp index 51f6aa0da..7ea8a9de0 100644 --- a/radio/src/bootloader/boot.cpp +++ b/radio/src/bootloader/boot.cpp @@ -62,9 +62,10 @@ #include "../FatFs/ff.h" #include "../FatFs/diskio.h" #include "../translations/en.h" +#include "../stamp-opentx.h" #if defined(PCBTARANIS) - #define BOOTLOADER_TITLE " Taranis BootLoader - v1.1" + #define BOOTLOADER_TITLE " Taranis BootLoader - " VERS_STR #define BOOT_KEY_UP KEY_PLUS #define BOOT_KEY_DOWN KEY_MINUS #define BOOT_KEY_LEFT KEY_MENU @@ -73,7 +74,7 @@ #define BOOT_KEY_EXIT KEY_EXIT #define DISPLAY_CHAR_WIDTH 35 #elif defined(PCBSKY9X) - #define BOOTLOADER_TITLE "Sky9x Boot Loader - v1.0" + #define BOOTLOADER_TITLE "Sky9x Boot Loader - " VERS_STR #endif const uint8_t bootloaderVersion[] __attribute__ ((section(".version"), used)) = From 72dc022dc9d25ba76904ff69cdfe4aff55ae2c83 Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 10 Jun 2014 14:50:37 +0200 Subject: [PATCH 41/80] Fixes #1182 - RxBatt removed --- companion/src/eeprominterface.cpp | 3 +- companion/src/eeprominterface.h | 3 - .../src/firmwares/opentx/opentxeeprom.cpp | 13 +- companion/src/modeledit/telemetry.cpp | 29 - companion/src/modeledit/telemetry.h | 2 - companion/src/modeledit/telemetry.ui | 560 +++++++----------- radio/src/eeprom_conversions.cpp | 7 +- radio/src/gui/menu_model.cpp | 30 +- radio/src/gui/menus.cpp | 3 + radio/src/gui/view_main.cpp | 6 +- radio/src/gui/view_telemetry.cpp | 5 - radio/src/lcd.cpp | 17 - radio/src/mixer.cpp | 1 - radio/src/myeeprom.h | 7 +- radio/src/opentx.cpp | 7 - radio/src/telemetry/frsky.cpp | 20 +- radio/src/telemetry/frsky.h | 1 - radio/src/telemetry/frsky_sport.cpp | 2 +- radio/src/translations/cz.h.txt | 4 +- radio/src/translations/de.h.txt | 4 +- radio/src/translations/en.h.txt | 14 +- radio/src/translations/es.h.txt | 4 +- radio/src/translations/fi.h.txt | 4 +- radio/src/translations/fr.h.txt | 12 +- radio/src/translations/it.h.txt | 2 +- radio/src/translations/pl.h.txt | 4 +- radio/src/translations/pt.h.txt | 4 +- radio/src/translations/se.h.txt | 4 +- 28 files changed, 256 insertions(+), 516 deletions(-) diff --git a/companion/src/eeprominterface.cpp b/companion/src/eeprominterface.cpp index 16318dd0c..b877cdf0b 100644 --- a/companion/src/eeprominterface.cpp +++ b/companion/src/eeprominterface.cpp @@ -263,7 +263,7 @@ QString RawSource::toString() static const QString telemetry[] = { QObject::tr("Batt"), QObject::tr("Time"), QObject::tr("Timer1"), QObject::tr("Timer2"), - QObject::tr("SWR"), QObject::tr("RSSI Tx"), QObject::tr("RSSI Rx"), QObject::tr("Rx Batt"), + QObject::tr("SWR"), QObject::tr("RSSI Tx"), QObject::tr("RSSI Rx"), QObject::tr("A1"), QObject::tr("A2"), QObject::tr("A3"), QObject::tr("A4"), QObject::tr("Alt"), QObject::tr("Rpm"), QObject::tr("Fuel"), QObject::tr("T1"), QObject::tr("T2"), QObject::tr("Speed"), QObject::tr("Dist"), QObject::tr("GPS Alt"), @@ -991,7 +991,6 @@ void FrSkyData::clear() memset(this, 0, sizeof(FrSkyData)); rssiAlarms[0].clear(2, 45); rssiAlarms[1].clear(3, 42); - rxBattAlarms[1] = round(43.0*255/132); varioSource = 2/*VARIO*/; blades = 2; } diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h index c280d2202..9f540ca7c 100644 --- a/companion/src/eeprominterface.h +++ b/companion/src/eeprominterface.h @@ -229,7 +229,6 @@ enum TelemetrySource { TELEMETRY_SOURCE_SWR, TELEMETRY_SOURCE_RSSI_TX, TELEMETRY_SOURCE_RSSI_RX, - TELEMETRY_SOURCE_RX_BATT, TELEMETRY_SOURCE_A1, TELEMETRY_SOURCE_A2, TELEMETRY_SOURCE_A3, @@ -871,7 +870,6 @@ enum TelemetryVarioSources { }; enum TelemetryVoltsSources { - TELEMETRY_VOLTS_SOURCE_RXBATT, TELEMETRY_VOLTS_SOURCE_A1, TELEMETRY_VOLTS_SOURCE_A2, TELEMETRY_VOLTS_SOURCE_A3, @@ -910,7 +908,6 @@ class FrSkyData { bool mAhPersistent; unsigned int storedMah; int fasOffset; - unsigned int rxBattAlarms[2]; void clear(); }; diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index 58d756264..1acb9fb3e 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -260,15 +260,17 @@ class SourcesConversionTable: public ConversionTable { for (int i=0; i= 216 && IS_ARM(board)) { + if (i==TELEMETRY_SOURCE_RSSI_RX) + val += 1; if (i==TELEMETRY_SOURCE_TX_TIME) val += 5; if (i==TELEMETRY_SOURCE_DTE) @@ -414,7 +416,7 @@ class TelemetrySourcesConversionTable: public ConversionTable { addConversion(1+TELEMETRY_SOURCE_RSSI_TX, val++); addConversion(1+TELEMETRY_SOURCE_RSSI_RX, val++); if (IS_ARM(board) && version >= 216) - addConversion(1+TELEMETRY_SOURCE_RX_BATT, val++); + addConversion(1+TELEMETRY_SOURCE_RESERVE, val++); addConversion(1+TELEMETRY_SOURCE_A1, val++); addConversion(1+TELEMETRY_SOURCE_A2, val++); if (IS_ARM(board) && version >= 216) { @@ -2208,8 +2210,6 @@ class TelemetryVoltsSourceConversionTable: public ConversionTable TelemetryVoltsSourceConversionTable(BoardEnum board, unsigned int version) { int val = 0; - if (IS_ARM(board) && version >= 216) - addConversion(TELEMETRY_VOLTS_SOURCE_RXBATT, val++); addConversion(TELEMETRY_VOLTS_SOURCE_A1, val++); addConversion(TELEMETRY_VOLTS_SOURCE_A2, val++); if (IS_ARM(board) && version >= 216) { @@ -2575,8 +2575,7 @@ OpenTxModelData::OpenTxModelData(ModelData & modelData, BoardEnum board, unsigne } if (IS_ARM(board) && version >= 216) { - internalField.Append(new UnsignedField<8>(modelData.frsky.rxBattAlarms[0])); - internalField.Append(new UnsignedField<8>(modelData.frsky.rxBattAlarms[1])); + internalField.Append(new SpareBitsField<16>()); } } diff --git a/companion/src/modeledit/telemetry.cpp b/companion/src/modeledit/telemetry.cpp index 655776f3e..2b2c8c7c4 100644 --- a/companion/src/modeledit/telemetry.cpp +++ b/companion/src/modeledit/telemetry.cpp @@ -530,20 +530,6 @@ void TelemetryPanel::setup() lock = true; - if (IS_ARM(firmware->getBoard())) { - ui->rxbattAlarm1DSB->setValue((13.2*model.frsky.rxBattAlarms[0])/255); - ui->rxbattAlarm2DSB->setValue((13.2*model.frsky.rxBattAlarms[1])/255); - } - else { - ui->rxbattLabel->hide(); - ui->rxbattAlarm1Label->hide(); - ui->rxbattAlarm2Label->hide(); - ui->rxbattAlarm1CB->hide(); - ui->rxbattAlarm2CB->hide(); - ui->rxbattAlarm1DSB->hide(); - ui->rxbattAlarm2DSB->hide(); - } - ui->rssiAlarm1SB->setValue(model.frsky.rssiAlarms[0].value); ui->rssiAlarm2SB->setValue(model.frsky.rssiAlarms[1].value); if (!IS_TARANIS(GetEepromInterface()->getBoard())) { @@ -692,9 +678,6 @@ void TelemetryPanel::populateVoltsSource() { QUnsignedAutoComboBox * cb = ui->frskyVoltCB; cb->setField(&model.frsky.voltsSource, this); - if (IS_ARM(firmware->getBoard())) { - cb->addItem(tr("RxBatt"), TELEMETRY_VOLTS_SOURCE_RXBATT); - } cb->addItem(tr("A1"), TELEMETRY_VOLTS_SOURCE_A1); cb->addItem(tr("A2"), TELEMETRY_VOLTS_SOURCE_A2); if (IS_ARM(firmware->getBoard())) { @@ -790,18 +773,6 @@ void TelemetryPanel::on_varioLimitMin_DSB_editingFinished() emit modified(); } -void TelemetryPanel::on_rxbattAlarm1DSB_editingFinished() -{ - model.frsky.rxBattAlarms[0] = round(ui->rxbattAlarm1DSB->value()/(13.2/255)); - emit modified(); -} - -void TelemetryPanel::on_rxbattAlarm2DSB_editingFinished() -{ - model.frsky.rxBattAlarms[1] = round(ui->rxbattAlarm2DSB->value()/(13.2/255)); - emit modified(); -} - void TelemetryPanel::on_varioLimitMax_DSB_editingFinished() { model.frsky.varioMax = round(ui->varioLimitMax_DSB->value()-10); diff --git a/companion/src/modeledit/telemetry.h b/companion/src/modeledit/telemetry.h index 631f6d785..6694ae319 100644 --- a/companion/src/modeledit/telemetry.h +++ b/companion/src/modeledit/telemetry.h @@ -93,8 +93,6 @@ class TelemetryPanel : public ModelPanel void on_rssiAlarm2CB_currentIndexChanged(int index); void on_rssiAlarm1SB_editingFinished(); void on_rssiAlarm2SB_editingFinished(); - void on_rxbattAlarm1DSB_editingFinished(); - void on_rxbattAlarm2DSB_editingFinished(); void on_AltitudeGPS_ChkB_toggled(bool checked); void on_varioLimitMin_DSB_editingFinished(); void on_varioLimitMax_DSB_editingFinished(); diff --git a/companion/src/modeledit/telemetry.ui b/companion/src/modeledit/telemetry.ui index df30da3fc..24ca7eb31 100644 --- a/companion/src/modeledit/telemetry.ui +++ b/companion/src/modeledit/telemetry.ui @@ -437,356 +437,6 @@ - - - - - 0 - 0 - - - - false - - - - 0 - - - 0 - - - 3 - - - 3 - - - - - - 0 - 0 - - - - - 0 - 0 - - - - Alarm 2 - - - - - - - - 0 - 0 - - - - - 0 - 0 - - - - - - - Alarm 1 - - - - - - - - 75 - true - - - - RxBatt - - - - - - - false - - - - 0 - 0 - - - - - Critical Alarm - - - - - - - - - 0 - 0 - - - - - 0 - 0 - - - - - - - Alarm 1 - - - - - - - - 0 - 0 - - - - - ---- - - - - - Yellow - - - - - Orange - - - - - Red - - - - - - - - true - - - - 0 - 0 - - - - - - - 20 - - - 80 - - - 1 - - - 50 - - - - - - - - 0 - 0 - - - - - 0 - 0 - - - - Alarm 2 - - - - - - - - 0 - 0 - - - - - ---- - - - - - Yellow - - - - - Orange - - - - - Red - - - - - - - - true - - - - 0 - 0 - - - - - - - 20 - - - 80 - - - 1 - - - 50 - - - - - - - - 75 - true - - - - RSSI - - - - - - - false - - - - 0 - 0 - - - - - Low Alarm - - - - - - - - Qt::Vertical - - - - 20 - 0 - - - - - - - - - 0 - 0 - - - - 2 - - - 0.000000000000000 - - - 13.199999999999999 - - - 0.050000000000000 - - - 4.300000000000000 - - - - - - - - 0 - 0 - - - - 2 - - - 0.000000000000000 - - - 13.199999999999999 - - - 0.051764000000000 - - - 4.300000000000000 - - - - - - @@ -1213,6 +863,216 @@ + + + + + 0 + 0 + + + + false + + + + 0 + + + 0 + + + 3 + + + 3 + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + + + Alarm 1 + + + + + + + + 0 + 0 + + + + + ---- + + + + + Yellow + + + + + Orange + + + + + Red + + + + + + + + true + + + + 0 + 0 + + + + + + + 20 + + + 80 + + + 1 + + + 50 + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + Alarm 2 + + + + + + + + 0 + 0 + + + + + ---- + + + + + Yellow + + + + + Orange + + + + + Red + + + + + + + + true + + + + 0 + 0 + + + + + + + 20 + + + 80 + + + 1 + + + 50 + + + + + + + + 75 + true + + + + RSSI + + + + + + + Qt::Vertical + + + + 20 + 0 + + + + + + + diff --git a/radio/src/eeprom_conversions.cpp b/radio/src/eeprom_conversions.cpp index ecd8d1001..c6fea9d19 100644 --- a/radio/src/eeprom_conversions.cpp +++ b/radio/src/eeprom_conversions.cpp @@ -338,8 +338,8 @@ int ConvertTelemetrySource_215_to_216(int source) // TELEM_RSSI_TX added if (source >= TELEM_RSSI_TX) source += 1; - // RxBatt added - if (source >= TELEM_RXBATT) + // Reserve added + if (source >= TELEM_RESERVE0) source += 1; // A3 and A4 added if (source >= TELEM_A3) @@ -838,9 +838,6 @@ void ConvertModel_215_to_216(ModelData &model) memcpy(&g_model.frsky, &oldModel.frsky, 2*sizeof(FrSkyChannelData)); // gap for A3-A4 memcpy(((uint8_t *)&g_model.frsky) + 4*sizeof(FrSkyChannelData), ((uint8_t *)&oldModel.frsky) + 2*sizeof(FrSkyChannelData), sizeof(oldModel.frsky) - 2*sizeof(FrSkyChannelData)); - // RxBatt introduced - if (g_model.frsky.voltsSource >= FRSKY_VOLTS_SOURCE_A1) - g_model.frsky.voltsSource += 1; // A3 and A4 introduced if (g_model.frsky.voltsSource >= FRSKY_VOLTS_SOURCE_A3) g_model.frsky.voltsSource += 2; diff --git a/radio/src/gui/menu_model.cpp b/radio/src/gui/menu_model.cpp index 0164c447a..4f76f41a2 100644 --- a/radio/src/gui/menu_model.cpp +++ b/radio/src/gui/menu_model.cpp @@ -5361,11 +5361,6 @@ void menuModelCustomScripts(uint8_t event) enum menuModelTelemetryItems { CASE_CPUARM(ITEM_TELEMETRY_PROTOCOL_TYPE) -#if defined(CPUARM) - ITEM_TELEMETRY_RXBATT_LABEL, - ITEM_TELEMETRY_RXBATT_ALARM1, - ITEM_TELEMETRY_RXBATT_ALARM2, -#endif ITEM_TELEMETRY_A1_LABEL, ITEM_TELEMETRY_A1_RANGE, ITEM_TELEMETRY_A1_OFFSET, @@ -5463,12 +5458,6 @@ enum menuModelTelemetryItems { #define TELEM_SCRTYPE_COL (10*FW) #endif -#if defined(CPUARM) - #define RXBATT_ROWS LABEL(RXBATT), 0, 0, -#else - #define RXBATT_ROWS -#endif - #if defined(PCBTARANIS) #define CHANNEL_ROWS LABEL(CHANNEL), 1, 0, 0, 0 #define RSSI_ROWS LABEL(RSSI), 0, 0 @@ -5497,7 +5486,7 @@ enum menuModelTelemetryItems { void menuModelTelemetry(uint8_t event) { - MENU(STR_MENUTELEMETRY, menuTabModel, e_Telemetry, ITEM_TELEMETRY_MAX+1, {0, CASE_CPUARM(0) RXBATT_ROWS CHANNEL_ROWS, CHANNEL_ROWS, CASE_CPUARM(CHANNEL_ROWS) CASE_CPUARM(CHANNEL_ROWS) RSSI_ROWS, USRDATA_LINES 0, 0, IF_FAS_OFFSET(0) CASE_CPUARM(0) CASE_VARIO(LABEL(Vario)) CASE_VARIO(0) CASE_VARIO(VARIO_RANGE_ROWS) CASE_PCBTARANIS(LABEL(TopBar)) CASE_PCBTARANIS(0) SCREEN_TYPE_ROWS, 2, 2, 2, 2, SCREEN_TYPE_ROWS, 2, 2, 2, 2, CASE_CPUARM(SCREEN_TYPE_ROWS) CASE_CPUARM(2) CASE_CPUARM(2) CASE_CPUARM(2) CASE_CPUARM(2)}); + MENU(STR_MENUTELEMETRY, menuTabModel, e_Telemetry, ITEM_TELEMETRY_MAX+1, {0, CASE_CPUARM(0) CHANNEL_ROWS, CHANNEL_ROWS, CASE_CPUARM(CHANNEL_ROWS) CASE_CPUARM(CHANNEL_ROWS) RSSI_ROWS, USRDATA_LINES 0, 0, IF_FAS_OFFSET(0) CASE_CPUARM(0) CASE_VARIO(LABEL(Vario)) CASE_VARIO(0) CASE_VARIO(VARIO_RANGE_ROWS) CASE_PCBTARANIS(LABEL(TopBar)) CASE_PCBTARANIS(0) SCREEN_TYPE_ROWS, 2, 2, 2, 2, SCREEN_TYPE_ROWS, 2, 2, 2, 2, CASE_CPUARM(SCREEN_TYPE_ROWS) CASE_CPUARM(2) CASE_CPUARM(2) CASE_CPUARM(2) CASE_CPUARM(2)}); uint8_t sub = m_posVert - 1; @@ -5540,23 +5529,6 @@ void menuModelTelemetry(uint8_t event) break; #endif -#if defined(CPUARM) - case ITEM_TELEMETRY_RXBATT_LABEL: - lcd_putsLeft(y, "RxBatt"); - putsTelemetryChannel(TELEM_COL2+6*FW, y, TELEM_RXBATT-1, frskyData.analog[TELEM_ANA_RXBATT].value, LEFT); - break; - case ITEM_TELEMETRY_RXBATT_ALARM1: - case ITEM_TELEMETRY_RXBATT_ALARM2: - { - uint8_t alarm = (k==ITEM_TELEMETRY_RXBATT_ALARM1 ? 0 : 1); - lcd_putsLeft(y, (alarm==0 ? STR_LOWALARM : STR_CRITICALALARM)); - putsTelemetryChannel(TELEM_COL2, y, TELEM_RXBATT-1, g_model.rxBattAlarms[alarm], LEFT|attr); - if (attr && (s_editMode>0 || p1valdiff)) { - g_model.rxBattAlarms[alarm] = checkIncDec(event, g_model.rxBattAlarms[alarm], 0, 255, EE_MODEL); - } - break; - } -#endif case ITEM_TELEMETRY_A1_LABEL: case ITEM_TELEMETRY_A2_LABEL: #if defined(CPUARM) diff --git a/radio/src/gui/menus.cpp b/radio/src/gui/menus.cpp index aa3477b70..a573fc313 100644 --- a/radio/src/gui/menus.cpp +++ b/radio/src/gui/menus.cpp @@ -1451,6 +1451,9 @@ bool isTelemetrySourceAvailable(int source) return false; #endif + if (source == TELEM_RESERVE0) + return false; + if (source >= TELEM_RESERVE1 && source <= TELEM_RESERVE5) return false; diff --git a/radio/src/gui/view_main.cpp b/radio/src/gui/view_main.cpp index e96c42b5c..7da3010c8 100644 --- a/radio/src/gui/view_main.cpp +++ b/radio/src/gui/view_main.cpp @@ -252,11 +252,7 @@ void displayTopBar() /* Rx voltage */ lcdint_t voltage = 0; uint8_t channel = 0; - if (g_model.frsky.voltsSource == FRSKY_VOLTS_SOURCE_RXBATT) { - channel = TELEM_RXBATT-1; - voltage = frskyData.analog[TELEM_ANA_RXBATT].value; - } - else if (g_model.frsky.voltsSource <= FRSKY_VOLTS_SOURCE_A4) { + if (g_model.frsky.voltsSource <= FRSKY_VOLTS_SOURCE_A4) { channel = TELEM_A1+g_model.frsky.voltsSource-1; voltage = frskyData.analog[g_model.frsky.voltsSource].value; } diff --git a/radio/src/gui/view_telemetry.cpp b/radio/src/gui/view_telemetry.cpp index 516c58724..5c84fc3fd 100644 --- a/radio/src/gui/view_telemetry.cpp +++ b/radio/src/gui/view_telemetry.cpp @@ -347,11 +347,6 @@ void menuTelemetryFrsky(uint8_t event) lcd_putsiAtt(0, 2*FH, STR_AMPSRC, g_model.frsky.voltsSource+1, 0); #endif switch (g_model.frsky.voltsSource) { -#if defined(CPUARM) - case FRSKY_VOLTS_SOURCE_RXBATT: - putsTelemetryChannel(3*FW+6*FW+4, FH+1, TELEM_RXBATT-1, frskyData.analog[TELEM_ANA_RXBATT].value, DBLSIZE); - break; -#endif case FRSKY_VOLTS_SOURCE_A1: case FRSKY_VOLTS_SOURCE_A2: #if defined(CPUARM) diff --git a/radio/src/lcd.cpp b/radio/src/lcd.cpp index ac2c05004..98b69c797 100644 --- a/radio/src/lcd.cpp +++ b/radio/src/lcd.cpp @@ -1219,23 +1219,6 @@ void putsTelemetryChannel(xcoord_t x, uint8_t y, uint8_t channel, lcdint_t val, att &= ~NO_UNIT; putsTimer(x, y, val, att, att); break; -#if defined(CPUARM) - case TELEM_RXBATT-1: - val = ((val*1320) + 127) / 255; -#if LCD_W >= 212 - att |= PREC2; -#else - if (abs(val) < 1000) { - att |= PREC2; - } - else { - val = div10_and_round(val); - att |= PREC1; - } -#endif - putsTelemetryValue(x, y, val, UNIT_VOLTS, att); - break; -#endif #if defined(FRSKY) case TELEM_MIN_A1-1: case TELEM_MIN_A2-1: diff --git a/radio/src/mixer.cpp b/radio/src/mixer.cpp index 610e5ac6d..949d749f0 100755 --- a/radio/src/mixer.cpp +++ b/radio/src/mixer.cpp @@ -329,7 +329,6 @@ getvalue_t getValue(uint8_t i) #if defined(FRSKY) #if defined(CPUARM) else if (i==MIXSRC_FIRST_TELEM-1+TELEM_SWR) return frskyData.swr.value; - else if (i==MIXSRC_FIRST_TELEM-1+TELEM_RXBATT) return frskyData.analog[TELEM_ANA_RXBATT].value; #endif else if (i==MIXSRC_FIRST_TELEM-1+TELEM_RSSI_TX) return frskyData.rssi[1].value; else if (i==MIXSRC_FIRST_TELEM-1+TELEM_RSSI_RX) return frskyData.rssi[0].value; diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index 2253003fc..22f41ed9c 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -326,7 +326,7 @@ PACK(typedef struct t_ScriptData { TRAINER_MODULE }; #define MODELDATA_BITMAP char bitmap[LEN_BITMAP_NAME]; - #define MODELDATA_EXTRA uint8_t externalModule; uint8_t trainerMode; ModuleData moduleData[NUM_MODULES+1]; char curveNames[MAX_CURVES][6]; ScriptData scriptsData[MAX_SCRIPTS]; char inputNames[MAX_INPUTS][4]; uint8_t nPotsToWarn; int8_t potPosition[NUM_POTS]; uint8_t rxBattAlarms[2]; + #define MODELDATA_EXTRA uint8_t externalModule; uint8_t trainerMode; ModuleData moduleData[NUM_MODULES+1]; char curveNames[MAX_CURVES][6]; ScriptData scriptsData[MAX_SCRIPTS]; char inputNames[MAX_INPUTS][4]; uint8_t nPotsToWarn; int8_t potPosition[NUM_POTS]; uint8_t spare[2]; #define LIMITDATA_EXTRA char name[LEN_CHANNEL_NAME]; int8_t curve; #define swstate_t uint16_t #elif defined(PCBSKY9X) @@ -1034,7 +1034,7 @@ enum TelemetrySource { TELEM_RSSI_TX, TELEM_RSSI_RX, #if defined(CPUARM) - TELEM_RXBATT, + TELEM_RESERVE0, #endif TELEM_A_FIRST, TELEM_A1=TELEM_A_FIRST, @@ -1184,9 +1184,6 @@ enum FrskyCurrentSource { }; enum FrskyVoltsSource { -#if defined(CPUARM) - FRSKY_VOLTS_SOURCE_RXBATT, -#endif FRSKY_VOLTS_SOURCE_A1, FRSKY_VOLTS_SOURCE_A2, #if defined(CPUARM) diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 0157c8142..30c28b957 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -439,8 +439,6 @@ void modelDefault(uint8_t id) #if defined(PCBTARANIS) g_model.frsky.channels[0].ratio = 132; - g_model.rxBattAlarms[0] = 0; - g_model.rxBattAlarms[1] = 83; // 4.3V #endif #if defined(MAVLINK) @@ -1656,11 +1654,6 @@ PLAY_FUNCTION(playValue, uint8_t idx) case MIXSRC_FIRST_TELEM+TELEM_SWR-1: PLAY_NUMBER(val, 0, 0); break; - case MIXSRC_FIRST_TELEM+TELEM_RXBATT-1: - if (TELEMETRY_STREAMING()) { - PLAY_NUMBER((val*132+127)/255, 1+UNIT_VOLTS, PREC1); - } - break; #endif #if defined(FRSKY) case MIXSRC_FIRST_TELEM+TELEM_RSSI_TX-1: diff --git a/radio/src/telemetry/frsky.cpp b/radio/src/telemetry/frsky.cpp index 9c9d6b776..72b824c06 100644 --- a/radio/src/telemetry/frsky.cpp +++ b/radio/src/telemetry/frsky.cpp @@ -134,10 +134,6 @@ lcdint_t applyChannelRatio(uint8_t channel, lcdint_t val) } #if defined(CPUARM) -inline bool rxBattAlarmRaised(uint8_t alarm) -{ - return g_model.rxBattAlarms[alarm] > 0 && frskyData.analog[TELEM_ANA_RXBATT].value < g_model.rxBattAlarms[alarm]; -} inline bool alarmRaised(uint8_t channel, uint8_t idx) { return g_model.frsky.channels[channel].ratio > 0 && g_model.frsky.channels[channel].alarms_value[idx] > 0 && frskyData.analog[channel].value < g_model.frsky.channels[channel].alarms_value[idx]; @@ -269,7 +265,6 @@ NOINLINE void processSerialData(uint8_t data) enum AlarmsCheckSteps { ALARM_SWR_STEP, ALARM_RSSI_STEP, - ALARM_RXBATT_STEP, ALARM_A1_STEP, ALARM_A2_STEP, ALARM_A3_STEP, @@ -359,16 +354,6 @@ void telemetryWakeup() alarmsCheckTime = get_tmr10ms() + 300; /* next check in 3 seconds */ } } - else if (alarmsCheckStep == ALARM_RXBATT_STEP) { - if (rxBattAlarmRaised(1)) { - AUDIO_RXBATT_RED(); - alarmsCheckTime = get_tmr10ms() + 300; /* next check in 3 seconds */ - } - else if (rxBattAlarmRaised(0)) { - AUDIO_RXBATT_ORANGE(); - alarmsCheckTime = get_tmr10ms() + 300; /* next check in 3 seconds */ - } - } else if (alarmsCheckStep == ALARM_A1_STEP) { if (alarmRaised(TELEM_ANA_A1, 1)) { AUDIO_A1_RED(); @@ -448,10 +433,7 @@ void telemetryInterrupt10ms() // power calculation uint8_t channel = g_model.frsky.voltsSource; #if defined(CPUARM) - if (channel == FRSKY_VOLTS_SOURCE_RXBATT) { - voltage = ((frskyData.analog[TELEM_ANA_RXBATT].value * 132) + 127) / 255; - } - else if (channel <= FRSKY_VOLTS_SOURCE_A4) { + if (channel <= FRSKY_VOLTS_SOURCE_A4) { voltage = applyChannelRatio(channel, frskyData.analog[channel].value) / 10; } #else diff --git a/radio/src/telemetry/frsky.h b/radio/src/telemetry/frsky.h index 3342949b1..8d2cfe692 100644 --- a/radio/src/telemetry/frsky.h +++ b/radio/src/telemetry/frsky.h @@ -298,7 +298,6 @@ enum TelemAnas { #if defined(CPUARM) TELEM_ANA_A3, TELEM_ANA_A4, - TELEM_ANA_RXBATT, #endif TELEM_ANA_COUNT }; diff --git a/radio/src/telemetry/frsky_sport.cpp b/radio/src/telemetry/frsky_sport.cpp index ef5c25ad8..b7728b71f 100644 --- a/radio/src/telemetry/frsky_sport.cpp +++ b/radio/src/telemetry/frsky_sport.cpp @@ -325,7 +325,7 @@ void frskySportProcessPacket(uint8_t *packet) #endif } else if (appId == BATT_ID) { - frskyData.analog[TELEM_ANA_RXBATT].set(SPORT_DATA_U8(packet), UNIT_VOLTS); + frskyData.analog[TELEM_ANA_A1].set(SPORT_DATA_U8(packet), UNIT_VOLTS); } else if ((appId >> 8) == 0) { // The old FrSky IDs diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index c7e69d288..e3ea8a81e 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -292,7 +292,7 @@ #define TR_TELEM_RESERVE TR("[--]", "[---]") #define TR_TELEM_TIME TR("Time", "Time\0") #define TR_SWR TR("SWR\0", "SWR\0 ") - #define TR_RX_BATT TR("RxBt", "RxBat") + #define TR_RX_BATT TR("[NA]", "[NA]\0") #define TR_A3_A4 TR("A3\0 ""A4\0 ", "A3\0 ""A4\0 ") #define TR_A3_A4_MIN TR("A3-\0""A4-\0", "A3-\0 ""A4-\0 ") #else @@ -358,7 +358,7 @@ #define LEN_AMPSRC TR("\003", "\007") #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") #define LEN_VOLTSRC TR("\003", "\007") - #define TR_VOLTSRC TR("RxV""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "RxBatt\0""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") + #define TR_VOLTSRC TR("A1\0""A2\0""A3\0""A4\0""FAS""Cel", "A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") #else #define LEN_AMPSRC TR("\003", "\007") #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Cells\0 ") diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index bc15c9424..681630284 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -292,7 +292,7 @@ #define TR_TELEM_RESERVE TR("[--]", "[---]") #define TR_TELEM_TIME TR("Time", "Time\0") #define TR_SWR TR("SWR\0", "SWR\0 ") - #define TR_RX_BATT TR("RxBt", "RxBat") + #define TR_RX_BATT TR("[NA]", "[NA]\0") #define TR_A3_A4 TR("A3\0 ""A4\0 ", "A3\0 ""A4\0 ") #define TR_A3_A4_MIN TR("A3-\0""A4-\0", "A3-\0 ""A4-\0 ") #else @@ -358,7 +358,7 @@ #define LEN_AMPSRC TR("\003", "\007") #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") #define LEN_VOLTSRC TR("\003", "\007") - #define TR_VOLTSRC TR("RxV""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "RxAkku\0""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") + #define TR_VOLTSRC TR("A1\0""A2\0""A3\0""A4\0""FAS""Cel", "A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") #else #define LEN_AMPSRC TR("\003", "\007") #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Cells\0 ") diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 4445bae36..e9a4c45ec 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -292,7 +292,7 @@ #define TR_TELEM_RESERVE TR("[--]", "[---]") #define TR_TELEM_TIME TR("Time", "Time\0") #define TR_SWR TR("SWR\0", "SWR\0 ") - #define TR_RX_BATT TR("RxBt", "RxBat") + #define TR_RX_BATT TR("[NA]", "[NA]\0") #define TR_A3_A4 TR("A3\0 ""A4\0 ", "A3\0 ""A4\0 ") #define TR_A3_A4_MIN TR("A3-\0""A4-\0", "A3-\0 ""A4-\0 ") #else @@ -355,13 +355,13 @@ #define TR_VTELPROTO "None\0 ""Hub\0 ""WSHHigh" #if defined(CPUARM) - #define LEN_AMPSRC TR("\003", "\007") - #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") - #define LEN_VOLTSRC TR("\003", "\007") - #define TR_VOLTSRC TR("RxV""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "RxBatt\0""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") + #define LEN_AMPSRC TR("\003", "\005") + #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells") + #define LEN_VOLTSRC TR("\003", "\005") + #define TR_VOLTSRC TR("A1\0""A2\0""A3\0""A4\0""FAS""Cel", "A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells") #else - #define LEN_AMPSRC TR("\003", "\007") - #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Cells\0 ") + #define LEN_AMPSRC TR("\003", "\005") + #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Cells") #endif #define LEN_VARIOSRC "\004" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 449d2f8c8..e196126e8 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -292,7 +292,7 @@ #define TR_TELEM_RESERVE TR("[--]", "[---]") #define TR_TELEM_TIME TR("Time", "Time\0") #define TR_SWR TR("SWR\0", "SWR\0 ") - #define TR_RX_BATT TR("RxBt", "RxBat") + #define TR_RX_BATT TR("[NA]", "[NA]\0") #define TR_A3_A4 TR("A3\0 ""A4\0 ", "A3\0 ""A4\0 ") #define TR_A3_A4_MIN TR("A3-\0""A4-\0", "A3-\0 ""A4-\0 ") #else @@ -358,7 +358,7 @@ #define LEN_AMPSRC TR("\003", "\007") #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") #define LEN_VOLTSRC TR("\003", "\007") - #define TR_VOLTSRC TR("RxV""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "RxBatt\0""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") + #define TR_VOLTSRC TR("A1\0""A2\0""A3\0""A4\0""FAS""Cel", "A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") #else #define LEN_AMPSRC TR("\003", "\007") #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Cells\0 ") diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 3cb28e0e0..7b6e6cfb0 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -292,7 +292,7 @@ #define TR_TELEM_RESERVE TR("[--]", "[---]") #define TR_TELEM_TIME TR("Time", "Time\0") #define TR_SWR TR("SWR\0", "SWR\0 ") - #define TR_RX_BATT TR("RxBt", "RxBat") + #define TR_RX_BATT TR("[NA]", "[NA]\0") #define TR_A3_A4 TR("A3\0 ""A4\0 ", "A3\0 ""A4\0 ") #define TR_A3_A4_MIN TR("A3-\0""A4-\0", "A3-\0 ""A4-\0 ") #else @@ -358,7 +358,7 @@ #define LEN_AMPSRC TR("\003", "\007") #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") #define LEN_VOLTSRC TR("\003", "\007") - #define TR_VOLTSRC TR("RxV""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "RxBatt\0""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") + #define TR_VOLTSRC TR("A1\0""A2\0""A3\0""A4\0""FAS""Cel", "A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") #else #define LEN_AMPSRC TR("\003", "\007") #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Cells\0 ") diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 9cd7ebde2..150bd528f 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -355,13 +355,13 @@ #define TR_VTELPROTO "Aucun ""Hub\0 ""WSHHigh" #if defined(CPUARM) - #define LEN_AMPSRC TR("\003", "\007") - #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Elem.\0 ") - #define LEN_VOLTSRC TR("\003", "\007") - #define TR_VOLTSRC TR("RxV""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "RxBatt\0""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Elem.\0 ") + #define LEN_AMPSRC TR("\003", "\005") + #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Elem.") + #define LEN_VOLTSRC TR("\003", "\005") + #define TR_VOLTSRC TR("A1\0""A2\0""A3\0""A4\0""FAS""Cel", "A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Elem.") #else - #define LEN_AMPSRC TR("\003", "\007") - #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Elem.\0 ") + #define LEN_AMPSRC TR("\003", "\005") + #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Elem.") #endif #define LEN_VARIOSRC "\005" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index eaf2bd8a9..4a9fd176d 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -358,7 +358,7 @@ #define LEN_AMPSRC TR("\003", "\007") #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Celle\0 ") #define LEN_VOLTSRC TR("\003", "\007") - #define TR_VOLTSRC TR("RxV""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "BattRx\0""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Celle\0 ") + #define TR_VOLTSRC TR("A1\0""A2\0""A3\0""A4\0""FAS""Cel", "A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Celle\0 ") #else #define LEN_AMPSRC TR("\003", "\007") #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Celle\0 ") diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index d7f659161..99471de2b 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -292,7 +292,7 @@ #define TR_TELEM_RESERVE TR("[--]", "[---]") #define TR_TELEM_TIME TR("Time", "Time\0") #define TR_SWR TR("SWR\0", "SWR\0 ") - #define TR_RX_BATT TR("RxBt", "RxBat") + #define TR_RX_BATT TR("[NA]", "[NA]\0") #define TR_A3_A4 TR("A3\0 ""A4\0 ", "A3\0 ""A4\0 ") #define TR_A3_A4_MIN TR("A3-\0""A4-\0", "A3-\0 ""A4-\0 ") #else @@ -358,7 +358,7 @@ #define LEN_AMPSRC TR("\003", "\007") #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") #define LEN_VOLTSRC TR("\003", "\007") - #define TR_VOLTSRC TR("RxV""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "RxBatt\0""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") + #define TR_VOLTSRC TR("A1\0""A2\0""A3\0""A4\0""FAS""Cel", "A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") #else #define LEN_AMPSRC TR("\003", "\007") #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Cells\0 ") diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 202402ebd..4c04712c6 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -292,7 +292,7 @@ #define TR_TELEM_RESERVE TR("[--]", "[---]") #define TR_TELEM_TIME TR("Time", "Time\0") #define TR_SWR TR("SWR\0", "SWR\0 ") - #define TR_RX_BATT TR("RxBt", "RxBat") + #define TR_RX_BATT TR("[NA]", "[NA]\0") #define TR_A3_A4 TR("A3\0 ""A4\0 ", "A3\0 ""A4\0 ") #define TR_A3_A4_MIN TR("A3-\0""A4-\0", "A3-\0 ""A4-\0 ") #else @@ -358,7 +358,7 @@ #define LEN_AMPSRC TR("\003", "\007") #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") #define LEN_VOLTSRC TR("\003", "\007") - #define TR_VOLTSRC TR("RxV""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "RxBatt\0""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") + #define TR_VOLTSRC TR("A1\0""A2\0""A3\0""A4\0""FAS""Cel", "A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") #else #define LEN_AMPSRC TR("\003", "\007") #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Cells\0 ") diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 9a69abb83..723e67a58 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -292,7 +292,7 @@ #define TR_TELEM_RESERVE TR("[--]", "[---]") #define TR_TELEM_TIME TR("Tid\0", "Tid\0 ") #define TR_SWR TR("SWR\0", "SWR\0 ") - #define TR_RX_BATT TR("RxBt", "RxBat") + #define TR_RX_BATT TR("[NA]", "[NA]\0") #define TR_A3_A4 TR("A3\0 ""A4\0 ", "A3\0 ""A4\0 ") #define TR_A3_A4_MIN TR("A3-\0""A4-\0", "A3-\0 ""A4-\0 ") #else @@ -358,7 +358,7 @@ #define LEN_AMPSRC TR("\003", "\007") #define TR_AMPSRC TR("---""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") #define LEN_VOLTSRC TR("\003", "\007") - #define TR_VOLTSRC TR("RxV""A1\0""A2\0""A3\0""A4\0""FAS""Cel", "RxBatt\0""A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") + #define TR_VOLTSRC TR("A1\0""A2\0""A3\0""A4\0""FAS""Cel", "A1\0 ""A2\0 ""A3\0 ""A4\0 ""FAS\0 ""Cells\0 ") #else #define LEN_AMPSRC TR("\003", "\007") #define TR_AMPSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Cells\0 ") From e50d9c0edf0015d148b0db1190e9cc51ebf8b54d Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 10 Jun 2014 14:53:24 +0200 Subject: [PATCH 42/80] Fixes #1241 - Revert "Bootloader now accessible with left OR right trim inwards" This reverts commit 54447a45a0671600a70adf2cc24de29a1f447a49. --- radio/src/loadboot.cpp | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/radio/src/loadboot.cpp b/radio/src/loadboot.cpp index 03f928480..947b75d05 100644 --- a/radio/src/loadboot.cpp +++ b/radio/src/loadboot.cpp @@ -100,28 +100,30 @@ void _bootStart() bwdt_reset(); } - if (((GPIOC->IDR & 0x00000002) == 0) || ((GPIOE->IDR & 0x00000008) == 0)) { - // Bootloader needed - const uint8_t *src; - uint8_t *dest; - uint32_t size; + if ((GPIOE->IDR & 0x00000008) == 0) { + if ((GPIOC->IDR & 0x00000002) == 0) { + // Bootloader needed + const uint8_t *src; + uint8_t *dest; + uint32_t size; - bwdt_reset(); - size = sizeof(BootCode); - src = BootCode; - dest = (uint8_t *) 0x20000000; + bwdt_reset(); + size = sizeof(BootCode); + src = BootCode; + dest = (uint8_t *) 0x20000000; + + for (; size; size -= 1) { + *dest++ = *src++; + } + // Could check for a valid copy to RAM here + // Go execute bootloader + bwdt_reset(); + + uint32_t address = *(uint32_t *) 0x20000004; + + ((void (*)(void)) (address))(); // Go execute the loaded application - for (; size; size -= 1) { - *dest++ = *src++; } - // Could check for a valid copy to RAM here - // Go execute bootloader - bwdt_reset(); - - uint32_t address = *(uint32_t *) 0x20000004; - - ((void (*)(void)) (address))(); // Go execute the loaded application - } // run_application() ; From 0610c2c79a3830a520f49e983e01b756ce971f99 Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 10 Jun 2014 15:01:04 +0200 Subject: [PATCH 43/80] Fixes #1194 --- radio/src/logs.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/radio/src/logs.cpp b/radio/src/logs.cpp index 4a173014b..9e0b51575 100644 --- a/radio/src/logs.cpp +++ b/radio/src/logs.cpp @@ -115,8 +115,8 @@ const pm_char * openLogs() f_puts("Time,", &g_oLogFile); #endif -#if defined(FRSKY_SPORT) - f_puts("SWR,RSSI,A1,A2,", &g_oLogFile); +#if defined(CPUARM) + f_puts("SWR,RSSI,A1,A2,A3,A4", &g_oLogFile); #elif defined(FRSKY) f_puts("Buffer,RX,TX,A1,A2,", &g_oLogFile); #endif @@ -196,14 +196,14 @@ void writeLogs() f_printf(&g_oLogFile, "%d,", tmr10ms); #endif -#if defined(FRSKY_SPORT) - f_printf(&g_oLogFile, "%d,%d,", frskyData.rssi[1].value, frskyData.rssi[0].value); +#if defined(CPUARM) + f_printf(&g_oLogFile, "%d,%d,", frskyData.swr.value, frskyData.rssi[0].value); #elif defined(FRSKY) f_printf(&g_oLogFile, "%d,%d,%d,", frskyStreaming, frskyData.rssi[0].value, frskyData.rssi[1].value); #endif #if defined(FRSKY) - for (uint8_t i=0; i<2; i++) { + for (uint8_t i=0; i Date: Tue, 10 Jun 2014 15:12:30 +0200 Subject: [PATCH 44/80] Fixes #1151 --- companion/src/modeledit/channels.cpp | 2 ++ companion/src/modeledit/curves.cpp | 2 ++ companion/src/modeledit/flightmodes.cpp | 2 ++ companion/src/modeledit/heli.cpp | 2 ++ companion/src/modeledit/logicalswitches.cpp | 3 +++ companion/src/modeledit/setup.cpp | 7 +++++++ companion/src/modeledit/telemetry.cpp | 6 ++++++ 7 files changed, 24 insertions(+) diff --git a/companion/src/modeledit/channels.cpp b/companion/src/modeledit/channels.cpp index 80b47cc34..634a5344b 100644 --- a/companion/src/modeledit/channels.cpp +++ b/companion/src/modeledit/channels.cpp @@ -136,6 +136,8 @@ Channels::Channels(QWidget * parent, ModelData & model, GeneralSettings & genera } // Push the rows up addVSpring(gridLayout, 0,firmware->getCapability(Outputs)+1); + + disableMouseScrolling(); } Channels::~Channels() diff --git a/companion/src/modeledit/curves.cpp b/companion/src/modeledit/curves.cpp index 20817a67c..65d665411 100644 --- a/companion/src/modeledit/curves.cpp +++ b/companion/src/modeledit/curves.cpp @@ -180,6 +180,8 @@ Curves::Curves(QWidget * parent, ModelData & model, GeneralSettings & generalSet addTemplate(tr("Symmetrical f(x)=-f(-x)"), CURVE_COEFF_ENABLE, curveSymmetricalY); addTemplate(tr("Symmetrical f(x)=f(-x)"), CURVE_COEFF_ENABLE | CURVE_YMID_ENABLE, curveSymmetricalX); + disableMouseScrolling(); + lock = false; } diff --git a/companion/src/modeledit/flightmodes.cpp b/companion/src/modeledit/flightmodes.cpp index df3ee55a7..6715290bc 100644 --- a/companion/src/modeledit/flightmodes.cpp +++ b/companion/src/modeledit/flightmodes.cpp @@ -171,6 +171,8 @@ FlightModePanel::FlightModePanel(QWidget * parent, ModelData & model, int phaseI ui->gvGB->hide(); } + disableMouseScrolling(); + update(); } diff --git a/companion/src/modeledit/heli.cpp b/companion/src/modeledit/heli.cpp index 3b56e19fb..3fda9f91e 100644 --- a/companion/src/modeledit/heli.cpp +++ b/companion/src/modeledit/heli.cpp @@ -14,6 +14,8 @@ HeliPanel::HeliPanel(QWidget *parent, ModelData & model, GeneralSettings & gener connect(ui->swashInvertELE, SIGNAL(stateChanged(int)), this, SLOT(edited())); connect(ui->swashInvertAIL, SIGNAL(stateChanged(int)), this, SLOT(edited())); connect(ui->swashInvertCOL, SIGNAL(stateChanged(int)), this, SLOT(edited())); + + disableMouseScrolling(); } HeliPanel::~HeliPanel() diff --git a/companion/src/modeledit/logicalswitches.cpp b/companion/src/modeledit/logicalswitches.cpp index d0c2ae4a1..df17c0ce3 100644 --- a/companion/src/modeledit/logicalswitches.cpp +++ b/companion/src/modeledit/logicalswitches.cpp @@ -116,6 +116,9 @@ LogicalSwitchesPanel::LogicalSwitchesPanel(QWidget * parent, ModelData & model, } // Push rows upward addVSpring(gridLayout,0,firmware->getCapability(LogicalSwitches)+1); + + disableMouseScrolling(); + lock = false; } diff --git a/companion/src/modeledit/setup.cpp b/companion/src/modeledit/setup.cpp index 6a4b62f99..bc7b96448 100644 --- a/companion/src/modeledit/setup.cpp +++ b/companion/src/modeledit/setup.cpp @@ -28,6 +28,8 @@ TimerPanel::TimerPanel(QWidget *parent, ModelData & model, TimerData & timer, Ge if (IS_ARM(GetEepromInterface()->getBoard()) || IS_2560(GetEepromInterface()->getBoard())) ui->countdownBeep->addItem(tr("Voice"), 2); + disableMouseScrolling(); + lock = false; } @@ -157,6 +159,8 @@ ModulePanel::ModulePanel(QWidget *parent, ModelData & model, ModuleData & module } } + disableMouseScrolling(); + lock = false; } @@ -478,6 +482,9 @@ SetupPanel::SetupPanel(QWidget *parent, ModelData & model, GeneralSettings & gen ui->label_potWarning->hide(); ui->potWarningMode->hide(); } + + disableMouseScrolling(); + lock = false; } diff --git a/companion/src/modeledit/telemetry.cpp b/companion/src/modeledit/telemetry.cpp index 2b2c8c7c4..46f9cf942 100644 --- a/companion/src/modeledit/telemetry.cpp +++ b/companion/src/modeledit/telemetry.cpp @@ -50,6 +50,8 @@ TelemetryAnalog::TelemetryAnalog(QWidget *parent, FrSkyChannelData & analog, Mod else { ui->label_Max->setText(tr("Range")); } + + disableMouseScrolling(); } void TelemetryAnalog::update() @@ -324,6 +326,8 @@ TelemetryCustomScreen::TelemetryCustomScreen(QWidget *parent, ModelData & model, ui->screenBarsLayout->addWidget(maxSB[l], l, 3, 1, 1); } + disableMouseScrolling(); + update(); } @@ -516,6 +520,8 @@ TelemetryPanel::TelemetryPanel(QWidget *parent, ModelData & model, GeneralSettin ui->bladesCount->setMaximum(128); } + disableMouseScrolling(); + setup(); } From 2ea687099a8eded60a848ec7ff524b0f7cb7746d Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 10 Jun 2014 15:21:25 +0200 Subject: [PATCH 45/80] Fixes #1192 - Tests needed! --- companion/src/avroutputdialog.cpp | 9 ++++----- companion/src/avroutputdialog.h | 6 +++--- companion/src/mainwindow.cpp | 9 +++------ 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/companion/src/avroutputdialog.cpp b/companion/src/avroutputdialog.cpp index b1b6827c0..40c0d0012 100644 --- a/companion/src/avroutputdialog.cpp +++ b/companion/src/avroutputdialog.cpp @@ -438,7 +438,7 @@ void avrOutputDialog::doFinished(int code=0) if (hasErrors || code) { if (!cmdLine.isEmpty()) { if (getProgrammer()!="AVRDUDE") { - QMessageBox::critical(this, "Companion", getProgrammer() + " " + tr("did not finish correctly")); + QMessageBox::critical(this, "Companion", getProgrammer() + " " + tr("did not finish correctly")); } else { int res = QMessageBox::question(this, "Companion",getProgrammer() + " " + tr("did not finish correctly!\nDo you want some help ?"),QMessageBox::Yes | QMessageBox::No); @@ -446,8 +446,9 @@ void avrOutputDialog::doFinished(int code=0) errorWizard(); } } - } else { - QMessageBox::critical(this, "Companion", tr("Copy did not finish correctly")); + } + else { + QMessageBox::critical(this, "Companion", tr("Copy did not finish correctly")); } // reject(); } @@ -467,8 +468,6 @@ void avrOutputDialog::doFinished(int code=0) default: //AVR_DIALOG_KEEP_OPEN break; } - - } void avrOutputDialog::doProcessStarted() diff --git a/companion/src/avroutputdialog.h b/companion/src/avroutputdialog.h index b62a69cef..52099ace7 100644 --- a/companion/src/avroutputdialog.h +++ b/companion/src/avroutputdialog.h @@ -20,7 +20,7 @@ class avrOutputDialog : public QDialog { Q_OBJECT -public: + public: explicit avrOutputDialog(QWidget *parent, QString prog, QStringList arg, QString wTitle, int closeBehaviour=AVR_DIALOG_CLOSE_IF_SUCCESSFUL, bool displayDetails=false); ~avrOutputDialog(); @@ -29,7 +29,7 @@ public: void waitForFinish(); void addReadFuses(); -protected slots: + protected slots: void doAddTextStdOut(); void doAddTextStdErr(); void doProcessStarted(); @@ -41,7 +41,7 @@ protected slots: void killTimerElapsed(); void errorWizard(); -private: + private: QString getProgrammer(); Ui::avrOutputDialog *ui; diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp index c3488e296..d26b33997 100644 --- a/companion/src/mainwindow.cpp +++ b/companion/src/mainwindow.cpp @@ -1025,7 +1025,6 @@ bool MainWindow::writeFirmwareToRadio(const QString filename) ad->setWindowIcon(CompanionIcon("write_flash.png")); ad->exec(); delete ad; - sleep(1); result = true; } } @@ -1113,22 +1112,20 @@ bool MainWindow::writeEepromToRadio(const QString filename, const QString messag if (!path.isEmpty()) { QStringList str; str << filename << path; - avrOutputDialog *ad = new avrOutputDialog(this, "", str, message); - ad->setWindowIcon(CompanionIcon("read_eeprom.png")); + avrOutputDialog *ad = new avrOutputDialog(this, "", str, message, AVR_DIALOG_SHOW_DONE); + ad->setWindowIcon(CompanionIcon("write_eeprom.png")); ad->exec(); delete ad; - sleep(1); result = true; } } if (result == false && !IS_TARANIS(GetCurrentFirmware()->getBoard())) { QStringList str = GetSendEEpromCommand(filename); - avrOutputDialog *ad = new avrOutputDialog(this, GetAvrdudeLocation(), str, "Write Backup To Radio", AVR_DIALOG_SHOW_DONE); + avrOutputDialog *ad = new avrOutputDialog(this, GetAvrdudeLocation(), str, "Write EEPROM To Radio", AVR_DIALOG_SHOW_DONE); ad->setWindowIcon(CompanionIcon("write_eeprom.png")); ad->exec(); delete ad; - sleep(1); result = true; } From d767b62d01f1a55add8529b7fcaad0c0aef04f50 Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Tue, 10 Jun 2014 15:24:55 +0200 Subject: [PATCH 46/80] Added A3 and A4 simulator initialization values. --- radio/src/telemetry/frsky.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/radio/src/telemetry/frsky.cpp b/radio/src/telemetry/frsky.cpp index 72b824c06..2140947c0 100644 --- a/radio/src/telemetry/frsky.cpp +++ b/radio/src/telemetry/frsky.cpp @@ -520,6 +520,10 @@ void telemetryReset() frskyData.rssi[1].value = 75; frskyData.analog[TELEM_ANA_A1].set(120, UNIT_VOLTS); frskyData.analog[TELEM_ANA_A2].set(240, UNIT_VOLTS); +#if defined(CPUARM) + frskyData.analog[TELEM_ANA_A3].set(100, UNIT_VOLTS); + frskyData.analog[TELEM_ANA_A4].set(200, UNIT_VOLTS); +#endif frskyData.hub.fuelLevel = 75; frskyData.hub.rpm = 12000; frskyData.hub.vfas = 100; From 3392879940f723a294813cff5c6d2ff755c3f98f Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 10 Jun 2014 15:29:20 +0200 Subject: [PATCH 47/80] Fixes #1243 --- radio/src/gui/view_telemetry.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/radio/src/gui/view_telemetry.cpp b/radio/src/gui/view_telemetry.cpp index 5c84fc3fd..5093ae4ac 100644 --- a/radio/src/gui/view_telemetry.cpp +++ b/radio/src/gui/view_telemetry.cpp @@ -388,7 +388,11 @@ void menuTelemetryFrsky(uint8_t event) putsTelemetryChannel(3*FW+4+4*FW+6*FW+FW, 5*FH+1, TELEM_CONSUMPTION-1, frskyData.hub.currentConsumption, DBLSIZE); } else { +#if defined(CPUARM) + displayVoltageScreenLine(analog > 0 ? 5*FH : 4*FH, analog==1+FRSKY_VOLTS_SOURCE_A1+1 ? FRSKY_VOLTS_SOURCE_A2 : FRSKY_VOLTS_SOURCE_A1); +#else displayVoltageScreenLine(analog > 0 ? 5*FH : 4*FH, analog ? 2-analog : 0); +#endif if (analog == 0) displayVoltageScreenLine(6*FH, 1); } From b2d8c76fc10bf9a0508559cac563e437205e8ec7 Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 10 Jun 2014 15:40:20 +0200 Subject: [PATCH 48/80] Fixes #1243 --- radio/src/gui/view_telemetry.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radio/src/gui/view_telemetry.cpp b/radio/src/gui/view_telemetry.cpp index 5093ae4ac..b7cc5dbc3 100644 --- a/radio/src/gui/view_telemetry.cpp +++ b/radio/src/gui/view_telemetry.cpp @@ -389,7 +389,7 @@ void menuTelemetryFrsky(uint8_t event) } else { #if defined(CPUARM) - displayVoltageScreenLine(analog > 0 ? 5*FH : 4*FH, analog==1+FRSKY_VOLTS_SOURCE_A1+1 ? FRSKY_VOLTS_SOURCE_A2 : FRSKY_VOLTS_SOURCE_A1); + displayVoltageScreenLine(analog > 0 ? 5*FH : 4*FH, analog==1+FRSKY_VOLTS_SOURCE_A1 ? FRSKY_VOLTS_SOURCE_A2 : FRSKY_VOLTS_SOURCE_A1); #else displayVoltageScreenLine(analog > 0 ? 5*FH : 4*FH, analog ? 2-analog : 0); #endif From 831cd813208a3465b8edfd26e56d6cdc44f9e6a1 Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 10 Jun 2014 16:17:55 +0200 Subject: [PATCH 49/80] #1151 - Done the same trick on the sliders --- companion/src/modeledit/modelpanel.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/companion/src/modeledit/modelpanel.cpp b/companion/src/modeledit/modelpanel.cpp index 157ecbf95..0ea59652d 100644 --- a/companion/src/modeledit/modelpanel.cpp +++ b/companion/src/modeledit/modelpanel.cpp @@ -94,4 +94,9 @@ void ModelPanel::disableMouseScrolling() sb->installEventFilter(this); sb->setFocusPolicy(Qt::StrongFocus); } + + Q_FOREACH(QSlider * slider, findChildren()) { + slider->installEventFilter(this); + slider->setFocusPolicy(Qt::StrongFocus); + } } From e4d03b8c706dc104ff3b14682e4d0a4a44b0179b Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 10 Jun 2014 16:19:44 +0200 Subject: [PATCH 50/80] Fixes #1205 - Delay only applied to Play family function, with a configurable delay, between 0 and 300ms (default is 150ms). --- companion/src/eeprominterface.h | 2 +- .../src/firmwares/opentx/opentxeeprom.cpp | 2 +- companion/src/generaledit.cpp | 4 +-- companion/src/generaledit.ui | 4 +-- radio/src/gui/menu_general.cpp | 10 +++---- radio/src/myeeprom.h | 26 +++++++++++-------- radio/src/opentx.cpp | 5 ++++ radio/src/opentx.h | 7 +++++ radio/src/switches.cpp | 18 +++++++++---- radio/src/translations/en.h.txt | 2 +- 10 files changed, 52 insertions(+), 28 deletions(-) diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h index 9f540ca7c..124625d97 100644 --- a/companion/src/eeprominterface.h +++ b/companion/src/eeprominterface.h @@ -516,7 +516,7 @@ class GeneralSettings { unsigned int gpsFormat; int speakerVolume; unsigned int backlightBright; - unsigned int switchesDelay; + int switchesDelay; int currentCalib; int temperatureCalib; int temperatureWarn; diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index 1acb9fb3e..a789decf1 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -2709,7 +2709,7 @@ OpenTxGeneralData::OpenTxGeneralData(GeneralSettings & generalData, BoardEnum bo internalField.Append(new SignedField<2>((int &)generalData.hapticMode)); if (IS_ARM(board)) - internalField.Append(new UnsignedField<8>(generalData.switchesDelay)); + internalField.Append(new SignedField<8>(generalData.switchesDelay)); else internalField.Append(new SpareBitsField<8>()); diff --git a/companion/src/generaledit.cpp b/companion/src/generaledit.cpp index c9e30be10..99b67a5ca 100644 --- a/companion/src/generaledit.cpp +++ b/companion/src/generaledit.cpp @@ -307,7 +307,7 @@ GeneralEdit::GeneralEdit(RadioData &radioData, QWidget *parent) : } if (IS_ARM(eepromInterface->getBoard())) { - ui->switchesDelay->setValue(10*g_eeGeneral.switchesDelay); + ui->switchesDelay->setValue(10*(g_eeGeneral.switchesDelay+15)); } else { ui->switchesDelay->hide(); @@ -527,7 +527,7 @@ void GeneralEdit::on_backlightautoSB_editingFinished() void GeneralEdit::on_switchesDelay_valueChanged() { - g_eeGeneral.switchesDelay = ui->switchesDelay->value() / 10; + g_eeGeneral.switchesDelay = (ui->switchesDelay->value() / 10) - 15; updateSettings(); } diff --git a/companion/src/generaledit.ui b/companion/src/generaledit.ui index e9dbb4759..9943a015e 100644 --- a/companion/src/generaledit.ui +++ b/companion/src/generaledit.ui @@ -1977,7 +1977,7 @@ Mode 4: - Switches Delay (mid position) + Play Delay (switch mid position) @@ -2004,7 +2004,7 @@ p, li { white-space: pre-wrap; } 0 - 250 + 300 10 diff --git a/radio/src/gui/menu_general.cpp b/radio/src/gui/menu_general.cpp index caa28a008..3ce5166fe 100644 --- a/radio/src/gui/menu_general.cpp +++ b/radio/src/gui/menu_general.cpp @@ -406,7 +406,7 @@ void menuGeneralSetup(uint8_t event) case ITEM_SETUP_VARIO_REPEAT: lcd_putsLeft(y, STR_REPEAT_AT_ZERO); lcd_outdezAtt(RADIO_SETUP_2ND_COLUMN, y, VARIO_REPEAT_ZERO+(g_eeGeneral.varioRepeat*10), attr|LEFT); - lcd_putsAtt(lcdLastPos, y, "ms", attr); + lcd_putsAtt(lcdLastPos, y, STR_MS, attr); if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.varioRepeat, -30, 50); break; #endif @@ -624,10 +624,10 @@ void menuGeneralSetup(uint8_t event) #if defined(CPUARM) case ITEM_SETUP_SWITCHES_DELAY: - lcd_putsLeft(y, "Switches Delay"); - lcd_outdezAtt(RADIO_SETUP_2ND_COLUMN, y, 10*g_eeGeneral.switchesDelay, attr|LEFT); - lcd_putsAtt(lcdLastPos, y, "ms", attr); - if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.switchesDelay, 0, 25); + lcd_putsLeft(y, STR_SWITCHES_DELAY); + lcd_outdezAtt(RADIO_SETUP_2ND_COLUMN, y, 10*SWITCHES_DELAY(), attr|LEFT); + lcd_putsAtt(lcdLastPos, y, STR_MS, attr); + if (attr) CHECK_INCDEC_GENVAR(event, g_eeGeneral.switchesDelay, -15, +15); break; #endif diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index 22f41ed9c..cb31ac0de 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -417,7 +417,7 @@ PACK(typedef struct t_EEGeneral { int8_t hapticMode:2; // -2=quiet, -1=only alarms, 0=no keys, 1=all AVR_FIELD(uint8_t blOffBright:4) AVR_FIELD(uint8_t blOnBright:4) - ARM_FIELD(uint8_t switchesDelay) + ARM_FIELD(int8_t switchesDelay) uint8_t lightAutoOff; uint8_t templateSetup; // RETA order for receiver channels int8_t PPM_Multiplier; @@ -439,6 +439,8 @@ PACK(typedef struct t_EEGeneral { }) EEGeneral; +#define SWITCHES_DELAY() uint8_t(15+g_eeGeneral.switchesDelay) +#define SWITCHES_DELAY_NONE (-15) #define HAPTIC_STRENGTH() (3+g_eeGeneral.hapticStrength) #if defined(PCBTARANIS) @@ -839,33 +841,35 @@ enum Functions { FUNC_MAX }; -#define HAS_ENABLE_PARAM(func) (func < FUNC_FIRST_WITHOUT_ENABLE) +#define HAS_ENABLE_PARAM(func) ((func) < FUNC_FIRST_WITHOUT_ENABLE) + +#if defined(VOICE) + #define IS_PLAY_FUNC(func) ((func) >= FUNC_PLAY_SOUND && func <= FUNC_PLAY_VALUE) +#else + #define IS_PLAY_FUNC(func) ((func) == FUNC_PLAY_SOUND) +#endif #if defined(CPUARM) #define IS_PLAY_BOTH_FUNC(func) (0) - #define IS_VOLUME_FUNC(func) (func == FUNC_VOLUME) + #define IS_VOLUME_FUNC(func) ((func) == FUNC_VOLUME) #else - #define IS_PLAY_BOTH_FUNC(func) (func == FUNC_PLAY_BOTH) + #define IS_PLAY_BOTH_FUNC(func) ((func) == FUNC_PLAY_BOTH) #define IS_VOLUME_FUNC(func) (0) #endif #if defined(GVARS) - #define IS_ADJUST_GV_FUNC(func) (func == FUNC_ADJUST_GVAR) + #define IS_ADJUST_GV_FUNC(func) ((func) == FUNC_ADJUST_GVAR) #else #define IS_ADJUST_GV_FUNC(func) (0) #endif #if defined(HAPTIC) - #define IS_HAPTIC_FUNC(func) (func == FUNC_HAPTIC) + #define IS_HAPTIC_FUNC(func) ((func) == FUNC_HAPTIC) #else #define IS_HAPTIC_FUNC(func) (0) #endif -#if defined(VOICE) - #define HAS_REPEAT_PARAM(func) (func == FUNC_PLAY_SOUND || (func >= FUNC_PLAY_TRACK && func <= FUNC_PLAY_VALUE) || IS_HAPTIC_FUNC(func)) -#else - #define HAS_REPEAT_PARAM(func) (func == FUNC_PLAY_SOUND || IS_HAPTIC_FUNC(func)) -#endif +#define HAS_REPEAT_PARAM(func) (IS_PLAY_FUNC(func) || IS_HAPTIC_FUNC(func)) enum ResetFunctionParam { FUNC_RESET_TIMER1, diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 30c28b957..24d986f85 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -1830,7 +1830,12 @@ void evalFunctions() if (swtch) { MASK_CFN_TYPE switch_mask = ((MASK_CFN_TYPE)1 << i); +#if defined(CPUARM) + bool active = getSwitch(swtch, IS_PLAY_FUNC(CFN_FUNC(sd)) ? GETSWITCH_MIDPOS_DELAY : 0); +#else bool active = getSwitch(swtch); +#endif + if (HAS_ENABLE_PARAM(CFN_FUNC(sd))) { active &= (bool)CFN_ACTIVE(sd); diff --git a/radio/src/opentx.h b/radio/src/opentx.h index cbf3d4f93..811db7c84 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -696,7 +696,14 @@ void perMain(); NOINLINE void per10ms(); getvalue_t getValue(uint8_t i); + +#if defined(CPUARM) +#define GETSWITCH_MIDPOS_DELAY 1 +bool getSwitch(int8_t swtch, uint8_t flags=0); +#else bool getSwitch(int8_t swtch); +#endif + void logicalSwitchesTimerTick(); void logicalSwitchesReset(); diff --git a/radio/src/switches.cpp b/radio/src/switches.cpp index c2a82473a..77508c50a 100644 --- a/radio/src/switches.cpp +++ b/radio/src/switches.cpp @@ -111,7 +111,7 @@ uint32_t check3PosSwitchPosition(uint8_t idx, EnumKeys sw, bool startup) result = (1 << index); switchesMidposStart[idx] = 0; } - else if (startup || (switchesPos & (1 << (sw - SW_SA0 + 1))) || g_eeGeneral.switchesDelay==0 || (switchesMidposStart[idx] && (tmr10ms_t)(get_tmr10ms() - switchesMidposStart[idx]) > g_eeGeneral.switchesDelay)) { + 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); switchesMidposStart[idx] = 0; @@ -158,7 +158,7 @@ void getSwitchesPosition(bool startup) potsLastposStart[i] = get_tmr10ms(); potsPos[i] = (pos << 4) | previousStoredPos; } - else if (startup || g_eeGeneral.switchesDelay==0 || (tmr10ms_t)(get_tmr10ms() - potsLastposStart[i]) > g_eeGeneral.switchesDelay) { + else if (startup || g_eeGeneral.switchesDelay==SWITCHES_DELAY_NONE || (tmr10ms_t)(get_tmr10ms() - potsLastposStart[i]) > SWITCHES_DELAY()) { potsLastposStart[i] = 0; potsPos[i] = (pos << 4) | pos; if (previousStoredPos != pos) { @@ -171,8 +171,6 @@ void getSwitchesPosition(bool startup) } #define SWITCH_POSITION(sw) (switchesPos & (1<<(sw))) #define POT_POSITION(sw) ((potsPos[(sw)/XPOTS_MULTIPOS_COUNT] & 0x0f) == ((sw) % XPOTS_MULTIPOS_COUNT)) -#else -#define SWITCH_POSITION(idx) switchState((EnumKeys)(SW_BASE+(idx))) #endif bool getLogicalSwitch(uint8_t idx) @@ -369,7 +367,11 @@ bool getLogicalSwitch(uint8_t idx) return result; } +#if defined(CPUARM) +bool getSwitch(int8_t swtch, uint8_t flags) +#else bool getSwitch(int8_t swtch) +#endif { bool result; @@ -385,7 +387,13 @@ bool getSwitch(int8_t swtch) result = true; } else if (cs_idx <= SWSRC_LAST_SWITCH) { - result = SWITCH_POSITION(cs_idx-SWSRC_FIRST_SWITCH); +#if defined(PCBTARANIS) + if (flags & GETSWITCH_MIDPOS_DELAY) + result = SWITCH_POSITION(cs_idx-SWSRC_FIRST_SWITCH); + else +#endif + result = switchState((EnumKeys)(SW_BASE+cs_idx-SWSRC_FIRST_SWITCH)); + #if defined(MODULE_ALWAYS_SEND_PULSES) if (startupWarningState < STARTUP_WARNING_DONE) { // if throttle or switch warning is currently active, ignore actual stick position and use wanted values diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index e9a4c45ec..141c44d2d 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -579,7 +579,7 @@ #define TR_POTWARNING TR(IF_CPUARM(INDENT) "Pot Warn.", INDENT "Pot Positions") #define TR_TIMEZONE TR("Time Zone", "GPS Time zone") #define TR_RXCHANNELORD TR("Rx Channel Ord", "Default channel order") -#define TR_SWITCHES_DELAY "Switches Delay" +#define TR_SWITCHES_DELAY "Play Delay (sw. mid pos)" #define TR_SLAVE CENTER "Slave" #define TR_MODESRC "Mode\006% Source" #define TR_MULTIPLIER "Multiplier" From 2ba86d8cb3d7afd586621c2b435b84bdacae8095 Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 10 Jun 2014 18:03:54 +0200 Subject: [PATCH 51/80] Fixes #1222 --- companion/src/firmwares/opentx/opentxeeprom.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index a789decf1..b89a31413 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -2745,6 +2745,7 @@ OpenTxGeneralData::OpenTxGeneralData(GeneralSettings & generalData, BoardEnum bo } if (IS_ARM(board)) { + internalField.Append(new UnsignedField<8>(generalData.backlightBright)); internalField.Append(new SignedField<8>(generalData.currentCalib)); if (version >= 213) { internalField.Append(new SignedField<8>(generalData.temperatureWarn)); // TODO From 296264d8b47f790115eb6087b3e00f87e889acef Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 10 Jun 2014 18:12:41 +0200 Subject: [PATCH 52/80] Fixes #1245 --- companion/src/eeprominterface.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/companion/src/eeprominterface.cpp b/companion/src/eeprominterface.cpp index b877cdf0b..787d94beb 100644 --- a/companion/src/eeprominterface.cpp +++ b/companion/src/eeprominterface.cpp @@ -852,11 +852,16 @@ GeneralSettings::GeneralSettings() calibSpanPos[i] = 0x180; } - if (IS_TARANIS(GetEepromInterface()->getBoard())) { + BoardEnum board = GetEepromInterface()->getBoard(); + if (IS_TARANIS(board)) { potsType[0] = 1; potsType[1] = 1; } + if (IS_ARM(board)) { + speakerVolume = 12; + } + templateSetup = g.profile[g.id()].channelOrder(); stickMode = g.profile[g.id()].defaultMode(); @@ -1072,11 +1077,11 @@ void ModelData::clear() moduleData[0].protocol=PPM; moduleData[1].protocol=OFF; } - for (int i=0; i Date: Tue, 10 Jun 2014 19:10:22 +0200 Subject: [PATCH 53/80] Update DONATIONS.txt --- DONATIONS.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index b3e7bd465..332e5bc86 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -450,3 +450,5 @@ Craig Hall Joseph Case Harald Klein Robert Crockford +Chris Boultinghouse +Kitsew From 22e625baad32cea71c26e04a65c833e941bb98f7 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 10 Jun 2014 22:32:03 +0200 Subject: [PATCH 54/80] Update DONATIONS.txt --- DONATIONS.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index 332e5bc86..5be92a35b 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -452,3 +452,9 @@ Harald Klein Robert Crockford Chris Boultinghouse Kitsew +Sakis Pardalis +Fourmost Products +Dennis Miller +Dave Matison +Maximilian Radig + From 87e1c4f96d7ccb066ab9515304904d4c18bb08c2 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Tue, 10 Jun 2014 23:12:24 +0200 Subject: [PATCH 55/80] Missing , --- radio/src/logs.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radio/src/logs.cpp b/radio/src/logs.cpp index 9e0b51575..176859929 100644 --- a/radio/src/logs.cpp +++ b/radio/src/logs.cpp @@ -116,7 +116,7 @@ const pm_char * openLogs() #endif #if defined(CPUARM) - f_puts("SWR,RSSI,A1,A2,A3,A4", &g_oLogFile); + f_puts("SWR,RSSI,A1,A2,A3,A4,", &g_oLogFile); #elif defined(FRSKY) f_puts("Buffer,RX,TX,A1,A2,", &g_oLogFile); #endif From 7ddb29ca74dfbc6751b6e472e462af9f97f4487e Mon Sep 17 00:00:00 2001 From: bsongis Date: Tue, 10 Jun 2014 23:38:48 +0200 Subject: [PATCH 56/80] RxBatt alarms files/tones removed --- radio/src/audio_arm.cpp | 4 ---- radio/src/opentx.h | 2 -- radio/util/tts.py | 4 ---- 3 files changed, 10 deletions(-) diff --git a/radio/src/audio_arm.cpp b/radio/src/audio_arm.cpp index b8d490da9..714980fe9 100644 --- a/radio/src/audio_arm.cpp +++ b/radio/src/audio_arm.cpp @@ -201,8 +201,6 @@ const char * audioFilenames[] = { "rssi_org", "rssi_red", "swr_red", - "rx_org", - "rx_red", "telemko", "telemok" }; @@ -1057,14 +1055,12 @@ void audioEvent(uint8_t e, uint16_t f) case AU_TIMER_30: audioQueue.playTone(BEEP_DEFAULT_FREQ+150, 120, 20, PLAY_REPEAT(2)|PLAY_NOW); break; - case AU_RXBATT_ORANGE: case AU_A1_ORANGE: case AU_A2_ORANGE: case AU_A3_ORANGE: case AU_A4_ORANGE: audioQueue.playTone(BEEP_DEFAULT_FREQ+600, 200, 20, PLAY_NOW); break; - case AU_RXBATT_RED: case AU_A1_RED: case AU_A2_RED: case AU_A3_RED: diff --git a/radio/src/opentx.h b/radio/src/opentx.h index 811db7c84..fcd5611f7 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -1370,8 +1370,6 @@ enum AUDIO_SOUNDS { AU_RSSI_ORANGE, AU_RSSI_RED, AU_SWR_RED, - AU_RXBATT_ORANGE, - AU_RXBATT_RED, AU_TELEMETRY_LOST, AU_TELEMETRY_BACK, #endif diff --git a/radio/util/tts.py b/radio/util/tts.py index 5355dec6d..66a5c7b81 100644 --- a/radio/util/tts.py +++ b/radio/util/tts.py @@ -177,8 +177,6 @@ def ttsEn(): (u"A3,critical", "a3_red", NO_ALTERNATE), (u"A4,low", "a4_org", NO_ALTERNATE), (u"A4,critical", "a4_red", NO_ALTERNATE), - (u"receiver battery, low", "rx_org", NO_ALTERNATE), - (u"receiver battery, critical", "rx_red", NO_ALTERNATE), (u"RF signal, low", "rssi_org", NO_ALTERNATE), (u"RF signal, critical", "rssi_red", NO_ALTERNATE), (u"radio antenna defective", "swr_red", NO_ALTERNATE), @@ -276,8 +274,6 @@ def ttsFr(): (u"A3,critique", "a3_red", NO_ALTERNATE), (u"A4,faible", "a4_org", NO_ALTERNATE), (u"A4,critique", "a4_red", NO_ALTERNATE), - (u"Batterie récepteur faible !", "rx_org", NO_ALTERNATE), - (u"Batterie récepteur critique !", "rx_red", NO_ALTERNATE), (u"Signal RF, faible", "rssi_org", NO_ALTERNATE), (u"Signal RF, critique", "rssi_red", NO_ALTERNATE), (u"Antenne défectueuse", "swr_red", NO_ALTERNATE), From 9b6d45bba361399c11e7d5584439527f9265a0e4 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 11 Jun 2014 07:11:05 +0200 Subject: [PATCH 57/80] Update DONATIONS.txt --- DONATIONS.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DONATIONS.txt b/DONATIONS.txt index 5be92a35b..b1ad81ccc 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -457,4 +457,4 @@ Fourmost Products Dennis Miller Dave Matison Maximilian Radig - +Juan Rodriguez From cab9615fa802b2574894504cc4aafae4c2033cde Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 11 Jun 2014 07:28:51 +0200 Subject: [PATCH 58/80] Update DONATIONS.txt --- DONATIONS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index b1ad81ccc..5ab036389 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -458,3 +458,4 @@ Dennis Miller Dave Matison Maximilian Radig Juan Rodriguez +Robert Sessler From ebbe2635b7834c10af43a557d5f704a1ad9d54c4 Mon Sep 17 00:00:00 2001 From: bsongis Date: Wed, 11 Jun 2014 07:42:48 +0200 Subject: [PATCH 59/80] Fixes #1249 --- companion/src/firmwares/opentx/opentxeeprom.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index b89a31413..bf1724585 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -2815,7 +2815,8 @@ void OpenTxGeneralData::beforeExport() void OpenTxGeneralData::afterImport() { for (int i=0; i<4; i++) { - if (i<2 && generalData.potsType[i] == 0) + generalData.potsType[i] = potsType[i]; + if (i<2 && potsType[i] == 0) generalData.potsType[i] = 1; } } From 5d037327d49ca14a1eae0ec85d446b3ed80d9024 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 11 Jun 2014 08:03:56 +0200 Subject: [PATCH 60/80] Update DONATIONS.txt --- DONATIONS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index 5ab036389..ea7a5c890 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -459,3 +459,4 @@ Dave Matison Maximilian Radig Juan Rodriguez Robert Sessler +John Murray From 0f495a6fd9ab5a1779adcfaa959d4a82caac637c Mon Sep 17 00:00:00 2001 From: bsongis Date: Wed, 11 Jun 2014 08:19:47 +0200 Subject: [PATCH 61/80] Fixes #1248 --- radio/src/audio_arm.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radio/src/audio_arm.cpp b/radio/src/audio_arm.cpp index 714980fe9..85fedebc3 100644 --- a/radio/src/audio_arm.cpp +++ b/radio/src/audio_arm.cpp @@ -327,8 +327,8 @@ void getLogicalSwitchAudioFile(char * filename, int index, unsigned int event) char * str = getModelPath(filename); int len = STR_VSWITCHES[0]; strncpy(str, &STR_VSWITCHES[1+len*(index+SWSRC_FIRST_LOGICAL_SWITCH)], len); - str += len; - strcpy(str, suffixes[event]); + str[len] = '\0'; + strcat(str, suffixes[event]); strcat(str, SOUNDS_EXT); } From 134a9c24720a1ab14a91040bd86c3a3e72adf590 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 11 Jun 2014 09:16:10 +0200 Subject: [PATCH 62/80] Update DONATIONS.txt --- DONATIONS.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DONATIONS.txt b/DONATIONS.txt index ea7a5c890..6dd000165 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -452,7 +452,7 @@ Harald Klein Robert Crockford Chris Boultinghouse Kitsew -Sakis Pardalis +Georgios Papadopoulos Fourmost Products Dennis Miller Dave Matison From 43a7434ae5f6a9aa360ee81c8c9947dfefb1fa85 Mon Sep 17 00:00:00 2001 From: bsongis Date: Wed, 11 Jun 2014 09:22:52 +0200 Subject: [PATCH 63/80] Fixes #1247 --- radio/src/mixer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radio/src/mixer.cpp b/radio/src/mixer.cpp index 949d749f0..0e2e274d7 100755 --- a/radio/src/mixer.cpp +++ b/radio/src/mixer.cpp @@ -823,7 +823,7 @@ void evalFlightModeMixes(uint8_t mode, uint8_t tick10ms) //========== OFFSET / AFTER =============== if (apply_offset_and_curve) { int16_t offset = GET_GVAR(MD_OFFSET(md), GV_RANGELARGE_NEG, GV_RANGELARGE, s_current_mixer_flight_mode); - if (offset) dv += calc100toRESX_16Bits(offset) << 8; + if (offset) dv += int32_t(calc100toRESX_16Bits(offset)) << 8; } //========== DIFFERENTIAL ========= From 3fe75fac59580a28e58f1d21dfc374c8b5abda71 Mon Sep 17 00:00:00 2001 From: bsongis Date: Wed, 11 Jun 2014 09:30:52 +0200 Subject: [PATCH 64/80] Fixes #1151 (applied the same trick to the GeneralEdit window) --- companion/src/generaledit.cpp | 63 +++++++++++++++++++++++++++++++---- companion/src/generaledit.h | 8 +++-- 2 files changed, 62 insertions(+), 9 deletions(-) diff --git a/companion/src/generaledit.cpp b/companion/src/generaledit.cpp index 99b67a5ca..56373f649 100644 --- a/companion/src/generaledit.cpp +++ b/companion/src/generaledit.cpp @@ -88,7 +88,8 @@ GeneralEdit::GeneralEdit(RadioData &radioData, QWidget *parent) : if (!GetCurrentFirmware()->getCapability(MultiLangVoice)) { ui->VoiceLang_label->hide(); ui->voiceLang_CB->hide(); - } else { + } + else { voiceLangEditLock=true; populateVoiceLangCB(ui->voiceLang_CB, g_eeGeneral.ttsLanguage); voiceLangEditLock=false; @@ -97,7 +98,8 @@ GeneralEdit::GeneralEdit(RadioData &radioData, QWidget *parent) : if (!mavlink) { ui->mavbaud_CB->hide(); ui->mavbaud_label->hide(); - } else { + } + else { mavbaudEditLock=true; ui->mavbaud_CB->setCurrentIndex(g_eeGeneral.mavbaud); populateVoiceLangCB(ui->voiceLang_CB, g_eeGeneral.ttsLanguage); @@ -170,7 +172,8 @@ GeneralEdit::GeneralEdit(RadioData &radioData, QWidget *parent) : ui->volume_SB->hide(); ui->volume_SB->setDisabled(true); ui->label_volume->hide(); - } else { + } + else { ui->volume_SB->setMaximum(GetCurrentFirmware()->getCapability(MaxVolume)); } if (!GetCurrentFirmware()->getCapability(HasBrightness)) { @@ -314,6 +317,8 @@ GeneralEdit::GeneralEdit(RadioData &radioData, QWidget *parent) : ui->switchesDelayLabel->hide(); } + disableMouseScrolling(); + ga.sendPageView(getBoardName(GetCurrentFirmware()->getBoard()) + " GeneralEdit"); } @@ -1076,7 +1081,8 @@ void GeneralEdit::on_calstore_PB_clicked() if (name.isEmpty()) { ui->calstore_PB->setDisabled(true); return; - } else { + } + else { QString calib=g.profile[profile_id].stickPotCalib(); if (!(calib.isEmpty())) { int ret = QMessageBox::question(this, "Companion", @@ -1115,7 +1121,50 @@ void GeneralEdit::on_calstore_PB_clicked() } } -void GeneralEdit::shrink() { - resize(100,100); - resize(0,0); +void GeneralEdit::shrink() +{ + resize(100, 100); + resize(0, 0); +} + +bool GeneralEdit::eventFilter(QObject *object, QEvent * event) +{ + QWidget * widget = qobject_cast(object); + if (widget) { + if (event->type() == QEvent::Wheel) { + if (widget->focusPolicy() == Qt::WheelFocus) { + event->accept(); + return false; + } + else { + event->ignore(); + return true; + } + } + else if (event->type() == QEvent::FocusIn) { + widget->setFocusPolicy(Qt::WheelFocus); + } + else if (event->type() == QEvent::FocusOut) { + widget->setFocusPolicy(Qt::StrongFocus); + } + } + return QWidget::eventFilter(object, event); +} + +void GeneralEdit::disableMouseScrolling() +{ + Q_FOREACH(QComboBox * cb, findChildren()) { + cb->installEventFilter(this); + cb->setFocusPolicy(Qt::StrongFocus); + } + + Q_FOREACH(QAbstractSpinBox * sb, findChildren()) { + sb->installEventFilter(this); + sb->setFocusPolicy(Qt::StrongFocus); + } + + Q_FOREACH(QSlider * slider, findChildren()) { + slider->installEventFilter(this); + slider->setFocusPolicy(Qt::StrongFocus); + } } diff --git a/companion/src/generaledit.h b/companion/src/generaledit.h index 5a08469f3..8bd86e2d8 100644 --- a/companion/src/generaledit.h +++ b/companion/src/generaledit.h @@ -12,12 +12,12 @@ class GeneralEdit : public QDialog { Q_OBJECT -public: + public: explicit GeneralEdit(RadioData &radioData, QWidget *parent = 0); ~GeneralEdit(); void updateSettings(); -private: + private: Ui::GeneralEdit *ui; RadioData &radioData; GeneralSettings g_eeGeneral; @@ -28,6 +28,10 @@ private: void getGeneralSwitchDefPos(int i, bool val); void setSwitchDefPos(); void updateVarioPitchRange(); + void disableMouseScrolling(); + + protected: + virtual bool eventFilter(QObject *obj, QEvent *event); signals: void modelValuesChanged(); From 5c4b2ebd9047f2c97fe3ada6a951c14a7a067c57 Mon Sep 17 00:00:00 2001 From: bsongis Date: Wed, 11 Jun 2014 11:58:57 +0200 Subject: [PATCH 65/80] EEPROM Backup/Restore problem on 9X128 (variant not used correctly) --- companion/src/burndialog.cpp | 2 +- companion/src/firmwares/opentx/opentxinterface.cpp | 2 +- companion/src/flashinterface.cpp | 12 +++++++++++- companion/src/flashinterface.h | 8 ++++++-- companion/src/mainwindow.cpp | 12 +++--------- 5 files changed, 22 insertions(+), 14 deletions(-) diff --git a/companion/src/burndialog.cpp b/companion/src/burndialog.cpp index 21bdc3f19..87abea369 100644 --- a/companion/src/burndialog.cpp +++ b/companion/src/burndialog.cpp @@ -193,7 +193,7 @@ void burnDialog::checkFw(QString fileName) ui->FramFWInfo->show(); ui->DateField->setText(flash.getDate() + " " + flash.getTime()); ui->versionField->setText(flash.getVersion()); - ui->ModField->setText(flash.getEEprom()); + ui->ModField->setText(flash.getEEpromId()); ui->SplashFrame->hide(); if (flash.hasSplash()) { diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index b7a5df9aa..ee24329cc 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -154,7 +154,7 @@ bool OpenTxEepromInterface::loadModelVariant(unsigned int index, ModelData &mode int numbytes = efile->readRlc2((uint8_t *)eepromData.data(), eepromData.size()); if (numbytes) { open9xModel.Import(eepromData); - // open9xModel.Dump(); + open9xModel.Dump(); model.used = true; } else { diff --git a/companion/src/flashinterface.cpp b/companion/src/flashinterface.cpp index c0024a404..0104cd6c4 100644 --- a/companion/src/flashinterface.cpp +++ b/companion/src/flashinterface.cpp @@ -69,7 +69,17 @@ FlashInterface::FlashInterface(QString fileName): version = seekLabel(VERS_MARK); date = seekLabel(DATE_MARK); time = seekLabel(TIME_MARK); - eeprom = seekLabel(EEPR_MARK); + eepromId = seekLabel(EEPR_MARK); + + if (eepromId.contains('-')) { + QStringList list = eepromId.split('-'); + eepromVersion = list[0].toInt(); + eepromVariant = list[1].toInt(); + } + else { + eepromVersion = eepromId.toInt(); + } + versionId = version2index(version); SeekSplash(); isValidFlag = true; diff --git a/companion/src/flashinterface.h b/companion/src/flashinterface.h index db6b8fa87..bd10b7765 100644 --- a/companion/src/flashinterface.h +++ b/companion/src/flashinterface.h @@ -49,7 +49,9 @@ class FlashInterface int getSize() { return flash_size; } inline QString getVersion() { return version; } unsigned int getVersionId() { return versionId; } - inline QString getEEprom() { return eeprom; } + inline int getEEpromVersion() { return eepromVersion; } + inline int getEEpromVariant() { return eepromVariant; } + inline QString getEEpromId() { return eepromId; } QImage getSplash(); bool setSplash(const QImage & newsplash); bool hasSplash(); @@ -72,7 +74,9 @@ class FlashInterface QString time; QString version; int versionId; - QString eeprom; + QString eepromId; + int eepromVersion; + int eepromVariant; QByteArray splash; uint splash_offset; uint splash_size; diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp index d26b33997..7ed81622b 100644 --- a/companion/src/mainwindow.cpp +++ b/companion/src/mainwindow.cpp @@ -990,7 +990,6 @@ bool MainWindow::readFirmwareFromRadio(const QString filename) ad->setWindowIcon(CompanionIcon("read_flash.png")); ad->exec(); delete ad; - sleep(1); result = true; } } @@ -1067,7 +1066,6 @@ bool MainWindow::readEepromFromRadio(const QString filename, const QString messa ad->setWindowIcon(CompanionIcon("read_eeprom.png")); ad->exec(); delete ad; - sleep(1); result = true; } } @@ -1078,7 +1076,6 @@ bool MainWindow::readEepromFromRadio(const QString filename, const QString messa ad->setWindowIcon(CompanionIcon("read_eeprom.png")); ad->exec(); delete ad; - sleep(1); result = true; } @@ -1267,11 +1264,8 @@ bool MainWindow::convertEEPROM(QString backupFile, QString restoreFile, QString if (!flash.isValid()) return false; - unsigned int version = 0; - unsigned int variant = 0; - - QString fwEEprom = flash.getEEprom(); - version = fwEEprom.toInt(); + unsigned int version = flash.getEEpromVersion(); + unsigned int variant = flash.getEEpromVariant(); QFile file(backupFile); int eeprom_size = file.size(); @@ -1333,7 +1327,7 @@ void MainWindow::writeFlash(QString fileToFlash) if (backupEnable) { QDateTime datetime; backupFile.clear(); - backupFile=backupPath+"/backup-"+QDateTime().currentDateTime().toString("yyyy-MM-dd-hhmmss")+".bin"; + backupFile = backupPath+"/backup-"+QDateTime().currentDateTime().toString("yyyy-MM-dd-hhmmss")+".bin"; } if (readEepromFromRadio(backupFile, tr("Backup Models and Settings From Radio"))) { From ecd871fe34dc4004f8fa52e7e8bda4800dcd4a79 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 11 Jun 2014 12:17:02 +0200 Subject: [PATCH 66/80] Update DONATIONS.txt --- DONATIONS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index 6dd000165..6ada89a02 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -460,3 +460,4 @@ Maximilian Radig Juan Rodriguez Robert Sessler John Murray +Martin Sniedze From 1fd4dbb1a9ff2b9f5864f78ec9b052a843ca0d95 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 11 Jun 2014 13:02:24 +0200 Subject: [PATCH 67/80] Update DONATIONS.txt --- DONATIONS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index 6ada89a02..f98f4d31c 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -461,3 +461,4 @@ Juan Rodriguez Robert Sessler John Murray Martin Sniedze +David Poole From 54cbc46929775a98c53f819e92c67e85e3ee1131 Mon Sep 17 00:00:00 2001 From: Kjell Kernen Date: Wed, 11 Jun 2014 14:02:56 +0200 Subject: [PATCH 68/80] Swedish companion translation + Fixed spelling error. --- companion/src/firmwares/opentx/opentxeeprom.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index bf1724585..14411778f 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -1259,7 +1259,7 @@ class CurvesField: public TransformedField { else { offset += (curve->type == CurveData::CURVE_TYPE_CUSTOM ? curve->count * 2 - 2 : curve->count) - 5; if (offset > maxPoints - 5 * maxCurves) { - EEPROMWarnings += ::QObject::tr("openTx only accepts %1 points in all curves").arg(maxPoints) + "\n"; + EEPROMWarnings += ::QObject::tr("OpenTx only accepts %1 points in all curves").arg(maxPoints) + "\n"; break; } _curves[i] = offset; From 6d1b379f5344a58aef61d0344281aecb22b88ebc Mon Sep 17 00:00:00 2001 From: Kjell Kernen Date: Wed, 11 Jun 2014 14:03:23 +0200 Subject: [PATCH 69/80] Swedish companion translation (missed in last commit) --- companion/src/translations/companion_sv.ts | 324 +++++++++++---------- 1 file changed, 167 insertions(+), 157 deletions(-) diff --git a/companion/src/translations/companion_sv.ts b/companion/src/translations/companion_sv.ts index dd55793fc..bf661ce43 100644 --- a/companion/src/translations/companion_sv.ts +++ b/companion/src/translations/companion_sv.ts @@ -4,7 +4,7 @@ AileronsPage - + No Nej @@ -1320,12 +1320,12 @@ Behöver inte vara samma som menyspråket 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 @@ -1368,7 +1368,7 @@ Behöver inte vara samma som menyspråket På - + Error Fel @@ -1378,7 +1378,7 @@ Behöver inte vara samma som menyspråket Kan inte hitta ljudfilen %1! - + &Delete &Ta bort @@ -1388,7 +1388,7 @@ Behöver inte vara samma som menyspråket Ta bort - + &Copy &Kopiera @@ -1941,7 +1941,7 @@ Behöver inte vara samma som menyspråk FlightModesPanel - + Flight Mode %1 Flygläge %1 @@ -2000,6 +2000,7 @@ Dessa inställningar gäller för alla modeller. + <!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; } @@ -2014,7 +2015,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Värden mellan 20 och 45</span></p></body></html> - + Sound Mode Ljudläge @@ -2200,7 +2201,7 @@ Mode 4: - + @@ -2227,7 +2228,7 @@ Mode 4: 4 - Extra högt. - + Quiet Tyst @@ -2251,7 +2252,7 @@ Mode 4: Lång - + @@ -2296,7 +2297,7 @@ Mode 4: Läge - + Only Alarms Endast vid alarm @@ -2537,7 +2538,13 @@ Mode 4: Invertera Spakar - + + Play Delay (switch mid position) + Talfördröjning för +brytare + + + Pot. 4 Pot. 4 @@ -2602,7 +2609,7 @@ Mode 4: Serieport - + X-Short Extra Kort @@ -2682,11 +2689,12 @@ Mode 4: + ms ms - + Weight Vikt @@ -2768,12 +2776,12 @@ Mode 4: PPM Multiplikator - + Alarms Only Endast för alarm - + Trainer Elev @@ -2805,7 +2813,7 @@ Mode 4: POT 3 - + Timeshift from UTC Tidsdifferens till UTC @@ -2869,7 +2877,7 @@ Mode 4: Belysningens ljusstyrka - + Negative span Negativa värden @@ -2892,7 +2900,7 @@ Mode 4: Spänning - + Warning Varning @@ -2908,7 +2916,7 @@ Mode 4: Felaktig information i profilen, hårdvaruinställningar lästes inte in - + Do you want to store calibration in %1 profile<br>overwriting existing calibration? Vill du skriva över existerande kalibreringsdata<br>i profilen %1 med de nuvarande? @@ -2918,7 +2926,7 @@ Mode 4: Kalibrering ojch hårdvaruinställningar sparades. - + Speaker Högtalare @@ -2996,7 +3004,7 @@ Mode 4: Språk för Röst - + 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 ? @@ -3070,7 +3078,7 @@ FAI-funktionen kan inte slås av i sändaren. 115200 Baud - + Rud Rod @@ -3410,7 +3418,7 @@ FAI-funktionen kan inte slås av i sändaren. LB%1 - + &Delete &Ta bort @@ -3420,7 +3428,7 @@ FAI-funktionen kan inte slås av i sändaren. Ta bort - + &Copy &Kopiera @@ -3456,12 +3464,12 @@ FAI-funktionen kan inte slås av i sändaren. - + File loaded Filen har laddats - + Save As @@ -3581,7 +3589,7 @@ Version %2 finns tillgänglig. Vill du ladda ned den nu ? - + Conversion failed Konverteringen misslyckades @@ -3596,7 +3604,7 @@ Vill du ladda ned den nu ? Säkerhetskopieringen misslyckades - + OpenTX Companion - FW: %1 - Profile: %2 OpenTX Companion - FW: %1 - Profil: %2 @@ -3774,8 +3782,8 @@ Vill du ladda ned den nu ? - - + + @@ -3785,7 +3793,7 @@ Vill du ladda ned den nu ? Fel - + Cannot write file %1: %2. Filen %1 kunde inte skrivas: @@ -3798,8 +3806,8 @@ Vill du ladda ned den nu ? - - + + Error opening file %1: %2. @@ -3807,7 +3815,7 @@ Vill du ladda ned den nu ? %2. - + Compilation server termporary failure, try later Tillfälligt fel i byggservern. Försök igen senare @@ -3827,14 +3835,14 @@ Vill du ladda ned den nu ? 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! @@ -3844,20 +3852,20 @@ Vill du ladda ned den nu ? 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 @@ -3963,14 +3971,14 @@ Vill du ladda ned den nu ? 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 @@ -4003,7 +4011,8 @@ Vill du ladda ned den nu ? Release Notes - + + Do you want to download release %1 now ? Vill du ladda ned firmware %1 nu ? @@ -4050,7 +4059,7 @@ Vill du ladda ned den nu ? Den firmware som valts har inga release notes. - + The file %1 has not been recognized as a valid Models and Settings file Write anyway ? @@ -4064,7 +4073,7 @@ Starta skrivningen i alla fall ? 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 @@ -4074,7 +4083,7 @@ Starta skrivningen i alla fall ? Skrivningen av firware misslyckades - + About Companion Om Companion @@ -4111,12 +4120,11 @@ Version %2 finns tillgänglig. Vill du ladda ned den nu ? - Do you want to download release %1 %2 now ? - Vill du ladda ned version e %1 nu %2 nu ? + Vill du ladda ned version e %1 nu %2 nu ? - + A new version of %1 firmware is available: - current is %2 - newer is %3 @@ -4140,20 +4148,20 @@ Vill du ladda ned den nya versionen nu ? 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! @@ -4168,17 +4176,17 @@ Vill du ladda ned den nya versionen nu ? 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 @@ -4213,7 +4221,7 @@ Vill du ladda ned den nya versionen nu ? Spara radiobackup till fil - + The OpenTX Companion project was originally forked from <a href='%1'>eePe</a> OpenTX-Companion-projektet grenades ursprungligen av från <a href='%1'>eePe</a> @@ -4550,7 +4558,7 @@ Vill du ladda ned den nya versionen nu ? Visa alla radioprofiler i en lista - + Invalid Models and Settings File %1 Filen innehåller inte Modeller och Inställningar: %1 @@ -4565,8 +4573,8 @@ Vill du ladda ned den nya versionen nu ? MdiChild - - + + @@ -4574,8 +4582,8 @@ Vill du ladda ned den nya versionen nu ? - - + + @@ -4588,36 +4596,36 @@ Vill du ladda ned den nya versionen nu ? Fel - + Editing model %1: Redigera modell %1: - + Unable to find file %1! Kan inte hitta filen %1 ! - - + + Error reading file %1: %2. Fel vid inläsning från filen %1: %2. - - + + - + Error opening file %1: %2. Fel vid öppning av filen %1: %2. - + @@ -4627,8 +4635,8 @@ Vill du ladda ned den nya versionen nu ? - - + + Cannot write file %1: %2. Filen %1 kunde inte skrivas: @@ -4643,12 +4651,12 @@ Vill du ladda ned den nya versionen nu ? %2. - + free bytes bytes lediga - + Invalid EEPROM File %1 Ogiltig modelldatafil %1 @@ -4659,7 +4667,7 @@ Vill du ladda ned den nya versionen nu ? Ogiltig binär modelldatafil %1 - + %1 has been modified. Do you want to save your changes? %1 har förändrats. @@ -5009,30 +5017,30 @@ p, li { white-space: pre-wrap; } MixesPanel - + Move Up Flytta uppåt - - + + Ctrl+Up Ctrl+Up - - + + Move Down Flytta nedåt - - + + Ctrl+Down Ctrl+Down - + Clear Mixes Nollställ mixarna @@ -5051,7 +5059,7 @@ p, li { white-space: pre-wrap; } Ingen Trim - + NoTrim EjTrim @@ -5551,7 +5559,7 @@ p, li { white-space: pre-wrap; } ModulePanel - + Trainer Port Trainer-ingång @@ -5656,14 +5664,14 @@ p, li { white-space: pre-wrap; } - + Name Namn - + EEprom Size Storlek på modelldata @@ -5695,12 +5703,12 @@ p, li { white-space: pre-wrap; } - + Enabled Aktiv - + Disabled Inaktiv @@ -5747,12 +5755,12 @@ p, li { white-space: pre-wrap; } - + Switch Brytare - + Flight mode name Namn för flygläget @@ -5823,7 +5831,7 @@ p, li { white-space: pre-wrap; } Mixar - + CH @@ -5979,18 +5987,18 @@ p, li { white-space: pre-wrap; } Analog - + Inputs Inputs - + NoTrim EjTrim - + Weight(%1) Vikt(%1) @@ -6000,7 +6008,7 @@ p, li { white-space: pre-wrap; } Brytare(%1) - + No DR/Expo Ingen DR/Expo @@ -6132,8 +6140,8 @@ p, li { white-space: pre-wrap; } Stapelnummer - - + + Source Källa @@ -6158,7 +6166,7 @@ p, li { white-space: pre-wrap; } - + P1 P1 @@ -6277,7 +6285,7 @@ p, li { white-space: pre-wrap; } - + Timer1 Timer1 @@ -6330,9 +6338,8 @@ p, li { white-space: pre-wrap; } RSSI Rx - Rx Batt - Rx Batt + Rx Batt @@ -6486,17 +6493,17 @@ p, li { white-space: pre-wrap; } Timer(%1, %2) - + Timer(%1, %2) Duration (%1s) - + Fördröjning (%1s) Delay (%1s) - + Fördröjning (%1s) @@ -6669,7 +6676,7 @@ p, li { white-space: pre-wrap; } Det går inte att använda Expo på en specialkurva i open9x - + Support for frsky telemetry mod Stöd för FrSky telemeri @@ -7046,9 +7053,9 @@ p, li { white-space: pre-wrap; } - + - + CH%1 KN%1 @@ -7666,7 +7673,7 @@ p, li { white-space: pre-wrap; } - + No repeat Repetera ej @@ -7724,7 +7731,7 @@ p, li { white-space: pre-wrap; } %1s - + Value Värde @@ -8042,12 +8049,21 @@ p, li { white-space: pre-wrap; } Flygläge %1 värde - + OpenTX only accepts %1 points in all curves OpenTX accepterar bara %1 punkter i alla kurvor - + openTx only accepts %1 points in all curves + OpenTX accepterar bara %1 punkter i alla kurvor + + + + OpenTx only accepts %1 points in all curves + OpenTX accepterar bara %1 punkter i alla kurvor + + + @@ -8055,7 +8071,7 @@ p, li { white-space: pre-wrap; } OpenTX stödjer inte funktionen för den aktuella hårdvaran - + OpenTX doesn't accept this protocol @@ -8067,14 +8083,14 @@ p, li { white-space: pre-wrap; } OpenTX accepterar inte detta antal kanaler - + Your radio probably uses a wrong firmware, eeprom size is 4096 but only the first 2048 are used Din sändare har antagligen laddats med felaktig programvara. eeprom-storleken är 4096, men enbart den första hälften används - + Support for MAVLINK devices Stöd för MAVLINK-enheter @@ -8199,7 +8215,7 @@ Vi uppskattar ert stöd! Gruppen bakom OpenTX/Companion. - + Trim disabled Trim inaktiv @@ -8755,23 +8771,21 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga A2 - + RSSI RSSI - - + Alarm 1 Alarm 1 - Critical Alarm - Kritisk Alarmnivå + Kritisk Alarmnivå - + ---- ---- @@ -8795,13 +8809,12 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Röd - - + Alarm 2 Alarm 2 - + Serial Protocol Serieprotokoll @@ -8884,9 +8897,8 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Blad - RxBatt - Mottagar-batteri + Mottagar-batteri Alti @@ -8901,7 +8913,7 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Vario - + Sink Max Sjunk Max @@ -8971,12 +8983,11 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga mAh-antal - Low Alarm - Låg Alarmnivå + Låg Alarmnivå - + FAS Offset FAS-offset @@ -9159,12 +9170,12 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga TelemetryPanel - + Telemetry screen %1 Telemetriskärm %1 - + Low Alarm Låg Alarmnivå @@ -9184,19 +9195,18 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Winged Shadow How High (stöds ej) - RxBatt - RxBatt + RxBatt - - + + A1 A1 - + Alti Höjd @@ -9212,18 +9222,18 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga - + A2 A2 - + dTE - + A3 A3 @@ -9302,7 +9312,7 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga TimerPanel - + Silent Tyst @@ -9346,7 +9356,7 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga WizardDialog - + Model Wizard Modellguide @@ -9539,7 +9549,7 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Guiden har kopplat radiokanaler till kontroller i din modell. Nu måste du själv ställa in riktningen för kontrollerna. Testa och reversera de kanaler som gör att dina kontroller rör sig i fel riktning.<br>Ta bort propellern/propellrarna innan du slår på din modell första gången.<br>OBS. Om du slutför guiden tar du bort alla eventuella tidigare inställningar för modellplatsen! - + Enter a name for your model and select model type. Ange ett namn för din modell och ange modeltypen. @@ -10137,13 +10147,13 @@ Detta används av mallen för att koppla kanal till output-nummer. Verifierar - + FUSES: Low=%1 High=%2 Ext=%3 Vad är EXT? SÄKRINGAR: Låg=%1 Hög=%2 Ext=%3 - + result result resultat @@ -10180,19 +10190,19 @@ Detta används av mallen för att koppla kanal till output-nummer. avslutade inte korrekt - + finished correctly finished correctly avslutade korrekt - + Started Started Startade - + Error @@ -10270,7 +10280,7 @@ Do you want some help ? Vill du ha hjälp ? - + Copy did not finish correctly Kopieringen gick inte bra @@ -10523,7 +10533,7 @@ m2560 för v4.1-kort - + @@ -10537,9 +10547,9 @@ m2560 för v4.1-kort Bilder (%1) - - + + @@ -10622,7 +10632,7 @@ m2560 för v4.1-kort - + Browse for file Välj fil @@ -10697,8 +10707,8 @@ m2560 för v4.1-kort Kan inte hitta filen %1 ! - + Error opening file %1: %2. From 4773ba469f16e3ceaf640473edb2f5589f27b48b Mon Sep 17 00:00:00 2001 From: Kjell Kernen Date: Wed, 11 Jun 2014 14:13:34 +0200 Subject: [PATCH 70/80] Swedish OpenTX translation for 2.0.2 --- radio/src/translations/se.h.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 723e67a58..daaa6e8e3 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -579,7 +579,7 @@ #define TR_POTWARNING TR("Rattvarn.", INDENT "Rattvarning") #define TR_TIMEZONE TR("Tidszon","GPS Tidszon") #define TR_RXCHANNELORD "Kanaler i RX" -#define TR_SWITCHES_DELAY "Switches Delay" +#define TR_SWITCHES_DELAY "Brytarfördröjning" #define TR_SLAVE "Elev" #define TR_MODESRC " Läge\004% Källa" #define TR_MULTIPLIER "Styrka" @@ -781,7 +781,7 @@ #define TR_ANTENNAPROBLEM CENTER "Fel på TX-antennen" #define TR_MODELIDUSED TR("ID finns redan","ModellID används redan") #define TR_MODULE INDENT "Modul" -#define TR_TELEMETRY_TYPE "Telemetry Type" +#define TR_TELEMETRY_TYPE "Telemetrityp" #define TR_CHANNELRANGE INDENT "Kanalområde" #define TR_LOWALARM INDENT "Låg-alarm" #define TR_CRITICALALARM INDENT "Kritiskt alarm" From 2a9429d1831de7fab645bb4e5a7561aa1d99fe4d Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 11 Jun 2014 14:19:50 +0200 Subject: [PATCH 71/80] Update DONATIONS.txt --- DONATIONS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index f98f4d31c..ce06f2e56 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -462,3 +462,4 @@ Robert Sessler John Murray Martin Sniedze David Poole +Manfred Delakowitz From 78ef42755b6e37b4d5aa34a8ee66bc2adf202382 Mon Sep 17 00:00:00 2001 From: bsongis Date: Wed, 11 Jun 2014 14:46:40 +0200 Subject: [PATCH 72/80] Fixes #1251 --- radio/src/gui/menu_model.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radio/src/gui/menu_model.cpp b/radio/src/gui/menu_model.cpp index 4f76f41a2..e68356433 100644 --- a/radio/src/gui/menu_model.cpp +++ b/radio/src/gui/menu_model.cpp @@ -4807,8 +4807,8 @@ void menuModelLogicalSwitches(uint8_t event) #endif #if LCD_W >= 212 - #define MODEL_CUSTOM_FUNC_1ST_COLUMN (5+3*FW) - #define MODEL_CUSTOM_FUNC_2ND_COLUMN (8*FW) + #define MODEL_CUSTOM_FUNC_1ST_COLUMN (4*FW+2) + #define MODEL_CUSTOM_FUNC_2ND_COLUMN (8*FW+2) #define MODEL_CUSTOM_FUNC_3RD_COLUMN (20*FW) #define MODEL_CUSTOM_FUNC_4TH_COLUMN (33*FW-3) #define MODEL_CUSTOM_FUNC_4TH_COLUMN_ONOFF (34*FW-3) From 7d29fed9a59e46e188fba63243a534a27ae0b6b2 Mon Sep 17 00:00:00 2001 From: bsongis Date: Wed, 11 Jun 2014 14:51:00 +0200 Subject: [PATCH 73/80] 2.0.2 preparation --- companion/src/CMakeLists.txt | 2 +- radio/src/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/companion/src/CMakeLists.txt b/companion/src/CMakeLists.txt index f1ab87ddf..526742415 100644 --- a/companion/src/CMakeLists.txt +++ b/companion/src/CMakeLists.txt @@ -2,7 +2,7 @@ PROJECT( companion ) SET( C9X_VERSION_MAJOR "2" ) SET( C9X_VERSION_MINOR "0" ) -SET( C9X_VERSION_REVISION "1" ) +SET( C9X_VERSION_REVISION "2" ) SET( C9X_VERSION ${C9X_VERSION_MAJOR}.${C9X_VERSION_MINOR}.${C9X_VERSION_REVISION} ) CMAKE_MINIMUM_REQUIRED( VERSION 2.8 ) diff --git a/radio/src/Makefile b/radio/src/Makefile index 0f273a2ab..285ae7b60 100644 --- a/radio/src/Makefile +++ b/radio/src/Makefile @@ -279,7 +279,7 @@ SHELL = sh IMG2LBM = -python ../util/img2lbm.py BIN2LBM = -python ../util/bin2lbm.py TRANSLATE = -python ../util/translate.py -VERSION = 2.0.1 +VERSION = 2.0.2 SRC = CPPSRC = From e8e025fdb0a7b3c4b149b153e19583edbbf0dfef Mon Sep 17 00:00:00 2001 From: bsongis Date: Wed, 11 Jun 2014 15:06:39 +0200 Subject: [PATCH 74/80] Fixes #1252 --- radio/src/opentx.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/radio/src/opentx.h b/radio/src/opentx.h index fcd5611f7..0c1771d48 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -1236,9 +1236,8 @@ uint8_t lswFamily(uint8_t func); int16_t lswTimerValue(delayval_t val); #if defined(CPUARM) - #define MASK_CFN_TYPE uint32_t // current max = 32 function switches + #define MASK_CFN_TYPE uint64_t // current max = 64 function switches #define MASK_FUNC_TYPE uint32_t // current max = 32 functions - #elif defined(CPUM64) #define MASK_CFN_TYPE uint16_t // current max = 16 function switches #define MASK_FUNC_TYPE uint8_t // current max = 8 functions From 0ab85725e06fc9bc5b1e85b20c7e5e2715bc2b81 Mon Sep 17 00:00:00 2001 From: Romolo Manfredini Date: Wed, 11 Jun 2014 15:12:17 +0200 Subject: [PATCH 75/80] Italian translation (almost finished) --- companion/src/translations/companion_it.ts | 44 +++++++++++----------- radio/src/translations/it.h.txt | 2 +- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/companion/src/translations/companion_it.ts b/companion/src/translations/companion_it.ts index d9307449b..dd6c3a8cc 100644 --- a/companion/src/translations/companion_it.ts +++ b/companion/src/translations/companion_it.ts @@ -6408,7 +6408,7 @@ p, li { white-space: pre-wrap; } TR%1 - + @@ -6716,17 +6716,17 @@ p, li { white-space: pre-wrap; } Edge(%1, [%2:%3]) - + Soglia(%1, [%2:%3]) Sticky(%1, %2) - + Bloccato(%1, %2) Timer(%1, %2) - + Temporizzatore(%1, %2) @@ -6755,7 +6755,7 @@ p, li { white-space: pre-wrap; } Edge - + Soglia Duration %1 sec @@ -6783,7 +6783,7 @@ p, li { white-space: pre-wrap; } Telemetry - Telemetria + Telemetria @@ -7343,7 +7343,7 @@ p, li { white-space: pre-wrap; } 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) @@ -7869,42 +7869,42 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati RudTrim Left - + Trim Dir Sinistro RudTrim Right - + Trim Dir Destro EleTrim Down - + Trim Ele Giù EleTrim Up - + Trim Ele Su ThrTrim Down - + Trim Mot Giù ThrTrim Up - + Trim Mot Su AilTrim Left - + Trim Ale Sinistro AilTrim Right - + Trim Ale Destro @@ -7914,17 +7914,17 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati THs - + MOs TH% - + MO% THt - + MOt @@ -7998,7 +7998,7 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati Trim disabled - Trim disabilitato + Trim disabilitato @@ -8008,12 +8008,12 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati Use Trim from Flight mode %1 - Usa Trim per Fase di volo %1 + Usa Trim della Fase di volo %1 Use Trim from Flight mode %1 + Own Trim as an offset - Usa Trim per Fase di volo %1 + Trim proprio come offset + Usa Trim della Fase di volo %1 + Trim proprio come offset @@ -8040,7 +8040,7 @@ la eeprom è 4096 bytes ma solo 2048 vengono utilizzati Thank you for upgrading to OpenTX 2.0. This is a major upgrade that adds and modifies a lot of things, so please make sure that you read release notes carefully to learn about the changes, and thoroughly check each of your models for proper function. The OpenTX Team. - Grazie per aver aggiornato a OpenTX 2.0 Questo Importante aggiornamento aggiunge nuove funzionalità e migliora quelle già esistenti. Leggere molto attentamente le note di rilascio e controllate approfonditamente i programmi esistenti per assicurarsi che tutte le impostazioni funzionino regolarmente. + Grazie per aver aggiornato a OpenTX 2.0 Questo Importante aggiornamento aggiunge nuove funzionalità e migliora quelle già esistenti. Leggere molto attentamente le note di rilascio e controllate approfonditamente i programmi esistenti per assicurarsi che tutte le impostazioni funzionino regolarmente. Il Team di OpenTX. diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 4a9fd176d..df2883d49 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -445,7 +445,7 @@ #define TR_VSRCRAW "---\0""Dir\0""Ele\0""Mot\0""Ale\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW "TrmD" "TrmE" "TrmM" "TrmA" TR_SW_VSRCRAW #define LEN_VTMRMODES "\003" -#define TR_VTMRMODES "OFF""ABS""THs""TH%""THt" +#define TR_VTMRMODES "OFF""ABS""MOs""MO%""MOt" #define LEN_VTRAINERMODES "\007" #define TR_VTRAINERMODES "Maestro""Allievo" From 69276bffccc5e027f4797fe9f89a08d9d65ba7db Mon Sep 17 00:00:00 2001 From: bsongis Date: Wed, 11 Jun 2014 16:04:29 +0200 Subject: [PATCH 76/80] Cleaning work in Companion --- companion/src/eeprominterface.h | 17 +---------------- companion/src/firmwares/er9x/er9xeeprom.cpp | 3 --- .../src/firmwares/ersky9x/ersky9xeeprom.cpp | 7 +------ .../src/firmwares/gruvin9x/gruvin9xeeprom.cpp | 2 -- companion/src/firmwares/th9x/th9xeeprom.cpp | 1 - companion/src/mainwindow.cpp | 6 ++++-- companion/src/mdichild.cpp | 4 ++-- companion/src/modeledit/flightmodes.cpp | 8 -------- companion/src/modeledit/flightmodes.h | 1 - companion/src/xmlinterface.cpp | 2 -- 10 files changed, 8 insertions(+), 43 deletions(-) diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h index 124625d97..692610a6c 100644 --- a/companion/src/eeprominterface.h +++ b/companion/src/eeprominterface.h @@ -495,7 +495,6 @@ class GeneralSettings { bool disableBG; unsigned int splashMode; int splashDuration; - uint8_t filterInput; // TODO enum unsigned int backlightDelay; bool blightinv; bool stickScroll; @@ -798,15 +797,6 @@ class FrSkyAlarmData { void clear() { memset(this, 0, sizeof(FrSkyAlarmData)); } }; -class FrSkyErAlarmData { - public: - FrSkyErAlarmData() { clear(); } - uint8_t frskyAlarmType ; - uint8_t frskyAlarmLimit ; - uint8_t frskyAlarmSound ; - void clear() { memset(this, 0, sizeof(FrSkyErAlarmData)); } -}; - class FrSkyRSSIAlarm { public: FrSkyRSSIAlarm() { clear(0, 50); } @@ -990,7 +980,6 @@ class ModelData { bool used; char name[12+1]; - uint8_t modelVoice; TimerData timers[2]; bool thrTrim; // Enable Throttle Trim bool thrExpo; // Enable Throttle Expo @@ -1013,8 +1002,7 @@ class ModelData { LogicalSwitchData customSw[C9X_NUM_CSW]; FuncSwData funcSw[C9X_MAX_CUSTOM_FUNCTIONS]; SwashRingData swashRingData; - unsigned int thrTraceSrc; - int8_t traineron; // 0 disable trainer, 1 allow trainer + unsigned int thrTraceSrc; unsigned int modelId; unsigned int switchWarningStates; unsigned int nSwToWarn; @@ -1024,9 +1012,6 @@ class ModelData { // TODO structure char gvars_names[C9X_MAX_GVARS][6+1]; bool gvars_popups[C9X_MAX_GVARS]; - uint8_t gvsource[5]; - uint8_t bt_telemetry; - uint8_t numVoice; MavlinkData mavlink; unsigned int telemetryProtocol; FrSkyData frsky; diff --git a/companion/src/firmwares/er9x/er9xeeprom.cpp b/companion/src/firmwares/er9x/er9xeeprom.cpp index 8e4c05636..71ca1b95f 100644 --- a/companion/src/firmwares/er9x/er9xeeprom.cpp +++ b/companion/src/firmwares/er9x/er9xeeprom.cpp @@ -356,7 +356,6 @@ t_Er9xModelData::operator ModelData () { ModelData c9x; c9x.used = true; - c9x.modelVoice = modelVoice; getEEPROMString(c9x.name, name, sizeof(name)); c9x.timers[0].mode = getEr9xTimerMode(tmrMode); c9x.timers[0].dir = tmrDir; @@ -375,8 +374,6 @@ t_Er9xModelData::operator ModelData () c9x.moduleData[0].protocol = PPM; break; } - c9x.traineron= traineron; - // c9x.t2throttle = t2throttle; c9x.moduleData[0].ppmFrameLength=ppmFrameLength; c9x.moduleData[0].channelsCount = 8 + 2 * ppmNCH; c9x.thrTrim = thrTrim; diff --git a/companion/src/firmwares/ersky9x/ersky9xeeprom.cpp b/companion/src/firmwares/ersky9x/ersky9xeeprom.cpp index 8a215ce9b..22317393b 100644 --- a/companion/src/firmwares/ersky9x/ersky9xeeprom.cpp +++ b/companion/src/firmwares/ersky9x/ersky9xeeprom.cpp @@ -125,7 +125,6 @@ Ersky9xGeneral::operator GeneralSettings () result.splashMode = disableSplashScreen; result.disablePotScroll=(disablePotScroll==1); result.disableBG=(disableBG==1); - result.filterInput = filterInput; result.templateSetup = templateSetup; result.PPM_Multiplier = PPM_Multiplier; getEEPROMString(result.ownerName, ownerName, sizeof(ownerName)); @@ -507,8 +506,6 @@ t_Ersky9xModelData_v10::operator ModelData () c9x.moduleData[0].protocol = PPM; break; } - c9x.traineron= traineron; - // c9x.t2throttle = t2throttle; c9x.moduleData[0].ppmFrameLength=ppmFrameLength; c9x.moduleData[0].channelsCount = 8 + 2 * ppmNCH; c9x.thrTrim = thrTrim; @@ -628,8 +625,6 @@ t_Ersky9xModelData_v11::operator ModelData () c9x.moduleData[0].protocol = PPM; break; } - c9x.traineron= traineron; - // c9x.t2throttle = t2throttle; c9x.moduleData[0].ppmFrameLength=ppmFrameLength; c9x.moduleData[0].channelsCount = 8 + 2 * ppmNCH; c9x.thrTrim = thrTrim; @@ -732,7 +727,7 @@ t_Ersky9xModelData_v11::operator ModelData () // } for (int i=0; i<5;i++) { c9x.phaseData[0].gvars[i]=gvars[i].gvar; - c9x.gvsource[i]=gvars[i].gvsource; + // c9x.gvsource[i]=gvars[i].gvsource; } return c9x; } diff --git a/companion/src/firmwares/gruvin9x/gruvin9xeeprom.cpp b/companion/src/firmwares/gruvin9x/gruvin9xeeprom.cpp index f79345444..07839a608 100644 --- a/companion/src/firmwares/gruvin9x/gruvin9xeeprom.cpp +++ b/companion/src/firmwares/gruvin9x/gruvin9xeeprom.cpp @@ -108,7 +108,6 @@ Gruvin9xGeneral_v103::operator GeneralSettings () result.flashBeep = flashBeep; result.splashMode = disableSplashScreen; result.enableTelemetryAlarm = enableTelemetryAlarm; - result.filterInput = filterInput; result.templateSetup = templateSetup; result.PPM_Multiplier = PPM_Multiplier; // TODO frskyRssiAlarms[2]; @@ -153,7 +152,6 @@ Gruvin9xGeneral_v104::operator GeneralSettings () result.flashBeep = flashBeep; result.splashMode = disableSplashScreen; result.enableTelemetryAlarm = enableTelemetryAlarm; - result.filterInput = filterInput; result.templateSetup = templateSetup; result.PPM_Multiplier = PPM_Multiplier; // TODO frskyRssiAlarms[2]; diff --git a/companion/src/firmwares/th9x/th9xeeprom.cpp b/companion/src/firmwares/th9x/th9xeeprom.cpp index daafb48b2..8762b5328 100644 --- a/companion/src/firmwares/th9x/th9xeeprom.cpp +++ b/companion/src/firmwares/th9x/th9xeeprom.cpp @@ -85,7 +85,6 @@ Th9xGeneral::operator GeneralSettings () } result.stickMode = stickMode; result.inactivityTimer = inactivityMin; - result.filterInput = adcFilt; return result; } diff --git a/companion/src/mainwindow.cpp b/companion/src/mainwindow.cpp index 7ed81622b..8e30b3041 100644 --- a/companion/src/mainwindow.cpp +++ b/companion/src/mainwindow.cpp @@ -152,7 +152,8 @@ MainWindow::MainWindow(): if (!(printing && (model >=0 && modelgetMaxModels()) && !printfilename.isEmpty() )) { statusBar()->showMessage(tr("File loaded"), 2000); child->show(); - } else { + } + else { child->show(); child->print(model,printfilename); child->close(); @@ -1472,8 +1473,9 @@ MdiChild *MainWindow::createMdiChild() { MdiChild * child = new MdiChild(); mdiArea->addSubWindow(child); - if(!child->parentWidget()->isMaximized() && !child->parentWidget()->isMinimized()) + if (!child->parentWidget()->isMaximized() && !child->parentWidget()->isMinimized()) { child->parentWidget()->resize(400, 400); + } connect(child, SIGNAL(copyAvailable(bool)),cutAct, SLOT(setEnabled(bool))); connect(child, SIGNAL(copyAvailable(bool)),copyAct, SLOT(setEnabled(bool))); diff --git a/companion/src/mdichild.cpp b/companion/src/mdichild.cpp index e9c5b1317..a4f81e98a 100644 --- a/companion/src/mdichild.cpp +++ b/companion/src/mdichild.cpp @@ -71,13 +71,13 @@ MdiChild::MdiChild(): fileChanged(false) { ui->setupUi(this); - this->setWindowIcon(CompanionIcon("open.png")); + setWindowIcon(CompanionIcon("open.png")); ui->SimulateTxButton->setIcon(CompanionIcon("simulate.png")); setAttribute(Qt::WA_DeleteOnClose); eepromInterfaceChanged(); - if(!(this->isMaximized() || this->isMinimized())) { + if (!(this->isMaximized() || this->isMinimized())) { adjustSize(); } diff --git a/companion/src/modeledit/flightmodes.cpp b/companion/src/modeledit/flightmodes.cpp index 6715290bc..5f0996dfb 100644 --- a/companion/src/modeledit/flightmodes.cpp +++ b/companion/src/modeledit/flightmodes.cpp @@ -299,14 +299,6 @@ void FlightModePanel::GVName_editingFinished() } } -void FlightModePanel::GVSource_currentIndexChanged(int index) -{ - QComboBox *comboBox = qobject_cast(sender()); - int gvar = comboBox->property("index").toInt(); - model.gvsource[gvar] = index; - emit modified(); -} - void FlightModePanel::phaseGVUse_currentIndexChanged(int index) { if (!lock) { diff --git a/companion/src/modeledit/flightmodes.h b/companion/src/modeledit/flightmodes.h index e2127ac5c..f64fa9b50 100644 --- a/companion/src/modeledit/flightmodes.h +++ b/companion/src/modeledit/flightmodes.h @@ -35,7 +35,6 @@ class FlightModePanel : public ModelPanel void phaseTrim_valueChanged(); void phaseTrimSlider_valueChanged(); void GVName_editingFinished(); - void GVSource_currentIndexChanged(int index); void phaseGVValue_editingFinished(); void phaseGVUse_currentIndexChanged(int index); void phaseGVPopupToggled(bool checked); diff --git a/companion/src/xmlinterface.cpp b/companion/src/xmlinterface.cpp index 8e1701ebe..b74f0e6da 100644 --- a/companion/src/xmlinterface.cpp +++ b/companion/src/xmlinterface.cpp @@ -105,8 +105,6 @@ void saveGeneralSettings(GeneralSettings & settings, global_settings & gs) } /* TODO if (settings.disableSplashScreen) gs.splash_screen(false); */ - if (settings.filterInput) - gs.filter_input(filter_input::value(settings.filterInput)); /* TODO if (settings.backlightDelay) gs.light_auto_off_timer(settings.lightAutoOff); */ gs.default_channel_order(settings.templateSetup); From 3cdb2b549bd6a9ff44a1377dd3f5e4f72ba8d98e Mon Sep 17 00:00:00 2001 From: bsongis Date: Wed, 11 Jun 2014 16:09:17 +0200 Subject: [PATCH 77/80] French last translation --- companion/src/translations/companion_fr.ts | 2266 +++++++++++--------- 1 file changed, 1244 insertions(+), 1022 deletions(-) diff --git a/companion/src/translations/companion_fr.ts b/companion/src/translations/companion_fr.ts index b5177908e..c83e99e38 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 un seul canal - + Yes, controlled by two channels Oui, contrôlés par 2 canaux - + <br>First Aileron Channel: <br>Premier canal d'ailerons: - + Second Aileron Channel: Deuxième canal d'ailerons: @@ -32,27 +32,27 @@ AirbrakesPage - + No Non - + Yes, controlled by a single channel Oui, contrôlés par un seul canal - + Yes, controlled by two channels Oui, contrôlés par 2 canaux - + <br>First Airbrake Channel: <br>Premier canal de volets: - + Second Airbrake Channel: Deuxième canal de volets: @@ -1156,7 +1156,7 @@ Peut être différente de la langue du firmware ConclusionPage - + OK, I understand. OK, compris! @@ -1298,17 +1298,17 @@ Peut être différente de la langue du firmware Symétrique f(x)=f(-x) - + Are you sure you want to reset curve %1 ? Voulez-vous vraiment réinitialiser la courbe %1 ? - + Editing curve %1 Édition de la courbe %1 - + Not enough free points in EEPROM to store the curve. Pas assez de points disponibles en mémoire pour enregistrer la courbe. @@ -1346,52 +1346,52 @@ Peut être différente de la langue du firmware - + Error Erreur - + Unable to find sound file %1! 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 @@ -1399,22 +1399,22 @@ Peut être différente de la langue du firmware CyclicPage - + 90 - + 120 - + 120x - + 140 @@ -1422,16 +1422,233 @@ Peut être différente de la langue du firmware ElevonsPage - + <br>First Elevon Channel: <br>Premier canal d'élevons: - + Second Elevon Channel: Deuxième canal d'élevons: + + Er9x::Templates + + + Simple 4-CH + + + + + T-Cut + + + + + Sticky T-Cut + + + + + V-Tail + Empennage en 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? + Effacer tous les mixages ? + + + + Really clear existing mixes on CH6? + + + + + Really clear existing mixes on CH5? + + + ExpoDialog @@ -1561,22 +1778,22 @@ Si vide, la ligne est toujours active. FblPage - + Throttle Channel: Canal des gaz: - + Yaw Channel: Canal du lacet: - + Pitch Channel: Canal du tangage: - + Roll Channel: Canal du roulis: @@ -1679,27 +1896,27 @@ Peut être différente de la langue du firmware FlapsPage - + No Non - + Yes, controlled by a single channel Oui, contrôlés par un seul canal - + Yes, controlled by two channels Oui, contrôlés par 2 canaux - + <br>First Flap Channel: <br>Premier canal de volets: - + Second Flap Channel: Deuxième canal de volets: @@ -1807,17 +2024,17 @@ Peut être différente de la langue du firmware FlightModesPanel - + Flight Mode %1 Phase de vol %1 - + (%1) - + (default) (par défaut) @@ -1825,17 +2042,17 @@ Peut être différente de la langue du firmware FlybarSelectionPage - + Has Flybar Avec barre de Bell - + Flybarless Sans barre de Bell - + Flybar: Barre de Bell: @@ -1843,7 +2060,7 @@ Peut être différente de la langue du firmware GeneralEdit - + v @@ -1864,6 +2081,7 @@ Peut être différente de la langue du firmware + <!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; } @@ -1907,17 +2125,17 @@ Réinitialisation en agissant sur n'importe lequel des manches / touches de - - - - - - - - - - - + + + + + + + + + + + Beeper volume 0 - Quiet. No beeps at all. @@ -2013,7 +2231,7 @@ Seuil auquel se déclenche l'alarme de batterie. Plage de valeurs: 5v...10v - + Calibration Étalonnage @@ -2099,82 +2317,82 @@ p, li { white-space: pre-wrap; } - + Rud Dir - + Ele Prf - + Thr Gaz - + Ail Ail - + PPM Multiplier Coeff. multiplicateur PPM - - - - + + + + Off Désactivé - + Trainer Ecolage - + PPM 1 - - - - + + + + chn1 Can. 1 - - - - + + + + chn2 Can. 2 - - - - + + + + chn3 Can. 3 - - - - + + + + chn4 Can. 4 - + Mode Mode @@ -2615,67 +2833,72 @@ p, li { white-space: pre-wrap; } Inversion manche (ordre ci-dessus) - + + Play Delay (switch mid position) + Délai de Play (switches au centre) + + + Pot. 4 - + Pot. 3 - + Pot. 2 - + Pot. 1 - + Stick 3 Manche 3 - + Stick 1 Manche 1 - + Stick 2 Manche 2 - + Stick 4 Manche 4 - + S3 Type Type S3 - + OFF - + S-Port Mirror Recopie S. Port - + Debug Débogage - + Serial Port Port série @@ -2787,6 +3010,7 @@ p, li { white-space: pre-wrap; } + ms @@ -2796,135 +3020,135 @@ p, li { white-space: pre-wrap; } Répétition du vario à 0 - + Input Entrée - + Weight Ratio - - - - + + + + += (Sum) += (Additionne) - - - - + + + + := (Replace) := (Remplace) - + PPM 2 - + 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? - - + + Warning Avertissement - + Wrong data in profile, radio calibration was not retrieved Données du profil erronnées, l'étalonnage n'a pas été lu - + Wrong data in profile, hw related parameters were not retrieved Données du profil erronnées, les paramètres hw n'ont pas été lus - + Do you want to store calibration in %1 profile<br>overwriting existing calibration? Voulez-vous stocker l'étalonnage dans le profil %1<br> et écraser l'étalonnage existant? - + Calibration and HW parameters saved. Etalonnage et paramètres hw enregistrés avec succès. @@ -2932,17 +3156,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 @@ -3013,22 +3237,22 @@ Are you sure ? HeliPage - + Throttle Channel: Canal des gaz: - + Yaw Channel: Canal du lacet: - + Pitch Channel: Canal du tangage: - + Roll Channel: Canal du roulis: @@ -3217,42 +3441,42 @@ Are you sure ? - + &Delete &Supprimer - + Delete Supprimer - + &Copy &Copier - + Ctrl+C - + &Cut C&ouper - + Ctrl+X - + &Paste Co&ller - + Ctrl+V @@ -3260,54 +3484,54 @@ Are you sure ? MainWindow - - + + Edit Edition - - + + File Fichier - + Display previous warning again at startup ? 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 @@ -3320,40 +3544,41 @@ Are you sure ? 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? @@ -3362,39 +3587,39 @@ Are you sure ? 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 @@ -3414,314 +3639,314 @@ Are you sure ? 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 - + 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 - + Read Models and Settings from Radio Lire les réglages et modèles depuis la radio - + 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 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 - + 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> @@ -3730,86 +3955,86 @@ Are you sure ? 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 @@ -3819,7 +4044,7 @@ Are you sure ? 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? @@ -3828,12 +4053,11 @@ 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? + Voulez-vous télécharger la version %1 %2 maintenant? - + A new version of %1 firmware is available: - current is %2 - newer is %3 @@ -3846,12 +4070,12 @@ Do you want to download it now ? 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 @@ -3891,271 +4115,271 @@ Voulez vous la télécharger maintenant ? 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 - + 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 ? @@ -4170,13 +4394,13 @@ Voulez vous la télécharger maintenant ? Ignorer cette version (r%1)? - - + + Help Aide - + Checking for updates Recherche de mises à jour @@ -4189,29 +4413,29 @@ 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. - - - + + + OK - + 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 ? @@ -4220,7 +4444,7 @@ 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? @@ -4235,54 +4459,54 @@ Ecrire quand même? 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 @@ -4291,33 +4515,33 @@ Ecrire quand même? MdiChild - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + Error Erreur - - - - + + + + Cannot write file %1: %2. Ecriture fichier %1 impossible: @@ -4325,20 +4549,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! @@ -4348,26 +4572,26 @@ 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: %2. - - - - + + + + Error opening file %1: %2. Erreur à l'ouverture du fichier %1: @@ -4379,75 +4603,75 @@ 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 - + 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é. @@ -4691,25 +4915,25 @@ p, li { white-space: pre-wrap; } MixesPanel - + Move Up Monter - + Ctrl+Up Ctrl+Haut - + Move Down Descendre - + Ctrl+Down Ctrl+Bas @@ -4733,132 +4957,132 @@ p, li { white-space: pre-wrap; } 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 ? - + &Add &Ajouter - + Ctrl+A - + &Edit Éditio&n - + Enter Entrée - + Ctrl+T - + &Toggle highlight (Dé)&sélectionner - + &Delete &Supprimer - + Delete Supprimer - + &Copy &Copier - + Ctrl+C - + Ctrl+X - + C&ut Co&uper - + &Paste Co&ller - + Ctrl+V - + Du&plicate Du&pliquer - + Ctrl+U - + Clear Mixes? Effacer tous les mixages ? - + Really clear all the mixes? Êtes-vous sûr de vraiment vouloir effacer tous les mixages ? @@ -4911,12 +5135,12 @@ p, li { white-space: pre-wrap; } Dialogue - + Clear Curves? Effacer les courbes ? - + Really clear all the curves? Êtes-vous sûr de vraiment vouloir effacer toutes les courbes ? @@ -4939,27 +5163,27 @@ p, li { white-space: pre-wrap; } ModelSelectionPage - + Plane Avion - + Multirotor - + Helicopter Hélicoptère - + Model Name: Nom du modèle: - + Model Type: Type de modèle: @@ -5205,28 +5429,28 @@ 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 @@ -5234,22 +5458,22 @@ p, li { white-space: pre-wrap; } MultirotorPage - + Throttle Channel: Canal des gaz: - + Yaw Channel: Canal du lacet: - + Pitch Channel: Canal du tangage: - + Roll Channel: Canal du roulis: @@ -5257,17 +5481,17 @@ p, li { white-space: pre-wrap; } OptionsPage - + Throttle Cut Coupure de gaz - + Throttle Timer Chrono de gaz - + Flight Timer Chrono de vol @@ -5306,9 +5530,9 @@ p, li { white-space: pre-wrap; } - - - + + + Name Nom @@ -5345,7 +5569,7 @@ p, li { white-space: pre-wrap; } - + Enabled Actif @@ -5397,7 +5621,7 @@ p, li { white-space: pre-wrap; } - + Switch Interrupteur @@ -5473,9 +5697,9 @@ p, li { white-space: pre-wrap; } Mixages - - - + + + CH VOIE @@ -5484,21 +5708,21 @@ p, li { white-space: pre-wrap; } 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) @@ -5507,66 +5731,66 @@ p, li { white-space: pre-wrap; } 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 @@ -5575,56 +5799,56 @@ p, li { white-space: pre-wrap; } 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 @@ -5635,7 +5859,7 @@ p, li { white-space: pre-wrap; } - + NoTrim Pas de trim @@ -5650,151 +5874,151 @@ p, li { white-space: pre-wrap; } 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 - + 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 (*) @@ -5821,7 +6045,7 @@ p, li { white-space: pre-wrap; } - + CH%1 VOIE%1 @@ -5908,7 +6132,7 @@ p, li { white-space: pre-wrap; } - + S3 @@ -5923,9 +6147,8 @@ p, li { white-space: pre-wrap; } - Rx Batt - Batt RX + Batt RX @@ -6601,14 +6824,14 @@ p, li { white-space: pre-wrap; } - + All Tous - + Telemetry Télémesure @@ -6641,22 +6864,22 @@ p, li { white-space: pre-wrap; } - + Value Valeur - + Source - + GVAR VG - + Increment Incrément @@ -6708,7 +6931,7 @@ p, li { white-space: pre-wrap; } Ajuster VG%1 - + Rotary Encoder Encodeur rotatif @@ -6854,8 +7077,8 @@ p, li { white-space: pre-wrap; } - - + + THR @@ -6872,21 +7095,21 @@ p, li { white-space: pre-wrap; } - + P1 - + P2 - + P3 @@ -7091,39 +7314,39 @@ p, li { white-space: pre-wrap; } - + S1 - + S2 - + LS - + RS - + REa - + REb @@ -7261,119 +7484,275 @@ 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 + Enable heli menu and cyclic mix support + Activer le menu hélico et les mixages CCPM - No splash screen - Pas d'écran de démarrage + + + + Enable TEMPLATES menu + Inclure les gabarits - - - - - - - - Disable curves menus - Désactiver le menu des courbes + + + + + No splash screen + Pas d'écran de démarrage - Support for radio modified with regular speaker - Haut-parleur au lieu du buzzer d'origine + + + + Disable curves menus + Désactiver le menu des courbes - - Used if you have modified your radio with voice mode - Support du module vocal + 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 canaux affichées en us + + + + + + + + + + Battery graph + Graphique de batterie + + + + + + + + + + + + Use alternative SQT5 font + Utiliser la police alternative SQT5 + + + + + + + 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 9XR-PRO + OpenTX pour 9XR-PRO + + + 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 + + + + 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 + @@ -7382,183 +7761,27 @@ p, li { white-space: pre-wrap; } - - - Channel values displayed in us - Positions de canaux affichées en us - - - - - - - - - - Battery graph - Graphique de batterie - - - - - - - - - - - - Use alternative SQT5 font - Utiliser la police alternative SQT5 - - - - - - - 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 9XR-PRO - OpenTX pour 9XR-PRO - - - 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 - - - - 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 - - - + + + Symetrical Limits + Limites symétriques + + + + + + + + Pots use in menus navigation Support de la navigation dans les menus avec les POTS @@ -7569,108 +7792,97 @@ p, li { white-space: pre-wrap; } 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. - + 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 - - - + EEprom write Progress bar + Barre de progression affichée lors des écritures EEPROM + + + + + + + Imperial units Unités Impériales - - + + 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é - @@ -7679,42 +7891,53 @@ p, li { white-space: pre-wrap; } + 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 @@ -7722,7 +7945,7 @@ p, li { white-space: pre-wrap; } - + Timer1 Chrono 1 @@ -7730,7 +7953,7 @@ p, li { white-space: pre-wrap; } - + Timer2 Chrono 2 @@ -7777,32 +8000,37 @@ p, li { white-space: pre-wrap; } Le simulateur n'est pas encore disponible pour ce firmware - + th9x on this board doesn't have Rotary Encoders th9x ne supporte pas d'encodeurs rotatifs sur cette carte - + 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 protocol OpenTX ne supporte pas ce protocole - + OpenTX doesn't allow this number of channels OpenTX ne supporte pas ce nombre de canaux @@ -7877,17 +8105,17 @@ L'équipe OpenTX. RudderPage - + No Non - + Yes Oui - + <br>Rudder Channel: <br>Canal de dérive: @@ -8033,7 +8261,7 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo SimpleTailPage - + Elevator Channel: Canal de profondeur: @@ -8185,7 +8413,7 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo StandardPage - + Channel %1 Canal %1 @@ -8193,12 +8421,12 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo TailPage - + Rudder Channel: Canal de dérive: - + Elevator Channel: Canal de profondeur: @@ -8206,22 +8434,22 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo TailSelectionPage - + Elevator and Rudder Profondeur et dérive - + Only Elevator Profondeur uniquement - + V-tail Empennage en V - + Tail Type: Type d'empennage: @@ -8239,13 +8467,12 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo - + RSSI - - + Alarm 1 Alarme 1 @@ -8260,42 +8487,39 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo - RxBatt - Batt. Rx + Batt. Rx - Critical Alarm - Alarme critique + Alarme critique - - + + ---- ---- - - + + Yellow Jaune - - + + Orange Orange - - + + Red Rouge - - + Alarm 2 Alarme 2 @@ -8385,87 +8609,86 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Vario - + Sink Max Chute max - + Off Désactivé - + Climb Max Montée max - + Sink Min Chute min - + Climb Min Montée min - + 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 - + mAh - + A - + Various Divers - + mAh count Valeur enregistrée - Low Alarm - Alarme basse + Alarme basse - + FAS Offset Décalage FAS - + Persistent mAh Mémorisation des mAh @@ -8635,94 +8858,93 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo TelemetryPanel - + 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 - + dTE - RxBatt - Batt. Rx + Batt. Rx - - + + A3 - - + + A4 - - + + FAS - + Cells Velm - + --- @@ -8730,17 +8952,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>Canal des gaz: @@ -8766,17 +8988,17 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo TimerPanel - + Silent Aucun - + Beeps Bips - + Voice Voix @@ -8784,12 +9006,12 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo VTailPage - + First Tail Channel: Premier canal d'empennage: - + Second Tail Channel: Deuxième canal d'empennage: @@ -8797,12 +9019,12 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo WingtypeSelectionPage - + Standard Wing Aile standard - + Flying Wing / Deltawing Aile delta @@ -9003,22 +9225,22 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Vérifiez manuellement le sens de chaque commande, et inversez les canaux de celles qui répondent dans le mauvais sens. Attention à bien enlever les hélices du modèle avant de l'alimenter la première fois !<br>Veuillez noter que tous les réglages existants du modèle courant seront écrasés. - + Enter a name for your model and select model type. Entrer un nom pour le modèle et sélectionnez son type. - + Select the receiver channel that is connected to your ESC or throttle servo.<br><br>Throttle - Spektrum: CH1, Futaba: CH3 Sélectionnez le canal du récepteur auquel le contrôleur/servo de gaz est connecté.<br><br>Gaz - Spektrum : CH1, Futaba : CH3 - + 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 controls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and pitch. This surface is called an elevon. La plupart des aéronefs possèdent une aile principale et un empennage avec des surfaces de contrôle. Les ailes volantes et delta ne possèdent qu'une aile. Les surfaces de contrôle sur une aile standard qui contrôlent le roulis de l'aéronef sont appelées ailerons.<br>Les surfaces de contrôle d'une aile delta contrôlent le roulis ET le tangage, et sont appelées élevons. - + 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 canaux pour contrôler les ailerons. Un câble en Y peut être utilisé pour connecter 2 servos à un seul canal, auquel cas il convient de choisir l'option "un seul canal".<br><br>Ailerons - Spektrum : CH2, Futaba : CH1 @@ -9027,64 +9249,64 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo On utilise en général soit un, soit 2 canaux pour contrôler les élevons. Un câble en Y peut être utilisé pour connecter 2 servos à un seul canal, auquel cas il convient de choisir l'option "un seul canal". - + 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. Cet assistant considère que les volets sont commandés par un interrupteur. Si vous souhaitez les commander par un potentiomètre il est possible de le paramétrer manuellement plus tard. - + Air brakes are used to reduce the speed of advanced sail planes.<br>They are very uncommon on other types of planes. Les aérofreins sont utilisés pour augmenter le taux de descente des planeurs performants.<br>Ils ne sont pas courants sur les autres types d'aéronefs. - + Models use two channels to control the elevons.<br>Select these two channels Un modéle utilise 2 canaux pour commanderles élevons.<br>Sélectionnez-les ici: - + Select the receiver channel that is connected to your rudder.<br><br>Rudder - Spektrum: CH4, Futaba: CH4 Sélectionnez le canal du récepteur auquel le servo de dérive est connecté.<br><br>Dérive - Spektrum : CH4, Futaba : CH4 - + Select the tail type of your plane. Sélectionnez le type d'empennage de votre avion. - - + + Select the Rudder and Elevator channels.<br><br>Rudder - Spektrum: CH4, Futaba: CH4<br>Elevator - Spektrum: CH3, Futaba: CH2 Sélectionnez les canaux du récepteur auquel les servos de profondeur et dérive sont connectés.<br><br>Dérive - Spektrum : CH4, Futaba : CH4<br>Profondeur - Spektrum : CH3, Futaba : CH2 - + Select the Elevator channel.<br><br>Elevator - Spektrum: CH3, Futaba: CH2 Sélectionnez le canal du récepteur auquel le servo de profondeur est connecté.<br><br>Profondeur - Spektrum : CH3, Futaba : CH2 - - - - - - - + + + + + + + TBD. - Souvent pour s'amuser les hommes d'équipage prennent des albatros, vastes oiseaux des mers qui suivent, indolents companions de voyage, le navire glissant sur les gouffres amers. Charles Baudelaire + Souvent pour s'amuser les hommes d'équipage prennent des albatros, vastes oiseaux des mers qui suivent, indolents companions de voyage, le navire glissant sur les gouffres amers. Charles Baudelaire - + Select the control channels for your multirotor.<br><br>Throttle - Spektrum: CH1, Futaba: CH3<br>Yaw - Spektrum: CH4, Futaba: CH4<br>Pitch - Spektrum: CH3, Futaba: CH2<br>Roll - Spektrum: CH2, Futaba: CH1 Sélectionnez les canaux de votre multirotor.<br><br>Gaz - Spektrum: CH1, Futaba: CH3<br>Lacet - Spektrum: CH4, Futaba : CH4<br>Tangage - Spektrum : CH3, Futaba: CH2<br>Roulis - Spektrum : CH2, Futaba: CH1 - + There is no help available for the current page. Souvent pour s'amuser les hommes d'équipage prennent des albatros, vastes oiseaux des mers qui suivent, indolents companions de voyage, le navire glissant sur les gouffres amers. Charles Baudelaire - + Model Wizard Help Aide de l'assistant de configuration @@ -9092,37 +9314,37 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo 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: Canal %1: @@ -9273,29 +9495,29 @@ Do you want some help ? 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 @@ -9607,38 +9829,38 @@ m2560 for v4.1 boards - - - - - + + + + + Warning Avertissement - + Profile image %1 is invalid. L'image du profil %1 est invalide. - + Images (%1) Images (%1) - - - - - - - - - - - - + + + + + + + + + + + + Error Erreur @@ -9668,23 +9890,23 @@ m2560 for v4.1 boards 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: @@ -9706,65 +9928,65 @@ m2560 for v4.1 boards %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: @@ -10389,17 +10611,17 @@ Press cancel to abort joystick calibration %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 From e49a15bf0708350b3e3f296f1d4de73a97ea49cd Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Wed, 11 Jun 2014 16:13:40 +0200 Subject: [PATCH 78/80] French translations --- radio/src/translations/fr.h.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 150bd528f..366592cf3 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -579,7 +579,7 @@ #define TR_POTWARNING TR(IF_CPUARM(INDENT) "Alerte pot", INDENT "Pos. potentiom.") #define TR_TIMEZONE "Fuseau horaire" #define TR_RXCHANNELORD TR("Ordre voies RX","Ordre des voies préféré") -#define TR_SWITCHES_DELAY "Switches Delay" +#define TR_SWITCHES_DELAY "Délai inters milieu" #define TR_SLAVE "Elève" #define TR_MODESRC "Mode\006% Source" #define TR_MULTIPLIER "Multiplieur" @@ -781,7 +781,7 @@ #define TR_ANTENNAPROBLEM CENTER "Antenne radio défectueuse!" #define TR_MODELIDUSED TR("ID déjà affecté", "No de modèle déjà utilisé") #define TR_MODULE INDENT "Type de module" -#define TR_TELEMETRY_TYPE "Telemetry Type" +#define TR_TELEMETRY_TYPE "Type télémesure" #define TR_CHANNELRANGE TR(INDENT "Canaux", INDENT "Plage de canaux") #define TR_LOWALARM INDENT "Alarme basse" #define TR_CRITICALALARM INDENT "Alarme critique" From b182d98da022766796eb9435c9a0e5f09cd73d2b Mon Sep 17 00:00:00 2001 From: mhotar Date: Wed, 11 Jun 2014 16:24:18 +0200 Subject: [PATCH 79/80] Timer labels extended to 4 characters in CZ to be able to describe T-Trace driving timers and THR alarm too. --- companion/src/translations/companion_cs.ts | 1799 ++++++++++---------- radio/src/gui/view_main.cpp | 15 +- radio/src/translations/cz.h.txt | 8 +- 3 files changed, 913 insertions(+), 909 deletions(-) diff --git a/companion/src/translations/companion_cs.ts b/companion/src/translations/companion_cs.ts index 2037978ef..5b3f1e2f5 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: @@ -1166,7 +1166,7 @@ Může být jiná než verze firmwaru ConclusionPage - + OK, I understand. OK, rozuměl jsem. @@ -1316,17 +1316,17 @@ Může být jiná než verze firmwaru Symetrická f(x)=f(-x) - + Are you sure you want to reset curve %1 ? Opravdu chcete vymazat křivku %1 ? - + Editing curve %1 Upravit křivku k%1 - + Not enough free points in EEPROM to store the curve. V nastavení modelu již nejsou volné body k uložení této křivky. @@ -1365,52 +1365,52 @@ Může být jiná než verze firmwaru - + Error Chyba - + Unable to find sound file %1! Nemohu nalézt zvukový soubor %1! - + &Delete &Odstranit - + Delete - + &Copy &Kopírovat - + Ctrl+C - + &Cut V&yjmout - + Ctrl+X - + &Paste &Vložit - + Ctrl+V @@ -1418,22 +1418,22 @@ Může být jiná než verze firmwaru CyclicPage - + 90 - + 120 - + 120x - + 140 @@ -1441,14 +1441,14 @@ Může být jiná než verze firmwaru ElevonsPage - + <br>First Elevon Channel: - <br>První kanál elevonů: + <br>První kanál elevonů: - + Second Elevon Channel: - <br>Druhý kanál elevonů: + <br>Druhý kanál elevonů: @@ -1618,22 +1618,22 @@ Pokud není použito, vstup je AKTIVNÍ stále. FblPage - + Throttle Channel: Kanál plynu: - + Yaw Channel: Kanál bočení: - + Pitch Channel: Kanál klopení: - + Roll Channel: Kanál klonění: @@ -1742,27 +1742,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: @@ -1870,17 +1870,17 @@ Může být jiná než verze firmwaru FlightModesPanel - + Flight Mode %1 Letový režim %1 - + (%1) - + (default) (výchozí) @@ -1888,17 +1888,17 @@ Může být jiná než verze firmwaru FlybarSelectionPage - + Has Flybar Má stabilizátor(Flybar) - + Flybarless Bez stabilizátoru (Flybarless) - + Flybar: Stabilizátor: @@ -2082,17 +2082,17 @@ Mode 4: - - - - - - - - - - - + + + + + + + + + + + Beeper volume 0 - Quiet. No beeps at all. @@ -2135,15 +2135,16 @@ p, li { white-space: pre-wrap; } Mód zvuku - - - - + + + + Off Vypnuto + <!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; } @@ -2702,6 +2703,7 @@ který kanál patří ke kterému výstupu. + ms @@ -2711,164 +2713,169 @@ který kanál patří ke kterému výstupu. Opakování varia na nule - + + Play Delay (switch mid position) + + + + Trainer Trenér - + Mode Mód - + Input Vstup - + Weight Váha - + Pot. 4 - + Pot. 3 - + Pot. 2 - + Pot. 1 - + Stick 3 Páka 3 - + Stick 1 Páka 1 - + Stick 2 Páka 2 - + Stick 4 Páka 4 - + S3 Type Typ S3 - + OFF VYP - + S-Port Mirror - + Debug - + Serial Port Seriový port - + PPM 1 - - - - + + + + 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 - + PPM 2 - + PPM 3 - + PPM 4 - + Calibration Kalibrace @@ -2877,20 +2884,20 @@ který kanál patří ke kterému výstupu. PÁKA 3 - - + + Negative span Negativní - - + + Mid value Střed - - + + Positive span Pozitivní @@ -2907,74 +2914,74 @@ který kanál patří ke kterému výstupu. 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 ? @@ -2984,28 +2991,28 @@ Tuto funkci nelze vypnout v menu rádia. Opravdu to takto chcete ? - - + + Warning Pozor - + Wrong data in profile, radio calibration was not retrieved Špatná data v profilu, není možné získat parametry kalibrace - + Wrong data in profile, hw related parameters were not retrieved Špatná data v profilu, není možné získat HW parametry - + Do you want to store calibration in %1 profile<br>overwriting existing calibration? Chcete uložit kalibraci do profilu %1<br>Přepsat existující kalibraci? - + Calibration and HW parameters saved. Kalibrace a HW parametry byly uloženy. @@ -3013,17 +3020,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 @@ -3094,22 +3101,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í: @@ -3303,42 +3310,42 @@ Opravdu to takto chcete ? - + &Delete Vy&mazat - + Delete - + &Copy &Kopírovat - + Ctrl+C - + &Cut V&yjmout - + Ctrl+X - + &Paste &Vložit - + Ctrl+V @@ -3349,7 +3356,7 @@ Opravdu to takto chcete ? - + File loaded Soubor byl načten @@ -3401,21 +3408,21 @@ Opravdu to takto chcete ? - - - - - - - + + + + + + + Error Chyba - - - + + + Error opening file %1: %2. Chyba při otevírání souboru %1: @@ -3494,6 +3501,7 @@ Chcete ho nyní stáhnout ? Poznámky k vydání + Do you want to download release %1 now ? Chcete nyní stáhnout vydání %1 ? @@ -3537,37 +3545,37 @@ Chcete ji stáhnout nyní ? %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 @@ -3591,9 +3599,8 @@ 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 ? + Chcete nyní stáhnout vydání %1 %2 ? @@ -3636,7 +3643,7 @@ Chcete ji stáhnout nyní ? Zvolená velikost ikon bude použita při příštím spuštění Companion. - + The file %1 has not been recognized as a valid Models and Settings file Write anyway ? @@ -3645,17 +3652,17 @@ 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 @@ -3686,35 +3693,35 @@ Chcete ho přesto zapsat ? 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 @@ -3724,37 +3731,37 @@ Chcete ho přesto zapsat ? 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 @@ -4322,13 +4329,13 @@ Chcete ho přesto zapsat ? 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 @@ -4411,7 +4418,7 @@ Chcete ho přesto zapsat ? Nemohu nalézt soubor %1! - + Error reading file %1: %2. Chyba při otevírání souboru %1: @@ -4432,155 +4439,155 @@ Chcete ho přesto zapsat ? - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + 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í - + 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 @@ -4821,25 +4828,25 @@ p, li { white-space: pre-wrap; } MixesPanel - + Move Up Posunout nahoru - + Ctrl+Up Ctrl+Nahoru - + Move Down Posunout dolů - + Ctrl+Down Ctrl+Dolů @@ -4863,92 +4870,92 @@ p, li { white-space: pre-wrap; } Žá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? - + &Add &Přidat - + Ctrl+A - + &Edit &Upravit - + Enter - + &Toggle highlight Přepnout &zvýraznění - + Ctrl+T - + &Delete &Odstranit - + Delete - + &Copy &Kopírovat - + Ctrl+C @@ -4957,42 +4964,42 @@ p, li { white-space: pre-wrap; } &Vyjmout - + Ctrl+X - + C&ut &Vyjmout - + &Paste &Vložit - + Ctrl+V - + Du&plicate &Duplikovat - + Ctrl+U - + Clear Mixes? Vymazat mixy? - + Really clear all the mixes? Opravdu vymazat všechny mixy? @@ -5060,12 +5067,12 @@ p, li { white-space: pre-wrap; } Telemetrie - + Clear Curves? Vymazat křivky? - + Really clear all the curves? Opravdu vymazat všechny křivky? @@ -5073,27 +5080,27 @@ p, li { white-space: pre-wrap; } ModelSelectionPage - + Plane Letadlo - + Multirotor - + Helicopter Helikoptéra - + Model Name: Název modelu: - + Model Type: Typ modelu: @@ -5346,28 +5353,28 @@ 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 @@ -5375,22 +5382,22 @@ p, li { white-space: pre-wrap; } MultirotorPage - + Throttle Channel: Kanál plynu: - + Yaw Channel: Kanál bočení: - + Pitch Channel: Kanál klopení: - + Roll Channel: Kanál klonění: @@ -5398,17 +5405,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 @@ -5447,9 +5454,9 @@ p, li { white-space: pre-wrap; } - - - + + + Name Název @@ -5486,7 +5493,7 @@ p, li { white-space: pre-wrap; } - + Enabled Povoleno @@ -5538,7 +5545,7 @@ p, li { white-space: pre-wrap; } - + Switch Spínač @@ -5614,9 +5621,9 @@ p, li { white-space: pre-wrap; } Mixy - - - + + + CH @@ -5625,21 +5632,21 @@ p, li { white-space: pre-wrap; } Žá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) @@ -5648,120 +5655,120 @@ p, li { white-space: pre-wrap; } 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 @@ -5772,7 +5779,7 @@ p, li { white-space: pre-wrap; } - + NoTrim Žádný trim @@ -5787,108 +5794,108 @@ p, li { white-space: pre-wrap; } Spínač(%1) - + No DR/Expo Bez DR/Expo - + Offset(%1) Ofset(%1) - + Warn(%1) Varování(%1) - + L - + SF%1 - + 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 - + RSSI Alarm - + Frsky serial protocol Sériový protokol Frsky - + Units system Systém jednotek @@ -5897,45 +5904,45 @@ p, li { white-space: pre-wrap; } 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 (*) @@ -5969,45 +5976,45 @@ p, li { white-space: pre-wrap; } - + P1 Potenciometr P1 - + P2 Potenciometr P2 - + P3 Potenciometr P3 - + S1 - + S2 - + LS - + RS @@ -6034,14 +6041,14 @@ p, li { white-space: pre-wrap; } - + REa Otočný enkodér REa - + REb Otočný enkodér REb @@ -6269,10 +6276,10 @@ p, li { white-space: pre-wrap; } - - + + THR - + Plyn @@ -6313,238 +6320,89 @@ 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í. - + 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 + Enable heli menu and cyclic mix support + Funkce pro heli, nastavení typu mechaniky - 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 + + + + Enable TEMPLATES menu + Přidá menu s jednoduchými +šablonami modelu - - - - 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 - - - - OpenTX for FrSky Taranis Plus - OpenTX pro FrSky Taranis Plus - - - - - - - - - - - - Use alternative SQT5 font - Použít alternativní znakovou sadu písma (jiný font) - - - - 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 - - - - 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é + 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 @@ -6554,14 +6412,163 @@ To je nutné zejména pro osazení FrSky kniplů do 9X. - Disable curves menus - Bez uživatelsky definovatelných křivek + 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 + + + + OpenTX for FrSky Taranis Plus + OpenTX pro FrSky Taranis Plus + + + + + + + + + + + + Use alternative SQT5 font + Použít alternativní znakovou sadu písma (jiný font) + + + + 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 + + + + 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, @@ -6569,49 +6576,37 @@ 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 - @@ -6620,40 +6615,52 @@ se provádí jeho sepnutím + 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 - + Support of FrSky PXX protocol Podpora pro Frsky PXX protokol - - - - - + + + + + Support for DSM2 modules Podpora DSM2 modulů @@ -6665,18 +6672,18 @@ se provádí jeho sepnutím 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 @@ -6685,13 +6692,13 @@ velikost eeprom je 4096B, ale pouze prvních 2048B je použito Hodnoty PPM budou zobrazeny v us (mikrosekundy) - - - - - - - + + + + + + + Symetrical Limits Symetrické limity Přidá možnost volby mezi @@ -6702,20 +6709,20 @@ 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í) @@ -6727,11 +6734,11 @@ Není určeno pro starší verze Smartie Parts 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 @@ -6740,24 +6747,24 @@ 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, @@ -6766,38 +6773,38 @@ 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.) - - + + 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. @@ -6806,18 +6813,18 @@ 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 @@ -6942,7 +6949,7 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun - + S3 @@ -6956,11 +6963,6 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun RSSI Rx - - - Rx Batt - - A3 @@ -7377,17 +7379,17 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun THs - PL> + Pln> TH% - PL% + Pln% THt - PL* + Pln* @@ -7595,7 +7597,7 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun <font color=red><b>parametr není konzistentní</b></font> - + Rotary Encoder Rotační enkodér @@ -7775,7 +7777,7 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun - + CH%1 @@ -7802,7 +7804,7 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun - + Timer1 Stopky1 @@ -7810,7 +7812,7 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun - + Timer2 Stopky2 @@ -7847,14 +7849,14 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun - + All Vše - + Telemetry Telemetrie @@ -7887,22 +7889,22 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun - + Value Hodnota - + Source Zdroj - + GVAR Proměnná - + Increment Upravit @@ -7957,27 +7959,32 @@ 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 - + 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 + + + + + + + OpenTX on this board doesn't accept this function OpenTX nepodporuje tuto funkci na této zákl. desce - - - + + + 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ů @@ -8045,33 +8052,33 @@ Tým OpenTX. No Radio Found - + Rádio nebylo nalezeno <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 - + RudderPage - + No Ne - + Yes Ano - + <br>Rudder Channel: <br>Kanál směrovky: @@ -8141,7 +8148,7 @@ Tým OpenTX. Throttle Source - Zdroj PL stopek + Stopa plynu Timer Source @@ -8218,7 +8225,7 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. SimpleTailPage - + Elevator Channel: Kanál výškovky: @@ -8386,7 +8393,7 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. StandardPage - + Channel %1 Kanál %1 @@ -8394,12 +8401,12 @@ 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: @@ -8407,22 +8414,22 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. TailSelectionPage - + Elevator and Rudder Výškovka a směrovka - + Only Elevator Jen výškovka - + V-tail Ocas - V - + Tail Type: Typ ocasu: @@ -8440,58 +8447,55 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. Telem. vstup A2 - + RSSI - - + Alarm 1 FrSky S.PORT - + FrSky D - + - Critical Alarm - Kritický alarm + Kritický alarm - - + + ---- - - + + Yellow Žlutá - - + + Orange Oranžová - - + + Red Červená - - + Alarm 2 @@ -8565,92 +8569,86 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. Počet listů vrtule - - RxBatt - - - - + 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 + Nízký alarm - + FAS Offset Ofset FAS - + Persistent mAh Ukládat hodnoty @@ -8820,94 +8818,89 @@ 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) - - RxBatt - - - - - - + + + A1 Telem. vstup A1 - + Alti - + Alti+ - + VSpeed - - - + + + A2 Telem. vstup A2 - + dTE - - + + A3 Telem. vstup A3 - - + + A4 Telem. vstup A4 - - + + FAS - + Cells - + --- @@ -8915,17 +8908,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: @@ -8951,17 +8944,17 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. TimerPanel - + Silent Tichý - + Beeps Zvuk - + Voice Hlas @@ -8969,12 +8962,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: @@ -8982,12 +8975,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 @@ -9071,7 +9064,7 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. Select the elevons channels - + Zvolte kanál elevonů @@ -9188,22 +9181,22 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. Ručně zkontrolujte směr každé řídicí plochy a nastavte revers těch co se pohybují v opačném směru. Raději odstraňte vrtuli / vrtule, než se poprvé pokusíte ovládat svůj model.<br>Vezměte prosím na vědomí, že pokud budete pokračovat, dojde k odstranění všech starých nastavení tohoto modelu! - + Enter a name for your model and select model type. Zvolte název a typ modelu. - + Select the receiver channel that is connected to your ESC or throttle servo.<br><br>Throttle - Spektrum: CH1, Futaba: CH3 Zvolte kanál přijímače, který je připojen k ESC, nebo servu plynu.<br><br>Spektrum: CH1, Futaba: CH3 - + 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 controls the roll of the aircraft. This surface is called an aileron.<br>The control surface of a delta wing controls both roll and pitch. This surface is called an elevon. Většina letadel má hlavní křídlo a ocas s ovládacími plochami. Samokřídla a delty mají jen jedno křídlo. Hlavní řídicí plochy na standardním křídle ovládájí klonění letadla. Tyto plochy se nazývají křidélka. <br> Ovládací plochy delta křídla řídí podélný i příčný náklon. Tyto plochy se nazývají elevony. - + 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 @@ -9212,102 +9205,102 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. 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. Tento průvodce předpokládá, že vaše klapky jsou ovládány spínačem. Pokud jsou vaše klapky řízeny potenciometrem můžete toto změnit později ručně. - + Air brakes are used to reduce the speed of advanced sail planes.<br>They are very uncommon on other types of planes. Vzduchové brzdy se používají ke snížení rychlosti moderních kluzáků.<br>Na jiných typech letadel nejsou příliš obvyklé. - + Models use two channels to control the elevons.<br>Select these two channels - + Modely používají dva kanály pro ovládání elevonů.<br>Vyberte je - + Select the receiver channel that is connected to your rudder.<br><br>Rudder - Spektrum: CH4, Futaba: CH4 Zvolte kanál přijímače, který je připojen k vaší směrovce.<br>Spektrum:. CH4, Futaba: CH4 - + Select the tail type of your plane. Zvolte typ ocasu vašeho modelu. - - + + Select the Rudder and Elevator channels.<br><br>Rudder - Spektrum: CH4, Futaba: CH4<br>Elevator - Spektrum: CH3, Futaba: CH2 Zvolte kanály směrovky a výškovky.<br><br>Směrovka - Spektrum: CH4, Futaba: CH4<br>Výškovka - Spektrum: CH3, Futaba: CH2 - + Select the Elevator channel.<br><br>Elevator - Spektrum: CH3, Futaba: CH2 Zvolte kanál výškovky.<br><br>Spektrum: CH3, Futaba: CH2 - - - - - - - + + + + + + + TBD. - + Select the control channels for your multirotor.<br><br>Throttle - Spektrum: CH1, Futaba: CH3<br>Yaw - Spektrum: CH4, Futaba: CH4<br>Pitch - Spektrum: CH3, Futaba: CH2<br>Roll - Spektrum: CH2, Futaba: CH1 Zvolte ovládací kanály vaší multikoptéry.<br><br>Plyn - Spektrum: CH1, Futaba: CH3<br>Bočení - Spektrum: CH4, Futaba: CH4<br>Klopení - Spektrum: CH3, Futaba: CH2<br>Klonění - Spektrum: CH2, Futaba: CH1 - + There is no help available for the current page. Pro tuto stránku není dostupná žádná nápověda. - + Model Wizard Help Nápověda průvodce nastavením modelu WizardPrinter - - - Plane - Letadlo - - - - Multicopter - - - Helicopter - Helikoptéra + Plane + Letadlo - + + Multicopter + Multikoptéra + + + + Helicopter + Helikoptéra + + + Model Name: Název modelu: - + Model Type: Typ modelu: - + Options: Volby: - + Channel %1: Kanál %1: @@ -9702,29 +9695,29 @@ Do you want some help ? 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 @@ -10043,28 +10036,28 @@ m2560 pro V4 desky - - - - - + + + + + Warning Varování - - - - - - - - - - - - + + + + + + + + + + + + Error Chyba @@ -10074,35 +10067,35 @@ m2560 pro V4 desky 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) @@ -10137,65 +10130,65 @@ m2560 pro V4 desky %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: @@ -11064,17 +11057,17 @@ Tlačítkem Zrušit přerušíte kalibraci %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 diff --git a/radio/src/gui/view_main.cpp b/radio/src/gui/view_main.cpp index 7da3010c8..5869848a4 100644 --- a/radio/src/gui/view_main.cpp +++ b/radio/src/gui/view_main.cpp @@ -364,14 +364,20 @@ void displayTimers() } } #else + void displayTimers() { +#if defined(TRANSLATIONS_CZ) + #define MAINTMR_LBL_COL (9*FW-FW/2-1) +#else + #define MAINTMR_LBL_COL (9*FW-FW/2+3) +#endif // Main timer if (g_model.timers[0].mode) { TimerState & timerState = timersStates[0]; uint8_t att = DBLSIZE | (timerState.val<0 ? BLINK|INVERS : 0); putsTimer(12*FW+2+10*FWNUM-4, FH*2, timerState.val, att, att); - putsTimerMode(timerState.val >= 0 ? 9*FW-FW/2+3 : 9*FW-FW/2-4, FH*3, g_model.timers[0].mode); + putsTimerMode(timerState.val >= 0 ? MAINTMR_LBL_COL : MAINTMR_LBL_COL-7, FH*3, g_model.timers[0].mode); } } #endif @@ -835,8 +841,13 @@ void menuMainView(uint8_t event) } } else { // timer2 +#if defined(TRANSLATIONS_CZ) + #define TMR2_LBL_COL (20-FW/2+1) +#else + #define TMR2_LBL_COL (20-FW/2+5) +#endif putsTimer(33+FW+2+10*FWNUM-4, FH*5, timersStates[1].val, DBLSIZE, DBLSIZE); - putsTimerMode(timersStates[1].val >= 0 ? 20-FW/2+5 : 20-FW/2-2, FH*6, g_model.timers[1].mode); + putsTimerMode(timersStates[1].val >= 0 ? TMR2_LBL_COL : TMR2_LBL_COL-7, FH*6, g_model.timers[1].mode); // lcd_outdezNAtt(33+11*FW, FH*6, s_timerVal_10ms[1], LEADING0, 2); // 1/100s } #endif // PCBTARANIS diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index e3ea8a81e..4e472f30e 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -444,8 +444,8 @@ #define TR_VSRCRAW "---\0""Směr""Výšk""Plyn""Křid" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW "TrmS" "TrmV" "TrmP" "TrmK" TR_SW_VSRCRAW -#define LEN_VTMRMODES "\003" -#define TR_VTMRMODES "VYP""ABS""PL>""PL%""PL*" +#define LEN_VTMRMODES "\004" +#define TR_VTMRMODES "VYP\0""ABS\0""Pln>""Pln%""Pln*" #define LEN_VTRAINERMODES "\006" #define TR_VTRAINERMODES "Učitel""Žák\0 " @@ -497,7 +497,7 @@ #define TR_ELIMITS TR("Limit +25%", "Kanál +/- 125%") #define TR_ETRIMS TR("širší Trim", "Široký trim") #define TR_TRIMINC TR("Krok Trimu", "Krok trimu") -#define TR_TTRACE TR("PL stopek", INDENT "Stopa PL stopek") +#define TR_TTRACE TR("StopaPlynu", INDENT "Stopa plynu") #define TR_TTRIM TR("TrimVolnob.", INDENT "Trim jen volnoběh") #define TR_BEEPCTR "Středy \221\222" #define TR_PROTO INDENT "Protokol" @@ -572,7 +572,7 @@ #define TR_BLDELAY INDENT"Zhasnout po" #define TR_BLONBRIGHTNESS INDENT"Jas Zap." #define TR_BLOFFBRIGHTNESS INDENT"Jas Vyp." -#define TR_BLCOLOR INDENT "Color" +#define TR_BLCOLOR INDENT "Barva" #define TR_SPLASHSCREEN TR("úvodníLogo", "Zobrazit úvodní logo") #define TR_THROTTLEWARNING TR("* Plyn", INDENT "Páka Plynu") #define TR_SWITCHWARNING TR("* Spínače", INDENT "Polohy Spínačů") From fdc95bbf23ebe0b4b53c76c17d4c7e2073d40baf Mon Sep 17 00:00:00 2001 From: Kjell Kernen Date: Wed, 11 Jun 2014 16:28:53 +0200 Subject: [PATCH 80/80] Included some nice start Taranis start screens by Scott Page. --- companion/src/images/library/00003.png | Bin 2971 -> 1358 bytes companion/src/images/library/00008.png | Bin 1358 -> 2434 bytes companion/src/images/library/00009.png | Bin 251 -> 2053 bytes companion/src/images/library/00010.png | Bin 251 -> 3215 bytes companion/src/images/library/00011.png | Bin 251 -> 2171 bytes companion/src/images/library/00012.png | Bin 251 -> 2474 bytes 6 files changed, 0 insertions(+), 0 deletions(-) diff --git a/companion/src/images/library/00003.png b/companion/src/images/library/00003.png index a179deadfdc73cbebacd24e1dc58b38a9ba9eb25..6e45e310a4ff420fc799ee8312964ab385a429cb 100644 GIT binary patch delta 1350 zcmV-M1-bg07tRWh8Gi%-0077!k;VW300Lr5M??Sss*NKu00009a7bBm000XU000XU z0RWnu7ytkO2XskIMF-vj8WkogqYM}g0000LbVXQnLvL+uWo~o;RAF*qZfSEMNo`?g zWgAR2h5!HrzDYzuRCwC$Tuo?IM-={Me9;;kgP|I23sO|XO@9}rMUd)J7cNCNZBn!m zB1OcXR3#KzC^7yn6m_G5iU?iQO`%OTknM^rw6_=R|X{Yh|((L+Iahb_v zO?44MmLB4r?k1C|XQFK4l%C1ddsLalDM0QrnMNvoX@C8bt}~hXig}!}R;h*3D3srv zPHPSv01SaF{)PYmU6_uv>|sfG56>b#S2QEqtbfvFCX-zr;>U>Xd$cI}etgJ09^+`F z*qQcE<|zivj!Tju{K+hz;G2-P1jkwX40`Y~bDXl4JIXLsH#;s#X3&j)nQZ`zg6jiV z!CFsaIDbc+lB${1Ws`y|lag}^wUrr{PsVYOSw2Qz^=c{lS=%Unh#f;F{ga+KWtZ!? z%Pc3*3II5S4#oZ-x-p${qn_M9wjR~&%*ljDkpQ%hazbLE~efBSoF{3 z^HIf(sEruLLXG`6PQ{KWyZ(6|RY0QN#|YMGTV7)m9wj8IKpy3pQ@UJI()22H-GbX# zT*!B%CdxCXH2D%eiaw|;4{pHOV!nog1%G`a3N7zbL=XFf+scd6Z;RlPyoq8BO)B0~ z)Ik^6C+yIEi(UU5KOdD>T5tz#isd9;;3rHfwrf~!R1=c=7c9lAMTD1>u$@Bi^5gQ! zAU;?037iM;4+a%$C$7a5Yl}F;gOA89EpO@DMzhR!ceP~^jkA_M?YEdm?axPLzJERM z#3(uy%OBVhT<^lq>>2w;{1x-8&n!-5N^?)kI-&&q&irPnOYykR+83B@KDhYv$5F~yBJ~?r#6!mxp6ep%7@D~qCTT(<~2pDB3?I{&kSv~98sYN z++t2qT$V(&(cclT0gc~B^pbf^P=C87Hj_C0`KSzX8Ecv4sdk^yv&bf~)yh^Fe?H0( z=g&vMpO3P?VMytp*}IUMbFHe8&hVzb3(234s^4g`>0c#Jtu8x`&{&exze=8f%Z@Wy zV>S1*#o6_*Ldy1f4iv$2rf|-QO?@6W_c-a_kyj3!)90hggcJU~=Vj5zB|qj=UYvA` zIh7Yzv9GHxGOqgLEEDD5N?tEq#WR_5;QaZhlHi;_A5|9I83Y!;@85#xv003esSxo={00v@9M??Vs0RI60puMM)kuM;B7!4OBI@JjK z000XpNkl#=W@=?#b4ih`tfVYqMKp>&bb(9~B8ni|vgj&A z7sU#SAgqYU0=2Xt?DnCxS_ErN{ZOf?nJ#6mnX8p$?P}-u;ZOT_-E)pR>zuPkcOE#f zduHaH_sq<5-gmACF$}|h00jjF5xCJJprD|HqM(o@+$ZXTnayS>C@25`fJu`k!I2|J z;LMpbFfcG+i4zzY2-~-Br>%g37|=xPLz&HHP^;B&@#00iH;cPF96x>>4jno~TLlFr zl;wdCA|j`xqy#o@+(=sph3odAdU|?@$;!;k1cVTjmzUF4LgAW!g!=jOCvlk@Hf#Wd z5EK^|)7C=aT7(J>4TY4H6hUNXWo1E8Q4wu16t2~W0st@?ji6Smx!)pgZgAtq4Tt4F zc<=yLu3Sl54~1(G3KttUZiJgRZ(^sTMMp8AT|P&k*XyCQv=kVI0fu2C`b#-+xfBt-{dvS4b(9qC8Nk!pWgzD<*f}o%v005AG$z-r_;X+H;&!0cx)vH%_ z%W7$9f#~RH%YUU(3C+#TlvEV1Hz+Y0Vq#*z*Vh+bzI@3Wuc@gCluD)Le^gWyw6(R_ z9iM^{%H$z)(MnJoXq!^5GYqk~#03Q8zG{QmtLyu7^ZBGqVpHCnW; zhY3BgTUJ(o1_&XWYx?x*oc$nAPfswJOb{L(ZWCrUo591w!-_DGk&&GFfBg87wlHd; zCI)J1YGBEdC8Jsig+c)@Uc6u>hM%7w^!4@G-1qYGf?vOW0RTXEcQ*tE2C~YQ%jNLn z#}C@dsD&E;@b>n$%jNp|^(#b0MFBzxhK7c$!g_mudtvhA$u?;Q1_t2Uw{HLdFm2j2 z@bmLymEGUpPnRcALQM?B#l=BKM+YE;AT2Eo7>0olA3i`xNC?cBF@rUYySqD>&1S26 z-@ktcZ*Om#xKpQ2wfr_3jhuS;`1sIPMqNJFfTyP?$mMdIoxXm4el{dwvoyn9KOY|- z%Wt-S!3l%GV3`}EpoE&xkjZ2)I5=o^&)?tQifH}){jBca@Z#fg?+`-p_wQfY+NjIt z8Zev9U@#c02xBxFtp*$9ayctu5ot>Rl_h!wSW%Zxr$x0NIP&RLCF)uNH5E2q%MXHgLv%^l&k000o}QmIsom>8b-%$YMseeQqg?d@d^ z_wn(ORCx{z3~=f(efo5VWVW`p5_v|AMk7cWUB7;vcpD!H>hf_wuh(;0sjjXrY!w~x=V$b#N-8)t}3l=PYVBFl? zIMZphT8DK^OG|TzP$eZLymE7La>iWtAV#5Y*sy_Eg;!NoF><-w?kg!N$wqg+_;GP@ zR`E?H6Js)&IQ8KR;|urj@Q@s#rcIkhM5jfI7O}=f2r*i%mUo2F9%N)>5O;M+l{@wq z3@=~4j6J$Ca$Ce$Ff=p-{r&xacE_)-u7^Hp5v z?d=tORMKt&+>- zlCw?$0RdyuDJdz5Gaf>ScWwz6DJdz$EEMT7$4YhX+&QN=1R*=?vuDqLmSjH#_X-RQ zv|PTvzJlna)9EZ}6$-_;X$QA%-4cvU*e>6mJ$syLnrmum1eMQsiqUw&moHze{`>p; z^KOESkB`UBW6`2TPMMG%EB+m~P1MbE)aAo{8*JUW6^q@~)zwUBXeg7NolUKii1SW3 z!}kaw=Gn7n*lw3p$}u2+Ab|1m@)Ar>yCv`qfs(usLQHaUvQ7RPjYiOXdwY9bl2D0> ziP*BDqoc9YG&VL8EyrccmJw}pxw*Ncj@S})`NZ0Bnw*@>`n8KSYt}ftdi?3rr#AQ9 z-QBHDIvRdPgfm8yoQ2U&&1FMtYb$n|KY#uZ)!WzCmsp+b-@hM!PMkPFM4nxQDl9A% zZTOPSf7R)9*dL@;DwS~i_HEuTaWD)6ckkYXrAwCz{%j3}DimQhZB05y==oJ(cM6^76dV0oOE_?UxCGXOY z7NMY^K(vZaNlCGP$zP|_Vaw|5?3COxCTI1XxL#5!l}b_rBVv{*LWtS3XOAHDJnESe zT&JgUVb!WtaQN_HyW&26{1}cNJ!*0F*i@N0bEeI<^wEZMbvm7-T#J!MIE(4haP@ry z0s?r4(uDv+_*@M~`=qtCwXk5p0>K`V6Z!f1*z7kL4A`uHuB@zN-2zZsTT5)QrZZtO znIt#5=cv4U_wGr?LM>mu99xIy&z}qHiSPyDZiU{yeLGR*A|fKN@}DzjjwDyD4-5>5 zzEy*-@5DC`!zD|pRF0X9q+fQp`InZK3h&x;1>CuF2U}siUQbN1`uck8{NKEJ!$=hm zA3hwH)(Ihh#9Y04)hfNezrREJ)YsP&E6>!_RP6kXMx)^M%sFh%x1XL3DwPUCLqmzV zqPS-sL`O%D>0{MGBO@cj(ucTz|2}s5)vH$%>91sEWns(NvSo|ay(v?sh~EEV>j&YW ztgMXlqYi@ip(-jWu-V_z(&AKe9upJ8Ok_CAI`#B_^w`J<3k!3qg*tWW6n5TUzI+j< zp4e_iMn+;OyJE!(qDpDCTI@atCDZ?}qM{;JIa{}GB|=O`3Dw@-PNY0==g+on+a_LJ zjlA*b(If1)SY~FX(;5&$$Yz(V6tI5%dLk9MY11aBjqII0dzL7nNWA#YpFfYC=ciAf zM5}jyn?4lRr!u*al#~R;#l^&2(1wNvtoUJJVetC(Yf1H&`uh5yyu94f2O0Tg4;a6>)5A?1XUBgdW+G z$z;T2UAS<;DHiI|rAyfD^V+p*;@11{Kk@N@@lKtr(`YmkqVFU%G95g45L?#Z;GiJS zIF@B$!NI|jKW)pBV@*vBwz3NsE+nQ%b8|Cx{-L3vlu%AO3D!|P>+0$pD$|mZ670Mx zDk?;;dp7`py1F{cmS!9zCMFVdJ=JP8cAAl&nsG(s<>m3Nk;~1^m6X1xPMyL|Q(j(P z4w;#m*y(V${1EFyIr_HQv111jR+pETJG3-s>C&Z=vrb%J-ynS*J9bP^OX*D6r1BDD tsnJN#FBno#5Cr|44Fv@y6a|Ge@gFrBp@y!zR#E@}002ovPDHLkV1m@TvGV`` diff --git a/companion/src/images/library/00008.png b/companion/src/images/library/00008.png index 6e45e310a4ff420fc799ee8312964ab385a429cb..1399c91ae8db3854ab5a282225d3d6e4b098e4fe 100644 GIT binary patch literal 2434 zcmV-|34Qj7P){DLvV=e1I|;)| z74``oZif?YKLYd!)FVjYgyJKJ>B)pgFw)7qQ)lkf*;J}bH`o9P+S0Lg=F)#y%WKIb zK%jP4S64THSC9OD+yDHAnE1ypkH9%8>hA?=%r?Ss|2xrdYDUnWjZ_*%|FiF;0G$1! zviiP3=y2TWFNWH@|M9zWHtsbHU~B#HS{Lf&r2fjN!&)s~)_VIB!`1bK!+q>)Q?I6&{^`{H{^37EUjyv^?~9!B+XIKDw=<1~0B-uDdKx_>yfhawH%Iy^} z-g*SMjkAHu!;<<-P#!^d0}T5s*e!IaGpG}WUDf0NyuTK42kdTuy2NBVPT-vl)b05& zC;NCFR08vY4huos z{%QmX@P4=4jP_B2YSX_ghYS2vs22U`K15sKSfn`gwCp`hn&CX@P zB$Y3CTHiHn_3YA`cPB};xOBbWjcHUC*?PLHb*@f}jt|cy)U*S1=Rbg}5)^vrlVw|a zGFq7}PYO>{EuS09>V}OpUzp_hOeWyf90PT;J|;Xe%A zUawKjc2bZo2Uu+?ZrdrFCC$(*WS3Ya%#s6=)D@LPC@HHI`o|)`FD(47!E++9n*eSF zy1oH!YJs{mF&4d7D3Ps|?j%Ro=0U1$h9V=09tkO%DKVomN=$@gx9p11RBAbm)K$I| z)bL&XKBqDfd3h@@k;ZbaKnlU)_y>vw((iMkU!mxJ5X}F|=)?N{lU1221Ky zZ9c%0RkJms9~U_MO=>|=7Lx&na@{7dx<8eW z40a18va2NRr|TdmvaDQ2IT}MRM)YiRKgG>EU|cttg(fn)3p{pUGPw(N+G*}~GA7cp zE0Mc4z%=1>N)FFCxiV?e_ZVglS5t*)b*`2zQD4(lP1j+aeY8h8Z7ph$0Wh(})@W^` zfeb2D-+k;{wX1lklb)I_g>!N1y+7;Gl4>+M`TCbZS{P$Uh|EwI1Qo3KE3bb(P%6_n z^!n#EnUJ&f!i%hfZCCU}lf0k|BQ;Bnl4BaAeO9@PTyYKkpc@2r+6~QOYAH&#T)R*s zp(ygf?s)bPNSHE8P@{Nfq%p}^8be>JspkYGk11b<Ksl?X$%X2U3<6 zEiwz9T1v;E%*qO`##l;-;bk|2&SYr)MtN$4qNXgev^v!(vIwQ6ZpFQd(Q%R|po}?e zU)b!O%cajZ6nfcFpX6FbR+g!@qMmW#a>0FJ-f5D9@D;gt!h!`=GxIp zD^nFv=P{pSyomQY8WDd-IS6dij1|~>RVbaqf&n!P(>cMH_fPYMDtYMK`8q5 zqTHoa!?CJZUZlOZ?N%*6T+)vU=DZ~nhskibHy#SQR7^;_ly2kDIche69aZm2@Yrhn z6p`9*p-tDE6r$7g$mYy+t?s*YUw@E*>5f8}lK#_`#q) zeJVhVW%KoYH^Xr8>CeD)Tn}tE*zr1E`@@F^9+HcVHxKz~qaRAYbm_wWt$Li0wt{7Z z;Y|12F)B?ZItPn>q)@E%;sr~QNoaE)MrFjj^5|#=QDfUW>@=Er=nl_{%4pUi~`n zdbrPf(^OTknM^rw6_=R|X{Yh|((L+Iahb_v zO?44MmLB4r?k1C|XQFK4l%C1ddsLalDM0QrnMNvoX@C8bt}~hXig}!}R;h*3D3srv zPHPSv01SaF{)PYmU6_uv>|sfG56>b#S2QEqtbfvFCX-zr;>U>Xd$cI}etgJ09^+`F z*qQcE<|zivj!Tju{K+hz;G2-P1jkwX40`Y~bDXl4JIXLsH#;s#X3&j)nQZ`zg6jiV z!CFsaIDbc+lB${1Ws`y|lag}^wUrr{PsVYOSw2Qz^=c{lS=%Unh#f;F{ga+KWtZ!? z%Pc3*3II5S4#oZ-x-p${qn_M9wjR~&%*ljDkpQ%hazbLE~efBSoF{3 z^HIf(sEruLLXG`6PQ{KWyZ(6|RY0QN#|YMGTV7)m9wj8IKpy3pQ@UJI()22H-GbX# zT*!B%CdxCXH2D%eiaw|;4{pHOV!nog1%G`a3N7zbL=XFf+scd6Z;RlPyoq8BO)B0~ z)Ik^6C+yIEi(UU5KOdD>T5tz#isd9;;3rHfwrf~!R1=c=7c9lAMTD1>u$@Bi^5gQ! zAU;?037iM;4+a%$C$7a5Yl}F;gOA89EpO@DMzhR!ceP~^jkA_M?YEdm?axPLzJERM z#3(uy%OBVhT<^lq>>2w;{1x-8&n!-5N^?)kI-&&q&irPnOYykR+83B@KDhYv$5F~yBJ~?r#6!mxp6ep%7@D~qCTT(<~2pDB3?I{&kSv~98sYN z++t2qT$V(&(cclT0gc~B^pbf^P=C87Hj_C0`KSzX8Ecv4sdk^yv&bf~)yh^Fe?H0( z=g&vMpO3P?VMytp*}IUMbFHe8&hVzb3(234s^4g`>0c#Jtu8x`&{&exze=8f%Z@Wy zV>S1*#o6_*Ldy1f4iv$2rf|-QO?@6W_c-a_kyj3!)90hggcJU~=Vj5zB|qj=UYvA` zIh7Yzv9GHxGOqgLEEDD5N?tEq#WR_5;QaZhlHi;_A5|9I8ti_0fi8d8Gir(002iq29W>&010qNS#tmYI12y(I12&NqF}KA000McNliru z-UbT}6A~n8xQ+k-2c$_vK~!ko?VG)J+qx2kKj)r?<=oOG+LUyek}gk4KLY&-RC!DC z5u`^DAHi(XnQc0wb?0f(@fHC1C&iX2%gM<)Sj#J-L=v+xGk<&bfXr3TpEthnFQ|V( z{j%}b2j8!2JBy@Q7QfiE;X`V218_5(D-YtC+ z!*5wd|B>S{lVGpe`)^*d(Gn^9zMm3P-#-}uc?s78@X+@!<>PSA{Mg!+eZQZ4?)$zk zudFuPVe~CYB`+mr&R?iN- z+j@GB_ND`5cE-_A0@`}{jn;44Q-u(7JjIOiKYsyeZtl^#-rSuLg0=-nAH9{^5*)~0A|R2$)}(UbQ=H@KnwDS!?(_)mtpon`v7 zl4Ah9KL``^W}(T3G|scRN-qILP{6M9RVsiE%AoBAq@#uVXn?2mNog|Gv@{PZBe}de zaep=_%SG#vr=XySsCwnR3KUI16*#sC;a6;{YWwt*|NQbiKbEFh`gSfye$l&SKUD!% zLsn?ru0Z9}Wpmf5b{k*da|z*>7iC$PSL@XFi2Z4Hf;j6Il4g`iY2JVuRS<<8*}FlN zKB=1~^~>V}LRb)pKWMHP<;tyiGh-YV1LM42AK znZ}H~%rm}TBvkgc9JTkMPJ03QAhY5tWuRg8t6Mkk&#LX*h^jnjJ&u&N<0S|5q~HrW z)|Z4K0Ed36Fhd1ZRcPLiD&J4CJ>8e@y?#Gi0h7Od#eL9Tc__Pq491O@E%*TR>wjx^ zD}1$o@S4x$`-l8!HoZ1HuSXN!kx+$+D{yZCuEzFyw*iaT+j=$+bG)$(t@%J(h2L7w#?~~o6qHDk!jXZ1{$=?rZ$<_z#ZB9B$PnbG( zN`(PRU$2@bpYQus2Cx$NL}g80eSgq6WjW*aL0XQzjt{`;zMpJw0hNIx?M_Z-_7B*( zi5rA)0-Lw7LRGP%1Yz+w-^@&_jn{xa0N+=IyY8dBWRO$jQCP&dZ<=Lo;Pvv$a^o}7 zk9dW9x?)mkpvpdCgblUyb36rA zKG91Es_g8CV-gXOj?V(++ch0kj;!tQU#T&o`iVI;?1I>-oYVST8?MIm#;NE+`x8TWq-${~dpjomEq^ zKs9a~uN|2YQKj+PM#X#TQlS3xzoTD&xz6B5NF zp9qR?+D%b866`ss%y)-_#I?!SA1>TFN$l6p1Vv__9gYO`z?@60JAb2CUN;VK3Ei_M zkR+f9ntm!MzIB>7hYPHyiA#Q*f$Ca+=np4}y60=rBxIJm2&kXG93tC0MK$g)`DS@d zgCAu!jRcNhV2jD|r+A9wTl0)M=bUru98T4BHeH?CUz5(61WnQ;L6Zd3aeWC;SFgPq zXXkGbhyv;U1T%E<2Y;#xs@7WnyeJcq*k5PnV&P|XQER=PP?ijHw2_`5pP}fSQ}Dm2poy828=4ZX?2VtK_p!bi=B)caRr~vem{jJ2$HAg zfC@{J|58w3+r|!UmVks;E#KewTG5E>BA{L=z6aTm{%zE$l6WcT+;_K5kJ{&JuLI{V zi~I^t`BiSZfqOG#Z4A~XQ0ZmJ?>(OKEyUj`?pbjOIEC(cMN9My>I87#_#HguOHCUo zUXT^evQ3Z_mm$AZpa5;#&Q}=`vi$v*hvH#=Cs2TGTk9XAn)U3?Zw3lb+gV>mv+R!n g^}CKg^8b4LAAMbhi?g&+Jpcdz07*qoM6N<$f)S7i&@4|E$B>F!Z!bFvGB9u)HaM{Vd1BIe7pM2TJdGTVdNQ;z zIX5n30OA7y4M3crVITs+5?mn6!`j9K!p@9fWiTbk%6M3jlo4$bgR|pp=DpupYP`F5 REd#oe!PC{xWt~$(69Dv-Lz(~p diff --git a/companion/src/images/library/00010.png b/companion/src/images/library/00010.png index 410af7418f26755132ff5fbe3dacccead7db7d80..fa973998b937a976a7e7258daeb9ec80234e9e75 100644 GIT binary patch literal 3215 zcmV;A3~=*_P))x1FZ*0|g zS01)B+DE)vMMxAiBC#3~k?|Q+1_3L>3{jZ#yMLS+U=R(8g3apwXU^VdpZ(k4^V`4o z8BxA^&EOxPy4cRF_zHqr@$Bo}K}Nb$rv5OmzE@HDSBg_LFFsyR{n~Dz6w>BeFGbu! zO3rVW2vFPIGWEiSTSn({VczWi3QX^2PI)Rm^*wrP$ei5lB08xG(jV_;P-i{z`nX}Y zfJkFuF$g~B^4AHPo!et8RMeD>B}RiWt|AuGB;_XTsR)Ij!E4!X${+#i->8cO)7 zD&F`G-3&@ki%4_DO$Jr6-K!!P627nbzkWz}gK}Rm#L%-hb@_(PrJ^c^itXIt*M3a5 zgF59k3_~vhoLxWPelu1t-r*J%14P5O|L3!GKd8^Ji6K5XS+?rW?`)0f^4hiA%QWDH z*)ILtYKgcBFNyJD0%`^y{joKEX)^bg39QpyCze*YsY0#3;_fgJF8nmoK{e-2JzS; zY~euc zo7~Oeygx{6EGlkBpjjhRr}yn*%)X^k#b<^HilIj210(1WP=~i(L={_jv-A5?y0)NM z^pS}v8aR6Kb7H$a@e%_3?W6K$!xRy-w75E>YoJd3<(y&~fFd9x9uA`iKplO5&5(hy zy(5Ud$6a(G;{Cz1B5!!LFLr!lqKJwJ0>-qd^gt6W-&t~^q4$un-y9@xXzQk$jEAPi z-yoYdokvy0Z*e7R)(CnA)D>>^`l6WWUrWFKV6J)7L7$icYN!Zm40KSkR1E}-xY+}^{XjwOJ6r3A-aRGtOO@fp9S52*1p`#nP!(J1 zgLiOSf&$+CZRLE+NzEn*AkuHz zD0;SOXR01wtbOld!k|&($FyUY?l17DhT6`26gxE8T1TQMj1TQ$O!zui%4sTm`>%2R zho((PY-5wlK6a@Y7E;>Bc;9RuJF5{Se8l8n_qFgyZEV~$ht;Y6z^V?6h|2<48K@OJ zlE#WUcqGm0E{51S4yql2MSgd*-F9LZP*`LwWu?hWHwMN58arK|Dp|E7GGV~5apU~E zF5CUNs1a5gF2B#|TfTo#PNN~ivm8OstXy^0`@6X&xM34|Fl=f9g* z;w;M_HcAhhzL2mp=UmPgLf7Qnd%-dAvVHoU!P5`rxUiImiubi+s{sWf#RGVMP+`#r zi1q*GFV6MvTm@j+PtpQ*N7`Znf!9B(K!yC$H2AqSwxoj;*_XGN=bqV;w<|g3GnCM} zdiw!a%GSb z0PD(PLB8z;;ivZsHF0S`+QOv(B?Z}w07zZU4T5s+JrVEo*-oEMai9FB_kZ!&bM^K{ z+we(=SI%4uL@u8T4#%h2C5Y<-YyamRWPwT@>OXaDL5V?#S19jq)qbeHVyIf!|AKUxwzK#g#>+3hQBV$|G08H{9h~+c9 zuw?-Xs!$3-Uj*0!Fvo!cQ66N~?5tJ?PKo(2uBET2KusGOuN-m#yY~R_MAi*~swg^* z&j>a1Q-_7eBp;mrc}RlKsERrT{e@xQFpxQq$buQQIcpeTSPwLw@CNh z4NMC>wB}%i@b6yy1t0~vFg`0trh=Pe(My(Rkjr&~I=ZtGOc4N6n(uAQ_7XZ`!a#te z#Xnw`r^D-O%Abn7^M!|7J;U??PAImlY4wXB%tKMp8GT^loPgj2t8|t<^Z`q;r>jLH8a6-Te(iNe(pUoSQ+G>{^KY4ch3eQmWTs-vbTQh$c9T%GA>NTm13V@*Ed}$7%JxwZO7b!DmSF^TAD8D;Ji}@V1Da)Qu1R z07rsZRsAx6gKA*aq}Hi&HSJedwB~;bKfi3fUc<^Fi(w4QnSWPDY0k#zCHX(^f9&Jp zAsHtFQnfLKfM$#Q>6$B5m*om+@QF(Qnc|19#5}^a4&P%=fQ(-Q!pmPKQ*}pS(Sz?!yvjSc^r!Ng-s$JuN1fvv0%K{PF5Y&;|Y0>N(RtT}vK}ea~ zp0Uz~uLa9hfbXQU{OcZ&{FMu?63$;Z@!4sg^*Y2~z5t1dP3)i48H0B8uM?8EN$q!= zmIi6Q1P`Ep%ntO2y8xmNIN*D~2Z%iApC6VFL`AL9 zo&Oq9QA<>Vyo5H_v$L4q4wJw15J-RIqk?-}E`Z~yr682N`mb$e$~;qiqCv1(N)Ak* zS4{G-xEoJ*l^^fO1;t-sY`x(}7Wlz>1?QnXpS%rrG@yk_Uvk?8x81Mva@RVe1^0hU z$?}6T&C0!%b%sq;Fjaj%6I;K8#6ga(eQuaq=SR?H*KIC>`E$i^2mXELMG*DhSUnt2 z852+?OMU@@uFLZ4&Fyb*4AEx85EM+phh$70H>x|npS+a?0zLo9wvFd6hZuHy!ssc( z5(n~k-$a4>?RzhTMkfy)oEXkmp~*k~mGgJf{vWDmmcne_@|*ww002ovPDHLkV1jXW BJRSf5 literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^SAf`ogAGU~X-4`2Db50q$YKTtZeb8+WSBKa0w~B{ z;_2(keve67#M(k^IR`gTXqKmoV@SoVx0f9S85lSY8ywjGJTd9Ki_`mEo<=y9LR|m= diff --git a/companion/src/images/library/00011.png b/companion/src/images/library/00011.png index 410af7418f26755132ff5fbe3dacccead7db7d80..f5f61be960f043d7a5b8d4efd62a4780d596005c 100644 GIT binary patch delta 2169 zcmV-<2!{9j0s9b;8Gir(002iq29W>&010qNS#tmY4#NNd4#NS*Z>VGd000McNliru z-UbT}3m|T#aaRBU2pUO5K~!ko?VBx|8_5-gUnfHh&;EqFFt7|4*8GGX7}$afTQE@i z32GYVqG2i;=Az5?QnOrYHUZVrNE*$=-ibe+eWsD6ZdKK}_kY~4)8jYy{Q0iG@Cxb` z)GMf0P_Lj~LA`={1@#K*71S%JS5U8@UO~Nr`eRo-cW>=qZ{wSR)P6O<&S{m|m zzp5URrSycOwiO_T-S+`?hAY$qEbgjy3{U!Db^%1#bbl54JO>a=({}>}w7G`z;xCD~ zZ3BY=gaC9x$93%i7aqZQ#iP#LA_#WF_XGvhQja`Dek*LmbkclyI3{a|26ziVDNTCR zuy~8`h+X>5pdeZ)Sjs}IYtI>*)67DY>L43Z^X379RCU2JH*XPC^r+mu`5v!wqLzx~ zq`QEu!hbZJb&6tJ05oYGosg-bv`OcVau)@?=SKjw;F3JB9ECw-JA>t`0LZy#3t0s* zOm^ZZ4>ym{=0^bqM4ekVxl#+|ksttp5UbXmHM_uQ9qfUFq40=MBW(JCK!LyO14>Gi zNSOr{lBB$z0c!_@8mUSqytSH#=>8K5 zi6DpwMT;2olc1W1lyqQ5U)+=c%7N|KC;@q4_6*8eY79WVocuJZ;Hde`aMBXB?zp6_I7ph z^>ytJyVq$v{u+q3dY_ITqni+4?~W`1C}v0dUU&-fwC!%)0j>5kFTb~;r|$3+(K{m3 z;*f~L`iI>k4w<9{(vs}4tK+=i`KflWd4H&aK&(ETov}MMjptq1bA!=T8$g*1IzEm` zcvBZ=w56-?-aiaLG(Ut`AW2CIdVW~o_*G2Y04oQOg#*lK$tD}~xk0o9Fl2}$d$;*~ ztvW8oJa<(;)UK0x{hrq8`4HOL-Ld#eN3%t!C9s5ha|99ik`~RZ8{A#;6GNYantvOh zaj@`p1Gc$8mzC`H2#`^t53qAnsTtE+^O@fdCHmw0_OY28nQQmChyrEM-YqD&T zQu5{t6FZh(y_C{G6E&Xj)C_2sL1}+i!RxT(B+`>gSKXeKJXK}DPIfr)<=6_qJoFQt zbpWF+Vp-@^Sc}$VDM@A#URw{Q5PyAa5#Br}A|hP_)dI*1AvU)Gb$ICRkN&OQc?(%! zo6`lV^t9?XHSf|7z%Bw6TBc98{s5Gq>mp#JN ze(z7@Jb4Mc`7+0!5+uTlrDPh0XtfXm7v5x+l7dqj-eA_C&STHiz(EQb1SubEaM25I z?&89pHaxF89$L%`Pt9$Avc?3&?KH$`og+|qarYw2iJYTVm$@NEYk#FEXTy*Fx`A;8 ztbMR(TL%snpPrLXQ?EUzVe_nlx2=cVvwz3}fyKOkCzf$drc7=2FQbX zEi;yq5pmG6l~Sw4l7A5)88^V@&S9z5FkYuoDG<98z?<7R4XFIQkl#B`2e!+j+e$#h zD)#BJ3vN$YD3Q|SwUnZi4dU>!C?&kj)g`6j2C(<5cBp)s#?Kt^Y_mE!$FrDNH34b7 z1z7hEId26eZ>9X;FS8*+XsJ`SpKFT{mVbwI8lhLZgNHjqov-yo z*QC@cK$GPP_-Y4`_qWI`<>65dwBSS!uJMoz zYCPnG0!pG@Od@?qe;`%s9qu&YowAFh`mT}pSB((UXNnxPG!||2?)Urq`};Td9GjCrbmjD@y*~F;S@q7U6K(G0ZS$-vitJ0@ z#(6D$uCXce=DrV!fB3rcI^w4g#D}zKD=y9LR|m= diff --git a/companion/src/images/library/00012.png b/companion/src/images/library/00012.png index 410af7418f26755132ff5fbe3dacccead7db7d80..8af4d4fc427efed0117628f73d0f129f2b63cc59 100644 GIT binary patch literal 2474 zcmV;b303xqP);Th6+V9}Y_0+TV1*w0wTNPnTF$L8~_$(3jK)N2==ty=kO=8TWUO zRP2f5Cca_h&GhVe?;R=iRP?tDm3jxHk4(SlN&?Wo9ZR^`FBa*YK`GG%Kz;hXwOMNi z6o8M6luHhP!Pfd6vY9P!$^a!s{((f1-~gIH`FiymaRPlE>&5_=@mG<0XHX7-t;ro} zc{ZvZfSLN<>e^w1J`$7wpt0lv(EG~H9EXAdgm+zFe*YY&zc*0;AtVP$FwM^7z?KGO z9%mW$Sx$d{MPUNR2`y)5kziPu$;lFWrS$x!`qzKo6HxV6HSo&ls0IM2y#Ic6b;iO3 zRh6o$!c_(TUVY~9y<&Ch^2z)5Q**)Vw6nn=*6lf4E5#&0#snkekTnfIB2surR}U6jql&06Yb2-mMlVAf<@5A)u6!1W{C$f)+w! zmji{krtPAF9AMTw$6)y~eYGQyT{ZyP?Po_7;r0%AZ z>2x~1nI!<%lj(FiolYXU$#gQymtRjNH$WQOquYE4wT5s~~ZuXl${$R{_z6HRq%l&}5$WV64Zks0xRtHHrl1-3%4q%G1x_Onsn|ZoA(n?juGmODJ~sY=b9Ztz!J!D*;OrDuS*1w`Ub$A0L&8regyyn zaCZ#=%WruR9*b#HchRhfiX0iMS^Tt|eu9BgiVW7gzEA#y5{-5Pu&J*FbfZCcVujXq zE|qzjJ?jhtmiBJ4)e=BjM*!GW0$eof7=l9pAy_a9(l+}*B?TlmtLrmp_7ectHWplr z!2z?0NC5B~0-HQ@2WCHZGp8@?^~B&=#5nFK+n3$8iJd~W*)0Sp=Nv#5#-}@2hx)7& zpe?8}v1U2?)Lrs^yYOi{=SA$H+1G9Q0qPbfzWVNZ#Cdo4QC;^Pf(ceEJugR2MRS9K zQaJBa>yLvC>)ZEn-2-5Ic*ll7+;b)Ult(#|1CDL==B`QZ$q2|jc}~E5Mp9;>^(>wn zDWl*qCvR7F`8chzzw2$i6gM+quHD5r$xclj0U#W8(b?KeKnoRpmnFOi6GTveFRgif z3Vs5>5P{`aqJ$u8tYE-c^z7^IOq;$qrRCe2lc2_Pm*d8Fw-gvHNa?X~6+ewmxM=j{ zX@Boo_G=@MZWgt=4ghn^+V<2vch`HTL*ca0oE7ab`+5ZMyay;GlaC?~)OeslAUFV0 z>;9FnK5eta=Vg&rPY3YX-p1J6?q$(4ef%gayC)Z=xo7f`TnzFpmN5(DA*UhL^{>&h zMN!;^M@n8Cn`Gbjy>E+Cy<3YFF$zQx3Ymx+YiNW^9q1-*8oGeiNeCe+Q z#c%DF8CE!`Iyz8wqXfzuC7iB~vs{wG_V=Adx_vy0k)YVQZDHlTWiaHHHp7bZWqM8e z0obg%i6+;NLF!~W33-AHC@I|nG z6O`{V-ySHx(SAQ=-?%-MiE#u)v)tm-NF)UMXr^(uLCz;`1oVQ!HTenPyoVgva=-rU zfy!-Twpy3#EFlU<07}sX5SCA+1v7>k>Y^Fl0Z|+S1}axNT8`iGCQ7pcRd z8zTT~cRJ#+F2@K^){Y(?pqyn?neF2w)%P^)dW4cl7lTBqP>em}mrXAFxM{&uge#PZ zjr(;$u^;=AM|mMfd3;AD3qyTsb6pmck6O@ke@j;&k919auiPAuxTqa~g%wY7#zjGS z7OtLCPfj4v>Z1ZE_FlYC0Tds9?g|3dPwtN1ToP2qBzJh`Ynk!%j!&J_utOOD2=PGU zShL$o_B~g;ASgxVFu98)Kw5aVlzNwt8{-`-4F`2upw&hK^3=0!E}DKZM@tf%G~ySK z3KeD&$EY!QXobiq!bM1E7nj{r$q6JETp*3C!^`5^i;oXjJ@HP-av}$zF5dLTK&c~< zT%crR2ruuCQlBuYqyrj+kd%{IVXH$g2WpKh>j<-h=IKS@8vRpl%@M&}AW7{%9CW$# z^DY4-UyW$1f=3Sxqm>3`qww%CrHh_Vl|(svSN7Q)W1KMi@Vf|9ToB#j-07*qoM6N<$f+oI{VE_OC literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^SAf`ogAGU~X-4`2Db50q$YKTtZeb8+WSBKa0w~B{ z;_2(keve67#M(k^IR`gTXqKmoV@SoVx0f9S85lSY8ywjGJTd9Ki_`mEo<=y9LR|m=