From 1c8b865d89b6cc5fd80e27af6e6b6a69c25da263 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 31 Dec 2013 13:02:53 +0100 Subject: [PATCH 01/61] [Taranis] Support for the 6POS Pots --- radio/src/eeprom_conversions.cpp | 20 +++++++++-- radio/src/gtests.cpp | 4 +-- radio/src/gui/menu_model.cpp | 6 ++-- radio/src/gui/menus.cpp | 10 +++--- radio/src/lcd.cpp | 2 +- radio/src/myeeprom.h | 13 +++++-- radio/src/opentx.cpp | 61 +++++++++++++++++++++----------- radio/src/opentx.h | 6 ++-- radio/src/translations/cz.h.txt | 3 +- radio/src/translations/de.h.txt | 3 +- radio/src/translations/en.h | 3 +- radio/src/translations/es.h.txt | 3 +- radio/src/translations/fr.h.txt | 3 +- radio/src/translations/it.h.txt | 3 +- radio/src/translations/pl.h.txt | 3 +- radio/src/translations/pt.h.txt | 3 +- radio/src/translations/se.h.txt | 3 +- 17 files changed, 101 insertions(+), 48 deletions(-) diff --git a/radio/src/eeprom_conversions.cpp b/radio/src/eeprom_conversions.cpp index 6edb00974..9bff69abf 100644 --- a/radio/src/eeprom_conversions.cpp +++ b/radio/src/eeprom_conversions.cpp @@ -177,6 +177,21 @@ void ConvertGeneralSettings_215_to_216(EEGeneral &settings) settings.version = 216; } +#if defined(PCBTARANIS) +int ConvertSwitch_215_to_216(int swtch) +{ + if (swtch < SWSRC_ON) + return swtch; + else + return swtch + (2*6); // 2 * 6-pos pots added as switches +} +#else +inline int ConvertSwitch_215_to_216(int swtch) +{ + return swtch; +} +#endif + void ConvertModel_215_to_216(ModelData &model) { // Virtual inputs added instead of Expo/DR @@ -188,6 +203,7 @@ void ConvertModel_215_to_216(ModelData &model) // Custom Switches: better precision for x when A comes from telemetry // Main View: altitude in top bar // Mixes: GVARS in weight moved from 512 to 4096 and -512 to -4096, because GVARS may be used in limits [-1250:1250] + // Switches: two 6-pos pots added TRACE("Model conversion from v215 to v216"); @@ -221,7 +237,7 @@ void ConvertModel_215_to_216(ModelData &model) g_model.mixData[i].phases = oldModel.mixData[i].phases; g_model.mixData[i].mltpx = oldModel.mixData[i].mltpx; g_model.mixData[i].weight = oldModel.mixData[i].weight; - g_model.mixData[i].swtch = oldModel.mixData[i].swtch; + g_model.mixData[i].swtch = ConvertSwitch_215_to_216(oldModel.mixData[i].swtch); if (oldModel.mixData[i].curveMode==0/*differential*/) { g_model.mixData[i].curve.type = CURVE_REF_DIFF; g_model.mixData[i].curve.value = oldModel.mixData[i].curveParam; @@ -281,7 +297,7 @@ void ConvertModel_215_to_216(ModelData &model) } g_model.expoData[i].srcRaw = MIXSRC_Rud+chn; g_model.expoData[i].chn = chn; - g_model.expoData[i].swtch = oldModel.expoData[i].swtch; + g_model.expoData[i].swtch = ConvertSwitch_215_to_216(oldModel.expoData[i].swtch); g_model.expoData[i].phases = oldModel.expoData[i].phases; g_model.expoData[i].weight = oldModel.expoData[i].weight; memcpy(&g_model.expoData[i].name, &oldModel.expoData[i].name, LEN_EXPOMIX_NAME); diff --git a/radio/src/gtests.cpp b/radio/src/gtests.cpp index 2b8d8f2e8..fe6cb1a0a 100644 --- a/radio/src/gtests.cpp +++ b/radio/src/gtests.cpp @@ -295,8 +295,8 @@ TEST(FrSkySPORT, checkCrc) TEST(getSwitch, undefCSW) { MODEL_RESET(); - EXPECT_EQ(getSwitch(MAX_PSWITCH), false); - EXPECT_EQ(getSwitch(-MAX_PSWITCH), true); // no good answer there! + EXPECT_EQ(getSwitch(NUM_PSWITCH), false); + EXPECT_EQ(getSwitch(-NUM_PSWITCH), true); // no good answer there! } #endif diff --git a/radio/src/gui/menu_model.cpp b/radio/src/gui/menu_model.cpp index d1f9889fb..c2f472a47 100644 --- a/radio/src/gui/menu_model.cpp +++ b/radio/src/gui/menu_model.cpp @@ -1055,7 +1055,7 @@ void menuModelSetup(uint8_t event) div_t qr = div(timer->start, 60); switch (m_posHorz) { case 0: - CHECK_INCDEC_MODELVAR(event, timer->mode, -2*(MAX_PSWITCH+NUM_CSW), TMR_VAROFS-1+2*(MAX_PSWITCH+NUM_CSW)); + CHECK_INCDEC_MODELVAR(event, timer->mode, -2*(NUM_PSWITCH+NUM_CSW), TMR_VAROFS-1+2*(NUM_PSWITCH+NUM_CSW)); break; case 1: CHECK_INCDEC_MODELVAR_ZERO(event, qr.quot, 59); @@ -1835,7 +1835,7 @@ void menuModelFlightModesAll(uint8_t event) } else { putsSwitches((5+LEN_FP_NAME)*FW+FW/2, y, p->swtch, attr); - if (active) CHECK_INCDEC_MODELSWITCH(event, p->swtch, -MAX_SWITCH, MAX_SWITCH); + if (active) CHECK_INCDEC_MODELSWITCH(event, p->swtch, -NUM_SWITCH, NUM_SWITCH); } break; @@ -4290,7 +4290,7 @@ void menuModelCustomSwitchOne(uint8_t event) case CSW_FIELD_ANDSW: lcd_putsLeft(y, STR_AND_SWITCH); putsSwitches(CSWONE_2ND_COLUMN, y, cs->andsw, attr); - if (attr) CHECK_INCDEC_MODELVAR(event, cs->andsw, -MAX_SWITCH, MAX_SWITCH); + if (attr) CHECK_INCDEC_MODELVAR(event, cs->andsw, -NUM_SWITCH, NUM_SWITCH); break; case CSW_FIELD_DURATION: lcd_putsLeft(y, STR_DURATION); diff --git a/radio/src/gui/menus.cpp b/radio/src/gui/menus.cpp index 5580a998d..69af3f0fa 100644 --- a/radio/src/gui/menus.cpp +++ b/radio/src/gui/menus.cpp @@ -232,13 +232,13 @@ int16_t checkIncDec(uint8_t event, int16_t val, int16_t i_min, int16_t i_max, ui if (event == EVT_KEY_LONG(KEY_ENTER) && i_max > SWSRC_ON) { s_editMode = !s_editMode; if (newval > SWSRC_ON) - newval -= (MAX_SWITCH+1); + newval -= (NUM_SWITCH+1); else if (newval > 0) - newval += (MAX_SWITCH+1); + newval += (NUM_SWITCH+1); else if (newval < SWSRC_OFF) - newval += (MAX_SWITCH+1); + newval += (NUM_SWITCH+1); else if (newval < 0) - newval -= (MAX_SWITCH+1); + newval -= (NUM_SWITCH+1); } } #endif @@ -976,7 +976,7 @@ int8_t switchMenuItem(uint8_t x, uint8_t y, int8_t value, LcdFlags attr, uint8_t { lcd_putsColumnLeft(x, y, STR_SWITCH); putsSwitches(x, y, value, attr); - if (attr) CHECK_INCDEC_MODELSWITCH(event, value, -MAX_SWITCH, MAX_SWITCH); + if (attr) CHECK_INCDEC_MODELSWITCH(event, value, -NUM_SWITCH, NUM_SWITCH); return value; } diff --git a/radio/src/lcd.cpp b/radio/src/lcd.cpp index b8702878d..c02ffd5a0 100644 --- a/radio/src/lcd.cpp +++ b/radio/src/lcd.cpp @@ -1097,7 +1097,7 @@ void putsTmrMode(xcoord_t x, uint8_t y, int8_t mode, LcdFlags att) return; } - if (mode >= TMR_VAROFS+MAX_PSWITCH+NUM_CSW) { + if (mode >= TMR_VAROFS+NUM_PSWITCH+NUM_CSW) { mode++; } diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index 3c49e6f59..5343ef424 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -639,7 +639,7 @@ PACK( union u_int8int16_t { #if defined(CPUARM) #define MAX_CSW_DURATION 120 /*60s*/ #define MAX_CSW_DELAY 120 /*60s*/ -#define MAX_CSW_ANDSW MAX_SWITCH +#define MAX_CSW_ANDSW NUM_SWITCH typedef int16_t csw_telemetry_value_t; PACK(typedef struct t_CustomSwData { // Custom Switches data int16_t v1; @@ -1140,6 +1140,8 @@ enum SwitchSources { #endif SWSRC_FIRST_CSW, + SWSRC_LAST_SWITCH = SWSRC_FIRST_CSW-1, + SWSRC_SW1 = SWSRC_FIRST_CSW, SWSRC_SW2, SWSRC_SW3, @@ -1154,10 +1156,17 @@ enum SwitchSources { SWSRC_SWC, SWSRC_LAST_CSW = SWSRC_SW1+NUM_CSW-1, +#if defined(PCBTARANIS) + SWSRC_P11, + SWSRC_P16 = SWSRC_P11+5, + SWSRC_P21, + SWSRC_P26 = SWSRC_P21+5, +#endif + SWSRC_ON, SWSRC_FIRST_MOMENT_SWITCH, - SWSRC_LAST_MOMENT_SWITCH = SWSRC_FIRST_MOMENT_SWITCH+SWSRC_ON-1, + SWSRC_LAST_MOMENT_SWITCH = SWSRC_FIRST_MOMENT_SWITCH+SWSRC_LAST_CSW, #if !defined(PCBSTD) SWSRC_TRAINER_SHORT, diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index af664925e..d3c6f5e2d 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -1301,6 +1301,8 @@ uint8_t cswStates[NUM_CSW]; #if defined(PCBTARANIS) tmr10ms_t switchesMidposStart[6] = { 0 }; uint32_t switchesPos = 0; +tmr10ms_t potsLastposStart[2]; +uint8_t potsPos[2]; #define DELAY_SWITCH_3POS 10/*100ms*/ #define CHECK_2POS(sw) newPos |= (switchState(sw ## 0) ? (1 << (sw ## 0 - SW_SA0)) : (1 << (sw ## 0 - SW_SA0 + 1))) #define CHECK_3POS(idx, sw) if (switchState(sw ## 0)) { \ @@ -1321,8 +1323,7 @@ uint32_t switchesPos = 0; } \ newPos |= (switchesPos & (0x7 << (sw ## 0 - SW_SA0))); \ } -#define SWITCH_POSITION(sw) (switchesPos & (1<<(sw))) -void get3POSSwitchesPosition() +void getSwitchesPosition() { uint32_t newPos = 0; CHECK_3POS(0, SW_SA); @@ -1334,9 +1335,26 @@ void get3POSSwitchesPosition() CHECK_3POS(5, SW_SG); CHECK_2POS(SW_SH); switchesPos = newPos; + + for (int i=0; i<2; i++) { + int val = RESX + (int16_t)anaIn(POT1+i) + (RESX / 5); + uint8_t pos = limit(0, val / (2*RESX/5), 5); + uint8_t previousPos = potsPos[i] >> 4; + if (pos != previousPos) { + potsLastposStart[i] = get_tmr10ms(); + potsPos[i] = (pos << 4) | (potsPos[i] & 0x0f); + } + else if ((tmr10ms_t)(get_tmr10ms() - potsLastposStart[i]) > DELAY_SWITCH_3POS) { + potsLastposStart[i] = 0; + potsPos[i] = (pos << 4) | (pos); + } + } } +#define SWITCH_POSITION(sw) (switchesPos & (1<<(sw))) +#define POT_POSITION(sw) ((potsPos[(sw)/6] & 0x0f) == ((sw) % 6)) #else -#define get3POSSwitchesPosition() +#define getSwitchesPosition() +#define SWITCH_POSITION(idx) switchState((EnumKeys)(SW_BASE+(idx))) #endif int16_t csLastValue[NUM_CSW]; @@ -1353,15 +1371,16 @@ bool getSwitch(int8_t swtch) if (cs_idx == SWSRC_ON) { result = true; } - else if (cs_idx <= MAX_PSWITCH) { -#if defined(PCBTARANIS) - result = SWITCH_POSITION(cs_idx-SWSRC_SA0); -#else - result = switchState((EnumKeys)(SW_BASE+cs_idx-1)); -#endif + else if (cs_idx <= SWSRC_LAST_SWITCH) { + result = SWITCH_POSITION(cs_idx-SWSRC_FIRST_SWITCH); } +#if defined(PCBTARANIS) + else if (cs_idx >= SWSRC_P11 && cs_idx <= SWSRC_P26) { + result = POT_POSITION(cs_idx-SWSRC_P11); + } +#endif else { - cs_idx -= MAX_PSWITCH+1; + cs_idx -= SWSRC_FIRST_CSW; GETSWITCH_RECURSIVE_TYPE mask = ((GETSWITCH_RECURSIVE_TYPE)1 << cs_idx); if (s_last_switch_used & mask) { @@ -1550,7 +1569,7 @@ int8_t getMovedSwitch() } } #else - for (uint8_t i=MAX_PSWITCH; i>0; i--) { + for (uint8_t i=NUM_PSWITCH; i>0; i--) { bool prev; swstate_t mask = 0; if (i <= 3) { @@ -1562,7 +1581,7 @@ int8_t getMovedSwitch() } bool next = getSwitch(i); if (prev != next) { - if (i!=MAX_PSWITCH || next==true) + if (i!=NUM_PSWITCH || next==true) result = next ? i : -i; if (mask) switches_states ^= mask; @@ -2203,7 +2222,7 @@ void checkSwitches() } #else uint8_t x = 2; - for (uint8_t i=1; i2?(i+1):1+((states>>1)&0x3)), attr); if (i == 1 && attr) i++; @@ -3053,13 +3072,13 @@ void evalFunctions() #endif - if (swtch > MAX_SWITCH+1) { + if (swtch > NUM_SWITCH+1) { momentary = 1; - swtch -= MAX_SWITCH+1; + swtch -= NUM_SWITCH+1; } - if (swtch < -MAX_SWITCH-1) { + if (swtch < -NUM_SWITCH-1) { momentary = 1; - swtch += MAX_SWITCH+1; + swtch += NUM_SWITCH+1; } bool active = getSwitch(swtch); @@ -3684,7 +3703,7 @@ void doMixerCalculations() // therefore forget the exact calculation and use only 1 instead; good compromise lastTMR = tmr10ms; - get3POSSwitchesPosition(); + getSwitchesPosition(); getADC(); @@ -3871,9 +3890,9 @@ void doMixerCalculations() timerState->sum+=val; } - if (atm>=(TMR_VAROFS+MAX_SWITCH)){ // toggeled switch + if (atm>=(TMR_VAROFS+NUM_SWITCH)){ // toggeled switch if(!(timerState->toggled | timerState->sum | timerState->cnt | timerState->lastPos)) { timerState->lastPos = tm < 0; timerState->sum = 1; } // if initializing then init the lastPos - uint8_t swPos = getSwitch(tm>0 ? tm-(TMR_VAROFS+MAX_SWITCH-1) : tm+MAX_SWITCH); + uint8_t swPos = getSwitch(tm>0 ? tm-(TMR_VAROFS+NUM_SWITCH-1) : tm+NUM_SWITCH); if (swPos && !timerState->lastPos) timerState->toggled = !timerState->toggled; // if switch is flipped first time -> change counter state timerState->lastPos = swPos; } @@ -3910,7 +3929,7 @@ void doMixerCalculations() newTimerVal++; } else { - if (atm<(TMR_VAROFS+MAX_SWITCH)) + if (atm<(TMR_VAROFS+NUM_SWITCH)) timerState->toggled = tm>0 ? getSwitch(tm-(TMR_VAROFS-1)) : !getSwitch(-tm); // normal switch if (timerState->toggled) newTimerVal++; diff --git a/radio/src/opentx.h b/radio/src/opentx.h index 1ce0294b7..b432a53c0 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -376,8 +376,8 @@ enum EnumKeys { #if defined(PCBTARANIS) #define NUM_SWITCHES 8 #define IS_3POS(sw) ((sw) != 5 && (sw) != 7) - #define MAX_PSWITCH (SW_SH2-SW_SA0+1) #define NUM_POTS 4 + #define NUM_POTSSW (2*6) #define NUM_SW_SRCRAW 8 #define SWSRC_THR SWSRC_SF2 #define SWSRC_GEA SWSRC_SG2 @@ -389,13 +389,13 @@ enum EnumKeys { #define NUM_SWITCHES 7 #define IS_3POS(sw) ((sw) == 0) #define IS_MOMENTARY(sw) (sw == SWSRC_TRN) - #define MAX_PSWITCH (SW_TRN-SW_ID0+1) // 9 physical switches #define NUM_POTS 3 #define NUM_SW_SRCRAW 1 #define SW_DSM2_BIND SW_TRN #endif -#define MAX_SWITCH (MAX_PSWITCH+NUM_CSW) +#define NUM_PSWITCH (SWSRC_LAST_SWITCH-SWSRC_FIRST_SWITCH+1) +#define NUM_SWITCH (NUM_PSWITCH+NUM_CSW+NUM_POTSSW) #if defined(PCBTARANIS) #define KEY_RIGHT KEY_PLUS diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 145783ff3..379444d0e 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -322,7 +322,8 @@ #endif #if defined(PCBTARANIS) - #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW "*1 " + #define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26" + #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS "*1 " #else #define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_CUSTOMSW "*1 " #endif diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 8023eaf06..88490ce12 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -322,7 +322,8 @@ #endif #if defined(PCBTARANIS) - #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW "ONE" + #define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26" + #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS "ONE" #else #define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_CUSTOMSW "ONE" #endif diff --git a/radio/src/translations/en.h b/radio/src/translations/en.h index 62876daf9..80f25935a 100644 --- a/radio/src/translations/en.h +++ b/radio/src/translations/en.h @@ -322,7 +322,8 @@ #endif #if defined(PCBTARANIS) - #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW "One" + #define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26" + #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS "One" #else #define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_CUSTOMSW "One" #endif diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 11f626168..b689918f6 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -322,7 +322,8 @@ #endif #if defined(PCBTARANIS) - #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW "Uno" + #define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26" + #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS "Uno" #else #define TR_VSWITCHES TR_9X_3POS_SWITCHES "ACE""DIR""ELE""ALE""GEA""TRN" TR_CUSTOMSW "Uno" #endif diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 652776e6e..470b08b91 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -322,7 +322,8 @@ #endif #if defined(PCBTARANIS) - #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW "1*\0" + #define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26" + #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS "1*\0" #else #define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_CUSTOMSW "1*\0" #endif diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 3a2c62fca..20033e41c 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -322,7 +322,8 @@ #endif #if defined(PCBTARANIS) - #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW "One" + #define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26" + #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS "1*\0" #else #define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_CUSTOMSW "One" #endif diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 5525754ed..9cb38c672 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -323,7 +323,8 @@ #endif #if defined(PCBTARANIS) - #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW " * " + #define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26" + #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS " * " #else #define TR_VSWITCHES TR_9X_3POS_SWITCHES "GAZ""SK ""LOT""SW ""GEA""TRN" TR_CUSTOMSW " * " #endif diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 691c840af..7361bb86f 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -322,7 +322,8 @@ #endif #if defined(PCBTARANIS) - #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW "1*\0" + #define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26" + #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS "1*\0" #else #define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_CUSTOMSW "1*\0" #endif diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 68de29549..71e5ede3f 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -322,7 +322,8 @@ #endif #if defined(PCBTARANIS) - #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW "One" + #define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26" + #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS "One" #else #define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_CUSTOMSW "One" #endif From 33eeb4cc64d9138825e209dd6f57717dc1ba7276 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Thu, 2 Jan 2014 12:38:18 +0100 Subject: [PATCH 02/61] [all] Compilation was broken except for Taranis :( --- radio/src/opentx.h | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/radio/src/opentx.h b/radio/src/opentx.h index b432a53c0..501ea65a8 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -390,6 +390,7 @@ enum EnumKeys { #define IS_3POS(sw) ((sw) == 0) #define IS_MOMENTARY(sw) (sw == SWSRC_TRN) #define NUM_POTS 3 + #define NUM_POTSSW 0 #define NUM_SW_SRCRAW 1 #define SW_DSM2_BIND SW_TRN #endif @@ -398,14 +399,14 @@ enum EnumKeys { #define NUM_SWITCH (NUM_PSWITCH+NUM_CSW+NUM_POTSSW) #if defined(PCBTARANIS) -#define KEY_RIGHT KEY_PLUS -#define KEY_LEFT KEY_MINUS -#define KEY_UP KEY_PLUS -#define KEY_DOWN KEY_MINUS + #define KEY_RIGHT KEY_PLUS + #define KEY_LEFT KEY_MINUS + #define KEY_UP KEY_PLUS + #define KEY_DOWN KEY_MINUS #else -#define KEY_ENTER KEY_MENU -#define KEY_PLUS KEY_RIGHT -#define KEY_MINUS KEY_LEFT + #define KEY_ENTER KEY_MENU + #define KEY_PLUS KEY_RIGHT + #define KEY_MINUS KEY_LEFT #endif #include "myeeprom.h" From e4b3b3af850ea87509926d7f0cd4eb229315c68c Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Mon, 6 Jan 2014 11:52:05 +0100 Subject: [PATCH 03/61] [Taranis] Automatic detection of the 6pos switch within the calibration process --- radio/src/gui/menu_general.cpp | 61 +++++++++++++++++++++++++----- radio/src/gui/menus.cpp | 9 ++++- radio/src/myeeprom.h | 27 +++++++++++-- radio/src/opentx.cpp | 69 +++++++++++++++++++++++----------- radio/src/opentx.h | 9 ++++- 5 files changed, 137 insertions(+), 38 deletions(-) diff --git a/radio/src/gui/menu_general.cpp b/radio/src/gui/menu_general.cpp index e6b7956ca..78d56bc2c 100644 --- a/radio/src/gui/menu_general.cpp +++ b/radio/src/gui/menu_general.cpp @@ -1241,16 +1241,37 @@ void menuGeneralHardware(uint8_t event) void menuCommonCalib(uint8_t event) { - for (uint8_t i=0; i= NUM_STICKS && i < NUM_STICKS+NUM_POTS-2) { -#else - if (i >= NUM_STICKS) { -#endif + if (i >= POT1 && i <= POT_LAST) { reusableBuffer.calib.midVals[i] = (reusableBuffer.calib.hiVals[i] + reusableBuffer.calib.loVals[i]) / 2; +#if defined(PCBTARANIS) + uint8_t idx = i - POT1; + int count = reusableBuffer.calib.xpotsPositionsCount[idx]; + if (count <= 6) { + bool found = false; + for (int j=0; j reusableBuffer.calib.xpotsPositions[idx][j][0]-20 && vt < reusableBuffer.calib.xpotsPositions[idx][j][0]+20) { + reusableBuffer.calib.xpotsPositions[idx][j][0] = min(vt, reusableBuffer.calib.xpotsPositions[idx][j][0]); + reusableBuffer.calib.xpotsPositions[idx][j][1] = max(vt, reusableBuffer.calib.xpotsPositions[idx][j][1]); + if (reusableBuffer.calib.xpotsPositions[idx][j][1] - reusableBuffer.calib.xpotsPositions[idx][j][0] > 50) { + reusableBuffer.calib.xpotsPositionsCount[idx] = 255; + } + found = true; + break; + } + } + if (!found) { + if (count < 6) { + reusableBuffer.calib.xpotsPositions[idx][count][0] = vt; + reusableBuffer.calib.xpotsPositions[idx][count][1] = vt; + } + reusableBuffer.calib.xpotsPositionsCount[idx] += 1; + } + } +#endif } } @@ -1284,6 +1305,11 @@ void menuCommonCalib(uint8_t event) reusableBuffer.calib.loVals[i] = 15000; reusableBuffer.calib.hiVals[i] = -15000; reusableBuffer.calib.midVals[i] = anaIn(i); +#if defined(PCBTARANIS) + if (i50) { - g_eeGeneral.calibMid[i] = reusableBuffer.calib.midVals[i]; +#if defined(PCBTARANIS) + if (i>=POT1 && i<=POT_LAST && reusableBuffer.calib.xpotsPositionsCount[i-POT1] > 1) { + g_eeGeneral.potsType &= ~(1 << (i-POT1)); + if (reusableBuffer.calib.xpotsPositionsCount[i-POT1] <= 6) { + StepsCalibData * calib = (StepsCalibData *) &g_eeGeneral.calib[i]; + calib->count = reusableBuffer.calib.xpotsPositionsCount[i-POT1]-1; + for (int j=0; jcount-1; j++) { + calib->steps[i] = (reusableBuffer.calib.xpotsPositions[i-POT1][j+1][0] + reusableBuffer.calib.xpotsPositions[i-POT1][j][1]) / 2; + } + g_eeGeneral.potsType |= (1 << (i-POT1)); + } + } + else +#endif + if (abs(reusableBuffer.calib.loVals[i]-reusableBuffer.calib.hiVals[i]) > 50) { + g_eeGeneral.calib[i].mid = reusableBuffer.calib.midVals[i]; int16_t v = reusableBuffer.calib.midVals[i] - reusableBuffer.calib.loVals[i]; - g_eeGeneral.calibSpanNeg[i] = v - v/STICK_TOLERANCE; + g_eeGeneral.calib[i].spanNeg = v - v/STICK_TOLERANCE; v = reusableBuffer.calib.hiVals[i] - reusableBuffer.calib.midVals[i]; - g_eeGeneral.calibSpanPos[i] = v - v/STICK_TOLERANCE; + g_eeGeneral.calib[i].spanPos = v - v/STICK_TOLERANCE; } } break; @@ -1316,6 +1356,7 @@ void menuCommonCalib(uint8_t event) } doMainScreenGraphics(); + #if defined(PCBTARANIS) drawPotsBars(); #endif diff --git a/radio/src/gui/menus.cpp b/radio/src/gui/menus.cpp index 69af3f0fa..9feed0435 100644 --- a/radio/src/gui/menus.cpp +++ b/radio/src/gui/menus.cpp @@ -1263,7 +1263,14 @@ bool isSwitchAvailable(int16_t swtch) swtch = -swtch; } - if (swtch>=SWSRC_FIRST_CSW && swtch<=SWSRC_LAST_CSW) { +#if defined(PCBTARANIS) + if (swtch >= SWSRC_P11 && swtch <= SWSRC_P26) { + int index = (swtch - SWSRC_P11) / 6; + return (g_eeGeneral.potsType & (1<= SWSRC_FIRST_CSW && swtch <= SWSRC_LAST_CSW) { CustomSwData * cs = cswAddress(swtch-SWSRC_FIRST_CSW); return (cs->func != CS_OFF); } diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index 5343ef424..9a8dbb803 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -221,7 +221,7 @@ enum BeeperMode { }; #if defined(CPUARM) - #define EXTRA_GENERAL_FIELDS \ + #define EXTRA_GENERAL_FIELDS_ARM \ uint8_t backlightBright; \ int8_t currentCalib; \ int8_t temperatureWarn; \ @@ -240,6 +240,14 @@ enum BeeperMode { int8_t wavVolume; \ int8_t varioVolume; \ int8_t backgroundVolume; +#endif + +#if defined(PCBTARANIS) +#define EXTRA_GENERAL_FIELDS \ + EXTRA_GENERAL_FIELDS_ARM \ + uint8_t potsType; +#elif defined(CPUARM) + #define EXTRA_GENERAL_FIELDS EXTRA_GENERAL_FIELDS_ARM #elif defined(PXX) #define EXTRA_GENERAL_FIELDS uint8_t countryCode; #else @@ -303,13 +311,24 @@ enum BacklightMode { #define SPLASH_MODE uint8_t splashMode:1; uint8_t spare4:2 #endif +#if defined(PCBTARANIS) +PACK(typedef struct { + int8_t count; + int8_t steps[5]; +}) StepsCalibData; +#endif + +PACK(typedef struct { + int16_t mid; + int16_t spanNeg; + int16_t spanPos; +}) CalibData; + #define ALTERNATE_VIEW 0x10 PACK(typedef struct t_EEGeneral { uint8_t version; uint16_t variant; - int16_t calibMid[NUM_STICKS+NUM_POTS]; - int16_t calibSpanNeg[NUM_STICKS+NUM_POTS]; - int16_t calibSpanPos[NUM_STICKS+NUM_POTS]; + CalibData calib[NUM_STICKS+NUM_POTS]; uint16_t chkSum; int8_t currModel; uint8_t contrast; diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index d3c6f5e2d..0e07afb1d 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -503,7 +503,7 @@ void generalDefault() uint16_t evalChkSum() { uint16_t sum = 0; - const int16_t *calibValues = &g_eeGeneral.calibMid[0]; + const int16_t *calibValues = (const int16_t *) &g_eeGeneral.calib[0]; for (int i=0; i(0, val / (2*RESX/5), 5); - uint8_t previousPos = potsPos[i] >> 4; - if (pos != previousPos) { - potsLastposStart[i] = get_tmr10ms(); - potsPos[i] = (pos << 4) | (potsPos[i] & 0x0f); - } - else if ((tmr10ms_t)(get_tmr10ms() - potsLastposStart[i]) > DELAY_SWITCH_3POS) { - potsLastposStart[i] = 0; - potsPos[i] = (pos << 4) | (pos); + for (int i=0; icount>0 && calib->count<6) { + uint8_t pos = calib->count; + int v = (int16_t)anaIn(POT1+i); + for (int j=0; jcount; j++) { + if (v < calib->steps[j]) { + pos = j; + break; + } + } + uint8_t previousPos = potsPos[i] >> 4; + if (pos != previousPos) { + potsLastposStart[i] = get_tmr10ms(); + potsPos[i] = (pos << 4) | (potsPos[i] & 0x0f); + } + else if ((tmr10ms_t)(get_tmr10ms() - potsLastposStart[i]) > DELAY_SWITCH_3POS) { + potsLastposStart[i] = 0; + potsPos[i] = (pos << 4) | (pos); + } + } } } } @@ -2156,8 +2167,9 @@ void checkTHR() int16_t lowLim = THRCHK_DEADBAND - 1024 ; #else getADC(); // if thr is down - do not display warning at all - int16_t lowLim = g_eeGeneral.calibMid[thrchn]; - lowLim = (g_model.throttleReversed ? - lowLim - g_eeGeneral.calibSpanPos[thrchn] : lowLim - g_eeGeneral.calibSpanNeg[thrchn]); + CalibData * calib = &g_eeGeneral.calib[thrchn]; + int16_t lowLim = calib->mid; + lowLim = (g_model.throttleReversed ? - lowLim - calib->spanPos : lowLim - calib->spanNeg); lowLim += THRCHK_DEADBAND; #endif int16_t v = thrAnaIn(thrchn); @@ -2495,7 +2507,23 @@ void getADC() } for (uint32_t x=0; x> 3; + uint16_t v = temp[x] >> 3; +#if defined(PCBTARANIS) + StepsCalibData * calib = (StepsCalibData *) &g_eeGeneral.calib[x]; + if (x >= POT1 && x <= POT_LAST && (g_eeGeneral.potsType & (1<<(x-POT1))) && calib->count>0 && calib->count<6) { + for (int i=0; i<=calib->count; i++) { + if (i == calib->count) { + s_anaFilt[x] = RESX; + } + else if (v < calib->steps[i]) { + s_anaFilt[x] = -RESX + i*2*RESX/calib->count; + break; + } + } + } + else +#endif + s_anaFilt[x] = v; } } #else @@ -2743,10 +2771,9 @@ void evalInputs(uint8_t mode) #ifndef SIMU if (i < NUM_STICKS+NUM_POTS) { - v -= g_eeGeneral.calibMid[i]; - v = v * (int32_t)RESX / (max((int16_t)100,(v>0 ? - g_eeGeneral.calibSpanPos[i] : - g_eeGeneral.calibSpanNeg[i]))); + CalibData * calib = &g_eeGeneral.calib[i]; + v -= calib->mid; + v = v * (int32_t)RESX / (max((int16_t)100, (v>0 ? calib->spanPos : calib->spanNeg))); } #endif diff --git a/radio/src/opentx.h b/radio/src/opentx.h index 501ea65a8..d12bf7edd 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -377,7 +377,7 @@ enum EnumKeys { #define NUM_SWITCHES 8 #define IS_3POS(sw) ((sw) != 5 && (sw) != 7) #define NUM_POTS 4 - #define NUM_POTSSW (2*6) + #define NUM_XPOTS 2 #define NUM_SW_SRCRAW 8 #define SWSRC_THR SWSRC_SF2 #define SWSRC_GEA SWSRC_SG2 @@ -390,12 +390,13 @@ enum EnumKeys { #define IS_3POS(sw) ((sw) == 0) #define IS_MOMENTARY(sw) (sw == SWSRC_TRN) #define NUM_POTS 3 - #define NUM_POTSSW 0 + #define NUM_XPOTS 0 #define NUM_SW_SRCRAW 1 #define SW_DSM2_BIND SW_TRN #endif #define NUM_PSWITCH (SWSRC_LAST_SWITCH-SWSRC_FIRST_SWITCH+1) +#define NUM_POTSSW (NUM_XPOTS*6) #define NUM_SWITCH (NUM_PSWITCH+NUM_CSW+NUM_POTSSW) #if defined(PCBTARANIS) @@ -1042,12 +1043,14 @@ enum Analogs { #if defined(PCBTARANIS) POT1, POT2, + POT_LAST = POT2, SLIDER1, SLIDER2, #else POT1, POT2, POT3, + POT_LAST = POT3, #endif TX_VOLTAGE, #if defined(PCBSKY9X) && !defined(REVA) @@ -1565,6 +1568,8 @@ union ReusableBuffer int16_t loVals[NUM_STICKS+NUM_POTS]; int16_t hiVals[NUM_STICKS+NUM_POTS]; uint8_t state; + uint8_t xpotsPositionsCount[NUM_XPOTS]; + int16_t xpotsPositions[NUM_XPOTS][6][2]; } calib; #if defined(SDCARD) From 1dff05dc0222fd80924420982c0185084988915a Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 8 Jan 2014 12:08:33 +0100 Subject: [PATCH 04/61] User scripts ignored --- radio/src/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/radio/src/.gitignore b/radio/src/.gitignore index 31c048a1d..0f2d1136d 100644 --- a/radio/src/.gitignore +++ b/radio/src/.gitignore @@ -6,3 +6,4 @@ /opentx.map /simu.d /snapshot_*.png +/*.sh From a292fabb02dfae6a4c3f474f7d2e8f4c885832be Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Sun, 12 Jan 2014 12:57:14 +0100 Subject: [PATCH 05/61] [Taranis] 6Pos switch support is now ok. Calibration is automatic. More tests needed --- radio/src/gui/menu_general.cpp | 59 ++++++++++++++++++++++++---------- radio/src/gui/menus.cpp | 10 ++++-- radio/src/gui/view_main.cpp | 6 ++-- radio/src/myeeprom.h | 5 +-- radio/src/opentx.cpp | 53 +++++++++++++++++------------- radio/src/opentx.h | 7 ++++ 6 files changed, 94 insertions(+), 46 deletions(-) diff --git a/radio/src/gui/menu_general.cpp b/radio/src/gui/menu_general.cpp index 78d56bc2c..766d05d8b 100644 --- a/radio/src/gui/menu_general.cpp +++ b/radio/src/gui/menu_general.cpp @@ -1250,13 +1250,13 @@ void menuCommonCalib(uint8_t event) #if defined(PCBTARANIS) uint8_t idx = i - POT1; int count = reusableBuffer.calib.xpotsPositionsCount[idx]; - if (count <= 6) { + if (count <= POTS_POS_COUNT) { bool found = false; for (int j=0; j reusableBuffer.calib.xpotsPositions[idx][j][0]-20 && vt < reusableBuffer.calib.xpotsPositions[idx][j][0]+20) { + if (vt > reusableBuffer.calib.xpotsPositions[idx][j][0]-10 && vt < reusableBuffer.calib.xpotsPositions[idx][j][0]+10) { reusableBuffer.calib.xpotsPositions[idx][j][0] = min(vt, reusableBuffer.calib.xpotsPositions[idx][j][0]); reusableBuffer.calib.xpotsPositions[idx][j][1] = max(vt, reusableBuffer.calib.xpotsPositions[idx][j][1]); - if (reusableBuffer.calib.xpotsPositions[idx][j][1] - reusableBuffer.calib.xpotsPositions[idx][j][0] > 50) { + if (reusableBuffer.calib.xpotsPositions[idx][j][1] - reusableBuffer.calib.xpotsPositions[idx][j][0] > 20) { reusableBuffer.calib.xpotsPositionsCount[idx] = 255; } found = true; @@ -1301,6 +1301,10 @@ void menuCommonCalib(uint8_t event) lcd_putsAtt(0*FW, 2*FH, STR_SETMIDPOINT, s_noScroll ? INVERS : 0); lcd_putsLeft(3*FH, STR_MENUWHENDONE); +#if defined(PCBTARANIS) + g_eeGeneral.potsType = 0; +#endif + for (uint8_t i=0; i=POT1 && i<=POT_LAST && reusableBuffer.calib.xpotsPositionsCount[i-POT1] > 1) { - g_eeGeneral.potsType &= ~(1 << (i-POT1)); - if (reusableBuffer.calib.xpotsPositionsCount[i-POT1] <= 6) { - StepsCalibData * calib = (StepsCalibData *) &g_eeGeneral.calib[i]; - calib->count = reusableBuffer.calib.xpotsPositionsCount[i-POT1]-1; - for (int j=0; jcount-1; j++) { - calib->steps[i] = (reusableBuffer.calib.xpotsPositions[i-POT1][j+1][0] + reusableBuffer.calib.xpotsPositions[i-POT1][j][1]) / 2; - } - g_eeGeneral.potsType |= (1 << (i-POT1)); - } - } - else -#endif if (abs(reusableBuffer.calib.loVals[i]-reusableBuffer.calib.hiVals[i]) > 50) { g_eeGeneral.calib[i].mid = reusableBuffer.calib.midVals[i]; int16_t v = reusableBuffer.calib.midVals[i] - reusableBuffer.calib.loVals[i]; @@ -1345,6 +1335,28 @@ void menuCommonCalib(uint8_t event) break; case 3: +#if defined(PCBTARANIS) + for (uint8_t i=POT1; i<=POT_LAST; i++) { + int idx = i - POT1; + int count = reusableBuffer.calib.xpotsPositionsCount[idx]; + if (count > 1 && count <= POTS_POS_COUNT) { + for (int j=0; jcount = count - 1; + for (int j=0; jcount; j++) { + calib->steps[j] = (reusableBuffer.calib.xpotsPositions[idx][j+1][0] + reusableBuffer.calib.xpotsPositions[idx][j][1]) >> 5; + } + } + } +#endif g_eeGeneral.chkSum = evalChkSum(); eeDirty(EE_GENERAL); reusableBuffer.calib.state = 4; @@ -1359,6 +1371,19 @@ void menuCommonCalib(uint8_t event) #if defined(PCBTARANIS) drawPotsBars(); + for (int i=POT1; i<=POT_LAST; i++) { + uint8_t steps = 0; + if (reusableBuffer.calib.state == 2) { + steps = reusableBuffer.calib.xpotsPositionsCount[i-POT1]; + } + else if (IS_MULTIPOS_POT(i)) { + StepsCalibData * calib = (StepsCalibData *) &g_eeGeneral.calib[i]; + steps = calib->count + 1; + } + if (steps > 0 && steps <= POTS_POS_COUNT) { + lcd_outdezAtt(LCD_W/2-2+(i-POT1)*5, LCD_H-6, steps, TINSIZE); + } + } #endif } diff --git a/radio/src/gui/menus.cpp b/radio/src/gui/menus.cpp index 9feed0435..9277f05b3 100644 --- a/radio/src/gui/menus.cpp +++ b/radio/src/gui/menus.cpp @@ -1265,8 +1265,14 @@ bool isSwitchAvailable(int16_t swtch) #if defined(PCBTARANIS) if (swtch >= SWSRC_P11 && swtch <= SWSRC_P26) { - int index = (swtch - SWSRC_P11) / 6; - return (g_eeGeneral.potsType & (1<count >= ((swtch - SWSRC_P11) % POTS_POS_COUNT)); + } + else { + return false; + } } #endif diff --git a/radio/src/gui/view_main.cpp b/radio/src/gui/view_main.cpp index 51465631d..930119fbd 100644 --- a/radio/src/gui/view_main.cpp +++ b/radio/src/gui/view_main.cpp @@ -120,9 +120,9 @@ void drawPotsBars() { // Optimization by Mike Blandford - uint8_t x, y, len ; // declare temporary variables - for (x=LCD_W/2-5, y=NUM_STICKS; ycount>0 && calib->count<6) { - uint8_t pos = calib->count; - int v = (int16_t)anaIn(POT1+i); - for (int j=0; jcount; j++) { - if (v < calib->steps[j]) { - pos = j; - break; - } - } + if (calib->count>0 && calib->countcount); uint8_t previousPos = potsPos[i] >> 4; if (pos != previousPos) { potsLastposStart[i] = get_tmr10ms(); @@ -1360,9 +1354,10 @@ void getSwitchesPosition() } } } +#endif } #define SWITCH_POSITION(sw) (switchesPos & (1<<(sw))) -#define POT_POSITION(sw) ((potsPos[(sw)/6] & 0x0f) == ((sw) % 6)) +#define POT_POSITION(sw) ((potsPos[(sw)/POTS_POS_COUNT] & 0x0f) == ((sw) % POTS_POS_COUNT)) #else #define getSwitchesPosition() #define SWITCH_POSITION(idx) switchState((EnumKeys)(SW_BASE+(idx))) @@ -2502,6 +2497,15 @@ void getADC() for (uint32_t i=0; i<4; i++) { adcRead(); for (uint32_t x=0; x=POT1 && x<=POT2 && temp[x]!=Analog_values[x]) { + i = 0; + } + temp[x] = Analog_values[x]; + } + else +#endif temp[x] += Analog_values[x]; } } @@ -2509,14 +2513,14 @@ void getADC() for (uint32_t x=0; x> 3; #if defined(PCBTARANIS) + if (s_noScroll) v = temp[x] >> 1; StepsCalibData * calib = (StepsCalibData *) &g_eeGeneral.calib[x]; - if (x >= POT1 && x <= POT_LAST && (g_eeGeneral.potsType & (1<<(x-POT1))) && calib->count>0 && calib->count<6) { - for (int i=0; i<=calib->count; i++) { - if (i == calib->count) { - s_anaFilt[x] = RESX; - } - else if (v < calib->steps[i]) { - s_anaFilt[x] = -RESX + i*2*RESX/calib->count; + if (IS_MULTIPOS_POT(x) && calib->count>0 && calib->count> 4); + s_anaFilt[x] = 2*RESX; + for (int i=0; icount; i++) { + if (vShifted < calib->steps[i]) { + s_anaFilt[x] = i*2*RESX/calib->count; break; } } @@ -2771,9 +2775,14 @@ void evalInputs(uint8_t mode) #ifndef SIMU if (i < NUM_STICKS+NUM_POTS) { - CalibData * calib = &g_eeGeneral.calib[i]; - v -= calib->mid; - v = v * (int32_t)RESX / (max((int16_t)100, (v>0 ? calib->spanPos : calib->spanNeg))); + if (IS_MULTIPOS_POT(i)) { + v -= RESX; + } + else { + CalibData * calib = &g_eeGeneral.calib[i]; + v -= calib->mid; + v = v * (int32_t)RESX / (max((int16_t)100, (v>0 ? calib->spanPos : calib->spanNeg))); + } } #endif @@ -3730,10 +3739,10 @@ void doMixerCalculations() // therefore forget the exact calculation and use only 1 instead; good compromise lastTMR = tmr10ms; - getSwitchesPosition(); - getADC(); + getSwitchesPosition(); + #if defined(PCBSKY9X) && !defined(REVA) && !defined(SIMU) Current_analogue = (Current_analogue*31 + s_anaFilt[8] ) >> 5 ; if (Current_analogue > Current_max) diff --git a/radio/src/opentx.h b/radio/src/opentx.h index d12bf7edd..ead6c7fc2 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -412,6 +412,12 @@ enum EnumKeys { #include "myeeprom.h" +#if defined(PCBTARANIS) + #define IS_MULTIPOS_POT(x) ((x)>=POT1 && (x)<=POT_LAST && (g_eeGeneral.potsType & (1 << ((x)-POT1)))) +#else + #define IS_MULTIPOS_POT(x) (false) +#endif + #if ROTARY_ENCODERS > 0 #define IF_ROTARY_ENCODERS(x) x, #else @@ -1098,6 +1104,7 @@ template FORCEINLINE t min(t a, t b) { return a FORCEINLINE t max(t a, t b) { return a>b?a:b; } template FORCEINLINE t sgn(t a) { return a>0 ? 1 : (a < 0 ? -1 : 0); } template FORCEINLINE t limit(t mi, t x, t ma) { return min(max(mi,x),ma); } +template void swap(t & a, t & b) { t tmp = b; b = a; a = tmp; } #if defined(HELI) || defined(FRSKY_HUB) uint16_t isqrt32(uint32_t n); From b4c6d123c841d10acdc752fa688817821abb354a Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 15 Jan 2014 21:15:28 +0100 Subject: [PATCH 06/61] Better implementation for the automatic detection of a 6pos switch --- radio/src/gui/menu_general.cpp | 53 +++++++++++++++++++--------------- radio/src/opentx.cpp | 12 ++------ radio/src/opentx.h | 10 +++++-- 3 files changed, 40 insertions(+), 35 deletions(-) diff --git a/radio/src/gui/menu_general.cpp b/radio/src/gui/menu_general.cpp index 766d05d8b..242b7f0fa 100644 --- a/radio/src/gui/menu_general.cpp +++ b/radio/src/gui/menu_general.cpp @@ -1238,6 +1238,7 @@ void menuGeneralHardware(uint8_t event) } #endif +#define XPOT_DELTA 5 void menuCommonCalib(uint8_t event) { @@ -1249,26 +1250,30 @@ void menuCommonCalib(uint8_t event) reusableBuffer.calib.midVals[i] = (reusableBuffer.calib.hiVals[i] + reusableBuffer.calib.loVals[i]) / 2; #if defined(PCBTARANIS) uint8_t idx = i - POT1; - int count = reusableBuffer.calib.xpotsPositionsCount[idx]; + int count = reusableBuffer.calib.xpotsCalib[idx].stepsCount; if (count <= POTS_POS_COUNT) { - bool found = false; - for (int j=0; j reusableBuffer.calib.xpotsPositions[idx][j][0]-10 && vt < reusableBuffer.calib.xpotsPositions[idx][j][0]+10) { - reusableBuffer.calib.xpotsPositions[idx][j][0] = min(vt, reusableBuffer.calib.xpotsPositions[idx][j][0]); - reusableBuffer.calib.xpotsPositions[idx][j][1] = max(vt, reusableBuffer.calib.xpotsPositions[idx][j][1]); - if (reusableBuffer.calib.xpotsPositions[idx][j][1] - reusableBuffer.calib.xpotsPositions[idx][j][0] > 20) { - reusableBuffer.calib.xpotsPositionsCount[idx] = 255; - } - found = true; - break; - } + if (reusableBuffer.calib.xpotsCalib[idx].lastCount == 0 || vt < reusableBuffer.calib.xpotsCalib[idx].lastPosition - XPOT_DELTA || vt > reusableBuffer.calib.xpotsCalib[idx].lastPosition + XPOT_DELTA) { + reusableBuffer.calib.xpotsCalib[idx].lastPosition = vt; + reusableBuffer.calib.xpotsCalib[idx].lastCount = 1; } - if (!found) { - if (count < 6) { - reusableBuffer.calib.xpotsPositions[idx][count][0] = vt; - reusableBuffer.calib.xpotsPositions[idx][count][1] = vt; + else { + if (reusableBuffer.calib.xpotsCalib[idx].lastCount < 255) reusableBuffer.calib.xpotsCalib[idx].lastCount++; + } + if (reusableBuffer.calib.xpotsCalib[idx].lastCount == 8/*80ms*/) { + int16_t position = reusableBuffer.calib.xpotsCalib[idx].lastPosition; + bool found = false; + for (int j=0; j= reusableBuffer.calib.xpotsCalib[idx].steps[j]-XPOT_DELTA && position <= reusableBuffer.calib.xpotsCalib[idx].steps[j]+XPOT_DELTA) { + found = true; + break; + } + } + if (!found) { + if (count < POTS_POS_COUNT) { + reusableBuffer.calib.xpotsCalib[idx].steps[count] = position; + } + reusableBuffer.calib.xpotsCalib[idx].stepsCount += 1; } - reusableBuffer.calib.xpotsPositionsCount[idx] += 1; } } #endif @@ -1311,7 +1316,8 @@ void menuCommonCalib(uint8_t event) reusableBuffer.calib.midVals[i] = anaIn(i); #if defined(PCBTARANIS) if (i 1 && count <= POTS_POS_COUNT) { for (int j=0; jcount = count - 1; for (int j=0; jcount; j++) { - calib->steps[j] = (reusableBuffer.calib.xpotsPositions[idx][j+1][0] + reusableBuffer.calib.xpotsPositions[idx][j][1]) >> 5; + calib->steps[j] = (reusableBuffer.calib.xpotsCalib[idx].steps[j+1] + reusableBuffer.calib.xpotsCalib[idx].steps[j]) >> 5; } } } @@ -1374,7 +1379,7 @@ void menuCommonCalib(uint8_t event) for (int i=POT1; i<=POT_LAST; i++) { uint8_t steps = 0; if (reusableBuffer.calib.state == 2) { - steps = reusableBuffer.calib.xpotsPositionsCount[i-POT1]; + steps = reusableBuffer.calib.xpotsCalib[i-POT1].stepsCount; } else if (IS_MULTIPOS_POT(i)) { StepsCalibData * calib = (StepsCalibData *) &g_eeGeneral.calib[i]; diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 2e7fb6d8f..6923ecdce 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -2497,17 +2497,11 @@ void getADC() for (uint32_t i=0; i<4; i++) { adcRead(); for (uint32_t x=0; x=POT1 && x<=POT2 && temp[x]!=Analog_values[x]) { - i = 0; - } - temp[x] = Analog_values[x]; - } - else -#endif temp[x] += Analog_values[x]; } +#if defined(PCBTARANIS) + if (s_noScroll) break; +#endif } for (uint32_t x=0; x Date: Mon, 27 Jan 2014 09:35:00 +0100 Subject: [PATCH 07/61] [Taranis] Inputs / Mixes now correctly created on a fresh model --- radio/src/templates.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/radio/src/templates.cpp b/radio/src/templates.cpp index a4cd243a5..aad22a8c1 100644 --- a/radio/src/templates.cpp +++ b/radio/src/templates.cpp @@ -64,8 +64,9 @@ MixData* setDest(uint8_t dch, uint8_t src, bool clear=false) while (1) { mix = mixAddress(i); if (mix->srcRaw && mix->destCh <= dch) { - if (clear && mix->destCh == dch) + if (clear && mix->destCh == dch) { deleteExpoMix(0, i); + } else { if (++i==MAX_MIXERS) { // TODO should return null pointer but needs to be tested then @@ -106,10 +107,14 @@ void defaultInputs() clearInputs(); for (int i=0; isrcRaw = MIXSRC_Rud - 1 + stick_index; + expo->curve.type = CURVE_REF_EXPO; + expo->chn = i; + expo->weight = 100; for (int c=0; c<4; c++) { - g_model.inputNames[i][c] = char2idx(STR_VSRCRAW[1+STR_VSRCRAW[0]*(expoAddress(i)->srcRaw-MIXSRC_Rud+1)+c]); + g_model.inputNames[i][c] = char2idx(STR_VSRCRAW[1+STR_VSRCRAW[0]*stick_index+c]); } } eeDirty(EE_MODEL); @@ -163,7 +168,7 @@ void applyTemplate(uint8_t idx) uint8_t icc[4] = {0}; for (uint8_t i=0; i<4; i++) { //generate inverse array for(uint8_t j=0; j<4; j++) - if(CC(i+1)==j+1) icc[j]=i; + if(CC(i+1)==j+MIXSRC_Rud) icc[j]=i; } switch (idx) { @@ -177,7 +182,7 @@ void applyTemplate(uint8_t idx) switch (idx) { // Simple 4-Ch case TMPL_SIMPLE_4CH: - clearInputs(); + defaultInputs(); #if defined(PCBTARANIS) #pragma message("Templates with virtual inputs (FrSky Taranis) are not implemented!") #endif From 63193951e966276109906c33e6ce4f8454825a73 Mon Sep 17 00:00:00 2001 From: Dvogonen Date: Mon, 27 Jan 2014 15:11:03 +0100 Subject: [PATCH 08/61] Added black outlines to 24x24, 32x32 and 48x48 icons to improve visibility Replaced 16x16 icons whith monoblack icons, to make them visible in menus --- .../originals/scripts/addblackoutline.sh | 10 ++++++++++ companion/src/themes/monowhite/16/add.png | Bin 250 -> 145 bytes .../src/themes/monowhite/16/arrow-left.png | Bin 261 -> 156 bytes .../src/themes/monowhite/16/arrow-right.png | Bin 264 -> 160 bytes .../src/themes/monowhite/16/changelog.png | Bin 278 -> 169 bytes companion/src/themes/monowhite/16/clear.png | Bin 278 -> 162 bytes companion/src/themes/monowhite/16/compare.png | Bin 305 -> 205 bytes .../src/themes/monowhite/16/configure.png | Bin 384 -> 364 bytes .../src/themes/monowhite/16/contributors.png | Bin 484 -> 463 bytes companion/src/themes/monowhite/16/copy.png | Bin 289 -> 176 bytes .../src/themes/monowhite/16/currentmodel.png | Bin 414 -> 393 bytes companion/src/themes/monowhite/16/cut.png | Bin 481 -> 494 bytes .../src/themes/monowhite/16/duplicate.png | Bin 317 -> 212 bytes companion/src/themes/monowhite/16/edit.png | Bin 321 -> 196 bytes companion/src/themes/monowhite/16/exit.png | Bin 348 -> 239 bytes companion/src/themes/monowhite/16/fuses.png | Bin 450 -> 426 bytes .../src/themes/monowhite/16/information.png | Bin 353 -> 341 bytes companion/src/themes/monowhite/16/library.png | Bin 265 -> 158 bytes companion/src/themes/monowhite/16/list.png | Bin 351 -> 248 bytes companion/src/themes/monowhite/16/logs.png | Bin 324 -> 206 bytes .../src/themes/monowhite/16/movedown.png | Bin 300 -> 184 bytes companion/src/themes/monowhite/16/moveup.png | Bin 285 -> 175 bytes companion/src/themes/monowhite/16/new.png | Bin 288 -> 181 bytes companion/src/themes/monowhite/16/open.png | Bin 278 -> 180 bytes .../src/themes/monowhite/16/paintbrush.png | Bin 432 -> 286 bytes companion/src/themes/monowhite/16/paste.png | Bin 337 -> 227 bytes companion/src/themes/monowhite/16/play.png | Bin 389 -> 371 bytes .../src/themes/monowhite/16/preferences.png | Bin 374 -> 258 bytes companion/src/themes/monowhite/16/print.png | Bin 289 -> 181 bytes .../src/themes/monowhite/16/profiles.png | Bin 304 -> 292 bytes .../src/themes/monowhite/16/read_eeprom.png | Bin 473 -> 348 bytes .../themes/monowhite/16/read_eeprom_file.png | Bin 388 -> 283 bytes .../src/themes/monowhite/16/read_flash.png | Bin 465 -> 346 bytes .../themes/monowhite/16/recentdocument.png | Bin 311 -> 199 bytes companion/src/themes/monowhite/16/save.png | Bin 292 -> 183 bytes companion/src/themes/monowhite/16/saveas.png | Bin 303 -> 195 bytes .../src/themes/monowhite/16/simulate.png | Bin 284 -> 181 bytes companion/src/themes/monowhite/16/stop.png | Bin 295 -> 144 bytes companion/src/themes/monowhite/16/update.png | Bin 402 -> 381 bytes companion/src/themes/monowhite/16/wizard.png | Bin 393 -> 344 bytes .../src/themes/monowhite/16/write_eeprom.png | Bin 474 -> 341 bytes .../themes/monowhite/16/write_eeprom_file.png | Bin 388 -> 287 bytes .../src/themes/monowhite/16/write_flash.png | Bin 465 -> 357 bytes companion/src/themes/monowhite/24/add.png | Bin 261 -> 343 bytes .../src/themes/monowhite/24/arrow-left.png | Bin 457 -> 531 bytes .../src/themes/monowhite/24/arrow-right.png | Bin 448 -> 525 bytes .../src/themes/monowhite/24/changelog.png | Bin 343 -> 424 bytes companion/src/themes/monowhite/24/clear.png | Bin 471 -> 571 bytes companion/src/themes/monowhite/24/compare.png | Bin 462 -> 605 bytes .../src/themes/monowhite/24/configure.png | Bin 398 -> 557 bytes .../src/themes/monowhite/24/contributors.png | Bin 494 -> 697 bytes companion/src/themes/monowhite/24/copy.png | Bin 359 -> 443 bytes .../src/themes/monowhite/24/currentmodel.png | Bin 506 -> 613 bytes companion/src/themes/monowhite/24/cut.png | Bin 577 -> 848 bytes .../src/themes/monowhite/24/duplicate.png | Bin 557 -> 679 bytes companion/src/themes/monowhite/24/edit.png | Bin 428 -> 589 bytes companion/src/themes/monowhite/24/exit.png | Bin 559 -> 741 bytes companion/src/themes/monowhite/24/fuses.png | Bin 581 -> 756 bytes .../src/themes/monowhite/24/information.png | Bin 296 -> 383 bytes companion/src/themes/monowhite/24/library.png | Bin 297 -> 377 bytes companion/src/themes/monowhite/24/list.png | Bin 531 -> 623 bytes companion/src/themes/monowhite/24/logs.png | Bin 408 -> 537 bytes .../src/themes/monowhite/24/movedown.png | Bin 439 -> 529 bytes companion/src/themes/monowhite/24/moveup.png | Bin 438 -> 528 bytes companion/src/themes/monowhite/24/new.png | Bin 328 -> 425 bytes companion/src/themes/monowhite/24/open.png | Bin 352 -> 477 bytes .../src/themes/monowhite/24/paintbrush.png | Bin 605 -> 755 bytes companion/src/themes/monowhite/24/paste.png | Bin 392 -> 515 bytes companion/src/themes/monowhite/24/play.png | Bin 417 -> 440 bytes .../src/themes/monowhite/24/preferences.png | Bin 501 -> 724 bytes companion/src/themes/monowhite/24/print.png | Bin 337 -> 425 bytes .../src/themes/monowhite/24/profiles.png | Bin 293 -> 372 bytes .../src/themes/monowhite/24/read_eeprom.png | Bin 683 -> 899 bytes .../themes/monowhite/24/read_eeprom_file.png | Bin 581 -> 853 bytes .../src/themes/monowhite/24/read_flash.png | Bin 723 -> 1083 bytes .../themes/monowhite/24/recentdocument.png | Bin 557 -> 771 bytes companion/src/themes/monowhite/24/save.png | Bin 304 -> 378 bytes companion/src/themes/monowhite/24/saveas.png | Bin 493 -> 655 bytes .../src/themes/monowhite/24/simulate.png | Bin 394 -> 446 bytes companion/src/themes/monowhite/24/stop.png | Bin 319 -> 343 bytes companion/src/themes/monowhite/24/update.png | Bin 501 -> 594 bytes companion/src/themes/monowhite/24/wizard.png | Bin 610 -> 818 bytes .../src/themes/monowhite/24/write_eeprom.png | Bin 690 -> 901 bytes .../themes/monowhite/24/write_eeprom_file.png | Bin 648 -> 866 bytes .../src/themes/monowhite/24/write_flash.png | Bin 734 -> 1109 bytes companion/src/themes/monowhite/32/add.png | Bin 376 -> 444 bytes .../src/themes/monowhite/32/arrow-left.png | Bin 390 -> 379 bytes .../src/themes/monowhite/32/arrow-right.png | Bin 386 -> 379 bytes .../src/themes/monowhite/32/changelog.png | Bin 393 -> 419 bytes companion/src/themes/monowhite/32/clear.png | Bin 396 -> 395 bytes companion/src/themes/monowhite/32/compare.png | Bin 446 -> 479 bytes .../src/themes/monowhite/32/configure.png | Bin 468 -> 567 bytes .../src/themes/monowhite/32/contributors.png | Bin 702 -> 896 bytes companion/src/themes/monowhite/32/copy.png | Bin 388 -> 401 bytes .../src/themes/monowhite/32/currentmodel.png | Bin 516 -> 628 bytes companion/src/themes/monowhite/32/cut.png | Bin 693 -> 933 bytes .../src/themes/monowhite/32/duplicate.png | Bin 466 -> 522 bytes companion/src/themes/monowhite/32/edit.png | Bin 543 -> 638 bytes companion/src/themes/monowhite/32/exit.png | Bin 569 -> 701 bytes companion/src/themes/monowhite/32/fuses.png | Bin 637 -> 815 bytes .../src/themes/monowhite/32/information.png | Bin 403 -> 450 bytes companion/src/themes/monowhite/32/library.png | Bin 378 -> 374 bytes companion/src/themes/monowhite/32/list.png | Bin 511 -> 607 bytes companion/src/themes/monowhite/32/logs.png | Bin 501 -> 607 bytes .../src/themes/monowhite/32/movedown.png | Bin 461 -> 538 bytes companion/src/themes/monowhite/32/moveup.png | Bin 444 -> 532 bytes companion/src/themes/monowhite/32/new.png | Bin 408 -> 461 bytes companion/src/themes/monowhite/32/open.png | Bin 449 -> 510 bytes .../src/themes/monowhite/32/paintbrush.png | Bin 614 -> 738 bytes companion/src/themes/monowhite/32/paste.png | Bin 467 -> 552 bytes companion/src/themes/monowhite/32/play.png | Bin 239 -> 459 bytes .../src/themes/monowhite/32/preferences.png | Bin 580 -> 689 bytes companion/src/themes/monowhite/32/print.png | Bin 418 -> 458 bytes .../src/themes/monowhite/32/profiles.png | Bin 338 -> 322 bytes .../src/themes/monowhite/32/read_eeprom.png | Bin 795 -> 970 bytes .../themes/monowhite/32/read_eeprom_file.png | Bin 778 -> 924 bytes .../src/themes/monowhite/32/read_flash.png | Bin 902 -> 1213 bytes .../themes/monowhite/32/recentdocument.png | Bin 661 -> 844 bytes companion/src/themes/monowhite/32/save.png | Bin 366 -> 380 bytes companion/src/themes/monowhite/32/saveas.png | Bin 418 -> 464 bytes .../src/themes/monowhite/32/simulate.png | Bin 396 -> 452 bytes companion/src/themes/monowhite/32/stop.png | Bin 181 -> 359 bytes companion/src/themes/monowhite/32/update.png | Bin 535 -> 636 bytes companion/src/themes/monowhite/32/wizard.png | Bin 701 -> 885 bytes .../src/themes/monowhite/32/write_eeprom.png | Bin 815 -> 986 bytes .../themes/monowhite/32/write_eeprom_file.png | Bin 791 -> 971 bytes .../src/themes/monowhite/32/write_flash.png | Bin 904 -> 1208 bytes companion/src/themes/monowhite/48/add.png | Bin 395 -> 459 bytes .../src/themes/monowhite/48/arrow-left.png | Bin 640 -> 850 bytes .../src/themes/monowhite/48/arrow-right.png | Bin 637 -> 772 bytes .../src/themes/monowhite/48/changelog.png | Bin 625 -> 802 bytes companion/src/themes/monowhite/48/clear.png | Bin 717 -> 891 bytes companion/src/themes/monowhite/48/compare.png | Bin 1039 -> 1453 bytes .../src/themes/monowhite/48/configure.png | Bin 649 -> 880 bytes .../src/themes/monowhite/48/contributors.png | Bin 1003 -> 1330 bytes companion/src/themes/monowhite/48/copy.png | Bin 615 -> 801 bytes .../src/themes/monowhite/48/currentmodel.png | Bin 764 -> 982 bytes companion/src/themes/monowhite/48/cut.png | Bin 1200 -> 1685 bytes .../src/themes/monowhite/48/duplicate.png | Bin 781 -> 1039 bytes companion/src/themes/monowhite/48/edit.png | Bin 840 -> 1164 bytes companion/src/themes/monowhite/48/exit.png | Bin 971 -> 1340 bytes companion/src/themes/monowhite/48/fuses.png | Bin 1056 -> 1455 bytes .../src/themes/monowhite/48/information.png | Bin 482 -> 584 bytes companion/src/themes/monowhite/48/library.png | Bin 518 -> 614 bytes companion/src/themes/monowhite/48/list.png | Bin 784 -> 1132 bytes companion/src/themes/monowhite/48/logs.png | Bin 730 -> 965 bytes .../src/themes/monowhite/48/movedown.png | Bin 662 -> 837 bytes companion/src/themes/monowhite/48/moveup.png | Bin 645 -> 811 bytes companion/src/themes/monowhite/48/new.png | Bin 602 -> 822 bytes companion/src/themes/monowhite/48/open.png | Bin 585 -> 708 bytes .../src/themes/monowhite/48/paintbrush.png | Bin 951 -> 1257 bytes companion/src/themes/monowhite/48/paste.png | Bin 707 -> 929 bytes companion/src/themes/monowhite/48/play.png | Bin 386 -> 568 bytes .../src/themes/monowhite/48/preferences.png | Bin 974 -> 1363 bytes companion/src/themes/monowhite/48/print.png | Bin 596 -> 842 bytes .../src/themes/monowhite/48/profiles.png | Bin 467 -> 612 bytes .../src/themes/monowhite/48/read_eeprom.png | Bin 1519 -> 2193 bytes .../themes/monowhite/48/read_eeprom_file.png | Bin 1474 -> 2105 bytes .../src/themes/monowhite/48/read_flash.png | Bin 1805 -> 2598 bytes .../themes/monowhite/48/recentdocument.png | Bin 1164 -> 1678 bytes companion/src/themes/monowhite/48/save.png | Bin 492 -> 600 bytes companion/src/themes/monowhite/48/saveas.png | Bin 649 -> 842 bytes .../src/themes/monowhite/48/simulate.png | Bin 534 -> 636 bytes companion/src/themes/monowhite/48/stop.png | Bin 249 -> 429 bytes companion/src/themes/monowhite/48/update.png | Bin 759 -> 981 bytes companion/src/themes/monowhite/48/wizard.png | Bin 1160 -> 1650 bytes .../src/themes/monowhite/48/write_eeprom.png | Bin 1563 -> 2239 bytes .../themes/monowhite/48/write_eeprom_file.png | Bin 1473 -> 2129 bytes .../src/themes/monowhite/48/write_flash.png | Bin 1828 -> 2644 bytes 169 files changed, 10 insertions(+) create mode 100755 companion/src/images/originals/scripts/addblackoutline.sh diff --git a/companion/src/images/originals/scripts/addblackoutline.sh b/companion/src/images/originals/scripts/addblackoutline.sh new file mode 100755 index 000000000..41e2876bd --- /dev/null +++ b/companion/src/images/originals/scripts/addblackoutline.sh @@ -0,0 +1,10 @@ +#!/bin/bash +for file in $(ls *png) +do + convert $file \( +clone \ + -channel A -morphology EdgeOut Diamond +channel \ + +level-colors black \ + \) -compose DstOver -composite $file +done + + diff --git a/companion/src/themes/monowhite/16/add.png b/companion/src/themes/monowhite/16/add.png index 0d768aa670cbf4ae71c4bd18ee34cff66845e1ae..e2cb16737319b2bdc54b26d131ba60024cce2379 100644 GIT binary patch delta 84 zcmeyxIFWIJ%0v@oFZL2oUsv{fjFOyYO3Q6{T^JY`lssJ=Lp07OCoHi3asGpRXhY`& ozEh$Ghu$7jJZ>UVmdKI;Vst0C2$?w*UYD delta 188 zcmbQp_=|CZ3NK5#qpu?aW7`757t`V=Dyr4%c)B=-Xq->}bG|{|z%U^CV13(vky#GA zn2!B7*uC+@#1y7O;sJA+A8<=WF*2M8Kd7b7#dj_m|7W{X&V??85jgVKJyPnLvDUbW?Cggg9=oKft9I=m9Ys#2j^J< QMW7A_Pgg&ebxsLQ0No)v+W-In diff --git a/companion/src/themes/monowhite/16/arrow-left.png b/companion/src/themes/monowhite/16/arrow-left.png index 66e5655a64a01c686f97858c2c9564ef8e83b75a..df382a72326a44e23b1ce2918dafbaa6425058fa 100644 GIT binary patch delta 95 zcmZo=n!`9jWul34D0_*guPggKMoCU{LB{W~!VC-yx}GkMAsXkC6C^4QbSQq351k{p z-(*+Q{~1X=KbA^L%ce@E;BGNsFt`!l%yn< zq*^5xr2;7iBLhPdT?0d1BhwH=BP#<_D?>AF14AnVgW$(!{-J2d)z44KOshoEVPItn Y)L{JD7h{XPn zA%elhq6AGnrV>UBOVN}tk>W@qtia+(CKTyESY0*X008%72nU+OnV0|o002ovPDHLk FV1n>=B$)sJ delta 202 zcmZ3$*ugYGg_kAW(btiIv2B6ji)rx_71ipkJY5_^G|nggIo}{}V0a;hky}Xmk&N3N zH3KEh!-=e7sxR^m1UPNdH;_5i5-$~cu)fWH#=R67mO@5`DQ;ZSvjxnY7#J8-OI#yL zQW8s2t&)pUffR$0fuV`6fuXLEX^5ebm4T_1p_#UUp_PF_@Z&T8kTe*jTIJ@aWTsW3 e=rFJ{HMKG|hUj>D+(!(kgTd3)&t;ucLK6VQ$327q diff --git a/companion/src/themes/monowhite/16/changelog.png b/companion/src/themes/monowhite/16/changelog.png index 3a20018b3cd34d7cd642387a2fdaeccb356fb33a..e1eba6ff6d976d2206206d1979a2deb56b708c66 100644 GIT binary patch delta 108 zcmV-y0F(cg0;vIzB#|^DVh40dO+^RZ0T~H3G}bG|{|KyX5OLgS?sY=%i% z4q|`Ke~>?TIFD8NkV^{df60H&s{fRAQXMb0`y>Z`knc`fqn7aX*#iSc_cew=GP4;D z>k8;!xa}Lmz`&qd;u=wsl30>zm0Xkxq!^403{7+m40Vl6Lkx|q3{0&I&9n^+tqcr; r9Uh7b2L_{#$kZp5cp;N||F@2WUiW3IA6>c$|ofoxd-!HKl zQZ_;oasrQ{7#J8-OI#yLQW8s2t&)pUffR$0fuV`6fuXLEX^5ebm4T_1p_#UUp_PF_ ru*2gs|4?+~=BH$)RifxHurjresDZ)L)z4*}Q$iB}1dvD_ diff --git a/companion/src/themes/monowhite/16/compare.png b/companion/src/themes/monowhite/16/compare.png index cd3ac1c4a1864bbb784bbecf89deb7077f762808..553ddaa10d6f1cf050cf0a50a4087fa27319e379 100644 GIT binary patch delta 145 zcmV;C0B--W0?h%CB#|^De+P6)O+^RZ0T~J~FO89CCIA2cUP(kjR4C7-kx>qSAPhrW zz;kmnZ)W{LU@{gH$4@g}n-YM(!%6EA2^T$BLuRd)?PMJ%02GT*CPyPNZJKpMiMx0J zSIBmFP1@`$gc>C%eg#0|cS`jQU4UP{u~}~7KOIWjtX%5=0000<2SrXqu0mjfK)N(y delta 243 zcmX@hxRGgs3NK5#qpu?aW7`757t`V=Dyr2dd%8G=Xq<1I;4O4Ofx|go=Kb4?Ra;6P z*Dol2s9-a}<=O8k^Q}s|zbAGz==QqDq#gQe#=pSOf1j1XEB(beo@;Bf0_>(-U+}xZ zNZ#ZEPsR+f)jPI4iQjUj{q$+pBh&m9ikunrC3@w<_?9bYFfcHvmbgZgq$HN4S|t~y z0;y;QBLhPdT?0d1BhwH=BP#<_D?>AF14AnVgW$(!{-Nl|%}>cpt3=UYXk}tyWnvD| UU~=SX9#8{=r>mdKI;Vst08Oe`bN~PV diff --git a/companion/src/themes/monowhite/16/configure.png b/companion/src/themes/monowhite/16/configure.png index 80ad994556722237af052826777487c157412514..6a3295aab189da0955f1ae3bccb1f9713e1ac5fa 100644 GIT binary patch delta 228 zcmZo*e#10jLVc>Ii(`n!`Q!wNNea!0Qf7&9Y_@D{Y@TgXd2UPQ85tOG98!^3_(hj3 zv~4F(9?xlseZ~erU||rGs*&>J?12LRA0t2pstz9YwW<((2~ z#xgQ5CMXFqF!c2DOXqKiNMT@LP%UwdC`m~yNwrEYN==L{No6oHFf`FMFw`})2r;y@ zGBmX^veY&(v@$RV-+agmMMrLaN@iLmLW6mTk&%_5g_V&7L_>lq`v#x}22WQ%mvv4F FO#lP8MyUV* delta 201 zcmaFE)WAGpLVcyDi(`n!`Q$(68{`cPdE8hfc`i@bsS_}3y5q!$Ld`0NS=j8@RN2_r z9NWGNaJsE9&o^9QbSAYRIpWxdxs5<@u<@amv*O|W676XQM-JWW3HW8t^6B68-{(Kf zf4Kka|EvGy|NZ|T&!NQ^-p~;9KmEUb#{*-&)&*<~wLgr!r!uRwUYPh#M%2hO#L&pf vz|_jnOxwWF%D^D_@tJ><^%-RpK{AF`AY=@YVb%1Q$N&VMu6{1-oD!M<61`B} diff --git a/companion/src/themes/monowhite/16/contributors.png b/companion/src/themes/monowhite/16/contributors.png index f7a642e0d9157839e38ad6428d14698d8caebe23..ca7664737534bcde911489ca7f79954d3a848ddc 100644 GIT binary patch delta 328 zcmaFDe4cs2g!&VnE{-7@=ht4`t9O`DsA>mUAmWWTe#TzOvq`5w#mO4q{&det&^nO&K|+UGK-d11%l zMH?fSbdPXXh;B(&FF7)GTXp}no+IDt#f6vuQu=kyM{8$9;TzA>^B)Mx zt0RB6(zlwar&cf=Q<9TWXp${gI>vh8>gA1(F12^~i-+aDdg(X2M*Fzf&$yG^rXPau zv(&Bj*1LM?n267_Z!Y!kmF;V5)s&7gFfgc=xJHzuB$lLFB^RXvDF!10Lla#CLtR6Q z5JO8VLsKgwOKk%~D+2?^@Xd$3P;}(xr(~v8B6OIC7#Ud^T38ubKy)OivTp!tVDNPH Kb6Mw<&;$TOy@~|@ delta 325 zcmV-L0lNOr1LOmckbm7tL_t(2&!v&EP6AOBM9%_-f{MxtLqSai6hL7@f_?ynF&h6y zAckNoe?W{@mV5!CcGB5c84~|M55?QvER8W?UiD_?&Asp5Nd88Se;V>!b4wY3GE>In zW5saJRUL{rR`o0>NkRpXX8=|RRCf~^>cpz|K6>a(Z3U$e`)5{s@XjRz;Eg3cmf0pR zc%nixz8!GF5eu%85_blC+g0`0P0Y*$ajoiur=lvhovXSIhK_w37QOLP)h|butlPI^ z`U`w9i`RsY(p~)QjQuy6WFe($L>WW+F4}vWTM5mggnlEMi<4mi98xkhR53C-Ff}?c zHY+eOIxsL(IC{D`hG?8mPFNuJqrc%1-wja( z&7;en*ssz|0?)FK#IZ0z|ch3z);u7G{n%z z%D~&y%Fs;Pz|hLTAo%f_e<(U~^HVa@Dp7P8SeY7GnV3K{@QG#C12r&sy85}Sb4q9e E0M{B%jsO4v diff --git a/companion/src/themes/monowhite/16/currentmodel.png b/companion/src/themes/monowhite/16/currentmodel.png index 380545d7ae5a63460b475f5f10753e552029625f..2f9d7288868fe210121fb6d7e26e3ef45a2aac5b 100644 GIT binary patch delta 211 zcmbQo+{rv)LVc5`i(`n!`Q(HJ))!JQxQZq?1q&P&XujX_oacNXYs7*Qt!4#g=4Os& z7G`E=@x#(=Y;FBKnX delta 232 zcmV1D*qrkbjp+L_t(2&$W>)4#GeXMqi;0K}ZmV3!r)yE>K4hc(?=M2uKbB zH^8FMm>M*MhiIE!eo_T9Vv{%DelxS1NPBenwIC;N7Zen)AbA_|0*qpi*5{l7FeC#u zl)#lO0#=#1H;#kjs?rD$SKd{9xC}HF^t{#gCxOOWOi4L$1R)j?jU0Ba?TRzcrr%lw z<9;)uAMfyo&w2tIvTsdgi6hyQ8vz^@GBs2&GCD9dIx#jYFflqXFjM2q{*z1r93e6> iR5CF-G%-3eFe@-IIxsM=6E{-7@=hsfu&vSAVXy1Qx?%i4kfeI(50MUphH4Z)pC#k**Tt5DR zjysr_m^(B$Bye;kSTOK4GJif2Hsw>Cm#Xor-)H~x*c_b{bgBA6mFG*og;GKHPqo)- zFIhM%@q>7M(bo7f)A~>1@r(^=Yr%7N4tUELj(5&fk5jZSSp& z<7GLE_ue{YzkNnyr@8!-5QddAI%gI>lWj0RmzJg$#3;ZJ`SIjDeHr!#ty98h)f_pu zws#FAyMdb<8c~vxSdwa$oKTbsq#2A13{7+m40R1HLJTdf3{9invsFiDVvtns;^TRJ~jK1h8jP zy`aWxmYA{N$_RiVR~F1D0i*=j@Xe7QGMs=q5q-Xx&`R#G6>;F%ym`+Kf*J#Rn-*Q$ z7P0NxqD}V!s5*CL_Z6+{%DGkXnc+X*d;lm=#9SoU$)1yd0UQ-FHB>P&IxsalF*YkO xF*-0XQ{&A3ld%CDAu=&kGBG+dF*-9aD=;xSFfgyT_ z{E%FP;yeZh28R0#l^9}ZzF;81kt|r;g2mmK5{yL09{@9`CADgt^4*r~l9YtHpWq30));aw--lE8)+b?zbf|k*e>M((h;5Y#WhZRmq>JHh5?#x-U zfOnV2T=8w&jm7+wPJTToyp7wsnO^fn-hN_!(EeulrReXxf8U4Aky#P@gMooT zwZt_dy(A^EB-JXpC>2OC7#SFv=o%R68kvR|8d({bS{a&Y8yH#{7z95)^AD;6q9Hdw iB{QuOMT4Q0p{bRD5ky0p{NsZ_4Gf;HelF{r5}E*f30sB$ diff --git a/companion/src/themes/monowhite/16/edit.png b/companion/src/themes/monowhite/16/edit.png index 8c7d5ecacf9daebacab3a13cead3da4242127304..f4786d4b06025b725d3560f645d8c6c0d4285683 100644 GIT binary patch delta 135 zcmV;20C@kw0>lB3B#|^DeFt<&O+^RZ0T~G@FtYL?Q2+n{RY^oaR4C75V4y4bj|79T zD?qTGqbvE!z=EPcgW)klFskk<1{E~R?xULVo8bwACJrm%N?tPP;!^-o!j4BCAbdEJ6SP002ovPDHLkV1n%&GuHqB delta 259 zcmX@Yc#vs=3NK5#qpu?aW7`757t`V=Dyr2Nd%8G=Xq;br(U7abfT#7Li-`WC1h=Uz|z8zLX-9W60d{N}!8l2w4wr3ePy zRz`+q)5@)GB5~!eC8ie o2SP(`eoAIqC5i?ED-$Ct6AOq24vRadff^V*UHx3vIVCg!06vdnq5uE@ diff --git a/companion/src/themes/monowhite/16/exit.png b/companion/src/themes/monowhite/16/exit.png index dba574237d88e6f53855e92171786769e814ed7c..b2b3c569c76731a25ec4e1bfede6263fd59e55da 100644 GIT binary patch delta 179 zcmV;k08Ibf0`CEkB#|^De+P6)O+^RZ0T~Mf7HE8V?f?J)fJsC_R4C8Ak+BVcFbo7w zY3PyIhDGSJM_7RYvO+dMtPv@7R!B!oXDINAUmv delta 287 zcmaFQc!z0%3NK5#qpu?aW7`757t`V=Dyr4@dAc};Xq;braU*ZDfdK1;<~BLa+bM!o z-x@?E8bmia9+8^3V&$dF2fbT`-MwZVxgPQVo@l!Gqu-j3?>qcpStW6~wns}^@X%E~ zha0i|e=^Kp2)(%QBw>@5u*TYDG6vn#XPtCR4_;oDd->^uoN~_xN#*ApB?>OTzH6{2 zU(hL=vA+A;OtF0a@~)2G*#Uq4%;sm=za};(y!0sp1A}UbYeY#(Vo9o1a#1RfVlXl= zG|@FM)HN~5@)GB5~!eC8jDhTQy=%(O~$4JKAbMi33#_t^9RH86Ox MyZX7Tb4q9e07>g`y8r+H diff --git a/companion/src/themes/monowhite/16/fuses.png b/companion/src/themes/monowhite/16/fuses.png index f49e7fc467cc3888fa359081ea4146b8a943e6fd..521de6d3a882a51443c6d799d98e1e695831add2 100644 GIT binary patch delta 291 zcmX@ayo!0kg!;vvE{-7@=ht2|>~k!XVEGWQnxW#dQRbj(+=i+5822<=oba0Cbe21C z=Ye-t?XhRS-*O)d)*Qt%Kjc3Ddu?U0r^c0cxhGpvYP_Yia#{{W)K3b1+9uEaa7CMs zk*4&nq8bgo8YQ3Anma#-{{B+$8~wR6-1dO{j&98^2BmGv3=9maC9V-ADTyViR>?)F zK#IZ0z|ch3z);uFBE-LL_t(2&!v&Q4#5BvM!ya~Bv1 zU4&ROM~v|hnb6>Xu}6p{#+(~&UJxC27!f|kkqv_R5CF-G%-3eFe@-IIxsM= SAtTT1STAaK5ZEH3Ds7>H7 zU#N6t=L0dvH5~qj=HHfd{30fMG4pkg*eunY3K1p2hNRfUy2skgB7gax->hh}XJBAZ zEpd$~Nl7e8wMs5Z1yT$~28JfO28OzZ79oa~R)(fl#s=DM28LD!27Ha}>?k^N^HVa@ kDiJ!&LyU~93@xmTEVRKI5>(kY05vdpy85}Sb4q9e02wYqp8x;= delta 194 zcmcc0^pI)7g!(8?7sn8d^T~hCH^>_pPFT^<8c~vxSdwa$T$Bo=7>o=IO>_+mbw!O#Lkx|q3{0&I&9n^+tqcr; pAD{U*S%OhU(a12w$k58f(8|~VBD4PSgnXb`44$rjF6*2UngCn2L{I<# diff --git a/companion/src/themes/monowhite/16/library.png b/companion/src/themes/monowhite/16/library.png index 0073fb1e223f43c477e17b3be9dab0d76d2289aa..62b81160654fb4f22f78c7a9687bb8ffd78d6d21 100644 GIT binary patch delta 97 zcmeBVn#VXnWul34ID3hwuPggKMoCU1&5$O+6ATOt`kpS1AsXkC6BZ~JB>d=Sk^SJE z9NNTe;PmqUjwdq=SR?~kBQA*iQNLN-e2{kvGefbNF!Mh9S4}{z44$rjF6*2UngAK) BAtC?( delta 203 zcmbQo*vT|Og_kAW(btiIv2B6ji)rx_71ipkJzX3_G|nggIo}{}U>M-v$b7h7R|A6^>bP0l+XkKIrl#R diff --git a/companion/src/themes/monowhite/16/list.png b/companion/src/themes/monowhite/16/list.png index e79516bbfe8c99f21b26cf09af18bd96683dfa24..5e71cd167a7cbd115892c4ba996d65287925eb02 100644 GIT binary patch delta 188 zcmV;t07L)Z0{8)tB#|^De+P6)O+^RZ0T~JqB#+0H3;+NCiAh93R4C75V4yi*M&a== zlry+7oMrflO(_pU4Z{b9{|x^bJ~K2k@S{t+LM37FGlL(d8GGQ;hcG1-8RkG09cEx) zU|^WfpbC*-f-7NU_{Z>;!G*z=;T6MwBykilm*F47e};wFq+A(3GBEsw^L}G~0000@$M0i#5tL1_x~ULBip|3y3>BCMGr)?moMe3 zs^WP)V-7omXtmH|wS2aVtCFOpS}giMr7kjCW5Ksf+eu`}UZbT2S*6#bX67*-e=n>X z@as(cr+V8*zb;RzJ<}F0aoO;5;Jg3FUoi+|%&mAO{O}nA1A}UbYeY#(Vo9o1a#1Rf zVlXl=G|@FM)HN~5@)GB5~!eC8jDhTQy=%(O}r4TeC~R>n{b-(OT4 SF)(m3FnGH9xvX<{9 delta 262 zcmX@dc!X(!3NK5#qpu?aW7`757t`V=Dyr3&dAc};Xq->}bG|{|z%ao5V11F#1Jxx7 ztj!vBtcE=8l5x&!|DXTx|9?G)F4OY<|LIK|CW_wpU;nNCd;RDCJpZTv-QKF@8kF$$ z|C9Q6|Hb~7|F!>6ujnHcd9d~Wp#aC-|DA4#XehBvROG&L^+t2o#Ky*n-zKs$NNi6r z=03fSJ&%EbLAAs+q9i4;B-JXpC>2OC7#SFv=o%R68kvR|8d({bS{a&Y8yH#{7z95) o^AANsZhlH;S|y4GLn}jbDzopr0Nm_l_W%F@ diff --git a/companion/src/themes/monowhite/16/movedown.png b/companion/src/themes/monowhite/16/movedown.png index 9179824296833b0f19ba60938c993151f81e4c89..ed017edfb9a55514e3a84ac10b5e5241b112c7d5 100644 GIT binary patch delta 123 zcmV->0EGXn0=NN?B#|^DaR+osO+^RZ0T~JzE6%zz)BpegNl8ROR4C75U>H2$KLa}o zpN-)^x`O}M`AkTHAK|PY*sS=^@Sou=0|NsC!#5}otCANCpHQV4QIsG6BQ^yHC5-sI d`=4RZ0RX3s8>Fuv2$}!@002ovPDHLkV1f+PE#m+H delta 238 zcmdnNxQ1zh3NK5#qpu?aW7`757t`V=Dyr4TdAc};Xq?|W!H}!LfrlksSA^y7e{o%% zoFjT-RqjH3+^oU5o1D#Djun^wVUuv4@%_&6lUxi%4sUCZgk8P3FENcZ;d`Ocei1RZ zWv5R%IDRPW32wsx6v@$ZaGBJi|xOtXbFfuxo;cRqz!i-?`Sxui=xh@2)!ag8WRNi0dVN-jzTQVd20h9`UL(!3&pOTqYiK4^M%E-*h#1NukVTRTcpaup{S3j3^P6;M1&MoC0LR4C7-P(cm=Fa%TC z|G#V(34(2zUeM5jXbNbQl68=fyNWAWhP9Xlk{UXT!0_#g&jxu>&=prRE$1s-wF(mH aGb3!r3=j{O?4?2g0000_ ZPyykR7g|vMtn>f?002ovPDHLkV1glxF53VA delta 216 zcmdnOIE`t73NK5#qpu?aW7`757t`V=Dyr3cc)B=-Xq-Pf(U9wa0nd?=nZI7z>?}U^ z`pT4~UO_QmvAUQh^kMk%6I!u7RPhk!gsbk(Gg|m7$rofuWUw rL9oN)GyhO@UftDnm{r-UW|Wi3vk diff --git a/companion/src/themes/monowhite/16/paintbrush.png b/companion/src/themes/monowhite/16/paintbrush.png index c2724c5100dda81db9b4cd43e79131afb61e498e..4333818ef8ba4092f27160e79b75e76c1e23b0ea 100644 GIT binary patch delta 270 zcmdnMJdbIDWIY=L1B3kM|A|0~Ey>&6h2cL4F4((#GEjuGz$3Dlfr0NZ2s0kfUy%Y7 zWH0gbb!ETDD9I(mn|Qz}2Pm}K)5S5w;`G@|hJ1{HBCQYeU33^)FJy~KP1RkYb7ay5 zja(NerV9uY`0t$ zQnFf}2+Q0%u-a%c^D~PlCY7sI@+!LX{>*+jFYA*=Q~OL#Q=g=_%6qhn3VcjwxQUl; z+4v*nf2qPv*R2@}IY<2(u literal 432 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^xl_H+M9WCijWi-X*q z7}lMWc?skwBzpw;GB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpafHr zx4R3&|Mvbf`++>p0*}aI1_r*vAk26?e?t)CaNmk&uu%AFdR(b1O`n@twS}C~OH-^xSn?W#L}2suLnwzgQ1g-1FJft{tqy*0W;1Po~n&bgh3ss+g@N zewnHqP^$@av}%cKL`h0wNvc(HQ7VvPFfuSS(KRsCH8Kq`G_o=jx#uqI~f666nS9m$yxIMBAy&yFYpB>+-hhIdj+Ts`k(}9` zBnSrp1A-u?p>Dv{)zMyA0h@1Dtib|Ilp#P^&C>McbY;8JUyq6h9bBtkoCc78IsvA3 VAT{qtNd5o-002ovPDHLkV1mfpML7Tf delta 275 zcmaFNc#&y>3NK5#qpu?aW7`757t`V=Dyr2td%8G=Xq->}bG|{|KyX5Og5$%RMh3=r zQY(6Nj&N*sn&a4baK2;TL$hXnXU@abZQcc<{}n&{2Z6uoKhA%s|5?w`a7rQi;E9H# zM_=@%q$H#yB>eC_A)doiE-4Zy`%^xTspW5TV{@b6<=Gsr1-dNET}7-0<_m6gTkCDm zs7_Q7xyxYdrMXcrG5@)GB5~!eC8jDhTQy=%(O}r4Te@mmR3f_5DkozGuwe07(8A5T-G@yGywpl1!jQ& diff --git a/companion/src/themes/monowhite/16/play.png b/companion/src/themes/monowhite/16/play.png index a3bb9afc241c29bc0130a4cc76c54815905a230b..d4720f2d8733bbbb625605aef3cb1a136c76cbf5 100644 GIT binary patch delta 190 zcmZo={>(ICLcP1Ei(`n!`Q(HJ${k4wN7g^EKOD#w{D%^&AK%zwz|%-}Plvm#y~m6g$5=!4q9hDDML3`b(*_}!1D%wS+(P%UwdC`m~y zNwrEYN(E93Mh1o^x(0^2hL$0QW>&_QR;EVU28LD!22(7Jo19Q|*S^7Y9fjD`T*z(V8z delta 160 zcmey&)XF?zLQ&t4m{(;!%{xi(5aEzaj!OG|^^dap^y_?U=|2#cg`gIu2M9rTm z@%?|z#0N5>My4T#Mpg!$%u_Xdj$o4G(NnK_4Hi5(GR1m#!mODOG*(*dzc5j|Poep-)B1bsJsW$> z6&+O$)HhD)70*%qYV}z%$Gjrjx$a1AqKDk0Z5!0pwo8;Ym(O2)!G*tC^zW~C>Mo(L z9?j^@+rhxVpjzS@QIe8al4_M)lnSI6j0_A-bPWu3jZ8xfjjRkztqjey4GgUe41yn@ r`G=w*H$NpatrD(55v0S=%Gkil$O59nj{jsiPzQsjtDnm{r-UW|lH_$_ diff --git a/companion/src/themes/monowhite/16/print.png b/companion/src/themes/monowhite/16/print.png index 81033fef96697866a08a42f3bd9eb37078d1ae8d..39191c93905f864e8663b1a362da029193a90eca 100644 GIT binary patch delta 120 zcmV-;0Ehpf0<{5pwQC2Wvb>@HU3hzOp+f(m!Z@thg&BINfSF+*)Rg}W aR0IHA7!!NDr(7oh0000RdP`(kYX@0Ff`FMFw`|N4KXyb zGVnIFGBndRFtjo-2!4F#ABv9L{FKbJN)#OiR>qcACQuEXcRU{fH86O(`njxgN@xNA D3OZ1M diff --git a/companion/src/themes/monowhite/16/profiles.png b/companion/src/themes/monowhite/16/profiles.png index 6039ba23c639ca5ab02bfa7293aa7f32d2371c0d..01b13e3c7981514588617d60538b77760e58f67f 100644 GIT binary patch delta 156 zcmdnMw1jEGgnC&|7sn8d^T`Pk6$dz${x>!-FfjUad`hy^)}}ZHhW+>1xE?LpxsZW@ zLAAs+q9i4;B-JXpC>2OC7#SFv=o%R68d`)HT3Q*JS{WN?8yH#{81OZ=v!iIp%}>cp lt3+rp4>2;bGPJNVvd|U<>qt;#-vHFX;OXk;vd$@?2>{s2E>r*j delta 168 zcmZ3&w1H{DgnCU+7sn8d^T~hCH^>_pUWj4jp7QVffddClG`v!9TjZ0V@}&D=BCG5p zCWh(%x#WYr3jZ@OFsPQeMwFx^mZVxG7o`Fz1|tJQ6I}yCT_e*FLnA8#Q!7I=Z39Cq y1B2klXa1pR$jwj5Osj-zP&6_OF*39=F|;x^faqBNctSo<2ZN`ppUXO@geCy6&^UGg diff --git a/companion/src/themes/monowhite/16/read_eeprom.png b/companion/src/themes/monowhite/16/read_eeprom.png index da655ea1ca00b82abe0051989d5f1fa482d6715b..b58582958b642dc56b886699b948841d51f80f57 100644 GIT binary patch delta 332 zcmV-S0ki(u1Ka|T8Gi-<001BJ|6u?C00v@9M??Vs0RI60puMM)00009a7bBm000fw z000fw0YWI7cmMzZ2XskIMF-vi845BbUvlHR0002#NklSa literal 473 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^xl_H+M9WCijWi-X*q z7}lMWc?skwBzpw;GB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpafHr zx4R3&|Mvbf`++>p0*}aIptaXQn9)gNb_G!IlBbJfh{pNciEI6w9R*tV=Sq9rU!Z?+ zf%dGB3BRl+*}25NhLo-P_b3`SE0_hPf?d>&SoFwSXlrvgqkdVI@WeMvk-6+v=VazwL@z zc$7Dt>q?8JvRO|>&!LsK1)`qJWO>10u$1Y^@)`F(pH&T?;4okH`<`O9b!&dSao7_3 zxK%NE-;U%1!k@4BvVA?+Yh3zp^^y7ovjzJM!~mNjqy^aPTrE9VL2b@ zJJk}`h?11Vl2ohYqEsNoU}RuuqHAENYh)T?Xk=wzYGr7qZD43+U=aNH%s&(jx%nxX hX_Y7%46RHJtc=Ye8s0<{I|DT^c)I$ztaD0e0st;{sp$X! diff --git a/companion/src/themes/monowhite/16/read_eeprom_file.png b/companion/src/themes/monowhite/16/read_eeprom_file.png index beda75e23d6e2424ee707c6d2cc17fd220cc2126..214e82c4d6556a8e50e73eb69df34320ed72801c 100644 GIT binary patch delta 223 zcmV<503iQ_1DgVnB#|^De+P6)O+^RZ0T~K76KW@(sQ>@~tVu*cR4C7d(7kO!K@bGs zZ-Imk+=N91NDgR#49P{1IVPbNMC1~XNGQUwLt7-~UmO9aC+|Lp#wyh+GU^tb}AH%%r?1&);9iQlg>iT9+vCmfJOnR`i}lRjUw9f-2F2$%Cye zlHY>*=f^pU^`Y;>$l3`POJDUA3$KR04ZN6pZyHP{HpY^v&${V5VW00^^|LJzb1nWM ZxB(L#Lgft8M!o<5002ovPDHLkV1mOoV1@ty delta 327 zcmbQu)WSSLg_kAW(btiIv2B6ji)rx_71ipudAc};Xq+#-xY3u{QK0ohW%zG~^7EuXXR?YZ0K>1sInS-0(_*i?}sd*5z`g*rD)vy7Ymr zn)^c`XWreqh*d{s&1;x5Y1iskFoT__8LYTb6qKB#*T7mzc#GJH`0YIdFH8O*_ymB0 VP>X(n&7lAQ002ovPDHLkV1m;EfP4S| delta 405 zcmcb`bdh<23NK5#qpu?aW7`757t`V=Dyr5qGJCo>hG?9xow(N9xlp2Y{{5JlF=~gJ zTy>_ge$+Qu$&sDiYq1WJevP6$fp)9YxeSVy2k|vh^ok-xz!G za~tz}_V&;76zZLrQvOLczif3nB<#`az{_r$dpLJ_Pi^_t`RkM%8}*k;Md^cA1OMdxPf* zUkzNGlKIhLo|?Z$`k9jHGinNYnWuGDI5Jt5MLwLRzrcU;aUSuSqVu6erH7cjw?wA2 z)tWIFs$ZLQ{Kc;FX;-__A6+>2tl**Y!+Q=T6B#|^De+P6)O+^RZ0T~G~Cod5s;SV=@dR4C8AkV_7LFbG6n z8*k(3IJK#l7&n+;DY_F97+}H=eiH>f*;j;!My6;&#~p6Gb^A&J^pr7Q)z%#hc{EY< t@WJ--FX;*a&2g(gYGIhw6xHP<7gn7liL3RWp#T5?07*qoM6N<$0fO+S2b&;^_+cK9H zXc@2s-dX;T_j^_#uSuyUJI{ib6SWpbN|xO*C_ExvBq`3eEG==hacdR>1A}UbYeY#( zVo9o1VscR`kY+G4Ff`FMFw`|N4KXybGBC9=G}AUPv@$RVethO1ijLg;l+3hB6b%Me bCYDwv1`rL0%`>Bc8W=oX{an^LB{Ts5JQ7)& diff --git a/companion/src/themes/monowhite/16/save.png b/companion/src/themes/monowhite/16/save.png index 25c1dc9b8f48659444ea5c6c9772b1b2e42f41a5..dbf6d8695b19d822e49170d62581af30ed5b81ca 100644 GIT binary patch delta 122 zcmV-=0EPdg0=EH>B#|^Da0hfrO+^RZ0T~J+6WR)7asU7TNJ&INR4C8Qk2?+kAP7UB zg!^AfZ-$E+NH7jM*a1=~pTaE)0JiNQiwMPX?6t>EoyrWAns&yQukX~E z8>@}~JG=;w`KL2~|4!y_%u1azs(v{#Ffgc=xJHzuB$lLFB^RXvDF!10Lla#CLtP`& z5JNvBD+5z2Lo;myLn{M=;KyhFq3FoXPsvQHMA2brWo%+)XbI6EFOwPt)WG2B>gTe~ HDWM4fY~fLl diff --git a/companion/src/themes/monowhite/16/saveas.png b/companion/src/themes/monowhite/16/saveas.png index 129a543947fbfc6a7ce2fa988766799d6b1d411d..791c7be33247c32e3eac5cedac2bbc50b2378d34 100644 GIT binary patch delta 134 zcmV;10D1qf0>c52B#|^Dd<8c~vxSdwa$T$Bo= z7>ptf3{7+m40Vl6Lkx|q3{0&I&9n^+tqcr;AD{V$q9ZpyB{Qv(!3ar%p_Q?jm9Ygx V!~fko*8w#!c)I$ztaD0e0sv2^THF8t diff --git a/companion/src/themes/monowhite/16/simulate.png b/companion/src/themes/monowhite/16/simulate.png index 981976c19920e1dd72eb9c22d7bb823cc091e16d..5ce85479083ca4af8c4c67b73f19d5a9304bb439 100644 GIT binary patch delta 120 zcmV-;0Ehpa0<{5oPBQ7g26k{s*i)sRPD;RP60$mdp1&sK^fsy36 aAP4|P>JHW8Q?^V10000DLiHLwb?u2L7|B%^SYY zntopSaKr<9{uf!&3sM;v7*tDKBT7;dOH!?pi&B9UgOP!uiLQa6u90bop^=q=sg&6h2cL4F4((#GEjuGz$3Dlfq`2Xgc%uT&5-~K zvX^-Jy0YJ6l;qU5SZXvw2`D7%>Eak-aXL9c;!}fQ@BjHBwLVjJC0uC;WNzbRV95By VD6+m^VIEK+gQu&X%Q~loCIHaBB{={9 literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^xl_H+M9WCijWi-X*q z7}lMWc?skwBzpw;GB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpafHr zx4R3&|Mvbf`++>p0*}aI1_o|n5N2eUHAey{sNm`17@~1L`Oo}|MRSm3O$(uVT zT7~rpu=Z@}*I}^S$1E>6X~dp_MAt0!|VFv z3aqKNDFH{*n9L8eYrM8));AM2GxSMG0D=!G6=x1~XuduEq5q-wVdb{XJpK}AHh9lZ zc#sm1Zs59Eg6p5boP-BQ#F?si-k9*GzF}Z6dnvko>65;kJO%~^)e_f;l9a@fRIB8o zR3OD*WMF8bYhb8rXc1y)X=P|?Wo)2rU}$Avz}MK$j-nwqKP5A*5~0C7#K_3X(89{d W0-_;7m3;$H1B0ilpUXO@geCy+a8aKC delta 220 zcmV<203-kX0+IuekbjFwL_t(2&tv@0fFCe1&|N_T!yAU549ggVuq$X{a9}WC5MX%D zumLXi9~r*;F9l^i{I3dOp_;(W@Bzwt&%le#giZe^{%82l@ZaR5CF-G%-3eFe@-I WIxsM= diff --git a/companion/src/themes/monowhite/16/wizard.png b/companion/src/themes/monowhite/16/wizard.png index 09f0ac05d3b12e0e063d5c16aad2d3e9e7e745ac..d1301c61315d3629652649bdd25e1df1acd58ed0 100644 GIT binary patch delta 328 zcmV-O0k{5%1K0wP8Gi-<001BJ|6u?C00v@9M??Vs0RI60puMM)00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-vi844*e?4JBx0002xNklKT8BL5XB!}5k(a2 zgeCJYn_cb-QLwP^P%Q2`!NTv);is^Q#buA^t!}n(U?9BVH-D3P1N>(gF`l0uziHGE zqS*w<0syJA004+;O;JuY!_$y~6|25K(pP;q-J})GtH?vCN42W`PXQp1ycd(_MXUNY zfKm0Ze=B-l@dJ6y9;}yrcMTvJvyXdYlM&r!TD4`VZ8tBABRGt~#O_ef zCl1-*Nmv{2#zD+gl8VVc;9p}5mWEyRxr!5I*t_{R-p0*}aI1_o|n5N2eUHAey{*yQQr7@~20>O@1X!v+E@-xnP^#m{t* zzu>)+?>>QoiU0pAO~?v*kuyK%^aSB1*UfX5L_0q(y%^ti>7Cq`9^GwG$N8T97Tn?z zBl(dn;(S)~44Ed0?``5Ap0It%+m%5`fzr=^oUmP2SJ?E?bK1_-+UUp# z?(>l1d738FFIOC~D_yv#nOdT#OxXpN(1Ki>x z=9jp{VpRKG5k42##vUH9gDsrl$O^S*9EP#ez{j|1d6aV=R|MV~__cxmi`lo;| XItN!reIfs@00000NkvXXu0mjf(q@l^ literal 474 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^xl_H+M9WCijWi-X*q z7}lMWc?skwBzpw;GB8xBF)%c=FfjZA3N^f7U???UV0e|lz+g3lfkC`r&aOZkpafHr zx4R3&|Mvbf`++>p0*}aIptaXQn9)gNb_G!IvZsq=Fw*EYK=Gk*eE7=7D zwKoQtOx;xI7}Du*eX4e~(z_!Q1dJxM{s@c{oN}PSGCj^xL5M-1L4fhclJgppf*#9x zQtlQk31Cs{St5}WzEuPtS2j8+UjD;REy{k5+t&hnpdK(|;fvY6$Z&dm}9UBg$s zir;GtAN8^N_ukI&OTXrKHT}NoU*@}F8~i_-AA9g$KO<|e(O#w>%u=6s1w8O^I|uZh zYKdz^NlIc#s#S7PDv)9@GB7mJH89jQG7T{_vNABWGBndRFtjo-2!4F#ABu+D{FKbJ gN)!!-R;ET)#)c3L-L=zPfEpM)UHx3vIVCg!0I}nt&Hw-a diff --git a/companion/src/themes/monowhite/16/write_eeprom_file.png b/companion/src/themes/monowhite/16/write_eeprom_file.png index 6bcdbc23bf194d866855ba3345c8002e5fa1b9fa..a7e7c36f841b37cf3da2151af91b11970f9af571 100644 GIT binary patch delta 227 zcmV<90382>1D^trB#|^De+P6)O+^RZ0T~K8H%~uHIRF3vut`KgR4C7d(7kN}K@i39 z-vS98xCx62ED_KE84^V}BfW@P5Rpr;apEEzI|N-~FdxzousVAWkl$!E(&(>!^QP;z z0xOj_qNtPC1_?n2Ny@{dOGZ+D;x8|-N2pMV61YISwneF7V^>(*Syk^wykDhjK$9rL z9sH=(2%7@^wsuU#_etN($h!khmOk4l79KtMGVow-dc9zn_%Ifpy|kCU0K43`&1LUI d%(L_l;0)GIN7z!9l}7*o002ovPDHLkV1j7lV6p%J delta 327 zcmbQw)WSSLg_kAW(btiIv2B6ji)rx_71ipudAc};Xq+#dV4HQ=LBQ?4Mpj94%%LYN zjUqc6c02GrJhxVRzUq!sf-IRu9M|<^?;P3RG~MabqN$7WBhu0et4%PhHxksIsRlv6tOGX?};&)?Ew?45}rr5hW>!C8<`)MX5lF!N|bSMAyJj*T^)) z(8$Wb)XLCI+rZGuz##bXnSUr6a`p35GSezibQoHhnp>HgLUhEJ6ifl?VDNPHb6Mw< G&;$TF1BI&q diff --git a/companion/src/themes/monowhite/16/write_flash.png b/companion/src/themes/monowhite/16/write_flash.png index 50350ff62af744ada099707dd6da89b502a1b266..81cdccdbce86df2909906155b19ac49fcdc9c4ad 100644 GIT binary patch delta 299 zcmV+`0o4A{1LXpcB#|^Ce*gz`Nliru-T@g4065Ubu_XWi0QN~lK~yNuh0!5PgHaU5 z@!vaFCSxKPEMl=Nh@ZfuBCM?m25rU#!6eKgSO#JpCWFjkGKgggYB0}Y5QPaMV<1dX z2Cre4xlPe?!UOmG?|JUIXUOjn<6KcS;tzy@`dH9J4+2J&tr^kqe_|mNiztdaEe<@% zNh_If#a+Uw4>zje)}d*$>Sm1Fw%j>PVJmpX xmR!q=6&&~e=1LcMArJZ%^v8MzRu=sO_yS;~Q7t)4KKcLv002ovPDHLkV1lW2guws+ delta 405 zcmaFLbdh<23NK5#qpu?aW7`757t`V=Dyr5qGJCo>hG?8Gov7&T94OH?-#Tw*jM||l zSDk6BAH`>cv}`p!xZrGtfX^YFrc{M%iAE=M)S4q)0-7tunl*d`cJj1no_b*T#-i-u zFF8K_n&&mopIXXK+Py{Zn(3r^6N?V6nMsxvj2(x>3J)!l?wkGVT~OQ+!}TGa83spn zryr@Q|KpmVl6TXf&}Yr9jjsbMSPzy~FAG~!`FN-3=}5VpUCQTfltrE4>a=_?!7hK! zCz&AQ1%|nD8W$gNzD!$Cy=02g^qc98E#fMRPMCGad}jWV`7z=_Q~tZ1T(RnBjQraz z)ov!2eh73eG*5WhRetS?@A)H&=WcyC6#n6SV?W<%!KT_o-E%V&-1eU~IlNaU@rXGC z1A}UbYeY#(Vo9o1a#1RfVlXl=G|@FM)HN~5@)GB5~!eC8jDhTQy= e%(O~$4F*=GPz?@uH~s-?VDNPHb6Mw<&;$VEE~aw; diff --git a/companion/src/themes/monowhite/24/add.png b/companion/src/themes/monowhite/24/add.png index fb461e23ab2b2fae9b1f908d4040d66bfb6f5394..6ca6fad8b90c3306b5573bbdfbbfc9e7fd890c2a 100644 GIT binary patch delta 224 zcmZo=y3RB~%Yk8IKlh(RRt5$J#^NA%Cx&(BWL^R}3dtTpz6=aiY77hwEes65fI#nTdo>3z>opix z^0PBAwEX9ln)c1;%EaliBIY56hE_(VRwky}28LD!1|DxUvL~L9RX`WF+%Vxf(3K3H Lu6{1-oD!M<+pkL_ delta 143 zcmcc4)XFqLi=DA;f#Hj3@e{Mu9Lzmk978NlC;vI`AeEpL_&4CvhxrffGo{!T%CA`7 zD5z=hVX2VYsv8YF|CDEY#ryL+@%AVib~7=sIdG`k?CY5`@ujSYX^5eLm655Hk-4^k sp_PGwv-TO~$x@863Z@|jmR3dF$N&;boFyt=akR{0KbGTZU6uP diff --git a/companion/src/themes/monowhite/24/arrow-left.png b/companion/src/themes/monowhite/24/arrow-left.png index 5a0d451f4c7962bcfda97b4d23735daed65d3312..ae050e67577459de6b7b76672c0664472035ccbb 100644 GIT binary patch delta 349 zcmX@fJeg%ee?23Qr;B5V#p$O(`@NkKMQra^?^6m2aN_V0EbKh6(4nB@!ormsmo8kn z^x8ACgJ)ekUd3k!MXy=z?t5@`;h6sz@e$0 zirfqu56kM-?mm*jymRk|uq_rjKj*7UoQNuSGJW2wa$a|BN9xV`nZFB9SE^g?UC|vp zGv>JCsV5yvii1ScBPN_Un)s_NUS)1_@RQV{2N}O--B+2pe&L7RF~1GB&U*Bjm7%Qp z7hBV&8U~N5wSn_h z`FQ#6qp7n}Ls$REnZLJa=FKA#w`?B%t6@CC$iVz1RO+8eT5eMsZ}GRFz{$~!vLfao thK5!~rdB4V+6IPJ1_mB)HL@r7Fv=>ROIU80aGe1NJYD@<);T3K0RW+YoznmS delta 323 zcmbQta*}yMe?7w?PZ!4!i_>o}EBY}P3LJg7eapcG4uT$9Qao(D;wzqUX^1>`Sh%5p zJFg+rwa_$_L#T<#b%E#44LRTUpS)&vX2rX?c!$02&h5C=r60NHN9?+oe<^g~^Go8>*3G`{UEijC|3TP#iEV|~ zJnv0XS$;EnXI%2}&h!s2Hh3@TNG>)gyKq*3IoQDXMOsH~GB>w>TWQc%y9;@JlT_AM z{?rctFMoYu9b?@AW_!o`f5RCV7*tDKBT7;dOH!?pi&B9UgOP!uiLQa6u90bop@Ef= zsg;qrwt=CQfq}F38D$0=WF5KrDVb@N2pxtYMut`MdRBL+T zT+A=JHFcRO_81wuD&BD5dV0vrNzC!7PDz4A?q#-pH>=C0|F-^qo^e{hDW|>dvJ6L5 zp$sV#OA=hqD6XA- z;>icr>5pIBpRU-|9rd?O<>k}cD_k~dsEcn`k*v6_8}e_P%L>K4lkVPSYFPi#ph0_f ze8hG;c9oxo9a|?(e|U83?)i$IeZN+VZ8EykV}03tQq8MXVn#tVn_up|^nA@_!Ele0 zmkn1fE1O#&yw1YiNG9^kjfQ%@hKge@cJ-NGxHqrNSW-IYvjhVJgKCLuL`h0wNvc(H zQ7VvPFfuSS(KRsCH8Kw|G_*1@wK6f)HZZg@Fz|S*k&U7uH$NpatrE8e%MBB*12r&s Ny85}Sb4p-r0s#EBq#^(S delta 265 zcmV+k0rvil1i%B3kADEUNkl=MLwFQ^|IZ%NgJ-1-)T2%r>(><8ESw#KWq_v&1B*|Mwzgzmw zsaNpgxMYWpF&H{3S-R^TJUJ}UdT!#&!lQ$F9o5I(3)EF2VS{N990fib~ zFff!FFfhDIU|_JC!N4G1FlSew%|t`B`h}h@jv*GO@AeyV9dZzHNf+DQpnk&AW<~D; z^$BZPtqofP_q3S{9CVV9p1kIFJ1naqX-k0YZ(BFxN|xih!iYMf-U?VM+v z%V+J&x9>2#;+4qx@RgsJQF*FqhEBom2=BmO44Mr6^Byd`ylIn{K#wzcy85}Sb4q9e05P9)9{>OV delta 227 zcmZ3%e4S~67CU3x0>c;6;wNUQ)pvTjIEGl9PX2S=K`KEh&~~orpW_XyC3hH>D4a}Y z&i-G#cvj;&#;Nvy|M&l&{qOU`>kQ01|Ns9_{~`bX|L6a{C$>G<-uTe|@c&$(;QUsB z)Ia@iWZBr<*k&*^u|9NU!>bV+fX+d|5Wdc;93zMp+Tl5JLkiBU39Qb8Q1dD+2>(?K8@gvl(R-OhXJT bt&9z=j0_+Ws(SZK8Gyjk)z4*}Q$iB}3cOmg diff --git a/companion/src/themes/monowhite/24/clear.png b/companion/src/themes/monowhite/24/clear.png index 204df5685ef99a418d476c6d4642caf722138b62..64a23752d2afd8117763c6bbbd4d573963a58e06 100644 GIT binary patch delta 389 zcmV;00eb$|1G@x}kADF)NklG4a*%v#o7dBDUyn2&Z?Cf*IQRa}AK>p{C4ysV zhULU1-tiLfjJUujT4BHElGks~rj1<)ElmXM#$q*dq2O?S+W+2i%a!;@3pmeoa!uUWIDkv zzjkPJnD%8nz)}di+q!50UZ=KR539+GBr9hH7hVNIxsLu?I>%LngJak jH&ih(Ix;mnG&L(QF*-0XIk1q|00000NkvXXu0mjfTcNU* delta 288 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 diff --git a/companion/src/themes/monowhite/24/currentmodel.png b/companion/src/themes/monowhite/24/currentmodel.png index b42dce8da40e574f30cfaf5889a2fd686e45b543..dc2ed26e17459f45d1ac0d6ca3346e65cb82b7f9 100644 GIT binary patch delta 431 zcmV;g0Z{(>1LXvekADGPNklt)B!<2L05p~hr_QUtkq*4v{%MYy zB$G@ssYFDiYV0d}V@tu`U(SnzjVv{&AI;56COv5HoG0NF%Hm&lS#$|Vf-}CMF#Fto z@A_L733I&$wrVd>V@Ei5m)WNz1kD5SytW2ERdj<1?X1%45k{w3klu z)FOHG9y7)Pzx9sZ)~}fh%wiIUobJ9UwPUF)=zaH99mk ZD=;xSFfci=kknsi~eeR z)298;bD}h}0F(Fu927NFF)%tZH99gkD=;xSFfcI(3)EF2VS{N990fib~ zFff!FFfhDIU|_JC!N4G1FlSew%|t`hdL~a#7sn8b(`SRcJ*EUo*naJU{H7u zl9?mvTr4GD?$JLZGZ&b5fAPVuogR~xnq86OS>0_ozgy+G-C;giHj90J zla`!UJ+?spnw#UR4Kd0m!^=L#Y$>tw2wJz4Z}Ec_`|3}3vwKY1bS5lqvC7Fuj8o)Q z&6SU{iMfuW#M?Xq_1SBZMpxW!`D8*MWd zZPK#Ox#js;>hjg##s^FcEaFDZFFE5L`$gRdnX0d~kg9H#}MqXWai+OWT ziRFbh9g(MBa#&M@^YGDa_1zwvTgQ$<0cd$!7;~@JVc93O)7CU3x0>c;6;wNUQ)-x7+x;TbdoIZQS-v4r-$gz*hFI?zU;7SdNV{BGd zR&EJTcvPK`p!Ubp{Lryg#}2kETz^Q7@0du20!Oo8GRJ~TQ@6;o|NH7*nqcs8&dYh9 zYbHOxSN%@+R`x@v>#iV%=R|ayP9rf3>&l9ka5UOK7loNo|m*u-mW3O{(taOwUMM zX3|YgGnr$(X-N!ASdCf!rA^y-WoMg}=43>hW!B$YI92Jx;W-_S(YwlerMIunKE0sB zGClm%?28g->n1Ikyf-FIak=GLC%w(n{U)W@`*$tgn0vKhMONhgeLE(V>V_I7TrInJ zX^n8HskKyF{`r)M!+o=M32zSHdg<-#x_RQ2Q_|v|r=MTb_bheUC++;tAAhO-t)G7& zKfhwiS26i-ws{N;45}rr5hW>!C8<`)MX5lF!N|bSMAyJj*T^))(7?*b)XKn44$rjF6*2UngIOY;r;*s diff --git a/companion/src/themes/monowhite/24/duplicate.png b/companion/src/themes/monowhite/24/duplicate.png index 16a36c3f5d0878cddcf0d5ac6fc5fc5f904b22c7..367f931f1a2b15b204d1a8fb86111a308ddc187d 100644 GIT binary patch delta 497 zcmVGGX(zVqFW zdx5e8^>fmJ0U$slU+!pIugG@VOURY%L n@BtklH&ih(Ix;mnG&L(QF*-0XIk1q|00000NkvXXu0mjf(!td- delta 374 zcmV-+0g3*n1+4^-kbfpgL_t(I%gvL$N&`U@g};$)gp@{`MG_DUX;WB;Xlbcpt1RRh zd;tp^QG5Vpg%mcTSlLM|1Pcp&0XN_l0S#=i7K(Uml68LuV;b??W|%vd%lR22M#I>M z@Bd)HNlq>f5L3$ZUwO_=Xi$M9$yXMk8X{dLQ7Itgh=_9zxqks*f?eK-SmD;b!56AX z^7=OwN!xl*H@#&T=|@)SaY3U<+KwiRgw$zKA3pFw2NxHJ8UNXbb*?y|N3~z4HXqVB zW0HMl*(|t_k+n?+2bULO49m=M#~M$7&k|LetVQg}2>A-^vKq=9vw&fWHt+1PMK1q& z4kbLUiD)rRlQ9!M^BmFxGk8S6JT>mQ#9<@pSfgPJ-vB`|eD-*Mn;7P0{U!e4pZ)^G zc*aTQNf_{xIRYINHB>P$Ix;mnGB+zQF*-0XLo3W9lWGDTATd-jF*-CcIx{dUFflqX UFt6i~ZvX%Q07*qoM6N<$f-Rbv!~g&Q diff --git a/companion/src/themes/monowhite/24/edit.png b/companion/src/themes/monowhite/24/edit.png index 1a50c1a2968188eed07ad3930bc7bf3778b58970..0f5ddf04fe2e5f6d24f8be5af05dccc114a928a0 100644 GIT binary patch delta 475 zcmV<10VMvc1I+}GDnJ0Sj|==^1poj50drDELIAGL9O(c603c&XQcVB=dL{q>fP?@5 z`Tzg`fam}Kbua(`>RI+y?e7jT@qQ9O|`C4T`%NklfA7rh4A65CJaYnga?B^OfkS6Oz+FxNpN=&d6MGum#D;5_2mLXs@ibO_<--2B zDu17u0L?*?x0kHN(^z+dgWV%G>V;s=0`>t(ipBd3D^tgAQZ_1N?FA+H04SCpZ;Waz zgOwK8OeC|{DAnI|ZR7&WPS8rTkx8Vac1M!B7D{2p3%>GR04Pz_sFLJIE|kKYbt~4; zpZx$(qH6us+$C~i5i_~=08l`i^qpe59a0coKqZ31KkqELlHdUyx(R^r$C1#PdA_;(+Fr>o6#nW3 zjgBETlRg0*6gN~cF*-6eIy5yaFflqXFi7nvYm;vQ9UwPUF)=zaH99mkD=;xSFfci= RkkAgjxR)%3uiOtzM;Ix;vqGBPVLF*-0Xk19JB00000 LNkvXXu0mjfVC;Xg diff --git a/companion/src/themes/monowhite/24/exit.png b/companion/src/themes/monowhite/24/exit.png index 1b240513f76ce9acc5e22d0afec7f7af3b952f75..6940f153449dd9ab975ce5692f9725cf1114b6ef 100644 GIT binary patch delta 583 zcmV-N0=WIJ1my*gkbmAuL_t(I%hi%QXp>Fl6tpTXT?#H8go0gk5k_npK0!GEJk!W`&!pmy<0OiugaPU}oJq#fwzu7C0ZpW8P!s*K_15w4wp zLGAhM;gX5{jdE(}zE6ABtU5Jl4ri7`7L!EoMMZj-M`I$HC3E;s$kj zwqBsvp2GBnh=`QEI@fUkU}s`Tmy*bp2sb-pv#TlNi)u*C2t?HsAwp`>uh)Kv7^`ZU zzHUkT9kEJYM8sH~kI%=~SEMdd$?w%U_P5XBw`YrE2hc$GWOeHYiq zttMrz^w_pmkQ=0T0>I2sPT@u46R(-0%)hQJiR8U0_W2jHlfeNUQ8!dEF*-6eIy5ya zFflqXFi7nvYXATMC3HntbYx+4WjbwdWNBu305UK!G%YYOEiyM$F)=zaH99mkD=;xS VFfci=kkjI%I(PgtCqOF3Kh}wdpsWB=S zskx!g&{iM7PY_acfg=1CU2F`Dh=P(VpO)10Z;?~bIn(?5y$_u8!U;)h)z+f_4}mlX z4E`2~0z=Hw{u?09HhWdI#4d@SfPM~GCsx%F*4Ss@J0MJkQGejP`f`hmk|F%XWvx?c z$qf;A)DbalNnNSAYW9dZ^~6XW5b;>e84Usn@72{$HEGIj5tr3F<3XU$vN|OVJ)^$b zThX>xgJT*29tLJ9TYWGF)%tZH99gkD=;xSFfc< diff --git a/companion/src/themes/monowhite/24/fuses.png b/companion/src/themes/monowhite/24/fuses.png index 38f4a0cf7fca44bf587d48eae2ce6ba7b4dee525..0b00dcf56528463625d0f9e6aa7af3ec792f0f03 100644 GIT binary patch delta 580 zcmV-K0=xai1oQ=vkbmt-L_t(I%gvH8XcJ)=hTs2UxLn#GC|TTERJ72F(n1#n5h)Js zCQfY>luAKCChL^8%-R%sV3oaz3O2c3?iOQcF}NyB{^bg?sZ67YVP9P zZ~EYWpZ|Zq@BM*&SApGb3ir@N8Sb7_8Pm9n9(?u!Q?cR134e3MK7%~AcjRLJ!bP)L z4}Lnb7irb=r8SbQY}DSv}5N#~d@=j;kemoEP#b&*8KZ^?>Se6dD{zprR^h2++_7Pf*F@yuTi z0LKqLJgQH$rrElj!z@mr9|yXH*oPsUY@6Ymbu2@4&s;`4xS?2~uPrkvgTKzN;zl<_ z77OzQI&|r@%`A<+fGwAgLZjBYlYPne>>5gldg?~V7FvrcYtdv2-3uLOQRg%^R z^UWHme8&&~;QF~79kVE5fWQz$-w?=Ti(6-Ce{ zpePK?J6I}+R*D3s@G^?v1LP6Zyo8-b4^ia&rtp}Pcn*S%g=;mNZ>>Ljefv@nJ{NtT z?Eg|=A)JS~@S~?X5NhE#EcIyK@&GUP40V*EZ8VgnU0uM8Hh;Jc|b6vE=FWlMH8{ulig&`3=j<37rFCC z6VKL7sp!u${g&f?*#OUeXR0|sNQU9B!pA_-m`M}KFm<<9vPkzCZHdI9WSD|Q_p0xa zbh(OaEyUInZGYaqnvs0qR71(U7A8CDvdE>;JYY##P;#YhtfP*b{ndM%YTu%pP$Ix;mnGB+zQF*-0XLo3W90000bbd$US7$7lJGBG+dF*-9aD=;xS VFfgyI(3)EF2VS{N990fib~ zFff!FFfhDIU|_JC!N4G1FlSew%|t`B`U+1M#}JFt$q5oh4b6_z8fUUR^-Z}^Qw1W=Y$`X=o3obXY%>;e=wN;(7w>D=I{BEW?dJ>M-Q$_&M-4b+WOc& zFEU5!pYqD%6VjFJUKC^}q^JZkpETn!<*j(k80`~ql#Q+JKg*ML3kHVGz0y&^=}gl< zPTVCcVjf~>Xk}z-Wn!vrU}$Av;PF-?d*W+Z1$1%C4HK>dy~E(?>gTe~DWM4fXtZH) delta 203 zcmey*w1R1Z7CU3x0>c;6;wNUQB}aL>IEGl9PX2S=K`KEh@GnEwgMG# zEFozRKPhLmDIXXZyl>ciG^q_^oGi#F8)zD0XkcYzYGq`uZD43+VBoBMMwx+uLAAs+ zq9i4;B-JW6KP5A*lEKKp&_vh3P}c~o!O+sm$QYu*_4zespaup{S3j3^P6I(3)EF2VS{N990fib~ zFff!FFfhDIU|_JC!N4G1FlSew%|t`B`XWyk#}JFt$q5p14qXpT57+B_;B7VudwS-2 z-QK_btbeLb7x6A^YV=?ryD*=qPITJOqA+5&LO`4^ZbX})@9p^{->lQ1UOzl zaNvV{|9=TX37-F)E7D!QGf!+_o&WcL=hcSug(}vWCQ~wmyqX0V7|!=tmTm5EKLT`@ z>cst$BIY56hE_(VRwky}28LD!1|DxUvM0WgRX`WF+%VxfP!EHrtDnm{r-UW|c;6;wNUQr9^wWIEGl9PX2S=K`KEh@NdF(g`*#4J+v45(dH=S zDLU!Qum3v^xV31xElJpW_(0EL*?P&41RuAc$BnE(?K8@gZ5U-0 cz!Cr0f32kAUbOs>sboFyt=akR{0Jn=mM*si- diff --git a/companion/src/themes/monowhite/24/list.png b/companion/src/themes/monowhite/24/list.png index ba570f3e9ec75a3cd8a994403cbb6cb0611b7973..4ced8a69f80567f527244520e54e56d52944f1ce 100644 GIT binary patch delta 489 zcmbQt@}6bFg!&9m7sn8b)5!@EMh&wYr&kM%suYjpa0+Ojeh+8w(hOs zGR_%M5t6r0@&7r_s3w~-r{|@7SexHMZgs!^|63P*JHND8C|#m{ner6lgQkCyEq?sl z%RBwW(a+B%>WmD4;LpCwz*lnwPoI9zvs?1tqU?mUlFPjH$NmRzdNo^e|B=?s>G^R} zY*(M1{O#@RE7EqG72M+4#7d+kBqa82Huxxh>+dwJ-8MqNVE25}LS-z!fpEqe7Z zRLxH9VEFcuKJ87b{);_NDM(E?Cb_2GKJ|UNt$wlBQ;X9-Z~U#l|Bx?iNyqQ6n=0y0 z{gXfc(N#v$v$^L;dq=U*B=bXRLPi%Dm>HUcUi|&(sydH>fkCyzHKHUXu_QIgD!C{X zNHZ827@FuB80s3ChZq`K8JSv{m}(msS{WF4yw%7?)?t;KpOTqYiCcr^h6&e!8W=oX L{an^LB{Ts5@9W@( delta 372 zcmV-)0gL|c1d{}ikbewGL_t(I%iWW)OF~f?#lNRX;zI&g>DeOm7dVLsfuLZ6@TR0i z>5ph|a0mk3jQ$frp+TrcK@cLGnt~vBPzVy@<<}tMd-<-UOW?WNJ>P+IzjLmEY=^*> z^ZzI?C8}XqKOxEtd8W$YI{W*=q|BHlUa1h(3rsE

RX-!he-pppnF*GeOF)cDNR5CF-G%-3eFe@-IIxsM= SI(3)EF2VS{N990fib~ zFff!FFfhDIU|_JC!N4G1FlSew%|t`hdPX5n7sn8b)5!@EM;zKrp8lUXUvPP=;G#eF zEhjx9n1utsy*3n?xX96e!xJ%fA8u~JzIS_%Z+ppqI9WvhKM>d-u3sZ{X^+`I`|}l3 z8pXG>rLrmR=ux`8@_&D7xzUaVtXh-Ul(%vFluNFXY>||Zm?1H3?v2s}^TROcSY{T8;2n}?Mr@tE}g`{|aglFkOa$Np6RzpsB^Z1>my&Huk2-o7F3XT5!b ztTWrP;|ruL`v2|Uo??7BrA=rV_sr;j`+xoacTe(IEYBPZ(?9i_s;nQEu!XU)u?eHuhpEVih|NU}a@5cnojg4O~Gh3FZbq3r)-qiHU`RJH_&``{_h3Afls2}#wk!c=4$x^Dm;t>Fn5F_?fJoO&1IMIJ;Mck#PxN`MN-pEacRe=Iy z8M-()%&8*?12kqZV-)D2Suo>>W`c!g94;{ov^cQBKxkld!DUA&4LGx==pWXwX-7>6 z16#_8=BBumY4|)S?Y%!6KJ^EG`VJn!){s??dYqH10UZ=IR536*GBr9fH!CnPIxsLp rE6gL4+yNaRHB>M;Ix;vqGBPVLF*-0Xk19JB00000NkvXXu0mjfyTx-+ diff --git a/companion/src/themes/monowhite/24/movedown.png b/companion/src/themes/monowhite/24/movedown.png index 7d99daf0a9eb7b87fc267e2831a112906a0f1b77..1110545aaa515615a4ac76ef57cf18e9d476b762 100644 GIT binary patch delta 347 zcmdnaJdtHWe?23Yr;B5V#p&b(3Dy=yW3KZv8>c?hoyAqmR@nBOLr-|qC$G$NCwa0~ zoMOE#)gsZe;r2ASZGXPzUTfwlDiExlxA^`%t-SOP2lAK?duIwx4L8#9mQ0ZVfh`v4 z`+^@%`K8&khAr~&{{1{WJWO8STOywuoG{2J^sUuBsdel_{eOAo!|`wYCMDhc{pZ+! zAh^H#%%1kQCw^ChIQ8#zF1xYS#U!d7-u3_MTd+{c+tZ6djQwSencU3^`x3&EthoYz zfrR|m8@^8#NK{}b*~$OE;u}b4eg5Wm&Rm8z2PS;K&@Z0o>pXXvM6mi@CktxWd$8)mE#2aUrD`GSwC-%-|O*K?i zHQV%+O-9;e|IhHv8)jFBf3JIfS`x9JMkr*R)U8vTSR7Ls~x|=V;XAucFDf5 ztUt@Z#2OC7#SFv=o%R68kvR|8dw>bS{a#Z8yH#{7&vR6QAW{_o1c=I kR;h*1VHjd$Xk}t(Wo!V^vHtOde4q{nPgg&ebxsLQ03I=M%>V!Z diff --git a/companion/src/themes/monowhite/24/moveup.png b/companion/src/themes/monowhite/24/moveup.png index fd887b4f0c22a428c5e26633b94c5c6d24b84d46..1c9f4d9d6dad7132ba73f4d2d7e7d8dd37b8c5d7 100644 GIT binary patch delta 346 zcmdnSJb`6Ge?23or;B5V#p$;b?Dd@sMcVFHdyCf#y;Rc546$!m*tuas#{>l-Lvyyo ztRpD~9x7^vxAnw24~7@)%vD{g-M#l<(~gO^)%M$6+f{Xy{l(_F-)-I(^j%qKyK&me zwYf{be7N7VcJ0)o@7{Q?Eq!V(eL4I}&-{HCgQ{;{y0ycbA;GS_-uCR)%hTO$_c1Uh z++)i#{TQBT_Hriw0ht}oT^k z;z2LdM{Pb@>GG?eyHD$gU6MXUw8zR?_>!uo;M($zN7DPf^L*~GsIpJ?V3ZXx4>2^f qGBUL?G1WFOv@$U8c&m{;xsp*<0bRm!!-VS$K;Y@>=d#Wzp$P!mf1N@A delta 304 zcmbQhvWo}8~QOZ3ba0qG!*el&vbpnsF7j8FtIJd%ae8CQ<0DY zCe?)>II0z$SGx!+ah`T}=g{-kcrjz;y*)o?SI%^q6KaO9QKkPpUrcN`D$| zeg1Ux`(MoV^Zc1R#l2G=cs~}ou*D%QiS1dItHWJ$BW2ap;1BgHt7KjzC$G_I>Egej z#dhz`yDxLU2w0qXXv?I(3)EF2VS{N990fib~ zFff!FFfhDIU|_JC!N4G1FlSew%|t`B`bC~Djv*GO&raOPb=ZK%<-M2PiVItxc<*}l z*{WP~>6EsA0b>5w6)nP&PA8n0U@YPNqVqA2Ow_4!3}MHLW9?0sFlfZwvs3as)~9mU zz4hNyMZt*B^MRAwMHv11=O6mn9WAq%@!6!6UQxd+wx-<|tz%a3xar0!z`zxAX5I7K zx~e)2TW)6Vw%ndlG&4R#^KY7WS$mL2WzNQ(8=tsrUamUp_H64}|NJ&I*)=^lzj5L% xSrPLPLqjW5ODiKIZ39Cq1A_{sSNW5<8D$mFB{=JYE(3ke;OXk;vd$@?2>^UWb}Rq@ delta 212 zcmV;_04x8g1IPl9DhC0EpfTu{Uy*7ie|kwoK~y-)-IF;IfFKM-^Bqf%s3ljk;&?Vx z-_nGz$mm!Ynm~A20hBSB2Je3i(5)bFgtB`{+z9I<2kdTVVz5XX5Jnyr=>ZEP6W8k; z)a8gO(oPhmF5Qy3YN^EX5h%^)^(ZBb0?f3cgBMb=)99uIrN7f9{NPWY)moB*1Sf>H zJ(D{D9TYWGF)%tZH99gkD=;xSFfcI(3)EF2VS{N990fib~ zFff!FFfhDIU|_JC!N4G1FlSew%|t`B`fHvpjv*GOlM^IZ0}h-qnEcRQL~Nm#VPdFV z>MAv#z5C^zZS{&1v;Kw4{`mjZUL?kH{x11QZe^#R^>g%6T!M}taZqx&{NbyhGP7EW z#eog;6YZOomQDU=Y?NcS@I>d?l(+nI^6RD;-f{o*>Hq)d=Z?Mq-_M+5dv1f&)eigr z{|)N@{QStY`_q2;o#zZ+7#SECY&c-L=C;L0#oc;f? z=ODv#-~mF@9l=Cw))w`*cxP&~c+)|y{z zJV4K@mbgZgq$HN4S|t~y0x1R~149#C14CUS^ALYSLn~8DD_7KqUQhr delta 236 zcmV+R%rKMTKNJ?B z$^FL$yZ(Ru4+H!E*CWd@{zuk}3ougA4|f?Du|QQPtx=$^fzg7fLyW$+nj7?)$MwqP(C^hEsp!(g|0&G3~?tFEOXZ zlk)pQm#=tbKYz`j7Z?+G+>wX06Mjk9-D~oWF6O(I+r!v13LeC@34AFw;90P7j<#we z=!FCzKmlR!=1?fEN1lx0C3vGV0MrZ5S3GYs-mNJC1t_#)are)>&PQGCR@=#k;hro4 zpwdhXkNZPJ>L#D7U6L9h!@;}6+YPhyx#lAqINYf+YJXVV_$+G%LGB*TiSJ0UCgCmD zjnF%E!H1zJ>1T)mM07L^Z>03IA9l zB3evPmP_L}s^aDnV-X_SwWV>Xx()zNHgX{*CvpAHbbVbq{zm`T902b_U+`=kDvE*_rS z4%S}TIP*^SP3|4>N!DSPrvyoHzTi4!b4}{3=5kZnA79pXS^8{oy1PiXR&!}}?@LEx zIqz!C1G5*#Keq~VGw*usGVR&d$ZfeVRtoLl*u2LeB(J8)P3>lR^u525o}Hc_jtS0o z5nRMLo8@lG3Fg)JB&SJqr`A81Xx7%b+cJ0Aj>Xqw1%4K;czi~80lT1k$p@e5@~Z16 zDDdyOFVdQ&MBb@ E0L#zJfB*mh diff --git a/companion/src/themes/monowhite/24/paste.png b/companion/src/themes/monowhite/24/paste.png index b18ede9781186c3cd3839025ab01315a6cdb951c..e4ed5b9893be0a6dc21516c4a87c7463755169aa 100644 GIT binary patch delta 400 zcmeBRZf2RF<-oA9pZiZDD+2=qV{wqX6T`Z5GB1G~g=CK)Uj~LMH3o);76yi2K%s^g z3=E|P3=FRl7#OT(FffQ0%-I!aGtp43{*R}NV~EA+vlBLYF*}O5o|g_2-f+puaSQ*k zLu&DfnaW|`{-dg*0U(R2XTAMEOc4u(k zo0XU9?>=5<(bKjo|KZ0Uz1h4=*6Yo^Z|1?kbMKxt!%3f1LFH=31q#J{1yfek9WML8 z=6QHl%aUhP|W1XczU&^$#VJZ{+*GMERxxm*w$NZnqeO>m{x)z(O1!pEpG0KXVhZq`K r8JSv{m}(msS{WF4yw%8_?9C{vfG%OVVZwD_s4{rE`njxgN@xNA$oHsK delta 325 zcmZo>>0q9q#m?Ba!0^Si_=#C+^}9S>978NlpPgdJb;v=$^}d%vZ?D3OsYfmyJLFu! zARX;LVe^d}9AekZ#FlO5ae2eC-&I6C@vM|U>9U)$-wZ$h*L&@-gRb1(GkP+^Rr}cb1h64+qmbw+AgnCu9ms&NtH^>3d{PL@4TM)Cp@U0 z@sM7xvy{qAuSGt}s})&}c$HlHP|L8ecclQU$P$O$HJeL67M%F;{q6B`PUf)Y^hf+X zPs&#=YyZ99{{dUpzG($t`ywVVFfgc=xJHzuB$lLFB^RXvDF!10Lla#CLtP`&5JLki zBU39Qb8Q1dD+2>(?K8><4aPtnx%nxXX_d%23@ojTEUb)-AUgWBti^yj7(8A5T-G@y GGywpe`F@Z9 diff --git a/companion/src/themes/monowhite/24/play.png b/companion/src/themes/monowhite/24/play.png index 4d469ea5f26790defe9964638bc7563ab338d869..1fc7079ab0dca99ed2d4edd1512733474912cadb 100644 GIT binary patch delta 211 zcmZ3;yn}hdg!&#&7sn8b)5!@Ec?rDDLY}9#%ct)>d*Rpt?=@}zK_G6={EuwTGR(#s zrTziAk7s@qY+KCp%q9B=NVaqAA|3%eS-BX~jF-6g!)L?UVT! nWkt+G3=OS}Osz~zwG9ld3=BNpYGhBg$0A|5VZ!yv1&oFOhBRWP delta 236 zcmdnNypVaqg!)oX7sn8b(@!sNw)P~lRkd0Tt(+s)onS>nIy{7sS@ks+B~Nu_PPQ|jxtSr6fkCyzHKHUXu_VKd7b7#dg^nOYf{Ya19^85lTgpHXH&){vW@l9^VCtiiz2%E-dX Q$OxjLU&~r-ayz3T00q2PMgRZ+ diff --git a/companion/src/themes/monowhite/24/preferences.png b/companion/src/themes/monowhite/24/preferences.png index 06571c513d0497d167dfd5acb78772d45d5397e6..c08987642737f532d39f1fb8812a449c911f4563 100644 GIT binary patch delta 610 zcmV-o0-gQ!1JnhODnJ0Sj|==^1poj50drDELIAGL9O(c603c&XQcVB=dL{q>fP?@5 z`Tzg`fam}Kbua(`>RI+y?e7jT@qQ9O|`CV$OIL_t(I%gvI{OB+EP#oz31G$>hX ziK$XOh|+?s7bBR1|A41Lp&+G)7Cctyy|K~wm9(oa!+E{3XBr2jLpeY(`N;^S` zTWxI##%5W}z8KGoSr!T#j39pqG$NX_ z`+pS(z^rkC#9;xyy;_sy93+63Xa^7uBv~k*1U4|@2~a{J`D#_X#!Y{sxKDF9fl2Sn zOG?Q6F75Xl+UI#ydV3dzo!DT8mU#>e1e0 z(`0T(Iidv%01(EP;yy`c)5<$^HeR|%jeo{B+vhwJHG+;np zt_l$8OjyU{bPOe)rBccQ0vB^IZNb{X<<2ym>(7sF__}}>y|l8_B;JuQjcQzdTR$?lW@cBb%~>c* z^>Nh|zvl0bwv3vCy}+lBw-45*s>Hq)$ delta 410 zcmV;L0cHNw1@!}vDhC0EpfTu{Uy*7iej z%~1b>vx`4KoVp6`;@=QgK}1Ivm1YqvI5?L$2zC-Ah|$5%A=V`CC6O%Nv%KWp?{PTq z@*GsJrfT;81JL+gg~m=-QmAe@&{W6Ri}X-sDbD@(^{Nl`3p_DVh!DrPh*d_!e{3UL zdEkyO&RAv$95Vek;1K{3aFT0V=bjrp8xS1=;Fd)`Gr$OdfO#7b9v7@3`1$tPL%aj9 znFXE=w+XPp7&t(@amfssdx(vzdz9qsTy07Fa^z}GQ8rdvK2J>Q8rMw8RAMHnD;Dfn z&C}ENLE2shWX%kc{HuYZA~WScW1AIDZ8M1)1@pM0o_5vLthV%0KCP*SjOo*&RXu#E zdMx3T#qHF6X1)O^X{ije+1h0Q001R)MObuXVRU6WV{&C-bY%cCFflYOFflDMHB>P$ zIx;mnGB+zQF*-0XLo3W9la~S=AT?AlIXW^pIx;dVFflqXFpnxb761SM07*qoM6N<$ Eg6mqZAOHXW diff --git a/companion/src/themes/monowhite/24/print.png b/companion/src/themes/monowhite/24/print.png index 58fb27833edbd9ec2c7c5f574f8fdb074989eafd..6826507cbfb98d062f2dceddeddb3d20a6228de4 100644 GIT binary patch delta 358 zcmcb}w32y(mIK4ae(pbstPBhcjKx9jP7LeL$-D$|6p}rHd>I(3)EF2VS{N990fib~ zFff!FFfhDIU|_JC!N4G1FlSew%|t`B`bC~Djv*GOw+1_M9X8;Z?ABL(10Nk`Bua6RrbwFnGH9xvXJ-xIurapa6glX= zx2FU;Eq3w+a)3hYD3UF6I4LM=xmHBgqRNf=81(0UZ=IR536*GBr9fH!CnPIxsLpE6gL4Yyll0HB>M;Iy5jkF*qwQ XF*-0XUbpEC00000NkvXXu0mjfS}awW diff --git a/companion/src/themes/monowhite/24/profiles.png b/companion/src/themes/monowhite/24/profiles.png index 45d7811905ded870fd11ecb1cb87a25b8d95a461..259727fd0422961bd8edbc2c769a5d0559cbb2b7 100644 GIT binary patch delta 262 zcmZ3=^o41HmIK4ae(pbstPBhcjKx9jP7LeL$-D$|6p}rHd>I(3)EF2VS{N990fib~ zFff!FFfhDIU|_JC!N4G1FlSew%|t`B`dm*J#}JFtPbWI^H7M|~gkNg^@IU{DfXx@q zsyKa)mK#^*^%U+D*fjgC$b;WeZPvHBbL06hd<;+D^hzhTQHM*QJ*nDjvZKJ#OJ|<5 zzR;0smP_k$yxi;;d?q$4J%TeyT;#*DhOp+c;6;wNUQ)rWh!IEGl9PX2S=K`KEh@NdGE15HQTe#{p<=fu`? zBR3&MfkQw_L_$L1pRtX?lE#V8J~}im7xnmRa;T5-o5?2mf5v~(ckq`=S*hG-OR*Oa zUGwG3mkU=J7@mbm*_TRi1u`%&sFt`!l%yn0x$im1%n5WkADJuNkl0~KW7wPHD&z5f#Mr!W1_lMoY-<`+%<5K2m(@%-hV!Qo2F{{$$gI`E16J~ z{U{I-#7G*+jn7)28%ZOH$V~J(xA6dq<9i=T{%8NppiG8(*sl;l!Bbc8Q~tNL*|f&l zA!LT`eL4J1PO&xA{(V`*d$8ovF=O3?KV>T<-WA5g600ya@E#E{zZ8C*=~3q}*u?{G zaEvhBbhFwf)PI7SsN!PF!&Q$7qrfKUv`+W-MPKQ(P7_2BDujQVW|`Uf?Ph;h!v&Vx z-6`kmOl$l2Xs3Va{Iv@&HPPl6$HW@ITaZG5dWU@9j>`@QGr+m@jo?4Z$jDH;c>DKoB_&j!cFFlwQ0gWjGzEH6$2eD%=7`o|uwTU3&nozn1$~np;=m)~MQUkN_Al zEtMTOFn@841H(VxSyPf;v0k+fdK-Pr(~h1tsu=*IK{tM!yp>J_9xCnAfq3%hP;}AK z+<1mD=XCrkCUN4auOjE4yzG-a`ATeM$yj%Z82krkch|?3Li9gsmjwM)PouT*#~|)H zg=s@5DLq<~vg29p-cbEZHnOtEUsSk6QNKJT1q*Zj0BD+A@_1K3Ym+?!9TYcIF)=za zH99mkD=;xSFfd5%C~K2$0v#YXR539+GBr9hH7hVNIxsLfu#ndP0000U(Gt9zn*c4r;B5V#p$V&3^RlaMUK_~pA<4nBvXfR_QL}Uo1N9KTXi;NnnrsPMJ!Ssk*mcvrnSSkkxX=1s z_50fQdlh6BI4bn}|9Ml%KWFh_WriblI?>qs;9nR1@RTO^a4eYLhMG`Pfl=Mk^;oyR6K8J=Ypw0ssZ zJS{0^dC+rS@ywU&+UwmkYwN$I<$dE>Sk7Qs{5!C8?}yaQr`bX?J}uV&|2xUsS1a@2 zlQ(?4nHu4V><#Qkd^VoVa13~+Y;-bWe|yA{);n?Z1!L5D9;fGeH*M7LoPJSr0f5wS?tAiE{p?shE#O)q3hpI(9@9UmY|6|r0 zMfu0a9%+BwrdwWIqx~@;Nn#z(vu0Lf=ZeY=3nsr?B5%s^ss0DI!Zw$<=%9?}3=9ma zC9V-ADTyViR>?)FK#IZ0z|ch3z);u7G{n%r%E;8p$XwgN(8|ETS^JDKiiX_$l+3hB jga!rE5CcmqQ)4R=Gl-6yi$A^rbuf6k`njxgN@xNAh#~LN diff --git a/companion/src/themes/monowhite/24/read_eeprom_file.png b/companion/src/themes/monowhite/24/read_eeprom_file.png index 53d89e9c02406654359b733d3df570185db45e40..bd203689c1bafdd49bc842944ce34f022baa42bc 100644 GIT binary patch delta 741 zcmVfP?@5 z`Tzg`fam}Kbua(`>RI+y?e7jT@qQ9O|`C4T}=Nkl-@8-^%ckVmq+zbB?#l4F|jidCS+ymJsn{wB$56iY})mwC-K=zA@ zIe(f^+zk)Q&f1sXbFxuCLYL+?QEV-^&xPM;$<&WP^g$%kV7}&R{pAs-|7~5oI`(;L zJ{`Decs#%2%Trzq1oc>7tZgiNMOh2i)I*kd(dz#>4sI5iyoIR&F->8ixTqN_R#vZ+z&qKr|e_rIr+hxtk#2dgRUF znN`J5SfQYeWo(}?!>Rl>y-)chLB<`jNN%Ux?-@d51cgfhfN@*tAsj;ZwPJ-xMt>J< z83>r|#h$&52A=z^VZbkf(R?pi3 zp1za8$92sOm>Okb#c!+a+3sIY=#H&@w3D)aqD3{&RRjan6ax%w0Hab1PHwzdpROKK zT0pCwTE6|=sy&+ixkW;i0479N#9WO-jgPEw<)s!ye9^5hoYuu2)uk9%L2m&1-H&ih(Ix;mnG&L(Q XF*-0XIk1q|00000NkvXXu0mjf;wMKa delta 468 zcmV;_0W1F12E_!BDhC0EpfTu{Uy*7he*t$%L_t(I%Z-!2OIu+ShMya9k*Y{S5rk?7 zL8wDPaJ7GcWa!$(j+O|{Ep#YCmx7c1A4-=Fb;uIIHG{f{1Y6L>K@h1y(I%BX9ePu9 zzuX&p&hWk8kC$`abG{SFe^|s4ExrQa{T^BM%1bLof|zGdlIP2|-Sf~3D_sKOe_`_M zl_igzb6uSlpSk5H%RaVd&6#|{ke`#AloxV^wt3Mb`X$d3+!x{2jyKMEcatGHuRabE zT}{@}fRH14MXmlL4e%~OJGNAvGP^eu=_Lmm_$l`Gs*Vv>3g@_kaXIxMi5{g)cFXfnZj$~5@F8S}j3Cnfqm-(O85jB(5k+ng{$i32|Jg(Bzu6IZk; z?yDQtZ1>c-s$byYR~Cvm_lezb8wtZXmOo0ROPI)-eZ3Nll`+91Rf|$L6heK z9TYWGF)%tZH99gkD=;xSFfcfP?@5 z`Tzg`fam}Kbua(`>RI+y?e7jT@qQ9O|`C4U1nNkli=Y&Q`VE`x&p>oAbYnjzGT0P4M`0>e zN=Iy(b}Lo-;rvY0#%3i=O!L*6m@HrK*^jg{MTR@ipNDgwd$`X%=K#+ShSoQFD($d< z{eKTN7+TlaC`M6pKQ=!93d61j8zudB<1U&u_hKWe0R6QVmfnor_8eGB8_!Jg&p$jj~%GsA6Tgg8; z#IMRuO2yoi-EYIu|2BQ}u$AI_t>le6Xn)K(%CGwzhud)or*QzneA5hojCah3#_Qz? zL$EhJnrfQ~SF5^f!L8DX$gk9XnKp0*%=WsVsV;UMahjiV1|Q%0-w! z|Kio8L`ZQ05}coTyxbcqi%?1Cd(+KTtRTanq0W1Rd|0O$wCdoWuyS?q{GFnrQyJn- zjZ+x?_<&Of=Z`rS<=0Dpi_mu0cB z#>h`-^!jgPXDC=v$7)=XQUC*oJ8cnyTJ=L3ckJ}BEC2`#xN>{CBj_ybVZ4ABIwn8) ztN(?iiEtF5-29mkVg0I@NSq9RUda#;N-DqVZ&>hV9YbIu$6sHep{!j)a~~(NJ-gfe zLp1sKJvagnXf{CkJarkJPk%Q~L@Txk`n1dzBM#GS_7U)uk50T6p1;(KG#6(|3l^yf zPIxBLTr6bZ^KxOKNuOcR(ELftL8~%A{s-2Fa<=1zM`{2703~!qSaf7zbY(hYa%Ew3 zWdJfTF*GeOF)cDTR539+GBr9hH7hVNIxsLu?I>#i001R)MObuXVKa1PI&E)cX=Zr< sGB7bTEif@HGB;E)F*-6eIy5yaFflqXFgdW0*8l(j07*qoM6N<$g5?y<`v3p{ delta 611 zcmV-p0-XK32-5|SDhC0EpfTu{Uy*7he*y(bL_t(I%Z-#vNY!Bw#eaXjYNYuhqM{6X zft!RZh^P=(l?xZGOG4IPn#R{T!8YrRSSMby#X!WgIKj&q7UCTz3A2|F-`GGl!@xM%ao;b71R#&YLJ2X z>(bKkz*x<5m;%B?{&79B6ChZ0WfP?@5 z`Tzg`fam}Kbua(`>RI+y?e7jT@qQ9O|`CV%`%L_t(I%gvI%Pg7A8$G`X4J|S9^ z1dNK%1f$V7na}|jqX{t`jQ#;64n&7WqnmMXl61kvkTBSRxDg@*VxrYb`v6JBN-aiB zQ9~(2iYPR#Pb}~8-q(RZDSeMPdd_mskIy~#esh5T&cv28F|(~2!gXk+DXG{_sE)0^ zvVZH*QSkt>-7J>bD)Ze#B7n*r0Bky`&K(|QzBeo$S|c04W~9y`)u`}iZ&(DZ9%cm) zbdMXq?kc!nt`fN(iegkErr561KbpfPzfa`k^o5yAQraAF&Q_sw=RZ_Q{oTXVsZukt zTq|T+g182!9pIAs-^8e1jX0;&)cN54M1STTmruMDmrIc%aOgk3*Oz?-G+C~OYm%!*?(G-`yTgx&*i=DA;f#Hj3@e{Mu>f=3K978Nl@15kU;gTrQcHg>g5vL|s>Z}w^ZKo+Z zB1sF=674q$q#pJw^NKv1divNQr=QWMjx~8E8=7SG7~b5`e4Oq3In(R@r>f1K z&v|cCd*AZD;f424ey0AlXJ|E(kG1kEH&MJi@vzZyxsw}Q48P6tZ?NsU=-tM#)V`km zh=8Zkx9EM$M+79r*6wNCD|_-pr%vsY|0dUBB(tt8m^J0v#-w-2wck%is-9+6)122~ z{H^qIYR=~aGIi%9mo_U0@dQ8N^Z9s)Lm+`ce$gc6bsu&ys=C~CDJgV+@OI5q9Y>dY znx-qlu4i3d7`A0yrDy0T&6Q%?mqk~ooE4K(t2gX?w6L8e((IEh=Yo0BX@a6IHzfZcbS$*PVWvubX?3TgbaYVt~M)wNHw?<_vKU6naDgn@xUwZt`|BqgyV)hf9t z6-Y4{MH(2I=o%R68kvR|8dw>bS{a#Z8yH#{7&vR6QAW{`o1c=IR>@$5&|qL`Wn^Jx XWCYRBuVpO;)WG2B>gTe~DWM4fLUGF4 diff --git a/companion/src/themes/monowhite/24/save.png b/companion/src/themes/monowhite/24/save.png index 6861f1349d3098b93e190bee787547f924444a06..938c539593c7a5785116c5e6484231de91110d62 100644 GIT binary patch delta 310 zcmdnM^owbNmIK4ae(pbstPBhcjKx9jP7LeL$-D$|6p}rHd>I(3)EF2VS{N990fib~ zFff!FFfhDIU|_JC!N4G1FlSew%|t`B`eIKP#}JFt$q5p15A69gx|}Wb4t!yYU*LR_5S)<@NBU`3qZ}0VwlV34r|LfV<*xXtI3s?mT zXLwD@O*ojVI#J4?WWmmfDe8gm*n1KVt#53|Dw@+GqxQcu#QX^(gN3KhH?Nf;8-NbW zRxNRjC`m~yNwrEYN(E93Mh1o^x(0^2M&==ghE_(VRwky}28LD!1|DxUvVl4f8glbf ZGSez?Yp~of;W|(QgQu&X%Q~loCIEoUW-R~! delta 207 zcmeyxw1H`Y7CU3x0>c;6;wNUQ)hBtnIEGl9PX2S=K`KEh@NdHP5Ay6Hs#n``HKHc; z{QCdje#)Q!K)_=0`|y8Jj?k9egp>#A9Lo<}?(s1EJHN59aU!GbE6IhAp4>Xnbo6Y+ zK?Q%Ql*(BNb&E6}v2`xbT+hhhc+K42^l@Y`0|SFRdP`(kYbpuz{n|L z8e(W*Wn^k)WUg&sXk}pFtbIm#vMr;mf@z3>rInF|m5~udqF>8e3}_02r>mdKI;Vst E0GR(!#sB~S diff --git a/companion/src/themes/monowhite/24/saveas.png b/companion/src/themes/monowhite/24/saveas.png index 2dfa4f21ec4abfe18045ab3a881598b30d2937ed..31c3bfb733f8c435b758447d35d995e1fc1b2f80 100644 GIT binary patch delta 474 zcmV<00VV$J1CIrekADG(Nkl7dSX59h@8-^cM(%q6l>?R4G0{sWBHT*hkb<4YiGr&q3RyHokE3+~t0Ub2#@q z7x@3+EcYmaHi{gkq1qXuTi&i7NoQiw1puwZW`l`jjSe5K}XP|DqOVM58trXBy7;#hL4+@q&ymCfJz{q*lA?|#2K&ARBe)vFiwE(#^z z%6p_`tk?Z4*|N%DlhLMMky-}nApX^*C;L~b?ELwE&e8_ydlf7X=9DL~eO+{1 z!aZ`{PL>BVgvDz9*eNQ0{1CkD&S%z?GaavEv%2O@J7tn7x6e$asI;JB{sD81{~OBk z?SHW|Ffgc=xJHzuB$lLFB~R98;twzopr0L>_r*#H0l diff --git a/companion/src/themes/monowhite/24/simulate.png b/companion/src/themes/monowhite/24/simulate.png index a836dd016265746db6f810cb2a241c3fe814f655..12eec8c6a04ff710a5ece6ab2a1c17d405098c52 100644 GIT binary patch delta 262 zcmeBT-p4#)Lj8767sn8b)5!@EtUMs_m#1lm>P&;FOFO)V_SywJ{uwXa{)dl0(P{?9*^{MG_nxni}Bb{S7vu&!z{;H zClYGwVjrkDi!mFUW%@W8?wc=nf8TV2HR(V6dwzo4CoI|08EWOkz#zRpqt7QPHGi@U xqpXN|h@qjCk*Sr5skVWkm4SiBTaE0=zKpU8=n|G2CR}F#0#8>zmvv4FO#rUdYAXN$ delta 210 zcmdnT+{HX$LVdHRi(`nz>Eu7>9i$SJ0{?Efdf~i6hx_q*pC5n!pZx#pzvKqzH&Xxp z*Z;PEWG}1dLI37A7V?@L7i46xP?20?ykmFE zz Jmvv4FO#oUCU$p=L diff --git a/companion/src/themes/monowhite/24/stop.png b/companion/src/themes/monowhite/24/stop.png index d882a72705061e7da725ea4ed9a5eb56c46da503..4b1da49b0fa219a560d7e5a147da1e91b14040cf 100644 GIT binary patch delta 181 zcmdnbbe(C!gvbC-7sn8b)5!@EzZwKP|28zrx3B8w;hG^O_a`ao+2M8n-m7n`H_+87 z2&_wUQ;RV(F!PM)l`U|{&-z^}B$!z^Lq zMcF{}5JN*NBU39AQ*8r7D+2?Mw;I_D3=FCzt`Q|Ei6yC4x%nxXX_X8{28JfO28Oyu W=o&0HOt=ozz~JfX=d#Wzp$PzeDMF$E delta 133 zcmcc4w4Z6h1V;-`7sn8b)5(9%J4huc1^!LAa-iu*-GKxB&R5;pSaYO)NV2ds%e$HK z1oEE9e5vdg>S5HQY}n1jQ0L8Nve{VY!o-)dBBmjR23AI3Bz|+;wWt~$(69BHoDpLRe diff --git a/companion/src/themes/monowhite/24/update.png b/companion/src/themes/monowhite/24/update.png index 64f732f1cb7498ea80b66a009bbd91f2b9f18425..baf7f5ba20c8e443cd6d8f987071a6ae688365d8 100644 GIT binary patch delta 412 zcmV;N0b~C41JVSLkADG6Nkl13Qei=aQ#9E77OD86Cp@b*wVzlwe@EtC87M8Q^gf2Y8rUOj=&|U1G1%Ft+i*5N%e0zy;qHtul}aE4AveUcw>MEJwP798e$t$*|IwUbyl2FnhlVNuAe`s}26Of3 z&4zrnFbDM4s$R=0P;5g{KGNRtg`P7N&e2oG?mo!{K>|I~8)@3+wtZb-o$$K_xrYkz6!PV-jO%^Qv2LG%20)M`Mp3Z@z_>+eL9TYcI zF)=zaH99mkD=;xSFfd5%C~K3r0UaPWR539+GBr9hH7hVNIxsLfu#ndP0000fV delta 367 zcmcb_@|Af)e?7xHPZ!4!i_=dhZ_HwH6mfm87oE~sHtEnUB}T_B9?#jINMB-^ePGhL zqTMC`nle_4WjZmHP0~B4G{HV#wTP0Cfrj2Z5w97g*BNg=*_)>Ke(ubj#y0G-;_oK@ zt(W*vy1Kmfb+E7Kw=9**%a3=7OKq8Hv@j>^azle?X-tcT(Ieja<9sy+H@0#YGCz~d zl+*jN>g;+cuVwuv3G4POJf~87(|7xfz*}qmE7DG_JllL;*kIu?%TT#Up&M~0movNc z+&tD}z2~q)8+(Fphj(lCx)bm2E9mXc>EL)=Eyrdf=5lBD{V6``W`)yFt<--lVD-Py zrJiBm2ksZYmN-9RU|>)!am|P*Nl7e8wMs5Z1yT$~28JfO28OyurXhv~Rz{{)M&{ZE zhE@g!&e~^`Av&NMa`RI%(<%`f3`2|ztxOE9j13?f)<2$*57fZm>FVdQ&MBb@0O_BU A_5c6? diff --git a/companion/src/themes/monowhite/24/wizard.png b/companion/src/themes/monowhite/24/wizard.png index d25dcf52912d444a46c70a20f4eec68bc2b34289..88e5941d7a973f0a9f3b939c87334ab7b750451a 100644 GIT binary patch delta 687 zcmaFFvWaa%e?617r;B5V#p&KjcfBtMN*v#xo}Xv1)%WtkwP&wLcXkNrb7{%0?YQMy zUV4?=F;FtDR4`WLqU#s_D_Tk~v@|Zbo-Np=D!qA9=7O_V3q*@^cO2EY|LjlM!<@I@ zqpy8`C3Eh1KHLcRn@UWAL`YvCZ7>Y>Vabr#WBF2!C;S zaEg=vv&ziQEZdB!{IB;sS3bG2a4NSNgOs6#soSJw+c!9Sw5v7s7ez#zYzsQ=>8hU- zv1niENl}mbTNb>!8vB<%X{~Q>9Q(Otou=K}BjG9v0j(Ah{|@ry6&6O^?Jiq7oAGt>o8UVxw_jzhoTQ+TaKEIo zCc0JWdasvvQK8|&Ll33jwiOq2uyLF`94q|7DE9xRt&8l$zrM}7A-6efsnz`GdcM0a zGlKnQUG01`C*)K(5$+Mg-zBb zUXzXqe4FyfZ1Vn&@xZMcQXx7fQXVXdt^SHp zOU3Rh%w1~Nz)?1BVh5WDci^M?#9U!VN5Me*?wo6X&Zt!^pSiPm-)YOu8`%D?-&ON# z*-M!mex8g)D<@y>*nN1L*^TetVl8w&o>AjG6wzRLYR~7Rww65ghc=uuXDIKv$#B?= zLAC9U--Kj_OA7DKn2Hw(@LWB5-KoY`Y|h8Yk|F zi#(c?P9EDgzhecI0}3v)+}#9|<}p9&uz7qndiPAO3F-%URArV$Je?}L z=}3-4m-(u#?wuM*z48p_BLhdr_FA(HxBr= zZ}T4WSNS}-#>tUp#^L`yNo@#7e>Q8y{ykhi*L?S@-1CcLWwZRUtbD?Cov#5ea+VpE zw5&aMS(?K8?KI&$+gTe~DWM4fafZTd diff --git a/companion/src/themes/monowhite/24/write_eeprom.png b/companion/src/themes/monowhite/24/write_eeprom.png index 481cefa9eef1fc7f501cacbcf5135d8381d895bf..6a82777adbdfbcf80329e14902a554a5770715b8 100644 GIT binary patch delta 770 zcmdnQ+R8qmzn-bi)5S5w;&kaGYoE)3BFE~#f6C9++}dI0;HwwqtC9C`>0Hk|Eteazf0^q`g=bo;G|YO`-g!!N zcmBOxzqv6pwELSn6x^qOOp{_8gwcZA(iKfQ9rkznC<{y%gX8k;71 zSjcEeEE5-ul&inGc3u*@O^p8gsXMRiSj=x9(QqO`OK;hXl|NpTyBztcZCd_bx&K4O ztC9fr?E6zoj6Ek9a|w#y51M zy;Kez-aE&Ri@sr*!C-YG+fP@K;qaq&O{?vx?~|8FIUM{pIpiOgZqL(jv&U!B>+|0k zJn6go(#P26YnkSjH1(xG8Prc01mD?riCipFzJaby8vw`s~ zx5#U}EDw_|DK6P^;Fy^6?yK65ytF5n+dmCj_hj8sH~yLD6QA|gu)fj}To#$NrcK(` z?`FWN-@jH3SeCyjk=f0miw(5%b zQc>1LH+H|NmSk=J$9(^`-FoemquUu67*tDKBT7;dOH!?pi&B9UgOP!uiLQa6u910& wp`n$Lsg;STwt=CQfq} delta 509 zcmVAz|l1P(c8YN&mWYR&f9dvNe4y8J{ zx+xC+1I~hr2!gok>X5MrB6P4rhhm}7f-csOL9k%zg~TH9Qg4*U;hd9x<|LrMcQ`*j z&hx#O?~Q~5Oc4?4J>MB6F{>r3lEg`0xao}ZzH!ZZ3}D^5SAV=@-MYBzWAlAv&d+YU zMI{u>?7yw_}Zhg53KspJ@@RoChD{wykkzRSh3<|PseZygd%Ww z#->eYoVV?U$5NnX%_SGDS?d?#upV;Bu)2)#jt(WdnL(~_ks>|L^AaLKBH#wI6j|j~ zF!2be05C_J=YJ3a|EPTOz53T_12cc7mj=!4N7?4UNhfu~GBo&>xxYPFQiD>GFkZVu zBMJ&K>;mwR7L$CXH~8PN_!7T3%Y_^e z1rckV9xaY=n=0#kqRT06@`DNbtC4CPfHDW!;u$M!Q#fXVCii(no}Ks|!Wg$DZmRcu z;?KZ;iF?R1O4o+_;lT6=UlM;IyE*rGdU|TF*-0Xc6CZZ00000NkvXXu0mjf#y;xU diff --git a/companion/src/themes/monowhite/24/write_eeprom_file.png b/companion/src/themes/monowhite/24/write_eeprom_file.png index 2401be1a2b9a58605e4cfe63cf8480b73783c7d3..7cb6182bba5ef509484a2e5bc3db1e4468d3fc39 100644 GIT binary patch delta 708 zcmV;#0z3VP1>y#fkADJNNkl!V`^F#*9l4i@2 zq#%~$eN(hKD}NVwfLR1VC}5GNjq=JV4`ujCPrPJa{P@e-L=Xu|u&S^5bMOltF1R-? z(i3+`fODF=JE-`Mh-L4Jh!|-a&bu3Zoq9Nq^>GaI!9;HYM5D;h{bhx_kFsP@08Xs$ z6Mlxf6$2NX9{F)=zaH99mkD=;xSFfd5% qC~K2T0v#YXR539+GBr9hH7hVNIxsLfu#ndP00005cZr zZI+5>6&~N&;I8gecTKzH!VI~o;enQ4xw{)K%$#escterYrCIe$^ky3^td3nB-LYW( z6xXDfL;)tg8IQY8-_Nc{muje+q++>rX7sn0h2FnHBG*d=eeL$=jngaVy;^Xm&di!a zu~p>K6t^`u{4EqU;}risvS(SjW|GQE=X;wwqgou6cB*l!H0U#|GkmqDAu&BHD`MT` z;&&5@mU!${S$^O0UVo}aeZbt3(o|l(jK`9f4c#W&ESlQJa3!eg@25ktqsc# z6x?;5W+#0%`P0Ewz0#V-r_dyK4PGf2Zho)dpG_+tjRHPkFF~Q9h?i*lW)Znb4XetJl`w zF#oZm&f)}zwG0CTgKCLuL`h0wNvc(HQ7VvPFfuSS(KRsCH8Kq`G_W!fP?@5 z`Tzg`fam}Kbua(`>RI+y?e7jT@qQ9O|`C4U1>Nkld_qloUoaemfJwNXOR*KCS!6=&W zK7VH6L=9QVUUoG0N+lu-SbGgN9RKES_l*W8|1DMl5XG(3MP1FmnQ!AcTzIu$C&xbN zWkKH%y{DgGa?-<;FZ=KvfR?K3Y!Jfw+8m?0Sz~QgA{oHb3#9Eyc)7<1( zY3#)m7eE~6ur+u}iVIS-&c89M+UC=TC;&a2b`F^{m6F>tbLC0PILk>&M|EvSw{7ox zWK-~nb%f`$3BjA%k1@bZJV*%-S?ZlT*atg$a2X#-eR7B?i(VEkaalI#+Zt|*cYp9E z01!HnEu#X6e|k+Ai9MQ2sz1|ec>19xOy!(85jphdkF5ZJW()%Wk@^E0JBAh9%w(zC zTwi-@^mTp3T0`~!uY&*t0BCy#+Bw?emCrY5>+40&jzCSaYbZKRP>gH@;lfPQDZ7I$ z+8wxf^U{A8FG@cg8-L9g1kmK^-JX+!ojR=R(@EvjgeUN_YF!!3#r2ft zAi;|?Kv62JJ+LOElEjHkg5`#s-MD ztL|cdx%UN#0sveI6~^NBxe4(up++jYeS2pHs%+_K0+D>jNr;gFl~1QnMh~th2y+$d ze;8;j+0sN1p3U>OUehqepWLMLkP7MxV2MAN-5g#12~=vX&963As%gsbQe-JF63}H@l-p^_5op-*mz0NAC4l}P zD=m0KA3v3%lW+nZ6gN~cF*-6eIy5yaFflqXFi7nvYm=b@9UwPUF)=zaH99mkD=;xS VFfci=kkQ?ec?BN9}Wi{0jkhe>?1R z3q%454FOj1gD6l-m=^9Z3P1>ea-PuvBwon!m_xQ1w$Le``rVp%WSc$qSY(+m?Qq=; zp~je}ePy@3wi>e2wStvBHa18=R{Fae-Lkq?L&~1Mc*V-+keT z8x0w9za`T#%=5LA#_TX;uGKc%e`vXBu5gXn_IhS+#<0|P9<|EVW_r^h8@*}2^N}E& zbizv0#RHDHSxon^Jt>tKo+Yfc!I%x=d2bsKF=rm((To@58HX5W3qjtpoIFN>3Gz}p zDv;cKo7h8)AeYFeo(S)Wl9@utV2~)E0GBvmi;GMXOTA@8#HJLj^UW%DK3|kSVsaHw`(bXjgQIh5%%TC)oYeei)>%8WdB>&^IhFL;}Ro-c5#-ySm&i}QE&i>J575z*=K~!S zHB>P$Ix;mnGB+zQF*-0XLo3W9lNbaYAT?AmFgh_bIyE;dFflqXFiw+jxc~qF07*qo IM6N<$f-+?x_y7O^ diff --git a/companion/src/themes/monowhite/32/add.png b/companion/src/themes/monowhite/32/add.png index cea176a31d526704217b1be3501019e4f5af3b50..13447d37e3bf5ce3b75bdc972cd0c09a1c6b39b9 100644 GIT binary patch delta 258 zcmeytw1;`Zg!-+XE{-7{$CDEzSVfrK_H5$g;p5@qVVB^05O%1^fA{jnJ+{n;5A)xa zERb%z&QSULB~W@M4-eB0-h@RaJZ`)W{j45)l9_oua;B6t<}jGt6I5_#@LJUI$WNSC z^7nsXMx$@ayW3YK7Cd;^?jv$ihB23!t!=gVvKohvhuqq@?Jan2oI9YDvCMpCToON8On7(>gey5-X3g5On7NDlYM=uv0|Q@TPzTp)Z|2Ed xjPgQ;rdGxlRt9F;28LD!22tYKe3PviWfcrVP$jgzE^lH00#8>zmvv4FO#oXpRZjo_ delta 194 zcmdnP{DW!2g!)2H7sn8f){J4hxh3i!W*k%xyzry^BWLPkPDg3mxk;eJCE8xYj6 z@zhB4NHxgyPN;BasMfgIpwu->@1OGFw*N;O*ivjmz8zvTiLA~Dvg>faT3@q)@$$(R z1rHV%USV)jy~L;@#GW9tb|zaRBLla4a?brM3snXN2Gx?u!HiNu29{O^=2pfQ+6IPJ r1_rNx7j2we&nT;45MpR%Wo&6>Xb6$Gr(S&+sENVT)z4*}Q$iB}cXC0t diff --git a/companion/src/themes/monowhite/32/arrow-left.png b/companion/src/themes/monowhite/32/arrow-left.png index 48deb71822d506939fbb429aebdcd14b05510b44..060c33ea94785d29a4ba65bd4159ae1307eb1376 100644 GIT binary patch delta 194 zcmZo;{>?ODLVby+i(`n#@wZdFxf%?3T++L$-`6|wKUftYQQp+;r=;cdGH3GlOPBZ! zj2&jYnE1Mnb=QYI+8iG|1RljrI51bCmHFs{u8(n=mV38139pa7x$#h&pTPP0MDD#w zQ6GOu*zfW1JetJ1gvG?fVM$%(IfoAm&+trS&b+PpY3<$@(-{~hOEJm{8Jb!dTUZ&G nX&V??85l%~XY)<=WRz7f3_+F9_PV@@0SG)@{an^LB{Ts5fUiv1 delta 204 zcmV;-05kvl0)_*Skbi$kL_t(Y$L-Xy4uBvG1kkH-aP$BF&(9#Kle*B}0VX=onR_&} z!5m|?4CW{B3t$z_JgZ_o9i(v%kT?TqJO_k$2KWsmalkx^3%AD|T=4@tNYy)#?~gjL z3e^NO5b+d5BHIIr$Tv|SjJ}eipa3vzeE=D%0;Ki*mo|YHfC&>4HX0~uOOIHS4FMk# zFgZFfH###oD=;xSFfi-;a0UaPPR53O>GdVgjF)J`JIxsNaCws#H0000?ODLVby+i(`n#@wbz$`3@-XIM40a``tc~|3ar`tko8wpAIjYK6sp%%*?l8 zYr~34Ex)^rCzj9u#Td)6R>JMYQiVgC#GN*n%IytY6w{=8oz=Rbd3}}Lnq}PP8uQw} za7@Xb|Dkt3tEOb?L@vgF0JmwG$E?`zWn`<~U2#hNTmDj?;|vTr45}rr5hW>!C8<`) zMX5lF!N|bSMAyJj*T^u$(A3Jg;%8j delta 200 zcmey()WketLVdNTi(`n#@wZb9`3@LxF#8_4_y7O;{uk5o-U=D4)ZXeWpJIPr>mdKI;Vst0NV0S A1poj5 diff --git a/companion/src/themes/monowhite/32/changelog.png b/companion/src/themes/monowhite/32/changelog.png index 397a99c2cc82f93793e45e0f7b24b9a6142d6789..e547df71ea1b57f5496fa71b6ce54fb6cc3e63ba 100644 GIT binary patch delta 233 zcmeBVUd%jULj4?17sn8f<5#C1et_YQ6fzbnUY*KB68%(_ delta 231 zcmVOAW|01ij^$)KM(spdcjuGzT`R=FKW1ONZ0cJjvaQ4E8d-8@r}Bs8N7fz^{W z0Uu8=IXW;mIx{#cFflqXFzfqru>b%7C3HntbYx+4WjbwdWNBu305UK!G%YYOEiy1v hF*Z6gIXW>hD=;xSFfiUHd&2+#002ovPDHLkV1j(HSk3?d diff --git a/companion/src/themes/monowhite/32/clear.png b/companion/src/themes/monowhite/32/clear.png index ac0931302cdecf738c8dbed31fd3bb32148c8694..9449dfe4f4b86c27344c8a3fea24477ec9446398 100644 GIT binary patch delta 209 zcmeBS?q;4ap}xh_#WBR=_}dUiz5@yz*?<4fznPeJdP7rM^d_BeX_~xB96B|^Y|?25 z!!oSTGKNXan9HcP#=u~Ao5TiD)hyOC%b(j86djuXSev8UB380QSL5oGsKkSPVbUFO zU#6@NDcH<^!R;sGq$1wYsxHrqPh zh?5-w9}+M*IxsgnGdL?SF*-0X>-%!ClTHC0ATU%hHaasoIx#UTFflqXFy1G7!vFvP M07*qoM6N<$g5vX3mjD0& diff --git a/companion/src/themes/monowhite/32/compare.png b/companion/src/themes/monowhite/32/compare.png index 415091a75d8bcee5775222208a5770b74465e25f..90cec960201d886df66131d7edb8a85006300ae4 100644 GIT binary patch delta 293 zcmdnTe4ly3g!&tvE{-7{$FGKX3N;(>Y?jz}_5GIrZ;oGK7MK*_Hz!m7E8~m`$4xS` z|L%31XC%Ltt6;+WN83erh}>{uc@fMk5-omw!vC4q7q3{&yCZ(ai-09n7X)4eym`FL z;K#mP@$`&hf$gf^j8A#hql@^szKgV;v-qOtyJ(Xk(}G{MajgwDNqy|sxn`IObFnAi zWA1C$)Kz9We_iVgHv`+|@MRL7uWCQk?5V7}>AJIa!MA%?J+=xO8QuHuBq(%srL%&O zZUHCDKGuX43sX~VcB$z*_cC1g&N^9o?%@yJN|)@uFY@`MH2<>20kbk#HL_t(Y$L*9m5`Z8KL|MnPdjA{50vsY_abYYhOli#KcB-d%6c0T*>GnNMrQL+61Bif6~H9d*L3WWX9g4D*>Z%f7nj>tu(AM1xk>U zaRDDsFgZFfH###oD=;xSFfi-;appnF*GeOF)cDM iR53O>GdVgjF)J`JIxsNaCws#H0000A-$^KxF*FC3qU44Hn!O#S{r27L;I!9sdFpxIujl!Eo(CE<_$P*0 zq^16Nxa(rdGUxRvhDZlulJs&%vbM+|EBJoqvz-a0C1oTD0e=v5j?Z-@rY&!r2(aPX zlg4fH`g|h=VuXQU?$=P!`k!ffy|20dnkuB6DkbYJzygc`Ls>~JGfQ5$ z0QgyXeer-75CE70`m7m6>nSj&!4+_$y|ErJBh&(65400E!dO-Z2*^_aTxfo4;!{uw zhtuT5&ZV}nL=aj$IVM`z=}qjh`IxAv^WaVwF9HjbVq+A9(~kp%-$581&e;IR;3@lZ zkei59(~`>m$`zd6g-p30Ur`DIXW;mIx{#cFflqXFzfqrv6K1%9Uw4N hF*Z6gIXW>hD=;xSFfiUHd&2+#002ovPDHLkV1i)ca=HKj diff --git a/companion/src/themes/monowhite/32/contributors.png b/companion/src/themes/monowhite/32/contributors.png index 89fbf7950284a9b6a5f040055dfc55b02d3776dc..c9cd49ff1b00c9eca65721c7d6460cb835c0ce0c 100644 GIT binary patch delta 715 zcmV;+0yO=;1%L;TkADJrNklO5k6B3Y!fKdu!BbdO( zqoOftxoRwo1&Im9!bYPuG$s~CArX((!h*!a16)uc!pb5jo)8Zr0?M)C9?U$8ah9D~ zcCAhPs(Igg-}is-e+>NdaIC;>qm)UsB)*mcCjMsVW^(mt?tc&wc3JoaBrll#k~utS z<;qxeN<>7Ys6WA?p&($e+Pv~5okd%lUra=Z#QCsz)>xZ_3H%-wavm zCG?SZA6}Tz_^>iGKW42MA2uvhp#7$lZLxKv;HYq!!KPJcG281buDliFx?zyBKGTwu zSHZ@9&V)C{FKCGz*f91wXuEeAtg)X0aJN@oteAaphdmbh;;&QXb87fTkG)<2d`GK` zwi@B(oPU{7ns}PKaBXpSiL=mP_0Y3XuRF9>sioPq^W=mMz}H~wbJ`UEeC7*NIz&@% zFKVVV5wY*t^U)(r;WKUv!?Y(?)#VLJ8WaSmPaYu=5rHgHBc|B$8MXqQ^ho;E+B?uC znM;Hywv)4W;4N%PtB20v{4FH99jmIxsdX xFflqXFj^OD4wHcb9Uw7OF*Q0fI65#kD=;xSFfc1h)3N{n002ovPDHLkV1h@3S!VzM delta 570 zcmV-A0>%A+2fhW6kADHTNkl`KbL8cG8JPIcv1LymBpn&%hdOGg?b!EVVB(ggyUB?0WniI*5M@4FnOg`& zNK(^Wk!>C5R%O++q`ID@?6vmwUf+}`)})&1H`4EF`G5VOfEeSHJoG=VGyF=d6T*y} zA9-!Po7>I?m)TkMOF2;pUMc%0NE8JGyxUXsQf7m#-aB9P|JOFWz#o)DeoRU!1myq# z03~!qSaf7zbY(hYa%Ew3WdJfTF*GeOF)cDNR4_R@FgH3gI4dwQIxsNn`*N`W001R) zMObuXVKa1PI&E)cX=Zr diff --git a/companion/src/themes/monowhite/32/copy.png b/companion/src/themes/monowhite/32/copy.png index 837b2365df00fe0e606bc6dba7e11810cdbadf02..5499776ec36a47326c75fcc09e0d088ee9a4aa3e 100644 GIT binary patch delta 215 zcmZo+p2$35LVcH~i(`n#@wZdX@--;%G_QR4H@-5?MR3&+J^39tes2T4d9=p!SB*(q9>G z9mN&R^kX~aUHx3v IIVCg!0Kqp>r~m)} delta 252 zcmbQp+`>FzLVc~Li(`n#@wZdF`5Fv3T)H3r3zri=#;uf8MT53dknahtGbA1up)A&Qo#DVF^5xE~6sgEz_&M^4U zZCvrrHjZJ^pI;oT1^$Zv8~FVdQ&MBb@0L(aBYybcN diff --git a/companion/src/themes/monowhite/32/currentmodel.png b/companion/src/themes/monowhite/32/currentmodel.png index 89af84e3747fc76a91fcee30278f05cff395778b..9868bfdf241b42eb349ccd4a725c4827f51c8df6 100644 GIT binary patch delta 450 zcmV;z0X_bN1oQ-ukADGeNkl{=Xhv`p$RmmEf76i1Clmf6dS= z>5rv4vSQ&Os(;b5_UG^LyFH_cJg;!cDkU07i1$A`Dg3@c48#jO4_d=i_-?s6I?QSr z+hXwmSBQun>rBHQwxAy5iHII*$cq&?-YpQV-=c(tFD1$P<$EHgI(=-DG^Lq_s6~@- zy;!FhVq!C-zk83fAsV0Y-+ThtYW&>l7tkO8001R)MU$KX84@uyIx{#rFg7bNF*-0X sS{G{$lg9xaATd-iH99jmIxsdXFflqXFe^&avH$=807*qoM6N<$f<3p+asU7T delta 332 zcmV-S0ki(}1cU^TkADFDNkl(QJI@G*nKB#{NfS{|iyDF_309Lq{%omo`%J4RNu%vkgyHDC!2-ty9 z=v`6f)ygoyM%Y@c(i7vlJ|IhyTrnl)W0K@jA21}@kyg^2leBdK)5qEVEV1`V z8#Uwm|H{7rxCsFtrGygcF+3`h1_B=vFgZFfH###oD=;xSFfi-;a eGdVgjF)J`JIxsNaCws#H0000n)KSPH4giQ3vZ@vA7Z}GASX&He zgPpxv_lp6nJ(UgsC)zg1S^unGI~P(o`ImH{%aEfE3^{bQikoLJ2_J?k-u`H_ zus>SyVhBD=wtv|JIwE7C&O>D38w)*t{nbxQBing67JqU?KzMZ1>t995iAngJVJ&us zF)b#QT4O!2RtvW+PRi-ts3A8R;vH#Dk>qM{HAt$_-Dt>=>y664Nn0H5MuWraQ_7Gr zfo^z>5=pY6K~OQm&D~AON>;PbwK)*4RrWLkjnB z0~ka`xh_gbHyX^m4v|L(rZi}a7bUfP4KB+WS(I#X(3CzpAYX?t(_F*yoWH*Jz6hoo z*r~oqot^VzStEqU7RFES6EE<~u=9rRu-){)lr8Y%ZRBO;4&Pl5U+`Ja0C3;~%*f&^ z?sdMJ6(7+J1>bOi=Y&7N)Y(I*r@8r)M*<%bF*Q0fI65#kD=;xSFfdvdYYvlm0v#YR iR53L=GdMahHY+eOIxsLRO4G6c0000}<0GzMZNLV}f~u@}+SO3;Ad zx3CM?q=|)vmEZ^P8(7&|*a(W+Xc2>Of{iDN8f+Cf_m6sK1!EZ1r=}Lu>@`A1$Gv^Mbbbmh5;9OHf2=T1YA15eh zo;XG&#?pivN7(hscirku5=~QT490RszHDo?d;@W4v^fGp1Lh1rOe?Y*eR0Hh#tj?i z-JvhT{H(#EqxQHn?2ev87r!?UZQJfCLY!LP&a(Z_b!(C)O{;Hx+`#)im{#aPOM3R8 zIgwdoc&z!E!+*dk4VDn1k&Uqy&&A`|`DfDcxMvkG*mBW5`RHhs^y zH!?QKXzk@ixvXtXDAbYOJfSUWM-%!ClV}4SATU%hHaasoIx#UTFflqXFy1G7!vFvP07*qoM6N<$f{B6c A6951J diff --git a/companion/src/themes/monowhite/32/duplicate.png b/companion/src/themes/monowhite/32/duplicate.png index 5bbda5fa968f703f288eb2fdab7c792dd38372ea..2484c87a726745e5944607525ba654a0772ba23a 100644 GIT binary patch delta 388 zcmcb_+{H4Xzn+oV)5S5wtyh!ot>0$(gr#s|x=H-%MdF+5 z6kalaRWCbY{A%i#3l7$Y`1k%wC=a(*5}R=Mmf%JP2|=$qR)@-ZdVw6EA(yyK1MyyEODy_*?ktlRWmAglG7 z;}5O$#ku>l@1(n|{Li}6zpFM-&F}BjIDWtGj;7>SI(!Ta45}rr5hW>!C8<`)MX5lF z!N|bSMAyJj*T^u$(A3JbP0 Hl+XkK`1YXQ delta 281 zcmV+!0p|XS1kwYLkADEmNkl_b6|kWe0#xs$mVTW%=wulZ3fFV^>24oI6Ojo*)e1i+`Pk98Ozm>!k&st$*n0z9wq zt_|?=5H*0Mho}LFhX~j_MS|nwv&y__o`Y#&pZ+sBzPT05 zyP$OfU{enGR!SBFgH3gI4dwQIxsNn`*N|9%>f-CFjO%% fIx{&sF)=GJF*-0X-Y0v*00000NkvXXu0mjfj=Fct diff --git a/companion/src/themes/monowhite/32/edit.png b/companion/src/themes/monowhite/32/edit.png index 8076a87944bf7f0799bd8bf22ba88cfb58fdc17f..c5b4d36f5a5421592f15989a6dfeb0d4c3c47852 100644 GIT binary patch delta 478 zcmV<40U`dM1pWk&kbiecL_t(Y$L-USG6_<7wd;%AhuKEO`qmvKe zAar(fR}|gsqAuc4v6j%WRtUARDpExJ15FU2CdVOdN^kB>T37wDbU5eNd(KUO|Hwj$ zXJ*KDRT9>4gsR^o8gF7cx_PPxh{yMVIKtG*m9w2e8Jjo(lLCb9ApINR-I9gLD#(6FjeRH9bGQ{o z@DUIQ8#xeY?GY!X-~ky z0T2TtEFe|}hF+jjm7bv;V4w^BGY~;Oo(&`$!dc=t`91qNc`-<_Rx0@XtpYfXKm!aK zAS!F5D?gWn1C(nPfKGZO*?sZ=(AS7~=bJBH5kdzb470@P^nWv&WSJ6k=dv!0EiP~C*cKz+L4$!h%*2@ABm|-oCV;84HnBkb!yiG7NNnKEp?VG^2|UGnzUH~ zyS#u<;f;y&(<2fDXF)OEIu^U5a7}#h#K>J#uWIK0Yby@y0WfTnMN(QzPm>S=9}+M* zIxsgnGdL?SF*-0X>-%!ClR*LA1ib~2kbkyGL_t(Y$L*9qOT$nU#eXmUAqw4s4t8)BarOhaxcVKOT)VsJ zCJ1)y4UaYlE(=KkFCEWYYJ@?+^yud&H975>? zlU^=MNntrd^1FSV#qRh5Sz5VO(IX*|Tct&IoUOAH_njw6LVu|D*?F3{A1yKO)b*(- zNkEZ4ojUXBD^%Yio7+1j-_7RtPA&T_qMFt}w^6dqRw^7ocLF$Aso0Z^61m|5&z%=Z zI;wCOzr1e&I6SIIQs;%|;R3daOq5IXDeQ0hAsSNeB#zvPMcwW zrxg1>SUWL30fF(?P88Vtu~TAy)EdRJYAhj1fr6jttU^k0R5?I#^H>SkJRYwcVB2XG z$_l%+VWI4_*dDhWz@tFuG`$P&!f6sxz)L2k|5WE#0^Gyi$D``31;T|BkaKLB?C5bXf}p24*A zW;CstW9jN~1VE^8KhnGHzLj^m;!S|(O1BxX!{dQ@0Wb$Vo_}2vU`!grkpBY2FjU6% zfD-`AEdK+DB><2-8{3%5x0zgWx%RWRxvm-?d{(-~s91p4 zN`O(Z*5F%l1t3vWzXoYU8kq8dB4f0)jcYufy%$KzSo`=B4}vcVO`9h*?;H(7ZW ze4j8PMu?aZNj*3pv*xoPRsjK!kmRz}J*QEK306$3UK=1fEVyLS3ky1Sr>p(sz3E-j zhYr;(?(u7D5BLEC&*E}rto}WdPXZqjFgZFfH###oD=;xSFfi-;a eGdVgjF)J`JIxsNaCws#H0000?Imo;}naEwnb_eO{*Ih3KDQ3 zHZ)xbZUmtV7Yc=LD!Ayvh2XC!hznQZ4{(!Mx-g0`jTdYSv1#z$(1mHz20O2dNhWEW zY5V~_tC{ni_nGs(=M3yeaMxRuLGr$}0}NB5><^1}u0%5Y;(xrySufePwMeEbj_D^K z>c~n`rEu^Qx0~g`)#92Y^{1Ke1N0g{B}uk)X`Y!~XGIldOQyvHFiyl9v9O$x?I5nF zc<$z><0(lpEn>j<>DS?F-iRKf;K(KE#VZ%_10gHw0|V2Eyo!@C#J5xtRZ#^2!Q)HlQnl_%ij9B$EbHBBm_9(YDQbZ94FW_ zrcS=8tUF#HSH3x!oSVOqqS#6fFoqh!maTFy&n$D?<3MY<6QT|%2lMp)udo483uD7y z9{4A7mkWGnlZOJ;Dgs`W08KYKM)u0vTgLl=bsjtNZGU6i?gkN%AEH5SVqHwBuvX$ z9!gEVk2Z#uTbr5aOG{GaM{w0+=SMnMTFoNd9zVL+k>#7uFEiX~ln~}JL#@m9qaJ?& zH4%Y<;>RO@lMezP5-~M8GdMahHY+eOIxsL=7i$iaKmr{gF;p=%Ix{#rFg7bNF*-0X TD@xO{00000NkvXXu0mjfndKtf delta 478 zcmV<40U`dc2K@w(kADGnNkl3`7leqYUMJGkX!PcLlgLEjk3EHc0 z5d;?nhYk*c*Wlpd1$YmFyWk+W2;$&R1(%j8lspa%>B%|dSm`DvOY-J>pX7YW$1!NI zHZ-9B?*WRcF;>6I`DzydoNKz|bpRI})CdX066gFxSh zgnf+})b0WK5zMPmOdupR@5nnPHi?$uMLRH*_m9|wp%k9hamkP~Y-Id6YFEw)lBXEgM|2`3k$ zrhmY$%6d^tCx7nSr`_%`M3B=dn*J?XENu$z9`IM1TMLg^pyTem>Fl|POxc~{ zI0)^wcoO9c*3!mgR!Z4S zWbNAkJclLY`%+rTzJpP%=}q_Qvzh;2+u(q2$T3^S_5-xK`IEr{A5SnjIxsgnGdL?S zF*-0X>-%!C0000bbVXQnWMOn=I&E)cX=Zro>dpW7uR)K>l5cr2GC z@4(p~Pwhnv>JlFuTh}4k&)9p^Cyz_u+4JP%qLSZ|f{(Zy5dH62Zm~=J-^1@rc?V7$ zIG}Ls%dVRGk9Etg^CbP4k|_HB{DB|+5>t09{`kMXq&4EI5SL4nYeO5Gfsv5U^OhKg zo_~(AY=;ju#B1#Nf1_CK-HKmd=Qlo-XSSY|)!ag8WRNi0dV%FR#7Osixt gGB7mJH89jQG7Lf0pzU>e6Ho(#r>mdKI;Vst0Dd5JkN^Mx delta 268 zcmX@aJehgIg!&#&7sn8f){J4hxh3iw}O(9qhj$Hv);nfb6!Tl)?XgGarrd2RXu zV*H20i}nQcwz?)s2>7VA?ENsmQE=Q z2bR0kuo*lm`gY;tp%siT7~H2k(wqcAhK3Lg_tdKo12r&sy85xYtaD0e0sy&gV>$o; diff --git a/companion/src/themes/monowhite/32/library.png b/companion/src/themes/monowhite/32/library.png index a7b1a1e61fb0b59c4f6663c1d2a0e03fee156886..bec53f4909772b6da8df2f2d977d4f41c4290a45 100644 GIT binary patch delta 194 zcmeyx^o?o4g!+6>7sn8f<8LP!@*Pm%VJ^J-zy9XkE*8I86Zm-Uvra?bUv zdrXsj9lrG^XzdYI@Y8hcDC%vOtzeK>lG5PbcyuuX1A}UbYs6$>MhPK9Q!8T&D+4oa m14AnVgDCNAzR9+XvI>SFs1n*I`-&rgX3Of9WvyJRpweDyEb>9yiC+Q2O8ei!zh$J8 z1rxM=k}~osr1ulVE0~i_0i;OFxZjBf0Nj&H7d_m6d~*N*0Fw&=91<`&IxsgnGdL?S wF*-0X>-%!ClQ{t$ATU%hHaasoIx#UTFflqXFy1G7!vFvP07*qoM6N<$f&mavF8}}l diff --git a/companion/src/themes/monowhite/32/list.png b/companion/src/themes/monowhite/32/list.png index b88fb932239ee523fdaf6b2635bf2f3a3d12450f..ba08fe0be48b692de73d13479be9e00a15e9e9df 100644 GIT binary patch delta 447 zcmV;w0YLu$1K$LYkADGJNklZZ1ZN)&?9%W()X2_#M0>ehd|7yj?wbMAi+FxS6p z6T8!!^Qf;ruB&LFFqK&}Or416&B$t#L40Oc$sr-;Ng(;mMSr;2gRskJ1QVo}HpR&5 zF3ZS8BA`YU@LPltZ6Di(s1Bq8D-jjk?Ttq14Qs{h+`HR7b4_Qq#SVtJ!WlAAXN#$m zLy0&MQKOlDMqM10Uu8>H99jmIxsdXFflqXFj^OD4gdfEC3HntbYx+4WjbwdWNBu305UK! pG%YYOEiy4wF*Q0fI65#kD=;xSFfc1h)3N{n002ovPDHLkV1i40z{3Cl delta 351 zcmV-l0igch1pfn&kADF8Nkl^j2 zSd0c6i7=CxL}Ig83?e4^3@WO6f22mI>-oOi^K)+D7;B7B!79pS=uD@f+QVo08DTZ zJeF*Hc;w6aq=SrV6DzWliCm;8dD+WI4pOz>#Fl>wfHA{BA9|(|q9saLHO488kmLc^ zn48Ab%7C3HntbYx+4Wjbwd xWNBu305UK!G%YYOEiy1vF*Z6gIXW>hD=;xSFfiUHd&2+#002ovPDHLkV1h1~lqmoJ diff --git a/companion/src/themes/monowhite/32/logs.png b/companion/src/themes/monowhite/32/logs.png index 6a67d1060f6550779469b112e8eb749d64507c4d..a234b09cf347a354b1df2aac8c93d8bc5fd2ad9f 100644 GIT binary patch delta 423 zcmV;Y0a*U^1K$LYkADGJNklt@v(sy_7Ip?|OgL8qN z{#69s2MIHrUq|5%;QMRZUI0;x4v=)xg=k2}vUk8x-vc?JnSThkO+2g0;Q{FbgWfV& zizUf$0khsp2#PmyPs6seCMuZk@KCcEQq&+j0Vuwrl7oh+mVIe7P0l5;YL#F+ASCV^ z&t$P6UqeL%fPlf;(-qFGD>MNCQLaDo{UA+}*^Ix09c*qLk^T}Q_5ewg>s7M<61&n} zHbatXdiwXf6;6+Iv zPGP|jfSgHTrNcIjQ@ijMVEqtrJJ)vo+y$3$-vM+=Fqh8vJJ(AIaP_5nc&aB$eFCNt z%9LC5Wgbn@~zLB%;wMs5PSD1|;@U z^e#cGpkIwjqZ2nkN1;(D6hDoe-JNsRnRB+;VxPB}c{1;R-ucQzVKQ|l%%1@gfY9Pd zrfUhg+8gN^1ccgH!`Yx84YNXswevrR_0Vl!K@a=GPBXwVZhuC-W`I7HasjIjlk^i@ zq|kAI6`y#tT{zLVmvU9rfJGmE+=0FgL2%7qs}``}9Xo44CtZgTmeN z0KTd>whVZ~aWZVzlcQV!=NT9JAHZdk^fqrH(R}G?=Bb#dQ*Gxf&VHsT0Q>@UL&*{; zC}frZ001R)MU(dd8BZ`dIxsgnGdL?SF*-0X>-%!C0000bbVXQnWMOn=I&E)cX=Zr< sGB7bTEif@HGB8vzHaasoIx#UTFflqXFy1G7!vFvP07*qoM6N<$g26tPZvX%Q diff --git a/companion/src/themes/monowhite/32/movedown.png b/companion/src/themes/monowhite/32/movedown.png index 89429747dc3282a1e802a65fe72e79b5e462a176..0f8c0c6fe00478ea755820ec591fc68a1920c553 100644 GIT binary patch delta 354 zcmV-o0iFKM1DXVokADFZNklA!bHL=@7xF8f93me)C8f|rGa1R_C zg!%^>np^r0YI6&R$V*a0TO9O2uB5=R#UgPyzLvg_yE8v+y=VHq-}^p4UI+;ZVuQ%s zndzVDUOk_rKc~XfyV2Ai^#J6I`_EULfQg}f2p4zJ1-NM=^M5v_?TO=>J)NNY_k96C zdiy0ob0&!3Ox9wlpxwX%$maU%Sid{ZUwYg`LxD_mBz|ahxCLM^9?A@{xT3hzkn49X zD)inR`8RBKRjw!-)eHSj1F*hS(o}= zo#SP7fa^*_2p=H|7UflRfNJ~cq{jKGIzaV*dPs;O-@*5mD{C$d=aXLn9}+P&Ix{#r zFg7bNF*-0XS{G{$laK)&ATd-iH99jmIxsdXFflqXFe^&avH$=807*qoM6N<$f)q5I AO#lD@ delta 276 zcmV+v0qg#n1kD4GkADEhNklrhWx9tvp`+B2)^xSfGdVgj aF)J`JIxsNaCws#H0000fDJ12kRz(RAZK(c}w!> zjCp_me|^k)Sh?xl5w0H+^Z)++^dAW3zcaq06l-n$c=P`J|Nno3gn)wg6D<5^m8rG4 z+s`|^1uV4Io5$V5@WHp`>;ZG@6W!)moZZkH@%H(=`uO(D$2*sm$sCKTo{}hOc#Hq; z4vx!*%3BZ4QS|z*(PRHo;c$u5t*<-t4o&$SpSB?-0SG)cTCoTx|L{M-Alr9aV5!n` zNtp+We#WtTm^geBX*Tbw@I6!~#1mkBPM}Hga@?l*63jiakLU0ir6f&_-tvayu+pK8 z2|do%%*@P(B^Ukg;pu7VJ;1JU#g3~@n}H!-VC&l?&#gv-u|1Gs-F$hM-DldtKhd00f?{elF{r5}E)?MxQJI delta 259 zcmbQjvWIy>e?7xiPZ!4!kK@UI&O1mZEDHF)f>HS}123B$lh(h-Z9V^w{`>#y{}+2> zInxT>2fzRS{0{>6mCiGK`=9^s|8IWA=bq*bFaHbg_y&@&cUr}`eWBFAyX4Jz!qD}Nzfm3O7&F`Wr#T#`5xE-3s7_&irAqJ5R>x9WhC ztP6WzY7*%pGUgt8|Sqtz(+$*3=1B#y|Kj+C19)-TuI}U(#CFVl!-(g>}5C zKQA|>UwOu%#GSPaTn=jkJD!@nnXJVqFJx$HWo%((V5V(gXk}m!C7#VUIhs*c!7v0> ULfh-|CI%qzboFyt=akR{0Q0qTx&QzG delta 222 zcmV<403rX)1DFGlkbjX$L_t(Y$L*Cd3cw%?MHA`VBlP}IPuIEdI~CL<8VPQG7g6*4 zghUw>Qwqj!fC7LqvPo!8+R8dv188fnh42C{3*iNjh42FiCmsNIy~}8GO2j1BN>%%_ zbs&20a0GD=kcJ@x>41qx!kYtF&~P((l2}S)XSo9?^H3p8I~(|K(@K1ugI@CpCt(M? zzqUBw1G-`3qZi%~&XZpO9}+M*IxsgnGdL?SF*-0X>-%!ClaK)&ATU%hHaasoIx#UT YFflqXFy1G7!vFvP07*qoM6N<$f|BA_T>t<8 diff --git a/companion/src/themes/monowhite/32/open.png b/companion/src/themes/monowhite/32/open.png index 36416d0170c004b7c9bf4f1de857bc4cc4c03b89..3ae76d2234cfcb5d73f8114b1119045aad04d324 100644 GIT binary patch delta 375 zcmX@e{EvCUg!=EEE{-7{$CDEzSeTL>4Lut1dW&T zDl*TxB4MMTlfwM(e`-R)icSCjPoD7YR`Y*9<2~&gCO+Qw(!P27+-Lvg*qMI)H!w2T zaLD3>UPbl9>e*Mr!kBJJ%JdoQ997+(_WR?1mIM9IdHf49%^&V`^Z5P$ztVHb4;2?% z62AODzPwhXCx(GR{M`M6iP;6S&M+`AsFt`!l%yngTe~DWM4fMZ%lK delta 263 zcmV+i0r>v@1Hl83kbk;KL_t(Y$7B4@Kp9}7Q2(d_^f!Q!bOZJ<{6~S9;6FZS{T~%D z{Ac*jh-M-RxBWjp@DFYX5=8aFPf|l*@J6Es10zmIgaKO^c=1OL!+(bV43-eZELaQ( zVYo%m<(n9e<8r|yh6n~Zf(9hO7^p7z&%nTt&+vnw_8x}!FhnLJO6qK4c*`KpP)R`h z9|l$g2h{~{8KyD(B4~dOnyXRZn*W5r6MT8WgrN5S{~b^bU>q&hM-8Bc0RV!p=IvoC z$sd!D0Ur`DIXW;mIx{#cFflqXFzfqrv6I089Uw4NF*Z6gIXW>hD=;xSFfiUHd&2+# N002ovPDHLkV1j))ZIA!} diff --git a/companion/src/themes/monowhite/32/paintbrush.png b/companion/src/themes/monowhite/32/paintbrush.png index 62cefc607ea34526b4d04bd34a8499c827d4e890..04e19c28adf50c59aa627b531b7cc85bf5a7615e 100644 GIT binary patch delta 578 zcmV-I0=@m_1mXpdkbm1rL_t(Y$K{egNE=}o#-A?@Xu%+H5EQ8{j>SO)m7`EBq7)a$ zI=U$oLFiNm>FD5}4niRYk(Lg&IMfyqC5dT`e-L6@1VK{0L`{qdganea=hGovqA~W4 z%i!SiEg#4Ip6`91_XX}mFH6L`UC5Zn2O8H&W}ujX$8g%=W`9|as&VHc#!ydAP^rGke7Ph|9`E}Ao!_%x4r56^B`(3HY^)olAXR8uYSk5+|>{x z))4vt05ua0wtrEM!|}|0djeN0Ao2N+z~5H92LObJdJ^XXPh-o$M_bxYqF{IO1{o@u za7(2ktc#E!foP{!U}XN)iYPylCq2dRt7@(MnJv+BX7}6uq}>k*fP^Q%q$)r8)}uE* z=j>X(Qw^sC2?6DBdmBsoA@0QwG=thLbYcEM7!n+gHGf7CH8O>VBBaK6NhW0kkovYx zf(<@n%bS%=$ZDLIWFo*6+3dAM$ucfI@8~`fBNiK_|dTy-y z>ng*ZHWB097s_e-&9r$O09ueP1;0P~2fxsX5q68I5dZ)HC3HntbYx+4WjbSWWnpw> z05UK!G?Nel2NE$gIx{#rFg7bNF*-0XS{G{$lPLlnATd-iH99jmIxsdXFflqXFe^&a QvH$=807*qoM6N<$g89Y*YXATM delta 480 zcmaFF`iy15g!*_-7sn8f<7cPZdow!<9F1>M5Y!cA)m^hz=MVF|FtJ0TVoAzL$;&4k z>rcp>=;wNY<6%yS$7}Zw!W~l^J2DKywA>8rxzEnz-u*5%=*8}5Y0vJ>o_Y7?UXfQk zFZq7va;40^=lM^EackSuIr|QZ-@7e%7uQ+AM{_I2hu1C3x zeg9hAGkdmS;Y)4ny&N(-SaWnkOjcHU?km>f-5K5x?82Wkd+id@IT{yMO;g>gwRlsO zl~>R~T~Rlu?2f>q4&Ug1*IZi^l9r!Ts$r@zw$%!F+~+MP!Dsup!|<8F^Eb0z1U9~W zFT-3>(ID=&YzFH$-`ldLpX+_+n!S)ya_!{)yl0EmI;Td~773RQXSrPF>#t4(EakhS za70o;%y;i?_nrOfuMU{%ACUTcph}4GqPJ;IN}JHp`|r3n@3xNVPOtvH?(z(Ce!m(< z!-KQC-|f3J=f~ps+xvxnuzdcdJSBOr#cu`%2GtVRh?11Vl2ohYqEsNoU=(R!XrgOi zsB2^xVqj@yU~Xk>p>1GjWnl37chN=^9l7}_nQ4^_MlcNqA%ULk`h3$&!}W_@_{=6sSp42071TF`2AE5 zwR;T_Y;0_)Y&Umid72q4taP80Z)lUYh=sgud&$G|Y=6Ch%FPmatLzu&pQ zmYJFP@bBk5T|8@!v@uTNF3>nuz$nbz+Q2$r<;<@C0!-Ocgo_xJeQxjX=ixcZE^+IF z_Wyn^g)nCq$^Cz7|NpQ5Sog>6fnh_VhVlmq2FCmI4!K@D#F@rWrC{_(L{&{J!Ajzx zTEa5nBp!!u{}5e=LMJIUwgqfTX%+v~&ocD9R_lkKx+r9htT#(ww!0@Jd zio!z9x^0tF8Rh*AO|6VAtPISw4GgUe45Gxd`4|`&R7+eVN>UO_Qmu0HQ!>*k8H@}J eO>_+mb&U)|P&H_KUET!Lz~JfX=d#Wzp$P!61(jz2 delta 282 zcmV+#0p-E27GoqV%9rynNAn`s~F#zDoI!KUvL<`L=jrZjH--90j*ewL+9S5i@ z0us8yDJFsW|Ju3(9$p#6TDJ4&<&(Mr9}+M*IxsgnGdL?SF*-0X>-%!Clj{K;ATU%h gHaasoIx#UTFflqXFy1G7!vFvP07*qoM6N<$f;&rlJpcdz diff --git a/companion/src/themes/monowhite/32/play.png b/companion/src/themes/monowhite/32/play.png index 6e56f67660cd38dde595fd5f3f06f66ac8e78f90..c42949faba69ccb947e3218384f7f64cbb6a7226 100644 GIT binary patch delta 398 zcmaFQc$#^FiW^J1qpu?a!^VE@KZ&di3=E9LLGDfr>(0r%1acITJ%W507^>757#dm_ z7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD?*AMYZ}Po-U3d9> z$Ha%Cha*3|{r~^}{)+P{@4HiKi}%?muU+p$1pEw znkbkO4L_t(Y$L*89OB-Pvho6|MTXc~wMR9P{wa~5LD5X&7P#ydi z3I;(Pg;)xuyDoyGK?M;h6z@o|i9rlv5b*~UM4KjpOEBf2_vvt&^HNVQ$yDg)-M;Vp zJiPDseP8$=FA5kR>EIo)NAaLcTG8qL%}9x7O$y#xoqLk5qkrEYR!GvlM=;JLIakN* zhu8rEhWJvec0@|5%29LbX`eA#4yIe#x z8h?Jh^LeYGi7)F8bLjebtEW|}=Zh5IZ`@z^>G}50=G-f$d7E6mxq*R!LAAs+q9i4; zB-JXpC>2OC7#SFv=o%R68X1NdSXvpFTNztu8yH#{7`*;nv=O4g9I7KXKP5A*5~0H& e#L&#j*wV_-5TfIrdi7zT4hBzGKbLh*2~7YVv$it; diff --git a/companion/src/themes/monowhite/32/print.png b/companion/src/themes/monowhite/32/print.png index 95a8e23bdf4f3deccc6f025b1eace40aa304a483..b7cc71425930f4ada47583be8cd90989c4680df3 100644 GIT binary patch delta 323 zcmZ3)e2RI(g!;ptE{-7{$FEL4DAcUL(n(KVPya{LpgQu&X%Q~loCII#}fNuZ* delta 232 zcmVNmkl#on z&1`#O0wQipH4+Fyf1zynA{$Z>f?WEOTmc^vFgZFfH###oD=;xSFfi-;aGdVgjF)J`JIxsNaCws#H00006{%`LyMeyLUWt^Vk!b|leDwrb*+BlRm z*(UP3B{y<0mXb93_U~o^p`Y=!fgQu&X%Q~loCICfVJ=XvL diff --git a/companion/src/themes/monowhite/32/read_eeprom.png b/companion/src/themes/monowhite/32/read_eeprom.png index b5f4060f1d73dc29ee90966bd5a16db3b14afc1c..926fa49ac084ab54b335bc1e4c1616bd5483be3e 100644 GIT binary patch delta 788 zcmV+v1MB>o2FeGJkblETL_t(Y$BmRrZ&Ozkg};5SeMw@uhR}pTDnPs3HA$ zUh8ZF#B8xbtx~?rumDBBUot5`Ajc z@^|?F!M3szN!E}MA~7T!|ECO8{XOn?dibhk=Vu))&`D+?Yyt%ZZr?R6q8~MF1PGa4b_noAPhtWKlvMn^kohLP?HEYaZASvzQ5P2d| zb&Elvqa#Y)T{nTZ9K%>=$Hk|$0=EmA7i%YT1lspy&4%bNnQVC}3nL1FN1 zOdP|YPlKHdc`|KVFNU4Q`0b6Qlid0sB6EsbRHvDM0c{N-G8gXyBiJ6Ehyz$CXb)O} zG4DPpSV;$iX27UiUQA|S?d*`oj}`GQ+)|++-uYQj_}Lr%#E%GFfAs5Px05EQzSM(j zKi6JJQh(u6H3XF3ez6$=zx?@d>(=)&=Lbtkp3E)Y1=M~4lF8vUBLKTP~tU!CefBGTPOSk{}>UU8Mzy{s>TZ`vU);g_= z+1FSpX6#q*7bT)4=3)>mNTTN0w-)#m~C&W)cKD| z9`_E1>(?BUtpXnsF*Q0fI65#kD=;xSFfdvdYYvm%0v#YRR53L=GdMahHY+eOIxsLR SO4G6c0000TvILT)*Gk5Nt+?fcTG-uAa=eyte z&b>EA{GYXeIt&wxs)#qd#Ej9>(one*H%dSH{IZ;qQnAazuz&E`HA;(S{Bf2KN-UaL zd5TlsrnxWIS2ZwC=`h+&(Sje}y0FxdzVnb$`9mUEPqRDh&XJ+(E!iK5(BA zmw7+}OnAg?Ua+4jQh9uHZm%^EdaHi+eV`{o_q12{(&PXOjnvh9z0ouE^7F5k+SeCd zlcWaqW_ZjlAGyVEnt(V!yyFT{dP7_JIyMvsA)Ycs_Bl7~X7Bbl?;r`{3J$~4f!guY zbyI+g{2?ecxJKueBJp1&k&KN~lX!}gTmv5xFgZFfH###o yD=;xSFfi-;aGdVgjF)J`JIxsNaCws#H0000Dz9PNuitJkjJ%Yc)7EZgY=1|{Sh&Q^!(tnQB$QlNaMmJ953()i> zemIS~tRmU@XL?RH&dKiS?h( zQUWXtiS-pHMqR%qYh!?#w!n$$|DXs8wPw`{8FNey?CV~0$I|w^(ZnZBgMKcjeSbQk z*UNIuWl4~TmwVhr(fK#e7tHTYMf1!0>c*48M^#lx2mp9LE`D>sv+u80AKX?EE^W00 z?3ed5;(v7G>crypq`wh>R&lWiu=L^KIO~T zJ6$%rpRe6=1psN*U#^axnJWCPo*ncmgIwOs=AQ1IpL;POZ9o^6ko$$xGsX+jPYnpb zr&F0CvxsklfEOk-#XRhlg8e}V$P~L1%})>Vh$EHJmeJ&qTNzNsqshP&28krt`$8~V z2aaX_0mPG$OXWUeR+F3p9}+P&Ix{#rFg7bNF*-0XS{G{$lg$DhATd-iH99jmIxsdX YFflqXFe^&avH$=807*qoM6N<$f=w1xBLDyZ delta 595 zcmV-Z0<8U<2Z{!ekbeV7L_t(Y$EB4&ZxcZf#eWk!M{JbX7$cH2ZX!}3fdmo-5)$GQ z&{5FPB2iPpcc6lgfJ8x+2pU8W5)x8Mq!dU{0ZHKE#CGmcc+S2%@7X5I7Po(H-oBZ6 zyKCbAY~fU1nO#k}VbCn-Zu2mRi~C`tk@5g%3i~W!K-Xter+*3w08IwzY#D>&LI46H z1^`6t(@JN{02(>kM*#FN45JVH_I@cqT*7COO*~2Hd9GxQte0 zAjBo_x6r6fy4S}2Y5{-O7c9r;(5o`m;1WlGh*E$PkE{ng0$TiFESz-!mRUhSoeEuy z1)!1wB)|d7{D0yc06#Hcjc=v7FcKg^NRlG|ntv}ylG;8O39YHEx~D}_nxJA1s`Nd2 z16Doq9`Jqi&)K}g(0ai#9tO$RLI7VgXJ0;PW*ylJme*-et-?*25-2_m49pwLe}990&en&`|NO;2MmCH z9&?*lYb17CtLyXRz<9zY zpSi^!DuCEVeBdh4@SIecWzXm!S3Ve<^j$f?JTFtHAgGP}@^l94nG*m-WnP;FFxR_# zy2mw3>JXov_sLs2{tJAXCos6kx?__r10NDFIXW;mIx{#cFflqXFzfqrv6Ei|9Uw4N hF*Z6gIXW>hD=;xSFfiUHd&2+#002ovPDHLkV1lCX4K4rx diff --git a/companion/src/themes/monowhite/32/read_flash.png b/companion/src/themes/monowhite/32/read_flash.png index af4186962c7c722f4eee2958ab885ef3f5542b6d..4fb96674a65b7f20fa463145025569b005d3482a 100644 GIT binary patch delta 1034 zcmV+l1oiud2fYc9kADNUNklYHg%G zG*wVg^g%5m2(}=2L8vc2R6!AakwB?}We`K778Q&S>VvkKOeSe;HEAw}+)QH9+?q@> zlaABLBximf&NP$DL`&9r*|-1S|61#;wP8ESMhnA|WG$>xYzo0KjyQ1F?}c3mKQFDq6AsM8Ddd_8doB0?3okc5 z9N-8r937LS-iy!r)=&r`vH?=#H3|;zXt%?Xl;6$qqE2aH*j`k!?E*h-axa7ThxY{} z>6l-VK5DY(C4Vb~r1~IrKskHU@Js=$$QhJA3Gms@Hpe?(0H0?>IvJpW%h`VwTu4!5 z$bk!h*+fV}Je}9)86klWuXS0H&bB4yBt?m);cF>eoJ6d!9G{eK>fr$@d5bzuZ~(6r zO3X;o?4a~Y<2ATLEFs+B^93ZWXj%FuNIlgi_Kd$i_KB3q^C(TqBcBMtW?@uL5=w1J}E$NvRLfF_oH&#eG9b}9c&E%Vi zBt6z-!nys!-QTxpOG8*#WKkKE?1idkMuGQUZIsGed7T38<=mT%siPadby+Z=L6i_J4G&*}Bs`mZ4~htoik;xtuc5#GHg^8S0V{B?vKh*{W2N5qriq3CrPbsB4z&sC9`#mSsy%`X$K@E3AJu$H1CX!VW8J zMqy!L35^pqbJ|M5a2?UWHO>P#Ja zp63v%3f2c*GiePugZl2l6M6lTWPpjdE8FY%Hr;n?j7Q9L@&+(ev?dMI4i*2s`-x<> zp**r;fYE`wTroRxe^GliWC4dtj)%O-#iQ*9a~|J2&~^9E7yz@>vk#yaDg<9SwP z?|&|U4$r6k$(&uTHNwvv`Xx)LmKMqEIZ$JgX03g5O90e zG`H=kO3eS_N{b5=7nD*8OU|0{-YD3QmPhBE{k3g*(mr}mYeTEs<2C@vB7lOj^}kSR zZk#x6G&hI%nk%eiE}~3Dm5~Qs|GTxF$90`$R^Z{vb>dzB0ti>(soY3`dXpFf9}+P& zIx{#rFg7bNF*-0XS{G{$lSu;|ATd-iH99jmIxsdXFflqXFe^&avH$=807*qoM6N<$ Eg0OnzUjP6A delta 721 zcmV;?0xtc%35ExdkADJxNklUuex?7{@>7oNYEOGd7byiO@8mlxWS(l5##g3K!(Y#Y)5#iQHht{E3=`mZD@?aidoL)Gm;SQ)V`svDo%;vG<()&N^q!JinXw zdEWQ??fbmX^LyTy{GY|gg}NMB`|sZi2Yr?D{vH0>l#Pp^O@GzWVT#;GE36(7$q%pz zB4HgL39EBYSiMuV*p%mwC$i&VYi7xhO5Jfn<>u=P=0F+yyaNmXB}N7C?$ z%re%i{r*v}iGNt+AsakrZ6Mho;wSZ@v**(E;nhPf?$iQCj~?hJvW>ZUZ^@#xWvGDZlBysGMZ5g%s&=4K_B z5{<_B#deBmXAS@b8UOtlrp?em>E$Uf4R{3XWdhsWhIL|&C(^(deQiHY#5ewACi-EeHf9-u1R`hf+wr3vU2O0DZug zbh%>GF`FmU(oF)87QXX<#gx(qke5;2S-@J_X^zC|sEjmKjB*5|BiqaLnXTNUkOTl< z0Rnv3Dg#kUV%Ba=&>uaN)67LMroSLt3gfU`3Jwa!h#&Y1QGk~WN%i&5lTQR65->SB zFgH3gI4dwQIxsNn`*N|9fCL>NFjO%%Ix{&sF)=GJF*-0X-Y0v*00000NkvXXu0mjf D^^jt) diff --git a/companion/src/themes/monowhite/32/recentdocument.png b/companion/src/themes/monowhite/32/recentdocument.png index 4a4f2125299f4762629bc01f36231db7475571d2..c44509b05aa3e3d3023f43c4752e0324f06c53df 100644 GIT binary patch delta 662 zcmV;H0%`q~1DZ@hnD{QcF5uW{oI6( zec#*jJm1gz@VpN%{MSF1Y|en4!OXYY`8@~i5%~aHdB!S1NPjABLXxyu86pcPiaD1m zL)Ze4bDe zO?G0P2s{a-6X}F!{EXj#3mh*u#2tHYYe1X%D|K?@&<#68;Vbm^_$2AW^s(T2B0bkU zF*+ehx4qn@rhh!((rKS0HBBPoiYrc>R|lpgZMFLx7fT^>0Vb9t)raasl55tSHbd+O zPSw4aB&<^N%LQER@JesS86=#Vkz6yJ-=58YXH4oG=GyLncS{keVTxcj-ZnxP0KtYS zDHg)FJK%@4D#b$cVS;qF2DBly`{*J#AC85jU&}1oFMkq%%LEQLSJeXNx=jo?y7jh^ zwiY(lp~_Xfl?DI7a#Y$EBSWJjCCPGo>A?UpHBo6H!lcb6W(n>jxKli0a5b?uZ~nX< z<_ZG(@2o&~iq|$BWaUUolJkom4n1X-C{Y<0G&`66W@#$!z%bZ3){A?7$kaJH&L**h zFe2PCr&BVu&^uziLe||PvxgDU- zx#;$;CnV|jO25B)j>mhk1GI3T&j^vEpCkFnKZTd?G;fp}XOkxa9}+P&Ix{#rFg7bN wF*-0XS{G{$lUM>BATd-iH99jmIxsdXFflqXFe^&avH$=807*qoM6N<$g8yzdu>b%7 delta 478 zcmV<40U`d(29*VnkADG5QgFJE;bSrMU)uur_o0I!%8e71Vpg3 z5P~3r2&S>r+Fmh5f`X-;OR5M~>NY7%hmQH|lQ9p#yJ{)-`;)%;{2P4GNGtOrrY(c-o;f~vq;1*$ z0mStINyc(7LX+MC9}+M*IxsgnGdL?SF*-0X>-%!ClMe$OATU%hHaasoIx#UTFflqX UFy1G7!vFvP07*qoM6N<$f-mmg(*OVf diff --git a/companion/src/themes/monowhite/32/save.png b/companion/src/themes/monowhite/32/save.png index 461af833def3242d26da0dc47fe5e5b5d53aecf4..166b9a40cbeddef4200ff9d067a838ad266c8050 100644 GIT binary patch delta 194 zcmaFI^oMD}g!)oX7sn8f<8P;U^EEhdIIsNpFZ@`q;i(ck(Ypup)V?fjW!b!{<8c~vxSdwa$Tr^phQ9#JR(#pWx%Gg5N uz|hLT;PvmKjg##eWfcrU49%>JEv*a_hE;UxBPOS@0vRpG-Onsc4 zincwRxNzc8+I~+FW;rFf=7BU%R$d?NHHy6q9`x z8w55AuJ~rKi(P`{M}@^vjnV{`>B-g#x{RM0{ffJvl{5Ok>j9j1}bZ@-g0n6V>v zCI3+y`&Z|eRn9rpD8YF!Ew+5OUbzhKbP0l+XkK;xK=~ delta 283 zcmcb>yoh3wQa-zfBhduLK!!l=|=wwPc7?*Uq z^5;fn*JbDZ=KlWAkZ{Z8qsNui2MirJR9n5@e1F-;P`T16`DO;g!(SP>c z&%5$t>)AOwmvn|5ICyM-bKU{&lcx&~J5;c3VPIfTEpd$~Nl7e8wMs5Z1yT$~28JfO z28Oyuh9L%)RtDx)#unNJhE@g!uYVV9MA49&pOTqYiO^sWVrXV%Y-wd^sBItu(s56{ R`Y=!jgQu&X%Q~loCIE9Zb*umY diff --git a/companion/src/themes/monowhite/32/simulate.png b/companion/src/themes/monowhite/32/simulate.png index 9fe222a8a21b815fddc08a30601a4cee2282baf6..de935c6a5819ac56a5edd3e893b002fa3b60f110 100644 GIT binary patch delta 266 zcmeBSKEgazd4sJ7X;+k35u{xv9OyEcQ$qoH7w-pl%e@3|1xqXnS4W!~g`Iu6{1-oD!M< DtyOP| delta 210 zcmV;@04@K-1B?TZkbi|qL_t(Y$L*D|4S+BV1RYvhpo9&Wg((<=O(+msFa#?=#Q-dD z)CiFTeM1qu^`G?iOLmx6nW#^Ip97{y0&fi)B^GKQ0H9L=Fsgunl^B56N-W^jN<08| zis#&yAT?Hf%fY=?a>c@+Eb*jO&bZ)|AoWU=59*NI2bjZR3=ebZFC>7OUEgC235aEO zB$HMF9}+M*IxsgnGdL?SF*-0X>-%!ClZOEvATU%hHaasoIx#UTFflqXFy1G7!vFvP M07*qoM6N<$f?O?6_5c6? diff --git a/companion/src/themes/monowhite/32/stop.png b/companion/src/themes/monowhite/32/stop.png index 4feabacb9a289e7989ccef07cae2c286a572693d..b529d5cc02b56a66c4a5c95e1472467882fa0514 100644 GIT binary patch delta 297 zcmdnW_?&5iiW^J1qpu?a!^VE@KZ&di3=E9LLGDfr>(0r%1acITJ%W507^>757#dm_ z7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD?*AMYZ|_PZ!4!kK@S+609Q3ZX$C0&3cFH zo2>MVYYyfy@J}~;Epw>spWn|i(VHAB8=ma{GoRx?{mg?x3p+VaGC1`eUp1*S!`I@# z3dY53JyHe|ya_5%;>u;dDWaJo;;R-na4|6K4z;j!En(CIxF4h4;Ya- z|9Kd68U7R0ahdT84!Qr9|A_&X$a`+VPf{2tKI zKad*-&_HD2gWWuS*clFmsgYW4O%|RoWeyLVo$`yi!e$}@v4053;)Eiope4C~LX!4N zj2OeG9U+p>!X4((0-zUrt3gstA#S4oxPrMV??KO#%~u#Q5};Ej@dByJ+wsZdq=JR& zLg|NqrjOTBl~=eW(D914+QM38i#foSz(Br`s8^oR2b!#oxO-rBr!%%QgA|3}P88n1$8I@PJCSg7+Ci zzKSGY>&F3?HQ@=0nR;;maA6aU`tgSTLT?PW*Rhs@vjJ?AsR17nF*Q0fI65#kD=;xS uFfdvdYYvmz0UaPQR53L=GdMahHY+eOIxsLRO4G6c0000v$=q9o3DU>A5QrN4cHR~A1lA0;3CF$8Z#vX7Ni#@6U_|_im18_c%H<%>i$i0jo zDbSPr=-$_Q(XLJ;4b-r0V!#Z5DZ|(vUb=E!C-|;j*Q2&|pcRdDtI+lqHlylL%Y7%A zO?>+a-6a5@b{o1&purhcD?NLRX8Zkr;$IN>0`&vX-_Q;b*OLwc9}+M*IxsgnGdL?S wF*-0X>-%!ClRp9-ATU%hHaasoIx#UTFflqXFy1G7!vFvP07*qoM6N<$f-fmCc ziA*jo#-NFDa&~YvVRiCvV$`@0H)7Heum?@3L<6k_ii$$p>mM*i4K}sC*Wp^)Yw!AJ z@LBHi=KVe2`+eV&JK#S{GOhNvj?ZC#JuWY|Y7zVrrs*1s1Ao$LK8tjN`2YYeT*4h_ ztT|%1i_4`IoydTvg3SBYpkb0FD+`zH;`xayv)LGP@z=GP;n#=9&<`hl%Wrd8+SEKI zttWW?QmM4=tWyY`Ae`-9F4uPBQUqPr1~NT+8qj;QF$$p*06@5ZZ&t6mq8Mp(3U(U3?o`{wXIF~bpjY!)0C;z1a) zZ7};3j05m*PVamwSp-e;S;0&3AUY%`m`4;`2LOy8pMPhzeZ^o^K4t3(h&&>}#r!tK zVFz%-r!WiEm`{1Y%0kCAX4di<+QRKq3bRn{HTgU;h5;))$yzycxzvTX%pyf@(|lUs z)zX+niuyoi`IPE#x3o|=Xs8wCw0443a7{k5_-(!SivEfO^?^zqi@X>Jb%h@Un8Bmc zUfpEx6@R?9s;!*QCmoyc8ovib9-*>P1(7u1dOj;psdn||xP{F2UKDCOxLSj2B1!Jn z@%rJ_R&fAW`?+CQzbF#z;6Mkq^65Q`qKK2H9bC6ib9w?ap|+3fQuApp2(>D8)smVU zxahMZhGXWq^*_j9VSzWC;2);c*l9{5g{c4l0FzPz91<}#Ix{#rFg7bNF*-0XS{G{$ olYjypATd-iH99jmIxsdXFflqXFe^&avH$=807*qoM6N<$f>#+ySpWb4 delta 518 zcmV+h0{Q**2E7H4kADHSNklzfTlF6vw}FIn;1RY-qgQBa#qeLSjKk;B4&a zY%M%!sH`pgC#Zpf_Ie5bfW`)*fgDCVBZ-hJ)y~`fQ0(low?7B&O|dg?-}n38%zS6Y zpy{kJCBBxR_g zTZ#WQu!InwX@AvMVDJeT@z9R@fQOmTXS1BZ;1dEN*E~RM10Hi3eLgKCh~bgue)AUS zV2bovzVf6(;fXCir_a2Qj6D6C@C5R7Epqz&TXdY$#Ygr($sV;+KCrgDZ6w|@LPg>@qr6GCNOvzc$lcpfkU9E_>LPquHeT+{=hZ+Ex`;| z2}OYK4o~mGr9C{(#pjRn)m`QuH-%!ClQ;t%ATU%hHaasoIx#UTFflqXFy1G7!vFvP07*qo IM6N<$f%x?;)FGhojA7l>%ni=>)4L+J*~9b zH}k!j`DWe%=zx_+$(~sU5dkISHjzTmK^UWWx%NhqtVv|MqksLpeRt#SffU)dp&bH4 z0)nli2JB%N1#j)W3@k^Hy$-*-bb|$qP^bWur~m{FPc-xj0ka8ONs{|)+i8GbR@k*R zl2BnS3pP|pn0n+BlOzS7#u85?i{+KbDiJbAnb2qFC{ZFPFbxKZ$Q@%H&4F!T3Yf>J z^U->+6s0LNtbb)q2I>x)^sQ;}k$G|vSj>EyqIIadMyf{^fljkWi~)g8V7o0}q+A## z0ZG}d3@T|M^C`sQ!PCg;s>M0s#!~YXnfpjakE*K$Q(Ya2rdb-xCbAmb`_|UMw(~YRrrG|&kbl`Ig>S}!uTrH-&o|M&H9lmX zp!j}b21B|N^9Xa+&VS8R=-n_zi#=l2bA=n>h;>uhiF1uaCwtoik(g7`qB=n!3}~wl ziMjMXFoIA0<0*lKf_ASJ7-e^KvZu7u`w}oH7He4zter2CwS1Nz!qu5q-3MO_rfz$q zJKRR-`hVl!p1AeV0oB*~>ukiKTUtI3@HBkzhGRbzZY60$PQn*fpsjabH50vd z+y7koDTx5AxBL5Q?d*xD(>j-*#>(`Ly}UVBd11J7;k!o*HURWw8M_;uI^&8mAe)5> zP@z4^@apUGB1>3zIOcY7K?SbE&VS>b*!Ir^%8TQPR!?#Wco~C_2mLoI!yn!3A|4Lz z(3UeWEdm$R^!MT1RsJ8v2vAlx&+12$!2%yoF*Q0fI65#kD=;xSFfdvdYYqSa03~!q zSaf7zbY(hiZ)9m^c>ppnF*GeOF)cDNR53L=GdMahHY+eOIxsLRO4G6c0000~Pe29lKt9Gq5{fG%M1cfSNZ}-`tr**f!ZW)w>sdS8DZINg_uO;t z&)A6num%+d+1q*csUtMc2-YV_Qd6km_CtVU?Jj_D-*(-e5q}71v2Tf08QCYN&IB@Y z%?6-SI5gz1ceq_}@lV=c2QXp<5H;W{brJyf=+Mm|>Yi)P%Idlp=$=Sg%kCkq67FkT+`*b)1xy(KXTqewRiS(6FgHhd(R1-Q(wf*{|nF9JBx|L&qBE;JJjQ{mhR{nLL> zkI2QJxMHW1Yy%$>FgZFfH###oD=;xSFfi-;aGdVgjF)J`JIxsNa SCws#H0000@z;cFe}~e&dmOA zX8yBx@IRs`3V?~$Mj%pk7m1H+ye+V!20*MqmHkKa1$|O?VSmV)J8r5Bg6<;~H#H%O zQfV2fQvef1S(mn`O&~xRNR&DX_*C>@>}P5WQf&fsRI4vqthXQ(d@6_lvZuq;Ts70{ zw%u9^&Q&06YI083J%W5|NEt^cVlt3*wNX!cki5Y zXU2*DLv60vLdfDK<614Di=Pw=mZrlPfb&G<6@(TLV@Nl{H-8D!B`n}_p)DM6Y;2n1 zFqzk8RHng6GD=ef87AOwxrn{Y*xBS!hB>WrAuOn81`RK(%-`~Syo8$hQ1@353)P?E zJvKHxVZ|8I_ePji~unNo&d}I z0O~{ltO3xXg@1sEMPO2WElv;t2Xy(x1pt2HfK|Q~>fwlh2q8&o+S}Rtk|e2bTvKRO zeRWJ0NwGlF8Z;Q$>K(9R;tqlD$((cffY>0PjYr<%+r9*Q8M_u);)LVE&KLtB`vCNu zVD?mVh>!yuZF=6y_HhJUr0_V3Wm=aX2z4Z>>P-BK!+-IZ*R0@@=N9j{&$X-uJ`A{r zfZJ^IkR7h_h*RJVVineBwII$v$aNg%=Evbv`&YY)|e@K3CsNgQ&+MZ&W2X)4e<2w53cFyTLG7(5vs{L~EyFgZFfH###oD=;xS uFfi-;aGdVgjF)J`JIxsNaCws#H0000+)QH9+}cbs z(~i^0Bximf&NMSqCu-JtID4#1`g~BNYY`yBz@FjFG*Gy zNo_$|fm(JV$A6HMhH_G=D;kwP3GmsSA!n&2Kuf`dbSywS7YhFgT4cn;Hv9$=bHyQe_0bOLNk6Lm{dpff)PInu=t~DZ$Fm4E1lxkHg^Y%xQGK`L zXvwf78DJ*iD)c(J%@5rY=MgiXx(*C=-6;djW0ikydm>e6sEw`}U~=RxSKN+1P|?!} zZeV}ak+3&)=}^z!qQ`fR^xyrn)2z(Oz%GDuMGaM&oi4HJ2e$(B7JNFKD%$FLJ(Vfy z?tg+wB7A_P!L#^DN|F_pl!{H6LG_*vO@7IWlfQ}Thk+A`2`2@osRoiwl<_t;#MY?W zc6y!KJT&bo{xG`z{;w*H4QRMuH#U{sUQ<|Vd%#HnU<|m;JUuex?7{@>7oNYF(=Fgb?Nra{eQH$2xEGZY{ zh9&SYm^x~2dkgo@J11n4VWY`KVas^0da`mJE+kO^WcSbC>67UfuLTGi+3 zv2hXsv0WYWmw(zNVwFei@PaLY(`FIh=Yt{|h#wsFt>5hvu_;3GY=p}huSI6l#iU8g zaJt$VF4U-c&?zqWiPw#nkiic1i@O8Eadm45cQWc)bethTm7S`-5%FO`z=ClBrbVqu zez22jGRy~{BIf1AO7=00@EDj0^Z@&rjYyg&v2lZ>Nq>{hk-DM|J5@~jTRo)efP;>V zlfn#tI^dwgxlC@WPlLOM3mvsP%(8ldGpNid2h_vjdXEMm%|$qIZjW=s zyTS441AkA5o4gdIxhT9My<)klwdx;VS!us_ZMPx-sPT@se3eZhR})_XkOD@5)<_9$ zV;+xa;VUUX`WWIq%b3b26gQT+zy>n(Mr>`=M=n)@89`t8JYH4)z;

NeX~Z06}I;f{Ok+tgR#3X*#Q4ti&kd`z=K3u7uF9L@7!XuU2=p_r{smaw3a^bvu)32<1RoMG zIXW;mIx{#cFflqXFzfqrv6FiQ9Uw4NF*Z6gIXW>hD=;xSFfiUHd&2+#002ovPDHLk FV1mWCRwMub diff --git a/companion/src/themes/monowhite/48/add.png b/companion/src/themes/monowhite/48/add.png index 827d7b2444b701279020187951a9f0cca1d0d6b9..cc8812cf42caa4b93d17121110d44a6357d6ca1c 100644 GIT binary patch delta 273 zcmeBXKFvH~Lj4g>7srr@!^sH}tcw#w3??lIYdFYoYS)1ejlaY=KD^xI+hkDxw04)z z9?>IA>=Qr#U+D0}rkQ!;tr;uc_62gg=}K&65Z;g==sd;pM+38%p-!sEGFGOVT{(Ym z_-y&pksy0~Rnrb5u9asLMH93ax7Dd!zQc5ei+yF1BkMGI^PA3o5q0eSpOb?dbti4S znqe_%rN{s56+2$Enzu&G^$sygP55!3fT4Q@vy}X7DV>BD?w?k$E*9fq`!HY@GlA delta 209 zcmX@j+|4{;LVb&;i(^Q{;p9K(9ik7oB!70-mDrk~5plq&DTrX+VfIC(f7Ruz z{XR@}|JO$bL%b zi2}yeTuRE7TMkJ=^ju(2=G^PENoxO+2nR8VUxfx)d| zAp=V*19K~53vB~KD+7bqzl%0b?qifyFbFX;vof}{GBkup+*7YU%m4(Qu6{1-oD!M< D)MZUv diff --git a/companion/src/themes/monowhite/48/arrow-left.png b/companion/src/themes/monowhite/48/arrow-left.png index e4220b5dd85c5724c62bc533114c6846a8f72618..b571db825be2ab5d1ed1a83984c064488a55740e 100644 GIT binary patch delta 719 zcmZo*y~H-5zn;n4)5S3);_%yP2eU5+$Q<8a={tFgC6f$76n>l8j5`h5Nbk4RZPV@vkq^BilRTHO*j z&9`#%ROKI5%(tF+E5%b^Suj{3Bsc?=AnC5Re%e z_-{@@U7^nOr~@JztL37O1pIgYb$NsRWofsacSDzly0bg@_1k|~zvylDss7VT=b0>_`4=bMuRlnQ&)$?8c|XLX$2;vM^ZM%*^;3dgtNOB|+luHizH! z^ko(crWJe^-@W+Cj(GcWmmP8)I#vt~P4j%J=H1+#a{H2XLb>dBKkxkMik(W`3=0~< zWum5aD@dfj(N@tWO3pcvgf7zaRIqh5PNmh%95(WmX+UY+p?*BDI zjWb}O)7G2(rc2-I*H-YY4GP@5oU4(gR-L);lK*`DdA)DWh~+Dv*J2RZAUd0;l#5O4 zwXTki&OiQt3~3V9+#6)Xy%-o6R7+eVN>UO_QmvAUQh^kMk%6I!u7RPhkzt6Tsg<#X um4Szuwt=CQfkBjbHXn+P-29Zxv`Q>Gpc=HjE^h*AVDNPHb6Mw<&;$TNok7q5 delta 507 zcmcb_*1$TUzn-zu)5S3);_%z+d-YiyC60egKX18FNU?}>dWHy>qSst|hoX`d>%L6t za0-dj3haKxby8HSbA^eCR;QExI)%Uqiw|^ufBJ59qVeT7=T5{OJ{Pik=JW3}XWl)V zBD-XpZs6lT5*>{aKZG4Vi3fXm&n|oJvqz&bFLF{{;lA|~m?Qb>nOJtudnV97KP++n zz6V^hKd3OvGz;zbtd5wc7^e%sr9@N2Ut>ce|JJ-j{K@XWo_{p)uX!$}AoR{+_qz?1`GW!+DJLd&)C&n%X?|EE82M@ui;Pjuf^ABXvqNX_6h$mwvo`5ajcD58 zsK|?Q-*p$OEM{pD6Wh|eOToQ%N`u0gjQMw%i%nd(O$?7Nb+R$?O`g*5!06a+rx;^t zw;PO222K;z_ut>>p_Q@c@524+sV_hB*9!UvIkxW;{_k|uf#=A9dWL-rZ0RK_;!z50 z+6)W~swJ)wB`Jv|saDBFsX&Us$iUD<*T7KM$S}mf(#pWx%Gg5Nz|hLT;PvmKjVKy& n^HVa@DiInCLJZBUj4iDU4IvutsaGEcYGCkm^>bP0l+XkKfR@qz diff --git a/companion/src/themes/monowhite/48/arrow-right.png b/companion/src/themes/monowhite/48/arrow-right.png index 52b41558c186e0b47a96d6c73f1b38ff1b00e0a5..233997acf152a563595d37d4c0a134b4c2fa26af 100644 GIT binary patch delta 589 zcmV-T02Q3`*r!xB!;Kd^MM>k<24yY$#?7!?w^0lAD7?z*+{At_<)!C+P8Q9Bf!_q z#~9ZzC=&=+(yS2Na^oVB76130;F`;zK}{=61lK;ghGfIfeSgPzmN95h&jJPpYspm) zt{_?Q>(V*qT?|GH%v7|3bK{Xy$N_clvd}6GDRY3^+``CW@*ExoJ)Nws0Q?A?Y z|6dWV|NB0BJ4-!-0CkM#VQLKA`|CAQ==}3Mz*0sn;{}-Ni}(KjiIkmRIvr%lW8kNf z@hnxzd;kAN82{s$(-x*w1}-WY&pbJM-`@|&#kTH#rhj;9885*+Y1Toc?DhB41BJs3 z;S3y9GM>G?em_d?y{ol>$%lcBI>w8z%$~FtIbr^KBXW?@ms-a2GtJw6=>HcO{QKqJ zWq~6MHl&q3_;NCzz~OTrCjNwR|NKAy{$nr08HRtPSb)E7m1Xcn;{9bf!*HH7<43_L z7zLwXa0&nb84hq4*fO|@lMezP5-~M8GdMahHY+eOIxsL=7i$iaKmr{gF;p=%Ix{#r bFg7bNF*-0XD@xO{00000NkvXXu0mjf5~Cvv delta 453 zcmV;$0XqJK2K@w(kbibbL_t(o!|j(lNCQC-K}Bh#2q#nj-4mvpaX2yBuyBy_ss**?Gh4&Ma#o zjg_Vb$BzIJAOideK#T9HElI^fD)M9+uplYVa^yf3?2=$f>)uQ9VIG|zhaQ%-i&=n-M>5->SBFgH3gI4dwQ vIxsNn`*N|9#{wN7FjO%%Ix{&sF)=GJF*-0X-Y0v*00000NkvXXu0mjfS_Z#u diff --git a/companion/src/themes/monowhite/48/changelog.png b/companion/src/themes/monowhite/48/changelog.png index c9e897edb7bdc4c6d66b01b34f970abd31059628..454dd7ad0075cc8830ed9ac7534a5d55b7ea557b 100644 GIT binary patch delta 671 zcmey!vWRU$e?615r;B4q#Np%w3D(647nt4FEaK$($Wpp5B_nBv+dNjzhu5~MwV2%d zEBEtrG~Z#)+3)JeLh4VY>Ljh zI59~s=h5EyM>z^QrEi^ij?IlP{>UmK$KCg*ax-K1hl4+=>K}98Vl&t0Ebdyd>h=B_ z6}z9=mWL%{!X9jFXl!g$yvi7xV%GeGpH+~pt@Hi1e>)DI)jXP)*Q%p zJgmdB@Ft%f`;JrziGKz*R*9c~b1*L#`PXnr{v>Y?&x;8Q85L{uHXd7QzFjin%GY?U zV*fOQLt=MZf&|5+9~`J}RD3PC`{UjB=M^-)mUJBKDB=E>?4a=?e5X=@>w~Tbe4b@; zY(P+&%g@OcKIt)oae$<>1fKyA6r9dDy5JnvG5h z9UG>(sW47Dt>n|7swj}lIBgS0H!I(dM-5Llan!$bDH3>CEM3U3pOx>(l@~pHKTl;ngM#SabOjzwPuCk=**SIx7I%GlG|Q#oIFt0WuZ%|| zlRmfVa6if^nEvSq^Q`C0IrVlGKVF^-WxUk;tEBy*;xdh&vI0IECL}VhJ)A7k!!(P5 zLFE3Ch9>o5VFm^U)e_f;l9a@fRIB8oR3OD*WMF8bYhb8rWEf&-YGrI;WniXlU}$Av l5G9_?hoT`jKP5A*5>tZ&Ooz7DRN^iu>HcpGM+Im7e%Vu=t--Pyg~VUCcrVQlxBsQhGy>xq+v`~J%I$TI9)K9RTJ5yOe8 zyat-m0+wq8pWEJXn<>T=u}*lm)~+w%MVgoIc&)zU_|R^}oyODOJr^!s6u+(cMy9C0 z!-J9t{j@5^LvON=#EOPqyz_d-yydLEf9J+9XEE%*rn<`N+4~pH3=9maC9V-ADXEDi zsaDBFAd11rz|ch3z);u7FvP&p%D~*p*h1UD(8|Ez_3xsMa2+5Gx%nxXX_W{K1|f!K cR>qcAhK3Lg_tdKo12r&sy85}Sb4q9e06Rw3?f?J) diff --git a/companion/src/themes/monowhite/48/clear.png b/companion/src/themes/monowhite/48/clear.png index 5ff3688e2a2b69c6270eef373a7cdb41d138d6cf..e09993be57dc6c92fca614b22f772b7ec08cf740 100644 GIT binary patch delta 710 zcmV;%0y+K71^Wh&kADJmNklG3>f&|VaN5B?;>t?L~ok0L~yG)y?@}d#xSUtUgUERQ<+uk z8w^3X;N8Of-sIkfGmcT1bY#!x9;YZzbdc!{v%!WCBJ)oqi^oK{F9R{=)f&QXdg@D2 zo`{G_2btb5hU&%fCX2^JL`1o-12K$h3vjjT^@sOVDicuYAY)Bn82tRz#{3?+a6}ap z$7KYxN_5Q}-G5rGhM??rUxbxI*!a|#M1?B*k4cFKA!_e}%MsdHQ>r-p)Dy*B*!a|V zqL5RvpOm_0;LuJFaOQG^R8^GrHhQA$#h9d`Kb@EPqCR>6;BcAa`ur`hwif0S@|l6mV%7UuUR)hjI^nP%&Kk=?c?n%s-_;!IQ*vTE)de9`1y zv=_&#qJOWM`+8qobT8WCh9$DKrie2y3kxb+aprc0_cs-x9>{p6RiZnW-ez~I`+l)* zrE$2;@$*f4vXmB<(WAW!BmI$YpIhwv^Lw$Bwk+a`c6vZyp8m+aG!Hh}_nf&Lq5HD1 ztdAZ51dQNOi(|;)LQs!51`HT5@UQV3jgB1%SOWpcsFPm;9}+P&Ix{#rFg7bNF*-0X sS{G{$laK-(ATd-iH99jmIxsdXFflqXFe^&avH$=807*qoM6N<$f-68>U;qFB delta 534 zcmV+x0_pwx2F(SKkADHiNklgTvnI*Y#5*na`v(ZKR67W`Wdo~i z8Kb~g$MQl6dk}z-;Y!KkhSj$F9iElwOH65eXaN=(B@2gZRvD$Bxc}f-7rhDK7OGB5 z$>K;U&KrkJ7=OMu0)#bcN*3Qramu8PUq=8~EODV+w--%!ClRg6-ATU%hHaasoIx#UT YFflqXFy1G7!vFvP07*qoM6N<$f^k*q>;M1& diff --git a/companion/src/themes/monowhite/48/compare.png b/companion/src/themes/monowhite/48/compare.png index 87e99c8c5cebdacb98b3828a2f9523d0c714c7e9..6f07fcc8af969501b246ddbd055d3fee5aab1771 100644 GIT binary patch delta 1300 zcmV+v1?&2c2(1f{kADQFNkl7 zA~vSR=DDALl>XJ?cop|nmtA&P6Y;3tHtq_dTu&nLh?zF_TWm|s3hDX~$N)|B)rmbt z<}+wtC1Bc=)Y0cyYS*HPldA;_y)G^0GM*{36^IwgBf#MpkXeghaWbp=OJNtRdB5%S zIrvms{N3AI&VSm9#jL<111p11Q-WZhJ-vwz0|joof(nGpeTin&;WQ4O`7;XDH};__ znGFB{_j?6Lr!B)oU#Xg5`n1OkBM7e20TDqT|WT8DwNfX>_b(uQqv4AH~bE+1NcD9)l&(@^b$5Q3h!m$%j9KdUV3t7En))`1A9%S z_J6mD{j7HYGz>}Em-I8!+l{O*INJY2QZueT^iGL1vS-hQumQkOyQ+;70@{q70Im2U z3a@zw5GV@@-vnUl$bIvt2r~Xy{r~_Jp_JM?068OPRe&(vE0BkffINE281aCW-h*F^ zhv{n2FyjI)(mDFA$D;tCQdG$J}8W`zF`LjD{z%MA$8zq{PZe8IGtyB%Zt|fydpH&3BmC`o^0AsiD zEzD~LuvA8_L=^&92KQS?30e;1pam@efF3kpVmSb<8^ACXlE^^{+&5asFaqF9SAVV| z0D;*;emB72Duf!R-ks_*D!Wv`Ks)Jy%as&x{)CG2FTEG33>DuxKDvN0UFT>SwHvzt z+`=g`1UIi7u@W(gP=)IVOb-e+us&Qq9m^h;41{3NT?UH*eSF0pgWSU>oqUYGLgf}E zoJ;|&WU>^F*YVeK0mJ4WzUN%;5IJVWqn0`Z0s=S)1gz+tJd6r>7DYb)hzVmN<;Pn2 z%kw*FZ;HZpe2j0f%he+H-_bvj#N%o5*qY#zp#vXJF*Q0fI65#kD=;xSFfdvdYYqSa z03~!qSaf7zbY(hiZ)9m^c>ppnF*GeOF)cDNR53L=GdMahHY+eOIxsLRO4G6c0000< KMNUMnLSTaUsV^*5Wj=br!nd(Ziw|GAG?V09H=<@v7xN`I>+^6YIMDKUQ5N5&#O zf~eo4L1}#(bVSWjqm<^IH5+2TPL~F3mhz&XD@zevFzBZc`@P<@!L+ru;W@um3b8xp-L7!N)mG7@K}Th5mU7pXM9`*J%kt4ZxWR5)S48xMlPeG}U}w=p z6|8!9aJppOoPP-(Uh@1q*b@i@iQrI>39qQIHOLxuA;ey5qjg9ccF}x6qFU?-tEe!* zj6;rw*xT&0)t}Z%8um`XTI3QnZqQ%RfJI}Wbu(iIANa+f`*dj1SdQ{Hnb@61DbuYU|sN^@Q|X;8w0KJ@Xjz2kB~ z_(ofdxc(gCuvaWd8umbxW92(}+Clp*NZKb^+^zf+J>$u|%Ugq+^Y(rf0QKt2aW4lj z0Z6Wwu^-xV~C|Fda8;r}XLpGEO)vQ{17lGOg3&fYauU`NWo$-RJ5f zXtu}RrGH-3W}EvR@kVHauPB1JzUApBE#OA|c2zG$9iGyP6Sip8<3}_b5UUoT)!j&Y z*LMP6`V@3&t`?wC3(_WJLGA^kNF|lO$X`hyFo$}5c7xB%Nrd&J@&Oqam;XO*uMPNB z%0@$assZ?4+r6$GKX}RKzOkt~DavV+{n}+6^M8c2J|jlJIaAdD)Y`5S=e;J4_lr4J zdPi&2sUGKx?ck^g;?}!8a?~Fdo%1zLMs-q%6}%^Rds|nLN5`E0G2oOsHOQJ5`Klcj z!5W=9BgXu$R^TT6Zk6(Vc_|t-6m<&+SrZyOYd~CseiP*Y#+Qn%lp6ilB(h3;i>S0r z(-=mySno*wlXRG3*FJ`n(!Wz4K?Tl*=CqSP1s@VHIXW;mIx{#cFflqXFzfqrv6FBG l9Uw4NF*Z6gIXW>hD=;xSFfiUHd&2+#002ovPDHLkV1l}kqEG+; diff --git a/companion/src/themes/monowhite/48/configure.png b/companion/src/themes/monowhite/48/configure.png index 6ace3af1910d2c3d73448083aa20ed7f1005ae2f..f4ba9449f9348bffb9fb0dd8f157e4eb43af0b41 100644 GIT binary patch delta 706 zcmV;z0zLhS1@H!tkADJbNklE81!o{Qg{X8i|=oMHFl-H_nz5T-(>h zY;IHApH6q@cXi(HobP$Q^Sti|@bK{P@ccV;8hb?8gd&LHMStjj97#f*lJsSch@T1$ zLCC#)K6UY6m-8d>f1TLchQr*7=ixFvS@qigjSxZznX<#krTj)=%jp+EH;EARz`gj6 zh9EUD8EVmkHXMnp6s@_}Yb0|&Ked`>r^5#Q7IcK=1xK+j6$=fcFE^O1?PldLu0RYL z2P8eFAu``@%zy5qn+rR}MuWaVtF#4b0KhSwHrI+e> z5*a*s6dlozn-kL^K!mfI#oI!@R=erfY7uqXs#*3L%!zuS$*Q-NgqsZ181C3YEC70K ziCM8@%bRz*1EB!`fG)B_cV=&M>50LvslZ*> zztm>EaB}0+w#ZeS0;)%ujjvdoIP>9P1D?ZElyHsd|rS7Yn2fGAa zLoW0^D|vNn+4d>o`b%E^TA5aV{p3@V`6@p}eymMbpY~(gBJJE4Q9%KBUj@e9K4rBm zBmA@1ZqLBNiS}Htm-jNy^9;(4eqz2XW0Ur#&A#8ebF^HTx$jI&Y7n@Xzf)YT6BZUcK3e|1?N6FxCR` zAJzlbzDZ2+Qv=nD85kH;OI#yLQW8s2t&)pUffR$0fuV`6fuXLEVTggHm4UgHv4ysQ yp_PHb>)%BiQ8eV{r(~v8A~YC;7@AobTUr?!LNwe{uRaXaz~JfX=d#Wzp$P!Ch~b9- diff --git a/companion/src/themes/monowhite/48/contributors.png b/companion/src/themes/monowhite/48/contributors.png index ab347bfb7464001aadd1c3836a462b77dba3220e..4c59eaeef625475e3dd128a9690ed73576fbec31 100644 GIT binary patch delta 1152 zcmV-`1b_SM2eJx~kADO!Nkl%a}AYyxvSHQD@N ziyDn#{&CU7EKBs)%w~+AQKNJE%fuPB1ryO^f0ivl8E!0e&<*3p0*2OGx~|^Xs1Tobx>Ap7Wgd<^pS2!~Y)4vVW`^J5dfE0~kRpZDs{_ zLWNm$!*eeN3cSR8RvO$846wub`~W_JL&TQhQ|_rPGg>kwx9f$ka2lcP-b}$ZHMA|< zCUJz?dR5J+NXVnPcxOn8Q{8z~jZU^893# z7i6f(&LAgWmfBSufFb@+!l!b2hIR%V#USJrB-X;B5e$O(RSv6H^6_`-eKfZ2bugX|0S{~6_{d+N(=^MycpMT(I^@~l9qs|tdIlK9pN_hcT z!Q02~8GNL4G$((<(u^R9Ac~B^F>mcQFXo((4=swHEPdkG{C-Vw@;%E^Gtkt+M*$mz>b00aPb zJJFREwwQ*%^2!_lfDq8+r41C=icgp?4G~Tb0CiE-LvI$OjFBBQs2<)D1prP_8I~PE z3wA+`6~LenuQJ!Qf9~%Yxv?-2FKA)cgPpvSq<#XcD5 zp8y8c+_!b+xv^BSBbFTASz(ZBHLbe82prI|GxHe39(j=uL5z7q7Rr(=Z^u28Dmrc7|uA#*&DAh&zws)I%=f zPJav-9;k&vdh-}K>qPVT6@ZMN(~C= zF-?*VPM_$l863HtO4t_G-+KR&$40?x&FsHA<0I%2p&|w=y$E@Db zQvcdxlvE`na_Z_E*ZFQyj~CbC@^mzR*G+hmDZ5_$RdyR6R;D zwEdN>7~s@}QpRT|a}QW`1KK_KqUlBDc;+%8H_l2k^#6l>&?9p!;D^=Ti#4oa)$lI` zYO~OE3_{bBeFGm7F*Q0fI65#kD=;xSFfdvdYYvmH105hSR53L=GdMahHY+eOIxsLR SO4G6c0000NklSVMP5yUGI^-RcEv`H5p zi;9p+#70<1NW{)YH$)=d(uf2R7E~&_kcb6>h{vX7>Y28orVXW~+G%Hg7QJTfWA4?P z5Sux7^WE?K=bU@Ld**+?8$kaSBmS{|)*x%}7ZCJh$0(v=^?&K9qDt7ffJzk6Xm#q2 zzItfjc8sEm*9@VbOO#mHshp+PU|Xps*G=6{vPrizM6jil9eprDxXLI-)LYlOL<|c_`!UC20?bF zat?%{6%$&`A<<&Z;T$(q;BOa$HE4cr*=J&Bz5VPl7IdUq@;#+1cw!O#4w?e8q_Hx zh)H)5cZ0DCX_O?XRHa&FV{=rYX)2K<Cnj zEsv?Cf-!$eQGfzA(c}<2%2wJfGcmSv%u(0EHi`(i8_eb`-*6(zYHnC&>WL7|Q2Cw9 z%yToC%zu4Lmp5N;73G%p9HEL>#@YcMG9{BiA-8cu2OE&-ybG~`4%hnIX^V7<3QX0)9amUK^xVWu(0g6f z3SH4^t<@cMd0t|wK{r~~v5mciso)IFu4~=O1%K92$PV6F<{O#wTQ`vUJ{YGZ8fS9u zP?M^)PhroyMD4283C&Q*G~1)c>apK}{V3*~OK9zgbDm=V+m@5`4NHE=;bH71GcxYH@e-3K=wO1Ymhb2FJ~39P@8)|SpWb4C3HntbYx+4 zWnwyGa%Ew3WdJfTF*GeOF)cDNR4_R@FgH3gI4dwQIxsNn`*N`W001R)MObuXVRU6W zZEs|0W_bWIFflYOFflDMFjO%%Ix{&sF)=GJF*-0X-Y0v*00000NkvXXu0mjf*O;Gw diff --git a/companion/src/themes/monowhite/48/copy.png b/companion/src/themes/monowhite/48/copy.png index dd08c322b83970d9ce236197943e60e29bdbdd36..f2f6d533bddee051b11aadb4e899ff8c0704ec52 100644 GIT binary patch delta 619 zcmV-x0+jvd1fd3ykADIhNkl;YwKX3Oy5zFE#~L58Ia|H!p~01!~T%I);$2m`}1 z+`b^ng0D{s@1Tmza)8jRV*52 zhA*Iq528k73x6P#G|Q2*rh51Tiu8Pd1b)eTTt0mX5>TqqjGhe4RJMSD@!bTwcW>@6 zFtCc9Qd7xch{80FG7A_OF8#=sy?^>F!*2n_tA;k=4AJN&Qj|;?7#Q|3F#P!Mesd>- zsWGeAK2t5$JMS5`P|boX7Z?N>7#J9sgcL*>7#J8>#ee1r+ND#`0&N3y5g}Fv9#j!Z zMQ3ekm*_hVN|ZX6sy<2&F|Nb@)twP3_s&_GiQW;y(4 zcx^yiA5Z}hpOYP^XF=m^hS^Z#L@vBGU|AIS002BH^Lg%P%;&F&3ZL{fraA z+ih>pKkqEJF+=#phR}cN(;I{ih#UXiTe9?L8WRHpgKCLuL`h0wNvc(HQ7Vv%W-u}^ zG|@FM)HN~;F|f2UFt;+c&^9o%GB9}kyJ#bdj@|DD?>wwhI{JO Rhk+UxJYD@<);T3K0RYVF(<}f0 diff --git a/companion/src/themes/monowhite/48/currentmodel.png b/companion/src/themes/monowhite/48/currentmodel.png index 9c5e3a5eedfb0a42149411b41a1877a727466b64..7002db95158bc14b91887238cceb72c8985e17d9 100644 GIT binary patch delta 801 zcmV++1K#}n1=a_UkADKsNklUfT;@;LsT|C5~FK1idZ!~Or0~Bn2rA(rfC@W=bJ`~XhXr+8rGFY%x$xmlLG%G-W)1`ZK+GJ<1m_7<0yFAy(PepD%qS9sCHjx40*4{YRGd78_2Y`(zXWu`xd8XDf z_e?#uvE8UZyjc4sDaoB<7Uz#(_Ris>7IGKr@XVJHY@O=G#8AM_k0)7~S|}s22LKtm z9en`{n3veGB~*IoU6jme(lY}_xSA1EM-DiU=fH-*p^Iv64>XYhq|A|~pf8U;Z8yO| zzjY%Dz<(=bS*ugBIMVm&AV?Db|VrIgaypZzKC(2VWS;{y58Y@Pi@J(N;f+lhwo0lfUF;~S;!Kj!whXDD9j zb_#Pd)AGbd7bu;yGoOX7IDZ{Vv(agnL*GWOAYRKWB8Q2)UE1k#P>=cp_J#|nw_k2( zBfTgM@PTBIf^($jdO%s?B`w7V$bagxq^vgFQ^FllK{@4A z2$K>9kkp7W%4kH%cmUlRRze94t2-V*UW1aPLFMBCjHynNRHv~JS-3u}Y_V@!w7TZG z?_ffy$~dJ7*R<+BNb0s44J+>-n*B7a+0lZ&+5o?l(6mlf`BMjGLpocvqNL~AcDsXf zyroPS+h(4AlYf@q=-9X>e8uP{!FpH6U*wKK{_BCT{VD-@r<6FW3M#_(74IhBuf; z7gH43-%!ClbHh@ATU%hHaasoIx#UTFflqX UFy1G7!vFvP07*qoM6N<$g6`xSQvd(} diff --git a/companion/src/themes/monowhite/48/cut.png b/companion/src/themes/monowhite/48/cut.png index b81fb0d9dc4a108b19afa54ef8927ee5b850b5b8..34462d12d547391999e3665e572ea8a96a76e397 100644 GIT binary patch delta 1561 zcmV+!2Il#&36%|ykADS@NklIS;Z*%55-*@Kx=l|yizTvAxDA+H`V-Y$&D1R9jQL}%*0wZX;^2`eM zH+qDR6C0=%zy7tnd+yNtXHACM7`c z0%a8}TCVIbld?8`Bu31^IXsREZ9@#=}2&U9(?3^@XXKJ-z`kWKlg7itc$@U4B z&vdIXtQN~AX zCI{T)2EZ)#Y*mA&GO}jg!X6(BDfVREBCCf~)xe&`tf|NYKor;R81y6yrt~T%M`R&o za?-0jvqR(<EQJmMmSCPP{fmhj<*F!ig0C(bD3YMsiUg zxM~`u#fbh=c>q{7yFxrK-Z1yfuE474i?UE50e?%7gcxwl#<+$+25}9{MsSEh5|$tV zDu0Ln_^qwPcJ2phv_wu$$9rcZl|Mc6ljHjLA(3947C!Z@>w9_*t<3JAAEnlB@ON=3K33OR!jZx7|P@ zwqVinlET1SE+XhunVww2rBeOo^fQAex% zANfBWtwcn&e#3nt$Kd8lrUaXij2y1?cO8*n(bOQ@zd>!gfvC5G;W5V@31#yObmSV{ z3ATZRN+y%ZOsKRCjP3$*73kRfu?yoI_I7Uvk-iDn{TmPw(ZYIUiDIiGt1Nw^a(^3c zBM%ZtkhkIXsHLSZvI?t3?5u_LL`32{;kd~iP@rG*_{z){?w zm#GIh!!kP{cSmGQ`Zg{!a%4EW?SDljYCWsZ(8^@$W=8npl9cNg;)PpYn zYp^f7mYif?$}>lh3_y*%q>73^h5?#!Y|RVLb?y~wtv?|&mJnv z0{?zeqc1*s;B`E^hMueSSm&3$POTq$?#+JmAo?OwF#%FTFKc;o&**)}YAmjcs$etx z+=>7|%4S4W6xX@0j!turmJhw`E6ec!?o=!`FxZ0Tr+3ZPl>6 zQ~&?~C3HntbYx+4WjbSWWnpw>05UK!G%YYOEiy4wF*Q0fI65#kD=;xSFfdvdYYqSa z03~!qSaf7zbY(hiZ)9m^c>ppnF*GeOF)cDNR53L=GdMahHY+eOIubB2D@xO{00000 LNkvXXu0mjf{J`Hx delta 1021 zcmV(;*cb?IeP@n2iun2nMon z;UGw=f}jxUM$&B5!9{gZL@HTT2uM^IToe=+3TYu?MF&9&qqr07AX0Sd*b&Oab|ws+ z&eLBPeSLlR{h67B3Z;17>Ye+Y@4N5bbI-YN1$ws@dB^(Wji|R1fuyE2 zvJ8ocMl`LY&yV-nkHt*}(Gs6QZep?D>-W!erJ_pfq7qA*e?k|PR#YoH*#k*RE2DVF z^l@dB4qLe}o6-SAJED*3fTlu6eQUXszpcWdj#mE=6(?q=chnD0P;=l#wzZ|-M$y67 zNVFFa=lRF(uz#r~{U+|X(C7V#prFk>bOp_k45d#p=R!VYb7ulwO!C?ZYjS~DAbpGr zG#%V)Ch6)-K=g6lHM2TL0#Qe(yHMBZ3qpl``~YQFaD_?FSHzffJmCUsxrW;wx#l>)BV+6uYnLt{Qh(exXmWN593*G>?~@8=X?=)x z({K?r$kIJ^u4~;V(W&J zVAjZzMRIIG#JOrL&Q;=wE#z1gm@fig#(GPsT} zff^Ix0y*FTahIo;b6ECCC^1fyDC3muQ($q9UKe@|4}ke_0f2*^T^ZwrUQ$((lvmdAWtEpCRaI&e9U$<5=e=L6B)!tKD*+cZtyhv(slQFM zXMc$v1M^1j>gF^JY8>}TC_HGh3+xMKUB2!<^+MkT=_pH)xc5MtQb)!miL# zwu>ho^gTw~Rnru+6zuy>kxPt)+=~8M^Expu*;mIV1!n!tGpL%bR#FK?B>kqM7S!4j z8q^v|Z?&MG?38XSBFgH3gI4dwQIxsNn r`*N|9SOy&+FjO%%Ix{&sF)=GJF*-0X-Y0v*00000NkvXXu0mjfkhS0j diff --git a/companion/src/themes/monowhite/48/duplicate.png b/companion/src/themes/monowhite/48/duplicate.png index a5f716f82d26abc7264d353d80f3177f1192bde2..44c8fe5cdc16fd0dfe3d527aa2e43f8b08f864dd 100644 GIT binary patch delta 859 zcmV-h1ElY58#Z>+Zs=(I0WS$n-c&;d;l<8%ACx&2vz`C^RMR!w3R*n z3%d1Id`qGSqJL><0BAxzFivBb@l@FVb?(yZpo^wy&&zj2Z)~B`>Vezam3#a>1nRI)SY~fAG;^WWzg}U)SwzLM?(3VGTNB=dtdA zzpZhm_O16PI7d}>8UHp>hg>#!?3-+(Z|a{_O?iF*c`~!CC8da zoARo9;&kE#obX@-1b9S4`73jQs08r-Y8Y?&NPnNhOycE}*(!v@t(yG;M1_0HAcA(E>hjB*ZL;sUR;Y0*PD_x-kF%xkI63E9FM~_X8)bpWkRuCP#ay z>KJ$g$^E`Z!^vDegA6hNfWJa+Faj!VDMpi@0v{4FH99jmIxsdXFflqXFj^OD4wKLV l9Uw7OF*Q0fI65#kD=;xSFfc1h)3N{n002ovPDHLkV1jg8joknM delta 623 zcmV-#0+9WW2#p4ikADINNklF|9LGPiyXf4U5IQLe3SB4g?(D5d0}lg1 zK^M(iP-5Xti6{aS>ZIaDMDJmTF0Gd!@Ze%3M0p9JK!aWXph@}buv4sWW@p|wyGStK zcNpHE-+X4i^WN{hF@(k{)8PB3fE4gQ0CK(-8>^~T#14u6#eXK>316$CmV#8vkuV*~ zytE5pB}WpOxR~7HIF3bsttnO2N)(lT%d^hJ1xDDaX;cl19IsZfsNfq_X+MzdD5H|i zq79}fW8yMNQ}B>vfPJ1a>LC_r$EY^|PMG5vJ3v2=Y4Z!Uc*Pfr`rlxO5$>`@GuL@T57~MH;D|Zy@fGM|mMgWAgQAFJXNe<@*#CMn(k~xH z? zj}HKpndU0%QGlp*P{}qc-m+@q8qetjzVU*Yu)SCpP%V?&jL`v<8RjhqIzjq?R>m2k znPcAZkX7BVIDl=Q0Qb%7 zC3HntbYx+4WjbwdWNBu305UK!G%YYOEiy1vF*Z6gIXW>hD=;xSFfiUHd&2+#002ov JPDHLkV1oVA8YBP! diff --git a/companion/src/themes/monowhite/48/edit.png b/companion/src/themes/monowhite/48/edit.png index c318f72b636e4a9f72eb3fb2a4df61c9cd040295..4fa0accd54beda23fb4acca76e468226f4618fc8 100644 GIT binary patch delta 985 zcmV;~119{)28;=ikADM&NklIqSt{T5%%Zr((M`> zJ&txzuDGlH+Dti=wvYP;akg)iaD_}4cd=}K&`HGFLXcK1Uhu~#MrKT>zH8uH7ZzyK z6DIzNBI+Q{8_8e}$`T-8ZTFIxep2_S-l?Vr{@`h=x}Ls@NJq2h1go?Ok^_ zh7fGhi#eOGIsC_W|_>cI)I6%>7uvyQI2pGXJ*us2C^f-$5Ta|ZJH(el>8A0S0h z1IxH2mdi~C?70>;?a0_O?(_ZdFP+i}LYbma+@(`8?|&#dz%*^nm{(ukcX`c5-vpUX z>8-Lm{RNotT9Le}Pp1S#5p^qkvmj(1x*@c(zn#*LYYx`mOL(1%+Mo}F3?PcSMhN{K_VbW><$csr~_e5dXnYCaReHWRiH$&>QBR=Yz z@dsij`G35N5}i-M9Nd7~tnT46?F)hBWM4SJB6|S91erb;IRWI1GlG{d1&T9_C1!|T z&2z{sWBY|*r(7-NmOgt=Pj!4a`z3iE^BmMo9**W~U<2V@*815Tky(o?4iJn0=F_y> za6;T&_5srm8o|q#W=hBmhc2vS>$p}L&hBe2Gk;6@dd%51t|06LHRmZ~P+a#TnoxEV zYlpntBB%@rk!ch07ZCx#vhbja=sO+dW~TK1QywjR z5`Rzl?GLz};86fDQn)?Kn~YufDuVC>#6pCEgwgGYXzJEq9xL~gSId8P8dL-~s27PI zbpSwV)Kqy@EnpK%d!^oil`4&A0a5^f7LWDl;CHS>3wVx?G$#R);f5ls#;r^v{W&fH zDw3RZ$tbtqO&!UegBE3=D^r@F;p=%Ix{#rFg7bNF*-0XD@xO{00000NkvXX Hu0mjfE)LLj delta 658 zcmV;D0&V?_3CISJkADI|Nkl%7OxG~tlgrq1zla4y6 z6GRgSqnl9^)CyGr2WyyM>Iwscg2A{*P&X5YMx${srZS)=DrGV9Cw?8SslE2@dRLCP z-1nAy?|$!n^83Db?{{a2?bVKLo<9VHfB+P6eL7B}&iHTK;eWkrgxs!0)z?RL$#9-y z>lSq~$zhDfEHZVOyiM;}&Xw+xWVysUuNF0FucD=-O^f<$lOL8Oz0@0bqpB@x=R6Z+ zhkt-~@8fD={mDW#5YnoA$rwoQ==(Ijd+RzJi)y7$yx3y8;9a%**>j8iarJRkj zS~O5z^i96AhkqPP9&8fNoQ<*q{*bI)epeEqIHtyF%PTyb~@LuTGgv) zNnnV5951zBF~m{c^1&;hUQLeBi@^ZXtg+54{hT1jso*j&wahJ`g$zApXyZuG0Qkf; zTIgYfHcz0N2%EuJRGGyxKX^)>uSDq$Is<@T%rj4%LnLgEwJifo6)5neT>An6Bs|00 z8v~5{&ay)P`SU&B(457}h7tZJhky{kU%I~ZN{SlVj*}h)9}+M*IxsgnGdL?SF*-0X s>-%!ClTQR4ATU%hHaasoIx#UTFflqXFy1G7!vFvP07*qoM6N<$f^K>=8vpTTC2P7{~u}V~1sz!Y-EuO2r~umbTI~N2FGrKd(lQI0CzH`oZzTY?hvwL!Y6|Lw$FMlGT?7OiY1^}HH*1CmG zq0i>oZ7ONCyHQB2MpizK&;&=Kb8G^tu zG{UOpL3{vB)UxmG*fpDSpc1bvSvx+VtE<*G5xe3e$hd2JHoVYxPe)a9?u6VTvwQU? z4-8s2@558^s(-|$>rr2|{tmA0!-0Hhh;0%mxm8Am)IBR$rtz5bXCMIzaS>F zyW+Wr$a?4#1K3MzKHWs7N~7Q;hnbj88k5{#AB#Z9XFp>8$j#zSYA3UN14**DhT2I?xlKCy$l#!HM zX_ovS_kX6LC%Q5b9_peDH-W$qMy0tPuYT5}{yi1; zU|Jn886NHQK>z?y4Y#mA&XrE1u3-$~AqZ#uVJFGNZ^hb-;J1Z00(5 z6CMERq{UFQTi0B`WJ&qKHyo4QIIC1D)_>b3PuF;2y}cYs(wLuhw%#}$9OVEDRn9z< zYq~4iT&Sb>@!{ZG(fdi02%=E`#rYm#vBI36^9$j{lb3o8hY4$fuUr5G3W?Tt&jnmj zpXK61?$3TDzQ;1ki%KC6ZaDR`LkKFCkM#9c{78O`)a4bI5O{+5eB-%x2j^K-d`E7u z|NgT{-w@BLl~?~X64`hVyRnV+u9++d0d8u<=v^cHh8A>SY~f|Ge86px4K`Q+%wPn4 z3pehHR`fs6zYZ42p{k(4Ig?!j9}+P&Ix{#rFg7bNF*-0XS{G{$la2!&ATd-iH99jm cIxsdXFflqXFe^&avH$=807*qoM6N<$f^KUhod5s; delta 790 zcmV+x1L^#{3d;wOkADKhNkllmrnJ(k3fG zT(k&@s20(p2e`_G3nM6c5H5RdS`-C=MMSiTsH{~%VvERkq(h~Un&W&eI$dV;+{c81 z3;(m2@1FnveBYe;-}BvbLt=I#Jj?v^0`meh5YddPOQ|Lgcz?>rz;l$zXODU%Nr!^Z znIk>OW|3tyG!p_*N;pm@CoQ>qG*RZ)ML&UBZgPp$)?ADxZcy*{3%$e}XraiXVgcJ( zN0d7xGhaatXSm`?|2LM?N+UU$3+&~T)7o){JtPV^!G71Q%l(_L4*iRynpI@k2Zxn# zYC4o>XR^~r)qmn=Sro`aa z+-B5OV3b?DG`NJ_Ha43;j4BqI1~u~yuZYuPZqbEoVd?Y&+df!Exj_T8r)36tP7LTx z8EdDDQUJ<`F%(1~pJIdFl1R&ZppgjhJ!LGxTO+WX+<#yz$Y!xY9aA!6e6`f~neRnp zPfyx<5MhBqt_EP`h}itqCXisvpu#``h0Z+753&jTq{pDD0MCms8x88U8H$bI2VV@T zbnYkjSWl%v-Oi@-5g4L_zh~kIM}3}KA&wCNKy(tfR9L;JMt#O%dQ@xo7~@&{)NLyJ zwJ*5Y<$vq0EZHfgKK-)EGCQj`H97cclk99Y5{cBGsqe)EviY5wHfWQ0Om zt2U*_ghn)?i7BIxRi=;|kN3eZOV`xz{Lj-PsZ&8+SFRU_-`O%(b$Xz2D}6#wbWjD} z41NMAtd%;T`--QL|I#xZ(JDp!=7$2m#)jFz237#WeCC~Fh&~Zq;6G!I9N*^!<^{as z50C)%*@hDO)sxNy9}+M*IxsgnGdL?SF*-0X>-%!Clm7%AATU%hHaasoIx#UTFflqX UFy1G7!vFvP07*qoM6N<$f=C;6=Kufz diff --git a/companion/src/themes/monowhite/48/fuses.png b/companion/src/themes/monowhite/48/fuses.png index 37ad3a4340fdd5def6898ec4ca36122a913266a0..c246f6c02a0f75e8950660ad962308d826220cf1 100644 GIT binary patch delta 1329 zcmV-11H(kf3L&h$Q zNE}l$*_LR?X8d8yFu`QTF{j&1G#Y;_CSD>s7Tv|UxB+ECbsg(kKm>Ji5i^!Txk?q* zK`NBekK>Q8(3ZCF5&vky^RI7DpXWW#IX&kEma&ZgJVbuZwtry{5@3Q;!0)4xi|vTR zIBY@%wnd%FOJW}zEdhgWOe{bik5lY>O7;2&WND%y+uwmCyzyvQI}s6)t*_wwppOt2 zFfv6_cG^fbBI2y3)CxQ<%(Ca!)sqXH?VMr78L0fzhkR1q$j4bt=~tLt5DODXThT*q zICV|I70B|5l7F#p9n;Yy5fL}0FuLf)$VJTJ5>@&iJtU~Ref1?DiOjH@_F>)}g%P0U8~YZ{0nBKu(-dlJDsefkxvDdRGBd(*K#0u2K{ zyx9r6`ye6xnj)kW_j|-BlAK@xh+j{R-GM9wBWLxI#(#&xlft8fm?URE{M?@v zNY7ylqFfRCGwR9dYK1X{kv*v}a$`h9%4QS@DRsQKs;kvgfE>lwV{2Eu;gV3xZ@6u= znhxu%CL$u56qy%jY%gq#zR=a?sleT}^}b&rI*u^N@XC{V&gTA#?8FffU8=`fFv0|Y zjUkuon}5Bs;Qsi1r3Md*4(02;4J0C>sk$a@%jOnx%re;elCCm&qC@+? zb&R^LBPS8fI7Z&7lYNFXUy_9rQb~_LulV3$aU=jtS=6^Whx3y)Yx&Q>jP>BHCTW7R zUp&H%H*n?XTFU)-Y>uiK?;+0CJ26P)u$(oz&41zUZukzR*n^kw3?6}e>Er+q9`x$b zZw5OPtCMTI|9%e3z8aJWFX;jjqSs_q%ubY*89aMxUyZ03q5qy90A$FR*E!Sc4JZ*t z&k6|=Z7+O6v)027=NQA7JjY331oAKxX-Gy4EEqs`{!{MG!89BQz1Op;>&|(c$IM~^ zL4STvQ`rNu>{v;hvtK+qokLYQvlp4MZfLgzwM9p%ehb~&t_`*$!Z^x>zQnS67!D+Eu;6$S*^qG!T>vdv1(8BVG6*^uoxrrVhJ60#(&I% z03cDcMcr4-WG$XWOvLV_O7}ZQVH`CPM`RxkyNOKS>oID%-af=vspIG1i%41Aq!{d+ zedo-sav)KRW}Bo4oL5kkbi!~1fUNz>>^~F;$MteH6ZDao^HVrm>0Ybi$n}y zdMN@x1hNo^KhcWb#b@R+mhr#FKa&v}PubG$c>n+aC3HntbYx+4WjbSWWnpw>05UK! zG%YYOEiy4wF*Q0fI65#kD=;xSFfdvdYYqSa03~!qSaf7zbY(hiZ)9m^c`5)hFflYO nFflDMF;p=%Ix{#rFg7bNF*-0XD@xO{00000NkvXXu0mjf1E_F7 delta 900 zcmV-~1AF|h3!n&)kADLhNkl7NO6vzM5YJBv?M^K42@!f=A@j}8&C6cFD zw21|gAex4a#FJWx1Q8Nn35}%%!lDb^_zJNQ8$=>R5HY@`+Il=R4NdyWoBk|Jr*GcO z)FtfRxvM$%-1DFNpZ`7Qj)nfOmHg-YMSvo}Kd@mTzNLz*Lw}c*HCR7Ui!@nj-BUUu zg2J(gU-pKrOh7}7Do)b_IM}R+iVC{cGhp91OJ!vG>9o3WHg%Ml15`6;IW90ObYYAm z^a9XLGCF-2fVf1y-60VYvw%*QoTTR~BT0n`KrQcl5cilJh*^yTWI4!4FMS<0^(FwL zIN)x7z^*d0Ab%zW1v^M$h{ivpI+jKyOfW(JEiaZ6CxJUUP^s?(BBHc{2`K8~|Fd%mKtKuJ|Av9xxXX zBUL~kKpz*GVkXmkh--ZJQoLa~rNn6BQyz6Wpq~uKseca3F>J_6^HN*Xpp?c-l7_2X zs8PE$!JY5YF+JBLWz->CU(IS!;aJQI9A41|q&b^M&KK4NIsY??gc!>n?o-RkJlz1K zY5IM7695ro4y9O}^l7Sza)Y%-017DQ2OCV@9%0zgV%n^|vb^V_%REzrmZU-|s%v*AR!+UxPlw(or zingB8zxl{joFhxn29;y6hBh;zf-Z|QZsqB9OIX;kvZ&=TkY?l15J6X^+iYz1@i4DD z?h460W?V^V3G%(!spbd~?;{biM z7Aag=!XTzaT_3H;-`H_Vs8Sg{Qky}=i8QPDpIihe0_Z0@R8f4gxCdC1K?NUAFgZFf zH###oD=;xSFfi-;appnF*GeOF)cDMR53O>GdVgj aF)J`JIxsNaCws#H0000VymSeg)n;{@3rROJ7sq*Z5GO^iSl(J%8V~|BwH_n6d4D%T}TAS(}Ut z4L(kOzRfY{p-#--)V&O1ADs?GNp_ZWFkM@AiZSYUy+}{fLq>*#yR|M{*~!uj3=FCz zt`Q|Ei6yC4$wjF^iowXh&_vh3P}j&X#L(2r*uu)dOxwWF%D^B>Je!Zf23bdLeoAIq XC2k$sUY9oktzhtU^>bP0l+XkK5bn78 delta 297 zcmV+^0oMM=1mXjbkADE$Nkl|Nr^_S^rsx)kTU0qW@R^hXFfUSm5v<0rnHCirUx9c%j3cH#s7Lep{vqcBnr2&Ykzpaj9&8w~w?Flxc51(X8-OG}FdNYv)QliC3v5->SBFgH3gI4dwQ vIxsNn`*N|93j!S=FjO%%Ix{&sF)=GJF*-0X-Y0v*00000NkvXXu0mjf_nLyS diff --git a/companion/src/themes/monowhite/48/library.png b/companion/src/themes/monowhite/48/library.png index 5d363913a7a90a70d36747bd6da90652fb3e30ed..35b42d9374f8949ec1e23fcc7df8b4bf32bbccb6 100644 GIT binary patch delta 450 zcmZo;dB!rKzn(GP)5S3);&5_;1nc4i5raolCZ-3d9Gt_>!|$=#Vcz0S_x_5{`(u6w z_MYa-X_#AhcVX~^|Bv40HsNduJa#uIpP<;l!~0N=)4~3AVyRTJ>vL{Qv!RTJ>9To`B8K zgw{M6?l#u@68ZPj{~h#M#V;XoiTF z%4fG@Yp*xwv8D-d8f0cmPe^AJW^QH>GrYwl_GoICQsqC>i*+(Sb_(~dmV7<9f;EMa zz3qRB6T8o0gW!ox4fTaD7(c~qyY=HR^C8jY%_k~1alHn*yL-;@FNYIOWn_9VnxAfr zh*gO&kUn`Ka?6K<^^c}1H7=Zgv27pgjH&w==Ih;7`NZ>k>i3sMhuNLP3=B97BqqGP z!~Nn|e^a0V7s#;;ewHDr=Qs|{Wnf@XEpd$~Nl7e8wMs5Z1yT%?*D!Jm8Jb!dTUZ&G nX&V??85l%~XY)-y$tbH}7=kLH?R9w*&zX!GmVp@5+E$GAnM5H|dkvUXjsW3Gw^$*;i8WjP1)qjm306wag zQZc5~(`{{eI4$K`dlhQ{(573XF51%3e=ornmA_$ckt71IglqprYd^qNDk6$K-A;7n z0Dh|WpFscwzzg?!0e!d^l#67#B9r(59}+M*IxsgnGdL?SF*-0X>-%!ClPLlnATU%h gHaasoIx#UTFflqXFy1G7!vFvP07*qoM6N<$f-swhng9R* diff --git a/companion/src/themes/monowhite/48/list.png b/companion/src/themes/monowhite/48/list.png index 1f516f5fde2ef3c8d54c6eb467bd7c8b7ded00fd..e603c79da8d9960370cfaec8793a37bbfca0cdb5 100644 GIT binary patch delta 1003 zcmVNlX)A7>3`O>4Mf4!2%-I2B?WxB*w%gN(9BY zL=Yu$!C;IbB8f42AbL{qpxz7zPX>&TU_vx1Mq_bd3r?U)aVcW3RH6n7T9HDTQra00 zEG@R9Ga$FV$C>%xf4=AY=luo*WQJ`bWlRhE2(SKk z1!@#1P9D+S)t-y?syfnLI#}SC1-WThmZO+_pH*+Sa3dVYah%KXxv)-RMhWzoH(Pr> zacHac?oN0Zmz}|g(3ghmv)Xvc1zLo2m^|-boN;IG$UL}@_2A8 ze44;jghhhvC4c!xEBLYS<2qXC!w+stQgZqwJw zDzP7lkn-8^Ws#cLFHMVFHqhg4%zyscn#WohqEfmgGX7WJXcJe3 zZ$jUFJ`Pd$cGZ|#Ip>ErIW=+vj``!7!jdC>lwqKaoYV5|@Kb3u3ZW8G!F+1>j&0Xg zFHa(s0Khu?zh-}brQ*sZt2Ej&MYR0jz^7h!9Z{h3)F`zYQUwCQ$mh;0ZMR-}?)({n zB>o{%v440)OX^_wo@`3hUA@(o{OiMQAT`ex-nl+LnG6>d_yLIgV}c#WHGyT!KQ6=} z@@sNZOsys|(RYz`_J3tOQ&<21Oi$)V+99sVT{z8Tw5#J($A8Hm*87AsYRzaWH;RwJZGs_^V_Rl%)qZd70g@VfLTpOe zcYl6C&Pp=Ew=7nKfmI_R*q$m!7Aje zhZIssKK%xOOE9xNNM2$9001R)MObuXVPte=I%9HWVRU5xGB7bTEif@HGBH#!H99jm zIxsdXFflqXFj^OD4gdfEC3HntbYx+4WjbwdWNBu305UK!G%YYOEiy4wF*Q0fI65#k ZD=;xSFfc1h)3N{n002ovPDHLkV1kdF&cpx! delta 602 zcmV-g0;T=z2#^MlkADIQNkl>WB z%)IaH=goU>#)qh_HPqODU7#-T9t8YKvjd_}G>da_UmJn27=ITNqFp3KQvCM33U4FC z5^3@PJa9^!UT-U_PYEzYoJ&gW9~*>eeXBs2HGbh{Y1a9qFJQ;wW>s;iVR5qxxMc2w zEL6baj%$^Ua&NLkdlV<)uX09Ri(`>jIi|xT_~U8s*QA)x338Az65LdDo*_j{hQ{kL z?PQFktNR^d^nd6c(?&iLr60c(R}o7iJwzF#NmU@kBAevcWr=|jTo#sY=17rapB1-U zkbP`piY@NUy=FONhTto%B9;~=`N@9@0OZ(Xfe$(Y00mB2HgOqPW;x>7HbY6kLX>xi z7`O~9PmXe-h{y`^G-*d@vmDy676B%NMVjfQG&Q2S{C@F7S4H0Zda#$*zWS8k7D59}+M*IxsgnGdL?SF*-0X>-%!C olP?4vATU%hHaasoIx#UTFflqXFy1G7!vFvP07*qoM6N<$f+52N{{R30 diff --git a/companion/src/themes/monowhite/48/logs.png b/companion/src/themes/monowhite/48/logs.png index 12e4dad6505f00dc1984a07e28481bbc8edbc4b9..300d7c774577523ddd8ce3070114b35bfb303a38 100644 GIT binary patch delta 784 zcmV+r1MmFW1;q!DkADKbNklUr3Wt7{;G(-*oD{kZr6`W@$*46idpKLX9$L zAkj@^Ss>v}5R_U-6ox^Fn3@*m5X9)hKXsL|{*1PzmSk$0TC5deiAtdh=UV&sc9BJ! zTYk=O7r~x$^_}OO=XZGFyypW#3MnLZ$&3=o0L;MxC?zH0B>$83%K{5qtqM6O`vRff_EslF< zYX45H_`yFQUw@UHmjPS4!&!l;r8YN!9OrSsr;`|dq;(_M`a$ym`g|?m0+0)<53AzJ z(Fql#9*&49uCYhPP8%+|*=`T8QZ0{alT=m?o(*@=ZIj@d&W zzja_FFhH!R=z4rs8UXCtVcgcfSy9Z?Vk-b3Nu1lP2!E5@f7?HaPPjQ0+v`1$uuWI> zwBWMT8t(Lvi-^cN+1wp9js~Qos!T@?vPF$90#^)>u}$}SiO5!MzkRz zAOKre{C~tXPmb27q8o@?bfb{Nsufzzb0Q)l``0uLbJWL=0|$WmmVsR4QX7N~f8u{h ziv74N8|r#yo37U|)hq30zX48ilKW-9unlW`uFDqO-ta(t1@X%T`s1^}o8cUzvl25t zeZ70&eI{OecYp4H$3xQHCTk^z{qCGc7nhRw15NbqO|)L~cRN=ie}Kz#z=;6z^w{G$ z;j>k!vk8HX(HQ7B0QeN+^{teY2vP!%bC1nd;nlwYfD$pQII!6>KBSOB0)U^>`8ZtV zh&*7EYyuw=F*Q0fI65#kD=;xSFfdvdYYvm00v#YRR53L=GdMahHY+eOIxsLRO4G6c O0000U8L<&aIh+f_-7~$g==H{b%}yWzFd0V z34uKCbocPRKaThA`M&cZZ&l@S{|cZ2C!X%(jewJGc?v3`PJP!){q^Pv?&^tBifbd^as$w) zA>Guv7WBs(z@P?X>4o+RnHLA#)`7-alj%*b=Iq;hXwY56MnD>eCC!@ zKs{spBF!7Z=llkGd7quh0gv!I1hD=;xSFfiUHd&2+#002ovPDHLkV1jd__Spac diff --git a/companion/src/themes/monowhite/48/movedown.png b/companion/src/themes/monowhite/48/movedown.png index fcf443163016efa548b81e271a8a0b5048189c32..0b7a36667c9436d8172e4fdb4c8a3dfac10e764e 100644 GIT binary patch delta 655 zcmV;A0&xA71;qxCkADI_NklF|9LK-!&Fmj#cT3S_3M3cS0?Ui6W$T}U zE)nV>B7@STgCG4XQoR)3Mx(hDy8iD)gGK~hi8 zU)^d8|6*StuO*-~erCbBZmknY zNJJ$t5CE`jnzkNb6NKG_1i((uUaT8vO!rDZWyHYr!<1O)k^0Bc&n%4;u9+Z*z`@S> zj!&^frt;~nFbZ#Kl(k@`$2>un%!nc%s{H7rg9oRiaDQes{z7USO( zvW2E6zDX9#9P9ggr-X)DZs zqXz&7F8KmdWR-os`XvtQ>p9(k80Ka-^Jox=LY7!;c{BTvJyQLJ-?mU=gOQ}z%RYY%L^#D*|y*?IX%hHdN&-ejsD6}3R#8q@R6gubUFJNQg z^#DNNB4Zd@FMSH@dddw93=IBRegiF*E>E1*2T_wK0v{4FH99jmIxsdXFflqXFj^OD p4wG2|9Uw7OF*Q0fI65#kD=;xSFfc1h)3N{n002ovPDHLkV1fo-GVlNZ delta 479 zcmV<50U-Xx29^bokADG=Nkl4gNGd|9Q@y&vT|6m~tzre=|H7ORd zK#>#%CHdHptXauV@GtxT#ZGEONET)qX`^FWr8Nzz8rXN>pBX1=mNXTJ zFb6yWaLcrD%7;L-a!86hmWdTdV9~}A8&vzq$nyCEQXH<7zkpwX@A}WzmOu~)0zn|i z)eF9nm073kd-apo0v{4EIXW;mIx{#cFflqXFzfqrv6Bb`9Uw4NF*Z6gIXW>hD=;xS VFfiUHd&2+#002ovPDHLkV1kjE*-rof diff --git a/companion/src/themes/monowhite/48/moveup.png b/companion/src/themes/monowhite/48/moveup.png index 937bb7d5edd393fbf8724c04f703a816657edd8f..f219acca80a3d9e6f6ffa42fe710d08346bff1e4 100644 GIT binary patch delta 629 zcmV-*0*d{G1*-;-kADIrNklDRu*tEWIOnM za{2z2;Q_-x>id<8DKBFC-}m1ht88KNWMHMf1?iq!e!Teq|Np<2H)J+2I8fJcHij^{ zJ-=T6hk$=?@38G>FlJz)n(<5_Mq7S7|BnQoUKd)&NHr^b)PFa=zxy8*{JC_Ne<_0w z<%Tme*mCXv^6)<<_;ckv(-sCL21bgEXS9*r`1THxu|NO+MR1Os;#|l`krk#QEAL$T z{||2Bw;B5no&5g?Vcq(}9Mc$N$updhL4$ecgDXfb{xN+&TMzHtLno2MzArw^Fpoim zEaQ1r-MEMpIDbFN_b^RlkYG?}U9$QJlCSHC=`GH@|4 zFfcI4v9G*v7GcHTFFv~%vvCzVxKc6~lb9hlyg>N9cf5J? z65I%GJvIgzTqY5dRsOagjlcS$bS|;wEJl{9k_D^XAtMhPzm04?mlzef{=j z{1&j_l3@IA^7`WWxEFsa7+&DiefZrE^X7+q((iFwfU8F1<>F-KNdNe)9f#{-;MtE4 z>!sYzt}=hjaFMiHj)_T%F`q$?D78KesT{1Nmq<(`)YnXum8qj(6pVsVFysLMtBY0u zd+#GolNSOX5-~M8GdMahHY+eOIxsL=7i$iaNCF)oF;p=%Ix{#rFg7bNF*-0XD@xO{ P00000NkvXXu0mjfdDJl{ delta 462 zcmV;<0Wtoo289KXkADGvNklH?ih3LEY$hk)jhv+pU*vK zaq2jzuoWtBz6C5`0So*?Afy3x{!t+Jr;IRnT+mBN?qB@{7=Pvpa5`?M1Z4(Q{U%u2FGYfwN7XMC?D8RC02M}J1WSK$rR5>H3Gu|Q2mw~b9>4Kv<{M=pn5O0yc%b;j7C2DK8*X`0lM zru6V_{8VA>`3GDrYf|?=_D&Smp+5jcHKKFR{-%!ClkNf?ATU%hHaasoIx#UTFflqXFy1G7!vFvP07*qoM6N<$ Ef;#lhn*aa+ diff --git a/companion/src/themes/monowhite/48/new.png b/companion/src/themes/monowhite/48/new.png index f5ddb907781e08557755d6283dd0a15e869bca9d..d5c749528257bcff03407113111ef34de2178e6c 100644 GIT binary patch delta 640 zcmV-`0)PG51hxi{kADI$Nkl5u=UU>Hmg+%b!hYM5R*t7 z^Y%x|iu9X9-uHp``Q-gRPksS4)l~IjETcnsMp>7}43?qN0e|&Y>H8nNX6=_HUBfTr zn|M!0SOMCaIWJFJxO3Qh76lfOEgn#i8d^U3y!G-CS+Pgh02ZPzoARUG$4fySvC-il z-=i311Bjk05v=7#*Fyl1`Tb+xcbD}@uHJKdqi7b1Ideff{YpIAU4`!+-KZOMx2>d- zqgxM?imVyMjeq0mRhdcz0ANnXZvWi;iZj+Dbp`q{fI4RZfPDJu@%PPdT1VX(V4heZ zN^VmKP=O=~#Nx7>YiQZ%@IT+nV#T2yczFT>0>b=lcXI&1dIT1JXDup7RR<822?n{x zsOaPl#Jv1(%G<%DR!#jLcG{xJ5kbrE4wZ(ex*}H}z<=sdu@+B_0*FVjjbJ4J;&KoI z^k=_l#6KCMp1k)&Q5G4ULqIUAVUXa>STP-SJ&PPWktJ52w7Xrc0C2GTC!@zy38``b zb76!zeKL}oZ3TeNjAABzhpln|7oU!Azl1-d?NT|Xj1gOSk!?O5`_dooD-ko?oNb)8 zP7+8L2R*pZU|GRx=sD}E=uWRRRSd2R3|cG`BB;rNRKg|01&bz%ww+7 ze$-S`Mf4975w|sbswj4o>;WGVF*Q0fI65#kD=;xSFfdvdYYvkg0v#YRR53L=GdMah aHY+eOIxsLRO4G6c0000`Wz{q`{0~wzBC9zHUgp6yEqgBfojyZXoC~>SgU8zkAEgyNTM!h3&bgKRc=%n zU`AYc?Tsh4aTqh=vJ6qzqE|-T=@?ZPAb8-I$JD6Z;ym>yS@6t0w|wF-=AbB3vxWAe zHmVumw^2K?TZR==X7X6x3LUn%X}baq^$-wa{Tbm(RnR&hNWZ(@%2v>KfP5uS34v*M zfVgC-%!CllcN2ATU%hHaasoIx#UTFflqXFy1G7!vFvP M07*qoM6N<$f{9|Iy${{92euF`l#iiU7L# z54Z_gK`h{5YOdMy|Hpp}!0?|`qZ}}T;XlKFhW{M5-`@TIAFBlhma{y!N2mldSM z0a;+wf`PYy1+VP?fI}PYi8QH!p&rgY&ajIp3qC*G%4V?ERDYN#3mo8q^8fRPWehMY z@LBLD*R1bF314gbd5_b)Q+#H`ma zgNT*m%&X5CzyFbF!P0#U^RZQ%j9Ao)GlVe+k?I46xeQN8)-wu5!6+C7bOHc!*j(&p zJNcoL+W{XEF*Q0fI65#kD=;xSFfdvdYYvkP0v#YRR53L=GdMahHY+eOIxsLRO4G6c O0000JVt delta 400 zcmV;B0dM}q1<3@Ekbgo+L_t(o!|j*7OT$nUM^8l2!NuaH=+Mcfqk~i3>rilWbaN92 z{{n}Ou6}?}q;wF$(WQe(&`oemR+pkhaS+k`T#b3Dxy6Feckh%7@1FZk$O|tJ!;P^a z_xAt~@PH8nl<|>poEYy5h-g!%Vjer>vIyXVeM;=HWNe?XnzE3|sw64Vx#rZAH4+^aJ1V-gm}lLr zC+6V$V?N-TE4G<3wtwf0`&1=I(TghD)T3EYsB)3hRGjk61|_qgL*jJ74Tw3R#)`T9 z9c{<3nOxSc7ERPO>*=YM?dJLpB3{{I);Rqq7lhfeOHq#*>SjF;w0LsV9g0e7DlrRc zC~*CgU5X~SB{J{e80Tdv@K-1g@Bj}O1;7`Qf}9qL|9HTYRstUqFgZFfH###oD=;xS uFfi-;aGdVgjF)J`JIxsNaCws#H0000T})eb7{;G-XaOy)bk)gZb0i}}G86gOqAX4q zqGWNIiHplLgScfGda(&2h(7KKcOSg-L$ zrYapck{P@~JZ~Q$Isd#J^+>x>rNVH(mkZiqNBwGyGT}=M;4BWJ9EB)EH9B*~Lt~6n zi5vS;#jne{@~Kspespbh=ti@GS;4i#-7fx1%3s+MHl>8uxMhhdivC&Fhc{BhhbPtW ze@{Q;PZe)g&wpOIWAxy;jG05$*l;vs=8&OrTu;2HNechC=G!rYzDWJxE4R>|O8&by z_|&r}$!r(b~m|9lpM^hH2dwMv&Tb5L&1Q01vwKaSsDI)qdyoRWvSB4 zp@|Vjmk&_v!QSL8%17&gnwc#HC7;e!Xgz3I8ZS#(KjASoe1%|bw357AXF(f`i|aeN6D@2xc@fRH zA(T@+}n}H%;dhM8e0-xjM4Sk&M^(JLIlsS4kd2?dQ7P@*D{|$0);B_2_59gr+U;qH*q6|PI8?_gtt7L;^OIj=EWklM2L;LF|6>zLhHi*n zbAOVze-)i^ZM*`#yT=;GR}S>!Jpej%K54-&02O*~G{iZRZ*d4$C=Je>TdYEfm^|2l zeS)Xk#Tm>XPq=(-m^@;^$Eo1~Kqs6vdq~ccq|g7zK&dSlASXuP!57D^; z4qb6oggHl&ryMx-tb+`WidL9b7XZ+ptAEFn_}q0CZGaJFw!n$%)#77Dec$1T58(EB z{p4ON8q$G}8Fl*AgpMNH9XOpXJOE_jSe0Fwxjz$vKVj(7qQiRc<=AUP41?H~Zae@~ z2%S&6$TBBtGl2(yY`iJ{kvV)!Ycq>~p#QD@0ns6~D{O76RR910C3HntbYx+4Ws_9{ z6B02sIx{#rFg7bNF*-0XS{G{$lX?RkATd-iH99jmIxsdXFflqXFe^&avH$=807*qo IM6N<$fT?VpQP5MVkt-#1w@he{FPl@6Gt$ zebcxQItOgOf@v=e660Jdm zeoy%?4+N9${YF$ph}QOtYZxFsk43MwqK zDs#YvSit(Je~;PCSGVNE2c*&(1?0N)$Z;}x4xDEfE8JQ&)|JoD6yOSbIYke52svVw zBF+LGZhz7k=OTao8gNhZ9l%&gfPiV#3zrJ^}M-jsiy6f)F8Y z@dF_i^9(p+B0uv{5#k;&2|zoAl+X)wBE%)2*-YN;u(PgWgo)^3Tm`%%{oes1NQ-%!CldJ?CATU%hHaasoIx#UTFflqXFy1G7!vFvP07*qoM6N<$g43j4 ABLDyZ diff --git a/companion/src/themes/monowhite/48/paste.png b/companion/src/themes/monowhite/48/paste.png index f10703657998be1d7a8bc7bb95bdba43de6bd8c8..d912c3963ad09f7593e420497b03efb3cac076d9 100644 GIT binary patch delta 772 zcmV+f1N;2L1)&F!kADK1Nkl_U#a(eDRZ)y!!MYG!2!cw*LX%n*Q=?8Hu{0H=zR}jCG;JoyWUh-g zNyj`VNwGry*_?Clx##1ad+sm;R8-NX7nL_cgKpR$N&3qe#(x9E3I%M*mtJzd(_*iY ziV_3C>Ym>BAOaA%q!eEpdPd@er+BDw44tKwh=L70r~|e#bH-YukG``QAOKK>b34^W zx97+bC;)S~4iAV>0EOea{+rbX1)!4a_AGtd{)L?&k=2qm9QL+Kw$1oi0=x_L|6I73 z50S2py-%1Qseh7O9mkF2S?Oi>=(nl4uhUhJus>I_Oo!auCY7m^UidZ#6Gjtml(`>h zjwQNEXOJ(iXfPuTAdylKry?F}7nt?adL@!Q1(`^kyA$)ZDIn3Bw8Bcvlc&gVMw7|7yS_y#9)4R;TSY5-(fPWtzA-lS8+DS5K-E|^_5MqAm zauY&`e@gWb?b(u*a0b5=?X!*vg!eW1O}l%uAxb)A_LhCp;Q`df*G;NE94b2i2wyq# zX?zk;8{K-fJrkldz)_rHXA^}wQIC%F5CL8Ew=RXATURY9#YIGl%uyu(y4t!5h$;@? z@+tWPW`BdIrkntq#mOJ=eoWo%asU7u&vRxE{Quvk{{+Bs5c-`U4Df-D#sV7&7@2x{ z_Eqfn#sPxtkmH4vqmXzsbn$@9_aKM?3?w}(2G=ZS0T~Md@Wpa07|6Xel-WYe2C!ic zk>Yl_Lwb4G8DAv1#QN#lyJ$^coc{*|0Q8E!gDH(>N%jDSjC`LT#GCZ?E(`$ZaSZw# z^HGduN?%b$<ppnF*GeOF)cDNR53L=GdMahHY+eOIxsLRO4G6c0000gVs+T`c)Wv>Qs`I_0^_}jL;@fMl6`Wqs z9LKc8LXq8Jf}xVije}pNH7v{#Wh-2k!6?-^A#uj+^~}sYo4kaV*Dy#dV;uHvQ_( zyNh=FHoL@HO8se{{-<|Ku3de?*;_GXnrBV5wQfi%DJ@r0D$?9|DEAdF_ZvpRX&rxk zv|JTVt7JcUkvv(^o<-rb% z;9+aX8V9TVyUxXxtdA;RPkEbb{o(uU*ri-G0o(qoW;JTR`zv}QePXmdtK1Cr`j*7r zipJ%;xTXl+i`#V4`0Emr9yy=5DT4m@PpsXf$G@mq(_JX^t*Ol~!!rtrzJI1Np9_8V zO)J1eYino-YhCaI;W%#_#bw8j{byicP%UwdC`m~yNwrEYN(E93Mh1o^x(0^2Mus5< zmR1JlR>l_E28LD!2Csh?Z3Jtufa%E1PsvQHMCdRGF*LI>wzM)dgy^`ZUVRv-gTd3) K&t;ucLK6U!8~B+3 diff --git a/companion/src/themes/monowhite/48/play.png b/companion/src/themes/monowhite/48/play.png index 8f5a7f6bddd94e497f7e56ecc46484af43ab3c49..fb1ee191f7188e2eff0fc7510140c85e27523d1f 100644 GIT binary patch delta 509 zcmZo--oY|K#f>H1(btiIVPik{pF~y$1_s9BAa^H*b?0PW0yzrF9znhg3{`3j3=J&| z48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6`@5qG~;(p{I*uNW|f{(`>z&9YtK|(nFMoHYQuQ-mRxX}>}Rq>$fY}FqQIP;X4z}R zTHb6e^s_uVr!qh7UUkFq$DV0Xd-kqev_RyF-l03pT2_pn(z2`-N7d3?nXHPwY^%sV zw{e}|gg%ve{pg!l6x0AI@&L zJ+JbZ;j>UC_et!HJKZHETNT2-RNrQl+qh7mN8k3<)As>KCpj7PJ$aM1s##b^gT-+1 z_rnU89X(YGR4i+5u2k1ltKyve;k8I)WY?1EI!C8<`)MX5lF!N|bSMAyJj*T_7?(9p`r)XKzE+rZGuz`*0JMmCCu-29YG ZowQ2aIxII#xDM38;OXk;vd$@?2>_yP#4G>+ delta 328 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 GGywp8s>yQz delta 282 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 SO4G6c0000^55!ty zf;OhLk~G$)wVhh^kBTB{gQP_IM;jtWe1wb-5RE2U`wzxyP+Ezt)hO1|h#4QWskYYP zB^m~K%pLB`+|@tk%y1twcji(|y3QYGpWj|*efM5_@3Z&4Re$00wbXHrH$l2ks7da1 z>P8iyPo_-mB)|2%2Mc^ch}Ou&=qwkHL`xXrs*ZW_X5`{XtctNm_5Ryq5z!mnk%>(7 zl?k4WzUYbvW5N)C`SEJ~mK7yu zs`X||$*NZCHh%^a6+%275%UMn=1Wury@S_~ND?7{Lmmg}_4XTAvDlN+qNOQS8I zR+Go&GLtdm;DR} zZ1R9w5VD1UX--Q9v{{{v-qL`#-3U%{mDUmG(}&u9dUUB30@iEyD>Lzg&CYX=4$o^$ z+Wi5@=`q|)1_vj-E+42n{Ind@m;V6yl=Trh5_8<`{e=TY;tu{-f1V; zZhv`_A~wD3wa5>8sX}w+jA8D+TPa3`dSHAn-kB=gsp0yWG!RoRq7R^-$hg z{6^Q{(~^F`hd9M4L%7$OZeCH7P8c?LBkIh`Q%>v$tkYS1rcA7VK4)|!rDmxzn^e7S z9eP27$w_v~UK3+OM7$AA$@7}%iO$$J%zu@MtuZO_{82-KJCuXf{15J)_4YaI*dQYNBU6?SBGe zWz>>vM-`6&oqlJxRpv{ZpBy~|7X zT4skOn!Tg@SbOlILw@X9Uol=&-pSBFgH3gI4dwQIxsNn`*N|9{0AK%FjO%%Ix{&sF)=GJF*-0X-Y0v*00000NkvXX Hu0mjf)+?Xl diff --git a/companion/src/themes/monowhite/48/read_flash.png b/companion/src/themes/monowhite/48/read_flash.png index 39ffc14facf4ca9327fd78f7eec3af6840cb5370..d9fc136736a648830d3e953a23db9b5cfe10b111 100644 GIT binary patch delta 2430 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 diff --git a/companion/src/themes/monowhite/48/recentdocument.png b/companion/src/themes/monowhite/48/recentdocument.png index 4390a48a7954b7b493a4882f2757d82054f25ab7..90c3b1e1d08f224927494a0d8bb80ec2a7e0d3ef 100644 GIT binary patch delta 1503 zcmV<51t9v2362erkADS+Nkl7drr2m(V=-u~CAI-$B(_GIYLl9HH8i#utf_L8gcTPlqJRQLPFa@w*oB4V z*xi}eKR_)vi~ivse&?V0y?O6_X5M>q0k8B*FTI#)t?~G1&VR^C97Ef}0P*jKC$F6= z@TTr?w{h=$5L0y|A)n@4h!eZt_mz4XZQ>~%>*Eay8 zon0CipO|1EHf{Do%>q!GdamKtWNXn$0H|*dRoxm6S`!oIRTg~OcmRzH0000Klhzxb z>t_EU)F9ZqG;QYb?P`3T(S6fyJQB2r< zcj4*j+x0)bEU^4U%=nd(bR7XP~3J^FMVlE(5nzUDzV$XU!F$f_Bkc?#gg`UJ@ zkL&j^5n)~rHajL(dLDg)wE-}yZ#HTGV|Q0AuLmHB53lqN+=7USA?5%!ulTIg&(#kW z!1W^UyMN2-E1Q7wX14~n(w}dGz&QIH4Dbv`Bpen3SY!KTVSuv_I8D8GQFL?7sX?8_ z2J%Hk5_ zBMZA*z6-AGsDseO=d|OaedwMo)%ZI(As?^4`sfE2!H_F5UtawS^yiVJ%^QJq4T@Z92{Ap z7_gP3+395e_M{V~{^Gy$pQvDo{DfT0q^95y^GYTM!XwPC$f3=5}lcv_;&FM&39ml2kN>^cn4N z7w6g3q$PG9;Pfq(9nprF&tk7a{xmW~rWolU>aG=M!*kwK^kGDb+sI%=FCbbPMc4%3qDn4v zICks3s@60<9xcxb8c8Atph7dE$K#nxq|((_$^LIx*FxQ&I6vmWrmy|eZe;7wposIl zUtdPIu@*99j=OnTe(>80u;3GjE`P%~GvLA%TzP$hr5lG-xvFYcKUSJI8rAf%Dci39 zGMK10WdVH;bAU_$?p6o>8fL8lRdu5Y+4Gvt3EH;uZ$mE;jVOvO%kVh@k&#Z`V7oIiJMnuH*MdmNg6aHFom#CmvkS@tumw#{QAtEw# zy`9A-JbieWDG?hNadRvYnFdvg;z2c$t|_yyyN*W3z+1D~T@WuUJphQ9IG>!>YT~B( zqvEv_MD zDXL${12+c06tY&n~gC^~qP zh)669{(!fDt}-JEHh@bj@r1HeZ0zW z0t91uqlwsI^Cg}yrbHFIMqz3tx@;}9#)y{E1Pn9G4r+jgIEDI;5;ex`i>TV|RzFXq zP^p)wk7xKcexVjK2UCa|UM7Dz0Pq#N=^~3=ytfcyu^TOJp%%ZBrwes|tnSPthnunp zb6exfhjL1gdcJ^?9eN1vLDv1!UN&>YG9PxT>Y|GT%_O)r@3Iw1E;}gtnkvO%KpcWR9+#5nwCplU+qOkq4Y+ zFlhfw4}VZVGp~>}LpR82U@e=c0*UT}JipR}tEkzC5hLb^m7Y<%+!QEQ`?iygJAdFOZkUm|$u4!!dlFfuQ`RgNc~Tv+ zJW$;1DRsYhx_VY-xo6Z~Z%hWDO@{1HqwWn9$NbCJT|Y0g!Km6{XettW4t|;Uh8pKx zsz~PrI{ATaCU}HHjL%UO@jU5F(lVnb{txiLv;A7tPB&ZUHW90Bu=ut^ zh=1+(c}~6LLAL~vHpgrWu5a*w|ETA!nVFRgAY`qBs*d=i+q~Y7)sMW^V(a`()n9$w ztW*J*WogAEo^&(-KjAgAbCLsK$ZC%ojq!(S(o^o5efJ`1DSQkGQ^lhc zkjolEO!7A)4AIO7{5fBo3g9xNm_jzPk`{5!@)Ny`#1^IsNZ9@b#TleMc+=8glOP5k z5->SBFgH3gI4dwQIxsNn`*N|9Q3f3#FjO%%Ix{&sF)=GJF*-0X-Y0v*00000NkvXX Hu0mjfYaG*< diff --git a/companion/src/themes/monowhite/48/save.png b/companion/src/themes/monowhite/48/save.png index b6d3800859a1ac7b31863d42c2ffc058d13794af..e29b45ab3384cecc5ac2fec87c815967b92cc217 100644 GIT binary patch delta 416 zcmV;R0bl;?1K0$RkADGCNkl^KSvlCmSOV+9t*Bs znD~K#Azwh-09o|wlfpX;3^4JV7a17U^;pIBnQF7#d5Qk z%X$Ia(toxvtX*Y@r^JE>AJ#IQ#V613fHEHtVFZ3K^z*@}1tY)$LiwPch8E-t5L=+- z3y@`jw!th0%E5rd!NI2=(#SCC=>~?2n4;8Z{K6eZY%MnmM!_hcG5`Rc3xwEy|3g!g zegPj6F*Q0fI65#kD=;xSFfdvdYYvmI0UaPQR53L=GdMahHY+eOIxsLRO4G6c0000< KMNUMnLSTZt2C{zu delta 322 zcmV-I0log%1ndKlkADE=NklPU-;V+2n4qZ9s7HL2Y3JwX=fD^3y&i^?u}K^ zjYMp8mYIa2cj_dfm=%jAr^v7{CkGU&He0f;VpPDMfH4D>+<(|=gEB;vXyeLiJ*f=k zR0TD45s`3V&H;!S=^DD&gDY8cu?v9ka0@W1|A5GPg~IAP;Rl{zLt&_vp99L*CMNa& z6nTIL^Z;PG$*Q%Bq0-%!ClN$mZATU%hHaasoIx#UTFflqX UFy1G7!vFvP07*qoM6N<$g2r=*!~g&Q diff --git a/companion/src/themes/monowhite/48/saveas.png b/companion/src/themes/monowhite/48/saveas.png index 94fccbe10ac2b39bbfed09fe8529e5eff1eeb2da..cb5c738ad8f8b73ce2cb4891054235c5151270ff 100644 GIT binary patch delta 660 zcmV;F0&D$=1Pe>F|9LK*isfZi$0uiF!!@~9l7HlP2FG53y zu;>=i!AvreZW7dai#^A-9XiYsv=ClO7RpsAC_~*~W65GXtSvU69RhLZV6f^euY*3_ zap%wOxI+c=InDfj!|(I^J?1?g;Ns%qIGk=&z_~hVWbqbdqkm+RUinL>j|sKcpAHoc z(Me-PHIdsNXdM)nj!$6#eC-p|3Gpv@&a1P)sNNJNf`$3G0*sJgs51I{_xiD>|WsENv}31Bz=xcGc)xzG`4?#!MD-}+w0hzvHAso4B0RjxhjYu_A;y_4)5)8 z#{a($T!AHajtU+_=-15%JNr9@r%>%qz~km%55;1;M1Ld_3+yFg0f|Utv7O>x7k7uX zZZ$zfFPP*n;@T;+X`>!*&w8ggsqf8;+3I*Y(<*Yl%KM_tdlB)!_FVXkx&H2oDM}MxF3U8E6;N}*$DhiurQ*o? zgPA_>#!==_&yIpE&a(EqgIs=pA>DF6(S4&A046?Nkv5`K(|sd2if750@>)8>jlyTp z?m-nTPkN_XMfjX3&ZZdT9O|CIJ6qo6ALkF&w+hy5!*EQK8v-8^F*Q0fI65#kD=;xS uFfdvdYYvl40v#YRR53L=GdMahHY+eOIxsLRO4G6c0000YU6o!AYFNAhyS$v83(I#l!@yW zv4mv9PFOz$q<|CvWVBVqLI{mpu4o5#MVAE$6HQqWTl7k?Sbvn`gnW=v#;~wP4N$1Q zYKv3PMg`npG0zl-yl|;C%3x7JYge^zPEls$&NFH`35$e#R%rk^W_1(d*nYnfio}f(K&~5!3&@zfRD4@<_5G?#2^v5Q}-nhuY@PyGnrYYd} z0a1>r%?=yh*njcWw|XDfbB_3k4(L!~jx{C+>JARza>4PJycwVjy#{U8hY;X$#vbp! zO2m6nQ+B1SsaIrLEWcLti`SEEOIcohl{cx#_@I{FqPp)56C4xl-%!ClMMqMATU%hHaasoIx#UTFflqXFy1G7!vFvP07*qo IM6N<$fTr5K-=WIKljI^4#MGKtvV)iER(#Xch$!(Q&dT#O8Ss z1^`tHx1LjMnZJPb03sq9{*m8^vlu4OYPH@F$X^C_dYKi5PF_xJ^Vh;eL3fHBSd$_%J~5Z zKmh&`a4&V|qhPWVUb!}^{I$)>KG?CQORNU~d@|xf6M%1~G=GWo0DuKO%9;SAJW(^f z4i^AmOpB5x@WYZDP2jK|s29Due!y381Ns55W1Ua<4!c;Ya-LUE@`^`R@+i;#!|tzJ z^u`q@I?o^@VQA9PuE3l=r+R%b<SBFgH3gI4dwQ vIxsNn`*N|9KLQ;fFjO%%Ix{&sF)=GJF*-0X-Y0v*00000NkvXXu0mjfa_*N> diff --git a/companion/src/themes/monowhite/48/stop.png b/companion/src/themes/monowhite/48/stop.png index 7818a3d4caeefe03b28d2ace12220d464b243264..028180e0f59f093739b97af6416be0ab99f4f94e 100644 GIT binary patch delta 368 zcmey#xR!Z>iW^J1qpu?a!^VE@KZ&di3=E9LLGDfr>(0r%1acITJ%W507^>757#dm_ z7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD?*AMYZ~6o-U3d5r^MSQ{+2rz~j1q?Sc&x zdHB{{;@i;uR$^~N{sp;(ipkD_wgE31c1GQ-H`w&AIOP+gQ%6a>v5?N3D<6LPPDq`i zI4^(m-aUu7H}zcJdT09r$EAAbuWC=4?PD~hsG7xoLw>d4^yPV{crLyzH#7cm`sKtG z93lY@jI2PSo{=@3(`7-C0;krc%&vVmO=rKBe)wr=ka+aPJNxF|oP1jU!}VW&9E|%! z?F_sf{_fNTdPcRxHKHUXu_VKd7c7#dm`nOd2cY8x0@85nrH k)yPKCkei>9nO2FUK^{$q<%S8@fjSsGUHx3vIVCg!0ODDO<^TWy delta 189 zcmV;u07Cz*1Ni}vB#~_+e+P6)O+^RZ0T&P^IODVlqW}N^ib+I4R9M69maz@PFbo9$ z4OW`Py|?l(nN72(67s3s*hC;1G1B~%1j!SrhJZ2Vad-_0C<k;sn55y89gg%z59 zYQ@fW4o8w2Shd|+Mr6&diGtG6zOM*SHuduKCtF~F1r}Iffdv-)GlobnC}R4sJL(1m r>Z~^mL`5GwepMLr0(CaR81n}{e6$`;6=@Rn00000NkvXXu0mjf0Gm=jP7-UD(HF zC$+QD)qZy`&v~Ec{XggB1rj7kkYGuefBISpEy}P9TBzZ|Cx1M^GdK{4S3r)WN?E*D zdS0EAE>rp4qplivkAK=iO_++utU2@Dq8IWL`1x&<3*m8buu&Dc%Ie%nx7(~xn?ulgjDhND;XW{IA$k^h&25u5!x(SMnLK5Q~)?Bp%(ZTXl{DkXa|4_FLsCx&}L=;z^E1$ z0rllW767($$P(JToZiwn06=&p+ybiC%>h6r2esGA)sn90st@;#5b`4 zwt3pp-A8&@;X*pL$ac1RcNYR- zPvs*FBT?>igZ=AGO!Z>+%pyv@yzz7P>fHHdc)FsyZ3=msz#(sW zvWorS@0`1(nQ@{CdIV!GhxgPPn0l~~q6C-G4qXH8;1UYNzo6RW`;q0;8rV89 zq7<>4BuJ3pKkyyc>zfT<)Ez*Ri2@%IF*Q0fI65#kD=;xSFfdvdYYvmT0v#YRR53L= eGdMahHY+eOIxsLRO4G6c0000EMl?k2}+hRBiSJAa?ZGrG4^sw*Mig(N|Q~G?WYQc>mfC1mCI`0E}n&$VLx2hIB)A>nGnRB|S zxqbDX7aj7FV^&oC;T5|&1*AM;!6+*_?AG=kRs-ZL_byraHKiN{P%$K&S+GgI{~D8@i+Ri*E)+n z3easmG&#|LbfaDZlC#<#9QBctUI>X^Bo%Q9Ow&a*R=16+_2ibB0207D0Q?3jz7pae z0r~;}0F!A09TG4(IxsgnGdL?SF*-0X>-%!Clb8b?ATU%hHaasoIx#UTFflqXFy1G7 Q!vFvP07*qoM6N<$f-d3{p#T5? diff --git a/companion/src/themes/monowhite/48/wizard.png b/companion/src/themes/monowhite/48/wizard.png index 7a61ffae7f92c6911c65d1d1efd127f101b21975..17e47641430904ba6474c00a7a074d533519c689 100644 GIT binary patch delta 1474 zcmV;z1wHzR3Gxh(kADSgNklF7=G@(ZEsryT56M0WxKp zD8_7RHnS{56ximbn{%k({_HD8v*?VAiHU43DA|Y3O$BKI3lt_FBBF632w}p+6)oR5 zXze}w(H2^1;kvS4d;YcOJElh{{F?{R0MmBSg)M%+6&Q9+)5Atuw}~d7RadyTdg`K z?!Sc=0F;wa5=3J;*3z4<2Ft@jAO1Lri^L4b#qCcBAAwM8#5QdA4L+oz*vYLImLd^R zpaNS5?DV3jxPJvfudkSuDPA&*VikS?W>Ok5-&Y|07@_>UXOMHg+-W;!Y?ytXNq>Z7ID%#Zn5M_Jhr_l(;T)(}-EGLPmt-{Xc^fL90 zo#lP4sec^i0AN7z74VOep1l%wdtSrR3fiKwAcQ?u6WJa@pGB1Yd&v2qKCJ0*dCS*F z4IxcAw^0CwAaK0SWrr+OB`U>fEQK0d=*DR~Sp8rl=^&=w`bn3DCEh|5#1KFXHQod5 z$bcVYh!_r5%d>CR5MyHAA|2`c*l+D2BSApl*%XPKHvbcmvfz1=jEVSRchtQLVv;CZF2(S{^5 zISleRJ*zi0ySD2y<$)KQu9EJTbjW}YHbv)~J6s}&*|;Q+dK2TlHZJD4NOU!mjub62 z>^HS-m7bWL=sVWsO15GOA9M7z*NA150I_x_<-yOmI>Dn^CPF*Y^R3?VY1B@p1Y}9o?az$M{hADR~U-$ zrJWuC2bn#e43ig{S|M{xX8FD?z6*)TYgcCggR1-9aUg>)9 zAULRSs?6wT!D=v$N5`Ex#a+#WxPS9LR)^ho@13EM|BO;>z&xx+RoDqC77SrLH4U{q zyROz9z4=j6K6ZOJlyjSlwZ8`*%qjLzIX#=T^oMRv|4bOeoVWt)@tWSVIh*sb$2)RB z!RqU3-J6rFrFVI6&eJ`|LEoEDfV~r7j+>rC2r-+|wAkmhIg;-^nUkWWcYk|(dLZvg zwOey~5^N3GYpjYmXKEtc)8?dVk?B1-00^nX$cvBLoF%M1saiUHB2I6Yz*>o+|DHp_ z+Pk~}nG;8E!^*H+V*}wPs&Ym{K&_dX`?!sF30ATd-iH99jm cIxsdXFflqXFe^&avH$=807*qoM6N<$g6|u|u>b%7 delta 1032 zcmV+j1o!*$42TJkkADM!NklQ(Q4?TNbYKTz z=hMU7xqHv-y|ZWbD)hTAbI$pl-{+q1`Tc&EanOUc!~>51|9=A{SXv={-GB*P}3bhAbz9o0@rk`oZC zMcrDf4t42eJ*J{Q*CkErs(w;Q7Jznb*K_KWtF@B;)&=D?uJbytd!9#9@2FpGO8R?B zx~)NdtdgBXAAj;MK`Zko>uCyjI2ay+#t@H0Ea5434sX8QG zQC{78)T@Q3Rn%m_r%Pk{N);vw;22v-lYb${0K(-IBP`&onlntXmp*QCj@11IxC~L^by^TR zxXG_Pa{mBLq!?q0j6c)E1i!J-D7yv#31j52nR86B$0)ORDf10adZSHo0BabcM8=Th zDNax%>wnLkB4wVY5$!JmKd>S&*Ub^5xemT3Pd0GE zQQ$0{-uPkr6S$n=uGeQ~_=x3*PEJrD%Mx1Yk( zSqkj*JYL~Crd{JTl6HWqI3{A8TtJ)zZ}}$#xPQ)@)w{A0r^I}_#eS9q61bIvfz<(4 zR9i^>ZtCi!(HW~&&^{eCI_9)yjP)DUpY^^6X?+$NKCeL|e8o0Mn$fUs3$3$h*Oi{L zkT`SC2*dQUfgUdK-NJ?DG7h2PcSP(6Hi@m?_aG9GW+*g#j{Vk^U*`lar$fal&>t#J zgMWZ%aWaht4+BJt)4!PTwScJ1De!*d;>-us_MEB}0}VL_AkFE}@OcInAASxHElzf^ z;+TMML*Kp-M;sHdor{!f!r$OP-0*XNhj@_*15w~WJaOh{QHo1GqR1QZgVzGYHbyDO z&zxvLk{6hWpE=P0A)aNAcde1A)*ys%RofR+6RT`>0zd@psM0000bbVXQn zWMOn=I%9HWVRU5xGB7bTEif@HGBH#zIXW;mIx{#cFflqXFzfqru>b%7C3HntbYx+4 zWjbwdWNBu305UK!G%YYOEiy1vF*Z6gIXW>hD=;xSFfiUHd&2+#002ovPDHLkU;%=I CCF7d_ diff --git a/companion/src/themes/monowhite/48/write_eeprom.png b/companion/src/themes/monowhite/48/write_eeprom.png index 1563c9de3d77ef7a31418b9016ac1867bf95fdba..b406ca98a4009e487f4f82e2ac63d4fee5c80543 100644 GIT binary patch delta 2068 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 Rd&2+#002ovPDHLkV1m2JggpQN diff --git a/companion/src/themes/monowhite/48/write_eeprom_file.png b/companion/src/themes/monowhite/48/write_eeprom_file.png index 9ae0c19c7435357483ac241c0f45433a65c0c554..d22daf82f387aa5e18ac684aefe1e7a7b96136e6 100644 GIT binary patch delta 2008 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 FV1kG)QzHNX diff --git a/companion/src/themes/monowhite/48/write_flash.png b/companion/src/themes/monowhite/48/write_flash.png index d66faf61337476cfe5a4cbf5da7e909f88ea3728..0c4594941a45e0613da95dc01049ec6121003f50 100644 GIT binary patch delta 2498 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 Ab^rhX From 30b8a7e14b116ae1df834eb9b22ba0f5d4713fa2 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Mon, 27 Jan 2014 17:33:50 +0100 Subject: [PATCH 09/61] Makefile cosmetics --- radio/src/Makefile | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/radio/src/Makefile b/radio/src/Makefile index 482cdbb21..4ce991777 100644 --- a/radio/src/Makefile +++ b/radio/src/Makefile @@ -1110,50 +1110,42 @@ taranis-stamp: translations/cz.h: translations/cz.h.txt @echo - @echo "Create language specific header files" - @echo "Czech" + @echo "Create Czech language specific header files" $(TRANSLATE) translations/cz.h.txt translations/cz.h cz translations/de.h: translations/de.h.txt @echo - @echo "Create language specific header files" - @echo "German" + @echo "Create German language specific header files" $(TRANSLATE) translations/de.h.txt translations/de.h de translations/es.h: translations/es.h.txt @echo - @echo "Create language specific header files" - @echo "Spanish" + @echo "Create Spanish language specific header files" $(TRANSLATE) translations/es.h.txt translations/es.h es translations/fr.h: translations/fr.h.txt @echo - @echo "Create language specific header files" - @echo "French" + @echo "Create French language specific header files" $(TRANSLATE) translations/fr.h.txt translations/fr.h fr translations/it.h: translations/it.h.txt @echo - @echo "Create language specific header files" - @echo "Italian" + @echo "Create Italian language specific header files" $(TRANSLATE) translations/it.h.txt translations/it.h it translations/pl.h: translations/pl.h.txt @echo - @echo "Create language specific header files" - @echo "Polish" + @echo "Create Polish language specific header files" $(TRANSLATE) translations/pl.h.txt translations/pl.h pl translations/pt.h: translations/pt.h.txt @echo - @echo "Create language specific header files" - @echo "Portugese" + @echo "Create Portugese language specific header files" $(TRANSLATE) translations/pt.h.txt translations/pt.h pt translations/se.h: translations/se.h.txt @echo - @echo "Create language specific header files" - @echo "Swedish" + @echo "Create Swedish language specific header files" $(TRANSLATE) translations/se.h.txt translations/se.h se .PHONY: fonts From f41f1a3f7b2b842472b968512b5ab1fa89559c25 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 28 Jan 2014 15:43:52 +0100 Subject: [PATCH 10/61] Input scale now added in Companion. I have broken all getStep / getMin / getMax / getOffset used for custom switches and telemetry bars. Everything needs to be tested again ... --- companion/src/comparedialog.cpp | 16 +- companion/src/eeprominterface.cpp | 240 ++++++----------- companion/src/eeprominterface.h | 38 ++- .../src/firmwares/er9x/er9xinterface.cpp | 1 - .../firmwares/ersky9x/ersky9xinterface.cpp | 1 - .../src/firmwares/opentx/opentxeeprom.cpp | 2 +- companion/src/helpers.cpp | 109 +------- companion/src/helpers.h | 2 +- companion/src/modeledit/customswitches.cpp | 57 ++-- companion/src/modeledit/expodialog.cpp | 50 ++-- companion/src/modeledit/expodialog.h | 2 +- companion/src/modeledit/expodialog.ui | 28 +- companion/src/modeledit/mixerdialog.cpp | 2 +- companion/src/modeledit/telemetry.cpp | 252 ++++++------------ companion/src/modeledit/telemetry.h | 1 - companion/src/printdialog.cpp | 2 +- 16 files changed, 308 insertions(+), 495 deletions(-) diff --git a/companion/src/comparedialog.cpp b/companion/src/comparedialog.cpp index 3cebee856..4265d50ab 100644 --- a/companion/src/comparedialog.cpp +++ b/companion/src/comparedialog.cpp @@ -1300,13 +1300,13 @@ void compareDialog::printFrSky() if (fd1->screens[0].type==fd2->screens[0].type) color=getColor1(fd1->screens[0].body.bars[i].source,fd2->screens[0].body.bars[i].source); str.append(""+getFrSkySrc(fd1->screens[0].body.bars[i].source)+""); - value1=getBarValue(fd1->screens[0].body.bars[i].source,fd1->screens[0].body.bars[i].barMin,fd1); - value2=getBarValue(fd2->screens[0].body.bars[i].source,fd2->screens[0].body.bars[i].barMin,fd2); + // TODO value1 = getBarValue(fd1->screens[0].body.bars[i].source,fd1->screens[0].body.bars[i].barMin,fd1); + // TODO value2 = getBarValue(fd2->screens[0].body.bars[i].source,fd2->screens[0].body.bars[i].barMin,fd2); if (fd1->screens[0].type==fd2->screens[0].type) color=getColor1(value1,value2); str.append(""+QString::number(value1)+""); - value1=getBarValue(fd1->screens[0].body.bars[i].source,fd1->screens[0].body.bars[i].barMax,fd1); - value2=getBarValue(fd2->screens[0].body.bars[i].source,fd2->screens[0].body.bars[i].barMax,fd2); + // TODO value1=getBarValue(fd1->screens[0].body.bars[i].source,fd1->screens[0].body.bars[i].barMax,fd1); + // TODO value2=getBarValue(fd2->screens[0].body.bars[i].source,fd2->screens[0].body.bars[i].barMax,fd2); if (fd1->screens[0].type==fd2->screens[0].type) color=getColor1(value1,value2); str.append(""+QString::number(value1)+""); @@ -1418,13 +1418,13 @@ void compareDialog::printFrSky() if (fd1->screens[0].type==fd2->screens[0].type) color=getColor2(fd1->screens[0].body.bars[i].source,fd2->screens[0].body.bars[i].source); str.append(""+getFrSkySrc(fd2->screens[0].body.bars[i].source)+""); - value1=getBarValue(fd1->screens[0].body.bars[i].source,fd1->screens[0].body.bars[i].barMin,fd1); - value2=getBarValue(fd2->screens[0].body.bars[i].source,fd2->screens[0].body.bars[i].barMin,fd2); + // TODO value1=getBarValue(fd1->screens[0].body.bars[i].source,fd1->screens[0].body.bars[i].barMin,fd1); + // TODO value2=getBarValue(fd2->screens[0].body.bars[i].source,fd2->screens[0].body.bars[i].barMin,fd2); if (fd1->screens[0].type==fd2->screens[0].type) color=getColor2(value1,value2); str.append(""+QString::number(value2)+""); - value1=getBarValue(fd1->screens[0].body.bars[i].source,fd1->screens[0].body.bars[i].barMax,fd1); - value2=getBarValue(fd2->screens[0].body.bars[i].source,fd2->screens[0].body.bars[i].barMax,fd2); + // TODO value1=getBarValue(fd1->screens[0].body.bars[i].source,fd1->screens[0].body.bars[i].barMax,fd1); + // TODO value2=getBarValue(fd2->screens[0].body.bars[i].source,fd2->screens[0].body.bars[i].barMax,fd2); if (fd1->screens[0].type==fd2->screens[0].type) color=getColor2(value1,value2); str.append(""+QString::number(value2)+""); diff --git a/companion/src/eeprominterface.cpp b/companion/src/eeprominterface.cpp index ca6c86485..e6661a04f 100644 --- a/companion/src/eeprominterface.cpp +++ b/companion/src/eeprominterface.cpp @@ -37,146 +37,124 @@ void getEEPROMString(char *dst, const char *src, int size) } } -int RawSource::getDecimals(const ModelData & Model) +RawSourceRange RawSource::getRange() { - if(type==SOURCE_TYPE_TELEMETRY) { - switch (index) { - case TELEMETRY_SOURCE_A1: - case TELEMETRY_SOURCE_A2: - return (Model.frsky.channels[index-TELEMETRY_SOURCE_A1].type==0 ? 2: 0); - case TELEMETRY_SOURCE_CELL: - return 2; - case TELEMETRY_SOURCE_CELLS_SUM: - case TELEMETRY_SOURCE_VFAS: - case TELEMETRY_SOURCE_CURRENT: - return 1; - default: - return 0; - } - } - return 0; -} + RawSourceRange result; + + int board = GetEepromInterface()->getBoard(); -double RawSource::getMin(const ModelData & Model) -{ switch (type) { case SOURCE_TYPE_TELEMETRY: switch (index) { - /*case TELEMETRY_SOURCE_NONE: case TELEMETRY_SOURCE_TX_BATT: + result.step = 0.1; + result.decimals = 1; + result.max = 25.5; + break; case TELEMETRY_SOURCE_TIMER1: case TELEMETRY_SOURCE_TIMER2: - return 0; */ - case TELEMETRY_SOURCE_A1: - case TELEMETRY_SOURCE_A2: - if (Model.frsky.channels[index-TELEMETRY_SOURCE_A1].type==0) { - return (Model.frsky.channels[index-TELEMETRY_SOURCE_A1].offset*Model.frsky.channels[index-TELEMETRY_SOURCE_A1].ratio)/2550.0; - } - else { - return (Model.frsky.channels[index-TELEMETRY_SOURCE_A1].offset*Model.frsky.channels[index-TELEMETRY_SOURCE_A1].ratio)/255.0; - } - case TELEMETRY_SOURCE_ALT: - case TELEMETRY_SOURCE_GPS_ALT: - return -500; - case TELEMETRY_SOURCE_T1: - case TELEMETRY_SOURCE_T2: - return -30; - default: - return 0; - } - break; - default: - return (Model.extendedLimits ? -125 :-100); - } -} - -double RawSource::getMax(const ModelData & Model) -{ - switch (type) { - case SOURCE_TYPE_TELEMETRY: - switch (index) { - case TELEMETRY_SOURCE_TIMER1: - case TELEMETRY_SOURCE_TIMER2: - return 765; + result.step = IS_TARANIS(board) ? 1 : 3; + result.max = 765; + break; case TELEMETRY_SOURCE_RSSI_TX: case TELEMETRY_SOURCE_RSSI_RX: - return 100; + result.max = 100; + break; case TELEMETRY_SOURCE_A1: case TELEMETRY_SOURCE_A2: - if (Model.frsky.channels[index-TELEMETRY_SOURCE_A1].type==0) { - return (Model.frsky.channels[index-TELEMETRY_SOURCE_A1].ratio-(Model.frsky.channels[index-TELEMETRY_SOURCE_A1].offset*Model.frsky.channels[index-TELEMETRY_SOURCE_A1].ratio)/255.0)/10; - } else { - return Model.frsky.channels[index-TELEMETRY_SOURCE_A1].ratio-(Model.frsky.channels[index-TELEMETRY_SOURCE_A1].offset*Model.frsky.channels[index-TELEMETRY_SOURCE_A1].ratio)/255.0; + if (model) { + if (model->frsky.channels[index-TELEMETRY_SOURCE_A1].type==0) { + result.step = (model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio / 2550.0); + result.min = (model->frsky.channels[index-TELEMETRY_SOURCE_A1].offset * model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio) / 2550.0; + result.max = model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio - (model->frsky.channels[index-TELEMETRY_SOURCE_A1].offset * model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio) / 2550.0; + result.decimals = 2; + // result.offset = result.min; + } + else { + result.step = (model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio / 255.0); + result.min = (model->frsky.channels[index-TELEMETRY_SOURCE_A1].offset *model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio) / 255.0; + result.max = model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio - (model->frsky.channels[index-TELEMETRY_SOURCE_A1].offset * model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio) / 255.0; + result.decimals = 0; + // result.offset = result.min; + } } + break; case TELEMETRY_SOURCE_ALT: case TELEMETRY_SOURCE_GPS_ALT: - return 1540; - case TELEMETRY_SOURCE_RPM: - return 12750; - case TELEMETRY_SOURCE_FUEL: - return 100; + result.step = IS_TARANIS(board) ? 1 : 8; + result.min = -500; + result.max = 1540; + // result.offset = 524; + break; case TELEMETRY_SOURCE_T1: case TELEMETRY_SOURCE_T2: - return 225; + result.min = -30; + result.max = 225; + // result.offset = 98; + break; + case TELEMETRY_SOURCE_RPM: + result.step = IS_TARANIS(board) ? 1 : 50; + result.max = 12750; + // result.offset = 6400; + break; + case TELEMETRY_SOURCE_FUEL: + result.max = 100; + break; case TELEMETRY_SOURCE_SPEED: - return 944; + result.step = IS_TARANIS(board) ? 1 : 4; + result.max = 944; + // result.offset = 474; + if (model && !model->frsky.imperial) { + result.step *= 1.852; + result.max *= 1.852; + } + break; case TELEMETRY_SOURCE_DIST: - return 2040; + result.step = IS_TARANIS(board) ? 1 : 8; + result.max = 2040; + // result.offset = 1024; + break; case TELEMETRY_SOURCE_CELL: - return 5.1; + result.step = IS_TARANIS(board) ? 0.01 : 0.02; + result.max = 5.1; + result.decimals = 2; + // result.offset = 2.56; + break; case TELEMETRY_SOURCE_CELLS_SUM: case TELEMETRY_SOURCE_VFAS: - return 25.5; + result.step = 0.1; + result.max = 25.5; + result.decimals = 1; + break; case TELEMETRY_SOURCE_CURRENT: - return 127.5; + result.step = IS_TARANIS(board) ? 0.1 : 0.5; + result.max = 127.5; + result.decimals = 1; + break; case TELEMETRY_SOURCE_CONSUMPTION: - return 5100; + result.step = IS_TARANIS(board) ? 1 : 20; + result.max = 5100; + break; case TELEMETRY_SOURCE_POWER: - return 1275; + result.step = IS_TARANIS(board) ? 1 : 5; + result.max = 1275; + break; default: - return 125; + result.max = 125; + break; } break; + default: - return (Model.extendedLimits ? 125 :100); + result.max = (model && model->extendedLimits ? 125 : 100); + result.min = - result.max; + break; } + + return result; } -double RawSource::getOffset(const ModelData & Model) -{ - if (type==SOURCE_TYPE_TELEMETRY) { - switch (index) { - case TELEMETRY_SOURCE_A1: - case TELEMETRY_SOURCE_A2: - if (Model.frsky.channels[index-TELEMETRY_SOURCE_A1].type==0) { - return (Model.frsky.channels[index-TELEMETRY_SOURCE_A1].offset*Model.frsky.channels[index-TELEMETRY_SOURCE_A1].ratio)/2550.0; - } - else { - return (Model.frsky.channels[index-TELEMETRY_SOURCE_A1].offset*Model.frsky.channels[index-TELEMETRY_SOURCE_A1].ratio)/255.0; - } - case TELEMETRY_SOURCE_ALT: - case TELEMETRY_SOURCE_GPS_ALT: - return 524; - case TELEMETRY_SOURCE_RPM: - return 6400; - case TELEMETRY_SOURCE_FUEL: - return 0; - case TELEMETRY_SOURCE_T1: - case TELEMETRY_SOURCE_T2: - return 98; - case TELEMETRY_SOURCE_SPEED: - return 474; - case TELEMETRY_SOURCE_DIST: - return 1024; - case TELEMETRY_SOURCE_CELL: - return 2.56; - default: - return 0; - } - } - return 0; -} - +#if 0 int RawSource::getRawOffset(const ModelData & Model) { switch (type) { @@ -202,51 +180,7 @@ int RawSource::getRawOffset(const ModelData & Model) return 0; } } - -double RawSource::getStep(const ModelData & Model) -{ - switch (type) { - case SOURCE_TYPE_TELEMETRY: - switch (index) { - case TELEMETRY_SOURCE_TIMER1: - case TELEMETRY_SOURCE_TIMER2: - return 3; - case TELEMETRY_SOURCE_A1: - case TELEMETRY_SOURCE_A2: - if (Model.frsky.channels[index-TELEMETRY_SOURCE_A1].type==0) { - return (Model.frsky.channels[index-TELEMETRY_SOURCE_A1].ratio/2550.0); - } - else { - return (Model.frsky.channels[index-TELEMETRY_SOURCE_A1].ratio/255.0); - } - case TELEMETRY_SOURCE_ALT: - case TELEMETRY_SOURCE_GPS_ALT: - return 8; - case TELEMETRY_SOURCE_RPM: - return 50; - case TELEMETRY_SOURCE_SPEED: - return 4; - case TELEMETRY_SOURCE_DIST: - return 8; - case TELEMETRY_SOURCE_CELL: - return 0.02; - case TELEMETRY_SOURCE_CELLS_SUM: - case TELEMETRY_SOURCE_VFAS: - return 0.1; - case TELEMETRY_SOURCE_CURRENT: - return 0.5; - case TELEMETRY_SOURCE_CONSUMPTION: - return 20; - case TELEMETRY_SOURCE_POWER: - return 5; - default: - return 1; - } - break; - default: - return 1; - } -} +#endif QString AnalogString(int index) { diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h index 91da15e51..e26c7a189 100644 --- a/companion/src/eeprominterface.h +++ b/companion/src/eeprominterface.h @@ -283,6 +283,30 @@ class ModelData; QString AnalogString(int index); QString RotaryEncoderString(int index); +class RawSourceRange +{ + public: + RawSourceRange(): + decimals(0), + min(0.0), + max(0.0), + step(1.0), + offset(0.0) + { + } + + float getValue(int value) { + return round(float(value) * step); + } + + int decimals; + double min; + double max; + double step; + double offset; + +}; + class RawSource { public: RawSource(): @@ -313,17 +337,16 @@ class RawSource { QString toString(); - int getDecimals(const ModelData & Model); - double getMin(const ModelData & Model); - double getMax(const ModelData & Model); - double getStep(const ModelData & Model); - double getOffset(const ModelData & Model); - int getRawOffset(const ModelData & Model); + RawSourceRange getRange(); - bool operator== ( const RawSource& other) { + bool operator == ( const RawSource & other) { return (this->type == other.type) && (this->index == other.index); } + bool operator != ( const RawSource & other) { + return (this->type != other.type) || (this->index != other.index); + } + RawSourceType type; int index; const ModelData * model; @@ -982,7 +1005,6 @@ enum Capability { GvarsAreNamed, GvarsFlightPhases, GvarsHaveSources, - GvarsAsSources, GvarsName, NoTelemetryProtocol, TelemetryCSFields, diff --git a/companion/src/firmwares/er9x/er9xinterface.cpp b/companion/src/firmwares/er9x/er9xinterface.cpp index 72b5acab9..2ddb828e6 100644 --- a/companion/src/firmwares/er9x/er9xinterface.cpp +++ b/companion/src/firmwares/er9x/er9xinterface.cpp @@ -282,7 +282,6 @@ int Er9xInterface::getCapability(const Capability capability) case Gvars: return 7; case GvarsHaveSources: - case GvarsAsSources: return 1; case GetThrSwitch: return DSW_THR; diff --git a/companion/src/firmwares/ersky9x/ersky9xinterface.cpp b/companion/src/firmwares/ersky9x/ersky9xinterface.cpp index 88129b997..8405bff8f 100644 --- a/companion/src/firmwares/ersky9x/ersky9xinterface.cpp +++ b/companion/src/firmwares/ersky9x/ersky9xinterface.cpp @@ -318,7 +318,6 @@ int Ersky9xInterface::getCapability(const Capability capability) case MaxVolume: return 23; case GvarsHaveSources: - case GvarsAsSources: return 1; case TelemetryMaxMultiplier: return 2; diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index fb8cf5203..a238d344d 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -201,7 +201,7 @@ class SourcesConversionTable: public ConversionTable { if (!(flags & FLAG_NOTELEMETRY)) { if (release21March2013) { if ((board != BOARD_STOCK && (board!=BOARD_M128 || version<215)) || (variant & GVARS_VARIANT)) { - for (int i=0; i<5; i++) + for (int i=0; ival1)).arg(ValToTim(customSw->val2)); break; case CS_FAMILY_VOFS: { - RawSource source = RawSource(customSw->val1); + RawSource source = RawSource(customSw->val1, &model); + RawSourceRange range = source.getRange(); if (customSw->val1) result += source.toString(); else @@ -204,7 +206,7 @@ QString getCustomSwitchStr(CustomSwData * customSw, const ModelData & model) result += " > "; else if (customSw->func == CS_FN_ANEG || customSw->func == CS_FN_VNEG) result += " < "; - result += QString::number(source.getStep(model) * (customSw->val2 + source.getRawOffset(model)) + source.getOffset(model)); + result += QString::number(range.step * (customSw->val2 /*TODO+ source.getRawOffset(model)*/) + range.offset); break; } case CS_FAMILY_VBOOL: @@ -1313,109 +1315,6 @@ QString getFrSkySrc(int index) return RawSource(SOURCE_TYPE_TELEMETRY, index-1).toString(); } - -/* - 1,2) Timer1/Timer2 0:765 - 3,4) TX/RX - 5) A1 range - 6) A2 range - 7) ALT 0-1020 - 8)RPM 0-12750 - 9FUEL 0-100% - 10) T1 -30-225 - 11) T2 -30-225 - 12) spd 0-510 - 13) dist 0-2040 - 14)GAlt 0-1020 - 15) cell 0-5.1 - 16) Cels 0 25.5 - 17) Vfas 0 25.5 - 18) Curr 0 127.5 - 19) Cnsp 0 5100 - 20) Powr 0 1275 - 21) AccX 0 2.55 - 22) AccY 0 2.55 - 23) AccZ 0 2.55 - 24) Hdg 0 255 - 25) VSpd 0 2.55 - 26) A1- A1 range - 27) A2- A2 range - 28) Alt- 0 255 - 29) Alt+ 0 255 - 30) Rpm+ 0 255 - 31) T1+ 0 255 (s????) - 32) T2+ 0 255 (e????) - 33) Spd+ 0 255 (ILG???) - 34) Dst+ 0 255 (v ????) - 35) Cur+ 0 25.5 (A) - 1.852 - */ - -float getBarValue(int barId, int value, FrSkyData *fd) -{ - switch (barId-1) { - case TELEMETRY_SOURCE_TX_BATT: - return value/10.0; - case TELEMETRY_SOURCE_TIMER1: - case TELEMETRY_SOURCE_TIMER2: - return (3*value); - case TELEMETRY_SOURCE_RSSI_TX: - case TELEMETRY_SOURCE_RSSI_RX: - case TELEMETRY_SOURCE_FUEL: - return std::min(100, value); - case TELEMETRY_SOURCE_A1: - case TELEMETRY_SOURCE_A1_MIN: - if (fd->channels[0].type==0) - return ((fd->channels[0].ratio*value/255.0)+fd->channels[0].offset)/10; - else - return ((fd->channels[0].ratio*value/255.0)+fd->channels[0].offset); - case TELEMETRY_SOURCE_A2: - case TELEMETRY_SOURCE_A2_MIN: - if (fd->channels[1].type==0) - return ((fd->channels[1].ratio*value/255.0)+fd->channels[1].offset)/10; - else - return ((fd->channels[1].ratio*value/255.0)+fd->channels[1].offset); - case TELEMETRY_SOURCE_ALT: - case TELEMETRY_SOURCE_GPS_ALT: - case TELEMETRY_SOURCE_ALT_MAX: - case TELEMETRY_SOURCE_ALT_MIN: - return (8*value)-500; - case TELEMETRY_SOURCE_RPM: - case TELEMETRY_SOURCE_RPM_MAX: - return value * 50; - case TELEMETRY_SOURCE_T1: - case TELEMETRY_SOURCE_T2: - case TELEMETRY_SOURCE_T1_MAX: - case TELEMETRY_SOURCE_T2_MAX: - return value - 30.0; - case TELEMETRY_SOURCE_CELL: - return value*2.0/100; - case TELEMETRY_SOURCE_CELLS_SUM: - case TELEMETRY_SOURCE_VFAS: - return value/10.0; - case TELEMETRY_SOURCE_HDG: - return std::min(359, value*2); - case TELEMETRY_SOURCE_DIST_MAX: - case TELEMETRY_SOURCE_DIST: - return value * 8; - case TELEMETRY_SOURCE_CURRENT_MAX: - case TELEMETRY_SOURCE_CURRENT: - return value/2.0; - case TELEMETRY_SOURCE_POWER: - return value*5; - case TELEMETRY_SOURCE_CONSUMPTION: - return value * 20; - case TELEMETRY_SOURCE_SPEED: - case TELEMETRY_SOURCE_SPEED_MAX: - if (fd->imperial==1) - return value; - else - return value*1.852; - default: - return value; - } -} - QString getTrimInc(ModelData * g_model) { switch (g_model->trimInc) { diff --git a/companion/src/helpers.h b/companion/src/helpers.h index d3141083d..9cef155e7 100644 --- a/companion/src/helpers.h +++ b/companion/src/helpers.h @@ -137,7 +137,7 @@ QString getFrSkyUnits(int units); QString getFrSkyProtocol(int protocol); QString getFrSkyMeasure(int units); QString getFrSkySrc(int index); -float getBarValue(int barId, int value, FrSkyData *fd); + float c9xexpou(float point, float coeff); float ValToTim(int value); int TimToVal(float value); diff --git a/companion/src/modeledit/customswitches.cpp b/companion/src/modeledit/customswitches.cpp index c7c5d6ae8..68d3fc34f 100644 --- a/companion/src/modeledit/customswitches.cpp +++ b/companion/src/modeledit/customswitches.cpp @@ -146,36 +146,43 @@ void CustomSwitchesPanel::edited() { case (CS_FAMILY_VOFS): if (model.customSw[i].val1 != cswitchSource1[i]->itemData(cswitchSource1[i]->currentIndex()).toInt()) { - source=RawSource(model.customSw[i].val1); + source = RawSource(model.customSw[i].val1, &model); model.customSw[i].val1 = cswitchSource1[i]->itemData(cswitchSource1[i]->currentIndex()).toInt(); - RawSource newSource = RawSource(model.customSw[i].val1); + RawSource newSource = RawSource(model.customSw[i].val1, &model); if (newSource.type == SOURCE_TYPE_TELEMETRY) { if (model.customSw[i].func>CS_FN_ELESS && model.customSw[i].funcCS_FN_ELESS && model.customSw[i].funcvalue()/source.getStep(model)); - } else { - model.customSw[i].val2 = ((cswitchOffset[i]->value()-source.getOffset(model))/source.getStep(model))-source.getRawOffset(model); + model.customSw[i].val2 = (cswitchOffset[i]->value() / range.step); + } + else { + model.customSw[i].val2 = (cswitchOffset[i]->value() - range.offset) / range.step/* TODO - source.getRawOffset(model)*/; } } setSwitchWidgetVisibility(i); - } else { - source=RawSource(model.customSw[i].val1); + } + else { + source = RawSource(model.customSw[i].val1, &model); + RawSourceRange range = source.getRange(); if (model.customSw[i].func>CS_FN_ELESS && model.customSw[i].funcvalue()/source.getStep(model)); - cswitchOffset[i]->setValue(model.customSw[i].val2*source.getStep(model)); - } else { - model.customSw[i].val2 = ((cswitchOffset[i]->value()-source.getOffset(model))/source.getStep(model))-source.getRawOffset(model); - cswitchOffset[i]->setValue((model.customSw[i].val2 +source.getRawOffset(model))*source.getStep(model)+source.getOffset(model)); + model.customSw[i].val2 = (cswitchOffset[i]->value() / range.step); + cswitchOffset[i]->setValue(model.customSw[i].val2*range.step); + } + else { + model.customSw[i].val2 = ((cswitchOffset[i]->value()-range.offset)/range.step)/* TODO - source.getRawOffset(model)*/; + cswitchOffset[i]->setValue((model.customSw[i].val2 /* + TODO source.getRawOffset(model)*/)*range.step+range.offset); } } break; case (CS_FAMILY_TIMERS): { - value=cswitchOffset[i]->value(); + value = cswitchOffset[i]->value(); newval=TimToVal(value); if (newval>model.customSw[i].val2) { if (value >=60) { @@ -246,7 +253,9 @@ void CustomSwitchesPanel::edited() void CustomSwitchesPanel::setSwitchWidgetVisibility(int i) { - RawSource source = RawSource(model.customSw[i].val1); + RawSource source = RawSource(model.customSw[i].val1, &model); + RawSourceRange range = source.getRange(); + switch (getCSFunctionFamily(model.customSw[i].func)) { case CS_FAMILY_VOFS: @@ -255,16 +264,16 @@ void CustomSwitchesPanel::setSwitchWidgetVisibility(int i) cswitchValue[i]->setVisible(false); cswitchOffset[i]->setVisible(true); populateSourceCB(cswitchSource1[i], source, model, POPULATE_SOURCES | POPULATE_VIRTUAL_INPUTS | POPULATE_TRIMS | POPULATE_SWITCHES | POPULATE_TELEMETRY | (GetEepromInterface()->getCapability(GvarsInCS) ? POPULATE_GVARS : 0)); - cswitchOffset[i]->setDecimals(source.getDecimals(model)); - cswitchOffset[i]->setSingleStep(source.getStep(model)); + cswitchOffset[i]->setDecimals(range.decimals); + cswitchOffset[i]->setSingleStep(range.step); if (model.customSw[i].func>CS_FN_ELESS && model.customSw[i].funcsetMinimum(source.getStep(model)*-127); - cswitchOffset[i]->setMaximum(source.getStep(model)*127); - cswitchOffset[i]->setValue(source.getStep(model)*model.customSw[i].val2); + cswitchOffset[i]->setMinimum(range.step*-127); + cswitchOffset[i]->setMaximum(range.step*127); + cswitchOffset[i]->setValue(range.step*model.customSw[i].val2); } else { - cswitchOffset[i]->setMinimum(source.getMin(model)); - cswitchOffset[i]->setMaximum(source.getMax(model)); - cswitchOffset[i]->setValue(source.getStep(model)*(model.customSw[i].val2+source.getRawOffset(model))+source.getOffset(model)); + cswitchOffset[i]->setMinimum(range.min); + cswitchOffset[i]->setMaximum(range.max); + cswitchOffset[i]->setValue(range.step*(model.customSw[i].val2/* TODO+source.getRawOffset(model)*/)+range.offset); } break; case CS_FAMILY_VBOOL: diff --git a/companion/src/modeledit/expodialog.cpp b/companion/src/modeledit/expodialog.cpp index 921e916bc..49e86fc8a 100644 --- a/companion/src/modeledit/expodialog.cpp +++ b/companion/src/modeledit/expodialog.cpp @@ -48,7 +48,7 @@ ExpoDialog::ExpoDialog(QWidget *parent, ModelData & model, ExpoData *expoData, i ui->sideLabel->hide(); ui->sideCB->hide(); ui->inputName->setMaxLength(4); - populateSourceCB(ui->sourceCB, ed->srcRaw, model, POPULATE_SOURCES | POPULATE_SWITCHES | POPULATE_TRIMS | (GetEepromInterface()->getCapability(GvarsAsSources) ? POPULATE_GVARS : 0)); + populateSourceCB(ui->sourceCB, ed->srcRaw, model, POPULATE_SOURCES | POPULATE_SWITCHES | POPULATE_TRIMS | POPULATE_TELEMETRY); ui->sourceCB->removeItem(0); } else { @@ -56,8 +56,6 @@ ExpoDialog::ExpoDialog(QWidget *parent, ModelData & model, ExpoData *expoData, i ui->inputName->hide(); ui->sourceLabel->hide(); ui->sourceCB->hide(); - ui->scaleLabel->hide(); - ui->scaleSB->hide(); ui->trimLabel->hide(); ui->trimCB->hide(); } @@ -83,13 +81,15 @@ ExpoDialog::ExpoDialog(QWidget *parent, ModelData & model, ExpoData *expoData, i ui->lineName->setValidator(new QRegExpValidator(rx, this)); ui->lineName->setText(ed->name); + updateScale(); valuesChanged(); - connect(ui->lineName,SIGNAL(editingFinished()), this, SLOT(valuesChanged())); - connect(ui->sourceCB,SIGNAL(currentIndexChanged(int)), this, SLOT(valuesChanged())); - connect(ui->trimCB,SIGNAL(currentIndexChanged(int)), this, SLOT(valuesChanged())); - connect(ui->switchesCB,SIGNAL(currentIndexChanged(int)), this, SLOT(valuesChanged())); - connect(ui->sideCB,SIGNAL(currentIndexChanged(int)), this, SLOT(valuesChanged())); + connect(ui->lineName, SIGNAL(editingFinished()), this, SLOT(valuesChanged())); + connect(ui->sourceCB, SIGNAL(currentIndexChanged(int)), this, SLOT(valuesChanged())); + connect(ui->scale, SIGNAL(editingFinished()), this, SLOT(valuesChanged())); + connect(ui->trimCB, SIGNAL(currentIndexChanged(int)), this, SLOT(valuesChanged())); + connect(ui->switchesCB, SIGNAL(currentIndexChanged(int)), this, SLOT(valuesChanged())); + connect(ui->sideCB, SIGNAL(currentIndexChanged(int)), this, SLOT(valuesChanged())); for (int i=0; i<9; i++) { connect(cb_fp[i], SIGNAL(toggled(bool)), this, SLOT(valuesChanged())); } @@ -103,23 +103,35 @@ ExpoDialog::~ExpoDialog() delete ui; } -void ExpoDialog::changeEvent(QEvent *e) +void ExpoDialog::updateScale() { - QDialog::changeEvent(e); - switch (e->type()) { - case QEvent::LanguageChange: - ui->retranslateUi(this); - break; - default: - break; - } + if (GetEepromInterface()->getCapability(VirtualInputs) && ed->srcRaw.type == SOURCE_TYPE_TELEMETRY) { + RawSourceRange range = ed->srcRaw.getRange(); + ui->scaleLabel->show(); + ui->scale->show(); + ui->scale->setDecimals(range.decimals); + ui->scale->setMinimum(range.min); + ui->scale->setMaximum(range.max); + ui->scale->setValue(round(range.step * ed->scale)); + } + else { + ui->scaleLabel->hide(); + ui->scale->hide(); + } } void ExpoDialog::valuesChanged() { QCheckBox * cb_fp[] = {ui->cb_FP0,ui->cb_FP1,ui->cb_FP2,ui->cb_FP3,ui->cb_FP4,ui->cb_FP5,ui->cb_FP6,ui->cb_FP7,ui->cb_FP8 }; - ed->srcRaw = RawSource(ui->sourceCB->itemData(ui->sourceCB->currentIndex()).toInt()); + RawSource srcRaw = RawSource(ui->sourceCB->itemData(ui->sourceCB->currentIndex()).toInt()); + if (ed->srcRaw != srcRaw) { + ed->srcRaw = srcRaw; + updateScale(); + } + + RawSourceRange range = srcRaw.getRange(); + ed->scale = round(float(ui->scale->value()) / range.step); ed->carryTrim = 1 - ui->trimCB->currentIndex(); ed->swtch = RawSwitch(ui->switchesCB->itemData(ui->switchesCB->currentIndex()).toInt()); ed->mode = ui->sideCB->currentIndex() + 1; @@ -173,5 +185,5 @@ void ExpoDialog::valuesChanged() void ExpoDialog::shrink() { - resize(0,0); + resize(0, 0); } diff --git a/companion/src/modeledit/expodialog.h b/companion/src/modeledit/expodialog.h index 5281e4c29..2d96b130a 100644 --- a/companion/src/modeledit/expodialog.h +++ b/companion/src/modeledit/expodialog.h @@ -18,7 +18,7 @@ class ExpoDialog : public QDialog { ~ExpoDialog(); protected: - void changeEvent(QEvent *e); + void updateScale(); private slots: void valuesChanged(); diff --git a/companion/src/modeledit/expodialog.ui b/companion/src/modeledit/expodialog.ui index 17fe24f9a..82d16dbc2 100644 --- a/companion/src/modeledit/expodialog.ui +++ b/companion/src/modeledit/expodialog.ui @@ -330,7 +330,7 @@ If blank then the input is considered to be "ON" all the time. - + <!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"> @@ -441,6 +441,32 @@ p, li { white-space: pre-wrap; } + + inputName + lineName + sourceCB + scale + trimCB + weightGV + weightSB + weightCB + curveTypeCB + curveGVarCB + curveValueCB + curveValueSB + cb_FP0 + cb_FP1 + cb_FP2 + cb_FP3 + cb_FP4 + cb_FP5 + cb_FP6 + cb_FP7 + cb_FP8 + switchesCB + sideCB + buttonBox + diff --git a/companion/src/modeledit/mixerdialog.cpp b/companion/src/modeledit/mixerdialog.cpp index 4dc69cd12..7ef03fdca 100644 --- a/companion/src/modeledit/mixerdialog.cpp +++ b/companion/src/modeledit/mixerdialog.cpp @@ -20,7 +20,7 @@ MixerDialog::MixerDialog(QWidget *parent, ModelData & model, MixData *mixdata, i else this->setWindowTitle(tr("DEST -> CH%1%2").arg(md->destCh/10).arg(md->destCh%10)); - populateSourceCB(ui->sourceCB, md->srcRaw, model, POPULATE_SOURCES | POPULATE_VIRTUAL_INPUTS | POPULATE_SWITCHES | POPULATE_TRIMS | (GetEepromInterface()->getCapability(GvarsAsSources) ? POPULATE_GVARS : 0)); + populateSourceCB(ui->sourceCB, md->srcRaw, model, POPULATE_SOURCES | POPULATE_VIRTUAL_INPUTS | POPULATE_SWITCHES | POPULATE_TRIMS); ui->sourceCB->removeItem(0); int limit = GetEepromInterface()->getCapability(OffsetWeight); diff --git a/companion/src/modeledit/telemetry.cpp b/companion/src/modeledit/telemetry.cpp index fe6241015..abcaf7f8a 100644 --- a/companion/src/modeledit/telemetry.cpp +++ b/companion/src/modeledit/telemetry.cpp @@ -530,44 +530,27 @@ void TelemetryPanel::setup() int screen = j/4; int field = j%4; populateCustomScreenFieldCB(barsCB[j], model.frsky.screens[screen].body.bars[field].source, false, model.frsky.usrProto); - switch (model.frsky.screens[screen].body.bars[field].source-1) { - case TELEMETRY_SOURCE_TX_BATT: - case TELEMETRY_SOURCE_A1: - case TELEMETRY_SOURCE_A1_MIN: - case TELEMETRY_SOURCE_A2: - case TELEMETRY_SOURCE_A2_MIN: - case TELEMETRY_SOURCE_CELLS_SUM: - case TELEMETRY_SOURCE_VFAS: - case TELEMETRY_SOURCE_CURRENT_MAX: - case TELEMETRY_SOURCE_CURRENT: - minSB[j]->setDecimals(1); - maxSB[j]->setDecimals(1); - break; - case TELEMETRY_SOURCE_CELL: - minSB[j]->setDecimals(2); - maxSB[j]->setDecimals(2); - break; - default: - minSB[j]->setDecimals(0); - maxSB[j]->setDecimals(0); - } - minSB[j]->setMinimum(getBarValue(model.frsky.screens[screen].body.bars[field].source, 0, &model.frsky)); - minSB[j]->setMaximum(getBarValue(model.frsky.screens[screen].body.bars[field].source, 255, &model.frsky)); - minSB[j]->setSingleStep(getBarStep(model.frsky.screens[screen].body.bars[field].source)); - minSB[j]->setValue(getBarValue(model.frsky.screens[screen].body.bars[field].source, model.frsky.screens[screen].body.bars[field].barMin, &model.frsky)); - maxSB[j]->setMinimum(getBarValue(model.frsky.screens[screen].body.bars[field].source, 0, &model.frsky)); - maxSB[j]->setMaximum(getBarValue(model.frsky.screens[screen].body.bars[field].source, 255, &model.frsky)); - maxSB[j]->setSingleStep(getBarStep(model.frsky.screens[screen].body.bars[field].source)); - maxSB[j]->setValue(getBarValue(model.frsky.screens[screen].body.bars[field].source, (255-model.frsky.screens[screen].body.bars[field].barMax), &model.frsky)); - + RawSource source = RawSource(SOURCE_TYPE_TELEMETRY, model.frsky.screens[screen].body.bars[field].source, &model); + RawSourceRange range = source.getRange(); + minSB[j]->setDecimals(range.decimals); + minSB[j]->setMinimum(range.min); + minSB[j]->setMaximum(range.max); + minSB[j]->setSingleStep(range.step); + minSB[j]->setValue(range.getValue(model.frsky.screens[screen].body.bars[field].barMin)); + maxSB[j]->setDecimals(range.decimals); + maxSB[j]->setMinimum(range.min); + maxSB[j]->setMaximum(range.max); + maxSB[j]->setSingleStep(range.step); + maxSB[j]->setValue(range.getValue(255 - model.frsky.screens[screen].body.bars[field].barMax)); if (model.frsky.screens[screen].body.bars[field].source==0 || model.frsky.screens[screen].type==0) { minSB[j]->setDisabled(true); maxSB[j]->setDisabled(true); } - connect(barsCB[j],SIGNAL(currentIndexChanged(int)),this,SLOT(telBarCBcurrentIndexChanged(int))); - connect(maxSB[j],SIGNAL(editingFinished()),this,SLOT(telMaxSBeditingFinished())); - connect(minSB[j],SIGNAL(editingFinished()),this,SLOT(telMinSBeditingFinished())); + connect(barsCB[j], SIGNAL(currentIndexChanged(int)), this, SLOT(telBarCBcurrentIndexChanged(int))); + connect(maxSB[j], SIGNAL(editingFinished()), this, SLOT(telMaxSBeditingFinished())); + connect(minSB[j], SIGNAL(editingFinished()), this, SLOT(telMinSBeditingFinished())); } + lock=false; } @@ -770,14 +753,16 @@ void TelemetryPanel::telBarUpdate() int screen=i/4; index=barsCB[i]->currentIndex(); if (index==TELEMETRY_SOURCE_A1 || index==TELEMETRY_SOURCE_A1 || index==TELEMETRY_SOURCE_A1_MIN || index==TELEMETRY_SOURCE_A2_MIN) { - minSB[i]->setMinimum(getBarValue(index, 0, &model.frsky)); - minSB[i]->setMaximum(getBarValue(index, 255, &model.frsky)); - minSB[i]->setSingleStep(getBarStep(index)); - maxSB[i]->setMinimum(getBarValue(index, 0, &model.frsky)); - maxSB[i]->setMaximum(getBarValue(index, 255, &model.frsky)); - maxSB[i]->setSingleStep(getBarStep(index)); - minSB[i]->setValue(getBarValue(index, model.frsky.screens[screen].body.bars[i%4].barMin, &model.frsky)); - maxSB[i]->setValue(getBarValue(index, 255-model.frsky.screens[screen].body.bars[i%4].barMax, &model.frsky)); + RawSource source = RawSource(SOURCE_TYPE_TELEMETRY, index, &model); + RawSourceRange range = source.getRange(); + minSB[i]->setMinimum(range.min); + minSB[i]->setMaximum(range.max); + minSB[i]->setSingleStep(range.step); + maxSB[i]->setMinimum(range.min); + maxSB[i]->setMaximum(range.max); + maxSB[i]->setSingleStep(range.step); + minSB[i]->setValue(range.getValue(model.frsky.screens[screen].body.bars[i%4].barMin)); + maxSB[i]->setValue(range.getValue(255 - model.frsky.screens[screen].body.bars[i%4].barMax)); } } lock=false; @@ -785,116 +770,110 @@ void TelemetryPanel::telBarUpdate() void TelemetryPanel::ScreenTypeCBcurrentIndexChanged(int index) { - if (lock) return; - + if (!lock) { + lock = true; QComboBox *comboBox = qobject_cast(sender()); int screen = comboBox->objectName().right(1).toInt() -1; - lock=true; - model.frsky.screens[screen].type=index; - + model.frsky.screens[screen].type = index; for (int i=0; i<3; i++) { bool isNum = (model.frsky.screens[i].type==0); barsGB[i]->setVisible(!isNum); numsGB[i]->setVisible(isNum); } - - lock=false; + lock = false; emit modified(); + } } void TelemetryPanel::telBarCBcurrentIndexChanged(int index) { - if (lock) return; + if (!lock) { + lock = true; QComboBox *comboBox = qobject_cast(sender()); int screenId = comboBox->objectName().mid(8,1).toInt() - 1; int barId = comboBox->objectName().mid(10,1).toInt() - 1; int bar=barId+screenId*4; model.frsky.screens[screenId].body.bars[barId].source=index; - lock=true; if (index==0) { model.frsky.screens[screenId].body.bars[barId].barMin=0; model.frsky.screens[screenId].body.bars[barId].barMax=0; minSB[bar]->setDisabled(true); maxSB[bar]->setDisabled(true); - } else { + } + else { minSB[bar]->setEnabled(true); maxSB[bar]->setEnabled(true); } - switch (index-1) { - case TELEMETRY_SOURCE_TX_BATT: - case TELEMETRY_SOURCE_A1: - case TELEMETRY_SOURCE_A1_MIN: - case TELEMETRY_SOURCE_A2: - case TELEMETRY_SOURCE_A2_MIN: - case TELEMETRY_SOURCE_CELLS_SUM: - case TELEMETRY_SOURCE_VFAS: - case TELEMETRY_SOURCE_CURRENT_MAX: - case TELEMETRY_SOURCE_CURRENT: - minSB[bar]->setDecimals(1); - maxSB[bar]->setDecimals(1); - break; - case TELEMETRY_SOURCE_CELL: - minSB[bar]->setDecimals(2); - maxSB[bar]->setDecimals(2); - break; - default: - minSB[bar]->setDecimals(0); - maxSB[bar]->setDecimals(0); - } - minSB[bar]->setMinimum(getBarValue(index, 0, &model.frsky)); - minSB[bar]->setMaximum(getBarValue(index, 255, &model.frsky)); - minSB[bar]->setSingleStep(getBarStep(index)); - maxSB[bar]->setMinimum(getBarValue(index, 0, &model.frsky)); - maxSB[bar]->setMaximum(getBarValue(index, 255, &model.frsky)); - maxSB[bar]->setSingleStep(getBarStep(index)); - minSB[bar]->setValue(getBarValue(index, model.frsky.screens[screenId].body.bars[barId].barMin, &model.frsky)); - maxSB[bar]->setValue(getBarValue(index, 255-model.frsky.screens[screenId].body.bars[barId].barMax, &model.frsky)); - lock=false; + RawSource source = RawSource(SOURCE_TYPE_TELEMETRY, index-1, &model); + RawSourceRange range = source.getRange(); + minSB[bar]->setDecimals(range.decimals); + minSB[bar]->setMinimum(range.min); + minSB[bar]->setMaximum(range.max); + minSB[bar]->setSingleStep(range.step); + maxSB[bar]->setDecimals(range.decimals); + maxSB[bar]->setMinimum(range.min); + maxSB[bar]->setMaximum(range.max); + maxSB[bar]->setSingleStep(range.step); + minSB[bar]->setValue(range.getValue(model.frsky.screens[screenId].body.bars[barId].barMin)); + maxSB[bar]->setValue(range.getValue(255 - model.frsky.screens[screenId].body.bars[barId].barMax)); + lock = false; emit modified(); + } } void TelemetryPanel::telMinSBeditingFinished() { - if (lock) return; + if (!lock) { + lock = true; QDoubleSpinBox *spinBox = qobject_cast(sender()); int screenId = spinBox->objectName().mid(8,1).toInt() - 1; int barId = spinBox->objectName().right(1).toInt() - 1; int minId = barId+screenId*4; - lock=true; + RawSource source = RawSource(SOURCE_TYPE_TELEMETRY, model.frsky.screens[screenId].body.bars[barId].source, &model); + RawSourceRange range = source.getRange(); if (model.frsky.screens[screenId].body.bars[barId].source==TELEMETRY_SOURCE_A1 || model.frsky.screens[screenId].body.bars[barId].source==TELEMETRY_SOURCE_A1_MIN) { - model.frsky.screens[screenId].body.bars[barId].barMin=round((minSB[minId]->value()-analogs[0]->ui->CalibSB->value())/getBarStep(model.frsky.screens[screenId].body.bars[barId].source)); - } else if (model.frsky.screens[screenId].body.bars[minId].source==TELEMETRY_SOURCE_A2 || model.frsky.screens[screenId].body.bars[minId].source==TELEMETRY_SOURCE_A2_MIN) { - model.frsky.screens[screenId].body.bars[barId].barMin=round((minSB[minId]->value()-analogs[1]->ui->CalibSB->value())/getBarStep(model.frsky.screens[screenId].body.bars[barId].source)); - } else { - model.frsky.screens[screenId].body.bars[barId].barMin=round((minSB[minId]->value()-getBarValue(model.frsky.screens[screenId].body.bars[barId].source, 0, &model.frsky))/getBarStep(model.frsky.screens[screenId].body.bars[barId].source)); + model.frsky.screens[screenId].body.bars[barId].barMin = round((minSB[minId]->value()-analogs[0]->ui->CalibSB->value())/range.step); } - spinBox->setValue(getBarValue(model.frsky.screens[screenId].body.bars[barId].source, model.frsky.screens[screenId].body.bars[barId].barMin, &model.frsky)); + else if (model.frsky.screens[screenId].body.bars[minId].source==TELEMETRY_SOURCE_A2 || model.frsky.screens[screenId].body.bars[minId].source==TELEMETRY_SOURCE_A2_MIN) { + model.frsky.screens[screenId].body.bars[barId].barMin = round((minSB[minId]->value()-analogs[1]->ui->CalibSB->value())/range.step); + } + else { + model.frsky.screens[screenId].body.bars[barId].barMin = round((minSB[minId]->value()-range.getValue(0))/range.step); + } + spinBox->setValue(range.getValue(model.frsky.screens[screenId].body.bars[barId].barMin)); if (maxSB[minId]->value()value()) { - model.frsky.screens[screenId].body.bars[minId].barMax=(255-model.frsky.screens[screenId].body.bars[barId].barMin+1); - maxSB[minId]->setValue(getBarValue(model.frsky.screens[screenId].body.bars[barId].source, 255-model.frsky.screens[screenId].body.bars[barId].barMax, &model.frsky)); + model.frsky.screens[screenId].body.bars[minId].barMax = (255-model.frsky.screens[screenId].body.bars[barId].barMin+1); + maxSB[minId]->setValue(range.getValue(255 - model.frsky.screens[screenId].body.bars[barId].barMax)); } - maxSB[minId]->setMinimum(getBarValue(model.frsky.screens[screenId].body.bars[barId].source, (model.frsky.screens[screenId].body.bars[barId].barMin+1), &model.frsky)); - lock=false; + maxSB[minId]->setMinimum(range.getValue((model.frsky.screens[screenId].body.bars[barId].barMin+1))); + + lock = false; emit modified(); + } } void TelemetryPanel::telMaxSBeditingFinished() { - if (lock) return; + if (!lock) { QDoubleSpinBox *spinBox = qobject_cast(sender()); int screenId = spinBox->objectName().mid(8,1).toInt() - 1; int barId = spinBox->objectName().right(1).toInt() - 1; - lock=true; + lock = true; + RawSource source = RawSource(SOURCE_TYPE_TELEMETRY, model.frsky.screens[screenId].body.bars[barId].source, &model); + RawSourceRange range = source.getRange(); if (model.frsky.screens[screenId].body.bars[barId].source==5) { - model.frsky.screens[screenId].body.bars[barId].barMax = (255-round((spinBox->value()-analogs[0]->ui->CalibSB->value())/getBarStep(model.frsky.screens[screenId].body.bars[barId].source))); - } else if (model.frsky.screens[screenId].body.bars[barId].source==6) { - model.frsky.screens[screenId].body.bars[barId].barMax = (255-round((spinBox->value()-analogs[1]->ui->CalibSB->value())/getBarStep(model.frsky.screens[screenId].body.bars[barId].source))); - } else { - model.frsky.screens[screenId].body.bars[barId].barMax = (255-round((spinBox->value()-getBarValue(model.frsky.screens[screenId].body.bars[barId].source, 0, &model.frsky))/getBarStep(model.frsky.screens[screenId].body.bars[barId].source) )); + model.frsky.screens[screenId].body.bars[barId].barMax = (255-round((spinBox->value()-analogs[0]->ui->CalibSB->value())/range.step)); } - spinBox->setValue(getBarValue(model.frsky.screens[screenId].body.bars[barId].source, (255-model.frsky.screens[screenId].body.bars[barId].barMax), &model.frsky)); - lock=false; + else if (model.frsky.screens[screenId].body.bars[barId].source==6) { + model.frsky.screens[screenId].body.bars[barId].barMax = (255-round((spinBox->value()-analogs[1]->ui->CalibSB->value())/range.step)); + } + else { + model.frsky.screens[screenId].body.bars[barId].barMax = (255-round((spinBox->value()-range.getValue(0))/range.step)); + } + spinBox->setValue(range.getValue(255-model.frsky.screens[screenId].body.bars[barId].barMax)); + lock = false; emit modified(); + } } void TelemetryPanel::customFieldEdited() @@ -902,7 +881,7 @@ void TelemetryPanel::customFieldEdited() if (!lock) { lock = true; - int cols=GetEepromInterface()->getCapability(TelemetryColsCSFields); + int cols = GetEepromInterface()->getCapability(TelemetryColsCSFields); if (cols==0) cols=2; for (int i=0; igetCapability(TelemetryCSFields); i++) { @@ -913,74 +892,9 @@ void TelemetryPanel::customFieldEdited() model.frsky.screens[screen].body.lines[r].source[c]=csf[i]->currentIndex(); } } - emit modified(); lock = false; + emit modified(); } } -float TelemetryPanel::getBarStep(int barId) -{ - switch (barId-1) { - case TELEMETRY_SOURCE_TX_BATT: - return 0.1; - break; - case TELEMETRY_SOURCE_TIMER1: - case TELEMETRY_SOURCE_TIMER2: - return 3; - break; - case TELEMETRY_SOURCE_A1: - case TELEMETRY_SOURCE_A1_MIN: - return (analogs[0]->ui->RatioSB->value()/255); - break; - case TELEMETRY_SOURCE_A2: - case TELEMETRY_SOURCE_A2_MIN: - return (analogs[1]->ui->RatioSB->value()/255); - break; - case TELEMETRY_SOURCE_ALT: - case TELEMETRY_SOURCE_GPS_ALT: - case TELEMETRY_SOURCE_ALT_MAX: - case TELEMETRY_SOURCE_ALT_MIN: - return 8; - break; - case TELEMETRY_SOURCE_RPM: - case TELEMETRY_SOURCE_RPM_MAX: - return 50; - break; - case TELEMETRY_SOURCE_CELLS_SUM: - case TELEMETRY_SOURCE_VFAS: - return 0.1; - break; - case TELEMETRY_SOURCE_CELL: - return 0.02; - break; - case TELEMETRY_SOURCE_HDG: - return 2; - break; - case TELEMETRY_SOURCE_DIST: - case TELEMETRY_SOURCE_DIST_MAX: - return 8; - break; - case TELEMETRY_SOURCE_CURRENT_MAX: - case TELEMETRY_SOURCE_CURRENT: - return 0.5; - break; - case TELEMETRY_SOURCE_POWER: - return 5; - break; - case TELEMETRY_SOURCE_CONSUMPTION: - return 20; - break; - case TELEMETRY_SOURCE_SPEED: - case TELEMETRY_SOURCE_SPEED_MAX: - if (model.frsky.imperial==1) { - return 1; - } else { - return 1.852; - } - break; - default: - return 1; - break; - } -} diff --git a/companion/src/modeledit/telemetry.h b/companion/src/modeledit/telemetry.h index e8f634463..f8dc1c35e 100644 --- a/companion/src/modeledit/telemetry.h +++ b/companion/src/modeledit/telemetry.h @@ -94,7 +94,6 @@ class TelemetryPanel : public ModelPanel QComboBox* csf[36]; void setup(); - float getBarStep(int barId); void telBarUpdate(); }; diff --git a/companion/src/printdialog.cpp b/companion/src/printdialog.cpp index cfd6938d6..86f1dc775 100644 --- a/companion/src/printdialog.cpp +++ b/companion/src/printdialog.cpp @@ -834,7 +834,7 @@ void printDialog::printFrSky() for (int i=0; i<4; i++) { if (fd->screens[j].body.bars[i].source!=0) tc++; - str.append(""+QString::number(i+1,10)+""+getFrSkySrc(fd->screens[j].body.bars[i].source)+""+(fd->screens[j].body.bars[i].source>0 ? QString::number(getBarValue(fd->screens[j].body.bars[i].source, fd->screens[j].body.bars[i].barMin,fd)):"----")+""+(fd->screens[j].body.bars[i].source>0 ? QString::number(getBarValue(fd->screens[j].body.bars[i].source,(255-fd->screens[j].body.bars[i].barMax),fd)) :"----")+""); + // TODO str.append(""+QString::number(i+1,10)+""+getFrSkySrc(fd->screens[j].body.bars[i].source)+""+(fd->screens[j].body.bars[i].source>0 ? QString::number(getBarValue(fd->screens[j].body.bars[i].source, fd->screens[j].body.bars[i].barMin,fd)):"----")+""+(fd->screens[j].body.bars[i].source>0 ? QString::number(getBarValue(fd->screens[j].body.bars[i].source,(255-fd->screens[j].body.bars[i].barMax),fd)) :"----")+""); } str.append(""); } From 7d88ff506e6e076aa12a002698fe5be328f86e3e Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 28 Jan 2014 17:51:35 +0100 Subject: [PATCH 11/61] Issue #541 fixed --- radio/src/gui/menu_model.cpp | 12 ++++-------- radio/src/gui/view_telemetry.cpp | 6 +++--- radio/src/opentx.cpp | 23 ++++++++++++++++------- radio/src/opentx.h | 17 ++++++++++++++++- 4 files changed, 39 insertions(+), 19 deletions(-) diff --git a/radio/src/gui/menu_model.cpp b/radio/src/gui/menu_model.cpp index 6f2309e1b..2954cc5d8 100644 --- a/radio/src/gui/menu_model.cpp +++ b/radio/src/gui/menu_model.cpp @@ -5582,18 +5582,14 @@ void menuModelTelemetry(uint8_t event) lineIndex = k-ITEM_TELEMETRY_SCREEN_LINE5; } -#if 0 - putsStrIdx(0, y, PSTR(INDENT"Line"), lineIndex+1, m_posHorz<0 ? attr : 0); -#endif - #if defined(GAUGES) if (IS_BARS_SCREEN(screenIndex)) { FrSkyBarData & bar = g_model.frsky.screens[screenIndex].bars[lineIndex]; uint8_t barSource = bar.source; lcd_putsiAtt(TELEM_COL1, y, STR_VTELEMCHNS, barSource, m_posHorz==0 ? attr : 0); if (barSource) { - putsTelemetryChannel(TELEM_BARS_COLMIN, y, barSource-1, convertTelemValue(barSource, bar.barMin), (m_posHorz==1 ? attr : 0) | LEFT); - putsTelemetryChannel(TELEM_BARS_COLMAX, y, barSource-1, convertTelemValue(barSource, 255-bar.barMax), (m_posHorz==2 ? attr : 0) | LEFT); + putsTelemetryChannel(TELEM_BARS_COLMIN, y, barSource-1, convertBarTelemValue(barSource, bar.barMin), (m_posHorz==1 ? attr : 0) | LEFT); + putsTelemetryChannel(TELEM_BARS_COLMAX, y, barSource-1, convertBarTelemValue(barSource, 255-bar.barMax), (m_posHorz==2 ? attr : 0) | LEFT); } else if (attr) { MOVE_CURSOR_FROM_HERE(); @@ -5604,14 +5600,14 @@ void menuModelTelemetry(uint8_t event) bar.source = checkIncDecModel(event, barSource, 0, TELEM_DISPLAY_MAX); if (checkIncDec_Ret) { bar.barMin = 0; - bar.barMax = 255-maxTelemValue(bar.source); + bar.barMax = 255 - maxBarTelemValue(bar.source); } break; case 1: bar.barMin = checkIncDec(event, bar.barMin, 0, 254-bar.barMax, EE_MODEL|NO_INCDEC_MARKS); break; case 2: - bar.barMax = 255 - checkIncDec(event, 255-bar.barMax, bar.barMin+1, maxTelemValue(barSource), EE_MODEL|NO_INCDEC_MARKS); + bar.barMax = 255 - checkIncDec(event, 255-bar.barMax, bar.barMin+1, maxBarTelemValue(barSource), EE_MODEL|NO_INCDEC_MARKS); break; } } diff --git a/radio/src/gui/view_telemetry.cpp b/radio/src/gui/view_telemetry.cpp index 3c62c1b02..9e9c100c6 100644 --- a/radio/src/gui/view_telemetry.cpp +++ b/radio/src/gui/view_telemetry.cpp @@ -214,8 +214,8 @@ void menuTelemetryFrsky(uint8_t event) for (int8_t i=3; i>=0; i--) { FrSkyBarData & bar = screen.bars[i]; uint8_t source = bar.source; - getvalue_t barMin = convertTelemValue(source, bar.barMin); - getvalue_t barMax = convertTelemValue(source, 255-bar.barMax); + getvalue_t barMin = convertBarTelemValue(source, bar.barMin); + getvalue_t barMax = convertBarTelemValue(source, 255-bar.barMax); if (source && barMax > barMin) { uint8_t y = barHeight+6+i*(barHeight+6); lcd_putsiAtt(0, y+barHeight-5, STR_VTELEMCHNS, source, 0); @@ -234,7 +234,7 @@ void menuTelemetryFrsky(uint8_t event) threshold = g_model.frsky.channels[source-TELEM_A1].alarms_value[0]; #if defined(FRSKY_HUB) else - threshold = convertTelemValue(source, barsThresholds[source-TELEM_ALT]); + threshold = convertBarTelemValue(source, barsThresholds[source-TELEM_ALT]); #endif if (threshold) { diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index cdefd2577..80df58ebd 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -1854,7 +1854,7 @@ csw_telemetry_value_t maxTelemValue(uint8_t channel) #endif #if defined(CPUARM) -getvalue_t convertTelemValue(uint8_t channel, csw_telemetry_value_t value) +getvalue_t convert16bitsTelemValue(uint8_t channel, csw_telemetry_value_t value) { getvalue_t result; switch (channel) { @@ -1867,8 +1867,14 @@ getvalue_t convertTelemValue(uint8_t channel, csw_telemetry_value_t value) } return result; } -#else -getvalue_t convertTelemValue(uint8_t channel, csw_telemetry_value_t value) + +csw_telemetry_value_t max8bitsTelemValue(uint8_t channel) +{ + return min(255, maxTelemValue(channel)); +} +#endif + +getvalue_t convert8bitsTelemValue(uint8_t channel, csw_telemetry_value_t value) { getvalue_t result; switch (channel) { @@ -1878,6 +1884,10 @@ getvalue_t convertTelemValue(uint8_t channel, csw_telemetry_value_t value) break; #if defined(FRSKY) case TELEM_ALT: +#if defined(CPUARM) + result = 100 * (value * 8 - 500); + break; +#endif case TELEM_GPSALT: case TELEM_MAX_ALT: case TELEM_MIN_ALT: @@ -1915,18 +1925,17 @@ getvalue_t convertTelemValue(uint8_t channel, csw_telemetry_value_t value) } return result; } -#endif getvalue_t convertCswTelemValue(CustomSwData * cs) { getvalue_t val; #if defined(CPUARM) - val = convertTelemValue(cs->v1 - MIXSRC_FIRST_TELEM + 1, cs->v2); + val = convert16bitsTelemValue(cs->v1 - MIXSRC_FIRST_TELEM + 1, cs->v2); #else if (cswFamily(cs->func)==CS_VOFS) - val = convertTelemValue(cs->v1 - MIXSRC_FIRST_TELEM + 1, 128+cs->v2); + val = convert8bitsTelemValue(cs->v1 - MIXSRC_FIRST_TELEM + 1, 128+cs->v2); else - val = convertTelemValue(cs->v1 - MIXSRC_FIRST_TELEM + 1, 128+cs->v2) - convertTelemValue(cs->v1 - MIXSRC_FIRST_TELEM + 1, 128); + val = convert8bitsTelemValue(cs->v1 - MIXSRC_FIRST_TELEM + 1, 128+cs->v2) - convert8bitsTelemValue(cs->v1 - MIXSRC_FIRST_TELEM + 1, 128); #endif return val; } diff --git a/radio/src/opentx.h b/radio/src/opentx.h index 1ce0294b7..9c9ea12c3 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -1632,9 +1632,24 @@ extern uint8_t barsThresholds[THLD_MAX]; #define maxTelemValue(channel) 255 #endif -getvalue_t convertTelemValue(uint8_t channel, csw_telemetry_value_t value); +#if defined(CPUARM) +getvalue_t convert16bitsTelemValue(uint8_t channel, csw_telemetry_value_t value); +csw_telemetry_value_t max8bitsTelemValue(uint8_t channel); +#endif + +getvalue_t convert8bitsTelemValue(uint8_t channel, csw_telemetry_value_t value); getvalue_t convertCswTelemValue(CustomSwData * cs); +#if defined(CPUARM) + #define convertTelemValue(channel, value) convert16bitsTelemValue(channel, value) + #define convertBarTelemValue(channel, value) convert8bitsTelemValue(channel, value) + #define maxBarTelemValue(channel) max8bitsTelemValue(channel) +#else + #define convertTelemValue(channel, value) convert8bitsTelemValue(channel, value) + #define convertBarTelemValue(channel, value) convert8bitsTelemValue(channel, value) + #define maxBarTelemValue(channel) maxTelemValue(channel) +#endif + #if defined(FRSKY) || defined(CPUARM) lcdint_t applyChannelRatio(uint8_t channel, lcdint_t val); #endif From 35659a09a47f8b8940ca6c1d6f9555374a3b042a Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 28 Jan 2014 23:51:37 +0100 Subject: [PATCH 12/61] Telemetry bars should be again ok in Companion --- companion/src/eeprominterface.cpp | 76 +++++++++++---------------- companion/src/eeprominterface.h | 2 +- companion/src/modeledit/telemetry.cpp | 10 ++-- 3 files changed, 36 insertions(+), 52 deletions(-) diff --git a/companion/src/eeprominterface.cpp b/companion/src/eeprominterface.cpp index e6661a04f..8af8e49c6 100644 --- a/companion/src/eeprominterface.cpp +++ b/companion/src/eeprominterface.cpp @@ -37,12 +37,16 @@ void getEEPROMString(char *dst, const char *src, int size) } } -RawSourceRange RawSource::getRange() +RawSourceRange RawSource::getRange(bool singleprec) { RawSourceRange result; int board = GetEepromInterface()->getBoard(); + if (!singleprec && !IS_TARANIS(board)) { + singleprec = true; + } + switch (type) { case SOURCE_TYPE_TELEMETRY: switch (index) { @@ -53,12 +57,14 @@ RawSourceRange RawSource::getRange() break; case TELEMETRY_SOURCE_TIMER1: case TELEMETRY_SOURCE_TIMER2: - result.step = IS_TARANIS(board) ? 1 : 3; - result.max = 765; + result.step = singleprec ? 3 : 1; + result.max = singleprec ? 765 : 7200; + result.offset = 128; break; case TELEMETRY_SOURCE_RSSI_TX: case TELEMETRY_SOURCE_RSSI_RX: result.max = 100; + result.offset = 128; break; case TELEMETRY_SOURCE_A1: case TELEMETRY_SOURCE_A2: @@ -78,12 +84,13 @@ RawSourceRange RawSource::getRange() // result.offset = result.min; } } + result.offset = 128; break; case TELEMETRY_SOURCE_ALT: case TELEMETRY_SOURCE_GPS_ALT: - result.step = IS_TARANIS(board) ? 1 : 8; + result.step = singleprec ? 8 : 1; result.min = -500; - result.max = 1540; + result.max = singleprec ? 1540 : 3000; // result.offset = 524; break; case TELEMETRY_SOURCE_T1: @@ -93,16 +100,17 @@ RawSourceRange RawSource::getRange() // result.offset = 98; break; case TELEMETRY_SOURCE_RPM: - result.step = IS_TARANIS(board) ? 1 : 50; - result.max = 12750; + result.step = singleprec ? 50 : 1; + result.max = singleprec ? 12750 : 20000; // result.offset = 6400; break; case TELEMETRY_SOURCE_FUEL: result.max = 100; + result.offset = 128; break; case TELEMETRY_SOURCE_SPEED: - result.step = IS_TARANIS(board) ? 1 : 4; - result.max = 944; + result.step = singleprec ? 4 : 1; + result.max = singleprec ? 944 : 2000; // result.offset = 474; if (model && !model->frsky.imperial) { result.step *= 1.852; @@ -110,12 +118,12 @@ RawSourceRange RawSource::getRange() } break; case TELEMETRY_SOURCE_DIST: - result.step = IS_TARANIS(board) ? 1 : 8; - result.max = 2040; + result.step = singleprec ? 8 : 1; + result.max = singleprec ? 2040 : 10000; // result.offset = 1024; break; case TELEMETRY_SOURCE_CELL: - result.step = IS_TARANIS(board) ? 0.01 : 0.02; + result.step = singleprec ? 0.02 : 0.01; result.max = 5.1; result.decimals = 2; // result.offset = 2.56; @@ -125,19 +133,23 @@ RawSourceRange RawSource::getRange() result.step = 0.1; result.max = 25.5; result.decimals = 1; + result.offset = 128; break; case TELEMETRY_SOURCE_CURRENT: - result.step = IS_TARANIS(board) ? 0.1 : 0.5; - result.max = 127.5; + result.step = singleprec ? 0.5 : 0.1; + result.max = singleprec ? 127.5 : 200.0; result.decimals = 1; + result.offset = 128; break; case TELEMETRY_SOURCE_CONSUMPTION: - result.step = IS_TARANIS(board) ? 1 : 20; - result.max = 5100; + result.step = singleprec ? 20 : 1; + result.max = singleprec ? 5100 : 10000; + result.offset = 128; break; case TELEMETRY_SOURCE_POWER: - result.step = IS_TARANIS(board) ? 1 : 5; - result.max = 1275; + result.step = singleprec ? 5 : 1; + result.max = singleprec ? 1275 : 2000; + result.offset = 128; break; default: result.max = 125; @@ -154,34 +166,6 @@ RawSourceRange RawSource::getRange() return result; } -#if 0 -int RawSource::getRawOffset(const ModelData & Model) -{ - switch (type) { - case SOURCE_TYPE_TELEMETRY: - switch (index) { - case TELEMETRY_SOURCE_TIMER1: - case TELEMETRY_SOURCE_TIMER2: - case TELEMETRY_SOURCE_RSSI_TX: - case TELEMETRY_SOURCE_RSSI_RX: - case TELEMETRY_SOURCE_A1: - case TELEMETRY_SOURCE_A2: - case TELEMETRY_SOURCE_FUEL: - case TELEMETRY_SOURCE_CELLS_SUM: - case TELEMETRY_SOURCE_VFAS: - case TELEMETRY_SOURCE_CURRENT: - case TELEMETRY_SOURCE_CONSUMPTION: - case TELEMETRY_SOURCE_POWER: - return 128; - default: - return 0; - } - default: - return 0; - } -} -#endif - QString AnalogString(int index) { static const QString sticks[] = { QObject::tr("Rud"), QObject::tr("Ele"), QObject::tr("Thr"), QObject::tr("Ail") }; diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h index e26c7a189..6933ef46f 100644 --- a/companion/src/eeprominterface.h +++ b/companion/src/eeprominterface.h @@ -337,7 +337,7 @@ class RawSource { QString toString(); - RawSourceRange getRange(); + RawSourceRange getRange(bool singleprec=false); bool operator == ( const RawSource & other) { return (this->type == other.type) && (this->index == other.index); diff --git a/companion/src/modeledit/telemetry.cpp b/companion/src/modeledit/telemetry.cpp index abcaf7f8a..1f008d71b 100644 --- a/companion/src/modeledit/telemetry.cpp +++ b/companion/src/modeledit/telemetry.cpp @@ -531,7 +531,7 @@ void TelemetryPanel::setup() int field = j%4; populateCustomScreenFieldCB(barsCB[j], model.frsky.screens[screen].body.bars[field].source, false, model.frsky.usrProto); RawSource source = RawSource(SOURCE_TYPE_TELEMETRY, model.frsky.screens[screen].body.bars[field].source, &model); - RawSourceRange range = source.getRange(); + RawSourceRange range = source.getRange(true); minSB[j]->setDecimals(range.decimals); minSB[j]->setMinimum(range.min); minSB[j]->setMaximum(range.max); @@ -754,7 +754,7 @@ void TelemetryPanel::telBarUpdate() index=barsCB[i]->currentIndex(); if (index==TELEMETRY_SOURCE_A1 || index==TELEMETRY_SOURCE_A1 || index==TELEMETRY_SOURCE_A1_MIN || index==TELEMETRY_SOURCE_A2_MIN) { RawSource source = RawSource(SOURCE_TYPE_TELEMETRY, index, &model); - RawSourceRange range = source.getRange(); + RawSourceRange range = source.getRange(true); minSB[i]->setMinimum(range.min); minSB[i]->setMaximum(range.max); minSB[i]->setSingleStep(range.step); @@ -805,7 +805,7 @@ void TelemetryPanel::telBarCBcurrentIndexChanged(int index) maxSB[bar]->setEnabled(true); } RawSource source = RawSource(SOURCE_TYPE_TELEMETRY, index-1, &model); - RawSourceRange range = source.getRange(); + RawSourceRange range = source.getRange(true); minSB[bar]->setDecimals(range.decimals); minSB[bar]->setMinimum(range.min); minSB[bar]->setMaximum(range.max); @@ -830,7 +830,7 @@ void TelemetryPanel::telMinSBeditingFinished() int barId = spinBox->objectName().right(1).toInt() - 1; int minId = barId+screenId*4; RawSource source = RawSource(SOURCE_TYPE_TELEMETRY, model.frsky.screens[screenId].body.bars[barId].source, &model); - RawSourceRange range = source.getRange(); + RawSourceRange range = source.getRange(true); if (model.frsky.screens[screenId].body.bars[barId].source==TELEMETRY_SOURCE_A1 || model.frsky.screens[screenId].body.bars[barId].source==TELEMETRY_SOURCE_A1_MIN) { model.frsky.screens[screenId].body.bars[barId].barMin = round((minSB[minId]->value()-analogs[0]->ui->CalibSB->value())/range.step); } @@ -860,7 +860,7 @@ void TelemetryPanel::telMaxSBeditingFinished() int barId = spinBox->objectName().right(1).toInt() - 1; lock = true; RawSource source = RawSource(SOURCE_TYPE_TELEMETRY, model.frsky.screens[screenId].body.bars[barId].source, &model); - RawSourceRange range = source.getRange(); + RawSourceRange range = source.getRange(true); if (model.frsky.screens[screenId].body.bars[barId].source==5) { model.frsky.screens[screenId].body.bars[barId].barMax = (255-round((spinBox->value()-analogs[0]->ui->CalibSB->value())/range.step)); } From 722a9686e4dd9382dfa2aff437fe995a9278bd2c Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 29 Jan 2014 08:30:34 +0100 Subject: [PATCH 13/61] Bars / Logical Switches in Companion should be ok on all boards --- companion/src/eeprominterface.cpp | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/companion/src/eeprominterface.cpp b/companion/src/eeprominterface.cpp index 8af8e49c6..d0d639d8b 100644 --- a/companion/src/eeprominterface.cpp +++ b/companion/src/eeprominterface.cpp @@ -59,12 +59,10 @@ RawSourceRange RawSource::getRange(bool singleprec) case TELEMETRY_SOURCE_TIMER2: result.step = singleprec ? 3 : 1; result.max = singleprec ? 765 : 7200; - result.offset = 128; break; case TELEMETRY_SOURCE_RSSI_TX: case TELEMETRY_SOURCE_RSSI_RX: result.max = 100; - result.offset = 128; break; case TELEMETRY_SOURCE_A1: case TELEMETRY_SOURCE_A2: @@ -74,44 +72,36 @@ RawSourceRange RawSource::getRange(bool singleprec) result.min = (model->frsky.channels[index-TELEMETRY_SOURCE_A1].offset * model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio) / 2550.0; result.max = model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio - (model->frsky.channels[index-TELEMETRY_SOURCE_A1].offset * model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio) / 2550.0; result.decimals = 2; - // result.offset = result.min; } else { result.step = (model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio / 255.0); - result.min = (model->frsky.channels[index-TELEMETRY_SOURCE_A1].offset *model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio) / 255.0; + result.min = (model->frsky.channels[index-TELEMETRY_SOURCE_A1].offset * model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio) / 255.0; result.max = model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio - (model->frsky.channels[index-TELEMETRY_SOURCE_A1].offset * model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio) / 255.0; result.decimals = 0; - // result.offset = result.min; } } - result.offset = 128; break; case TELEMETRY_SOURCE_ALT: case TELEMETRY_SOURCE_GPS_ALT: result.step = singleprec ? 8 : 1; result.min = -500; result.max = singleprec ? 1540 : 3000; - // result.offset = 524; break; case TELEMETRY_SOURCE_T1: case TELEMETRY_SOURCE_T2: result.min = -30; result.max = 225; - // result.offset = 98; break; case TELEMETRY_SOURCE_RPM: result.step = singleprec ? 50 : 1; result.max = singleprec ? 12750 : 20000; - // result.offset = 6400; break; case TELEMETRY_SOURCE_FUEL: result.max = 100; - result.offset = 128; break; case TELEMETRY_SOURCE_SPEED: result.step = singleprec ? 4 : 1; result.max = singleprec ? 944 : 2000; - // result.offset = 474; if (model && !model->frsky.imperial) { result.step *= 1.852; result.max *= 1.852; @@ -120,41 +110,38 @@ RawSourceRange RawSource::getRange(bool singleprec) case TELEMETRY_SOURCE_DIST: result.step = singleprec ? 8 : 1; result.max = singleprec ? 2040 : 10000; - // result.offset = 1024; break; case TELEMETRY_SOURCE_CELL: result.step = singleprec ? 0.02 : 0.01; result.max = 5.1; result.decimals = 2; - // result.offset = 2.56; break; case TELEMETRY_SOURCE_CELLS_SUM: case TELEMETRY_SOURCE_VFAS: result.step = 0.1; result.max = 25.5; result.decimals = 1; - result.offset = 128; break; case TELEMETRY_SOURCE_CURRENT: result.step = singleprec ? 0.5 : 0.1; result.max = singleprec ? 127.5 : 200.0; result.decimals = 1; - result.offset = 128; break; case TELEMETRY_SOURCE_CONSUMPTION: result.step = singleprec ? 20 : 1; result.max = singleprec ? 5100 : 10000; - result.offset = 128; break; case TELEMETRY_SOURCE_POWER: result.step = singleprec ? 5 : 1; result.max = singleprec ? 1275 : 2000; - result.offset = 128; break; default: result.max = 125; break; } + if (singleprec) { + result.offset = result.max - (127*result.step); + } break; default: From 63529d77e3c53e2a7e6bb93001c8e1a6eca08c3d Mon Sep 17 00:00:00 2001 From: Jacek Drewniak Date: Thu, 30 Jan 2014 00:58:13 +0100 Subject: [PATCH 14/61] Small fixes to the translation --- radio/src/translations/pl.h.txt | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 925589797..d5a16a1bf 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -75,7 +75,7 @@ #define TR_DATETIME "DANA:""Czas:\0 " #define LEN_VLCD "\006" -#define TR_VLCD "Normal""Optrex" +#define TR_VLCD "Normalny""Optrex" #define LEN_COUNTRYCODES TR("\002", "\007") #define TR_COUNTRYCODES TR("US""JP""EU", "Ameryka""Japonia""Europa\0") @@ -234,7 +234,7 @@ #define TR_VFSWRESET TR("Tmr1""Tmr2""All\0" TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC, "Timer 1\0 ""Timer 2\0 ""All\0 " TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC) #define LEN_FUNCSOUNDS TR("\004", "\006") -#define TR_FUNCSOUNDS TR("Bp1\0""Bp2\0""Bp3\0""Wrn1""Wrn2""Chee""Rata""Tick""Sirn""Ring""SciF""Robt""Chrp""Tada""Crck""Alrm", "Beep1 ""Beep2 ""Beep3 ""Warn1 ""Warn2 ""Cheep ""Ratata""Tick ""Siren ""Ring ""SciFi ""Robot ""Chirp ""Tada ""Crickt""AlmClk") +#define TR_FUNCSOUNDS TR("Bp1\0""Bp2\0""Bp3\0""Ost1""Ost2""Chee""Rata""Tik""Syre""Dzwo""SciF""Robt""Chrp""Tada""Crck""Alrm", "Beep1 ""Beep2 ""Beep3 ""Ostrz1""Ostrz1""Cheep ""Ratata""Tick ""Syrena""Dzwone""SciFi ""Robot ""Chirp ""Tada ""Krytcz""AlmZeg") #define LEN_VTELEMCHNS "\004" #if defined(PCBTARANIS) @@ -244,7 +244,7 @@ #define TR_RSSI_0 "Tx\0 " #define TR_RSSI_1 "Rx\0 " #endif -#define TR_VTELEMCHNS "---\0""Bat\0""Tmr1""Tmr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Alt\0""Rpm\0""Pali""T1\0 ""T2\0 ""Spd\0""Dyst""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Powr""AccX""AccY""AccZ""Hdg\0""VSpd""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cur+""Pwr+""Acc\0""Time" +#define TR_VTELEMCHNS "---\0""Bat\0""Tmr1""Tmr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Wys\0""Rpm\0""Pali""T1\0 ""T2\0 ""Spd\0""Dyst""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Moc ""AccX""AccY""AccZ""Hdg\0""VSpd""A1-\0""A2-\0""Wys-""Wys+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cur+""Moc+""Acc\0""Time" #if defined(CPUARM) #define LEN_VUNITSSYSTEM TR("\006", "\012") @@ -284,7 +284,7 @@ #if defined(FRSKY_SPORT) #define TR_VARIOSRC "Vario""A1\0 ""A2\0" #else - #define TR_VARIOSRC "Alti\0""Alti+""Vario""A1\0 ""A2\0" + #define TR_VARIOSRC "Wys.\0""Wys.+""Vario""A1\0 ""A2\0" #endif #define LEN_VSCREEN "\006" @@ -295,13 +295,13 @@ #define LEN2_VTEMPLATES 17 #define LEN_VTEMPLATES "\021" -#define TR_VTEMPLATES "Wyczyść miksery\0 ""Prosty. 4kanal\0 ""Przełącznik-T-Cut""V-Tail \0 ""Elevon-Delta\0 ""eCCPM \0 ""Heli Setup \0 ""Test serwa \0 " +#define TR_VTEMPLATES "Wyczyść miksery\0 ""Prosty. 4kanal\0 ""Przełącznik-T-Cut""V-Tail \0 ""Elevon-Delta\0 ""eCCPM \0 ""Ustaw. Heli \0 ""Test serwa \0 " #define LEN_VSWASHTYPE "\004" #define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0" #define LEN_VKEYS "\005" -#define TR_VKEYS TR(" Menu"" Exit""W dół""Wgórę""Wpraw""Wlewo", " Menu"" Exit""W dół""Wgórę""Wpraw""Wlewo") +#define TR_VKEYS TR(" Menu""Wyjdź""W dół""Wgórę""Wpraw""Wlewo", " Menu""Wyjdź""W dół""Wgórę""Wpraw""Wlewo") #define LEN_VRENCODERS "\003" #define TR_VRENCODERS "REa""REb" @@ -396,9 +396,9 @@ #define TR_MODELNAME "Nazwa modelu" #define TR_PHASENAME "Nazwa" #define TR_MIXNAME "Nazwa" -#define TR_INPUTNAME "Input Name" +#define TR_INPUTNAME "Wpisz Nazw" #if defined(PCBTARANIS) - #define TR_EXPONAME "Line Name" + #define TR_EXPONAME "Linia Naz" #else #define TR_EXPONAME "Nazwa" #endif @@ -686,8 +686,8 @@ #define TR_MAVMENUSETUP_TITLE "Mavlink Setup" #define TR_MAVLINK_BAUD_LABEL "Baudrate" #define TR_MAVLINK_INFOS "INFOS" - #define TR_MAVLINK_MODE "MODE" - #define TR_MAVLINK_CUR_MODE "Current Mode" + #define TR_MAVLINK_MODE "TRYB" + #define TR_MAVLINK_CUR_MODE "Aktualy Tryb" #define TR_MAVLINK_ARMED "Armed" #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" #define TR_MAVLINK_BATTERY_LABEL "Status baterii " From 27fbd4b95226e6da357e57618d2bd064000808db Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Thu, 30 Jan 2014 07:30:02 +0100 Subject: [PATCH 15/61] Update DONATIONS.txt --- DONATIONS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index a868d4b66..bf10f5a21 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -302,3 +302,4 @@ Dan Neelands Yashiro Masayuki Isaac Sloan Harold Baird +Roy Bender From 171245d8928eac72a1b6622a5d5c46581a9a36d2 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Thu, 30 Jan 2014 08:05:58 +0100 Subject: [PATCH 16/61] Update DONATIONS.txt --- DONATIONS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index bf10f5a21..a37178524 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -303,3 +303,4 @@ Yashiro Masayuki Isaac Sloan Harold Baird Roy Bender +Bradley Murchie From f74fc932ccd1a6fb15a4a993fa3e49a2aca59bfd Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Thu, 30 Jan 2014 15:18:42 +0100 Subject: [PATCH 17/61] Update DONATIONS.txt --- DONATIONS.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index a37178524..ba02b714b 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -304,3 +304,5 @@ Isaac Sloan Harold Baird Roy Bender Bradley Murchie +Maximilian Süß +Dean Jansa From f77e43c1f147a26bc9d658ebe4d27e8dedd87f42 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Thu, 30 Jan 2014 17:01:49 +0100 Subject: [PATCH 18/61] Update DONATIONS.txt --- DONATIONS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index ba02b714b..0f9eb76b2 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -306,3 +306,4 @@ Roy Bender Bradley Murchie Maximilian Süß Dean Jansa +Ronald Donker From bffa086f7224b7b650c5af34fbbc91514ab5dac7 Mon Sep 17 00:00:00 2001 From: Jacek Drewniak Date: Thu, 30 Jan 2014 23:12:38 +0100 Subject: [PATCH 19/61] More fixes to PL translation - opentx only --- radio/src/translations/pl.h.txt | 36 ++++++++++++++++----------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index d5a16a1bf..4503891bb 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -75,7 +75,7 @@ #define TR_DATETIME "DANA:""Czas:\0 " #define LEN_VLCD "\006" -#define TR_VLCD "Normalny""Optrex" +#define TR_VLCD "Normal""Optrex" #define LEN_COUNTRYCODES TR("\002", "\007") #define TR_COUNTRYCODES TR("US""JP""EU", "Ameryka""Japonia""Europa\0") @@ -398,7 +398,7 @@ #define TR_MIXNAME "Nazwa" #define TR_INPUTNAME "Wpisz Nazw" #if defined(PCBTARANIS) - #define TR_EXPONAME "Linia Naz" + #define TR_EXPONAME "Linia Nazw" #else #define TR_EXPONAME "Nazwa" #endif @@ -411,7 +411,7 @@ #define TR_TTRIM TR("Trymer gazu", "Trymer gazu") #define TR_BEEPCTR "(\043)Pikanie środka" #define TR_PROTO INDENT"Protokól" -#define TR_PPMFRAME "PPM frame" +#define TR_PPMFRAME "Ramka PPM" #define TR_MS "ms" #define TR_SWITCH "Przełącznik" #define TR_TRIMS "Trymery" @@ -516,7 +516,7 @@ #define TR_MENUTORESET CENTER TR_ENTER" >> Reset" #define TR_PPM "PPM" -#define TR_CH "Kn" +#define TR_CH "KN" #define TR_MODEL "MODEL" #define TR_FP "FL" #define TR_MIX "MIX" @@ -556,8 +556,8 @@ #define TR_MENUCURVES "KRZYWE" #define TR_MENUCURVE "KRZYWA" -#define TR_MENUCUSTOMSWITCH "PRZEŁĄCZNIK LOGICZNY" -#define TR_MENUCUSTOMSWITCHES "Przełączniki logiczne" +#define TR_MENUCUSTOMSWITCH "PRZEŁ. LOGICZNY" +#define TR_MENUCUSTOMSWITCHES TR("PRZEŁ. LOG.", "PRZEŁ. LOGICZNE") #define TR_MENUCUSTOMFUNC "FUNKCJE SPECJALNE" #define TR_MENUTELEMETRY "TELEMETRIA" #define TR_MENUTEMPLATES "SZABLONY" @@ -617,7 +617,7 @@ #define TR_COPY_FILE "Kopiuj" #define TR_RENAME_FILE "Zmień nazwę" #define TR_ASSIGN_BITMAP "Wybierz obrazek" -#define TR_REMOVED " skasowane" +#define TR_REMOVED "Skasowane" #define TR_SD_INFO "Informacje" #define TR_SD_FORMAT "Formatuj" #define TR_NA "[X]" @@ -635,7 +635,7 @@ #define TR_GLOBAL_VARS "Zmienne globalne" #define TR_GLOBAL_VAR "Zmienna globalna" #define TR_MENUGLOBALVARS "ZMIENNE GLOBALNE" -#define TR_OWN " Własność " +#define TR_OWN "Własność " #define TR_DATE "Data" #define TR_ROTARY_ENCODER "R.Encs" #define TR_CHANNELS_MONITOR "MONITOR KANAŁÓW" @@ -671,21 +671,21 @@ #define TR_SET "[Ustaw]" #define TR_TRAINER "Trener" #define TR_ANTENNAPROBLEM CENTER "Problem z anteną TX" -#define TR_MODELIDUSED TR("ID już użyte","ID modelu już użyte") +#define TR_MODELIDUSED TR("ID zajęte","ID modelu zajęte") #define TR_MODULE INDENT "Moduł" #define TR_CHANNELRANGE INDENT "Zakres kanału" #define TR_LOWALARM INDENT "Alarm niski" #define TR_CRITICALALARM INDENT "Alarm krytyczny" #define TR_PERSISTENT_MAH INDENT "Store mAh" #define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") -#define TR_UART3MODE "Serial port" +#define TR_UART3MODE "Port szreg." #if defined(MAVLINK) #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" #define TR_MAVLINK_PC_RSSI_EN_LABEL "PC RSSI EN" #define TR_MAVMENUSETUP_TITLE "Mavlink Setup" #define TR_MAVLINK_BAUD_LABEL "Baudrate" - #define TR_MAVLINK_INFOS "INFOS" + #define TR_MAVLINK_INFOS "INFO" #define TR_MAVLINK_MODE "TRYB" #define TR_MAVLINK_CUR_MODE "Aktualy Tryb" #define TR_MAVLINK_ARMED "Armed" @@ -702,8 +702,8 @@ #define TR_MAVLINK_NO_FIX "NO Fix" #define TR_MAVLINK_SAT "SAT" #define TR_MAVLINK_HDOP "HDOP" - #define TR_MAVLINK_LAT "LAT" - #define TR_MAVLINK_LON "LON" + #define TR_MAVLINK_LAT "SZER" + #define TR_MAVLINK_LON "DLUG" #endif // Taranis column headers @@ -721,8 +721,8 @@ #define TR_ABOUT_OPENTX_5 TR("is welcome!", "donations is welcome!") #define TR_ABOUT_BERTRAND_1 "Bertrand Songis" -#define TR_ABOUT_BERTRAND_2 "OpenTX main author" -#define TR_ABOUT_BERTRAND_3 "Companion9x co-author" +#define TR_ABOUT_BERTRAND_2 "OpenTX główny autor" +#define TR_ABOUT_BERTRAND_3 "Companion9x współ-autor" #define TR_ABOUT_MIKE_1 "Mike Blandford" #define TR_ABOUT_MIKE_2 "Guru kodu i driwerów" @@ -730,12 +730,12 @@ #define TR_ABOUT_MIKE_4 "Inspirational" #define TR_ABOUT_ROMOLO_1 "Romolo Manfredini" -#define TR_ABOUT_ROMOLO_2 "Companion9x co-author" +#define TR_ABOUT_ROMOLO_2 "Companion9x współ-autor" #define TR_ABOUT_ROMOLO_3 "" #define TR_ABOUT_ANDRE_1 "Andre Bernet" -#define TR_ABOUT_ANDRE_2 "Functionality, usability," -#define TR_ABOUT_ANDRE_3 "debugging, documentation" +#define TR_ABOUT_ANDRE_2 "Funkcjonalność, użytkowość," +#define TR_ABOUT_ANDRE_3 "debugging, documentacja" #define TR_ABOUT_ROB_1 "Rob Thomson" #define TR_ABOUT_ROB_2 "openrcforums webmaster" From e8744eb73c20fc883a6c2412de5573b52805e79c Mon Sep 17 00:00:00 2001 From: Jacek Drewniak Date: Fri, 31 Jan 2014 00:06:00 +0100 Subject: [PATCH 20/61] fixes + some hardcoding removed --- radio/src/translations.cpp | 4 ++-- radio/src/translations/pl.h.txt | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 7702d5dfe..45a76feb5 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -490,8 +490,8 @@ const pm_char STR_VIEW_TEXT[] PROGMEM = "View text"; const pm_char STR_CLEAR[] PROGMEM = "Clear"; const pm_char STR_RESET[] PROGMEM = "Reset"; const pm_char STR_COPY_TRIMS_TO_OFFSET[] = "Copy Trims To Offset"; - const pm_char STR_TOP_BAR[] PROGMEM = "Top Bar"; - const pm_char STR_ALTITUDE[] PROGMEM = INDENT "Altitude"; + const pm_char STR_TOP_BAR[] PROGMEM = TR_TOP_BAR; + const pm_char STR_ALTITUDE[] PROGMEM = INDENT TR_ALTITUDE; const pm_char STR_SCALE[] PROGMEM = "Scale"; const pm_char STR_VIEW_CHANNELS[] PROGMEM = "View Channels"; const pm_char STR_VIEW_NOTES[] PROGMEM = "View Notes"; diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 4503891bb..39d7033d5 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -383,7 +383,7 @@ #define TR_ENTER "[MENU]" #endif -#define TR_POPUPS TR_ENTER"\010[EXIT]" +#define TR_POPUPS TR_ENTER"\010[WYJŚCIE]" #define OFS_EXIT sizeof(TR_ENTER) #define TR_MENUWHENDONE CENTER "\007"TR_ENTER" > DALEJ" @@ -418,14 +418,14 @@ #define TR_FADEIN "Pojawianie" #define TR_FADEOUT "Zanikanie" #define TR_DEFAULT "(Bazowa)" -#define TR_CHECKTRIMS "\006Sprawdź \012 Trymery" +#define TR_CHECKTRIMS "\006Spr \012 Trymery" #define OFS_CHECKTRIMS (9*FW) #define TR_SWASHTYPE "Typ tarczy" #define TR_COLLECTIVE "Kolektyw" #define TR_SWASHRING "Tarcza" #define TR_ELEDIRECTION "Ster Wysokości" #define TR_AILDIRECTION "\012Lotki" -#define TR_COLDIRECTION "\012Kolektwy" +#define TR_COLDIRECTION "\012Kolektyw" #define TR_MODE INDENT"Tryb" #define TR_NOFREEEXPO "Brak wolnych expo!" #define TR_NOFREEMIXER "Brak wolnych mix!" @@ -666,7 +666,7 @@ #define TR_BUZZER INDENT"Brzęczyk" #define TR_BYTES "[B]" #define TR_MODULE_BIND "[Bind]" -#define TR_MODULE_RANGE "[Zasieg]" +#define TR_MODULE_RANGE "Zasięg" #define TR_RESET_BTN "[Reset]" #define TR_SET "[Ustaw]" #define TR_TRAINER "Trener" @@ -676,7 +676,7 @@ #define TR_CHANNELRANGE INDENT "Zakres kanału" #define TR_LOWALARM INDENT "Alarm niski" #define TR_CRITICALALARM INDENT "Alarm krytyczny" -#define TR_PERSISTENT_MAH INDENT "Store mAh" +#define TR_PERSISTENT_MAH INDENT "Zapisz mAh" #define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") #define TR_UART3MODE "Port szreg." From 586b74b7f7435743815db40842e82b7465f07355 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Fri, 31 Jan 2014 00:36:35 +0100 Subject: [PATCH 21/61] Little translation fixes --- radio/src/translations.cpp | 2 +- radio/src/translations/pl.h.txt | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 45a76feb5..f031ba40b 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -491,7 +491,7 @@ const pm_char STR_VIEW_TEXT[] PROGMEM = "View text"; const pm_char STR_RESET[] PROGMEM = "Reset"; const pm_char STR_COPY_TRIMS_TO_OFFSET[] = "Copy Trims To Offset"; const pm_char STR_TOP_BAR[] PROGMEM = TR_TOP_BAR; - const pm_char STR_ALTITUDE[] PROGMEM = INDENT TR_ALTITUDE; + const pm_char STR_ALTITUDE[] PROGMEM = TR_ALTITUDE; const pm_char STR_SCALE[] PROGMEM = "Scale"; const pm_char STR_VIEW_CHANNELS[] PROGMEM = "View Channels"; const pm_char STR_VIEW_NOTES[] PROGMEM = "View Notes"; diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 39d7033d5..c012bb207 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -234,7 +234,7 @@ #define TR_VFSWRESET TR("Tmr1""Tmr2""All\0" TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC, "Timer 1\0 ""Timer 2\0 ""All\0 " TR_FSW_RESET_TELEM TR_FSW_RESET_ROTENC) #define LEN_FUNCSOUNDS TR("\004", "\006") -#define TR_FUNCSOUNDS TR("Bp1\0""Bp2\0""Bp3\0""Ost1""Ost2""Chee""Rata""Tik""Syre""Dzwo""SciF""Robt""Chrp""Tada""Crck""Alrm", "Beep1 ""Beep2 ""Beep3 ""Ostrz1""Ostrz1""Cheep ""Ratata""Tick ""Syrena""Dzwone""SciFi ""Robot ""Chirp ""Tada ""Krytcz""AlmZeg") +#define TR_FUNCSOUNDS TR("Bp1\0""Bp2\0""Bp3\0""Ost1""Ost2""Chee""Rata""Tik\0""Syre""Dzwo""SciF""Robt""Chrp""Tada""Crck""Alrm", "Beep1\0""Beep2\0""Beep3\0""Ostrz1""Ostrz1""Cheep\0""Ratata""Tick\0 ""Syrena""Dzwone""SciFi\0""Robot\0""Chirp\0""Tada\0 ""Krytcz""AlmZeg") #define LEN_VTELEMCHNS "\004" #if defined(PCBTARANIS) @@ -244,7 +244,7 @@ #define TR_RSSI_0 "Tx\0 " #define TR_RSSI_1 "Rx\0 " #endif -#define TR_VTELEMCHNS "---\0""Bat\0""Tmr1""Tmr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Wys\0""Rpm\0""Pali""T1\0 ""T2\0 ""Spd\0""Dyst""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Moc ""AccX""AccY""AccZ""Hdg\0""VSpd""A1-\0""A2-\0""Wys-""Wys+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cur+""Moc+""Acc\0""Time" +#define TR_VTELEMCHNS "---\0""Bat\0""Tmr1""Tmr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Wys\0""Rpm\0""Pali""T1\0 ""T2\0 ""Spd\0""Dyst""GAlt""Cell""Cels""Vfas""Curr""Cnsp""Moc\0""AccX""AccY""AccZ""Hdg\0""VSpd""A1-\0""A2-\0""Wys-""Wys+""Rpm+""T1+\0""T2+\0""Spd+""Dst+""Cur+""Moc+""Acc\0""Time" #if defined(CPUARM) #define LEN_VUNITSSYSTEM TR("\006", "\012") @@ -617,7 +617,7 @@ #define TR_COPY_FILE "Kopiuj" #define TR_RENAME_FILE "Zmień nazwę" #define TR_ASSIGN_BITMAP "Wybierz obrazek" -#define TR_REMOVED "Skasowane" +#define TR_REMOVED " skasowane" #define TR_SD_INFO "Informacje" #define TR_SD_FORMAT "Formatuj" #define TR_NA "[X]" @@ -635,7 +635,7 @@ #define TR_GLOBAL_VARS "Zmienne globalne" #define TR_GLOBAL_VAR "Zmienna globalna" #define TR_MENUGLOBALVARS "ZMIENNE GLOBALNE" -#define TR_OWN "Własność " +#define TR_OWN "Własność" #define TR_DATE "Data" #define TR_ROTARY_ENCODER "R.Encs" #define TR_CHANNELS_MONITOR "MONITOR KANAŁÓW" From ce2b033ccbcaacaa49905cc3f1f4b5345ef22a8f Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Fri, 31 Jan 2014 09:34:53 +0100 Subject: [PATCH 22/61] Issue #469 fixed (Telemetry tab in Companion rewritten - 20% code removed). More tests needed! --- companion/src/comparedialog.cpp | 5 +- companion/src/eeprominterface.cpp | 17 +- companion/src/eeprominterface.h | 14 +- .../src/firmwares/opentx/opentxinterface.cpp | 22 +- companion/src/modeledit/CMakeLists.txt | 1 + companion/src/modeledit/telemetry.cpp | 703 ++++------ companion/src/modeledit/telemetry.h | 38 +- companion/src/modeledit/telemetry.ui | 1247 +---------------- .../src/modeledit/telemetry_customscreen.ui | 138 ++ companion/src/printdialog.cpp | 3 +- 10 files changed, 479 insertions(+), 1709 deletions(-) create mode 100644 companion/src/modeledit/telemetry_customscreen.ui diff --git a/companion/src/comparedialog.cpp b/companion/src/comparedialog.cpp index 4265d50ab..6b1609c0e 100644 --- a/companion/src/comparedialog.cpp +++ b/companion/src/comparedialog.cpp @@ -1260,6 +1260,7 @@ void compareDialog::printFrSky() color=getColor1(fd1->rssiAlarms[1].value,fd2->rssiAlarms[1].value); str.append(""+QString::number(fd1->rssiAlarms[1].value,10)+""); str.append(""); +#if 0 if (GetEepromInterface()->getCapability(TelemetryBars) || GetEepromInterface()->getCapability(TelemetryCSFields)) { int cols=GetEepromInterface()->getCapability(TelemetryColsCSFields); if (cols==0) cols=2; @@ -1315,6 +1316,7 @@ void compareDialog::printFrSky() } } } +#endif str.append(""); str.append(""); @@ -1377,7 +1379,7 @@ void compareDialog::printFrSky() color=getColor2(fd1->rssiAlarms[1].value,fd2->rssiAlarms[1].value); str.append(""); str.append("
"+QString::number(fd2->rssiAlarms[1].value,10)+"

"); - +#if 0 if (GetEepromInterface()->getCapability(TelemetryBars) || GetEepromInterface()->getCapability(TelemetryCSFields)) { int cols=GetEepromInterface()->getCapability(TelemetryColsCSFields); if (cols==0) cols=2; @@ -1433,6 +1435,7 @@ void compareDialog::printFrSky() } } } +#endif str.append(""); te->append(str); } diff --git a/companion/src/eeprominterface.cpp b/companion/src/eeprominterface.cpp index d0d639d8b..cf7686bea 100644 --- a/companion/src/eeprominterface.cpp +++ b/companion/src/eeprominterface.cpp @@ -67,18 +67,15 @@ RawSourceRange RawSource::getRange(bool singleprec) case TELEMETRY_SOURCE_A1: case TELEMETRY_SOURCE_A2: if (model) { - if (model->frsky.channels[index-TELEMETRY_SOURCE_A1].type==0) { - result.step = (model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio / 2550.0); - result.min = (model->frsky.channels[index-TELEMETRY_SOURCE_A1].offset * model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio) / 2550.0; - result.max = model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio - (model->frsky.channels[index-TELEMETRY_SOURCE_A1].offset * model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio) / 2550.0; + FrSkyChannelData channel = model->frsky.channels[index-TELEMETRY_SOURCE_A1]; // TODO const & + float ratio = channel.getRatio(); + if (channel.type==0 || channel.type==1 || channel.type==2) result.decimals = 2; - } - else { - result.step = (model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio / 255.0); - result.min = (model->frsky.channels[index-TELEMETRY_SOURCE_A1].offset * model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio) / 255.0; - result.max = model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio - (model->frsky.channels[index-TELEMETRY_SOURCE_A1].offset * model->frsky.channels[index-TELEMETRY_SOURCE_A1].ratio) / 255.0; + else result.decimals = 0; - } + result.step = ratio / 255; + result.min = channel.offset * result.step; + result.max = ratio + result.min; } break; case TELEMETRY_SOURCE_ALT: diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h index 6933ef46f..915387e01 100644 --- a/companion/src/eeprominterface.h +++ b/companion/src/eeprominterface.h @@ -296,7 +296,7 @@ class RawSourceRange } float getValue(int value) { - return round(float(value) * step); + return min + float(value) * step; } int decimals; @@ -737,6 +737,14 @@ class FrSkyChannelData { unsigned int multiplier; FrSkyAlarmData alarms[2]; + float getRatio() + { + if (type==0 || type==1 || type==2) + return float(ratio << multiplier) / 10.0; + else + return ratio << multiplier; + } + void clear() { memset(this, 0, sizeof(FrSkyChannelData)); } }; @@ -1007,8 +1015,8 @@ enum Capability { GvarsHaveSources, GvarsName, NoTelemetryProtocol, - TelemetryCSFields, - TelemetryColsCSFields, + TelemetryCustomScreens, + TelemetryCustomScreensFieldsPerLine, TelemetryRSSIModel, TelemetryAlarm, TelemetryInternalAlarm, diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index 392a062b4..178dcf5a1 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -610,24 +610,12 @@ int Open9xInterface::getCapability(const Capability capability) return TM_HASTELEMETRY|TM_HASOFFSET|TM_HASWSHH; case TelemetryBars: return 1; - case TelemetryCSFields: - if (IS_TARANIS(board)) { - return 36; - } else { - return IS_ARM(board) ? 24 : 16; - } - case TelemetryColsCSFields: - if (IS_TARANIS(board)) { - return 3; - } else { - return 2; - } + case TelemetryCustomScreens: + return IS_TARANIS(board) ? 3 : 2; + case TelemetryCustomScreensFieldsPerLine: + return IS_TARANIS(board) ? 3 : 2; case NoTelemetryProtocol: - if (IS_TARANIS(board)) { - return 1; - } else { - return 0; - } + return IS_TARANIS(board) ? 1 : 0; case TelemetryUnits: return 0; case TelemetryBlades: diff --git a/companion/src/modeledit/CMakeLists.txt b/companion/src/modeledit/CMakeLists.txt index 28c752d64..827ecf656 100644 --- a/companion/src/modeledit/CMakeLists.txt +++ b/companion/src/modeledit/CMakeLists.txt @@ -42,6 +42,7 @@ set(modeledit_UIS setup_module.ui flightmode.ui telemetry_analog.ui + telemetry_customscreen.ui ) foreach(name ${modeledit_NAMES}) diff --git a/companion/src/modeledit/telemetry.cpp b/companion/src/modeledit/telemetry.cpp index 1f008d71b..014def777 100644 --- a/companion/src/modeledit/telemetry.cpp +++ b/companion/src/modeledit/telemetry.cpp @@ -1,6 +1,7 @@ #include "telemetry.h" #include "ui_telemetry.h" #include "ui_telemetry_analog.h" +#include "ui_telemetry_customscreen.h" #include "helpers.h" TelemetryAnalog::TelemetryAnalog(QWidget *parent, FrSkyChannelData & analog): @@ -11,15 +12,13 @@ TelemetryAnalog::TelemetryAnalog(QWidget *parent, FrSkyChannelData & analog): { ui->setupUi(this); - float ratio; + float ratio = analog.getRatio(); if (analog.type==0 || analog.type==1 || analog.type==2) { - ratio = (analog.ratio<RatioSB->setDecimals(1); ui->RatioSB->setMaximum(25.5*GetEepromInterface()->getCapability(TelemetryMaxMultiplier)); } else { - ratio = analog.ratio<RatioSB->setDecimals(0); ui->RatioSB->setMaximum(255*GetEepromInterface()->getCapability(TelemetryMaxMultiplier)); } @@ -44,69 +43,44 @@ TelemetryAnalog::TelemetryAnalog(QWidget *parent, FrSkyChannelData & analog): void TelemetryAnalog::update() { - float ratio, alarm1value, alarm2value; - if (analog.ratio==0) { - ui->alarm1ValueSB->setMinimum(0); - ui->alarm1ValueSB->setMaximum(0); - ui->alarm2ValueSB->setMinimum(0); - ui->alarm2ValueSB->setMaximum(0); - ui->CalibSB->setMinimum(0); - ui->CalibSB->setMaximum(0); - ui->CalibSB->setValue(0); - ui->alarm1ValueSB->setValue(0); - ui->alarm2ValueSB->setValue(0); - return; - } + float ratio = analog.getRatio(); + float step = ratio / 255; + float mini = (ratio * analog.offset) / 255; + float maxi = mini + ratio; - if (analog.type==0 || analog.type==1 || analog.type==2) { - ratio=(analog.ratio<alarm1ValueSB->setDecimals(2); - ui->alarm1ValueSB->setSingleStep(ratio/255.0); - ui->alarm2ValueSB->setDecimals(2); - ui->alarm2ValueSB->setSingleStep(ratio/255.0); - ui->alarm1ValueSB->setMinimum((analog.ratio*1.0*analog.offset)/2550.0); - ui->alarm1ValueSB->setMaximum(ratio+(analog.ratio*1.0*analog.offset)/2550.0); - ui->alarm2ValueSB->setMinimum((analog.offset*1.0*analog.ratio)/2550.0); - ui->alarm2ValueSB->setMaximum(ratio+(analog.offset*1.0*analog.ratio)/2550.0); - } - else { - ratio=analog.ratio<alarm1ValueSB->setDecimals(2); - ui->alarm1ValueSB->setSingleStep(ratio/255.0); - ui->alarm2ValueSB->setDecimals(2); - ui->alarm2ValueSB->setSingleStep(ratio/255.0); - ui->alarm1ValueSB->setMinimum((analog.offset*1.0*analog.ratio)/255.0); - ui->alarm1ValueSB->setMaximum(ratio+(analog.offset*1.0*analog.ratio)/255.0); - ui->alarm2ValueSB->setMinimum((analog.offset*1.0*analog.ratio)/255.0); - ui->alarm2ValueSB->setMaximum(ratio+(analog.offset*1.0*analog.ratio)/255.0); - } - ui->CalibSB->setDecimals(2); - ui->CalibSB->setMaximum((ratio*127)/255.0); - ui->CalibSB->setMinimum((-ratio*128)/255.0); - ui->CalibSB->setSingleStep(ratio/255.0); - ui->CalibSB->setValue((analog.offset*ratio)/255); - alarm1value=ratio*(analog.alarms[0].value/255.0+analog.offset/255.0); - alarm2value=ratio*(analog.alarms[1].value/255.0+analog.offset/255.0);; - ui->alarm1ValueSB->setValue(alarm1value); - ui->alarm2ValueSB->setValue(alarm2value); + ui->alarm1ValueSB->setDecimals(2); + ui->alarm1ValueSB->setSingleStep(step); + ui->alarm1ValueSB->setMinimum(mini); + ui->alarm1ValueSB->setMaximum(maxi); + ui->alarm1ValueSB->setValue(mini + step*analog.alarms[0].value); + + ui->alarm2ValueSB->setDecimals(2); + ui->alarm2ValueSB->setSingleStep(step); + ui->alarm2ValueSB->setMinimum(mini); + ui->alarm2ValueSB->setMaximum(maxi); + ui->alarm2ValueSB->setValue(mini + step*analog.alarms[1].value); + + ui->CalibSB->setDecimals(2); + ui->CalibSB->setMaximum(step*127); + ui->CalibSB->setMinimum(-step*128); + ui->CalibSB->setSingleStep(step); + ui->CalibSB->setValue(mini); } void TelemetryAnalog::on_UnitCB_currentIndexChanged(int index) { - float ratio; - analog.type=index; + float ratio = analog.getRatio(); + analog.type = index; switch (index) { case 0: case 1: case 2: ui->RatioSB->setDecimals(1); ui->RatioSB->setMaximum(25.5*GetEepromInterface()->getCapability(TelemetryMaxMultiplier)); - ratio=(analog.ratio<RatioSB->setDecimals(0); ui->RatioSB->setMaximum(255*GetEepromInterface()->getCapability(TelemetryMaxMultiplier)); - ratio=(analog.ratio<RatioSB->setValue(ratio); @@ -127,7 +101,7 @@ void TelemetryAnalog::on_RatioSB_valueChanged() } else { analog.multiplier = findmult(ui->RatioSB->value(), 255); - float singlestep =(1<RatioSB->setSingleStep(singlestep); ui->RatioSB->setValue(round(ui->RatioSB->value()/singlestep)*singlestep); @@ -139,15 +113,17 @@ void TelemetryAnalog::on_RatioSB_valueChanged() void TelemetryAnalog::on_RatioSB_editingFinished() { + if (!lock) { float ratio, calib, alarm1value,alarm2value; - if (lock) return; + if (analog.type==0 || analog.type==1 || analog.type==2) { analog.multiplier = findmult(ui->RatioSB->value(), 25.5); ui->CalibSB->setSingleStep((1<alarm1ValueSB->setSingleStep((1<alarm2ValueSB->setSingleStep((1<RatioSB->value()*10))/(1 <RatioSB->value(), 255); ui->CalibSB->setSingleStep(1<alarm1ValueSB->setSingleStep(1<0) { if (calib>((ratio*127)/255)) { analog.offset=127; - } else { + } + else { analog.offset=round(calib*255/ratio); } } @@ -185,18 +162,15 @@ void TelemetryAnalog::on_RatioSB_editingFinished() analog.alarms[0].value=round((alarm1value*255-analog.offset*(analog.ratio<CalibSB->value()/ratio)); calib=ratio*analog.offset/255.0; @@ -204,7 +178,8 @@ void TelemetryAnalog::on_CalibSB_editingFinished() alarm2value=ui->alarm2ValueSB->value(); if (alarm1value(ratio+calib)) { + } + else if (alarm1value>(ratio+calib)) { alarm1value=ratio+calib; } if (alarm2valuealarm1ValueSB->value(); - if (analog.type==0) { - ratio/=10; - } + if (alarm1value<((calib*ratio)/255)) { analog.alarms[0].value=0; - } else if (alarm1value>(ratio+(calib*ratio)/255)) { + } + else if (alarm1value>(ratio+(calib*ratio)/255)) { analog.alarms[0].value=255; - } else { + } + else { analog.alarms[0].value = round((alarm1value-((calib*ratio)/255))/ratio*255); } update(); @@ -259,28 +234,26 @@ void TelemetryAnalog::on_alarm1ValueSB_editingFinished() void TelemetryAnalog::on_alarm2LevelCB_currentIndexChanged(int index) { - analog.alarms[1].level = index; - emit modified(); + analog.alarms[1].level = index; + emit modified(); } void TelemetryAnalog::on_alarm2GreaterCB_currentIndexChanged(int index) { - analog.alarms[1].greater = index; - emit modified(); + analog.alarms[1].greater = index; + emit modified(); } void TelemetryAnalog::on_alarm2ValueSB_editingFinished() { - float ratio, calib, alarm2value; - ratio = analog.ratio<alarm2ValueSB->value(); - if (analog.type==0) { - ratio/=10; - } if (alarm2value<((calib*ratio)/255)) { analog.alarms[1].value=0; - } else if (alarm2value>(ratio+(calib*ratio)/255)) { + } + else if (alarm2value>(ratio+(calib*ratio)/255)) { analog.alarms[1].value=255; } else { analog.alarms[1].value = round((alarm2value-((calib*ratio)/255))/ratio*255); @@ -296,41 +269,182 @@ TelemetryAnalog::~TelemetryAnalog() /******************************************************/ +TelemetryCustomScreen::TelemetryCustomScreen(QWidget *parent, ModelData & model, FrSkyScreenData & screen): + ModelPanel(parent, model), + ui(new Ui::TelemetryCustomScreen), + screen(screen) +{ + ui->setupUi(this); + + for (int l=0; l<4; l++) { + for (int c=0; cgetCapability(TelemetryCustomScreensFieldsPerLine); c++) { + fieldsCB[l][c] = new QComboBox(this); + fieldsCB[l][c]->setProperty("index", c + (l<<8)); + populateCustomScreenFieldCB(fieldsCB[l][c], screen.body.lines[l].source[c], (l<4), model.frsky.usrProto); + ui->screenNumsLayout->addWidget(fieldsCB[l][c], l, c, 1, 1); + connect(fieldsCB[l][c], SIGNAL(currentIndexChanged(int)), this, SLOT(customFieldChanged(int))); + } + } + + for (int l=0; l<4; l++) { + barsCB[l] = new QComboBox(this); + barsCB[l]->setProperty("index", l); + populateCustomScreenFieldCB(barsCB[l], screen.body.bars[l].source, false, model.frsky.usrProto); + connect(barsCB[l], SIGNAL(currentIndexChanged(int)), this, SLOT(barSourceChanged(int))); + ui->screenBarsLayout->addWidget(barsCB[l], l, 0, 1, 1); + + minSB[l] = new QDoubleSpinBox(this); + minSB[l]->setProperty("index", l); + connect(minSB[l], SIGNAL(valueChanged(double)), this, SLOT(barMinChanged(double))); + ui->screenBarsLayout->addWidget(minSB[l], l, 1, 1, 1); + + QLabel * label = new QLabel(this); + label->setAutoFillBackground(false); + label->setStyleSheet(QString::fromUtf8("Background:qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 128, 255), stop:0.339795 rgba(0, 0, 128, 255), stop:0.339799 rgba(255, 255, 255, 255), stop:0.662444 rgba(255, 255, 255, 255),)\n""")); + label->setFrameShape(QFrame::Panel); + label->setFrameShadow(QFrame::Raised); + label->setAlignment(Qt::AlignCenter); + ui->screenBarsLayout->addWidget(label, l, 2, 1, 1); + + maxSB[l] = new QDoubleSpinBox(this); + maxSB[l]->setProperty("index", l); + connect(maxSB[l], SIGNAL(valueChanged(double)), this, SLOT(barMaxChanged(double))); + ui->screenBarsLayout->addWidget(maxSB[l], l, 3, 1, 1); + } + + update(); +} + +TelemetryCustomScreen::~TelemetryCustomScreen() +{ + delete ui; +} + +void TelemetryCustomScreen::update() +{ + lock = true; + + ui->screenType->setCurrentIndex(screen.type); + ui->screenNums->setVisible(screen.type == 0); + ui->screenBars->setVisible(screen.type != 0); + + if (screen.type == 0) { + for (int l=0; l<4; l++) { + for (int c=0; cgetCapability(TelemetryCustomScreensFieldsPerLine); c++) { + fieldsCB[l][c]->setCurrentIndex(screen.body.lines[l].source[c]); + } + } + } + else { + for (int i=0; i<4; i++) { + updateBar(i); + } + } + + lock = false; +} + +void TelemetryCustomScreen::updateBar(int line) +{ + int index = screen.body.bars[line].source; + barsCB[line]->setCurrentIndex(index); + if (index) { + RawSource source = RawSource(SOURCE_TYPE_TELEMETRY, index-1, &model); + RawSourceRange range = source.getRange(true); + int max = round((range.max - range.min) / range.step); + if (255-screen.body.bars[line].barMax > max) + screen.body.bars[line].barMax = 255 - max; + minSB[line]->setEnabled(true); + minSB[line]->setDecimals(range.decimals); + minSB[line]->setMinimum(range.min); + minSB[line]->setMaximum(range.max); + minSB[line]->setSingleStep(range.step); + minSB[line]->setValue(range.getValue(screen.body.bars[line].barMin)); + maxSB[line]->setEnabled(true); + maxSB[line]->setDecimals(range.decimals); + maxSB[line]->setMinimum(range.min); + maxSB[line]->setMaximum(range.max); + maxSB[line]->setSingleStep(range.step); + maxSB[line]->setValue(range.getValue(255 - screen.body.bars[line].barMax)); + } + else { + minSB[line]->setDisabled(true); + maxSB[line]->setDisabled(true); + } +} + +void TelemetryCustomScreen::on_screenType_currentIndexChanged(int index) +{ + if (!lock) { + memset(&screen.body, 0, sizeof(screen.body)); + screen.type = index; + update(); + emit modified(); + } +} + +void TelemetryCustomScreen::customFieldChanged(int value) +{ + int index = sender()->property("index").toInt(); + screen.body.lines[index/256].source[index%256] = value; + emit modified(); +} + +void TelemetryCustomScreen::barSourceChanged(int index) +{ + QComboBox * cb = qobject_cast(sender()); + int line = cb->property("index").toInt(); + screen.body.bars[line].source = index; + screen.body.bars[line].barMin = 0; + screen.body.bars[line].barMax = 0; + updateBar(line); + emit modified(); +} + +void TelemetryCustomScreen::barMinChanged(double value) +{ + if (!lock) { + int line = sender()->property("index").toInt(); + screen.body.bars[line].barMin = round((value-minSB[line]->minimum()) / minSB[line]->singleStep()); + // TODO set min (maxSB) + emit modified(); + } +} + +void TelemetryCustomScreen::barMaxChanged(double value) +{ + if (!lock) { + int line = sender()->property("index").toInt(); + screen.body.bars[line].barMax = 255 - round((value-minSB[line]->minimum()) / maxSB[line]->singleStep()); + // TODO set max (minSB) + emit modified(); + } +} + +/******************************************************/ + TelemetryPanel::TelemetryPanel(QWidget *parent, ModelData & model): ModelPanel(parent, model), ui(new Ui::Telemetry) { ui->setupUi(this); + if (GetEepromInterface()->getCapability(NoTelemetryProtocol)) { + model.frsky.usrProto = 1; + } + analogs[0] = new TelemetryAnalog(this, model.frsky.channels[0]); ui->A1Layout->addWidget(analogs[0]); connect(analogs[0], SIGNAL(modified()), this, SLOT(onAnalogModified())); + analogs[1] = new TelemetryAnalog(this, model.frsky.channels[1]); ui->A2Layout->addWidget(analogs[1]); connect(analogs[1], SIGNAL(modified()), this, SLOT(onAnalogModified())); - QGroupBox* barsgb[3] = { ui->CS1Bars, ui->CS2Bars, ui->CS3Bars }; - QGroupBox* numsgb[3] = { ui->CS1Nums, ui->CS2Nums, ui->CS3Nums }; - - QComboBox* barscb[12] = { ui->telBarCS1B1_CB, ui->telBarCS1B2_CB, ui->telBarCS1B3_CB, ui->telBarCS1B4_CB, - ui->telBarCS2B1_CB, ui->telBarCS2B2_CB, ui->telBarCS2B3_CB, ui->telBarCS2B4_CB, - ui->telBarCS3B1_CB, ui->telBarCS3B2_CB, ui->telBarCS3B3_CB, ui->telBarCS3B4_CB}; - QDoubleSpinBox* minSB[12] = { ui->telMinCS1SB1, ui->telMinCS1SB2, ui->telMinCS1SB3, ui->telMinCS1SB4, - ui->telMinCS2SB1, ui->telMinCS2SB2, ui->telMinCS2SB3, ui->telMinCS2SB4, - ui->telMinCS3SB1, ui->telMinCS3SB2, ui->telMinCS3SB3, ui->telMinCS3SB4}; - QDoubleSpinBox* maxSB[12] = { ui->telMaxCS1SB1, ui->telMaxCS1SB2, ui->telMaxCS1SB3, ui->telMaxCS1SB4, - ui->telMaxCS2SB1, ui->telMaxCS2SB2, ui->telMaxCS2SB3, ui->telMaxCS2SB4, - ui->telMaxCS3SB1, ui->telMaxCS3SB2, ui->telMaxCS3SB3, ui->telMaxCS3SB4}; - QComboBox* tmp[36] = { ui->telemetryCS1F1_CB, ui->telemetryCS1F2_CB, ui->telemetryCS1F3_CB, ui->telemetryCS1F4_CB, ui->telemetryCS1F5_CB, ui->telemetryCS1F6_CB, ui->telemetryCS1F7_CB, ui->telemetryCS1F8_CB, ui->telemetryCS1F9_CB, ui->telemetryCS1F10_CB, ui->telemetryCS1F11_CB, ui->telemetryCS1F12_CB, - ui->telemetryCS2F1_CB, ui->telemetryCS2F2_CB, ui->telemetryCS2F3_CB, ui->telemetryCS2F4_CB, ui->telemetryCS2F5_CB, ui->telemetryCS2F6_CB, ui->telemetryCS2F7_CB, ui->telemetryCS2F8_CB, ui->telemetryCS2F9_CB, ui->telemetryCS2F10_CB, ui->telemetryCS2F11_CB, ui->telemetryCS2F12_CB, - ui->telemetryCS3F1_CB, ui->telemetryCS3F2_CB, ui->telemetryCS3F3_CB, ui->telemetryCS3F4_CB, ui->telemetryCS3F5_CB, ui->telemetryCS3F6_CB, ui->telemetryCS3F7_CB, ui->telemetryCS3F8_CB, ui->telemetryCS3F9_CB, ui->telemetryCS3F10_CB, ui->telemetryCS3F11_CB, ui->telemetryCS3F12_CB}; - - memcpy(barsGB, barsgb, sizeof(barsGB)); - memcpy(numsGB, numsgb, sizeof(numsGB)); - memcpy(barsCB, barscb, sizeof(barsCB)); - memcpy(this->maxSB, maxSB, sizeof(this->maxSB)); - memcpy(this->minSB, minSB, sizeof(this->minSB)); - memcpy(csf, tmp, sizeof(csf)); + for (int i=0; igetCapability(TelemetryCustomScreens); i++) { + TelemetryCustomScreen * tab = new TelemetryCustomScreen(this, model, model.frsky.screens[i]); + ui->customScreens->addTab(tab, tr("Telemetry screen %1").arg(i+1)); + } setup(); } @@ -346,19 +460,6 @@ void TelemetryPanel::setup() QString firmware_id = settings.value("firmware", default_firmware_variant.id).toString(); lock=true; - ui->telemetryCSType1->setCurrentIndex(model.frsky.screens[0].type); - ui->telemetryCSType2->setCurrentIndex(model.frsky.screens[1].type); - ui->telemetryCSType3->setCurrentIndex(model.frsky.screens[2].type); - - for (int i=0; i<3; i++) { - bool isNum = (model.frsky.screens[i].type==0); - barsGB[i]->setVisible(!isNum); - numsGB[i]->setVisible(isNum); - } - - connect(ui->telemetryCSType1,SIGNAL(currentIndexChanged(int)),this,SLOT(ScreenTypeCBcurrentIndexChanged(int))); - connect(ui->telemetryCSType2,SIGNAL(currentIndexChanged(int)),this,SLOT(ScreenTypeCBcurrentIndexChanged(int))); - connect(ui->telemetryCSType3,SIGNAL(currentIndexChanged(int)),this,SLOT(ScreenTypeCBcurrentIndexChanged(int))); //frsky Settings if (!GetEepromInterface()->getCapability(TelemetryRSSIModel) ) { @@ -397,7 +498,8 @@ void TelemetryPanel::setup() ui->VarioLabel_4->hide(); ui->varioSourceCB->hide(); ui->varioSource_label->hide(); - } else { + } + else { if (!GetEepromInterface()->getCapability(HasVarioSink)) { ui->varioLimitMinOff_ChkB->hide(); ui->varioLimitMin_DSB->hide(); @@ -431,44 +533,12 @@ void TelemetryPanel::setup() if (!(GetEepromInterface()->getCapability(HasAltitudeSel)||GetEepromInterface()->getCapability(HasVario))) { ui->altimetryGB->hide(); } - if (GetEepromInterface()->getCapability(NoTelemetryProtocol)) { - model.frsky.usrProto=1; - ui->frskyProtoCB->setDisabled(true); - } else { - ui->frskyProtoCB->setEnabled(true); - } - if (GetEepromInterface()->getCapability(TelemetryCSFields)==0) { - ui->groupBox_5->hide(); - } else { - if (GetEepromInterface()->getCapability(TelemetryCSFields)==8) { - ui->tabCsView->removeTab(1); - ui->tabCsView->removeTab(2); - } - if (GetEepromInterface()->getCapability(TelemetryCSFields)==16) { - ui->tabCsView->removeTab(2); - } - int cols=GetEepromInterface()->getCapability(TelemetryColsCSFields); - if (cols==0) cols=2; - for (int screen=0; screen<(GetEepromInterface()->getCapability(TelemetryCSFields)/(4*cols)); screen++) { - for (int c=0; chide(); - } - } - } + if (GetEepromInterface()->getCapability(NoTelemetryProtocol)) { + ui->frskyProtoCB->setDisabled(true); + } + else { + ui->frskyProtoCB->setEnabled(true); } if (!GetEepromInterface()->getCapability(TelemetryUnits)) { @@ -479,9 +549,11 @@ void TelemetryPanel::setup() } ui->frskyUnitsCB->setCurrentIndex(index); } + if ((GetEepromInterface()->getCapability(Telemetry)&TM_HASWSHH)) { ui->frskyProtoCB->addItem(tr("Winged Shadow How High")); - } else { + } + else { ui->frskyProtoCB->addItem(tr("Winged Shadow How High (not supported)")); } @@ -517,40 +589,6 @@ void TelemetryPanel::setup() ui->frskyCurrentCB->setCurrentIndex(model.frsky.currentSource); ui->frskyVoltCB->setCurrentIndex(model.frsky.voltsSource); - for (int screen=0; screen<2;screen++) { - for (int rows=0; rows<4; rows++) { - for (int cols=0; cols<3; cols++) { - int index=screen*12+cols*4+rows; - populateCustomScreenFieldCB(csf[index], model.frsky.screens[screen].body.lines[rows].source[cols], (rows<4), model.frsky.usrProto); - } - } - } - - for (int j=0; j<12; j++) { - int screen = j/4; - int field = j%4; - populateCustomScreenFieldCB(barsCB[j], model.frsky.screens[screen].body.bars[field].source, false, model.frsky.usrProto); - RawSource source = RawSource(SOURCE_TYPE_TELEMETRY, model.frsky.screens[screen].body.bars[field].source, &model); - RawSourceRange range = source.getRange(true); - minSB[j]->setDecimals(range.decimals); - minSB[j]->setMinimum(range.min); - minSB[j]->setMaximum(range.max); - minSB[j]->setSingleStep(range.step); - minSB[j]->setValue(range.getValue(model.frsky.screens[screen].body.bars[field].barMin)); - maxSB[j]->setDecimals(range.decimals); - maxSB[j]->setMinimum(range.min); - maxSB[j]->setMaximum(range.max); - maxSB[j]->setSingleStep(range.step); - maxSB[j]->setValue(range.getValue(255 - model.frsky.screens[screen].body.bars[field].barMax)); - if (model.frsky.screens[screen].body.bars[field].source==0 || model.frsky.screens[screen].type==0) { - minSB[j]->setDisabled(true); - maxSB[j]->setDisabled(true); - } - connect(barsCB[j], SIGNAL(currentIndexChanged(int)), this, SLOT(telBarCBcurrentIndexChanged(int))); - connect(maxSB[j], SIGNAL(editingFinished()), this, SLOT(telMaxSBeditingFinished())); - connect(minSB[j], SIGNAL(editingFinished()), this, SLOT(telMinSBeditingFinished())); - } - lock=false; } @@ -585,316 +623,119 @@ void TelemetryPanel::on_frskyVoltCB_currentIndexChanged(int index) void TelemetryPanel::on_frskyProtoCB_currentIndexChanged(int index) { - if (lock) return; - int bindex[12]; - lock=true; - for (int i=0; i<12; i++) { - bindex[i]=barsCB[i]->currentIndex(); - model.frsky.usrProto=index; - populateCustomScreenFieldCB(barsCB[i], bindex[i], false, model.frsky.usrProto); - } - if (!GetEepromInterface()->getCapability(TelemetryCSFields)) { - ui->groupBox_5->hide(); - } else { - for (int screen=0; screen<2;screen++) { - for (int rows=0; rows<4; rows++) { - for (int cols=0; cols<3; cols++) { - int index=screen*12+cols*4+rows; - populateCustomScreenFieldCB(csf[index], model.frsky.screens[screen].body.lines[rows].source[cols], (rows<4), model.frsky.usrProto); - } - } - } - } - lock=false; - if (index==0) { - for (int i=0; i<12; i++) { - if (bindex[i]>2) { - barsCB[i]->setCurrentIndex(0); - } else { - barsCB[i]->setCurrentIndex(bindex[i]); - } - } - } else if (index==2) { - for (int i=0; i<12; i++) { - if (bindex[i]>3) { - barsCB[i]->setCurrentIndex(0); - } else { - barsCB[i]->setCurrentIndex(bindex[i]); - } - } - } else { - for (int i=0; i<12; i++) { - barsCB[i]->setCurrentIndex(bindex[i]); - } - } - emit modified(); + model.frsky.usrProto = index; + emit modified(); } -void TelemetryPanel::on_rssiAlarm1CB_currentIndexChanged(int index) { - if (lock) return; - model.frsky.rssiAlarms[0].level=index; - emit modified(); +void TelemetryPanel::on_rssiAlarm1CB_currentIndexChanged(int index) +{ + model.frsky.rssiAlarms[0].level = index; + emit modified(); } -void TelemetryPanel::on_rssiAlarm2CB_currentIndexChanged(int index) { - if (lock) return; - model.frsky.rssiAlarms[1].level=index; - emit modified(); +void TelemetryPanel::on_rssiAlarm2CB_currentIndexChanged(int index) +{ + model.frsky.rssiAlarms[1].level = index; + emit modified(); } void TelemetryPanel::on_rssiAlarm1SB_editingFinished() { - if (lock) return; - model.frsky.rssiAlarms[0].value=(ui->rssiAlarm1SB->value()); - emit modified(); + model.frsky.rssiAlarms[0].value = ui->rssiAlarm1SB->value(); + emit modified(); } void TelemetryPanel::on_rssiAlarm2SB_editingFinished() { - if (lock) return; - model.frsky.rssiAlarms[1].value=(ui->rssiAlarm2SB->value()); - emit modified(); + model.frsky.rssiAlarms[1].value = ui->rssiAlarm2SB->value(); + emit modified(); } void TelemetryPanel::on_AltitudeGPS_ChkB_toggled(bool checked) { - if (lock) return; - model.frsky.FrSkyGpsAlt = checked; - emit modified(); + model.frsky.FrSkyGpsAlt = checked; + emit modified(); } void TelemetryPanel::on_AltitudeToolbar_ChkB_toggled(bool checked) { - model.frsky.altitudeDisplayed = checked; - emit modified(); + model.frsky.altitudeDisplayed = checked; + emit modified(); } void TelemetryPanel::on_varioSourceCB_currentIndexChanged(int index) { - if (lock) return; - model.frsky.varioSource = index; - emit modified(); + model.frsky.varioSource = index; + emit modified(); } void TelemetryPanel::on_varioLimitMin_DSB_editingFinished() { - if (lock) return; - model.frsky.varioMin= round(ui->varioLimitMin_DSB->value()+10); - emit modified(); + model.frsky.varioMin = round(ui->varioLimitMin_DSB->value()+10); + emit modified(); } void TelemetryPanel::on_varioLimitMax_DSB_editingFinished() { - if (lock) return; - model.frsky.varioMax= round(ui->varioLimitMax_DSB->value()-10); - emit modified(); + model.frsky.varioMax = round(ui->varioLimitMax_DSB->value()-10); + emit modified(); } void TelemetryPanel::on_varioLimitCenterMin_DSB_editingFinished() { - if (lock) return; + if (!lock) { if (ui->varioLimitCenterMin_DSB->value()>ui->varioLimitCenterMax_DSB->value()) { ui->varioLimitCenterMax_DSB->setValue(ui->varioLimitCenterMin_DSB->value()); } - model.frsky.varioCenterMin= round((ui->varioLimitCenterMin_DSB->value()+0.5)*10); + model.frsky.varioCenterMin = round((ui->varioLimitCenterMin_DSB->value()+0.5)*10); emit modified(); + } } void TelemetryPanel::on_varioLimitMinOff_ChkB_toggled(bool checked) { - if (lock) return; + if (!lock) { model.frsky.varioCenterMin = -16; if (!checked) { lock=true; ui->varioLimitCenterMin_DSB->setValue(-2.0); ui->varioLimitCenterMin_DSB->setEnabled(true); lock=false; - } else { + } + else { ui->varioLimitCenterMin_DSB->setValue(-2.0); ui->varioLimitCenterMin_DSB->setDisabled(true); } emit modified(); + } } void TelemetryPanel::on_varioLimitCenterMax_DSB_editingFinished() { - if (lock) return; + if (!lock) { if (ui->varioLimitCenterMin_DSB->value()>ui->varioLimitCenterMax_DSB->value()) { ui->varioLimitCenterMax_DSB->setValue(ui->varioLimitCenterMin_DSB->value()); } - model.frsky.varioCenterMax= round((ui->varioLimitCenterMax_DSB->value()-0.5)*10); + model.frsky.varioCenterMax = round((ui->varioLimitCenterMax_DSB->value()-0.5)*10); emit modified(); + } } void TelemetryPanel::on_fasOffset_DSB_editingFinished() { - model.frsky.fasOffset = ui->fasOffset_DSB->value()*10; - emit modified(); + model.frsky.fasOffset = ui->fasOffset_DSB->value() * 10; + emit modified(); } void TelemetryPanel::on_mahCount_SB_editingFinished() { - model.frsky.storedMah = ui->mahCount_SB->value(); - emit modified(); + model.frsky.storedMah = ui->mahCount_SB->value(); + emit modified(); } void TelemetryPanel::on_mahCount_ChkB_toggled(bool checked) { - model.frsky.mAhPersistent = checked; - ui->mahCount_SB->setDisabled(!checked); - emit modified(); + model.frsky.mAhPersistent = checked; + ui->mahCount_SB->setDisabled(!checked); + emit modified(); } - -void TelemetryPanel::telBarUpdate() -{ - int index; - lock=true; - for (int i=0; i<12; i++) { - int screen=i/4; - index=barsCB[i]->currentIndex(); - if (index==TELEMETRY_SOURCE_A1 || index==TELEMETRY_SOURCE_A1 || index==TELEMETRY_SOURCE_A1_MIN || index==TELEMETRY_SOURCE_A2_MIN) { - RawSource source = RawSource(SOURCE_TYPE_TELEMETRY, index, &model); - RawSourceRange range = source.getRange(true); - minSB[i]->setMinimum(range.min); - minSB[i]->setMaximum(range.max); - minSB[i]->setSingleStep(range.step); - maxSB[i]->setMinimum(range.min); - maxSB[i]->setMaximum(range.max); - maxSB[i]->setSingleStep(range.step); - minSB[i]->setValue(range.getValue(model.frsky.screens[screen].body.bars[i%4].barMin)); - maxSB[i]->setValue(range.getValue(255 - model.frsky.screens[screen].body.bars[i%4].barMax)); - } - } - lock=false; -} - -void TelemetryPanel::ScreenTypeCBcurrentIndexChanged(int index) -{ - if (!lock) { - lock = true; - QComboBox *comboBox = qobject_cast(sender()); - int screen = comboBox->objectName().right(1).toInt() -1; - model.frsky.screens[screen].type = index; - for (int i=0; i<3; i++) { - bool isNum = (model.frsky.screens[i].type==0); - barsGB[i]->setVisible(!isNum); - numsGB[i]->setVisible(isNum); - } - lock = false; - emit modified(); - } -} - -void TelemetryPanel::telBarCBcurrentIndexChanged(int index) -{ - if (!lock) { - lock = true; - QComboBox *comboBox = qobject_cast(sender()); - int screenId = comboBox->objectName().mid(8,1).toInt() - 1; - int barId = comboBox->objectName().mid(10,1).toInt() - 1; - int bar=barId+screenId*4; - model.frsky.screens[screenId].body.bars[barId].source=index; - if (index==0) { - model.frsky.screens[screenId].body.bars[barId].barMin=0; - model.frsky.screens[screenId].body.bars[barId].barMax=0; - minSB[bar]->setDisabled(true); - maxSB[bar]->setDisabled(true); - } - else { - minSB[bar]->setEnabled(true); - maxSB[bar]->setEnabled(true); - } - RawSource source = RawSource(SOURCE_TYPE_TELEMETRY, index-1, &model); - RawSourceRange range = source.getRange(true); - minSB[bar]->setDecimals(range.decimals); - minSB[bar]->setMinimum(range.min); - minSB[bar]->setMaximum(range.max); - minSB[bar]->setSingleStep(range.step); - maxSB[bar]->setDecimals(range.decimals); - maxSB[bar]->setMinimum(range.min); - maxSB[bar]->setMaximum(range.max); - maxSB[bar]->setSingleStep(range.step); - minSB[bar]->setValue(range.getValue(model.frsky.screens[screenId].body.bars[barId].barMin)); - maxSB[bar]->setValue(range.getValue(255 - model.frsky.screens[screenId].body.bars[barId].barMax)); - lock = false; - emit modified(); - } -} - -void TelemetryPanel::telMinSBeditingFinished() -{ - if (!lock) { - lock = true; - QDoubleSpinBox *spinBox = qobject_cast(sender()); - int screenId = spinBox->objectName().mid(8,1).toInt() - 1; - int barId = spinBox->objectName().right(1).toInt() - 1; - int minId = barId+screenId*4; - RawSource source = RawSource(SOURCE_TYPE_TELEMETRY, model.frsky.screens[screenId].body.bars[barId].source, &model); - RawSourceRange range = source.getRange(true); - if (model.frsky.screens[screenId].body.bars[barId].source==TELEMETRY_SOURCE_A1 || model.frsky.screens[screenId].body.bars[barId].source==TELEMETRY_SOURCE_A1_MIN) { - model.frsky.screens[screenId].body.bars[barId].barMin = round((minSB[minId]->value()-analogs[0]->ui->CalibSB->value())/range.step); - } - else if (model.frsky.screens[screenId].body.bars[minId].source==TELEMETRY_SOURCE_A2 || model.frsky.screens[screenId].body.bars[minId].source==TELEMETRY_SOURCE_A2_MIN) { - model.frsky.screens[screenId].body.bars[barId].barMin = round((minSB[minId]->value()-analogs[1]->ui->CalibSB->value())/range.step); - } - else { - model.frsky.screens[screenId].body.bars[barId].barMin = round((minSB[minId]->value()-range.getValue(0))/range.step); - } - spinBox->setValue(range.getValue(model.frsky.screens[screenId].body.bars[barId].barMin)); - if (maxSB[minId]->value()value()) { - model.frsky.screens[screenId].body.bars[minId].barMax = (255-model.frsky.screens[screenId].body.bars[barId].barMin+1); - maxSB[minId]->setValue(range.getValue(255 - model.frsky.screens[screenId].body.bars[barId].barMax)); - } - maxSB[minId]->setMinimum(range.getValue((model.frsky.screens[screenId].body.bars[barId].barMin+1))); - - lock = false; - emit modified(); - } -} - -void TelemetryPanel::telMaxSBeditingFinished() -{ - if (!lock) { - QDoubleSpinBox *spinBox = qobject_cast(sender()); - int screenId = spinBox->objectName().mid(8,1).toInt() - 1; - int barId = spinBox->objectName().right(1).toInt() - 1; - lock = true; - RawSource source = RawSource(SOURCE_TYPE_TELEMETRY, model.frsky.screens[screenId].body.bars[barId].source, &model); - RawSourceRange range = source.getRange(true); - if (model.frsky.screens[screenId].body.bars[barId].source==5) { - model.frsky.screens[screenId].body.bars[barId].barMax = (255-round((spinBox->value()-analogs[0]->ui->CalibSB->value())/range.step)); - } - else if (model.frsky.screens[screenId].body.bars[barId].source==6) { - model.frsky.screens[screenId].body.bars[barId].barMax = (255-round((spinBox->value()-analogs[1]->ui->CalibSB->value())/range.step)); - } - else { - model.frsky.screens[screenId].body.bars[barId].barMax = (255-round((spinBox->value()-range.getValue(0))/range.step)); - } - spinBox->setValue(range.getValue(255-model.frsky.screens[screenId].body.bars[barId].barMax)); - lock = false; - emit modified(); - } -} - -void TelemetryPanel::customFieldEdited() -{ - if (!lock) { - lock = true; - - int cols = GetEepromInterface()->getCapability(TelemetryColsCSFields); - if (cols==0) cols=2; - - for (int i=0; igetCapability(TelemetryCSFields); i++) { - int screen=i/(4*cols); - int r=((i%(4*cols))%4); - int c=((i%(4*cols))/4); - if (model.frsky.screens[screen].type==0) { - model.frsky.screens[screen].body.lines[r].source[c]=csf[i]->currentIndex(); - } - } - - lock = false; - emit modified(); - } -} - diff --git a/companion/src/modeledit/telemetry.h b/companion/src/modeledit/telemetry.h index f8dc1c35e..44233f79c 100644 --- a/companion/src/modeledit/telemetry.h +++ b/companion/src/modeledit/telemetry.h @@ -8,6 +8,7 @@ namespace Ui { class TelemetryAnalog; + class TelemetryCustomScreen; class Telemetry; } @@ -44,6 +45,32 @@ class TelemetryAnalog : public QWidget void update(); }; +class TelemetryCustomScreen : public ModelPanel +{ + Q_OBJECT + + public: + TelemetryCustomScreen(QWidget *parent, ModelData & model, FrSkyScreenData & screen); + ~TelemetryCustomScreen(); + void update(); + + private slots: + void on_screenType_currentIndexChanged(int index); + void customFieldChanged(int index); + void barSourceChanged(int index); + void barMinChanged(double value); + void barMaxChanged(double value); + + private: + void updateBar(int line); + Ui::TelemetryCustomScreen * ui; + FrSkyScreenData & screen; + QComboBox * fieldsCB[4][3]; + QComboBox * barsCB[4]; + QDoubleSpinBox * minSB[4]; + QDoubleSpinBox * maxSB[4]; +}; + class TelemetryPanel : public ModelPanel { Q_OBJECT @@ -77,21 +104,10 @@ class TelemetryPanel : public ModelPanel void on_fasOffset_DSB_editingFinished(); void on_mahCount_SB_editingFinished(); void on_mahCount_ChkB_toggled(bool checked); - void telBarCBcurrentIndexChanged(int index); - void ScreenTypeCBcurrentIndexChanged(int index); - void telMaxSBeditingFinished(); - void telMinSBeditingFinished(); - void customFieldEdited(); private: Ui::Telemetry *ui; TelemetryAnalog * analogs[2]; - QGroupBox* barsGB[3]; - QGroupBox* numsGB[3]; - QComboBox* barsCB[12]; - QDoubleSpinBox* minSB[12]; - QDoubleSpinBox* maxSB[12]; - QComboBox* csf[36]; void setup(); void telBarUpdate(); diff --git a/companion/src/modeledit/telemetry.ui b/companion/src/modeledit/telemetry.ui index bb6bae9c9..6a3a6d618 100644 --- a/companion/src/modeledit/telemetry.ui +++ b/companion/src/modeledit/telemetry.ui @@ -7,7 +7,7 @@ 0 0 692 - 568 + 457 @@ -871,1240 +871,17 @@ - - - - - - 0 - 0 - - - - - - - - 1 - - - 1 - - - - - - 0 - 0 - - - - 0 - - - - Telemetry screen 1 - - - - - - - - - 0 - 0 - - - - - 0 - 0 - - - - Custom Screen Type - - - - - - - - 0 - 0 - - - - - 90 - 0 - - - - - Nums - - - - - Bars - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - - - - - - Source - - - Qt::AlignCenter - - - - - - - Min - - - Qt::AlignCenter - - - - - - - Gauge - - - Qt::AlignCenter - - - - - - - Max - - - Qt::AlignCenter - - - - - - - - - - 0 - - - - - - - false - - - Background:qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 128, 255), stop:0.339795 rgba(0, 0, 128, 255), stop:0.339799 rgba(255, 255, 255, 255), stop:0.662444 rgba(255, 255, 255, 255),) - - - - QFrame::Panel - - - QFrame::Raised - - - Gauge 1 - - - Qt::AlignCenter - - - - - - - 0 - - - - - - - - - - 0 - - - - - - - false - - - Background:qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 128, 255), stop:0.339795 rgba(0, 0, 128, 255), stop:0.339799 rgba(255, 255, 255, 255), stop:0.662444 rgba(255, 255, 255, 255),) - - - - QFrame::Panel - - - QFrame::Raised - - - Gauge 2 - - - Qt::AlignCenter - - - - - - - 0 - - - - - - - - - - 0 - - - - - - - false - - - Background:qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 128, 255), stop:0.339795 rgba(0, 0, 128, 255), stop:0.339799 rgba(255, 255, 255, 255), stop:0.662444 rgba(255, 255, 255, 255),) - - - - QFrame::Panel - - - QFrame::Raised - - - Gauge 3 - - - Qt::AlignCenter - - - - - - - 0 - - - - - - - - - - 0 - - - - - - - false - - - Background:qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 128, 255), stop:0.339795 rgba(0, 0, 128, 255), stop:0.339799 rgba(255, 255, 255, 255), stop:0.662444 rgba(255, 255, 255, 255),) - - - - QFrame::Panel - - - QFrame::Raised - - - Gauge 4 - - - Qt::AlignCenter - - - - - - - 0 - - - - - - - - - - - Telemetry screen 2 - - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - - - - - - Source - - - Qt::AlignCenter - - - - - - - Min - - - Qt::AlignCenter - - - - - - - Gauge - - - Qt::AlignCenter - - - - - - - Max - - - Qt::AlignCenter - - - - - - - - - - 0 - - - - - - - false - - - Background:qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 128, 255), stop:0.339795 rgba(0, 0, 128, 255), stop:0.339799 rgba(255, 255, 255, 255), stop:0.662444 rgba(255, 255, 255, 255),) - - - - QFrame::Panel - - - QFrame::Raised - - - Gauge 1 - - - Qt::AlignCenter - - - - - - - 0 - - - - - - - - - - 0 - - - - - - - false - - - Background:qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 128, 255), stop:0.339795 rgba(0, 0, 128, 255), stop:0.339799 rgba(255, 255, 255, 255), stop:0.662444 rgba(255, 255, 255, 255),) - - - - QFrame::Panel - - - QFrame::Raised - - - Gauge 2 - - - Qt::AlignCenter - - - - - - - 0 - - - - - - - - - - 0 - - - - - - - false - - - Background:qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 128, 255), stop:0.339795 rgba(0, 0, 128, 255), stop:0.339799 rgba(255, 255, 255, 255), stop:0.662444 rgba(255, 255, 255, 255),) - - - - QFrame::Panel - - - QFrame::Raised - - - Gauge 3 - - - Qt::AlignCenter - - - - - - - 0 - - - - - - - - - - 0 - - - - - - - false - - - Background:qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 128, 255), stop:0.339795 rgba(0, 0, 128, 255), stop:0.339799 rgba(255, 255, 255, 255), stop:0.662444 rgba(255, 255, 255, 255),) - - - - QFrame::Panel - - - QFrame::Raised - - - Gauge 4 - - - Qt::AlignCenter - - - - - - - 0 - - - - - - - - - - - - - 0 - 0 - - - - Custom Screen Type - - - - - - - - 0 - 0 - - - - - 90 - 0 - - - - - Nums - - - - - Bars - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - Telemetry screen 3 - - - - - - - - - 0 - 0 - - - - Custom Screen Type - - - - - - - - 0 - 0 - - - - - 90 - 0 - - - - - Nums - - - - - Bars - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - 0 - 0 - - - - - - - - - - - - - - Source - - - Qt::AlignCenter - - - - - - - Min - - - Qt::AlignCenter - - - - - - - Gauge - - - Qt::AlignCenter - - - - - - - Max - - - Qt::AlignCenter - - - - - - - - 0 - 0 - - - - - - - - 0 - - - - - - - false - - - Background:qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 128, 255), stop:0.339795 rgba(0, 0, 128, 255), stop:0.339799 rgba(255, 255, 255, 255), stop:0.662444 rgba(255, 255, 255, 255),) - - - - QFrame::Panel - - - QFrame::Raised - - - Gauge 1 - - - Qt::AlignCenter - - - - - - - 0 - - - - - - - - - - 0 - - - - - - - false - - - Background:qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 128, 255), stop:0.339795 rgba(0, 0, 128, 255), stop:0.339799 rgba(255, 255, 255, 255), stop:0.662444 rgba(255, 255, 255, 255),) - - - - QFrame::Panel - - - QFrame::Raised - - - Gauge 2 - - - Qt::AlignCenter - - - - - - - 0 - - - - - - - - - - 0 - - - - - - - false - - - Background:qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 128, 255), stop:0.339795 rgba(0, 0, 128, 255), stop:0.339799 rgba(255, 255, 255, 255), stop:0.662444 rgba(255, 255, 255, 255),) - - - - QFrame::Panel - - - QFrame::Raised - - - Gauge 3 - - - Qt::AlignCenter - - - - - - - 0 - - - - - - - - - - 0 - - - - - - - false - - - Background:qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(0, 0, 128, 255), stop:0.339795 rgba(0, 0, 128, 255), stop:0.339799 rgba(255, 255, 255, 255), stop:0.662444 rgba(255, 255, 255, 255),) - - - - QFrame::Panel - - - QFrame::Raised - - - Gauge 4 - - - Qt::AlignCenter - - - - - - - 0 - - - - - - - - - - - - - - + + + + 0 + 0 + + + + -1 + + diff --git a/companion/src/modeledit/telemetry_customscreen.ui b/companion/src/modeledit/telemetry_customscreen.ui new file mode 100644 index 000000000..b01417450 --- /dev/null +++ b/companion/src/modeledit/telemetry_customscreen.ui @@ -0,0 +1,138 @@ + + + TelemetryCustomScreen + + + + 0 + 0 + 650 + 393 + + + + Form + + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + Custom Screen Type + + + + + + + + 0 + 0 + + + + + 90 + 0 + + + + + Nums + + + + + Bars + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + + + + + + + + Min + + + Qt::AlignCenter + + + + + + + Source + + + Qt::AlignCenter + + + + + + + Gauge + + + Qt::AlignCenter + + + + + + + Max + + + Qt::AlignCenter + + + + + + + + + + + + + diff --git a/companion/src/printdialog.cpp b/companion/src/printdialog.cpp index 86f1dc775..45d149c97 100644 --- a/companion/src/printdialog.cpp +++ b/companion/src/printdialog.cpp @@ -796,7 +796,7 @@ void printDialog::printFrSky() str.append(""+tr("System of units")+""+getFrSkyMeasure(fd->imperial)+""); str.append(""+tr("Propeller blades")+""+getFrSkyBlades(fd->blades)+""); str.append(""); - +#if 0 if (GetEepromInterface()->getCapability(TelemetryBars) || (GetEepromInterface()->getCapability(TelemetryCSFields))) { int cols=GetEepromInterface()->getCapability(TelemetryColsCSFields); if (cols==0) cols=2; @@ -840,6 +840,7 @@ void printDialog::printFrSky() } } } +#endif if (tc>0) te->append(str); } From 2646307efd3a6777a99ea119a8e151b6b6ad137d Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Fri, 31 Jan 2014 10:57:44 +0100 Subject: [PATCH 23/61] Update DONATIONS.txt --- DONATIONS.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index 0f9eb76b2..1c083a4c5 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -307,3 +307,5 @@ Bradley Murchie Maximilian Süß Dean Jansa Ronald Donker +Paul Oldenkamp +Dietmar Drees From 0446658f4b36d5154d1ce526012089ea6148bf57 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Fri, 31 Jan 2014 11:58:03 +0100 Subject: [PATCH 24/61] Issue #588 - S1/S2 Type added in Hardware configuration page --- radio/src/gui/menu_general.cpp | 28 +++++++++++++++++++--------- radio/src/translations.cpp | 3 +++ radio/src/translations.h | 10 +++++++--- radio/src/translations/de.h.txt | 5 +++++ radio/src/translations/en.h | 5 +++++ radio/src/translations/es.h.txt | 7 ++++++- radio/src/translations/fr.h.txt | 7 ++++++- radio/src/translations/it.h.txt | 9 +++++++-- radio/src/translations/pt.h.txt | 5 +++++ radio/src/translations/se.h.txt | 5 +++++ 10 files changed, 68 insertions(+), 16 deletions(-) diff --git a/radio/src/gui/menu_general.cpp b/radio/src/gui/menu_general.cpp index ebf5b24b3..c5f97dae9 100644 --- a/radio/src/gui/menu_general.cpp +++ b/radio/src/gui/menu_general.cpp @@ -1168,6 +1168,8 @@ void menuGeneralDiagAna(uint8_t event) #if defined(PCBTARANIS) enum menuGeneralHwItems { + ITEM_SETUP_HW_POT1, + ITEM_SETUP_HW_POT2, ITEM_SETUP_HW_UART3_MODE, ITEM_SETUP_HW_MAX }; @@ -1181,9 +1183,22 @@ void menuGeneralHardware(uint8_t event) uint8_t sub = m_posVert - 1; for (uint8_t i=0; i0) ? BLINK|INVERS : INVERS) : 0); + uint8_t y = 1 + 1*FH + i*FH; + uint8_t attr = (sub == i ? ((s_editMode>0) ? BLINK|INVERS : INVERS) : 0); switch(i) { + case ITEM_SETUP_HW_POT1: + case ITEM_SETUP_HW_POT2: + { + int idx = i - ITEM_SETUP_HW_POT1; + uint8_t mask = (1< reusableBuffer.calib.xpotsCalib[idx].lastPosition + XPOT_DELTA) { reusableBuffer.calib.xpotsCalib[idx].lastPosition = vt; reusableBuffer.calib.xpotsCalib[idx].lastCount = 1; @@ -1333,10 +1348,6 @@ void menuCommonCalib(uint8_t event) lcd_putsAtt(0*FW, 2*FH, STR_SETMIDPOINT, s_noScroll ? INVERS : 0); lcd_putsLeft(3*FH, STR_MENUWHENDONE); -#if defined(PCBTARANIS) - g_eeGeneral.potsType = 0; -#endif - for (uint8_t i=0; i 1 && count <= POTS_POS_COUNT) { + if (IS_MULTIPOS_POT(i) && count > 1 && count <= POTS_POS_COUNT) { for (int j=0; jcount = count - 1; for (int j=0; jcount; j++) { diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index f031ba40b..de37b6ee2 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -57,6 +57,7 @@ const pm_char STR_OPEN9X[] PROGMEM = ISTR(TRNCHN) #if defined(PCBTARANIS) ISTR(UART3MODES) + ISTR(POTTYPES) #endif ISTR(VTRIMINC) ISTR(RETA123) @@ -496,6 +497,8 @@ const pm_char STR_VIEW_TEXT[] PROGMEM = "View text"; const pm_char STR_VIEW_CHANNELS[] PROGMEM = "View Channels"; const pm_char STR_VIEW_NOTES[] PROGMEM = "View Notes"; const pm_char STR_UART3MODE[] PROGMEM = TR_UART3MODE; + const pm_char STR_POT1TYPE[] PROGMEM = TR_POT1TYPE; + const pm_char STR_POT2TYPE[] PROGMEM = TR_POT2TYPE; #endif #if MENUS_LOCK == 1 diff --git a/radio/src/translations.h b/radio/src/translations.h index 0c7f7af19..794c6b342 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -100,10 +100,11 @@ extern const pm_char STR_OPEN9X[]; #endif #define OFS_TRNCHN (OFS_TRNMODE + sizeof(TR_TRNMODE)) #if defined(PCBTARANIS) -#define OFS_UART3MODES (OFS_TRNCHN + sizeof(TR_TRNCHN)) -#define OFS_VTRIMINC (OFS_UART3MODES + sizeof(TR_UART3MODES)) + #define OFS_UART3MODES (OFS_TRNCHN + sizeof(TR_TRNCHN)) + #define OFS_POTTYPES (OFS_UART3MODES + sizeof(TR_UART3MODES)) + #define OFS_VTRIMINC (OFS_POTTYPES + sizeof(TR_POTTYPES)) #else -#define OFS_VTRIMINC (OFS_TRNCHN + sizeof(TR_TRNCHN)) + #define OFS_VTRIMINC (OFS_TRNCHN + sizeof(TR_TRNCHN)) #endif #define OFS_RETA123 (OFS_VTRIMINC + sizeof(TR_VTRIMINC)) #define OFS_VPROTOS (OFS_RETA123 + sizeof(TR_RETA123)) @@ -196,6 +197,7 @@ extern const pm_char STR_OPEN9X[]; #define STR_TRNMODE (STR_OPEN9X + OFS_TRNMODE) #define STR_TRNCHN (STR_OPEN9X + OFS_TRNCHN) #define STR_UART3MODES (STR_OPEN9X + OFS_UART3MODES) +#define STR_POTTYPES (STR_OPEN9X + OFS_POTTYPES) #define STR_VTRIMINC (STR_OPEN9X + OFS_VTRIMINC) #define STR_RETA123 (STR_OPEN9X + OFS_RETA123) #define STR_VPROTOS (STR_OPEN9X + OFS_VPROTOS) @@ -683,6 +685,8 @@ extern const pm_char STR_VIEW_TEXT[]; extern const pm_char STR_VIEW_CHANNELS[]; extern const pm_char STR_VIEW_NOTES[]; extern const pm_char STR_UART3MODE[]; + extern const pm_char STR_POT1TYPE[]; + extern const pm_char STR_POT2TYPE[]; #endif #if MENUS_LOCK == 1 diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 4c719b79a..45355f3f4 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -71,6 +71,9 @@ #define LEN_UART3MODES "\017" #define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" +#define LEN_POTTYPES "\017" +#define TR_POTTYPES "Pot\0 ""Multipos Switch" + #define LEN_DATETIME "\005" #define TR_DATETIME "DATE:""ZEIT:" @@ -680,6 +683,8 @@ #define TR_PERSISTENT_MAH INDENT "Store mAh" #define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") #define TR_UART3MODE "Serial port" +#define TR_POT1TYPE "S1 Type" +#define TR_POT2TYPE "S2 Type" #if defined(MAVLINK) #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" diff --git a/radio/src/translations/en.h b/radio/src/translations/en.h index 4f0397900..1c9054538 100644 --- a/radio/src/translations/en.h +++ b/radio/src/translations/en.h @@ -71,6 +71,9 @@ #define LEN_UART3MODES "\017" #define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" +#define LEN_POTTYPES "\017" +#define TR_POTTYPES "Pot\0 ""Multipos Switch" + #define LEN_DATETIME "\005" #define TR_DATETIME "DATE:""TIME:" @@ -680,6 +683,8 @@ #define TR_PERSISTENT_MAH INDENT "Store mAh" #define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") #define TR_UART3MODE "Serial port" +#define TR_POT1TYPE "S1 Type" +#define TR_POT2TYPE "S2 Type" #if defined(MAVLINK) #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index f1f81d0f5..65108e25f 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -1,4 +1,4 @@ -/* +/* * Authors (alphabetical order) * - Bertrand Songis * - Bernet Andre @@ -71,6 +71,9 @@ #define LEN_UART3MODES "\017" #define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" +#define LEN_POTTYPES "\017" +#define TR_POTTYPES "Pot\0 ""Multipos Switch" + #define LEN_DATETIME "\005" #define TR_DATETIME "DATA:""HORA:" @@ -680,6 +683,8 @@ #define TR_PERSISTENT_MAH INDENT "Valor mAh" #define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") #define TR_UART3MODE "Serial port" +#define TR_POT1TYPE "S1 Type" +#define TR_POT2TYPE "S2 Type" #if defined(MAVLINK) #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 540aa08bd..09c7f0854 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -1,4 +1,4 @@ -/* +/* * Authors (alphabetical order) * - Bertrand Songis * - Bernet Andre @@ -71,6 +71,9 @@ #define LEN_UART3MODES "\017" #define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" +#define LEN_POTTYPES "\017" +#define TR_POTTYPES "Pot\0 ""Multipos Switch" + #define LEN_DATETIME "\005" #define TR_DATETIME "DATE:""HEURE" @@ -680,6 +683,8 @@ #define TR_PERSISTENT_MAH TR(INDENT "Enr. mAh",INDENT "Enregistrer mAh") #define TR_FAS_OFFSET TR(INDENT "Corr FAS", INDENT "Correction FAS") #define TR_UART3MODE "Port série" +#define TR_POT1TYPE "S1 Type" +#define TR_POT2TYPE "S2 Type" #if defined(MAVLINK) #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "RSSI Max" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 3f18eecf5..4326c226f 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -71,14 +71,17 @@ #define LEN_UART3MODES "\017" #define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" +#define LEN_POTTYPES "\017" +#define TR_POTTYPES "Pot\0 ""Multipos Switch" + #define LEN_DATETIME "\005" #define TR_DATETIME "DATA:""ORA :" #define LEN_VLCD "\006" #define TR_VLCD "NormalOptrex" -#define LEN_COUNTRYCODES TR("\002", "\007") -#define TR_COUNTRYCODES TR("US""JP""EU", "America""Japan\0 ""Europe\0") +#define LEN_COUNTRYCODES TR("\002", "\007") +#define TR_COUNTRYCODES TR("US""JP""EU", "America""Japan\0 ""Europe\0") #define LEN_VTRIMINC "\006" #define TR_VTRIMINC "Exp ""ExFine""Fine ""Medio ""Ampio " @@ -680,6 +683,8 @@ #define TR_PERSISTENT_MAH INDENT "Store mAh" #define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") #define TR_UART3MODE "Serial port" +#define TR_POT1TYPE "S1 Type" +#define TR_POT2TYPE "S2 Type" #if defined(MAVLINK) #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index a17f9af2f..33e9d16fe 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -71,6 +71,9 @@ #define LEN_UART3MODES "\017" #define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" +#define LEN_POTTYPES "\017" +#define TR_POTTYPES "Pot\0 ""Multipos Switch" + #define LEN_DATETIME "\005" #define TR_DATETIME "DATA:""HORA:" @@ -680,6 +683,8 @@ #define TR_PERSISTENT_MAH INDENT "Store mAh" #define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") #define TR_UART3MODE "Serial port" +#define TR_POT1TYPE "S1 Type" +#define TR_POT2TYPE "S2 Type" #if defined(MAVLINK) #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 60bc0c6b2..ad1277001 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -71,6 +71,9 @@ #define LEN_UART3MODES "\017" #define TR_UART3MODES "Av\0 ""SPORT-spegel\0 ""VirtuellSP2UART" +#define LEN_POTTYPES "\017" +#define TR_POTTYPES "Pot\0 ""Multipos Switch" + #define LEN_DATETIME "\005" #define TR_DATETIME "DAG: ""TID: " @@ -680,6 +683,8 @@ #define TR_PERSISTENT_MAH INDENT "Store mAh" #define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") #define TR_UART3MODE "Serieport" +#define TR_POT1TYPE "S1 Type" +#define TR_POT2TYPE "S2 Type" #if defined(MAVLINK) #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" From 1cef62df483f7200417f511ff7de86d8b1914b91 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Fri, 31 Jan 2014 12:32:09 +0100 Subject: [PATCH 25/61] Compilation error --- radio/src/opentx.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radio/src/opentx.h b/radio/src/opentx.h index fa4152aba..981d360bd 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -1582,8 +1582,8 @@ union ReusableBuffer uint8_t lastCount; int16_t lastPosition; } xpotsCalib[NUM_XPOTS]; - } calib; #endif + } calib; #if defined(SDCARD) struct From 8ef1456fe90e558f1f1ca1b9234773b8dd5470c0 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Fri, 31 Jan 2014 17:19:21 +0100 Subject: [PATCH 26/61] EEPROM support in Companion for the 6pos pots on Taranis --- companion/src/eeprominterface.cpp | 48 +++++++++++-------- companion/src/eeprominterface.h | 8 +++- .../src/firmwares/opentx/opentxeeprom.cpp | 40 ++++++++++++---- .../src/firmwares/opentx/opentxinterface.cpp | 4 ++ companion/src/helpers.cpp | 11 +++++ radio/src/myeeprom.h | 4 +- 6 files changed, 82 insertions(+), 33 deletions(-) diff --git a/companion/src/eeprominterface.cpp b/companion/src/eeprominterface.cpp index cf7686bea..9b5126780 100644 --- a/companion/src/eeprominterface.cpp +++ b/companion/src/eeprominterface.cpp @@ -67,7 +67,7 @@ RawSourceRange RawSource::getRange(bool singleprec) case TELEMETRY_SOURCE_A1: case TELEMETRY_SOURCE_A2: if (model) { - FrSkyChannelData channel = model->frsky.channels[index-TELEMETRY_SOURCE_A1]; // TODO const & + const FrSkyChannelData & channel = model->frsky.channels[index-TELEMETRY_SOURCE_A1]; float ratio = channel.getRatio(); if (channel.type==0 || channel.type==1 || channel.type==2) result.decimals = 2; @@ -239,26 +239,34 @@ QString SwitchDn(const char sw) QString RawSwitch::toString() { - static const QString switches9X[] = { QObject::tr("THR"), QObject::tr("RUD"), QObject::tr("ELE"), - QObject::tr("ID0"), QObject::tr("ID1"), QObject::tr("ID2"), - QObject::tr("AIL"), QObject::tr("GEA"), QObject::tr("TRN") - }; + static const QString switches9X[] = { + QString("THR"), QString("RUD"), QString("ELE"), + QString("ID0"), QString("ID1"), QString("ID2"), + QString("AIL"), QString("GEA"), QString("TRN") + }; - static const QString switchesX9D[] = { SwitchUp('A'), QString::fromUtf8("SA-"), SwitchDn('A'), - SwitchUp('B'), QString::fromUtf8("SB-"), SwitchDn('B'), - SwitchUp('C'), QString::fromUtf8("SC-"), SwitchDn('C'), - SwitchUp('D'), QString::fromUtf8("SD-"), SwitchDn('D'), - SwitchUp('E'), QString::fromUtf8("SE-"), SwitchDn('E'), - SwitchUp('F'), SwitchDn('F'), - SwitchUp('G'), QString::fromUtf8("SG-"), SwitchDn('G'), - SwitchUp('H'), SwitchDn('H'), - }; + static const QString switchesX9D[] = { + SwitchUp('A'), QString::fromUtf8("SA-"), SwitchDn('A'), + SwitchUp('B'), QString::fromUtf8("SB-"), SwitchDn('B'), + SwitchUp('C'), QString::fromUtf8("SC-"), SwitchDn('C'), + SwitchUp('D'), QString::fromUtf8("SD-"), SwitchDn('D'), + SwitchUp('E'), QString::fromUtf8("SE-"), SwitchDn('E'), + SwitchUp('F'), SwitchDn('F'), + SwitchUp('G'), QString::fromUtf8("SG-"), SwitchDn('G'), + SwitchUp('H'), SwitchDn('H'), + }; - static const QString virtualSwitches[] = { QObject::tr("LS1"), QObject::tr("LS2"), QObject::tr("LS3"), QObject::tr("LS4"), QObject::tr("LS5"), QObject::tr("LS6"), QObject::tr("LS7"), QObject::tr("LS8"), QObject::tr("LS9"), QObject::tr("LSA"), - QObject::tr("LSB"), QObject::tr("LSC"), QObject::tr("LSD"), QObject::tr("LSE"), QObject::tr("LSF"), QObject::tr("LSG"), QObject::tr("LSH"), QObject::tr("LSI"), QObject::tr("LSJ"), QObject::tr("LSK"), - QObject::tr("LSL"), QObject::tr("LSM"), QObject::tr("LSN"), QObject::tr("LSO"), QObject::tr("LSP"), QObject::tr("LSQ"), QObject::tr("LSR"), QObject::tr("LSS"), QObject::tr("LST"), QObject::tr("LSU"), - QObject::tr("LSV"), QObject::tr("LSW") - }; + static const QString virtualSwitches[] = { + QObject::tr("LS1"), QObject::tr("LS2"), QObject::tr("LS3"), QObject::tr("LS4"), QObject::tr("LS5"), QObject::tr("LS6"), QObject::tr("LS7"), QObject::tr("LS8"), QObject::tr("LS9"), QObject::tr("LSA"), + QObject::tr("LSB"), QObject::tr("LSC"), QObject::tr("LSD"), QObject::tr("LSE"), QObject::tr("LSF"), QObject::tr("LSG"), QObject::tr("LSH"), QObject::tr("LSI"), QObject::tr("LSJ"), QObject::tr("LSK"), + QObject::tr("LSL"), QObject::tr("LSM"), QObject::tr("LSN"), QObject::tr("LSO"), QObject::tr("LSP"), QObject::tr("LSQ"), QObject::tr("LSR"), QObject::tr("LSS"), QObject::tr("LST"), QObject::tr("LSU"), + QObject::tr("LSV"), QObject::tr("LSW") + }; + + static const QString multiposPots[] = { + QObject::tr("S11"), QObject::tr("S12"), QObject::tr("S13"), QObject::tr("S14"), QObject::tr("S15"), QObject::tr("S16"), + QObject::tr("S21"), QObject::tr("S22"), QObject::tr("S23"), QObject::tr("S24"), QObject::tr("S25"), QObject::tr("S26") + }; switch(type) { case SWITCH_TYPE_SWITCH: @@ -268,6 +276,8 @@ QString RawSwitch::toString() return index > 0 ? CHECK_IN_ARRAY(switches9X, index-1) : QString("!") + CHECK_IN_ARRAY(switches9X, -index-1); case SWITCH_TYPE_VIRTUAL: return index > 0 ? CHECK_IN_ARRAY(virtualSwitches, index-1) : QString("!") + CHECK_IN_ARRAY(virtualSwitches, -index-1); + case SWITCH_TYPE_MULTIPOS_POT: + return CHECK_IN_ARRAY(multiposPots, index); case SWITCH_TYPE_ON: return QObject::tr("ON"); case SWITCH_TYPE_ONM: diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h index 915387e01..38b713c24 100644 --- a/companion/src/eeprominterface.h +++ b/companion/src/eeprominterface.h @@ -356,6 +356,7 @@ enum RawSwitchType { SWITCH_TYPE_NONE, SWITCH_TYPE_SWITCH, SWITCH_TYPE_VIRTUAL, + SWITCH_TYPE_MULTIPOS_POT, SWITCH_TYPE_MOMENT_SWITCH, SWITCH_TYPE_MOMENT_VIRTUAL, SWITCH_TYPE_ON, @@ -503,6 +504,7 @@ class GeneralSettings { unsigned int mavbaud; unsigned int switchUnlockStates; unsigned int hw_uartMode; + unsigned int potsType[8]; }; class CurveReference { @@ -737,7 +739,7 @@ class FrSkyChannelData { unsigned int multiplier; FrSkyAlarmData alarms[2]; - float getRatio() + float getRatio() const { if (type==0 || type==1 || type==2) return float(ratio << multiplier) / 10.0; @@ -1052,7 +1054,9 @@ enum Capability { EnhancedCurves, TelemetryInternalAlarms, HasFasOffset, - HasMahPersistent + HasMahPersistent, + MultiposPots, + MultiposPotsPositions }; enum UseContext { diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index a238d344d..0febeaf4e 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -56,21 +56,29 @@ class SwitchesConversionTable: public ConversionTable { addConversion(RawSwitch(SWITCH_TYPE_VIRTUAL, i), val++); } + if (IS_TARANIS(board) && version >= 216) { + for (int i=0; i<2; i++) { + for (int j=0; j<6; j++) { + addConversion(RawSwitch(SWITCH_TYPE_MULTIPOS_POT, i*6+j), val++); + } + } + } + addConversion(RawSwitch(SWITCH_TYPE_OFF), -val); addConversion(RawSwitch(SWITCH_TYPE_ON), val++); for (int i=1; i<=MAX_SWITCHES_POSITION(board); i++) { int s = switchIndex(i, board, version); - addConversion(RawSwitch(SWITCH_TYPE_MOMENT_SWITCH, -s), -val); + // addConversion(RawSwitch(SWITCH_TYPE_MOMENT_SWITCH, -s), -val); addConversion(RawSwitch(SWITCH_TYPE_MOMENT_SWITCH, s), val++); } for (int i=1; i<=MAX_CUSTOM_SWITCHES(board, version); i++) { - addConversion(RawSwitch(SWITCH_TYPE_MOMENT_VIRTUAL, -i), -val); + // addConversion(RawSwitch(SWITCH_TYPE_MOMENT_VIRTUAL, -i), -val); addConversion(RawSwitch(SWITCH_TYPE_MOMENT_VIRTUAL, i), val++); } - addConversion(RawSwitch(SWITCH_TYPE_ONM, 1 ), -val); + // addConversion(RawSwitch(SWITCH_TYPE_ONM, 1 ), -val); addConversion(RawSwitch(SWITCH_TYPE_ONM, 0 ), val++); addConversion(RawSwitch(SWITCH_TYPE_TRN, 0), val++); addConversion(RawSwitch(SWITCH_TYPE_TRN, 1), val++); @@ -2011,12 +2019,21 @@ Open9xGeneralDataNew::Open9xGeneralDataNew(GeneralSettings & generalData, BoardE if (version >= 213 || (!IS_ARM(board) && version >= 212)) internalField.Append(new UnsignedField<16>(generalData.variant)); - for (int i=0; i(generalData.calibMid[i])); - for (int i=0; i(generalData.calibSpanNeg[i])); - for (int i=0; i(generalData.calibSpanPos[i])); + if (version >= 216) { + for (int i=0; i(generalData.calibMid[i])); + internalField.Append(new SignedField<16>(generalData.calibSpanNeg[i])); + internalField.Append(new SignedField<16>(generalData.calibSpanPos[i])); + } + } + else { + for (int i=0; i(generalData.calibMid[i])); + for (int i=0; i(generalData.calibSpanNeg[i])); + for (int i=0; i(generalData.calibSpanPos[i])); + } internalField.Append(new UnsignedField<16>(chkSum)); internalField.Append(new UnsignedField<8>(generalData.currModel)); @@ -2110,8 +2127,11 @@ Open9xGeneralDataNew::Open9xGeneralDataNew(GeneralSettings & generalData, BoardE internalField.Append(new SignedField<8>(generalData.varioVolume)); internalField.Append(new SignedField<8>(generalData.backgroundVolume)); } - if (version >= 216) { + if (IS_TARANIS(board) && version >= 216) { internalField.Append(new UnsignedField<8>(generalData.hw_uartMode)); + for (int i=0; i<8; i++) { + internalField.Append(new UnsignedField<1>(generalData.potsType[i])); + } } } } diff --git a/companion/src/firmwares/opentx/opentxinterface.cpp b/companion/src/firmwares/opentx/opentxinterface.cpp index 178dcf5a1..b70ef9d8a 100644 --- a/companion/src/firmwares/opentx/opentxinterface.cpp +++ b/companion/src/firmwares/opentx/opentxinterface.cpp @@ -682,6 +682,10 @@ int Open9xInterface::getCapability(const Capability capability) return (IS_STOCK(board) ? false : true); case HasMahPersistent: return (IS_ARM(board) ? true : false); + case MultiposPots: + return IS_TARANIS(board) ? 2 : 0; + case MultiposPotsPositions: + return IS_TARANIS(board) ? 6 : 0; default: return 0; } diff --git a/companion/src/helpers.cpp b/companion/src/helpers.cpp index 1c69e2207..97ef84275 100644 --- a/companion/src/helpers.cpp +++ b/companion/src/helpers.cpp @@ -842,6 +842,8 @@ void populateSwitchCB(QComboBox *b, const RawSwitch & value, unsigned long attr, return; } +#if 0 + // TODO check ... I removed negative toggle switches in the FW, no? if (attr & POPULATE_MSWITCHES) { if (attr & POPULATE_ONOFF) { item = RawSwitch(SWITCH_TYPE_ONM, 1); @@ -860,6 +862,7 @@ void populateSwitchCB(QComboBox *b, const RawSwitch & value, unsigned long attr, if (item == value) b->setCurrentIndex(b->count()-1); } } +#endif if (attr & POPULATE_ONOFF) { item = RawSwitch(SWITCH_TYPE_OFF); @@ -905,6 +908,14 @@ void populateSwitchCB(QComboBox *b, const RawSwitch & value, unsigned long attr, if (item == value) b->setCurrentIndex(b->count()-1); } + if (IS_TARANIS(GetEepromInterface()->getBoard())) { + for (int i=0; igetCapability(MultiposPots) * GetEepromInterface()->getCapability(MultiposPotsPositions); i++) { + item = RawSwitch(SWITCH_TYPE_MULTIPOS_POT, i); + b->addItem(item.toString(), item.toValue()); + if (item == value) b->setCurrentIndex(b->count()-1); + } + } + if (attr & POPULATE_ONOFF) { item = RawSwitch(SWITCH_TYPE_ON); b->addItem(item.toString(), item.toValue()); diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index d0b1147d1..0a0eaffcf 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -245,8 +245,8 @@ enum BeeperMode { #if defined(PCBTARANIS) #define EXTRA_GENERAL_FIELDS \ EXTRA_GENERAL_FIELDS_ARM \ - uint8_t potsType; \ - uint8_t hw_uartMode; + uint8_t hw_uartMode; \ + uint8_t potsType; #elif defined(CPUARM) #define EXTRA_GENERAL_FIELDS EXTRA_GENERAL_FIELDS_ARM #elif defined(PXX) From e44c49f189338dea058d8c079b86223894fbfd71 Mon Sep 17 00:00:00 2001 From: Jacek Drewniak Date: Fri, 31 Jan 2014 19:47:04 +0100 Subject: [PATCH 27/61] Translation of Companion + changes in core files to make translation file aviable --- companion/src/CMakeLists.txt | 2 +- companion/src/translations.qrc.in | 1 + companion/src/translations/companion_pl.ts | 10120 +++++++++++++++++++ 3 files changed, 10122 insertions(+), 1 deletion(-) create mode 100644 companion/src/translations/companion_pl.ts diff --git a/companion/src/CMakeLists.txt b/companion/src/CMakeLists.txt index 6b028706a..0f7ca9cd5 100644 --- a/companion/src/CMakeLists.txt +++ b/companion/src/CMakeLists.txt @@ -296,7 +296,7 @@ INCLUDE_DIRECTORIES( ${CMAKE_BINARY_DIR} ) INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR} ) -SET( LANGUAGES he pt ru de fr it sv cs ) +SET( LANGUAGES he pl pt ru de fr it sv cs ) FOREACH( language ${LANGUAGES} ) SET( companion_TS ${companion_TS} translations/companion_${language}.ts ) ENDFOREACH( language ) diff --git a/companion/src/translations.qrc.in b/companion/src/translations.qrc.in index 434cbd225..792ed43c9 100644 --- a/companion/src/translations.qrc.in +++ b/companion/src/translations.qrc.in @@ -4,6 +4,7 @@ companion_de.qm companion_he.qm companion_it.qm + companion_pl.qm companion_pt.qm companion_ru.qm companion_sv.qm diff --git a/companion/src/translations/companion_pl.ts b/companion/src/translations/companion_pl.ts new file mode 100644 index 000000000..6d147fec1 --- /dev/null +++ b/companion/src/translations/companion_pl.ts @@ -0,0 +1,10120 @@ + + + + + Channels + + + Name + Nazwa + + + + Offset + Wyrównanie + + + + Min + Min + + + + Max + Maks + + + + Invert + Odwróć + + + + Center + Centrowanie + + + + Sym + Sym + + + + Channel %1 + Kanały %1 + + + + --- + --- + + + + INV + Odwr + + + + CurveGroup + + + Diff + Róźnicowość + + + + Expo + Expo + + + + Func + Funkcja + + + + Curve + Krzywa + + + + Curves + + + Form + Formularz + + + + Standard + Standard + + + + Custom + Ustawienia Własne + + + + Lines + Linie + + + + Smooth + Gładkie + + + + Curve type + Typy Krzywej + + + + Curve name + Nazwa krzywej + + + + Curve %1 + Krzywa %1 + + + + %1 points + %1 punktowa + + + + Are you sure you want to reset curve %1 ? + Jesteś pewien by zresetować krzywą %1 ? + + + + Editing curve %1 + Edycja krzywej k%1 + + + + Not enough free points in EEPROM to store the curve. + Za mało wolnych punktów w eepromie by zapamiętać krzywą. + + + + CustomFunctionsPanel + + + Switch + Przełącznik + + + + Action + Akcja + + + + Parameters + Parametry + + + + Enable + Włączone + + + + ON + Włącz + + + + Error + Błąd + + + + Unable to find sound file %1! + Nie mogę odnaleźć pliku dźwiękowego %1! + + + + &Delete + &Wykasuj + + + + Delete + Wykasuj + + + + &Copy + &Kopiuj + + + + Ctrl+C + Ctrl+C + + + + &Cut + &Wytnij + + + + Ctrl+X + Ctrl+X + + + + &Paste + &Wklej + + + + Ctrl+V + Ctrl+V + + + + CustomSwitchesPanel + + + Condition + Warunek + + + + V1 + Wartość 1 + + + + V2 + Wartość 2 + + + + AND + I (logiczne) + + + + Duration + Czas trwania + + + + Delay + Opóźnienie + + + + + LS%1 + PL%1 + + + + &Delete + &Wykasuj + + + + Delete + Wykasuj + + + + &Copy + &Kopiuj + + + + Ctrl+C + Ctrl+C + + + + &Cut + &Wytnij + + + + Ctrl+X + Ctrl+X + + + + &Paste + &Wklej + + + + Ctrl+V + Ctrl+V + + + + Dialog + + + Dialog + Formularz + + + + Curve type + Typy Krzywych + + + + Coefficient + Współczynnik + + + + Both + Obie + + + + x>0 + x>0 + + + + x<0 + x<0 + + + + Y at X=0 + Y dla X=0 + + + + Side + Strona + + + + Y at X=-100 + Y dla X=-100 + + + + Y at X=100 + Y dla X=100 + + + + Linear + Liniowa + + + + Single Expo + Pojedyncze expo (wykładnicza) + + + + Symmetrical f(x)=-f(-x) + Symetryczna (nieparzysta) f(x)=-f(-x) + + + + Symmetrical f(x)=f(-x) + Symetryczna (parzysta) f(x)=f(-x) + + + + ExpoDialog + + + Weight + Waga + + + + Switch used by the input. +If blank then the input is considered to be "ON" all the time. + Przełącznik używany przez Wejście, jeśli pole jest puste: będzie uznane za "WŁĄCZONE" przez cały czas. + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Delay ans Slow</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These values control the speed and delay of the output of the mix. </p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Opóźnienie i spowolnienie</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Te wartośći określają prędkość i opóźnienie wyjścia mikserów </p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Jeśli opóżnienie nie jest równe 0 aktywacja miksera zostanie opózniona o określoną ilość sekund.</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Jeśli spowolnienie nie jest równe 0 wtedy prędkość miksera zostanie ustawiona na podaną wartość-&gt; wartość oznacza liczbę sekund jaką mikser potrzebuje by pokonać drogę od -100 do 100.</p></body></html> + + + + Scale + Skala + + + + Include Trim + Uwzględnij trymer + + + + No + Nie + + + + Yes + Tak + + + + Curve + Krzywa + + + + The source for the mixer + Źródło miksera + + + + Input name + Wprowadź Nazwę + + + + + GV + ZG + + + + Phase used by the input. + Faza lotu używana przez Wejście. + + + + Flight modes + Fazy lotu + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + Switch + Przełącznik + + + + The curve used by the input + Krzywa używana przez Wejście + + + + Source + Źródło + + + + Line name + Nazwa linii + + + + Stick Side + Strona drążka + + + + NEG + x<0(Ujemnie) + + + + POS + x>0(Dodatnio) + + + + ALL + Wszystkie + + + + Edit %1 + Edycja %1 + + + + Rud + SK + + + + Ele + SW + + + + Thr + Gaz + + + + Ail + Lotki + + + + FlightMode + + + Form + Formularz + + + + Fade In + Spowolnienie aktywacji + + + + Fade Out + Spowolnienie wyłączania + + + + Name + Nazwa + + + + Switch + Przełącznik + + + + trim1 + trymer 1 + + + + trim2 + trymer 2 + + + + trim4 + trymer 4 + + + + trim3 + trymer 3 + + + + Rud + SK + + + + Ele + SW + + + + Thr + Gaz + + + + Ail + Lotki + + + + Rotary Encoder %1 + Pokrętło %1 + + + + GVAR%1 + ZmGl%1 + + + + FlightModes + + + Flight Mode %1 + Faza lotu %1 + + + + (%1) + (%1) + + + + (default) + (bazowa) + + + + GeneralEdit + + + General Edit + Główne ustawienia + + + + Store calib. and hw settings in selected profile + Zapamiętanie kalibracji i ustawień HW w wybranym profilu + + + + Retrieve calib. and hw settings from profile + Odtworzenie kalibracji i ustawień HW z profilu + + + + General settings used throught the transmitter. +These will be relevant for all models in the same EEPROM. + Główne ustawienia radia. +Będą one obowiązywać dla wszystkich modeli w tym samym EEPROM-ie. + + + + Setup + Ustawienia + + + + Timer Beeps + Pikanie timerów + + + + Contrast + Kontrast + + + + Channel Order (For Templates) + Kolejność kanałów (dla szablonów) + + + + Owner Name + Imię użytkownika + + + + Mode selection: + +Mode 1: + Left stick: Elevator, Rudder + Right stick: Throttle, Aileron + +Mode 2: + Left stick: Throttle, Rudder + Right stick: Elevator, Aileron + +Mode 3: + Left stick: Elevator, Aileron + Right stick: Throttle, Rudder + +Mode 4: + Left stick: Throttle, Aileron + Right stick: Elevator, Rudder + + + Wybór mode: + +Mode 1: + Lewa ręka : Ster Wysokości, Ster Kierunku + Prawa ręka : Gaz, Lotki + +Mode 2: + Lewa ręka : Gaz, Ster Kierunku + Prawa ręka : Ster Wysokości, Lotki + +Mode 3: + Lewa ręka : Ster Wysokości, Lotki + Prawa ręka : Gaz, Ster Kierunku + +Mode 4: + Lewa ręka : Gaz, Lotki + Prawa ręka : Ster Wysokości, Ster Kierunku + + + + + + Mode 1 (RUD ELE THR AIL) + Mod 1 (SK.SW.Gaz.Lot) + + + + Mode 2 (RUD THR ELE AIL) + Mod 2 (SK.Gaz.SW.Lot) + + + + Mode 3 (AIL ELE THR RUD) + Mod 3 (Lot.SW.Gaz.SK) + + + + Mode 4 (AIL THR ELE RUD) + Mod 4 (Lot.Gaz.SW.SK) + + + + + Quiet + Cichy + + + + Only Alarms + Tylko Alarmy + + + + + No Keys + Bez przycisków + + + + + All + Wszystkie + + + + MAVLink Baud Rate + Prędkość przesyłu MAVLink + + + + 4800 Baud + 4800 bps + + + + 9600 Baud + 9600 bps + + + + 14400 Baud + 14400 bps + + + + 19200 Baud + 19200 bps + + + + 38400 Baud + 38400 bps + + + + 57600 Baud + 57600 bps + + + + 76800 Baud + 76800 bps + + + + 115200 Baud + 115200 bps + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Single Beep Every whole Minute</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Jedno piknięcie co każdą pełną minutę</span></p></body></html> + + + + Every Minute + Co minutę + + + + Beeps at 30, 15, 10, and down from5 seconds + Sygnały w 30s, 15s, 10s i odliczanie od 5 sekund do 0 + + + + Count Down to Zero + Odliczanie do zera + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Flash backlight on timer beep</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Błyśnij podświetlaniem przy piknięciu timera</span></p></body></html> + + + + Flash on beep + Błyskanie w czasie sygnału + + + + If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. + Jeśli ta wartość jest różna od 0, każde naciśnięcie klawisza włączy podświetlenie, które zgaśnie po ustalonej liczbie sekund. + + + + + sec + s + + + + Input Filter + Wprowadź filtr + + + + + + + + + + + + Beeper volume + +0 - Quiet. No beeps at all. +1 - No Keys. Normal beeps but menu keys do not beep. +2 - Normal. +3 - Loud. +4 - Extra loud. + Głośność piknięć + +0 -Cicho. Żadnych piknięć. +1 - Bez przycisków. Normalne piknięcia ale bez pikania dla przycisków menu. +2 - Normalna. +3 - Głośna. +4 - Bardzo głośna. + + + + Alarms Only + Tylko alarmy + + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" text-decoration: underline;">Warnings</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These will define startup warnings.</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Throttle warning - will alert if the throttle is not at idle during startup</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Switch warning - will alert if switches are not in their defaul position</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Memory warning - will alert if there's not a lot of memory left</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Silent mode warning - will alert you if the beeper is set to quiet (0)</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" text-decoration: underline;">Warnings</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To ustawienie definiuje ostrzeżenia startowe.</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ostrzeżenie gazu - będzie ostrzegało gdy gaz nie jest na 0</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ostrzeżenie o przełącznikach - będzie ostrzegało gdy przełączniki nie są w pozycji bazowej</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ostrzeżenie pamięci - będzie ostrzegało gdy pozostało juz niewiele wolnej pamięci</p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ostrzeżenie cichej pracy - będzie ostrzegało gdy pikanie jest ustawione na cicho(0)</p></body></html> + + + + Beeper Mode + Tryb pikania + + + + + + + Off + Wyłączony + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">LCD Screen Contrast</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Values can be 20-45</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Kontrast ekranu LCD</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Wartości z zakresu 20-45</span></p></body></html> + + + + Memory Startup Warning + Ostrzeżenie o małym zapasie pamięci + + + + + X-Short + Bardzo krótka + + + + + Short + Krótka + + + + + Normal + Normalna + + + + + Long + Długa + + + + + X-Long + Bardzo długa + + + + Battery warning voltage. +This is the threashhold where the battery warning sounds. + +Acceptable values are 5v..10v + Ostrzeżenie o napięciu zasilania. +Ustala próg ostrzeżenia. + +Dopuszczalne wartości 5v-10v + + + + Battery Warning + Ostrzeżenie o zasilaniu + + + + THR + Gaz + + + + RUD + SK + + + + ELE + SW + + + + AIL + Lotki + + + + GEA + + + + + ID0 + + + + + ID1 + + + + + ID2 + + + + + Sound Mode + Tryb dźwiękowy + + + + Pot Scrolling Enable + Przewijanie potencjometrem włączone + + + + Battery Calibration + Kalibracja zasilania + + + + If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes. + Radio zasygnalizuje dźwiękiem brak aktywności po określonej liczbie minut. 0- wyłącza tę funkcję. + + + + min + Min + + + + + Show splash screen on startup + Pokazuj ekran startowy z logo + + + + Battery calibration: +This value will be added to the measured battery voltage. Use this value to calibrate the meter with an external meter. + Kalibracja zasilania: +Ta wartość będzie dodana do zmierzonej wartości napięcia zasilania. Użyj tej wartości w celu kalibracji wyświetlanego napięcia aby było zgodne z napięciem wskazywanym przez miernik. + + + + Single + Pojedynczy + + + + Oversample + + + + + Filter + Filtr + + + + Show Splash Screen on Startup + Pokazuj ekran startowy z logo + + + + Inactivity Timer + Timer bezczynności + + + + Beeper + Pikanie + + + + Speaker + Głośnik + + + + BeeperVoice + Pikanie i głosy + + + + SpeakerVoice + Głośnik i głosy + + + + Beeper Length + Długość piknięcia + + + + GPS Coordinates + Koordynaty GPS + + + + hh° (N/S) mm' ss''.dd + hh° (N/S) mm' ss''.dd + + + + NMEA + + + + + Timeshift from UTC + Strefa czasowa względem UTC + + + + Channel order + +This is used by the templated to determine which channel goes to what number output. + Kolejność kanałów + +To ustawienie jest używane przez szablony, określa jakie wyjście przypisane jest do kanału. + + + + Speaker Pitch (spkr only) + Wysokość tonów (tylko dźwięki) + + + + Haptic Mode + Tryb wibracji + + + + Stick Mode + Mod drążków + + + + Show Owner Name on Splash + Pokaż imię pilota na ekranie + + + + Telemetry NO DATA Alarm + Telemetria: Alarm braku danych + + + + LCD Display Type + Typ ekranu LCD + + + + Standard + Standard + + + + Optrex + + + + + This is the switch selectrion for turning on the backlight (if installed). + + + To jest przełącznik do włączenia podświetlenia (jeśli zainstalowane). + + + + Speaker Volume + Głośność dźwięków + + + + Haptic Length + Długość wibracji + + + + Haptic Strength + Siła wibracji + + + + BackLight Brightness + Jasność podświetlenia + + + + Alarm Warning + Ostrzeżenie alarmowe + + + + BackLight Auto OFF after + Podświetlenie. Automatyczne wyłącznie po + + + + Bandgap Measuring Enable + Włączone pomiary pasma + + + + RotEnc Navigation + Nawigacja pokrętłem + + + + BackLight Switch + Przełącznik podświetlania + + + + BackLight On Stick Move + Podświetlenie włączone przy ruchu drążka + + + + BackLight Invert + Odwróć podświetlanie + + + + Country Code + Kod kraju + + + + Europe + Europa + + + + Japan + Japonia + + + + America + Ameryka + + + + Metric + Metryczne + + + + Imperial + Imperialne + + + + Measurement Units + Jednostki miar + + + + FrSky Internal Alarm + Wewnętrzny alarm FrSky + + + + StickScroll + Przewijanie drążkiem + + + + PPMSim + + + + + Voice Language + Język komunikatów + + + + CrossTrim + Trymery krzyżowe + + + + Beep volume + Głośność sygnałów + + + + Wav volume + Głośność WAV + + + + Vario volume + Głośność wariometru + + + + Background volume + Głośność tła + + + + FAI Mode + Tryb FAI + + + + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. + Jeśli uaktywnisz tryb FAI, utracisz informacje o wariometrze, funkcje odtwarzania i ekrany telemetrii. Ten tryb nie może być dezaktywowany. + + + + Readonly Unlock + Odblokuj "Tylko do odczytu" + + + + SC + + + + + SE + + + + + SA + + + + + SF + + + + + SH + + + + + SD + + + + + SB + + + + + SG + + + + + Trainer + Trener + + + + Mode + Tryb + + + + Input + Wejście + + + + Weight + Waga + + + + Switch + Przełącznik + + + + + PPM 1 + PPM 1 + + + + + + + chn1 + Kanał 01 + + + + + + + chn2 + Kanał 02 + + + + + + + chn3 + Kanał 03 + + + + + + + chn4 + Kanał 04 + + + + + PPM 2 + PPM 2 + + + + + PPM 3 + PPM 3 + + + + + PPM 4 + PPM 4 + + + + Telemetry + Telemetria + + + + RSSI Alarm 1 + Alarm RSSI 1 + + + + + ---- + ---- + + + + + Yellow + Żółty + + + + + Orange + Pomarańczowy + + + + + Red + Czerwony + + + + RSSI Alarm 2 + Alarm RSSI 2 + + + + NO DATA Alarm + Alarm braku danych + + + + Calibration + Kalibracja + + + + POT 4 + Potencjometr 04 + + + + STICK 3 + Drążek 03 + + + + + Negative span + Ujemny zakres + + + + + Mid value + Wartość środkowa + + + + + Positive span + Dodatni zakres + + + + STICK 1 + Drążek 01 + + + + STICK 2 + Drążek 02 + + + + STICK 4 + Drążek 04 + + + + POT 1 + Potencjometr 01 + + + + POT 2 + Potencjometr 02 + + + + POT 3 + Potencjometr 03 + + + + + + + += (Sum) + += (Suma) + + + + + + + := (Replace) + := (Zastąpienie) + + + + Battery + Zasilanie + + + + v + V + + + + PPM Multiplier + Mnożnik PPM + + + + Current + Natężenie + + + + 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 ? + Jeśli uaktywnisz tryb FAI, utracisz informacje o wariometrze, +funkcje odtwarzania i ekrany telemetrii. Ten tryb nie może być dezaktywowany. +Jesteś pewien ? + + + + + Warning + Ostrzeżenie + + + + Wrong data in profile, radio calibration was not retrieved + Błędne dane w profilu, kalibracja nie została odzyskana + + + + Wrong data in profile, hw related parameters were not retrieved + Błędne dane w profilu, parametry HW nie zostały odzyskana + + + + Do you want to store calibration in %1 profile<br>overwriting existing calibration? + Chcesz zapamiętać dane kalibracji profilu %1<br> Zastąpią one aktualne dane kalibracji? + + + + Calibration and HW parameters saved. + Kalibracja i parametry HW zapamiętane. + + + + Heli + + + Form + Formularz + + + + Invert Elevator + Odwróć SW + + + + Invert Aileron + Odwróć lotki + + + + Invert Collective + Odwróć Pochylenie (Collective) + + + + Invert + Odwróć + + + + Off + Wyłącz + + + + 120 + 120 + + + + 120X + 120X + + + + 140 + 140 + + + + 90 + 90 + + + + Collective + Pochylenie (collective) + + + + Swash Type + Typ tarczy + + + + Swash Ring + Pierścień tarczy + + + + InputsPanel + + + + Move Up + W górę + + + + + Ctrl+Up + Ctrl+Up + + + + + Move Down + W dół + + + + + Ctrl+Down + Ctrl+Down + + + + Clear All Settings + Wyczyść wszytkie ustawienia + + + + Source(%1) + Źródło(%1) + + + + No Trim + Bez trymera + + + + Weight(%1) + Waga(%1) + + + + Switch(%1) + Przełącznik(%1) + + + + Not enough available inputs! + Za mało dostępnych wejść! + + + + Delete Selected Inputs? + Skasować Wybrane Wejścia? + + + + &Add + &Dodaj + + + + Ctrl+A + Ctrl+A + + + + &Edit + &Edycja + + + + Enter + Enter + + + + &Delete + &Wykasuj + + + + Delete + Wykasuj + + + + &Copy + &Kopiuj + + + + Ctrl+C + Ctrl+C + + + + &Cut + &Wytnij + + + + Ctrl+X + Ctrl+X + + + + &Paste + &Wklej + + + + Ctrl+V + Ctrl+V + + + + Du&plicate + &Zduplikuj + + + + Ctrl+U + Ctrl+U + + + + Clear Inputs? + Wyczyść Wejścia? + + + + Really clear all the inputs? + Czy na pewno wyczyścić wszystkie wejścia? + + + + MainWindow + + + + + + File loaded + Plik załadowany + + + + Display previous warning again at startup ? + Wyświetlić poprzednie ostrzeżenie przy uruchomieniu? + + + + Checking for updates + Sprawdź aktualizacje + + + + + + + + Unable to check for updates. + Nie mogę sprawdzić aktualizacji. + + + + + + + + Save As + Zapisz jako + + + + Executable (*.exe) + Wykonywalny (*.exe) + + + + New release available + Dostępne jest nowe wydanie + + + + + No updates available at this time. + Brak aktualizacji dostępnych teraz. + + + + Would you like to launch the installer? + Chcesz uruchomić instalator? + + + + + + + + + + + + + + + + Error + Błąd + + + + + + + + Error opening file %1: +%2. + Błąd otwarcia pliku %1: +%2. + + + + Compilation server termporary failure, try later + Serwer kompilacji chwilowo nieczynny, spróbuj później + + + + Display previous message again at startup ? + Czy ponownie wyświetlić poprzednią informację przy uruchomieniu? + + + + Compilation server temporary failure, try later + Serwer kompilacji chwilowo nieczynny, spróbuj później + + + + + Compilation server too busy, try later + Serwer kompilacji zbyt zajęty, spróbuj później + + + + + Unknown server failure, try later + Nieznany błąd serwera, spróbuj później + + + + Firmware %1 does not seem to have ever been downloaded. +Version %2 is available. +Do you want to download it now ? + Firmware %1 nigdy nie zostało pobrane. +Dostępna jest wersja %2 +Pobrać teraz? + + + + + + Yes + Tak + + + + + No + Nie + + + + + Release Notes + Informacje o wydaniu + + + + + Do you want to download release %1 now ? + Chcesz pobrać wydanie %1 teraz? + + + + A new version of %1 firmware is available (current %2 - newer %3). +Do you want to download it now ? + Jest dostępna nowa wersja firmware %1 +(aktualna %2 - nowsza %3) +Chcesz pobrać teraz? + + + + Ignore this version (r%1)? + Zignorować wersję (r%1)? + + + + Release notes contain very important informations. Do you want to see them now ? + Opis wydania zawiera bardzo ważne informacje. Chcesz je przeczytać teraz? + + + + + File saved + Plik zapisany + + + + Firmware updates + Aktualizacja firmware + + + + Current firmware does not provide release notes informations. + Aktualny firmware nie zawiera opisu wydania. + + + + Cannot write file %1: +%2. + Nie mogę zapisać pliku %1: +%2. + + + + + + + + Taranis radio not found + Nie znaleziono Radia Taranis + + + + + + + Impossible to identify the radio on your system, please verify the eeprom disk is connected. + Identyfikacja radia niemożliwa w Twoim systemie, proszę sprawdzić podłączony dysk eeprom. + + + + + + Backup is impossible + Backup jest niemożliwy do wykonania + + + + + + The backup dir set in preferences does not exist + Brak ustawień ścieżki backupu + + + + + Warning + Ostrzeżenie + + + + Conversion failed + Konwersja nieudana + + + + Restore failed + Zapis nieudany + + + + Backup failed + Backup nieudany + + + + Copyright + + + + + + &%1 %2 + + + + + + + Companion - Models and Settings Editor - %1 - profile %2 + Companion - Edytor Modeli i Ustawień - %1 - profil %2 + + + + + + + Companion - Models and Settings Editor - %1 + Companion - Edytor Modeli i Ustawień - %1 + + + + A new version of Companion is available (version %1)<br>Would you like to download it? + Dostępna jest nowy Companion (wersja %1)<br>Chcesz ją pobrać ? + + + + A new release of Companion is available please check the OpenTX website! + Nowe wydanie Companion jest dostępne, proszę sprawdzić stronę OpenTX! + + + + Firmware does not longer fit in the Tx, due to selected firmware options + Firmware już nie mieści się w pamięci radia ze względu na wybrane parametry + + + + + Compilation server requires registration, please check OpenTX web site + Serwer kompilacji wymaga rejestracji, proszę odwiedzić stronę OpenTX + + + + Firmware does not fit in the Tx, due to selected firmware options + Firmware już nie mieści się w pamięci radia ze względu na wybrane parametry + + + + Do you want to write the firmware to the transmitter now ? + Chcesz wgrać firmware do radia teraz? + + + + Open + Otwórz + + + + + + + Read Models and Settings From Tx + Wczytaj Modele i Ustawienia z radia + + + + Write Models and settings from %1 to the Tx? + Czy zapisać Modele i Ustawienia z %1 do radia ? + + + + The file %1 +has not been recognized as a valid Models and Settings file +Write anyway ? + Plik %1 +nie został rozpoznany jako prawidłowy pli Modeli i Ustawień. +Czy mimo wszystko zapisać? + + + + + + + + + Backup Models and Settings From Tx + Zbakupuj Modele i Ustawienia z radia + + + + Cannot check Models and Settings compatibility! Continue anyway? + Nie mogę potwierdzić kompatybilności Modeli i Ustawień. Kontynuować? + + + + The transmitter firmware belongs to another product family, check file and preferences! + Firmwqare radia nalezy do innej rodziny produktów, sprawdź plik i preferencje ! + + + + The transmitter firmware is outdated, please upgrade! + Firmware radia jest przestarzały, proszę zaktualizować! + + + + Write Models and Settings To Tx + Zapisz Modele i Ustawienia do radia + + + + + Write Firmware To Tx + Zapisz firmware do radia + + + + Cannot convert Models and Settings for use with this firmware, original data will be used + Nie mogę skonwertować Modeli i Ustawień na ten rodzaj firmware, zostaną użyte oryginalne dane + + + + Restore Models and Settings To Tx + Odtwórz Modele i Ustawienia do radia + + + + Could not restore Models and Settings to TX. The models and settings data file can be found at: %1 + Nie mogę odtworzyć Modeli i Ustawień do radia. Plik modeli i ustawień mozna znaleźć w: %1 + + + + Firmware write failed + Zapis firmawe nie powiódł się + + + + Could not write firmware to to transmitter. The models and settings data file can be found at: %1 + Nie mogę zapisać Firmware do radia. Plik modeli i ustawień mozna znaleźć w: %1 + + + + Cannot backup existing Models and Settings from TX. Firmware write process aborted + Nie mogę zbackupować Modeli i Ustawień z radia, Zapis Firmawe przerwany + + + + Save transmitter Models and Settings to File + Zapisz Modele i Ustawienia z radia do pliku + + + + Impossible to identify the radio on your system, please verify that the eeprom disk is connected. + Identyfikacja radia niemożliwa w Twoim systemie, proszę sprawdzić podłączony dysk eeprom. + + + + Read Tx Firmware to File + Odczytaj firmware z radia do pliku + + + + OpenTX Home Page: <a href='%1'>%1</a> + Strona domowa OpenTX: <a href='%1'>%1</a> + + + + The OpenTX Companion project was originally forked from <a href='%2'>eePe</a> + Projekt Companion odłączony z oryginalnego <a href='%2'>eePe</a> + + + + If you've found this program useful, please support by <a href='%1'>donating</a> + Jeśli uważasz, że ten program jest użyteczny, wesprzyj poprzez <a href='%1'>donację</a> + + + + Version %1, %3 + Wersja %1, %3 + + + + About Companion + O aplikacji Companion + + + + &New + &Nowy + + + + Create a new file + Utwórz nowy plik + + + + &Open... + &Otwórz... + + + + Open an existing file + Otwórz istniejący plik + + + + &loadBackup... + &Załaduj backup... + + + + Load backup from file + Załaduj backup z pliku + + + + &Save + &Zapisz + + + + Save the document to disk + Zapisz dokument na dysku + + + + Save &As... + Zapisz j&ako... + + + + Save the document under a new name + Zapisz dokument pod nową nazwą + + + + Lo&gs + Lo&gi + + + + Ctrl+G + + + + + Open log file + Otwórz plik logów + + + + &Preferences... + &Preferencje... + + + + Edit general preferences + Edycja głównych ustawień + + + + &Check for updates... + &Sprawdź aktualizacje... + + + + Check for new version of Companion + Sprawdź nową wersję Companion + + + + Show Companion contributors list + Pokaz listę twórców Companion + + + + Show Companion changelog + Zobacz zmiany w Companion + + + + &Write Models and Settings To Tx + &Zapisz Modele i Ustawienia do radia + + + + Write Models and Settings to transmitter + Zapisz Modele i Ustawienia do radia + + + + &Read Models and Settings From Tx + &Wczytaj Modele i Ustawienia z radia + + + + Read Models and Settings from transmitter + Wczytaj Modele i Ustawienia z radia + + + + Write Firmware + Zapisz firmware + + + + Write firmware to transmitter + Zapisz firmware do radia + + + + Write Models and Settings from file to Tx + Zapisz Modele i Ustawienia z pliku do radia + + + + Write Models and Settings from file to transmitter + Zapisz Modele i Ustawienia z pliku do radia + + + + Save transmitter Models and Settings to file + Zapisz Modele i Ustawienia do pliku + + + + Save the Models and Settings from the transmitter to a file + Zapisz Modele i Ustawienia z radia do pliku + + + + Read Firmware + Wczytaj Firmware + + + + Read firmware from transmitter + Wczytaj Firmware z radia + + + + Configure software for reading from and writing to the transmitter + Ustawienia oprogramowania do odczytu i zapisu radia + + + + &Read/Write + &Odczyt/Zapis + + + + Write + Zapis + + + + + Invalid Models and Settings File %1 + Błędny plik %1 Modeli i Ustawień + + + + Invalid binary Models and Settings File %1 + Błędny binarny plik %1 Modeli i Ustawień + + + + Contributors &List... + &Lista twórców... + + + + ChangeLog... + Zmiany... + + + + Firmware ChangeLog... + Zmiany firmware... + + + + Show firmware changelog + Zobacz zmiany w firmware + + + + Compare... + Porównaj... + + + + Compare models + Porównaj modele + + + + Customize your &TX... + &Personalizuj swoje radio... + + + + Customize the splash screen of your TX + Personalizuj obrazek na swoim radiu + + + + E&xit + Za&kończ + + + + Exit the application + Zakończ aplikację companion9x + + + + Cu&t + &Wytnij + + + + Cut the current selection's contents to the clipboard + Wytnij zaznaczenie do schowka + + + + &Copy + &Kopiuj + + + + Copy the current selection's contents to the clipboard + Kopiuj zaznaczenie do schowka + + + + &Paste + &Wklej + + + + Paste the clipboard's contents into the current selection + Wklej zawartość schowka na aktualnej pozycji + + + + Ctrl+Alt+W + + + + + Ctrl+Alt+R + + + + + &Configure... + &Konfiguracja... + + + + &List programmers + &Lista programatorów + + + + List available programmers + Lista dostępnych programatorów + + + + &Fuses... + Ustawienia &mikro-kontrolera... + + + + Show fuses dialog + Pokaż okno ustawień mikro-kontrolera + + + + &Simulate + &Symulator + + + + Alt+S + + + + + Simulate selected model. + Symulacja wybranego modelu. + + + + &Print + &Drukuj + + + + Ctrl+P + + + + + Print current model. + Wydrukuj aktualny model. + + + + &About + &O aplikacji + + + + Show the application's About box + O aplikacji companion9x + + + + + Recent Files + Poprzednie pliki + + + + + Firmware Profiles + Profile firmware + + + + &File + &Plik + + + + &Edit + &Edycja + + + + &Help + &Pomoc + + + + File + Plik + + + + Edit + Edycja + + + + Help + Pomoc + + + + Ready + Gotowe + + + + Unable to find file %1! + Nie mogę znaleźć pliku %1! + + + + Error reading file %1: +%2. + Błąd odczytu pliku %1: +%2. + + + + MdiChild + + + free bytes + wolna pamięć[B] + + + + Editing model %1: + Edycja modelu %1: + + + + + + + + + + + + + + + + + + + + + + Error + Błąd + + + + + Unable to find file %1! + Nie mogę odnaleźć pliku %1! + + + + + + + Error opening file %1: +%2. + Błąd otwarcia pliku %1: +%2. + + + + + Invalid EEPROM File %1 + Zły plik EEPROM %1 + + + + Invalid binary EEPROM File %1 + Nieprawidłowy plik binarny EEPROM %1 + + + + + + + Save As + Zapisz jako + + + + + + + Cannot write file %1: +%2. + Nie mogę zapisać pliku %1: +%2. + + + + + Error writing file %1: +%2. + Błąd zapisu pliku %1: +%2. + + + + Do you want to use model wizard? + Czy chcesz użyć konfiguratora modelu? + + + + + + Companion + Companion + + + + Ask this question again ? + Czy ponownie zapytać ? + + + + + Error reading file %1: +%2. + Błąd odczytu pliku %1: +%2. + + + + %1 has been modified. +Do you want to save your changes? + %1 został zmieniony. +Zapisać? + + + + Backup is impossible + Backup jest niemożliwy + + + + The backup dir set in preferences does not exist + Ustawienia preferencji katalogu backupu nie istnieją + + + + Cannot write temporary file! + Nie mogę zapisać pliku tymczasowego! + + + + + + Taranis radio not found + Nie odnaleziono Radia Taranis + + + + + + Impossible to identify the radio on your system, please verify the eeprom disk is connected. + Identyfikacja radia w Twoim systemie nie jest możliwa, sprawdź dysk eeprom podpięty do komputera. + + + + + + Backup EEPROM From Tx + Backup EEPROM z radia + + + + Cannot check eeprom compatibility! Continue anyway? + Nie mogę sprawdzić kompatybilności EEprom! Kontynuować ? + + + + + Warning + Ostrzeżenie + + + + Firmware in radio is of a different family of eeprom written, check file and preferences! + Firmware w radiu jest różny od zapisanego eepromu, sprawdź plik i ustawienia! + + + + Firmware in flash is outdated, please upgrade! + Firmware w radiu jest przestarzały. Proszę zaktualizować! + + + + Write EEPROM To Tx + Zapis EEPROM do radia + + + + Open + Otwórz + + + + Invalid binary backup File %1 + nieprawidłowy binarny plik %1 + + + + MixerDialog + + + Dialog + + + + + Source + Źródło + + + + + + + The source for the mixer + Źródło miksera + + + + Weight + Waga + + + + Offset + Wyrównanie + + + + Include Trim + Uwzględnij trymer + + + + + + GV + + + + + No + Nie + + + + Yes + Tak + + + + Curve + Krzywa + + + + The curve used by the mix + Krzywa użyta do miksera + + + + Switch used by the mix. +If blank then the mix is considered to be "ON" all the time. + Przełącznik użyty do miksera +Jeśli pusty - mikser będzie stale aktywny. + + + + Switch + Przełącznik + + + + Warning + Ostrzeżenie + + + + Mixer warning. +Setting this value will cause a beep to be emmitted when this value is active. + Ostrzeżenie miksera. +Ustawienie tej wartości spowoduje emitowanie dźwięku kiedy wartość będzie aktywna. + + + + OFF + Wyłącz + + + + 1 Beep + 1 piknięcie + + + + 2 Beep + 2 piknięcia + + + + 3 Beep + 3 piknięcia + + + + Multiplex + Połączenie + + + + Multiplexer + +This determines how mixer values are added. + +"+" means the value of the current mix is added to the previous mixes in the same channel. +"*" means the value of the current mix is amultiplied with the previous mixes in the same channel. +"R" means the value replaces the previous values. If the switch is off the value will be ignored. + Multiplexer + +Ustala w jaki sposób miksery są łączone. + +"+" oznacza dowanie wartości miksera do wcześniejszych mikserów na tym kanale. +"*" oznacza mnożenie wartości miksera przez wcześniejsze miksery na tym kanale. +"R" oznacza zastąpienie wartością miksera, wcześniejszych mikserów na tym kanale. + + + + ADD + Dodawaj + + + + MULTIPLY + Pomnóż + + + + REPLACE + Zastąp + + + + Name + Nazwa + + + + Flight modes + Fazy lotu + + + + Include DR/Expo + Dołącz DR/Expo + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + Delay + Opóźnienie + + + + Slow + Spowolnienie + + + + Up + Do góry / (+) + + + + Down + Do dołu / (-) + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Delay ans Slow</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These values control the speed and delay of the output of the mix. </p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Opóźnienie i spowolnienie</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Te wartośći określają prędkość i opóźnienie wyjścia mikserów </p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Jeśli opóżnienie nie jest równe 0 aktywacja miksera zostanie opózniona o określoną ilość sekund.</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Jeśli spowolnienie nie jest równe 0 wtedy prędkość miksera zostanie ustawiona na podaną wartość-&gt; wartość oznacza liczbę sekund jaką mikser potrzebuje by pokonać drogę od -100 do 100.</p></body></html> + + + + DEST -> X%1 + Cel -> X%1 + + + + DEST -> CH%1%2 + Cel -> KAN%1%2 + + + + Rud + SK + + + + Ele + SW + + + + Thr + Gaz + + + + Ail + Lotki + + + + MixesPanel + + + + Move Up + W górę + + + + + Ctrl+Up + Ctrl+Up + + + + + Move Down + W dół + + + + + Ctrl+Down + Ctrl+Down + + + + Clear Mixes + Wyczyść miksery + + + + + + X%1 + X%1 + + + + + + CH%1%2 + Kan %1%2 + + + + Weight(%1) + Waga(%1) + + + + Switch(%1) + Przełącznik(%1) + + + + No Trim + Bez trymera + + + + No DR/Expo + Bez DR/Expo + + + + Offset(%1) + Wyrównanie(%1) + + + + Delay(u%1:d%2) + Opóźnienie(u%1:d%2) + + + + Slow(u%1:d%2) + Spowolnienie(u%1:d%2) + + + + Warn(%1) + Ostrzeżenie(%1) + + + + Not enough available mixers! + Za mało dostępnych mikserów! + + + + Delete Selected Mixes? + Skasować wybrane miksery? + + + + &Add + &Dodaj + + + + Ctrl+A + Ctrl+A + + + + &Edit + &Edycja + + + + Enter + Enter + + + + &Delete + &Wykasuj + + + + Delete + Wykasuj + + + + &Copy + &Kopiuj + + + + Ctrl+C + Ctrl+C + + + + &Cut + &Wytnij + + + + Ctrl+X + Ctrl+X + + + + &Paste + &Wklej + + + + Ctrl+V + Ctrl+V + + + + Du&plicate + &Zduplikuj + + + + Ctrl+U + Ctrl+U + + + + Clear Mixes? + Wyczyść miksery? + + + + Really clear all the mixes? + Czy na pewno wyczyścić wszystkie miksery? + + + + ModelEdit + + + Dialog + + + + + Simulate + Symulacja + + + + Setup + Ustawienia + + + + Heli + Heli + + + + Inputs + Wejścia + + + + Logical Switches + Przełączniki Logiczne + + + + Switch Assignment + Przypisanie Przełączników + + + + Channels + Kanały + + + + Mixes + Miksery + + + + Flight Modes + Fazy lotu + + + + Curves + Krzywe + + + + Telemetry + Telemetria + + + + Clear Curves? + Wyczyść krzywe? + + + + Really clear all the curves? + Czy na pewno wyczyścić wszystkie krzywe? + + + + ModelsListWidget + + + &Edit + &Edycja + + + + &Restore from backup + &Odtworzyć z backupu + + + + &Model Wizard + &Kreator ustawień modelu + + + + &Delete + &Wykasuj + + + + Delete + Wykasuj + + + + &Copy + &Kopiuj + + + + Ctrl+C + + + + + &Cut + &Wytnij + + + + Ctrl+X + + + + + &Paste + &Wklej + + + + Ctrl+V + + + + + D&uplicate + &Zduplikuj + + + + Ctrl+U + + + + + &Use as default + &Użyj jako bazowy + + + + P&rint model + Wy&drukuj model + + + + Alt+R + + + + + &Simulate model + &Zasymuluj model + + + + Alt+S + + + + + General Settings + Główne ustawienia + + + + Delete Selected Models? + Skasować wybrane modele? + + + + + Cannot delete default model. + Nie mogę wykasować bazowego modelu. + + + + Cannot cut default model. + Nie mogę wyciąć bazowego modelu. + + + + Do you want to overwrite TX general settings? + Chcesz nadpisać generalne ustawienia radia? + + + + You are pasting on an not empty model, are you sure? + Wklejasz na niepustym modelu, jesteś pewien? + + + + No free slot available, cannot duplicate + Brak wolnych miejsc, nie mogę zduplikować + + + + Module + + + Form + Formularz + + + + Failsafe Mode + Tryb Failsafe + + + + Start + Start + + + + PPM delay + Opóźnienie PPM + + + + usec + us + + + + Negative + Ujemna + + + + Positive + Dodatnia + + + + RX Number + Numer Odbiornika + + + + Master + Trener + + + + Slave + Uczeń + + + + Polarity + Polaryzacja + + + + Trainer Mode + Tryb trenera + + + + mSec + ms + + + + PPM Frame Length + Długość ramki PPM + + + + Label + Etykieta + + + + + ch + kanał + + + + Channels + Kanały + + + + Hold + Utrzymuj + + + + Custom + Ustawienia Własne + + + + No Pulses + Brak sygnałów + + + + Failsafe Positions + Pozycja Failsave + + + + Protocol + Protokół + + + + ModulePanel + + + Trainer Output + Wyjśćie Trenera + + + + Internal Radio System + Wenętrzny moduł radiowy + + + + External Radio Module + External Radio Module - Internal Radio System - zaznaczyć by opisać spójność nazw angielskich + + Zewnętrzny moduł radiowy + + + + QObject + + + + Rud + SK + + + + + Ele + SW + + + + + Thr + Gaz + + + + + Ail + Lotki + + + + + + P1 + Potencjometr 1 + + + + + + P2 + Potencjometr 2 + + + + + + P3 + Potencjometr 3 + + + + + S1 + Potencjometr 1 + + + + + S2 + Potencjometr 2 + + + + + LS + Lewy suwak + + + + + RS + Prawy suwak + + + + TrmR + Trymer SK + + + + TrmE + Trymer SW + + + + TrmT + Trymer gazu + + + + TrmA + Trymer lotek + + + + + REa + Pokrętło :a + + + + + REb + Pokrętło :b + + + + Batt + Bateria + + + + A1 + Sygnał telemetrii A1 + + + + A2 + Sygnał telemetrii A2 + + + + Alt + Wysokość + + + + Rpm + Obroty + + + + Fuel + Paliwo + + + + T1 + + + + + Tx + + + + + Rx + + + + + SWR + SWR + + + + RSSI + + + + + T2 + + + + + Speed + Prędkość + + + + Dist + Odległość + + + + GPS Alt + Wysokość GPS + + + + Cell + Cela + + + + Cels + Cele + + + + Vfas + + + + + Curr + Natężenie + + + + Cnsp + + + + + Powr + Moc + + + + AccX + + + + + AccY + + + + + AccZ + + + + + HDG + + + + + VSpd + + + + + A1- + + + + + A2- + + + + + Alt- + + + + + Alt+ + + + + + Rpm+ + + + + + T1+ + + + + + T2+ + + + + + Spd+ + + + + + Dst+ + + + + + Cur+ + + + + + ACC + + + + + Time + + + + + Pwr+ + + + + + + LS1 + PL1 + + + + + LS2 + PL2 + + + + + LS3 + PL3 + + + + + LS4 + PL4 + + + + + LS5 + PL5 + + + + + LS6 + PL6 + + + + + LS7 + PL7 + + + + + LS8 + PL8 + + + + + LS9 + PL9 + + + + + LSA + PLA + + + + + LSB + PLB + + + + + LSC + PLC + + + + + LSD + PLD + + + + + LSE + PLE + + + + + LSF + PLF + + + + + LSG + PLG + + + + + LSH + PLH + + + + + LSI + PLI + + + + + LSJ + PLJ + + + + + LSK + PLK + + + + + LSL + PLL + + + + + LSM + PLM, + + + + + LSN + PLN + + + + + LSO + PLO + + + + + LSP + PLP + + + + + LSQ + PLQ + + + + + LSR + PLR + + + + + LSS + PLS + + + + + LST + PLT + + + + + LSU + PLU + + + + + LSV + PLV + + + + + LSW + PLW + + + + Input %1 + Wejście %1 + + + + MAX + + + + + ONE + Jeden + + + + !ONE + Nie Jeden + + + + TRNs + + + + + TRNl + + + + + REAs + + + + + REAl + + + + + CYC%1 + + + + + PPM%1 + + + + + CH%1%2 + Kan %1%2 + + + + X%1 + + + + + + + + ---- + + + + + + + THR + THR + + + + RUD + SK + + + + ELE + SW + + + + ID0 + ID0 + + + + ID1 + ID1 + + + + ID2 + ID2 + + + + AIL + Lotki + + + + GEA + GEA + + + + TRN + TRN + + + + + ON + Włącz + + + + + OFF + Wyłącz + + + + Diff(%1) + Róźnicowość(%1) + + + + Expo(%1) + Expo(%1) + + + + Function(%1) + Funkcja(%1) + + + + Curve(%1) + Krzywa(%1) + + + + !Curve(%1) + !Krzywa(%1) + + + + th9x + + + + + er9x + + + + + + Support for frsky telemetry mod + Wsparcie dla telemetrii FrSky + + + + + Support for jeti telemetry mod + Wsparcie telemetrii JETI + + + + + Support for receiving ardupilot data + Wsparcie dla otrzymywania danych ardupilota + + + + + Support for receiving NMEA data + Wsparcie dla otrzymywania danych NMEA + + + + Support for telemetry easy board + Wsparcie dla platformy TelemetrEZ + + + + + Support for MAVLINK devices + Wsparcie urządzeń MAVLINK + + + + Rotary Encoder use in menus navigation + Użycie pokrętła do nawigacji w menu + + + + Possibility to enable FAI MODE at field + Umożliwienie uaktywniania tryb FAI w menu + + + + FAI MODE always enabled + Tryb FAI zawsze aktywny + + + + openTx for 9X board + openTx dla platformy 9X + + + + + + + + Enable heli menu and cyclic mix support + Uaktywnione menu Heli i wsparcie dla cyklicznych mikserów + + + + + + + + + Enable TEMPLATES menu + Uaktywnienie menu szablonów + + + + + + + No splash screen + Bez loga na ekranie + + + + + + + + + No flight modes + Firmware bez menu faz lotu + + + + + + + + + In model setup menus automatically set source by moving some of them + W menu ustawień modelu automatycznie wybierz źródło poprzez poruszenie nim + + + + + + + + + + + Use alternative SQT5 font + Użyj alternatywnego fontu SQT5 + + + + EEprom write progress bar + Pasek postępu wgrywania EEPROMu + + + + + No Winged Shadow How High support + Bez wsparcia - Winged Shadow How High + + + + + No vario support + Bez wsparcia wario + + + + + No GPS support + Bez wsparcia GPS + + + + + No gauges in the custom telemetry screen + Bez graficznych wskazań telemetrii + + + + Allow compensating for offset errors in FrSky FAS current sensors + Pozwolenie na kompensację błędów w czujnikach natężenia FrSky FAS + + + + openTx for 9XR + openTx dla platformy 9XR + + + + openTx for 9XR with M128 chip + openTx dla platformy 9XR z M128 + + + + Use FrSky Taranis sticks in a 9X/9XR + Użyj drążków Taranisa w 9X/9XR + + + + + Disable HELI menu and cyclic mix support + Dezaktywowane menu Heli i wsparcie dla cyklicznych mikserów + + + + + Disable TEMPLATES menu + Dezaktywowane menu szablonów + + + + + Disable Global variables + dezaktywowane zmienne globalne + + + + openTx for FrSky Taranis Rev4a + openTx dla FrSky Taranis Rev4a + + + + + + + + + Disable curves menus + Bez menu krzywych + + + + + + + Support for radio modified with regular speaker + Wsparcie dla modyfikacji radia zwykłym głośnikiem + + + + + + + + Used if you have modified your radio with voice mode + Używane jeśli radio jest zmodyfikowane w calu użycia komunikatów głosowych + + + + + + + Used if you have modified your radio with haptic mode + Używane jeśli radio jest zmodyfikowane do użycia wibracji + + + + + + + + + Battery graph + Grafika baterii + + + + + + + Enable the throttle trace in Statistics + Uaktywnić śledzenie gazu w statystykach + + + + openTx for M128 / 9X board + openTx dla platformy 9X z M128 + + + + openTx for Gruvin9x board / 9X + openTx dla platformy Gruvin9x / 9X + + + + Support of FrSky PXX protocol + Wsparcie dla protokołu Frsky PXX + + + + openTx for Sky9x board / 9X + openTx dla platformy Sky9x / 9X + + + + openTx for FrSky Taranis + openTx dla FrSky Taranis + + + + + + + + Support for DSM2 modules + wsparcie modułu DSM2 + + + + Your radio probably uses a wrong firmware, + eeprom size is 4096 but only the first 2048 are used + Twoje radio prawdopodobnie używa złego firmware, + wielkość eepromu jest 4096 ale tylko pierwsze 2048 jest używane + + + + + + + + + PPM center adjustment in limits + Limit dostrojenia centrowania PPM + + + + + + + + + + + PPM values displayed in us + Wartości PPM wyświetlane w us (mikrosekundy) + + + + + + + + + Symetrical Limits + Limity symetryczne + + + + + + + + Pots use in menus navigation + Użycie potencjometrów do nawigacji w menu + + + + + SmartieParts 2.2 Backlight support + Wsparcie podświetlenia SmartieParts 2.2 + + + + + + + + + In model setup menus automatically set switch by moving some of them + W menu modelu automatyczne wybranie przełącznika w przez jego poruszenie + + + + + + + Enable resetting values by pressing up and down at the same time + Szybkie nastawianie wartości +(+) a (-) neguje wartość +(+)a (UP) ustawia max +(-) a (DN) ustawia min +(UP) a (DN) ustawia 0 + + + + + + + + + No graphical check boxes and sliders + Brak graficznych chekboxów i sliderów + + + + + + + + + Don't use bold font for highlighting active items + Nie używaj podświetlenia dla wybranych aktywnych elementów, mikserów, krzywych, expo, etc + + + + + + + EEprom write Progress bar + Pasek postępu zapisywania EEPROM + + + + + + + + Imperial units + Imperialne jednostki w telemetrii + + + + Bluetooth interface + Interface Bluetooth + + + + + + + + + Global variables + Globalne zmienne + + + + Support for SD memory card + Wsparcie karty SD + + + + Support for DSM2 modules using ppm instead of true serial + Wsparcie modułu DSM2 przez użycie PPM zamiast prawdziwego szeregowego + + + + Enable HELI menu and cyclic mix support + Uaktywnij menu HELI i cyklicznych mikserów + + + + ersky9x + + + + + + + + Warning + Ostrzeżenie + + + + EEPROM saved with these warnings: + EEPROM zapisany z tymi ostrzeżeniami: + + + + + FM%1 + FP%1 + FM%1 + + + + Input%1 + Wejście %1 + + + + English + Angielski + + + + French + Francuski + + + + Italian + Włoski + + + + German + Niemiecki + + + + Czech + Czeski + + + + Slovak + Słowacki + + + + Spanish + Hiszpański + + + + Portuguese + Portugalski + + + + No + Nie + + + + RotEnc A + Pokrętło :A + + + + Rot Enc B + Pokrętło :B + + + + Rot Enc C + Pokrętło :C + + + + Rot Enc D + Pokrętło :D + + + + Rot Enc E + Pokrętło :E + + + + + No repeat + Bez powtórzeń + + + + %1 sec + %1 s + + + + Safety %1 + Bezpieczny %1 + + + + Trainer + Trener + + + + Trainer RUD + Trener - SK + + + + Trainer ELE + Trener - SW + + + + Trainer THR + Trener - Gaz + + + + Trainer AIL + Trener - Lotki + + + + Instant Trim + Natychmiastowe trymowanie + + + + Play Sound + Odtwórz dźwięk + + + + Play Haptic + Wibruj + + + + Reset + Zresetuj + + + + Vario + Wariometr + + + + Play Both + Odtwórz oba + + + + Play Value + Odtwórz wartość + + + + Start Logs + Start logowania + + + + Volume + Głośność + + + + Backlight + Podświetlenie + + + + Adjust GV%1 + Ustaw ZG%1 + + + + + + <font color=red><b>Inconsistent parameter</b></font> + Niespójny parametr + <font color=red><b>Niespójny parametr</b></font> + + + + Rotary Encoder + Pokrętło + + + + !Flight mode %1 + !Faza lotu %1 + + + + Flight mode %1 + Faza lotu %1 + + + + Yellow + Żółty + + + + Orange + Pomarańczowy + + + + Red + Czerwony + + + + Winged Shadow How High + + + + + Winged Shadow How High (not supported) + Winged Shadow How High (nie obsługiwane) + + + + FrSky Sensor Hub + Hub sensora FrSky + + + + + None + Żaden + + + + Imperial + Imperialne + + + + Metric + Metryczne + + + + Extra Fine + Bardzo dokładne + + + + Fine + Dokładne + + + + Medium + Średni + + + + Coarse + Gruby + + + + Exponential + Eksponencjalny + + + + Count Up + Licz + + + + Count Down + Odliczaj + + + + %1:%2, + + + + + : %1 Channels, %2usec Delay + :Kanały %1, opóźnienie %2usX + + + + Flight modes(%1) + Fazy lotu(%1) + + + + Flight mode(%1) + Faza lotu (%1) + + + + Rudder + SK + + + + Elevator + SW + + + + Throttle + Gaz + + + + Aileron + Lotki + + + + Play Track + Odtwórz ścieżkę + + + + + --- + + + + + Rud Trim + Trymer SK + + + + Ele Trim + Trymer SW + + + + Thr Trim + Trymer gazu + + + + Ail Trim + Trymer lotek + + + + Rot Enc + Pokrętło + + + + Swedish + Szwedzki + + + + CH%1 + Kan %1 + + + + Background Music + Muzyka tła + + + + Background Music Pause + Muzyka tła - pauza + + + + Delay %1 sec + Opóźnienie %1sec + + + + Duration %1 sec + Czas trwania %1 sec + + + + + + Timer1 + + + + + + + Timer2 + + + + + + All + Wszystkie + + + + + Telemetry + Telemetria + + + + Value + Wartość + + + + Decr: + Zmniejsz: + + + + Incr: + Zwiększ: + + + + Played once, not during startup + Otwarzaj raz, nie w trakcie uruchomienia + + + + %1s + + + + + Value + Wartość + + + + Source + Źródło + + + + GVAR + Zmienna + + + + Increment + Zwiększanie + + + + Own trim + Własne trymery + + + + Flight mode %1 trim + Flight phase %1 trim + Trymer fazy lotu FL%1 + + + + Own value + Własny Wartość + + + + Flight mode %1 value + Flight phase %1 value + Wartość Fazy lotu FL%1 + + + + Keys + Przyciski + + + + Sticks + Drążki + + + + Keys + Sticks + Przyciski i Drążki + + + + + -GV%1 + -ZG%1 + + + + + + GV%1 + ZG%1 + + + + + + Simulator for this firmware is not yet available + Nie jest dostępny symulator dla tego firmware + + + + + Simultaneous usage of expo and curves is no longer supported + Równoległe użycie expo i krzywych nie jest dłużej wspierane + + + + openTx only accepts %1 points in all curves + openTx dopuszcza tylko %1 punktów dla wszystkich krzywych + + + + + + OpenTX on this board doesn't accept this function + OpenTX na tej platformie nie dopuszcza tej funkcji + + + + + OpenTX doesn't accept this protocol + OpenTX nie obsługuje tego protokołu + + + + OpenTX doesn't allow this number of channels + OpenTX nie obsługuje tej ilości kanałów + + + + Simultaneous usage of expo and curves is no longer supported in open9x + Jednoczesne użycie expo i krzywych nie jest dłużej wspierane dla Open9x + + + + th9x on this board doesn't have Rotary Encoders + th9x nie posiada pokręteł na tej platformie + + + + Thanks all for the donations, kind messages, nice ideas, constructive proposals etc. for the next OpenTX/Companion funding model. + +We are really appreciative for that! + +The OpenTX/Companion Team. + Dziękujemy za wszystkie datki, miłe wiadomości, ciekawe pomysły, konstruktywne propozycje. etc. dla następnych aparatur działających z OpenTX/Companion + +Bardzo nam na tym zależy i są to dla nas bardzo wazne elementy + +Zespół OpenTX/Companion. + + + + Setup + + + Form + Formularz + + + + Model Name + Nazwa modelu + + + + Timer2 + Timer 02 + + + + Timer1 + Timer 01 + + + + Throttle Source + Źródło gazu + + + + Switch startup Warning + Ostrzeżenie o przełącznikach przy uruchomieniu + + + + Center beep + Pikanie przy centrowaniu + + + + Trim Increment + Kroki trymera + + + + ON + Włącz + + + + OFF + Wyłącz + + + + Check + Sprawdzenie + + + + Model Image + Obrazek modelu + + + + Exponential + Wykładnicze + + + + Extra Fine + Bardzo dokładne + + + + Fine + Dokładne + + + + Medium + Średnie + + + + Coarse + Zgrubne + + + + Extended Limits + Rozszerzone limity (125%) + + + + Extended Trims + Poszerzone trymery + + + + Throttle Trim + Trymer gazu + + + + Throttle Warning + Ostrzeżenie o gazie + + + + Reverse throttle operation. +If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. + + + Odwrócenie gazu. +Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również zostaną odwrócone. + + + + + Reverse Throttle + Odwrotna praca gazu + + + + Telemetry + + + Form + Formularz + + + + + + + A1 + A1 + + + + + + + A2 + A2 + + + + RSSI + RSSI + + + + Alarm 1 + Alarm 1 + + + + + ---- + ---- + + + + + Yellow + Żółty + + + + + Orange + Pomarańczowy + + + + + Red + Czerwony + + + + Alarm 2 + Alarm 2 + + + + Serial Protocol + Protokół szeregowy + + + + Volt source + Źródło napięcia + + + + Metric + Metryczne + + + + Imperial + Imperialne + + + + Current source + Źródło prądu(natężenia) + + + + Protocol + Protokół + + + + NONE + BRAK + + + + + FAS + FAS + + + + None + Żadne + + + + FrSky Sensor Hub + Hub Czujników FrSky + + + + CEL + Ogniwo + + + + 2 + 2 + + + + 3 + 3 + + + + 4 + 4 + + + + Units + Jednostki + + + + Blades + Łopaty śmigła + + + + Altimetry / Vario + Wysokościomierz/Wario + + + + Alti + Wysokościomierz + + + + Alti+ + Wysokościomierz+ + + + + Vario + Wario + + + + Sink Max + Maks. Opadanie + + + + Off + Wyłączone + + + + Climb Max + Maks. Wznoszenie + + + + Sink Min + Min. Opadanie + + + + Climb Min + Min. Wznoszenie + + + + Vario source + Źródło wario + + + + Vario limits + Limity wario + + + + Use GPS as altitude source + Używaj GPS jako źródła danych wysokości + + + + Display altitude in toolbar + Wyświetl wysokość na pasku + + + + Various + Różne + + + + mAh count + Licznik mAh + + + + FAS Offset + Wyrównanie FAS + + + + Persistent mAh + Stałe mAh + + + + Telemetry screen 1 + Panel telemetrii 1 + + + + + + Custom Screen Type + Typ panelu + + + + + + Nums + Liczby + + + + + + Bars + Paski + + + + + + Source + Źródło + + + + + + Min + Min + + + + + + Gauge + Pomiar + + + + + + Max + Maks + + + + + + Gauge 1 + Pomiar 1 + + + + + + Gauge 2 + Pomiar 2 + + + + + + Gauge 3 + Pomiar 3 + + + + + + Gauge 4 + Pomiar 4 + + + + Telemetry screen 2 + Panel telemetrii 2 + + + + Telemetry screen 3 + Panel telemetrii 3 + + + + TelemetryAnalog + + + Form + Formularz + + + + Unit + Jednostka + + + + Max Value + Maks. wartość + + + + Alarm 1 + Alarm 1 + + + + + ---- + ---- + + + + + Yellow + Żółty + + + + + Orange + Pomarańczowy + + + + + Red + Czerwony + + + + + < + < + + + + + > + > + + + + Alarm 2 + Alarm 2 + + + + Min Value + Min. Wartość + + + + Volts (V) + Wolty (V) + + + + Amps (A) + Ampery (A) + + + + Speed (m/s or ft/s) + Prędkość (m/s albo ft/s) + + + + Raw (-) + Bezwymiarowe (-) + + + + Speed (km/h or miles/h) + Prędkość (km/h albo míle/h) + + + + Meters (m or ft) + Wysokość (m albo ft) + + + + Temp (°) + Temp (°) + + + + Fuel (%) + Paliwo (%) + + + + mAmps (mA) + miliAmpery (mA) + + + + Range + Zasięg + + + + TelemetryPanel + + + Winged Shadow How High + Winged Shadow How High + + + + Winged Shadow How High (not supported) + Winged Shadow How High (Nie obsługiwane) + + + + Timer + + + Form + Formularz + + + + mm:ss + mm:ss + + + + Countdown + Odliczanie + + + + MinuteBeep + Pikanie minutowe + + + + Persistent + Stały + + + + (00:00:00) + (00:00:00) + + + + TimerPanel + + + None + Żaden + + + + Beeps + Dźwięk + + + + Countdown + Odlicznie + + + + avrOutputDialog + + + Dialog + + + + + Show Details + Pokaż szczegóły + + + + result + result + Wynik + + + + executable not found + executable not found + plik wykonywalny nie został znaleziony + + + + + Error + Błąd + + + + Cannot open source file + Nie mogę otworzyć pliku źródłowego + + + + Cannot write destination + Nie mogę zapisać w miejscu docelowym + + + + Writing file: + Zapisuję plik: + + + + ie: OpenTX for 9X board or OpenTX for 9XR board + ie: OpenTX dal platformy 9X lub OpenTX lub 9XR + + + + ie: OpenTX for M128 / 9X board or OpenTX for 9XR board with M128 chip + ie: OpenTX dla platformy M128 / 9X lub OpenTX dla platformy 9XR z chipem M128 + + + + ie: OpenTX for Gruvin9X board + ie: OpenTX dla platformy Gruvin9X + + + + Your radio uses a %1 CPU!!! + +Please check advanced burn options to set the correct cpu type. + Twoje radio używa procesora %1!!! + +Sprawdź zaawansowane funkcje wypiekania by ustalić prawidłowy procesor. + + + + Your radio uses a %1 CPU!!! + +Please select an appropriate firmware type to program it. + Twoje radio używa procesora %1!!! + +Proszę wybrać poprany rodzaj firmware. + + + + +You are currently using: + %1 + +Aktualnie używasz: + %1 + + + + + Writing + Zapis + + + + + Reading + Czytanie + + + + + Verifying + Weryfikacja + + + + done - exit code %1 + done - exit code %1 + Zakończone z kodem %1 + + + + done with errors + done with errors + Zakończone z Błędami + + + + + done - SUCCESSFUL + done - SUCCESSFUL + Zakończono sukcesem + + + + did not finish correctly + did not finish correctly + Nie zakończono poprawnie + + + + did not finish correctly! +Do you want some help ? + did not finish correctly! +Do you want some help ? + Nie zakończono poprawnie +Potrzebujesz pomocy ? + + + + Copy did not finish correctly + Nie zakończono poprawnie kopiowania + + + + finished correctly + finished correctly + Zakończono poprawnie + + + + Copy finished correctly + Zakończono poprawnie kopiowanie + + + + Started + Started + Rozpoczęto + + + + FUSES: Low=%1 High=%2 Ext=%3 + Bezpieczniki: Low=%1 High=%2 Ext=%3 + + + + burnConfigDialog + + + Programmer Configuration + Configuration AVRDUDE / SAM-BA + Konfiguracja programatora + + + + Location of AVRDUDE executable + Położenie wykonywalnego AVRDUDE + + + + + + + The location of the AVRDUDE executable. + Położenie wykonywalnego AVRDUDE. + + + + DFU-Util Location + Położenie narzędzia DFU + + + + + + Use this button to browse and look for the AVRDUDE executable file. + Użyj tego przycisku w celu znalezienia pliku wykonywalnego AVRDUDE. + + + + + + Browse... + Przeglądaj ... + + + + Programmer + Typ programatora + + + + Programmer used for communicating with the controller. +Please consult the programmer's documentation and the AVRDUDE documentation to select the appropriate programmer. + Programator użyty do komunikacji z mikrokontrolerem. + + + + List all available programmers. + Lista wszystkich dostępnych programów. + + + + List Available + Lista dostępnych + + + + + Extra arguments that will be passed to AVRDUDE on every call + Dodatkowe argumenty przekazywane do AVRDUDE przy każdorazowym wywołaniu + + + + + Extra arguments used in AVRDUDE. +This can be used for providing extra information to AVRDUDE. + +Please only use this if you know what you are doing. There are no error checks and you could cripple your controller. + Dodatkowe argumenty AVRDUDE. +Mogą być użyte do przekazania dodatowych informacji do AVRDUDE. + +Użyj tylko jeśli dokłądnie wiesz co robisz !! +Nie ma to spradzania błędów i mozesz uszkodzić mikrokontroler. + + + + + Extra Arguments + Dodatkowe argumenty + + + + Show AVRDUDE help + Pokaż pomoc AVRDUDE + + + + Show Help + Pokaż pomoc + + + + + Port + Port + + + + AVRDUDE Location + Położenie AVRDUDE + + + + Use advanced controls + Użyj zaawansowanych ustawień + + + + + CPU of your TX + Procesor/mikrokontroler twojego radia + + + + Communication port to the programmer. + + Port komunikacyjny do programatora. + + + + + CPU present on your 9x radio +Should be m64 for stock radios +m2560 for v4.1 boards + CPU zainstalowany w twoim radiu 9x : +m64 dla zwykłego radia +m2560 dla platformy V4 + + + + SAM-BA Location + Położenie SAM-BA + + + + Alternate device + Alternatywne urządzenie + + + + + Location of sam-ba executable + Położenie plików wykonywalnych sam-ba + + + + MCU + Typ procesora CPU/MCU + + + + ARM MCU + Procesor ARM + + + + sam-ba serial port + Port szeregowy sam-ba + + + + DFU-UTIL Configuration + Konfiguracja DFU-UTIL + + + + SAM-BA Configuration + Konfiguracja SAM-BA + + + + AVRDUDE Configuration + Konfiguracja AVRDUDE + + + + + + Select Location + Wybierz położenie + + + + + Companion + Companion + + + + <b><u>WARNING!</u></b><br>This will reset the fuses of %1 to the factory settings.<br>Writing fuses can mess up your radio.<br>Do this only if you are sure they are wrong!<br>Are you sure you want to continue? + <b><u>UWAGA!</u></b><br>U zresetuje bezpieczniki %1 do fabrycznych ustawień.<br>Zapis bezpieczników może uszkodzić twoje radio.<br>Zrób to tylko jeśli jesteś pewien że są złe!<br>Jesteś pewien by kontynuować? + + + + <b><u>WARNING!</u></b><br>Normally CPU type is automatically selected according to the chosen firmware.<br>If you change the CPU type the resulting eeprom could be inconsistent. + <b><u>Ostrzeżenie!</u></b><br>Normalnie typ procesora jest wybierany automatycznie zgodnie z wybranym firmware.<br>Jeśli zmienisz typ procesora dla EEpromu rezultaty mogą być nieprzewidywalne. + + + + burnDialog + + + Customize Splash + Własne logo + + + + + Write to TX + Zapisz do radia + + + + <html><head/><body><p>Modify calibration parameters using settings from current profile</p></body></html> + <html><head/><body><p>Zmiana parametrów kalibracji przy użyciu aktualnego profilu</p></body></html> + + + + Patch calibration setting from profile + Zamień ustawienia kalibracji wartościami z profilu + + + + <html><head/><body><p>Modify HW parameters using settings from current profile</p></body></html> + <html><head/><body><p>Zmień ustawiania parametrów HW przy pomocy wartości z aktualnego profilu</p></body></html> + + + + Patch HW setting from profile + Zmień ustawiania parametrów HW wartościami z profilu + + + + Date & Time + Data i Czas + + + + SVN + + + + + Variant + Wariant + + + + Invert Color + Odwróć kolory + + + + Load Image + Otwórz logo + + + + Open Splash Library + Otwórz bibliotekę obrazków + + + + ... + + + + + Substitute image in firmware + Zmień logo w firmware + + + + + Browse for file + Przeglądaj pliki + + + + Allows Companion to write to older version of the firmware + Pozwól Companion na zapis do starszej wersji firmware + + + + Backup and restore Models and Settings + Zbakupuj i odtwórz Modele i Ustawienia + + + + Use image in settings + Użyj Logo w ustawieniach + + + + Check Firmware compatibility + Sprawdź kompatybilność firmware + + + + Current Profile + Aktualny profil + + + + Cancel + Przerwij + + + + Write firmware to TX + Zapisz firmware do radia + + + + Current profile + Aktualny profil + + + + Open + Otwórz + + + + + + + + + Warning + Ostrzeżenie + + + + %1 is not a known firmware + %1 nie jest znanym firmware + + + + Burn anyway ! + Wypiecz mimo wszystko ! + + + + + + + + + + + + + Error + Błąd + + + + Unable to find file %1! + Nie mogę odnaleźć pliku %1! + + + + + + Error opening file %1: +%2. + Błąd otwarcia pliku %1: +%2. + + + + Write Models and Settings to TX + Zapisz Modele i Ustawienia do radia + + + + Write Models and Settings in %1 to TX + Zapisz Modele i Ustawienia w %1 do radia + + + + Choose file to load Models and Settings from + Wybierz plik Modeli i Ustawien do wczytania + + + + + + Invalid binary Models and Settings File %1, Proceed anyway ? + Nieprawidłowy plik Modeli i Ustawień : %1. Kontynuować ? + + + + Error reading file %1: +%2. + Błąd odczytu pliku %1: +%2. + + + + Open Image to load + Otwórz plik z logo + + + + Images (%1) + Obrazki (%1) + + + + + Cannot load %1. + Nie mogę załadować %1. + + + + Cannot save customized firmware + Nie mogę zapisać przystosowanego firmware + + + + Custom image not found + Własny obrazek nie odnaleziony + + + + No firmware selected + Brak wyboru firmware + + + + Wrong radio calibration data in profile, Settings not patched + Błędna kalibracja radia w profilu, Ustawienia nie spatchowane + + + + Wrong radio setting data in profile, Settings not patched + Błędne ustawienia radia w profilu, Ustawienia nie spatchowane + + + + + Cannot write file %1: +%2. + Nie mogę zapisać pliku %1: +%2. + + + + Error writing file %1: +%2. + Błąd zapisu pliku %1: +%2. + + + + compareDialog + + + Dialog + + + + + Drag first model here + Przeciągnij tutaj pierwszy model + + + + Drag second model here + Przeciągnij tutaj drugi model + + + + Close + Zamknij + + + + Print + Drukuj + + + + Print to file + Drukuj do pliku + + + + General Model Settings + Główne ustawienia modelu + + + + + + Name + Nazwa + + + + + EEprom Size + Wielkość EEPROM + + + + + Timer1 + + + + + + Timer2 + + + + + + Protocol + Protokół + + + + + Pulse Polarity + Polaryzacja impulsu + + + + + Throttle Trim + Trymer gazu + + + + + + + Enabled + Włączone + + + + + + + Disabled + Wyłączone + + + + + Throttle Expo + Expo gazu + + + + + Trim Increment + Krok trymera + + + + + Center Beep + Dźwięk centrowania + + + + Flight modes Settings + Flight Phases Settings + Ustawiania faz lotu + + + + + Fades + Przejścia + + + + + Trims + Trymery + + + + + + + + + + + + + Switch + Przełącznik + + + + + IN + (+) + + + + + OUT + (-) + + + + + + + + + + + + + FM + FP + FL + + + + + Gvars + Gl-Zm + + + + + Rot. Enc. + Pokrętło. + + + + Limits + Limity + + + + + + + + + + Offset + Ofset + + + + + + + + Min + + + + + + + + + Max + Maks + + + + + + Invert + Odwróć + + + + + + + + + CH + Kanał + + + + + INV + Odwr + + + + + NOR + --- + + + + Global Variables + Zmienne globalne + + + + + GV + ZG + + + + Expo/Dr Settings + Expo/Ustawienia DR + + + + + Weight + Waga + + + + + Curve + Krzywa + + + + Mixers + Miksery + + + + + noTrim + Bez trymera + + + + + Delay(u%1:d%2) + Opóźnienie(u%1:d%2) + + + + + Slow(u%1:d%2) + Spowolnienie(u%1:d%2) + + + + + Warn + Ostrzeżenie + + + + + No name + Model bez nazwy + + + + + + + DISABLED + Wyłączone + + + + Curves + Krzywe + + + + 5 Points Curves + 5-cio punktowe Krzywe + + + + + + + pt %1 + punkt %1 + + + + 9 Points Curves + 9-cio punktowe Krzywe + + + + + Function + Funkcja + + + + + Param + Parametr + + + + + Enable + Włączone + + + + Telemetry Settings + Ustawienia telemetrii + + + + + Analog + Analogowy + + + + + Unit + Jednostki + + + + + Scale + Skala + + + + + + + A%1 + + + + + + Alarm 1 + + + + + + Alarm 2 + + + + + + + + Type + Typ + + + + + + + Condition + Warunek + + + + + + + + + Value + Wartość + + + + + + + Flight mode name + Nazwa fazy lotu + + + + + + + Flight modes + Fazy lotu + + + + + + + Flight mode + Faza lotu + + + + + Repeat + Powtórz + + + + Safety Switches + Przełącznik bezpieczeństwa + + + + + RSSI Alarm + Alarm RSSI + + + + + Telemetry Bars + Wskaźniki telemetryczne + + + + + Bar Number + Numer wskaźnika + + + + + Source + Źródło + + + + + Custom Telemetry View + Własny ekran telemetrii + + + + Logical Switches + Przełączniki Logiczne + + + + + LS + L suwak + + + + Switch Assignment + Przypisanie Przełączników + + + + CF + FS + + + + Print Document + Drukuj dokument + + + + Select PDF output file + Wybierz plik docelowy PDF + + + + contributorsDialog + + + Dialog + + + + + People who have contributed to this project + Ludzie związani z tym projektem + + + + Coders + Programiści + + + + Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) + Specjalne podziękowania Rafałowi Tomczakowi (RadioClone), Thomasowi Husteterowi (th9x) a także Erazowi Ravivowi(er9x i eePe) + + + + Companion Release Notes + Informacje o wydaniu Companion + + + + Thank you all !!! + Wszystkim wam dziękujemy !!! + + + + Contributors + Współpracownicy + + + + OpenTX Release Notes + Informacje o wydaniu OpenTX + + + + customizeSplashDialog + + + Customize Splash + Zrób własne loga + + + + Save Image + Zapisz logo + + + + Invert Color + Odwróć kolory + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> + + + + + Load Firmware + Otwórz firmware + + + + Load Image + Otwórz logo + + + + Open Splash Library + Otwórz bibliotekę obrazków + + + + ... + + + + + Save Firmware + Save To Hex + Zapisz firmware + + + + + + Select an original firmware file + Wybierz oryginalny plik z firmware + + + + Open + Otwórz + + + + Select an image to customize your splash <br />or save actual firmware splash + Wybierz obrazek do spersonalizowania twojego ekranu <br />lub wgraj aktualny obrazek do firmware + + + + + + + Error + Błąd + + + + Could not find bitmap to replace in file + Nie mogę znaleźć bitmapy w celu zastąpienia pliku + + + + Open Image to load + Otwórz obrazek do załadowania + + + + Images (%1) + Obrazki (%1) + + + + + Cannot load %1. + Nie mogę wczytać %1. + + + + + Save your custimized firmware + Zgraj spersonalizowane firmware + + + + + Write to file + Zapis do pliku + + + + Error reading file %1 + Błąd otwarcia pliku %1 + + + + Firmware correctly saved. + Firmware zostało prawidłowo zapisane. + + + + Firmware not saved. + Firmware nie zostało zapisane. + + + + PNG images (*.png);; + Obrazki PNG (*.png);; + + + + downloadDialog + + + Downloading: + Pobierz: + + + + Unable to save the file %1: %2. + Nie mogę zapisać pliku %1: %2. + + + + Companion + Companion + + + + Download failed: %1. + Pobieranie nieudane: %1. + + + + fusesDialog + + + Fuses + Bezpieczniki + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Reads the current fuses in the AVR controller.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Proper states for </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">AtMega 64 </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse not set: 0E, 81, FF</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse set: 0E, 89, FF</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Proper states for AtMega 2560 :</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse not set: D7, 11, FC</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM erase fuse set: D7, 19, FC</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Czyta aktualne ustawienia bezpieczników z kontrolera AVR</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Prawidłowe ustawienia </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">AtMega 64 </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM wyczyszczenie nieustawionego bezpiecznika: 0E, 81, FF</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM wyczyszczenie ustawionego bezpiecznika: 0E, 89, FF</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Przwidłowe ustawienia AtMega 2560 :</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM wyczyszczenie nieustawionego bezpiecznika: D7, 11, FC</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">EEPROM wyczyszczenie ustawionego bezpiecznika: D7, 19, FC</span></p></body></html> + + + + Read Fuses + Odczytaj bezpieczniki + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">Reset Fuses</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Fuses in the AVR tell it how to behave. Pressing this button sets the fuses to the default parameters needed in the FW. These parameters are different for stock and 4.1 MB, please verify you selected the appropriate processor type in preferences.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">This button also sets the &quot;EEPROM protect&quot; Fuse.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">This prevents erasing of the EEPROM when the flash memory is written.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">WARNING</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Setting fuses can lead to problems and even a total lockout from your controller. Do this only if you know what you are doing.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">When in doubt consult either the project's page or the 9xforum (http://9xforums.com/forum/)</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">If you do get locked out - google lookup for &quot;dealing with Fuse Bricks&quot;.</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">Reset bezpieczników</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Bezpieczniki w AVR opisz zachowanie. Naciśnięcie tego przycisku ustawia bezpieczniki do domyślnych parametrów potrzebnych w FW. Parametry te są różne dla zwykłej oraz 4,1 płyty głównej, sprawdź, czy wybrano odpowiedni typ procesora w preferencjach.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Ten przycisk róznież ustawia &quot;Bezpiecznik ochrony EEPROM&quot; Fuse.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">To ochrania EEPROM przed wymazaniem gdy flaszujesz radio.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">UWAGA!!</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Ustawianie bezpieczników moze prowadzić do problemów łacznie z całkowitym zablokowaniem twojego radia. Rób to tylko wtedy gdy masz absolutną pewność i wiedzę.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Gdy masz wątpliwości skonsultuj się ze stroną projektu lub na 9xforum (http://9xforums.com/forum/)</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Jeśli urządzeni zostanie zablokowane przeszukaj google w celu znalezienia &quot;Jak naprawić Fuse BRICK &quot;.</span></p></body></html> + + + + Reset Fuses +EEPROM - PROTECT + Zresetuj bezpieczniki +EEPROM jest chroniony + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">Reset Fuses</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Fuses in the AVR tell it how to behave. Pressing this button sets the fuses to the default parameters needed in the </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">FW. These parameters are different for stock and 4.1 MB, please verify you selected the appropriate processor type in preferences.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">This button also clears the &quot;EEPROM protect&quot; Fuse.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">This causes erasing of the EEPROM when the flash memory is written.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">WARNING</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Setting fuses can lead to problems and even a total lockout from your controller. Do this only if you know what you are doing.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">When in doubt consult either the project's page or the 9xforum (http://9xforums.com/forum/)</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">If you do get locked out - google lookup for &quot;dealing with Fuse Bricks&quot;.</span></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">Reset bezpieczników</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Bezpiecznieki w AVR opisz zachowanie. Naciśnięcie tego przycisku ustawia bezpieczniki do domyślnych parametrów potrzebnych w FW. Parametry te są różne dla zwykłej oraz 4,1 płyty głównej, sprawdź, czy wybrano odpowiedni typ procesora w preferencjach.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Ten przycisk róznież ustawia &quot;Bezpiecznik ochrony EEPROM&quot; Fuse.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">To ochrania EEPROM przed wymazaniem gdy flaszujesz radio.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600; text-decoration: underline;">UWAGA!!</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Ustawianie bezpieczników moze prowadzić do problemów łacznie z całkowitym zablokowaniem twojego radia. Rób to tylko wtedy gdy masz absolutną pewność i wiedzę.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Gdy masz wątpliwości skonsultuj się ze stroną projektu lub na 9xforum (http://9xforums.com/forum/)</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Jeśli urządzeni zostanie zablokowane przeszukaj google w celu znalezienia &quot;Jak naprawić Fuse BRICK &quot;.</span></p></body></html> + + + + Reset Fuses +EEPROM - DELETE + Zresetuj bezpieczniki +EEPROM będzie skasowany + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">WARNING</span></p> +<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Changing the fuses can mess up your radio.</p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Proceed only if you know what you are doing.</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">UWAGA!!</span></p> +<p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Zmiana ustawień bezpieczników może zepsuć swoje radio.</p> +<p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Rób to tylko wtedy gdy masz absolutną pewność i wiedzę.</p></body></html> + + + + joystickDialog + + + Configure Joystick + Ustaw joystick + + + + Ch2 + Kanał 02 + + + + + + + + + + + Not Assigned + Nie przydzielono + + + + + + + + + + + Right Vertical + Prawy pionowy + + + + + + + + + + + Right Horizontal + Prawy poziomy + + + + + + + + + + + Left Vertical + Lewy pionowy + + + + + + + + + + + Left Horizontal + Lewy poziomy + + + + + + + + + + + P1 + Potencjometr 1 + + + + + + + + + + + P2 + Potencjometr 2 + + + + + + + + + + + P3/LS + Potencjometr 3 /Lewy suwak + + + + + + + + + + + RS + Prawy suwak + + + + Ch1 + Kanał 01 + + + + Ch4 + Kanał 04 + + + + Ch6 + Kanał 06 + + + + Ch3 + Kanał 03 + + + + Ch5 + Kanał 05 + + + + Ch7 + Kanał 07 + + + + Ch8 + Kanał 08 + + + + Instructions + Instrukcja + + + + Cancel + Przerwij + + + + Next + Następny + + + + Ok + OK + + + + Move sticks and pots in every direction making full movement +Press next when finished + Poruszaj drązkami i potencjometrami w pełnym możliwym zakresie. +Naciśnij Dalej po skończeniu + + + + + Error + Błąd + + + + Cannot open joystick. + Nie mogę otwórz joysticka. + + + + Place sticks and pots in middle position. +Press next when done + Ustaw drążki i potencjometry w środku. +Naciśnij Dalej po skończeniu + + + + Map joystick channels to controls using comboboxes. +Press next when done + Zmapuj kanały joysticka używają comboboxów. +Naciśnij Dalej po skończeniu + + + + Check inversion checkbox to get maximum at top-right position. +Press next when done + Sprawdż checkbox rewersu w celu uzyskania maksimum w górnej prawej pozycji. +Naciśnij Dalej po skończeniu + + + + Press ok to save configuration +Press cancel to abort joystick calibration + Naciśnij OK w celu zapisu, Anuluj w celu przerwania kalibracji joysticka. +Tlačítkem Zrušit přerušíte kalibraci + + + + Duplicated stick assignement + Duplicitní přiřazení Drążki + + + + logsDialog + + + Companion Log Viewer + Companion - przegląd logów + + + + Filename + nazwa pliku + + + + Open LogFile + Otwórz plik logu + + + + Zoom + Przybliżenie + + + + X + X + + + + Y + Y + + + + Fly sessions + Loty + + + + Telemetry logs + Logi Telemetrii + + + + Time + Czas + + + + Error + Błąd + + + + Cannot write file %1: +%2. + Nie mogę zapisać pliku %1: +%2. + + + + Select your log file + Wybierz plik loga + + + + Available fields + Dostępne pola + + + + The selected logfile contains %1 invalid lines out of %2 total lines + Wybrany plik zawiera %1 błędnych linii z %2 wszystkich linii + + + + mdiChild + + + Simulate Tx + Symulacja radia + + + + modelConfigDialog + + + Model Configuration Wizard + Kreator ustawień modelu + + + + Engine + Silnik + + + + Model Type + Typ modelu + + + + Airplane + Samolot + + + + Helicopter + Heli + + + + Glider + Szybowiec + + + + Wing + Skrzydła + + + + Aileron controls + Lotki + + + + No Ailerons + Bez lotek + + + + 1 Servo (or Y) + Jedno serwo (lub odwracający Y kabel) + + + + + + 2 Servos + Dwa serwa + + + + Flaps controls + Klapy + + + + No Flaps + Bez klap + + + + 1 Servo (or inverting Y) + Jedno serwo (lub Y kabel) + + + + Spoilers + Przerywacze + + + + No Spoilers/Airbrakes + Bez przerywaczy/hamulców + + + + 1 Servo (or Y or inverting Y) + Jedno serwo (lub Y kabel) + + + + Swash Plate + Tarcza + + + + Swash plate + Tarcza + + + + 90° / Fixed / Coax + + + + + 120° + + + + + 120X° + + + + + 140° + + + + + FlyBarLess + + + + + Tail + Ogon + + + + Tail controls + Kontrola ogona + + + + 1 Servo Elevator / 1 Servo Rudder + 1x serwo SW / 1x serwo SK + + + + V Tail + Deltamix (Usterzenie motylkowe) + + + + 2 Servos Elevator / 1 Servo Rudder + 2x serwo SW / 1x serwo SK + + + + Gyroscope + Gyro + + + + NoGyro + Bez gyra + + + + Switch control + Kontrola przełącznikem + + + + Pot control + Kontrola potencjometrem + + + + Channel style + Styl kanału + + + + Open9x Style + Styl Open9x + + + + Futaba Style + Styl Futaba + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + 9 + + + + + 1 + + + + + 10 + + + + + Ele2 + SW2 + + + + Use advanced controls + Użyj zaawansowanych ustawień + + + + Spoiler2 + Przerywacz2 + + + + Flap2 + Klapa2 + + + + Flap1 + Klapa1 + + + + Rud2 + SK2 + + + + + + + + + + AUTO + + + + + + + + + + + CH01 + Kanał 01 + + + + + + + + + + CH02 + Kanał 01 + + + + + + + + + + CH03 + Kanał 03 + + + + + + + + + + CH04 + Kanał 04 + + + + + + + + + + CH05 + Kanał 05 + + + + + + + + + + CH06 + Kanał 06 + + + + + + + + + + CH07 + Kanał 07 + + + + + + + + + + CH08 + Kanał 08 + + + + + + + + + + CH09 + Kanał 09 + + + + + + + + + + CH10 + Kanał 10 + + + + Ail2 + Lotka2 + + + + Spoiler 1 + Przerywacz1 + + + + Delta wing + Skrzydło delta + + + + + Not present + Brak + + + + Present + Jest + + + + Rudder + SK + + + + Single rudder + Pojedynczy SK + + + + Dual rudder (with 2 servos) + Podwójny SK (dwa serwa) + + + + Apply configuration ? + Zastosować konfigurację ? + + + + Apply configuration deleting existing model ? + Zastosować konfigurację kasując instniejący model ? + + + + preferencesDialog + + + Preferences + Preferencje + + + + Check for selected Fw updates + Sprawdź aktualizacje firmware + + + + Ask use of wizard for new models + Zapytać czy używać konfiguratora nowych modeli + + + + Invert Pixels + Odwrócić piksele + + + + + ... + + + + + Remember switches in simulator + Zapamietać przaełaczniki w symulatorze + + + + Enable + Włącz + + + + Calibrate + Kalibruj + + + + + + + Open Folder + Otwórz katalog + + + + FwInfo + + + + + Check for updates + Sprawdź aktualizacje + + + + Open Image + Otwórz obrazek + + + + Language + Język + + + + + Download + Pobierz + + + + Set language of voice. +May be different from firmware language + Ustaw język komuniaktów głosowych (). +Moze być inny od języka firmware + + + + Voice + Komuniakty głosowe + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CheckBox + + + + + Ask for flashing after Download + Zapytaj o flaszowanie po pobraniu + + + + Export Profile + Eksport profili + + + + Import Profile + Import profili + + + + Profile Name + Nazwa profilu + + + + Automatically add version number to the filename after download + Automatycznie dodaj numer wersji do nazwy pliku po pobraniu + + + + Save Profile + Zapisz profil + + + + Show Splash At Start + Pokazuj ekran startowy z logo + + + + Automatic Backup Folder + Automatyczny Katalog Backupów + + + + Simu BackLight + BackLight Color + Kolor podświetlenia + + + + Blue + Niebieski + + + + Green + Zielony + + + + Red + Czerwony + + + + Orange + Pomarańczowy + + + + Yellow + Żółty + + + + Theme + Skórka + + + + + Requires restart + Wymagany restart + + + + Classic + Klasyczna + + + + Monochrome + Monochromatyczna + + + + MonoWhite + Mono-Biała + + + + MonoBlue + Mono-Niebieska + + + + Icon size + Wielkość Ikon + + + + Small + Mała + + + + Normal + Normalna + + + + Big + Duża + + + + Huge + Olbrzymia + + + + Check for updates on startup + Sprawdź aktualizacje na przy uruchomieniu + + + + Google Earth Executable + Wykonywalny plik Google Earth + + + + Find Executable + Znajdź wykonywalny plik + + + + Language (requires restart) + Język programu (wymaga restartu) + + + + Custom TX splash screen + Własny obrazek na wyświetlaczu + + + + Channel order + +This is used by the templated to determine which channel goes to what number output. + Kolejność kanałów + To ustawienie jest używane przez szablony, jakie wyjście przypisane jest do kanałów. + + + + Firmware + + + + + Default Stick Mode + Bazowy mod drążków + + + + Default Channel Order + Bazowa kolejność kanałów + + + + Personal splash library + Własna biblioteka obrazków + + + + Mode selection: + +Mode 1: + Left stick: Elevator, Rudder + Right stick: Throttle, Aileron + +Mode 2: + Left stick: Throttle, Rudder + Right stick: Elevator, Aileron + +Mode 3: + Left stick: Elevator, Aileron + Right stick: Throttle, Rudder + +Mode 4: + Left stick: Throttle, Aileron + Right stick: Elevator, Rudder + + + Wybór modu: + +Mode 1: + Lewa ręka : Ster Wysokości, Ster Kierunku + Prawa ręka : Gaz, Lotki + +Mode 2: + Lewa ręka : Gaz, Ster Kierunku + Prawa ręka : Ster Wysokości, Lotki + +Mode 3: + Lewa ręka : Ster Wysokości, Lotki + Prawa ręka : Gaz, Ster Kierunku + +Mode 4: + Lewa ręka : Gaz, Lotki + Prawa ręka : Ster Wysokości, Ster Kierunku + + + + + + Mode 1 (RUD ELE THR AIL) + Mod 1 (SK.SW.Gaz.Lot) + + + + Mode 2 (RUD THR ELE AIL) + Mod 2 (SK.Gaz.SW.Lot) + + + + Mode 3 (AIL ELE THR RUD) + Mod 3 (LOT.SW.Gaz.SK) + + + + Mode 4 (AIL THR ELE RUD) + Mod 4 (Lot.Gaz.SW.SK) + + + + Joystick + + + + + Include companion splashes + Załącz bazowe logo + + + + Only user defined splashes + Własne logo + + + + Splash library behaviour + Zachowanie bibliteki obrazków + + + + SD Structure path + Struktura karty SD + + + + Processor ID + ID procesora + + + + Recent History Size + Wielkość zapamietanej historii + + + + Profile slot + Slot profilu + + + + auto backup before write + Automatyczny backup przed zapisem + + + + Simulator capture folder + Katalog zapisu symulatora + + + + Use clipboard only + Użycie schowka do kopiowania + + + + Last downloaded release: %1 + Ostatnie pobrane wydanie: %1 + + + + Image stored in settings + Logo zapamietane w ustawieniach + + + + + No joysticks found + Brak oysticka + + + + Select the folder replicating your SD structure + Wybierz folder do zreplikowania struktury Twojej karty SD + + + + Profile name is empty, profile slot %1 will be deleted.<br>Are you sure ? + Nazwa profilu jest pusta, slot %1 będzie skasowany.<br>Jesteś pewien ? + + + + Select your library folder + Support for SD memory card + Wybierz katalog bibliteki + + + + Select your snapshot folder + Katalog obrazków dla symulatora + + + + The selected firmware has never been downloaded by Companion. + Wybrany firmware nie został nigdy pobrany przez Companion. + + + + The selected firmware cannot be downloaded by Companion. + Companion nie moze pobrac wybranego firmware. + + + + Select your Models and Settings backup folder + Wybierz folder do backupowania Modeli i Ustawień + + + + Select Google Earth executable + Wybierz wykonywalny plik Google Earth + + + + + Error + Błąd + + + + + Cannot load %1. + nie mogę wczytać %1. + + + + Export profile As + Wyeksportuj profil jako + + + + Profile slot is not empty, profile slot %1 will we overwritten.<br>Are you sure ? + Slot profilu nie jest pusty, slot %1 zostanie zapisany.<br>Jesteś pewien ? + + + + Open Profile to import + Otworzyć PRofil do zaimportowania + + + + Open Image to load + Otworzyć obrazek + + + + Images (%1) + Obrazki (%1) + + + + printDialog + + + Dialog + + + + + Close + Zamknij + + + + Print + Drukuj + + + + Print to file + Drukuj do pliku + + + + Setup for: + Ustawianie: + + + + printed on: %1 + Wydrukowanno na: %1 + + + + General Model Settings + Główne ustawienia modelu + + + + + + + Name + Nazwa + + + + EEprom Size + Rozmiar EEPROM + + + + Timer1 + + + + + Timer2 + + + + + Protocol + Protokół + + + + Pulse Polarity + Polaryzacja pulsu + + + + Throttle Trim + Trymer gazu + + + + + + Enabled + Włączone + + + + + Disabled + Wyłaczone + + + + Throttle Expo + Expo gazu + + + + Trim Increment + Krok trymera + + + + Center Beep + Sygnał centrowania + + + + Flight modes Settings + Flight Phases Settings + Uztawienie faz lotu + + + + Fades + Przejścia + + + + Trims + Trymery + + + + Gvars + Zmienne globalne + + + + Rot.Enc. + Pokrętło. + + + + + + + + Switch + Przełącznik + + + + Logical Switches + Przełączniki Logiczne + + + + + LS + PL + + + + Switch Assignments + Przypisanie Przełączników + + + + IN + (+) + + + + OUT + (-) + + + + + + + FM + FP + LR + + + + Expo/Dr Settings + Ustawienia Expo/DR + + + + Weight + Vaga + + + + + + Curve + Krzywa + + + + Mixers + Miksery + + + + + + + + CH + Kanał + + + + noTrim + Bez trimu + + + + + + + + Offset + Ofset + + + + Delay(u%1:d%2) + Opóżnienie(u%1:d%2) + + + + Slow(u%1:d%2) + Spowolnienie(u%1:d%2) + + + + Warn + Ostrzeżenie + + + + + DISABLED + Wyłączone + + + + Limits + Limity + + + + + + + Min + + + + + + + + Max + Maks + + + + + + Invert + Odwrócenie + + + + + + INV + Odwr + + + + + + NOR + --- + + + + Curves + Krzywe + + + + pt %1 + pkt %1 + + + + Global Variables + Zmienne globalne + + + + GV + GZ + + + + Safety Switches + Przełączniki bezpieczeństwa + + + + + + + + Value + Wartość + + + + Function + Funkcja + + + + Parameter + Parametr + + + + Repeat + Powtórz + + + + Telemetry Settings + Ustawienia telemetrii + + + + + Alarm 1 + Alarm 1 + + + + + Alarm 2 + Alarm 2 + + + + Analog + Analog + + + + Unit + Jednostki + + + + Scale + Skala + + + + + + + Type + Typ + + + + + + + Condition + Warunek + + + + A%1 + + + + + RSSI Alarm + Alarm RSSI + + + + Frsky serial protocol + Protokół szeregowy Frsky + + + + System of units + System jednostek + + + + Propeller blades + Łopaty śmigła + + + + Telemetry Bars + Belki telemetrii + + + + Bar Number + Numer belki + + + + Source + Źródło + + + + ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) + pliki ODF (*.odt);;pliki PDF (*.pdf);;pliki HTML (*.htm *.html);;Wszystkie pliki (*) + + + + + Custom Telemetry View + Widok telemetrii użytkownika + + + + Flight mode name + Nazwa trybu lotu + + + + + Flight modes + Tryby lotu + + + + + Flight mode + Tryb lotu + + + + Print Document + Drukuj dokument + + + + Select PDF output file + Wybierz docelowy plik PDF + + + + simulatorDialog + + + + + + Right Double Click to Reset + Powójne kliknięcie RP myszy w celu zresetowania + + + + THR + Gaz + + + + RUD + SK + + + + ELE + SW + + + + AIL + Lot + + + + + Hold X + Przytrzymaj X + + + + + Fix X + Zablokuj X + + + + + Fix Y + Zablokuj Y + + + + + Hold Y + Zablokuj Y + + + + + + + TextLabel + + + + + TRN + + + + + GEA + + + + + ID0 + + + + + ID1 + + + + + ID2 + + + + + P1 + Potencjometr1 + + + + + + 0 % + + + + + P2 + Potencjometr2 + + + + P3 + Potencjometr3 + + + + 9x Simulator + Symulator 9x + + + + Outputs + Wyjścia + + + + CS1 + PL1 + + + + CS2 + PL2 + + + + CS3 + PL3 + + + + CS4 + PL4 + + + + CS5 + PL5 + + + + CS6 + PL6 + + + + CS7 + PL7 + + + + CS8 + PL8 + + + + CS9 + PL9 + + + + CSA + PLA + + + + CSB + PLB + + + + CSC + PLC + + + + CSD + PLD + + + + CSE + PLE + + + + CSF + PLF + + + + CSG + PLG + + + + CSH + PLH + + + + CSI + PLI + + + + CSJ + PLJ + + + + CSL + PLL + + + + CSM + PLM + + + + CSN + PLN + + + + CSO + PLO + + + + CSP + PLP + + + + CSQ + PLQ + + + + CSR + PLR + + + + CSS + PLS + + + + CST + PLT + + + + CSU + PLU + + + + CSV + PLV + + + + BEEP + Zvuk + + + + Companion Simulator + Symulator Companion + + + + CSK + SWK + PLK + + + + CSW + SWW + PLW + + + + CH1 + Kanał 01 + + + + + + + + + + + + + + + + + + + -100.1 + + + + + CH9 + Kanał 09 + + + + CH2 + Kanał 02 + + + + CH10 + Kanał 10 + + + + CH3 + Kanał 03 + + + + CH11 + Kanał 11 + + + + CH4 + Kanał 04 + + + + CH12 + Kanał 12 + + + + CH5 + Kanał 05 + + + + CH13 + Kanał 13 + + + + CH6 + Kanał 06 + + + + CH14 + Kanał 14 + + + + CH7 + Kanał 07 + + + + CH15 + Kanał 15 + + + + CH8 + Kanał 08 + + + + CH16 + Kanał 16 + + + + + Warning + Ostrzeżnie + + + + Joystick enabled but not configured correctly + Joystick uaktywniony ale nieprawidłowo skonfigurowany + + + + Cannot open joystick, joystick disabled + Nie mogę otworzyć joysticka, dezaktywowany + + + + Firmware %1 error: %2 + Firmware %1 błąd: %2 + + + + - Flight mode: %1(%2) + - Tryb lotu: %1(%2) + + + + Simulating Tx (%1) + Symulacja Tx (%1) + + + + Simulating + Symulacja + + + + splashLibrary + + + + ... + + + + + Splash Library - page %1 of %2 + Biblioteka obrazków - strona %1 z %2 + + + + Warning + Ostrzeżenie + + + + Invalid image in library %1 + Nieprawidłowy obrazek w bibliotece %1 + + + + Information + Informacja + + + + No valid image found in library, check your settings + Nie znaleziono prawodłowego obrazka w biblitece, sprawdź ustawienia + + + + xsimulatorDialog + + + + + SF + + + + + + SE + + + + + + SA + + + + + + SB + + + + + + + + Right Double Click to Reset + Podwójne klikniecie RP myszy w celu zresetowania + + + + + + + TextLabel + + + + + + Hold X + Przytrzymaj X + + + + + Fix X + Zablokuj X + + + + + Fix Y + Zablokuj Y + + + + + Hold Y + Przytrzymaj Y + + + + + SH + + + + + + SG + + + + + + SD + + + + + + SC + + + + + + S2 + Poten 2 + + + + + RS + P suwak + + + + + S1 + Poten 1 + + + + + LS + L suwak + + + + Outputs + Wyjścia + + + + CH1 + Kanał 01 + + + + Taranis Simulator + Symulator Taranis + + + + Companion Simulator + Symulator Companion + + + + + + + + + + + + + + + + + + + -100.1 + + + + + CH9 + Kanał 09 + + + + CH2 + Kanał 02 + + + + CH10 + Kanał 10 + + + + CH3 + Kanał 03 + + + + CH11 + Kanał 11 + + + + CH4 + Kanał 04 + + + + CH12 + Kanał 12 + + + + CH5 + Kanał 05 + + + + CH13 + Kanał 13 + + + + CH6 + Kanał 06 + + + + CH14 + Kanał 14 + + + + CH7 + Kanał 07 + + + + CH15 + Kanał 15 + + + + CH8 + Kanał 08 + + + + CH16 + Kanał 16 + + + + CSK + PLK + + + + CSC + PLC + + + + CSD + PLD + + + + CS7 + PL7 + + + + CSL + PLL + + + + CSB + PLB + + + + CS1 + PL1 + + + + CSH + PLH + + + + CSG + PLG + + + + CSE + PLE + + + + CSF + PLF + + + + CS8 + PL8 + + + + CS9 + PL9 + + + + CSA + PLA + + + + CSM + PLM + + + + CSJ + PLJ + + + + CSI + PLI + + + + CS4 + PL4 + + + + CS5 + PL5 + + + + CS2 + PL2 + + + + CS3 + PL3 + + + + CS6 + PL6 + + + + CSN + PLN + + + + CSO + PLO + + + + CSP + PLP + + + + CSQ + PLQ + + + + CSR + PLR + + + + CSS + PLS + + + + CST + PLT + + + + CSU + PLU + + + + CSV + PLV + + + + CSW + PLW + + + + + Warning + Osrzeżenie + + + + Joystick enabled but not configured correctly + Joystick aktywny ale nie skonfogurowany prawidłowo + + + + Cannot open joystick, joystick disabled + Nie mogę otworzyć joystika, Joystik wyłaczony + + + + Firmware %1 error: %2 + Firmware %1 bład: %2 + + + + - Flight mode: %1(%2) + - Tryb lotu: %1(%2) + + + + Simulating Tx (%1) + Symulacja Tx (%1) + + + + Simulating + Symulacja + + + From 2d884d413a7e16cb52ad6da204a2f86a45b11ea8 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Fri, 31 Jan 2014 17:32:56 +0100 Subject: [PATCH 28/61] [Taranis] Pots type added to the Companion UI --- companion/src/generaledit.cpp | 27 ++++++++++- companion/src/generaledit.h | 3 ++ companion/src/generaledit.ui | 87 ++++++++++++++++++++++++++++++++++- companion/src/helpers.cpp | 3 +- 4 files changed, 117 insertions(+), 3 deletions(-) diff --git a/companion/src/generaledit.cpp b/companion/src/generaledit.cpp index fdff37ae9..f197eb7b1 100644 --- a/companion/src/generaledit.cpp +++ b/companion/src/generaledit.cpp @@ -64,7 +64,8 @@ GeneralEdit::GeneralEdit(RadioData &radioData, QWidget *parent) : } this->layout()->removeItem(ui->TaranisReadOnlyUnlock); } - } else { + } + else { for (int i=0; pmsl[i]; i++) { pmsl[i]->hide(); } @@ -373,6 +374,18 @@ GeneralEdit::GeneralEdit(RadioData &radioData, QWidget *parent) : for (int i=0; tpmsld[i]; i++) { connect(tpmsld[i], SIGNAL(valueChanged(int)),this,SLOT(unlockSwitchEdited())); } + + if (GetEepromInterface()->getCapability(MultiposPots)) { + ui->pot1Type->setCurrentIndex(g_eeGeneral.potsType[0]); + ui->pot2Type->setCurrentIndex(g_eeGeneral.potsType[1]); + } + else { + ui->potsTypeSeparator->hide(); + ui->pot1Type->hide(); + ui->pot1TypeLabel->hide(); + ui->pot2Type->hide(); + ui->pot2TypeLabel->hide(); + } } GeneralEdit::~GeneralEdit() @@ -380,6 +393,18 @@ GeneralEdit::~GeneralEdit() delete ui; } +void GeneralEdit::on_pot1Type_currentIndexChanged(int index) +{ + g_eeGeneral.potsType[0] = index; + updateSettings(); +} + +void GeneralEdit::on_pot2Type_currentIndexChanged(int index) +{ + g_eeGeneral.potsType[1] = index; + updateSettings(); +} + void GeneralEdit::unlockSwitchEdited() { int i=0; diff --git a/companion/src/generaledit.h b/companion/src/generaledit.h index eb6895d13..ce160dc0b 100644 --- a/companion/src/generaledit.h +++ b/companion/src/generaledit.h @@ -119,6 +119,9 @@ private slots: void on_varioVolume_SL_valueChanged(); void on_wavVolume_SL_valueChanged(); + void on_pot1Type_currentIndexChanged(int index); + void on_pot2Type_currentIndexChanged(int index); + void on_stickmodeCB_currentIndexChanged(int index); void on_channelorderCB_currentIndexChanged(int index); void on_beeperCB_currentIndexChanged(int index); diff --git a/companion/src/generaledit.ui b/companion/src/generaledit.ui index 48a7445b5..29b17eb7d 100644 --- a/companion/src/generaledit.ui +++ b/companion/src/generaledit.ui @@ -110,7 +110,7 @@ These will be relevant for all models in the same EEPROM. - 0 + 3 @@ -3494,6 +3494,91 @@ p, li { white-space: pre-wrap; } + + + + + 0 + 10 + + + + Qt::Horizontal + + + + + + + + + + + + + Beeper volume + +0 - Quiet. No beeps at all. +1 - No Keys. Normal beeps but menu keys do not beep. +2 - Normal. +3 - Loud. +4 - Extra loud. + + + + Pot (normal) + + + + + Multipos Switch + + + + + + + + S1 Type + + + + + + + + + + + + + Beeper volume + +0 - Quiet. No beeps at all. +1 - No Keys. Normal beeps but menu keys do not beep. +2 - Normal. +3 - Loud. +4 - Extra loud. + + + + Pot (normal) + + + + + Multipos Switch + + + + + + + + S2 Type + + + diff --git a/companion/src/helpers.cpp b/companion/src/helpers.cpp index 97ef84275..2a5e4f2fc 100644 --- a/companion/src/helpers.cpp +++ b/companion/src/helpers.cpp @@ -1097,7 +1097,8 @@ void populateSourceCB(QComboBox *b, const RawSource & source, const ModelData & b->addItem(item.toString(), item.toValue()); if (item == source) b->setCurrentIndex(b->count()-1); } - } else if (flags & POPULATE_TELEMETRY) { + } + else if (flags & POPULATE_TELEMETRY) { for (int i=0; iaddItem(item.toString(), item.toValue()); From f8b0100655c39d7977a080fbb5d2fa942115d461 Mon Sep 17 00:00:00 2001 From: Jacek Drewniak Date: Sat, 1 Feb 2014 00:40:41 +0100 Subject: [PATCH 29/61] Fix translation against new telemetry panels changed --- companion/src/translations/companion_pl.ts | 868 ++++++++++----------- 1 file changed, 412 insertions(+), 456 deletions(-) diff --git a/companion/src/translations/companion_pl.ts b/companion/src/translations/companion_pl.ts index 6d147fec1..09d9fe83b 100644 --- a/companion/src/translations/companion_pl.ts +++ b/companion/src/translations/companion_pl.ts @@ -3726,925 +3726,925 @@ p, li { white-space: pre-wrap; } QObject - + Rud SK - + Ele SW - + Thr Gaz - + Ail Lotki - + P1 Potencjometr 1 - + P2 Potencjometr 2 - + P3 Potencjometr 3 - + S1 Potencjometr 1 - + S2 Potencjometr 2 - + LS Lewy suwak - + RS Prawy suwak - + TrmR Trymer SK - + TrmE Trymer SW - + TrmT Trymer gazu - + TrmA Trymer lotek - + REa Pokrętło :a - + REb Pokrętło :b - + Batt Bateria - + A1 Sygnał telemetrii A1 - + A2 Sygnał telemetrii A2 - + Alt Wysokość - + Rpm Obroty - + Fuel Paliwo - + T1 - + Tx - + Rx - + SWR SWR - + RSSI - + T2 - + Speed Prędkość - + Dist Odległość - + GPS Alt Wysokość GPS - + Cell Cela - + Cels Cele - + Vfas - + Curr Natężenie - + Cnsp - + Powr Moc - + AccX - + AccY - + AccZ - + HDG - + VSpd - + A1- - + A2- - + Alt- - + Alt+ - + Rpm+ - + T1+ - + T2+ - + Spd+ - + Dst+ - + Cur+ - + ACC - + Time - + Pwr+ - - + + LS1 PL1 - - + + LS2 PL2 - - + + LS3 PL3 - - + + LS4 PL4 - - + + LS5 PL5 - - + + LS6 PL6 - - + + LS7 PL7 - - + + LS8 PL8 - - + + LS9 PL9 - - + + LSA PLA - - + + LSB PLB - - + + LSC PLC - - + + LSD PLD - - + + LSE PLE - - + + LSF PLF - - + + LSG PLG - - + + LSH PLH - - + + LSI PLI - - + + LSJ PLJ - - + + LSK PLK - - + + LSL PLL - - + + LSM PLM, - - + + LSN PLN - - + + LSO PLO - - + + LSP PLP - - + + LSQ PLQ - - + + LSR PLR - - + + LSS PLS - - + + LST PLT - - + + LSU PLU - - + + LSV PLV - - + + LSW PLW - + Input %1 Wejście %1 - + MAX - + ONE Jeden - + !ONE Nie Jeden - + TRNs - + TRNl - + REAs - + REAl - + CYC%1 - + PPM%1 - + CH%1%2 Kan %1%2 - + X%1 - - - + + + ---- - + THR THR - + RUD SK - + ELE SW - + ID0 ID0 - + ID1 ID1 - + ID2 ID2 - + AIL Lotki - + GEA GEA - + TRN TRN - + ON Włącz - + OFF Wyłącz - + Diff(%1) Róźnicowość(%1) - + Expo(%1) Expo(%1) - + Function(%1) Funkcja(%1) - + Curve(%1) Krzywa(%1) - + !Curve(%1) !Krzywa(%1) - + th9x - + er9x - - + + Support for frsky telemetry mod Wsparcie dla telemetrii FrSky - - + + Support for jeti telemetry mod Wsparcie telemetrii JETI - - + + Support for receiving ardupilot data Wsparcie dla otrzymywania danych ardupilota - - + + Support for receiving NMEA data Wsparcie dla otrzymywania danych NMEA - + Support for telemetry easy board Wsparcie dla platformy TelemetrEZ - - + + Support for MAVLINK devices Wsparcie urządzeń MAVLINK - + Rotary Encoder use in menus navigation Użycie pokrętła do nawigacji w menu - + Possibility to enable FAI MODE at field Umożliwienie uaktywniania tryb FAI w menu - + FAI MODE always enabled Tryb FAI zawsze aktywny - + openTx for 9X board openTx dla platformy 9X - - - - - + + + + + Enable heli menu and cyclic mix support Uaktywnione menu Heli i wsparcie dla cyklicznych mikserów - - - - - - + + + + + + Enable TEMPLATES menu Uaktywnienie menu szablonów - - - - + + + + No splash screen Bez loga na ekranie - - - - - - + + + + + + No flight modes Firmware bez menu faz lotu - - - - - - + + + + + + In model setup menus automatically set source by moving some of them W menu ustawień modelu automatycznie wybierz źródło poprzez poruszenie nim - - - - - - + + + + + + + - Use alternative SQT5 font Użyj alternatywnego fontu SQT5 - + EEprom write progress bar Pasek postępu wgrywania EEPROMu - - + + No Winged Shadow How High support Bez wsparcia - Winged Shadow How High - - + + No vario support Bez wsparcia wario - - + + No GPS support Bez wsparcia GPS - - + + No gauges in the custom telemetry screen Bez graficznych wskazań telemetrii - + Allow compensating for offset errors in FrSky FAS current sensors Pozwolenie na kompensację błędów w czujnikach natężenia FrSky FAS - + openTx for 9XR openTx dla platformy 9XR - + openTx for 9XR with M128 chip openTx dla platformy 9XR z M128 - + Use FrSky Taranis sticks in a 9X/9XR Użyj drążków Taranisa w 9X/9XR + - Disable HELI menu and cyclic mix support Dezaktywowane menu Heli i wsparcie dla cyklicznych mikserów + - Disable TEMPLATES menu Dezaktywowane menu szablonów + - Disable Global variables dezaktywowane zmienne globalne - + openTx for FrSky Taranis Rev4a openTx dla FrSky Taranis Rev4a - - - - - - + + + + + + Disable curves menus Bez menu krzywych - - - - + + + + Support for radio modified with regular speaker Wsparcie dla modyfikacji radia zwykłym głośnikiem - - - - - + + + + + Used if you have modified your radio with voice mode Używane jeśli radio jest zmodyfikowane w calu użycia komunikatów głosowych - - - - + + + + Used if you have modified your radio with haptic mode Używane jeśli radio jest zmodyfikowane do użycia wibracji - - - - - - + + + + + + Battery graph Grafika baterii - - - - + + + + Enable the throttle trace in Statistics Uaktywnić śledzenie gazu w statystykach - + openTx for M128 / 9X board openTx dla platformy 9X z M128 - + openTx for Gruvin9x board / 9X openTx dla platformy Gruvin9x / 9X - + Support of FrSky PXX protocol Wsparcie dla protokołu Frsky PXX - + openTx for Sky9x board / 9X openTx dla platformy Sky9x / 9X - + openTx for FrSky Taranis openTx dla FrSky Taranis - - - - - + + + + + Support for DSM2 modules wsparcie modułu DSM2 @@ -4656,67 +4656,67 @@ p, li { white-space: pre-wrap; } wielkość eepromu jest 4096 ale tylko pierwsze 2048 jest używane - - - - - - + + + + + + PPM center adjustment in limits Limit dostrojenia centrowania PPM - - - - - - + + + + + + + - PPM values displayed in us Wartości PPM wyświetlane w us (mikrosekundy) - - - - - - + + + + + + Symetrical Limits Limity symetryczne - - - - - + + + + + Pots use in menus navigation Użycie potencjometrów do nawigacji w menu - - + + SmartieParts 2.2 Backlight support Wsparcie podświetlenia SmartieParts 2.2 - - - - - - + + + + + + In model setup menus automatically set switch by moving some of them W menu modelu automatyczne wybranie przełącznika w przez jego poruszenie - - - - + + + + Enable resetting values by pressing up and down at the same time Szybkie nastawianie wartości (+) a (-) neguje wartość @@ -4725,74 +4725,74 @@ p, li { white-space: pre-wrap; } (UP) a (DN) ustawia 0 - - - - - - + + + + + + No graphical check boxes and sliders Brak graficznych chekboxów i sliderów - - - - - - + + + + + + Don't use bold font for highlighting active items Nie używaj podświetlenia dla wybranych aktywnych elementów, mikserów, krzywych, expo, etc - - - - + + + + EEprom write Progress bar Pasek postępu zapisywania EEPROM - - - - - + + + + + Imperial units Imperialne jednostki w telemetrii - + Bluetooth interface Interface Bluetooth - - - - - - + + + + + + Global variables Globalne zmienne - + Support for SD memory card Wsparcie karty SD - + Support for DSM2 modules using ppm instead of true serial Wsparcie modułu DSM2 przez użycie PPM zamiast prawdziwego szeregowego - + Enable HELI menu and cyclic mix support Uaktywnij menu HELI i cyklicznych mikserów - + ersky9x @@ -5198,14 +5198,14 @@ p, li { white-space: pre-wrap; } Czas trwania %1 sec - + Timer1 - + Timer2 @@ -5312,7 +5312,7 @@ p, li { white-space: pre-wrap; } -ZG%1 - + GV%1 @@ -5729,98 +5729,6 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również Persistent mAh Stałe mAh - - - Telemetry screen 1 - Panel telemetrii 1 - - - - - - Custom Screen Type - Typ panelu - - - - - - Nums - Liczby - - - - - - Bars - Paski - - - - - - Source - Źródło - - - - - - Min - Min - - - - - - Gauge - Pomiar - - - - - - Max - Maks - - - - - - Gauge 1 - Pomiar 1 - - - - - - Gauge 2 - Pomiar 2 - - - - - - Gauge 3 - Pomiar 3 - - - - - - Gauge 4 - Pomiar 4 - - - - Telemetry screen 2 - Panel telemetrii 2 - - - - Telemetry screen 3 - Panel telemetrii 3 - TelemetryAnalog @@ -5936,20 +5844,68 @@ Wolne obroty będą na górze, trymer i ostrzeżenie o otwartym gazie również miliAmpery (mA) - + Range Zasięg + + TelemetryCustomScreen + + + Form + Formularz + + + + Custom Screen Type + Typ panelu + + + + Nums + Liczby + + + + Bars + Paski + + + + Min + Min + + + + Source + Źródło + + + + Gauge + Pomiar + + + + Max + Maks + + TelemetryPanel - + + Telemetry screen %1 + Panel Telemetrii %1 + + + Winged Shadow How High Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (Nie obsługiwane) @@ -6831,7 +6787,7 @@ m2560 dla platformy V4 - + Offset Ofset @@ -6839,8 +6795,8 @@ m2560 dla platformy V4 - - + + Min @@ -6848,8 +6804,8 @@ m2560 dla platformy V4 - - + + Max Maks @@ -7001,55 +6957,55 @@ m2560 dla platformy V4 - + Analog Analogowy - + Unit Jednostki - + Scale Skala - - + + A%1 - + Alarm 1 - + Alarm 2 - - + + Type Typ - - + + Condition Warunek @@ -7058,8 +7014,8 @@ m2560 dla platformy V4 - - + + Value Wartość @@ -7100,31 +7056,31 @@ m2560 dla platformy V4 - + RSSI Alarm Alarm RSSI - - + + Telemetry Bars Wskaźniki telemetryczne - - + + Bar Number Numer wskaźnika - - + + Source Źródło - - + + Custom Telemetry View Własny ekran telemetrii @@ -7150,12 +7106,12 @@ m2560 dla platformy V4 FS - + Print Document Drukuj dokument - + Select PDF output file Wybierz plik docelowy PDF @@ -9190,7 +9146,7 @@ Mode 4: Źródło - + ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) pliki ODF (*.odt);;pliki PDF (*.pdf);;pliki HTML (*.htm *.html);;Wszystkie pliki (*) @@ -9218,12 +9174,12 @@ Mode 4: Tryb lotu - + Print Document Drukuj dokument - + Select PDF output file Wybierz docelowy plik PDF From 298803ca048af0d3ba070041f2c1f234f6d6cb7d Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Sat, 1 Feb 2014 08:23:44 +0100 Subject: [PATCH 30/61] Update DONATIONS.txt --- DONATIONS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index 1c083a4c5..aa31b72d6 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -309,3 +309,4 @@ Dean Jansa Ronald Donker Paul Oldenkamp Dietmar Drees +Bradley Murchie From a3b785246762e19fc76a98e31ade5b3a8d265874 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Sat, 1 Feb 2014 09:52:27 +0100 Subject: [PATCH 31/61] Overflow in S2 type selection --- radio/src/gui/menu_general.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radio/src/gui/menu_general.cpp b/radio/src/gui/menu_general.cpp index c5f97dae9..1febca121 100644 --- a/radio/src/gui/menu_general.cpp +++ b/radio/src/gui/menu_general.cpp @@ -1191,7 +1191,7 @@ void menuGeneralHardware(uint8_t event) { int idx = i - ITEM_SETUP_HW_POT1; uint8_t mask = (1<> idx, 0, 1, attr, event); if (potType) g_eeGeneral.potsType |= mask; else From 7d5e37d5facbdd9a7cc8c707a8d7af27441e0677 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Sat, 1 Feb 2014 10:13:18 +0100 Subject: [PATCH 32/61] Reset pot type to Pot if max no of steps exceeded to avoid stray switch entry --- radio/src/gui/menu_general.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/radio/src/gui/menu_general.cpp b/radio/src/gui/menu_general.cpp index 1febca121..e422861fd 100644 --- a/radio/src/gui/menu_general.cpp +++ b/radio/src/gui/menu_general.cpp @@ -1314,6 +1314,9 @@ void menuCommonCalib(uint8_t event) if (count < POTS_POS_COUNT) { reusableBuffer.calib.xpotsCalib[idx].steps[count] = position; } + else { + g_eeGeneral.potsType &= !(1< Date: Sat, 1 Feb 2014 11:49:32 +0100 Subject: [PATCH 33/61] small fixes to Companion translation due to new things --- companion/src/translations/companion_pl.ts | 837 +++++++++++---------- 1 file changed, 440 insertions(+), 397 deletions(-) diff --git a/companion/src/translations/companion_pl.ts b/companion/src/translations/companion_pl.ts index 09d9fe83b..57fa3ae87 100644 --- a/companion/src/translations/companion_pl.ts +++ b/companion/src/translations/companion_pl.ts @@ -916,6 +916,8 @@ p, li { white-space: pre-wrap; } + + Beeper volume 0 - Quiet. No beeps at all. @@ -1612,6 +1614,28 @@ To ustawienie jest używane przez szablony, określa jakie wyjście przypisane j STICK 4 Drążek 04 + + + + Pot (normal) + Potencjometr (std) + + + + + Multipos Switch + Przeł. wielopoz + + + + S1 Type + Typ P1 + + + + S2 Type + Typ P2 + POT 1 @@ -1664,7 +1688,7 @@ To ustawienie jest używane przez szablony, określa jakie wyjście przypisane j Natężenie - + 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 ? @@ -1673,28 +1697,28 @@ funkcje odtwarzania i ekrany telemetrii. Ten tryb nie może być dezaktywowany. Jesteś pewien ? - - + + Warning Ostrzeżenie - + Wrong data in profile, radio calibration was not retrieved Błędne dane w profilu, kalibracja nie została odzyskana - + Wrong data in profile, hw related parameters were not retrieved Błędne dane w profilu, parametry HW nie zostały odzyskana - + Do you want to store calibration in %1 profile<br>overwriting existing calibration? Chcesz zapamiętać dane kalibracji profilu %1<br> Zastąpią one aktualne dane kalibracji? - + Calibration and HW parameters saved. Kalibracja i parametry HW zapamiętane. @@ -4023,193 +4047,193 @@ p, li { white-space: pre-wrap; } - + LS1 PL1 - + LS2 PL2 - + LS3 PL3 - + LS4 PL4 - + LS5 PL5 - + LS6 PL6 - + LS7 PL7 - + LS8 PL8 - + LS9 PL9 - + LSA PLA - + LSB PLB - + LSC PLC - + LSD PLD - + LSE PLE - + LSF PLF - + LSG PLG - + LSH PLH - + LSI PLI - + LSJ PLJ - + LSK PLK - + LSL PLL - + LSM PLM, - + LSN PLN - + LSO PLO - + LSP PLP - + LSQ PLQ - + LSR PLR - + LSS PLS - + LST PLT - + LSU PLU - + LSV PLV - + LSW PLW @@ -4224,32 +4248,92 @@ p, li { white-space: pre-wrap; } - + + S11 + P11 + + + + S12 + P12 + + + + S13 + P13 + + + + S14 + P14 + + + + S15 + P15 + + + + S16 + P16 + + + + S21 + P21 + + + + S22 + P22 + + + + S23 + P23 + + + + S24 + P24 + + + + S25 + P25 + + + + S26 + P26 + + + ONE Jeden - + !ONE Nie Jeden - + TRNs - + TRNl - + REAs - + REAl @@ -4276,375 +4360,334 @@ p, li { white-space: pre-wrap; } - + ---- - THR THR - - RUD - SK - - - - ELE - SW - - - - ID0 - ID0 - - - - ID1 - ID1 - - - - ID2 - ID2 - - - - AIL - Lotki - - - - GEA - GEA - - - - TRN - TRN - - - + ON Włącz - + OFF Wyłącz - + Diff(%1) Róźnicowość(%1) - + Expo(%1) Expo(%1) - + Function(%1) Funkcja(%1) - + Curve(%1) Krzywa(%1) - + !Curve(%1) !Krzywa(%1) - + th9x - + er9x - - + + Support for frsky telemetry mod Wsparcie dla telemetrii FrSky - - + + Support for jeti telemetry mod Wsparcie telemetrii JETI - - + + Support for receiving ardupilot data Wsparcie dla otrzymywania danych ardupilota - - + + Support for receiving NMEA data Wsparcie dla otrzymywania danych NMEA - + Support for telemetry easy board Wsparcie dla platformy TelemetrEZ - - + + Support for MAVLINK devices Wsparcie urządzeń MAVLINK - + Rotary Encoder use in menus navigation Użycie pokrętła do nawigacji w menu - + Possibility to enable FAI MODE at field Umożliwienie uaktywniania tryb FAI w menu - + FAI MODE always enabled Tryb FAI zawsze aktywny - + openTx for 9X board openTx dla platformy 9X - - - - - - - Enable heli menu and cyclic mix support - Uaktywnione menu Heli i wsparcie dla cyklicznych mikserów - - - - - - - - - Enable TEMPLATES menu - Uaktywnienie menu szablonów - - - - - - - No splash screen - Bez loga na ekranie - - - - - - - - - No flight modes - Firmware bez menu faz lotu - - - - - - - - - In model setup menus automatically set source by moving some of them - W menu ustawień modelu automatycznie wybierz źródło poprzez poruszenie nim - - - - - - - - - - - Use alternative SQT5 font - Użyj alternatywnego fontu SQT5 - - - - EEprom write progress bar - Pasek postępu wgrywania EEPROMu - - - - - No Winged Shadow How High support - Bez wsparcia - Winged Shadow How High - - - - - No vario support - Bez wsparcia wario - - - - - No GPS support - Bez wsparcia GPS - - - - - No gauges in the custom telemetry screen - Bez graficznych wskazań telemetrii - - - - Allow compensating for offset errors in FrSky FAS current sensors - Pozwolenie na kompensację błędów w czujnikach natężenia FrSky FAS - - - - openTx for 9XR - openTx dla platformy 9XR - - - - openTx for 9XR with M128 chip - openTx dla platformy 9XR z M128 - - - - Use FrSky Taranis sticks in a 9X/9XR - Użyj drążków Taranisa w 9X/9XR - - - - - Disable HELI menu and cyclic mix support - Dezaktywowane menu Heli i wsparcie dla cyklicznych mikserów - - - - - Disable TEMPLATES menu - Dezaktywowane menu szablonów - - - - - Disable Global variables - dezaktywowane zmienne globalne - - - - openTx for FrSky Taranis Rev4a - openTx dla FrSky Taranis Rev4a - - - - Disable curves menus - Bez menu krzywych + + Enable heli menu and cyclic mix support + Uaktywnione menu Heli i wsparcie dla cyklicznych mikserów - Support for radio modified with regular speaker - Wsparcie dla modyfikacji radia zwykłym głośnikiem + + + Enable TEMPLATES menu + Uaktywnienie menu szablonów - - Used if you have modified your radio with voice mode - Używane jeśli radio jest zmodyfikowane w calu użycia komunikatów głosowych + No splash screen + Bez loga na ekranie - Used if you have modified your radio with haptic mode - Używane jeśli radio jest zmodyfikowane do użycia wibracji + + + No flight modes + Firmware bez menu faz lotu - - + + - Battery graph - Grafika baterii + In model setup menus automatically set source by moving some of them + W menu ustawień modelu automatycznie wybierz źródło poprzez poruszenie nim - - - - - Enable the throttle trace in Statistics - Uaktywnić śledzenie gazu w statystykach + + + + + + + + + Use alternative SQT5 font + Użyj alternatywnego fontu SQT5 - - openTx for M128 / 9X board - openTx dla platformy 9X z M128 + + EEprom write progress bar + Pasek postępu wgrywania EEPROMu - - openTx for Gruvin9x board / 9X - openTx dla platformy Gruvin9x / 9X + + + No Winged Shadow How High support + Bez wsparcia - Winged Shadow How High - - Support of FrSky PXX protocol - Wsparcie dla protokołu Frsky PXX + + + No vario support + Bez wsparcia wario - - openTx for Sky9x board / 9X - openTx dla platformy Sky9x / 9X + + + No GPS support + Bez wsparcia GPS - - openTx for FrSky Taranis - openTx dla FrSky Taranis + + + No gauges in the custom telemetry screen + Bez graficznych wskazań telemetrii + + + + Allow compensating for offset errors in FrSky FAS current sensors + Pozwolenie na kompensację błędów w czujnikach natężenia FrSky FAS + + + + openTx for 9XR + openTx dla platformy 9XR + + + + openTx for 9XR with M128 chip + openTx dla platformy 9XR z M128 + + + + Use FrSky Taranis sticks in a 9X/9XR + Użyj drążków Taranisa w 9X/9XR + + + + + Disable HELI menu and cyclic mix support + Dezaktywowane menu Heli i wsparcie dla cyklicznych mikserów + + + + + Disable TEMPLATES menu + Dezaktywowane menu szablonów + + + + + Disable Global variables + dezaktywowane zmienne globalne + + + + openTx for FrSky Taranis Rev4a + openTx dla FrSky Taranis Rev4a + + + + + + + + + Disable curves menus + Bez menu krzywych - + Support for radio modified with regular speaker + Wsparcie dla modyfikacji radia zwykłym głośnikiem + + + + + + + + Used if you have modified your radio with voice mode + Używane jeśli radio jest zmodyfikowane w calu użycia komunikatów głosowych + + + + + + + Used if you have modified your radio with haptic mode + Używane jeśli radio jest zmodyfikowane do użycia wibracji + + + + + + + + + Battery graph + Grafika baterii + + + + + + + Enable the throttle trace in Statistics + Uaktywnić śledzenie gazu w statystykach + + + + openTx for M128 / 9X board + openTx dla platformy 9X z M128 + + + + openTx for Gruvin9x board / 9X + openTx dla platformy Gruvin9x / 9X + + + + Support of FrSky PXX protocol + Wsparcie dla protokołu Frsky PXX + + + + openTx for Sky9x board / 9X + openTx dla platformy Sky9x / 9X + + + + openTx for FrSky Taranis + openTx dla FrSky Taranis + + + + + + + Support for DSM2 modules wsparcie modułu DSM2 @@ -4656,67 +4699,67 @@ p, li { white-space: pre-wrap; } wielkość eepromu jest 4096 ale tylko pierwsze 2048 jest używane - - - - - - - PPM center adjustment in limits - Limit dostrojenia centrowania PPM - - - - - - - - - - - PPM values displayed in us - Wartości PPM wyświetlane w us (mikrosekundy) - - - - - - - - - Symetrical Limits - Limity symetryczne - - - + + - Pots use in menus navigation - Użycie potencjometrów do nawigacji w menu + PPM center adjustment in limits + Limit dostrojenia centrowania PPM - SmartieParts 2.2 Backlight support - Wsparcie podświetlenia SmartieParts 2.2 + + + + + + + PPM values displayed in us + Wartości PPM wyświetlane w us (mikrosekundy) - - - - + + + + + Symetrical Limits + Limity symetryczne + + + + + + + + Pots use in menus navigation + Użycie potencjometrów do nawigacji w menu + + + + + SmartieParts 2.2 Backlight support + Wsparcie podświetlenia SmartieParts 2.2 + + + + + + + + In model setup menus automatically set switch by moving some of them W menu modelu automatyczne wybranie przełącznika w przez jego poruszenie - - - - + + + + Enable resetting values by pressing up and down at the same time Szybkie nastawianie wartości (+) a (-) neguje wartość @@ -4725,74 +4768,74 @@ p, li { white-space: pre-wrap; } (UP) a (DN) ustawia 0 - - - - - - + + + + + + No graphical check boxes and sliders Brak graficznych chekboxów i sliderów - - - - - - - - Don't use bold font for highlighting active items - Nie używaj podświetlenia dla wybranych aktywnych elementów, mikserów, krzywych, expo, etc - - - - - - - EEprom write Progress bar - Pasek postępu zapisywania EEPROM - - + + + Don't use bold font for highlighting active items + Nie używaj podświetlenia dla wybranych aktywnych elementów, mikserów, krzywych, expo, etc + + + + + + + EEprom write Progress bar + Pasek postępu zapisywania EEPROM + + + + + + + Imperial units Imperialne jednostki w telemetrii - + Bluetooth interface Interface Bluetooth - - - - - - + + + + + + Global variables Globalne zmienne - + Support for SD memory card Wsparcie karty SD - + Support for DSM2 modules using ppm instead of true serial Wsparcie modułu DSM2 przez użycie PPM zamiast prawdziwego szeregowego - + Enable HELI menu and cyclic mix support Uaktywnij menu HELI i cyklicznych mikserów - + ersky9x @@ -5011,123 +5054,123 @@ p, li { white-space: pre-wrap; } Faza lotu %1 - + Yellow Żółty - + Orange Pomarańczowy - + Red Czerwony - + Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (nie obsługiwane) - + FrSky Sensor Hub Hub sensora FrSky - - + + None Żaden - + Imperial Imperialne - + Metric Metryczne - + Extra Fine Bardzo dokładne - + Fine Dokładne - + Medium Średni - + Coarse Gruby - + Exponential Eksponencjalny - + Count Up Licz - + Count Down Odliczaj - + %1:%2, - + : %1 Channels, %2usec Delay :Kanały %1, opóźnienie %2usX - + Flight modes(%1) Fazy lotu(%1) - + Flight mode(%1) Faza lotu (%1) - + Rudder SK - + Elevator SW - + Throttle Gaz - + Aileron Lotki @@ -5138,7 +5181,7 @@ p, li { white-space: pre-wrap; } - + --- @@ -5306,15 +5349,15 @@ p, li { white-space: pre-wrap; } Przyciski i Drążki - - + + -GV%1 -ZG%1 - - + + GV%1 ZG%1 @@ -5332,25 +5375,25 @@ p, li { white-space: pre-wrap; } Równoległe użycie expo i krzywych nie jest dłużej wspierane - + openTx only accepts %1 points in all curves openTx dopuszcza tylko %1 punktów dla wszystkich krzywych - - - + + + OpenTX on this board doesn't accept this function OpenTX na tej platformie nie dopuszcza tej funkcji - - + + OpenTX doesn't accept this protocol OpenTX nie obsługuje tego protokołu - + OpenTX doesn't allow this number of channels OpenTX nie obsługuje tej ilości kanałów From 3db2b2912f08d647ff44e43a19bdca17672d2e23 Mon Sep 17 00:00:00 2001 From: Dvogonen Date: Sat, 1 Feb 2014 17:37:22 +0100 Subject: [PATCH 34/61] I think that these files have been saved as UTF8. They now builds just fine. --- radio/src/translations/es.h.txt | 1562 +++++++++++++++---------------- radio/src/translations/fr.h.txt | 1562 +++++++++++++++---------------- 2 files changed, 1562 insertions(+), 1562 deletions(-) diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 65108e25f..51260c6c2 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -1,781 +1,781 @@ -/* - * Authors (alphabetical order) - * - Bertrand Songis - * - Bernet Andre - * - Jose Moreno - * - Kjell Kernen - * - Martin Hotar - * - Romolo Manfredini - * - * opentx is based on code named - * gruvin9x by Bryan J. Rentoul: http://code.google.com/p/gruvin9x/, - * er9x by Erez Raviv: http://code.google.com/p/er9x/, - * and the original (and ongoing) project by - * Thomas Husterer, th9x: http://code.google.com/p/th9x/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * - * - * !!!!! DO NOT EDIT es.h - EDIT es.h.txt INSTEAD !!!!!!! - * - * In order to make translations easier es.h.txt is parsed and national - * characters are replaced by bitmap codes. The result is es.h. - * - * See translate.py in the util catalog for the list of character codes - * - * !!!!! DO NOT EDIT es.h - EDIT es.h.txt INSTEAD !!!!!!! - */ - /* Formatting octal codes available in TR_ strings: - * \037\x -sets LCD x-coord (x value in octal) - * \036 -newline (ARM boards only) - * \001 to \035 -extended spacing (value * FW/2) - * \0 -ends actual string - */ - -// NON ZERO TERMINATED STRINGS -#define LEN_OFFON "\003" -#define TR_OFFON "OFF""ON\0" - -#define LEN_MMMINV "\003" -#define TR_MMMINV "---""INV" - -#define LEN_NCHANNELS "\004" -#define TR_NCHANNELS "\0014CH\0016CH\0018CH10CH12CH14CH16CH" - -#define LEN_VBEEPMODE "\005" -#define TR_VBEEPMODE "Mudo ""Alarm""NoKey""Todo " - -#define LEN_VBEEPLEN "\005" -#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0" - -#define LEN_VRENAVIG "\003" -#define TR_VRENAVIG "No REaREb" - -#define LEN_VBLMODE "\004" -#define TR_VBLMODE "OFF ""Keys""Stks""Both""ON\0" - -#define LEN_TRNMODE "\003" -#define TR_TRNMODE "OFF"" +="" :=" - -#define LEN_TRNCHN "\003" -#define TR_TRNCHN "CH1CH2CH3CH4" - -#define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" - -#define LEN_POTTYPES "\017" -#define TR_POTTYPES "Pot\0 ""Multipos Switch" - -#define LEN_DATETIME "\005" -#define TR_DATETIME "DATA:""HORA:" - -#define LEN_VLCD "\006" -#define TR_VLCD "NormalOptrex" - -#define LEN_COUNTRYCODES TR("\002", "\007") -#define TR_COUNTRYCODES TR("US""JP""EU", "America""Japon\0 ""Europa\0") - -#define LEN_VTRIMINC TR("\006", "\013") -#define TR_VTRIMINC TR("Expo ""ExFino""Fino ""Medio ""Grueso", "Exponencial""Extra Fino ""Fino ""Medio ""Grueso ") - -#define LEN_VBEEPCOUNTDOWN "\006" -#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voz\0" - -#define LEN_RETA123 "\001" - -#if defined(PCBGRUVIN9X) - #if ROTARY_ENCODERS > 2 - #define TR_RETA123 "RETA123abcd" - #else - #define TR_RETA123 "RETA123ab" - #endif -#elif defined(PCBTARANIS) - #define TR_RETA123 "RETA12LR" -#else - #define TR_RETA123 "RETA123" -#endif - -#define LEN_VPROTOS "\006" - -#if defined(PXX) - #define TR_PXX "PXX\0 " -#elif defined(DSM2) || defined(IRPROTOS) - #define TR_PXX "[PXX]\0" -#else - #define TR_PXX -#endif - -#if defined(DSM2) - #define TR_DSM2 "LP45\0 ""DSM2\0 ""DSMX\0 " -#elif defined(IRPROTOS) - #define TR_DSM2 "[LP45]""[DSM2]""[DSMX]" -#else - #define TR_DSM2 -#endif - -#if defined(IRPROTOS) - #define TR_IRPROTOS "SILV TRAC09PICZ SWIFT\0" -#else - #define TR_IRPROTOS -#endif - -#if defined(CPUARM) - #define TR_XPPM -#else - #define TR_XPPM "PPM16\0""PPMsim" -#endif - -#define TR_VPROTOS "PPM\0 " TR_XPPM TR_PXX TR_DSM2 TR_IRPROTOS - -#define LEN_POSNEG "\003" -#define TR_POSNEG "POS""NEG" - -#define LEN_VCURVEFUNC "\003" -#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" - -#define LEN_VMLTPX "\010" -#define TR_VMLTPX "A\201adir ""Multipl.""Cambiar\0" - -#define LEN_VMLTPX2 "\002" -#define TR_VMLTPX2 "+=""*="":=" - -#define LEN_VMIXTRIMS "\003" -#define TR_VMIXTRIMS "OFF""ON\0""Dir""Ele""Ace""Ale" - -#define LEN_VCSWFUNC "\005" -#define TR_VCSWFUNC "---\0 ""a{x\0 ""a>x\0 ""ax""|a|b\0 ""a" - -#define LEN_VTELPROTO "\007" -#define TR_VTELPROTO "Nada\0 ""Hub\0 ""WSHHigh" - -#define LEN_VOLTSRC "\003" -#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel" - -#define LEN_VARIOSRC "\005" -#if defined(FRSKY_SPORT) - #define TR_VARIOSRC "Vario""A1\0 ""A2\0" -#else - #define TR_VARIOSRC "Alti\0""Alti+""Vario""A1\0 ""A2\0" -#endif - -#define LEN_VSCREEN "\004" -#define TR_VSCREEN "Nums""Bars" - -#define LEN_GPSFORMAT "\004" -#define TR_GPSFORMAT "HMS NMEA" - -#define LEN2_VTEMPLATES 13 -#define LEN_VTEMPLATES "\015" -#define TR_VTEMPLATES "Elim Mezcla\0\0""Simple 4-CH \0""Anular Motor\0""Cola en V \0""Elevon\\Delta\0""eCCPM \0""Heli Setup \0""Servo Test \0" - -#define LEN_VSWASHTYPE "\004" -#define TR_VSWASHTYPE "---\0""120\0""120X""140\0""90\0" - -#define LEN_VKEYS "\005" -#define TR_VKEYS TR(" Menu""Salir""Abajo""Arrib""Dcha.""Izqd.", " Menu""Salir""Enter""Pgna.""Mas ""Menos") - -#define LEN_VRENCODERS "\003" -#define TR_VRENCODERS "REa""REb" - -#define LEN_VSWITCHES "\003" -#define LEN_VSRCRAW "\004" - -#if defined(PCBTARANIS) - #define TR_POTS_VSRCRAW "S1\0 ""S2\0 ""LS\0 ""RS\0 " - #define TR_SW_VSRCRAW "SA\0 ""SB\0 ""SC\0 ""SD\0 ""SE\0 ""SF\0 ""SG\0 ""SH\0 " -#elif defined(EXTRA_3POS) - #define TR_POTS_VSRCRAW "P1\0 ""P2\0 " - #define TR_SW_VSRCRAW "3P1\0""3P2\0" - #define TR_9X_3POS_SWITCHES "ID0""ID1""ID2""ID3""ID4""ID5" -#else - #define TR_POTS_VSRCRAW "P1\0 ""P2\0 ""P3\0 " - #define TR_SW_VSRCRAW "3POS" - #define TR_9X_3POS_SWITCHES "ID0""ID1""ID2" -#endif - -#if defined(CPUARM) - #define TR_CUSTOMSW "CS1""CS2""CS3""CS4""CS5""CS6""CS7""CS8""CS9""CSA""CSB""CSC""CSD""CSE""CSF""CSG""CSH""CSI""CSJ""CSK""CSL""CSM""CSN""CSO""CSP""CSQ""CSR""CSS""CST""CSU""CSV""CSW" -#elif defined(PCBGRUVIN9X) || defined(CPUM2561) || defined(CPUM128) - #define TR_CUSTOMSW "CS1""CS2""CS3""CS4""CS5""CS6""CS7""CS8""CS9""CSA""CSB""CSC""CSD""CSE""CSF" -#else - #define TR_CUSTOMSW "CS1""CS2""CS3""CS4""CS5""CS6""CS7""CS8""CS9""CSA""CSB""CSC" -#endif - -#if defined(PCBTARANIS) - #define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26" - #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS "Uno" -#else - #define TR_VSWITCHES TR_9X_3POS_SWITCHES "ACE""DIR""ELE""ALE""GEA""TRN" TR_CUSTOMSW "Uno" -#endif - -#if defined(PCBSKY9X) - #define TR_ROTARY_ENCODERS_VSRCRAW "REnc" -#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS > 2 - #define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb ""REc ""REd " -#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS <= 2 - #define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb " -#else - #define TR_ROTARY_ENCODERS_VSRCRAW -#endif - -#if defined(HELI) - #define TR_CYC_VSRCRAW "CYC1""CYC2""CYC3" -#else - #define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]" -#endif - -#define TR_VSRCRAW "---\0""Dir\0""Ele\0""Thr\0""Ale\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS_VSRCRAW "MAX\0" TR_CYC_VSRCRAW "TrmR" "TrmE" "TrmT" "TrmA" TR_SW_VSRCRAW - -#define LEN_VTMRMODES "\003" -#define TR_VTMRMODES "OFF""ABS""THs""TH%""THt" - -#define LEN_VTRAINERMODES "\006" -#define TR_VTRAINERMODES "Master""Esclav" - -#define LEN_VFAILSAFE "\011" -#define TR_VFAILSAFE "Guardar\0 ""Adaptar\0 ""Sin pulsos" - -#if defined(MAVLINK) - #define LEN_MAVLINK_BAUDS "\006" - #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" - #define LEN_MAVLINK_AC_MODES "\011" - #define TR_MAVLINK_AC_MODES "Estabilizar""Acrobat. ""Alt Hold ""Auto ""Guiado ""Loiter ""RTL ""Circulo ""Pos Hold ""Tierra ""OF Loiter""Toy A ""Toy M ""INVALIDO " - #define LEN_MAVLINK_AP_MODES "\015" - #define TR_MAVLINK_AP_MODES "Manual ""Circulo ""Estabilizar ""Entrenamiento""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guiado ""Inicialisando""INVALID " -#endif - -// ZERO TERMINATED STRINGS -#define INDENT "\001" -#define LEN_INDENT 1 -#define INDENT_WIDTH (FW/2) - -#if defined(PCBTARANIS) - #define TR_ENTER "[ENTER]" -#else - #define TR_ENTER "[MENU]" -#endif - -#define TR_POPUPS TR_ENTER "\010[SALIR]" -#define OFS_EXIT sizeof(TR_ENTER) - -#define TR_MENUWHENDONE CENTER "\006" TR_ENTER "AL ACABAR " -#define TR_FREE "libre" -#define TR_DELETEMODEL "BORRAR MODELO" -#define TR_COPYINGMODEL "Copiando modelo.." -#define TR_MOVINGMODEL "Mover modelo..." -#define TR_LOADINGMODEL "Cargar modelo..." -#define TR_NAME "Nom." -#define TR_MODELNAME "Nom.Modelo" -#define TR_PHASENAME "Nom.Fase " -#define TR_MIXNAME "Nom.Mezcla" -#define TR_INPUTNAME "Input Name" -#if defined(PCBTARANIS) - #define TR_EXPONAME "Line Name" -#else - #define TR_EXPONAME "Nom. Expo" -#endif -#define TR_BITMAP "Imagen Modelo" -#define TR_TIMER TR("Reloj","Reloj ") -#define TR_ELIMITS TR("E.Limite","Ampliar Limites") -#define TR_ETRIMS TR("E.Trims","Ampliar Trims") -#define TR_TRIMINC "Paso Trim" -#define TR_TTRACE TR("Fuente-A","Fuente Acelerad") -#define TR_TTRIM TR("Trim-A","Trim Acelerad") -#define TR_BEEPCTR TR("Ctr Beep","Center Beep") -#define TR_PROTO TR(INDENT"Proto",INDENT"Protocol") -#define TR_PPMFRAME "Trama PPM" -#define TR_MS "ms" -#define TR_SWITCH "Interr" -#define TR_TRIMS "Trims" -#define TR_FADEIN "Inicio" -#define TR_FADEOUT "Final" -#define TR_DEFAULT "(defecto)" -#define TR_CHECKTRIMS CENTER "\006Check\012Trims" -#define OFS_CHECKTRIMS CENTER_OFS+(9*FW) -#define TR_SWASHTYPE "Tipo ciclico" -#define TR_COLLECTIVE TR("Colectivo","Fuente Colectivo") -#define TR_SWASHRING "Ciclico" -#define TR_ELEDIRECTION TR("ELE Direccion","Largo cyc. direccion") -#define TR_AILDIRECTION TR("AIL Direccion","Lateral cyc. direccion") -#define TR_COLDIRECTION TR("PIT Direccion","Coll. pitch direccion") -#define TR_MODE INDENT"Modo" -#define TR_NOFREEEXPO "No expo libre!" -#define TR_NOFREEMIXER "No mezcla lib!" -#define TR_INSERTMIX "INSERTAR MIX" -#define TR_EDITMIX "EDITAR MIX " -#define TR_SOURCE INDENT"Fuente" -#define TR_WEIGHT "Cantidad" -#define TR_EXPO TR("Expo","Exponencial") -#define TR_SIDE "Lado" -#define TR_DIFFERENTIAL "Diferenc" -#define TR_OFFSET INDENT"Offset" -#define TR_TRIM "Trim" -#define TR_DREX "DRex" -#define TR_CURVE "Curva" -#define TR_FLMODE TR("Modo","Modos") -#define TR_MIXWARNING "Aviso" -#define TR_OFF "OFF" -#define TR_MULTPX "Multpx" -#define TR_DELAYDOWN "Delay Dn" -#define TR_DELAYUP "Delay Up" -#define TR_SLOWDOWN "Slow Dn" -#define TR_SLOWUP "Slow Up" -#define TR_MIXER "Mezclas" -#define TR_CV "CV" -#define TR_GV "GV" -#define TR_ACHANNEL "A\004canal" -#define TR_RANGE INDENT"Alcance" -#define TR_BAR "Bar" -#define TR_ALARM INDENT"Alarma" -#define TR_USRDATA "UsrData" -#define TR_BLADES INDENT"Palas" -#define TR_SCREEN "Pantalla" -#define TR_SOUND_LABEL "Sonido" -#define TR_LENGTH INDENT"Longitud" -#define TR_SPKRPITCH INDENT"Tono" -#define TR_HAPTIC_LABEL "Tactil" -#define TR_HAPTICSTRENGTH INDENT"Intensidad" -#define TR_CONTRAST "Contraste" -#define TR_ALARMS_LABEL "Alarmas" -#define TR_BATTERY_RANGE TR("Rango bateria","Rango medidor Bater") -#define TR_BATTERYWARNING INDENT"Bateria Baja" -#define TR_INACTIVITYALARM INDENT"Inactividad" -#define TR_MEMORYWARNING INDENT"Memoria Baja" -#define TR_ALARMWARNING INDENT"Sin Sonido" -#define TR_RENAVIG "RotEnc Navig" -#define TR_THROTTLEREVERSE TR("Invert_Acel", "Invertir Acel.") -#define TR_MINUTEBEEP TR(INDENT"Minuto",INDENT"Cada Minuto") -#define TR_BEEPCOUNTDOWN INDENT"Cuentaatras" -#define TR_PERSISTENT TR(INDENT"Persist.",INDENT"Persistente") -#define TR_BACKLIGHT_LABEL "Luz Fondo" -#define TR_BLDELAY INDENT"Duracion" -#define TR_BLONBRIGHTNESS INDENT"MAS Brillo" -#define TR_BLOFFBRIGHTNESS INDENT"MENOS Brillo" -#define TR_SPLASHSCREEN "Ptalla.inicio" -#define TR_THROTTLEWARNING TR("Aviso-A", "Aviso Acelerador") -#define TR_SWITCHWARNING TR("Aviso-I", "Aviso Intrptor") -#define TR_TIMEZONE TR("Zona Hora", "GPS Zona Hora") -#define TR_RXCHANNELORD TR("Rx Orden canal", "Orden habitual canales") -#define TR_SLAVE "Esclavo" -#define TR_MODESRC "Modo\006% Fuente" -#define TR_MULTIPLIER "Multiplicar" -#define TR_CAL "Cal" -#define TR_VTRIM "Trim- +" -#define TR_BG "BG:" -#define TR_MENUTOSTART CENTER "\006" TR_ENTER "EMPEZAR" -#define TR_SETMIDPOINT CENTER "\003STICKS AL CENTRO" -#define TR_MOVESTICKSPOTS CENTER "\006MOVER STICKS/POTS" -#define TR_RXBATT "Rx Batt:" -#define TR_TXnRX "Tx:\0Rx:" -#define OFS_RX 4 -#define TR_ACCEL "Acc:" -#define TR_NODATA CENTER "SIN DATOS" -#define TR_TM1TM2 "TM1\037\146TM2" -#define TR_THRTHP "THR\037\146TH%" -#define TR_TOT "TOT" -#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us" -#define STR_US (STR_TMR1LATMAXUS+13) -#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us" -#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" - -#if defined(CPUARM) - #define TR_TMIXMAXMS "Tmix max" - #define TR_FREESTACKMINB "Free Stack" -#else - #define TR_TMIXMAXMS "Tmix max\037\124ms" - #define TR_FREESTACKMINB "Pila LIbre\037\124b" -#endif - -#define TR_MENUTORESET CENTER TR_ENTER "Resetear" -#define TR_PPM "PPM" -#define TR_CH "CH" -#define TR_MODEL "MODELO" -#define TR_FP "FM" -#define TR_MIX "MIX" -#define TR_EEPROMLOWMEM "EEPROM mem.baja" -#define TR_ALERT "\016ALERTA" -#define TR_PRESSANYKEYTOSKIP "Pulsar tecla omitir" -#define TR_THROTTLENOTIDLE "Aceler.Activado" -#define TR_ALARMSDISABLED "Alarmas Desact." -#define TR_PRESSANYKEY TR("\010Pulsa una Tecla", "Pulsa una Tecla") -#define TR_BADEEPROMDATA "Datos EEprom mal" -#define TR_EEPROMFORMATTING "Formateo EEPROM" -#define TR_EEPROMOVERFLOW "Desborde EEPROM" -#define TR_MENURADIOSETUP "CONFIGURACION" -#define TR_MENUDATEANDTIME "FECHA Y HORA" -#define TR_MENUTRAINER "APRENDIZ" -#define TR_MENUVERSION "VERSION" -#define TR_MENUDIAG TR("INTERUPTS", "TEST INTERUP.") -#define TR_MENUANA TR("ANAS", "ENTRADAS ANALOG") -#define TR_MENUCALIBRATION "CALIBRACION" -#define TR_TRIMS2OFFSETS "\006Trims => Offsets" -#define TR_MENUMODELSEL TR("MODELSEL", "SELECCION MODELO") -#define TR_MENUSETUP TR("CONF.", "CONF.MODELO") -#define TR_MENUFLIGHTPHASE "MODO VUELO" -#define TR_MENUFLIGHTPHASES "MODOS VUELO" -#define TR_MENUHELISETUP "CONF. HELI" - - -// Alignment - -#if defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_LIMITS_SYMETRICAL) // The right menu titles for the gurus ... - #define TR_MENUINPUTS "STICKS" - #define TR_MENULIMITS "SERVOS" -#else - #define TR_MENUINPUTS "DR/EXPO" - #define TR_MENULIMITS "LIMITES" -#endif - -#define TR_MENUCURVES "CURVAS" -#define TR_MENUCURVE "CURVA" -#define TR_MENUCUSTOMSWITCH "AJTE.INTERUP." -#define TR_MENUCUSTOMSWITCHES "AJTE.INTERUPTS." -#define TR_MENUCUSTOMFUNC "AJTE. FUNCIONES" -#define TR_MENUTELEMETRY "TELEMETRIA" -#define TR_MENUTEMPLATES "PLANTILLAS" -#define TR_MENUSTAT "STATS" -#define TR_MENUDEBUG "DEBUG" -#define TR_RXNUM TR("RxNum", INDENT"Receptor No.") -#define TR_SYNCMENU "Sync "TR_ENTER -#define TR_LIMIT INDENT"Limite" -#define TR_MINRSSI "Min Rssi" -#define TR_LATITUDE "Latitud" -#define TR_LONGITUDE "Longitud" -#define TR_GPSCOORD TR("GPS Coords", "GPS formato coordenadas") -#define TR_VARIO TR("Vario", "Variometro") -#define TR_SHUTDOWN "APAGANDO" -#define TR_BATT_CALIB "Calib.bateria" -#define TR_CURRENT_CALIB "Calib. actual" -#define TR_VOLTAGE INDENT"Voltaje" -#define TR_CURRENT INDENT"Actual" -#define TR_SELECT_MODEL "Selec Modelo" -#define TR_CREATE_MODEL "Crear Modelo" -#define TR_COPY_MODEL "Copiar Modelo" -#define TR_MOVE_MODEL "Mover Modelo" -#define TR_BACKUP_MODEL "Copia Sgdad Mod." -#define TR_DELETE_MODEL "Borrar Modelo" -#define TR_RESTORE_MODEL "Restaurar Modelo" -#define TR_SDCARD_ERROR "SDCARD Error" -#define TR_NO_SDCARD "No SDCARD" -#define TR_INCOMPATIBLE "Incompatible" -#define TR_WARNING "AVISO" -#define TR_EEPROMWARN "EEPROM" -#define TR_THROTTLEWARN "ACELERADOR" -#define TR_ALARMSWARN "ALARMAS" -#define TR_SWITCHWARN "INTERPTOR" -#define TR_INVERT_THR TR("Invertir Acel?", "Invertir Acel.?") -#define TR_SPEAKER_VOLUME INDENT "Volumen" -#define TR_LCD "LCD" -#define TR_BRIGHTNESS INDENT "Brillo" -#define TR_CPU_TEMP "CPU Temp.\016>" -#define TR_CPU_CURRENT "Actual\022>" -#define TR_CPU_MAH "Consumo" -#define TR_COPROC "CoProc." -#define TR_COPROC_TEMP "MB Temp. \016>" -#define TR_CAPAWARNING INDENT "Capacidad Baja" -#define TR_TEMPWARNING INDENT "Sobrecalent" -#define TR_FUNC "Func" -#define TR_V1 "V1" -#define TR_V2 "V2" -#define TR_DURATION "Duracion" -#define TR_DELAY "Atraso" -#define TR_SD_CARD "SD CARD" -#define TR_SDHC_CARD "SD-HC CARD" -#define TR_NO_SOUNDS_ON_SD "Sin sonidos en SD" -#define TR_NO_MODELS_ON_SD "Sin Modelos en SD" -#define TR_NO_BITMAPS_ON_SD "Sin imagenes en SD" -#define TR_PLAY_FILE "Play" -#define TR_DELETE_FILE "Borrar" -#define TR_COPY_FILE "Copiar" -#define TR_RENAME_FILE "Renombrar" -#define TR_ASSIGN_BITMAP "Asignar Imagen" -#define TR_REMOVED "Borrado" -#define TR_SD_INFO "Informacion" -#define TR_SD_FORMAT "Formatear" -#define TR_NA "N/A" -#define TR_HARDWARE "COMPONENTES" -#define TR_FORMATTING "Formateando.." -#define TR_TEMP_CALIB "Temp. Calib" -#define TR_TIME "Hora" -#define TR_BAUDRATE "BT Baudrate" -#define TR_SD_INFO_TITLE "SD INFO" -#define TR_SD_TYPE "Tipo:" -#define TR_SD_SPEED "Velocidad:" -#define TR_SD_SECTORS "Sectores:" -#define TR_SD_SIZE "Tamaño:" -#define TR_TYPE "Tipo" -#define TR_GLOBAL_VARS "Global Variables" -#define TR_GLOBAL_VAR "Global Variable" -#define TR_MENUGLOBALVARS "GLOBAL VARIABLES" -#define TR_OWN "Propio" -#define TR_DATE "Fecha" -#define TR_ROTARY_ENCODER "R.Encs" -#define TR_CHANNELS_MONITOR "MONITOR CANALES" -#define TR_INTERNALRF "Interna RF" -#define TR_EXTERNALRF "Externa RF" -#define TR_FAILSAFE INDENT"Modo sgdad." -#define TR_FAILSAFESET "AJUSTES SGDAD." -#define TR_COUNTRYCODE "Codigo Pais" -#define TR_VOICELANG "Idioma voces" -#define TR_UNITSSYSTEM "Unidades" -#define TR_EDIT "Editar" -#define TR_INSERT_BEFORE "Insertar antes" -#define TR_INSERT_AFTER "Insertar despues" -#define TR_COPY "Copiar" -#define TR_MOVE "Mover" -#define TR_PASTE "Pegar" -#define TR_DELETE "Borrar" -#define TR_INSERT "Insertar" -#define TR_RESET_FLIGHT "Reset Vuelo" -#define TR_RESET_TIMER1 "Reset Reloj1" -#define TR_RESET_TIMER2 "Reset Reloj2" -#define TR_RESET_TELEMETRY "Reset Telemetria" -#define TR_STATISTICS "Estadisticas" -#define TR_ABOUT_US "Nosotros" -#define TR_AND_SWITCH "AND Inter." -#define TR_CF "CF" -#define TR_SPEAKER INDENT"Altavoz" -#define TR_BUZZER INDENT"Zumbador" -#define TR_BYTES "bytes" -#define TR_MODULE_BIND "[Enlace]" -#define TR_MODULE_RANGE "[Limites]" -#define TR_RESET_BTN "[Reset]" -#define TR_SET "[Ajuste]" -#define TR_TRAINER "Aprendiz" -#define TR_ANTENNAPROBLEM CENTER "¡Problema antena TX!" -#define TR_MODELIDUSED TR("ID en uso", "ID modelo en uso") -#define TR_MODULE INDENT "Modulo" -#define TR_CHANNELRANGE INDENT "Gama de canales" -#define TR_LOWALARM INDENT "Alarma baja" -#define TR_CRITICALALARM INDENT "Alarma Critica" -#define TR_PERSISTENT_MAH INDENT "Valor mAh" -#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") -#define TR_UART3MODE "Serial port" -#define TR_POT1TYPE "S1 Type" -#define TR_POT2TYPE "S2 Type" - -#if defined(MAVLINK) - #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" - #define TR_MAVLINK_PC_RSSI_EN_LABEL "PC RSSI EN" - #define TR_MAVMENUSETUP_TITLE "Mavlink Setup" - #define TR_MAVLINK_BAUD_LABEL "Baudrate" - #define TR_MAVLINK_INFOS "INFOS" - #define TR_MAVLINK_MODE "MODO" - #define TR_MAVLINK_CUR_MODE "Modo actual" - #define TR_MAVLINK_ARMED "Armad0" - #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" - #define TR_MAVLINK_BATTERY_LABEL "Estado Bateria de vuelo" - #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" - #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" - #define TR_MAVLINK_NAV_MENU_TITLE "NAV" - #define TR_MAVLINK_COURSE "Carrera" - #define TR_MAVLINK_HEADING "Titulo" - #define TR_MAVLINK_BEARING "Soporte" - #define TR_MAVLINK_ALTITUDE "Altitud" - #define TR_MAVLINK_GPS "GPS" - #define TR_MAVLINK_NO_FIX "NO Fix" - #define TR_MAVLINK_SAT "SAT" - #define TR_MAVLINK_HDOP "HDOP" - #define TR_MAVLINK_LAT "LAT" - #define TR_MAVLINK_LON "LON" -#endif - -// Taranis column headers -#define TR_PHASES_HEADERS { " Nombre ", " Interrup.", " Trims ", " Aparecer ", " Desparecer " } -#define TR_LIMITS_HEADERS { " Nombre ", " Compensacion", " Min ", " Max ", " Direccion ", " Curve ", " Centrado PPM ", " Simetrica " } -#define TR_CSW_HEADERS { " Funcion ", " V1 ", " V2 ", " AND Interrup. ", " Duracion ", " Retardo " } - -//Taranis About screen -#define TR_ABOUTUS "Nosotros" - -#define TR_ABOUT_OPENTX_1 "OpenTX es open source, no-" -#define TR_ABOUT_OPENTX_2 "comercial y viene sin " -#define TR_ABOUT_OPENTX_3 "garantias. Fue desarrollado" -#define TR_ABOUT_OPENTX_4 "libremente. Ayudas a traves" -#define TR_ABOUT_OPENTX_5 "de donaciones son bienvenidas!" - -#define TR_ABOUT_BERTRAND_1 "Bertrand Songis" -#define TR_ABOUT_BERTRAND_2 "Autor principal OpenTX" -#define TR_ABOUT_BERTRAND_3 "Companion9x codesarrollador" - -#define TR_ABOUT_MIKE_1 "Mike Blandford" -#define TR_ABOUT_MIKE_2 "Guru de codigo y drivers" -#define TR_ABOUT_MIKE_3 "Seguramente uno de los" -#define TR_ABOUT_MIKE_4 "mejores inspiradores" - -#define TR_ABOUT_ROMOLO_1 "Romolo Manfredini" -#define TR_ABOUT_ROMOLO_2 "Desarrollador principal" -#define TR_ABOUT_ROMOLO_3 "Companion9x" - -#define TR_ABOUT_ANDRE_1 "Andre Bernet" -#define TR_ABOUT_ANDRE_2 "Funcionalidad, usabilidad," -#define TR_ABOUT_ANDRE_3 "depurado, documentacion" - -#define TR_ABOUT_ROB_1 "Rob Thomson" -#define TR_ABOUT_ROB_2 "openrcforums webmaster" - -#define TR_ABOUT_MARTIN_1 "Martin Hotar" -#define TR_ABOUT_MARTIN_2 "Dise\201o grafico" - -#if defined(PCBTARANIS) - #define TR_ABOUT_HARDWARE_1 "FrSky" - #define TR_ABOUT_HARDWARE_2 "Productor dise\201o de hardware" - #define TR_ABOUT_HARDWARE_3 "Firmware contributor" -#else - #define TR_ABOUT_HARDWARE_1 "Brent Nelson" - #define TR_ABOUT_HARDWARE_2 "Sky9x dise\201ador/productor" - #define TR_ABOUT_HARDWARE_3 "" -#endif - -#define TR_ABOUT_PARENTS_1 "Padres del proyecto" -#define TR_ABOUT_PARENTS_2 "ersky9x (Mike Blandford)" -#define TR_ABOUT_PARENTS_3 "ER9X (Erez Raviv)" -#define TR_ABOUT_PARENTS_4 "TH9X (Thomas Husterer)" - -#define TR_CHR_SHORT 's' -#define TR_CHR_LONG 'l' -#define TR_CHR_TOGGLE 't' -#define TR_CHR_HOUR 'h' -#define TR_CHR_INPUT 'I' // Values between A-I will work - -#define TR_BEEP_VOLUME "Volumen Beep" -#define TR_WAV_VOLUME "Volumen Wav" -#define TR_VARIO_VOLUME "Volumen Vario" -#define TR_BG_VOLUME "Volumen Bg" - -#define TR_TOP_BAR "Top Bar" -#define TR_ALTITUDE INDENT "Altitude" -#define TR_MODS_FORBIDDEN "Modifications forbidden!" -#define TR_UNLOCKED "Unlocked" +/* + * Authors (alphabetical order) + * - Bertrand Songis + * - Bernet Andre + * - Jose Moreno + * - Kjell Kernen + * - Martin Hotar + * - Romolo Manfredini + * + * opentx is based on code named + * gruvin9x by Bryan J. Rentoul: http://code.google.com/p/gruvin9x/, + * er9x by Erez Raviv: http://code.google.com/p/er9x/, + * and the original (and ongoing) project by + * Thomas Husterer, th9x: http://code.google.com/p/th9x/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * + * + * !!!!! DO NOT EDIT es.h - EDIT es.h.txt INSTEAD !!!!!!! + * + * In order to make translations easier es.h.txt is parsed and national + * characters are replaced by bitmap codes. The result is es.h. + * + * See translate.py in the util catalog for the list of character codes + * + * !!!!! DO NOT EDIT es.h - EDIT es.h.txt INSTEAD !!!!!!! + */ + /* Formatting octal codes available in TR_ strings: + * \037\x -sets LCD x-coord (x value in octal) + * \036 -newline (ARM boards only) + * \001 to \035 -extended spacing (value * FW/2) + * \0 -ends actual string + */ + +// NON ZERO TERMINATED STRINGS +#define LEN_OFFON "\003" +#define TR_OFFON "OFF""ON\0" + +#define LEN_MMMINV "\003" +#define TR_MMMINV "---""INV" + +#define LEN_NCHANNELS "\004" +#define TR_NCHANNELS "\0014CH\0016CH\0018CH10CH12CH14CH16CH" + +#define LEN_VBEEPMODE "\005" +#define TR_VBEEPMODE "Mudo ""Alarm""NoKey""Todo " + +#define LEN_VBEEPLEN "\005" +#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0" + +#define LEN_VRENAVIG "\003" +#define TR_VRENAVIG "No REaREb" + +#define LEN_VBLMODE "\004" +#define TR_VBLMODE "OFF ""Keys""Stks""Both""ON\0" + +#define LEN_TRNMODE "\003" +#define TR_TRNMODE "OFF"" +="" :=" + +#define LEN_TRNCHN "\003" +#define TR_TRNCHN "CH1CH2CH3CH4" + +#define LEN_UART3MODES "\017" +#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" + +#define LEN_POTTYPES "\017" +#define TR_POTTYPES "Pot\0 ""Multipos Switch" + +#define LEN_DATETIME "\005" +#define TR_DATETIME "DATA:""HORA:" + +#define LEN_VLCD "\006" +#define TR_VLCD "NormalOptrex" + +#define LEN_COUNTRYCODES TR("\002", "\007") +#define TR_COUNTRYCODES TR("US""JP""EU", "America""Japon\0 ""Europa\0") + +#define LEN_VTRIMINC TR("\006", "\013") +#define TR_VTRIMINC TR("Expo ""ExFino""Fino ""Medio ""Grueso", "Exponencial""Extra Fino ""Fino ""Medio ""Grueso ") + +#define LEN_VBEEPCOUNTDOWN "\006" +#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voz\0" + +#define LEN_RETA123 "\001" + +#if defined(PCBGRUVIN9X) + #if ROTARY_ENCODERS > 2 + #define TR_RETA123 "RETA123abcd" + #else + #define TR_RETA123 "RETA123ab" + #endif +#elif defined(PCBTARANIS) + #define TR_RETA123 "RETA12LR" +#else + #define TR_RETA123 "RETA123" +#endif + +#define LEN_VPROTOS "\006" + +#if defined(PXX) + #define TR_PXX "PXX\0 " +#elif defined(DSM2) || defined(IRPROTOS) + #define TR_PXX "[PXX]\0" +#else + #define TR_PXX +#endif + +#if defined(DSM2) + #define TR_DSM2 "LP45\0 ""DSM2\0 ""DSMX\0 " +#elif defined(IRPROTOS) + #define TR_DSM2 "[LP45]""[DSM2]""[DSMX]" +#else + #define TR_DSM2 +#endif + +#if defined(IRPROTOS) + #define TR_IRPROTOS "SILV TRAC09PICZ SWIFT\0" +#else + #define TR_IRPROTOS +#endif + +#if defined(CPUARM) + #define TR_XPPM +#else + #define TR_XPPM "PPM16\0""PPMsim" +#endif + +#define TR_VPROTOS "PPM\0 " TR_XPPM TR_PXX TR_DSM2 TR_IRPROTOS + +#define LEN_POSNEG "\003" +#define TR_POSNEG "POS""NEG" + +#define LEN_VCURVEFUNC "\003" +#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" + +#define LEN_VMLTPX "\010" +#define TR_VMLTPX "A\201adir ""Multipl.""Cambiar\0" + +#define LEN_VMLTPX2 "\002" +#define TR_VMLTPX2 "+=""*="":=" + +#define LEN_VMIXTRIMS "\003" +#define TR_VMIXTRIMS "OFF""ON\0""Dir""Ele""Ace""Ale" + +#define LEN_VCSWFUNC "\005" +#define TR_VCSWFUNC "---\0 ""a{x\0 ""a>x\0 ""ax""|a|b\0 ""a" + +#define LEN_VTELPROTO "\007" +#define TR_VTELPROTO "Nada\0 ""Hub\0 ""WSHHigh" + +#define LEN_VOLTSRC "\003" +#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel" + +#define LEN_VARIOSRC "\005" +#if defined(FRSKY_SPORT) + #define TR_VARIOSRC "Vario""A1\0 ""A2\0" +#else + #define TR_VARIOSRC "Alti\0""Alti+""Vario""A1\0 ""A2\0" +#endif + +#define LEN_VSCREEN "\004" +#define TR_VSCREEN "Nums""Bars" + +#define LEN_GPSFORMAT "\004" +#define TR_GPSFORMAT "HMS NMEA" + +#define LEN2_VTEMPLATES 13 +#define LEN_VTEMPLATES "\015" +#define TR_VTEMPLATES "Elim Mezcla\0\0""Simple 4-CH \0""Anular Motor\0""Cola en V \0""Elevon\\Delta\0""eCCPM \0""Heli Setup \0""Servo Test \0" + +#define LEN_VSWASHTYPE "\004" +#define TR_VSWASHTYPE "---\0""120\0""120X""140\0""90\0" + +#define LEN_VKEYS "\005" +#define TR_VKEYS TR(" Menu""Salir""Abajo""Arrib""Dcha.""Izqd.", " Menu""Salir""Enter""Pgna.""Mas ""Menos") + +#define LEN_VRENCODERS "\003" +#define TR_VRENCODERS "REa""REb" + +#define LEN_VSWITCHES "\003" +#define LEN_VSRCRAW "\004" + +#if defined(PCBTARANIS) + #define TR_POTS_VSRCRAW "S1\0 ""S2\0 ""LS\0 ""RS\0 " + #define TR_SW_VSRCRAW "SA\0 ""SB\0 ""SC\0 ""SD\0 ""SE\0 ""SF\0 ""SG\0 ""SH\0 " +#elif defined(EXTRA_3POS) + #define TR_POTS_VSRCRAW "P1\0 ""P2\0 " + #define TR_SW_VSRCRAW "3P1\0""3P2\0" + #define TR_9X_3POS_SWITCHES "ID0""ID1""ID2""ID3""ID4""ID5" +#else + #define TR_POTS_VSRCRAW "P1\0 ""P2\0 ""P3\0 " + #define TR_SW_VSRCRAW "3POS" + #define TR_9X_3POS_SWITCHES "ID0""ID1""ID2" +#endif + +#if defined(CPUARM) + #define TR_CUSTOMSW "CS1""CS2""CS3""CS4""CS5""CS6""CS7""CS8""CS9""CSA""CSB""CSC""CSD""CSE""CSF""CSG""CSH""CSI""CSJ""CSK""CSL""CSM""CSN""CSO""CSP""CSQ""CSR""CSS""CST""CSU""CSV""CSW" +#elif defined(PCBGRUVIN9X) || defined(CPUM2561) || defined(CPUM128) + #define TR_CUSTOMSW "CS1""CS2""CS3""CS4""CS5""CS6""CS7""CS8""CS9""CSA""CSB""CSC""CSD""CSE""CSF" +#else + #define TR_CUSTOMSW "CS1""CS2""CS3""CS4""CS5""CS6""CS7""CS8""CS9""CSA""CSB""CSC" +#endif + +#if defined(PCBTARANIS) + #define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26" + #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS "Uno" +#else + #define TR_VSWITCHES TR_9X_3POS_SWITCHES "ACE""DIR""ELE""ALE""GEA""TRN" TR_CUSTOMSW "Uno" +#endif + +#if defined(PCBSKY9X) + #define TR_ROTARY_ENCODERS_VSRCRAW "REnc" +#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS > 2 + #define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb ""REc ""REd " +#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS <= 2 + #define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb " +#else + #define TR_ROTARY_ENCODERS_VSRCRAW +#endif + +#if defined(HELI) + #define TR_CYC_VSRCRAW "CYC1""CYC2""CYC3" +#else + #define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]" +#endif + +#define TR_VSRCRAW "---\0""Dir\0""Ele\0""Thr\0""Ale\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS_VSRCRAW "MAX\0" TR_CYC_VSRCRAW "TrmR" "TrmE" "TrmT" "TrmA" TR_SW_VSRCRAW + +#define LEN_VTMRMODES "\003" +#define TR_VTMRMODES "OFF""ABS""THs""TH%""THt" + +#define LEN_VTRAINERMODES "\006" +#define TR_VTRAINERMODES "Master""Esclav" + +#define LEN_VFAILSAFE "\011" +#define TR_VFAILSAFE "Guardar\0 ""Adaptar\0 ""Sin pulsos" + +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Estabilizar""Acrobat. ""Alt Hold ""Auto ""Guiado ""Loiter ""RTL ""Circulo ""Pos Hold ""Tierra ""OF Loiter""Toy A ""Toy M ""INVALIDO " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manual ""Circulo ""Estabilizar ""Entrenamiento""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guiado ""Inicialisando""INVALID " +#endif + +// ZERO TERMINATED STRINGS +#define INDENT "\001" +#define LEN_INDENT 1 +#define INDENT_WIDTH (FW/2) + +#if defined(PCBTARANIS) + #define TR_ENTER "[ENTER]" +#else + #define TR_ENTER "[MENU]" +#endif + +#define TR_POPUPS TR_ENTER "\010[SALIR]" +#define OFS_EXIT sizeof(TR_ENTER) + +#define TR_MENUWHENDONE CENTER "\006" TR_ENTER "AL ACABAR " +#define TR_FREE "libre" +#define TR_DELETEMODEL "BORRAR MODELO" +#define TR_COPYINGMODEL "Copiando modelo.." +#define TR_MOVINGMODEL "Mover modelo..." +#define TR_LOADINGMODEL "Cargar modelo..." +#define TR_NAME "Nom." +#define TR_MODELNAME "Nom.Modelo" +#define TR_PHASENAME "Nom.Fase " +#define TR_MIXNAME "Nom.Mezcla" +#define TR_INPUTNAME "Input Name" +#if defined(PCBTARANIS) + #define TR_EXPONAME "Line Name" +#else + #define TR_EXPONAME "Nom. Expo" +#endif +#define TR_BITMAP "Imagen Modelo" +#define TR_TIMER TR("Reloj","Reloj ") +#define TR_ELIMITS TR("E.Limite","Ampliar Limites") +#define TR_ETRIMS TR("E.Trims","Ampliar Trims") +#define TR_TRIMINC "Paso Trim" +#define TR_TTRACE TR("Fuente-A","Fuente Acelerad") +#define TR_TTRIM TR("Trim-A","Trim Acelerad") +#define TR_BEEPCTR TR("Ctr Beep","Center Beep") +#define TR_PROTO TR(INDENT"Proto",INDENT"Protocol") +#define TR_PPMFRAME "Trama PPM" +#define TR_MS "ms" +#define TR_SWITCH "Interr" +#define TR_TRIMS "Trims" +#define TR_FADEIN "Inicio" +#define TR_FADEOUT "Final" +#define TR_DEFAULT "(defecto)" +#define TR_CHECKTRIMS CENTER "\006Check\012Trims" +#define OFS_CHECKTRIMS CENTER_OFS+(9*FW) +#define TR_SWASHTYPE "Tipo ciclico" +#define TR_COLLECTIVE TR("Colectivo","Fuente Colectivo") +#define TR_SWASHRING "Ciclico" +#define TR_ELEDIRECTION TR("ELE Direccion","Largo cyc. direccion") +#define TR_AILDIRECTION TR("AIL Direccion","Lateral cyc. direccion") +#define TR_COLDIRECTION TR("PIT Direccion","Coll. pitch direccion") +#define TR_MODE INDENT"Modo" +#define TR_NOFREEEXPO "No expo libre!" +#define TR_NOFREEMIXER "No mezcla lib!" +#define TR_INSERTMIX "INSERTAR MIX" +#define TR_EDITMIX "EDITAR MIX " +#define TR_SOURCE INDENT"Fuente" +#define TR_WEIGHT "Cantidad" +#define TR_EXPO TR("Expo","Exponencial") +#define TR_SIDE "Lado" +#define TR_DIFFERENTIAL "Diferenc" +#define TR_OFFSET INDENT"Offset" +#define TR_TRIM "Trim" +#define TR_DREX "DRex" +#define TR_CURVE "Curva" +#define TR_FLMODE TR("Modo","Modos") +#define TR_MIXWARNING "Aviso" +#define TR_OFF "OFF" +#define TR_MULTPX "Multpx" +#define TR_DELAYDOWN "Delay Dn" +#define TR_DELAYUP "Delay Up" +#define TR_SLOWDOWN "Slow Dn" +#define TR_SLOWUP "Slow Up" +#define TR_MIXER "Mezclas" +#define TR_CV "CV" +#define TR_GV "GV" +#define TR_ACHANNEL "A\004canal" +#define TR_RANGE INDENT"Alcance" +#define TR_BAR "Bar" +#define TR_ALARM INDENT"Alarma" +#define TR_USRDATA "UsrData" +#define TR_BLADES INDENT"Palas" +#define TR_SCREEN "Pantalla" +#define TR_SOUND_LABEL "Sonido" +#define TR_LENGTH INDENT"Longitud" +#define TR_SPKRPITCH INDENT"Tono" +#define TR_HAPTIC_LABEL "Tactil" +#define TR_HAPTICSTRENGTH INDENT"Intensidad" +#define TR_CONTRAST "Contraste" +#define TR_ALARMS_LABEL "Alarmas" +#define TR_BATTERY_RANGE TR("Rango bateria","Rango medidor Bater") +#define TR_BATTERYWARNING INDENT"Bateria Baja" +#define TR_INACTIVITYALARM INDENT"Inactividad" +#define TR_MEMORYWARNING INDENT"Memoria Baja" +#define TR_ALARMWARNING INDENT"Sin Sonido" +#define TR_RENAVIG "RotEnc Navig" +#define TR_THROTTLEREVERSE TR("Invert_Acel", "Invertir Acel.") +#define TR_MINUTEBEEP TR(INDENT"Minuto",INDENT"Cada Minuto") +#define TR_BEEPCOUNTDOWN INDENT"Cuentaatras" +#define TR_PERSISTENT TR(INDENT"Persist.",INDENT"Persistente") +#define TR_BACKLIGHT_LABEL "Luz Fondo" +#define TR_BLDELAY INDENT"Duracion" +#define TR_BLONBRIGHTNESS INDENT"MAS Brillo" +#define TR_BLOFFBRIGHTNESS INDENT"MENOS Brillo" +#define TR_SPLASHSCREEN "Ptalla.inicio" +#define TR_THROTTLEWARNING TR("Aviso-A", "Aviso Acelerador") +#define TR_SWITCHWARNING TR("Aviso-I", "Aviso Intrptor") +#define TR_TIMEZONE TR("Zona Hora", "GPS Zona Hora") +#define TR_RXCHANNELORD TR("Rx Orden canal", "Orden habitual canales") +#define TR_SLAVE "Esclavo" +#define TR_MODESRC "Modo\006% Fuente" +#define TR_MULTIPLIER "Multiplicar" +#define TR_CAL "Cal" +#define TR_VTRIM "Trim- +" +#define TR_BG "BG:" +#define TR_MENUTOSTART CENTER "\006" TR_ENTER "EMPEZAR" +#define TR_SETMIDPOINT CENTER "\003STICKS AL CENTRO" +#define TR_MOVESTICKSPOTS CENTER "\006MOVER STICKS/POTS" +#define TR_RXBATT "Rx Batt:" +#define TR_TXnRX "Tx:\0Rx:" +#define OFS_RX 4 +#define TR_ACCEL "Acc:" +#define TR_NODATA CENTER "SIN DATOS" +#define TR_TM1TM2 "TM1\037\146TM2" +#define TR_THRTHP "THR\037\146TH%" +#define TR_TOT "TOT" +#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us" +#define STR_US (STR_TMR1LATMAXUS+13) +#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us" +#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" + +#if defined(CPUARM) + #define TR_TMIXMAXMS "Tmix max" + #define TR_FREESTACKMINB "Free Stack" +#else + #define TR_TMIXMAXMS "Tmix max\037\124ms" + #define TR_FREESTACKMINB "Pila LIbre\037\124b" +#endif + +#define TR_MENUTORESET CENTER TR_ENTER "Resetear" +#define TR_PPM "PPM" +#define TR_CH "CH" +#define TR_MODEL "MODELO" +#define TR_FP "FM" +#define TR_MIX "MIX" +#define TR_EEPROMLOWMEM "EEPROM mem.baja" +#define TR_ALERT "\016ALERTA" +#define TR_PRESSANYKEYTOSKIP "Pulsar tecla omitir" +#define TR_THROTTLENOTIDLE "Aceler.Activado" +#define TR_ALARMSDISABLED "Alarmas Desact." +#define TR_PRESSANYKEY TR("\010Pulsa una Tecla", "Pulsa una Tecla") +#define TR_BADEEPROMDATA "Datos EEprom mal" +#define TR_EEPROMFORMATTING "Formateo EEPROM" +#define TR_EEPROMOVERFLOW "Desborde EEPROM" +#define TR_MENURADIOSETUP "CONFIGURACION" +#define TR_MENUDATEANDTIME "FECHA Y HORA" +#define TR_MENUTRAINER "APRENDIZ" +#define TR_MENUVERSION "VERSION" +#define TR_MENUDIAG TR("INTERUPTS", "TEST INTERUP.") +#define TR_MENUANA TR("ANAS", "ENTRADAS ANALOG") +#define TR_MENUCALIBRATION "CALIBRACION" +#define TR_TRIMS2OFFSETS "\006Trims => Offsets" +#define TR_MENUMODELSEL TR("MODELSEL", "SELECCION MODELO") +#define TR_MENUSETUP TR("CONF.", "CONF.MODELO") +#define TR_MENUFLIGHTPHASE "MODO VUELO" +#define TR_MENUFLIGHTPHASES "MODOS VUELO" +#define TR_MENUHELISETUP "CONF. HELI" + + +// Alignment + +#if defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_LIMITS_SYMETRICAL) // The right menu titles for the gurus ... + #define TR_MENUINPUTS "STICKS" + #define TR_MENULIMITS "SERVOS" +#else + #define TR_MENUINPUTS "DR/EXPO" + #define TR_MENULIMITS "LIMITES" +#endif + +#define TR_MENUCURVES "CURVAS" +#define TR_MENUCURVE "CURVA" +#define TR_MENUCUSTOMSWITCH "AJTE.INTERUP." +#define TR_MENUCUSTOMSWITCHES "AJTE.INTERUPTS." +#define TR_MENUCUSTOMFUNC "AJTE. FUNCIONES" +#define TR_MENUTELEMETRY "TELEMETRIA" +#define TR_MENUTEMPLATES "PLANTILLAS" +#define TR_MENUSTAT "STATS" +#define TR_MENUDEBUG "DEBUG" +#define TR_RXNUM TR("RxNum", INDENT"Receptor No.") +#define TR_SYNCMENU "Sync "TR_ENTER +#define TR_LIMIT INDENT"Limite" +#define TR_MINRSSI "Min Rssi" +#define TR_LATITUDE "Latitud" +#define TR_LONGITUDE "Longitud" +#define TR_GPSCOORD TR("GPS Coords", "GPS formato coordenadas") +#define TR_VARIO TR("Vario", "Variometro") +#define TR_SHUTDOWN "APAGANDO" +#define TR_BATT_CALIB "Calib.bateria" +#define TR_CURRENT_CALIB "Calib. actual" +#define TR_VOLTAGE INDENT"Voltaje" +#define TR_CURRENT INDENT"Actual" +#define TR_SELECT_MODEL "Selec Modelo" +#define TR_CREATE_MODEL "Crear Modelo" +#define TR_COPY_MODEL "Copiar Modelo" +#define TR_MOVE_MODEL "Mover Modelo" +#define TR_BACKUP_MODEL "Copia Sgdad Mod." +#define TR_DELETE_MODEL "Borrar Modelo" +#define TR_RESTORE_MODEL "Restaurar Modelo" +#define TR_SDCARD_ERROR "SDCARD Error" +#define TR_NO_SDCARD "No SDCARD" +#define TR_INCOMPATIBLE "Incompatible" +#define TR_WARNING "AVISO" +#define TR_EEPROMWARN "EEPROM" +#define TR_THROTTLEWARN "ACELERADOR" +#define TR_ALARMSWARN "ALARMAS" +#define TR_SWITCHWARN "INTERPTOR" +#define TR_INVERT_THR TR("Invertir Acel?", "Invertir Acel.?") +#define TR_SPEAKER_VOLUME INDENT "Volumen" +#define TR_LCD "LCD" +#define TR_BRIGHTNESS INDENT "Brillo" +#define TR_CPU_TEMP "CPU Temp.\016>" +#define TR_CPU_CURRENT "Actual\022>" +#define TR_CPU_MAH "Consumo" +#define TR_COPROC "CoProc." +#define TR_COPROC_TEMP "MB Temp. \016>" +#define TR_CAPAWARNING INDENT "Capacidad Baja" +#define TR_TEMPWARNING INDENT "Sobrecalent" +#define TR_FUNC "Func" +#define TR_V1 "V1" +#define TR_V2 "V2" +#define TR_DURATION "Duracion" +#define TR_DELAY "Atraso" +#define TR_SD_CARD "SD CARD" +#define TR_SDHC_CARD "SD-HC CARD" +#define TR_NO_SOUNDS_ON_SD "Sin sonidos en SD" +#define TR_NO_MODELS_ON_SD "Sin Modelos en SD" +#define TR_NO_BITMAPS_ON_SD "Sin imagenes en SD" +#define TR_PLAY_FILE "Play" +#define TR_DELETE_FILE "Borrar" +#define TR_COPY_FILE "Copiar" +#define TR_RENAME_FILE "Renombrar" +#define TR_ASSIGN_BITMAP "Asignar Imagen" +#define TR_REMOVED "Borrado" +#define TR_SD_INFO "Informacion" +#define TR_SD_FORMAT "Formatear" +#define TR_NA "N/A" +#define TR_HARDWARE "COMPONENTES" +#define TR_FORMATTING "Formateando.." +#define TR_TEMP_CALIB "Temp. Calib" +#define TR_TIME "Hora" +#define TR_BAUDRATE "BT Baudrate" +#define TR_SD_INFO_TITLE "SD INFO" +#define TR_SD_TYPE "Tipo:" +#define TR_SD_SPEED "Velocidad:" +#define TR_SD_SECTORS "Sectores:" +#define TR_SD_SIZE "Tamaño:" +#define TR_TYPE "Tipo" +#define TR_GLOBAL_VARS "Global Variables" +#define TR_GLOBAL_VAR "Global Variable" +#define TR_MENUGLOBALVARS "GLOBAL VARIABLES" +#define TR_OWN "Propio" +#define TR_DATE "Fecha" +#define TR_ROTARY_ENCODER "R.Encs" +#define TR_CHANNELS_MONITOR "MONITOR CANALES" +#define TR_INTERNALRF "Interna RF" +#define TR_EXTERNALRF "Externa RF" +#define TR_FAILSAFE INDENT"Modo sgdad." +#define TR_FAILSAFESET "AJUSTES SGDAD." +#define TR_COUNTRYCODE "Codigo Pais" +#define TR_VOICELANG "Idioma voces" +#define TR_UNITSSYSTEM "Unidades" +#define TR_EDIT "Editar" +#define TR_INSERT_BEFORE "Insertar antes" +#define TR_INSERT_AFTER "Insertar despues" +#define TR_COPY "Copiar" +#define TR_MOVE "Mover" +#define TR_PASTE "Pegar" +#define TR_DELETE "Borrar" +#define TR_INSERT "Insertar" +#define TR_RESET_FLIGHT "Reset Vuelo" +#define TR_RESET_TIMER1 "Reset Reloj1" +#define TR_RESET_TIMER2 "Reset Reloj2" +#define TR_RESET_TELEMETRY "Reset Telemetria" +#define TR_STATISTICS "Estadisticas" +#define TR_ABOUT_US "Nosotros" +#define TR_AND_SWITCH "AND Inter." +#define TR_CF "CF" +#define TR_SPEAKER INDENT"Altavoz" +#define TR_BUZZER INDENT"Zumbador" +#define TR_BYTES "bytes" +#define TR_MODULE_BIND "[Enlace]" +#define TR_MODULE_RANGE "[Limites]" +#define TR_RESET_BTN "[Reset]" +#define TR_SET "[Ajuste]" +#define TR_TRAINER "Aprendiz" +#define TR_ANTENNAPROBLEM CENTER "¡Problema antena TX!" +#define TR_MODELIDUSED TR("ID en uso", "ID modelo en uso") +#define TR_MODULE INDENT "Modulo" +#define TR_CHANNELRANGE INDENT "Gama de canales" +#define TR_LOWALARM INDENT "Alarma baja" +#define TR_CRITICALALARM INDENT "Alarma Critica" +#define TR_PERSISTENT_MAH INDENT "Valor mAh" +#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") +#define TR_UART3MODE "Serial port" +#define TR_POT1TYPE "S1 Type" +#define TR_POT2TYPE "S2 Type" + +#if defined(MAVLINK) + #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" + #define TR_MAVLINK_PC_RSSI_EN_LABEL "PC RSSI EN" + #define TR_MAVMENUSETUP_TITLE "Mavlink Setup" + #define TR_MAVLINK_BAUD_LABEL "Baudrate" + #define TR_MAVLINK_INFOS "INFOS" + #define TR_MAVLINK_MODE "MODO" + #define TR_MAVLINK_CUR_MODE "Modo actual" + #define TR_MAVLINK_ARMED "Armad0" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Estado Bateria de vuelo" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Carrera" + #define TR_MAVLINK_HEADING "Titulo" + #define TR_MAVLINK_BEARING "Soporte" + #define TR_MAVLINK_ALTITUDE "Altitud" + #define TR_MAVLINK_GPS "GPS" + #define TR_MAVLINK_NO_FIX "NO Fix" + #define TR_MAVLINK_SAT "SAT" + #define TR_MAVLINK_HDOP "HDOP" + #define TR_MAVLINK_LAT "LAT" + #define TR_MAVLINK_LON "LON" +#endif + +// Taranis column headers +#define TR_PHASES_HEADERS { " Nombre ", " Interrup.", " Trims ", " Aparecer ", " Desparecer " } +#define TR_LIMITS_HEADERS { " Nombre ", " Compensacion", " Min ", " Max ", " Direccion ", " Curve ", " Centrado PPM ", " Simetrica " } +#define TR_CSW_HEADERS { " Funcion ", " V1 ", " V2 ", " AND Interrup. ", " Duracion ", " Retardo " } + +//Taranis About screen +#define TR_ABOUTUS "Nosotros" + +#define TR_ABOUT_OPENTX_1 "OpenTX es open source, no-" +#define TR_ABOUT_OPENTX_2 "comercial y viene sin " +#define TR_ABOUT_OPENTX_3 "garantias. Fue desarrollado" +#define TR_ABOUT_OPENTX_4 "libremente. Ayudas a traves" +#define TR_ABOUT_OPENTX_5 "de donaciones son bienvenidas!" + +#define TR_ABOUT_BERTRAND_1 "Bertrand Songis" +#define TR_ABOUT_BERTRAND_2 "Autor principal OpenTX" +#define TR_ABOUT_BERTRAND_3 "Companion9x codesarrollador" + +#define TR_ABOUT_MIKE_1 "Mike Blandford" +#define TR_ABOUT_MIKE_2 "Guru de codigo y drivers" +#define TR_ABOUT_MIKE_3 "Seguramente uno de los" +#define TR_ABOUT_MIKE_4 "mejores inspiradores" + +#define TR_ABOUT_ROMOLO_1 "Romolo Manfredini" +#define TR_ABOUT_ROMOLO_2 "Desarrollador principal" +#define TR_ABOUT_ROMOLO_3 "Companion9x" + +#define TR_ABOUT_ANDRE_1 "Andre Bernet" +#define TR_ABOUT_ANDRE_2 "Funcionalidad, usabilidad," +#define TR_ABOUT_ANDRE_3 "depurado, documentacion" + +#define TR_ABOUT_ROB_1 "Rob Thomson" +#define TR_ABOUT_ROB_2 "openrcforums webmaster" + +#define TR_ABOUT_MARTIN_1 "Martin Hotar" +#define TR_ABOUT_MARTIN_2 "Dise\201o grafico" + +#if defined(PCBTARANIS) + #define TR_ABOUT_HARDWARE_1 "FrSky" + #define TR_ABOUT_HARDWARE_2 "Productor dise\201o de hardware" + #define TR_ABOUT_HARDWARE_3 "Firmware contributor" +#else + #define TR_ABOUT_HARDWARE_1 "Brent Nelson" + #define TR_ABOUT_HARDWARE_2 "Sky9x dise\201ador/productor" + #define TR_ABOUT_HARDWARE_3 "" +#endif + +#define TR_ABOUT_PARENTS_1 "Padres del proyecto" +#define TR_ABOUT_PARENTS_2 "ersky9x (Mike Blandford)" +#define TR_ABOUT_PARENTS_3 "ER9X (Erez Raviv)" +#define TR_ABOUT_PARENTS_4 "TH9X (Thomas Husterer)" + +#define TR_CHR_SHORT 's' +#define TR_CHR_LONG 'l' +#define TR_CHR_TOGGLE 't' +#define TR_CHR_HOUR 'h' +#define TR_CHR_INPUT 'I' // Values between A-I will work + +#define TR_BEEP_VOLUME "Volumen Beep" +#define TR_WAV_VOLUME "Volumen Wav" +#define TR_VARIO_VOLUME "Volumen Vario" +#define TR_BG_VOLUME "Volumen Bg" + +#define TR_TOP_BAR "Top Bar" +#define TR_ALTITUDE INDENT "Altitude" +#define TR_MODS_FORBIDDEN "Modifications forbidden!" +#define TR_UNLOCKED "Unlocked" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 09c7f0854..69b34183a 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -1,781 +1,781 @@ -/* - * Authors (alphabetical order) - * - Bertrand Songis - * - Bernet Andre - * - Kjell Kernen - * - Martin Hotar - * - Romolo Manfredini - * - * opentx is based on code named - * gruvin9x by Bryan J. Rentoul: http://code.google.com/p/gruvin9x/, - * er9x by Erez Raviv: http://code.google.com/p/er9x/, - * and the original (and ongoing) project by - * Thomas Husterer, th9x: http://code.google.com/p/th9x/ - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * - * - * - * !!!!! DO NOT EDIT fr.h - EDIT fr.h.txt INSTEAD !!!!!!! - * - * In order to make translations easier fr.h.txt is parsed and national - * characters are replaced by bitmap codes. The result is fr.h. - * - * See translate.py in the util catalog for the list of character codes - * - * !!!!! DO NOT EDIT fr.h - EDIT fr.h.txt INSTEAD !!!!!!! - */ - /* Formatting octal codes available in TR_ strings: - * \037\x -sets LCD x-coord (x value in octal) - * \036 -newline (ARM boards only) - * \001 to \035 -extended spacing (value * FW/2) - * \0 -ends actual string - */ - -// NON ZERO TERMINATED STRINGS -#define LEN_OFFON "\003" -#define TR_OFFON "OFF""ON\0" - -#define LEN_MMMINV "\003" -#define TR_MMMINV "---""INV" - -#define LEN_NCHANNELS "\004" -#define TR_NCHANNELS "\0014CH\0016CH\0018CH10CH12CH14CH16CH" - -#define LEN_VBEEPMODE "\005" -#define TR_VBEEPMODE "Aucun""Alarm""NoKey""Tout\0" - -#define LEN_VBEEPLEN "\005" -#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0" - -#define LEN_VRENAVIG "\003" -#define TR_VRENAVIG "NonREaREb" - -#define LEN_VBLMODE TR("\004","\011") -#define TR_VBLMODE TR("OFF\0""Btns""Ctrl""Tous""ON\0","OFF\0 ""Touches\0 ""Controles""Tous\0 ""ON\0 ") - -#define LEN_TRNMODE "\003" -#define TR_TRNMODE "OFF"" +="" :=" - -#define LEN_TRNCHN "\003" -#define TR_TRNCHN "CH1CH2CH3CH4" - -#define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" - -#define LEN_POTTYPES "\017" -#define TR_POTTYPES "Pot\0 ""Multipos Switch" - -#define LEN_DATETIME "\005" -#define TR_DATETIME "DATE:""HEURE" - -#define LEN_VLCD "\006" -#define TR_VLCD "NormalOptrex" - -#define LEN_COUNTRYCODES TR("\002", "\006") -#define TR_COUNTRYCODES TR("US""JP""EU", "USA\0 ""Japon\0""Europe") - -#define LEN_VTRIMINC TR("\006","\013") -#define TR_VTRIMINC TR("Expo\0 ""ExFin\0""Fin\0 ""Moyen\0""Gros\0 ","Exponentiel""Extra Fin\0 ""Fin\0 ""Moyen\0 ""Grossier\0 ") - -#define LEN_VBEEPCOUNTDOWN "\006" -#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voice\0" - -#define LEN_RETA123 "\001" - -#if defined(PCBGRUVIN9X) - #if ROTARY_ENCODERS > 2 - #define TR_RETA123 "DPGA123abcd" - #else - #define TR_RETA123 "DPGA123ab" - #endif -#elif defined(PCBTARANIS) - #define TR_RETA123 "DPGA12LR" -#else - #define TR_RETA123 "DPGA123" -#endif - -#define LEN_VPROTOS "\006" - -#if defined(PXX) - #define TR_PXX "PXX\0 " -#elif defined(DSM2) || defined(IRPROTOS) - #define TR_PXX "[PXX]\0" -#else - #define TR_PXX -#endif - -#if defined(DSM2) - #define TR_DSM2 "LP45\0 ""DSM2\0 ""DSMX\0 " -#elif defined(IRPROTOS) - #define TR_DSM2 "[LP45]""[DSM2]""[DSMX]" -#else - #define TR_DSM2 -#endif - -#if defined(IRPROTOS) - #define TR_IRPROTOS "SILV TRAC09PICZ SWIFT\0" -#else - #define TR_IRPROTOS -#endif - -#if defined(CPUARM) - #define TR_XPPM -#else - #define TR_XPPM "PPM16\0""PPMsim" -#endif - -#define TR_VPROTOS "PPM\0 " TR_XPPM TR_PXX TR_DSM2 TR_IRPROTOS - -#define LEN_POSNEG "\003" -#define TR_POSNEG "POS""NEG" - -#define LEN_VCURVEFUNC "\003" -#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" - -#define LEN_VMLTPX TR("\010","\013") -#define TR_VMLTPX TR("Ajoute\0 ""Multipl.""Remplace","Additionner""Multiplier\0""Remplacer\0 ") - -#define LEN_VMLTPX2 "\002" -#define TR_VMLTPX2 "+=""*="":=" - -#define LEN_VMIXTRIMS "\003" -#define TR_VMIXTRIMS "OFF""ON\0""Dir""Prf""Gaz""Ail" - -#define LEN_VCSWFUNC "\005" -#define TR_VCSWFUNC "---\0 ""a{x\0 ""a>x\0 ""ax""|a|b\0 ""a" - -#define LEN_VTELPROTO "\007" -#define TR_VTELPROTO "Aucun ""Hub\0 ""WSHHigh""Halcyon" - -#define LEN_VOLTSRC "\003" -#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel" - -#define LEN_VARIOSRC "\005" -#if defined(FRSKY_SPORT) - #define TR_VARIOSRC "Vario""A1\0 ""A2\0" -#else - #define TR_VARIOSRC "Alti\0""Alti+""Vario""A1\0 ""A2\0" -#endif - -#define LEN_VSCREEN TR("\004","\007") -#define TR_VSCREEN TR("Val.""Bars","Valeurs""Barres\0") - -#define LEN_GPSFORMAT "\004" -#define TR_GPSFORMAT "DMS\0NMEA" - -#define LEN2_VTEMPLATES 15 -#define LEN_VTEMPLATES "\017" -#define TR_VTEMPLATES "Suppr Mixages\0 ""4 Voies simple\0""Coupure Gaz\0 ""Empennage V\0 ""Elevon\\Delta\0 ""eCCPM\0 ""Conf. Hélico\0 ""Test Servo\0 " - -#define LEN_VSWASHTYPE "\004" -#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0" - -#define LEN_VKEYS "\005" -#define TR_VKEYS TR(" Menu"" Exit"" Bas"" Haut""Droit""Gauch", " Menu"" Exit""Enter"" Page"" Plus""Minus") - -#define LEN_VRENCODERS "\003" -#define TR_VRENCODERS "REa""REb" - -#define LEN_VSWITCHES "\003" -#define LEN_VSRCRAW "\004" - -#if defined(PCBTARANIS) - #define TR_POTS_VSRCRAW "S1\0 ""S2\0 ""LS\0 ""RS\0 " - #define TR_SW_VSRCRAW "SA\0 ""SB\0 ""SC\0 ""SD\0 ""SE\0 ""SF\0 ""SG\0 ""SH\0 " -#elif defined(EXTRA_3POS) - #define TR_POTS_VSRCRAW "P1\0 ""P2\0 " - #define TR_SW_VSRCRAW "3P1\0""3P2\0" - #define TR_9X_3POS_SWITCHES "ID0""ID1""ID2""ID3""ID4""ID5" -#else - #define TR_POTS_VSRCRAW "P1\0 ""P2\0 ""P3\0 " - #define TR_SW_VSRCRAW "3POS" - #define TR_9X_3POS_SWITCHES "ID0""ID1""ID2" -#endif - -#if defined(CPUARM) - #define TR_CUSTOMSW "IP1""IP2""IP3""IP4""IP5""IP6""IP7""IP8""IP9""IPA""IPB""IPC""IPD""IPE""IPF""IPG""IPH""IPI""IPJ""IPK""IPL""IPM""IPN""IPO""IPP""IPQ""IPR""IPS""IPT""IPU""IPV""IPW" -#elif defined(PCBGRUVIN9X) || defined(CPUM2561) || defined(CPUM128) - #define TR_CUSTOMSW "IP1""IP2""IP3""IP4""IP5""IP6""IP7""IP8""IP9""IPA""IPB""IPC""IPD""IPE""IPF" -#else - #define TR_CUSTOMSW "IP1""IP2""IP3""IP4""IP5""IP6""IP7""IP8""IP9""IPA""IPB""IPC" -#endif - -#if defined(PCBTARANIS) - #define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26" - #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS "1*\0" -#else - #define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_CUSTOMSW "1*\0" -#endif - -#if defined(PCBSKY9X) - #define TR_ROTARY_ENCODERS_VSRCRAW "REnc" -#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS > 2 - #define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb ""REc ""REd " -#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS <= 2 - #define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb " -#else - #define TR_ROTARY_ENCODERS_VSRCRAW -#endif - -#if defined(HELI) -#define TR_CYC_VSRCRAW "CYC1""CYC2""CYC3" -#else -#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]" -#endif - -#define TR_VSRCRAW "---\0""Dir\0""Prf\0""Gaz\0""Ail\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS_VSRCRAW "MAX\0" TR_CYC_VSRCRAW "TrmD" "TrmP" "TrmG" "TrmA" TR_SW_VSRCRAW - -#define LEN_VTMRMODES "\003" -#define TR_VTMRMODES "OFF""ABS""GZs""GZ%""GZt" - -#define LEN_VTRAINERMODES "\006" -#define TR_VTRAINERMODES "Maître""Elève\0" - -#define LEN_VFAILSAFE "\011" -#define TR_VFAILSAFE "Maintien\0""Prédéfini""Pas d'imp" - -#if defined(MAVLINK) - #define LEN_MAVLINK_BAUDS "\006" - #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" - #define LEN_MAVLINK_AC_MODES "\011" - #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " - #define LEN_MAVLINK_AP_MODES "\015" - #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " -#endif - -// ZERO TERMINATED STRINGS -#define INDENT "\001" -#define LEN_INDENT 1 -#define INDENT_WIDTH (FW/2) - -#if defined(PCBTARANIS) - #define TR_ENTER "[ENTER]" -#else - #define TR_ENTER "[MENU]" -#endif - -#define TR_POPUPS TR_ENTER"\010[EXIT]" -#define OFS_EXIT sizeof(TR_ENTER) - -#define TR_MENUWHENDONE CENTER"\006"TR_ENTER" QUAND PRET" -#define TR_FREE "disp" -#define TR_DELETEMODEL "SUPPRIMER MODELE" -#define TR_COPYINGMODEL "Copie..." -#define TR_MOVINGMODEL "Déplacement..." -#define TR_LOADINGMODEL "Chargement..." -#define TR_NAME "Nom" -#define TR_MODELNAME TR("Nom modèle","Nom du modèle") -#define TR_PHASENAME "Nom phase" -#define TR_MIXNAME TR("Nom mix.","Nom du mixeur") -#define TR_INPUTNAME "Input Name" -#if defined(PCBTARANIS) - #define TR_EXPONAME "Nom ligne" -#else - #define TR_EXPONAME "Nom expo" -#endif -#define TR_BITMAP "Image du modèle" -#define TR_TIMER "Chrono " -#define TR_ELIMITS TR("Limites ét","Limites étendues") -#define TR_ETRIMS TR("Trims ét.","Trims étendus") -#define TR_TRIMINC TR("Pas Trim","Pas des trims") -#define TR_TTRACE "Source gaz" -#define TR_TTRIM "Trim gaz" -#define TR_BEEPCTR TR("Bips centr","Bips centrage") -#define TR_PROTO TR(INDENT"Proto.",INDENT"Protocole") -#define TR_PPMFRAME INDENT"Trame PPM" -#define TR_MS "ms" -#define TR_SWITCH TR("Inter","Interrupteur") -#define TR_TRIMS "Trims" -#define TR_FADEIN "Fondu ON" -#define TR_FADEOUT "Fondu OFF" -#define TR_DEFAULT "(défaut)" -#define TR_CHECKTRIMS "\006Vérif\012Trims" -#define OFS_CHECKTRIMS (9*FW) -#define TR_SWASHTYPE TR("Type de Plat.","Type de plateau") -#define TR_COLLECTIVE TR("Collectif","Voie du pas collectif") -#define TR_SWASHRING TR("Limite Cycl.","Limite du cyclique") -#define TR_ELEDIRECTION TR("Inv. longitud.","Inversion longitudinal") -#define TR_AILDIRECTION TR("Inv. latéral","Inversion latéral") -#define TR_COLDIRECTION TR("Inv. collectif","Inversion collectif") -#define TR_MODE INDENT"Mode" -#define TR_NOFREEEXPO "Max expos atteint!" -#define TR_NOFREEMIXER "Max mixages atteint!" -#define TR_INSERTMIX "INSERER MIXAGE" -#define TR_EDITMIX "EDITER MIXAGE" -#define TR_SOURCE INDENT"Source" -#define TR_WEIGHT "Ratio" -#define TR_EXPO TR("Expo","Exponentiel") -#define TR_SIDE "Coté" -#define TR_DIFFERENTIAL "Différentiel" -#define TR_OFFSET INDENT"Décalage" -#define TR_TRIM "Trim" -#define TR_DREX "DRex" -#define TR_CURVE "Courbe" -#define TR_FLMODE TR("Phase","Phases") -#define TR_MIXWARNING "Alerte" -#define TR_OFF "OFF" -#define TR_MULTPX "Opération" -#define TR_DELAYDOWN "Retard bas" -#define TR_DELAYUP "Retard haut" -#define TR_SLOWDOWN "Ralenti bas" -#define TR_SLOWUP "Ralenti haut" -#define TR_MIXER "MIXEUR" -#define TR_CV "CB" -#define TR_GV "VG" -#define TR_ACHANNEL "A" -#define TR_RANGE INDENT"Plage" -#define TR_BAR "Barre" -#define TR_ALARM INDENT"Alarme" -#define TR_USRDATA "Données" -#define TR_BLADES INDENT"Pales" -#define TR_SCREEN "Ecran " -#define TR_SOUND_LABEL "Son" -#define TR_LENGTH INDENT"Durée" -#define TR_SPKRPITCH INDENT"Tonalité" -#define TR_HAPTIC_LABEL "Vibreur" -#define TR_HAPTICSTRENGTH INDENT"Force" -#define TR_CONTRAST "Contraste" -#define TR_ALARMS_LABEL "Alarmes" -#define TR_BATTERY_RANGE "Plage batterie" -#define TR_BATTERYWARNING TR(INDENT"Batterie",INDENT"Batterie faible") -#define TR_INACTIVITYALARM INDENT"Inactivité" -#define TR_MEMORYWARNING INDENT"Mémoire pleine" -#define TR_ALARMWARNING TR(INDENT"Silence",INDENT"Sons désactivés") -#define TR_RENAVIG "Navig EncRot" -#define TR_THROTTLEREVERSE TR("Inv. gaz","Inversion gaz") -#define TR_MINUTEBEEP TR(INDENT"Bip min.",INDENT"Annonces minutes") -#define TR_BEEPCOUNTDOWN TR(INDENT"Bip fin",INDENT"Compte à rebours") -#define TR_PERSISTENT TR(INDENT"Persist.",INDENT"Persistant") -#define TR_BACKLIGHT_LABEL "Rétroéclairage" -#define TR_BLDELAY INDENT"Durée" -#define TR_BLONBRIGHTNESS INDENT"Luminosité ON" -#define TR_BLOFFBRIGHTNESS INDENT"Luminosité OFF" -#define TR_SPLASHSCREEN "Logo d'accueil" -#define TR_THROTTLEWARNING "Alerte gaz" -#define TR_SWITCHWARNING TR("Alerte int","Alerte interrupt.") -#define TR_TIMEZONE "Fuseau horaire" -#define TR_RXCHANNELORD TR("Ordre voies RX","Ordre des voies préféré") -#define TR_SLAVE "Elève" -#define TR_MODESRC "Mode\006% Source" -#define TR_MULTIPLIER "Multiplieur" -#define TR_CAL "Cal" -#define TR_VTRIM "Trim- +" -#define TR_BG "BG:" -#define TR_MENUTOSTART CENTER"\006" TR_ENTER " POUR DEBUT" -#define TR_SETMIDPOINT CENTER"\010REGLER NEUTRES" -#define TR_MOVESTICKSPOTS CENTER"\004BOUGER STICKS/POTS" -#define TR_RXBATT "Batt.RX" -#define TR_TXnRX "Tx:\0Rx:" -#define OFS_RX 4 -#define TR_ACCEL "Acc:" -#define TR_NODATA "NO DATA" -#define TR_TM1TM2 "TM1\037\146TM2" -#define TR_THRTHP "THR\037\146TH%" -#define TR_TOT "TOT" -#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us" -#define STR_US (STR_TMR1LATMAXUS+13) -#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us" -#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" - -#if defined(CPUARM) - #define TR_TMIXMAXMS "Tmix max" - #define TR_FREESTACKMINB "Free Stack" -#else - #define TR_TMIXMAXMS "Tmix max\037\124ms" - #define TR_FREESTACKMINB "Free Stack\037\124b" -#endif - -#define TR_MENUTORESET CENTER TR_ENTER" pour reset" -#define TR_PPM "PPM" -#define TR_CH "CH" -#define TR_MODEL "MODELE" -#define TR_FP "PV" -#define TR_MIX "MIX" -#define TR_EEPROMLOWMEM "EEPROM pleine!" -#define TR_ALERT "\014ALERTE" -#define TR_PRESSANYKEYTOSKIP "Touche pour ignorer" -#define TR_THROTTLENOTIDLE "Gaz pas à zéro" -#define TR_ALARMSDISABLED "Alarmes Désactivées" -#define TR_PRESSANYKEY TR("Touche pour continuer","Touche pour continuer") -#define TR_BADEEPROMDATA "EEPROM corrompue" -#define TR_EEPROMFORMATTING "Formatage EEPROM" -#define TR_EEPROMOVERFLOW "Dépassement EEPROM" -#define TR_MENURADIOSETUP "CONFIG RADIO" -#define TR_MENUDATEANDTIME "DATE ET HEURE" -#define TR_MENUTRAINER "ECOLAGE" -#define TR_MENUVERSION "VERSION" -#define TR_MENUDIAG TR("INTERS","TEST INTERRUPTEURS") -#define TR_MENUANA TR("ANAS","ENTREES ANALOGIQUES") -#define TR_MENUCALIBRATION "CALIBRATION" -#define TR_TRIMS2OFFSETS "\006Trims => Offsets" -#define TR_MENUMODELSEL "MODELES" -#define TR_MENUSETUP TR("CONF. MODELE","CONFIGURATION") -#define TR_MENUFLIGHTPHASE "PHASE DE VOL" -#define TR_MENUFLIGHTPHASES "PHASES DE VOL" -#define TR_MENUHELISETUP TR("CONF.HELI","CONFIGURATION HELICO") - -#if defined(PCBTARANIS) - #define TR_MENUINPUTS "ENTREES" - #define TR_MENULIMITS "SORTIES" -#elif defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_LIMITS_SYMETRICAL) // The right menu titles for the gurus ... - #define TR_MENUINPUTS "MANCHES" - #define TR_MENULIMITS "SORTIES" -#else - #define TR_MENUINPUTS "DR/EXPO" - #define TR_MENULIMITS "LIMITES" -#endif - -#define TR_MENUCURVES "COURBES" -#define TR_MENUCURVE "COURBE" -#define TR_MENUCUSTOMSWITCH "INTER PERS." -#define TR_MENUCUSTOMSWITCHES "INTERS PERS." -#define TR_MENUCUSTOMFUNC TR("FONCTIONS SPEC.","FONCTIONS SPECIALES") -#define TR_MENUTELEMETRY "TELEMESURE" -#define TR_MENUTEMPLATES "GABARITS" -#define TR_MENUSTAT TR("STATS","STATISTIQUES") -#define TR_MENUDEBUG "DEBUG" -#define TR_RXNUM TR(INDENT"NumRx",INDENT"No. récepteur") -#define TR_SYNCMENU "Sync [MENU]" -#define TR_LIMIT INDENT"Limite" -#define TR_MINRSSI "RSSI Min." -#define TR_LATITUDE "Latitude" -#define TR_LONGITUDE "Longitude" -#define TR_GPSCOORD TR("Coordonnées","Coordonnées GPS") -#define TR_VARIO TR("Vario","Variomètre") -#define TR_SHUTDOWN "ARRET EN COURS" -#define TR_BATT_CALIB "Calib. Batterie" -#define TR_CURRENT_CALIB "Calib. Courant" -#define TR_VOLTAGE INDENT"Tension" -#define TR_CURRENT INDENT"Courant" -#define TR_SELECT_MODEL "Sélect. Modèle" -#define TR_CREATE_MODEL "Créer Modèle" -#define TR_COPY_MODEL "Copier Modèle" -#define TR_MOVE_MODEL "Déplacer Modèle" -#define TR_BACKUP_MODEL "Archiver Modèle" -#define TR_DELETE_MODEL "Supprimer Modèle" -#define TR_RESTORE_MODEL "Restaurer Modèle" -#define TR_SDCARD_ERROR "Erreur carte SD" -#define TR_NO_SDCARD "Pas de carte SD" -#define TR_INCOMPATIBLE "Incompatible" -#define TR_WARNING "ALERTE" -#define TR_EEPROMWARN "EEPROM" -#define TR_THROTTLEWARN "GAZ" -#define TR_ALARMSWARN "SON" -#define TR_SWITCHWARN "INTERS" -#define TR_INVERT_THR "Inverser Gaz?" -#define TR_SPEAKER_VOLUME INDENT "Volume" -#define TR_LCD "Afficheur" -#define TR_BRIGHTNESS INDENT "Luminosité" -#define TR_CPU_TEMP "Temp. CPU\016>" -#define TR_CPU_CURRENT "Courant\022>" -#define TR_CPU_MAH "Consomm." -#define TR_COPROC "CoProc." -#define TR_COPROC_TEMP "Temp. MB \016>" -#define TR_CAPAWARNING INDENT "Capacité Basse" -#define TR_TEMPWARNING INDENT "Surchauffe" -#define TR_FUNC TR("Fonc", "Fonction") -#define TR_V1 "V1" -#define TR_V2 "V2" -#define TR_DURATION "Durée" -#define TR_DELAY "Délai" -#define TR_SD_CARD "Carte SD" -#define TR_SDHC_CARD "Carte SD-HC" -#define TR_NO_SOUNDS_ON_SD "Aucun son sur SD" -#define TR_NO_MODELS_ON_SD "Aucun modèle SD" -#define TR_NO_BITMAPS_ON_SD "Aucun Bitmap SD" -#define TR_PLAY_FILE "Lire" -#define TR_DELETE_FILE "Supprimer" -#define TR_COPY_FILE "Copier" -#define TR_RENAME_FILE "Renommer" -#define TR_ASSIGN_BITMAP "Sélectionner image" -#define TR_REMOVED " supprimé" -#define TR_SD_INFO "Information" -#define TR_SD_FORMAT "Formater" -#define TR_NA "N/D" -#define TR_HARDWARE "MATERIEL" -#define TR_FORMATTING "Formatage..." -#define TR_TEMP_CALIB "Calib. temp" -#define TR_TIME "Heure" -#define TR_BAUDRATE "Baudrate BT" -#define TR_SD_INFO_TITLE "INFO SD" -#define TR_SD_TYPE "Type:" -#define TR_SD_SPEED "Vitesse:" -#define TR_SD_SECTORS "Secteurs:" -#define TR_SD_SIZE "Taille:" -#define TR_TYPE "Type" -#define TR_GLOBAL_VARS "Variables Globales" -#define TR_GLOBAL_VAR "Variable globale" -#define TR_MENUGLOBALVARS "VARIABLES GLOBALES" -#define TR_OWN "Pers" -#define TR_DATE "Date" -#define TR_ROTARY_ENCODER "Enc.Rot." -#define TR_CHANNELS_MONITOR "MONITEUR CANAUX" -#define TR_INTERNALRF "HF interne" -#define TR_EXTERNALRF "HF externe" -#define TR_FAILSAFE INDENT"Type failsafe" -#define TR_FAILSAFESET "REGLAGES FAILSAFE" -#define TR_COUNTRYCODE "Zone géo." -#define TR_VOICELANG TR("Langue voix","Langue annonces vocales") -#define TR_UNITSSYSTEM "Unités" -#define TR_EDIT "Editer" -#define TR_INSERT_BEFORE "Insérer avant" -#define TR_INSERT_AFTER "Insérer après" -#define TR_COPY "Copier" -#define TR_MOVE "Déplacer" -#define TR_PASTE "Coller" -#define TR_DELETE "Effacer" -#define TR_INSERT "Insérer" -#define TR_RESET_FLIGHT TR("Réinit. vol","Réinitialiser vol") -#define TR_RESET_TIMER1 TR("Réinit. Timer1","Réinitialiser Timer1") -#define TR_RESET_TIMER2 TR("Réinit. Timer2","Réinitialiser Timer2") -#define TR_RESET_TELEMETRY TR("Réinit. Télém.","Réinit. Télémesure") -#define TR_STATISTICS "Statistiques" -#define TR_ABOUT_US "A propos" -#define TR_AND_SWITCH "ET suppl." -#define TR_CF "FS" -#define TR_SPEAKER INDENT"Haut-p." -#define TR_BUZZER INDENT"Bipeur" -#define TR_BYTES "bytes" -#define TR_MODULE_BIND "[Bind]" -#define TR_MODULE_RANGE "[Port.]" -#define TR_RESET_BTN "[RAZ]" -#define TR_SET "[Déf.]" -#define TR_TRAINER "Ecolage" -#define TR_ANTENNAPROBLEM CENTER "Antenne radio défectueuse!" -#define TR_MODELIDUSED TR("ID déjà affecté","No de modèle déjà utilisé") -#define TR_MODULE INDENT "Type de module" -#define TR_CHANNELRANGE INDENT "Plage de canaux" -#define TR_LOWALARM INDENT "Alarme basse" -#define TR_CRITICALALARM INDENT "Alarme critique" -#define TR_PERSISTENT_MAH TR(INDENT "Enr. mAh",INDENT "Enregistrer mAh") -#define TR_FAS_OFFSET TR(INDENT "Corr FAS", INDENT "Correction FAS") -#define TR_UART3MODE "Port série" -#define TR_POT1TYPE "S1 Type" -#define TR_POT2TYPE "S2 Type" - -#if defined(MAVLINK) - #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "RSSI Max" - #define TR_MAVLINK_PC_RSSI_EN_LABEL "PC RSSI EN" - #define TR_MAVMENUSETUP_TITLE "Config Mavlink" - #define TR_MAVLINK_BAUD_LABEL "Baudrate" - #define TR_MAVLINK_INFOS "INFOS" - #define TR_MAVLINK_MODE "MODE" - #define TR_MAVLINK_CUR_MODE "Mode courant" - #define TR_MAVLINK_ARMED "Armé" - #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" - #define TR_MAVLINK_BATTERY_LABEL "Accu propulsion" - #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" - #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" - #define TR_MAVLINK_NAV_MENU_TITLE "NAV" - #define TR_MAVLINK_COURSE "Course" - #define TR_MAVLINK_HEADING "Cap" - #define TR_MAVLINK_BEARING "Relèv." - #define TR_MAVLINK_ALTITUDE "Altitude" - #define TR_MAVLINK_GPS "GPS" - #define TR_MAVLINK_NO_FIX "NO Fix" - #define TR_MAVLINK_SAT "SAT" - #define TR_MAVLINK_HDOP "HDOP" - #define TR_MAVLINK_LAT "LAT" - #define TR_MAVLINK_LON "LON" -#endif - -// Taranis column headers -#define TR_PHASES_HEADERS { " Nom ", " Inter ", " Trims ", " Fondu ON ", " Fondu OFF " } -#define TR_LIMITS_HEADERS { " Nom ", " Subtrim ", " Min ", " Max ", " Direction ", " Curve ", " Neutre PPM ", " Mode subtrim " } -#define TR_CSW_HEADERS { " Fonction ", " V1 ", " V2 ", " ET suppl. ", " Durée ", " Délai " } - -//Taranis About screen -#define TR_ABOUTUS TR(" A PROPOS ","A PROPOS") - -#define TR_ABOUT_OPENTX_1 TR("OpenTX\001est\001libre,\001non-","OpenTX est libre, non-") -#define TR_ABOUT_OPENTX_2 TR("commercial,\001et\001offert\001sans","commercial et n'offre aucune") -#define TR_ABOUT_OPENTX_3 TR("garantie.\001Il\001est\001développé","garantie. Il a été développé") -#define TR_ABOUT_OPENTX_4 TR("gratuitement.\001Donations","gratuitement. Vos donations") -#define TR_ABOUT_OPENTX_5 TR("bienvenues!","sont bienvenues!") - -#define TR_ABOUT_BERTRAND_1 "Bertrand Songis" -#define TR_ABOUT_BERTRAND_2 TR("Auteur\001principal\001d'openTx","Auteur principal d'openTx") -#define TR_ABOUT_BERTRAND_3 TR("Codéveloppeur\001de\001C9X","Codéveloppeur de Companion9x") - -#define TR_ABOUT_MIKE_1 "Mike Blandford" -#define TR_ABOUT_MIKE_2 "Maître du code et des" -#define TR_ABOUT_MIKE_3 "drivers" -#define TR_ABOUT_MIKE_4 "" - -#define TR_ABOUT_ROMOLO_1 "Romolo Manfredini" -#define TR_ABOUT_ROMOLO_2 "Développeur principal de" -#define TR_ABOUT_ROMOLO_3 "Companion9x" - -#define TR_ABOUT_ANDRE_1 "André Bernet" -#define TR_ABOUT_ANDRE_2 TR("Fonctionsé,\001usabilité,","Fonctionnalités, usabilité,") -#define TR_ABOUT_ANDRE_3 TR("débogage,\001documentation","débogage, documentation") - -#define TR_ABOUT_ROB_1 "Rob Thomson" -#define TR_ABOUT_ROB_2 "Webmaster d'openrcforums" - -#define TR_ABOUT_MARTIN_1 "Martin Hotar" -#define TR_ABOUT_MARTIN_2 "Design graphique" - -#if defined(PCBTARANIS) - #define TR_ABOUT_HARDWARE_1 "FrSky" - #define TR_ABOUT_HARDWARE_2 "Développeur/fabricant" - #define TR_ABOUT_HARDWARE_3 "du matériel" -#else - #define TR_ABOUT_HARDWARE_1 "Brent Nelson" - #define TR_ABOUT_HARDWARE_2 "Développeur/fabricant" - #define TR_ABOUT_HARDWARE_3 "de la carte Sky9x" -#endif - -#define TR_ABOUT_PARENTS_1 "Projets parents" -#define TR_ABOUT_PARENTS_2 "ersky9x (Mike Blandford)" -#define TR_ABOUT_PARENTS_3 "ER9X (Erez Raviv)" -#define TR_ABOUT_PARENTS_4 "TH9X (Thomas Husterer)" - -#define TR_CHR_SHORT 's' -#define TR_CHR_LONG 'l' -#define TR_CHR_TOGGLE 't' -#define TR_CHR_HOUR 'h' -#define TR_CHR_INPUT 'I' // Values between A-I will work - -#define TR_BEEP_VOLUME "Beep Volume" -#define TR_WAV_VOLUME "Wav Volume" -#define TR_VARIO_VOLUME "Vario Volume" -#define TR_BG_VOLUME "Bg Volume" - -#define TR_TOP_BAR "Barre titre" -#define TR_ALTITUDE INDENT "Altitude" -#define TR_MODS_FORBIDDEN "Modifications désactivées!" -#define TR_UNLOCKED "Déverrouillé" +/* + * Authors (alphabetical order) + * - Bertrand Songis + * - Bernet Andre + * - Kjell Kernen + * - Martin Hotar + * - Romolo Manfredini + * + * opentx is based on code named + * gruvin9x by Bryan J. Rentoul: http://code.google.com/p/gruvin9x/, + * er9x by Erez Raviv: http://code.google.com/p/er9x/, + * and the original (and ongoing) project by + * Thomas Husterer, th9x: http://code.google.com/p/th9x/ + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * + * + * + * !!!!! DO NOT EDIT fr.h - EDIT fr.h.txt INSTEAD !!!!!!! + * + * In order to make translations easier fr.h.txt is parsed and national + * characters are replaced by bitmap codes. The result is fr.h. + * + * See translate.py in the util catalog for the list of character codes + * + * !!!!! DO NOT EDIT fr.h - EDIT fr.h.txt INSTEAD !!!!!!! + */ + /* Formatting octal codes available in TR_ strings: + * \037\x -sets LCD x-coord (x value in octal) + * \036 -newline (ARM boards only) + * \001 to \035 -extended spacing (value * FW/2) + * \0 -ends actual string + */ + +// NON ZERO TERMINATED STRINGS +#define LEN_OFFON "\003" +#define TR_OFFON "OFF""ON\0" + +#define LEN_MMMINV "\003" +#define TR_MMMINV "---""INV" + +#define LEN_NCHANNELS "\004" +#define TR_NCHANNELS "\0014CH\0016CH\0018CH10CH12CH14CH16CH" + +#define LEN_VBEEPMODE "\005" +#define TR_VBEEPMODE "Aucun""Alarm""NoKey""Tout\0" + +#define LEN_VBEEPLEN "\005" +#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0" + +#define LEN_VRENAVIG "\003" +#define TR_VRENAVIG "NonREaREb" + +#define LEN_VBLMODE TR("\004","\011") +#define TR_VBLMODE TR("OFF\0""Btns""Ctrl""Tous""ON\0","OFF\0 ""Touches\0 ""Controles""Tous\0 ""ON\0 ") + +#define LEN_TRNMODE "\003" +#define TR_TRNMODE "OFF"" +="" :=" + +#define LEN_TRNCHN "\003" +#define TR_TRNCHN "CH1CH2CH3CH4" + +#define LEN_UART3MODES "\017" +#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" + +#define LEN_POTTYPES "\017" +#define TR_POTTYPES "Pot\0 ""Multipos Switch" + +#define LEN_DATETIME "\005" +#define TR_DATETIME "DATE:""HEURE" + +#define LEN_VLCD "\006" +#define TR_VLCD "NormalOptrex" + +#define LEN_COUNTRYCODES TR("\002", "\006") +#define TR_COUNTRYCODES TR("US""JP""EU", "USA\0 ""Japon\0""Europe") + +#define LEN_VTRIMINC TR("\006","\013") +#define TR_VTRIMINC TR("Expo\0 ""ExFin\0""Fin\0 ""Moyen\0""Gros\0 ","Exponentiel""Extra Fin\0 ""Fin\0 ""Moyen\0 ""Grossier\0 ") + +#define LEN_VBEEPCOUNTDOWN "\006" +#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voice\0" + +#define LEN_RETA123 "\001" + +#if defined(PCBGRUVIN9X) + #if ROTARY_ENCODERS > 2 + #define TR_RETA123 "DPGA123abcd" + #else + #define TR_RETA123 "DPGA123ab" + #endif +#elif defined(PCBTARANIS) + #define TR_RETA123 "DPGA12LR" +#else + #define TR_RETA123 "DPGA123" +#endif + +#define LEN_VPROTOS "\006" + +#if defined(PXX) + #define TR_PXX "PXX\0 " +#elif defined(DSM2) || defined(IRPROTOS) + #define TR_PXX "[PXX]\0" +#else + #define TR_PXX +#endif + +#if defined(DSM2) + #define TR_DSM2 "LP45\0 ""DSM2\0 ""DSMX\0 " +#elif defined(IRPROTOS) + #define TR_DSM2 "[LP45]""[DSM2]""[DSMX]" +#else + #define TR_DSM2 +#endif + +#if defined(IRPROTOS) + #define TR_IRPROTOS "SILV TRAC09PICZ SWIFT\0" +#else + #define TR_IRPROTOS +#endif + +#if defined(CPUARM) + #define TR_XPPM +#else + #define TR_XPPM "PPM16\0""PPMsim" +#endif + +#define TR_VPROTOS "PPM\0 " TR_XPPM TR_PXX TR_DSM2 TR_IRPROTOS + +#define LEN_POSNEG "\003" +#define TR_POSNEG "POS""NEG" + +#define LEN_VCURVEFUNC "\003" +#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|" + +#define LEN_VMLTPX TR("\010","\013") +#define TR_VMLTPX TR("Ajoute\0 ""Multipl.""Remplace","Additionner""Multiplier\0""Remplacer\0 ") + +#define LEN_VMLTPX2 "\002" +#define TR_VMLTPX2 "+=""*="":=" + +#define LEN_VMIXTRIMS "\003" +#define TR_VMIXTRIMS "OFF""ON\0""Dir""Prf""Gaz""Ail" + +#define LEN_VCSWFUNC "\005" +#define TR_VCSWFUNC "---\0 ""a{x\0 ""a>x\0 ""ax""|a|b\0 ""a" + +#define LEN_VTELPROTO "\007" +#define TR_VTELPROTO "Aucun ""Hub\0 ""WSHHigh""Halcyon" + +#define LEN_VOLTSRC "\003" +#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel" + +#define LEN_VARIOSRC "\005" +#if defined(FRSKY_SPORT) + #define TR_VARIOSRC "Vario""A1\0 ""A2\0" +#else + #define TR_VARIOSRC "Alti\0""Alti+""Vario""A1\0 ""A2\0" +#endif + +#define LEN_VSCREEN TR("\004","\007") +#define TR_VSCREEN TR("Val.""Bars","Valeurs""Barres\0") + +#define LEN_GPSFORMAT "\004" +#define TR_GPSFORMAT "DMS\0NMEA" + +#define LEN2_VTEMPLATES 15 +#define LEN_VTEMPLATES "\017" +#define TR_VTEMPLATES "Suppr Mixages\0 ""4 Voies simple\0""Coupure Gaz\0 ""Empennage V\0 ""Elevon\\Delta\0 ""eCCPM\0 ""Conf. Hélico\0 ""Test Servo\0 " + +#define LEN_VSWASHTYPE "\004" +#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0" + +#define LEN_VKEYS "\005" +#define TR_VKEYS TR(" Menu"" Exit"" Bas"" Haut""Droit""Gauch", " Menu"" Exit""Enter"" Page"" Plus""Minus") + +#define LEN_VRENCODERS "\003" +#define TR_VRENCODERS "REa""REb" + +#define LEN_VSWITCHES "\003" +#define LEN_VSRCRAW "\004" + +#if defined(PCBTARANIS) + #define TR_POTS_VSRCRAW "S1\0 ""S2\0 ""LS\0 ""RS\0 " + #define TR_SW_VSRCRAW "SA\0 ""SB\0 ""SC\0 ""SD\0 ""SE\0 ""SF\0 ""SG\0 ""SH\0 " +#elif defined(EXTRA_3POS) + #define TR_POTS_VSRCRAW "P1\0 ""P2\0 " + #define TR_SW_VSRCRAW "3P1\0""3P2\0" + #define TR_9X_3POS_SWITCHES "ID0""ID1""ID2""ID3""ID4""ID5" +#else + #define TR_POTS_VSRCRAW "P1\0 ""P2\0 ""P3\0 " + #define TR_SW_VSRCRAW "3POS" + #define TR_9X_3POS_SWITCHES "ID0""ID1""ID2" +#endif + +#if defined(CPUARM) + #define TR_CUSTOMSW "IP1""IP2""IP3""IP4""IP5""IP6""IP7""IP8""IP9""IPA""IPB""IPC""IPD""IPE""IPF""IPG""IPH""IPI""IPJ""IPK""IPL""IPM""IPN""IPO""IPP""IPQ""IPR""IPS""IPT""IPU""IPV""IPW" +#elif defined(PCBGRUVIN9X) || defined(CPUM2561) || defined(CPUM128) + #define TR_CUSTOMSW "IP1""IP2""IP3""IP4""IP5""IP6""IP7""IP8""IP9""IPA""IPB""IPC""IPD""IPE""IPF" +#else + #define TR_CUSTOMSW "IP1""IP2""IP3""IP4""IP5""IP6""IP7""IP8""IP9""IPA""IPB""IPC" +#endif + +#if defined(PCBTARANIS) + #define TR_6POS_POTS "P11""P12""P13""P14""P15""P16""P21""P22""P23""P24""P25""P26" + #define TR_VSWITCHES "SA\300""SA-""SA\301""SB\300""SB-""SB\301""SC\300""SC-""SC\301""SD\300""SD-""SD\301""SE\300""SE-""SE\301""SF\300""SF\301""SG\300""SG-""SG\301""SH\300""SH\301" TR_CUSTOMSW TR_6POS_POTS "1*\0" +#else + #define TR_VSWITCHES TR_9X_3POS_SWITCHES "THR""RUD""ELE""AIL""GEA""TRN" TR_CUSTOMSW "1*\0" +#endif + +#if defined(PCBSKY9X) + #define TR_ROTARY_ENCODERS_VSRCRAW "REnc" +#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS > 2 + #define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb ""REc ""REd " +#elif defined(PCBGRUVIN9X) && ROTARY_ENCODERS <= 2 + #define TR_ROTARY_ENCODERS_VSRCRAW "REa ""REb " +#else + #define TR_ROTARY_ENCODERS_VSRCRAW +#endif + +#if defined(HELI) +#define TR_CYC_VSRCRAW "CYC1""CYC2""CYC3" +#else +#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]" +#endif + +#define TR_VSRCRAW "---\0""Dir\0""Prf\0""Gaz\0""Ail\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS_VSRCRAW "MAX\0" TR_CYC_VSRCRAW "TrmD" "TrmP" "TrmG" "TrmA" TR_SW_VSRCRAW + +#define LEN_VTMRMODES "\003" +#define TR_VTMRMODES "OFF""ABS""GZs""GZ%""GZt" + +#define LEN_VTRAINERMODES "\006" +#define TR_VTRAINERMODES "Maître""Elève\0" + +#define LEN_VFAILSAFE "\011" +#define TR_VFAILSAFE "Maintien\0""Prédéfini""Pas d'imp" + +#if defined(MAVLINK) + #define LEN_MAVLINK_BAUDS "\006" + #define TR_MAVLINK_BAUDS "4800 ""9600 ""14400 ""19200 ""38400 ""57600 ""76800 ""115200" + #define LEN_MAVLINK_AC_MODES "\011" + #define TR_MAVLINK_AC_MODES "Stabilize""Acro ""Alt Hold ""Auto ""Guided ""Loiter ""RTL ""Circle ""Pos Hold ""Land ""OF Loiter""Toy A ""Toy M ""INVALID " + #define LEN_MAVLINK_AP_MODES "\015" + #define TR_MAVLINK_AP_MODES "Manual ""Circle ""Stabilize ""Training ""Fly by Wire A""Fly by Wire A""Auto ""RTL ""Loiter ""Guided ""Initialising ""INVALID " +#endif + +// ZERO TERMINATED STRINGS +#define INDENT "\001" +#define LEN_INDENT 1 +#define INDENT_WIDTH (FW/2) + +#if defined(PCBTARANIS) + #define TR_ENTER "[ENTER]" +#else + #define TR_ENTER "[MENU]" +#endif + +#define TR_POPUPS TR_ENTER"\010[EXIT]" +#define OFS_EXIT sizeof(TR_ENTER) + +#define TR_MENUWHENDONE CENTER"\006"TR_ENTER" QUAND PRET" +#define TR_FREE "disp" +#define TR_DELETEMODEL "SUPPRIMER MODELE" +#define TR_COPYINGMODEL "Copie..." +#define TR_MOVINGMODEL "Déplacement..." +#define TR_LOADINGMODEL "Chargement..." +#define TR_NAME "Nom" +#define TR_MODELNAME TR("Nom modèle","Nom du modèle") +#define TR_PHASENAME "Nom phase" +#define TR_MIXNAME TR("Nom mix.","Nom du mixeur") +#define TR_INPUTNAME "Input Name" +#if defined(PCBTARANIS) + #define TR_EXPONAME "Nom ligne" +#else + #define TR_EXPONAME "Nom expo" +#endif +#define TR_BITMAP "Image du modèle" +#define TR_TIMER "Chrono " +#define TR_ELIMITS TR("Limites ét","Limites étendues") +#define TR_ETRIMS TR("Trims ét.","Trims étendus") +#define TR_TRIMINC TR("Pas Trim","Pas des trims") +#define TR_TTRACE "Source gaz" +#define TR_TTRIM "Trim gaz" +#define TR_BEEPCTR TR("Bips centr","Bips centrage") +#define TR_PROTO TR(INDENT"Proto.",INDENT"Protocole") +#define TR_PPMFRAME INDENT"Trame PPM" +#define TR_MS "ms" +#define TR_SWITCH TR("Inter","Interrupteur") +#define TR_TRIMS "Trims" +#define TR_FADEIN "Fondu ON" +#define TR_FADEOUT "Fondu OFF" +#define TR_DEFAULT "(défaut)" +#define TR_CHECKTRIMS "\006Vérif\012Trims" +#define OFS_CHECKTRIMS (9*FW) +#define TR_SWASHTYPE TR("Type de Plat.","Type de plateau") +#define TR_COLLECTIVE TR("Collectif","Voie du pas collectif") +#define TR_SWASHRING TR("Limite Cycl.","Limite du cyclique") +#define TR_ELEDIRECTION TR("Inv. longitud.","Inversion longitudinal") +#define TR_AILDIRECTION TR("Inv. latéral","Inversion latéral") +#define TR_COLDIRECTION TR("Inv. collectif","Inversion collectif") +#define TR_MODE INDENT"Mode" +#define TR_NOFREEEXPO "Max expos atteint!" +#define TR_NOFREEMIXER "Max mixages atteint!" +#define TR_INSERTMIX "INSERER MIXAGE" +#define TR_EDITMIX "EDITER MIXAGE" +#define TR_SOURCE INDENT"Source" +#define TR_WEIGHT "Ratio" +#define TR_EXPO TR("Expo","Exponentiel") +#define TR_SIDE "Coté" +#define TR_DIFFERENTIAL "Différentiel" +#define TR_OFFSET INDENT"Décalage" +#define TR_TRIM "Trim" +#define TR_DREX "DRex" +#define TR_CURVE "Courbe" +#define TR_FLMODE TR("Phase","Phases") +#define TR_MIXWARNING "Alerte" +#define TR_OFF "OFF" +#define TR_MULTPX "Opération" +#define TR_DELAYDOWN "Retard bas" +#define TR_DELAYUP "Retard haut" +#define TR_SLOWDOWN "Ralenti bas" +#define TR_SLOWUP "Ralenti haut" +#define TR_MIXER "MIXEUR" +#define TR_CV "CB" +#define TR_GV "VG" +#define TR_ACHANNEL "A" +#define TR_RANGE INDENT"Plage" +#define TR_BAR "Barre" +#define TR_ALARM INDENT"Alarme" +#define TR_USRDATA "Données" +#define TR_BLADES INDENT"Pales" +#define TR_SCREEN "Ecran " +#define TR_SOUND_LABEL "Son" +#define TR_LENGTH INDENT"Durée" +#define TR_SPKRPITCH INDENT"Tonalité" +#define TR_HAPTIC_LABEL "Vibreur" +#define TR_HAPTICSTRENGTH INDENT"Force" +#define TR_CONTRAST "Contraste" +#define TR_ALARMS_LABEL "Alarmes" +#define TR_BATTERY_RANGE "Plage batterie" +#define TR_BATTERYWARNING TR(INDENT"Batterie",INDENT"Batterie faible") +#define TR_INACTIVITYALARM INDENT"Inactivité" +#define TR_MEMORYWARNING INDENT"Mémoire pleine" +#define TR_ALARMWARNING TR(INDENT"Silence",INDENT"Sons désactivés") +#define TR_RENAVIG "Navig EncRot" +#define TR_THROTTLEREVERSE TR("Inv. gaz","Inversion gaz") +#define TR_MINUTEBEEP TR(INDENT"Bip min.",INDENT"Annonces minutes") +#define TR_BEEPCOUNTDOWN TR(INDENT"Bip fin",INDENT"Compte à rebours") +#define TR_PERSISTENT TR(INDENT"Persist.",INDENT"Persistant") +#define TR_BACKLIGHT_LABEL "Rétroéclairage" +#define TR_BLDELAY INDENT"Durée" +#define TR_BLONBRIGHTNESS INDENT"Luminosité ON" +#define TR_BLOFFBRIGHTNESS INDENT"Luminosité OFF" +#define TR_SPLASHSCREEN "Logo d'accueil" +#define TR_THROTTLEWARNING "Alerte gaz" +#define TR_SWITCHWARNING TR("Alerte int","Alerte interrupt.") +#define TR_TIMEZONE "Fuseau horaire" +#define TR_RXCHANNELORD TR("Ordre voies RX","Ordre des voies préféré") +#define TR_SLAVE "Elève" +#define TR_MODESRC "Mode\006% Source" +#define TR_MULTIPLIER "Multiplieur" +#define TR_CAL "Cal" +#define TR_VTRIM "Trim- +" +#define TR_BG "BG:" +#define TR_MENUTOSTART CENTER"\006" TR_ENTER " POUR DEBUT" +#define TR_SETMIDPOINT CENTER"\010REGLER NEUTRES" +#define TR_MOVESTICKSPOTS CENTER"\004BOUGER STICKS/POTS" +#define TR_RXBATT "Batt.RX" +#define TR_TXnRX "Tx:\0Rx:" +#define OFS_RX 4 +#define TR_ACCEL "Acc:" +#define TR_NODATA "NO DATA" +#define TR_TM1TM2 "TM1\037\146TM2" +#define TR_THRTHP "THR\037\146TH%" +#define TR_TOT "TOT" +#define TR_TMR1LATMAXUS "Tmr1Lat max\037\124us" +#define STR_US (STR_TMR1LATMAXUS+13) +#define TR_TMR1LATMINUS "Tmr1Lat min\037\124us" +#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" + +#if defined(CPUARM) + #define TR_TMIXMAXMS "Tmix max" + #define TR_FREESTACKMINB "Free Stack" +#else + #define TR_TMIXMAXMS "Tmix max\037\124ms" + #define TR_FREESTACKMINB "Free Stack\037\124b" +#endif + +#define TR_MENUTORESET CENTER TR_ENTER" pour reset" +#define TR_PPM "PPM" +#define TR_CH "CH" +#define TR_MODEL "MODELE" +#define TR_FP "PV" +#define TR_MIX "MIX" +#define TR_EEPROMLOWMEM "EEPROM pleine!" +#define TR_ALERT "\014ALERTE" +#define TR_PRESSANYKEYTOSKIP "Touche pour ignorer" +#define TR_THROTTLENOTIDLE "Gaz pas à zéro" +#define TR_ALARMSDISABLED "Alarmes Désactivées" +#define TR_PRESSANYKEY TR("Touche pour continuer","Touche pour continuer") +#define TR_BADEEPROMDATA "EEPROM corrompue" +#define TR_EEPROMFORMATTING "Formatage EEPROM" +#define TR_EEPROMOVERFLOW "Dépassement EEPROM" +#define TR_MENURADIOSETUP "CONFIG RADIO" +#define TR_MENUDATEANDTIME "DATE ET HEURE" +#define TR_MENUTRAINER "ECOLAGE" +#define TR_MENUVERSION "VERSION" +#define TR_MENUDIAG TR("INTERS","TEST INTERRUPTEURS") +#define TR_MENUANA TR("ANAS","ENTREES ANALOGIQUES") +#define TR_MENUCALIBRATION "CALIBRATION" +#define TR_TRIMS2OFFSETS "\006Trims => Offsets" +#define TR_MENUMODELSEL "MODELES" +#define TR_MENUSETUP TR("CONF. MODELE","CONFIGURATION") +#define TR_MENUFLIGHTPHASE "PHASE DE VOL" +#define TR_MENUFLIGHTPHASES "PHASES DE VOL" +#define TR_MENUHELISETUP TR("CONF.HELI","CONFIGURATION HELICO") + +#if defined(PCBTARANIS) + #define TR_MENUINPUTS "ENTREES" + #define TR_MENULIMITS "SORTIES" +#elif defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_LIMITS_SYMETRICAL) // The right menu titles for the gurus ... + #define TR_MENUINPUTS "MANCHES" + #define TR_MENULIMITS "SORTIES" +#else + #define TR_MENUINPUTS "DR/EXPO" + #define TR_MENULIMITS "LIMITES" +#endif + +#define TR_MENUCURVES "COURBES" +#define TR_MENUCURVE "COURBE" +#define TR_MENUCUSTOMSWITCH "INTER PERS." +#define TR_MENUCUSTOMSWITCHES "INTERS PERS." +#define TR_MENUCUSTOMFUNC TR("FONCTIONS SPEC.","FONCTIONS SPECIALES") +#define TR_MENUTELEMETRY "TELEMESURE" +#define TR_MENUTEMPLATES "GABARITS" +#define TR_MENUSTAT TR("STATS","STATISTIQUES") +#define TR_MENUDEBUG "DEBUG" +#define TR_RXNUM TR(INDENT"NumRx",INDENT"No. récepteur") +#define TR_SYNCMENU "Sync [MENU]" +#define TR_LIMIT INDENT"Limite" +#define TR_MINRSSI "RSSI Min." +#define TR_LATITUDE "Latitude" +#define TR_LONGITUDE "Longitude" +#define TR_GPSCOORD TR("Coordonnées","Coordonnées GPS") +#define TR_VARIO TR("Vario","Variomètre") +#define TR_SHUTDOWN "ARRET EN COURS" +#define TR_BATT_CALIB "Calib. Batterie" +#define TR_CURRENT_CALIB "Calib. Courant" +#define TR_VOLTAGE INDENT"Tension" +#define TR_CURRENT INDENT"Courant" +#define TR_SELECT_MODEL "Sélect. Modèle" +#define TR_CREATE_MODEL "Créer Modèle" +#define TR_COPY_MODEL "Copier Modèle" +#define TR_MOVE_MODEL "Déplacer Modèle" +#define TR_BACKUP_MODEL "Archiver Modèle" +#define TR_DELETE_MODEL "Supprimer Modèle" +#define TR_RESTORE_MODEL "Restaurer Modèle" +#define TR_SDCARD_ERROR "Erreur carte SD" +#define TR_NO_SDCARD "Pas de carte SD" +#define TR_INCOMPATIBLE "Incompatible" +#define TR_WARNING "ALERTE" +#define TR_EEPROMWARN "EEPROM" +#define TR_THROTTLEWARN "GAZ" +#define TR_ALARMSWARN "SON" +#define TR_SWITCHWARN "INTERS" +#define TR_INVERT_THR "Inverser Gaz?" +#define TR_SPEAKER_VOLUME INDENT "Volume" +#define TR_LCD "Afficheur" +#define TR_BRIGHTNESS INDENT "Luminosité" +#define TR_CPU_TEMP "Temp. CPU\016>" +#define TR_CPU_CURRENT "Courant\022>" +#define TR_CPU_MAH "Consomm." +#define TR_COPROC "CoProc." +#define TR_COPROC_TEMP "Temp. MB \016>" +#define TR_CAPAWARNING INDENT "Capacité Basse" +#define TR_TEMPWARNING INDENT "Surchauffe" +#define TR_FUNC TR("Fonc", "Fonction") +#define TR_V1 "V1" +#define TR_V2 "V2" +#define TR_DURATION "Durée" +#define TR_DELAY "Délai" +#define TR_SD_CARD "Carte SD" +#define TR_SDHC_CARD "Carte SD-HC" +#define TR_NO_SOUNDS_ON_SD "Aucun son sur SD" +#define TR_NO_MODELS_ON_SD "Aucun modèle SD" +#define TR_NO_BITMAPS_ON_SD "Aucun Bitmap SD" +#define TR_PLAY_FILE "Lire" +#define TR_DELETE_FILE "Supprimer" +#define TR_COPY_FILE "Copier" +#define TR_RENAME_FILE "Renommer" +#define TR_ASSIGN_BITMAP "Sélectionner image" +#define TR_REMOVED " supprimé" +#define TR_SD_INFO "Information" +#define TR_SD_FORMAT "Formater" +#define TR_NA "N/D" +#define TR_HARDWARE "MATERIEL" +#define TR_FORMATTING "Formatage..." +#define TR_TEMP_CALIB "Calib. temp" +#define TR_TIME "Heure" +#define TR_BAUDRATE "Baudrate BT" +#define TR_SD_INFO_TITLE "INFO SD" +#define TR_SD_TYPE "Type:" +#define TR_SD_SPEED "Vitesse:" +#define TR_SD_SECTORS "Secteurs:" +#define TR_SD_SIZE "Taille:" +#define TR_TYPE "Type" +#define TR_GLOBAL_VARS "Variables Globales" +#define TR_GLOBAL_VAR "Variable globale" +#define TR_MENUGLOBALVARS "VARIABLES GLOBALES" +#define TR_OWN "Pers" +#define TR_DATE "Date" +#define TR_ROTARY_ENCODER "Enc.Rot." +#define TR_CHANNELS_MONITOR "MONITEUR CANAUX" +#define TR_INTERNALRF "HF interne" +#define TR_EXTERNALRF "HF externe" +#define TR_FAILSAFE INDENT"Type failsafe" +#define TR_FAILSAFESET "REGLAGES FAILSAFE" +#define TR_COUNTRYCODE "Zone géo." +#define TR_VOICELANG TR("Langue voix","Langue annonces vocales") +#define TR_UNITSSYSTEM "Unités" +#define TR_EDIT "Editer" +#define TR_INSERT_BEFORE "Insérer avant" +#define TR_INSERT_AFTER "Insérer après" +#define TR_COPY "Copier" +#define TR_MOVE "Déplacer" +#define TR_PASTE "Coller" +#define TR_DELETE "Effacer" +#define TR_INSERT "Insérer" +#define TR_RESET_FLIGHT TR("Réinit. vol","Réinitialiser vol") +#define TR_RESET_TIMER1 TR("Réinit. Timer1","Réinitialiser Timer1") +#define TR_RESET_TIMER2 TR("Réinit. Timer2","Réinitialiser Timer2") +#define TR_RESET_TELEMETRY TR("Réinit. Télém.","Réinit. Télémesure") +#define TR_STATISTICS "Statistiques" +#define TR_ABOUT_US "A propos" +#define TR_AND_SWITCH "ET suppl." +#define TR_CF "FS" +#define TR_SPEAKER INDENT"Haut-p." +#define TR_BUZZER INDENT"Bipeur" +#define TR_BYTES "bytes" +#define TR_MODULE_BIND "[Bind]" +#define TR_MODULE_RANGE "[Port.]" +#define TR_RESET_BTN "[RAZ]" +#define TR_SET "[Déf.]" +#define TR_TRAINER "Ecolage" +#define TR_ANTENNAPROBLEM CENTER "Antenne radio défectueuse!" +#define TR_MODELIDUSED TR("ID déjà affecté","No de modèle déjà utilisé") +#define TR_MODULE INDENT "Type de module" +#define TR_CHANNELRANGE INDENT "Plage de canaux" +#define TR_LOWALARM INDENT "Alarme basse" +#define TR_CRITICALALARM INDENT "Alarme critique" +#define TR_PERSISTENT_MAH TR(INDENT "Enr. mAh",INDENT "Enregistrer mAh") +#define TR_FAS_OFFSET TR(INDENT "Corr FAS", INDENT "Correction FAS") +#define TR_UART3MODE "Port série" +#define TR_POT1TYPE "S1 Type" +#define TR_POT2TYPE "S2 Type" + +#if defined(MAVLINK) + #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "RSSI Max" + #define TR_MAVLINK_PC_RSSI_EN_LABEL "PC RSSI EN" + #define TR_MAVMENUSETUP_TITLE "Config Mavlink" + #define TR_MAVLINK_BAUD_LABEL "Baudrate" + #define TR_MAVLINK_INFOS "INFOS" + #define TR_MAVLINK_MODE "MODE" + #define TR_MAVLINK_CUR_MODE "Mode courant" + #define TR_MAVLINK_ARMED "Armé" + #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" + #define TR_MAVLINK_BATTERY_LABEL "Accu propulsion" + #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" + #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" + #define TR_MAVLINK_NAV_MENU_TITLE "NAV" + #define TR_MAVLINK_COURSE "Course" + #define TR_MAVLINK_HEADING "Cap" + #define TR_MAVLINK_BEARING "Relèv." + #define TR_MAVLINK_ALTITUDE "Altitude" + #define TR_MAVLINK_GPS "GPS" + #define TR_MAVLINK_NO_FIX "NO Fix" + #define TR_MAVLINK_SAT "SAT" + #define TR_MAVLINK_HDOP "HDOP" + #define TR_MAVLINK_LAT "LAT" + #define TR_MAVLINK_LON "LON" +#endif + +// Taranis column headers +#define TR_PHASES_HEADERS { " Nom ", " Inter ", " Trims ", " Fondu ON ", " Fondu OFF " } +#define TR_LIMITS_HEADERS { " Nom ", " Subtrim ", " Min ", " Max ", " Direction ", " Curve ", " Neutre PPM ", " Mode subtrim " } +#define TR_CSW_HEADERS { " Fonction ", " V1 ", " V2 ", " ET suppl. ", " Durée ", " Délai " } + +//Taranis About screen +#define TR_ABOUTUS TR(" A PROPOS ","A PROPOS") + +#define TR_ABOUT_OPENTX_1 TR("OpenTX\001est\001libre,\001non-","OpenTX est libre, non-") +#define TR_ABOUT_OPENTX_2 TR("commercial,\001et\001offert\001sans","commercial et n'offre aucune") +#define TR_ABOUT_OPENTX_3 TR("garantie.\001Il\001est\001développé","garantie. Il a été développé") +#define TR_ABOUT_OPENTX_4 TR("gratuitement.\001Donations","gratuitement. Vos donations") +#define TR_ABOUT_OPENTX_5 TR("bienvenues!","sont bienvenues!") + +#define TR_ABOUT_BERTRAND_1 "Bertrand Songis" +#define TR_ABOUT_BERTRAND_2 TR("Auteur\001principal\001d'openTx","Auteur principal d'openTx") +#define TR_ABOUT_BERTRAND_3 TR("Codéveloppeur\001de\001C9X","Codéveloppeur de Companion9x") + +#define TR_ABOUT_MIKE_1 "Mike Blandford" +#define TR_ABOUT_MIKE_2 "Maître du code et des" +#define TR_ABOUT_MIKE_3 "drivers" +#define TR_ABOUT_MIKE_4 "" + +#define TR_ABOUT_ROMOLO_1 "Romolo Manfredini" +#define TR_ABOUT_ROMOLO_2 "Développeur principal de" +#define TR_ABOUT_ROMOLO_3 "Companion9x" + +#define TR_ABOUT_ANDRE_1 "André Bernet" +#define TR_ABOUT_ANDRE_2 TR("Fonctionsé,\001usabilité,","Fonctionnalités, usabilité,") +#define TR_ABOUT_ANDRE_3 TR("débogage,\001documentation","débogage, documentation") + +#define TR_ABOUT_ROB_1 "Rob Thomson" +#define TR_ABOUT_ROB_2 "Webmaster d'openrcforums" + +#define TR_ABOUT_MARTIN_1 "Martin Hotar" +#define TR_ABOUT_MARTIN_2 "Design graphique" + +#if defined(PCBTARANIS) + #define TR_ABOUT_HARDWARE_1 "FrSky" + #define TR_ABOUT_HARDWARE_2 "Développeur/fabricant" + #define TR_ABOUT_HARDWARE_3 "du matériel" +#else + #define TR_ABOUT_HARDWARE_1 "Brent Nelson" + #define TR_ABOUT_HARDWARE_2 "Développeur/fabricant" + #define TR_ABOUT_HARDWARE_3 "de la carte Sky9x" +#endif + +#define TR_ABOUT_PARENTS_1 "Projets parents" +#define TR_ABOUT_PARENTS_2 "ersky9x (Mike Blandford)" +#define TR_ABOUT_PARENTS_3 "ER9X (Erez Raviv)" +#define TR_ABOUT_PARENTS_4 "TH9X (Thomas Husterer)" + +#define TR_CHR_SHORT 's' +#define TR_CHR_LONG 'l' +#define TR_CHR_TOGGLE 't' +#define TR_CHR_HOUR 'h' +#define TR_CHR_INPUT 'I' // Values between A-I will work + +#define TR_BEEP_VOLUME "Beep Volume" +#define TR_WAV_VOLUME "Wav Volume" +#define TR_VARIO_VOLUME "Vario Volume" +#define TR_BG_VOLUME "Bg Volume" + +#define TR_TOP_BAR "Barre titre" +#define TR_ALTITUDE INDENT "Altitude" +#define TR_MODS_FORBIDDEN "Modifications désactivées!" +#define TR_UNLOCKED "Déverrouillé" From 6f8ab60e11723a35490cfada15a540b6a92da7d9 Mon Sep 17 00:00:00 2001 From: Dvogonen Date: Sat, 1 Feb 2014 18:31:44 +0100 Subject: [PATCH 35/61] Czech Translation problem fixed --- radio/src/translations/cz.h.txt | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 1fabbcc80..1e539d4dd 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -71,6 +71,9 @@ #define LEN_UART3MODES "\017" #define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" +#define LEN_POTTYPES "\017" +#define TR_POTTYPES "Pot\0 ""Multipos Switch" + #define LEN_DATETIME "\006" #define TR_DATETIME "DATUM:""ČAS: " @@ -544,16 +547,16 @@ #define TR_MENUFLIGHTPHASES "LETOVÉ REŽIMY" #define TR_MENUHELISETUP "HELI" - -// Alignment - - - - - -#define TR_MENUINPUTS "DR/EXPO" -#define TR_MENULIMITS "LIMITY" - +#if defined(PCBTARANIS) + #define TR_MENUINPUTS "INPUTS" + #define TR_MENULIMITS "SERVOS" +#elif defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_LIMITS_SYMETRICAL) // The right menu titles for the gurus ... + #define TR_MENUINPUTS "STICKS" + #define TR_MENULIMITS "SERVOS" +#else + #define TR_MENUINPUTS "DR/EXPO" + #define TR_MENULIMITS "LIMITY" +#endif #define TR_MENUCURVES "KŘIVKY" #define TR_MENUCURVE "\002k" @@ -680,6 +683,8 @@ #define TR_PERSISTENT_MAH INDENT "Store mAh" #define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") #define TR_UART3MODE "Serial port" +#define TR_POT1TYPE "S1 Type" +#define TR_POT2TYPE "S2 Type" #if defined(MAVLINK) #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" From d9373b997bdf14674687e3087984f524486d2326 Mon Sep 17 00:00:00 2001 From: Dvogonen Date: Sat, 1 Feb 2014 18:49:50 +0100 Subject: [PATCH 36/61] Polish Translation problem fixed. --- radio/src/translations/pl.h.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index f04d171cf..28683cfa4 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -71,6 +71,9 @@ #define LEN_UART3MODES "\017" #define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" +#define LEN_POTTYPES "\017" +#define TR_POTTYPES "Pot\0 ""Multipos Switch" + #define LEN_DATETIME "\006" #define TR_DATETIME "DANA:""Czas:\0 " @@ -680,6 +683,8 @@ #define TR_PERSISTENT_MAH INDENT "Zapisz mAh" #define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") #define TR_UART3MODE "Port szreg." +#define TR_POT1TYPE "S1 Type" +#define TR_POT2TYPE "S2 Type" #if defined(MAVLINK) #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" From b9448c6baf15a8ba3a56c6d3a316f45eeb2b9596 Mon Sep 17 00:00:00 2001 From: Jacek Drewniak Date: Sat, 1 Feb 2014 19:24:10 +0100 Subject: [PATCH 37/61] Add 2 lines of translation + some orto fixes --- radio/src/translations/pl.h.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 28683cfa4..82c6f47c9 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -683,20 +683,20 @@ #define TR_PERSISTENT_MAH INDENT "Zapisz mAh" #define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") #define TR_UART3MODE "Port szreg." -#define TR_POT1TYPE "S1 Type" -#define TR_POT2TYPE "S2 Type" +#define TR_POT1TYPE "Typ P1" +#define TR_POT2TYPE "Typ P2" #if defined(MAVLINK) #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" #define TR_MAVLINK_PC_RSSI_EN_LABEL "PC RSSI EN" - #define TR_MAVMENUSETUP_TITLE "Mavlink Setup" + #define TR_MAVMENUSETUP_TITLE "Ustawienia Mavlink" #define TR_MAVLINK_BAUD_LABEL "Baudrate" #define TR_MAVLINK_INFOS "INFO" #define TR_MAVLINK_MODE "TRYB" #define TR_MAVLINK_CUR_MODE "Aktualy Tryb" #define TR_MAVLINK_ARMED "Armed" #define TR_MAVLINK_BAT_MENU_TITLE "BAT RSSI" - #define TR_MAVLINK_BATTERY_LABEL "Status baterii " + #define TR_MAVLINK_BATTERY_LABEL "Status bateri" #define TR_MAVLINK_RC_RSSI_LABEL "RC RSSI" #define TR_MAVLINK_PC_RSSI_LABEL "PC RSSI" #define TR_MAVLINK_NAV_MENU_TITLE "NAV" @@ -773,7 +773,7 @@ #define TR_BEEP_VOLUME "Głośność pikania" #define TR_WAV_VOLUME "Głośność wav" #define TR_VARIO_VOLUME "Głośność wario" -#define TR_BG_VOLUME "Głośnośc tła " +#define TR_BG_VOLUME "Głośność tła " #define TR_TOP_BAR "Górny Pasek" #define TR_ALTITUDE INDENT "Wysokość" From c3417a0d88ed6f80653a5661cbee09fb79e56b1e Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Sat, 1 Feb 2014 19:50:49 +0100 Subject: [PATCH 38/61] UART3 Debug/SPORT modes --- radio/src/Makefile | 2 +- radio/src/debug.h | 1 - radio/src/gui/menu_general.cpp | 6 ++- radio/src/myeeprom.h | 13 ++++++- radio/src/opentx.cpp | 4 ++ radio/src/simpgmspace.cpp | 1 + radio/src/simpgmspace.h | 1 + radio/src/targets/sky9x/board_sky9x.h | 3 ++ radio/src/targets/taranis/board_taranis.cpp | 3 -- radio/src/targets/taranis/board_taranis.h | 8 ++-- .../{uart_driver.cpp => uart3_driver.cpp} | 38 +++++++++++++++---- radio/src/telemetry/frsky_sport.cpp | 4 ++ radio/src/translations/en.h | 2 +- 13 files changed, 68 insertions(+), 18 deletions(-) rename radio/src/targets/taranis/{uart_driver.cpp => uart3_driver.cpp} (81%) diff --git a/radio/src/Makefile b/radio/src/Makefile index 4ce991777..97083ad00 100644 --- a/radio/src/Makefile +++ b/radio/src/Makefile @@ -620,7 +620,7 @@ ifeq ($(PCB), TARANIS) EEPROMSRC = eeprom_common.cpp eeprom_rlc.cpp eeprom_conversions.cpp PULSESSRC = protocols/pulses_arm.cpp protocols/ppm_arm.cpp protocols/pxx_arm.cpp CPPSRC += audio_arm.cpp - CPPSRC += targets/taranis/pwr_driver.cpp targets/taranis/pulses_driver.cpp targets/taranis/keys_driver.cpp targets/taranis/adc_driver.cpp targets/taranis/trainer_driver.cpp targets/taranis/audio_driver.cpp targets/taranis/delays.cpp targets/taranis/uart_driver.cpp targets/taranis/sport_driver.cpp + CPPSRC += targets/taranis/pwr_driver.cpp targets/taranis/pulses_driver.cpp targets/taranis/keys_driver.cpp targets/taranis/adc_driver.cpp targets/taranis/trainer_driver.cpp targets/taranis/audio_driver.cpp targets/taranis/delays.cpp targets/taranis/uart3_driver.cpp targets/taranis/sport_driver.cpp CPPSRC += bmp.cpp gui/view_channels.cpp gui/view_about.cpp gui/view_text.cpp SRC += targets/taranis/STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries/CMSIS/Device/ST/STM32F2xx/Source/Templates/system_stm32f2xx.c SRC += targets/taranis/STM32F2xx_StdPeriph_Lib_V1.1.0/Libraries/STM32F2xx_StdPeriph_Driver/src/misc.c diff --git a/radio/src/debug.h b/radio/src/debug.h index f259d4b11..cd852f852 100644 --- a/radio/src/debug.h +++ b/radio/src/debug.h @@ -73,7 +73,6 @@ inline void dump(unsigned char *data, unsigned int size) extern "C" { #endif -void debugPutc(const char c); void debugPuts(const char *string, ...); void dump(unsigned char *data, unsigned int size); diff --git a/radio/src/gui/menu_general.cpp b/radio/src/gui/menu_general.cpp index e422861fd..fb8935a28 100644 --- a/radio/src/gui/menu_general.cpp +++ b/radio/src/gui/menu_general.cpp @@ -1200,8 +1200,12 @@ void menuGeneralHardware(uint8_t event) } case ITEM_SETUP_HW_UART3_MODE: - g_eeGeneral.hw_uartMode = selectMenuItem(HW_SETTINGS_COLUMN, y, STR_UART3MODE, STR_UART3MODES, g_eeGeneral.hw_uartMode, 0, 2, attr, event); + g_eeGeneral.uart3Mode = selectMenuItem(HW_SETTINGS_COLUMN, y, STR_UART3MODE, STR_UART3MODES, g_eeGeneral.uart3Mode, 0, UART_MODE_MAX, attr, event); + if (checkIncDec_Ret) { + uart3Init(g_eeGeneral.uart3Mode); + } break; + } } diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index 0a0eaffcf..40d9980df 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -243,9 +243,20 @@ enum BeeperMode { #endif #if defined(PCBTARANIS) +enum uartModes { + UART_MODE_NONE, + UART_MODE_SPORT, + UART_MODE_VIRTUAL_SP2UART, +#if defined(DEBUG) + UART_MODE_DEBUG, +#endif + UART_MODE_COUNT, + UART_MODE_MAX = UART_MODE_COUNT-1 +}; + #define EXTRA_GENERAL_FIELDS \ EXTRA_GENERAL_FIELDS_ARM \ - uint8_t hw_uartMode; \ + uint8_t uart3Mode; \ uint8_t potsType; #elif defined(CPUARM) #define EXTRA_GENERAL_FIELDS EXTRA_GENERAL_FIELDS_ARM diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index b1d0ef3b0..15bc35ca0 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -4972,6 +4972,10 @@ inline void opentxInit(OPENTX_INIT_ARGS) lcdSetContrast(); backlightOn(); +#if defined(PCBTARANIS) + uart3Init(g_eeGeneral.uart3Mode); +#endif + #if defined(CPUARM) init_trainer_capture(); #endif diff --git a/radio/src/simpgmspace.cpp b/radio/src/simpgmspace.cpp index 10c7abd4a..a502dd7f0 100644 --- a/radio/src/simpgmspace.cpp +++ b/radio/src/simpgmspace.cpp @@ -632,6 +632,7 @@ void lcdRefresh() #if defined(PCBTARANIS) void usbStart() { } +void USART_DeInit(USART_TypeDef* ) { } ErrorStatus RTC_SetTime(uint32_t RTC_Format, RTC_TimeTypeDef* RTC_TimeStruct) { return SUCCESS; } ErrorStatus RTC_SetDate(uint32_t RTC_Format, RTC_DateTypeDef* RTC_DateStruct) { return SUCCESS; } void RTC_GetTime(uint32_t RTC_Format, RTC_TimeTypeDef* RTC_TimeStruct) { } diff --git a/radio/src/simpgmspace.h b/radio/src/simpgmspace.h index b177d82a0..d3684200f 100644 --- a/radio/src/simpgmspace.h +++ b/radio/src/simpgmspace.h @@ -406,4 +406,5 @@ extern char simuSdDirectory[1024]; #define SD_GET_SIZE_MB() (0) #define SD_GET_SPEED() (0) + #endif diff --git a/radio/src/targets/sky9x/board_sky9x.h b/radio/src/targets/sky9x/board_sky9x.h index 873d3e7e5..7cde0cfc9 100644 --- a/radio/src/targets/sky9x/board_sky9x.h +++ b/radio/src/targets/sky9x/board_sky9x.h @@ -258,4 +258,7 @@ void rotencEnd(); #define rotencDown() 0 #endif +// Debug driver +void debugPutc(const char c); + #endif diff --git a/radio/src/targets/taranis/board_taranis.cpp b/radio/src/targets/taranis/board_taranis.cpp index 36987fab9..754f6e6c1 100644 --- a/radio/src/targets/taranis/board_taranis.cpp +++ b/radio/src/targets/taranis/board_taranis.cpp @@ -192,9 +192,6 @@ void boardInit() adcInit(); delaysInit(); audioInit(); -#if defined(DEBUG) - uartInit(DEBUG_UART_BAUDRATE); -#endif init5msTimer(); __enable_irq(); eepromInit(); diff --git a/radio/src/targets/taranis/board_taranis.h b/radio/src/targets/taranis/board_taranis.h index 1de2f354d..4bbd2fde0 100644 --- a/radio/src/targets/taranis/board_taranis.h +++ b/radio/src/targets/taranis/board_taranis.h @@ -77,11 +77,11 @@ extern uint16_t sessionTimer; void delaysInit(); -#define DEBUG_UART_BAUDRATE 115200 +#define DEBUG_BAUDRATE 115200 #define SPORT_BAUDRATE 57600 -void uartInit(uint32_t baudrate); -void uartPutc(const char c); +void uart3Init(unsigned int mode); +void uart3Putc(const char c); void sportInit(void); @@ -183,6 +183,8 @@ bool usbPlugged(void); void eeWriteBlockCmp(const void *pointer_ram, uint16_t pointer_eeprom, size_t size); #endif +// Debug driver +void debugPutc(const char c); extern uint8_t currentTrainerMode; diff --git a/radio/src/targets/taranis/uart_driver.cpp b/radio/src/targets/taranis/uart3_driver.cpp similarity index 81% rename from radio/src/targets/taranis/uart_driver.cpp rename to radio/src/targets/taranis/uart3_driver.cpp index f084ae8fb..00a0d8891 100644 --- a/radio/src/targets/taranis/uart_driver.cpp +++ b/radio/src/targets/taranis/uart3_driver.cpp @@ -36,7 +36,7 @@ #include "../../opentx.h" -void uartInit(uint32_t baudrate) +void uart3Setup(unsigned int baudrate) { USART_InitTypeDef USART_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; @@ -69,22 +69,47 @@ void uartInit(uint32_t baudrate) USART_ITConfig(UART3, USART_IT_TXE, DISABLE); NVIC_EnableIRQ(USART3_IRQn); - NVIC_SetPriority(USART3_IRQn, 8); + NVIC_SetPriority(USART3_IRQn, 7); +} + +void uart3Init(unsigned int mode) +{ + USART_DeInit(USART3); + + switch(mode) { + case UART_MODE_SPORT: + uart3Setup(SPORT_BAUDRATE); + break; +#if defined(DEBUG) + case UART_MODE_DEBUG: + uart3Setup(DEBUG_BAUDRATE); + break; +#endif + } +} + +Fifo<512> uart3TxFifo; + +void uart3Putc(const char c) +{ + uart3TxFifo.push(c); + USART_ITConfig(UART3, USART_IT_TXE, ENABLE); } #if defined(DEBUG) -Fifo<512> debugTxFifo; void debugPutc(const char c) { - debugTxFifo.push(c); - USART_ITConfig(UART3, USART_IT_TXE, ENABLE); + if (g_eeGeneral.uart3Mode == UART_MODE_DEBUG) { + uart3Putc(c); + } } +#endif extern "C" void USART3_IRQHandler(void) { if (USART_GetITStatus(UART3, USART_IT_TXE) != RESET) { uint8_t txchar; - if (debugTxFifo.pop(txchar)) { + if (uart3TxFifo.pop(txchar)) { /* Write one byte to the transmit data register */ USART_SendData(UART3, txchar); } @@ -93,4 +118,3 @@ extern "C" void USART3_IRQHandler(void) } } } -#endif diff --git a/radio/src/telemetry/frsky_sport.cpp b/radio/src/telemetry/frsky_sport.cpp index dcb6d3693..613f30daa 100644 --- a/radio/src/telemetry/frsky_sport.cpp +++ b/radio/src/telemetry/frsky_sport.cpp @@ -534,6 +534,10 @@ void processSerialData(uint8_t data) btPushByte(data); #endif + if (g_eeGeneral.uart3Mode == UART_MODE_SPORT) { + uart3Putc(data); + } + if (data == START_STOP) { dataState = STATE_DATA_IN_FRAME; numPktBytes = 0; diff --git a/radio/src/translations/en.h b/radio/src/translations/en.h index 1c9054538..dc3d56e7e 100644 --- a/radio/src/translations/en.h +++ b/radio/src/translations/en.h @@ -69,7 +69,7 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" +#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART""Debug\0" #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" From 3e2e665955e2d25c4f321460422c84f9773da2be Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Sat, 1 Feb 2014 21:44:02 +0100 Subject: [PATCH 39/61] [Taranis] Pull request #610 - Speaker volume hysteresis --- radio/src/opentx.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index b1d0ef3b0..ff3729fae 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -3035,8 +3035,10 @@ uint8_t mSwitchDuration[1+NUM_ROTARY_ENCODERS] = { 0 }; #endif #if defined(CPUARM) +#define VOLUME_HYSTERESIS 10 // how much must a input value change to actually be considered for new volume setting uint8_t currentSpeakerVolume = 255; uint8_t requiredSpeakerVolume; +getvalue_t requiredSpeakerVolumeRawLast = 1024 + 1; //initial value must be outside normal range uint8_t fnSwitchDuration[NUM_CFN] = { 0 }; inline void playCustomFunctionFile(CustomFnData *sd, uint8_t id) @@ -3262,7 +3264,12 @@ void evalFunctions() } else if (CFN_FUNC(sd) == FUNC_VOLUME) { if (CFN_ACTIVE(sd)) { - requiredSpeakerVolume = ((1024 + getValue(CFN_PARAM(sd))) * VOLUME_LEVEL_MAX) / 2048; + getvalue_t raw = getValue(CFN_PARAM(sd)); + //only set volume if input changed more than hysteresis + if (abs(requiredSpeakerVolumeRawLast - raw) > VOLUME_HYSTERESIS) { + requiredSpeakerVolumeRawLast = raw; + } + requiredSpeakerVolume = ((1024 + requiredSpeakerVolumeRawLast) * VOLUME_LEVEL_MAX) / 2048; } else { active = false; From c045a6214b2d9796562c0c798803443b659b56ba Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Sat, 1 Feb 2014 21:59:46 +0100 Subject: [PATCH 40/61] [Taranis] Issue #626 fixed --- radio/src/opentx.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index ff3729fae..32e79ae3f 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -4983,7 +4983,9 @@ inline void opentxInit(OPENTX_INIT_ARGS) init_trainer_capture(); #endif +#if !defined(CPUARM) doMixerCalculations(); +#endif startPulses(); From 2a9d5d4778e7bd1635e93e28efcf16e80d458791 Mon Sep 17 00:00:00 2001 From: Jacek Drewniak Date: Sun, 2 Feb 2014 00:32:39 +0100 Subject: [PATCH 41/61] Fixes --- radio/src/translations/pl.h.txt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 82c6f47c9..27f401f64 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -60,22 +60,22 @@ #define TR_VRENAVIG "Ne REaREb" #define LEN_VBLMODE TR("\006", "\011") -#define TR_VBLMODE TR("Wył\0 ""Przyc.""Drążki""Oba\0 ""Zał\0 ", "Wyłaczone""Przyciski""Drązki\0 ""Oba\0 ""Włączyć\0 ") +#define TR_VBLMODE TR("Wył\0 ""Przyc.""Drążki""Oba\0 ""Zał\0 ", "Wyłączone""Przyciski""Drązki\0 ""Oba\0 ""Włączyć\0 ") #define LEN_TRNMODE "\003" #define TR_TRNMODE " X "" +="" :=" #define LEN_TRNCHN "\003" -#define TR_TRNCHN "CH1CH2CH3CH4" +#define TR_TRNCHN "KN1KN2KN3KN4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" +#define TR_UART3MODES "WYŁ\0 ""SPORT Mirror\0 ""Wirtualny SP2UART" #define LEN_POTTYPES "\017" -#define TR_POTTYPES "Pot\0 ""Multipos Switch" +#define TR_POTTYPES "Potencj.\0 ""Prz.Wielopoz " #define LEN_DATETIME "\006" -#define TR_DATETIME "DANA:""Czas:\0 " +#define TR_DATETIME "DATA:""CZAS:\0 " #define LEN_VLCD "\006" #define TR_VLCD "Normal""Optrex" @@ -683,8 +683,8 @@ #define TR_PERSISTENT_MAH INDENT "Zapisz mAh" #define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") #define TR_UART3MODE "Port szreg." -#define TR_POT1TYPE "Typ P1" -#define TR_POT2TYPE "Typ P2" +#define TR_POT1TYPE "Typ S1" +#define TR_POT2TYPE "Typ S2" #if defined(MAVLINK) #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" From c91759166a9853f9bdd798186e4d6a7e39dc8c64 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Sat, 1 Feb 2014 21:59:46 +0100 Subject: [PATCH 42/61] [all] Issue #626 fixed --- radio/src/opentx.cpp | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index ff3729fae..6103305d1 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -3802,15 +3802,6 @@ void doMixerCalculations() s_last_phase = phase; } - if (tick10ms) { -#if defined(CPUARM) - requiredSpeakerVolume = g_eeGeneral.speakerVolume + VOLUME_LEVEL_DEF; -#endif - - // the reason this needs to be done before limits is the applyLimit function; it checks for safety switches which would be not initialized otherwise - evalFunctions(); - } - int32_t weight = 0; if (s_fade_flight_phases) { memclear(sum_chans512, sizeof(sum_chans512)); @@ -3818,7 +3809,7 @@ void doMixerCalculations() s_last_switch_used = 0; if (s_fade_flight_phases & ((ACTIVE_PHASES_TYPE)1 << p)) { s_perout_flight_phase = p; - perOut(p==phase?e_perout_mode_normal:e_perout_mode_inactive_phase, p==phase?tick10ms:0); + perOut(p==phase ? e_perout_mode_normal : e_perout_mode_inactive_phase, p==phase ? tick10ms : 0); for (uint8_t i=0; i> 4) * fp_act[p]; weight += fp_act[p]; @@ -3832,7 +3823,17 @@ void doMixerCalculations() s_perout_flight_phase = phase; perOut(e_perout_mode_normal, tick10ms); } - + + //========== FUNCTIONS =============== + // must be done after mixing because some functions use the inputs/channels values + // must be done before limits because of the applyLimit function: it checks for safety switches which would be not initialized otherwise + if (tick10ms) { +#if defined(CPUARM) + requiredSpeakerVolume = g_eeGeneral.speakerVolume + VOLUME_LEVEL_DEF; +#endif + evalFunctions(); + } + //========== LIMITS =============== for (uint8_t i=0; i 1024*256 @@ -4983,7 +4984,9 @@ inline void opentxInit(OPENTX_INIT_ARGS) init_trainer_capture(); #endif +#if !defined(CPUARM) doMixerCalculations(); +#endif startPulses(); From 0f1c14549eb5bb5a1fad350c49c9b49431508438 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Sun, 2 Feb 2014 09:40:04 +0100 Subject: [PATCH 43/61] [all] Issue #627 fixed --- radio/src/audio_arm.cpp | 2 +- radio/src/opentx.cpp | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/radio/src/audio_arm.cpp b/radio/src/audio_arm.cpp index 3fff37af0..47038961f 100644 --- a/radio/src/audio_arm.cpp +++ b/radio/src/audio_arm.cpp @@ -870,7 +870,7 @@ void audioEvent(uint8_t e, uint16_t f) break; // timer == 0 case AU_TIMER_00: - audioQueue.play(BEEP_DEFAULT_FREQ+150, 240, 20, PLAY_NOW); + audioQueue.play(BEEP_DEFAULT_FREQ+150, 300, 20, PLAY_NOW); break; // timer <= 10 seconds left case AU_TIMER_LT10: diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 6103305d1..7f1824352 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -3989,7 +3989,10 @@ void doMixerCalculations() switch(timerState->state) { case TMR_RUNNING: - if (tv && newTimerVal>=(int16_t)tv) timerState->state = TMR_NEGATIVE; + if (tv && newTimerVal>=(int16_t)tv) { + AUDIO_TIMER_00(g_model.timers[i].countdownBeep); + timerState->state = TMR_NEGATIVE; + } break; case TMR_NEGATIVE: if (newTimerVal >= (int16_t)tv + MAX_ALERT_TIME) timerState->state = TMR_STOPPED; @@ -4004,7 +4007,6 @@ void doMixerCalculations() if (g_model.timers[i].countdownBeep && g_model.timers[i].start) { if (newTimerVal==30) AUDIO_TIMER_30(); if (newTimerVal==20) AUDIO_TIMER_20(); - if (newTimerVal==00) AUDIO_TIMER_00(g_model.timers[i].countdownBeep); if (newTimerVal<=10) AUDIO_TIMER_LT10(g_model.timers[i].countdownBeep, newTimerVal); } if (g_model.timers[i].minuteBeep && (newTimerVal % 60)==0) { From 3adac4c7954267bf575b7b63e8932c41570eda23 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Sun, 2 Feb 2014 12:02:29 +0100 Subject: [PATCH 44/61] Update DONATIONS.txt --- DONATIONS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index aa31b72d6..44d3502c9 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -310,3 +310,4 @@ Ronald Donker Paul Oldenkamp Dietmar Drees Bradley Murchie +Richard Fahie From e1aba1bc1cf1a3b35abbf00181441331a57d7e81 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Sun, 2 Feb 2014 12:14:30 +0100 Subject: [PATCH 45/61] Fixes fixed --- radio/src/translations/pl.h.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 27f401f64..23c962ba7 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -68,14 +68,14 @@ #define LEN_TRNCHN "\003" #define TR_TRNCHN "KN1KN2KN3KN4" -#define LEN_UART3MODES "\017" -#define TR_UART3MODES "WYŁ\0 ""SPORT Mirror\0 ""Wirtualny SP2UART" +#define LEN_UART3MODES "\021" +#define TR_UART3MODES "WYŁ\0 ""SPORT Mirror\0 ""Wirtualny SP2UART" #define LEN_POTTYPES "\017" -#define TR_POTTYPES "Potencj.\0 ""Prz.Wielopoz " +#define TR_POTTYPES "Potencj.\0 ""Prz.Wielopoz\0 " #define LEN_DATETIME "\006" -#define TR_DATETIME "DATA:""CZAS:\0 " +#define TR_DATETIME "DATA:\0""CZAS:\0" #define LEN_VLCD "\006" #define TR_VLCD "Normal""Optrex" From 698885f6454447e4001dd34806e91fb812751c67 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Sun, 2 Feb 2014 13:51:33 +0100 Subject: [PATCH 46/61] [Taranis, Sky9x] Wav files played even in silent mode. --- radio/src/audio_arm.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/radio/src/audio_arm.cpp b/radio/src/audio_arm.cpp index 47038961f..dc16ff64a 100644 --- a/radio/src/audio_arm.cpp +++ b/radio/src/audio_arm.cpp @@ -679,6 +679,9 @@ void AudioQueue::playFile(const char *filename, uint8_t flags, uint8_t id) if (!sdMounted()) return; + if (g_eeGeneral.beepMode == e_mode_quiet) + return; + if (strlen(filename) > AUDIO_FILENAME_MAXLEN) { POPUP_WARNING(STR_PATH_TOO_LONG); return; From e6c92d1ed940af52184238c46a091d92a040e308 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Sun, 2 Feb 2014 19:02:23 +0100 Subject: [PATCH 47/61] Update DONATIONS.txt --- DONATIONS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index 44d3502c9..8436823af 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -311,3 +311,4 @@ Paul Oldenkamp Dietmar Drees Bradley Murchie Richard Fahie +James Kaufman From cb7cb4aaf8cc0e7e5e10da273f121b2c61d5bc01 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Sun, 2 Feb 2014 21:51:42 +0100 Subject: [PATCH 48/61] [Taranis] 6pos multiswitch adjustments --- radio/src/gui/menu_general.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/radio/src/gui/menu_general.cpp b/radio/src/gui/menu_general.cpp index fb8935a28..7dec9d6c8 100644 --- a/radio/src/gui/menu_general.cpp +++ b/radio/src/gui/menu_general.cpp @@ -1284,7 +1284,7 @@ void menuGeneralHardware(uint8_t event) } #endif -#define XPOT_DELTA 5 +#define XPOT_DELTA 7 void menuCommonCalib(uint8_t event) { @@ -1305,7 +1305,7 @@ void menuCommonCalib(uint8_t event) else { if (reusableBuffer.calib.xpotsCalib[idx].lastCount < 255) reusableBuffer.calib.xpotsCalib[idx].lastCount++; } - if (reusableBuffer.calib.xpotsCalib[idx].lastCount == 8/*80ms*/) { + if (reusableBuffer.calib.xpotsCalib[idx].lastCount == 20/*200ms*/) { int16_t position = reusableBuffer.calib.xpotsCalib[idx].lastPosition; bool found = false; for (int j=0; jsteps[j] = (reusableBuffer.calib.xpotsCalib[idx].steps[j+1] + reusableBuffer.calib.xpotsCalib[idx].steps[j]) >> 5; } } + else { + g_eeGeneral.potsType &= ~(1< Date: Sun, 2 Feb 2014 21:57:12 +0100 Subject: [PATCH 49/61] Companion didn't compile properly! --- companion/src/firmwares/opentx/opentxTaranisSimulator.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp b/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp index 47b8fb04a..fbd65c564 100644 --- a/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp +++ b/companion/src/firmwares/opentx/opentxTaranisSimulator.cpp @@ -77,6 +77,7 @@ inline int geteepromsize() { #include "radio/src/targets/taranis/pulses_driver.cpp" #include "radio/src/targets/taranis/rtc_driver.cpp" #include "radio/src/targets/taranis/trainer_driver.cpp" +#include "radio/src/targets/taranis/uart3_driver.cpp" #include "radio/src/protocols/pulses_arm.cpp" #include "radio/src/stamp.cpp" #include "radio/src/maths.cpp" From 413c146fe0082ed3a8091f87664885f942e6d818 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Sun, 2 Feb 2014 22:50:36 +0100 Subject: [PATCH 50/61] [Taranis] 6pos multiswitch fix --- radio/src/gui/menu_general.cpp | 4 ++-- radio/src/opentx.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/radio/src/gui/menu_general.cpp b/radio/src/gui/menu_general.cpp index 7dec9d6c8..28656db26 100644 --- a/radio/src/gui/menu_general.cpp +++ b/radio/src/gui/menu_general.cpp @@ -1284,7 +1284,7 @@ void menuGeneralHardware(uint8_t event) } #endif -#define XPOT_DELTA 7 +#define XPOT_DELTA 5 void menuCommonCalib(uint8_t event) { @@ -1305,7 +1305,7 @@ void menuCommonCalib(uint8_t event) else { if (reusableBuffer.calib.xpotsCalib[idx].lastCount < 255) reusableBuffer.calib.xpotsCalib[idx].lastCount++; } - if (reusableBuffer.calib.xpotsCalib[idx].lastCount == 20/*200ms*/) { + if (reusableBuffer.calib.xpotsCalib[idx].lastCount == 10/*100ms*/) { int16_t position = reusableBuffer.calib.xpotsCalib[idx].lastPosition; bool found = false; for (int j=0; j> 1; StepsCalibData * calib = (StepsCalibData *) &g_eeGeneral.calib[x]; - if (IS_MULTIPOS_POT(x) && calib->count>0 && calib->countcount>0 && calib->count> 4); s_anaFilt[x] = 2*RESX; for (int i=0; icount; i++) { From 5916959038b61d3fe6606c923755dfb72417c57c Mon Sep 17 00:00:00 2001 From: Jacek Drewniak Date: Sun, 2 Feb 2014 23:48:23 +0100 Subject: [PATCH 51/61] Chenged SPORT to S-Port in all translation files. --- radio/src/translations/cz.h.txt | 2 +- radio/src/translations/de.h.txt | 2 +- radio/src/translations/en.h | 2 +- radio/src/translations/es.h.txt | 2 +- radio/src/translations/fr.h.txt | 2 +- radio/src/translations/it.h.txt | 2 +- radio/src/translations/pl.h.txt | 10 +++++----- radio/src/translations/pt.h.txt | 2 +- radio/src/translations/se.h.txt | 2 +- 9 files changed, 13 insertions(+), 13 deletions(-) diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 1e539d4dd..f7f6cea3f 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Virtual SP2UART" #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 45355f3f4..71bff8ed2 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Virtual SP2UART" #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" diff --git a/radio/src/translations/en.h b/radio/src/translations/en.h index dc3d56e7e..59ba2ad25 100644 --- a/radio/src/translations/en.h +++ b/radio/src/translations/en.h @@ -69,7 +69,7 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART""Debug\0" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Virtual SP2UART""Debug\0" #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 51260c6c2..389150428 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Virtual SP2UART" #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 69b34183a..009148ff5 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Virtual SP2UART" #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 4326c226f..8dfd106d5 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "ch1ch2ch3ch4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Virtual SP2UART" #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 82c6f47c9..2f2c56902 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -60,7 +60,7 @@ #define TR_VRENAVIG "Ne REaREb" #define LEN_VBLMODE TR("\006", "\011") -#define TR_VBLMODE TR("Wył\0 ""Przyc.""Drążki""Oba\0 ""Zał\0 ", "Wyłaczone""Przyciski""Drązki\0 ""Oba\0 ""Włączyć\0 ") +#define TR_VBLMODE TR("Wył\0 ""Przyc.""Drążki""Oba\0 ""Zał\0 ", "Wyłączone""Przyciski""Drązki\0 ""Oba\0 ""Włączyć\0 ") #define LEN_TRNMODE "\003" #define TR_TRNMODE " X "" +="" :=" @@ -69,10 +69,10 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Wirtual.SP2UART" #define LEN_POTTYPES "\017" -#define TR_POTTYPES "Pot\0 ""Multipos Switch" +#define TR_POTTYPES "Potencjometr\0 ""Przeł.Wielopoz." #define LEN_DATETIME "\006" #define TR_DATETIME "DANA:""Czas:\0 " @@ -683,8 +683,8 @@ #define TR_PERSISTENT_MAH INDENT "Zapisz mAh" #define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") #define TR_UART3MODE "Port szreg." -#define TR_POT1TYPE "Typ P1" -#define TR_POT2TYPE "Typ P2" +#define TR_POT1TYPE "Typ S1" +#define TR_POT2TYPE "Typ S2" #if defined(MAVLINK) #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 33e9d16fe..a512485a7 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""SPORT Mirror\0 ""Virtual SP2UART" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Virtual SP2UART" #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index ad1277001..6f4495d80 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "KN1KN2KN3KN4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "Av\0 ""SPORT-spegel\0 ""VirtuellSP2UART" +#define TR_UART3MODES "Av\0 ""S-Port-spegel\0 ""VirtuellSP2UART" #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" From 9a81cc37b3adc098d91b0bc4474dc7b2cd2e28a5 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Mon, 3 Feb 2014 00:05:44 +0100 Subject: [PATCH 52/61] Remove Virtual SP2UART choice for serial port for now, sync translations (Debug) --- radio/src/myeeprom.h | 2 +- radio/src/translations/cz.h.txt | 2 +- radio/src/translations/de.h.txt | 2 +- radio/src/translations/en.h | 2 +- radio/src/translations/es.h.txt | 2 +- radio/src/translations/fr.h.txt | 8 ++++---- radio/src/translations/it.h.txt | 2 +- radio/src/translations/pl.h.txt | 2 +- radio/src/translations/pt.h.txt | 2 +- radio/src/translations/se.h.txt | 2 +- 10 files changed, 13 insertions(+), 13 deletions(-) diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index 40d9980df..8bb233a52 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -246,7 +246,7 @@ enum BeeperMode { enum uartModes { UART_MODE_NONE, UART_MODE_SPORT, - UART_MODE_VIRTUAL_SP2UART, +// UART_MODE_VIRTUAL_SP2UART, #if defined(DEBUG) UART_MODE_DEBUG, #endif diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index f7f6cea3f..258b522a4 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Virtual SP2UART" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0" #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 71bff8ed2..4b104e5ec 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Virtual SP2UART" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0" #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" diff --git a/radio/src/translations/en.h b/radio/src/translations/en.h index 59ba2ad25..3d58a6203 100644 --- a/radio/src/translations/en.h +++ b/radio/src/translations/en.h @@ -69,7 +69,7 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Virtual SP2UART""Debug\0" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0" #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 389150428..6198acd90 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Virtual SP2UART" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0" #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 009148ff5..a89a410d5 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -69,10 +69,10 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Virtual SP2UART" +#define TR_UART3MODES "OFF\0 ""Recopie S-Port\0""Debug\0" #define LEN_POTTYPES "\017" -#define TR_POTTYPES "Pot\0 ""Multipos Switch" +#define TR_POTTYPES "Potentiomètre\0 ""Inter multi-pos" #define LEN_DATETIME "\005" #define TR_DATETIME "DATE:""HEURE" @@ -683,8 +683,8 @@ #define TR_PERSISTENT_MAH TR(INDENT "Enr. mAh",INDENT "Enregistrer mAh") #define TR_FAS_OFFSET TR(INDENT "Corr FAS", INDENT "Correction FAS") #define TR_UART3MODE "Port série" -#define TR_POT1TYPE "S1 Type" -#define TR_POT2TYPE "S2 Type" +#define TR_POT1TYPE "Type S1" +#define TR_POT2TYPE "Type S2" #if defined(MAVLINK) #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "RSSI Max" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 8dfd106d5..bd9c119c5 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "ch1ch2ch3ch4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Virtual SP2UART" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0" #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 2f2c56902..47e4d0f43 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Wirtual.SP2UART" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0" #define LEN_POTTYPES "\017" #define TR_POTTYPES "Potencjometr\0 ""Przeł.Wielopoz." diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index a512485a7..23a8b5144 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Virtual SP2UART" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0" #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 6f4495d80..94277581c 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "KN1KN2KN3KN4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "Av\0 ""S-Port-spegel\0 ""VirtuellSP2UART" +#define TR_UART3MODES "Av\0 ""S-Port-spegel\0 ""Debug\0" #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" From 6509a5a66e926e6f091fa3ba359a04b00ad9f032 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Mon, 3 Feb 2014 10:17:09 +0100 Subject: [PATCH 53/61] Conflict resolved the wrong way --- radio/src/translations/pl.h.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 94f95686d..9a5f09488 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -68,8 +68,8 @@ #define LEN_TRNCHN "\003" #define TR_TRNCHN "KN1KN2KN3KN4" -#define LEN_UART3MODES "\021" -#define TR_UART3MODES "Wyłącz\0 ""S-Port Mirror\0 ""Virtual SP2UART" +#define LEN_UART3MODES "\017" +#define TR_UART3MODES "Wyłącz\0 ""S-Port Mirror\0 ""Debug\0 " #define LEN_POTTYPES "\017" #define TR_POTTYPES "Potencjometr\0 ""Przeł.Wielopoz." From 7c81920431977ef55c42a794dc0676b168b50cde Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Mon, 3 Feb 2014 10:21:42 +0100 Subject: [PATCH 54/61] Debug wasn't padded --- radio/src/translations/cz.h.txt | 2 +- radio/src/translations/de.h.txt | 2 +- radio/src/translations/en.h | 2 +- radio/src/translations/es.h.txt | 2 +- radio/src/translations/fr.h.txt | 2 +- radio/src/translations/it.h.txt | 2 +- radio/src/translations/pt.h.txt | 2 +- radio/src/translations/se.h.txt | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 258b522a4..47b61a726 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 " #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 4b104e5ec..ebc110d5b 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 " #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" diff --git a/radio/src/translations/en.h b/radio/src/translations/en.h index 3d58a6203..3fd7c07f2 100644 --- a/radio/src/translations/en.h +++ b/radio/src/translations/en.h @@ -69,7 +69,7 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 " #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 6198acd90..f9887a064 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 " #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index a89a410d5..f1cfea5f1 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""Recopie S-Port\0""Debug\0" +#define TR_UART3MODES "OFF\0 ""Recopie S-Port\0""Debug\0 " #define LEN_POTTYPES "\017" #define TR_POTTYPES "Potentiomètre\0 ""Inter multi-pos" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index bd9c119c5..26c241ea7 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "ch1ch2ch3ch4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 " #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 23a8b5144..469536a97 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "CH1CH2CH3CH4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0" +#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 " #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 94277581c..42ae1ab8e 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -69,7 +69,7 @@ #define TR_TRNCHN "KN1KN2KN3KN4" #define LEN_UART3MODES "\017" -#define TR_UART3MODES "Av\0 ""S-Port-spegel\0 ""Debug\0" +#define TR_UART3MODES "Av\0 ""S-Port-spegel\0 ""Debug\0 " #define LEN_POTTYPES "\017" #define TR_POTTYPES "Pot\0 ""Multipos Switch" From 2b878af18382f5bf21c9a0bbfb87fff376a6475d Mon Sep 17 00:00:00 2001 From: Dvogonen Date: Mon, 3 Feb 2014 11:53:40 +0100 Subject: [PATCH 55/61] TRanslated latest strings and made minor improvements --- companion/src/translations/companion_sv.ts | 532 ++++++++++++--------- radio/src/translations/se.h.txt | 26 +- 2 files changed, 325 insertions(+), 233 deletions(-) diff --git a/companion/src/translations/companion_sv.ts b/companion/src/translations/companion_sv.ts index 975950d96..3f82a36d7 100644 --- a/companion/src/translations/companion_sv.ts +++ b/companion/src/translations/companion_sv.ts @@ -57,7 +57,7 @@ CurveGroup - + Diff Diff @@ -257,7 +257,7 @@ LB%1 - + &Delete &Ta bort @@ -551,7 +551,7 @@ Om fältet lämnas tomt så är filtret aktivt hela tiden. Redigera %1 - + Rud Rod @@ -981,6 +981,8 @@ Mode 4: + + Beeper volume 0 - Quiet. No beeps at all. @@ -997,7 +999,7 @@ Mode 4: 4 - Extra högt. - + Quiet Tyst @@ -1306,7 +1308,29 @@ Mode 4: SPAK 2 - + + + Pot (normal) + Potentiometer + + + + + Multipos Switch + Flerlägesväljare + + + + S1 Type + S1-ratten + + + + S2 Type + S2-ratten + + + STICK 3 SPAK 3 @@ -1471,7 +1495,7 @@ Mode 4: Spänning - + Warning Varning @@ -3727,8 +3751,8 @@ p, li { white-space: pre-wrap; } QObject - - + + P1 P1 @@ -3773,7 +3797,7 @@ p, li { white-space: pre-wrap; } T2 - + th9x th9x @@ -3823,16 +3847,16 @@ p, li { white-space: pre-wrap; } Starta loggning - + - - + + ---- ---- - - + + Rud Rod @@ -3856,7 +3880,7 @@ p, li { white-space: pre-wrap; } - + Timer1 Timer1 @@ -3882,7 +3906,7 @@ p, li { white-space: pre-wrap; } Modelldata sparades, men med dessa varningar: - + ersky9x ersky9x @@ -3894,7 +3918,7 @@ p, li { white-space: pre-wrap; } Det finns ännu ingen simulator för denna typ av firmware - + REa REa @@ -3942,198 +3966,198 @@ p, li { white-space: pre-wrap; } - + LS1 LB1 - - + + LS2 LB2 - - + + LS3 LB3 - - + + LS4 LB4 - - + + LS5 LB5 - - + + LS6 LB6 - - + + LS7 LB7 - - + + LS8 LB8 - - + + LS9 LB9 - - + + LSA LBA - - + + LSB LBB - - + + LSC LBC - - + + LSD LBD - - + + LSE LBE - - + + LSF LBF - - + + LSG LBG - - + + LSH LBH - - + + LSI LBI - - + + LSJ LBJ - - + + LSK LBK - - + + LSL LBL - - + + LSM LBM - - + + LSN LBN - - + + LSO LBO - - + + LSP LBP - - + + LSQ LBQ - - + + LSR LBR - - + + LSS LBS - - + + LST LBT - - + + LSU LBU - - + + LSV LBV - - + + LSW LBW - + Input %1 Filter %1 @@ -4148,55 +4172,46 @@ p, li { white-space: pre-wrap; } PPM%1 - - + THR GAS - RUD - ROD + ROD - ELE - HÖJ + HÖJ - ID0 - ID0 + ID0 - ID1 - ID1 + ID1 - ID2 - ID2 + ID2 - AIL - SKE + SKE - GEA - LAN + LAN - TRN - TRN + TRN - - + + ON På @@ -4207,7 +4222,7 @@ p, li { white-space: pre-wrap; } Av - + Safety %1 Säkring %1 @@ -4217,7 +4232,7 @@ p, li { white-space: pre-wrap; } th9x stödjer inte inställningshjul för detta sändarkort - + TrmR TrmR @@ -4252,7 +4267,7 @@ p, li { white-space: pre-wrap; } Vario - + All För alla händelser @@ -4264,7 +4279,7 @@ p, li { white-space: pre-wrap; } Telemetri - + Play Value Spela Värde @@ -4394,7 +4409,7 @@ p, li { white-space: pre-wrap; } Belysning - + Own trim Egen trim @@ -4425,7 +4440,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 @@ -4651,19 +4666,19 @@ p, li { white-space: pre-wrap; } - - + + GV%1 GV%1 - - + + --- ---- - + Rud Trim Rod.Trim @@ -4692,6 +4707,11 @@ p, li { white-space: pre-wrap; } Swedish Svenska + + + Polish + Polska + CH%1 @@ -4708,7 +4728,7 @@ p, li { white-space: pre-wrap; } Paus i bakgrundsmusiken - + Delay %1 sec Fördröjning %1 s @@ -4728,8 +4748,8 @@ p, li { white-space: pre-wrap; } Eget värde - - + + -GV%1 -GV%1 @@ -4757,7 +4777,7 @@ p, li { white-space: pre-wrap; } - + S1 S1 @@ -4846,7 +4866,7 @@ p, li { white-space: pre-wrap; } Justera GV%1 - + <font color=red><b>Inconsistent parameter</b></font> @@ -4898,7 +4918,7 @@ p, li { white-space: pre-wrap; } Ökning - + Yellow Gul @@ -4929,12 +4949,12 @@ p, li { white-space: pre-wrap; } - + None Ingen - + Imperial Imperial @@ -4944,7 +4964,7 @@ p, li { white-space: pre-wrap; } Metrisk - + Extra Fine Extrafin @@ -5074,7 +5094,67 @@ p, li { white-space: pre-wrap; } - + + S11 + S11 + + + + S12 + S12 + + + + S13 + S13 + + + + S14 + S14 + + + + S15 + S15 + + + + S16 + S16 + + + + S21 + S21 + + + + S22 + S22 + + + + S23 + S23 + + + + S24 + S24 + + + + S25 + S25 + + + + S26 + S26 + + + ONE ONE @@ -5129,7 +5209,7 @@ p, li { white-space: pre-wrap; } !Kurva(%1) - + FM%1 FM%1 @@ -5180,7 +5260,7 @@ p, li { white-space: pre-wrap; } Portugisiska - + !Flight mode %1 !Flygläge %1 @@ -5200,7 +5280,7 @@ p, li { white-space: pre-wrap; } Flygläge %1 värde - + openTx only accepts %1 points in all curves openTX accepterar bar %1 punkter i alla kurvor @@ -5223,14 +5303,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 @@ -5724,96 +5804,60 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga Bestående mAh - Telemetry screen 1 - Telemetriskärm 1 + Telemetriskärm 1 - - - Custom Screen Type - Visa data som + Visa data som - - - Nums - Nummer + Nummer - - - Bars - Staplar + Staplar - - - Source - Källa + Källa - - - Min - Min + Min - - - Gauge - Mätare + Mätare - - - Max - Max + Max - - - Gauge 1 - Mätare 1 + Mätare 1 - - - Gauge 2 - Mätare 2 + Mätare 2 - - - Gauge 3 - Mätare 3 + Mätare 3 - - - Gauge 4 - Mätare 4 + Mätare 4 - Telemetry screen 2 - Telemetriskärm 2 + Telemetriskärm 2 - Telemetry screen 3 - Telemetriskärm 3 + Telemetriskärm 3 @@ -5930,20 +5974,68 @@ Gasen reverseras om alternativet väljs. Tomgång ligger då uppåt. Trim och ga mAmpere (mA) - + Range Räckvidd + + TelemetryCustomScreen + + + Form + Form + + + + Custom Screen Type + Visa data som + + + + Nums + Nummer + + + + Bars + Staplar + + + + Min + Min + + + + Source + Ursprung + + + + Gauge + Mätare + + + + Max + Max + + TelemetryPanel - + + Telemetry screen %1 + Telemetriskärm %1 + + + Winged Shadow How High Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (stöds ej) @@ -6793,30 +6885,30 @@ m2560 för v4.1-kort - + Offset Offset - + - - + + Min Min - + - - + + Max Max - + Invert @@ -6931,70 +7023,70 @@ m2560 för v4.1-kort - + Analog Analog - - + + Unit Enhet - - + + Scale Skala - + - + A%1 A%1 - - + + Alarm 1 Alarm 1 - - + + Alarm 2 Alarm 2 - + - + Type Typ - + - + Condition Villkor - + - + Value Värde - + Logical Switches Logiska Brytare @@ -7011,36 +7103,36 @@ m2560 för v4.1-kort - + RSSI Alarm RSSI-alarm - - + + Telemetry Bars Telemetri-staplar - - + + Bar Number Stapelnummer - - + + Source Källa - - + + Custom Telemetry View Egna inställning av telemetriskärmen - + Print Document Skriv dokument @@ -7050,7 +7142,7 @@ m2560 för v4.1-kort Välj PDF-fil att skriva till - + No name Inget namn @@ -9115,7 +9207,7 @@ Får skilja från språket för mjukvaran Stapelnummer - + Print Document Skriv dokument @@ -9125,7 +9217,7 @@ Får skilja från språket för mjukvaran Välj PDF-fil att skriva till - + OUT UT @@ -9217,7 +9309,7 @@ Får skilja från språket för mjukvaran Flygläge - + ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) ODF filer (*.odt);;PDF Filer(*.pdf);;HTML-Filer (*.htm *.html);;Alla Filer (*) diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 42ae1ab8e..4ef12f2f8 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -68,11 +68,11 @@ #define LEN_TRNCHN "\003" #define TR_TRNCHN "KN1KN2KN3KN4" -#define LEN_UART3MODES "\017" -#define TR_UART3MODES "Av\0 ""S-Port-spegel\0 ""Debug\0 " +#define LEN_UART3MODES "\022" +#define TR_UART3MODES "Av\0 ""Spegling av S-Port""Debug\0 " -#define LEN_POTTYPES "\017" -#define TR_POTTYPES "Pot\0 ""Multipos Switch" +#define LEN_POTTYPES "\020" +#define TR_POTTYPES "Potentiometer\0 ""Flerlägesväljare" #define LEN_DATETIME "\005" #define TR_DATETIME "DAG: ""TID: " @@ -524,15 +524,15 @@ #define TR_MODEL "Modell" #define TR_FP "FL" #define TR_MIX "MIX" -#define TR_EEPROMLOWMEM "EEPROM low mem" +#define TR_EEPROMLOWMEM "Minnesbrist" #define TR_ALERT "\016OBS" #define TR_PRESSANYKEYTOSKIP "Tryck ned en knapp" #define TR_THROTTLENOTIDLE "Gasen är påslagen!" #define TR_ALARMSDISABLED "Alarmen Avstängda!" -#define TR_PRESSANYKEY TR("Tryck ned en knapp", "Tryck ned en knapp") -#define TR_BADEEPROMDATA "EEprom Datafel " -#define TR_EEPROMFORMATTING "Formaterar EEprom" -#define TR_EEPROMOVERFLOW "Fel i EEprom" +#define TR_PRESSANYKEY "Tryck ned en knapp" +#define TR_BADEEPROMDATA "Minnet kan inte tolkas" +#define TR_EEPROMFORMATTING "Minnet Nollställs" +#define TR_EEPROMOVERFLOW "Minnesfel" #define TR_MENURADIOSETUP "Inställningar" #define TR_MENUDATEANDTIME "Dag och Tid" #define TR_MENUTRAINER "Trainer (PPM in)" @@ -682,9 +682,9 @@ #define TR_CRITICALALARM INDENT "Kritiskt alarm" #define TR_PERSISTENT_MAH INDENT "Store mAh" #define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset") -#define TR_UART3MODE "Serieport" -#define TR_POT1TYPE "S1 Type" -#define TR_POT2TYPE "S2 Type" +#define TR_UART3MODE "Serieporten" +#define TR_POT1TYPE "S1-ratten" +#define TR_POT2TYPE "S2-ratten" #if defined(MAVLINK) #define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI" @@ -705,7 +705,7 @@ #define TR_MAVLINK_BEARING "Bäring" #define TR_MAVLINK_ALTITUDE "Höjd" #define TR_MAVLINK_GPS "GPS" - #define TR_MAVLINK_NO_FIX "NO Fix" + #define TR_MAVLINK_NO_FIX "EJ Lås" #define TR_MAVLINK_SAT "SAT" #define TR_MAVLINK_HDOP "HDOP" #define TR_MAVLINK_LAT "LAT" From 1b071cbf477b07abdcc34ac48d914b6611ed42be Mon Sep 17 00:00:00 2001 From: Dvogonen Date: Mon, 3 Feb 2014 12:07:52 +0100 Subject: [PATCH 56/61] Renamed the CS labels in the simulator dialog to LS --- companion/src/simulatordialog.ui | 66 +- companion/src/translations/companion_cs.ts | 7941 +++++++++--------- companion/src/translations/companion_de.ts | 8121 +++++++++---------- companion/src/translations/companion_fr.ts | 7804 ++++++++++-------- companion/src/translations/companion_he.ts | 8563 +++++++++----------- companion/src/translations/companion_it.ts | 7790 ++++++++++-------- companion/src/translations/companion_pl.ts | 356 +- companion/src/translations/companion_pt.ts | 8282 +++++++++---------- companion/src/translations/companion_ru.ts | 8443 +++++++++---------- companion/src/translations/companion_sv.ts | 300 +- 10 files changed, 28789 insertions(+), 28877 deletions(-) diff --git a/companion/src/simulatordialog.ui b/companion/src/simulatordialog.ui index de9a3a43a..06fc4655e 100644 --- a/companion/src/simulatordialog.ui +++ b/companion/src/simulatordialog.ui @@ -555,6 +555,7 @@ QPushButton:checked { border-radius: 4px; border-color: black; padding: 2px; + } QPushButton:checked { @@ -1262,7 +1263,7 @@ QPushButton:checked { - CS1 + LS1 Qt::AlignCenter @@ -1293,7 +1294,7 @@ QPushButton:checked { - CS2 + LS2 Qt::AlignCenter @@ -1324,7 +1325,7 @@ QPushButton:checked { - CS3 + LS3 Qt::AlignCenter @@ -1355,7 +1356,7 @@ QPushButton:checked { - CS4 + LS4 Qt::AlignCenter @@ -1386,7 +1387,7 @@ QPushButton:checked { - CS5 + LS5 Qt::AlignCenter @@ -1417,7 +1418,7 @@ QPushButton:checked { - CS6 + LS6 Qt::AlignCenter @@ -1448,7 +1449,7 @@ QPushButton:checked { - CS7 + LS7 Qt::AlignCenter @@ -1479,7 +1480,7 @@ QPushButton:checked { - CS8 + LS8 Qt::AlignCenter @@ -1510,7 +1511,7 @@ QPushButton:checked { - CS9 + LS9 Qt::AlignCenter @@ -1541,7 +1542,7 @@ QPushButton:checked { - CSA + LSA Qt::AlignCenter @@ -1572,7 +1573,7 @@ QPushButton:checked { - CSB + LSB Qt::AlignCenter @@ -1603,7 +1604,7 @@ QPushButton:checked { - CSC + LSC Qt::AlignCenter @@ -1634,7 +1635,7 @@ QPushButton:checked { - CSD + LSD Qt::AlignCenter @@ -1665,7 +1666,7 @@ QPushButton:checked { - CSE + LSE Qt::AlignCenter @@ -1696,7 +1697,7 @@ QPushButton:checked { - CSF + LSF Qt::AlignCenter @@ -1727,7 +1728,7 @@ QPushButton:checked { - CSG + LSG Qt::AlignCenter @@ -1758,7 +1759,7 @@ QPushButton:checked { - CSH + LSH Qt::AlignCenter @@ -1789,7 +1790,7 @@ QPushButton:checked { - CSI + LSI Qt::AlignCenter @@ -1820,7 +1821,7 @@ QPushButton:checked { - CSJ + LSJ Qt::AlignCenter @@ -1851,7 +1852,7 @@ QPushButton:checked { - CSK + LSK Qt::AlignCenter @@ -1882,7 +1883,7 @@ QPushButton:checked { - CSL + LSL Qt::AlignCenter @@ -1913,7 +1914,7 @@ QPushButton:checked { - CSM + LSM Qt::AlignCenter @@ -1944,7 +1945,7 @@ QPushButton:checked { - CSN + LSN Qt::AlignCenter @@ -1975,7 +1976,7 @@ QPushButton:checked { - CSO + LSO Qt::AlignCenter @@ -2006,7 +2007,7 @@ QPushButton:checked { - CSP + LSP Qt::AlignCenter @@ -2037,7 +2038,7 @@ QPushButton:checked { - CSQ + LSQ Qt::AlignCenter @@ -2068,7 +2069,7 @@ QPushButton:checked { - CSR + LSR Qt::AlignCenter @@ -2099,7 +2100,7 @@ QPushButton:checked { - CSS + LSS Qt::AlignCenter @@ -2130,7 +2131,7 @@ QPushButton:checked { - CST + LST Qt::AlignCenter @@ -2161,7 +2162,7 @@ QPushButton:checked { - CSU + LSU Qt::AlignCenter @@ -2192,7 +2193,7 @@ QPushButton:checked { - CSV + LSV Qt::AlignCenter @@ -2223,7 +2224,7 @@ QPushButton:checked { - CSW + LSW Qt::AlignCenter @@ -3052,6 +3053,7 @@ border-radius: 4px; 0 + 50 diff --git a/companion/src/translations/companion_cs.ts b/companion/src/translations/companion_cs.ts index d656507aa..70e5b77ce 100644 --- a/companion/src/translations/companion_cs.ts +++ b/companion/src/translations/companion_cs.ts @@ -1,10 +1,379 @@ + + Channels + + + Name + Název + + + + Offset + + + + + Min + + + + + Max + + + + + Invert + Invertovat + + + + Center + Střed + + + + Sym + Symetrický + + + + Channel %1 + + + + + --- + + + + + INV + + + + + CurveGroup + + + Diff + Dif + + + + Expo + Expo + + + + Func + + + + + Curve + Křivka + + + + Curves + + + Form + + + + + Standard + Běžný + + + + Custom + Vlastní + + + + Lines + + + + + Smooth + + + + + Curve type + Typ křivky + + + + Curve name + Název křivky + + + + Curve %1 + + + + + %1 points + + + + + Are you sure you want to reset curve %1 ? + + + + + Editing curve %1 + Upravit křivku k%1 + + + + Not enough free points in EEPROM to store the curve. + + + + + CustomFunctionsPanel + + + Switch + Spínač + + + + Action + + + + + Parameters + + + + + Enable + + + + + ON + ZAPNUTO + + + + Error + Chyba + + + + Unable to find sound file %1! + Nemohu nalézt zvukový soubor %1! + + + + &Delete + &Odstranit + + + + Delete + + + + + &Copy + &Kopírovat + + + + Ctrl+C + + + + + &Cut + &Vyjmout + + + + Ctrl+X + + + + + &Paste + &Vložit + + + + Ctrl+V + + + + + CustomSwitchesPanel + + + Condition + Podmínka + + + + V1 + + + + + V2 + + + + + AND + + + + + Duration + Trvání + + + + Delay + Zpoždění + + + + + LS%1 + + + + + &Delete + &Odstranit + + + + Delete + + + + + &Copy + &Kopírovat + + + + Ctrl+C + + + + + &Cut + &Vyjmout + + + + Ctrl+X + + + + + &Paste + &Vložit + + + + Ctrl+V + + + + + Dialog + + + Dialog + + + + + Curve type + Typ křivky + + + + Coefficient + Koeficient + + + + Both + Obě + + + + x>0 + + + + + x<0 + + + + + Y at X=0 + Y na X=0 + + + + Side + Strana + + + + Y at X=-100 + Y na X=-100 + + + + Y at X=100 + Y na X=100 + + + + Linear + Lineární + + + + Single Expo + Expo + + + + Symmetrical f(x)=-f(-x) + Symetrická f(x)=-f(-x) + + + + Symmetrical f(x)=f(-x) + Symetrická f(x)=f(-x) + + ExpoDialog - + Weight Váha @@ -25,30 +394,22 @@ p, li { white-space: pre-wrap; } Strana křivky - + Curve Křivka - Switch used by the expo. If blank then the expo is considered to be "ON" all the time. - Spínač aktivující DR/Expo. Pokud je nepoužit, je vždy "ZAPNUTO". + Spínač aktivující DR/Expo. Pokud je nepoužit, je vždy "ZAPNUTO". The value of the weight Hodnota váhy funkce - - Phase used by the expo. - Režim ve které je DR/Expo aktivní. - - - - Expo - + Režim ve které je DR/Expo aktivní. Phases @@ -56,74 +417,153 @@ If blank then the expo is considered to be "ON" all the time. Fáze - - - + + The source for the mixer + Zdroj pro mix + + + + Input name + + + + + GV GP - + + Phase used by the input. + + + + Flight modes Letové režimy - + 0 - + 1 - + 2 - + 3 - + 4 - + 5 - + 6 - + 7 - + 8 - + Switch Spínač - - Curve/Exponential - Křivka/Expo + + Switch used by the input. +If blank then the input is considered to be "ON" all the time. + - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Delay ans Slow</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These values control the speed and delay of the output of the mix. </p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Zpoždění a zpomalení</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Tyto volby nastavují rychlost a zpoždění výstupu mixu. </p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Pokud je nastaveno zpoždění, ovládání mixu bude zpoždéno o uvedený počet sekund.</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Pokud je nastaveno zpomalení, nastavená hodnota udává rychlost mixu -&gt; hodnota udává počet sekund které trvá změna hodnoty z -100 na 100.</p></body></html> + + + + Scale + Rozsah + + + + Include Trim + Použít trim + + + + No + + + + + Yes + Ano + + + + The curve used by the input + + + + + Source + Zdroj + + + + Line name + + + + Curve/Exponential + Křivka/Expo + + + Stick Side Strana páky @@ -132,34 +572,148 @@ If blank then the expo is considered to be "ON" all the time. Křivka použitá mixem - + NEG x<0(Negativní) - + POS x>0(Pozitivní) - + ALL Obě - The curve used by the expo - Křivka použitá pro expo + Křivka použitá pro expo - Name - Název + Název - - DEST -> %1 - + + Edit %1 + + + + + Rud + Směrovka + + + + Ele + Výškovka + + + + Thr + + + + + Ail + Křidélka + + + + FlightMode + + + Form + + + + + Fade In + Přechod při aktivaci + + + + Fade Out + Přechod při deaktivaci + + + + Name + Název + + + + Switch + Spínač + + + + trim1 + + + + + trim2 + + + + + trim4 + + + + + trim3 + + + + + Rud + Směrovka + + + + Ele + Výškovka + + + + Thr + + + + + Ail + Křidélka + + + + Rotary Encoder %1 + + + + + GVAR%1 + + + + + FlightModes + + + Flight Mode %1 + + + + + (%1) + + + + + (default) + @@ -192,27 +746,27 @@ Tyto volby jsou platné pro všechny modely v jedné EEPROM. Nastevní - + Timer Beeps Upozornění stopek - + Contrast Kontrast - + Channel Order (For Templates) Pořadí kanálů (pro šablony) - + Owner Name Jméno pilota - + Mode selection: Mode 1: @@ -253,45 +807,45 @@ Mode 4: - + Mode 1 (RUD ELE THR AIL) Mód1 (Směr.Výšk.Plyn.Křid) - + Mode 2 (RUD THR ELE AIL) Mód2 (Směr.Plyn.Výšk.Křid) - + Mode 3 (AIL ELE THR RUD) Mód3 (Křid.Výšk.Plyn.Směr) - + Mode 4 (AIL THR ELE RUD) Mód4 (Křid.Plyn.Výšk.Směr) - - + + Quiet Tichý - + Only Alarms Jen alarm - - + + No Keys Bez kláves - - + + All Vše @@ -301,47 +855,47 @@ Mode 4: - + 4800 Baud - + 9600 Baud - + 14400 Baud - + 19200 Baud - + 38400 Baud - + 57600 Baud - + 76800 Baud - + 115200 Baud - + <!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; } @@ -350,22 +904,22 @@ p, li { white-space: pre-wrap; } - + Every Minute Každou celou minutu - + Beeps at 30, 15, 10, and down from5 seconds Upozorní při 30s, 15s, 10s, a pod 5 sekundami zbývajícího času stopek - + Count Down to Zero Odpočet do nuly - + <!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; } @@ -374,18 +928,18 @@ p, li { white-space: pre-wrap; } - + Flash on beep Blikat podsvětlením - + If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. Pokud tato hodnota není nula, každé stisknutí klávesy zapne podsvétlení a vypne ho až po uplynutí nastaveného počtu sekund. - - + + sec s @@ -394,32 +948,33 @@ p, li { white-space: pre-wrap; } Auto. vypnutí podsvětlení po - + Input Filter Filtrování vstupů - Reverse throttle operation. If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. - Obrácení funkce plynu. + Obrácení funkce plynu. Pokud je zaškrtnuto,funkce plynu bude opačná. Poloha vypnuto bude nahoře. Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. - + + + - - - - - - + + + + + + Beeper volume 0 - Quiet. No beeps at all. @@ -436,17 +991,16 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. 4 - Extra Hlasitý. - + Alarms Only Jen alarmy - - - - - - + + + + + <!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; } @@ -461,32 +1015,29 @@ p, li { white-space: pre-wrap; } - + Beeper Mode Mód zvuku - + - - - + + Off Vypnuto - Switches Up - Spínače nahoru + Spínače nahoru - Switches Down - Spínače dolů + Spínače dolů - - + + <!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; } @@ -496,42 +1047,42 @@ p, li { white-space: pre-wrap; } - + Memory Startup Warning Při zapnutí upozorňit na nízký stav paměti - - + + X-Short Extra krátký - - + + Short Krátký - - + + Normal Normální - - + + Long Dlouhý - - + + X-Long Extra dlouhý - + Battery warning voltage. This is the threashhold where the battery warning sounds. @@ -540,165 +1091,164 @@ Acceptable values are 5v..10v Použitelné hodnoty jsou 5v..10v - + Battery Warning Alarm baterie - + THR - + RUD - + ELE - + AIL - + GEA - + ID0 - + ID1 - + ID2 - + Sound Mode Mód zvuku - Reverse Throttle Operation - Reverzovat funkci plynu + Reverzovat funkci plynu - + Pot Scrolling Enable Pohyb v menu potenciometry - + Battery Calibration Kalibrace měření baterie - + If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes. Pokud není nastaveno na nulu, bude zapnuto zvukové upozornění, že jste rádio nechali bez povšimnutí nastavený počet minut. - + min - - + + Show splash screen on startup Zobrazit úvodní logo při zapnutí vysílčky - + Battery calibration: This value will be added to the measured battery voltage. Use this value to calibrate the meter with an external meter. Kalibrace baterie: Tato hodnota bude přidána k měřenému napětí baterie. Použijte tuto položku ke kalibraci pomocí externího voltmetru. - + Single Jednoduché - + Oversample Převzorkování - + Filter Filtovaná hodnota - + Show Splash Screen on Startup Zobrazit úvodní logo - + Inactivity Timer Časovač nečinnosti - + Beeper Bzučák - + Speaker Reproduktor - + BeeperVoice Bzučák+Hlas - + SpeakerVoice Repro+Hlas - + Beeper Length Délka zvuku - + GPS Coordinates Souřadnice GPS - + hh° (N/S) mm' ss''.dd - + NMEA - + Timeshift from UTC Časový posun od UTC - + Channel order This is used by the templated to determine which channel goes to what number output. @@ -708,17 +1258,17 @@ Toto je použito šablonami k určení který kanál patří ke kterému výstupu. - + Speaker Pitch (spkr only) Tón zvuku (pouze spkr) - + Haptic Mode Mód vibrací - + Stick Mode Výchozí mód vysílačky @@ -727,22 +1277,20 @@ který kanál patří ke kterému výstupu. Spínač podsvětlení - Throttle Startup Warning - Kontrola výchozí polohy plynu + Kontrola výchozí polohy plynu - + Show Owner Name on Splash Jméno pilota v úvodním logu - Switch Startup Warning - Kontrola výchozí polohy spínačů + Kontrola výchozí polohy spínačů - + Telemetry NO DATA Alarm Alarm telemetrie NO DATA @@ -751,129 +1299,129 @@ který kanál patří ke kterému výstupu. Podsvětlení při pohybu kniplu - + LCD Display Type Typ LCD zobrazovače - + Standard Běžný - + Optrex - + This is the switch selectrion for turning on the backlight (if installed). Toto je volba spínače který zapne podsvětlení (pokud je nainstalováno). - + Speaker Volume Hlasitost reproduktoru - + Haptic Length Délka vibrací - + Haptic Strength Síla vibrací - + BackLight Brightness Jas podsvětlení - + Alarm Warning Upozornění na vypnutý alarm - + BackLight Auto OFF after Auto. vypnutí podsvětlení po - + Bandgap Measuring Enable Povolit měření s Bandgap - + RotEnc Navigation Navigace otočným enkodérem - + BackLight Switch Spínač podsvětlení - + BackLight On Stick Move Podsvětlení při pohybu kniplu - + BackLight Invert Invertovat funkci podsvětlení - + Country Code Kód země - + Europe Evropa - + Japan Japonsko - + America Amerika - + Metric Metrické - + Imperial Imperiální - + Measurement Units Měrné jednotky - + FrSky Internal Alarm Integrovaný alarm Frsky - + StickScroll StickScroll-ovládání menu pákou - + PPMSim @@ -883,113 +1431,113 @@ který kanál patří ke kterému výstupu. Jazyk hlasových zpráv - + CrossTrim CrossTrim -použít trimy druhé páky - + Beep volume Upozornění - + Wav volume Wav soubor - + Vario volume Vario - + Background volume Zvuk v pozadí - + FAI Mode FAI mód - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. FAI je soutéžní mód (www.fai.org), zablokuje vario, zobrazení telemetrie a funkce hlasového hlášení. Tuto funkci nelze vypnout v menu rádia. - + Readonly Unlock - + SC - + SE - + SA - + SF - + SH - + SD - + SB - + SG - + Trainer Trenér - + Mode Mód - + Input Vstup - + Weight Váha - + Switch Spínač - - + + PPM 1 @@ -1002,200 +1550,222 @@ který kanál patří ke kterému výstupu. := (nahradit) + - - - + + chn1 kanál 1 + - - - + + chn2 kanál 2 + - - - + + chn3 kanál 3 + - - - + + chn4 kanál 4 - - + + PPM 2 - - + + PPM 3 - - + + PPM 4 - + Telemetry Telemetrie - + RSSI Alarm 1 - - + + ---- - - + + Yellow Žlutá - - + + Orange Oranžová - - + + Red Červená - + RSSI Alarm 2 - + NO DATA Alarm - + Calibration Kalibrace - + POT 4 POTENCIOMETR 4 - + STICK 3 PÁKA 3 - - + + Negative span Negativní poloha - - + + Mid value Hodnota střední polohy - - + + Positive span Pozitivní poloha - + STICK 1 PÁKA 1 - + STICK 2 PÁKA 2 - + STICK 4 PÁKA 4 - + + + Pot (normal) + + + + + + Multipos Switch + + + + + S1 Type + + + + + S2 Type + + + + POT 1 POTENCIOMETR 1 - + POT 2 POTENCIOMETR 2 - + POT 3 POTENCIOMETR 3 + - - - + + += (Sum) += (Sečíst) + - - - + + := (Replace) := (Nahradit) - + Battery Baterie - + 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 ? @@ -1205,32 +1775,242 @@ 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. + + Heli + + + Form + + + + + Invert Elevator + Invertovat výškovku + + + + Invert Aileron + Invertovat křidélka + + + + Invert Collective + Invertovat kolektiv + + + + Invert + Invertovat + + + + Off + + + + + 120 + CH120 + + + + 120X + CH120X + + + + 140 + CH140 + + + + 90 + CH90 + + + + Collective + Kolektiv + + + + Swash Type + Typ cykliky + + + + Swash Ring + Cyklika + + + + InputsPanel + + + + Move Up + Posunout nahoru + + + + + Ctrl+Up + + + + + + Move Down + Posunout dolů + + + + + Ctrl+Down + + + + + Clear All Settings + + + + + Source(%1) + + + + + No Trim + Žádný trim + + + + Weight(%1) + + + + + Switch(%1) + + + + + Not enough available inputs! + + + + + Delete Selected Inputs? + + + + + &Add + &Přidat + + + + Ctrl+A + + + + + &Edit + + + + + Enter + + + + + &Delete + &Odstranit + + + + Delete + + + + + &Copy + &Kopírovat + + + + Ctrl+C + + + + + &Cut + &Vyjmout + + + + Ctrl+X + + + + + &Paste + &Vložit + + + + Ctrl+V + + + + + Du&plicate + &Duplikovat + + + + Ctrl+U + + + + + Clear Inputs? + + + + + Really clear all the inputs? + + + MainWindow @@ -1238,29 +2018,29 @@ Opravdu to takto chcete ? companion9x - EEPROM Editor - firmware %1 - - - - + + + + File loaded Soubor byl načten - + Display previous warning again at startup ? Chcete zobrazit předchozí upozornění i příště ? - + Checking for updates Kontroluji aktualizace - - - - - + + + + + Unable to check for updates. Nelze ověřit aktualizace. @@ -1269,21 +2049,21 @@ Opravdu to takto chcete ? Je dostupná nová verze companion9x (verze %1)<br>Chcete ji stáhnout nyní? - - - - - + + + + + Save As Uložit jako - + Executable (*.exe) Spustitelný (*.exe) - + New release available Je dostupné nové vydání @@ -1292,39 +2072,39 @@ Opravdu to takto chcete ? Je dostupné nové vydání companion9x, prosím zkontrolujte repozitář - - + + No updates available at this time. žádné aktualizace nejsou nyní dostupné. - + Would you like to launch the installer? Chcete spustit instalátor? - - - - - - - - + + + + + + + + + + + + - - - - Error Chyba - - - - - + + + + + Error opening file %1: %2. Chyba při otevírání souboru %1: @@ -1335,7 +2115,7 @@ Opravdu to takto chcete ? S těmito volbami se Firmware nevejde do paměti FLASH rádia. Je třeba některé funkce vypnout. Vhodné je zejména vypnout podporu loga zaškrtnutím "nosplash", to ušetří značné místo - + Compilation server termporary failure, try later Server companion je dočasně nedostupný, zkuste to později @@ -1344,7 +2124,7 @@ Opravdu to takto chcete ? companion9x - EEPROM Editor - firmware %1 - profil %2 - + Display previous message again at startup ? Chcete zobrazit předchozí zprávu i příště ? @@ -1353,13 +2133,13 @@ Opravdu to takto chcete ? Firmware s těmito vybranými součástmi, se již nevejde do paměti FLASH rádia - + Compilation server temporary failure, try later Dočasná chyba kompilačního serveru, zkuste to prosím později znovu. - - + + Compilation server too busy, try later Server companion je zaneprázdněn, zkuste to později @@ -1368,8 +2148,8 @@ Opravdu to takto chcete ? Kompilační server vyžaduje registraci. Více najdete na webu opentx. - - + + Unknown server failure, try later Neznámá chyba serveru, zkuste to později @@ -1378,7 +2158,7 @@ Opravdu to takto chcete ? Chcete nyní zapsat firmware do rádia ? - + Firmware %1 does not seem to have ever been downloaded. Version %2 is available. Do you want to download it now ? @@ -1387,31 +2167,31 @@ Verze %2 je dostupná. Chcete ho nyní stáhnout ? - - + + Yes Ano - - + + No Ne - - + + Release Notes Poznámky k vydání - - + + Do you want to download release %1 now ? Chcete nyní stáhnout vydání %1 ? - + A new version of %1 firmware is available (current %2 - newer %3). Do you want to download it now ? Nová verze firmware %1 je dostupná. @@ -1419,57 +2199,57 @@ Do you want to download it now ? Chcete ji stáhnout nyní ? - + Ignore this version (r%1)? Ignorovat tuto verzi (r%1)? - + Release notes contain very important informations. Do you want to see them now ? Poznámky k vydání mohou obsahovat důležité informace. Chcete si je přečíst nyní ? - + Open Otevřít - - + + File saved Soubor byl uložen - + Firmware updates Aktualizace firmwaru - + Current firmware does not provide release notes informations. K tomuto firmwaru nejsou poznámky k vydání. - + Cannot write file %1: %2. Nelze zapsat soubor %1: %2. - - - - - + + + + + Taranis radio not found Radio Taranis nenalezeno - - - - + + + + Impossible to identify the radio on your system, please verify the eeprom disk is connected. Nebylo možné identifikovat rádio ve vašem systému, zkontrolujte zda je eeprom disk připojen. @@ -1490,16 +2270,16 @@ nebyl rozpoznán jako platná EEPROM Chcete ji přesto naprogramovat? - - - + + + 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 @@ -1512,8 +2292,8 @@ Chcete ji přesto naprogramovat? Nelze ověřit kompatibilitu EEprom! Mám přesto pokračovat? - - + + Warning Varování @@ -1534,7 +2314,7 @@ Chcete ji přesto naprogramovat? Zapsat do paměti FLASH rádia - + Conversion failed Porovnání selhalo @@ -1547,7 +2327,7 @@ Chcete ji přesto naprogramovat? Zapsat EEPROM do rádia - + Restore failed Zápis selhal @@ -1564,7 +2344,7 @@ Chcete ji přesto naprogramovat? Nemohu naprogramovat rádio, původní EEPROM najdete zde: %1 - + Backup failed Zálohování selhalo @@ -1589,66 +2369,61 @@ Chcete ji přesto naprogramovat? companion9x - Editor nastavení rádia a modelů - %1 - + Do you want to write the firmware to the transmitter now ? Chcete zapsat firmware do rádia nyní ? - - - - + + + + Read Models and Settings From Tx Načíst modely a nastavení z rádia - + Firmware does not longer fit in the Tx, due to selected firmware options Firmware s těmito vybranými součástmi, se již nevejde do rádia - - - + + + Companion - Models and Settings Editor - %1 - profile %2 - - - - + + + + Companion - Models and Settings Editor - %1 - + A new version of Companion is available (version %1)<br>Would you like to download it? - - A new release of Companion is available please check the repository - - - - - + + Compilation server requires registration, please check OpenTX web site - + Firmware does not fit in the Tx, due to selected firmware options Firmware s těmito vybranými součástmi, se již nevejde do rádia - + Write Models and settings from %1 to the Tx? Zapsat modely a nastavení z %1 do rádia? - + The file %1 has not been recognized as a valid Models and Settings file Write anyway ? @@ -1657,203 +2432,194 @@ neobsahuje platná data modelů a nastavení Chcete ho přesto zapsat ? - - - - - - + + + + + + Backup Models and Settings From Tx Zálohovat modely a nastavení z rádia - + Cannot check Models and Settings compatibility! Continue anyway? Nelze ověřit kompatibilitu dat modelů a nastavení! Chcete přesto pokračovat? - + The transmitter firmware belongs to another product family, check file and preferences! Firmware patří do jiné produktové rodiny, zkontrolujte nastavení předvoleb! - + The transmitter firmware is outdated, please upgrade! Firmware rádia je zastaralý, aktualizujte ho prosím! - + Write Models and Settings To Tx Zapsat modely a nastavení do rádia - - + + Write Firmware To Tx Zapsat firmware do rádia - + 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 - + Restore Models and Settings To Tx Obnovit modely a nastavení do rádia - + Could not restore Models and Settings to TX. The models and settings data file can be found at: %1 Nelze obnovit modely a nastavení do rádia. Soubor s modely a nastavením najdete v: %1 - + Firmware write failed Zápis firmware selhal - + Could not write firmware to to transmitter. The models and settings data file can be found at: %1 Nelze zapsat firmware do rádio. Data modelů a nastavení najdete v: %1 - + Cannot backup existing Models and Settings from TX. Firmware write process aborted Nemohu zálohovat stávající modely a nastavení z rádia. Zápis firmware byl přerušen - + Save transmitter Models and Settings to File Uložit modely a nastavení do souboru - + Impossible to identify the radio on your system, please verify that the eeprom disk is connected. Nebylo možné identifikovat rádio ve vašem systému, zkontrolujte zda je eeprom disk připojen. - + Read Tx Firmware to File Načíst firmware z rádia a uložit do souboru - + Copyright - Version %1 (revision %2), %3 - Verze %1 (revize %2), %3 + Verze %1 (revize %2), %3 The companion9x project was originally forked from eePe Projekt companion9x vznikl oddělením z eePe - If you've found this program useful, please support by - Pokud vám byl tento program užitečný, podpořte jej + Pokud vám byl tento program užitečný, podpořte jej - donating - darem + darem About companion9x O aplikaci Companion9x - - - + + &%1 %2 - - %1 %2 - - - - + &New &Nový - + Create a new file Vytvořit nový soubor - + &Open... &Otevřít... - + Open an existing file Otevřít existující soubor - + &loadBackup... &Načíst zálohu... - + Load backup from file Načíst zálohu ze souboru - + &Save &Uložit - + Save the document to disk Uložit dokument na disk - + Save &As... Uložit j&ako... - + Save the document under a new name Uložit dokument s novým jménem - + Lo&gs Lo&gy - + Ctrl+G - + Open log file Otevřít soubor s logy - + &Preferences... &Předvolby... - + Edit general preferences Nastavení obecných předvoleb - + &Check for updates... &Zkontrolovat aktualizace... @@ -1862,7 +2628,7 @@ Chcete ho přesto zapsat ? Zkontolovat dostupnost nové verze companion9x/er9x - + Contributors &List... &Seznam přispěvatelů... @@ -1871,7 +2637,7 @@ Chcete ho přesto zapsat ? Zobrazit seznam přispěvatelů companion9x - + ChangeLog... Změny... @@ -1880,183 +2646,203 @@ Chcete ho přesto zapsat ? Zobrazit změny ve verzích companion9x - - The Companion project was originally forked from eePe + + A new release of Companion is available please check the OpenTX website! - + + OpenTX Home Page: <a href='%1'>%1</a> + + + + + The OpenTX Companion project was originally forked from <a href='%2'>eePe</a> + + + + + If you've found this program useful, please support by <a href='%1'>donating</a> + + + + + Version %1, %3 + + + + About Companion - + Check for new version of Companion - + Show Companion contributors list - + Show Companion changelog - + Firmware ChangeLog... Změny firmware... - + Show firmware changelog Zobrazit změny ve firmware - + Compare... Porovnat... - + Compare models Porovnat modely - + Customize your &TX... &Přizpůsobení loga... - + Customize the splash screen of your TX Přizpůsobení úvodního logo vašeho rádia - + E&xit U&končit - + Exit the application Ukončit aplikaci companion9x - + Cu&t &Vyjmout - + Cut the current selection's contents to the clipboard Vyjmout aktuální výběr a uložit do schránky - + &Copy &Kopírovat - + Copy the current selection's contents to the clipboard Kopírovat aktuální výběr do schránky - + &Paste &Vložit - + Paste the clipboard's contents into the current selection Vložit obsah schránky na aktuální pozici - + &Write Models and Settings To Tx &Zapsat modely a nastavení do rádia - + Write Models and Settings to transmitter Zapsat modely a nastavení do rádia - + &Read Models and Settings From Tx &Načíst modely a nastavení z rádia - + Read Models and Settings from transmitter Načíst modely a nastavení z rádia - + Write Firmware Zapsat firmware - + Write firmware to transmitter Zapsat firmware do rádia - + Write Models and Settings from file to Tx Zapsat modely a nastavení ze souboru do rádia - + Write Models and Settings from file to transmitter Zapsat modely a nastavení ze souboru do rádia - + Save transmitter Models and Settings to file Uložit modely a nastavení z rádia do souboru - + Save the Models and Settings from the transmitter to a file Uložit modely a nastavení z rádia do souboru - + Read Firmware Načíst firmware - + Read firmware from transmitter Načíst firmware z rádia - + Configure software for reading from and writing to the transmitter Nastavení softwaru pro čtení a zápis do rádia - + &Read/Write Čtení/&Zápis - + Write Zápis - - + + 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 @@ -2065,7 +2851,7 @@ Chcete ho přesto zapsat ? &Zapsat do EEPROM rádia - + Ctrl+Alt+W @@ -2078,7 +2864,7 @@ Chcete ho přesto zapsat ? &Načíst EEPROM z rádia - + Ctrl+Alt+R @@ -2119,7 +2905,7 @@ Chcete ho přesto zapsat ? Načíst paměť FLASH z rádia - + &Configure... &Konfigurace... @@ -2128,154 +2914,140 @@ Chcete ho přesto zapsat ? Konfigurace programátoru - + &List programmers &Seznam programátorů - + List available programmers Seznam použitelných programátorů - + &Fuses... Pojistky &mikrokontroléru... - + Show fuses dialog Zobrazit dialog nastavení pojistek mikrokontroléru - + &Simulate &Simulátor - + Alt+S - + Simulate selected model. Simulovat vybraný model. - + &Print &Tisk - + Ctrl+P - + Print current model. Vytisknout aktuální model. - Cl&ose - &Zavřít + &Zavřít - Close the active window - Zavřít aktivní okno + Zavřít aktivní okno - Close &All - Zavřít &Vše + Zavřít &Vše - Close all the windows - Zavřít všechna okna + Zavřít všechna okna - &Tile - D&laždice + D&laždice + + + Tile the windows + Uspořádat okna jako dlaždice + + + &Cascade + &Kaskáda + + + Cascade the windows + Uspořádat okna do kaskády + + + Ne&xt + &Další + + + Move the focus to the next window + Aktivovat následující okno + + + Pre&vious + &Předchozí + + + Move the focus to the previous window + Aktivovat předchozí okno - Tile the windows - Uspořádat okna jako dlaždice - - - - &Cascade - &Kaskáda - - - - Cascade the windows - Uspořádat okna do kaskády - - - - Ne&xt - &Další - - - - Move the focus to the next window - Aktivovat následující okno - - - - Pre&vious - &Předchozí - - - - Move the focus to the previous window - Aktivovat předchozí okno - - - &About &O aplikaci - + Show the application's About box O aplikaci companion9x - Switch layout direction - Přepnout styl panelu + Přepnout styl panelu - Switch layout Left/Right - Přepnout styl rozložení panelu vlevo/vpravo + Přepnout styl rozložení panelu vlevo/vpravo - - + + Recent Files Nedávné soubory - - + + Firmware Profiles Profily firmwaru - + &File &Soubor - + &Edit &Úpravy @@ -2284,22 +3056,21 @@ Chcete ho přesto zapsat ? &Programátor - &Window - &Okno + &Okno - + &Help &Nápověda - + File Soubor - + Edit Úpravy @@ -2308,17 +3079,17 @@ Chcete ho přesto zapsat ? Programátor - + Help Nápověda - + Ready Připraven - + Unable to find file %1! Nemohu nalézt soubor %1! @@ -2327,7 +3098,7 @@ Chcete ho přesto zapsat ? Neplatný soubor EEPROM %1 - + Error reading file %1: %2. Chyba při otevírání souboru %1: @@ -2346,187 +3117,187 @@ Chcete ho přesto zapsat ? volné[B] - + Editing model %1: Editace modelu %1: - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + 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. - + Do you want to use model wizard? Chcete použít průvodce nastavením modelu? - - - + + + Companion - + Ask this question again ? Zobrazovat tento dotaz i příště? - + %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! - - - + + + Taranis radio not found Radio Taranis nenalezeno - - - + + + Impossible to identify the radio on your system, please verify the eeprom disk is connected. Nebylo možné identifikovat rádio ve vašem systému, zkontrolujte zda je eeprom disk připojen. - - - + + + Backup EEPROM From Tx Zálohovat EEPROM z rádia - + 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! - + Write EEPROM To Tx Zápis EEPROM do TX - + Open Otevřít - + Invalid binary backup File %1 Neplatný binární soubor zálohy %1 @@ -2534,25 +3305,25 @@ Chcete ho uložit? MixerDialog - + Dialog - + Source Zdroj - - - - + + + + The source for the mixer Zdroj pro mix - + Weight Váha @@ -2561,10 +3332,7 @@ Chcete ho uložit? Hodnota mixu násobena touto hodnotou a dělena 100. - - - - + Offset Ofset @@ -2581,39 +3349,38 @@ 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;">Tato hodnota je přidána do <span style=" font-weight:600;">vstupu </span>mixeru.</p></body></html> - + Include Trim Použít trim - - - + + + GV GP - + No Ne - + Yes Ano - Enable FM Trim - Povolit FM trim + Povolit FM trim - + Curve Křivka - + The curve used by the mix Křivka použitá pro mix @@ -2622,70 +3389,68 @@ p, li { white-space: pre-wrap; } Fáze - + Switch used by the mix. If blank then the mix is considered to be "ON" all the time. Spínač aktivující mix. Pokud není uveden je mix aktivní pořád. - Curve/Differential - Křivka/Diferenciace + Křivka/Diferenciace Phases Fáze - + Switch Spínač - + Warning Varování - Fix Offset - Kompenzovat Offset + Kompenzovat Offset - + Mixer warning. Setting this value will cause a beep to be emmitted when this value is active. Zvukové upozornění mixu. Pokud je tato volba aktivní bude na aktivaci mixu upozorněno zvukovým signálem. - + OFF Vypnuto - + 1 Beep 1x pípnutí - + 2 Beep 2x pípnutí - + 3 Beep 3x pípnutí - + Multiplex Matematická operace - + Multiplexer This determines how mixer values are added. @@ -2702,17 +3467,17 @@ Toto určuje, jak bude hodnota mixu přidána. "R" znamená že hodnota nahradí předchozí hodnoty. Pokud je spínač vypnutý hodnota bude ignorována. - + ADD Sečíst - + MULTIPLY Násobit - + REPLACE Zaměnit @@ -2721,90 +3486,90 @@ Toto určuje, jak bude hodnota mixu přidána. Diferenciace výchylek - + Name Název - + Flight modes Letové režimy - + Include DR/Expo Použít DR/Expo - + 0 - + 1 - + 2 - + 3 - + 4 - + 5 - + 6 - + 7 - + 8 - + Delay Zpoždění - + Slow Zpomalení - + Up Při zapnutí mixu / (+) - + Down Při vypnutí mixu / (-) - - - - + + + + <!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; } @@ -2829,604 +3594,446 @@ 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;">Pokud je nastaveno zpomalení, nastavená hodnota udává rychlost mixu -&gt; hodnota udává počet sekund které trvá změna hodnoty z -100 na 100.</p></body></html> - + DEST -> X%1 - + DEST -> CH%1%2 - - FM Trim Value - Hodnota FM trimu + Hodnota FM trimu - + Rud Směrovka - + Ele Výškovka - + Thr Plyn - + Ail Křidélka + + MixesPanel + + + + Move Up + Posunout nahoru + + + + + Ctrl+Up + + + + + + Move Down + Posunout dolů + + + + + Ctrl+Down + + + + + Clear Mixes + Vymazat všechny mixy + + + + + + X%1 + + + + + + + CH%1%2 + + + + + Weight(%1) + + + + + Switch(%1) + + + + + No Trim + Žádný trim + + + + No DR/Expo + Bez DR/Expo + + + + Offset(%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 + + + + + Enter + + + + + &Delete + &Odstranit + + + + Delete + + + + + &Copy + &Kopírovat + + + + Ctrl+C + + + + + &Cut + &Vyjmout + + + + Ctrl+X + + + + + &Paste + &Vložit + + + + Ctrl+V + + + + + Du&plicate + &Duplikovat + + + + Ctrl+U + + + + + Clear Mixes? + Vymazat mixy? + + + + Really clear all the mixes? + Opravdu vymazat všechny mixy? + + ModelEdit - + Dialog - + Simulate Simulace - + Setup Nastevní - - - + + Heli + + + + + Inputs + + + + + Logical Switches + + + + + Switch Assignment + + + mSec - ms + ms - - - - - - - ch - - - - - - usec - us + us - - - Protocol - Protokol + Protokol - - - PPM Frame Length - Délka PPM rámce + Délka PPM rámce - - - + Channels Počet kanálů - - - PPM delay - PPM zpoždění + PPM zpoždění - Trim Increment - Krok trimu + Krok trimu - - Throttle2Trig - - - - Throttle Expo - Expo plynu + Expo plynu - Extended Limits - Rozšířené limity (125%) + Rozšířené limity (125%) - - - Positive - Pozitivní + Pozitivní - - - Negative - Negativní + Negativní - Pulse Shift (polarity) - Řazení pulzů (polarita) + Řazení pulzů (polarita) - - Timer2 - - - - Disable Throttle Warning - Nevarovat při zapnutém plynu + Nevarovat při zapnutém plynu - Exponential - Exponenciální + Exponenciální - Extra Fine - Extra jemný + Extra jemný - Fine - Jemný + Jemný - Medium - Střední + Střední - Coarse - Hrubý + Hrubý - Switch startup Warning - Kontrola výchozí polohy spínačů + Kontrola výchozí polohy spínačů - - Instant Trim - - - - Center beep - Zvuk ve středové poloze + Zvuk ve středové poloze - Throttle Trim - Trim plynu + Trim plynu - Throttle Source Throttle Trace - Stopa plynu (pro spínání stopek) + Stopa plynu (pro spínání stopek) Trainer Trenér - - RX Number - Číslo přijímače + Číslo přijímače - - Timer1 - - - - - - - - - THR - - - - - P1 - - - - - P2 - - - - - P3 - - - - - - CH01 - - - - - - CH02 - - - - - - CH03 - - - - - - CH04 - - - - - - CH05 - - - - - - CH06 - - - - - - CH07 - - - - - - CH08 - - - - - - CH09 - - - - - - CH10 - - - - - - CH11 - - - - - - CH12 - - - - - - CH13 - - - - - - CH14 - - - - - - CH15 - - - - - - CH16 - - - - Extended Trims - Rozšířený rozsah trimů + Rozšířený rozsah trimů - - - LP4/LP5 - - - - - DSM2only - Jen DSM2 + Jen DSM2 - - - DSM2/DSMX - - - - - DSM Type - Typ DSM + Typ DSM - Model Name - Název modelu + Název modelu - - REa - - - - - - - - - - - - - RUD - - - - - - - - - - - - - - - - ELE - - - - - - - - - - - - - - AIL - - - - - REb - - - - - 3POS - - - - - Check - Kontrola + Kontrola - - - ON - ZAPNUTO + ZAPNUTO - - OFF - VYPNUTO + VYPNUTO - - GEA - - - - - ID0 - - - - - ID1 - - - - - ID2 - - - - - - mm:ss - - - - - Count Down - Odečítat + Odečítat - - Count Up - Přičítat + Přičítat - - TriggerB - Spínač B + Spínač B - - - (00:00:00) - - - - Model Voice - Zvuková stopa + Zvuková stopa - - Failsafe Mode - Režim Failsafe + Režim Failsafe - - Hold - Držet hodnotu + Držet hodnotu - - Custom - Vlastní + Vlastní - - No Pulses - Žádné pulzy + Žádné pulzy - - Heli Setup - Heli + Heli - Swash Type - Typ cykliky + Typ cykliky - - Off - VYPNUTO + VYPNUTO - - 120 - - - - - 120X - - - - - 140 - - - - - 90 - - - - Collective - Kolektiv + Kolektiv - Swash Ring - Cyklika + Cyklika - - - Invert - Invertovat + Invertovat - Invert Elevator - Invertovat výškovku + Invertovat výškovku - Invert Aileron - Invertovat křidélka + Invertovat křidélka - Invert Collective - Invertovat kolektiv + Invertovat kolektiv Phases @@ -3441,194 +4048,40 @@ p, li { white-space: pre-wrap; } Název - - - - - - - - - Fade In - Přechod při aktivaci + Přechod při aktivaci - - - - - - - - - Fade Out - Přechod při deaktivaci + Přechod při deaktivaci - - - - - - - - - - trim1 - - - - - - - - - - - - - trim2 - - - - - - - - - - - - - trim4 - - - - - - - - - - - - - trim3 - - - - - - - - - - - - GVAR1 - Glob.Proměnná GP1 + Glob.Proměnná GP1 - - - - - - - - - - Rotary encoder A - - - - - - - - - - - - GVAR2 - Glob.Proměnná GP2 + Glob.Proměnná GP2 - - - - - - - - - - Rotary encoder B - - - - - - - - - - - - GVAR3 - Glob.Proměnná GP3 + Glob.Proměnná GP3 - - - - - - - - - GVAR4 - Glob.Proměnná GP4 + Glob.Proměnná GP4 - - - - - - - - - GVAR5 - Glob.Proměnná GP5 + Glob.Proměnná GP5 FP 1 Fáze FP1 - - - - - - - - - - - - - Switch - Spínač + Spínač FP 2 @@ -3663,489 +4116,295 @@ p, li { white-space: pre-wrap; } DR/Expo - + Mixes Mixer - Limits - Limity + Limity NOR --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - INV - - - - - - Channel - Kanál + Kanál - - - Offset - Subtrim + Subtrim - ModelSetup - Nastavení modelu + Nastavení modelu - - Persistent - Ukládání + Ukládání - - MinuteBeep - Minuta + Minuta - - CountDownBeep - Odpočet - - - - SB - - - - - SD - - - - - SA - - - - - SC - - - - - SG - - - - - SE - - - - - SF - - - - - RS - + Odpočet Trainer mode Mód trenér - RF Module 1 - RF Modul 1 + RF Modul 1 - RF Module 2 - RF Modul 2 + RF Modul 2 - - Failsafe - - - - External module - Externí modul + Externí modul - Internal Module - Interní modul + Interní modul - + Flight Modes Letové režimy - Flight Mode 0 (Default) - Letový Režim 0 (Výchozí) + Letový Režim 0 (Výchozí) - - - - - - - - - Flight Mode Name - Název režimu + Název režimu - FM 1 - LR 1 + LR 1 - FM 2 - LR 2 + LR 2 - FM 3 - LR 3 + LR 3 - FM 4 - LR 4 + LR 4 - FM 5 - LR 5 + LR 5 - FM 6 - LR 6 + LR 6 - FM 7 - LR 7 + LR 7 - FM 8 - LR 8 + LR 8 - Show channels names in mixes - Zobrazit názvy kanálů v mixech - - - - - - - - Min - - - - - - - - - Max - + Zobrazit názvy kanálů v mixech PPM Center Střed PPM - - Sym - Symetrický + Symetrický - + Curves Křivky - Curve 1 - Křivka k1 + Křivka k1 - Curve 2 - Křivka k2 + Křivka k2 - Curve 3 - Křivka k3 + Křivka k3 - Curve 4 - Křivka k4 + Křivka k4 - Curve 5 - Křivka k5 + Křivka k5 - Curve 6 - Křivka k6 + Křivka k6 - Curve 7 - Křivka k7 + Křivka k7 - Curve 8 - Křivka k8 + Křivka k8 - Curve 9 - Křivka k9 + Křivka k9 - Curve 10 - Křivka k10 + Křivka k10 - Curve 11 - Křivka k11 + Křivka k11 - Curve 12 - Křivka k12 + Křivka k12 - Curve 13 - Křivka k13 + Křivka k13 - Curve 14 - Křivka k14 + Křivka k14 - Curve 15 - Křivka k15 + Křivka k15 - - Center - Střed + Střed - Curve 16 - Křivka k16 + Křivka k16 - - Curve type - Typ křivky + Typ křivky - 3 points - 3 body + 3 body - 3 points custom - 3 vlastní body + 3 vlastní body - 5 points - 5 bodů + 5 bodů - 5 points custom - 5 vlastních bodů + 5 vlastních bodů - 9 points - 9 bodů + 9 bodů - 9 points custom - 9 vlastních bodů + 9 vlastních bodů - 17 points - 17 bodů + 17 bodů - 17 points custom - 17 vlastních bodů + 17 vlastních bodů - Curve name - Název křivky + Název křivky - Curve Creator - Kurvítko: + Kurvítko: - Y at X=100 - Y na X=100 + Y na X=100 - Both - Obě + Obě - - x>0 - - - - - x<0 - - - - Linear - Lineární + Lineární - Single Expo - Expo + Expo - Symmetrical f(x)=-f(-x) - Symetrická f(x)=-f(-x) + Symetrická f(x)=-f(-x) - Symmetrical f(x)=f(-x) - Symetrická f(x)=f(-x) + Symetrická f(x)=f(-x) - Apply - Použít + Použít - Side - Strana + Strana - Y at X=-100 - Y na X=-100 + Y na X=-100 - Y at X=0 - Y na X=0 + Y na X=0 - Coefficient - Koeficient + Koeficient - Clear All Curves - Smazat všechny křivky + Smazat všechny křivky - Custom switches - Virtuální spínače + Virtuální spínače - CS9 - VS9 + VS9 - - Duration - Trvání + Trvání CSwitchF @@ -4155,24 +4414,6 @@ p, li { white-space: pre-wrap; } CSwitchD VSD - - - - AND - - - - - - V2 - - - - - - V1 - - CSwitch6 VS6 @@ -4182,69 +4423,55 @@ p, li { white-space: pre-wrap; } VS9 - Model Image - Obrázek modelu + Obrázek modelu - Reverse Throttle Operation - Reverzovat funkci plynu + Reverzovat funkci plynu - Reverse throttle operation. If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. - Obrácení funkce plynu. + Obrácení funkce plynu. Pokud je zaškrtnuto,funkce plynu bude opačná. Poloha vypnuto bude nahoře. Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. - Master - Učitel + Učitel - Slave - Žák + Žák - Trainer Mode - Mód trenér + Mód trenér - Master/Trainer Port - Port učitel/žák + Port učitel/žák - - - Start - První kanál + První kanál - - Polarity - Polarita + Polarita - GVAR6 - Glob.Proměnná GP6 + Glob.Proměnná GP6 - GVAR7 - Glob.Proměnná GP7 + Glob.Proměnná GP7 CSwitch1 @@ -4275,12 +4502,8 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. VS5 - - - - Function - Funkce + Funkce CSwitch3 @@ -4303,10 +4526,8 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. VS4 - - Delay - Zpoždění + Zpoždění CSwitchT @@ -4373,134 +4594,78 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. VSW - Safety Switches - Bezpečnostní spínače + Bezpečnostní spínače - Value - Hodnota + Hodnota - Custom Functions Function switches - Funkce + Funkce - - Param - Parametr + Parametr - - Enable - Povolit + Povolit - + Telemetry Telemetrie - Serial Protocol - Sériový protokol + Sériový protokol - Volt source - Snímač napětí + Snímač napětí - Metric - Metrické + Metrické - Imperial - Imperiální + Imperiální - Current source - Snímač proudu + Snímač proudu - NONE - Žádný + Žádný - - - - - A1 - - - - - - - - A2 - - - - - - FAS - - - - None - Žádný + Žádný - FrSky Sensor Hub - FrSky Senzor Hub + FrSky Senzor Hub - CEL - Článek + Článek - 2 - 2 + 2 - - 3 - - - - - 4 - - - - Units - Jednotky + Jednotky - Blades - Počet listů vrtule - - - - Altimetry / Vario - + Počet listů vrtule Barometer V1 @@ -4511,461 +4676,260 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. Barometr V2 - Vario source - Vario senzor + Vario senzor - Vario limits - Rozsah varia + Rozsah varia - Use GPS as altitude source - Použít GPS jako senzor výšky + Použít GPS jako senzor výšky - Display altitude in toolbar - Zobrazit výšku v nástrojové liště + Zobrazit výšku v nástrojové liště - - Unit - Jednotky + Jednotky - - Max Value - Maximim + Maximim - - - Alarm 1 - - - - - - - - - - ---- - - - - - - - - - Yellow - Žlutá + Žlutá - - - - - - Orange - Oranžová + Oranžová - - - - - - Red - Červená + Červená - - - - - < - - - - - - - - > - - - - - - - Alarm 2 - - - - - Min Value - Minimum + Minimum - - Volts (V) - Volty (V) + Volty (V) - - Amps (A) - Ampéry (A) + Ampéry (A) - - Speed (m/s or ft/s) - Rychlost (m/s nebo ft/s) + Rychlost (m/s nebo ft/s) - - Raw (-) - Jednotky (-) + Jednotky (-) - - Speed (km/h or miles/h) - Rychlost (km/h nebo míle/h) + Rychlost (km/h nebo míle/h) - - Meters (m or ft) - Vzdálenost (m nebo ft) + Vzdálenost (m nebo ft) - - Temp (°) - Teplota (°) + Teplota (°) - - Fuel (%) - Palivo (%) + Palivo (%) - - mAmps (mA) - MiliAmpéry (mA) - - - - RSSI - - - - - Alarm 1 - + MiliAmpéry (mA) Telemetry Gauges Telemetrické ukazatele - - - Gauge 1 - Ukazatel 1 + Ukazatel 1 - - - Gauge 2 - Ukazatel 2 + Ukazatel 2 - - - Gauge 3 - Ukazatel 3 + Ukazatel 3 - - - Gauge 4 - Ukazatel 4 + Ukazatel 4 - - - Source - Zdroj + Zdroj - Sink Max Sunk Max - Klesání Max + Klesání Max - Climb Max Raise Max - Stoupání Max + Stoupání Max - Sink Min Sunk Min - Klesání Min + Klesání Min - Climb Min Raise Min - Stoupání Min + Stoupání Min - - - Gauge - Ukazatel + Ukazatel - Telemetry screen 1 - Panel telemetrie 1 + Panel telemetrie 1 - Sticks - Páky + Páky - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --- - - - - CSF - VSF + VSF - CSD - VSD + VSD - CS6 - VS6 + VS6 - CS1 - VS1 + VS1 - CS8 - VS8 + VS8 - CS7 - VS7 + VS7 - CSA - VSA + VSA - CSB - VSB + VSB - CSC - VSC + VSC - CS5 - VS5 + VS5 - CS3 - VS3 + VS3 - CS2 - VS2 + VS2 - CSE - VSE + VSE - CSG - VSG + VSG - CS4 - VS4 + VS4 - CST - VST + VST - CSM - VSM + VSM - CSP - VSP + VSP - CSH - VSH + VSH - CSO - VSO + VSO - CSN - VSN + VSN - CSQ - VSQ + VSQ - CSR - VSR + VSR - CSS - VSS + VSS - CSL - VSL + VSL - CSK - VSK + VSK - CSJ - VSJ + VSJ - CSI - VSI + VSI - CSU - VSU + VSU - CSV - VSV + VSV - CSW - VSW - - - - Alti - - - - - Alti+ - - - - - Vario - + VSW Center Max @@ -4976,1365 +4940,1356 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. Střed Min - - - Custom Screen Type - Typ panelu + Typ panelu - - - Nums - Hodnoty + Hodnoty - - - Bars - Ukazatele + Ukazatele - Telemetry screen 2 - Panel telemetrie 2 + Panel telemetrie 2 - Telemetry screen 3 - Panel telemetrie 3 + Panel telemetrie 3 - Templates - Šablony + Šablony - - - - Move Up - Posunout nahoru + Posunout nahoru - - - - - Ctrl+Up - - - - - - - Move Down - Posunout dolů + Posunout dolů - - - - - Ctrl+Down - - - - Clear Expo Settings - Vymazat všechna expa + Vymazat všechna expa - Clear Mixes - Vymazat všechny mixy + Vymazat všechny mixy - Weight - Váha + Váha - - Expo - Expo + Expo Phase Fáze - - Curve - Křivka + Křivka - - - - CH%1%2 - - - - - DISABLED - ZAKÁZÁN + ZAKÁZÁN - - S1 - - - - - S2 - - - - - LS - - - - Rud - Směrovka + Směrovka - Ele - Výškovka + Výškovka - Ail - Křidélka + Křidélka - Thr - Plyn + Plyn - - Flight modes - Letové režimy + Letové režimy - - Flight mode - Letový režim + Letový režim - - - - X%1 - - - - No Trim - Žádný trim + Žádný trim - No DR/Expo - Bez DR/Expo + Bez DR/Expo - - FMTrim - - - - Diff - Dif + Dif - Delay(u%1:d%2) - Zpoždění(u%1:d%2) + Zpoždění(u%1:d%2) - Slow(u%1:d%2) - Zpomalení(u%1:d%2) + Zpomalení(u%1:d%2) - Warn(%1) - Varování(%1) + Varování(%1) FSW%1 FS%1 - - - - - - CH %1 - - CFN%1 Fce%1 - CF%1 - FN%1 + FN%1 - Error - Chyba + Chyba - Unable to find sound file %1! - Nemohu nalézt zvukový soubor %1! + Nemohu nalézt zvukový soubor %1! - - Winged Shadow How High - - - - Winged Shadow How High (not supported) - Winged Shadow How High (nepodporován) + Winged Shadow How High (nepodporován) - - Range - Rozsah + Rozsah - Simple 4-CH - Základní 4-kanál + Základní 4-kanál - - T-Cut - - - - - Sticky T-Cut - - - - - V-Tail - - - - - Elevon\Delta - - - - Heli Setup with gyro gain control - Nastavení Heli s řízením zisku gyra + Nastavení Heli s řízením zisku gyra - Gyro gain control - Řízení zisku gyra + Řízení zisku gyra - Heli Setup (Futaba's channel assignment style) - Nastavení Heli (Styl přiřazení kanálů - Futaba) + Nastavení Heli (Styl přiřazení kanálů - Futaba) - Heli Setup with gyro gain control (Futaba's channel assignment style) - Nastavení Heli s řízením zisku gyra(Styl přiřazení kanálů - Futaba) + Nastavení Heli s řízením zisku gyra(Styl přiřazení kanálů - Futaba) - Gyro gain control (Futaba's channel assignment style) - Řízením zisku gyra(Styl přiřazení kanálů - Futaba) + Řízením zisku gyra(Styl přiřazení kanálů - Futaba) - - Servo Test - - - - - MultiCopter - - - - Use Model Config Wizard - Použít průvodce nastavením modelu + Použít průvodce nastavením modelu - Editing curve %1 - Upravit křivku k%1 + Upravit křivku k%1 - Not enough available mixers! - Není k dispozici dostatek mixů! + Není k dispozici dostatek mixů! - Not enough available expos! - Není k dispozici dostatek exp! + Není k dispozici dostatek exp! - Delete Selected Mixes? - Odstranit vybrané mixy? + Odstranit vybrané mixy? - Delete Selected Expos? - Odstranit vybraná expa? + Odstranit vybraná expa? - - &Add - &Přidat + &Přidat - - - Ctrl+A - - - - - &Edit - &Upravit + &Upravit - - - Enter - - - - - - - &Delete - &Odstranit + &Odstranit - - - - - Delete - - - - - - - &Copy - &Kopírovat + &Kopírovat - - - - - Ctrl+C - - - - - - - &Cut - &Vyjmout + &Vyjmout - - - - - Ctrl+X - - - - - - - &Paste - &Vložit + &Vložit - - - - - Ctrl+V - - - - - Du&plicate - &Duplikovat + &Duplikovat - - - Ctrl+U - - - - Are you sure you want to delete curve %1 ? - Opravdu chcete smazat křivku %1 ? + Opravdu chcete smazat křivku %1 ? - Apply Template? - Použít šablonu? + Použít šablonu? - Apply template "%1"? - Použít šablonu "%1"? + Použít šablonu "%1"? - Clear Expos? - Vymazat expa? + Vymazat expa? - Really clear all the expos? - Opravdu vymazat všechna expa? + Opravdu vymazat všechna expa? - - - Clear Mixes? - Vymazat mixy? + Vymazat mixy? - Really clear all the mixes? - Opravdu vymazat všechny mixy? + Opravdu vymazat všechny mixy? - + Clear Curves? Vymazat křivky? - + Really clear all the curves? Opravdu vymazat všechny křivky? - - - - AIL2 - Křidélko2 + Křidélko2 - - - - ELE2 - Výškovka2 + Výškovka2 - - - - - - FLAPS - Klapky + Klapky - - - - - - FLAP%1 - Klapka%1 + Klapka%1 - - - - - PITCH - - - - - - - - - - - GYRO - Gyro + Gyro - - SPOIL - Spoiler + Spoiler - - SPOIL%1 - Spoiler%1 + Spoiler%1 - - RUD2 - Směrovka2 + Směrovka2 - Really clear existing mixes on CH6? - Opravdu vymazat současné mixy v kanálu CH6? + Opravdu vymazat současné mixy v kanálu CH6? - Really clear existing mixes on CH5? - Opravdu vymazat současné mixy v kanálu CH5? + Opravdu vymazat současné mixy v kanálu CH5? - Not enough free points in eeprom to store the curve. - Není dostatek volných pozic v eeprom pro uložení křivky. + Není dostatek volných pozic v eeprom pro uložení křivky. ModelsListWidget - + &Edit &Upravit - + &Restore from backup &Obnovit ze zálohy - + &Model Wizard &Průvodce nastavením modelu - + &Delete &Odstranit - + Delete - + &Copy &Kopírovat - + Ctrl+C - + &Cut &Vyjmout - + Ctrl+X - + &Paste &Vložit - + Ctrl+V - + D&uplicate &Duplikovat - + Ctrl+U - + &Use as default &Použít jako výchozí - + P&rint model Vy&tisknout model - + Alt+R - + &Simulate model &Simulovat model - + Alt+S - + General Settings Obecná nastavení - + Delete Selected Models? Odstranit vybrané modely? - - + + Cannot delete default model. Nelze odstranit výchozí model. - + Cannot cut default model. Nelze přesunout výchozí model. - + Do you want to overwrite TX general settings? Chcete přepsat obecná nastavení rádia? - + You are pasting on an not empty model, are you sure? Vkládáte do modelu který není prázdný, jste si jist? - + No free slot available, cannot duplicate Není už volný slot, nelze duplikovat + + Module + + + Form + + + + + Failsafe Mode + Režim Failsafe + + + + Start + První kanál + + + + PPM delay + PPM zpoždění + + + + usec + us + + + + Negative + Negativní + + + + Positive + Pozitivní + + + + RX Number + Číslo přijímače + + + + Master + Učitel + + + + Slave + Žák + + + + Polarity + Polarita + + + + Trainer Mode + Mód trenér + + + + mSec + ms + + + + PPM Frame Length + Délka PPM rámce + + + + Label + + + + + + ch + + + + + Channels + Počet kanálů + + + + Hold + Držet hodnotu + + + + Custom + Vlastní + + + + No Pulses + Žádné pulzy + + + + Failsafe Positions + + + + + Protocol + Protokol + + + + ModulePanel + + + Trainer Output + + + + + Internal Radio System + + + + + External Radio Module + + + QObject - - + + Rud Směrovka - - + + Ele Výškovka - - + + Thr Plyn - - + + Ail Křidélka - - - + + + P1 Potenciometr 1 - - - + + + P2 Potenciometr 2 - - - + + + P3 Potenciometr 3 - - + + S1 - - + + S2 - - + + LS - - + + RS - + TrmR Trim směrovky - + TrmE Trim výškovky - + TrmT Trim plynu - + TrmA Trim křidélek - + + REa Otočný enkodér :a - + + REb Otočný enkodér :b - - SA - - - - - SB - - - - - SC - - - - - SD - - - - - SE - - - - - SF - - - - - SG - - - - - SH - - - - + Batt Bat - + A1 Telem. vstup A1 - + A2 Telem. vstup A2 - + Alt Výška - + Rpm Otáčky - + Fuel Palivo - + T1 - + Tx - + Rx - + SWR VSR - + RSSI - + T2 - + Speed Rychlost - + Dist Vzdálenost - + GPS Alt Výška GPS - + Cell Článek - + Cels Články - + Vfas - + Curr Proud - + Cnsp - + Powr Výkon - + AccX - + AccY - + AccZ - + HDG - + VSpd - + A1- - + A2- - + Alt- - + Alt+ - + Rpm+ - + T1+ - + T2+ - + Spd+ - + Dst+ - + Cur+ - + ACC - + Time - + Pwr+ - + + + LS1 + + + + + + LS2 + + + + + + LS3 + + + + + + LS4 + + + + + + LS5 + + + + + + LS6 + + + + + + LS7 + + + + + + LS8 + + + + + + LS9 + + + + + + LSA + + + + + + LSB + + + + + + LSC + + + + + + LSD + + + + + + LSE + + + + + + LSF + + + + + + LSG + + + + + + LSH + + + + + + LSI + + + + + + LSJ + + + + + + LSK + + + + + + LSL + + + + + + LSM + + + + + + LSN + + + + + + LSO + + + + + + LSP + + + + + + LSQ + + + + + + LSR + + + + + + LSS + + + + + + LST + + + + + + LSU + + + + + + LSV + + + + + + LSW + + + + + Input %1 + + + + MAX - - + + S11 + + + + + S12 + + + + + S13 + + + + + S14 + + + + + S15 + + + + + S16 + + + + + S21 + + + + + S22 + + + + + S23 + + + + + S24 + + + + + S25 + + + + + S26 + + + CS1 - VS1 + VS1 - - CS2 - VS2 + VS2 - - CS3 - VS3 + VS3 - - CS4 - VS4 + VS4 - - CS5 - VS5 + VS5 - - CS6 - VS6 + VS6 - - CS7 - VS7 + VS7 - - CS8 - VS8 + VS8 - - CS9 - VS9 + VS9 - - CSA - VSA + VSA - - CSB - VSB + VSB - - CSC - VSC + VSC - - CSD - VSD + VSD - - CSE - VSE + VSE - - CSF - VSF + VSF - - CSG - VSG + VSG - - CSH - VSH + VSH - - CSI - VSI + VSI - - CSJ - VSJ + VSJ - - CSK - VSK + VSK - - CSL - VSL + VSL - - CSM - VSM + VSM - - CSN - VSN + VSN - - CSO - VSO + VSO - - CSP - VSP + VSP - - CSQ - VSQ + VSQ - - CSR - VSR + VSR - - CSS - VSS + VSS - - CST - VST + VST - - CSU - VSU + VSU - - CSV - VSV + VSV - - CSW - VSW + VSW - + ONE * - + !ONE ! * - + TRNs - + TRNl - + REAs - + REAl - 3POS - Přepínač 3POS + Přepínač 3POS - + CYC%1 - + PPM%1 - + CH%1%2 - + X%1 - - - - + + + + ---- - - - - + + THR THR - - RUD - RUD + RUD - - ELE - ELE + ELE - ID0 - ID0 + ID0 - ID1 - ID1 + ID1 - ID2 - ID2 + ID2 - - AIL - AIL + AIL - - GEA - GEA + GEA - - TRN - TRN + TRN CS%1 VS%1 - - + + ON ZAPNUTO @@ -6343,18 +6298,43 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. mZAPNUTO - - + + OFF VYPNUTO - + + Diff(%1) + + + + + Expo(%1) + + + + + Function(%1) + + + + + Curve(%1) + + + + + !Curve(%1) + + + + th9x - + er9x @@ -6379,192 +6359,197 @@ Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. open9x pro 9X zákl. desku - - + + 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í. - + openTx for 9X board openTx pro 9X zákl. desku - - - - - + + + + + Enable heli menu and cyclic mix support Funkce pro heli, nastavení typu mechaniky - - - - - - + + + + + + Enable TEMPLATES menu Přidá menu s jednoduchými šablonami modelu - - - - + + + + No splash screen Bez úvodního loga Firmware nebude obsahovat žádné logo, ani podporu pro něj. Toto se hodí pokud je potřeba ušetřit místo v paměti FLASH pro jiné funkce - - - - - - + + + + + + No flight modes Firmware nebude obsahovat podporu Letových Režimů - - - - - - + + + + + + In model setup menus automatically set source by moving some of them V menu nastavení modelu automaticky nastavíte Zdroj jeho pohybem - - - - - - - - + + + + + + + + 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 + + + + openTx for 9XR openTx pro 9XR zákl desku - + openTx for 9XR with M128 chip openTx pro 9XR zákl desku s M128 - + Use FrSky Taranis sticks in a 9X/9XR Použití pák z Taranis (hardware) v rádiu 9X/9XR - - + + 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é - + openTx for FrSky Taranis Rev4a openTx pro FrSky Taranis Rev4a @@ -6573,20 +6558,20 @@ Toto se hodí pokud je potřeba ušetřit místo v paměti FLASH pro jiné funkc Bez letových režimů - - - - - - + + + + + + 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, @@ -6594,44 +6579,44 @@ 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) - - - - - - + + + + + + Battery graph Grafické znázornění stavu baterie - - - - + + + + Enable the throttle trace in Statistics Přidat Stopu Plynu (Throttle-trace) v panelu STATISTIKA - + openTx for M128 / 9X board openTx pro 9X zákl. desku s M128 @@ -6644,70 +6629,70 @@ nutno zastavět hlasový modul openTx pro 9XR zákl desku s M128 - + openTx for Gruvin9x board / 9X openTx pro Gruvin9x zákl desku / 9X - + Support of FrSky PXX protocol Podpora pro Frsky PXX protokol - + openTx for Sky9x board / 9X openTx pro Sky9x zákl. desku / 9X - + openTx for FrSky Taranis openTx pro FrSky Taranis - - - - - + + + + + Support for DSM2 modules Podpora DSM2 modulů - + Your radio probably uses a wrong firmware, eeprom size is 4096 but only the first 2048 are used Vaše rádio pravděpodobně nepoužívá správnou verzi firmware, velikost eeprom je 4096B, ale pouze prvních 2048B je použito. - - - - - - + + + + + + PPM center adjustment in limits Možnost nastavovat střed serva šířkou pulzu - - - - - - - - + + + + + + + + PPM values displayed in us hodnoty PPM budou zobrazeny v us (mikrosekundy) - - - - - - + + + + + + Symetrical Limits Symetrické limity Přidá možnost volby mezi @@ -6718,11 +6703,11 @@ 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 @@ -6733,29 +6718,29 @@ pomocí potenciometrů Podpora přídavné desky TelemetrEZ - - + + SmartieParts 2.2 Backlight support Podpora pro modul SmartieParts 2.2 (programátor/podsvícení) Není určeno pro starší verze Smartie Parts - - - - - - + + + + + + In model setup menus automatically set switch by moving some of them Výběr spínače v mixu atd. se provádí jeho sepnutím - - - - + + + + Enable resetting values by pressing up and down at the same time Rychlé nastavení hodnoty současným stiskem dvou tlačítek. (+) a (-) invertuje hodnotu @@ -6764,22 +6749,22 @@ 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, @@ -6792,20 +6777,20 @@ zobrazeny normálním písmem Nezobrazovat Stopu Plynu (Throttle-trace) v panelu STATISTIKA - - - - + + + + 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.) @@ -6815,7 +6800,7 @@ zobrazeny normálním písmem open9x pro 9XR zákl desku - + Bluetooth interface @@ -6824,12 +6809,12 @@ zobrazeny normálním písmem open9x pro x9da zákl. desku - - - - - - + + + + + + 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. @@ -6846,12 +6831,12 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun open9x pro gruvin9x zákl. desku - + 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 @@ -6864,201 +6849,139 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun open9x pro ersky9x desku - + Enable HELI menu and cyclic mix support Funkce pro heli, nastavení typu mechaniky - + ersky9x - er9x doesn't have Rotary Encoders - v er9x nelze použít rotační enkodéry + v er9x nelze použít rotační enkodéry - er9x doesn't have trims as source - v er9x nelze použít trim jako vstup + v er9x nelze použít trim jako vstup - er9x doesn't have negative gvars as weight - v er9x nelze použít negativní GP jako hodnotu váhy + v er9x nelze použít negativní GP jako hodnotu váhy - er9x doesn't have negative gvars as offset - v er9x nelze použít negativní GP jako hodnotu ofsetu + v er9x nelze použít negativní GP jako hodnotu ofsetu - - - er9x doesn't have swappable trims - v er9x nelze přehodit trimy + v er9x nelze přehodit trimy - - - er9x on this board doesn't have Rotary Encoders - v er9x na této desce nelze použít rotační enkodéry + v er9x na této desce nelze použít rotační enkodéry - er9x does not support Custom Switch function %1 - er9x nepodporuje ve VS funkci %1 + er9x nepodporuje ve VS funkci %1 - - - er9x does not support this range for A1/A2 - er9x nepodporuje tento rozsah pro A1/A2 + er9x nepodporuje tento rozsah pro A1/A2 - - - er9x does not support this telemetry units - er9x nepodporuje tyto telemetrické jednotky + er9x nepodporuje tyto telemetrické jednotky - - Er9x doesn't accept this protocol - Er9x nepodporuje tento protokol + Er9x nepodporuje tento protokol - - Er9x doesn't support custom curves as curve%1, curve as been exported as fixed point Er9x doesn't support custom curves as curve%1, curve as been imported as fixed point - Er9x nepodporuje křivky s vlastními body jako křivka k%1, tato křivka byla exportována jako křivka s pevnými body + Er9x nepodporuje křivky s vlastními body jako křivka k%1, tato křivka byla exportována jako křivka s pevnými body - - Er9x doesn't support curve with %1 point as curve%2 - Er9x nepodporuje křivku s %1 body jako má křivka k%2 + Er9x nepodporuje křivku s %1 body jako má křivka k%2 - - ersky9x doesn't have Rotary Encoders - v ersky9x nelze použít rotační enkodéry + v ersky9x nelze použít rotační enkodéry - - ersky9x doesn't have trims as source - v ersky9x nelze použít trim jako vstup + v ersky9x nelze použít trim jako vstup - - ersky9x does not support Custom Switch function %1 - ersky9x nepodporuje ve VS funkci %1 + ersky9x nepodporuje ve VS funkci %1 - - Ersky9x doesn't accept this protocol - Ersky9x nepodporuje tento protokol + Ersky9x nepodporuje tento protokol - - - - ErSky9x doesn't support custom curves as curve%1, curve as been exported as fixed point ErSky9x doesn't support custom curves as curve%1, curve as been imported as fixed point - ErSky9x nepodporuje křivky s vlastními body jako křivka k%1, tato křivka byla exportována jako křivka s pevnými body + ErSky9x nepodporuje křivky s vlastními body jako křivka k%1, tato křivka byla exportována jako křivka s pevnými body - - - - ErSky9x doesn't support curve with %1 point as curve%2 - ErSky9x nepodporuje křivku s %1 body jako má křivka k%2 + ErSky9x nepodporuje křivku s %1 body jako má křivka k%2 - - - - - + + + + Warning Varování - - + EEPROM saved with these warnings: EEPROM uložena s těmito varováními: - - - - Flight modes settings on expos not exported Phases settings on expos not exported - Nastavení letových režimů v expech nebylo exportováno + Nastavení letových režimů v expech nebylo exportováno - - - - - - - - Open9x on this board doesn't have Rotary Encoders - v Open9x na této desce nelze použít rotační enkodéry + v Open9x na této desce nelze použít rotační enkodéry - gruvin9x doesn't have trims as source - v gruvin9x nelze použít trim jako vstup + v gruvin9x nelze použít trim jako vstup - gruvin9x doesn't have swappable trims - v gruvin9x nelze přehodit trimy + v gruvin9x nelze přehodit trimy - gruvin9x on this board doesn't have Rotary Encoders - v gruvin9x na této desce nelze použít rotační enkodéry + v gruvin9x na této desce nelze použít rotační enkodéry - gruvin9x does not support Custom Switch function %1 - gruvin9x nepodporuje ve VS funkci %1 + gruvin9x nepodporuje ve VS funkci %1 - gruvin9x only accepts %1 expos - v gruvin9x lze použít jen %1 exp + v gruvin9x lze použít jen %1 exp - - gruvin9x doesn't support custom curves as curve%1, curve as been exported as fixed point gruvin9x doesn't support custom curves as curve%1, curve as been imported as fixed point - gruvin9x nepodporuje křivky s vlastními body jako křivka k%1, tato křivka byla exportována jako křivka s pevnými body + gruvin9x nepodporuje křivky s vlastními body jako křivka k%1, tato křivka byla exportována jako křivka s pevnými body - - gruvin9x doesn't support curve with %1 point as curve%2 - gruvin9x nepodporuje křivku s %1 body jako má křivka k%2 + gruvin9x nepodporuje křivku s %1 body jako má křivka k%2 @@ -7068,447 +6991,478 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun FM%1 - + + Input%1 + + + + English - + French - + Italian - + German - + Czech - + Slovak - + Spanish - + Portuguese - + Swedish - - CH - - - - + No Žádný - + RotEnc A Otočný enkodér :A - + Rot Enc B Otočný enkodér :B - + Rot Enc C Otočný enkodér :C - + Rot Enc D Otočný enkodér :D - + Rot Enc E Otočný enkodér :E - - + + No repeat - + %1 sec - + Safety %1 Zabezpečení(zámek) %1 - + Trainer Trenér - + Trainer RUD Trenér - směrovka - + Trainer ELE Trenér - výškovka - + Trainer THR Trenér - plyn - + Trainer AIL Trenér - křidélka - + Instant Trim - + Play Sound Přehrát zvuk - + Play Haptic Vibrovat - + Reset - + Vario - + Play Both Přehrát pár - + Play Value Přehrát hodnotu - + Start Logs Začít logovat - + Volume Hlasitost - + Backlight Podsvětlení - + + Adjust GV%1 + + + - + + <font color=red><b>Inconsistent parameter</b></font> - + + Rotary Encoder + + + + !Flight mode %1 !Letový režim %1 - + Flight mode %1 Letový režim %1 - + Yellow Žlutá - + Orange Oranžová - + Red Červená - + Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (nepodporován) - + FrSky Sensor Hub FrSky Senzor Hub - + + None Žádný - + Imperial Imperiální - + Metric Metrické - + Extra Fine Extra jemný - + Fine Jemný - + Medium Střední - + Coarse Hrubý - + Exponential Exponenciální - + Count Up Přičítat - + Count Down Odečítat - + %1:%2, - + : %1 Channels, %2usec Delay : %1 Kanálů, %2us pauza - + + Flight modes(%1) + + + + + Flight mode(%1) + + + + Rudder Směrovka - + Elevator Výškovka - + Throttle Plyn - + Aileron Křidélka - + Play Track Hrát stopu - - + + --- - + Rud Trim Trim směrovky - + Ele Trim Trim výškovky - + Thr Trim Trim plynu - + Ail Trim Trim křidélek - + Rot Enc - + + Polish + + + + + CH%1 + + + + Background Music Hudba na pozadí - + Background Music Pause Hudba na pozadí -pozastavit - Adjust GV1 - Nastav GP1 + Nastav GP1 - Adjust GV2 - Nastav GP2 + Nastav GP2 - Adjust GV3 - Nastav GP3 + Nastav GP3 - Adjust GV4 - Nastav GP4 + Nastav GP4 - Adjust GV5 - Nastav GP5 + Nastav GP5 - + Delay %1 sec Zpoždění %1sec - + Duration %1 sec Trvání %1 sec - - - + + + Timer1 - - - + + + Timer2 - - + + All Vše - - + + Telemetry Telemetrie - + Value Hodnota - + Decr: - + Incr: - + + Played once, not during startup + + + + %1s - + Value Hodnota - + Source Zdroj - + GVAR Proměnná - + Increment Upravit @@ -7521,118 +7475,96 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun Fáze %1 - Diff - Dif + Dif - - Expo - - - - + Own trim Vlastní trim - + Flight mode %1 trim Flight phase %1 trim Trim režimu LR%1 - + Own value Vlastní hodnota - + Flight mode %1 value Flight phase %1 value Hodnota režimu LR%1 - + Keys Klávesy - + Sticks Páky - + Keys + Sticks Klávesy i páky - + + -GV%1 -GP%1 - (-GV%1) - (-GP%1) + (-GP%1) - - + + + GV%1 GP%1 - Curve - Křivka + Křivka - - - + + + Simulator for this firmware is not yet available Simulátor pro tuto verzi firmware zatím není dostupný - - - Open9x doesn't allow Curve%1 in expos - v Open9x nelze použít Křivku k%1 v expech + v Open9x nelze použít Křivku k%1 v expech - - + + Simultaneous usage of expo and curves is no longer supported Současné použití expa a křivek již není podporováno - - - - - - - Flight modes settings on mixers not exported - Nastevení Letových režimů v mixech není exportováno + Nastevení Letových režimů v mixech není exportováno - - Flight mode settings on mixers not exported Phases settings on mixers not exported - Nastavení letových režimů v mixech nebylo exportováno + Nastavení letových režimů v mixech nebylo exportováno - - - - This version of open9x does not support Custom Switch function %1 - Tato verze Open9x nepodporuje ve VS funkci %1 + Tato verze Open9x nepodporuje ve VS funkci %1 Open9x on gruvin9x board doesn't accept this function @@ -7643,25 +7575,25 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun Open9x nepodporuje tuto funkci na desce 9X/9XR - + openTx only accepts %1 points in all curves openTx oumožňuje pouze %1 bodů ve všech křivkách dohromady - - - + + + 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ů @@ -7670,26 +7602,8 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun Open9x nepodporuje tuto funkci na této zákl. desce - - - - - - - - - - - - - - - - - - Open9x doesn't accept this protocol - Open9x nepodporuje tento protokol + Open9x nepodporuje tento protokol Open9x doesn't allow this number of channels @@ -7700,67 +7614,39 @@ Nastavení hodnoty se provádí přímo v seznamu proměnných, nebo pomocí Fun V Open9x nelze použít tento počet kanálů pro PPM2 - - - - - - open9x only accepts %1 points in all curves - Open9x podporuje pouze %1 bodů ve všech křivkách + Open9x podporuje pouze %1 bodů ve všech křivkách - + Simultaneous usage of expo and curves is no longer supported in open9x Současné použití expa a křivek již není v Open9x podporováno - - open9x on this board doesn't have Rotary Encoders - v Open9x na této desce nelze použít rotační enkodéry + v Open9x na této desce nelze použít rotační enkodéry - - - - - - - - - - - - - open9x only accepts %1 expos - v Open9x lze použít jen %1 exp + v Open9x lze použít jen %1 exp - th9x does not support Custom Switch function %1 - th9x nepodporuje ve VS funkci %1 + th9x nepodporuje ve VS funkci %1 - + th9x on this board doesn't have Rotary Encoders v th9x na této desce nelze použít rotační enkodéry - - - th9x doesn't support custom curves as curve%1, curve as been exported as fixed point th9x doesn't support custom curves as curve%1, curve as been imported as fixed point - th9x nepodporuje křivky s vlastními body jako křivka k%1, tato křivka byla exportována jako křivka s pevnými body + th9x nepodporuje křivky s vlastními body jako křivka k%1, tato křivka byla exportována jako křivka s pevnými body - - - th9x doesn't support curve with %1 point as curve%2 - th9x nepodporuje křivku s %1 body jako má křivka k%2 + th9x nepodporuje křivku s %1 body jako má křivka k%2 Warning! @@ -7783,25 +7669,20 @@ Pořadí telemetrických kanálů bylo změněno, prosím zkontrolujte nastvení V konfiguraci DR/Expo byly provedeny změny, zkontrolujte nastavení než poletíte! - (GV%1) - (GP%1) + (GP%1) Flight Phase 0 (Default) Fáze FP0 (Výchozí) - - Flight Mode 0 (Default) - Letový Režim 0 (Výchozí) + Letový Režim 0 (Výchozí) - - FM %1 - LR %1 + LR %1 Warning! @@ -7833,6 +7714,591 @@ The OpenTX/Companion Team. + + Setup + + + Form + + + + + Model Name + Název modelu + + + + Timer2 + + + + + Timer1 + + + + + Throttle Source + Stopa plynu (pro spínání stopek) + + + + Switch startup Warning + Kontrola výchozí polohy spínačů + + + + Center beep + Zvuk ve středové poloze + + + + Trim Increment + Krok trimu + + + + ON + ZAPNUTO + + + + OFF + + + + + Check + Kontrola + + + + Model Image + Obrázek modelu + + + + Exponential + Exponenciální + + + + Extra Fine + Extra jemný + + + + Fine + Jemný + + + + Medium + Střední + + + + Coarse + Hrubý + + + + Extended Limits + Rozšířené limity (125%) + + + + Extended Trims + Rozšířený rozsah trimů + + + + Throttle Trim + Trim plynu + + + + Throttle Warning + + + + + Reverse throttle operation. +If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. + + + Obrácení funkce plynu. +Pokud je zaškrtnuto,funkce plynu bude opačná. Poloha vypnuto bude nahoře. +Funkce trimu bude opačná, stejně tak i varování polohy páky plynu. + + + + + + Reverse Throttle + + + + + Telemetry + + + Form + + + + + + + + A1 + Telem. vstup A1 + + + + + + + A2 + Telem. vstup A2 + + + + RSSI + + + + + Alarm 1 + + + + + + ---- + + + + + + Yellow + Žlutá + + + + + Orange + Oranžová + + + + + Red + Červená + + + + Alarm 2 + + + + + Serial Protocol + Sériový protokol + + + + Volt source + Snímač napětí + + + + Metric + Metrické + + + + Imperial + Imperiální + + + + Current source + Snímač proudu + + + + Protocol + Protokol + + + + NONE + Žádný + + + + + FAS + + + + + None + Žádný + + + + FrSky Sensor Hub + FrSky Senzor Hub + + + + CEL + Článek + + + + 2 + CH2 + + + + 3 + CH3 + + + + 4 + CH4 + + + + Units + Jednotky + + + + Blades + Počet listů vrtule + + + + Altimetry / Vario + + + + + Alti + + + + + Alti+ + + + + + Vario + + + + + Sink Max + Klesání Max + + + + Off + + + + + 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ě + + + + Various + + + + + mAh count + + + + + FAS Offset + + + + + Persistent mAh + + + + + TelemetryAnalog + + + Form + + + + + Unit + Jednotky + + + + Max Value + Maximim + + + + Alarm 1 + + + + + + ---- + + + + + + Yellow + Žlutá + + + + + Orange + Oranžová + + + + + Red + Červená + + + + + < + + + + + + > + + + + + Alarm 2 + + + + + Min Value + Minimum + + + + Volts (V) + Volty (V) + + + + Amps (A) + Ampéry (A) + + + + Speed (m/s or ft/s) + Rychlost (m/s nebo ft/s) + + + + Raw (-) + Jednotky (-) + + + + Speed (km/h or miles/h) + Rychlost (km/h nebo míle/h) + + + + Meters (m or ft) + Vzdálenost (m nebo ft) + + + + Temp (°) + Teplota (°) + + + + Fuel (%) + Palivo (%) + + + + mAmps (mA) + MiliAmpéry (mA) + + + + Range + Rozsah + + + + TelemetryCustomScreen + + + Form + + + + + Custom Screen Type + Typ panelu + + + + Nums + Hodnoty + + + + Bars + Ukazatele + + + + Min + + + + + Source + Zdroj + + + + Gauge + Ukazatel + + + + Max + + + + + TelemetryPanel + + + Telemetry screen %1 + + + + + Winged Shadow How High + + + + + Winged Shadow How High (not supported) + Winged Shadow How High (nepodporován) + + + + Timer + + + Form + + + + + mm:ss + + + + + Countdown + + + + + MinuteBeep + Minuta + + + + Persistent + Ukládání + + + + (00:00:00) + + + + + TimerPanel + + + None + Žádný + + + + Beeps + + + + + Countdown + + + avrOutputDialog @@ -8170,40 +8636,40 @@ m2560 pro V4 desky sériový port sam-ba - + DFU-UTIL Configuration Konfigurace DFU-UTIL - + SAM-BA Configuration Konfigurace SAM-BA - + AVRDUDE Configuration Konfigurace AVRDUDE - - - + + + Select Location Procházet umístění - - + + Companion - + <b><u>WARNING!</u></b><br>This will reset the fuses of %1 to the factory settings.<br>Writing fuses can mess up your radio.<br>Do this only if you are sure they are wrong!<br>Are you sure you want to continue? <b><u>POZOR!</u></b><br>Toto nastaví pojistky %1 do továrního nastavení.<br>Zápis pojistek může poškodit vaše rádio.<br>Proveďte pouze pokud jste si jist že jsou nastaveny špatně!<br>Jste si opravdu jist, že chcete pokračovat? - + <b><u>WARNING!</u></b><br>Normally CPU type is automatically selected according to the chosen firmware.<br>If you change the CPU type the resulting eeprom could be inconsistent. <b><u>VAROVÁNÍ!</u></b><br>Běžně je typ CPU vybrán podle typu zvoleného firmware.<br>Pokud změníte typ CPU, výsledná eeprom nemusí být platná. @@ -8217,7 +8683,7 @@ m2560 pro V4 desky - + Write to TX Zapsat do rádia @@ -8295,7 +8761,7 @@ m2560 pro V4 desky - + Browse for file Procházet ... @@ -8342,7 +8808,7 @@ m2560 pro V4 desky Zapsat do rádia - + Write firmware to TX Zapsat firmware do rádia @@ -8359,12 +8825,12 @@ m2560 pro V4 desky Zapsat %1 do rádia - + Current profile Současný profil - + Open Otevřít @@ -8373,48 +8839,48 @@ m2560 pro V4 desky Vyberte soubor pro zápis do paměti EEPROM - - - - - - + + + + + + Warning Varování - + %1 is not a known firmware %1 není známý firmware - + Burn anyway ! Přesto vypálit ! - - - - - - - - - - + + + + + + + + + + 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: @@ -8425,72 +8891,72 @@ m2560 pro V4 desky Neplatný binární soubor EEPROM %1, Přesto pokračovat ? - + Write Models and Settings to TX Zapsat modely a nastavení do rádia - + Write Models and Settings in %1 to TX Zapsat modely a nastavení v %1 do rádia - + Choose file to load Models and Settings from Vyberte soubor s daty modelů a nastavení - - - + + + 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. - + Open Image to load Otevřít soubor s logem - + Images (%1) obrázky (%1) - - + + Cannot load %1. Nemohu načíst %1. - + 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 @@ -8503,15 +8969,15 @@ m2560 pro V4 desky Špatná HW data v profilu, nebala zaměněna v EEPROM - - + + Cannot write file %1: %2. Nelze zapsat soubor %1: %2. - + Error writing file %1: %2. Chyba při zápisuí souboru %1: @@ -8742,14 +9208,14 @@ m2560 pro V4 desky - + - - - - - - + + + + + + Switch Spínač @@ -8805,10 +9271,10 @@ m2560 pro V4 desky - - - - + + + + Offset Ofset @@ -8816,8 +9282,8 @@ m2560 pro V4 desky - - + + Min @@ -8825,8 +9291,8 @@ m2560 pro V4 desky - - + + Max @@ -8842,8 +9308,8 @@ m2560 pro V4 desky - - + + CH @@ -8877,68 +9343,50 @@ m2560 pro V4 desky - + Weight Váha - - - - Expo - - Phase Fáze - - - - - - + + Curve Křivka - + Mixers Mixy - - + + noTrim Žádný trim - - - FMTrim - - - - - Diff - Dif + Dif - - + + Delay(u%1:d%2) Zpoždění(u%1:d%2) - - + + Slow(u%1:d%2) Zpomalení(u%1:d%2) - - + + Warn Varování @@ -8953,66 +9401,63 @@ m2560 pro V4 desky Model bez jména - + - - + + DISABLED ZAKÁZÁN - + Curves Křivky - + 5 Points Curves Pěti-bodové křivky - - - - + + + + pt %1 bod %1 - + 9 Points Curves Devíti-bodové křivky - Custom Switches - Virtuální spínače + Virtuální spínače - - CS - VS + VS Function Switches Funkce - - + + Function Funkce - - + + Param Parametr - - + + Enable Povoleno @@ -9021,71 +9466,71 @@ m2560 pro V4 desky FS - + Telemetry Settings Nastavení telemetrie - - + + Analog - - + + Unit Jednotky - - + + Scale Rozsah - - - - + + + + A%1 - - + + Alarm 1 - - + + Alarm 2 - - - - + + + + Type Typ - - - - + + + + Condition Podmínka - - - - - - + + + + + + Value Hodnota @@ -9098,29 +9543,28 @@ m2560 pro V4 desky Název režimu - + - - + + Flight modes Letové režimy - + - - + + Flight mode Letový režim - Custom Functions - Funkce + Funkce - - + + Repeat Opakování @@ -9129,52 +9573,68 @@ m2560 pro V4 desky Fce - + Safety Switches Bezpečnostní spínače - - + + RSSI Alarm - - + + Telemetry Bars Telemetrické ukazatele - - + + Bar Number Číslo ukazatele - - + + Source Zdroj - - + + Custom Telemetry View Vlastní zobrazení telemetrie - + + Logical Switches + + + + + + LS + + + + + Switch Assignment + + + + CF FN - + Print Document Vytisknout dokument - + Select PDF output file Vyberte cílový PDF soubor @@ -9187,24 +9647,22 @@ m2560 pro V4 desky - + People who have contributed to this project Lidé kteří přispěli tomuto projektu - + Coders Programátoři - - Honors go to Rafal Tomczak (RadioClone) and Thomas Husterer (th9x) -of course. Also to Erez Raviv (er9x) and the fantastic eePe program -which was the staring point for OpenTX Companion. + + Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) - + Companion Release Notes @@ -9217,12 +9675,12 @@ Thomasi Husteterovi (th9x) a také Erazovi Ravivovi(er9x) a jeho fantastickému na jehož základech companion9x vznikl. - + Thank you all !!! Děkujeme vám všem !!! - + Contributors Přispěvatelé @@ -9231,7 +9689,7 @@ na jehož základech companion9x vznikl. Poznámky k vydání Companion9x - + OpenTX Release Notes Poznámky k vydání OpenTX @@ -9283,20 +9741,20 @@ p, li { white-space: pre-wrap; } - + Save Firmware Save To Hex Uložit firmware - - - + + + Select an original firmware file Vyberte soubor s firmwarem - + Open Otevřít @@ -9305,69 +9763,69 @@ p, li { white-space: pre-wrap; } soubory HEX (*.hex);; - + Select an image to customize your splash <br />or save actual firmware splash Vyberte obrázek kterým chcete upravit vaše úvodní logo, <br />nebo vložte aktuální logo do firmwaru - - - - + + + + Error Chyba - + Could not find bitmap to replace in file Nemohu nalézt pozici loga k nahrazení v souboru. Obsahuje firmware podporu loga? - + Open Image to load Otevřít soubor s logem - + Images (%1) obrázky (%1) - - + + Cannot load %1. Nemohu načíst %1. - - + + Save your custimized firmware Uložte upravený firmware - - + + Write to file Uložit do souboru - + Error reading file %1 Chyba při otevírání souboru %1 - + Firmware correctly saved. Firmware bylo v pořádku uloženo. - + Firmware not saved. Firmware nebylo uloženo. - + PNG images (*.png);; obrázky PNG (*.png);; @@ -9791,17 +10249,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 @@ -9809,7 +10267,7 @@ Tlačítkem Zrušit přerušíte kalibraci mdiChild - + Simulate Tx Simulace Rádia @@ -10259,191 +10717,196 @@ Tlačítkem Zrušit přerušíte kalibraci Předvolby - + Check for selected Fw updates Aktualizace vybraného firmware - + Ask use of wizard for new models Zeptat se na použití průvodce pro nový model - + Invert Pixels Invertovat - - + + ... - + Remember switches in simulator Pamatovat si přepínače v simulátoru - + Enable Povolit - + Calibrate Kalibrovat - - - - + + + + Open Folder Vybrat složku - + FwInfo - + Check for updates Zkontrolovat aktualizace - + Open Image Načíst obrázek - + Language Jazyk - - + + Download Stáhnout - + Set language of voice. May be different from firmware language Vyberte jazykovou verzi hlasu tts(voice). Může být jiná než verze firmwaru - + Voice Hlas tts - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CheckBox - + Ask for flashing after Download Po stažení firmwaru se zeptat, zda ho hned zapsat do rádia - + Export Profile Exportovat profil - + Import Profile Importovat profil - + Profile Name Název profilu - + Automatically add version number to the filename after download Přidat číslo verze do názvu souboru staženého firmwaru - + Save Profile Uložit profil - + + Show Splash At Start + + + + Simu BackLight BackLight Color Barva podsvětlení Simu - + Blue Modrá - + Green Zelená - + Red Červená - + Orange Oranžová - + Yellow Žlutá @@ -10452,22 +10915,22 @@ Může být jiná než verze firmwaru Kontrolovat aktualizace vybraného firmwaru - + Check for updates on startup Aktualizace při spuštění - + Language (requires restart) Jazyk companion (vyžaduje restart) - + Custom TX splash screen Vlastní úvodní logo - + Channel order This is used by the templated to determine which channel goes to what number output. @@ -10477,27 +10940,26 @@ Toto je použito šablonami k určení který kanál patří ke kterému výstupu. - + Firmware - + Default Stick Mode Výchozí mód vysílačky - + Default Channel Order Výchozí pořadí kanálů - Show Splash Screen - Zobrazit úvodní logo + Zobrazit úvodní logo - + Personal splash library Vlastní knihovna s logy @@ -10506,7 +10968,7 @@ který kanál patří ke kterému výstupu. Pamatovat polohu přepínačů - + Mode selection: Mode 1: @@ -10547,77 +11009,133 @@ Mode 4: - + Mode 1 (RUD ELE THR AIL) Mode 1 (Směr.Výšk.Plyn.Křid) - + Mode 2 (RUD THR ELE AIL) Mode 2 (Směr.Plyn.Výšk.Křid) - + Mode 3 (AIL ELE THR RUD) Mode 3 (Křid.Výšk.Plyn.Směr) - + Mode 4 (AIL THR ELE RUD) Mode 4 (Křid.Plyn.Výšk.Směr) - + + Theme + + + + + + Requires restart + + + + + Classic + + + + + Monochrome + + + + + MonoWhite + + + + + MonoBlue + + + + + Icon size + + + + + Small + + + + + Normal + Normální + + + + Big + + + + + Huge + + + + Joystick - + Include companion splashes Zahrnout i výchozí loga - + Only user defined splashes Jen vlastní loga - + Splash library behaviour Chování knihovny s logy - + Automatic Backup Folder Složka pro automatické zálohy - + SD Structure path Cesta k obsahu SD karty - + Processor ID ID procesoru - + Recent History Size Počet položek nedávné historie - + Find Executable - + Google Earth Executable - + Profile slot Slot profilu @@ -10626,7 +11144,7 @@ Mode 4: Složka pro zálohy EEprom - + auto backup before write zálohovat před zápisem @@ -10635,17 +11153,17 @@ Mode 4: Složka zvukových dat - + Simulator capture folder Složka pro snímky obrazovky Simu - + Use clipboard only Kopírovat pouze do schránky - + Last downloaded release: %1 Naposledy stažené vydání: %1 @@ -10658,43 +11176,43 @@ Mode 4: Companion9x nemůže stáhnout zvolený firmware. - + The selected firmware has never been downloaded by Companion. - + The selected firmware cannot be downloaded by Companion. - + Image stored in settings Logo nastavené v předvolbách - - + + No joysticks found Joystick nenalezen - + Select your Models and Settings backup folder Zvolte složku pro automatické zálohy modelů a nastavení - + Select Google Earth executable - + Select the folder replicating your SD structure Vyberte složku která představuje obsah SD karty rádia - + Profile name is empty, profile slot %1 will be deleted.<br>Are you sure ? Název profilu je prázdný, slot %1 bude smazán.<br>Jste si jist ? @@ -10761,7 +11279,7 @@ zatim ve zkušební verzi Podpora DSM2 modulů s použitím PPM místo sériového protokolu - + Select your library folder Support for SD memory card Vyberte složkus s logy @@ -10840,7 +11358,7 @@ nutno zastavět hlasový modul Bez uživatelsky definovatelných křivek - + Select your snapshot folder Vyberte složku pro snímky obrazovky simulátoru @@ -10849,14 +11367,14 @@ nutno zastavět hlasový modul Vyber složku pro zálohování eeprom - - + + Error Chyba - - + + Cannot load %1. Nemohu načíst %1. @@ -10869,27 +11387,27 @@ nutno zastavět hlasový modul Název profilu je prázdný, slot %1 bude odstraněn.<br>Souhlasíte ? - + Export profile As Exportovat profil jako - + Profile slot is not empty, profile slot %1 will we overwritten.<br>Are you sure ? Slot profilu není prázdný, slot %1 bude přepsán.<br>Jste si jist ? - + Open Profile to import Zvolte profil k importu - + Open Image to load Otevřít soubor - + Images (%1) obrázky (%1) @@ -11014,9 +11532,9 @@ nutno zastavět hlasový modul - - - + + + Name Název @@ -11053,7 +11571,7 @@ nutno zastavět hlasový modul - + Enabled Povoleno @@ -11106,13 +11624,29 @@ nutno zastavět hlasový modul - - - - + + + + Switch Spínač + + + Logical Switches + + + + + + LS + + + + + Switch Assignments + + Phase name Název @@ -11146,79 +11680,61 @@ nutno zastavět hlasový modul Weight Váha - - - - - - Expo - - Phase Fáze - - - - - - - + + + Curve Křivka - + Mixers Mixy - - - - - + + + + + CH - + noTrim Žádný trim - - FMTrim - - - - - - - - + + + + + Offset Ofset - Diff - Dif + Dif - + Delay(u%1:d%2) Zpoždění(u%1:d%2) - + Slow(u%1:d%2) Zpomalení(u%1:d%2) - + Warn Varování @@ -11227,85 +11743,78 @@ nutno zastavět hlasový modul Fáze - - + + DISABLED ZAKÁZÁN - + Limits Limity - - - - + + + + Min - - - - + + + + Max - - - + + + Invert Invertovat - - - + + + INV - - - + + + NOR --- - + Curves Křivky - 5 Points Curves - Pěti-bodové křivky + Pěti-bodové křivky - - - + pt %1 bod %1 - 9 Points Curves - Devíti-bodové křivky + Devíti-bodové křivky - Custom Switches - Virtuální spínače + Virtuální spínače - - CS - VS + VS Delay %1 sec @@ -11316,46 +11825,45 @@ nutno zastavět hlasový modul Trvání %1 sec - + Global Variables Globální proměnné - + GV GP - + Safety Switches Bezpečnostní spínače - - - - - + + + + + Value Hodnota - Function Switches - Funkce + Funkce - + Function Funkce - + Parameter Parametr - + Repeat Opakování @@ -11364,101 +11872,101 @@ nutno zastavět hlasový modul FS - + Telemetry Settings Nastavení telemetrie - - + + Alarm 1 - - + + Alarm 2 - + Analog - + Unit Jednotky - + Scale Rozsah - - - - + + + + Type Typ - - - - + + + + Condition Podmínka - + A%1 - + RSSI Alarm - + Frsky serial protocol Sériový protokol Frsky - + System of units Systém jednotek - + Propeller blades Počet listů vrtule - + Telemetry Bars Telemetrické ukazatele - + Bar Number Číslo ukazatele - + Source Zdroj - + ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) soubor ODF (*.odt);;soubor PDF (*.pdf);;soubor HTML (*.htm *.html);;Všechny (*) - - + + Custom Telemetry View Vlastní zobrazení telemetrie @@ -11468,29 +11976,28 @@ nutno zastavět hlasový modul Název režimu - - + + Flight modes Letové režimy - - + + Flight mode Letový režim - CF - FN + FN - + Print Document Vytisknout dokument - + Select PDF output file Vyberte cílový PDF soubor @@ -11510,7 +12017,7 @@ nutno zastavět hlasový modul - + Right Double Click to Reset Dvojité kliknutí pravým tlačítkem myši nastaví na střed @@ -11536,33 +12043,33 @@ nutno zastavět hlasový modul - + Hold X Držet X - + Fix X Fixovat X - + Fix Y Fixovat Y - + Hold Y Držet Y - - + + TextLabel @@ -11582,39 +12089,39 @@ nutno zastavět hlasový modul - + ID1 - + ID2 - + P1 Potenciometr1 - - - + + + 0 % - + P2 Potenciometr2 - + P3 Potenciometr3 - + 9x Simulator 9x Simulátor @@ -11625,153 +12132,283 @@ nutno zastavět hlasový modul - CS1 - VS1 + LS1 + - CS2 - VS2 + LS2 + - CS3 - VS3 + LS3 + - CS4 - VS4 + LS4 + - CS5 - VS5 + LS5 + - CS6 - VS6 + LS6 + - CS7 - VS7 + LS7 + - CS8 - VS8 + LS8 + - CS9 - VS9 + LS9 + - CSA - VSA + LSA + - CSB - VSB + LSB + - CSC - VSC + LSC + - CSD - VSD + LSD + - CSE - VSE + LSE + - CSF - VSF + LSF + - CSG - VSG + LSG + - CSH - VSH + LSH + + LSI + + + + + LSJ + + + + + LSK + + + + + LSL + + + + + LSM + + + + + LSN + + + + + LSO + + + + + LSP + + + + + LSQ + + + + + LSR + + + + + LSS + + + + + LST + + + + + LSU + + + + + LSV + + + + + LSW + + + + CS1 + VS1 + + + CS2 + VS2 + + + CS3 + VS3 + + + CS4 + VS4 + + + CS5 + VS5 + + + CS6 + VS6 + + + CS7 + VS7 + + + CS8 + VS8 + + + CS9 + VS9 + + + CSA + VSA + + + CSB + VSB + + + CSC + VSC + + + CSD + VSD + + + CSE + VSE + + + CSF + VSF + + + CSG + VSG + + + CSH + VSH + + CSI - VSI + VSI - CSJ - VSJ + VSJ - CSL - VSL + VSL - CSM - VSM + VSM - CSN - VSN + VSN - CSO - VSO + VSO - CSP - VSP + VSP - CSQ - VSQ + VSQ - CSR - VSR + VSR - CSS - VSS + VSS - CST - VST + VST - CSU - VSU + VSU - CSV - VSV + VSV SW1 @@ -11798,7 +12435,7 @@ nutno zastavět hlasový modul VS6 - + BEEP Zvuk @@ -11855,10 +12492,9 @@ nutno zastavět hlasový modul VSJ - CSK SWK - VSK + VSK SWL @@ -11905,108 +12541,107 @@ nutno zastavět hlasový modul VSV - CSW SWW - VSW + VSW - + CH1 - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + -100.1 - + CH9 - + CH2 - + CH10 - + CH3 - + CH11 - + CH4 - + CH12 - + CH5 - + CH13 - + CH6 - + CH14 - + CH7 - + CH15 - + CH8 - + CH16 @@ -12054,33 +12689,33 @@ nutno zastavět hlasový modul splashLibrary - + ... - + Splash Library - page %1 of %2 Knihovna s logy - strana %1 z %2 - + Warning Varování - + Invalid image in library %1 Neplatné logo v knihovně %1 - + Information - + No valid image found in library, check your settings Nebylo nalezenožádné použitelné logo v knihovně, zkontrolujte nastavení @@ -12339,16 +12974,16 @@ nutno zastavět hlasový modul - - - - - - - - - - + + + + + + + + + + -100.1 @@ -12383,207 +13018,207 @@ nutno zastavět hlasový modul - + CH12 - + CH5 - + CH13 - + CH6 - + CH14 - + CH7 - + CH15 - + CH8 - + CH16 - + CSK VSK - + CSC VSC - + CSD VSD - + CS7 VS7 - + CSL VSL - + CSB VSB - + CS1 VS1 - + CSH VSH - + CSG VSG - + CSE VSE - + CSF VSF - + CS8 VS8 - + CS9 VS9 - + CSA VSA - + CSM VSM - + CSJ VSJ - + CSI VSI - + CS4 VS4 - + CS5 VS5 - + CS2 VS2 - + CS3 VS3 - + CS6 VS6 - + CSN VSN - + CSO VSO - + CSP VSP - + CSQ VSQ - + CSR VSR - + CSS VSS - + CST VST - + CSU VSU - + CSV VSV - + CSW VSW @@ -12644,12 +13279,12 @@ nutno zastavět hlasový modul Nelze otevřít joystick, není povolený - + Firmware %1 error: %2 Firmware %1 chyba: %2 - + - Flight mode: %1(%2) - Letový režim: %1(%2) @@ -12658,12 +13293,12 @@ nutno zastavět hlasový modul - Fáze: %1(%2) - + Simulating Tx (%1) Simulace Tx (%1) - + Simulating Simulace diff --git a/companion/src/translations/companion_de.ts b/companion/src/translations/companion_de.ts index fd62aa4cd..4e55bfefe 100644 --- a/companion/src/translations/companion_de.ts +++ b/companion/src/translations/companion_de.ts @@ -1,6 +1,375 @@ + + Channels + + + Name + Name + + + + Offset + Offset + + + + Min + Min + + + + Max + Max + + + + Invert + Invertieren + + + + Center + + + + + Sym + + + + + Channel %1 + + + + + --- + --- + + + + INV + INV + + + + CurveGroup + + + Diff + Diff + + + + Expo + Expo + + + + Func + + + + + Curve + Kurve + + + + Curves + + + Form + + + + + Standard + + + + + Custom + + + + + Lines + + + + + Smooth + + + + + Curve type + + + + + Curve name + + + + + Curve %1 + Kurve %1 + + + + %1 points + + + + + Are you sure you want to reset curve %1 ? + + + + + Editing curve %1 + Kurve %1 bearbeiten + + + + Not enough free points in EEPROM to store the curve. + + + + + CustomFunctionsPanel + + + Switch + Schalter + + + + Action + + + + + Parameters + + + + + Enable + aktivieren + + + + ON + + + + + Error + Fehler + + + + Unable to find sound file %1! + + + + + &Delete + &Löschen + + + + Delete + Löschen + + + + &Copy + &Kopieren + + + + Ctrl+C + + + + + &Cut + &Ausschneiden + + + + Ctrl+X + + + + + &Paste + + + + + Ctrl+V + + + + + CustomSwitchesPanel + + + Condition + Zustand + + + + V1 + V1 + + + + V2 + V2 + + + + AND + + + + + Duration + + + + + Delay + Verzögerung + + + + + LS%1 + + + + + &Delete + &Löschen + + + + Delete + Löschen + + + + &Copy + &Kopieren + + + + Ctrl+C + + + + + &Cut + &Ausschneiden + + + + Ctrl+X + + + + + &Paste + + + + + Ctrl+V + + + + + Dialog + + + Dialog + Dialog + + + + Curve type + + + + + Coefficient + + + + + Both + + + + + x>0 + + + + + x<0 + + + + + Y at X=0 + + + + + Side + + + + + Y at X=-100 + + + + + Y at X=100 + + + + + Linear + + + + + Single Expo + + + + + Symmetrical f(x)=-f(-x) + + + + + Symmetrical f(x)=f(-x) + + + ExpoDialog @@ -8,9 +377,8 @@ Dialog - Expo - Expo + Expo <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> @@ -25,14 +393,13 @@ 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;">Expo value</span></p></body></html> - + Weight Weg - Name - Name + Name The value of the weight @@ -44,124 +411,320 @@ p, li { white-space: pre-wrap; } Phase - - - + + GV - - Phase used by the expo. - Zugewiesene Phase für Weg/Expo. + Zugewiesene Phase für Weg/Expo. - + + The source for the mixer + Die Mischerquelle + + + + Input name + + + + + Phase used by the input. + + + + Flight modes Flugphasen - + 0 0 - + 1 1 - + 2 2 - + 3 3 - + 4 4 - + 5 5 - + 6 6 - + 7 7 - + 8 8 - + Switch Schalter - + + Switch used by the input. +If blank then the input is considered to be "ON" all the time. + + + + + The curve used by the input + + + + + Source + Quelle + + + + Line name + + + Switch used by the expo. If blank then the expo is considered to be "ON" all the time. - Benützter Schalter für Weg/Expo. + Benützter Schalter für Weg/Expo. Bei keiner Eingabe ist Expo generell eingeschaltet. - Curve/Exponential - kurve/Exponential + kurve/Exponential - + Stick Side Knüppel Seite - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Delay ans Slow</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These values control the speed and delay of the output of the mix. </p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Verzögerung</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Diese Einstellung beeinflußt die Geschwindigkeit und Verzögerung des Mischerausganges.</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Wenn Verzögerung ungleich 0 ist wird die Betätigung der Mischerfunktion für die eingegebene Anzahl Sekunden verzögert</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Wenn Langsam ungleich 0 ist wird die Geschwindigkeit des Mischers durch den eingegebenen Wert beeinflußt. Der Wert legt die +Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 benötigen soll.</p></body></html> + + + + Scale + Skala + + + + Include Trim + Trimmung einschliessen + + + + No + Nein + + + + Yes + Ja + + + Curve Kurve - The curve used by the expo - Angewendete Kurve für Expo + Angewendete Kurve für Expo Mode Modus - + NEG NEG - + POS POS - + ALL BEIDE - DEST -> %1 Meaning not all clear - Ziel -> %1 + Ziel -> %1 + + + + Edit %1 + + + + + Rud + Rud + + + + Ele + Ele + + + + Thr + Thr + + + + Ail + Ail + + + + FlightMode + + + Form + + + + + Fade In + Fade In + + + + Fade Out + Fade Out + + + + Name + Name + + + + Switch + Schalter + + + + trim1 + Trimmung1 + + + + trim2 + Trimmung2 + + + + trim4 + Trimmung4 + + + + trim3 + Trimmung3 + + + + Rud + Rud + + + + Ele + Ele + + + + Thr + Thr + + + + Ail + Ail + + + + Rotary Encoder %1 + + + + + GVAR%1 + + + + + FlightModes + + + Flight Mode %1 + + + + + (%1) + + + + + (default) + @@ -184,13 +747,13 @@ Dieses sind für alle Modelle im gleichen EEPROM gültig. Einstellungen - + Contrast Kontrast - - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -201,12 +764,12 @@ p, li { white-space: pre-wrap; } Die Werte können sein - + Sound Mode Sound Modus - + Beeper Piepser @@ -219,7 +782,7 @@ Die Werte können sein PcmWav - + Speaker Pitch (spkr only) Lautstärke (nur PiSpkr) @@ -228,12 +791,12 @@ Die Werte können sein Haptik Stärke (nur PiSpkr) - + Battery Warning Batteriewarnung - + Battery warning voltage. This is the threashhold where the battery warning sounds. @@ -244,12 +807,12 @@ Dies ist die Warnschwelle bei der die Batteriewarnung piepst Mögliche Werte von 5V..10V - + Battery Calibration Kalibrierung Batteriespannung - + Battery calibration: This value will be added to the measured battery voltage. Use this value to calibrate the meter with an external meter. Kalibrierung Batteriespannung: @@ -260,7 +823,7 @@ Dieser Wert wird zur gemessenen Batteriespannung addiert. Dieser Wert wird zur K Schalter Hintergrundbeleuchtung - + This is the switch selectrion for turning on the backlight (if installed). @@ -273,39 +836,39 @@ Dieser Wert wird zur gemessenen Batteriespannung addiert. Dieser Wert wird zur K Automatische Hintergrundbeleuchtung EIN/AUS nach - + If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. Wenn dieser Wert ungleich 0 ist, wird die Hintergrundbeleuchtung nach irgendeinem Tastendruck eingeschaltet und nach einer eingestellten Zeit in Sekunden ausgeschaltet. - - + + sec sek - + Inactivity Timer Inaktivitätstimer - + If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes. Falls ungleich 0 ertönt ein Piepston wenn der Sender für eine bestimmte Anzahl Minuten nicht bedient wurde. - + min Min - + Timer Beeps Piepston Timer - + <!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; } @@ -314,22 +877,22 @@ p, li { white-space: pre-wrap; } Einzelton jede volle Minute - + Every Minute Jede Minute - + Beeps at 30, 15, 10, and down from5 seconds Piepston bei 30, 15, 10 und 5 Sekunden - + Count Down to Zero Countdown bis 0 - + <!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; } @@ -338,47 +901,43 @@ p, li { white-space: pre-wrap; } Blinken der Hintergrundbeleuchtung nach Timerablauf - + Flash on beep Blinken während Piepsen - Reverse Throttle Operation - Gasminimum vorne + Gasminimum vorne - Reverse throttle operation. If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. - Gasminimum vorne. + Gasminimum vorne. Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufstellung ist vorne, die Trimmung sowie die Knüppelstellungswarnung ist ebenfalls umgedreht. - + Show Splash Screen on Startup Zeige Startbildschirm während Start - - + + Show splash screen on startup Zeige Startbildschirm während Start - Throttle Startup Warning - Warnung Gasknüppelstellung + Warnung Gasknüppelstellung - - - - - - + + + + + <!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; } @@ -399,37 +958,36 @@ Warnung stummer Betrieb - Wird angezeigt, wenn der Piepser ausgeschaltet ist - Switch Startup Warning - Warnung Schalterstellung beim Einschalten + Warnung Schalterstellung beim Einschalten - + Memory Startup Warning Warnung Speicherplatz beim Einschalten - + Alarm Warning Warnung Alarm - + Pot Scrolling Enable PotScroll einschalten - + Bandgap Measuring Enable Bandgap Messung aktivieren - + Channel Order (For Templates) Kanalanordnung - + Channel order This is used by the templated to determine which channel goes to what number output. @@ -438,12 +996,12 @@ This is used by the templated to determine which channel goes to what number out Damit werden die Kanäle den Ausgängen zugeordnet. - + Stick Mode Knüppelmodus - + Mode selection: Mode 1: @@ -484,40 +1042,42 @@ Mode 4: - + Mode 1 (RUD ELE THR AIL) Mode 1 (RUD ELE THR AIL) - + Mode 2 (RUD THR ELE AIL) Mode 2 (RUD THR ELE AIL) - + Mode 3 (AIL ELE THR RUD) Mode 3 (AIL ELE THR RUD) - + Mode 4 (AIL THR ELE RUD) Mode 4 (AIL THR ELE RUD) - + Beeper Mode Modus Piepser - + + + - - - - - - + + + + + + Beeper volume 0 - Quiet. No beeps at all. @@ -534,81 +1094,78 @@ Mode 4: 4 - Sehr laut. - - + + Quiet Stumm - - + + No Keys Kein Tastaturpieps - - + + Normal Normal - - + + Long Lange - + Input Filter Filter Eingang - + Single Einfach - + Oversample Oversample - + Filter Filter - + Owner Name Besitzer - + - - - + + Off Aus - Switches Up - Schalter oben + Schalter oben - Switches Down - Schalter unten + Schalter unten - + Trainer Trainer - - + + PPM 1 PPM 1 @@ -621,60 +1178,60 @@ Mode 4: := + - - - + + chn1 chn1 + - - - + + chn2 chn2 + - - - + + chn3 chn3 + - - - + + chn4 chn4 - + Mode Modus - + Telemetry NO DATA Alarm Telemetrie Alarm aktivieren - + Show Owner Name on Splash Zeige Besitzernamen in Startbildschirm - + Only Alarms nur Alarme - - + + All Alles @@ -683,86 +1240,86 @@ Mode 4: HG Licht bei Knüppelbewegung - + THR THR - + RUD RUD - + ELE ELE - + AIL leave it as abreviation? AIL - + GEA GEA - + ID0 ID0 - + ID1 ID1 - + ID2 ID2 - + Beeper Length Piepser Länge - - + + X-Short X-kurz - - + + Short Kurz - - + + X-Long X-lang - + Haptic Mode Haptik Modus - + Alarms Only nur Alarme - + Haptic Length - + GPS Coordinates @@ -777,122 +1334,122 @@ Mode 4: - + Speaker - + BeeperVoice - + SpeakerVoice - + hh° (N/S) mm' ss''.dd - + NMEA - + Timeshift from UTC - + LCD Display Type - + Standard - + Optrex - + Speaker Volume - + Haptic Strength - + BackLight Brightness Helligkeit der Hintergrundbeleuchtung - + RotEnc Navigation - + BackLight Auto OFF after Automatische Hintergrundbeleuchtung AUS nach - + BackLight Switch Schalter Hintergrundbeleuchtung - + BackLight On Stick Move HG Licht bei Knüppelbewegung - + BackLight Invert Hintergrundbeleuchtung invertieren - + Country Code - + Europe - + Japan - + America Amerika - + FrSky Internal Alarm - + StickScroll - + PPMSim @@ -902,47 +1459,47 @@ Mode 4: - + CrossTrim - + Beep volume Piepser lautstärke - + Wav volume - + Vario volume Vario Lautstärke - + Background volume Hintergrundlautstärke - + Measurement Units - + Metric Metrisch - + Imperial Imperial - + FAI Mode @@ -952,206 +1509,228 @@ Mode 4: - + 4800 Baud - + 9600 Baud - + 14400 Baud - + 19200 Baud - + 38400 Baud - + 57600 Baud - + 76800 Baud - + 115200 Baud - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. - + Readonly Unlock - + SC - + SE - + SA - + SF - + SH - + SD - + SB - + SG - + Input Eingang - + Weight Weg - + Switch Schalter + - - - + + += (Sum) += (add) + - - - + + := (Replace) := (ersetzen) - - + + PPM 2 PPM 2 - - + + PPM 3 PPM 3 - - + + PPM 4 PPM 4 - + Telemetry Telemetrie - + RSSI Alarm 1 RSSI Alarm 1 - - + + ---- ---- - - + + Yellow gelb - - + + Orange orange - - + + Red Rot - + RSSI Alarm 2 RSSI Alarm 2 - + NO DATA Alarm KEINE DATEN Alarm - + Calibration Kalibrierung - + POT 4 POT 4 - + Current - - + + + Pot (normal) + + + + + + Multipos Switch + + + + + S1 Type + + + + + S2 Type + + + + + Mid value Mid Value @@ -1169,54 +1748,54 @@ Mode 4: Positiv - + STICK 1 KNÜPPEL 1 - + STICK 2 KNÜPPEL 2 - + STICK 3 KNÜPPEL 3 - - + + Negative span - - + + Positive span - + STICK 4 KNÜPPEL 4 - + POT 1 POT 1 - + POT 2 POT 2 - + POT 3 POT 3 - + Battery Akku @@ -1249,7 +1828,7 @@ Mode 4: ANALOG 7 - + v v @@ -1258,44 +1837,254 @@ Mode 4: PPM In - + PPM Multiplier PPM Multiplikator - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. Are you sure ? - - + + Warning Warnung - + Wrong data in profile, radio calibration was not retrieved - + Wrong data in profile, hw related parameters were not retrieved - + Do you want to store calibration in %1 profile<br>overwriting existing calibration? - + Calibration and HW parameters saved. + + Heli + + + Form + + + + + Invert Elevator + Höhenruder invertieren + + + + Invert Aileron + Querruder invertieren + + + + Invert Collective + Collective Pitch invertieren + + + + Invert + Invertieren + + + + Off + Aus + + + + 120 + 120 + + + + 120X + 120X + + + + 140 + 140 + + + + 90 + 90 + + + + Collective + Collective + + + + Swash Type + Taumelscheibe + + + + Swash Ring + Ring Taumelscheibe + + + + InputsPanel + + + + Move Up + Nach oben + + + + + Ctrl+Up + Ctrl+Up + + + + + Move Down + Nach unten + + + + + Ctrl+Down + Ctrl+Down + + + + Clear All Settings + + + + + Source(%1) + + + + + No Trim + + + + + Weight(%1) + + + + + Switch(%1) + + + + + Not enough available inputs! + + + + + Delete Selected Inputs? + + + + + &Add + &Addieren + + + + Ctrl+A + Ctrl+a + + + + &Edit + + + + + Enter + Eingabe + + + + &Delete + &Löschen + + + + Delete + Löschen + + + + &Copy + &Kopieren + + + + Ctrl+C + + + + + &Cut + &Ausschneiden + + + + Ctrl+X + + + + + &Paste + + + + + Ctrl+V + + + + + Du&plicate + D&uplizieren + + + + Ctrl+U + + + + + Clear Inputs? + + + + + Really clear all the inputs? + + + MainWindow @@ -1303,10 +2092,10 @@ Are you sure ? eePe EEPROM Editor - - - - + + + + File loaded Datei geladen @@ -1319,11 +2108,11 @@ Are you sure ? Eine neue Version des ER9X ist vorhanden. Möchtest Du diese herunterladen ? - - - - - + + + + + Save As Speichern unter @@ -1332,17 +2121,17 @@ Are you sure ? EEPROM hex Datei (*.hex);;EEPROM bin Datei (*.bin) - - + + No updates available at this time. Kein Update vorhanden. - - - - - + + + + + Unable to check for updates. Kann nicht auf Updates überprüfen. @@ -1355,30 +2144,35 @@ Are you sure ? Eine neue Version von ER9x(%2) ist vorhanden(r%1)<br>Möchtest Du diese herunterladen ? - + Executable (*.exe) Anwendung (*.exe) - + + A new release of Companion is available please check the OpenTX website! + + + + Would you like to launch the installer? Möchtest Du das Installationsprogramm starten ? - - + + Compilation server requires registration, please check OpenTX web site - + A new version of %1 firmware is available (current %2 - newer %3). Do you want to download it now ? Eine neue Version der %1-Firmware ist verfügbar (aktuell %2 - neueste %3).. Möchten Sie sie jetzt herunterladen? - + Open Öffnen @@ -1387,8 +2181,8 @@ Möchten Sie sie jetzt herunterladen? EEPROM Dateien (*.bin *.hex);;BIN Dateien (*.bin);;HEX Dateien (*.hex) - - + + File saved Datei gespeichert @@ -1429,7 +2223,7 @@ Möchten Sie sie jetzt herunterladen? Lese Flash und speichere in Datei - + Copyright Copyright @@ -1439,78 +2233,75 @@ Möchten Sie sie jetzt herunterladen? Wenn Du dieses Programm und/oder die Firmware nützlich findest dann unterstütze uns durch - donating - spenden + spenden About eePe Über eePe - - - + + &%1 %2 &%1 %2 - %1 %2 - %1 %2 + %1 %2 - + &New &Neu - + Create a new file Neue Datei erstellen - + &Open... Datei ö&ffnen... - + Open an existing file Öffne eine bestehende Datei - + &Save Datei &speichern - + Save the document to disk Speichere das Dokument auf Festplatte - + Save &As... Speichern &unter... - + Save the document under a new name Speichere das Dokument unter einem neuen Namen - + &Preferences... &Einstellungen... - + Edit general preferences Bearbeite generelle Einstellungen - + &Check for updates... &Überprüfe auf Updates... @@ -1519,7 +2310,7 @@ Möchten Sie sie jetzt herunterladen? Überprüfe auf eine neue Version von eePe/er9x - + Display previous warning again at startup ? @@ -1529,102 +2320,97 @@ Möchten Sie sie jetzt herunterladen? Eine neue Version von companion9x ist verfügbar (version %1)<br>Möchten Sie sie herunterladen? - + New release available - - - - - - - - + + + + + + + + + + + + - - - - Error Fehler - - - - - + + + + + Error opening file %1: %2. Fehler beim Öffnen der Datei %1: %2. - + Compilation server termporary failure, try later - + Display previous message again at startup ? - - - + + + Companion - Models and Settings Editor - %1 - profile %2 - - - - + + + + Companion - Models and Settings Editor - %1 - + A new version of Companion is available (version %1)<br>Would you like to download it? - - A new release of Companion is available please check the repository - - - - + Firmware does not longer fit in the Tx, due to selected firmware options - + Compilation server temporary failure, try later - - + + Compilation server too busy, try later - - + + Unknown server failure, try later - + Firmware does not fit in the Tx, due to selected firmware options - + Firmware %1 does not seem to have ever been downloaded. Version %2 is available. Do you want to download it now ? @@ -1633,65 +2419,65 @@ Version %2 ist verfügbar. Möchten Sie sie jetzt herunterladen? - - + + Yes Ja - - + + No Nein - - + + Release Notes - - + + Do you want to download release %1 now ? - + Release notes contain very important informations. Do you want to see them now ? - + Firmware updates - + Current firmware does not provide release notes informations. - + Cannot write file %1: %2. Kann Datei %1: %2 nicht schreiben. - - - - - + + + + + Taranis radio not found - - - - + + + + Impossible to identify the radio on your system, please verify the eeprom disk is connected. @@ -1704,16 +2490,16 @@ wurde nicht als gültige EEPROM Datei erkannt. Trotzdem brennen? - - - + + + Backup is impossible - - - + + + The backup dir set in preferences does not exist @@ -1722,8 +2508,8 @@ Trotzdem brennen? Sicherung EEPROM von Tx - - + + Warning Warnung @@ -1732,7 +2518,7 @@ Trotzdem brennen? Brenne Flash in den Tx - + Conversion failed Umwandlung gescheitert @@ -1745,7 +2531,7 @@ Trotzdem brennen? EEPROM in Tx zurückspeichern - + Restore failed Zurückspeicherung gescheitert @@ -1762,7 +2548,7 @@ Trotzdem brennen? Flashen des Tx nicht möglich, ursprüngliche EEProm Dateil ist verfügbar unter: %1 - + Backup failed Sicherung fehlgeschlagen @@ -1771,151 +2557,149 @@ Trotzdem brennen? Sicherung des bestehenden EEEPROMs vom Tx gescheitert, Flash Prozess abgebrochen - + Do you want to write the firmware to the transmitter now ? - - - - + + + + Read Models and Settings From Tx - + Write Models and settings from %1 to the Tx? - + The file %1 has not been recognized as a valid Models and Settings file Write anyway ? - - - - - - + + + + + + Backup Models and Settings From Tx - + Cannot check Models and Settings compatibility! Continue anyway? - + The transmitter firmware belongs to another product family, check file and preferences! - + The transmitter firmware is outdated, please upgrade! - + Write Models and Settings To Tx - - + + Write Firmware To Tx - + Cannot convert Models and Settings for use with this firmware, original data will be used - + Restore Models and Settings To Tx - + Could not restore Models and Settings to TX. The models and settings data file can be found at: %1 - + Firmware write failed - + Could not write firmware to to transmitter. The models and settings data file can be found at: %1 - + Cannot backup existing Models and Settings from TX. Firmware write process aborted - + Save transmitter Models and Settings to File - + Impossible to identify the radio on your system, please verify that the eeprom disk is connected. - + Read Tx Firmware to File - Version %1 (revision %2), %3 - Version %1 (Revision %2), %3 + Version %1 (Revision %2), %3 The companion9x project was originally forked from eePe Das 'companion9x' Projekt ist ursprünglich aus eePe entstanden. - If you've found this program useful, please support by - Wenn Sie diese Programm hilfreich finden, bitte unterstützen Sie + Wenn Sie diese Programm hilfreich finden, bitte unterstützen Sie About companion9x Über companion9x - + &loadBackup... - + Load backup from file - + Lo&gs - + Ctrl+G - + Open log file @@ -1924,7 +2708,7 @@ Write anyway ? Überprüfe auf neue Version von companion9x/er9x - + Contributors &List... &Mitwirkende... @@ -1933,178 +2717,193 @@ Write anyway ? Zeige die Liste der Mitwirkenden von 'companion9x' - + ChangeLog... - - The Companion project was originally forked from eePe + + OpenTX Home Page: <a href='%1'>%1</a> - + + The OpenTX Companion project was originally forked from <a href='%2'>eePe</a> + + + + + If you've found this program useful, please support by <a href='%1'>donating</a> + + + + + Version %1, %3 + + + + About Companion - + Check for new version of Companion - + Show Companion contributors list - + Show Companion changelog - + Firmware ChangeLog... - + Show firmware changelog - + Compare... - + Compare models - + Customize your &TX... Passe Deinen &TX an... - + Customize the splash screen of your TX Persönliche Anpassung des Tx Startbildschirmes - + E&xit Be&enden - + Exit the application Beendet die Anwendung - + Cu&t &Ausschneiden - + Cut the current selection's contents to the clipboard Scheidet die momentane Auwahl aus und kopiert den Inhalt in den Zwischenspeicher - + &Copy &Kopieren - + Copy the current selection's contents to the clipboard Kopiert die momentane Auswahl in den Zwischenspeicher - + &Paste &Einfügen - + Paste the clipboard's contents into the current selection Fügt den Inhalt des Zwischenspeichers in die momentane Auswahl ein - + &Write Models and Settings To Tx - + Write Models and Settings to transmitter - + &Read Models and Settings From Tx - + Read Models and Settings from transmitter - + Write Firmware - + Write firmware to transmitter - + Write Models and Settings from file to Tx - + Write Models and Settings from file to transmitter - + Save transmitter Models and Settings to file - + Save the Models and Settings from the transmitter to a file - + Read Firmware - + Read firmware from transmitter - + Configure software for reading from and writing to the transmitter - - + + Invalid Models and Settings File %1 - + Invalid binary Models and Settings File %1 @@ -2113,7 +2912,7 @@ Write anyway ? &Schreibe EEPROM in den Sender - + Ctrl+Alt+W Ctrl+Alt+W @@ -2126,7 +2925,7 @@ Write anyway ? &Lese EEPROM vom Sender - + Ctrl+Alt+R Ctrl+Alt+R @@ -2167,7 +2966,7 @@ Write anyway ? Lese Flash Speicher und schreibe in den Sender - + &Configure... &Einstellungen... @@ -2176,143 +2975,131 @@ Write anyway ? Einstellungen Brennsoftware - + &List programmers &Programmiergeräte - + List available programmers Programmiergeräte - + &Fuses... &Fuses... - + Show fuses dialog Zeige Fuses Einstellungen - + &Simulate &Simulation - + Alt+S Alt+S - + Simulate selected model. Simuliert das ausgewählte Modell. - + &Print &Drucken - + Ctrl+P Ctrl+P - + Print current model. Drucke momentane Modelleinstellungen. - Cl&ose - &Schliessen + &Schliessen - Close the active window - Schliesst das aktuelle Fenster + Schliesst das aktuelle Fenster - Close &All - Schliesse &Alles + Schliesse &Alles - Close all the windows - Schliesst alle Fenster + Schliesst alle Fenster - &Tile - &Anordnen + &Anordnen + + + Tile the windows + Nebeneinander Ordnen von Fenstern + + + &Cascade + &Kaskadieren + + + Cascade the windows + Kaskadiere die Fenster + + + Ne&xt + Nä&chstes + + + Move the focus to the next window + Nächstes Fenster aufrufen + + + Pre&vious + Vor&hergehendes + + + Move the focus to the previous window + Vorhergehendes Fenster aufrufen - Tile the windows - Nebeneinander Ordnen von Fenstern - - - - &Cascade - &Kaskadieren - - - - Cascade the windows - Kaskadiere die Fenster - - - - Ne&xt - Nä&chstes - - - - Move the focus to the next window - Nächstes Fenster aufrufen - - - - Pre&vious - Vor&hergehendes - - - - Move the focus to the previous window - Vorhergehendes Fenster aufrufen - - - &About &Über - + Show the application's About box Zeige das Infofenster - - + + Recent Files Letzte Dateien - + &Read/Write - + Write - + Unable to find file %1! Kann die Datei %1 nicht finden ! @@ -2321,7 +3108,7 @@ Write anyway ? Ungültige EEPROM Datei %1 - + Error reading file %1: %2. Fehler beim Lesen der Datei %1: @@ -2340,37 +3127,35 @@ Write anyway ? Zeige die er9x/eePe Mitwirkende - Switch layout Left/Right - Schalte Layout um Rechts/Links + Schalte Layout um Rechts/Links - - + + Firmware Profiles - + &File &Datei - Switch layout direction - Schalte Programmlayout um + Schalte Programmlayout um companion9x - EEPROM Editor companion9x - EEPROM Editor - + Checking for updates Überprüfe auf Updates - + Ignore this version (r%1)? Diese Version ignorieren (%1)? @@ -2379,7 +3164,7 @@ Write anyway ? Eine neue Version von eePe ist vorhanden /r%1)<br>Möchtest Du diese herunterladen ? - + &Edit &Bearbeiten @@ -2388,22 +3173,21 @@ Write anyway ? B&rennen - &Window - &Fenster + &Fenster - + &Help &Hilfe - + File Datei - + Edit Bearbeiten @@ -2412,12 +3196,12 @@ Write anyway ? Brennen - + Help Hilfe - + Ready Fertig @@ -2433,25 +3217,25 @@ Write anyway ? Gewähltes Modell löschen ? - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + Error Fehler @@ -2464,7 +3248,7 @@ Write anyway ? Kann das Modell nicht anlegen ! - + Editing model %1: Modell %1 bearbeiten : @@ -2478,8 +3262,8 @@ Write anyway ? Dokument%1.hex - - + + Unable to find file %1! Kann die Datei %1 nicht finden ! @@ -2494,8 +3278,8 @@ Write anyway ? Fehler beim Lesen der Datei %1 ! - - + + Error reading file %1: %2. Fehler beim Lesen der Datei %1: @@ -2515,20 +3299,20 @@ File wrong size - %1 Dateigröße falsch - %1 - - - - + + + + Error opening file %1: %2. Fehler beim Öffnen der Datei %1: %2. - - - - + + + + Save As Speichern unter @@ -2537,10 +3321,10 @@ Dateigröße falsch - %1 EEPROM hex Datei (*.hex);;EEPROM bin Datei (*.bin) - - - - + + + + Cannot write file %1: %2. Kann Datei %1: @@ -2555,8 +3339,8 @@ Dateigröße falsch - %1 %1 - - + + Error writing file %1: %2. Fehler beim Schreiben der Datei %1: @@ -2578,97 +3362,97 @@ Möchtest Du die Änderungen speichern ? Freie Bytes - + Do you want to use model wizard? - - - + + + Companion - + Ask this question again ? - - + + Invalid EEPROM File %1 Ungültige EEPROM Datei %1 - + Invalid binary EEPROM File %1 Ungültige EEPROM Programmdatei %1 - + Backup is impossible - + The backup dir set in preferences does not exist - - - + + + Taranis radio not found - - - + + + Impossible to identify the radio on your system, please verify the eeprom disk is connected. - - - + + + Backup EEPROM From Tx Sicherung EEPROM von Tx - + Cannot check eeprom compatibility! Continue anyway? - - + + Warning Warnung - + Firmware in radio is of a different family of eeprom written, check file and preferences! - + Firmware in flash is outdated, please upgrade! - + Write EEPROM To Tx - + Open Öffnen - + Invalid binary backup File %1 @@ -2677,7 +3461,7 @@ Möchtest Du die Änderungen speichern ? companion9x - + %1 has been modified. Do you want to save your changes? %1 wurde verändert. @@ -2689,7 +3473,7 @@ Wollen Sie Ihre Änderungen sichern? Brenne %1 in den Sender ? - + Cannot write temporary file! Kann temporäre Datei nicht schreiben! @@ -2757,25 +3541,25 @@ Wollen Sie Ihre Änderungen sichern? MixerDialog - + Dialog Dialog - + Source Quelle - - - - + + + + The source for the mixer Die Mischerquelle - + Weight Gewichtung @@ -2784,10 +3568,7 @@ Wollen Sie Ihre Änderungen sichern? Der Mischerwert wird mit diesem Wert multipliziert und durch 100 dividiert. - - - - + Offset Offset @@ -2800,7 +3581,7 @@ p, li { white-space: pre-wrap; } Dieser Wert wird zum Eingang addiert - + Include Trim Trimmung einschliessen @@ -2810,70 +3591,60 @@ p, li { white-space: pre-wrap; } Wenn angewählt wird die Trimmung zur Quelle addiert (falls vorhanden) - + Curve Kurve - + The curve used by the mix Die Mischerkurve - + Switch Schalter - - Fix Offset - - - - - - + + + GV - + Switch used by the mix. If blank then the mix is considered to be "ON" all the time. Mischerschalter. Wenn leer ist der Mischer immer aktiv. - + Yes Ja - + No Nein - + Warning Warnung - + Name Name - - - Curve/Differential - - Phases Phasen - + Mixer warning. Setting this value will cause a beep to be emmitted when this value is active. Not clear what that means... @@ -2881,32 +3652,32 @@ Setting this value will cause a beep to be emmitted when this value is active. - + OFF AUS - + 1 Beep 1 Piepston - + 2 Beep 2 Piepstöne - + 3 Beep 3 Piepstöne - + Multiplex MULTIPLEX - + Multiplexer This determines how mixer values are added. @@ -2923,72 +3694,72 @@ Diese Einstellung bestimmt wie die Mischerwerte behandelt werden. "R" bedeutet der Wert des aktuellen Mischers ersetzt den vorhergehenden Mischer. Wenn der Schalter aus ist wird der Wert ignoriert. - + ADD ADDIEREN - + MULTIPLY MULTIPLIZIEREN - + REPLACE ERSETZEN - + Flight modes Flugphasen - + Include DR/Expo - + 0 0 - + 1 1 - + 2 2 - + 3 3 - + 4 4 - + 5 5 - + 6 6 - + 7 7 - + 8 8 @@ -2997,34 +3768,33 @@ Diese Einstellung bestimmt wie die Mischerwerte behandelt werden. Phase - Enable FM Trim - FPh Trimmung einschl + FPh Trimmung einschl Differential Differential - + Delay Verzögerung - + Slow Langsam - + Up Nach oben - - - - + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -3050,51 +3820,225 @@ p, li { white-space: pre-wrap; } Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 benötigen soll.</p></body></html> - + Down Nach unten - + DEST -> X%1 - + DEST -> CH%1%2 DEST -> CH%1%2 - - FM Trim Value - FPh Trim Wert + FPh Trim Wert - + Rud Rud - + Ele Ele - + Thr Thr - + Ail Ail + + MixesPanel + + + + Move Up + Nach oben + + + + + Ctrl+Up + Ctrl+Up + + + + + Move Down + Nach unten + + + + + Ctrl+Down + Ctrl+Down + + + + Clear Mixes + Mischer löschen + + + + + + X%1 + + + + + + + CH%1%2 + CH%1%2 + + + + Weight(%1) + + + + + Switch(%1) + + + + + No Trim + + + + + No DR/Expo + + + + + Offset(%1) + + + + + Delay(u%1:d%2) + Verzögerung(u%1:d%2) + + + + Slow(u%1:d%2) + Langsam/u%1:d%2) + + + + Warn(%1) + Warnung(%1) + + + + Not enough available mixers! + Nicht genügend Mischer verfügbar! + + + + Delete Selected Mixes? + Lösche ausgewählte Mischer? + + + + &Add + &Addieren + + + + Ctrl+A + Ctrl+a + + + + &Edit + + + + + Enter + Eingabe + + + + &Delete + &Löschen + + + + Delete + Löschen + + + + &Copy + &Kopieren + + + + Ctrl+C + + + + + &Cut + &Ausschneiden + + + + Ctrl+X + + + + + &Paste + + + + + Ctrl+V + + + + + Du&plicate + D&uplizieren + + + + Ctrl+U + + + + + Clear Mixes? + Mischer löschen? + + + + Really clear all the mixes? + Wirklich alle Mischer löschen ? + + ModelEdit - + Dialog Dialog @@ -3103,156 +4047,106 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 Trainer - Throttle2Trig - Throttle2Trig + Throttle2Trig - - - PPM Frame Length not accurate Translation - PPM Frame Length + PPM Frame Length - - - mSec - mSec + mSec - - DSM Type - DSM-Typ + DSM-Typ - - LP4/LP5 - LP4/LP5 + LP4/LP5 - - DSM2only - nurDSM2 + nurDSM2 - - DSM2/DSMX - DSM2/DSMX + DSM2/DSMX - - RX Number - Rx Nummer + Rx Nummer - Throttle Source Throttle Trace - Gas Verfolgung + Gas Verfolgung - - CH01 - CH01 + CH01 - - CH02 - CH02 + CH02 - - CH03 - CH03 + CH03 - - CH04 - CH04 + CH04 - - CH05 - CH05 + CH05 - - CH06 - CH06 + CH06 - - CH07 - CH07 + CH07 - - CH08 - CH08 + CH08 - - CH09 - CH09 + CH09 - - CH10 - CH10 + CH10 - - CH11 - CH11 + CH11 - - CH12 - CH12 + CH12 - - CH13 - CH13 + CH13 - - CH14 - CH14 + CH14 - - CH15 - CH15 + CH15 - - CH16 - CH16 + CH16 Function switches @@ -3323,239 +4217,36 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 FSchalter16 - - Param - Parameter + Parameter - - Disable Throttle Warning - - - - - Switch startup Warning - - - - Instant Trim - Instant Trim + Instant Trim - - REa - - - - - REb - - - - 3POS - 3POS + 3POS - - - Check - - - - - - - ON - - - - - OFF - AUS + AUS - GEA - GEA + GEA - ID0 - ID0 + ID0 - ID1 - ID1 + ID1 - ID2 - ID2 - - - - - TriggerB - - - - - Model Voice - - - - - - - - - - - - - GVAR1 - - - - - - - - - - - - - GVAR2 - - - - - - - - - - - - - GVAR3 - - - - - - - - - - - - - GVAR4 - - - - - - - - - - - - - GVAR5 - - - - - - - - - - - - - Rotary encoder B - - - - - - - - - - - - - Rotary encoder A - - - - - - Sym - - - - - - Curve type - - - - - 3 points - - - - - 3 points custom - - - - - 5 points - - - - - 5 points custom - - - - - 9 points - - - - - 9 points custom - - - - - 17 points - - - - - 17 points custom - - - - - - Duration - + ID2 CSwitchF @@ -3574,10 +4265,8 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 CSchalterG - - Delay - Verzögerung + Verzögerung CSwitchT @@ -3643,52 +4332,6 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 CSwitchW CSchalterW - - - Custom Functions - - - - - Alti+ - - - - - Vario - - - - - Telemetry screen 1 - - - - - - - Custom Screen Type - - - - - - - Nums - - - - - - - Bars - - - - - Telemetry screen 2 - - FSwitch17 FSchalter17 @@ -3754,877 +4397,178 @@ Anzahl Sekunden fest, welche der Mischer für einen Durchgang von -100 bis +100 FSchalter32 - + + Heli + + + + + Inputs + + + + + Logical Switches + + + + + Switch Assignment + + + + Telemetry Telemetrie - - - - A1 - A1 + A1 - - Unit - Einheit + Einheit Volts (v) Volt(v) - - Raw (-) - Roh(-) + Roh(-) - - Max Value - Maximal + Maximal - - ModelSetup - - - - - SB - - - - - SD - - - - - SA - - - - - SC - - - - - SG - - - - - SE - - - - - SF - - - - - RS - - - - Reverse Throttle Operation - Gasminimum vorne + Gasminimum vorne - Reverse throttle operation. If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. - Gasminimum vorne. + Gasminimum vorne. Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufstellung ist vorne, die Trimmung sowie die Knüppelstellungswarnung ist ebenfalls umgedreht. - - Master - - - - - Slave - - - - - Trainer Mode - - - - - Master/Trainer Port - - - - - - - Start - - - - - - Polarity - - - - - RF Module 1 - - - - - RF Module 2 - - - - - - Persistent - - - - - - (00:00:00) - - - - - - MinuteBeep - - - - - - CountDownBeep - - - - - Model Image - - - - - Failsafe - - - - - External module - - - - - - Failsafe Mode - - - - - - Hold - - - - - - Custom - - - - - - No Pulses - - - - - Internal Module - - - - + Flight Modes - - Flight Mode 0 (Default) - - - - - - - - - - - - - Flight Mode Name - - - - - GVAR6 - - - - - GVAR7 - - - - - FM 1 - - - - - FM 2 - - - - - FM 3 - - - - - FM 4 - - - - - FM 5 - - - - - FM 6 - - - - - FM 7 - - - - - FM 8 - - - - - Sticks - - - - - Show channels names in mixes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --- - --- + --- - - - Center - - - - - Curve name - - - - - Curve Creator - - - - - Y at X=100 - - - - - Both - - - - - x>0 - - - - - x<0 - - - - - Linear - - - - - Single Expo - - - - - Symmetrical f(x)=-f(-x) - - - - - Symmetrical f(x)=f(-x) - - - - - Apply - - - - - Side - - - - - Y at X=-100 - - - - - Y at X=0 - - - - - Coefficient - - - - - CS9 - - - - - CSF - - - - - CSD - - - - - - AND - - - - - CS6 - - - - - CS1 - - - - - CS8 - - - - - CS7 - - - - - CSA - - - - - CSB - - - - - CSC - - - - - CS5 - - - - - CS3 - - - - - CS2 - - - - - CSE - - - - - CSG - - - - - CS4 - - - - - CST - - - - - CSM - - - - - CSP - - - - - CSH - - - - - CSO - - - - - CSN - - - - - CSQ - - - - - CSR - - - - - CSS - - - - - CSL - - - - - CSK - - - - - CSJ - - - - - CSI - - - - - CSU - - - - - CSV - - - - - CSW - - - - - Enable - aktivieren + aktivieren - - Volt source - - - - - Current source - - - - - NONE - - - - - - FAS - - - - - CEL - - - - - Altimetry / Vario - - - - - Alti - - - - - Sink Max - Sunk Max - - - - - Climb Max - Raise Max - - - - - Sink Min - Sunk Min - - - - - Climb Min - Raise Min - - - - - Vario source - - - - - Vario limits - - - - - Use GPS as altitude source - - - - - Display altitude in toolbar - - - - - Alarm 1 - Alarm 1 + Alarm 1 - - - - - - ---- - ---- + ---- - - - - - - Yellow - Gelb + Gelb - - - - - - Orange - orange + orange - - - - - - Red - Rot + Rot - - - - < - < + < - - - - > - > + > - - - Alarm 2 - Alarm 2 + Alarm 2 - - Min Value - Minimal + Minimal - - - - A2 - A2 + A2 - RSSI - RSSI + RSSI - Alarm 1 - Alarm 1 + Alarm 1 - Serial Protocol - Serielles Protokoll + Serielles Protokoll - Units - Einheiten + Einheiten - None - Nichts + Nichts - FrSky Sensor Hub - FrSky Sensor Hub + FrSky Sensor Hub - Metric - Metrisch + Metrisch - Imperial - Imperial + Imperial - 2 - 2 + 2 - 3 - 3 + 3 - 4 - 4 + 4 - Blades - Rotorblätter - - - - - Volts (V) - - - - - - Amps (A) - - - - - - Speed (m/s or ft/s) - - - - - - Speed (km/h or miles/h) - - - - - - Meters (m or ft) - - - - - - Temp (°) - - - - - - Fuel (%) - - - - - - mAmps (mA) - + Rotorblätter Telemetry Gauges Telemetrie Balkenanzeigen - - - Source - Quelle + Quelle - - - Gauge - Balken + Balken - - - Gauge 1 - Balken 1 + Balken 1 TX Alarm @@ -4635,50 +4579,34 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst RX Alarm - - - Gauge 2 - Balken 2 + Balken 2 - - - Gauge 3 - Balken 3 + Balken 3 - - - Gauge 4 - Balken 4 + Balken 4 - - Telemetry screen 3 - - - - Templates - Vorlagen + Vorlagen - + Simulate Simulation - + Setup Konfiguration - Model Name - Modell Name + Modell Name Timer Mode @@ -4689,263 +4617,173 @@ Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufst Richtung Stoppuhr - - Count Down - Herunterzählen + Herunterzählen - - Count Up - Hinaufzählen + Hinaufzählen Timer Value Einstellung Stoppuhr - - mm:ss - mm:ss + mm:ss - Trim Increment - Trimmer Inkrement + Trimmer Inkrement - Exponential - Exponential + Exponential - Extra Fine - Sehr fein + Sehr fein - Fine - Fein + Fein - Medium - Mittel + Mittel - Coarse - Grob + Grob - Throttle Trim - Trimmung Gas + Trimmung Gas - Throttle Expo - Expo Gas + Expo Gas instaTrim Switch instaTrim Schalter - Center beep - Zentrierpiepston + Zentrierpiepston - - - - - - - - - RUD - RUD + RUD - - - - - - - - - - - - ELE - ELE + ELE - - - - - THR - THR + THR - - - - - - - - - - AIL - AIL + AIL - P1 - P1 + P1 - P2 - P2 + P2 - P3 - P3 + P3 - Pulse Shift (polarity) - Puls Shift (Polarität) + Puls Shift (Polarität) - - - Positive - Positiv + Positiv - - - Negative - Negativ + Negativ - - - Protocol - Protokoll + Protokoll - - - + Channels Kanäle - - - - - - ch - ch + ch ppm Delay ppm Verzögerung - - - usec - usec + usec - Extended Limits - Erweiterte Grenzen + Erweiterte Grenzen - - Heli Setup - Hubschrauber Setup + Hubschrauber Setup - Swash Type - Taumelscheibe + Taumelscheibe - - Off - Aus + Aus - 120 - 120 + 120 - 120X - 120X + 120X - 140 - 140 + 140 - 90 - 90 + 90 - Collective - Collective + Collective - Swash Ring - Ring Taumelscheibe + Ring Taumelscheibe - Invert Elevator - Höhenruder invertieren + Höhenruder invertieren - Invert Aileron - Querruder invertieren + Querruder invertieren - Invert Collective - Collective Pitch invertieren + Collective Pitch invertieren Expo/Dr @@ -5008,130 +4846,70 @@ Right Höhenruder - + Mixes Mischer - Limits - Grenzen + Grenzen NOR NOR - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - INV - INV + INV - - - Channel - Kanal + Kanal - - - Offset - Offset + Offset - - - - - Min - Min + Min - - - - - Max - Max + Max - - - Invert - Invertieren + Invertieren - + Curves Kurven - Curve 1 - Kurve 1 + Kurve 1 - Curve 2 - Kurve 2 + Kurve 2 - Timer1 - Stoppuhr1 + Stoppuhr1 - Timer2 - Stoppuhr2 + Stoppuhr2 - - - PPM delay - PPM delay + PPM delay - Extended Trims - Erweiterte Trimmung + Erweiterte Trimmung Phases @@ -5146,82 +4924,28 @@ Right Phasen Name - - - - - - - - - Fade In - Fade In + Fade In - - - - - - - - - Fade Out - Fade Out + Fade Out - - - - - - - - - trim2 - Trimmung2 + Trimmung2 - - - - - - - - - trim1 - Trimmung1 + Trimmung1 - - - - - - - - - trim4 - Trimmung4 + Trimmung4 - - - - - - - - - trim3 - Trimmung3 + Trimmung3 Flight Phase 1 @@ -5245,80 +4969,65 @@ Right Expos/DR - Curve 3 - Kurve 3 + Kurve 3 - Curve 4 - Kurve 4 + Kurve 4 - Curve 5 - Kurve 5 + Kurve 5 - Curve 6 - Kurve 6 + Kurve 6 - Curve 7 - Kurve 7 + Kurve 7 - Curve 8 - Kurve 8 + Kurve 8 - Curve 9 - Kurve 9 + Kurve 9 - Curve 10 - Kurve 10 + Kurve 10 - Curve 11 - Kurve 11 + Kurve 11 - Curve 12 - Kurve 12 + Kurve 12 - Curve 13 - Kurve 13 + Kurve 13 - Curve 14 - Kurve 14 + Kurve 14 - Curve 15 - Kurve 15 + Kurve 15 - Curve 16 - Kurve 16 + Kurve 16 - Clear All Curves Clear All Mixes - Alle Kurven löschen + Alle Kurven löschen Switches @@ -5349,29 +5058,20 @@ Right CSchalter6 - - - - Function - Funktion + Funktion - Custom switches - Freie Schalter + Freie Schalter - - V1 - V1 + V1 - - V2 - V2 + V2 CSwitch7 @@ -5401,31 +5101,16 @@ Right CSchalterC - Safety Switches - Sicherheitsschalter + Sicherheitsschalter - - - - - - - - - - - - - Switch - Schalter + Schalter - Value - Wert + Wert Trims @@ -5448,11 +5133,8 @@ Right KNÜPPEL 3 - - - CH%1%2 - CH%1%2 + CH%1%2 Switch( @@ -5471,528 +5153,213 @@ Right Kurve(%1) - Delay(u%1:d%2) - Verzögerung(u%1:d%2) + Verzögerung(u%1:d%2) - Slow(u%1:d%2) - Langsam/u%1:d%2) + Langsam/u%1:d%2) - Warn(%1) - Warnung(%1) + Warnung(%1) Curve %1 Kurve %1 - - Expo - Expo + Expo Phase Phase - - Curve - Kurve + Kurve noTrim keinTrim - FMTrim - FPh Trimmung + FPh Trimmung - Diff - Diff + Diff - - CF%1 - - - - Error - Fehler + Fehler - - Unable to find sound file %1! - - - - Winged Shadow How High - Winged Shadow How High + Winged Shadow How High - Winged Shadow How High (not supported) - Winged Shadow How High (nicht unterstützt) + Winged Shadow How High (nicht unterstützt) - - Range - Bereich + Bereich - - Simple 4-CH - - - - - T-Cut - - - - - Sticky T-Cut - - - - - V-Tail - - - - - Elevon\Delta - - - - - 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 - - - - Not enough available mixers! - Nicht genügend Mischer verfügbar! + Nicht genügend Mischer verfügbar! - Not enough available expos! - Nicht genügend Expos verfügbar! + Nicht genügend Expos verfügbar! - Delete Selected Mixes? - Lösche ausgewählte Mischer? + Lösche ausgewählte Mischer? - - &Add - &Addieren + &Addieren - - Ctrl+A - Ctrl+a + Ctrl+a - - &Edit - &Editieren + &Editieren - - Enter - Eingabe + Eingabe - - - - &Delete - &Löschen + &Löschen - - - - Delete - Löschen + Löschen - - - - &Copy - &Kopieren + &Kopieren - - - - Ctrl+C - Ctrl+c + Ctrl+c - - - - &Cut - &Ausschneiden + &Ausschneiden - - - - Ctrl+X - Ctrl+x + Ctrl+x - - - - &Paste - &Einfügen + &Einfügen - - - - Ctrl+V - Ctrl+v + Ctrl+v - - Du&plicate - D&uplizieren + D&uplizieren - - Are you sure you want to delete curve %1 ? - - - - - - - - AIL2 - - - - - - - - ELE2 - - - - - - - - - - FLAPS - - - - - - - - - - FLAP%1 - - - - - - - - PITCH - - - - - - - - - - - - GYRO - - - - - - SPOIL - - - - - - SPOIL%1 - - - - - - RUD2 - - - - - Really clear existing mixes on CH6? - - - - - Really clear existing mixes on CH5? - - - - - Not enough free points in eeprom to store the curve. - - - - - - - Move Up - Nach oben + Nach oben - - - - Ctrl+Up - Ctrl+Up + Ctrl+Up - - - - Move Down - Nach unten + Nach unten - - - - Ctrl+Down - Ctrl+Down + Ctrl+Down - Clear Expo Settings - Expo Werte löschen + Expo Werte löschen - Clear Mixes - Mischer löschen + Mischer löschen - - S1 - - - - - S2 - - - - - LS - - - - Rud - Rud + Rud - Ele - Ele + Ele - Thr - Thr + Thr - Ail - Ail + Ail - Weight Weight(+%1%) - Weg + Weg - - Flight modes - Flugphasen + Flugphasen - - - Flight mode - - - - - - DISABLED - - - - - - - X%1 - - - - - No Trim - - - - - No DR/Expo - - - - - - - - CH %1 - - - - Editing curve %1 - Kurve %1 bearbeiten + Kurve %1 bearbeiten - Delete Selected Expos? - Ausgewählte Expos löschen? + Ausgewählte Expos löschen? - Apply Template? - Vorlage anwenden ? + Vorlage anwenden ? - Apply template "%1"? - Vorlage anwenden "%1"? + Vorlage anwenden "%1"? - Clear Expos? - Expo löschen? + Expo löschen? - Really clear all the expos? - Wirklich alle Expos löschen? + Wirklich alle Expos löschen? - - - Clear Mixes? - Mischer löschen? + Mischer löschen? - Really clear all the mixes? - Wirklich alle Mischer löschen ? + Wirklich alle Mischer löschen ? - + Clear Curves? Kurven löschen ? - + Really clear all the curves? Wirklich alle Kurven löschen ? @@ -6001,142 +5368,272 @@ Right D&uplizieren - - Ctrl+U - Ctrl+u + Ctrl+u ModelsListWidget - + &Edit &Editieren - + &Restore from backup - + &Model Wizard - + &Delete &Löschen - + Delete Löschen - + &Copy &Kopieren - + Ctrl+C Ctrl+C - + &Cut &Ausschneiden - + Ctrl+X Ctrl+X - + &Paste Ein&fügen - + Ctrl+V Ctrl+V - + D&uplicate D&uplizieren - + Ctrl+U Ctrl+U - + &Use as default setze &Standard - + P&rint model Modell &drucken - + Alt+R Alt+R - + Alt+S Alt+S - + &Simulate model &Simulation - + General Settings Generelle Einstellungen - + Delete Selected Models? Gewähltes Modell löschen ? - - + + Cannot delete default model. - + Cannot cut default model. - + Do you want to overwrite TX general settings? Wollen Sie die allg. TX Einstellungen überschreiben? - + You are pasting on an not empty model, are you sure? You are pasting on an not empty model, are you sure ? Sie kopieren in ein nicht leeres Modell, fortfahren? - + No free slot available, cannot duplicate + + Module + + + Form + + + + + Failsafe Mode + + + + + Start + + + + + PPM delay + PPM delay + + + + usec + usec + + + + Negative + Negativ + + + + Positive + Positiv + + + + RX Number + Rx Nummer + + + + Master + + + + + Slave + + + + + Polarity + + + + + Trainer Mode + + + + + mSec + mSec + + + + PPM Frame Length + PPM Frame Length + + + + Label + + + + + + ch + ch + + + + Channels + Kanäle + + + + Hold + + + + + Custom + + + + + No Pulses + + + + + Failsafe Positions + + + + + Protocol + Protokoll + + + + ModulePanel + + + Trainer Output + + + + + Internal Radio System + + + + + External Radio Module + + + QObject @@ -6151,67 +5648,77 @@ Right - + + Polish + + + + + CH%1 + CH%1 + + + No Nein - + RotEnc A - + Rot Enc B - + Rot Enc C - + Rot Enc D - + Rot Enc E - + Safety %1 - + Trainer Trainer - + Trainer RUD Trainer RUD - + Trainer ELE Trainer ELE - + Trainer THR Trainer THR - + Trainer AIL Trainer AIL - + Instant Trim Instant Trim @@ -6220,7 +5727,7 @@ Right Trims2Offsets - + Play Sound Audio abspielen @@ -6230,388 +5737,391 @@ Right Play Somo - + Start Logs Start Log - + Play Haptic - - + + Input%1 + + + + + --- --- - + Rud Trim - + Ele Trim - + Thr Trim - + Ail Trim - + Rot Enc - + English - + French - + Italian - + German - + Czech - + Slovak - + Spanish - + Portuguese - + Swedish - CH - CH + CH - - + + No repeat - + %1 sec - + Reset - + Vario - + Play Track - + Play Both - + Play Value - + Volume - + Backlight - + Background Music - + Background Music Pause - - Adjust GV1 - - - - - Adjust GV2 - - - - - Adjust GV3 - - - - - Adjust GV4 - - - - - Adjust GV5 - - - - + Delay %1 sec - + Duration %1 sec - - + + <font color=red><b>Inconsistent parameter</b></font> - - + + All Alles - - + + Telemetry Telemetrie - + Value - + Decr: - + Incr: - + + Played once, not during startup + + + + %1s %1s - - Value - Wert + + Adjust GV%1 + - - Source - Quelle - - - - GVAR + + Rotary Encoder + Value + Wert + + + + Source + Quelle + + + + GVAR + + + + Increment - + !Flight mode %1 - + Flight mode %1 - + Flight mode %1 trim - + Flight mode %1 value - + Yellow - + Orange orange - + Red - + Winged Shadow How High Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (nicht unterstützt) - + FrSky Sensor Hub FrSky Sensor Hub - + + None - + Imperial Imperial - + Metric Metrisch - + Extra Fine Sehr fein - + Fine Fein - + Medium Mittel - + Coarse - + Exponential Exponential - + Count Up Hinaufzählen - + Count Down Herunterzählen - + %1:%2, %1:%2, - + : %1 Channels, %2usec Delay : %1 Kanäle, %2usec Verzögerung {1 ?} {2u?} - + + Flight modes(%1) + + + + + Flight mode(%1) + + + + Rudder Seitenruder - + Elevator Höhenruder - + Throttle Gas - + Aileron Querruder - Diff - Diff + Diff - Expo - Expo + Expo - + Own trim @@ -6620,1040 +6130,1080 @@ Right FPHase %1 Trimmung - + Own value - + Keys - + Sticks - + Keys + Sticks - + + -GV%1 - - (-GV%1) - - - - - + + + GV%1 - - (GV%1) - - - - - - - + + + + ---- ---- - - RUD - RUD + RUD - - ELE - ELE + ELE - - - - + + THR THR - - AIL - AIL + AIL - - - + + + P1 P1 - - - + + + P2 P2 - - - + + + P3 P3 - - SA - - - - - SB - - - - - SC - - - - - SD - - - - - SE - - - - - SF - - - - - SG - - - - - SH - - - - + Batt - + SWR - + RSSI RSSI - + Pwr+ - + + + LS1 + + + + + + LS2 + + + + + + LS3 + + + + + + LS4 + + + + + + LS5 + + + + + + LS6 + + + + + + LS7 + + + + + + LS8 + + + + + + LS9 + + + + + + LSA + + + + + + LSB + + + + + + LSC + + + + + + LSD + + + + + + LSE + + + + + + LSF + + + + + + LSG + + + + + + LSH + + + + + + LSI + + + + + + LSJ + + + + + + LSK + + + + + + LSL + + + + + + LSM + + + + + + LSN + + + + + + LSO + + + + + + LSP + + + + + + LSQ + + + + + + LSR + + + + + + LSS + + + + + + LST + + + + + + LSU + + + + + + LSV + + + + + + LSW + + + + + Input %1 + + + + MAX MAX - - + + S11 + + + + + S12 + + + + + S13 + + + + + S14 + + + + + S15 + + + + + S16 + + + + + S21 + + + + + S22 + + + + + S23 + + + + + S24 + + + + + S25 + + + + + S26 + + + + + Diff(%1) + + + + + Expo(%1) + + + + + Function(%1) + + + + + Curve(%1) + + + + + !Curve(%1) + + + + + Rud Rud - - + + Ele Ele - - + + Thr Thr - - + + Ail unsure Ail - + TrmR - + TrmE - + TrmT - + TrmA - - + + S1 - - + + S2 - - + + LS - - + + RS - + + REa - + + REb - + Alt - + Rpm - + Fuel - + Tx - + Rx - + Speed - + Dist - + GPS Alt - + Cell - + Cels - + Vfas - + Curr - + Cnsp - + Powr - + AccX - + AccY - + AccZ - + HDG - + VSpd - + A1- A1- - + A2- A2- - + Alt- - + Alt+ - + Rpm+ - + T1+ T1+ - + T2+ T2+ - + Spd+ - + Dst+ - + Cur+ - + ACC - + Time - - - CS1 - - - - - - CS2 - - - - - - CS3 - - - - - - CS4 - - - - - - CS5 - - - - - - CS6 - - - - - - CS7 - - - - - - CS8 - - - - - - CS9 - - - - - - CSA - - - - - - CSB - - - - - - CSC - - - - - - CSD - - - - - - CSE - - - - - - CSF - - - - - - CSG - - - - - - CSH - - - - - - CSI - - - - - - CSJ - - - - - - CSK - - - - - - CSL - - - - - - CSM - - - - - - CSN - - - - - - CSO - - - - - - CSP - - - - - - CSQ - - - - - - CSR - - - - - - CSS - - - - - - CST - - - - - - CSU - - - - - - CSV - - - - - - CSW - - - - + ONE - + !ONE - + TRNs - + TRNl - + REAs - + REAl - 3POS - 3POS + 3POS - + X%1 - - + + Support for frsky telemetry mod - - + + Support for jeti telemetry mod - - + + Support for receiving ardupilot data - - + + Support for receiving NMEA data - + Support for telemetry easy board - - + + Support for MAVLINK devices - + Rotary Encoder use in menus navigation - + Possibility to enable FAI MODE at field - + FAI MODE always enabled - + openTx for 9X board - - - - - + + + + + Enable heli menu and cyclic mix support - - - - - - + + + + + + Enable TEMPLATES menu - - - - + + + + No splash screen - - - - - - + + + + + + Disable curves menus - - - - + + + + Support for radio modified with regular speaker - - - - - + + + + + Used if you have modified your radio with voice mode - - - - + + + + Used if you have modified your radio with haptic mode - - - - - - - - + + + + + + + + Use alternative SQT5 font - - - - + + + + Enable the throttle trace in Statistics - + EEprom write progress bar - - + + No Winged Shadow How High support - - + + No vario support - - + + No GPS support - - + + No gauges in the custom telemetry screen - + + Allow compensating for offset errors in FrSky FAS current sensors + + + + openTx for M128 / 9X board - + openTx for 9XR - + openTx for 9XR with M128 chip - + openTx for Gruvin9x board / 9X - + Support of FrSky PXX protocol - + Use FrSky Taranis sticks in a 9X/9XR - + openTx for FrSky Taranis - - + + Disable HELI menu and cyclic mix support - - + + Disable TEMPLATES menu - - + + Disable Global variables - + openTx for FrSky Taranis Rev4a - - - - - + + + + + Support for DSM2 modules - - - - - - + + + + + + PPM center adjustment in limits - - - - - - - - + + + + + + + + PPM values displayed in us - - - - - - + + + + + + Symetrical Limits - - - - - + + + + + Pots use in menus navigation - + Your radio probably uses a wrong firmware, eeprom size is 4096 but only the first 2048 are used - - - - - - + + + + + + No flight modes - - + + SmartieParts 2.2 Backlight support - - - - - - + + + + + + In model setup menus automatically set source by moving some of them - - - - - - + + + + + + In model setup menus automatically set switch by moving some of them - - - - + + + + Enable resetting values by pressing up and down at the same time - - - - - - + + + + + + No graphical check boxes and sliders - - - - - - + + + + + + Battery graph - - - - - - + + + + + + Don't use bold font for highlighting active items - - - - + + + + EEprom write Progress bar - - - - - + + + + + Imperial units - + Bluetooth interface - - - - - - + + + + + + Global variables - + Support for SD memory card - + Support for DSM2 modules using ppm instead of true serial - + openTx for Sky9x board / 9X - + Enable HELI menu and cyclic mix support - + ersky9x @@ -7766,26 +7316,26 @@ Right CH16 - - - + + + Timer1 Stoppuhr1 - - - + + + Timer2 Stoppuhr2 - + A1 A1 - + A2 A2 @@ -7802,12 +7352,12 @@ Right FUEL - + T1 T1 - + T2 T2 @@ -7820,175 +7370,44 @@ Right Zelle - Curve - Kurve + Kurve - - - - - Flight modes settings on expos not exported - Phases settings on expos not exported - - - - - - - - - - - - Open9x on this board doesn't have Rotary Encoders - - - - - gruvin9x doesn't have trims as source - - - - - gruvin9x doesn't have swappable trims - - - - - gruvin9x on this board doesn't have Rotary Encoders - - - - - gruvin9x does not support Custom Switch function %1 - - - - gruvin9x only accepts %1 expos - gruxin9x akzeptiert nur %1 Expos + gruxin9x akzeptiert nur %1 Expos - - - gruvin9x doesn't support custom curves as curve%1, curve as been exported as fixed point - - - - - - gruvin9x doesn't support curve with %1 point as curve%2 - - - - - - Open9x doesn't allow Curve%1 in expos - Open9x akzeptiert nicht %1 Kurven in Expos + Open9x akzeptiert nicht %1 Kurven in Expos - - + + Simultaneous usage of expo and curves is no longer supported - - - - - - - - Flight modes settings on mixers not exported - - - - - - Flight mode settings on mixers not exported - Phases settings on mixers not exported - - - - - - - - This version of open9x does not support Custom Switch function %1 - - - - - - - - - - - - - - - - - - - - - Open9x doesn't accept this protocol - Open9x akzeptiert dieses protokoll nicht + Open9x akzeptiert dieses protokoll nicht - - - - - - - open9x only accepts %1 points in all curves - - - - + Simultaneous usage of expo and curves is no longer supported in open9x - - - open9x on this board doesn't have Rotary Encoders - - - - - - - - - - - - - - - - open9x only accepts %1 expos Gruvin9x firmware only accepts %1 expos - open9x akzeptiert nur %1 Expos + open9x akzeptiert nur %1 Expos - + th9x th9x - + er9x er9x @@ -8021,61 +7440,54 @@ Right gruvin9x Entwickler Version für Standard Board - + CYC%1 - + PPM%1 - + CH%1%2 CH%1 CH%1%2 - ID0 - ID0 + ID0 - ID1 - ID1 + ID1 - ID2 - ID2 + ID2 - - GEA - GEA + GEA - - TRN - TRN + TRN SW%1 SW%1 - - + + ON - - + + OFF AUS @@ -8084,194 +7496,54 @@ Right gruvin9x Entwickler Version für v4 Board - - er9x doesn't have Rotary Encoders - - - - - er9x doesn't have trims as source - - - - - er9x doesn't have negative gvars as weight - - - - - er9x doesn't have negative gvars as offset - - - - - - - er9x doesn't have swappable trims - - - - - - - er9x on this board doesn't have Rotary Encoders - - - - - er9x does not support Custom Switch function %1 - - - - - - - er9x does not support this range for A1/A2 - - - - - - - er9x does not support this telemetry units - - - - - Er9x doesn't accept this protocol - Er9x akzeptiert dieses Protokoll nicht + Er9x akzeptiert dieses Protokoll nicht - - - Er9x doesn't support custom curves as curve%1, curve as been exported as fixed point - - - - - - Er9x doesn't support curve with %1 point as curve%2 - - - - - - - - + + + + Warning Warnung - - + EEPROM saved with these warnings: EEPROM gespeichert mit diesen Warnungen: - - - ersky9x doesn't have Rotary Encoders - - - - - - ersky9x doesn't have trims as source - - - - - - ersky9x does not support Custom Switch function %1 - - - - - - Ersky9x doesn't accept this protocol - - - - - - - - ErSky9x doesn't support custom curves as curve%1, curve as been exported as fixed point - - - - - - - - ErSky9x doesn't support curve with %1 point as curve%2 - - - - - - + + + Simulator for this firmware is not yet available - - th9x does not support Custom Switch function %1 - - - - + th9x on this board doesn't have Rotary Encoders - - - - th9x doesn't support custom curves as curve%1, curve as been exported as fixed point - - - - - - - th9x doesn't support curve with %1 point as curve%2 - - - - - - Flight Mode 0 (Default) - - - - - - FM %1 - - - - + openTx only accepts %1 points in all curves - - - + + + OpenTX on this board doesn't accept this function - - + + OpenTX doesn't accept this protocol - + OpenTX doesn't allow this number of channels @@ -8285,6 +7557,588 @@ The OpenTX/Companion Team. + + Setup + + + Form + + + + + Model Name + Modell Name + + + + Timer2 + Stoppuhr2 + + + + Timer1 + Stoppuhr1 + + + + Throttle Source + Gas Verfolgung + + + + Switch startup Warning + + + + + Center beep + Zentrierpiepston + + + + Trim Increment + + + + + ON + + + + + OFF + AUS + + + + Check + + + + + Model Image + + + + + Exponential + Exponential + + + + Extra Fine + Sehr fein + + + + Fine + Fein + + + + Medium + Mittel + + + + Coarse + + + + + Extended Limits + Erweiterte Grenzen + + + + Extended Trims + Erweiterte Trimmung + + + + Throttle Trim + + + + + Throttle Warning + + + + + Reverse throttle operation. +If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. + + + Gasminimum vorne. +Wenn dieses angewählt wurde ist der Knüppelweg für Gas reversiert. Leerlaufstellung ist vorne, die Trimmung sowie die Knüppelstellungswarnung ist ebenfalls umgedreht. + + + + Reverse Throttle + + + + + Telemetry + + + Form + + + + + + + + A1 + A1 + + + + + + + A2 + A2 + + + + RSSI + RSSI + + + + Alarm 1 + Alarm 1 + + + + + ---- + ---- + + + + + Yellow + + + + + + Orange + orange + + + + + Red + + + + + Alarm 2 + Alarm 2 + + + + Serial Protocol + Serielles Protokoll + + + + Volt source + + + + + Metric + Metrisch + + + + Imperial + Imperial + + + + Current source + + + + + Protocol + Protokoll + + + + NONE + + + + + + FAS + + + + + None + + + + + FrSky Sensor Hub + FrSky Sensor Hub + + + + CEL + + + + + 2 + 2 + + + + 3 + 3 + + + + 4 + 4 + + + + Units + Einheiten + + + + Blades + Rotorblätter + + + + Altimetry / Vario + + + + + Alti + + + + + Alti+ + + + + + Vario + + + + + Sink Max + + + + + Off + Aus + + + + Climb Max + + + + + Sink Min + + + + + Climb Min + + + + + Vario source + + + + + Vario limits + + + + + Use GPS as altitude source + + + + + Display altitude in toolbar + + + + + Various + + + + + mAh count + + + + + FAS Offset + + + + + Persistent mAh + + + + + TelemetryAnalog + + + Form + + + + + Unit + Einheit + + + + Max Value + Maximal + + + + Alarm 1 + Alarm 1 + + + + + ---- + ---- + + + + + Yellow + + + + + + Orange + orange + + + + + Red + + + + + + < + < + + + + + > + > + + + + Alarm 2 + Alarm 2 + + + + Min Value + Minimal + + + + Volts (V) + + + + + Amps (A) + + + + + Speed (m/s or ft/s) + + + + + Raw (-) + Roh(-) + + + + Speed (km/h or miles/h) + + + + + Meters (m or ft) + + + + + Temp (°) + + + + + Fuel (%) + + + + + mAmps (mA) + + + + + Range + Bereich + + + + TelemetryCustomScreen + + + Form + + + + + Custom Screen Type + + + + + Nums + + + + + Bars + + + + + Min + Min + + + + Source + Quelle + + + + Gauge + Balken + + + + Max + Max + + + + TelemetryPanel + + + Telemetry screen %1 + + + + + Winged Shadow How High + Winged Shadow How High + + + + Winged Shadow How High (not supported) + Winged Shadow How High (nicht unterstützt) + + + + Timer + + + Form + + + + + mm:ss + mm:ss + + + + Countdown + + + + + MinuteBeep + + + + + Persistent + + + + + (00:00:00) + + + + + TimerPanel + + + None + + + + + Beeps + + + + + Countdown + + + avrOutputDialog @@ -8484,7 +8338,7 @@ Do you want some help ? burnConfigDialog - + AVRDUDE Configuration Einstellung AVRDUDE @@ -8645,25 +8499,25 @@ Bitte nutze dies nur wenn Du weißt was Du machst. Es gibt keine Plausibilitäts - + DFU-UTIL Configuration - + SAM-BA Configuration - - - + + + Select Location Wähle Speicherort - - + + Companion @@ -8672,12 +8526,12 @@ Bitte nutze dies nur wenn Du weißt was Du machst. Es gibt keine Plausibilitäts companion9x - + <b><u>WARNING!</u></b><br>This will reset the fuses of %1 to the factory settings.<br>Writing fuses can mess up your radio.<br>Do this only if you are sure they are wrong!<br>Are you sure you want to continue? - + <b><u>WARNING!</u></b><br>Normally CPU type is automatically selected according to the chosen firmware.<br>If you change the CPU type the resulting eeprom could be inconsistent. @@ -8818,7 +8672,7 @@ m2560 fürRadios mit v4.1 Boards - + Write to TX @@ -8829,7 +8683,7 @@ m2560 fürRadios mit v4.1 Boards - + Browse for file @@ -8857,7 +8711,7 @@ m2560 fürRadios mit v4.1 Boards In Sender brennen - + Write firmware to TX Schreibe Firmware in den Sender @@ -8866,7 +8720,7 @@ m2560 fürRadios mit v4.1 Boards Schreibe Modelle in den Sender - + Open Öffnen @@ -8875,51 +8729,51 @@ m2560 fürRadios mit v4.1 Boards iHEX (*.hex);;BIN Files (*.bin) - - - - - - + + + + + + Warning Warnung - + %1 is not a known firmware %1 ist keine bekannte Firmware - + Burn anyway ! Trotzdem brennen! - + Open Image to load Öffne Bilddatei - + Images (%1) Bilder (%1) - - - - - - - - - - + + + + + + + + + + Error Fehler - + Current profile @@ -8928,14 +8782,14 @@ m2560 fürRadios mit v4.1 Boards Wähle Datei zum Schreiben in den EEPROM Speicher - + Unable to find file %1! Kann die Datei %1 nicht finden ! - - - + + + Error opening file %1: %2. Fehler beim Öffnen der Datei %1: @@ -8946,7 +8800,7 @@ m2560 fürRadios mit v4.1 Boards Ungültige EEPROM Datei %1 - + Error reading file %1: %2. Fehler beim Lesen der Datei %1: @@ -8957,68 +8811,68 @@ m2560 fürRadios mit v4.1 Boards Ungültige EEPROM Programmdatei %1 - + Write Models and Settings to TX - + Write Models and Settings in %1 to TX - + Choose file to load Models and Settings from - - - + + + Invalid binary Models and Settings File %1, Proceed anyway ? - - + + Cannot load %1. Kann %1 nicht laden. - + Cannot save customized firmware Kann benutzerspezifische Firmware nicht speichern - + Custom image not found Benutzerbild nicht gefunden - + No firmware selected Keine Firmware ausgewählt - + Wrong radio calibration data in profile, Settings not patched - + Wrong radio setting data in profile, Settings not patched - - + + Cannot write file %1: %2. Kann Datei %1: %2 nicht schreiben. - + Error writing file %1: %2. Fehler beim Schreiben der Datei %1: @@ -9240,14 +9094,14 @@ m2560 fürRadios mit v4.1 Boards - + - - - - - - + + + + + + Switch Schalter @@ -9292,10 +9146,10 @@ m2560 fürRadios mit v4.1 Boards - - - - + + + + Offset Offset @@ -9303,8 +9157,8 @@ m2560 fürRadios mit v4.1 Boards - - + + Min Min @@ -9312,8 +9166,8 @@ m2560 fürRadios mit v4.1 Boards - - + + Max Max @@ -9329,8 +9183,8 @@ m2560 fürRadios mit v4.1 Boards - - + + CH CH @@ -9364,18 +9218,32 @@ m2560 fürRadios mit v4.1 Boards - + Weight - - - Expo - Expo + + Logical Switches + - + + + LS + + + + + Switch Assignment + + + + Expo + Expo + + + CF @@ -9384,97 +9252,82 @@ m2560 fürRadios mit v4.1 Boards Phasen - + - - + + DISABLED - - - - - - + + Curve Kurve - + Mixers Mischer - - + + noTrim keinTrim - - FMTrim - FPh Trimmung + FPh Trimmung - - Diff - Diff + Diff - - + + Delay(u%1:d%2) Verzögerung(u%1:d%2) - - + + Slow(u%1:d%2) Langsam/u%1:d%2) - - + + Warn Warnung - + Curves Kurven - + 5 Points Curves 5 Punkte Kurve - - - - + + + + pt %1 pt %1 - + 9 Points Curves 9 Punkte Kurve - Custom Switches - Freie Schalter - - - - - CS - + Freie Schalter SW @@ -9485,20 +9338,20 @@ m2560 fürRadios mit v4.1 Boards Freie Schalter - - + + Function Funktion - - + + Param Parameter - - + + Enable aktivieren @@ -9507,71 +9360,71 @@ m2560 fürRadios mit v4.1 Boards FSch - + Telemetry Settings Telemetrie Einstellungen - - + + Analog Analog - - + + Unit Einheit - - + + Scale Skala - - - - + + + + A%1 A%1 - - + + Alarm 1 Alarm 1 - - + + Alarm 2 Alarm 2 - - - - + + + + Type Typ - - - - + + + + Condition Zustand - - - - - - + + + + + + Value Wert @@ -9603,64 +9456,59 @@ m2560 fürRadios mit v4.1 Boards - + - - + + Flight modes Flugphasen - + - - + + Flight mode + - Custom Functions - - - - - Repeat - + Safety Switches Sicherheitsschalter - - + + RSSI Alarm - - + + Telemetry Bars Telemetrie Balken - - + + Bar Number Balkennummer - - + + Source Quelle - - + + Custom Telemetry View @@ -9669,12 +9517,12 @@ m2560 fürRadios mit v4.1 Boards : %1 Kanäle, %2usec Verzögerung {1 ?} {2u?} - + Print Document Drucke Dokument - + Select PDF output file PDF Output Datei wählen @@ -9687,24 +9535,17 @@ m2560 fürRadios mit v4.1 Boards Dialog - + People who have contributed to this project Personen, die in diesem Projekt mitgewirkt haben - + Coders Programmierer - - Honors go to Rafal Tomczak (RadioClone) and Thomas Husterer (th9x) -of course. Also to Erez Raviv (er9x) and the fantastic eePe program -which was the staring point for OpenTX Companion. - - - - + Companion Release Notes @@ -9717,17 +9558,22 @@ Husterer (th9x) und auch Erez Raviv (er9x) und sein fantastisches eePe, worauf companion9x basiert. - + + Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) + + + + Thank you all !!! Besten Dank an alle! - + Contributors Mitwirkende - + OpenTX Release Notes @@ -9770,7 +9616,7 @@ Husterer (th9x) und auch Erez Raviv (er9x) und sein fantastisches ... - + Save Firmware Save To Hex in HexFormat sichern @@ -9789,14 +9635,14 @@ p, li { white-space: pre-wrap; } <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - - - + + + Select an original firmware file Bitte eine original Firmware Datei auswählen - + Open Öffnen @@ -9805,68 +9651,68 @@ p, li { white-space: pre-wrap; } HEX files (*.hex);; - + Select an image to customize your splash <br />or save actual firmware splash Bitte Bild zum Bearbeiten des Startbildschirms auswählen<br />oder aktueller Startbildschirm sichern - - - - + + + + Error Fehler - + Could not find bitmap to replace in file Konnte zu ersetzendes Bitmap in der Datei nicht finden - + Open Image to load Bilddatei öffnen - + Images (%1) Bilder (%1) - - + + Cannot load %1. Kann %1 nicht laden. - - + + Save your custimized firmware die angepasste Firmware sichern - - + + Write to file Datei sichern - + Error reading file %1 Fehler beim Lesen der Datei %1 - + Firmware correctly saved. Firmware erfolgreich gespeichert. - + Firmware not saved. Firmware nicht gespeichert. - + PNG images (*.png);; PNG images (*.png);; @@ -10373,17 +10219,17 @@ Wähle "abbrechen", um die Kalibration abzubrechen %2 nicht schreiben. - + Select your log file - + Available fields - + The selected logfile contains %1 invalid lines out of %2 total lines @@ -10391,7 +10237,7 @@ Wähle "abbrechen", um die Kalibration abzubrechen mdiChild - + Simulate Tx Tx Simulation @@ -10841,7 +10687,7 @@ Wähle "abbrechen", um die Kalibration abzubrechen Einstellungen - + Language (requires restart) Sprache (Benötigt Neustart) @@ -10854,9 +10700,8 @@ Wähle "abbrechen", um die Kalibration abzubrechen eePe - Show Splash Screen - Startbild anzeigen + Startbild anzeigen Version to download @@ -10875,23 +10720,23 @@ Wähle "abbrechen", um die Kalibration abzubrechen er9x - Ardupilot - + Recent History Size Anzahl zuletzt geöffnete Dateien - - + + Download Download - + Default Channel Order Standardeinstellung Kanalzuordnung - + Channel order This is used by the templated to determine which channel goes to what number output. @@ -10900,12 +10745,12 @@ This is used by the templated to determine which channel goes to what number out Hier wird die Zuordnung der Kanäle zum Ausgang festgelegt. - + Default Stick Mode Standard Knüppelmodus - + Mode selection: Mode 1: @@ -10950,284 +10795,345 @@ Mode 4: Prüfe ausgewählte Fw Updates - + Mode 1 (RUD ELE THR AIL) Mode 1 (RUD ELE THR AIL) - + Mode 2 (RUD THR ELE AIL) Mode 2 (RUD THR ELE AIL) - + Mode 3 (AIL ELE THR RUD) Mode 3 (AIL ELE THR RUD) - + Mode 4 (AIL THR ELE RUD) Mode 4 (AIL THR ELE RUD) - + Automatic Backup Folder - + Automatically add version number to the filename after download - + Voice - + Set language of voice. May be different from firmware language - + Firmware Firmware - + + Theme + + + + + + Requires restart + + + + + Classic + + + + + Monochrome + + + + + MonoWhite + + + + + MonoBlue + + + + + Icon size + + + + + Small + + + + + Normal + Normal + + + + Big + + + + + Huge + + + + Check for updates on startup Überprüfe auf Aktualisierung beim Start - - + + ... ... - + Splash library behaviour Verhalten Startbild Bibliothek - + Include companion splashes 'companion' Startbilder einschliessen - + Only user defined splashes Nur Benutzer Startbilder - + Custom TX splash screen Benutzer Startbild - + Personal splash library Benutzer Startbild Bibliothek - + Joystick Joystick - - - - + + + + Open Folder Verzeichnis öffnen - + SD Structure path - + Processor ID - + Simulator capture folder - + Use clipboard only - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CheckBox CheckBox - + Check for updates Prüfe für Updates - + Language - + Profile Name - + Export Profile - + Save Profile - + Import Profile - + Simu BackLight - + Check for selected Fw updates - + Ask use of wizard for new models - + + Show Splash At Start + + + + Remember switches in simulator - + Blue Blu blau - + Green grün - + Red rot - + Orange orange - + Yellow gelb - + Profile slot - + auto backup before write - + Find Executable - + Google Earth Executable - + Ask for flashing after Download - + Enable aktivieren - + Calibrate kalibrieren - + Open Image Bild öffnen - + Invert Pixels Pixel invertieren @@ -11236,12 +11142,12 @@ May be different from firmware language HG Beleuchtung - + FwInfo FwInfo - + Last downloaded release: %1 Letzte geladene Version: %1 @@ -11254,48 +11160,48 @@ May be different from firmware language Die gewählte Firmware kann von companio9x nicht geladen werden. - + Image stored in settings Gewähltes Bild in Einstellungen - - + + No joysticks found kein Joystick gefunden - + Select your Models and Settings backup folder - + Select Google Earth executable - + Select the folder replicating your SD structure - + Profile name is empty, profile slot %1 will be deleted.<br>Are you sure ? - + Export profile As - + Profile slot is not empty, profile slot %1 will we overwritten.<br>Are you sure ? - + Open Profile to import @@ -11304,44 +11210,44 @@ May be different from firmware language Bitte Bibliothek Verzeichnis wählen - + Open Image to load Bilddatei öffnen - + Images (%1) Bilder (%1) - - + + Error Fehler - + The selected firmware has never been downloaded by Companion. - + The selected firmware cannot be downloaded by Companion. - + Select your library folder - + Select your snapshot folder - - + + Cannot load %1. Kann %1 nicht laden. @@ -11399,9 +11305,9 @@ May be different from firmware language - - - + + + Name Name @@ -11532,7 +11438,7 @@ May be different from firmware language - + Enabled Aktiv @@ -11648,12 +11554,12 @@ May be different from firmware language Kurve(%1) - + Delay(u%1:d%2) Verzögerung(u%1:d%2) - + Slow(u%1:d%2) Langsam/u%1:d%2) @@ -11678,9 +11584,7 @@ May be different from firmware language 5-Punkt-Kurven - - - + pt %1 pt %1 @@ -11697,16 +11601,16 @@ May be different from firmware language Spezifische Schalter - + Source Quelle - - - - - + + + + + Offset Offset @@ -11738,35 +11642,29 @@ May be different from firmware language - - + + Flight modes Flugphasen - - + + Flight mode - - - CS - - - - + Global Variables - + GV - + Function Funktion @@ -11780,10 +11678,10 @@ May be different from firmware language - - - - + + + + Switch Schalter @@ -11816,12 +11714,8 @@ May be different from firmware language Weg - - - - Expo - Expo + Expo Phases @@ -11832,148 +11726,138 @@ May be different from firmware language FPhase - - + + DISABLED - - - - - - - + + + Curve Kurve - + Mixers Mischer - - - - - + + + + + CH CH - + noTrim keinTrim - FMTrim - FPh Trimmung + FPh Trimmung - Diff - Diff + Diff - + Warn Warnung - + Limits Grenzen - - - - + + + + Min Min - - - - + + + + Max Max - - - + + + Invert Invertieren - - - + + + INV INV - - - + + + NOR NOR - + Curves Kurven - 5 Points Curves - 5 Punkte Kurve + 5 Punkte Kurve - 9 Points Curves - 9 Punkte Kurve + 9 Punkte Kurve - Custom Switches - Freie Schalter + Freie Schalter SW FSch - + Safety Switches Sicherheitsschalter - - - - - + + + + + Value Wert - Function Switches - Freie Schalter + Freie Schalter - + Parameter - + Repeat @@ -11982,96 +11866,112 @@ May be different from firmware language FSch - + + Logical Switches + + + + + + LS + + + + + Switch Assignments + + + + Telemetry Settings Telemetrie Einstellungen - - + + Alarm 1 Alarm 1 - - + + Alarm 2 Alarm 2 - + Analog Analog - + Unit Einheit - + Scale Skala - - - - + + + + Type Typ - - - - + + + + Condition Zustand - + A%1 A%1 - + RSSI Alarm - + Frsky serial protocol Frsky serielles Protokoll - + System of units Ma&szlig;einheit - + Propeller blades Propeller Blätter - + Telemetry Bars Telemetrie Balken - + Bar Number Balkennummer - + ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) - - + + Custom Telemetry View @@ -12081,17 +11981,12 @@ May be different from firmware language - - CF - - - - + Print Document Drucke Dokument - + Select PDF output file PDF Output Datei wählen @@ -12104,17 +11999,17 @@ May be different from firmware language Companion9x Simulator - + P1 P1 - + P2 P2 - + P3 P3 @@ -12140,33 +12035,33 @@ May be different from firmware language - + Hold X Halte X - + Fix X Fixiere X - + Fix Y Fixiere Y - + Hold Y Halte Y - - + + TextLabel Textlabel @@ -12186,12 +12081,12 @@ May be different from firmware language ID0 - + ID1 ID1 - + ID2 ID2 @@ -12208,7 +12103,7 @@ May be different from firmware language SW3 - + BEEP Piepston @@ -12220,19 +12115,19 @@ May be different from firmware language - + Right Double Click to Reset Zurücksetzen mit rechtem Doppelklick - - - + + + 0 % - + 9x Simulator 9x Simulator @@ -12276,270 +12171,268 @@ May be different from firmware language SW12 SW12 - - - CSK - SWK - - - - - CS1 - - Companion Simulator + + + LS1 + + - CS2 + LS2 - CS3 + LS3 - CS4 + LS4 - CS5 + LS5 - CS6 + LS6 - CS7 + LS7 - CS8 + LS8 - CS9 + LS9 - CSA + LSA - CSB + LSB - CSC + LSC - CSD + LSD - CSE + LSE - CSF + LSF - CSG + LSG - CSH + LSH - CSI + LSI - - CSJ + + LSJ - - CSL + + LSK - - CSM + + LSL - - CSN + + LSM - - CSO + + LSN - - CSP + + LSO - - CSQ + + LSP - - CSR + + LSQ - - CSS + + LSR - - CST + + LSS - - CSU + + LST - - CSV + + LSU - - CSW - SWW + + LSV - + + LSW + + + + CH1 CH1 - + CH9 CH9 - + CH2 CH2 - + CH10 CH10 - + CH3 CH3 - + CH11 CH11 - + CH4 CH4 - + CH12 CH12 - + CH5 CH5 - + CH13 CH13 - + CH6 CH6 - + CH14 CH14 - + CH7 CH7 - + CH15 CH15 - + CH8 CH8 - + CH16 CH16 - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + -100.1 -100.1 @@ -12587,33 +12480,33 @@ May be different from firmware language splashLibrary - + ... ... - + Splash Library - page %1 of %2 Startbild Bibliothek - Seite %1 von %2 - + Warning Warnung - + Invalid image in library %1 ungültige Bilddatei in Bibliothek %1 - + Information Information - + No valid image found in library, check your settings keine gültige Bilddatei gefunden in Bibliothek, bitte Einstellungen prüfen @@ -12731,7 +12624,7 @@ May be different from firmware language Ausgaben - + CSK SWK @@ -12834,16 +12727,16 @@ May be different from firmware language - - - - - - - - - - + + + + + + + + + + -100.1 -100.1 @@ -12878,202 +12771,202 @@ May be different from firmware language CH4 - + CH12 CH12 - + CH5 CH5 - + CH13 CH13 - + CH6 CH6 - + CH14 CH14 - + CH7 CH7 - + CH15 CH15 - + CH8 CH8 - + CH16 CH16 - + CSC - + CSD - + CS7 - + CSL - + CSB - + CS1 - + CSH - + CSG - + CSE - + CSF - + CS8 - + CS9 - + CSA - + CSM - + CSJ - + CSI - + CS4 - + CS5 - + CS2 - + CS3 - + CS6 - + CSN - + CSO - + CSP - + CSQ - + CSR - + CSS - + CST - + CSU - + CSV - + CSW SWW @@ -13095,12 +12988,12 @@ May be different from firmware language Kann joystick nicht öffnen, joystick ausgeschaltet - + Firmware %1 error: %2 Firmware %1 Fehler: %2 - + - Flight mode: %1(%2) @@ -13109,12 +13002,12 @@ May be different from firmware language - Phase: %1(%2) - + Simulating Tx (%1) Simuliere Tx (%1) - + Simulating Simuliere diff --git a/companion/src/translations/companion_fr.ts b/companion/src/translations/companion_fr.ts index d62d3e8c8..8ac316d4d 100644 --- a/companion/src/translations/companion_fr.ts +++ b/companion/src/translations/companion_fr.ts @@ -2,153 +2,715 @@ - ExpoDialog + Channels - - Expo - Expo + + Name + Nom - + + Offset + + + + + Min + Min + + + + Max + Max + + + + Invert + Inversion + + + + Center + Centre + + + + Sym + Sym + + + + Channel %1 + + + + + --- + --- + + + + INV + Inversion + + + + CurveGroup + + + Diff + Diff + + + + Expo + Expo + + + + Func + + + + + Curve + Courbe + + + + Curves + + + Form + + + + + Standard + + + + + Custom + Prédéfini + + + + Lines + + + + + Smooth + + + + + Curve type + Type de courbe + + + + Curve name + Nom de la courbe + + + + Curve %1 + + + + + %1 points + + + + + Are you sure you want to reset curve %1 ? + + + + + Editing curve %1 + Édition de la courbe %1 + + + + Not enough free points in EEPROM to store the curve. + + + + + CustomFunctionsPanel + + + Switch + Interrupteur + + + + Action + + + + + Parameters + + + + + Enable + Actif + + + + ON + + + + + Error + Erreur + + + + Unable to find sound file %1! + Impossible de trouver le fichier %1! + + + + &Delete + &Supprimer + + + + Delete + Supprimer + + + + &Copy + &Copier + + + + Ctrl+C + Ctrl+C + + + + &Cut + C&ouper + + + + Ctrl+X + Ctrl+X + + + + &Paste + + + + + Ctrl+V + Ctrl+V + + + + CustomSwitchesPanel + + + Condition + Condition + + + + V1 + V1 + + + + V2 + V2 + + + + AND + ET + + + + Duration + Durée + + + + Delay + Délai + + + + + LS%1 + + + + + &Delete + &Supprimer + + + + Delete + Supprimer + + + + &Copy + &Copier + + + + Ctrl+C + Ctrl+C + + + + &Cut + C&ouper + + + + Ctrl+X + Ctrl+X + + + + &Paste + + + + + Ctrl+V + Ctrl+V + + + + Dialog + + + Dialog + Dialogue + + + + Curve type + Type de courbe + + + + Coefficient + + + + + Both + Les 2 + + + + x>0 + + + + + x<0 + + + + + Y at X=0 + Y pour X=0 + + + + Side + Direction + + + + Y at X=-100 + Y pour X=-100 + + + + Y at X=100 + Y pour X=100 + + + + Linear + Linéaire + + + + Single Expo + Expo simple + + + + Symmetrical f(x)=-f(-x) + Symétrique f(x)=-f(-x) + + + + Symmetrical f(x)=f(-x) + Symétrique f(x)=f(-x) + + + + ExpoDialog + + Expo + Expo + + + Weight Ratio - Name - Nom + Nom - - Phase used by the expo. - Phase utilisée par l'expo. + Phase utilisée par l'expo. - + 0 0 - + Flight modes Phases de vol - - - + + The source for the mixer + La voie maître pour le mixage + + + + Input name + + + + + GV VG - + + Phase used by the input. + + + + 1 1 - + 2 2 - + 3 3 - + 4 4 - + 5 5 - + 6 6 - + 7 7 - + 8 8 - + Switch Interrupteur - + + Switch used by the input. +If blank then the input is considered to be "ON" all the time. + + + + + The curve used by the input + + + + + Source + + + + + Line name + + + Switch used by the expo. If blank then the expo is considered to be "ON" all the time. - Interrupteur utilisé par l'expo. + Interrupteur utilisé par l'expo. Expo actif par défaut si non renseigné. - Curve/Exponential - Courbe/Exponentiel + Courbe/Exponentiel - + Stick Side Direction - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Delay ans Slow</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These values control the speed and delay of the output of the mix. </p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Délai et Ralenti</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Ces valeurs contrôlent la vitesse et le délai à l'entrée du mixage.</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Si Délai est différent de 0, le départ du mixage sera décalé du nombre de secondes spécifié.</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Si Ralentissement est différent de 0, la vitesse du mixage sera la valeur spécifiée -&gt; La valeur représente le nombre de secondes nécessaires à la course -100/100.</p></body></html> + + + + Scale + Echelle + + + + Include Trim + Inclure Trim + + + + No + Non + + + + Yes + Oui + + + Curve Courbe - The curve used by the expo - Courbe utilisée par l'expo + Courbe utilisée par l'expo - + NEG Négatif - + POS Positif - + ALL Partout - DEST -> %1 - Destination -> %1 + Destination -> %1 + + + + Edit %1 + + + + + Rud + Dir + + + + Ele + Prf + + + + Thr + Gaz + + + + Ail + Ail + + + + FlightMode + + + Form + + + + + Fade In + Fondu en entrée + + + + Fade Out + Fondu en sortie + + + + Name + Nom + + + + Switch + Interrupteur + + + + trim1 + + + + + trim2 + + + + + trim4 + + + + + trim3 + + + + + Rud + Dir + + + + Ele + Prf + + + + Thr + Gaz + + + + Ail + Ail + + + + Rotary Encoder %1 + + + + + GVAR%1 + + + + + FlightModes + + + Flight Mode %1 + + + + + (%1) + + + + + (default) + GeneralEdit - + v - + min - - + + sec @@ -158,8 +720,8 @@ Expo actif par défaut si non renseigné. Configuration - - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -174,22 +736,22 @@ 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;">Plage de valeurs: 20...45</span></p></body></html> - + Input Filter Conversion - + Inactivity Timer Alerte d'inactivité - + Every Minute Toutes les minutes - + If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes. Si différent de 0, émission d'un bip sonore régulier si aucune action n'a été effectuée sur l'émetteur depuis le temps spécifié (en minutes). Réinitialisation en agissant sur n'importe lequel des manches / touches de navigation. @@ -200,18 +762,17 @@ Réinitialisation en agissant sur n'importe lequel des manches / touches de Paramètres généraux - Reverse throttle operation. If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. - Inversion des gaz. + Inversion des gaz. Si cette option est cochée, la voie des gaz est inversée: le ralenti est 'manche en haut'. Le trim et l'alerte des gaz sont inversés également. - + <!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; } @@ -220,47 +781,49 @@ p, li { white-space: pre-wrap; } Le rétroéclairage clignote en synchro avec les bips du chrono - + Memory Startup Warning Alerte mémoire - + Beeps at 30, 15, 10, and down from5 seconds Bip à 30, 15, 10, 5 puis toutes les secondes - + This is the switch selectrion for turning on the backlight (if installed). Interrupteur déclenchant le rétroéclairage' (si installé). - + Timer Beeps Bips du chrono - + Mode 2 (RUD THR ELE AIL) Mode 2 (DIR GAZ PROF AIL) - + Filter Filtre (si 'jitter' - Latence +30msec) - + + + - - - - - - + + + + + + Beeper volume 0 - Quiet. No beeps at all. @@ -277,32 +840,31 @@ Long : bips plus longs. Extra long : bips extra longs. - Throttle Startup Warning - Alerte gaz + Alerte gaz - + Single Simple conversion (1024 bits) - + Battery Warning Alerte batterie - + Contrast Contraste - + Mode 4 (AIL THR ELE RUD) Mode 4 (AIL GAZ PROF DIR) - + Mode selection: Mode 1: @@ -343,14 +905,13 @@ Manche Droit: Profondeur, Direction - + Mode 3 (AIL ELE THR RUD) Mode 3 (AIL PROF GAZ DIR) - Reverse Throttle Operation - Inversion des gaz + Inversion des gaz @@ -360,17 +921,17 @@ These will be relevant for all models in the same EEPROM. Communs à tous les modèles d'une même EEPROM. - + Flash on beep Clignotement avec les bips - + Oversample Suréchantillonnage (2048 bits) - + Battery warning voltage. This is the threashhold where the battery warning sounds. @@ -381,17 +942,17 @@ Seuil auquel se déclenche l'alarme de batterie. Plage de valeurs: 5v...10v - + Calibration Étalonnage - + Stick Mode Mode - + Channel order This is used by the templated to determine which channel goes to what number output. @@ -399,34 +960,34 @@ This is used by the templated to determine which channel goes to what number out Indique l'affectation voie / numéro d'entrée pour les présélections (=Templates). - + Battery Calibration Étalonnage batterie - + Count Down to Zero Compte à rebours - + If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. Si cette valeur est différente de 0, l'appui sur une touche de navigation déclenche le rétroéclairage qui s'éteint après la durée spécifiée (en secondes). - + Beeper Mode Réglage des bips - + Battery calibration: This value will be added to the measured battery voltage. Use this value to calibrate the meter with an external meter. Étalonnage batterie: Cette valeur est ajoutée à la tension mesurée.Mesurer la tension réelle' à l'aide d'un multimètre pour déterminer l'écart à appliquer. - + <!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; } @@ -439,12 +1000,11 @@ 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;">Emet un bip à chaque minute écoulée</span></p></body></html> - - - - - - + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -469,263 +1029,259 @@ 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;">Alerte mode silencieux - Avertissement si les bips sont désactivés</p></body></html> - + Mode 1 (RUD ELE THR AIL) Mode 1 (DIR PROF GAZ AIL) - + Channel Order (For Templates) Ordre des voies par défaut - Switch Startup Warning - Alerte interrupteurs + Alerte interrupteurs - + Show Splash Screen on Startup Afficher l'écran de démarrage - - + + Show splash screen on startup Affiche l'écran d'accueil au démarrage - + Alarm Warning Alerte mode silencieux - - + + Quiet Mode silencieux - - + + No Keys Touches silencieuses - - + + Normal Normal - - + + Long Long - + PPM Multiplier Coeff. multiplicateur PPM - + Owner Name Nom du propriétaire - + - - - + + Off Aucun - Switches Up - Inters vers le haut + Inters vers le haut - Switches Down - Inters vers le bas + Inters vers le bas - + Trainer Ecolage - - + + PPM 1 PPM 1 + - - - + + chn1 Can. 1 + - - - + + chn2 Can. 2 + - - - + + chn3 Can. 3 + - - - + + chn4 Can. 4 - + Mode Mode - + Sound Mode Mode Son - + Beeper Bipeur - + Speaker Pitch (spkr only) Tonalité (HP uniquement) - + Pot Scrolling Enable Navigation avec les pots - + Bandgap Measuring Enable Mesure Bandgap - + Show Owner Name on Splash Nom sur l'écran de démarrage - + Telemetry NO DATA Alarm Alarme Pas de télémesure - + Only Alarms Seulement les alarmes - - + + All Tous - + THR THR - + RUD RUD - + ELE ELE - + AIL AIL - + GEA - + ID0 - + ID1 - + ID2 - + Beeper Length Durée des bips - - + + X-Short X-court - - + + Short Court - - + + X-Long X-long - + Haptic Mode Mode du vibreur - + Alarms Only Seulement les Alarmes - + Haptic Length Durée vibreur - + GPS Coordinates Coordonnées GPS @@ -740,137 +1296,137 @@ p, li { white-space: pre-wrap; } Lire étalonnage et réglages hw du profil - + Speaker Haut-parleur - + BeeperVoice Bipeur/Voix - + SpeakerVoice Haut-parleur/Voix - + hh° (N/S) mm' ss''.dd - + NMEA - + Timeshift from UTC Décalage horaire (UTC) - + LCD Display Type Type de LCD - + Standard - + Optrex - + Speaker Volume Volume haut-parleur - + Haptic Strength Puissance vibreur - + BackLight Brightness Luminosité rétroéclairage - + RotEnc Navigation Navigation avec encodeur - + BackLight Auto OFF after Durée rétroéclairage - + BackLight Switch Inter rétroéclairage - + BackLight On Stick Move Rétroéclairage par sticks - + BackLight Invert Inversion du rétroéclairage - + Country Code - + Europe - + Japan - + America - + Metric Métrique - + Imperial Impérial - + Measurement Units Unités - + FrSky Internal Alarm Alarmes FrSky internes - + StickScroll Défilement par manches - + PPMSim PPMSim @@ -880,37 +1436,37 @@ p, li { white-space: pre-wrap; } Langue audio - + CrossTrim Trims croisés - + Beep volume Volume des bips - + Wav volume Volume des fichiers audio - + Vario volume Volume du variomètre - + Background volume Volume de la musique d'ambiance - + FAI Mode Mode FAI - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. Lorsque le mode FAI est activé, le variomètre ainsi que l'écran et la lecture des valeurs de télémesure sont désactivés. Ce mode ne peut pas être désactivé sur la radio. @@ -920,289 +1476,521 @@ p, li { white-space: pre-wrap; } Baudrate Mavlink - + 4800 Baud - + 9600 Baud - + 14400 Baud - + 19200 Baud - + 38400 Baud - + 57600 Baud - + 76800 Baud - + 115200 Baud - + Readonly Unlock Débloquage lecture seule - + SC - + SE - + SA - + SF - + SH - + SD - + SB - + SG - + Input Entrée - + Weight Ratio - + Switch Interrupteur + - - - + + += (Sum) += (Additionne) + - - - + + := (Replace) := (Remplace) - - + + PPM 2 PPM 2 - - + + PPM 3 PPM 3 - - + + PPM 4 PPM 4 - + Telemetry Télémesure - + RSSI Alarm 1 Alarme RSSI 1 - - + + ---- ---- - - + + Yellow Jaune - - + + Orange Orange - - + + Red Rouge - + RSSI Alarm 2 Alarme RSSI 2 - + NO DATA Alarm Alarme Pas de télémesure - + POT 4 POT 4 - - + + Negative span Amplitude nég. - - + + Mid value Centre - - + + Positive span Amplitude pos. - + STICK 1 MANCHE 1 - + STICK 2 MANCHE 2 - + Current Courant - + + + Pot (normal) + + + + + + Multipos Switch + + + + + S1 Type + + + + + S2 Type + + + + STICK 3 MANCHE 3 - + STICK 4 MANCHE 4 - + POT 1 POT 1 - + POT 2 POT 2 - + POT 3 POT 3 - + 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. + + Heli + + + Form + + + + + Invert Elevator + Profondeur + + + + Invert Aileron + Aileron + + + + Invert Collective + Pas collectif + + + + Invert + Inversion + + + + Off + Aucun + + + + 120 + 120 + + + + 120X + 120X + + + + 140 + 140 + + + + 90 + 90 + + + + Collective + Source du pas collectif + + + + Swash Type + Type de plateau cyclique + + + + Swash Ring + Limite cyclique + + + + InputsPanel + + + + Move Up + Monter + + + + + Ctrl+Up + Ctrl+Haut + + + + + Move Down + Descendre + + + + + Ctrl+Down + Ctrl+Bas + + + + Clear All Settings + + + + + Source(%1) + + + + + No Trim + Pas de Trim + + + + Weight(%1) + + + + + Switch(%1) + + + + + Not enough available inputs! + + + + + Delete Selected Inputs? + + + + + &Add + &Ajouter + + + + Ctrl+A + Ctrl+A + + + + &Edit + + + + + Enter + Entrée + + + + &Delete + &Supprimer + + + + Delete + Supprimer + + + + &Copy + &Copier + + + + Ctrl+C + Ctrl+C + + + + &Cut + C&ouper + + + + Ctrl+X + Ctrl+X + + + + &Paste + + + + + Ctrl+V + Ctrl+V + + + + Du&plicate + Du&pliquer + + + + Ctrl+U + + + + + Clear Inputs? + + + + + Really clear all the inputs? + + + MainWindow - + &New &Nouveau @@ -1211,17 +1999,17 @@ Are you sure ? Flasher - + Cu&t C&ouper - + Edit Edition - + File Fichier @@ -1230,12 +2018,12 @@ Are you sure ? companion9x - Éditeur d'EEPROM - Firmware %1 - + Display previous warning again at startup ? Afficher les alertes précédentes lors du prochain démarrage ? - + New release available Nouvelle version disponible @@ -1244,28 +2032,28 @@ Are you sure ? Une nouvelle version de companion9x est disponible, veuillez vérifier dans l'espace de téléchargement - - - - - - - - + + + + + + + + + + + + - - - - Error Erreur - - - - - + + + + + Error opening file %1: %2. Erreur à l'ouverture du fichier %1: @@ -1276,7 +2064,7 @@ Are you sure ? Ce firmware est trop gros, trop d'options choisies - + Compilation server termporary failure, try later Erreur temporaire du serveur de compilation @@ -1285,7 +2073,7 @@ Are you sure ? companion9x - Editeur d'EEPROM - firmware %1 - profil %2 - + Display previous message again at startup ? Afficher les alertes précédentes lors du prochain démarrage ? @@ -1294,13 +2082,13 @@ Are you sure ? Les options sélectionnées prennent trop de place par rapport à la taille de flash disponible - + Compilation server temporary failure, try later Erreur temporaire du serveur de compilation - - + + Compilation server too busy, try later Serveur de compilation trop occupé @@ -1309,8 +2097,8 @@ Are you sure ? Le serveur de compilation nécessite d'être enregistré, veuillez vous référer au site web d'openTx - - + + Unknown server failure, try later Erreur inconnue du serveur de compilation @@ -1319,70 +2107,70 @@ Are you sure ? Voulez-vous flasher ce firmware maintenant ? - - + + Yes Oui - - + + No Non - - + + Release Notes Release Notes - - + + Do you want to download release %1 now ? Voulez-vous télécharger la release %1 ? - + Release notes contain very important informations. Do you want to see them now ? Les notes de version contiennent des informations très importantes. Voulez-vous les voir maintenant? - + Open Ouvrir - + 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. - - - - - + + + + + Taranis radio not found Radio Taranis non détectée - - - - + + + + Impossible to identify the radio on your system, please verify the eeprom disk is connected. Impossible de trouver la radio, vérifiez qu'elle est bien sous tension et connectée. @@ -1393,16 +2181,16 @@ Burn anyway ? Le fichier %1 n'est pas reconnu comme une EEPROM valide. Confirmer le transfert ? - - - + + + 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 @@ -1415,8 +2203,8 @@ Burn anyway ? Impossible de vérifier la compatibilité de l'EEPROM! Continuer quand même? - - + + Warning Avertissement @@ -1437,7 +2225,7 @@ Burn anyway ? Flasher l'émetteur - + Conversion failed La conversion a échoué @@ -1450,7 +2238,7 @@ Burn anyway ? Restaurer l'EEPROM vers l'émetteur - + Restore failed Erreur lors de la restauration @@ -1467,7 +2255,7 @@ Burn anyway ? Impossible de flasher l'émetteur, l'EEPROM d'origine se trouve dans : %1 - + Backup failed Erreur lors de la sauvegarde @@ -1476,37 +2264,32 @@ Burn anyway ? Impossible de sauvegarder l'EEPROM. Flashage annulé - - %1 %2 - - - - + &loadBackup... c&harger sauvegarde... - + Load backup from file Charger une sauvegarde à partir du fichier - + Lo&gs - + Ctrl+G - + Open log file Ouvrir fichier de log - + ChangeLog... Historique des changements... @@ -1515,47 +2298,47 @@ Burn anyway ? Historique des changements de companion9x - + Firmware ChangeLog... Historique des changements du firmware... - + Show firmware changelog Montrer l'historique des changements du firmware - + Compare... Comparer... - + Compare models Comparer les modèles - + Configure software for reading from and writing to the transmitter Configure le programme pour communiquer correctement avec la radio - + Show fuses dialog Afficher les réglages des fusibles - + &Read/Write &Lire/Ecrire - + Write Ecrire - + Unable to find file %1! Fichier %1 introuvable! @@ -1564,7 +2347,7 @@ Burn anyway ? Fichier EEPROM %1 invalide - + Error reading file %1: %2. Fichier %1 corrompu: @@ -1583,119 +2366,132 @@ Burn anyway ? Fl&asher - + &Copy &Copier - + &Edit Éditio&n - + &File &Fichier - + &Help &Aide - + &Save &Enregistrer - &Tile - &Mosaïque + &Mosaïque - + E&xit &Quitter - + Alt+S - + &Simulate &Simulation - - - + + + Companion - Models and Settings Editor - %1 - profile %2 - - - - + + + + Companion - Models and Settings Editor - %1 - + A new version of Companion is available (version %1)<br>Would you like to download it? - - A new release of Companion is available please check the repository - - - - + Firmware does not longer fit in the Tx, due to selected firmware options Le firmware sélectionné est trop gros pour la mémoire de la radio, veuillez sélectionner moins d'options - - + + Compilation server requires registration, please check OpenTX web site - + Firmware does not fit in the Tx, due to selected firmware options Le firmware sélectionné est trop gros pour la mémoire de la radio, veuillez sélectionner moins d'options - + Write Models and settings from %1 to the Tx? Ecrire les réglages et modèles de %1 dans la radio? - + + OpenTX Home Page: <a href='%1'>%1</a> + + + + + The OpenTX Companion project was originally forked from <a href='%2'>eePe</a> + + + + + If you've found this program useful, please support by <a href='%1'>donating</a> + + + + + Version %1, %3 + + + + Show Companion contributors list - + Show Companion changelog - Ne&xt - Sui&vante + Sui&vante - - + + Firmware Profiles Profils de firmware - + Ready Prêt @@ -1704,73 +2500,75 @@ Burn anyway ? Enregistrer la mémoire Flash sous - + Show the application's About box Afficher la fenêtre "A propos" de l'application - - - + + &%1 %2 - + &About &À Propos - + + A new release of Companion is available please check the OpenTX website! + + + + &Paste Co&ller - + &Print Im&primer - + Save &As... Enregistrer &Sous... - Cascade the windows - Disposer les fenêtres en cascade + Disposer les fenêtres en cascade Read Flash memory Lire la mémoire Flash - + Paste the clipboard's contents into the current selection Coller le contenu du presse-papier à l'emplacement sélectionné - + Open an existing file Ouvrir un fichier existant - + &Configure... &Configurer la communication... - Cl&ose - &Fermer + &Fermer - + Ctrl+P - + Print current model. Imprimer les données du modèle sélectionné. @@ -1779,65 +2577,59 @@ Burn anyway ? Charger l'EEPROM de l'émetteur - Close all the windows - Fermer toutes les fenêtres + Fermer toutes les fenêtres Write flash memory to transmitter Écrire dans la mémoire Flash de l'émetteur - donating - don + don - + &Open... &Ouvrir... - + Create a new file Créer un nouveau fichier - Close the active window - Fermer la fenêtre active + Fermer la fenêtre active - - - - + + + + File loaded Fichier chargé - - + + File saved Fichier sauvegardé - Switch layout direction - Inverser l'interface + Inverser l'interface - Move the focus to the previous window - Activer la fenêtre précedente + Activer la fenêtre précedente - Pre&vious - P&récédente + P&récédente - + Exit the application Quitter l'application @@ -1846,56 +2638,52 @@ Burn anyway ? Écrire la mémoire Flash - + List available programmers Lister les programmateurs supportés - + Save the document to disk Enregistrer sur le disque - Close &All - Fermer To&ut + Fermer To&ut - &Cascade - &Cascade + &Cascade - + Simulate selected model. Simuler le modèle sélectionné - Tile the windows - Disposer les fenêtres en mosaïque + Disposer les fenêtres en mosaïque Read flash memory to transmitter Lire la mémoire Flash de l'émetteur - + Save the document under a new name Enregistrer sous un nom différent - &Window - Fe&nêtre + Fe&nêtre - + Edit general preferences Définir les préférences générales - + &Preferences... &Préférences... @@ -1904,22 +2692,21 @@ Burn anyway ? À propos de companion9x - + &Fuses... &Fusibles... - + Copy the current selection's contents to the clipboard Copier la sélection dans le presse-papier - Move the focus to the next window - Activer la fenêtre suivante + Activer la fenêtre suivante - + &List programmers &Programmateurs supportés @@ -1928,17 +2715,17 @@ Burn anyway ? Transférer l'EEPROM vers l'émetteur - + Cut the current selection's contents to the clipboard Couper la sélection et la copier dans le presse-papier - + Ctrl+Alt+R - + Ctrl+Alt+W @@ -1959,21 +2746,20 @@ Burn anyway ? Enregistrer l'EEPROM de l'émetteur dans un fichier - Version %1 (revision %2), %3 - Version %1 (révision %2), %3 + Version %1 (révision %2), %3 The companion9x project was originally forked from eePe Le projet companion9x a été créé à partir de eePe - + Customize your &TX... &Personnaliser votre émetteur... - + Customize the splash screen of your TX Personnaliser l'écran de démarrage de votre émetteur @@ -1994,41 +2780,41 @@ Burn anyway ? Enregistrer l'EEPROM de l'émetteur dans un fichier - - - - - + + + + + Save As Enregistrer Sous - + Executable (*.exe) Exécutable (*.exe) - - + + No updates available at this time. Aucune mise à jour disponible. - - - - - + + + + + Unable to check for updates. Impossible de rechercher des mises à jour. - + Would you like to launch the installer? Voulez-vous lancer l'installation ? - + A new version of %1 firmware is available (current %2 - newer %3). Do you want to download it now ? Une nouvelle version du firmware %1 est disponible (courante %2 - nouvelle %3). @@ -2039,7 +2825,7 @@ Voulez vous la télécharger maintenant ? Transférer %1 dans la mémoire EEPROM de l'émetteur ? - + &Check for updates... Re&chercher des mises à jour... @@ -2048,27 +2834,26 @@ Voulez vous la télécharger maintenant ? Vérifier l'existence d'une nouvelle version de companion9x et du firmware sélectionné - + Copyright Copyright - Switch layout Left/Right - Inverser l'interface gauche/droite + Inverser l'interface gauche/droite - + Ignore this version (r%1)? Ignorer cette version (r%1)? - + Help Aide - + Checking for updates Recherche de mises à jour @@ -2085,12 +2870,12 @@ Voulez vous la télécharger maintenant ? Une nouvelle version de companion9x est disponible (r%1)<br>Voulez-vous la télécharger ? - + Do you want to write the firmware to the transmitter now ? Voulez-vous vraiment flasher le firmware de la radio? - + Firmware %1 does not seem to have ever been downloaded. Version %2 is available. Do you want to download it now ? @@ -2099,15 +2884,15 @@ La version %2 est disponible. Voulez-vous la télécharger maintenant ? - - - - + + + + Read Models and Settings From Tx Lire les réglages et modèles depuis la radio - + The file %1 has not been recognized as a valid Models and Settings file Write anyway ? @@ -2116,108 +2901,102 @@ n'a pas été reconnu comme un fichier de réglage et modèles valide. Ecrire quand même? - - - - - - + + + + + + Backup Models and Settings From Tx Sauvegarder les réglages et modèles depuis la radio - + Cannot check Models and Settings compatibility! Continue anyway? Impossible de vérifier la compatibilité des réglages et modèles. Continuer quand même? - + The transmitter firmware belongs to another product family, check file and preferences! Le firmware sélectionné est destiné à un différent type de radio, veuillez vérifier le fichier et les préférences! - + The transmitter firmware is outdated, please upgrade! Le firmware de la radio est obsolète, veuillez mettre à jour! - + Write Models and Settings To Tx Ecrire les réglages et modèles dans la radio - - + + Write Firmware To Tx Flasher le firmware de la radio - + Cannot convert Models and Settings for use with this firmware, original data will be used Impossible de convertir les réglages et modèles pour ce firmware, les données originales vont être utilisées - + Restore Models and Settings To Tx Restaurer une sauvegarde de réglages et modèles - + Could not restore Models and Settings to TX. The models and settings data file can be found at: %1 Impossible de restaurerles réglages et modèles. Une copie du fichier est placée ici: %1 - + Firmware write failed L'écriture du firmware a échoué. - + Could not write firmware to to transmitter. The models and settings data file can be found at: %1 Impossible de flasher le firmware. Une copie du fichier de réglages et modèles est placée ici: %1 - + Cannot backup existing Models and Settings from TX. Firmware write process aborted Impossible de sauvegarder les réglages et modèles de la radio. Le flashage est abandonné. - + Save transmitter Models and Settings to File Sauvegarder les réglages et modèles depuis la radio dans un fichier - + Impossible to identify the radio on your system, please verify that the eeprom disk is connected. Impossible de trouver la radio, veuillez vérifier que la radio est sous tension sur la page d'accueil et connectée. - + Read Tx Firmware to File Sauvegarder le firmware de la radio dans un fichier - - The Companion project was originally forked from eePe - - - - If you've found this program useful, please support by - Si vous trouvez ce programme utile, merci d'apporter votre soutien en effectuant un + Si vous trouvez ce programme utile, merci d'apporter votre soutien en effectuant un - + About Companion - + Check for new version of Companion - + Contributors &List... &Liste des contributeurs... @@ -2226,62 +3005,62 @@ Ecrire quand même? Lister les contributeurs de companion9x - + &Write Models and Settings To Tx &Transférer les réglages et modèles à la radio - + Write Models and Settings to transmitter Transférer les réglages et modèles à la radio - + &Read Models and Settings From Tx &Lire les réglages et modèles depuis la radio - + Read Models and Settings from transmitter Lire les réglages et modèles depuis la radio - + Write Firmware Flasher le firmware - + Write firmware to transmitter Flasher le firmware de la radio - + Write Models and Settings from file to Tx Restaurer les réglages et modèles depuis un fichier - + Write Models and Settings from file to transmitter Restaurer les réglages et modèles depuis un fichier - + Save transmitter Models and Settings to file Sauvegarder les réglages et modèles dans un fichier - + Save the Models and Settings from the transmitter to a file Sauvegarder les réglages et modèles dans un fichier - + Read Firmware Lire le firmware de la radio - + Read firmware from transmitter Lire le firmware de la radio @@ -2294,19 +3073,19 @@ Ecrire quand même? Configure le programme pour communiquer correctement avec la radio - - + + Recent Files Derniers documents utilisés - - + + 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 @@ -2314,83 +3093,83 @@ Ecrire quand même? MdiChild - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + Error Erreur - - - - + + + + Cannot write file %1: %2. Ecriture fichier %1 impossible: %2. - - + + Unable to find file %1! Fichier %1 introuvable! - - - - + + + + Save As Enregister Sous - + Cannot write temporary file! Ecriture de fichier temporaire impossible! - + Editing model %1: É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: @@ -2402,102 +3181,102 @@ Ecrire quand même? octets libres - + Do you want to use model wizard? Voulez-vous utiliser l'assistant de configuration de modèle ? - - - + + + Companion - + Ask this question again ? Poser la question à nouveau ? - - + + 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 - - - + + + Taranis radio not found Radio Taranis non détectée - - - + + + Impossible to identify the radio on your system, please verify the eeprom disk is connected. Impossible de trouver la radio, vérifiez qu'elle est bien sous tension et connectée. - - - + + + Backup EEPROM From Tx Sauvegarder l'EEPROM de l'émetteur - + 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 à flasher, vérifier le fichier et les préférences! - + Firmware in flash is outdated, please upgrade! Le firmware de la radio est dépassé, veuillez mettre à jour! - + Write EEPROM To Tx Transférer l'EEPROM vers l'émetteur - + Open Ouvrir - + 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é. @@ -2507,52 +3286,50 @@ Enregistrer les changements ? MixerDialog - + Up Haut - + ADD Ajouter - Fix Offset - Décalage sur la sortie + Décalage sur la sortie - + OFF - Enable FM Trim - Trims de phases de vol + Trims de phases de vol - + Down Bas - + Slow Ralenti - + Delay Délai - + Curve Courbe - + Multiplexer This determines how mixer values are added. @@ -2569,127 +3346,123 @@ Spécifie comment les valeurs de mixage sont interprétées. "R": la valeur remplace les valeurs précédentes. Si l'inter est sur OFF, la valeur est ignorée . - + The curve used by the mix Courbe utilisée par le mixage - - - + + + GV VG - + Yes Oui - + No Non - Curve/Differential - Courbe/Différentiel + Courbe/Différentiel - + Mixer warning. Setting this value will cause a beep to be emmitted when this value is active. Alerte de mixage. Si activée, signale par des bips que le mixage est actif. - + 1 Beep 1 Bip - + 2 Beep 2 Bips - + 3 Beep 3 Bips - + Multiplex Multiplexage - + Dialog Dialogue - - - - + Offset Décalage - + Source Maître - + Switch Interrupteur - + Weight Ratio - + REPLACE Remplacer - - - - + + + + The source for the mixer La voie maître pour le mixage - + MULTIPLY Multiplier - + Switch used by the mix. If blank then the mix is considered to be "ON" all the time. Interrupteur utilisé par le mixage. Mixage actif par défaut si non-renseigné. - + Warning Avertissement - + Name Nom - - - - + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -2714,2063 +3487,1397 @@ 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;">Si Ralentissement est différent de 0, la vitesse du mixage sera la valeur spécifiée -&gt; La valeur représente le nombre de secondes nécessaires à la course -100/100.</p></body></html> - + DEST -> X%1 - + DEST -> CH%1%2 - - FM Trim Value - Trim de phase de vol + Trim de phase de vol - + Rud Dir - + Ele Prf - + Thr Gaz - + Ail Ale Ail - + Include Trim Inclure Trim - + Flight modes Phases de vol - + Include DR/Expo Inclure DR/Expo - + 0 0 - + 1 1 - + 2 2 - + 3 3 - + 4 4 - + 5 5 - + 6 6 - + 7 7 - + 8 8 + + MixesPanel + + + + Move Up + Monter + + + + + Ctrl+Up + Ctrl+Haut + + + + + Move Down + Descendre + + + + + Ctrl+Down + Ctrl+Bas + + + + Clear Mixes + Effacer les mixages + + + + + + X%1 + + + + + + + CH%1%2 + VOIE%1%2 + + + + Weight(%1) + + + + + Switch(%1) + + + + + No Trim + Pas de Trim + + + + No DR/Expo + Pas d'expo/DR + + + + Offset(%1) + + + + + Delay(u%1:d%2) + Délai(u%1:d%2) + + + + Slow(u%1:d%2) + Ralentissement(u%1:d%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 + Ctrl+A + + + + &Edit + + + + + Enter + Entrée + + + + &Delete + &Supprimer + + + + Delete + Supprimer + + + + &Copy + &Copier + + + + Ctrl+C + Ctrl+C + + + + &Cut + C&ouper + + + + Ctrl+X + Ctrl+X + + + + &Paste + + + + + Ctrl+V + Ctrl+V + + + + Du&plicate + Du&pliquer + + + + Ctrl+U + + + + + Clear Mixes? + Effacer les mixages ? + + + + Really clear all the mixes? + Êtes-vous sûr de vraiment vouloir effacer tous les mixages ? + + ModelEdit - - P1 - - - - - P2 - - - - - P3 - - - - - - - - - - ch - - - - - - - - - - - - - AIL - AIL + AIL - - - - - - - - - - - - ELE - PROF + PROF - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - INV - - - - - - - - - Max - - - - - - - - - Min - - - - - - - - - - - - RUD - DIR + DIR - - - - - THR - GAZ + GAZ - - &Add - &Ajouter + &Ajouter - - - - &Cut - C&ouper + C&ouper - Fine - Fin + Fin - - - - usec - - - - - - - &Copy - &Copier + &Copier - - &Edit - &Edition + &Edition - + Simulate Simulation - - Enter - Entrée + Entrée - + + Heli + + + + + Inputs + + + + Mixes Mixages - + + Logical Switches + + + + + Switch Assignment + + + + Setup Configuration - - - mm:ss - - - - Trim Increment - Incrément trims + Incrément trims - Slow(u%1:d%2) - Ralentissement(u%1:d%2) + Ralentissement(u%1:d%2) - - - - &Paste - &Coller + &Coller - Delay(u%1:d%2) - Délai(u%1:d%2) + Délai(u%1:d%2) - Coarse - Grossier + Grossier - - - - Delete - Supprimer + Supprimer - + Curves Courbes - + Dialog Dialogue - - - Invert - Inversion + Inversion - Exponential - Exponentiel + Exponentiel - Limits - Débattements + Débattements - Medium - Moyen + Moyen - - - Offset - SubTrim + SubTrim - - Count Down - Décroissant + Décroissant - Pulse Shift (polarity) - Modulation + Modulation - - - - Positive - - - - - Count Up - Croissant + Croissant - Extra Fine - Extra fin + Extra fin - Throttle Trim - Trim des gaz + Trim des gaz - Throttle Expo - Expo des gaz + Expo des gaz - Warn(%1) - Alerte(%1) + Alerte(%1) - - - Protocol - Codage + Codage - - - Channel - Voie + Voie - - - - &Delete - &Supprimer + &Supprimer - Curve 1 - Courbe 1 + Courbe 1 - Curve 2 - Courbe 2 + Courbe 2 - Curve 3 - Courbe 3 + Courbe 3 - Curve 4 - Courbe 4 + Courbe 4 - Curve 5 - Courbe 5 + Courbe 5 - Curve 6 - Courbe 6 + Courbe 6 - Curve 7 - Courbe 7 + Courbe 7 - Curve 8 - Courbe 8 + Courbe 8 - Curve 9 - Courbe 9 + Courbe 9 - Delete Selected Mixes? - Supprimer mixages sélectionnés ? + Supprimer mixages sélectionnés ? - - - Negative - Négative + Négative - Model Name - Nom du modèle + Nom du modèle - Center beep - Bip de centrage + Bip de centrage - - - - Function - Fonction + Fonction - Curve 10 - Courbe 10 + Courbe 10 - Curve 11 - Courbe 11 + Courbe 11 - Curve 12 - Courbe 12 + Courbe 12 - Curve 13 - Courbe 13 + Courbe 13 - Curve 14 - Courbe 14 + Courbe 14 - Curve 15 - Courbe 15 + Courbe 15 - Curve 16 - Courbe 16 + Courbe 16 - - - + Channels Voies - - V1 - V1 + V1 - - V2 - V2 + V2 - Extended Limits - Débattements étendus + Débattements étendus - Safety Switches - Inters de sécurité + Inters de sécurité - - - - - - - - - - - - - Switch - Interrupteur + Interrupteur - Value - Valeur + Valeur - - Du&plicate - Du&pliquer + Du&pliquer - - - - Move Up - Monter + Monter - - - - Ctrl+Up - Ctrl+Haut + Ctrl+Haut - - - - Move Down - Descendre + Descendre - - - - Ctrl+Down - Ctrl+Bas + Ctrl+Bas - Swash Type - Type de plateau cyclique + Type de plateau cyclique - - Off - Aucun + Aucun - - 120 - - - - - 120X - - - - - 140 - - - - - 90 - - - - Collective - Source du pas collectif + Source du pas collectif - - - - - - - - - GVAR1 - Variable globale VG1 + Variable globale VG1 - - - - - - - - - Rotary encoder A - Encodeur rotatif A + Encodeur rotatif A - - - - - - - - - GVAR2 - Variable globale VG2 + Variable globale VG2 - - - - - - - - - Rotary encoder B - Encodeur rotatif B + Encodeur rotatif B - - - - - - - - - GVAR3 - Variable globale VG3 + Variable globale VG3 - - - - - - - - - GVAR4 - Variable globale VG4 + Variable globale VG4 - - - - - - - - - GVAR5 - Variable globale VG5 + Variable globale VG5 - - Sym - Sym + Sym - - Curve type - Type de courbe + Type de courbe - 3 points - 3 points + 3 points - 3 points custom - 3 points personnalisée + 3 points personnalisée - 5 points - 5 points + 5 points - 5 points custom - 5 points personnalisée + 5 points personnalisée - 9 points - 9 points + 9 points - 9 points custom - 9 points personnalisée + 9 points personnalisée - 17 points - 17 points + 17 points - 17 points custom - 17 points personnalisée + 17 points personnalisée - - Duration - Durée + Durée - - AND - ET + ET - - Delay - Délai + Délai - - FAS - FAS + FAS - CEL - ELEM + ELEM - Alti - Alti + Alti - Alti+ - Alti+ + Alti+ - Vario - Vario + Vario - CS6 CSw1 - IP6 + IP6 - Telemetry screen 1 - Ecran de télémesure 1 + Ecran de télémesure 1 - - - Custom Screen Type - Type d'écran personnalisé + Type d'écran personnalisé - - - Nums - Valeurs + Valeurs - - - Bars - Barres + Barres - Telemetry screen 2 - Ecran de télémesure 2 + Ecran de télémesure 2 - Telemetry screen 3 - Ecran de télémesure 3 + Ecran de télémesure 3 - - Max Value - Valeur Max + Valeur Max - - Min Value - Valeur Min + Valeur Min - - RSSI - - - - Alarm 1 - Alarme 1 + Alarme 1 - Serial Protocol - Protocole Série + Protocole Série - Units - Unités + Unités - None - Aucun + Aucun - FrSky Sensor Hub - Sensor Hub FrSky + Sensor Hub FrSky - Metric - Métrique + Métrique - Imperial - Impérial + Impérial - - 2 - - - - - Enable - Actif + Actif - Sticks - Manches + Manches - CS9 - IP9 + IP9 - CSF - IPF + IPF - CSD - IPD + IPD - CS1 - IP1 + IP1 - CS8 - IP8 + IP8 - CS7 - IP7 + IP7 - CSA - IPA + IPA - CSB - IPB + IPB - CSC - IPC + IPC - CS5 - IP5 + IP5 - CS3 - IP3 + IP3 - CS2 - IP2 + IP2 - CSE - IPE + IPE - CSG - IPG + IPG - CS4 - IP4 + IP4 - CST - IPT + IPT - CSM - IPM + IPM - CSP - IPQ + IPQ - CSH - IPH + IPH - CSO - IPO + IPO - CSN - IPN + IPN - CSQ - IPR + IPR - CSR - IPS + IPS - CSS - IPS + IPS - CSL - IPL + IPL - CSK - IPK + IPK - CSJ - IPJ + IPJ - CSI - IPI + IPI - CSU - IPU + IPU - CSV - IPV + IPV - CSW - IPW + IPW - Volt source - Source de mesure de tension + Source de mesure de tension - Current source - Source de mesure de courant + Source de mesure de courant - NONE - Aucune + Aucune - - 3 - - - - - 4 - - - - Blades - Pales + Pales - Altimetry / Vario - Altimètre / Vario + Altimètre / Vario - Sink Max - Chute max + Chute max - Climb Max - Montée max + Montée max - Sink Min - Chute min + Chute min - Climb Min - Montée min + Montée min - Vario source - Source vario + Source vario - Vario limits - Limites vario + Limites vario - Use GPS as altitude source - Utiliser le GPS comme source d'altitude + Utiliser le GPS comme source d'altitude - Display altitude in toolbar - Affichage de l'altitude dans la barre de notifs + Affichage de l'altitude dans la barre de notifs - - Volts (V) - Tension (V) + Tension (V) - - Amps (A) - Courant (A) + Courant (A) - - Speed (m/s or ft/s) - Vitesse (m/s ou ft/s) + Vitesse (m/s ou ft/s) - - Speed (km/h or miles/h) - Vitesse (km/h ou miles/h) + Vitesse (km/h ou miles/h) - - Meters (m or ft) - Distance (m ou ft) + Distance (m ou ft) - - Temp (°) - Temp (°) + Temp (°) - - Fuel (%) - Carburant (%) + Carburant (%) - - mAmps (mA) - Courant (mA) + Courant (mA) - - - Source - Source + Source - - - Gauge - Jauge + Jauge - - - Gauge 1 - Jauge 1 + Jauge 1 - - - Gauge 2 - Jauge 2 + Jauge 2 - - - Gauge 3 - Jauge 3 + Jauge 3 - - - Gauge 4 - Jauge 4 + Jauge 4 - Templates - Gabarits + Gabarits - Apply Template? - Appliquer le gabarit ? + Appliquer le gabarit ? - Apply template "%1"? - Appliquer le gabarit "%1" ? + Appliquer le gabarit "%1" ? - - - Clear Mixes? - Effacer les mixages ? + Effacer les mixages ? - Really clear all the mixes? - Êtes-vous sûr de vraiment vouloir effacer tous les mixages ? + Êtes-vous sûr de vraiment vouloir effacer tous les mixages ? - + Clear Curves? Effacer les courbes ? - + Really clear all the curves? Êtes-vous sûr de vraiment vouloir effacer toutes les courbes ? - Swash Ring - Limite cyclique + Limite cyclique - - Heli Setup - Hélicoptère + Hélicoptère - - RS - - - - - SB - - - - ModelSetup - Configuration du modèle + Configuration du modèle - Model Image - Image du modèle + Image du modèle - - SD - - - - - SA - - - - - SC - - - - - SG - - - - - SE - - - - - SF - - - - Reverse Throttle Operation - Inversion des gaz + Inversion des gaz - Reverse throttle operation. If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. - Inversion des gaz. + Inversion des gaz. Si cette option est cochée, la voie des gaz est inversée: le ralenti est 'manche en haut'. Le trim et l'alerte des gaz sont inversés également. - Master - Maître + Maître - Slave - Elève + Elève - Trainer Mode - Mode écolage + Mode écolage - Master/Trainer Port - Prise écolage + Prise écolage - - - Start - 1er canal + 1er canal - - Polarity - Polarité + Polarité - RF Module 1 - Module HF interne + Module HF interne - RF Module 2 - Module HF externe + Module HF externe - - - (00:00:00) - - - - Failsafe - Failsafe + Failsafe - External module - Module HF externe + Module HF externe - - Failsafe Mode - Mode Failsafe + Mode Failsafe - - Hold - Maintien + Maintien - - Custom - Prédéfini + Prédéfini - - No Pulses - Pas d'impulsions + Pas d'impulsions - Internal Module - Module HF interne + Module HF interne - Invert Elevator - Profondeur + Profondeur - Invert Aileron - Aileron + Aileron - Invert Collective - Pas collectif + Pas collectif - + Flight Modes Phases de vol - Flight Mode 0 (Default) - Phase de vol 0 (par défaut) + Phase de vol 0 (par défaut) - - - - - - - - - Flight Mode Name - Nom de la phase + Nom de la phase - GVAR6 - Variable globale VG6 + Variable globale VG6 - GVAR7 - Variable globale VG7 + Variable globale VG7 - FM 1 - PV 1 + PV 1 - FM 2 - PV 2 + PV 2 - FM 3 - PV 3 + PV 3 - FM 4 - PV 4 + PV 4 - FM 5 - PV 5 + PV 5 - FM 6 - PV 6 + PV 6 - FM 7 - PV 7 + PV 7 - FM 8 - PV 8 + PV 8 - Show channels names in mixes - Montrer les noms des canaux dans les mixages + Montrer les noms des canaux dans les mixages - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --- - --- + --- - - Center - Centre + Centre - Curve name - Nom de la courbe + Nom de la courbe - Curve Creator - Créateur de courbes + Créateur de courbes - Both - Les 2 + Les 2 - - x>0 - - - - - x<0 - - - - Linear - Linéaire + Linéaire - Single Expo - Expo simple + Expo simple - Symmetrical f(x)=-f(-x) Simmetrycal f(x)=-f(-x) - Symétrique f(x)=-f(-x) + Symétrique f(x)=-f(-x) - Symmetrical f(x)=f(-x) Simmetrycal f(x)=f(-x) - Symétrique f(x)=f(-x) + Symétrique f(x)=f(-x) - Apply - Appliquer + Appliquer - Side - Direction + Direction - Y at X=-100 - Y pour X=-100 + Y pour X=-100 - Y at X=0 - Y pour X=0 + Y pour X=0 - Y at X=100 - Y pour X=100 + Y pour X=100 - - Coefficient - - - - Clear All Curves - Effacer toutes les courbes + Effacer toutes les courbes - Timer1 - Chrono 1 + Chrono 1 - Timer2 - Chrono2 + Chrono2 - - - PPM delay - Délai PPM + Délai PPM - Extended Trims - Trims étendus + Trims étendus - - Throttle2Trig - - - - - - PPM Frame Length - Longueur de trame PPM + Longueur de trame PPM - - - mSec - ms + ms - - - - - - - - - Fade In - Fondu en entrée + Fondu en entrée - - - - - - - - - Fade Out - Fondu en sortie + Fondu en sortie - - - - - - - - - - trim2 - - - - - - - - - - - - - trim1 - - - - - DSM Type - Type DSM + Type DSM - - - LP4/LP5 - - - - - DSM2only - DSM2seul + DSM2seul - - - DSM2/DSMX - - - - - RX Number - Numéro de récepteur + Numéro de récepteur - Disable Throttle Warning - Désactiver alerte gaz + Désactiver alerte gaz - Switch startup Warning - Alerte interrupteurs + Alerte interrupteurs - Instant Trim - Trims instantanés + Trims instantanés - Throttle Source Throttle Trace - Source de Gaz + Source de Gaz - - Persistent - Persistant + Persistant - - MinuteBeep - Bip chaque minute + Bip chaque minute - - CountDownBeep - Compte à rebours final + Compte à rebours final - - CH01 - VOIE01 + VOIE01 - - CH02 - VOIE02 + VOIE02 - - CH03 - VOIE03 + VOIE03 - - CH04 - VOIE04 + VOIE04 - - CH05 - VOIE05 + VOIE05 - - CH06 - VOIE06 + VOIE06 - - CH07 - VOIE07 + VOIE07 - - CH08 - VOIE08 + VOIE08 - - CH09 - VOIE09 + VOIE09 - - CH10 - VOIE10 + VOIE10 - - CH11 - VOIE11 + VOIE11 - - CH12 - VOIE12 + VOIE12 - - CH13 - VOIE13 + VOIE13 - - CH14 - VOIE14 + VOIE14 - - CH15 - VOIE15 + VOIE15 - - CH16 - VOIE16 + VOIE16 - - REa - - - - - REb - - - - - 3POS - - - - - Check - Vérif. + Vérif. - - - - ON - - - - - - OFF - - - - - GEA - - - - - ID0 - - - - - ID1 - - - - - ID2 - - - - - TriggerB - 2e condition + 2e condition - Model Voice - Fichier son - - - - - - - - - - - - trim4 - - - - - - - - - - - - - trim3 - + Fichier son Expos/DR @@ -4778,34 +4885,26 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Expos / Doubles débattements - Custom switches - Inters personnalisés + Inters personnalisés - Custom Functions Function switches - Fonctions personnalisées + Fonctions personnalisées - - Param - Paramètre + Paramètre - + Telemetry Télémesure - - - - A1 - A1 + A1 Sunk Max @@ -4824,609 +4923,558 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Montée min - - Unit - Unité + Unité - - Raw (-) - Chiffres bruts (-) + Chiffres bruts (-) - - Alarm 1 - Alarme 1 + Alarme 1 - - - - - - ---- - ---- + ---- - - - - - - Yellow - Jaune + Jaune - - - - - - Orange - Orange + Orange - - - - - - Red - Rouge + Rouge - - - - < - < + < - - - - > - > + > - - - Alarm 2 - Alarme 2 + Alarme 2 - - - - A2 - A2 + A2 - Editing curve %1 - Édition de la courbe %1 + Édition de la courbe %1 - Delete Selected Expos? - Supprimer les expos sélectionnés ? + Supprimer les expos sélectionnés ? - Clear Expos? - Effacer les expos ? + Effacer les expos ? - Really clear all the expos? - Êtes-vous sûr de vraiment vouloir effacer toutes les données d'expos ? + Êtes-vous sûr de vraiment vouloir effacer toutes les données d'expos ? - Weight Weight(+%1%) - Ratio + Ratio - Clear Expo Settings - Effacer les données d'expos + Effacer les données d'expos - Clear Mixes - Effacer les mixages + Effacer les mixages - - Expo - Expo + Expo - - Curve - Courbe + Courbe - - - CH%1%2 - VOIE%1%2 + VOIE%1%2 - No Trim - Pas de Trim + Pas de Trim - No DR/Expo - Pas d'expo/DR + Pas d'expo/DR - FMTrim - Trims des phases de vol + Trims des phases de vol - Diff - Diff + Diff - CF%1 - FS%1 + FS%1 - Error - Erreur + Erreur - Unable to find sound file %1! - Impossible de trouver le fichier %1! + Impossible de trouver le fichier %1! - - Winged Shadow How High - - - - Winged Shadow How High (not supported) - Winged Shadow How High (non supporté) + Winged Shadow How High (non supporté) - - Range - Plage + Plage - Simple 4-CH - 4 Canaux simple + 4 Canaux simple - T-Cut - Coupure de gaz + Coupure de gaz - Sticky T-Cut - Coupure de gaz avec maintien (nécessite la remise à 0 du manche pour déverrouiller) + Coupure de gaz avec maintien (nécessite la remise à 0 du manche pour déverrouiller) - V-Tail - Stabilisateur en V + Stabilisateur en V - Elevon\Delta - Elevon, aile delta + Elevon, aile delta - Heli Setup with gyro gain control - Hélicoptère avec contrôle du gain du gyro + Hélicoptère avec contrôle du gain du gyro - Gyro gain control - Contrôle du gain du gyro pour hélicoptères + Contrôle du gain du gyro pour hélicoptères - Heli Setup (Futaba's channel assignment style) - Hélicoptère (assignation des canaux style Futaba) + Hélicoptère (assignation des canaux style Futaba) - Heli Setup with gyro gain control (Futaba's channel assignment style) - Hélicoptère avec contrôle du gain du gyro (assignation des canaux style Futaba) + Hélicoptère avec contrôle du gain du gyro (assignation des canaux style Futaba) - Gyro gain control (Futaba's channel assignment style) - Contrôle du gain du gyro pour hélicoptères (assignation des canaux style Futaba) + Contrôle du gain du gyro pour hélicoptères (assignation des canaux style Futaba) - Servo Test - Test de servos (CH15) + Test de servos (CH15) - MultiCopter - Multicoptère + Multicoptère - Use Model Config Wizard - Utiliser l'assistant de configuration de modèle (BETA - POUR COMMENTAIRES!) + Utiliser l'assistant de configuration de modèle (BETA - POUR COMMENTAIRES!) - Not enough available mixers! - Plus de mixages disponibles ! + Plus de mixages disponibles ! - Not enough available expos! - Plus d'expos disponibles ! + Plus d'expos disponibles ! - - Ctrl+A - Ctrl+A + Ctrl+A - - - - Ctrl+C - Ctrl+C + Ctrl+C - - - - Ctrl+X - Ctrl+X + Ctrl+X - - - - Ctrl+V - Ctrl+V + Ctrl+V - - Ctrl+U - Ctlf+U + Ctlf+U - Are you sure you want to delete curve %1 ? - Etes-vous sûr de vouloir effacer la courbe %1? + Etes-vous sûr de vouloir effacer la courbe %1? - - - - AIL2 - AIL2 + AIL2 - - - - - - FLAPS - VOLETS + VOLETS - - - - - - FLAP%1 - VOLET%1 + VOLET%1 - - - - PITCH - PAS + PAS - - - - - - - - GYRO - GYRO + GYRO - - - - ELE2 - PROF2 + PROF2 - - S1 - - - - - S2 - - - - - LS - - - - Rud - Dir + Dir - Ele - Prf + Prf - Thr - Gaz + Gaz - Ail - Ail + Ail - - Flight modes - Phases de vol + Phases de vol - - Flight mode - Phase de vol + Phase de vol - - DISABLED - DESACTIVE + DESACTIVE - - - - X%1 - - - - - - - CH %1 - VOIE %1 + VOIE %1 CFN%1 FP%1 - - SPOIL - SPOIL + SPOIL - - SPOIL%1 - SPOIL%1 + SPOIL%1 - - RUD2 - DIR2 + DIR2 - Really clear existing mixes on CH6? - Voulez-vous vraiment effacer tous les mixages du canal 6? + Voulez-vous vraiment effacer tous les mixages du canal 6? - Really clear existing mixes on CH5? - Voulez-vous vraiment effacer tous les mixages du canal 5? + Voulez-vous vraiment effacer tous les mixages du canal 5? - Not enough free points in eeprom to store the curve. Not enought points free in eeprom to store the curve. - Pas assez de points libres dans l'eeprom pour enregistrer la courbe. + Pas assez de points libres dans l'eeprom pour enregistrer la courbe. ModelsListWidget - + &Edit Éditio&n - + &Restore from backup &Restaurer à partir d'une sauvegarde - + &Model Wizard &Assistant de configuration - + &Delete &Supprimer - + Delete Supprimer - + &Copy &Copier - + Ctrl+C Ctrl+C - + &Cut C&ouper - + Ctrl+X Ctrl+X - + &Paste Co&ller - + Ctrl+V Ctrl+V - + D&uplicate D&upliquer - + Ctrl+U Ctrl+U - + &Use as default &Choisir comme modèle par défaut - + P&rint model Im&primer les données du modèle - + Alt+S Alt+S - + &Simulate model &Simuler le modèle sélectionné - + General Settings Paramètres généraux - + Delete Selected Models? Supprimer les modèles sélectionnés ? - - + + Cannot delete default model. Le modèle actif ne peut être supprimé. - + Cannot cut default model. Le modèle actif ne peut être coupé. - + Do you want to overwrite TX general settings? Voulez vous écraser les paramètres généraux de l'émetteur ? - + You are pasting on an not empty model, are you sure? You are pasting on an not empty model, are you sure ? Vous allez écraser un modèle, êtes vous sûr ? - + No free slot available, cannot duplicate Pas d'emplacement libre, impossible de dupliquer - + Alt+R Alt+R + + Module + + + Form + + + + + Failsafe Mode + Mode Failsafe + + + + Start + 1er canal + + + + PPM delay + Délai PPM + + + + usec + + + + + Negative + Négative + + + + Positive + + + + + RX Number + Numéro de récepteur + + + + Master + Maître + + + + Slave + Elève + + + + Polarity + Polarité + + + + Trainer Mode + Mode écolage + + + + mSec + ms + + + + PPM Frame Length + Longueur de trame PPM + + + + Label + + + + + + ch + + + + + Channels + Voies + + + + Hold + Maintien + + + + Custom + Prédéfini + + + + No Pulses + Pas d'impulsions + + + + Failsafe Positions + + + + + Protocol + Codage + + + + ModulePanel + + + Trainer Output + + + + + Internal Radio System + + + + + External Radio Module + + + QObject @@ -5437,1954 +5485,1991 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo PV%1 - + + Input%1 + + + + + Polish + + + + + CH%1 + VOIE%1 + + + No Non - + RotEnc A Enc Rot A - + Rot Enc B Enc Rot B - + Rot Enc C Enc Rot C - + Rot Enc D Enc Rot D - + Rot Enc E Enc Rot E - + Safety %1 Sécurité %1 - + Trainer Ecolage - + Trainer RUD Ecolage Direction - + Trainer ELE Ecolage Profondeur - + Trainer THR Ecolage Gaz - + Trainer AIL Ecolage Ailerons - + Instant Trim Trims instantanés - + Play Sound Jouer Son - + Start Logs Démarrer les Logs - + Play Haptic Vibreur - + Reset Remise à zéro - + Vario - + Volume Volume - + Play Value Lire valeur - + Backlight Rétroéclairage - + Play Track Jouer fichier - - + + --- --- - + Rud Trim Trim Dir - + Ele Trim Trim Prf - + Thr Trim Trim Gaz - + Ail Trim Trim Ail - + Rot Enc Enc. rot. - + English Anglais - + French Français - + Italian Italien - + German Allemand - + Czech Tchèque - + Slovak Slovaque - + Spanish Espagnol - + Portuguese Portugais - + Swedish Suédois - CH - VOIE + VOIE - - + + No repeat Pas de rép. - + %1 sec %1 sec - + Play Both Jouer les 2 - + Background Music Musique de fond - + Background Music Pause Pause musique de fond - Adjust GV1 - Ajuster VG1 + Ajuster VG1 - Adjust GV2 - Ajuster VG2 + Ajuster VG2 - Adjust GV3 - Ajuster VG3 + Ajuster VG3 - Adjust GV4 - Ajuster VG4 + Ajuster VG4 - Adjust GV5 - Ajuster VG5 + Ajuster VG5 - + Delay %1 sec Délai %1 sec - + Duration %1 sec Durée %1 sec - - + + <font color=red><b>Inconsistent parameter</b></font> <font color=red><b>Paramètre inconsistant</b></font> - - + + All Tous - - + + Telemetry Télémesure - + Value Valeur - + Decr: Décr: - + Incr: Incr: - + + Played once, not during startup + + + + %1s %1s - + Value Valeur - + Source Source - + GVAR VG - + Increment Incrément - + !Flight mode %1 !Phase de vol %1 - + Flight mode %1 Phase de vol %1 - Diff - Diff + Diff - Expo - Expo + Expo - + Own trim Trim indépendant - + Flight mode %1 trim Flight phase %1 trim Trim de la phase de vol %1 - + Own value Valeur indépendante - + Flight mode %1 value Flight phase %1 value Valeur de la phase de vol %1 - + Keys Touches - + Sticks Manches - + Keys + Sticks Touches + manches - + + -GV%1 -VG%1 - (-GV%1) - (-VG%1) + (-VG%1) - + + Adjust GV%1 + + + + + Rotary Encoder + + + + Yellow Jaune - + Orange Orange - + Red Rouge - + Winged Shadow How High Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (non supporté) - + FrSky Sensor Hub Sensor Hub FrSky - + + None Aucun - + Imperial Impérial - + Metric Métrique - + Extra Fine Extra fin - + Fine Fin - + Medium Moyen - + Coarse Grossier - + Exponential Exponentiel - + Count Up Croissant - + Count Down Décroissant - + %1:%2, %1:%2, - + : %1 Channels, %2usec Delay : %1 voies, délai de %2us - + + Flight modes(%1) + + + + + Flight mode(%1) + + + + Rudder Direction - + Elevator Profondeur - + Throttle Gaz - + Aileron Ailerons - - + + + GV%1 VG%1 - - - - + + + + ---- ---- - - - RUD - - - - - - ELE - - - - - - - + + THR - - SA - - - - - SB - - - - - SC - - - - - SD - - - - - SE - - - - - SF - - - - - SG - - - - - SH - - - - + Batt - + SWR SWR - + RSSI RSSI - + Pwr+ Puis+ - - ID0 - - - - - ID1 - - - - - ID2 - - - - - - AIL - - - - - - + + + P1 P1 - - - + + + P2 P2 - - - + + + P3 P3 - + + + LS1 + + + + + + LS2 + + + + + + LS3 + + + + + + LS4 + + + + + + LS5 + + + + + + LS6 + + + + + + LS7 + + + + + + LS8 + + + + + + LS9 + + + + + + LSA + + + + + + LSB + + + + + + LSC + + + + + + LSD + + + + + + LSE + + + + + + LSF + + + + + + LSG + + + + + + LSH + + + + + + LSI + + + + + + LSJ + + + + + + LSK + + + + + + LSL + + + + + + LSM + + + + + + LSN + + + + + + LSO + + + + + + LSP + + + + + + LSQ + + + + + + LSR + + + + + + LSS + + + + + + LST + + + + + + LSU + + + + + + LSV + + + + + + LSW + + + + + Input %1 + + + + MAX MAX - - + + S11 + + + + + S12 + + + + + S13 + + + + + S14 + + + + + S15 + + + + + S16 + + + + + S21 + + + + + S22 + + + + + S23 + + + + + S24 + + + + + S25 + + + + + S26 + + + + + Diff(%1) + + + + + Expo(%1) + + + + + Function(%1) + + + + + Curve(%1) + + + + + !Curve(%1) + + + + + Rud Dir - - + + Ele Prf - - + + Thr Gaz - - + + Ail Ail - + TrmR TrmD - + TrmE TrmP - + TrmT TrmG - + TrmA TrmA - - + + S1 - - + + S2 - - + + LS - - + + RS - + + REa - + + REb - + Alt - + Rpm - + Fuel Carb - + Tx - + Rx Rx - + Speed Vitesse - + Dist - + GPS Alt Alt GPS - + Cell Elem - + Cels Velm - + Vfas Vfas - + Curr Cour - + Cnsp Cnsm - + Powr Puis - + AccX - + AccY - + AccZ - + HDG Cap - + VSpd VitV - + A1- - + A2- - + Alt- - + Alt+ - + Rpm+ - + T1+ - + T2+ - + Spd+ Vit+ - + Dst+ - + Cur+ - + ACC - + Time Temps - - CS1 - IP1 + IP1 - - CS2 - IP2 + IP2 - - CS3 - IP3 + IP3 - - CS4 - IP4 + IP4 - - CS5 - IP5 + IP5 - - CS6 - IP6 + IP6 - - CS7 - IP7 + IP7 - - CS8 - IP8 + IP8 - - CS9 - IP9 + IP9 - - CSA - IPA + IPA - - CSB - IPB + IPB - - CSC - IPC + IPC - - CSD - IPD + IPD - - CSE - IPE + IPE - - CSF - IPF + IPF - - CSG - IPG + IPG - - CSH - IPH + IPH - - CSI - IPI + IPI - - CSJ - IPJ + IPJ - - CSK - IPK + IPK - - CSL - IPL + IPL - - CSM - IPM + IPM - - CSN - IPN + IPN - - CSO - IPO + IPO - - CSP - IPQ + IPQ - - CSQ - IPR + IPR - - CSR - IPS + IPS - - CSS - IPS + IPS - - CST - IPT + IPT - - CSU - IPU + IPU - - CSV - IPV + IPV - - CSW - IPW + IPW - + ONE UNE - + !ONE !UNE - + TRNs - + TRNl - + REAs - + REAl - - 3POS - - - - + CYC%1 - + PPM%1 - + CH%1%2 VOIE%1%2 - + X%1 - - - GEA - - - - - - TRN - - - - - + + ON - - + + OFF - - + + 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 - + openTx for 9X board openTx pour carte d'origine 9X - - - - - + + + + + Enable heli menu and cyclic mix support Activer le menu hélico et les mixages CCPM - - - - - - + + + + + + Enable TEMPLATES menu Inclure les gabarits - - - - + + + + No splash screen Pas d'écran de démarrage - - - - - - + + + + + + Disable curves menus Désactiver le menu des courbes - - - - + + + + Support for radio modified with regular speaker Haut-parleur au lieu du buzzer d'origine - - - - - + + + + + Used if you have modified your radio with voice mode Support du module vocal - - - - + + + + Used if you have modified your radio with haptic mode Support du vibreur - - - - - - + + + + + + In model setup menus automatically set source by moving some of them Sélectionner les sources des mixeurs en bougeant le contrôle désiré - - - - - - + + + + + + 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 Supptimer l'affichage des valeurs de télémesure par barres - + + Allow compensating for offset errors in FrSky FAS current sensors + + + + openTx for M128 / 9X board openTx pour carte d'origine 9X avec M128 - + 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 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 - - + + 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 - + openTx for FrSky Taranis Rev4a openTx pour FrSky Taranis REV4a - - - - - + + + + + Support for DSM2 modules Support du protocole DSM2 - - - - - - + + + + + + PPM center adjustment in limits Centres PPM ajustables - - - - - - - - + + + + + + + + PPM values displayed in us Positions de canaux affichées en us - - - - - - + + + + + + Symetrical Limits Limites symétriques - - - - - + + + + + Pots use in menus navigation Support de la navigation dans les menus avec les POTS - + Your radio probably uses a wrong firmware, eeprom size is 4096 but only the first 2048 are used Il semblerait que votre radio utilise le mauvais firmware. La taille de l'EEPROM est de 4096, mais seulement les 2048 premiers sont utilisés. Pensez à charger la version pour m128. - - - - - - + + + + + + No flight modes Pas de phases de vol - - + + SmartieParts 2.2 Backlight support Support du rétroéclairage pour la carte SmartieParts 2.2 - - - - - - + + + + + + In model setup menus automatically set switch by moving some of them Sélection automatique des Switches dans les menus - - - - + + + + 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 - - - - - - + + + + + + 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 - - - - + + + + EEprom write Progress bar Barre de progression affichée lors des écritures EEPROM - - - - - + + + + + Imperial units Unités Impériales - + openTx for Sky9x board / 9X openTx pour 9x avec carte Sky9x - + Bluetooth interface Interface Bluetooth - + openTx for FrSky Taranis open9x for x9da board openTx pour FrSky Taranis - - - - - - + + + + + + Global variables Variables globales - + 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 - + Enable HELI menu and cyclic mix support Activer le menu hélico et les mixages CCPM - + ersky9x - - - + + + Timer1 Chrono1 - - - + + + Timer2 Chrono 2 - + A1 A1 - + A2 A2 - + T1 - + T2 - Curve Courbe - Courbe + Courbe - - - - Flight modes settings on expos not exported Phases settings on expos not exported - Les réglages de phase des expos ne sont pas exportés + Les réglages de phase des expos ne sont pas exportés - - - - - - - - Open9x on this board doesn't have Rotary Encoders - Open9x ne supporte pas d'encodeurs rotatifs sur cette carte + Open9x ne supporte pas d'encodeurs rotatifs sur cette carte - gruvin9x doesn't have trims as source - Les trims ne sont pas disponibles comme source dans gruvin9x + Les trims ne sont pas disponibles comme source dans gruvin9x - gruvin9x doesn't have swappable trims - Les trims ne peuvent pas être changés dans gruvin9x + Les trims ne peuvent pas être changés dans gruvin9x - gruvin9x on this board doesn't have Rotary Encoders - gruvin9x ne supporte pas d'encodeurs rotatifs sur cette carte + gruvin9x ne supporte pas d'encodeurs rotatifs sur cette carte - gruvin9x does not support Custom Switch function %1 - gruvin9x ne supporte pas la fonction %1 dans les inters personnalisés + gruvin9x ne supporte pas la fonction %1 dans les inters personnalisés - gruvin9x only accepts %1 expos - gruvin9x accepte jusqu'à %1 expos uniquement + gruvin9x accepte jusqu'à %1 expos uniquement - - gruvin9x doesn't support custom curves as curve%1, curve as been exported as fixed point - gruvin9x ne supporte pas les courbes personnalisées, la courbe %1 a été exportée avec des points à abscisse fixe. + gruvin9x ne supporte pas les courbes personnalisées, la courbe %1 a été exportée avec des points à abscisse fixe. - - gruvin9x doesn't support curve with %1 point as curve%2 - gruvin9x ne supporte pas les courbes à %1 points (courbe%2) + gruvin9x ne supporte pas les courbes à %1 points (courbe%2) - - - Open9x doesn't allow Curve%1 in expos - Open9x d'accepte pas la Courbe%1 dans les DR/Expos + Open9x d'accepte pas la Courbe%1 dans les DR/Expos - - + + Simultaneous usage of expo and curves is no longer supported L'utilisation simultanée de l'expo et d'une courbe n'est plus possible - - - - - - - Flight modes settings on mixers not exported - La sélection des phases de vol dans les mixeurs ne sera pas exportée. + La sélection des phases de vol dans les mixeurs ne sera pas exportée. - - Flight mode settings on mixers not exported Phases settings on mixers not exported - La sélection des phases de vol dans les mixeurs ne sera pas exportée. + La sélection des phases de vol dans les mixeurs ne sera pas exportée. - - - - This version of open9x does not support Custom Switch function %1 - Cette version d'open9x ne supporte pas la fonction %1 dans les inters personnalisés + Cette version d'open9x ne supporte pas la fonction %1 dans les inters personnalisés - - - - - - - - - - - - - - - - - - Open9x doesn't accept this protocol - Open9x n'accepte pas ce protocole + Open9x n'accepte pas ce protocole - - - - - - open9x only accepts %1 points in all curves - open9x n'accepte que %1 points entre toutes les courbes + open9x n'accepte que %1 points entre toutes les courbes - + Simultaneous usage of expo and curves is no longer supported in open9x L'utilisation simultanée de l'expo et d'une courbe n'est plus possible dans open9x - - open9x on this board doesn't have Rotary Encoders - Open9x ne supporte pas d'encodeurs rotatifs sur cette carte + Open9x ne supporte pas d'encodeurs rotatifs sur cette carte - - - - - - - - - - - - - open9x only accepts %1 expos Gruvin9x firmware only accepts %1 expos - open9x accepte jusqu'à %1 expos + open9x accepte jusqu'à %1 expos - + th9x - + er9x er9x - er9x doesn't have Rotary Encoders - er9x ne supporte pas d'encodeurs rotatifs + er9x ne supporte pas d'encodeurs rotatifs - er9x doesn't have trims as source - Les trims ne sont pas disponibles comme source dans er9x + Les trims ne sont pas disponibles comme source dans er9x - er9x doesn't have negative gvars as weight - ER9X ne supporte pas les variables globales négatives comme ratio + ER9X ne supporte pas les variables globales négatives comme ratio - er9x doesn't have negative gvars as offset - ER9X ne supporte pas les variables globales négatives comme décalage + ER9X ne supporte pas les variables globales négatives comme décalage - - - er9x doesn't have swappable trims - Les trims ne peuvent pas être changés dans er9x + Les trims ne peuvent pas être changés dans er9x - - - er9x on this board doesn't have Rotary Encoders - er9x ne supporte pas d'encodeurs rotatifs sur cette carte + er9x ne supporte pas d'encodeurs rotatifs sur cette carte - er9x does not support Custom Switch function %1 - er9x ne supporte pas la fonction %1 dans les inters personnalisés + er9x ne supporte pas la fonction %1 dans les inters personnalisés - - - er9x does not support this range for A1/A2 - er9x ne supporte pas cette plage pour A1/A2 + er9x ne supporte pas cette plage pour A1/A2 - - - er9x does not support this telemetry units - er9x ne supporte pas ces unités + er9x ne supporte pas ces unités - - Er9x doesn't accept this protocol - Er9x ne supporte pas ce protocole + Er9x ne supporte pas ce protocole - - Er9x doesn't support custom curves as curve%1, curve as been exported as fixed point - er9x ne supporte pas les courbes personnalisées, la courbe %1 a été exportée avec des points à abscisse fixe. + er9x ne supporte pas les courbes personnalisées, la courbe %1 a été exportée avec des points à abscisse fixe. - - Er9x doesn't support curve with %1 point as curve%2 - er9x ne supporte pas les courbes à %1 points (courbe%2) + er9x ne supporte pas les courbes à %1 points (courbe%2) - - - - - + + + + Warning Avertissement - - + EEPROM saved with these warnings: EEPROM enregistrée avec ces avertissements : - - ersky9x doesn't have Rotary Encoders - ersky9x ne supporte pas d'encodeurs rotatifs + ersky9x ne supporte pas d'encodeurs rotatifs - - ersky9x doesn't have trims as source - Les trims ne sont pas disponibles comme source dans ersky9x + Les trims ne sont pas disponibles comme source dans ersky9x - - ersky9x does not support Custom Switch function %1 - ersky9x ne supporte pas la fonction %1 dans les inters personnalisés + ersky9x ne supporte pas la fonction %1 dans les inters personnalisés - - Ersky9x doesn't accept this protocol - Ersky9x ne supporte pas ce protocole + Ersky9x ne supporte pas ce protocole - - - - ErSky9x doesn't support custom curves as curve%1, curve as been exported as fixed point ErSky9x doesn't support custom curves as curve%1, curve as been imported as fixed point - ersky9x ne supporte pas les courbes personnalisées, la courbe %1 a été exportée avec des points à abscisse fixe. + ersky9x ne supporte pas les courbes personnalisées, la courbe %1 a été exportée avec des points à abscisse fixe. - - - - ErSky9x doesn't support curve with %1 point as curve%2 - ersky9x ne supporte pas les courbes à %1 points (courbe%2) + ersky9x ne supporte pas les courbes à %1 points (courbe%2) - - - + + + Simulator for this firmware is not yet available Le simulateur n'est pas encore disponible pour ce firmware - th9x does not support Custom Switch function %1 - th9x ne supporte pas la fonction %1 dans les inters personnalisés + th9x ne supporte pas la fonction %1 dans les inters personnalisés - + th9x on this board doesn't have Rotary Encoders th9x ne supporte pas d'encodeurs rotatifs sur cette carte - - - th9x doesn't support custom curves as curve%1, curve as been exported as fixed point - th9x ne supporte pas les courbes personnalisées, la courbe %1 a été exportée avec des points à abscisse fixe. + th9x ne supporte pas les courbes personnalisées, la courbe %1 a été exportée avec des points à abscisse fixe. - - - th9x doesn't support curve with %1 point as curve%2 - th9x ne supporte pas les courbes à %1 points (courbe%2) + th9x ne supporte pas les courbes à %1 points (courbe%2) - (GV%1) - (VG%1) + (VG%1) - - Flight Mode 0 (Default) - Phase de vol 0 (par défaut) + Phase de vol 0 (par défaut) - - FM %1 - PV %1 + PV %1 - + openTx only accepts %1 points in all curves openTx ne supporte que %1 points répartis 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 @@ -7416,6 +7501,590 @@ The OpenTX/Companion Team. + + Setup + + + Form + + + + + Model Name + Nom du modèle + + + + Timer2 + + + + + Timer1 + Chrono1 + + + + Throttle Source + Source de Gaz + + + + Switch startup Warning + Alerte interrupteurs + + + + Center beep + Bip de centrage + + + + Trim Increment + + + + + ON + + + + + OFF + + + + + Check + Vérif. + + + + Model Image + Image du modèle + + + + Exponential + Exponentiel + + + + Extra Fine + Extra fin + + + + Fine + Fin + + + + Medium + Moyen + + + + Coarse + Grossier + + + + Extended Limits + Débattements étendus + + + + Extended Trims + Trims étendus + + + + Throttle Trim + + + + + Throttle Warning + + + + + Reverse throttle operation. +If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. + + + Inversion des gaz. +Si cette option est cochée, la voie des gaz est inversée: le ralenti est 'manche en haut'. Le trim et l'alerte des gaz sont inversés également. + + + + + + Reverse Throttle + + + + + Telemetry + + + Form + + + + + + + + A1 + A1 + + + + + + + A2 + A2 + + + + RSSI + RSSI + + + + Alarm 1 + Alarme 1 + + + + + ---- + ---- + + + + + Yellow + Jaune + + + + + Orange + Orange + + + + + Red + Rouge + + + + Alarm 2 + Alarme 2 + + + + Serial Protocol + Protocole Série + + + + Volt source + Source de mesure de tension + + + + Metric + Métrique + + + + Imperial + Impérial + + + + Current source + Source de mesure de courant + + + + Protocol + Codage + + + + NONE + Aucune + + + + + FAS + FAS + + + + None + Aucun + + + + FrSky Sensor Hub + Sensor Hub FrSky + + + + CEL + ELEM + + + + 2 + 2 + + + + 3 + 3 + + + + 4 + 4 + + + + Units + Unités + + + + Blades + Pales + + + + Altimetry / Vario + Altimètre / Vario + + + + Alti + Alti + + + + Alti+ + Alti+ + + + + Vario + Vario + + + + Sink Max + Chute max + + + + Off + Aucun + + + + 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 + + + + Various + + + + + mAh count + + + + + FAS Offset + + + + + Persistent mAh + + + + + TelemetryAnalog + + + Form + + + + + Unit + Unité + + + + Max Value + Valeur Max + + + + Alarm 1 + Alarme 1 + + + + + ---- + ---- + + + + + Yellow + Jaune + + + + + Orange + Orange + + + + + Red + Rouge + + + + + < + < + + + + + > + > + + + + Alarm 2 + Alarme 2 + + + + Min Value + Valeur Min + + + + Volts (V) + Tension (V) + + + + Amps (A) + Courant (A) + + + + Speed (m/s or ft/s) + Vitesse (m/s ou ft/s) + + + + Raw (-) + Chiffres bruts (-) + + + + Speed (km/h or miles/h) + Vitesse (km/h ou miles/h) + + + + Meters (m or ft) + Distance (m ou ft) + + + + Temp (°) + Temp (°) + + + + Fuel (%) + Carburant (%) + + + + mAmps (mA) + Courant (mA) + + + + Range + Plage + + + + TelemetryCustomScreen + + + Form + + + + + Custom Screen Type + Type d'écran personnalisé + + + + Nums + Valeurs + + + + Bars + Barres + + + + Min + Min + + + + Source + + + + + Gauge + Jauge + + + + Max + Max + + + + TelemetryPanel + + + Telemetry screen %1 + + + + + Winged Shadow How High + Winged Shadow How High + + + + Winged Shadow How High (not supported) + Winged Shadow How High (non supporté) + + + + Timer + + + Form + + + + + mm:ss + + + + + Countdown + + + + + MinuteBeep + Bip chaque minute + + + + Persistent + Persistant + + + + (00:00:00) + + + + + TimerPanel + + + None + Aucun + + + + Beeps + + + + + Countdown + + + avrOutputDialog @@ -7663,35 +8332,35 @@ Consulter la documentation du programmateur utilisé et celle d'AVRDUDE pou Parcourir... - + DFU-UTIL Configuration Configuration de DFU-UTIL - + SAM-BA Configuration Configuration de SAM-BA - - - + + + Select Location Choisir l'emplacement - - + + Companion - + <b><u>WARNING!</u></b><br>This will reset the fuses of %1 to the factory settings.<br>Writing fuses can mess up your radio.<br>Do this only if you are sure they are wrong!<br>Are you sure you want to continue? <b><u>AVERTISSEMENT!</u></b><br>Ceci réinitialisera les fusibles %1 à leur valeur par défaut.<br>Modifier les fusibles peut entraîner le blocage de votre émetteur.<br>Ne l'effectuer que si vous êtes certain qu'ils sont incorrects!<br>Etes-vous sûr de vouloir continuer? - + <b><u>WARNING!</u></b><br>Normally CPU type is automatically selected according to the chosen firmware.<br>If you change the CPU type the resulting eeprom could be inconsistent. <b><u>ATTENTION!</u></b><br>Le type de processeur est normalement choisi automatiquement pour le firmware sélectionné.<br>Si vous le changez, l'EEPROM peut être corrompue lors du transfert. @@ -7735,7 +8404,7 @@ A n'utiliser qu'en connaissance de cause: il n'y a pas de contrô Paramètres complémentaires passés à chaque appel du programme - + AVRDUDE Configuration Configuration d'AVRDUDE @@ -7832,7 +8501,7 @@ m2560 for v4.1 boards - + Browse for file Parcourir... @@ -7878,7 +8547,7 @@ m2560 for v4.1 boards - + Write to TX Transférer @@ -7915,7 +8584,7 @@ m2560 for v4.1 boards Flasher l'émetteur - + Write firmware to TX Transférer le firmware vers l'émetteur @@ -7924,27 +8593,27 @@ m2560 for v4.1 boards Transférer les modèles vers l'émetteur - + Open Ouvrir - - - - - - + + + + + + Warning Avertissement - + %1 is not a known firmware %1 n'est pas un firmware connu - + Burn anyway ! Confirmer le transfert ! @@ -7953,26 +8622,26 @@ m2560 for v4.1 boards Fichier binaire EEPROM %1 invalide. Continuer quand même? - + Open Image to load Ouvrir l'image à charger - + Images (%1) Images (%1) - - - - - - - - - - + + + + + + + + + + Error Erreur @@ -7985,7 +8654,7 @@ m2560 for v4.1 boards Ecrire %1 dans la radio - + Current profile Profil courant @@ -7994,76 +8663,76 @@ m2560 for v4.1 boards Choisir le fichier EEPROM à transmettre à l'émetteur - + Write Models and Settings to TX Transférer les modèles et réglages à la radio - + Write Models and Settings in %1 to TX Transférer les modèles et réglages %1 à la radio - + Choose file to load Models and Settings from Chemin des fichers deréglages et modèles par défaut - + Unable to find file %1! Fichier %1 introuvable! - - - + + + Error opening file %1: %2. Erreur à l'ouverture du fichier %1: %2. - - - + + + Invalid binary Models and Settings File %1, Proceed anyway ? Fichier binaire de réglages et modèles %1 invalide, continuer quand même? - + Error reading file %1: %2. Fichier %1 corrompu: %2. - - + + Cannot load %1. Impossible de charger %1. - + 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 @@ -8076,15 +8745,15 @@ m2560 for v4.1 boards Paramètres hardware invalides, l'EEPROM n'a pas été patchée! - - + + Cannot write file %1: %2. Ecriture fichier %1 impossible: %2. - + Error writing file %1: %2. Erreur d'écriture fichier %1: @@ -8226,14 +8895,14 @@ m2560 for v4.1 boards - + - - - - - - + + + + + + Switch Interrupteur @@ -8285,10 +8954,10 @@ m2560 for v4.1 boards - - - - + + + + Offset Décalage @@ -8296,8 +8965,8 @@ m2560 for v4.1 boards - - + + Min Min @@ -8305,8 +8974,8 @@ m2560 for v4.1 boards - - + + Max Max @@ -8322,8 +8991,8 @@ m2560 for v4.1 boards - - + + CH VOIE @@ -8357,64 +9026,54 @@ m2560 for v4.1 boards - + Weight Ratio - - Expo - Expo + Expo - - - - - - + + Curve Courbe - + Mixers Mixages - - + + noTrim Pas de trim - - FMTrim - Trims des phases de vol + Trims des phases de vol - - Diff - Diff + Diff - - + + Delay(u%1:d%2) Délai(u%1:d%2) - - + + Slow(u%1:d%2) Ralentissement(u%1:d%2) - - + + Warn Avertissement @@ -8425,136 +9084,133 @@ m2560 for v4.1 boards Sans titre - + - - + + DISABLED DESACTIVE - + Curves Courbes - + 5 Points Curves Courbes à 5 points - - - - + + + + pt %1 point %1 - + 9 Points Curves Courbes à 9 points - Custom Switches - Inters personnalisés + Inters personnalisés - - CS - SW + SW - - + + Function Fonction - - + + Param Paramètre - - + + Enable Actif - + CF FS - + Telemetry Settings Paramètres de télémesure - - + + Analog Analogue - - + + Unit Unité - - + + Scale Echelle - - - - + + + + A%1 A%1 - - + + Alarm 1 Alarme 1 - - + + Alarm 2 Alarme 2 - - - - + + + + Type Type - - - - + + + + Condition Condition - - - - - - + + + + + + Value Valeur @@ -8567,29 +9223,28 @@ m2560 for v4.1 boards Nom del la phase de vol - + - - + + Flight modes Phases de vol - + - - + + Flight mode Phase de vol - Custom Functions - Fonctions spéciales + Fonctions spéciales - - + + Repeat Répétition @@ -8598,47 +9253,63 @@ m2560 for v4.1 boards FSn - + Safety Switches Inters de sécurité - - + + RSSI Alarm Alarme RSSI - - + + Telemetry Bars Jauges de Télémétrie - - + + Bar Number Barre - - + + Source - - + + Custom Telemetry View Vue Télémesure personnalisée - + + Logical Switches + + + + + + LS + + + + + Switch Assignment + + + + Print Document Imprimer le Document - + Select PDF output file Choisir le fichier PDF de sortie @@ -8651,24 +9322,22 @@ m2560 for v4.1 boards Dialogue - + People who have contributed to this project Personnes qui ont contribué au projet - + Coders Développeurs - - Honors go to Rafal Tomczak (RadioClone) and Thomas Husterer (th9x) -of course. Also to Erez Raviv (er9x) and the fantastic eePe program -which was the staring point for OpenTX Companion. + + Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) - + Companion Release Notes @@ -8680,12 +9349,12 @@ companion9x was forked out. Egalement à Erez Raviv (er9x) et son fantastique programme eePe d'où est parti companion9x. - + Thank you all !!! Merci à tous !!! - + Contributors Contributeurs @@ -8694,7 +9363,7 @@ Egalement à Erez Raviv (er9x) et son fantastique programme eePe d'où est Notes de version de companion9x - + OpenTX Release Notes Notes de version d'openTx @@ -8737,7 +9406,7 @@ Egalement à Erez Raviv (er9x) et son fantastique programme eePe d'où est - + Save Firmware Save To Hex Sauvegarder le firmware @@ -8752,80 +9421,80 @@ p, li { white-space: pre-wrap; } - - - + + + Select an original firmware file Choisissez un fichier de firmware - + Open Ouvrir - + Select an image to customize your splash <br />or save actual firmware splash Choisir une image pour personnaliser votre Splash <br/> ou enregistrer le Splash de votre firmware courant - - - - + + + + Error Erreur - + Could not find bitmap to replace in file Impossible de trouver l'image à remplacer dans le fichier - + Open Image to load Ouvrir l'image à charger - + Images (%1) Images (%1) - - + + Cannot load %1. Impossible de charger %1. - - + + Save your custimized firmware Enregistrer votre firmware personnalisé - - + + Write to file Ecrire vers le fichier - + Error reading file %1 Fichier %1 corrompu! {1?} - + Firmware correctly saved. Firmware enregistré. - + Firmware not saved. Firmware non enregistré. - + PNG images (*.png);; Images PNG (*.png);; @@ -9263,17 +9932,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 @@ -9281,7 +9950,7 @@ Press cancel to abort joystick calibration mdiChild - + Simulate Tx Simulation de l'émetteur @@ -9728,17 +10397,17 @@ Press cancel to abort joystick calibration preferencesDialog - + Mode 2 (RUD THR ELE AIL) Mode 2 (DIR GAZ PROF AIL) - + Mode 4 (AIL THR ELE RUD) Mode 4 (AIL GAZ PROF DIR) - + Mode selection: Mode 1: @@ -9779,144 +10448,144 @@ Manche Droit: Profondeur, Direction - + Mode 3 (AIL ELE THR RUD) Mode 3 (AIL PROF GAZ DIR) - + Firmware - - + + ... - + Enable Actif - + Calibrate Calibrer - - - - + + + + Open Folder Ouvrir le répertoire - + Set language of voice. May be different from firmware language Langue des voix. Peut être différente de la langue du firmware - + Export Profile Exporter le profil - + Import Profile Importer le profil - + Custom TX splash screen Personnaliser l'écran d'accueil - + Automatic Backup Folder Dossier de sauvegardes automatiques - + Automatically add version number to the filename after download Ajouter le numéro de version au nom de fichier après téléchargement - + SD Structure path Chemin de la structure de la carte SD - + Processor ID ID du processeur - + Simulator capture folder Dossier de sauvegarde des captures d'écran - + Use clipboard only Utiliser le presse-papiers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CheckBox - + Check for updates Vérifier les mises à jour - + Channel order This is used by the templated to determine which channel goes to what number output. @@ -9924,88 +10593,149 @@ This is used by the templated to determine which channel goes to what number out Indique l'affectation voie / numéro de canal par défaut utilisée lors de la création d'un modèle. - + Language Langue - + Voice Voix - + Profile Name Nom du profil - + Save Profile Sauvegarder profil - + Simu BackLight Rétroéclairage simu - + Check for selected Fw updates Vérifier les mises à jour de firmwares au démarrage - + Ask use of wizard for new models Utiliser l'assistant de configuration de modèle - + + Show Splash At Start + + + + Remember switches in simulator Mémoriser les inters pour le simulateur - + Blue Blu Bleu - + Green Vert - + Red Rouge - + Orange Orange - + Yellow Jaune - + Personal splash library Bibliothèque de splashs personnalisés - + Profile slot Numéro de profil - + + Theme + + + + + + Requires restart + + + + + Classic + + + + + Monochrome + + + + + MonoWhite + + + + + MonoBlue + + + + + Icon size + + + + + Small + + + + + Normal + Normal + + + + Big + + + + + Huge + + + + Find Executable - + Google Earth Executable @@ -10014,58 +10744,58 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Dossier de sauvegarde de l'EEPROM - + auto backup before write Sauvegarde automatique avant programmation - + Ask for flashing after Download Demander pour flasher après téléchargement - + Splash library behaviour Utilisation de la bibliothèque de Splashes - + Include companion splashes Inclure les écrans d'accueil de companion9x - + Only user defined splashes Seulement vos écrans d'accueil - + Joystick Joystick - + Open Image Charger une image - + Invert Pixels Inverser les couleurs - + FwInfo - + Language (requires restart) Version française par Pascal Dugué / Octobre 2010. Langue (nécessite un redémarrage de companion9x) - + Default Channel Order Ordre des voies par défaut @@ -10075,38 +10805,37 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Préférences - + Default Stick Mode Mode par défaut - + Mode 1 (RUD ELE THR AIL) Mode 1 (DIR PROF GAZ AIL) - + Check for updates on startup Vérifier les mises à jour au démarrage - Show Splash Screen - Afficher l'écran d'accueil au démarrage + Afficher l'écran d'accueil au démarrage - + Recent History Size Taille de l'historique des derniers documents utilisés - - + + Download Télécharger - + Last downloaded release: %1 Dernière version téléchargée : %1 @@ -10119,84 +10848,84 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Le firmware sélectionné ne peut pas être téléchargé par companion9x. - + Image stored in settings Image enregistrée dans les paramètres - - + + No joysticks found Aucun joystick - + Select your Models and Settings backup folder Sélectionner le dossier dans lequel une sauvegarde des réglages et modèles sera placée automatiquement lors de chaque opération - + Select Google Earth executable - + Select the folder replicating your SD structure Sélectionner un dossier contenant une copie des dossiers de la carte SD - + Profile name is empty, profile slot %1 will be deleted.<br>Are you sure ? Le nom du profil est vide, le profil %1 va être effacé.<br>Etes-vous sûr? - + Export profile As Exporter le profil sous - + Profile slot is not empty, profile slot %1 will we overwritten.<br>Are you sure ? L'emplacement %1 n'est pas vide, il va être écrasé. Continuer? - + Open Profile to import Ouvrir le profil à importer - + Open Image to load Ouvre l'image à charger - + Images (%1) Images (%1) - - + + Error Erreur - + The selected firmware has never been downloaded by Companion. - + The selected firmware cannot be downloaded by Companion. - + Select your library folder Sélectionner le dossier de bibliothèque - + Select your snapshot folder Sélectionner le dossier où stocker les captures d'écran @@ -10205,8 +10934,8 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Sélectionner le dossier de sauvegarde d'EEPROM - - + + Cannot load %1. Impossible de charger %1. @@ -10215,9 +10944,9 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de printDialog - - - + + + Name Nom @@ -10232,9 +10961,7 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Imprimer - - - + pt %1 point %1 @@ -10260,24 +10987,24 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Nom del la phase de vol - - + + Flight modes Phases de vol - - + + Flight mode Phase de vol - + Slow(u%1:d%2) Ralentissement(u%1:d%2) - + Delay(u%1:d%2) Délai(u%1:d%2) @@ -10287,37 +11014,35 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Dialogue - - - - - + + + + + Offset Décalage - - CS - SW + SW - + Global Variables Variables globales - + GV VG - + Scale Echelle - + Source Source @@ -10349,35 +11074,51 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de - + Enabled Actif - + + Logical Switches + + + + + + LS + + + + + Switch Assignments + + + + Function Fonction - + Print Document Imprimer le Document - - - - + + + + Switch Interrupteur - - - - - + + + + + Value Valeur @@ -10467,153 +11208,138 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Ratio - - - - Expo - Expo + Expo - - - - - - - + + + Curve Courbe - + Mixers Mixages - - - - - + + + + + CH VOIE - + noTrim Pas de trim - FMTrim - Trims des phases de vol + Trims des phases de vol - Diff - Diff + Diff - + Warn Avertissement - - + + DISABLED DESACTIVE - + Limits Débattements - - - - + + + + Min Min - - - - + + + + Max Max - - - + + + Invert Inversion - - - + + + INV Inversion - - - + + + NOR Normal - + Curves Courbes - 5 Points Curves - Courbes à 5 points + Courbes à 5 points - 9 Points Curves - Courbes à 9 points + Courbes à 9 points - Custom Switches - Inters personnalisés + Inters personnalisés - CF - FS + FS - + 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 (*) - + Safety Switches Inters de sécurité - Function Switches - Fonctions personnalisées + Fonctions personnalisées - + Parameter Paramètre - + Repeat Répétition @@ -10622,91 +11348,91 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de FP - + Telemetry Settings Paramètres de télémesure - - + + Alarm 1 Alarme 1 - - + + Alarm 2 Alarme 2 - + Analog Analogue - + Unit Unité - - - - + + + + Type Type - - - - + + + + Condition Condition - + A%1 A%1 - + RSSI Alarm Alarme RSSI - + Frsky serial protocol Protocole Série FrSky - + System of units Unités - + Propeller blades Pales de l'hélice - + Telemetry Bars Jauges de Télémesure - + Bar Number Barre no - - + + Custom Telemetry View Vue Télémesure personnalisée - + Select PDF output file Choisir le fichier PDF de sortie @@ -10714,17 +11440,17 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de simulatorDialog - + P1 - + P2 - + P3 @@ -10734,59 +11460,57 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de - CSK SWK - IPK + IPK - CSW SWW - IPW + IPW - + CH1 - + CH2 - + CH3 - + CH4 - + CH5 - + CH6 - + CH7 - + CH8 - + CH9 @@ -10806,12 +11530,12 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de - + ID1 - + ID2 @@ -10829,7 +11553,7 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de - + Right Double Click to Reset Double cliquer pour remettre à 0 @@ -10839,14 +11563,14 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de - - - + + + 0 % - + BEEP BIP @@ -10856,231 +11580,361 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de - CS1 - IP1 + IP1 - CS2 - IP2 + IP2 - CS3 - IP3 + IP3 - CS4 - IP4 + IP4 - CS5 - IP5 + IP5 - CS6 - IP6 + IP6 - CS7 - IP7 + IP7 - CS8 - IP8 + IP8 - CS9 - IP9 + IP9 - CSA - IPA + IPA - CSB - IPB + IPB - CSC - IPC + IPC - CSD - IPD + IPD - CSE - IPE + IPE - CSF - IPF + IPF - CSG - IPG + IPG - CSH - IPH + IPH - CSI - IPI + IPI - CSJ - IPJ + IPJ - CSL - IPL + IPL - CSM - IPM + IPM - CSN - IPN + IPN - CSO - IPO + IPO - CSP - IPQ + IPQ - CSQ - IPR + IPR - CSR - IPS + IPS - CSS - IPS + IPS - CST - IPT + IPT - CSU - IPU + IPU - CSV - IPV + IPV - + CH10 - + CH11 - + CH12 - + CH13 - + CH14 - + CH15 - + CH16 - + Fix X Verrou X - + Fix Y Verrou Y - - - - - - - - - - - - - - - - + + LS1 + + + + + LS2 + + + + + LS3 + + + + + LS4 + + + + + LS5 + + + + + LS6 + + + + + LS7 + + + + + LS8 + + + + + LS9 + + + + + LSA + + + + + LSB + + + + + LSC + + + + + LSD + + + + + LSE + + + + + LSF + + + + + LSG + + + + + LSH + + + + + LSI + + + + + LSJ + + + + + LSK + + + + + LSL + + + + + LSM + + + + + LSN + + + + + LSO + + + + + LSP + + + + + LSQ + + + + + LSR + + + + + LSS + + + + + LST + + + + + LSU + + + + + LSV + + + + + LSW + + + + + + + + + + + + + + + + + + + -100.1 - + Hold X Retenir X - + Hold Y Retenir Y @@ -11092,8 +11946,8 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de - - + + TextLabel @@ -11102,7 +11956,7 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Simulateur companion9x - + 9x Simulator Simulateur 9x @@ -11147,33 +12001,33 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de splashLibrary - + ... - + Splash Library - page %1 of %2 Bibliothèque de splash - page %1 sur %2 - + Warning Avertissement - + Invalid image in library %1 Image invalide dans la bibliothèque %1 - + Information - + No valid image found in library, check your settings Aucune image valide trouvée dans la bibliothèque, vérifiez vos paramètres @@ -11303,7 +12157,7 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Sorties - + CSK SWK IPK @@ -11330,16 +12184,16 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de - - - - - - - - - - + + + + + + + + + + -100.1 @@ -11374,202 +12228,202 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de VOIE4 - + CH12 VOIE12 - + CH5 VOIE5 - + CH13 VOIE13 - + CH6 VOIE6 - + CH14 VOIE14 - + CH7 VOIE7 - + CH15 VOIE15 - + CH8 VOIE8 - + CH16 VOIE16 - + CSC IPC - + CSD IPD - + CS7 IP7 - + CSL IPL - + CSB IPB - + CS1 IP1 - + CSH IPH - + CSG IPG - + CSE IPE - + CSF IPF - + CS8 IP8 - + CS9 IP9 - + CSA IPA - + CSM IPM - + CSJ IPJ - + CSI IPI - + CS4 IP4 - + CS5 IP5 - + CS2 IP2 - + CS3 IP3 - + CS6 IP6 - + CSN IPN - + CSO IPO - + CSP IPQ - + CSQ IPR - + CSR IPS - + CSS IPS - + CST IPT - + CSU IPU - + CSV IPV - + CSW SWW IPW @@ -11591,23 +12445,23 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Impossible d'accéder au joystick. Joystick désactivé - + Firmware %1 error: %2 Firmware %1 erreur : %2 - + - Flight mode: %1(%2) - Phase: %1(%2) - Phase : %1(%2) - + Simulating Tx (%1) Simulation de l'émetteur (%1) - + Simulating Simulation diff --git a/companion/src/translations/companion_he.ts b/companion/src/translations/companion_he.ts index ddfaa4e3d..ad27c1f99 100644 --- a/companion/src/translations/companion_he.ts +++ b/companion/src/translations/companion_he.ts @@ -2,134 +2,657 @@ - ExpoDialog + Channels - - Expo - - - - - Weight - - - - + Name - - - - GV + + Offset - - - Phase used by the expo. + + Min - - Flight modes + + Max - - 0 + + Invert - - 1 + + Center - - 2 + + Sym - - 3 + + Channel %1 - - 4 + + --- - - 5 + + INV + + + + + CurveGroup + + + Diff - - 6 + + Expo - - 7 + + Func - - 8 + + Curve + + + + + Curves + + + Form - + + Standard + + + + + Custom + + + + + Lines + + + + + Smooth + + + + + Curve type + + + + + Curve name + + + + + Curve %1 + + + + + %1 points + + + + + Are you sure you want to reset curve %1 ? + + + + + Editing curve %1 + + + + + Not enough free points in EEPROM to store the curve. + + + + + CustomFunctionsPanel + + Switch - - Switch used by the expo. -If blank then the expo is considered to be "ON" all the time. + + Action - - Curve/Exponential + + Parameters - + + Enable + + + + + ON + + + + + Error + + + + + Unable to find sound file %1! + + + + + &Delete + + + + + Delete + + + + + &Copy + + + + + Ctrl+C + + + + + &Cut + + + + + Ctrl+X + + + + + &Paste + + + + + Ctrl+V + + + + + CustomSwitchesPanel + + + Condition + + + + + V1 + + + + + V2 + + + + + AND + + + + + Duration + + + + + Delay + + + + + + LS%1 + + + + + &Delete + + + + + Delete + + + + + &Copy + + + + + Ctrl+C + + + + + &Cut + + + + + Ctrl+X + + + + + &Paste + + + + + Ctrl+V + + + + + Dialog + + + Dialog + + + + + Curve type + + + + + Coefficient + + + + + Both + + + + + x>0 + + + + + x<0 + + + + + Y at X=0 + + + + + Side + + + + + Y at X=-100 + + + + + Y at X=100 + + + + + Linear + + + + + Single Expo + + + + + Symmetrical f(x)=-f(-x) + + + + + Symmetrical f(x)=f(-x) + + + + + ExpoDialog + + + Weight + + + + + + GV + + + + + The source for the mixer + + + + + Input name + + + + + Phase used by the input. + + + + + Flight modes + + + + + 0 + + + + + 1 + + + + + 2 + + + + + 3 + + + + + 4 + + + + + 5 + + + + + 6 + + + + + 7 + + + + + 8 + + + + + Switch + + + + + Switch used by the input. +If blank then the input is considered to be "ON" all the time. + + + + + The curve used by the input + + + + + Source + + + + + Line name + + + + Stick Side - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Delay ans Slow</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These values control the speed and delay of the output of the mix. </p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> + + + + + Scale + + + + + Include Trim + + + + + No + + + + + Yes + + + + Curve - - The curve used by the expo - - - - + NEG - + POS - + ALL - - DEST -> %1 + + Edit %1 + + + + + Rud + + + + + Ele + + + + + Thr + + + + + Ail + + + + + FlightMode + + + Form + + + + + Fade In + + + + + Fade Out + + + + + Name + + + + + Switch + + + + + trim1 + + + + + trim2 + + + + + trim4 + + + + + trim3 + + + + + Rud + + + + + Ele + + + + + Thr + + + + + Ail + + + + + Rotary Encoder %1 + + + + + GVAR%1 + + + + + FlightModes + + + Flight Mode %1 + + + + + (%1) + + + + + (default) @@ -152,13 +675,13 @@ These will be relevant for all models in the same EEPROM. - + Contrast - - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -168,12 +691,12 @@ p, li { white-space: pre-wrap; } - + Battery Warning - + Battery warning voltage. This is the threashhold where the battery warning sounds. @@ -181,260 +704,236 @@ Acceptable values are 5v..10v - + Battery Calibration - + Battery calibration: This value will be added to the measured battery voltage. Use this value to calibrate the meter with an external meter. - + This is the switch selectrion for turning on the backlight (if installed). - + If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. - - + + sec - + Inactivity Timer - + If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes. - + min - - Reverse Throttle Operation - - - - - Reverse throttle operation. -If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. - - - - - - + Owner Name - + - - - + + Off - - Switches Up - - - - - Switches Down - - - - + Trainer - - + + PPM 1 + - - - + + chn1 + - - - + + chn2 + - - - + + chn3 + - - - + + chn4 - + Mode - + Telemetry NO DATA Alarm - + Show Owner Name on Splash - + Sound Mode - + Beeper - + Speaker Pitch (spkr only) - + Only Alarms - - + + All - + Pot Scrolling Enable - + Bandgap Measuring Enable - + THR - + RUD - + ELE - + AIL - + GEA - + ID0 - + ID1 - + ID2 - + Beeper Length - - + + X-Short - - + + Short - - + + X-Long - + Haptic Mode - + Alarms Only - + Haptic Length - + GPS Coordinates @@ -449,102 +948,102 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + Speaker - + BeeperVoice - + SpeakerVoice - + hh° (N/S) mm' ss''.dd - + NMEA - + Timeshift from UTC - + LCD Display Type - + Standard - + Optrex - + Speaker Volume - + Haptic Strength - + BackLight Brightness - + RotEnc Navigation - + BackLight Auto OFF after - + BackLight Switch - + BackLight On Stick Move - + Country Code - + America - + Japan - + Europe @@ -559,333 +1058,355 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + Measurement Units - + Beep volume - + Wav volume - + Vario volume - + Background volume - + PPMSim - + 4800 Baud - + 9600 Baud - + 14400 Baud - + 19200 Baud - + 38400 Baud - + 57600 Baud - + 76800 Baud - + 115200 Baud - + FrSky Internal Alarm - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. - + StickScroll - + FAI Mode - + Metric - + Imperial - + BackLight Invert - + CrossTrim - + Readonly Unlock - + SC - + SE - + SA - + SF - + SH - + SD - + SB - + SG - + Input - + Weight - + Switch + - - - + + += (Sum) + - - - + + := (Replace) - - + + PPM 2 - - + + PPM 3 - - + + PPM 4 - + Telemetry - + RSSI Alarm 1 - - + + ---- - - + + Yellow - - + + Orange - - + + Red - + RSSI Alarm 2 - + NO DATA Alarm - + POT 4 - - + + Negative span - - + + Mid value - - + + Positive span - + STICK 1 - + STICK 2 - + Current - + + + Pot (normal) + + + + + + Multipos Switch + + + + + S1 Type + + + + + S2 Type + + + + STICK 3 - + STICK 4 - + POT 1 - + POT 2 - + POT 3 - + Battery - + PPM Multiplier - + Timer Beeps - + <!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; } @@ -894,22 +1415,22 @@ p, li { white-space: pre-wrap; } - + Every Minute - + Beeps at 30, 15, 10, and down from5 seconds - + Count Down to Zero - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -918,71 +1439,65 @@ p, li { white-space: pre-wrap; } - + Flash on beep - + Alarm Warning - - + + Quiet - - + + No Keys - - + + Normal - - + + Long - + Input Filter - + Single - + Oversample - + Filter - - Throttle Startup Warning - - - - - - - - - + + + + + <!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; } @@ -997,30 +1512,27 @@ p, li { white-space: pre-wrap; } - - Switch Startup Warning - - - - + Memory Startup Warning - + Beeper Mode - + + + - - - - - - + + + + + + Beeper volume 0 - Quiet. No beeps at all. @@ -1031,24 +1543,24 @@ p, li { white-space: pre-wrap; } - + Channel Order (For Templates) - + Channel order This is used by the templated to determine which channel goes to what number output. - + Stick Mode - + Mode selection: Mode 1: @@ -1071,974 +1583,1103 @@ Mode 4: - + Mode 1 (RUD ELE THR AIL) - + Mode 2 (RUD THR ELE AIL) - + Mode 3 (AIL ELE THR RUD) - + Mode 4 (AIL THR ELE RUD) - + Show Splash Screen on Startup - - + + Show splash screen on startup - + Calibration - + v - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. Are you sure ? - - + + Warning - + Wrong data in profile, radio calibration was not retrieved - + Wrong data in profile, hw related parameters were not retrieved - + Do you want to store calibration in %1 profile<br>overwriting existing calibration? - + Calibration and HW parameters saved. + + Heli + + + Form + + + + + Invert Elevator + + + + + Invert Aileron + + + + + Invert Collective + + + + + Invert + + + + + Off + + + + + 120 + + + + + 120X + + + + + 140 + + + + + 90 + + + + + Collective + + + + + Swash Type + + + + + Swash Ring + + + + + InputsPanel + + + + Move Up + + + + + + Ctrl+Up + + + + + + Move Down + + + + + + Ctrl+Down + + + + + Clear All Settings + + + + + Source(%1) + + + + + No Trim + + + + + Weight(%1) + + + + + Switch(%1) + + + + + Not enough available inputs! + + + + + Delete Selected Inputs? + + + + + &Add + + + + + Ctrl+A + + + + + &Edit + + + + + Enter + + + + + &Delete + + + + + Delete + + + + + &Copy + + + + + Ctrl+C + + + + + &Cut + + + + + Ctrl+X + + + + + &Paste + + + + + Ctrl+V + + + + + Du&plicate + + + + + Ctrl+U + + + + + Clear Inputs? + + + + + Really clear all the inputs? + + + MainWindow - - - - + + + + File loaded - - - - - + + + + + Save As - - + + No updates available at this time. - - - - - + + + + + Unable to check for updates. - + Checking for updates - + Executable (*.exe) - + Would you like to launch the installer? - + Do you want to write the firmware to the transmitter now ? - + Firmware %1 does not seem to have ever been downloaded. Version %2 is available. Do you want to download it now ? - + Open - - + + File saved - + + OpenTX Home Page: <a href='%1'>%1</a> + + + + + The OpenTX Companion project was originally forked from <a href='%2'>eePe</a> + + + + + If you've found this program useful, please support by <a href='%1'>donating</a> + + + + + Version %1, %3 + + + + Copyright - - donating - - - - - - + + &%1 %2 - - %1 %2 - - - - + &New - + Create a new file - + &Open... - + Open an existing file - + &Save - + Save the document to disk - + Save &As... - + Save the document under a new name - + &Preferences... - + Edit general preferences - + &Check for updates... - - If you've found this program useful, please support by - - - - + Display previous warning again at startup ? - + New release available - - - - - - - - + + + + + + + + + + + + - - - - Error - - - - - + + + + + Error opening file %1: %2. - + Compilation server termporary failure, try later - + Display previous message again at startup ? - + + A new release of Companion is available please check the OpenTX website! + + + + Firmware does not longer fit in the Tx, due to selected firmware options - + Compilation server temporary failure, try later - - + + Compilation server too busy, try later - - + + Unknown server failure, try later - + Firmware does not fit in the Tx, due to selected firmware options - - + + Yes - - + + No - - + + Release Notes - - + + Do you want to download release %1 now ? - + A new version of %1 firmware is available (current %2 - newer %3). Do you want to download it now ? - + Ignore this version (r%1)? - + Release notes contain very important informations. Do you want to see them now ? - + Firmware updates - + Current firmware does not provide release notes informations. - + Cannot write file %1: %2. - - - - - + + + + + Taranis radio not found - - - - + + + + Impossible to identify the radio on your system, please verify the eeprom disk is connected. - + Write Models and settings from %1 to the Tx? - - - + + + Backup is impossible - - - + + + The backup dir set in preferences does not exist - - + + Warning - + Conversion failed - + Restore failed - + Backup failed - - Version %1 (revision %2), %3 - - - - + &loadBackup... - + Load backup from file - + Lo&gs - + Ctrl+G - + Open log file - + Contributors &List... - + ChangeLog... - + Firmware ChangeLog... - + Show firmware changelog - + Compare... - + Compare models - + Customize your &TX... - + Customize the splash screen of your TX - + E&xit - + Exit the application - + Cu&t - + Cut the current selection's contents to the clipboard - + &Copy - + Copy the current selection's contents to the clipboard - + &Paste - + Paste the clipboard's contents into the current selection - + Ctrl+Alt+W - + Ctrl+Alt+R - + &Configure... - + Configure software for reading from and writing to the transmitter - + &List programmers - + List available programmers - + &Fuses... - + Show fuses dialog - + &Simulate - + Alt+S - + Simulate selected model. - + &Print - + Ctrl+P - + Print current model. - - - Cl&ose - - - - - Close the active window - - - - - Close &All - - - - - Close all the windows - - - - - &Tile - - - Tile the windows - - - - - &Cascade - - - - - Cascade the windows - - - - - Ne&xt - - - - - Move the focus to the next window - - - - - Pre&vious - - - - - Move the focus to the previous window - - - - &About - + Show the application's About box - - + + Recent Files - + &Read/Write - + Write - + Unable to find file %1! - + Error reading file %1: %2. - - Switch layout Left/Right - - - - + &File - - Switch layout direction - - - - - - + + + Companion - Models and Settings Editor - %1 - profile %2 - - - - + + + + Companion - Models and Settings Editor - %1 - + A new version of Companion is available (version %1)<br>Would you like to download it? - - A new release of Companion is available please check the repository - - - - - + + Compilation server requires registration, please check OpenTX web site - - - - + + + + Read Models and Settings From Tx - + The file %1 has not been recognized as a valid Models and Settings file Write anyway ? - - - - - - + + + + + + Backup Models and Settings From Tx - + Cannot check Models and Settings compatibility! Continue anyway? - + The transmitter firmware belongs to another product family, check file and preferences! - + The transmitter firmware is outdated, please upgrade! - + Write Models and Settings To Tx - - + + Write Firmware To Tx - + Cannot convert Models and Settings for use with this firmware, original data will be used - + Restore Models and Settings To Tx - + Could not restore Models and Settings to TX. The models and settings data file can be found at: %1 - + Firmware write failed - + Could not write firmware to to transmitter. The models and settings data file can be found at: %1 - + Cannot backup existing Models and Settings from TX. Firmware write process aborted - + Save transmitter Models and Settings to File - + Impossible to identify the radio on your system, please verify that the eeprom disk is connected. - + Read Tx Firmware to File - - The Companion project was originally forked from eePe - - - - + About Companion - + Check for new version of Companion - + Show Companion contributors list - + Show Companion changelog - + &Write Models and Settings To Tx - + Write Models and Settings to transmitter - + &Read Models and Settings From Tx - + Read Models and Settings from transmitter - + Write Firmware - + Write firmware to transmitter - + Write Models and Settings from file to Tx - + Write Models and Settings from file to transmitter - + Save transmitter Models and Settings to file - + Save the Models and Settings from the transmitter to a file - + Read Firmware - + Read firmware from transmitter - - + + Firmware Profiles - + &Edit - - + + Invalid Models and Settings File %1 - + Invalid binary Models and Settings File %1 - - &Window - - - - + &Help - + File - + Edit - + Help - + Ready @@ -2046,42 +2687,42 @@ Write anyway ? MdiChild - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + Error - + Editing model %1: - - + + Unable to find file %1! - - + + Error reading file %1: %2. @@ -2092,141 +2733,141 @@ Write anyway ? - - - - + + + + Error opening file %1: %2. - - + + Invalid EEPROM File %1 - + Invalid binary EEPROM File %1 - - - - + + + + Save As - - - - + + + + Cannot write file %1: %2. - + Do you want to use model wizard? - - - + + + Companion - + Ask this question again ? - + %1 has been modified. Do you want to save your changes? - + Backup is impossible - + The backup dir set in preferences does not exist - - - + + + Taranis radio not found - - - + + + Impossible to identify the radio on your system, please verify the eeprom disk is connected. - - - + + + Backup EEPROM From Tx - + Cannot check eeprom compatibility! Continue anyway? - - + + Warning - + Firmware in radio is of a different family of eeprom written, check file and preferences! - + Firmware in flash is outdated, please upgrade! - + Write EEPROM To Tx - + Open - + Invalid binary backup File %1 - - + + Error writing file %1: %2. - + Cannot write temporary file! @@ -2234,134 +2875,121 @@ Do you want to save your changes? MixerDialog - + Dialog - + Source - - - - + + + + The source for the mixer - + Weight - - Fix Offset - - - - - - + + + GV - + Switch used by the mix. If blank then the mix is considered to be "ON" all the time. The value of the mixer is multiplied by this value and divided by 100. - - - - + Offset - + Include Trim - + Curve - + The curve used by the mix - + Switch - + Yes - + No - + Warning - + Name - - Curve/Differential - - - - + Mixer warning. Setting this value will cause a beep to be emmitted when this value is active. - + OFF - + 1 Beep - + 2 Beep 2 Beeo - + 3 Beep - + Multiplex - + Multiplexer This determines how mixer values are added. @@ -2372,100 +3000,95 @@ This determines how mixer values are added. - + ADD - + MULTIPLY - + REPLACE - + Flight modes - + Include DR/Expo - + 0 - + 1 - + 2 - + 3 - + 4 - + 5 - + 6 - + 7 - + 8 - - Enable FM Trim - - - - + Delay - + Slow - + Up - - - - + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -2480,2630 +3103,552 @@ p, li { white-space: pre-wrap; } - + Down - + DEST -> X%1 - + DEST -> CH%1%2 - - - FM Trim Value - - - - + Rud - + Ele - + Thr - + Ail + + MixesPanel + + + + Move Up + + + + + + Ctrl+Up + + + + + + Move Down + + + + + + Ctrl+Down + + + + + Clear Mixes + + + + + + + X%1 + + + + + + + CH%1%2 + + + + + Weight(%1) + + + + + Switch(%1) + + + + + No Trim + + + + + No DR/Expo + + + + + Offset(%1) + + + + + Delay(u%1:d%2) + + + + + Slow(u%1:d%2) + + + + + Warn(%1) + + + + + Not enough available mixers! + + + + + Delete Selected Mixes? + + + + + &Add + + + + + Ctrl+A + + + + + &Edit + + + + + Enter + + + + + &Delete + + + + + Delete + + + + + &Copy + + + + + Ctrl+C + + + + + &Cut + + + + + Ctrl+X + + + + + &Paste + + + + + Ctrl+V + + + + + Du&plicate + + + + + Ctrl+U + + + + + Clear Mixes? + + + + + Really clear all the mixes? + + + ModelEdit - + Dialog - + Setup - - Model Name + + Heli - - - Count Down + + Inputs - - - Count Up + + Logical Switches - - - mm:ss + + Switch Assignment - - Trim Increment - - - - - Exponential - - - - - Extra Fine - - - - - Fine - - - - - Medium - - - - - Coarse - - - - - Throttle Trim - - - - - Throttle Expo - - - - - Center beep - - - - - - - - - - - - - RUD - - - - - - - - - - - - - - - - ELE - - - - - - - - - THR - - - - - - - - - - - - - - AIL - - - - - P1 - - - - - P2 - - - - - P3 - - - - - Pulse Shift (polarity) - - - - - - - Positive - - - - - - - Negative - - - - - - - Protocol - - - - - - + Channels - - - - - - - ch - - - - - - - usec - - - - - Extended Limits - - - - - - Heli Setup - - - - - Swash Type - - - - - - Off - - - - - 120 - - - - - 120X - - - - - 140 - - - - - 90 - - - - - Collective - - - - - Swash Ring - - - - - Invert Elevator - - - - - Invert Aileron - - - - - Invert Collective - - - - + Mixes - - Limits - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - INV - - - - - - - Channel - - - - - - - Offset - - - - - - - - - Min - - - - - - - - - Max - - - - - - - Invert - - - - + Curves - - Curve 1 - - - - - Curve 2 - - - - - Timer1 - - - - - Timer2 - - - - - - - PPM delay - - - - - Extended Trims - - - - - Throttle2Trig - - - - - - - PPM Frame Length - - - - - - - mSec - - - - - - - - - - - - - Fade In - - - - - - - - - - - - - Fade Out - - - - - - - - - - - - - trim2 - - - - - - - - - - - - - trim1 - - - - - - DSM Type - - - - - - LP4/LP5 - - - - - - DSM2only - - - - - - DSM2/DSMX - - - - - - RX Number - - - - - Disable Throttle Warning - - - - - Switch startup Warning - - - - - Instant Trim - - - - - - CH01 - - - - - - CH02 - - - - - - CH03 - - - - - - CH04 - - - - - - CH05 - - - - - - CH06 - - - - - - CH07 - - - - - - CH08 - - - - - - CH09 - - - - - - CH10 - - - - - - CH11 - - - - - - CH12 - - - - - - CH13 - - - - - - CH14 - - - - - - CH15 - - - - - - CH16 - - - - - REa - - - - - REb - - - - - 3POS - - - - - - Check - - - - - - - ON - - - - - - OFF - - - - - GEA - - - - - ID0 - - - - - ID1 - - - - - ID2 - - - - - - TriggerB - - - - - Model Voice - - - - - - - - - - - - - trim4 - - - - - - - - - - - - - trim3 - - - - - - - - - - - - - GVAR1 - - - - - - - - - - - - - GVAR2 - - - - - - - - - - - - - GVAR3 - - - - - - - - - - - - - GVAR4 - - - - - - - - - - - - - GVAR5 - - - - - - - - - - - - - Rotary encoder B - - - - - - - - - - - - - Rotary encoder A - - - - - - Sym - - - - - Curve 3 - - - - - Curve 4 - - - - - Curve 5 - - - - - Curve 6 - - - - - Curve 7 - - - - - Curve 8 - - - - - Curve 9 - - - - - Curve 10 - - - - - Curve 11 - - - - - Curve 12 - - - - - Curve 13 - - - - - Curve 14 - - - - - Curve 15 - - - - - Curve 16 - - - - - - Curve type - - - - - 3 points - - - - - 3 points custom - - - - - 5 points - - - - - 5 points custom - - - - - 9 points - - - - - 9 points custom - - - - - 17 points - - - - - 17 points custom - - - - - Clear All Curves - Clear All Mixes - - - - - - Duration - - - - - - Delay - - - - - - Param - - - - + Telemetry - - Volt source - - - - - Current source - - - - - NONE - - - - - - - - A1 - - - - - - FAS - - - - - CEL - - - - - - Unit - - - - - - Raw (-) - - - - - Telemetry screen 1 - - - - - - - Custom Screen Type - - - - - - - Nums - - - - - - - Bars - - - - - Telemetry screen 2 - - - - - - Alarm 1 - - - - - ModelSetup - - - - - Throttle Source - - - - - SB - - - - - SD - - - - - SA - - - - - SC - - - - - SG - - - - - SE - - - - - SF - - - - - RS - - - - - Reverse Throttle Operation - - - - - Reverse throttle operation. -If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. - - - - - - - Master - - - - - Slave - - - - - Trainer Mode - - - - - Master/Trainer Port - - - - - - - Start - - - - - - Polarity - - - - - RF Module 1 - - - - - RF Module 2 - - - - - - Persistent - - - - - - (00:00:00) - - - - - - MinuteBeep - - - - - - CountDownBeep - - - - - Model Image - - - - - Failsafe - - - - - External module - - - - - - Failsafe Mode - - - - - - Hold - - - - - - Custom - - - - - - No Pulses - - - - - Internal Module - - - - + Flight Modes - - Flight Mode 0 (Default) - - - - - - - - - - - - - Flight Mode Name - - - - - GVAR6 - - - - - GVAR7 - - - - - FM 1 - - - - - FM 2 - - - - - FM 3 - - - - - FM 4 - - - - - FM 5 - - - - - FM 6 - - - - - FM 7 - - - - - FM 8 - - - - - Sticks - - - - - Show channels names in mixes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --- - - - - - - Center - - - - - Curve name - - - - - Curve Creator - - - - - Y at X=100 - - - - - Both - - - - - x>0 - - - - - x<0 - - - - - Linear - - - - - Single Expo - - - - - Symmetrical f(x)=-f(-x) - - - - - Symmetrical f(x)=f(-x) - - - - - Apply - - - - - Side - - - - - Y at X=-100 - - - - - Y at X=0 - - - - - Coefficient - - - - - CS9 - - - - - CSF - - - - - CSD - - - - - - AND - - - - - CS6 - - - - - CS1 - - - - - CS8 - - - - - CS7 - - - - - CSA - - - - - CSB - - - - - CSC - - - - - CS5 - - - - - CS3 - - - - - CS2 - - - - - CSE - - - - - CSG - - - - - CS4 - - - - - CST - - - - - CSM - - - - - CSP - - - - - CSH - - - - - CSO - - - - - CSN - - - - - CSQ - - - - - CSR - - - - - CSS - - - - - CSL - - - - - CSK - - - - - CSJ - - - - - CSI - - - - - CSU - - - - - CSV - - - - - CSW - - - - - - Enable - - - - - Altimetry / Vario - - - - - Sink Max - - - - - Climb Max - - - - - Sink Min - - - - - Climb Min - - - - - Vario source - - - - - Vario limits - - - - - Use GPS as altitude source - - - - - Display altitude in toolbar - - - - - - - - - - ---- - - - - - - - - - - Yellow - - - - - - - - - - Orange - - - - - - - - - - Red - - - - - - - - < - - - - - - - - > - - - - - - - Alarm 2 - - - - - - Min Value - - - - - - - - A2 - - - - - - - - Function - - - - - Custom switches - - - - - - V1 - - - - - - V2 - - - - - Safety Switches - - - - - - - - - - - - - - - - - Switch - - - - - Value - - - - - - Max Value - - - - - RSSI - - - - - Alarm 1 - - - - - Serial Protocol - - - - - Units - - - - - None - - - - - FrSky Sensor Hub - - - - - Metric - - - - - Custom Functions - - - - - Imperial - - - - - 2 - - - - - 3 - - - - - 4 - - - - - Blades - - - - - Alti - - - - - Alti+ - - - - - Vario - - - - - - Volts (V) - - - - - - Amps (A) - - - - - - Speed (m/s or ft/s) - - - - - - Speed (km/h or miles/h) - - - - - - Meters (m or ft) - - - - - - Temp (°) - - - - - - Fuel (%) - - - - - - mAmps (mA) - - - - - - - Source - - - - - - - Gauge - - - - - - - Gauge 1 - - - - - - - Gauge 2 - - - - - - - Gauge 3 - - - - - - - Gauge 4 - - - - - Telemetry screen 3 - - - - - Templates - - - - + Simulate - - - - - Move Up - - - - - - - - Ctrl+Up - - - - - - - - Move Down - - - - - - - - Ctrl+Down - - - - - Clear Expo Settings - - - - - Clear Mixes - - - - - S1 - - - - - S2 - - - - - LS - - - - - Weight - Weight(+%1%) - - - - - - Flight modes - - - - - - Flight mode - - - - - - - CH%1%2 - - - - - - Expo - - - - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - - - - - DISABLED - - - - - - Curve - - - - - - - X%1 - - - - - No Trim - - - - - No DR/Expo - - - - - FMTrim - - - - - Diff - - - - - Delay(u%1:d%2) - - - - - Slow(u%1:d%2) - - - - - Warn(%1) - - - - - - - - CH %1 - - - - - CF%1 - - - - - Error - - - - - Unable to find sound file %1! - - - - - Winged Shadow How High - - - - - Winged Shadow How High (not supported) - - - - - - Range - - - - - Simple 4-CH - - - - - T-Cut - - - - - Sticky T-Cut - - - - - V-Tail - - - - - Elevon\Delta - - - - - 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 - - - - - Editing curve %1 - - - - - Not enough available mixers! - - - - - Not enough available expos! - - - - - Delete Selected Mixes? - - - - - Delete Selected Expos? - - - - - - &Add - - - - - - Ctrl+A - - - - - - &Edit - - - - - - Enter - - - - - - - - &Delete - - - - - - - - Delete - - - - - - - - &Copy - - - - - - - - Ctrl+C - - - - - - - - &Cut - - - - - - - - Ctrl+X - - - - - - - - &Paste - - - - - - - - Ctrl+V - - - - - - Du&plicate - - - - - - Ctrl+U - - - - - Are you sure you want to delete curve %1 ? - - - - - Apply Template? - - - - - Apply template "%1"? - - - - - Clear Expos? - - - - - Really clear all the expos? - - - - - - - Clear Mixes? - - - - - Really clear all the mixes? - - - - + Clear Curves? - + Really clear all the curves? - - - - - - AIL2 - - - - - - - - ELE2 - - - - - - - - - - FLAPS - - - - - - - - - - FLAP%1 - - - - - - - - PITCH - - - - - - - - - - - - GYRO - - - - - - SPOIL - - - - - - SPOIL%1 - - - - - - RUD2 - - - - - Really clear existing mixes on CH6? - - - - - Really clear existing mixes on CH5? - - - - - Not enough free points in eeprom to store the curve. - - ModelsListWidget - + &Edit - + &Restore from backup - + &Model Wizard - + &Delete - + Delete - + &Copy - + Ctrl+C - + &Cut - + Ctrl+X - + &Paste - + Ctrl+V - + D&uplicate - + Ctrl+U - + &Use as default - + P&rint model - + Alt+R - + Alt+S - + &Simulate model - + General Settings - + Delete Selected Models? - - + + Cannot delete default model. - + Cannot cut default model. - + Do you want to overwrite TX general settings? - + You are pasting on an not empty model, are you sure? You are pasting on an not empty model, are you sure ? - + No free slot available, cannot duplicate + + Module + + + Form + + + + + Failsafe Mode + + + + + Start + + + + + PPM delay + + + + + usec + + + + + Negative + + + + + Positive + + + + + RX Number + + + + + Master + + + + + Slave + + + + + Polarity + + + + + Trainer Mode + + + + + mSec + + + + + PPM Frame Length + + + + + Label + + + + + + ch + + + + + Channels + + + + + Hold + + + + + Custom + + + + + No Pulses + + + + + Failsafe Positions + + + + + Protocol + + + + + ModulePanel + + + Trainer Output + + + + + Internal Radio System + + + + + External Radio Module + + + QObject @@ -5114,1950 +3659,1652 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + + Input%1 + + + + + Polish + + + + + CH%1 + + + + No - + RotEnc A - + Rot Enc B - + Rot Enc C - + Rot Enc D - + Rot Enc E - + Safety %1 - + Trainer - + Trainer RUD - + Trainer ELE - + Trainer THR - + Trainer AIL - + Instant Trim - + Play Sound - + Start Logs - + Play Haptic - - + + --- - + Rud Trim - + Ele Trim - + Thr Trim - + Ail Trim - + Rot Enc - + English - + French - + Italian - + German - + Czech - + Slovak - + Spanish - + Portuguese - + Swedish - - CH - - - - - + + No repeat - + %1 sec - + Reset - + Vario - + Play Track - + Play Both - + Play Value - + Volume - + Backlight - + Background Music - + Background Music Pause - - Adjust GV1 - - - - - Adjust GV2 - - - - - Adjust GV3 - - - - - Adjust GV4 - - - - - Adjust GV5 - - - - + Delay %1 sec - + Duration %1 sec - - + + <font color=red><b>Inconsistent parameter</b></font> - + Value - + Decr: - + Incr: - + + Played once, not during startup + + + + %1s - - Value + + Adjust GV%1 - - Source - - - - - GVAR + + Rotary Encoder + Value + + + + + Source + + + + + GVAR + + + + Increment - + !Flight mode %1 - + Flight mode %1 - + Flight mode %1 trim - + Flight mode %1 value - + Yellow - + Orange - + Red - + Winged Shadow How High - + Winged Shadow How High (not supported) - + FrSky Sensor Hub - + + None - + Imperial - + Metric - + Extra Fine - + Fine - + Medium - + Coarse - + Exponential - + Count Up - + Count Down - + %1:%2, - + : %1 Channels, %2usec Delay - + + Flight modes(%1) + + + + + Flight mode(%1) + + + + Rudder - + Elevator - + Throttle - + Aileron - - - + + + Timer1 - - - + + + Timer2 - - + + All - - + + Telemetry - - Diff - - - - - Expo - - - - + Own trim - + Own value - + Keys - + Sticks - + Keys + Sticks - + + -GV%1 - - (-GV%1) - - - - - (GV%1) - - - - - - - + + + + ---- - - - + + + P1 - - - + + + P2 - - - + + + P3 - + MAX - - + + Rud - - + + Ele - - + + Thr - - + + Ail - + + REa - + + REb - + + + LS1 + + + + + + LS2 + + + + + + LS3 + + + + + + LS4 + + + + + + LS5 + + + + + + LS6 + + + + + + LS7 + + + + + + LS8 + + + + + + LS9 + + + + + + LSA + + + + + + LSB + + + + + + LSC + + + + + + LSD + + + + + + LSE + + + + + + LSF + + + + + + LSG + + + + + + LSH + + + + + + LSI + + + + + + LSJ + + + + + + LSK + + + + + + LSL + + + + + + LSM + + + + + + LSN + + + + + + LSO + + + + + + LSP + + + + + + LSQ + + + + + + LSR + + + + + + LSS + + + + + + LST + + + + + + LSU + + + + + + LSV + + + + + + LSW + + + + + Input %1 + + + + + S11 + + + + + S12 + + + + + S13 + + + + + S14 + + + + + S15 + + + + + S16 + + + + + S21 + + + + + S22 + + + + + S23 + + + + + S24 + + + + + S25 + + + + + S26 + + + + ONE - + !ONE - + TRNs TX - + + Diff(%1) + + + + + Expo(%1) + + + + + Function(%1) + + + + + Curve(%1) + + + + + !Curve(%1) + + + + Alt - + Rpm - + Fuel - + Speed - + Dist - + GPS Alt - + Cell - - 3POS - - - - + A1 - + A2 - + T1 - + T2 - - Curve - - - - - - - - Flight modes settings on expos not exported - Phases settings on expos not exported - - - - - - - - - - - - Open9x on this board doesn't have Rotary Encoders - - - - - gruvin9x doesn't have trims as source - - - - - gruvin9x doesn't have swappable trims - - - - - gruvin9x on this board doesn't have Rotary Encoders - - - - - gruvin9x does not support Custom Switch function %1 - - - - - gruvin9x only accepts %1 expos - - - - - - gruvin9x doesn't support custom curves as curve%1, curve as been exported as fixed point - - - - - - gruvin9x doesn't support curve with %1 point as curve%2 - - - - - - - Open9x doesn't allow Curve%1 in expos - - - - - + + Simultaneous usage of expo and curves is no longer supported - - - - - - - - Flight modes settings on mixers not exported - - - - - - Flight mode settings on mixers not exported - Phases settings on mixers not exported - - - - - - - - This version of open9x does not support Custom Switch function %1 - - - - - - - - - - - - - - - - - - - - - - Open9x doesn't accept this protocol - - - - - - - - - - open9x only accepts %1 points in all curves - - - - + Simultaneous usage of expo and curves is no longer supported in open9x - - - open9x on this board doesn't have Rotary Encoders - - - - - - - - - - - - - - - - - open9x only accepts %1 expos - Gruvin9x firmware only accepts %1 expos - - - - + th9x - + er9x - + TrmR - + TrmE - + TrmT - + TrmA - - + + S1 - - + + S2 - - + + LS - - + + RS - - SA - - - - - SB - - - - - SC - - - - - SD - - - - - SE - - - - - SF - - - - - SG - - - - - SH - - - - + Batt - + SWR - + Tx - + RSSI - + Rx - + Cels - + Vfas - + Curr - + Cnsp - + Powr - + AccX - + AccY - + AccZ - + HDG - + VSpd - + A1- - + A2- - + Alt- - + Alt+ - + Rpm+ - + T1+ - + T2+ - + Spd+ - + Dst+ - + Cur+ - + ACC - + Time - + Pwr+ - - - CS1 - - - - - - CS2 - - - - - - CS3 - - - - - - CS4 - - - - - - CS5 - - - - - - CS6 - - - - - - CS7 - - - - - - CS8 - - - - - - CS9 - - - - - - CSA - - - - - - CSB - - - - - - CSC - - - - - - CSD - - - - - - CSE - - - - - - CSF - - - - - - CSG - - - - - - CSH - - - - - - CSI - - - - - - CSJ - - - - - - CSK - - - - - - CSL - - - - - - CSM - - - - - - CSN - - - - - - CSO - - - - - - CSP - - - - - - CSQ - - - - - - CSR - - - - - - CSS - - - - - - CST - - - - - - CSU - - - - - - CSV - - - - - - CSW - - - - + CYC%1 - + PPM%1 - + CH%1%2 CH%1 - + X%1 - + TRNl - + REAs - + REAl - - + + + GV%1 - - - - + + THR - - - RUD - - - - - - ELE - - - - - ID0 - - - - - ID1 - - - - - ID2 - - - - - - AIL - - - - - - GEA - - - - - - TRN - - - - - + + ON - - + + OFF - - + + Support for frsky telemetry mod - - + + Support for jeti telemetry mod - - + + Support for receiving ardupilot data - - + + Support for receiving NMEA data - + Support for telemetry easy board - - + + Support for MAVLINK devices - + Rotary Encoder use in menus navigation - + Possibility to enable FAI MODE at field - + FAI MODE always enabled - + openTx for 9X board - - - - - + + + + + Enable heli menu and cyclic mix support - - - - - - + + + + + + Enable TEMPLATES menu - - - - + + + + No splash screen - - - - - - + + + + + + Disable curves menus - - - - + + + + Support for radio modified with regular speaker - - - - - + + + + + Used if you have modified your radio with voice mode - - - - + + + + Used if you have modified your radio with haptic mode - - - - - - - - + + + + + + + + Use alternative SQT5 font - - - - + + + + Enable the throttle trace in Statistics - + EEprom write progress bar - - + + No Winged Shadow How High support - - + + No vario support - - + + No GPS support - - + + No gauges in the custom telemetry screen - + + Allow compensating for offset errors in FrSky FAS current sensors + + + + openTx for M128 / 9X board - + openTx for 9XR - + openTx for 9XR with M128 chip - + openTx for Gruvin9x board / 9X - + Support of FrSky PXX protocol - + Use FrSky Taranis sticks in a 9X/9XR - + openTx for FrSky Taranis - - + + Disable HELI menu and cyclic mix support - - + + Disable TEMPLATES menu - - + + Disable Global variables - + openTx for FrSky Taranis Rev4a - - - - - + + + + + Support for DSM2 modules - - - - - - + + + + + + PPM center adjustment in limits - - - - - - - - + + + + + + + + PPM values displayed in us - - - - - - + + + + + + Symetrical Limits - - - - - + + + + + Pots use in menus navigation - + Your radio probably uses a wrong firmware, eeprom size is 4096 but only the first 2048 are used - - - - - - + + + + + + No flight modes - - + + SmartieParts 2.2 Backlight support - - - - - - + + + + + + In model setup menus automatically set source by moving some of them - - - - - - + + + + + + In model setup menus automatically set switch by moving some of them - - - - + + + + Enable resetting values by pressing up and down at the same time - - - - - - + + + + + + No graphical check boxes and sliders - - - - - - + + + + + + Battery graph - - - - - - + + + + + + Don't use bold font for highlighting active items - - - - + + + + EEprom write Progress bar - - - - - + + + + + Imperial units - + Bluetooth interface - - - - - - + + + + + + Global variables - + Support for SD memory card - + Support for DSM2 modules using ppm instead of true serial - + openTx for Sky9x board / 9X - + Enable HELI menu and cyclic mix support - + ersky9x - - er9x doesn't have Rotary Encoders - - - - - er9x doesn't have trims as source - - - - - er9x doesn't have negative gvars as weight - - - - - er9x doesn't have negative gvars as offset - - - - - - - er9x doesn't have swappable trims - - - - - - - er9x on this board doesn't have Rotary Encoders - - - - - er9x does not support Custom Switch function %1 - - - - - - - er9x does not support this range for A1/A2 - - - - - - - er9x does not support this telemetry units - - - - - - Er9x doesn't accept this protocol - - - - - - Er9x doesn't support custom curves as curve%1, curve as been exported as fixed point - - - - - - Er9x doesn't support curve with %1 point as curve%2 - - - - - - - - + + + + Warning - - + EEPROM saved with these warnings: - - - ersky9x doesn't have Rotary Encoders - - - - - - ersky9x doesn't have trims as source - - - - - - ersky9x does not support Custom Switch function %1 - - - - - - Ersky9x doesn't accept this protocol - - - - - - - - ErSky9x doesn't support custom curves as curve%1, curve as been exported as fixed point - - - - - - - - ErSky9x doesn't support curve with %1 point as curve%2 - - - - - - + + + Simulator for this firmware is not yet available - - th9x does not support Custom Switch function %1 - - - - + th9x on this board doesn't have Rotary Encoders - - - - th9x doesn't support custom curves as curve%1, curve as been exported as fixed point - - - - - - - th9x doesn't support curve with %1 point as curve%2 - - - - - - Flight Mode 0 (Default) - - - - - - FM %1 - - - - + openTx only accepts %1 points in all curves - - - + + + OpenTX on this board doesn't accept this function - - + + OpenTX doesn't accept this protocol - + OpenTX doesn't allow this number of channels @@ -7071,6 +5318,587 @@ The OpenTX/Companion Team. + + Setup + + + Form + + + + + Model Name + + + + + Timer2 + + + + + Timer1 + + + + + Throttle Source + + + + + Switch startup Warning + + + + + Center beep + + + + + Trim Increment + + + + + ON + + + + + OFF + + + + + Check + + + + + Model Image + + + + + Exponential + + + + + Extra Fine + + + + + Fine + + + + + Medium + + + + + Coarse + + + + + Extended Limits + + + + + Extended Trims + + + + + Throttle Trim + + + + + Throttle Warning + + + + + Reverse throttle operation. +If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. + + + + + + + Reverse Throttle + + + + + Telemetry + + + Form + + + + + + + + A1 + + + + + + + + A2 + + + + + RSSI + + + + + Alarm 1 + + + + + + ---- + + + + + + Yellow + + + + + + Orange + + + + + + Red + + + + + Alarm 2 + + + + + Serial Protocol + + + + + Volt source + + + + + Metric + + + + + Imperial + + + + + Current source + + + + + Protocol + + + + + NONE + + + + + + FAS + + + + + None + + + + + FrSky Sensor Hub + + + + + CEL + + + + + 2 + + + + + 3 + + + + + 4 + + + + + Units + + + + + Blades + + + + + Altimetry / Vario + + + + + Alti + + + + + Alti+ + + + + + Vario + + + + + Sink Max + + + + + Off + + + + + Climb Max + + + + + Sink Min + + + + + Climb Min + + + + + Vario source + + + + + Vario limits + + + + + Use GPS as altitude source + + + + + Display altitude in toolbar + + + + + Various + + + + + mAh count + + + + + FAS Offset + + + + + Persistent mAh + + + + + TelemetryAnalog + + + Form + + + + + Unit + + + + + Max Value + + + + + Alarm 1 + + + + + + ---- + + + + + + Yellow + + + + + + Orange + + + + + + Red + + + + + + < + + + + + + > + + + + + Alarm 2 + + + + + Min Value + + + + + Volts (V) + + + + + Amps (A) + + + + + Speed (m/s or ft/s) + + + + + Raw (-) + + + + + Speed (km/h or miles/h) + + + + + Meters (m or ft) + + + + + Temp (°) + + + + + Fuel (%) + + + + + mAmps (mA) + + + + + Range + + + + + TelemetryCustomScreen + + + Form + + + + + Custom Screen Type + + + + + Nums + + + + + Bars + + + + + Min + + + + + Source + + + + + Gauge + + + + + Max + + + + + TelemetryPanel + + + Telemetry screen %1 + + + + + Winged Shadow How High + + + + + Winged Shadow How High (not supported) + + + + + Timer + + + Form + + + + + mm:ss + + + + + Countdown + + + + + MinuteBeep + + + + + Persistent + + + + + (00:00:00) + + + + + TimerPanel + + + None + + + + + Beeps + + + + + Countdown + + + avrOutputDialog @@ -7368,40 +6196,40 @@ Please only use this if you know what you are doing. There are no error checks - + DFU-UTIL Configuration - + SAM-BA Configuration - + AVRDUDE Configuration - - - + + + Select Location - - + + Companion - + <b><u>WARNING!</u></b><br>This will reset the fuses of %1 to the factory settings.<br>Writing fuses can mess up your radio.<br>Do this only if you are sure they are wrong!<br>Are you sure you want to continue? - + <b><u>WARNING!</u></b><br>Normally CPU type is automatically selected according to the chosen firmware.<br>If you change the CPU type the resulting eeprom could be inconsistent. @@ -7459,7 +6287,7 @@ m2560 for v4.1 boards - + Browse for file @@ -7505,7 +6333,7 @@ m2560 for v4.1 boards - + Write to TX @@ -7530,146 +6358,146 @@ m2560 for v4.1 boards - + Write firmware to TX - + Current profile - + Open - + Write Models and Settings to TX - + Write Models and Settings in %1 to TX - + Choose file to load Models and Settings from - - - - - - + + + + + + Warning - + %1 is not a known firmware - + Burn anyway ! - + Unable to find file %1! - - - + + + Error opening file %1: %2. - - - + + + Invalid binary Models and Settings File %1, Proceed anyway ? - + Error reading file %1: %2. - + Open Image to load - + Images (%1) - + Wrong radio calibration data in profile, Settings not patched - + Wrong radio setting data in profile, Settings not patched - - + + Cannot write file %1: %2. - + Error writing file %1: %2. - - - - - - - - - - + + + + + + + + + + Error - - + + Cannot load %1. - + Cannot save customized firmware - + Custom image not found - + No firmware selected @@ -7809,14 +6637,14 @@ m2560 for v4.1 boards - + - - - - - - + + + + + + Switch @@ -7853,10 +6681,10 @@ m2560 for v4.1 boards - - - - + + + + Offset @@ -7864,8 +6692,8 @@ m2560 for v4.1 boards - - + + Min @@ -7873,8 +6701,8 @@ m2560 for v4.1 boards - - + + Max @@ -7890,8 +6718,8 @@ m2560 for v4.1 boards - - + + CH @@ -7925,193 +6753,160 @@ m2560 for v4.1 boards - + Weight - - - Expo - - - - + - - + + DISABLED - - - - - - + + Curve - + Mixers - - + + noTrim - - - FMTrim - - - - - - Diff - - - - - + + Delay(u%1:d%2) - - + + Slow(u%1:d%2) - - + + Warn - + Curves - + 5 Points Curves - - - - + + + + pt %1 - + 9 Points Curves - - Custom Switches - - - - - - CS - - - - - + + Function - - + + Param - - + + Enable - + Telemetry Settings - - + + Analog - - + + Unit - - + + Scale - - - - + + + + A%1 - - + + Alarm 1 - - + + Alarm 2 - - - - + + + + Type - - - - + + + + Condition - - - - - - + + + + + + Value @@ -8143,79 +6938,90 @@ m2560 for v4.1 boards - + - - + + Flight modes - + - - + + Flight mode + - Custom Functions - - - - - Repeat - + CF - + Safety Switches - - + + RSSI Alarm - - + + Telemetry Bars - - + + Bar Number - - + + Source - - + + Custom Telemetry View - + + Logical Switches + + + + + + LS + + + + + Switch Assignment + + + + Print Document - + Select PDF output file @@ -8228,39 +7034,37 @@ m2560 for v4.1 boards - + People who have contributed to this project - + Coders - - Honors go to Rafal Tomczak (RadioClone) and Thomas Husterer (th9x) -of course. Also to Erez Raviv (er9x) and the fantastic eePe program -which was the staring point for OpenTX Companion. - - - - + Companion Release Notes - + Thank you all !!! - + + Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) + + + + Contributors - + OpenTX Release Notes @@ -8303,7 +7107,7 @@ which was the staring point for OpenTX Companion. - + Save Firmware Save To Hex @@ -8318,80 +7122,80 @@ p, li { white-space: pre-wrap; } - - - + + + Select an original firmware file - + Open - + Select an image to customize your splash <br />or save actual firmware splash - - - - + + + + Error - + Could not find bitmap to replace in file - + Open Image to load - + Images (%1) - - + + Cannot load %1. - - + + Save your custimized firmware - - + + Write to file - + Error reading file %1 - + Firmware correctly saved. - + Firmware not saved. - + PNG images (*.png);; @@ -8792,17 +7596,17 @@ Press cancel to abort joystick calibration - + Select your log file - + Available fields - + The selected logfile contains %1 invalid lines out of %2 total lines @@ -8810,7 +7614,7 @@ Press cancel to abort joystick calibration mdiChild - + Simulate Tx @@ -9260,70 +8064,65 @@ Press cancel to abort joystick calibration - + Language (requires restart) - + SD Structure path - + Processor ID - + Simulator capture folder - + Use clipboard only - + Recent History Size - - + + Download - + Default Channel Order - + Default Stick Mode - + Channel order This is used by the templated to determine which channel goes to what number output. - + FwInfo - - Show Splash Screen - - - - + Mode selection: Mode 1: @@ -9346,357 +8145,418 @@ Mode 4: - + Mode 1 (RUD ELE THR AIL) - + Mode 2 (RUD THR ELE AIL) - + Mode 3 (AIL ELE THR RUD) - + Mode 4 (AIL THR ELE RUD) - + Automatic Backup Folder - + Automatically add version number to the filename after download - + Voice - + Set language of voice. May be different from firmware language - + Firmware - + + Theme + + + + + + Requires restart + + + + + Classic + + + + + Monochrome + + + + + MonoWhite + + + + + MonoBlue + + + + + Icon size + + + + + Small + + + + + Normal + + + + + Big + + + + + Huge + + + + Find Executable - + Google Earth Executable - + Check for updates on startup - - + + ... - + Splash library behaviour - + Include companion splashes - + Only user defined splashes - + Custom TX splash screen - + Personal splash library - + Joystick - - - - + + + + Open Folder - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CheckBox - + Check for updates - + Language - + Profile Name - + Export Profile - + Save Profile - + Import Profile - + Blue Blu - + Simu BackLight - + Check for selected Fw updates - + Ask use of wizard for new models - + + Show Splash At Start + + + + Remember switches in simulator - + Green - + Red - + Orange - + Yellow - + Profile slot - + auto backup before write - + Ask for flashing after Download - + Enable - + Calibrate - + Open Image - + Invert Pixels - + Last downloaded release: %1 - + Image stored in settings - - + + No joysticks found - + Select your Models and Settings backup folder - + Select Google Earth executable - + Select the folder replicating your SD structure - + Profile name is empty, profile slot %1 will be deleted.<br>Are you sure ? - + Export profile As - + Profile slot is not empty, profile slot %1 will we overwritten.<br>Are you sure ? - + Open Profile to import - + Open Image to load - + Images (%1) - - + + Error - + The selected firmware has never been downloaded by Companion. - + The selected firmware cannot be downloaded by Companion. - + Select your library folder - + Select your snapshot folder - - + + Cannot load %1. @@ -9730,9 +8590,9 @@ May be different from firmware language - - - + + + Name @@ -9774,7 +8634,7 @@ May be different from firmware language - + Enabled @@ -9828,40 +8688,38 @@ May be different from firmware language - - + + Flight modes - - + + Flight mode - + Delay(u%1:d%2) - + Slow(u%1:d%2) - - - + pt %1 - - - - + + + + Switch @@ -9901,296 +8759,259 @@ May be different from firmware language - - - - - Expo - - - - - + + DISABLED - - - - - - - + + + Curve - + Mixers - - - - - + + + + + CH - + noTrim - - FMTrim - - - - - - - - + + + + + Offset - - Diff - - - - + Warn - + Limits - - - - + + + + Min - - - - + + + + Max - - - + + + Invert - - - + + + INV - - - + + + NOR - + Curves - - 5 Points Curves - - - - - 9 Points Curves - - - - - Custom Switches - - - - - - CS - - - - + Global Variables - + GV - + Safety Switches - - - - - + + + + + Value - - Function Switches - - - - + Function - + Parameter - + ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) - + Telemetry Settings - - + + Logical Switches + + + + + + LS + + + + + Switch Assignments + + + + + Alarm 1 - - + + Alarm 2 - + Analog - + Unit - + Scale - - - - + + + + Type - - - - + + + + Condition - + A%1 - + RSSI Alarm - + Frsky serial protocol - + System of units - + Propeller blades - + Telemetry Bars - + Bar Number - + Source - - + + Custom Telemetry View - + Repeat - - CF - - - - + Print Document - + Select PDF output file @@ -10198,17 +9019,17 @@ May be different from firmware language simulatorDialog - + P1 - + P2 - + P3 @@ -10234,33 +9055,33 @@ May be different from firmware language - + Hold X - + Fix X - + Fix Y - + Hold Y - - + + TextLabel @@ -10280,17 +9101,17 @@ May be different from firmware language - + ID1 - + ID2 - + BEEP @@ -10298,7 +9119,7 @@ May be different from firmware language - + Right Double Click to Reset @@ -10308,14 +9129,14 @@ May be different from firmware language - - - + + + 0 % - + 9x Simulator @@ -10326,261 +9147,261 @@ May be different from firmware language - CS1 + LS1 - CS2 + LS2 - CS3 + LS3 - CS4 + LS4 - CS5 + LS5 - CS6 + LS6 - CS7 + LS7 - CS8 + LS8 - CS9 + LS9 - CSA + LSA - CSB + LSB - CSC + LSC - CSD + LSD - CSE + LSE - CSF + LSF - CSG + LSG - CSH + LSH - CSI + LSI - - CSJ + + LSJ - - CSK + + LSK - - CSL + + LSL - - CSM + + LSM - - CSN + + LSN - - CSO + + LSO - - CSP + + LSP - - CSQ + + LSQ - - CSR + + LSR - - CSS + + LSS - - CST + + LST - - CSU + + LSU - - CSV + + LSV - - CSW + + LSW - + CH1 - + CH9 - + CH2 - + CH10 - + CH3 - + CH11 - + CH4 - + CH12 - + CH5 - + CH13 - + CH6 - + CH14 - + CH7 - + CH15 - + CH8 - + CH16 - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + -100.1 @@ -10624,33 +9445,33 @@ May be different from firmware language splashLibrary - + ... - + Splash Library - page %1 of %2 - + Warning - + Invalid image in library %1 - + Information - + No valid image found in library, check your settings @@ -10797,16 +9618,16 @@ May be different from firmware language - - - - - - - - - - + + + + + + + + + + -100.1 @@ -10841,207 +9662,207 @@ May be different from firmware language - + CH12 - + CH5 - + CH13 - + CH6 - + CH14 - + CH7 - + CH15 - + CH8 - + CH16 - + CSK - + CSC - + CSD - + CS7 - + CSL - + CSB - + CS1 - + CSH - + CSG - + CSE - + CSF - + CS8 - + CS9 - + CSA - + CSM - + CSJ - + CSI - + CS4 - + CS5 - + CS2 - + CS3 - + CS6 - + CSN - + CSO - + CSP - + CSQ - + CSR - + CSS - + CST - + CSU - + CSV - + CSW @@ -11062,22 +9883,22 @@ May be different from firmware language - + Firmware %1 error: %2 - + - Flight mode: %1(%2) - + Simulating Tx (%1) - + Simulating diff --git a/companion/src/translations/companion_it.ts b/companion/src/translations/companion_it.ts index d880d890b..039656ed1 100644 --- a/companion/src/translations/companion_it.ts +++ b/companion/src/translations/companion_it.ts @@ -2,136 +2,698 @@ - ExpoDialog + Channels - - Expo - Esponenziale + + Name + Nome - + + Offset + + + + + Min + Min + + + + Max + Max + + + + Invert + + + + + Center + Centro + + + + Sym + Simm + + + + Channel %1 + + + + + --- + --- + + + + INV + INV + + + + CurveGroup + + + Diff + Diff + + + + Expo + + + + + Func + + + + + Curve + Curva + + + + Curves + + + Form + + + + + Standard + + + + + Custom + Personalizzato + + + + Lines + + + + + Smooth + + + + + Curve type + Tipo curva + + + + Curve name + Nome curva + + + + Curve %1 + + + + + %1 points + + + + + Are you sure you want to reset curve %1 ? + + + + + Editing curve %1 + Modifica curva %1 + + + + Not enough free points in EEPROM to store the curve. + + + + + CustomFunctionsPanel + + + Switch + + + + + Action + + + + + Parameters + + + + + Enable + Abilita + + + + ON + Acceso + + + + Error + Errore + + + + Unable to find sound file %1! + Impossibile trovare il file sonoro %1! + + + + &Delete + &Elimina + + + + Delete + Elimina + + + + &Copy + + + + + Ctrl+C + Ctrl+C + + + + &Cut + &Taglia + + + + Ctrl+X + Ctrl+X + + + + &Paste + &Incolla + + + + Ctrl+V + Ctrl+V + + + + CustomSwitchesPanel + + + Condition + Condizione + + + + V1 + V1 + + + + V2 + V2 + + + + AND + AND + + + + Duration + Durata + + + + Delay + Ritardo + + + + + LS%1 + + + + + &Delete + &Elimina + + + + Delete + Elimina + + + + &Copy + + + + + Ctrl+C + Ctrl+C + + + + &Cut + &Taglia + + + + Ctrl+X + Ctrl+X + + + + &Paste + &Incolla + + + + Ctrl+V + Ctrl+V + + + + Dialog + + + Dialog + + + + + Curve type + Tipo curva + + + + Coefficient + Coefficiente + + + + Both + Entrambi + + + + x>0 + + + + + x<0 + + + + + Y at X=0 + Y a X=0 + + + + Side + Lato + + + + Y at X=-100 + Y a X=-100 + + + + Y at X=100 + Y a X=100 + + + + Linear + Lineare + + + + Single Expo + Esponenziale singola + + + + Symmetrical f(x)=-f(-x) + Expo simmetrica f(x)=-f(-x) + + + + Symmetrical f(x)=f(-x) + Expo simmetrica f(x)=f(-x) + + + + ExpoDialog + + Expo + Esponenziale + + + Weight Peso - Name - Nome + Nome - - Phase used by the expo. - Fase utilizzata per gli esponenziali. + Fase utilizzata per gli esponenziali. - + 0 0 - + Flight modes Fasi di volo - - - + + The source for the mixer + Sorgente da miscelare + + + + Input name + + + + + GV VG - + + Phase used by the input. + + + + 1 1 - + 2 2 - + 3 3 - + 4 4 - + 5 5 - + 6 6 - + 7 7 - + 8 8 - + Switch Interruttore - + + The curve used by the input + + + + + Source + Sorgente + + + + Line name + + + Switch used by the expo. If blank then the expo is considered to be "ON" all the time. - Interruttore utilizzato per attivare l'esponenziale. + Interruttore utilizzato per attivare l'esponenziale. Se vuoto l'esponenziale è sempre attivo nella fase scelta (o in tutte). - Curve/Exponential - Curva/Esponenziale + Curva/Esponenziale - The curve used by the expo - Curva utilizzata dall'impostazione stick + Curva utilizzata dall'impostazione stick - + Stick Side Lato dello stick - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Delay ans Slow</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These values control the speed and delay of the output of the mix. </p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Ritardi e Rallentamenti</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Questi valori controllano la velocità e il ritardo dell'uscita della miscelazione</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Se il ritardo non è zero l'applicazione del mix verrà ritardata del numero specificato di secondi.</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Se il rallentamento non è zero allora la velocità verrà impostata al valore selezionato -&gt; il valore indica il numero di secondi per passare da -100 a 100.</p></body></html> + + + + Scale + Campo di misura + + + + Include Trim + Include i Trim + + + + No + No + + + + Yes + Si + + + Curve Curva - + NEG NEG - + + Switch used by the input. +If blank then the input is considered to be "ON" all the time. + + + + POS POS - + ALL TUTTI - DEST -> %1 - DEST -> %1 + DEST -> %1 + + + + Edit %1 + + + + + Rud + Direzionale + + + + Ele + Elevatore + + + + Thr + Motore + + + + Ail + Alettoni + + + + FlightMode + + + Form + + + + + Fade In + Tempo transizione in ingresso + + + + Fade Out + Tempo transizione in uscita + + + + Name + Nome + + + + Switch + + + + + trim1 + trim1 + + + + trim2 + trim2 + + + + trim4 + trim4 + + + + trim3 + trim3 + + + + Rud + Direzionale + + + + Ele + Elevatore + + + + Thr + Motore + + + + Ail + Alettoni + + + + Rotary Encoder %1 + + + + + GVAR%1 + + + + + FlightModes + + + Flight Mode %1 + + + + + (%1) + + + + + (default) + @@ -154,13 +716,13 @@ Queste impostazioni sono comuni a tutti i modelli nella stessa EEPROM.Impostazioni - + Contrast Contrasto - - + + <!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; } @@ -175,27 +737,27 @@ 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;">I valori possono andare da 20 a 45</span></p></body></html> - + Sound Mode Modalità audio - + Beeper Altoparlante standard - + Speaker Pitch (spkr only) Tonalità suono (modifica HW) - + Battery Warning Allarme batteria scarica - + Battery warning voltage. This is the threashhold where the battery warning sounds. @@ -206,57 +768,57 @@ Al di sotto di questo valore verrà generato un seganle di allarme. Valori accettabili da 5v a 10v - + Battery Calibration Calibrazione Batteria - + Battery calibration: This value will be added to the measured battery voltage. Use this value to calibrate the meter with an external meter. Calibrazione batteria: Questo vlore verrà sommato al voltaggio misurato. Impostate questo valore per calibrare la lettura utilizzando un multimetro. - + This is the switch selectrion for turning on the backlight (if installed). Questo è l'interruttore selezionato per l'accensione della retroilluminazione (se installata). - + If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. Se questo valore non è 0, ogni pressione di tasto provocherà l'accensione della luce e questa verrà spenta dopo il numero di secondi specificato. - - + + sec sec - + Inactivity Timer Temporizzatore di inattività - + If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes. Se non è zero, verrà fatto suonare l'allarme se la radio non è utilizzata per il numero di minuti specificato. - + min min - + Timer Beeps Allarmi timer - + <!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; } @@ -269,22 +831,22 @@ 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;">Avviso singolo ogni minuto.</span></p></body></html> - + Every Minute ogni Minuto - + Beeps at 30, 15, 10, and down from5 seconds Avvisi a 30, 15, 10, e poi ogni secondo da 5 in giù - + Count Down to Zero Conto alla rovescia - + <!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; } @@ -297,49 +859,45 @@ 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;">Lampeggio della retroilluminazione durante gli avvisi del temporizzatori</span></p></body></html> - + Flash on beep Lampeggio durante il beep - Reverse Throttle Operation - Stick motore invertito + Stick motore invertito - Reverse throttle operation. If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. - Stick motore inverso. + Stick motore inverso. Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà in avanti, anche i trim verranno rovesciati e anche gli avvisi. - + Show Splash Screen on Startup Mostra schermata all'avvio - - + + Show splash screen on startup Mostra schermata all'avvio - Throttle Startup Warning - Avviso motore all'avvio + Avviso motore all'avvio - - - - - - + + + + + <!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; } @@ -364,37 +922,36 @@ 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;">Suoni disabilitati - avvisa se i suoni sono disabilitati (0)</p></body></html> - Switch Startup Warning - Avviso interruttori all'avvio + Avviso interruttori all'avvio - + Memory Startup Warning Avviso memoria all'avvio - + Alarm Warning Avvisi sonori - + Pot Scrolling Enable Abilita scorrimento con POT - + Bandgap Measuring Enable Misurazione BandGap - + Channel Order (For Templates) Ordine uscita canali (Per modelli) - + Channel order This is used by the templated to determine which channel goes to what number output. @@ -403,12 +960,12 @@ This is used by the templated to determine which channel goes to what number out Utilizzato dai Modelli per stabilire quale uscita viene assegnata ai canali. - + Stick Mode Modo Stick - + Mode selection: Mode 1: @@ -449,40 +1006,42 @@ Mode 4: - + Mode 1 (RUD ELE THR AIL) Modo 1 (DIR ELE MOT ALE) - + Mode 2 (RUD THR ELE AIL) Modo 2 (DIR MOTO ELE ALE) - + Mode 3 (AIL ELE THR RUD) Modo 3 (ALE ELE MOT DIR) - + Mode 4 (AIL THR ELE RUD) Modo 4 (ALE MOT ELE DIR) - + Beeper Mode Modalità suono beeper - + + + - - - - - - + + + + + + Beeper volume 0 - Quiet. No beeps at all. @@ -499,242 +1058,239 @@ Mode 4: 4 - Fortissimo. - - + + Quiet Silenzioso - - + + No Keys No Tasti - - + + Normal Normale - - + + Long Lungo - + Input Filter Filtro ingressi - + Single Singolo - + Oversample Sovracampionato - + Filter Filtro - + Owner Name Proprietario - + - - - + + Off NO - Switches Up - Interruttori Su + Interruttori Su - Switches Down - Interruttori Giù + Interruttori Giù - + Trainer Maestro/Allievo - - + + PPM 1 PPM 1 + - - - + + chn1 chn1 + - - - + + chn2 chn2 + - - - + + chn3 chn3 + - - - + + chn4 chn4 - + Mode Modo - + Show Owner Name on Splash Mostra proprietario all'avvio - + Telemetry NO DATA Alarm Allame mancanza telemetria - + THR THR - + RUD RUD - + ELE ELE - + AIL AIL - + GEA GEA - + ID0 ID0 - + ID1 ID1 - + ID2 ID2 - + Beeper Length Lunghezza suono - - + + X-Short Extra Corto - - + + Short Corto - - + + X-Long Extra Lungo - + Haptic Mode Modalità vibrazione - + Only Alarms Solo allarmi - - + + All Tutti - + Alarms Only Solo allarmi - + Timeshift from UTC Differenza in ore da GMT - + GPS Coordinates Coordinate GPS - + hh° (N/S) mm' ss''.dd - + NMEA - + Haptic Length Lunghezza vibrazione - + LCD Display Type Tipo display LCD @@ -749,122 +1305,122 @@ Mode 4: Recupera calib. e settaggi HW dal profilo scelto - + Speaker Altoparlante - + BeeperVoice Buzzer e voce - + SpeakerVoice Altoparlante e Voce - + Standard - + Optrex - + Speaker Volume Volume altoparlante - + Haptic Strength Intensità vibrazione (mod. HW) - + BackLight Brightness Luminosità retroilluminazione - + RotEnc Navigation Navigazione con Encoder - + BackLight Auto OFF after Auto spegnimento luce dopo - + StickScroll Scoll con stick - + CrossTrim Trim incrociati - + BackLight Switch Interruttore retroilluminazione - + BackLight On Stick Move Retroilluminazione su stick - + BackLight Invert Inversione retroilluminazione - + Country Code Codice paese - + Europe - + Japan - + America - + Metric Sistema Metrico - + Imperial Imperiale - + Measurement Units Unità di misura - + FrSky Internal Alarm Allarme interno FrSky - + PPMSim @@ -874,27 +1430,27 @@ Mode 4: Lingua per le voci - + Beep volume Volume Beeps - + Wav volume Volume file Wav - + Vario volume Volume per vario - + Background volume Volume sottofondo - + FAI Mode Modalità FAI @@ -904,273 +1460,295 @@ Mode 4: - + 4800 Baud - + 9600 Baud - + 14400 Baud - + 19200 Baud - + 38400 Baud - + 57600 Baud - + 76800 Baud - + 115200 Baud - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. Se abilitate la modalità FAI, il variometro, le funzioni di lettura della telemetria e gli schermi telemetrici verrano disabilitati. Questa funzione non è disattivabile dalla radio. - + Readonly Unlock Sblocco modalità sola lettura - + SC - + SE - + SA - + SF - + SH - + SD - + SB - + SG - + Input Ingresso - + Weight Peso - + Switch Interruttore + - - - + + += (Sum) += (Somma) + - - - + + := (Replace) := (Sostituisci) - - + + PPM 2 PPM 2 - - + + PPM 3 PPM 3 - - + + PPM 4 PPM 4 - + Telemetry Telemetria - + RSSI Alarm 1 Allarme RSSI 1 - - + + ---- ---- - - + + Yellow Giallo - - + + Orange Arancione - - + + Red Rosso - + RSSI Alarm 2 Allarme RSSI 2 - + NO DATA Alarm Allarme NO DATA - + Calibration Calibrazione - + STICK 1 STICK 1 - + STICK 2 STICK 2 - - + + + Pot (normal) + + + + + + Multipos Switch + + + + + S1 Type + + + + + S2 Type + + + + + Mid value Valore intermedio - + POT 4 POT 4 - + STICK 3 STICK 3 - - + + Negative span Corsa negativa - - + + Positive span Corsa positiva - + STICK 4 STICK 4 - + POT 1 POT 1 - + POT 2 POT 2 - + POT 3 POT 3 - + Battery Batteria - + v v - + PPM Multiplier Moltiplicatore PPM - + Current Corrente - + 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 ? @@ -1180,58 +1758,268 @@ Questa funzione non è disabilitabile dalla radio. Siete sicuri ? - - + + Warning Avviso - + Wrong data in profile, radio calibration was not retrieved Dati errati nel profilo, la calibrazione della radio non è stata ripristinata - + Wrong data in profile, hw related parameters were not retrieved Dati errati nel profilo, i settaggi HW della radio non sono stati ripristinati - + Do you want to store calibration in %1 profile<br>overwriting existing calibration? Volete salvare la calibrazione e i settaggi nel profilo %1<br>sovrascrivendo i settaggi esistenti ? - + Calibration and HW parameters saved. Dati di calibrazione e settaggi HW salvati. + + Heli + + + Form + + + + + Invert Elevator + Elevatore + + + + Invert Aileron + Alettoni + + + + Invert Collective + Collettivo + + + + Invert + + + + + Off + NO + + + + 120 + 120 + + + + 120X + 120X + + + + 140 + 140 + + + + 90 + 90 + + + + Collective + Collettivo + + + + Swash Type + Tipo ciclico + + + + Swash Ring + Anello del ciclico + + + + InputsPanel + + + + Move Up + Muovi in Su + + + + + Ctrl+Up + Ctrl+Up + + + + + Move Down + Muovi in Giù + + + + + Ctrl+Down + Ctrl+Down + + + + Clear All Settings + + + + + Source(%1) + + + + + No Trim + No Trim + + + + Weight(%1) + + + + + Switch(%1) + + + + + Not enough available inputs! + + + + + Delete Selected Inputs? + + + + + &Add + &Aggiungi + + + + Ctrl+A + Ctrl+A + + + + &Edit + &Modifica + + + + Enter + Invio + + + + &Delete + &Elimina + + + + Delete + Elimina + + + + &Copy + + + + + Ctrl+C + Ctrl+C + + + + &Cut + &Taglia + + + + Ctrl+X + Ctrl+X + + + + &Paste + &Incolla + + + + Ctrl+V + Ctrl+V + + + + Du&plicate + Dup&lica + + + + Ctrl+U + Ctrl+U + + + + Clear Inputs? + + + + + Really clear all the inputs? + + + MainWindow - - - - + + + + File loaded Documento caricato - + Display previous warning again at startup ? Mostrare il precedente avviso all'avvio ? - + Checking for updates Controllo aggiornamenti - - - - - + + + + + Unable to check for updates. Impossibile controllare gli aggiornamenti. @@ -1240,21 +2028,21 @@ Siete sicuri ? Una nuova versione di companion9x è disponibile (versione %1)<br>Desiderate scaricarla ? - - - - - + + + + + Save As Salva come - + Executable (*.exe) Eseguibili (*.exe) - + New release available Nuova versione disponibile @@ -1263,22 +2051,22 @@ Siete sicuri ? Una nuova versione di companion9x è stata rilasciata, controllate il repository SVN - - + + No updates available at this time. Nessun aggiornamento disponibile. - + Would you like to launch the installer? Desiderate eseguire l'aggiornamento ? - - - - - + + + + + Error opening file %1: %2. Errore durante l'apertura del file %1: @@ -1289,13 +2077,13 @@ Siete sicuri ? Il firmware richiesto è troppo grande per la flash a causa delle opzioni selezionate - + Compilation server termporary failure, try later Guasto temporaneo del server di compilazione, riprovate più tardi - - + + Compilation server too busy, try later Il server di compilazione è occupato, provate più tardi @@ -1312,8 +2100,8 @@ Siete sicuri ? Il firmware selezionato è diventato troppo grande per la memoria della radio, a causa delle opzioni selezionate - - + + Unknown server failure, try later Errore del server sconosciuto, provare più tardi @@ -1322,7 +2110,7 @@ Siete sicuri ? Volete scrivere il nuovo firmware sulla radio ora ? - + Firmware %1 does not seem to have ever been downloaded. Version %2 is available. Do you want to download it now ? @@ -1331,42 +2119,42 @@ E' disponibile la versione %2. Volete scaricarla adesso ? - + A new version of %1 firmware is available (current %2 - newer %3). Do you want to download it now ? Una nuova versione del firmware %1 è disponibile (attuale %2 - nuova %3). Volete scaricarla ora ? - + Ignore this version (r%1)? Ignorare questa versione (r%1) ? - + Open Apri - - + + File saved Documento salvato - - - - - - - - + + + + + + + + + + + + - - - - Error Errore @@ -1379,7 +2167,7 @@ Volete scaricarla ora ? Companion9x - EEPROM Editor - firmware %1 - + Display previous message again at startup ? Mostrare il precedente avviso all'avvio ? @@ -1388,7 +2176,7 @@ Volete scaricarla ora ? Il firmware selezionato è diventato troppo grande per la flash, a causa delle opzioni slezionate - + Compilation server temporary failure, try later Guasto temporaneo del server di compilazione, riprovate più tardi @@ -1401,70 +2189,70 @@ Volete scaricarla ora ? Il firmware richiesto è troppo grande per la memoria della radio a causa delle opzioni selezionate - + Do you want to write the firmware to the transmitter now ? Volete scrivere il nuovo firmware sulla radio ora ? - - + + Yes Si - - + + No No - - + + Release Notes Note di aggiornamento - - + + Do you want to download release %1 now ? Volete scaricare la versione %1 adesso ? - + Release notes contain very important informations. Do you want to see them now ? Le note di rilascio includono informazioni molto importanti. Volete vederle ora ? - + Firmware updates Aggiornamenti firmware - + Current firmware does not provide release notes informations. Il firmware selezionato non fornisce note di aggiornamento. - + Cannot write file %1: %2. Non posso scrivere il file %1: %2. - - - - - + + + + + Taranis radio not found Radio taranis non trovata - - - - + + + + Impossible to identify the radio on your system, please verify the eeprom disk is connected. Impossibile identificare la radio sul vostro sistema, verificate che il disco della eeprom sia connesso. @@ -1485,16 +2273,16 @@ non è stato riconosciuto come una EEProm valida Scriverlo ugualmente ? - - - + + + Backup is impossible Impossibile effettuare il Backup - - - + + + The backup dir set in preferences does not exist La directory per i backup impostata in preferenze non esiste @@ -1507,8 +2295,8 @@ Scriverlo ugualmente ? Non posso controllare la compatibilità delle impostazioni! Continuare ugualmente ? - - + + Warning Avviso @@ -1529,7 +2317,7 @@ Scriverlo ugualmente ? Scrivi il fimware sulla radio - + Conversion failed Conversione fallita @@ -1542,7 +2330,7 @@ Scriverlo ugualmente ? Ripristina memoria sulla Radio - + Restore failed Ripristino fallito @@ -1559,7 +2347,7 @@ Scriverlo ugualmente ? Non posso aggiornare il firmware, la memoria dei settaggi originale può essere trovata in %1 - + Backup failed Salvataggio fallito @@ -1576,10 +2364,10 @@ Scriverlo ugualmente ? Scrivi il firmware in un documento - - - - + + + + Read Models and Settings From Tx Leggi le impostazioni dalla radio @@ -1588,22 +2376,22 @@ Scriverlo ugualmente ? Scrivere %1 nella memoria della radio ? - + Firmware does not longer fit in the Tx, due to selected firmware options Il firmware selezionato è diventato troppo grande per la radio, a causa delle opzioni selezionate - + Firmware does not fit in the Tx, due to selected firmware options Il firmware richiesto è troppo grande per la radio a causa delle opzioni selezionate - + Write Models and settings from %1 to the Tx? Scrivere le impostazioni sulla radio da %1? - + The file %1 has not been recognized as a valid Models and Settings file Write anyway ? @@ -1612,203 +2400,194 @@ non è stato riconosciuto come un file di impostazioni valido. Scriverlo ugualmente ? - - - - - - + + + + + + Backup Models and Settings From Tx Salva impostazioni della radio - + Cannot check Models and Settings compatibility! Continue anyway? Non posso controllare la compatibilità delle impostazioni! Continuare ugualmente ? - + The transmitter firmware belongs to another product family, check file and preferences! Il firmware nella radio è di una famiglia differente\n rispetto a quello delle impostazioni che si stanno scrivendo.\n Controllare il documento e le preferenze! - + The transmitter firmware is outdated, please upgrade! Il firmware della radio è obsoleto, pianificate un aggiornamento! - + Write Models and Settings To Tx Scrivi le impostazioni nella radio - - + + Write Firmware To Tx Scrivi il fimware sulla radio - + Cannot convert Models and Settings for use with this firmware, original data will be used Non posso convertire le impostazioni per questo firmware, verranno usate le impostazioni originali - + Restore Models and Settings To Tx Ripristina le impostazioni sulla Radio - + Could not restore Models and Settings to TX. The models and settings data file can be found at: %1 Non posso ripristinare le impostazioni sulla radio, il file originale può essere trovato in %1 - + Firmware write failed Scrittura del firmware fallita - + Could not write firmware to to transmitter. The models and settings data file can be found at: %1 Non posso aggiornare il firmware, le impostazioni originali possono essere trovate nel file %1 - + Cannot backup existing Models and Settings from TX. Firmware write process aborted Non riesco a salvare le impostazioni della radio, l'aggiornamento firmware viene annullato - + Save transmitter Models and Settings to File Salva le impostazioni dalla radio e scrivile in un documento - + Impossible to identify the radio on your system, please verify that the eeprom disk is connected. Impossibile identificare la radio sul vostro sistema, verificate che il disco della eeprom sia connesso. - + Read Tx Firmware to File Scrivi il firmware in un documento - + Copyright Copyright - Version %1 (revision %2), %3 - Versione %1 (revisione %2), %3 + Versione %1 (revisione %2), %3 The companion9x project was originally forked from eePe Il progetto companion9x è stato inizialmente derivato da eePe - If you've found this program useful, please support by - Se trovate questo programma utile, supportatelo mediante una + Se trovate questo programma utile, supportatelo mediante una - donating - donazione + donazione About companion9x Informazioni su companion9x - - - + + &%1 %2 - - %1 %2 - - - - + &New &Nuovo - + Create a new file Crea un nuovo documento - + &Open... &Apri... - + Open an existing file Apri un documente esistente - + &loadBackup... carica&Backup... - + Load backup from file Carica backup da file - + &Save &Salva - + Save the document to disk Salva il documento su disco - + Save &As... S&alva come... - + Save the document under a new name Salva il documento con un nuovo nome - + Lo&gs Lo&gs - + Ctrl+G - + Open log file Apri file di log - + &Preferences... &Preferenze... - + Edit general preferences Modifica preferenze - + &Check for updates... &Controlla aggiornamenti... @@ -1817,7 +2596,7 @@ Scriverlo ugualmente ? Controlla per nuove versioni di companion9x - + Contributors &List... E&lenco collaboratori... @@ -1826,7 +2605,7 @@ Scriverlo ugualmente ? Mostra l'elenco di quelli che hanno contribuito a companion9x - + ChangeLog... Cambiamenti... @@ -1835,137 +2614,162 @@ Scriverlo ugualmente ? Mostra l'elenco dei cambiamenti in Companion9x - + + A new release of Companion is available please check the OpenTX website! + + + + + OpenTX Home Page: <a href='%1'>%1</a> + + + + + The OpenTX Companion project was originally forked from <a href='%2'>eePe</a> + + + + + If you've found this program useful, please support by <a href='%1'>donating</a> + + + + + Version %1, %3 + + + + Firmware ChangeLog... Cambiamenti del firmware... - + Show firmware changelog Mostra l'elenco dei cambiamenti del firmware - + Compare... Confronta... - + Compare models Confronta due modelli - + Customize your &TX... Personalizza il &TX... - + Customize the splash screen of your TX Personalizza la schermata di avvio della radio - + E&xit Es&ci - + Exit the application Esci dall'applicazione - + Cu&t Ta&glia - + Cut the current selection's contents to the clipboard Taglia la selezione negli appunti - + &Copy &Copia - + Copy the current selection's contents to the clipboard Copia la selezione negli appunti - + &Paste &Incolla - + Paste the clipboard's contents into the current selection Incolla gli appunti nella selezione corrente - + &Write Models and Settings To Tx Scri&vi le impostazioni nella radio - + Write Models and Settings to transmitter Scrivi le impostazioni nella radio - + &Read Models and Settings From Tx &Leggi le impostazioni dalla radio - + Read Models and Settings from transmitter Leggi le impostazioni dalla radio - + Write Firmware Scrivi il fimware - + Write firmware to transmitter Scrivi il firmware nella radio - + Write Models and Settings from file to Tx Scrivi le impostazioni nella radio da un documento - + Write Models and Settings from file to transmitter Scrivi le impostazioni nella radio da un documento - + Save transmitter Models and Settings to file Salva le impostazioni dalla radio e scrivile in un documento - + Save the Models and Settings from the transmitter to a file Leggi le impostazioni dalla radio e scrivile in un file - + Read Firmware Leggi firmware - + Read firmware from transmitter Leggi il firmware dalla radio - + Configure software for reading from and writing to the transmitter Configura il software per la lettura/scrittura del microprocessore @@ -1978,23 +2782,23 @@ Scriverlo ugualmente ? Configura il programmatore del microprocessore - + &Read/Write &Leggi/Scrivi - + Write Scrivi - - + + Invalid Models and Settings File %1 File impostazioni non valido %1 - + Invalid binary Models and Settings File %1 File binario delle impostazioni non valido %1 @@ -2003,7 +2807,7 @@ Scriverlo ugualmente ? &Scrivi la memoria nella radio - + Ctrl+Alt+W Ctrl+Alt+W @@ -2016,7 +2820,7 @@ Scriverlo ugualmente ? &Leggi la memoria dalla radio - + Ctrl+Alt+R Ctrl+Alt+R @@ -2057,7 +2861,7 @@ Scriverlo ugualmente ? Leggi il firmware dalla radio - + &Configure... &Configura... @@ -2066,210 +2870,186 @@ Scriverlo ugualmente ? Configura il programmatore del microprocessore - - - + + + Companion - Models and Settings Editor - %1 - profile %2 - - - - + + + + Companion - Models and Settings Editor - %1 - + A new version of Companion is available (version %1)<br>Would you like to download it? - - A new release of Companion is available please check the repository - - - - - + + Compilation server requires registration, please check OpenTX web site - - The Companion project was originally forked from eePe - - - - + About Companion - + Check for new version of Companion - + Show Companion contributors list - + Show Companion changelog - + &List programmers E&lenco programmatori - + List available programmers Lista dei programmatori supportati - + &Fuses... &Fuses... - + Show fuses dialog Mostra finestra di dialogo Fuses - + &Simulate Si&mula - + Alt+S - + Simulate selected model. Simula modello selezionato. - + &Print Stam&pa - + Ctrl+P - + Print current model. Stampa modello corrente. - Cl&ose - C&hiudi + C&hiudi - Close the active window - Chiudi finestra corrente + Chiudi finestra corrente - Close &All - Chiudi &Tutto + Chiudi &Tutto - Close all the windows - Chiudi dutte le finestre + Chiudi dutte le finestre - &Tile - Aff&ianca + Aff&ianca + + + Tile the windows + Affianca fineste + + + &Cascade + &Disponi + + + Cascade the windows + Disponi finestre a cascata + + + Ne&xt + Successi&va + + + Move the focus to the next window + Sposta il fuoco sulla finestra seguente + + + Pre&vious + P&recedente + + + Move the focus to the previous window + Sposta il fuoco sulla finestra precedente - Tile the windows - Affianca fineste - - - - &Cascade - &Disponi - - - - Cascade the windows - Disponi finestre a cascata - - - - Ne&xt - Successi&va - - - - Move the focus to the next window - Sposta il fuoco sulla finestra seguente - - - - Pre&vious - P&recedente - - - - Move the focus to the previous window - Sposta il fuoco sulla finestra precedente - - - &About &Informazioni su - + Show the application's About box Mostra la finestra Informazioni Su - Switch layout direction - Cambia orientamento + Cambia orientamento - Switch layout Left/Right - Cambia orientazione Sinistra/Destra + Cambia orientazione Sinistra/Destra - - + + Recent Files Documenti Recenti - - + + Firmware Profiles Profili personalizzati - + &File &Documento - + &Edit &Modifica @@ -2278,22 +3058,21 @@ Scriverlo ugualmente ? &Programma - &Window - &Finestra + &Finestra - + &Help &Aiuto - + File Documento - + Edit Modifica @@ -2302,17 +3081,17 @@ Scriverlo ugualmente ? Scrivi - + Help Aiuto - + Ready Pronto - + Unable to find file %1! Impossibile trovare il file %1! @@ -2321,7 +3100,7 @@ Scriverlo ugualmente ? File impostazioni non valido %1 - + Error reading file %1: %2. Error durante la lettura del file %1: @@ -2340,175 +3119,175 @@ Scriverlo ugualmente ? byte liberi - + Do you want to use model wizard? Utilizzare l'assistente di configurazione dei modelli ? - - - + + + Companion - + Ask this question again ? Volete che vi sia ancora richiesto ? - + Editing model %1: Modifica modello %1: - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + Error Errore - - + + Unable to find file %1! Impossibile trovare il file %1! - - - - + + + + Error opening file %1: %2. Errore durante l'apertura del file %1: %2. - - + + Invalid EEPROM File %1 File impostazioni non valido %1 - - + + Error reading file %1: %2. Error durante la lettura del file %1: %2. - + Invalid binary EEPROM File %1 File binario delle impostazioni non valido %1 - - - - + + + + Save As Salva Come - - - - + + + + Cannot write file %1: %2. Non posso scrivere il file %1: %2. - - + + Error writing file %1: %2. Errore durante la scrittura del file %1: %2. - + Backup is impossible Impossibile effettuare il Backup - + The backup dir set in preferences does not exist La directory per i backup impostata in preferenze non esiste - - - + + + Taranis radio not found Radio taranis non trovata - - - + + + Impossible to identify the radio on your system, please verify the eeprom disk is connected. Impossibile identificare la radio sul vostro sistema, verificate che il disco della eeprom sia connesso. - - - + + + Backup EEPROM From Tx Salva impostazioni dalla radio - + Cannot check eeprom compatibility! Continue anyway? Non posso controllare la compatibilità della eEprom! Continuare ugualmente ? - - + + Warning Avviso - + Firmware in radio is of a different family of eeprom written, check file and preferences! Il firmware nella radio è di una famiglia differente\n rispetto a quello della eEprom che si sta scrivendo.\n Controllare la eeprom e le preferenze! - + Firmware in flash is outdated, please upgrade! Il firmware nella radio è obsoleto, pianificate un aggiornamento! - + Write EEPROM To Tx Scrivi le impostazioni nella radio - + Open Apri - + Invalid binary backup File %1 File di backup binario non valido %1 @@ -2517,14 +3296,14 @@ Scriverlo ugualmente ? companion9x - + %1 has been modified. Do you want to save your changes? %1 è stato modificato. Salvare le modifiche ? - + Cannot write temporary file! Errore durante la scittura del file temporaneo! @@ -2532,129 +3311,125 @@ Salvare le modifiche ? MixerDialog - + Dialog Dialogo - + Source Sorgente - - - - + + + + The source for the mixer Sorgente da miscelare - + Weight Peso - - - - + Offset Spostamento - + Include Trim Include i Trim - + Curve Curva - + The curve used by the mix Curva utilizzata dalla miscelazione - + Switch Interruttore - - - + + + GV VG - + Switch used by the mix. If blank then the mix is considered to be "ON" all the time. Interruttore che controlla la miscelazione. Se vuoto la miscelazione è sempre attiva. - + Yes Si - + No No - + Warning Avviso - Curve/Differential - Curva/Differenziale + Curva/Differenziale - + Mixer warning. Setting this value will cause a beep to be emmitted when this value is active. Allarme miscelazione. Impostare questo valore causa un'allarme in corrispondenza del valore. - + OFF Spento - + 1 Beep 1 Beep - + 2 Beep 2 Beep - + 3 Beep 3 Beep - + Multiplex Miscelatore - + Flight modes Fasi di volo - + Multiplexer This determines how mixer values are added. @@ -2671,105 +3446,103 @@ Determina come il valore viene aggiunto alla miscelazione. "R" significa che il valore rimpiazza il valore attuale del canale. Se l'interruttore è spento questo valore verrà ignorato. - + ADD AGGIUNGI - + MULTIPLY MOLTIPLICA - + REPLACE SOSTITUISCI - + Include DR/Expo Include DR/Espo - + 0 0 - + 1 1 - + 2 2 - + 3 3 - + 4 4 - + 5 5 - + 6 6 - + 7 7 - + 8 8 - Enable FM Trim - Abilita FM Trim + Abilita FM Trim - + Name Nome - Fix Offset - Spostamento fisso + Spostamento fisso - + Delay Ritardo - + Slow Rallentamento - + Up Su - - - - + + + + <!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; } @@ -2794,2544 +3567,1779 @@ 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;">Se il rallentamento non è zero allora la velocità verrà impostata al valore selezionato -&gt; il valore indica il numero di secondi per passare da -100 a 100.</p></body></html> - + Down Giù - + DEST -> X%1 - + DEST -> CH%1%2 DEST -> CH%1%2 - - FM Trim Value - Valore FM Trim + Valore FM Trim - + Rud - + Ele - + Thr - + Ail + + MixesPanel + + + + Move Up + Muovi in Su + + + + + Ctrl+Up + Ctrl+Up + + + + + Move Down + Muovi in Giù + + + + + Ctrl+Down + Ctrl+Down + + + + Clear Mixes + Cancella Miscelazioni + + + + + + X%1 + + + + + + + CH%1%2 + CH%1%2 + + + + Weight(%1) + + + + + Switch(%1) + + + + + No Trim + No Trim + + + + No DR/Expo + No DR/Expo + + + + Offset(%1) + + + + + Delay(u%1:d%2) + Ritarda(s%1:g%2) + + + + Slow(u%1:d%2) + Rallenta(s%1:g%2) + + + + Warn(%1) + Avviso(%1) + + + + Not enough available mixers! + Non ci sono più miscelazioni disponibili! + + + + Delete Selected Mixes? + Cancellare le miscelazioni selezionate ? + + + + &Add + &Aggiungi + + + + Ctrl+A + Ctrl+A + + + + &Edit + &Modifica + + + + Enter + Invio + + + + &Delete + &Elimina + + + + Delete + Elimina + + + + &Copy + + + + + Ctrl+C + Ctrl+C + + + + &Cut + &Taglia + + + + Ctrl+X + Ctrl+X + + + + &Paste + &Incolla + + + + Ctrl+V + Ctrl+V + + + + Du&plicate + Dup&lica + + + + Ctrl+U + Ctrl+U + + + + Clear Mixes? + Cancellare le miscelazioni ? + + + + Really clear all the mixes? + Sicuri di voler cancellare le miscelazioni ? + + ModelEdit - + Dialog Dialogo - + Simulate Simula Modello - + Setup Impostazioni - + + Heli + + + + + Inputs + + + + + Logical Switches + + + + + Switch Assignment + + + Model Name - Nome del modello + Nome del modello - Timer1 - Temporizzatore1 + Temporizzatore1 - - mm:ss - mm:ss + mm:ss - - Count Down - Decrementa + Decrementa - - Count Up - Incrementa + Incrementa - Timer2 - Temporizzatore2 + Temporizzatore2 - Trim Increment - Incremento del Trim + Incremento del Trim - Exponential - Esponenziale + Esponenziale - Extra Fine - Extra Fine + Extra Fine - Fine - Fine + Fine - Medium - Medio + Medio - Coarse - Ampio + Ampio - Throttle Trim - Trim Motore + Trim Motore - Throttle Expo - Esponenziale Motore + Esponenziale Motore - Center beep - Avviso centraggio + Avviso centraggio - - - - - - - - - RUD - RUD + RUD - - - - - - - - - - - - ELE - ELE + ELE - - - - - THR - THR + THR - - - - - - - - - - AIL - AIL + AIL - P1 - P1 + P1 - P2 - P2 + P2 - P3 - P3 + P3 - Pulse Shift (polarity) - Polarità impulso + Polarità impulso - - - Positive - positivo + positivo - - - Negative - Negativo + Negativo - Extended Limits - Limiti estesi + Limiti estesi - - - Protocol - Protocollo + Protocollo - - - + Channels Canali - - - - - - ch - ch + ch - - - PPM delay - Ritardo PPM + Ritardo PPM - - - usec - usec + usec - Extended Trims - Trim estesi + Trim estesi - Throttle2Trig - Avvia T2 con motore + Avvia T2 con motore - - - PPM Frame Length - Lunghezza segnale PPM + Lunghezza segnale PPM - - - mSec - mSec + mSec - - Heli Setup - Elicottero + Elicottero - Swash Type - Tipo ciclico + Tipo ciclico - - Off - NO + NO - 120 - 120 + 120 - 120X - 120X + 120X - 140 - 140 + 140 - 90 - 90 + 90 - Collective - Collettivo + Collettivo - Swash Ring - Anello del ciclico + Anello del ciclico - - - Invert - Invers + Invers - Invert Elevator - Elevatore + Elevatore - Invert Aileron - Alettoni + Alettoni - Invert Collective - Collettivo + Collettivo - - - - - - - - - Fade In - Tempo transizione in ingresso + Tempo transizione in ingresso - - - - - - - - - Fade Out - Tempo transizione in uscita + Tempo transizione in uscita - - - - - - - - - trim2 - trim2 + trim2 - - - - - - - - - trim1 - trim1 + trim1 - - DSM Type - Tipologia DSM + Tipologia DSM - - LP4/LP5 - LP4/LP5 + LP4/LP5 - - DSM2only - DSM2 + DSM2 - - DSM2/DSMX - DSM2/DSMX + DSM2/DSMX - - RX Number - ID Ricevente + ID Ricevente - Throttle Source Throttle Trace - Sorgente motore + Sorgente motore - - CH01 - CH01 + CH01 - - CH02 - CH02 + CH02 - - CH03 - CH03 + CH03 - - CH04 - CH04 + CH04 - - CH05 - CH05 + CH05 - - CH06 - CH06 + CH06 - - CH07 - CH07 + CH07 - - CH08 - CH08 + CH08 - - CH09 - CH09 + CH09 - - CH10 - CH10 + CH10 - - CH11 - CH11 + CH11 - - CH12 - CH12 + CH12 - - CH13 - CH13 + CH13 - - CH14 - CH14 + CH14 - - CH15 - CH15 + CH15 - - CH16 - CH16 + CH16 - - Check - Controllo + Controllo - Model Voice - Voce per il modello + Voce per il modello - Flight Mode 0 (Default) - Fase di volo 0 (Predefinita) + Fase di volo 0 (Predefinita) - - - - - - - - - trim4 - trim4 + trim4 - - - - - - - - - trim3 - trim3 + trim3 - - - - - - - - - GVAR1 - VARG1 + VARG1 - - - - - - - - - GVAR2 - VARG2 + VARG2 - - - - - - - - - GVAR3 - VARG3 + VARG3 - - - - - - - - - GVAR4 - VARG4 + VARG4 - - - - - - - - - GVAR5 - VARG5 + VARG5 - - - - - - - - - Rotary encoder B - Encoder Rotativo B + Encoder Rotativo B - - - - - - - - - Rotary encoder A - Encoder Rotativo A + Encoder Rotativo A - - - - - - - - - - - - - Switch - Interruttore + Interruttore Expos/DR Esponenziali/DR - + Mixes Miscelazioni - Limits - Limiti + Limiti NOR NOR - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - INV - INV + INV - - - Channel - Canale + Canale - - - Offset - Sposta + Sposta - - - - - Min - Min + Min - - - - - Max - Max + Max - + Curves Curve - Curve 3 - Curva 3 + Curva 3 - Curve 4 - Curva 4 + Curva 4 - Curve 5 - Curva 5 + Curva 5 - Curve 6 - Curva 6 + Curva 6 - Curve 7 - Curva 7 + Curva 7 - Curve 8 - Curva 8 + Curva 8 - Curve 9 - Curva 9 + Curva 9 - Curve 10 - Curva 10 + Curva 10 - Curve 11 - Curva 11 + Curva 11 - Curve 12 - Curva 12 + Curva 12 - Curve 13 - Curva 13 + Curva 13 - Curve 14 - Curva 14 + Curva 14 - Curve 15 - Curva 15 + Curva 15 - Curve 16 - Curva 16 + Curva 16 - Curve 2 - Curva 2 + Curva 2 - Curve 1 - Curva 1 + Curva 1 - Clear All Curves - Azzera tutte le curve + Azzera tutte le curve - Custom switches - Int. Personalizzati + Int. Personalizzati - - - - Function - Funzione + Funzione - - V1 - V1 + V1 - - V2 - V2 + V2 - Safety Switches - Int. Sicurezza + Int. Sicurezza - Value - Valore + Valore - - - TriggerB - - - - Disable Throttle Warning - Disabilita avviso Motore + Disabilita avviso Motore - Switch startup Warning - Avviso interruttori all'avvio + Avviso interruttori all'avvio - GEA - GEA + GEA - - 3POS - - - - - - ON - Acceso + Acceso - - OFF - Spento + Spento - ID0 - ID0 + ID0 - ID1 - ID1 + ID1 - ID2 - ID2 + ID2 - REa - REa + REa - REb - REb + REb - Instant Trim - Trim Istantanei + Trim Istantanei - - Persistent - Persistente + Persistente - - MinuteBeep - Suono al minuto + Suono al minuto - - CountDownBeep - Suono nel conto alla rovescia + Suono nel conto alla rovescia - - RS - - - - ModelSetup - Impostazione modello + Impostazione modello - - SB - - - - - SD - - - - - SA - - - - - SC - - - - - SG - - - - - SE - - - - - SF - - - - RF Module 1 - Modulo n° 1 + Modulo n° 1 - RF Module 2 - Modulo n° 2 + Modulo n° 2 - Reverse Throttle Operation - Stick motore invertito + Stick motore invertito - Model Image - Immagine modello + Immagine modello - Reverse throttle operation. If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. - Stick motore inverso. + Stick motore inverso. Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà in avanti, anche i trim verranno rovesciati e anche gli avvisi. - Master - Maestro + Maestro - Slave - Allievo + Allievo - Trainer Mode - Modalità maestro allievo + Modalità maestro allievo - Master/Trainer Port - Porta maestro/allievo + Porta maestro/allievo - - - Start - Inizio + Inizio - - Polarity - Polarità + Polarità - Failsafe - Impostazioni sicurezza + Impostazioni sicurezza - External module - Modulo esterno + Modulo esterno - - Failsafe Mode - Modalità FailSafe + Modalità FailSafe - - Hold - Mantieni + Mantieni - - Custom - Personalizzato + Personalizzato - - No Pulses - No impulsi + No impulsi - Internal Module - Modulo interno + Modulo interno - + Flight Modes Fasi di volo - - - - - - - - - Flight Mode Name - Nome fase di volo + Nome fase di volo - GVAR6 - VARG6 + VARG6 - GVAR7 - VARG7 + VARG7 - FM 1 - FV 1 + FV 1 - FM 2 - FV 2 + FV 2 - FM 3 - FV 3 + FV 3 - FM 4 - FV 4 + FV 4 - FM 5 - FV 5 + FV 5 - FM 6 - FV 6 + FV 6 - FM 7 - FV 7 + FV 7 - FM 8 - FV 8 + FV 8 - - Center - Centro + Centro - - Sym - Simm + Simm - - Curve type - Tipo curva + Tipo curva - 3 points - 3 punti + 3 punti - 3 points custom - 3 punti personalizzata + 3 punti personalizzata - 5 points - 5 punti + 5 punti - 5 points custom - 5 punti personalizzata + 5 punti personalizzata - 9 points - 9 punti + 9 punti - 9 points custom - 9 punti personalizzata + 9 punti personalizzata - 17 points - 17 punti + 17 punti - 17 points custom - 17 punti personalizzata + 17 punti personalizzata - Curve name - Nome curva + Nome curva - Curve Creator - Assistente Curve + Assistente Curve - Both - Entrambi + Entrambi - - x>0 - - - - - x<0 - - - - Linear - Lineare + Lineare - Single Expo - Esponenziale singola + Esponenziale singola - Symmetrical f(x)=-f(-x) Simmetrycal f(x)=-f(-x) - Expo simmetrica f(x)=-f(-x) + Expo simmetrica f(x)=-f(-x) - Symmetrical f(x)=f(-x) Simmetrycal f(x)=f(-x) - Expo simmetrica f(x)=f(-x) + Expo simmetrica f(x)=f(-x) - Side - Lato + Lato - Y at X=0 - Y a X=0 + Y a X=0 - Y at X=100 - Y a X=100 + Y a X=100 - Coefficient - Coefficiente + Coefficiente - Y at X=-100 - Y a X=-100 + Y a X=-100 - Apply - Applica + Applica - CS9 CSw9 - CS9 + CS9 - - Duration - Durata + Durata - CSF CSwF - CSF + CSF - CSD CSwD - CSD + CSD - - AND - AND + AND - - Delay - Ritardo + Ritardo - Custom Functions - Funzioni personalizzate + Funzioni personalizzate - - Param - Parametro + Parametro - - Enable - Abilita + Abilita - + Telemetry Telemetria - - - - A1 - A1 + A1 - - FAS - FAS + FAS - CEL - CEL + CEL - - Alti - - - - - Alti+ - - - - Vario - Variometro + Variometro - Sink Min Sunk Min - Min Discesa + Min Discesa - - Unit - Unità + Unità - - Raw (-) - Grezza (-) + Grezza (-) - - 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 - - Min Value - Valore Min + Valore Min - - - - A2 - A2 + A2 - RSSI - RSSI + RSSI - Alarm 1 - Allarme 1 + Allarme 1 - Serial Protocol - Protocollo seriale + Protocollo seriale - Units - Unità + Unità - None - Nessuno + Nessuno - FrSky Sensor Hub - FrSky Sensor Hub + FrSky Sensor Hub - Metric - Sistema Metrico + Sistema Metrico - - - (00:00:00) - - - - Sticks - Expo/DR + Expo/DR - Show channels names in mixes - Mostra i nomi dei canali definiti in "Limiti" + Mostra i nomi dei canali definiti in "Limiti" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --- - --- + --- - CS6 CSw6 - CS6 + CS6 - CS1 CSw1 - CS1 + CS1 - CS8 CSw8 - CS8 + CS8 - CS7 CSw7 - CS7 + CS7 - CSA CSwA - CSA + CSA - CSB CSwB - CSB + CSB - CSC CSwC - CSC + CSC - CS5 CSw5 - CS5 + CS5 - CS3 CSw3 - CS3 + CS3 - CS2 CSw2 - CS2 + CS2 - CSE CSwE - CSE + CSE - CSG CSwG - CSG + CSG - CS4 CSw4 - CS4 + CS4 - CST CSwT - CST + CST - CSM CSwM - CSM + CSM - CSP CSwP - CSP + CSP - CSH CSwH - CSH + CSH - CSO CSwO - CSO + CSO - CSN CSwN - CSN + CSN - CSQ CSwQ - CSQ + CSQ - CSR CSwR - CSR + CSR - CSS CSwS - CSS + CSS - CSL CSwL - CSL + CSL - CSK CSwK - CSK + CSK - CSJ CSwJ - CSJ + CSJ - CSI CSwI - CSI + CSI - CSU CSwU - CSU + CSU - CSV CSwV - CSV + CSV - CSW CSwW - CSW + CSW - Volt source - Misura della tensione + Misura della tensione - Imperial - Imperiale + Imperiale - Current source - Misura della corrente + Misura della corrente - NONE - Nessuno + Nessuno - 2 - 2 + 2 - 3 - 3 + 3 - 4 - 4 + 4 - Blades - Pale dell'elica + Pale dell'elica - Sink Max Sunk Max - Max Discesa + Max Discesa - Climb Max Raise Max - Max Salita + Max Salita - Climb Min Raise Min - Min Salita + Min Salita - Display altitude in toolbar - Mostra l'altitudine sulla barra + Mostra l'altitudine sulla barra - - 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) - - Speed (km/h or miles/h) - Velocità (km/h o miglia/h) + Velocità (km/h o miglia/h) - - Meters (m or ft) - Metri (m o ft) + Metri (m o ft) - - Temp (°) - Temperatura (°) + Temperatura (°) - - Fuel (%) - Carburante (%) + Carburante (%) - - mAmps (mA) - Corrente (mA) + Corrente (mA) - - - Source - Sorgente + Sorgente - - - Gauge - Barra + Barra - - - Gauge 1 - Barra 1 + Barra 1 - - - Gauge 2 - Barra 2 + Barra 2 - - - Gauge 3 - Barra 3 + Barra 3 - - - Gauge 4 - Barra 4 + Barra 4 - Altimetry / Vario - Altimetria / Variometro + Altimetria / Variometro - 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 - Telemetry screen 1 - Schermo telemetria 1 + Schermo telemetria 1 - - - Custom Screen Type - Tipo schermo personalizzato + Tipo schermo personalizzato - - - Nums - Valori + Valori - - - Bars - Barre + Barre - Telemetry screen 2 - Schermo telemetria 2 + Schermo telemetria 2 - Telemetry screen 3 - Schermo telemetria 3 + Schermo telemetria 3 - Templates - Modelli + Modelli - - - - Ctrl+Up - Ctrl+Up + Ctrl+Up - - - - Ctrl+Down - Ctrl+Down + Ctrl+Down - Clear Expo Settings - Cancella Esponenziali + Cancella Esponenziali - Clear Mixes - Cancella Miscelazioni + Cancella Miscelazioni - Weight - Peso + Peso - - - CH%1%2 - CH%1%2 + CH%1%2 - - DISABLED - DISABILITATO + DISABILITATO - Ele - Elevatore + Elevatore - Thr - Motore + Motore - Ail - Alettoni + Alettoni - Rud - Direzionale + Direzionale - - Flight modes - Fasi di volo + Fasi di volo - - Flight mode - Fase di volo + Fase di volo - - - - X%1 - - - - No Trim - No Trim + No Trim - No DR/Expo - No DR/Expo + No DR/Expo - 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) - CF%1 - CF%1 + CF%1 - Error - Errore + Errore - Unable to find sound file %1! - Impossibile trovare il file sonoro %1! + Impossibile trovare il file sonoro %1! - 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) - - Range - Intervallo + Intervallo - Simple 4-CH - 4 Canali (Modello base) + 4 Canali (Modello base) - T-Cut - Taglio Motore + Taglio Motore - Sticky T-Cut - Taglio motore con controllo comando + Taglio motore con controllo comando - V-Tail - Coda a V + Coda a V - Elevon\Delta - Elevoni/Ala a delta + Elevoni/Ala a delta - Heli Setup with gyro gain control - Elicottero con controllo giroscopio + Elicottero con controllo giroscopio - Gyro gain control - Controllo giroscopio + Controllo giroscopio - Heli Setup (Futaba's channel assignment style) - Elicottero (Assegnazione canali alla Futaba) + Elicottero (Assegnazione canali alla Futaba) - Heli Setup with gyro gain control (Futaba's channel assignment style) - Elicottero con controllo giroscopio (Assegnazione canali alla Futaba) + Elicottero con controllo giroscopio (Assegnazione canali alla Futaba) - Gyro gain control (Futaba's channel assignment style) - Controllo giroscopio (Assegnazione canali alla Futaba) + Controllo giroscopio (Assegnazione canali alla Futaba) - Servo Test - Controllo servocomandi + Controllo servocomandi - MultiCopter - Multirotore + Multirotore - Use Model Config Wizard - Usa assistente di configurazione modelli + Usa assistente di configurazione modelli - Editing curve %1 - Modifica curva %1 + Modifica curva %1 - Not enough available mixers! - Non ci sono più miscelazioni disponibili! + Non ci sono più miscelazioni disponibili! - Not enough available expos! - Non ci sono più esponenziali disponibili! + Non ci sono più esponenziali disponibili! - Delete Selected Mixes? - Cancellare le miscelazioni selezionate ? + Cancellare le miscelazioni selezionate ? - Delete Selected Expos? - Cancellare le impostazioni dell'esponenziale selezionate ? + Cancellare le impostazioni dell'esponenziale selezionate ? - - &Add - &Aggiungi + &Aggiungi - - Ctrl+A - Ctrl+A + Ctrl+A - - &Edit - &Modifica + &Modifica - - Enter - Invio + Invio - - - - &Delete - &Elimina + &Elimina - - - - Delete - Elimina + Elimina - - - - &Copy - Co&pia + Co&pia - - - - Ctrl+C - Ctrl+C + Ctrl+C - - - - &Cut - &Taglia + &Taglia - - - - Ctrl+X - Ctrl+X + Ctrl+X - - - - &Paste - &Incolla + &Incolla - - - - Ctrl+V - Ctrl+V + Ctrl+V - - Du&plicate - Dup&lica + Dup&lica - - Ctrl+U - Ctrl+U + Ctrl+U - Are you sure you want to delete curve %1 ? - Sicuro di voler cancella re la curva %1 ? + Sicuro di voler cancella re la curva %1 ? - - - - - AIL2 - - - - - - - - ELE2 - - - - - - - - - - FLAPS - - - - - - - - - - FLAP%1 - - - - - - - - PITCH - - - - - - - - - - - - GYRO - - - - - - SPOIL - - - - - - SPOIL%1 - - - - - - RUD2 - - - - Really clear existing mixes on CH6? - Sicuri di voler cancellare le miscelazioni sul canale 6 ? + Sicuri di voler cancellare le miscelazioni sul canale 6 ? - Really clear existing mixes on CH5? - Sicuri di voler cancellare le miscelazioni sul canale 5? + Sicuri di voler cancellare le miscelazioni sul canale 5? - Not enough free points in eeprom to store the curve. - Non ci sono punti liberi a sufficienza per il tipo di curva. + Non ci sono punti liberi a sufficienza per il tipo di curva. - - - - Move Up - Muovi in Su + Muovi in Su - - - - Move Down - Muovi in Giù + Muovi in Giù - - S1 - - - - - S2 - - - - - LS - - - - - Expo - Espo + Espo - - Curve - Curva + Curva - FMTrim - FMTrim + FMTrim - Diff - Diff + Diff - - - - CH %1 - CH %1 + CH %1 - Apply Template? - Applicare il modelo ? + Applicare il modelo ? - Apply template "%1"? - Applicare il modello "%1"? + Applicare il modello "%1"? - Clear Expos? - Cancellare gli esponenziali ? + Cancellare gli esponenziali ? - Really clear all the expos? - Sicuri di voler cancellare gli esponenziali ? + Sicuri di voler cancellare gli esponenziali ? - - - 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 ? - + Clear Curves? Cancellare le curve ? - + Really clear all the curves? Sicuri di voler cancellare le curve ? @@ -5339,132 +5347,264 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà ModelsListWidget - + &Edit &Modifica - + &Restore from backup &Ripristina da backup - + &Model Wizard &Assistente di configurazione - + &Delete &Elimina - + Delete Elimina - + &Copy &Copia - + Ctrl+C Ctrl+C - + &Cut &Taglia - + Ctrl+X Ctrl+X - + &Paste &Incolla - + Ctrl+V Ctrl+V - + D&uplicate D&uplica - + Ctrl+U Ctrl+U - + &Use as default &Predefinito - + P&rint model S&tampa modello - + Alt+R ALT+T - + Alt+S Alt+S - + &Simulate model Sim&ula modello - + General Settings Impostazioni generali radio - + Delete Selected Models? Cancellare i modelli selezionati ? - - + + Cannot delete default model. Non posso cancellare il modello predefinito. - + Cannot cut default model. Non posso tagliare il modello predefinito. - + Do you want to overwrite TX general settings? Volete sovrascrivere le impostazioni generali della radio ? - + You are pasting on an not empty model, are you sure? State copiando su un modello non vuoto, siete sicuri ? - + No free slot available, cannot duplicate Nussun spazio di memoria libero, non posso duplicare + + Module + + + Form + + + + + Failsafe Mode + Modalità FailSafe + + + + Start + Inizio + + + + PPM delay + Ritardo PPM + + + + usec + usec + + + + Negative + Negativo + + + + Positive + positivo + + + + RX Number + ID Ricevente + + + + Master + Maestro + + + + Slave + Allievo + + + + Polarity + Polarità + + + + Trainer Mode + Modalità maestro allievo + + + + mSec + mSec + + + + PPM Frame Length + Lunghezza segnale PPM + + + + Label + + + + + + ch + ch + + + + Channels + Canali + + + + Hold + Mantieni + + + + Custom + Personalizzato + + + + No Pulses + No impulsi + + + + Failsafe Positions + + + + + Protocol + Protocollo + + + + ModulePanel + + + Trainer Output + + + + + Internal Radio System + + + + + External Radio Module + + + QObject @@ -5474,1953 +5614,2014 @@ Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà FV %1 - + + Input%1 + + + + + Polish + + + + + CH%1 + CH%1 + + + No No - + RotEnc A - + Rot Enc B - + Rot Enc C - + Rot Enc D - + Rot Enc E - + Safety %1 - + Trainer - + Trainer RUD - + Trainer ELE - + Trainer THR - + Trainer AIL - + Instant Trim Trim Istantanei - + Play Sound - + Play Track - + Start Logs - + Play Haptic - + Reset - + Vario Variometro - + Volume - + Backlight - + Play Value - - + + --- --- - + Rud Trim - + Ele Trim - + Thr Trim - + Ail Trim - + Rot Enc - + English Inglese - + French Francese - + Italian Italiano - + German Tedesco - + Czech Ceco - + Slovak Slovacco - + Spanish Spagnolo - + Portuguese Portoghese - + Swedish Svedese - CH - CH + CH - - + + No repeat Non ripetere - + %1 sec - + Play Both - + Background Music - + Background Music Pause - Adjust GV1 - Aggiusta VG1 + Aggiusta VG1 - Adjust GV2 - Aggiusta VG2 + Aggiusta VG2 - Adjust GV3 - Aggiusta VG3 + Aggiusta VG3 - Adjust GV4 - Aggiusta VG4 + Aggiusta VG4 - Adjust GV5 - Aggiusta VG5 + Aggiusta VG5 - + Delay %1 sec Ritardo %1 sec - + Duration %1 sec Durata %1 sec - - + + <font color=red><b>Inconsistent parameter</b></font> <font color=red><b>Parametro inconsistente</b></font> - - + + All - - + + Telemetry - + Value Valore - + Decr: - + Incr: - + + Played once, not during startup + + + + %1s - + Value Valore - + Source Sorgente - + GVAR VARG - + Increment Incremento - + !Flight mode %1 !Fase di volo %1 - + Flight mode %1 Fase di volo %1 - - Diff - - - - - Expo - - - - + Own trim Legato alla fase - + Flight mode %1 trim Trim Fase di Volo %1 - + Own value Legato alla fase - + Flight mode %1 value Valore Fase di Volo %1 - + Keys Tasti - + Sticks Leve - + Keys + Sticks Tasti + Leve - + + -GV%1 -VG%1 - (-GV%1) - (-VG%1) + (-VG%1) - + + Adjust GV%1 + + + + + Rotary Encoder + + + + Yellow Giallo - + Orange Arancione - + Red Rosso - + Winged Shadow How High Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (non supportato) - + FrSky Sensor Hub FrSky Sensor Hub - + + None Nessuno - + Imperial Imperiale - + Metric Sistema Metrico - + Extra Fine Extra Fine - + Fine Fine - + Medium Medio - + Coarse Ampio - + Exponential Esponenziale - + Count Up Incrementa - + Count Down Decrementa - + %1:%2, %1:%2, - + : %1 Channels, %2usec Delay : %1 Canali, %2usec Ritardo - + + Flight modes(%1) + + + + + Flight mode(%1) + + + + Rudder Direzionale - + Elevator Elevatore - + Throttle Motore - + Aileron Alettoni - - + + + GV%1 VG%1 - (GV%1) - (VG%1) + (VG%1) - - - - + + + + ---- ---- - - RUD - RUD + RUD - - ELE - ELE + ELE - - - - + + THR THR - - AIL - AIL + AIL - - - + + + P1 P1 - - - + + + P2 P2 - - - + + + P3 P3 - + + REa REa - + + REb REb - + Alt Alt - + Rpm - + Fuel - + Speed - + Dist - + GPS Alt - + Cell - + MAX - - + + Rud - - + + Ele - - + + Thr - - + + Ail - - 3POS - - - - - - + + + Timer1 - - - + + + Timer2 - + A1 A1 - + A2 A2 - + T1 - + T2 - Curve - Curva + Curva - - - - Flight modes settings on expos not exported - Le impostazioni delle fasi negli esponenziali non sono state esportate + Le impostazioni delle fasi negli esponenziali non sono state esportate - gruvin9x doesn't have trims as source - Gruvin9x non accetta i trim come sorgenti + Gruvin9x non accetta i trim come sorgenti - gruvin9x doesn't have swappable trims - Gruvin9x non accetta l'incroco dei trim + Gruvin9x non accetta l'incroco dei trim - gruvin9x on this board doesn't have Rotary Encoders - Gruvin9x su questa piastra non ha gli Encoder Rotativi + Gruvin9x su questa piastra non ha gli Encoder Rotativi - gruvin9x does not support Custom Switch function %1 - gruvin9x non supporta la funzione %1 negli interruttori personalizzati + gruvin9x non supporta la funzione %1 negli interruttori personalizzati - gruvin9x only accepts %1 expos - gruvin9x accetta solamente %1 esponenziali + gruvin9x accetta solamente %1 esponenziali - - gruvin9x doesn't support custom curves as curve%1, curve as been exported as fixed point - gruvin9x non supporta curve customizzate per la curva %1, la curva viene esportata come curva a punti fissi + gruvin9x non supporta curve customizzate per la curva %1, la curva viene esportata come curva a punti fissi - - gruvin9x doesn't support curve with %1 point as curve%2 - gruvin9x non supporta curve con %1 punti come curva %2 + gruvin9x non supporta curve con %1 punti come curva %2 - - - Open9x doesn't allow Curve%1 in expos - Open9x non consente la Curva %1 negli esponenziali + Open9x non consente la Curva %1 negli esponenziali - - + + Simultaneous usage of expo and curves is no longer supported L'uso simultaneo degli esponenziali e delle curve non è più supportato - - - - - - - Flight modes settings on mixers not exported - Le impostazioni delle fasi nelle miscelazioni non sono state esportate + Le impostazioni delle fasi nelle miscelazioni non sono state esportate - - Flight mode settings on mixers not exported - Le impostazioni delle fasi nelle miscelazioni non sono state esportate + Le impostazioni delle fasi nelle miscelazioni non sono state esportate - - - - This version of open9x does not support Custom Switch function %1 - Questa versione di open9x non supporta la Funzione %1 negli interruttori personalizzati + Questa versione di open9x non supporta la Funzione %1 negli interruttori personalizzati - - - - - - open9x only accepts %1 points in all curves - open9x accetta solamente %1 punti in tutte le curve + open9x accetta solamente %1 punti in tutte le curve - + openTx only accepts %1 points in all curves openTx accetta solamente %1 punti in tutte le curve - - - + + + OpenTX on this board doesn't accept this function OpenTX in questa piattaforma non accetta la funzione - - + + OpenTX doesn't accept this protocol OpenTX non accetta questo protocollo - + OpenTX doesn't allow this number of channels OpenTX non consente questo numero di canali - - - - - - - - Open9x on this board doesn't have Rotary Encoders - Open9x su questa piastra non ha gli Encoder Rotativi + Open9x su questa piastra non ha gli Encoder Rotativi - - - - - - - - - - - - - - - - - - Open9x doesn't accept this protocol - Open9x non accetta questo protocollo + Open9x non accetta questo protocollo - + Simultaneous usage of expo and curves is no longer supported in open9x L'uso simultaneo degli esponenziali e delle curve non è più supportato in open9x - - open9x on this board doesn't have Rotary Encoders - Open9x su questa piastra non ha gli Encoder Rotativi + Open9x su questa piastra non ha gli Encoder Rotativi - - - - - - - - - - - - - open9x only accepts %1 expos - open9x accetta solamente %1 esponenziali + open9x accetta solamente %1 esponenziali - + th9x - + er9x - - + + Support for frsky telemetry mod Supporto per la modifica per la telemetria FrSky - - + + Support for jeti telemetry mod Supporto per la modifica per la telemetria Jeti - - + + Support for receiving ardupilot data Supporto per la modifica per la ricezione dati ardupilot - - + + Support for receiving NMEA data Supporto per la modifica per la ricezione dati NMEA - + Support for telemetry easy board Supporto per la scheda Telemetrez - - + + Support for MAVLINK devices Supporto per dispositivi MAVLINK - + Rotary Encoder use in menus navigation Utilizzo dell'encoder rotativo nella navigazione dei menù - + Possibility to enable FAI MODE at field Impostazione della modalità FAI da radio - + FAI MODE always enabled Modalità FAI sempre attiva - + openTx for 9X board openTx per scheda originale - - - - - + + + + + Enable heli menu and cyclic mix support Abilita supporto menù elicotteri e miscelazione ciclico - - - - - - + + + + + + Enable TEMPLATES menu Abilita menù dei MODELLI - - - - + + + + No splash screen Disabilita schermata di avvio - - - - - - + + + + + + No flight modes Disabilita supporto fasi di volo - - - - - - + + + + + + Disable curves menus Disabilita il menu delle curve - - - - + + + + Support for radio modified with regular speaker Supporto per modifica con altoparlante - - - - - + + + + + Used if you have modified your radio with voice mode Utilizzato per la gestione del modulo audio - - - - + + + + Used if you have modified your radio with haptic mode Abilita supporto vibrazione - - - - - - + + + + + + In model setup menus automatically set source by moving some of them Selezione automatica delle sorgenti nei menù tramite loro azionamento - - - - - - + + + + + + Battery graph Grafico della batteria - - - - - - - - + + + + + + + + Use alternative SQT5 font Usa font alternativo SQT5 (Leggermente quadrato) - - - - + + + + Enable the throttle trace in Statistics Abilita il grafico utilizzo motore nelle statistiche - + EEprom write progress bar Barra di avanzamento durante la scrittura della eeprom - - + + No Winged Shadow How High support Disabilita supporto Winged Shadow How High - - + + No vario support Nessun Variometro - - + + No GPS support Disabilita supporto GPS - - + + No gauges in the custom telemetry screen Disabilita schermate telemetriche a barre - + + Allow compensating for offset errors in FrSky FAS current sensors + + + + openTx for M128 / 9X board openTx per scheda originale con CPU ATMEGA 128 - + openTx for 9XR openTx per 9XR - + openTx for 9XR with M128 chip openTx per 9XR con chip M128 - + openTx for Gruvin9x board / 9X openTX per piastra Gruivin9X - + Support of FrSky PXX protocol Supporto del protocollo PXX FrSky - + Use FrSky Taranis sticks in a 9X/9XR Use FrSky's taranis like sticks Usa stick tipo FrSky Taranis - + openTx for FrSky Taranis openTx per FrSky Taranis - - + + Disable HELI menu and cyclic mix support Disabilita il menù HELI e le funzioni del piatto ciclico - - + + Disable TEMPLATES menu Disabilita menù dei MODELLI - - + + Disable Global variables Disabilita variabili globali - + openTx for FrSky Taranis Rev4a openTx per FrSky Taranis Rev4a - - - - - + + + + + Support for DSM2 modules Supporto per moduli DSM2 - - - - - - + + + + + + PPM center adjustment in limits Regolazione del centro PPM nel menù limiti - - - - - - - - + + + + + + + + PPM values displayed in us Valori del PPM in uSec - - - - - - + + + + + + Symetrical Limits Limiti Simmetrici - - - - - + + + + + Pots use in menus navigation Utilizzo dei potenziometri per la navigazione nei menù - + Your radio probably uses a wrong firmware, eeprom size is 4096 but only the first 2048 are used La tua radio probabilmente sta utilizzando un firmware sbagliato, la eeprom è 4096 bytes ma solo 2048 vengono utilizzati - - + + SmartieParts 2.2 Backlight support Abilita il supporto per la scheda SmartiePart versione 2.2 - - - - - - + + + + + + In model setup menus automatically set switch by moving some of them Selezione automatica degli switch nei menù tramite loro azionamento - - - - + + + + Enable resetting values by pressing up and down at the same time Abilita l'azzeramento di un valore mediante pressione contemporanea di tasti - - - - - - + + + + + + No graphical check boxes and sliders Disabilita grafica per caselle di spunta e cursori - - - - - - + + + + + + Don't use bold font for highlighting active items Non utilizzare font in grassetto per evidenziare le voci attive - - - - + + + + EEprom write Progress bar Barra di avanzamento durante la scrittura della eeprom - - - - - + + + + + Imperial units Unità Imperiali nella telemetria - + openTx for Sky9x board / 9X openTx per piastra sky9x - + Bluetooth interface Interfaccia bluetooth - - - - - - + + + + + + Global variables Variabili Globali - + Support for SD memory card Supporto memorie SD - + Support for DSM2 modules using ppm instead of true serial Supporto per moduli DSM2 usando il ppm invece della seriale - + Enable HELI menu and cyclic mix support Abilita il menù HELI e le funzioni del piatto ciclico - + ersky9x - + TrmR - + TrmE - + TrmT - + TrmA - - + + S1 - - + + S2 - - + + LS - - + + RS - - SA - - - - - SB - - - - - SC - - - - - SD - - - - - SE - - - - - SF - - - - - SG - - - - - SH - - - - + Batt Batt - + Tx - + Rx - + Cels - + Vfas - + Curr - + Cnsp - + Powr - + AccX - + AccY - + AccZ - + HDG - + VSpd - + A1- A1- - + A2- A2- - + Alt- - + Alt+ - + Rpm+ - + T1+ - + T2+ - + Spd+ - + Dst+ - + Cur+ - + ACC - + Time Tempo - + Pwr+ - + + + LS1 + + + + + + LS2 + + + + + + LS3 + + + + + + LS4 + + + + + + LS5 + + + + + + LS6 + + + + + + LS7 + + + + + + LS8 + + + + + + LS9 + + + + + + LSA + + + + + + LSB + + + + + + LSC + + + + + + LSD + + + + + + LSE + + + + + + LSF + + + + + + LSG + + + + + + LSH + + + + + + LSI + + + + + + LSJ + + + + + + LSK + + + + + + LSL + + + + + + LSM + + + + + + LSN + + + + + + LSO + + + + + + LSP + + + + + + LSQ + + + + + + LSR + + + + + + LSS + + + + + + LST + + + + + + LSU + + + + + + LSV + + + + + + LSW + + + + + Input %1 + + + + CYC%1 - + PPM%1 - + CH%1%2 CH%1%2 - + X%1 - - - CS1 - CS1 + + S11 + - + + S12 + + + + + S13 + + + + + S14 + + + + + S15 + + + + + S16 + + + + + S21 + + + + + S22 + + + + + S23 + + + + + S24 + + + + + S25 + + + + + S26 + + + + + Diff(%1) + + + + + Expo(%1) + + + + + Function(%1) + + + + + Curve(%1) + + + + + !Curve(%1) + + + + CS1 + CS1 + + + SWR - + RSSI RSSI - - CS2 - CS2 + CS2 - - CS3 - CS3 + CS3 - - CS4 - CS4 + CS4 - - CS5 - CS5 + CS5 - - CS6 - CS6 + CS6 - - CS7 - CS7 + CS7 - - CS8 - CS8 + CS8 - - CS9 - CS9 + CS9 - - CSA - CSA + CSA - - CSB - CSB + CSB - - CSC - CSC + CSC - - CSD - CSD + CSD - - CSE - CSE + CSE - - CSF - CSF + CSF - - CSG - CSG + CSG - - CSH - CSH + CSH - - CSI - CSI + CSI - - CSJ - CSJ + CSJ - - CSK - CSK + CSK - - CSL - CSL + CSL - - CSM - CSM + CSM - - CSN - CSN + CSN - - CSO - CSO + CSO - - CSP - CSP + CSP - - CSQ - CSQ + CSQ - - CSR - CSR + CSR - - CSS - CSS + CSS - - CST - CST + CST - - CSU - CSU + CSU - - CSV - CSV + CSV - - CSW - CSW + CSW - + ONE - + !ONE - + TRNs - + TRNl - + REAs - + REAl - ID0 - ID0 + ID0 - ID1 - ID1 + ID1 - ID2 - ID2 + ID2 - - GEA - GEA + GEA - - TRN - TRN + TRN CS%1 CS%1 - - + + ON - - + + OFF - er9x doesn't have Rotary Encoders - er9x non ha gli Encoder Rotativi + er9x non ha gli Encoder Rotativi - er9x doesn't have trims as source - er9x non accetta i trim come sorgenti + er9x non accetta i trim come sorgenti - er9x doesn't have negative gvars as weight - er9x non può utilizzare le variabili GV negative come peso + er9x non può utilizzare le variabili GV negative come peso - er9x doesn't have negative gvars as offset - er9x non può utilizzare le variabili GV negative come spostamento + er9x non può utilizzare le variabili GV negative come spostamento - - - er9x doesn't have swappable trims - er9x non accetta l'incroco dei trim + er9x non accetta l'incroco dei trim - - - er9x on this board doesn't have Rotary Encoders - er9x su questa piastra non ha gli Encoder Rotativi + er9x su questa piastra non ha gli Encoder Rotativi - er9x does not support Custom Switch function %1 - er9x non supporta la funzione %1 negli interruttori personalizzati + er9x non supporta la funzione %1 negli interruttori personalizzati - - - er9x does not support this range for A1/A2 - er9x non accetta il voltaggio di fondo scala settato per A1/A2 + er9x non accetta il voltaggio di fondo scala settato per A1/A2 - - - er9x does not support this telemetry units - er9x non supporta l'unità di telemetria scelta per A1/A2 + er9x non supporta l'unità di telemetria scelta per A1/A2 - - Er9x doesn't accept this protocol - Er9x non accetta questo protocollo + Er9x non accetta questo protocollo - - Er9x doesn't support custom curves as curve%1, curve as been exported as fixed point - Er9x non supporta curve customizzate per la curva %1, la curva viene esportata come curva a punti fissi + Er9x non supporta curve customizzate per la curva %1, la curva viene esportata come curva a punti fissi - - Er9x doesn't support curve with %1 point as curve%2 - Er9x non supporta curve con %1 punti come curva %2 + Er9x non supporta curve con %1 punti come curva %2 - - - - - + + + + Warning Avviso - - + EEPROM saved with these warnings: EEPROM salvata con questi avvisi: - - ersky9x doesn't have Rotary Encoders - ersky9x non ha gli Encoder Rotativi + ersky9x non ha gli Encoder Rotativi - - ersky9x doesn't have trims as source - ersky9x non accetta i trim come sorgenti + ersky9x non accetta i trim come sorgenti - - ersky9x does not support Custom Switch function %1 - ersky9x non supporta la funzione %1 negli interruttori personalizzati + ersky9x non supporta la funzione %1 negli interruttori personalizzati - - Ersky9x doesn't accept this protocol - Ersky9x non accetta questo protocollo + Ersky9x non accetta questo protocollo - - - - ErSky9x doesn't support custom curves as curve%1, curve as been exported as fixed point - Ersky9x non supporta curve customizzate per la curva %1, la curva viene esportata come curva a punti fissi + Ersky9x non supporta curve customizzate per la curva %1, la curva viene esportata come curva a punti fissi - - - - ErSky9x doesn't support curve with %1 point as curve%2 - Ersky9x non supporta curve con %1 punti come curva %2 + Ersky9x non supporta curve con %1 punti come curva %2 - - - + + + Simulator for this firmware is not yet available Il simulatore per questo firmware non è ancora disponibile - th9x does not support Custom Switch function %1 - th9x non supporta la funzione %1 negli interruttori personalizzati + th9x non supporta la funzione %1 negli interruttori personalizzati - + th9x on this board doesn't have Rotary Encoders th9x non ha gli Encoder Rotativi - - - th9x doesn't support custom curves as curve%1, curve as been exported as fixed point - th9x non supporta curve customizzate per la curva %1, la curva viene esportata come curva a punti fissi + th9x non supporta curve customizzate per la curva %1, la curva viene esportata come curva a punti fissi - - - th9x doesn't support curve with %1 point as curve%2 - th9x non supporta curve con %1 punti come curva %2 + th9x non supporta curve con %1 punti come curva %2 - - Flight Mode 0 (Default) - Fase di volo 0 (Predefinita) + Fase di volo 0 (Predefinita) - - FM %1 - FV %1 + FV %1 @@ -7432,6 +7633,590 @@ The OpenTX/Companion Team. + + Setup + + + Form + + + + + Model Name + Nome del modello + + + + Timer2 + + + + + Timer1 + Tempo1 + + + + Throttle Source + Sorgente motore + + + + Switch startup Warning + Avviso interruttori all'avvio + + + + Center beep + Avviso centraggio + + + + Trim Increment + Incremento del Trim + + + + ON + Acceso + + + + OFF + Spento + + + + Check + Controllo + + + + Model Image + Immagine modello + + + + Exponential + Esponenziale + + + + Extra Fine + Extra Fine + + + + Fine + Fine + + + + Medium + Medio + + + + Coarse + Ampio + + + + Extended Limits + Limiti estesi + + + + Extended Trims + Trim estesi + + + + Throttle Trim + Trim Motore + + + + Throttle Warning + + + + + Reverse throttle operation. +If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. + + + Stick motore inverso. +Se l'opzione selezionata lo stick motore verrà rovesciato. Il minimo sarà in avanti, anche i trim verranno rovesciati e anche gli avvisi. + + + + + + Reverse Throttle + + + + + Telemetry + + + Form + + + + + + + + A1 + A1 + + + + + + + A2 + A2 + + + + RSSI + RSSI + + + + Alarm 1 + Allarme 1 + + + + + ---- + ---- + + + + + Yellow + Giallo + + + + + Orange + Arancione + + + + + Red + Rosso + + + + Alarm 2 + Allarme 2 + + + + Serial Protocol + Protocollo seriale + + + + Volt source + Misura della tensione + + + + Metric + Sistema Metrico + + + + Imperial + Imperiale + + + + Current source + Misura della corrente + + + + Protocol + Protocollo + + + + NONE + Nessuno + + + + + FAS + FAS + + + + None + Nessuno + + + + FrSky Sensor Hub + FrSky Sensor Hub + + + + CEL + CEL + + + + 2 + 2 + + + + 3 + 3 + + + + 4 + 4 + + + + Units + Unità + + + + Blades + Pale dell'elica + + + + Altimetry / Vario + Altimetria / Variometro + + + + Alti + + + + + Alti+ + + + + + Vario + Variometro + + + + Sink Max + Max Discesa + + + + Off + NO + + + + Climb Max + Max Salita + + + + Sink Min + Min Discesa + + + + Climb Min + Min Salita + + + + Vario source + Sorgente per il Vario + + + + Vario limits + Limiti per il Vario + + + + Use GPS as altitude source + Usa il GPS per l'altitudine + + + + Display altitude in toolbar + Mostra l'altitudine sulla barra + + + + Various + + + + + mAh count + + + + + FAS Offset + + + + + Persistent mAh + + + + + TelemetryAnalog + + + Form + + + + + Unit + Unità + + + + Max Value + Valore MAX + + + + Alarm 1 + Allarme 1 + + + + + ---- + ---- + + + + + Yellow + Giallo + + + + + Orange + Arancione + + + + + Red + Rosso + + + + + < + < + + + + + > + > + + + + Alarm 2 + Allarme 2 + + + + Min Value + Valore Min + + + + Volts (V) + Voltaggio (V) + + + + Amps (A) + Corrente (A) + + + + Speed (m/s or ft/s) + Velocità (m/s o ft/s) + + + + Raw (-) + Grezza (-) + + + + Speed (km/h or miles/h) + Velocità (km/h o miglia/h) + + + + Meters (m or ft) + Metri (m o ft) + + + + Temp (°) + Temperatura (°) + + + + Fuel (%) + Carburante (%) + + + + mAmps (mA) + Corrente (mA) + + + + Range + Intervallo + + + + TelemetryCustomScreen + + + Form + + + + + Custom Screen Type + Tipo schermo personalizzato + + + + Nums + Valori + + + + Bars + Barre + + + + Min + Min + + + + Source + Sorgente + + + + Gauge + Barra + + + + Max + Max + + + + TelemetryPanel + + + Telemetry screen %1 + + + + + Winged Shadow How High + Winged Shadow How High + + + + Winged Shadow How High (not supported) + Winged Shadow How High (non supportato) + + + + Timer + + + Form + + + + + mm:ss + mm:ss + + + + Countdown + + + + + MinuteBeep + Suono al minuto + + + + Persistent + Persistente + + + + (00:00:00) + + + + + TimerPanel + + + None + Nessuno + + + + Beeps + + + + + Countdown + + + avrOutputDialog @@ -7748,33 +8533,33 @@ utilizzatelo solo se sapete cosa state facendo. Non viene fatto alcun controllo Porta seriale per sam-ba - + DFU-UTIL Configuration DFU-UTIL Cconfiguration Configurazione DFU-UTIL - + SAM-BA Configuration SAM-BA Cconfiguration Configurazione SAM-BA - + AVRDUDE Configuration AVRDUDE Cconfiguration Configurazione AVRDUDE - - - + + + Select Location Seleziona eseguibile - - + + Companion @@ -7783,12 +8568,12 @@ utilizzatelo solo se sapete cosa state facendo. Non viene fatto alcun controllo companion9x - + <b><u>WARNING!</u></b><br>This will reset the fuses of %1 to the factory settings.<br>Writing fuses can mess up your radio.<br>Do this only if you are sure they are wrong!<br>Are you sure you want to continue? <b><u>ATTENZIONE!</u></b><br>Questa operazione ripristinerà i fuse del processore %1 ai valori di fabbrica.<br>Modificare i fuse pruo bloccare la radio.<br>Fatelo solo se siete assolutamente sicuri che siano sbagliati<br>sicuri di voler continuare ? - + <b><u>WARNING!</u></b><br>Normally CPU type is automatically selected according to the chosen firmware.<br>If you change the CPU type the resulting eeprom could be inconsistent. <b><u>Attenzione!</u></b><br>Normalmente il processore viene selezionato automaticamente in base al firmware scelto.<br>Se cambiate il tipo di processore la EEPROM potrebbe risultare incoerente. @@ -7852,7 +8637,7 @@ m2560 per le schede v4.1 - + Browse for file Apri file @@ -7898,7 +8683,7 @@ m2560 per le schede v4.1 - + Write to TX Scrivi sulla radio @@ -7935,7 +8720,7 @@ m2560 per le schede v4.1 Scrivi sulla radio - + Write firmware to TX Scrittura firmware sulla radio @@ -7944,27 +8729,27 @@ m2560 per le schede v4.1 Scrittura impostazioni sulla radio - + Open Apri - - - - - - + + + + + + Warning Avviso - + %1 is not a known firmware %1 non è un firmware conosciuto - + Burn anyway ! Forza scrittura ! @@ -7973,26 +8758,26 @@ m2560 per le schede v4.1 EEPROM File binario non valido %1, Procedere ugualmente ? - + Open Image to load Apri l'immagine da caricare - + Images (%1) Immagini (%1) - - - - - - - - - - + + + + + + + + + + Error Errore @@ -8005,7 +8790,7 @@ m2560 per le schede v4.1 Scrittura di %1 sulla radio - + Current profile Profilo Attuale @@ -8014,76 +8799,76 @@ m2560 per le schede v4.1 Scegli il documento da scrivere nella EEPROM - + Write Models and Settings to TX Scrittura impostazioni sulla radio - + Write Models and Settings in %1 to TX Scrittura impostazioni sulla radio da %1 - + Choose file to load Models and Settings from Scegli il documento di impostazioni da scrivere - + Unable to find file %1! Impossibile trovare il file %1! - - - + + + Error opening file %1: %2. Errore durante l'apertura del file %1: %2. - - - + + + Invalid binary Models and Settings File %1, Proceed anyway ? File binario delle impostazioni non valido %1, Procedere ugualmente ? - + Error reading file %1: %2. Error durante la lettura del file %1: %2. - - + + Cannot load %1. Non posso caricare %1. - + Cannot save customized firmware Errore durante la scrittura del file temporaneo - + Custom image not found Immagine personalizzata non trovata - + No firmware selected Nessun firmware selezionato - + Wrong radio calibration data in profile, Settings not patched Dati errati nel profilo, la calibrazione della radio non è stata sostituita - + Wrong radio setting data in profile, Settings not patched Dati errati nel profilo, i settaggi HW della radio non sono stati sostituiti @@ -8096,15 +8881,15 @@ m2560 per le schede v4.1 Dati errati nel profilo, i settaggi HW della radio non sono stati sostituiti - - + + Cannot write file %1: %2. Non posso scrivere il file %1: %2. - + Error writing file %1: %2. Errore durante la scrittura del file %1: @@ -8245,14 +9030,14 @@ m2560 per le schede v4.1 - + - - - - - - + + + + + + Switch @@ -8303,10 +9088,10 @@ m2560 per le schede v4.1 - - - - + + + + Offset Spostamento @@ -8314,8 +9099,8 @@ m2560 per le schede v4.1 - - + + Min Min @@ -8323,8 +9108,8 @@ m2560 per le schede v4.1 - - + + Max Max @@ -8340,8 +9125,8 @@ m2560 per le schede v4.1 - - + + CH CH @@ -8375,72 +9160,62 @@ m2560 per le schede v4.1 - + Weight Peso - - Expo - Espo + Espo - - - - - - + + Curve Curva - + Mixers Miscelazioni - - + + noTrim noTrim - - FMTrim - FMTrim + FMTrim - - Diff - Diff + Diff - - + + Delay(u%1:d%2) Ritarda(s%1:g%2) - - + + Slow(u%1:d%2) Rallenta(s%1:g%2) - - + + Warn Avviso - + - - + + DISABLED DISABILITATO @@ -8451,128 +9226,121 @@ m2560 per le schede v4.1 Modello senza nome - + Curves Curve - + 5 Points Curves Curve a 5 Punti - - - - + + + + pt %1 pt %1 - + 9 Points Curves Curve a 9 Punti - Custom Switches - Interruttori personalizzati + Interruttori personalizzati - - - CS - - - - - + + Function Funzione - - + + Param Parametro - - + + Enable Abilita - + CF CF - + Telemetry Settings Impostazioni telemetria - - + + Analog Analogico - - + + Unit Unità - - + + Scale Campo di misura - - - - + + + + A%1 A%1 - - + + Alarm 1 Allarme 1 - - + + Alarm 2 Allarme 2 - - - - + + + + Type Tipo - - - - + + + + Condition Condizione - - - - - - + + + + + + Value Valore @@ -8585,74 +9353,89 @@ m2560 per le schede v4.1 Nome fase di volo - + - - + + Flight modes Fasi di volo - + - - + + Flight mode Fase di volo - Custom Functions - Funzioni personalizzate + Funzioni personalizzate - - + + Repeat Ripeti - + Safety Switches Interruttori di sicurezza - - + + RSSI Alarm - - + + Telemetry Bars Barre Telemetria - - + + Bar Number Numero Barra - - + + Source Sorgente - - + + Custom Telemetry View Schermata personalizzata dati telemetrici - + + Logical Switches + + + + + + LS + + + + + Switch Assignment + + + + Print Document Stampa documento - + Select PDF output file Scegliere il nome del file PDF @@ -8665,24 +9448,22 @@ m2560 per le schede v4.1 Dialogo - + People who have contributed to this project Persone che hanno contribuito a questo progetto - + Coders Programmatori e grafici - - Honors go to Rafal Tomczak (RadioClone) and Thomas Husterer (th9x) -of course. Also to Erez Raviv (er9x) and the fantastic eePe program -which was the staring point for OpenTX Companion. + + Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) - + Companion Release Notes @@ -8695,12 +9476,12 @@ Anche a Erez Raviv (er9x) e al fantastico eePe dal quale è stato derivato companion9x. - + Thank you all !!! Grazie a tutti !!! - + Contributors Amici e Programmatori @@ -8709,7 +9490,7 @@ companion9x. informazioni su aggiornamenti Companion9x - + OpenTX Release Notes informazioni su aggiornamenti OpenTX @@ -8752,7 +9533,7 @@ companion9x. - + Save Firmware Salva firmware @@ -8766,80 +9547,80 @@ p, li { white-space: pre-wrap; } - - - + + + Select an original firmware file Seleziona un firmware (possibilmente non modificato) - + Open Apri - + Select an image to customize your splash <br />or save actual firmware splash Selezionare un'immagine personalizzata <br/>o salvare l'immagine nel firmware caricato - - - - + + + + Error Errore - + Could not find bitmap to replace in file Immagine non trovata nel firmware - + Open Image to load Apri l'immagine da caricare - + Images (%1) Immagini (%1) - - + + Cannot load %1. Non posso caricare %1. - - + + Save your custimized firmware Salva il firmware personalizzato - - + + Write to file Scrivi in un file - + Error reading file %1 Error durante la lettura del file %1 - + Firmware correctly saved. Firmware salvato correttamente. - + Firmware not saved. Firmware non slavato correttamente. - + PNG images (*.png);; Immagini PNG (*.png);; @@ -9292,17 +10073,17 @@ Premere annulla per cancellare l'operazione %2. - + Select your log file Selezionare il file di log - + Available fields Campi disponibili - + The selected logfile contains %1 invalid lines out of %2 total lines Il file di log selezionato contiene %1 righe errate su un totale di %2 righe @@ -9310,7 +10091,7 @@ Premere annulla per cancellare l'operazione mdiChild - + Simulate Tx Simula TX @@ -9760,48 +10541,47 @@ Premere annulla per cancellare l'operazione Preferenze - + Language (requires restart) Lingua (richiede il riavvio) - + Firmware Firmware - + Check for updates on startup Controllo aggiornamenti all'avvio - + FwInfo - Show Splash Screen - Mostra schermata iniziale + Mostra schermata iniziale - + Recent History Size File recenti - - + + Download Scarica - + Default Channel Order Ordine canali predefinito - + Channel order This is used by the templated to determine which channel goes to what number output. @@ -9810,12 +10590,12 @@ This is used by the templated to determine which channel goes to what number out Utilizzato dai Modelli per stabilire quale uscita viene assegnata ai canali. - + Default Stick Mode Modalità Stick - + Mode selection: Mode 1: @@ -9856,63 +10636,63 @@ Mode 4: - - + + ... - + Enable Abilita - + Calibrate Calibrazione - - - - + + + + Open Folder Apri Cartella - + Automatic Backup Folder Cartella per backup - + Set language of voice. May be different from firmware language Impostazione del linguaggio della voce. Può essere differente dalla lingua del firmware - + Voice Voce - + Ask for flashing after Download Scrivere dopo aggiornamento - + Export Profile Esporta Profilo - + Import Profile Importa Profilo - + Custom TX splash screen Schermo personalizzato @@ -9921,218 +10701,279 @@ Può essere differente dalla lingua del firmware Cartella per backup - + auto backup before write Esegui backup prima di ogni scrittura - + Automatically add version number to the filename after download Aggiungi automaticamente il numero di versione al nome del file dopo il download - + SD Structure path Cartella Struttura Scheda SD - + Processor ID ID del processore - + Simulator capture folder Cartella per cattura schermate - + Use clipboard only Usa solo gli appunti - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CheckBox CheckBox - + Check for updates Verifica aggiornamenti - + Check for selected Fw updates Controlla aggiornamenti Fw - + Ask use of wizard for new models Chiedi l'utilizzo dell'assistente per i nuovi modelli - + Remember switches in simulator Ricorda la posizione degli switches nel simulatore - + Mode 1 (RUD ELE THR AIL) Modo 1 (DIR ELE MOT ALE) - + Mode 2 (RUD THR ELE AIL) Modo 2 (DIR MOTO ELE ALE) - + Mode 3 (AIL ELE THR RUD) Modo 3 (ALE ELE MOT DIR) - + Mode 4 (AIL THR ELE RUD) Modo 4 (ALE MOT ELE DIR) - + Profile slot Profilo personalizzato - + Find Executable - + Google Earth Executable - + Profile Name Descrizione - + Save Profile Salva Profilo - + Blue Blu - + Language Lingua - + Green Verde - + + Show Splash At Start + + + + Red Rosso - + Orange Arancione - + Yellow Giallo - + Personal splash library Libreria sfondi personale - + Splash library behaviour Caratteristiche libreria sfondi - + Include companion splashes Includi sfondi predefiniti - + Only user defined splashes Solamente sfondi utente - + + Theme + + + + + + Requires restart + + + + + Classic + + + + + Monochrome + + + + + MonoWhite + + + + + MonoBlue + + + + + Icon size + + + + + Small + + + + + Normal + Normale + + + + Big + + + + + Huge + + + + Joystick Joystick - + Open Image Apri immagine - + Invert Pixels Negativo - + Simu BackLight Colore Retroilluminazione - + Last downloaded release: %1 Ultima versione scaricata: %1 @@ -10145,48 +10986,48 @@ Può essere differente dalla lingua del firmware Il firmware selezionato non può essere scaricato da companion9x. - + Image stored in settings Immagine predefinita - - + + No joysticks found Nessun joystick trovato - + Select your Models and Settings backup folder Selezionare la cartella per i backup - + Select Google Earth executable - + Profile name is empty, profile slot %1 will be deleted.<br>Are you sure ? La descrizione del profilo è vuota. Il profilo %1 sarà cancellato.<br>Siete sicuri ? - + Select your library folder Selezionare la cartella degli sfondi - + The selected firmware has never been downloaded by Companion. - + The selected firmware cannot be downloaded by Companion. - + Select your snapshot folder Selezionare la cartella per le schermate del simulatore @@ -10195,44 +11036,44 @@ Può essere differente dalla lingua del firmware Selezionare la cartella per i backup - + Select the folder replicating your SD structure Selezionare la cartella contenente la struttura della scheda SD - + Export profile As Esporta il profilo come - + Profile slot is not empty, profile slot %1 will we overwritten.<br>Are you sure ? La descrizione del profilo è vuota. Il profilo %1 sarà sovrascritto.<br>Siete sicuri ? - + Open Profile to import Apri il profile da importare - + Open Image to load Apri l'immagine da caricare - + Images (%1) Immagini (%1) - - + + Error Errore - - + + Cannot load %1. Non posso caricare %1. @@ -10276,9 +11117,9 @@ Può essere differente dalla lingua del firmware - - - + + + Name Nome @@ -10315,7 +11156,7 @@ Può essere differente dalla lingua del firmware - + Enabled Abilitato @@ -10367,10 +11208,10 @@ Può essere differente dalla lingua del firmware - - - - + + + + Switch Int. @@ -10380,24 +11221,23 @@ Può essere differente dalla lingua del firmware Nome fase di volo - - + + Flight modes Fasi di volo - - + + Flight mode Fase di volo - CF - CF + CF - + 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 (*) @@ -10412,23 +11252,38 @@ Può essere differente dalla lingua del firmware Usc. - Diff - Diff + Diff - - + + DISABLED DISABILITATO - + + Logical Switches + + + + + + LS + + + + + Switch Assignments + + + + Parameter Parametro - + Scale Campo di misura @@ -10451,188 +11306,167 @@ Può essere differente dalla lingua del firmware Peso - - - - Expo - Esponenziale + Esponenziale - - - - - - - + + + Curve Curva - + Mixers Miscelazioni - - - - - + + + + + CH CH - + noTrim noTrim - - - - - + + + + + Offset Spostamento - + Delay(u%1:d%2) Ritarda(s%1:g%2) - + Slow(u%1:d%2) Rallenta(s%1:g%2) - + Warn Avviso - - - CS - - - - + Select PDF output file Scegliere il nome del file PDF - + Limits Limiti - FMTrim - FMTrim + FMTrim - - - - + + + + Min Min - - - - + + + + Max Max - - - + + + Invert Invers - - - + + + INV INV - - - + + + NOR NOR - + Curves Curve - 5 Points Curves - Curve a 5 Punti + Curve a 5 Punti - - - + pt %1 pt %1 - 9 Points Curves - Curve a 9 Punti + Curve a 9 Punti - Custom Switches - Interruttori personalizzati + Interruttori personalizzati - + Global Variables Variabili Globali - + GV VG - + Safety Switches Interruttori di sicurezza - - - - - + + + + + Value Valore - Function Switches - Interruttori di funzione + Interruttori di funzione - + Function Funzione - + Repeat Ripeti @@ -10641,96 +11475,96 @@ Può essere differente dalla lingua del firmware FSW - + Telemetry Settings Impostazioni telemetria - - + + Alarm 1 Allarme 1 - - + + Alarm 2 Allarme 2 - + Analog Analogico - + Unit Unità - - - - + + + + Type Tipo - - - - + + + + Condition Condizione - + A%1 A%1 - + RSSI Alarm Allarmi RSSI - + Frsky serial protocol Protocollo seriale FrSky - + System of units Sistema di misura - + Propeller blades Pale dell'elica - + Telemetry Bars Barre Telemetria - + Bar Number Numero Barra - + Source Sorgente - - + + Custom Telemetry View Schermata personalizzata dati telemetrici - + Print Document Stampa documento @@ -10742,17 +11576,17 @@ Può essere differente dalla lingua del firmware companion9x - + P1 P1 - + P2 P2 - + P3 P3 @@ -10770,7 +11604,7 @@ Può essere differente dalla lingua del firmware - + Right Double Click to Reset Doppio click con il destro per portare a 0 @@ -10791,33 +11625,33 @@ Può essere differente dalla lingua del firmware - + Hold X Tieni X - + Fix X Fissa X - + Fix Y Fissa Y - + Hold Y Tieni Y - - + + TextLabel TextLabel @@ -10837,24 +11671,24 @@ Può essere differente dalla lingua del firmware ID0 - + ID1 ID1 - + ID2 ID2 - - - + + + 0 % - + 9x Simulator Simulatore 9x @@ -10865,268 +11699,396 @@ Può essere differente dalla lingua del firmware - CS1 - CS1 + LS1 + - CS2 - CS2 + LS2 + - CS3 - CS3 + LS3 + - CS4 - CS4 + LS4 + - CS5 - CS5 + LS5 + - CS6 - CS6 + LS6 + - CS7 - CS7 + LS7 + - CS8 - CS8 + LS8 + - CS9 - CS9 + LS9 + - CSA - CSA + LSA + - CSB - CSB + LSB + - CSC - CSC + LSC + - CSD - CSD + LSD + - CSE - CSE + LSE + - CSF - CSF + LSF + - CSG - CSG + LSG + - CSH - CSH + LSH + + LSI + + + + + LSJ + + + + + LSK + + + + + LSL + + + + + LSM + + + + + LSN + + + + + LSO + + + + + LSP + + + + + LSQ + + + + + LSR + + + + + LSS + + + + + LST + + + + + LSU + + + + + LSV + + + + + LSW + + + + CS1 + CS1 + + + CS2 + CS2 + + + CS3 + CS3 + + + CS4 + CS4 + + + CS5 + CS5 + + + CS6 + CS6 + + + CS7 + CS7 + + + CS8 + CS8 + + + CS9 + CS9 + + + CSA + CSA + + + CSB + CSB + + + CSC + CSC + + + CSD + CSD + + + CSE + CSE + + + CSF + CSF + + + CSG + CSG + + + CSH + CSH + + CSI - CSI + CSI - CSJ - CSJ + CSJ - CSL - CSL + CSL - CSM - CSM + CSM - CSN - CSN + CSN - CSO - CSO + CSO - CSP - CSP + CSP - CSQ - CSQ + CSQ - CSR - CSR + CSR - CSS - CSS + CSS - CST - CST + CST - CSU - CSU + CSU - CSV - CSV + CSV - + BEEP SUONO - CSK SWK - CSK + CSK - CSW SWW - CSW + CSW - + CH1 CH1 - + CH9 CH9 - + CH2 CH2 - + CH10 CH10 - + CH3 CH3 - + CH11 CH11 - + CH4 CH4 - + CH12 CH12 - + CH5 CH5 - + CH13 CH13 - + CH6 CH6 - + CH14 CH14 - + CH7 CH7 - + CH15 CH15 - + CH8 CH8 - + CH16 CH16 - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + -100.1 -100.1 @@ -11170,33 +12132,33 @@ Può essere differente dalla lingua del firmware splashLibrary - + ... - + Splash Library - page %1 of %2 Libreria sfondi - pagina %1 di %2 - + Warning Avviso - + Invalid image in library %1 Immagine corrotta nella libreria %1 - + Information Informazione - + No valid image found in library, check your settings Nessuna immagine trovata nella libreria, controllate le impostazioni @@ -11331,13 +12293,13 @@ Può essere differente dalla lingua del firmware Uscite - + CSK SWK CSK - + CSW SWW CSW @@ -11359,16 +12321,16 @@ Può essere differente dalla lingua del firmware - - - - - - - - - - + + + + + + + + + + -100.1 -100.1 @@ -11403,197 +12365,197 @@ Può essere differente dalla lingua del firmware CH4 - + CH12 CH12 - + CH5 CH5 - + CH13 CH13 - + CH6 CH6 - + CH14 CH14 - + CH7 CH7 - + CH15 CH15 - + CH8 CH8 - + CH16 CH16 - + CSC CSC - + CSD CSD - + CS7 CS7 - + CSL CSL - + CSB CSB - + CS1 CS1 - + CSH CSH - + CSG CSG - + CSE CSE - + CSF CSF - + CS8 CS8 - + CS9 CS9 - + CSA CSA - + CSM CSM - + CSJ CSJ - + CSI CSI - + CS4 CS4 - + CS5 CS5 - + CS2 CS2 - + CS3 CS3 - + CS6 CS6 - + CSN CSN - + CSO CSO - + CSP CSP - + CSQ CSQ - + CSR CSR - + CSS CSS - + CST CST - + CSU CSU - + CSV CSV @@ -11614,22 +12576,22 @@ Può essere differente dalla lingua del firmware Non riesco ad aprire il joystick, supporto joystick disabilitato - + Firmware %1 error: %2 Firmware %1 errore: %2 - + - Flight mode: %1(%2) - Fase di Volo: %1(%2) - + Simulating Tx (%1) Simulazione Tx (%1) - + Simulating Simulazione in corso diff --git a/companion/src/translations/companion_pl.ts b/companion/src/translations/companion_pl.ts index e4e822e8b..1a2009899 100644 --- a/companion/src/translations/companion_pl.ts +++ b/companion/src/translations/companion_pl.ts @@ -9238,7 +9238,7 @@ Mode 4: - + Right Double Click to Reset Powójne kliknięcie RP myszy w celu zresetowania @@ -9264,33 +9264,33 @@ Mode 4: - + Hold X Przytrzymaj X - + Fix X Zablokuj X - + Fix Y Zablokuj Y - + Hold Y Zablokuj Y - - + + TextLabel @@ -9310,199 +9310,329 @@ Mode 4: - + ID1 - + ID2 - + P1 Potencjometr1 - - - + + + 0 % - + P2 Potencjometr2 - + P3 Potencjometr3 - + 9x Simulator Symulator 9x - + Outputs Wyjścia - + + LS1 + PL1 + + + + LS2 + PL2 + + + + LS3 + PL3 + + + + LS4 + PL4 + + + + LS5 + PL5 + + + + LS6 + PL6 + + + + LS7 + PL7 + + + + LS8 + PL8 + + + + LS9 + PL9 + + + + LSA + PLA + + + + LSB + PLB + + + + LSC + PLC + + + + LSD + PLD + + + + LSE + PLE + + + + LSF + PLF + + + + LSG + PLG + + + + LSH + PLH + + + + LSI + PLI + + + + LSJ + PLJ + + + + LSK + PLK + + + + LSL + PLL + + + + LSM + PLM, + + + + LSN + PLN + + + + LSO + PLO + + + + LSP + PLP + + + + LSQ + PLQ + + + + LSR + PLR + + + + LSS + PLS + + + + LST + PLT + + + + LSU + PLU + + + + LSV + PLV + + + + LSW + PLW + + CS1 - PL1 + PL1 - CS2 - PL2 + PL2 - CS3 - PL3 + PL3 - CS4 - PL4 + PL4 - CS5 - PL5 + PL5 - CS6 - PL6 + PL6 - CS7 - PL7 + PL7 - CS8 - PL8 + PL8 - CS9 - PL9 + PL9 - CSA - PLA + PLA - CSB - PLB + PLB - CSC - PLC + PLC - CSD - PLD + PLD - CSE - PLE + PLE - CSF - PLF + PLF - CSG - PLG + PLG - CSH - PLH + PLH - CSI - PLI + PLI - CSJ - PLJ + PLJ - CSL - PLL + PLL - CSM - PLM + PLM - CSN - PLN + PLN - CSO - PLO + PLO - CSP - PLP + PLP - CSQ - PLQ + PLQ - CSR - PLR + PLR - CSS - PLS + PLS - CST - PLT + PLT - CSU - PLU + PLU - CSV - PLV + PLV - + BEEP Zvuk @@ -9512,114 +9642,112 @@ Mode 4: Symulator Companion - CSK SWK - PLK + PLK - CSW SWW - PLW + PLW - + CH1 Kanał 01 - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + -100.1 - + CH9 Kanał 09 - + CH2 Kanał 02 - + CH10 Kanał 10 - + CH3 Kanał 03 - + CH11 Kanał 11 - + CH4 Kanał 04 - + CH12 Kanał 12 - + CH5 Kanał 05 - + CH13 Kanał 13 - + CH6 Kanał 06 - + CH14 Kanał 14 - + CH7 Kanał 07 - + CH15 Kanał 15 - + CH8 Kanał 08 - + CH16 Kanał 16 diff --git a/companion/src/translations/companion_pt.ts b/companion/src/translations/companion_pt.ts index 97da176bb..19ffdc4cd 100644 --- a/companion/src/translations/companion_pt.ts +++ b/companion/src/translations/companion_pt.ts @@ -1,6 +1,375 @@ + + Channels + + + Name + Nome + + + + Offset + + + + + Min + Min + + + + Max + Max + + + + Invert + Inverter + + + + Center + + + + + Sym + + + + + Channel %1 + + + + + --- + + + + + INV + INV + + + + CurveGroup + + + Diff + + + + + Expo + + + + + Func + + + + + Curve + Curva + + + + Curves + + + Form + + + + + Standard + + + + + Custom + + + + + Lines + + + + + Smooth + + + + + Curve type + + + + + Curve name + + + + + Curve %1 + Curva %1 + + + + %1 points + + + + + Are you sure you want to reset curve %1 ? + + + + + Editing curve %1 + + + + + Not enough free points in EEPROM to store the curve. + + + + + CustomFunctionsPanel + + + Switch + Interruptor + + + + Action + + + + + Parameters + + + + + Enable + + + + + ON + + + + + Error + Erro + + + + Unable to find sound file %1! + + + + + &Delete + + + + + Delete + + + + + &Copy + &Copiar + + + + Ctrl+C + Ctrl+C + + + + &Cut + + + + + Ctrl+X + + + + + &Paste + Co&lar + + + + Ctrl+V + Ctrl+V + + + + CustomSwitchesPanel + + + Condition + + + + + V1 + + + + + V2 + + + + + AND + + + + + Duration + + + + + Delay + Atraso + + + + + LS%1 + + + + + &Delete + + + + + Delete + + + + + &Copy + &Copiar + + + + Ctrl+C + Ctrl+C + + + + &Cut + + + + + Ctrl+X + + + + + &Paste + Co&lar + + + + Ctrl+V + Ctrl+V + + + + Dialog + + + Dialog + Dialogo + + + + Curve type + + + + + Coefficient + + + + + Both + + + + + x>0 + + + + + x<0 + + + + + Y at X=0 + + + + + Side + + + + + Y at X=-100 + + + + + Y at X=100 + + + + + Linear + + + + + Single Expo + + + + + Symmetrical f(x)=-f(-x) + + + + + Symmetrical f(x)=f(-x) + + + ExpoDialog @@ -8,132 +377,290 @@ Dialogo - - Expo - - - - + Weight Peso - Name - Nome + Nome - - - + + GV - - - Phase used by the expo. + + The source for the mixer + A fonte para a mistura + + + + Input name - + + Phase used by the input. + + + + Flight modes - + 0 - + 1 - + 2 - + 3 - + 4 - + 5 - + 6 - + 7 - + 8 - + Switch Interruptor - - Switch used by the expo. -If blank then the expo is considered to be "ON" all the time. + + Switch used by the input. +If blank then the input is considered to be "ON" all the time. - - Curve/Exponential + + The curve used by the input - + + Source + Fonte + + + + Line name + + + + Stick Side - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Delay ans Slow</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These values control the speed and delay of the output of the mix. </p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> + + + + + Scale + + + + + Include Trim + Incluir Ajustes (Trim) + + + + No + + + + + Yes + + + + Curve Curva - - The curve used by the expo - - - - + NEG - + POS - + ALL - - DEST -> %1 + + Edit %1 + + + + + Rud + + + + + Ele + + + + + Thr + + + + + Ail + + + + + FlightMode + + + Form + + + + + Fade In + + + + + Fade Out + + + + + Name + Nome + + + + Switch + Interruptor + + + + trim1 + + + + + trim2 + + + + + trim4 + + + + + trim3 + + + + + Rud + + + + + Ele + + + + + Thr + + + + + Ail + + + + + Rotary Encoder %1 + + + + + GVAR%1 + + + + + FlightModes + + + Flight Mode %1 + + + + + (%1) + + + + + (default) @@ -156,13 +683,13 @@ These will be relevant for all models in the same EEPROM. Parâmetros - + Contrast Contraste - - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -172,12 +699,12 @@ p, li { white-space: pre-wrap; } - + Battery Warning Alerta de Bateria - + Battery warning voltage. This is the threashhold where the battery warning sounds. @@ -185,17 +712,17 @@ Acceptable values are 5v..10v - + v v - + Battery Calibration Calibração da Bateria - + Battery calibration: This value will be added to the measured battery voltage. Use this value to calibrate the meter with an external meter. @@ -205,7 +732,7 @@ This value will be added to the measured battery voltage. Use this value to cal Interruptor de Retro-iluminação - + This is the switch selectrion for turning on the backlight (if installed). @@ -216,51 +743,42 @@ This value will be added to the measured battery voltage. Use this value to cal Desligar Retro-iluminação depois de - + If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. - - + + sec seg. - + Inactivity Timer Temporizador de Inatividade - + If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes. - + min min. - Reverse Throttle Operation - Inverter Acelerador + Inverter Acelerador - - Reverse throttle operation. -If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. - - - - - - + Timer Beeps Sons do Temporizador - + <!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; } @@ -269,22 +787,22 @@ p, li { white-space: pre-wrap; } - + Every Minute Todos os Minutos - + Beeps at 30, 15, 10, and down from5 seconds Soar aos 30, 15, 10 e a descontar a partir de 5 segundos - + Count Down to Zero Contar até Zero - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -293,257 +811,246 @@ p, li { white-space: pre-wrap; } - + Flash on beep Piscar Ecrã com os Sons - + Alarm Warning - - + + Quiet - - + + No Keys - - + + Normal - - + + Long - + Input Filter Filtro de Entrada - + Single Simples - + Oversample Oversample - + Filter Filtro - + Owner Name - + - - - + + Off - - Switches Up - - - - - Switches Down - - - - + Trainer - - + + PPM 1 + - - - + + chn1 + - - - + + chn2 + - - - + + chn3 + - - - + + chn4 - + Mode - + Telemetry NO DATA Alarm - + Show Owner Name on Splash - + Sound Mode - + Beeper - + Speaker Pitch (spkr only) - + Only Alarms - - + + All - + Pot Scrolling Enable - + Bandgap Measuring Enable - + THR THR - + RUD RUD - + ELE ELE - + AIL AIL - + GEA GEA - + ID0 ID0 - + ID1 ID1 - + ID2 ID2 - + Beeper Length - - + + X-Short - - + + Short - - + + X-Long - + Haptic Mode - + Alarms Only - + Haptic Length - + GPS Coordinates @@ -558,122 +1065,122 @@ p, li { white-space: pre-wrap; } - + Speaker - + BeeperVoice - + SpeakerVoice - + hh° (N/S) mm' ss''.dd - + NMEA - + Timeshift from UTC - + LCD Display Type - + Standard - + Optrex - + Speaker Volume - + Haptic Strength - + BackLight Brightness - + RotEnc Navigation - + BackLight Auto OFF after - + BackLight Switch - + BackLight On Stick Move - + BackLight Invert - + Country Code - + Europe - + Japan - + America - + FrSky Internal Alarm - + StickScroll - + PPMSim @@ -683,47 +1190,47 @@ p, li { white-space: pre-wrap; } - + CrossTrim - + Beep volume - + Wav volume - + Vario volume - + Background volume - + Measurement Units - + Metric - + Imperial - + FAI Mode @@ -733,273 +1240,293 @@ p, li { white-space: pre-wrap; } - + 4800 Baud - + 9600 Baud - + 14400 Baud - + 19200 Baud - + 38400 Baud - + 57600 Baud - + 76800 Baud - + 115200 Baud - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. - + Readonly Unlock - + SC - + SE - + SA - + SF - + SH - + SD - + SB - + SG - + Input - + Weight Peso - + Switch Interruptor + - - - + + += (Sum) + - - - + + := (Replace) - - + + PPM 2 - - + + PPM 3 - - + + PPM 4 - + Telemetry - + RSSI Alarm 1 - - + + ---- - - + + Yellow - - + + Orange - - + + Red - + RSSI Alarm 2 - + NO DATA Alarm - + POT 4 - - + + Negative span - - + + Mid value - - + + Positive span - + STICK 1 STICK 1 - + STICK 2 STICK 2 - + Current - + + + Pot (normal) + + + + + + Multipos Switch + + + + + S1 Type + + + + + S2 Type + + + + STICK 3 STICK 4 - + STICK 4 STICK 3 - + POT 1 - + POT 2 - + POT 3 - + Battery - + PPM Multiplier - Throttle Startup Warning - Aviso Inicial sobre Acelerador + Aviso Inicial sobre Acelerador - - - - - - + + + + + <!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; } @@ -1014,12 +1541,11 @@ p, li { white-space: pre-wrap; } - Switch Startup Warning - Aviso Inicial sobre Interruptores + Aviso Inicial sobre Interruptores - + Memory Startup Warning Aviso Inicial sobre Memória @@ -1028,20 +1554,22 @@ p, li { white-space: pre-wrap; } Modo Silencioso (sem Alarmes) - + Beeper Mode Modo dos Alarmes Sonoros - + + + - - - - - - + + + + + + Beeper volume 0 - Quiet. No beeps at all. @@ -1072,24 +1600,24 @@ p, li { white-space: pre-wrap; } 4 - Extra Longo - + Channel Order (For Templates) Ordem dos Canais (para as Mascaras) - + Channel order This is used by the templated to determine which channel goes to what number output. - + Stick Mode Modo do Emissor - + Mode selection: Mode 1: @@ -1112,38 +1640,38 @@ Mode 4: - + Mode 1 (RUD ELE THR AIL) Modo 1 (RUD ELE THR AIL) - + Mode 2 (RUD THR ELE AIL) Modo 2 (RUD THR ELE AIL) - + Mode 3 (AIL ELE THR RUD) Modo 3 (AIL ELE THR RUD) - + Mode 4 (AIL THR ELE RUD) Modo 4 (AIL THR ELE RUD) - + Show Splash Screen on Startup - - + + Show splash screen on startup - + Calibration Calibração @@ -1192,39 +1720,249 @@ Mode 4: Positivo - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. Are you sure ? - - + + Warning Aviso - + Wrong data in profile, radio calibration was not retrieved - + Wrong data in profile, hw related parameters were not retrieved - + Do you want to store calibration in %1 profile<br>overwriting existing calibration? - + Calibration and HW parameters saved. + + Heli + + + Form + + + + + Invert Elevator + + + + + Invert Aileron + + + + + Invert Collective + + + + + Invert + Inverter + + + + Off + + + + + 120 + + + + + 120X + + + + + 140 + + + + + 90 + + + + + Collective + + + + + Swash Type + + + + + Swash Ring + + + + + InputsPanel + + + + Move Up + + + + + + Ctrl+Up + + + + + + Move Down + + + + + + Ctrl+Down + + + + + Clear All Settings + + + + + Source(%1) + + + + + No Trim + + + + + Weight(%1) + + + + + Switch(%1) + + + + + Not enough available inputs! + + + + + Delete Selected Inputs? + + + + + &Add + &Adicionar + + + + Ctrl+A + Ctrl+A + + + + &Edit + &Editar + + + + Enter + Enter + + + + &Delete + + + + + Delete + + + + + &Copy + &Copiar + + + + Ctrl+C + Ctrl+C + + + + &Cut + + + + + Ctrl+X + + + + + &Paste + Co&lar + + + + Ctrl+V + Ctrl+V + + + + Du&plicate + + + + + Ctrl+U + + + + + Clear Inputs? + + + + + Really clear all the inputs? + + + MainWindow @@ -1232,10 +1970,10 @@ Are you sure ? companion9x - Editor de EEPROM - - - - + + + + File loaded Ficheiro carregado @@ -1244,11 +1982,11 @@ Are you sure ? companion9x - - - - - + + + + + Save As Gravar Como @@ -1257,27 +1995,27 @@ Are you sure ? Ficheiros EEPROM hex (*.hex);;EEPROM bin files (*.bin) - - + + No updates available at this time. - - - - - + + + + + Unable to check for updates. - + Executable (*.exe) - + Would you like to launch the installer? @@ -1286,13 +2024,13 @@ Are you sure ? Ficheiros EEPROM (*.bin *.hex);;BIN files (*.bin);;HEX files (*.hex) - + Open Abrir - - + + File saved Ficheiro gravado @@ -1313,416 +2051,428 @@ Are you sure ? Ficheiros HEX (*.hex);;BIN files (*.bin);;FLASH files (*.bin *.hex) - + Copyright - + Display previous warning again at startup ? - + New release available - - - - - - - - + + + + + + + + + + + + - - - - Error Erro - - - - - + + + + + Error opening file %1: %2. - + Compilation server termporary failure, try later - + Display previous message again at startup ? - - - + + + Companion - Models and Settings Editor - %1 - profile %2 - - - - + + + + Companion - Models and Settings Editor - %1 - + + A new release of Companion is available please check the OpenTX website! + + + + Firmware does not longer fit in the Tx, due to selected firmware options - + Compilation server temporary failure, try later - - + + Compilation server too busy, try later - - + + Unknown server failure, try later - + Firmware does not fit in the Tx, due to selected firmware options - - + + Yes - - + + No - - + + Release Notes - - + + Do you want to download release %1 now ? - + A new version of %1 firmware is available (current %2 - newer %3). Do you want to download it now ? - + Ignore this version (r%1)? - + Release notes contain very important informations. Do you want to see them now ? - + Firmware updates - + Current firmware does not provide release notes informations. - + Cannot write file %1: %2. - - - - - + + + + + Taranis radio not found - - - - + + + + Impossible to identify the radio on your system, please verify the eeprom disk is connected. - + Write Models and settings from %1 to the Tx? - - - + + + Backup is impossible - - - + + + The backup dir set in preferences does not exist - - + + Warning Aviso - + Conversion failed - + Restore failed - + Backup failed - - Version %1 (revision %2), %3 - - - - - If you've found this program useful, please support by - - - - donating - doar + doar About companion9x Sobre o companion9x - - - + + &%1 %2 &%1 %2 - %1 %2 - %1 %2 + %1 %2 - - &New - &Novo + + OpenTX Home Page: <a href='%1'>%1</a> + - - Create a new file - Criar um novo ficheiro + + The OpenTX Companion project was originally forked from <a href='%2'>eePe</a> + - - &Open... - &Abrir... + + If you've found this program useful, please support by <a href='%1'>donating</a> + - - Open an existing file - Abrir um ficheiro existente - - - - &loadBackup... + + Version %1, %3 + &New + &Novo + + + + Create a new file + Criar um novo ficheiro + + + + &Open... + &Abrir... + + + + Open an existing file + Abrir um ficheiro existente + + + + &loadBackup... + + + + Load backup from file - + &Save &Gravar - + Save the document to disk Gravar o documento no disco - + Save &As... Gravar &Como... - + Save the document under a new name Gravar o documento com um novo nome - + Lo&gs - + Ctrl+G - + Open log file - + &Preferences... &Preferências - + Edit general preferences Editar preferências gerais - + &Check for updates... - + Contributors &List... - + ChangeLog... - + Firmware ChangeLog... - + Show firmware changelog - + Compare... - + Compare models - + Customize your &TX... - + Customize the splash screen of your TX - + E&xit &Sair - + Exit the application Sair da aplicação - + Cu&t Cor&tar - + Cut the current selection's contents to the clipboard Cortar a selecção corrente para a zona de transferência - + &Copy &Copiar - + Copy the current selection's contents to the clipboard Copiar a selecção corrente para a zona de transferência - + &Paste Co&lar - + Paste the clipboard's contents into the current selection Colar o conteúdo na zona de transferência para a selecção corrente - + Configure software for reading from and writing to the transmitter - - + + Invalid Models and Settings File %1 - + Invalid binary Models and Settings File %1 @@ -1731,7 +2481,7 @@ Do you want to download it now ? &Gravar EEPROM no Rádio - + Ctrl+Alt+W Ctrl+Alt+W @@ -1744,7 +2494,7 @@ Do you want to download it now ? &Ler EEPROM do Rádio - + Ctrl+Alt+R Ctrl-Alt-R @@ -1769,7 +2519,7 @@ Do you want to download it now ? Ler memória Flash do Rádio - + &Configure... &Configurar... @@ -1778,148 +2528,136 @@ Do you want to download it now ? Configurar aplicação de gravação do Rádio - + &List programmers &Listar programadores - + List available programmers Lista os programadores disponíveis - + &Fuses... - + Show fuses dialog - + &Simulate &Simular - + Alt+S Alt+S - + Simulate selected model. Simular o modelo seleccionado - + &Print &Imprimir - + Ctrl+P Ctrl+P - + Print current model. Imprimir o modelo corrente - Cl&ose - &Fechar + &Fechar - Close the active window - Fechar a janela activa + Fechar a janela activa - Close &All - Fechar &Todas + Fechar &Todas - Close all the windows - Fechar todas as janelas + Fechar todas as janelas - &Tile - &Mosaico + &Mosaico + + + Tile the windows + Apresentar as janelas abertas em mosaico + + + &Cascade + &Cascata + + + Cascade the windows + Apresentar as janelas abertas em cascata + + + Ne&xt + &Próxima + + + Move the focus to the next window + Selecciona janela seguinte + + + Pre&vious + &Anterior + + + Move the focus to the previous window + Selecciona janela anterior - Tile the windows - Apresentar as janelas abertas em mosaico - - - - &Cascade - &Cascata - - - - Cascade the windows - Apresentar as janelas abertas em cascata - - - - Ne&xt - &Próxima - - - - Move the focus to the next window - Selecciona janela seguinte - - - - Pre&vious - &Anterior - - - - Move the focus to the previous window - Selecciona janela anterior - - - &About A&cerca - + Show the application's About box Sobre a aplicação - - + + Recent Files - + &Read/Write - + Write - + Unable to find file %1! Impossível encontrar o ficheiro %1! - + Error reading file %1: %2. @@ -1933,262 +2671,245 @@ Do you want to download it now ? Lista de contribuidores do er9x/companion9x - - Switch layout Left/Right - - - - + &File &Ficheiro - Switch layout direction - Mudar apresentação dos menus + Mudar apresentação dos menus - + Checking for updates - + A new version of Companion is available (version %1)<br>Would you like to download it? - - A new release of Companion is available please check the repository - - - - - + + Compilation server requires registration, please check OpenTX web site - + Do you want to write the firmware to the transmitter now ? - + Firmware %1 does not seem to have ever been downloaded. Version %2 is available. Do you want to download it now ? - - - - + + + + Read Models and Settings From Tx - + The file %1 has not been recognized as a valid Models and Settings file Write anyway ? - - - - - - + + + + + + Backup Models and Settings From Tx - + Cannot check Models and Settings compatibility! Continue anyway? - + The transmitter firmware belongs to another product family, check file and preferences! - + The transmitter firmware is outdated, please upgrade! - + Write Models and Settings To Tx - - + + Write Firmware To Tx - + Cannot convert Models and Settings for use with this firmware, original data will be used - + Restore Models and Settings To Tx - + Could not restore Models and Settings to TX. The models and settings data file can be found at: %1 - + Firmware write failed - + Could not write firmware to to transmitter. The models and settings data file can be found at: %1 - + Cannot backup existing Models and Settings from TX. Firmware write process aborted - + Save transmitter Models and Settings to File - + Impossible to identify the radio on your system, please verify that the eeprom disk is connected. - + Read Tx Firmware to File - - The Companion project was originally forked from eePe - - - - + About Companion - + Check for new version of Companion - + Show Companion contributors list - + Show Companion changelog - + &Write Models and Settings To Tx - + Write Models and Settings to transmitter - + &Read Models and Settings From Tx - + Read Models and Settings from transmitter - + Write Firmware - + Write firmware to transmitter - + Write Models and Settings from file to Tx - + Write Models and Settings from file to transmitter - + Save transmitter Models and Settings to file - + Save the Models and Settings from the transmitter to a file - + Read Firmware - + Read firmware from transmitter - - + + Firmware Profiles - + &Edit &Editar - &Window - &Janela + &Janela - + &Help &Ajuda - + File Ficheiro - + Edit Editar @@ -2197,12 +2918,12 @@ Write anyway ? Gravar - + Help - + Ready Pronto @@ -2222,25 +2943,25 @@ Write anyway ? Apagar Modelos Seleccionados? - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + Error Erro @@ -2253,7 +2974,7 @@ Write anyway ? Impossível aplicar modelo! - + Editing model %1: A editar o modelo %1: @@ -2267,8 +2988,8 @@ Write anyway ? documento%1.hex - - + + Unable to find file %1! Impossível encontrar o ficheiro %1! @@ -2277,8 +2998,8 @@ Write anyway ? Erro ao ler o ficheiro %1! - - + + Error reading file %1: %2. @@ -2295,119 +3016,119 @@ Write anyway ? - + Do you want to use model wizard? - - - + + + Companion - + Ask this question again ? - - - - + + + + Error opening file %1: %2. - - + + Invalid EEPROM File %1 - + Invalid binary EEPROM File %1 - - - - + + + + Save As Gravar Como - + Backup is impossible - + The backup dir set in preferences does not exist - - - + + + Taranis radio not found - - - + + + Impossible to identify the radio on your system, please verify the eeprom disk is connected. - - - + + + Backup EEPROM From Tx - + Cannot check eeprom compatibility! Continue anyway? - - + + Warning Aviso - + Firmware in radio is of a different family of eeprom written, check file and preferences! - + Firmware in flash is outdated, please upgrade! - + Write EEPROM To Tx - + Open Abrir - + Invalid binary backup File %1 - + %1 has been modified. Do you want to save your changes? @@ -2417,10 +3138,10 @@ Do you want to save your changes? Ficheiros EEPROM hex (*.hex);;EEPROM bin files (*.bin) - - - - + + + + Cannot write file %1: %2. @@ -2434,8 +3155,8 @@ Do you want to save your changes? %1 - - + + Error writing file %1: %2. @@ -2446,7 +3167,7 @@ Do you want to save your changes? Gravar %1 no Rádio? - + Cannot write temporary file! Impossível gravar ficheiro temporário! @@ -2514,57 +3235,49 @@ Do you want to save your changes? MixerDialog - + Dialog Dialogo - + Source Fonte - - - - + + + + The source for the mixer A fonte para a mistura - + Weight Peso - - Fix Offset - - - - - - + + + GV - + Switch used by the mix. If blank then the mix is considered to be "ON" all the time. The value of the mixer is multiplied by this value and divided by 100. O valor da mistura é multiplicado por este valor e dividido por 100. - - - - + Offset Desvio - + Include Trim Incluir Ajustes (Trim) @@ -2573,79 +3286,74 @@ If blank then the mix is considered to be "ON" all the time. Se escolhido vai adicionar o ajuste (trim) da fonte (se disponível) - + Curve Curva - + The curve used by the mix Curva a usar pela mistura - + Switch Interruptor - + Yes - + No - + Warning Aviso - + Name Nome - - Curve/Differential - - - - + Mixer warning. Setting this value will cause a beep to be emmitted when this value is active. - + OFF OFF - + 1 Beep 1 Beep - + 2 Beep 2 Beeo 2 Beeps - + 3 Beep 3 Beeps - + Multiplex Multiplexar - + Multiplexer This determines how mixer values are added. @@ -2656,100 +3364,95 @@ This determines how mixer values are added. - + ADD ADICIONAR - + MULTIPLY MULTIPLICAR - + REPLACE SUBSTITUIR - + Flight modes - + Include DR/Expo - + 0 - + 1 - + 2 - + 3 - + 4 - + 5 - + 6 - + 7 - + 8 - - Enable FM Trim - - - - + Delay Atraso - + Slow Lento - + Up Cima - - - - + + + + <!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; } @@ -2764,63 +3467,252 @@ p, li { white-space: pre-wrap; } - + Down Baixo - + DEST -> X%1 - + DEST -> CH%1%2 DEST -> CH%1%2 - - - FM Trim Value - - - - + Rud - + Ele - + Thr - + Ail + + MixesPanel + + + + Move Up + + + + + + Ctrl+Up + + + + + + Move Down + + + + + + Ctrl+Down + + + + + Clear Mixes + + + + + + + X%1 + + + + + + + CH%1%2 + CH%1%2 + + + + Weight(%1) + + + + + Switch(%1) + + + + + No Trim + + + + + No DR/Expo + + + + + Offset(%1) + + + + + Delay(u%1:d%2) + Atraso(u%1:d%2) + + + + Slow(u%1:d%2) + Lento(u%1:d%2) + + + + Warn(%1) + Aviso(%1) + + + + Not enough available mixers! + + + + + Delete Selected Mixes? + Apagar misturas selecionadas? + + + + &Add + &Adicionar + + + + Ctrl+A + Ctrl+A + + + + &Edit + &Editar + + + + Enter + Enter + + + + &Delete + + + + + Delete + + + + + &Copy + &Copiar + + + + Ctrl+C + Ctrl+C + + + + &Cut + + + + + Ctrl+X + + + + + &Paste + Co&lar + + + + Ctrl+V + Ctrl+V + + + + Du&plicate + + + + + Ctrl+U + + + + + Clear Mixes? + + + + + Really clear all the mixes? + + + ModelEdit - + Dialog Dialogo - + Setup Configuração - + + Heli + + + + + Inputs + + + + + Logical Switches + + + + + Switch Assignment + + + Model Name - Nome do Modelo + Nome do Modelo Timer Mode @@ -2831,263 +3723,121 @@ p, li { white-space: pre-wrap; } Direcção do Temporizador - - Count Down - Contagem regressiva + Contagem regressiva - - Count Up - Contagem progressiva + Contagem progressiva Timer Value Valor Inicial do Temporizador - - mm:ss - mm:ss + mm:ss - Trim Increment - Incremento nos Ajustes (trims) + Incremento nos Ajustes (trims) - Exponential - Exponencial + Exponencial - Extra Fine - Extra-fino + Extra-fino - Fine - Fino + Fino - Medium - Médio + Médio - Coarse - Aberto + Aberto - Throttle Trim - Ajuste (trim) do Acelerador + Ajuste (trim) do Acelerador - Throttle Expo - Exponencial do Acelerador + Exponencial do Acelerador instaTrim Switch Interruptor "instaTrim" - Center beep - Sons ao centrar + Sons ao centrar - - - - - - - - - RUD - RUD + RUD - - - - - - - - - - - - ELE - ELE + ELE - - - - - THR - THR + THR - - - - - - - - - - AIL - AIL + AIL - P1 - P1 + P1 - P2 - P2 + P2 - P3 - P3 + P3 - Pulse Shift (polarity) - Polaridade (pulse shift) + Polaridade (pulse shift) - - - Positive - Positiva + Positiva - - - Negative - Negativa + Negativa - - - Protocol - Protocolo + Protocolo - - - + Channels Canais - - - - - - ch - ch + ch ppm Delay Atraso ppm - - - usec - useg - - - - Extended Limits - - - - - - Heli Setup - - - - - Swash Type - - - - - - Off - - - - - 120 - - - - - 120X - - - - - 140 - - - - - 90 - - - - - Collective - - - - - Swash Ring - - - - - Invert Elevator - - - - - Invert Aileron - - - - - Invert Collective - + useg Expo/Dr @@ -3130,25 +3880,13 @@ p, li { white-space: pre-wrap; } Elevador - + Mixes Misturas - Limits - Limites - - - - Clear All Curves - Clear All Mixes - - - - - Custom switches - + Limites CSwitch7 @@ -3178,31 +3916,8 @@ p, li { white-space: pre-wrap; } CSwitch12 - - Safety Switches - - - - - - - - - - - - - - - - Switch - Interruptor - - - - Value - + Interruptor CH1 @@ -3213,40 +3928,8 @@ p, li { white-space: pre-wrap; } NOR - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - INV - INV + INV CH2 @@ -3281,1551 +3964,199 @@ p, li { white-space: pre-wrap; } CH9 - - CH10 - CH10 + CH10 - - CH11 - CH11 + CH11 - - CH12 - CH12 + CH12 - - CH13 - CH13 + CH13 - - CH14 - CH14 + CH14 - - CH15 - CH15 + CH15 - - CH16 - CH16 + CH16 - - - Channel - Canal + Canal - - - Offset - Desvio + Desvio - - - - - Min - Min + Min - - - - - Max - Max + Max - - - Invert - Inverter + Inverter - + Curves Curvas - Curve 1 - Curva 1 + Curva 1 - Curve 2 - Curva 2 + Curva 2 - - Timer1 - - - - - Timer2 - - - - - - - PPM delay - - - - - Extended Trims - - - - - Throttle2Trig - - - - - - - PPM Frame Length - - - - - - - mSec - - - - - - - - - - - - - Fade In - - - - - - - - - - - - - Fade Out - - - - - - - - - - - - - trim2 - - - - - - - - - - - - - trim1 - - - - - - DSM Type - - - - - - LP4/LP5 - - - - - - DSM2only - - - - - - DSM2/DSMX - - - - - - RX Number - - - - - CH01 - CH01 + CH01 - - CH02 - CH02 + CH02 - - CH03 - CH03 + CH03 - - CH04 - CH04 + CH04 - - CH05 - CH05 + CH05 - - CH06 - CH06 + CH06 - - CH07 - CH07 + CH07 - - CH08 - CH08 + CH08 - - CH09 - CH09 + CH09 - - - - - - - - - - trim4 - - - - - - - - - - - - - trim3 - - - - Curve 3 - Curva 3 + Curva 3 - Curve 4 - Curva 4 + Curva 4 - Curve 5 - Curva 5 + Curva 5 - Curve 6 - Curva 6 + Curva 6 - Curve 7 - Curva 7 + Curva 7 - Curve 8 - Curva 8 + Curva 8 - Curve 9 - Curva 9 + Curva 9 - Curve 10 - Curva 10 + Curva 10 - Curve 11 - Curva 11 + Curva 11 - Curve 12 - Curva 12 + Curva 12 - Curve 13 - Curva 13 + Curva 13 - Curve 14 - Curva 14 + Curva 14 - Curve 15 - Curva 15 + Curva 15 - Curve 16 - Curva 16 + Curva 16 - - - Param - - - - - Disable Throttle Warning - - - - - Switch startup Warning - - - - - Instant Trim - - - - - REa - - - - - REb - - - - - 3POS - - - - - - Check - - - - - - - ON - - - - - OFF - OFF + OFF - GEA - GEA + GEA - ID0 - ID0 + ID0 - ID1 - ID1 + ID1 - ID2 - ID2 + ID2 - - - TriggerB - - - - - Model Voice - - - - - - - - - - - - - GVAR1 - - - - - - - - - - - - - GVAR2 - - - - - - - - - - - - - GVAR3 - - - - - - - - - - - - - GVAR4 - - - - - - - - - - - - - GVAR5 - - - - - - - - - - - - - Rotary encoder B - - - - - - - - - - - - - Rotary encoder A - - - - - - Sym - - - - - - Curve type - - - - - 3 points - - - - - 3 points custom - - - - - 5 points - - - - - 5 points custom - - - - - 9 points - - - - - 9 points custom - - - - - 17 points - - - - - 17 points custom - - - - - - Duration - - - - - Delay - Atraso + Atraso - - Custom Functions - - - - + Telemetry - - Volt source - - - - - Current source - - - - - NONE - - - - - - - - A1 - - - - - - FAS - - - - - CEL - - - - - Alti - - - - - Alti+ - - - - - Vario - - - - - - Unit - - - - - - Raw (-) - - - - - Telemetry screen 1 - - - - - - - Custom Screen Type - - - - - - - Nums - - - - - - - Bars - - - - - Telemetry screen 2 - - - - - Telemetry screen 3 - - - - - - Max Value - - - - - RSSI - - - - - Alarm 1 - - - - - Serial Protocol - - - - - Units - - - - - None - - - - - FrSky Sensor Hub - - - - - Metric - - - - - ModelSetup - - - - - Model Image - - - - - - Persistent - - - - - - MinuteBeep - - - - - - CountDownBeep - - - - - SB - - - - - Throttle Source - - - - - SD - - - - - SA - - - - - SC - - - - - SG - - - - - SE - - - - - SF - - - - - RS - - - - Reverse Throttle Operation - Inverter Acelerador + Inverter Acelerador - - Reverse throttle operation. -If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. - - - - - - - Master - - - - - Slave - - - - - Trainer Mode - - - - - Master/Trainer Port - - - - - - - Start - - - - - - Polarity - - - - - RF Module 1 - - - - - RF Module 2 - - - - - - (00:00:00) - - - - - Failsafe - - - - - External module - - - - - - Failsafe Mode - - - - - - Hold - - - - - - Custom - - - - - - No Pulses - - - - - Internal Module - - - - + Flight Modes - - Flight Mode 0 (Default) - - - - - - - - - - - - - Flight Mode Name - - - - - GVAR6 - - - - - GVAR7 - - - - - FM 1 - - - - - FM 2 - - - - - FM 3 - - - - - FM 4 - - - - - FM 5 - - - - - FM 6 - - - - - FM 7 - - - - - FM 8 - - - - - Sticks - - - - - Show channels names in mixes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --- - - - - - - Center - - - - - Curve name - - - - - Curve Creator - - - - - Y at X=100 - - - - - Both - - - - - x>0 - - - - - x<0 - - - - - Linear - - - - - Single Expo - - - - - Symmetrical f(x)=-f(-x) - - - - - Symmetrical f(x)=f(-x) - - - - - Apply - - - - - Side - - - - - Y at X=-100 - - - - - Y at X=0 - - - - - Coefficient - - - - - CS9 - - - - - CSF - - - - - CSD - - - - - - AND - - - - - CS6 - - - - - CS1 - - - - - CS8 - - - - - CS7 - - - - - CSA - - - - - CSB - - - - - CSC - - - - - CS5 - - - - - CS3 - - - - - CS2 - - - - - CSE - - - - - CSG - - - - - CS4 - - - - - CST - - - - - CSM - - - - - CSP - - - - - CSH - - - - - CSO - - - - - CSN - - - - - CSQ - - - - - CSR - - - - - CSS - - - - - CSL - - - - - CSK - - - - - CSJ - - - - - CSI - - - - - CSU - - - - - CSV - - - - - CSW - - - - - Imperial - - - - - 2 - - - - - 3 - - - - - 4 - - - - - Blades - - - - - Sink Max - - - - - Climb Max - - - - - Sink Min - - - - - Climb Min - - - - - Display altitude in toolbar - - - - - - Volts (V) - - - - - - Amps (A) - - - - - - Speed (m/s or ft/s) - - - - - - Speed (km/h or miles/h) - - - - - - Meters (m or ft) - - - - - - Temp (°) - - - - - - Fuel (%) - - - - - - mAmps (mA) - - - - - - Source - Fonte - - - - - - Gauge - - - - - - - Gauge 1 - - - - - - - Gauge 2 - - - - - - - Gauge 3 - - - - - - - Gauge 4 - - - - - - Alarm 1 - - - - - - Enable - - - - - Altimetry / Vario - - - - - Vario source - - - - - Vario limits - - - - - Use GPS as altitude source - - - - - - - - - - ---- - - - - - - - - - - Yellow - - - - - - - - - - Orange - - - - - - - - - - Red - - - - - - - - < - - - - - - - - > - - - - - - - Alarm 2 - - - - - - Min Value - - - - - - - - A2 - + Fonte Switches @@ -4856,24 +4187,8 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi CSwitch6 - - - - Function - CSwitch7 - - - - - V1 - - - - - - V2 - + CSwitch7 Source/SW1 @@ -4904,21 +4219,13 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi STICK 4 - - Templates - - - - + Simulate Simular - - - CH%1%2 - CH%1%2 + CH%1%2 %1% @@ -4945,82 +4252,21 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Curva(%1) - - Clear Mixes - - - - - S1 - - - - - S2 - - - - - LS - - - - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - - - Weight Weight(+%1%) - Peso + Peso - - - Flight modes - - - - - - Flight mode - - - - - No Trim - - - - Delay(u%1:d%2) - Atraso(u%1:d%2) + Atraso(u%1:d%2) - Slow(u%1:d%2) - Lento(u%1:d%2) + Lento(u%1:d%2) - Warn(%1) - Aviso(%1) + Aviso(%1) Curve %1 @@ -5031,582 +4277,346 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi companion9x - - - Expo - - - - - - DISABLED - - - - - Curve - Curva + Curva - - - - X%1 - - - - - No DR/Expo - - - - - FMTrim - - - - - Diff - - - - - - - - CH %1 - - - - - CF%1 - - - - Error - Erro + Erro - - Unable to find sound file %1! - - - - - Winged Shadow How High - - - - - Winged Shadow How High (not supported) - - - - - - Range - - - - - Simple 4-CH - - - - - T-Cut - - - - - Sticky T-Cut - - - - - V-Tail - - - - - Elevon\Delta - - - - - 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 - - - - - Editing curve %1 - - - - - Not enough available mixers! - - - - - Not enough available expos! - - - - Delete Selected Mixes? - Apagar misturas selecionadas? + Apagar misturas selecionadas? - - Delete Selected Expos? - - - - - &Add - &Adicionar + &Adicionar - - Ctrl+A - Ctrl+A + Ctrl+A - - &Edit - &Editar + &Editar - - Enter - Enter + Enter - - - - &Delete - &Eliminar + &Eliminar - - - - Delete - Eliminar + Eliminar - - - - &Copy - &Copiar + &Copiar - - - - Ctrl+C - Ctrl+C + Ctrl+C - - - - &Cut - &Cor&tar + &Cor&tar - - - - Ctrl+X - Ctrl+X + Ctrl+X - - - - &Paste - Co&lar + Co&lar - - - - Ctrl+V - Ctrl+V + Ctrl+V - - - Du&plicate - - - - - Are you sure you want to delete curve %1 ? - - - - - Apply Template? - - - - - Apply template "%1"? - - - - - Clear Expos? - - - - - Really clear all the expos? - - - - - - - Clear Mixes? - - - - - Really clear all the mixes? - - - - + Clear Curves? - + Really clear all the curves? - - - - - - AIL2 - - - - - - - - ELE2 - - - - - - - - - - FLAPS - - - - - - - - - - FLAP%1 - - - - - - - - PITCH - - - - - - - - - - - - GYRO - - - - - - SPOIL - - - - - - SPOIL%1 - - - - - - RUD2 - - - - - Really clear existing mixes on CH6? - - - - - Really clear existing mixes on CH5? - - - - - Not enough free points in eeprom to store the curve. - - - - - - - - Move Up - - - - - - - - Ctrl+Up - - - - - - - - Move Down - - - - - - - - Ctrl+Down - - - - - Clear Expo Settings - - D&uplicate &Duplicar - - Ctrl+U - Ctrl+U + Ctrl+U ModelsListWidget - + &Edit &Editar - + &Restore from backup - + &Model Wizard - + &Delete - + Delete - + &Copy &Copiar - + Ctrl+C Ctrl+C - + &Cut - + Ctrl+X - + &Paste Co&lar - + Ctrl+V Ctrl+V - + D&uplicate &Duplicar - + Ctrl+U - + &Use as default - + P&rint model - + Alt+R - + Alt+S Alt+S - + &Simulate model - + General Settings Parâmetros Gerais - + Delete Selected Models? Apagar Modelos Seleccionados? - - + + Cannot delete default model. - + Cannot cut default model. - + Do you want to overwrite TX general settings? - + You are pasting on an not empty model, are you sure? You are pasting on an not empty model, are you sure ? - + No free slot available, cannot duplicate + + Module + + + Form + + + + + Failsafe Mode + + + + + Start + + + + + PPM delay + + + + + usec + useg + + + + Negative + + + + + Positive + + + + + RX Number + + + + + Master + + + + + Slave + + + + + Polarity + + + + + Trainer Mode + + + + + mSec + + + + + PPM Frame Length + + + + + Label + + + + + + ch + ch + + + + Channels + Canais + + + + Hold + + + + + Custom + + + + + No Pulses + + + + + Failsafe Positions + + + + + Protocol + Protocolo + + + + ModulePanel + + + Trainer Output + + + + + Internal Radio System + + + + + External Radio Module + + + QObject @@ -5617,1509 +4627,1546 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + + Input%1 + + + + + Polish + + + + + CH%1 + CH%1 + + + No - + RotEnc A - + Rot Enc B - + Rot Enc C - + Rot Enc D - + Rot Enc E - + Safety %1 - + Trainer - + Trainer RUD - + Trainer ELE - + Trainer THR - + Trainer AIL - + Instant Trim - + Play Sound - + Start Logs - + Play Haptic - - + + --- - + Rud Trim - + Ele Trim - + Thr Trim - + Ail Trim - + Rot Enc - + English - + French - + Italian - + German - + Czech - + Slovak - + Spanish - + Portuguese - + Swedish - - CH - - - - - + + No repeat - + %1 sec - + Reset - + Vario - + Play Track - + Play Both - + Play Value - + Volume - + Backlight - + Background Music - + Background Music Pause - - Adjust GV1 - - - - - Adjust GV2 - - - - - Adjust GV3 - - - - - Adjust GV4 - - - - - Adjust GV5 - - - - + Delay %1 sec - + Duration %1 sec - - + + <font color=red><b>Inconsistent parameter</b></font> - + Value - + Decr: - + Incr: - + + Played once, not during startup + + + + %1s %1s - - Value + + Adjust GV%1 - - Source - Fonte - - - - GVAR + + Rotary Encoder + Value + + + + + Source + Fonte + + + + GVAR + + + + Increment - + !Flight mode %1 - + Flight mode %1 - + Flight mode %1 trim - + Flight mode %1 value - + Yellow - + Orange - + Red - + Winged Shadow How High - + Winged Shadow How High (not supported) - + FrSky Sensor Hub - + + None - + Imperial - + Metric - + Extra Fine Extra-fino - + Fine Fino - + Medium Médio - + Coarse Aberto - + Exponential Exponencial - + Count Up Contagem progressiva - + Count Down Contagem regressiva - + %1:%2, %1:%2, - + : %1 Channels, %2usec Delay :%1 Canais, Atraso de %3 mseg {1 ?} {2m?} {1 ?} {2u?} - + + Flight modes(%1) + + + + + Flight mode(%1) + + + + Rudder Leme - + Elevator Elevador - + Throttle Acelerador - + Aileron Aileron - - - + + + Timer1 - - - + + + Timer2 - - + + All - - + + Telemetry - - Diff - - - - - Expo - - - - + Own trim - + Own value - + Keys - + Sticks - + Keys + Sticks - + + -GV%1 - - (-GV%1) - - - - - (GV%1) - - - - - - - + + + + ---- - - RUD - RUD + RUD - - ELE - ELE + ELE - - - - + + THR THR - - AIL - AIL + AIL - - - + + + P1 P1 - - - + + + P2 P2 - - - + + + P3 P3 - - SA - - - - - SB - - - - - SC - - - - - SD - - - - - SE - - - - - SF - - - - - SG - - - - - SH - - - - + Batt - + Pwr+ - + + + LS1 + + + + + + LS2 + + + + + + LS3 + + + + + + LS4 + + + + + + LS5 + + + + + + LS6 + + + + + + LS7 + + + + + + LS8 + + + + + + LS9 + + + + + + LSA + + + + + + LSB + + + + + + LSC + + + + + + LSD + + + + + + LSE + + + + + + LSF + + + + + + LSG + + + + + + LSH + + + + + + LSI + + + + + + LSJ + + + + + + LSK + + + + + + LSL + + + + + + LSM + + + + + + LSN + + + + + + LSO + + + + + + LSP + + + + + + LSQ + + + + + + LSR + + + + + + LSS + + + + + + LST + + + + + + LSU + + + + + + LSV + + + + + + LSW + + + + + Input %1 + + + + MAX - - + + Rud - - + + Ele - - + + Thr - - + + Ail - + TrmR - + TrmE - + TrmT - + TrmA - - + + S1 - - + + S2 - - + + LS - - + + RS - + + REa - + + REb - + Alt - + Rpm - + Fuel - + Tx - + Rx - + SWR - + RSSI - + Speed - + Dist - + GPS Alt - + Cell - + Cels - + Vfas - + Curr - + Cnsp - + Powr - + AccX - + AccY - + AccZ - + HDG - + VSpd - + A1- - + A2- - + Alt- - + Alt+ - + Rpm+ - + T1+ - + T2+ - + Spd+ - + Dst+ - + Cur+ - + ACC - + Time - - - CS1 + + S11 - - - CS2 + + S12 - - - CS3 + + S13 - - - CS4 + + S14 - - - CS5 + + S15 - - - CS6 + + S16 - - - CS7 + + S21 - - - CS8 + + S22 - - - CS9 + + S23 - - - CSA + + S24 - - - CSB + + S25 - - - CSC + + S26 - - - CSD + + Diff(%1) - - - CSE + + Expo(%1) - - - CSF + + Function(%1) - - - CSG + + Curve(%1) - - - CSH + + !Curve(%1) - - - CSI - - - - - - CSJ - - - - - - CSK - - - - - - CSL - - - - - - CSM - - - - - - CSN - - - - - - CSO - - - - - - CSP - - - - - - CSQ - - - - - - CSR - - - - - - CSS - - - - - - CST - - - - - - CSU - - - - - - CSV - - - - - - CSW - - - - + ONE - + !ONE - + TRNs - + TRNl - + REAs - + REAl - - 3POS - - - - + X%1 - - + + + GV%1 - - + + Support for frsky telemetry mod - - + + Support for jeti telemetry mod - - + + Support for receiving ardupilot data - - + + Support for receiving NMEA data - + Support for telemetry easy board - - + + Support for MAVLINK devices - + Rotary Encoder use in menus navigation - + Possibility to enable FAI MODE at field - + FAI MODE always enabled - + openTx for 9X board - - - - - + + + + + Enable heli menu and cyclic mix support - - - - - - + + + + + + Enable TEMPLATES menu - - - - + + + + No splash screen - - - - - - + + + + + + Disable curves menus - - - - + + + + Support for radio modified with regular speaker - - - - - + + + + + Used if you have modified your radio with voice mode - - - - + + + + Used if you have modified your radio with haptic mode - - - - - - - - + + + + + + + + Use alternative SQT5 font - - - - + + + + Enable the throttle trace in Statistics - + EEprom write progress bar - - + + No Winged Shadow How High support - - + + No vario support - - + + No GPS support - - + + No gauges in the custom telemetry screen - + + Allow compensating for offset errors in FrSky FAS current sensors + + + + openTx for M128 / 9X board - + openTx for 9XR - + openTx for 9XR with M128 chip - + openTx for Gruvin9x board / 9X - + Support of FrSky PXX protocol - + Use FrSky Taranis sticks in a 9X/9XR - + openTx for FrSky Taranis - - + + Disable HELI menu and cyclic mix support - - + + Disable TEMPLATES menu - - + + Disable Global variables - + openTx for FrSky Taranis Rev4a - - - - - + + + + + Support for DSM2 modules - - - - - - + + + + + + PPM center adjustment in limits - - - - - - - - + + + + + + + + PPM values displayed in us - - - - - - + + + + + + Symetrical Limits - - - - - + + + + + Pots use in menus navigation - + Your radio probably uses a wrong firmware, eeprom size is 4096 but only the first 2048 are used - - - - - - + + + + + + No flight modes - - + + SmartieParts 2.2 Backlight support - - - - - - + + + + + + In model setup menus automatically set source by moving some of them - - - - - - + + + + + + In model setup menus automatically set switch by moving some of them - - - - + + + + Enable resetting values by pressing up and down at the same time - - - - - - + + + + + + No graphical check boxes and sliders - - - - - - + + + + + + Battery graph - - - - - - + + + + + + Don't use bold font for highlighting active items - - - - + + + + EEprom write Progress bar - - - - - + + + + + Imperial units - + Bluetooth interface - - - - - - + + + + + + Global variables - + Support for SD memory card - + Support for DSM2 modules using ppm instead of true serial - + openTx for Sky9x board / 9X - + Enable HELI menu and cyclic mix support - + ersky9x @@ -7188,446 +6235,147 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi CH16 - + A1 - + A2 - + T1 - + T2 - Curve - Curva + Curva - - - - - Flight modes settings on expos not exported - Phases settings on expos not exported - - - - - - - - - - - - Open9x on this board doesn't have Rotary Encoders - - - - - gruvin9x doesn't have trims as source - - - - - gruvin9x doesn't have swappable trims - - - - - gruvin9x on this board doesn't have Rotary Encoders - - - - - gruvin9x does not support Custom Switch function %1 - - - - - gruvin9x only accepts %1 expos - - - - - - gruvin9x doesn't support custom curves as curve%1, curve as been exported as fixed point - - - - - - gruvin9x doesn't support curve with %1 point as curve%2 - - - - - - - Open9x doesn't allow Curve%1 in expos - - - - - + + Simultaneous usage of expo and curves is no longer supported - - - - - - - - Flight modes settings on mixers not exported - - - - - - Flight mode settings on mixers not exported - Phases settings on mixers not exported - - - - - - - - This version of open9x does not support Custom Switch function %1 - - - - - - - - - - - - - - - - - - - - - - Open9x doesn't accept this protocol - - - - - - - - - - open9x only accepts %1 points in all curves - - - - + Simultaneous usage of expo and curves is no longer supported in open9x - - - open9x on this board doesn't have Rotary Encoders - - - - - - - - - - - - - - - - - open9x only accepts %1 expos - Gruvin9x firmware only accepts %1 expos - - - - + th9x - + er9x - + CYC%1 - + PPM%1 - + CH%1%2 CH%1 CH%1 - ID0 - ID0 + ID0 - ID1 - ID1 + ID1 - ID2 - ID2 + ID2 - - GEA - GEA + GEA - - TRN - TRN + TRN SW%1 SW%1 - - + + ON - - + + OFF OFF - - er9x doesn't have Rotary Encoders - - - - - er9x doesn't have trims as source - - - - - er9x doesn't have negative gvars as weight - - - - - er9x doesn't have negative gvars as offset - - - - - - - er9x doesn't have swappable trims - - - - - - - er9x on this board doesn't have Rotary Encoders - - - - - er9x does not support Custom Switch function %1 - - - - - - - er9x does not support this range for A1/A2 - - - - - - - er9x does not support this telemetry units - - - - - - Er9x doesn't accept this protocol - - - - - - Er9x doesn't support custom curves as curve%1, curve as been exported as fixed point - - - - - - Er9x doesn't support curve with %1 point as curve%2 - - - - - - - - + + + + Warning Aviso - - + EEPROM saved with these warnings: - - - ersky9x doesn't have Rotary Encoders - - - - - - ersky9x doesn't have trims as source - - - - - - ersky9x does not support Custom Switch function %1 - - - - - - Ersky9x doesn't accept this protocol - - - - - - - - ErSky9x doesn't support custom curves as curve%1, curve as been exported as fixed point - - - - - - - - ErSky9x doesn't support curve with %1 point as curve%2 - - - - - - + + + Simulator for this firmware is not yet available - - th9x does not support Custom Switch function %1 - - - - + th9x on this board doesn't have Rotary Encoders - - - - th9x doesn't support custom curves as curve%1, curve as been exported as fixed point - - - - - - - th9x doesn't support curve with %1 point as curve%2 - - - - - - Flight Mode 0 (Default) - - - - - - FM %1 - - - - + openTx only accepts %1 points in all curves - - - + + + OpenTX on this board doesn't accept this function - - + + OpenTX doesn't accept this protocol - + OpenTX doesn't allow this number of channels @@ -7641,6 +6389,587 @@ The OpenTX/Companion Team. + + Setup + + + Form + + + + + Model Name + Nome do Modelo + + + + Timer2 + + + + + Timer1 + + + + + Throttle Source + + + + + Switch startup Warning + + + + + Center beep + Sons ao centrar + + + + Trim Increment + + + + + ON + + + + + OFF + OFF + + + + Check + + + + + Model Image + + + + + Exponential + Exponencial + + + + Extra Fine + Extra-fino + + + + Fine + Fino + + + + Medium + Médio + + + + Coarse + Aberto + + + + Extended Limits + + + + + Extended Trims + + + + + Throttle Trim + + + + + Throttle Warning + + + + + Reverse throttle operation. +If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. + + + + + + + Reverse Throttle + + + + + Telemetry + + + Form + + + + + + + + A1 + + + + + + + + A2 + + + + + RSSI + + + + + Alarm 1 + + + + + + ---- + + + + + + Yellow + + + + + + Orange + + + + + + Red + + + + + Alarm 2 + + + + + Serial Protocol + + + + + Volt source + + + + + Metric + + + + + Imperial + + + + + Current source + + + + + Protocol + Protocolo + + + + NONE + + + + + + FAS + + + + + None + + + + + FrSky Sensor Hub + + + + + CEL + + + + + 2 + + + + + 3 + + + + + 4 + + + + + Units + + + + + Blades + + + + + Altimetry / Vario + + + + + Alti + + + + + Alti+ + + + + + Vario + + + + + Sink Max + + + + + Off + + + + + Climb Max + + + + + Sink Min + + + + + Climb Min + + + + + Vario source + + + + + Vario limits + + + + + Use GPS as altitude source + + + + + Display altitude in toolbar + + + + + Various + + + + + mAh count + + + + + FAS Offset + + + + + Persistent mAh + + + + + TelemetryAnalog + + + Form + + + + + Unit + + + + + Max Value + + + + + Alarm 1 + + + + + + ---- + + + + + + Yellow + + + + + + Orange + + + + + + Red + + + + + + < + + + + + + > + + + + + Alarm 2 + + + + + Min Value + + + + + Volts (V) + + + + + Amps (A) + + + + + Speed (m/s or ft/s) + + + + + Raw (-) + + + + + Speed (km/h or miles/h) + + + + + Meters (m or ft) + + + + + Temp (°) + + + + + Fuel (%) + + + + + mAmps (mA) + + + + + Range + + + + + TelemetryCustomScreen + + + Form + + + + + Custom Screen Type + + + + + Nums + + + + + Bars + + + + + Min + Min + + + + Source + Fonte + + + + Gauge + + + + + Max + Max + + + + TelemetryPanel + + + Telemetry screen %1 + + + + + Winged Shadow How High + + + + + Winged Shadow How High (not supported) + + + + + Timer + + + Form + + + + + mm:ss + mm:ss + + + + Countdown + + + + + MinuteBeep + + + + + Persistent + + + + + (00:00:00) + + + + + TimerPanel + + + None + + + + + Beeps + + + + + Countdown + + + avrOutputDialog @@ -7808,7 +7137,7 @@ Do you want some help ? burnConfigDialog - + AVRDUDE Configuration Configuração do AVRDUDE @@ -7985,25 +7314,25 @@ Please only use this if you know what you are doing. There are no error checks Activar o Fuse "Limpar EEPROM" - + DFU-UTIL Configuration - + SAM-BA Configuration - - - + + + Select Location Selecionar localização - - + + Companion @@ -8012,12 +7341,12 @@ Please only use this if you know what you are doing. There are no error checks companion9x - + <b><u>WARNING!</u></b><br>This will reset the fuses of %1 to the factory settings.<br>Writing fuses can mess up your radio.<br>Do this only if you are sure they are wrong!<br>Are you sure you want to continue? - + <b><u>WARNING!</u></b><br>Normally CPU type is automatically selected according to the chosen firmware.<br>If you change the CPU type the resulting eeprom could be inconsistent. @@ -8075,7 +7404,7 @@ m2560 for v4.1 boards - + Browse for file @@ -8121,7 +7450,7 @@ m2560 for v4.1 boards - + Write to TX @@ -8146,146 +7475,146 @@ m2560 for v4.1 boards - + Write firmware to TX - + Current profile - + Open Abrir - + Write Models and Settings to TX - + Write Models and Settings in %1 to TX - + Choose file to load Models and Settings from - - - - - - + + + + + + Warning Aviso - + %1 is not a known firmware - + Burn anyway ! - + Unable to find file %1! Impossível encontrar o ficheiro %1! - - - + + + Error opening file %1: %2. - - - + + + Invalid binary Models and Settings File %1, Proceed anyway ? - + Error reading file %1: %2. - + Open Image to load - + Images (%1) - + Wrong radio calibration data in profile, Settings not patched - + Wrong radio setting data in profile, Settings not patched - - + + Cannot write file %1: %2. - + Error writing file %1: %2. - - - - - - - - - - + + + + + + + + + + Error Erro - - + + Cannot load %1. - + Cannot save customized firmware - + Custom image not found - + No firmware selected @@ -8477,14 +7806,14 @@ m2560 for v4.1 boards - + - - - - - - + + + + + + Switch Interruptor @@ -8521,10 +7850,10 @@ m2560 for v4.1 boards - - - - + + + + Offset @@ -8532,8 +7861,8 @@ m2560 for v4.1 boards - - + + Min Min @@ -8541,8 +7870,8 @@ m2560 for v4.1 boards - - + + Max Max @@ -8558,8 +7887,8 @@ m2560 for v4.1 boards - - + + CH @@ -8593,198 +7922,181 @@ m2560 for v4.1 boards - + Weight Peso - - - Expo + + Logical Switches - + + + LS + + + + + Switch Assignment + + + + - - + + DISABLED - - - - - - + + Curve Curva - + Mixers - - + + noTrim - - - FMTrim - - - - - - Diff - - - - - + + Delay(u%1:d%2) Atraso(u%1:d%2) - - + + Slow(u%1:d%2) Lento(u%1:d%2) - - + + Warn - + Curves Curvas - + 5 Points Curves - - - - + + + + pt %1 pt %1 - + 9 Points Curves - - Custom Switches - - - - - - CS - - - - - + + Function - - + + Param - - + + Enable - + CF - + Telemetry Settings - - + + Analog - - + + Unit - - + + Scale - - - - + + + + A%1 - - + + Alarm 1 - - + + Alarm 2 - - - - + + + + Type - - - - + + + + Condition - - - - - - + + + + + + Value @@ -8816,64 +8128,59 @@ m2560 for v4.1 boards - + - - + + Flight modes - + - - + + Flight mode + - Custom Functions - - - - - Repeat - + Safety Switches - - + + RSSI Alarm - - + + Telemetry Bars - - + + Bar Number - - + + Source Fonte - - + + Custom Telemetry View @@ -8882,12 +8189,12 @@ m2560 for v4.1 boards :%1 Canais, Atraso de %3 mseg {1 ?} {2m?} {1 ?} {2u?} - + Print Document Imprimir Documento - + Select PDF output file @@ -8900,39 +8207,37 @@ m2560 for v4.1 boards Dialogo - + People who have contributed to this project - + Coders - - Honors go to Rafal Tomczak (RadioClone) and Thomas Husterer (th9x) -of course. Also to Erez Raviv (er9x) and the fantastic eePe program -which was the staring point for OpenTX Companion. - - - - + Companion Release Notes - + Thank you all !!! - + + Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) + + + + Contributors - + OpenTX Release Notes @@ -8975,7 +8280,7 @@ which was the staring point for OpenTX Companion. - + Save Firmware Save To Hex @@ -8990,80 +8295,80 @@ p, li { white-space: pre-wrap; } - - - + + + Select an original firmware file - + Open Abrir - + Select an image to customize your splash <br />or save actual firmware splash - - - - + + + + Error Erro - + Could not find bitmap to replace in file - + Open Image to load - + Images (%1) - - + + Cannot load %1. - - + + Save your custimized firmware - - + + Write to file - + Error reading file %1 Erro ao ler o ficheiro %1! {1?} - + Firmware correctly saved. - + Firmware not saved. - + PNG images (*.png);; @@ -9479,17 +8784,17 @@ Press cancel to abort joystick calibration - + Select your log file - + Available fields - + The selected logfile contains %1 invalid lines out of %2 total lines @@ -9497,7 +8802,7 @@ Press cancel to abort joystick calibration mdiChild - + Simulate Tx @@ -9947,33 +9252,33 @@ Press cancel to abort joystick calibration Preferências - + Language (requires restart) Língua (necessita uma reinicialização) - + Recent History Size - - + + Download - + Default Channel Order Ordem dos Canais por Defeito - + Default Stick Mode Modo do Rádio por Defeito - + Channel order This is used by the templated to determine which channel goes to what number output. @@ -9984,12 +9289,7 @@ This is used by the templated to determine which channel goes to what number out companion9x - - Show Splash Screen - - - - + Mode selection: Mode 1: @@ -10012,382 +9312,443 @@ Mode 4: - + Mode 1 (RUD ELE THR AIL) Modo 1 (RUD ELE THR AIL) - + Mode 2 (RUD THR ELE AIL) Modo 2 (RUD THR ELE AIL) - + Mode 3 (AIL ELE THR RUD) Modo 3 (AIL ELE THR RUD) - + Mode 4 (AIL THR ELE RUD) Modo 4 (AIL THR ELE RUD) - + Automatic Backup Folder - + Automatically add version number to the filename after download - + Voice - + Set language of voice. May be different from firmware language - + Firmware - + + Theme + + + + + + Requires restart + + + + + Classic + + + + + Monochrome + + + + + MonoWhite + + + + + MonoBlue + + + + + Icon size + + + + + Small + + + + + Normal + + + + + Big + + + + + Huge + + + + Find Executable - + Google Earth Executable - + Check for updates on startup - - + + ... - + Splash library behaviour - + Include companion splashes - + Only user defined splashes - + Custom TX splash screen - + Personal splash library - + Joystick - - - - + + + + Open Folder - + SD Structure path - + Processor ID - + Simulator capture folder - + Use clipboard only - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CheckBox - + Check for updates - + Language - + Profile Name - + Export Profile - + Save Profile - + Import Profile - + Simu BackLight - + Check for selected Fw updates - + Ask use of wizard for new models - + + Show Splash At Start + + + + Remember switches in simulator - + Blue Blu - + Green - + Red - + Orange - + Yellow - + Profile slot - + auto backup before write - + Ask for flashing after Download - + Enable - + Calibrate - + Open Image - + Invert Pixels - + FwInfo - + Last downloaded release: %1 - + Image stored in settings - - + + No joysticks found - + Select your snapshot folder - + Select your Models and Settings backup folder - + Select Google Earth executable - + Select the folder replicating your SD structure - + Profile name is empty, profile slot %1 will be deleted.<br>Are you sure ? - + Export profile As - + Profile slot is not empty, profile slot %1 will we overwritten.<br>Are you sure ? - + Open Profile to import - + Open Image to load - + Images (%1) - - + + Error Erro - + The selected firmware has never been downloaded by Companion. - + The selected firmware cannot be downloaded by Companion. - + Select your library folder - - + + Cannot load %1. @@ -10445,9 +9806,9 @@ May be different from firmware language - - - + + + Name Nome @@ -10533,7 +9894,7 @@ May be different from firmware language - + Enabled Activo @@ -10646,12 +10007,12 @@ May be different from firmware language Curva(%1) - + Delay(u%1:d%2) Atraso(u%1:d%2) - + Slow(u%1:d%2) Lento(u%1:d%2) @@ -10676,9 +10037,7 @@ May be different from firmware language Curvas de 5 pontos - - - + pt %1 pt %1 @@ -10695,16 +10054,16 @@ May be different from firmware language <h2>Interruptores Customizaveis</h2> - + Source Fonte - - - - - + + + + + Offset Compensação @@ -10736,25 +10095,19 @@ May be different from firmware language - - + + Flight modes - - + + Flight mode - - - CS - - - - + Function Função @@ -10764,10 +10117,10 @@ May be different from firmware language - - - - + + + + Switch Interruptor @@ -10792,256 +10145,230 @@ May be different from firmware language Peso - - - - - Expo - - - - - + + DISABLED - - - - - - - + + + Curve Curva - + Mixers - - - - - + + + + + CH - + noTrim - - FMTrim - - - - - Diff - - - - + Warn - + Limits Limites - - - - + + + + Min Min - - - - + + + + Max Max - - - + + + Invert Inverter - - - + + + INV INV - - - + + + NOR NOR - + Curves Curvas - - 5 Points Curves - - - - - 9 Points Curves - - - - - Custom Switches - - - - + Global Variables - + GV - + Safety Switches - - - - - + + + + + Value - - Function Switches - - - - + Parameter - + Repeat - + ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) - + Telemetry Settings - - + + Logical Switches + + + + + + LS + + + + + Switch Assignments + + + + + Alarm 1 - - + + Alarm 2 - + Analog - + Unit - + Scale - - - - + + + + Type - - - - + + + + Condition - + A%1 - + RSSI Alarm - + Frsky serial protocol - + System of units - + Propeller blades - + Telemetry Bars - + Bar Number - - + + Custom Telemetry View @@ -11051,17 +10378,12 @@ May be different from firmware language - - CF - - - - + Print Document Imprimir Documento - + Select PDF output file @@ -11074,17 +10396,17 @@ May be different from firmware language Simulador ER9x - + P1 P1 - + P2 P2 - + P3 P3 @@ -11110,33 +10432,33 @@ May be different from firmware language - + Hold X Manter X - + Fix X Fixar X - + Fix Y Fixar Y - + Hold Y Manter Y - - + + TextLabel @@ -11156,12 +10478,12 @@ May be different from firmware language ID0 - + ID1 ID1 - + ID2 ID2 @@ -11178,7 +10500,7 @@ May be different from firmware language SW3 - + BEEP BEEP @@ -11190,19 +10512,19 @@ May be different from firmware language - + Right Double Click to Reset - - - + + + 0 % - + 9x Simulator @@ -11246,270 +10568,268 @@ May be different from firmware language SW12 SW12 - - - CSK - SWK - - - - - CS1 - - Companion Simulator + + + LS1 + + - CS2 + LS2 - CS3 + LS3 - CS4 + LS4 - CS5 + LS5 - CS6 + LS6 - CS7 + LS7 - CS8 + LS8 - CS9 + LS9 - CSA + LSA - CSB + LSB - CSC + LSC - CSD + LSD - CSE + LSE - CSF + LSF - CSG + LSG - CSH + LSH - CSI + LSI - - CSJ + + LSJ - - CSL + + LSK - - CSM + + LSL - - CSN + + LSM - - CSO + + LSN - - CSP + + LSO - - CSQ + + LSP - - CSR + + LSQ - - CSS + + LSR - - CST + + LSS - - CSU + + LST - - CSV + + LSU - - CSW - SWW + + LSV - + + LSW + + + + CH1 CH1 - + CH9 CH9 - + CH2 CH2 - + CH10 CH10 - + CH3 CH3 - + CH11 CH11 - + CH4 CH4 - + CH12 CH12 - + CH5 CH5 - + CH13 CH13 - + CH6 CH6 - + CH14 CH14 - + CH7 CH7 - + CH15 CH15 - + CH8 CH8 - + CH16 CH16 - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + -100.1 -100.1 @@ -11557,33 +10877,33 @@ May be different from firmware language splashLibrary - + ... - + Splash Library - page %1 of %2 - + Warning Aviso - + Invalid image in library %1 - + Information - + No valid image found in library, check your settings @@ -11798,16 +11118,16 @@ May be different from firmware language - - - - - - - - - - + + + + + + + + + + -100.1 -100.1 @@ -11842,207 +11162,207 @@ May be different from firmware language CH4 - + CH12 CH12 - + CH5 CH5 - + CH13 CH13 - + CH6 CH6 - + CH14 CH14 - + CH7 CH7 - + CH15 CH15 - + CH8 CH8 - + CH16 CH16 - + CSK - + CSC - + CSD - + CS7 - + CSL - + CSB - + CS1 - + CSH - + CSG - + CSE - + CSF - + CS8 - + CS9 - + CSA - + CSM - + CSJ - + CSI - + CS4 - + CS5 - + CS2 - + CS3 - + CS6 - + CSN - + CSO - + CSP - + CSQ - + CSR - + CSS - + CST - + CSU - + CSV - + CSW @@ -12063,22 +11383,22 @@ May be different from firmware language - + Firmware %1 error: %2 - + - Flight mode: %1(%2) - + Simulating Tx (%1) - + Simulating diff --git a/companion/src/translations/companion_ru.ts b/companion/src/translations/companion_ru.ts index 92c12ee9b..6e8c58c04 100644 --- a/companion/src/translations/companion_ru.ts +++ b/companion/src/translations/companion_ru.ts @@ -1,6 +1,375 @@ + + Channels + + + Name + + + + + Offset + + + + + Min + Мин + + + + Max + Макс + + + + Invert + Инверт + + + + Center + + + + + Sym + + + + + Channel %1 + + + + + --- + + + + + INV + + + + + CurveGroup + + + Diff + + + + + Expo + + + + + Func + + + + + Curve + Кривая + + + + Curves + + + Form + + + + + Standard + + + + + Custom + + + + + Lines + + + + + Smooth + + + + + Curve type + + + + + Curve name + + + + + Curve %1 + Кривая %1 + + + + %1 points + + + + + Are you sure you want to reset curve %1 ? + + + + + Editing curve %1 + + + + + Not enough free points in EEPROM to store the curve. + + + + + CustomFunctionsPanel + + + Switch + + + + + Action + + + + + Parameters + + + + + Enable + + + + + ON + + + + + Error + Ошибка + + + + Unable to find sound file %1! + + + + + &Delete + Удалить + + + + Delete + Удалить + + + + &Copy + Копировать + + + + Ctrl+C + + + + + &Cut + Вырезать + + + + Ctrl+X + + + + + &Paste + Вставить + + + + Ctrl+V + + + + + CustomSwitchesPanel + + + Condition + + + + + V1 + + + + + V2 + + + + + AND + + + + + Duration + + + + + Delay + Задержка + + + + + LS%1 + + + + + &Delete + Удалить + + + + Delete + Удалить + + + + &Copy + Копировать + + + + Ctrl+C + + + + + &Cut + Вырезать + + + + Ctrl+X + + + + + &Paste + Вставить + + + + Ctrl+V + + + + + Dialog + + + Dialog + Диалог + + + + Curve type + + + + + Coefficient + + + + + Both + + + + + x>0 + + + + + x<0 + + + + + Y at X=0 + + + + + Side + + + + + Y at X=-100 + + + + + Y at X=100 + + + + + Linear + + + + + Single Expo + + + + + Symmetrical f(x)=-f(-x) + + + + + Symmetrical f(x)=f(-x) + + + ExpoDialog @@ -8,132 +377,289 @@ Диалог - - Expo - - - - + Weight Вес - - Name - - - - - - + + GV - - - Phase used by the expo. + + The source for the mixer + Источник для микшера + + + + Input name - + + Phase used by the input. + + + + Flight modes - + 0 - + 1 - + 2 - + 3 - + 4 - + 5 - + 6 - + 7 - + 8 - + Switch - - Switch used by the expo. -If blank then the expo is considered to be "ON" all the time. + + Switch used by the input. +If blank then the input is considered to be "ON" all the time. - - Curve/Exponential + + The curve used by the input - + + Source + Источник + + + + Line name + + + + Stick Side - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">Delay ans Slow</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600; text-decoration: underline;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">These values control the speed and delay of the output of the mix. </p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Delay is not zero the actuation of the mix will be delayed by the specified amount of seconds.</p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">If Slow is not zero then the speed of the mix will be set by the value specified -&gt; the value states the number of seconds it takes to transit from -100 to 100.</p></body></html> + Задержка и замедление. +Эти значение управляют скоростью и задержкой на выходе микшера. +Если "Задержка" не равна нулю, то срабатывание микшера происходит через указанное число секунд. +Если "Замедление" не равно нулю, то это значение означает число секунд для перемещения от -100 до +100. + + + + Scale + + + + + Include Trim + Исп. трим + + + + No + + + + + Yes + + + + Curve Кривая - - The curve used by the expo - - - - + NEG - + POS - + ALL - - DEST -> %1 + + Edit %1 + + + + + Rud + + + + + Ele + + + + + Thr + + + + + Ail + + + + + FlightMode + + + Form + + + + + Fade In + + + + + Fade Out + + + + + Name + + + + + Switch + + + + + trim1 + + + + + trim2 + + + + + trim4 + + + + + trim3 + + + + + Rud + + + + + Ele + + + + + Thr + + + + + Ail + + + + + Rotary Encoder %1 + + + + + GVAR%1 + + + + + FlightModes + + + Flight Mode %1 + + + + + (%1) + + + + + (default) @@ -157,13 +683,13 @@ These will be relevant for all models in the same EEPROM. Настройка - + Contrast Конраст - - + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -174,12 +700,12 @@ p, li { white-space: pre-wrap; } Значения в пределах 20-45 - + Battery Warning Напряж. при разряде - + Battery warning voltage. This is the threashhold where the battery warning sounds. @@ -190,17 +716,17 @@ Acceptable values are 5v..10v Диапазон 5В..10В - + v В - + Battery Calibration Калибровка батареи - + Battery calibration: This value will be added to the measured battery voltage. Use this value to calibrate the meter with an external meter. Калибровка батареи: @@ -211,7 +737,7 @@ This value will be added to the measured battery voltage. Use this value to cal Тумблер подсветки - + This is the switch selectrion for turning on the backlight (if installed). @@ -222,51 +748,49 @@ This value will be added to the measured battery voltage. Use this value to cal Подсветка вкл/выкл после - + If this value is not 0, any keypress will turn on the backlight and turn it off after the specified number of seconds. Если не равно нулю, то любое нажатие кнопок будет включать подсветку и выключать ее через указанное кол-во секунд. - - + + sec сек - + Inactivity Timer Таймер активности - + If not zero will sound beeps if the transmitter has been left without inputs for the specified number of minutes. Если не равно нулю, начнет бипать при отсутсвии активности через указанное кол-во минут. - + min мин - Reverse Throttle Operation - Реверс газа + Реверс газа - Reverse throttle operation. If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. - Реверсировать канал газа (а также триммеры и предупреждения) + Реверсировать канал газа (а также триммеры и предупреждения) - + Timer Beeps Звук таймера - + <!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; } @@ -275,22 +799,22 @@ p, li { white-space: pre-wrap; } Бип каждую минуту - + Every Minute Кажд. минуту - + Beeps at 30, 15, 10, and down from5 seconds Бипать за 30, 15, 10, и 5 секунд до конца. - + Count Down to Zero Достиж. нуля - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -299,258 +823,247 @@ p, li { white-space: pre-wrap; } Моргать подсветкой при бипах таймера - + Flash on beep Моргать - + Alarm Warning Предупр. "тишина" - - + + Quiet тихо - - + + No Keys без кнопок - - + + Normal нормально - - + + Long долго - + Input Filter Входной фильтр - + Single ??? Одиночный - + Oversample Передискретизация - + Filter Фильтр - + Owner Name Имя владельца - + - - - + + Off - - Switches Up - - - - - Switches Down - - - - + Trainer - - + + PPM 1 + - - - + + chn1 + - - - + + chn2 + - - - + + chn3 + - - - + + chn4 - + Mode - + Telemetry NO DATA Alarm - + Show Owner Name on Splash - + Sound Mode - + Beeper - + Speaker Pitch (spkr only) - + Only Alarms - - + + All - + Pot Scrolling Enable - + Bandgap Measuring Enable - + THR - + RUD - + ELE - + AIL - + GEA - + ID0 - + ID1 - + ID2 - + Beeper Length - - + + X-Short - - + + Short - - + + X-Long - + Haptic Mode - + Alarms Only - + Haptic Length - + GPS Coordinates @@ -565,122 +1078,122 @@ p, li { white-space: pre-wrap; } - + Speaker - + BeeperVoice - + SpeakerVoice - + hh° (N/S) mm' ss''.dd - + NMEA - + Timeshift from UTC - + LCD Display Type - + Standard - + Optrex - + Speaker Volume - + Haptic Strength - + BackLight Brightness - + RotEnc Navigation - + BackLight Auto OFF after - + BackLight Switch - + BackLight On Stick Move - + BackLight Invert - + Country Code - + Europe - + Japan - + America - + FrSky Internal Alarm - + StickScroll - + PPMSim @@ -690,47 +1203,47 @@ p, li { white-space: pre-wrap; } - + CrossTrim - + Beep volume - + Wav volume - + Vario volume - + Background volume - + Measurement Units - + Metric - + Imperial - + FAI Mode @@ -740,273 +1253,293 @@ p, li { white-space: pre-wrap; } - + 4800 Baud - + 9600 Baud - + 14400 Baud - + 19200 Baud - + 38400 Baud - + 57600 Baud - + 76800 Baud - + 115200 Baud - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. - + Readonly Unlock - + SC - + SE - + SA - + SF - + SH - + SD - + SB - + SG - + Input - + Weight Вес - + Switch + - - - + + += (Sum) + - - - + + := (Replace) - - + + PPM 2 - - + + PPM 3 - - + + PPM 4 - + Telemetry - + RSSI Alarm 1 - - + + ---- - - + + Yellow - - + + Orange - - + + Red - + RSSI Alarm 2 - + NO DATA Alarm - + POT 4 - - + + Negative span - - + + Mid value - - + + Positive span - + STICK 1 - + STICK 2 - + Current - + + + Pot (normal) + + + + + + Multipos Switch + + + + + S1 Type + + + + + S2 Type + + + + STICK 3 - + STICK 4 - + POT 1 - + POT 2 - + POT 3 - + Battery - + PPM Multiplier PPM множитель - Throttle Startup Warning - Предупр. "газ не в нуле" + Предупр. "газ не в нуле" - - - - - - + + + + + <!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; } @@ -1025,30 +1558,31 @@ p, li { white-space: pre-wrap; } "Тишина" - Предупреждение о "тихом" режиме (без звука) - Switch Startup Warning - Предупр. "тумблеры" + Предупр. "тумблеры" - + Memory Startup Warning Предупр. "память" - + Beeper Mode Режим бипов - + + + - - - - - - + + + + + + Beeper volume 0 - Quiet. No beeps at all. @@ -1065,12 +1599,12 @@ p, li { white-space: pre-wrap; } 4 - Очень громкая. - + Channel Order (For Templates) Порядок каналов - + Channel order This is used by the templated to determine which channel goes to what number output. @@ -1079,12 +1613,12 @@ This is used by the templated to determine which channel goes to what number out Используется в шаблоне порядка следования каналов. - + Stick Mode Режим стиков - + Mode selection: Mode 1: @@ -1108,38 +1642,38 @@ Mode 4: - + Mode 1 (RUD ELE THR AIL) - + Mode 2 (RUD THR ELE AIL) - + Mode 3 (AIL ELE THR RUD) - + Mode 4 (AIL THR ELE RUD) - + Show Splash Screen on Startup Показывать заставку - - + + Show splash screen on startup Показывать заставку при включении - + Calibration Калибровка. @@ -1188,80 +1722,290 @@ Mode 4: позитив - + If you enable FAI, you loose the vario, the play functions, the telemetry screen. This function cannot be disabled by the radio. Are you sure ? - - + + Warning Звук - + Wrong data in profile, radio calibration was not retrieved - + Wrong data in profile, hw related parameters were not retrieved - + Do you want to store calibration in %1 profile<br>overwriting existing calibration? - + Calibration and HW parameters saved. + + Heli + + + Form + + + + + Invert Elevator + + + + + Invert Aileron + + + + + Invert Collective + + + + + Invert + Инверт + + + + Off + + + + + 120 + + + + + 120X + + + + + 140 + + + + + 90 + + + + + Collective + + + + + Swash Type + + + + + Swash Ring + + + + + InputsPanel + + + + Move Up + + + + + + Ctrl+Up + + + + + + Move Down + + + + + + Ctrl+Down + + + + + Clear All Settings + + + + + Source(%1) + + + + + No Trim + + + + + Weight(%1) + + + + + Switch(%1) + + + + + Not enough available inputs! + + + + + Delete Selected Inputs? + + + + + &Add + Добавить + + + + Ctrl+A + + + + + &Edit + + + + + Enter + Ввод + + + + &Delete + Удалить + + + + Delete + Удалить + + + + &Copy + Копировать + + + + Ctrl+C + + + + + &Cut + Вырезать + + + + Ctrl+X + + + + + &Paste + Вставить + + + + Ctrl+V + + + + + Du&plicate + + + + + Ctrl+U + + + + + Clear Inputs? + + + + + Really clear all the inputs? + + + MainWindow - - - - + + + + File loaded Файл загружен - - - - - + + + + + Save As Сохранить как... - - + + No updates available at this time. - - - - - + + + + + Unable to check for updates. - + Executable (*.exe) - + Would you like to launch the installer? @@ -1270,13 +2014,13 @@ Are you sure ? файлы EEPROM (*.bin *.hex);;файлы BIN (*.bin);;файлы HEX (*.hex) - + Open Открыть - - + + File saved Файл записан @@ -1305,7 +2049,7 @@ Are you sure ? Считать прошивку в файл - + Copyright @@ -1315,401 +2059,409 @@ Are you sure ? Если эта программа и/или прошивка оказалась полезной, вы можете - donating - поддержать ее + поддержать ее About eePe О eePe - - - + + &%1 %2 - - %1 %2 - - - - + &New Новый - + Create a new file Создать новый файл - + &Open... Открыть - + Open an existing file Открыть файл - + &Save Сохранить - + Save the document to disk Записать на диск - + Save &As... Сохранить как... - + Save the document under a new name Записать с другим именем - + &Preferences... Настройки - + Edit general preferences Редактировать основные настройки - + &Check for updates... - - If you've found this program useful, please support by - - - - + Display previous warning again at startup ? - + New release available - - - - - - - - + + + + + + + + + + + + - - - - Error Ошибка - - - - - + + + + + Error opening file %1: %2. - + Compilation server termporary failure, try later - + Display previous message again at startup ? - - - + + + Companion - Models and Settings Editor - %1 - profile %2 - - - - + + + + Companion - Models and Settings Editor - %1 - + + A new release of Companion is available please check the OpenTX website! + + + + Firmware does not longer fit in the Tx, due to selected firmware options - + Compilation server temporary failure, try later - - + + Compilation server too busy, try later - - + + Unknown server failure, try later - + Firmware does not fit in the Tx, due to selected firmware options - - + + Yes - - + + No - - + + Release Notes - - + + Do you want to download release %1 now ? - + A new version of %1 firmware is available (current %2 - newer %3). Do you want to download it now ? - + Ignore this version (r%1)? - + Release notes contain very important informations. Do you want to see them now ? - + Firmware updates - + Current firmware does not provide release notes informations. - + Cannot write file %1: %2. Не удается записать файл %1: %2. - - - - - + + + + + Taranis radio not found - - - - + + + + Impossible to identify the radio on your system, please verify the eeprom disk is connected. - + Write Models and settings from %1 to the Tx? - - - + + + Backup is impossible - - - + + + The backup dir set in preferences does not exist - - + + Warning Звук - + Conversion failed - + Restore failed - + Backup failed - - Version %1 (revision %2), %3 + + OpenTX Home Page: <a href='%1'>%1</a> - + + The OpenTX Companion project was originally forked from <a href='%2'>eePe</a> + + + + + If you've found this program useful, please support by <a href='%1'>donating</a> + + + + + Version %1, %3 + + + + &loadBackup... - + Load backup from file - + Lo&gs - + Ctrl+G - + Open log file - + Contributors &List... - + ChangeLog... - + Firmware ChangeLog... - + Show firmware changelog - + Compare... - + Compare models - + Customize your &TX... - + Customize the splash screen of your TX - + E&xit Выход - + Exit the application Выйти из программы - + Cu&t Вырезать - + Cut the current selection's contents to the clipboard Вырезать выделение в буфер обмена - + &Copy Копировать - + Copy the current selection's contents to the clipboard Копировать выделение в буфер обмена - + &Paste Вставить - + Paste the clipboard's contents into the current selection Вставить выделение из буфера обмена - + Configure software for reading from and writing to the transmitter @@ -1718,7 +2470,7 @@ Do you want to download it now ? Записать EEPROM в TX - + Ctrl+Alt+W @@ -1731,7 +2483,7 @@ Do you want to download it now ? Считать EEPROM из TX - + Ctrl+Alt+R @@ -1772,7 +2524,7 @@ Do you want to download it now ? Считать прошивку из передатчика - + &Configure... Настройка @@ -1781,148 +2533,136 @@ Do you want to download it now ? Настроить программатор - + &List programmers Список программаторов - + List available programmers Показать список программаторов - + &Fuses... Фьюзы - + Show fuses dialog Показать диалог установки фьюзов - + &Simulate Симуляция - + Alt+S - + Simulate selected model. Запустить симуляцию - + &Print Печать - + Ctrl+P - + Print current model. Распечатать текущую модель - Cl&ose - Закрыть + Закрыть - Close the active window - Закрыть активное окно + Закрыть активное окно - Close &All - Закрыть все + Закрыть все - Close all the windows - Закрыть все окна + Закрыть все окна - &Tile - Мозаика + Мозаика + + + Tile the windows + Расположить окна мозаикой + + + &Cascade + Каскад + + + Cascade the windows + Разместить окна каскадом + + + Ne&xt + Следующее + + + Move the focus to the next window + Переместить фокус на следующее окно + + + Pre&vious + Предыдущее + + + Move the focus to the previous window + Переместить фокус на предыдущее окно - Tile the windows - Расположить окна мозаикой - - - - &Cascade - Каскад - - - - Cascade the windows - Разместить окна каскадом - - - - Ne&xt - Следующее - - - - Move the focus to the next window - Переместить фокус на следующее окно - - - - Pre&vious - Предыдущее - - - - Move the focus to the previous window - Переместить фокус на предыдущее окно - - - &About О программе - + Show the application's About box Показать окно "О программе" - - + + Recent Files - + &Read/Write - + Write - + Unable to find file %1! Невозможно найти файл %1! - + Error reading file %1: %2. Ошибка при считывании файла %1: @@ -1933,253 +2673,237 @@ Do you want to download it now ? Авторы - - Switch layout Left/Right - - - - + &File Файл - Switch layout direction - Зеркало + Зеркало - + Checking for updates - + A new version of Companion is available (version %1)<br>Would you like to download it? - - A new release of Companion is available please check the repository - - - - - + + Compilation server requires registration, please check OpenTX web site - + Do you want to write the firmware to the transmitter now ? - + Firmware %1 does not seem to have ever been downloaded. Version %2 is available. Do you want to download it now ? - - - - + + + + Read Models and Settings From Tx - + The file %1 has not been recognized as a valid Models and Settings file Write anyway ? - - - - - - + + + + + + Backup Models and Settings From Tx - + Cannot check Models and Settings compatibility! Continue anyway? - + The transmitter firmware belongs to another product family, check file and preferences! - + The transmitter firmware is outdated, please upgrade! - + Write Models and Settings To Tx - - + + Write Firmware To Tx - + Cannot convert Models and Settings for use with this firmware, original data will be used - + Restore Models and Settings To Tx - + Could not restore Models and Settings to TX. The models and settings data file can be found at: %1 - + Firmware write failed - + Could not write firmware to to transmitter. The models and settings data file can be found at: %1 - + Cannot backup existing Models and Settings from TX. Firmware write process aborted - + Save transmitter Models and Settings to File - + Impossible to identify the radio on your system, please verify that the eeprom disk is connected. - + Read Tx Firmware to File - - The Companion project was originally forked from eePe - - - - + About Companion - + Check for new version of Companion - + Show Companion contributors list - + Show Companion changelog - + &Write Models and Settings To Tx - + Write Models and Settings to transmitter - + &Read Models and Settings From Tx - + Read Models and Settings from transmitter - + Write Firmware - + Write firmware to transmitter - + Write Models and Settings from file to Tx - + Write Models and Settings from file to transmitter - + Save transmitter Models and Settings to file - + Save the Models and Settings from the transmitter to a file - + Read Firmware - + Read firmware from transmitter - - + + Firmware Profiles - + &Edit Правка - - + + Invalid Models and Settings File %1 - + Invalid binary Models and Settings File %1 @@ -2188,22 +2912,21 @@ Write anyway ? Запись - &Window - Окна + Окна - + &Help Помощь - + File Файл - + Edit Правка @@ -2212,12 +2935,12 @@ Write anyway ? Запись - + Help - + Ready Готово @@ -2233,25 +2956,25 @@ Write anyway ? Удалить выбранные модели? - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + Error Ошибка @@ -2264,7 +2987,7 @@ Write anyway ? Невозможно установить модель! - + Editing model %1: Редактирование модели %1: @@ -2273,8 +2996,8 @@ Write anyway ? Невозможно считать настройки! - - + + Unable to find file %1! Невозможно найти файл %1! @@ -2289,8 +3012,8 @@ Write anyway ? Ошибка при считывании файла %1! - - + + Error reading file %1: %2. Ошибка при считывании файла %1: @@ -2303,10 +3026,10 @@ Write anyway ? Неверный размер файла - %1 - - - - + + + + Error opening file %1: %2. @@ -2317,127 +3040,127 @@ Write anyway ? - + Do you want to use model wizard? - - - + + + Companion - + Ask this question again ? - - + + Invalid EEPROM File %1 - + Invalid binary EEPROM File %1 - - - - + + + + Save As Сохранить как... - - - - + + + + Cannot write file %1: %2. Не удается записать файл %1: %2. - + Backup is impossible - + The backup dir set in preferences does not exist - - - + + + Taranis radio not found - - - + + + Impossible to identify the radio on your system, please verify the eeprom disk is connected. - - - + + + Backup EEPROM From Tx - + Cannot check eeprom compatibility! Continue anyway? - - + + Warning Звук - + Firmware in radio is of a different family of eeprom written, check file and preferences! - + Firmware in flash is outdated, please upgrade! - + Write EEPROM To Tx - + Open Открыть - + Invalid binary backup File %1 - + %1 has been modified. Do you want to save your changes? - - + + Error writing file %1: %2. Ошибка при записи файла %1: @@ -2455,7 +3178,7 @@ Do you want to save your changes? Прошить %1 в передатчик? - + Cannot write temporary file! Не удается записать временный файл! @@ -2499,53 +3222,45 @@ Do you want to save your changes? MixerDialog - + Dialog ??? Диалог - + Source Источник - - - - + + + + The source for the mixer Источник для микшера - + Weight Вес - - Fix Offset - - - - - - + + + GV - + Switch used by the mix. If blank then the mix is considered to be "ON" all the time. The value of the mixer is multiplied by this value and divided by 100. Значение микшера умножается на это значение и делится на 100 - - - - + Offset Смещен. @@ -2558,7 +3273,7 @@ p, li { white-space: pre-wrap; } Это значение добавляется к микшеру. - + Include Trim Исп. трим @@ -2567,80 +3282,75 @@ p, li { white-space: pre-wrap; } Если отмечено - использует триммеры из источника (при их наличии) - + Curve Кривая - + The curve used by the mix Кривая используемая микшером - + Switch Тумблер - + Yes - + No - + Warning Звук - + Name - - Curve/Differential - - - - + Mixer warning. Setting this value will cause a beep to be emmitted when this value is active. Индикация включения. Когда микшер активируется звучит выбранный сигнал. - + OFF ВЫКЛ - + 1 Beep 1 бип - + 2 Beep 2 Beeo 2 бипа - + 3 Beep 3 бипа - + Multiplex Режим - + Multiplexer This determines how mixer values are added. @@ -2657,100 +3367,95 @@ This determines how mixer values are added. "R" - значение текущего микшера заменяет предыдущее значение на этом же канале. - + ADD ДОБАВИТЬ - + MULTIPLY УМНОЖИТЬ - + REPLACE ЗАМЕНИТЬ - + Flight modes - + Include DR/Expo - + 0 - + 1 - + 2 - + 3 - + 4 - + 5 - + 6 - + 7 - + 8 - - Enable FM Trim - - - - + Delay Задержка - + Slow Замедлен. - + Up Верх - - - - + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -2768,64 +3473,253 @@ p, li { white-space: pre-wrap; } Если "Замедление" не равно нулю, то это значение означает число секунд для перемещения от -100 до +100. - + Down Низ - + DEST -> X%1 - + DEST -> CH%1%2 ??? - - - FM Trim Value - - - - + Rud - + Ele - + Thr - + Ail + + MixesPanel + + + + Move Up + + + + + + Ctrl+Up + + + + + + Move Down + + + + + + Ctrl+Down + + + + + Clear Mixes + + + + + + + X%1 + + + + + + + CH%1%2 + + + + + Weight(%1) + + + + + Switch(%1) + + + + + No Trim + + + + + No DR/Expo + + + + + Offset(%1) + + + + + Delay(u%1:d%2) + Задержка(u%1:d%2) + + + + Slow(u%1:d%2) + Задержка(u%1:d%2) + + + + Warn(%1) + Пред(%1) + + + + Not enough available mixers! + + + + + Delete Selected Mixes? + Удалить выбранные микшеры? + + + + &Add + Добавить + + + + Ctrl+A + + + + + &Edit + + + + + Enter + Ввод + + + + &Delete + Удалить + + + + Delete + Удалить + + + + &Copy + Копировать + + + + Ctrl+C + + + + + &Cut + Вырезать + + + + Ctrl+X + + + + + &Paste + Вставить + + + + Ctrl+V + + + + + Du&plicate + + + + + Ctrl+U + + + + + Clear Mixes? + + + + + Really clear all the mixes? + + + ModelEdit - + Dialog Диалог - + Setup Настройка - + + Heli + + + + + Inputs + + + + + Logical Switches + + + + + Switch Assignment + + + Model Name - Название модели + Название модели Timer Mode @@ -2836,263 +3730,93 @@ p, li { white-space: pre-wrap; } Направ. таймера - - Count Down - Обратный отсчет + Обратный отсчет - - Count Up - Прямой отсчет + Прямой отсчет Timer Value Значен. таймера - - - mm:ss - - - - Trim Increment - Изм. триммеров + Изм. триммеров - Exponential - экспонента + экспонента - Extra Fine - очень точно + очень точно - Fine - точно + точно - Medium - средне + средне - Coarse - грубо + грубо - Throttle Trim - Газ трим + Газ трим - Throttle Expo - Газ экспо + Газ экспо instaTrim Switch инстаТрим - Center beep - Бип в центре + Бип в центре - - - - - - - - - - RUD - - - - - - - - - - - - - - - - ELE - - - - - - - - - THR - - - - - - - - - - - - - - AIL - - - - - P1 - - - - - P2 - - - - - P3 - - - - Pulse Shift (polarity) - PPM модуляция + PPM модуляция - - - Positive - Положительная + Положительная - - - Negative - Негативная + Негативная - - - Protocol - Протокол + Протокол - - - + Channels Каналы - - - - - - ch - ch + ch ppm Delay PPM пауза - - - usec - мсек + мсек - Extended Limits - Расш. лимиты - - - - - Heli Setup - - - - - Swash Type - - - - - - Off - - - - - 120 - - - - - 120X - - - - - 140 - - - - - 90 - - - - - Collective - - - - - Swash Ring - - - - - Invert Elevator - - - - - Invert Aileron - - - - - Invert Collective - + Расш. лимиты Expo/Dr @@ -3147,1603 +3871,135 @@ Right Элеватор - + Mixes Микшеры - Limits - Лимиты + Лимиты - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - INV - - - - - - Channel - Канал + Канал - - - Offset - Смещение + Смещение - - - - - Min - Мин + Мин - - - - - Max - Макс + Макс - - - Invert - Инверт + Инверт - + Curves Кривые - Curve 1 - Кривая 1 + Кривая 1 - Curve 2 - Кривая 2 + Кривая 2 - - Timer1 - - - - - Timer2 - - - - - - - PPM delay - - - - - Extended Trims - - - - - Throttle2Trig - - - - - - - PPM Frame Length - - - - - - - mSec - - - - - - - - - - - - - Fade In - - - - - - - - - - - - - Fade Out - - - - - - - - - - - - - trim2 - - - - - - - - - - - - - trim1 - - - - - - DSM Type - - - - - - LP4/LP5 - - - - - - DSM2only - - - - - - DSM2/DSMX - - - - - - RX Number - - - - - Disable Throttle Warning - - - - - Switch startup Warning - - - - - Instant Trim - - - - - - CH01 - - - - - - CH02 - - - - - - CH03 - - - - - - CH04 - - - - - - CH05 - - - - - - CH06 - - - - - - CH07 - - - - - - CH08 - - - - - - CH09 - - - - - - CH10 - - - - - - CH11 - - - - - - CH12 - - - - - - CH13 - - - - - - CH14 - - - - - - CH15 - - - - - - CH16 - - - - - REa - - - - - REb - - - - - 3POS - - - - - - Check - - - - - - - ON - - - - - OFF - ВЫКЛ + ВЫКЛ - - GEA - - - - - ID0 - - - - - ID1 - - - - - ID2 - - - - - - TriggerB - - - - - Model Voice - - - - - - - - - - - - - trim4 - - - - - - - - - - - - - trim3 - - - - - - - - - - - - - GVAR1 - - - - - - - - - - - - - GVAR2 - - - - - - - - - - - - - GVAR3 - - - - - - - - - - - - - GVAR4 - - - - - - - - - - - - - GVAR5 - - - - - - - - - - - - - Rotary encoder B - - - - - - - - - - - - - Rotary encoder A - - - - - - Sym - - - - Curve 3 - Кривая 3 + Кривая 3 - Curve 4 - Кривая 4 + Кривая 4 - Curve 5 - Кривая 5 + Кривая 5 - Curve 6 - Кривая 6 + Кривая 6 - Curve 7 - Кривая 7 + Кривая 7 - Curve 8 - Кривая 8 + Кривая 8 - Curve 9 - Кривая 9 + Кривая 9 - Curve 10 - Кривая 10 + Кривая 10 - Curve 11 - Кривая 11 + Кривая 11 - Curve 12 - Кривая 12 + Кривая 12 - Curve 13 - Кривая 13 + Кривая 13 - Curve 14 - Кривая 14 + Кривая 14 - Curve 15 - Кривая 15 + Кривая 15 - Curve 16 - Кривая 16 + Кривая 16 - - - Curve type - - - - - 3 points - - - - - 3 points custom - - - - - 5 points - - - - - 5 points custom - - - - - 9 points - - - - - 9 points custom - - - - - 17 points - - - - - 17 points custom - - - - - Clear All Curves - Clear All Mixes - - - - - - Duration - - - - - Delay - Задержка + Задержка - - Telemetry screen 3 - - - - - - Param - - - - - Telemetry screen 1 - - - - - - - Custom Screen Type - - - - - - - Nums - - - - - - - Bars - - - - - Telemetry screen 2 - - - - - Custom Functions - - - - + Telemetry - - Volt source - - - - - Current source - - - - - NONE - - - - - - - - A1 - - - - - - FAS - - - - - CEL - - - - - Alti - - - - - Alti+ - - - - - Vario - - - - - - Unit - - - - - - Raw (-) - - - - - - Max Value - - - - - RSSI - - - - - Alarm 1 - - - - - Serial Protocol - - - - - Units - - - - - None - - - - - FrSky Sensor Hub - - - - - Metric - - - - - ModelSetup - - - - - Model Image - - - - - - Persistent - - - - - - MinuteBeep - - - - - - CountDownBeep - - - - - SB - - - - - Throttle Source - - - - - SD - - - - - SA - - - - - SC - - - - - SG - - - - - SE - - - - - SF - - - - - RS - - - - Reverse Throttle Operation - Реверс газа + Реверс газа - Reverse throttle operation. If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. - Реверсировать канал газа (а также триммеры и предупреждения) + Реверсировать канал газа (а также триммеры и предупреждения) - - Master - - - - - Slave - - - - - Trainer Mode - - - - - Master/Trainer Port - - - - - - - Start - - - - - - Polarity - - - - - RF Module 1 - - - - - RF Module 2 - - - - - - (00:00:00) - - - - - Failsafe - - - - - External module - - - - - - Failsafe Mode - - - - - - Hold - - - - - - Custom - - - - - - No Pulses - - - - - Internal Module - - - - + Flight Modes - - Flight Mode 0 (Default) - - - - - - - - - - - - - Flight Mode Name - - - - - GVAR6 - - - - - GVAR7 - - - - - FM 1 - - - - - FM 2 - - - - - FM 3 - - - - - FM 4 - - - - - FM 5 - - - - - FM 6 - - - - - FM 7 - - - - - FM 8 - - - - - Sticks - - - - - Show channels names in mixes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --- - - - - - - Center - - - - - Curve name - - - - - Curve Creator - - - - - Y at X=100 - - - - - Both - - - - - x>0 - - - - - x<0 - - - - - Linear - - - - - Single Expo - - - - - Symmetrical f(x)=-f(-x) - - - - - Symmetrical f(x)=f(-x) - - - - - Apply - - - - - Side - - - - - Y at X=-100 - - - - - Y at X=0 - - - - - Coefficient - - - - - CS9 - - - - - CSF - - - - - CSD - - - - - - AND - - - - - CS6 - - - - - CS1 - - - - - CS8 - - - - - CS7 - - - - - CSA - - - - - CSB - - - - - CSC - - - - - CS5 - - - - - CS3 - - - - - CS2 - - - - - CSE - - - - - CSG - - - - - CS4 - - - - - CST - - - - - CSM - - - - - CSP - - - - - CSH - - - - - CSO - - - - - CSN - - - - - CSQ - - - - - CSR - - - - - CSS - - - - - CSL - - - - - CSK - - - - - CSJ - - - - - CSI - - - - - CSU - - - - - CSV - - - - - CSW - - - - - Imperial - - - - - 2 - - - - - 3 - - - - - 4 - - - - - Blades - - - - - Sink Max - - - - - Climb Max - - - - - Sink Min - - - - - Climb Min - - - - - Display altitude in toolbar - - - - - - Volts (V) - - - - - - Amps (A) - - - - - - Speed (m/s or ft/s) - - - - - - Speed (km/h or miles/h) - - - - - - Meters (m or ft) - - - - - - Temp (°) - - - - - - Fuel (%) - - - - - - mAmps (mA) - - - - - - Source - Источник - - - - - - Gauge - - - - - - - Gauge 1 - - - - - - - Gauge 2 - - - - - - - Gauge 3 - - - - - - - Gauge 4 - - - - - - Alarm 1 - - - - - - Enable - - - - - Altimetry / Vario - - - - - Vario source - - - - - Vario limits - - - - - Use GPS as altitude source - - - - - - - - - - ---- - - - - - - - - - - Yellow - - - - - - - - - - Orange - - - - - - - - - - Red - - - - - - - - < - - - - - - - - > - - - - - - - Alarm 2 - - - - - - Min Value - - - - - - - - A2 - + Источник Switches @@ -4774,29 +4030,8 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Триггер 6 - - - - Function - Функция - - - - Custom switches - - - - - - V1 - - - - - - V2 - + Функция CSwitch7 @@ -4826,43 +4061,23 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Триггер 12 - Safety Switches - Защитные выкл. + Защитные выкл. - - - - - - - - - - - - - Switch - Выключатель + Выключатель - Value - Значение + Значение Trims Триммеры - - Templates - - - - + Simulate Симуляция @@ -4883,536 +4098,80 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi Кривая(%1) - - Clear Mixes - - - - - S1 - - - - - S2 - - - - - LS - - - - - Rud - - - - - Ele - - - - - Thr - - - - - Ail - - - - Weight Weight(+%1%) - Вес + Вес - - - Flight modes - - - - - - Flight mode - - - - - - - CH%1%2 - - - - - No Trim - - - - Delay(u%1:d%2) - Задержка(u%1:d%2) + Задержка(u%1:d%2) - Slow(u%1:d%2) - Задержка(u%1:d%2) + Задержка(u%1:d%2) - Warn(%1) - Пред(%1) - - - - - - - CH %1 - - - - - Editing curve %1 - + Пред(%1) Curve %1 Кривая %1 - - - Expo - - - - - - DISABLED - - - - - Curve - Кривая + Кривая - - - - X%1 - - - - - No DR/Expo - - - - - FMTrim - - - - - Diff - - - - - CF%1 - - - - Error - Ошибка + Ошибка - - Unable to find sound file %1! - - - - - Winged Shadow How High - - - - - Winged Shadow How High (not supported) - - - - - - Range - - - - - Simple 4-CH - - - - - T-Cut - - - - - Sticky T-Cut - - - - - V-Tail - - - - - Elevon\Delta - - - - - 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 - - - - - Not enough available mixers! - - - - - Not enough available expos! - - - - Delete Selected Mixes? - Удалить выбранные микшеры? + Удалить выбранные микшеры? - - Delete Selected Expos? - - - - - &Add - Добавить + Добавить - - - Ctrl+A - - - - - &Edit - Правка + Правка - - Enter - Ввод + Ввод - - - - &Delete - Удалить + Удалить - - - - Delete - Удалить + Удалить - - - - &Copy - Копировать + Копировать - - - - - Ctrl+C - - - - - - - &Cut - Вырезать + Вырезать - - - - - Ctrl+X - - - - - - - &Paste - Вставить + Вставить - - - - - Ctrl+V - - - - - - Du&plicate - - - - - - Ctrl+U - - - - - Are you sure you want to delete curve %1 ? - - - - - Apply Template? - - - - - Apply template "%1"? - - - - - Clear Expos? - - - - - Really clear all the expos? - - - - - - - Clear Mixes? - - - - - Really clear all the mixes? - - - - + Clear Curves? - + Really clear all the curves? - - - - - - AIL2 - - - - - - - - ELE2 - - - - - - - - - - FLAPS - - - - - - - - - - FLAP%1 - - - - - - - - PITCH - - - - - - - - - - - - GYRO - - - - - - SPOIL - - - - - - SPOIL%1 - - - - - - RUD2 - - - - - Really clear existing mixes on CH6? - - - - - Really clear existing mixes on CH5? - - - - - Not enough free points in eeprom to store the curve. - - - - - - - - Move Up - - - - - - - - Ctrl+Up - - - - - - - - Move Down - - - - - - - - Ctrl+Down - - - - - Clear Expo Settings - - D&uplicate Дублировать @@ -5421,133 +4180,265 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi ModelsListWidget - + &Edit - + &Restore from backup - + &Model Wizard - + &Delete Удалить - + Delete Удалить - + &Copy Копировать - + Ctrl+C - + &Cut Вырезать - + Ctrl+X - + &Paste Вставить - + Ctrl+V - + D&uplicate Дублировать - + Ctrl+U - + &Use as default - + P&rint model - + Alt+R - + Alt+S - + &Simulate model - + General Settings Основные настройки - + Delete Selected Models? Удалить выбранные модели? - - + + Cannot delete default model. - + Cannot cut default model. - + Do you want to overwrite TX general settings? - + You are pasting on an not empty model, are you sure? You are pasting on an not empty model, are you sure ? - + No free slot available, cannot duplicate + + Module + + + Form + + + + + Failsafe Mode + + + + + Start + + + + + PPM delay + + + + + usec + мсек + + + + Negative + + + + + Positive + + + + + RX Number + + + + + Master + + + + + Slave + + + + + Polarity + + + + + Trainer Mode + + + + + mSec + + + + + PPM Frame Length + + + + + Label + + + + + + ch + ch + + + + Channels + Каналы + + + + Hold + + + + + Custom + + + + + No Pulses + + + + + Failsafe Positions + + + + + Protocol + Протокол + + + + ModulePanel + + + Trainer Output + + + + + Internal Radio System + + + + + External Radio Module + + + QObject @@ -5558,1949 +4449,1655 @@ If this is checked the throttle will be reversed. Idle will be forward, trim wi - + + Input%1 + + + + + Polish + + + + + CH%1 + + + + No - + RotEnc A - + Rot Enc B - + Rot Enc C - + Rot Enc D - + Rot Enc E - + Safety %1 - + Trainer - + Trainer RUD - + Trainer ELE - + Trainer THR - + Trainer AIL - + Instant Trim - + Play Sound - + Start Logs - + Play Haptic - - + + --- - + Rud Trim - + Ele Trim - + Thr Trim - + Ail Trim - + Rot Enc - + English - + French - + Italian - + German - + Czech - + Slovak - + Spanish - + Portuguese - + Swedish - - CH - - - - - + + No repeat - + %1 sec - + Reset - + Vario - + Play Track - + Play Both - + Play Value - + Volume - + Backlight - + Background Music - + Background Music Pause - - Adjust GV1 - - - - - Adjust GV2 - - - - - Adjust GV3 - - - - - Adjust GV4 - - - - - Adjust GV5 - - - - + Delay %1 sec - + Duration %1 sec - - + + <font color=red><b>Inconsistent parameter</b></font> - + Value - + Decr: - + Incr: - + + Played once, not during startup + + + + %1s - - Value - Значение + + Adjust GV%1 + - - Source - Источник - - - - GVAR + + Rotary Encoder + Value + Значение + + + + Source + Источник + + + + GVAR + + + + Increment - + !Flight mode %1 - + Flight mode %1 - + Flight mode %1 trim - + Flight mode %1 value - + Yellow - + Orange - + Red - + Winged Shadow How High - + Winged Shadow How High (not supported) - + FrSky Sensor Hub - + + None - + Imperial - + Metric - + Extra Fine очень точно - + Fine точно - + Medium средне - + Coarse грубо - + Exponential экспонента - + Count Up Прямой отсчет - + Count Down Обратный отсчет - + %1:%2, - + : %1 Channels, %2usec Delay - + + Flight modes(%1) + + + + + Flight mode(%1) + + + + Rudder Руддер - + Elevator Элеватор - + Throttle Газ - + Aileron Элероны - - - + + + Timer1 - - - + + + Timer2 - - + + All - - + + Telemetry - - Diff - - - - - Expo - - - - + Own trim - + Own value - + Keys - + Sticks - + Keys + Sticks - + + -GV%1 - - (-GV%1) - - - - - (GV%1) - - - - - - - + + + + ---- - - - + + + P1 - - - + + + P2 - - - + + + P3 - + MAX - - + + Rud - - + + Ele - - + + Thr - - + + Ail - + + REa - + + REb - + Alt - + Rpm - + Fuel - + Speed - + Dist - + GPS Alt - + Cell - - 3POS - - - - + A1 - + A2 - + T1 - + T2 - Curve - Кривая + Кривая - - - - - Flight modes settings on expos not exported - Phases settings on expos not exported - - - - - - - - - - - - Open9x on this board doesn't have Rotary Encoders - - - - - gruvin9x doesn't have trims as source - - - - - gruvin9x doesn't have swappable trims - - - - - gruvin9x on this board doesn't have Rotary Encoders - - - - - gruvin9x does not support Custom Switch function %1 - - - - - gruvin9x only accepts %1 expos - - - - - - gruvin9x doesn't support custom curves as curve%1, curve as been exported as fixed point - - - - - - gruvin9x doesn't support curve with %1 point as curve%2 - - - - - - - Open9x doesn't allow Curve%1 in expos - - - - - + + Simultaneous usage of expo and curves is no longer supported - - - - - - - - Flight modes settings on mixers not exported - - - - - - Flight mode settings on mixers not exported - Phases settings on mixers not exported - - - - - - - - This version of open9x does not support Custom Switch function %1 - - - - - - - - - - - - - - - - - - - - - - Open9x doesn't accept this protocol - - - - - - - - - - open9x only accepts %1 points in all curves - - - - + Simultaneous usage of expo and curves is no longer supported in open9x - - - open9x on this board doesn't have Rotary Encoders - - - - - - - - - - - - - - - - - open9x only accepts %1 expos - Gruvin9x firmware only accepts %1 expos - - - - + th9x - + er9x - + TrmR - + TrmE - + TrmT - + TrmA - - + + S1 - - + + S2 - - + + LS - - + + RS - - SA - - - - - SB - - - - - SC - - - - - SD - - - - - SE - - - - - SF - - - - - SG - - - - - SH - - - - + Batt - + Tx - + Rx - + SWR - + RSSI - + Cels - + Vfas - + Curr - + Cnsp - + Powr - + AccX - + AccY - + AccZ - + HDG - + VSpd - + A1- - + A2- - + Alt- - + Alt+ - + Rpm+ - + T1+ - + T2+ - + Spd+ - + Dst+ - + Cur+ - + ACC - + Time - + Pwr+ - + + + LS1 + + + + + + LS2 + + + + + + LS3 + + + + + + LS4 + + + + + + LS5 + + + + + + LS6 + + + + + + LS7 + + + + + + LS8 + + + + + + LS9 + + + + + + LSA + + + + + + LSB + + + + + + LSC + + + + + + LSD + + + + + + LSE + + + + + + LSF + + + + + + LSG + + + + + + LSH + + + + + + LSI + + + + + + LSJ + + + + + + LSK + + + + + + LSL + + + + + + LSM + + + + + + LSN + + + + + + LSO + + + + + + LSP + + + + + + LSQ + + + + + + LSR + + + + + + LSS + + + + + + LST + + + + + + LSU + + + + + + LSV + + + + + + LSW + + + + + Input %1 + + + + CYC%1 - + PPM%1 - + CH%1%2 CH%1 - + X%1 - + + S11 + + + + + S12 + + + + + S13 + + + + + S14 + + + + + S15 + + + + + S16 + + + + + S21 + + + + + S22 + + + + + S23 + + + + + S24 + + + + + S25 + + + + + S26 + + + + ONE - + !ONE - + TRNs - + TRNl - + REAs - + REAl - - + + Diff(%1) + + + + + Expo(%1) + + + + + Function(%1) + + + + + Curve(%1) + + + + + !Curve(%1) + + + + + + GV%1 - - - - + + THR - - - RUD - - - - - - ELE - - - - - ID0 - - - - - ID1 - - - - - ID2 - - - - - - AIL - - - - - - GEA - - - - - - TRN - - - - - - CS1 - - - - - - CS2 - - - - - - CS3 - - - - - - CS4 - - - - - - CS5 - - - - - - CS6 - - - - - - CS7 - - - - - - CS8 - - - - - - CS9 - - - - - - CSA - - - - - - CSB - - - - - - CSC - - - - - - CSD - - - - - - CSE - - - - - - CSF - - - - - - CSG - - - - - - CSH - - - - - - CSI - - - - - - CSJ - - - - - - CSK - - - - - - CSL - - - - - - CSM - - - - - - CSN - - - - - - CSO - - - - - - CSP - - - - - - CSQ - - - - - - CSR - - - - - - CSS - - - - - - CST - - - - - - CSU - - - - - - CSV - - - - - - CSW - - - - - + + ON - - + + OFF ВЫКЛ - - + + Support for frsky telemetry mod - - + + Support for jeti telemetry mod - - + + Support for receiving ardupilot data - - + + Support for receiving NMEA data - + Support for telemetry easy board - - + + Support for MAVLINK devices - + Rotary Encoder use in menus navigation - + Possibility to enable FAI MODE at field - + FAI MODE always enabled - + openTx for 9X board - - - - - + + + + + Enable heli menu and cyclic mix support - - - - - - + + + + + + Enable TEMPLATES menu - - - - + + + + No splash screen - - - - - - + + + + + + Disable curves menus - - - - + + + + Support for radio modified with regular speaker - - - - - + + + + + Used if you have modified your radio with voice mode - - - - + + + + Used if you have modified your radio with haptic mode - - - - - - - - + + + + + + + + Use alternative SQT5 font - - - - + + + + Enable the throttle trace in Statistics - + EEprom write progress bar - - + + No Winged Shadow How High support - - + + No vario support - - + + No GPS support - - + + No gauges in the custom telemetry screen - + + Allow compensating for offset errors in FrSky FAS current sensors + + + + openTx for M128 / 9X board - + openTx for 9XR - + openTx for 9XR with M128 chip - + openTx for Gruvin9x board / 9X - + Support of FrSky PXX protocol - + Use FrSky Taranis sticks in a 9X/9XR - + openTx for FrSky Taranis - - + + Disable HELI menu and cyclic mix support - - + + Disable TEMPLATES menu - - + + Disable Global variables - + openTx for FrSky Taranis Rev4a - - - - - + + + + + Support for DSM2 modules - - - - - - + + + + + + PPM center adjustment in limits - - - - - - - - + + + + + + + + PPM values displayed in us - - - - - - + + + + + + Symetrical Limits - - - - - + + + + + Pots use in menus navigation - + Your radio probably uses a wrong firmware, eeprom size is 4096 but only the first 2048 are used - - - - - - + + + + + + No flight modes - - + + SmartieParts 2.2 Backlight support - - - - - - + + + + + + In model setup menus automatically set source by moving some of them - - - - - - + + + + + + In model setup menus automatically set switch by moving some of them - - - - + + + + Enable resetting values by pressing up and down at the same time - - - - - - + + + + + + No graphical check boxes and sliders - - - - - - + + + + + + Battery graph - - - - - - + + + + + + Don't use bold font for highlighting active items - - - - + + + + EEprom write Progress bar - - - - - + + + + + Imperial units - + Bluetooth interface - - - - - - + + + + + + Global variables - + Support for SD memory card - + Support for DSM2 modules using ppm instead of true serial - + openTx for Sky9x board / 9X - + Enable HELI menu and cyclic mix support - + ersky9x - - er9x doesn't have Rotary Encoders - - - - - er9x doesn't have trims as source - - - - - er9x doesn't have negative gvars as weight - - - - - er9x doesn't have negative gvars as offset - - - - - - - er9x doesn't have swappable trims - - - - - - - er9x on this board doesn't have Rotary Encoders - - - - - er9x does not support Custom Switch function %1 - - - - - - - er9x does not support this range for A1/A2 - - - - - - - er9x does not support this telemetry units - - - - - - Er9x doesn't accept this protocol - - - - - - Er9x doesn't support custom curves as curve%1, curve as been exported as fixed point - - - - - - Er9x doesn't support curve with %1 point as curve%2 - - - - - - - - + + + + Warning Звук - - + EEPROM saved with these warnings: - - - ersky9x doesn't have Rotary Encoders - - - - - - ersky9x doesn't have trims as source - - - - - - ersky9x does not support Custom Switch function %1 - - - - - - Ersky9x doesn't accept this protocol - - - - - - - - ErSky9x doesn't support custom curves as curve%1, curve as been exported as fixed point - - - - - - - - ErSky9x doesn't support curve with %1 point as curve%2 - - - - - - + + + Simulator for this firmware is not yet available - - th9x does not support Custom Switch function %1 - - - - + th9x on this board doesn't have Rotary Encoders - - - - th9x doesn't support custom curves as curve%1, curve as been exported as fixed point - - - - - - - th9x doesn't support curve with %1 point as curve%2 - - - - - - Flight Mode 0 (Default) - - - - - - FM %1 - - - - + openTx only accepts %1 points in all curves - - - + + + OpenTX on this board doesn't accept this function - - + + OpenTX doesn't accept this protocol - + OpenTX doesn't allow this number of channels @@ -7514,6 +6111,587 @@ The OpenTX/Companion Team. + + Setup + + + Form + + + + + Model Name + Название модели + + + + Timer2 + + + + + Timer1 + + + + + Throttle Source + + + + + Switch startup Warning + + + + + Center beep + Бип в центре + + + + Trim Increment + Изм. триммеров + + + + ON + + + + + OFF + ВЫКЛ + + + + Check + + + + + Model Image + + + + + Exponential + экспонента + + + + Extra Fine + очень точно + + + + Fine + точно + + + + Medium + средне + + + + Coarse + грубо + + + + Extended Limits + Расш. лимиты + + + + Extended Trims + + + + + Throttle Trim + Газ трим + + + + Throttle Warning + + + + + Reverse throttle operation. +If this is checked the throttle will be reversed. Idle will be forward, trim will also be reversed and the throttle warning will be reversed as well. + + + Реверсировать канал газа (а также триммеры и предупреждения) + + + + Reverse Throttle + + + + + Telemetry + + + Form + + + + + + + + A1 + + + + + + + + A2 + + + + + RSSI + + + + + Alarm 1 + + + + + + ---- + + + + + + Yellow + + + + + + Orange + + + + + + Red + + + + + Alarm 2 + + + + + Serial Protocol + + + + + Volt source + + + + + Metric + + + + + Imperial + + + + + Current source + + + + + Protocol + Протокол + + + + NONE + + + + + + FAS + + + + + None + + + + + FrSky Sensor Hub + + + + + CEL + + + + + 2 + + + + + 3 + + + + + 4 + + + + + Units + + + + + Blades + + + + + Altimetry / Vario + + + + + Alti + + + + + Alti+ + + + + + Vario + + + + + Sink Max + + + + + Off + + + + + Climb Max + + + + + Sink Min + + + + + Climb Min + + + + + Vario source + + + + + Vario limits + + + + + Use GPS as altitude source + + + + + Display altitude in toolbar + + + + + Various + + + + + mAh count + + + + + FAS Offset + + + + + Persistent mAh + + + + + TelemetryAnalog + + + Form + + + + + Unit + + + + + Max Value + + + + + Alarm 1 + + + + + + ---- + + + + + + Yellow + + + + + + Orange + + + + + + Red + + + + + + < + + + + + + > + + + + + Alarm 2 + + + + + Min Value + + + + + Volts (V) + + + + + Amps (A) + + + + + Speed (m/s or ft/s) + + + + + Raw (-) + + + + + Speed (km/h or miles/h) + + + + + Meters (m or ft) + + + + + Temp (°) + + + + + Fuel (%) + + + + + mAmps (mA) + + + + + Range + + + + + TelemetryCustomScreen + + + Form + + + + + Custom Screen Type + + + + + Nums + + + + + Bars + + + + + Min + Мин + + + + Source + Источник + + + + Gauge + + + + + Max + Макс + + + + TelemetryPanel + + + Telemetry screen %1 + + + + + Winged Shadow How High + + + + + Winged Shadow How High (not supported) + + + + + Timer + + + Form + + + + + mm:ss + + + + + Countdown + + + + + MinuteBeep + + + + + Persistent + + + + + (00:00:00) + + + + + TimerPanel + + + None + + + + + Beeps + + + + + Countdown + + + avrOutputDialog @@ -7667,7 +6845,7 @@ Do you want some help ? burnConfigDialog - + AVRDUDE Configuration Настроить программатор @@ -7821,35 +6999,35 @@ Please only use this if you know what you are doing. There are no error checks - + DFU-UTIL Configuration - + SAM-BA Configuration - - - + + + Select Location Выбрать расположение - - + + Companion - + <b><u>WARNING!</u></b><br>This will reset the fuses of %1 to the factory settings.<br>Writing fuses can mess up your radio.<br>Do this only if you are sure they are wrong!<br>Are you sure you want to continue? - + <b><u>WARNING!</u></b><br>Normally CPU type is automatically selected according to the chosen firmware.<br>If you change the CPU type the resulting eeprom could be inconsistent. @@ -7911,7 +7089,7 @@ m2560 for v4.1 boards - + Browse for file @@ -7957,7 +7135,7 @@ m2560 for v4.1 boards - + Write to TX @@ -7982,17 +7160,17 @@ m2560 for v4.1 boards - + Write firmware to TX - + Current profile - + Open Открыть @@ -8001,134 +7179,134 @@ m2560 for v4.1 boards Выберите файл для записи в EEPROM - + Write Models and Settings to TX - + Write Models and Settings in %1 to TX - + Choose file to load Models and Settings from - - - - - - + + + + + + Warning Звук - + %1 is not a known firmware - + Burn anyway ! - + Unable to find file %1! Невозможно найти файл %1! - - - + + + Error opening file %1: %2. - - - + + + Invalid binary Models and Settings File %1, Proceed anyway ? - + Error reading file %1: %2. Ошибка при считывании файла %1: %2. - + Open Image to load - + Images (%1) - + Wrong radio calibration data in profile, Settings not patched - + Wrong radio setting data in profile, Settings not patched - - + + Cannot write file %1: %2. Не удается записать файл %1: %2. - + Error writing file %1: %2. Ошибка при записи файла %1: %2. - - - - - - - - - - + + + + + + + + + + Error Ошибка - - + + Cannot load %1. - + Cannot save customized firmware - + Custom image not found - + No firmware selected @@ -8312,14 +7490,14 @@ m2560 for v4.1 boards - + - - - - - - + + + + + + Switch @@ -8356,10 +7534,10 @@ m2560 for v4.1 boards - - - - + + + + Offset @@ -8367,8 +7545,8 @@ m2560 for v4.1 boards - - + + Min Мин @@ -8376,8 +7554,8 @@ m2560 for v4.1 boards - - + + Max Макс @@ -8393,8 +7571,8 @@ m2560 for v4.1 boards - - + + CH @@ -8428,198 +7606,165 @@ m2560 for v4.1 boards - + Weight Вес - - - Expo - - - - + - - + + DISABLED - - - - - - + + Curve Кривая - + Mixers - - + + noTrim - - - FMTrim - - - - - - Diff - - - - - + + Delay(u%1:d%2) Задержка(u%1:d%2) - - + + Slow(u%1:d%2) Задержка(u%1:d%2) - - + + Warn - + Curves Кривые - + 5 Points Curves - - - - + + + + pt %1 - + 9 Points Curves - - Custom Switches - - - - - - CS - - - - - + + Function Функция - - + + Param - - + + Enable - + CF - + Telemetry Settings - - + + Analog - - + + Unit - - + + Scale - - - - + + + + A%1 - - + + Alarm 1 - - + + Alarm 2 - - - - + + + + Type - - - - + + + + Condition - - - - - - + + + + + + Value Значение @@ -8651,74 +7796,85 @@ m2560 for v4.1 boards - + - - + + Flight modes - + - - + + Flight mode + - Custom Functions - - - - - Repeat - + Safety Switches Защитные выкл. - - + + RSSI Alarm - - + + Telemetry Bars - - + + Bar Number - - + + Source Источник - - + + Custom Telemetry View - + + Logical Switches + + + + + + LS + + + + + Switch Assignment + + + + Print Document - + Select PDF output file @@ -8731,39 +7887,37 @@ m2560 for v4.1 boards Диалог - + People who have contributed to this project - + Coders - - Honors go to Rafal Tomczak (RadioClone) and Thomas Husterer (th9x) -of course. Also to Erez Raviv (er9x) and the fantastic eePe program -which was the staring point for OpenTX Companion. - - - - + Companion Release Notes - + Thank you all !!! - + + Honors go to Rafal Tomczak (RadioClone), Thomas Husterer (th9x) and Erez Raviv (er9x and eePe) + + + + Contributors - + OpenTX Release Notes @@ -8806,7 +7960,7 @@ which was the staring point for OpenTX Companion. - + Save Firmware Save To Hex @@ -8821,80 +7975,80 @@ p, li { white-space: pre-wrap; } - - - + + + Select an original firmware file - + Open Открыть - + Select an image to customize your splash <br />or save actual firmware splash - - - - + + + + Error Ошибка - + Could not find bitmap to replace in file - + Open Image to load - + Images (%1) - - + + Cannot load %1. - - + + Save your custimized firmware - - + + Write to file - + Error reading file %1 Ошибка при считывании файла %1! {1?} - + Firmware correctly saved. - + Firmware not saved. - + PNG images (*.png);; @@ -9303,17 +8457,17 @@ Press cancel to abort joystick calibration %2. - + Select your log file - + Available fields - + The selected logfile contains %1 invalid lines out of %2 total lines @@ -9321,7 +8475,7 @@ Press cancel to abort joystick calibration mdiChild - + Simulate Tx @@ -9771,33 +8925,33 @@ Press cancel to abort joystick calibration Настройки - + Language (requires restart) Язык (треб. перезапуск) - + Recent History Size - - + + Download - + Default Channel Order Порядок следов. каналов - + Default Stick Mode Режим стиков - + Channel order This is used by the templated to determine which channel goes to what number output. @@ -9806,17 +8960,12 @@ This is used by the templated to determine which channel goes to what number out Шаблон для определения порядка следования каналов. - + FwInfo - - Show Splash Screen - - - - + Mode selection: Mode 1: @@ -9839,377 +8988,438 @@ Mode 4: - + Mode 1 (RUD ELE THR AIL) - + Mode 2 (RUD THR ELE AIL) - + Mode 3 (AIL ELE THR RUD) - + Mode 4 (AIL THR ELE RUD) - + Automatic Backup Folder - + Automatically add version number to the filename after download - + Voice - + Set language of voice. May be different from firmware language - + Firmware - + + Theme + + + + + + Requires restart + + + + + Classic + + + + + Monochrome + + + + + MonoWhite + + + + + MonoBlue + + + + + Icon size + + + + + Small + + + + + Normal + нормально + + + + Big + + + + + Huge + + + + Find Executable - + Google Earth Executable - + Check for updates on startup Проверять обновления - - + + ... - + Splash library behaviour - + Include companion splashes - + Only user defined splashes - + Custom TX splash screen - + Personal splash library - + Joystick - - - - + + + + Open Folder - + SD Structure path - + Processor ID - + Simulator capture folder - + Use clipboard only - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CheckBox - + Check for updates - + Language - + Profile Name - + Export Profile - + Save Profile - + Import Profile - + Simu BackLight - + Check for selected Fw updates - + Ask use of wizard for new models - + + Show Splash At Start + + + + Remember switches in simulator - + Blue Blu - + Green - + Red - + Orange - + Yellow - + Profile slot - + auto backup before write - + Ask for flashing after Download - + Enable - + Calibrate - + Open Image - + Invert Pixels - + Last downloaded release: %1 - + Image stored in settings - - + + No joysticks found - + Select your snapshot folder - + Select your Models and Settings backup folder - + Select Google Earth executable - + Select the folder replicating your SD structure - + Profile name is empty, profile slot %1 will be deleted.<br>Are you sure ? - + Export profile As - + Profile slot is not empty, profile slot %1 will we overwritten.<br>Are you sure ? - + Open Profile to import - + Open Image to load - + Images (%1) - - + + Error Ошибка - + The selected firmware has never been downloaded by Companion. - + The selected firmware cannot be downloaded by Companion. - + Select your library folder - - + + Cannot load %1. @@ -10251,9 +9461,9 @@ May be different from firmware language - - - + + + Name @@ -10326,7 +9536,7 @@ May be different from firmware language - + Enabled @@ -10387,12 +9597,12 @@ May be different from firmware language Кривая(%1) - + Delay(u%1:d%2) Задержка(u%1:d%2) - + Slow(u%1:d%2) Задержка(u%1:d%2) @@ -10401,9 +9611,7 @@ May be different from firmware language Пред(%1) - - - + pt %1 @@ -10412,21 +9620,21 @@ May be different from firmware language Кривая %1 - + Source Источник - + Function Функция - - - - + + + + Switch @@ -10466,271 +9674,239 @@ May be different from firmware language Вес - - - - - Expo - - - - - + + DISABLED - - - - - - - + + + Curve Кривая - + Mixers - - - - - + + + + + CH - + noTrim - - FMTrim - - - - - - - - + + + + + Offset - - Diff - - - - + Warn - + Limits Лимиты - - - - + + + + Min Мин - - - - + + + + Max Макс - - - + + + Invert Инверт - - - + + + INV - - - + + + NOR - + Curves Кривые - - 5 Points Curves - - - - - 9 Points Curves - - - - - Custom Switches - - - - - - CS - - - - + Global Variables - + GV - + Safety Switches Защитные выкл. - - - - - + + + + + Value Значение - - Function Switches - - - - + Parameter - + Repeat - + ODF files (*.odt);;PDF Files(*.pdf);;HTML-Files (*.htm *.html);;All Files (*) - + Telemetry Settings - - + + Logical Switches + + + + + + LS + + + + + Switch Assignments + + + + + Alarm 1 - - + + Alarm 2 - + Analog - + Unit - + Scale - - - - + + + + Type - - - - + + + + Condition - + A%1 - + RSSI Alarm - + Frsky serial protocol - + System of units - + Propeller blades - + Telemetry Bars - + Bar Number - - + + Custom Telemetry View @@ -10753,29 +9929,24 @@ May be different from firmware language - - + + Flight modes - - + + Flight mode - - CF - - - - + Print Document - + Select PDF output file @@ -10788,17 +9959,17 @@ May be different from firmware language ER9x Симулятор - + P1 - + P2 - + P3 @@ -10824,33 +9995,33 @@ May be different from firmware language - + Hold X - + Fix X - + Fix Y - + Hold Y - - + + TextLabel @@ -10870,17 +10041,17 @@ May be different from firmware language - + ID1 - + ID2 - + BEEP @@ -10888,19 +10059,19 @@ May be different from firmware language - + Right Double Click to Reset - - - + + + 0 % - + 9x Simulator @@ -10909,270 +10080,268 @@ May be different from firmware language Outputs - - - CSK - SWK - - - - - CS1 - - Companion Simulator + + + LS1 + + - CS2 + LS2 - CS3 + LS3 - CS4 + LS4 - CS5 + LS5 - CS6 + LS6 - CS7 + LS7 - CS8 + LS8 - CS9 + LS9 - CSA + LSA - CSB + LSB - CSC + LSC - CSD + LSD - CSE + LSE - CSF + LSF - CSG + LSG - CSH + LSH - CSI + LSI - - CSJ + + LSJ - - CSL + + LSK - - CSM + + LSL - - CSN + + LSM - - CSO + + LSN - - CSP + + LSO - - CSQ + + LSP - - CSR + + LSQ - - CSS + + LSR - - CST + + LSS - - CSU + + LST - - CSV + + LSU - - CSW - SWW + + LSV - + + LSW + + + + CH1 - + CH9 - + CH2 - + CH10 - + CH3 - + CH11 - + CH4 - + CH12 - + CH5 - + CH13 - + CH6 - + CH14 - + CH7 - + CH15 - + CH8 - + CH16 - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + -100.1 @@ -11216,33 +10385,33 @@ May be different from firmware language splashLibrary - + ... - + Splash Library - page %1 of %2 - + Warning Звук - + Invalid image in library %1 - + Information - + No valid image found in library, check your settings @@ -11393,16 +10562,16 @@ May be different from firmware language - - - - - - - - - - + + + + + + + + + + -100.1 @@ -11437,207 +10606,207 @@ May be different from firmware language - + CH12 - + CH5 - + CH13 - + CH6 - + CH14 - + CH7 - + CH15 - + CH8 - + CH16 - + CSK - + CSC - + CSD - + CS7 - + CSL - + CSB - + CS1 - + CSH - + CSG - + CSE - + CSF - + CS8 - + CS9 - + CSA - + CSM - + CSJ - + CSI - + CS4 - + CS5 - + CS2 - + CS3 - + CS6 - + CSN - + CSO - + CSP - + CSQ - + CSR - + CSS - + CST - + CSU - + CSV - + CSW @@ -11658,22 +10827,22 @@ May be different from firmware language - + Firmware %1 error: %2 - + - Flight mode: %1(%2) - + Simulating Tx (%1) - + Simulating Симуляция diff --git a/companion/src/translations/companion_sv.ts b/companion/src/translations/companion_sv.ts index 3f82a36d7..0dbc1f7c3 100644 --- a/companion/src/translations/companion_sv.ts +++ b/companion/src/translations/companion_sv.ts @@ -9317,7 +9317,7 @@ Får skilja från språket för mjukvaran simulatorDialog - + P1 P1 @@ -9332,7 +9332,7 @@ Får skilja från språket för mjukvaran P3 - + THR GAS @@ -9353,38 +9353,38 @@ Får skilja från språket för mjukvaran - + Hold X Håll X - - + + Fix X Fixera X - - + + Fix Y Fixera Y - - + + Hold Y Håll Y - + - + TextLabel Textettikett - + TRN TRN @@ -9399,7 +9399,7 @@ Får skilja från språket för mjukvaran ID0 - + ID1 ID1 @@ -9414,20 +9414,20 @@ Får skilja från språket för mjukvaran Summer - + - + Right Double Click to Reset Höger dubbelklick nollställer - + Companion Simulator Companion Simulator - + 9x Simulator Simulator för 9x @@ -9437,7 +9437,167 @@ Får skilja från språket för mjukvaran Utgångar - + + LS1 + LB1 + + + + LS2 + LB2 + + + + LS3 + LB3 + + + + LS4 + LB4 + + + + LS5 + LB5 + + + + LS6 + LB6 + + + + LS7 + LB7 + + + + LS8 + LB8 + + + + LS9 + LB9 + + + + LSA + LBA + + + + LSB + LBB + + + + LSC + LBC + + + + LSD + LBD + + + + LSE + LBE + + + + LSF + LBF + + + + LSG + LBG + + + + LSH + LBH + + + + LSI + LBI + + + + LSJ + LBJ + + + + LSK + LBK + + + + LSL + LBL + + + + LSM + LBM + + + + LSN + LBN + + + + LSO + LBO + + + + LSP + LBP + + + + LSQ + LBQ + + + + LSR + LBR + + + + LSS + LBS + + + + LST + LBT + + + + LSU + LBU + + + + LSV + LBV + + + + LSW + LBW + + + CH1 KN1 @@ -9482,7 +9642,7 @@ Får skilja från språket för mjukvaran KN5 - + CH13 KN13 @@ -9517,7 +9677,7 @@ Får skilja från språket för mjukvaran KN16 - + @@ -9526,7 +9686,7 @@ Får skilja från språket för mjukvaran - + @@ -9568,7 +9728,7 @@ Får skilja från språket för mjukvaran Simulerar - + 0 % @@ -9580,164 +9740,132 @@ Får skilja från språket för mjukvaran - Fligmod: %1(%2) - CS1 - LB1 + LB1 - CS2 - LB2 + LB2 - CS3 - LB3 + LB3 - CS4 - LB4 + LB4 - CS5 - LB5 + LB5 - CS6 - LB6 + LB6 - CS7 - LB7 + LB7 - CS8 - LB8 + LB8 - CS9 - LB9 + LB9 - CSA - LBA + LBA - CSB - LBB + LBB - CSC - LBC + LBC - CSD - LBD + LBD - CSE - LBE + LBE - CSF - LBF + LBF - CSG - LBG + LBG - CSH - LBH + LBH - CSI - LBI + LBI - CSJ - LBJ + LBJ - CSK - LBK + LBK - CSL - LBL + LBL - CSM - LBM + LBM - CSN - LBN + LBN - CSO - LBO + LBO - CSP - LBP + LBP - CSQ - LBQ + LBQ - CSR - LBR + LBR - CSS - LBS + LBS - CST - LBT + LBT - CSU - LBU + LBU - CSV - LBV + LBV - CSW - LBW + LBW From 5960f258789e2d1c8ff0473f9e499baa10b6472e Mon Sep 17 00:00:00 2001 From: Dvogonen Date: Mon, 3 Feb 2014 13:50:19 +0100 Subject: [PATCH 57/61] Changed CS labels in xsimulator to LS labels --- companion/src/translations/companion_cs.ts | 282 +++++++++++++++------ companion/src/translations/companion_de.ts | 162 ++++++------ companion/src/translations/companion_fr.ts | 282 +++++++++++++++------ companion/src/translations/companion_he.ts | 154 +++++------ companion/src/translations/companion_it.ts | 282 +++++++++++++++------ companion/src/translations/companion_pl.ts | 282 +++++++++++++++------ companion/src/translations/companion_pt.ts | 154 +++++------ companion/src/translations/companion_ru.ts | 154 +++++------ companion/src/translations/companion_sv.ts | 264 ++++++++++++++----- companion/src/xsimulatordialog.ui | 65 ++--- 10 files changed, 1360 insertions(+), 721 deletions(-) diff --git a/companion/src/translations/companion_cs.ts b/companion/src/translations/companion_cs.ts index 70e5b77ce..da792cef7 100644 --- a/companion/src/translations/companion_cs.ts +++ b/companion/src/translations/companion_cs.ts @@ -12978,12 +12978,12 @@ nutno zastavět hlasový modul - - - - - - + + + + + + -100.1 @@ -13028,199 +13028,327 @@ nutno zastavět hlasový modul - + CH13 - + CH6 - + CH14 - + CH7 - + CH15 - + CH8 - + CH16 - + + LSK + + + + + LSC + + + + + LSD + + + + + LS7 + + + + + LSL + + + + + LSB + + + + + LS1 + + + + + LSH + + + + + LSG + + + + + LSE + + + + + LSF + + + + + LS8 + + + + + LS9 + + + + + LSA + + + + + LSM + + + + + LSJ + + + + + LSI + + + + + LS4 + + + + + LS5 + + + + + LS2 + + + + + LS3 + + + + + LS6 + + + + + LSN + + + + + LSO + + + + + LSP + + + + + LSQ + + + + + LSR + + + + + LSS + + + + + LST + + + + + LSU + + + + + LSV + + + + + LSW + + + CSK - VSK + VSK - CSC - VSC + VSC - CSD - VSD + VSD - CS7 - VS7 + VS7 - CSL - VSL + VSL - CSB - VSB + VSB - CS1 - VS1 + VS1 - CSH - VSH + VSH - CSG - VSG + VSG - CSE - VSE + VSE - CSF - VSF + VSF - CS8 - VS8 + VS8 - CS9 - VS9 + VS9 - CSA - VSA + VSA - CSM - VSM + VSM - CSJ - VSJ + VSJ - CSI - VSI + VSI - CS4 - VS4 + VS4 - CS5 - VS5 + VS5 - CS2 - VS2 + VS2 - CS3 - VS3 + VS3 - CS6 - VS6 + VS6 - CSN - VSN + VSN - CSO - VSO + VSO - CSP - VSP + VSP - CSQ - VSQ + VSQ - CSR - VSR + VSR - CSS - VSS + VSS - CST - VST + VST - CSU - VSU + VSU - CSV - VSV + VSV - CSW - VSW + VSW SWN diff --git a/companion/src/translations/companion_de.ts b/companion/src/translations/companion_de.ts index 4e55bfefe..f609f3fc0 100644 --- a/companion/src/translations/companion_de.ts +++ b/companion/src/translations/companion_de.ts @@ -12623,12 +12623,6 @@ May be different from firmware language Outputs Ausgaben - - - CSK - SWK - - SW1 SW1 @@ -12731,12 +12725,12 @@ May be different from firmware language - - - - - - + + + + + + -100.1 -100.1 @@ -12781,194 +12775,198 @@ May be different from firmware language CH5 - + CH13 CH13 - + CH6 CH6 - + CH14 CH14 - + CH7 CH7 - + CH15 CH15 - + CH8 CH8 - + CH16 CH16 - - CSC + + LSK - - CSD + + LSC - - CS7 + + LSD - - CSL + + LS7 - - CSB + + LSL - - CS1 + + LSB - - CSH + + LS1 - - CSG + + LSH - - CSE + + LSG - - CSF + + LSE - - CS8 + + LSF - - CS9 + + LS8 - - CSA + + LS9 - - CSM + + LSA - - CSJ + + LSM - - CSI + + LSJ - - CS4 + + LSI - - CS5 + + LS4 - - CS2 + + LS5 - - CS3 + + LS2 - - CS6 + + LS3 - - CSN + + LS6 - - CSO + + LSN - - CSP + + LSO - - CSQ + + LSP - - CSR + + LSQ - - CSS + + LSR - - CST + + LSS - - CSU + + LST - - CSV + + LSU - - CSW - SWW + + LSV + + + + + LSW diff --git a/companion/src/translations/companion_fr.ts b/companion/src/translations/companion_fr.ts index 8ac316d4d..f693dd9da 100644 --- a/companion/src/translations/companion_fr.ts +++ b/companion/src/translations/companion_fr.ts @@ -12157,10 +12157,9 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de Sorties - CSK SWK - IPK + IPK @@ -12188,12 +12187,12 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de - - - - - - + + + + + + -100.1 @@ -12238,195 +12237,324 @@ Indique l'affectation voie / numéro de canal par défaut utilisée lors de VOIE5 - + CH13 VOIE13 - + CH6 VOIE6 - + CH14 VOIE14 - + CH7 VOIE7 - + CH15 VOIE15 - + CH8 VOIE8 - + CH16 VOIE16 - + + LSK + + + + + LSC + + + + + LSD + + + + + LS7 + + + + + LSL + + + + + LSB + + + + + LS1 + + + + + LSH + + + + + LSG + + + + + LSE + + + + + LSF + + + + + LS8 + + + + + LS9 + + + + + LSA + + + + + LSM + + + + + LSJ + + + + + LSI + + + + + LS4 + + + + + LS5 + + + + + LS2 + + + + + LS3 + + + + + LS6 + + + + + LSN + + + + + LSO + + + + + LSP + + + + + LSQ + + + + + LSR + + + + + LSS + + + + + LST + + + + + LSU + + + + + LSV + + + + + LSW + + + CSC - IPC + IPC - CSD - IPD + IPD - CS7 - IP7 + IP7 - CSL - IPL + IPL - CSB - IPB + IPB - CS1 - IP1 + IP1 - CSH - IPH + IPH - CSG - IPG + IPG - CSE - IPE + IPE - CSF - IPF + IPF - CS8 - IP8 + IP8 - CS9 - IP9 + IP9 - CSA - IPA + IPA - CSM - IPM + IPM - CSJ - IPJ + IPJ - CSI - IPI + IPI - CS4 - IP4 + IP4 - CS5 - IP5 + IP5 - CS2 - IP2 + IP2 - CS3 - IP3 + IP3 - CS6 - IP6 + IP6 - CSN - IPN + IPN - CSO - IPO + IPO - CSP - IPQ + IPQ - CSQ - IPR + IPR - CSR - IPS + IPS - CSS - IPS + IPS - CST - IPT + IPT - CSU - IPU + IPU - CSV - IPV + IPV - CSW SWW - IPW + IPW diff --git a/companion/src/translations/companion_he.ts b/companion/src/translations/companion_he.ts index ad27c1f99..d50bb0331 100644 --- a/companion/src/translations/companion_he.ts +++ b/companion/src/translations/companion_he.ts @@ -9622,12 +9622,12 @@ May be different from firmware language - - - - - - + + + + + + -100.1 @@ -9672,198 +9672,198 @@ May be different from firmware language - + CH13 - + CH6 - + CH14 - + CH7 - + CH15 - + CH8 - + CH16 - - CSK + + LSK - - CSC + + LSC - - CSD + + LSD - - CS7 + + LS7 - - CSL + + LSL - - CSB + + LSB - - CS1 + + LS1 - - CSH + + LSH - - CSG + + LSG - - CSE + + LSE - - CSF + + LSF - - CS8 + + LS8 - - CS9 + + LS9 - - CSA + + LSA - - CSM + + LSM - - CSJ + + LSJ - - CSI + + LSI - - CS4 + + LS4 - - CS5 + + LS5 - - CS2 + + LS2 - - CS3 + + LS3 - - CS6 + + LS6 - - CSN + + LSN - - CSO + + LSO - - CSP + + LSP - - CSQ + + LSQ - - CSR + + LSR - - CSS + + LSS - - CST + + LST - - CSU + + LSU - - CSV + + LSV - - CSW + + LSW diff --git a/companion/src/translations/companion_it.ts b/companion/src/translations/companion_it.ts index 039656ed1..e510c9c16 100644 --- a/companion/src/translations/companion_it.ts +++ b/companion/src/translations/companion_it.ts @@ -12293,16 +12293,14 @@ Può essere differente dalla lingua del firmware Uscite - CSK SWK - CSK + CSK - CSW SWW - CSW + CSW @@ -12325,12 +12323,12 @@ Può essere differente dalla lingua del firmware - - - - - - + + + + + + -100.1 -100.1 @@ -12375,189 +12373,319 @@ Può essere differente dalla lingua del firmware CH5 - + CH13 CH13 - + CH6 CH6 - + CH14 CH14 - + CH7 CH7 - + CH15 CH15 - + CH8 CH8 - + CH16 CH16 - + + LSK + + + + + LSC + + + + + LSD + + + + + LS7 + + + + + LSL + + + + + LSB + + + + + LS1 + + + + + LSH + + + + + LSG + + + + + LSE + + + + + LSF + + + + + LS8 + + + + + LS9 + + + + + LSA + + + + + LSM + + + + + LSJ + + + + + LSI + + + + + LS4 + + + + + LS5 + + + + + LS2 + + + + + LS3 + + + + + LS6 + + + + + LSN + + + + + LSO + + + + + LSP + + + + + LSQ + + + + + LSR + + + + + LSS + + + + + LST + + + + + LSU + + + + + LSV + + + + + LSW + + + CSC - CSC + CSC - CSD - CSD + CSD - CS7 - CS7 + CS7 - CSL - CSL + CSL - CSB - CSB + CSB - CS1 - CS1 + CS1 - CSH - CSH + CSH - CSG - CSG + CSG - CSE - CSE + CSE - CSF - CSF + CSF - CS8 - CS8 + CS8 - CS9 - CS9 + CS9 - CSA - CSA + CSA - CSM - CSM + CSM - CSJ - CSJ + CSJ - CSI - CSI + CSI - CS4 - CS4 + CS4 - CS5 - CS5 + CS5 - CS2 - CS2 + CS2 - CS3 - CS3 + CS3 - CS6 - CS6 + CS6 - CSN - CSN + CSN - CSO - CSO + CSO - CSP - CSP + CSP - CSQ - CSQ + CSQ - CSR - CSR + CSR - CSS - CSS + CSS - CST - CST + CST - CSU - CSU + CSU - CSV - CSV + CSV diff --git a/companion/src/translations/companion_pl.ts b/companion/src/translations/companion_pl.ts index 1a2009899..9a73c401b 100644 --- a/companion/src/translations/companion_pl.ts +++ b/companion/src/translations/companion_pl.ts @@ -9968,12 +9968,12 @@ Mode 4: - - - - - - + + + + + + -100.1 @@ -10018,199 +10018,327 @@ Mode 4: Kanał 05 - + CH13 Kanał 13 - + CH6 Kanał 06 - + CH14 Kanał 14 - + CH7 Kanał 07 - + CH15 Kanał 15 - + CH8 Kanał 08 - + CH16 Kanał 16 - + + LSK + PLK + + + + LSC + PLC + + + + LSD + PLD + + + + LS7 + PL7 + + + + LSL + PLL + + + + LSB + PLB + + + + LS1 + PL1 + + + + LSH + PLH + + + + LSG + PLG + + + + LSE + PLE + + + + LSF + PLF + + + + LS8 + PL8 + + + + LS9 + PL9 + + + + LSA + PLA + + + + LSM + PLM, + + + + LSJ + PLJ + + + + LSI + PLI + + + + LS4 + PL4 + + + + LS5 + PL5 + + + + LS2 + PL2 + + + + LS3 + PL3 + + + + LS6 + PL6 + + + + LSN + PLN + + + + LSO + PLO + + + + LSP + PLP + + + + LSQ + PLQ + + + + LSR + PLR + + + + LSS + PLS + + + + LST + PLT + + + + LSU + PLU + + + + LSV + PLV + + + + LSW + PLW + + CSK - PLK + PLK - CSC - PLC + PLC - CSD - PLD + PLD - CS7 - PL7 + PL7 - CSL - PLL + PLL - CSB - PLB + PLB - CS1 - PL1 + PL1 - CSH - PLH + PLH - CSG - PLG + PLG - CSE - PLE + PLE - CSF - PLF + PLF - CS8 - PL8 + PL8 - CS9 - PL9 + PL9 - CSA - PLA + PLA - CSM - PLM + PLM - CSJ - PLJ + PLJ - CSI - PLI + PLI - CS4 - PL4 + PL4 - CS5 - PL5 + PL5 - CS2 - PL2 + PL2 - CS3 - PL3 + PL3 - CS6 - PL6 + PL6 - CSN - PLN + PLN - CSO - PLO + PLO - CSP - PLP + PLP - CSQ - PLQ + PLQ - CSR - PLR + PLR - CSS - PLS + PLS - CST - PLT + PLT - CSU - PLU + PLU - CSV - PLV + PLV - CSW - PLW + PLW diff --git a/companion/src/translations/companion_pt.ts b/companion/src/translations/companion_pt.ts index 19ffdc4cd..4112ecd3d 100644 --- a/companion/src/translations/companion_pt.ts +++ b/companion/src/translations/companion_pt.ts @@ -11122,12 +11122,12 @@ May be different from firmware language - - - - - - + + + + + + -100.1 -100.1 @@ -11172,198 +11172,198 @@ May be different from firmware language CH5 - + CH13 CH13 - + CH6 CH6 - + CH14 CH14 - + CH7 CH7 - + CH15 CH15 - + CH8 CH8 - + CH16 CH16 - - CSK + + LSK - - CSC + + LSC - - CSD + + LSD - - CS7 + + LS7 - - CSL + + LSL - - CSB + + LSB - - CS1 + + LS1 - - CSH + + LSH - - CSG + + LSG - - CSE + + LSE - - CSF + + LSF - - CS8 + + LS8 - - CS9 + + LS9 - - CSA + + LSA - - CSM + + LSM - - CSJ + + LSJ - - CSI + + LSI - - CS4 + + LS4 - - CS5 + + LS5 - - CS2 + + LS2 - - CS3 + + LS3 - - CS6 + + LS6 - - CSN + + LSN - - CSO + + LSO - - CSP + + LSP - - CSQ + + LSQ - - CSR + + LSR - - CSS + + LSS - - CST + + LST - - CSU + + LSU - - CSV + + LSV - - CSW + + LSW diff --git a/companion/src/translations/companion_ru.ts b/companion/src/translations/companion_ru.ts index 6e8c58c04..d57799c1a 100644 --- a/companion/src/translations/companion_ru.ts +++ b/companion/src/translations/companion_ru.ts @@ -10566,12 +10566,12 @@ May be different from firmware language - - - - - - + + + + + + -100.1 @@ -10616,198 +10616,198 @@ May be different from firmware language - + CH13 - + CH6 - + CH14 - + CH7 - + CH15 - + CH8 - + CH16 - - CSK + + LSK - - CSC + + LSC - - CSD + + LSD - - CS7 + + LS7 - - CSL + + LSL - - CSB + + LSB - - CS1 + + LS1 - - CSH + + LSH - - CSG + + LSG - - CSE + + LSE - - CSF + + LSF - - CS8 + + LS8 - - CS9 + + LS9 - - CSA + + LSA - - CSM + + LSM - - CSJ + + LSJ - - CSI + + LSI - - CS4 + + LS4 - - CS5 + + LS5 - - CS2 + + LS2 - - CS3 + + LS3 - - CS6 + + LS6 - - CSN + + LSN - - CSO + + LSO - - CSP + + LSP - - CSQ + + LSQ - - CSR + + LSR - - CSS + + LSS - - CST + + LST - - CSU + + LSU - - CSV + + LSV - - CSW + + LSW diff --git a/companion/src/translations/companion_sv.ts b/companion/src/translations/companion_sv.ts index 0dbc1f7c3..a215a0c56 100644 --- a/companion/src/translations/companion_sv.ts +++ b/companion/src/translations/companion_sv.ts @@ -10012,7 +10012,7 @@ Får skilja från språket för mjukvaran - + @@ -10022,7 +10022,7 @@ Får skilja från språket för mjukvaran -100.1 - + CH9 KN9 @@ -10062,7 +10062,7 @@ Får skilja från språket för mjukvaran KN5 - + CH13 KN13 @@ -10096,6 +10096,166 @@ Får skilja från språket för mjukvaran CH16 KN16 + + + LSK + LBK + + + + LSC + LBC + + + + LSD + LBD + + + + LS7 + LB7 + + + + LSL + LBL + + + + LSB + LBB + + + + LS1 + LB1 + + + + LSH + LBH + + + + LSG + LBG + + + + LSE + LBE + + + + LSF + LBF + + + + LS8 + LB8 + + + + LS9 + LB9 + + + + LSA + LBA + + + + LSM + LBM + + + + LSJ + LBJ + + + + LSI + LBI + + + + LS4 + LB4 + + + + LS5 + LB5 + + + + LS2 + LB2 + + + + LS3 + LB3 + + + + LS6 + LB6 + + + + LSN + LBN + + + + LSO + LBO + + + + LSP + LBP + + + + LSQ + LBQ + + + + LSR + LBR + + + + LSS + LBS + + + + LST + LBT + + + + LSU + LBU + + + + LSV + LBV + + + + LSW + LBW + @@ -10128,7 +10288,7 @@ Får skilja från språket för mjukvaran Simulerar - + SF @@ -10169,164 +10329,132 @@ Får skilja från språket för mjukvaran - Fligmod: %1(%2) - CSK - LBK + LBK - CSC - LBC + LBC - CSD - LBD + LBD - CS7 - LB7 + LB7 - CSL - LBL + LBL - CSB - LBB + LBB - CS1 - LB1 + LB1 - CSH - LBH + LBH - CSG - LBG + LBG - CSE - LBE + LBE - CSF - LBF + LBF - CS8 - LB8 + LB8 - CS9 - LB9 + LB9 - CSA - LBA + LBA - CSM - LBM + LBM - CSJ - LBJ + LBJ - CSI - LBI + LBI - CS4 - LB4 + LB4 - CS5 - LB5 + LB5 - CS2 - LB2 + LB2 - CS3 - LB3 + LB3 - CS6 - LB6 + LB6 - CSN - LBN + LBN - CSO - LBO + LBO - CSP - LBP + LBP - CSQ - LBQ + LBQ - CSR - LBR + LBR - CSS - LBS + LBS - CST - LBT + LBT - CSU - LBU + LBU - CSV - LBV + LBV - CSW - LBW + LBW diff --git a/companion/src/xsimulatordialog.ui b/companion/src/xsimulatordialog.ui index 4a5454c5d..b1b5b4859 100644 --- a/companion/src/xsimulatordialog.ui +++ b/companion/src/xsimulatordialog.ui @@ -2311,6 +2311,7 @@ border-radius: 4px; + false @@ -2893,7 +2894,7 @@ border-radius: 4px; - CSK + LSK Qt::AlignCenter @@ -2924,7 +2925,7 @@ border-radius: 4px; - CSC + LSC Qt::AlignCenter @@ -2955,7 +2956,7 @@ border-radius: 4px; - CSD + LSD Qt::AlignCenter @@ -2986,7 +2987,7 @@ border-radius: 4px; - CS7 + LS7 Qt::AlignCenter @@ -3017,7 +3018,7 @@ border-radius: 4px; - CSL + LSL Qt::AlignCenter @@ -3048,7 +3049,7 @@ border-radius: 4px; - CSB + LSB Qt::AlignCenter @@ -3079,7 +3080,7 @@ border-radius: 4px; - CS1 + LS1 Qt::AlignCenter @@ -3110,7 +3111,7 @@ border-radius: 4px; - CSH + LSH Qt::AlignCenter @@ -3141,7 +3142,7 @@ border-radius: 4px; - CSG + LSG Qt::AlignCenter @@ -3172,7 +3173,7 @@ border-radius: 4px; - CSE + LSE Qt::AlignCenter @@ -3203,7 +3204,7 @@ border-radius: 4px; - CSF + LSF Qt::AlignCenter @@ -3234,7 +3235,7 @@ border-radius: 4px; - CS8 + LS8 Qt::AlignCenter @@ -3265,7 +3266,7 @@ border-radius: 4px; - CS9 + LS9 Qt::AlignCenter @@ -3296,7 +3297,7 @@ border-radius: 4px; - CSA + LSA Qt::AlignCenter @@ -3327,7 +3328,7 @@ border-radius: 4px; - CSM + LSM Qt::AlignCenter @@ -3358,7 +3359,7 @@ border-radius: 4px; - CSJ + LSJ Qt::AlignCenter @@ -3389,7 +3390,7 @@ border-radius: 4px; - CSI + LSI Qt::AlignCenter @@ -3420,7 +3421,7 @@ border-radius: 4px; - CS4 + LS4 Qt::AlignCenter @@ -3451,7 +3452,7 @@ border-radius: 4px; - CS5 + LS5 Qt::AlignCenter @@ -3482,7 +3483,7 @@ border-radius: 4px; - CS2 + LS2 Qt::AlignCenter @@ -3513,7 +3514,7 @@ border-radius: 4px; - CS3 + LS3 Qt::AlignCenter @@ -3544,7 +3545,7 @@ border-radius: 4px; - CS6 + LS6 Qt::AlignCenter @@ -3575,7 +3576,7 @@ border-radius: 4px; - CSN + LSN Qt::AlignCenter @@ -3606,7 +3607,7 @@ border-radius: 4px; - CSO + LSO Qt::AlignCenter @@ -3637,7 +3638,7 @@ border-radius: 4px; - CSP + LSP Qt::AlignCenter @@ -3668,7 +3669,7 @@ border-radius: 4px; - CSQ + LSQ Qt::AlignCenter @@ -3699,7 +3700,7 @@ border-radius: 4px; - CSR + LSR Qt::AlignCenter @@ -3730,7 +3731,7 @@ border-radius: 4px; - CSS + LSS Qt::AlignCenter @@ -3761,7 +3762,7 @@ border-radius: 4px; - CST + LST Qt::AlignCenter @@ -3792,7 +3793,7 @@ border-radius: 4px; - CSU + LSU Qt::AlignCenter @@ -3823,7 +3824,7 @@ border-radius: 4px; - CSV + LSV Qt::AlignCenter @@ -3854,7 +3855,7 @@ border-radius: 4px; - CSW + LSW Qt::AlignCenter From b8f3e1771d54809f4e17933e34415d67e05dd596 Mon Sep 17 00:00:00 2001 From: Dvogonen Date: Mon, 3 Feb 2014 13:58:19 +0100 Subject: [PATCH 58/61] Corrected an image problem with a section being slightly "blacker" than the black surrounding it. Pushing directly to next. --- companion/src/images/splasht.png | Bin 90332 -> 90226 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/companion/src/images/splasht.png b/companion/src/images/splasht.png index 22a942ac5710894e6ce496be5552eb514ef18057..1de729daf53f048edf9fa4ff9dc3f15ca43d6c30 100644 GIT binary patch delta 22604 zcmW)n1w$K5vxS2Pin|r3xVuB3I0b^c6?b=nTXA=Hr#KY17I$}E+)Hu0`R*S`Hj|y5 znRA}m=tub5hmZh9hJ{1r;}?k@>kZOt(SspFf^@A36@2a_N&7~D5LqHCTLP4mM3%H3 zO5`toYHTW=wF;2+U7C?-*-*Iu$-&57b* zy-+KT_+~C{0{%!Q{O;?A=@dLO|8JbYXrq1mVN(Ghoqz%}t#)EOJ#VYHu7^YCkYQJ! z0zp|&l}n^yp~<2C59J>R`b4X#qEY5Rm_qu@@^*Y-qN<%(J4W7Bv3?z(Gky40#7S;u z+eoz~8`PH!@2aLn363(|p+psa?1@h)-;qEeuD&~dK@IiN*0-X-iyF`Z*^IPI%Ie0@ z(L_@BTkW;aObV;3wrd`5!YVXXAsiW_Ll!HCW>a}fC0gwT+-k+yLcdizJN08>msw}&RcMzMGJqEq2CS8=2j;e#2lzADL5V$nr`gN{g57eGy_TGsXqGZn0q z2c*tT$noI2EDJa}Ca~eY6jd}1JBYI5{5w@>V1X2z0^RvpM4&25%$E7QTrpV%iUZ;ex z!~QAV?5p%hP(cNV(>Oah-iv5ReukkWR&Bv*8_=F3ZCnpr*%e}0QMn~x*VZHs{X$D4 zp=Hbvn^v#BGYWeoJfksyoq&zL2bpKXvY(-C3Cm9*|HlP`*!U zy>L|65G)%AwwC0Kt9rr&kZ>RW#uNVIkKwWQF2=P5-9OlWEm- zALAUS$9R%NjIWIyhD({k0O8{&n6fC^R&2t`arFvv9G+7WFG~r+f|XtbDJBt`6as)S z()4pFgBTg7?T1vwVKgN_zuE9+Teav$?h{feVYX2?kl#cxghMHW!q=-MV$g*ZYy2= z6AaCFdj(B~F0Q@>N=v!yLf2@YpT-(gGP^eS7-PlD6^8A%O(#@K62k|F%jg4$dUBR1 zWQq2Ov%v?vA$Hn^)vV0wGiml)KUuIWk4^oNLF;iu4XE5}rG&VhC4kSUY_sT;r#IH= z=^LM5sK{Yay7C_#UIDVe&`3dm$1xt4;7Iq)A<3{QvWXF7H2pIw3?rmz5tLIVpOfPw zi-XRJP&KaMWf=JNuu#9UK!ur_KC~cj?v)i6CEA%ejf?m{Z16)Iy&R>q`WUekm7J+k z5yOOZCFgJ>k~mBG&>b1=%onW5XB9$K6TZlr%$Rg#RStHh6l(-7_wr`zLL_xNcKV!h z{ruNO+j*L=q+cmg?+GA$crU$U@cm@?0HAtoV;ASXn9Mu!m|9b!)#+fV-Z` z5@phn6VRUw&vwLpg1fBbQM-Zp%$;#9F_?#ZR%RG}yvDdIrb0j212UqMcrg&ia6 zw^fpE7{Hu&&-T;%!~Ugb4^Aj}NEQCjTRw$1I>Clgml9sL79TRlFTG#|c(zQ!yryZq zH~fOvFMwo*dfU|Gb=WxC@T=YHvs0ycGYv%)EExz$+J48*7!vaNP9hXD)TE+DE!X|( zspluT8R{ojSFe*yOO^U1JA0+<5EpS}#Q4gZFbeUGdU7Ghtyoi|j@%_0dw^*lt~pr} zze9TUv1Db6xI4rdMzuPOKT6f0sz{^WmgWV49Uwgg_yggS zcFH+YpB;-&YenwqLi*K{)q-t>*4c63U9*9t0`lZ{jmQwxFiiRs1>mPJMY9Z(ACn?x zF_bnfDh9f|>P5+ki5F<2{kdTvm<7uOeeET6*%pRQ;|0hDUFn@dF0P0*gbg&_5E#sf zkwfQk3w}_ukgT!`fhcgQC0Uah8wP?JfuPidX!&UzwWT!Y*PWc=MLS06jZz6Y4?NlS zi7p?@5i7(7d1P5eZtcsUalW(b5P)iNxH$Q{0k6@iUEB_767)9~q8pHDC>oF9cu5qP z2G_NvK(Og?{SF9a7j#WxD(}i$`WR?;ejBElGh3qTJri3%iX6<6zP-6_F4U$3$!bz;iky&054i

hLa?5fD`B8U=}?&z(BdbQLVCQn=KAigtFLAMo+Ov9KM#P?>p{ zLk)y&)@7lQ3kFwyhxr01v5sa(Xa;2b z;to2glw+Qlpj6u9<##!P$!xT1`ANiDkvvy+D0YAK@p&s?IhQf;jNgin{LO#F+U6=5 z3;o`o90YuI?0xWUcRF13SR-t|_jfteB03-K5_^QH(diYv&HbysnD09gf>{O8DbTIn z{QzcZB8D^@uuABn0; za}}Kb*1H;DY1<6%yOkhBxE1C;b*GsG22=t@g#B&{*>)F`>H5^-6#eVWrFKaX1INS> zx*je@`>xrapP4Gu87V>w^qC>Ss?pFmSfubUz{qmzu}n;}6?8U7cAV%ivoRYxSd@iC zO;G8f*+sz}%N;5B>??qY%{4jB9n1@5O|;T2O6PSiOUk;WCR!|v~RktoG0 zZ!+%Kq)_AuOa9wQq#6R6%kB|QXl1gU`WA%JCxOl^7n=%lDaWdKN2q*p-d1#w$|0AvJKbxxxLy!ibRm zrP$=Vfop$Sq>6%<5EFv|k8}hJLej}AF%EOltBb6f9M16&iKmP!)o`E-Ets{U7teMP zhv<;qQploEA`{+H^g}4WM+f>Ci>jTtwv|bQ$PLyoS{CAxQOcGABGf-zG$4m^C@__3 zikwUjrgP_^ph&~!lUNdRlS1QFF}~CbZ?YuruL>cw+qWvL_(H@I;7PJf%k>nup)xbo z$g^ST`6VPO9#@$_q3s)VAcM1pV-KrUWy-kM{Xx2_Bd_!LB!tiM9UV}0C#V@4XX>^| ztk3VdRCd?2RB^HGtQL*30>qW4MMXm`0JBm%6B^Ek5j~4eoqz)k^x7=M4YSJl#W;e}x=g~jaJfc@lohq(G|D}%66 zxeK5qxVYf$i;{d87ve}HLOneEH4s#JO7RI22D`^E-K~j4jSG_hm#Sd3M1m{3WW&K6~8!TIb+!po< zKE$ZOHq;Ir^%>sicHTFu)EypX(y9rs($SN^gkB+NR53vf`n5${cEPT3{Br6_;KO*ikG|ZDEM;-D_zrjd1c|exx0*rPjrfdjcQ5uJh%pdXSTYi6~ z=T@v|?~w@Mb^{Dct@4=%1F=(!1!R%YZoL_KUM9}i?Sk0vo$Z5oQrc|TyJqNb*4f2s zFZnQgb3mts)08S>s?+5ht>1f7{&4-rbN%4$uhw6Y?~0QaIDDUlBg@IWQCn&mSfbLPa;Q`qkB`K9jplmp;pD&4^gPX^&)9HlsURJ{ zUOF~=bnpfIiWnvQ)sRqFM+;fYTTQ46;Fw`9vIZW40^3m#o^?#K^ovs%i(*wCC9L)t z&=@e`*bk`n@5&kyDF1=HOe)+tQiqEZuwzt)RAWpVBSD3L>03-hn2gaKEEGA#U$i^I zEt%-^QW+?C^QeKmIs|-6vXm@N+!@!pwnLn04#sT9!f$(XNoA`3UXUIPm6fnMutlX0 z4vR|krI%BnfHHNAGg&u|6 zS{|zf?34&{fdSFO!$=j)g)OL^-Y9k*iUYl3sFW6M7t@PRXZg*58AYiKN5){PF!;r6 zi3v4Xxjt<`P+HF_WYuA{LH)E;#%G@=w%7Ms!f#hCAKV|xQT?Xt$a^#WvDiCckA$)2 z_9%%V652$k%$To(MllFRR{yjBmd8upe~Byts%h1mIy=;mE@trRR5Pm)W zG(X>dG^#x6Le4IX;jRz+9AR1*8ppz5s}HdSH*H16)?k{Bu7k^kM@6{^s$w6FAQX9XUVtwj%0 zoyH;-(S*z3Rhb7_&idefrN{qqf2V(zdZ;XXG1hJ$*6gb8xbV^^N76PY zr;m5kg0bnFe>eLTY+4*VLO*63AspqXGTp3kW;LHl2E$ph8~J++^v7NL%u8Rs_mWEs zktS}eeYw@muS_a1Sa03kscqY9bo86&+^Q>@ z2%sFGNa0F?id1U~7PO>^AuTGGXOirku#|-KDNIzwihS_SCDyQ%2<@^OP1#?V+joe9 zIiibNUEqslli`!Fofxp5VWNjk%Ub7X>AO?scB-y7BnQ^-41zy7vB32ch8#U%=2T}% z%6y_aM2=1YfvttQ&+ZtZcb3rHiubhL#TvF&8t3-YtratC@uH0>#M@g=;7|(7E2(I< z3NAr*ZpfyhGR1EV|5F-v&lUBx2+RA45NdSVw?;+aKP7d;9Zj?lY<3AsV9<<#VW6qy zZ4fXS17uiZ|Sq0}pwr zAs2KGXaP(F%HLW-;yLs)bEF#8rR^)Dn~tVT+`QWNxiY@wzeQl|kA*47?tc$+bLk@C zNM?0jvJu5|$hJnMUlI>j37#K~+wcE)cHZ#(h`3G@a%ii`etE%XmW!f5wKLm}4bTGX zxjL-1qE(NM2xhq`mJ1(|rnBjbkE!YBW(~Y|`*I<<@s(Xdg!~BU484$}Tz_7bk!O)F zI7@OtdW3nxcKanB4d%dLXj3HL{!qUCBf0)p@Hhc$o!?3Vw!S=OF}!KU%6q_YlF>s) z5tAS%R>c>lY~EiZZ)Aj|bN>M*g&9E037rpW@=>RI*gZF45e@u&@ffcI(`KV-ELBXr zmYCu^KWvF1frhvJH8Q$Al`=a>z;PY4af{-@jIUKhF4CzJR28*EX`S!CNmqp9p@PiU zZ(p(20(cqkYGm0dzWw{C{wDZFUf+FB)PyEc3L=_#zznAhW|x9|08qlHmpg$ zGzp}pOdMndq%i(L8o}L{5mD|~!?cP+ zmnvE!Qo1%=*PWBMP@2 z^rcqA93B@dCgz^NQhU8=R;r!Vr^Fc9?j!FEJ?%c|v96ca9hw|WSs!g$blVROvz?EG zu0{wTVt3Y3wVKjebFge9oReaRLz%h_wwrWRrTEn{>%>zjH2enyr@jfxHE^tH3Wc-(4d3~O0=Drm*ieh9Yps)Gewn`0xhwXEYq7PLhpy%&QP9De ztiW{|Raqe8h$&X1NZZ>Lu}oJ(TsA6{PF5Gf=(;vHCkk>Jat`L!$OIR+7S}N`rzHv+ z2X$lu02BZ@DG7BobN%^X@zM>YoZ=X&YZS)eZz&5@x5Bt6l+TQB^w2U%Bt!pzVLCVx zyVC6bX}~42zaIwAvl#?Ot;oY1qD?A87$U32erSC{9nO6~M8I6El#>|iR?^!Es{k3- zeD;OYY~19zev&eFxRTHgfS-x97~bdi*K zP&wj*I5oJ&njbr4h=8-EOQBY|ypZ9aCDuZHy1e4QC#HRh`Fhg(T`P^{8M0JEdwN7S z{2w;8E0%9Ek;tVMZ2YHVO1<;lN%%}JvUrHD_c<-BvrM1I@S1g%Fp>2|J*Pb2J3mLn za4Zm`*^!Y?^CBJaUjA~8&*tT*G0GF*gwQdsf8}hD!i+jt^%j1a;NoxhtcNH)bW&_; zga_U>#f5OgR5*o>@DL)=u5`Fs3SA!&dlH&uS$IPydr|3AX-o#{xsjZ$6 zv4sLo8i9_dg~X7in;35tCoC#AO{qXIA}cq;mkx)>#GT3+BCXm7G>E~PWC4+)4U4u? zTZ3$S?Y{aqYg}iAPg%Z-Cji$VX>e1eyEGvXn3hg+SZ>)o#Siz%FURY~+m3WQba#=O zkcen_=68dESP%KiiZ*LHR@fvUgP=Dh9ggZQKR_-P|}4L*1FT{n5u(E#>*z z#2$))EsdUm?xmM~Pb2L@<+Wc9HM;BaA29tP#Qi1iqP2BlL2i{_4hWTEN+&3Q{r^h~ z0)mD*?S=yc#0?Qgu+l3UlUt3kTr#beps*=)`7&8o6Laqpd8 z?_%m5&lTi@?E{-NPbhwsDOn($W(8d{ORe)d$0Z-{3MUNDbBdIdRGi**Azn(;W)R}H z#2>xBxf$xl&5k#KDN(t?nn|HETBu+-y&HCvCs|rwl&31s!7o@efk?yd?he*lbr&`I zt*zt%A@ki=lGo<6Y0;bHn&;y$Ig22g3k_jM3C3k9hGR}KLx)FFHlYnugv%3|z^wNV zER@EG3$`9fRzRjwU*;=}*7;AxqX|+VWkS=Rii<^)q0StTltq|86`QJgScx;blY65| zkFUa*KC5*isX}k;WCiq3bjia{!Js!Y&Hr5mOJnV(6oxg>ryhJp=hzmnq+b zc~fZ+Q3_y!S)fgC9AJVqX%T9{C0$Ka46ZEDW(HvgTNDSW(S6&S8-hQ*gCN>0BF@oh z8tjKsUi--cy+r3dzGH{V`Kxs>&Xj>)T2NF5DB1y~d5rX_;Kq`ysPD~_gf5hQz@P=w zLG}DTWq3jaUF(ueRZ}<;Wm;Xis^GFC%MdKeV{*dd+V-u-9@I0J znNm_(IqVp8G?V%J3x3yg$jaFjI2B!i8h*)iCcUHSi1 z3TUP5D8|PIz)lY?83;K)ADBghbxm9^WhD;#)h^w0TxI8Ts9@yKD(tqqz#S#0>aLoh zhptaCg{}H6y7`wc=Hga}%~ctl-lOQK{~kQK=Q5@jty-M!_P#=foMEYgY}|>se*DmG z@@ct1@zgPtXYe@R2s+C1ayf{t8GqIP(r1w@jPVjr+Mh0Z=jru&ncpXL`3omjU!;8& zZmYwcDd1U>e5m~WRbnVsb3Gxv%A2UNAm$Z=wzINvzGt43kD`F=4BiI4Pd$!Y-$21K ztW#w4Uc7YQn^6i#sSy<&Wkx)$0!pcG|1t;(Re?RN>i@>G4OO5sVK>6$gOVXc zCw~_HXuEM=wLeRJnKVDEFW0IF|`(`o6|Rtwo{SuqT4B(j)$ zl)Hfdq(#Wiw@qdfp8UwWLiOnTv7$uEL#0hDT5b`=b=ka%?{P=oR$q{TJSojC@PGXf z$>AmRenvtv(ke~AOUJk8#t)@ja$HMM4f@>_#pMcd&FJ)7Eh8?bAK7>n_OM%>!=ot! z8NW>BKK|SxLj32G#6ot<8B5NpW*NXXhpr#0G7cuzmLnR>gLd2xBmUbIK=!uwNG`f> z-$iZ1u|k~7{se0RR({!&pqLzc?N|M4Ghro2Pv;Qhs^-OEP%+RSdEL;LPGi`=_{N}V zzY+*Btz2jk@-BVKj2#^^2Us=h@_YRU?D=;xy;BYOz*uRs#2C|MUPZeu+xi=~?l{V& zEF5K~EM|Fz$Y8EXxS^kpZBA)aa7}%SqlZ$ z8ys_*o}UGRPoeK(oX7)g8LQFAz$+6eT!L@;&fKqeR}$iXQme>x^rU+cyCbq~fy zyqYE3&fXBb@EQ6n(%uVZrIZS4LUWdJk4*{@5!ukfKU8{JS+IsD7bj;he{`dMH5Dod zv(CYVbQse*8q^421x!EeAmmkHU{_sI#^TU8ql#T)!55mF2`KNL%(u#Mg@s|JzRP!s zFFs&-+yHAK>WqXWdLfyaf40WXVy~>dzO~hlJ9N}!U&IB7?0{u~MTBCo1rRID^)`nK zV+Z{&4uAjRH4`fVY;t)>-1Ye(WNn)+3T0f&6I^oGH3nVyA(E2XSw`*s;kX5>Hg)tr zZTn_-uGvwBi!RjRRi%N0#bzs>>$UvNj^w(!_=Dz<4Zm%ftg^>Bt)5`6QDyBX_Hh*f z_t>i0Pzxsn0@D5UR$Z2{UuTKXzC1U7^mT$cGPI?=+wY##Y1tt2^1H9nlt%8sbpmW! z2}$1xrx=~_`hqj5+0o%7{lmlVKc>-}T1N=U6=d31^E=#ftzm52wlBt1zHn?OzBR@V zgzUrg3T7Bgh=JLv($7&mE#CZTgw#u0x~crp%-bX9vmm%M?*ouF;=JD_#+D~JIw^l( z6q6Ra_W{abd08WLO!VoF^J$6JY>M)!4R2rlX#qcUif*XT=4Ng%yXEB?*VxDdwa-2` z@-gFHU%p&Qo-Vj+rQ2HZWM^vUmg)2Lm8`|_g0Sh*`B-4EAXzLb(~_8or#quGMf@O$ z5rPDvv4aCTeBf1B0${1uAmqRXt%tmVj8IG*ci1?kK*O;}*WhO~1__^C-&Ae(^^Dl- zXG4)&MtY4yp10Hh;2)k04O)nQSWgUc*mJ$xcars+(&|z((a$Ez>!Bbg@km@l!WDq2 zR8|PPRAUJbWEMCNk0ikqtqSzta6ZcQn)ZJ%xn2Fi@B0o5uH*$wV>GxOpai?*|NThA zw#HufMvaek%VCcC_QP$xp)Qk(=0fdnixoKoeE4#WhGu*%;oZS7o{=7XYJ>BB8Ck=5 z>{V`~+v$8~W14q$&GMM0%k2FnKG@jU3TP`W!&Q?8ArX!?iM&0UmMpPn(dtJytk<8^ z1|RnCA78VNEY*?kEJ z|6>-@|KPu1!z29ffNkIL<6OckG&2WV5hr26a3cjAn3SW$)W7o^$ZNNe0VC@z?)G%5 zQLStPspH|`FwyCBI9Zt8HA(qF3uNGoWj~x*vkw3RoklBv3u8b<)0I|V0z<#Q*1~@m zBb-NT+f2WE@h30w7H?TW1+UHU^h-a)c)tr1ue@^fy_C8Y+S(QU&9Q}9o_wVnJq#26 zIn^mo`}c2kfQ=%}P&U73$HX!Qhpm=R)NpVRE9peMer5Ny2E%$YzfHmOm7fSHn9M9} zW**L1ExKq5i;QW|=hpp+GtI(+Lxd~jWL&GUnH?jqB+g9U0i9U8_prN^FQ8_0BsN=x zK2?wsfpSbrn&gixgX-m3*SpDoh>fy*Ph?FVB`Mln9tJWs^{CAX9+8@Ta(8PSce`N_ z7lba4i~hXYY<3}mpy4ot<|6no_P&*siY@APhcvZP_JOB#a5T-5Z{UK?5v%h$tU?>b zwtIR)9B-*@zlB)46-foti!}PSRttR45p@(5cNSVqoz9P2oaBm780d|5cOVNOgarqJ zi&73s%LNm;H>(3}VM0|Fs>Y4gk=-ESCNQcC!6~r*Zy}LcO29-zvxs4LTI!M%-~epa zonVm#oPOJrWv}tUK2xcb_T}Ibi{ABllk&Z$k)xk-$bY;I4xo+8lk1k4UuEQlxFl^3 zBUQ7i>SuSTOg3}1wfrL|`=dhQv#$fDhhPw5HqB4lICax@B zpr?fcdP}MK>w}=+jqh-Pkl% zrm<&EIfi~=qxGHEU5eQun8vj3O$=c~vaYRx=n4uVBe#d)P)t(aT?DB8mLu#3ujhF+ zG;(*=Xudz97^Rt221UD|b}k+)S*bRcAWExGOZRq;>%_#QiGv9Q2CDz_KmVuZb@HcN z#Wm0SK>DlQX!pXVJ?o5TX}r(=Bwwq;YH-6wxq|bW&#zqPVjN(PA@k2U_y64Ax43IE zhme%jfVn|wp~jPkwG}LU9GxDYi6;@0=s`PAn6SKEgTFlBjIzq^6RhwAbMEZQjF-NP z23U3uL_rg8p;itup>i6ck|a_01yc>lt}56)oZl2cAX|)2Pg}vFHCw?V@kJC6)V>I+ zRF|$^RXIU!&n85m1pf%vRIO82w+$dQvzyeN_-3e4;qQl2XV|$i+u_+Ae3lA!lp|&M z^Jy~9LYr28c6mAe;NWXZzf+w1y60Y*$cxkYqe3^{3Q0W#L;cjEL73VC5L#L7yJ>yB zp{We)?-`8HvU8&hHHM1qYB)Gm!b32L1k<_0&>4M1TDlW92kNRR3AOH@$n=KLD0Sxb z34yP4YnHvHJ1M4qU5*XGzaRF#@#*t>;$H{V)cf81@Ol=C zA7q1%)P+=;32mRxVqqvA{j#tgU8);i`5lQ+=RlowGLe_jzTwlob1lPaG?krp z7e4vZGx$o^_!KpV=-h-B8Sy|uWY6zm#Sb4juWE@;YxQO ze6(~SAupRFcFS02nA7*Wilaui3*VN{e(3iKA!0-XhahM0yF9{yDV7OgQN@|jJoncW z8X`<>hI9^Y_P~p5zWu%+xW~OUp2xlN56u&71?z*b$SeR2twCv+RD7eKT3q)1`C#XT z5Eq11=j~0hVli#IUG#66$rKi=@;v+-oMgM#U;gM+$^{z@_2(b5#c3|cupvhRRs7&| zG2+zEZHC#{0Mr~hK@3Xnij?2!NnT%64!igSj^xMDaK(dZ@H3TuPgD0yzJGu?5M*VawZYkS>uN~+08c0yYGfk^Ruizf z$$lqPS*gu#B$?cZ^*>q4weg$1HS?Q4{Qshctle2@4kw&o#^F7cbkzb+Okn8K6W`tC zS&TPofT5QHUO06>7x4o+m#BZH*C?phX4QKjsDml&3II~BbovVgQ=9|Rn0O`{AnXkV zocR_WLTJhKBh*Ik(0I3p=KEdwUZ-_kN>!?ZsuxfBwd2q+_Cp@Ff+JTHJLw%a8G1e|~_PB>%C%92ci@>=vHaO0>CIJrUU9I-x z+|BI;Zqsp}(`XwC{t{0|dVjNm)IANA{F$`k$$HFIe)W8f_;?h$juAv$n-hcY+t{PJ z^nO{tS)h*Jd;G*^u{GZQSm9I2`tTczmG7Iyp=&96#`h`Dq>@U6a_@u_GOvwkJQ=Jy z!>qp4AL-W{YRW|$S`r;|5s9-LsHhkwURH!Ar7=o+(DG>otd^FU-Ciz-;EK&Gg)7~; zUUGzEyq{0+t(jRUyw_zf)W4}V4lZgM8&+4%x{k4nkeXXVM9tH7VnsLL8a@9$tHy2 z;*~0;a->8rJo^=eJeK{C3}?weY_ss8xjCvd{6p1aa)~iBl`+f~V$FXm;rR00f|}@P zQfI%BXAP`~#E~kRvu}9B4_XMv&s68{d}{YSm+aSK{Q1cH6zYG?=tXtkbOr}~BGnH( zD#J_Sely(q`bQO@&DR5?$LlbZ+Wy2_al5_aqg3>cR^1 z3!D~uBct{g6(kU^FcrGjJKJSbw>w6~oL;Ap&G!17Vvk=x6$XjROtm&gqcJE zB)G(ZFn7|{9R^FAjyO9jyjAj_V!AQ!%1B=vL<8LgjOBn5-G;tqoT&n=61l62Yh?0; z5demGRr*J5-HgGxxuPjySxl7b8yoh58O851a&hVfU;*nW#kY^>N++CG`qHdw8Xs$g z!0!fJijWp@{w?{7wsMdIfm==!gs>4A*ze~JxxQ2xosAB%5U~Jy|s!%dhmnb=$ z_pDc&dGDq?e`MvFz13lD!6E1OfyM=g2FHApCEV3+J+gUVlUSbQ1_FCohQF~)h-wu4UJM>Tkq#-(Hk1FkLR|! zaqbM?OC*?9yNwEA|1NGf_K}$wD!b3*P+nIR*F6QXeQU37l<$bt|A5njd?jAtXv(q= zvM+zjb+WG*i?jCZp@W#SYx{96aK6<}|I1ghWH=dElCS-1a>Y>sVycN7mY7r#L;zw2$ya@A=Of6 z&YSlrAt7*~Vr=0-Hr~RR9Ln+2k9A- z`$|Z&#ej1o`N|0sMg1i1j6Vt` zA4iUQGps{(yaP&@Z0X&~-N;_2l$7_$d!JbBUI=!K{!n!_P$>0kp2*Z{mQfG z!yd-~$y9KGPJP?F(U;9Duefq+8w@rF7R??LdoMfOhu8CI04Vq=4@_&kfbyTRQAhOE z`+gf%n_#A8yf^>TfP$4@gSi6W?>S>S_S@j#SfFIO=kJNM`4bNs*HW79n|&w`D;9ZE zyAGl0bvNa)t~78wY(Qp!a0v4vCVk1sY7ag*#fB0}ND?n9tbz(j6O^kXW~*sdt|We4>lkEG-Lt%F(TO%JeX8H>4vP4>V$H+!d6BJW)bIjThHi+K+Ot)WIGx*5kig zap#_*kcB_~Q*9=mtm{<{l}e&9?kp_N9t)mD#T6bu{%y;tA~N!KlGEd2BQ_)gy;%DM zBDwQpxig*KZ^2@JJw^=99QVKlYjO?y+b0Mn-lz#J6EKHP~gvS&Cok`Eo=p>R#)_#r`e2*%?q}oNE z%Jas9?h#yP%mr|spi;KG66zOTCN{&EcjcWSDSvIsQT*M~qeuyls8v7u9)i?pb{4mF z3SCITKorb97oGNAQj)bkyEBw&Zd~4g4)ozjNG#$IMOXLi7>*o%|Fyd5uuL7lSB#HO z?^j~)Wz7OZHA_`evF4Gj1UsXB2MKABFocHk%>jce;j?_V7wm~!3O^9 zNX<2eNM3FT91)&hjkbz()mNt;FVS|Ml=%tj0!?&`WsN<2h_~O@mhGOig?ctY@}J(p z2IbbLJZhU63?;|9AsHeR%`jY^bK9#=Q8D5^?|FI+3Q;UDyTt!StfQqIt>B=XPphvb z(o|F5Y~T!DkDlu`TFCYdvqvS4S`}J1|D6SdP^k5?4;n3wcAvL+_=<^oa_iDQHyCP- z2#qn}65+3v8}SX8rX~*PmeaqYL+OAhl)yxLDpep&)PP&KVq|k#je(F#eKP2eLbSTs zi2h+{CrmD8u)0%8&RHHg45dJ*BBd8>VhJNpq6;P^r5elt!uPSnG8;~?tW#njHX?)= zJ|ib*ps|=OWJn2j9444uoKz<3fcpf<^pS~XNVLw5lOpwP;_;<-mEcq9vKJVz+XT?wsh%fZyW>d_m}5*Y-1=@cX}c`c(O7nRk?40DwFK@;~eTX$f=& z8bdeu_3CL{D$w9UP{W|a3CTaU9DJL=2HbVGI{b%HQv*{;RA7gWm{Z)_OMdk-Grep7 zu$6q%;rW2n5j@k;;Tfy@Sq|G$RQa7O8PD&?cRvETXb9s~#9^xq!muJpEWC%9Xn(51w8L)0v^pC~ z&-aD-p~gjT#Y8PezhVoLHz+?@(vtUWQtWev^L_E}{g8Buvw^su@EB}2pzL=&?7ioA z^%5Za?1u-LN4yz)+Y54i?`;03?xVrMDnYn&D8g5`Wc3|3=>mWY3#EF?4FixzMrLbO zeW8m;H)0=`S9||DT$lD1F6gJv7`FVbjS&m#QnpI5nVwVIY=HurNq8P_Q@1tcwg+@M z+>_BK7NDIMQ7w;)ZXzf{d=ik2=pugjXWp`Av=uARapCOolJ5fx^7rFiiR)MGJn;J{RN$d17k1IQSDT(FGE!4Fb@*HF0VKcU*bqLd9 zEj`X>ci(pq|Iz+&bUFHX*-fOhyF5tzeod%gx?E(!#6YP_r&XlQSkyZgaXLY27;uT; zRA*C{+-`oO`@)_%>;c~AT7;RZb%BH|_=fgJBZ_&jr(H5|Yvzo%P9(4-I zy0EYn^1=1*`jXY@_k@~Fi^eBi6+%CA%vj7Ti~sAw&yddzpiX#$Pv=@cv7ZC%@9WEb z_2r{tyBtQ~djE+#w%m`PHSVW?X{LO}o`0g`B6z*gdB`IpO3Scw3V)y9d4ixNgQLf_ z>i14d#|7CB>_}*x?jIRmXCcqqH!Et&(4dY5f<0Nj$OY%Fx1KCi9d8j95%4?bfKkPj z+(ilyR`i=CbmC%hK@@R&F{H@}r??kelKAijV40tT2frWS&c$4$QlI`4Cv`WSTAeRf zccQgVOTZ4MiMyFoQ{ESQgKT|-9>sr_G=i=HX<7t;D88xH=(L~|S8LU_JGU1^xH`;F zZix8t&xts3wLSZZx}TuDzjNicSXL zDF4a}{Z_Eh;q_`&poe2+%(U?puIn8dNC59;=ac&%%y$*^&mJP}VE0_R(u68M4rW}A zpEh`i81O$0M#2hp71nepV-F=43c;+!_4*^? zrNO3!*U#CWKnYC5l^$Dya709ACQIUL`qFEEBY`tTMQw=cMrs|8{}bc;{WST|!~pEr z!Oy?h_t5objFF7Dj~3e{W52UB^uR20+SEAn4t?oDm4=USlSm4n3O(-5OV60DI2=D6 zoOmzF79o#1uZ9*>VpX07 zveIjMgz?V-$nK%{$P`vDM(9BhpGOnnm%mUJ+C=k{b~Sdx#`GNb*Xr5h_Oz0~88K>g z>mTxzP%QPLESas1y$W{DUm0nLXlJ8h@dhIw^2D5G%d_5Rwt%?NT~S$@yXEq7@fa5W zPR#4DUgfTivo4-sNhWaQ^-pM9^{12oAk*@(OXH2yb@+mA};B5v@nG8L*3 z+D@64OzUVujFU{_^b(cekriVx)_i}wX)%A?L=Q-Tr0oKgm~>&gClxhX8!7H>X^-}Eon6pMo)9R0tmGzdSF zAyUGZg8H}UZgr<`o%a5dQ#9x~l|63$?6mQuWY7~m`oC%Fe*2XKDxBiyaOUQfuciC1 z*X2SvtgAZ0ef`!}ZDy)yDyJ!XGlc~^3*z3tndHb6u{eJF3PuB+8r3t)%a(TvVYl6! z^8GFOZ7$lT0@a&#_URCKib$y)juezIUg|Sp$rNyC9@4a0THntf&GF{E^SIL@H}KDl z{_O`dl&I(!W>8fuZ??+Zq+Iz)heEP>^qp8oJ3IYwf>~SXb{RxCtGGC zl`D^wy8KaCeAi9Aq?_I{dF1O~mB0Eczq;~iSqDMs08hqD&>@{&t%QJj%J`gsDAyiJ zAW{yGczDOX_u$Z7cOl}yf8uf#^;!*$TD3z*)0JCsy@}mT?v32N#ks)vx>Xn(9Kh2@ zkK*yi9>?=9J=-;y^~ReuXc81kC6xR6tR-OPnIHr_O))<+^F2K)eh|P9LllZ7h%`lD zSWw;M(P}m^KQ*%=Lz7>Z%wy;u9(43I37E$~Jr4vxlB8%XE_ZaEf9E&zzW#o!TEEt= zeb4vdQ3mR@g|M$&n!wEDq^%z$P9u+zi5cI%6&tr~u`*`HvB%T{Ma>qDJ@-78<`*)b z$8}(Vln9F&%BD$e=i^FdcO_GDfjo|$XoBi$m&&AvIjzd0(k22$8qK2rA%P&R(?<@ z7I6DJ-i~cMcdFV?=7BP*?AbIwpuPhStyT+P{>*1Eb9L&PK#Vbl9XH>EJMR7oc%G*k z1@z&_0KrDBhNF)@hI6M*uSgcS%pvnUtX{Vc8#ZrJ-r%Dnf9M|^v`lunShV{BV+@5t z0T(AGaN+D(Y~QuZYL3oLPh)y=66a2z!HE}N>TtH|mi=0Z)L^U^r+*yA!F`8t*IVzx zky~%Y%;FL*UYUNwf=U50U06>5%G3m7j-laU-1GjQ#-^P+(MVD>q8Rg2vq+P;y|Ly_?Iu{z zoXf&B=Jf8&2LPzd%EP$zpBWa{Y4m^uBykR| z1WHg?m@E^u_GpsG*E~PUn7$5yN0>1o0s%pqCJ?++r?dn37t zlgopuRcS823Odue|UQo_+RN9DU{q z_*#Rn*=*W+x7X7^)Em8Vooosq2?+JH@j!Mn&3isy3wTmO+bI!=c8BzJ0BU#dX{vr- zAv_SuAhexWyPl}+f?~>Vtgp1?Owj>sfAftd?n~N%Gw0|9oo;dzDJZD!YJTnWGcIEa z2c^0DAy$lIne?m%yQWUm27iY|z%@WpKGo~~w;SN<_T8^^Ehz+|R;%mh$p6l@WPG~4 zcbX)qE-qntVX^CbyQ%;;`rfu&%jvXt%Nlxd_s3`4diV|;I&=s(AJ~V{kuglpEzIDh zvnMh&#c$+nR=$DHYT9aDZxi2K2C-N!p})T$<MEw^r+N{gH+}#oU>$@E zGbJ23F@rpFV9;G-`OaqIq>;%D0MvY@LD*WJc1qqbe~5$<<>#QqwTVsDDj!_i0j-%a zDMY42yFGs$r_ct!ZJoomRig3M4Rv!%YMp9`W;CJ8dS3hdtX61le&o9I)8L3vmEvce z&O8}`w#+<8hh?UF_|IGT<~J5&pL-+MGMS`2+nLW~t;9TCD~@+_J$fzg-L16B{mkxb z48U}Ie+uZ2008-MAG>z$Mi3V8(o5I2OkOp-8tYcC#o)*gHf`I6ojZ48WONkeN(Gm$ zT*Z}>r%i=B{3CV=qn2NgZqQ zu36cXwuAr&c(%lbgF|vyU2zjDecwl4U!RqufAav?u1??gQLoo6dudVv`Gsg%N#!OE z3YrOa(xjO(h}c9cr9*l3(j|QTD__Ce?|vsXY~PM`>(}7o`Acp6OaO#15Xt~4+FE`; zf}MKiKGqveG@30;&CWr}|G&NS`jP9p@A&7mTV`eptJb6>!;leJNdyEilJ@|H|7HOJ ze_}vDUYv&%TLpp$+muKx%PzOf+_~kHJp9hRGdrZ9Pzhj)+5;??+~u@;Px+N^N&Ma4 z{F0;h-o^d)x12tI&f~|AIC=V3h~UrDOj zA;JW<7|A4z(GyW}XU;C|XY^ z&=pbP7y?O4%gbb}(8=*Jzx()O{^1}0i4XqvSKPXNgJ(}qwl?3GC&Z|C=co7jV{BLK zR)7BMvoAO}Sa9RUA?2*%qhJ4;!dj`IBm_6qG%S}Z&d<;BF%pJ>wrlCKf9yt+{fT1; z!Z=Ndei-QbE=vSRaPNa>7zTVVqNyQ>rRHk2q-|SfRShbklwq}A6GPTe1pLs``JU%b z|M!9Gbx`@^n2$0g)oUNt)A}=S!ux*Huj}==9&i45-97vE-6Kj{U|oSi2x;1A=5;Nd zh@@!RHC0tHpD!laEKt}&f27H*vD`eoF?drmgF`aXcvML1wf1Ry>)3)3YT4x5N zMw6H=7L;Yhx@lOgRynxSq@*@%q^XLbCnNGJCge&=?3`OSZ*b?%ZA?|O zsA_KCe;4NrWm)7(e=)Rei`JU`y?y%ZYn(#B4?}Jb8P@HZ6v0{X3pLu1LZDf%8G@$| zo}ue7S|lB;wZsHn*Au*-T3~(K(RQtPG6(Sz9{OG;pO37w=3PpO!4LRB9viZTU9(;j zd_Zf-blSGX`+0>tA1+OwarGn-D z;_`wRBUM#p*hr-7dWIp;uGb`>89dLPJ?G@~1&4*X%$;f7BK}a|#~wwjHy~P}(Z+NkK}k z?|d%7y>V8|Ber75O~q0HHuvkbMyG@>3S1UEUaeM>ZI>}RqmwkmC@q{^qE$+vwknFd zcm}}<#OaNXhtF!Yg(gj-=dV_>u(w! ze*MjafBD&!#kha}h_kZ`j*i~J7@L{p4&x#U0kqe%8KguAiN$O|-}geyGKPpE8cSJ} zEcS0;t%wMhMTzfwRD^m~6QT&CT4#l^pFkU%P3XmYm?W?WYiw@!H^dMqs{$W9?Rt%~ z4(A+QF9E8vF5C6VEC`t~s+FN>8oc+^vkGEjf3<8_tyg$IP?jZr80dzcwrvS9pq0*2 zFdmhp-ML;j6IQqFI*hdw3vd#E4W8sPE=>u+Oq^+wxW>dtS(LP0i}#+s?t=;@1x>SLfBz7b-_M9q8HS$OY>qaDFFya{|7&Kw z`N4G{aP_*R$t~lxuH#!ae)Zws6GNbBRybEobJAK%0xmAjn9UaWp{JhBuXM@IUYz1w z!OdH@=(>Jl!oD~?VSoP+V|3o%ELuU=e{}$xbs7RH6F@@<7%Rb3N(omKqT}fUi8KWz z0x~`)r3aqtMWkuIZ7fHw=N`7a|1T|4sp^cry`z0vQ1n;TJa)OxD z^-T5$1;)r398<(-kyk2Rfpw0q>#)`_ujkAcGti24(@rD`5w=bk=g@39eR&B8f6Jnj zB7q;M>Kbb-T`S4^JiBZ8knzS!K9|a0F?cB^#E2g}N`cW*AV?Z)QPA}r#u&U$3_~wk zwJ0w8ff!ms2oy!Z*~O_K`UZ{n1I{@@@EjjM;qY*uM~{wQDmHDprZPX8rg>$|@iy!s z<6QnOg4&aZf99*tKj+!EVsarye=T8xASV3Aooj3Cwz;SOv#oMLlzS5*TFacC&*#*2 zEy+qwjH5~@tEPwADYH&j!J;umw1T>>Da(@8YDv?qa|?B&?5?%mLVI&XD{LE=Im&R1 zRZK;~r$kbU6g@r${_^JsoSdF;@4feU_x+!Q==+YgZ864hDBIq0g2ZskDGOeNQJ+8=ZEk<0JMgi(d zC5oa#rnF}N&RwdiAjTvCf1_5IC>wH$iLQA9T}$O+OBrI4`Pz~PN-^T|>u6NA0+V@F6!KiF z)oM~X7_0Nc;0bK-+I`;>Q>1VOB&N+U#(>tM;W@TgY}Uve;Tg`kt2(*>Ml)<-f5v+y zxJfg?Okzl&lC+2re;;a%z;z_(Cno?h_x&(H5`EsG?>G)=E%VmP8+@>S`kIOg6(QPHVa-3Q~l!ETp6|-K&r*f^o9GE6Q?GJ3xU^3TrHj z#e(z8OA?8yf2tXVo}nMmN>LUiAp~sUP+Aj$pNK|A8;*~UIXpa+Jvc;y7P3}d&(K=Y zwmn_jp^4PLl3>QMyix z`J9AQIWNvHFxh!YY@9c8fNHcL-6CeaI6ss1QB^Xpf2?77dC7clkF(Pkyb3v@wdUet zDc;vRXW+IF|J$CFsZA?mxDXpieGKx;b2q^`$78=mS*(uHPlH-RD*}rjMvCeis;7?uq=aU9V}gL(0YZ`IYkdxZq!BoSdF+w5)dUuCHQa`rt`1 zO|nY61dH9>Bqa#~wi$36hbQ^7$Q94Y+y0NAe>0oSXx0sj#hhl<5Mt#0d-sVcU__8r z7FW#pkfPwp^JfhGKtQSi%4m!d+q{qu%Mha+rb-b9IgBJ|4ivKrqcyga%zs{18_mL; zScMR{dF$5Zu*_tR(bdIeHxQCkSI5u0*jtcdqU%~hjLhm9@`34`Bjn1fbxtbNxdIGO ze^r$PHcCxC+SXb^4rs?UTjcj0V`QhAFzkbZspKt|lW{e>Pk2M<54E;boo5}SI1J((%)Av1Se~mLD ze(s8b-V4;Gs%yHo#Sh^MAf}Vvo;I28`@F6XsrGz zh0l7wCJW1t`$@B2W3;9$E0k6&FPGB+S(W7^!!+L0QDQ|YrX*}zX3viuq6BT%QaOh; z(s}S9Vyz~mMBjC2W4KtY@F8Hbf0}^lI>ExHND7e<0|t#N9DeW&eV>E-taB9;A%Rwg zhmRj&v}QJ+v0Sd0)iau=ndZyLfbadVwQH)EBxyuFW%ry+TYK&%iW`PO2zAE36kzP? z8a~%2`MyXZ^}1tR=cB_Gz~%Y5IBR|9W7JQsvj566Jw`5`KBetiF3&GGWd8OM7cWj( zu9kQ|V3Zy_OF}Ay+?6EB=^a@MUsi>ux>~@Rk3 so1tEh>v27<$Mv`#*W-FzkN@-dA7&LL?MKv7^Z)<=07*qoM6N<$f^BlFI{*Lx delta 22737 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 From c4251c4ee2babd3743b7f358d1dac4bb156a1cb1 Mon Sep 17 00:00:00 2001 From: Jacek Drewniak Date: Mon, 3 Feb 2014 19:09:51 +0100 Subject: [PATCH 59/61] fix according to (#646) --- companion/src/translations/companion_pl.ts | 386 ++++----------------- 1 file changed, 64 insertions(+), 322 deletions(-) diff --git a/companion/src/translations/companion_pl.ts b/companion/src/translations/companion_pl.ts index 9a73c401b..13fdd8f0c 100644 --- a/companion/src/translations/companion_pl.ts +++ b/companion/src/translations/companion_pl.ts @@ -9354,282 +9354,162 @@ Mode 4: LS1 - PL1 + PL1 LS2 - PL2 + PL2 LS3 - PL3 + PL3 LS4 - PL4 + PL4 LS5 - PL5 + PL5 LS6 - PL6 + PL6 LS7 - PL7 + PL7 LS8 - PL8 + PL8 LS9 - PL9 + PL9 LSA - PLA + PLA LSB - PLB + PLB LSC - PLC + PLC LSD - PLD + PLD LSE - PLE + PLE LSF - PLF + PLF LSG - PLG + PLG LSH - PLH + PLH LSI - PLI + PLI LSJ - PLJ + PLJ LSK - PLK + PLK LSL - PLL + PLL LSM - PLM, + PLM, LSN - PLN + PLN LSO - PLO + PLO LSP - PLP + PLP LSQ - PLQ + PLQ LSR - PLR + PLR LSS - PLS + PLS LST - PLT + PLT LSU - PLU + PLU LSV - PLV + PLV LSW - PLW - - - CS1 - PL1 - - - CS2 - PL2 - - - CS3 - PL3 - - - CS4 - PL4 - - - CS5 - PL5 - - - CS6 - PL6 - - - CS7 - PL7 - - - CS8 - PL8 - - - CS9 - PL9 - - - CSA - PLA - - - CSB - PLB - - - CSC - PLC - - - CSD - PLD - - - CSE - PLE - - - CSF - PLF - - - CSG - PLG - - - CSH - PLH - - - CSI - PLI - - - CSJ - PLJ - - - CSL - PLL - - - CSM - PLM - - - CSN - PLN - - - CSO - PLO - - - CSP - PLP - - - CSQ - PLQ - - - CSR - PLR - - - CSS - PLS - - - CST - PLT - - - CSU - PLU - - - CSV - PLV + PLW @@ -9641,16 +9521,6 @@ Mode 4: Companion Simulator Symulator Companion - - CSK - SWK - PLK - - - CSW - SWW - PLW - CH1 @@ -10055,290 +9925,162 @@ Mode 4: LSK - PLK + PLK LSC - PLC + PLC LSD - PLD + PLD LS7 - PL7 + PL7 LSL - PLL + PLL LSB - PLB + PLB LS1 - PL1 + PL1 LSH - PLH + PLH LSG - PLG + PLG LSE - PLE + PLE LSF - PLF + PLF LS8 - PL8 + PL8 LS9 - PL9 + PL9 LSA - PLA + PLA LSM - PLM, + PLM, LSJ - PLJ + PLJ LSI - PLI + PLI LS4 - PL4 + PL4 LS5 - PL5 + PL5 LS2 - PL2 + PL2 LS3 - PL3 + PL3 LS6 - PL6 + PL6 LSN - PLN + PLN LSO - PLO + PLO LSP - PLP + PLP LSQ - PLQ + PLQ LSR - PLR + PLR LSS - PLS + PLS LST - PLT + PLT LSU - PLU + PLU LSV - PLV + PLV LSW - PLW - - - CSK - PLK - - - CSC - PLC - - - CSD - PLD - - - CS7 - PL7 - - - CSL - PLL - - - CSB - PLB - - - CS1 - PL1 - - - CSH - PLH - - - CSG - PLG - - - CSE - PLE - - - CSF - PLF - - - CS8 - PL8 - - - CS9 - PL9 - - - CSA - PLA - - - CSM - PLM - - - CSJ - PLJ - - - CSI - PLI - - - CS4 - PL4 - - - CS5 - PL5 - - - CS2 - PL2 - - - CS3 - PL3 - - - CS6 - PL6 - - - CSN - PLN - - - CSO - PLO - - - CSP - PLP - - - CSQ - PLQ - - - CSR - PLR - - - CSS - PLS - - - CST - PLT - - - CSU - PLU - - - CSV - PLV - - - CSW - PLW + PLW From 71ef6d54575d9986eb384c08328e1bc98613ef1b Mon Sep 17 00:00:00 2001 From: Kjell Kernen Date: Mon, 3 Feb 2014 23:17:55 +0100 Subject: [PATCH 60/61] Changed names for Master/Slave in Swedsih translation --- radio/src/translations/se.h.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 4ef12f2f8..f9f6d6b4b 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -362,7 +362,7 @@ #define TR_VTMRMODES "Av\0""ABS""GAs""GA%""GAt" #define LEN_VTRAINERMODES "\006" -#define TR_VTRAINERMODES "Master""Slav\0." +#define TR_VTRAINERMODES "Lärare""Elev\0." #define LEN_VFAILSAFE "\011" #define TR_VFAILSAFE "Håll\0 ""Special\0 ""Pulsfritt" @@ -488,7 +488,7 @@ #define TR_SWITCHWARNING TR("Bryt.varn.","Brytarvarning") #define TR_TIMEZONE TR("Tidszon","GPS Tidszon") #define TR_RXCHANNELORD "Kanaler i RX" -#define TR_SLAVE "Slav" +#define TR_SLAVE "Elev" #define TR_MODESRC " Läge\004% Källa" #define TR_MULTIPLIER "Styrka" #define TR_CAL "Kalib." @@ -548,7 +548,7 @@ #define TR_MENUHELISETUP "Helikopter" #if defined(PCBTARANIS) - #define TR_MENUINPUTS "Filter" + #define TR_MENUINPUTS TR("Filter","Filtrerad Insignal") #define TR_MENULIMITS "Gränser" #elif defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_LIMITS_SYMETRICAL) // The right menu titles for the gurus ... #define TR_MENUINPUTS "Spakar" From 21398347f146a15f2a44cefaa758b03651c293c3 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 4 Feb 2014 07:16:33 +0100 Subject: [PATCH 61/61] Update DONATIONS.txt --- DONATIONS.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/DONATIONS.txt b/DONATIONS.txt index 8436823af..d38356161 100644 --- a/DONATIONS.txt +++ b/DONATIONS.txt @@ -312,3 +312,4 @@ Dietmar Drees Bradley Murchie Richard Fahie James Kaufman +Henry Deucker