Merge branch 'next' of https://github.com/opentx/opentx into kilrah/Bootloader

This commit is contained in:
Andre Bernet
2014-03-17 20:32:11 +01:00
82 changed files with 10296 additions and 9131 deletions
+1 -1
View File
@@ -277,7 +277,7 @@ SHELL = sh
IMG2LBM = -python ../util/img2lbm.py
BIN2LBM = -python ../util/bin2lbm.py
TRANSLATE = -python ../util/translate.py
VERSION = 2.0
VERSION = 1.99
SRC =
CPPSRC =
+68 -29
View File
@@ -42,7 +42,10 @@
void doMixerCalculations();
#define MODEL_RESET() memset(&g_model, 0, sizeof(g_model))
#define MODEL_RESET() \
memset(&g_model, 0, sizeof(g_model)); \
extern bool s_mixer_first_run_done; \
s_mixer_first_run_done = false;
#define MIXER_RESET() \
memset(channelOutputs, 0, sizeof(channelOutputs)); \
@@ -62,6 +65,7 @@ uint16_t anaIn(uint8_t chan)
return 0;
}
#if !defined(PCBTARANIS)
TEST(Trims, greaterTrimLink)
{
MODEL_RESET();
@@ -88,6 +92,7 @@ TEST(Trims, infiniteChainedTrims)
setTrimValue(3, 0, TRIM_EXTENDED_MAX+3); // link to FP2 trim
EXPECT_EQ(getRawTrimValue(getTrimFlightPhase(0, 2), 0), 32);
}
#endif
TEST(outdezNAtt, test_unsigned)
{
@@ -565,16 +570,18 @@ TEST(Mixer, SlowOnSwitch)
g_model.mixData[0].srcRaw = MIXSRC_MAX;
g_model.mixData[0].weight = 100;
g_model.mixData[0].swtch = SWSRC_THR;
g_model.mixData[0].speedUp = 10;
g_model.mixData[0].speedDown = 10;
g_model.mixData[0].speedUp = SLOW_STEP*5;
g_model.mixData[0].speedDown = SLOW_STEP*5;
s_mixer_first_run_done = true;
perOut(e_perout_mode_normal, 0);
EXPECT_EQ(chans[0], 0);
simuSetSwitch(0, 1);
CHECK_SLOW_MOVEMENT(0, +1, 250);
simuSetSwitch(0, 0);
simuSetSwitch(0, -1);
CHECK_SLOW_MOVEMENT(0, -1, 250);
}
@@ -587,11 +594,12 @@ TEST(Mixer, SlowUpOnSwitch)
g_model.mixData[0].srcRaw = MIXSRC_MAX;
g_model.mixData[0].weight = 100;
g_model.mixData[0].swtch = SWSRC_THR;
g_model.mixData[0].speedUp = 10;
g_model.mixData[0].speedUp = SLOW_STEP*5;
g_model.mixData[0].speedDown = 0;
simuSetSwitch(0, 0);
perOut(e_perout_mode_normal, 0);
s_mixer_first_run_done = true;
EXPECT_EQ(chans[0], 0);
simuSetSwitch(0, 1);
@@ -605,20 +613,22 @@ TEST(Mixer, SlowUpOnSwitch)
simuSetSwitch(0, 1);
CHECK_SLOW_MOVEMENT(0, +1, 100);
}
#endif
TEST(Mixer, SlowOnPhase)
{
MODEL_RESET();
MIXER_RESET();
g_model.phaseData[1].swtch = SWSRC_THR;
g_model.phaseData[1].swtch = TR(SWSRC_THR, SWSRC_SA0);
g_model.mixData[0].destCh = 0;
g_model.mixData[0].mltpx = MLTPX_ADD;
g_model.mixData[0].srcRaw = MIXSRC_MAX;
g_model.mixData[0].weight = 100;
g_model.mixData[0].phases = 0x2 + 0x4 + 0x8 + 0x10 /*only enabled in phase 0*/;
g_model.mixData[0].speedUp = 10;
g_model.mixData[0].speedDown = 10;
g_model.mixData[0].speedUp = SLOW_STEP*5;
g_model.mixData[0].speedDown = SLOW_STEP*5;
s_mixer_first_run_done = true;
s_perout_flight_phase = 0;
perOut(e_perout_mode_normal, 0);
EXPECT_EQ(chans[0], 0);
@@ -629,20 +639,26 @@ TEST(Mixer, SlowOnPhase)
CHECK_SLOW_MOVEMENT(0, -1, 250);
}
#if !defined(CPUARM)
TEST(Mixer, SlowOnSwitchAndPhase)
{
MODEL_RESET();
MIXER_RESET();
g_model.phaseData[1].swtch = SWSRC_THR;
g_model.phaseData[1].swtch = TR(SWSRC_THR, SWSRC_SA0);
g_model.mixData[0].destCh = 0;
g_model.mixData[0].mltpx = MLTPX_ADD;
g_model.mixData[0].srcRaw = MIXSRC_MAX;
g_model.mixData[0].weight = 100;
g_model.mixData[0].swtch = SWSRC_THR;
g_model.mixData[0].swtch = TR(SWSRC_THR, SWSRC_SA0);
#if defined(CPUARM)
g_model.mixData[0].phases = 0x2 + 0x4 + 0x8 + 0x10 + 0x20 + 0x40 + 0x80 + 0x100 /*only enabled in phase 0*/;
#else
g_model.mixData[0].phases = 0x2 + 0x4 + 0x8 + 0x10 /*only enabled in phase 0*/;
g_model.mixData[0].speedUp = 10;
g_model.mixData[0].speedDown = 10;
#endif
g_model.mixData[0].speedUp = SLOW_STEP*5;
g_model.mixData[0].speedDown = SLOW_STEP*5;
s_mixer_first_run_done = true;
perOut(e_perout_mode_normal, 0);
EXPECT_EQ(chans[0], 0);
@@ -650,25 +666,26 @@ TEST(Mixer, SlowOnSwitchAndPhase)
s_perout_flight_phase = 0;
CHECK_SLOW_MOVEMENT(0, +1, 250);
simuSetSwitch(0, 0);
simuSetSwitch(0, -1);
s_perout_flight_phase = 1;
CHECK_SLOW_MOVEMENT(0, -1, 250);
}
#endif
#if !defined(PCBTARANIS)
TEST(Mixer, SlowOnSwitchSource)
{
MODEL_RESET();
MIXER_RESET();
g_model.mixData[0].destCh = 0;
g_model.mixData[0].mltpx = MLTPX_ADD;
g_model.mixData[0].srcRaw = MIXSRC_THR;
g_model.mixData[0].srcRaw = TR(MIXSRC_THR, MIXSRC_SA);
g_model.mixData[0].weight = 100;
g_model.mixData[0].speedUp = 10;
g_model.mixData[0].speedDown = 10;
g_model.mixData[0].speedUp = SLOW_STEP*5;
g_model.mixData[0].speedDown = SLOW_STEP*5;
simuSetSwitch(0, 0);
s_mixer_first_run_done = true;
simuSetSwitch(0, -1);
CHECK_SLOW_MOVEMENT(0, -1, 250);
EXPECT_EQ(chans[0], -CHANNEL_MAX);
@@ -676,6 +693,22 @@ TEST(Mixer, SlowOnSwitchSource)
CHECK_SLOW_MOVEMENT(0, +1, 500);
}
TEST(Mixer, SlowDisabledOnStartup)
{
MODEL_RESET();
MIXER_RESET();
g_model.mixData[0].destCh = 0;
g_model.mixData[0].mltpx = MLTPX_ADD;
g_model.mixData[0].srcRaw = MIXSRC_MAX;
g_model.mixData[0].weight = 100;
g_model.mixData[0].speedUp = SLOW_STEP*5;
g_model.mixData[0].speedDown = SLOW_STEP*5;
perOut(e_perout_mode_normal, 0);
EXPECT_EQ(chans[0], CHANNEL_MAX);
}
#if !defined(PCBTARANIS)
TEST(Mixer, SlowAndDelayOnReplace3POSSource)
{
MODEL_RESET();
@@ -685,9 +718,11 @@ TEST(Mixer, SlowAndDelayOnReplace3POSSource)
g_model.mixData[0].srcRaw = MIXSRC_3POS;
g_model.mixData[0].weight = 100;
g_model.mixData[0].delayUp = 10;
g_model.mixData[0].speedUp = 10;
g_model.mixData[0].speedDown = 10;
g_model.mixData[0].speedUp = SLOW_STEP*5;
g_model.mixData[0].speedDown = SLOW_STEP*5;
s_mixer_first_run_done = true;
simuSetSwitch(3, -1);
CHECK_SLOW_MOVEMENT(0, -1, 250);
EXPECT_EQ(chans[0], -CHANNEL_MAX);
@@ -717,7 +752,7 @@ TEST(Mixer, SlowOnSwitchReplace)
g_model.mixData[1].srcRaw = MIXSRC_MAX;
g_model.mixData[1].weight = 100;
g_model.mixData[1].swtch = SWSRC_THR;
g_model.mixData[1].speedDown = 10;
g_model.mixData[1].speedDown = SLOW_STEP*5;
simuSetSwitch(0, 0);
perOut(e_perout_mode_normal, 1);
@@ -745,16 +780,19 @@ TEST(Mixer, NoTrimOnInactiveMix)
g_model.mixData[0].srcRaw = MIXSRC_Thr;
g_model.mixData[0].weight = 100;
g_model.mixData[0].swtch = SWSRC_THR;
g_model.mixData[0].speedUp = 10;
g_model.mixData[0].speedDown = 10;
g_model.mixData[0].speedUp = SLOW_STEP*5;
g_model.mixData[0].speedDown = SLOW_STEP*5;
setTrimValue(0, 2, 256);
s_mixer_first_run_done = true;
simuSetSwitch(0, 1);
CHECK_SLOW_MOVEMENT(0, 1, 100);
simuSetSwitch(0, 0);
simuSetSwitch(0, -1);
CHECK_SLOW_MOVEMENT(0, -1, 100);
}
#endif
TEST(Mixer, SlowOnMultiply)
{
@@ -768,20 +806,21 @@ TEST(Mixer, SlowOnMultiply)
g_model.mixData[1].mltpx = MLTPX_MUL;
g_model.mixData[1].srcRaw = MIXSRC_MAX;
g_model.mixData[1].weight = 100;
g_model.mixData[1].swtch = SWSRC_THR;
g_model.mixData[1].speedUp = 10;
g_model.mixData[1].speedDown = 10;
g_model.mixData[1].swtch = TR(SWSRC_THR, SWSRC_SA0);
g_model.mixData[1].speedUp = SLOW_STEP*5;
g_model.mixData[1].speedDown = SLOW_STEP*5;
s_mixer_first_run_done = true;
simuSetSwitch(0, 1);
CHECK_SLOW_MOVEMENT(0, 1, 250);
simuSetSwitch(0, 0);
simuSetSwitch(0, -1);
CHECK_NO_MOVEMENT(0, CHANNEL_MAX, 250);
simuSetSwitch(0, 1);
CHECK_NO_MOVEMENT(0, CHANNEL_MAX, 250);
}
#endif
TEST(Curves, LinearIntpol)
{
+21 -11
View File
@@ -870,13 +870,13 @@ enum menuModelSetupItems {
ITEM_MODEL_EXTENDED_LIMITS,
ITEM_MODEL_EXTENDED_TRIMS,
ITEM_MODEL_TRIM_INC,
CASE_PCBTARANIS(ITEM_MODEL_THROTTLE_LABEL)
ITEM_MODEL_THROTTLE_REVERSED,
ITEM_MODEL_THROTTLE_TRACE,
ITEM_MODEL_THROTTLE_TRIM,
CASE_PCBTARANIS(ITEM_MODEL_PREFLIGHT_LABEL)
CASE_PCBTARANIS(ITEM_MODEL_CHECKLIST_DISPLAY)
ITEM_MODEL_THROTTLE_WARNING,
#if defined(PCBTARANIS)
ITEM_MODEL_CHECKLIST_DISPLAY,
#endif
ITEM_MODEL_SWITCHES_WARNING,
CASE_PCBTARANIS(ITEM_MODEL_POT_WARNING)
ITEM_MODEL_BEEP_CENTER,
@@ -964,7 +964,7 @@ void menuModelSetup(uint8_t event)
#define POT_WARN_ITEMS() ((g_model.nPotsToWarn >> 6) ? (uint8_t)NUM_POTS : (uint8_t)0)
bool CURSOR_ON_CELL = (m_posHorz >= 0);
MENU_TAB({ 0, 0, CASE_PCBTARANIS(0) 2, IF_PERSISTENT_TIMERS(0) 0, 0, 2, IF_PERSISTENT_TIMERS(0) 0, 0, 0, 1, 0, 0, 0, 0, 0, CASE_PCBTARANIS(0) 7, POT_WARN_ITEMS(), NAVIGATION_LINE_BY_LINE|(NUM_STICKS+NUM_POTS+NUM_ROTARY_ENCODERS-1), LABEL(InternalModule), 0, IF_PORT1_ON(1), IF_PORT1_ON(IS_D8_RX(0) ? (uint8_t)1 : (uint8_t)2), IF_PORT1_ON(FAILSAFE_ROWS(0)), LABEL(ExternalModule), (g_model.externalModule==MODULE_TYPE_XJT || IS_MODULE_DSM2(EXTERNAL_MODULE)) ? (uint8_t)1 : (uint8_t)0, PORT2_CHANNELS_ROWS(), (IS_MODULE_XJT(1) && IS_D8_RX(1)) ? (uint8_t)1 : (IS_MODULE_PPM(1) || IS_MODULE_XJT(1) || IS_MODULE_DSM2(1)) ? (uint8_t)2 : HIDDEN_ROW, IF_PORT2_XJT(FAILSAFE_ROWS(1)), LABEL(Trainer), 0, TRAINER_CHANNELS_ROWS(), IF_TRAINER_ON(2)});
MENU_TAB({ 0, 0, CASE_PCBTARANIS(0) 2, IF_PERSISTENT_TIMERS(0) 0, 0, 2, IF_PERSISTENT_TIMERS(0) 0, 0, 0, 1, 0,CASE_PCBTARANIS(LABEL(Throttle)) 0, 0, 0,CASE_PCBTARANIS(LABEL(PreflightCheck)) CASE_PCBTARANIS(0) 0, 7, POT_WARN_ITEMS(), NAVIGATION_LINE_BY_LINE|(NUM_STICKS+NUM_POTS+NUM_ROTARY_ENCODERS-1), LABEL(InternalModule), 0, IF_PORT1_ON(1), IF_PORT1_ON(IS_D8_RX(0) ? (uint8_t)1 : (uint8_t)2), IF_PORT1_ON(FAILSAFE_ROWS(0)), LABEL(ExternalModule), (g_model.externalModule==MODULE_TYPE_XJT || IS_MODULE_DSM2(EXTERNAL_MODULE)) ? (uint8_t)1 : (uint8_t)0, PORT2_CHANNELS_ROWS(), (IS_MODULE_XJT(1) && IS_D8_RX(1)) ? (uint8_t)1 : (IS_MODULE_PPM(1) || IS_MODULE_XJT(1) || IS_MODULE_DSM2(1)) ? (uint8_t)2 : HIDDEN_ROW, IF_PORT2_XJT(FAILSAFE_ROWS(1)), LABEL(Trainer), 0, TRAINER_CHANNELS_ROWS(), IF_TRAINER_ON(2)});
#elif defined(CPUM64)
#define CURSOR_ON_CELL (true)
#define MODEL_SETUP_MAX_LINES ((IS_PPM_PROTOCOL(protocol)||IS_DSM2_PROTOCOL(protocol)||IS_PXX_PROTOCOL(protocol)) ? 1+ITEM_MODEL_SETUP_MAX : ITEM_MODEL_SETUP_MAX)
@@ -1121,6 +1121,12 @@ void menuModelSetup(uint8_t event)
g_model.trimInc = selectMenuItem(MODEL_SETUP_2ND_COLUMN, y, STR_TRIMINC, STR_VTRIMINC, g_model.trimInc, -2, 2, attr, event);
break;
#if defined(PCBTARANIS)
case ITEM_MODEL_THROTTLE_LABEL:
lcd_putsLeft(y, STR_THROTTLE_LABEL);
break;
#endif
case ITEM_MODEL_THROTTLE_REVERSED:
g_model.throttleReversed = onoffMenuItem(g_model.throttleReversed, MODEL_SETUP_2ND_COLUMN, y, STR_THROTTLEREVERSE, attr, event ) ;
break;
@@ -1142,16 +1148,20 @@ void menuModelSetup(uint8_t event)
g_model.thrTrim = onoffMenuItem(g_model.thrTrim, MODEL_SETUP_2ND_COLUMN, y, STR_TTRIM, attr, event);
break;
case ITEM_MODEL_THROTTLE_WARNING:
g_model.disableThrottleWarning = !onoffMenuItem(!g_model.disableThrottleWarning, MODEL_SETUP_2ND_COLUMN, y, STR_THROTTLEWARNING, attr, event);
break;
#if defined(PCBTARANIS)
case ITEM_MODEL_PREFLIGHT_LABEL:
lcd_putsLeft(y, STR_PREFLIGHT);
break;
case ITEM_MODEL_CHECKLIST_DISPLAY:
g_model.displayText = onoffMenuItem(g_model.displayText, MODEL_SETUP_2ND_COLUMN, y, STR_CHECKLIST, attr, event);
break;
#endif
case ITEM_MODEL_THROTTLE_WARNING:
g_model.disableThrottleWarning = !onoffMenuItem(!g_model.disableThrottleWarning, MODEL_SETUP_2ND_COLUMN, y, STR_THROTTLEWARNING, attr, event);
break;
case ITEM_MODEL_SWITCHES_WARNING:
{
lcd_putsLeft(y, STR_SWITCHWARNING);
@@ -1201,9 +1211,9 @@ void menuModelSetup(uint8_t event)
uint8_t swactive = !(g_model.nSwToWarn & 1 << i);
#if defined(PCBTARANIS)
c = "\300-\301"[states & 0x03];
lcd_putcAtt(MODEL_SETUP_2ND_COLUMN+i*(2*FW), y, 'A'+i, line && (m_posHorz == i) ? INVERS : 0);
if (swactive) lcd_putc(MODEL_SETUP_2ND_COLUMN+i*(2*FW)+FWNUM, y, c);
lcd_putsAtt(MODEL_SETUP_2ND_COLUMN+((NUM_SWITCHES-1)*2*FW+2), y, PSTR("<]"), (m_posHorz == NUM_SWITCHES-1 && !s_noHi) ? line : 0);
lcd_putcAtt(MODEL_SETUP_2ND_COLUMN+i*(2*FW+1), y, 'A'+i, line && (m_posHorz == i) ? INVERS : 0);
if (swactive) lcd_putc(MODEL_SETUP_2ND_COLUMN+i*(2*FW+1)+FWNUM+1, y, c);
lcd_putsAtt(MODEL_SETUP_2ND_COLUMN+((NUM_SWITCHES-1)*2*FW+8), y, PSTR("<]"), (m_posHorz == NUM_SWITCHES-1 && !s_noHi) ? line : 0);
states >>= 2;
#else
attr = 0;
+18 -18
View File
@@ -540,20 +540,14 @@ PACK(typedef struct t_LimitData {
#define MLTPX_REP 2
#if defined(CPUARM)
// highest bit used for small values in mix 128 --> 8 bit is enough
#define GV1_SMALL 128
// highest bit used for large values in mix 4096 --> 12 bits is used (type for weight and offset has even 16 bits)
#define GV1_LARGE 4096
// the define GV1_LARGE marks the highest bit value used for this variables
// because this would give too big numbers for ARM, we limit it further for offset and weight
// must be smaller than GV1_LARGE - RESERVE_RANGE_FOR_GVARS -1
#define GV1_SMALL 128
#define GV1_LARGE 512
#define GV_RANGE_WEIGHT 500
#define GV_RANGE_OFFSET 500
#define DELAY_STEP 10
#define SLOW_STEP 10
#define DELAY_MAX (25*DELAY_STEP) /* 25 seconds */
#define SLOW_MAX (25*SLOW_STEP) /* 25 seconds */
#define DELAY_STEP 10
#define SLOW_STEP 10
#define DELAY_MAX (25*DELAY_STEP) /* 25 seconds */
#define SLOW_MAX (25*SLOW_STEP) /* 25 seconds */
#if defined(PCBTARANIS)
PACK(typedef struct t_MixData {
uint8_t destCh;
@@ -1112,12 +1106,18 @@ enum FrskyUsrProtocols {
USR_PROTO_LAST = USR_PROTO_WS_HOW_HIGH,
};
enum FrskySource {
FRSKY_SOURCE_NONE,
FRSKY_SOURCE_A1,
FRSKY_SOURCE_A2,
FRSKY_SOURCE_FAS,
FRSKY_SOURCE_CELLS,
enum FrskyCurrentSource {
FRSKY_CURRENT_SOURCE_NONE,
FRSKY_CURRENT_SOURCE_A1,
FRSKY_CURRENT_SOURCE_A2,
FRSKY_CURRENT_SOURCE_FAS,
};
enum FrskyVoltsSource {
FRSKY_VOLTS_SOURCE_A1,
FRSKY_VOLTS_SOURCE_A2,
FRSKY_VOLTS_SOURCE_FAS,
FRSKY_VOLTS_SOURCE_CELLS,
};
#if defined(CPUARM)
+20 -12
View File
@@ -1972,8 +1972,8 @@ uint8_t getGVarFlightPhase(uint8_t phase, uint8_t idx)
int16_t getGVarValue(int16_t x, int16_t min, int16_t max, int8_t phase)
{
if (GV_IS_GV_VALUE(x,min,max)) {
int8_t idx = GV_INDEX_CALCULATION(x,max);
if (GV_IS_GV_VALUE(x, min, max)) {
int8_t idx = GV_INDEX_CALCULATION(x, max);
int8_t mul = 1;
if (idx < 0) {
@@ -1983,7 +1983,6 @@ int16_t getGVarValue(int16_t x, int16_t min, int16_t max, int8_t phase)
x = GVAR_VALUE(idx, getGVarFlightPhase(phase, idx)) * mul;
}
return limit(min, x, max);
}
@@ -2104,6 +2103,8 @@ getvalue_t convert8bitsTelemValue(uint8_t channel, ls_telemetry_value_t value)
break;
case TELEM_CURRENT:
case TELEM_POWER:
case TELEM_MAX_CURRENT:
case TELEM_MAX_POWER:
result = value * 5;
break;
case TELEM_CONSUMPTION:
@@ -2981,6 +2982,8 @@ void resetTimer(uint8_t idx)
timerState.val_10ms = 0 ;
}
bool s_mixer_first_run_done = false;
void resetAll()
{
static bool firstReset = true;
@@ -2999,6 +3002,7 @@ void resetAll()
}
s_last_switch_value = 0;
s_mixer_first_run_done = false;
SKIP_AUTOMATIC_PROMPTS();
@@ -3350,12 +3354,14 @@ uint8_t fnSwitchDuration[NUM_CFN] = { 0 };
inline void playCustomFunctionFile(CustomFnData *sd, uint8_t id)
{
char filename[sizeof(SOUNDS_PATH)+sizeof(sd->play.name)+sizeof(SOUNDS_EXT)] = SOUNDS_PATH "/";
strncpy(filename+SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2);
strncpy(filename+sizeof(SOUNDS_PATH), sd->play.name, sizeof(sd->play.name));
filename[sizeof(SOUNDS_PATH)+sizeof(sd->play.name)] = '\0';
strcat(filename+sizeof(SOUNDS_PATH), SOUNDS_EXT);
PLAY_FILE(filename, sd->func==FUNC_BACKGND_MUSIC ? PLAY_BACKGROUND : 0, id);
if (sd->play.name[0] != '\0') {
char filename[sizeof(SOUNDS_PATH)+sizeof(sd->play.name)+sizeof(SOUNDS_EXT)] = SOUNDS_PATH "/";
strncpy(filename+SOUNDS_PATH_LNG_OFS, currentLanguagePack->id, 2);
strncpy(filename+sizeof(SOUNDS_PATH), sd->play.name, sizeof(sd->play.name));
filename[sizeof(SOUNDS_PATH)+sizeof(sd->play.name)] = '\0';
strcat(filename+sizeof(SOUNDS_PATH), SOUNDS_EXT);
PLAY_FILE(filename, sd->func==FUNC_BACKGND_MUSIC ? PLAY_BACKGROUND : 0, id);
}
}
#endif
@@ -3851,21 +3857,21 @@ void perOut(uint8_t mode, uint8_t tick10ms)
// the unit of the stored value is the value from md->speedUp or md->speedDown divide SLOW_STEP seconds; e.g. value 4 means 4/SLOW_STEP = 2 seconds for CPU64
// because we get a tick each 10msec, we need 100 ticks for one second
// the value in md->speedXXX gives the time it should take to do a full movement from -100 to 100 therefore 200%. This equals 2048 in recalculated internal range
if (tick10ms) {
if (tick10ms || !s_mixer_first_run_done) {
// only if already time is passed add or substract a value according the speed configured
int32_t rate = (int32_t) tick10ms << (DEL_MULT_SHIFT+11); // = DEL_MULT*2048*tick10ms
// rate equals a full range for one second; if less time is passed rate is accordingly smaller
// if one second passed, rate would be 2048 (full motion)*256(recalculated weight)*100(100 ticks needed for one second)
int32_t currentValue = ((int32_t) v<<DEL_MULT_SHIFT);
if (diff > 0) {
if (md->speedUp > 0) {
if (s_mixer_first_run_done && md->speedUp > 0) {
// if a speed upwards is defined recalculate the new value according configured speed; the higher the speed the smaller the add value is
int32_t newValue = tact+rate/((int16_t)(100/SLOW_STEP)*md->speedUp);
if (newValue<currentValue) currentValue = newValue; // Endposition; prevent toggling around the destination
}
}
else { // if is <0 because ==0 is not possible
if (md->speedDown > 0) {
if (s_mixer_first_run_done && md->speedDown > 0) {
// see explanation in speedUp
int32_t newValue = tact-rate/((int16_t)(100/SLOW_STEP)*md->speedDown);
if (newValue>currentValue) currentValue = newValue; // Endposition; prevent toggling around the destination
@@ -4088,6 +4094,8 @@ void doMixerCalculations()
perOut(e_perout_mode_normal, tick10ms);
}
s_mixer_first_run_done = true;
//========== FUNCTIONS ===============
// must be done after mixing because some functions use the inputs/channels values
// must be done before limits because of the applyLimit function: it checks for safety switches which would be not initialized otherwise
+5 -5
View File
@@ -101,12 +101,12 @@ sem_t *eeprom_write_sem;
#if defined(PCBTARANIS)
#define SWITCH_CASE(swtch, pin, mask) \
case swtch: \
if (state) pin &= ~(mask); else pin |= (mask); \
if (state > 0) pin &= ~(mask); else pin |= (mask); \
break;
#else
#define SWITCH_CASE(swtch, pin, mask) \
case swtch: \
if (state) pin |= (mask); else pin &= ~(mask); \
if (state > 0) pin |= (mask); else pin &= ~(mask); \
break;
#endif
#define SWITCH_3_CASE(swtch, pin1, pin2, mask1, mask2) \
@@ -116,13 +116,13 @@ sem_t *eeprom_write_sem;
break;
#define KEY_CASE(key, pin, mask) \
case key: \
if (state) pin &= ~mask; else pin |= mask;\
if (state > 0) pin &= ~mask; else pin |= mask;\
break;
#define TRIM_CASE KEY_CASE
#else
#define SWITCH_CASE(swtch, pin, mask) \
case swtch: \
if (state) pin &= ~(mask); else pin |= (mask); \
if (state > 0) pin &= ~(mask); else pin |= (mask); \
break;
#define SWITCH_3_CASE(swtch, pin1, pin2, mask1, mask2) \
case swtch: \
@@ -131,7 +131,7 @@ sem_t *eeprom_write_sem;
break;
#define KEY_CASE(key, pin, mask) \
case key: \
if (state) pin |= (mask); else pin &= ~(mask);\
if (state > 0) pin |= (mask); else pin &= ~(mask);\
break;
#define TRIM_CASE KEY_CASE
#endif
+1 -1
View File
@@ -723,7 +723,7 @@ void telemetryInterrupt10ms()
uint16_t current = 0;
#endif
channel = g_model.frsky.currentSource - FRSKY_SOURCE_A1;
channel = g_model.frsky.currentSource - FRSKY_CURRENT_SOURCE_A1;
if (channel <= 1) {
current = applyChannelRatio(channel, frskyData.analog[channel].value) / 10;
}
+1 -1
View File
@@ -595,7 +595,7 @@ void telemetryInterrupt10ms()
uint16_t current = 0;
#endif
channel = g_model.frsky.currentSource - FRSKY_SOURCE_A1;
channel = g_model.frsky.currentSource - FRSKY_CURRENT_SOURCE_A1;
if (channel <= 1) {
current = applyChannelRatio(channel, frskyData.analog[channel].value) / 10;
}
+2
View File
@@ -496,8 +496,10 @@ const pm_char STR_VIEW_TEXT[] PROGMEM = "View text";
const pm_char STR_VIEW_CHANNELS[] PROGMEM = "View Channels";
const pm_char STR_VIEW_NOTES[] PROGMEM = "View Notes";
const pm_char STR_POTWARNING[] PROGMEM = TR_POTWARNING;
const pm_char STR_PREFLIGHT[] PROGMEM = TR_PREFLIGHT;
const pm_char STR_CHECKLIST[] PROGMEM = TR_CHECKLIST;
const pm_char STR_UART3MODE[] PROGMEM = TR_UART3MODE;
const pm_char STR_THROTTLE_LABEL[] PROGMEM = TR_THROTTLE_LABEL;
#endif
#if MENUS_LOCK == 1
+3 -1
View File
@@ -596,7 +596,7 @@ extern const pm_char STR_SD_SECTORS[];
extern const pm_char STR_SD_SIZE[];
extern const pm_char STR_TYPE[];
extern const pm_char STR_GLOBAL_VARS[];
extern const pm_char STR_GLOBAL_V[];
extern const pm_char STR_GLOBAL_V[];
extern const pm_char STR_GLOBAL_VAR[];
extern const pm_char STR_OWN[];
extern const pm_char STR_ROTARY_ENCODER[];
@@ -672,8 +672,10 @@ extern const pm_char STR_VIEW_TEXT[];
extern const pm_char STR_VIEW_CHANNELS[];
extern const pm_char STR_VIEW_NOTES[];
extern const pm_char STR_POTWARNING[];
extern const pm_char STR_PREFLIGHT[];
extern const pm_char STR_CHECKLIST[];
extern const pm_char STR_UART3MODE[];
extern const pm_char STR_THROTTLE_LABEL[];
#endif
#if MENUS_LOCK == 1
+11 -9
View File
@@ -72,7 +72,7 @@
#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 "
#define LEN_POTTYPES "\017"
#define TR_POTTYPES "Pot\0 ""Multipos Switch"
#define TR_POTTYPES "None\0 ""Pot\0 ""Multipos Switch"
#define LEN_DATETIME "\006"
#define TR_DATETIME "DATUM:""ČAS: "
@@ -330,7 +330,7 @@
#define TR_VTEMPLATES "Smazat mixy\0\0""Zákl. 4kanál\0""Sticky-T-Cut\0""V-Tail \0""Elevon\\Delta\0""eCCPM \0""Heli Setup \0""Servo Test \0"
#define LEN_VSWASHTYPE "\004"
#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0"
#define TR_VSWASHTYPE "---\0""120\0""120X""140\0""90\0"
#define LEN_VKEYS "\005"
#define TR_VKEYS TR("Menu\0""Exit\0""Dolů\0""Nhoru""Vprvo""Vlevo", "Menu\0""Exit\0""Enter""Page\0""Plus\0""Mínus")
@@ -445,8 +445,8 @@
#define TR_ELIMITS TR("Limit+25%", "Kanál +/- 125%")
#define TR_ETRIMS TR("širšíTrim", "Široký trim")
#define TR_TRIMINC TR("KrokTrimu", "Krok trimu")
#define TR_TTRACE TR("StopaPlyn", "Stopař plynu")
#define TR_TTRIM TR("TrimPlynu", "TrimPlyn-volnoběh")
#define TR_TTRACE TR("StopaPlyn", INDENT "Stopař plynu")
#define TR_TTRIM TR("TrimPlynu", INDENT "Trim-volnoběh")
#define TR_BEEPCTR "(\043)Středy"
#define TR_PROTO INDENT"Protokol"
#define TR_PPMFRAME "PPM frame"
@@ -509,7 +509,8 @@
#define TR_MEMORYWARNING INDENT"Plná pamět'"
#define TR_ALARMWARNING INDENT"Vypnutý zvuk"
#define TR_RENAVIG "Navig. RotEnc"
#define TR_THROTTLEREVERSE TR("ReversPlyn", "Revers plynu")
#define TR_THROTTLE_LABEL "Plyn"
#define TR_THROTTLEREVERSE TR("ReversPlyn", INDENT"Revers plynu")
#define TR_MINUTEBEEP TR(INDENT"Minuta", INDENT"Oznamovat minuty")
#define TR_BEEPCOUNTDOWN INDENT"Odpočet"
#define TR_PERSISTENT INDENT"Trvalé"
@@ -518,9 +519,9 @@
#define TR_BLONBRIGHTNESS INDENT"Jas Zap."
#define TR_BLOFFBRIGHTNESS INDENT"Jas Vyp."
#define TR_SPLASHSCREEN "úvodníLogo"
#define TR_THROTTLEWARNING "(\043)Plyn"
#define TR_SWITCHWARNING "(\043)Spínače"
#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
#define TR_THROTTLEWARNING TR("(\043)Plyn", INDENT "(\043)Plyn")
#define TR_SWITCHWARNING TR("(\043)Spínače", INDENT "(\043)Spínače")
#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Warning")
#define TR_TIMEZONE "časové pásmo"
#define TR_RXCHANNELORD TR("Pořadí kanálů", "Výchozí pořadí kanálů")
#define TR_SLAVE "Podřízený"
@@ -715,7 +716,8 @@
#define TR_LOWALARM INDENT "Nízký Alarm"
#define TR_CRITICALALARM INDENT "Kritický Alarm"
#define TR_PERSISTENT_MAH INDENT "Store mAh"
#define TR_CHECKLIST "Display Checklist"
#define TR_PREFLIGHT "Preflight Checks"
#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial port"
+10 -8
View File
@@ -69,7 +69,7 @@
#define TR_UART3MODES "AUS\0 ""S-Port Data Out\0""Debug\0 "
#define LEN_POTTYPES "\017"
#define TR_POTTYPES "Poti\0 ""Stufen-Schalter "
#define TR_POTTYPES "None\0 ""Poti\0 ""Stufen-Schalter "
#define LEN_DATETIME "\005"
#define TR_DATETIME "DATE:""ZEIT:"
@@ -447,8 +447,8 @@
#define TR_ELIMITS TR("Erw.Limit","Erweit. Limits")
#define TR_ETRIMS TR("Erw.Trims","Erweit. Trimmung")
#define TR_TRIMINC TR("Trim Schr.","Trimm Schritte")
#define TR_TTRACE TR("Gasquelle","Gas Verfolgung")
#define TR_TTRIM TR("Gastrim","Gas Trimmung")
#define TR_TTRACE TR("Gasquelle", INDENT "Gas Verfolgung")
#define TR_TTRIM TR("Gastrim", INDENT "Gas Trimmung")
#define TR_BEEPCTR TR("Mitt.Piep","Mittelst. Pieps")
#define TR_PROTO TR(INDENT"Proto.",INDENT"Protokoll")
#define TR_PPMFRAME "PPM Einst."
@@ -511,7 +511,8 @@
#define TR_MEMORYWARNING INDENT"Speicher voll"
#define TR_ALARMWARNING INDENT"Ton aus"
#define TR_RENAVIG "Drehgeb. Navig."
#define TR_THROTTLEREVERSE TR("Gas invers", "Vollgas hinten?") //Änderung wg TH9x, Taranis
#define TR_THROTTLE_LABEL "Gas"
#define TR_THROTTLEREVERSE TR("Gas invers", INDENT "Vollgas hinten?") //Änderung wg TH9x, Taranis
#define TR_MINUTEBEEP TR(INDENT"Minute",INDENT"Jede Minute")
#define TR_BEEPCOUNTDOWN INDENT"Countdown"
#define TR_PERSISTENT TR(INDENT"M-Zeit",INDENT"Modell Zeit")
@@ -520,9 +521,9 @@
#define TR_BLONBRIGHTNESS INDENT"An Helligkeit"
#define TR_BLOFFBRIGHTNESS INDENT"Aus Helligkeit"
#define TR_SPLASHSCREEN "Startbild"
#define TR_THROTTLEWARNING "Gas Alarm"
#define TR_SWITCHWARNING TR("Sch. Alarm","Schalter Alarm")
#define TR_POTWARNING TR("Pot Warn.","Poti Warnung")
#define TR_THROTTLEWARNING TR("Gas Alarm", INDENT "Gas Alarm")
#define TR_SWITCHWARNING TR("Sch. Alarm", INDENT "Schalter Alarm")
#define TR_POTWARNING TR("Pot Warn.", INDENT "Poti Warnung")
#define TR_TIMEZONE TR("Zeitzone","GPS Zeit Zone")
#define TR_RXCHANNELORD TR("Kanalanordnung","Kanalvoreinstellung")
#define TR_SLAVE "Schüler PPM1-8 als Ausgang"
@@ -717,7 +718,8 @@
#define TR_LOWALARM INDENT "Low Alarm"
#define TR_CRITICALALARM INDENT "Kritisch Alarm"
#define TR_PERSISTENT_MAH INDENT "Speichern mAh"
#define TR_CHECKLIST "Display Checklist"
#define TR_PREFLIGHT "Preflight Checks"
#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial Port"
+43 -41
View File
@@ -168,7 +168,7 @@
#endif
#if defined(CPUARM)
#define TR_CSWEQUAL "a=x\0 "
#define TR_CSWEQUAL "a=x\0 "
#else
#define TR_CSWEQUAL
#endif
@@ -319,8 +319,8 @@
#define LEN_VTELPROTO "\007"
#define TR_VTELPROTO "None\0 ""Hub\0 ""WSHHigh"
#define LEN_VOLTSRC "\003"
#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel"
#define LEN_VOLTSRC TR("\003", "\007")
#define TR_VOLTSRC TR("---""A1\0""A2\0""FAS""Cel", "---\0 ""A1\0 ""A2\0 ""FAS\0 ""Cells\0 ")
#define LEN_VARIOSRC "\004"
#if defined(FRSKY_SPORT)
@@ -333,7 +333,7 @@
#define TR_VSCREEN "Nums""Bars"
#define LEN_GPSFORMAT "\004"
#define TR_GPSFORMAT "HMS NMEA"
#define TR_GPSFORMAT "HMS ""NMEA"
#define LEN2_VTEMPLATES 13
#define LEN_VTEMPLATES "\015"
@@ -455,8 +455,8 @@
#define TR_ELIMITS TR("E.Limits", "Extended Limits")
#define TR_ETRIMS TR("E.Trims", "Extended Trims")
#define TR_TRIMINC "Trim Step"
#define TR_TTRACE TR("T-Source", "Throttle Source")
#define TR_TTRIM TR("T-Trim", "Throttle Trim")
#define TR_TTRACE TR("T-Source", INDENT "Timer Source")
#define TR_TTRIM TR("T-Trim", INDENT "Trim Idle Only")
#define TR_BEEPCTR TR("Ctr Beep", "Center Beep")
#define TR_PROTO TR(INDENT "Proto", INDENT "Protocol")
#define TR_PPMFRAME TR("PPM frame", INDENT "PPM frame")
@@ -474,17 +474,17 @@
#define TR_ELEDIRECTION TR("ELE Direction","Long. cyc. direction")
#define TR_AILDIRECTION TR("AIL Direction","Lateral cyc. direction")
#define TR_COLDIRECTION TR("PIT Direction","Coll. pitch direction")
#define TR_MODE INDENT"Mode"
#define TR_MODE INDENT "Mode"
#define TR_NOFREEEXPO "No free expo!"
#define TR_NOFREEMIXER "No free mixer!"
#define TR_INSERTMIX "INSERT MIX "
#define TR_EDITMIX "EDIT MIX "
#define TR_SOURCE INDENT"Source"
#define TR_SOURCE INDENT "Source"
#define TR_WEIGHT "Weight"
#define TR_EXPO TR("Expo","Exponential")
#define TR_SIDE "Side"
#define TR_DIFFERENTIAL "Differ"
#define TR_OFFSET INDENT"Offset"
#define TR_OFFSET INDENT "Offset"
#define TR_TRIM "Trim"
#define TR_DREX "DRex"
#define TR_CURVE "Curve"
@@ -500,37 +500,38 @@
#define TR_CV "CV"
#define TR_GV "GV"
#define TR_ACHANNEL "A\004channel"
#define TR_RANGE INDENT"Range"
#define TR_RANGE INDENT "Range"
#define TR_BAR "Bar"
#define TR_ALARM INDENT"Alarm"
#define TR_ALARM INDENT "Alarm"
#define TR_USRDATA "UsrData"
#define TR_BLADES INDENT"Blades"
#define TR_BLADES INDENT "Blades"
#define TR_SCREEN "Screen "
#define TR_SOUND_LABEL "Sound"
#define TR_LENGTH INDENT"Length"
#define TR_SPKRPITCH INDENT"Pitch"
#define TR_LENGTH INDENT "Length"
#define TR_SPKRPITCH INDENT "Pitch"
#define TR_HAPTIC_LABEL "Haptic"
#define TR_HAPTICSTRENGTH INDENT"Strength"
#define TR_HAPTICSTRENGTH INDENT "Strength"
#define TR_CONTRAST "Contrast"
#define TR_ALARMS_LABEL "Alarms"
#define TR_BATTERY_RANGE TR("Battery range","Battery meter range")
#define TR_BATTERYWARNING INDENT"Battery Low"
#define TR_INACTIVITYALARM INDENT"Inactivity"
#define TR_MEMORYWARNING INDENT"Memory Low"
#define TR_ALARMWARNING INDENT"Sound Off"
#define TR_BATTERYWARNING INDENT "Battery Low"
#define TR_INACTIVITYALARM INDENT "Inactivity"
#define TR_MEMORYWARNING INDENT "Memory Low"
#define TR_ALARMWARNING INDENT "Sound Off"
#define TR_RENAVIG "RotEnc Navig"
#define TR_THROTTLEREVERSE TR("T-Reverse", "Throttle reverse")
#define TR_MINUTEBEEP TR(INDENT"Minute",INDENT"Minute call")
#define TR_BEEPCOUNTDOWN INDENT"Countdown"
#define TR_PERSISTENT TR(INDENT"Persist.",INDENT"Persistent")
#define TR_THROTTLE_LABEL "Throttle"
#define TR_THROTTLEREVERSE TR("T-Reverse", INDENT "Reverse")
#define TR_MINUTEBEEP TR(INDENT "Minute",INDENT "Minute call")
#define TR_BEEPCOUNTDOWN INDENT "Countdown"
#define TR_PERSISTENT TR(INDENT "Persist.",INDENT "Persistent")
#define TR_BACKLIGHT_LABEL "Backlight"
#define TR_BLDELAY INDENT"Duration"
#define TR_BLONBRIGHTNESS INDENT"ON Brightness"
#define TR_BLOFFBRIGHTNESS INDENT"OFF Brightness"
#define TR_BLDELAY INDENT "Duration"
#define TR_BLONBRIGHTNESS INDENT "ON Brightness"
#define TR_BLOFFBRIGHTNESS INDENT "OFF Brightness"
#define TR_SPLASHSCREEN "Splash screen"
#define TR_THROTTLEWARNING TR("T-Warning","Throttle Warning")
#define TR_SWITCHWARNING TR("S-Warning","Switch Warning")
#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
#define TR_THROTTLEWARNING TR("T-Warning", INDENT "Throttle State")
#define TR_SWITCHWARNING TR("S-Warning", INDENT "Switch Positions")
#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Positions")
#define TR_TIMEZONE TR("Time Zone","GPS Time zone")
#define TR_RXCHANNELORD TR("Rx Channel Ord","Default channel order")
#define TR_SLAVE "Slave"
@@ -610,9 +611,9 @@
#define TR_MENUTEMPLATES "TEMPLATES"
#define TR_MENUSTAT "STATS"
#define TR_MENUDEBUG "DEBUG"
#define TR_RXNUM TR("RxNum", INDENT"Receiver No.")
#define TR_RXNUM TR("RxNum", INDENT "Receiver No.")
#define TR_SYNCMENU "[Sync]"
#define TR_LIMIT INDENT"Limit"
#define TR_LIMIT INDENT "Limit"
#define TR_MINRSSI "Min Rssi"
#define TR_LATITUDE "Latitude"
#define TR_LONGITUDE "Longitude"
@@ -621,8 +622,8 @@
#define TR_SHUTDOWN "SHUTTING DOWN"
#define TR_BATT_CALIB "Battery Calib"
#define TR_CURRENT_CALIB "Current Calib"
#define TR_VOLTAGE INDENT"Voltage"
#define TR_CURRENT INDENT"Current"
#define TR_VOLTAGE INDENT "Voltage"
#define TR_CURRENT INDENT "Current"
#define TR_SELECT_MODEL "Select Model"
#define TR_CREATE_MODEL "Create Model"
#define TR_COPY_MODEL "Copy Model"
@@ -710,8 +711,8 @@
#define TR_ABOUT_US "About"
#define TR_AND_SWITCH "AND Switch"
#define TR_CF "CF"
#define TR_SPEAKER INDENT"Speaker"
#define TR_BUZZER INDENT"Buzzer"
#define TR_SPEAKER INDENT "Speaker"
#define TR_BUZZER INDENT "Buzzer"
#define TR_BYTES "bytes"
#define TR_MODULE_BIND "[Bind]"
#define TR_MODULE_RANGE "[Range]"
@@ -725,7 +726,8 @@
#define TR_LOWALARM INDENT "Low Alarm"
#define TR_CRITICALALARM INDENT "Critical Alarm"
#define TR_PERSISTENT_MAH INDENT "Store mAh"
#define TR_CHECKLIST "Display Checklist"
#define TR_PREFLIGHT "Preflight Checks"
#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial port"
@@ -807,11 +809,11 @@
#define TR_ABOUT_PARENTS_3 "ER9X (Erez Raviv)"
#define TR_ABOUT_PARENTS_4 "TH9X (Thomas Husterer)"
#define TR_CHR_SHORT 's'
#define TR_CHR_LONG 'l'
#define TR_CHR_TOGGLE 't'
#define TR_CHR_HOUR 'h'
#define TR_CHR_INPUT 'I' // Values between A-I will work
#define TR_CHR_SHORT 's'
#define TR_CHR_LONG 'l'
#define TR_CHR_TOGGLE 't'
#define TR_CHR_HOUR 'h'
#define TR_CHR_INPUT 'I' // Values between A-I will work
#define TR_BEEP_VOLUME "Beep Volume"
#define TR_WAV_VOLUME "Wav Volume"
+10 -8
View File
@@ -72,7 +72,7 @@
#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 "
#define LEN_POTTYPES "\017"
#define TR_POTTYPES "Pot\0 ""Multipos Switch"
#define TR_POTTYPES "None\0 ""Pot\0 ""Multipos Switch"
#define LEN_DATETIME "\005"
#define TR_DATETIME "DATA:""HORA:"
@@ -445,8 +445,8 @@
#define TR_ELIMITS TR("E.Limite","Ampliar Limites")
#define TR_ETRIMS TR("E.Trims","Ampliar Trims")
#define TR_TRIMINC "Paso Trim"
#define TR_TTRACE TR("Fuente-A","Fuente Acelerad")
#define TR_TTRIM TR("Trim-A","Trim Acelerad")
#define TR_TTRACE TR("Fuente-A", INDENT "Fuente Acelerad")
#define TR_TTRIM TR("Trim-A", INDENT "Trim Acelerad")
#define TR_BEEPCTR TR("Ctr Beep","Center Beep")
#define TR_PROTO TR(INDENT"Proto",INDENT"Protocol")
#define TR_PPMFRAME "Trama PPM"
@@ -509,7 +509,8 @@
#define TR_MEMORYWARNING INDENT"Memoria Baja"
#define TR_ALARMWARNING INDENT"Sin Sonido"
#define TR_RENAVIG "RotEnc Navig"
#define TR_THROTTLEREVERSE TR("Invert_Acel", "Invertir Acel.")
#define TR_THROTTLE_LABEL "Throttle"
#define TR_THROTTLEREVERSE TR("Invert_Acel", INDENT "Invertir Acel.")
#define TR_MINUTEBEEP TR(INDENT"Minuto",INDENT"Cada Minuto")
#define TR_BEEPCOUNTDOWN INDENT"Cuentaatras"
#define TR_PERSISTENT TR(INDENT"Persist.",INDENT"Persistente")
@@ -518,9 +519,9 @@
#define TR_BLONBRIGHTNESS INDENT"MAS Brillo"
#define TR_BLOFFBRIGHTNESS INDENT"MENOS Brillo"
#define TR_SPLASHSCREEN "Ptalla.inicio"
#define TR_THROTTLEWARNING TR("Aviso-A", "Aviso Acelerador")
#define TR_SWITCHWARNING TR("Aviso-I", "Aviso Intrptor")
#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
#define TR_THROTTLEWARNING TR("Aviso-A", INDENT "Aviso Acelerador")
#define TR_SWITCHWARNING TR("Aviso-I", INDENT "Aviso Intrptor")
#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Warning")
#define TR_TIMEZONE TR("Zona Hora", "GPS Zona Hora")
#define TR_RXCHANNELORD TR("Rx Orden canal", "Orden habitual canales")
#define TR_SLAVE "Esclavo"
@@ -715,7 +716,8 @@
#define TR_LOWALARM INDENT "Alarma baja"
#define TR_CRITICALALARM INDENT "Alarma Critica"
#define TR_PERSISTENT_MAH INDENT "Valor mAh"
#define TR_CHECKLIST "Display Checklist"
#define TR_PREFLIGHT "Preflight Checks"
#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial port"
+30 -28
View File
@@ -42,16 +42,16 @@
// NON ZERO TERMINATED STRINGS
#define LEN_OFFON "\003"
#define TR_OFFON "OFF""ON\0"
#define TR_OFFON "POI""PÄÄ"
#define LEN_MMMINV "\003"
#define TR_MMMINV "---""INV"
#define TR_MMMINV "---""KÄÄ"
#define LEN_NCHANNELS "\004"
#define TR_NCHANNELS "\0014CH\0016CH\0018CH10CH12CH14CH16CH"
#define LEN_VBEEPMODE "\005"
#define TR_VBEEPMODE "Quiet""Alarm""NoKey""All "
#define TR_VBEEPMODE "Äänet""Hälyt""EiNap""Kaikk"
#define LEN_VBEEPLEN "\005"
#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0"
@@ -69,22 +69,22 @@
#define TR_TRNCHN "CH1CH2CH3CH4"
#define LEN_UART3MODES "\017"
#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 "
#define TR_UART3MODES "POIS\0 ""S-Port Pelik\0 ""Debug\0 "
#define LEN_POTTYPES "\017"
#define TR_POTTYPES "Pot\0 ""Multipos Switch"
#define TR_POTTYPES "None\0 ""Potikka\0 ""Monias. Kytkin\0"
#define LEN_DATETIME "\005"
#define TR_DATETIME "DATE:""TIME:"
#define TR_DATETIME "PÄIV:""AIKA:"
#define LEN_VLCD "\006"
#define TR_VLCD "NormalOptrex"
#define LEN_COUNTRYCODES TR("\002", "\007")
#define TR_COUNTRYCODES TR("US""JP""EU", "America""Japan\0 ""Europe\0")
#define TR_COUNTRYCODES TR("US""JP""EU", "Amerikk""Japani\0""Euroopp")
#define LEN_VTRIMINC TR("\006", "\013")
#define TR_VTRIMINC TR("Expo\0 ""ExFine""Fine\0 ""Medium""Coarse", "Exponential""Extra Fine\0""Fine\0 ""Medium\0 ""Coarse\0 ")
#define TR_VTRIMINC TR("Expo\0 ""EriHie""Hieno\0""Keski\0""Karkea", "Exponential""Eri Hieno\0 ""Hieno\0 ""Keski\0 ""Karkea\0 ")
#define LEN_VBEEPCOUNTDOWN "\006"
#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voice\0"
@@ -445,8 +445,8 @@
#define TR_ELIMITS TR("E.Limits", "Extended Limits")
#define TR_ETRIMS TR("E.Trims", "Extended Trims")
#define TR_TRIMINC "Trim Step"
#define TR_TTRACE TR("T-Source", "Throttle Source")
#define TR_TTRIM TR("T-Trim", "Throttle Trim")
#define TR_TTRACE TR("T-Source", INDENT "Throttle Source")
#define TR_TTRIM TR("T-Trim", INDENT "Throttle Trim")
#define TR_BEEPCTR TR("Ctr Beep", "Center Beep")
#define TR_PROTO TR(INDENT "Proto", INDENT "Protocol")
#define TR_PPMFRAME TR("PPM frame", INDENT "PPM frame")
@@ -509,7 +509,8 @@
#define TR_MEMORYWARNING INDENT"Memory Low"
#define TR_ALARMWARNING INDENT"Sound Off"
#define TR_RENAVIG "RotEnc Navig"
#define TR_THROTTLEREVERSE TR("T-Reverse", "Throttle reverse")
#define TR_THROTTLE_LABEL "Throttle"
#define TR_THROTTLEREVERSE TR("T-Reverse", INDENT "Throttle reverse")
#define TR_MINUTEBEEP TR(INDENT"Minute",INDENT"Minute call")
#define TR_BEEPCOUNTDOWN INDENT"Countdown"
#define TR_PERSISTENT TR(INDENT"Persist.",INDENT"Persistent")
@@ -518,9 +519,9 @@
#define TR_BLONBRIGHTNESS INDENT"ON Brightness"
#define TR_BLOFFBRIGHTNESS INDENT"OFF Brightness"
#define TR_SPLASHSCREEN "Splash screen"
#define TR_THROTTLEWARNING TR("T-Warning","Throttle Warning")
#define TR_SWITCHWARNING TR("S-Warning","Switch Warning")
#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
#define TR_THROTTLEWARNING TR("T-Warning", INDENT "Throttle Warning")
#define TR_SWITCHWARNING TR("S-Warning", INDENT "Switch Warning")
#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Warning")
#define TR_TIMEZONE TR("Time Zone","GPS Time zone")
#define TR_RXCHANNELORD TR("Rx Channel Ord","Default channel order")
#define TR_SLAVE "Slave"
@@ -715,7 +716,8 @@
#define TR_LOWALARM INDENT "Low Alarm"
#define TR_CRITICALALARM INDENT "Critical Alarm"
#define TR_PERSISTENT_MAH INDENT "Store mAh"
#define TR_CHECKLIST "Display Checklist"
#define TR_PREFLIGHT "Preflight Checks"
#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial port"
@@ -797,18 +799,18 @@
#define TR_ABOUT_PARENTS_3 "ER9X (Erez Raviv)"
#define TR_ABOUT_PARENTS_4 "TH9X (Thomas Husterer)"
#define TR_CHR_SHORT 's'
#define TR_CHR_LONG 'l'
#define TR_CHR_TOGGLE 't'
#define TR_CHR_HOUR 'h'
#define TR_CHR_INPUT 'I' // Values between A-I will work
#define TR_CHR_SHORT 's'
#define TR_CHR_LONG 'l'
#define TR_CHR_TOGGLE 't'
#define TR_CHR_HOUR 'h'
#define TR_CHR_INPUT 'I' // Values between A-I will work
#define TR_BEEP_VOLUME "Beep Volume"
#define TR_WAV_VOLUME "Wav Volume"
#define TR_VARIO_VOLUME "Vario Volume"
#define TR_BG_VOLUME "Bg Volume"
#define TR_BEEP_VOLUME "Piip Voim"
#define TR_WAV_VOLUME "Wav Voim"
#define TR_VARIO_VOLUME "Variom Voim"
#define TR_BG_VOLUME "Tausta Voim"
#define TR_TOP_BAR "Top Bar"
#define TR_ALTITUDE INDENT "Altitude"
#define TR_MODS_FORBIDDEN "Modifications forbidden!"
#define TR_UNLOCKED "Unlocked"
#define TR_TOP_BAR "Ylä palkki"
#define TR_ALTITUDE INDENT "Korkeus"
#define TR_MODS_FORBIDDEN "Muutokset kielletty!"
#define TR_UNLOCKED "Avattu"
+234 -225
View File
@@ -1,10 +1,7 @@
/*
* Authors (alphabetical order)
* - Andre Bernet <bernet.andre@gmail.com>
* - Bertrand Songis <bsongis@gmail.com>
* - Bernet Andre <bernet.andre@gmail.com>
* - Kjell Kernen <kjell.kernen@gmail.com>
* - Martin Hotar <mhotar@gmail.com>
* - Romolo Manfredini <romolo.manfredini@gmail.com>
*
* opentx is based on code named
* gruvin9x by Bryan J. Rentoul: http://code.google.com/p/gruvin9x/,
@@ -39,90 +36,90 @@
* \001 to \035 -extended spacing (value * FW/2)
* \0 -ends actual string
*/
// NON ZERO TERMINATED STRINGS
#define LEN_OFFON "\003"
#define TR_OFFON "OFF""ON\0"
#define LEN_OFFON "\003"
#define TR_OFFON "OFF""ON\0"
#define LEN_MMMINV "\003"
#define TR_MMMINV "---""INV"
#define LEN_MMMINV "\003"
#define TR_MMMINV "---""INV"
#define LEN_NCHANNELS "\004"
#define TR_NCHANNELS "\0014CH\0016CH\0018CH10CH12CH14CH16CH"
#define LEN_NCHANNELS "\004"
#define TR_NCHANNELS "\0014CH\0016CH\0018CH10CH12CH14CH16CH"
#define LEN_VBEEPMODE "\005"
#define TR_VBEEPMODE "Aucun""Alarm""NoKey""Tout\0"
#define LEN_VBEEPMODE "\005"
#define TR_VBEEPMODE "Aucun""Alarm""NoKey""Tout\0"
#define LEN_VBEEPLEN "\005"
#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0"
#define LEN_VBEEPLEN "\005"
#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0"
#define LEN_VRENAVIG "\003"
#define TR_VRENAVIG "NonREaREb"
#define LEN_VRENAVIG "\003"
#define TR_VRENAVIG "NonREaREb"
#define LEN_VBLMODE TR("\004","\011")
#define TR_VBLMODE TR("OFF\0""Btns""Ctrl""Tous""ON\0","OFF\0 ""Touches\0 ""Controles""Tous\0 ""ON\0 ")
#define LEN_VBLMODE TR("\004","\011")
#define TR_VBLMODE TR("OFF\0""Btns""Ctrl""Tous""ON\0","OFF\0 ""Touches\0 ""Controles""Tous\0 ""ON\0 ")
#define LEN_TRNMODE "\003"
#define TR_TRNMODE "OFF"" +="" :="
#define LEN_TRNMODE "\003"
#define TR_TRNMODE "OFF"" +="" :="
#define LEN_TRNCHN "\003"
#define TR_TRNCHN "CH1CH2CH3CH4"
#define LEN_TRNCHN "\003"
#define TR_TRNCHN "CH1CH2CH3CH4"
#define LEN_UART3MODES "\017"
#define TR_UART3MODES "OFF\0 ""Recopie S-Port\0""Debug\0 "
#define LEN_UART3MODES "\017"
#define TR_UART3MODES "OFF\0 ""Recopie S-Port\0""Debug\0 "
#define LEN_POTTYPES "\017"
#define TR_POTTYPES "Potentiomètre\0 ""Inter multi-pos"
#define LEN_POTTYPES "\017"
#define TR_POTTYPES "Rien\0 ""Potentiomètre\0 ""Inter multi-pos"
#define LEN_DATETIME "\005"
#define TR_DATETIME "DATE:""HEURE"
#define LEN_DATETIME "\005"
#define TR_DATETIME "DATE:""HEURE"
#define LEN_VLCD "\006"
#define TR_VLCD "NormalOptrex"
#define LEN_VLCD "\006"
#define TR_VLCD "NormalOptrex"
#define LEN_COUNTRYCODES TR("\002", "\006")
#define TR_COUNTRYCODES TR("US""JP""EU", "USA\0 ""Japon\0""Europe")
#define LEN_COUNTRYCODES TR("\002", "\006")
#define TR_COUNTRYCODES TR("US""JP""EU", "USA\0 ""Japon\0""Europe")
#define LEN_VTRIMINC TR("\006","\013")
#define TR_VTRIMINC TR("Expo\0 ""ExFin\0""Fin\0 ""Moyen\0""Gros\0 ","Exponentiel""Extra Fin\0 ""Fin\0 ""Moyen\0 ""Grossier\0 ")
#define LEN_VTRIMINC TR("\006","\013")
#define TR_VTRIMINC TR("Expo\0 ""ExFin\0""Fin\0 ""Moyen\0""Gros\0 ","Exponentiel""Extra Fin\0 ""Fin\0 ""Moyen\0 ""Grossier\0 ")
#define LEN_VBEEPCOUNTDOWN "\006"
#define TR_VBEEPCOUNTDOWN "SilentBeeps\0Voice\0"
#define LEN_VBEEPCOUNTDOWN "\007"
#define TR_VBEEPCOUNTDOWN "Silence""Bips\0 ""Voix\0 "
#define LEN_RETA123 "\001"
#define LEN_RETA123 "\001"
#if defined(PCBGRUVIN9X)
#if ROTARY_ENCODERS > 2
#define TR_RETA123 "DPGA123abcd"
#define TR_RETA123 "DPGA123abcd"
#else
#define TR_RETA123 "DPGA123ab"
#define TR_RETA123 "DPGA123ab"
#endif
#elif defined(PCBTARANIS)
#define TR_RETA123 "DPGA12LR"
#else
#define TR_RETA123 "DPGA123"
#define TR_RETA123 "DPGA12LR"
#else
#define TR_RETA123 "DPGA123"
#endif
#define LEN_VPROTOS "\006"
#define LEN_VPROTOS "\006"
#if defined(PXX)
#define TR_PXX "PXX\0 "
#define TR_PXX "PXX\0 "
#elif defined(DSM2) || defined(IRPROTOS)
#define TR_PXX "[PXX]\0"
#define TR_PXX "[PXX]\0"
#else
#define TR_PXX
#endif
#if defined(DSM2)
#define TR_DSM2 "LP45\0 ""DSM2\0 ""DSMX\0 "
#define TR_DSM2 "LP45\0 ""DSM2\0 ""DSMX\0 "
#elif defined(IRPROTOS)
#define TR_DSM2 "[LP45]""[DSM2]""[DSMX]"
#define TR_DSM2 "[LP45]""[DSM2]""[DSMX]"
#else
#define TR_DSM2
#endif
#if defined(IRPROTOS)
#define TR_IRPROTOS "SILV TRAC09PICZ SWIFT\0"
#define TR_IRPROTOS "SILV TRAC09PICZ SWIFT\0"
#else
#define TR_IRPROTOS
#endif
@@ -130,29 +127,29 @@
#if defined(CPUARM)
#define TR_XPPM
#else
#define TR_XPPM "PPM16\0""PPMsim"
#define TR_XPPM "PPM16\0""PPMsim"
#endif
#define TR_VPROTOS "PPM\0 " TR_XPPM TR_PXX TR_DSM2 TR_IRPROTOS
#define TR_VPROTOS "PPM\0 " TR_XPPM TR_PXX TR_DSM2 TR_IRPROTOS
#define LEN_POSNEG "\003"
#define TR_POSNEG "POS""NEG"
#define LEN_POSNEG "\003"
#define TR_POSNEG "POS""NEG"
#define LEN_VCURVEFUNC "\003"
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
#define LEN_VCURVEFUNC "\003"
#define TR_VCURVEFUNC "---""x>0""x<0""|x|""f>0""f<0""|f|"
#define LEN_VMLTPX TR("\010","\013")
#define TR_VMLTPX TR("Ajoute\0 ""Multipl.""Remplace","Additionner""Multiplier\0""Remplacer\0 ")
#define LEN_VMLTPX TR("\010", "\013")
#define TR_VMLTPX TR("Ajoute\0 ""Multipl.""Remplace","Additionner""Multiplier\0""Remplacer\0 ")
#define LEN_VMLTPX2 "\002"
#define TR_VMLTPX2 "+=""*="":="
#define LEN_VMLTPX2 "\002"
#define TR_VMLTPX2 "+=""*="":="
#define LEN_VMIXTRIMS "\003"
#define TR_VMIXTRIMS "OFF""ON\0""Dir""Prf""Gaz""Ail"
#define LEN_VMIXTRIMS "\003"
#define TR_VMIXTRIMS "OFF""ON\0""Dir""Prf""Gaz""Ail"
#if defined(PCBTARANIS)
#define TR_CSWTIMER "Tempo"
#define TR_CSWSTICKY "Bist."
#define TR_CSWSTICKY "Bistb"
#define TR_CSWRANGE "Plage"
#define TR_CSWSTAY "Flanc"
#else
@@ -168,86 +165,88 @@
#endif
#if defined(CPUARM)
#define TR_CSWEQUAL "a=x\0 "
#define TR_CSWEQUAL "a=x\0 "
#else
#define TR_CSWEQUAL
#endif
#define LEN_VCSWFUNC "\005"
#define LEN_VCSWFUNC "\005"
#if defined(CPUARM)
#define TR_VCSWFUNC "---\0 " TR_CSWEQUAL "a{x\0 ""a>x\0 ""a<x\0 " TR_CSWRANGE "|a|>x""|a|<x""AND\0 ""OR\0 ""XOR\0 " TR_CSWSTAY "a=b\0 ""a>b\0 ""a<b\0 ""Δ}x\0 ""|Δ|}x" TR_CSWTIMER TR_CSWSTICKY
#define TR_VCSWFUNC "---\0 " TR_CSWEQUAL "a{x\0 ""a>x\0 ""a<x\0 " TR_CSWRANGE "|a|>x""|a|<x""ET\0 ""OU\0 ""OUX\0 " TR_CSWSTAY "a=b\0 ""a>b\0 ""a<b\0 ""Δ}x\0 ""|Δ|}x" TR_CSWTIMER TR_CSWSTICKY
#else
#define TR_VCSWFUNC "---\0 " TR_CSWEQUAL "a{x\0 ""a>x\0 ""a<x\0 " TR_CSWRANGE "|a|>x""|a|<x""AND\0 ""OR\0 ""XOR\0 " TR_CSWSTAY "a=b\0 ""a>b\0 ""a<b\0 ""^}x\0 ""|^|}x" TR_CSWTIMER TR_CSWSTICKY
#define TR_VCSWFUNC "---\0 " TR_CSWEQUAL "a{x\0 ""a>x\0 ""a<x\0 " TR_CSWRANGE "|a|>x""|a|<x""ET\0 ""OU\0 ""OUX\0 " TR_CSWSTAY "a=b\0 ""a>b\0 ""a<b\0 ""^}x\0 ""|^|}x" TR_CSWTIMER TR_CSWSTICKY
#endif
#define LEN_VFSWFUNC "\015"
#define LEN_VFSWFUNC "\015"
#if defined(VARIO)
#define TR_VVARIO "Vario\0 "
#define TR_VVARIO "Vario\0 "
#else
#define TR_VVARIO "[Vario]\0 "
#define TR_VVARIO "[Vario]\0 "
#endif
#if defined(AUDIO)
#define TR_SOUND "Jouer son\0 "
#define TR_SOUND "Jouer son\0 "
#else
#define TR_SOUND "Bip\0 "
#define TR_SOUND "Bip\0 "
#endif
#if defined(HAPTIC)
#define TR_HAPTIC "Vibreur\0 "
#define TR_HAPTIC "Vibreur\0 "
#else
#define TR_HAPTIC "[Vibreur]\0 "
#define TR_HAPTIC "[Vibreur]\0 "
#endif
#if defined(VOICE)
#if defined(PCBSKY9X)
#define TR_PLAY_TRACK "Jouer\0 "
#define TR_PLAY_TRACK "Jouer\0 "
#else
#define TR_PLAY_TRACK "Jouer fich\0 "
#define TR_PLAY_TRACK "Jouer fich\0 "
#endif
#define TR_PLAY_BOTH "Jouer les 2\0 "
#define TR_PLAY_VALUE "Dire valeur\0 "
#define TR_PLAY_BOTH "Jouer les 2\0 "
#define TR_PLAY_VALUE "Dire valeur\0 "
#else
#define TR_PLAY_TRACK "[Jouer fich.]"
#define TR_PLAY_BOTH "[Jouer les 2]"
#define TR_PLAY_VALUE "[Dire valeur]"
#define TR_PLAY_TRACK "[Jouer fich.]"
#define TR_PLAY_BOTH "[Jouer les 2]"
#define TR_PLAY_VALUE "[Dire valeur]"
#endif
#define TR_CFN_BG_MUSIC "Musique\0 ""Pause Musique"
#define TR_CFN_BG_MUSIC "Musique\0 ""Pause Musique"
#if defined(SDCARD)
#define TR_SDCLOGS "Logs SD\0 "
#define TR_SDCLOGS "Logs SD\0 "
#else
#define TR_SDCLOGS "[Logs SD]\0 "
#define TR_SDCLOGS "[Logs SD]\0 "
#endif
#ifdef GVARS
#define TR_ADJUST_GVAR "Ajuster\0 "
#define TR_ADJUST_GVAR "Ajuster\0 "
#else
#define TR_ADJUST_GVAR "[AjusteGV]\0 "
#define TR_ADJUST_GVAR "[AjusteGV]\0 "
#endif
#ifdef DEBUG
#define TR_CFN_TEST "Test\0 "
#define TR_CFN_TEST "Test\0 "
#else
#define TR_CFN_TEST
#endif
#define TR_CFN_RESERVE "[reserve]\0 "
#if defined(CPUARM)
#define TR_VFSWFUNC "Sécur.\0 ""Ecolage\0 ""Trim instant.""Remise à 0\0 ""Set \0 " TR_ADJUST_GVAR "Volume\0 " TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Rétroécl.\0 " TR_CFN_TEST
#define TR_VFSWFUNC "Sécur.\0 ""Ecolage\0 ""Trim instant.""Remise à 0\0 ""Déf \0 " TR_ADJUST_GVAR "Volume\0 " TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_RESERVE TR_SOUND TR_PLAY_TRACK TR_PLAY_VALUE TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_RESERVE TR_CFN_BG_MUSIC TR_VVARIO TR_HAPTIC TR_SDCLOGS "Rétroécl.\0 " TR_CFN_TEST
#elif defined(PCBGRUVIN9X)
#define TR_VFSWFUNC "Sécur.\0 ""Ecolage\0 ""Trim instant.""Remise à 0\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "Rétroécl.\0 " TR_CFN_TEST
#define TR_VFSWFUNC "Sécur.\0 ""Ecolage\0 ""Trim instant.""Remise à 0\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE TR_VVARIO TR_HAPTIC TR_SDCLOGS "Rétroécl.\0 " TR_CFN_TEST
#else
#define TR_VFSWFUNC "Sécur.\0 ""Ecolage\0 ""Trim instant.""Remise à 0\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE "Rétroécl.\0 " TR_CFN_TEST
#define TR_VFSWFUNC "Sécur.\0 ""Ecolage\0 ""Trim instant.""Remise à 0\0 " TR_ADJUST_GVAR TR_SOUND TR_PLAY_TRACK TR_PLAY_BOTH TR_PLAY_VALUE "Rétroécl.\0 " TR_CFN_TEST
#endif
#define LEN_VFSWRESET TR("\004","\012")
#define LEN_VFSWRESET TR("\004", "\012")
#if defined(FRSKY)
#define TR_FSW_RESET_TELEM TR("Télm","Télémesure")
#define TR_FSW_RESET_TELEM TR("Télm", "Télémesure")
#else
#define TR_FSW_RESET_TELEM
#define TR_FSW_RESET_TELEM
#endif
#if ROTARY_ENCODERS == 2
@@ -264,14 +263,22 @@
#define TR_FUNCSOUNDS TR("Bp1\0""Bp2\0""Bp3\0""Wrn1""Wrn2""Chee""Rata""Tick""Sirn""Ring""SciF""Robt""Chrp""Tada""Crck""Alrm", "Beep1 ""Beep2 ""Beep3 ""Warn1 ""Warn2 ""Cheep ""Ratata""Tick ""Siren ""Ring ""SciFi ""Robot ""Chirp ""Tada ""Crickt""AlmClk")
#define LEN_VTELEMCHNS "\004"
#if defined(PCBTARANIS)
#define TR_RSSI_0 "SWR\0"
#define TR_RSSI_1 "RSSI"
#if defined(CPUARM)
#define TR_TELEM_RESERVE "[--]"
#define TR_SWR "SWR\0"
#define TR_RX_BATT "RxBt"
#define TR_A3_A4 "A3\0 ""A4\0 "
#define TR_A3_A4_MIN "A3-\0""A4-\0"
#else
#define TR_RSSI_0 "Tx\0 "
#define TR_RSSI_1 "Rx\0 "
#define TR_TELEM_RESERVE
#define TR_SWR
#define TR_RX_BATT
#define TR_A3_A4
#define TR_A3_A4_MIN
#endif
#define TR_VTELEMCHNS "---\0""Batt""Chr1""Chr2" TR_RSSI_0 TR_RSSI_1 "A1\0 ""A2\0 ""Alt\0""Rpm\0""Carb""T1\0 ""T2\0 ""Vit\0""Dist""AltG""Elem""Velm""Vfas""Cour""Cnsm""Puis""AccX""AccY""AccZ""Cap\0""VitV""VitA""dET\0""A1-\0""A2-\0""Alt-""Alt+""Rpm+""T1+\0""T2+\0""Vit+""Dst+""Elm-""Els-""Vfs-""Cur+""Pui+""Acc\0""Tmps"
#define TR_VTELEMCHNS "---\0""Batt""Chr1""Chr2" TR_SWR "Tx\0 ""Rx\0 " TR_RX_BATT "A1\0 ""A2\0 " TR_A3_A4 "Alt\0""Rpm\0""Carb""T1\0 ""T2\0 ""Vit\0""Dist""AltG""Elem""Velm""Vfas""Cour""Cnsm""Puis""AccX""AccY""AccZ""Cap\0""VitV""VitA""dET\0" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "A1-\0""A2-\0" TR_A3_A4_MIN "Alt-""Alt+""Rpm+""T1+\0""T2+\0""Vit+""Dst+""Elm-""Els-""Vfs-""Cur+""Pui+" TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE TR_TELEM_RESERVE "Acc\0""Tmps"
#define LENGTH_UNIT_IMP "ft\0"
#define SPEED_UNIT_IMP "mph"
@@ -282,64 +289,64 @@
#define LEN_VUNITSSYSTEM TR("\006", "\012")
#define TR_VUNITSSYSTEM TR("Métr.\0""Impér.", "Métriques\0""Impériales")
#define LEN_VTELEMUNIT_METR "\003"
#define TR_VTELEMUNIT_METR "v\0 ""A\0 ""m/s""-\0 ""kmh""m\0 ""@\0 ""%\0 ""mA\0""mAh""W\0 "
#define TR_VTELEMUNIT_METR "v\0 ""A\0 ""m/s""-\0 " SPEED_UNIT_METR LENGTH_UNIT_METR "@\0 ""%\0 ""mA\0""mAh""W\0 "
#define LEN_VTELEMUNIT_IMP "\003"
#define TR_VTELEMUNIT_IMP "v\0 ""A\0 ""m/s""-\0 ""kts""ft\0""@\0 ""%\0 ""mA\0""mAh""W\0 "
#define TR_VTELEMUNIT_IMP "v\0 ""A\0 ""m/s""-\0 " SPEED_UNIT_IMP LENGTH_UNIT_IMP "@\0 ""%\0 ""mA\0""mAh""W\0 "
#else
#if defined(IMPERIAL_UNITS)
#define LENGTH_UNIT "ft\0"
#define SPEED_UNIT "kts"
#define LENGTH_UNIT LENGTH_UNIT_IMP
#define SPEED_UNIT SPEED_UNIT_IMP
#else
#define LENGTH_UNIT "m\0 "
#define SPEED_UNIT "kmh"
#define LENGTH_UNIT LENGTH_UNIT_METR
#define SPEED_UNIT SPEED_UNIT_METR
#endif
#define LEN_VTELEMUNIT "\003"
#define TR_VTELEMUNIT "v\0 ""A\0 ""m/s""-\0 " SPEED_UNIT LENGTH_UNIT "@\0 ""%\0 ""mA\0""mAh""W\0 "
#endif
#define STR_V (STR_VTELEMUNIT+1)
#define STR_A (STR_VTELEMUNIT+4)
#define STR_V (STR_VTELEMUNIT+1)
#define STR_A (STR_VTELEMUNIT+4)
#define LEN_VALARM "\004"
#define TR_VALARM "----""Jaun""Oran""Roug"
#define LEN_VALARM "\004"
#define TR_VALARM "----""Jaun""Oran""Roug"
#define LEN_VALARMFN "\001"
#define TR_VALARMFN "<>"
#define LEN_VALARMFN "\001"
#define TR_VALARMFN "<>"
#define LEN_VTELPROTO "\007"
#define TR_VTELPROTO "Aucun ""Hub\0 ""WSHHigh""Halcyon"
#define LEN_VTELPROTO "\007"
#define TR_VTELPROTO "Aucun ""Hub\0 ""WSHHigh""Halcyon"
#define LEN_VOLTSRC "\003"
#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel"
#define LEN_VOLTSRC "\003"
#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel"
#define LEN_VARIOSRC "\005"
#define LEN_VARIOSRC "\005"
#if defined(FRSKY_SPORT)
#define TR_VARIOSRC "Vario""A1\0 ""A2\0"
#define TR_VARIOSRC "Vario""A1\0 ""A2\0""dTE\0"
#else
#define TR_VARIOSRC "Alti\0""Alti+""Vario""A1\0 ""A2\0"
#endif
#define LEN_VSCREEN TR("\004","\007")
#define TR_VSCREEN TR("Val.""Bars","Valeurs""Barres\0")
#define LEN_VSCREEN TR("\004", "\007")
#define TR_VSCREEN TR("Val.""Bars", "Valeurs""Barres\0")
#define LEN_GPSFORMAT "\004"
#define TR_GPSFORMAT "DMS\0NMEA"
#define LEN_GPSFORMAT "\004"
#define TR_GPSFORMAT "DMS\0""NMEA"
#define LEN2_VTEMPLATES 15
#define LEN_VTEMPLATES "\017"
#define TR_VTEMPLATES "Suppr Mixages\0 ""4 Voies simple\0""Coupure Gaz\0 ""Empennage V\0 ""Elevon\\Delta\0 ""eCCPM\0 ""Conf. Hélico\0 ""Test Servo\0 "
#define LEN2_VTEMPLATES 15
#define LEN_VTEMPLATES "\017"
#define TR_VTEMPLATES "Suppr Mixages\0 ""4 Voies simple\0""Coupure Gaz\0 ""Empennage V\0 ""Elevon\\Delta\0 ""eCCPM\0 ""Conf. Hélico\0 ""Test Servo\0 "
#define LEN_VSWASHTYPE "\004"
#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0"
#define LEN_VSWASHTYPE "\004"
#define TR_VSWASHTYPE "--- ""120 ""120X""140 ""90\0"
#define LEN_VKEYS "\005"
#define TR_VKEYS TR("Menu\0""Exit\0""Bas\0 ""Haut\0""Droit""Gauch", "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus")
#define LEN_VKEYS "\005"
#define TR_VKEYS TR("Menu\0""Exit\0""Bas\0 ""Haut\0""Droit""Gauch", "Menu\0""Exit\0""Enter""Page\0""Plus\0""Minus")
#define LEN_VRENCODERS "\003"
#define TR_VRENCODERS "REa""REb"
#define LEN_VRENCODERS "\003"
#define TR_VRENCODERS "REa""REb"
#define LEN_VSWITCHES "\003"
#define LEN_VSRCRAW "\004"
#define LEN_VSWITCHES "\003"
#define LEN_VSRCRAW "\004"
#if defined(PCBTARANIS)
#define TR_POTS_VSRCRAW "S1\0 ""S2\0 ""S3\0 ""LS\0 ""RS\0 "
@@ -355,11 +362,11 @@
#endif
#if defined(CPUARM)
#define TR_LOGICALSW "IL1""IL2""IL3""IL4""IL5""IL6""IL7""IL8""IL9""ILA""ILB""ILC""ILD""ILE""ILF""ILG""ILH""ILI""ILJ""ILK""ILL""ILM""ILN""ILO""ILP""ILQ""ILR""ILS""ILT""ILU""ILV""ILW"
#define TR_LOGICALSW "IL1""IL2""IL3""IL4""IL5""IL6""IL7""IL8""IL9""ILA""ILB""ILC""ILD""ILE""ILF""ILG""ILH""ILI""ILJ""ILK""ILL""ILM""ILN""ILO""ILP""ILQ""ILR""ILS""ILT""ILU""ILV""ILW"
#elif defined(PCBGRUVIN9X) || defined(CPUM2561) || defined(CPUM128)
#define TR_LOGICALSW "IL1""IL2""IL3""IL4""IL5""IL6""IL7""IL8""IL9""ILA""ILB""ILC""ILD""ILE""ILF"
#define TR_LOGICALSW "IL1""IL2""IL3""IL4""IL5""IL6""IL7""IL8""IL9""ILA""ILB""ILC""ILD""ILE""ILF"
#else
#define TR_LOGICALSW "IL1""IL2""IL3""IL4""IL5""IL6""IL7""IL8""IL9""ILA""ILB""ILC"
#define TR_LOGICALSW "IL1""IL2""IL3""IL4""IL5""IL6""IL7""IL8""IL9""ILA""ILB""ILC"
#endif
#define TR_TRIMS_SWITCHES "tDg""tDd""tPb""tPh""tGb""tGh""tAg""tAd"
@@ -385,21 +392,21 @@
#endif
#if defined(HELI)
#define TR_CYC_VSRCRAW "CYC1""CYC2""CYC3"
#define TR_CYC_VSRCRAW "CYC1""CYC2""CYC3"
#else
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
#define TR_CYC_VSRCRAW "[C1]""[C2]""[C3]"
#endif
#define TR_VSRCRAW "---\0""Dir\0""Prf\0""Gaz\0""Ail\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW "TrmD" "TrmP" "TrmG" "TrmA" TR_SW_VSRCRAW
#define TR_VSRCRAW "---\0""Dir\0""Prf\0""Gaz\0""Ail\0" TR_POTS_VSRCRAW TR_ROTARY_ENCODERS "MAX\0" TR_CYC_VSRCRAW "TrmD" "TrmP" "TrmG" "TrmA" TR_SW_VSRCRAW
#define LEN_VTMRMODES "\003"
#define TR_VTMRMODES "OFF""ABS""GZs""GZ%""GZt"
#define LEN_VTMRMODES "\003"
#define TR_VTMRMODES "OFF""ABS""GZs""GZ%""GZt"
#define LEN_VTRAINERMODES "\006"
#define TR_VTRAINERMODES "Maître""Elève\0"
#define LEN_VFAILSAFE "\011"
#define TR_VFAILSAFE "Maintien\0""Prédéfini""Pas d'imp"
#define LEN_VFAILSAFE "\011"
#define TR_VFAILSAFE "Maintien\0""Prédéfini""Pas d'imp"
#if defined(MAVLINK)
#define LEN_MAVLINK_BAUDS "\006"
@@ -434,7 +441,7 @@
#define TR_MODELNAME TR("Nom modèle","Nom du modèle")
#define TR_PHASENAME "Nom phase"
#define TR_MIXNAME TR("Nom mix.","Nom du mixeur")
#define TR_INPUTNAME "Input Name"
#define TR_INPUTNAME "Nom entrée"
#if defined(PCBTARANIS)
#define TR_EXPONAME "Nom ligne"
#else
@@ -442,43 +449,43 @@
#endif
#define TR_BITMAP "Image du modèle"
#define TR_TIMER "Chrono "
#define TR_ELIMITS TR("Limites ét","Limites étendues")
#define TR_ETRIMS TR("Trims ét.","Trims étendus")
#define TR_TRIMINC TR("Pas Trim","Pas des trims")
#define TR_TTRACE "Source gaz"
#define TR_TTRIM "Trim gaz"
#define TR_BEEPCTR TR("Bips centr","Bips centrage")
#define TR_PROTO TR(INDENT"Proto.",INDENT"Protocole")
#define TR_PPMFRAME INDENT"Trame PPM"
#define TR_ELIMITS TR("Limites ét", "Limites étendues")
#define TR_ETRIMS TR("Trims ét.", "Trims étendus")
#define TR_TRIMINC TR("Pas Trim", "Pas des trims")
#define TR_TTRACE TR("Source gaz", INDENT "Source gaz")
#define TR_TTRIM TR("Trim gaz", INDENT "Trim ralenti")
#define TR_BEEPCTR TR("Bips centr", "Bips centrage")
#define TR_PROTO TR(INDENT "Proto.", INDENT "Protocole")
#define TR_PPMFRAME INDENT "Trame PPM"
#define TR_MS "ms"
#define TR_SWITCH TR("Inter","Interrupteur")
#define TR_SWITCH TR("Inter", "Interrupteur")
#define TR_TRIMS "Trims"
#define TR_FADEIN "Fondu ON"
#define TR_FADEOUT "Fondu OFF"
#define TR_DEFAULT "(défaut)"
#define TR_CHECKTRIMS "\006Vérif\012Trims"
#define OFS_CHECKTRIMS (9*FW)
#define TR_SWASHTYPE TR("Type de Plat.","Type de plateau")
#define TR_COLLECTIVE TR("Collectif","Voie du pas collectif")
#define TR_SWASHRING TR("Limite Cycl.","Limite du cyclique")
#define TR_ELEDIRECTION TR("Inv. longitud.","Inversion longitudinal")
#define TR_AILDIRECTION TR("Inv. latéral","Inversion latéral")
#define TR_COLDIRECTION TR("Inv. collectif","Inversion collectif")
#define TR_MODE INDENT"Mode"
#define TR_SWASHTYPE TR("Type de Plat.", "Type de plateau")
#define TR_COLLECTIVE TR("Collectif", "Voie du pas collectif")
#define TR_SWASHRING TR("Limite Cycl.", "Limite du cyclique")
#define TR_ELEDIRECTION TR("Inv. longitud.", "Inversion longitudinal")
#define TR_AILDIRECTION TR("Inv. latéral", "Inversion latéral")
#define TR_COLDIRECTION TR("Inv. collectif", "Inversion collectif")
#define TR_MODE INDENT "Mode"
#define TR_NOFREEEXPO "Max expos atteint!"
#define TR_NOFREEMIXER "Max mixages atteint!"
#define TR_INSERTMIX "INSERER MIXAGE"
#define TR_EDITMIX "EDITER MIXAGE"
#define TR_SOURCE INDENT"Source"
#define TR_SOURCE INDENT "Source"
#define TR_WEIGHT "Ratio"
#define TR_EXPO TR("Expo","Exponentiel")
#define TR_EXPO TR("Expo", "Exponentiel")
#define TR_SIDE "Coté"
#define TR_DIFFERENTIAL "Différentiel"
#define TR_OFFSET INDENT"Décalage"
#define TR_OFFSET INDENT "Décalage"
#define TR_TRIM "Trim"
#define TR_DREX "DRex"
#define TR_CURVE "Courbe"
#define TR_FLMODE TR("Phase","Phases")
#define TR_FLMODE TR("Phase", "Phases")
#define TR_MIXWARNING "Alerte"
#define TR_OFF "OFF"
#define TR_MULTPX "Opération"
@@ -490,37 +497,38 @@
#define TR_CV "CB"
#define TR_GV "VG"
#define TR_ACHANNEL "A"
#define TR_RANGE INDENT"Plage"
#define TR_RANGE INDENT "Plage"
#define TR_BAR "Barre"
#define TR_ALARM INDENT"Alarme"
#define TR_ALARM INDENT "Alarme"
#define TR_USRDATA "Données"
#define TR_BLADES INDENT"Pales"
#define TR_BLADES INDENT "Pales"
#define TR_SCREEN "Ecran "
#define TR_SOUND_LABEL "Son"
#define TR_LENGTH INDENT"Durée"
#define TR_SPKRPITCH INDENT"Tonalité"
#define TR_LENGTH INDENT "Durée"
#define TR_SPKRPITCH INDENT "Tonalité"
#define TR_HAPTIC_LABEL "Vibreur"
#define TR_HAPTICSTRENGTH INDENT"Force"
#define TR_HAPTICSTRENGTH INDENT "Force"
#define TR_CONTRAST "Contraste"
#define TR_ALARMS_LABEL "Alarmes"
#define TR_BATTERY_RANGE "Plage batterie"
#define TR_BATTERYWARNING TR(INDENT"Batterie",INDENT"Batterie faible")
#define TR_INACTIVITYALARM INDENT"Inactivité"
#define TR_MEMORYWARNING INDENT"Mémoire pleine"
#define TR_ALARMWARNING TR(INDENT"Silence",INDENT"Sons désactivés")
#define TR_BATTERYWARNING TR(INDENT "Batterie",INDENT "Batterie faible")
#define TR_INACTIVITYALARM INDENT "Inactivité"
#define TR_MEMORYWARNING INDENT "Mémoire pleine"
#define TR_ALARMWARNING TR(INDENT "Silence",INDENT "Sons désactivés")
#define TR_RENAVIG "Navig EncRot"
#define TR_THROTTLEREVERSE TR("Inv. gaz","Inversion gaz")
#define TR_MINUTEBEEP TR(INDENT"Bip min.",INDENT"Annonces minutes")
#define TR_BEEPCOUNTDOWN TR(INDENT"Bip fin",INDENT"Compte à rebours")
#define TR_PERSISTENT TR(INDENT"Persist.",INDENT"Persistant")
#define TR_THROTTLE_LABEL "Gaz"
#define TR_THROTTLEREVERSE TR("Inv. gaz", INDENT "Inversion gaz")
#define TR_MINUTEBEEP TR(INDENT "Bip min.",INDENT "Annonces minutes")
#define TR_BEEPCOUNTDOWN TR(INDENT "Bip fin",INDENT "Compte à rebours")
#define TR_PERSISTENT TR(INDENT "Persist.",INDENT "Persistant")
#define TR_BACKLIGHT_LABEL "Rétroéclairage"
#define TR_BLDELAY INDENT"Durée"
#define TR_BLONBRIGHTNESS INDENT"Luminosité ON"
#define TR_BLOFFBRIGHTNESS INDENT"Luminosité OFF"
#define TR_BLDELAY INDENT "Durée"
#define TR_BLONBRIGHTNESS INDENT "Luminosité ON"
#define TR_BLOFFBRIGHTNESS INDENT "Luminosité OFF"
#define TR_SPLASHSCREEN "Logo d'accueil"
#define TR_THROTTLEWARNING "Alerte gaz"
#define TR_SWITCHWARNING TR("Alerte int","Alerte interrupt.")
#define TR_POTWARNING TR("Alerte pot","Alerte potentiom.")
#define TR_THROTTLEWARNING TR("Alerte gaz", INDENT "Alerte gaz")
#define TR_SWITCHWARNING TR("Alerte int", INDENT "Pos. interrupteurs")
#define TR_POTWARNING TR("Alerte pot", INDENT "Pos. potentiom.")
#define TR_TIMEZONE "Fuseau horaire"
#define TR_RXCHANNELORD TR("Ordre voies RX","Ordre des voies préféré")
#define TR_SLAVE "Elève"
@@ -581,28 +589,28 @@
#define TR_MENUHELISETUP TR("CONF.HELI","CONFIGURATION HELICO")
#if defined(PCBTARANIS)
#define TR_MENUINPUTS "ENTREES"
#define TR_MENULIMITS "SORTIES"
#define TR_MENUINPUTS "ENTREES"
#define TR_MENULIMITS "SORTIES"
#elif defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_LIMITS_SYMETRICAL) // The right menu titles for the gurus ...
#define TR_MENUINPUTS "MANCHES"
#define TR_MENULIMITS "SORTIES"
#define TR_MENUINPUTS "MANCHES"
#define TR_MENULIMITS "SORTIES"
#else
#define TR_MENUINPUTS "DR/EXPO"
#define TR_MENULIMITS "LIMITES"
#define TR_MENUINPUTS "DR/EXPO"
#define TR_MENULIMITS "LIMITES"
#endif
#define TR_MENUCURVES "COURBES"
#define TR_MENUCURVE "COURBE"
#define TR_MENULOGICALSWITCH "INTER LOG."
#define TR_MENULOGICALSWITCHES TR("INTERS LOG.","INTERS LOGIQUES")
#define TR_MENULOGICALSWITCH "INTER LOG."
#define TR_MENULOGICALSWITCHES TR("INTERS LOG.","INTERS LOGIQUES")
#define TR_MENUCUSTOMFUNC TR("FONCTIONS SPEC.","FONCTIONS SPECIALES")
#define TR_MENUTELEMETRY "TELEMESURE"
#define TR_MENUTEMPLATES "GABARITS"
#define TR_MENUSTAT TR("STATS","STATISTIQUES")
#define TR_MENUDEBUG "DEBUG"
#define TR_RXNUM TR(INDENT"NumRx",INDENT"No. récepteur")
#define TR_RXNUM TR(INDENT "NumRx",INDENT "No. récepteur")
#define TR_SYNCMENU "Sync [MENU]"
#define TR_LIMIT INDENT"Limite"
#define TR_LIMIT INDENT "Limite"
#define TR_MINRSSI "RSSI Min."
#define TR_LATITUDE "Latitude"
#define TR_LONGITUDE "Longitude"
@@ -611,8 +619,8 @@
#define TR_SHUTDOWN "ARRET EN COURS"
#define TR_BATT_CALIB "Calib. Batterie"
#define TR_CURRENT_CALIB "Calib. Courant"
#define TR_VOLTAGE INDENT"Tension"
#define TR_CURRENT INDENT"Courant"
#define TR_VOLTAGE INDENT "Tension"
#define TR_CURRENT INDENT "Courant"
#define TR_SELECT_MODEL "Sélect. Modèle"
#define TR_CREATE_MODEL "Créer Modèle"
#define TR_COPY_MODEL "Copier Modèle"
@@ -679,10 +687,10 @@
#define TR_CHANNELS_MONITOR "MONITEUR CANAUX"
#define TR_INTERNALRF "HF interne"
#define TR_EXTERNALRF "HF externe"
#define TR_FAILSAFE INDENT"Type failsafe"
#define TR_FAILSAFE INDENT "Type failsafe"
#define TR_FAILSAFESET "REGLAGES FAILSAFE"
#define TR_COUNTRYCODE "Zone géo."
#define TR_VOICELANG TR("Langue voix","Langue annonces vocales")
#define TR_VOICELANG TR("Langue voix", "Langue annonces vocales")
#define TR_UNITSSYSTEM "Unités"
#define TR_EDIT "Editer"
#define TR_INSERT_BEFORE "Insérer avant"
@@ -692,16 +700,16 @@
#define TR_PASTE "Coller"
#define TR_DELETE "Effacer"
#define TR_INSERT "Insérer"
#define TR_RESET_FLIGHT TR("Réinit. vol","Réinitialiser vol")
#define TR_RESET_TIMER1 TR("Réinit. Timer1","Réinitialiser Timer1")
#define TR_RESET_TIMER2 TR("Réinit. Timer2","Réinitialiser Timer2")
#define TR_RESET_TELEMETRY TR("Réinit. Télém.","Réinit. Télémesure")
#define TR_RESET_FLIGHT TR("Réinit. vol", "Réinitialiser vol")
#define TR_RESET_TIMER1 TR("Réinit. Timer1", "Réinitialiser Timer1")
#define TR_RESET_TIMER2 TR("Réinit. Timer2", "Réinitialiser Timer2")
#define TR_RESET_TELEMETRY TR("Réinit. Télém.", "Réinit. Télémesure")
#define TR_STATISTICS "Statistiques"
#define TR_ABOUT_US "A propos"
#define TR_AND_SWITCH "ET suppl."
#define TR_CF "FS"
#define TR_SPEAKER INDENT"Haut-p."
#define TR_BUZZER INDENT"Bipeur"
#define TR_SPEAKER INDENT "Haut-p."
#define TR_BUZZER INDENT "Bipeur"
#define TR_BYTES "bytes"
#define TR_MODULE_BIND "[Bind]"
#define TR_MODULE_RANGE "[Port.]"
@@ -709,13 +717,14 @@
#define TR_SET "[Déf.]"
#define TR_TRAINER "Ecolage"
#define TR_ANTENNAPROBLEM CENTER "Antenne radio défectueuse!"
#define TR_MODELIDUSED TR("ID déjà affecté","No de modèle déjà utilisé")
#define TR_MODELIDUSED TR("ID déjà affecté", "No de modèle déjà utilisé")
#define TR_MODULE INDENT "Type de module"
#define TR_CHANNELRANGE INDENT "Plage de canaux"
#define TR_LOWALARM INDENT "Alarme basse"
#define TR_CRITICALALARM INDENT "Alarme critique"
#define TR_PERSISTENT_MAH TR(INDENT "Enr. mAh",INDENT "Enregistrer mAh")
#define TR_CHECKLIST "Afficher notes"
#define TR_PERSISTENT_MAH TR(INDENT "Enr. mAh", INDENT "Enregistrer mAh")
#define TR_PREFLIGHT "Vérifications avant vol"
#define TR_CHECKLIST INDENT "Afficher notes"
#define TR_FAS_OFFSET TR(INDENT "Corr FAS", INDENT "Correction FAS")
#define TR_UART3MODE "Port série"
@@ -746,22 +755,22 @@
#endif
// Taranis column headers
#define TR_PHASES_HEADERS { " Nom ", " Inter ", " Trims ", " Fondu ON ", " Fondu OFF " }
#define TR_LIMITS_HEADERS { " Nom ", " Subtrim ", " Min ", " Max ", " Direction ", " Curve ", " Neutre PPM ", " Mode subtrim " }
#define TR_PHASES_HEADERS { " Nom ", " Inter ", " Trim Dir ", " Trim Prf ", " Trim Gaz ", " Trim Ail ", " Fondu ON ", " Fondu OFF " }
#define TR_LIMITS_HEADERS { " Nom ", " Subtrim ", " Min ", " Max ", " Direction ", " Courbe ", " Neutre PPM ", " Mode subtrim " }
#define TR_CSW_HEADERS { " Fonction ", " V1 ", " V2 ", " V2 ", " ET suppl. ", " Durée ", " Délai " }
//Taranis About screen
#define TR_ABOUTUS TR(" A PROPOS ","A PROPOS")
#define TR_ABOUTUS TR(" A PROPOS ", "A PROPOS")
#define TR_ABOUT_OPENTX_1 TR("OpenTX\001est\001libre,\001non-","OpenTX est libre, non-")
#define TR_ABOUT_OPENTX_2 TR("commercial,\001et\001offert\001sans","commercial et n'offre aucune")
#define TR_ABOUT_OPENTX_3 TR("garantie.\001Il\001est\001développé","garantie. Il a été développé")
#define TR_ABOUT_OPENTX_4 TR("gratuitement.\001Donations","gratuitement. Vos donations")
#define TR_ABOUT_OPENTX_5 TR("bienvenues!","sont bienvenues!")
#define TR_ABOUT_OPENTX_1 TR("OpenTX\001est\001libre,\001non-", "OpenTX est libre, non-")
#define TR_ABOUT_OPENTX_2 TR("commercial,\001et\001offert\001sans", "commercial et n'offre aucune")
#define TR_ABOUT_OPENTX_3 TR("garantie.\001Il\001est\001développé", "garantie. Il a été développé")
#define TR_ABOUT_OPENTX_4 TR("gratuitement.\001Donations", "gratuitement. Vos donations")
#define TR_ABOUT_OPENTX_5 TR("bienvenues!", "sont bienvenues!")
#define TR_ABOUT_BERTRAND_1 "Bertrand Songis"
#define TR_ABOUT_BERTRAND_2 TR("Auteur\001principal\001d'OpenTX","Auteur principal d'OpenTX")
#define TR_ABOUT_BERTRAND_3 TR("Codéveloppeur\001de\001C9X","Codéveloppeur de Companion9x")
#define TR_ABOUT_BERTRAND_2 TR("Auteur\001principal\001d'OpenTX", "Auteur principal d'OpenTX")
#define TR_ABOUT_BERTRAND_3 TR("Codéveloppeur\001de\001C9X", "Codéveloppeur de Companion9x")
#define TR_ABOUT_MIKE_1 "Mike Blandford"
#define TR_ABOUT_MIKE_2 "Maître du code et des"
@@ -783,13 +792,13 @@
#define TR_ABOUT_MARTIN_2 "Design graphique"
#if defined(PCBTARANIS)
#define TR_ABOUT_HARDWARE_1 "FrSky"
#define TR_ABOUT_HARDWARE_2 "Développeur/fabricant"
#define TR_ABOUT_HARDWARE_3 "du matériel"
#define TR_ABOUT_HARDWARE_1 "FrSky"
#define TR_ABOUT_HARDWARE_2 "Développeur/fabricant"
#define TR_ABOUT_HARDWARE_3 "du matériel"
#else
#define TR_ABOUT_HARDWARE_1 "Brent Nelson"
#define TR_ABOUT_HARDWARE_2 "Développeur/fabricant"
#define TR_ABOUT_HARDWARE_3 "de la carte Sky9x"
#define TR_ABOUT_HARDWARE_1 "Brent Nelson"
#define TR_ABOUT_HARDWARE_2 "Développeur/fabricant"
#define TR_ABOUT_HARDWARE_3 "de la carte Sky9x"
#endif
#define TR_ABOUT_PARENTS_1 "Projets parents"
@@ -797,10 +806,10 @@
#define TR_ABOUT_PARENTS_3 "ER9X (Erez Raviv)"
#define TR_ABOUT_PARENTS_4 "TH9X (Thomas Husterer)"
#define TR_CHR_SHORT 's'
#define TR_CHR_LONG 'l'
#define TR_CHR_TOGGLE 't'
#define TR_CHR_HOUR 'h'
#define TR_CHR_SHORT 's'
#define TR_CHR_LONG 'l'
#define TR_CHR_TOGGLE 't'
#define TR_CHR_HOUR 'h'
#define TR_CHR_INPUT 'E' // Values between A-I will work
#define TR_BEEP_VOLUME "Beep Volume"
+10 -8
View File
@@ -72,7 +72,7 @@
#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 "
#define LEN_POTTYPES "\017"
#define TR_POTTYPES "Pot\0 ""Multipos Switch"
#define TR_POTTYPES "None\0 ""Pot\0 ""Multipos Switch"
#define LEN_DATETIME "\005"
#define TR_DATETIME "DATA:""ORA :"
@@ -445,8 +445,8 @@
#define TR_ELIMITS TR("Limiti.E","Limiti Estesi")
#define TR_ETRIMS TR("Trim Ext","Trim Estesi")
#define TR_TRIMINC "Trim Step"
#define TR_TTRACE TR("T-Source","Throttle Source")
#define TR_TTRIM TR("T-Trim","Throttle Trim")
#define TR_TTRACE TR("T-Source", INDENT "Throttle Source")
#define TR_TTRIM TR("T-Trim", INDENT "Throttle Trim")
#define TR_BEEPCTR TR("Ctr Beep","Center Beep")
#define TR_PROTO TR(INDENT "Proto", INDENT "Protocollo")
#define TR_PPMFRAME TR("PPM frame", INDENT "PPM frame")
@@ -509,7 +509,8 @@
#define TR_MEMORYWARNING INDENT"Avviso memoria"
#define TR_ALARMWARNING INDENT"Spento"
#define TR_RENAVIG "Navig RotEnc "
#define TR_THROTTLEREVERSE TR("Thr inv.", "Throttle Inverso")
#define TR_THROTTLE_LABEL "Throttle"
#define TR_THROTTLEREVERSE TR("Thr inv.", INDENT "Throttle Inverso")
#define TR_MINUTEBEEP INDENT"Minuto"
#define TR_BEEPCOUNTDOWN TR(INDENT"Conto rov",INDENT"Conto rovescia")
#define TR_PERSISTENT TR(INDENT"Persist.",INDENT"Persistente")
@@ -518,9 +519,9 @@
#define TR_BLONBRIGHTNESS TR(INDENT"Lumin. ON",INDENT"Luminosità ON")
#define TR_BLOFFBRIGHTNESS TR(INDENT"Lumin. OFF",INDENT"Luminosità OFF")
#define TR_SPLASHSCREEN TR("Schermo avvio", "Schermata di avvio")
#define TR_THROTTLEWARNING TR("All. Thr", "Allarme Throttle")
#define TR_SWITCHWARNING TR("Avv. Int.", "Avviso Interr.")
#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
#define TR_THROTTLEWARNING TR("All. Thr", INDENT "Allarme Throttle")
#define TR_SWITCHWARNING TR("Avv. Int.", INDENT "Avviso Interr.")
#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Warning")
#define TR_TIMEZONE "Ora locale"
#define TR_RXCHANNELORD "Ordine ch RX"
#define TR_SLAVE "Allievo"
@@ -715,7 +716,8 @@
#define TR_LOWALARM INDENT "Allarme Basso"
#define TR_CRITICALALARM INDENT "Allarme Critico"
#define TR_PERSISTENT_MAH INDENT "Store mAh"
#define TR_CHECKLIST "Display Checklist"
#define TR_PREFLIGHT "Preflight Checks"
#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial port"
+12 -10
View File
@@ -72,7 +72,7 @@
#define TR_UART3MODES "Wyłącz\0 ""S-Port Mirror\0 ""Debug\0 "
#define LEN_POTTYPES "\017"
#define TR_POTTYPES "Potencjometr\0 ""Przeł.Wielopoz."
#define TR_POTTYPES "None\0 ""Potencjometr\0 ""Przeł.Wielopoz."
#define LEN_DATETIME "\006"
#define TR_DATETIME "DATA:\0""CZAS:\0"
@@ -445,8 +445,8 @@
#define TR_ELIMITS TR("Limit+25%", "Kanał +/- 125%")
#define TR_ETRIMS TR("Trymery 100%", "Poszerzone Trymery")
#define TR_TRIMINC TR("Krok Trymera", "Krok trymera")
#define TR_TTRACE TR("Źródło gazu", "Źródło gazu")
#define TR_TTRIM TR("Trymer gazu", "Trymer gazu")
#define TR_TTRACE TR("Źródło gazu", INDENT "Źródło gazu")
#define TR_TTRIM TR("Trymer gazu", INDENT "Trymer gazu")
#define TR_BEEPCTR "(\043)Pikanie środka"
#define TR_PROTO INDENT"Protokól"
#define TR_PPMFRAME "Ramka PPM"
@@ -509,18 +509,19 @@
#define TR_MEMORYWARNING INDENT"Pełna pamięć'"
#define TR_ALARMWARNING INDENT"Wyłącz dźwięk"
#define TR_RENAVIG "Nawigacja potencjometrem"
#define TR_THROTTLEREVERSE TR("Odwróć gaz", "Odwróć gaz")
#define TR_MINUTEBEEP TR(INDENT"Minuta", INDENT"Pik co minutę")
#define TR_BEEPCOUNTDOWN TR(INDENT"Odliczanie", INDENT"Odliczanie")
#define TR_THROTTLE_LABEL "Throttle"
#define TR_THROTTLEREVERSE TR("Odwróć gaz", INDENT "Odwróć gaz")
#define TR_MINUTEBEEP TR(INDENT "Minuta", INDENT "Pik co minutę")
#define TR_BEEPCOUNTDOWN TR(INDENT "Odliczanie", INDENT "Odliczanie")
#define TR_PERSISTENT INDENT"Dokładny"
#define TR_BACKLIGHT_LABEL "Podświetlenie"
#define TR_BLDELAY INDENT"Czas trwania"
#define TR_BLONBRIGHTNESS INDENT"Jasnośc wł."
#define TR_BLOFFBRIGHTNESS INDENT"Jasność wył."
#define TR_SPLASHSCREEN "Logo ekranu"
#define TR_THROTTLEWARNING "(\043)Gaz"
#define TR_SWITCHWARNING "(\043)Przełącznik"
#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
#define TR_THROTTLEWARNING TR("(\043)Gaz", INDENT "(\043)Gaz")
#define TR_SWITCHWARNING TR("(\043)Przełącznik", INDENT "(\043)Przełącznik")
#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Warning")
#define TR_TIMEZONE "Strefa czasowa"
#define TR_RXCHANNELORD TR("Kolejność kanałów", "Bazowa kolejność kanałów")
#define TR_SLAVE "Uczeń"
@@ -715,7 +716,8 @@
#define TR_LOWALARM INDENT "Alarm niski"
#define TR_CRITICALALARM INDENT "Alarm krytyczny"
#define TR_PERSISTENT_MAH INDENT "Zapisz mAh"
#define TR_CHECKLIST "Display Checklist"
#define TR_PREFLIGHT "Preflight Checks"
#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Port szreg."
+10 -8
View File
@@ -72,7 +72,7 @@
#define TR_UART3MODES "OFF\0 ""S-Port Mirror\0 ""Debug\0 "
#define LEN_POTTYPES "\017"
#define TR_POTTYPES "Pot\0 ""Multipos Switch"
#define TR_POTTYPES "None\0 ""Pot\0 ""Multipos Switch"
#define LEN_DATETIME "\005"
#define TR_DATETIME "DATA:""HORA:"
@@ -445,8 +445,8 @@
#define TR_ELIMITS "E.Limits"
#define TR_ETRIMS "E.Trims"
#define TR_TRIMINC "Trim Step"
#define TR_TTRACE "T-Trace"
#define TR_TTRIM "T-Trim"
#define TR_TTRACE TR("T-Trace", INDENT "T-Trace")
#define TR_TTRIM TR("T-Trim", INDENT "T-Trim")
#define TR_BEEPCTR "Ctr Beep"
#define TR_PROTO INDENT"Proto"
#define TR_PPMFRAME "PPM frame"
@@ -509,7 +509,8 @@
#define TR_MEMORYWARNING INDENT"Memoria Baixa"
#define TR_ALARMWARNING INDENT"Som Off"
#define TR_RENAVIG "RotEnc Navig"
#define TR_THROTTLEREVERSE "Inverte Acel."
#define TR_THROTTLE_LABEL "Throttle"
#define TR_THROTTLEREVERSE TR("Inverte Acel.", INDENT "Inverte Acel.")
#define TR_MINUTEBEEP INDENT"Beep Minuto"
#define TR_BEEPCOUNTDOWN INDENT"Beep Regressivo"
#define TR_PERSISTENT INDENT"Persist."
@@ -518,9 +519,9 @@
#define TR_BLONBRIGHTNESS INDENT"ON Brightness"
#define TR_BLOFFBRIGHTNESS INDENT"OFF Brightness"
#define TR_SPLASHSCREEN "Splash screen"
#define TR_THROTTLEWARNING "Avisa Acel"
#define TR_SWITCHWARNING "Avisa Chav"
#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
#define TR_THROTTLEWARNING TR("Avisa Acel", INDENT "Avisa Acel")
#define TR_SWITCHWARNING TR("Avisa Chav", INDENT "Avisa Chav")
#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Warning")
#define TR_TIMEZONE "Time Zone"
#define TR_RXCHANNELORD "Ordem Canal RX"
#define TR_SLAVE "Escravo"
@@ -715,7 +716,8 @@
#define TR_LOWALARM INDENT "Low Alarm"
#define TR_CRITICALALARM INDENT "Critical Alarm"
#define TR_PERSISTENT_MAH INDENT "Store mAh"
#define TR_CHECKLIST "Display Checklist"
#define TR_PREFLIGHT "Preflight Checks"
#define TR_CHECKLIST INDENT "Display Checklist"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serial port"
+46 -44
View File
@@ -72,7 +72,7 @@
#define TR_UART3MODES "Av\0 ""Spegling av S-Port""Debug\0 "
#define LEN_POTTYPES "\020"
#define TR_POTTYPES "Potentiometer\0 ""Flerlägesväljare"
#define TR_POTTYPES "Ingen\0 ""Potentiometer\0 ""Flerlägesväljare"
#define LEN_DATETIME "\005"
#define TR_DATETIME "DAG: ""TID: "
@@ -168,7 +168,7 @@
#endif
#if defined(CPUARM)
#define TR_CSWEQUAL "a=x\0 "
#define TR_CSWEQUAL "a=x\0 "
#else
#define TR_CSWEQUAL
#endif
@@ -223,9 +223,9 @@
#endif
#ifdef GVARS
#define TR_ADJUST_GVAR "Justera\0 "
#define TR_ADJUST_GVAR "Justera\0 "
#else
#define TR_ADJUST_GVAR "[AdjustGV]"
#define TR_ADJUST_GVAR "[Just. GV]"
#endif
#ifdef DEBUG
@@ -445,10 +445,10 @@
#define TR_ELIMITS TR("Gränser++","Utökade Gränser")
#define TR_ETRIMS TR("Trimmar++","Utökade Trimmar")
#define TR_TRIMINC TR("Trimning","Trimökning")
#define TR_TTRACE "Följ Gas"
#define TR_TTRIM "Gastrim"
#define TR_TTRACE TR("Följ Gas", INDENT "Följ Gas")
#define TR_TTRIM TR("Gastrim", INDENT "Gastrim")
#define TR_BEEPCTR TR("Cent.pip", "Centerpip")
#define TR_PROTO TR(INDENT"Proto",INDENT"Protokoll")
#define TR_PROTO TR(INDENT "Proto", INDENT "Protokoll")
#define TR_PPMFRAME "PPM-paket"
#define TR_MS "ms"
#define TR_SWITCH "Brytare"
@@ -509,18 +509,19 @@
#define TR_MEMORYWARNING INDENT"Lite Minne"
#define TR_ALARMWARNING INDENT"Ljud Av"
#define TR_RENAVIG "RotEnc Navig"
#define TR_THROTTLEREVERSE "Revers.Gas"
#define TR_THROTTLE_LABEL "Throttle"
#define TR_THROTTLEREVERSE TR("Revers.Gas", INDENT "Revers.Gas")
#define TR_MINUTEBEEP INDENT"Minutpip"
#define TR_BEEPCOUNTDOWN INDENT"Räkna Ned"
#define TR_BEEPCOUNTDOWN INDENT"Räkna ned"
#define TR_PERSISTENT TR("Jämt på ",INDENT"Alltid På")
#define TR_BACKLIGHT_LABEL "Belysning"
#define TR_BLDELAY INDENT"Av efter"
#define TR_BLONBRIGHTNESS INDENT"På Ljusstyrka"
#define TR_BLOFFBRIGHTNESS INDENT"Av Ljusstyrka"
#define TR_SPLASHSCREEN "Startbild"
#define TR_THROTTLEWARNING "Gasvarning"
#define TR_SWITCHWARNING TR("Bryt.varn.","Brytarvarning")
#define TR_POTWARNING TR("Pot Warn.","Pot Warning")
#define TR_THROTTLEWARNING TR("Gasvarning", INDENT "Gasvarning")
#define TR_SWITCHWARNING TR("Bryt.varn.", INDENT "Brytarvarning")
#define TR_POTWARNING TR("Pot Warn.", INDENT "Pot Warning")
#define TR_TIMEZONE TR("Tidszon","GPS Tidszon")
#define TR_RXCHANNELORD "Kanaler i RX"
#define TR_SLAVE "Elev"
@@ -566,40 +567,40 @@
#define TR_BADEEPROMDATA "Minnet kan inte tolkas"
#define TR_EEPROMFORMATTING "Minnet Nollställs"
#define TR_EEPROMOVERFLOW "Minnesfel"
#define TR_MENURADIOSETUP "Inställningar"
#define TR_MENUDATEANDTIME "Dag och Tid"
#define TR_MENUTRAINER "Trainer (PPM in)"
#define TR_MENUVERSION "Version"
#define TR_MENUDIAG TR("Brytare","Test av Brytare")
#define TR_MENUANA "Analoga Värden"
#define TR_MENUCALIBRATION "Kalibrering"
#define TR_MENURADIOSETUP "INSTÄLLNINGAR"
#define TR_MENUDATEANDTIME "DAG OCH TID"
#define TR_MENUTRAINER "TRAINER (PPM IN)"
#define TR_MENUVERSION "VERSION"
#define TR_MENUDIAG TR("BRYTARE","TEST AV BRYTARE")
#define TR_MENUANA "ANALOGA VÄRDEN"
#define TR_MENUCALIBRATION "KALIBRERING"
#define TR_TRIMS2OFFSETS "\004[Spara Trimvärden]"
#define TR_MENUMODELSEL TR("Modell","Välj Modell")
#define TR_MENUSETUP TR("Värden","Modellinställningar")
#define TR_MENUFLIGHTPHASE "Flygläge"
#define TR_MENUFLIGHTPHASES "Flyglägen"
#define TR_MENUHELISETUP "Helikopter"
#define TR_MENUMODELSEL TR("MODELL","VÄLJ MODELL")
#define TR_MENUSETUP TR("VÄRDEN","MODELLINSTÄLLNINGAR")
#define TR_MENUFLIGHTPHASE "FLYGLÄGE"
#define TR_MENUFLIGHTPHASES "FLYGLÄGEN"
#define TR_MENUHELISETUP "HELIKOPTER"
#if defined(PCBTARANIS)
#define TR_MENUINPUTS TR("Filter","Filtrerad Insignal")
#define TR_MENULIMITS "Gränser"
#define TR_MENUINPUTS TR("FILTER","FILTRERAD INSIGNAL")
#define TR_MENULIMITS "GRÄNSER"
#elif defined(PPM_CENTER_ADJUSTABLE) || defined(PPM_LIMITS_SYMETRICAL) // The right menu titles for the gurus ...
#define TR_MENUINPUTS "Spakar"
#define TR_MENULIMITS "Gränser"
#define TR_MENUINPUTS "SPAKAR"
#define TR_MENULIMITS "GRÄNSER"
#else
#define TR_MENUINPUTS TR("DR/Expo","DualRates/Expo")
#define TR_MENULIMITS "Gränser"
#define TR_MENUINPUTS TR("DR/EXPO","DUALRATES/EXPO")
#define TR_MENULIMITS "GRÄNSER"
#endif
#define TR_MENUCURVES "Kurvor"
#define TR_MENUCURVE "Kurva"
#define TR_MENULOGICALSWITCH "Logisk Brytare"
#define TR_MENULOGICALSWITCHES "Logiska Brytare"
#define TR_MENUCUSTOMFUNC "BrytarFunktioner"
#define TR_MENUTELEMETRY "Telemetri"
#define TR_MENUTEMPLATES "Mallar"
#define TR_MENUSTAT "Statistik"
#define TR_MENUDEBUG "Debug"
#define TR_MENUCURVES "KURVOR"
#define TR_MENUCURVE "KURVA"
#define TR_MENULOGICALSWITCH "LOGISK BRYTARE"
#define TR_MENULOGICALSWITCHES "LOGISKA BRYTARE"
#define TR_MENUCUSTOMFUNC "BRYTARFUNKTIONER"
#define TR_MENUTELEMETRY "TELEMETRI"
#define TR_MENUTEMPLATES "MALLAR"
#define TR_MENUSTAT "STATISTIK"
#define TR_MENUDEBUG "DEBUG"
#define TR_RXNUM "RxNum"
#define TR_SYNCMENU "Synk [MENU]"
#define TR_LIMIT INDENT"Nivå"
@@ -672,7 +673,7 @@
#define TR_GLOBAL_VARS "Globala Variabler"
#define TR_GLOBAL_V "GLOBAL V."
#define TR_GLOBAL_VAR "Global Variabel"
#define TR_MENUGLOBALVARS "Globala Variabler"
#define TR_MENUGLOBALVARS "GLOBALA VARIABLER"
#define TR_OWN "Egen"
#define TR_DATE "Datum"
#define TR_ROTARY_ENCODER "R.Enks"
@@ -702,7 +703,7 @@
#define TR_CF "BF"
#define TR_SPEAKER INDENT"Högtalare"
#define TR_BUZZER INDENT"Summer"
#define TR_BYTES "bytes"
#define TR_BYTES "byte"
#define TR_MODULE_BIND "[Bind]"
#define TR_MODULE_RANGE "[Testa]"
#define TR_RESET_BTN "[Nollställ]"
@@ -714,15 +715,16 @@
#define TR_CHANNELRANGE INDENT "Kanalområde"
#define TR_LOWALARM INDENT "Låg-alarm"
#define TR_CRITICALALARM INDENT "Kritiskt alarm"
#define TR_PERSISTENT_MAH INDENT "Store mAh"
#define TR_CHECKLIST "Display Checklist"
#define TR_PERSISTENT_MAH INDENT "Lagra mAh"
#define TR_PREFLIGHT "Preflight Checks"
#define TR_CHECKLIST INDENT "Visa checklisa"
#define TR_FAS_OFFSET TR(INDENT "FAS Ofs", INDENT "FAS Offset")
#define TR_UART3MODE "Serieporten"
#if defined(MAVLINK)
#define TR_MAVLINK_RC_RSSI_SCALE_LABEL "Max RSSI"
#define TR_MAVLINK_PC_RSSI_EN_LABEL "PC RSSI EN"
#define TR_MAVMENUSETUP_TITLE "MavlinkInställningar"
#define TR_MAVMENUSETUP_TITLE "MAVLINKINSTÄLLNINGAR"
#define TR_MAVLINK_BAUD_LABEL "Baudrate"
#define TR_MAVLINK_INFOS "INFOS"
#define TR_MAVLINK_MODE "LÄGE"