Merge pull request #3744 from opentx/schwabe/multi_new_protocols
Add new protocols supported by the DIY Multi module
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user