diff --git a/companion/src/CMakeLists.txt b/companion/src/CMakeLists.txt index 8c3e7f202..03a417961 100644 --- a/companion/src/CMakeLists.txt +++ b/companion/src/CMakeLists.txt @@ -6,6 +6,9 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") else(${CMAKE_SYSTEM_NAME} MATCHES "Linux") set(COMPANION_NAME "companion") set(SIMULATOR_NAME "simulator") + if(APPLE) + set(SIMULATOR_LIB_PATH ${CMAKE_INSTALL_PREFIX}/Contents/companion.app/Ressources) + endif() endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") option(ALLOW_NIGHTLY_BUILDS "Allow nightly builds download / update") # Disabled by default @@ -264,7 +267,11 @@ target_link_libraries(${SIMULATOR_NAME} PRIVATE simulation common qxtcommandopti ############# Packaging #################### message(STATUS ${CMAKE_BINARY_DIR} ${CMAKE_INSTALL_PREFIX}/bin) -if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") +if(APPLE) + install(DIRECTORY ${CMAKE_BINARY_DIR}/ DESTINATION ${SIMULATOR_LIB_PATH} USE_SOURCE_PERMISSIONS + FILES_MATCHING PATTERN "libopentx-*.dylib" + ) +elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") install(TARGETS ${COMPANION_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) install(TARGETS ${SIMULATOR_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) install(DIRECTORY ${CMAKE_BINARY_DIR}/ DESTINATION ${SIMULATOR_LIB_PATH} USE_SOURCE_PERMISSIONS @@ -348,6 +355,9 @@ endif() if(APPLE) set(MACOSX_BUNDLE_ICON_FILE iconmac.icns) + SET_SOURCE_FILES_PROPERTIES(${PROJECT_SOURCE_DIR}/images/${MACOSX_BUNDLE_ICON_FILE} PROPERTIES MACOSX_PACKAGE_LOCATION Resources) + set(${COMPANION_SOURCES} ${COMPANION_SOURCES} ${PROJECT_SOURCE_DIR}/images/${MACOSX_BUNDLE_ICON_FILE}) + if(CMAKE_GENERATOR STREQUAL Xcode) set(WORK_DIR ${CMAKE_BINARY_DIR}/Debug) else() @@ -393,6 +403,15 @@ string(TOLOWER "${CPACK_PACKAGE_NAME}" CPACK_PACKAGE_NAME_LOWERCASE) # very poor trace-backs from the users when they report Companion crash set(CPACK_STRIP_FILES FALSE) +INSTALL(TARGETS ${COMPANION_NAME} + BUNDLE DESTINATION . COMPONENT Runtime + RUNTIME DESTINATION bin COMPONENT Runtime + ) + + +# directories to look for dependencies +SET(DIRS ${QT_LIBRARY_DIRS}) + find_program(DPKG_PROGRAM dpkg DOC "dpkg program of Debian-based systems") if(DPKG_PROGRAM) set(CPACK_GENERATOR "DEB") @@ -408,6 +427,14 @@ if(DPKG_PROGRAM) set(CPACK_DEBIAN_PACKAGE_VERSION_MINOR ${VERSION_MINOR}) set(CPACK_DEBIAN_ARCHITECTURE $(CMAKE_SYSTEM_PROCESSOR)) set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON) +elseif(APPLE) + set(APPS "${COMPANION_NAME}.app") + set(CPACK_GENERATOR "DragNDrop") + set(CPACK_BINARY_DRAGNDROP ON) + set(CPACK_DMG_BACKGROUND_IMAGE ${COMPANION_SRC_DIRECTORY}/images/dmg_background.png) + set(CPACK_DMG_VOLUME_NAME "OpenTX Companion") + set(CPACK_DMG_DS_STORE ${PROJECT_SOURCE_DIR}/companion/targets/mac/DS_Store) + else(DPKG_PROGRAM) set(CPACK_GENERATOR "RPM") set(CPACK_RPM_PACKAGE_VERSION ${VERSION}) @@ -416,4 +443,11 @@ else(DPKG_PROGRAM) SET(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "/lib /lib/udev /lib/udev/rules.d") endif(DPKG_PROGRAM) +INSTALL(CODE " + include(BundleUtilities) + " COMPONENT Runtime + VERIFY_APP(${COMPANION_NAME}) + ) + + include(CPack) diff --git a/companion/src/eeprominterface.cpp b/companion/src/eeprominterface.cpp index 8ff58eb7b..fc7249db4 100644 --- a/companion/src/eeprominterface.cpp +++ b/companion/src/eeprominterface.cpp @@ -1870,9 +1870,9 @@ unsigned int getNumSubtypes(MultiModuleRFProtocols type) { return 3; case MM_RF_PROTO_FLYSKY: - case MM_RF_PROTO_MJXQ: return 4; + case MM_RF_PROTO_MJXQ: case MM_RF_PROTO_YD717: return 5; diff --git a/companion/src/modelprinter.cpp b/companion/src/modelprinter.cpp index aea195c24..6d1205d53 100644 --- a/companion/src/modelprinter.cpp +++ b/companion/src/modelprinter.cpp @@ -121,7 +121,7 @@ QString ModelPrinter::printMultiSubType(int rfProtocol, int subType) { /* custom protocols */ static const char *custom_subtype_strings[] = {"Subtype 0","Subtype 1","Subtype 2","Subtype 3","Subtype 4","Subtype 5","Subtype 6","Subtype 7"}; static const char *flysky_strings[] = {"Standard","V9x9","V6x6","V912"}; - static const char *frsky_strings[] = {"D16", "D8", "D16 8ch"}; + static const char *frsky_strings[] = {"D16", "D8", "D16 8ch", "LR12"}; static const char *hisky_strings[] = { "HiSky", "HK310" }; static const char *dsm2_strings[] = {"DSM2", "DSMX"}; static const char *yd717_strings[] = {"YD717", "Skywalker", "Syma X2", "XINXUN", "NIHUI"}; @@ -130,7 +130,7 @@ QString ModelPrinter::printMultiSubType(int rfProtocol, int subType) { static const char *cg023_strings[] = {"CG023", "YD829", "H3 3D"}; static const char* kn_strings[] = {"WLtoys", "FeiLun"}; static const char* mt99_strings[] = {"MT99","H7","YZ"}; - static const char* mjxq_strings[] = {"WLH08", "X600", "X800", "H26D"}; + static const char* mjxq_strings[] = {"WLH08", "X600", "X800", "H26D", "E010"}; if (rfProtocol >= MM_RF_PROTO_CUSTOM) { return CHECK_IN_ARRAY(custom_subtype_strings, subType); diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index dee99f203..2e071418d 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -632,9 +632,9 @@ void menuModelSetup(event_t event) g_model.moduleData[EXTERNAL_MODULE].multi.rfProtocol = MM_RF_PROTO_LAST-1; } g_model.moduleData[EXTERNAL_MODULE].subType = 0; - // Sensible default for DSM2 (same as for ppm): 6ch@11ms + // Sensible default for DSM2 (same as for ppm): 6ch@22ms if (g_model.moduleData[EXTERNAL_MODULE].multi.rfProtocol == MM_RF_PROTO_DSM2) - g_model.moduleData[EXTERNAL_MODULE].multi.optionValue = MM_RF_DSM2_11MS_6CH_OPTION; + g_model.moduleData[EXTERNAL_MODULE].multi.optionValue = MM_RF_DSM2_22MS_6CH_OPTION; else g_model.moduleData[EXTERNAL_MODULE].multi.optionValue = 0; } @@ -707,14 +707,14 @@ void menuModelSetup(event_t event) CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 1); break; case MM_RF_PROTO_CG023: - case MM_RF_PROTO_FRSKY: CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 2); break; case MM_RF_PROTO_FLYSKY: + case MM_RF_PROTO_FRSKY: case MM_RF_PROTO_MT99XX: - case MM_RF_PROTO_MJXQ: CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 3); break; + case MM_RF_PROTO_MJXQ: case MM_RF_PROTO_YD717: CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 4); break; diff --git a/radio/src/gui/212x64/model_setup.cpp b/radio/src/gui/212x64/model_setup.cpp index dd1037392..6849e8ac0 100644 --- a/radio/src/gui/212x64/model_setup.cpp +++ b/radio/src/gui/212x64/model_setup.cpp @@ -782,9 +782,9 @@ void menuModelSetup(event_t event) g_model.moduleData[EXTERNAL_MODULE].multi.rfProtocol = MM_RF_PROTO_LAST-1; } g_model.moduleData[EXTERNAL_MODULE].subType = 0; - // Sensible default for DSM2 (same as for ppm): 6ch@11ms + // Sensible default for DSM2 (same as for ppm): 6ch@22ms if (g_model.moduleData[EXTERNAL_MODULE].multi.rfProtocol == MM_RF_PROTO_DSM2) - g_model.moduleData[EXTERNAL_MODULE].multi.optionValue = MM_RF_DSM2_11MS_6CH_OPTION; + g_model.moduleData[EXTERNAL_MODULE].multi.optionValue = MM_RF_DSM2_22MS_6CH_OPTION; else g_model.moduleData[EXTERNAL_MODULE].multi.optionValue = 0; } @@ -808,14 +808,14 @@ void menuModelSetup(event_t event) CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 1); break; case MM_RF_PROTO_CG023: - case MM_RF_PROTO_FRSKY: CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 2); break; case MM_RF_PROTO_FLYSKY: case MM_RF_PROTO_MT99XX: - case MM_RF_PROTO_MJXQ: + case MM_RF_PROTO_FRSKY: CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 3); break; + case MM_RF_PROTO_MJXQ: case MM_RF_PROTO_YD717: CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 4); break; diff --git a/radio/src/gui/480x272/model_setup.cpp b/radio/src/gui/480x272/model_setup.cpp index 38a9366b0..013ed8112 100644 --- a/radio/src/gui/480x272/model_setup.cpp +++ b/radio/src/gui/480x272/model_setup.cpp @@ -665,9 +665,9 @@ bool menuModelSetup(event_t event) g_model.moduleData[EXTERNAL_MODULE].multi.rfProtocol = MM_RF_PROTO_LAST-1; } g_model.moduleData[EXTERNAL_MODULE].subType = 0; - // Sensible default for DSM2 (same as for ppm): 6ch@11ms + // Sensible default for DSM2 (same as for ppm): 6ch@22ms if (g_model.moduleData[EXTERNAL_MODULE].multi.rfProtocol == MM_RF_PROTO_DSM2) - g_model.moduleData[EXTERNAL_MODULE].multi.optionValue = MM_RF_DSM2_11MS_6CH_OPTION; + g_model.moduleData[EXTERNAL_MODULE].multi.optionValue = MM_RF_DSM2_22MS_6CH_OPTION; else g_model.moduleData[EXTERNAL_MODULE].multi.optionValue = 0; } @@ -690,14 +690,14 @@ bool menuModelSetup(event_t event) CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 1); break; case MM_RF_PROTO_CG023: - case MM_RF_PROTO_FRSKY: CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 2); break; case MM_RF_PROTO_FLYSKY: + case MM_RF_PROTO_FRSKY: case MM_RF_PROTO_MT99XX: - case MM_RF_PROTO_MJXQ: CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 3); break; + case MM_RF_PROTO_MJXQ: case MM_RF_PROTO_YD717: CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 4); break; diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index 192a83644..0c2160afc 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -527,11 +527,17 @@ enum MultiModuleRFProtocols { MM_RF_PROTO_SFHSS, MM_RF_PROTO_J6PRO, MM_RF_PROTO_FQ777, + MM_RF_PROTO_ASSAN, MM_RF_PROTO_CUSTOM, MM_RF_PROTO_LAST= MM_RF_PROTO_CUSTOM }; -#define MM_RF_DSM2_11MS_6CH_OPTION 6 +#define MM_RF_DSM2_22MS_6CH_OPTION 2 + +#define MM_RF_FRSKY_SUBTYPE_D16 0 +#define MM_RF_FRSKY_SUBTYPE_D8 1 +#define MM_RF_FRSKY_SUBTYPE_D16_8CH 2 +#define MM_RF_FRSKY_SUBTYPE_V8 3 #define HAS_RF_PROTOCOL_FAILSAFE(rf) ((rf) == RF_PROTO_X16) #define HAS_RF_PROTOCOL_MODELINDEX(rf) (((rf) == RF_PROTO_X16) || ((rf) == RF_PROTO_LR12)) diff --git a/radio/src/pulses/multi_arm.cpp b/radio/src/pulses/multi_arm.cpp index ef389fa5e..00d4cd125 100644 --- a/radio/src/pulses/multi_arm.cpp +++ b/radio/src/pulses/multi_arm.cpp @@ -131,14 +131,22 @@ void setupPulsesMultimodule(uint8_t port) if (type >= 15) type = type + 1; + // 23 is again a FrSky protocol so shift again + if (type >= 23) + type = type + 1; + if (g_model.moduleData[port].multi.rfProtocol == MM_RF_PROTO_FRSKY) { - if(subtype == 1) { + if(subtype == MM_RF_FRSKY_SUBTYPE_D8) { //D8 type = 3; subtype = 0; + } else if (subtype == MM_RF_FRSKY_SUBTYPE_V8) { + //V8 + type = 25; + subtype = 0; } else { type = 15; - if (subtype == 2) // D16 8ch + if (subtype == MM_RF_FRSKY_SUBTYPE_D16_8CH) // D16 8ch subtype = 1; else subtype = 0; // D16 diff --git a/radio/src/telemetry/telemetry.h b/radio/src/telemetry/telemetry.h index cc582619b..e19bdeb8a 100644 --- a/radio/src/telemetry/telemetry.h +++ b/radio/src/telemetry/telemetry.h @@ -149,11 +149,11 @@ inline uint8_t modelTelemetryProtocol() if (g_model.moduleData[INTERNAL_MODULE].rfProtocol == RF_PROTO_OFF && g_model.moduleData[EXTERNAL_MODULE].type == MODULE_TYPE_MULTIMODULE) { if (g_model.moduleData[EXTERNAL_MODULE].multi.rfProtocol == MM_RF_PROTO_DSM2) return PROTOCOL_SPEKTRUM; - else if ((g_model.moduleData[EXTERNAL_MODULE].multi.rfProtocol == MM_RF_PROTO_FRSKY) && (g_model.moduleData[EXTERNAL_MODULE].subType == 1)) - // D8 - return PROTOCOL_FRSKY_D; - else + else if ((g_model.moduleData[EXTERNAL_MODULE].multi.rfProtocol == MM_RF_PROTO_FRSKY) && + (g_model.moduleData[EXTERNAL_MODULE].subType == MM_RF_FRSKY_SUBTYPE_D16 || g_model.moduleData[EXTERNAL_MODULE].subType == MM_RF_FRSKY_SUBTYPE_D16_8CH)) return PROTOCOL_FRSKY_SPORT; + else + return PROTOCOL_FRSKY_D; } #endif diff --git a/radio/src/translations/cz.h.txt b/radio/src/translations/cz.h.txt index c3d9c34a6..ba0b116e9 100644 --- a/radio/src/translations/cz.h.txt +++ b/radio/src/translations/cz.h.txt @@ -107,13 +107,13 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Custom" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Custom" #define LEN_SUBTYPE_FLYSKY "\004" #define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" #define LEN_SUBTYPE_FRSKY "\007" -#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch" +#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 " #define LEN_SUBTYPE_HISKY "\005" #define TR_SUBTYPE_HISKY "HiSky""HK310" @@ -139,7 +139,7 @@ #define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 ""LS\0 " #define LEN_SUBTYPE_MJXQ "\005" -#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D\0""E010\0" #define LEN_OPTIONS_DSM "\011" #define TR_OPTIONS_DSM "4ch 22ms\0""5ch 22ms\0""6ch 22ms\0""7ch 22ms\0""4ch 11ms\0""5ch 11ms\0""6ch 11ms\0""7ch 11ms\0""8ch 22ms\0""9ch 22ms\0""10ch 22ms""11ch 22ms""12ch 22ms" diff --git a/radio/src/translations/de.h.txt b/radio/src/translations/de.h.txt index b1380e146..7ffde9992 100644 --- a/radio/src/translations/de.h.txt +++ b/radio/src/translations/de.h.txt @@ -111,13 +111,13 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" //LP45 =Low Power 4 und 5 Kanal #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Custom" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Custom" #define LEN_SUBTYPE_FLYSKY "\004" #define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" #define LEN_SUBTYPE_FRSKY "\007" -#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch" +#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 " #define LEN_SUBTYPE_HISKY "\005" #define TR_SUBTYPE_HISKY "HiSky""HK310" @@ -143,7 +143,7 @@ #define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 ""LS\0 " #define LEN_SUBTYPE_MJXQ "\005" -#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D\0""E010\0" #define LEN_OPTIONS_DSM "\011" #define TR_OPTIONS_DSM "4ch 22ms\0""5ch 22ms\0""6ch 22ms\0""7ch 22ms\0""4ch 11ms\0""5ch 11ms\0""6ch 11ms\0""7ch 11ms\0""8ch 22ms\0""9ch 22ms\0""10ch 22ms""11ch 22ms""12ch 22ms" diff --git a/radio/src/translations/en.h.txt b/radio/src/translations/en.h.txt index bcec26549..e62eeb6e0 100644 --- a/radio/src/translations/en.h.txt +++ b/radio/src/translations/en.h.txt @@ -111,13 +111,13 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Custom" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Custom" #define LEN_SUBTYPE_FLYSKY "\004" #define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" #define LEN_SUBTYPE_FRSKY "\007" -#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch" +#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 " #define LEN_SUBTYPE_HISKY "\005" #define TR_SUBTYPE_HISKY "HiSky""HK310" @@ -143,7 +143,7 @@ #define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 ""LS\0 " #define LEN_SUBTYPE_MJXQ "\005" -#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D\0""E010\0" #define LEN_OPTIONS_DSM "\011" #define TR_OPTIONS_DSM "4ch 22ms\0""5ch 22ms\0""6ch 22ms\0""7ch 22ms\0""4ch 11ms\0""5ch 11ms\0""6ch 11ms\0""7ch 11ms\0""8ch 22ms\0""9ch 22ms\0""10ch 22ms""11ch 22ms""12ch 22ms" diff --git a/radio/src/translations/es.h.txt b/radio/src/translations/es.h.txt index 6fae8ace7..6a36ad66e 100644 --- a/radio/src/translations/es.h.txt +++ b/radio/src/translations/es.h.txt @@ -107,13 +107,13 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Custom" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Custom" #define LEN_SUBTYPE_FLYSKY "\004" #define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" #define LEN_SUBTYPE_FRSKY "\007" -#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch" +#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 " #define LEN_SUBTYPE_HISKY "\005" #define TR_SUBTYPE_HISKY "HiSky""HK310" @@ -139,7 +139,7 @@ #define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 ""LS\0 " #define LEN_SUBTYPE_MJXQ "\005" -#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D\0""E010\0" #define LEN_OPTIONS_DSM "\011" #define TR_OPTIONS_DSM "4ch 22ms\0""5ch 22ms\0""6ch 22ms\0""7ch 22ms\0""4ch 11ms\0""5ch 11ms\0""6ch 11ms\0""7ch 11ms\0""8ch 22ms\0""9ch 22ms\0""10ch 22ms""11ch 22ms""12ch 22ms" diff --git a/radio/src/translations/fi.h.txt b/radio/src/translations/fi.h.txt index 756ae025a..ad4d2f92f 100644 --- a/radio/src/translations/fi.h.txt +++ b/radio/src/translations/fi.h.txt @@ -107,13 +107,13 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Custom" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Custom" #define LEN_SUBTYPE_FLYSKY "\004" #define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" #define LEN_SUBTYPE_FRSKY "\007" -#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch" +#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 " #define LEN_SUBTYPE_HISKY "\005" #define TR_SUBTYPE_HISKY "HiSky""HK310" @@ -139,7 +139,7 @@ #define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 ""LS\0 " #define LEN_SUBTYPE_MJXQ "\005" -#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D\0""E010\0" #define LEN_OPTIONS_DSM "\011" #define TR_OPTIONS_DSM "4ch 22ms\0""5ch 22ms\0""6ch 22ms\0""7ch 22ms\0""4ch 11ms\0""5ch 11ms\0""6ch 11ms\0""7ch 11ms\0""8ch 22ms\0""9ch 22ms\0""10ch 22ms""11ch 22ms""12ch 22ms" diff --git a/radio/src/translations/fr.h.txt b/radio/src/translations/fr.h.txt index 117f5114d..f395344c8 100644 --- a/radio/src/translations/fr.h.txt +++ b/radio/src/translations/fr.h.txt @@ -107,13 +107,13 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Perso\0" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Perso\0" #define LEN_SUBTYPE_FLYSKY "\004" #define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" #define LEN_SUBTYPE_FRSKY "\007" -#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch" +#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 " #define LEN_SUBTYPE_HISKY "\005" #define TR_SUBTYPE_HISKY "HiSky""HK310" @@ -139,7 +139,7 @@ #define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 ""LS\0 " #define LEN_SUBTYPE_MJXQ "\005" -#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D\0""E010\0" #define LEN_OPTIONS_DSM "\011" #define TR_OPTIONS_DSM "4ch 22ms\0""5ch 22ms\0""6ch 22ms\0""7ch 22ms\0""4ch 11ms\0""5ch 11ms\0""6ch 11ms\0""7ch 11ms\0""8ch 22ms\0""9ch 22ms\0""10ch 22ms""11ch 22ms""12ch 22ms" diff --git a/radio/src/translations/it.h.txt b/radio/src/translations/it.h.txt index 3201983f8..bac55a47e 100644 --- a/radio/src/translations/it.h.txt +++ b/radio/src/translations/it.h.txt @@ -107,13 +107,13 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Custom" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Custom" #define LEN_SUBTYPE_FLYSKY "\004" #define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" #define LEN_SUBTYPE_FRSKY "\007" -#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch" +#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 " #define LEN_SUBTYPE_HISKY "\005" #define TR_SUBTYPE_HISKY "HiSky""HK310" @@ -139,7 +139,7 @@ #define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 ""LS\0 " #define LEN_SUBTYPE_MJXQ "\005" -#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D\0""E010\0" #define LEN_OPTIONS_DSM "\011" #define TR_OPTIONS_DSM "4ch 22ms\0""5ch 22ms\0""6ch 22ms\0""7ch 22ms\0""4ch 11ms\0""5ch 11ms\0""6ch 11ms\0""7ch 11ms\0""8ch 22ms\0""9ch 22ms\0""10ch 22ms""11ch 22ms""12ch 22ms" diff --git a/radio/src/translations/nl.h.txt b/radio/src/translations/nl.h.txt index 7e1f42d9d..ee831c85d 100644 --- a/radio/src/translations/nl.h.txt +++ b/radio/src/translations/nl.h.txt @@ -112,13 +112,13 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Custom" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Custom" #define LEN_SUBTYPE_FLYSKY "\004" #define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" #define LEN_SUBTYPE_FRSKY "\007" -#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch" +#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 " #define LEN_SUBTYPE_HISKY "\005" #define TR_SUBTYPE_HISKY "HiSky""HK310" @@ -144,7 +144,7 @@ #define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 ""LS\0 " #define LEN_SUBTYPE_MJXQ "\005" -#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D\0""E010\0" #define LEN_OPTIONS_DSM "\011" #define TR_OPTIONS_DSM "4ch 22ms\0""5ch 22ms\0""6ch 22ms\0""7ch 22ms\0""4ch 11ms\0""5ch 11ms\0""6ch 11ms\0""7ch 11ms\0""8ch 22ms\0""9ch 22ms\0""10ch 22ms""11ch 22ms""12ch 22ms" diff --git a/radio/src/translations/pl.h.txt b/radio/src/translations/pl.h.txt index 251117b2a..28d14c40c 100644 --- a/radio/src/translations/pl.h.txt +++ b/radio/src/translations/pl.h.txt @@ -108,13 +108,13 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Custom" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Custom" #define LEN_SUBTYPE_FLYSKY "\004" #define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" #define LEN_SUBTYPE_FRSKY "\007" -#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch" +#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 " #define LEN_SUBTYPE_HISKY "\005" #define TR_SUBTYPE_HISKY "HiSky""HK310" @@ -140,7 +140,7 @@ #define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 ""LS\0 " #define LEN_SUBTYPE_MJXQ "\005" -#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D\0""E010\0" #define LEN_OPTIONS_DSM "\011" #define TR_OPTIONS_DSM "4ch 22ms\0""5ch 22ms\0""6ch 22ms\0""7ch 22ms\0""4ch 11ms\0""5ch 11ms\0""6ch 11ms\0""7ch 11ms\0""8ch 22ms\0""9ch 22ms\0""10ch 22ms""11ch 22ms""12ch 22ms" diff --git a/radio/src/translations/pt.h.txt b/radio/src/translations/pt.h.txt index 34a4ffe12..6c59ba1ef 100644 --- a/radio/src/translations/pt.h.txt +++ b/radio/src/translations/pt.h.txt @@ -107,14 +107,14 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Custom" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Custom" #define LEN_SUBTYPE_FLYSKY "\004" #define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" #define LEN_SUBTYPE_FRSKY "\007" -#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch" +#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 " #define LEN_SUBTYPE_HISKY "\005" #define TR_SUBTYPE_HISKY "HiSky""HK310" @@ -140,7 +140,7 @@ #define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 ""LS\0 " #define LEN_SUBTYPE_MJXQ "\005" -#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D\0""E010\0" #define LEN_OPTIONS_DSM "\011" #define TR_OPTIONS_DSM "4ch 22ms\0""5ch 22ms\0""6ch 22ms\0""7ch 22ms\0""4ch 11ms\0""5ch 11ms\0""6ch 11ms\0""7ch 11ms\0""8ch 22ms\0""9ch 22ms\0""10ch 22ms""11ch 22ms""12ch 22ms" diff --git a/radio/src/translations/se.h.txt b/radio/src/translations/se.h.txt index e0407057a..60bb323f8 100644 --- a/radio/src/translations/se.h.txt +++ b/radio/src/translations/se.h.txt @@ -107,13 +107,13 @@ #define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" #define LEN_MULTI_PROTOCOLS "\006" -#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Custom" +#define TR_MULTI_PROTOCOLS "FlySky""Hubsan""FrSky\0""Hisky\0""V2x2\0 ""DSM2\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""Custom" #define LEN_SUBTYPE_FLYSKY "\004" #define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912" #define LEN_SUBTYPE_FRSKY "\007" -#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch" +#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 " #define LEN_SUBTYPE_HISKY "\005" #define TR_SUBTYPE_HISKY "HiSky""HK310" @@ -139,7 +139,7 @@ #define TR_SUBTYPE_MT99 "MT99""H7\0 ""YZ\0 ""LS\0 " #define LEN_SUBTYPE_MJXQ "\005" -#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D" +#define TR_SUBTYPE_MJXQ "WLH08""X600\0""X800\0""H26D\0""E010\0" #define LEN_OPTIONS_DSM "\011" #define TR_OPTIONS_DSM "4ch 22ms\0""5ch 22ms\0""6ch 22ms\0""7ch 22ms\0""4ch 11ms\0""5ch 11ms\0""6ch 11ms\0""7ch 11ms\0""8ch 22ms\0""9ch 22ms\0""10ch 22ms""11ch 22ms""12ch 22ms"