From 77f23765ae5469b4e5b32e7b232d4a30ec696e7b Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 24 Sep 2019 10:20:48 +0200 Subject: [PATCH 01/24] No LR12 from internal module on X9D+ 2019 --- radio/src/gui/212x64/model_setup.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/radio/src/gui/212x64/model_setup.cpp b/radio/src/gui/212x64/model_setup.cpp index 4637d86349..e3a7c66e50 100644 --- a/radio/src/gui/212x64/model_setup.cpp +++ b/radio/src/gui/212x64/model_setup.cpp @@ -776,7 +776,7 @@ void menuModelSetup(event_t event) } } else if (isModulePXX2(INTERNAL_MODULE)) { - g_model.moduleData[INTERNAL_MODULE].subType = checkIncDec(event, g_model.moduleData[INTERNAL_MODULE].subType, 0, MODULE_SUBTYPE_ISRM_PXX2_ACCST_LR12, EE_MODEL, isRfProtocolAvailable); + g_model.moduleData[INTERNAL_MODULE].subType = checkIncDec(event, g_model.moduleData[INTERNAL_MODULE].subType, 0, MODULE_SUBTYPE_ISRM_PXX2_ACCST_D16, EE_MODEL, isRfProtocolAvailable); } } #else @@ -786,7 +786,7 @@ void menuModelSetup(event_t event) } lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_ISRM_RF_PROTOCOLS, index, attr); if (attr) { - index = checkIncDec(event, index, 0, 3, EE_MODEL); + index = checkIncDec(event, index, 0, MODULE_SUBTYPE_ISRM_PXX2_ACCST_D16 + 1 /* because of --- */, EE_MODEL); if (checkIncDec_Ret) { memclear(&g_model.moduleData[INTERNAL_MODULE], sizeof(ModuleData)); if (index > 0) { From c0c3680fe652a1c7ab6ab11738ec32b1f1c4a367 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 24 Sep 2019 10:23:10 +0200 Subject: [PATCH 02/24] Bluetooth detection issue on QX7 (some samples, after bootloader) --- .../common/arm/stm32/bluetooth_driver.cpp | 18 +++++++++++------- .../common/arm/stm32/bootloader/CMakeLists.txt | 7 +++++++ .../common/arm/stm32/bootloader/boot.cpp | 4 ++++ 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/radio/src/targets/common/arm/stm32/bluetooth_driver.cpp b/radio/src/targets/common/arm/stm32/bluetooth_driver.cpp index 2a9e0848bf..1d861e1d64 100644 --- a/radio/src/targets/common/arm/stm32/bluetooth_driver.cpp +++ b/radio/src/targets/common/arm/stm32/bluetooth_driver.cpp @@ -20,6 +20,7 @@ #include "opentx.h" +#if !defined(BOOT) Fifo btTxFifo; Fifo btRxFifo; @@ -42,6 +43,7 @@ enum BluetoothWriteState }; volatile uint8_t bluetoothWriteState = BLUETOOTH_WRITE_IDLE; +#endif void bluetoothInit(uint32_t baudrate, bool enable) { @@ -65,6 +67,7 @@ void bluetoothInit(uint32_t baudrate, bool enable) GPIO_Init(BT_BCTS_GPIO, &GPIO_InitStructure); #endif +#if !defined(BOOT) GPIO_PinAFConfig(BT_USART_GPIO, BT_TX_GPIO_PinSource, BT_GPIO_AF); GPIO_PinAFConfig(BT_USART_GPIO, BT_RX_GPIO_PinSource, BT_GPIO_AF); @@ -90,17 +93,17 @@ void bluetoothInit(uint32_t baudrate, bool enable) bluetoothWriteState = BLUETOOTH_WRITE_IDLE; - if (enable) { - GPIO_ResetBits(BT_EN_GPIO, BT_EN_GPIO_PIN); - } - else { - GPIO_SetBits(BT_EN_GPIO, BT_EN_GPIO_PIN); - } - btRxFifo.clear(); btTxFifo.clear(); +#endif + + if (enable) + GPIO_ResetBits(BT_EN_GPIO, BT_EN_GPIO_PIN); + else + GPIO_SetBits(BT_EN_GPIO, BT_EN_GPIO_PIN); } +#if !defined(BOOT) void bluetoothDisable() { GPIO_SetBits(BT_EN_GPIO, BT_EN_GPIO_PIN); // close bluetooth (recent modules will go to bootloader mode) @@ -165,3 +168,4 @@ uint8_t bluetoothIsWriting(void) { return bluetoothWriteState != BLUETOOTH_WRITE_IDLE; } +#endif // !BOOT diff --git a/radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt b/radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt index 4141a766eb..58b6b57f71 100644 --- a/radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt +++ b/radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt @@ -92,6 +92,13 @@ if(PCB STREQUAL X12S OR PCB STREQUAL X10 OR PCB STREQUAL X9E OR (PCB STREQUAL X9 ) endif() +if(PCB STREQUAL X7 OR PCB STREQUAL XLITE) + set(BOOTLOADER_SRC + ${BOOTLOADER_SRC} + ../../../../../targets/common/arm/stm32/bluetooth_driver.cpp + ) +endif() + if(NOT (PCB STREQUAL X10 OR PCB STREQUAL X12S)) set(BOOTLOADER_SRC ${BOOTLOADER_SRC} diff --git a/radio/src/targets/common/arm/stm32/bootloader/boot.cpp b/radio/src/targets/common/arm/stm32/bootloader/boot.cpp index e5adcd5452..762f392534 100644 --- a/radio/src/targets/common/arm/stm32/bootloader/boot.cpp +++ b/radio/src/targets/common/arm/stm32/bootloader/boot.cpp @@ -245,6 +245,10 @@ int main() backlightInit(); backlightEnable(); +#if defined(PCBX7) || defined(PCBXLITE) + bluetoothInit(BLUETOOTH_DEFAULT_BAUDRATE, false); +#endif + #if defined(PCBTARANIS) i2cInit(); #endif From ec33074b0d3dfdd9cacbb5877e2f17d965055071 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 24 Sep 2019 10:29:52 +0200 Subject: [PATCH 03/24] Comment added --- radio/src/targets/common/arm/stm32/bootloader/boot.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/radio/src/targets/common/arm/stm32/bootloader/boot.cpp b/radio/src/targets/common/arm/stm32/bootloader/boot.cpp index 762f392534..a0878eb052 100644 --- a/radio/src/targets/common/arm/stm32/bootloader/boot.cpp +++ b/radio/src/targets/common/arm/stm32/bootloader/boot.cpp @@ -246,6 +246,7 @@ int main() backlightEnable(); #if defined(PCBX7) || defined(PCBXLITE) + // we shutdown the bluetooth module now to be sure it will be detected on firmware start bluetoothInit(BLUETOOTH_DEFAULT_BAUDRATE, false); #endif From 9442b31c3cd4788206fa018063b96ed13bb2be72 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 24 Sep 2019 10:41:34 +0200 Subject: [PATCH 04/24] No LR12 from internal module on X10 Express --- radio/src/gui/480x272/model_setup.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radio/src/gui/480x272/model_setup.cpp b/radio/src/gui/480x272/model_setup.cpp index c759bfb77d..69b9ae6764 100644 --- a/radio/src/gui/480x272/model_setup.cpp +++ b/radio/src/gui/480x272/model_setup.cpp @@ -972,7 +972,7 @@ bool menuModelSetup(event_t event) } } else if (isModulePXX2(INTERNAL_MODULE)) { - g_model.moduleData[INTERNAL_MODULE].subType = checkIncDec(event, g_model.moduleData[INTERNAL_MODULE].subType, 0, MODULE_SUBTYPE_ISRM_PXX2_ACCST_LR12, EE_MODEL); + g_model.moduleData[INTERNAL_MODULE].subType = checkIncDec(event, g_model.moduleData[INTERNAL_MODULE].subType, 0, MODULE_SUBTYPE_ISRM_PXX2_ACCST_D16, EE_MODEL); } } break; From 4223013bb6247569ca9b6c4ac3c76a97c7e12252 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 24 Sep 2019 10:49:57 +0200 Subject: [PATCH 05/24] Compilation fix --- radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt b/radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt index 58b6b57f71..f811d54aa5 100644 --- a/radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt +++ b/radio/src/targets/common/arm/stm32/bootloader/CMakeLists.txt @@ -92,7 +92,7 @@ if(PCB STREQUAL X12S OR PCB STREQUAL X10 OR PCB STREQUAL X9E OR (PCB STREQUAL X9 ) endif() -if(PCB STREQUAL X7 OR PCB STREQUAL XLITE) +if(PCB STREQUAL X7 OR PCB STREQUAL XLITE OR PCB STREQUAL XLITES) set(BOOTLOADER_SRC ${BOOTLOADER_SRC} ../../../../../targets/common/arm/stm32/bluetooth_driver.cpp From da167b0adc93f2378c55cce1c085c03de6a8e3f5 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 24 Sep 2019 12:08:27 +0200 Subject: [PATCH 06/24] Cosmetics --- radio/src/translations/en.h.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 784ce1b4cd..8134c7bfc7 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -510,9 +510,9 @@ #define TR_INACTIVITYALARM INDENT "Inactivity" #define TR_MEMORYWARNING INDENT "Memory low" #define TR_ALARMWARNING INDENT "Sound off" -#define TR_RSSISHUTDOWNALARM TR(INDENT "Rssi Shutdown", INDENT "Check Rssi on Shutdown") +#define TR_RSSISHUTDOWNALARM TR(INDENT "Rssi Shutdown", INDENT "Check RSSI on shutdown") #define TR_MODEL_STILL_POWERED "Model still powered" -#define TR_MODEL_SHUTDOWN "Shutdown ?" +#define TR_MODEL_SHUTDOWN "Shutdown?" #define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm" #define TR_RENAVIG "RotEnc Navig" #define TR_THROTTLE_LABEL "Throttle" @@ -1083,7 +1083,7 @@ #define TR_BEEP_VOLUME "Beep volume" #define TR_WAV_VOLUME "Wav volume" -#define TR_BG_VOLUME TR("Bg volume", "Background Volume") +#define TR_BG_VOLUME TR("Bg volume", "Background volume") #define TR_TOP_BAR "Top bar" #define TR_FLASH_ERASE "Flash erase..." From ecc8c2a97b4ff7af6ef23ef6995684f1deb5f4dc Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 24 Sep 2019 12:12:00 +0200 Subject: [PATCH 07/24] Unused string removal --- radio/src/translations/cz.h.txt | 4 ---- radio/src/translations/de.h.txt | 4 ---- radio/src/translations/en.h.txt | 4 ---- radio/src/translations/es.h.txt | 4 ---- radio/src/translations/fi.h.txt | 4 ---- radio/src/translations/fr.h.txt | 4 ---- radio/src/translations/it.h.txt | 4 ---- radio/src/translations/nl.h.txt | 4 ---- radio/src/translations/pl.h.txt | 4 ---- radio/src/translations/pt.h.txt | 4 ---- radio/src/translations/se.h.txt | 4 ---- 11 files changed, 44 deletions(-) diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 4c04844cb0..89d99c619f 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -51,9 +51,6 @@ #define LEN_VBEEPMODE TR("\005","\012") #define TR_VBEEPMODE TR("Tichý""Alarm""BezKl""Vše\0", "Tichý\0 ""Jen alarm\0""Bez kláves""Vše\0 ") -#define LEN_VRENAVIG "\003" -#define TR_VRENAVIG "Ne REaREb" - #define LEN_VBLMODE TR("\005", "\007") #define TR_VBLMODE TR("Vyp\0 ""Kláv.""Páky\0""Vše\0 ""Zap\0 ", "Vypnuto""Klávesy""Páky\0 ""Vše\0 ""Zapnuto") @@ -512,7 +509,6 @@ #define TR_MODEL_STILL_POWERED "Model stále spuštěn" #define TR_MODEL_SHUTDOWN "Vypnout ?" #define TR_PRESS_ENTER_TO_CONFIRM "Zmáčkni enter pro potvrzení" -#define TR_RENAVIG "Navig. RotEnc" #define TR_THROTTLE_LABEL "Plyn" #define TR_THROTTLEREVERSE TR("ReversPlyn", INDENT"Revers plynu") #define TR_MINUTEBEEP TR("Minuta", "Oznamovat minuty") diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index ffa5d7a916..54fedd8c6f 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -52,9 +52,6 @@ #define LEN_VBEEPMODE "\005" #define TR_VBEEPMODE "Stumm""Alarm""NoKey""Alle\0" -#define LEN_VRENAVIG "\003" -#define TR_VRENAVIG "AUSDGaDGb" - #define LEN_VBLMODE "\005" #define TR_VBLMODE "AUS\0 ""Taste""Stks\0""Beide""EIN\0 " // Anpassung @@ -514,7 +511,6 @@ #define TR_MODEL_STILL_POWERED "Model still powered" #define TR_MODEL_SHUTDOWN "Shutdown ?" #define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm" -#define TR_RENAVIG TR ("Rol", "Drehgeb. Navig.") #define TR_THROTTLE_LABEL "Gas-Kontrolle" #define TR_THROTTLEREVERSE TR("Gas invers", INDENT "Vollgas hinten?") //Änderung wg TH9x, Taranis #define TR_MINUTEBEEP TR("Min-Alarm", "Minuten-Alarm") diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 8134c7bfc7..64c1358ba7 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -52,9 +52,6 @@ #define LEN_VBEEPMODE "\005" #define TR_VBEEPMODE "Quiet""Alarm""NoKey""All\0 " -#define LEN_VRENAVIG "\003" -#define TR_VRENAVIG "No REaREb" - #define LEN_VBLMODE TR("\004", "\010") #define TR_VBLMODE TR("OFF\0""Keys""Ctrl""Both""ON\0 ", "OFF\0 ""Keys\0 ""Controls""Both\0 ""ON\0 ") @@ -514,7 +511,6 @@ #define TR_MODEL_STILL_POWERED "Model still powered" #define TR_MODEL_SHUTDOWN "Shutdown?" #define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm" -#define TR_RENAVIG "RotEnc Navig" #define TR_THROTTLE_LABEL "Throttle" #define TR_THROTTLEREVERSE TR("T-Reverse", INDENT "Reverse") #define TR_MINUTEBEEP TR("Minute", "Minute call") diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 74e8b6d16c..06eebe9287 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -52,9 +52,6 @@ #define LEN_VBEEPMODE "\005" #define TR_VBEEPMODE "Mudo ""Alarm""NoKey""Todo " -#define LEN_VRENAVIG "\003" -#define TR_VRENAVIG "No REaREb" - #define LEN_VBLMODE "\004" #define TR_VBLMODE "OFF ""Keys""Stks""Both""ON\0" @@ -534,7 +531,6 @@ #define TR_MODEL_STILL_POWERED "Model still powered" #define TR_MODEL_SHUTDOWN "Shutdown ?" #define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm" -#define TR_RENAVIG "RotEnc Navig" #define TR_THROTTLE_LABEL "Throttle" #define TR_THROTTLEREVERSE TR("Invert_Acel", INDENT "Invertir Acel.") #define TR_MINUTEBEEP TR("Minuto", "Cada Minuto") diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 4f2e48f8ea..da2db63878 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -52,9 +52,6 @@ #define LEN_VBEEPMODE "\005" #define TR_VBEEPMODE "Äänet""Hälyt""EiNap""Kaikk" -#define LEN_VRENAVIG "\003" -#define TR_VRENAVIG "No REaREb" - #define LEN_VBLMODE TR("\004", "\010") #define TR_VBLMODE TR("OFF\0""Keys""Ctrl""Both""ON\0 ", "OFF\0 ""Keys\0 ""Controls""Both\0 ""ON\0 ") @@ -526,7 +523,6 @@ #define TR_MODEL_STILL_POWERED "Model still powered" #define TR_MODEL_SHUTDOWN "Shutdown ?" #define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm" -#define TR_RENAVIG "RotEnc Navig" #define TR_THROTTLE_LABEL "Throttle" #define TR_THROTTLEREVERSE TR("T-Reverse", INDENT "Throttle reverse") #define TR_MINUTEBEEP TR("Minute", "Minute call") diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 3b65b16d21..3b93dac838 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -52,9 +52,6 @@ #define LEN_VBEEPMODE "\005" #define TR_VBEEPMODE "Aucun""Alarm""NoKey""Tout\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 ") @@ -532,7 +529,6 @@ #define TR_MODEL_STILL_POWERED TR("Modèle allumé", "Modèle encore allumé") #define TR_MODEL_SHUTDOWN "Eteindre ?" #define TR_PRESS_ENTER_TO_CONFIRM "Presser [Enter] pour confirmer" -#define TR_RENAVIG "Navig EncRot" #define TR_THROTTLE_LABEL "Gaz" #define TR_THROTTLEREVERSE TR("Inv. gaz", INDENT "Inversion gaz") #define TR_MINUTEBEEP TR("Bip min.", "Annonces minutes") diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 89cf9aaa96..3e779cf532 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -52,9 +52,6 @@ #define LEN_VBEEPMODE TR("\005", "\010") #define TR_VBEEPMODE TR("Silen""Avvis""Notst""Tutti","Silente ""Avvisi\0 ""No Tasti""Tutti\0 ") -#define LEN_VRENAVIG "\003" -#define TR_VRENAVIG "No REaREb" - #define LEN_VBLMODE TR("\005", "\006") #define TR_VBLMODE TR("OFF\0 ""Tasti""Stks\0""Tutti""ON\0 ", "Spenta""Tasti\0""Sticks""Tutti\0""Accesa") @@ -533,7 +530,6 @@ #define TR_MODEL_STILL_POWERED "Model still powered" #define TR_MODEL_SHUTDOWN "Shutdown ?" #define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm" -#define TR_RENAVIG "Navig EncRot " #define TR_THROTTLE_LABEL "Motore" #define TR_THROTTLEREVERSE TR("Mot inv.", INDENT "Motore Inverso") #define TR_MINUTEBEEP "Minuto" diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index 553740a1f2..3dedec93b5 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -52,9 +52,6 @@ #define LEN_VBEEPMODE "\005" #define TR_VBEEPMODE "Stil\0""Alarm""NoKey""Alles" -#define LEN_VRENAVIG "\003" -#define TR_VRENAVIG "UITREaREb" - #define LEN_VBLMODE TR("\005", "\010") #define TR_VBLMODE TR("UIT\0 ""Keys\0""Stick""Beide""AAN\0 ", "UIT\0 ""Toetsen\0""Sticks\0 ""Beide\0 ""AAN\0 ") @@ -516,7 +513,6 @@ TR_GYR_VSRCRAW #define TR_MODEL_STILL_POWERED "Model still powered" #define TR_MODEL_SHUTDOWN "Shutdown ?" #define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm" -#define TR_RENAVIG "Stappenschakelaar" #define TR_THROTTLE_LABEL "Gas" #define TR_THROTTLEREVERSE TR("Reverse", INDENT "Omgekeerd") #define TR_MINUTEBEEP TR("Min-Alarm", "Minuten-Alarm") diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 02990fab79..447578f1da 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -52,9 +52,6 @@ #define LEN_VBEEPMODE "\005" #define TR_VBEEPMODE "Cichy""Alarm""BezPr""Wsz.\0" -#define LEN_VRENAVIG "\003" -#define TR_VRENAVIG "No REaREb" - #define LEN_VBLMODE TR("\004", "\010") #define TR_VBLMODE TR("Wył\0""Przy""Drąż""Oba\0""Zał\0", "Wyłącz ""Przycisk""Drązki\0 ""Oba\0 ""Włącz ") @@ -533,7 +530,6 @@ #define TR_MODEL_STILL_POWERED "Model still powered" #define TR_MODEL_SHUTDOWN "Shutdown ?" #define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm" -#define TR_RENAVIG "Nawigacja potencjometrem" #define TR_THROTTLE_LABEL "Gaz " #define TR_THROTTLEREVERSE TR("OdwrGaz", INDENT "OdwrGaz") #define TR_MINUTEBEEP TR("Minuta", "PikCoMinutę") diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 898b1b5305..a71168ba85 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -52,9 +52,6 @@ #define LEN_VBEEPMODE "\005" #define TR_VBEEPMODE "Mudo ""Alarm""NoKey""Todo " -#define LEN_VRENAVIG "\003" -#define TR_VRENAVIG "No REaREb" - #define LEN_VBLMODE "\004" #define TR_VBLMODE "OFF ""Chav""Stks""Tudo""ON\0" @@ -519,7 +516,6 @@ #define TR_MODEL_STILL_POWERED "Model still powered" #define TR_MODEL_SHUTDOWN "Shutdown ?" #define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm" -#define TR_RENAVIG "RotEnc Navig" #define TR_THROTTLE_LABEL "Throttle" #define TR_THROTTLEREVERSE TR("Inverte Acel.", INDENT "Inverte Acel.") #define TR_MINUTEBEEP "Beep Minuto" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index d9d9deb81c..db141c4460 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -52,9 +52,6 @@ #define LEN_VBEEPMODE "\005" #define TR_VBEEPMODE "Tyst\0""Alarm""EjKnp""Alla\0" -#define LEN_VRENAVIG "\003" -#define TR_VRENAVIG "IngREaREb" - #define LEN_VBLMODE TR("\005", "\010") #define TR_VBLMODE TR("Av\0 ""Knapp""Spak\0""Allt\0""På\0 ", "Av\0 ""Knappar\0""Spakar\0 ""Allt\0 ""På\0 ") @@ -532,7 +529,6 @@ #define TR_MODEL_STILL_POWERED "Model still powered" #define TR_MODEL_SHUTDOWN "Shutdown ?" #define TR_PRESS_ENTER_TO_CONFIRM "Press enter to confirm" -#define TR_RENAVIG "RotEnk Navig" #define TR_THROTTLE_LABEL "Gas" #define TR_THROTTLEREVERSE TR("Inv.Gas", INDENT "Inverterad Gas") #define TR_MINUTEBEEP "Minutpip" From 5418dc6c979f129649b6219f31b9ac64b9f62f30 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 24 Sep 2019 14:41:28 +0200 Subject: [PATCH 08/24] Unused string removal --- radio/src/translations/cz.h.txt | 1 - radio/src/translations/de.h.txt | 1 - radio/src/translations/en.h.txt | 1 - radio/src/translations/es.h.txt | 1 - radio/src/translations/fi.h.txt | 1 - radio/src/translations/fr.h.txt | 1 - radio/src/translations/it.h.txt | 1 - radio/src/translations/nl.h.txt | 1 - radio/src/translations/pl.h.txt | 1 - radio/src/translations/pt.h.txt | 1 - radio/src/translations/se.h.txt | 1 - 11 files changed, 11 deletions(-) diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 89d99c619f..6ec267134d 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -663,7 +663,6 @@ #define TR_PITCH_AT_ZERO INDENT "Tón na nule" #define TR_PITCH_AT_MAX INDENT "Tón na maximu" #define TR_REPEAT_AT_ZERO TR(INDENT "Opak. na nule", INDENT "Opakování na nule") -#define TR_POWEROFF "\027Vypínám..." #define TR_SHUTDOWN "Vypínání.." #define TR_SAVEMODEL "Ukládám nastavení modelu" #define TR_BATT_CALIB "Kalib. bat." diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 54fedd8c6f..bef995a9f0 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -665,7 +665,6 @@ #define TR_PITCH_AT_ZERO INDENT "Töne sinken" #define TR_PITCH_AT_MAX INDENT "Töne steigen" #define TR_REPEAT_AT_ZERO INDENT "Wiederholrate" -#define TR_POWEROFF "\027Power OFF..." #define TR_SHUTDOWN "Herunterfahren" #define TR_SAVEMODEL "Modelleinstellungen speichern" #define TR_BATT_CALIB TR("AkkuSpgwert", "Akku Kalibrierung") diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 64c1358ba7..fa55e19419 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -665,7 +665,6 @@ #define TR_PITCH_AT_ZERO INDENT "Pitch zero" #define TR_PITCH_AT_MAX INDENT "Pitch max" #define TR_REPEAT_AT_ZERO INDENT "Repeat zero" -#define TR_POWEROFF "\027Power OFF..." #define TR_SHUTDOWN "SHUTTING DOWN" #define TR_SAVEMODEL "Saving model settings" #define TR_BATT_CALIB TR("Batt. calib", "Battery calibration") diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 06eebe9287..1cb0090eb7 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -688,7 +688,6 @@ #define TR_PITCH_AT_ZERO INDENT "Pitch at Zero" #define TR_PITCH_AT_MAX INDENT "Pitch at Max" #define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero" -#define TR_POWEROFF "\027Power OFF..." #define TR_SHUTDOWN "APAGANDO" #define TR_SAVEMODEL "Saving model settings" #define TR_BATT_CALIB "Calib.bateria" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index da2db63878..d1cf825f6d 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -682,7 +682,6 @@ #define TR_PITCH_AT_ZERO INDENT "Pitch at Zero" #define TR_PITCH_AT_MAX INDENT "Pitch at Max" #define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero" -#define TR_POWEROFF "\027Power OFF..." #define TR_SHUTDOWN "SHUTTING DOWN" #define TR_SAVEMODEL "Saving model settings" #define TR_BATT_CALIB "Battery Calib" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 3b93dac838..c879b3c4e0 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -685,7 +685,6 @@ #define TR_PITCH_AT_ZERO INDENT "Tonalité zéro" #define TR_PITCH_AT_MAX INDENT "Tonalité max" #define TR_REPEAT_AT_ZERO TR(INDENT "Interv. zéro", INDENT "Intervalle au zéro") -#define TR_POWEROFF "\037\120ARRET..." #define TR_SHUTDOWN "ARRET EN COURS" #define TR_SAVEMODEL "Sauvegarde modèle..." #define TR_BATT_CALIB "Calib. batt" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 3e779cf532..de340f087c 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -683,7 +683,6 @@ #define TR_PITCH_AT_ZERO INDENT "Tono a Zero" #define TR_PITCH_AT_MAX INDENT "Tono al Max" #define TR_REPEAT_AT_ZERO INDENT "Ripeti a Zero" -#define TR_POWEROFF "\027Power OFF..." #define TR_SHUTDOWN "ARRESTO.." #define TR_SAVEMODEL "Salvataggio dati modello" #define TR_BATT_CALIB "Calibra batt." diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index 3dedec93b5..ab612da8fc 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -671,7 +671,6 @@ TR_GYR_VSRCRAW #define TR_PITCH_AT_ZERO INDENT "Laagste Toon" #define TR_PITCH_AT_MAX INDENT "Hoogste Toon" #define TR_REPEAT_AT_ZERO INDENT "Herhalen bij 0" -#define TR_POWEROFF "\027Uitschakelen..." #define TR_SHUTDOWN "Afsluiten" #define TR_SAVEMODEL "Bewaar Model-instellingen" #define TR_BATT_CALIB "Accu Calib" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 447578f1da..1809484e5a 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -683,7 +683,6 @@ #define TR_PITCH_AT_ZERO INDENT "Ton przy Zerze" #define TR_PITCH_AT_MAX INDENT "Ton przy Max" #define TR_REPEAT_AT_ZERO INDENT "Powtórz przy Zerze" -#define TR_POWEROFF "\027Wyłączanie.." #define TR_SHUTDOWN "Wyłączanie.." #define TR_SAVEMODEL "Zapisz ustwienia modelu" #define TR_BATT_CALIB "Kalib:Baterii" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index a71168ba85..6a8adc9442 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -673,7 +673,6 @@ #define TR_PITCH_AT_ZERO INDENT "Pitch at Zero" #define TR_PITCH_AT_MAX INDENT "Pitch at Max" #define TR_REPEAT_AT_ZERO INDENT "Repeat at Zero" -#define TR_POWEROFF "\027Power OFF..." #define TR_SHUTDOWN "DESLIGANDOo" #define TR_SAVEMODEL "Saving model settings" #define TR_BATT_CALIB "CALIBRAR BATT" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index db141c4460..236a3b26fc 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -682,7 +682,6 @@ #define TR_PITCH_AT_ZERO INDENT "Ton vid Noll" #define TR_PITCH_AT_MAX INDENT "Ton vid Max" #define TR_REPEAT_AT_ZERO INDENT "Repetera vid Noll" -#define TR_POWEROFF "\027Stänger Av..." #define TR_SHUTDOWN "STÄNGER AV" #define TR_SAVEMODEL "Spara modellinställn." #define TR_BATT_CALIB "Kalib. Batteri" From 0032bfee557e85953e4269b157bd35d9d6af5aed Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 24 Sep 2019 17:08:39 +0200 Subject: [PATCH 09/24] Unused string removal --- radio/src/translations/cz.h.txt | 7 +++---- radio/src/translations/de.h.txt | 1 - radio/src/translations/en.h.txt | 1 - radio/src/translations/es.h.txt | 1 - radio/src/translations/fi.h.txt | 1 - radio/src/translations/fr.h.txt | 1 - radio/src/translations/it.h.txt | 1 - radio/src/translations/nl.h.txt | 1 - radio/src/translations/pl.h.txt | 1 - radio/src/translations/pt.h.txt | 1 - radio/src/translations/se.h.txt | 1 - 11 files changed, 3 insertions(+), 14 deletions(-) diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 6ec267134d..5b47742928 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -559,11 +559,10 @@ #define OFS_RX 4 #define TR_ACCEL "Acc:" #define TR_NODATA CENTER "NO DATA" -#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%" -#define TR_US "us" +#define TR_US "us" #define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" -#define TR_TMIXMAXMS "Tmix max" -#define TR_FREE_STACK "Free stack" +#define TR_TMIXMAXMS "Tmix max" +#define TR_FREE_STACK "Free stack" #define TR_MENUTORESET TR_ENTER" >> Reset" #define TR_PPM_TRAINER "TR" #define TR_CH "CH" diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index bef995a9f0..a44fe2e9d6 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -563,7 +563,6 @@ #define OFS_RX 4 #define TR_ACCEL "Acc:" #define TR_NODATA CENTER"Keine Daten" -#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036GAS\037\146GS%" #define TR_US "us" #define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" #define TR_TMIXMAXMS "Tmix max" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index fa55e19419..8a1e77bde9 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -563,7 +563,6 @@ #define OFS_RX 4 #define TR_ACCEL "Acc:" #define TR_NODATA CENTER "NO DATA" -#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%" #define TR_US "us" #define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" #define TR_TMIXMAXMS "Tmix max" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 1cb0090eb7..cf639b377b 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -577,7 +577,6 @@ #define OFS_RX 4 #define TR_ACCEL "Acc:" #define TR_NODATA CENTER "SIN DATOS" -#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%" #define TR_US "us" #define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" #define TR_TMIXMAXMS "Tmix max" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index d1cf825f6d..5701f6c14f 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -569,7 +569,6 @@ #define OFS_RX 4 #define TR_ACCEL "Acc:" #define TR_NODATA CENTER "NO DATA" -#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%" #define TR_US "us" #define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index c879b3c4e0..826cd56b1d 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -579,7 +579,6 @@ #define OFS_RX 4 #define TR_ACCEL "Acc:" #define TR_NODATA CENTER "NO DATA" -#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036GAZ\037\146GZ%" #define TR_US "us" #define TR_TMR1LATMINUS "Tmr1Lat min\037\124us" #define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index de340f087c..8060c3e6ad 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -580,7 +580,6 @@ #define OFS_RX 4 #define TR_ACCEL "Acc:" #define TR_NODATA CENTER"DATI ASSENTI" -#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%" #define TR_US "us" #define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" #define TR_TMIXMAXMS "Tmix max" diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index ab612da8fc..53158ce0d8 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -565,7 +565,6 @@ TR_GYR_VSRCRAW #define OFS_RX 4 #define TR_ACCEL "Acc:" #define TR_NODATA CENTER"Geen Data" -#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%" #define TR_US "us" #define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" #define TR_TMIXMAXMS "Tmix max" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 1809484e5a..f00e80cce3 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -580,7 +580,6 @@ #define OFS_RX 4 #define TR_ACCEL "Acc:" #define TR_NODATA CENTER "BrakDAN" -#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%" #define TR_US "us" #define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" #define TR_TMIXMAXMS "TmixMaks" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 6a8adc9442..820436613a 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -562,7 +562,6 @@ #define OFS_RX 4 #define TR_ACCEL "Acc:" #define TR_NODATA CENTER"SEM DADOS" -#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%" #define TR_US "us" #define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" #define TR_TMIXMAXMS "Tmix max" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 236a3b26fc..9f75ce93d8 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -579,7 +579,6 @@ #define OFS_RX 4 #define TR_ACCEL "Acc:" #define TR_NODATA CENTER "DATA SAKNAS" -#define TR_TOTTM1TM2THRTHP "\037\146SES\036TM1\037\146TM2\036THR\037\146TH%" #define TR_US "us" #define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" #define TR_TMIXMAXMS "Tmix max" From 713b43b9032dee0225dd819688ff0656f5d421bc Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 24 Sep 2019 17:15:05 +0200 Subject: [PATCH 10/24] Unused string removal --- radio/src/translations/cz.h.txt | 1 - radio/src/translations/de.h.txt | 1 - radio/src/translations/en.h.txt | 1 - radio/src/translations/es.h.txt | 1 - radio/src/translations/fi.h.txt | 1 - radio/src/translations/fr.h.txt | 1 - radio/src/translations/it.h.txt | 1 - radio/src/translations/nl.h.txt | 1 - radio/src/translations/pl.h.txt | 1 - radio/src/translations/pt.h.txt | 1 - radio/src/translations/se.h.txt | 1 - 11 files changed, 11 deletions(-) diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 5b47742928..c839d7d3f0 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -560,7 +560,6 @@ #define TR_ACCEL "Acc:" #define TR_NODATA CENTER "NO DATA" #define TR_US "us" -#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" #define TR_TMIXMAXMS "Tmix max" #define TR_FREE_STACK "Free stack" #define TR_MENUTORESET TR_ENTER" >> Reset" diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index a44fe2e9d6..65e3f7cb3d 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -564,7 +564,6 @@ #define TR_ACCEL "Acc:" #define TR_NODATA CENTER"Keine Daten" #define TR_US "us" -#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" #define TR_TMIXMAXMS "Tmix max" #define TR_FREE_STACK "Freier Stack" #define TR_MENUTORESET TR_ENTER " für Reset" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 8a1e77bde9..423067a10e 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -564,7 +564,6 @@ #define TR_ACCEL "Acc:" #define TR_NODATA CENTER "NO DATA" #define TR_US "us" -#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" #define TR_TMIXMAXMS "Tmix max" #define TR_FREE_STACK "Free stack" #define TR_MENUTORESET TR_ENTER " to reset" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index cf639b377b..3395c170cc 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -578,7 +578,6 @@ #define TR_ACCEL "Acc:" #define TR_NODATA CENTER "SIN DATOS" #define TR_US "us" -#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" #define TR_TMIXMAXMS "Tmix max" #define TR_FREE_STACK "Free stack" #define TR_MENUTORESET TR_ENTER "Resetear" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 5701f6c14f..65c67607b3 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -570,7 +570,6 @@ #define TR_ACCEL "Acc:" #define TR_NODATA CENTER "NO DATA" #define TR_US "us" -#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" #define TR_TMIXMAXMS "Tmix max" #define TR_FREE_STACK "Free stack" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 826cd56b1d..fc3d2945f5 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -581,7 +581,6 @@ #define TR_NODATA CENTER "NO DATA" #define TR_US "us" #define TR_TMR1LATMINUS "Tmr1Lat min\037\124us" -#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" #define TR_TMIXMAXMS "Tmix max" #define TR_FREE_STACK "Free stack" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 8060c3e6ad..900913578e 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -581,7 +581,6 @@ #define TR_ACCEL "Acc:" #define TR_NODATA CENTER"DATI ASSENTI" #define TR_US "us" -#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" #define TR_TMIXMAXMS "Tmix max" #define TR_FREE_STACK "Free stack" #define TR_MENUTORESET TR_ENTER" x Azzerare" diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index 53158ce0d8..7aaf4d5ac2 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -566,7 +566,6 @@ TR_GYR_VSRCRAW #define TR_ACCEL "Acc:" #define TR_NODATA CENTER"Geen Data" #define TR_US "us" -#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" #define TR_TMIXMAXMS "Tmix max" #define TR_FREE_STACK "Free stack" #define TR_MENUTORESET TR_ENTER" voor Reset" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index f00e80cce3..1922fa9b0f 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -581,7 +581,6 @@ #define TR_ACCEL "Acc:" #define TR_NODATA CENTER "BrakDAN" #define TR_US "us" -#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" #define TR_TMIXMAXMS "TmixMaks" #define TR_FREE_STACK "Wolny stos" #define TR_MENUTORESET TR_ENTER " >> Reset" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 820436613a..cefcb53fda 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -563,7 +563,6 @@ #define TR_ACCEL "Acc:" #define TR_NODATA CENTER"SEM DADOS" #define TR_US "us" -#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" #define TR_TMIXMAXMS "Tmix max" #define TR_FREE_STACK "Free stack" #define TR_MENUTORESET TR_ENTER" Reinicia" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index 9f75ce93d8..3d60f986bd 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -580,7 +580,6 @@ #define TR_ACCEL "Acc:" #define TR_NODATA CENTER "DATA SAKNAS" #define TR_US "us" -#define TR_TMR1JITTERUS "Tmr1 Jitter\037\124us" #define TR_TMIXMAXMS "Tmix max" #define TR_FREE_STACK "Free stack" #define TR_MENUTORESET TR_ENTER " Nollar" From 82fbc590e58ac7b0d1438f8e46a3dc05190d6369 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 24 Sep 2019 17:17:03 +0200 Subject: [PATCH 11/24] Cosmetics --- radio/src/translations/en.h.txt | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 423067a10e..b2090eaeae 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -406,7 +406,6 @@ #if defined(PCBTARANIS) #define TR_POPUPS_ENTER_EXIT TR(TR_EXIT "\010" TR_ENTER, TR_EXIT "\010" "\010" "\010" "\010" TR_ENTER) - #else #define TR_POPUPS_ENTER_EXIT TR_ENTER "\010" TR_EXIT #endif @@ -563,9 +562,9 @@ #define OFS_RX 4 #define TR_ACCEL "Acc:" #define TR_NODATA CENTER "NO DATA" -#define TR_US "us" -#define TR_TMIXMAXMS "Tmix max" -#define TR_FREE_STACK "Free stack" +#define TR_US "us" +#define TR_TMIXMAXMS "Tmix max" +#define TR_FREE_STACK "Free stack" #define TR_MENUTORESET TR_ENTER " to reset" #define TR_PPM_TRAINER "TR" #define TR_CH "CH" @@ -628,7 +627,7 @@ #define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune") #define TR_MULTI_TELEMETRY "Telemetry" #define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency") -#define TR_RFPOWER "RF Power" +#define TR_RFPOWER "RF Power" #define TR_MULTI_FIXEDID TR("FixedID", "Fixed ID") #define TR_MULTI_OPTION TR("Option", "Option value") #define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on channel") @@ -778,7 +777,6 @@ #define TR_TEMP_CALIB "Temp. Calib" #define TR_TIME "Time" #define TR_MAXBAUDRATE "Max bauds" - #define TR_BLUETOOTH "Bluetooth" #define TR_BLUETOOTH_DISC "Discover" #define TR_BLUETOOTH_INIT "Init" From 53d36cdbf448e4924a0ce16e9b29b003bec48be6 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Tue, 24 Sep 2019 20:25:05 +0200 Subject: [PATCH 12/24] The rotary encoder disables the inactivity warning --- radio/src/targets/common/arm/stm32/rotary_encoder_driver.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/radio/src/targets/common/arm/stm32/rotary_encoder_driver.cpp b/radio/src/targets/common/arm/stm32/rotary_encoder_driver.cpp index fc028d3b50..274b372037 100644 --- a/radio/src/targets/common/arm/stm32/rotary_encoder_driver.cpp +++ b/radio/src/targets/common/arm/stm32/rotary_encoder_driver.cpp @@ -84,6 +84,7 @@ void rotaryEncoderCheck() if (g_eeGeneral.backlightMode & e_backlight_mode_keys) { backlightOn(); } + inactivity.counter = 0; #endif } } From e3a9c1ddb6f2623e06cf5d9cacb100f85b3abc7a Mon Sep 17 00:00:00 2001 From: 3djc Date: Wed, 25 Sep 2019 13:43:18 +0200 Subject: [PATCH 13/24] Introduce delayed failsafe check for multi --- radio/src/opentx.cpp | 5 ++++- radio/src/pulses/modules_helpers.h | 5 ----- radio/src/targets/taranis/hal.h | 6 +----- radio/src/telemetry/multi.cpp | 6 ++++++ radio/src/telemetry/multi.h | 15 ++++++++------- 5 files changed, 19 insertions(+), 18 deletions(-) diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 16419655d4..3dfff66a8b 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -869,7 +869,10 @@ static void checkRTCBattery() void checkFailsafe() { for (int i=0; i= 2019) - #define INTERNAL_MODULE_PXX2 -#else - #define INTERNAL_MODULE_PXX1 -#endif + #if defined(PCBXLITE) || defined(PCBX9LITE) #define INTMODULE_RCC_APB1Periph 0 #define INTMODULE_RCC_APB2Periph RCC_APB2Periph_USART1 diff --git a/radio/src/telemetry/multi.cpp b/radio/src/telemetry/multi.cpp index 87944a862b..2caf121f8b 100644 --- a/radio/src/telemetry/multi.cpp +++ b/radio/src/telemetry/multi.cpp @@ -73,6 +73,12 @@ static void processMultiStatusPacket(const uint8_t *data) multiModuleStatus.patch = data[4]; multiModuleStatus.lastUpdate = get_tmr10ms(); + if (multiModuleStatus.requiresFailsafeCheck == true) { + multiModuleStatus.requiresFailsafeCheck = false; + if (multiModuleStatus.supportsFailsafe() && g_model.moduleData[EXTERNAL_MODULE].failsafeMode == FAILSAFE_NOT_SET) + POPUP_WARNING(STR_NO_FAILSAFE); + } + if (wasBinding && !multiModuleStatus.isBinding() && multiBindStatus == MULTI_BIND_INITIATED) multiBindStatus = MULTI_BIND_FINISHED; } diff --git a/radio/src/telemetry/multi.h b/radio/src/telemetry/multi.h index 1b439ea241..de61bb7453 100644 --- a/radio/src/telemetry/multi.h +++ b/radio/src/telemetry/multi.h @@ -118,17 +118,18 @@ struct MultiModuleStatus { uint8_t patch; uint8_t flags; + uint8_t requiresFailsafeCheck; tmr10ms_t lastUpdate; void getStatusString(char* statusText); - inline bool isValid() { return (bool)(get_tmr10ms() - lastUpdate < 200); } - inline bool supportsFailsafe() { return (bool) (flags & 0x20); } - inline bool isWaitingforBind() { return (bool) (flags & 0x10); } - inline bool isBinding() { return (bool) (flags & 0x08); } - inline bool protocolValid() { return (bool) (flags & 0x04); } - inline bool serialMode() { return (bool) (flags & 0x02); } - inline bool inputDetected() { return (bool) (flags & 0x01); } + inline bool isValid() const { return (bool)(get_tmr10ms() - lastUpdate < 200); } + inline bool supportsFailsafe() const { return (bool) (flags & 0x20); } + inline bool isWaitingforBind() const { return (bool) (flags & 0x10); } + inline bool isBinding() const { return (bool) (flags & 0x08); } + inline bool protocolValid() const { return (bool) (flags & 0x04); } + inline bool serialMode() const { return (bool) (flags & 0x02); } + inline bool inputDetected() const { return (bool) (flags & 0x01); } }; extern MultiModuleStatus multiModuleStatus; From 3bb16f9d57f1a0a3a92fc3924a58f41718d9f5b1 Mon Sep 17 00:00:00 2001 From: 3djc Date: Wed, 25 Sep 2019 13:45:59 +0200 Subject: [PATCH 14/24] Still needed --- radio/src/pulses/modules_helpers.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/radio/src/pulses/modules_helpers.h b/radio/src/pulses/modules_helpers.h index 1bd6a19844..d80a328607 100644 --- a/radio/src/pulses/modules_helpers.h +++ b/radio/src/pulses/modules_helpers.h @@ -346,6 +346,11 @@ inline bool isModuleFailsafeAvailable(uint8_t idx) return true; #endif +#if defined(MULTIMODULE) + if (isModuleMultimodule(idx)) + return multiModuleStatus.isValid() && multiModuleStatus.supportsFailsafe(); +#endif + if (isModuleXJT(idx)) return g_model.moduleData[idx].subType == MODULE_SUBTYPE_PXX1_ACCST_D16; From 149edf95b8929d4268fc0687af73d3272e124edc Mon Sep 17 00:00:00 2001 From: 3djc Date: Wed, 25 Sep 2019 13:48:15 +0200 Subject: [PATCH 15/24] Cosmetics --- radio/src/opentx.cpp | 2 +- radio/src/pulses/modules_helpers.h | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 3dfff66a8b..345449ab9d 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -869,7 +869,7 @@ static void checkRTCBattery() void checkFailsafe() { for (int i=0; i Date: Wed, 25 Sep 2019 13:49:19 +0200 Subject: [PATCH 16/24] Cosmetics --- radio/src/pulses/modules_helpers.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radio/src/pulses/modules_helpers.h b/radio/src/pulses/modules_helpers.h index 108be6f577..3bc69e3bcd 100644 --- a/radio/src/pulses/modules_helpers.h +++ b/radio/src/pulses/modules_helpers.h @@ -348,7 +348,7 @@ inline bool isModuleFailsafeAvailable(uint8_t idx) if (isModuleXJT(idx)) return g_model.moduleData[idx].subType == MODULE_SUBTYPE_PXX1_ACCST_D16; - + #if defined(MULTIMODULE) if (isModuleMultimodule(idx)) return multiModuleStatus.isValid() && multiModuleStatus.supportsFailsafe(); From 1045e0dae4a21506c529aa54fdd605f41350b7db Mon Sep 17 00:00:00 2001 From: 3djc Date: Wed, 25 Sep 2019 17:59:27 +0200 Subject: [PATCH 17/24] X9lite simu (#6830) * #6821 - Skin of the X9-Lite Companion simulator (#6822) * X9Lite simulator code * missing files * fine tune * Revert "missing files" This reverts commit a181775f3d8b030757e3871e7aaec40fb9b0df8a. * Remove unused images --- .../src/images/simulator/X9LITE/Readme.md | 29 ++++++++++ .../src/images/simulator/X9LITE/bottom.png | Bin 252 -> 4609 bytes .../src/images/simulator/X9LITE/left.png | Bin 17744 -> 12536 bytes .../src/images/simulator/X9LITE/left_exit.png | Bin 16804 -> 12453 bytes .../src/images/simulator/X9LITE/left_menu.png | Bin 17224 -> 12441 bytes .../src/images/simulator/X9LITE/left_page.png | Bin 16873 -> 12439 bytes .../images/simulator/X9LITE/left_scrnshot.png | Bin 17800 -> 12479 bytes .../src/images/simulator/X9LITE/right.png | Bin 19197 -> 10117 bytes .../src/images/simulator/X9LITE/right_ent.png | Bin 18890 -> 11523 bytes companion/src/images/simulator/X9LITE/top.png | Bin 8615 -> 3913 bytes .../simulation/simulateduiwidgetX9LITE.cpp | 21 ++++---- .../src/simulation/simulateduiwidgetX9LITE.ui | 50 +++++++++--------- 12 files changed, 63 insertions(+), 37 deletions(-) create mode 100644 companion/src/images/simulator/X9LITE/Readme.md diff --git a/companion/src/images/simulator/X9LITE/Readme.md b/companion/src/images/simulator/X9LITE/Readme.md new file mode 100644 index 0000000000..46b4f4f4b8 --- /dev/null +++ b/companion/src/images/simulator/X9LITE/Readme.md @@ -0,0 +1,29 @@ + +# X9-Lite skin for the Companion simulator +![X9-Lite Image for Companion](X9-Lite_Companion_image.png "X9-Lite") + +## The different parts of the image + +The image is divided into 4 pieces: top, bottom, left and right. +For the images concerned, there is the version with the activated element and the version without the activated element (such as a button, a rotary encoder, clicking on the rotary encoder). + +| File name | What is this image ? | +|:---------------------|:----------------------------------------------| +| `bottom.png` | central lower band | +| `center_LCD.png` | central LCD 256x128px (useless for simulator) | +| `left.png` | left part with inactive elements | +| `left_exit.png` | left part with the EXIT button activated | +| `left_menu.png` | left part with the MENU button activated | +| `left_page.png` | left part with the PAGE button activated | +| `left_scrnshot.png `| left part with the SCREENSHOT button activated| +| `right_ent.png` | right part with the ENT button activated | +| `right_rotcoder.png` | right part with the Rotary Encoder actuated | +| `right.png` | right part with inactive elements | +| `top.png` | central upper band | +`X9-Lite_Companion_image.png` is the image displayed here. + +When turning the rotary encoder, it is possible to make a motion effect by displaying `right_rotcoder.png` and `right.png`. + +## Software used : +- **Inkscape** : vector drawing software (http://www.inkscape.org/) +- **Gimp** : image editor (http://www.gimp.org/) \ No newline at end of file diff --git a/companion/src/images/simulator/X9LITE/bottom.png b/companion/src/images/simulator/X9LITE/bottom.png index 3f709a449487f743fd35b0575b564584a3ca8bd6..43f26ab49b801821691963d8725a9621e87f7a29 100644 GIT binary patch literal 4609 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 delta 237 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 Hu0mjfNwc7c diff --git a/companion/src/images/simulator/X9LITE/left_exit.png b/companion/src/images/simulator/X9LITE/left_exit.png index 0d7cd5b5b40cd2345b21bb5899dbccc89b0ce7b1..16a7dfda997c5d060503512e11f216adbc23dff5 100644 GIT binary patch literal 12453 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 literal 16804 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 diff --git a/companion/src/images/simulator/X9LITE/left_menu.png b/companion/src/images/simulator/X9LITE/left_menu.png index b97ba1da4e1cf9c131a1ee43c44aaf61cb3cabdc..db1cbd768141ad25dfb5a3542b9cfefb98a799ec 100644 GIT binary patch literal 12441 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 XTn*4bGRA1^00000NkvXXu0mjfo=(-# literal 17224 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

