mirror of
https://github.com/opentx/opentx.git
synced 2025-07-23 16:25:16 +03:00
New protocol and telemetry: FlySky AFHDS2A (#3948)
* New protocol for multimode FlySky AFHDS2A * Also add AFHDS2A protocol to companion * fix compile error
This commit is contained in:
parent
d218b33609
commit
92dde79dec
23 changed files with 179 additions and 71 deletions
|
@ -1859,7 +1859,6 @@ SimulatorInterface *GetCurrentFirmwareSimulator()
|
||||||
unsigned int getNumSubtypes(MultiModuleRFProtocols type) {
|
unsigned int getNumSubtypes(MultiModuleRFProtocols type) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case MM_RF_PROTO_HISKY:
|
case MM_RF_PROTO_HISKY:
|
||||||
case MM_RF_PROTO_DSM2:
|
|
||||||
case MM_RF_PROTO_SYMAX:
|
case MM_RF_PROTO_SYMAX:
|
||||||
case MM_RF_PROTO_KN:
|
case MM_RF_PROTO_KN:
|
||||||
return 2;
|
return 2;
|
||||||
|
@ -1870,6 +1869,8 @@ unsigned int getNumSubtypes(MultiModuleRFProtocols type) {
|
||||||
|
|
||||||
case MM_RF_PROTO_FRSKY:
|
case MM_RF_PROTO_FRSKY:
|
||||||
case MM_RF_PROTO_FLYSKY:
|
case MM_RF_PROTO_FLYSKY:
|
||||||
|
case MM_RF_PROTO_DSM2:
|
||||||
|
case MM_RF_PROTO_AFHDS2A:
|
||||||
return 4;
|
return 4;
|
||||||
|
|
||||||
case MM_RF_PROTO_MJXQ:
|
case MM_RF_PROTO_MJXQ:
|
||||||
|
|
|
@ -873,7 +873,8 @@ enum MultiModuleRFProtocols {
|
||||||
MM_RF_PROTO_ASSAN,
|
MM_RF_PROTO_ASSAN,
|
||||||
MM_RF_PROTO_HONTAI,
|
MM_RF_PROTO_HONTAI,
|
||||||
MM_RF_PROTO_OLRS,
|
MM_RF_PROTO_OLRS,
|
||||||
MM_RF_PROTO_LAST= MM_RF_PROTO_OLRS
|
MM_RF_PROTO_AFHDS2A,
|
||||||
|
MM_RF_PROTO_LAST= MM_RF_PROTO_AFHDS2A
|
||||||
};
|
};
|
||||||
|
|
||||||
unsigned int getNumSubtypes(MultiModuleRFProtocols type);
|
unsigned int getNumSubtypes(MultiModuleRFProtocols type);
|
||||||
|
|
|
@ -611,7 +611,7 @@
|
||||||
<item row="4" column="4">
|
<item row="4" column="4">
|
||||||
<widget class="QCheckBox" name="cb_autoBind">
|
<widget class="QCheckBox" name="cb_autoBind">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Autobind</string>
|
<string>Bind on startup</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|
|
@ -109,7 +109,7 @@ QString ModelPrinter::printMultiRfProtocol(int rfProtocol, bool custom)
|
||||||
{
|
{
|
||||||
static const char *strings[] = {
|
static const char *strings[] = {
|
||||||
"FlySky", "Hubsan", "FrSky", "Hisky", "V2x2", "DSM", "Devo", "YD717", "KN", "SymaX", "SLT", "CX10", "CG023",
|
"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","Custom"
|
"Bayang", "ESky", "MT99XX", "MJXQ", "Shenqi", "FY326", "SFHSS", "J6 PRO","FQ777","Assan","Hontai","OLRS","FlySky AFHDS2A"
|
||||||
};
|
};
|
||||||
if (custom)
|
if (custom)
|
||||||
return "Custom - proto " + QString::number(rfProtocol);
|
return "Custom - proto " + QString::number(rfProtocol);
|
||||||
|
@ -132,6 +132,7 @@ QString ModelPrinter::printMultiSubType(int rfProtocol, bool custom, int subType
|
||||||
static const char *mt99_strings[] = {"MT99","H7","YZ"};
|
static const char *mt99_strings[] = {"MT99","H7","YZ"};
|
||||||
static const char *mjxq_strings[] = {"WLH08", "X600", "X800", "H26D", "E010"};
|
static const char *mjxq_strings[] = {"WLH08", "X600", "X800", "H26D", "E010"};
|
||||||
static const char *hontai_strings[] = {"Standard","JJRC X1","X5C1 Clone"};
|
static const char *hontai_strings[] = {"Standard","JJRC X1","X5C1 Clone"};
|
||||||
|
static const char *afhds2a_strings[] = {"PWM and IBUS", "PPM and IBUS", "PWM and SBUS", "PPM and SBUS"};
|
||||||
|
|
||||||
if (custom)
|
if (custom)
|
||||||
return CHECK_IN_ARRAY(custom_subtype_strings, subType);
|
return CHECK_IN_ARRAY(custom_subtype_strings, subType);
|
||||||
|
@ -161,6 +162,8 @@ QString ModelPrinter::printMultiSubType(int rfProtocol, bool custom, int subType
|
||||||
return CHECK_IN_ARRAY(mjxq_strings, subType);
|
return CHECK_IN_ARRAY(mjxq_strings, subType);
|
||||||
case MM_RF_PROTO_HONTAI:
|
case MM_RF_PROTO_HONTAI:
|
||||||
return CHECK_IN_ARRAY(hontai_strings, subType);
|
return CHECK_IN_ARRAY(hontai_strings, subType);
|
||||||
|
case MM_RF_PROTO_AFHDS2A:
|
||||||
|
return CHECK_IN_ARRAY(afhds2a_strings, subType);
|
||||||
default:
|
default:
|
||||||
return "DEFAULT";
|
return "DEFAULT";
|
||||||
}
|
}
|
||||||
|
|
|
@ -636,40 +636,43 @@ void menuModelSetup(event_t event)
|
||||||
lcdDrawTextAlignedLeft(y, STR_SUBTYPE);
|
lcdDrawTextAlignedLeft(y, STR_SUBTYPE);
|
||||||
switch (g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true)) {
|
switch (g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true)) {
|
||||||
case MM_RF_PROTO_FLYSKY:
|
case MM_RF_PROTO_FLYSKY:
|
||||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_FLYSKY, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition == 0 ? attr : 0);
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_FLYSKY, g_model.moduleData[EXTERNAL_MODULE].subType, attr);
|
||||||
break;
|
break;
|
||||||
case MM_RF_PROTO_FRSKY:
|
case MM_RF_PROTO_FRSKY:
|
||||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_FRSKY, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition == 0 ? attr : 0);
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_FRSKY, g_model.moduleData[EXTERNAL_MODULE].subType, attr);
|
||||||
break;
|
break;
|
||||||
case MM_RF_PROTO_HISKY:
|
case MM_RF_PROTO_HISKY:
|
||||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_HISKY, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition == 0 ? attr : 0);
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_HISKY, g_model.moduleData[EXTERNAL_MODULE].subType, attr);
|
||||||
break;
|
break;
|
||||||
case MM_RF_PROTO_DSM2:
|
case MM_RF_PROTO_DSM2:
|
||||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_DSM, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition == 0 ? attr : 0);
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_DSM, g_model.moduleData[EXTERNAL_MODULE].subType, attr);
|
||||||
break;
|
break;
|
||||||
case MM_RF_PROTO_YD717:
|
case MM_RF_PROTO_YD717:
|
||||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_YD717, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition == 0 ? attr : 0);
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_YD717, g_model.moduleData[EXTERNAL_MODULE].subType, attr);
|
||||||
break;
|
break;
|
||||||
case MM_RF_PROTO_KN:
|
case MM_RF_PROTO_KN:
|
||||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_KN, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition == 0 ? attr : 0);
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_KN, g_model.moduleData[EXTERNAL_MODULE].subType, attr);
|
||||||
break;
|
break;
|
||||||
case MM_RF_PROTO_SYMAX:
|
case MM_RF_PROTO_SYMAX:
|
||||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_SYMAX, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition == 0 ? attr : 0);
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_SYMAX, g_model.moduleData[EXTERNAL_MODULE].subType, attr);
|
||||||
break;
|
break;
|
||||||
case MM_RF_PROTO_CX10:
|
case MM_RF_PROTO_CX10:
|
||||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_CX10, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition == 0 ? attr : 0);
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_CX10, g_model.moduleData[EXTERNAL_MODULE].subType, attr);
|
||||||
break;
|
break;
|
||||||
case MM_RF_PROTO_CG023:
|
case MM_RF_PROTO_CG023:
|
||||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_CG023, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition == 0 ? attr : 0);
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_CG023, g_model.moduleData[EXTERNAL_MODULE].subType, attr);
|
||||||
break;
|
break;
|
||||||
case MM_RF_PROTO_MT99XX:
|
case MM_RF_PROTO_MT99XX:
|
||||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_MT99, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition == 0 ? attr : 0);
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_MT99, g_model.moduleData[EXTERNAL_MODULE].subType, attr);
|
||||||
break;
|
break;
|
||||||
case MM_RF_PROTO_MJXQ:
|
case MM_RF_PROTO_MJXQ:
|
||||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_MJXQ, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition == 0 ? attr : 0);
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_MJXQ, g_model.moduleData[EXTERNAL_MODULE].subType, attr);
|
||||||
break;
|
break;
|
||||||
case MM_RF_PROTO_HONTAI:
|
case MM_RF_PROTO_HONTAI:
|
||||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_HONTAI, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_HONTAI, g_model.moduleData[EXTERNAL_MODULE].subType, attr);
|
||||||
|
break;
|
||||||
|
case MM_RF_PROTO_FS_AFHDS2A:
|
||||||
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_SUBTYPE_AFHDS2A, g_model.moduleData[EXTERNAL_MODULE].subType, attr);
|
||||||
break;
|
break;
|
||||||
case MM_RF_CUSTOM_SELECTED:
|
case MM_RF_CUSTOM_SELECTED:
|
||||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN + 3 * FW, y, g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(false), RIGHT | (menuHorizontalPosition == 0 ? attr : 0), 2);
|
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN + 3 * FW, y, g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(false), RIGHT | (menuHorizontalPosition == 0 ? attr : 0), 2);
|
||||||
|
@ -692,6 +695,7 @@ void menuModelSetup(event_t event)
|
||||||
case MM_RF_PROTO_FRSKY:
|
case MM_RF_PROTO_FRSKY:
|
||||||
case MM_RF_PROTO_DSM2:
|
case MM_RF_PROTO_DSM2:
|
||||||
case MM_RF_PROTO_MT99XX:
|
case MM_RF_PROTO_MT99XX:
|
||||||
|
case MM_RF_PROTO_FS_AFHDS2A:
|
||||||
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 3);
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 3);
|
||||||
break;
|
break;
|
||||||
case MM_RF_PROTO_MJXQ:
|
case MM_RF_PROTO_MJXQ:
|
||||||
|
@ -888,6 +892,8 @@ void menuModelSetup(event_t event)
|
||||||
}
|
}
|
||||||
#if defined(MULTIMODULE)
|
#if defined(MULTIMODULE)
|
||||||
else if (IS_MODULE_MULTIMODULE(moduleIdx)) {
|
else if (IS_MODULE_MULTIMODULE(moduleIdx)) {
|
||||||
|
int optionValue = g_model.moduleData[moduleIdx].multi.optionValue;
|
||||||
|
|
||||||
switch (g_model.moduleData[moduleIdx].getMultiProtocol(true))
|
switch (g_model.moduleData[moduleIdx].getMultiProtocol(true))
|
||||||
{
|
{
|
||||||
case MM_RF_PROTO_FRSKY:
|
case MM_RF_PROTO_FRSKY:
|
||||||
|
@ -897,13 +903,21 @@ void menuModelSetup(event_t event)
|
||||||
case MM_RF_PROTO_HUBSAN:
|
case MM_RF_PROTO_HUBSAN:
|
||||||
lcdDrawTextAlignedLeft(y, STR_MULTI_VIDFREQ);
|
lcdDrawTextAlignedLeft(y, STR_MULTI_VIDFREQ);
|
||||||
break;
|
break;
|
||||||
|
case MM_RF_PROTO_FS_AFHDS2A:
|
||||||
|
lcdDrawTextAlignedLeft(y, TR_MULTI_SERVOFREQ);
|
||||||
|
optionValue = 50 + 5 * optionValue;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
lcdDrawTextAlignedLeft(y, STR_MULTI_OPTION);
|
lcdDrawTextAlignedLeft(y, STR_MULTI_OPTION);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, g_model.moduleData[moduleIdx].multi.optionValue, LEFT | attr);
|
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, optionValue, LEFT | attr);
|
||||||
if (attr) {
|
if (attr) {
|
||||||
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127);
|
if (g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true) == MM_RF_PROTO_FS_AFHDS2A) {
|
||||||
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, 0, 70);
|
||||||
|
} else {
|
||||||
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -740,6 +740,9 @@ void menuModelSetup(event_t event)
|
||||||
case MM_RF_PROTO_HONTAI:
|
case MM_RF_PROTO_HONTAI:
|
||||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+11*FW, y, STR_SUBTYPE_HONTAI, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+11*FW, y, STR_SUBTYPE_HONTAI, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
||||||
break;
|
break;
|
||||||
|
case MM_RF_PROTO_FS_AFHDS2A:
|
||||||
|
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+10*FW, y, STR_SUBTYPE_AFHDS2A , g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
||||||
|
break;
|
||||||
case MM_RF_CUSTOM_SELECTED:
|
case MM_RF_CUSTOM_SELECTED:
|
||||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN+14*FW, y, g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(false), menuHorizontalPosition==2 ? attr : 0, 2);
|
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN+14*FW, y, g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(false), menuHorizontalPosition==2 ? attr : 0, 2);
|
||||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN+16*FW, y, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==3 ? attr : 0, 2);
|
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN+16*FW, y, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==3 ? attr : 0, 2);
|
||||||
|
@ -806,6 +809,7 @@ void menuModelSetup(event_t event)
|
||||||
case MM_RF_PROTO_MT99XX:
|
case MM_RF_PROTO_MT99XX:
|
||||||
case MM_RF_PROTO_FRSKY:
|
case MM_RF_PROTO_FRSKY:
|
||||||
case MM_RF_PROTO_DSM2:
|
case MM_RF_PROTO_DSM2:
|
||||||
|
case MM_RF_PROTO_FS_AFHDS2A:
|
||||||
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 3);
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 3);
|
||||||
break;
|
break;
|
||||||
case MM_RF_PROTO_MJXQ:
|
case MM_RF_PROTO_MJXQ:
|
||||||
|
@ -983,7 +987,9 @@ void menuModelSetup(event_t event)
|
||||||
}
|
}
|
||||||
#if defined(MULTIMODULE)
|
#if defined(MULTIMODULE)
|
||||||
else if (IS_MODULE_MULTIMODULE(moduleIdx)) {
|
else if (IS_MODULE_MULTIMODULE(moduleIdx)) {
|
||||||
switch ( g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true))
|
int optionValue = g_model.moduleData[moduleIdx].multi.optionValue;
|
||||||
|
|
||||||
|
switch (g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true))
|
||||||
{
|
{
|
||||||
case MM_RF_PROTO_FRSKY:
|
case MM_RF_PROTO_FRSKY:
|
||||||
case MM_RF_PROTO_SFHSS:
|
case MM_RF_PROTO_SFHSS:
|
||||||
|
@ -992,13 +998,21 @@ void menuModelSetup(event_t event)
|
||||||
case MM_RF_PROTO_HUBSAN:
|
case MM_RF_PROTO_HUBSAN:
|
||||||
lcdDrawTextAlignedLeft(y, STR_MULTI_VIDFREQ);
|
lcdDrawTextAlignedLeft(y, STR_MULTI_VIDFREQ);
|
||||||
break;
|
break;
|
||||||
|
case MM_RF_PROTO_FS_AFHDS2A:
|
||||||
|
lcdDrawTextAlignedLeft(y, TR_MULTI_SERVOFREQ);
|
||||||
|
optionValue = 50 + 5 * optionValue;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
lcdDrawTextAlignedLeft(y, STR_MULTI_OPTION);
|
lcdDrawTextAlignedLeft(y, STR_MULTI_OPTION);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, g_model.moduleData[moduleIdx].multi.optionValue, LEFT | attr);
|
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, optionValue, LEFT | attr);
|
||||||
if (attr) {
|
if (attr) {
|
||||||
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127);
|
if (g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true) == MM_RF_PROTO_FS_AFHDS2A) {
|
||||||
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, 0, 70);
|
||||||
|
} else {
|
||||||
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -671,6 +671,9 @@ bool menuModelSetup(event_t event)
|
||||||
case MM_RF_PROTO_HONTAI:
|
case MM_RF_PROTO_HONTAI:
|
||||||
lcdDrawTextAtIndex(MODEL_SETUP_4TH_COLUMN, y, STR_SUBTYPE_HONTAI, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
lcdDrawTextAtIndex(MODEL_SETUP_4TH_COLUMN, y, STR_SUBTYPE_HONTAI, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
||||||
break;
|
break;
|
||||||
|
case MM_RF_PROTO_FS_AFHDS2A:
|
||||||
|
lcdDrawTextAtIndex(MODEL_SETUP_4TH_COLUMN, y, STR_SUBTYPE_AFHDS2A , g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
||||||
|
break;
|
||||||
case MM_RF_CUSTOM_SELECTED:
|
case MM_RF_CUSTOM_SELECTED:
|
||||||
lcdDrawNumber(MODEL_SETUP_4TH_COLUMN, y, g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(false), menuHorizontalPosition==2 ? attr : 0, 2);
|
lcdDrawNumber(MODEL_SETUP_4TH_COLUMN, y, g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(false), menuHorizontalPosition==2 ? attr : 0, 2);
|
||||||
lcdDrawNumber(MODEL_SETUP_4TH_COLUMN + MODEL_SETUP_BIND_OFS, y, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==3 ? attr : 0, 2);
|
lcdDrawNumber(MODEL_SETUP_4TH_COLUMN + MODEL_SETUP_BIND_OFS, y, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==3 ? attr : 0, 2);
|
||||||
|
@ -738,6 +741,7 @@ bool menuModelSetup(event_t event)
|
||||||
case MM_RF_PROTO_MT99XX:
|
case MM_RF_PROTO_MT99XX:
|
||||||
case MM_RF_PROTO_FRSKY:
|
case MM_RF_PROTO_FRSKY:
|
||||||
case MM_RF_PROTO_DSM2:
|
case MM_RF_PROTO_DSM2:
|
||||||
|
case MM_RF_PROTO_FS_AFHDS2A:
|
||||||
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 3);
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[EXTERNAL_MODULE].subType, 0, 3);
|
||||||
break;
|
break;
|
||||||
case MM_RF_PROTO_MJXQ:
|
case MM_RF_PROTO_MJXQ:
|
||||||
|
@ -892,6 +896,8 @@ bool menuModelSetup(event_t event)
|
||||||
}
|
}
|
||||||
#if defined(MULTIMODULE)
|
#if defined(MULTIMODULE)
|
||||||
else if (IS_MODULE_MULTIMODULE(moduleIdx)) {
|
else if (IS_MODULE_MULTIMODULE(moduleIdx)) {
|
||||||
|
int optionValue = g_model.moduleData[moduleIdx].multi.optionValue;
|
||||||
|
|
||||||
switch (g_model.moduleData[moduleIdx].getMultiProtocol(true))
|
switch (g_model.moduleData[moduleIdx].getMultiProtocol(true))
|
||||||
{
|
{
|
||||||
case MM_RF_PROTO_FRSKY:
|
case MM_RF_PROTO_FRSKY:
|
||||||
|
@ -901,13 +907,22 @@ bool menuModelSetup(event_t event)
|
||||||
case MM_RF_PROTO_HUBSAN:
|
case MM_RF_PROTO_HUBSAN:
|
||||||
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_MULTI_VIDFREQ);
|
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_MULTI_VIDFREQ);
|
||||||
break;
|
break;
|
||||||
|
case MM_RF_PROTO_FS_AFHDS2A:
|
||||||
|
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_MULTI_SERVOFREQ);
|
||||||
|
optionValue = 50 + 5 * optionValue;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_MULTI_OPTION);
|
lcdDrawText(MENUS_MARGIN_LEFT, y, STR_MULTI_OPTION);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, g_model.moduleData[moduleIdx].multi.optionValue, LEFT | attr);
|
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, optionValue, LEFT | attr);
|
||||||
if (attr)
|
if (attr) {
|
||||||
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127);
|
if (g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true) == MM_RF_PROTO_FS_AFHDS2A) {
|
||||||
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, 0, 70);
|
||||||
|
} else {
|
||||||
|
CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -118,8 +118,10 @@ void runFatalErrorScreen(const char * message);
|
||||||
#define MULTIMODULE_MODE_ROWS(x) (g_model.moduleData[x].multi.customProto) ? (uint8_t) 3 :MULTIMODULE_HAS_SUBTYPE(g_model.moduleData[x].getMultiProtocol(true)) ? (uint8_t)2 : (uint8_t)1
|
#define MULTIMODULE_MODE_ROWS(x) (g_model.moduleData[x].multi.customProto) ? (uint8_t) 3 :MULTIMODULE_HAS_SUBTYPE(g_model.moduleData[x].getMultiProtocol(true)) ? (uint8_t)2 : (uint8_t)1
|
||||||
#define MULTIMODULE_RFPROTO_ROWS(x) (g_model.moduleData[x].multi.customProto) ? (uint8_t) 1 :MULTIMODULE_HAS_SUBTYPE(g_model.moduleData[x].getMultiProtocol(true)) ? (uint8_t) 0 : HIDDEN_ROW
|
#define MULTIMODULE_RFPROTO_ROWS(x) (g_model.moduleData[x].multi.customProto) ? (uint8_t) 1 :MULTIMODULE_HAS_SUBTYPE(g_model.moduleData[x].getMultiProtocol(true)) ? (uint8_t) 0 : HIDDEN_ROW
|
||||||
#define MULTIMODULE_SUBTYPE_ROWS(x) IS_MODULE_MULTIMODULE(x) ? MULTIMODULE_RFPROTO_ROWS(x) : HIDDEN_ROW,
|
#define MULTIMODULE_SUBTYPE_ROWS(x) IS_MODULE_MULTIMODULE(x) ? MULTIMODULE_RFPROTO_ROWS(x) : HIDDEN_ROW,
|
||||||
#define MULTIMODULE_HAS_SUBTYPE(x) (x == MM_RF_PROTO_FLYSKY || x == MM_RF_PROTO_FRSKY || x == MM_RF_PROTO_HISKY || x == MM_RF_PROTO_DSM2 || x == MM_RF_PROTO_YD717 || x == MM_RF_PROTO_KN || x == MM_RF_PROTO_SYMAX || x == MM_RF_PROTO_CX10 || x == MM_RF_PROTO_CG023 || x == MM_RF_PROTO_MT99XX || x == MM_RF_PROTO_MJXQ || x == MM_RF_PROTO_HONTAI || x == MM_RF_CUSTOM_SELECTED)
|
#define MULTIMODULE_HAS_SUBTYPE(x) (x == MM_RF_PROTO_FLYSKY || x == MM_RF_PROTO_FRSKY || x == MM_RF_PROTO_HISKY || x == MM_RF_PROTO_DSM2 || x == MM_RF_PROTO_YD717 \
|
||||||
#define MULTIMODULE_HASOPTIONS(x) (x == MM_RF_PROTO_HUBSAN || x == MM_RF_PROTO_FRSKY || x == MM_RF_PROTO_SFHSS || x == MM_RF_CUSTOM_SELECTED)
|
|| x == MM_RF_PROTO_KN || x == MM_RF_PROTO_SYMAX || x == MM_RF_PROTO_CX10 || x == MM_RF_PROTO_CG023 || x == MM_RF_PROTO_MT99XX \
|
||||||
|
|| x == MM_RF_PROTO_MJXQ || x == MM_RF_PROTO_HONTAI || x == MM_RF_PROTO_FS_AFHDS2A || x == MM_RF_CUSTOM_SELECTED)
|
||||||
|
#define MULTIMODULE_HASOPTIONS(x) (x == MM_RF_PROTO_HUBSAN || x == MM_RF_PROTO_FRSKY || x == MM_RF_PROTO_SFHSS || x == MM_RF_PROTO_FS_AFHDS2A || x == MM_RF_CUSTOM_SELECTED)
|
||||||
#define MULTIMODULE_FAILSAFEROWS(x) (IS_MODULE_MULTIMODULE(x) && (MULTIMODULE_HASOPTIONS(g_model.moduleData[x].getMultiProtocol(true)))) ? (uint8_t) 0: HIDDEN_ROW
|
#define MULTIMODULE_FAILSAFEROWS(x) (IS_MODULE_MULTIMODULE(x) && (MULTIMODULE_HASOPTIONS(g_model.moduleData[x].getMultiProtocol(true)))) ? (uint8_t) 0: HIDDEN_ROW
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -525,20 +525,24 @@ enum MultiModuleRFProtocols {
|
||||||
MM_RF_PROTO_ASSAN,
|
MM_RF_PROTO_ASSAN,
|
||||||
MM_RF_PROTO_HONTAI,
|
MM_RF_PROTO_HONTAI,
|
||||||
MM_RF_PROTO_OLRS,
|
MM_RF_PROTO_OLRS,
|
||||||
MM_RF_PROTO_LAST= MM_RF_PROTO_OLRS
|
MM_RF_PROTO_FS_AFHDS2A,
|
||||||
|
MM_RF_PROTO_LAST= MM_RF_PROTO_FS_AFHDS2A
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MM_RF_DSM2_SUBTYPE_DSM2_22 0
|
enum MMDSM2Subtypes {
|
||||||
#define MM_RF_DSM2_SUBTYPE_DSM2_11 1
|
MM_RF_DSM2_SUBTYPE_DSM2_22,
|
||||||
#define MM_RF_DSM2_SUBTYPE_DSMX_22 2
|
MM_RF_DSM2_SUBTYPE_DSM2_11,
|
||||||
#define MM_RF_DSM2_SUBTYPE_DSMX_11 3
|
MM_RF_DSM2_SUBTYPE_DSMX_22,
|
||||||
#define MM_RF_DSM2_SUBTYPE_AUTO 4
|
MM_RF_DSM2_SUBTYPE_DSMX_11,
|
||||||
|
MM_RF_DSM2_SUBTYPE_AUTO
|
||||||
|
};
|
||||||
|
|
||||||
|
enum MMRFrskySubtypes {
|
||||||
#define MM_RF_FRSKY_SUBTYPE_D16 0
|
MM_RF_FRSKY_SUBTYPE_D16,
|
||||||
#define MM_RF_FRSKY_SUBTYPE_D8 1
|
MM_RF_FRSKY_SUBTYPE_D8,
|
||||||
#define MM_RF_FRSKY_SUBTYPE_D16_8CH 2
|
MM_RF_FRSKY_SUBTYPE_D16_8CH,
|
||||||
#define MM_RF_FRSKY_SUBTYPE_V8 3
|
MM_RF_FRSKY_SUBTYPE_V8
|
||||||
|
};
|
||||||
|
|
||||||
#define HAS_RF_PROTOCOL_FAILSAFE(rf) ((rf) == RF_PROTO_X16)
|
#define HAS_RF_PROTOCOL_FAILSAFE(rf) ((rf) == RF_PROTO_X16)
|
||||||
#define HAS_RF_PROTOCOL_MODELINDEX(rf) (((rf) == RF_PROTO_X16) || ((rf) == RF_PROTO_LR12))
|
#define HAS_RF_PROTOCOL_MODELINDEX(rf) (((rf) == RF_PROTO_X16) || ((rf) == RF_PROTO_LR12))
|
||||||
|
|
|
@ -164,6 +164,11 @@ void setupPulsesMultimodule(uint8_t port)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// For custom protocol send unmofied type byte
|
||||||
|
if (g_model.moduleData[port].getMultiProtocol(true) == MM_RF_CUSTOM_SELECTED)
|
||||||
|
type = g_model.moduleData[port].getMultiProtocol(false);
|
||||||
|
|
||||||
|
|
||||||
// header, byte 0, 0x55 for proto 0-31 0x54 for 32-63
|
// header, byte 0, 0x55 for proto 0-31 0x54 for 32-63
|
||||||
if (type <= 31)
|
if (type <= 31)
|
||||||
sendByteMulti(0x55);
|
sendByteMulti(0x55);
|
||||||
|
|
|
@ -124,6 +124,7 @@ const pm_char STR_OPEN9X[] PROGMEM =
|
||||||
ISTR(SUBTYPE_MT99)
|
ISTR(SUBTYPE_MT99)
|
||||||
ISTR(SUBTYPE_MJXQ)
|
ISTR(SUBTYPE_MJXQ)
|
||||||
ISTR(SUBTYPE_HONTAI)
|
ISTR(SUBTYPE_HONTAI)
|
||||||
|
ISTR(SUBTYPE_AFHDS2A)
|
||||||
ISTR(OPTIONS_DSM)
|
ISTR(OPTIONS_DSM)
|
||||||
#endif
|
#endif
|
||||||
ISTR(VOLTSRC)
|
ISTR(VOLTSRC)
|
||||||
|
@ -472,6 +473,7 @@ const pm_char STR_MULTI_OPTION[] PROGMEM = TR_MULTI_OPTION;
|
||||||
const pm_char STR_MULTI_AUTOBIND[] PROGMEM = TR_MULTI_AUTOBIND;
|
const pm_char STR_MULTI_AUTOBIND[] PROGMEM = TR_MULTI_AUTOBIND;
|
||||||
const pm_char STR_MULTI_DSM_AUTODTECT[] PROGMEM = TR_MULTI_DSM_AUTODTECT;
|
const pm_char STR_MULTI_DSM_AUTODTECT[] PROGMEM = TR_MULTI_DSM_AUTODTECT;
|
||||||
const pm_char STR_MULTI_LOWPOWER[] PROGMEM = TR_MULTI_LOWPOWER;
|
const pm_char STR_MULTI_LOWPOWER[] PROGMEM = TR_MULTI_LOWPOWER;
|
||||||
|
const pm_char STR_MULTI_SERVOFREQ[] PROGMEM = TR_MULTI_SERVOFREQ;
|
||||||
#if LCD_W < 212
|
#if LCD_W < 212
|
||||||
const pm_char STR_SUBTYPE[] PROGMEM = TR_SUBTYPE;
|
const pm_char STR_SUBTYPE[] PROGMEM = TR_SUBTYPE;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -225,7 +225,8 @@ extern const pm_char STR_OPEN9X[];
|
||||||
#define OFS_SUBTYPE_MT99 (OFS_SUBTYPE_KN + sizeof(TR_SUBTYPE_KN))
|
#define OFS_SUBTYPE_MT99 (OFS_SUBTYPE_KN + sizeof(TR_SUBTYPE_KN))
|
||||||
#define OFS_SUBTYPE_MJXQ (OFS_SUBTYPE_MT99 + sizeof(TR_SUBTYPE_MT99))
|
#define OFS_SUBTYPE_MJXQ (OFS_SUBTYPE_MT99 + sizeof(TR_SUBTYPE_MT99))
|
||||||
#define OFS_SUBTYPE_HONTAI (OFS_SUBTYPE_MJXQ + sizeof(TR_SUBTYPE_MJXQ))
|
#define OFS_SUBTYPE_HONTAI (OFS_SUBTYPE_MJXQ + sizeof(TR_SUBTYPE_MJXQ))
|
||||||
#define OFS_OPTIONS_DSM (OFS_SUBTYPE_HONTAI + sizeof(TR_SUBTYPE_HONTAI))
|
#define OFS_SUBTYPE_AFHDS2A (OFS_SUBTYPE_HONTAI + sizeof(TR_SUBTYPE_HONTAI))
|
||||||
|
#define OFS_OPTIONS_DSM (OFS_SUBTYPE_AFHDS2A + sizeof(TR_SUBTYPE_AFHDS2A))
|
||||||
#define OFS_VOLTSRC (OFS_OPTIONS_DSM + sizeof(TR_OPTIONS_DSM))
|
#define OFS_VOLTSRC (OFS_OPTIONS_DSM + sizeof(TR_OPTIONS_DSM))
|
||||||
#else
|
#else
|
||||||
#define OFS_VOLTSRC (OFS_DSM_PROTOCOLS + sizeof(TR_DSM_PROTOCOLS))
|
#define OFS_VOLTSRC (OFS_DSM_PROTOCOLS + sizeof(TR_DSM_PROTOCOLS))
|
||||||
|
@ -360,6 +361,7 @@ extern const pm_char STR_OPEN9X[];
|
||||||
#define STR_SUBTYPE_MT99 (STR_OPEN9X + OFS_SUBTYPE_MT99)
|
#define STR_SUBTYPE_MT99 (STR_OPEN9X + OFS_SUBTYPE_MT99)
|
||||||
#define STR_SUBTYPE_MJXQ (STR_OPEN9X + OFS_SUBTYPE_MJXQ)
|
#define STR_SUBTYPE_MJXQ (STR_OPEN9X + OFS_SUBTYPE_MJXQ)
|
||||||
#define STR_SUBTYPE_HONTAI (STR_OPEN9X + OFS_SUBTYPE_HONTAI)
|
#define STR_SUBTYPE_HONTAI (STR_OPEN9X + OFS_SUBTYPE_HONTAI)
|
||||||
|
#define STR_SUBTYPE_AFHDS2A (STR_OPEN9X + OFS_SUBTYPE_AFHDS2A)
|
||||||
#define STR_OPTIONS_DSM (STR_OPEN9X + OFS_OPTIONS_DSM)
|
#define STR_OPTIONS_DSM (STR_OPEN9X + OFS_OPTIONS_DSM)
|
||||||
#endif
|
#endif
|
||||||
#define STR_CURVE_TYPES (STR_OPEN9X + OFS_CURVE_TYPES)
|
#define STR_CURVE_TYPES (STR_OPEN9X + OFS_CURVE_TYPES)
|
||||||
|
@ -604,6 +606,7 @@ extern const pm_char STR_MULTI_RFTUNE[];
|
||||||
extern const pm_char STR_MULTI_AUTOBIND[];
|
extern const pm_char STR_MULTI_AUTOBIND[];
|
||||||
extern const pm_char STR_MULTI_DSM_AUTODTECT[];
|
extern const pm_char STR_MULTI_DSM_AUTODTECT[];
|
||||||
extern const pm_char STR_MULTI_LOWPOWER[];
|
extern const pm_char STR_MULTI_LOWPOWER[];
|
||||||
|
extern const pm_char STR_MULTI_SERVOFREQ[];
|
||||||
#if LCD_W < 212
|
#if LCD_W < 212
|
||||||
extern const pm_char STR_SUBTYPE[];
|
extern const pm_char STR_SUBTYPE[];
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -107,12 +107,15 @@
|
||||||
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
|
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
|
||||||
|
|
||||||
#define LEN_MULTI_PROTOCOLS "\006"
|
#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 "
|
#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"
|
||||||
|
|
||||||
#define TR_MULTI_CUSTOM "Custom"
|
#define TR_MULTI_CUSTOM "Custom"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FLYSKY "\004"
|
#define LEN_SUBTYPE_FLYSKY "\007"
|
||||||
#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912"
|
#define TR_SUBTYPE_FLYSKY "Std\0 ""V9x9 ""V6x6 ""V912 "
|
||||||
|
|
||||||
|
#define LEN_SUBTYPE_AFHDS2A "\010"
|
||||||
|
#define TR_SUBTYPE_AFHDS2A "PWM,IBUS""PPM,IBUS""PWM,SBUS""PPM,SBUS"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FRSKY "\007"
|
#define LEN_SUBTYPE_FRSKY "\007"
|
||||||
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
||||||
|
@ -897,6 +900,7 @@
|
||||||
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
||||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
||||||
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
||||||
|
#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate")
|
||||||
#define TR_SYNCMENU "[Sync]"
|
#define TR_SYNCMENU "[Sync]"
|
||||||
#define TR_LIMIT INDENT"Limit"
|
#define TR_LIMIT INDENT"Limit"
|
||||||
#define TR_MINRSSI "Min Rssi"
|
#define TR_MINRSSI "Min Rssi"
|
||||||
|
|
|
@ -111,12 +111,15 @@
|
||||||
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" //LP45 =Low Power 4 und 5 Kanal
|
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX" //LP45 =Low Power 4 und 5 Kanal
|
||||||
|
|
||||||
#define LEN_MULTI_PROTOCOLS "\006"
|
#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 "
|
#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"
|
||||||
|
|
||||||
#define TR_MULTI_CUSTOM "Custom"
|
#define TR_MULTI_CUSTOM "Custom"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FLYSKY "\004"
|
#define LEN_SUBTYPE_FLYSKY "\007"
|
||||||
#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912"
|
#define TR_SUBTYPE_FLYSKY "Std\0 ""V9x9 ""V6x6 ""V912 "
|
||||||
|
|
||||||
|
#define LEN_SUBTYPE_AFHDS2A "\010"
|
||||||
|
#define TR_SUBTYPE_AFHDS2A "PWM,IBUS""PPM,IBUS""PWM,SBUS""PPM,SBUS"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FRSKY "\007"
|
#define LEN_SUBTYPE_FRSKY "\007"
|
||||||
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
||||||
|
@ -900,6 +903,7 @@
|
||||||
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
||||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
||||||
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
||||||
|
#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate")
|
||||||
#define TR_SYNCMENU "Sync [MENU]"
|
#define TR_SYNCMENU "Sync [MENU]"
|
||||||
#define TR_LIMIT INDENT "Grenzen"
|
#define TR_LIMIT INDENT "Grenzen"
|
||||||
#define TR_MINRSSI "Min. RSSI"
|
#define TR_MINRSSI "Min. RSSI"
|
||||||
|
|
|
@ -111,12 +111,15 @@
|
||||||
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
|
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
|
||||||
|
|
||||||
#define LEN_MULTI_PROTOCOLS "\006"
|
#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 "
|
#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""FS 2A\0"
|
||||||
|
|
||||||
#define TR_MULTI_CUSTOM "Custom"
|
#define TR_MULTI_CUSTOM "Custom"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FLYSKY "\004"
|
#define LEN_SUBTYPE_FLYSKY "\007"
|
||||||
#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912"
|
#define TR_SUBTYPE_FLYSKY "Std\0 ""V9x9 ""V6x6 ""V912 "
|
||||||
|
|
||||||
|
#define LEN_SUBTYPE_AFHDS2A "\010"
|
||||||
|
#define TR_SUBTYPE_AFHDS2A "PWM,IBUS""PPM,IBUS""PWM,SBUS""PPM,SBUS"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FRSKY "\007"
|
#define LEN_SUBTYPE_FRSKY "\007"
|
||||||
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
||||||
|
@ -866,6 +869,7 @@
|
||||||
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
||||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
||||||
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
||||||
|
#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate")
|
||||||
#define TR_SYNCMENU "[Sync]"
|
#define TR_SYNCMENU "[Sync]"
|
||||||
#define TR_LIMIT INDENT "Limit"
|
#define TR_LIMIT INDENT "Limit"
|
||||||
#define TR_MINRSSI "Min Rssi"
|
#define TR_MINRSSI "Min Rssi"
|
||||||
|
|
|
@ -107,12 +107,15 @@
|
||||||
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
|
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
|
||||||
|
|
||||||
#define LEN_MULTI_PROTOCOLS "\006"
|
#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 "
|
#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"
|
||||||
|
|
||||||
#define TR_MULTI_CUSTOM "Custom"
|
#define TR_MULTI_CUSTOM "Custom"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FLYSKY "\004"
|
#define LEN_SUBTYPE_FLYSKY "\007"
|
||||||
#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912"
|
#define TR_SUBTYPE_FLYSKY "Std\0 ""V9x9 ""V6x6 ""V912 "
|
||||||
|
|
||||||
|
#define LEN_SUBTYPE_AFHDS2A "\010"
|
||||||
|
#define TR_SUBTYPE_AFHDS2A "PWM,IBUS""PPM,IBUS""PWM,SBUS""PPM,SBUS"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FRSKY "\007"
|
#define LEN_SUBTYPE_FRSKY "\007"
|
||||||
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
||||||
|
@ -845,6 +848,7 @@
|
||||||
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
||||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
||||||
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
||||||
|
#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate")
|
||||||
#define TR_SYNCMENU "Sync " TR_ENTER
|
#define TR_SYNCMENU "Sync " TR_ENTER
|
||||||
#define TR_LIMIT INDENT"Limite"
|
#define TR_LIMIT INDENT"Limite"
|
||||||
#define TR_MINRSSI "Min Rssi"
|
#define TR_MINRSSI "Min Rssi"
|
||||||
|
|
|
@ -107,12 +107,15 @@
|
||||||
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
|
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
|
||||||
|
|
||||||
#define LEN_MULTI_PROTOCOLS "\006"
|
#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 "
|
#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"
|
||||||
|
|
||||||
#define TR_MULTI_CUSTOM "Custom"
|
#define TR_MULTI_CUSTOM "Custom"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FLYSKY "\004"
|
#define LEN_SUBTYPE_FLYSKY "\007"
|
||||||
#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912"
|
#define TR_SUBTYPE_FLYSKY "Std\0 ""V9x9 ""V6x6 ""V912 "
|
||||||
|
|
||||||
|
#define LEN_SUBTYPE_AFHDS2A "\010"
|
||||||
|
#define TR_SUBTYPE_AFHDS2A "PWM,IBUS""PPM,IBUS""PWM,SBUS""PPM,SBUS"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FRSKY "\007"
|
#define LEN_SUBTYPE_FRSKY "\007"
|
||||||
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
||||||
|
@ -845,6 +848,7 @@
|
||||||
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
||||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
||||||
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
||||||
|
#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate")
|
||||||
#define TR_SYNCMENU "[Sync]"
|
#define TR_SYNCMENU "[Sync]"
|
||||||
#define TR_LIMIT INDENT"Limit"
|
#define TR_LIMIT INDENT"Limit"
|
||||||
#define TR_MINRSSI "Min Rssi"
|
#define TR_MINRSSI "Min Rssi"
|
||||||
|
|
|
@ -107,12 +107,15 @@
|
||||||
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
|
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
|
||||||
|
|
||||||
#define LEN_MULTI_PROTOCOLS "\006"
|
#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 "
|
#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"
|
||||||
|
|
||||||
#define TR_MULTI_CUSTOM "Perso"
|
#define TR_MULTI_CUSTOM "Perso"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FLYSKY "\004"
|
#define LEN_SUBTYPE_FLYSKY "\007"
|
||||||
#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912"
|
#define TR_SUBTYPE_FLYSKY "Std\0 ""V9x9 ""V6x6 ""V912 "
|
||||||
|
|
||||||
|
#define LEN_SUBTYPE_AFHDS2A "\010"
|
||||||
|
#define TR_SUBTYPE_AFHDS2A "PWM,IBUS""PPM,IBUS""PWM,SBUS""PPM,SBUS"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FRSKY "\007"
|
#define LEN_SUBTYPE_FRSKY "\007"
|
||||||
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
||||||
|
@ -877,6 +880,7 @@
|
||||||
#define TR_MULTI_AUTOBIND INDENT "Bind automatique"
|
#define TR_MULTI_AUTOBIND INDENT "Bind automatique"
|
||||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
||||||
#define TR_MULTI_LOWPOWER TR( INDENT "low power", INDENT "Mode basse puiss.")
|
#define TR_MULTI_LOWPOWER TR( INDENT "low power", INDENT "Mode basse puiss.")
|
||||||
|
#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate")
|
||||||
#define TR_SYNCMENU "Sync [MENU]"
|
#define TR_SYNCMENU "Sync [MENU]"
|
||||||
#define TR_LIMIT INDENT "Limite"
|
#define TR_LIMIT INDENT "Limite"
|
||||||
#define TR_MINRSSI "RSSI Min."
|
#define TR_MINRSSI "RSSI Min."
|
||||||
|
|
|
@ -107,12 +107,15 @@
|
||||||
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
|
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
|
||||||
|
|
||||||
#define LEN_MULTI_PROTOCOLS "\006"
|
#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 "
|
#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"
|
||||||
|
|
||||||
#define TR_MULTI_CUSTOM "Custom"
|
#define TR_MULTI_CUSTOM "Custom"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FLYSKY "\004"
|
#define LEN_SUBTYPE_FLYSKY "\007"
|
||||||
#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912"
|
#define TR_SUBTYPE_FLYSKY "Std\0 ""V9x9 ""V6x6 ""V912 "
|
||||||
|
|
||||||
|
#define LEN_SUBTYPE_AFHDS2A "\010"
|
||||||
|
#define TR_SUBTYPE_AFHDS2A "PWM,IBUS""PPM,IBUS""PWM,SBUS""PPM,SBUS"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FRSKY "\007"
|
#define LEN_SUBTYPE_FRSKY "\007"
|
||||||
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
||||||
|
@ -880,6 +883,7 @@
|
||||||
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
||||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
||||||
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
||||||
|
#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate")
|
||||||
#define TR_SYNCMENU "[Sync]"
|
#define TR_SYNCMENU "[Sync]"
|
||||||
#define TR_LIMIT INDENT "Limiti"
|
#define TR_LIMIT INDENT "Limiti"
|
||||||
#define TR_MINRSSI "Min Rssi"
|
#define TR_MINRSSI "Min Rssi"
|
||||||
|
|
|
@ -112,12 +112,15 @@
|
||||||
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
|
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
|
||||||
|
|
||||||
#define LEN_MULTI_PROTOCOLS "\006"
|
#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 "
|
#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"
|
||||||
|
|
||||||
#define TR_MULTI_CUSTOM "Custom"
|
#define TR_MULTI_CUSTOM "Custom"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FLYSKY "\004"
|
#define LEN_SUBTYPE_FLYSKY "\007"
|
||||||
#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912"
|
#define TR_SUBTYPE_FLYSKY "Std\0 ""V9x9 ""V6x6 ""V912 "
|
||||||
|
|
||||||
|
#define LEN_SUBTYPE_AFHDS2A "\010"
|
||||||
|
#define TR_SUBTYPE_AFHDS2A "PWM,IBUS""PPM,IBUS""PWM,SBUS""PPM,SBUS"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FRSKY "\007"
|
#define LEN_SUBTYPE_FRSKY "\007"
|
||||||
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
||||||
|
@ -874,6 +877,7 @@
|
||||||
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
||||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
||||||
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
||||||
|
#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate")
|
||||||
#define TR_SYNCMENU "Sync [MENU]"
|
#define TR_SYNCMENU "Sync [MENU]"
|
||||||
#define TR_LIMIT INDENT "Grenzen"
|
#define TR_LIMIT INDENT "Grenzen"
|
||||||
#define TR_MINRSSI "Min. RSSI"
|
#define TR_MINRSSI "Min. RSSI"
|
||||||
|
|
|
@ -108,12 +108,15 @@
|
||||||
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
|
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
|
||||||
|
|
||||||
#define LEN_MULTI_PROTOCOLS "\006"
|
#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 "
|
#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"
|
||||||
|
|
||||||
#define TR_MULTI_CUSTOM "Custom"
|
#define TR_MULTI_CUSTOM "Custom"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FLYSKY "\004"
|
#define LEN_SUBTYPE_FLYSKY "\007"
|
||||||
#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912"
|
#define TR_SUBTYPE_FLYSKY "Std\0 ""V9x9 ""V6x6 ""V912 "
|
||||||
|
|
||||||
|
#define LEN_SUBTYPE_AFHDS2A "\010"
|
||||||
|
#define TR_SUBTYPE_AFHDS2A "PWM,IBUS""PPM,IBUS""PWM,SBUS""PPM,SBUS"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FRSKY "\007"
|
#define LEN_SUBTYPE_FRSKY "\007"
|
||||||
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
||||||
|
@ -882,6 +885,7 @@
|
||||||
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
||||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
||||||
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
||||||
|
#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate")
|
||||||
#define TR_SYNCMENU "[Synch]"
|
#define TR_SYNCMENU "[Synch]"
|
||||||
#define TR_LIMIT INDENT "Limit"
|
#define TR_LIMIT INDENT "Limit"
|
||||||
#define TR_MINRSSI "Min Rssi"
|
#define TR_MINRSSI "Min Rssi"
|
||||||
|
|
|
@ -107,13 +107,16 @@
|
||||||
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
|
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
|
||||||
|
|
||||||
#define LEN_MULTI_PROTOCOLS "\006"
|
#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 "
|
#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"
|
||||||
|
|
||||||
#define TR_MULTI_CUSTOM "Custom"
|
#define TR_MULTI_CUSTOM "Custom"
|
||||||
|
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FLYSKY "\004"
|
#define LEN_SUBTYPE_FLYSKY "\007"
|
||||||
#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912"
|
#define TR_SUBTYPE_FLYSKY "Std\0 ""V9x9 ""V6x6 ""V912 "
|
||||||
|
|
||||||
|
#define LEN_SUBTYPE_AFHDS2A "\010"
|
||||||
|
#define TR_SUBTYPE_AFHDS2A "PWM,IBUS""PPM,IBUS""PWM,SBUS""PPM,SBUS"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FRSKY "\007"
|
#define LEN_SUBTYPE_FRSKY "\007"
|
||||||
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
||||||
|
@ -841,6 +844,7 @@
|
||||||
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
||||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
||||||
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
||||||
|
#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate")
|
||||||
#define TR_LIMIT INDENT"Limite"
|
#define TR_LIMIT INDENT"Limite"
|
||||||
#define TR_MINRSSI "Min Rssi"
|
#define TR_MINRSSI "Min Rssi"
|
||||||
#define TR_LATITUDE "Latitude"
|
#define TR_LATITUDE "Latitude"
|
||||||
|
|
|
@ -107,12 +107,15 @@
|
||||||
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
|
#define TR_DSM_PROTOCOLS "LP45""DSM2""DSMX"
|
||||||
|
|
||||||
#define LEN_MULTI_PROTOCOLS "\006"
|
#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 "
|
#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"
|
||||||
|
|
||||||
#define TR_MULTI_CUSTOM "Custom"
|
#define TR_MULTI_CUSTOM "Custom"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FLYSKY "\004"
|
#define LEN_SUBTYPE_FLYSKY "\007"
|
||||||
#define TR_SUBTYPE_FLYSKY "Std\0""V9x9""V6x6""V912"
|
#define TR_SUBTYPE_FLYSKY "Std\0 ""V9x9 ""V6x6 ""V912 "
|
||||||
|
|
||||||
|
#define LEN_SUBTYPE_AFHDS2A "\010"
|
||||||
|
#define TR_SUBTYPE_AFHDS2A "PWM,IBUS""PPM,IBUS""PWM,SBUS""PPM,SBUS"
|
||||||
|
|
||||||
#define LEN_SUBTYPE_FRSKY "\007"
|
#define LEN_SUBTYPE_FRSKY "\007"
|
||||||
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
#define TR_SUBTYPE_FRSKY "D16\0 ""D8\0 ""D16 8ch""V8\0 "
|
||||||
|
@ -894,6 +897,7 @@
|
||||||
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
||||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
||||||
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
||||||
|
#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate")
|
||||||
#define TR_LIMIT INDENT "Nivå"
|
#define TR_LIMIT INDENT "Nivå"
|
||||||
#define TR_MINRSSI "Min Rssi"
|
#define TR_MINRSSI "Min Rssi"
|
||||||
#define TR_LATITUDE "Breddgrad"
|
#define TR_LATITUDE "Breddgrad"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue