From 51d1e6e94a58c1e45ea3430eba45b0d6bd04d8c1 Mon Sep 17 00:00:00 2001 From: Arne Schwabe Date: Wed, 25 Jan 2017 16:23:21 +0100 Subject: [PATCH] Add q303 multi protocols and fix subtype selection on 128x64 ui (#4286) * Multi: add Q303 protocol and variants (CX10D/CX10WD) * Fix subType selection on 128x64 UIs * Fix options display on other radios for custom photo as well --- companion/src/eeprominterface.cpp | 1 + companion/src/modelprinter.cpp | 5 ++++- companion/src/radiodata.h | 3 ++- radio/src/gui/128x64/model_setup.cpp | 4 ++-- radio/src/gui/212x64/model_setup.cpp | 2 +- radio/src/gui/480x272/model_setup.cpp | 6 +++--- radio/src/gui/gui_common_arm.cpp | 2 ++ radio/src/myeeprom.h | 3 ++- radio/src/translations.cpp | 1 + radio/src/translations.h | 10 ++++++---- radio/src/translations/cz.h.txt | 5 ++++- radio/src/translations/de.h.txt | 3 +++ radio/src/translations/en.h.txt | 5 ++++- radio/src/translations/es.h.txt | 5 ++++- radio/src/translations/fi.h.txt | 5 ++++- radio/src/translations/fr.h.txt | 5 ++++- radio/src/translations/it.h.txt | 5 ++++- radio/src/translations/nl.h.txt | 5 ++++- radio/src/translations/pl.h.txt | 5 ++++- radio/src/translations/pt.h.txt | 5 ++++- radio/src/translations/se.h.txt | 5 ++++- 21 files changed, 67 insertions(+), 23 deletions(-) diff --git a/companion/src/eeprominterface.cpp b/companion/src/eeprominterface.cpp index 79cf9e952..2e9e44422 100644 --- a/companion/src/eeprominterface.cpp +++ b/companion/src/eeprominterface.cpp @@ -1857,6 +1857,7 @@ unsigned int getNumSubtypes(MultiModuleRFProtocols type) case MM_RF_PROTO_MT99XX: case MM_RF_PROTO_HONTAI: case MM_RF_PROTO_AFHDS2A: + case MM_RF_PROTO_Q303: return 4; case MM_RF_PROTO_FLYSKY: diff --git a/companion/src/modelprinter.cpp b/companion/src/modelprinter.cpp index fc7db2206..e4216384a 100644 --- a/companion/src/modelprinter.cpp +++ b/companion/src/modelprinter.cpp @@ -131,7 +131,7 @@ QString ModelPrinter::printMultiRfProtocol(int rfProtocol, bool custom) static const char *strings[] = { "FlySky", "Hubsan", "FrSky", "Hisky", "V2x2", "DSM", "Devo", "YD717", "KN", "SymaX", "SLT", "CX10", "CG023", "Bayang", "ESky", "MT99XX", "MJXQ", "Shenqi", "FY326", "SFHSS", "J6 PRO","FQ777","Assan","Hontai","OLRS", - "FlySky AFHDS2A", "Q2x2" + "FlySky AFHDS2A", "Q2x2", "Q303" }; if (custom) return "Custom - proto " + QString::number(rfProtocol); @@ -161,6 +161,7 @@ QString ModelPrinter::printMultiSubType(int rfProtocol, bool custom, int subType static const char *afhds2a_strings[] = {"PWM and IBUS", "PPM and IBUS", "PWM and SBUS", "PPM and SBUS"}; static const char *q2x2_strings[] = {"Q222", "Q242", "Q282"}; static const char *walkera_wk2x01_strings[] = {"WK2801", "WK2401", "W6_5_1", "W6_6_1", "W6_HEL", "W6_HEL_I"}; + static const char *q303_strings[] = { "Q303", "CX35", "CX10D", "CX10WD"}; if (custom) return CHECK_IN_ARRAY(custom_subtype_strings, subType); @@ -204,6 +205,8 @@ QString ModelPrinter::printMultiSubType(int rfProtocol, bool custom, int subType return CHECK_IN_ARRAY(q2x2_strings, subType); case MM_RF_PROTO_WK_2X01: return CHECK_IN_ARRAY(walkera_wk2x01_strings, subType); + case MM_RF_PROTO_Q303: + return CHECK_IN_ARRAY(q303_strings, subType); default: return "DEFAULT"; } diff --git a/companion/src/radiodata.h b/companion/src/radiodata.h index 04f3e5f67..36b003362 100644 --- a/companion/src/radiodata.h +++ b/companion/src/radiodata.h @@ -794,7 +794,8 @@ enum MultiModuleRFProtocols { MM_RF_PROTO_AFHDS2A, MM_RF_PROTO_Q2X2, MM_RF_PROTO_WK_2X01, - MM_RF_PROTO_LAST=MM_RF_PROTO_WK_2X01 + MM_RF_PROTO_Q303, + MM_RF_PROTO_LAST=MM_RF_PROTO_Q303 }; unsigned int getNumSubtypes(MultiModuleRFProtocols type); diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index c67fa9996..edeebbc5d 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -665,7 +665,7 @@ void menuModelSetup(event_t event) g_model.moduleData[EXTERNAL_MODULE].setMultiProtocol(checkIncDec(event, g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(false), 0, 63, EE_MODEL)); else if (pdef->maxSubtype > 0) CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, pdef->maxSubtype); - + break; case 1: // Custom protocol, third column is subtype CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 7); @@ -859,7 +859,7 @@ void menuModelSetup(event_t event) else if (IS_MODULE_MULTIMODULE(moduleIdx)) { int optionValue = g_model.moduleData[moduleIdx].multi.optionValue; - const uint8_t multi_proto = g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(false); + const uint8_t multi_proto = g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true); const mm_protocol_definition* pdef = getMultiProtocolDefinition(multi_proto); if (pdef->optionsstr) lcdDrawTextAlignedLeft(y, pdef->optionsstr); diff --git a/radio/src/gui/212x64/model_setup.cpp b/radio/src/gui/212x64/model_setup.cpp index 389eb4bc3..544a02e3e 100644 --- a/radio/src/gui/212x64/model_setup.cpp +++ b/radio/src/gui/212x64/model_setup.cpp @@ -936,7 +936,7 @@ void menuModelSetup(event_t event) else if (IS_MODULE_MULTIMODULE(moduleIdx)) { int optionValue = g_model.moduleData[moduleIdx].multi.optionValue; - const uint8_t multi_proto = g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(false); + const uint8_t multi_proto = g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true); const mm_protocol_definition* pdef = getMultiProtocolDefinition(multi_proto); if (pdef->optionsstr) lcdDrawTextAlignedLeft(y, pdef->optionsstr); diff --git a/radio/src/gui/480x272/model_setup.cpp b/radio/src/gui/480x272/model_setup.cpp index 9a41b74a0..4f577e9a5 100644 --- a/radio/src/gui/480x272/model_setup.cpp +++ b/radio/src/gui/480x272/model_setup.cpp @@ -847,7 +847,7 @@ bool menuModelSetup(event_t event) else if (IS_MODULE_MULTIMODULE(moduleIdx)) { int optionValue = g_model.moduleData[moduleIdx].multi.optionValue; - const uint8_t multi_proto = g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(false); + const uint8_t multi_proto = g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true); const mm_protocol_definition* pdef = getMultiProtocolDefinition(multi_proto); if (pdef->optionsstr) lcdDrawText(MENUS_MARGIN_LEFT, y, pdef->optionsstr); @@ -857,9 +857,9 @@ bool menuModelSetup(event_t event) lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, optionValue, LEFT | attr); if (attr) { - if (g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true) == MM_RF_PROTO_FS_AFHDS2A) { + if (multi_proto == MM_RF_PROTO_FS_AFHDS2A) { CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, 0, 70); - } else if (g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true) == MM_RF_PROTO_OLRS) { + } else if (multi_proto == MM_RF_PROTO_OLRS) { CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -1, 7); } else { CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127); diff --git a/radio/src/gui/gui_common_arm.cpp b/radio/src/gui/gui_common_arm.cpp index fbf44c18a..6e98fd174 100644 --- a/radio/src/gui/gui_common_arm.cpp +++ b/radio/src/gui/gui_common_arm.cpp @@ -595,6 +595,7 @@ int getFirstAvailable(int min, int max, IsValueAvailable isValueAvailable) return retval; } #if defined(MULTIMODULE) +// Third row is number of subtypes -1 (max valid subtype) const mm_protocol_definition multi_protocols[] = { { MM_RF_PROTO_FLYSKY, STR_SUBTYPE_FLYSKY, 4, nullptr }, { MM_RF_PROTO_HUBSAN, nullptr, 0, STR_MULTI_VIDFREQ }, @@ -618,6 +619,7 @@ const mm_protocol_definition multi_protocols[] = { { MM_RF_PROTO_FS_AFHDS2A, STR_SUBTYPE_AFHDS2A, 3, STR_MULTI_SERVOFREQ }, { MM_RF_PROTO_Q2X2, STR_SUBTYPE_Q2X2, 1, nullptr }, { MM_RF_PROTO_WK_2X01, STR_SUBTYPE_WK2x01, 5, nullptr }, + { MM_RF_PROTO_Q303, STR_SUBTYPE_Q303, 3, nullptr }, { MM_RF_CUSTOM_SELECTED, nullptr, 7, STR_MULTI_OPTION }, //Sential and default for protocols not listed above (MM_RF_CUSTOM is 0xff() diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index 2b3f0856f..529370438 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -530,7 +530,8 @@ enum MultiModuleRFProtocols { MM_RF_PROTO_FS_AFHDS2A, MM_RF_PROTO_Q2X2, MM_RF_PROTO_WK_2X01, - MM_RF_PROTO_LAST= MM_RF_PROTO_WK_2X01 + MM_RF_PROTO_Q303, + MM_RF_PROTO_LAST= MM_RF_PROTO_Q303 }; enum MMDSM2Subtypes { diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 4d26cdfe5..19e52d427 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -127,6 +127,7 @@ const pm_char STR_OPEN9X[] PROGMEM = ISTR(SUBTYPE_HONTAI) ISTR(SUBTYPE_AFHDS2A) ISTR(SUBTYPE_Q2X2) + ISTR(SUBTYPE_Q303) ISTR(SUBTYPE_WK2x01) ISTR(SUBTYPE_V2X2) ISTR(SUBTYPE_BAYANG) diff --git a/radio/src/translations.h b/radio/src/translations.h index 28e4d3e80..1e636fea0 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -228,8 +228,9 @@ extern const pm_char STR_OPEN9X[]; #define OFS_SUBTYPE_HONTAI (OFS_SUBTYPE_MJXQ + sizeof(TR_SUBTYPE_MJXQ)) #define OFS_SUBTYPE_AFHDS2A (OFS_SUBTYPE_HONTAI + sizeof(TR_SUBTYPE_HONTAI)) #define OFS_SUBTYPE_Q2X2 (OFS_SUBTYPE_AFHDS2A + sizeof(TR_SUBTYPE_AFHDS2A)) - #define OFS_SUBTYPE_WK2x01 (OFS_SUBTYPE_Q2X2 + sizeof(TR_SUBTYPE_Q2X2)) - #define OFS_SUBTYPE_V2X2 (OFS_SUBTYPE_WK2x01 + sizeof(TR_SUBTYPE_WK2x01)) + #define OFS_SUBTYPE_Q303 (OFS_SUBTYPE_Q2X2 + sizeof(TR_SUBTYPE_Q2X2)) + #define OFS_SUBTYPE_WK2x01 (OFS_SUBTYPE_Q303 + sizeof(TR_SUBTYPE_Q303)) + #define OFS_SUBTYPE_V2X2 (OFS_SUBTYPE_WK2x01 + sizeof(TR_SUBTYPE_WK2x01)) #define OFS_SUBTYPE_BAYANG (OFS_SUBTYPE_V2X2 + sizeof(TR_SUBTYPE_V2X2)) #define OFS_SUBTYPE_FY326 (OFS_SUBTYPE_BAYANG + sizeof(TR_SUBTYPE_BAYANG)) #define OFS_VOLTSRC (OFS_SUBTYPE_FY326 + sizeof(TR_SUBTYPE_FY326)) @@ -369,7 +370,8 @@ extern const pm_char STR_OPEN9X[]; #define STR_SUBTYPE_HONTAI (STR_OPEN9X + OFS_SUBTYPE_HONTAI) #define STR_SUBTYPE_AFHDS2A (STR_OPEN9X + OFS_SUBTYPE_AFHDS2A) #define STR_SUBTYPE_Q2X2 (STR_OPEN9X + OFS_SUBTYPE_Q2X2) - #define STR_SUBTYPE_WK2x01 (STR_OPEN9X + OFS_SUBTYPE_WK2x01) + #define STR_SUBTYPE_Q303 (STR_OPEN9X + OFS_SUBTYPE_Q303) + #define STR_SUBTYPE_WK2x01 (STR_OPEN9X + OFS_SUBTYPE_WK2x01) #define STR_SUBTYPE_V2X2 (STR_OPEN9X + OFS_SUBTYPE_V2X2) #define STR_SUBTYPE_BAYANG (STR_OPEN9X + OFS_SUBTYPE_BAYANG) #define STR_SUBTYPE_FY326 (STR_OPEN9X + OFS_SUBTYPE_FY326) @@ -614,7 +616,7 @@ extern const pm_char STR_MULTI_OPTION[]; extern const pm_char STR_MULTI_VIDFREQ[]; extern const pm_char STR_MULTI_RFPOWER[]; extern const pm_char STR_MULTI_RFTUNE[]; -extern const pm_char STR_MULTI_TELEMETRY[]; +extern const pm_char STR_MULTI_TELEMETRY[]; extern const pm_char STR_MULTI_AUTOBIND[]; extern const pm_char STR_MULTI_DSM_AUTODTECT[]; extern const pm_char STR_MULTI_LOWPOWER[]; diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index 359f6062b..090bc608b 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -107,7 +107,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OLRS\0 ""FS 2A\0""Q2x2\0 ""Walk.\0" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OLRS\0 ""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 " #define TR_MULTI_CUSTOM "Custom" @@ -159,6 +159,9 @@ #define LEN_SUBTYPE_WK2x01 "\006" #define TR_SUBTYPE_WK2x01 "WK2801""WK2401""W6_5_1""W6_6_1""W6_Hel""W6_HeI" +#define LEN_SUBTYPE_Q303 "\006" +#define TR_SUBTYPE_Q303 "Q303\0 ""CX35\0 ""CX10D\0""CX10WD" + #define LEN_SUBTYPE_V2X2 "\006" #define TR_SUBTYPE_V2X2 "V2x2\0 ""JXD506" diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index 53870ee6e..006237682 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -164,6 +164,9 @@ #define LEN_SUBTYPE_WK2x01 "\006" #define TR_SUBTYPE_WK2x01 "WK2801""WK2401""W6_5_1""W6_6_1""W6_Hel""W6_HeI" +#define LEN_SUBTYPE_Q303 "\006" +#define TR_SUBTYPE_Q303 "Q303\0 ""CX35\0 ""CX10D\0""CX10WD" + #define LEN_SUBTYPE_V2X2 "\006" #define TR_SUBTYPE_V2X2 "V2x2\0 ""JXD506" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index b0d6b0686..6f6106500 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -111,7 +111,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OLRS\0 ""FS 2A\0""Q2x2\0 ""Walk.\0" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OLRS\0 ""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 " #define TR_MULTI_CUSTOM "Custom" @@ -160,6 +160,9 @@ #define LEN_SUBTYPE_Q2X2 "\004" #define TR_SUBTYPE_Q2X2 "Q222""Q242""Q282" +#define LEN_SUBTYPE_Q303 "\006" +#define TR_SUBTYPE_Q303 "Q303\0 ""CX35\0 ""CX10D\0""CX10WD" + #define LEN_SUBTYPE_WK2x01 "\006" #define TR_SUBTYPE_WK2x01 "WK2801""WK2401""W6_5_1""W6_6_1""W6_Hel""W6_HeI" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index a95c42f9b..6b0f6bcfe 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -107,7 +107,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OLRS\0 ""FS 2A\0""Q2x2\0 ""Walk.\0"" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OLRS\0 ""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 "" #define TR_MULTI_CUSTOM "Custom" @@ -159,6 +159,9 @@ #define LEN_SUBTYPE_WK2x01 "\006" #define TR_SUBTYPE_WK2x01 "WK2801""WK2401""W6_5_1""W6_6_1""W6_Hel""W6_HeI" +#define LEN_SUBTYPE_Q303 "\006" +#define TR_SUBTYPE_Q303 "Q303\0 ""CX35\0 ""CX10D\0""CX10WD" + #define LEN_SUBTYPE_V2X2 "\006" #define TR_SUBTYPE_V2X2 "V2x2\0 ""JXD506" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 25a8b04db..9a6e75d2d 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -107,7 +107,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OLRS\0 ""FS 2A\0""Q2x2\0 ""Walk.\0" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OLRS\0 ""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 " #define TR_MULTI_CUSTOM "Custom" @@ -159,6 +159,9 @@ #define LEN_SUBTYPE_WK2x01 "\006" #define TR_SUBTYPE_WK2x01 "WK2801""WK2401""W6_5_1""W6_6_1""W6_Hel""W6_HeI" +#define LEN_SUBTYPE_Q303 "\006" +#define TR_SUBTYPE_Q303 "Q303\0 ""CX35\0 ""CX10D\0""CX10WD" + #define LEN_SUBTYPE_V2X2 "\006" #define TR_SUBTYPE_V2X2 "V2x2\0 ""JXD506" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 0a4939d6d..e44d3fc9a 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -107,7 +107,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OLRS\0 ""FS 2A\0""Q2x2\0 ""Walk.\0" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OLRS\0 ""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 " #define TR_MULTI_CUSTOM "Perso" @@ -159,6 +159,9 @@ #define LEN_SUBTYPE_WK2x01 "\006" #define TR_SUBTYPE_WK2x01 "WK2801""WK2401""W6_5_1""W6_6_1""W6_Hel""W6_HeI" +#define LEN_SUBTYPE_Q303 "\006" +#define TR_SUBTYPE_Q303 "Q303\0 ""CX35\0 ""CX10D\0""CX10WD" + #define LEN_SUBTYPE_V2X2 "\006" #define TR_SUBTYPE_V2X2 "V2x2\0 ""JXD506" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 70af521b8..07d434703 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -107,7 +107,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OLRS\0 ""FS 2A\0""Q2x2\0 ""Walk.\0" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OLRS\0 ""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 " #define TR_MULTI_CUSTOM "Custom" @@ -159,6 +159,9 @@ #define LEN_SUBTYPE_WK2x01 "\006" #define TR_SUBTYPE_WK2x01 "WK2801""WK2401""W6_5_1""W6_6_1""W6_Hel""W6_HeI" +#define LEN_SUBTYPE_Q303 "\006" +#define TR_SUBTYPE_Q303 "Q303\0 ""CX35\0 ""CX10D\0""CX10WD" + #define LEN_SUBTYPE_V2X2 "\006" #define TR_SUBTYPE_V2X2 "V2x2\0 ""JXD506" diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index 7161aa4d3..fdc526d4a 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -112,7 +112,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OLRS\0 ""FS 2A\0""Q2x2\0 ""Walk.\0" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OLRS\0 ""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 " #define TR_MULTI_CUSTOM "Custom" @@ -164,6 +164,9 @@ #define LEN_SUBTYPE_WK2x01 "\006" #define TR_SUBTYPE_WK2x01 "WK2801""WK2401""W6_5_1""W6_6_1""W6_Hel""W6_HeI" +#define LEN_SUBTYPE_Q303 "\006" +#define TR_SUBTYPE_Q303 "Q303\0 ""CX35\0 ""CX10D\0""CX10WD" + #define LEN_SUBTYPE_V2X2 "\006" #define TR_SUBTYPE_V2X2 "V2x2\0 ""JXD506" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 610b61345..ddb7c42a7 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -108,7 +108,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OLRS\0 ""FS 2A\0""Q2x2\0 ""Walk.\0" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OLRS\0 ""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 " #define TR_MULTI_CUSTOM "Custom" @@ -160,6 +160,9 @@ #define LEN_SUBTYPE_WK2x01 "\006" #define TR_SUBTYPE_WK2x01 "WK2801""WK2401""W6_5_1""W6_6_1""W6_Hel""W6_HeI" +#define LEN_SUBTYPE_Q303 "\006" +#define TR_SUBTYPE_Q303 "Q303\0 ""CX35\0 ""CX10D\0""CX10WD" + #define LEN_SUBTYPE_V2X2 "\006" #define TR_SUBTYPE_V2X2 "V2x2\0 ""JXD506" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 699c0efea..57db4b204 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -107,7 +107,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OLRS\0 ""FS 2A\0""Q2x2\0 ""Walk.\0" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OLRS\0 ""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 " #define TR_MULTI_CUSTOM "Custom" @@ -160,6 +160,9 @@ #define LEN_SUBTYPE_WK2x01 "\006" #define TR_SUBTYPE_WK2x01 "WK2801""WK2401""W6_5_1""W6_6_1""W6_Hel""W6_HeI" +#define LEN_SUBTYPE_Q303 "\006" +#define TR_SUBTYPE_Q303 "Q303\0 ""CX35\0 ""CX10D\0""CX10WD" + #define LEN_SUBTYPE_V2X2 "\006" #define TR_SUBTYPE_V2X2 "V2x2\0 ""JXD506" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index ea21083fb..ba6b54ab3 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -107,7 +107,7 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OLRS\0 ""FS 2A\0""Q2x2\0 ""Walk.\0" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0""KN\0 ""SymaX\0""SLT\0 ""CX10\0 ""CG023\0""Bayang""ESky\0 ""MT99XX""MJXQ\0 ""Shenqi""FY326\0""SFHSS\0""J6 PRO""FQ777\0""Assan\0""Hontai""OLRS\0 ""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 " #define TR_MULTI_CUSTOM "Custom" @@ -159,6 +159,9 @@ #define LEN_SUBTYPE_WK2x01 "\006" #define TR_SUBTYPE_WK2x01 "WK2801""WK2401""W6_5_1""W6_6_1""W6_Hel""W6_HeI" +#define LEN_SUBTYPE_Q303 "\006" +#define TR_SUBTYPE_Q303 "Q303\0 ""CX35\0 ""CX10D\0""CX10WD" + #define LEN_SUBTYPE_V2X2 "\006" #define TR_SUBTYPE_V2X2 "V2x2\0 ""JXD506"