diff --git a/companion/src/firmwares/multiprotocols.cpp b/companion/src/firmwares/multiprotocols.cpp index 4dc0f1595..41f2e83c8 100644 --- a/companion/src/firmwares/multiprotocols.cpp +++ b/companion/src/firmwares/multiprotocols.cpp @@ -30,6 +30,7 @@ #define STR_MULTI_RFPOWER QT_TRANSLATE_NOOP("Multiprotocols", "Radio output power") #define STR_MULTI_SERVOFREQ QT_TRANSLATE_NOOP("Multiprotocols", "Servo output frequency") #define STR_MULTI_OPTION QT_TRANSLATE_NOOP("Multiprotocols", "Option value") +#define STR_MULTI_FIXEDID QT_TRANSLATE_NOOP("Multiprotocols", "Fixed ID value") #define STR_MULTI_DEFAULT QT_TRANSLATE_NOOP("Multiprotocols", "DEFAULT") static const QStringList STR_SUBTYPE_CUSTOM ({ @@ -42,6 +43,7 @@ static const QStringList STR_SUBTYPE_FRSKY {"D16", "D8", "D16 8ch", "V8", "D static const QStringList STR_SUBTYPE_HISKY {"Standard", "HK310"}; static const QStringList STR_SUBTYPE_V2X2 {"Standard", "JXD506"}; static const QStringList STR_SUBTYPE_DSM {"DSM2 22ms", "DSM2 11ms", "DSMX 22ms", "DSMX 11ms"}; +static const QStringList STR_SUBTYPE_DEVO {"8 Channel", "10 Channel", "12 Channel", "6 Channel", "7 Channel"}; static const QStringList STR_SUBTYPE_YD717 {"Standard", "Skywalker", "Syma X4", "XINXUN", "NIHUI"}; static const QStringList STR_SUBTYPE_KN {"WLtoys", "FeiLun"}; static const QStringList STR_SUBTYPE_SYMAX {"Standard", "Syma X5C"}; @@ -61,11 +63,14 @@ static const QStringList STR_SUBTYPE_CABELL {"Cabell V3", "Cab V3 Telem", "-" static const QStringList STR_SUBTYPE_H83D {"H8 Mini 3D", "H20H", "H20 Mini", "H30 Mini"}; static const QStringList STR_SUBTYPE_CORONA {"Corona V1", "Corona V2", "Flydream V3"}; static const QStringList STR_SUBTYPE_HITEC {"Optima", "Optima Hub Telem", "Minima"}; +static const QStringList STR_SUBTYPE_TRAXXAS {"6519 RX"}; static const QStringList STR_SUBTYPE_BUGS_MINI {"Standard", "Bugs 3H"}; static const QStringList STR_SUBTYPE_E01X {"E012", "E015", "E016H"}; static const QStringList STR_SUBTYPE_GD00X {"GD V1", "GD V2"}; static const QStringList STR_SUBTYPE_REDPINE {"Fast", "Slow"}; -static const QStringList STR_SUBTYPE_POTENSIC {"A20 Firefly", " - "}; +static const QStringList STR_SUBTYPE_POTENSIC {"A20 Firefly"}; +static const QStringList STR_SUBTYPE_ZSX {"JJRC ZSX-280"}; +static const QStringList STR_SUBTYPE_FLYZONE {"FZ-410 TX"}; static const QStringList NO_SUBTYPE {STR_MULTI_DEFAULT}; @@ -79,6 +84,7 @@ const Multiprotocols multiProtocols { {MODULE_SUBTYPE_MULTI_HISKY, 1, false, STR_SUBTYPE_HISKY, nullptr}, {MODULE_SUBTYPE_MULTI_V2X2, 1, false, STR_SUBTYPE_V2X2, nullptr}, {MODULE_SUBTYPE_MULTI_DSM2, 3, false, STR_SUBTYPE_DSM, nullptr}, + {MODULE_SUBTYPE_MULTI_DEVO, 4, false, STR_SUBTYPE_DEVO, STR_MULTI_FIXEDID}, {MODULE_SUBTYPE_MULTI_YD717, 4, false, STR_SUBTYPE_YD717, nullptr}, {MODULE_SUBTYPE_MULTI_KN, 1, false, STR_SUBTYPE_KN, nullptr}, {MODULE_SUBTYPE_MULTI_SYMAX, 1, false, STR_SUBTYPE_SYMAX, nullptr}, @@ -101,14 +107,15 @@ const Multiprotocols multiProtocols { {MODULE_SUBTYPE_MULTI_CORONA, 2, false, STR_SUBTYPE_CORONA, STR_MULTI_RFTUNE}, {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_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}, {MODULE_SUBTYPE_MULTI_REDPINE, 1, false, STR_SUBTYPE_REDPINE, STR_MULTI_RFTUNE}, - {MODULE_SUBTYPE_MULTI_POTENSIC, 1, false, STR_SUBTYPE_POTENSIC, nullptr}, - {MODULE_SUBTYPE_MULTI_ZSX, 0, false, NO_SUBTYPE, nullptr}, - {MODULE_SUBTYPE_MULTI_FLYZONE, 0, false, NO_SUBTYPE, nullptr}, + {MODULE_SUBTYPE_MULTI_POTENSIC, 0, false, STR_SUBTYPE_POTENSIC, nullptr}, + {MODULE_SUBTYPE_MULTI_ZSX, 0, false, STR_SUBTYPE_ZSX, nullptr}, + {MODULE_SUBTYPE_MULTI_FLYZONE, 0, false, STR_SUBTYPE_FLYZONE, nullptr}, {MM_RF_CUSTOM_SELECTED, 7, true, STR_SUBTYPE_CUSTOM, STR_MULTI_OPTION}, // Sentinel and default for protocols not listed above (MM_RF_CUSTOM is 0xff) @@ -151,7 +158,7 @@ QString Multiprotocols::protocolToString(int protocol, bool custom) "Bayang", "ESky", "MT99XX", "MJXQ", "Shenqi", "FY326", "SFHSS", "J6 PRO","FQ777","Assan","Hontai","Open LRS", "FlySky AFHDS2A", "Q2x2", "Walkera", "Q303", "GW008", "DM002", "Cabell", "ESky 150", "H8 3D", "Corona", "CFlie", "Hitec", "Wfly", "Bugs", "Bugs Mini", "Traxxas", "NCC-1701-A", "E01X", "WL Heli V911S", "GD00X", "Volantex V761", - "KFPlan KF606", "Redpine", "Potensic", "ZXS", "Flyzone" + "KFPlan KF606", "Redpine", "Potensic", "ZXS", "FlyZone" }); if (protocol == MM_RF_CUSTOM_SELECTED || custom) diff --git a/radio/src/gui/gui_common.cpp b/radio/src/gui/gui_common.cpp index d4c028a8b..da8bea59e 100644 --- a/radio/src/gui/gui_common.cpp +++ b/radio/src/gui/gui_common.cpp @@ -784,6 +784,7 @@ const char STR_SUBTYPE_FRSKY[] = "\007""D16\0 ""D8\0 ""D16 8ch""V8\0 const char STR_SUBTYPE_HISKY[] = "\005""Std\0 ""HK310"; const char STR_SUBTYPE_V2X2[] = "\006""Std\0 ""JXD506"; const char STR_SUBTYPE_DSM[] = "\006""2 22ms""2 11ms""X 22ms""X 11ms"; +const char STR_SUBTYPE_DEVO[] = "\004""8ch\0""10ch""12ch""6ch\0""7ch\0"; const char STR_SUBTYPE_YD717[] = "\007""Std\0 ""SkyWlkr""Syma X4""XINXUN\0""NIHUI\0 "; const char STR_SUBTYPE_KN[] = "\006""WLtoys""FeiLun"; const char STR_SUBTYPE_SYMAX[] = "\003""Std""X5C"; @@ -804,10 +805,13 @@ const char STR_SUBTYPE_H83D[] = "\007""Std\0 ""H20H\0 ""H20Mini""H30Min const char STR_SUBTYPE_CORONA[] = "\005""V1\0 ""V2\0 ""FD V3"; const char STR_SUBTYPE_HITEC[] = "\007""Optima\0""Opt Hub""Minima\0"; const char STR_SUBTYPE_BUGS_MINI[] = "\006""Std\0 ""Bugs3H"; +const char STR_SUBTYPE_TRAXXAS[] = "\005"" 6519"; const char STR_SUBTYPE_E01X[] = "\005""E012\0""E015\0""E016H"; const char STR_SUBTYPE_GD00X[] = "\005""GD_V1""GD_V2"; const char STR_SUBTYPE_REDPINE[] = "\004""Fast""Slow"; -const char STR_SUBTYPE_POTENSIC[] = "\003""A20""---"; +const char STR_SUBTYPE_POTENSIC[] = "\004"" A20"; +const char STR_SUBTYPE_ZSX[] = "\007""280JJRC"; +const char STR_SUBTYPE_FLYZONE[] = "\006"" FZ410"; const mm_protocol_definition multi_protocols[] = { @@ -817,6 +821,7 @@ const mm_protocol_definition multi_protocols[] = { {MODULE_SUBTYPE_MULTI_HISKY, 1, false, STR_SUBTYPE_HISKY, nullptr}, {MODULE_SUBTYPE_MULTI_V2X2, 1, false, STR_SUBTYPE_V2X2, nullptr}, {MODULE_SUBTYPE_MULTI_DSM2, 3, false, STR_SUBTYPE_DSM, nullptr}, + {MODULE_SUBTYPE_MULTI_DEVO, 4, false, STR_SUBTYPE_DEVO, STR_MULTI_FIXEDID}, {MODULE_SUBTYPE_MULTI_YD717, 4, false, STR_SUBTYPE_YD717, nullptr}, {MODULE_SUBTYPE_MULTI_KN, 1, false, STR_SUBTYPE_KN, nullptr}, {MODULE_SUBTYPE_MULTI_SYMAX, 1, false, STR_SUBTYPE_SYMAX, nullptr}, @@ -839,12 +844,15 @@ const mm_protocol_definition multi_protocols[] = { {MODULE_SUBTYPE_MULTI_CORONA, 2, false, STR_SUBTYPE_CORONA, STR_MULTI_RFTUNE}, {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_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}, {MODULE_SUBTYPE_MULTI_REDPINE, 1, false, STR_SUBTYPE_REDPINE, STR_MULTI_RFTUNE}, - {MODULE_SUBTYPE_MULTI_POTENSIC, 1, false, STR_SUBTYPE_POTENSIC, nullptr}, + {MODULE_SUBTYPE_MULTI_POTENSIC, 0, false, STR_SUBTYPE_POTENSIC, nullptr}, + {MODULE_SUBTYPE_MULTI_ZSX, 0, false, STR_SUBTYPE_ZSX, nullptr}, + {MODULE_SUBTYPE_MULTI_FLYZONE, 0, false, STR_SUBTYPE_FLYZONE, nullptr}, {MM_RF_CUSTOM_SELECTED, 7, true, NO_SUBTYPE, STR_MULTI_OPTION}, // Sentinel and default for protocols not listed above (MM_RF_CUSTOM is 0xff) diff --git a/radio/src/translations.cpp b/radio/src/translations.cpp index 5c7c72bdf..5cccd7764 100644 --- a/radio/src/translations.cpp +++ b/radio/src/translations.cpp @@ -676,6 +676,7 @@ const char STR_MULTI_RFTUNE[] = TR_MULTI_RFTUNE; const char STR_MULTI_TELEMETRY[] = TR_MULTI_TELEMETRY; const char STR_MULTI_VIDFREQ[] = TR_MULTI_VIDFREQ; const char STR_MULTI_OPTION[] = TR_MULTI_OPTION; +const char STR_MULTI_FIXEDID[] = TR_MULTI_FIXEDID; const char STR_MULTI_AUTOBIND[] = TR_MULTI_AUTOBIND; const char STR_MULTI_DSM_AUTODTECT[] = TR_MULTI_DSM_AUTODTECT; const char STR_MULTI_LOWPOWER[] = TR_MULTI_LOWPOWER; diff --git a/radio/src/translations.h b/radio/src/translations.h index a51fedded..6e384433c 100644 --- a/radio/src/translations.h +++ b/radio/src/translations.h @@ -384,6 +384,7 @@ extern const char STR_GF[]; #if defined(MULTIMODULE) extern const char STR_MULTI_CUSTOM[]; +extern const char STR_MULTI_FIXEDID[]; extern const char STR_MULTI_OPTION[]; extern const char STR_MULTI_VIDFREQ[]; extern const char STR_MULTI_RFTUNE[]; diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index d253bb52a..1b2828a36 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -700,6 +700,7 @@ #define TR_MULTI_TELEMETRY "Telemetrie" #define TR_MULTI_VIDFREQ TR(INDENT "Freq. videa", INDENT "Frekvence videa") #define TR_RFPOWER INDENT "Výkon RF" +#define TR_MULTI_FIXEDID TR("FixedID", "Fixed ID") #define TR_MULTI_OPTION TR(INDENT "Možnosti", INDENT "Hodnota") #define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind při zapnutí") #define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetekce", INDENT "Formát autodetekce") diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index f8abd9eff..fc3b27d38 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -711,6 +711,7 @@ #define TR_MULTI_TELEMETRY "Telemetry" #define TR_MULTI_VIDFREQ TR(INDENT "Vid. Freq.", INDENT "Video Frequenz") #define TR_RFPOWER "RF Power" +#define TR_MULTI_FIXEDID TR("FixedID", "Fixed ID") #define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Optionswert") #define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup") #define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format") diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index 11783de8c..594165722 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -702,6 +702,7 @@ #define TR_MULTI_TELEMETRY "Telemetry" #define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency") #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 powerup") #define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format") diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 30af9cc34..74924c4f1 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -726,6 +726,7 @@ #define TR_MULTI_TELEMETRY "Telemetry" #define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency") #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 powerup") #define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format") diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 8ab2eeca2..f085532d8 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -719,6 +719,7 @@ #define TR_MULTI_TELEMETRY "Telemetry" #define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency") #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 powerup") #define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format") diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 96228acc2..72e7606a2 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -722,6 +722,7 @@ #define TR_MULTI_TELEMETRY "Télémétrie" #define TR_MULTI_VIDFREQ TR(INDENT "Fréq. vidéo", INDENT "Fréquence vidéo") #define TR_RFPOWER TR(INDENT "Puiss. RF", INDENT "Puissance RF") +#define TR_MULTI_FIXEDID TR("FixedID", "Fixed ID") #define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Option perso") #define TR_MULTI_AUTOBIND TR(INDENT "Bind auto", INDENT "Bind automatique") #define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodét.", INDENT "Autodétection") diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index a5812a04b..422d3e43a 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -720,6 +720,7 @@ #define TR_MULTI_TELEMETRY "Telemetry" #define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency") #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 powerup") #define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format") diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index cd94cc308..4c1067616 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -709,6 +709,7 @@ TR_GYR_VSRCRAW #define TR_MULTI_TELEMETRY "Telemetry" #define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency") #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 powerup") #define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format") diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index ac4009108..6282dbf5b 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -720,6 +720,7 @@ #define TR_MULTI_TELEMETRY "Telemetry" #define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency") #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 powerup") #define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format") diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 92d1163d6..c7eb014ce 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -711,6 +711,7 @@ #define TR_MULTI_TELEMETRY "Telemetry" #define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency") #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 powerup") #define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format") diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index d2d9cffb4..e3d34e7ec 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -720,6 +720,7 @@ #define TR_MULTI_TELEMETRY "Telemetry" #define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency") #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 powerup") #define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format") diff --git a/radio/src/translations/untranslated.h b/radio/src/translations/untranslated.h index eec7706d5..d713d2e2e 100644 --- a/radio/src/translations/untranslated.h +++ b/radio/src/translations/untranslated.h @@ -129,5 +129,5 @@ #define LEN_DSM_PROTOCOLS "\004" #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" -#define LEN_MULTI_PROTOCOLS "\007" -#define TR_MULTI_PROTOCOLS "FlySky\0""Hubsan\0""FrSky\0 ""Hisky\0 ""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0 ""KN\0 ""SymaX\0 ""SLT\0 ""CX10\0 ""CG023\0 ""Bayang\0""ESky\0 ""MT99XX\0""MJXq\0 ""Shenqi\0""FY326\0 ""SFHSS\0 ""J6 PRO\0""FQ777\0 ""Assan\0 ""Hontai\0""OpenLrs""FS 2A\0 ""Q2x2\0 ""Walk.\0 ""Q303\0 ""GW008\0 ""DM002\0 ""Cabell\0""Esy150\0""H8 3D\0 ""Corona\0""CFlie\0 ""Hitec\0 ""WFly\0 ""Bugs\0 ""BugMin\0""Traxas\0""NC1701\0""E01X\0 ""V911S\0 ""GD00X\0 ""V761\0 ""KF606\0 ""Redpin\0""Potens\0""ZSX\0 ""Flyzone" +#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""OpnLrs""FS 2A\0""Q2x2\0 ""Walk.\0""Q303\0 ""GW008\0""DM002\0""Cabell""Esy150""H8 3D\0""Corona""CFlie\0""Hitec\0""WFly\0 ""Bugs\0 ""BugMin""Traxas""NC1701""E01X\0 ""V911S\0""GD00X\0""V761\0 ""KF606\0""Redpin""Potens""ZSX\0 ""FlyZon"