-`${ zbA4+Y>l3rNTB{&2^721p?yo$Irzkl@N2Xk6uU^guNzz?~z~Ky1K$05d&UP z5%a4|RsH+m;Zr${ji6_RPuo)*Pmte7vn8GDOyQf33Dyfvt_<>GtMr zFQ@lef&{Eilr!wdl#qYejlOZ(jZsPd7oq5#Ph|T8s_$aq1$8a%fo_J zE^jU%4Q}rpmpd;wn2hnqn9*zWGTJxIIPk^V$QBf-7F3&$5{Awf4_i>!@|g)sA0}dD zIG;7$oGebSDY=SFNwVE}O><15_sGzGA;-kR2u+a6#_ijFmF017Bo`5p#%h6)&X%Xq zqGf_jCn(1J_U+q5x3iI~)fVD9KO9L(NtcruT08IlXyU`w24=qwDDiSbO+)KSmBBuf z-oW_yT`RL#n8tD`tsrLhAjjc!0cJ(V3txap=Vdl_cb4@CBRWTA4Zc0IR_FQ)oV$fg zB%}*R@n-s$5Ou527aZ9%7o!sKZ~+Z>?=a7bcWYh|zRUGhhY`%FoZfEf{61g55MxN# zL}P!LtS(%(Yl+geZ{t+FDm3w!Rq7nmlAyr0Yd)lQJ6{x+kd0Y{siWn|a|Tgh*B$C; zDOkOe`6w9BvvHP4Y3}PQm@fPf^czUFOgf29`_UAvF<5@Nnf48jH>?C$Qdffrc*z)$5X^xF*p`imCpN$ zYhK5U=A)3l-%+1gU+JM-`Lx%zv)6H6SP=@5Yc)EMLw(@{h)C#_v!x25gNdoNi5Mm=ATU<3<@Q(sZS$@I1e z(gz%4PhXtYeNlQ0mm&$YHOnBdoZX%5hi3o>IZT7NFMpCgz3NyW2kKqVy)=vabN|1? z(Zu{Zt}F5JIR6sybr0!FEP%uiDoqD*s1;H>foquLj9TF+T&XWyG@q8Ze$cA5#3tr< zi(GS-72rPnZW7PAF|8!L3tzU6i6&9qYm?_b)S02LzImH*h`p%IO}V+ITm1%FUgLN? zcY>=pKk4i&I)Av{A^i7Y+`sYi_h+E!Cfx?o@lJx$-njpZa|tT)w*;f1L|UIy8-wlY zVJ4H^p`;97_~J+gZ^ChT3x;Uz*8D(rO&p3}E@yO28BZZ3GqyKAtEdda>_l<;6N>{G z5Y`;cHNHPF_pOJE(Pib;3?^-C#lH>8zj<_6Wb2MY(QUA^J#Dig<#;d1{SmQoYlz+x zzG!i{SVNOQqqGNnB)f|iP*BrS6BUD2TRFTlR)k&djCZ!!Heh~3h2I7t0?x~Al(lzJiU zhPU|leh8a8PgGx352WfV_y|8QC=ZU)I1EBM@bvs7cCk(RH+B8_%pD+BF3RkEBMkoj znV*@TFL=%fF}eWmlhd5G1&}u_@{D$`U3%wvxJG1&F}Knbp~hgrbKQ zzLty<9@-b$x|yCVwPMaAv@4^$M*C2*43^!8ORTIF=~lGV;2hQWMSPGf&{oggS^P0D z*u{eWd)2B|CfZ745Gkapp_4` zb6N4xk?8&lYc@C1V20qjg$jhaF;3HqjRmz2A8@eg)RT_&U6>ygjy&oT7gv8zeke$& z+N>Ezk)}AY-_A~~7rB4_B0 zu><#HgA+sS>_00)XsNC=B~Cc~-$62FiNj+blYAvv&v?91hunawFJU zc1E&!=BsX*?oG`&7fG2;q4Hbq;q`h=KDFH3(Uo201smK9WxnXWFyY4aEN@c6*#I@<>Y*m+pCt6@I zBTNEAGU8~~m-R|D^M!n}0BbUhtS1fyAX848x__ld6wcN;p1~~axR{C4^g6%8Gl-F8fM(t-)DE+k|-`NX7gK9BM;gD zxFw{G0^w&`EXK5<4{j$5qN=J1>Ooh?aHBpY#v7>X~l$cqCRs= zSvcJ-?6JfpT3DlXvGx<0@SE7l&gy$CxeN|ztmv1^bu#MKV}(mpvk8`{sQ|kQ;nlyu z%jP#WC(@?myf>25+zh!M7bex4XV-Z{w^@@loXn`Z)kADYOP_mQ91G8aS-G6AttR_; z2;9LLCS$|#%H%v9zbj9kRj8yL#Rpy`#U2jXQj7PhAX;R3QUh#~*(ijQK-fZ;OyUOr zFybRKOtnBU14xZl>gwTSP>$7qpa*mvg%Sn9}JhrW~&tq-kMz> zw|;zdlzTof6o^ay11NCgy1T{pbP~F1gBEKn`o|5kkWSXx_z&I4a}yK|fY|Vli!0S_ zV1nF_Rq7R35ppK$?Rn@=DteapsMPiK^+gBpoly~h(^&(02n@>4E-zN#8M;?R|F!RU zzhgsv7$;&eeD%s^z8qxLadc!2gar15n%>y>`@96j*HbpBG=X+;iWF(Rh%~alA|eus zRq?}LF2d&?XQQ0lq{wq`Z_AQA-bY1Apds%mGL5|Y1+oUR|a=OhA;mbnZ*Kxe;|X{t25zt{w#3DfR& z!7pSIkLcvN3u;DX%~is>HRRD1IJZgjen9JK7@EFDdR8tas~0xE&Ph*3zi76mRh#TO zI;vo-lZE=ICi`})4q6>8t{;L_!C|10_(BSVO&^-T$7d86mLbH2j?rx8cAkBwcACg} zfJ)qZR?IuP#EKAr0^qgAIOv)SZq)ntRiZ;ff;dBMPNnX3tV!sB+b>PZT57#g4^C#7 zgGj88ioUNjKh@9`YX zbaaxOpa^rSQVRmGU39&?vg8y=@1jdRr7C6CeCc6y{gt7g@I!ELG*{XWn3bBkdet)I z?le(VQPxUWZyvW@u}Dy6_bnCM*XM^nw{OJBuT(ftmk_5}z%ATkMx9m~sJSW{dz&Rd zUCtnB^RtJsi@DRh*$Oh&WHlR2i`C6L8bk?QKQGA6CNrr|K>LDY)MEj~MhoV7JgE`1 zRpc&jgD*u=K6&3B^#Ncrp`O5G6yEMOONZXmxjzmbGFb8?=6C&7B<^l5R+X{}DQRwA znl@Jm&71zu*D*R+IkdRw*i3r$zdkTGKTRkQDV9GBQ2O`@x44}c9`B919M44otcv+l zhOHz}t(g3d-0XaL_NjKWmC7soT%A?roWg|Ry#ylS*Q((AD5k8ZcN$iOhHcQfIM=6L zUY@a_=TGHNBOi{B_W@9LQ%Xmuhz16Y9^t2@1`QZL&VA3l|AjhMw-YTnIXSKSj=zAS z7VD^sQ5nIcSPPb2zHZ3I0ih8*K3EgBxSuP29$bm|FHH58VpWA9E)ym|{5E-EM{FtnF?s&(-#LuFRx62-WIb9`p`z$R0@RWPG+dJb1a3 z?=JgfzP{<~?E1M)(oCoy2X84`E!}TzDIHm)j=Ct3P^I0)XNxnH%d_chrf{1iUCY%4dk~W2l7umw}aRuXX$PuFZhvU z06r+JX7~HJw0a$IgRhBdN+DXO+5!ds_%JJ)z_tzbW+u#qDpeYQb;?Q#;Dx{f%4?qf zi_v<5FDE7^n@jlC=)*>d}RV2Xi9fUo!6 zKR|d*d|bwjjO+UdH{0qB=iuhNY%zF=ci>S#p654X4>mOUB8D<1bhpyD|AFQ<@oP}; z-e@|pQF3kU`xC0M#!5jVKwme>b{lKcM-i3nkG>)0sT{>eDGP>K?d;WRAh zKV=iB9jlFpO+N$Ks}*3){-J}-7=P34eW?xw0wbDT;h zmwX8lqyRtDKzU?}m~8!ub-?wn^uBUsHj74SmDFbdRnl@NEtU7(p?Hi*wBraoRrZaO z6AIGL5h#DkU&Ty0Sy|K?^U-Pp(L~VB-rf~J7_xa>80vdpO1?brB-}sy@ingFr;7$b zAP4SKvP9lbmm&%_MXDWW#`dFC(45;9%?iEaR8_@YNj^%b?ewCo9#vDiTF9~cw|ah$=8F4fNH&#`|+8gR$db%L9d$)K*})R=nT+476+DK-+GDkuSAyrz_c^A zY$yIIvlML~OooS!1C(DITM-Brb6vLM2=H`Q4jYQz>S{KCLN~5Bb6GsGsyl2wVXrvX zk014o-1dU+^u9c^RDT}bL%_52MU3yay?>Z>M;(&vcS1_?Uzxh)~*(Kror{b4TBaf03nwLPZ;?1 zg`B%Me#{nJY^*J|+l_pcHWQ>|b9dK%au#*L_nE5RopnoX1(ue$iW6gY#;=-Cs8~SqWQEppaWyTV}hj zw?`6j4w3JwRi_mrB3OzosQzs00BeJZf`*gj=W~Y>_`h3gZeXb-1X-u6hG6Uh*Ns}B z91y2?(5&cKpm?%S_0#|P`TXgKMmWc3oaA>5={SVbrtuJ#K84dd#}Q@kv;CPtw>~nI z#0v#9ecw~zKYF^|Zvvs#Yrn#Gs+QsT0SiHjlnJu2Z^eG)zBZ#AR-h3vU|44bDb;FU zAqT5%#&gN0a0Jl@S;)z&SA`EO06G8xz_9T8`D?uHi+(xeqsq@$Q`cm-fP?Lt;5x95 zD>S`k7o)44!BT^cEC55KuQ|z;Y5-1!M1TTJx?A^$T1~?ohiD5}+~MFc0@lC+Y9(qw zPG=JIGF9)E<(QepMtRfdwZaoRN}ZpfR`*p5DOlNNt~?)B&ZIMz*c)ego;$0qNn;iS zJ3i3(2IFVkqfP*SY4ERfq4jS+7vi#C6tmOU_c{a9V}tErRrSeRTgHk)yLj#X+fm;y zqU;xvNRH<#+*?~s&)3@2G&R3SxSUuNC}ti2%!POe`sPW^xH$m2?#qOya^Jr5c*+UY zYBoh}9+wV{CayWkFGdL!J6WxZs7f&yOBfflh-rNn+9T0z1aJ?4$`>w?dmf54dBveO ze+h`@uMtRmZ@%gK-l{*YR-}1(%689l6dhw% z0FhS2(aK7L7>V1uY|`@Y`Nxh|l_t*7+AL+<`!WL`rw)^!+Yd6`iR_tO@DTE#(M~P%vVpsMdrmKsAFF^+wb1VCts&Bx4OP%jQ3xU7{hx)Z3_frw`*k*!;*u*@cM67%+#<{m>06P>T?fJE>hDY=7>7n`zidx(r!r><@Z`AzJ;x;r59DI~xMGWlSZ zH;-1e83Hly-(U0Cj%xg*4=ZOrV?M$s#14Oah@LAa05_q}f97uvm$~85OcCIa-2lRn0A=;yhX*3%HM(w`)|F9Iv=BW(K!0jDsA~QF8Mgs_w@J2jxk7i;~lwIL>kUk+3nUd zISgNMulTS7ikG82GW|n`$)g(*I?+H+0(D$LFE(g*2FU*5MA;#VX*WVaY!yL8YNNIXDyw1&+GMv+#aW0F4+J( zFkVx6V$C8BYg0MQ+yAa5XgL_`39i{;{5ym9>4>{yGr;>iU)+&3Mj>m29?;4H|2{L@ zK{NT?c%nV`fHW=WFZB0Mzc8EAdmLZ{z?atSayq2S-1=kvJSM-Mp`YA%(FL3LFi(=2 zASJ;lo&fk%3R+i;(2A<&6~vT2gnlEi*Q69-NH*&_<&p6oB_38~KAZ3OD_HRUvs7bK znxV7vpNdla!qUPGAT{kl&i$e6(lL86m;xfUp!YFPyUfUS26R9^9P)jf_~9>fN3`1P z9wW0=mI*$jTK5fnEK0MWo=O!$h8s;UQU9%q97)0nA=K2v4|v4n-&nbE4H7B|+zYZ?$ByDm4U^D!L? zkX~lHwj{vcqpYS9@3!?8$Wfk8myNg62HsKO<(t213Y7LCHWg+M(xl(aM^RiW$rTcQ zT{(5XyIP#ViOR8no`CDxp`+|tau5JSta5C7ag0kT6xh(>3Q-&;8q zvQg!jR2A4#+=eE_tU0Ce=d814{wBqS@6J~8jn`g3kudkVLP__c0ZM$;%*^FrhPJHt z9Tzvd^+M%`Wqdrmi_YF~2ETpcF(N?->52p5`19ks)v>g$At4gJ_Z<-3nzqYZ8gJ{D z!F2?vq5n;dQe-5$6zfP%pK$M6LZoOAyMd2Z z&mKG6!%Zt{k$emJzL6qj2qCd?fI zQar$6I<*qp(I`VvzdQHuHb-+dO%N}ujc+)e?KSR4^BrbavG{{mJw zE*#T4v^&fT7)Ji#bYT+zmC5?@`sC4cuE_#>1EJ>~T)+YNHaNJo!BlodmxSN_up6*! zElzfWGX}|mvi|^zLUHkdn$D1OMcePx>v8uWNpOKEc}C>$Vi6O_IWgxQxyMET@>hEL z2+szdk{>%3bID7^#TxqpU=>OKS3{PLdNKNmX1b}ek?KjkkPlH`WcvZt;37tvbayfw zH$12Z&;3Zk@5A1q;3oi1s-3PYef?xQqiw-@SX6KTPpVirVk<42sN5Bi8CU;0+xa!< z`tcc%X<>?)Ly>9hsG(vQ(uf(0xnQx9vQqG^6|Pqe1z%6|-gO_7qQpBC+o=HYjNv6d zej3ZwT1)mQ_r39b_~rIuhdrrhaIgylqu{~r=3yXKVDpjnQ5iS>+C!-D1@I^nbt+mB zXjn>6W!z|(A%yrKRo|@a-)-MLXjPk{#t6Yv83|^)73(k;Lp0{)WcM`^tg8xq5q;V% zwG)rpx7AwgVq}xN>`=AZEim2J+&;hC8;yu=rlZX%%%ikn@}r)ZnGgY)QN=l=`q5TRDQy)lEoiBOX@UJrGJ5$*e3J>*k9o8X8LKp?QUvj zAxs!6dw>w^{8hf)(3$;qc9w&aE7yuJ<-6nCJAwObLFpO>S(VwMpAK?m87*qEcMo8G zJHVd1a{aijs;+nXsioMOh-VG<^wo{8W6_9W=W5N3#&}3Gw`-Q6kV+gC_mNErVo@iTfZ^Cis!%U+_5?w zxYzGpT>%Egh!6>=od2yuxZ_&U>+bY8^+>b~rOIZrlq02WRA;{&DUNP-|GKK7H3ON{ zC)O$0flC&Xyj%41YzbPD2mGxS;XrJ7ShU#Gv)^))vSjN)m8ilgrTU)-?`GDr zxMQrCJ4OOMuTesKCWn$%Rt~=YeewaQA@cw6&(>Y{Yl7)a{bSl zd(+Jj{oz89s=|$Y2CHf67d}UdSx(MSfz4O7e~yl7 zUHgm*r8Il(I5bMfs4mr#jt{f~vukx%o7)UQ(|}uiE9!7MP0*KbSor>jd5OMKveJXI z(}k`$#&dwk5c5QhIy8fnlE^LcZo)NF6tM0`4Kr;I0j{lk{Wcu?gY)uz^ko``tXxAVqat%UqN7#&CJgleL@0=d_24lDl<8V0Imht{(OKI z`3F^mXtD+z1-)^U_4&*7Tlf%itS6RtVoeC~u4GXQX;tK223?MqeCK?o?-nn1H{=p8p2an>+oazhIJKg%aXnCbSetml^xTbNoN>4wg zRjBVjwZ8)TrtJ9pqEzXLfmd2*HVGI#?Y@txfZIj40qhuUr^aqyZue*>fJfJzNToTzsK8YefvlQ&e&uC{M9=)$NTUpvX!Jro%tgDZhNz$9#I|9RF!GbdZM~C;_3puE@`|zpiV1MC7BGdJ@^&E&{sIZq%IKVu z`Gop{bfJ6pOQl#$;)XYI#_JRij&gDsA!ztIitD2rzixbL)soYv<6is2&HwXiMx2qjqcOpahkgZ+Q z=RA}!<+FlQ@Yn5c7_){=P;?iCHq z*u(8e4Su%zSw4X_2dfTxMKZh|O84Xi<0}aB;EhVHoLlA|IhSs*%SM1B#={{-pWyD( zkr;2LTvk~ZBTgL_3hKse`i2DZ)2D>{NhO{YeGZdbNgj$q#EDdtzExEF_J)lHTFG-B zV^V<7ix7O86@fMu0IK7V`rgC|zK9C83q&hZ*8X``4k2Z;2N%;#BJ_n!x(XiEX&*@= zJ_#AD2z>6YMzuwyY>@Bvkilw#)}B(T;WW=CYAVm_(>xZ*G05^s5|(snKi2K`%2X_+ z`#~{BRq|{0MvTrfcsV$^`@v$1XYJC4)VCjrO0`@Ij_h*uwhkY zlo|pts?NaM8mfS;7adRxjvaArd7`~$7i9nR7+!!1QnWqy{Tn%n`z{PP^l zNP-wca!J;BA*Dlt56??e}le_cmI8YD`#L6b~oi=Ktb(JO^(9z~Un+MA&ke}Qo1Ko>! zRk^QK<@gCA-@2%mY45vx{5QuN43nhspV@l%5$uFbOj!-S!v73IkvC7Pa%Z2`%**1G!S;TgwvXr)tcirGWdu6e#b4s zC&Yy?sFEtg*3d@hCP}=R&MJx%@^`So~)GjbmK`g)I#WS^|6BiztG%HR%F%H@uNT>z}X5|=xGPW3v5!Dh}=)A zfa09iPPoB0xA=RgM6DQAb9GE+S1g^@(vM~m_1P=VH^l|C4MowRp{G0bg0t;QX{ddv z4eGQ!e@ve#Vb$ct?PXFM&ZC_x=%2z@|5BhcHTqOYHIB?LT^BLtsU7dI|4Tvl`{QqDQP#2Et#X|9ZEWLA^PL1#-} z_fCDYE=p1!-=`p&YnRS7b^Z^uW@D>I{O%)DUU}4Y6nMQovw2BpOmLs*3U>s5E7|9$ znWwNGYWAgwStl-wwYQq2xWC9N9L}3hnXuy`%M-Tf2NC0QM*=+CkDR+)Ih|u;g%a{! zQPNmCr)?o((Bm`nqd0vnY-+eigWhL4H?Gg})9@WnhguAbMk5Bs{equF#^AqX4lT5{* zKVBLY`lEmmkZ`^|H#aaQg?T@+!mm!4IU+yA3$E4B%R!DNLp?xN!ALuyqc^$B63klur^tt3l9DvE0}UF0iA7akUlGWg zEAUa>`iTw$VZM}P*osxstFxI{LirlRc5CmxkZS*uUKi-_cB}OWhJ(gb;c*h2j<)0E zq9tKtu+r;vsnIo)-yH_HBQhMiQDyIl*-TNq;U_t*tr>uIslT4{c+T;qX&<&`^A@9s z(wJ3R{R#m?7FK@u=alMjhgIf^f6)tQ1?N)Hr~v#2YTC@zNeA;4r2ARkc5>X;fWu-7 zIJ#NT_r@~iwYAgQYytlb2RC;@dY5KwgG;79h8SNCQf5b_@_D<#beloi;cvy5aA+tx z0gf~e`5T~jB^U6o0OrMimoEJouv%?&{UpxA6;syGkb(;N>iBaqW^+yr)aZHfCyf0^ ztf5>XU_G7hz)nX`zdg6RyUXhrDn`CHl7=YKV7L0uAVsfHY6vJM7_@t9nAye6d?iOT z%UzoMmOgkzCG#*mYUs;F59Z-i{=5IAW9sJtb4?_s(EUG)AmwU9Rn=u!bhrQFY{{=g zDm|HYH+Ix|`}MITP5nbHZkGdPfa0G`jP}P>n<#ws>UG(_{|i7VA2{bxA$?}R{43G9 z;=$8Xtzm-tn;|DYYVvuGQ_R;|3OR?Jm)l$!PxwI~o<8AxjfK)&srI&3gY_((7yM*# zt377k}ace=;*ObBkI6%=krsCt5m>qNFPzC=p z_9FkY?-yiw9bq%SoyiSi=GWnr%FPo;MtV;)KqJ>TFbDMFE(MmQpo=TBnTWnB;fqIMau`Czb<&qAYYu>kgI+FcFc_E$hv-Yh`g6n(ZD5-Ae z^dkYufYZxG&M4OOV7-FWBARfv+@uzX08^XD$S5i@L}7{IU%%sihA)@ReA#w_k}wrc zcwVbL8J6MwM9$6mI_ZEP#*LxqcHtND$#U!$V9j*Te{M|xBNTYKp3$n9ftx#}-S-cR z=|F5`G7E7rmb5rES1l|gq;`OCnuB(|CFR#IGzbI&sIild6>s0VoK6MXtv34>l~@3s zKgEq+z0CAeABd)1GfDc1{>itpOJ~EmimU$@e*l30_%i?D-0<7;avViwaa6t9IP%i~ zX+k=r)KSVs(W;EZml^Ff3XZDR82m?XLw1m9(j88g@)4(A4{1lGJ)~=CG+Wz`oOK+O zNf9%NLsf;zXnflbaA;mvTad9y5xsDz5+YmpGGD(cr~f|?{*oH~pUW!%0000e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{03ZNKL_t(|+U=ctlw4Jv@4vr& z&Z&2G^&_25(w%1~AqD|Q5R4f`LGT3^aS#+;j66nR)ZyYCT{GhySH{7S%UUxmFV`2M zBPw19>gcGm9JngrfB^#`^2)38YC4^C($&@Vt~%%J-~FSiyQ{kEan7kncURY5tJ9rR z=T&Ea_ILmG@9h2i(X9_1WWxl*PO-OlnL}$hNj=IuUmgI6m;~bpRFNdm>zF}km#RfI z4DbstjgtKe=c!-CA8^4YF5X_eiRS>sMF$ri$|XRnaILw&imx~4b1n@r7wu6y^s}CF zcaINSUcYMXYlkPq(L<-^++w?wfwr!a!xlHPokQ8aQgUgI?E_o7t<>~<3cz)_RAiEd zICAh*n?xH$EaKkP#$B=F^Kreubip}X9u0|jrcI%3Xo;G}4_B2jhpmL|-xs5rigV*y zY2mrrHo-ib2TfK~t`+tQrh|P>xw;X%@VlzT0WARxBC^-w88z2ushw=ux)$wOM|9XR z3%J7PoadI>;MNmbX0Q-|H0uN4{M7?n-i52eX63YYj;{jm5-UdH3=$_^K=RZ}$V84q zkB`AjM=jH%GP9|WP$bO8Lu1?N!1KU8TevFQzcmIxymY~3M(p_SF|qHLNS=JLCR<)* zB12Kgr5lallzD^3lX1Mbp*Rq836-1T)thkjdU?*St#6j5ieEbiC@)wMksthB#FFW4MTnb9y; z;{qvqY!t(f{R6Vmkp>LJfTU=`1LS%g!}U75eVeS7E6x?z)^#0ZCXQkF(Z7e0nrMvo zKoBJqn@Y=dCzPA0x?ILI;0m^I6<{mfJCy;qMVZy(V;Fwy3k?Gn0E7?}Rm4K0;VY;2oQ>Z5CkCv6hROQmH2=D@2MZ9@c+5v z-*oY22ti8GE20ASf1XbE!Ety=VW zb5qEwooc7=G|KpHNfB`Q-P7BILI4Aj86qdIU{Hkt9+hb~Jnfi}vb3GdMcXP577I6- zhD0KgfoO`#9zx>8o~G5fDp-sts@j0gix;@+!r}`BK&Yjwo+V&Hf=B`9%>w2r#mrj_ zlE7fhXpjUzU?vDjAflYhcFOITKaZ50JC7{>;rx%xUn6&22Fo1$EE&mY2I-g%W`Pk^7^h4Io`RQi-G33#%*dt<#3#})bhBs)Q$tN@mWUnsU2~yTOxICW zHJda<;01ZAT2vT$z_PjtVKQ8AA*^QH5b~xgKLI|2M^98s@x=#m>s|7werG{IcG- zC$iAf)z|)0;fWhiGLx@0AKIx$O$1sH%axinezUOBmuu)^Su*qt!^lcN0Gc8|ikMMZ zDu9aSsx~m=?`38f218Hl&{O8L(pqaojh&lg#81x?v`nU|2%#IY;m|ew#0|JUGu3b` zgAE{KNC=W(VhGCla8Us7EUOl#At6l(X)p|(!BXZ;1}vx|_0;@8D_Le0RcLjAwyB(Q zizzR{RD0x|gLsKhP48QWW8Dwvch7NoVKBvy~Be zjpibQfhqrLf!AQcdTbU*5xHkCCRIf=l%K_A>!P`Sqehk%obQl>miUaSw(?B+THR{A zv?*DT(5lL4LzK1!Sg#4h1;H=1CbWX(DP=J!E!X3CUc%Mh8aC}oO;dP5gVw~>FlVw> zqo}1t(7+cev{I2HnowItNNt^q7YJPKVySGq{F=OZ0A*Oy#Nup|-1rMnjn`;1U!T&s zYz6MT^Nu{UYGz1LYJ0XV(F^fH!j9^4*;cX+w!C2*ye^T0w)c-)j)-P@4;I^#T*OjI zErhMAxpKb&V8;$J{^G#{Ev%Favtdaii`3YD=&>^}k`pjf6AMrR{P|^ClT3oA2x632le;jwbx$5A9nAC&+muV z=ZD+lMt9$e>B-=;i=NG5d~y;ePM$;}7DG=@5BdiN;C78*|1WL^4_uD!^FCbp-dix< zLVb%t@!+Y^z^O3 znbW7?Qw^MY^6n)u3Yn&qnMNBvX{N=?$=^SK?w;;x`?VRx?eW0h5rRJuK;rl=NIlu| z&w0i?fEd;^Q6I@!f>N8E9EFjZL^6@UvK1?vdUt`24#Z+HXsST;;G->H8`ItcshG#L zhQ#z*8YMpb0u)672?1pu2DCoEAEsdR8;+4y-(ONQg!Ljj1u`vhq{{Yu*Ucl=Ie2nYsbP(BbLbGV2~%*yXk39q&k! zXnPMz6)SNEUBTs0ydh+=S(tirV*#*~kfs5{ln4%9*7ELyVoHhGY4<`6+j;(#+Uo7D z+I};llat6K6PCjk)uW^naYQ1M2&{V>gz8y3=0R>WMy9H?$6-!eSkJjvz_m=X%SG7$5k+2XO!W_hWc? z7(+ut7#bRa*Xzaj_&6@Q=pwjWF6`U44_>bqBO|$ldA+^4SKt+)l`OOBVtc_rjX$1j zDDdFb{|hqEk9ahSWONcN8#8N;nURXekW9o8O_^A8<-I@&^KL#Q$m8)KlgZ$+%PzxZ zmtBTTCIgqt1;5{q&wlo^7#tkL;NT!k(?lo~!q>n4btsC0P$&c#lhK z!WAeD_dIo+k3ar6F1_?pTyn`Jc;bmCrni6PD__CT&=7w0t6u>CPM92HA8P*-QqpL>8g*uE&b4S67TsH($oyE3dqQkA3W8h(sb7A0MCIe*5jWF;TEaYy6Yc7*V$KF@O;c)*}Z!=o_zAjqHX{5PydA7yLV&v?%i0vJg1MNqoerp zm%lu{&$qtyExh>Ri+J?WM{)oC_g8L+pLlraha)4CA3ix2FZ%?zR5AiC2y($iI~VWD zJnLM=`xTyqD_vvu#kl-6W_D%!-zEQtw~p;TV|3tz2_0c zk30oVoq<9UZkG#0A|K{Hml=lvNYg}C*I}9rc6GwN>W%0=_k&Qq%Zj?qx%ZNPe))S5 zf}v33R-+vI-BoU%t)taOshYA&vm%_%m2ODJb;uZ^6?L-Zi?0C;D$O@v`4&cMthAQU%LUpEwAH{9LpArx0} zWN@3$bFr>mNTtdLYc7IT5j5h`)P-eE&QnV%K1&^IzUagPo@Ik@_Y6);I2Q#{W=jhf z9p*n-w57;^HHeNWO7mt7Q=@kvCpSXQ?B99!lPs)(Sks_&nfeh;Q`%3dg-XjS?J31P zs48NCVn>d}m+X2FY)+P0*wVo*ftS&1^%vy+v-9!Q`!V| zBI_z#uyw(8JGSeFmH@OSOr_4Ra;XX2*8L_6lhd`!!iE;aDa}e+a%zT5IJI4=ZkJpf zVFPGMjl||cD-o~HQgUkK$4#)Gsd@LYpa*h`0a}H|?9V@-d8`m}x@qobwDbUI320pk z9WOhlw#vwU;oGice~HBc8pt?GEWIR@mc_73TR<_r$YPg0-yV#%wJ?9sN~U2=tz*)V z1!KEb{;ZsdK#SaEv^11f;IM1H!z0<8?^@M^u!OtUC84yei-R>!1g8aFjn(Xn7OH7p z3NEiz14s60RhHyZlR%2WTg%vYP%2?JhVIB@s4yOM$C14F-pxnju*Ls(28wN zlyFDs4y89QADv#1;j#%&a%%tyqIjL-jf#E&gh!r2;J&X-h#n z$SDYQe6UpS8Y4$vYvC#_Eg5JhElrwfWXrZauhzkma4WBE=c&%y!#|tQDuPZb<)C#k zNt^0idA8J*97!~xHEh~eEG3uTk`Tu=l`d?$wh-GgAuFvcnEuS}@`G9XH^R@EjgBIE z_-Uj@UxY_L1BG-bU9S-zoNinn$S%hrfEVq&6(~` z2&k%x9xV%H@@a77DNH6)h@%UEv)+e}!AsjpJJ&qGF?W@q9ks2WDmc2X3$eG`pARAL zB*fu|F!KDj;9C1mEPK<907M&F03eeOtGW3HR68>@P)W!y9biZ7Ry(qy2~qT+{qJog z!#MQF9q4pr;nx`B<5B3k4wuUXx7!V$&u97TNGXxYWDtwRAcR0iM+da<(>VIjqgZjt zKft|gOB-6#po3~7rzh6Kbg&3!$&*(yHD;TH4qhou4n2j@$G(iNPzNHBNf?F!pU(%s z-|uX+oX<+`@pvGmL@X8qGo!n+6K8(&d3ewI0J_h+zRY)DA}+6S&)^|dvG{GR&Udvu z7_&OgCz~D$2XiFzCa;~67Yk;mv;ZKP^qTW8*qo$oyMfpadQ1+~*5cWviTG=| ztc^aOuPMMzl|Uc>!!RJzVWelpiX~n`&_c>oLz9L$T`_CPuC-_)SUIIdW@E>n2RP@Z zYLrP(_LlS6B3&*w;zu8!rL??spd~`2+WZ5mZKJKhSp7^13u;UDyVp!~6pEru=MiXj z@pwECLcmClqt#1UXoVt%wR$UUBW%|?&igH8CRpuW-N6-L=6Qpbh#;ke>g}HOooMMm zs|s<*Jbi%WI>w7K>r|Tke=EKJx_P zuYUC_jE;`t*s)`{@4ov005{!q6SCPXR;*Y70O;@U$M1jtd+ge^3nL>Vc;EZphwa<9 zBb7=`ry{-SrkkuotEt%+HBHQuGq%R0(&VsJl$eWa$0k&L-B|x;cOyIznTDy+z$%J@ z@Wcc1k!i(k#4>at1QbQV#6$#vEgwM78$Mdb&YM4I@4D+Q?AfyiKl;&+uwlan zbar;)_S^ilR*WQtJV$s;V#y z17{*}EWhN7=y~IxFGySU&O7hKIp>^%>#n(hbuZP4m6#z|plUPdRf6nig1w zvp)79!ms=%#-92XylU>H!%U_{E}5*joEb1>Zs@v>$YdP84VPlWMYjPYsz0K6NPriQ z$1yQ6fn+iXRaJ4t6<6TxZ+|<6hlg?V%{Sw^>#oD+KKD8N;0HgzOE0|yUDxr|uYMJV zVPM0C4b!=DA9&ya+3xZ3_X=_dX{20+HbQMim38!U+{Renrh9O)2V`2 zz@dA>iu=n_P>vRu`OixUT2-fHs?Dnctd@mr5e zZT=F5ddEp3i~g)qzTkGK&&37pz3<%=B~fM0h|^UJwM00qMs~$XGFHq4YALC0wK=s_ zUwN_QjFrS8PT!0QSEA5^&S?#)Y4LeRz@f93;5lQ=_czE;jn>f z+kjhYD{T{?z3&qjB*A>RyUXiLk!qO)W0!o}YHJbP#ja&UOAA^6aJj@M`d0**9913F z%%kO*T~^hW9Pr;RiwoMXUAytuLSUq4nco&{&SbUT{V`c;ROP^>CTG)WmpVZU07B5E z11p29X^mN-OEn!&mY330H51yvwGOoRU4PaARTFn_+|a}2Cr>-KYhlR*pqlMovI{OZ zh~Q>64CbW?EdYGu+KqqXR@K9+`uw%owbY0jC7TNuErQ!t-Ng+p00iBh3zzo>Ot)LD z19vuJ6If8=`ZR>uQ)rs0QtcMf5NPkYc6C@$= zseUSDT&$dVsW@X}*;U02Dw*&xBu4haNKL><#US-0NOeJRcR=-a!rikGzP__-eiW@X z5UU}VC}qjXlXRLeY}S9L(}b3bS713IWHoT>SLMl5`*3E@!&sq3(9;#fKrjeTx2Ir_ zsf2h*5T%gG97TNpPcc3b#qkM&;Fc>9Si8;9K#bbZ0wB^wjoHPy)E_niZd7atrD7RW zQ03X+PTR9JcNY?)|8+lHW4o|n-D<2~>qa!{!Ksrcv47t_B$7#(h5?}{5JEsQLz*TO zA#$ljLm_l`cjL{k>xN-Gi6g)HKF(kOecL|`p#|zaW@~L|1xuYsRDft!_gs_V;6QC{ znF({jo%tH<*jIb{`A3j>_2000<9Z~!LwMztS1=ikA`t9=*XKi^vkRTQ%gf^~C9;_e zjt&pw`9f*bGy;m-BS_LIl>?WJYFw6UN1Vkdmv2{BPUN{|A7No zziu5mmDjL;=M7l>-hYPbUyh|x9D5I#Nw4+2ysfaDj&guG=^$r$6>LhBG_rX0J0HOc zcMP#u42O>#MPL5_makj|SB<{#TIMczOGv4K2VdbRmc>bL21xvh}4jWa%dCfosoEJNndj!0}PUVlf0l zod|VxHMH{F9uHQmUX9TcC(z;7F#7nH+DcnZX~lwgPit`(%kvGKtJLW|KS5__2q1xA zDAbfEqG>L4E?Wk-+l}POKf+8$N=b7YS^$8l#7QC4g(6EzTDkityYg)DR;<={di*HN zOdRoe96fz~O|3+qKY&Cs374iKdhkEnN?W!vRg6{5=xBE}t<$VDsL@QQaF|u0O`LcI zilRW%w5BF=o+^HS0IH@TGjX)#jatV~*OWYB#ip&-sJ^y^i?x7D78|h(L)euWXVjZ25yo4Ypu#V*1i#@DRVC}=3$14X&5jJ z9p1ik>fx(tO=!nGnd3rHEC)TTDd2`9wI$0ZtJE&6F1JyA-OvKPNTpIRb-k&TC`}Wl zp~H|s$KYjcr7c$;x%TXMeHQ(Z4dU&ntsV22N-w-6d&_P5-|!Sw1fk9E1xnb{)b`UBH)5hXz-h%xU{h@^dlRV2FwRDWcW!zcI=8+H6X6LYW6`FV z3F&woiFh3FtwisIx7Kc+)v>(gEpNeNk3Ba1^Uim^6JPt<*Kp~jmtw_=75M2-e~NYM z*5ToYAI1$g+)%Xd)mL9#zE`V>SY};SgHaZy*TKfUM*!B~tMil8Gde(u;Lh-CKU&c~ZpX%a?qry$L&a?gRjQ=tCdE6Hh#Wy?giK!V53N_19mIWy_WU z0463TkWQz;%s71baOLqsO}2$XXI!e%m4t2)ih^l^PG){pnaNd?+Rix_p_WN~z2|=r zfz{_@_|dx{#zzqhW}&DWTwV`^V*jyA(}a=DLeHd;N~Mr8H1xdXvk0ttOHn?u(l*@u zLHqR6PvfH>%_WW)0r@*0&;+O5x&*FUHF+zij)QH9@NiQ#(B@pYKt!|;2(aJgIn5foK}s%aoGvmlL-Pd&;!?Z#r$ zglU>cB$ANs9&}xB3;Nb>FG_7%Cx>I*%hs)1ao1gU0RVpd;~(QQpZN^#x#u1{`|Pv$ z_P4){cfIRf&4m_(ye#`Zwoej@GAg-$o}6TvhV-FoIDCL zVo((UMNuFWW%{2jpJ`|KN74e%%#dp*l!2IzLwJ z0LWxA*uH&xW1$r=pY^yk z>wRc76QLHhEj1`B$*_$)rVWs&&drw~wCNp~?$Mc{$4?_08-tOY$SrF0FM})43nrx? zNi-JSvf4-_g6E!lu4vov@bL8CFTM2AG|WJ5rN*8;dm0O^(m}uT7`8j_iWcaF>hGQM$jsbRy&!F|^)@y6Y43gSrYM705%$x@)H4TIRb?zWEzyb(cY)P3 zHT}TWgEsFlobY(H`aZv!GA@!ca7(q71>GGl-LRlFL#qnq1;1CT?V;CGZ7Y3H3EUEg zaXVaWiz+RN$ASSjJK@#&6mq-yZOem8RU6PEDpbj+Z9_X__ zX4?paf?yx*(sIy#=c+BELcnm@&3a=aD-Bg}Ge{!~Gn0TcvX~R|n#d-&vs*!{C{$}T zKD91qVR0}JaBmGyq#E$Bi@}k48tL#!WFx0wWRkh}`9c6vf|;Rsd~kR6!QHt6LUW^{ zU#o1?r1{H0zCgTiEpF2S&{RCs+38`Y)nr9&+0YSxZ9gXV??Q6y7>rB;0E1bAO#{pl z0K-ftkQzIR$bnr*oHz)UI&1||M&S#wwt3L9(5fB$l@7nhzA{-1yJ)0h2=Cv8bogX$ zay6Tkg)8r=s6gvXmxO@wJW;~?d&=i;)gw5K6b!s*T;k4!>JcJyG2C(ajYiFM49r{@$906{=5VyY-IuS!ic%KKDE3Vu&{DyW=~Z)&C&7|aSdUu&i*VdxUN zAzLo5LQ|jx08LSL^z{b*H5^Gh)T$Y^O^goZ&4OIlKbTo|5f92ni&gRa;ritXK!#QY6MG7y`b(^{gp(>8tU(5_Pa>}X@fkY0} zQs7daT&i@gsk~;)kN|{GpsE5c2C^9)dbTvY?L;9J%GW+L_`oec*ngkTtGbdY!?D_$ z*%a8w6g~9|U%wWYT(r69kmp_*#>2mQ9!F1%WBsaS_{bIKYYH_PnW;w2ipvS`{Y*?!7G?F=Z&8z`w zO5}(s0jp#f83~v>pJTP!)oz3TTResuDCsO#i4#ejg#A3W6#`(eb$k zf&BReTpkrZzY4Wrnlo|Rrma}|4{Z2b-gxj1x27l=-E^e3W;$798q6+-rVA^&cO?#TRUZ$E}qa2pN#sRGCE+*4Ejul*JRzr`C3v5>huI zKm{tA11bkrf$~mor|EqPe^1>7Gl8d6RRWS3V1ksn0hRzk@|1UhKnw^4@c1-jGbZ$m z2_YJods}rcex=>9gAA4M-CDAg8`;W1#$P>r5*t?cP6IntHm&W&KwlRQ92={0{#0ov z0a;Pq5-QBOH*-P&id%uu1cXL_LSO-yf?)vAnW3{p#*|2#5}u$7-hd0yXbO{)NkpS5 zL}O{hVrj(V8N}lmB;pw);@RBqWERO}7O7+w=~Nb(l#WbVM>eA)n=zng3>ev|A05OJ zs?yj~U^&9VWd$m|sr`JBT9$(2gtJCf;j|+cy^JVztmmk6RfAI%A z^Wrgl_h--Gj=O(?zyHL$Q7Jn*2^Ff_YcC);)eB&PlUxo9x%gI|+tll2Q_04d2h;Fr z%DdJKgr1JZGGv<8Z7WyDG5`lE?(>d|He>b5EmHqXwm$=aD`SQJ2|{~y$6NmzH0|}ef$Rpem$_NI-;DR(TEv3y)$U=t<}zc}ssI&vb6D?a%RtXytAYs|6N#u167 z3QPk9{*{BU9v`9Z!Dd>_qRm6Q>2jRe`!LwdHsyLvd2Y8oc;I54d%{Ut){%-`}#*VKOsnYc>U@wTlL*JcpgYmQM}+#SpO-&L?|kPYhQ1z-Byu7a`@BA zW!W1(48;>_9cTgIzK?ABaL})v?(6kizd6l~&W(Qp5=srRT?wS9=-BWE2vtMbIQ6aG zhc~z=?jZUuyrs3E1%R|nowKqpXaob+U;U}R4s>t55JGiVbc2;-P6#M&54z8~5UMv& zg;S~yZ@mC+(Z6$x@kR7=NxUP@Be^m%BLQ8lL<~%8B;MB9GZ?P?8Z0buo^&F6$VToZOY z3MIj{)NfG5z#R51gSNxVN(rvpjty6T9X+rAGYHLFp9V4CU+RvX!`)Fmb>jH&qhUn05F?slLq|Y33{9qS^1pMXBBj;vy zeb1}=Pm4^}vvXNnAqa%=d8q!ED z9%upJ=I`%6HFRuZc|30O{dFzimQh{DY_h#4+rKIV7Z@+^9YMP+5}S5T3vv<#u zD|Tr;Uxqm_VYwZ9Y4JiU1U)slp^Mk_hv0TAj=?2I;8N3GhAp@*ZZUc$7Shdp{O2c@ ziFoo~3`2e>YnbZE({YMK($>Q)&GzA1?C*sjcs=%KX>yGZy0g=ZfJejgyNiOuzqb9{_wk@rhh+| zTgArL^&!~dMJAQa2bW_=Q^J%y9b-YynqVoR>kJ?l!wbyNjr{L?CU`?P!OSp>Tx4`R z^OxJuHlY0F|2=e(A^9%J@=vpd6sOO`#l%DgMyd5@Ho(n6+lgl%-(TCKA?G_20dB7g ziVzS=E{KPs2na=B{l;Dn2E9*_N=G5NQ#aYqjF6P3he-HYN{xi@uqhP?asd!RumToD z1Y#m0$zbBCFb$AWGBcB|=i)3GhRMtz(==I{Owy1rB$G5HOvB7KCJ8BXA)h32an1mO zo)5}mO#LosFpcP~7VUW8)`t$g-;n$TK%SRLn=~FyQ6!p1w$RU84cz=jzu$%RYdW#( zH!nBfN!A|a_T2N=%g*J2zqs$io4-?!XSZVqtEV;{U+vL^NGoz6HzMbLX_6p?dli@( zv*-e|n~8!%@G!#%hF3~6D47Cmnr?>hGfS07c$irbkt;vE*90?|ghJE7TXQkU06?+? zOUY6KhLH<7Wtcg@jjRC%k*??BW$0N0V34j$FiV&QH-3#+qslivwDG3^ehL7e{Ncf? ze5po z9#nLBkyUP~A@|lUZD>n&!DVe)nyq<_o@YdD^Pml_RquiBR9@?5;g&42t+Z`uOA0MR zma=K7{$ScYW!pSxLu+rq!}UL>-BSuxK!8&1`pG|!_9FmTA}&;A!QP+C>w%$|?cfM) zXbYe)%%?*=J>)#vcms!IB;XHq(j?B>)vl>FwA1C@k8TRM3uHu%Q# zAf-9_$hDMh*Hqi4Eh=k|pL3ozsQs{KVBiWN6px+Ub`4XM+&aWbkGtbf+ch*({y$TY V>t({inE3zz002ovPDHLkV1mA7)}H_X literal 16873 zcmXwB1ymeevs~QW-QC^Y-7UBi+=9CWcLD@=SUkA9B)EI9;QpaO-{e2%0m~jZJ9lR1 z_U*2!uDdbns&XiZgoq#z2t`3&S`&EA10J35u)y!;BsG2D3ED$aK^q?U3V^qY2L48H zl{fGJUcd710U=4B;{*JYz*9!wQ_IE1)7#wL8szQm&HCBd!Nbzr)tc4C-8Sb^m=FXa z2PsHPX#3<|1o{SG%lv-V+7ij$q(FGYA>WKfzt(Y;7{SqlhQUMAy>9C~XYH)7Svma` z`>SrR_slOWx|*IfHiV8o)4imSQV|3Z>WYOa$tggW*3lUhtgNT3}&Q>D1>Po`RID{T6M7h-bpwGsi>v5V+*Ay!QgcIi5saonKjXl zA`gwFG!BcN)pcIRthgnaRkd*4eSk6y4IJrt16hXAlZ8a^?*(>oR0DI8o%}_SoYo$#}gojye}^KSneiM7<>^q~TGegtW1+#fi>zgI>3x;_cpi@8u3=c0Sa6=%!O zxdO-V7tvVl$swKWMc~f=1qSsgA`rlIlR_72iu80FoZ;jr{zK&e93nm&u;-})^R4JN zaLn$J-2#TBIKzRJ<>U7M{+1P#T9O0h5O#7f;UB{y?xueqd+Gb;tFp^ zn-D)HEoo)EX2X0!sKwQEgoTJFd?KBNQAPnBEA1}(EIG{=ZO?6#`&eoz%}!V|VA7iX z2P>G!KkvEDbi4HyV$>F&VVY@Rg_i_}@4K!wy(nlFnO zGKRX3=Y+m>w^5!0<4{>j6#Jr7*;#x9@c{#MG^v~Mg*JuhlHaW5f7JBV;VZI7;1q|^ z=T%cMa$^I7FMTy*Ow~lJUqJ$?>+pow$rclqrE3flPAH`g2P04fv>-#)WqEgd`KIv&r){-P#{RoAhjDq}V zs8YoyN`xwh-kegPU`~QvaoBanJiy%Mln`WJU9Dkg829=b;JDR^BldQOB}|IeZBl<3 zZeEJ@(^huSj$-{vH20RrVLn@drhcV5jdGw=v;8QET9(d44LVJ|X!@XGBk+M31P1dP zYKF1o@LAp-PBm;?T>JH0`}C-{_**{GgSYHb>KUTTnYK6O@g|{os0^jZ0xB(~FgVgJ zF@AZ#g5;c7wCh(go%S{m(8Jc(KRIswfN@xVmpzz} zZ5s(r8?C!(YN8SbpFhhlF^Mwm2Xk?^SaFf!dC$YVtjANJl~^I+-B%fw@ZmV0Nw#ZJ zW_`VI7lcUQFTY=qKlT)C^qV5A`P6~=u>NV=A*W zW=BxnfB*C&l5v~*lqX&K#;=E>XHFeF=h)MGkx=E*eq{5K-5e&)Kc^icPTrfRdH!}I z#~g6Rf{lasqElDyr6ZMF-}q>+`)Ef(g&0Pg=2;w3k`CM%I7cM89~=sp%tqz`5VAiB znLRCZe=9phX^DZZ?a9&-?Lc%W+jN*|n(Cl0sBqtyjbrc6mIp4pUh+^90%~g3T%>08 zb68ee+gCkzyYbsLP?E;5w6~TXw;e^&w`h5_8l7y$vYn7X_AbOe~ym!uXl$U)*M~=iCqQrjQ#_I5#vT6Wi*o0 z)1j-EV(;!e{~R7#?DU7?^E%?Q_Px4O)6&8&%GHEVPb^Xszu=VNGfiAEK!w}SJ3}3|R*%3Rsw?fLFxbW1!vIU^&I!*bMY zG@jsit;trrdv3C6`Tf|@NR@lpiwQjq#Q)_KJKyh=Aw50)IxC;xhR|X#!W~;a`R!h@ z&n|gdo|8*Rkvf+{*}R6_ztW~kq4-gOK}JIZ-51f5~!Uj$7&lcltve<2VGN7|oABIF6{;~_VbFTw%byiK3|1c*OWA=?Au zX5$f9*gG+xkZlMC7M79yB(cQeV#)&Wy-&M=RA@+YJnDH*M5TXwqGW%oPYP;Coxp^0 z2DAsR#IOuS7d`@TyVm^$iW^Tx9;p z2RJynKAY26iTf*9YdbGlcPaC*lD3=nW)YSzQ{77YH+!819drc&m|I=m zW1U~lrX2<$M1>rOqcO6CeK~VgZFi7tRZ|#t%v%Z4uZpW$R_b;Xft8*FJlW2#yl#!&x#XbJ@V_uqf)fzO`Q`pn5R zF>H=v5aL;#39ja2L~Sq|c&-7>)FfrvnXaE(`+8@i>HmVkVAmlOKC`hzl7u=#52?zd zt#TEjfajA6d~P7}V)o`y;295w)sdQ=K8)MZ3z$t&GbavQ>Up4ZrYPZyP6?WQCu+K5 z!spF$rkV9WBgbXw#8;`<bnZb6if9k!`j) zx|EwQqRoYbVACyrk$4w=gg_+YjL=~~uu}L6h}$-0uQ?Amb|xz&|ImnAh;gd2_^)`5 zfgLF(`lcO+Np~kv=n|fh<4g)j56rkorr!L-mDSZ;EIC6w{dg>655B6N3m zC!gR1R=ru<#+Mf@P0i%wWHY~-jSE>76_k+i?|JYPK2N(}IUJUm^S;49p{Y!$gX6Yi zQqMO#JbaFez5-cj$E$1i!N*6H6y0cksZC{*RPh%CN3!RnxHaQ4^C7Ju#-70Nz3=Ve z?!$(Q3;Qm}>}M(skTnC`fJ>^a9r3^F`HD&+c>IeM$ZfniD4E7y*(V+AtxjGlKn^&JohCM^;BetLM8|!a_PqSQG6^*1~2n{ly!hOCR*OsieIZb zh14N{{NwdV>}C*&4LbcZy}iA?>)o*iv4|h`%j4A;o@qen$4lSG(D7V}dCMmVkoTq= z94aw?NTz8JLEDxW(T^WLJdb?t=HyaxbK_0l|I2&=rUC-=<;$0+y*Re(St&I0!3YF- z1%=&%3ooHQT0kdz2V(%C{gD_Hxiiq|O4u9qT>)L)pB@4KQ z;C1;uX(%B5ddSx|VCd3gZGROAT$|lWopFd0o>Glr8!Ax95Ym0ZsERzMBSKiqu#>6B zagoZmJkYS?M#$KgAtwfML(NcSR;MF=V&3S}7B`s@7s@v8##3N&TGACd__#76{%e97h4Z+Jb2CKb+{w0@RMHbXV|3WWR zsEq;Z0RnzKT!9|m3cH}{`t{}h?Cac$NnDG=^3%Cn8brXUKUvYB$*8-O=%g zd~$Yn%)j+LCr382q-UCdLd5HuGZyV}G%fMXx;N-{if_LpNfZ(UluEO==X=l{<0Wuu z37vSBBES94SpFOw?0WaTsVHLbjFb66v`x@^GaOu@#Wt1Ha&7(`J) z4?h}{AtbyIQJ)N($nPmkF*+b;gL>IVc~*=T3I|*U2lhtdIIMqRF9iPl`Lq3^bt5?? z1tMpve8U^a_?AOaD3w)J13)>S>kAIvdjH+yfBOLg1JfA@toFga_j@)_N~EkL#i}o9 zz_kQ2nJDqw^TR#Q9uWy*|27(w-_7$n?lGY*PjZ&qE_VIdwV{$a~x z^=$>2A@w+`uZpA4kYuXLU$EyElVVeA~!zBVjbe>N{<>r1;ud#z=d#7& zvV<+13||F*_=EblKi<93B^!d?{9gC)`gR`EfW(_5_KpuyH!%1)larj>kC2<4{WDXy z_7hKK{=I@y&Qw&6bEkry?qjurIId_BNW6ud6QuCXZKJmBIjYRsfbo++inIk=lRPem z$C^(!cH%WQ!r{H&7Zn4_csf4OeyOjhyJeXsi2JdP63))7b>06d{)-}r7jSj;%>W$P z&ST$)2tW)a_O&Wh%>f!EJpMX_CRS)UmWVIn$K3`b=*@OFdL||${X}8`%%+#WKnlCQ z?7BMb*8M$9!)?G3eTtR72i7Q=ZE?^G$~_K|juoMG3vCJVDk?HSD7)XKiimc%zLC zC|5u|f_ye>c344WU|=YpkRaQ|MNuiQUPE9TLpDRp9iafa!5Q_e<58vR%Q^P z`V~^~i?7-!5#|udxy^8Uj=^*4)6V;2@JHL)gB(l%uWf~D-fWM*_ua_?T%M4(te>AC zFiSu{xgAat5Q_%j%Ow&I#9-0+H0jmMqR0IFJ!bmxtQQYdkyPAcnp9{?d1A;A`{8|o zq;&z=B+>+x9A21wqVJ_#qb4f9B9Zpox~j6Z$T6p>xKlufCSZc;e37`#%}pCQL0};l zNqw~ds&4z=!<-`eUA{@j?OqaKSz&dmXkF$ZkkIU ziLH|2j(dlvK&lOg0To>QPjcB>x^D-G5eA1KBx=G9xhYng<;!QF_VF+c($LZE0}(C@ zPzGM7^$3MD+DH}t2TV4AvoRZYV*i6?KxK#qLRoq#pUZzBMci}M^J=&O-_j=nJsw|x zQ~Wx@oqCcOsp$=Zf~al6nvm0+Z(8VtGP!Yp7*3Z}NQkJVr3J;ub1srv;olp%S$C*E z;S7SndG4jY7jo0sZ&yU!eNKT^RtR*d-P;w}Bl2q16OX{~;(eVNk^a zLK6F>v87l-{)h#9xI88`%fg>;IW7XkiK*p8=@bM;b;?#s6i1S4E4n?+QaFC(rMP$;*y`vmiaeQSW_8D>x#eTE1(ZEz6$Q#*?IlAay z>ZlRzF7K~@HCiAjM-upcM*|S}`X22Y>&O+Yn(V;tkVY3Q1@w>N!sXrm*A9=H=WgGp z%d>h7=O**h#VViONW9`bGj8ocKqkmqN&6}UkKjuG#9g@F0&C)#5=@VTGVqB^QUIqY z7hPeoYcC-T-I%edF}{xZ&d-19I}e6fsT~Cy8`{J-mi@E(>Fn?i|I@0hk(Fp_2?hE7 zOv6^Q-xF+>8;4W$Lf)vsulrVo#1+~t!Ar?dVZnxUbC1BXV6d^R9Wl%1X38H9LyG&zv-@mFoKUI{*Q#C~L;AZU>2 z_Q>*VG@+87ZR~uli6h|Yy3&-5cyDQO(d_YZOR%Ug=gWqV=x&ecVxJh zh`0a1eHWnQvH%I1taG3)Y@dGqt2pXit{|L}Tmua=TVX1;b!}PW7^uX~Omk3AU7! zl+fUhmu-$78+NK7pyKv=+tSaBa_<_@!T#rY^*b+*KSY?aXwp%b>!sf0-oBgQfeG~x z^E^{Cw#WaG_Y#2@gc}Fr(tQI9D)0+_{z(^}Xo|@c%_c&@fN-{4Hs{oE#paw0rD0I$~5fN8TJ!ekMf$8(D-uP$9gv zhExU)9T;tL6DjJ=O@AF2E2mtt_D3HDiOh~~Bok9zo<&9_iYW+LnT(FAi} z-8t#2-#v3>N_e3D^7}Ild<)bVicF)hV9`gT#j^&FF;tQh5GX>tRsVWFUu5;~6yNdh zCOYTN6Iy2d2J+Jtv`9e1HQyVKc?N&(6U0*RsbDNSo-KlM(cn}Bj}9)DBW1K&aO=xJ z@_Ic*M1_1Af(ii=M&%qx@ z->vnN@6y=CTCaYLCT?IbXliK%no@_nk_AF&2 zYP^MU>O5wv(S<=jTKkL&?yMcnRX^e$Ovhg9H}> zC4Ve8hDon(!~vY}^zrucuw>ZV3G@ndbQ)_kK~^#nkyBAvV~G&g_iqVwC-x|)iSU-` zlGF-*etz;_7%8)o5nGKhyuskpf_;i{JEbC3Vwd?Ar;TqPwrnjO5~e9C=xVLZ#(vj_HYP5aXLOJE=6?jf3s zjW)QQ7yapsbm+ygXb3#xh(^BO`1gL@ye_2RumIOo=91|X=?-2PJ3zks@&Z+=77hI~ zs^5{*R_6&VE&nxLQy-hgioBgeJ)RHuG{T0UXs@?Qt3p;dLekQ8f~5@v5_aZ0H%Au* z>h!DE>0;%|{?^AkAN>hDg?f+4;?h#l^lpEH`4FV+TRgPQp-QDUE$@Fs=C}!FA6U%a zlBYwwZeX{hhW8gD2S46V)HbvDu(k$*rdnefOU=e?J~Qw;e*d}32#yNZL`y1%ggBO$~evUcn8gHb=V@Q@%zi#x^?mCQE$^hlb0I;l_-v67Lq>4)o!OK@ChINZ?w4Y>wU zzaTbYH7=pM2^gFl?J}7>TuO~iEEwTmp(+E6bXCeMOvNb7wB;p5pkpU7DmbAvFYKRwVlY^Z#tL=zf6Jw2s#i#?uv-i3X-1{5bVL#=HC3C zX*KNX-&Caor*oMv7lIOI81Z538JSY5S`@StRrZ}iaju;_I*i``nomV#*g^Y@OCL2Z zThc|FM&fg(SQAt+F!VBnS{!F+C~6oRCorMTr zcO<9hB3Bm)Sv8y2*U5UFEx)6{Dx7Xe`;IwKcI(+1=hYh}GpCM{_m}UdDkuBcl$4+S z`jN(fnA+?%Z=oP43IA(i!cEq}HiH^rtJC{2GQdjU*e#V>W-&+1C_?emmo6juANsQ* ze0ZSih4(ktP9u3`l>|SLcp!Y7A7S~CXLEG0MHwd6cbOQOe3@iQ2X>ze)kC=Qi1saL ztFi@4pZ|8_|HTIG5KzV(=`c)^;NZ}RLnaO+Ei^IR{U0JIC#f8w-1f)DN(X}PaP)SR zlhaxCj7jFTG}+~IEX-!=jExRPF(;=TGO|zfzK(uF7%<_ruZxXE)XL!?OjZ4FNoE@_ zOkAzi%z#FApNoQGfRD12@Xh==AsGh-NJqnSVUYB(VT;Y&cVztRtShK^CT&EE`w|uw zlu;&L1d20xLrMM*S?lf^eXY1M3Y}JTjhN$zWI|{LJaB$vL*CjCdi8_xLmLide zZtGY5Drp=4q+|L`3f~+69{{&#FrCnL&d822ANqRxb&GhXVIu{QbtdZDApvE2 z^=SmJvSq{4c>-dG3+jHcoMI=x4>rY4dHniO34S_P0E;J;0M8h+;#h{TOrO1lM)7Ae zKs~QkIao`9=BjmB*^|u%uMt2pIh&d|=-JQ!E?QYx!`*U$N+KM+f`au^25M<(31UNA zN5)tMPFqV`5(K|L%FZ%yD7=4_rN4Ck1B| zIK|@={1cNpOFpgO;c86n<#DXc`Qeu$pk3qh`>?b2ytK|npV7XB&0#>}CS_s^_QEkI>FAw)u$ObZpmLNng>L7z=$&x>W0pM#ZW5Un{Njiqlu@5@FKN)W4>Bktt7UR%dks)1lqb7c*|(AuWh zsmsf)u@;^pgxdTlk!1CUITR))=B#Z$Xp`R@vM@mt+eKYRW~sxY;Ztq<%{N2#Kl4hB zZxd{d&QpZc`n3(i5=fO`#H5V`2t3pC>afB6;PyV<a>Id)KM)cY37opeka+qc;lWYQ_j|+sRTC^lPHa7P0AhQMq z(d&K%G(O(u5C%M*Agskf{02kWxZM(B&&$1oE39NGc|`yB^oTqmFSCK_`oXjNz0}lNGad)6K(SYFuw*pBQTttsPCaOLc9ui zmdGX@{=po}-lxh#3O@?b{7vQfktB91&%lZjR6Q*ADP*u4ZwvK_CT}hg%aAVMD>SO} zR*xK-=lLwek)o1RE4nn&w+QG(T|LXK?>xuzElihLf;cOQL|?&R#&#ptfIbhpR81{Q zT|6DFDw9kk1qOz!K0AzORQwRMOy+?>puZYhOwK|@MZ3ZqKCvraFB&*orG&Q-z~5*Z z!OC6UqWtG-ZJ+EX!t4zs{3L%Owy@Qp3^Nr))5Ymc^CWQ;tAN12lg7rzrJ%#jLx{V7 zB1BXx7~N~zmeuv*9aYT=F;)8xT|X8c5dj_06)1#Vjq`1IxYA@rNAD|mUK1Teke%)G z*7NAP#ugM>OT@RAav6JS)a<;@hWY%|{>>!(4RqIG70Ze}Y_1 z&7|0uilSX|!W}0Ln}_VRU=A}!=rq5)E-#sx-#vjnO@s0RvACLCoa*Z8Ap$cZaENA` z5eV&XbzRA+-(#DbxgED#QFw50fSl~)$(6pcAKFt4soF&nI}&CR_`H(=yoLJSz?-GR zsdk5XYW_S`t2T#v&Zvqb|y1}gzCG9C(H z1R!fyu8*gd$;h}aFa3>QCvVb+3*R`2==p)^m4l+K1M~nmtWUMOf4EYte>o1JiNoE^ z-+sqst-xBl*r1|FBqJ%q#wja1UhWaH5q)b;vRkJfG^x+r?&EjCzooS{h+unbEX+cn0f!?aC;2|V z>D+G2+D?p$u2`hc+(1if@n=bIe*np4Fk;&TOwtNc(gsS~*#22%$#cbLGcH4>*f0@*0s&k# za^d6-#oZ~ZpZXI!opD=d(A3H8WMYpz>-VaGg3hK z<-`jpEBdv%rR8Ns9;&E*_b2;WOW|-*8rbTJji0v!Cj&1995*^~Qkki!goNr$!0^D8 zR}6)ojU~zHdbI|BBbFG6oeo!g8|n*vg1!3P{8>wU-JdxEhR&G%=BFi(Ir`KS&mUuV z1X!ToFgp;gfisiR|2+#Hutj_aGdh0!r*!_i1vKqX;0zr_JC zrVar9_N^ye)rrh#X;@HB3=C8#xA4KgCLln;^P>VbjRITrS&sC{$a8;X&ZvuwIoSPWuss1|(!OOcv+o(l>vA;|i%xZzrfdv5f}Dp6 zikk(cg@Q&+O``32s{H3(M*eU2_}o_V{eP(UhG|Sf)yaF^ zqG=?r-yXMzbWKRn<&$Dck-$|jCkOX_<|)?3w=vlfTv1wp4$W%;{qKGqr%4}O7OSacupu4BGO%F>q=ny^L73a8lBq-rLc(*rfw z_2PbI|7)I*+kbx)s6Rt#@bNI~G66sHJ6&)|V^H-r!dyRDKdVO6(5o|lYcHjiL9{g{ zA#Q1D4|?@MZhzVfktqAC938bvJXcCg0ga=hv)UTiRo4G`NQ^PK33m1QzKs*RuW$1$O^TWXE^Sn3rko@cxGHBqxta?1Vsi$C8d<)S4pAU3DV$ygWpTOqb9ak5|@J0&97&fGh}K#NFeKOU=Q`66=?5 zkBPcO7}iq^pxfQd(G?sE4v$ghF_5>!d}ppn$^0S#wWAh~Ou4lB5pqWW0!AC*ciJ?z z#jdD)?HJtmDk=YgDdP7qEb_QrpXvDB^EUc7)9Y1=5PE6^(4ymu9WMNcoZHT{n?|1Xx?F?0gA)j*hy>5+BBji`)1tntu zaUSRA#I>0OlhkfB50H5Oj%nKtz>0~9$>R2PpFR7Qk+Iw7(o3-9kD+0p3k$G_a+QKa zCDyKZC4Sbm<_||&DUE&k^8+aTwjdGJ0@0~FWbnPeuG9?$B6|Uc90(&9!FfZ1tR5>( zAYo&es65@`xGZz;LFh_)!|TGrdHeok1JC>Y{ZW2q9A1BZegOhRrGpU%+kxys&~PdN1Z1z6XWRp7x{ zCAJaM?Av}vewD!v5z>NK>v>hXO}Ys2RBN9elYc_#Owg20HM(GIZ7C9@v2dajRAJ{9 zd06wlc?NoGzWycO$JNK~&ikAG`|j6&%g_S(aN5GP%P6btOCkp_Q%Ua!Z2G-^Jn#Rl z^zEG(G$jKF4$s6F=8DZA?A|m0!*#MMjqb})cfc^bqkbEz%VYsrn!gz^KqWns)ETeS z^>f#iqy~0Dge7YD*nXOq@+krZI&P+=dFla^ZeeA+zAa)*ofm%FMv}D|GitN1lJ5BsjyF| zu=|LRt|}^ugSuPoFxFcgjxt@>_vXsQ@krol*{vi4ej-H_mV*(MGFk5xq@?=AmNlo@ zP9)LQ#sbRid3cy$QoNugk4T=hZ0YY?ZZQ-jKlusf`y3K%ia8Mm3A%z(sYgmH(y1r# z-{VZ79obk}M;oc+o}Ld;h#Jm&9Ommq-rXqL?5R0qlX|?ek&)~6Eg$FK!bXAt z?TL;yyBHafT_9t4=~QawfEOoi9i6|w8d`P9Pn~KgrSmG#hhV8Zi*?o8fL>!|uSROT zy*AEBix=@WT!@{joO8X&(@L&Dd+<6pv4}f#6#;<;UH*v00FuWMtmDU@A+(zs^YY;t zpk1Fvt2R1KA|yH8jimDhEU%F{2M%3Rk5$bNdB2vX)k z43NV6n@<)x*6-T4L{G{w5)}kBYQxaS!#X|vg|oP9Q2{9UsJqtd(;D|8>x9@St`*~0 zZmCdB?a@;;X8FmS!v>CUbwDqG|AWgBKi_v3rrBu)Rp;QK(jjc;21`u@Mn>cMI`DCK zNxo_C5dQatJC(^p_KV+t?7%e_MoW!rxkxyY^a>?$CXG>q~zwvx-+s|=nu=wk4+Eo+7GM3Y~*8u&6dXiJN z{Zday)PkxE+azg>?XR5~E@H%&<(-*d97{+bC^)py9KdJP75rj|O)Lzbw9M4YVX+Np zwFc{pxw73H!J?R0ST}8S`Td)CrvJ2i&{OHHWs-1Ml5XAb5SPtP6&V1@tMN}c-}?0k=WXtLc@QP7xnm+FjdMmb?;Cw)Fv;f{bGbq&!Ul0P z?n+AJ-yD}TO?u(WP=cH@W6qG%PyG{P`jja#Lo02hDI>_an2=VsT%m%VE`@SMeKAqH zNS23(Vejdcl$E*PeDH%-JFuwgyD{Yei)Qepk@4Com=T*;G@i7hWA$-A39z8bt11lW z8MYNKJFn!?b$xLFxWw2`EIP_MDyXvFe4~tmgYn598G)N>VsG4tNJwwLS?&zP&-t8{bbNh>ok(-FdvQRLE^Z3{ZDCK$pqbaiQqvCO z$yp@E0L1Gx(_~O-Mijub33rpq)FbA(zso}aMdWXXhpRvyzNkC(VfVY>daKLKQkkK8 zk@HljSw0iak5CG9RSj$aJ^|fAq6xhk;E;I%!jRq;`h0R7Uc=!`l+!8AZTK_kZ*P2Z zfd~<~o*}BaO`C$hX)8szO*z5<uR(k6_dKWv`|M^H?88U98$Wbww`vOY>vcp z${5+0$m13qs9Ry8I#O18ki#W|#;n1+UvtJCi7K>5iL9OY+c9+=BfXl4n|3A0~K9;Dx9gOcy_2P2o?3mM?= z1;3nVPp)AgbtU9@A>rE0pmAKLh?0F4iYCa zs{DluTloyyusi$-#tGslHongW1o0A$#8aXAbTC z;2=VW`=~aJ!nY0*J#Fm>I-6-}Uzx~)LP?+4A_avNbp^b5pU%)C4G(#oUs`zopz546d^>CWno}*i1U4gU*B{4e8 zJtJlkP}?6kylgq*iOVKOgnF_ce ziHA5&BnM7h`%R1!1iwOoSC9Z@ms7WjG*-BmH#>Inmoqlbv$-9Dre8VTp;;^-3)ag#a_S4gydp`;Ifq%%R z-lYp=-?+<>!LV&8O zDx*K?ct(L;!apRW;+6=g^DEuI;2>e9^MVaa@RZ>tWPAm5gZ@JheffiR{(4BX`1!9N zbD-j!?B^f)%mK~iuH)l61+9Q_$~YKJA$2x*M?Ah`7k1Ngg5`L=Hm45ddmFJjm?~#= zuh3ox@wo4!2CT=$G`L_sO1G>3wQSBY<+pVm|2UC z!wSmqN&huT*u?`5<(}t-DVbjo3C+L`q0y^CZ+89;ZJcE55Ag}fGZ-aIGcdol zu$mmVctwzbuSQtohfHK7|0nhS%wjIv0FQ>{#eV0ulJZVM0N7MjRRO73!u}KCJQrtj zc19!+DB~APNB}>OKB_Y|$0#SkyUI(VkbEQHvA~n~T_HhEmKGwNta(nA*6g3za`f=e zr`43f^d;f#)K{FJJhl|-lrDdD6+d&fMIvcRpt?l$Hn{>b73stzX5 zz1mr$4nY=K+wl7%>?QVzPV(o=u`O=VAypMFHIF18Ob`l+EA>G}Z(=Ve3m5?QM&(WCJW{q=-8Q@8gx72U*{)L=31q#k@+yKmG8 z5x%~ls~qz?Pn9yVrHapSsfk#ShgSQVvek4=IwKI}J&^LS!@HmZ?Ta&z-rd z%m&TyIlNBu3d)SaYL|}iZyMhn8jK{68EHkKd1Zt$IS0LJ*{|}Zk*z_ZVXt{C7+3&fS zCsQN%KVFUm1N95&*xvJ{ArzrE=ARQZ-5(;##OfSCW6VThl&pKb_XDo^2T%_vSYpxy zKnkyY;AcTd425}=hd~n5AcKp}Pc@U;oe1{}f#iF^(B;mJFXnv~{L*yy(D%Q7HO>86 zYgATj>WrQW{6SqbX)`omrUdwpQGb6(2#X1!;ZQd}^$AEpShzUGGHSpLM5R#wJZkxT z`W2*ZC193|0$z(Sf^2+?XQ#!CAQ^KMf=!8#<*~-qKG@I~k%<|Rr<1qj;AcWjn2Dxc z&xvIYw*%iTELAt!+}rb?p1$%Hf&U8;s*am8w|n=zrJ&`_!;t-49R3hS&4LZ;C*v%9 z=QXH*NR=LwTpFjPNX8${A_L`Hu$d5rh;@^r>uuH{ZVbOlka{n^S3@=qGZ8td<9c8% zRRP7NmBsL%6S`PAr$mz2P?ei0q#q3|P_0F!tbi9sgziK|h45EYrAJ+{V=-+f4HJ`M zvq87Vq+p0bUPu=C^2C0{dc|^n0UwrQ-Q)Fua|1p!1}sY%Yp>r8tCdL(jp>nvzso%@ zK#c0R2JGq_x3m!k+m@rB!?ZDz zv#^tdfGG(wcu3%{0;>Zh0l(Pnh%1T(9UpW!CD)tKOuzHam8yfcFT+g>K_MM0@ zoAl5@JQky@y#)Mg0J*-ODPe4;el;2&oju0hz@k&541RRh*3pAIudc0?@%0rzoXM4V z&lee={xz695I)x%_!9DCH#w>56R#bbsjZuMxjjJ)w}raGfBx-|DO2!cJ!-VpC~O<6 zsS<^m%N9%sdQA~eKSFv;NYP6bAkTkg|0a5KFdU-XZl6fP# zF#X%aH07T(Zv0>eC4?R%(;a2G$Ng);b)%yRL>gQDH?pd^{GkAFkMBHXq=q428m9j{ z>;!@CBsL|BN%zS-pJT`69$iFrPU+8zRcd_70{Jee??MiGp1@F?TJnkeAXgpal7|t4 z`yVMAx%7EYrxB~;dUMr4gk?iUrseH&ZTrJ_2gzwTqS%1WS-4lL-4}E9%=ECIx?D>( z-HDfe=bP)kBg-g_k)dL0ieF-2MS?q?%~F;^*#Su41x+#V(ox_dwE<@ zsQ><*5ZL8px!oHGaWDaZs;%ife6KZYj3o;4{PL90S`Yu^Qz_0pIN2;lTue-9h2fc* zUqmtH(J9#q0(l9zb0pt)AX7sSLmH%LE0B-?JMFlqX(p>NyXWz2$OTX*|C#Dzm@&*=zOj?It=iLoYAhe|s}>b90l&fXxr+GBPs2gvwf5mpN}=0{w^yjgrCo7Eqpc z@q1PY{a?^Ab$0uf2Y-mv^}YM$VRMnffq>m# zZaQK&sJ;Icx*-kf)hDvU7Q6#nJmxyTIK<;~gt=_=1`755JtQ*nJ;ZE_q zUx1;7;6<8EYc7Ndc#dJ$8l@^26R=thYIT*f*dYMRxU`H63@j>fG;lgt)vvfR z5?x*wgy-_Pc&%nom`tqN5iBQwm3Fqn!!}p&ORNhMJ-xV>S8H7^wZbv5mt))mK*#!R zz}|$%eJ;R%^ih8fihlfwpf3scQE}$D1C?`hrW`0cMgwtIyyIJyoG2Z2UHF~o@CdHcp z+}MBT2mGp|+>uosVXYC${Lw?sNwGD6Z*#&`5Vq9xx4S)Ox|jzQBRB)#3i1N zj>51cDL_VPpYkM7(kLqt=XWpl*%$dnqDH}6)ZiChuAkF#qN1g|o~cV~RDr;yU8)3z zWy~RXP@lVZm(DK#aS46cQC*sgTTgNrN$lta@8IqOP9jHKUA)Q86ZlvLkb;b=be*JG G*#7~ZB1)S)~8~02y>e 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 JPDHLkV1mfT+#CP^ literal 17800 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

