This commit is contained in:
Bertrand Songis
2019-07-26 16:37:14 +02:00
parent 5e0cf706b6
commit ba7b6b9373
17 changed files with 110 additions and 103 deletions
-5
View File
@@ -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[];
+3 -3
View File
@@ -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;
-5
View File
@@ -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;
+18 -10
View File
@@ -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;
+1 -4
View File
@@ -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)
+3 -3
View File
@@ -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
View File
@@ -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
+19 -16
View File
@@ -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;
+2 -2
View File
@@ -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"
+5 -5
View File
@@ -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"
+5 -5
View File
@@ -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"
+5 -5
View File
@@ -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"
+5 -5
View File
@@ -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"
+5 -5
View File
@@ -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"
+5 -5
View File
@@ -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"
+5 -5
View File
@@ -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"
+5 -5
View File
@@ -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"