Fixes
This commit is contained in:
@@ -76,11 +76,6 @@ extern int8_t s_editMode; // global editmode
|
||||
#define INCDEC_ENABLE_CHECK(fn) isValueAvailable = fn
|
||||
#define CHECK_INCDEC_PARAM(event, var, min, max) checkIncDec(event, var, min, max, incdecFlag, isValueAvailable)
|
||||
|
||||
// mawrow special values
|
||||
#define READONLY_ROW ((uint8_t)-1)
|
||||
#define TITLE_ROW READONLY_ROW
|
||||
#define HIDDEN_ROW ((uint8_t)-2)
|
||||
|
||||
struct CheckIncDecStops {
|
||||
const int count;
|
||||
const int stops[];
|
||||
|
||||
@@ -264,7 +264,7 @@ void onBluetoothConnectMenu(const char * result)
|
||||
LABEL(InternalModule), \
|
||||
INTERNAL_MODULE_TYPE_ROWS, \
|
||||
INTERNAL_MODULE_CHANNELS_ROWS, \
|
||||
IF_NOT_ACCESS_MODULE_RF(INTERNAL_MODULE, IF_INTERNAL_MODULE_ON(isModuleModelIndexAvailable(INTERNAL_MODULE) ? (uint8_t)2 : (uint8_t)1)), \
|
||||
IF_NOT_ACCESS_MODULE_RF(INTERNAL_MODULE, IF_INTERNAL_MODULE_ON(isModuleRxNumAvailable(INTERNAL_MODULE) ? (uint8_t)2 : (uint8_t)1)), \
|
||||
IF_ACCESS_MODULE_RF(INTERNAL_MODULE, 0), /* RxNum */ \
|
||||
ANTENNA_ROW \
|
||||
IF_INTERNAL_MODULE_ON(FAILSAFE_ROWS(INTERNAL_MODULE)), /* Failsafe */ \
|
||||
@@ -1330,7 +1330,7 @@ void menuModelSetup(event_t event)
|
||||
else {
|
||||
horzpos_t l_posHorz = menuHorizontalPosition;
|
||||
coord_t xOffsetBind = MODEL_SETUP_BIND_OFS;
|
||||
if (!isModuleModelIndexAvailable(moduleIdx)) {
|
||||
if (!isModuleRxNumAvailable(moduleIdx)) {
|
||||
xOffsetBind = 0;
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_RECEIVER);
|
||||
if (attr) l_posHorz += 1;
|
||||
@@ -1500,7 +1500,7 @@ void menuModelSetup(event_t event)
|
||||
const uint8_t multi_proto = g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true);
|
||||
const mm_protocol_definition * pdef = getMultiProtocolDefinition(multi_proto);
|
||||
if (pdef->optionsstr)
|
||||
lcdDrawTextAlignedLeft(y, pdef->optionsstr);
|
||||
lcdDrawText(INDENT_WIDTH, y, pdef->optionsstr);
|
||||
|
||||
if (multi_proto == MODULE_SUBTYPE_MULTI_FS_AFHDS2A)
|
||||
optionValue = 50 + 5 * optionValue;
|
||||
|
||||
@@ -94,11 +94,6 @@ extern int8_t s_editMode; // global editmode
|
||||
#define INCDEC_ENABLE_CHECK(fn) isValueAvailable = fn
|
||||
#define CHECK_INCDEC_PARAM(event, var, min, max) checkIncDec(event, var, min, max, incdecFlag, isValueAvailable)
|
||||
|
||||
// mawrow special values
|
||||
#define READONLY_ROW ((uint8_t)-1)
|
||||
#define TITLE_ROW READONLY_ROW
|
||||
#define HIDDEN_ROW ((uint8_t)-2)
|
||||
|
||||
struct CheckIncDecStops
|
||||
{
|
||||
const int count;
|
||||
|
||||
@@ -234,7 +234,15 @@ void editTimerCountdown(int timerIdx, coord_t y, LcdFlags attr, event_t event)
|
||||
|
||||
#define TIMER_ROWS(x) 2|NAVIGATION_LINE_BY_LINE, 0, 0, 0, g_model.timers[x].countdownBeep != COUNTDOWN_SILENT ? (uint8_t) 1 : (uint8_t)0
|
||||
|
||||
#define EXTERNAL_MODULE_MODE_ROWS (isModuleXJT(EXTERNAL_MODULE) || isModuleR9MNonAccess(EXTERNAL_MODULE) || isModuleDSM2(EXTERNAL_MODULE) || isModuleMultimodule(EXTERNAL_MODULE)) ? (uint8_t)1 : (uint8_t)0
|
||||
inline uint8_t EXTERNAL_MODULE_MODE_ROWS() {
|
||||
if (isModuleXJT(EXTERNAL_MODULE) || isModuleR9MNonAccess(EXTERNAL_MODULE) || isModuleDSM2(EXTERNAL_MODULE))
|
||||
return 1;
|
||||
else if (isModuleMultimodule(EXTERNAL_MODULE)) {
|
||||
return 2 + MULTIMODULE_RFPROTO_ROWS(EXTERNAL_MODULE);
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if TIMERS == 1
|
||||
#define TIMERS_ROWS TIMER_ROWS(0)
|
||||
@@ -325,7 +333,7 @@ void menuModelSetup(event_t event)
|
||||
IF_ACCESS_MODULE_RF(INTERNAL_MODULE, 0), // Receiver 3
|
||||
|
||||
LABEL(ExternalModule),
|
||||
EXTERNAL_MODULE_MODE_ROWS,
|
||||
EXTERNAL_MODULE_MODE_ROWS(),
|
||||
MULTIMODULE_STATUS_ROWS
|
||||
EXTERNAL_MODULE_CHANNELS_ROWS,
|
||||
IF_NOT_ACCESS_MODULE_RF(EXTERNAL_MODULE, EXTERNAL_MODULE_BIND_ROWS),
|
||||
@@ -794,15 +802,15 @@ void menuModelSetup(event_t event)
|
||||
|
||||
// Do not use MODEL_SETUP_3RD_COLUMN here since some the protocol string are so long that we cannot afford the 2 spaces (+6) here
|
||||
if (g_model.moduleData[EXTERNAL_MODULE].multi.customProto) {
|
||||
lcdDrawText(MODEL_SETUP_2ND_COLUMN + 5 * FW, y, STR_MULTI_CUSTOM, menuHorizontalPosition == 1 ? attr : 0);
|
||||
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);
|
||||
lcdDrawText(lcdNextPos + FW, y, STR_MULTI_CUSTOM, menuHorizontalPosition == 1 ? attr : 0);
|
||||
lcdDrawNumber(lcdNextPos + FW, y, g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(false), menuHorizontalPosition == 2 ? attr : 0, 2);
|
||||
lcdDrawNumber(lcdNextPos + FW, y, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition == 3 ? attr : 0, 2);
|
||||
}
|
||||
else {
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+5*FW, y, STR_MULTI_PROTOCOLS, multi_rfProto, menuHorizontalPosition==1 ? attr : 0);
|
||||
const mm_protocol_definition *pdef = getMultiProtocolDefinition(multi_rfProto);
|
||||
if (pdef->subTypeString != nullptr) {
|
||||
lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN+11*FW, y, pdef->subTypeString, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
||||
lcdDrawTextAtIndex(lcdNextPos + FW, y, STR_MULTI_PROTOCOLS, multi_rfProto, menuHorizontalPosition==1 ? attr : 0);
|
||||
const mm_protocol_definition * pdef = getMultiProtocolDefinition(multi_rfProto);
|
||||
if (pdef->subTypeString) {
|
||||
lcdDrawTextAtIndex(lcdNextPos + FW, y, pdef->subTypeString, g_model.moduleData[EXTERNAL_MODULE].subType, menuHorizontalPosition==2 ? attr : 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1034,7 +1042,7 @@ void menuModelSetup(event_t event)
|
||||
else {
|
||||
horzpos_t l_posHorz = menuHorizontalPosition;
|
||||
coord_t xOffsetBind = MODEL_SETUP_BIND_OFS;
|
||||
if (!isModuleModelIndexAvailable(moduleIdx)) {
|
||||
if (!isModuleRxNumAvailable(moduleIdx)) {
|
||||
xOffsetBind = 0;
|
||||
lcdDrawText(INDENT_WIDTH, y, STR_RECEIVER);
|
||||
if (attr) l_posHorz += 1;
|
||||
|
||||
@@ -283,10 +283,7 @@ extern int8_t s_editMode; // global editmode
|
||||
#define NO_DBLKEYS 0x80
|
||||
|
||||
// mawrow special values
|
||||
#define READONLY_ROW ((uint8_t)-1)
|
||||
#define TITLE_ROW READONLY_ROW
|
||||
#define ORPHAN_ROW ((uint8_t)-2)
|
||||
#define HIDDEN_ROW ((uint8_t)-3)
|
||||
#define ORPHAN_ROW ((uint8_t)-3)
|
||||
#define NAVIGATION_LINE_BY_LINE 0x40
|
||||
#define CURSOR_ON_LINE() (menuHorizontalPosition<0)
|
||||
|
||||
|
||||
@@ -584,7 +584,7 @@ bool menuModelSetup(event_t event)
|
||||
LABEL(InternalModule),
|
||||
INTERNAL_MODULE_TYPE_ROWS,
|
||||
INTERNAL_MODULE_CHANNELS_ROWS,
|
||||
IF_NOT_ACCESS_MODULE_RF(INTERNAL_MODULE, IF_INTERNAL_MODULE_ON(IF_INTERNAL_MODULE_ON(isModuleModelIndexAvailable(INTERNAL_MODULE) ? (uint8_t)2 : (uint8_t)1))),
|
||||
IF_NOT_ACCESS_MODULE_RF(INTERNAL_MODULE, IF_INTERNAL_MODULE_ON(IF_INTERNAL_MODULE_ON(isModuleRxNumAvailable(INTERNAL_MODULE) ? (uint8_t)2 : (uint8_t)1))),
|
||||
IF_ACCESS_MODULE_RF(INTERNAL_MODULE, 0), // RxNum
|
||||
ANTENNA_ROW
|
||||
IF_INTERNAL_MODULE_ON(FAILSAFE_ROWS(INTERNAL_MODULE)),
|
||||
@@ -1426,7 +1426,7 @@ bool menuModelSetup(event_t event)
|
||||
else {
|
||||
int l_posHorz = menuHorizontalPosition;
|
||||
coord_t xOffsetBind = MODEL_SETUP_BIND_OFS;
|
||||
if (!isModuleModelIndexAvailable(moduleIdx)) {
|
||||
if (!isModuleRxNumAvailable(moduleIdx)) {
|
||||
xOffsetBind = 0;
|
||||
lcdDrawText(MENUS_MARGIN_LEFT + INDENT_WIDTH, y, STR_RECEIVER);
|
||||
if (attr) l_posHorz += 1;
|
||||
@@ -1547,7 +1547,7 @@ bool menuModelSetup(event_t event)
|
||||
const uint8_t multi_proto = g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true);
|
||||
const mm_protocol_definition *pdef = getMultiProtocolDefinition(multi_proto);
|
||||
if (pdef->optionsstr)
|
||||
lcdDrawText(MENUS_MARGIN_LEFT, y, pdef->optionsstr);
|
||||
lcdDrawText(MENUS_MARGIN_LEFT + INDENT_WIDTH, y, pdef->optionsstr);
|
||||
|
||||
if (multi_proto == MODULE_SUBTYPE_MULTI_FS_AFHDS2A)
|
||||
optionValue = 50 + 5 * optionValue;
|
||||
|
||||
+24
-15
@@ -25,6 +25,10 @@
|
||||
#include "keys.h"
|
||||
#include "telemetry/telemetry_sensors.h"
|
||||
|
||||
#define READONLY_ROW ((uint8_t)-1)
|
||||
#define TITLE_ROW READONLY_ROW
|
||||
#define HIDDEN_ROW ((uint8_t)-2)
|
||||
|
||||
#if defined(ROTARY_ENCODER_NAVIGATION)
|
||||
#define CASE_EVT_ROTARY_LEFT case EVT_ROTARY_LEFT:
|
||||
#define CASE_EVT_ROTARY_RIGHT case EVT_ROTARY_RIGHT:
|
||||
@@ -120,26 +124,31 @@ void lcdDrawMMM(coord_t x, coord_t y, LcdFlags flags=0);
|
||||
#define EXTERNAL_MODULE_BIND_ROWS (isModuleXJTD8(EXTERNAL_MODULE) || isModuleSBUS(EXTERNAL_MODULE)) ? (uint8_t)1 : (isModulePPM(EXTERNAL_MODULE) || isModulePXX1(EXTERNAL_MODULE) || isModulePXX2(EXTERNAL_MODULE) || isModuleDSM2(EXTERNAL_MODULE) || isModuleMultimodule(EXTERNAL_MODULE)) ? (uint8_t)2 : HIDDEN_ROW
|
||||
|
||||
#if defined(MULTIMODULE)
|
||||
#define MULTIMODULE_STATUS_ROWS isModuleMultimodule(EXTERNAL_MODULE) ? TITLE_ROW : HIDDEN_ROW, (isModuleMultimodule(EXTERNAL_MODULE) && multiSyncStatus.isValid()) ? TITLE_ROW : HIDDEN_ROW,
|
||||
#define MULTIMODULE_MODULE_ROWS isModuleMultimodule(EXTERNAL_MODULE) ? (uint8_t) 0 : HIDDEN_ROW,
|
||||
#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_SUBTYPE_ROWS(x) isModuleMultimodule(x) ? MULTIMODULE_RFPROTO_ROWS(x) : HIDDEN_ROW,
|
||||
#define MULTIMODULE_HAS_SUBTYPE(x) (getMultiProtocolDefinition(x)->maxSubtype > 0)
|
||||
#define MULTIMODULE_HASOPTIONS(x) (getMultiProtocolDefinition(x)->optionsstr != nullptr)
|
||||
#define MULTIMODULE_OPTIONS_ROW (isModuleMultimodule(EXTERNAL_MODULE) && MULTIMODULE_HASOPTIONS(g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true))) ? (uint8_t) 0: HIDDEN_ROW
|
||||
|
||||
// When using packed, the pointer in here end up not being aligned, which clang and gcc complain about
|
||||
// Keep the order of the fields that the so that the size stays small
|
||||
struct mm_protocol_definition {
|
||||
uint8_t protocol;
|
||||
uint8_t maxSubtype;
|
||||
bool failsafe;
|
||||
const char *subTypeString;
|
||||
const char *optionsstr;
|
||||
uint8_t protocol;
|
||||
uint8_t maxSubtype;
|
||||
bool failsafe;
|
||||
const char *subTypeString;
|
||||
const char *optionsstr;
|
||||
};
|
||||
|
||||
const mm_protocol_definition *getMultiProtocolDefinition (uint8_t protocol);
|
||||
#define MULTIMODULE_STATUS_ROWS isModuleMultimodule(EXTERNAL_MODULE) ? TITLE_ROW : HIDDEN_ROW, (isModuleMultimodule(EXTERNAL_MODULE) && multiSyncStatus.isValid()) ? TITLE_ROW : HIDDEN_ROW,
|
||||
#define MULTIMODULE_MODULE_ROWS isModuleMultimodule(EXTERNAL_MODULE) ? (uint8_t) 0 : HIDDEN_ROW,
|
||||
#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
|
||||
inline bool MULTIMODULE_HAS_SUBTYPE(uint8_t moduleIdx)
|
||||
{
|
||||
return getMultiProtocolDefinition(moduleIdx)->maxSubtype > 0;
|
||||
}
|
||||
inline uint8_t MULTIMODULE_RFPROTO_ROWS(uint8_t moduleIdx)
|
||||
{
|
||||
return (g_model.moduleData[moduleIdx].multi.customProto ? (uint8_t) 1 : MULTIMODULE_HAS_SUBTYPE(g_model.moduleData[moduleIdx].getMultiProtocol(true)) ? (uint8_t) 0 : HIDDEN_ROW);
|
||||
}
|
||||
#define MULTIMODULE_SUBTYPE_ROWS(x) isModuleMultimodule(x) ? MULTIMODULE_RFPROTO_ROWS(x) : HIDDEN_ROW,
|
||||
#define MULTIMODULE_HASOPTIONS(x) (getMultiProtocolDefinition(x)->optionsstr != nullptr)
|
||||
#define MULTIMODULE_OPTIONS_ROW (isModuleMultimodule(EXTERNAL_MODULE) && MULTIMODULE_HASOPTIONS(g_model.moduleData[EXTERNAL_MODULE].getMultiProtocol(true))) ? (uint8_t) 0: HIDDEN_ROW
|
||||
|
||||
#else
|
||||
#define MULTIMODULE_STATUS_ROWS
|
||||
#define MULTIMODULE_MODULE_ROWS
|
||||
|
||||
@@ -279,27 +279,27 @@ static const int8_t maxChannelsXJT[] = { 0, 8, 0, 4 }; // relative to 8!
|
||||
constexpr int8_t MAX_TRAINER_CHANNELS_M8 = MAX_TRAINER_CHANNELS - 8;
|
||||
constexpr int8_t MAX_EXTRA_MODULE_CHANNELS_M8 = 8; // only 16ch PPM
|
||||
|
||||
inline int8_t maxModuleChannels_M8(uint8_t idx)
|
||||
inline int8_t maxModuleChannels_M8(uint8_t moduleIdx)
|
||||
{
|
||||
if (isExtraModule(idx)) {
|
||||
if (isExtraModule(moduleIdx)) {
|
||||
return MAX_EXTRA_MODULE_CHANNELS_M8;
|
||||
}
|
||||
else if (isModuleXJT(idx)) {
|
||||
return maxChannelsXJT[1 + g_model.moduleData[idx].subType];
|
||||
else if (isModuleXJT(moduleIdx)) {
|
||||
return maxChannelsXJT[1 + g_model.moduleData[moduleIdx].subType];
|
||||
}
|
||||
else if (isModuleR9M(idx)) {
|
||||
if (isModuleR9M_LBT(idx)) {
|
||||
if (isModuleR9MLite(idx))
|
||||
return g_model.moduleData[idx].pxx.power == R9M_LITE_LBT_POWER_25_8CH ? 0 : 8;
|
||||
else if (isModuleR9M(moduleIdx)) {
|
||||
if (isModuleR9M_LBT(moduleIdx)) {
|
||||
if (isModuleR9MLite(moduleIdx))
|
||||
return g_model.moduleData[moduleIdx].pxx.power == R9M_LITE_LBT_POWER_25_8CH ? 0 : 8;
|
||||
else
|
||||
return g_model.moduleData[idx].pxx.power == R9M_LBT_POWER_25_8CH ? 0 : 8;
|
||||
return g_model.moduleData[moduleIdx].pxx.power == R9M_LBT_POWER_25_8CH ? 0 : 8;
|
||||
}
|
||||
else {
|
||||
return 8; // always 16 channels in FCC / FLEX
|
||||
}
|
||||
}
|
||||
else {
|
||||
return maxChannelsModules[g_model.moduleData[idx].type];
|
||||
return maxChannelsModules[g_model.moduleData[moduleIdx].type];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -336,18 +336,21 @@ inline bool isDefaultModelRegistrationID()
|
||||
return memcmp(g_model.modelRegistrationID, g_eeGeneral.ownerRegistrationID, PXX2_LEN_REGISTRATION_ID) == 0;
|
||||
}
|
||||
|
||||
inline bool isModuleModelIndexAvailable(uint8_t idx)
|
||||
inline bool isModuleRxNumAvailable(uint8_t moduleIdx)
|
||||
{
|
||||
if (isModuleXJT(idx))
|
||||
return g_model.moduleData[idx].subType != MODULE_SUBTYPE_PXX1_ACCST_D8;
|
||||
if (isModuleXJT(moduleIdx))
|
||||
return g_model.moduleData[moduleIdx].subType != MODULE_SUBTYPE_PXX1_ACCST_D8;
|
||||
|
||||
if (isModuleR9M(idx))
|
||||
if (isModuleR9M(moduleIdx))
|
||||
return true;
|
||||
|
||||
if (isModuleDSM2(idx))
|
||||
if (isModuleDSM2(moduleIdx))
|
||||
return true;
|
||||
|
||||
if (isModuleISRM(idx))
|
||||
if (isModuleISRM(moduleIdx))
|
||||
return true;
|
||||
|
||||
if (isModuleMultimodule(moduleIdx))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
|
||||
@@ -708,7 +708,7 @@
|
||||
#define TR_MULTI_RFTUNE TR(INDENT "RF Freq.", INDENT "RF Freq. Feintuning")
|
||||
#define TR_MULTI_TELEMETRY "Telemetry"
|
||||
#define TR_MULTI_VIDFREQ TR(INDENT "Vid. Freq.", INDENT "Video Frequenz")
|
||||
#define TR_RFPOWER INDENT "RF Power"
|
||||
#define TR_RFPOWER "RF Power"
|
||||
#define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Optionswert")
|
||||
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
||||
@@ -731,7 +731,7 @@
|
||||
#define TR_PROTOCOL_INVALID TR("Prot. invalid", "Protocol invalid")
|
||||
#define TR_MODULE_STATUS TR(INDENT "Status", INDENT "Module Status")
|
||||
#define TR_MODULE_SYNC TR(INDENT "Sync", INDENT "Module Sync")
|
||||
#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate")
|
||||
#define TR_MULTI_SERVOFREQ TR("Servo rate", "Servo update rate")
|
||||
#define TR_SYNCMENU "Sync [MENU]"
|
||||
#define TR_LIMIT INDENT "Grenzen"
|
||||
#define TR_MINRSSI "Min. RSSI"
|
||||
|
||||
@@ -696,11 +696,11 @@
|
||||
#define TR_MONITOR_MIXER_DESC "Mixers"
|
||||
#define TR_RECEIVER_NUM TR("RxNum", "Receiver No.")
|
||||
#define TR_RECEIVER "Receiver"
|
||||
#define TR_MULTI_RFTUNE TR(INDENT "Freq tune",INDENT "RF Freq. fine tune")
|
||||
#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune")
|
||||
#define TR_MULTI_TELEMETRY "Telemetry"
|
||||
#define TR_MULTI_VIDFREQ TR(INDENT "Vid. freq.", INDENT "Video frequency")
|
||||
#define TR_RFPOWER INDENT "RF Power"
|
||||
#define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Option value")
|
||||
#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency")
|
||||
#define TR_RFPOWER "RF Power"
|
||||
#define TR_MULTI_OPTION TR("Option", "Option value")
|
||||
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
||||
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
||||
@@ -722,7 +722,7 @@
|
||||
#define TR_PROTOCOL_INVALID TR("Prot. invalid", "Protocol invalid")
|
||||
#define TR_MODULE_STATUS TR(INDENT "Status", INDENT "Module Status")
|
||||
#define TR_MODULE_SYNC TR(INDENT "Sync", INDENT "Module Sync")
|
||||
#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate")
|
||||
#define TR_MULTI_SERVOFREQ TR("Servo rate", "Servo update rate")
|
||||
#define TR_SYNCMENU "[Sync]"
|
||||
#define TR_LIMIT INDENT "Limit"
|
||||
#define TR_MINRSSI "Min Rssi"
|
||||
|
||||
@@ -720,11 +720,11 @@
|
||||
#define TR_MONITOR_MIXER_DESC "Mixers"
|
||||
#define TR_RECEIVER_NUM TR("RxNum", "Receptor No.")
|
||||
#define TR_RECEIVER "Receiver"
|
||||
#define TR_MULTI_RFTUNE TR(INDENT "Freq tune",INDENT "RF Freq. fine tune")
|
||||
#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune")
|
||||
#define TR_MULTI_TELEMETRY "Telemetry"
|
||||
#define TR_MULTI_VIDFREQ TR(INDENT "Vid. freq.", INDENT "Video frequency")
|
||||
#define TR_RFPOWER INDENT "RF Power"
|
||||
#define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Option value")
|
||||
#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency")
|
||||
#define TR_RFPOWER "RF Power"
|
||||
#define TR_MULTI_OPTION TR("Option", "Option value")
|
||||
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
||||
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
||||
@@ -746,7 +746,7 @@
|
||||
#define TR_PROTOCOL_INVALID TR("Prot. invalid", "Protocol invalid")
|
||||
#define TR_MODULE_STATUS TR(INDENT "Status", INDENT "Module Status")
|
||||
#define TR_MODULE_SYNC TR(INDENT "Sync", INDENT "Module Sync")
|
||||
#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate")
|
||||
#define TR_MULTI_SERVOFREQ TR("Servo rate", "Servo update rate")
|
||||
#define TR_SYNCMENU "Sync " TR_ENTER
|
||||
#define TR_LIMIT INDENT"Limite"
|
||||
#define TR_MINRSSI "Min Rssi"
|
||||
|
||||
@@ -713,11 +713,11 @@
|
||||
#define TR_MONITOR_MIXER_DESC "Mixers"
|
||||
#define TR_RECEIVER_NUM TR("RxNum", "Receiver No.")
|
||||
#define TR_RECEIVER "Receiver"
|
||||
#define TR_MULTI_RFTUNE TR(INDENT "Freq tune",INDENT "RF Freq. fine tune")
|
||||
#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune")
|
||||
#define TR_MULTI_TELEMETRY "Telemetry"
|
||||
#define TR_MULTI_VIDFREQ TR(INDENT "Vid. freq.", INDENT "Video frequency")
|
||||
#define TR_RFPOWER INDENT "RF Power"
|
||||
#define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Option value")
|
||||
#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency")
|
||||
#define TR_RFPOWER "RF Power"
|
||||
#define TR_MULTI_OPTION TR("Option", "Option value")
|
||||
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
||||
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
||||
@@ -739,7 +739,7 @@
|
||||
#define TR_PROTOCOL_INVALID TR("Prot. invalid", "Protocol invalid")
|
||||
#define TR_MODULE_STATUS TR(INDENT "Status", INDENT "Module Status")
|
||||
#define TR_MODULE_SYNC TR(INDENT "Sync", INDENT "Module Sync")
|
||||
#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate")
|
||||
#define TR_MULTI_SERVOFREQ TR("Servo rate", "Servo update rate")
|
||||
#define TR_SYNCMENU "[Sync]"
|
||||
#define TR_LIMIT INDENT"Limit"
|
||||
#define TR_MINRSSI "Min Rssi"
|
||||
|
||||
@@ -714,11 +714,11 @@
|
||||
#define TR_MONITOR_MIXER_DESC "Mixers"
|
||||
#define TR_RECEIVER_NUM TR("RxNum", "Ricevente No.")
|
||||
#define TR_RECEIVER "Receiver"
|
||||
#define TR_MULTI_RFTUNE TR(INDENT "Freq tune",INDENT "RF Freq. fine tune")
|
||||
#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune")
|
||||
#define TR_MULTI_TELEMETRY "Telemetry"
|
||||
#define TR_MULTI_VIDFREQ TR(INDENT "Vid. freq.", INDENT "Video frequency")
|
||||
#define TR_RFPOWER INDENT "RF Power"
|
||||
#define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Option value")
|
||||
#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency")
|
||||
#define TR_RFPOWER "RF Power"
|
||||
#define TR_MULTI_OPTION TR("Option", "Option value")
|
||||
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
||||
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
||||
@@ -740,7 +740,7 @@
|
||||
#define TR_PROTOCOL_INVALID TR("Prot. invalid", "Protocol invalid")
|
||||
#define TR_MODULE_STATUS TR(INDENT "Status", INDENT "Module Status")
|
||||
#define TR_MODULE_SYNC TR(INDENT "Sync", INDENT "Module Sync")
|
||||
#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate")
|
||||
#define TR_MULTI_SERVOFREQ TR("Servo rate", "Servo update rate")
|
||||
#define TR_SYNCMENU "[Sync]"
|
||||
#define TR_LIMIT INDENT "Limiti"
|
||||
#define TR_MINRSSI "Min Rssi"
|
||||
|
||||
@@ -703,11 +703,11 @@ TR_GYR_VSRCRAW
|
||||
#define TR_MONITOR_MIXER_DESC "Mixers"
|
||||
#define TR_RECEIVER_NUM TR("RxNum", "Receiver Nr.")
|
||||
#define TR_RECEIVER "Receiver"
|
||||
#define TR_MULTI_RFTUNE TR(INDENT "Freq tune",INDENT "RF Freq. fine tune")
|
||||
#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune")
|
||||
#define TR_MULTI_TELEMETRY "Telemetry"
|
||||
#define TR_MULTI_VIDFREQ TR(INDENT "Vid. freq.", INDENT "Video frequency")
|
||||
#define TR_RFPOWER INDENT "RF Power"
|
||||
#define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Option value")
|
||||
#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency")
|
||||
#define TR_RFPOWER "RF Power"
|
||||
#define TR_MULTI_OPTION TR("Option", "Option value")
|
||||
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
||||
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
||||
@@ -729,7 +729,7 @@ TR_GYR_VSRCRAW
|
||||
#define TR_PROTOCOL_INVALID TR("Prot. invalid", "Protocol invalid")
|
||||
#define TR_MODULE_STATUS TR(INDENT "Status", INDENT "Module Status")
|
||||
#define TR_MODULE_SYNC TR(INDENT "Sync", INDENT "Module Sync")
|
||||
#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate")
|
||||
#define TR_MULTI_SERVOFREQ TR("Servo rate", "Servo update rate")
|
||||
#define TR_SYNCMENU "Sync [MENU]"
|
||||
#define TR_LIMIT INDENT "Grenzen"
|
||||
#define TR_MINRSSI "Min. RSSI"
|
||||
|
||||
@@ -714,11 +714,11 @@
|
||||
#define TR_MONITOR_MIXER_DESC "Mixers"
|
||||
#define TR_RECEIVER_NUM TR("Nr RX", "Nr odbiornika")
|
||||
#define TR_RECEIVER INDENT "Receiver"
|
||||
#define TR_MULTI_RFTUNE TR(INDENT "Freq tune",INDENT "RF Freq. fine tune")
|
||||
#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune")
|
||||
#define TR_MULTI_TELEMETRY "Telemetry"
|
||||
#define TR_MULTI_VIDFREQ TR(INDENT "Vid. freq.", INDENT "Video frequency")
|
||||
#define TR_RFPOWER INDENT "RF Power"
|
||||
#define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Option value")
|
||||
#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency")
|
||||
#define TR_RFPOWER "RF Power"
|
||||
#define TR_MULTI_OPTION TR("Option", "Option value")
|
||||
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
||||
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
||||
@@ -740,7 +740,7 @@
|
||||
#define TR_PROTOCOL_INVALID TR("Prot. invalid", "Protocol invalid")
|
||||
#define TR_MODULE_STATUS TR(INDENT "Status", INDENT "Module Status")
|
||||
#define TR_MODULE_SYNC TR(INDENT "Sync", INDENT "Module Sync")
|
||||
#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate")
|
||||
#define TR_MULTI_SERVOFREQ TR("Servo rate", "Servo update rate")
|
||||
#define TR_SYNCMENU "[Synch]"
|
||||
#define TR_LIMIT INDENT "Limit"
|
||||
#define TR_MINRSSI "Min Rssi"
|
||||
|
||||
@@ -705,11 +705,11 @@
|
||||
#define TR_RECEIVER_NUM "RxNum"
|
||||
#define TR_RECEIVER "Receiver"
|
||||
#define TR_SYNCMENU "Sync [MENU]"
|
||||
#define TR_MULTI_RFTUNE TR(INDENT "Freq tune",INDENT "RF Freq. fine tune")
|
||||
#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune")
|
||||
#define TR_MULTI_TELEMETRY "Telemetry"
|
||||
#define TR_MULTI_VIDFREQ TR(INDENT "Vid. freq.", INDENT "Video frequency")
|
||||
#define TR_RFPOWER INDENT "RF Power"
|
||||
#define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Option value")
|
||||
#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency")
|
||||
#define TR_RFPOWER "RF Power"
|
||||
#define TR_MULTI_OPTION TR("Option", "Option value")
|
||||
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
||||
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
||||
@@ -731,7 +731,7 @@
|
||||
#define TR_PROTOCOL_INVALID TR("Prot. invalid", "Protocol invalid")
|
||||
#define TR_MODULE_STATUS TR(INDENT "Status", INDENT "Module Status")
|
||||
#define TR_MODULE_SYNC TR(INDENT "Sync", INDENT "Module Sync")
|
||||
#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate")
|
||||
#define TR_MULTI_SERVOFREQ TR("Servo rate", "Servo update rate")
|
||||
#define TR_LIMIT INDENT"Limite"
|
||||
#define TR_MINRSSI "Min Rssi"
|
||||
#define TR_LATITUDE "Latitude"
|
||||
|
||||
@@ -714,11 +714,11 @@
|
||||
#define TR_RECEIVER_NUM TR("RxNum", "Mottagare Nr.")
|
||||
#define TR_RECEIVER "Receiver"
|
||||
#define TR_SYNCMENU "Synk [MENU]"
|
||||
#define TR_MULTI_RFTUNE TR(INDENT "Freq tune",INDENT "RF Freq. fine tune")
|
||||
#define TR_MULTI_RFTUNE TR("Freq tune", "RF Freq. fine tune")
|
||||
#define TR_MULTI_TELEMETRY "Telemetry"
|
||||
#define TR_MULTI_VIDFREQ TR(INDENT "Vid. freq.", INDENT "Video frequency")
|
||||
#define TR_RFPOWER INDENT "RF Power"
|
||||
#define TR_MULTI_OPTION TR(INDENT "Option", INDENT "Option value")
|
||||
#define TR_MULTI_VIDFREQ TR("Vid. freq.", "Video frequency")
|
||||
#define TR_RFPOWER "RF Power"
|
||||
#define TR_MULTI_OPTION TR("Option", "Option value")
|
||||
#define TR_MULTI_AUTOBIND TR(INDENT "Autobind",INDENT "Bind on powerup")
|
||||
#define TR_MULTI_DSM_AUTODTECT TR(INDENT "Autodetect", INDENT "Autodetect format")
|
||||
#define TR_MULTI_LOWPOWER TR(INDENT "Low power", INDENT "Low power mode")
|
||||
@@ -740,7 +740,7 @@
|
||||
#define TR_PROTOCOL_INVALID TR("Prot. invalid", "Protocol invalid")
|
||||
#define TR_MODULE_STATUS TR(INDENT "Status", INDENT "Module Status")
|
||||
#define TR_MODULE_SYNC TR(INDENT "Sync", INDENT "Module Sync")
|
||||
#define TR_MULTI_SERVOFREQ TR(INDENT "Servo rate", INDENT "Servo update rate")
|
||||
#define TR_MULTI_SERVOFREQ TR("Servo rate", "Servo update rate")
|
||||
#define TR_LIMIT INDENT "Nivå"
|
||||
#define TR_MINRSSI "Min Rssi"
|
||||
#define TR_LATITUDE "Breddgrad"
|
||||
|
||||
Reference in New Issue
Block a user