9)OFKScV6APdgS3J|_~r%o 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

OAP%Cju~zPUMr~Ya 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 diff --git a/companion/src/images/simulator/X9LITE/right_ent.png b/companion/src/images/simulator/X9LITE/right_ent.png index 3292fb0e54f791f8339e8a2354d108814a704a48..1640129f8b37bae00b98539f63a003f5582418e9 100644 GIT binary patch literal 11523 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 diff --git a/companion/src/images/simulator/X9LITE/top.png b/companion/src/images/simulator/X9LITE/top.png index 427ee09119beca5a0de1ec7c645da58cf731f9f3..bd15db2b7e0e42f0d67ea97a145fa071d093df1f 100644 GIT binary patch literal 3913 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 diff --git a/companion/src/simulation/simulateduiwidgetX9LITE.cpp b/companion/src/simulation/simulateduiwidgetX9LITE.cpp index 640945bcf7..6941a308d7 100644 --- a/companion/src/simulation/simulateduiwidgetX9LITE.cpp +++ b/companion/src/simulation/simulateduiwidgetX9LITE.cpp @@ -8,24 +8,21 @@ SimulatedUIWidgetX9LITE::SimulatedUIWidgetX9LITE(SimulatorInterface *simulator, ui(new Ui::SimulatedUIWidgetX9LITE) { RadioUiAction * act; - QPolygon polygon; ui->setupUi(this); // add actions in order of appearance on the help menu QPoint ctr(70, 91); - polygon << polyArc(ctr.x(), ctr.y(), 50, -90, 90) << polyArc(ctr.x(), ctr.y(), 22, -90, 90); + act = new RadioUiAction(0, QList() << Qt::Key_PageUp << Qt::Key_Up, SIMU_STR_HLP_KEYS_GO_UP, SIMU_STR_HLP_ACT_MENU_ICN); - addRadioWidget(ui->leftbuttons->addArea(polyArc(ctr.x(), ctr.y(), 20), "X9LITE/left_menu.png", act)); + addRadioWidget(ui->leftbuttons->addArea(QRect(80, 20, 40, 35), "X9LITE/left_menu.png", act)); act = new RadioUiAction(3, QList() << Qt::Key_PageDown << Qt::Key_Down, SIMU_STR_HLP_KEYS_GO_DN, SIMU_STR_HLP_ACT_PAGE); - addRadioWidget(ui->leftbuttons->addArea(polygon, "X9LITE/left_page.png", act)); + addRadioWidget(ui->leftbuttons->addArea(QRect(80, 65, 40, 35), "X9LITE/left_page.png", act)); - polygon.clear(); - polygon << polyArc(ctr.x(), ctr.y(), 50, 90, 270) << polyArc(ctr.x(), ctr.y(), 22, 90, 270); act = new RadioUiAction(1, QList() << Qt::Key_Delete << Qt::Key_Escape << Qt::Key_Backspace, SIMU_STR_HLP_KEYS_EXIT, SIMU_STR_HLP_ACT_EXIT); - addRadioWidget(ui->leftbuttons->addArea(polygon, "X9LITE/left_exit.png", act)); + addRadioWidget(ui->leftbuttons->addArea(QRect(80, 130, 40, 35), "X9LITE/left_exit.png", act)); m_scrollUpAction = new RadioUiAction(-1, QList() << Qt::Key_Minus << Qt::Key_Equal << Qt::Key_Left, SIMU_STR_HLP_KEYS_GO_LFT, SIMU_STR_HLP_ACT_ROT_LFT); m_scrollDnAction = new RadioUiAction(-1, QList() << Qt::Key_Plus << Qt::Key_Right, SIMU_STR_HLP_KEYS_GO_RGT, SIMU_STR_HLP_ACT_ROT_RGT); @@ -34,7 +31,7 @@ SimulatedUIWidgetX9LITE::SimulatedUIWidgetX9LITE(SimulatorInterface *simulator, m_mouseMidClickAction = new RadioUiAction(2, QList() << Qt::Key_Enter << Qt::Key_Return, SIMU_STR_HLP_KEYS_ACTIVATE, SIMU_STR_HLP_ACT_ROT_DN); addRadioWidget(ui->rightbuttons->addArea(polyArc(88, 92, 33), "X9LITE/right_ent.png", m_mouseMidClickAction)); - addRadioWidget(ui->leftbuttons->addArea(QRect(9, 154, 30, 30), "X9LITE/left_scrnshot.png", m_screenshotAction)); + addRadioWidget(ui->leftbuttons->addArea(QRect(30, 154, 30, 30), "X9LITE/left_scrnshot.png", m_screenshotAction)); m_backlightColors << QColor(215, 243, 255); // X9LITE Blue m_backlightColors << QColor(166,247,159); @@ -45,10 +42,10 @@ SimulatedUIWidgetX9LITE::SimulatedUIWidgetX9LITE(SimulatorInterface *simulator, setLcd(ui->lcd); QString css = "#radioUiWidget {" - "background-color: qlineargradient(spread:reflect, x1:0, y1:0, x2:0, y2:1," - "stop:0 rgba(255, 255, 255, 255)," - "stop:0.757062 rgba(241, 238, 238, 255)," - "stop:1 rgba(247, 245, 245, 255));" + "background-color: qlineargradient(spread:reflect, x1:0, y1:0, x2:0, y2:1," + "stop:0 rgba(255, 255, 255, 255)," + "stop:0.757062 rgba(241, 238, 238, 255)," + "stop:1 rgba(247, 245, 245, 255));" "}"; QTimer * tim = new QTimer(this); diff --git a/companion/src/simulation/simulateduiwidgetX9LITE.ui b/companion/src/simulation/simulateduiwidgetX9LITE.ui index 94dbaa08b9..4432f8ae3b 100644 --- a/companion/src/simulation/simulateduiwidgetX9LITE.ui +++ b/companion/src/simulation/simulateduiwidgetX9LITE.ui @@ -6,7 +6,7 @@ 0 0 - 570 + 650 208 @@ -18,14 +18,14 @@ - 570 - 208 + 603 + 235 - 570 - 208 + 603 + 240 @@ -60,14 +60,14 @@ - 157 - 186 + 173 + 210 - 157 - 186 + 173 + 210 @@ -85,14 +85,14 @@ - 256 - 128 + 602 + 129 - 424 - 128 + 602 + 129 @@ -110,14 +110,14 @@ - 157 - 186 + 174 + 210 - 157 - 186 + 174 + 210 @@ -135,14 +135,14 @@ - 256 - 48 + 258 + 35 - 256 - 48 + 258 + 35 @@ -160,14 +160,14 @@ - 256 - 10 + 258 + 46 - 256 - 10 + 258 + 46 From 35425c9ffd0a9591987a63e3ec3c1badd3dbcd33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Charpentier?= Date: Wed, 25 Sep 2019 18:01:00 +0200 Subject: [PATCH 18/24] Lapin fou/fr translation otx 230 (#6828) * Initial version. * Updated French translation. --- companion/src/translations/companion_fr.ts | 538 +++++++-------------- 1 file changed, 174 insertions(+), 364 deletions(-) diff --git a/companion/src/translations/companion_fr.ts b/companion/src/translations/companion_fr.ts index dad20a00a3..90dd8e36ba 100644 --- a/companion/src/translations/companion_fr.ts +++ b/companion/src/translations/companion_fr.ts @@ -95,7 +95,7 @@ Edit Settings - Éditer les réglages + Éditer les paramètres @@ -197,7 +197,7 @@ Manche Droit: Profondeur, Direction The profile specific folder, if set, will override general Backup folder - Dossier de sauvegarde spécifique au profil courant, si défini remplace le réglage de l'application + Dossier de sauvegarde spécifique au profil courant, si défini remplace le paramètre de l'application @@ -207,12 +207,12 @@ Manche Droit: Profondeur, Direction If set it will override the application general setting - Si défini, remplace le réglage de l'application pour ce profil + Si défini, remplace le paramètre de l'application pour ce profil if set, will override general backup enable - Si défini, remplace le réglage de l'application pour ce profil + Si défini, remplace le paramètre de l'application pour ce profil @@ -362,7 +362,7 @@ Manche Droit: Profondeur, Direction Releases (stable) - Officielle (stable) + Officiel (stable) @@ -407,7 +407,7 @@ Manche Droit: Profondeur, Direction Other Settings - Autres réglages + Autres paramètres @@ -422,7 +422,7 @@ Manche Droit: Profondeur, Direction Application Settings - Réglages de l'application + Paramètres de l'application @@ -438,7 +438,7 @@ Manche Droit: Profondeur, Direction Enable automatic backup before writing firmware - Sauvegarder les réglages et modèles automatiquement lors des transferts + Sauvegarder les paramètres et modèles automatiquement lors des transferts @@ -649,12 +649,12 @@ Manche Droit: Profondeur, Direction AVAILABLE: Radio settings of unknown age - DISPONIBLE: Réglages enregistrés à une date inconnue + DISPONIBLE: Paramètres enregistrés à une date inconnue AVAILABLE: Radio settings stored %1 - DISPONIBLE: Réglages enregistrés le %1 + DISPONIBLE: Paramètres enregistrés le %1 @@ -665,7 +665,7 @@ Manche Droit: Profondeur, Direction 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 + Sélectionner le dossier dans lequel une sauvegarde des paramètres et modèles sera placée automatiquement lors de chaque opération @@ -1030,7 +1030,7 @@ Manche Droit: Profondeur, Direction Application Settings - Réglages de l'application + Paramètres de l'application @@ -1040,7 +1040,7 @@ Manche Droit: Profondeur, Direction Radio and Models settings - Réglages Radio et Modèles + Paramètres Radio et Modèles @@ -2029,48 +2029,48 @@ Si vous avez un fichier de sauvegarde des paramètres, vous pouvez l'import Erreur de conversion du champ %1 - + Switch Interrupteur - + Switch L'interrupteur - + cannot be exported on this board! n'est pas supporté sur cette carte ! - + Source - + Source %1 cannot be exported on this board! La source %1 n'est pas supportée sur cette plateforme ! - + OpenTX only accepts %1 points in all curves OpenTX n'accepte que %1 points au maximum entre toutes les courbes - + OpenTx only accepts %1 points in all curves OpenTX n'accepte que %1 points au maximum entre toutes les courbes - - + + OpenTX on this board doesn't accept this function OpenTX ne supporte pas cette fonction sur cette carte - + OpenTX doesn't accept this radio protocol OpenTX ne supporte pas ce protocole radio @@ -2079,25 +2079,21 @@ Si vous avez un fichier de sauvegarde des paramètres, vous pouvez l'import DebugOutput - Debug Output Sortie débogage - <html><head/><body><p>Enable or disable the filter. If the button won't stay enabled, it is likely there is a syntax error in the Regular Expression entered.</p></body></html> <html><head/><body><p>Activer ou désactiver le filtre. Si le bouton ne reste pas actif, c'est qu'il y a probablement une erreur dans la <i>Regular Expression</i>.</p></body></html> - Filter: Filtre: - <html><head/><body><p>Enter filter text here. Click the help/info button for details about using the filter. </p><p> To <b>remove a remembered entry</b> from the filter list, first choose it, and then press <code>Shift-Delete</code> (or <code>Shift-Backspace</code>) key combination.</p></body></html> <html><head/><body><p>Entrer le filtre ici. Cliquer sur le bouton d'aide/info pour plus de détails sur l'utilisation du filtre. </p><p> @@ -2105,61 +2101,51 @@ Pour <b>retirer un filtre de l'historique</b>, sélectionnez-le - Buffer: Tampon: - Number of lines to keep in display. Nombre de lignes du tampon. - Filter &Help Filtre &Aide - Show information about using the filter. Affiche les informations concernant l'usage du filtre. - Word &Wrap Renvoi &Ligne - Toggle word wrapping on/off. Retour automatique à la ligne on/off. - &Clear &Effacer - Clear the output window of all text. Effacer tout le texte dans la fenêtre de sortie. - Enable &Filter Activer &Filtre - Turn the filter on/off. Basculer le filtre on/off. @@ -2553,37 +2539,37 @@ Si vide, la ligne est toujours active. Source Folder: - Dosssier Source: + Dosssier "Local": Destination Folder: - Dossier Destination: + Dossier "Radio": %1%2 Both directions, to destination folder first - %1%2 Bidirectionnel, en commençant par le dossier Destination + %1%2 Bidirectionnel, en commençant par "Radio" %1%2 Both directions, to source folder first - %1%2 Bidirectionnel, en commençant par le dossier Source + %1%2 Bidirectionnel, en commençant par "Local" %1 Only from source folder to destination folder - %1 Uniquement du dossier Source vers le dossier Destination + %1 Uniquement de "Local" vers "Radio" %1 Only from destination folder to source folder - %1 Uniquement du dossier Destination vers le dossier Source + %1 Uniquement de "Radio" vers "Local" How to handle overwriting files which already exist in the destination folder. - Comment gérer l'écrasement des fichiers qui existent déjà dans le dossier Destination. + Comment gérer l'écrasement des fichiers qui existent déjà dans le dossier de destination. @@ -2805,17 +2791,17 @@ Blanc signifie "inclure tous".Les métacaractères ?, * et [...] sont Source folder not found. - Dossier Source non trouvé. + Dosssier "Local" non trouvé. Destination folder not found. - Dossier Destination non trouvé. + Dosssier "Radio" non trouvé. Source and destination folders are the same. - Les dossiers Source et Destination sont les mêmes. + Les dossiers "Local" et "Radio" sont les mêmes. @@ -3143,7 +3129,7 @@ Blanc signifie "inclure tous".Les métacaractères ?, * et [...] sont Write Models and Settings to Radio - Transférer les réglages et modèles vers la radio + Transférer les paramètres et modèles vers la radio @@ -3158,7 +3144,7 @@ Blanc signifie "inclure tous".Les métacaractères ?, * et [...] sont Allows Companion to write to older version of the firmware - Permet à Companion de transférer des réglages à une ancienne version de firmware + Permet à Companion de transférer des paramètres à une ancienne version de firmware @@ -3173,7 +3159,7 @@ Blanc signifie "inclure tous".Les métacaractères ?, * et [...] sont Backup before Write - Sauvegarder les réglages actuels avant d'écrire + Sauvegarder les paramètres actuels avant d'écrire @@ -3218,12 +3204,12 @@ Blanc signifie "inclure tous".Les métacaractères ?, * et [...] sont 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 + Données de calibration incorrectes dans le profil, les paramètres 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 + Données de configuration incorrectes dans le profil, les paramètres ne seront pas transférés @@ -3252,7 +3238,7 @@ Blanc signifie "inclure tous".Les métacaractères ?, * et [...] sont Cannot check Models and Settings compatibility! Continue anyway? - Impossible de vérifier la compatibilité des réglages et modèles ! Continuer quand même ? + Impossible de vérifier la compatibilité des paramètres et modèles ! Continuer quand même ? @@ -3305,7 +3291,7 @@ Blanc signifie "inclure tous".Les métacaractères ?, * et [...] sont Allows Companion to write to older version of the firmware - Permet à Companion de transférer des réglages à une ancienne version de firmware + Permet à Companion de transférer des paramètres à une ancienne version de firmware @@ -3315,7 +3301,7 @@ Blanc signifie "inclure tous".Les métacaractères ?, * et [...] sont Backup and restore Models and Settings - Sauvegarder et restaurer les réglages et modèles + Sauvegarder et restaurer les paramètres et modèles @@ -3411,7 +3397,7 @@ Blanc signifie "inclure tous".Les métacaractères ?, * et [...] sont 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 + Impossible de convertir les paramètres et modèles pour ce firmware, les données originales vont être utilisées @@ -3421,7 +3407,7 @@ Blanc signifie "inclure tous".Les métacaractères ?, * et [...] sont Could not restore Models and Settings to Radio. The models and settings data file can be found at: %1 - Impossible de restaurer les réglages et modèles sur la radio. Le fichier peut être récupéré ici: %1 + Impossible de restaurer les paramètres et modèles sur la radio. Le fichier peut être récupéré ici: %1 @@ -3928,7 +3914,7 @@ p, li { white-space: pre-wrap; } Radio settings - Réglages Radio + Paramètres Radio @@ -3945,12 +3931,12 @@ Communs à tous les modèles d'une même EEPROM. Store calib. and hw settings in selected profile - Sauver étalonnage et réglages hw dans profil + Sauver étalonnage et paramètres hw dans profil Retrieve calib. and hw settings from profile - Lire étalonnage et réglages hw du profil + Lire étalonnage et paramètres hw du profil @@ -4849,7 +4835,7 @@ p, li { white-space: pre-wrap; } Beeper Mode - Réglage des bips + Paramètre des bips @@ -6065,7 +6051,7 @@ Les colonnes contenant l'altitude "GAlt" et la vitesse "GSpd Show fuses dialog - Afficher les réglages des fusibles + Afficher les paramètres des fusibles @@ -6204,18 +6190,18 @@ Nous recommandons de lire attentivement les notes de version à l'aide du b Write Models and Settings To Radio - Transférer les réglages et modèles vers la radio + Transférer les paramètres et modèles vers la radio Write Models and Settings to Radio - Transférer les réglages et modèles vers la radio + Transférer les paramètres et modèles vers la radio Read Models and Settings from Radio - Lire les réglages et modèles depuis la radio + Lire les paramètres et modèles depuis la radio @@ -6265,7 +6251,7 @@ Nous recommandons de lire attentivement les notes de version à l'aide du b Save a complete backup file of all settings and model data in the Radio - Créer une copie de sauvegarde de tous les réglages et modèles de la radio + Créer une copie de sauvegarde de tous les paramètres et modèles de la radio @@ -6337,7 +6323,7 @@ Nous recommandons de lire attentivement les notes de version à l'aide du b Open Models and Settings file - Ouvrir un fichier de réglages et modèles + Ouvrir un fichier de paramètres et modèles @@ -6348,7 +6334,7 @@ Nous recommandons de lire attentivement les notes de version à l'aide du b Read Models and Settings From Radio - Lire les réglages et modèles depuis la radio + Lire les paramètres et modèles depuis la radio @@ -6388,7 +6374,7 @@ Nous recommandons de lire attentivement les notes de version à l'aide du b Models and Settings read - Lecture des modèles et réglages + Lecture des modèles et paramètres @@ -6403,12 +6389,12 @@ Nous recommandons de lire attentivement les notes de version à l'aide du b Local Folder - Dossier local + Dossier "Local" Radio Folder - Dossier Radio + Dossier "Radio" @@ -6439,13 +6425,13 @@ Nous recommandons de lire attentivement les notes de version à l'aide du b Create a new Models and Settings file - Créer un nouveau fichier de réglages et modèles + Créer un nouveau fichier de paramètres et modèles Save Models and Settings file - Enregistrer le fichier de réglages et modèles + Enregistrer le fichier de paramètres et modèles @@ -6465,7 +6451,7 @@ Nous recommandons de lire attentivement les notes de version à l'aide du b Close Models and Settings file - Fermer le fichier de réglages et modèles + Fermer le fichier de paramètres et modèles @@ -6480,7 +6466,7 @@ Nous recommandons de lire attentivement les notes de version à l'aide du b Create a new Radio Settings Profile - Créer un nouveau profil de réglages et modèles + Créer un nouveau profil de paramètres et modèles @@ -6490,12 +6476,12 @@ Nous recommandons de lire attentivement les notes de version à l'aide du b Duplicate current Radio Settings Profile - Dupliquer les réglages radio du profil actuel + Dupliquer les paramètres radio du profil actuel Delete the current Radio Settings Profile - Supprimer les réglages radio du profil actuel + Supprimer les paramètres radio du profil actuel @@ -6536,17 +6522,17 @@ Nous recommandons de lire attentivement les notes de version à l'aide du b No Companion release candidates are currently being served for this version, please switch release channel - Aucune version "candidate" de Companion n'est actuellement disponible sur ce serveur, veuillez commuter sur le canal officiel + Aucune version "candidate" de Companion n'est actuellement disponible sur ce serveur, veuillez commuter sur le canal "officiel" No nightly Companion builds are currently being served for this version, please switch release channel - Aucune version "nightly" de Companion n'est actuellement disponible sur ce serveur, veuillez commuter sur le canal officiel + Aucune version "nightly" de Companion n'est actuellement disponible sur ce serveur, veuillez commuter sur le canal "officiel" No Companion release builds are currently being served for this version, please switch release channel - Aucune version "officielle" de Companion n'est actuellement disponible sur ce serveur, veuillez commuter sur le canal officiel + Aucune version "officielle" de Companion n'est actuellement disponible sur ce serveur, veuillez commuter sur le canal "candidate" ou "nightly" @@ -6556,17 +6542,17 @@ Nous recommandons de lire attentivement les notes de version à l'aide du b No firmware release candidates are currently being served for this version, please switch release channel - Aucun firmware "candidate" n'est actuellement disponible sur ce serveur, veuillez commuter sur le canal officiel + Aucun firmware "candidate" n'est actuellement disponible sur ce serveur, veuillez commuter sur le canal "officiel" No firmware nightly builds are currently being served for this version, please switch release channel - Aucun firmware "nightly" n'est actuellement disponible sur ce serveur, veuillez commuter sur le canal officiel + Aucun firmware "nightly" n'est actuellement disponible sur ce serveur, veuillez commuter sur le canal "officiel" No firmware release builds are currently being served for this version, please switch release channel - Aucun firmware "officiel" n'est actuellement disponible sur ce serveur, veuillez commuter sur le canal officiel + Aucun firmware "officiel" n'est actuellement disponible sur ce serveur, veuillez commuter sur le canal "candidate" ou "nightly" @@ -6654,22 +6640,22 @@ Do you wish to continue? Export Application Settings.. - Exporter les réglages de l'application... + Exporter Préférences Application... Save all the current %1 and Simulator settings (including radio profiles) to a file. - Enregistrez tous les réglages actuels %1 et du simulateur (y compris les profils radio) dans un fichier. + Enregistrez tous les paramètres actuels %1 et du simulateur (y compris les profils radio) dans un fichier. Import Application Settings.. - Importer les réglages de l'application... + Importer les paramètres de l'application... Load %1 and Simulator settings from a prevously exported settings file. - Charger les réglages %1 et les réglages de Simulation depuis un fichier précédemment exporté. + Charger les paramètres %1 et les paramètres de Simulation depuis un fichier précédemment exporté. @@ -6804,17 +6790,17 @@ Do you wish to continue? Please save or close all modified files before importing settings - Veuillez sauvegarder ou fermer tous les fichiers modifiés avant d'importer les réglages + Veuillez sauvegarder ou fermer tous les fichiers modifiés avant d'importer les paramètres <html><p>%1 and Simulator settings can be imported (restored) from a previosly saved export (backup) file. This will replace current settings with any settings found in the file.</p><p>An automatic backup of the current settings will be attempted. But if the current settings are useful then it is recommended that you make a manual backup first.</p><p>For best results when importing settings, <b>close any other %1 windows you may have open, and make sure the standalone Simulator application is not running.</p><p>Do you wish to continue?</p></html> - <html><p>%1 et les réglages du simulateur peuvent être importés (restaurés) à partir d’un fichier d’exportation (sauvegarde) préalablement sauvegardé. Ceci remplacera les réglages actuels par tous les réglages trouvés dans le fichier.</p><p>Une sauvegarde automatique des réglages actuels sera tentée. Mais si les réglages actuels sont utiles, il est recommandé de commencer par une sauvegarde manuelle.</p><p>Pour obtenir de meilleurs résultats lors de l'importation des réglages,<b> fermez les autres fenêtres %1 que vous avez éventuellement ouvertes et assurez-vous que l'application autonome Simulator n'est pas en cours d'exécution. </p><p>Souhaitez-vous continuer? </p></html> + <html><p>%1 et les paramètres du simulateur peuvent être importés (restaurés) à partir d’un fichier d’exportation (sauvegarde) préalablement sauvegardé. Ceci remplacera les paramètres actuels par tous les paramètres trouvés dans le fichier.</p><p>Une sauvegarde automatique des paramètres actuels sera tentée. Mais si les paramètres actuels sont utiles, il est recommandé de commencer par une sauvegarde manuelle.</p><p>Pour obtenir de meilleurs résultats lors de l'importation des paramètres,<b> fermez les autres fenêtres %1 que vous avez éventuellement ouvertes et assurez-vous que l'application autonome Simulator n'est pas en cours d'exécution. </p><p>Souhaitez-vous continuer? </p></html> Confirm Settings Import - Confirmer les réglages d'importation + Confirmer les paramètres d'importation @@ -6834,17 +6820,17 @@ Do you wish to continue? The settings could not be imported. - Les réglages n'ont pas pu être importés. + Les paramètres n'ont pas pu être importés. <html><p>New settings have been imported from:<br> %1.</p><p>%2 will now re-initialize.</p><p>Note that you may need to close and restart %2 before some settings like language and icon theme take effect.</p> - <html><p>Les nouveaux réglages ont été importés depuis:<br> %1. </p><p>%2 sera maintenant réinitialisé.</p><p>Notez que vous devrez peut-être fermer et redémarrer %2 avant que certains réglages tels que la langue et le thème d’icône prennent effet.</p> + <html><p>Les nouveaux paramètres ont été importés depuis:<br> %1. </p><p>%2 sera maintenant réinitialisé.</p><p>Notez que vous devrez peut-être fermer et redémarrer %2 avant que certains paramètres tels que la langue et le thème d’icône prennent effet.</p> <p>The previous settings were backed up to:<br> %1</p> - <p>Les réglages précédents ont été sauvegardés sous:<br> %1 </p> + <p>Les paramètres précédents ont été sauvegardés sous:<br> %1 </p> @@ -6879,7 +6865,7 @@ Do you wish to continue? Edit Settings - Éditer les réglages + Éditer les préférences @@ -6962,7 +6948,7 @@ Do you wish to continue? Settings - Réglages + Paramètres @@ -7102,17 +7088,17 @@ Do you wish to continue? Edit Radio Settings - Éditer réglages radio + Éditer paramètres radio Copy Radio Settings - Copier les réglages radio + Copier les paramètres radio Paste Radio Settings - Coller les réglages radio + Coller les paramètres radio @@ -7275,7 +7261,7 @@ Do you wish to continue? Models and Settings written - Modèle et réglages écrit + Modèle et paramètres écrit @@ -7341,7 +7327,7 @@ Do you wish to continue? Open backup Models and Settings file - Ouvrir la sauvegarde de réglages et modèles + Ouvrir la sauvegarde de paramètres et modèles @@ -7779,7 +7765,7 @@ Mixage actif par défaut si non-renseigné. Heli - Réglages hélico + Paramètres hélico @@ -9831,7 +9817,7 @@ Mixage actif par défaut si non-renseigné. <html><head/><body><p>No Radio was found!</p><p>Make sure that you hold the lower trim buttons towards the center while you turn it on.</p><p>Then connect the USB wire.</p><p><span style=" font-family:'arial,sans-serif'; font-size:13px; font-style:italic; color:#222222; background-color:#ffffff;">Note: if you have a Taranis that has not had the firmware upgraded to 2.0 then this version of Companion will not work.</span></p></body></html> - <html><head/><body><p>Aucune radio détectée !</p><p>Veuillez vous assurer de maintenir les 2 trims horizontaux vers l'intérieur lors de la mise sous tension de la radio.</p><p>Ensuite connecter le câble USB.</p><p><span style=" font-family:'arial,sans-serif'; font-size:13px; font-style:italic; color:#222222; background-color:#ffffff;">Note: Cette version de Companion ne doit être utilisée pour éditer des réglages que si la version du firmware de la radio est au moins 2.0.</span></p></body></html> + <html><head/><body><p>Aucune radio détectée !</p><p>Veuillez vous assurer de maintenir les 2 trims horizontaux vers l'intérieur lors de la mise sous tension de la radio.</p><p>Ensuite connecter le câble USB.</p><p><span style=" font-family:'arial,sans-serif'; font-size:13px; font-style:italic; color:#222222; background-color:#ffffff;">Note: Cette version de Companion ne doit être utilisée pour éditer des paramètres que si la version du firmware de la radio est au moins 2.0.</span></p></body></html> @@ -9843,43 +9829,36 @@ Mixage actif par défaut si non-renseigné. RadioOutputsWidget - Form Formulaire - View: Vue: - Logical Switches Inters Logiques - Global Variables Variables Globales - Channel Outputs Sorties Voies - Mix Outputs Sorties Mixages - L o g @@ -9890,7 +9869,6 @@ L - G l o @@ -9902,7 +9880,6 @@ G - C h a @@ -9918,7 +9895,6 @@ E - M i x @@ -9934,12 +9910,12 @@ E FM%1 - PV%1 + PV%1 GV%1 - VG%1 + VG%1 @@ -10748,16 +10724,6 @@ E TELE - - - Internal - Interne - - - - External - Externe - Setup @@ -10948,7 +10914,7 @@ Si cette option est cochée, la voie des gaz est inversée: le ralenti est &apo Profile Settings - Réglages du profil + Paramètres du profil @@ -11301,181 +11267,151 @@ Profil ID: [%1]; Radio ID: [%2] SimulatorMainWindow - OpenTx Simulator Simulateur OpenTX - View Vue - Radio Window Fenêtre radio - Reload... Recharger... - Tools Outils - Toolbar Barre d'outils - Reload Lua Scripts Recharger le script Lua - Reload the Lua environment on the simulated radio. Recharger l'environnement Lua dans le simulateur. - F7 - Reload Radio Data Recharger les données radio - Reload all radio data without restarting the simulator. Recharger les données radio sans redémarrer le simulateur. - F9 - Key Mapping Raccourcis clavier - Show keyboard maping reference. Afficher les raccourcis clavier. - F1 - Joystick Settings Paramètres Joystick - Open joystick configuration settings dialog. Ouvrir la boite de dialogue de la configuration du Joystick. - F3 - LCD Screenshot Capture LCD - Save a screenshot of the current simulated LCD screen. Enregistrez une capture de l'écran LCD actuellement simulé. - F8 - Dock In Main Window Ancrer dans la fenêtre principale - Show the radio in the main window or as a separate "floating" window. Afficher la radio dans la fenêtre principale ou comme une fenêtre "flottante" séparée. - Menu Bar Barre de menus - Show or hide the top menu bar. Afficher ou masquer la barre de menus. - Alt+M - Constrain Width Contraindre la largeur - Set radio widget width to be a fixed size. Défini la largeur du widget radio comme étant une taille fixe. - Constrain Height Contraindre la hauteur - Set radio widget height to be a fixed size. Défini la hauteur du widget radio comme étant une taille fixe. @@ -11556,25 +11492,21 @@ Profil ID: [%1]; Radio ID: [%2] SimulatorStartupDialog - OpenTX Simulator - Startup Options Simulateur OpenTX - Options de démarrage - Simulator Startup Options: Options de démarrage: - Radio Profile: Profil Radio: - Existing radio profiles are shown here.<br /> Create or edit profiles using the Companion application. Les profils existants sont affichés ici.<br /> @@ -11582,13 +11514,11 @@ Créer ou éditer les profils avec l'application Companion. - Radio Type: Type de Radio: - Existing radio simulators are shown here.<br /> The radio type specified in the selected profile is used by default. Les simulateurs radios existants sont affichés ici.<br /> @@ -11596,31 +11526,26 @@ Le type de radio choisi par défaut est celui défini dans le profil selectionn - Data Source: Source Données: - Data File: Fichier Données: - Data Folder: Dossier Données: - SD Image Path: Dossier Image SD: - Radio data (.bin/.eeprom/.otx) image file to use. A new file with a default image will be created if necessary.<br /> <b>NOTE</b>: any existing EEPROM data incompatible with the selected radio type may be overwritten! Fichier de données utilisé (.bin/.eeprom/.otx).Un nouveau fichier avec une nouvelle image sera créé si nécessaire.<br /> @@ -11628,7 +11553,6 @@ Le type de radio choisi par défaut est celui défini dans le profil selectionn - Select data file... Choisir le fichier de données... @@ -11636,15 +11560,11 @@ Le type de radio choisi par défaut est celui défini dans le profil selectionn - - - ... - Directory containing RADIO and MODELS folders to use.<br /> New folder(s) with default radio/model will be created here if necessary. Chemin contenant les dossiers RADIO et MODELS à utiliser.<br /> @@ -11652,13 +11572,11 @@ Un (ou plusieurs) dossier peut être créé ici si nécessaire. - Select data folder... Sélectionner le dossier de données... - Directory containing the SD card image to use.<br/> The default is configured in the chosen Radio Profile. Dossier contenant l'image de la carte SD.<br/> @@ -11666,31 +11584,26 @@ La valeur par défaut est configurée dans le profil radio sélectionné. - Select SD card image folder... Choisir le dossier contenant l'image de la carte SD... - Select which of the data sources (File/Folder/SD Card) you would like to start the simulator with. Choisir la source (Fichier/Dossier/Image SD) du type de donnée utilisé par le simulateur. - File Fichier - Folder Dossier - SD Path Image SD @@ -11719,7 +11632,6 @@ La valeur par défaut est configurée dans le profil radio sélectionné.SimulatorWidget - Companion Simulator Simulateur Companion @@ -11855,7 +11767,7 @@ La valeur par défaut est configurée dans le profil radio sélectionné. &Reset to default - &Réglages par défaut + &Paramètres par défaut @@ -12487,104 +12399,104 @@ Trop d'erreurs, abandon. TelemetryPanel - + FrSky S.PORT - + FrSky D - + FrSky D (cable) FrSky D (câble) - + Telemetry screen %1 Ecran de télémesure %1 - + Source - + Low Alarm Alarme basse - + Critical Alarm Alarme critique - + Winged Shadow How High - + Winged Shadow How High (not supported) Winged Shadow How High (non supporté) - + Alti Alt - + Alti+ Alt+ - + VSpeed Vitesse verticale - - - + + + A1 - - - + + + A2 - - + + A3 - - + + A4 - - + + FAS - + Cells Velm - + --- @@ -12622,254 +12534,249 @@ Trop d'erreurs, abandon. - - Mod. - - - - + Add Addition - + Average Moyenne - + Min - + Max - + Multiply Multiplication - + Totalize Totalisation - + Cell Element LiPo - + Consumption Consommation - + Dist Distance - + Cells Sensor : Capteur d'éléments: - - - - - - - - + + + + + + + + --- - + GPS Sensor : Capteur GPS: - + Alt. Sensor : Capteur d'altitude: - + Sensor : Capteur: - + V - + A - + mA - + kt - + m/s - + ft/s - + km/h - + mph - + m - + ft - + °C - + °F - + % - + mAh - + W - + mW - + dBm - + g - + ° - + Rad - + mL - + US fl.Oz. - + Raw (-) Chiffres bruts (-) - + RPM Tours/minute - + Precision Précision - + Ratio - + Blades Pales - + Offset Décalage - + Multiplier Multiplicateur - + Auto Offset Offset auto - + Filter Filtre - + Persistent Persistant - + Positive - + Logs @@ -12901,121 +12808,101 @@ Trop d'erreurs, abandon. TelemetrySimulator - Telemetry Simulator Simulateur de télémesure - VFAS - RSSI - Simulate Simuler - Replay SD Log File Rejouer le fichier de Log SD - Replay rate Vitesse - |> - <| - > - <- - X - 1/5x - 5x - No Log File Currently Loaded Pas de fichier de Log chargé - Setting RSSI to zero simulates telemetry and radio link loss. Régler le RSSI à zéro simule la perte de liaison radio et de télémétrie. - Set RSSI to zero when paused. Régler le RSSI à zéro lors d'une pause. - Stop sending telemetry data when the Telemetry Simulator window is hidden. Arrêtez d'envoyer des données de télémétrie lorsque la case est cochée. - Pause simulation when hidden. Pause la simulation. - Load Charger - Row # Timestamp Ligne # @@ -13023,7 +12910,6 @@ Horodatage - RxBt @@ -13031,9 +12917,6 @@ Horodatage - - - V / ratio @@ -13051,140 +12934,105 @@ Horodatage - - - - - - - - - - - - - <html><head/><body><p><br/></p></body></html> - - Volts - Db dB - Curr Courant - Amps - Cels Elément - A1 - A2 - ASpd - - km/h - A3 - GAlt - - Meters Mètres - A4 - GSpd - Tmp1 - RAS - Hdg - Lat,Lon (dec.deg.) - dd-MM-yyyy hh:mm:ss jj-MM-aaaa @@ -13192,51 +13040,42 @@ hh:mm:ss - Degrees - Tmp2 - - °C - Date - GPS - Fuel Carburant - % - AccX @@ -13244,65 +13083,52 @@ hh:mm:ss - - - G - Fuel Qty Qté Carburant - ml - AccY - VSpd Vitesse Verticale - m/s - AccZ - Alt Altitude - - RPM - When enabled, sends any non-blank values as simulated telemetry data. Transmet les valeurs non vides au simulateur. @@ -13556,7 +13382,6 @@ Extra long : bips extra longs. TrainerSimulator - Trainer simulator Simulateur d'écolage @@ -13854,7 +13679,7 @@ Extra long : bips extra longs. Manually check the direction of each control surface and reverse any channels that make controls move in the wrong direction. Remove the propeller/propellers before you try to control your model for the first time.<br>Please note that continuing removes all old model settings! - Vérifiez manuellement le sens de chaque commande, et inversez les voies de celles qui répondent dans le mauvais sens. Attention à bien enlever les hélices du modèle avant de l'alimenter la première fois !<br>Veuillez noter que tous les réglages existants du modèle courant seront écrasés ! + Vérifiez manuellement le sens de chaque commande, et inversez les voies de celles qui répondent dans le mauvais sens. Attention à bien enlever les hélices du modèle avant de l'alimenter la première fois !<br>Veuillez noter que tous les paramètres existants du modèle courant seront écrasés ! @@ -14188,85 +14013,71 @@ m2560 for v4.1 boards joystickDialog - Configure Joystick Configuration du Joystick - Ch2 VOIE2 - Ch1 VOIE1 - Ch4 VOIE4 - Ch6 VOIE6 - Ch3 VOIE3 - Ch5 VOIE5 - Ch7 VOIE7 - Ch8 VOIE8 - Instructions - Enable Actif - Cancel Annuler - Back Précédent - Start Démarrer @@ -14277,7 +14088,6 @@ m2560 for v4.1 boards - Ok OK From c62a0def798345ac195baafa8d2dc05de2801e78 Mon Sep 17 00:00:00 2001 From: 3djc Date: Fri, 27 Sep 2019 11:18:07 +0200 Subject: [PATCH 19/24] Release prep --- tools/rc22/build-rc.sh | 71 ----------- tools/rc22/build-sdcard.sh | 50 -------- tools/release22/build-release.sh | 61 ---------- tools/release22/build-sdcard.sh | 50 -------- tools/release22/tts.py | 152 ------------------------ tools/release22/tts_common.py | 14 --- tools/release23/build-sdcard.sh | 77 ++++++++++++ tools/{rc22 => release23}/tts.py | 0 tools/{rc22 => release23}/tts_common.py | 0 9 files changed, 77 insertions(+), 398 deletions(-) delete mode 100755 tools/rc22/build-rc.sh delete mode 100755 tools/rc22/build-sdcard.sh delete mode 100755 tools/release22/build-release.sh delete mode 100755 tools/release22/build-sdcard.sh delete mode 100755 tools/release22/tts.py delete mode 100644 tools/release22/tts_common.py create mode 100755 tools/release23/build-sdcard.sh rename tools/{rc22 => release23}/tts.py (100%) rename tools/{rc22 => release23}/tts_common.py (100%) diff --git a/tools/rc22/build-rc.sh b/tools/rc22/build-rc.sh deleted file mode 100755 index daffff3f23..0000000000 --- a/tools/rc22/build-rc.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/bash - -set -e - -branch=2.2 -docker=rc22 -workdir=/home/opentx/rc22 -output=/var/www/html/2.2/rc -version=2.3.0 - -# Increment RC index -index=`cat index.txt` -index=`expr $index + 1` -suffix="RC$index" - -cd ${workdir} - -# Create on-demand build environment -cp code/radio/util/Dockerfile . -docker build -t new-${docker} --build-arg OPENTX_VERSION_SUFFIX=${suffix} . -set +e -docker rmi -f ${docker} -set -e -docker tag new-${docker} ${docker} -docker rmi -f new-${docker} - -# Call sdcard generation -code/tools/rc22/build-sdcard.sh - -# Build Linux companion -docker run -dit --name companion -v /home/opentx/${docker}:/opentx ${docker} -docker exec companion sh -c "mkdir -p build && cd build && cmake /opentx/code && cp radio/src/stamp.h /opentx/binaries/stamp-opentx.txt" -docker exec companion rm -rf build -if [ ! -f ${output}/companion/linux/companion22_${version}${suffix}_amd64.deb ]; then - docker exec companion /opentx/code/tools/build-companion-release.sh /opentx/code /opentx/binaries/ - docker exec companion sh -c "cp /build/radio/src/lua/*.txt /opentx/binaries" - cp -f binaries/*.deb ${output}/companion/linux/companion22_${version}${suffix}_amd64.deb - cp -f binaries/lua_fields_*.txt ${output}/firmware -fi -docker stop companion -docker rm companion - -# Request companion compilation on Windows -if [ ! -f ${output}/companion/windows/companion-windows-${version}${suffix}.exe ]; then - cd ${output}/companion/windows - wget -qO- http://winbox.open-tx.org/companion-builds/compile22.php?branch=$branch\&suffix=${suffix} - wget -O companion-windows-${version}${suffix}.exe http://winbox.open-tx.org/companion-builds/companion-windows-${version}${suffix}.exe - chmod -Rf g+w companion-windows-${version}${suffix}.exe -fi - -# Request companion compilation on Mac OS X -if [ ! -f ${output}/companion/macosx/opentx-companion-${version}${suffix}.dmg ]; then - cd ${output}/companion/macosx - wget -qO- http://opentx.blinkt.de:8080/~opentx/build-opentx.py?branch=${branch}\&suffix=${suffix} - wget -O opentx-companion-${version}${suffix}.dmg http://opentx.blinkt.de:8080/~opentx/builds/opentx-companion-${version}${suffix}.dmg - chmod -Rf g+w opentx-companion-${version}${suffix}.dmg -fi - -# Update stamps -cp -f $workdir/binaries/stamp-opentx.txt ${output}/firmware -echo "#define VERSION \"${version}${suffix}\"" > ${output}/companion/companion-windows.stamp -cp -f ${output}/companion/companion-windows.stamp ${output}/companion/companion-macosx.stamp -cp -f ${output}/companion/companion-windows.stamp ${output}/companion/companion-linux.stamp - - -# Clean binaries It will be hosting built on demand firmware -rm -rf $workdir/binaries/* -rm -rf $workdir/binaries/.lock - -# RC is considered as valid ony if we get to that point -echo $index > ${workdir}/index.txt diff --git a/tools/rc22/build-sdcard.sh b/tools/rc22/build-sdcard.sh deleted file mode 100755 index 8fec668056..0000000000 --- a/tools/rc22/build-sdcard.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/bash - -set -e - -branch=2.2 -workdir=/home/opentx/rc22 -output=/var/www/html/2.2/rc - -# Handle opentx.sdcard.version -sdcard_version="2.2V"$(grep 'set(SDCARD_REVISION' ${workdir}/code/CMakeLists.txt | grep -o '".*"' | sed 's/"//g') -echo ${sdcard_version} > ${workdir}/code/radio/sdcard/horus/opentx.sdcard.version -echo ${sdcard_version} > ${workdir}/code/radio/sdcard/taranis-x9/opentx.sdcard.version -echo ${sdcard_version} > ${workdir}/code/radio/sdcard/taranis-x7/opentx.sdcard.version - -if cmp --silent ${workdir}/code/radio/sdcard/horus/opentx.sdcard.version ${workdir}/opentx.sdcard.version -then - exit -else - cp -r ${workdir}/code/radio/sdcard/horus/opentx.sdcard.version ${workdir} - cd ${workdir} - - # Copy git sdcard data - rm -Rf ${workdir}/sdcard - cp -r ${workdir}/code/radio/sdcard . - - # Get images for Horus - mkdir -p ${workdir}/sdcard/horus/IMAGES - cp /home/opentx/horus-bitmaps/* ${workdir}/sdcard/horus/IMAGES/ - - # Request sound pack generation - ${workdir}/code/tools/rc22/tts.py en csv files - ${workdir}/code/tools/rc22/tts.py fr csv files - ${workdir}/code/tools/rc22/tts.py es csv files - ${workdir}/code/tools/rc22/tts.py it csv files - ${workdir}/code/tools/rc22/tts.py de csv files - ${workdir}/code/tools/rc22/tts.py cz csv files - ${workdir}/code/tools/rc22/tts.py pt csv files - ${workdir}/code/tools/rc22/tts.py ru csv psv files - - # Create sdcards.zips for supported platforms - mv /tmp/SOUNDS ${workdir}/sdcard/horus/ - mkdir ${workdir}/sdcard/taranis-x9/SOUNDS - mkdir ${workdir}/sdcard/taranis-x7/SOUNDS - cp -r ${workdir}/sdcard/horus/SOUNDS ${workdir}/sdcard/taranis-x9/ - cp -r ${workdir}/sdcard/horus/SOUNDS ${workdir}/sdcard/taranis-x7/ - cd ${workdir}/sdcard/horus && zip -r ${output}/sdcard/opentx-x12s/sdcard-horus-${sdcard_version}.zip * - cd ${workdir}/sdcard/taranis-x9 && zip -r ${output}/sdcard/opentx-x9d/sdcard-taranis-x9-${sdcard_version}.zip * - cd ${workdir}/sdcard/taranis-x7 && zip -r ${output}/sdcard/opentx-x7/sdcard-taranis-x7-${sdcard_version}.zip * - rm -Rf ${workdir}/sdcard -fi \ No newline at end of file diff --git a/tools/release22/build-release.sh b/tools/release22/build-release.sh deleted file mode 100755 index 9fbc37e07d..0000000000 --- a/tools/release22/build-release.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/bash - -set -e - -branch=2.2 -docker=release22 -workdir=/home/opentx/release22 -output=/var/www/html/2.2/release -version=2.3.0 - -cd ${workdir} - -# Create on-demand build environment -cp code/radio/util/Dockerfile . -docker build -t new-${docker} . -docker rmi -f ${docker} || true -docker tag new-${docker} ${docker} -docker rmi -f new-${docker} - -# Call sdcard generation -code/tools/release22/build-sdcard.sh - -# Build Linux companion -docker run -dit --name companion -v /home/opentx/${docker}:/opentx ${docker} -docker exec companion sh -c "mkdir -p build && cd build && cmake /opentx/code && cp radio/src/stamp.h /opentx/binaries/stamp-opentx.txt" -docker exec companion rm -rf build -if [ ! -f ${output}/companion/linux/companion22_${version}_amd64.deb ]; then - docker exec companion /opentx/code/tools/build-companion-release.sh /opentx/code /opentx/binaries/ - docker exec companion sh -c "cp /build/radio/src/lua/*.txt /opentx/binaries" - cp -f binaries/*.deb ${output}/companion/linux/companion22_${version}_amd64.deb - cp -f binaries/lua_fields_*.txt ${output}/firmware -fi -docker stop companion -docker rm companion - -# Request companion compilation on Windows -if [ ! -f ${output}/companion/windows/companion-windows-${version}.exe ]; then - cd ${output}/companion/windows - wget -qO- http://winbox.open-tx.org/companion-builds/compile22.php?branch=${branch} - wget -O companion-windows-${version}.exe http://winbox.open-tx.org/companion-builds/companion-windows-${version}.exe - chmod -f g+w companion-windows-${version}.exe -fi - -# Request companion compilation on Mac OS X -if [ ! -f ${output}/companion/macosx/opentx-companion-${version}.dmg ]; then - cd ${output}/companion/macosx - wget -qO- http://opentx.blinkt.de:8080/~opentx/build-opentx.py?branch=${branch} - wget -O opentx-companion-${version}.dmg http://opentx.blinkt.de:8080/~opentx/builds/opentx-companion-${version}.dmg - chmod -f g+w opentx-companion-${version}.dmg -fi - -# Update stamps -cp -f $workdir/binaries/stamp-opentx.txt ${output}/firmware -echo "#define VERSION "'"2.3.0"' > ${output}/companion/companion-windows.stamp -cp -f ${output}/companion/companion-windows.stamp ${output}/companion/companion-macosx.stamp -cp -f ${output}/companion/companion-windows.stamp ${output}/companion/companion-linux.stamp - - -# Clean binaries It will be hosting built on demand firmware -rm -rf $workdir/binaries/* -rm -rf $workdir/binaries/.lock diff --git a/tools/release22/build-sdcard.sh b/tools/release22/build-sdcard.sh deleted file mode 100755 index 7dd386c261..0000000000 --- a/tools/release22/build-sdcard.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/bash - -set -e - -branch=2.2 -workdir=/home/opentx/release22 -output=/var/www/html/2.2/release - -# Handle opentx.sdcard.version -sdcard_version="2.2V"$(grep 'set(SDCARD_REVISION' ${workdir}/code/CMakeLists.txt | grep -o '".*"' | sed 's/"//g') -echo ${sdcard_version} > ${workdir}/code/radio/sdcard/horus/opentx.sdcard.version -echo ${sdcard_version} > ${workdir}/code/radio/sdcard/taranis-x9/opentx.sdcard.version -echo ${sdcard_version} > ${workdir}/code/radio/sdcard/taranis-x7/opentx.sdcard.version - -if cmp --silent ${workdir}/code/radio/sdcard/horus/opentx.sdcard.version ${workdir}/opentx.sdcard.version -then - exit -else - cp -r ${workdir}/code/radio/sdcard/horus/opentx.sdcard.version ${workdir} - cd ${workdir} - - # Copy git sdcard data - rm -Rf ${workdir}/sdcard - cp -r ${workdir}/code/radio/sdcard . - - # Get images for Horus - mkdir -p ${workdir}/sdcard/horus/IMAGES - cp /home/opentx/horus-bitmaps/* ${workdir}/sdcard/horus/IMAGES/ - - # Request sound pack generation - ${workdir}/code/tools/release22/tts.py en csv files - ${workdir}/code/tools/release22/tts.py fr csv files - ${workdir}/code/tools/release22/tts.py es csv files - ${workdir}/code/tools/release22/tts.py it csv files - ${workdir}/code/tools/release22/tts.py de csv files - ${workdir}/code/tools/release22/tts.py cz csv files - ${workdir}/code/tools/release22/tts.py pt csv files - ${workdir}/code/tools/release22/tts.py ru csv psv files - - # Create sdcards.zips for supported platforms - mv /tmp/SOUNDS ${workdir}/sdcard/horus/ - mkdir ${workdir}/sdcard/taranis-x9/SOUNDS - mkdir ${workdir}/sdcard/taranis-x7/SOUNDS - cp -r ${workdir}/sdcard/horus/SOUNDS ${workdir}/sdcard/taranis-x9/ - cp -r ${workdir}/sdcard/horus/SOUNDS ${workdir}/sdcard/taranis-x7/ - cd ${workdir}/sdcard/horus && zip -r ${output}/sdcard/opentx-x12s/sdcard-horus-${sdcard_version}.zip * - cd ${workdir}/sdcard/taranis-x9 && zip -r ${output}/sdcard/opentx-x9d/sdcard-taranis-x9-${sdcard_version}.zip * - cd ${workdir}/sdcard/taranis-x7 && zip -r ${output}/sdcard/opentx-x7/sdcard-taranis-x7-${sdcard_version}.zip * - rm -Rf ${workdir}/sdcard -fi \ No newline at end of file diff --git a/tools/release22/tts.py b/tools/release22/tts.py deleted file mode 100755 index fc42cfeb6d..0000000000 --- a/tools/release22/tts.py +++ /dev/null @@ -1,152 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - - -# This script is a modified version to support Linux TTS fiel genration using PicoTTS - -# Sound pack maintainers (incomplete list) by language alphabetical order -# Czech : Martin Hotar -# French : Bertrand Songis & André Bernet -# English : Rob Thompson & Martin Hotar -# German : Romolo Manfredini (Some corrections by Peer) -# Italian : Romolo Manfredini -# Portuguese : Romolo Manfredini -# Spanish : Romolo Manfredini (With the help of Jose Moreno) - -# from __future__ import print_function - -import os -import sys -import subprocess -import zipfile -from gtts import gTTS -from tts_common import * -board = "taranis" - -reload(sys) -sys.setdefaultencoding('utf8') - -SOURCE_DIRECTORY = os.path.dirname(os.path.realpath(__file__)) -lib_path = os.path.abspath(os.path.join(SOURCE_DIRECTORY, '..', '..', 'radio', 'util')) -sys.path.append(lib_path) - -def generate(str, filename): - if 0: - output = "output.wav" - command = 'pico2wave -l=%s -w=%s "%s"' % (voice, output, str) - os.system(command.encode('utf-8')) - command = "sox %s -r 32000 %s reverse silence 1 0.1 0.1%% reverse" % (output, filename) - os.system(command.encode('utf-8')) - else: - output = u"output.mp3" - tts = gTTS(text=str, lang=voice[:2]) - tts.save(output) - command = "sox --norm %s -r 32000 %s tempo 1.2" % (output, filename) - os.system(command.encode('utf-8')) - command = "rm -f output.mp3" - os.system(command.encode('utf-8')) - -################################################################ - -if __name__ == "__main__": - if "en" in sys.argv: - from tts_en import systemSounds, sounds - - directory = "en" - voice = "en-US" - - elif "fr" in sys.argv: - from tts_fr import systemSounds, sounds - - directory = "fr" - voice = "fr-FR" - - elif "it" in sys.argv: - from tts_it import systemSounds, sounds - - directory = "it" - voice = "it-IT" - - elif "de" in sys.argv: - from tts_de import systemSounds, sounds - - directory = "de" - voice = "de-DE" - - elif "es" in sys.argv: - from tts_es import systemSounds, sounds - - directory = "es" - voice = "es-ES" - - elif "cz" in sys.argv: - from tts_cz import systemSounds, sounds - - directory = "cz" - voice = "cs-CZ" - - elif "ru" in sys.argv: - from tts_ru import systemSounds, sounds - - directory = "ru" - voice = "ru-RU" - - elif "pt" in sys.argv: - from tts_pt import systemSounds, sounds - - directory = "pt" - voice = "pt-PT" - - else: - print("which language?") - exit() - - if "csv" in sys.argv: - path = "/tmp/SOUNDS/" + directory + "/SYSTEM/" - if not os.path.exists(path): - os.makedirs(path) - os.chdir(path) - with open("%s-%s.csv" % (voice, board), "wb") as csvFile: - for s, f in systemSounds: - if s and f: - l = u"" - if board in ("sky9x", "taranis"): - l += u"SOUNDS/%s/SYSTEM;" % directory - l += f + u";" + s + u"\n" - csvFile.write(l.encode("utf-8")) - for s, f in sounds: - if s and f: - l = u"" - if board in ("sky9x", "taranis"): - l += u"SOUNDS/%s;" % directory - l += f + u";" + s + u"\n" - csvFile.write(l.encode("utf-8")) - - if "psv" in sys.argv: - path = "/tmp/SOUNDS/" + directory + "/" - if not os.path.exists(path): - os.makedirs(path) - os.chdir(path) - with open("%s-%s.psv" % (voice, board), "wb") as csvFile: - for s, f in systemSounds: - if s and f: - l = u"SYSTEM|" + f.replace(".wav", "") + u"|" + s + u"\r\n" - csvFile.write(l.encode("windows-1251")) - for s, f in sounds: - if s and f: - l = u"|" + f.replace(".wav", "") + u"|" + s + u"\r\n" - csvFile.write(l.encode("windows-1251")) - - - if "files" in sys.argv: - path = "/tmp/SOUNDS/" + directory + "/SYSTEM/" - if not os.path.exists(path): - os.makedirs(path) - os.chdir(path) - for s, f in systemSounds: - if s and f: - generate(s, f) - os.chdir("..") - for s, f in sounds: - if s and f: - generate(s, f) diff --git a/tools/release22/tts_common.py b/tools/release22/tts_common.py deleted file mode 100644 index 25623b0053..0000000000 --- a/tools/release22/tts_common.py +++ /dev/null @@ -1,14 +0,0 @@ -NO_ALTERNATE = 1024 -PROMPT_CUSTOM_BASE = 256 -PROMPT_SYSTEM_BASE = 0 -board = "taranis" - -import sys - -def filename(idx, alternate=0): - ext = ".wav" - if isinstance(idx, int): - result = "%04d%s" % (idx, ext) - elif board in ('sky9x', 'taranis'): - result = idx + ext - return result diff --git a/tools/release23/build-sdcard.sh b/tools/release23/build-sdcard.sh new file mode 100755 index 0000000000..97a4799b71 --- /dev/null +++ b/tools/release23/build-sdcard.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +set -e +set -x + +workdir=/home/opentx/release23 +output=/var/www/html/2.3/release + +# Handle opentx.sdcard.version +sdcard_version="2.3V"$(grep 'set(SDCARD_REVISION' ${workdir}/code/CMakeLists.txt | grep -o '".*"' | sed 's/"//g') +echo ${sdcard_version} > ${workdir}/code/radio/sdcard/horus/opentx.sdcard.version +echo ${sdcard_version} > ${workdir}/code/radio/sdcard/taranis-x9/opentx.sdcard.version +echo ${sdcard_version} > ${workdir}/code/radio/sdcard/taranis-x7/opentx.sdcard.version + + +if cmp --silent ${workdir}/code/radio/sdcard/horus/opentx.sdcard.version ${workdir}/opentx.sdcard.version +then + exit +else + cd ${workdir} + + # Copy git sdcard data + rm -Rf ${workdir}/sdcard + cp -r ${workdir}/code/radio/sdcard . + + # Get images for Horus + mkdir -p ${workdir}/sdcard/horus/IMAGES + cp /home/opentx/horus-bitmaps/* ${workdir}/sdcard/horus/IMAGES/ + + + # Request sound pack generation + if [[ ! -d /tmp/SOUNDS/fr ]];then + ${workdir}/code/tools/release23/tts.py en csv files + fi + if [[ ! -d /tmp/SOUNDS/es ]];then + ${workdir}/code/tools/release23/tts.py fr csv files + fi + if [[ ! -d /tmp/SOUNDS/it ]];then + ${workdir}/code/tools/release23/tts.py es csv files + fi + if [[ ! -d /tmp/SOUNDS/de ]];then + ${workdir}/code/tools/release23/tts.py it csv files + fi + if [[ ! -d /tmp/SOUNDS/cz ]];then + ${workdir}/code/tools/release23/tts.py de csv files + fi + if [[ ! -d /tmp/SOUNDS/pl ]];then + ${workdir}/code/tools/release23/tts.py cz csv files + fi + if [[ ! -d /tmp/SOUNDS/ru ]];then + ${workdir}/code/tools/release23/tts.py pt csv files + fi + ${workdir}/code/tools/release23/tts.py ru csv psv files + + # Create sdcards.zips for supported platforms + mv /tmp/SOUNDS ${workdir}/sdcard/horus/ + mkdir ${workdir}/sdcard/taranis-x9/SOUNDS + mkdir ${workdir}/sdcard/taranis-x7/SOUNDS + cp -r ${workdir}/sdcard/horus/SOUNDS ${workdir}/sdcard/taranis-x9/ + cp -r ${workdir}/sdcard/horus/SOUNDS ${workdir}/sdcard/taranis-x7/ + cd ${workdir}/sdcard/horus && zip -r ${output}/sdcard/sdcard-horus-${sdcard_version}.zip * + cd ${workdir}/sdcard/taranis-x9 && zip -r ${output}/sdcard/sdcard-taranis-x9-${sdcard_version}.zip * + cd ${workdir}/sdcard/taranis-x7 && zip -r ${output}/sdcard/sdcard-taranis-x7-${sdcard_version}.zip * + + # Create symlinks for other radios + ln -s ${output}/sdcard/sdcard-taranis-x7-${sdcard_version}.zip ${output}/sdcard/sdcard-taranis-xlite-${sdcard_version}.zip + ln -s ${output}/sdcard/sdcard-taranis-x7-${sdcard_version}.zip ${output}/sdcard/sdcard-taranis-x9lite-${sdcard_version}.zip + ln -s ${output}/sdcard/sdcard-taranis-x7-${sdcard_version}.zip ${output}/sdcard/sdcard-jumper-t12-${sdcard_version}.zip + + # remove LUA stuff for 9x platform + rm -Rf ${workdir}/sdcard/taranis-x7/SCRIPTS + rm -Rf ${workdir}/sdcard/taranis-x7/FrSky-utilities + cd ${workdir}/sdcard/taranis-x7 && zip -r ${output}/sdcard/sdcard-9xarm-${sdcard_version}.zip * + + rm -Rf ${workdir}/sdcard + cp -r ${workdir}/code/radio/sdcard/horus/opentx.sdcard.version ${workdir} +fi diff --git a/tools/rc22/tts.py b/tools/release23/tts.py similarity index 100% rename from tools/rc22/tts.py rename to tools/release23/tts.py diff --git a/tools/rc22/tts_common.py b/tools/release23/tts_common.py similarity index 100% rename from tools/rc22/tts_common.py rename to tools/release23/tts_common.py From 4b2b6b82a65f26f43e0d5cadf4352aa66bc9b0df Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Fri, 27 Sep 2019 11:22:39 +0200 Subject: [PATCH 20/24] Last minute cosmetics... --- radio/src/gui/common/stdlcd/radio_hardware.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/radio/src/gui/common/stdlcd/radio_hardware.cpp b/radio/src/gui/common/stdlcd/radio_hardware.cpp index eb73fbd7a2..a62bd9f08e 100644 --- a/radio/src/gui/common/stdlcd/radio_hardware.cpp +++ b/radio/src/gui/common/stdlcd/radio_hardware.cpp @@ -632,7 +632,10 @@ void menuRadioHardware(event_t event) break; case ITEM_RADIO_BACKUP_EEPROM: - lcdDrawText(LCD_W / 2, y, BUTTON(STR_EEBACKUP), attr | CENTERED); + if (LCD_W < 212) + lcdDrawText(LCD_W / 2, y, BUTTON(STR_EEBACKUP), attr | CENTERED); + else + lcdDrawText(HW_SETTINGS_COLUMN2, y, BUTTON(STR_EEBACKUP), attr); if (attr && event == EVT_KEY_BREAK(KEY_ENTER)) { s_editMode = EDIT_SELECT_FIELD; eepromBackup(); @@ -640,7 +643,10 @@ void menuRadioHardware(event_t event) break; case ITEM_RADIO_FACTORY_RESET: - lcdDrawText(LCD_W / 2, y, BUTTON(STR_FACTORYRESET), attr | CENTERED); + if (LCD_W < 212) + lcdDrawText(LCD_W / 2, y, BUTTON(STR_FACTORYRESET), attr | CENTERED); + else + lcdDrawText(HW_SETTINGS_COLUMN2, y, BUTTON(STR_FACTORYRESET), attr); if (attr && event == EVT_KEY_BREAK(KEY_ENTER)) { s_editMode = EDIT_SELECT_FIELD; POPUP_CONFIRMATION(STR_CONFIRMRESET, onFactoryResetConfirm); From 9319b48f0e4e9d8e1c79179257c93c1ce3d28721 Mon Sep 17 00:00:00 2001 From: 3djc Date: Fri, 27 Sep 2019 13:38:29 +0200 Subject: [PATCH 21/24] Multi last minute fixes --- companion/src/firmwares/multiprotocols.cpp | 2 +- radio/src/gui/128x64/model_setup.cpp | 8 +++++--- radio/src/gui/212x64/model_setup.cpp | 8 +++++--- radio/src/gui/480x272/model_setup.cpp | 4 +++- radio/src/gui/gui_common.cpp | 2 +- 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/companion/src/firmwares/multiprotocols.cpp b/companion/src/firmwares/multiprotocols.cpp index 41f2e83c85..4ad8ba68a2 100644 --- a/companion/src/firmwares/multiprotocols.cpp +++ b/companion/src/firmwares/multiprotocols.cpp @@ -108,7 +108,7 @@ const Multiprotocols multiProtocols { {MODULE_SUBTYPE_MULTI_HITEC, 2, false, STR_SUBTYPE_HITEC, STR_MULTI_RFTUNE}, {MODULE_SUBTYPE_MULTI_BUGS_MINI, 1, false, STR_SUBTYPE_BUGS_MINI, nullptr}, {MODULE_SUBTYPE_MULTI_TRAXXAS, 0, false, STR_SUBTYPE_TRAXXAS, nullptr}, - {MODULE_SUBTYPE_MULTI_E01X, 2, false, STR_SUBTYPE_E01X, nullptr}, + {MODULE_SUBTYPE_MULTI_E01X, 2, false, STR_SUBTYPE_E01X, STR_MULTI_OPTION}, {MODULE_SUBTYPE_MULTI_V911S, 0, false, NO_SUBTYPE, STR_MULTI_RFTUNE}, {MODULE_SUBTYPE_MULTI_GD00X, 1, false, STR_SUBTYPE_GD00X, nullptr}, {MODULE_SUBTYPE_MULTI_KF606, 0, false, NO_SUBTYPE, STR_MULTI_RFTUNE}, diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index b89afc1523..0865f6f957 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -1427,9 +1427,11 @@ void menuModelSetup(event_t event) } else { CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127); - lcdDrawText(MODEL_SETUP_2ND_COLUMN+23, y, "RSSI(", LEFT); - lcdDrawNumber(lcdLastRightPos, y, TELEMETRY_RSSI(), LEFT); - lcdDrawText(lcdLastRightPos, y, ")", LEFT); + if (pdef->optionsstr == STR_MULTI_RFTUNE) { + lcdDrawText(MODEL_SETUP_2ND_COLUMN + 23, y, "RSSI(", LEFT); + lcdDrawNumber(lcdLastRightPos, y, TELEMETRY_RSSI(), LEFT); + lcdDrawText(lcdLastRightPos, y, ")", LEFT); + } } } } diff --git a/radio/src/gui/212x64/model_setup.cpp b/radio/src/gui/212x64/model_setup.cpp index e3a7c66e50..17e250cdad 100644 --- a/radio/src/gui/212x64/model_setup.cpp +++ b/radio/src/gui/212x64/model_setup.cpp @@ -1253,9 +1253,11 @@ void menuModelSetup(event_t event) } else { CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127); - lcdDrawText(MODEL_SETUP_3RD_COLUMN+22, y, "RSSI(", LEFT); - lcdDrawNumber(lcdLastRightPos, y, TELEMETRY_RSSI(), LEFT); - lcdDrawText(lcdLastRightPos, y, ")", LEFT); + if (pdef->optionsstr == STR_MULTI_RFTUNE) { + lcdDrawText(MODEL_SETUP_3RD_COLUMN+22, y, "RSSI(", LEFT); + lcdDrawNumber(lcdLastRightPos, y, TELEMETRY_RSSI(), LEFT); + lcdDrawText(lcdLastRightPos, y, ")", LEFT); + } } } } diff --git a/radio/src/gui/480x272/model_setup.cpp b/radio/src/gui/480x272/model_setup.cpp index 69b9ae6764..216e20dd63 100644 --- a/radio/src/gui/480x272/model_setup.cpp +++ b/radio/src/gui/480x272/model_setup.cpp @@ -1562,7 +1562,9 @@ bool menuModelSetup(event_t event) } else { CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127); - lcdDrawNumber(LCD_W-10, y, TELEMETRY_RSSI(), RIGHT, 0, "RSSI(", ")"); + if (pdef->optionsstr == STR_MULTI_RFTUNE) { + lcdDrawNumber(LCD_W - 10, y, TELEMETRY_RSSI(), RIGHT, 0, "RSSI(", ")"); + } } } } diff --git a/radio/src/gui/gui_common.cpp b/radio/src/gui/gui_common.cpp index 52dc9fd183..4fe9e169c4 100644 --- a/radio/src/gui/gui_common.cpp +++ b/radio/src/gui/gui_common.cpp @@ -842,7 +842,7 @@ const mm_protocol_definition multi_protocols[] = { {MODULE_SUBTYPE_MULTI_HITEC, 2, false, STR_SUBTYPE_HITEC, STR_MULTI_RFTUNE}, {MODULE_SUBTYPE_MULTI_BUGS_MINI, 1, false, STR_SUBTYPE_BUGS_MINI, nullptr}, {MODULE_SUBTYPE_MULTI_TRAXXAS, 0, false, STR_SUBTYPE_TRAXXAS, nullptr}, - {MODULE_SUBTYPE_MULTI_E01X, 2, false, STR_SUBTYPE_E01X, nullptr}, + {MODULE_SUBTYPE_MULTI_E01X, 2, false, STR_SUBTYPE_E01X, STR_MULTI_OPTION}, {MODULE_SUBTYPE_MULTI_V911S, 0, false, NO_SUBTYPE, STR_MULTI_RFTUNE}, {MODULE_SUBTYPE_MULTI_GD00X, 1, false, STR_SUBTYPE_GD00X, STR_MULTI_RFTUNE}, {MODULE_SUBTYPE_MULTI_KF606, 0, false, NO_SUBTYPE, STR_MULTI_RFTUNE}, From 543d1eb2caa91433d7eaaa25b2a8d1487f681418 Mon Sep 17 00:00:00 2001 From: 3djc Date: Fri, 27 Sep 2019 13:49:18 +0200 Subject: [PATCH 22/24] Fixes --- radio/src/targets/taranis/hal.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/radio/src/targets/taranis/hal.h b/radio/src/targets/taranis/hal.h index f98ef983e5..99acd429b3 100644 --- a/radio/src/targets/taranis/hal.h +++ b/radio/src/targets/taranis/hal.h @@ -910,7 +910,11 @@ #if defined(PCBXLITE) #define EXTERNAL_ANTENNA #endif - +#if defined(PCBXLITES) || defined(PCBX9LITE) || (defined(PCBX9DP) && PCBREV >= 2019) + #define INTERNAL_MODULE_PXX2 +#else + #define INTERNAL_MODULE_PXX1 +#endif #if defined(PCBXLITE) || defined(PCBX9LITE) #define INTMODULE_RCC_APB1Periph 0 #define INTMODULE_RCC_APB2Periph RCC_APB2Periph_USART1 From b722eed3b82db2fc447e1515ddafc81d13d75eaf Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Fri, 27 Sep 2019 14:22:21 +0200 Subject: [PATCH 23/24] CREDITS.txt updated --- CREDITS.txt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/CREDITS.txt b/CREDITS.txt index 279e2d8edc..6d16a5ca12 100644 --- a/CREDITS.txt +++ b/CREDITS.txt @@ -1538,3 +1538,23 @@ Johannes Ferschl Piotr Wysocki Thomas Halenbeck (monthly) Sjoerd Dost +Ralph Gustafson +Herbert Feix +Robert Costford +Taavi Tuisk +Carlos Quian +Noah Reinhart +Timothy Fry +Marc Stelzner +NXGRAPHICS +AIR-RC +Nicolas Deshaies +Jean-Francois Delhove +Hugo Daniel Farneti +RC electronic products +Adrian Andrei +Henk van de Kerkhof +Daniel Dubovski +Hans-Georg Böhm +Tiberiu Atudorei +Alessandro Apostoli (Yaapu!) From a6e212555f15f6a023c1d3378a4bdc3112686189 Mon Sep 17 00:00:00 2001 From: Kilrah Date: Fri, 27 Sep 2019 18:00:50 +0200 Subject: [PATCH 24/24] Tell nightly users that release is available for a few days (RC done manually) (cherry picked from commit 09d9906f18ed1e7e9e39d82dac4f5e793bb4b7ab) --- tools/nightly23/build-nightly.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/nightly23/build-nightly.sh b/tools/nightly23/build-nightly.sh index 391f468acc..5e2a165150 100755 --- a/tools/nightly23/build-nightly.sh +++ b/tools/nightly23/build-nightly.sh @@ -36,7 +36,7 @@ docker exec companion sh -c "mkdir -p build && cd build && cmake /opentx/code && cp -f ${workdir}/binaries/stamp-opentx.txt ${output}/firmware # These radios are currently not enabled # echo "#define BLOCK \"x10,x12s\"" >> ${output}/firmware/stamp-opentx.txt -echo "#define ERROR \"MOVE_TO_RC\"" >> ${output}/firmware/stamp-opentx.txt +echo "#define ERROR \"MOVE_TO_RELEASE\"" >> ${output}/firmware/stamp-opentx.txt docker exec companion rm -rf build echo "Check if Linux companion is needed"