Merge pull request #8327 from opentx/3djc/multi-enhancement
Improve multi options handling
This commit is contained in:
@@ -1538,40 +1538,35 @@ void menuModelSetup(event_t event)
|
||||
{
|
||||
#if defined(MULTIMODULE)
|
||||
if (MULTIMODULE_PROTOCOL_KNOWN(moduleIdx)) {
|
||||
const char * title = getMultiOptionTitle(moduleIdx);
|
||||
|
||||
lcdDrawText(INDENT_WIDTH, y, title);
|
||||
if (title == STR_MULTI_RFTUNE) {
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN + 23, y, "RSSI(", LEFT);
|
||||
lcdDrawNumber(lcdLastRightPos, y, TELEMETRY_RSSI(), LEFT);
|
||||
lcdDrawText(lcdLastRightPos, y, ")", LEFT);
|
||||
}
|
||||
|
||||
int optionValue = g_model.moduleData[moduleIdx].multi.optionValue;
|
||||
|
||||
MultiModuleStatus &status = getMultiModuleStatus(moduleIdx);
|
||||
const uint8_t multi_proto = g_model.moduleData[moduleIdx].getMultiProtocol();
|
||||
|
||||
if (status.isValid()) {
|
||||
MultiModuleStatus &status = getMultiModuleStatus(moduleIdx);
|
||||
lcdDrawText(INDENT_WIDTH, y, mm_options_strings::options[status.optionDisp]);
|
||||
if (attr && status.optionDisp == 2) {
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN + 23, y, "RSSI(", LEFT);
|
||||
lcdDrawNumber(lcdLastRightPos, y, TELEMETRY_RSSI(), LEFT);
|
||||
lcdDrawText(lcdLastRightPos, y, ")", LEFT);
|
||||
}
|
||||
}
|
||||
else {
|
||||
const mm_protocol_definition * pdef = getMultiProtocolDefinition(multi_proto);
|
||||
if (pdef->optionsstr) {
|
||||
lcdDrawText(INDENT_WIDTH, y, pdef->optionsstr);
|
||||
if (attr && pdef->optionsstr == STR_MULTI_RFTUNE) {
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN + 23, y, "RSSI(", LEFT);
|
||||
lcdDrawNumber(lcdLastRightPos, y, TELEMETRY_RSSI(), LEFT);
|
||||
lcdDrawText(lcdLastRightPos, y, ")", LEFT);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int8_t min, max;
|
||||
getMultiOptionValues(multi_proto, min, max);
|
||||
|
||||
if (multi_proto == MODULE_SUBTYPE_MULTI_FS_AFHDS2A) {
|
||||
if (title == STR_MULTI_RFPOWER) {
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_MULTI_POWER, optionValue, LEFT | attr);
|
||||
min = 0;
|
||||
max = 15;
|
||||
}
|
||||
else if (title == STR_MULTI_TELEMETRY) {
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_MULTI_TELEMETRY_MODE, optionValue, LEFT | attr);
|
||||
}
|
||||
else if (multi_proto == MODULE_SUBTYPE_MULTI_FS_AFHDS2A) {
|
||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, 50 + 5 * optionValue, LEFT | attr);
|
||||
}
|
||||
else if (multi_proto == MODULE_SUBTYPE_MULTI_FRSKY_R9) {
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_MULTI_POWER, optionValue, LEFT | attr);
|
||||
else if (title == STR_MULTI_WBUS) {
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_MULTI_WBUS_MODE, optionValue, LEFT | attr);
|
||||
min = 0;
|
||||
max = 1;
|
||||
}
|
||||
else if (multi_proto == MODULE_SUBTYPE_MULTI_DSM2) {
|
||||
optionValue = optionValue & 0x01;
|
||||
|
||||
@@ -1294,38 +1294,34 @@ void menuModelSetup(event_t event)
|
||||
#if defined(MULTIMODULE)
|
||||
|
||||
if (MULTIMODULE_PROTOCOL_KNOWN(moduleIdx)) {
|
||||
const char * title = getMultiOptionTitle(moduleIdx);
|
||||
|
||||
lcdDrawText(INDENT_WIDTH, y, title);
|
||||
if (title == STR_MULTI_RFTUNE) {
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN + 23, y, "RSSI(", LEFT);
|
||||
lcdDrawNumber(lcdLastRightPos, y, TELEMETRY_RSSI(), LEFT);
|
||||
lcdDrawText(lcdLastRightPos, y, ")", LEFT);
|
||||
}
|
||||
|
||||
int optionValue = g_model.moduleData[moduleIdx].multi.optionValue;
|
||||
|
||||
MultiModuleStatus &status = getMultiModuleStatus(moduleIdx);
|
||||
const uint8_t multi_proto = g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol();
|
||||
if (status.isValid()) {
|
||||
lcdDrawText(INDENT_WIDTH, y, mm_options_strings::options[status.optionDisp]);
|
||||
if (attr && status.optionDisp == 2) {
|
||||
lcdDrawText(MODEL_SETUP_3RD_COLUMN+22, y, "RSSI(", LEFT);
|
||||
lcdDrawNumber(lcdLastRightPos, y, TELEMETRY_RSSI(), LEFT);
|
||||
lcdDrawText(lcdLastRightPos, y, ")", LEFT);
|
||||
}
|
||||
}
|
||||
else {
|
||||
const mm_protocol_definition * pdef = getMultiProtocolDefinition(multi_proto);
|
||||
if (pdef->optionsstr)
|
||||
lcdDrawText(INDENT_WIDTH, y, pdef->optionsstr);
|
||||
if (pdef->optionsstr == STR_MULTI_RFTUNE) {
|
||||
lcdDrawText(MODEL_SETUP_3RD_COLUMN+22, y, "RSSI(", LEFT);
|
||||
lcdDrawNumber(lcdLastRightPos, y, TELEMETRY_RSSI(), LEFT);
|
||||
lcdDrawText(lcdLastRightPos, y, ")", LEFT);
|
||||
}
|
||||
}
|
||||
|
||||
const uint8_t multi_proto = g_model.moduleData[moduleIdx].getMultiProtocol();
|
||||
int8_t min, max;
|
||||
getMultiOptionValues(multi_proto, min, max);
|
||||
|
||||
if (multi_proto == MODULE_SUBTYPE_MULTI_FS_AFHDS2A) {
|
||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, 50 + 5 * optionValue, LEFT | attr);
|
||||
}
|
||||
else if (multi_proto == MODULE_SUBTYPE_MULTI_FRSKY_R9) {
|
||||
if (title == STR_MULTI_RFPOWER) {
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_MULTI_POWER, optionValue, LEFT | attr);
|
||||
}
|
||||
else if (title == STR_MULTI_TELEMETRY) {
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_MULTI_TELEMETRY_MODE, optionValue, LEFT | attr);
|
||||
}
|
||||
else if (title == STR_MULTI_WBUS) {
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_MULTI_WBUS_MODE, optionValue, LEFT | attr);
|
||||
min = 0;
|
||||
max = 1;
|
||||
}
|
||||
else if (multi_proto == MODULE_SUBTYPE_MULTI_FS_AFHDS2A) {
|
||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, 50 + 5 * optionValue, LEFT | attr);
|
||||
}
|
||||
else if (multi_proto == MODULE_SUBTYPE_MULTI_DSM2) {
|
||||
optionValue = optionValue & 0x01;
|
||||
editCheckBox(optionValue, MODEL_SETUP_2ND_COLUMN, y, "", LEFT | attr, event);
|
||||
|
||||
@@ -1676,34 +1676,33 @@ bool menuModelSetup(event_t event)
|
||||
{
|
||||
#if defined(MULTIMODULE)
|
||||
if (MULTIMODULE_PROTOCOL_KNOWN(moduleIdx)) {
|
||||
const char * title = getMultiOptionTitle(moduleIdx);
|
||||
|
||||
lcdDrawText(MENUS_MARGIN_LEFT + INDENT_WIDTH, y, title);
|
||||
if (title == STR_MULTI_RFTUNE) {
|
||||
lcdDrawNumber(LCD_W - 10, y, TELEMETRY_RSSI(), RIGHT, 0, "RSSI(", ")");
|
||||
}
|
||||
|
||||
int optionValue = g_model.moduleData[moduleIdx].multi.optionValue;
|
||||
|
||||
MultiModuleStatus &status = getMultiModuleStatus(moduleIdx);
|
||||
const uint8_t multi_proto = g_model.moduleData[moduleIdx].getMultiProtocol();
|
||||
if (status.isValid()) {
|
||||
lcdDrawText(MENUS_MARGIN_LEFT + INDENT_WIDTH, y, mm_options_strings::options[status.optionDisp]);
|
||||
if (attr && status.optionDisp == 2) {
|
||||
lcdDrawNumber(LCD_W - 10, y, TELEMETRY_RSSI(), RIGHT, 0, "RSSI(", ")");
|
||||
}
|
||||
}
|
||||
else {
|
||||
const mm_protocol_definition * pdef = getMultiProtocolDefinition(multi_proto);
|
||||
if (pdef->optionsstr) {
|
||||
lcdDrawText(MENUS_MARGIN_LEFT + INDENT_WIDTH, y, pdef->optionsstr);
|
||||
if (attr && pdef->optionsstr == STR_MULTI_RFTUNE) {
|
||||
lcdDrawNumber(LCD_W - 10, y, TELEMETRY_RSSI(), RIGHT, 0, "RSSI(", ")");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int8_t min, max;
|
||||
getMultiOptionValues(multi_proto, min, max);
|
||||
|
||||
if (multi_proto == MODULE_SUBTYPE_MULTI_FS_AFHDS2A) {
|
||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, 50 + 5 * optionValue, LEFT | attr);
|
||||
}
|
||||
else if (multi_proto == MODULE_SUBTYPE_MULTI_FRSKY_R9) {
|
||||
if (title == STR_MULTI_RFPOWER) {
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_MULTI_POWER, optionValue, LEFT | attr);
|
||||
min = 0;
|
||||
max = 15;
|
||||
}
|
||||
else if (title == STR_MULTI_TELEMETRY) {
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_MULTI_TELEMETRY_MODE, optionValue, LEFT | attr);
|
||||
}
|
||||
else if (title == STR_MULTI_WBUS) {
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_MULTI_WBUS_MODE, optionValue, LEFT | attr);
|
||||
min = 0;
|
||||
max = 1;
|
||||
}
|
||||
else if (multi_proto == MODULE_SUBTYPE_MULTI_FS_AFHDS2A) {
|
||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, 50 + 5 * optionValue, LEFT | attr);
|
||||
}
|
||||
else if (multi_proto == MODULE_SUBTYPE_MULTI_DSM2) {
|
||||
optionValue = optionValue & 0x01;
|
||||
@@ -1715,6 +1714,7 @@ bool menuModelSetup(event_t event)
|
||||
else
|
||||
lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, optionValue, LEFT | attr);
|
||||
}
|
||||
|
||||
if (attr) {
|
||||
CHECK_INCDEC_MODELVAR(event, optionValue, min, max);
|
||||
if (checkIncDec_Ret) {
|
||||
|
||||
@@ -994,9 +994,15 @@ const char* mm_options_strings::options[] = {
|
||||
STR_MULTI_SERVOFREQ,
|
||||
STR_MULTI_MAX_THROW,
|
||||
STR_MULTI_RFCHAN,
|
||||
STR_MULTI_RFPOWER
|
||||
STR_MULTI_RFPOWER,
|
||||
STR_MULTI_WBUS
|
||||
};
|
||||
|
||||
const uint8_t getMaxMultiOptions()
|
||||
{
|
||||
return DIM(mm_options_strings::options);
|
||||
}
|
||||
|
||||
const mm_protocol_definition multi_protocols[] = {
|
||||
// Protocol as defined in pulses\modules_constants.h, number of sub_protocols - 1, Failsafe supported, Disable channel mapping supported, Subtype string, Option type
|
||||
{MODULE_SUBTYPE_MULTI_FLYSKY, 4, false, true, STR_SUBTYPE_FLYSKY, nullptr},
|
||||
@@ -1091,3 +1097,22 @@ void editStickHardwareSettings(coord_t x, coord_t y, int idx, event_t event, Lcd
|
||||
else
|
||||
lcdDrawMMM(x, y, flags);
|
||||
}
|
||||
|
||||
#if defined(MULTIMODULE)
|
||||
const char * getMultiOptionTitle(uint8_t moduleIdx)
|
||||
{
|
||||
MultiModuleStatus &status = getMultiModuleStatus(moduleIdx);
|
||||
|
||||
if (status.isValid()) {
|
||||
if (status.optionDisp >= getMaxMultiOptions()) {
|
||||
status.optionDisp = 1; // Unknown options are defaulted to type 1 (basic option)
|
||||
}
|
||||
return mm_options_strings::options[status.optionDisp];
|
||||
}
|
||||
else {
|
||||
const uint8_t multi_proto = g_model.moduleData[moduleIdx].getMultiProtocol();
|
||||
const mm_protocol_definition * pdef = getMultiProtocolDefinition(multi_proto);
|
||||
return pdef->optionsstr;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -318,6 +318,7 @@ inline uint8_t MODULE_OPTION_ROW(uint8_t moduleIdx) {
|
||||
}
|
||||
|
||||
void editStickHardwareSettings(coord_t x, coord_t y, int idx, event_t event, LcdFlags flags);
|
||||
const char * getMultiOptionTitle(uint8_t moduleIdx);
|
||||
|
||||
const char * writeScreenshot();
|
||||
|
||||
|
||||
@@ -42,6 +42,8 @@ struct mm_options_strings {
|
||||
static const char* options[];
|
||||
};
|
||||
|
||||
const uint8_t getMaxMultiOptions();
|
||||
|
||||
struct mm_protocol_definition {
|
||||
uint8_t protocol;
|
||||
uint8_t maxSubtype;
|
||||
@@ -671,10 +673,6 @@ inline void getMultiOptionValues(int8_t multi_proto, int8_t & min, int8_t & max)
|
||||
min = -1;
|
||||
max = 84;
|
||||
break;
|
||||
case MODULE_SUBTYPE_MULTI_FRSKY_R9:
|
||||
min = 0; // 10mW
|
||||
max = 5; // 300mW
|
||||
break;
|
||||
default:
|
||||
min = -128;
|
||||
max = 127;
|
||||
|
||||
@@ -98,6 +98,8 @@ ISTR(INPUTNAMES);
|
||||
#if defined(MULTIMODULE)
|
||||
ISTR(MULTI_PROTOCOLS);
|
||||
ISTR(MULTI_POWER);
|
||||
ISTR(MULTI_TELEMETRY_MODE);
|
||||
ISTR(MULTI_WBUS_MODE);
|
||||
#endif
|
||||
|
||||
#if defined(BLUETOOTH)
|
||||
@@ -707,6 +709,7 @@ const char STR_BIND_OK[] = TR_BIND_OK;
|
||||
const char STR_MULTI_CUSTOM[] = TR_MULTI_CUSTOM;
|
||||
const char STR_MULTI_RFTUNE[] = TR_MULTI_RFTUNE;
|
||||
const char STR_MULTI_RFPOWER[] = TR_MULTI_RFPOWER;
|
||||
const char STR_MULTI_WBUS[] = TR_MULTI_WBUS;
|
||||
const char STR_MULTI_TELEMETRY[] = TR_MULTI_TELEMETRY;
|
||||
const char STR_MULTI_VIDFREQ[] = TR_MULTI_VIDFREQ;
|
||||
const char STR_MULTI_OPTION[] = TR_MULTI_OPTION;
|
||||
|
||||
@@ -161,6 +161,8 @@ extern const char STR_R9M_PXX2_RF_PROTOCOLS[];
|
||||
extern const char STR_DSM_PROTOCOLS[];
|
||||
extern const char STR_MULTI_PROTOCOLS[];
|
||||
extern const char STR_MULTI_POWER[];
|
||||
extern const char STR_MULTI_TELEMETRY_MODE[];
|
||||
extern const char STR_MULTI_WBUS_MODE[];
|
||||
extern const char STR_SPORT_MODES[];
|
||||
|
||||
#if defined(AFHDS3)
|
||||
@@ -403,6 +405,7 @@ extern const char STR_MULTI_OPTION[];
|
||||
extern const char STR_MULTI_VIDFREQ[];
|
||||
extern const char STR_MULTI_RFTUNE[];
|
||||
extern const char STR_MULTI_RFPOWER[];
|
||||
extern const char STR_MULTI_WBUS[];
|
||||
extern const char STR_MULTI_TELEMETRY[];
|
||||
extern const char STR_MULTI_AUTOBIND[];
|
||||
extern const char STR_DISABLE_CH_MAP[];
|
||||
|
||||
@@ -639,6 +639,7 @@
|
||||
#define TR_RECEIVER "Přijímač"
|
||||
#define TR_MULTI_RFTUNE TR(INDENT "Ladění frek", INDENT "Jemné ladění frek. RF")
|
||||
#define TR_MULTI_RFPOWER "RF power"
|
||||
#define TR_MULTI_WBUS "Output"
|
||||
#define TR_MULTI_TELEMETRY "Telemetrie"
|
||||
#define TR_MULTI_VIDFREQ TR(INDENT "Freq. videa", INDENT "Frekvence videa")
|
||||
#define TR_RFPOWER "Výkon RF"
|
||||
|
||||
@@ -641,6 +641,7 @@
|
||||
#define TR_RECEIVER "Empfänger"
|
||||
#define TR_MULTI_RFTUNE TR(INDENT "RF Freq.", INDENT "RF Freq. Feintuning")
|
||||
#define TR_MULTI_RFPOWER "RF power"
|
||||
#define TR_MULTI_WBUS "Output"
|
||||
#define TR_MULTI_TELEMETRY "Telemetry"
|
||||
#define TR_MULTI_VIDFREQ TR(INDENT "Vid. Freq.", INDENT "Video Frequenz")
|
||||
#define TR_RFPOWER "RF Power"
|
||||
|
||||
@@ -640,6 +640,7 @@
|
||||
#define TR_RECEIVER "Receiver"
|
||||
#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune")
|
||||
#define TR_MULTI_RFPOWER "RF power"
|
||||
#define TR_MULTI_WBUS "Output"
|
||||
#define TR_MULTI_TELEMETRY "Telemetry"
|
||||
#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency")
|
||||
#define TR_RFPOWER "RF Power"
|
||||
|
||||
@@ -642,6 +642,7 @@
|
||||
#define TR_RECEIVER "Receptor"
|
||||
#define TR_MULTI_RFTUNE TR("Sint.freq.", "RF Freq. sint.fina")
|
||||
#define TR_MULTI_RFPOWER "RF power"
|
||||
#define TR_MULTI_WBUS "Output"
|
||||
#define TR_MULTI_TELEMETRY "Telemetría"
|
||||
#define TR_MULTI_VIDFREQ TR("Freq.vídeo", "Frecuencia vídeo")
|
||||
#define TR_RFPOWER "RF Power"
|
||||
|
||||
@@ -658,6 +658,7 @@
|
||||
#define TR_RECEIVER "Receiver"
|
||||
#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune")
|
||||
#define TR_MULTI_RFPOWER "RF power"
|
||||
#define TR_MULTI_WBUS "Output"
|
||||
#define TR_MULTI_TELEMETRY "Telemetry"
|
||||
#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency")
|
||||
#define TR_RFPOWER "RF Power"
|
||||
|
||||
@@ -661,6 +661,7 @@
|
||||
#define TR_RECEIVER "Récept."
|
||||
#define TR_MULTI_RFTUNE TR(INDENT "Ajust.fréq", INDENT "Ajustement fréq.")
|
||||
#define TR_MULTI_RFPOWER "RF power"
|
||||
#define TR_MULTI_WBUS "Output"
|
||||
#define TR_MULTI_TELEMETRY "Télémétrie"
|
||||
#define TR_MULTI_VIDFREQ TR(INDENT "Fréq. vidéo", INDENT "Fréquence vidéo")
|
||||
#define TR_RFPOWER TR("Puiss. RF", "Puissance RF")
|
||||
|
||||
@@ -660,6 +660,7 @@
|
||||
#define TR_RECEIVER "Ricevente"
|
||||
#define TR_MULTI_RFTUNE TR("Tune RF", "Tune fine Freq. RF")
|
||||
#define TR_MULTI_RFPOWER "RF power"
|
||||
#define TR_MULTI_WBUS "Output"
|
||||
#define TR_MULTI_TELEMETRY "Telemetria"
|
||||
#define TR_MULTI_VIDFREQ TR("Freq. video", "Frequenza video")
|
||||
#define TR_RFPOWER "Potenza RF"
|
||||
|
||||
@@ -646,6 +646,7 @@
|
||||
#define TR_RECEIVER "Receiver"
|
||||
#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune")
|
||||
#define TR_MULTI_RFPOWER "RF power"
|
||||
#define TR_MULTI_WBUS "Output"
|
||||
#define TR_MULTI_TELEMETRY "Telemetry"
|
||||
#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency")
|
||||
#define TR_RFPOWER "RF Power"
|
||||
|
||||
@@ -659,6 +659,7 @@
|
||||
#define TR_RECEIVER INDENT "Receiver"
|
||||
#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune")
|
||||
#define TR_MULTI_RFPOWER "RF power"
|
||||
#define TR_MULTI_WBUS "Output"
|
||||
#define TR_MULTI_TELEMETRY "Telemetry"
|
||||
#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency")
|
||||
#define TR_RFPOWER "RF Power"
|
||||
|
||||
@@ -661,6 +661,7 @@
|
||||
#define TR_SYNCMENU "Sync [MENU]"
|
||||
#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune")
|
||||
#define TR_MULTI_RFPOWER "RF power"
|
||||
#define TR_MULTI_WBUS "Output"
|
||||
#define TR_MULTI_TELEMETRY "Telemetry"
|
||||
#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency")
|
||||
#define TR_RFPOWER "RF Power"
|
||||
|
||||
@@ -659,6 +659,7 @@
|
||||
#define TR_SYNCMENU "Synk [MENU]"
|
||||
#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune")
|
||||
#define TR_MULTI_RFPOWER "RF power"
|
||||
#define TR_MULTI_WBUS "Output"
|
||||
#define TR_MULTI_TELEMETRY "Telemetry"
|
||||
#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency")
|
||||
#define TR_RFPOWER "RF Power"
|
||||
|
||||
@@ -134,7 +134,13 @@
|
||||
#define TR_MULTI_PROTOCOLS "FlySky\0""Hubsan\0""FrSky\0 ""Hisky\0 ""V2x2\0 ""DSM\0 ""Devo\0 ""YD717\0 ""KN\0 ""SymaX\0 ""SLT\0 ""CX10\0 ""CG023\0 ""Bayang\0""ESky\0 ""MT99XX\0""MJXq\0 ""Shenqi\0""FY326\0 ""Futaba\0""J6 Pro\0""FQ777\0 ""Assan\0 ""Hontai\0""OpenLrs""FlSky2A""Q2x2\0 ""Walkera""Q303\0 ""GW008\0 ""DM002\0 ""Cabell\0""Esky150""H8 3D\0 ""Corona\0""CFlie\0 ""Hitec\0 ""WFly\0 ""Bugs\0 ""BugMini""Traxxas""NCC1701""E01X\0 ""V911S\0 ""GD00X\0 ""V761\0 ""KF606\0 ""Redpine""Potensi""ZSX\0 ""Height\0""Scanner""FrSkyRX""FS2A_RX""HoTT\0 ""FX816\0 ""BayanRX""Pelikan""Tiger\0 ""XK\0 ""XN297DU""FrSkyX2""FrSkyR9""Propel\0""FrSkyL\0""Skyartc""ESky-v2""DSM RX\0""JJRC345""Q90C\0 ""Kyosho\0""RadLink""ExpLRS\0""Realacc""OMP\0 ""M-Link\0""Wfly 2\0""E016Hv2"
|
||||
|
||||
#define LEN_MULTI_POWER "\005"
|
||||
#define TR_MULTI_POWER "10mW\0""25mW\0""50mW\0""100mW""200mW""300mW""500mW""1W\0 ""2W\0 "
|
||||
#define TR_MULTI_POWER "1.6mW""2.0mW""2.5mW""3.2mW""4.0mW""5.0mW""6.3mW""7.9mW""10mW\0""13mW\0""16mW\0""20mW\0""25mW\0""32mW\0""40mW\0""50mW\0"
|
||||
|
||||
#define LEN_MULTI_WBUS_MODE "\004"
|
||||
#define TR_MULTI_WBUS_MODE "WBUS""PPM\0"
|
||||
|
||||
#define LEN_MULTI_TELEMETRY_MODE "\007"
|
||||
#define TR_MULTI_TELEMETRY_MODE "Off\0 ""On\0 ""Off+Aux""On+Aux\0"
|
||||
|
||||
#define LEN_AFHDS3_PROTOCOLS "\x008"
|
||||
#define TR_AFHDS3_PROTOCOLS "PWM/IBUS""PWM/SBUS""PPM/IBUS""PPM/SBUS"
|
||||
|
||||
Reference in New Issue
Block a user